场景分割:MIT Scene Parsing 与DilatedNet 扩展卷积网络
MIT Scene Parsing Benchmark簡介
??????? Scene parsing is to segment and parse an image into different image regions associated with semantic categories, such as sky, road, person, and bed. MIT Scene Parsing Benchmark (SceneParse150) provides a standard training and evaluation platform for the algorithms of scene parsing. The data for this benchmark comes fromADE20K Dataset which contains more than 20K scene-centric images exhaustivelyannotated with objects and object parts. Specifically, the benchmark is divided into 20K images for training, 2K images for validation, and another batch of held-out images for testing. There are totally 150 semantic categories included for evaluation, which include stuffs like sky, road, grass, and discrete objects like person, car, bed. Note that there are non-uniform distribution of objects occuring in the images, mimicking a more natural object occurrence in daily scene.
???? ?? scene Benchmark包含了150個物體類別,包括一般無定型的墻壁、水域、地板、道路,也包括常見的室內目標如窗戶、桌子、椅子、床、杯子等粘附和非粘附目標,包含了COCO數據集的大多數類別。
??????? 主頁鏈接:http://sceneparsing.csail.mit.edu/?????????????????
??????? 預訓練模型: http://sceneparsing.csail.mit.edu/model/????????
? ? ? ? Model ZOO : https://github.com/CSAILVision/sceneparsing/wiki/Model-Zoo ?? ??????
??????? 一些State 的結果:https://drive.google.com/drive/folders/0B9CKOTmy0DyaQ2oxUHdtYUd2Mm8?usp=sharing
??????? 挑戰結果: http://placeschallenge.csail.mit.edu/results_challenge.html? Face++ 暫時排在第一名
?????????
1. FCN與去卷積網絡
? deconv的其中一個用途是做upsampling,即增大圖像尺寸。而dilated conv并不是做upsampling,而是增大感受野。
? 參考:如何理解深度學習中的去卷積網絡層
???? ? ? (1) s>1,即卷積的同時做了downsampling,卷積后圖像尺寸減小;
????? ?? (2) s=1,普通的步長為1的卷積,比如在tensorflow中設置padding=SAME的話,卷積的圖像輸入和輸出有相同的尺寸大小;
????? ?? (3) 0<s<1,fractionally strided convolution,相當于對圖像做upsampling。比如s=0.5時,意味著在圖像每個像素之間padding一個空白的像素后,stride改為1做卷積,得到的feature map尺寸增大一倍。
???????? 而dilated conv不是在像素之間padding空白的像素,而是在已有的像素上,skip掉一些像素,或者輸入不變,對conv的kernel參數中插一些0的weight,達到一次卷積看到的空間范圍變大的目的。
2. 所謂孔洞卷積
???? ? ? dilated conv,中文可以叫做空洞卷積或者擴張卷積。
??????? 參考:如何理解擴展卷積網絡?下一段摘抄于此文
??????? 參考:Multi-scale context aggregation by dilated convolutions
??????? 誕生背景,在圖像分割領域,圖像輸入到CNN(典型的網絡比如FCN[3])中,FCN先像傳統的CNN那樣對圖像做卷積再pooling,降低圖像尺寸的同時增大感受野,但是由于圖像分割預測是pixel-wise的輸出,所以要將pooling后較小的圖像尺寸upsampling到原始的圖像尺寸進行預測(upsampling一般采用deconv反卷積操作,deconv可參見知乎答案如何理解深度學習中的deconvolution networks?),之前的pooling操作使得每個pixel預測都能看到較大感受野信息。因此圖像分割FCN中有兩個關鍵,一個是pooling減小圖像尺寸增大感受野,另一個是upsampling擴大圖像尺寸。在先減小再增大尺寸的過程中,肯定有一些信息損失掉了,那么能不能設計一種新的操作,不通過pooling也能有較大的感受野看到更多的信息呢?答案就是dilated conv。
下面看一下dilated conv原始論文[4]中的示意圖:
????????
(a)圖對應3x3的1-dilated conv,和普通的卷積操作一樣,(b)圖對應3x3的2-dilated conv,實際的卷積kernel size還是3x3,但是空洞為1,也就是對于一個7x7的圖像patch,只有9個紅色的點和3x3的kernel發生卷積操作,其余的點略過。也可以理解為kernel的size為7x7,但是只有圖中的9個點的權重不為0,其余都為0。 可以看到雖然kernel size只有3x3,但是這個卷積的感受野已經增大到了7x7(如果考慮到這個2-dilated conv的前一層是一個1-dilated conv的話,那么每個紅點就是1-dilated的卷積輸出,所以感受野為3x3,所以1-dilated和2-dilated合起來就能達到7x7的conv),(c)圖是4-dilated conv操作,同理跟在兩個1-dilated和2-dilated conv的后面,能達到15x15的感受野。對比傳統的conv操作,3層3x3的卷積加起來,stride為1的話,只能達到(kernel-1)*layer+1=7的感受野,也就是和層數layer成線性關系,而dilated conv的感受野是指數級的增長。
?????? dilated的好處是不做pooling損失信息的情況下,加大了感受野,讓每個卷積輸出都包含較大范圍的信息。在圖像需要全局信息或者語音文本需要較長的sequence信息依賴的問題中,都能很好的應用dilated conv,比如圖像分割[3]、語音合成WaveNet[2]、機器翻譯ByteNet[1]中。
?????? 可以把網絡看做一個pooling層插值網絡。
????? 參考:Yu, Fisher, and Vladlen Koltun. "Multi-scale context aggregation by dilated convolutions."arXiv preprint arXiv:1511.07122 (2015).
使用預訓練模型得到的一些結果:
???????
預處理模型效果不是很好,應該使用競賽排名top的幾個模型
總結
以上是生活随笔為你收集整理的场景分割:MIT Scene Parsing 与DilatedNet 扩展卷积网络的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 蚂蚁任命杨鹏为蚂蚁国际事业群总裁 向井贤
- 下一篇: 点云插值:三维平面参数确定-不共线三点的