转自:(1)https://blog.csdn.net/u010397980/article/details/85058630
(2)https://blog.csdn.net/qq_34199326/article/details/84109828
图为预测boundingbox的公式。
注意:我们网络实际上的学习目标是tx,ty,tw,th,但是可以求得真正需要的bx,by,bw,bh!
1.bx,by,bw,bh
预测边框时cx, cy为相对于左上角的位置,每个小格的长度为1,图中此时cx=1,cy=1;
tx,ty是预测的坐标偏移值(中心点坐标);
tw,th是尺度缩放,分别经过sigmoid,输出0-1之间的偏移量,与cx, cy相加后得到bounding box中心点的位置。
Pw、Ph是预设的anchor box映射到feature map中的宽和高,是手动设置的anchor宽和高!
tw, th分别与pw, ph作用后得到bounding box的宽和高(bw和bh)。
这样就能得到预测boudingbox的x,y,w,h了,我们的目的是让预测的x,y,w,h和真实的groundtruth接近,于是我们就可以写loss了。
2.tx,ty,tw,th
(1)在faster-rcnn系列文章中,对于训练样本,需要用到ground truth的真实框来求这4个坐标:
Px,Py是预设的anchor box在feature map上的中心点坐标;
Pw、Ph是预设的anchor box的在feature map上的宽和高;
Gx、Gy、Gw、Gh是ground truth在这个feature map的4个坐标;
(2)在yolov3中
在yolov3里,是Gx,Gy减去grid cell左上角坐标Cx,Cy。x,y坐标并没有针对anchon box求偏移量,所以并不需要除以Pw,Ph。
tw和th的公式yolov3和faster-rcnn系列是一样的