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

          目標(biāo)檢測(cè)yolo--2016

          共 4102字,需瀏覽 9分鐘

           ·

          2021-03-26 16:14

          從五個(gè)方面解讀CVPR2016 目標(biāo)檢測(cè)論文YOLO: Unified, Real-Time Object Detection

          1. 創(chuàng)新

          2. 核心思想

          3. 效果

          4. 改進(jìn)

          5. 實(shí)踐


          1. 創(chuàng)新

          YOLO將物體檢測(cè)作為回歸問(wèn)題求解。基于一個(gè)單獨(dú)的end-to-end網(wǎng)絡(luò),完成從原始圖像的輸入到物體位置和類別的輸出。從網(wǎng)絡(luò)設(shè)計(jì)上,YOLO與rcnn、fast rcnn及faster rcnn的區(qū)別如下:

          [1] YOLO訓(xùn)練和檢測(cè)均是在一個(gè)單獨(dú)網(wǎng)絡(luò)中進(jìn)行。YOLO沒有顯示地求取region proposal的過(guò)程。而rcnn/fast rcnn 采用分離的模塊(獨(dú)立于網(wǎng)絡(luò)之外的selective search方法)求取候選框(可能會(huì)包含物體的矩形區(qū)域),訓(xùn)練過(guò)程因此也是分成多個(gè)模塊進(jìn)行。Faster rcnn使用RPN(region proposal network)卷積網(wǎng)絡(luò)替代rcnn/fast rcnn的selective
          search模塊,將RPN集成到fast rcnn檢測(cè)網(wǎng)絡(luò)中,得到一個(gè)統(tǒng)一的檢測(cè)網(wǎng)絡(luò)。盡管RPN與fast rcnn共享卷積層,但是在模型訓(xùn)練過(guò)程中,需要反復(fù)訓(xùn)練RPN網(wǎng)絡(luò)和fast rcnn網(wǎng)絡(luò)(注意這兩個(gè)網(wǎng)絡(luò)核心卷積層是參數(shù)共享的)。





          [2]
          YOLO將物體檢測(cè)作為一個(gè)回歸問(wèn)題進(jìn)行求解,輸入圖像經(jīng)過(guò)一次inference,便能得到圖像中所有物體的位置和其所屬類別及相應(yīng)的置信概率。而rcnn/fast rcnn/faster rcnn將檢測(cè)結(jié)果分為兩部分求解:物體類別(分類問(wèn)題),物體位置即bounding box(回歸問(wèn)題)。


          2. 核心思想

          2.1 網(wǎng)絡(luò)定義



          YOLO檢測(cè)網(wǎng)絡(luò)包括24個(gè)卷積層和2個(gè)全連接層,如下圖所示。


          其中,卷積層用來(lái)提取圖像特征,全連接層用來(lái)預(yù)測(cè)圖像位置和類別概率值。

          YOLO網(wǎng)絡(luò)借鑒了GoogLeNet分類網(wǎng)絡(luò)結(jié)構(gòu)。不同的是,YOLO未使用inception
          module,而是使用1x1卷積層(此處1x1卷積層的存在是為了跨通道信息整合)+3x3卷積層簡(jiǎn)單替代。



          YOLO論文中,作者還給出一個(gè)更輕快的檢測(cè)網(wǎng)絡(luò)fast YOLO,它只有9個(gè)卷積層和2個(gè)全連接層。使用titan x GPU,fast YOLO可以達(dá)到155fps的檢測(cè)速度,但是mAP值也從YOLO的63.4%降到了52.7%,但卻仍然遠(yuǎn)高于以往的實(shí)時(shí)物體檢測(cè)方法(DPM)的mAP值。

          2.2 輸出representation定義

          本部分給出YOLO全連接輸出層的定義。

          YOLO將輸入圖像分成SxS個(gè)格子,每個(gè)格子負(fù)責(zé)檢測(cè)‘落入’該格子的物體。若某個(gè)物體的中心位置的坐標(biāo)落入到某個(gè)格子,那么這個(gè)格子就負(fù)責(zé)檢測(cè)出這個(gè)物體。如下圖所示,圖中物體狗的中心點(diǎn)(紅色原點(diǎn))落入第5行、第2列的格子內(nèi),所以這個(gè)格子負(fù)責(zé)預(yù)測(cè)圖像中的物體狗。


          每個(gè)格子輸出B個(gè)bounding box(包含物體的矩形區(qū)域)信息,以及C個(gè)物體屬于某種類別的概率信息。

          Bounding box信息包含5個(gè)數(shù)據(jù)值,分別是x,y,w,h,和confidence。其中x,y是指當(dāng)前格子預(yù)測(cè)得到的物體的bounding box的中心位置的坐標(biāo)。w,h是bounding box的寬度和高度。注意:實(shí)際訓(xùn)練過(guò)程中,w和h的值使用圖像的寬度和高度進(jìn)行歸一化到[0,1]區(qū)間內(nèi);x,y是bounding box中心位置相對(duì)于當(dāng)前格子位置的偏移值,并且被歸一化到[0,1]。

          confidence反映當(dāng)前bounding box是否包含物體以及物體位置的準(zhǔn)確性,計(jì)算方式如下:

          confidence = P(object)
          * IOU, 其中,若bounding box包含物體,則P(object) = 1;否則P(object) = 0. IOU(intersection over union)為預(yù)測(cè)bounding
          box與物體真實(shí)區(qū)域的交集面積(以像素為單位,用真實(shí)區(qū)域的像素面積歸一化到[0,1]區(qū)間)。







          因此,YOLO網(wǎng)絡(luò)最終的全連接層的輸出維度是 S*S*(B*5 + C)。YOLO論文中,作者訓(xùn)練采用的輸入圖像分辨率是448x448,S=7,B=2;采用VOC 20類標(biāo)注物體作為訓(xùn)練數(shù)據(jù),C=20。因此輸出向量為7*7*(20 + 2*5)=1470維。作者開源出的YOLO代碼中,全連接層輸出特征向量各維度對(duì)應(yīng)內(nèi)容如下:

          注:

          *由于輸出層為全連接層,因此在檢測(cè)時(shí),YOLO訓(xùn)練模型只支持與訓(xùn)練圖像相同的輸入分辨率。

          *雖然每個(gè)格子可以預(yù)測(cè)B個(gè)bounding box,但是最終只選擇只選擇IOU最高的bounding box作為物體檢測(cè)輸出,即每個(gè)格子最多只預(yù)測(cè)出一個(gè)物體。當(dāng)物體占畫面比例較小,如圖像中包含畜群或鳥群時(shí),每個(gè)格子包含多個(gè)物體,但卻只能檢測(cè)出其中一個(gè)。這是YOLO方法的一個(gè)缺陷。

          2.3 Loss函數(shù)定義

          YOLO使用均方和誤差作為loss函數(shù)來(lái)優(yōu)化模型參數(shù),即網(wǎng)絡(luò)輸出的S*S*(B*5 + C)維向量與真實(shí)圖像的對(duì)應(yīng)S*S*(B*5 + C)維向量的均方和誤差。如下式所示。其中,iouErrorclassError分別代表預(yù)測(cè)數(shù)據(jù)與標(biāo)定數(shù)據(jù)之間的坐標(biāo)誤差、IOU誤差和分類誤差。


           【1】

          YOLO對(duì)上式loss的計(jì)算進(jìn)行了如下修正。

          [1] 位置相關(guān)誤差(坐標(biāo)、IOU)與分類誤差對(duì)網(wǎng)絡(luò)loss的貢獻(xiàn)值是不同的,因此YOLO在計(jì)算loss時(shí),使用修正

          [2] 在計(jì)算IOU誤差時(shí),包含物體的格子與不包含物體的格子,二者的IOU誤差對(duì)網(wǎng)絡(luò)loss的貢獻(xiàn)值是不同的。若采用相同的權(quán)值,那么不包含物體的格子的confidence值近似為0,變相放大了包含物體的格子的confidence誤差在計(jì)算網(wǎng)絡(luò)參數(shù)梯度時(shí)的影響。為解決這個(gè)問(wèn)題,YOLO 使用修正。(注此處的‘包含’是指存在一個(gè)物體,它的中心坐標(biāo)落入到格子內(nèi))。



          [3]
          對(duì)于相等的誤差值,大物體誤差對(duì)檢測(cè)的影響應(yīng)小于小物體誤差對(duì)檢測(cè)的影響。這是因?yàn)椋嗤奈恢闷钫即笪矬w的比例遠(yuǎn)小于同等偏差占小物體的比例。YOLO將物體大小的信息項(xiàng)(w和h)進(jìn)行求平方根來(lái)改進(jìn)這個(gè)問(wèn)題。(注:這個(gè)方法并不能完全解決這個(gè)問(wèn)題)。

          綜上,YOLO在訓(xùn)練過(guò)程中Loss計(jì)算如下式所示:

          其中,為網(wǎng)絡(luò)預(yù)測(cè)值,帽 為標(biāo)注值。表示物體落入格子i中,分別表示物體落入與未落入格子i的第j個(gè)bounding box內(nèi)。

          注:

          *
          YOLO方法模型訓(xùn)練依賴于物體識(shí)別標(biāo)注數(shù)據(jù),因此,對(duì)于非常規(guī)的物體形狀或比例,YOLO的檢測(cè)效果并不理想。

          *
          YOLO采用了多個(gè)下采樣層,網(wǎng)絡(luò)學(xué)到的物體特征并不精細(xì),因此也會(huì)影響檢測(cè)效果。

          * YOLO loss函數(shù)中,大物體IOU誤差和小物體IOU誤差對(duì)網(wǎng)絡(luò)訓(xùn)練中l(wèi)oss貢獻(xiàn)值接近(雖然采用求平方根方式,但沒有根本解決問(wèn)題)。因此,對(duì)于小物體,小的IOU誤差也會(huì)對(duì)網(wǎng)絡(luò)優(yōu)化過(guò)程造成很大的影響,從而降低了物體檢測(cè)的定位準(zhǔn)確性。

          2.4 訓(xùn)練

          YOLO模型訓(xùn)練分為兩步:

          1)預(yù)訓(xùn)練。使用ImageNet
          1000類數(shù)據(jù)訓(xùn)練YOLO網(wǎng)絡(luò)的前20個(gè)卷積層+1個(gè)average池化層+1個(gè)全連接層。訓(xùn)練圖像分辨率resize到224x224。

          2)用步驟1)得到的前20個(gè)卷積層網(wǎng)絡(luò)參數(shù)來(lái)初始化YOLO模型前20個(gè)卷積層的網(wǎng)絡(luò)參數(shù),然后用VOC 20類標(biāo)注數(shù)據(jù)進(jìn)行YOLO模型訓(xùn)練。為提高圖像精度,在訓(xùn)練檢測(cè)模型時(shí),將輸入圖像分辨率resize到448x448。

          (訓(xùn)練過(guò)程中的參數(shù)設(shè)置,請(qǐng)參考原始論文)

          3. 效果

          下表給出了YOLO與其他物體檢測(cè)方法,在檢測(cè)速度和準(zhǔn)確性方面的比較結(jié)果(使用VOC 2007數(shù)據(jù)集)。


          論文中,作者還給出了YOLO與Fast RCNN在各方面的識(shí)別誤差比例,如下圖。YOLO對(duì)背景內(nèi)容的誤判率(4.75%)比f(wàn)ast rcnn的誤判率(13.6%)低很多。但是YOLO的定位準(zhǔn)確率較差,占總誤差比例的19.0%,而fast rcnn僅為8.6%。

          綜上,YOLO具有如下優(yōu)點(diǎn):

          • 快。YOLO將物體檢測(cè)作為回歸問(wèn)題進(jìn)行求解,整個(gè)檢測(cè)網(wǎng)絡(luò)pipeline簡(jiǎn)單。在titan x GPU上,在保證檢測(cè)準(zhǔn)確率的前提下(63.4% mAP,VOC 2007 test set),可以達(dá)到45fps的檢測(cè)速度。

          • 背景誤檢率低。YOLO在訓(xùn)練和推理過(guò)程中能‘看到’整張圖像的整體信息,而基于region proposal的物體檢測(cè)方法(如rcnn/fast rcnn),在檢測(cè)過(guò)程中,只‘看到’候選框內(nèi)的局部圖像信息。因此,若當(dāng)圖像背景(非物體)中的部分?jǐn)?shù)據(jù)被包含在候選框中送入檢測(cè)網(wǎng)絡(luò)進(jìn)行檢測(cè)時(shí),容易被誤檢測(cè)成物體。測(cè)試證明,YOLO對(duì)于背景圖像的誤檢率低于fast rcnn誤檢率的一半。


          • 通用性強(qiáng)。YOLO對(duì)于藝術(shù)類作品中的物體檢測(cè)同樣適用。它對(duì)非自然圖像物體的檢測(cè)率遠(yuǎn)遠(yuǎn)高于DPM和RCNN系列檢測(cè)方法。


          但相比RCNN系列物體檢測(cè)方法,YOLO具有以下缺點(diǎn):

          • 識(shí)別物體位置精準(zhǔn)性差。

          • 召回率低。


          4. 改進(jìn)

          為提高物體定位精準(zhǔn)性和召回率,YOLO作者提出了YOLO9000,提高訓(xùn)練圖像的分辨率,引入了faster rcnn中anchor box的思想,對(duì)各網(wǎng)絡(luò)結(jié)構(gòu)及各層的設(shè)計(jì)進(jìn)行了改進(jìn),輸出層使用卷積層替代YOLO的全連接層,聯(lián)合使用coco物體檢測(cè)標(biāo)注數(shù)據(jù)和imagenet物體分類標(biāo)注數(shù)據(jù)訓(xùn)練物體檢測(cè)模型。相比YOLO,YOLO9000在識(shí)別種類、精度、速度、和定位準(zhǔn)確性等方面都有大大提升。(yolo9000詳解有空給出)

          5. 實(shí)踐

          使用YOLO訓(xùn)練自己的物體識(shí)別模型也非常方便,只需要將配置文件中的20類,更改為自己要識(shí)別的物體種類個(gè)數(shù)即可。

          訓(xùn)練時(shí),建議使用YOLO提供的檢測(cè)模型(使用VOC 20類標(biāo)注物體訓(xùn)練得到)去除最后的全連接層初始化網(wǎng)絡(luò)。


          瀏覽 63
          點(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>
                  日韩一级无码黄色电影 | 十八女人高潮A片免费 | 骚逼逼影院 | 国产精品久久久久久久久久久久午夜片 | 亚洲无视频 |