1. 程式人生 > >Semantic Segmentation記錄(個人)

Semantic Segmentation記錄(個人)

Personal-Semantic-Segmentation-Paper-Record

Under construction!

Table of Contents

Deep Learning Methods

Semantic Segmentation

FCN ★★★

[Paper] Learning a Deep Convolutional Network for Image Super-Resolution

[Year] CVPR 2015

[Authors] Evan Shelhamer, Jonathan Long, Trevor Darrell

[Pages]



https://github.com/shelhamer/fcn.berkeleyvision.org (official)

https://github.com/MarvinTeichmann/tensorflow-fcn (tensorflow)

https://github.com/wkentaro/pytorch-fcn (pytorch)

[Description]

1) 首篇(?)使用end-to-end CNN實現Semantic Segmentation,文中提到FCN與提取patch逐畫素分類是等價的,但FCN中相鄰patch間可以共享計算,因此大大提高了效率
2) 把全連線視為一種卷積
3) 特徵圖通過deconvolution(初始為bilinear interpolation)上取樣,恢復為原來的解析度
4) 使用skip connection改善coarse segmentation maps

U-Net ★

[Paper] U-Net: Convolutional Networks for Biomedical Image Segmentation

[Year] MICCAI 2015

[Authors] Olaf Ronneberge, Philipp Fischer, Thomas Brox

[Pages]

https://lmb.informatik.uni-freiburg.de/people/ronneber/u-net/

https://github.com/orobix/retina-unet

[Description]

1) encoder-decoder結構,encode設計參考的是FCN,decode階段將encode階段對應的特徵圖與up-conv的結果concat起來
2) 用於醫學影象分割,資料集小,因此做了很多data augmentation,網路結構也較為簡單

zoom-out ★

[Paper] Feedforward semantic segmentation with zoom-out features

[Year] CVPR 2015

[Authors] Mohammadreza Mostajabi, Payman Yadollahpour, Gregory Shakhnarovich

[Pages] https://bitbucket.org/m_mostajabi/zoom-out-release

[Description]

1) 以超畫素為最小單位,逐步zoom out提取更大尺度的資訊,zoom out特徵是從CNN不同層提取的特徵得到的
2) 特徵在超畫素的範圍內進行average pooling,並concat不同level的特徵得到該超畫素最後的特徵向量。用樣本集中每一類出現頻率的倒數加權loss。

Dilated Convolution★

[Paper] Multi-Scale Context Aggregation By Dilated Convolutions

[Year] ICLR 2016

[Authors] Fisher Yu , Vladlen Koltun

[Pages] https://github.com/fyu/dilation

[Description]

1) 系統使用了dilated convulution,其實現已被Caffe收錄

DeepLab ★★

[Paper] Semantic Image Segmentation with Deep Convolutional Nets and Fully Connected CRFs

[Year] ICLR 2015

[Authors] Liang-Chieh Chen, George Papandreou, Iasonas Kokkinos, Kevin Murphy, Alan L. Yuille

[Pages] https://bitbucket.org/deeplab/deeplab-public

[Description]

1) 在保證感受野大小的同時,輸出dense feature。做法是把VGG16後兩個pool stride設定為1,用Hole演算法(也就是Dilation卷積)控制感受野範圍
2) 輸出用全域性CRF後處理,一元項為pixel的概率,二元項為當前pixel與影象中除自己外的每個pixel的相似度,考慮顏色和位置,使用高斯核。全連線CRF參考Efficient Inference in Fully Connected CRFs with Gaussian Edge Potentials
3) 與FCN相似,也使用了多尺度預測

[Paper] Weakly- and Semi-Supervised Learning of a Deep Convolutional Network for Semantic Image Segmentation

[Year] ICCV 2015

[Authors] George Papandreou, Liang-Chieh Chen, Kevin Murphy, Alan L. Yuille

DeepLab-V2 ★

[Paper] DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs

[Year] arXiv 2016

