« | »

01月14日 

パノラマ関係

パノラマ結合ソフト

全方位パノラマは特殊な雲台を使用してズレの無い写真を撮影した後、それぞれの写真を結合する必要があり、いろいろなソフトウェアがリリースされています。

20~30%ほど重なり合った隣り合う写真同士の、同じ箇所を特定することで2枚の写真を繋ぎ合わせて行きます。この「同じ箇所」を特定していくアルゴリズムなどがそれぞれのソフトウェアの特徴ともなっている訳なんです(他にもいろいろな画像処理その他で特徴はありますが)。

そんな中、オープンソースで開発が進められているパノラマ作成ソフトがHugin。正確には、上記の「同じ箇所」を特定するプログラムやレンズの収差を補正するソフトやら画像同士を結合させるソフトやらを統合して使いやすくしてくれるソフトな訳ですが。

で、今回のお話は「同じ箇所」を特定する部分で。
学術的には「Feature Point Detection」という分野で、ニホンゴで言えば「特徴点抽出」ですな。

以下、長文かつ文字ばっかりで一つも面白くないことを予めお断りしておきますw(リンク先もwikipediaばっかりだし)

これまで多く使われてきたのは(理論まで追い切れてないのですが)、回転やズレにも強いSHIFT(Scale Invariant Feature Transform)という手法でした。
しかしちょいと問題があって、特許が取得されているために商用ソフトなどでの扱いが難しかったそう。前出のHuginも特許の関係で同梱配布が許されず、といった経緯があったようです。

でもこういった技術の進化は早いもので、SHIFTに変わるアルゴリズムが出てきました。それが最近になってHuginに同梱されるようになったPan-o-maticに搭載されている「SURF (Speeded Up Robust Features)」。

名前の通り、検出速度がちょっと速いようです。トレードオフなのか特徴点抽出の精度がイマイチ、といった意見も。
基本的な技術としては、周波数解析の技術「Wavelet」から、特徴点抽出に強い「Haar Wavelet」が採用されています。なるほどHaarなら速度的にも良さそう。しかし画像1枚の特徴点抽出ならまだしも、2枚を結合させるための特徴点であれば、シフト依存性に低いWaveletのこと、そこら辺が精度の甘さの一因かもしれないですね。

正直、回転や移動に強い(らしい)SHIFTアルゴリズムの方がパノラマ画像の結合には向いているかもしれませんが、Waveletだし実際使ってみた感じそこまで精度も悪くないので、これからはしばらくHugin+Pan-o-maticで行ってみたいと思います。

んでここからはオマケ。
最新のHuginには新しく「Celeste」という機能が加わってます。これまた「Gabor」ということで、Wavelet技術がどんどん花開いてきた、という感じがしないわけでも無いような。

なにするものぞ、という点ですが詳しくはこちら(英文)を参照して頂くとして、要は似ている特徴点を類推してみましょう、という技術だそうです。

全方位パノラマの撮影はカメラを回したり角度を変えたりで、どうしても時間が掛かってしまいます。撮影内に動く人などが居ると幽霊ができあがってしまう要因ですね。

雲なんかも風に流され、動いてしまいます。ただ雲くらいだと少し動いて少し形が変わっても、「なんとなく」同じポイントを指してるんじゃないか、という箇所を類推してくれる機能がCeleste、ということのようです。
なるほど、手書き文字認識などにも使用されるGaborの出番、という訳です。

しかし逆に、動体の無い室内などの場合、無駄に処理が増えるし下手をすると誤検出の元になるので、ちゃんと機能のオン・オフは適切に設定した方が良いかと思います。

ちなみにHuginに乗り換えたのは、先日から導入してるEF 17-40mm F4Lのワイ端での歪曲収差が酷く、さらにその補正がイマイチだったところ、(たぶん同じアルゴリズムっぽいのに)Huginに搭載されてる補正エンジンの精度が良かった為です。
24mmくらいで撮影すると収差もかなり改善されるんですけどね。。。撮影枚数が格段に増えるので。。。orz

さらにそれぞれの機能は各個別に開発が進められているので、(実験的な動向はあるにしろ)進化が早そう、という点もあったりします。
これからしばらくはHugin使っていこうと思います。

コメント & トラックバック

コメントなし

コメントフィード

コメント