メリークリスマス!クリスマスですが、研究の話です。
半年前くらいに作ったPOC(位相限定相関法)ベースのステレオマッチングのプログラムが重くてトライアンドエラーをするのがしんどかったので、無駄をなくすために最近空いている時間を費やして1から作り直していました。
今までFFTにはFFTWというライブラリを使用していたのですが、自分でFFTも作ることにしました。FFTのプログラムを書く時点からステレオマッチング用にコードを最適化を行ってゆき、それに加えてOpenMPによる並列化を加えたところ、10倍くらい高速になったのでトライアンドエラーがさくさくになりました。
ということで下記にブロック相関法ベースのステレオマッチング手法との比較を載せます。
こちらが比較に使う元画像です。
こちらがブロック相関を用いたステレオマッチングにより復元したモデルです。ピクセル単位でしか視差を計算できないので、段々ができてしまっています。
そして、こちらがPOCを用いたステレオマッチングで復元したモデルです。サブピクセルレベルで視差が計算できるので、ブロック相関法のものより細かいディティールまでしっかり復元できています。
こちらはPOCベースのステレオマッチングで復元したモデルに元画像をテクスチャとして投影マッピングではりつけたものです。
他にもいろいろなサンプルで試してみたいです。後、動画でも試してみたいです。
参考文献
http://w2.gakkai-web.net/gakkai/ieice/vol1no1pdf/vol1no1_030.pdf
半年前くらいに作ったPOC(位相限定相関法)ベースのステレオマッチングのプログラムが重くてトライアンドエラーをするのがしんどかったので、無駄をなくすために最近空いている時間を費やして1から作り直していました。
今までFFTにはFFTWというライブラリを使用していたのですが、自分でFFTも作ることにしました。FFTのプログラムを書く時点からステレオマッチング用にコードを最適化を行ってゆき、それに加えてOpenMPによる並列化を加えたところ、10倍くらい高速になったのでトライアンドエラーがさくさくになりました。
ということで下記にブロック相関法ベースのステレオマッチング手法との比較を載せます。
こちらが比較に使う元画像です。
こちらがブロック相関を用いたステレオマッチングにより復元したモデルです。ピクセル単位でしか視差を計算できないので、段々ができてしまっています。
そして、こちらがPOCを用いたステレオマッチングで復元したモデルです。サブピクセルレベルで視差が計算できるので、ブロック相関法のものより細かいディティールまでしっかり復元できています。
こちらはPOCベースのステレオマッチングで復元したモデルに元画像をテクスチャとして投影マッピングではりつけたものです。
他にもいろいろなサンプルで試してみたいです。後、動画でも試してみたいです。
参考文献
http://w2.gakkai-web.net/gakkai/ieice/vol1no1pdf/vol1no1_030.pdf