1)什么是目标定位
分类解决了这是什么的问题,比如下图,这是一辆车,;
定位问题则是要把车的位置标识出来,叫做定位分类问题;
检测问题后面会讲,检测问题就是在一幅图像中有多个对象时,应该如何检测并确定其位置。
分类和定位问题使用的图像一般只有一个对象,位于图像的中间,而检测所用的图像一般会有多个对象,甚至是多个不同分类的对象
2)如何在分类的基础上实现目标定位
如上图,假设一共有行人、汽车、摩托、背景四类,通过softmax输出预测,那么要同时完成定位问题,可以增加一个边界输出,边界由中心点坐标以及长款四个参数确定,分别为bx,by,bh,bw,也就是在softmax的输出中增加四个参数。
如涉及softmax输出为下图:
Pc标识是否为背景,1表示是其他对象,0表示是背景;
bx,by,bh,bw是定位边界的参数,一般设定图片左上角为原点(0, 0),右下角为(1, 1)。在模型训练时,bx、by、bh、bw都由人为确定其数值。例如上图中,可得bx=0.5,by=0.7,bh=0.3,bw=0.4;
c1,c2,c3表示是否输入行人、汽车、摩托类。
可以看出当Pc=1时其他参数才有意义,当Pc=0时,其他参数没有意义,所以若损失函数采用平方误差的形式,应当如下:
这里为了简化说明使用平方误差,实际中也可以对c1,c2,c3进行最大似然估计,最后只输出一个值,即对象从属的类,对边界参数通常采用平方误差的形式,对Pc采用逻辑回归损失函数,但直接使用
平方误差也是可以的。
除了使用矩形区域检测目标类别和位置外,我们还可以仅对目标的关键特征点坐标进行定位,这些关键点被称为landmarks。
例如人脸识别,可以对人脸部分特征点坐标进行定位检测,并标记出来,如下图所示:
该人脸检测模型共检测人脸上64处特征点,加上是否为face的标志位,输出label共有64x2+1=129个值。
如果有足够多的数据来输出这些特征,那么可以利用这些特征做很多有趣的事情,比如人物表情识别、判断人物姿态等
此方法发挥作用的关键是,设置的点的意义在所有图片中必须保持一致,也就是某个点代表某个特征,那么所有图像上这个点都必须代表这个特征,如点1代表右外眼角,点2代表右内眼角,那么所有的图片都必须按这个顺序标识。