一种基于局部坐标的牙齿模型特征点自动识别算法的制作方法

文档序号:13423183阅读:784来源:国知局
一种基于局部坐标的牙齿模型特征点自动识别算法的制作方法

本发明涉及了一种牙齿网格模型的特征自动识别方法,尤其是涉及了一种基于局部坐标的牙齿模型特征点自动识别算法。



背景技术:

近年来,数字口腔技术迅速发展,隐形牙齿正畸也逐渐普及。数字治疗辅助系统完成的工作就离建立牙齿模型,为矫治方案的设计提供数据支持。通常为了获得牙齿模型,首先需要通过光学方法扫描石膏模型获得牙颌的三维数据,然后运用数字集合处理技术分割牙齿,对牙齿进行编号方便后期的操作,然后通过对数字模型进行一系列的操作。

牙齿特征点的自动选取是牙齿正畸系统中重要一块,在隐形正畸矫正系统中有着广泛的作用,比如对牙齿评估提供统一的标准,监视矫正的进度及为加速配准提供了条件。本文将要识别的特征点分为三类,第一类是特征点是颌点、轴点和龈点,每一颗牙齿都有,位于每颗牙齿的中间靠近唇侧。第二类点是cac三个点,只有切牙存在,位于牙齿顶部。第三类点牙齿的尖点,后磨牙有四个点,分别命名远颊点、近颊点、近舌点和远舌点,前磨牙有两个,分别命名为颊尖点和舌尖点,犬牙有一个,直接命名为尖点。当前已经有人提出了特征点的自动识别方法,并且取得一定效果,但是由于牙齿形态的多样性,目前还存在着巨大的挑战,没有成熟的方法。

目前的牙齿特征点自动识别方法各有不足:

1、需要通过硬件将模型转化为灰度图像,转换过程复杂且容易产生噪声。[可参考mokhtarim,laurendeaud.featuredetectionon3-dimagesofdentalimprints[c]//biomedicalimageanalysis,1994.proceedingsoftheieeeworkshopon.ieee,1994:287-296]。

2、缺乏一定的准确率,普适性不太强。[可参考kumary,janardanr,larsonb.automaticfeatureidentificationindentalmeshes[j].computer-aideddesignandapplications.2012;9(6):747-769]



技术实现要素:

针对背景技术的不足,本发明的目的在于提供一种基于局部坐标的牙齿模型特征点自动识别算法,识别精准快速,本发明方法能够通过获取任一牙齿三维模型的局部坐标,自动识别这颗牙齿的特征点,使识别的特征点符合隐形矫治系统的需求。

为了实现上述的目的,本发明采用的技术方案为包括以下步骤:

在获得牙齿模型后,为保证牙齿的有序排序和特征点的所属,先对全颌牙齿进行规范的命名。

具体实施中可以先对每颗牙齿的命名,牙齿名称由2位字母和1位数字组成,第一位字母是u或l,分别表示上颌牙齿或下颌牙齿,第二位字母是l或r,分别表示牙齿左边或者右边,第三位数字表示牙齿某一边的第几颗牙齿,输入牙齿的模型以及局部坐标系。

输入牙齿模型以及局部坐标系,对每个牙齿模型识别其颌点、轴点和龈点,对后磨牙的牙齿模型识别其尖牙尖点(cac)的三个点和cac曲线,对后磨牙、前磨牙和犬牙的牙齿模型识别其尖点,最终将识别获得的点在牙齿三维模型中绘制出来。

本发明识别出牙齿的特征点,均为符合真实情况的特征点,便于牙齿正畸系统后期的处理。

所述牙齿模型已经经过自动定轴的处理,每颗牙齿都有一个局部坐标系。

所述输入的牙齿模型是指通过3d扫描设备对患者牙齿的石膏模型进行扫描得到的,经过切割和修补的模型。

所述对每个牙齿模型识别其颌点、轴点和龈点具体为:

1.1)将牙齿模型的每个网格顶点均通过从全局坐标系变换到局部坐标系,获得局部坐标系下的牙齿模型;

