APP下载

基于孔洞轮廓线的颅骨配准方法

2018-09-05赵夫群耿国华

关键词:边界点轮廓线颅骨

赵夫群,耿国华

(1.咸阳师范学院 教育科学学院,陕西 咸阳 712000;2.西北大学 信息科学与技术学院,陕西 西安 710127)

颅面复原是一项对人类颅骨的面部容貌进行复原的技术,它以颅骨的形状特征和颅面复原技术为基础,以人类的面部软组织统计厚度为依据,采用一定的算法将软组织添加到颅骨上,从而实现颅骨面貌复原。常用的颅骨软组织添加方法有两种[1]:一是颅骨变形法,即采用硬组织填充软组织;二是三维体积变形法,即从与待复原颅骨相似的颅骨中获得软组织厚度。这两种方法都涉及未知颅骨与参考颅骨的配准问题,因此,颅骨配准是颅面复原的一个重要步骤,其正确性对颅骨面貌的复原起着关键性的作用。

基于孔洞轮廓线的颅骨配准的基本思路为:对于一个待复原颅骨U(也叫未知颅骨U),采用一定的配准算法从颅骨数据库中找出与U最为相似的一个或多个参考颅骨S,那么颅骨S的面貌即可作为U的参考面貌,从而为未知颅骨U的颅面复原提供依据。目前,颅骨配准已经在考古、医学研究以及刑事案件侦破等领域[2-4]得到了一定的应用。

由于颅骨的三维数据模型复杂,含噪声和外点较多,因此对其配准精度要求较高。目前,三维颅骨配准大多采用基于特征的配准方法,即全局特征配准方法和局部特征配准方法[5-7]。全局特征描述了整个颅骨模型,而局部特征只描述颅骨的关键特征点或点的邻域特征。由于三维颅骨模型的点或线特征较为明显,因此局部特征比全局特征更适用于部分覆盖的三维颅骨模型的配准。在基于局部特征的颅骨配准方法中,特征点标定法[8-9]是使用较多的方法,但配准结果并不十分理想。法向、曲率、凹或凸的特征区域等也是颅骨局部特征描述的重要方法,能够在一定程度上实现三维颅骨模型的配准。此外,迭代最近点(Iterative closest point, ICP)[10]及其改进算法[11-14]也被用在了三维颅骨模型的配准中。但是由于ICP算法对待配准模型的初始相对位置要求较高,因此一般要先进行颅骨的粗配准,然后再采用ICP或其改进的算法来实现颅骨细配准。

针对三维颅骨模型数据量大、分辨率差异大等问题,本文提出一种基于孔洞轮廓线的三维颅骨模型配准方法。首先,提取颅骨的眼眶、鼻框、颞骨、上颌骨以及下颌骨等孔洞轮廓线,并通过对轮廓线的匹配来实现颅骨粗配准;然后,再采用PICP算法将颅骨进行细配准,从而实现颅骨的最终精确配准。

1 孔洞轮廓线的提取和分类

这里提取的颅骨孔洞轮廓线(简称轮廓线)主要包括眼眶、鼻框、颞骨、上颌骨以及下颌骨轮廓线等5种类型,如图1所示。

图1 颅骨轮廓线的类型Fig.1 Types of skull contour lines

对于颅骨的三角网格数据模型,若一条边只被一个三角形使用,则称该边为边界边,边界边上的点称作边界点。多条边界边首尾相连则构成一条轮廓线。定义一条轮廓线的长度为该轮廓线包含的边界点的数目,而两条轮廓线l1i和l2j之间的最短距离为min{distance(pm,qn)|pm∈l1i,qn∈l2j},distance(pm,qn)为轮廓线上边界点pm和qn的欧氏距离。

根据文献[15]统计的轮廓线的长度以及轮廓线间的最短距离的均值和标准差,即可对三维颅骨模型的轮廓线类型进行自动识别。具体步骤如下:

1)由于眼眶、鼻框和颞骨的轮廓线长度相近,上颌骨和下颌骨的轮廓线长度与这3种轮廓线长度差异很大,因此可直接从中区分出上颌骨和下颌骨轮廓线。