[Authors] Liang-Chieh Chen, George Papandreou, Iasonas Kokkinos, Kevin Murphy, Alan L. Yuille

[Pages]

http://liangchiehchen.com/projects/DeepLab.html

https://github.com/DrSleep/tensorflow-deeplab-resnet (tensorflow)

https://github.com/isht7/pytorch-deeplab-resnet (pytorch)

[Description]

1) 與V1相比的不同是:不同的學習策略,多孔空間金字塔池化(ASPP),更深的網路和多尺度。ASPP就是使用不同stride的dilated conv對同一特徵圖進行處理

DeepLab-V3 ☆

[Paper] Rethinking Atrous Convolution for Semantic Image Segmentation

[Year] arXiv 1706

[Authors] Liang-Chieh Chen, George Papandreou, Florian Schroff, Hartwig Adam

[Pages] https://github.com/tensorflow/models/tree/master/research/deeplab

[Description]

1) 使用串聯和並行的atrous cov,使用bn,結構優化,達到了soa的精度(080116)

DeepLab-V3+ ★☆

[Paper] Rethinking Atrous Convolution for Semantic Image Segmentation

[Year] arXiv 2017

[Authors] Liang-Chieh Chen, Yukun Zhu, George Papandreou, Florian Schroff, Hartwig Adam

[Pages] https://github.com/tensorflow/models/tree/master/research/deeplab

[Description]

1) 在DeepLab-V3作為encoder的基礎上, 加入了一個簡單的decoder, 而不是直接上取樣; 採用Xception作為backbone
2) VOC上分割任務達到soa (0800314), 效果好

CRFasRNN ★♥

[Paper] Conditional Random Fields as Recurrent Neural Networks

[Year] ICCV 2015

[Authors] Shuai Zheng, Sadeep Jayasumana, Bernardino Romera-Paredes, Vibhav Vineet, Zhizhong Su, Dalong Du, Chang Huang, Philip H. S. Torr

[Pages] http://www.robots.ox.ac.uk/~szheng/CRFasRNN.html

[Description]

1) 將CRF推斷步驟用卷積, softmax等可微模組替代, 並使用RNN的遞迴迭代, 將CRF用類似RNN的結構近似. 整個模型都可以end-to-end的優化.
2) 全連線CRF及其推斷是在Efficient Inference in Fully Connected CRFs with Gaussian Edge Potentials的基礎上設計的. 待深入研究CRF後應再仔細閱讀這篇paper.

DeconvNet ★

SegNet ★★

[Paper] SegNet: A Deep Convolutional Encoder-Decoder Architecture for Robust Semantic Pixel-Wise Labelling

[Year] arXiv 2015

[Authors] Alex Kendall, Vijay Badrinarayanan, Roberto Cipolla

[Pages] http://mi.eng.cam.ac.uk/projects/segnet/

[Paper] SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation

[Year] PAMI 2017

[Authors] Vijay Badrinarayanan, Alex Kendall, Roberto Cipolla

[Description]

1) encoder-decoder的代表模型之一,特點是將encoder中的pooling indices儲存下來,decoder上取樣時用這些indices得到sparse feature map,再用trainable conv得到dense feature map

Piecewise CRF

[Paper] Efficient piecewise training of deep structured models for semantic segmentation

[Year] CVPR 2016

[Authors] Guosheng Lin, Chunhua Shen, Anton van dan Hengel, Ian Reid

[Pages]

[Description]

1) 粗讀. CRF部分沒怎麼看懂.
2) FeatMap-Net接受multi-scale的輸入, 生成feature map; 基於feature map設計了CRF的unary和pairwise potential, pairwise中考慮了surrounding和above/below兩種context.
3) CRF training提出了基於piecewise learning的方法.

ENet ★

[Paper] ENet: A Deep Neural Network Architecture for Real-Time Semantic Segmentation

[Year] arXiv 1606

[Authors] Adam Paszke, Abhishek Chaurasia, Sangpil Kim, Eugenio Culurciello

