2001-09-25[n年前へ]
■純愛で世界を描ききれ
Study of the Regular Division of the Plane with Innocent Love
先日、出張先で話をしようとした途端、いきなりこんなコトを言われた。
「最近、更新頻度が下がってますねぇ、あとアッチ系のネタが多いですねぇ。」また別の人には、
「たかが風圧がオッパイに思えるものでしょうか?自分には、そこがなんとも不思議で納得できないのであります。」などと言われた。本来、私は真面目な話をしに行ったハズなのであるが、思わず弁解したくなって、
「一体、指の何処でその感触を感じると思われますか?」
「それに、モンローウォークの動画はまるで全裸みたいに見えて、思わず自分はウィンドーを閉じてしまったのであります。」
「いや、掌の広げ方次第で、空気が指に与える圧力が動的に変化するのだが、その指の動きに応じて動的に弾力が変化するさまがアノ感触に近いという想像は如何なものだろうか?たかが風圧、されど風圧、と謙虚に考えるべきではないだろうか?」とか
「空気流が指の側面を押す力が主たる個所だろう、それすなわち、指の周りからこぼれるおちるアレが指に与える感覚なのである。」とか、
「実はOLスーツ編の動画も作成したのだが、そっちの方が私的にはイヤラシク倫理的にNGだったのだ。」とか色々言ってしまったのである。しかし、実はその話をしている仕事場には他にも人が何人もいて、しかもその人達には私は面識は無い。ということは、私は他人の仕事場にイキナリ来たと思ったら、「アノ感触」とか「OLスーツ」とかそんなことを話し出すトンデモない奴にしか見えないのである。これはちょっといけない。いや、かなりマズイ。
そこで、そんなことを言われないために、今回は「できるかな?」のスタート地点である「画像」の話題を考えてみたい。しかも、ただ考えるだけではつまらないので、「できるかな?」風に「愛」を込めて「画像」について考えてみたい、と思う。というわけで、今回は題して「純愛で世界を描ききれ」である。
八月に台風が関東地方を直撃した日、私は東京タワーのすぐ横で「高画質化のための画像処理技術」という研究会を聴講していた。会場に辿り付くまでの間ひどい雨と風に襲われて、最初のうちは「こ・これは、風速25m/s位はあるな。ってことは25mx 3600 s /1000mで時速90kmか…ってことは、計算によればE〜Fカップが今まさに体中にぶつかってきているのかぁ!」なんて(自分を元気づけるために)考えていたのだけれど、風だけでなくて雨もひどかったので、ついには濡れねずみになってしまい、ただ「………」と何も考えずとぼとぼ歩くだけのゾンビ状態になってしまった。
何はともあれ、そんな感じでやっとのこと会場に辿り付いて、いくつかの話を聞いていたのだけれど、その中でもとても面白かったのが、大日本印刷の阿部淑人氏の「シミュレーテッド・アニーリングによるディザマトリックスの最適化」という話だった。色々な項目を適当に重み付けしながら、ハーフトーンパターンを自動で生成して、理想のハーフトーンパターンを作成しよう、というものである。その話の後半では、工芸的なスクリーンの話も俎上に上がり、M.C.Escherの"Sky& Water I"をグラデーションの例に挙げてみたり(残念ながら実際にそんなハーフトーニングをしたわけではないが)、菩薩像を般若心経でハーフトン処理してみせたり、となかなか「できるかな?」心をくすぐるものだった。そこで、私も似たようなことにチャレンジしてみて、さらにはM.C.Escherの版画を使ったハーフトーニングを行ってみたいと思うのである。
そもそも、ハーフトーニングとは多値階調を持つ画像などをニ値出力の(もしくは少ない階調しか持たない)機器で出力するために、多値の階調をニ値(もしくは少ない階調)の面積比率で置き換えることにより出力する方法のことである。例えば、下の例はグレイスケールのグラデーションパターンを円スクリーンによりハーフトーニングしたものである。
上を円スクリーンによりハーフトーニングしたもの |
Photoshopを使っている場合には、簡単に任意形状のハーフトーニングを行うことができる。例えば、こんなパターンをカスタムパターンとして登録すると、そのパターンとの明暗比較を行うことにより、
という風にニ値化ハーフトーニングを行うことができる。ところが、じゃぁこれと同じようにEscherの版画を使ってハーフトーニングしようと思っても、そう簡単にできるわけではない。なぜなら、このハーフトーニングが明暗比較によって行う以上、ハーフトーニングに使うパターンは多値の画像でなければならないのである。
Escherの版画も版画という(例えば白か黒かといった)ニ値の出力機器を用いているため、やはりニ値の画像に過ぎない。例えば、下の版画はEscherの”Studyof the Regular Division of the Plane with Horsemen”である。
上の版画の一部を(ちょっとだけ細工をしつつ)抜き出してみたのが下の画像だが、白黒半分づつのニ値画像であることがわかるだろう。また、きれいな繰り返しパターンになっていて、平面にこのパターンできれいに埋め尽くすことができるのがわかるだろう。
この画像をPhotoshopのカスタムパターンを用いて、グレイスケールをニ値化ハーフトーニングすると、この画像がニ値画像であるため、下のように階調をきれいに出力することができず、結局のところ「黒か白か」といった階調飛びの画像になってしまうのである。
そこで、まずはニ値の画像を元に多値のハーフトーン用パターンを作成するプログラムを作成してみた。作成するやり方としては、初期値を元にして暗い方。明るい方それぞれの方向にローパスフィルターで演算をしつつ、256階調分のハーフトーンを作成し、さらにそれをPhotoshopで処理できるように多値画像として出力することができるようにしてみた。先の発表のやり方で言えば、「高周波を減らす」という項目に重みをおいて、ハーフトーンパターンを自動生成するアプリケーションを作成してみたわけだ(バグ満載状態で)。説明は一切無し、しかもボタンを押す順番を間違えると上手く動かないという状態ではあるが、一応ここにおいておく。名前はhiraxtone.exeでバージョンは0.0…01という感じである。(白黒ニ値だけど24bitモードの)Bitmapファイルを読み込んで、多値のスクリーンを生成するようにしてある。
それでは、このhiraxtoneを用いて、ニ値画像を元に作成した多値階調ハーフトーンパターンの一例を次に示してみる。これは、先の"Studyof the Regular Division of the Plane with Horsemen"の一部分を縮小したニ値画像をもとにして処理してみたものである。 でもって、上で作成した多値階調ハーフトーンパターンを用いて、グラデーションパターンをハーフトーニングしてみた例が下の画像である。「単純にパターンニ値化した場合」と違って、「hiraxtone1で作成したパターンを使用した場合」はグラデーションが保持されているのがわかると思う。また、階調が保持されているというだけではなくて、まるでEscherのオリジナルの"Studyof the Regular Division of the Plane with Horsemen"のようなパターンにできあがっていることも判ると思う。
さて、ニ値画像パターンを利用してハーフトーニングすることができる、となると他にも色々と遊ぶことができる。例えば、自分だけのハーフトーンパターンを作ってみたくなることだろう。そして、さらにはその素晴らしいスクリーンに自分の名前を付けて広めてやりたい、と思うのは至極当然の話である。古くはBayerなどがそうしたように、自分が作ったスクリーンに自分の名前をつけてみるわけだ。
とはいえ、私が仮にスクリーンを作成してみたところで、そのスクリーンを私の名前で呼んでくれる保証はどこにもないのである。そこで、卑怯な手ではあるが、自分の名前を元画像にしてスクリーンを作成してみることにした。こうすれば、否でも応でもこのスクリーン形状を呼ぶために人は私の名前を使うことになるわけだ。
というわけで、私の名前「純」という漢字を元データにして、ハーフトーンスクリーン「純」を作成してみた。また、「純」とくれば当然もうひとつ「愛スクリーン」もさらに作ってみた。いや、別に「純愛」を目指そう、と気負っているわけではなくて、単にうちの兄弟は長男が「純」で長女が「愛」なのである。いや、少し気恥ずかしいけど、ホントの話そうなのだからしょうがない。
さて、作成した「純・愛スクリーン」さえあれば、「純愛」で世界を描ききることができるわけで、早速描いてみたのが、下の仲間由紀恵である。オマエの世界イコール仲間由紀恵か?とか、ソレってホントに「純愛」か?とか、つまらないツッコミを入れられそうな気もするが、そんなことはどうでも良いのだ。私はTRICK以来仲間由紀恵のファンになってしまったのだから、しょうがないのである。そしてまた、「純愛」を馬鹿にしてはイケナイ、と私は少しばかり思うわけなのである。(私の名前だから)
上の二枚をじっくり眺めてみると、結構キレイに仲間由紀恵が描かれていることが判ると思う。しかも、他でもないこの二枚の画像において、私は「純愛」で仲間由紀恵を描ききっているのである。これより、「純」で「愛」な仲間由紀恵はそうそういないハズなのだ。きっと、本物の仲間由紀恵が見たら「何てピュア〜でラブリーな私かしら。きっと、これを描いた人は心のキレイな人なのね!」と感激すること間違いなし、なのだ。
ちなみに、「純愛スクリーン」でハーフトーニングした仲間由紀恵の左眼の部分を拡大してみたのが下の二枚の画像である。瞳の奥にも、「純」と「愛」が溢れていることが判るハズである。それは言い換えれば、この仲間由紀恵の瞳は「純」イコール「私」で満ち溢れ、さらにはその瞳は「愛」で満ち溢れているのである。
(目の部分の拡大図) | (目の部分の拡大図) |
う〜ん、正直ちょっとムナシイけれど、だけどちょっと気持ちが良いのもまた事実なのである。やはり、「純・愛スクリーン」で描かれる世界はとても素晴らしい世界なのである。そうなのである。
さて、今回作成したhiraxtoneは、実際のところ自分でも言うのもなんだが、本当のところ今ひとつキレイな出力ができないし、大体思ったように動いてくれないのである。低周波優先として重み付けをしたハズなのに、どうもそんな風に動いていないし、計算にも時間がかかりすぎる。全てはビールを飲みながら行き当たりばったりにプログラミングするところがいけないのかもしれないが、どうも今ひとつなのである。また、本来であればもう少し元データの形状を残すことを優先(それは高周波優先にならざるをえないだろう)にするようなオプションもつけてみたいのである。
が、とはいえ今回はいい加減思いページになってきたこともあるし、ちょっと疲れてきたこともあるし、とりあえず「純愛」で世界を描ききったところまでで今回は終りにして、続きは次回以降に遊んでみたいのである。
2002-06-29[n年前へ]
■阿部製 純愛スクリーン
阿部淑人氏による「純愛スクリーン」。つまりは、「純愛で世界を描ききれ」に登場する「シミュレーテッド・アニーリングによるディザマトリックスの最適化」の報告をされていたご本人に作って頂いたモノ。ありがたいことです。「当然ながらディスパーストのほうが結果はよろしいようです」とのコメント付きです。
使い方は、Photoshopかなんかでパターンに使用して、スクリーンパターンとして使って下さいな。(阿部製 純愛スクリーン クラスタードット版)(阿部製 純愛スクリーン ディスパーストドット版)(純愛で世界を描ききれ)
2004-03-25[n年前へ]
■人の作業にプロファイラーで「エクセルは一日三十分までよ」令
少し前に、作業をしている人のPC(作業専用PC)にプロファイラー(ex. PC EYES)を入れてもらった。その作業用PCで、どんなアプリケーションをどの程度の時間使っているか、どんな作業をしているかを調べてみたのである。例えば、何回キーボードを押したり、マウスを何回クリックしたかなんて調べてもらったわけだ。
プログラムを作る際に、実行速度を上げたりすることを目的として、プロファイラーを使うことも多いだろう。そんなコンピュータ・プログラムの効率化・スピードアップと同じような目的のために、つまりはその人の作業時間を短くするために人間がPCに向かっている作業に対してプロファイラーを使ったわけである。「こんなソフトを入れられるなんて、そんなソフトで最適化を迫られる側からするとそれはとてもイヤだろうなぁ」とは思うのだけれど、(人間様がしている作業を)最適化してスピードアップしないとパンク状態を解消できないし…時間泥棒は大群で攻めてくるし…というわけで背に腹は替えられなかったりしたわけである。ヒドイ話なのかもしれないけれど、人の作業にオプティマイズオプションをつけなければイケナイわけなのである。
で、そのプロファイラーの結果を見てしみじみ思ったのが、「エクセル=時間泥棒犯人説」なのだった。 …エクセルのような表計算ソフトは「見た目に判りやすい」というのはとても素晴らしい点だとは思うのだけれど、数値からなる表を作ったりグラフを作成したりする分にはむやみに人間に時間を掛けさせていることが多いなぁ、ということをその結果を見てつくづく感じたのだった。初めて見るデータをいじってみるには悪いツールではない(それどころかとても素晴らしいツールだと思う)のだけれど、ほとんど同じ(だけど少しだけ違う)ような作業を繰り返しする人にとっては覚醒剤のように害のあるツールだなぁ、と思ったのだった。少なくとも、オプティマイズ・オプションをつけなければイケナイ状況ではなんともマズイものだなぁ、と思ったのだった。
エクセルを使って、数値からなる表(あくまで数値表)を作ったりグラフを作成したりする場合、エクセルは何だかやたら人間に対して同じような(だけどホンの少しだけ違う)作業を繰り返しさせている。逆に言えば、その作業をしている人は飽きることもなく、実験データやら何やらを一生懸命入力したりグラフにしたりしている。もちろん、その人は真面目に一生懸命作業をしている(つもりな)わけなのだけれど、哀しいかなその作業はプロファイラーを通すと最適化されるべき対象に捉えられてしまうのである。最適化オプションを付けて下さいね、と言われてしまいそうな作業に見えてしまうわけである。…で、とりあえず(半分だけ)冗談で「エクセルを使うのは一日三十分までよ」なんて言っているわけだけれど、どうしたものかなぁ…。プロファイラーで最適化対象にされちゃうなんてイヤだろうけどなぁ…。
2004-07-12[n年前へ]
■コインには2つの面がある
未来を眺めるためには、まずは過去を眺めるべき。未来は可能性の宝庫だが、過去は知識の倉庫だ。だから、今日は古い記事を眺めてみよう。
MITの最初のハッカー達の書いたプログラムは、その言語なんか関係なく、とにかく完全で、美しいものだったんだ。努力に努力を重ねて뒰ꓢ믅뻥꒲꒿꒵ꆣ쎯꒬뢫꓆ꓢꆢそれ以上改善する余地はまったくないほどにね柴田 ただ、あまりにも短く最適化してしまうと、人がそれを見たときに理解しにくいという難点がありますよねそれはそうだよ。でも、それを理解しようとする努力は、必ず報われるんだよ。努力して理解できるようになったときに、何かを学ぶことができるんだ。だから、コインには2つの面があるということさSteve Wozniakちなみに、インタビュアーである当時の柴田文彦氏は某有名事務機メーカ勤務のエンジニア。つまり、Macintoshが影響を受けたAltoを作った企業系である(現在の私の)ライバル会社のエンジニア。そして、この文章中で語られている「appleの高解像度モード」がClearTypeやCoolTypeやグレーフォント、FreeType 2にほぼそのままの形で繋がっている。「appleの高解像度モード」が作られたのが'76年のこと。他の技術はいずれも'90年代中盤以降のこと。一番早いものでさえ、20年近く後のこと。やはり、過去は可能性の元となる知識の巨大倉庫だ。
それにしても、このインタビューの原文の台詞を知りたい。
2004-08-01[n年前へ]
■アルゴリズム・データベース
「離散最適化」「グラフ」「 幾何 」「並列/分散」といったジャンルの アルゴリズム・データベース。Javaアプレットによるデモもあるので、眺めるだけでも面白い。