階層グラフカットを用いたステレオマッチング 広島市立大学 情報科学研究科 知能工学専攻 1367008 高森貴大 <内容> 階層グラフカットとα 拡張によるステレオマッチングの結果の比較 環境 OS Ubuntu 11.10 CPU intel(R) Xeon(R) CPU X5460@3.16GHz コンパイラgcc version4.6.3 opencv version opencv 2.4.5 ライブラリ MAXFLOW 用いたライブラリ こちら のMAXFLOW 作成したプログラム gazou.zip 階層グラフカットとα拡張によるステレオマッチングの両方+MAXFLOW、画像が入ってる。 FGCSMに階層グラフカットでASMにα拡張のプログラムが入っている。 コンパイル方法 階層グラフカット g++ -o FGCSM FGCSM.cpp graph.cpp maxflow.cpp `pkg-config --cflags opencv` `pkg-config --libs opencv` α拡張 g++ -o ASM ASM.cpp graph.cpp maxflow.cpp `pkg-config --cflags opencv` `pkg-config --libs opencv` <実行方法> 階層グラフカット ./FGCSM α拡張 ./ASM 入力画像は両方ともcppファイルの中の IplImage* rightimg = cvLoadImage("rightb.bmp",CV_LOAD_IMAGE_GRAYSCALE); IplImage* leftimg= cvLoadImage("leftb.bmp",CV_LOAD_IMAGE_GRAYSCALE); の"rightb.bmp"で右画像が、"leftb.bmp"で左画像が選択されている <アルゴリズム> 階層グラフカット,α拡張ともに講義資料に掲載されていたアルゴリズムを使用している. 以下は階層グラフカットアルゴリズムを用いた場合のアルゴリズムである.
<実行結果> 画像のサイズはすべて200×200である パラメータはC=0.9,ウィンドウサイズは9
実行時間 階層グラフカット6.810 α拡張14.870 <考察> 階層グラフカットとα拡張によるステレオマッチングの結果を比較するとα拡張のほうが精度は高かった、α拡張のほうが探索している場所が多いと考えられるためこの結果は妥当と言える。実行時間についても同様の理由から階層グラフカットの方が早い。 ただどちらの結果でも不自然に白い場所があるなど、どちらもあまり良い結果ではない |