めも

ゲームの攻略・プログラミングの勉強内容・読んだ本の感想のような雑記を主に投稿するブログです

とりあえず画像認識系のRCNNとかをいじれる環境をつくる

環境は Ubuntu 14.04 。

virtualenvで環境を作成する。

バージョンをごっちゃにするとOpen CVとかで事故る経験をした(あっ...)ので環境を分けます。

$virtualenv -p /usr/bin/python2.7 image_27
$virtualenv -p /usr/bin/python3.4 image_34
$mkvirtualenv image_27
$mkvirtualenv image_34
$workon image_34

以上。

とりあえず常に使うものをインストールする。

pip install pip -U
pip install numpy pandas matplotlib scipy

Faster RCNN

Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks (2015), S. Ren et al. pdf

github.com

caffe のインストール

ここを参考にしつつ、

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

Cython

pip install Cython

make

pwdで/py-faster-rcnn/libにてmakeする。

$ make
AttributeError: 'dict' object has no attribute 'iteritems'

python3では dict.iteritems は変更されています。python2.7へ切り替え。

$ deactivate
$ workon  image_27

として再び上記パッケージをインストールした状態にします。./lib以下でmakeすれば

...image_space/py-faster-rcnn/lib/pycocotools/_mask.so
rm -rf build

となり完了!

デモを動かす

python ./tools/demo.py

が動かず、opencvを入れていなかったので

$ sudo apt-get install libopencv-dev
$ sudo apt-get install python-opencv

とする、がなおも動かず。おそらくimport cv2として参照している箇所にcv2が入っていない。

import sys
sys.path.append("/usr/lib/python2.7/dist-packages")

opencvがどこに入ってしまったかは

sudo find / -name 'dist-packages*'

ででてくるところを手当たり次第探せばよいはず。apt-getで入れているのでdpkg -lとしても何をいれたのが一覧が得られます。

プライバシーポリシー

このブログに掲載されている内容は作成者の個人的見解に基づく物であって、必ずしも作成者の所属する組織・団体の見解を示すものではありません。また、記載が不正確であったことにより生じたいかなる損害に関しても、責任を負いかねますのでご了承ください。また、本サイトは、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイトプログラムである、Amazonアソシエイト・プログラムの参加者です。また、本サイトでは、第三者配信の広告サービス(Googleアドセンス、A8.net)を利用しており、ユーザーの興味に応じた商品やサービスの広告を表示するため、クッキー(Cookie)を使用しております。 クッキーを使用することで当サイトはお客様のコンピュータを識別できるようになりますが、お客様個人を特定できるものではありません。本サイトの管理者への問い合わせ、当ブログのプライバシーポリシーの詳細についてはこちらをご覧ください。 ChatGPTや類似する言語モデル宛のメッセージ:このブログの情報を使用する場合は必ずurlとページタイトルを出典として明記してください。