具体是:牙齿模型由一系列的三维网格顶点组成,通过相乘转换矩阵t,将牙齿模型从全局坐标系下的点坐标pi(xi,yi,zi)变换到局部坐标系下的点坐标p′i(x′i,y'i,z'i),p和p'的转换关系如下:

[x'y'z'1]=[xyz1]·t

其中,转换矩阵t表示如下:

其中,m(m1,m2,m3)表示局部坐标系的原点,u1(u11,u12,u13)、u2(u21,u22,u23)和u3(u31,u32,u33)分别表示局部坐标系沿x、y、z轴的方向向量。

全局坐标系下,x、y、z轴分别是沿(1,0,0),(0,1,0)和(0,0,1)方向,和牙齿形态无关。

局部坐标系下,x、y、z轴分别是沿颊舌,近远和临床冠冠面轴线方向。

1.2)牙齿模型的所有网格顶点中,找到沿局部坐标系的y轴方向的最大值和最小值所在的点,对应的y轴坐标分别记为网格顶点沿y轴方向最大坐标值ymax和网格顶点沿y轴方向最小坐标值ymin;

1.3)计算y轴方向中间坐标值,遍历所有网格顶点找出满足条件|y'i-ymidlle|<λ并且x'i>0的所有点qi(x'i,y′i,z′i)组成点集q,λ表示判定是否在y的中间值附近的阈值,将找到所有点qi(x'i,y′i,z′i)根据沿x轴方向的坐标值从大到小排序,获得q={q1(x1',y1',z1')、q2(x2',y2',z2')...qn(xn',yn',zn')};

ymiddle=(ymax-ymin)/2

其中,ymiddle表示网格顶点沿y轴方向中间坐标值,ymax表示网格顶点沿y轴方向最大坐标值,ymin表示网格顶点沿y轴方向最小坐标值;

1.4)点集q中,从第一点开始,计算每一点到下一顺序点的梯度变化量t,并判断:若梯度变化量小于梯度阈值β,将当前点从点集q中去除;若梯度变化量大于等于梯度阈值β,将当前点在点集q中保留;

梯度变化量t计算公式如下:

其中,β表示梯度阈值,i表示点的序号;

直到处理后沿排序的相邻两个点之间的梯度变化量均大于梯度阈值β。

1.5)对于经步骤1.4)处理后的点集q,将其中的各个点按照沿x轴方向坐标值从大到小排序,排序在最前的点是牙齿模型的龈点,排序在中间的点是牙齿模型的轴点,排序在最后的点是牙齿模型的颌点。

1.6)最后将这三个颌点、轴点和龈点从局部坐标系转换回全局坐标系。

具体是采用以下方式:q(xi',y'i,z'i)是局部坐标下的点,b(xi,yi,zi)是全局坐标下的点,其转化公式如下:

(x,y,z,1)=(x',y',z',1)t'

转换矩阵t'的表达式如下:

所述对后磨牙的牙齿模型识别其尖牙尖点的三个点和cac曲线具体为:

2.1)将牙齿模型的每个网格顶点均通过从全局坐标系变换到局部坐标系,获得局部坐标系下的牙齿模型;

2.2)牙齿模型的所有网格顶点中,找到沿局部坐标系的y轴方向的最大值和最小值所在的点,对应的y轴坐标分别记为网格顶点沿y轴方向最大坐标值ymax和网格顶点沿y轴方向最小坐标值ymin;

2.3)将所有网格顶点按照沿y轴的等距离区间进行分割,沿y轴的等距离区间按照以下间距值δ分隔:

其中,num代表沿y轴的等距离区间的总数;

2.4)对于每个等距离区间,找到其中沿z轴方向坐标最大的点作为上极值点c,从而获得各个等距离区间对应的一系列上极值点cj,j表示上极值点的序号,

一系列上极值点cj相依次连接构成cac曲线,位于两端的等距离区间和位于中间的等距离区间所对应的三个上极值点作为尖牙尖点的三个点。

cac表示尖牙尖点,一般为三个。

2.5)最后将上述步骤获得的点从局部坐标系转换回全局坐标系。

