1 目标定位
这一周学习的主要内容是对象检测,它是计算机视觉领域一个新兴的应用方向,相比两年前,它的性能也越来越好,在构建对象检测之前,需要先了解一下对象定位。
对于图片分类任务大家都耳熟能详,算法通过遍历如下图片来判断其中是不是汽车。而对象定位不仅需要算法判断图片中是不是汽车,还要在图片中标记处它的位置,用边框或红色方框把车圈出来,这就是定位分类问题,在后面的章节我们还会分享如果同一幅图片中有多个目标时应该如何检测,比如,你正在做一个自动驾驶程序,程序需要检测出其它的车辆、行人、摩托车等等。这里我们研究的定位分类问题,通常只有一个较大的对象位于图片正中间位置。
对于图片分类问题,把图片输入到多层卷积神经网络,神经网络会输出一个特征向量并反馈给softmax单元来预测图片类型,如果你还想定位图片中对象的位置的话可以让神经网络多输出几个单元,具体来说就是多四个标识对象边界框位置的参数 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倍。
这里有pedestrain、car、motorcycle、background四个类,神经网络输出的是 bx,