<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)檢測算法YOLO-V3結(jié)構(gòu)詳解

          共 2859字,需瀏覽 6分鐘

           ·

          2020-08-13 09:36


          ?

          上期我們一起學(xué)了YOLO-V2的算法結(jié)構(gòu)以及跟YOLO-V1比起來有哪些優(yōu)缺點(diǎn),如下:
          目標(biāo)檢測算法YOLO-V2詳解
          今天我們看下在YOLO-V2版本上改進(jìn)的YOLO-V3算法,到底做了哪些優(yōu)化?

          ?

          今天我們主要從以下幾個(gè)方面來學(xué)習(xí)YOLO-V3YOLO-V2做了哪些改進(jìn)。

          • Darknet-53結(jié)構(gòu)
          • YOLO-V3結(jié)構(gòu)
          • 先驗(yàn)框設(shè)置
          • 損失函數(shù)
          • 模型性能

          YOLO-V3模型框架

          YOLO-V3模型框架,我們主要從它的基礎(chǔ)網(wǎng)絡(luò)Darknet-53以及YOLO-V3的結(jié)構(gòu)方面學(xué)習(xí),首先看下Darknet-53結(jié)構(gòu)。

          Darknet-53結(jié)構(gòu)

          Darknet-53是專門為YOLO-V3設(shè)計(jì)的一個(gè)深度學(xué)習(xí)框架,有著非常好的圖像識別的效果,如下圖:

          Darknet-53模型結(jié)構(gòu)

          整個(gè)網(wǎng)絡(luò)主要包括5組殘差塊,如下:

          1. 256x256輸入為例,首先經(jīng)過一個(gè)3x3x32的卷積層輸出為256x256x32;
          2. 接著經(jīng)過一個(gè)3x3x64 stride=2的卷積層輸出為128x128x64;
          3. 接著經(jīng)過一個(gè)殘差塊(前面學(xué)習(xí)殘差網(wǎng)絡(luò)的時(shí)候?qū)W過),輸出為128x128x64;
          4. 再經(jīng)過一個(gè)3x3x128 stride=2的卷積層輸出為64x64x128;
          5. 經(jīng)過2個(gè)殘差塊后輸出為64x64x128;
          6. 接著經(jīng)過一個(gè)3x3x256 stride=2的卷積層輸出為32x32x256;
          7. 接著經(jīng)過8個(gè)殘差塊,輸出為32x32x256;
          8. 再經(jīng)過一個(gè)3x3x512 stride=2的卷積層輸出為16x16x512;
          9. 接著經(jīng)過8個(gè)殘差塊后輸出為16x16x512;
          10. 接著經(jīng)過一個(gè)3x3x1024 stride=2的卷積層輸出為8x8x1024;
          11. 接著經(jīng)過4個(gè)殘差塊后輸出為8x8x1024;
          12. 最后經(jīng)過池化全連接層以及softmax輸出.

          這就是Darknet-53網(wǎng)絡(luò)的具體框架,接下來我們看下YOLO-V3算法是怎么嫁接上去的。

          YOLO-V3結(jié)構(gòu)

          YOLO-V3借鑒了前面學(xué)的SSD算法的思想,采用從不同尺度特征圖上下手的檢測方式,如下:

          YOLO-V3結(jié)構(gòu)

          我們看下這個(gè)殘差塊,如上圖右上小塊,簡單的說就是一組特征圖與它經(jīng)過兩個(gè)卷積層后的特征圖相加。

          YOLO-V3分別從Darknet-53框架的第7步,第9步和第11步的特征圖下手進(jìn)行多尺度檢測。首先,一起從Darknet-53最后輸出的8x8x1024的特征圖看如何檢測的。這里將8x8x1024的特征圖經(jīng)過5個(gè)卷積層進(jìn)行二次提取特征后拿去檢測目標(biāo)。而后再將提取后的特征圖上采樣與第9步的特征圖合并經(jīng)過5個(gè)卷積層進(jìn)行二次提取特征后拿去檢測目標(biāo)。再將第9步的二次提取特征圖上采樣與第7步的特征圖合并進(jìn)行二次特征提取檢測目標(biāo)。

          YOLO-V3一般使用416x416大小的圖片作為輸入,根據(jù)上面結(jié)構(gòu)圖,最后得到的特征圖為13x13,Scale2的特征圖為26x26,Scale3的特征圖為52x52.
          YOLO-V3使用的是COCO數(shù)據(jù)集訓(xùn)練,COCO數(shù)據(jù)集目標(biāo)檢測有80個(gè)類別,而YOLO-V3中每個(gè)cell3個(gè)box,每個(gè)box還有(x,y,w,h,confidence)五個(gè)基本參數(shù),也就是說一個(gè)cell對應(yīng)的輸出維度為3x(5+80)=255(這里不明白為什么這樣計(jì)算的請參考YOLO-V2算法).
          所以YOLO-V33個(gè)不同特征尺度的輸出,分別為13x13x255,26x26x25552x52x255的檢測結(jié)果。對于416x416的輸入圖片,YOLO-V2中的bounding boxes13x13x5=845個(gè),而YOLO-V3則有(13x13+26x26+52x52)x3=10467個(gè).

          模型的訓(xùn)練及性能

          明白了YOLO-V3算法的結(jié)構(gòu),我們一起看下訓(xùn)練方面的東西,首先先驗(yàn)框該怎么設(shè)?

          先驗(yàn)框設(shè)置

          前面學(xué)的YOLO-V2算法已經(jīng)開始采用K-means聚類得到先驗(yàn)框的尺寸,YOLO-V3延續(xù)了這種方法,為每種下采樣尺度設(shè)定3中先驗(yàn)框,總共聚類出9中尺寸的先驗(yàn)框。在COCO數(shù)據(jù)集上,這9個(gè)先驗(yàn)框是(10x13),(16x30),(33x23),(30x61),(62x45),(59x119),(116x90),(156x198),(373x326).
          分配上,在最小的13x13特征圖上(有最大的感受野)應(yīng)用較大的先驗(yàn)框(116x90),(156x198),(373x326)適合檢測較大的對象。
          中等的26x26特征圖上(中等感受野)應(yīng)用中等大小的先驗(yàn)框(30x61),(62x45),(59x119),適合檢測中等大小的對象。
          較大的52x52特征圖上(較小的感受野)應(yīng)用較小的先驗(yàn)框(10x13),(16x30),(33x23),適合檢測較小的對象。如下表:

          損失函數(shù)

          YOLO-V3對類別預(yù)測的代價(jià)函數(shù)進(jìn)行了修改,并且沒有用softmax。那為什么沒有用softmax呢?在原來的分類網(wǎng)絡(luò)中softmax層都是假設(shè)一張圖片或者一個(gè)object只屬于一個(gè)類別,但是在一些復(fù)雜場景下,一個(gè)object可能屬于多個(gè)類,比如,我們的類別中有womanperson這兩類,那么如果一張圖像中有一個(gè)woman,那么我們檢測的結(jié)果中類別標(biāo)簽就要同時(shí)有womanperson這兩類,這就是多標(biāo)簽分類。也就是一個(gè)object屬于多個(gè)類別。

          所以在YOLO-V3中,用了邏輯回歸層來對每個(gè)類別做二分類。邏輯回歸層主要用到sigmoid函數(shù),該函數(shù)可以將輸入約束在0~1的范圍內(nèi),因此當(dāng)一張圖像經(jīng)過特征提取后的某一類輸出經(jīng)過sigmoid函數(shù)約束后如果大于0.5,就表示屬于該類,這樣一個(gè)框就可以預(yù)測多個(gè)類別,代價(jià)函數(shù)用的是sigmoid的交叉熵。

          模型性能

          YOLO-V3在速度和準(zhǔn)確率上都是很不錯(cuò)的,從下圖中,我們可以看到在跟其他算法進(jìn)行對比的圖中,YOLO-V3inference time上處于領(lǐng)先地位,其中YOLOV3-320由于輸入圖片為320x320,所以inference time最小為22ms,而YOLOV3-608由于輸入圖片較大,inference time51ms,也是領(lǐng)先于其他算法的。雖然mAP最高的算法為FPN-FRCN,但是運(yùn)行時(shí)間卻要172ms。而YOLOV3-608mAP也達(dá)到了57.9。

          目標(biāo)檢測算法對比

          從下面各算法在COCO數(shù)據(jù)集上的性能圖中,我們也可以清楚的看到YOLO-V3算法的強(qiáng)大性能。

          各算法在COCO數(shù)據(jù)集上的性能

          好了,至此,我們今天從Darknet-53結(jié)構(gòu),YOLO-V3結(jié)構(gòu),先驗(yàn)框設(shè)置,損失函數(shù),模型性能的角度對YOLO-V3做了詳細(xì)的介紹,以及跟YOLO-V2對比做了哪些改進(jìn),希望對大家有些幫助。下期,我們將一起學(xué)習(xí)目標(biāo)檢測算法YOLO-V4

          瀏覽 54
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

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

          手機(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>
                  亚欧成人网站 | 色哟哟无码精品一区二区三区 | 最新三级网站 | av天堂亚洲 | 亚洲视频第1页 |