「技術綜述」閒聊影象分割這件事兒

dicksonjyl560101發表於2019-09-16

最近遇到很多人問我影象分割技術發展怎麼樣了,落地了嗎?有三隻想說,豈止落地了,都貼在地上摩擦了。老規矩,分幾塊說起。

1 閒聊往事

想當年,大學的時候。同學們進進出出圖書館,手裡揣著的都是什麼微積分,明朝那些事兒之類的書。而我幾年下來,全是adobe photoshop,adobe premiere,adobe after effects,adobe flash,總之就是adobe全家桶。別人在網咖打遊戲,我經常鼓搗七八個小時的 繪聲繪影,premiere,nero等等。

要不是因為窮,就去武大修動漫雙學位了,日語二級都考好了,這會兒可能奔我的玄機科技去了,哪裡還在這裡碼程式碼。

「技術綜述」閒聊影象分割這件事兒

扯的貌似有點遠,只想說和音視訊早已經建立了割不斷的聯絡。

迴歸正題。當年學Adobe,最喜歡玩的就是摳圖,磁性套索一度讓我不可自拔,那對我而言就是影象分割技術的啟蒙了。

到後來從傳統方法搞到cnn,一直未曾脫離關係。

這一次,我們不談高深的技術,而是談歷史,談故事,說的輕鬆一點,儘量短一些,畢竟長文讀著累,留幾手,下次說。

2 沒有深度學習的那些年

影象處理演算法都是從傳統方法開始的,我們就簡單理解為非深度學習的方法吧。

「技術綜述」閒聊影象分割這件事兒

影象分割是什麼?如果下學術定義,就是把影象分割成想要的語義上相同的若干子區域,看上面的自動駕駛的分割任務,路是路,車是車,樹是樹。

這些子區域,組成影象的完備子集,相互之間不重疊。影象分割可以被看作是一個逐畫素的影象分類問題

沒有深度學習的那些年,也發展出了非常多的影象分割技術,下面挑重點長話短說。

2.1 邊緣與閾值法

簡單的邊緣檢測也曾被用於影象分割,但是因為要做複雜後處理以及後面和其他方法有重疊,這裡就不再說了,而是從閾值法開始說。

閾值法的基本思想是基於影象的灰度特徵來計算一個或多個灰度閾值,並將影象中每個畫素的灰度值與閾值相比較。

其中,最廣泛使用也最具有代表性質就是OTSU【1】方法,它是用於灰度影象分割的方法,核心思想就是使 類間方差最大

這樣的方法,非常簡單,要求被分割的物體顏色紋理比較緊湊,類內方差小,只適合一些文字影象的處理,比如車牌,比如指紋。

「技術綜述」閒聊影象分割這件事兒

「技術綜述」閒聊影象分割這件事兒

如果感興趣,有很多的綜述的,大家可以去關注。雖然簡單,讀研時也用它水了一篇文章和專利。

2.2 區域增長,分裂

閾值法的一個硬傷是太粗暴簡單,哪怕是自適應的區域性閾值法,一樣難逃無法分割類內方差較大的目標的宿命。它完全沒有利用好畫素的空間資訊,導致分割結果極其容易受噪聲干擾,經常出現斷裂的邊緣,需要後處理。

所以, 區域生長法出現了,它通過一些種子點,再加上相似性準則來不斷擴充區域直到達到類別的邊界,這時候分割結果是連續的了。

區域分裂則是反過程,不再詳述。區域增長法的佼佼者,就是分水嶺演算法【2】。

分水嶺演算法是一種基於拓撲理論的數學形態學的分割方法,將影象中每一點畫素的灰度值表示該點的海拔高度,每一個區域性極小值稱為集水盆,而集水盆的邊界則是分水嶺。分水嶺演算法有很多種實現演算法,常用浸水模擬法。

分水嶺演算法對於弱邊緣有不錯的響應,因此常被用於材料影象的分割,以及產生超畫素用於提高其他方法的分割效率。我們在碩士期間也與師姐鼓搗過半導體材料的分割,還不錯。

「技術綜述」閒聊影象分割這件事兒

說到這裡,超畫素也是很重要的一種方法,某種程度上也能被歸為影象分割的方法。SLIC,Meanshift等都是非常經典的方法,去文【3】中做更詳細解讀吧。筆者在很多的實際專案中都使用過,配合下面要講的方法一起使用,絕配。

「技術綜述」閒聊影象分割這件事兒

2.3 圖割

以graphcut【4】為代表的圖割方法,是傳統影象分割裡面魯棒性最好的方法,它是一種概率無向圖模型(Probabilistic undirected graphical model),又被稱Markov random field馬爾可夫隨機場。

Graphcut的基本思路,就是建立一張圖,看下面這張圖,其中以影象畫素或者超畫素作為影象頂點,然後優化的目標就是要找到一個切割,使得各個子圖不相連從而實現分割,前提是移除邊的和權重最小。

後來圖割方法從MRF發展到CRF,也就是條件隨機場。它通常包含兩個優化目標,一個是區域的相似度,被稱為區域能量項,即piecewise能量。一個是被切斷邊的相似度,被稱為邊緣能量項,即pairwise能量。它追求區域能量項的最大化以及邊緣能量的最小化,也就是 區域內部越相似越好,區域間相似度越低越好。

圖割方法很通用,對於紋理比較複雜的影象分割效果也不錯。缺點是時間複雜度和空間複雜度較高,所以通常使用超畫素進行加速計算,上面的分水嶺演算法就可以拿來用用。

「技術綜述」閒聊影象分割這件事兒

graphcut的迭代版本,也就是grabcut【5】更好用,它的基本思路是;使用混合高斯 模型(Gaussian Mixture Model,GMM)替代了graphcut基於灰度的模型,初始的混合高斯模型的構建,通過使用者互動來指定,只需要指定確定性的背景畫素區域即可,通常是畫一個框。

多年以後再看下面這張圖,效果依然是驚豔的,邊緣很不錯。不像上面的幾個方法,圖割方法仍然被廣泛使用,deeplab系列的前幾篇文章就用到了全連線的crf,它與mrf的區別可以參考這篇文章【Discriminative fields for modeling spatial dependencies in natural images】。

「技術綜述」閒聊影象分割這件事兒

圖割方法很好用,是每個想做影象分割的同學必須掌握的,我從碩士論文,從第一個實習專案一直用到了現在。

2.4 輪廓模型

輪廓模型大部分人可能不知道,它的 基本思想是使用連續曲線來表達目標輪廓,並定義一個能量泛函,其自變數為曲線,將分割過程轉變為求解能量泛函的最小值的過程。數值實現可通過求解函式對應的尤拉(Euler-Lagrange)方程來實現。包括以snake模型為代表的引數活動輪廓模型和以水平集方法為代表的幾何活動輪廓模型。

當能量達到最小時的,曲線位置就處於正確的目標輪廓。

該類分割方法具有幾個顯著的特點:(1)由於能量泛函是在連續狀態下實現,所以最終得到的影象輪廓可以達到較高的精度;(2)通過約束目標輪廓為光滑,同時融入其它關於目標形狀的先驗資訊,演算法可以具有較強的魯棒性;(3)使用光滑的閉合曲線表示物體的輪廓,可獲取完整的輪廓,從而避免傳統影象分割方法中的預/後處理過程。

不過,缺點也很明顯,比較敏感,容易陷入區域性極值。

下面是我的碩士論文【6】中採用水平集方法分割出的腫瘤,就是白色那一塊。這個方法的數學味有點濃,考慮到我們們是閒聊,就不擺公式了,畢竟後面還有很多事。

「技術綜述」閒聊影象分割這件事兒

傳統方法遠不止於此,但是我們應該接著說深度學習的方法了。

3 有了深度學習後

大家認可的第一篇採用深度學習方法來做影象分割的是FCN【7】。分類任務到了最後,影象被表徵成了一個一維的向量,而分割任務則需要恢復一張與原圖大小相等的圖,所以全連線自然是不行了。

「技術綜述」閒聊影象分割這件事兒

不可免俗也放這張圖,說的是在從最小解析度的featuremap上取樣的過程中,融合了卷積過程中同一解析度大小的特徵圖。這種將網路淺層和深層資訊融合的思想是分割網路的必備了,關於網路的結構,其實我們看segnet【8】會更有感覺,對稱,優美,更符合我的審美。

「技術綜述」閒聊影象分割這件事兒

有了FCN之後,各路方法大顯神通。 不同的上取樣方法,帶孔卷積等增加感受野的方法,圖片與特徵的多尺度資訊融合,增加crf等後處理方法

萬變不離其宗,最終分割結果的好壞往往取決於網路的表徵能力,問題的簡化,以及好的標註資料。刷比賽的那些技巧,我也不豐富就不多說了。

更多的細節,先按下不表,下一期專門講,如果等不及,看文【9】,上個圖先簡單的爽上一爽。

