RCNN中的bounding box regression详解

来源:互联网 发布:上帝不会掷骰子 知乎 编辑:程序博客网 时间:2024/06/05 15:37


1.jpg

2.jpg

3.jpg

4.jpg

5.jpg


6.jpg


总结下上面大神所陈述的内容:

1.关于 公式1~4是怎么来的,从原paper来看,作者是引入了scale-invariant translation 分别对于x和y,即对于xy坐标引入同一个scale,加上作者在他的另一篇论文Rich feature hierarchies for accurate object detection and semantic segmentation 中阐述的“ proposal region不能和ground truth相差太远”(两者iou>0.6)如果相差太远是无法得到boundingbox regression的,所以在公式1~2中相当于将dx和dy regularize 在一定的数值范围内,即dx = (Gx-Px)/Pw 这里Gx是近似groundtruth 的 predicted 值。

同理对于dw和dh,作者引入log-space translation, 也是将(Gw,Pw)这对差距规划入一个小的范围内,即 dw = log(Gw/Pw)。所以在最终的loss function中就相当于平均分配了xy 和wh的loss比例,不会因为wh的loss过大忽略了xy的loss,反之亦然。


2. 训练该regression 输入为((G, P)一组训练example) + (CNN pool5的feature 即 lossfunction中的 SITA(P), 为了得到 parameter w* 。 其中(G,P) pair用来求出 t* 。lossfunction 第一部分为数据loss 第二部分为正则化。

测试阶段 输入为CNN pool5提取出的feature SITA(P), 通过线性模型 w* 乘以 SITA(P)就得出 dx,dy,dw,dh,这四个值有了就有了新的 bounding box

原创粉丝点击