2)如果颅骨包含上颌骨轮廓线,则先任意确定其左右方位。

3)对于剩下的待识别轮廓线,根据其长度的均值和标准差便可确定其可能的轮廓类型。通过该步骤判断出的每条轮廓线可能有多种类型,而且某些类型还要进一步细化为左右两种。比如,眼眶轮廓线又有左眼眶和右眼眶轮廓线之分。

4)对于每一种轮廓线类型(左眼眶、右眼眶、鼻框、左颞骨、右颞骨),执行步骤3)便可获得其对应的轮廓线集合。

5)采用两步法从所有轮廓线组合中筛选出正确的轮廓线组合。首先,剔除元素有重复的轮廓线组合,再在剩下的每个组合中添加上/下颌骨轮廓线;然后,计算所有轮廓线间的最短距离,并判断每个距离值是否满足轮廓线间最短距离的条件,若满足则记1分,否则记0分,最终,得分最高的组合即为轮廓线的分类结果。

2 轮廓线的拟合和表示

2.1 轮廓线的拟合

一条轮廓线上的边界点构成一条空间离散曲线,本文采用四次B样条曲线将其拟合成光滑的空间曲线。B样条曲线的定义如下[16]:

给定m=n+k+1个顶点,则可以定义n+1段k次参数曲线,第i段B样条曲线函数可以表示为

(1)

其中,s=0,1,…,k,i=0,1,…,n;pi+s为第i段曲线特征多边形的k+1个顶点;fs,k(t)为B样条基底函数,可表示为

(2)

对于四次B样条曲线,k=4,即s=0,1,2,3,4,其基底函数为

(3)

(4)

(5)

(6)

(7)

那么,第i段B样条曲线的矩阵表达式可写为

(8)

对于第1部分提取的轮廓线上每一个边界点pi,选取与其相邻的前后各两个点,即pi-2,pi-1和pi+1,pi+2,对pi及其相邻点共5个点采用四次B样条曲线对其拟合,假设得到拟合轮廓线l(t)=(x(t),y(t),z(t))。

2.2 轮廓线的表示

轮廓线采用边界点的曲率和挠率表示,即将轮廓线上边界点的曲率和挠率组成特征串,通过计算两条轮廓线的相似度进行轮廓线的匹配。

设轮廓线l(t)=(x(t),y(t),z(t))的一阶和二阶导数分别为l′(t)=(x′(t),y′(t),z′(t))和l″(t)=(x″(t),y″(t),z″(t)),于是轮廓线l(t)的曲率k(t)和挠率τ(t)分别为

(9)

(10)

3 轮廓线的匹配

那么,基于轮廓线特征串的颅骨配准方法的具体步骤描述如下:

1)设置初值i=1,j=1,i≤m,j≤n。

2)取未知颅骨U的第i条轮廓线l1i。

3)取参考颅骨S中的第j条轮廓线l2j,用式(11)计算l1i和l2j的相似度ξ1。若ξ1大于给定阈值,则用四元数法计算l1i和l2j的旋转矩阵R和平移矩阵t,将l1i和l2j对齐;否则,转到步骤4)。

(11)

4)执行j=j+1,若j≤n,转到步骤3),否则,转到步骤5)。

5)执行i=i+1操作,若i≤m,转到步骤2),否则,转到步骤6)。

6)判断,若颅骨U中的轮廓线都能在S中找到匹配的轮廓线,且颅骨S中的轮廓线都能在U中找到匹配的轮廓线,并且一一对应,那么颅骨U和S配准成功,否则配准失败。

通过颅骨轮廓线的匹配,两个颅骨已经基本对齐。接下来再采用PICP 算法[14]将两个颅骨进行细配准。PICP 算法是在ICP 算法的基础上,通过添加高斯概率模型实现的,该算法具有较强的抗噪性,适用于颅骨的细配准。

4 实验结果与分析

