郭子昇,王吉芳
(北京信息科技大學(xué) 機(jī)電工程學(xué)院,北京 100192)
骨骼疾病是人類五大常見(jiàn)疾病之一,困擾全球約15億人,競(jìng)技體育、交通事故等都可能致使骨骼損傷,易損傷部位包括肱骨、手骨、腿骨、肩骨等。伴隨“智慧骨科”概念的提出,基于人工智能和大數(shù)據(jù)技術(shù)的機(jī)器人輔助骨科疾病診療成為一種發(fā)展趨勢(shì)。對(duì)不同骨骼區(qū)域的診療首先需要對(duì)骨骼X光片進(jìn)行歸類,訓(xùn)練一種智能化骨骼區(qū)域X光片圖像分類器,可以減少人為操作誤差,大大加快歸類速度,也有助于提高骨骼疾病診療效果,為建立標(biāo)準(zhǔn)化診療奠定基礎(chǔ)。
在計(jì)算機(jī)視覺(jué)、圖像分類的研究中,已產(chǎn)生了一些基本模式,即從圖像特征的提取到分類器的選擇。傳統(tǒng)的經(jīng)典分類器有支持向量機(jī)(support vector machine,SVM)、高斯混合模型(Gaussian mixed model,GMM)、k鄰近(k-nearest neighbor,k-NN)等[1]。
Yann LeCun[2]1998年提出了卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN),基于CNN的分類器是仿照人類腦神經(jīng)網(wǎng)絡(luò)的感知機(jī)理訓(xùn)練而成的深度學(xué)習(xí)分類器。深度學(xué)習(xí)是在人工神經(jīng)網(wǎng)絡(luò)基礎(chǔ)上發(fā)展起來(lái)的新技術(shù)[3],其深度卷積網(wǎng)絡(luò)端對(duì)端的模型結(jié)構(gòu)直接關(guān)聯(lián)輸入與輸出信息,可有效降低操作難度并取得顯著效果[4],為智能分類器的設(shè)計(jì)提供了基礎(chǔ)。Alex等提出的AlexNet網(wǎng)絡(luò)減少了全連接層的過(guò)擬合,實(shí)現(xiàn)了高效卷積運(yùn)算,但拓展性較差。牛津大學(xué)[5]提出VGGNet網(wǎng)絡(luò),其具有降低錯(cuò)誤率、增強(qiáng)拓展性的優(yōu)勢(shì),但網(wǎng)絡(luò)結(jié)構(gòu)較為固化,不易優(yōu)化。Szegedy C.等[6]提出模塊化的網(wǎng)絡(luò)結(jié)構(gòu)GoogLeNet,K.He 等[7]提出一種深度殘差網(wǎng)絡(luò)結(jié)構(gòu)ResNet,這些結(jié)構(gòu)易于修改和擴(kuò)展,在不加大計(jì)算量的同時(shí)提高了網(wǎng)絡(luò)性能。
在圖像識(shí)別、分類的應(yīng)用上,MobileNet 系列更具代表性,Howard等[8]設(shè)計(jì)了一種利用深度卷積構(gòu)造的輕量級(jí)網(wǎng)絡(luò)MobileNetV1,可以有效地在延遲和準(zhǔn)確性之間權(quán)衡;Sandler M等[9]提出MobileNetV2網(wǎng)絡(luò),其引入倒殘差結(jié)構(gòu),可適應(yīng)不同尺寸的圖像并在低精度計(jì)算下具有強(qiáng)魯棒性;之后Andrew Howard[10]等提出了MobileNetV3網(wǎng)絡(luò),其增添了互補(bǔ)搜索技術(shù)組合,開(kāi)展網(wǎng)絡(luò)設(shè)計(jì)和自動(dòng)搜索算法在互補(bǔ)利用方面的研究,以提高整體技術(shù)水平并增強(qiáng)計(jì)算能力。
現(xiàn)有的圖像分類器在不同骨骼區(qū)域的智能化分類任務(wù)上面臨許多難點(diǎn),如骨骼影像中各組織結(jié)構(gòu)之間分界線不清晰;骨骼影像分析比場(chǎng)景圖像更復(fù)雜,其復(fù)雜紋理、細(xì)粒度圖像識(shí)別等特征有別于自然圖像特征;由于同一骨骼區(qū)域的人體攝像位置、姿勢(shì)不同,導(dǎo)致骨骼成像形態(tài)各異等。針對(duì)骨骼影像的復(fù)雜情況,本文基于MobileV3 large網(wǎng)絡(luò)建立了一個(gè)智能化骨骼圖像分類器,首先對(duì)骨骼X光片進(jìn)行紋理增強(qiáng)處理,然后集成MobileNet系列歷代網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)勢(shì),采用深度可分離卷積代替?zhèn)鹘y(tǒng)卷積形式,有效利用互補(bǔ)搜索技術(shù)組合,同時(shí)引入基于輕量級(jí)網(wǎng)絡(luò)的殘差結(jié)構(gòu)。所構(gòu)建的分類器對(duì)骨骼圖像紋理特征進(jìn)行逐層的深度學(xué)習(xí),魯棒性強(qiáng),泛化能力好;同時(shí)提高了網(wǎng)絡(luò)性能,降低了數(shù)據(jù)成本。在MURA數(shù)據(jù)集上的訓(xùn)練測(cè)試表明,該分類器能夠?qū)崿F(xiàn)對(duì)人體不同骨骼區(qū)域的快速識(shí)別和精準(zhǔn)分類。
文獻(xiàn)[10]對(duì)多種神經(jīng)網(wǎng)絡(luò)檢測(cè)模型及其準(zhǔn)確率進(jìn)行了對(duì)比分析,由其可知MobileNetV3的分類性能最優(yōu)。MobileNetV3 large作為MobileNetV3的最新版改進(jìn)網(wǎng)絡(luò)結(jié)構(gòu),其參數(shù)量更小,故本文將MobileNetV3 large網(wǎng)絡(luò)應(yīng)用至骨骼區(qū)域分類中。
針對(duì)骨骼X光片具有復(fù)雜紋理、細(xì)粒度圖像識(shí)別等特征、各組織結(jié)構(gòu)之間分界線不清晰等問(wèn)題,為增強(qiáng)數(shù)據(jù)集質(zhì)量,對(duì)其進(jìn)行局部二值模式(local binary pattern,LBP)旋轉(zhuǎn)不變紋理增強(qiáng)處理,然后充分利用MobileNetV3 large中輕量級(jí)注意力機(jī)制(efficient attention module,EAM)的優(yōu)點(diǎn),使網(wǎng)絡(luò)對(duì)圖像的增強(qiáng)區(qū)域紋理特征識(shí)別更富有針對(duì)性,促使紋理增強(qiáng)特征被EAM進(jìn)一步深度聚焦,并縮減圖片像素值,使訓(xùn)練、預(yù)測(cè)速度加快,本文應(yīng)用兩種LBP算子對(duì)骨骼影像集進(jìn)行紋理增強(qiáng)。
圓形LBP算子為
(1)
旋轉(zhuǎn)不變LBP算子為
(2)
式中:p為圓形域P個(gè)采樣點(diǎn)中第p個(gè)采樣點(diǎn);i(c)為中心像素灰度值;i(p)為圓形邊界像素的第p個(gè)灰度值。
為了使分類器性能和輸入數(shù)據(jù)的復(fù)雜度之間取得平衡,配合紋理增強(qiáng)引入EAM可以調(diào)整每個(gè)通道的權(quán)重,可使網(wǎng)絡(luò)在復(fù)雜度不變的情況下性能有較大的提升[11]。
MobileNet網(wǎng)絡(luò)訓(xùn)練速度快,為了減少網(wǎng)絡(luò)參數(shù),采用深度可分離卷積結(jié)構(gòu)(depthwise separable convolution,Dwise Conv),如圖1所示。
圖1 深度可分離卷積結(jié)構(gòu)
Dwise Conv為分層卷積,在其之后都會(huì)接一個(gè)1×1的卷積進(jìn)行通道處理,同時(shí)設(shè)置一平均池化層為全連接層。將一個(gè)完整的卷積運(yùn)算分解為深度切除卷積過(guò)濾與逐點(diǎn)卷積過(guò)濾兩步進(jìn)行。結(jié)構(gòu)所需參數(shù)為:16(輸入通道數(shù))×1×1(卷積核大小)×32(輸出通道數(shù))+16(輸入通道數(shù))×3×3(內(nèi)核大小)=656個(gè)。
基于MobileNetV3 large網(wǎng)絡(luò)的分類器融合了MobileNetV1的深度可分離卷積,在輸入1×1卷積進(jìn)行升維后,再進(jìn)行3×3深度可分離卷積;融合了MobileNetV2的具有線性瓶頸的逆殘差結(jié)構(gòu),如圖2所示,先利用1×1卷積進(jìn)行升維度,再進(jìn)行逆殘差操作,并加入由池化和全連接層構(gòu)成的注意力機(jī)制;在計(jì)算和參數(shù)量受限的前提下,又融合了MobileNetV3的互補(bǔ)搜索技術(shù)組合,有效利用平臺(tái)感知網(wǎng)絡(luò)附屬存儲(chǔ)(platform-aware NAS)搜索網(wǎng)絡(luò)的各個(gè)模塊,再使用Net Adapt對(duì)各個(gè)模塊的網(wǎng)絡(luò)層進(jìn)行微調(diào),利用其對(duì)每層的核數(shù)量進(jìn)行優(yōu)化,達(dá)到模塊級(jí)搜索。
圖2 Bneck結(jié)構(gòu)
利用h-swish代替swish函數(shù),進(jìn)一步減少運(yùn)算量并提高性能。h-swish激活函數(shù)為
(3)
式中:x為輸入值;ReLU6為限制最大輸出為6的ReLU激活函數(shù)。
瓶頸殘差結(jié)構(gòu)融合深度可分離卷積結(jié)合h-swish激活函數(shù)的集成改進(jìn)網(wǎng)絡(luò),既可減少骨骼分類模型參數(shù),降低計(jì)算量,又可增強(qiáng)梯度傳播,減少推理期間所需的占用內(nèi)存,有效解決網(wǎng)絡(luò)訓(xùn)練中梯度消失、爆炸等問(wèn)題。
在圖像分類中,準(zhǔn)確率、損失率、錯(cuò)誤率、靈敏度等為常見(jiàn)評(píng)價(jià)指標(biāo),對(duì)特定分類器而言需要針對(duì)性地提高某些指標(biāo)。在骨骼區(qū)域的分類識(shí)別中,平均準(zhǔn)確率、損失率和計(jì)算速度顯得尤為重要,本文以其為評(píng)判標(biāo)準(zhǔn),驗(yàn)證模型針對(duì)骨骼區(qū)域的分類性能。
本實(shí)驗(yàn)平臺(tái)搭建在x64處理器的Windows10操作系統(tǒng),仿真環(huán)境采用tensorflow2.1.0,編程語(yǔ)言為 Python3.7,平臺(tái)為 PyCharm2019.3.3,CPU使用Intel(R)Core(TM)i7-9750H,GPU使用Inter(R)UHD Graphics 630,運(yùn)行內(nèi)存為8 GB。
本文采用斯坦福大學(xué)于2018年發(fā)布的世界最大骨X光片數(shù)據(jù)集MURA進(jìn)行實(shí)驗(yàn)。該數(shù)據(jù)集的共享促使骨骼診療領(lǐng)域向機(jī)器智能和診療標(biāo)準(zhǔn)化的方向邁進(jìn)[12],其收集了近13 000名不同年齡性別人類的40 895張骨骼X光片圖像[13],如圖3所示。
圖3 MURA數(shù)據(jù)集構(gòu)成與分布
MURA包含了肘、手指、前臂、手掌、肱骨、肩膀、手腕等部位的X光片,圖中0~6即依次對(duì)應(yīng)這7類骨骼X光片圖像,其中腕部圖像最多,肱骨圖像最少,共含有訓(xùn)練集圖片36 808張,測(cè)試集圖片3 197張,其中7類X光片圖像示例如圖4所示。
圖4 數(shù)據(jù)集圖像示例
2.4.1 數(shù)據(jù)處理與標(biāo)簽
對(duì)數(shù)據(jù)集依次進(jìn)行LBP與旋轉(zhuǎn)不變LBP紋理增強(qiáng)處理,處理后各類圖像如圖5所示。建立測(cè)試集與訓(xùn)練集的文件,對(duì)其7類骨骼圖片進(jìn)行csv文件自動(dòng)歸類并給予標(biāo)簽處理,本實(shí)驗(yàn)標(biāo)簽為0-肘、1-手指、2-前臂、3-手掌、4-肱骨、5-肩膀、6-手腕。
圖5 紋理增強(qiáng)處理
2.4.2 分類器訓(xùn)練及預(yù)測(cè)
本文使用所構(gòu)建的改進(jìn)MobileNetV3 large分類器,對(duì)紋理增強(qiáng)處理后的骨骼X光片數(shù)據(jù)集分別進(jìn)行了20輪和50輪的訓(xùn)練,每次按順序?qū)?張圖片喂入網(wǎng)絡(luò),類別數(shù)為7,調(diào)整圖片的寬高皆為224,訓(xùn)練圖片采用三通道;為了增強(qiáng)模型的泛化能力,使用rescale對(duì)圖片的每個(gè)像素值均乘上1/255的縮放因子;為了避免神經(jīng)元失活,把像素的值放縮到0和1之間進(jìn)一步使模型收斂。多分類實(shí)驗(yàn)在“flow_from_directory()”加載圖片數(shù)據(jù)流時(shí),將參數(shù)“class_mode”設(shè)為“categorical”,初始學(xué)習(xí)率設(shè)為0.000 1,并配置optimizers.Adam優(yōu)化器,使其動(dòng)態(tài)地減小學(xué)習(xí)率,以實(shí)現(xiàn)效率和效果兼得。結(jié)合fit_generator進(jìn)行訓(xùn)練以節(jié)約內(nèi)存。
遍歷預(yù)測(cè)集列表圖片并調(diào)整圖片寬高皆為224,使其符合喂入網(wǎng)絡(luò)結(jié)構(gòu)的要求,然后對(duì)圖片轉(zhuǎn)載成numpy類型數(shù)據(jù),并進(jìn)行歸一化處理,最后調(diào)用模型,把轉(zhuǎn)載后的數(shù)據(jù)放入模型,得到預(yù)測(cè)的結(jié)果。結(jié)果顯示20輪的訓(xùn)練平均準(zhǔn)確率為94.406%,50輪的訓(xùn)練平均準(zhǔn)確率可達(dá)96.942%。
2.5.1 結(jié)果可視化
Tensorboard為谷歌所開(kāi)發(fā)的Tensorflow內(nèi)置的神經(jīng)網(wǎng)絡(luò)可視化工具[14],它可以記錄圖像的曲線平滑程度以及水平軸的變化情況,通過(guò)它觀察每個(gè)epoch的梯度值,可以實(shí)時(shí)檢測(cè)每次循環(huán)后正確率以及損失率的變化走勢(shì),以此分析出權(quán)值更新方向并判斷其是否符合正常訓(xùn)練規(guī)律[15],進(jìn)而為改進(jìn)MobileNetV3 large網(wǎng)絡(luò)學(xué)習(xí)率等參數(shù)做出相應(yīng)設(shè)置和調(diào)整,對(duì)分類器進(jìn)行調(diào)優(yōu)。
在tf.summary模塊置入相關(guān)變量,生成訓(xùn)練的各分量可視化數(shù)據(jù)Log文件[16]。由實(shí)驗(yàn)可知,損失率的遞減表明h-swish激活函數(shù)能夠在每一步有效地篩選訓(xùn)練結(jié)果,并加速收斂,訓(xùn)練的準(zhǔn)確率、損失率可視化圖如圖6所示。
從圖6(a)可以看出,準(zhǔn)確率隨迭代次數(shù)的增加不斷增長(zhǎng),增加過(guò)程中雖然存在振蕩波動(dòng),但整體持續(xù)增長(zhǎng)趨勢(shì)非常明顯;從圖6(b)可以看出,訓(xùn)練10次以內(nèi)的損失率隨迭代次數(shù)增加不斷下降,但當(dāng)訓(xùn)練10次后,損失率轉(zhuǎn)而增加,表明產(chǎn)生了過(guò)擬合現(xiàn)象,即擬合了訓(xùn)練數(shù)據(jù)中的噪聲和訓(xùn)練樣例中沒(méi)有代表性的特征,導(dǎo)致擴(kuò)大了訓(xùn)練過(guò)程中的損失數(shù)據(jù),不利于訓(xùn)練的準(zhǔn)確性,需要減少過(guò)擬合現(xiàn)象以此降低損失。
圖6 準(zhǔn)確率與損失率走勢(shì)
2.5.2 迭代次數(shù)設(shè)置
樣本過(guò)少、訓(xùn)練集和測(cè)試集特征差異過(guò)大、樣本里雜質(zhì)數(shù)據(jù)干擾過(guò)大、權(quán)值學(xué)習(xí)迭代次數(shù)過(guò)多等都是模型過(guò)擬合的常見(jiàn)原因。解決過(guò)擬合的方案大致分4類,調(diào)小模型結(jié)構(gòu)復(fù)雜度,縮小圖像寬度和減小深度,使其適合目標(biāo)訓(xùn)練集的數(shù)量級(jí);正則化處理,引入額外新信息;擴(kuò)充訓(xùn)練集,增加模型學(xué)習(xí)的樣本數(shù)量;減少訓(xùn)練次數(shù),尋找最佳迭代次數(shù)。
經(jīng)過(guò)數(shù)據(jù)集處理,圖像寬度深度已經(jīng)優(yōu)化,改進(jìn)的輕量級(jí)網(wǎng)絡(luò)MobileNet-V3 large參數(shù)量較小,結(jié)構(gòu)也并不復(fù)雜;經(jīng)過(guò)紋理增強(qiáng)處理后的數(shù)據(jù)集,對(duì)骨骼X光片圖像的訓(xùn)練更加富有針對(duì)性,增強(qiáng)優(yōu)化處理的數(shù)據(jù)集MURA特征分布一致,其特征信息數(shù)量級(jí)已達(dá)到最佳狀態(tài),無(wú)需引入額外信息;此外,原始數(shù)據(jù)集劃分的訓(xùn)練集與測(cè)試集的文件可靠性強(qiáng),樣本圖像數(shù)量充足,無(wú)需擴(kuò)充訓(xùn)練集;但由于樣本里的雜質(zhì)數(shù)據(jù)干擾較大,訓(xùn)練次數(shù)過(guò)多,導(dǎo)致模型過(guò)分學(xué)習(xí)了錯(cuò)誤的特征,忽略了真實(shí)的網(wǎng)絡(luò)輸入輸出映射關(guān)系,擬合了訓(xùn)練數(shù)據(jù)中的噪聲和訓(xùn)練樣例中的無(wú)關(guān)特征。故判斷過(guò)擬合現(xiàn)象由于權(quán)值學(xué)習(xí)的迭代次數(shù)過(guò)多導(dǎo)致,需要對(duì)模型進(jìn)行迭代次數(shù)的尋優(yōu),以此把損失率控制到最小。
為進(jìn)一步驗(yàn)證訓(xùn)練10次以內(nèi)的損失率隨迭代次數(shù)增加不斷下降,設(shè)置訓(xùn)練次數(shù)為10,進(jìn)行重新訓(xùn)練。由訓(xùn)練結(jié)果可知,在訓(xùn)練次數(shù)10以內(nèi),損失率隨著迭代次數(shù)的增加而顯著降低,反映出經(jīng)過(guò)優(yōu)化后的分類器具有逐漸降低的損失率與優(yōu)秀的分類性能。
2.5.3 改進(jìn)分類器綜合性能討論
最終使用測(cè)試集對(duì)骨骼區(qū)域分類驗(yàn)證,顯示最高準(zhǔn)確率為99.9%,最低準(zhǔn)確率為87.3%,平均準(zhǔn)確率為96.9%,總體計(jì)算時(shí)間快,分類精度高,骨骼區(qū)域分類準(zhǔn)確率如表1所示。
表1 分類器對(duì)各骨骼區(qū)域分類準(zhǔn)確率
使用原始網(wǎng)絡(luò)MobileNetV3在MURA數(shù)據(jù)集上進(jìn)行訓(xùn)練與測(cè)試,顯示平均準(zhǔn)確率僅為91.8%。表明加入旋轉(zhuǎn)不變紋理增強(qiáng)處理的數(shù)據(jù)集,并引入殘差結(jié)構(gòu)融合輕量級(jí)注意力機(jī)制的改進(jìn)分類器的分類精度有大幅提高。
從表1可以看出,本文分類器對(duì)于手指部位的分類精度稍低。由于訓(xùn)練集中X光片手指形態(tài)各異,不利于逐層學(xué)習(xí)的網(wǎng)絡(luò)模型學(xué)習(xí),在骨骼影像采集過(guò)程中,手指樣例的彎曲、不同數(shù)量手指的拍攝、樣例手指間的特征差異過(guò)大等都是影響網(wǎng)絡(luò)訓(xùn)練準(zhǔn)確度的重要方面。前臂、手腕與肘部的識(shí)別準(zhǔn)確率最高,這是由于該部位特征較為明顯,并且擁有較大的樣本量,其中前臂的樣本量較少,但準(zhǔn)確率極高,可見(jiàn)前臂部位特征最為明顯,更加適合逐層學(xué)習(xí)的網(wǎng)絡(luò)模型訓(xùn)練。由此可見(jiàn)數(shù)據(jù)集的良好采集對(duì)于神經(jīng)網(wǎng)絡(luò)的訓(xùn)練及其性能評(píng)測(cè)具有至關(guān)重要的作用。
本文基于MobileNetV3 large網(wǎng)絡(luò)建立了一個(gè)骨骼區(qū)域X光片智能分類器,對(duì)骨骼X光片進(jìn)行旋轉(zhuǎn)不變紋理增強(qiáng)處理,并集成MobileNet系列歷代網(wǎng)絡(luò)優(yōu)勢(shì),然后利用Tensorboard對(duì)訓(xùn)練次數(shù)、訓(xùn)練集與測(cè)試集的相對(duì)值及計(jì)算時(shí)間等進(jìn)行了可視化分析,從而對(duì)模型分類效果進(jìn)行驗(yàn)證,并有針對(duì)性地優(yōu)化分類器方案,完善后的分類器在MURA測(cè)試集中的平均準(zhǔn)確率可高達(dá)96.9%,性能已接近影像科專家的人工判斷結(jié)果,說(shuō)明分類器可精確識(shí)別各區(qū)域骨骼X光片并進(jìn)行分類。
本文提出的分類器設(shè)計(jì)方案精度高,但距離完全智能化的診療還有提升空間,一方面,深度學(xué)習(xí)算法的網(wǎng)絡(luò)模型是數(shù)據(jù)驅(qū)動(dòng)的模型,其數(shù)據(jù)樣本的數(shù)量與質(zhì)量直接影響模型分類器性能,而醫(yī)學(xué)圖像獲取難、標(biāo)注難、采集條件差,導(dǎo)致其數(shù)據(jù)集規(guī)模較??;另一方面,目前通用的深度學(xué)習(xí)網(wǎng)絡(luò)模型大都是針對(duì)自然圖像處理的模型,而醫(yī)學(xué)圖像單通道、小對(duì)比度、復(fù)雜紋理特征等特點(diǎn)使得較多通用模型難以達(dá)到理想效果。因此,建立共享的醫(yī)學(xué)圖像數(shù)據(jù)庫(kù)才能提升深度學(xué)習(xí)在醫(yī)學(xué)圖像分析中的巨大潛力;同時(shí),基于通用模型,改進(jìn)并構(gòu)建具有針對(duì)性的醫(yī)學(xué)圖像領(lǐng)域?qū)S媚P偷姆诸惼鳎轻t(yī)療領(lǐng)域智能化的重要過(guò)程。