本發(fā)明涉及了數字口腔領域,具體地說是涉及了一種基于多套模板的牙齒修復算法。
背景技術:
近年來,數字口腔技術發(fā)展迅速,牙齒隱形正畸也逐漸普及。在對牙齒正畸過程中,需要建立牙齒的三維網格模型,用于虛擬矯治。但經過掃描和切割之后得到的牙齒模型側邊和底座的數據缺失,需要進行修復,形成完整獨立的牙齒模型,以方便虛擬矯治的進行。
技術實現要素:
為了解決背景技術中存在的問題,本發(fā)明提供了一種基于多套模板的牙齒修復算法。
本發(fā)明所采用的技術方案是將三維掃描獲得的初始牙頜模型分割為各個牙齒模型,然后對其中的牙齒模型采用以下步驟進行處理:
a.進行邊緣修復,刪除外翻面片并對邊緣進行光滑處理;
b..搜索包含多套牙齒模型的模板庫,從中找到最合適的模板牙齒模型用于修復的待修復牙齒模型;
c.根據投影關系對模板牙齒模型進行形變,將形變之后的部分模板牙齒模型拼接到待修復牙齒模型上并進行平滑操作,完成牙齒模型的修復。
所述步驟a具體是:
a-1)計算牙齒模型中每個頂點的均方根曲率,并根據曲率閾值t將所有頂點分為曲率大和曲率小的兩類頂點;
a-2)對每個牙齒模型遍歷多次將牙齒模型邊緣含有曲率大頂點的邊界三角面片刪除,直到牙齒模型邊緣的所有邊界三角面片均不存在曲率大的頂點;
a-3)對每個牙齒模型遍歷多次將牙齒模型邊緣三個頂點均是邊界點的邊界三角面片刪除,直到牙齒模型邊緣的所有邊界三角面片至少有一個點不是邊界點;
a-4)遍歷所有牙齒模型,對每個牙齒模型位于邊緣的兩層三角面片(包括邊界三角面片和邊界三角面片內層的一層三角面片)進行taubin平滑操作。
所述步驟a-2)和a-3)中通常的遍歷次數是4-5次。
所述步驟b具體是包括:
b-1)構建模板牙齒模型庫,獲取并標記模板牙齒模型中的特征點;
b-2)根據待修復牙齒模型的類型搜索模板牙齒模型庫中的對應模板牙齒模型;
b-3)根據待修復牙齒模型和模板牙齒模型的特征點,結合迭代就近點算法將待修復牙齒模型和模板牙齒模型進行匹配,評估差異度,選擇差異度最小的模板牙齒模型作為進行接下的修復操作的修復參考模型。
所述步驟b-1)中的模板牙齒模型庫中包括多套完整的上下頜模板牙齒模型,其中的每個模型都按照規(guī)范進行命名,同時每個模板牙齒模型都事先標記了各自的特征點。
模板牙齒模型的特征點指的是在模板牙齒模型上結合牙齒的形態(tài)學特征所標記的點,這些點可以反映出牙齒模型的一個大致特征。本發(fā)明中,對每個模板牙齒模型都標記了四個特征點,具體的標記規(guī)則如下:
b-1-1)對于切牙和尖牙,四個特征點分別位于唇頰側牙齦點,左右兩個角點,舌側牙齦點,如圖6所示;
b-1-2)對于前磨牙,四個特征點分別位于唇頰側牙齦點,兩個牙冠尖點,舌側牙齦點,如圖7所示;
b-1-3)對于后磨牙,四個特征點分別位于唇頰側牙齦點,靠近唇頰側的兩個牙冠尖點,舌側牙齦點,如圖8所示。
所述步驟b-2)中,由于牙齒的類型一共有32種,同一類型的牙齒形態(tài)相對接近,根據待修復牙齒模型的類型,從模板牙齒模型庫中搜索同類型中與待修復牙齒模型接近的模板牙齒模型。
待修復的牙齒模型同樣事先標記了特征點,其標記規(guī)則和模板牙齒模型的規(guī)則相同,此時,利用兩個模型的特征點,就可以將b-2)中搜索到的模板牙齒模型和待修復牙齒模型進行一個大致的初始匹配,然后使用迭代就近點算法進行精細匹配,如圖9所示。
因此,所述步驟b-3)具體為:
a.篩選點對:待修復牙齒模型上的點集為p1,模板牙齒模型上的點集為p2,對于點集p1中的每一點,在點集p2中搜索出與其最近的點,組成一個點對,由此找出兩個點集中所有的點對;
b.計算點集p1和點集p2的重心;
c.根據所有點對以及兩個點集重心的差異計算出下一步需要進行的近似旋轉矩陣和近似平移矩陣,這里使用四元數法求解使得所有點對距離平方和最小的剛體變換,具體實施采用《amethodforregistrationof3-dshape》第iii-c部分中的方法進行計算獲得近似旋轉矩陣和近似平移矩陣。
d.用近似旋轉矩陣和近似平移矩陣對點集p2進行剛性變換,得到新點集p2’,計算點集p2到點集p2’之間的歐式距離,以歐式距離的絕對值作為是否收斂的依據;
e.若歐式距離的絕對值小于閾值0.01,則認為收斂,停止迭代;若歐式距離的絕對值不小于閾值0.01,重復上述步驟a-d在對新點集p2’和點集p1進行處理,直到收斂或者達到最大的迭代次數,并以點集p2對應下最后變換得到的點集構建獲得處理后模板牙齒模型;
f.精細匹配之后,計算待修復牙齒模型和模板牙齒模型之間的差異度,差異度是通過待修復的牙齒模型上的每個頂點沿法向投影到處理后模板牙齒模型上所經過的距離求和得到,找到整個模板牙齒模型庫中差異度最小的模板牙齒模型,即和待修復牙齒模型在形態(tài)上最接近的模板牙齒模型,作為接下去修復待修復牙齒模型的修復參考模型。
所述的步驟a-e構成了迭代就近點算法的主要步驟。
所述步驟c具體是包括:
c-1)將步驟b)中得到的修復參考模型的頂點投影到待修復牙齒模型上,根據投影的情況,將修復參考模型劃分為投影區(qū)域和非投影區(qū)域;
c-2)根據投影關系對修復參考模型進行形變,投影區(qū)域直接投影形變到待修復牙齒模型上,非投影區(qū)域進行伴隨形變;
c-3)將形變之后的修復參考模型上的非投影區(qū)域和待修復牙齒模型進行拼接,對接縫處進行平滑操作。
所述修復參考模型上的頂點投影到待修復牙齒模型上具體是:每個頂點均沿各自的法向投影到待修復牙齒模型的三角面片上。
由于待修復牙齒模型是存在缺失的模型,修復參考模型是完整不存在缺失的模型,所以并不是所有的點都可以投影到待修復牙齒模型表面。因此,所述步驟c-1)中,在修復參考模型上,將能夠投影到待修復牙齒模型上的修復參考模型的頂點構成的區(qū)域作為投影區(qū)域,將不能夠投影到待修復牙齒模型上的修復參考模型的頂點構成的區(qū)域作為非投影區(qū)域,將非投影區(qū)域看做是待修復牙齒模型上缺失的部分,后續(xù)拼接到待修復牙齒模型上。
所述步驟c-2)中,由于c-1)中的得到的非形變區(qū)域不能和待修復牙齒模型邊界很好地貼合,因此需要對其進行一定的形變操作。具體如下:
遍歷修復參考模型上的所有頂點:
先將投影區(qū)域內的所有頂點通過投影移動到待修復牙齒模型表面上,獲得對應的投影點位置和移動距離;
然后對于非投影區(qū)域內的頂點,采用以下方式進行處理:
先從與投影區(qū)域內邊緣頂點的投影點相鄰的非投影區(qū)域頂點開始,每一個頂點根據自身周圍所有相鄰且已投影的點的平均移動距離進行沿投影方向移動到新頂點從而完成該頂點的投影,已投影的點為投影區(qū)域內的頂點或者是非投影區(qū)域內已進行投影的頂點,不斷迭代向最遠離投影區(qū)域的非投影區(qū)域頂點逐層處理,每一層頂點為平行于投影區(qū)域邊緣頂點的一圈頂點,直到相鄰兩次迭代處理之間所有頂點移動距離的總和小于移動閾值(具體可采用用0.01),則停止迭代,不再進行頂點投影。
兩次迭代處理之間所有頂點移動距離的總和diff計算方法如下:
其中d(i)表示第i個頂點vi的差異值,p表示投影區(qū)域頂點的集合,vi表示第i個頂點的位置,vip表示第i個頂點vi的在待修復牙齒模型上的投影點位置,
經過上一步的操作得到的修復參考模型上的非投影區(qū)域可以用來填補待修復牙齒模型的缺失部分,因此,所述步驟c-3)中,先將修復參考模型的投影區(qū)域刪除,以非投影區(qū)域進行投影處理后的表面模型作為補丁模型,此時補丁模型和待修復牙齒模型之間存在一條縫隙,如圖15所示,再采用以下接縫方式來填補補丁模型和待修復牙齒模型之間的縫隙:
c-3-1)首先獲得補丁模型的有序邊界點集patchset和待修復牙齒模型的有序邊界點集originset,有序邊界點集中的邊界點是有序號標記的,即將點按照同一個方向進行編號。
c-3-2)遍歷待修復牙齒模型的有序邊界點集originset內的邊界點,對于第i個邊界點ob(i)和第i+1個邊界點ob(i+1),邊界點ob(i)和邊界點ob(i+1)相鄰:
找到補丁模型的有序邊界點集patchset內離邊界點ob(i)最近的邊界點pb(1),再找到補丁模型的有序邊界點集patchset內離與邊界點ob(i+1)最近的邊界點pb(2),添加由ob(i)、ob(i+1)和pb(1)為頂點構成的三角面片,
c-3-3)然后判斷pb(1)和pb(2)是否是同一個邊界點并處理:
如果pb(1)和pb(2)不是同一個邊界點,則遍歷pb(1)到pb(2)之間的邊界點pb(j),pb(1)≤pb(j)<pb(2),對于每個邊界點pb(j),添加由ob(i+1)、pb(j)和pb(j+1)為頂點構成的三角面片;
如果pb(1)和pb(2)是同一個邊界點,則不再添加新片面;
c-3-4)重復步驟c-3-2)和c-3-3),構建補丁模型的有序邊界點集patchset和待修復牙齒模型的有序邊界點集originset之間連接的三角面片形成接縫,為了使得接縫處的網格質量過度更加自然,再采用拉普拉斯平滑對接縫的三角面片進行平滑操作。
本發(fā)明所涉及的部分術語解釋如下:
模板牙齒模型:通過三維掃描得到的完整的牙齒模型數據,用來構建模板庫,這樣的模型有很多套,每套模型構成一個單獨的牙頜。
模板牙齒模型庫:把很多模板牙齒模型整合起來構成的數據庫。
待修復牙齒模型:需要進行修復的牙齒模型。
修復參考模型:從模板牙齒模型庫中找到的和待修復牙齒模型最接近的模板牙齒模型,以這個模型為參考,可以對待修復牙齒模型進行較好地修復。
補丁模型:指的是修復參考模型形變之后,將投影區(qū)域刪除之后剩下的模型,和待修復牙齒模型正好互補。
本發(fā)明的有益效果是:
本發(fā)明能夠精準地修復三維掃描后獲得的牙齒模型缺失的側邊與底座,使牙齒成為一個接近真實的封閉完整的三角網格模型,有利于后期的矯正實現。由于本發(fā)明的修復參考模型是從含有多套模板牙齒模型的數據庫中擇優(yōu)確定的,相比較用通用模板牙齒模型作為修復參考模型,本發(fā)明的修復參考模型和待修復牙齒模型更加適配,從而修復的最終也更好。
附圖說明
圖1為牙齒均方根曲率標示圖,灰度越深,表示曲率越大;
圖2為單顆牙齒均方根曲率標示圖,灰度越深,表示曲率越大;
圖3為刪除外翻面片并完成平滑操作的牙齒模型圖;
圖4為單顆牙齒模型進行步驟1)操作前后對比圖;
圖5為待修復側面和底部的牙齒模型圖;
圖6為標記了四個特征點之后切牙模型的正視圖和后視圖;
圖7為標記了四個特征點之后前磨牙模型的正視圖和側視圖;
圖8為標記了四個特征點之后后磨牙模型的正視圖和后視圖;
圖9為模板牙齒模型和待修復牙齒模型配準之后的效果圖;
圖10為模板牙齒模型投影區(qū)域形變到待修復牙齒模型上的效果圖;
圖11為模板牙齒模型非投影區(qū)域形變之后的效果圖;
圖12為將修復參考模型的非形變區(qū)域提取出來得到的補丁模型圖;
圖13為補丁模型和待修復牙齒模型進行接縫操作之后的結果圖;
圖14為對拼接之后的接縫處進行平滑操作的結果圖;
圖15為補丁模型和待修復牙齒模型之間接縫過程示意圖;
圖16為修復參考模型形變算法的流程圖;
圖17為接縫算法的流程圖。
具體實施方式
下面結合附圖及具體實施例對本發(fā)明作進一步詳細說明。
本發(fā)明的實施例及其具體實施過程如下:
剛切割出來的牙齒邊緣會存在很多外翻面片和毛刺,為保證牙齒模型的準確性,需要對邊緣進行修復。如圖1所示,根據曲率大小,可以對牙齒模型進行上色進行區(qū)分,深色區(qū)域為曲率較大的區(qū)域,淺色區(qū)域為曲率較小的區(qū)域,在本實施例中,所取的曲率閾值為6。圖2為單顆牙齒模型的曲率分布示意圖。首先遍歷所有牙齒模型,刪除牙齒模型邊緣有頂點被標識為曲率較大的邊界三角面片,在本實施例中,對每個牙齒模型該操作進行8次迭代;然后去除毛刺,遍歷所有牙齒模型,刪除牙齒模型邊緣三個頂點都是邊界點的邊界三角面片,在本實施例中,對每個牙齒模型該操作進行5次迭代。隨后遍歷所有牙齒模型,對每個牙齒模型的邊界的兩層三角面片進行標記,并對標記部分進行taubin平滑操作。邊界修復后的牙齒模型如圖3所示,單顆牙齒模型邊緣修復前后對比如圖4所示。
在切割牙齒模型的時候,因為一些相鄰牙齒距離較近以及牙齦的遮擋,導致切割出來的牙齒模型在側面部分和底面部分存在缺失。為了得到完整的單顆牙齒模型,需要對這些缺失的牙齒模型進行修復。待修復牙齒模型如圖5所示。
接下來在待修復牙齒模型模型上標記特征點,規(guī)則同模板牙齒模型的特征點,如圖6、7、8所示。然后根據待修復牙齒模型的類型去模板牙齒模型庫中搜索對應的模板牙齒模型,利用標記出來的特征點和搜索到的模板牙齒模型特征點進行匹配,將匹配使用的變換矩陣作用到模板牙齒模型上可以使得兩個模型大致重合,然后再通過迭代就近點算法進行二次配準,增加兩個模型的重合度,在此基礎上,算出一個模板牙齒模型和待修復牙齒模型的差異度,去差異度最小的模板牙齒模型作為接下去修復用的修復參考模型。
如圖16所示進行修復。將上一步從模板牙齒模型庫中尋找到的修復參考模型,與待修復進行配準操作,配準后如圖9所示。配準之后,對修復參考模型進行投影操作,將修復參考模型劃分為投影區(qū)域和非投影區(qū)域,并將投影區(qū)域直接形變到待修復牙齒模型上,如圖10所示,深色的區(qū)域表示投影區(qū)域,淺色的區(qū)域表示非投影區(qū)域。對修復參考模型的非形變區(qū)域也進行一定形變操作,如圖11所示。形變之后將非投影區(qū)域單獨提取出來得到用于修復待修復牙齒模型缺失部分的補丁模型,如圖12所示,此時,補丁模型和待修復牙齒模型之間存在微小的縫隙,利用接縫算法,實現拼接操作。
拼接操作以圖15中的各點為例進行說明,流程如圖17所示:
(1)對于待修復牙齒模型的有序邊界點集originset中的第i個邊界點ob(1)和第i+1個邊界點ob(i+1):
找到補丁模型的有序邊界點集patchset內離邊界點ob(i)最近的邊界點pb(1),再找到補丁模型的有序邊界點集patchset內離與邊界點ob(i+1)最近的邊界點pb(2),添加由ob(i)、ob(i+1)和pb(1)為頂點構成的三角面片,
然后判斷pb(1)和pb(2)是否是同一個邊界點并處理:如果pb(1)和pb(2)不是同一個邊界點,則遍歷pb(1)到pb(2)之間的邊界點pb(j),pb(1)≤pb(j)<pb(2),對于每個邊界點pb(j),添加由ob(i+1)、pb(j)和pb(j+1)為頂點構成的三角面片;
如果pb(1)和pb(2)是同一個邊界點,則不再添加新片面。
以此類推,構建補丁模型的有序邊界點集patchset和待修復牙齒模型的有序邊界點集originset之間連接的三角面片形成接縫,接縫后如圖13所示。
然后對接縫區(qū)域進行拉普拉斯平滑操作,得到最終修復好的模型,如圖14所示。
由此本實施例實現了精準修復三維掃描后獲得的牙齒模型缺失的側邊與底座,使牙齒成為一個接近真實的封閉完整的三角網格模型,有利于后期的矯正實現。由于本發(fā)明的修復參考模型是從含有多套模板牙齒模型的數據庫中擇優(yōu)確定的,相比較用通用模板牙齒模型作為修復參考模型,本發(fā)明的修復參考模型和待修復牙齒模型更加適配,從而修復的最終效果也更好。