覚え書きブログ

Jetson TX1の覚え書き(R-CNN)

今回は、Jetson TX1上のCaffeを用いて物体検出をしてみる。

まず、caffeのexamples/detection.ipybにて用いられているdetect.pyを試してみる。
1)RCNNのモデルをダウンロードする

> ./scripts/download_model_binary.py models/bvlc_reference_rcnn_ilsvrc13/

2)selective_searchのpython版をgithubからダウンロードし、展開する
[https://github.com/sergeyk/selective_search_ijcv_with_python]
>|sh|
> unzip selective_search_ijcv_width_python-master.zip
> mv selective_search_ijcv_width_python-master caffe/python/caffe/selective_search_ijcv_width_python

3)selective_search.pyのsubprocess.Popenに「shell=True」を追加

> cd caffe/python/caffe/selective_search_ijcv_width_python
> vi selective_search.py
pid = subprocess.Popen(shlex.split(mc), shell=True, stdout=open('/dev/null', 'w'), cwd=script_dirname)

※このpythonスクリプトは、matlabのインタフェース的な位置づけのため実行するためにはmatlabが必要となる。

4)以下のようにdetect.pyを実行する。

./python/detect.py --crop_mode=selective_search --pretrained_model=models/bvlc_reference_rcnn_ilsvrc13/bvlc_reference_rcnn_ilsvrc13.caffemodel --model_def=models/bvlc_reference_rcnn_ilsvrc13/deploy.prototxt --gpu --raw_scale=255 det_input.txt det_output.h5

det_input.txtは以下のように画像のパスの一覧を記載する。

examples/images/fish-bike.jpg