近日,Neuromation 團(tuán)隊(duì)在 Medium 上撰文介紹其最新研究成果:利用卷積神經(jīng)網(wǎng)絡(luò)(CNN)評(píng)估兒童骨齡,這一自動(dòng)骨齡評(píng)估系統(tǒng)可以得到與放射科專家相似或更好的結(jié)果。該團(tuán)隊(duì)評(píng)估了手骨不同區(qū)域,發(fā)現(xiàn)僅對(duì)掌骨和近端指骨進(jìn)行評(píng)估,得到的結(jié)果與對(duì)整個(gè)手骨進(jìn)行評(píng)估的結(jié)果相差無幾。為了克服放射圖像的質(zhì)量和多樣性問題,該團(tuán)隊(duì)引入了嚴(yán)格的清理和標(biāo)準(zhǔn)化過程,以增強(qiáng)模型的魯棒性和準(zhǔn)確率,提升骨齡評(píng)估的準(zhǔn)確率、提高結(jié)果的可復(fù)現(xiàn)性以及臨床醫(yī)生的效率。
Alexander 的論文《Pediatric Bone Age Assessment Using Deep Convolutional Neural Networks》(Vladimir Iglovikov、Alexander Kalinin 以及 Alexey Shvets 聯(lián)合完成的一項(xiàng)工作)已經(jīng)發(fā)表在第 4 屆 Deep Learning in Medical Image Analysis(DLMIA 2018)Workshop 上。這不是 Neuromation 在醫(yī)學(xué)影像方面發(fā)表的第一篇論文,但這是一個(gè)深入了解該研究細(xì)節(jié)的好機(jī)會(huì)。與我們之前發(fā)表的關(guān)于醫(yī)療概念規(guī)范化的文章(https://medium.com/neuromation-io-blog/neuromation-research-medical-concept-normalization-in-social-media-posts-f06504200cec)相似,這是一件嚴(yán)肅且相當(dāng)復(fù)雜的事。
骨齡反映了你的年齡:骨齡評(píng)估
骨齡,基本上就是指你的骨頭看起來多大了。隨著孩子的成長(zhǎng),他的骨骼也在逐漸成長(zhǎng)。這就意味著你可以通過觀察兒童的骨骼,根據(jù)具備此類骨骼的兒童的平均年齡來了解這個(gè)孩子多大了。這時(shí)候你可能會(huì)想這是不是一篇考古學(xué)方面的文章:畢竟活著的小孩應(yīng)該并不怎么拍 X 光。
這么想是對(duì)的,但是也不對(duì)。正常發(fā)育的話,兒童的骨齡應(yīng)該在生理年齡(日歷年齡)的上下 10% 區(qū)間內(nèi)波動(dòng)。但也有例外,例如,孩子青春期的生長(zhǎng)突增可能會(huì)影響骨齡。因此,如果骨齡比生理年齡大幾年的話,該兒童就會(huì)提前停止生長(zhǎng),而如果骨骼比較「年輕」的話,則可能會(huì)出現(xiàn)延遲的生長(zhǎng)突增。此外,在給定身高和骨齡的情況下,你可以準(zhǔn)確預(yù)測(cè)這個(gè)孩子的成年身高,這也可以派上一些用場(chǎng):如果你的孩子喜歡籃球,你可能想知道他未來身高能否超過 7 英尺。
還有一些例外情況:骨齡和生理年齡嚴(yán)重不匹配是預(yù)示著身體出現(xiàn)問題,如成長(zhǎng)障礙和內(nèi)分泌問題等。骨齡只能告訴醫(yī)生患者在特定時(shí)間時(shí)骨骼的相對(duì)成熟度,還要和其他臨床指標(biāo)結(jié)合才能區(qū)分出是正常生長(zhǎng)還是生長(zhǎng)相對(duì)提前或遲緩。連續(xù)的骨齡讀數(shù)可以說明兒童的發(fā)育方向或治療進(jìn)展。通過評(píng)估骨齡,兒科醫(yī)生可以診斷兒童發(fā)育過程中的內(nèi)分泌和代謝紊亂問題,如骨發(fā)育不良或受營(yíng)養(yǎng)、代謝或其他未知因素影響的生長(zhǎng)缺陷,這可能會(huì)損害骨骺或骨質(zhì)成熟。在這種生長(zhǎng)遲緩情況下,骨齡和身高可能會(huì)有相同程度的延遲,但是經(jīng)過治療,此類兒童仍可達(dá)到正常成年人的身高。
綜上所述,兒科醫(yī)生常常會(huì)用 X 光照射兒童手部來評(píng)估其骨齡……所以自動(dòng)化是一個(gè)很大的問題。
讀手骨:從手掌和手腕評(píng)估骨齡
骨骼成熟度主要是通過骨骺中次級(jí)骨化中心的發(fā)育和骨化程度來評(píng)估的。幾十年來,評(píng)估骨骼成熟度通常是根據(jù)對(duì)手骨和手腕的骨骼發(fā)育情況進(jìn)行可視化評(píng)估來進(jìn)行的。以下是放射科醫(yī)生在查看手部 X 光片時(shí)看到的內(nèi)容:
現(xiàn)在評(píng)估骨齡的兩種最常用的技術(shù)是 Greulich-Pyle 法和 Tanner-Whitehouse(TW2)法。這兩種方法都是根據(jù)成熟度指標(biāo),用左手手掌和手腕的放射圖像評(píng)估骨骼成熟度,即管狀骨的骨骺從骨化的最早階段到它們和骨干融合的過程中放射影像呈現(xiàn)出的變化,或者是扁骨在變成成年人骨骼形狀之前在放射影像上呈現(xiàn)出來的變化……別擔(dān)心,我們?cè)诖酥耙矝]聽過這些。我們將這一過程展示在下圖中:
像 GP 或 TW2 這樣的傳統(tǒng)評(píng)估骨骼成熟度的技術(shù)耗時(shí)較久,從一定程度上說也太過主觀,因此一些高級(jí)的放射科醫(yī)生也不總是認(rèn)可這些結(jié)果。因此,使用計(jì)算機(jī)輔助診斷系統(tǒng)提升骨齡評(píng)估的準(zhǔn)確率、提高結(jié)果的可復(fù)現(xiàn)性以及臨床醫(yī)生的效率就變得很誘人了。
近期,一些基于深度學(xué)習(xí)的方法已經(jīng)證明在解決生物醫(yī)學(xué)領(lǐng)域的多個(gè)問題時(shí)性能優(yōu)于傳統(tǒng)的機(jī)器學(xué)習(xí)方法。而在醫(yī)學(xué)成像領(lǐng)域,卷積神經(jīng)網(wǎng)絡(luò)已經(jīng)成功應(yīng)用于糖尿病視網(wǎng)膜病變篩查、乳腺癌組織學(xué)成像分析、骨骼疾病預(yù)測(cè)以及一些其他問題中。如果你想深入了解這些應(yīng)用,請(qǐng)參閱我們之前的文章(https://medium.com/neuromation-io-blog/artificial-intelligence-technologies-could-help-solve-the-global-healthcare-crisis-441a51ac45b8)。
因此我們?cè)囍鴮F(xiàn)代深度神經(jīng)網(wǎng)絡(luò)架構(gòu)應(yīng)用于骨齡評(píng)估。下文將描述用全自動(dòng)深度學(xué)習(xí)方法解決骨齡評(píng)估問題的完整過程,我們所用的數(shù)據(jù)來自兒科骨齡估計(jì)挑戰(zhàn)賽(http://rsnachallenges.cloudapp.net/competitions/4),該比賽由北美放射學(xué)會(huì)(RSNA)舉辦。盡管我們的主要目標(biāo)是要獲得盡可能高的準(zhǔn)確率,但還是要保持系統(tǒng)的魯棒性,克服不同醫(yī)療中心的不同硬件所生成 X 光片的質(zhì)量問題和多樣性問題。
數(shù)據(jù)
數(shù)據(jù)集來自于舉辦了兒科骨齡挑戰(zhàn)賽 2017 的 RSNA。他們從斯坦福兒童醫(yī)院和科羅拉多兒童醫(yī)院獲取了放射圖像,這些圖像是在不同時(shí)間不同條件下用不同設(shè)備拍出來的。專業(yè)的兒科放射醫(yī)師對(duì)這些圖像進(jìn)行注釋,他們將這些圖像與 Greulich 和 Pyle 所著《手部骨骼發(fā)育放射圖解》進(jìn)行比較,并在報(bào)告中記錄骨齡。大賽組委會(huì)從這些報(bào)告中提取了骨齡信息,并將其作為模型訓(xùn)練的真值。
放射圖像在比例、方向、曝光等方面各不相同,而且通常會(huì)帶有特定的標(biāo)記。完整的 RSNA 數(shù)據(jù)集包含 12,611 個(gè)訓(xùn)練圖像、1,425 個(gè)驗(yàn)證圖像以及 200 個(gè)測(cè)試圖像。顯而易見測(cè)試集特別小,且在開發(fā)階段我們并不知道其標(biāo)簽,因此我們從訓(xùn)練集中取出 1000 張放射圖像,在這些圖像上對(duì)模型進(jìn)行測(cè)試。
訓(xùn)練數(shù)據(jù)包含 5778 名女性和 6833 名男性的放射圖像。他們的年齡從 1 個(gè)月到 228 個(gè)月不等,受試者多為 5 到 15 歲的兒童:
預(yù)處理 I:分割和對(duì)比
我們工作的關(guān)鍵貢獻(xiàn)之一是進(jìn)行了嚴(yán)格的預(yù)處理。為了防止模型因圖像偽影學(xué)習(xí)到錯(cuò)誤信息,我們首先通過圖像分割來移除圖像背景。
我們用 U-Net 深度架構(gòu)(https://arxiv.org/abs/1505.04597)進(jìn)行圖像分割。自 2015 年 U-Net 出現(xiàn)以來,它就成為分割任務(wù)中的主力。它由一個(gè)獲取上下文信息的收縮路徑(contracting path)和一個(gè)用于精準(zhǔn)定位的對(duì)稱擴(kuò)張路徑(symmetric expanding path)組成;因?yàn)楸疚闹黝}不是 U-Net,我們簡(jiǎn)單地展示一下其架構(gòu)即可,細(xì)節(jié)請(qǐng)參閱論文。
我們還在訓(xùn)練過程中使用了批歸一化使函數(shù)收斂。我們的算法使用的是廣義損失函數(shù)(generalized loss function)式中 H 是標(biāo)準(zhǔn)的二進(jìn)制交叉熵?fù)p失函數(shù),式中 y_i 是像素 i 的真值,是像素的預(yù)測(cè)概率,J 是 Jaccard 系數(shù)的可微泛化:。
我們通過移除小的無關(guān)的連接組件和均衡對(duì)比度完成了分割步驟。下圖是我們進(jìn)行預(yù)處理的流程:
如你所見,放射圖像的質(zhì)量和對(duì)比度有了顯著的提升。你可以到這里停止預(yù)處理,用我們的預(yù)處理方法和標(biāo)準(zhǔn)技術(shù)(如縮放和旋轉(zhuǎn))來增強(qiáng)訓(xùn)練集,然后訓(xùn)練一個(gè)標(biāo)準(zhǔn)的卷積神經(jīng)網(wǎng)絡(luò)用于分類或回歸。我們?cè)嚵诉@種方法,盡管結(jié)果不如我們的最終模型,但是也很令人滿意。
之前的 GP 和 TW 方法關(guān)注的是手骨的特定部位(包括指骨、掌骨和腕骨)。我們決定試著用這些信息,針對(duì)幾個(gè)解析度較高的特定區(qū)域分別訓(xùn)練模型,再評(píng)估和比較它們的性能。為了正確定位這些區(qū)域,我們要將所有圖的大小和位置轉(zhuǎn)換成一樣的,也就是說將它們放在相同的坐標(biāo)空間中,該過程通常被稱為圖像配準(zhǔn)(image registration)。
預(yù)處理 II:基于特征點(diǎn)進(jìn)行圖像配準(zhǔn)
我們的圖像配準(zhǔn)策略很簡(jiǎn)單:檢測(cè)手骨中幾個(gè)特征點(diǎn)的坐標(biāo),然后計(jì)算仿射變換參數(shù)(縮放、旋轉(zhuǎn)、平移和反射),使圖像與標(biāo)準(zhǔn)位置一致。
為了創(chuàng)建特征點(diǎn)模型的訓(xùn)練集,我們用 VGG 圖像注釋器(VIA)手動(dòng)標(biāo)注了 800 張放射影像。我們選擇了三個(gè)特征點(diǎn):第三根手指遠(yuǎn)端指骨的頂端,拇指遠(yuǎn)端指骨的頂端以及頭狀骨的中心。我們將特征點(diǎn)的像素坐標(biāo)作為回歸模型的訓(xùn)練目標(biāo)。
再說一次,特征點(diǎn)模型是受一系列 VGG 族模型啟發(fā)、通過深度卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)的回歸模型。VGG 模塊由兩個(gè)帶有指數(shù)線性單元激活、批歸一化和最大池化的卷積層組成。下圖是其架構(gòu):
該模型使用均方誤差(MSE)損失和 Adam 優(yōu)化器訓(xùn)練得到:
為了提升泛化性能,我們對(duì)輸入應(yīng)用了包括旋轉(zhuǎn)、平移和縮放在內(nèi)的標(biāo)準(zhǔn)增強(qiáng)。模型輸出 6 個(gè)坐標(biāo),即 3 個(gè)特征點(diǎn)中每個(gè)特征點(diǎn)有 2 個(gè)坐標(biāo)。
找到特征點(diǎn)后,我們就可以計(jì)算所有放射影像的仿射變換(縮放、旋轉(zhuǎn)、平移)。我們的目標(biāo)是在保持圖像縱橫比的情況下,將其調(diào)整到統(tǒng)一的位置:
1. 中指頂端水平對(duì)齊,在圖像上邊緣以下約 100 個(gè)像素處。
2. 頭狀骨水平對(duì)齊,在圖像下邊緣以上約 480 個(gè)像素處。
通常用左手的放射影像評(píng)估骨齡,但有時(shí)候數(shù)據(jù)集中的圖像會(huì)呈鏡像。為了檢測(cè)這些圖像并對(duì)其進(jìn)行適當(dāng)調(diào)整,我們使用拇指作為特征點(diǎn)。
來看一個(gè)圖像配準(zhǔn)模型起作用的例子。如你所見,手骨成功地旋轉(zhuǎn)到我們希望的標(biāo)準(zhǔn)位置了:
此處展示了更多經(jīng)過完整預(yù)處理的樣本。分割、歸一化以及配準(zhǔn)結(jié)果見第四行:
骨齡評(píng)估模型
遵循 Gilsanz 和 Ratib 的《Hand Bone Age: a Digital Atlas of Skeletal Maturity》,我們從經(jīng)過配準(zhǔn)的放射影像中選擇了三個(gè)特定區(qū)域,針對(duì)每一個(gè)區(qū)域訓(xùn)練了一個(gè)單獨(dú)的模型:
1. 完整的手骨;
2. 腕骨;
3. 掌骨和近端指骨。
下圖是真實(shí)放射影像中的上述區(qū)域以及相對(duì)應(yīng)的分割樣本:
卷積神經(jīng)網(wǎng)絡(luò)常用于分類任務(wù),但是骨齡評(píng)估本質(zhì)上是一個(gè)回歸問題:我們必須要預(yù)測(cè)年齡,而年齡是一個(gè)連續(xù)的變量。因此,我們需要比較兩種 CNN 架構(gòu)設(shè)置——回歸和分類。我們分別實(shí)現(xiàn)了二者,它們的參數(shù)和訓(xùn)練方法類似,區(qū)別只在于最后兩層。
我們的第一個(gè)模型是自定義的 VGG 架構(gòu),其輸出結(jié)果是回歸結(jié)果。網(wǎng)絡(luò)堆疊了 6 個(gè)卷積核大小分別為 32、64、128、256、384 的卷積模塊,接著是兩個(gè)有 2048 個(gè)神經(jīng)元的全連接層和一個(gè)輸出層(見下圖)。輸入的大小取決于需要預(yù)測(cè)的圖像區(qū)域。為了更好地進(jìn)行泛化,我們?cè)谌B接層之前應(yīng)用了 dropout 層。我們還重新調(diào)整了回歸目標(biāo)也就是骨齡的范圍,將其定在 [-1,1]。為了避免過擬合,我們還使用縮放、旋轉(zhuǎn)和位移等方式增強(qiáng)訓(xùn)練數(shù)據(jù)。該網(wǎng)絡(luò)是用 Adam 優(yōu)化器通過最小化平均絕對(duì)誤差(MAE)訓(xùn)練得到的:
第二個(gè)模型是分類模型,該模型和回歸模型很像,只是最后兩層不同。一個(gè)主要的區(qū)別是分配給每個(gè)骨齡的類別不同。在數(shù)據(jù)集中,骨齡是以月為單位的,所以我們可以將其視為 240 類,將倒數(shù)第二層變成有 240 個(gè)輸出的 softmax 層。這一層輸出的是概率的向量,這里的類別概率真值范圍在 [0,1] 區(qū)間內(nèi)。最后一層中,概率向量與不同骨齡的向量 [1,…,239,240] 相乘。因此,該模型會(huì)輸出骨齡的期望值。我們用和回歸模型同樣的訓(xùn)練方法訓(xùn)練了這個(gè)模型。
下圖是分類模型的架構(gòu),除了多了 softmax 層和分箱層(binning layer)外,其他和回歸模型相同:
結(jié)果
我們從訓(xùn)練集中取出 1000 張放射圖像作為驗(yàn)證集來評(píng)估模型。遵循 GP 和 TW 方法將性別考慮在內(nèi),對(duì)每個(gè)空間區(qū)域我們都針對(duì)性別訓(xùn)練了性別特定模型,并與在整個(gè)數(shù)據(jù)集上訓(xùn)練得到的不區(qū)分性別的模型做了比較。以下是結(jié)果總結(jié):
結(jié)果證明在輸入中添加性別可以將模型準(zhǔn)確率平均提高 1.4 個(gè)月。最左邊這一列表示針對(duì)兩個(gè)性別的回歸模型的表現(xiàn)。掌骨和近端指骨區(qū)域(區(qū)域 C)的 MAE 為 8.42 個(gè)月,整個(gè)手骨(區(qū)域 A)的 MAE 為 8.08 個(gè)月。對(duì)這三個(gè)區(qū)域進(jìn)行線性集成可以將準(zhǔn)確率提高到 7.52 個(gè)月(表中最后一行)。
性別特定的回歸模型(第二列和第三列)將針對(duì)男性的模型的 MAE 改善為 6.30 個(gè)月,將針對(duì)女性的模型的 MAE 改善到 6.49。需要注意的是,就女性而言,掌骨和近端指骨區(qū)域的 MAE 為 6.79 個(gè)月,甚至比對(duì)整個(gè)手骨進(jìn)行預(yù)測(cè)的結(jié)果還準(zhǔn)確,后者的 MAE 僅為 7.12 個(gè)月。
性別特定的分類模型(第四列和第五列)的結(jié)果比回歸模型的結(jié)果略好,它們的 MAE 分別為 6.16 個(gè)月和 6.39 個(gè)月(最后一行)。
最后,在第六列,我們將所有性別特定的模型(分類和回歸)進(jìn)行集成。在驗(yàn)證集上,集成模型得到的準(zhǔn)確率為 6.10 個(gè)月,這也是當(dāng)前最佳的結(jié)果,無論從骨齡評(píng)估挑戰(zhàn)賽還是從實(shí)際應(yīng)用來看,這都是一個(gè)很好的結(jié)果。
結(jié)論
本文介紹了如何開發(fā)可以準(zhǔn)確評(píng)估骨骼成熟度的自動(dòng)骨齡評(píng)估系統(tǒng),該系統(tǒng)可以得到與放射科專家相似或更好的結(jié)果。我們?cè)u(píng)估了手骨不同區(qū)域,發(fā)現(xiàn)可以僅對(duì)掌骨和近端指骨進(jìn)行評(píng)估,得到的結(jié)果與對(duì)整個(gè)手骨進(jìn)行評(píng)估的結(jié)果相差無幾。為了克服放射圖像的質(zhì)量和多樣性問題,我們引入了嚴(yán)格的清理和標(biāo)準(zhǔn)化過程,以顯著增強(qiáng)模型的魯棒性和準(zhǔn)確率。
我們的模型有極大的潛力部署在臨床環(huán)境中,幫助臨床醫(yī)生實(shí)時(shí)判斷骨齡。這可以保證在患病兒童出現(xiàn)成長(zhǎng)障礙時(shí)能進(jìn)行及時(shí)的診斷和治療。