南嘉格列,李 銳,王海霞,周 旭,王 毅, 倪 東
1)青海大學(xué)附屬醫(yī)院超聲科,青海西寧 810001;2)深圳大學(xué)醫(yī)學(xué)超聲圖像計(jì)算實(shí)驗(yàn)室,醫(yī)學(xué)超聲關(guān)鍵技術(shù)國家地方聯(lián)合工程實(shí)驗(yàn)室,深圳大學(xué)醫(yī)學(xué)部生物醫(yī)學(xué)工程學(xué)院,廣東深圳518060
肝包蟲病(hepatic echinococcosis)是一種世界性的人畜共患的寄生蟲?。钪饕膬煞N影響人類健康的包蟲病分別是由細(xì)粒棘球絳蟲引起的囊型肝包蟲病(Cystic Echinococcosis, CE)和由多房棘球絳蟲引起的泡型肝包蟲病[1](Alveolar Echinococcosis, AE).根據(jù)中國疾病預(yù)防控制中心的統(tǒng)計(jì),2012年中國受包蟲病威脅人口達(dá)到6 600萬[2].目前,肝包蟲病的篩查診斷主要依賴于影像檢查[3],而超聲因其無輻射和低成本的特性,被廣泛用于肝包蟲病的檢查和診斷[4].世界衛(wèi)生組織根據(jù)肝包蟲病的超聲成像特性,將囊型肝包蟲病分成6個(gè)類型,分別為單純性囊腫(CL)、單囊型(CE1)、多子囊型(CE2)、內(nèi)囊塌陷型(CE3)、實(shí)變型(CE4)和鈣化型(CE5); 將泡型肝包蟲病分成3個(gè)類型,分別為浸潤型(AE1)、鈣化型(AE2)和液化空洞型(AE3)[5].圖1分別給出了每種類型的病灶圖片,其中,CL和CE1、CE4和AE1等極易相互混淆.在中國,囊型肝包蟲病廣泛分布于青海省、西藏自治區(qū)和新疆維吾爾自治區(qū)等[6];泡型肝包蟲病較集中分布在青海省玉樹和果洛兩個(gè)州縣.泡型包蟲病又被稱為“蟲癌”和“西藏第一癌癥”[7],相對囊型包蟲病,其危害更嚴(yán)重,死亡率更高,在臨床上應(yīng)得到重視.肝包蟲病標(biāo)準(zhǔn)化分型對于包蟲病的診斷、社區(qū)普查和制定合理的治療方案極其重要.然而,目前臨床上的分型依賴于醫(yī)生的主觀判斷,其結(jié)果主觀性強(qiáng).由于分型間的高度相似性,容易造成誤判,且不能滿足大規(guī)模篩查的需要,因此需要一種標(biāo)準(zhǔn)化的智能輔助診斷方案對肝包蟲病進(jìn)行分型.
圖1 不同類型的肝包蟲病超聲圖像病灶示例Fig.1 Ultrasound images of different types of hepatic echinococcal lesions
卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN)因其強(qiáng)大的特征提取能力,被廣泛用于計(jì)算機(jī)視覺任務(wù),在分類、檢測和分割等任務(wù)中取得了顯著成功[8-10].最近幾年,基于CNN的深度學(xué)習(xí)方法也被用來對疾病進(jìn)行分類[11-12].來自Google的小組將CNN應(yīng)用于皮膚疾病分類并取得了極高的準(zhǔn)確率[13].相比傳統(tǒng)的手動提取特征方法,CNN能夠從大量數(shù)據(jù)中自動學(xué)習(xí)高級的抽象特征,在分類任務(wù)中具有較大的優(yōu)勢[14].在大規(guī)模圖像數(shù)據(jù)上(如ImageNet)訓(xùn)練的網(wǎng)絡(luò),經(jīng)過微調(diào)可以遷移到小數(shù)據(jù)集上,并取得了更高的性能.深度神經(jīng)網(wǎng)絡(luò)在醫(yī)學(xué)超聲領(lǐng)域也有廣泛應(yīng)用[15].
肝包蟲病病灶間有復(fù)雜的相互關(guān)系.囊型肝包蟲各分型間存在著部分隨時(shí)間過渡的關(guān)系,如CE2和CE3;單純性囊腫(CL)和單囊型包蟲病(CE1)在特征上極為相似,臨床上通過“雙邊征”或“囊沙”區(qū)分.超聲成像所得的圖像為切面圖像,醫(yī)生的掃查手法和成像角度均存在不同,同類別的病灶圖像表現(xiàn)出較大差異.這與自然圖像中被廣泛研究的細(xì)粒度分類(fine-grained visual classification, FGVC)[16]問題較為相似.該類任務(wù)中需要學(xué)到的特征不僅是可分離的,還需要有足夠的判別能力(discriminating ability),判別能力表現(xiàn)在需要特征具有緊湊的類內(nèi)變化和可分離的類間差異.盡管現(xiàn)有的基于深度學(xué)習(xí)的分類方法能夠在如ImageNet的數(shù)據(jù)集上取得極高的準(zhǔn)確度,但細(xì)粒度分類問題仍然是巨大的挑戰(zhàn).對于這類問題的解決,主要有兩種思路:一是提取目標(biāo)不同區(qū)域的特征,綜合后進(jìn)行分類[17];二是對提取的特征進(jìn)行類內(nèi)約束,令特征更滿足類內(nèi)的共性[18].
基于超聲圖像的肝包蟲病病灶分型面臨的主要難點(diǎn)在于:類別間的圖像特征相似度極高,如圖2中第1行和第2行,CE1與CL均有個(gè)囊狀結(jié)構(gòu),可通過囊壁的細(xì)微特征區(qū)分.類別內(nèi)的圖像特征差異極大,如圖2中第3行中不同形態(tài)的CE3.
圖2 CE1、CL和CE3型肝包蟲病病灶難樣本示例Fig.2 Difficult samples of CE1, CL and CE3
本研究首次提出針對肝包蟲病超聲圖像分型的輔助診斷方法,并基于卷積神經(jīng)網(wǎng)絡(luò),對9類包蟲病病灶進(jìn)行全自動分型;通過引入視覺注意力模型,提高對全局類別特征的關(guān)注程度,實(shí)現(xiàn)在更大的區(qū)域上尋找類別間的差異特征.我們對基礎(chǔ)網(wǎng)絡(luò)進(jìn)行了改進(jìn),通過抑制響應(yīng)最高的區(qū)域,擴(kuò)大注意力范圍,提高了對相似類別的判別能力;通過引入度量學(xué)習(xí)解決類內(nèi)差異大的問題.將中心損失函數(shù)[19]作為對特征相似度的度量,對同一類別中距離較遠(yuǎn)的特征進(jìn)行二范式約束,使得CNN學(xué)到的類別表征更集中,縮小同類別特征差異性,從而提高模型的判別能力.通過在真實(shí)臨床肝包蟲病超聲圖像數(shù)據(jù)上進(jìn)行的實(shí)驗(yàn)證明,本研究所提方法能夠有效對肝包蟲病灶進(jìn)行分類.
本研究旨在探索一種肝包蟲病超聲圖像病灶的全自動分型方法,創(chuàng)新點(diǎn)在于對基礎(chǔ)網(wǎng)絡(luò)引入了視覺注意力的模塊(如圖3),通過擴(kuò)大注意力范圍,同時(shí),結(jié)合中心損失函數(shù),縮小同類別特征差異,進(jìn)一步提高模型的判別能力,提高算法診斷準(zhǔn)確率.以下將從網(wǎng)絡(luò)結(jié)構(gòu)、遷移學(xué)習(xí)、視覺注意力模型和度量學(xué)習(xí)[20]方面進(jìn)行介紹.
CNN通常為多層卷積操作,結(jié)合最大池化層和非線性單元對圖像特征進(jìn)行學(xué)習(xí).CNN可由淺入深提取不同層次的特征,且隨著層數(shù)的加深,所學(xué)特征也更抽象.本研究通過對VGG16網(wǎng)絡(luò)結(jié)構(gòu)[21]進(jìn)行改進(jìn)(圖3),首先通過預(yù)訓(xùn)練的VGG網(wǎng)絡(luò)[21](Visual Geometry Group, Department of Engineering Science, University of Oxford)提取特征,再通過2個(gè)分支分別對該特征進(jìn)行不同的處理,主分支將特征展成一維向量,接2個(gè)全連接層,第1個(gè)全連接層通過中心損失函數(shù)約束特征,第2個(gè)全連接層通過交叉熵?fù)p失函數(shù)進(jìn)行學(xué)習(xí),輔助分支將對部分擦除的特征進(jìn)行分類.推理階段通過主分支得到預(yù)測的分型結(jié)果.
通常,圖像數(shù)據(jù)的淺層特征具有共性.CNN的性能與訓(xùn)練數(shù)據(jù)集的大小相關(guān),在大規(guī)模數(shù)據(jù)集上訓(xùn)練的模型具有更好的泛化能力.盡管有文獻(xiàn)指出,遷移學(xué)習(xí)在域(domain)有較大差異時(shí)對分類性能的提高有限,但在數(shù)據(jù)規(guī)模有限時(shí),仍能極大地提升模型性能.本研究利用Pytorch官方提供的在ImageNet上訓(xùn)練好的權(quán)重初始化VGG16模型的參數(shù),然后在包蟲病超聲圖像數(shù)據(jù)上進(jìn)行微調(diào).
VAM[22]在計(jì)算機(jī)視覺(computer vision, CV)[23]領(lǐng)域已得到廣泛且深入地研究,近年來也逐漸被引入醫(yī)學(xué)圖像處理的研究和應(yīng)用中.如在臨床實(shí)踐中,經(jīng)驗(yàn)豐富的醫(yī)生在判斷難以區(qū)分的病灶類型時(shí),通常會同時(shí)考慮其整體標(biāo)準(zhǔn)和局部細(xì)節(jié)特征,關(guān)注不同范圍的病灶特征.由于CNN最大池化層的特性,傳統(tǒng)的CNN分類網(wǎng)絡(luò)在判斷目標(biāo)類型時(shí)通常依靠特征圖中的最高響應(yīng)區(qū)域,對應(yīng)圖像的細(xì)節(jié)特征,這對包蟲病病灶分型任務(wù)具有一定的局限性.
通過分析VAM和醫(yī)生的判斷方式,本研究改進(jìn)了經(jīng)典的VGG網(wǎng)絡(luò)結(jié)構(gòu),在保留原有VGG結(jié)構(gòu)的基礎(chǔ)上,新增一個(gè)分類分支.先把全連接層之前的特征響應(yīng)歸一化到[0, 1],再進(jìn)行二值化,將高于閾值0.5的區(qū)域置0,低于閾值的區(qū)域置1,得到掩模(mask)圖像,然后將該圖像與特征響應(yīng)相乘,作為第2個(gè)分支的輸入特征,該分支作為輔助任務(wù)繼續(xù)進(jìn)行分類.雙分支的結(jié)構(gòu)使得神經(jīng)網(wǎng)絡(luò)能夠關(guān)注不同病灶區(qū)域的特征,更能注意到最高響應(yīng)以外的區(qū)域,增加的信息提高了分類網(wǎng)絡(luò)的性能.
圖3 雙分支分類網(wǎng)絡(luò)結(jié)構(gòu)(主分支將特征擴(kuò)展成一維向量,接2個(gè)全連接層,第1個(gè)全連接層通過中心損失函數(shù)約束特征,第2個(gè)全連接層通過交叉熵?fù)p失函數(shù)進(jìn)行學(xué)習(xí),輔助分支將對部分擦除的特征進(jìn)行分類)Fig.3 (Color online) Dual-branch classification network structure (The main branch expands the feature into a one-dimensional vector, which is connected to two fully connected layers. The first fully connected layer constrains the feature through the central loss function, and the second fully connected layer learns through the cross entropy loss function, and the auxiliary branch classifies the partially erased features.)
交叉熵?fù)p失函數(shù)常用來訓(xùn)練CNN模型.該損失函數(shù)能使訓(xùn)練迅速收斂,在分類任務(wù)中被廣泛應(yīng)用.交叉熵?fù)p失函數(shù)(softmax cross entropy)可表示為
(1)
其中,xi∈Rd表示第i個(gè)特征,d為特征向量x的維度;wj為最后的全連接層權(quán)重W的第j列;b為偏置項(xiàng);n為類別數(shù);m為樣本數(shù);yi為樣本標(biāo)簽.但是,交叉熵?fù)p失函數(shù)僅用于提取可分離的特征.在一般的目標(biāo)識別任務(wù)中,類別預(yù)測決定了網(wǎng)絡(luò)的性能.神經(jīng)網(wǎng)絡(luò)最后的全連接層類似于一個(gè)線性分類器,學(xué)到的抽象特征也是足以區(qū)分的[22].包蟲病類間相似度大于類內(nèi)差異度,僅通過交叉熵?fù)p失函數(shù)難以解決包蟲病病灶分型任務(wù),需通過一種度量函數(shù)來表征同類別樣本間的特征相似度.因此,本研究引入中心損失函數(shù)[17]
(2)
其中,Cyi為第i類的特征中心;xi為網(wǎng)絡(luò)第1個(gè)全連接層的輸出.中心損失函數(shù)通過二范式約束,表述類內(nèi)差異度,距離類別中心較遠(yuǎn)的特征損失更大.
本研究采用的超聲圖像數(shù)據(jù)均采集自青海省和西藏自治區(qū)的臨床案例,各類型數(shù)量如表1.實(shí)驗(yàn)隨機(jī)將其中的75%作為訓(xùn)練集,25%作為測試集.據(jù)初步統(tǒng)計(jì),數(shù)據(jù)采集所用的超聲設(shè)備廠家超過8家,包括Mindray、Philips、GE、Siemens、SonoScape、Dawei、EDAN和SIUI.不同設(shè)備產(chǎn)生的超聲圖像數(shù)據(jù)差異極大,這也讓本次研究更具挑戰(zhàn)性.為包含背景信息,先將醫(yī)生標(biāo)注的框的長寬擴(kuò)大1.2倍,再從原圖中裁剪下來.為使實(shí)驗(yàn)結(jié)果更具客觀性,數(shù)據(jù)預(yù)處理流程保持一致:先將病灶圖像大小調(diào)整為250×250像素,再隨機(jī)剪切出224×224像素的區(qū)域.統(tǒng)計(jì)出訓(xùn)練數(shù)據(jù)的均值和方差,再對訓(xùn)練和測試數(shù)據(jù)進(jìn)行歸一化處理.另外實(shí)驗(yàn)中對訓(xùn)練集數(shù)據(jù)進(jìn)行了在線的數(shù)據(jù)增廣, 包括 ±10°的隨機(jī)旋轉(zhuǎn),±10像素的隨機(jī)平移,概率為0.5水平翻轉(zhuǎn).?dāng)?shù)據(jù)增強(qiáng)可以降低過擬合問題.
本算法基于Pytorch實(shí)現(xiàn),使用的計(jì)算資源為一臺包含8塊GeForce GTX1080Ti GPU的服務(wù)器.
表1 各類別數(shù)據(jù)量
采用F1分?jǐn)?shù)和準(zhǔn)確度(accuracy)來評估模型性能.其中,
(3)
這里,precision和recall分別為精確率和召回率[24],其計(jì)算式分別為
(4)
(5)
準(zhǔn)確度是評價(jià)分類器性能的重要指標(biāo),其定義為對于所有給定的測試樣本,分類器正確分類的樣本數(shù)和總樣本數(shù)之比,其計(jì)算式為
(6)
其中,TP、FP、TN和FN分別表示真陽性(true positive)、假陽性(false positive)、真陰性(true negative)和假陰性(false negative).
實(shí)驗(yàn)在訓(xùn)練集上迭代100次.初始學(xué)習(xí)率設(shè)為0.003,并分別在第40次和第60次時(shí)乘以0.1作為訓(xùn)練的學(xué)習(xí)率下降方案.訓(xùn)練批大小統(tǒng)一設(shè)為24,4塊GPU同時(shí)進(jìn)行訓(xùn)練,每次訓(xùn)練耗時(shí)約2 h.GPU上每張圖片的測試耗時(shí)約為10 ms.表2給出了不同方法的實(shí)驗(yàn)對比結(jié)果,所有的網(wǎng)絡(luò)結(jié)構(gòu)均基于VGG. 其中,遷移學(xué)習(xí)表示利用ImageNet上的VGG預(yù)訓(xùn)練權(quán)重微調(diào)(fine-tuning); VAM表示使用雙分支結(jié)構(gòu)的視覺注意力模型; Metric 表示增加中心損失函數(shù).由表2可見,相對VGG基線(baseline),采用遷移學(xué)習(xí)F1分?jǐn)?shù)提高了2%,準(zhǔn)確度提高了1.1%; 采用遷移學(xué)習(xí)+VAM使F1分?jǐn)?shù)提高了3%,準(zhǔn)確度提高了2.1%;采用遷移學(xué)習(xí)+VAM+中心損失函數(shù)使F1分?jǐn)?shù)提高了4%,準(zhǔn)確度提高了3.4%;其中,F(xiàn)1和準(zhǔn)確度均為按測試集樣本數(shù)量加權(quán)平均后的最優(yōu)結(jié)果.為了減少過擬合問題,實(shí)驗(yàn)中的結(jié)果均為五折交叉驗(yàn)證的均值.
表2 不同方法對肝包蟲病分型的實(shí)驗(yàn)結(jié)果對比
1)√表示使用了對應(yīng)的組件;2)灰底數(shù)據(jù)表示最優(yōu)結(jié)果
為進(jìn)一步分析所提方法在肝包蟲病各分型上的準(zhǔn)確率,表3列出了每個(gè)類別的性能指標(biāo)及對應(yīng)的測試圖片數(shù)量.圖4為最終結(jié)果的混淆矩陣.
表3 各類別分型結(jié)果
圖4 按樣本量歸一化的混淆矩陣Fig.4 (Color online) Confusion matrix normalized by sample size
通過對CNN提取的特征響應(yīng)進(jìn)行可視化,可以直觀地判斷神經(jīng)網(wǎng)絡(luò)是否關(guān)注到有用的區(qū)域[25].圖5列出了部分輸入圖片與其對應(yīng)的熱度圖顯示,分別對比了原始VGG模型所得到的熱度圖與本研究基于視覺注意力模型的方法得到的熱度圖.
圖5 病灶與對應(yīng)熱度圖Fig.5 (Color online) Various types of lesions and the corresponding heatmaps
本研究提出一種端到端的分類方法,輔助超聲醫(yī)師對肝包蟲病超聲圖像進(jìn)行自動分型,通過對比實(shí)驗(yàn)和可視化驗(yàn)證了所提改進(jìn)方法的有效性.該方法能夠?qū)⒒A(chǔ)網(wǎng)絡(luò)的性能提高約3%.遷移學(xué)習(xí)的引入使網(wǎng)絡(luò)性能提升了1%;采用基于注意力機(jī)制的網(wǎng)絡(luò)結(jié)構(gòu)使網(wǎng)絡(luò)性能提高了1%;度量學(xué)習(xí)方法的引入使網(wǎng)絡(luò)性能提升了1%.
對比表1和表2可見,數(shù)據(jù)量對分型性能的影響顯著,一般來說,數(shù)據(jù)量偏少的類型在分型性能上也相對較差.其中,泡型的3種分型數(shù)據(jù)量相對較少,這與兩種包蟲病在中國的分布是相關(guān)的,我們也將繼續(xù)探索特征融合的方法,提高泡型肝包蟲病病灶的分型準(zhǔn)確度.從圖3可見,CL和CE1、CE4和AE1等存在易混淆的情況.從圖4可見,與基礎(chǔ)VGG網(wǎng)絡(luò)相比,該方法關(guān)注區(qū)域更廣,提取的特征更豐富,判別能力也更強(qiáng).
盡管本研究提出了有效的改進(jìn)方法,肝包蟲超聲圖像分型的準(zhǔn)確度仍有待提升.肝包蟲病各分型間存在的類內(nèi)差異度和類間相似度給分型帶來了極大的挑戰(zhàn).此外,本研究所采用的數(shù)據(jù)來自各個(gè)州縣醫(yī)院,因臨床超聲醫(yī)師的經(jīng)驗(yàn)和手法等存在較大差異,且來源的超聲設(shè)備廠家多樣,采集到的圖像存在較大的差異,從而進(jìn)一步增加了分型的難度.
本研究提出一種端到端的肝包蟲病超聲圖像自動分型網(wǎng)絡(luò),該網(wǎng)絡(luò)結(jié)合注意力機(jī)制和度量學(xué)習(xí)方法獲取病灶不同區(qū)域的特征,一定程度上解決了肝包蟲超聲圖像中存在的類內(nèi)差異大、類間差異小的問題,分型性能相對基礎(chǔ)網(wǎng)絡(luò)有了顯著的提高.研究表明,深度卷積神經(jīng)網(wǎng)絡(luò)能用于肝包蟲病分型,同時(shí)提出的改進(jìn)能夠有效地提高網(wǎng)絡(luò)的分型性能.目前,中國正在大力推進(jìn)包蟲病篩查防治工作,快速、準(zhǔn)確的智能輔助診斷方法能大幅減輕醫(yī)生的負(fù)擔(dān).因此,基于深度學(xué)習(xí)的肝包蟲病灶分類方法具有較高的研究價(jià)值和應(yīng)用價(jià)值.