1 要解決的問題
基于anchor 的目標(biāo)檢測(cè)算法存在的弊端:
1:首先灶挟,需要大量的anchor boxes來保證與ground truth都充分重疊,但是最后真正作為正樣本的只是其中很少的一部分,這樣導(dǎo)致嚴(yán)重的正負(fù)樣本不均衡录择,也會(huì)極大降低訓(xùn)練速度。
2:其二绿映,anchor boxes 會(huì)相應(yīng)的引入大量的超參數(shù)丹泉,數(shù)量,長寬比帆精,大小等等较屿,這些參數(shù)的選擇是根據(jù)特定的檢測(cè)物體設(shè)定的,不具有普適性实幕,而且FPN中多尺度預(yù)測(cè)需要自己獨(dú)特的anchor boxes,這樣會(huì)使計(jì)算相當(dāng)?shù)膹?fù)雜吝镣。
2 怎么解決
anchor free,直接拋棄anchors,用物體的左上角點(diǎn)和右下角點(diǎn)完成物體定位。
首先通過Hourglass 網(wǎng)絡(luò)昆庇,然后是兩個(gè)角點(diǎn)預(yù)測(cè)模塊末贾,分別做左上角的corner pooling 和右下角的corner pooling 得到兩個(gè)heatmap ,Embeddings,Offsets。
3 corner pooling
具體操作十分簡(jiǎn)單整吆,看下圖一目了然拱撵,左上角點(diǎn)的corner pooling就是從右向左,從下到上一排一排的掃描feature map,當(dāng)前值大于等于現(xiàn)在掃描像素最大值時(shí)不變表蝙,小于最大值時(shí)將當(dāng)前像素值更新最大值拴测。
公式如下:
最后將tij +lij 的結(jié)果作為最后heatmap.
4 如何匹配檢測(cè)的角點(diǎn)
架構(gòu)圖中Embeddings專門用于匹配左上角點(diǎn)和右下角點(diǎn),如果一個(gè)左上角點(diǎn)的Embedding vector和右下角點(diǎn)的Embedding vector 距離最小府蛇,那么它們組成一個(gè)object box集索。
訓(xùn)練Embeddings方法如下:
etk 表示左上角點(diǎn)的Embedding vector ,ebk表示右下角點(diǎn)的Embedding vector汇跨。
ek是etk和ebk的平均值务荆。△值設(shè)置為1穷遂。Lpull 用于拉近同一個(gè)物體左上角點(diǎn)和右下角點(diǎn)Embeddings距離函匕,Lpush用于是不同物體的Embeddings 距離增大。