微軟亞洲研究院視覺(jué)計(jì)算組又一個(gè)令人拍案叫絕的操作:可變形卷積網(wǎng)絡(luò)v2版!DCNv2方法簡(jiǎn)單,結(jié)果更好,在COCO基準(zhǔn)測(cè)試中比上個(gè)版本提升了5個(gè)點(diǎn)。
同樣的物體在圖像中可能呈現(xiàn)出不同的大小、姿態(tài)、視角變化甚至非剛體形變,如何適應(yīng)這些復(fù)雜的幾何形變是物體識(shí)別的主要難點(diǎn),也是計(jì)算機(jī)視覺(jué)領(lǐng)域多年來(lái)關(guān)注的核心問(wèn)題。
去年,微軟亞洲研究院視覺(jué)計(jì)算組提出了 “Deformable Convolutional Networks”(可變形卷積網(wǎng)絡(luò)),首次在卷積神經(jīng)網(wǎng)絡(luò)(CNN)中引入了學(xué)習(xí)空間幾何形變的能力,得到可變形卷積網(wǎng)絡(luò)(Deformable ConvNets),從而更好地解決了具有空間形變的圖像識(shí)別任務(wù)。
通俗地說(shuō),圖像中的物體形狀本來(lái)就是千奇百怪,方框型的卷積核,即使卷積多次反卷積回去仍然是方框,不能真實(shí)表達(dá)物體的形狀,如果卷積核的形狀是可以變化的,這樣卷積后反卷積回去就可以形成一個(gè)多邊形,更貼切的表達(dá)物體形狀,從而可以更好地進(jìn)行圖像分割和物體檢測(cè)。
研究員們通過(guò)大量的實(shí)驗(yàn)結(jié)果驗(yàn)證了該方法在復(fù)雜的計(jì)算機(jī)視覺(jué)任務(wù)(如目標(biāo)檢測(cè)和語(yǔ)義分割)上的有效性,首次表明在深度卷積神經(jīng)網(wǎng)絡(luò)(deep CNN)中學(xué)習(xí)空間上密集的幾何形變是可行的。
但這個(gè)Deformable ConvNets也有缺陷,例如,激活單元的樣本傾向于集中在其所在對(duì)象的周?chē)H欢瑢?duì)象的覆蓋是不精確的,顯示出超出感興趣區(qū)域的樣本的擴(kuò)散。在使用更具挑戰(zhàn)性的COCO數(shù)據(jù)集進(jìn)行分析時(shí),研究人員發(fā)現(xiàn)這種傾向更加明顯。這些研究結(jié)果表明,學(xué)習(xí)可變形卷積還有更大的可能性。
昨天,MSRA視覺(jué)組發(fā)布可變形卷積網(wǎng)絡(luò)的升級(jí)版本:Deformable ConvNets v2 (DCNv2),論文標(biāo)題也相當(dāng)簡(jiǎn)單粗暴:更加可變形,更好的結(jié)果!
論文地址:
https://arxiv.org/pdf/1811.11168.pdf
DCNv2具有更強(qiáng)的學(xué)習(xí)可變形卷積的建模能力,體現(xiàn)在兩種互補(bǔ)的形式:
第一種是網(wǎng)絡(luò)中可變形卷積層的擴(kuò)展使用。配備具有offset學(xué)習(xí)能力的更多卷積層允許DCNv2在更廣泛的特征級(jí)別上控制采樣。
第二種是可變形卷積模塊中的調(diào)制機(jī)制,其中每個(gè)樣本不僅經(jīng)過(guò)一個(gè)學(xué)習(xí)的offset,而且還被一個(gè)學(xué)習(xí)特征調(diào)制。因此,網(wǎng)絡(luò)模塊能夠改變其樣本的空間分布和相對(duì)影響。
為了充分利用DCNv2增強(qiáng)的建模能力,需要進(jìn)行有效的訓(xùn)練。受神經(jīng)網(wǎng)絡(luò)的knowledge distillation這一工作的啟發(fā),我們利用教師網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)這一目的,教師在訓(xùn)練期間提供指導(dǎo)。
具體來(lái)說(shuō),我們利用R-CNN作為教師網(wǎng)絡(luò)。由于它是訓(xùn)練用于對(duì)裁剪圖像內(nèi)容進(jìn)行分類(lèi)的網(wǎng)絡(luò),因此R-CNN學(xué)習(xí)的特征不受感興趣區(qū)域之外無(wú)關(guān)信息的影響。為了模仿這個(gè)屬性,DCNv2在其訓(xùn)練中加入了一個(gè)特征模擬損失,這有利于學(xué)習(xí)與R-CNN一致的特征。通過(guò)這種方式,DCNv2得到強(qiáng)大的訓(xùn)練信號(hào),用于增強(qiáng)可變形采樣。
通過(guò)這些改變,可變形模塊仍然是輕量級(jí)的,并且可以容易地結(jié)合到現(xiàn)有網(wǎng)絡(luò)架構(gòu)中。
具體而言,我們將DCNv2合并到Faster R-CNN 和Mask R-CNN 系統(tǒng),并具有各種backbone網(wǎng)絡(luò)。在COCO基準(zhǔn)測(cè)試上的大量實(shí)驗(yàn)證明了DCNv2相對(duì)于DCNv1在物體檢測(cè)和實(shí)例分割方面都有顯著改進(jìn)。
我們將在不久后發(fā)布DCNv2的代碼。
圖1:常規(guī)ConvNet、DCNv1以及DCNv2中conv5 stage最后一層節(jié)點(diǎn)的空間支持。
圖3:利用R-CNN feature mimicking的訓(xùn)練
結(jié)果
表4:COCO 2017 test-dev set 中各種backbones上的DCNv2、DCNv1和regular ConvNets的結(jié)果。
圖4:在COCO 2017 test-dev set不同分辨率的輸入圖像上,DCNv2和regular ConvNets(Faster R-CNN + ResNet-50 / ResNet-101)的APbbox分?jǐn)?shù)。
表6:DCNv2、DCNv1和regular ConvNets的ImageNet分類(lèi)準(zhǔn)確度。
可以看到,Deformable ConvNets v2的結(jié)果相當(dāng)亮眼!下面,我們精選了兩篇業(yè)內(nèi)對(duì)這篇論文的評(píng)價(jià),經(jīng)授權(quán)發(fā)布:
業(yè)界良心DCNV2:方法簡(jiǎn)單,結(jié)果好,分析充分
知乎用戶(hù)Bowen Cheng的評(píng)價(jià):
一周前就聽(tīng)說(shuō) Jifeng 組做出了Deformable ConvNet V2(DCNV2),今天 Jifeng 告訴我 paper 已經(jīng)掛 ArXiv 上之后果斷放下所有事把這篇 paper 好好讀了讀。感覺(jué)這個(gè)工作特別 solid,果然沒(méi)有讓人失望。下面簡(jiǎn)單談?wù)剛€(gè)人對(duì)這篇 paper 的理解,可能有不對(duì)的地方請(qǐng)大家多多指點(diǎn)!
DCNV2 首先用了更好的 visualization 來(lái)更深入的理解 DCNV1 為什么 work 以及還存在什么缺陷,發(fā)現(xiàn)存在的問(wèn)題就是因?yàn)?offset 不可控導(dǎo)致引入了過(guò)多的 context,而這些 context 可能是有害的([1]和 [2] 中也說(shuō)明了這些 context 可能是有害的)。
解決方法也很簡(jiǎn)單粗暴:
(1) 增加更多的 Deformable Convolution
(2)讓 Deformable Conv 不僅能學(xué)習(xí) offset,還能學(xué)習(xí)每個(gè)采樣點(diǎn)的權(quán)重(modulation)
(3)模擬 R-CNN 的 feature(knowledge distillation)
(1) 就不用說(shuō)了,在 DCNV1 中只有 ResNet 的 Conv5 stage 中有 Deformable Conv,在 DCNV2 中把 Conv3-Conv5 的 3x3 convolution 都換成了 Deformable Conv
(2) 在 DCNV1 里,Deformable Conv 只學(xué)習(xí) offset:
而在 DCNV2 中,加入了對(duì)每個(gè)采樣點(diǎn)的權(quán)重:
其中是學(xué)到的 offset,是學(xué)到的權(quán)重。這樣的好處是增加了更大的自由度,對(duì)于某些不想要的采樣點(diǎn)權(quán)重可以學(xué)成 0。
(3) [1] 中作者(好吧,其實(shí)作者是我)發(fā)現(xiàn)把 R-CNN 和 Faster RCNN 的 classification score 結(jié)合起來(lái)可以提升 performance,說(shuō)明 R-CNN 學(xué)到的 focus 在物體上的 feature 可以解決 redundant context 的問(wèn)題。但是增加額外的 R-CNN 會(huì)使 inference 速度變慢很多。DCNV2 里的解決方法是把 R-CNN 當(dāng)做 teacher network,讓 DCNV2 的 ROIPooling 之后的 feature 去模擬 R-CNN 的 feature。(圖里畫(huà)的很清楚了)
其中 feature mimic 的 loss 定義是:
在 end-to-end train 的時(shí)候這個(gè) loss 給了一個(gè) 0.1 的 weight。
實(shí)驗(yàn)結(jié)果大家看 paper 就好了,在 ResNet-50 backbone COCO 上跟 DCNV1 比漲了 5 個(gè)點(diǎn)!這比目前大部分 detection paper 靠東拼西湊漲的那一兩個(gè)點(diǎn)要強(qiáng)多了。我驚訝的是和 DCNV1 對(duì)比,在 image classification 上也有很大的提升。
說(shuō)說(shuō)自己的想法吧,DCNV2 方法簡(jiǎn)單,結(jié)果好,分析充分,我覺(jué)得和近期各種 detection paper 比算是業(yè)界良心了。我覺(jué)得還有可以學(xué)習(xí)的一點(diǎn)就是 context 的問(wèn)題。很多 detection 的 paper 都在引入 context(大家都 claim 說(shuō)小物體需要引入 context 來(lái)解決),其實(shí)我個(gè)人覺(jué)得有點(diǎn)在扯淡,物體小最直接的方法難道不是放大物體來(lái)解決嗎?比如 SNIP/SNIPER 都是在 “放大” 物體。所以在 context 這個(gè)問(wèn)題上我(詳情見(jiàn) [1] 和[2])跟 Jifeng 他們的看法是一樣的,我們也許不需要那么多沒(méi)用的 context。作者都是熟人,我也不多吹了,反正我是準(zhǔn)備去 follow 這個(gè)工作了哈哈。
最后說(shuō)說(shuō) DCN 有一個(gè)小缺點(diǎn),其實(shí)就是速度的問(wèn)題。因?yàn)闆](méi)有 cudnn 的加速,DCN 完全是靠 im2col 實(shí)現(xiàn)的(從目前的 MXNet 版本來(lái)看是這樣的),當(dāng) batchsize 大的時(shí)候我感覺(jué)速度會(huì)比有 cudnn 加速的 3x3 conv 慢。很好奇當(dāng) batchsize 大的時(shí)候(比如 ImageNet)的 training 時(shí)間會(huì)慢多少。希望以后能和 dilated convolution 一樣被加到 cudnn 里支持吧。
發(fā)現(xiàn)好多人好像沒(méi)有看過(guò) [1][2],放張 network 的圖(宣傳一下自己的工作),DCN V2 的 mimic R-CNN 和 DCR V1 的結(jié)構(gòu)類(lèi)似,但是通過(guò) knowledge distillation 很巧妙的在 inference 階段把 R-CNN 給去掉了。
[1] Revisiting RCNN: On Awakening the Classification Power of Faster RCNN
[2] Decoupled Classification Refinement: Hard False Positive Suppression for Object Detection
創(chuàng)新性與性能雙贏,COCO漲了5個(gè)點(diǎn)!
知乎用戶(hù)孔濤的評(píng)價(jià):
首先祭出結(jié)論,這是一篇干貨滿(mǎn)滿(mǎn),novelty 和 performance 雙贏的 paper(COCO 直接漲了~ 5 個(gè)點(diǎn)啊)。
自己一直在做 object detection 相關(guān)的工作,再加上之前在 MSRA 跟 Jifeng 及 CV 組的小伙伴共事過(guò)一段時(shí)間,努力給出客觀的評(píng)價(jià)吧。
從 Deform ConvNet V1 說(shuō)起
目標(biāo)檢測(cè)中有一個(gè)比較棘手的問(wèn)題,即所謂的幾何形變問(wèn)題(Geometric variations)。就拿人檢測(cè)來(lái)講,人的姿態(tài)有多種多樣(想想跳舞的場(chǎng)景),這就需要我們?cè)O(shè)計(jì)的模型具備 deformation 的能力。通常情況下為了解決這類(lèi)問(wèn)題有兩種思路:(a) 收集更多樣的數(shù)據(jù)用于模型的訓(xùn)練;(b) 設(shè)計(jì) transformation invariant 的特征來(lái)提升模型多樣化能力。
Deform ConvNet 是在卷積神經(jīng)網(wǎng)絡(luò)的框架下,對(duì) transformation-invariant feature 的比較成功的嘗試。思想非常直觀,在標(biāo)準(zhǔn)的卷積核上加入了可學(xué)習(xí)的 offset,使得原來(lái)方方正正的卷積核具備了形變的能力。
deformable convolution
用過(guò)的童鞋其實(shí)都知道,在大型的 object detection/instance segmentation 任務(wù)上的表現(xiàn)還蠻搶眼的。
Deform ConvNet V2 在干啥
我認(rèn)為,Deform ConvNet 是在解決如何讓學(xué)到的 offset 能更聚焦到感興趣的物體上邊,也就是提取到更聚焦的 feature 來(lái)幫助物體的識(shí)別定位。在下邊的圖片中,我們當(dāng)然希望模型的 feature 能夠聚焦到物體上邊,這樣才能提取到更有意義的 supporting feature。
為了做到這一點(diǎn),作者主要用了幾種策略:
(a) 增加更多的 offset 層,這個(gè)不必細(xì)說(shuō);
(b) 在 deform convolution 中引入調(diào)節(jié)項(xiàng) (modulation),這樣既學(xué)到了 offset,又有了每個(gè)位置的重要性信息;
(c) Feature Mimicking,作者強(qiáng)調(diào),簡(jiǎn)單在對(duì)應(yīng)的 feature 上用 roi-pooling 來(lái)提取對(duì)應(yīng)位置的 feature 并不一定能提取到最有用的信息(可能包含無(wú)用的 context)。如何才能讓 feature 更加聚焦到物體上呢?解決就是 Mimicking 技術(shù),讓 roi-pooling 之后的 feature 更像直接用 R-CNN 學(xué)到的 feature。
其他
除了漂亮的結(jié)果,我覺(jué)得 paper 的可視化分析部分也挺值得好好看看的。
另外很難理解為什么 Feature Mimicking 在 regular Faster R-CNN 上不 work。
從最近的一些 paper 結(jié)果看,至少目前在 deep 的框架下,針對(duì) task,讓模型提取更加有意義的 feature 是個(gè)比較熱 / 好的方向吧。
-
微軟
+關(guān)注
關(guān)注
4文章
6629瀏覽量
104466 -
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4779瀏覽量
101171 -
計(jì)算機(jī)視覺(jué)
+關(guān)注
關(guān)注
8文章
1700瀏覽量
46127
原文標(biāo)題:MSRA視覺(jué)組可變形卷積網(wǎng)絡(luò)升級(jí)!更高性能,更強(qiáng)建模能力
文章出處:【微信號(hào):AI_era,微信公眾號(hào):新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論