<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          關(guān)于目標(biāo)檢測(cè)你必須知道的anchor

          共 3024字,需瀏覽 7分鐘

           ·

          2021-05-17 22:35

          編者薦語(yǔ)
          也許你正在學(xué)習(xí)計(jì)算機(jī)視覺的路上,并且已經(jīng)深入研究了圖像分類和滑動(dòng)窗口檢測(cè)器。但在掌握了這些概念,了解最新技術(shù)(SOTA)目標(biāo)檢測(cè),往往會(huì)變得令人望而生畏和晦澀難懂,尤其是在理解Anchor時(shí)。
          轉(zhuǎn)載自 | 人工智能與算法學(xué)習(xí)

          毋庸諱言,深入大量流行的YOLO、SSD、R-CNN、Fast RCNN、Faster RCNN、Mask RCNN和RetinaNet,了解Anchor是一項(xiàng)艱巨的工作,尤其是在您對(duì)實(shí)際代碼了解有限時(shí)。

          如果我告訴你,你可以利用今天深入學(xué)習(xí)目標(biāo)檢測(cè)背后的Anchor呢?本文目標(biāo)是幫助讀者梳理Anchor的以下內(nèi)容:

          • What:anchor是什么?

          • Where:如何以及在何處對(duì)圖像生成anchor以用于目標(biāo)檢測(cè)訓(xùn)練?

          • When:何時(shí)可以生成anchor?

          • Why:為什么要學(xué)習(xí)偏移而不是實(shí)際值?

          • How:如何在訓(xùn)練過程中修正選定的anchor以實(shí)現(xiàn)訓(xùn)練對(duì)象檢測(cè)模型?



          1、What:anchor是什么?


          anchor是指預(yù)定義的框集合,其寬度和高度與數(shù)據(jù)集中對(duì)象的寬度和高度相匹配。預(yù)置的anchor包含在數(shù)據(jù)集中存在的對(duì)象大小的組合,這自然包括數(shù)據(jù)中存在的不同長(zhǎng)寬比和比例。通常在圖像中的每一個(gè)位置預(yù)置4-10個(gè)anchor。



          訓(xùn)練目標(biāo)檢測(cè)網(wǎng)絡(luò)的典型任務(wù)包括:生成anchor,搜索潛在anchor,將生成的anchor與可能的ground truth配對(duì),將其余anchor分配給背景類別,然后進(jìn)行sampling和訓(xùn)練。

          而推理過程就是對(duì)anchor的分類和回歸,score大于閾值的anchor進(jìn)一步做回歸,小于閾值的作為背景舍棄,這樣就得到了目標(biāo)檢測(cè)的結(jié)果。



          2、Where:如何以及在何處對(duì)圖像生成anchor,以用于目標(biāo)檢測(cè)訓(xùn)練



          本質(zhì)上,生成anchor是為了確定一組合適的框,這些框可以適合數(shù)據(jù)中的大多數(shù)對(duì)象,將假設(shè)的、均勻分布的框放置在圖像上,并創(chuàng)建一個(gè)規(guī)則,將卷積特征映射的輸出映射到圖像中的每個(gè)位置。

          為了理解錨定框是如何被生成的,假設(shè)有一個(gè)包含小目標(biāo)的256px x* 256px圖像,其中大多數(shù)目標(biāo)尺度位于40px * 40px或80px * x 40px之間。下面從兩個(gè)方面考量anchor:

          a、aspect ratios(橫縱比):因?yàn)榧僭O(shè)的ground turth寬高比在1:1和2:1之間。因此,應(yīng)至少考慮兩個(gè)縱橫比(1:1和2:1),用來生成此示例數(shù)據(jù)集的anchor。這些對(duì)象的比例是指對(duì)象的長(zhǎng)度或?qū)挾日计浒瑘D像的總長(zhǎng)度或?qū)挾鹊谋壤@纾僭O(shè)一個(gè)圖像的寬度=256px=1個(gè)單位,那么一個(gè)40px寬的對(duì)象占據(jù)40px/256px=0.15625個(gè)單位的寬度,即這個(gè)對(duì)象占據(jù)整個(gè)圖像寬度的15.62%。

          b、scales (尺度):為了選擇一組最能代表數(shù)據(jù)的尺度,我們可以考慮具有最極端值的對(duì)象側(cè)度量,即數(shù)據(jù)集中所有對(duì)象的所有寬度和高度之間的最小值和最大值。如果我們的示例數(shù)據(jù)集中最大和最小的比例是0.15625和0.3125,并且我們要為錨箱方案選擇三個(gè)比例,那么三個(gè)潛在的比例可能是0.15625、0.3125和0.234375(前面兩個(gè)尺度的均值)。

          如果使用上面提到的兩個(gè)縱橫比(1:1和2:1)和這三個(gè)比例(0.15625、0.234375和0.3125)來建議此示例數(shù)據(jù)集的錨定框,那么我們將總共有六個(gè)錨定框來建議輸入圖像中的任何一個(gè)位置。

          目標(biāo)檢測(cè)器采用這樣的規(guī)則來生成anchor,假設(shè)檢測(cè)器網(wǎng)絡(luò)輸入的特征圖是4-channel 8*8,然后可以在每個(gè)單元格中心上生成6個(gè)不同aspect ratios和scales的anchor,那么總共384個(gè),這樣就盡可能的涵蓋所有可能性。


          3、When:什么時(shí)候在圖像上生成anchor?



          檢測(cè)器不預(yù)測(cè)anchor,而是為每個(gè)anchor預(yù)測(cè)一組值:a、anchor坐標(biāo)偏移(offset),b、每個(gè)類別的置信度得分。

          這意味著在每次圖像推理過程中都將始終使用相同的anchor,并且將使用網(wǎng)絡(luò)預(yù)測(cè)的偏移(offset)來更正該anchor。

          知道了這一點(diǎn),就很容易理解ancor需要初始化,并將此數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)在內(nèi)存中,以供實(shí)際使用時(shí),如:在訓(xùn)練中與ground ruth匹配,在推斷時(shí)將預(yù)測(cè)的偏移量應(yīng)用于anchor。在這些點(diǎn)上,anchor的實(shí)際生成其實(shí)都已經(jīng)生成了。


          4、Why:為什么要學(xué)習(xí)偏移而不是實(shí)際值?



          理論上,如果CNN接收同一類型的物體兩次,那么不管CNN在圖像中的哪個(gè)位置接收到物體,CNN都應(yīng)該輸出大致相同的值兩次。

          這意味著,如果一幅圖像包含兩輛車,而輸出結(jié)果是絕對(duì)坐標(biāo),那么網(wǎng)絡(luò)將預(yù)測(cè)兩輛車大致相同的坐標(biāo)。

          而學(xué)習(xí)anchor偏移,允許這兩輛車具有相似偏移輸出,但偏移應(yīng)用于錨定,錨定可映射到輸入圖像中的不同位置。這是在anchor回歸過程中學(xué)習(xí)錨定盒偏移的主要原因。


          5、How:如何在訓(xùn)練過程中修正選定的anchor以實(shí)現(xiàn)訓(xùn)練對(duì)象檢測(cè)模型?



          (1)回歸任務(wù):訓(xùn)練過程中,網(wǎng)絡(luò)回歸任務(wù)學(xué)習(xí)的target并不是feature map上每個(gè)位置的所有anchor的offset,而是與ground truth匹配的anchor的實(shí)際偏移,背景框的anchor偏移保持為零。

          這意味著,一旦anchor內(nèi)的像素空間被完全視為背景,則anchor不需要調(diào)整坐標(biāo)。換言之,由于分配給背景類別的anchor根本不應(yīng)該移動(dòng)或更正,因此沒有要預(yù)測(cè)的偏移量。

          (2)分類任務(wù):分類損失通常是使用在總背景框的子集來處理類不平衡。還記得在我們的示例中,每個(gè)位置有6個(gè)框,總共有384個(gè)建議嗎?好吧,大多數(shù)都是背景框,這就造成了一個(gè)嚴(yán)重的階級(jí)不平衡。



          解決這類不平衡問題的一個(gè)流行的解決方案是所謂的 hard negative mining ——根據(jù)預(yù)先確定的比率(通常為1:3;foreground:background)選擇一些高權(quán)重背景框。 在分類損失中處理類不平衡的另一個(gè)流行方法是降低易分類實(shí)例的權(quán)重?fù)p失貢獻(xiàn),這就是RetinaNet的focal loss情況。

          (3)推理過程:為了獲得最終的一組目標(biāo)檢測(cè),網(wǎng)絡(luò)的預(yù)測(cè)偏移量被應(yīng)用到相應(yīng)的anchor中,可能會(huì)有成百上千個(gè)候選框,但最終,測(cè)器會(huì)忽略所有被預(yù)測(cè)為背景的盒子,保留通過某些標(biāo)準(zhǔn)的前景檢測(cè)結(jié)果,并應(yīng)用NMS糾正同一對(duì)象的重疊預(yù)測(cè)。


          如本文開頭所述,了解SOTA的目標(biāo)檢測(cè)算法,通常會(huì)變得令人望而生畏和晦澀難懂,但一旦您了解anchor的作用,目標(biāo)檢測(cè)就有了全新的理解。


          參考文獻(xiàn)

          https://www.wovenware.com/blog/2020/06/anchor-boxes-in-object-detection-when-where-and-how-to-propose-them-for-deep-learning-apps/


          ?------------------------------------------------


          雙一流高校研究生團(tuán)隊(duì)創(chuàng)建 ↓

          專注于目標(biāo)檢測(cè)原創(chuàng)并分享相關(guān)知識(shí) ?


          整理不易,點(diǎn)贊三連!

          瀏覽 102
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲无码专区日韩 | 91成人社区无码 | 苍井空一级婬片A片免费观看 | 黄色视频网站在线免费看 | 91久久精品国自产合 |