博客專(zhuān)欄

        EEPW首頁(yè) > 博客 > 基礎(chǔ)知識(shí) | 目標(biāo)檢測(cè)中Anchor的認(rèn)識(shí)及理解

        基礎(chǔ)知識(shí) | 目標(biāo)檢測(cè)中Anchor的認(rèn)識(shí)及理解

        發(fā)布人:CV研究院 時(shí)間:2022-12-22 來(lái)源:工程師 發(fā)布文章

        1

         背景


        近期好多同學(xué)在私信讓我說(shuō)一些基礎(chǔ)性的知識(shí)。好多入門(mén)的同學(xué)在糾結(jié)Anchor的設(shè)置,而且部分同學(xué)私信,可不可以把這個(gè)基礎(chǔ)知識(shí)詳細(xì)說(shuō)一次,今天就單獨(dú)開(kāi)一次小課,一起來(lái)學(xué)習(xí)Faster R-CNN中的RPN及Anchor。

        圖片

        說(shuō)到RPN和Anchor,應(yīng)該立馬就能想到Faster R-CNN網(wǎng)絡(luò)框架,這個(gè)我平臺(tái)在之前就有詳細(xì)的介紹過(guò)。

        往期回顧





        ● 深度學(xué)習(xí)近期總結(jié)分析






        有興趣的可以點(diǎn)擊進(jìn)入看看,當(dāng)作復(fù)習(xí)一下。首先我先將幾類(lèi)經(jīng)典的目標(biāo)檢測(cè)網(wǎng)絡(luò)做一個(gè)對(duì)比,然后開(kāi)始說(shuō)說(shuō)今天要講的知識(shí)。

        最開(kāi)始出現(xiàn)的是R-CNN,如下圖:

        圖片

        從上圖可以看出其框架做了很多重復(fù)的計(jì)算,在第二步之后,如果有2k個(gè)proposals,那后面就要執(zhí)行2k邊,太低效。于是,出現(xiàn)了改進(jìn)的SSP-Net,如下圖:

        圖片

        SSP-Ne框架組合了Classification和Regression,做成單個(gè)網(wǎng)絡(luò),并且可以Een-to-End進(jìn)行訓(xùn)練,速度上提高許多。但是,SSP-Net還是基于Selective Search產(chǎn)生proposal,之后就出現(xiàn)了Fast R-CNN,其是融合了R-CNN和SPP-Net的創(chuàng)新,并且引入多任務(wù)損失函數(shù),使整個(gè)網(wǎng)絡(luò)的訓(xùn)練和測(cè)試變得十分方便。

        但是Region proposal的提取還是使用了Selective Search,目標(biāo)檢測(cè)時(shí)間大多消耗在這上面(大約region proposal需2~3s,而提特征分類(lèi)只需0.32s),這種是無(wú)法滿(mǎn)足實(shí)時(shí)應(yīng)用,而且并沒(méi)有實(shí)現(xiàn)真正意義上的端到端訓(xùn)練測(cè)試(因?yàn)閞egion proposal使用了Selective Search先提取處來(lái))。

        于是就有了直接使用CNN產(chǎn)生region proposal并對(duì)其分類(lèi),這就是Faster R-CNN框架,如下圖:

        圖片

        Faster R-CNN將proposals交給了CNN去生成,這樣Region Proposal Network(RPN)應(yīng)運(yùn)而生。


        2

         Faster RCNN



        仔細(xì)看看Faster R-CNN框架,其實(shí)還保留了Fast R-CNN的框架,其主要就是CNN+RPN。其中RPN主要就是負(fù)責(zé)生成proposals,然后與最后一層的feature map一起使用,用ROI Pooling生成固定長(zhǎng)度的feature vector。具體如下:

        圖片

        那接下來(lái)開(kāi)始好好的說(shuō)一下RPN和Anchor!下圖是我從網(wǎng)絡(luò)copy過(guò)來(lái)的,應(yīng)該更加能理解整體的流程及內(nèi)容。

        圖片

        在上圖中,紅色的3x3紅框是其中一個(gè)滑窗的操作過(guò)程,注意這里的Anchor是原圖像像素空間中的,而不是feature map上的。這樣的話(huà),就可以很好去知道Anchor的意思,而且Anchor對(duì)于RPN非常重要。

        現(xiàn)在,我們假設(shè)現(xiàn)在的feature map尺寸為W x H x C(13x13x256就是feature map的Width=13,Height=13和Channel=256),在feature map使用滑動(dòng)窗口的操作方式,當(dāng)前滑窗的中心在原像素空間的映射點(diǎn)就稱(chēng)為Anchor,并且以Anchor為中心去生成K(paper中default K=9,3個(gè)尺寸和3個(gè)縮放比例)個(gè)proposals。

        圖片

        在feature map上滑動(dòng)一次,得到一個(gè)小網(wǎng)絡(luò),該網(wǎng)絡(luò)輸入是3x3x256,經(jīng)過(guò)3x3x256x256的卷積,就可以得到1x1x256的低維特征向量。

        然后就得到上圖的兩個(gè)分支。

        • Classification:經(jīng)過(guò)1x1x256x18的卷積核,得到1x1x18的特征向量,分別代表9個(gè)proposals的Object的概率(是或不是);

        • Regression:經(jīng)過(guò)1x1x256x36的卷積核,得到1x1x36的特征向量,分別代表9個(gè)proposals的(長(zhǎng)寬及中心點(diǎn)坐標(biāo))。

        注意,上面只是一個(gè)小網(wǎng)絡(luò),也就是一個(gè)3x3滑窗的過(guò)程及結(jié)果,在網(wǎng)絡(luò)整體運(yùn)行的過(guò)程中,要將整個(gè)feature map都要滑動(dòng)一遍,最終就會(huì)得到兩個(gè)損失函數(shù):

        圖片

        其中就是Classification(Lcls)和Regression(Lreg)兩個(gè)損失。對(duì)于邊界框的回歸,其是采用以下4個(gè)坐標(biāo)的參數(shù)化:

        圖片

        綜上,通過(guò)滑窗和Anchor機(jī)制就可以找到固定比例、一定大小的proposals,這樣RPN就可以完美替代低效的Selective Search去產(chǎn)生proposals。

        圖片

        最終,在目標(biāo)檢測(cè)領(lǐng)域中,這個(gè)框架算是一個(gè)里程碑,值得大家學(xué)習(xí)與深入探索。最后的檢測(cè)結(jié)果也是不錯(cuò)的。

        *博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。

        高通濾波器相關(guān)文章:高通濾波器原理
        隔離器相關(guān)文章:隔離器原理


        關(guān)鍵詞: AI

        相關(guān)推薦

        技術(shù)專(zhuān)區(qū)

        關(guān)閉
        主站蜘蛛池模板: 临海市| 榆林市| 泽普县| 海伦市| 庄河市| 来宾市| 张掖市| 嘉鱼县| 彩票| 文登市| 醴陵市| 罗城| 彭泽县| 广州市| 登封市| 舞阳县| 平武县| 荥经县| 安义县| 星子县| 彩票| 聂拉木县| 灌阳县| 泗洪县| 大同市| 稻城县| 宜都市| 霸州市| 韶关市| 宜兰县| 苏尼特右旗| 潮州市| 手游| 淮安市| 咸阳市| 安西县| 兴隆县| 通河县| 广安市| 祁东县| 札达县|