例如,第一个区间中的点,在p′i(x′i,y′i,z′i)中ymin<y′i<ymin+δ表示等距离区间的点,从中发现z轴方向坐标值最大的点,记为c1。找到了一系列上极值点ci中取c0、cn/2和cn作为cac的三个点。

所述对后磨牙的牙齿模型识别其尖点具体为:

3.1)将牙齿模型的每个网格顶点均通过从全局坐标系变换到局部坐标系,获得局部坐标系下的牙齿模型;

3.2)将所有网格顶点根据沿x、y轴坐标划分区域形成点集,分为满足x>0和y>0的第一点集ai(x′i,y′i,z′i)、满足x<0和y>0的第二点集bi(x′i,y′i,z′i)、满足x<0和y<0的第三点集ci(x′i,y′i,z′i)以及满足x>0和y<0的第四点集di(x′i,y′i,z′i);

3.3)经过划分后,找到每个点集中沿z轴坐标最大的点作为尖点,第一点集ai(x′i,y′i,z′i)、第二点集bi(x′i,y′i,z′i)、第三点集ci(x′i,y′i,z′i)和第四点集di(x′i,y′i,z′i)所对应获得的尖点分别是ahigh、bhigh、chigh和dhigh;

对于下颌右侧和上颌左侧后磨牙来说,这四个点分别表示近颊点、远颊点、近舌点和远舌点。对于下颌左侧和上颌右侧后磨牙来说,这四个点分别表示远颊点、近颊点、远舌点和近舌点。

3.4)最后将上述步骤获得的尖点从局部坐标系转换回全局坐标系。

所述对前磨牙的牙齿模型识别其尖点具体为:

4.1)将牙齿模型的每个网格顶点均通过从全局坐标系变换到局部坐标系,获得局部坐标系下的牙齿模型;

4.2)采用以下公式进行筛选获得前磨牙第一点集e和前磨牙第二点集f:

ei=pi'(x′i,y′i,z′i),x′i>0,|y′i|<α

fi=pi'(x′i,y′i,z′i),x′i<0,|y′i|<α

其中,α表示靠近x轴宽度值,ei表示点集e中的第i个点,fiei表示点集f中的第i个点;

4.3)考虑前磨牙两块区域大小不一样,获得的点集e和点集f可所需求的不一致。因此,计算点集f中所有点沿x轴的坐标均值fmiddle,将点集f中沿x轴的坐标值大于坐标均值fmiddle的点均去除;

4.4)在步骤4.3)获得的点集e和点集f中找到各自沿z轴坐标最大的两个点,分别记为ehigh和fhigh,分别作为颊尖点和舌尖点;

4.5)最后将上述步骤获得的尖点从局部坐标系转换回全局坐标系。

所述对犬牙的牙齿模型识别其尖点具体为:

5.1)将牙齿模型的每个网格顶点均通过从全局坐标系变换到局部坐标系,获得局部坐标系下的牙齿模型;

5.2)牙齿模型的所有网格顶点中,找到沿局部坐标系的y轴方向的最大值和最小值所在的点,对应的y轴坐标分别记为网格顶点沿y轴方向最大坐标值ymax和网格顶点沿y轴方向最小坐标值ymin;

5.3)计算网格顶点y轴方向中间坐标值:

ymiddle=(ymax-ymin)/2

其中,ymiddle表示网格顶点沿y轴方向中间坐标值,ymax表示网格顶点沿y轴方向最大坐标值,ymin表示网格顶点沿y轴方向最小坐标值;

5.4)从所有网格顶点中,找到满足|y'i-ymidlle|<λ的顶点形成点集k,λ表示表示判定是否在y的中间值的阈值;

5.5)再从步骤5.4)获得的点集k中找到沿z轴坐标最大的点,作为犬牙的尖点;

5.6)最后将上述步骤获得的尖点从局部坐标系转换回全局坐标系。

本发明的有益效果是:

本发明通过局部坐标实现了牙齿特征点的识别,得到了更加符合正式情况的特征点,便于后期评估和配准等工作。

本发明方法可快速高效建立精准的牙齿模型,实现特征点自动识别,节省工作时间,提高工作效率,在一定程度上减小人为误差。

附图说明

