圖像分割概述 & ENet?實例
本文為 AI 研習社編譯的技術博客,原標題 :
Image Segmentation Overview & ENet Implementation
作者 | Aviv Shamsian
翻譯 | sherry3255、alexchung
校對 | 鄧普斯·傑弗 審核 | 醬番梨 整理 | 立魚王
原文鏈接:
https://medium.com/@mista2311/image-segmentation-overview-enet-implementation-8394ff71cf26
在這篇博文中,我將概述圖像分割並介紹ENet論文。
論文鏈接:
https://s3-us-west-2.amazonaws.com/mlsurveys/54.pdf
?庫鏈接:
https://github.com/iArunava/ENet-Real-Time-Semantic-Segmentation
圖像分割概述在計算機視覺領域中,將一幅數字圖像分割為多個組成部分(一系列像素,或所熟知的超像素)的過程即為圖像分割。分割的目標就是簡化並/或變換可以將圖像轉換為更有意義和更易分析的內容的表達。圖像分割通常被用來定點陣圖像中目標和邊界(線、曲面)的位置。更準確地說,圖像分割是為圖像中的每一個像素打上標籤,其中具有相同標籤的像素具有相同特徵。在圖像分割領域中有多種技術:
基於區域的分割技術
邊界檢測分割技術
基於聚類的分割技術
圖像分割的經典演算法
過去,提出了很多不同的演算法來進行圖像分割,有:
閾值技術--該技術的主要目的在於確定圖像的最佳閾值。強度值超過閾值的像素其強度將變為1,其餘像素的強度值將變為零,最後形成一個二值圖。用於選擇閾值的方法有:Otsu,k均值聚類,和最大熵法。
運動與交互分割--該技術基於圖像中的運動來進行分割。其思想很直觀,在假設目標是運動的情況下找出兩幅圖中的差異,那麼不同之處一定就是目標位置。
邊界檢測--包含多種數學方法,其目的在於標出數字圖像中處於圖像亮度變化劇烈,或者更正式的講,具有不連貫性的區域中的點。由於區域邊界和邊具有很高關聯性,因此邊界檢測通常是另一種分割技術的前提步驟。
區域增長方法--主要建立在同一區域中相鄰像素具有相近像素值的假設之上。常見步驟為將像素與其近鄰像素作比較,如果滿足相似性標準,則該像素就可以被劃分到以一個或更多其近鄰點組成的聚類中去。相似性標準的選擇很關鍵,並且在所有實例中其結果易受到雜訊影響。
還有很多用於圖像分割的方法在上文中未提及,比如雙聚類方法、快速匹配法、分水嶺變換法等等。
用於圖像分割的深度學習模型UNet--u-net是用來快速準確的分割圖像的一種卷積神經網路結構。到目前為止,在ISBI挑戰中,該網路較先前最好的模型(一種基於滑動窗口的卷積網路)已在分割電子顯微鏡下神經元結構的任務中取得了更好的效果。在2015年ISBI大會上,它贏得了計算機自動檢測咬翼片中重齲病的大挑戰,並且在很大程度上(參見我們的公告)可被認為是兩個最具挑戰性的透射光顯微鏡類別上(相位對比度和DIC顯微鏡),贏得了細胞跟蹤的挑戰。
SegNet--SegNet由編碼器和解碼器構成,但沒有全連接層。SegNet是一個包含全卷積網路(FCN)的13 VGG16卷積層。
Mask R-CNN--Faster R-CNN採用一個CNN特徵提取其來提取圖像特徵。然後使用CNN區域建議網路來生成感興趣區域(Roi)。我們應用RoI池化層將它們打包以形成固定維度。然後將其作為全連接層的輸入來進行分類和邊界框預測。
全解析度殘差網路(FRRN)--FRRN通過執行必要的額外處理步驟來獲取全圖像解析度下像素精度的分割掩碼。
金字塔場景解析網路(PSPNet)--全解析度殘差網路的計算非常密集,應用在全尺度照片上非常緩慢。為了解決這個問題,PSPNet採用了4種不同的最大池化操作,這些操作分別對應4種不同的窗口大小和步長。使用最大池化層可以更有效地提取不同尺度中特徵信息。
DeepLabv3+ --先前的網路可以通過使用不同變化率的過濾器和池操作來編碼多尺度上下文信息。更新的網路可以通過恢復空間信息來捕捉更清晰的目標邊界。DeepLabv3+結合了這兩種方法。DeepLabv3+同時採用了編碼器、解碼器和空間金字塔池化模塊。
ENet 實現
ENet(Efficient Neural Network)提供了執行實時逐像素語義分割的能力。ENet的執行速度快了18倍,且需要的浮點運算次數少了75倍,同時參數減少了79倍,並且提供了與現有模型對比相似或更高的精度(根據2016年)。在CamVid, CityScapes 和SUN數據集執行測試。
模型體系結構由初始塊和五個bottlenecks組成。 前三個bottlenecks用於編碼輸入圖像,另外兩個用於解碼輸入圖像。
每個bottlenecks模塊包含:
1x1 投影可降低維度
主卷積層(conv)(任意常規、膨脹或者全卷積)(3x3)
1x1 擴張
在所有卷積層之間進行批量標準化和PReLU
如果bottleneck是降採樣,則將最大池化層添加到主分支。同時使用步長為2的 2x2 的卷積替換第一個 1x1的投影。
它們零填充激活以匹配功能圖的數量。
卷積有時候是非對稱卷積,例如一系列5 * 1 的卷積與1 * 5的卷積。
他們使用空間Dropout進行正則化:
p = 0.01,在 bottleneck2.0前
p = 0.1,之後
如果你想要訓練ENet模型並一次性復現結果,你可以通過閱讀原文查看鏈接打開筆記本並運行它。無需下載既可運行和用。
如果喜歡, 不要忘記鼓掌, 標星 和 fork這個項目!!!!
https://github.com/iArunava/ENet-Real-Time-Semantic-Segmentation
想要繼續查看該篇文章相關鏈接和參考文獻?
長按鏈接點擊打開或點擊【圖像分割概述&ENet實例】:
https://ai.yanxishe.com/page/TextTranslation/1469
AI研習社每日更新精彩內容,觀看更多精彩內容:雷鋒網雷鋒網雷鋒網
CVPR 2018 最牛逼的十篇論文深度學習目標檢測演算法綜述迷你自動駕駛汽車深度學習特徵映射的可視化在2018年用「笨辦法」學數據科學體會分享等你來譯:
如計算機視覺/感知:運動恢復結構遊戲 AI 入門指南
高級DQNs:利用深度強化學習玩吃豆人遊戲深度強化學習新趨勢:谷歌如何把好奇心引入強化學習智能體
※海康威視 2018 答卷:內憂外困,以自變應萬變
※特朗普的《AI 倡議》存在一個致命問題
TAG:雷鋒網 |