張順雨 胡駿 林勇
關(guān)鍵詞:顱骨畸形;集成學(xué)習(xí);圖像處理;分類預(yù)測
0 引言(Introduction)
顱骨畸形[1]并不僅僅是外觀問題,更是影響兒童健康發(fā)育的重要因素。顱骨畸形會(huì)改變嬰幼兒面部形態(tài),嚴(yán)重的畸形可能影響大腦發(fā)育,造成發(fā)育滯后的問題。顱縫早閉[2]是導(dǎo)致顱骨變形的常見原因,全球每10 000名新生兒中就有3.1~6.4人患病。目前,我國對(duì)兒童顱骨畸形的診斷和治療未有統(tǒng)一標(biāo)準(zhǔn),診斷方法包括手工測量和CT臨床檢測以及近期出現(xiàn)的光學(xué)三維建模技術(shù),手工測量和臨床檢測存在速度慢、過于依賴醫(yī)生經(jīng)驗(yàn)、患兒配合性差且測量精度不高等問題,光學(xué)三維建模診斷的精度也較難保證,CT圖像具有較高精度,但也需要依賴檢驗(yàn)醫(yī)生讀片診斷[3]。因此,設(shè)計(jì)一套能夠自動(dòng)對(duì)獲得的CT數(shù)據(jù)進(jìn)行自動(dòng)分類預(yù)測的模型,用于對(duì)兒童顱骨圖像的高精度分類預(yù)測,這對(duì)通過早發(fā)現(xiàn)、早診斷、早手術(shù)進(jìn)而實(shí)現(xiàn)挽救患兒生命和改善癥狀直至徹底治愈具有重要意義。
1 研究現(xiàn)狀(Research status)
目前,機(jī)器學(xué)習(xí)在醫(yī)學(xué)圖像領(lǐng)域的應(yīng)用越來越廣泛,但將機(jī)器學(xué)習(xí)用于顱骨畸形的研究并不多見,YOU等[4]使用遷移學(xué)習(xí)方法從CT圖像自動(dòng)分類顱骨畸形,該方法首先從CT圖像切片中分割3D顱骨,通過半球投影將3D顱骨投影到二維空間以獲得二值圖像并進(jìn)行數(shù)據(jù)擴(kuò)充;其次在生成的數(shù)據(jù)集上對(duì)預(yù)訓(xùn)練的深度學(xué)習(xí)模型進(jìn)行微調(diào),最終在數(shù)據(jù)集上的預(yù)測準(zhǔn)確度達(dá)到了90%以上。SABETI等[5]將機(jī)器學(xué)習(xí)技術(shù)應(yīng)用于新生兒顱縫早閉識(shí)別研究,頭部邊界采用GrabCut算法進(jìn)行分割和識(shí)別,然后計(jì)算人體測量指標(biāo),如顱骨指數(shù)(CI)、顱頂不對(duì)稱指數(shù)(CVAI)、前中線寬度比(AMWR)、前后寬度比(APWR)、左右高度比(LRHR);分類器采用KNN(K-NearestNeighbors)、支持向量機(jī)(SVM)[6]、隨機(jī)森林和Bagging集成學(xué)習(xí),預(yù)測準(zhǔn)確率為0.85~0.92。此研究提出了5個(gè)常見的數(shù)值測量特征,為了進(jìn)一步豐富對(duì)頭顱畸形進(jìn)行量化的數(shù)值特征,LEI等[7]使用SVM和高斯徑向基函數(shù)考慮了非線性超平面,采用留一法交叉驗(yàn)證優(yōu)化軟間隔參數(shù)和高斯寬度;結(jié)合2D和3D形狀指數(shù)索引對(duì)顱骨畸形進(jìn)行預(yù)測,準(zhǔn)確率達(dá)到了0.958。但是,該研究只進(jìn)行了單一模型的預(yù)測,其精度還有一定的提升空間。
針對(duì)上述研究的不足,本文設(shè)計(jì)了一套基于Stacking方法構(gòu)建的異構(gòu)分類器模型,并利用圖像處理的方式從CT數(shù)據(jù)集中提取出包括CI、CVAI、AMWR、WPWR、LRHR等9個(gè)量化特征,選用SVM、KNN、隨機(jī)森林(RandomForest)、XGBoost作為初級(jí)分類器,隨機(jī)森林作為次級(jí)分類器進(jìn)行集成。實(shí)驗(yàn)結(jié)果表明,本文構(gòu)建的分類模型和量化特征在精度和分類性能上均優(yōu)于之前的研究。
2 材料與方法(Materials and methods)
2.1 數(shù)據(jù)集介紹
本研究使用的數(shù)據(jù)集來自項(xiàng)目合作醫(yī)院提供的463例兒童顱骨CT掃描數(shù)據(jù)集,年齡分布為0~9歲,其中100例為患有顱縫早閉而導(dǎo)致顱骨畸形的頭部3D計(jì)算機(jī)斷層掃描(CT)數(shù)據(jù),其余363例為正常的頭顱CT數(shù)據(jù)。
2.2CT圖像處理
為了從原始的CT圖像數(shù)據(jù)集中提取所需的數(shù)值特征,需要進(jìn)行一系列的數(shù)字圖像操作,具體步驟如下。
為了完整地提取到頭顱模型的顱骨特征,并對(duì)所有樣本進(jìn)行標(biāo)準(zhǔn)化處理,需要將原始的CT掃描切片進(jìn)行面繪制,生成pcd格式的3D模型。由于拍攝環(huán)境存在噪聲[圖1(a)],因此需要對(duì)提取到的pcd數(shù)據(jù)進(jìn)行過濾。本文將最大聯(lián)通區(qū)域提取算法[8]應(yīng)用到點(diǎn)云數(shù)據(jù)中,結(jié)果如圖1(b)所示。本研究的興趣區(qū)域僅為頭顱部分,有別于臨床研究中的頭顱劃分方式,利用開源庫PCL(Point Cloud Library)進(jìn)行點(diǎn)云運(yùn)算,提取出3D模型中的z 軸中點(diǎn)以上的點(diǎn)云數(shù)據(jù)并保存[圖1(c)]??紤]到原始模型中,異常數(shù)據(jù)僅為100例,對(duì)異常模型的pcd數(shù)據(jù)進(jìn)行逐層抽樣[圖1(d)],用此方案擴(kuò)充后的顱骨畸形樣本量達(dá)到323例,與正常顱骨樣本363例的數(shù)據(jù)量基本平衡。
為了方便后續(xù)的機(jī)器學(xué)習(xí)和特征提取,需要將三維空間中記錄的pcd點(diǎn)云數(shù)據(jù)投影到2D平面中。在提取圖像的數(shù)值特征時(shí),為了避免因圖像像素不同而造成的誤差,將所有圖像歸一化為512×512的像素大小。采用隨機(jī)翻轉(zhuǎn)和旋轉(zhuǎn)的方式對(duì)原始數(shù)據(jù)集進(jìn)行擴(kuò)充,擴(kuò)充后的數(shù)據(jù)集大小為正常頭顱圖像樣本969例、畸形頭顱樣本1 164例。
2.3 特征提取
為了區(qū)別由顱縫早閉造成的顱骨畸形和正常顱骨,研究人員參考了目前針對(duì)顱骨畸形的研究文獻(xiàn),提出了9個(gè)數(shù)值特征,包括描述正常顱骨和變形顱骨之間突出區(qū)域的判別形狀特征的4個(gè)指數(shù)CR、CPS、CES、NCES,以及5個(gè)顱骨測量指數(shù)CI、CVAI、AMWR、APWR、LRHR;9個(gè)數(shù)值特征名稱及其描述如表1所示。
2.4 特征預(yù)處理與分析
提取特征之后,為了保證數(shù)據(jù)應(yīng)用于模型的適用性,并減少數(shù)據(jù)噪聲和異常值對(duì)模型精度和可靠性的影響,特進(jìn)行了數(shù)據(jù)清洗、特征差異分析和正態(tài)分布糾正等操作。
本文采用Tukey方法[9]去除異常值,計(jì)算數(shù)據(jù)上下四分位數(shù)(Q1,Q3)和四分位距(IQR),根據(jù)Tukey的規(guī)則將位于1.5倍IQR之外的數(shù)據(jù)點(diǎn)視為極端值,將其從數(shù)據(jù)中刪除。將去除異常值后的數(shù)據(jù)繪制成箱線圖,來進(jìn)行正常和異常樣本的特征差異分析,數(shù)據(jù)清洗后樣本箱線圖如圖2所示,從圖2中可見,多數(shù)特征具有較高的區(qū)分度,表明所選特征對(duì)于區(qū)分正常樣本和異常樣本是有效的。
顱骨畸形描述特征屬于隨機(jī)變量,從統(tǒng)計(jì)學(xué)的角度看,隨機(jī)變量的分布應(yīng)該滿足正態(tài)分布,通常用偏度和峰度作為衡量數(shù)據(jù)符合正態(tài)分布形態(tài)的指標(biāo)。由于樣本數(shù)據(jù)量有限和人為進(jìn)行的數(shù)據(jù)增強(qiáng),造成樣本分布很難滿足正態(tài)分布的要求,導(dǎo)致直接針對(duì)原始的數(shù)據(jù)集進(jìn)行建模效果不佳,需要對(duì)數(shù)據(jù)進(jìn)行正態(tài)分布糾正,以進(jìn)一步提高模型的準(zhǔn)確性和實(shí)用性。
分位數(shù)歸一化轉(zhuǎn)換法[10]可以將數(shù)據(jù)轉(zhuǎn)換為具有類似正態(tài)分布的形狀而不考慮特定的概率分布函數(shù)。該方法使用數(shù)據(jù)經(jīng)驗(yàn)分布的分位數(shù)(數(shù)據(jù)集中的百分比位置上的數(shù)值),具體來說:該轉(zhuǎn)換法首先計(jì)算輸入數(shù)據(jù)的經(jīng)驗(yàn)分布函數(shù),并將其映射到均勻分布。然后應(yīng)用逆變換函數(shù)將均勻分布映射到目標(biāo)分布。將數(shù)據(jù)轉(zhuǎn)換為正態(tài)分布時(shí),轉(zhuǎn)換的目標(biāo)分布是正態(tài)分布。正態(tài)糾正后樣本分布統(tǒng)計(jì)表如表2所示。其中,偏度越接近0,則越接近正態(tài)分布,峰度為正表示數(shù)據(jù)分布更加陡峭或集中,而峰度為負(fù)表示分布更加平坦或散開。由表2可知,大部分特征經(jīng)過糾正后基本能符合正態(tài)分布。
2.5 畸形分類模型構(gòu)建
集成學(xué)習(xí)通過合并多個(gè)學(xué)習(xí)器進(jìn)一步提升預(yù)測準(zhǔn)確性。本文采用Stacking[11]集成的方式,首先從原始訓(xùn)練集訓(xùn)練出初級(jí)學(xué)習(xí)器,其次將初級(jí)學(xué)習(xí)器的預(yù)測結(jié)果作為新的數(shù)據(jù)集訓(xùn)練次級(jí)學(xué)習(xí)器。在新的數(shù)據(jù)集中,初級(jí)學(xué)習(xí)器的輸入作為輸入特征,而樣本標(biāo)記與原始數(shù)據(jù)集中的樣本標(biāo)記一致,本文使用的初級(jí)學(xué)習(xí)器使用不同的學(xué)習(xí)算法產(chǎn)生,即初級(jí)集成是異構(gòu)的。在訓(xùn)練階段,次級(jí)訓(xùn)練集是用初級(jí)學(xué)習(xí)器生成的,若直接用全部的原始數(shù)據(jù)集訓(xùn)練次級(jí)訓(xùn)練集,就會(huì)增大過擬合的風(fēng)險(xiǎn),本實(shí)驗(yàn)采用k折交叉驗(yàn)證的方式生成次級(jí)訓(xùn)練集,具體過程如下。
為了使每次劃分的訓(xùn)練集足夠大,本文將初始訓(xùn)練集D隨機(jī)劃分成k 個(gè)大小相同的子集D1,D2,…,Dk。Dj 表示第j折的測試集,DJ 表示第j 折的訓(xùn)練集,其表示如下:
本文給定T 個(gè)初級(jí)學(xué)習(xí)算法,初級(jí)分類器l(j) t 為在訓(xùn)練集DJ 上使用第t 個(gè)分類算法所得。其中,Dj 中的每個(gè)樣本xi為計(jì)算出的9維特征向量。初級(jí)分類器的預(yù)測結(jié)果為pit,表示如下:
由xi 產(chǎn)生的次級(jí)訓(xùn)練樣本集示例為pi=(pi1,pi2,pi3,…,piT ),標(biāo)記部分yi 為樣本的類別,其中正常樣本標(biāo)記為0,異常樣本標(biāo)記為1。于是,在整個(gè)交叉驗(yàn)證過程結(jié)束后,從T 個(gè)分類器產(chǎn)生的次級(jí)訓(xùn)練數(shù)據(jù)集如下:
將D'用于訓(xùn)練次分類器STi,本實(shí)驗(yàn)預(yù)選的次級(jí)分類算法的集合如表3所示,將選擇預(yù)測精度最高的預(yù)選次級(jí)分類算法訓(xùn)練次級(jí)分類器,最終得到本文基于Stacking的異構(gòu)分類器。
2.6 評(píng)估指標(biāo)
為驗(yàn)證不同分類模型的有效性,本文采用準(zhǔn)確率(Accuracy)、查準(zhǔn)率(Precision)、召回率(Recall)和F1度量對(duì)不同的模型進(jìn)行評(píng)估。
對(duì)于二分類問題,TP 為真陽性,表示頭顱畸形的樣本預(yù)測結(jié)果也是畸形的;TN 為真陰性,表示頭顱正常的樣本預(yù)測結(jié)果也是正常的;FP 為假陽性,表示將正常的樣本預(yù)測為畸形;FN 為假陰性,表示將畸形的樣本預(yù)測為正常。
3 實(shí)驗(yàn)結(jié)果與分析(Experimental result andanalysis)
對(duì)本文使用的初級(jí)分類器進(jìn)行十折交叉驗(yàn)證,計(jì)算準(zhǔn)確率、查準(zhǔn)率、召回率和F1度量在10次驗(yàn)證過程中的平均得分以及標(biāo)準(zhǔn)差,初級(jí)分類性能評(píng)價(jià)指標(biāo)得分均值與標(biāo)準(zhǔn)差(x±s)如表3所示。
由表3可知,排名前4的初級(jí)分類器分別為SVM、KNN、RandomForest、XGBoost,其精度分別約為0.822、0.955、0.859、0.912,性能優(yōu)于其余的候選分類器。用排名最靠前的4個(gè)異構(gòu)的初級(jí)分類器對(duì)原始訓(xùn)練集進(jìn)行預(yù)測,將預(yù)測的結(jié)果作為新的訓(xùn)練集用于訓(xùn)練次級(jí)分類器,并選出性能最優(yōu)的次級(jí)分類器。次級(jí)分類器性能評(píng)價(jià)指標(biāo)得分及標(biāo)準(zhǔn)差如表4所示。由表4中的數(shù)據(jù)可以看出,當(dāng)用RandomForest作為次級(jí)分類器時(shí),集成學(xué)習(xí)分類器的準(zhǔn)確率約為0.984,相比其他次級(jí)分類器SVM(準(zhǔn)確率約為0.981)、LR(準(zhǔn)確率約為0.982)、Tree(準(zhǔn)確率約為0.981),分別提升了0.003、0.002、0.003。
相比僅使用單一分類的模型中準(zhǔn)確率最高,本文所提模型的精度則至少提升了0.1左右。綜合以上數(shù)據(jù),本文提出的將SVM、KNN、RandomForest、XGBoost作為初級(jí)分類器,將RandomForest作為次級(jí)分類器的Stacking方法所集成的異構(gòu)分類器的性能最優(yōu),精度約為0.984,準(zhǔn)確率約為0.986,召回率約為0.979,F(xiàn)1得分約為0.982。為了更清楚地比較上述次級(jí)分類器和集成分類器的性能,特繪制出各分類器的ROC(受試者工作特征)曲線以及PR (查準(zhǔn)率-查全率)曲線(圖3)。ROC 曲線邊界越靠近左上角邊界,AUC(曲線下面積)值越大,就表示分類器性能越好,PR 曲線直觀地展示了學(xué)習(xí)器在總體樣本上的準(zhǔn)確率和召回率。由圖3可見Stacking異構(gòu)分類器的PR 曲線完全包住了其余分類器,可以判斷Stacking分類器的性能最優(yōu)。
4 結(jié)論(Conclusion)
本研究實(shí)現(xiàn)了一種用于自動(dòng)判斷顱骨畸形的集成學(xué)習(xí)方法,該方法首先對(duì)原始的CT圖像數(shù)據(jù)集進(jìn)行格式轉(zhuǎn)化,然后進(jìn)行3D模型清洗、興趣區(qū)域提取、類別平衡、2D投影及數(shù)據(jù)擴(kuò)充等一系列圖像處理工作,利用數(shù)字圖像處理的方式提取出用于訓(xùn)練畸形判別分類模型的9個(gè)數(shù)值特征,并構(gòu)建訓(xùn)練集和測試集,最后對(duì)比了9種常見的初級(jí)分類器在訓(xùn)練集上進(jìn)行十折交叉驗(yàn)證的評(píng)價(jià)得分,選出了SVM、KNN、RandomForest、XGBoost四種性能最優(yōu)的初級(jí)分類器,用于訓(xùn)練次級(jí)訓(xùn)練器所需的新的訓(xùn)練集,并在新的訓(xùn)練集上選出最佳的次級(jí)分類器,至此構(gòu)建了初級(jí)分類器為SVM、KNN、RandomForest、XGBoost,次級(jí)分類器為RandomForest的Stacking異構(gòu)集成學(xué)習(xí)分類模型。實(shí)驗(yàn)結(jié)果表明,本文實(shí)現(xiàn)的基于Stacking的異構(gòu)集成學(xué)習(xí)分類模型能夠很好地區(qū)別頭顱畸形樣本和正常樣本,并且與單一分類模型相比精度更高、性能更好。
受限于項(xiàng)目初期樣本量,本文僅嘗試了基于機(jī)器學(xué)習(xí)的分類方法,在后期樣本量得到擴(kuò)充后,將進(jìn)一步研究深度學(xué)習(xí)的應(yīng)用場景,以期進(jìn)一步提高分類模型的泛化能力。對(duì)于建立的分類模型,將結(jié)合攝影測量技術(shù),對(duì)采集到的攝影圖像進(jìn)行分類判別,實(shí)現(xiàn)對(duì)兒童顱骨畸形的早篩。