OpenCV
DeepLearning
SemanticSegmentation

OpenCVでFCNのSemantic Segmentationを試す

まず

http://shibafu3.hatenablog.com/entry/2017/03/28/164125

を参考にOpenCVとcontribを導入

導入が済んだら
~/Source/opencv/samples/dnn/fcn_semsegm.cpp
がFCNのプログラムなので、これを起動したい。

~/Source/opencv/samples/samples/dnn
に置いてある

pascal-classes.txt
fcn8s-heavy-pascal.prototxt
rgb.jpg

をすべてfcn_semsegm.cppのあるフォルダにコピー

その後、学習済みのモデルをダウンロードしたいので

http://dl.caffe.berkeleyvision.org/fcn8s-heavy-pascal.caffemodel
で検索、するとfcn8s-heavy-pascal.caffemodelが勝手にダウンロードはじまる(ファイルサイズ538MBあるから注意)

これも同様にfcn_semsegm.cppのあるフォルダに置く

そしたらfcn_semsegm.cppのあるフォルダに移動して
cd ~/Source/opencv/samples/dnn

g++ fcn_semsegm.cpp -o fcn_semsegm pkg-config --libs opencv

でコンパイルするとfcn_semsegmっていう実行ファイルが作成されるから

./fcn_semsegm rgb.jpg

とコマンドを打てばrgb.jpgの画像でFCNのsemantic segmentationが起動できる。

この記事は
http://bfin.sakura.ne.jp/?p=976
の「fcn_semsegmデモ」を参考にした