鞠維欣,趙希梅
(1.青島酒店管理職業(yè)技術學院 會計學院,山東 青島 266100;2.青島大學 計算機科學技術學院,山東 青島 266071;3.山東省數字醫(yī)學與計算機輔助手術重點實驗室,山東 青島 266000)
肝硬化是目前人類的常見慢性疾病,對其進行早期檢測以防止病情惡化至關重要[1]。計算機輔助診斷[2](Computer-Aided Design,CAD)技術在醫(yī)學影像領域發(fā)展迅速,其可以高效識別出肝的病理圖像,不僅可以降低醫(yī)生人為主觀誤判概率[3],而且可以提高工作效率。目前肝硬化識別計算機輔助診斷從早期的傳統(tǒng)機器學習人工提取特征,到深度學習卷積神經網絡自動提取樣本特征進行分類都有著較多研究和應用,也獲得了較好的識別效果。
基于傳統(tǒng)機器學習的人工提取特征方法主要包括LBP、Gabor 變換、HOG 和灰度共生矩陣等。雷一鳴等[4]用小波變換先對圖像進行特征預處理,利用二維Gabor 變換,通過LBP 方法提取特征,再利用SVM 作為分離器,識別率達到了95.4%。韓秀芝等[5]使用稀疏矩陣作為多特征分類器,并用LBP 對樣本提取特征,實現了肝類疾病的多分類識別,且性能較為穩(wěn)定。在基于深度學習卷積神經網絡的肝硬化識別中,鞠維欣等[6]將卷積神經網絡與概率神經網絡相結合,提出GoogleNet-PNN 的新模型,達到了較高的識別率。張歡等[7]將STN 模塊和異構卷積濾波器應用于卷積神經網絡,達到了較好的二分類效果。
肝臟具有特殊的解剖形態(tài),屬于雙重動脈供血。在超聲照影檢查時,肝硬化在影像中主要呈現密度高低不均、肝葉不成比例等情況,在診斷時不僅耗時耗力,而且面對細微的變化也容易產生人為主觀誤差,并且隨著神經網絡層數的加深,會增加梯度離散和梯度爆炸的風險,同時模型訓練效率也會降低。針對上述問題,為降低卷積神經網絡訓練的復雜性,簡化模型參數,更好地優(yōu)化梯度,同時提高提取特征質量,本文提出一種新的模型結構STNGResnet 應用于超聲肝硬化樣本識別。因Resnet 殘差網絡打破了網絡越深、性能越好的共識,且殘差結構能加速學習,使得模型更加容易學習,也能有效防止梯度爆炸或消失。Resnet18 在保持性能的前提下模型參數也更少,因此以Resnet18[8]為基礎,在其中加入Ghostmodule 模塊增強冗余信息,結合空間變換網絡使特征具有空間不變性,同時在模型中加入附加角裕度損失函數(ArcFace)來增強超聲肝CT 影像紋理特征與顆粒度的差異性[9-10],并將該網絡與傳統(tǒng)的AlexNet[11]、VGG[12]、GoolgeNet[13]從識別準確率和運行效率兩方面進行對比分析。
在向模型中輸入超聲肝CT 影像時,經過Resnet 中的殘差塊在進行卷積操作時會產生一定量的冗余特征圖,而這些冗余特征可能是提取特征過程中重要的組成部分,或者存在一定的映射聯系,利用Ghost 模塊[14]用少量參數進行特征的映射變換和疊加。本文每經過一個殘差塊,都會加入Ghost 模塊,提取到保留冗余信息的特征圖,從而提高特征提取質量。
Ghost 模塊如圖1 所示。對于輸入的特征,首先進行普通的卷積操作得到常規(guī)特征圖,再利用深度卷積Depthwise對生成的常規(guī)特征圖進行cheap operate 操作,最終得到Ghost特征圖,然后再與第一步普通卷積的特征圖通過concat操作得到完整的特征輸出[15]。
Fig.1 Ghost module圖1 Ghost模塊
輸入特征圖為h×w×Ch_in時,經過常規(guī)普通卷積得到特征圖輸出為h'×w'×CH_out。常規(guī)的特征圖將輸入的特征圖分為n份,卷積核的尺度大小為c。
普通卷積操作運算量為:
Ghost模塊操作運算量為:
由上述公式得知,Ghost 模塊先進行普通卷積,再利用Depthwise 深度卷積對特征進行壓縮,然后兩者相加最終得到Ghost特征圖。
由DeepMind[16]提出的空間變換網絡(Spatial Transformer Network,STN)以仿射變換矩陣為基礎,動態(tài)地對圖像進行空間幾何操作,以增強網絡的幾何不變性??臻g轉換模塊主要由3 部分組成:①本地化網絡(Localisation Network);②參數化采樣網絡(Parameterised Sampling Grid);③圖像采樣(Image Sampling)??臻g變換網絡結構如圖2所示。
Fig.2 Spatial transformation network structure圖2 空間變換網絡結構
(1)本地化網絡。該部分主要是將輸入圖片U∈R(H,W,C)經過一系列特征提取操作后輸入到回歸層,輸出變換系數為θ,θ=floc(U)。
(2)參數化采樣網絡。對本地化網絡輸出的變換系數θ進行仿射變換,并對其中的坐標進行歸一化,以此輸出特征圖。得到的特征變換關系如公式(3)所示。
(3)圖像采樣。圖像通過本地化網絡和參數采樣層網絡得到坐標信息,再與原圖坐標信息相融合產生新的輸出特征。其參數采樣網絡關系可表示為:
其中,k()為采樣內核,Φx、Φy為采樣核輸入的內置參數,為輸入特征,為特征圖經過通道C對應的坐標。
輸入的圖像經過一系列仿射變換,其與原始特征圖融合輸出后的特征帶有空間不變性。該網絡即可作為完整網絡,也可作為一個模塊嵌入到模型中以增強特征提取能力,且參數較少,運行速度快。
solftmax 作為Resnet 分類函數,將預測分類結果都轉化為非負數,并將多個神經元的輸出映射到(0,1)區(qū)間進行分類,且轉化的數值相加為1。
其中,k為樣本數,n為種類數,b為卷積神經網絡的偏置,W為網絡權重,x為特征向量,yi為第i個樣本所屬種類為第i個樣本所屬類別的權重矩陣,矩陣的轉置為偏置矩陣。
在足夠的數據集能夠涵蓋不同類別的情況下,solftmax 函數能夠對每一個樣本進行歸屬分類,保證類別的可分性。在區(qū)分過程中,所屬類別的樣本如果能更緊湊地擬合在一起,并且類與類之間有一定距離,即類內緊湊和類間分離,則分類過程會更加嚴謹。因此,本文引入附加角裕度損失函數(ArcFace)進行優(yōu)化。首先對特征進行歸一化處理,將其映射到(0,1)范圍內,設置式(3)中的和偏置固定為0,并設置,再代入,得到公式如下:
之后,特征會以超球平面的形式分布在每個特征中心的周圍。為使每一個特征中心圍繞的特征更加緊湊,同時拉開特征中心之間的距離,即增強類內緊湊性和加大類間差異性,將公式(2)的進行縮放,并將增大至+β。具體公式如下:
經過附加角裕度損失函數(ArcFace)的優(yōu)化訓練,使得超聲肝CT 影像的特征分布在類內更加聚合,同時反向傳播優(yōu)化β值的角間距離,使得不同特征之間的中心距離拉大,增強樣本特征的差異性。
因醫(yī)學超聲肝CT 影像樣本集是在青醫(yī)附院醫(yī)生的指導下采集完成的,且數量遠小于自然數據集的數量,為保證模型不因樣本集數量產生過擬合現象,本文采用遷移學習和數據增強兩種方法。
1.4.1 遷移學習
采用自然樣本集的數據對模型進行預訓練,保留訓練后的參數應用到自己的樣本集中。在卷積神經網絡中,較低層次的網絡學到的特征圖都是比較簡單的,包括輪廓、形狀等,這些特征往往是通用的。但隨著網絡層數的加深,學到的特征也更加明顯和差異化,此時可將預訓練樣本與自己真正的樣本進行比較。如果樣本差異性較大,可進行參數微調;如果樣本差異性較小,可直接保留參數。因此,當樣本集過小時,通過該方法可有效避免過擬合[17-19]。
1.4.2 數據增強
對于原先的數據集,通過設定數據變換規(guī)則對樣本進行有效擴充[20]。數據增強主要分為有監(jiān)督增強和無監(jiān)督增強,有監(jiān)督的數據增強又包括單樣本增強和多樣本增強。其中,單樣本增強包括翻轉變換(flip)、亮度對比度變化(Color Jittering)、平移變換(Shift)、水平/垂直翻轉(Horizontally/Vertically Flip)與噪聲擾動(noise)。
本文采用有監(jiān)督學習中單樣本集的平移旋轉來擴充樣本數據,設置旋轉角度為30°,平移幅度為0.2,并將逆時針剪切變換角度和隨機縮放程度都設置為0.2,通過該方式將樣本集擴充了840個。
本文提出一種新的模型結構STN-GResnet,引用部分Resnet18 中的ResBlock 模塊并改為直連,使得到的特征直接輸入到Ghost 模塊中。該模塊中用 Depthwise 進行卷積和恒定映射,得到帶有冗余信息的特征圖,增強了信息獲取能力,同時引入空間變換網絡,提高卷積神經網絡的平移不變性,并且可以定位到目標區(qū)域,達到區(qū)域變換的最優(yōu)狀態(tài),增強特征提取能力。
該模型由4 個ResBlock 模塊作為主框架,如圖3 和表1所示,其中保留了殘差網絡模型中ResBlock 塊內的殘差運算,但模塊間改為直連結構。模塊1-3 中,Conv1 中卷積核大小為3×3,步長設為2;模塊4 中Conv1 卷積核大小為3×3,步長設為1;模塊1-4 中Conv2 卷積核大小都為1×1,步長都設為1。在每一個ResBlock 模塊前引入Ghost 模塊,每個模塊通過公式(2)得到帶有冗余信息的特征圖,再傳入下一個殘差模塊,同時Ghost 模塊的輸入channel 與上一個殘差塊輸出的channel 保持一致。模型中Ghost 模塊的常規(guī)卷積核大小為1×1,深度卷積核大小為3×3,步長都為1,模塊中分組數為Groups=out_channels/ratio,并向上取整,ratio 設為2。通過以上結構,肝CT 樣本通過提取該殘差塊的特征,再輸入到Ghost 模塊,從而提取到帶有冗余信息的特征,因而能獲得更多信息,提高了特征質量。同時,與空間變換網絡相結合,該網絡具有較好的魯棒性。在本模型中,該網絡作為一個模塊融合到模型中,在增強網絡模型整體性的同時,也增強了卷積神經網絡平移、旋轉后的空間不變性,進一步提升了分類效果。
Table 1 STN-GResnet network structure parameters表1 STN-GResnet網絡結構參數
Fig.3 Structure of STN-GResnet model圖3 STN-GResnet模型結構
最后,本文在分類層加入附加角裕度損失函數(Arc-Face)、loss 函數,如公式(5)所示。通過該方法增強了類內緊湊性,并加大了類間距離,以此增強超聲肝CT 影像特征之間的差異性,提升對正常肝和肝硬化的識別精度。
本文的醫(yī)學實驗數據集均來自于青島大學附屬醫(yī)院肝膽科的超聲科室,該樣本數據經醫(yī)院醫(yī)師許可,僅用于科學研究目的,不會泄露患者隱私信息。如圖4—圖6 所示,正常肝的影像紋理清晰、質地均勻;而肝硬化的影像肝實質回聲增粗增強,質地不均勻,呈波浪狀、鋸齒狀,且門靜脈內徑變寬。
Fig.4 Schematic diagram of two types of liver images and their sample extraction圖4 兩類肝臟圖像及其樣本提取示意圖
Fig.5 Schematic diagram of liver sample(liver cirrhosis)圖5 肝樣本部分示意圖(肝硬化)
Fig.6 Schematic diagram of liver sample(normal liver)圖6 肝樣本部分示意圖(正常肝)
為了在保證數據集充足的同時,盡可能保留肝影像特征,本文數據集通過MATLAB 對原始圖像ROI 區(qū)域選取樣本。在肝CT 每張影像中取不同位置且大小的樣本,一共300 人的病理影像,其中正常肝150 人,肝硬化150 人。通過ROI 取樣得到正常樣本600,肝硬化樣本600,并通過數據增強的方法擴充400 樣本,最終實驗樣本為1 600 張(正常肝影像840 張,肝硬化影像760 張)jpg、png 格式的超聲肝CT 影像。在運行過程中,會對數據集統(tǒng)一進行預處理,并初始化數據標簽。0 為正常肝,1 為肝硬化,并將每組前60%的數據作為訓練集,60%~80%的數據作為驗證集,后20%的數據作為測試集。
(1)硬件環(huán)境。CPU 為Core(TM)i7-11400H,內存為32G,顯卡為RTX 3070(8G)獨立顯卡。
(2)軟件環(huán)境。Pytorch1.9,CUDA11.2,Python 3.8.12,操作系統(tǒng)為Win10(64位)。
2.4.1 評價指標
為保證數據的有效性,將實驗中的初始化參數設為一致,即設置學習率為0.001,輸入樣本批大小為16,迭代次數為100,同時對測試模型進行了遷移學習的預訓練,并優(yōu)化參數,以保證分析的公平性。在對比分析中,將從識別率和復雜度兩個維度進行對比,其中識別率判斷公式如下:
式中,xi表示正確分類的樣本數量,yj表示第j個樣本,計算出全部正確分類的樣本數量在全部樣本數量中的占比,推出模型識別率。
復雜度包括網絡的時間復雜度和空間復雜度。網絡時間復雜度與模型訓練和預測時間成正比,而模型有限的運算次數會影響復雜度大小,其單位為Flops(Floatingpoint Operations),設每一個卷積層的時間復雜度如下:
式中,M表示該層中每一個卷積核輸出的featuremap大小,卷積核的大小設置為K,Cin、Cout分別為輸入和輸出通道數。最終得到整體時間復雜度為:
式中,第l層網絡深度為D,Cl-1為上一層的卷積核個數(輸出通道數),Cl為第l個卷積層的卷積核個數。
空間復雜度是指模型的參數總量,以及每一個卷積層輸出的特征圖大小,其公式如下:
由式(11)可知,空間復雜度的總參數量與卷積核大小K、通道數C、層數D有關,而各層輸出的特征圖僅與輸入數據的大小M和通道C有關。
2.4.2 識別率與復雜度分析
由于STN-GResnet 是在Resnet18 基礎上改進并拓展創(chuàng)新的一種網絡模型,因此將本文模型與Resnet18、GResnet 的識別率、召回率和運行時間(訓練加測試時間)進行比較,如表2所示。
Table 2 Comparison of 3 models表2 3種模型比較
由表2 分析可得,加入Ghost 模塊以及引入附加角裕度損失函數后,STN-GResnet 網絡模型相比于Resnet18 和加入Ghostmoduled 的模型,識別率分別提高了5.2%和3.6%。并且采用附加角裕度損失函數優(yōu)化后,增加了超聲肝CT 影像的類間差異性和類內聚合度,加大了不同病理影像之間的差異,也提高了模型的魯棒性。通過引入Ghost 模塊并且引用Resnet18 部分殘差塊,參數量也少于原Resnet18。
本文同時比較了目前使用較多且性能較好的分類網絡模型,如Vggnet、HRNet、Alexnet、Goolgenet(V3),如圖7、圖8 所示。在運行時間上以訓練加測試時間的和來比較整體模型運行效率,通過比較也可得到該模型屬于參數較少的輕量級神經網絡,從而保證了整體的運行性能。不同模型比較如表3所示。
Table 3 Comparison of different models表3 不同模型比較
Fig.7 Comparison of accuracy of different models圖7 不同模型識別率比較
Fig.8 Comparison of loss value of different models圖8 不同模型loss值比較
2.4.3 不同優(yōu)化器比較
本文同時比較了不同優(yōu)化器對網絡模型性能的影響。在實驗中,學習率與迭代次數分別設置為0.001 和100,得到比較結果如表4、圖9、圖10所示。
Table 4 Comparison of different optimizers表4 不同優(yōu)化器比較
Fig.9 Comparison of optimizer accuracy圖9 優(yōu)化器識別率比較
Fig.10 Comparison of optimizer Loss圖10 優(yōu)化器Loss值比較
Adam[21]相比于其他優(yōu)化器的性能更好,該優(yōu)化器結合了Momentum 和Adaptive 動量算法,將SGD 的一階動量和AdaDelta 的二階動量相加使用。
SGD 的一階動量如下:
AdaDelta 的二階動量如下:
β1、β2為矩估計的指數衰減率,并初始化m0=0,V0=0。但在梯度運算初期,mt和Vt會向0 逼近。為解決該問題,通過公式(14)(15)進行修正。
修正后再使用公式(16)進行運算。
式中,∈為維持數值穩(wěn)定性的常數,通常設置為10-8,η為學習率。通過上述公式,可以動態(tài)調整一階動量和二階動量的運算,通過對不同參數設置各自的適應性學習率,使其快速收斂并完成對梯度的優(yōu)化。
通過上述分析結果得知,使用Adam 優(yōu)化器在識別精度上相比于其他優(yōu)化器更加適應于本文模型。
2.4.4 不同損失函數比較
通過比較不同損失函數約束模型的分類效果來驗證其有效性,本文算法訓練過程中的設置與對比模型實驗一致,訓練批次為16,迭代次數為100,使用Adam 作為優(yōu)化器,通過消融實驗保障最佳的模型性能,比較結果如圖5所示。
由表5 可以看出,融入了Triplet Loss、Sphereface、Arcface 等損失函數進行優(yōu)化的模型,其分類準確率均優(yōu)于交叉熵損失函數。在加入附加角裕度損失函數對Loss 進行訓練優(yōu)化后,識別率提升了5.2%,具有較好的識別效果。
Table 5 Comparison of different Loss functions表5 不同損失函數比較
針對傳統(tǒng)神經網絡泛化性弱、識別率較低、參數量大,且特征提取質量不高等問題,本文提出一種新的STNGResnet 網絡模型,結合了部分Resnet18 殘差塊并改為直連結構,加入Ghost 模塊,使其在超聲肝CT 影像中能提取到保留冗余信息的特征圖,并結合空間變換網絡,使提取到的特征具有空間不變性,進而提高特征提取質量。在分類層加入附加角裕度損失函數(ArcFace),增強類內緊湊性,并加大類間距離,從而增強了超聲肝CT 影像特征之間的差異性,提升了對正常肝和肝硬化的識別精度,使模型達到了較高識別率。
相比傳統(tǒng)的深度學習識別算法,本文在保證較高識別率的同時,其模型大小也相對較小,便于其在應用上的部署。但對于硬件的算力要求較高,因此部署成本也較高。研究目前尚處于測試階段,后續(xù)將進一步優(yōu)化算法,并能夠實現多分類任務目標,精確地進行多類常見肝疾病的檢測,如脂肪肝、血管瘤等,實現在肝膽科的臨床應用。