王志江,秦品樂,柴 銳,武 峰,程一彤,史 玥
(1.中北大學大數(shù)據(jù)學院 山西省生物醫(yī)學成像與影像大數(shù)據(jù)重點實驗室,太原 030051;2.山西醫(yī)科大學口腔醫(yī)院 修復科,太原 030012)
食物嵌塞是影響人類口腔健康的常見因素,容易引發(fā)局部牙齦紅腫,溢膿、齲齒、異味等口腔問題,進一步發(fā)展還可能會引起牙齒的松動和脫落[1],給患者的日常生活帶來極大的痛苦和不便。
醫(yī)學上常用錐形束CT(Cone Beam Computed Tomography,CBCT)對牙齒掃描進行重建,并測量牙齒的相關參數(shù)以判斷是否塞牙。但錐形束CT 精確度有限,且牙齒形態(tài)不規(guī)則,難以準確測量牙齒嵌塞的相關參數(shù)及在臨床實現(xiàn)精確判斷。隨著3D 掃描技術的發(fā)展,先進的口腔內掃描術能夠直接重建牙列的數(shù)字表面模型,由于其效率和安全性高而得到廣泛的應用,但該技術仍然需要借助三維測量軟件且需耗費大量時間。因此,一種可以自動測量相關參數(shù)并判斷牙齒是否嵌塞的方法對臨床上治療食物嵌塞有重要意義。
醫(yī)學上的大量實驗表明,鄰接線長度、鄰接面面積、舌外展隙角度、頰外展隙角度及牙合外展隙角度對食物嵌塞情況的判斷具有統(tǒng)計學意義,且塞牙常發(fā)生于第1 磨牙和第2 磨牙之間[2]。目前臨床上并沒有可以根據(jù)牙齒三維模型直接測量出相關嵌塞特征的方法。
為準確得出牙齒是否嵌塞的結論,本文基于U-Net提出一種點云分割網(wǎng)絡,通過增加輸入采樣點特征維度,增強模型對細粒度語義特征的檢測,提高模型的分割準確率。在此基礎上,使用圖割法對分割好的點云模型進行處理,優(yōu)化分割結果,以便于下一步對牙齒嵌塞特征的求解。同時,設計一種在牙齒三維點云上求相關嵌塞特征的方法,并對牙齒是否嵌塞做出判斷。
三維牙齒模型的分割一直是研究的熱點,傳統(tǒng)的牙齒分割算法是基于計算機圖形或視覺的算法,主要分為二維投影和曲率分析2 種方法。二維投影法是將三維網(wǎng)格投影到一個或多個二維平面上,應用傳統(tǒng)的計算機視覺算法對平面進行分割,并將處理后的數(shù)據(jù)投影回三維空間。例如,KONDO 等[3]提出梯度方向分析,GRZEGORZEK 等[4]利用多層深度圖像進行分割,WONGWAEN 等[5]在二維投影全景深度圖上利用邊界分析來尋找牙齒邊界,但是二維圖像的分割無法準確表達牙齒的真實形態(tài)。曲率分析是指對三維牙齒模型進行區(qū)域分析,并根據(jù)曲面的最小曲率對區(qū)域進行分類的方法。例如KUMAR 等[6]首先利用曲率分析和漫水填充算法探測牙齒和牙齦的分割邊界,然后探測此邊界上的角點以獲取牙縫分割邊界。但是使用曲率分析需要用戶設置合適的曲率閾值,且分割速度較慢。
利用深度學習對三維牙齒模型進行分割是一個新的熱點,自從PointNet[7]模型在三維點云處理方面提供了更高效更靈活的方式,一大批使用深度學習對牙齒點云進行分割的方法也隨之出現(xiàn)。XU 等[8]在每個牙齒模型的網(wǎng)格面上提取多維特征,直接通過三維卷積對提出的特征進行分類,TIAN 等[9]使用三維卷積和稀疏體素八叉樹對牙齒進行分割,LIAN等[10-11]使用一系列圖約束學習模塊分層抽取多尺度上下文特征,并進行牙齒模型的自動分割。CHEN等[12]使用兩階段模型,通過牙齒質心預測和質心距離投票方法對牙齒進行分割。然而,上述方法大部分在分割前有復雜的預處理步驟,分割網(wǎng)絡并沒有使用點云分割中最新的研究成果。
基于深度學習對點云分割的方法主要分為兩類:基于體素的方法和基于點的方法。基于體素的方法[13-14]在多個3D 模型數(shù)據(jù)集上可獲得最佳性能,但需要大量的內存資源?;邳c的方法減少了信息損失,從而以較少的計算復雜度實現(xiàn)了較高的精度。該類方法通??梢苑譃? 類:相鄰特征池[15]、圖構造[16]、基于注意力的聚合[17]和基于核的卷積[18]。在所有的基于點的方法中,KPConv[19]得到了三維物體分割的較好性能。因此,本文采用KPConv 來構建本文的牙齒分割網(wǎng)絡。
本文提出一種能夠自動求解牙齒嵌塞特征并根據(jù)相關特征判斷是否塞牙的方法,具體流程如圖1所示。
圖1 牙齒嵌塞特征求解流程Fig.1 Solution process of tooth impaction features
如圖1 所示,牙齒嵌塞特征求解的流程主要分為3 個階段:
1)牙齒分割階段。輸入三維牙齒stl 模型,以提取三維牙齒點云。使用本文設計的牙齒分割網(wǎng)絡,對三維牙齒點云進行分割,并對分割結果使用圖割算法進一步優(yōu)化,得到最終分割好的牙齒三維點云。
2)嵌塞特征計算階段。從分割好的牙齒結果點云中取出左側或右側第1、2 顆磨牙點云,對取出的牙齒點云進行嵌塞特征計算。首先在水平方向上使用平面擬合的方法將牙齒投影到平面上,求出鄰接線長度、舌外展隙角度和頰外展隙角度,然后在垂直方向上將牙齒投影到平面上,求出牙合外展隙角度,最后在垂直平面上將第6、7 顆磨牙進行分割,求出鄰接面面面積。
3)嵌塞牙齒判斷階段,使用求出的5 種嵌塞牙齒特征,并通過訓練好的SVM 模型得出牙齒是否塞牙的結論。
本文首先將牙齒stl 模型直接轉化為點云模型,轉化后的牙齒點云點數(shù)過多,每個牙齒表面大約包含140 000 個點。受到硬件條件的限制,當數(shù)據(jù)量過大時,點云直接輸入網(wǎng)絡會導致內存溢出,且計算量太大會減慢訓練速度,所以在訓練網(wǎng)絡時首先要對點云進行采樣,這與常用的點云采樣方法、隨機采樣方法和均勻采樣方法均不同。為了能更加準確地得到牙齒的嵌塞特征,同時考慮到牙齒嵌塞特征與牙齒表面曲率的關系,以及牙齒表面曲率較大的位置包含牙齒嵌塞特征的概率也越大,本文采用幾何采樣對牙齒表面的點進行采樣。
幾何采樣在點云曲率越大的地方,采樣點個數(shù)越多,具體方法定義如下:輸入牙齒點云,將目標采樣數(shù)定義為S,曲率采樣比例定義為U,采樣結果定義為G。首先對點云進行曲率計算,在每個點的k鄰域上求法線,然后計算每個點到鄰域上的法線的夾角值。曲率越大,則夾角值越大。
設置一個角度閾值,將數(shù)據(jù)分為大于角度閾值和小于角度閾值2 部分,在這2 部分中分別采樣,采樣數(shù)分別為S×(1-U)和S×U。最終的采樣結果G為:
本文基于KPConv 卷積核來構建分割網(wǎng)絡模型,網(wǎng)絡模型類似于U-Net[20]模型,由編碼器和解碼器2 個部分組成,是一種對稱的語義分割模型。網(wǎng)絡從最深層特征經(jīng)過5 次上采樣得到最終的分割結果。由于只采用深層特征上采樣得到分割標簽會丟失淺層特征信息,而淺層特征包含的是空間位置信息,因此通過學習這些淺層特征有助于在分割時更精準地進行定位。在編碼器路徑上生成的每一組特征映射均被連接到解碼器路徑上的對應特征映射,多層次特征融合能夠關注到點云局部的細節(jié)信息,具有更強的語義信息,能夠更加精確地進行分類。
網(wǎng)絡結構如圖2 所示,網(wǎng)絡輸入的大小為N×6,其中N為采樣后點云的10 240 個點,6 維向量由點云的空間坐標及法線信息2 個方面組成。網(wǎng)絡輸出為N×n的向量。
圖2 牙齒分割網(wǎng)絡結構Fig.2 Dental segmentation network structure
下面介紹每層的具體實現(xiàn):
1)編碼器。編碼器共有5 層,每層之間通過下采樣減少點數(shù),使用KPConv 卷積提取點集信息,為增大特征維度,KPConv 卷積核大小設置為13。為了防止過擬合和加快收斂速度,每層卷積之間均有批歸一化(Batch Normalization,BN)和Leaky ReLu 激活函數(shù)。
2)解碼器。解碼器也是5 層結構,但是與編碼器不同的是,解碼器每一層均采用最鄰近插值法的上采樣來增加點數(shù),并采用一元卷積來減少特征維度。跳層鏈接通過連接編碼器和解碼器來傳遞網(wǎng)絡的淺層特征,每層網(wǎng)絡之間也有批歸一化(BN)和Leaky ReLu 激活函數(shù)。
3)輸出。全連接層的輸出通過softmax 分類函數(shù)對每個點的語義進行預測。網(wǎng)絡輸出的結果點數(shù)為10 240,與輸入相同。
本文網(wǎng)絡分割后的結果可能會產(chǎn)生孤立的錯誤預測或非光滑的邊界,但基于圖的后處理可以對結果進行有效細化[21],例如LIAN 等[22]將圖割方法應用到牙齒分割后處理中,獲得了較好的效果。圖割方法是一種可以用于n維圖像數(shù)據(jù)的邊界優(yōu)化和區(qū)域分割的分割技術,本文在后處理中使用圖割,并加入包圍盒和邊緣曲率2 個先驗特征對分割結果進行優(yōu)化。包圍盒的大小對于每個牙齒來說相對固定,但分割邊緣的曲率大小在每個牙齒邊緣和牙齒表面有很大不同,因此加入2 個先驗條件對分割結果進行優(yōu)化很有必要。
其中:第1 項是數(shù)據(jù)擬合項,目的是得到最大分割能量;第2 項定義牙齒點云邊緣和標簽空間的局部平滑性,ε是一個小標量(1×10-4),以確保數(shù)值穩(wěn)定性;考慮到牙齒表面上和牙齦之間的邊界通常是凹的,本文采用C(Li,Li*,Ei)定義局部標簽一致性,表達式如式(3)所示:
其中:δ1函數(shù)是一個狄拉克函數(shù),且當時值為1。等式右邊第2 項表示包圍框大小的約束,這一項是對網(wǎng)絡預測出包圍框大小結果的修正。參數(shù)λ平衡2 項的貢獻,在本文實驗中,將λ值設置為20。約束函數(shù)的表達式如式(4)所示:
分割牙齒模型后提取出第6、第7 顆牙齒,可以得到三維空間中的2 顆牙齒。針對在三維空間中直接求解嵌塞特征、長度、角度等信息時會受到遮擋,以及尋找線段端點困難等問題,本文將三維空間中的2 顆牙齒投影到二維平面上進行求解,投影時采用平面擬合來確定投影面。
本文中平面擬合的方法定義:使用法向量n=[a,b,c]T和距離d來描述一個平面,這樣對于點p=[x,y,z]T在平面n×p+d=0 可以寫為:
其中:a、b、c分別為平面方程系數(shù);d為常數(shù)項;x、y、z表示點的坐標。
假設c=1,求解a、b、d,矩陣形式如式(6)所示:
根據(jù)克萊默法則可以求得:
最終可以求出牙齒點云投影到一個平面上的平面方程。
本文采用SVM[23]求解牙齒鄰接線長度,并且采用SVM 對求出的特征進行分類,SVM 是一種按監(jiān)督學習方式對數(shù)據(jù)進行二元分類的廣義線性分類器,可以使用超平面將小數(shù)據(jù)量的兩類數(shù)據(jù)分割開。
將牙齒在水平方向投影,并將牙齒壓縮到二維上,以便求解鄰接線長度。求解步驟是首先求出可以分割2 個牙齒的最佳分界線,在分界線上找到最遠的2 個點作為牙齒鄰接線的2 個端點。在分類上采用SVM 對兩類牙齒進行分類,SVM 對噪聲不敏感,并且泛化能力強,可以找到一個超平面,使其能正確地將2 個樣本進行分類。
對分割后取出牙齒中點的定義為:(X1,y1),(X2,y2),…,(Xn,yn),其中:Xi是含有d個元素的列向量,即Xi∈Rd;yi是標量,當yi=+1 時表示正類別,當yi=-1 時表示負類別,為了找到一個超平面,可以使2 個牙齒分割開。對超平面的定義如式(8)所示:
其中:W和b分別代表超平面的法向量和截距。
求出分界線后,以分界線的2 個端點向外延長一固定長度,在延長線上向牙齒兩側做垂線得到2 個距離延長線最近的2 個點,3 個點組成的角度就是本文提到的舌外展隙角度和頰外展隙角度。將取出的2 個牙齒在垂直方向投影,可以得到牙齒垂直方向上的二維點云,同上述求舌外展隙角度的方法一樣,可以求出牙合外展隙角度。同時,在將垂直方向上的牙齒分割平面取出,得到鄰接面面積。
本文采用由山西省醫(yī)科大學口腔醫(yī)院提供的通過3Shape 掃描儀獲取的120 例患者數(shù)據(jù),剔除掉顯示不清晰及形態(tài)損傷較大的牙齒數(shù)據(jù),對所有牙齒進行標注,令0~4 依次為牙齦和4 顆磨牙。
將樣本集隨機劃分為訓練集和測試集。由于上牙和下牙在形態(tài)上有一定區(qū)別,本文將上下牙分開來訓練。
為了增加數(shù)據(jù)及提高泛化能力,本文采用3 種方式對牙齒數(shù)據(jù)進行增廣:
1)隨機旋轉。令模型繞x軸、y軸、z軸隨機旋轉。
2)隨機平移。令模型隨機進行上下左右的小范圍平移。
3)對數(shù)據(jù)集添加人工噪聲以及從數(shù)據(jù)中隨機刪除少量點。最終,得到3 600 例牙齒數(shù)據(jù)。
5.2.1 評價指標
為評估本文實驗的有效性,采用均交并比(Mean Intersection over Union,MIoU)的評估方式驗證牙齒分割結果的準確性,MIoU 是計算預測值和標注數(shù)據(jù)(Ground Truth,GT)間的交集和并集之比。MIoU 的表達式如式(9)所示:
其中:K代表分類個數(shù);pij表示某個點分類屬于j類的概率;pii表示正確樣本的數(shù)量;pji表示錯誤樣本的數(shù)量。
5.2.2 對比實驗
本文將分割好的點云結果映射到stl模型上并進行可視化,用不同的顏色對牙齒進行標注。由圖3 可知,僅僅使用深度學習方法對牙齒整體進行分割的結果較好,但是在一些復雜的牙齒表面上,由于牙齒表面曲率變化較大,可能會出現(xiàn)錯誤的分割。為了提高分割結果的準確率以及后續(xù)求嵌塞特征的準確率,本文采用圖割法及最小化圖割能量函數(shù)來優(yōu)化分割結果。由圖3(b)可知,經(jīng)過圖割法處理后,齒間接觸區(qū)的邊緣更加光滑,且錯誤的分割結果也被改正,這有助于提高本文后期對牙齒嵌塞特征的求解精度。
圖3 圖割法優(yōu)化結果Fig.3 Graph cutting optimization results
本文在測試集中隨機選擇了3 個牙齒進行可視化對比,實驗結果如圖4 所示。將本文模型與2 個具有代表性的點云語義分割深度學習模型PointNet 和KPConv 進行對比,經(jīng)圖割法優(yōu)化后,從可視化結果可知,PointNet 模型在2 個磨牙的相鄰處出現(xiàn)過分割現(xiàn)象,無法將2 顆牙完美地分割出來,并且出現(xiàn)了錯誤分割牙齒的情況。而KPConv 模型沒有出現(xiàn)錯誤分割牙齒的情況,但每顆牙齒與相鄰牙齒間的分割并不光滑,也會出現(xiàn)過分割現(xiàn)象。總體來說,本文網(wǎng)絡在分割上表現(xiàn)良好,沒有出現(xiàn)錯分和邊緣模糊,與真實結果很接近,而PointNet 模型和KPConv 模型均出現(xiàn)了不同程度上的牙齒錯分和邊緣模糊現(xiàn)象。使用本文模型生成的結果在可視化表現(xiàn)上可以滿足后續(xù)對牙齒嵌塞特征求解的需要。
圖4 不同模型的可視化對比Fig.4 Visual comparison of different models
為進一步驗證本文所提分割模型的有效性,與上文提到的三維分割模型分割結果準確率進行對比。實驗結果表1 所示,表中加粗數(shù)字表示該組數(shù)據(jù)的最大值。從表1 可知,本文模型對所有磨牙的分割效果提高較為明顯,與PointNet 模型、KPConv模型相比,本文模型的分割準確率分別提高了約13和6 個百分點。
表1 不同模型的分割準確率對比Table 1 Accuracy of network segmentation
5.2.3 關鍵參數(shù)選取
本文共使用了2 個核心超參數(shù),分別是KPConv卷積核數(shù)量及圖割方法的λ值。為分析這些超參數(shù)對本文模型分割結果的影響,本文在不同的參數(shù)設置下進行了2 次實驗。
為了選擇合適的KPConv卷積核數(shù)量,本文探究了卷積核數(shù)量與分割準確率之間的關系,結果如圖5(a)所示??梢园l(fā)現(xiàn),隨著卷積核數(shù)量的不斷增長,網(wǎng)絡分割準確率也在不斷提升。但在卷積核數(shù)量達到13 之后,準確率增長的速度明顯下降,這是因為過大的卷積核會造成參數(shù)量的增加,使得訓練難度加大,因此本文選用13 作為本文模型中卷積核的大小。圖割方法使用λ值來平衡分割2 項能量函數(shù),圖5(b)為不同的λ值對應的模型分割準確率,可以發(fā)現(xiàn)當λ值為20 時,本文模型達到最佳分割準確率。
圖5 關鍵參數(shù)對本文模型分割準確率的影響Fig.5 Influence of key parameters on the segmentation accuracy of model in this paper
5.2.4 消融實驗
為驗證本文模型的有效性,通過對網(wǎng)絡輸入不同的點云維度和選取不同的采樣方法來進行消融實驗,以觀察維度和采樣方法對網(wǎng)絡模型的影響。其中N×3 代表網(wǎng)絡輸入維度為3,輸入為點云的3 維坐標,N×6 代表網(wǎng)絡輸入的維度為6,輸入為點云的3 維坐標和點云的法向量。實驗結果如表2 所示。
表2 消融實驗Table 2 Ablation study
由表2 可知,與基礎網(wǎng)絡相比,加入幾何采樣和法向量信息后,網(wǎng)絡分割準確率分別提升了2 和7 個百分點??梢钥闯?,法向量信息對分割結果的影響較大。原因可能是法向量可以反映某個點的領域點集的幾何結構,對于三維牙齒模型分割起到了很大的作用。本文通過將幾何采樣和點云法向量信息進行疊加達到了最佳分割效果。
在本文模型分割好第1 磨牙和第2 磨牙后,使用本文所提分割網(wǎng)絡對120 個牙齒進行分割,并取出分割好的第6、第7 磨牙。通過手工方法篩選出分割情況良好的牙齒數(shù)據(jù),并得到383 組牙齒例子,包括213 個食物嵌塞和170 個非食物嵌塞。接著計算出鄰接線長度、鄰接面面積、舌外展隙角度、頰外展隙角度和牙合外展隙角度這5 個特征,并將數(shù)據(jù)分為70%的訓練集和30%的測試集,使用SVM 對牙齒嵌塞情況進行訓練。為提高結果準確率以及避免過擬合,本文在SVM 訓練時采用非線性核函數(shù),最終在測試集上的準確率可達81%。最終測試集分類結果如圖6 所示,其中:當y=1 時,代表食物嵌塞;當y=0 時代表非食物嵌塞。由圖6 可知,本文采用5 個特征進行嵌塞牙齒的分類,分割線能夠將大多數(shù)嵌塞牙齒分類正確,為醫(yī)生輔助診斷提供有效幫助,具有一定的應用價值。
圖6 牙齒嵌塞分類結果Fig.6 Results of tooth impaction classification
為驗證圖割優(yōu)化處理對本文牙齒分類準確率的影響,分別使用本文模型與點云語義分割深度學習模型PointNet、KPConv 模型進行對比,以是否加入圖割優(yōu)化處理作為另一個變量,并使用上文訓練好的分類模型對所得嵌塞特征進行分類,結果如表3 所示。由表3 可知,經(jīng)過圖割法優(yōu)化后的本文模型可以達到最佳分類結果,與PointNet 模型、KPConv 模型相比,分類準確率分別提高了10 和7 個百分點。
表3 不同模型的分類準確率對比Table 3 Comparison of classification accuracy of different networks
本文提出一種對牙齒嵌塞進行自動檢測的方法,通過基于KPConv 卷積核和U-Net 網(wǎng)絡設計的三維牙齒分割模型對牙齒進行分割,求出牙齒嵌塞特征,并使用SVM 對牙齒嵌塞情況進行分類。此外,充分利用牙齒模型所具有的特殊幾何結構,將模型中向量信息及位置信息輸入網(wǎng)絡模型及后處理步驟中,通過多階段的特征融合得出分類結果。實驗結果表明,本文模型對磨牙的分割準確率達92%,判斷牙齒是否嵌塞的分類準確率為81%。下一步將針對缺牙、牙齒錯位等情況的牙齒嵌塞,尋求分割的解決辦法,拓寬本文方法的應用范圍。