在目录下新建文件夹,命名为Tensorflow,下载:https://github.com/tensorflow/models 解压至Tensorflow。在/home/xxx/Tensorflow/models-master/research目录下有object_detection,你可以找到它。
打开链接:https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/installation.md,你可以看到如何配置Tensorflow Object Detection API。因为有些依赖包我已经在anaconda2里下载了,所以不需要重复下载。如果你没有安装anaconda的话,按照步骤把那些依赖安装一下。
直接进行到下一步:COCO API installation(可选项),打开终端输入以下:
$git clone https://github.com/cocodataset/cocoapi.git
$cd cocoapi/PythonAPI
$make
$cp -r pycocotools /home/xxx/Tensorflow/models-master/research/
注意在make过程中可能遇到错误:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 43: ordinal not in range(128)
可能是python编码的问题,解决方法:参考博客https://blog.youkuaiyun.com/kezhen/article/details/21595747。因为ubuntu自带python2.7,你可以在/usr/local/lib/python2.7发现它,但是我安装过anaconda2,所以现在系统用的python2.7在这里:/home/xxx/anaconda2/lib/python2.7,对于刚刚的问题你应该在/home/xxx/anaconda2/lib/python2.7/site-packages/里打开终端,输入:
$sudo nano sitecustomize.py
然后在编辑界面,拷贝下面两句进去(意思是使用utf-8编码方式):
import sys
sys.setdefaultencoding('utf-8')
根据提示,然后按下ctrl+o键,写入文件里,按回车,最后按ctrl+x退出编辑模式。然后回到之前的步骤里make,这次就可以了。
下一步:Protobuf Compilation。在/home/xxx/Tensorflow/models-master/research/ 下打开终端,输入:
$protoc object_detection/protos/*.proto --python_out=.
下一步:Add Libraries to PYTHONPATH,在终端输入:
$export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim
测试一下:
python object_detection/builders/model_builder_test.py
运行 Jupyter notebook demo,在/home/xxx/Tensorflow/models-master/research/,打开终端
$ jupyter notebook
运行后浏览器自动启动,显示 Jupyter 界面,进入object_detection文件夹中的object_detection_tutorial.ipynb。
点击 Cell 的Run All ,等待片刻后,将会显示检测结果。测试图片存放在/home/xxx/Tensorflow/models-master/research/object_detection/test_images。
下面是测试结果。