[Pages] https://github.com/e-lab/ENet-training

[Description]

1) 一種快速的encoder-decoder分割網路
2) 大encoder,小decoder; PReLU代替ReLU; 1xn和nx1卷積代替nxn卷積

ParseNet ★

[Paper] ParseNet: Looking Wider to See Better

[Year] ICLR 2016

[Authors] Wei Liu, Andrew Rabinovich, Alexander C. Berg

[Pages] https://github.com/weiliu89/caffe/tree/fcn

[Description]

1) 一種簡單的加入global context的方法. 將feature map進行global pooling和L2 norm, 將得到的向量unpool成與原feature map相同尺寸, 再concatenate到也進行了L2 norm的feature map上.
2) 通過簡單實驗, 提出實際感受野往往遠小於理論感受野. 很多paper都引用了這一類觀點, 但是感覺缺乏理論論證-_-||

FoveaNet ★★

[Paper] FoveaNet: Perspective-aware Urban Scene Parsing

[Year] ICCV 2017 Oral

[Authors] Xin Li, Zequn Jie, Wei Wang, Changsong Liu, Jimei Yang, Xiaohui Shen, Zhe Lin, Qiang Chen, Shuicheng Yan, Jiashi Feng

[Pages]

[Description]

1) 提出了一種perspective-aware parsing network, 以解決 heterogeneous object scales問題, 提高遠處小物體的分割精度, 減少近處大物體的”broken-down”現象.
2) 為更好解析接近vanishing point(即遠離成像平面處)的物體, 提出了perspective estimation network(PEN). 通過PEN得到距離的heatmap, 根據heatmap得到包含大多數小目標的fovea region. 將fovea region放大, 與原圖並行地送入網路解析. 解析出來的結果再放回原圖.
3) 為解決近處目標的”broken-down”問題, 提出了perspective-aware CRF. 結合PEN得到的heatmap和目標檢測, 使屬於近處目標的畫素有更大的pairwise potential, 屬於遠處目標的畫素有更小的parwise potential, 有效緩解了”broken-down”和過度平滑的問題.

PSPNet ★☆

[Paper] Pyramid Scene Parsing Network

[Year] CVPR 2017

[Authors] Hengshuang Zhao, Jianping Shi, Xiaojuan Qi, Xiaogang Wang, Jiaya Jia

[Pages] https://hszhao.github.io/projects/pspnet/

[Description]

1) 提出了pyramid pooling module結合不同尺度的context information。PSPNet把特徵圖進行不同尺度的pooling(類似spatial pyramid pooling),再將所有尺度的輸出scale到相同尺寸,並concat起來
2) 再res4b22後接了一個auxiliary loss,使用resnet網路結構

RefineNet ★☆

[Paper] RefineNet: Multi-Path Refinement Networks for High-Resolution Semantic Segmentation

[Year] CVPR 2017

[Authors] Xiaohang Zhan, Ziwei Liu, Ping Luo , Xiaoou Tang, Chen Change Loy

[Pages] https://github.com/guosheng/refinenet

[Description]

1) encoder為4組殘差塊, 逐漸降低解析度; decoder部分為論文提出的RefineNet. 作者認為提出的模型對高解析度影象的細節資訊有更好的分辨能力;
2) RefineNet前半部分為multi-resolution fusion, 類似於UNet, decoder的每一級模組都利用了對應的encoder模組的資訊;
3) RefineNet後半部分為Chained residual pooling, 目的是”capture background context from a large image region”.

GCN ★

[Paper] Large Kernel Matters—— Improve Semantic Segmentation by Global Convolution

[Year] CVPR 2017

[Authors] Peng Chao, Xiangyu Zhang Gang Yu, Guiming Luo, Jian Sun

[Pages]

[Description]

1) 文章認為, segmentation包括localization和classification兩部分, 分類需要全域性資訊, localization需要保證feature map的解析度以保證空間準確度, 因此二者存在矛盾. 本文提出的解決辦法就是用large kernel, 既可以保持解析度, 又能近似densely connections between feature maps and per-pixel classifiers;

