日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人工智能 > 目标检测 >内容正文

目标检测

找不到匹配的key exchange算法_目标检测--匹配策略

發(fā)布時(shí)間:2024/9/19 目标检测 100 豆豆
生活随笔 收集整理的這篇文章主要介紹了 找不到匹配的key exchange算法_目标检测--匹配策略 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

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

匹配策略:

  • 將每張臉匹配到那些與它的iou大于某個(gè)閾值的anchor,對于outer face不進(jìn)行補(bǔ)償。
  • 在訓(xùn)練的每次前向傳播之后,每個(gè)anchor通過回歸得到的坐標(biāo)計(jì)算出回歸框,我們將這些回歸框記作 ,異常臉outer face記作 。最后,對于每個(gè)outer face,我們計(jì)算它與的IOU值,然后對每張outer face補(bǔ)償N個(gè)unmatched anchor。記所有的IOUs為 , 這些補(bǔ)償?shù)腘個(gè)anchor通過下面方式選擇:
  • (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)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。