成人av在线资源一区,亚洲av日韩av一区,欧美丰满熟妇乱XXXXX图片,狠狠做五月深爱婷婷伊人,桔子av一区二区三区,四虎国产精品永久在线网址,国产尤物精品人妻在线,中文字幕av一区二区三区欲色
    您正在使用IE低版瀏覽器,為了您的雷峰網賬號安全和更好的產品體驗,強烈建議使用更快更安全的瀏覽器
    此為臨時鏈接,僅用于文章預覽,將在時失效
    人工智能開發者 正文
    發私信給AI研習社-譯站
    發送

    0

    FAIR最新視覺論文集錦:FPN,RetinaNet,Mask 和 Mask-X RCNN(含代碼實現)

    本文作者: AI研習社-譯站 2018-04-08 17:44
    導語:FAIR 目標識別分割全家桶——從FPN到Mask-X RCNN

    本文為雷鋒字幕組編譯的技術博客,原標題Recent FAIR CV Papers - FPN, RetinaNet, Mask and Mask-X RCNN,作者為Krish。

    FPN, RetinaNet,,Mask 和 Mask-X RCNN

    翻譯 | 李石羽  林立宏    整理 |  凡江

    這篇文章會從 FAIR 在基本模塊上的創新開始談到CNN,再到one-shot 物體檢測。之后會講實例分割的創新。最后聊聊依靠弱半監督模型來擴展實例分割。

    FPN

    特征金字塔網絡 (FPN) [1] 發表在 2017 年的 CVPR 上。如果你關注最近兩年計算機視覺的發展,就知道冥冥之中存在著那樣一些優秀的算法,而你要做的,就是等著大神們把它寫出來、訓練好、再公開源碼。認真地說,FPN這篇論文寫的非常不錯,很合我胃口。能構建出一個簡單易行的基本模型,在各種不同的任務都好使,并不是一件容易的事。深究細節之前先強調一點,FPN 是基于一個特征提取網絡的,它可以是常見的 ResNet 或者 DenseNet 之類的網絡。在你最常用的深度學習框架下取一個預訓練模型,就可以用來實現 FPN 了。

    圖像里的目標尺寸大小各種各樣,數據集里的物體不可能涵蓋所有的尺度,所以人們利用圖像金字塔(不同分辨率的下采樣)來幫助 CNN 學習。但是這樣的速度太慢了,所以人們只使用單一尺度來預測,也有人會取中間結果來預測。后者和前者很像,只不過是在特征圖上的。比較容易想到的方法是,在幾層殘差模塊后面加一層轉置卷積,提高分辨率,得到分割的結果,或者通過 1x1 的卷積或 GlobalPool 得到分類的結果。這種架構在有輔助信息和輔助損失函數時被大量使用。

    FPN 的作者用一種很巧妙的辦法提高了上述的方法。除了側向的連接,還加入了自上而下的連接。這樣做效果非常好。作者把從上到下的結果和側向得到的結果通過相加的辦法融合到一起。這里的重點在于,低層次的特征圖語義不夠豐富,不能直接用于分類,而深層的特征更值得信賴。將側向連接與自上而下的連接組合起來,就可以得到不同分辨率的的特征圖,而它們都包含了原來最深層特征圖的語義信息。

    FAIR最新視覺論文集錦:FPN,RetinaNet,Mask 和 Mask-X RCNN(含代碼實現)

    模型細節

    • 金字塔 - 同樣尺寸的特征圖屬于同一級。每級最后一層輸出是金字塔的特征圖,比如 ResNet 第2,3,4,5個模塊的最后一層。你可以根據需要進行調整。

    • 側向連接:通過 1x1 卷積并與經過上采樣的從上到下連接的結果相加求和。自上而下的部分生成粗粒度特征,自下而上的部分通過側向連接加入細粒度特征。原文的圖示表達的非常明了。

    • 原文中只是用一個簡單的例子展示了 FPN 的設計之簡單以及效果之可觀,這不代表它不能用于更復雜的研究中。

    FAIR最新視覺論文集錦:FPN,RetinaNet,Mask 和 Mask-X RCNN(含代碼實現)

    如我剛才所說,這是個萬金油網絡,可以用在目標檢測、實例分割、姿態識別、面部識別等各種各樣的應用里。文章僅僅公開幾個月就有了近 100 次引用。文章題目是《用于目標識別的金字塔特征網絡》,所以作者把 FPN 帶入到 Faster-RCNN 中作為區域推薦網絡 (RPN)。很多關鍵的細節在原文中都有詳細的解釋,為了節約時間我這里列幾條重點。

    實驗要點

    • 用 FPN 作為 RPN - 用 FPN 的多分辨率特征取代單一分辨率的特征圖,每一級上用同樣的尺寸的 anchor(因為特征圖尺度不同從而達到了多尺度 anchor 的效果)。金字塔的每一級都共享相似的語義水平。

    • FasterRCNN - 用類似于處理圖像金字塔的方法來處理 FPN。ROI通過下面這個公式來分派給特定的一級。

    • FAIR最新視覺論文集錦:FPN,RetinaNet,Mask 和 Mask-X RCNN(含代碼實現)

    • w 和 h 分別代表寬度和高度。k 是ROI被分配到的層級,FAIR最新視覺論文集錦:FPN,RetinaNet,Mask 和 Mask-X RCNN(含代碼實現)表示輸入原圖大小(224x224)的那一層。

    • 簡單粗暴地在 COCO 數據集上獲得了最優效果。

    • 對每一個模塊都進行了單變量實驗,從而證明了開頭的說法。

    • 基于 DeepMask and SharpMask 架構演示了 FPN 可以用于圖像分割建議生成。

    • 對實現細節感興趣的同學一定要去讀一讀原文。

    附注:FPN 是基于一個主干模型的,比如 ResNet。常見的命名方法是:主干網絡-層數-FPN,例如:ResNet-101-FPN

    代碼實現

    Caffe2(官方實現) - https://github.com/facebookresearch/Detectron/tree/master/configs/12_2017_baselines

    Caffe - https://github.com/unsky/FPN

    PyTorch - https://github.com/kuangliu/pytorch-fpn(just the network)

    MXNet - https://github.com/unsky/FPN-mxnet

    Tensorflow - https://github.com/yangxue0827/FPN_Tensorflow

    RetinaNet 

    同樣的團隊,同樣的一作,這篇文章發表在了 2017 年的 ICCV 上[2]。這篇文章有兩個重點,一般性的損失函數 Focal Loss (FL) 以及單階段的目標檢測模型 RetinaNet。這兩者的結合在 COCO 目標檢測任務中大顯身手,超過了剛才提到的 FPN。

    Focal Loss

    這是一個極其精巧簡潔的設計。如果你熟悉加權損失函數的話,這基本上是同樣的原理,只不過更集中在難以分類的樣本上。它的公式如下,很好理解

    FAIR最新視覺論文集錦:FPN,RetinaNet,Mask 和 Mask-X RCNN(含代碼實現)

    FAIR最新視覺論文集錦:FPN,RetinaNet,Mask 和 Mask-X RCNN(含代碼實現)是一個可以調整的超參數。FAIR最新視覺論文集錦:FPN,RetinaNet,Mask 和 Mask-X RCNN(含代碼實現)表示樣本分類的概率。 讓FAIR最新視覺論文集錦:FPN,RetinaNet,Mask 和 Mask-X RCNN(含代碼實現)大于 0 會降低分類正確樣板的權重。FAIR最新視覺論文集錦:FPN,RetinaNet,Mask 和 Mask-X RCNN(含代碼實現)含義與在常規的加權損失函數中相同。論文中被稱為FAIR最新視覺論文集錦:FPN,RetinaNet,Mask 和 Mask-X RCNN(含代碼實現)損失函數。注意這只是用于分類的損失函數,在 RetinaNet 的目標檢測任務中要與 smooth L1 損失一起使用。

    RetinaNet

    一款單階段檢測器竟是出于 FAIR 之手,實在驚人。YOLOv2 和 SSD 在單階段檢測領域稱霸至今。但如作者所說,它們都沒有達到目前(包括兩階段檢測器)最佳的效果。 同為單階段檢測器的 RetinaNet 卻做到了,兼顧速度與效果。作者表示能帶到如此效果是因為新的損失函數而不是網絡的改進(網絡用的是 FPN)。 單階段檢測器會面臨大量的樣本不平衡狀況,背景樣本太多,物體樣本太少。加權損失只能做到平衡,而 FL 主要針對難例,這兩者也可以相結合。

    需要注意的地方

    • 兩階段檢測器不需要擔心不平衡的問題,因為第一階段移除了幾乎所有的不平衡。

    • 網絡包含兩部分 - 主干網絡(用于特征提取,比如 FPN)和兩個子網絡分別用于分類與邊框回歸。

    • 選擇不同組件時性能差異不大。

    • Anchor 或 AnchorBoxes 與 RPN [5] 中的 Anchor 相同,都以滑窗為中心并有一個長寬比。尺度與長寬比和 [1] 一樣,尺度從FAIR最新視覺論文集錦:FPN,RetinaNet,Mask 和 Mask-X RCNN(含代碼實現)FAIR最新視覺論文集錦:FPN,RetinaNet,Mask 和 Mask-X RCNN(含代碼實現),長寬比分別為 1:2, 1:1, 2:1。

    • FPN 的每一級,都通過子網絡給出相應的有 anchor 的輸出。

    代碼實現

    Caffe2(官方實現) - https://github.com/facebookresearch/Detectron/tree/master/configs/12_2017_baselines

    PyTorch - https://github.com/kuangliu/pytorch-retinanet

    Keras - https://github.com/fizyr/keras-retinanet

    MXNet - https://github.com/unsky/RetinaNet

    Mask R-CNN

    Mask R-CNN [3] 也是來自同一個團隊。在2017年的ICCV上發表的,用于圖像實例分割。對于外行人來說,它是基本的對象檢測,而不是畫邊界框, 任務是給出對象的精確分割圖! 回想起來,人們會說這一個如此簡單的想法,但是它是可行的,并且成為了SOTA,為預訓練的模型提供了一種快速實現,這是一項了不起的工作!

    長話短說,如果你知道 Faster-RCNN,那你就會知道它非常簡單,給分割添加另外一個頭部(分支)。通常是3個分支,分別用于分類,邊框回歸和分割。

    又一次,這種方法關注于使用簡單和基本的神經網絡設計來提高效率。沒有任何花里胡哨的東西就讓他們獲得了SOTA。(有一些免費技術(比如OHEM,多維度訓練/測試等)能夠適用于所有的方法用于提高準確性,花里胡哨的實現并不使用他們。因為他們是免費的,準確率肯定會提高。但是這不在本文的討論范圍之內)

    我非常喜歡這篇論文,它非常的簡單。但有一些論文在一些很簡單的事情上給了過多的解釋,并給出了明確的方式進行實現。比如說,使用多項mask和獨立的mask(softmax 和 sigmoid)。此外,它不需要假定大量先驗知識和解釋所有的事情(有時候可能也是一個騙局)。有人認真了論文的話就會很明顯地發現,他們的新想法在現有成熟的環境上不能工作。下面的解釋假定了你對 Fast RCNN有基本的了解:

    • 它和FasterRCNN是相似的,有兩個階段,第一階段是RPN。

    • 加入了平行分支用于預測分割mask——一個FCN。

    • 損失是FAIR最新視覺論文集錦:FPN,RetinaNet,Mask 和 Mask-X RCNN(含代碼實現)的總和

    • 用ROIAlign 層替代了ROIPool。這實際上是將 (x/spatial_scale) 分數四舍五入為一個整數像ROIPool中那樣。 相反,它通過雙線性插值來找出那些浮點值處的像素。

    • 例如:假設ROI的高度和寬度分別為54,167。 空間尺度基本上是圖像尺寸/ FMap尺寸(H / h),在這種情況下它也被稱為步幅。通常為:224/14 = 16(H = 224,h = 14)。

    • ROIPool: 54/16,167/16 = 3,10

    • ROIAlign:54/16,167/16 = 3.375,10.4375

    • 現在我們可以使用雙線性插值來上取樣  

    • 根據ROIAlign輸出形狀(例如7x7),類似的邏輯將相應的區域分成適當的區域。  

    • 如果感興趣的話,可以查閱Chainer用python實現的ROIPooling,并嘗試自己實現ROIAlign

    • ROIAlign代碼可以在不同的庫中使用,請查看下面提供的代碼倉庫。  

    核心是 ResNet-FPN

    PS - 我針對Mask-RCNN上也寫了一篇單獨的文章,很快就會在這里發布。  

    代碼實現

    Official Caffe2 - https://github.com/facebookresearch/Detectron/tree/master/configs/12_2017_baselines

    Keras - https://github.com/matterport/Mask_RCNN/

    PyTorch - https://github.com/soeaver/Pytorch_Mask_RCNN/

    MXNet - https://github.com/TuSimple/mx-maskrcnn

    Mask-X RCNN

    正如標題所說的,這是關于分割的。更準確的說,是實例分割。計算機視覺中的分割標準數據集,對現實世界有用的非常少。  COCO數據集[7]即使在2018年也是最流行和豐富的數據集,只有80個對象類。這甚至不是很有用。 相比之下,對象識別和檢測數據集(如OpenImages [8])具有近6000個分類和545個檢測 。話雖如此,斯坦福大學還有另一個名為Visual Genome數據集的數據集,其中包含3000類對象!那么,為什么不使用這個呢? 每個分類下的對象數量太少,所以DNN沒有辦法在這樣的數據集上很好的工作,所以人們不使用這個數據集盡管它很豐富,對現實世界也很有用。請注意,數據集沒有任何分割的注釋,只有3000個類別的對象檢測(邊框)標簽可用。

    談到第四篇論文啦,這也是一篇非常酷的論文。正如人們能想到,在邊框和分割注解領域上并沒有太大的區別,只是后者比前者精確得多。所以,因為我們在Visual Genome [9]數據集中有3000個類,為什么不利用它來給出分割輸出。這就是他們所做的,這可以稱為弱監督(或弱半監督)學習,你沒有完全監督你試圖完成的任務。它還可以與半監督相關聯,因為它們使用COCO + Visual Genome數據集。分割標簽以及邊框標簽。這篇論文是迄今為止最酷的。

    • 建立在Mask-RCNN之上

    • 輸入有mask和輸入沒有mask兩種方式進行訓練 

    • 在mask和bbox mask之間添加一個權重轉換函數

    • 在訓練過程中,一個能夠在整個數據集上  反向傳播bbox的損失,但是另外一個只能在輸入的真實數據(數據集 A)中帶有mask的損失上反向傳播

    • 在推斷過程中,當通過一個輸入的時候,函數 τ 預測mask特征需要相乘的權重。模型的一種拓展使用了融合MLP+FCN模型的方式來改善準確度。這里只是使用了簡單的MLP來代替。

    • 如下圖所示,兩個數據集:A是COCO數據集和B是VG數據集, 注意不同輸入(bbox和mask)在任意輸入計算得到不同的損失。

    • 反向傳播是計算這兩種損失會導致FAIR最新視覺論文集錦:FPN,RetinaNet,Mask 和 Mask-X RCNN(含代碼實現)的權重出現差異,因為COCO和VG之間的共同類別有兩個損失(bbox和mask),而其余類別只有一個(bbox)。這有一個解決辦法:

    • 當反向傳播mask時,計算預測mask權重FAIR最新視覺論文集錦:FPN,RetinaNet,Mask 和 Mask-X RCNN(含代碼實現)與權重傳遞函數參數θ的梯度,但不包括邊框權重FAIR最新視覺論文集錦:FPN,RetinaNet,Mask 和 Mask-X RCNN(含代碼實現) 。

    • FAIR最新視覺論文集錦:FPN,RetinaNet,Mask 和 Mask-X RCNN(含代碼實現)其中 τ  函數預測mask的權重


    FAIR最新視覺論文集錦:FPN,RetinaNet,Mask 和 Mask-X RCNN(含代碼實現)

    由于沒有注釋可用,因此他們無法在VG數據集上顯示精確度。 所以他們把這個想法應用到可以證明結果的數據集上。PASCAL-VOC有20個等級,在COCO中都很常見 。因此,他們使用VOC分類標簽進行培訓,并且只使用來自COCO的bbox標簽對這20個類進行訓練。 針對在COCO數據集的20個類的實例分割的任務的結果如下.  反之亦然,因為這兩個數據集中都有真實值(Ground truth),這個結果列在下面的表格中。

    FAIR最新視覺論文集錦:FPN,RetinaNet,Mask 和 Mask-X RCNN(含代碼實現)

    PS - 如果它變得有用的話,我打算查閱論文來寫一篇關于使用權重預測方法,去做有意思的事。

    代碼實現

    PyTorch

    參考文獻

    [1] Lin, Tsung-Yi, Piotr Dollár, Ross B. Girshick, Kaiming He, Bharath Hariharan and Serge J. Belongie. “Feature Pyramid Networks for Object Detection.” *2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR)* (2017): 936-944.
    [2] Lin, Tsung-Yi, Priya Goyal, Ross B. Girshick, Kaiming He and Piotr Dollár. “Focal Loss for Dense Object Detection.” *2017 IEEE International Conference on Computer Vision (ICCV)* (2017): 2999-3007.
    [3] He, Kaiming, Georgia Gkioxari, Piotr Dollár and Ross B. Girshick. “Mask R-CNN.” *2017 IEEE International Conference on Computer Vision (ICCV)* (2017): 2980-2988.
    [4] Hu, Ronghang, Piotr Dollár, Kaiming He, Trevor Darrell and Ross B. Girshick. “Learning to Segment Every Thing.” *CoRR*abs/1711.10370 (2017): n. pag.
    [5] Ren, Shaoqing, Kaiming He, Ross B. Girshick and Jian Sun. “Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks.” *IEEE Transactions on Pattern Analysis and Machine Intelligence* 39 (2015): 1137-1149.
    [6] Chollet, Fran?ois. “Xception: Deep Learning with Depthwise Separable Convolutions.” 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2017): 1800-1807.
    [7] Lin, Tsung-Yi, Michael Maire, Serge J. Belongie, James Hays, Pietro Perona, Deva Ramanan, Piotr Dollár and C. Lawrence Zitnick. “Microsoft COCO: Common Objects in Context.” ECCV (2014).
    [8] Krasin, Ivan and Duerig, Tom and Alldrin, Neil and Ferrari, Vittorio et al. OpenImages: A public dataset for large-scale multi-label and multi-class image classification. Dataset available from https://github.com/openimages
    [9] Krishna, Ranjay, Congcong Li, Oliver Groth, Justin Johnson, Kenji Hata, Joshua Kravitz, Stephanie Chen, Yannis Kalantidis, David A. Shamma, Michael S. Bernstein and Li Fei-Fei. “Visual Genome: Connecting Language and Vision Using Crowdsourced Dense Image Annotations.” International Journal of Computer Vision 123 (2016): 32-73.


    更多文章,關注雷鋒網 雷鋒網 雷鋒網

    添加雷鋒字幕組微信號(leiphonefansub)為好友

    備注「我要加入」,To be an  AI  Volunteer !

    FAIR最新視覺論文集錦:FPN,RetinaNet,Mask 和 Mask-X RCNN(含代碼實現)

    雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知

    FAIR最新視覺論文集錦:FPN,RetinaNet,Mask 和 Mask-X RCNN(含代碼實現)

    分享:
    相關文章

    知情人士

    AI研習社(yanxishe.com)譯站頻道,傳播前沿人工智能知識,讓語言不再成為學習知識的門檻。(原雷鋒字幕組)
    當月熱門文章
    最新文章
    請填寫申請人資料
    姓名
    電話
    郵箱
    微信號
    作品鏈接
    個人簡介
    為了您的賬戶安全,請驗證郵箱
    您的郵箱還未驗證,完成可獲20積分喲!
    請驗證您的郵箱
    立即驗證
    完善賬號信息
    您的賬號已經綁定,現在您可以設置密碼以方便用郵箱登錄
    立即設置 以后再說