Faster R-CNN tensorflow版,使用cpu运行demo.py的步骤

官方给出的Faster R-CNN的代码是caffe框架下的,我对caffe不是很了解,一直用的是tensorflow环境,所以去网上找了一下用tensorflow实现的Faster R-CNN。找到了一篇博客https://blog.csdn.net/sinat_33486980/article/details/81045315,作者使用的是一个github上Xinlei Chen的tensorflow版本的faster rcnn代码。这里贴出github链接https://github.com/endernewton/tf-faster-rcnn首先,按照博客里面作者的步骤,一步步实现,但是我是在自己的台式机上跑的,没有GPU,因此需要做一些修改。下面走一遍整个流程,记录下踩过的坑。

将博客https://blog.csdn.net/sinat_33486980/article/details/81045315 分享给大家

1.本机环境

ubuntu16.04无GPU

tensorflow版本是1.5.0

python版本3.6 (anaconda安装,虽然系统自带python,但是使用anaconda安装可以一次性将大部分机器学习中用到的包装好,所以建议使用anaconda安装)

cython版本0.29

opencv-python 3.4.4.19

easydict版本1.9

2.下载github项目代码和数据

git clone https://github.com/endernewton/tf-faster-rcnn.git

我是直接在home目录下建了一个我自己的文件夹jcm,然后在这个文件夹上右击,在此处打开终端,输入上面的命令就可以将整个项目代码下载到jcm文件夹下。

3.修改配置

在lib文件夹下有个setup.py文件,里面可以设置CPU和GPU的参数。如图所示

我这里没有GPU,所以选择cpu运行,此处必须做相应的修改,因为代码默认是在GPU下运行,所以按照后面编译的命令执行时会报错。python setup.py build_ext --inplaceTraceback (most recent call last):File "setup.py", line 58, in CUDA = locate_cuda()File "setup.py", line 46, in locate_cudaraise EnvironmentError('The nvcc binary could not be 'EnvironmentError: The nvcc binary could not be located in your $PATH. Either add it to your path, or set $CUDAHOME

make: *** [all] 错误 1

 问题解决:

首先按照github里面的readme,只要将USE_GPU_NMS 由原来的True改为False就可以。但是我改完发现,后面编译的时候还是会报错。

苦苦查询了很久,终于在一个贴吧找到了解决办法,地址为https://zhidao.baidu.com/question/505011922.html

我这里总结下需要修改的位置:

(1)修改lib/model/nms_wrapper.py

按照图中箭头所指示的地方,将代码注释,作用就是为了直接禁用掉GPU模式

(2)lib/setup.py

需要注意的是,不要直接用三个引号的方式整块注释,要一行一行注释。

4.链接cython 模块

 

在lib目录下打开终端,输入


make clean
make
cd ..

如果按照前面的步骤,把GPU配置的代码注释,应该可以成功编译(不报错)。

此时终端回到主目录tf-faster-rcnn

5.安装 Python COCO API,这是为了使用COCO数据库

cd data
git clone https://github.com/pdollar/coco.git
cd coco/PythonAPI
make
cd ../../..

此时终端的目录是主目录tf-faster-rcnn

6.运行Demo 和测试预训练模型

(1)下载预训练模型

要用到的模型 voc_0712_80k-110k.tgz ,按照readme里面给的sh文件下载可能会有网络问题,下载不下来。这个文件可以手动下载(百度云备份:https://pan.baidu.com/s/1kWkF3fT),下载之后放到 data文件夹中就行。使用命令

tar xvf voc_0712_80k-110k.tgz

解压得到voc_2007_trainval+voc_2012_trainval文件夹

(2)建立预训练模型的软连接

NET=res101
TRAIN_IMDB=voc_2007_trainval+voc_2012_trainval
mkdir -p output/${NET}/${TRAIN_IMDB}
cd output/${NET}/${TRAIN_IMDB}
ln -s ../../../voc_2007_trainval+voc_2012_trainval ./default
cd ../../..

打开default会显示链接到的四个模型文件。

(3)运行demo

Faster R-CNN tensorflow版,使用cpu运行demo.py的步骤_第1张图片

../tools/demo.py

运行结果:

这个demo里面自带5张照片:

运行后的预测结果为12张图像:

到此结束~


本篇博客仅仅只是为了记录学习的过程,是学习博客https://blog.csdn.net/sinat_33486980/article/details/81045315 

再次感谢上面博主的分享。

你可能感兴趣的:(计算机视觉,目标检测,Faster,R-CNN)