第2章 用目标检测API标注图像

近年来,计算机视觉技术随着深度学习的发展取得了巨大的飞跃,使得计算机在理解视觉场景方面上升到了更高的水平。深度学习在视觉任务中的潜力是巨大的:计算机具有对其周围环境进行视觉感知和理解的能力,在可移动领域(例如,自动驾驶汽车可以通过安装在车上的照相机探测出物体是行人、动物还是机动车并发出行动指令)以及日常生活中的人机交互领域(例如,机器人可以感知周围环境并成功地实现交互)打开了新的人工智能应用大门。

第1章介绍了卷积神经网络及其工作原理。本章将介绍一个快速、简单的项目,帮助你用计算机来“理解”用照相机或手机中拍摄的图像以及从互联网或直接从网络摄像头获取的图像,进而找出图像中物体的类型及其精确位置。

为了实现上述的分类和定位,我们会用到TensorFlow的目标检测API——谷歌公司的TensorFlow模型项目中的一部分。TensorFlow可以预训练一系列神经网络并将其封装在自定义的应用中。

本章主要包括以下内容:

  • 在项目中使用合适数据的好处;
  • 简要介绍TensorFlow的目标检测API;
  • 如何为已存储的图像添加标注,以满足更多的使用需求;
  • 如何用moviepy对视频进行可视化标注;
  • 如何通过网络摄像头进行图像标注实时化。

在计算机视觉领域,深度学习常用于解决分类问题,如ImageNet(也有其他数据集,如PASCAL VOC)以及卷积神经网络(如Xception、VGG 16、VGG 19、ResNet 50、Inception V3和MobileNet)。

虽然基于ImageNet数据集的深度学习技术已经颇为成熟,但是面对真实世界的应用还存在很多困难。事实上,在实际应用中,模型不得不处理与ImageNet的样本差别巨大的数据。在ImageNet中,样本按照图像中唯一清晰的元素进行明确分类。理想情况下,待分类的物体位于图像中央,并且不被遮挡;而在实际图像中,物体是随机分布的,且数量较多。所有这些物体互不相同,有时会造成数据集的混乱。除此之外,由于可能被其他物体遮挡,常见的物体也不能被准确和直接地感知到。 ...

Get TensorFlow深度学习项目实战 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.