https://zhuanlan.zhihu.com/p/26938549

RCNN实际包含两个子步骤,一是对上一步的输出向量进行分类(需要根据特征训练分类器);二是通过边界回归(bounding-box regression) 得到精确的目标区域,由于实际目标会产生多个子区域,旨在对完成分类的前景目标进行精确的定位与合并,避免多个检出。

fast rcnn中SoftmaxLoss代替了SVM,证明了softmax比SVM更好的效果,SmoothL1Loss取代Bouding box回归。将分类和边框回归进行合并(又一个开创性的思路),通过多任务Loss层进一步整合深度网络,统一了训练过程,从而提高了算法准确度。

 

http://caffecn.cn/?/question/160讲解bounding box regression过程

 

边框回归学习就是)这四个变换

 

rpn是在特征提取层最后一层加了一个卷积层(3x3),这个卷积层之后分别接一个reg-layer和cls-layer。cls-layer生成9个anchor为前景背景的概率,所以输出层是2*9 = 18维,reg-layer生成9个anchor中心锚点对应的proposal的坐标x,y和宽高w,h,所以输出层是4*9 = 36维。其实你可以看出这是从特征层,即cnn的特征直接生成reg和cls