第06课:CNN 在机器视觉中的应用——目标检测

在上一节课中,我们介绍了卷积神经网络发展的历史以及图像分类的应用。本节课的内容将在上一节课的基础上,为大家介绍机器视觉中另一类经典案例——目标检测。本节课核心内容包括:

  • 卷积神经网络的应用:图像目标检测
  • 滑动窗口算法
  • 基于卷积神经网络的算法

目前基于深度神经网络的目标检测模型有:YOLO 系列、SSD、R-CNN 系列等。本节课我们将为大家介绍这些算法的基本原理并结合目前 Deeplearning4j 中直接支持的 YOLOv2 来构建目标检测的模型。在文章的最后,我们将为大家附上模型在图片和视频文件中的检测效果。

6.1 卷积神经网络的应用:图像目标检测

图像的目标检测问题不同于上面介绍的图像分类。图像分类无需具体定位图像中实物的具体位置,只需要完成对整体内容的识别;而目标检测需要检测出一个或者多个目标区域,通常我们用 Bounding Box(由中心坐标 [x,y]、矩形框宽 width 、矩形框高 height 来确定)来框选目标区域。

首先我们来回顾下目标检测的几种经典算法。

6.1.1 滑动窗口算法

滑动窗口的做法的核心思想是利用不同尺寸的矩阵窗口在图像中左右滑动,提取特征并用分类器进行识别。这里特征的选择和分类器可以有多种组合,例如:

  • HOG+SVM 可用于检测行人或其他常见物体
  • Harr+AdaBoost/SVM 常用于检测人脸

当然我们也可以使用深度学习的方式直接预测,即 HOG+SVM 或 Harr+AdaBoost 的组合,用 VGG-16 或其他网络整体替换。

滑动窗口思想非常直接,通过扫描整张图片来确定目标区域。但是它的缺点也非常明显,即计算的速度比较慢。我们需要对窗口内的区域不断地做分类

你可能感兴趣的:(Deeplearning4j,快速入门,人工智能,深度学习,Java,Deeplearning4j,机器学习,DL4J,Java)