「技術綜述」閒聊影象分割這件事兒

4 分割不僅僅是分類問題

我們前面說的,都還是將分割當成一個分類問題來解讀的,就是每個畫素要被歸為明確的類別。

「技術綜述」閒聊影象分割這件事兒

然而分割的終極目標不只這一個,比如為了做背景替換的摳圖這件事。

二分類的問題,前背景能完美融合才怪,經不起仔細觀察。所以,我們 需要帶透明度通道的分割,或者先分割出來再利用泊松融合等技術進行邊緣融合

這就是一個image matting問題。image matting問題可以用一個簡單的數學表示式表達,I = aF + (1-a)B,其中F是前景,B是背景,a是透明度, 一張圖可以看作是在透明度影象的控制下,前景和背景的線性融合。

只是,解這個問題有點病態,對於三通道的RGB影象,只有3個方程,卻需要解出6個變數。所以像closed matting等方法都要做區域性區域顏色不變的約束才能求出解析解。

image matting問題也從傳統方法發展到了深度學習, www.alphamatting.com這裡有主流方法的比較,儘管一看。

之所以大家重新想起來這檔事,是因為adobe前幾年搞的end to end的方案deep image matting【10】重新吊起了大家的胃口。

「技術綜述」閒聊影象分割這件事兒

在這個基礎上,摳腦袋做個表情包【11】也未必不可能,只是實際效果仍然欠缺。

「技術綜述」閒聊影象分割這件事兒

技術當然不會止步於此,關注這個領域的朋友自然又會看到siggraph2018有人【12】出來搞事情,原來是MIT和Adobe,也是,沒有Adobe誰有這能力。

「技術綜述」閒聊影象分割這件事兒

我們只看文中的幾個關鍵詞,譜分割(spectral segmentation),Laplacian矩陣,soft transitions與layers,SLIC等。譜分割與laplacian矩陣是graphcut的歸一化版本Normalized Cut的核心,而soft transitions與layers是photoshop最核心的思想,SLIC則是用於減少計算量的超畫素方法。

再加上深度學習,徹底的牛逼影象分割方法大融合了。

終於,傳統方法又和深度學習走到了一起。我們們閒聊也該結束了,下次再說技術細節。


參考文獻

【1】Otsu N. A Threshold Selection Method from Gray-Level Histograms[J]. IEEE Trans.syst.man. & Cybern, 2007, 9(1):62-66.

【2】L. Vincent and P. Soille, “Watersheds in digital spaces: an efficient algorithm based on immersion simulations,” IEEE Trans. Patt. Anal. Mach. Intell., vol. 13, pp. 583-598, 1991.

【3】Stutz D, Hermans A, Leibe B. Superpixels: an evaluation of the state-of-the-art[J]. Computer Vision and Image Understanding, 2018, 166: 1-27.

【4】Boykov Y Y, Jolly M P. Interactive Graph Cuts for Optimal Boundary & Region Segmentation of Objects in N-D Images[C]// IEEE International Conference on Computer Vision. IEEE Computer Society, 2001:105.

【5】Rother C, Kolmogorov V, Blake A. "GrabCut": interactive foreground extraction using iterated graph cuts[C]// ACM SIGGRAPH. ACM, 2004:309-314.

【6】龍鵬. MRI醫學影象增強與分割新方法[D]. 中國科學院大學, 2015.

【7】Shelhamer E, Long J, Darrell T. Fully Convolutional Networks for Semantic Segmentation[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2014, 39(4):1-1.

【8】Kendall A, Badrinarayanan V, Cipolla R. Bayesian segnet: Model uncertainty in deep convolutional encoder-decoder architectures for scene understanding[J]. arXiv preprint arXiv:1511.02680, 2015.

【9】Garcia-Garcia A, Orts-Escolano S, Oprea S, et al. A review on deep learning techniques applied to semantic segmentation[J]. arXiv preprint arXiv:1704.06857, 2017.

【10】Xu N, Price B L, Cohen S, et al. Deep Image Matting[C]//CVPR. 2017, 2: 4.

【11】Zhu B, Chen Y, Wang J, et al. Fast Deep Matting for Portrait Animation on Mobile Phone[C]//Proceedings of the 2017 ACM on Multimedia Conference. ACM, 2017: 297-305.

【12】OH T A E H, MATUSIK W. Semantic Soft Segmentation[J]. 2018.


https://www.toutiao.com/a6706310240607928835/



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29829936/viewspace-2657081/,如需轉載,請註明出處,否則將追究法律責任。

相關文章