tensorflow(3):Object Detection API使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ezhchai/article/details/80425033

TensorFlow Object Detection API 可实现基于给定模型检测图像中的特定目标,是典型的深度学习在计算机视觉中的应用。本文以此为例,开始应用TensorFlow解决实际问题。

首先,需要下载TensorFlow的model文件,可在GitHub的Tensorflow/models上找到,下载models文件。
这里写图片描述
可通过git clone下载,或者在页面上直接点击绿色的Clone or Download按钮,下载master分支。在此分支中,存在research文件夹。research文件夹下,可以找到object_detection文件夹,Object Detection API 就在其中。
这里写图片描述

在应用Object Detection API 之前,需要进行一下依赖环境的安装,可参考官方的安装说明。如果仅跑目标检测实例,也不用都安装,以后用到了随时安装即可。

首先要安装tensorflow,我安装的是gpu版本,可以参考我的博客tensorflow(2):Ubuntu 16.04安装(GPU版本)。我的系统是Ubuntu 16.04,需要安装如下环境:

sudo apt-get install protobuf-compiler python-pil python-lxml python-tk
sudo pip install Cython
sudo pip install jupyter
sudo pip install matplotlib

然后是对Protobuf libraries进行编译,刚才安装了protobuf-compiler编译环境,命令如下。

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

这里注意object_detection的路径不要写错。编译之后,protos文件夹下的.proto文件会生成同名的.py文件,后期再应用程序中,需要调用这些python包。

本文通过PyCharm编写Object Detection API的应用程序,可参考Ubuntu16.04环境下PyCharm安装和配置进行基本配置。新建一个python project,将编译过Protobuf libraries的object_detection文件夹拷贝到project目录下,在工程根目录下,新建python file,“TestTFImg.py”,用于调用Object Detection API 。
这里写图片描述
然后,即可参考官方简明使用文档编写程序了。
这里说明几点需要个性化修改的地方:

  • model并不在下载的models文件夹中,需要单独从model zoo中下载,我下载的是ssd_mobilenet_v2_coco,下载之后解压文件,放到object_detection文件夹下,要将MODEL _ NAME写成下载的model的目录名。

  • 还要修改CKPT和LABELS的路径,使其指向真正存在的路径,这里我设置了一个系统路径变量,通过os.getcwd()获得当前路径,然后拼接得到两个路径。
    这里写图片描述

  • 测试图片路径,也要根据当前路径修改,同上。
    这里写图片描述

  • 由于PyCharm不支持IPython的%matplotlib inline命令,因此在plt.imshow之后,要通过plt.show将图片显示出来。
    这里写图片描述

    扫描二维码关注公众号,回复: 3833786 查看本文章

这样程序就可以正常运行了,运行结果如下。
这里写图片描述
这里写图片描述

猜你喜欢

转载自blog.csdn.net/ezhchai/article/details/80425033