TL; DR
ファッション理系のglasnsciです。天体写真にも役立つウェーブレット変換についてちょっとだけ解脱していきます1。本稿は、フーリエ変換についてです。
ウェーブレットの冒険
馬鹿野郎!!
畳み込みだの逆畳み込みだの、そんなおつむがちょっと良くなった程度のお勉強を使って天体写真を処理するなんて、そんなものには一切意味はないんだよ!! 実際の天体写真の処理ってのは、Photoshopでチマチマとレベル補正とか彩度の調整とか、トーンカーブを調整したりとか、そういう地味で愚直な作業を繰り返すものだろう!! どうやら、今回は昔の体験を語らなければいけないみたいだな。
あれはワタクシ……いや、俺がまだ7歳のころ、夏の暑さも和らぎつつある秋の夜長、今はもう取り壊されてしまった実家の縁側でのことだった。苦手だった音楽の授業、とくに不得意だった合唱の評価はみんなの前で先生が演奏する電子オルガンに合わせて歌わなければならず、いつも不快な思いをしていた。音程を盛大に外しながら歌う俺のことを同級生はニヤついた顔で眺めていて、終わると囃し立てたものだった。非常に悔しい思いをしていた俺は、休み時間に入るやいなや囃し立ていた奴らの机をガタガタとゆすり、奇声を上げて教室中を走り回ったのだった。
「デヤアァァァァァァァーーーーーーーッッッ!!」「造反有理!! 造反有理!!」
いきなり小林多喜二のように走り回り始めた俺のことを同級生は白い目でみていた。それから小学校を卒業するまで、俺に話しかけてくるやつはいなくなることを、まだ知る由もなかった。その日の晩、学校から帰ってきて宿題を済ませた夕方、俺は昼間のことを思い出しつつ月をぼんやりと眺めていた。祖父が隣に腰掛けてきた。
「よっこいしょういち」「昭和かよ」
祖父が時代を感じさせる声をだすのを横目に、俺は問いかけた。
「じいじ~なんでニンゲンの声はみんな違って聞こえるの?」
「それはのう、フォルマント周波数といって人の気道による共鳴の周波数が決まっているからなんじゃ……」
語りだす祖父を見て、違和感を覚える。果たして俺の祖父はこんな顔立ちだっただろうか。こんな声だっただろうか。ぐるぐると頭の中を祖父を映した家族写真が駆け巡る。目を閉じて考えること数瞬、俺は気づいた。
そうだ。祖父は、俺が1歳半のときに死んだんだった。 座っていた横を見ると、そこには蒲の穂が一本おいてあった。床には、まだぬくもりが残っていた。
まとめます。
本稿では、天体写真でよく使われるウェーブレット変換への導入の導入として、フーリエ級数を簡単にまとめます。天体写真系では理工専攻だったりして、ウェーブレット変換なんて朝飯前だよみたいな人も多いと思いますが、今回は完全にワタクシの備忘のためです。何しろ学生のときに勉強したはずなのに、すっかり忘れてるんですもの。
まずはFourier変換の復習から
Fourier級数展開
昔々、あるところに、Jean Baptiste Joseph Fourier, Baron de(通称Fourier男爵)という人がいました。この人は、かつてフーリエ級数を発見しした人です。フーリエ級数は熱伝導解析から着想されたもので、今日では発展したフーリエ変換が周波数解析等様々なところで使われています。フーリエ級数は、任意の関数がたくさんの三角関数(sin/cos)の重ね合わせで表現できるとしました。すなわち \begin{equation} f(t) =\dfrac{1}{2}c_0+\sum_{k=1}^{\infty}\left\lbrace a_k \sin{k\omega_0 t} + b_k \cos{k\omega_0 t}\right\rbrace . \end{equation} ただし、このときは以下のように定義されます。 \begin{align} c_0 &=\frac{1}{\pi} \int_0^T f(t)\ \mathrm{d}t\\ a_k &=\frac{1}{\pi} \int_0^T f(t)\cos{k\omega_0 t}\ \mathrm{d}t\\ b_k &=\frac{1}{\pi} \int_0^T f(t)\sin{k\omega_0 t}\ \mathrm{d}t \end{align}
試しに、単純な一次関数を-3~3の範囲でFourier展開してみます(面倒なので開閉は考えません)。展開結果の \begin{equation} f(t)=\sum_{k=1}^{\infty}\frac{2\times (-1)^{k+1}}{k}\sin{kt} \end{equation} をプロットします。
プロットしたグラフを見てみると概ね近似できているようですが、不連続点付近の3付近では大きく振動します(Gibbsの現象)。を大きく取ることや、区間を変更することによって見たい点回りでの振動は回避できますが、どうしても区間の周辺・不連続点付近では振動は避けられません。
また、フーリエ級数を見るとわかることですが、ある波長(周波数)に対応する係数の大きさが、非解析波形における波長・周波数成分の大きさを決めています。そのため、特定周波数成分の大きさを知りたければに対応する係数の大きさを知ればよいのです。しかしながら、数値が離散的であると解析に使いづらい、離散して飛んでしまったデータの間を知りたいため、連続フーリエ変換が生まれました。
疲れたので今回はここまで。
次回はやる気があったら、みんな大好きなLenaを使ってフーリエ変換を利用した画像処理に進みたいと思います。なおこの連載は続かない可能性が高いです。
With respect to momochi_gyugund
-
ちょっとだけなのは、筆者が深く理解していないからです↩