前幾天一口氣看完rbgirshick大神的三篇物體檢測的論文還有spp-net順便也看完了,不得不佩服大神對前沿技術的明銳眼神,於是終於在今天成功運行好faster-RCNN的demo。
1.配置caffe,建議先按照我之前的caffe配置教程配置下原版的caffe,不然很多概念會不懂,而且先配置好原版caffe,後面faster-caffe的配置要省去不少步驟。
2.下載faster-RCNN
去RBG大神的guthub下載faster-cnn
# Make sure to clone with --recursive
cd ~
git clone --recursive https://github.com/rbgirshick/py-faster-rcnn.git
3.編譯Cython模塊
cd $FRCN_ROOT/lib
make
這裏$FRCN_ROOT表示faster-RCNN的根目錄。原版caffe沒有這一步,其實這裏主要是把lib文件夾下的py文件導入python環境變量中,以便在命令行中使用faster-RCNN
4.編譯Caffe和pycaffe
cd $FRCN_ROOT/caffe-fast-rcnn
# Now follow the Caffe installation instructions here:
# http://caffe.berkeleyvision.org/installation.html
# If you're experienced with Caffe and have all of the requirements installed
# and your Makefile.config in place, then simply do:
make -j8 && make pycaffe
這裏和原版caffe沒有區別,包括Makefile.config文件,可以直接拿過來用。如果庫都安裝好沒問題,報未定義的引用錯誤時建議加上sudo試試。
5.下載faster-RCNN的網絡參數文件
cd $FRCN_ROOT
./data/scripts/fetch_faster_rcnn_models.sh
點開腳本文件,可以看到是從dropbox上下載,dropbox被牆了,建議自己去百度雲下載,記得別下錯了下了fast-RCNN,下完後解壓放在./data文件夾下,即VGG16_faster_rcnn_final.caffemodel的目錄是./data/faster_rcnn_models
faster_rcnn_models,密碼:gbpo
6.依賴庫
這時候離運行demo就還差一步了,也是最重要的一步,你的python需要cython,python-opencv和easydict包。
6.1.cython
如果你下的是anaconda那麼cython就是自帶的。
6.2.easydict
執行
pip install easydict
如果沒裝pip就換成
conda install easydict
還不行就先conda install pip安裝pip後在用pip安裝easydict,這裏我遇到一個報錯,無法找到easydict,建議更新下pip就好pip install pip --upgrade
6.3.python-opencv
頭疼的是python-opencv包,demo中有用到import cv2,如果在運行demo的時候報錯,No module named cv2就是這個問題,我們需要的就是這個cv2.so文件,這個文件需要安裝並編譯opencv後纔會在/usr/local/lib/python2.7/site-packages出現。
我下的是3.2.0
編譯好後將/usr/local/lib/python2.7/site-packages下的cv2.so複製到~/anaconda2/lib/python2.7/site-packages,如果你沒有用anaconda那就複製到/usr/lib/python2.7/site-packages/
7.demo
記得在~/.basrc中把python的環境變量改了,不然import caffe導入的是原版的caffe,在export PYTHONPATH="/home/yourname/caffe-master/python:$PYTHONPATH"添加#註釋掉,增加export PYTHONPATH="/home/yourname/py-faster-cnn/caffe-fast-rcnn/python:$PYTHONPATH",這樣也方便,一臺電腦兩個caffe框架,想用哪個改哪個
cd $FRCN_ROOT
./tools/demo.py