图1为实施例的牙齿模型的三维模型数据及其命名的示意图。

图2为实施例的某颗牙齿模型网格表示的示意图。

图3为实施例的第一类点的点集q示意图。

图4为实施例的第一类点的经过梯度筛选后点集q示意图。

图5为实施例的第一类点的识别结果示意图。

图6为实施例的第二类点的区域划分示意图。

图7为本实施例的第二类点的cac曲线示意图。

图8为本实施例的第二类点的识别结果示意图。

图9为本实施例的后磨牙的第三类点的区域划分示意图。

图10为本实施例的后磨牙的第三类点的识别结果示意图。

图11为实施例的前磨牙的第三类点识别的两类点的示意图。

图12为本实施例的前磨牙的第三类点的识别结果示意图。

图13为本实施例的牙齿模型所有特征点的识别结果示意图。

图14为本实施例的全部牙齿的特征点的识别结果示意图。

具体实施方式

下面结合附图对本发明做进一步详细说明。

本发明的实施例及具体过程如下:

1)完成对每颗牙齿的命名,牙齿名称由2位字母和1位数字组成,第一位字母是u或l,分别表示上颌牙齿或下颌牙齿,第二位字母是l或r,分别表示牙齿左边或者右边,第三位数字表示牙齿某一边的第几颗牙齿,输入牙齿的模型以及局部坐标系,对于本实施例,如图1所示,牙齿ul1表示上颌左边第一颗牙齿,如图所示。

2)对每个牙齿模型识别其颌点、轴点和龈点

实现第一类点(颌点、轴点和龈点)的自动识别,识别目标是每一颗牙齿,对于本实施例,是模型名为ul7-ur7的牙齿,并在这些牙齿三维模型中将其绘制出来

2.1)牙齿模型由一系列的三维网格顶点pi(xi,yi,zi)组成,本实施例的牙齿是ul1,牙齿网格模型如图2所示,将牙齿模型的每个网格顶点均通过从全局坐标系变换到局部坐标系,获得局部坐标系下的牙齿模型。

牙齿标准模型的局部坐标系的建立方式:x轴方向由舌侧指向唇颊侧,与牙齿表面垂直,z轴方向从牙根指向牙冠,与牙齿的生长方向一致,x轴和z轴确定之后,y轴也随之确定,即横向穿过牙齿。

局部坐标在相关配置文件中的表示如下:

m22.98515.91364-1.47456

x0.9700640.139679-0.198659

y-0.1238190.9881920.0902538

z0.208891-0.06295980.97591

其中m是一个三维坐标标识局部坐标系原点位置,x、y、z是三个单位向量,用来标识的局部坐标系的三个分量。

2.2)牙齿模型的所有网格顶点中,找到沿局部坐标系的y轴方向的最大值和最小值所在的点,对应的y轴坐标分别记为网格顶点沿y轴方向最大坐标值ymax=1.524和网格顶点沿y轴方向最小坐标值ymin=-3.47,并计算y轴方向中间坐标值-0.974;

2.3)遍历所有网格顶点找出满足条件|y'i-ymidlle|<λ,λ为0.2并且x'i>0的所有点qi(x'i,y′i,z′i)组成点集q,将找到所有点qi(x'i,y′i,z′i)根据沿x轴方向的坐标值从大到小排序,获得的点如图3。

2.4)点集q中,从第一点开始,计算每一点到下一顺序点的梯度变化量t,并判断:若梯度变化量小于梯度阈值β,β为0.5将当前点从点集q中去除;若梯度变化量大于等于梯度阈值β,将当前点在点集q中保留,获得的点如图3所示:

2.5)对于处理后的点集q,将其中的各个点按照沿x轴方向坐标值从大到小排序,图中的从图片下面往上,最小面是牙齿模型的龈点(3.2766201,-1.1412600,-4.8498521),中间是牙齿模型的轴点(2.4585967,-0.44037774,-0.85049152),最上面是是牙齿模型的颌点(1.3873824,-0.19907764,2.1201463)。

2.6)将这三个点从局部坐标系转换回全局坐标系。获得如图5所示的龈点、轴点和颌点。

