1、安装Python 、TensorFlow和其他依赖项
pip install tensorflow
pip install pillow
pip install lxml
pip install jupyter
pip install matplotlib
2、安装 Protoc, 进入Protoc下载页,下载对应的编译好的zip包。
cp bin/protoc /usr/local/bin/protoc
注意:应该拷贝到/usr/local/bin(可以读写)目录下不是/usr/bin(只读),否则会提示Operation not permitted, 这一步踩了好多坑。
3、从github上下载目标检测API的源代码
git clone https://github.com/tensorflow/models.git
4、编译Protobuf,进入tensorflow/models 目录,运行下面命令进行编译:
protoc object_detection/protos/*.proto --python_out=.
5、在当前目录下,添加slim环境变量
export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim
6、测试目标检测API是否安装成功,下图中的红框表示安装成功
python object_detection/builders/model_builder_test.py
7、运行notebook Demo,浏览器会自动跳转至如下界面:
jupyter-notebook
#PATH_TO_TEST_IMAGES_DIR = 'test_images'
PATH_TO_TEST_IMAGES_DIR = '/Users/steven/Pictures/test'
下面是我的图片的检测效果:8、TensorFlow Object Detection API中提供了五种可直接调用的识别模型,默认的是最简单的ssd + mobilenet模型。 可直接将MODEL_NAME修改为如下值调用其他模型:
MODEL_NAME = 'ssd_mobilenet_v1_coco_11_06_2017'
#MODEL_NAME = 'ssd_inception_v2_coco_11_06_2017'
#MODEL_NAME = 'rfcn_resnet101_coco_11_06_2017'
#MODEL_NAME = 'faster_rcnn_resnet101_coco_11_06_2017'
#MODEL_NAME = 'faster_rcnn_inception_resnet_v2_atrous_coco_11_06_2017'