當前位置:
首頁 > 最新 > 圖像語義分割的那些事

圖像語義分割的那些事

GIF

不過故事到此還沒有結束,人類對於演算法精度的要求是永無止境的,計算機對圖像內容的理解可以從一開始整幅圖像給出一個語義標籤(圖像分類),進步到畫出圖中出現的物體位置。

再進一步,人們就自然渴望能夠讓計算機理解圖像中的每一個像素點的語義信息,從而讓計算機像人一樣去看圖像,這就是圖像語義分割。

圖像語義分割是什麼

區別於圖像分類與物體檢測,圖像語義分割的目標是給圖像中的每一個像素點都標註一個標籤,簡單理解就是要把圖像中所包含的每個類別都不多不少的從原圖中標註出來。

這個過程就像是我們用PS摳圖一樣,需要儘可能的貼合每個物體的邊框,從而讓計算機對圖像實現像素級的理解。隨之而來的,是問題的難度也上升了一個量級,同時標註數據的難度也隨之提升。

傳統的語義分割方法

從問題定義可以看到,解決分割問題用途極廣。從幫助修圖師們精確美圖,到輔助無人駕駛汽車準確的理解前方障礙,它都可以助我們一臂之力。既然這並非一個新問題,下面就先列舉一些傳統的解決方法:

1、閾值法。閾值法的目標是將一個灰度圖像轉換為一個前背景分離的二值圖像。

這種方法首先簡化問題,假設灰度圖中僅包含兩個主要類別,前景物體(蜘蛛)+背景圖像,然後通過平衡圖像統計直方圖的方式,試圖找到一個很好的像素閾值,將圖像中所有點區分到這兩類中去。大於閾值的點是物體,反之則為背景。

GIF

2、使用像素聚類的方法。聚類方法假設圖像中有K個類別(K為參數),採用迭代聚類的方式(例如使用K-means聚類)將圖像中每個像素點分類。

具體過程為,首先選取K個中心點,然後按照每個像素點與這K個像素的差別大小,將圖像的所有點分配到這K個中心,之後重新計算每個類中心,並按照上述步驟迭代優化,從而將圖像中的所有像素分為K個類別。

3、使用圖像邊緣分割的方法。圖像邊緣檢測本身作為一個視覺問題,受到學界的廣泛關注。它通常的做法是使用一個模版(邊緣檢測運算元)掃描全圖得到邊緣圖像。

而使用邊緣的圖像分割方法,顧名思義,就是利用所提取到的邊緣信息,將圖像中的不同區域分割出來。

4、使用區域生成的方法。區域增長方法是根據同一物體局部區域內像素具有相似性來聚集像素點的方法。它從初始區域開始,將相鄰的像素歸併到一起,這個過程彷佛一個種子生成起來一般,因此命名為區域生長。

深度學習方法做圖像分割

在深度學習興起之後,語義分割這個傳統問題也被它收至麾下。這時對圖像的處理過程類似於深度學習處理圖像分類時的做法,而關鍵的區別點在於網路的最終輸出不再是一個類別向量,而是一幅與原圖尺寸大小一致的圖像。

在之前神經網路表示圖像的過程中,我們看到在不同的網路深度上,特徵圖像的尺寸是被逐步減小的。因此我們就需要一個操作,可以把圖像由小放大還原為輸入大小,這個操作就是反卷積操作。

1、反卷積操作。簡單來說,它就是把卷積操作反過來處理,在神經網路結構的正向和反向傳播中做與卷積操作相反的運算。反卷積(Deconvolution)還有很多其他的叫法,如後卷積,轉置卷積等。

GIF

反卷積的過程是用一個固定模版掃描輸入圖像得到輸出。區別於卷積掃描的地方在於,它的輸入輸出關係恰好與卷積操作相反。

2、網路結構。理解了反卷積操作,我們就可以使用它來處理深度卷積網路的圖像表示,將本來由卷積層縮小的特徵圖像,通過反卷積一層層的放大回去,最終得到一個同比於原圖大小的分割圖像作為輸出,此時輸出圖像中每一個點的數值,就作為對應原圖中該像素點的圖像標籤,從而完成圖像的語義分割。

至此,關於計算機如何轉換圖像內容到語義信息的演算法介紹暫時告一段落,感謝你的閱讀。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 深度學習與大數據 的精彩文章:

TAG:深度學習與大數據 |