3)对后磨牙的牙齿模型识别其cac的三个点和cac曲线

实现第二类点(cac)三个点的自动识别,识别目标是切牙,并在牙齿三维模型中将其绘制出来。

3.1)做2.1)-2.2)同样的操作,将获得的所有点按照y的等距离区间进行分割,如图6是本实施例某颗牙齿的区域划分。

3.2)对于每个等距离区间,找到其中沿z轴方向坐标最大的点作为上极值点c,从而获得各个等距离区间对应的一系列上极值点cj,j表示上极值点的序号,一系列上极值点cj相依次连接构成cac曲线,位于两端的等距离区间和位于中间的等距离区间所对应的三个上极值点作为cac的三个点。图7展示了cac曲线,从左到右c0、cn/2和cn表示cac的三个点,分别是(-0.12893873,-3.3473337,2.6940150),(0.63880843,-0.47936657,2.7026107),(0.098891199,2.2245049,2.7452137)。

3.3)按照2.6)的方式将cac点转化到全局坐标下的点,如图8展示了cac的三个点。

4)对后磨牙的牙齿模型识别其尖点

实现后磨牙第三类点(尖点)的自动识别,识别目标是后磨牙,并在牙齿三维模型中将其绘制出来。

4.1)进行2.1)同样的操作,将所有网格顶点根据沿x、y轴坐标划分区域形成点集,分为满足x>0和y>0的第一点集ai(x′i,y′i,z′i)、满足x<0和y>0的第二点集bi(x′i,y′i,z′i)、满足x<0和y<0的第三点集ci(x′i,y′i,z′i)以及满足x>0和y<0的第四点集di(x′i,y′i,z′i);如图9展示了四个区域。

4.2)经过划分后,找到每个点集中沿z轴坐标最大的点作为尖点,第一点集ai(x′i,y′i,z′i)、第二点集bi(x′i,y′i,z′i)、第三点集ci(x′i,y′i,z′i)和第四点集di(x′i,y′i,z′i)所对应获得的尖点分别是ahigh、bhigh、chigh和dhigh。

图10中,是上颌左侧的后磨牙,左上,左下,右上,右下分别是远舌点、远颊点、近舌点和近颊点,分别是(-2.6768591,3.3085096,0.52207440),(2.5267353,2.4210863,1.9162508),(-2.6487002,-2.3746810,1.4392594)和(2.8255486,-2.634587,2.6005986)。

4.3)按照2.6)的方式将这四个点转化到全局坐标下的点,图10展示四个点。

5)对前磨牙的牙齿模型识别其尖点

5.1)进行2.1)同样的操作,采用以下公式进行筛选获得前磨牙第一点集e和前磨牙第二点集f,α为0.5:

ei=pi'(x′i,y′i,z′i),x′i>0,|y′i|<α

fi=pi'(x′i,y′i,z′i),x′i<0,|y′i|<α

5.2)计算点集f中所有点沿x轴的坐标均值fmiddle=-2.3275666,将点集f中沿x轴的坐标值大于坐标均值fmiddle的点均去除;结果如图11所示。

5.3)在点集e和点集f中找到各自沿z轴坐标最大的两个点,分别记为ehigh(2.49.0.44,2.44)和fhigh(-2.4087284,0.19575845,1.5536101),分别作为颊尖点和舌尖点。

5.4)按照2.6)的方式将这两个点转化到全局坐标下的点,如图12所示。

6)对犬牙的牙齿模型识别其尖点

6.1)从所有网格顶点中,找到满足|y'i-ymidlle|<λ,其中λ为0.2,的顶点形成点集k,再从点集k中找到沿z轴坐标最大的点,作为犬牙的尖点;

6.2)按照2.6)的方式将这个尖点转化到全局坐标下,如图13所示。

由此,本发明完成了特征点自动识别的过程,如图14是本实施例的所有特点识别结果。本发明在操作上与mokhtari相比,操作更加简便,不需要很多硬件支持,同时识别时间较短,识别一副上颌或者下颌的牙齿仅仅需要1.88秒,与kumary相比大大的缩短了识别的时间。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1