CNN 在基於弱監督學習的圖像分割中的應用
最近基於深度學習的圖像分割技術一般依賴於卷積神經網路 CNN 的訓練,訓練過程中需要非常大量的標記圖像,即一般要求訓練圖像中都要有精確的分割結果。
對於圖像分割而言,要得到大量的完整標記過的圖像非常困難,比如在 ImageNet 數據集上,有 1400 萬張圖有類別標記,有 50 萬張圖給出了 bounding box, 但是只有 4460 張圖像有像素級別的分割結果。對訓練圖像中的每個像素做標記非常耗時,特別是對醫學圖像而言,完成對一個三維的 CT 或者 MRI 圖像中各組織的標記過程需要數小時。
如果學習演算法能通過對一些初略標記過的數據集的學習就能完成好的分割結果,那麼對訓練數據的標記過程就很簡單,這可以大大降低花在訓練數據標記上的時間。這些初略標記可以是:
1. 只給出一張圖像裡面包含哪些物體;
2. 給出某個物體的邊界框;
3. 對圖像中的物體區域做部分像素的標記,例如畫一些線條、塗鴉等(scribbles)。
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 參數聯合最優值的過程:
上式的最優化是通過交替求和的最優值來實現的。文章中發現通過三次迭代就能得到比較好的結果。
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%,可見弱監督學習要取得好的結果還是比較難。
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 計算θ。
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.
AI研習社按:原作者taigw,本文原載於作者的知乎專欄。
「TensorFlow & 神經網路演算法高級應用班」 要開課啦!
從初級到高級,理論 + 實戰,一站式深度了解 TensorFlow!
本課程面向深度學習開發者,講授如何利用 TensorFlow 解決圖像識別、文本分析等具體問題。課程跨度為 10 周,將從 TensorFlow 的原理與基礎實戰技巧開始,一步步教授學員如何在 TensorFlow 上搭建 CNN、自編碼、RNN、GAN 等模型,並最終掌握一整套基於 TensorFlow 做深度學習開發的專業技能。
兩名授課老師佟達、白髮川身為 ThoughtWorks 的資深技術專家,具有豐富的大數據平台搭建、深度學習系統開發項目經驗。
※教你從零開始在 TensorFlow 上搭建 RNN!
※課程怎麼樣,你們說了算
※從零教你寫一個完整的GAN
※你必須知道的CNN在圖像分割領域的技術變革史!
※OpenBLAS項目與矩陣乘法優化
TAG:唯物 |
※如何使用Mask RCNN模型進行圖像實體分割?
※用 Keras 搭建 GAN:圖像去模糊中的應用
※CVPR最新醫學影像AI論文:利用學習圖像變換進行數據增強
※全新無損圖像格式JPEG XS推出將應用VR/AR領域
※利用Chan-Vese模型和Sobel運算對重疊葉片進行圖像分割
※Double DIP——一種無監督層圖像分割 AI 技術
※特倫託大學、Inria合作研究:基於GAN生成人體的新姿勢圖像
※深度學習新應用:在PyTorch中用單個2D圖像創建3D模型
※用 OpenCV 檢測圖像中各物體大小
※基於線性SVM的CIFAR-10圖像集分類
※目標檢測集成框架在醫學圖像AI輔助分析中的應用
※C+OpenCV圖像亮度和對比度操作
※圖像語義分割的工作原理和CNN架構變遷
※DeepMind新研究:使用強化對抗學習合成圖像程序
※AI從入門到放棄:CNN的導火索,用MLP做圖像分類識別?
※DeepMind無監督表示學習重大突破:語音、圖像、文本、強化學習全能冠軍!
※用Keras搭建GAN:圖像去模糊中的應用(附代碼)
※全國MATLAB數據、圖像處理及機器學習與深度學習研討會
※Nvidia 用於數據增強和 JPEG 圖像解碼的 GPU 加速庫 DALI
※U-Net 和 ResNet:長短跳躍連接的重要性(生物醫學圖像分割)