4. 視差画像の比較

各種アルゴリズムを比較した論文

記事2でも紹介したコンピュータビジョンのベンチマークで有名な The Middlebury Computer Vision PagesMRF Minimization のページには「A Comparative Study of Energy Minimization Methods for Markov Random Fields with Smoothness-Based Priors, IEEE Transactions on Pattern Analysis and Machine Intelligence (TPAMI), 30(6):1068-1080, June 2008」 という論文が紹介されています. この論文はサイトラベリング問題のエネルギー最小化アルゴリズムを詳細に比較しているもので, どのようなエネルギー関数を使ったかや,ラベルの数などが正確に記述されています.

そして ResultのTsukuba stereo のページにはTsukubaステレオ画像に対するアルゴリズムの実行結果である 視差画像が各アルゴリズム毎に紹介されています. このTsukubaステレオ画像のエネルギー最小化に使われたエネルギー関数は アルゴリズムに関係なく以下のようになっているそうです. まずdata項はRGB毎の差の絶対値の和,これは記事3と全く同じです. 次にsmooth項はtruncated linearで差が2で打ち切り, そして係数は左画像の画素値変化が8未満であれば40,そうでなければ20というものです. これは記事3に比べてずいぶん複雑です. 視差という厄介なラベルをできるだけうまく扱おうとしていると思われます. ラベル数は16となっています. 記事3のpixel-disparity modelでは視差-10から視差-28の19ラベルを, gaze_line-depth modelではdepthは視差の半分ですからdepth-5からdepth-14の10ラベルを使っています. 一方,比較したアルゴリズムと結果の視差ファイルは

List of algorithms
abbreviationdescriptiondisparity_file
ICMIterated Conditional Modestsu-ICM.png
Swapgraph cut, Swap movetsu-Swap.png
Expgraph cut, Expansion movetsu-Expansion.png
BP-SBelief Propagation, S versiontsu-BP-S.png
BP-MBelief Propagation, M versiontsu-BP-M.png
TRW-STree ReWeighted message passing, S versiontsu-TRW-S.png
GTGround Truthtsukuba-truedispL.png
だということです.これらの視差ファイルをダウンロードしてきました. 記事3で作成したdisparity14.pngとpen_14_inh_1023.png, そして記事2で作成したtrue.pngも一緒に見てください. ダウンロードしてきた視差画像は, 橙色のスタンドライトの右側がどれもくっきりしています.
tsu-ICM.png
tsu-Swap.png
tsu-Expansion.png
tsu-BP-S.png
tsu-BP-M.png
tsu-TRW-S.png
disparity14.png
pen_14_inh_1023.png
tsukuba-truedispL.png
true.png

単純に視差を比べるプログラム

2つの視差ファイルの視差を単純に比較するプログラム compare_disparity.cpp を作りました. ピクセル毎に2つの視差ファイルの視差を比較して, その差を合計するプログラムです. ただし基準となる視差ファイルの視差が0の場合は, そのピクセルの視差の差を無視するようにしました. makefile もダウンロードして

make do
とすると,記事2で作成したtrue.pngを基準として上記の視差ファイルとの差を出力します. makefileを見ると分かりますが, プログラムの起動は
./compare true-disparity_file disparity_file
となっています.

比較結果

記事2で作った修正真値視差画像true.pngとの比較結果は

Comparison with modified true disparity
abbreviationdescriptiondisparity_filedifference
ICMIterated Conditional Modestsu-ICM.png3118976
BP-SBelief Propagation, S versiontsu-BP-S.png691440
BP-MBelief Propagation, M versiontsu-BP-M.png430864
Expansiongraph cut, Expansion movetsu-Expansion.png338960
Swapgraph cut, Swap movetsu-Swap.png334416
TRW-STree ReWeighted message passing, S versiontsu-TRW-S.png329920
DISpixel-DISparity modeldisparity14.png249344
DEPgaze_line-DEPth modelpen_14_inh_1023.png216336
GTGround Truthtsukuba-truedispL.png0
のようになりました.これを棒ラフにすると
修正真値視差画像との比較
のようになります.ICMは値が大きすぎるので棒グラフには入れませんでした. これを見るとgaze_line-depth modelの結果DEPが随分良いように見えます. gaze_line-depth modelの奥行き方向の分解能は半分でしかないのにです. pixel-disparity modelを線形なエネルギー関数でエネルギー最小化した結果DISも悪くありません. この理由として考えられるのはこの一連の記事のどこかに間違いがある, ピクセルの視差を単純に比べるのが良くない, そうでなければDISとDEP以外は近似であること, 視差の厄介な性質のために工夫したエネルギー関数が役立っていなかったこと, ぐらいでしょうか.