最近基於深度學習的圖像分割技術一般依賴於卷積神經網絡 CNN 的訓練,訓練過程中需要非常大量的標記圖像,即一般要求訓練圖像中都要有精確的分割結果。
對於圖像分割而言,要得到大量的完整標記過的圖像非常困難,比如在 ImageNet 數據集上,有 1400 萬張圖有類別標記,有 50 萬張圖給出了 bounding box, 但是只有 4460 張圖像有像素級別的分割結果。對訓練圖像中的每個像素做標記非常耗時,特別是對醫學圖像而言,完成對一個三維的 CT 或者 MRI 圖像中各組織的標記過程需要數小時。
如果學習算法能通過對一些初略標記過的數據集的學習就能完成好的分割結果,那麼對訓練數據的標記過程就很簡單,這可以大大降低花在訓練數據標記上的時間。這些初略標記可以是:
1. 只給出一張圖像裡面包含哪些物體;
2. 給出某個物體的邊界框;
3. 對圖像中的物體區域做部分像素的標記,例如畫一些線條、塗鴉等(scribbles)。
1. ScribbleSup: Scribble-Supervised Convolutional Networks for Semantic Segmentation (CVPR 2016)
香港中文大學的 Di Lin 提出了一個基於 Scribble 標記的弱監督學習方法。 Scribble 是一個很方便使用的標記方法,因此被用得比較廣泛。如下圖,只需要畫五條線就能完成對一副圖像的標記工作。
ScribbleSup 分為兩步,第一步將像素的類別信息從 scribbles 傳播到其他未標記的像素,自動完成所有的訓練圖像的標記工作; 第二步使用這些標記圖像訓練 CNN。在第一步中,該方法先生成 super-pxels, 然後基於 graph cut 的方法對所有的 super-pixel 進行標記。
Graph cut 的能量函數為:
在這個 graph 中,每個 super-pixel 是 graph 中的一個節點,相接壤的 super-pixel 之間有一條連接的邊。這個能量函數中的一元項包括兩種情況,一個是來自於 scribble 的,一個是來自 CNN 對該 super-pixel 預測的概率。整個最優化過程實際上是求 graph cut 能量函數和 CNN 參數聯合最優值的過程:
上式的最優化是通過交替求和的最優值來實現的。文章中發現通過三次迭代就能得到比較好的結果。
2. Constrained Convolutional Neural Networks for Weakly Supervised Segmentation (ICCV 2015)
UC Berkeley 的 Deepak Pathak 使用了一個具有圖像級別標記的訓練數據來做弱監督學習。訓練數據中只給出圖像中包含某種物體,但是沒有其位置信息和所包含的像素信息。該文章的方法將 image tags 轉化為對 CNN 輸出的 label 分布的限制條件,因此稱為 Constrained convolutional neural network (CCNN).
該方法把訓練過程看作是有線性限制條件的最優化過程:
其中是一個隱含的類別分布,是 CNN 預測的類別分布。目標函數是 KL-divergence 最小化。其中的線性限制條件來自於訓練數據上的標記,例如一幅圖像中前景類別像素個數期望值的上界或者下界(物體大小)、某個類別的像素個數在某圖像中為 0,或者至少為 1 等。該目標函數可以轉化為為一個 loss function,然後通過 SGD 進行訓練。
實驗中發現單純使用 Image tags 作為限制條件得到的分割結果還比較差,在 PASCAL VOC 2012 test 數據集上得到的 mIoU 為 35.6%,加上物體大小的限制條件後能達到 45.1%, 如果再使用 bounding box 做限制,可以達到 54%。FCN-8s 可以達到 62.2%,可見弱監督學習要取得好的結果還是比較難。
3. Weakly- and Semi-Supervised Learning of a DCNN for Semantic Image Segmentation
Google 的 George Papandreou 和 UCLA 的 Liang-Chieh Chen 等在 DeepLab 的基礎上進一步研究了使用 bounding box 和 image-level labels 作為標記的訓練數據。使用了期望值最大化算法(EM)來估計未標記的像素的類別和 CNN 的參數。
對於 image-level 標記的數據,我們可以觀測到圖像的像素值和圖像級別的標記, 但是不知道每個像素的標號, 因此把 當做隱變量。使用如下的概率圖模式:
使用 EM 算法估計和。E 步驟是固定求的期望值,M 步驟是固定使用 SGD 計算θ。
對於給出 bounding box 標記的訓練圖像,該方法先使用 CRF 對該訓練圖像做自動分割,然後在分割的基礎上做全監督學習。通過實驗發現,單純使用圖像級別的標記得到的分割效果較差,但是使用 bounding box 的訓練數據可以得到較好的結果,在 VOC2012 test 數據集上得到 mIoU 62.2%。另外如果使用少量的全標記圖像和大量的弱標記圖像進行結合,可以得到與全監督學習 (70.3%) 接近的分割結果 (69.0%)。
4. Learning to Segment Under Various Forms of Weak Supervision (CVPR 2015)
Wisconsin-Madison 大學的 Jia Xu 提出了一個統一的框架來處理各種不同類型的弱標記:圖像級別的標記、bounding box 和部分像素標記如 scribbles。該方法把所有的訓練圖像分成共計個 super-pixel,對每個 super-pixel 提取一個維特徵向量。因為不知道每個 super-pixel 所屬的類別,相當於無監督學習,因此該方法對所有的 super-pixel 做聚類,使用的是最大間隔聚類方法 (max-margin clustering, MMC), 該過程的最優化目標函數是:
其中是一個特徵矩陣,每列代表了對於的類別的聚類特徵。是將第個 super-pixel 劃分到第類的代價。在這個目標函數的基礎上,根據不同的弱標記方式,可以給出不同的限制條件,因此該方法就是在相應的限制條件下求最大間隔聚類。
該方法在 Siftflow 數據集上得到了比較好的結果,比 state-of-the-art 的結果提高了 10% 以上。
小結:在弱標記的數據集上訓練圖像分割算法可以減少對大量全標記數據的依賴,在大多數應用中會更加貼合實際情況。弱標記可以是圖像級別的標記、邊框和部分像素的標記等。訓練的方法一般看做是限制條件下的最優化方法。另外 EM 算法可以用於 CNN 參數和像素類別的聯合求優。
參考文獻
1. Di Lin, Jifeng Dai, Jiaya Jia, Kaiming He, and Jian Sun."ScribbleSup: Scribble-Supervised Convolutional Networks for Semantic Segmentation". IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016
2. Pathak, Deepak, Philipp Krahenbuhl, and Trevor Darrell. "Constrained convolutional neural networks for weakly supervised segmentation." Proceedings of the IEEE International Conference on Computer Vision. 2015.
3. Papandreou, George, et al. "Weakly-and semi-supervised learning of a DCNN for semantic image segmentation." arXiv preprint arXiv:1502.02734 (2015).
4. Xu, Jia, Alexander G. Schwing, and Raquel Urtasun. "Learning to segment under various forms of weak supervision." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2015.
雷鋒網(公眾號:雷鋒網)按:原作者taigw,本文原載於作者的知乎專欄。
實戰特訓:遠場語音交互技術
智能音箱這麼火,聽聲智科技CTO教你深入解析AI設備語音交互關鍵技術!
課程連結:http://www.mooc.ai/course/80
加入AI慕課學院人工智慧學習交流QQ群:624413030,與AI同行一起交流成長
雷鋒網版權文章,未經授權禁止轉載。詳情見轉載須知。