轉自:(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系列是一樣的