張蓓蕾,畢錦桐,郭宇佳,劉玉良,胡 欣
(1.天津科技大學電子信息與自動化學院,天津 300222;2.天津醫(yī)科大學口腔醫(yī)院,天津 300000)
齲齒是口腔常見病與多發(fā)病,是世界上最普遍的慢性疾病之一[1]。未經治療的齲齒會造成疼痛,引起身體不適,如果齲齒進一步惡化,可能會引起細菌感染,引發(fā)敗血癥[2],對身體造成一定的損害。目前,齲齒的檢測主要是基于X 線片,并根據(jù)醫(yī)生的經驗診斷口腔問題[3]。大量重復的工作容易使人感覺疲憊,一些年輕的醫(yī)生也可能會因為經驗不足而產生誤診,耽誤患者的最佳治療時間。
深度學習在醫(yī)學影像方面取得了極大的成功,在口腔科也有很好的應用前景,一些基于深度學習的醫(yī)學影像診斷系統(tǒng)所獲得的性能甚至能夠和相關專家媲美[4]。Lee 等[5]利用卷積神經網絡檢測齲齒,使用預訓練好的InceptionV3 網絡對3 000 張根尖周X 線片進行檢測和評估,模型展現(xiàn)出相當好的性能,表明卷積神經網絡在檢測和診斷齲齒方面有著巨大潛力。Milo?evi? 等[6]結合深度學習和遷移學習技術,通過牙齒全景X 線片對受試者年齡進行估計,預估年齡與受試者實際年齡誤差很?。粚⒃撓到y(tǒng)應用于法醫(yī)學中,為法醫(yī)牙科學實現(xiàn)自動實際年齡估計的進一步研究奠定了基礎。Vinayahalingam 等[7]使用深度學習進行下牙槽神經損傷風險評估,保證切除第三磨牙后的神經安全,作者使用U-net 網絡在牙科全景X 線片上實現(xiàn)第三磨牙和下牙槽神經的自動高性能分割,證明了深度學習在口腔結構分割方面的有效性。Li 等[8]利用級聯(lián)的ResNet 網絡自動化診斷根尖周X 線片中的齲齒和根尖周炎,F(xiàn)1評分分別達到0.829 和0.828,診斷的準確性高于年輕牙醫(yī)的診斷結果,進一步證明了深度學習可以提高診斷的準確性和一致性,降低牙醫(yī)的工作量。但是總體而言,目前有關齲齒檢測的研究還比較少,構建準確的齲齒檢測系統(tǒng),用來輔助醫(yī)生進行診斷,減少醫(yī)生工作量是非常有必要的。本文提出一種基于遷移學習和模型融合的齲齒 診斷網絡MDfuseNet。該網絡選取根尖周X 線片圖像作為數(shù)據(jù)樣本,以改進的 DenseNet121 和MobileNetV2 作為子特征提取網絡,使用遷移學習的方法對預訓練模型進行微調,達到使用少量的數(shù)據(jù)也可以訓練得到高準確率模型的目的。將提取到的特征進行融合,網絡可以學習到多個子特征提取網絡提取到的不同特征,提高了網絡性能和齲齒診斷的準確性,可以輔助醫(yī)生進行齲齒診斷。
齲齒在X 線片上表現(xiàn)為一種低密度陰影,正常牙齒結構在X 線片中表現(xiàn)為白色底板,齲齒發(fā)生處展現(xiàn)為黑色的孔洞。圖1 展示了齲齒和健康牙齒圖像樣本。本文主要利用卷積神經網絡對根尖周X 線片進行充分的特征提取,并實現(xiàn)高準確率的齲齒診斷。
圖1 牙齒圖像樣本Fig.1 Samples of teeth images
本文提出的齲齒診斷模型的整體實現(xiàn)流程如圖2 所示。
圖2 齲齒診斷模型實現(xiàn)流程Fig.2 Realization process of dental caries diagnosis model
模型設計主要分為以下幾個部分:
(1)數(shù)據(jù)集的收集及處理:收集臨床根尖周X 線片,對得到的根尖周X 線片圖像進行感興趣區(qū)域(ROI)獲取,構建齲齒數(shù)據(jù)集,并對構建好的齲齒數(shù)據(jù)集進行數(shù)據(jù)增強、歸一化等預處理操作。
(2) 分支網絡的構建:使用預訓練好的DenseNet121、MobileNetV2 和EfficientNet-B0 網絡進行齲齒特征提取,根據(jù)齲齒數(shù)據(jù)集結構對網絡進行微調處理,并將結果進行比較。
(3)模型融合:將分支網絡進行融合,分別在特征圖以及決策層面上對兩個模型進行融合,并進行結果之間的對比分析。
本實驗所使用的數(shù)據(jù)均來自天津醫(yī)科大學口腔醫(yī)院,所得數(shù)據(jù)沒有任何患者個人信息,如患者姓名、性別、年齡等。所有的數(shù)據(jù)均由專業(yè)醫(yī)生進行標記,數(shù)據(jù)處理的每一個階段完成后均由專業(yè)醫(yī)生進行數(shù)據(jù)篩查,數(shù)據(jù)可信度高。
數(shù)據(jù)增強可以擴大齲齒樣本量,有效避免過擬合,豐富數(shù)據(jù)特征。為了增強模型的泛化能力,對所得數(shù)據(jù)集的訓練集進行數(shù)據(jù)增強(圖3)。分別使用水平翻轉、垂直翻轉、旋轉、平移等操作將訓練集隨機擴增10 倍。在網絡特征提取時,對數(shù)據(jù)進行歸一化操作,根據(jù)特征提取網絡的要求將數(shù)據(jù)集內的圖像調整為統(tǒng)一大小。
圖3 數(shù)據(jù)增強Fig.3 Data enhancement
特征提取網絡部分選取3 個輕量型網絡,網絡參數(shù)少,且不損失網絡性能。
DenseNet[9]網絡與ResNet 網絡[10]設計思路基本一致,ResNet 使用殘差結構有效緩解網絡層數(shù)增加帶來的梯度消失或梯度爆炸現(xiàn)象。通過通道上特征的連接,DenseNet 實現(xiàn)特征復用,在網絡大小和參數(shù)量較小的情況下實現(xiàn)與ResNet 網絡相似的性能。DenseNet 網絡主要由密集模塊(Dense Block)和過渡模塊(Transition)組成,密集模塊將特征圖級聯(lián)用于特征正向傳遞效率的提高,過渡模塊主要用于連接兩個相鄰的密集模塊,并降低特征圖的大小,起到壓縮模型減少過擬合的作用[11]。對l 層網絡,DenseNet 的輸入xl會連接前面所有層的輸入。
其中:Hl(*)代表第l 層的非線性轉換函數(shù),x(*)表示前面所有層的輸入。
MobileNetV2 網絡[12]引入深度可分離卷積,減少了模型參數(shù),運算成本低。MobileNetV2 網絡的倒殘差結構,使用1×1 的卷積對特征圖進行先升維再降維操作,在增加網絡層數(shù)的同時,也增強了特征表達能力[13]。
EfficientNet 網絡[14]計算量小、效率高、性能強,能夠充分提取輸入圖像的特征。網絡的主干網絡繼續(xù)使用深度可分離卷積,并使用SENet 中的壓縮激勵模塊優(yōu)化網絡結構[15]。
遷移學習[16]是利用網絡在A 領域學習到的知識完成對B 任務的求解。醫(yī)學圖像因其性質的特殊性很難得到大量的圖像,使用遷移學習不僅可以通過較少的樣本獲得比較優(yōu)秀的模型效果[17],還能節(jié)省模型的訓練時間。
圖4 展現(xiàn)了醫(yī)學圖像中常見的遷移學習的方式,即凍結模型靠近輸入層的部分卷積層,這部分淺層卷積主要用于提取圖像的通用特征。訓練剩下的卷積層和全連接層,深層卷積層可以從淺層卷積中迭代提取出更抽樣的特征,這部分卷積更偏重于提取與學習任務相關的特定特征,將深層網絡重新進行訓練,有助于模型更加適應新的數(shù)據(jù)集,這種方法也稱為模型微調[18]。
圖4 遷移學習示意圖Fig.4 Diagram of transfer learning
為了降低訓練成本,提高模型準確率,本文將遷移學習用于齲齒分類模型分支網絡的構建,實現(xiàn)分支網絡對齲齒的快速、準確檢測。
1.4.1 模型特征融合 特征融合是指將多個卷積神經網絡提取到的圖像特征在分類層之前進行融合,融合后的網絡可以學習到多個特征提取網絡提取的不同特征。融合后每個通道得到的特征信息增多[19],有利于提高最終診斷的準確率。此時網絡每個通道的信息Zfuse為
其中:Xi、Yi分別表示兩個子特征提取網絡的通道,Ki表示各通道信息。
1.4.2 模型平均集成
模型集成是在決策層上對網絡進行融合,每個分支網絡進行決策之后,集成學習根據(jù)分支網絡進行的決策對數(shù)據(jù)進行進一步判斷。模型集成示意圖如圖5所示。
圖5 模型集成示意圖Fig.5 Model ensemble diagram
齲齒檢測模型首先進行分支網絡的構建與訓練,使用MobileNetV2、DenseNet121、EfficientNet-B0 網絡模型分別對齲齒數(shù)據(jù)集進行訓練和驗證,并將網絡性能進行分析比較。然后,在3 個網絡中選出效果最優(yōu)的兩個網絡作為齲齒檢測模型的分支網絡。最后,使用特征融合及模型集成兩種方法對分支網絡進行網絡融合,并進行模型對比分析,選出齲齒分類最優(yōu)模型。
1.5.1 分支網絡的構建
在進行分支特征提取網絡的構建和訓練時,使用遷移學習技術,在節(jié)省訓練時間的同時使用較少的數(shù)據(jù)就可以得到優(yōu)質的結果。通過實驗對比分析,最終選用預訓練好的MobileNetV2 網絡和DenseNet121網絡作為分支特征提取網絡。在特征提取前,將所有的圖像都進行歸一化處理,將其調整為224 像素×224 像素的統(tǒng)一大小。實驗對分支特征提取網絡進行微調,有利于模型參數(shù)更加適應齲齒數(shù)據(jù)集,提高齲齒診斷的準確性。預訓練網絡權重使用Tensorflow官方提供的ImageNet 數(shù)據(jù)集預訓練權重。網絡將在ImageNet 數(shù)據(jù)集上學習到的知識遷移到齲齒分類上使用。
分支網絡構建的具體步驟如下:(1) 在MobileNetV2 分支網絡的訓練中,將網絡低層卷積及池化層參數(shù)進行凍結,深層網絡正常訓練,在傳入分類層前,網絡輸出向量大小為7×7×1 280。重新設計網絡分類層,分類層中使用全局平均池化層,減少網絡參數(shù),防止網絡過擬合,模型輸出層使用分類個數(shù)為2 的全連接層進行分類,使用Softmax 激活函數(shù)輸出分類類別概率。(2)在DenseNet121 分支網絡的訓練中,首先對網絡結構進行修改,去掉最后一個密集模塊,添加通道數(shù)為1 280、卷積核大小為3×3、步數(shù)為2 的卷積輔助融合層,并在卷積輔助融合層之后添加批量歸一化(batch normalization,BN)層,在訓練過程中凍結低層卷積及池化層參數(shù),深層網絡重新訓練。經過卷積輔助融合層之后的特征向量大小為7×7×1 280,與MobileNetV2 分支網絡特征圖大小相同。根據(jù)齲齒分類數(shù)據(jù)集重新進行分類層的設計,分類層的設計與MobileNetV2 分支一致。
1.5.2 雙分支網絡構建
MDfuseNet 齲齒診斷模型網絡結構如圖6 所示。經實驗對比,網絡分支選用MobileNetV2 分支及DenseNet121 分支,融合階段選用1.4.1 節(jié)中的特征融合技術對特征進行融合,融合后的網絡特征向量大小仍為7×7×1 280,通道數(shù)量不變,描述齲齒數(shù)據(jù)的信息量增加,有利于最后的分類。在分類結構中使用了全局平均池化層代替全連接層,可以在保存大量圖像信息的情況下減少過擬合,并使用Dropout 方法隨機失活一部分神經元,進一步減少模型參數(shù)。最后分類層使用齲齒二分類層。
圖6 MDfuseNet齲齒診斷模型網絡結構Fig.6 Structure of MDfuseNet dental caries diagnosis model network
MDNet 結構如圖7 所示,將分支網絡進行模型集成,模型集成來自兩個分支網絡最后Softmax 分類器的分類概率向量,模型根據(jù)最終分類概率進行 分類。
圖7 MDNet的結構Fig.7 Structure of MDNet
給定一張圖片,經DenseNet121 分支網絡后的類別概率為PDense,經MobileNetV2 分支網絡后的類別概率為PMobile,PMDNet表示MDNet 對圖片的分類概率,這個概率結果是兩個分支網絡得到的概率結果進行平均集成之后的結果。y 表示給定樣本預測類別,j ∈{caries,normal}。
實驗使用Tensorflow 深度學習框架搭建齲齒檢測模型,使用NVIDIA GeForce RTX 3090 進行訓練,實驗中所有模型輸入尺寸均為224×224×3,選用Adam 優(yōu)化器,學習率設置為0.000 1,批大小設置為32,迭代次數(shù)為30 次。
實驗最終選擇總計3 250 張根尖周X 線片圖像,齲齒和健康牙齒的比例為1∶1。訓練集和測試集按照8∶2 的比例進行隨機劃分,其中2 600 張圖像用于訓練,650 張圖像用于測試。訓練集數(shù)據(jù)經數(shù)據(jù)增強之后,共有26 000 張圖像,驗證集樣本共650 張圖像,訓練集和驗證集的樣本互不交叉。
準確率(A)表示預測正確樣本數(shù)占總樣本數(shù)的百分比。準確率是最常見的評價指標,一般來說準確率越高,分類效果就越好[20]。
其中:NTP和NTN表示正確檢測到的正樣本和負樣本的數(shù)量,NFP和NFN表示錯誤檢測到的正樣本和負樣本的數(shù)量。
精準率(P)表示所有預測為正樣本的圖像中,真實值為正樣本所占的比例。
召回率(R)表示為真實值為正樣本,預測值也為正樣本的比例。
F1是精準率和召回率的調和平均數(shù)。
在本次實驗中進行多組對比實驗。所有實驗所用數(shù)據(jù)集相同。特征提取網絡 DenseNet121、MobileNetV2 和EfficientNet-B0 使用遷移學習進行訓練和網絡從頭訓練準確率的單分支網絡模型實驗結果對比見表1。每個網絡重復訓練多次,表中結果為平均準確率。將3 個經遷移學習后的分支特征提取網絡進行隨機結合的雙分支網絡模型實驗結果對比見表2。
表1 單分支網絡模型實驗結果對比Tab.1 Comparison of experimental results of single branch network models
表2 雙分支網絡模型實驗結果對比Tab.2 Comparison of experimental results of two branch network models
由表1 可以看出,對單個分類模型來說,未使用遷移學習方法的模型準確率明顯低于使用遷移學習的模型準確率,遷移學習模型準確率比從頭訓練網絡準確率高2%~3%。經過改造的DenseNet121 模型在齲齒檢測過程中有著最高的準確率,準確率為95.88%,比MobileNetV2 模型準確率高1.20%,比EfficientNet-B0 模型準確率高2.77%,在子分類器中表現(xiàn)最佳。
表2 展示了模型融合的結果,可以看出在模型融合階段,DenseNet121 和MobileNetV2 網絡融合的準確率明顯優(yōu)于其他網絡的融合,其準確率為97.08%,兩模型集成的準確率為96.62%;由表1 和表2 可以看出,融合后網絡的準確率比單個模型的準確率高,表明網絡融合方法能夠結合單個網絡的優(yōu)勢,提高訓練準確率。
MDfuseNet 和MDNet 網絡的實驗結果對比見表3。從準確率來看,MDfuseNet 網絡的準確率(97.08%)高于MDNet 網絡的準確率(96.62%);在精準率方面,MDfuseNet 網絡在齲齒的精準率上略高于MDNet 網絡,正常牙齒的精準率也高于MDNet 網絡;在召回率方面,MDfuseNet 網絡在齲齒上的召回率高于MDNet 網絡,在正常牙齒召回率上,兩模型持平;在F1值方面,MDfuseNet 網絡齲齒和正常牙齒的F1值都高于MDNet 網絡。總體來看MDfuseNet 網絡的效果要優(yōu)于MDNet 網絡以及單個網絡的效果。
表3 MDfuseNet和MDNet網絡的實驗結果對比Tab.3 Comparison of experimental results of MDfuseNet and MDNet
MDfuseNet 網絡進行齲齒檢測的混淆矩陣如圖8 所示。由圖8 可知,在650 個測試數(shù)據(jù)上,共有313張齲齒圖像和318 張正常牙齒圖像被正確分類,只有12 張齲齒被分類為正常牙齒,7 張正常牙齒被分類為齲齒,這可能是因為有些早期齲齒在X 線片上的特征不是特別明顯,病灶區(qū)域較小,不易被發(fā)現(xiàn)。但是總體來看,模型的分類準確率較高,對齲齒分類有較好的結果。
圖8 MDfuseNet的混淆矩陣Fig.8 Confusion matrix of MDfuseNet
梯度加權類激活圖(Grad-CAM)[21]是一種神經網絡可視化解釋技術,它可以幫助分析網絡的關注區(qū)域,研究者可以通過網絡關注區(qū)域,分析網絡有沒有學到正確的特征或信息。網絡對某區(qū)域的關注越多,熱力圖顯示的顏色就越鮮艷。
本文將Grad-CAM 技術應用于檢測齲齒的研究當中,將子分類網絡、MDfuseNet 和Grad-CAM 技術結合在一起,生成熱力圖,以突出對預測結果更重要的區(qū)域,并給出系統(tǒng)診斷結果。齲齒圖像的網絡注意區(qū)域如圖9 所示。
圖9 齲齒圖像的網絡注意區(qū)域Fig.9 Network attention areas for caries images
圖9 是向網絡中輸入一組網絡從未見過的根尖周X 線片后,網絡所展現(xiàn)出的結果。從診斷結果來看,MDfuseNet 和DenseNet121 網絡給出的診斷結果完全正確,MobileNetV2 網絡將一個齲齒診斷為了正常牙齒,推測是因為患齲區(qū)域較小,特征不明顯,網絡對病灶區(qū)域很小的牙齒在診斷方面有誤差。從圖9也可以直觀地看出,MDfuseNet 成功地關注到了精確的患齲區(qū)域,忽略了正常牙齒結構部分。DenseNet121 和MobileNetV2 雖然關注到了異常部分,但是關注范圍比較大,沒有MDfuseNet 關注的區(qū)域完整精準。這表明MDfuseNet 成功融合了子分類網絡的優(yōu)勢,增強了特征提取能力。
本研究提出基于遷移學習和模型融合的齲齒檢測網絡,提高了齲齒檢測的準確性,使網絡在較小的數(shù)據(jù)集下也可以產生較優(yōu)的結果。經過實驗對比發(fā)現(xiàn),本文提出的MDfuseNet 在齲齒檢測中的準確率達到97.08%,優(yōu)于單個子特征提取網絡對齲齒的識別準確率。實驗將MDfuseNet 與Grad-CAM 技術結合在一起生成熱力圖,與子特征提取網絡相比,對患齲區(qū)域的關注更加精準,表明MDfuseNet 可以結合子特征提取網絡的優(yōu)點,提高分類的性能。在幫助醫(yī)生進行齲齒輔助診斷上有著巨大的潛力。但是,網絡對病灶發(fā)生點非常小的圖像診斷還可能會產生誤差,在接下來的研究中,將更關注小區(qū)域病灶的檢測,盡量減少診斷誤差。