1999-01-14[n年前へ]
■ボケたエアーブラシで細かな字がかけるか?
画像復元を勉強してみたい その2
「宇宙人はどこにいる? - 画像復元を勉強してみたい その1-」ではボケた画像からオリジナルのシャープな画像を復元してみた。前回の話を例えて言うと、
- 太郎君が細かい字をエアーブラシで書いた。
- ボケボケのエアーブラシを使ったから、ボケボケの画になった。
- そのボケボケの画から、太郎君が何を画こうとしたか、考える。
ということであった。
今回、やってみたいのは以下のようなことである。
- 太郎君は太いエアーブラシで字を書きたい。
- しかも細かな字を書きたい。
- そんなことができるか?
直感的には、ボケボケのエアーブラシで細かい字など書けないように思う。その直感が正しいか調べてみたい。考え方は前回と同じく、
出力画像から、ボケ分布でデコンボリューション処理により、オリジナルの画像を計算する。
というやり方である。前回と違うのは出力画像がシャープな画像(先の例で言うと、細かな字)である、という所である。道具は今回もMathematicaを使う。
出力したい画像ファイルを読み込む。
<< Utilities`BinaryFiles`
StreamFile = OpenReadBinary["E:\jun\private\dekirukana\ufo\ufo.raw"]
ImageData = Table[ ReadBinary[ StreamFile , Byte] ,{x,64},{y,64}];
ListDensityPlot[ImageData,Mesh->False,PlotRange->{0,255}]
この細かな字を太いボケボケなエアーブラシで字を書けるか考える。
まずは、エアーブラシのボケボケ度をつくる。
(*正規分布=ガウス分布によるぼけパラメータを作成する*)
δ=10;
μ=32;
ListPlot3D[NormalBoke,ColorFunction ->Hue,Mesh->False,PlotRange->All]
ボケボケの太いエアーブラシである。
デコンボリューション用にガウス分布の場所をずらす。
NormalBoke = RotateRight[NormalBoke,32];
NormalBoke = Transpose[ RotateRight[Transpose[NormalBoke],32] ]; (*上へShift*)
ListPlot3D[NormalBoke,ColorFunction ->Hue,Mesh->False,PlotRange->All]
出力画像をエアーブラシのボケボケ度でデコンボリューションする。そうすれば、太郎君がどのように画を画けば良いかがわかる。はたして答えはでるのだろうか?
計算してみると答えが出てしまう。
SharpImage = Re[InverseFourier[ Fourier[ImageData] / Fourier[NormalBoke]] ];
ListDensityPlot[SharpImage/4,Mesh->False,PlotRange->All]
まず、本当にこれ(画像:4)にそってエアーブラシで画を画くと出力画像(画像:1)が再現できるか確認してみる。そこで画像:4と画像:3でコンボリューションしてやる。太郎君に実際にエアーブラシを使って画を画いてもらうわけである。
それでは、画いてみる。
ResImage = InverseFourier[Fourier[SharpImage] Fourier[NormalBoke]];
ListDensityPlot[Re[ResImage],Mesh->False,PlotRange->All]
画像:1が再現できた。つまり、太いボケボケのエアーブラシで細かい字が書けてしまうわけである。直感的には納得しがたい結果である(私だけかもしれないが)。
これには実はタネがある。画像:4を鳥瞰図でみると判るが、画像4は正負の値が高周波で並んでいる。
ListPlot3D[SharpImage/4,ColorFunction ->Hue,Mesh->False,PlotRange->All]
太郎君が使ったエアーブラシは太いボケボケのエアーブラシではあるが、吹き量に正負が両方ともあったのである。そのようなエアーブラシを使うと太郎君の腕(高テクニシャン)ならば細かな字が書けるわけだ。どんなパターンもかけるかはどうかまでは知らないが、少なくとも"hirax"という字は画ける。
前回のような光学系の例でも、これが何に対応しているかはすぐわかるが、一番分かりやすいのは電荷と電位の例だと思う。
電荷が周囲につくる電位分布はボケボケの分布である。ところが、金属などを適当に配置して、その金属に電位を印加してやると、鋭い電位分布をつくることができる。つまり、ボケボケの分布から鋭い電位分布を作成してやることができる。こちらなら直感的にもすぐ納得できるだろう。その際には、金属表面に電荷が鋭く集中するのも、よく知っている話だ。
実感用に電場計算を行った例を以下に示しておく。使った道具はCUPSの電場計算プログラムである。CUPSは教育用のプログラム集である。
一応、2次元膜の例で、金属を配置し、適当に電位を印加し、電位・電荷量計算を行ってみる。
もちろん、金属内部では均一な電位である。それを条件に解いているのだから当たり前だが。
その時の電荷分布を下に示す。金属表面に鋭い電荷分布が生じているのがわかるだろう。
ここでは大雑把な金属の配置にしてしまったが、格子状の金属配置にして、互い違いに違う極性の電位を印加すれば(細かい字に相当する)、正負の極性の電荷分布が鋭く現れるのは当たり前の話だ。
電位、電場、電荷量を一緒に示しておく。
今回の話は、単なる計算上の話である。それに、何かどこかで仮定を間違っているような気もするんだよなぁ。信用度アルファ版だからまぁいいか...
1999-02-25[n年前へ]
■微小4次元計測をしてみたい
デジタルカメラ、実体顕微鏡、動画の三題話
最近はデジタルカメラ(以降、デジカメと呼ぶ)が大流行りである。実験の記録に使うと大変便利だ。ところで、実体顕微鏡の接眼部からデジカメで撮影するという話題が
の辺りにある。この撮影法の難しさは、デジカメの種類によって違う。例えば、FujiFilmのFinePix700では光軸合わせに結構苦労する。ところが、ソニーの「DigitalMavica(技術者向けのオプション(例えばオシロスコープ・フード)などもあって便利)」ではこの撮影方法はとても簡単である。「Mavica」のレンズを実体顕微鏡の接眼部に合わせるだけで、視野をうまく合わせることができる。といっても、実体顕微鏡にはCCDなどを接続してあることが多いため、単に実体顕微鏡の接眼部をデジカメで撮影するだけでは面白味が少ない。もちろん、高いCCDカメラの代りにメガピクセルのデジカメを使えるメリットは大きいとは思う。
しかし、実体顕微鏡(双眼式)で何が良いかといえば、立体に見えることである。しかし、CCDカメラの接続は一眼式になってしまう。これまで、一つの実体顕微鏡に2つのCCDを接続できるような実体顕微鏡は見たことがない。そこで、接眼部からデジカメ撮影をする方法なら、立体撮影をすることができるので、実体顕微鏡の長所を生かすことができる。
これがそのサンプルである。交差法と平行法の両方を示す。立体に見えるはずである。
それでは、3次元計測を行ってみる。まずは、マーキングをする。基板上とICチップ上にA,B,C,Dという4つのマーキングを行う。
奥行き方向(Z方向としておく)に違いがある場合には、左右の画像でX方向のずれが生じる。そのずれ量を計算してやれば、Z方向の計測を行うことができる。つまり3次元計測を行うことができる。
左 | X | Y | 右 | X | Y |
A | 124 | 33 | A | 133 | 35 |
B | 13 | 55 | B | 22 | 55 |
C | 136 | 167 | C | 144 | 167 |
D | 101 | 100 | D | 99 | 102 |
左右画像の(x,y)の差をとり視差を出す。すると、(A,B,C)とDの間で違いが有り、Z方向の距離が違うのがわかる。
左-右 | X | Y |
A | -9 | -2 |
B | -9 | 0 |
C | -8 | 0 |
D | 2 | -2 |
この結果から、(x,y,z)を描くと以下のようになる。x-y座標上にzの値を書いてある。Dのポイントのみがz方向に近いのがわかる。
もちろん、本来は光学系から係数などを導くのだが、今回は行っていない。大雑把な説明である。また、同じようなやり方で、3次元表面計測も行うことができる。
ソニーの「DigitalMavica」の素晴らしい所は光軸合わせが簡単なだけではない。動画をmpegファイルとして撮影することができる。というわけで、2台買えば実体顕微鏡の画面を立体動画として保存できる。それが微小四次元計測である。
残念ながら、今回は1台しか使えないので、動画サンプルを示すだけである。mpegファイルをgifに変換したものを以下に載せておく。TFT液晶の拡大画面である。映像の終わりで実体顕微鏡の接眼部からカメラを外しているのがわかると思う。
動画サンプル MPEG形式 507kB
動画サンプル GIF形式155kB (上を縮小したもの)
その他関連情報
1999-03-14[n年前へ]
■ぼやけた測定系でシャープな測定をしたい
恋のインパルス応答 WhiteDay記念
新幹線でトンネルを通過していた時のことである。窓の外を照明灯が走馬灯のように過ぎていくのを見ていた。人の一生が走馬灯のようだ、とか、光陰矢のごとし、とか哲学的なことを考えていた、言い換えればボケっとしていたのである。「あぁ、頭もボケているけど、窓の外のライトもボケているなぁ。動体視力が低下しているのかなぁ」と思った瞬間に次のようなことを考えた。
- 窓の外の照明灯がぼやけているのは、目のピントが合っていないからだということにする。
- ピントは合っていないが、目の時間的な応答性は問題ないとする(本当は問題がいっぱいあるだろう)。
- 仮に、鋭い一点の光が窓の外を通過したときに見えるパターンがわかっている、としてみる。
- だとしたら、あとは「宇宙人はどこにいる? - 画像復元を勉強してみたい その1-(1999.01.10) 」と同じようにして、窓の外の光パターンを復元できる。
鋭い一点の光 | -> | このときに見えるパターンがわかっているなら、 |
元の光パターンを再現できる | <- | こういうパターンが見えたなら |
そして、これは一般的な測定装置でも使える話だ(むしろ、当たり前過ぎるか)。そういえば、光学望遠鏡なんかはその最たるものだ。しかし、一般生活?では色々な測定器を使うが、使用目的に応じたインパルス応答の測定はそれほどしたことがない。それは、原理上ぼやけてしまうような測定機器(地表に置いた光学望遠鏡のように)であるならなおさらである。たまに、インパルス応答の測定をしたにしても、単に測定をしただけで終わることが多い。もしかしたら、結構面白い結果がでるような測定機器もあるかもしれない。
どういうことをしたいか、もう一度さらってみる。といっても、内容は「宇宙人はどこにいる?- 画像復元を勉強してみたい その1- (1999.01.10) 」 そのままである。そんなことはよく分かっている、という方は本文章の末尾の人の気持ちと出来事に関するhiraxの関係式の話の方へ飛んでもらえばいい。
まずは、「鋭い一点の光(あるいは、測定されるべきエネルギー源)」をつくる。
データ.1 |
このときに見えるパターンはこんなものだとしよう。見えるパターン(or 測定された結果)がブロードになっているのは、色々な理由があるだろう。
データ.2 |
それでは、以下のようなパターンが見えたとしよう。
データ.3 |
それでは 「データ.3のフーリエ変換」 / 「データ.2のフーリエ変換」 を計算し、その結果を逆フーリエ変換する。それをデータ.4として示す。
データ.4 |
このようにして、ぼけた測定系でシャープな測定ができたことになる。「宇宙人はどこにいる? - 画像復元を勉強してみたい その1-(1999.01.10) 」と全く同じ話である。それを何故繰り返すかというと、身近な測定器でも色々やってみたいという宣誓と提案である。無理だとおもえる測定も、実は無理ではないものもあるのではないだろうか。
ところで、今回の場合、境界条件は完全な周期性をもつように考えている。同じ状態が無限に繰り返されている。計算の簡単のためにそうしてある。この状態を例えてみると、光源(or エネルギー源)は円上に配置されているようなものである。そう、これは走馬灯そのものである。一応、その概念図を下に示しておく。喩えれば、円筒上のエネルギー源の分布を測定するようなものだ。
今回の計算のモデルはこのような「ぼやけた走馬灯」である。今回は、単に計測機器で測定をするだけではなく、その後の解析をさらに進めることができるか、という話である。今回は前振りだけであるが、いずれ実験をする予定でいる。例えば、ライトペンなどを作成して、実験をする予定でいる。
さて、話が飛躍するようであるが、人の一生が「ぼやけた走馬灯」のようであつならば、今回の解析と同じようなことをすることができる。
「一生の気持ちのフーリエ変換」 / 「一瞬の出来事により生じた気持ちのフーリエ変換」= 「一生の出来事のシャープな出来事」のフーリエ変換
という、人の気持ちと出来事に関するhiraxの関係式が成り立つかもしれない。この関係式を私は提案したいと思う。この関係式は、恋愛問題に適用すると面白いと思う。つまり、
( 「一生の気持ちのフーリエ変換」 / 「一人の人により生じた恋のフーリエ変換」)の逆フーリエ変換 = 「一生の中で好きになった人の出現データ」
となる。例えば、一人の人に対する気持ちが支配的な人の一生は「恋のインパルス応答」を示していることになる。具体的に言えば、尾花沢兼次の一生は「太郎ちゃん」に対する恋のインパルス応答を示しているのである。(あぁ、元ネタがわかる人がいるだろうか。)
さて、今日はホワイトデイである。恋愛中の人も「恋のインパルス応答」などについて考え、相手(あるいは自分の)過去の恋愛遍歴などについて考えてみるのも良いと思う。 いや、余計なお世話か。
1999-03-25[n年前へ]
■電界計算をしてみたい[有限要素法編その1]
有限と微小のパン
今回のサブタイトルは一目瞭然であるが、森博嗣のミステリのタイトルそのままである。
何故、「電界計算をしてみたい-有限要素法編その1-」が「有限と微小のパン」に繋がるのか。もちろん、"有限要素法"と"有限と微小のパン"の「有限」をかけた駄洒落ではない。有限要素法を考えるとき、私は森博嗣に足を向けては寝ることができない。それが、なぜかは下の本を見ればわかる。
これは、学生時代に有限要素法を勉強するために使った本である。「森 博嗣 著」と書いてあるのがわかるだろうか。いや、まさかこの本の作者がミステリを量産するとは想像もしなかった。ビックリである。講談社ノベルズと森北出版の両方から本を出している人は他にはいそうにない。
本題と関係のない話はここまでにしておく。今回はMathematicaで有限要素法を用いて静電界計算を行いたい。とりあえず、ソルバーとプリ・プロセッサまでつくる。その応用は続きの回で行いたい。Mathematicaで有限要素法を勉強するには、森北出版の依田 潔 著「Mathematicaによる電磁界シミュレーション入門」を参考にした。任意の電荷配置のPoisson方程式を解くようにしてある。
次回に詳しく計算モデルの説明を行うので、今回は計算モデルの詳細については記述しない。Notebook内に、モデルの詳細は記述してある。
このNotebookを使った計算、出力例を以下に示す。
平行平板電極の間に誘電体層があるモデル | 平板電極と三角柱電極の間に誘電体層があるモデル | 平板電極と円柱電極の間に誘電体層があるモデル |
分割要素 | 分割要素 | 分割要素 |
電位表示(色がきちんとしたhueでないことに注意) | 電位表示(色がきちんとしたhueでないことに注意) | 電位表示(色がきちんとしたhueでないことに注意) |
半分の領域の電位を鳥瞰図にしたもの | 半分の領域の電位を鳥瞰図にしたもの | 半分の領域の電位を鳥瞰図にしたもの |
Mathematica3.0のHTML出力は大変便利だが、漢字が化けるのが困りものだ。しかも、ちょっと似た漢字に化けてしまうからわかりにくい。今回のNotebook中で化けた漢字を以下に示す。
- 油界 <- 電界
- 堰素 <- 要素
- 誘油 <- 誘電
- 姦み込む <- 組み込む
- 表傭 <- 表面
- 壓さ <- 高さ
- 堆心 <- 重心
- 肖似 <- 近似
- 内占 <- 内部
- 傭積 <- 面積
- 回寂 <- 回転
- 進当 <- 適当
- 懷瞰 <- 鳥瞰
中国語みたいな化け方である。しかも、意味としても何か変な化け方である。いつか、この対処方法と理由を考えてみたい。それにしても、週末の遊び道具としてはMathematicaは素晴らしいと思う。
1999-04-24[n年前へ]
■WEBページは会社の鏡
WEBページのカラーを考える 1
今回は、WEBサイトのトップページから会社の雰囲気を考えたい。まずは、WEBのレイアウトを手がかりに考えてみたい。というわけで、以下に出てくる各企業に対する記述は全てWEBのレイアウトから考えていることであって、現実とは関係がない。誤解のないように。
まずは、以下の一覧を眺めてほしい。いずれも、デザイン、色について考えているであろうと思われる企業である。
それぞれ、2つづつ並べたが、左がアメリカ版、右が日本版である。同じ企業でも結構違うものである(Xeroxと富士Xeroxは同じ会社ではないが)。こうしていくつか並べてみると、アメリカ版と日本版の雰囲気の違いが見えてくる。
また、他にも思いつくことがある。例えば、こんな感じである。
- アメリカ版と日本版は結構違う。
- アメリカ版と日本版にはそれぞれ共通の雰囲気がある。
- アメリカ版より日本版の方が密度が高い。高すぎると言っても良いくらいだ。
- 日本版はどの企業も雰囲気が似ている。
- アメリカ本社と日本支社という関係の会社はアメリカ版と日本版が「うりふたつ」である。
以上の考えを基に、もう一度個別に眺めてみる。
まずは、Xeroxと富士Xeroxである。
しかし、ここまで雰囲気が違うということは、Xerox本社と富士Xeroxの独立性を物語っているのかもしれない。
次は、Kodakである。
次は、Canonだ。
次は、FUJIFILMである。
次は、ROCOHである。
ただし、RICOHのWEBの内容は素晴らしいとフォローしておこう(例えば、英語技術文献の日本語要約などだ→参考:小人閑居して...- 情報をポケットに入れて持ち歩きたい - (1999.01.19) )。
次は、Appleである。
Apple大好き。いいマシンが最近無いけど。
そして、sgi。シリコングラフィックスは会社名が変わったようだ。
というわけで、今回はレイアウトから企業を考えてみた。