密集目標檢測-Precise Detection in Densely Packed Scenes

  • 論文: https://arxiv.org/pdf/1904.00853v3.pdf
  • 代碼: https://github.com/eg4000/SKU110K_CVPR19
使用場景

densely packed scenes,圖片中包含很多物體,看起來相似甚至一樣,位置非常接近。如超市貨架,交通,城市景觀。

難點

位置非常接近的相似物體的bounding box預測不準,容易重疊
在這裏插入圖片描述

本文貢獻
  1. Soft-IoU layer, 增加估計物體和ground true的iou的層,輸出Soft-IoU scores
  2. EM-Merger unit, 轉化檢測結果和soft-iou socre到混合高斯模型, 這是解決overlappings
  3. SKU-110K 數據集
網絡結構
resnet50
FPN:3Upsample
BBox
objectness scores
Soft-IoU
EM-Merger unit
Soft-IoU layer

Testing時,soft-IoU輸出的是detection和未知的true box的IoU, Training時,對於每個predicted bbox, 取距離(中心距離?)最近的annotated box來算IoU。IoU[0,1]IoU \in [0,1], 用於判斷二者是否重合,該文用binary cross-entropy loss來學習它,將它和另外2個檢測head的loss相加得到總loss。(n是一個batch內的標註框數量?)
在這裏插入圖片描述
Objectness score最高的框,它和物體的邊界對的不一定是最準的,所以文章認爲Objectness score被訓練得,和bbox偏移多少遮擋多少無關, 需要Soft IoU可以作爲bbox的補充屬性。

EM-Merger unit for inference

EM-Merger的作用類似nms, 方法類似kmeans聚類。它有幾個步驟

  1. 將網絡輸出的bbox轉爲二維(圖片的橫縱維度)高斯分佈:bbox i的中心(xi,yi)(x_i,y_i)是高斯分佈的中心,[(hi/4)2,0;,0,(wi/4)2][(h_i/4)^2,0;,0,(w_i/4)^2]是協方差矩陣。一張圖片上的所有bbox就可以表示成一個混合高斯分佈,在這裏插入圖片描述
  2. 很多bbox是重疊的,同樣很多高斯分佈也是重疊的,問題就轉化成了如何用更少的高斯分佈組成的混合高斯分佈去表示原本的混合高斯分佈,且儘量相似。即原本有N個高斯分佈(N個BBox)組成混合分佈,目標是用K(K<<N)個新的高斯分佈組成新的混合分佈,且足夠相似, 那麼這K個高斯分佈再轉回BBox, 就是最終的predictions. 這裏選擇kl散度來描述二者的相似性(距離)在這裏插入圖片描述
  3. 本文選擇用EM算法來求這K個高斯分佈,類似kmeans聚類。通過不斷排除距離最近的一對高斯分佈,直到剩餘K個作爲初始的類簇中心。E步:爲N個分佈,都賦予距離最近的類簇。M步:將每個類簇的高斯分佈通過式(10)融合爲一個高斯分佈(我理解下面的π(i)\pi(i)表示分佈i所屬的類簇,π1(j)\pi^{-1}(j)表示類簇j包含的高斯分佈)。重複直到上面是式(8)的d(f,g)<110d(f,g)<1^{-10},文中說一般10次迭代可收斂.這裏K的取值像是用所有高斯分佈的輪廓(代碼裏是將混合高斯分佈的概率值填充到heatmap上,minmax歸一化到0-255範圍,過濾4以下的值爲0再用opencv求輪廓)的面積除以所有BBox面積的中位數。在這裏插入圖片描述
  4. 最後將收斂後的K個高斯分佈轉成BBox. 這個是過程是無監督的,不參與訓練。這部分是在CPU上做的,速度還挺慢,但效果是挺好的。
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章