ImageNet && 醫學圖像的識別


 

醫學圖像識別的問題

如果將CNN應用於醫學圖像,首要面對的問題是訓練數據的缺乏。因為CNN的訓練數據都需要有類別標號,這通常需要專家來手工標記。要是標記像ImageNet這樣大規模的上百萬張的訓練圖像,簡直是不可想象的。

因為CNN的參數多,必須依靠大規模的訓練數據才能防止過度擬合(Over Fitting)。在數據量少的情況下,有兩種解決方案:一個叫Data Augmentation。就是依賴現有的圖像,通過旋轉,平移,變形等變化,產生更多的圖像。二是使用轉移學習(Transfer Learning)。其思想是通過在另一種大規模的數據集上面訓練,得到CNN的參數作為初始值,再在目標數據集上訓練對參數進行調優(Fine-tuning)。

轉移訓練的原理是某些特征在不同的訓練數據集上是具有通用性的。對於CNN而言,其第一層是提取局部的特征,在后續層通過下采樣擴大感知區域, 再往后的層感知區域更大,得到的特征也更加抽象。在前幾層的特征通常並不與某一個具體的分類任務直接相關,而是類似於Gabor Filter, 邊緣,與方向有關的特征等。這些特征都是比較通用的,因此可以在一個數據集上訓練得到而應用在一個與之類似的數據集上。當然,如果訓練出的特征對某個訓練數據集或者識別任務具有特異性,用它做轉移學習就未必有好的效果。

對於醫學圖像而言,得到大規模的訓練數據是比較不容易的,那么可否使用Transfer Learning利用現成的ImageNet的圖像來幫助醫學圖像的識別呢?ImageNet里面的圖像(二維,彩色)沒有醫學圖像,包含一些諸如鳥類、貓、狗、直升機等物體的識別,與醫學圖像(二維或三維,非彩色)相差很大。如果回答是肯定的話,是一件令人非常振奮的事情。

使用ImageNet做轉移學習的效果

在NIH的Hoo-Chang Shin ; Holger R. Roth等人最近的一篇文章中研究了這個問題(下載鏈接)。其全名為:Deep Convolutional Neural Networks for Computer-Aided Detection: CNN Architectures, Dataset Characteristics and Transfer Learning。

該文章除了研究上述問題,還比較了CifarNet (2009年), AlexNet(2012年)和GoogleNet(2014年)這三個一個比一個復雜的網絡結構在不同的訓練數據量的情況下的性能。這三個網絡的結構簡圖如下: 
這里寫圖片描述

該文章研究的醫學圖像應用為CT圖像中胸腹部淋巴結(三維)的檢測和肺部疾病的分類(二維)。如何讓彩色二維圖像與醫學圖像相結合呢?該文采用了兩個小技巧: 
這里寫圖片描述

對於三維CT圖像,將通過某一點的冠狀面、矢狀面和橫斷面的三個二維圖像組合在一起,作為RGB的三個通道,使之與彩色圖像兼容。對二維CT圖像,分別采用三種不同的CT灰度窗口,得到三張圖像,組合成彩色圖像。 
這里寫圖片描述

實驗的結果如上圖。可以看出,在不使用Transfer Learning的情況下(Random Initialization, RI),AlexNet雖然比GoogleNet簡單,但是效果比GoogleNet好,這是因為GoogleNet參數太多,訓練數據不夠導致過度擬合,使其泛化能力下降,從而分類精度降低。使用了Transfer Learning (TL)后,GoogleNet的性能提高很多,效果比AlexNet要好。

Random Initialization和Transfer Learning 在訓練過程中的性能比較如下圖: 
這里寫圖片描述
可見Transfer Learning減少了測試數據上的誤差,提高了分類的准確率。

再來看看Transfer Learning學到了那些特征: 
這里寫圖片描述

上圖顯示了在CNN的第一層中學習到的特征。可以看出在不使用Transfer Learning的情況下,單從CT圖像上學習到的特征都表現出比較模糊的樣子,而使用Transfer Learning的CNN相應的特征中包含一些和邊緣有關的特征,這些實際上是從ImageNet中學習過來的,但有助於CT圖像的分類和識別。

 
0

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM