MaskRCNN:三大基础结构DeepMask、SharpMask、MultiPathNet
???? ?? MaskXRCnn儼然成為一個現階段最成功的圖像檢測分割網絡,關于MaskXRCnn的介紹,需要從MaskRCNN看起。
???? ?? 當然一個煽情的介紹可見:何愷明團隊推出Mask^X R-CNN,將實例分割擴展到3000類。
??????? MaskRCnn取得的精細結果有三個主要技術構架:DeepMask、SharpMask、MultiPathNet。MaskRCNN與普通FNN的典型不同之處,重要兩點為添加了SharpMask、MultiPathNet。
??????? 文章鏈接:FaceBook的物體檢測新框架研究
Index
一、DeepMask【Learning to Segment Object Candidates.2015?NIPS】DeepMask筆記
二、SharpMask【Learning to Refine Object Segments.2016?ECCV】SharpMask筆記
三、MultipathNet【A MultiPath Network for Object Detection.2016?BMVC】
? ? ? ? FAIR開發了一項用于發現和切割單張圖像中每個物體的新技術,這一技術的主要驅動算法是DeepMask——一個新的圖像分割框架,以及SharpMask——一個圖像分割refine模型,二者結合使得FAIR的機器視覺系統能夠感知并且精確的描繪一張圖片中任何物體的輪廓。這一識別管道中的最后一步,研究院使用了一個特殊的卷積網絡,稱為MultiPathNet,為圖片中檢測到的物體添加標簽。也就是說Facebook研究院的物體檢測系統遵循一個三階段的過程:(1)DeepMask生成初始物體mask(2)SharpMask優化這些mask(3)MutiPathNet識別每個mask框定的物體。
? ? ? ? DeepMask證明了:訓練深度學習模型執行類別不可知掩碼預測任務(不考慮類別而預測目標掩碼)是不可能實現的。對于掩碼質量稍微損失的Mask R-CNN而言也是這樣。
- DeepMask的技巧是把分割看成是一個海量的二進制分類問題
-
- 對一張圖像中的每一個重疊的圖像塊:這個圖像塊包含一個物體嗎?如果包含,那對于一個圖像塊中的每個像素:這個像素是圖像塊中心物體的一部分嗎?用深度網絡來回答每一個Yes/No的問題
-
- 上層功能以相當低的空間分辨率計算,這為mask預測帶來一個問題:mask能捕捉一個物體大致外形,但不能準確捕捉物體邊界。
- SharpMask優化DeepMask的輸出,產生具有更高保真度的能精確框定物體邊界的mask
-
- 在DeepMask預測前向通過網絡時,SharpMask反轉信息在深度網絡的流向,并通過使用progressively earlier layers的特性來優化DeepMask做的預測。
-
- 要捕捉物體外形,你必須高度理解你正在看的是什么(DeepMask);但是要準確框出邊界,你需要使用低層次的特性一直到像素級(SharpMask)
- DeepMask不知道具體對象類型,盡管可以框定但不能區分物體;以及沒有選擇性,會為不是很有趣的圖像區域生成mask
-
- 訓練一個單獨的深度網絡來對每一個DeepMask產生的mask的物體類型進行分類(包括“無”),采用R-CNN
-
- 改進是使用DeepMask作為R-CNN的第一階段。
-
- 對于RCNN的第二階段,使用一個專門的網絡架構來對每一個mask進行分類,也就是MultiPathNet,允許信息以多種路徑通過網絡,從而使其能夠在多種圖像尺寸和圖像背景中挖掘信息。
- MultiPathNet目的是提高物體檢測性能,包括定位的精確度和解決一些尺度、遮擋、集群的問題。網絡的起點是Fast R-CNN。
-
- 基本上,MultiPathNet就是把Fast R-CNN與DeepMask/SharpMask一起使用,但是做了一些特殊的改造,例如:skip connections、foveal regions和integral loss function。
-
- ?
???? 請繼續參考原文...............
?
MultiPathNet
A MultiPath Network for Object Detection
- intro: BMVC 2016. Facebook AI Research (FAIR)
- arxiv:?http://arxiv.org/abs/1604.02135
- github:?https://github.com/facebookresearch/multipathnet
原文鏈接: ******A MultiPath Network for Object Detection-分割網絡
??????? CNN一般完成對框的檢測,而MaskRCNN則識別Mask。
?????? 有了DeepMask輸出的粗略分割mask,經過SharpMask refine邊緣,接下來就要靠MultiPathNet來對mask中的物體進行識別分類了。MultiPathNet目的是提高物體檢測性能,包括定位的精確度和解決一些尺度、遮擋、集群的問題。網絡的起點是Fast R-CNN,基本上,MultiPathNet就是把Fast R-CNN與DeepMask/SharpMask一起使用,但是做了一些特殊的改造,例如:skip connections、foveal regions和integral loss function。
1.背景工作
????????? 顯然自從Fast R-CNN出現以來的object detector基本都是將它作為起點,進行一些改造,我們先來總結一下這些改造,以便理解本文的想法。Context核心思想就是利用物體周圍的環境信息,比如有人在每個物體周圍crop了10個contextual區域輔助檢測。本文就是借鑒這種做法不過只用了4個contextual區域,涉及特殊的結構。
Skip connections
???? Sermanet提出一個多階段的分類器利用許多個卷積層的特征來實現行人檢測,取得了很好的效果,這種‘skip’結構最近在語義分割方面也很火吶
?????? Classifers
大家都知道現在基本上是CNN結構的天下啦。。。本文用的是VGG-D,如果和何凱明的ResNet結合效果應該會更好噠。
2.網絡結構
先上整個結構圖:
?
Foveal regions
??????? 像Fast R-CNN一樣,圖像先經過VGG16的13個卷積層生成conv feature map,然后經過RoI pooling層提取特征。從結構圖里可以看到,對每個object?proposal,都產生4個不同的region crops,相當于從不同的尺度來看這個物體,這就是所謂的‘foveal region’。
Skip connections
?????? VGG16有四個pooling層,所以圖像尺寸會/16,那我們設想一個32*32大小的物體,經過VGG16就剩2*2了。雖然RoI pooling層輸出7*7的feature map,但是很顯然我們損失了太多的空間信息 。
所以呢,要把conv3(/4*256)、conv4(/8*512)、conv5(/16*512)層的【RoI-pooled normalized 】feature級聯起來一起送到foveal分類器,這種級聯使得foveal分類器可以利用不同位置的特征,有種彌補空間信息損失的味道在里面呢~注意需要用1*1的卷積層把級聯特征的維度降低到分類器的輸入維度。
文章說,他們只把conv3連接到1×的分類器head,conv4連接到1×、1.5×和2×的head。
- Integral Loss
??????? 在原來的Fast R-CNN中,如果一個proposal與一個ground-truth box的IoU大于50,那么就給它分配ground-truth的標簽,否則就是0。然后在Fast R-CNN的分類loss里面(用的是log loss),對所有proposal的IoU大于50的一樣對待,這其實有點不合理:我們希望IoU越大的對loss的貢獻越大吧~所以本文就用Integral loss代替了原來Fast-RCNN的分類loss:
???????
?????? 那當然積分就要用加和的方式近似啦,本文選擇用n=6個不同的閾值,所以現在對每一個object rpoposal實際上有n個ground-truth label了,每個閾值一個~相應的每個閾值應該也得有一個分類輸出的概率吧,所以我們看到結構圖最后有6個分類器。在inference的時候,每個分類器的softmax概率輸出求平均得到最終的class probabilities。
??????? 至此,Mask識別完成。
參考:
P. O. Pinheiro, R. Collobert, and P. Dollar. Learning to segmentobject candidates. In NIPS, 2015. 2, 3[33] P. O. Pinheiro, T.-Y. Lin, R. Collobert, and P.
P. O. Pinheiro, T.-Y. Lin, R. Collobert, and P . Doll′ar. Learningto refine object segments. In ECCV, 2016. 2, 3
總結
以上是生活随笔為你收集整理的MaskRCNN:三大基础结构DeepMask、SharpMask、MultiPathNet的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 海盗船推出新款 3000D AIRFLO
- 下一篇: 海外电商和菜鸟业绩亮眼,蒋凡、万霖晋升阿