1. 目标定位

从简单的检测有没有车到给车画上框,实际增加了四个参数bx,by,bh,bw,为框左上角的点和长宽:

deeplearning.ai 笔记 Specialization 4 week 3 目标检测

deeplearning.ai 笔记 Specialization 4 week 3 目标检测

损失函数可以用八个值得平方差,也可以根据不同的选择不同的方式:

c1到c3使用softmax并输出一个,边界坐标用平方误差,Pc用逻辑回归,等等

deeplearning.ai 笔记 Specialization 4 week 3 目标检测

2. 特征点检测

汽车、人脸、动作的特征点

deeplearning.ai 笔记 Specialization 4 week 3 目标检测

3. 目标检测

滑动窗口:

缺点:对于卷积来说太慢了(已解决),而且除非采用小粒度的窗口,要不然描述不准确。

deeplearning.ai 笔记 Specialization 4 week 3 目标检测

deeplearning.ai 笔记 Specialization 4 week 3 目标检测

4. 卷积的滑动窗口实现

解决了重复卷积,一次性预测所有的框,但是精确还不够(下一节讲)

deeplearning.ai 笔记 Specialization 4 week 3 目标检测

deeplearning.ai 笔记 Specialization 4 week 3 目标检测

deeplearning.ai 笔记 Specialization 4 week 3 目标检测

5. bounding box预测

YOLO(you only look once):

刚才的方法不能很好地解决准确性问题

deeplearning.ai 笔记 Specialization 4 week 3 目标检测

蓝色的是按照4中的方法画的方框,可以看出和实际所在(红色)差距比较大。

YOLO:每个格子输出一个y,如果有目标会是绿色和黄色的样子,没有会是蓝色的样子,扫描后可以得到3x3x8的输出

怎么确定物体在那个格子里:中心点在哪个格子就算是在那个格子里

优点:卷积实现,可以达到实时识别

deeplearning.ai 笔记 Specialization 4 week 3 目标检测

bx,by,bw,bh怎么确定:中心点在方框中的位置(方框左上角(0,0), 右下角(1,1))

deeplearning.ai 笔记 Specialization 4 week 3 目标检测

6. 交并比(IoU)

如何判断检测算法运行良好:计算两个边界框交集和并集之比

deeplearning.ai 笔记 Specialization 4 week 3 目标检测

7. 非最大抑制

有时候算法会对一个对象检测多次,这时候就可以用非最大抑制来使每个对象之被检测一次。

只输出最大比的输出,其他近似的输出被抑制

很多格子都认为自己有车:

deeplearning.ai 笔记 Specialization 4 week 3 目标检测

找到最大的,抑制其他的:

deeplearning.ai 笔记 Specialization 4 week 3 目标检测

以只检测有没有车为例:

Pc:格子里有车的概率

抛弃所有Pc<0.6的,在剩下所有里选出Pc最大的,抑制其他IoU大于0.5的

deeplearning.ai 笔记 Specialization 4 week 3 目标检测

8. Anchor box

每个格子如何检测出多个物体?

两个物体(人和汽车)的中心点落在了同一个格子里:行人更像是竖直的,而汽车更偏向如水平,所以有了两个anchor box

deeplearning.ai 笔记 Specialization 4 week 3 目标检测

找出物体的bx,by,bw,bh后,和两个anchor box算IoU,较大的是较合适的

deeplearning.ai 笔记 Specialization 4 week 3 目标检测

缺点:如果有多于anchor box数量的物体出现在同一个格子中,没办法检测;如果两个anchor box的形状很像,也没有办法,需要其他手段

deeplearning.ai 笔记 Specialization 4 week 3 目标检测

更好的办法(自动选择anchor box)YOLO里提到:k-means将两类形状聚类,用他来选择最具代表性的anchor box

9. 综合

deeplearning.ai 笔记 Specialization 4 week 3 目标检测

deeplearning.ai 笔记 Specialization 4 week 3 目标检测

deeplearning.ai 笔记 Specialization 4 week 3 目标检测

deeplearning.ai 笔记 Specialization 4 week 3 目标检测

10.RPN网络(region proposal 候选区域)

滑动窗格:使用训练好的分类器在所有窗格跑一边

卷积算法:在图中总有什么都没有的区域,在这些区域中浪费时间

带区域的卷积网络(R-CNN):尝试选出一些区域,使这些区域运行卷积是有意义的。

不再对整个图片跑窗格,而是选定特定区域(图像分割算法),在其上跑CNN,输出标签和bounding box

 

deeplearning.ai 笔记 Specialization 4 week 3 目标检测

deeplearning.ai 笔记 Specialization 4 week 3 目标检测

R-CNN:太慢。对每个区域跑一遍

fast R-CNN:慢。改进:用卷积实现了滑动窗格提高了速度,但候选区域的速度依旧很慢

faster R-CNN:大部分比YOLO慢(毕竟要分两步)。改进:使用卷积获得候选区域

相关文章: