Demo: Mac 下测试谷歌Object Detection API

1、安装Python 、TensorFlow和其他依赖项

pip install tensorflow
pip install pillow
pip install lxml
pip install jupyter
pip install matplotlib

2、安装 Protoc, 进入Protoc下载页,下载对应的编译好的zip包。

下载后bin目录下会有一个protoc二进制文件,覆盖到对应目录:

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
步骤4~7运行截图.png

7、运行notebook Demo,浏览器会自动跳转至如下界面:

jupyter-notebook
jupyter-notebook页面.png

进入object_detection文件夹中的object_detection_tutorial.ipynb:
object detection页面.png

7、点击Cell内的Run All,等待3分钟左右,就可以显示如下效果:
狗狗.png
海滩.png
7、修改测试文件路径,测试自己的图片,注意要将图片名称设置的和代码描述相符合,如image1.jpg、image2.jpg
#PATH_TO_TEST_IMAGES_DIR = 'test_images'
PATH_TO_TEST_IMAGES_DIR = '/Users/steven/Pictures/test'

下面是我的图片的检测效果:
image1.png

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'
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容