超聲是檢測甲狀腺結節的首選方法,鈣化特征是甲狀腺結節良惡性判別的重要特征。但是由于囊壁等結節內部結構的干擾,鈣化點提取一直是醫學影像處理技術中的難點。本文提出了一種基于深度學習算法的鈣化點提取法,并在阿列克謝(Alexnet)卷積神經網絡的基礎上提出了兩種改進方法:① 通過添加逐層對應的反池化(unpooling)和反卷積層(deconv2D)使網絡向著所需要的特征進行訓練并最終提取出鈣化特征;② 通過修改 Alexnet 模型卷積模板的數量和全連接層節點的數量,使其特征提取更加精細;最終通過兩種方法的結合得到改進網絡。為了驗證本文所提出的方法,本文從數據集中選取鈣化結節圖像 8 416 張、無鈣化結節圖像 10 844 張。改進的 Alexnet 卷積神經網絡方法的鈣化特征提取準確率為 86%,較傳統方法有了較大提升,為甲狀腺結節的良惡性識別提供了有效的手段。
引用本文: 左東奇, 韓霖, 陳科, 李程, 花瞻, 林江莉. 基于卷積神經網絡提取超聲圖像甲狀腺結節鈣化點的研究. 生物醫學工程學雜志, 2018, 35(5): 679-687. doi: 10.7507/1001-5515.201710017 復制
版權信息: ?四川大學華西醫院華西期刊社《生物醫學工程學雜志》版權所有,未經授權不得轉載、改編
引言
資料顯示,甲狀腺結節中甲狀腺癌的發病率現已達到 5%~15%[1]。近年來,甲狀腺癌的發病率不斷增加[2]。超聲是診斷甲狀腺結節的首選方案[3],其中鈣化特征是甲狀腺結節良惡性判別的重要依據[4]。由于超聲圖像清晰度差、分辨率低,甲狀腺及其附近組織復雜,干擾因素多等原因,使得基于超聲圖像的鈣化特征提取有較大難度。
近年來,對于鈣化特征的提取方法,主要集中在基于亮度特征的閾值分割。例如:Chen 等[5]提出鈣化指數(calcification index, CI)計算方法針對甲狀腺結節內的鈣化特征進行定量表征,其方法認為鈣化點一般在結節內的高亮區域,先以單閾值去除囊性區域得到鈣化點搜索區域,并定義 μ 為鈣化點搜索區域像素點的均值,定義 σ 為鈣化點搜索區域像素點的方差,定義 k 為方差的倍數因子,以 K = μ + k·σ 作為鈣化點搜索區域內鈣化與非鈣化之間的閾值,最終以鈣化區域與整個結節的面積之比作為鈣化系數。該方法僅以是否為高亮部位作為判定鈣化的唯一標準。但實際上,在很多結節中也會有諸如囊壁組織等高亮組織,因此這種方法很容易造成這些非鈣化組織的誤判。
Choi 等[6]提出基于局部大津閾值的方法來判斷鈣化特征,其步驟是首先將腫瘤區域平均分成 5 × 5 = 25 個相同大小的區域,然后對每個區域分別計算大津閾值,以一個特定值作為標定閾值,如果分割閾值大于標定閾值則對此區域進行大津閾值分割,如果該分割閾值小于標定閾值,則在此區域內不進行分割。
韓曉濤[7]提出基于最大極值穩定區域(maximally stable extremal regions, MSER)的方法來判斷鈣化特征,該方法使用一系列灰度閾值對圖像進行二值化處理并得到相應的黑色和白色區域,在比較寬的灰度閾值范圍內保持形狀穩定的區域即為最大極值穩定區域。對所有最大極值穩定區域基于區域的平均亮度進行排序并設定閾值,以判斷該區域是否為鈣化區域。該方法閾值設定方式較死板,對某些對比度較高但絕對亮度并不高的鈣化點的判斷準確率低。
綜上所述,現有的鈣化點判別方法都是基于鈣化點的亮度特征,通過單個或多個閾值的比較來進行判別,這些方法均存在一定弊端。首先,在超聲圖片中,鈣化點并不一定是結節及其周邊組織中亮度最高的區域,有一些鈣化點的亮度并不高,但它與周圍組織的對比度很高,如圖 1 中紅色箭頭指示部分所示。其次,甲狀腺結節種類很多,很多結節內部及外部區域組織復雜,有很多高亮組織(比如:囊壁),如圖 2 所示,紅色箭頭所指分別為囊壁和鈣化點。如果僅僅以亮度作為鈣化點的判別標準,那么這些高亮非鈣化組織很容易被判定為鈣化點。第三,由于超聲機器獲得圖像質量不一,不同超聲圖像的分辨率、清晰度、整體亮度以及對比度等多項指標都會有所差異。所以只以亮度為提取特征,是不能正確提取鈣化點的。
 圖1
				一些亮度較低的鈣化點
			
												
				Figure1.
				Calcification with low brightness
						
				圖1
				一些亮度較低的鈣化點
			
												
				Figure1.
				Calcification with low brightness
			
								 圖2
				囊壁與鈣化點的對比
			
												
				Figure2.
				The contrast of capsule wall with calcification
						
				圖2
				囊壁與鈣化點的對比
			
												
				Figure2.
				The contrast of capsule wall with calcification
			
								深度學習方法可以將圖像的各方面特征相結合,提取出全面、整體、抽象的特征。本文基于卷積神經網絡對鈣化特征進行提取,提出先分割后分類的提取方法,整體學習鈣化點的特征,將鈣化點的亮度、形態、與周邊組織關系以及一些不容易量化的特征融合起來進行判別,其判別準確率既遠高于傳統的僅通過單一亮度特征進行判別的方法,也高于直接使用卷積神經網絡進行分類的提取方法,為甲狀腺結節的良惡性識別提供了有效的手段。
1 方法
本文采用的所有甲狀腺圖像數據均由北京中日友好醫院超聲科提供,這些圖像采集于不同的時間、不同的超聲儀器。所有圖像數據均脫敏,均不包含任何患者信息,本文的科學研究也僅僅針對圖像本身,無需涉及患者信息和超聲儀器信息。
1.1 卷積神經網絡
實驗采用阿列克謝卷積神經網絡(Alexnet convolutional neural network,Alexnet)作為網絡原型[8]。卷積神經網絡 (convolutional neural network, CNN) 提供了一種端到端的學習模型,模型中的參數可以通過傳統的梯度下降方法進行訓練,經過訓練的卷積神經網絡能夠學習到圖像中的特征,并且完成對圖像特征的提取和分類[9]。
 圖3
				典型的卷積神經網絡
			
												
				Figure3.
				The typical convolution neural network
						
				圖3
				典型的卷積神經網絡
			
												
				Figure3.
				The typical convolution neural network
			
								典型卷積神經網絡主要由輸入層(input)、卷積層(conv2D)、池化層(pooling)、全連接層(dense)和輸出層(output)組成,如圖 3 所示。輸入層通常是原始圖像;卷積層主要作用是提取輸入數據特征。卷積層由多個特征圖(feature map)組成,每個特征圖由一種卷積核(kernel)與上一層特征圖卷積獲得[10],同一個特征圖中,卷積核的權值共享。卷積核類似神經元,其輸入與輸出之間的對應關系如式(1)所示:
|  | 
其中,xi 是上一層的輸入信號,n 是輸入信號個數。ωi 是輸入信號 xi 與神經元的連接權值,b 是神經元的內部狀態即偏置值,y 為神經元的輸出。f( )為激勵函數,本文采用線性糾正函數(rectified linear unit, reLU),其函數表達式如式(2)所示:
|  | 
本文以 Hi 表示卷積神經網絡第 i 層的特征圖,以 H0 代表原圖。假設第 i 層是卷積層,Hi 的產生過程,如式(3)所示:
|  | 
其中,ωi 表示第 i 層的卷積核,符號“?”代表卷積操作,卷積的輸出與第 i 層的偏移向量 bi 相加,最終通過非線性的激勵函數 f( )得到第 i 層的特征圖 Hi。
池化層:卷積神經網絡的池化層通常跟隨在卷積層之后,依據一定的池化規則[11],比如:對鄰域內特征值求平均值的平均池化(average pooling)和對鄰域內特征值取最大值的最大池化(max pooling)。池化層的功能主要有兩點:① 對特征圖進行降維;② 在一定程度上保持特征的尺度不變特性。
全連接層及輸出層:卷積神經網絡依靠全連接網絡對提取的特征進行分類,全連接層實際上就是多層感知器的隱層部分,得到基于輸入的概率分布。輸出層是一個分類器,可以采用柔性最大值傳輸函數(softmax)、雙彎曲函數(sigmoid)等進行分類。
卷積神經網絡的訓練目標是最小化網絡的損失函數 L(ω, b)。輸入 H0 經過前向傳導后通過損失函數計算出與期望值之間的差異,稱為“殘差”。常見損失函數有均方誤差函數(mean squared error, MSE)(以符號 MSE 表示)等,函數表達式如式(4)所示:
|  | 
訓練過程中,卷積神經網絡常用的優化方法是梯度下降法[12]。殘差通過梯度下降進行反向傳播,逐層更新卷積神經網絡的各個層的可訓練參數 (ω 和 b)。學習速率參數 η 用于控制殘差反向傳播的強度。ω 和 b 的參數更新如式(5)所示:
|  | 
1.2 Alexnet 結構
Alexnet 擁有 8 層結構,其中每層由卷積層、修正線性單元層、最大池化層、規范化層(banchnomalization)、全連接層和平鋪層(flatten)中的一種或幾種構成。本文以 Alexnet 為原型構建網絡,其輸入圖像的尺寸規范為 224 × 224 × 3,訓練樣本分為有鈣化和無鈣化兩類,所以 L8 層節點數為 2。輸出層采用 softmax 函數。網絡損失函數采用 MSE 函數。Alexnet 結構如圖 4 所示,各層具體構成如圖 5 所示。
 圖4
				Alexnet 結構
			
												
				Figure4.
				Structure of Alexnet
						
				圖4
				Alexnet 結構
			
												
				Figure4.
				Structure of Alexnet
			
								 圖5
				Alexnet 的具體構成
			
												
				Figure5.
				The concrete composition of Alexnet
						
				圖5
				Alexnet 的具體構成
			
												
				Figure5.
				The concrete composition of Alexnet
			
								本文直接使用 Alexnet 對鈣化特征進行判斷,其識別準確率為 74%,結果并不是很好。分析原因可能是由于 Alexnet 通常作用于分類任務,假設其需要分成 n 類,則其訓練時的標簽為一個由 1 和 0 組成的 n 維向量,代表將該樣本分成各個類的概率分布。卷積神經網絡采用反向傳播算法進行有監督訓練,該算法包括信息的正向傳播和誤差的反向傳播兩個階段,通過使輸出不斷降低與標簽向量之間的誤差來達到訓練網絡參數的目的,最終使網絡的參數趨于將原圖映射到標簽向量上,因而不能準確得到所需要的特征。鑒于此,如果研究人員將輸出標簽設為一個二值分割圖像,反向傳播算法會使整個網絡的參數趨于將原圖映射到二值分割圖像上,在層層的卷積過程中會使提取的特征趨于二值分割圖像所分割出的特征,而這樣的特征正是作為分類依據的特征。因此,本文按此思路對 Alexnet 進行了改進。
1.3 改進的 Alexnet
改進的 Alexnet 在 Alexnet 的基礎上,去掉 L6~L8 的全連接層,后面再連接 L9~L14 共 6 層,為了比較,本文將此網絡命名為阿列克謝分割網絡 1(Alexnet_seg1)。Alexnet_seg1 增加了反池化層(unpooling)和反卷積層(deconv2D),其每層具體構成如圖 6 所示。其中,L9、L10、L11、L12、L13 中的反池化層和反卷積層分別與前面 L5、L4、L3、L2、L1 中的池化層和卷積層相對應。
 圖6
				Alexnet_seg1 的具體構成
			
												
				Figure6.
				The concrete composition of Alexnet_seg1
						
				圖6
				Alexnet_seg1 的具體構成
			
												
				Figure6.
				The concrete composition of Alexnet_seg1
			
								本文采用標定的鈣化點特征作為標簽,即特征模板為分割出鈣化特征的二值化圖像,如圖 7 所示,有鈣化圖像鈣化區域像素值為 255,其他區域像素值為 0;如果是無鈣化圖像,其對應的二值化圖像將全黑。
 圖7
				原圖及其對應標簽圖像
			
												
				Figure7.
				The original image and its corresponding label image
						
				圖7
				原圖及其對應標簽圖像
			
												
				Figure7.
				The original image and its corresponding label image
			
								由于 Alexnet_seg1 的輸出不再是鈣化和無鈣化的兩類標簽,而是與原圖大小相同的特征模板,因此設置 L14 用于降低特征維度,使其輸出尺寸和原圖大小一致(即為 224 × 224 × 3),輸出層采用函數 sigmoid,其函數表達式如式(6)所示:
|  | 
接下來,對 Alexnet_seg1 進行訓練,以特征模板作為標簽,為使訓練精確度更高,損失函數采用二次均方誤差函數(mean squared squared error, MSSE)(以符號 MSSE 表示),其函數表達式如式(7)所示:
|  | 
訓練集訓練結束后,保留前 5 層 L1~L5 層權值不再變化,去掉 Alexnet_seg1 的 L9~L14 層,重新加入 L6~L8 的全連接層,即恢復成 Alexnet 結構。
再次輸入相同的訓練圖像集進行訓練,并以有無鈣化點兩類信息作為相應的標簽,有即為 1,無即為 0。此次訓練僅訓練后 3 層 L6~L8 全連接層的權值,前面 L1~L5 層權值不再進行變化,訓練結束后保留全部 8 層的權值,并將此網絡命名為阿列克謝卷積神經網絡 1(Alexnet-1)。
1.4 網絡結構調整
卷積神經網絡中卷積核的尺寸、數量以及卷積步長都對網絡分類的準確性有著重要影響。一般情況下,較小的卷積核尺寸,較多的卷積核數量,較小的步長以及較多的卷積層數會使網絡的性能有相應的提高,但是過多的卷積核和卷積層數也會造成過擬合以及訓練速度減慢等弊端,所以需要將網絡調整到一個既不占過多資源又能提高分類準確率的結構。
Alexnet 中,第三層和第四層的特征提取能力最強。因此,本文更改第三層和第四層的卷積核的數量,對其從 350 開始做步長為 2 的批處理,直至 512 為止,以計算不同卷積核數量下,網絡分類的準確率。最終在卷積核數量為 390 時,網絡的分類準確率達到最高。同時,由于本次實驗僅分兩類,分類數量較少。全連接層節點數過多也會導致分類的過擬合,因此本文將 L6、L7 中全連接層節點數分別設為 4 096、2 048、1 024、512 進行比較,最終發現節點數設為 1 024 時,分類準確率最高。因此將 Alexnet 中 L3、L4 層卷積核數量均調整為 390,L6、L7 的全連接層尺寸均改為 1 024,并將該網絡命名為阿列克謝卷積神經網絡 2(Alexnet-2)。
訓練后對 Alexnet 和 Alexnet-2 的 L3、L4 以及 L5 的自編碼還原的圖像進行比較,如圖 8、圖 9 所示,Alexnet-2 的自編碼還原圖像中呈現出更多亮度較高、梯度較大的特征,這些均為鈣化點判別所需特征,可見網絡結構調整是有效的。
 圖8
				Alexnet 各卷積層自編碼還原圖像
			
												
				Figure8.
				Own coding restore images of each convolution layer in Alexnet
						
				圖8
				Alexnet 各卷積層自編碼還原圖像
			
												
				Figure8.
				Own coding restore images of each convolution layer in Alexnet
			
								 圖9
				Alexnet-2 各卷積層自編碼還原圖像
			
												
				Figure9.
				Own coding restore images of each convolution layer in Alexnet-2
						
				圖9
				Alexnet-2 各卷積層自編碼還原圖像
			
												
				Figure9.
				Own coding restore images of each convolution layer in Alexnet-2
			
								1.5 最終的網絡結構
最后將 Alexnet-2 和 Alexnet-1 結合起來,即:先對 Alexnet-2 去掉 L6~L8 層,在后面加上逐層對應的反池化層和反卷積層,序列輸入數據集圖片并以特征模板進行訓練。此網絡命名為阿列克謝分割網絡 2(Alexnet_seg2)。訓練集訓練結束后,保留 Alexnet_seg2 前 5 層卷積層及其權值不再變化,去掉 L9~L14 層,重新加入 L6~L8 層,然后輸入數據集圖片進行分類訓練,此次僅訓練 L6~L8 層的權值,此網絡命名為阿列克謝卷積神經網絡 3(Alexnet-3),Alexnet-3 的結構與 Alexnet-2 相同,但是其訓練方法、各層參數與 Alexnet-2 又存在一定差異。
2 結果與分析
2.1 數據集和預處理
本文每張圖片的鈣化特征均由經驗豐富的醫生進行標定。最終經過篩選,共得到有鈣化結節圖片 2 104 張、無鈣化結節圖片 2 711 張。由于獲得的超聲圖像中大部分包含血流特征,其顏色可能對判定造成影響,所以選擇圖像紅綠藍三個通道的最小值作為圖像的灰度值,如圖 10 所示。由于其他區域灰度不會發生變化,同時血流特征的最小灰度低于整張圖像的平均灰度,因此不會對鈣化特征判定造成干擾。
 圖10
				包含血流特征的甲狀腺結節圖像及其預處理圖像
			
												
				Figure10.
				The thyroid nodule image with blood flow characteristics and its pretreatment image
						
				圖10
				包含血流特征的甲狀腺結節圖像及其預處理圖像
			
												
				Figure10.
				The thyroid nodule image with blood flow characteristics and its pretreatment image
			
								由于卷積神經網絡訓練需要大量樣本,因此對全體有鈣化結節圖片 2 104 張、無鈣化結節圖片 2 711 張使用以下 4 種方法進行樣本擴充,即對所有圖片分別進行范圍為 0°~360° 的隨機角度旋轉、施以倍數范圍為 0.8~1 的隨機比例縮小、施以倍數范圍為 1~1.2 的隨機比例放大以及鏡面旋轉。共得到有鈣化結節圖片 8 416 張、無鈣化結節圖片 10 844 張,使數據集總數擴充 4 倍的同時保持特征尺度不變性。
最后將每張圖片以結節為中心、以結節最長長度為邊長,截取包含一部分周邊環境的正方形區域,作為最終數據集圖像。將樣本擴充以后的數據集圖像均除以 255,使得每個像素值在 0 到 1 之間,用于幾種卷積神經網絡的分類實驗測試。而取未經樣本擴充的數據集,使用傳統方法進行對照實驗。
2.2 實驗測試方法
實驗采用高級神經網絡庫克拉斯(keras)搭建卷積神經網絡。實驗從有鈣化結節圖片 8 416 張、無鈣化結節圖片 10 844 張中各抽取每部分的 1/10 作為測試集,其余作為訓練集,并循環進行 10 次訓練和測試。
對 Alexnet-seg1 和 Alexnet-seg2 的訓練,批尺寸設為 40,全體樣本共被訓練 150 次,對 Alexnet、Alexnet-1、Alexnet-2、Alexnet-3 等 4 個網絡的訓練,批尺寸設為 25,全體樣本共被訓練 200 次。10 次測試的判別準確數目之和以及判別準確率的結果,如表 1 所示。其中判別準確率的計算公式如式(8)所示:
|  | 
 表1
                四種網絡鈣化特征判別準確數目及準確率
		 	
		 			 				Table1.
    			The accurate quantity and accuracy of the calcification extraction with four types of network
			
						表1
                四種網絡鈣化特征判別準確數目及準確率
		 	
		 			 				Table1.
    			The accurate quantity and accuracy of the calcification extraction with four types of network
       		
       				為了與本文方法對照,分別使用了鈣化指數、局部大津閾值和最大極值穩定區域 3 種方法對擴充前的圖像(即有鈣化結節圖片 2 104 張、無鈣化結節圖片 2 711 張)進行分類,判別準確數目和判別準確率如表 2 所示。
 表2
                三種傳統方法鈣化特征判別準確數目及準確率
		 	
		 			 				Table2.
    			The accurate quantity and accuracy of the calcification extraction with three traditional methods
			
						表2
                三種傳統方法鈣化特征判別準確數目及準確率
		 	
		 			 				Table2.
    			The accurate quantity and accuracy of the calcification extraction with three traditional methods
       		
       				2.3 實驗結果分析
從測試結果可以看出,使用 Alexnet 直接分類較傳統方法判別準確率有著大幅提高,而先進行特征訓練再進行分類訓練的網絡 Alexnet-1 和 Alexnet-3 較直接分類網絡 Alexnet 和 Alexnet-2,準確率有著很大的提升,而同時網絡結構的升級,也會提升準確率。
從圖 8、圖 9 可以看出,Alexnet 和 Alexnet-2 沒有經過以特征模板作為標簽進行訓練的過程,其最終尋找的特征沒有明顯的傾向性,很難直接描述其找到的特征;Alexnet-1 和 Alexnet-3 經過了以特征模板作為標簽進行訓練的過程,兩者的 L5 分割結果如圖 11 所示,正是本文研究所需要的鈣化特征,而最后進行的分類網絡正是基于分割得到的特征進行分類,所以其分類的方向更加明確。升級以后的網絡 Alexnet_seg2 其分割結果比原網絡 Alexnet_seg1 更加清晰明確。研究結果表明,在進行少量類別的分類時,人工干預網絡的訓練,將其訓練方向趨于所需判別的特征,其測試結果準確率會有明顯提高。
 圖11
				Alexnet-1 和 Alexnet-3 的 L5 分割圖像
			
												
				Figure11.
				The segmented images of L5 in Alexnet-1 and Alexnet-3
						
				圖11
				Alexnet-1 和 Alexnet-3 的 L5 分割圖像
			
												
				Figure11.
				The segmented images of L5 in Alexnet-1 and Alexnet-3
			
								3 總結
本文設計了一種基于卷積神經網絡、適用于鈣化特征提取的新方法,該方法通過先分割圖像,后提取特征的方式,提高了鈣化點判別準確率,為甲狀腺結節良惡性識別提供了有用的分析工具,也可以作為計算機輔助診斷中甲狀腺結節良惡性識別的參考方法。但目前使用的 Alexnet 結構較簡單,分割分類的準確率沒有達到最佳,還具有升級的空間,因此今后的研究方向是研究新的分割和分類網絡,提高網絡的性能,進而提高鈣化點判別準確率。
致謝:感謝北京中日友好醫院超聲科提供超聲圖像以及鈣化點標定的大力支持。
引言
資料顯示,甲狀腺結節中甲狀腺癌的發病率現已達到 5%~15%[1]。近年來,甲狀腺癌的發病率不斷增加[2]。超聲是診斷甲狀腺結節的首選方案[3],其中鈣化特征是甲狀腺結節良惡性判別的重要依據[4]。由于超聲圖像清晰度差、分辨率低,甲狀腺及其附近組織復雜,干擾因素多等原因,使得基于超聲圖像的鈣化特征提取有較大難度。
近年來,對于鈣化特征的提取方法,主要集中在基于亮度特征的閾值分割。例如:Chen 等[5]提出鈣化指數(calcification index, CI)計算方法針對甲狀腺結節內的鈣化特征進行定量表征,其方法認為鈣化點一般在結節內的高亮區域,先以單閾值去除囊性區域得到鈣化點搜索區域,并定義 μ 為鈣化點搜索區域像素點的均值,定義 σ 為鈣化點搜索區域像素點的方差,定義 k 為方差的倍數因子,以 K = μ + k·σ 作為鈣化點搜索區域內鈣化與非鈣化之間的閾值,最終以鈣化區域與整個結節的面積之比作為鈣化系數。該方法僅以是否為高亮部位作為判定鈣化的唯一標準。但實際上,在很多結節中也會有諸如囊壁組織等高亮組織,因此這種方法很容易造成這些非鈣化組織的誤判。
Choi 等[6]提出基于局部大津閾值的方法來判斷鈣化特征,其步驟是首先將腫瘤區域平均分成 5 × 5 = 25 個相同大小的區域,然后對每個區域分別計算大津閾值,以一個特定值作為標定閾值,如果分割閾值大于標定閾值則對此區域進行大津閾值分割,如果該分割閾值小于標定閾值,則在此區域內不進行分割。
韓曉濤[7]提出基于最大極值穩定區域(maximally stable extremal regions, MSER)的方法來判斷鈣化特征,該方法使用一系列灰度閾值對圖像進行二值化處理并得到相應的黑色和白色區域,在比較寬的灰度閾值范圍內保持形狀穩定的區域即為最大極值穩定區域。對所有最大極值穩定區域基于區域的平均亮度進行排序并設定閾值,以判斷該區域是否為鈣化區域。該方法閾值設定方式較死板,對某些對比度較高但絕對亮度并不高的鈣化點的判斷準確率低。
綜上所述,現有的鈣化點判別方法都是基于鈣化點的亮度特征,通過單個或多個閾值的比較來進行判別,這些方法均存在一定弊端。首先,在超聲圖片中,鈣化點并不一定是結節及其周邊組織中亮度最高的區域,有一些鈣化點的亮度并不高,但它與周圍組織的對比度很高,如圖 1 中紅色箭頭指示部分所示。其次,甲狀腺結節種類很多,很多結節內部及外部區域組織復雜,有很多高亮組織(比如:囊壁),如圖 2 所示,紅色箭頭所指分別為囊壁和鈣化點。如果僅僅以亮度作為鈣化點的判別標準,那么這些高亮非鈣化組織很容易被判定為鈣化點。第三,由于超聲機器獲得圖像質量不一,不同超聲圖像的分辨率、清晰度、整體亮度以及對比度等多項指標都會有所差異。所以只以亮度為提取特征,是不能正確提取鈣化點的。
 圖1
				一些亮度較低的鈣化點
			
												
				Figure1.
				Calcification with low brightness
						
				圖1
				一些亮度較低的鈣化點
			
												
				Figure1.
				Calcification with low brightness
			
								 圖2
				囊壁與鈣化點的對比
			
												
				Figure2.
				The contrast of capsule wall with calcification
						
				圖2
				囊壁與鈣化點的對比
			
												
				Figure2.
				The contrast of capsule wall with calcification
			
								深度學習方法可以將圖像的各方面特征相結合,提取出全面、整體、抽象的特征。本文基于卷積神經網絡對鈣化特征進行提取,提出先分割后分類的提取方法,整體學習鈣化點的特征,將鈣化點的亮度、形態、與周邊組織關系以及一些不容易量化的特征融合起來進行判別,其判別準確率既遠高于傳統的僅通過單一亮度特征進行判別的方法,也高于直接使用卷積神經網絡進行分類的提取方法,為甲狀腺結節的良惡性識別提供了有效的手段。
1 方法
本文采用的所有甲狀腺圖像數據均由北京中日友好醫院超聲科提供,這些圖像采集于不同的時間、不同的超聲儀器。所有圖像數據均脫敏,均不包含任何患者信息,本文的科學研究也僅僅針對圖像本身,無需涉及患者信息和超聲儀器信息。
1.1 卷積神經網絡
實驗采用阿列克謝卷積神經網絡(Alexnet convolutional neural network,Alexnet)作為網絡原型[8]。卷積神經網絡 (convolutional neural network, CNN) 提供了一種端到端的學習模型,模型中的參數可以通過傳統的梯度下降方法進行訓練,經過訓練的卷積神經網絡能夠學習到圖像中的特征,并且完成對圖像特征的提取和分類[9]。
 圖3
				典型的卷積神經網絡
			
												
				Figure3.
				The typical convolution neural network
						
				圖3
				典型的卷積神經網絡
			
												
				Figure3.
				The typical convolution neural network
			
								典型卷積神經網絡主要由輸入層(input)、卷積層(conv2D)、池化層(pooling)、全連接層(dense)和輸出層(output)組成,如圖 3 所示。輸入層通常是原始圖像;卷積層主要作用是提取輸入數據特征。卷積層由多個特征圖(feature map)組成,每個特征圖由一種卷積核(kernel)與上一層特征圖卷積獲得[10],同一個特征圖中,卷積核的權值共享。卷積核類似神經元,其輸入與輸出之間的對應關系如式(1)所示:
|  | 
其中,xi 是上一層的輸入信號,n 是輸入信號個數。ωi 是輸入信號 xi 與神經元的連接權值,b 是神經元的內部狀態即偏置值,y 為神經元的輸出。f( )為激勵函數,本文采用線性糾正函數(rectified linear unit, reLU),其函數表達式如式(2)所示:
|  | 
本文以 Hi 表示卷積神經網絡第 i 層的特征圖,以 H0 代表原圖。假設第 i 層是卷積層,Hi 的產生過程,如式(3)所示:
|  | 
其中,ωi 表示第 i 層的卷積核,符號“?”代表卷積操作,卷積的輸出與第 i 層的偏移向量 bi 相加,最終通過非線性的激勵函數 f( )得到第 i 層的特征圖 Hi。
池化層:卷積神經網絡的池化層通常跟隨在卷積層之后,依據一定的池化規則[11],比如:對鄰域內特征值求平均值的平均池化(average pooling)和對鄰域內特征值取最大值的最大池化(max pooling)。池化層的功能主要有兩點:① 對特征圖進行降維;② 在一定程度上保持特征的尺度不變特性。
全連接層及輸出層:卷積神經網絡依靠全連接網絡對提取的特征進行分類,全連接層實際上就是多層感知器的隱層部分,得到基于輸入的概率分布。輸出層是一個分類器,可以采用柔性最大值傳輸函數(softmax)、雙彎曲函數(sigmoid)等進行分類。
卷積神經網絡的訓練目標是最小化網絡的損失函數 L(ω, b)。輸入 H0 經過前向傳導后通過損失函數計算出與期望值之間的差異,稱為“殘差”。常見損失函數有均方誤差函數(mean squared error, MSE)(以符號 MSE 表示)等,函數表達式如式(4)所示:
|  | 
訓練過程中,卷積神經網絡常用的優化方法是梯度下降法[12]。殘差通過梯度下降進行反向傳播,逐層更新卷積神經網絡的各個層的可訓練參數 (ω 和 b)。學習速率參數 η 用于控制殘差反向傳播的強度。ω 和 b 的參數更新如式(5)所示:
|  | 
1.2 Alexnet 結構
Alexnet 擁有 8 層結構,其中每層由卷積層、修正線性單元層、最大池化層、規范化層(banchnomalization)、全連接層和平鋪層(flatten)中的一種或幾種構成。本文以 Alexnet 為原型構建網絡,其輸入圖像的尺寸規范為 224 × 224 × 3,訓練樣本分為有鈣化和無鈣化兩類,所以 L8 層節點數為 2。輸出層采用 softmax 函數。網絡損失函數采用 MSE 函數。Alexnet 結構如圖 4 所示,各層具體構成如圖 5 所示。
 圖4
				Alexnet 結構
			
												
				Figure4.
				Structure of Alexnet
						
				圖4
				Alexnet 結構
			
												
				Figure4.
				Structure of Alexnet
			
								 圖5
				Alexnet 的具體構成
			
												
				Figure5.
				The concrete composition of Alexnet
						
				圖5
				Alexnet 的具體構成
			
												
				Figure5.
				The concrete composition of Alexnet
			
								本文直接使用 Alexnet 對鈣化特征進行判斷,其識別準確率為 74%,結果并不是很好。分析原因可能是由于 Alexnet 通常作用于分類任務,假設其需要分成 n 類,則其訓練時的標簽為一個由 1 和 0 組成的 n 維向量,代表將該樣本分成各個類的概率分布。卷積神經網絡采用反向傳播算法進行有監督訓練,該算法包括信息的正向傳播和誤差的反向傳播兩個階段,通過使輸出不斷降低與標簽向量之間的誤差來達到訓練網絡參數的目的,最終使網絡的參數趨于將原圖映射到標簽向量上,因而不能準確得到所需要的特征。鑒于此,如果研究人員將輸出標簽設為一個二值分割圖像,反向傳播算法會使整個網絡的參數趨于將原圖映射到二值分割圖像上,在層層的卷積過程中會使提取的特征趨于二值分割圖像所分割出的特征,而這樣的特征正是作為分類依據的特征。因此,本文按此思路對 Alexnet 進行了改進。
1.3 改進的 Alexnet
改進的 Alexnet 在 Alexnet 的基礎上,去掉 L6~L8 的全連接層,后面再連接 L9~L14 共 6 層,為了比較,本文將此網絡命名為阿列克謝分割網絡 1(Alexnet_seg1)。Alexnet_seg1 增加了反池化層(unpooling)和反卷積層(deconv2D),其每層具體構成如圖 6 所示。其中,L9、L10、L11、L12、L13 中的反池化層和反卷積層分別與前面 L5、L4、L3、L2、L1 中的池化層和卷積層相對應。
 圖6
				Alexnet_seg1 的具體構成
			
												
				Figure6.
				The concrete composition of Alexnet_seg1
						
				圖6
				Alexnet_seg1 的具體構成
			
												
				Figure6.
				The concrete composition of Alexnet_seg1
			
								本文采用標定的鈣化點特征作為標簽,即特征模板為分割出鈣化特征的二值化圖像,如圖 7 所示,有鈣化圖像鈣化區域像素值為 255,其他區域像素值為 0;如果是無鈣化圖像,其對應的二值化圖像將全黑。
 圖7
				原圖及其對應標簽圖像
			
												
				Figure7.
				The original image and its corresponding label image
						
				圖7
				原圖及其對應標簽圖像
			
												
				Figure7.
				The original image and its corresponding label image
			
								由于 Alexnet_seg1 的輸出不再是鈣化和無鈣化的兩類標簽,而是與原圖大小相同的特征模板,因此設置 L14 用于降低特征維度,使其輸出尺寸和原圖大小一致(即為 224 × 224 × 3),輸出層采用函數 sigmoid,其函數表達式如式(6)所示:
|  | 
接下來,對 Alexnet_seg1 進行訓練,以特征模板作為標簽,為使訓練精確度更高,損失函數采用二次均方誤差函數(mean squared squared error, MSSE)(以符號 MSSE 表示),其函數表達式如式(7)所示:
|  | 
訓練集訓練結束后,保留前 5 層 L1~L5 層權值不再變化,去掉 Alexnet_seg1 的 L9~L14 層,重新加入 L6~L8 的全連接層,即恢復成 Alexnet 結構。
再次輸入相同的訓練圖像集進行訓練,并以有無鈣化點兩類信息作為相應的標簽,有即為 1,無即為 0。此次訓練僅訓練后 3 層 L6~L8 全連接層的權值,前面 L1~L5 層權值不再進行變化,訓練結束后保留全部 8 層的權值,并將此網絡命名為阿列克謝卷積神經網絡 1(Alexnet-1)。
1.4 網絡結構調整
卷積神經網絡中卷積核的尺寸、數量以及卷積步長都對網絡分類的準確性有著重要影響。一般情況下,較小的卷積核尺寸,較多的卷積核數量,較小的步長以及較多的卷積層數會使網絡的性能有相應的提高,但是過多的卷積核和卷積層數也會造成過擬合以及訓練速度減慢等弊端,所以需要將網絡調整到一個既不占過多資源又能提高分類準確率的結構。
Alexnet 中,第三層和第四層的特征提取能力最強。因此,本文更改第三層和第四層的卷積核的數量,對其從 350 開始做步長為 2 的批處理,直至 512 為止,以計算不同卷積核數量下,網絡分類的準確率。最終在卷積核數量為 390 時,網絡的分類準確率達到最高。同時,由于本次實驗僅分兩類,分類數量較少。全連接層節點數過多也會導致分類的過擬合,因此本文將 L6、L7 中全連接層節點數分別設為 4 096、2 048、1 024、512 進行比較,最終發現節點數設為 1 024 時,分類準確率最高。因此將 Alexnet 中 L3、L4 層卷積核數量均調整為 390,L6、L7 的全連接層尺寸均改為 1 024,并將該網絡命名為阿列克謝卷積神經網絡 2(Alexnet-2)。
訓練后對 Alexnet 和 Alexnet-2 的 L3、L4 以及 L5 的自編碼還原的圖像進行比較,如圖 8、圖 9 所示,Alexnet-2 的自編碼還原圖像中呈現出更多亮度較高、梯度較大的特征,這些均為鈣化點判別所需特征,可見網絡結構調整是有效的。
 圖8
				Alexnet 各卷積層自編碼還原圖像
			
												
				Figure8.
				Own coding restore images of each convolution layer in Alexnet
						
				圖8
				Alexnet 各卷積層自編碼還原圖像
			
												
				Figure8.
				Own coding restore images of each convolution layer in Alexnet
			
								 圖9
				Alexnet-2 各卷積層自編碼還原圖像
			
												
				Figure9.
				Own coding restore images of each convolution layer in Alexnet-2
						
				圖9
				Alexnet-2 各卷積層自編碼還原圖像
			
												
				Figure9.
				Own coding restore images of each convolution layer in Alexnet-2
			
								1.5 最終的網絡結構
最后將 Alexnet-2 和 Alexnet-1 結合起來,即:先對 Alexnet-2 去掉 L6~L8 層,在后面加上逐層對應的反池化層和反卷積層,序列輸入數據集圖片并以特征模板進行訓練。此網絡命名為阿列克謝分割網絡 2(Alexnet_seg2)。訓練集訓練結束后,保留 Alexnet_seg2 前 5 層卷積層及其權值不再變化,去掉 L9~L14 層,重新加入 L6~L8 層,然后輸入數據集圖片進行分類訓練,此次僅訓練 L6~L8 層的權值,此網絡命名為阿列克謝卷積神經網絡 3(Alexnet-3),Alexnet-3 的結構與 Alexnet-2 相同,但是其訓練方法、各層參數與 Alexnet-2 又存在一定差異。
2 結果與分析
2.1 數據集和預處理
本文每張圖片的鈣化特征均由經驗豐富的醫生進行標定。最終經過篩選,共得到有鈣化結節圖片 2 104 張、無鈣化結節圖片 2 711 張。由于獲得的超聲圖像中大部分包含血流特征,其顏色可能對判定造成影響,所以選擇圖像紅綠藍三個通道的最小值作為圖像的灰度值,如圖 10 所示。由于其他區域灰度不會發生變化,同時血流特征的最小灰度低于整張圖像的平均灰度,因此不會對鈣化特征判定造成干擾。
 圖10
				包含血流特征的甲狀腺結節圖像及其預處理圖像
			
												
				Figure10.
				The thyroid nodule image with blood flow characteristics and its pretreatment image
						
				圖10
				包含血流特征的甲狀腺結節圖像及其預處理圖像
			
												
				Figure10.
				The thyroid nodule image with blood flow characteristics and its pretreatment image
			
								由于卷積神經網絡訓練需要大量樣本,因此對全體有鈣化結節圖片 2 104 張、無鈣化結節圖片 2 711 張使用以下 4 種方法進行樣本擴充,即對所有圖片分別進行范圍為 0°~360° 的隨機角度旋轉、施以倍數范圍為 0.8~1 的隨機比例縮小、施以倍數范圍為 1~1.2 的隨機比例放大以及鏡面旋轉。共得到有鈣化結節圖片 8 416 張、無鈣化結節圖片 10 844 張,使數據集總數擴充 4 倍的同時保持特征尺度不變性。
