<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>

          特定場(chǎng)景下Yolo改進(jìn)算法:Poly-Yolo

          共 3715字,需瀏覽 8分鐘

           ·

          2020-08-15 03:13

          ? ?作者:深度眸

          編輯:晟? ?沚

          ? ? ? ??


          前 ?言


          ? ?

          論文名稱:Poly-YOLO: higher speed, more precise detection and instance segmentation for YOLOv3
          論文地址:https://arxiv.org/abs/2005.13243v2
          github:https://gitlab.com/irafm-ai/poly-yolo

          ????本文很有意思,實(shí)用性很強(qiáng),是本人比較推薦的論文。因?yàn)楦鞔笏惴ㄔu(píng)價(jià)性能都是在比賽數(shù)據(jù)上測(cè)試的,但是在實(shí)際項(xiàng)目數(shù)據(jù)上可能就不太好用了,主要原因是實(shí)際項(xiàng)目數(shù)據(jù)有自己的特點(diǎn),如果完全照搬,效果可能不那么好。本文所提出的改進(jìn)版本yolo就是在特定場(chǎng)景下所提出的改進(jìn)算法,分析問(wèn)題的思路非常好,值得學(xué)習(xí)。


          01


          ?yolov3存在的問(wèn)題

          (1) 標(biāo)簽被重寫(xiě)問(wèn)題

          ????標(biāo)簽重寫(xiě)是指由于yolo特有的網(wǎng)格負(fù)責(zé)預(yù)測(cè)bbox的特點(diǎn),可能會(huì)出現(xiàn)兩個(gè)物體分配給了同一個(gè)anchor,導(dǎo)致僅僅有一個(gè)物體被保留負(fù)責(zé)預(yù)測(cè),另一個(gè)物體被當(dāng)做背景忽略了。當(dāng)輸入分辨率越小,物體越密集,物體的wh大小非常接近時(shí)候,標(biāo)簽重寫(xiě)現(xiàn)象比較嚴(yán)重。如上圖所示,紅色表示被重寫(xiě)的bbox,可以看出27個(gè)物體有10個(gè)被重寫(xiě)了。

          ????具體來(lái)說(shuō),以416*416大小的圖像為例,在圖像分辨率隨著卷積下降到13*13的特征圖大小時(shí),這時(shí)候特征圖一個(gè)像素點(diǎn)的對(duì)應(yīng)是32*32大小的圖像patch。而YOLOV3在訓(xùn)練時(shí)候,如果出現(xiàn)相同兩個(gè)目標(biāo)的中心位于同一個(gè)cell,且分配給同一個(gè)anchor,那么前面一個(gè)目標(biāo)就會(huì)被后面目標(biāo)重寫(xiě),也就是說(shuō)兩個(gè)目標(biāo)由于中心距離太近以至于在特征圖上將采樣成為同一個(gè)像素點(diǎn)的時(shí)候,這時(shí)候其中有個(gè)目標(biāo)會(huì)被重寫(xiě)而無(wú)法進(jìn)行到訓(xùn)練當(dāng)中。

          ????這種現(xiàn)象在coco數(shù)據(jù)上不明顯的原因是bbox分布比較均勻,不同大小物體會(huì)分配到不同預(yù)測(cè)層,標(biāo)簽重寫(xiě)概率比較低。但是在很多實(shí)際應(yīng)用中,比如工業(yè)界的特定元件檢測(cè)時(shí)候,物體排布非常緊密,且大小幾乎一致,此時(shí)就可能會(huì)出現(xiàn)標(biāo)簽重寫(xiě)問(wèn)題了,作者論文指出在Cityscapes數(shù)據(jù)上該現(xiàn)象也比較明顯。

          (2) kmean計(jì)算anchor存在的問(wèn)題

          ??? yolo系列采用kmean算法聚類得到特定要求的9個(gè)anchor,并且以每三個(gè)為一組,用于大輸出圖(檢測(cè)小物體),中等輸出圖和小輸出圖層(檢測(cè)大物體)的默認(rèn)anchor。可以看出不同大小的物體會(huì)被這三組anchor分配到不同預(yù)測(cè)層進(jìn)行預(yù)測(cè)。

          ????但是這種kmean算法得出的結(jié)果是有問(wèn)題的,在實(shí)際項(xiàng)目中也發(fā)現(xiàn)了。前面說(shuō)過(guò)大部分特定場(chǎng)景的目標(biāo)檢測(cè)數(shù)據(jù)集,并不是和coco自然場(chǎng)景一樣,啥尺度都有,實(shí)際項(xiàng)目中大部分物體都是差不多大的,或者說(shuō)僅僅有特定的幾種尺度,此時(shí)采用kmean這一套流程就會(huì)出現(xiàn):幾乎一樣大的物體被強(qiáng)制分到不同層去預(yù)測(cè),這個(gè)訓(xùn)練方式對(duì)網(wǎng)絡(luò)來(lái)說(shuō)非常奇怪,因?yàn)槲矬w和物體之間wh可能就差了一點(diǎn)點(diǎn),居然強(qiáng)制分層預(yù)測(cè),這明顯不合理。本文作者生成的仿真數(shù)據(jù)其實(shí)也是這個(gè)特點(diǎn)。

          ????作者論文指出,kmean這種設(shè)置,僅僅在:情況下采用合理的。其中r是輸入圖片分辨率,例如416。該式子的意思是物體的大小分布是滿足邊界為0到r的均勻分布,也就是說(shuō)在416x416圖片上,各種大小尺度的bbox都會(huì)存在的情況下,kmean做法是合理的。但是可能大部分場(chǎng)景都是:即均值為0.5r,標(biāo)準(zhǔn)差為r的物體分布,如果按照默認(rèn)的kmean算法對(duì)anchor的計(jì)算策略,那么由于大部分物體都是中等尺寸物體,會(huì)出現(xiàn)其余兩個(gè)分支沒(méi)有得到很好訓(xùn)練,或者說(shuō)根本就沒(méi)有訓(xùn)練,浪費(fèi)網(wǎng)絡(luò)。

          (3) 仿真分析
          ????為了說(shuō)明上面問(wèn)題,作者假設(shè)兩個(gè)box:m1和m2;前者與放置在高速公路上的攝像頭的車牌檢測(cè)任務(wù)相連接,模擬全部是小物體檢測(cè)任務(wù),后者與放置在車門(mén)前的攝像頭的人檢測(cè)任務(wù)相連接,模擬全部是大物體檢測(cè)任務(wù)。對(duì)于這樣的任務(wù),我們可以獲得大約,因?yàn)檫@些牌將會(huì)覆蓋小的區(qū)域,而因?yàn)槿祟悓?huì)覆蓋大的區(qū)域。

          ????對(duì)于M1場(chǎng)景,基本都是小物體,采用kmean會(huì)強(qiáng)制區(qū)分不同大小物體分配到三個(gè)層預(yù)測(cè),那么就會(huì)出現(xiàn)小物體被分配到小輸出特征圖上面訓(xùn)練,那么首先標(biāo)簽重寫(xiě)問(wèn)題會(huì)出現(xiàn);并且小輸出特征圖檢測(cè)小物體是比較困難的,可能會(huì)丟失。
          ????對(duì)于M2場(chǎng)景,基本都是大物體,會(huì)出現(xiàn)大物體被分配到大輸出特征圖上面訓(xùn)練,那么會(huì)出現(xiàn)由于物體過(guò)大在淺層特征圖上檢測(cè)效果比較差,也就是常說(shuō)的語(yǔ)義信息不夠。

          ????不僅僅有上面存在的問(wèn)題,我們通常知道物體在哪個(gè)尺度檢測(cè),應(yīng)該要和網(wǎng)絡(luò)的輸出感受野相匹配才是最佳的,無(wú)數(shù)論文已經(jīng)驗(yàn)證了這個(gè)道理,例如s3fd等等。前面說(shuō)的大輸出特征圖檢測(cè)小物體,小輸出特征圖檢測(cè)大物體,也是基于感受野的原則來(lái)定義的。作者分析了yolov3三個(gè)輸出層的感受野大概是(85 × 85, 181 × 181, 365 × 365)。在物體大小都差不多情況下,強(qiáng)行采用kmean策略分配anchor,明顯就已經(jīng)不符合感受野的設(shè)定了,效果肯定不是最好的。

          ????作者支持yolov3中反應(yīng)的high APsmall,但是中等尺度和大輸出物體檢測(cè)性能不佳,可能就是由于上面出現(xiàn)的問(wèn)題導(dǎo)致的。



          02

          解決辦法

          ????對(duì)于標(biāo)簽重新問(wèn)題,沒(méi)有啥特別好的辦法,只能通過(guò)要么增加輸入圖片分辨率大小;要么增加輸出特征圖大小實(shí)現(xiàn)。本文的做法是增加輸出特征圖大小。



          ????原始的yolov3,輸入大小是輸出特征圖的8/16和32倍,通過(guò)上述數(shù)據(jù)可以發(fā)現(xiàn)標(biāo)簽重寫(xiě)比例蠻高的。而通過(guò)增加輸出特征圖大小后可以顯著降低重寫(xiě)比例。

          ????而對(duì)于kmean聚類帶來(lái)的問(wèn)題,有兩種解決辦法:

          1. kmean聚類流程不變,但是要避免出現(xiàn)小物體被分配到小輸出特征圖上面訓(xùn)練和大物體被分配到大輸出特征圖上面訓(xùn)練問(wèn)題,具體就是首先基于網(wǎng)絡(luò)輸出層感受野,定義三個(gè)大概范圍尺度,然后設(shè)置兩道閾值,強(qiáng)行將三個(gè)尺度離散化分開(kāi);然后對(duì)bbox進(jìn)行單獨(dú)三次聚類,每次聚類都是在前面指定的范圍內(nèi)選擇特定的bbox進(jìn)行,而不是作用于整個(gè)數(shù)據(jù)集。主要是保證kmean僅僅作用于特定bbox大小訪問(wèn)內(nèi)即可,就可以避免上面問(wèn)題了。但是缺點(diǎn)也非常明顯,如果物體大小都差不多,那么幾乎僅僅有一個(gè)輸出層有物體分配預(yù)測(cè),其余兩個(gè)尺度在那里空跑,浪費(fèi)資源。

          2. 就只有一個(gè)輸出層,所有物體都是在這個(gè)層預(yù)測(cè)即可。可以避免kmean聚類問(wèn)題,但是為了防止標(biāo)簽重寫(xiě),故把輸出分辨率調(diào)高,此時(shí)就完美了。作者實(shí)際上采用的是1/4尺度輸出,屬于高分辨率輸出,重寫(xiě)概率很低。



          03

          poly-yolo

          ????基于前面的思想,作者設(shè)計(jì)的網(wǎng)絡(luò)如下:



          1. ????一些細(xì)微的網(wǎng)絡(luò)改動(dòng)就不說(shuō)了,作者開(kāi)源了代碼,可以直接看出來(lái)。
            網(wǎng)絡(luò)方面,為了減少參數(shù)量,首先減少了通道數(shù)目,同時(shí)為了提高性能,引入了SE單元來(lái)加強(qiáng)特征

          2. 和yolov3的最大區(qū)別是輸出層是一個(gè),但是也采用了多尺度融合方式。

          3. neck部分提出了hypercolumn+stairstep上采樣操作。其示意圖如下所示:


          ????左邊是標(biāo)準(zhǔn)的hypercolumn操作,右邊是作者提出的。實(shí)驗(yàn)表明右邊的方式更好,因?yàn)閘oss更低。


          ????通過(guò)上述參數(shù)設(shè)置,作者設(shè)計(jì)的neck和head較輕,共有37.1M的參數(shù),顯著低于YOLOv3的61.5M,Poly-YOLO比YOLOv3的精度更高,在可訓(xùn)練參數(shù)減少40%的情況下,mAP精度大概也提高了40%。。同時(shí)為了進(jìn)一步提速,作者還設(shè)計(jì)了lite版本,參數(shù)僅僅16.5M,精度和yolov3差不多,

          ????作者還強(qiáng)調(diào)了,本文設(shè)計(jì)的僅僅是一種思想,如果采用最新的骨架網(wǎng)絡(luò)替換,應(yīng)該可以得到一個(gè)更加高效,精度更高的poly yolov3版本。

          ????對(duì)于采用poly yolov3進(jìn)行實(shí)例分割,本文不打算分析,因?yàn)槲谊P(guān)心的是論文所提出的兩個(gè)問(wèn)題以及解決辦法而已。性能如下:



          ????總結(jié)下:yolov3由于特殊的網(wǎng)格預(yù)測(cè)模式,當(dāng)物體比較密集且大小差不多時(shí)候,會(huì)存在大量的標(biāo)簽重寫(xiě)現(xiàn)象;并且在該場(chǎng)景下基于kmean計(jì)算得到的anchor會(huì)出現(xiàn)物體預(yù)測(cè)尺度和感受野不符的問(wèn)題,導(dǎo)致整個(gè)優(yōu)化過(guò)程不是最優(yōu)的。針對(duì)上述問(wèn)題,作者提出采用單尺度預(yù)測(cè),且維持高輸出分辨率特征圖的策略來(lái)解決上述問(wèn)題。為了加速和進(jìn)一步提高性能,采用了se單元、hypercolumn+stairstep上采樣特征聚合方式來(lái)加強(qiáng)特征提取能力。從而實(shí)現(xiàn)了在參數(shù)大幅減少情況下,mAP提升解決40%。可以說(shuō)本文是為了特定場(chǎng)景應(yīng)用所提出的改進(jìn),不一定適合coco這種自然場(chǎng)景物體分別均勻的場(chǎng)景。



          ?

          END




          機(jī)器學(xué)習(xí)算法工程師


          ? ??? ? ? ? ? ? ? ? ? ? ? ??????????????????一個(gè)用心的公眾號(hào)


          ?







          瀏覽 47
          點(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>
                  超碰0374在线观看 | 521大香蕉网站。大香蕉综合伊人 91成人视频一区二区三区在线观看 | 美女艹逼网站 | 豆花AV在线免费观看 | 三级片网站入口 |