2) 文中使用k*1+1*k和1*k+k*1代替k*k的大kernel. 引入boundary refinement模組, 使用殘差結構, 捕捉邊界資訊;

3) 只根據實驗說明提出的模型由於k*k kernel和多個小kernel堆疊的策略, 但是並沒什麼理論支援;

4) 一點不明白: 為什麼提出的基於殘差結構的BR可以model the boundary alignment?

PixelNet ★

[Paper] Representation of the pixels, by the pixels, and for the pixels

[Year] TPAMI 2017

[Authors] Aayush Bansal, Xinlei Chen, Bryan Russell, Abhinav Gupta, Deva Ramanan

[Pages] http://www.cs.cmu.edu/~aayushb/pixelNet/

[Description]

1) 粗讀. 使用hypercolumn思想, 速度快. 適用於segmentation, 邊緣檢測, normal estimation等low-level到high-level的多種問題.
2) hypercolumn即: 對於一個pixel, 將每一層feature map中其對應位置的feature連線起來組成一個vector, 用MLP對該vector分類.
3) 文中提出, 訓練時 just sampling a small number of pixels per image is sufficient for learning. 這樣一個mini-batch裡就可以從多張圖片中取樣, 增加了diversity.

LinkNet ☆

[Paper] LinkNet: Exploiting Encoder Representations for Efficient Semantic Segmentation

[Year] arXiv 1707

[Authors] Abhishek Chaurasia, Eugenio Culurciello

[Pages] https://codeac29.github.io/projects/linknet/

[Description]

1) 還沒讀, 大致是一個類似U-Net的結構, 速度快

SDN ★

[Paper] Stacked Deconvolutional Network for Semantic Segmentation

[Year] arXiv 1708

[Author] Jun Fu, Jing Liu, Yuhang Wang, Hanqing Lu

[Pages]

[Description]

1) 粗讀. 效果好, 未開源.
2) 以DenseNet為基礎, 構建了stacked的encoder-decoder模型, 論文中認為這能更好的捕捉multi-scale context. 網路充滿了inter和intra的unit connections, 並加入了hierarchical supervisions, 使非常深的SDN能夠成功訓練.

Weakly Supervision

Image-level to Pixel-level Labeling

[Paper] From Image-level to Pixel-level Labeling with Convolutional Networks

[Year] CVPR 2015

[Authors] Pedro O. Pinheiro, Ronan Collobert

[Pages]

[Description]

1) 一種weakly supervised方法,用影象類別標籤訓練分割模型,分割中每個類別的特徵圖用log-sum-exp變換為分類任務中每個類別的概率,通過最小化分類的loss優化分割模型
2) 推斷時為抑制False Positive現象,使用了兩種分割先驗:Image-Level Prior(分類概率對分割加權)和Smooth Prior(超畫素,bounding box candidates,無監督分割MCG)。

BoxSup ★

[Paper] BoxSup: Exploiting Bounding Boxes to Supervise Convolutional Networks for Semantic Segmentation

[Year] ICCV 2015

[Authors] Jifeng Dai, Kaiming He, Jian Sun

[Pages]

[Description]

1) 弱監督語義分割,用bounding box結合region proposal(MCG)生成初始groundtruth mask,再交替更新分割結果和mask.

Self-supervision

Mix-and-Match ★

[Paper] Mix-and-Match Tuning for Self-Supervised Semantic Segmentation

[Year] AAAI 2018

[Authors] Xiaohang Zhan, Ziwei Liu, Ping Luo, Xiaoou Tang, Chen Change Loy

[Pages] http://mmlab.ie.cuhk.edu.hk/projects/M&M/

[Description]

