做图像识别有很多不同的途径。谷歌最近发布了一个使用Tensorflow的物体识别API,让计算机视觉在各方面都更进了一步。
这篇文章将带你测试这个新的API,并且把它应用在youtube上(可以在GitHub上获取用到的全部代码,链接),结果如下:
这个API是用COCO(文本中的常见物体)数据集(http://mscoco.org/)训练出来的。这是一个大约有30万张图像、90种最常见物体的数据集。物体的样本包括:
这个API提供了5种不同的模型,使用者可以通过设置不同检测边界范围来平衡运行速度和准确率。
上图中的mAP(平均精度)是检测边界框的准确率和回召率的乘积。这是一个很好的混合测度,在评价模型对目标物体的敏锐度和它是否能很好的避免虚假目标中非常好用。mAP值越高,模型的准确度越高,但运行速度会相应下降。
(想要了解更多跟模型有关的知识:链接)
我决定使用最轻量级的模型(ssd_mobilenet)。主要步骤如下:
1. 下载一个打包模型(.pb-protobuf)并把它载入缓存
2. 使用内置的辅助代码来载入标签,类别,可视化工具等等。
3. 建立一个新的会话,在图片上运行模型。
总体来说步骤非常简单。而且这个API文档还提供了一些能运行这些主要步骤的Jupyter文档——链接
这个模型在实例图像上表现得相当出色(如下图):