吴恩达深度学习课程——卷积神经网络

三、目标检测


3. bounding box预测

YOLO算法(you only look once)

吴恩达深度学习课程——卷积神经网络

取对象的中点,将对象分配给包含对象中点的grid cell
划分得越细,对象分配到同一个格子的概率就小得多

好处:卷积实现,有很多共享计算步骤。运行速度快,可达到实时。

吴恩达深度学习课程——卷积神经网络

注意:宽高比可大于1

4. 交并比(intersection over union)

吴恩达深度学习课程——卷积神经网络

threshold人为设定,如果想更严格可增大阈值。

5. 非极大值抑制

吴恩达深度学习课程——卷积神经网络

吴恩达深度学习课程——卷积神经网络

吴恩达深度学习课程——卷积神经网络

只输出概率最大的分类结果,但抑制接近,但不是最大的其他预测结果。

如果有多类目标,独立进行三次非最大值抑制,对每个输出类别都做一次。

6. Anchor Box

让一个格子检测出多个对象

吴恩达深度学习课程——卷积神经网络

如果两个对象的中点都落入到同一个格子中,两个对象出现在同一个grid cell中,把预测结果和两个anchor box关联起来。

一般来说,可能用到更多anchor box,甚至5个或更多。

吴恩达深度学习课程——卷积神经网络

看哪个anchor box 和实际边界框的交并比更高

故而一个object不仅是被分配到一个grid cell,而是分配到一对(格子,anchor box)对——对象在目标标签中的编码方式。

吴恩达深度学习课程——卷积神经网络

算法处理不好的几种情况:
(1)如果只有两个anchor box,但再同一个grid cell有三个对象
(2)连个对象被分配到同一个grid cell,并且他们的anchor box形状一样

设立anxhor box的好处在于,让你的学习算法更有针对性,特别是数据集有高瘦矮胖的区分时。

人们一般手工指定anchor box的形状,覆盖到你想要检测的对象的各种形状。也可用ML算法如k-means,将两类对象形状聚类,来选择最具代表性的一组anchor box。

7. YOLO算法

吴恩达深度学习课程——卷积神经网络

吴恩达深度学习课程——卷积神经网络

吴恩达深度学习课程——卷积神经网络

8. RCNN

吴恩达深度学习课程——卷积神经网络

吴恩达深度学习课程——卷积神经网络