頭條AI Lab
- 如何計算IoU,二叉樹逐行遍歷
- focal loss有什麼缺點
- batch norm有在什麼情況下效果不好
- 檢測中one-stage和two stage區別是什麼,爲什麼one-stage的方法精度底
- 如何判斷一個點是否在凸多邊形內
- mask rcnn的損失函數
yolov3
-
anchor如何計算?
採用標準的k-means(即用歐式距離來衡量差異),在box的尺寸比較大的時候其誤差也更大,而我們希望的是誤差和box的尺寸沒有太大關係。因爲框的大小不一樣,這樣大的定位框的誤差可能更大,小的定位框誤差會小,這樣不均衡,很難判斷聚類效果的好
在計算anchor boxes時我們將所有boxes中心點的x,y座標都置爲0 -
如何計算IoU
-
Loss function
置信度損失+分類損失(只包含物體)+(僅計算包含物體框的x,y,w,h的損失mse)
faster rcnn
參考https://github.com/matterport/Mask_RCNN/blob/master/mrcnn/model.py
- backbone :
resnet101提取特徵C2,C3,C4,C5
利用C2-C5構建FPN金字塔特徵P2,P3,P4,P5(上採樣後,相加,在卷積),P6(maxpooling P5) - rpn網絡(只預測是否是物體)
(rpn網絡類似yolo)
rpn的feature map是[P2, P3, P4, P5, P6]
輸入時【圖片,標籤】
輸出是【feature map對應點的每一類的可能性,物體的可能性,bbox的位置】
對輸出的概率排序,保存前景概率大的一部分,然後選取想對應的anchor,利用rpn的輸出迴歸值對anchor進行第一次修正。修正完利用極大抑制方法,刪除其中的一部分anchor。獲的最後的anchor。
rpn的loss
是是否是物體的log loss,是smooth L1 loss 是4個參數的vector
通過rpn網絡得到的anchor,選擇出來正負樣本,並計算出正樣本和真實框的差距,以及要預測的mask的值,這些都是在後面的網絡中計算損失函數需要的真實值。