深度学习笔记(32) 目标定位


1. 定位分类

图片分类任务已经熟悉了,就是算法遍历图片,判断其中的对象是不是汽车
定位分类问题,这意味着不仅要用算法判断图片中是不是一辆汽车
还要在图片中标记出它的位置
在这里插入图片描述
如果正在构建汽车自动驾驶系统,那么对象可能包括以下几类:行人、汽车、摩托车和背景
这意味着图片中没有行人、摩托车和背景,输出结果会是汽车


2. 定位边框

如果还想定位图片中汽车的位置
那么可以让神经网络多输出几个单元,输出一个边界框
具体说就是让神经网络再多输出4个数字,标记为bx,by,bh和bw
这四个数字是被检测对象的边界框的参数化表示
在这里插入图片描述
图片左上角的坐标为(0,0),右下角标记为(1,1)
要确定边界框的具体位置,需要指定红色方框的中心点
这个点表示为(bx,by),边界框的高度为bh,宽度为bw

因此训练集不仅包含神经网络要预测的对象分类标签
还要包含表示边界框的这四个数字
接着采用监督学习算法,输出一个分类标签,还有四个参数值,从而给出检测对象的边框位置

此例中,bx的理想值是0.5,表示汽车位于图片水平方向的中间位置
by大约是0.7,表示汽车位于距离图片底部3/10的位置
bh约为0.3,因为红色方框的高度是图片高度的0.3倍
bw约为0.4,红色方框的宽度是图片宽度的0.4倍
为监督学习任务定义目标标签 y,这有四个分类


3. 分类标签

神经网络输出的是这四个数字和一个分类标签或分类标签的概率
目标标签y的定义如下:
y=[pcbxbybhbwc1c2c3] y= \left[ \begin{matrix} p_c \\b_x\\b_y\\b_h\\b_w\\c_1\\c_2\\c_3 \end{matrix} \right]
如果对象属于前三类(行人、汽车、摩托车),则pc=1
如果是背景,则图片中没有要检测的对象,则pc=0
可以这样理解pc,它表示被检测对象属于某一分类的概率,背景分类除外

如果检测到对象,就输出被检测对象的边界框参数bx、by、bh和bw
最后,如果存在某个对象,那么pc=1
同时输出c1、c2和c3,表示该对象属于行人,汽车还是摩托车中的哪一类

鉴于所要处理的问题,假设图片中只含有一个对象
所以针对这个分类定位问题,图片最多只会出现其中一个对象

假如这是一张训练集图片,标记为x,即上图的汽车图片
而在y当中,第一个元素pc=1
因为图中有一辆车,bx、by、bh和bw会指明边界框的位置
所以标签训练集需要标签的边界框
在这里插入图片描述
图片中是一辆车,所以结果属于分类2,因为定位目标不是行人或摩托车,而是汽车
所以c1=0,c2=1,c3=0
并且c1、c2和c3中最多只有一个等于1

如果在背景图片的情况下
在这里插入图片描述
pc=0,y的其它参数将变得毫无意义
全部写成问号,表示“毫无意义”的参数


4. 损失函数

神经网络的损失函数,其参数为类别yy和网络输出y^\hat{y}
如果采用平方误差策略,则L(y^\hat{y},yy) = (y^\hat{y}1 - yy1)2 +(y^\hat{y}2 - yy2)^2 +⋯(y^\hat{y}8 - yy8)^2
损失值等于每个元素相应差值的平方和

图片中存在定位对象,y1=1,所以y1=pc,损失值就是不同元素的平方和
另一种情况是,y1=0,即pc=0,损失值是(y^\hat{y}1 - yy1)2
不用考虑其它元素,只需关注神经网络输出pc的准确度


参考:

《神经网络和深度学习》视频课程


相关推荐:

深度学习笔记(31) 迁移与增强
深度学习笔记(30) Inception网络
深度学习笔记(29) 1×1 卷积
深度学习笔记(28) 残差网络
深度学习笔记(27) 经典卷积网络


谢谢!

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: Age of Ai 设计师: meimeiellie
应支付0元
点击重新获取
扫码支付

支付成功即可阅读