实验数据采用西北大学可视化技术研究所提供的CT扫描的颅骨三角网格数据模型。对于一个未知颅骨U,在颅骨数据库中配出一个或者几个相似颅骨,作为颅面复原的参考颅骨。采用本文配准方法,首先提取待配准颅骨的眼眶、鼻框、颞骨、上颌骨以及下颌骨等孔洞轮廓线,然后通过特征串的匹配实现颅骨轮廓线的匹配,由此实现颅骨的配准,最后采用PICP算法将颅骨进一步细配准。

通过将未知颅骨U(如图2(a)所示)与颅骨库中265个颅骨S1~ S265进行配准,找到了颅骨U的一个最佳匹配参考颅骨S1(如图2(b)所示),其配准结果如图3所示。U与剩下的264个颅骨S2~ S265均配准失败,部分配准失败的结果如图4所示。

图2 待配准颅骨Fig.2 Skulls need to be registered

图3 U和S1配准结果的正、侧面Fig.3 The front and side registration result of U and S1

从图3可见,采用本文配准方法,未知颅骨U和参考颅骨S1能够得到良好的配准结果,颅骨S1可以作为颅骨U的参考颅骨,可以为未知颅骨U提供可能的复原面貌参考。

图4 U和S2~S4的配准结果Fig.4 Registration results of U and S2~S4

为了进一步说明本文颅骨配准方法的性能,对未知颅骨U和参考颅骨S1再分别单独采用PICP算法和可信区域配准算法[17]进行配准,PICP算法的配准结果如图5所示,可信区域配准算法的配准结果如图6所示。

图5 PICP算法配准结果的正、侧面Fig.5 Registration result of PICP algorithm

图6 可信区域配准算法配准结果的正、侧面Fig.6 Registration result of trust region registration algorithm

从图5和图6的配准结果来看,虽然PICP算法具有较强的抗噪性,但是单独采用PICP算法并不能实现两个颅骨的正确配准。这是由于PICP算法对两个待配准颅骨的初始位置要求较高,一般需要先进行粗配准,再采用PICP算法进行细配准,这样才能达到精确的配准结果。而可信区域配准能够将两个颅骨进行配准,但是跟本文颅骨配准算法相比,可信区域配准的配准结果的精度有所降低。

对于未知颅骨U和参考颅骨S1~S4,分别采用PICP算法、可信区域配准以及本文配准算法进行配准,其配准结果如表1所示。

从表1的配准结果来看,本文配准算法的配准精度最高、耗时最短。跟PCIP算法相比,本文算法的配准精度和耗时分别提高了约60%和50%,跟可信区域配准相比,本文算法的配准精度和耗时分别提高了约30%和30%。因此,本文提出的基于孔洞轮廓线的配准方法是一种速度更快、精度更高的三维颅骨模型配准方法。

表1 算法的配准结果Tab.1 Registration result of the algorithms

5 结 语

颅骨配准是计算机辅助颅面复原的重要研究内容之一。由于颅骨数据量大、含噪声多、结构复杂,因此对配准精度要求较高。鉴于此,本文提出了基于孔洞轮廓线的三维颅骨模型配准方法。首先,提取颅骨的孔洞轮廓线;然后,采用轮廓线的特征串实现颅骨轮廓线的匹配;最后,采用PICP算法将颅骨进行进一步的细配准,从而实现颅骨精确配准的目的。虽然该方法达到了较高的颅骨配准精度,但是不能正确实现孔洞缺失的颅骨的配准,因为该方法要求两个待配准的颅骨孔洞轮廓线之间存在一一对应的关系。在今后的研究中,要进一步解决缺失颅骨的配准问题,并将颅骨配准结果应用到颅面复原的研究中,提高颅面复原技术在人类考古、刑事案件侦破等领域的应用价值。

猜你喜欢

边界点轮廓线颅骨
立体图像任意剖面轮廓线提取方法仿真研究
When weird weather strikes 当怪天气来临时
基于HTML5的凸轮廓线图解法App教学软件研究
颅骨血管瘤样纤维组织细胞瘤1例
区分平面中点集的内点、边界点、聚点、孤立点
基于降维数据边界点曲率的变电站设备识别
一种有效的秦俑碎块匹配算法①
多阈值提取平面点云边界点的方法
More gum disease today than 2,000 years ago
探讨外伤性颅骨缺损行颅骨修补术14例的护理体会