这一节的内容是目标检测。
一、目标定位与特征点检测
二、目标检测
三、卷积的滑动窗口实现
四、Bounding Box预测
五、交并比、非极大值抑制与Anchor Boxes
六、YOLO算法
七、候选区域
一、目标定位与特征点检测
1、目标定位
1.1、图片检测问题:
(1)分类问题:判断图中是否为汽车
(2)目标定位:判断是否为汽车,并确定其具体位置
(3)目标检测:检测多种不同物体并定位
1.2、目标分类与定位
对于目标定位问题,卷积网络可能如下:
得到预测值y,其中bx,by代表汽车中点,bh,bw分别表示定位框的高和宽,以图片左上角为(0,0),右下角为(1,1),那么这四个参数数字均为位置或者长度所在图片的比例大小。
当pc=1时,表示图中存在物体
当pc=0时,表示图片中不存在物体,那么此时y的其他值为多少没有意义,不会参与损失函数的计算。
1.3、损失函数
(1)如果采用平方误差形式的损失函数:
此时,我们只需要关注神经网络对所有输出值的准确度,要求出8个参数产生的偏差。
此时,我们只需要关注神经网络对背景值的准确度,只需要求出pc的偏差,而其余七个参数没有意义。
(2)当然在实际应用中,我们可以采用如下方法:
对c1,c2,c3的softmax不使用对数似然损失函数来输出其中的一个值。通常的做法是对边界框坐标应用平方差或者类似方法,对pc应用逻辑回归函数,甚至采用平方预测误差也可以的。
2、特征点检测
由前面的目标定位问题,我们可以知道,神经网络可以通过输出图片上特征点的坐标(x,y),来实现对目标特征的识别和定位标记。
如对人脸识别的问题中,我们通过标定训练数据集中特征点的位置信息,来对人脸进行不同位置不同特征的定位和标记。AR的应用就是基于人脸表情识别来设计的,如脸部扭曲、增加头部饰件等。在人体姿态检测中,同样可以通过对人体不同的特征关键点的标注,来记录人体的姿态。
二、目标检测
目标检测,学习如何通过卷积网络进行对象检测,采用的是滑动窗口的目标检测算法。
2.1、训练模型: