王 倩,趙希梅,2
(1.青島大學 計算機科學技術學院,山東 青島 266071;2.山東省數(shù)字醫(yī)學與計算機輔助手術重點實驗室,山東 青島 266071)
目前肝硬化已成為常見的慢性疾病之一。在肝硬化臨床診斷中,醫(yī)生通常采用超聲影像技術掃描患者肝臟病變區(qū)域獲得超聲影像[1],再對其進行肉眼診斷[2],由此得到的診斷結果具有較高的主觀性和較低的可靠性。隨著數(shù)字醫(yī)療設備、計算機圖像處理[3]以及深度學習技術的深入發(fā)展,應用于醫(yī)學圖像識別分析的計算機輔助診斷[4]技術為肝臟疾病診斷提供了新方向,對肝硬化的識別研究具有重要的臨床意義。
計算機輔助診斷技術對肝硬化的識別研究主要分傳統(tǒng)機器學習[5]和深度學習[6]兩種。在傳統(tǒng)機器學習方面,文獻[7]采用機器學習算法對慢性肝病進行降維處理,并結合神經(jīng)網(wǎng)絡,構建了一種有效的慢性肝病預測模型。文獻[8]基于超限學習機訓練方法提出一種改進的LBP算法,并結合二維Gabor變換方法得到95.4%的肝硬化識別率。在深度學習方面,文獻[9]提出了一種基于局部二值模式特征提取和稀疏表示的肝病識別算法,取得了良好的效果。文獻[10]采用基于中值濾波的圖像去噪算法和直方圖均衡化圖像增強算法對數(shù)據(jù)庫進行預處理,再以卷積神經(jīng)網(wǎng)絡CaffeNet 為主要框架進行識別,對肝臟病灶識別平均準確率達到96.67%。
在肝臟圖像研究領域,基于深度學習的識別方法已得到廣泛應用,并取得較多研究成果[11]。但是由于醫(yī)學圖像的特殊性,卷積神經(jīng)網(wǎng)絡的特征信息讀取能力和識別分類精度仍受到限制,且隨網(wǎng)絡深度的不斷增加,模型的運行效率逐步降低。針對該問題,本文在VGG 網(wǎng)絡[12]的基礎上,提出一種網(wǎng)絡性能更佳且分類更精確的scSE_MVGG 網(wǎng)絡,并與優(yōu)化后的AlexNet[13]、ResNet[14]等卷積神經(jīng)網(wǎng)絡從識別率等方面進行對比分析。
2017 年,MOMENTA 團隊提出擠壓激勵網(wǎng)絡(Squeeze Excitation Network,SENet)[15],其結構如圖1所示。該網(wǎng)絡的主要思想是通過卷積神經(jīng)網(wǎng)絡學習不同通道的特征圖權重信息,提取與任務相關的特征,抑制與任務無關的特征,同時加強特征通道間的學習,進一步強化相關特征,提取更具指向性的特征信息,從而大幅提升卷積神經(jīng)網(wǎng)絡的識別率和性能。
圖1 SENet 結構Fig.1 Structure of SENet
SENet 主要通過擠壓(Squeeze)、激勵(Excitation)以及特征重標定(Scale)3 部分完成對特征通道的自適應校準。相關計算公式如下:
其中:Fsq表示對特征進行壓縮操作;δ為ReLU 激活函數(shù);W1和W2分別表示升維和降維的兩個全連接層權重;Fex表示對特征進行提取操作;Fscale表示對特征進行重標定操作。
空間通道擠壓激勵(scSE)模塊是由sSE 和cSE兩種模型結構結合形成的新型網(wǎng)絡結構[16],是SENet 的變體形式。該模塊同時考慮通道和空間的關系,將sSE 和cSE 兩種模型的輸出做加和操作,增強了神經(jīng)網(wǎng)絡空間編碼能力,從而進一步提高其識別效果。scSE 模塊結構如圖2 所示。
圖2 scSE 模塊結構Fig.2 Structure of scSE module
1.2.1 sSE 模型
sSE 模型結構如圖3 所示。
圖3 sSE 模型結構Fig.3 Structure of sSE model
該模型從空間關系角度引入注意力機制,首先將維度為H×W×C的特征圖經(jīng)過1×1 卷積降維和Sigmoid 函數(shù)激活,得到1 個維度為1×H×W的特征圖,再通過特征重標定,與原來特征圖U對應空間相乘得到新特征圖,如Wsq∈?1×1×C×1。然后經(jīng)過q=Wsq×U輸出q,q為通道為1 的特征圖,再經(jīng)過Sigmoid 歸一化到[0,1],計算公式如下:
其中:σ(qi,j)表示特征圖中(i,j)的重要性程度。
1.2.2 cSE 模型
cSE 模型結構如圖4 所示。
圖4 cSE 模型結構Fig.4 Structure of cSE model
該模型主要由1 個全局平均池化層及2 個全連接層組成。首先輸入特征圖U=[u1,u2,…,uc],其中每個通道的操作過程為ui∈?H×W,然后特征圖U經(jīng)過全局池化層得到每個位置k的值,計算公式如下:
其中:W1和W2分別為兩次全連接層的權重表示第i個通道特征的重要性程度。
通過ReLU 激活函數(shù)增強各個通道之間的獨立性,最后經(jīng)過Sigmoid 層,歸一化到[0,1]得到。相關計算公式如下:
scSE模塊是以上兩部分的加權結合,計算公式如下:
VGG 網(wǎng)絡(以下稱為VGGNet)[12]是一種深度學習網(wǎng)絡,其在ImageNet[17]中測試精度達到92.7%。VGGNet 可證明卷積神經(jīng)網(wǎng)絡的深度和性能之間的關聯(lián)性,提高了網(wǎng)絡可擴展性并顯著降低錯誤率。VGGNet 成功構筑了16~19 層深的卷積神經(jīng)網(wǎng)絡,其中VGG16 和VGG19 深度學習模型較常見。基于VGGNet 結構在ILSVRC 大賽取得圖像分類的優(yōu)異成果,本文選用VGG16 網(wǎng)絡作為解決肝硬化識別問題的特征提取網(wǎng)絡,其結構如圖5 所示。
圖5 VGG16 網(wǎng)絡結構Fig.5 Structure of VGG16 network
VGG16 網(wǎng)絡結構共有16 層,包含13 個卷積層和3 個全連接層,其中:第1 層經(jīng)過64 個卷積核的2 次卷積,采用1 次最大池化;第2 層經(jīng)過128 個卷積核的2 次卷積,采用1 次最大池化;第3 層經(jīng)過256 個卷積核的3 次卷積,再采用1 次最大池化;重復2 次3×512 個卷積核卷積后,再采用1 次最大池化,最后經(jīng)過3 次全連接層及Softmax 輸出層。由于傳統(tǒng)深度學習模型對全局信息學習具有局限性,且醫(yī)學圖像特征信息存在特殊性和復雜性,因此雖然VGG 網(wǎng)絡已在自然圖像識別領域取得良好的識別效果,但仍會受樣本特征影響,出現(xiàn)特征讀取能力低、分類精度不佳等現(xiàn)象。
基于醫(yī)學圖像的特殊性,為確保肝硬化樣本的識別準確率,降低網(wǎng)絡的運算效率,本文對VGG16網(wǎng)絡進行改進,將改進后的網(wǎng)絡稱為MVGG 網(wǎng)絡,其結構如圖6 所示。
圖6 MVGG 網(wǎng)絡結構Fig.6 Structure of MVGG network
MVGG 網(wǎng)絡是基于VGG16 網(wǎng)絡對二分類問題的改進,與改進前網(wǎng)絡相比,MVGG 網(wǎng)絡的卷積核、池化層和步長的大小未發(fā)生改變,其區(qū)別在于卷積層數(shù)由原來的13 層變?yōu)?0 層,最大池化層數(shù)由5 個減少為3個。卷積層中的卷積核大小均為3×3,步長為1;池化層核大小為2×2,步長為1;全連接層前2 層的通道數(shù)由4 096 變?yōu)? 048,輸出類別為2,每個隱層均包含ReLU 激活函數(shù),最后連接Softmax 層。其網(wǎng)絡復雜度更低,更適用于肝硬化樣本的識別分類。
本文將scSE 模塊與改進后的MVGG 網(wǎng)絡相結合,提出一種新的網(wǎng)絡scSE_MVGG。該網(wǎng)絡是在每個3×3 卷積層后增加scSE 模塊,其結構如圖7 所示。該網(wǎng)絡通過上述融合機制,既能保證對原始輸入信息的無損傳輸,又可自動學習全局信息來獲取每個通道的重要程度,同時在通道的基礎上考慮了空間關系,然后根據(jù)重要程度加大與任務相關的特征權重,抑制無關的特征權重[16],從而實現(xiàn)對特征通道的學習,提升肝硬化樣本識別效果。
圖7 scSE_MVGG 網(wǎng)絡結構Fig.7 Structure of scSE_MVGG network
向scSE_MVGG 網(wǎng)絡中輸入3×56×56 的肝硬化樣本,通過scSE 模塊加強特征通道和空間關系的學習,提取與任務相關的特征紋理信息并去除無關特征,再經(jīng)過池化層進行池化操作,得到128×28×28 的特征圖,然后再經(jīng)過卷積、scSE 模塊和池化的多次學習過程,最終實現(xiàn)全連接層輸入維度為1×1×2 048。
本文網(wǎng)絡優(yōu)點在于:1)通過在結構塊之間的轉(zhuǎn)換層減少卷積層和池化層的操作,有效降低了網(wǎng)絡復雜度,同時在優(yōu)化運算量的前提下保留全部紋理特征信息,增強了整個神經(jīng)網(wǎng)絡的魯棒性[18];2)scSE 模塊的加入使得網(wǎng)絡具有更好的非線性,可更好地擬合數(shù)據(jù),達到更高的分類精度,識別效果更優(yōu)[19];3)通過對重要特征圖加大權重的特征重標定,最大程度地學習有用的紋理特征信息,減少對冗余特征[20]的依賴。
本文通過交叉熵函數(shù)獲取計算值與期望值之間的差異,利用Adam 優(yōu)化器對模型進行優(yōu)化,使訓練的模型損失降到最低且準確率達到最高,最后用Softmax 分類器預測所輸出不同類之間的概率。交叉熵函數(shù)的計算公式如下:
其中:xi為訓練樣本x的第i個樣本,p(xi)和q(xi)分別為預測和真實的概率值。
最后經(jīng)過全連接層的Softmax 分類器,其計算公式如下:
本文所用肝臟圖像由青島大學附屬醫(yī)院肝膽科提供,包括300 張病人的B 超肝臟圖像,其中正常肝臟100 張,肝硬化200 張。正常肝臟圖像與肝硬化圖像分別如圖8 和圖9 所示。其中:正常肝臟圖像紋理特征明顯,其表面較光滑且無陰影區(qū);肝硬化圖像表面不清晰,局部伴有黑點回聲和凹凸不平的斑點??紤]到肝臟超聲圖像還包含其他組織和器官,本文選用Matlab 軟件結合感興趣區(qū)域(Regions of Interest,RoI)方法提取實驗所需肝臟圖像,分別對各個肝臟圖像的非交疊位置提取RoI(見圖8 和圖9),得到1 200 張肝臟圖像。正常肝與肝硬化的部分圖像如圖10 所示。
圖8 正常肝臟圖像及其RoI 提取Fig.8 Normal liver image and its RoI extraction
圖9 肝硬化圖像及其RoI 提取Fig.9 Liver cirrhosis image and its RoI extraction
圖10 正常肝與肝硬化部分圖像Fig.10 Partial images of normal liver and liver cirrhosis
肝臟的病變紋理特征和肝臟尺寸之間關聯(lián)密切,不同尺寸肝臟的對比實驗結果表明:若采用小于56×56尺寸的樣本(如16×16)會丟失一部分特征信息;若使用較大尺寸的樣本(如128×128),則會包含其他組織器官的紋理特征[8,21],最終影響實驗結果的準確性和可信度。因此,尺寸為56×56 的樣本為最佳選擇。
對部分圖像分別以10°、15°、20°、25°、30°的不同角度進行逆時針旋轉(zhuǎn),對肝臟圖像進行數(shù)據(jù)增強,使圖像數(shù)量擴大到4 400 張。其中,將2 000 張正常肝臟圖像和1 000 張肝硬化圖像作為訓練集,將700 張正常肝臟圖像和700 張肝硬化圖像作為測試集。
本文基于Python3.6.0,采用Anaconda3 中的Spyder3.4 平臺進行實驗,使用Windows 10(64 位)操作系統(tǒng),32 GB 內(nèi)存,利用版本為R2016b 的Matlab 軟件進行圖像RoI 提取,用tensorboardX、torchstat、matplotlib 庫進行實驗結果的可視化處理。
3.3.1 網(wǎng)絡改進分析
本文采用AlexNet 和ResNet 與scSE_MVGG 網(wǎng)絡對肝硬化圖像的識別率進行對比分析,為符合肝硬化樣本的尺寸大小,對上述網(wǎng)絡參數(shù)進行如下優(yōu)化:kernel_size為3×3,stride為1,卷積核個數(shù)分別為64、128、256 和512,全連接層中的神經(jīng)元數(shù)為2 048。實驗參數(shù)設置為:epoch 為100,學習率Ir 為0.001,每次輸入樣本的批大小為16。得到實驗結果如表1 所示。
表1 不同網(wǎng)絡的識別率對比Table 1 Comparison of recognition rates of different networks
由表1 可見,改進后的MVGG 網(wǎng)絡的識別率較原VGG 網(wǎng)絡提升2.63 個百分點且測試時間更短,表明其計算效率更高,同時較AlexNet和ResNet識別效果更好。
將AlexNet 和ResNet 與scSE 模塊分別結合得到scSE_AlexNet 和scSE_ResNet,并將其與結合scSE 模塊的VGG 和MVGG(scSE_VGG 和scSE_MVGG)的識別率進行對比分析,得到實驗結果如表2 所示。
表2 不同網(wǎng)絡結合scSE 模塊后的識別率對比Table 2 Comparison of recognition rates of different networks combined with scSE module
結合表1 和表2 可見,在原來網(wǎng)絡中加入scSE 模塊后,scSE_AlexNet、scSE_VGG 和scSE_ResNet 模型的識別率均得到相應提升,且本文scSE_MVGG 網(wǎng)絡的識別率達到98.78%,明顯高于scSE_AlexNet 和scSE_ResNet。
3.3.2 優(yōu)化器對實驗結果的影響
本文考慮到不同優(yōu)化器對網(wǎng)絡訓練過程的影響,采用4 種優(yōu)化器對本文網(wǎng)絡的實驗結果進行測試。不同優(yōu)化器在訓練集與測試集上的acc 曲線和loss 曲線如圖11 所示,迭代200 次后得到實驗結果對比情況如表3 所示。
表3 不同優(yōu)化器得到的實驗結果對比Table 3 Comparison of experimental results obtained by different optimizers
圖11 不同優(yōu)化器在訓練集與測試集上的acc 和loss 曲線Fig.11 Acc and loss curves of different optimizers on training set and test set
結合圖11 和表3 可知,Adam 優(yōu)化器相較其他3 種優(yōu)化器準確率更高且訓練時間更短,因此Adam優(yōu)化器更適用于本文網(wǎng)絡。Adam 優(yōu)化器可在不同參數(shù)下計算得到不同的自適應學習率,計算效率較高且對內(nèi)存需求較小。相關計算公式如下:
其中:mt為一階動量項,nt為二階動量項,η為學習率,∈表示接近0 的值。
3.3.3 網(wǎng)絡復雜度分析
卷積神經(jīng)網(wǎng)絡的復雜度通常從時間因素和空間因素兩方面[21]考慮。時間復雜度用浮點運算次數(shù)來衡量,從網(wǎng)絡的訓練和預測時間以及最終得到結果的效率來判斷。相關計算公式如下:
其中:D為網(wǎng)絡深度,l為網(wǎng)絡第l個卷積層,Cl為第l個卷積層輸出的卷積核個數(shù)。該過程實質(zhì)上是將卷積層的時間復雜度在各層內(nèi)相乘且各層之間依次疊加。
空間復雜度的關鍵在于網(wǎng)絡參數(shù)量。若網(wǎng)絡參數(shù)量龐大,則造成訓練過程所需的數(shù)據(jù)量較大;若網(wǎng)絡參數(shù)量太小,則造成訓練過程出現(xiàn)過擬合現(xiàn)象。相關計算公式如下:
其中:K為卷積核大小,C為通道數(shù),D為網(wǎng)絡深度,這三者和網(wǎng)絡參數(shù)量密切相關。
不同網(wǎng)絡復雜度的對比結果如表4 所示。
表4 不同網(wǎng)絡的復雜度對比Table 4 Complexity comparison of different networks
由表4 可見,改進后的MVGG 網(wǎng)絡較原VGG 網(wǎng)絡的參數(shù)量明顯減少,雖然其加入scSE 模塊后網(wǎng)絡參數(shù)量相應增加,但綜合考慮該網(wǎng)絡的識別率和時間損耗,本文scSE_MVGG 網(wǎng)絡較其他網(wǎng)絡復雜度更低且計算效率更高。綜上所述,本文網(wǎng)絡對肝硬化圖像的識別率更高,識別效果更好,驗證了該網(wǎng)絡具有一定的魯棒性和有效性。
針對傳統(tǒng)機器學習方法對醫(yī)學圖像特征提取能力不足的問題,本文提出一種用于肝硬化識別的scSE_MVGG 網(wǎng)絡。采用scSE 模塊增強網(wǎng)絡空間編碼能力,并與改進后的MVGG 網(wǎng)絡進行結合,實現(xiàn)對原始輸入信息的無損傳輸,以及對通道和空間特征信息的學習,使網(wǎng)絡學習的特征與目標任務更相關,以此提高肝硬化樣本識別效果。實驗結果表明,與scSE_VGG、scSE_AlexNet 等網(wǎng)絡相比,該網(wǎng)絡的識別效果更優(yōu)。后續(xù)將優(yōu)化網(wǎng)絡結構并與輕量級模型進行融合,進一步提高網(wǎng)絡計算效率和識別率。