YOLO-V3深度閱讀筆記

損失函數

  1. coordinate loss
  2. class predictions loss
    使用多標籤分類損失。(使用 binary cross-entropy loss)
  3. objectness loss

默認框和真實目標的匹配策略

  1. 與真實目標重疊度最大的默認框爲正樣本。
  2. 與真實目標重疊度大於閾值的默認框爲正樣本。(Faster RCNN中閾值爲0.7,YOLO-V3閾值爲0.5)。
  3. 每一個真實目標只會指定與一個默認框匹配,其餘的框只會有objectness loss(即是否存在物體的損失)

多尺度預測

  1. 在三種不同的尺度上進行預測。

評價指標

  1. 使用MAP0.5時,yolov3和其他方法差異不大。按照COCO那樣的標準,明顯的差異就出來了。作者認爲從肉眼觀察角度上講,0.5和0.3的重疊差異不大,反對COCO那種評價標準。

嘗試了其他策略,發現沒效果

  1. 採取普通的錨框預測機制,預測錨框相對於真實框中心位置的偏移量(以真實框的w和h,預測值爲w和h值的倍數),採取線性激活的方式。w = prediction[..., 2],預測的pred_w和pred_h,w和h的倍數,不過是取了對數後的。pred_boxes[..., 2] = torch.exp(w.data) * anchor_w pred_boxes[..., 3] = torch.exp(h.data) * anchor_h
  2. 採取線性激活的方式來預測x,y的偏移量,而不是邏輯迴歸激活函數。
  3. Focal loss沒效果,yolov3將目標存在得分預測和類別預測分開了。(正負樣本失衡會得到減輕)。
  4. 同Faster RCNN一樣,採取兩個閾值。

作者對COCO數據的認識

  1. MAP指標不恰當。PASCAL VOC數據將閾值設爲0.5,這也是爲了適應實際標註過程中存在不確定性這一情況。
    2.COCO數據更精確,還有語義分割的標籤。COCO的評價指標更強調框的準確性,降低了對分類準確性的重視。但作者認爲錯誤的分類比預測框存在很小的偏移更嚴重。
  2. MAP指標已經被玩壞了,因爲其唯一在意的是每一類的結果框排序。(如果某個物體有一個預測正確的框,即使這個物體還沒預測爲其他類別,而且重合度很高,最終在MAP指標上也不會造成影響)
    在這裏插入圖片描述
    上圖中,上下兩個檢測器預測結果視覺上看起來差別很大,很明顯上一個預測結果更好,但是在MAP指標上,兩個檢測器的效果是差不多的。
    作者認爲現有的MAP檢測指標與人們關心的內容差異很大,新的指標應該關注這些差異。

檢測任務人們關心的核心
重點:給定一張圖片和檢測器,檢測器在一張圖片中,找到物體並正確分類的能力如何?
建議:需要擺脫每一類的AP(per-class AP),做一個global average precision(擺脫類別的依賴),或者對每張圖片做一個AP,然後在整個數據集上做平均!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章