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

          硬核圖解:YOLACT 解析

          共 2778字,需瀏覽 6分鐘

           ·

          2022-04-13 05:08

          大家好,我是 Jack。

          近年來(lái)的實(shí)例分割可以分為兩類:

          一類是 two-stage 的方法,即“先檢測(cè)后分割”的方法,首先定位到目標(biāo)物體的邊框,然后在邊框內(nèi)分割目標(biāo)物體,典型的代表是 Mask R-CNN;

          另一類是 one-stage 的方法,這里面又細(xì)分為兩個(gè)流派,一個(gè)是 anchor-based,另一個(gè)是 anchor-free。

          今天個(gè)給大家講解一個(gè),基于 anchor-base 的實(shí)力分割算法 YOLACT。

          一、論文簡(jiǎn)介

          YOLACT: Real-time Instance Segmentation

          1、簡(jiǎn)介

          • 論文針對(duì)實(shí)例分割任務(wù)提出了一種簡(jiǎn)單,全卷積模型;
          • 這個(gè)模型在COCO數(shù)據(jù)集用一塊Titan Xp完成了29.8mAP和33.5fps的實(shí)時(shí)分割效果;
          • 將任務(wù)分為兩個(gè)平行的子任務(wù)。產(chǎn)生prototype masks和預(yù)測(cè)mask coefficients;
            • prototype masks
              卷積層:在提取空間相關(guān)信息上效果顯著。
            • mask coefficients
              全連接層:在獲取語(yǔ)義向量上效果顯著。
          • 利用矩陣計(jì)算對(duì)NMS進(jìn)行加速。

          2、模型結(jié)構(gòu)

          Yolact
          • Feature Backbone
            此模塊主要是利用卷積神經(jīng)網(wǎng)絡(luò)做特征提取,然后將提取到的特征輸入到特征金字塔網(wǎng)絡(luò)中。

          • Feature Pyraimd
            利用此模塊獲取深度更深的特征圖,且含有多個(gè)不同尺度的特征圖。

          • Protonet
            此模塊通過卷積和上采樣獲得Prototypes,Prototypes是多張mask的,mask中的亮(值大)的區(qū)域就是目標(biāo)區(qū)域。最終通過線性組合生成的mask來(lái)獲取每個(gè)實(shí)例的mask。

          • Prediction Head
            本文在RetinaNet的基礎(chǔ)上多回歸了一個(gè)mask系數(shù),輸出預(yù)測(cè)框Bbox,類別信息conf以及掩碼系數(shù)。利用此系數(shù)與Protonet中的mask線性組合。Yolact利用特征金字塔中的特征圖(5個(gè)尺度)每個(gè)特征圖的每個(gè)點(diǎn)都生成3個(gè)目標(biāo)框

          • NMS 由于目標(biāo)框數(shù)量較多,利用非極大抑制進(jìn)行目標(biāo)框篩選。

          • Masks Assembly
            利用Prediction Head模塊的mask系數(shù)與Protonet中的多張mask進(jìn)行線性組合,每個(gè)目標(biāo)得到一張mask。

          • Crop&Threshold
            利用Prediction Head中未被過濾掉目標(biāo)的預(yù)測(cè)框Bbox以及類別信息對(duì)Masks Assembly中輸出的mask進(jìn)行截取Crop操作,再經(jīng)閾值處理得到最終的mask。

          二、COCO數(shù)據(jù)集解析

          COCO的官網(wǎng) : https://cocodataset.org/
          COCO API : https://github.com/cocodataset/cocoapi

          1、簡(jiǎn)介

          圖像包括91類目標(biāo), 328,000影像和2,500,000個(gè)label。目前為止有語(yǔ)義分割的最大數(shù)據(jù)集,提供的類別有80 類, 有超過33 萬(wàn)張圖片,其中20 萬(wàn)張有標(biāo)注,整個(gè)數(shù)據(jù)集中個(gè)體的數(shù)目超過150 萬(wàn)個(gè)。


          2、 pycocotools工具

          COCO官方給的數(shù)據(jù)集解析工具

          三、FPN

          原文:feature pyramid networks for object detection

          1、特征金字塔

          FPN
          1. 圖像金字塔(圖像處理)
            • 將圖像做成不同的scale -> 測(cè)試增強(qiáng)(TTA)
          2. 基礎(chǔ)CNN結(jié)構(gòu)(單層特征圖)
            • 可做分類器
          3. 多尺度特征融合
            • 從不同層抽取不同尺度特征做預(yù)測(cè) --> SSD(single shot detector)
          4. 特征金字塔網(wǎng)絡(luò)
            • 與3相比,增加了通過高層特征進(jìn)行上采樣和底層特征進(jìn)行自頂向下的連接,然后再預(yù)測(cè),大幅提升了對(duì)小物體的檢測(cè)效果 --> Retinanet

          2、組成

          backbone(以resnet為例):

          輸入:batchsize,3,550,550
          conv1 -> batchsize,64,275,275
          c2:-> batchsize,64,138,138 -> batchsize,256,138,138
          c3:->batchsize,128,69,69 -> batchsize,512,69,69
          c4:->batchsize,256,35,35 -> batchsize,1024,35,35
          c5:->batchsize,512,18,18 -> batchsize,2048,18,18

          FPN:

          • 上采樣:雙線性插值
          • 下采樣:卷積(步長(zhǎng)為2)
            p7(256,5,5) :通過p6下采樣
            p6(256,9,9) :通過p5下采樣
            p5(256,18,18) : c5通過兩次卷積通道數(shù)變?yōu)?56
            p4(256,35,35) : c4通過兩次卷積通道數(shù)變?yōu)?56 + c5上采樣
            p3(256,69,69) : c3通過兩次卷積通道數(shù)變?yōu)?56 + c4上采樣

          四、Prototype

          protonet:預(yù)測(cè)k個(gè)prototype masks(通過FCN生成k個(gè)通道的)如下圖protonet:

          • 越深的backbone features獲得更魯棒的masks。->利用特征金字塔網(wǎng)絡(luò)(FPN)作為backbone
          • 高分辨率的prototypes結(jié)果有更好的masks且在較小的對(duì)象上表現(xiàn)出更好的性能。->上采樣到原圖的1/4增高分辨率
          • 此處用FPN的p3作為protonet輸入通過卷積和雙線性插值獲得一個(gè)mask熱度圖(bs, 138, 138, 32)

          五、mask coefficients

          1、Head Architecture

          FPN得到了5種不同尺度的特征圖,分別預(yù)測(cè)dict_keys(['loc', 'conf', 'mask', 'priors'])


          • 'loc':每個(gè)anchorbox的預(yù)測(cè)偏移量,形狀為(1,19248,)

          • 'conf':每個(gè)anchorbox的類別預(yù)測(cè),形狀為(1,19248,num_class)

          • 'mask':就是論文中指出的mask系數(shù),形狀為(1,9248,2)

          • 'priors':預(yù)設(shè)的anchorbox的坐標(biāo),形狀為(19248,4)

          2、fast_NMS

          非極大抑制

          利用conf降序排序(移除conf太小且IoU太大的檢測(cè)框)


          fast_NMS:利用矩陣進(jìn)行加速

          六、Masks Assembly

          線性組合protonet -> 每個(gè)目標(biāo)(item)都有mask(熱圖形式), confident(包含類別信息和概率), bbox(通過loc和priors獲得

          然后根據(jù)回歸出的檢測(cè)框(bbox)對(duì)mask進(jìn)行截取,根據(jù)所在目標(biāo)框的mask進(jìn)行閾值處理轉(zhuǎn)化為掩碼形式(是,否)。

          ·················END·················

          推薦閱讀

          ?? ?給大學(xué)弟妹們的億點(diǎn)建議?? ?為藝術(shù)而生的超強(qiáng)算法????我的三年北漂,晉升路

          瀏覽 1141
          點(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>
                  成人网站视频大香蕉 | 成年人视频播放 | 簧片在线观看视频 | 亚洲免费操大香蕉 | 午夜成人福利片 |