找不到匹配的key exchange算法_目标检测--匹配策略
CVPR2020中的文章ATSS揭露到anchor-based和anchor-free的目標(biāo)檢測算法之間的效果差異原因是由于正負(fù)樣本的選擇造成的。而在目標(biāo)檢測算法中正負(fù)樣本的選擇是由gt與anchor之間的匹配策略決定的。因此我們研究一下目前現(xiàn)有的匹配策略,并根據(jù)現(xiàn)狀給出改進(jìn)思路。
faster rcnn或者retinanet或者ssd算法
- 采用的分配策略是max iou assigner,即:對于每個(gè)gt,將高于正樣本閾值的并且是max iou位置的anchor設(shè)置為正樣本;將低于負(fù)樣本閾值的anchor設(shè)置為負(fù)樣本,考慮到有些gt和anchor的iou不高,故還設(shè)置了最小正樣本閾值,當(dāng)某個(gè)gt和anchor的max iou大于最小正樣本閾值時(shí)候,則依然將該anchor設(shè)置為正樣本。
yolo系列
- 是對于每個(gè)gt,將max iou位置的anchor設(shè)置為正樣本,不管閾值多大(先要確定哪一預(yù)測層負(fù)責(zé)預(yù)測),這種操作對anchor設(shè)置要求較高,因?yàn)槿绻鸻nchor設(shè)置不合理,就只能用大量低質(zhì)量anchor負(fù)責(zé)回歸了。對于正樣本附近的anchor預(yù)測值,其可能和gt的iou也很高,故需要將這些位置的anchor預(yù)測值設(shè)置為忽略樣本,默認(rèn)閾值是0.7。可能濾除一些正樣本。
fcos
- 第一步也是和yolo一樣,要確定某個(gè)Gt在第幾個(gè)層負(fù)責(zé)預(yù)測(采用minsize 和 max size),第二步是需要確定在每個(gè)輸出層上面,哪些空間位置是正樣本區(qū)域,哪些是負(fù)樣本區(qū)域。原版的fcos的正負(fù)樣本策略非常簡單粗暴:在bbox區(qū)域內(nèi)的都是正樣本,其余地方都是負(fù)樣本,而沒有忽略樣本區(qū)域。可想而知這種做法不友好,因?yàn)闃?biāo)注本身就存在大量噪聲,如果bbox全部區(qū)域都作為正樣本,那么bbox邊沿的位置作為正樣本負(fù)責(zé)預(yù)測是難以得到好的效果的,顯然是不太靠譜的(在文本檢測領(lǐng)域,都會(huì)采用shrink的做法來得到正樣本區(qū)域),所以后面又提出了center sampling的做法來確定正負(fù)樣本,具體是:引入了center_sample_radius(基于當(dāng)前stride參數(shù))的參數(shù)用于確定在半徑范圍內(nèi)的樣本都屬于正樣本區(qū)域,其余區(qū)域作為負(fù)樣本,依然沒有定義忽略樣本。
Guided Anchoring
論文思想是通過圖像特征來指導(dǎo) anchor 的生成。通過預(yù)測 anchor 的位置和形狀,來生成稀疏而且形狀任意的 anchor,并且設(shè)計(jì)了 Feature Adaption 模塊來修正特征圖使之與 anchor 形狀更加匹配,在使用 ResNet-50-FPN 作為 backbone 的情況下,Guided Anchoring 將 RPN 的 recall(AR@1000) 提高了 9.1 個(gè)點(diǎn),將其用于不同的物體檢測器上,可以提高 mAP 1.2 到 2.7 個(gè)點(diǎn)不等。
論文實(shí)現(xiàn)方式如下圖:
匹配策略:將整個(gè) feature map 的區(qū)域分為物體中心區(qū)域,外圍區(qū)域和忽略區(qū)域,大概思路就是將 ground truth 框的中心一小塊對應(yīng)在 feature map 上的區(qū)域標(biāo)為物體中心區(qū)域,在訓(xùn)練的時(shí)候作為正樣本,其余區(qū)域按照離中心的距離標(biāo)為忽略或者負(fù)樣本,具體設(shè)計(jì)在 paper 里講得比較清楚。通過位置預(yù)測,我們可以篩選出一小部分區(qū)域作為 anchor 的候選中心點(diǎn)位置,使得 anchor 數(shù)量大大降低。在 inference 的時(shí)候,預(yù)測完位置之后,我們可以采用 masked conv 替代普通的 conv,只在有 anchor 的地方進(jìn)行計(jì)算,可以進(jìn)行加速。
ATSS
1)對于每個(gè)GT,找到候選的正anchor集合:
在每個(gè)金字塔層級(jí)(共L層)上,選擇topk個(gè)離GT中心距離最近的anchor boxes作為候選anchor, 那么每個(gè)GT就會(huì)有k*L個(gè)候選正anchor。
(2)計(jì)算自適應(yīng)閾值:
計(jì)算候選anchor與GT之間的IoU Dg,計(jì)算均值
和標(biāo)準(zhǔn)差 ,其閾值為: 。(3)確定最終的正anchor:
選擇
,且中心點(diǎn)在GT邊框內(nèi)部的anchor作為最終的正樣本,如果一個(gè)anchor box被分配給了多個(gè)GT,選擇IoU最高的那個(gè)GT。ATSS的意義:
- 根據(jù)目標(biāo)統(tǒng)計(jì)特征,自動(dòng)調(diào)整正負(fù)樣本選取方式。如圖(a),當(dāng) 越大,表示候選樣本質(zhì)量很高,可以選取一個(gè)高的IoU閾值。如圖(b), 越小,表示絕大多數(shù)的候選樣本較差,應(yīng)當(dāng)選取一個(gè)較低的閾值來確保GT可以匹配到anchor。如圖3(a), 較大時(shí),往往意味著有一個(gè)FPN層出現(xiàn)了較高的IOU,說明該層非常適合這個(gè)物體的預(yù)測,因此 和 加起來得到一個(gè)較高的閾值,我們只從這一層選取正樣本。如圖3(b), 較小意味著存在多個(gè)適合該目標(biāo)的金字塔層,因此 和 加起來得到一個(gè)較低的閾值,會(huì)在這些層級(jí)上選取正樣本。
- 每個(gè)目標(biāo)匹配anchor數(shù)量相對均勻。
HAMBox
匹配策略:
(a)IOU要大于閾值T(在線正anchor匹配閾值)
(b)對(a)中得到的anchor進(jìn)行排序,選擇IOU最大的top-K 個(gè)anchor做補(bǔ)償。K是一個(gè)超參數(shù),表示每個(gè)outer face能matched的最多anchor數(shù)目。使用M表示在步驟1中已經(jīng)匹配的anchor數(shù)目。如果N > K-M,則選取top(K-M)個(gè)unmatched anchor來補(bǔ)償。
T和K是通過實(shí)驗(yàn)選擇的超參數(shù)。具體算法細(xì)節(jié)見下 Algorithm 1,該算法在訓(xùn)練的每次前向傳播后執(zhí)行一次.
Algorithm1具體見下:
/* 輸入:B,X,T,K,D,L,R,A B 是一組回歸后的框,格式為(x0, y0, x1, y1) X 是一組ground truth, 格式為(x0, y0, x1, y1) T 是上述算法中在線anchor挖掘中定義的閾值 K 是每個(gè)outer face能匹配到的最多anchor數(shù)目 D 是一個(gè)字典,key是ground_truth, value是HAMBox第一步中該gt能match到的anchor數(shù),即matched_anchor的數(shù)目 L 是一個(gè)字典,key是anchor index, value是該anchor在HAMBox中最終分配的label R 是一個(gè)字典,key是anchor index, value是該anchor經(jīng)過普通anchor matching后的編碼后的坐標(biāo) A 是一個(gè)字典,key是anchor index, value是該anchor的坐標(biāo),格式為(x0, y0, x1, y1)輸出:經(jīng)過HAMBox后的R和L */ // 偽代碼見下 for x_i in x doif D(x_i) >= K thencontinueend ifcompensatedNumber = K - D(x_i)onlineIoU = IoU(x_i, B),AnchorIdx sortedOnlineIoU = sorted(onlineIoU, key = IoU, reverse = True)for IoU, AnchorIdx in sortedOnlineIoU doif(L(AnchorIdx) = 1) thencontinueendifif(IoU < T) thencontinueendifcompensatedNumber -= 1L(AnchorIdx) = 1R(AnchorIdx) = encoded(A(AnchorIdx), x_i)if compensatedNumber = 0 then breakendifendfor endfor return R, L總結(jié)
以上是生活随笔為你收集整理的找不到匹配的key exchange算法_目标检测--匹配策略的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Redmi K70或已开始量产 王腾发文
- 下一篇: 多选框位置调整_URPC 2019 水下