近期在学习目标检测,此前对于Bounding Box一直心存疑惑:
a.Bounding Box是怎么被神经网络预测出来的?
b.卷积神经网络除了能够对图像分类,还可以预测出图像中物体的边界吗?
c.如果可以预测边界,为什么这个边界不是物体的轮廓,而是一个矩形呢?
带着这些问题,阅读了R-CNN[1],R-CNN的步骤如下:
1.训练阶段:
1.1 预训练AlexNet
使用ILSVRC-2012预训练AlexNet,将1000路分类层改为21路分类层,再用PASCAL-VOC2007(算上背景是21类)进行SGD微调训练,得到微调后的网络模型,记为XNet(XNet是为了便于大家理解上下文才这么写的,原文中没有这个名词);
1.2 微调
训练集中的每张图片已经含有人工标记的ground-truth(GD),对每张图片,使用Selective search(SS)[2]方法提取出2000个region proposal(RP),将每个RP的边框向四周扩张16个像素后,resize为227*227,得到新RP,将含有待分类物体且与GD之间的IOU大于0.5的新RP作为可分类数据、IOU小于0.5的作为第21类即背景数据,使用SGD方法,继续训练XNet神经网络;
1.3 针对每类物体训练一个SVM:
将每类图片的GD作为正样本,该图片所有与GD之间的IOU小于0.3的RP以及与该图片不同类别的所有其他图片的GD作为负样本ÿ