深度學習系列之YOLOv3 個人總結
阿新 • • 發佈:2019-01-10
前幾天YOLOv3問世了,朋友圈也是很多同學轉發,很興奮,當然我也是。所以,先是直接上手體驗了一下darknet53,今天把paper看了,做個總結。
1. BBox Prediction
與YOLOv2一樣,YOLOv3也是在feature map上對每個位置進行bbox預測。圖中,t為預測值,但是,注意這些值都是相對當前grid的相對值,分別是(tx,ty,tw,th)。最終的預測bbox為:bx,by,bw,bh,這是在image的bbox。
其實,上面的都是和YOLOv2一樣啦(除了YOLOv2輸出的t是5個),下面才是new version的亮點。
3個尺度的feature map
如圖,在每個detection前,尺度都不同(23x23,46x46,92x92)。這裡用到了上取樣。(可以提供更多的語義資訊和細粒度特徵)。
這裡的操作類似於FPN(feature pyramid network)。
在YOLOv3中,我們的anchor由5個變為9個,當然,也是由K均值產生的。每個尺度分配3個anchor。其中每個尺度下每個位置預測3個bbox(4個位置輸出+1個objectness+C個類別的分數)。所以每個位置輸出(1+4+C)*3個值,這也就是訓練時yolov3.cfg裡的filter的數量。這也就是每個尺度張量的深度。
2. 網路結構
53個卷積層,稱為darknet53,類似於ResNET,但速度完爆ResNET。
3. 一點問題
論文中提到YOLOv3在AP50和小目標上表現都不錯,但AP75表現就比較乏力。說明隨著IoU的升高,YOLOv3預測的bbox不能很好的與GT相重疊。