章四 CNN 第3节 目标检测

第3节 目标检测

3.1 目标定位

将继续深入介绍目标定位和目标检测(包含多目标检测)。

Untitled

Untitled

Untitled

3.2 特征点检测

除了使用矩形区域检测目标类别和位置外,我们还可以仅对目标的关键特征点坐标进行定位,这些关键点被称为landmarks。

Untitled

3.3 目标检测

目标检测的一种简单方法是滑动窗算法。这种算法首先在训练样本集上搜集相应的各种目标图片和非目标图片。注意训练集图片尺寸较小,尽量仅包含相应目标,如下图所示:

Untitled

然后,使用这些训练集构建CNN模型,使得模型有较高的识别率。

最后,在测试图片上,选择大小适宜的窗口、合适的步进长度,进行从左到右、从上倒下的滑动。每个窗口区域都送入之前构建好的CNN模型进行识别判断。若判断有目标,则此窗口即为目标区域;若判断没有目标,则此窗口为非目标区域。

滑动窗算法的优点是原理简单,且不需要人为选定目标区域检测出目标的滑动窗即为目标区域)。但是其缺点也很明显,首先滑动窗的大小和步进长度都需要人为直观设定。滑动窗过小或过大,步进长度过大均会降低目标检测正确率。而且,每次滑动窗区域都要进行一次CNN网络计算,如果滑动窗和步进长度较小,整个目标检测的算法运行时间会很长。所以,滑动窗算法虽然简单,但是性能不佳,不够快,不够灵活

3.4 卷积的滑动窗口实现

也就是把背后的全连接层,转换成了卷积层,这样就不用一个滑动计算一次了,一开始卷积的时候就全部计算下来,然后最后的结果的一个像素就对应一次滑动(这个像素位置的多个通道代表结果)

3.5 Bounding Box Predictions

滑动窗口算法有时会出现滑动窗不能完全涵盖目标的问题,如下图蓝色窗口所示。

Untitled

Untitled

Untitled

3.6 Intersection Over Union(IOU)

交并比,IoU,即交集与并集之比,可以用来评价目标检测区域的准确性。

Untitled

3.7 Non-max Suppression(NMS)

Untitled

Untitled

3.8 Anchor Boxes

一个网格检测多个目标:

Untitled

Untitled

3.9 YOLO Algorithm

这一节主要介绍YOLO算法的流程,算是对前几节内容的回顾。网络结构如下图所示,包含了两个Anchor Boxes。

Untitled

3.10 Region Proposals

Untitled

Untitled