周長(zhǎng)才,劉 爽,王 昕
(長(zhǎng)春工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,吉林 長(zhǎng)春 130012)
顱內(nèi)出血,即顱骨內(nèi)發(fā)生的出血。它是臨床常見(jiàn)的急重癥,具有極高的致死率或致殘率,對(duì)病人的生命健康有極其嚴(yán)重的威脅。快速確定病人出血的位置和類型是治療的關(guān)鍵。導(dǎo)致顱內(nèi)出血的病因有多種,常見(jiàn)的有腦部遭受外傷、中風(fēng)和高血壓等。根據(jù)腦中不同的出血部位,顱內(nèi)出血分為腦實(shí)質(zhì)內(nèi)出血、腦室內(nèi)出血、蛛網(wǎng)膜下腔出血、硬膜下出血和硬膜外出血5種亞型[1]。
近幾年,人工智能(Artificial Intelligence)中深度學(xué)習(xí)算法的火熱給各行各業(yè)帶來(lái)了福音,作為一種處理大數(shù)據(jù)的手段,在醫(yī)學(xué)圖像處理中也得到了廣泛應(yīng)用。目前只有部分學(xué)者嘗試將深度學(xué)習(xí)應(yīng)用于顱內(nèi)出血的研究,Ye H等[2]在3家醫(yī)院收集2 836套CT掃描數(shù)據(jù)用于訓(xùn)練和測(cè)試模型,結(jié)合卷積神經(jīng)網(wǎng)絡(luò)VGG-16和雙向GRU作為一個(gè)端到端可訓(xùn)練網(wǎng)絡(luò),用于預(yù)測(cè)顱內(nèi)出血和出血亞型種類。Chilamkurthy S等[3]在印度多家醫(yī)院收集腦CT圖像數(shù)據(jù)用于訓(xùn)練深度學(xué)習(xí)模型,并驗(yàn)證其有效性。Tomasz Lewicki等[4]用RSNA提供的數(shù)據(jù)集對(duì)顱內(nèi)出血的亞型進(jìn)行分類,每張圖像的準(zhǔn)確率是93.3%。Arbabshirani M R等[5]采集約4萬(wàn)張數(shù)據(jù)用于訓(xùn)練,約1萬(wàn)張數(shù)據(jù)用于測(cè)試,驗(yàn)證了三維卷積神經(jīng)網(wǎng)絡(luò)在檢測(cè)是否顱內(nèi)出血任務(wù)上的有效性。綜上所述,目前多數(shù)算法的訓(xùn)練樣本集數(shù)目有限,且只做單一的顱內(nèi)出血檢測(cè)。文中在大樣本數(shù)據(jù)集上構(gòu)建深度學(xué)習(xí)模型,對(duì)顱內(nèi)出血及其亞型進(jìn)行檢測(cè)。
卷積神經(jīng)網(wǎng)絡(luò)(CNN)作為深度學(xué)習(xí)的一種典型算法,目前已在醫(yī)學(xué)影像處理中得到了廣泛應(yīng)用,在肺結(jié)節(jié)的良惡性識(shí)別,皮膚及宮頸癌的探查,視網(wǎng)膜病變檢測(cè),腦腫瘤檢測(cè),以及目前的新冠肺炎篩查等方面表現(xiàn)出良好的計(jì)算機(jī)輔助診斷性能。它的基本結(jié)構(gòu)包括輸入層、卷積層、池化層、全連接層及輸出層。輸入層即整個(gè)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的輸入,卷積層和池化層采取多輪交替設(shè)置,接下來(lái)是若干個(gè)全連接層,輸出層也稱為 Softmax 層,主要用于各種分類問(wèn)題[6]。
文中選擇的卷積神經(jīng)網(wǎng)絡(luò)是ResNet(Residual Neural Network),即殘差網(wǎng)絡(luò)。原因在于ResNet在幾個(gè)腦圖像分析項(xiàng)目中得到應(yīng)用,如用于診斷阿爾茨海默病[7],并具有近乎完美的多類預(yù)測(cè)的準(zhǔn)確性。另一項(xiàng)研究[8]將各種深度學(xué)習(xí)模型用于大腦異常檢測(cè),發(fā)現(xiàn)ResNet具有最佳分類精度。
ResNet是2015年提出的一種神經(jīng)網(wǎng)絡(luò),按照層數(shù)的不同可以分為ResNet18、ResNet34、ResNet50、ResNet101、ResNet152這5種類型,不同深度ResNet的具體結(jié)構(gòu)見(jiàn)表1。
表1 ResNet的結(jié)構(gòu)
ResNet的結(jié)構(gòu)單元如圖1所示。
(a) BasicBlock (b) Bottleneck
根據(jù)Block類型,可以將這5種ResNet分為兩類:
1)基于BasicBlock(見(jiàn)圖1(a)),淺層網(wǎng)絡(luò)ResNet18、34都由BasicBlock搭成;
2)基于Bottleneck(見(jiàn)圖1(b)),深層網(wǎng)絡(luò)ResNet50、101、152乃至更深的網(wǎng)絡(luò)都由Bottleneck搭成。Block相當(dāng)于積木,每個(gè)layer都由若干Block搭建而成,再由layer組成整個(gè)網(wǎng)絡(luò)[9]。
使用ResNet-101中的卷積基作為特征提取器,網(wǎng)絡(luò)模型的數(shù)據(jù)流向如圖2所示。
圖2 網(wǎng)絡(luò)模型的數(shù)據(jù)流向圖
全連接層設(shè)計(jì)成兩層,包括512個(gè)神經(jīng)元的隱藏層(relu激活)和6個(gè)神經(jīng)元的輸出層(Sigmoid激活)。模型的輸出向量是一個(gè)6維向量,有5個(gè)值對(duì)應(yīng)診斷每種出血類型的可能性,第6個(gè)值對(duì)應(yīng)屬于“任何”類別的可能性,即指出血類型不止一種。在訓(xùn)練中,使用Adam優(yōu)化器,學(xué)習(xí)率為1e-5,通過(guò)超參數(shù)優(yōu)化確定,批量大小設(shè)置為16。
模型訓(xùn)練是在處理器為Intel(R) Xeon(R) Gold 6130CPU、顯卡為NVIDIA Tesla P100的硬件平臺(tái)上完成的,在Windows 10操作系統(tǒng)下進(jìn)行環(huán)境配置,Cuda版本為11.0,Keras版本為2.4.3。整個(gè)實(shí)驗(yàn)的深度學(xué)習(xí)框架用Keras搭建,一些殘差網(wǎng)絡(luò)的結(jié)構(gòu)參數(shù)可以直接從Keras導(dǎo)入。
文中數(shù)據(jù)集來(lái)自2019年Kaggle平臺(tái)推出的RSNA急性顱內(nèi)出血檢測(cè)競(jìng)賽(RSNA Intracranial Hemorrhage Detection),該數(shù)據(jù)集由北美放射學(xué)會(huì)(RSNA)提供,共包含752 803個(gè)標(biāo)記DCM文件,都是512×512的大腦橫斷面圖像[10]。我們留出20%隨機(jī)選擇的樣本作為測(cè)試集來(lái)測(cè)試模型的準(zhǔn)確率,其中每個(gè)文件都標(biāo)有一種或多種出血類型,或者根本沒(méi)有出血。數(shù)據(jù)集中可能出現(xiàn)的5種出血類型如圖3所示。
(a) 腦實(shí)質(zhì)內(nèi) (b) 腦室內(nèi) (c) 蛛網(wǎng)膜下腔 (d) 硬膜下 (e) 硬膜外
標(biāo)簽以CSV文件的形式給出,每個(gè)患者ID包含6行,每行對(duì)應(yīng)一種出血類型,后跟一個(gè)布爾值表示該圖像中是否存在該類型的出血。
CT掃描是使用X射線生成的,組織密度越大,X射線衰減越多,從而產(chǎn)生的像素強(qiáng)度越高。文獻(xiàn)[3]指出,對(duì)于特征提取,加窗口后可以最大化特征之間的細(xì)微差異。因此在預(yù)處理階段,原始CT中HU值被3個(gè)影像科醫(yī)生常用的視窗截?cái)?,即腦窗(窗位40,窗寬80)、骨窗(窗位600,窗寬2 800)和硬膜下窗(窗位80,窗寬200),然后歸一化到[0,1]范圍內(nèi),再拼接成輸入圖像的3個(gè)通道中,所有輸入圖像將會(huì)通過(guò)雙線性插值縮小到 224×224,預(yù)處理之后的CT圖像如圖4所示。
(a) 無(wú)對(duì)比掃描 (b) 腦窗 (c) 硬膜下窗 (d) 骨窗
對(duì)于模型評(píng)估,在訓(xùn)練完整個(gè)網(wǎng)絡(luò)后,隨機(jī)抽取整個(gè)數(shù)據(jù)集的20%(大約150 000個(gè)示例)作為測(cè)試集來(lái)測(cè)試模型的有效性。文中采用分類任務(wù)中最常見(jiàn)的一個(gè)性能指標(biāo)——準(zhǔn)確率(Accuracy)對(duì)顱內(nèi)腦出血類型進(jìn)行評(píng)價(jià),其定義式如下
(1)
式中:TP、TN、FP、FN——分別表示真陽(yáng)率、真陰率、假陽(yáng)率和假陰率。
實(shí)驗(yàn)結(jié)果表明,基于ResNet-101構(gòu)建的深度網(wǎng)絡(luò)模型每幅圖像的識(shí)別準(zhǔn)確率為94.6%。為了進(jìn)一步證明文中算法的有效性,還與其他兩種顱腦出血分類方法[3-4]及文獻(xiàn)[2]中提到的VGG-16網(wǎng)絡(luò)進(jìn)行了對(duì)比實(shí)驗(yàn),結(jié)果見(jiàn)表2。
表2 不同算法的識(shí)別準(zhǔn)確率對(duì)比
從4種不同網(wǎng)絡(luò)模型的識(shí)別準(zhǔn)確率結(jié)果可以看出,文中算法的識(shí)別準(zhǔn)確率更高,相比于VGG-16網(wǎng)絡(luò),在每張圖像準(zhǔn)確率上高出2~3個(gè)百分點(diǎn)。
研究一種用于顱內(nèi)出血及其亞類型分類的深度學(xué)習(xí)方法,該方法基于當(dāng)前在圖像分類任務(wù)上取得優(yōu)異成果的ResNet網(wǎng)絡(luò),并將該分類模型進(jìn)行調(diào)整,應(yīng)用于顱內(nèi)出血檢測(cè)任務(wù)中。該方法在RSNA顱內(nèi)出血數(shù)據(jù)集上進(jìn)行了大量實(shí)驗(yàn),使用加窗方法進(jìn)行預(yù)處理,將CT掃描轉(zhuǎn)換為16位dicom圖像,并轉(zhuǎn)換為3個(gè)通道,浮點(diǎn)數(shù)矩陣歸一化處理在[0,1]。最終實(shí)驗(yàn)結(jié)果表明,該方法在顱內(nèi)出血分類上取得了優(yōu)異性能,模型的分類平均準(zhǔn)確率為98.1%,每幅圖像的平均準(zhǔn)確率為94.6%,對(duì)顱內(nèi)出血的計(jì)算機(jī)輔助診斷具有參考價(jià)值。