最后將每張圖片以結節為中心、以結節最長長度為邊長,截取包含一部分周邊環境的正方形區域,作為最終數據集圖像。將樣本擴充以后的數據集圖像均除以 255,使得每個像素值在 0 到 1 之間,用于幾種卷積神經網絡的分類實驗測試。而取未經樣本擴充的數據集,使用傳統方法進行對照實驗。
2.2 實驗測試方法
實驗采用高級神經網絡庫克拉斯(keras)搭建卷積神經網絡。實驗從有鈣化結節圖片 8 416 張、無鈣化結節圖片 10 844 張中各抽取每部分的 1/10 作為測試集,其余作為訓練集,并循環進行 10 次訓練和測試。
對 Alexnet-seg1 和 Alexnet-seg2 的訓練,批尺寸設為 40,全體樣本共被訓練 150 次,對 Alexnet、Alexnet-1、Alexnet-2、Alexnet-3 等 4 個網絡的訓練,批尺寸設為 25,全體樣本共被訓練 200 次。10 次測試的判別準確數目之和以及判別準確率的結果,如表 1 所示。其中判別準確率的計算公式如式(8)所示:
|  | 
 表1
                四種網絡鈣化特征判別準確數目及準確率
		 	
		 			 				Table1.
    			The accurate quantity and accuracy of the calcification extraction with four types of network
			
						表1
                四種網絡鈣化特征判別準確數目及準確率
		 	
		 			 				Table1.
    			The accurate quantity and accuracy of the calcification extraction with four types of network
       		
       				為了與本文方法對照,分別使用了鈣化指數、局部大津閾值和最大極值穩定區域 3 種方法對擴充前的圖像(即有鈣化結節圖片 2 104 張、無鈣化結節圖片 2 711 張)進行分類,判別準確數目和判別準確率如表 2 所示。
 表2
                三種傳統方法鈣化特征判別準確數目及準確率
		 	
		 			 				Table2.
    			The accurate quantity and accuracy of the calcification extraction with three traditional methods
			
						表2
                三種傳統方法鈣化特征判別準確數目及準確率
		 	
		 			 				Table2.
    			The accurate quantity and accuracy of the calcification extraction with three traditional methods
       		
       				2.3 實驗結果分析
從測試結果可以看出,使用 Alexnet 直接分類較傳統方法判別準確率有著大幅提高,而先進行特征訓練再進行分類訓練的網絡 Alexnet-1 和 Alexnet-3 較直接分類網絡 Alexnet 和 Alexnet-2,準確率有著很大的提升,而同時網絡結構的升級,也會提升準確率。
從圖 8、圖 9 可以看出,Alexnet 和 Alexnet-2 沒有經過以特征模板作為標簽進行訓練的過程,其最終尋找的特征沒有明顯的傾向性,很難直接描述其找到的特征;Alexnet-1 和 Alexnet-3 經過了以特征模板作為標簽進行訓練的過程,兩者的 L5 分割結果如圖 11 所示,正是本文研究所需要的鈣化特征,而最后進行的分類網絡正是基于分割得到的特征進行分類,所以其分類的方向更加明確。升級以后的網絡 Alexnet_seg2 其分割結果比原網絡 Alexnet_seg1 更加清晰明確。研究結果表明,在進行少量類別的分類時,人工干預網絡的訓練,將其訓練方向趨于所需判別的特征,其測試結果準確率會有明顯提高。
 圖11
				Alexnet-1 和 Alexnet-3 的 L5 分割圖像
			
												
				Figure11.
				The segmented images of L5 in Alexnet-1 and Alexnet-3
						
				圖11
				Alexnet-1 和 Alexnet-3 的 L5 分割圖像
			
												
				Figure11.
				The segmented images of L5 in Alexnet-1 and Alexnet-3
			
								3 總結
本文設計了一種基于卷積神經網絡、適用于鈣化特征提取的新方法,該方法通過先分割圖像,后提取特征的方式,提高了鈣化點判別準確率,為甲狀腺結節良惡性識別提供了有用的分析工具,也可以作為計算機輔助診斷中甲狀腺結節良惡性識別的參考方法。但目前使用的 Alexnet 結構較簡單,分割分類的準確率沒有達到最佳,還具有升級的空間,因此今后的研究方向是研究新的分割和分類網絡,提高網絡的性能,進而提高鈣化點判別準確率。
致謝:感謝北京中日友好醫院超聲科提供超聲圖像以及鈣化點標定的大力支持。
 
        

 
                 
				 
																   	
                                                                    
                                                                    
																	 
																   	
                                                                    
                                                                    
																	 
																   	
                                                                    
                                                                    
																	 
																   	
                                                                    
                                                                    
																	 
																   	
                                                                    
                                                                    
																	 
																   	
                                                                    
                                                                    
																	 
																   	
                                                                    
                                                                    
																	 
																   	
                                                                    
                                                                    
																	 
																   	
                                                                    
                                                                    
																	 
																   	
                                                                    
                                                                    
																	 
                                                                    
                                                                        
                                                                        
                                                                        