1) self-supervision可分為proxy stage和fine-tuning stage兩個階段. 先用無需標籤資料的proxy task(如影象上色)進行預訓練, 學到某種語義特徵, 再用少量的標記資料進行微調. 但由於proxy task和target task之間存在semantic gap, 自監督方法效能明顯較監督方法差.
2) 論文提出了”mix-and-match”策略, 利用少數標記資料提升自監督預訓練網路的效能. mix step: 從不同影象中隨機提取patch. match step: 在訓練時通過on-the-fly的方式構建graph, 並生成triplet, triplet包括anchor , positive, negative patch三個元素. 據此可定義一triplet loss, 鼓勵相同類別的patch更相似, 不同類別的patch差別更大.
3) 對自監督瞭解不夠深入, 看程式碼有助理解. segmentation部分採用的hypercolumn方法論文中貌似沒仔細說, 以後可以再研究研究.

Other Interesting Methods

COB ★

[Paper] Convolutional Oriented Boundaries

[Year] ECCV 2016

[Author] K.K. Maninis, J. Pont-Tuset, P. Arbeláez, L.Van Gool

[Pages] http://www.vision.ee.ethz.ch/~cvlsegmentation/cob/index.html

[Description]

1) 由邊緣概率得到分割結果, 整體流程來自伯克利的gPb-owt-ucm, 將前面得到概率圖的部分用CNN代替
2) CNN部分使用多尺度模型預測coarse和fine的8方向的概率
3) UCM部分提出了sparse boundaries representation, 加快了速度

Traditional Classical Methods

gPb-owt-ucm ★★★

Datasets

Leaderboards

Sources-Lists

相關推薦

Semantic Segmentation記錄個人

Personal-Semantic-Segmentation-Paper-Record Under construction! Table of Contents Deep Learning Methods Semantic Segm

Instance Segmentation記錄個人

Personal-Instance-Segmentation-Paper-Record Under construction! Table of Contents Deep Learning Methods SDS Hype

web_一些常用的線上腳本地址記錄個人使用

使用 src run div span min asset jquer .com 1.jquery 1 <script src="http://code.jquery.com/jquery-1.4.1.min.js"></script> 2.vu

個人開發—進度記錄

完成 設計 網頁 class 缺少 自己 整體 log 頁面 時間:2018/2/7 計劃:首頁的頂部標題部分,登錄,註冊,訂單,客服,定位,頁面跳轉 進行:手繪網頁整體布局與概括設計要點 完成:搜索素材 問題:概括設計要點時沒有清晰的思路,主要原因是具體的問題處理經驗不足

Ubantu16.04 64bit 搭建 docker + k8s 實戰記錄個人備忘

之前在centos7 搭建了 docker1.13 和 k8s 1.5.2 ,最後,k8s 的 kube-dns 沒有建立成功,flannel 網路沒有建立成功。今天這個 ubantu 都成了。 harbor 的安裝請看我的其他博文。 注意兩點: 一

Guava中關於字串處理以及加強版集合的使用記錄個人學習筆記

Guava中關於字串的處理 Strings工具類的使用 // 獲取共同的字首 String commonPrefix = Strings.commonPrefix("fenglang", "fengyue"); System.out.printl

閱讀《C++Primer》的個人記錄——在2019新年的爆竹聲中開始自己的博客生涯

重點 專業 自己 ron 心態 prim 很多 選擇 amp 第一篇博客,不知從何說起才好。思來想去,決定還是從自己為什麽轉專業進入IT說起吧。其實建築學在大多數人眼裏還是一個不錯的專業吧【霧,畢竟是上海某建築老八校】當初高考之後真的是下定決心想學建築呢,全力說服了母上大人

閱讀《C++Primer》的個人記錄——2.1基本內置類型-關於浮點數、補碼

一個數 過程 取反 反碼 結果 直接 深入 相關 完美解決 學習第二章基本內置類型的過程中,對於書上描寫的單精度浮點數和雙精度浮點數的相關內容和補碼的作用原理沒弄清楚,經過查閱相關資料,整理如下: 現從簡單的補碼說起,原碼:正數的原碼就是它的本身,負數用最高位是1表示負數

