翟岳仙,劉 翔,宋家琳
(1.上海工程技術(shù)大學(xué) 電子電氣工程學(xué)院,上海 201620;2.中國(guó)人民解放軍第二軍醫(yī)大學(xué) 長(zhǎng)征醫(yī)院超聲診療科,上海 200003)
肝纖維化是肝臟內(nèi)結(jié)締組織增生異常的病理過(guò)程,由各種致病因子誘發(fā)[1]。肝臟損傷修復(fù)過(guò)程中均會(huì)發(fā)生肝纖維化。纖維化持續(xù)發(fā)展將會(huì)導(dǎo)致具有彌漫性損害的肝硬化,進(jìn)而誘發(fā)肝癌等嚴(yán)重疾病。對(duì)肝纖維化疾病的診斷常用方法有肝活檢、血清檢查和影像學(xué)檢查。肝活檢被稱作“金標(biāo)準(zhǔn)”,但其作為一種有創(chuàng)性檢查易引起出血、昏厥等并發(fā)癥。血清檢查則缺乏特異性且檢測(cè)效率過(guò)低。影像學(xué)檢查方法中,CT(Computed Tomography)具有放射性損害;MRI(Magnetic Resonance Imaging)無(wú)法實(shí)現(xiàn)實(shí)時(shí)動(dòng)態(tài)檢查且成本較高。近年來(lái),隨著超聲技術(shù)的發(fā)展,其在大規(guī)模篩查和隨訪診斷中具有明顯的優(yōu)勢(shì),且具有無(wú)損、無(wú)電離輻射等優(yōu)點(diǎn),尤其適合肝纖維化這種彌漫性疾病的診斷。
對(duì)于醫(yī)學(xué)影像的分析,主要采用人工解讀的方式,依賴于醫(yī)生的主觀經(jīng)驗(yàn)和知識(shí)水準(zhǔn),易導(dǎo)致主觀誤判,且診斷效率較低。隨著人工智能技術(shù)的發(fā)展,計(jì)算機(jī)輔助診斷的優(yōu)勢(shì)得以體現(xiàn)。通過(guò)對(duì)醫(yī)學(xué)影像大數(shù)據(jù)的自主學(xué)習(xí),可最大程度地獲取醫(yī)生的經(jīng)驗(yàn)。這種對(duì)醫(yī)學(xué)圖像的量化分析方式,避免了主觀因素的影響。同時(shí),計(jì)算機(jī)輔助診斷系統(tǒng)也可以部署在不同地區(qū),以解決醫(yī)療資源分布不均的難題。
肝纖維化的計(jì)算機(jī)輔助診斷方法已經(jīng)有諸多研究。文獻(xiàn)[2]依據(jù)高頻超聲圖像下的肝表面形態(tài)特征,采用計(jì)算機(jī)輔助打分的方式進(jìn)行肝纖維化診斷,得到重度肝纖維化的診斷敏感度為89.0%,特異度為61.0%。文獻(xiàn)[3]針對(duì)肝硬化疾病的高頻超聲圖像中肝包膜提取率低的問(wèn)題,采用改進(jìn)的動(dòng)態(tài)規(guī)劃算法提取肝包膜,并將肝包膜特征用于肝硬化的分類,得到了較高的準(zhǔn)確率。文獻(xiàn)[4]將灰度共生矩陣(Gray Level Cooccurrence Matrix, GLCM)的相關(guān)參數(shù)作為神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)輸入,分期結(jié)果作為輸出,通過(guò)神經(jīng)網(wǎng)絡(luò)模型診斷肝纖維化,但S1、S2、S3期的準(zhǔn)確率不高。文獻(xiàn)[5~8]應(yīng)用不同的小波變換等方法提取肝實(shí)質(zhì)紋理特征,通過(guò)CART(Classification and Regression Tree,CART)決策樹(shù)或者集成分類器分類肝纖維化。這些方法一般用于是否患病的二分類且準(zhǔn)確率不高。目前,基于高頻超聲圖像的肝纖維化分類方法中,利用圖像特征結(jié)合計(jì)算機(jī)輔助打分法尚缺乏統(tǒng)一標(biāo)準(zhǔn),且易受醫(yī)師的主觀影響。紋理特征提取法多數(shù)只關(guān)注到肝實(shí)質(zhì)紋理特征,部分特征并不適用于臨床,分類效果也有待提高[9]。
深度學(xué)習(xí)強(qiáng)大的特征抽取與表達(dá)能力使其在圖像分類識(shí)別任務(wù)中體現(xiàn)出一定的優(yōu)勢(shì)。因此,本文基于遷移學(xué)習(xí)策略采用預(yù)訓(xùn)練的ResNet-34 (Residual Network-34)網(wǎng)絡(luò)模型,提取高頻超聲肝纖維化圖像中肝包膜與肝實(shí)質(zhì)的高層次特征來(lái)代替肝實(shí)質(zhì)紋理、邊緣線條等一些低層次特征,以便實(shí)現(xiàn)對(duì)肝纖維化的分期診斷。
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)具有強(qiáng)大的圖像分類、語(yǔ)音識(shí)別能力。在ILSVRC(ImageNet Large Scale Visual Recognition Challenge,ILSVRC)圖像分類競(jìng)賽中,AlexNet和GoogleNet分類的錯(cuò)誤率分別為16.4%和6.7%,并且采用VGG(Visual Genometry Group)和ResNet也都取得了較好的效果[10-13]。深度神經(jīng)網(wǎng)絡(luò)取得較好的分類性能離不開(kāi)對(duì)大數(shù)據(jù)的學(xué)習(xí),而醫(yī)學(xué)數(shù)據(jù)不僅涉及病人隱私問(wèn)題,數(shù)據(jù)收集與標(biāo)定也需要耗費(fèi)大量時(shí)間,所以數(shù)據(jù)集較小且數(shù)量有限。人類視覺(jué)神經(jīng)研究表明,低層次提取的圖像特征基本相同,例如顏色、邊緣、線條等,高層次的特征則差異明顯。因此經(jīng)過(guò)大量?jī)?yōu)秀訓(xùn)練集訓(xùn)練的權(quán)重參數(shù)是可以共享的,僅需加入新數(shù)據(jù)集進(jìn)行權(quán)重微調(diào)即可被應(yīng)用到新的分類任務(wù)中。肝纖維化是一種彌漫性疾病,各期變化特征不顯著,尤其是S2與S3期更加難以區(qū)分。在設(shè)計(jì)網(wǎng)絡(luò)結(jié)構(gòu)時(shí),在提取可有效應(yīng)用于分類的高層次語(yǔ)義特征的同時(shí)還要避免誤差累積和梯度彌散問(wèn)題。針對(duì)以上需求,本文基于遷移學(xué)習(xí)策略,遷移ResNet-34網(wǎng)絡(luò)在ImageNet數(shù)據(jù)集上進(jìn)行訓(xùn)練分類任務(wù)的模型及參數(shù),調(diào)整最后一層的softmax分類器,由原來(lái)的1 000分類修改為4分類,并將其結(jié)果應(yīng)用到肝纖維化的分類上。初始化全部層的權(quán)值參數(shù),加入肝纖維化數(shù)據(jù)集進(jìn)行訓(xùn)練,微調(diào)(Fine Tuning)各類參數(shù),得到新的模型權(quán)重。具體流程如圖1所示。
圖1 微調(diào)預(yù)訓(xùn)練模型流程圖Figure 1. Flow chart of fine tuning the pre-training model
原數(shù)據(jù)集為ImageNet數(shù)據(jù)集,包括120萬(wàn)張訓(xùn)練集圖片、5萬(wàn)張驗(yàn)證集圖片和10萬(wàn)張測(cè)試集圖片。新數(shù)據(jù)集為肝纖維化的patch小塊數(shù)據(jù)集。網(wǎng)絡(luò)模型采用ResNet-34網(wǎng)絡(luò)[14-15]。
如圖2所示,ResNet引入了一個(gè)重要的殘差學(xué)習(xí)單元。當(dāng)網(wǎng)絡(luò)層數(shù)不斷加深時(shí),將后面的網(wǎng)絡(luò)層處理為恒等映射,此時(shí)模型退化成一個(gè)淺層的網(wǎng)絡(luò),既保證了網(wǎng)絡(luò)的深度,提取到了圖像不同層次的語(yǔ)義特征,又避免了梯度爆炸。
圖2 殘差學(xué)習(xí)單元Figure 2. Residual learning unit
恒等映射函數(shù)為H(x)=x。網(wǎng)絡(luò)直接擬合比較困難,若將網(wǎng)絡(luò)設(shè)計(jì)為H(x)=F(x)+x,則F(x)=H(x)-x,網(wǎng)絡(luò)改為學(xué)習(xí)輸入與輸出的差值。當(dāng)F(x)=0時(shí),得到恒等映射函數(shù)H(x)=x。這種殘差學(xué)習(xí)單元在不產(chǎn)生額外參數(shù)和計(jì)算量的情況下優(yōu)化了網(wǎng)絡(luò),使網(wǎng)絡(luò)分類、識(shí)別的性能得到有效提升。
本文采用ResNet-34的結(jié)構(gòu),其結(jié)構(gòu)如圖3和表1所示。
圖3 ResNet-34網(wǎng)絡(luò)結(jié)構(gòu)圖Figure 3. Diagram of ResNet-34 network structure
表1 ResNet-34網(wǎng)絡(luò)結(jié)構(gòu)
網(wǎng)絡(luò)由5大卷積層和全連接層組成,conv2_x、conv3_x、conv4_x和conv5_x均包含殘差結(jié)構(gòu)的building block,全連接層為softmax分類器。由于本文的目標(biāo)是4分類,所以將ResNet-34網(wǎng)絡(luò)預(yù)訓(xùn)練模型的最后一層修改為4分類輸出,然后采用softmax計(jì)算概率。本文在優(yōu)化網(wǎng)絡(luò)訓(xùn)練過(guò)程中采用的是隨機(jī)梯度下降法(Stochastic Gradient Descent,SGD),學(xué)習(xí)率的設(shè)置不再采用單一值法。配合網(wǎng)絡(luò)訓(xùn)練的特點(diǎn),通過(guò)指數(shù)衰減進(jìn)行學(xué)習(xí)率的更新,避免學(xué)習(xí)率過(guò)大導(dǎo)致網(wǎng)絡(luò)激蕩。分類損失采用交叉熵?fù)p失函數(shù)結(jié)合結(jié)構(gòu)風(fēng)險(xiǎn)最小化,損失函數(shù)為
(1)
式中,x代表輸入訓(xùn)練樣本;y代表標(biāo)簽;q代表預(yù)測(cè)類別概率;θ代表權(quán)重;λ代表權(quán)重衰減系數(shù);類別的概率均由softmax計(jì)算。
臨床上依據(jù)2000年全國(guó)病毒性肝炎病理診斷標(biāo)準(zhǔn)[15]對(duì)肝纖維化進(jìn)行分期:S0代表正常且無(wú)纖維化;S1代表匯管區(qū)擴(kuò)大纖維化;S2代表匯管區(qū)周圍纖維化,有纖維間隔結(jié)構(gòu);S3代表有大量纖維間隔,小葉結(jié)構(gòu)發(fā)生紊亂,無(wú)硬結(jié)節(jié);S4代表早期肝硬化。
本文高頻超聲兔子肝纖維化的數(shù)據(jù)來(lái)源于第二軍醫(yī)大學(xué)上海長(zhǎng)征醫(yī)院,其肝纖維化兔子模型的建立采用為:從健康的雄性,體重在1.8~2.1 kg的新西蘭白兔中隨機(jī)選取65只注射硫代乙酰胺溶液,其余15只注射生理鹽水的方式獲取肝纖維化和正常肝臟的超聲和病理圖像。注射后第6~19周采集兔子的二維高頻超聲圖像。將麻醉的兔子仰臥位固定,采用11L-D線陣探頭,頻率在4~10 MHz的美國(guó)GE Voluson E8超聲診斷儀于劍突下和右側(cè)肋間進(jìn)行掃查,每個(gè)至少采集3張高頻超聲圖像備用。處死超聲檢查后的兔子并取相同部位的組織制作病理切片,在未知超聲檢查結(jié)果的情況下進(jìn)行病理判斷,得到4組實(shí)驗(yàn)數(shù)據(jù)。綜合圖像質(zhì)量與臨床醫(yī)學(xué)價(jià)值因素,最終得到數(shù)據(jù)共有95例,其中S0~S1組有16例;S2組有32例;S3組有24例;S4組有23例像素。圖片平均尺寸為:寬度450 ± 67像素,高度為500 ± 59像素。
為了獲取足夠的數(shù)據(jù),本文將原圖進(jìn)行90°、180°、270°旋轉(zhuǎn),按照大小尺寸為64×64,步長(zhǎng)為16進(jìn)行patch裁剪。通過(guò)灰度共生矩陣的圖像對(duì)比度指標(biāo)剔除不合格的小塊。本文保留對(duì)比度大于0.005的小塊,剔除對(duì)比度小于0.005的小塊,建立patch小塊的訓(xùn)練集a。對(duì)于測(cè)試集,對(duì)原圖采用不同的角度旋轉(zhuǎn)(45°、135°、225和315°)。patch小塊裁剪尺寸設(shè)置為45×45,步長(zhǎng)15,通過(guò)灰度共生矩陣指標(biāo)剔除不合格的小塊,建立patch小塊測(cè)試集b。
肝纖維化病程中S0~S4期的典型圖像如圖4所示。圖中可以觀察到隨著病程的加劇,肝包膜與肝實(shí)質(zhì)區(qū)域都發(fā)生了改變。圖5為篩選掉的不合格小塊區(qū)域示意圖。
圖4 不同肝纖維化期樣本的高頻超聲圖 (a)S0~S1 (b)S2 (c)S3 (d)S4Figure 4. High frequency ultrasonography of samples with different stages of liver fibrosis(a)S0~S1 (b) S2 (c) S3 (d) S4
圖5 不合格小塊示意圖Figure 5. Diagram of unqualified small patches
本文基于TensorFlow深度學(xué)習(xí)框架進(jìn)行研究,計(jì)算機(jī)硬件配置為AMD CPU 3.80 GHz,4塊GTX1080ti GPU,共64 GB。軟件環(huán)境為:Windows 10 64 bit、Python 3.6.5、CUDA 9.0、CUDNN 7.0以及TensorFlow-GPU 1.12.0。實(shí)驗(yàn)在訓(xùn)練與測(cè)試階段均使用GPU加速,batch-size設(shè)置為256,學(xué)習(xí)率(learning-rate)初始值設(shè)置為0.002,學(xué)習(xí)衰減率為0.000 4,迭代50 000次。
混淆矩陣是評(píng)價(jià)模型分類結(jié)果優(yōu)劣的指標(biāo),本文采用混淆矩陣的相關(guān)指標(biāo)對(duì)肝纖維化的分類模型進(jìn)行評(píng)價(jià)。正例定義為Positive,反例定義為Negative。真實(shí)值是Positive且被模型預(yù)測(cè)為Positive的數(shù)量定義為True Positive(TP);真實(shí)值是Positive但被模型預(yù)測(cè)為Negative的數(shù)量定義為False Negative(FN);真實(shí)值是Negative但被模型預(yù)測(cè)為Positive的數(shù)量定義為False Positive(FP);真實(shí)值是Negative且被模型預(yù)測(cè)為Negative的數(shù)量定義為True Negative(TN)。各指標(biāo)組成了混淆矩陣,如圖6所示。
圖6 混淆矩陣Figure 6. Confusion matrix
由混淆矩陣得出以下統(tǒng)計(jì)指標(biāo):
(1)準(zhǔn)確率。準(zhǔn)確率表示分類模型中判斷正確的數(shù)量占總數(shù)量的比值
(2)
(2)靈敏度。靈敏度表示在真實(shí)值為Positive的所有結(jié)果中,預(yù)測(cè)正確的數(shù)量占總數(shù)量的比重
(3)
(3)特異度。特異度表示在真實(shí)值為Negative的所有結(jié)果中,預(yù)測(cè)正確的數(shù)量占總數(shù)量的比重
(4)
(4)精確率。精確率表示在預(yù)測(cè)值為Positive的所有結(jié)果中,預(yù)測(cè)正確的數(shù)量占總數(shù)量的比重
(5)
F1-score為
(6)
式中,P為Precision;R代表Recall。
測(cè)試階段采用patch小塊投票策略實(shí)現(xiàn)肝纖維化分類。一幅圖像經(jīng)分塊送進(jìn)網(wǎng)絡(luò)進(jìn)行測(cè)試,得出每個(gè)小塊的類別以及準(zhǔn)確率信息,通過(guò)如下投票策略得到整幅圖的類別:
(1)Set the initial value:intk=0,inti=0,
intn=num
(2)fori=1,2,3,…,n:
if(ACC)(i)≥75%
k++
(3)ifk≥n×70% judge success
Else judge failure
設(shè)置準(zhǔn)確率閾值為0.75,大于0.75的小塊即認(rèn)為判定正確。所有判別正確的小塊占總小塊數(shù)的概率值大于0.7,則認(rèn)為該幅圖的類別為占多數(shù)概率的小塊的類別。
采用投票原則對(duì)測(cè)試集的測(cè)試結(jié)果如表2和表3所示。
表2 模型測(cè)試的混淆矩陣
表3 模型測(cè)試的分類性能
表2和表3分別為分類模型的混淆矩陣、特異度、靈敏度和F1-score。由混淆矩陣可以計(jì)算得出,對(duì)于肝纖維化的S0~S1、S2、S3與S4期的分類靈敏度分別為93.75%、90.63%、87.50%和86.96%;特異度分別為93.75%、87.88%、87.50%和90.91%;F1-score分別為93.75%、89.23%、87.50%和88.90%,相較于其他利用高頻超聲圖像做肝纖維化定量診斷的實(shí)驗(yàn),達(dá)到了較好的效果。由分類性能表格可以看到在F1- score中,S3期與S4期的分?jǐn)?shù)較低,主要原因在于S3與S4時(shí)期肝纖維化病程加劇,肝包膜區(qū)域均發(fā)生斷裂、波浪狀改變,肝實(shí)質(zhì)區(qū)域回聲增強(qiáng),圖像較為相似,模型較難區(qū)分??傮w來(lái)說(shuō),本文基于遷移學(xué)習(xí)的ResNet-34分類方法實(shí)現(xiàn)了對(duì)肝纖維化的高準(zhǔn)確率分類,尤其是在S2與S3期中表現(xiàn)良好,具有較強(qiáng)的實(shí)用性。
本文分類網(wǎng)絡(luò)選取ResNet-34,同時(shí)選取了ResNet-18網(wǎng)絡(luò)做肝纖維化四分類的對(duì)比試驗(yàn)。
對(duì)于肝纖維化的分期研究中,大多數(shù)研究人員采用傳統(tǒng)的提取肝實(shí)質(zhì)紋理特征的方法進(jìn)行分析或者依據(jù)形態(tài)特征變化統(tǒng)計(jì)分析差異性。文獻(xiàn)[4]將反映肝纖維化聲像圖紋理特征的GLCM參數(shù)送入神經(jīng)網(wǎng)絡(luò),通過(guò)建立神經(jīng)網(wǎng)絡(luò)模型對(duì)肝纖維化進(jìn)行分期診斷。文獻(xiàn)[16]采用人工監(jiān)督和梯度優(yōu)化結(jié)合的方法提取肝包膜骨架,定義肝包膜輪廓的平滑性和連續(xù)性特征,并統(tǒng)計(jì)分析這些特征的差異性,得到平滑性特征中S0~S1組較其余組差異具有統(tǒng)計(jì)學(xué)意義;連續(xù)性特征中S0~S1組與S4、S2與S4組差異具有統(tǒng)計(jì)學(xué)意義。
本文選用另外兩組對(duì)比實(shí)驗(yàn),一個(gè)是常規(guī)的紋理分析法,一個(gè)是基于文獻(xiàn)[16]的肝包膜平滑性、連續(xù)性特征的分類方法。在紋理分析法對(duì)比實(shí)驗(yàn)中選取圖像GLCM的ASM(Angular Second Moment)能量、對(duì)比度、逆差矩和熵4個(gè)參數(shù)指標(biāo),將4個(gè)參數(shù)指標(biāo)組合成一組特征向量(p1,p2,p3,p4)輸入到支持向量機(jī)(Support Vector Machine,SVM)訓(xùn)練分類器中,從紋理特征分析的角度對(duì)肝纖維化進(jìn)行分類。文獻(xiàn)[16]只是統(tǒng)計(jì)分析了肝纖維化各期特征的差異性,沒(méi)有進(jìn)行分期比較。本文基于肝包膜平滑性、連續(xù)性特征中的線段數(shù)量、熵、線段之間的夾角均值、方差等數(shù)據(jù),采用KNN(K-Nearest Neighbor,KNN)、TSVM等分類器進(jìn)行分類。對(duì)比實(shí)驗(yàn)結(jié)果如表4所示。
表4 其他網(wǎng)絡(luò)模型分類性能對(duì)比試驗(yàn)
對(duì)比實(shí)驗(yàn)中設(shè)置了相同的實(shí)驗(yàn)環(huán)境與條件。表中給出了各期分類的準(zhǔn)確率。分析可知, ResNet-18網(wǎng)絡(luò)分類性能比ResNet-34差,這是因?yàn)殡S著網(wǎng)絡(luò)層數(shù)的增加,高層網(wǎng)絡(luò)可以提取到圖像中更加豐富的高層次特征,結(jié)合肝包膜與肝實(shí)質(zhì)的高級(jí)特征更有利于肝纖維化的分期診斷。同時(shí),遷移學(xué)習(xí)的加入使得網(wǎng)絡(luò)訓(xùn)練更加高效,而采用基于GLCM參數(shù)的紋理分析法和肝包膜特征的分類方法所取得的分類效果并不理想。
本文提出了基于遷移學(xué)習(xí)策略的ResNet-34網(wǎng)絡(luò)用于肝纖維化的四分類任務(wù),采用微調(diào)訓(xùn)練的方式,實(shí)現(xiàn)了纖維化的四分類,具有較高的準(zhǔn)確率。同時(shí),與常規(guī)紋理提取分析用于肝纖維化分類的方法進(jìn)行了對(duì)比分析,驗(yàn)證了本文方法的有效性。但本文方法還存在一些不足,針對(duì)S3與S4時(shí)期圖像特征相似所導(dǎo)致的分類精度不高的問(wèn)題仍有待解決,未來(lái)將會(huì)進(jìn)一步對(duì)相關(guān)的模型優(yōu)化問(wèn)題進(jìn)行研究。