1.南京大學(xué)醫(yī)學(xué)院附屬鼓樓醫(yī)院 a.臨床醫(yī)學(xué)工程處;b.婦產(chǎn)科,江蘇 南京 210008;2.東南大學(xué) 生物科學(xué)與醫(yī)學(xué)工程學(xué)院,江蘇 南京 210096
中孕期是胎兒各個(gè)系統(tǒng)發(fā)育成熟的最佳時(shí)期,超聲檢查顯示圖像清晰,并可以多角度觀察胎兒臟器,對(duì)明確畸形診斷,有效降低缺陷胎兒的出生率具有重要意義[1]。與此同時(shí),中孕期胎兒結(jié)構(gòu)篩查工作也存在很大風(fēng)險(xiǎn),檢查過(guò)程的不規(guī)范可能導(dǎo)致胎兒的畸形不能夠被檢出,導(dǎo)致缺陷兒的出生,也可能導(dǎo)致正常胎兒被誤診而因此引產(chǎn)[2]。因此,中孕期胎兒超聲檢查的質(zhì)量控制尤為重要。
在實(shí)際的臨床超聲檢查工作中,超聲檢查質(zhì)量控制主要是由具有豐富經(jīng)驗(yàn)的專(zhuān)家醫(yī)師制定超聲圖像的質(zhì)量評(píng)價(jià)標(biāo)準(zhǔn),在標(biāo)準(zhǔn)中規(guī)定需要存取的切面,然后根據(jù)每個(gè)切面制定相應(yīng)的評(píng)價(jià)內(nèi)容,然后根據(jù)評(píng)價(jià)標(biāo)準(zhǔn)進(jìn)行手動(dòng)評(píng)價(jià)[2-3]。然而,手動(dòng)評(píng)價(jià)存在很多缺點(diǎn),如評(píng)價(jià)結(jié)果傾向于評(píng)價(jià)專(zhuān)家的主觀性、評(píng)價(jià)過(guò)程耗時(shí)耗力,增加了評(píng)價(jià)專(zhuān)家的工作負(fù)擔(dān),實(shí)際工作中很難實(shí)現(xiàn)。為此,我們需要一種胎兒超聲圖像的自動(dòng)質(zhì)量控制解決方案,該方案能夠根據(jù)專(zhuān)家醫(yī)師制定的質(zhì)量評(píng)價(jià)標(biāo)準(zhǔn)對(duì)醫(yī)生采集的圖像進(jìn)行自動(dòng)評(píng)價(jià)。然而,自動(dòng)質(zhì)量控制的第一步就是要精確識(shí)別醫(yī)生采集的圖像為哪一個(gè)切面,因此,精確識(shí)別胎兒超聲篩查圖像對(duì)中孕期胎兒超聲篩查圖像的自動(dòng)質(zhì)量控制至關(guān)重要。
近年來(lái),隨著計(jì)算機(jī)硬件水平的飛速提升和互聯(lián)網(wǎng)技術(shù)的蓬勃發(fā)展,深度學(xué)習(xí)方法不斷地在實(shí)踐中取得革命性進(jìn)展,在視覺(jué)和聽(tīng)覺(jué)等感知問(wèn)題上取得了令人矚目的成果。卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)作為深度學(xué)習(xí)中的經(jīng)典模型之一,在計(jì)算機(jī)視覺(jué)任務(wù)上取得了巨大成功,對(duì)處理圖像的分類(lèi)問(wèn)題有著極高的效率[4]。在醫(yī)學(xué)領(lǐng)域,深度學(xué)習(xí)方法也發(fā)展迅速并在多個(gè)方面成功應(yīng)用,郭磊[5]構(gòu)造了一個(gè)CNN,對(duì)宮頸細(xì)胞正常細(xì)胞與病變細(xì)胞進(jìn)行識(shí)別分類(lèi);王媛媛[6]以肺部PET/CT三模態(tài)圖像為研究對(duì)象,構(gòu)建CNN,用于肺部腫瘤的分類(lèi)和輔助診斷;余鎮(zhèn)等[7]基于CNN和遷移學(xué)習(xí)方法,完成了對(duì)胎兒顏面部超聲圖像的自動(dòng)識(shí)別;熊彪[8]基于CNN,搭建圖像分類(lèi)模型,應(yīng)用于糖尿病視網(wǎng)膜病變的眼底圖像分類(lèi)。受以上研究啟發(fā),本研究將基于深度學(xué)習(xí)方法,利用CNN,完成對(duì)中孕期胎兒超聲篩查切面的自動(dòng)識(shí)別。
本研究主要基于Vgg16網(wǎng)絡(luò)模型,在該模型基礎(chǔ)上進(jìn)行模型微調(diào),完成對(duì)中孕期胎兒超聲篩查切面的精確自動(dòng)識(shí)別。下面將對(duì)該方法進(jìn)行詳細(xì)介紹,主要包括CNN原理、Vgg16網(wǎng)絡(luò)介紹及模型微調(diào)原理。
1962年,生物學(xué)家Huble和Wiesel在研究貓腦視覺(jué)皮層過(guò)程中,提出“感受野”概念[9]。感受野中的細(xì)胞有著復(fù)雜的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),不同細(xì)胞選擇性地響應(yīng)不同刺激模式的特征,因此能夠更好地展示出自然圖像中的局部空間相關(guān)性。CNN就是受此研究的啟發(fā)而提出的[10],與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)不同,CNN用卷積層和池化層替代了全連接層,通過(guò)權(quán)值共享、局部感受野和下采樣,大大減少了訓(xùn)練參數(shù)的數(shù)量,并使其可以更加有效地學(xué)習(xí)越來(lái)越復(fù)雜、越來(lái)越抽象的視覺(jué)概念[11]。CNN主要由輸入層、卷積層、池化層(降采樣層)、全連接層和輸出層組成(圖1)。
圖1 CNN結(jié)構(gòu)圖
輸入層用來(lái)接收輸入數(shù)據(jù),對(duì)于圖像數(shù)據(jù),輸入數(shù)據(jù)為多維的像素值矩陣。卷積層的主要作用是通過(guò)卷積運(yùn)算完成對(duì)輸入圖像的特征提取,卷積運(yùn)算由預(yù)先設(shè)定的卷積核在輸入圖像上以一定的步長(zhǎng)滑動(dòng)來(lái)完成,卷積核內(nèi)的數(shù)值即為需要訓(xùn)練的權(quán)重,卷積運(yùn)算后輸出的圖像稱(chēng)為特征圖。卷積層由很多神經(jīng)元組成,每個(gè)神經(jīng)元對(duì)輸入圖像在卷積核尺寸大小的范圍內(nèi)進(jìn)行局部連接,通過(guò)自身的權(quán)重與輸入數(shù)值的加權(quán),得到輸出值。卷積層運(yùn)算可用式(1)表示。
其中,l代表CNN的層數(shù),k為卷積核,表示前一層的輸出的一個(gè)特征圖,表示卷積核的權(quán)重,為每個(gè)輸出特征圖的偏置,σ()為激活函數(shù)。激活函數(shù)的主要作用是用來(lái)加入非線性因素,表示輸入輸出之間非線性的復(fù)雜的任意函數(shù)映射,以解決線性模型表達(dá)能力不足的缺陷,常見(jiàn)的激活函數(shù)主要有Sigmoid函數(shù)、Tanh函數(shù)和ReLU函數(shù)。
池化層的主要作用是進(jìn)行池化操作,池化是縮小高、長(zhǎng)方向上的空間的運(yùn)算,其主要作用是對(duì)特征圖進(jìn)行下采樣,減少需要處理的特征圖的元素個(gè)數(shù)。池化一般分為最大池化(Max Pooling)和平均池化(Average Pooling),最大池化是從目標(biāo)區(qū)域中取出最大值,平均池化則是計(jì)算目標(biāo)區(qū)域的平均值。
全連接層作用是將所有二維圖像的特征圖連接為一維特征作為全連接網(wǎng)絡(luò)的輸入,通過(guò)輸入加權(quán)求和并通過(guò)激活函數(shù)的響應(yīng)得到全連接層的輸出。Softmax層為CNN的最后一層,以Softmax函數(shù)作為激活函數(shù),廣泛應(yīng)用于多分類(lèi)的神經(jīng)網(wǎng)絡(luò)中。Softmax函數(shù)公式如式(2)所示:
Softmax函數(shù)的作用就是如果判斷輸入屬于某一個(gè)類(lèi)的概率大于屬于其他類(lèi)的概率,那么這個(gè)類(lèi)對(duì)應(yīng)的值就逼近于1,其他類(lèi)的值就逼近于0。其本質(zhì)是將一個(gè)K維的任意實(shí)數(shù)向量映射成K維的實(shí)數(shù)向量,其中向量中的每個(gè)元素取值都介于(0,1)之間,且所有元素的和為1[12]。
CNN訓(xùn)練的目的就是獲得合適的權(quán)重值。輸入圖像進(jìn)入網(wǎng)絡(luò)后,首先經(jīng)過(guò)連續(xù)的卷積和池化運(yùn)算得到預(yù)測(cè)值,然后通過(guò)損失函數(shù)計(jì)算預(yù)測(cè)值和真實(shí)值之間的損失值,通過(guò)優(yōu)化器來(lái)更新權(quán)重值,優(yōu)化器一般使用梯度下降算法,經(jīng)過(guò)多次迭代循環(huán),直到獲得合適的權(quán)重值,使得損失值最小。損失函數(shù)主要有交叉熵誤差(Crossentropy Error)和均方誤差(Mean Squared Error),常用的優(yōu)化其算法主要有隨機(jī)梯度下降算法、Momentum算法、AdaGrad算法、RMSprop算法和Adam算法。CNN的訓(xùn)練過(guò)程[13],見(jiàn)圖2。
圖2 卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)過(guò)程示意圖
Vgg16網(wǎng)絡(luò)是由牛津大學(xué)的Simonyan等[14]提出的一種深度CNN模型(圖3),并且在當(dāng)年的ILSVRC比賽中取得了92.3%的Top-5正確率[14]。
如圖3所示,Vgg16網(wǎng)絡(luò)由16層含有可訓(xùn)練參數(shù)的層組成,其中黑色表示卷積層,紅色表示池化層,藍(lán)色表示全連接層,棕色表示Softmax層。所有的卷積層都采用3×3的卷積核,步長(zhǎng)為2,并進(jìn)行0值填充,激活函數(shù)采用ReLU函數(shù),所有的池化層池化范圍為2×2,步長(zhǎng)為2。這里我們用(長(zhǎng)度×寬度×維數(shù))來(lái)表示輸入圖像、特征圖和卷積核的大小。圖中輸入圖像大小為(224×224×3),第1、2層為含有64個(gè)大小為(3×3×3)的卷積核的卷積層,輸出特征圖大小為(224×224×64),經(jīng)過(guò)池化層后,輸出特征圖大小為(112×112×64);第3、4層為含有128個(gè)大小(3×3×64)的卷積核的卷積層,輸出特征圖大小為(112×112×128),經(jīng)過(guò)池化后變?yōu)椋?6×56×128);第5、6、7層為含有256個(gè)大?。?×3×128)的卷積核的卷積層,輸出特征圖大小為(56×56×256),經(jīng)過(guò)池化后變?yōu)椋?8×28×256);第8、9、10層為含有512個(gè)大?。?×3×256)的卷積核的卷積層,輸出特征圖大小為(28×28×512),經(jīng)過(guò)池化后變?yōu)椋?4×14×512);第11、12、13層為含有512個(gè)大小(3×3×512)的卷積核的卷積層,輸出特征圖大小為(14×14×512),經(jīng)過(guò)池化后變?yōu)椋?×7×512);第14、15、16層為含有4096個(gè)神經(jīng)元的全連接層,最后經(jīng)過(guò)Softmax層完成1000個(gè)類(lèi)別的分類(lèi)。
圖3 Vgg16網(wǎng)絡(luò)結(jié)構(gòu)
模型微調(diào)是一種廣泛使用的模型復(fù)用方法,是指凍結(jié)預(yù)訓(xùn)練模型中的一些層,而只訓(xùn)練剩余的網(wǎng)絡(luò)層。預(yù)訓(xùn)練模型是指已經(jīng)在大型數(shù)據(jù)集上訓(xùn)練好的模型,如果這個(gè)原始數(shù)據(jù)集足夠大且足夠通用,那么預(yù)訓(xùn)練網(wǎng)絡(luò)學(xué)到的特征的空間層次結(jié)構(gòu)可以有效地作為視覺(jué)世界的通用模型,因此這些特征可用于各種不同的計(jì)算機(jī)視覺(jué)問(wèn)題,即使這些新問(wèn)題涉及的類(lèi)別和原始任務(wù)完全不同。該方法可以大大加快網(wǎng)絡(luò)訓(xùn)練速度,同時(shí)避免訓(xùn)練數(shù)據(jù)量過(guò)小而出現(xiàn)的過(guò)擬合現(xiàn)象[15-17]。本研究所使用的預(yù)訓(xùn)練模型為在ImageNet[18]數(shù)據(jù)集上訓(xùn)練好的Vgg16網(wǎng)絡(luò)模型,ImageNet為一個(gè)包含140萬(wàn)張標(biāo)記圖像,共1000個(gè)不同類(lèi)別的數(shù)據(jù)集。本研究中,我們將微調(diào)最后6個(gè)卷積層和最后的全連接層。微調(diào)網(wǎng)絡(luò)的步驟如下:① 在已經(jīng)訓(xùn)練好的基網(wǎng)絡(luò)(Base Network)上根據(jù)自己的分類(lèi)需要更改全連接層分類(lèi)器;② 凍結(jié)基網(wǎng)絡(luò)的相關(guān)層;③ 訓(xùn)練所添加的部分;④ 解凍基網(wǎng)絡(luò)的一些層;⑤ 聯(lián)合訓(xùn)練解凍的這些層和添加的部分。
1.4.1 實(shí)驗(yàn)數(shù)據(jù)集
本實(shí)驗(yàn)中,所有數(shù)據(jù)均采集自南京鼓樓醫(yī)院婦產(chǎn)科超聲診斷中心,共采集2016—2018年孕18~24周胎兒結(jié)構(gòu)篩查圖像76260張,包含31個(gè)切面圖像(表1)。其中,將68386張圖像作為訓(xùn)練集,7874張圖像作為測(cè)試集,訓(xùn)練集和測(cè)試集圖像均包含31個(gè)切面,訓(xùn)練集中每個(gè)切面圖像數(shù)量均為2206張,測(cè)試集中每個(gè)切面圖像數(shù)量均為254張。
表1 采集切面名稱(chēng)及分類(lèi)序號(hào)
1.4.2 實(shí)驗(yàn)環(huán)境
本研究采用基于Tensor flow為后端的Keras深度學(xué)習(xí)庫(kù)為主要框架。TensorFlow是Google開(kāi)源的一個(gè)深度學(xué)習(xí)框架,其擁有有完整的數(shù)據(jù)流向與處理機(jī)制,同時(shí)還封裝了大量高效可用的算法及神經(jīng)網(wǎng)絡(luò)搭建方面的函數(shù),是當(dāng)今深度學(xué)習(xí)領(lǐng)域中最火的框架之一[19]。Keras[13]是一個(gè)模型級(jí)(Model-level)的庫(kù),為開(kāi)發(fā)深度學(xué)習(xí)模型提供了高層次的構(gòu)建模塊。它不處理張量操作、求微分等低層次的運(yùn)算。相反,它依賴(lài)于一個(gè)專(zhuān)門(mén)的、高度優(yōu)化的張量庫(kù)來(lái)完成這些運(yùn)算,這個(gè)張量庫(kù)就是Keras的后端引擎(Backend Engine)。目前,Keras有三個(gè)后端實(shí)現(xiàn):TensorFlow后端、Theano后端和微軟認(rèn)知工具包(Microsoft Cognitive Toolkit,CNTK)后端。實(shí)驗(yàn)軟件環(huán)境為Windows 10 64位操作系統(tǒng),Python3.6.5,Tensor flow1.8.0,Keras 2.2.4,硬件環(huán)境為Intel i7 8700 3.20GHz CPU,NVIDIA GeForce GTX 1070 8G GPU,16G內(nèi)存。
本研究在基于Vgg16微調(diào)模型的基礎(chǔ)上,將輸入圖像調(diào)整大小為224×224,采用categorical crossentropy損失函數(shù),Adam優(yōu)化器,設(shè)置學(xué)習(xí)率為0.001,為充分利用所有的數(shù)據(jù),進(jìn)行了1000次迭代,每次迭代選擇64個(gè)樣本數(shù)據(jù)進(jìn)行梯度計(jì)算。在每次迭代后,分別計(jì)算訓(xùn)練數(shù)據(jù)的準(zhǔn)確率和損失值及驗(yàn)證數(shù)據(jù)的準(zhǔn)確率和損失值。根據(jù)訓(xùn)練結(jié)果,準(zhǔn)確率及損失值曲線見(jiàn)圖4~5。圖4和圖5中橫軸表示訓(xùn)練迭代次數(shù),縱軸表示準(zhǔn)確率和損失值。如圖4和圖5所示,在進(jìn)行了約60次迭代后,模型開(kāi)始收斂,經(jīng)過(guò)1000次迭代后,測(cè)試集準(zhǔn)確率為94.8%。
圖4 訓(xùn)練集及測(cè)試集準(zhǔn)確率曲線
圖5 訓(xùn)練集及測(cè)試集損失值曲線
為了更加直觀地查看分類(lèi)效果,我們通過(guò)混淆矩陣來(lái)查看各個(gè)類(lèi)別具體的分類(lèi)結(jié)果,歸一化的混淆矩陣見(jiàn)圖6。圖6中的行代表該模型對(duì)超聲圖像預(yù)測(cè)的類(lèi)別,列表示被預(yù)測(cè)圖像的實(shí)際類(lèi)別,對(duì)角線表示預(yù)測(cè)的類(lèi)別與實(shí)際類(lèi)別相同的圖像所占比例。從圖6中可以看出,除鼻骨切面、主肺動(dòng)脈管徑切面、腹壁臍帶插入部位切面、宮頸切面識(shí)別準(zhǔn)確率較低外,總體而言,該模型對(duì)圖像的分類(lèi)效果良好。
此外,我們采用國(guó)際通用分類(lèi)評(píng)價(jià)參數(shù):精確率、召回率、F1分?jǐn)?shù)對(duì)每一個(gè)類(lèi)別的分類(lèi)結(jié)果進(jìn)行定量評(píng)價(jià)。其中,精確率是指被預(yù)測(cè)為該類(lèi)的數(shù)據(jù)中確實(shí)為該類(lèi)別的數(shù)據(jù)所占的比例,召回率是指某一類(lèi)別的數(shù)據(jù)中被預(yù)測(cè)為該類(lèi)別的數(shù)據(jù)所占的比例,F(xiàn)1分?jǐn)?shù)是精確率和召回率的調(diào)和均值,取值為0~1,其值越大,表明網(wǎng)絡(luò)模型越穩(wěn)定。各類(lèi)別分類(lèi)結(jié)果參數(shù),見(jiàn)表2。
圖6 歸一化后的混淆矩陣
表2 各類(lèi)別識(shí)別結(jié)果
中孕期胎兒超聲結(jié)構(gòu)篩查關(guān)乎胎兒的健康出生及家庭幸福,因此,超聲篩查圖像的質(zhì)量控制至關(guān)重要。然而,目前手動(dòng)評(píng)分的質(zhì)量控制方法在實(shí)際的臨床工作中耗時(shí)耗力,很難實(shí)現(xiàn)。隨著深度學(xué)習(xí)方法的興起,人工智能在日常生活中的很多領(lǐng)域取得成功,超聲圖像的自動(dòng)質(zhì)量控制也成為可能,精確識(shí)別超聲切面圖像是自動(dòng)質(zhì)量控制的重要內(nèi)容,也是其他質(zhì)量控制內(nèi)容自動(dòng)化的基礎(chǔ)。本研究利用CNN,通過(guò)在Vgg16網(wǎng)絡(luò)模型上微調(diào),對(duì)胎兒超聲篩查圖像的識(shí)別準(zhǔn)確率為94.8%,能夠基本準(zhǔn)確識(shí)別超聲圖像,但對(duì)其中少數(shù)類(lèi)別的識(shí)別準(zhǔn)確率偏低,在今后的研究中還需優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)和訓(xùn)練技巧,進(jìn)一步提高模型的泛化能力。本研究為胎兒超聲圖像的自動(dòng)質(zhì)量控制打下了堅(jiān)實(shí)的基礎(chǔ),并可應(yīng)用于其他醫(yī)學(xué)圖像的分類(lèi)識(shí)別,具有良好的應(yīng)用價(jià)值。