常 川
(武漢大學(xué)遙感信息工程學(xué)院 武漢 430072)
隨著醫(yī)學(xué)影像規(guī)模的快速擴(kuò)張,現(xiàn)有的醫(yī)學(xué)影像存儲和分析方式面臨著巨大的挑戰(zhàn)[1-2]。大量不同類別的醫(yī)學(xué)影像混雜在一起,需要進(jìn)行分類存儲和管理,以便進(jìn)一步研究[3]。手動影像類別標(biāo)注無法勝任大規(guī)模影像的應(yīng)用場景[4],因此快速有效地實(shí)現(xiàn)醫(yī)學(xué)影像自動分類成為十分迫切的需求。
醫(yī)學(xué)影像分類方法的研究由來已久,較早的研究者基于分?jǐn)?shù)布朗運(yùn)動確定分形維數(shù),從而定義歸一化分?jǐn)?shù)布朗運(yùn)動特征向量,以實(shí)現(xiàn)醫(yī)學(xué)影像中的分形特征分析與分類[5]。Hossein等使用新的分層合并方案,提出一種基于內(nèi)容的醫(yī)學(xué)圖像分類方法,根據(jù)形狀和紋理特征進(jìn)行醫(yī)學(xué)圖像分層,結(jié)合多層感知器實(shí)現(xiàn)醫(yī)學(xué)影像分類[6]。卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)在圖像分類領(lǐng)域取得較大的成就,武漢理工大學(xué)的張振煥等針對多類別服裝分類精度不夠高的問題,設(shè)計(jì)并實(shí)現(xiàn)一種基于殘差進(jìn)行優(yōu)化的卷積神經(jīng)網(wǎng)絡(luò)服裝分類算法,所提出的網(wǎng)絡(luò)模型在分類速度和精度上都優(yōu)于VGGNet和AlexNet[7]。Andrej等結(jié)合CNN和視頻時(shí)空信息,搭建時(shí)空神經(jīng)網(wǎng)絡(luò),對487類別的100萬個(gè)視頻數(shù)據(jù)集進(jìn)行分類,取得比單獨(dú)的CNN分類模型更好的分類效果[8]。深度卷積神經(jīng)網(wǎng)絡(luò)通過一種深度非線性結(jié)構(gòu),對輸入數(shù)據(jù)進(jìn)行分層表示,從而將數(shù)據(jù)的低層特征轉(zhuǎn)化為易于分類的高層特征,對特征進(jìn)行學(xué)習(xí),進(jìn)而實(shí)現(xiàn)自動分類。ResNet深度網(wǎng)絡(luò)的主要特色是跨層連接,其出現(xiàn)為更深網(wǎng)絡(luò)的訓(xùn)練提供方法。能夠減輕網(wǎng)絡(luò)訓(xùn)練的負(fù)擔(dān),且更容易被優(yōu)化,在深度增加的情況下提高網(wǎng)絡(luò)的精度。隨著深度學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)的發(fā)展,基于深度學(xué)習(xí)的分類方法被引入到醫(yī)學(xué)影像自主分析與分類中。韓國亞洲大學(xué)的研究者通過分析口腔癌患者的高光譜圖像,開發(fā)一種基于邊緣檢測[9]和卷積神經(jīng)網(wǎng)絡(luò)的自動化口腔癌檢測方法,對圖像數(shù)據(jù)集進(jìn)行訓(xùn)練和測試,取得0.945的準(zhǔn)確率[10]。Frid-Adar等基于對抗神經(jīng)網(wǎng)絡(luò)(Generative Adversarial Networks, GAN)[11]進(jìn)行合成醫(yī)學(xué)影像增強(qiáng),以用于提高CNN對肝臟病變細(xì)胞的分類能力,實(shí)驗(yàn)結(jié)果表明相比于僅使用原始數(shù)據(jù)增強(qiáng)[12]進(jìn)行訓(xùn)練,添加合成數(shù)據(jù)增強(qiáng)訓(xùn)練得到的CNN網(wǎng)絡(luò)模型具有更快的速度和更高的準(zhǔn)確率[13]。
圖1 ResNet分類過程
2.1.1 數(shù)據(jù)預(yù)處理 對人類蛋白質(zhì)圖譜圖像的訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集進(jìn)行預(yù)處理及數(shù)據(jù)增強(qiáng),以達(dá)到擴(kuò)充數(shù)據(jù)集和增強(qiáng)數(shù)據(jù)特征的作用。
2.1.2 模型訓(xùn)練 進(jìn)行權(quán)值初始化,利用卷積層對訓(xùn)練數(shù)據(jù)集進(jìn)行特征提取,生成特征圖,經(jīng)過池化層和全連接層進(jìn)行前向傳遞得到輸出值,然后求出輸出值與目標(biāo)值之間的誤差進(jìn)行反向傳遞,根據(jù)所得誤差進(jìn)行權(quán)值更新,最后得到訓(xùn)練好的分類模型。
2.1.3 模型測試 將訓(xùn)練好的分類模型應(yīng)用于測試數(shù)據(jù)集,得到輸出結(jié)果,與測試數(shù)據(jù)的真實(shí)標(biāo)簽進(jìn)行比較,計(jì)算得到模型的準(zhǔn)確率和F1值,然后與其他分類方法進(jìn)行分析比較,實(shí)現(xiàn)對模型分類效果的評估。
2.1.4 圖像預(yù)測 采用已訓(xùn)練的分類模型對未知類別的蛋白質(zhì)圖譜圖像進(jìn)行預(yù)測,得到輸出值,獲得圖像所屬類別。
卷積神經(jīng)網(wǎng)絡(luò)隨著網(wǎng)絡(luò)層數(shù)的不斷加深,其學(xué)習(xí)能力也會增強(qiáng),但是卻出現(xiàn)準(zhǔn)確率隨網(wǎng)絡(luò)層數(shù)增加而下降的異常現(xiàn)象,這就是所謂的“退化”問題[14]。ResNet網(wǎng)絡(luò)的提出解決上述問題,見圖2。ResNet使用一種新穎的連接方式叫做快捷連接(Shortcut connection),即在原網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上增加一個(gè)新的連接恒等映射(Identity mapping),這使得原本所需要學(xué)習(xí)的函數(shù)F(x)轉(zhuǎn)換為F(x)+x,即學(xué)習(xí)的函數(shù)與輸入數(shù)據(jù)之和,這個(gè)簡單的加法并不會給網(wǎng)絡(luò)增加額外的參數(shù)和計(jì)算量,卻可以提升模型的訓(xùn)練速度和訓(xùn)練效果,當(dāng)模型的層數(shù)加深時(shí),這個(gè)結(jié)構(gòu)能夠很好地解決退化問題。
圖2 快捷連接原理
本研究是在ResNet-50結(jié)構(gòu)基礎(chǔ)上通過遷移學(xué)習(xí)[15]構(gòu)建的模型,見圖3,網(wǎng)絡(luò)的輸入為512x512的RGB圖像,使用49個(gè)卷積層,根據(jù)ResNet模型結(jié)構(gòu),49個(gè)卷積層被分成5個(gè)組,卷積核的大小分別為7x7、1x1、3x3,用于對輸入圖像進(jìn)行特征提取,卷積層的激活函數(shù)為非線性ReLU激活函數(shù),使用1個(gè)3x3的最大池化層(Max pool)和1個(gè)7x7的平均池化層(Average pool),步長設(shè)定為2,所以長寬變?yōu)樵瓉淼?/2,最后使用28個(gè)全連接層和Softmax激活函數(shù),用于對28類的人類蛋白質(zhì)圖譜圖像進(jìn)行分類。在網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)中,卷積層之間的連線有實(shí)線和虛線兩種方式,實(shí)線的連接部分都是執(zhí)行3x3x64的卷積,通道個(gè)數(shù)一致,所以輸出結(jié)果y用式(1)的計(jì)算方式,虛線的連接部分分別是3x3x64和3x3x128的卷積操作,通道個(gè)數(shù)不同,分別為64和128,輸出結(jié)果y采用式(2)的計(jì)算方式。其中,y為模型的輸出結(jié)果,F(xiàn)(x)為所需要學(xué)習(xí)的函數(shù),x為模型的輸入值,W是卷積操作,用來調(diào)整x的通道維度。
y=F(x)+x
(1)
y=F(x)+W*x
(2)
圖3 網(wǎng)絡(luò)結(jié)構(gòu)
本文所使用數(shù)據(jù)集為瑞典的人類蛋白質(zhì)圖譜計(jì)劃中的開放資源,包含28種不同細(xì)胞中共15 000張512x512的蛋白質(zhì)圖譜圖像,數(shù)據(jù)集的28類標(biāo)簽信息,見表1。所有圖像樣本由存儲為單個(gè)文件的4個(gè)濾波器組成:感興趣的蛋白質(zhì)和細(xì)胞核、微管、內(nèi)質(zhì)網(wǎng)3個(gè)標(biāo)志物,感興趣的蛋白質(zhì)濾波器為預(yù)測標(biāo)簽,其他濾波器作為輔助特征,以便更好地對蛋白質(zhì)圖譜圖像進(jìn)行分類。在訓(xùn)練過程中,為訓(xùn)練方便,將4個(gè)濾波器合并為一張單獨(dú)的圖片數(shù)據(jù),4個(gè)濾波器圖像和處理后的圖像數(shù)據(jù),見圖4。
表1 數(shù)據(jù)集標(biāo)簽描述
圖4 數(shù)據(jù)預(yù)處理及部分?jǐn)?shù)據(jù)示例
在深度學(xué)習(xí)訓(xùn)練的過程中,當(dāng)訓(xùn)練集中樣本數(shù)量不夠多,或某一類別的數(shù)據(jù)量過少,特征不夠明顯時(shí),需要進(jìn)行數(shù)據(jù)增強(qiáng)[16]。對原有數(shù)據(jù)集進(jìn)行顏色抖動、旋轉(zhuǎn)、裁切和添加噪聲等操作,將數(shù)據(jù)集擴(kuò)充到31 100張圖像,增強(qiáng)綠色濾波器的特征。在31 100張數(shù)據(jù)集內(nèi)的圖像被分成訓(xùn)練集和驗(yàn)證集兩部分,其中訓(xùn)練集有25 000張圖像數(shù)據(jù),驗(yàn)證集有6 100張圖像數(shù)據(jù),見圖5。
圖5 蛋白質(zhì)圖像數(shù)據(jù)增強(qiáng)
選取包含型號為NVIDIA GeForce GTX 970顯卡的機(jī)器,操作系統(tǒng)為Ubuntu 16.04,選擇Keras深度學(xué)習(xí)框架進(jìn)行模型訓(xùn)練和測試,在擴(kuò)充后的蛋白質(zhì)圖譜圖像數(shù)據(jù)集上,對基于ResNet深度網(wǎng)絡(luò)的分類模型進(jìn)行實(shí)驗(yàn)。模型訓(xùn)練時(shí)設(shè)置學(xué)習(xí)率為0.001,訓(xùn)練輪次為30 000次,對基于ResNet深度網(wǎng)絡(luò)的人類蛋白質(zhì)圖譜圖像分類方法進(jìn)行訓(xùn)練,保存訓(xùn)練得到的模型參數(shù),以便后續(xù)的測試和預(yù)測。然后將訓(xùn)練得到的模型對數(shù)據(jù)進(jìn)行測試,得到模型的準(zhǔn)確率和F1值并與參考文獻(xiàn)中人工及其他分類方法的準(zhǔn)確率和F1值進(jìn)行比較,以衡量本方法的分類效果,見表2。其中,文獻(xiàn)[17]中包含基于卷積神經(jīng)網(wǎng)絡(luò)的蛋白質(zhì)圖譜圖像分類方法以及人工專家分類結(jié)果,文獻(xiàn)[18]中包含基于支持向量機(jī)和隨機(jī)森林兩種蛋白質(zhì)圖譜圖像分類方法。準(zhǔn)確率(Accuracy)和的計(jì)算公式如式(3)和式(4)所示:
(3)
(4)
其中,TP表示將正類判定為正類的數(shù)目,F(xiàn)P表示將負(fù)類判定為正類的數(shù)目,F(xiàn)N表示將正類判定為負(fù)類的數(shù)目,TN表示將負(fù)類判定為負(fù)類的數(shù)目。
表2 與其他分類方法進(jìn)行比較
相比于其他自動分類方法,本研究在F1值和準(zhǔn)確率上有一定的提升,具有更高的分類精度和準(zhǔn)確率。文獻(xiàn)[17]中還提到了兩個(gè)專家對人類蛋白質(zhì)圖譜圖像進(jìn)行人工分類的效果,準(zhǔn)確率分別為0.959和0.923,本研究的準(zhǔn)確率接近于專家分類,而且基于ResNet的分類方法的優(yōu)勢在于可以自動快速地實(shí)現(xiàn)蛋白質(zhì)圖譜圖像分類,大大節(jié)約人工和時(shí)間成本。
本研究實(shí)現(xiàn)基于ResNet深度網(wǎng)絡(luò)的人類蛋白質(zhì)圖像分類方法,對多種蛋白質(zhì)圖譜圖像進(jìn)行分類實(shí)驗(yàn),然后與人工分類及其他自動分類方法研究進(jìn)行比較。實(shí)驗(yàn)結(jié)果表明相比于人工分類,雖然準(zhǔn)確率略低,但可以實(shí)現(xiàn)人類蛋白質(zhì)圖譜的自動快速分類,且比其他自動分類方法具有更高的精度和準(zhǔn)確率。隨著醫(yī)學(xué)影像數(shù)據(jù)的增長,基于ResNet深度網(wǎng)絡(luò)的自動分類方法將發(fā)揮更大的作用。今后將繼續(xù)開展相關(guān)研究,進(jìn)一步提高分類的速度和準(zhǔn)確率,持續(xù)提高本方法的應(yīng)用價(jià)值。