@shi3z さんの "Caffeモデル+Selective Search+Chainer"を使ってみる

@shi3z さんが Caffe 使った一般物体認識のスクリプトを書いていたので、試してみた。

元ネタ:
Caffeモデル+Selective Search+Chainerを使って、写真のどの部分に何があるのかなんとなく判定させてみる - shi3zの長文日記
CUDAなしMacで、Chainer使ってCaffeモデルをインポートして画像認識させてみる - shi3zの長文日記

まず、OpenCV 入れていない人はそこから。
PythonでOpenCVを使う@Mac - Qiita
ちなみに僕はうまくリンクが貼れておらず、ここも参考にした。
osx - python cannot import opencv because it can't find libjpeg.8.dylib - Stack Overflow

他にも依存関係があるので、pip で一括インストール。

pip install numpy selectivesearch
pip install chainer -U

ちなみに Chainer は upgrade でインストールしないと、CaffeFunction が入らないので、upgrade オプション必須。

googlenetのモデルをインストール + モデルデータを取得

git clone https://github.com/pfnet/chainer.git
cd chainer/examples/modelzoo
python download_model.py googlenet
# これで bvlc_googlenet.caffemodel というモデルがダウンロードされるので、これを取得
python download_mean_file.py

Cuda をセットアップする
CUDA開発環境を構築する~[Mac OSX編] | ヤノラボ:やのしん研究所
この辺を読めばいけるはず。
MBAではさすがにやらなかったけど、、、。

最後に、shi3z さんが
Caffeモデル+Selective Search+Chainerを使って、写真のどの部分に何があるのかなんとなく判定させてみる - shi3zの長文日記
に書いてるスクリプトをコピペして、image.py とか適当にファイルをつくる。

一通り上記をやってから、

python image.py hoge.jpg googlenet bvlc_googlenet.caffemodel

とやると動くはず。

hoge.jpg は適当なイメージファイル名、
bvlc_googlenet.caffemodel は先ほど download_model.py を実行して得られたモデルファイル。