目标检测之Object Detection API 测试

版权声明:本文为博主原创文章,转载需声明出处。 https://blog.csdn.net/gulingfengze/article/details/79644760
1.前置工作
  • 安装Tensorflow,要求1.4及以上版本。
  • 安装pillow、jupyter、matplotlib、lxml。
  • 下载Tensorflow Object_detection API框架:框架
  • 下载Protobuf,下载地址:Protobuf

    这里说下window环境下protobuf的编译。下载Protobuf后解压缩,然后将其文件bin的路径配置到环境变量中,然后以管理员方式打开CMD并进入到Tensorflow Object_detection API框架解压后的model-master中的research目录下,执行下面命令:
protoc object_detection/protos/*.proto --python_out=.  

注意:如果你下载的是protoc3.5的版本,执行上面命令可能会报object_detection/protos/*.proto: No such file or directory错误,这是因为protoc3.5版本有bug,换成3.4的就行了。
接着再将model-master、research以及slim的路径都添加到环境变量中即可。

再说下linux环境下protobuf的编译。在linux下配置protobuf和在window上差不多:
在model-master中的research目录下,执行下面命令:

protoc object_detection/protos/*.proto --python_out=.  

打开.bashrc将model-master、research以及slim的路径都添加到环境变量中。添加object_detection到环境变量 python path,在tensorflow/models/research/目录下(根据自己的绝对路径进行修改即可):
export PYTHONPATH=$PYTHONPATH:xxx/model_master:xxx/research:xxx/slim

  • 进入models-master\research\object_detection\builders下执行下面命令进行环境检测:
python model_builder_test.py

出现以下结果则说明环境搭建成功
windows系统上测试

2.运行官方Demo

下面我们先来运行官方的demo,看看检测的效果。首先我们进入models-master\research\object_detection路径下,在这个路径下可以看到有一个名为object_detection_tutorial.ipynb的文件,这个文件就是我们接下来要运行的demo文件。然后打开终端输入命令:

jupyter notebook

以window系统为例,输入命令后如下所示。
运行结果
这时候会自动打开我们系统上的浏览器,找到object_detection_tutorial.ipynb文件并点击打开并执行“Run All”命令,等待一小会就行可以看到demo运行的效果了。
运行操作
dog
person
可以看到官方给我提供了两张测试图片,可以很好的检测出图片中的事物。可以将test_images文件夹下的图片替换为其它的图片进行测试,只需要修改对应的代码(下图)即可。
替换测试图片
当前使用的是API默认的SSD+Mobilenet模型,其还提供了其它几种目标检测模型,下载地址:模型
那么如何使用其它模型呢,方法很简单,只需要修改object_detection_tutorial.ipynb 文件中MODEL_NAME的地方就可以了,例如使用ssd_inception_v2_coco 模型:

# What model to download.
#MODEL_NAME = 'ssd_mobilenet_v1_coco_2017_11_17'
MODEL_NAME = 'ssd_inception_v2_coco_2017_11_17'

当然我们还想使网络模型来训练自己的数据,这些内容后续文章再详细介绍。

猜你喜欢

转载自blog.csdn.net/gulingfengze/article/details/79644760