附加作業個人

一個 寫上 的人 要求 時間 試題 想法 希望 你是 1丶你認為每次項目的評分標準存在哪些問題,你認為的合理評分準則是怎樣的(個人/結對/團隊算三個) 答:個人作業我覺得挺好的,題目也比較容易,對於我這個基礎比較差的人都可以完成題目基本要求,而且助教對各項評分也很詳細,很棒

《Javascript高級程序設計》閱讀記錄:第五章 上

面向對象的語言 none 括號 數量 mas ie9 驗證 ive .so   這個系列以往文字地址:   《Javascript高級程序設計》閱讀記錄(一):第二、三章   《Javascript高級程序設計》閱讀記錄(二):第四章   這個系列,我會把閱讀《Jav

Linux 環境部署記錄

sql tables 查看 ont 系統時間 earch arch borde 路徑 時間設置 查看系統當前日期/時間: date -R 查看系統硬件時鐘: hwclock --show 設置硬件時間: hwclock --set --date="07/18/

BigData 學習記錄

如果 lock 都沒有 stream 節點 信息 nod 存在 物理 master/slave主從結構: HDFS是一個 master/slave的架構。HDFS只有一個NameNode,即master。master負責管理文件系統命名空間和client對文件的訪問。此外,

BigData 學習記錄

merge 而且 seq 運行時間 big 存儲位置 完成 setup 其中 MR(MapReduce)運行過程 client程序--》提交job至JobTracker--》分配job ID--》JobTracker檢查輸入文件存在,輸出文件不存在--》進行輸入分片--

Linux 環境部署記錄 - Jenkins安裝與配置

版本 接下來 clas title col size pre 瀏覽器 jdk Jenkins安裝 為了兼容生產環境的jdk1.7版本,從官網得知,Jenkins必須是1.6之前的版本,因此下載jenkins-1.596.3-1.1.noarch.rpm到本地進行安裝: #移

nginx的文件cache服務配置記錄proxy_cache

pan orm java conn efault out clu key oct 根據業務部門需求,申請一臺文件的cache服務器。如下記錄在單臺機器上部署Nginx緩存服務過程: nginx緩存配置(緩存配置的參數這裏就不做過多解釋了,在前面的文檔中已說明過,這裏只做

Linux鞏固記錄1 java項目的編譯和執行

mce frame cati readfile 知識 4.3 sse apach ast 由於要近期使用hadoop等進行相關任務執行,操作linux時候就多了 以前只在linux上配置J2EE項目執行環境,無非配置下jdk,部署tomcat,再通過docker或者jenk

Linux鞏固記錄1 J2EE開發環境搭建及網絡配置

version 環境 com sco 由於 lin spa node 開發環境 由於要近期使用hadoop等進行相關任務執行,操作linux時候就多了 以前只在linux上配置J2EE項目執行環境,無非配置下jdk,部署tomcat,再通過docker或者jenkins自動

Linux鞏固記錄3 hadoop 2.7.4 環境搭建

修改 spa efault ram 是否 ado rmi down pan 由於要近期使用hadoop等進行相關任務執行,操作linux時候就多了 以前只在linux上配置J2EE項目執行環境,無非配置下jdk,部署tomcat,再通過docker或者jenkins自動部署

Linux鞏固記錄5 hadoop 2.7.4下自己編譯代碼並運行MapReduce程序

parser mod pill self add let tokenize org cto 程序代碼為 ~\hadoop-2.7.4\share\hadoop\mapreduce\sources\hadoop-mapreduce-examples-2.7.4-sourc

Linux鞏固記錄6 Hbase環境準備-zookeeper安裝

this 分析 時間同步 all zone direct .org def ech Hbase是運行在hadoop之上,所以請參考第3篇文章搭建好一個master,兩個slave的hadoop環境,我采用的版本為hadoop2.7.4 不了解Hbase的同學可以參考下這篇文