发明内容
为了解决现有技术中存在的上述问题和缺陷的至少一个方面,本发明提供了一种点云特征提取方法、点云配准方法及可读存储介质,能够至少部分解决配准时间长、特征匹配易于失败以及配准准确率低等问题。所述技术方法如下:
根据本发明的一个方面,提供了一种点云特征提取方法,所述点云特征提取方法包括以下步骤:
基于受试者头部的医学影像图像获得头皮点云,并基于受试者面部图像获得实体面部点云;
基于头皮点云获得面部模型点云,并基于面部模型点云和实体面部点云分别获得各自点云中的所有点的法向量;
基于法向量优化方法优化点云中所有点的法向量获得所有点的优化后的法向量;
基于优化后的法向量获得对应点云的FPFH特征。
进一步地,基于优化后的法向量获得对应点云的FPFH特征,包括以下步骤:
基于优化后的法向量获得点云中的每个点的曲率特征值;
基于曲率特征值筛选点云中的所有点以获得点云特征点;
基于点云特征点与所述点云特征点对应的法向量获得点云特征点的FPFH特征。
具体地,基于优化后的法向量获得点云中的每个点的曲率特征值,包括以下步骤:
基于所述优化后的法向量获得垂直于所述法向量且过所述法向量对应的点的法平面;
基于所述法平面获得点云中与所述法平面的距离在预设距离范围内的多个近邻点;
基于所述多个近邻点获得曲面、所述曲面的第一曲率和第二曲率;
基于所述第一曲率和第二曲率获得所述法向量对应的点的曲率特征值。
优选地,基于点云特征点与所述点云特征点对应的法向量获得点云特征点的FPFH特征,包括以下步骤:
基于预设半径通过k-d Tree搜索方法确定当前点云特征点的多个近邻特征点;
基于所述多个近邻特征点的曲率特征值和当前点云特征点与其的多个近邻特征点之间的距离获得优化半径;
基于优化半径通过k-d Tree搜索方法获得以当前点云特征点为球心的球体内的所有特征点点对;
基于所述所有特征点点对和所述所有特征点点对中的每个点的优化后的法向量获得当前点云特征点的FPFH特征。
更加优选地,所述优化半径的表达式为:
式中,r表示优化半径,表示预设控制因子,表示多个近邻特征点中第i个近
邻特征点的曲率特征值,表示第i个近邻特征点与当前点云特征点之间的距离,n表示当
前点云特征点的近邻特征点的总数。
具体地,基于点云特征点与所述点云特征点对应的法向量获得点云特征点的FPFH特征,还包括以下步骤:
基于所有特征点点对中的所有点两两之间的距离和第一预设点对筛选范围筛选获得所有特征点点对中的每个点的近邻点;
基于所有特征点点对中的每个点与其的近邻点两两之间的距离和第二预设筛选距离范围筛选获得点云中的代表点和所述代表点对应的FPFH特征。
进一步地,基于头皮点云获得面部模型点云,包括以下步骤:
基于所述头皮点云中的所有点的坐标通过均值法获得所述头皮点云的点云中心点;
将所述头皮点云中的所有点的坐标值减去所述点云中心点的坐标值以获得所有点的重置头皮坐标;
将所述点云中心点的坐标重置为坐标原点O并建立XYZ坐标系,在XYZ坐标系中,Y轴平行于地面且正方向指向受试者的前方,X轴垂直于Y轴且正方向指向受试者的右方,Z轴垂直于X轴和Y轴且正方向指向受试者的上方;
筛选所述所有点的重置头皮坐标中Y轴的坐标值大于0的点以获得所述受试者的面部模型点云。
具体地,基于面部模型点云获得面部模型点云中的所有点的面部模型法向量,
用于面部模型法向量的法向量优化方法包括以下步骤:
基于面部模型点云获得坐标原点O到所述面部模型点云中的每个点的向量;
基于坐标原点O到所述面部模型点云中的每个点的向量分别与每个点自身的面部模型法向量内积以获得模型内积值;
基于模型内积值判断是否调整所述模型内积值对应的点的面部模型法向量的方向,当所述模型内积值大于0时,则将所述模型内积值所对应的点的面部模型法向量的方向取反。
优选地,基于面部模型点云获得面部模型点云中的所有点的面部模型法向量,包括以下步骤:
通过k-d Tree搜索方法确定面部模型点云中的每个点的k1邻域内的所有近邻点,所述k1邻域为以受试者的医学影像图像中的体素的第一预定倍数的长度作为半径的球体;
基于面部模型点云中的当前点的k1邻域内的所有近邻点通过最小二乘法拟合以获得当前点的相切面并获得当前点的相切面的法向量,当前点的相切面的法向量为当前点的面部模型法向量。
进一步地,基于实体面部点云获得实体面部点云中的所有点的实体面部法向量,
用于实体面部法向量的法向量优化方法包括以下步骤:
以摄像机的光心为坐标原点O’构建相机坐标系;
基于实体面部点云获得坐标原点O’到所述实体面部点云中的每个点的向量;
基于坐标原点O’到所述实体面部点云中的每个点的向量分别与每个点自身的实体面部法向量内积以获得实体内积值;
基于所述实体内积值判断是否调整所述实体内积值对应的点的实体面部法向量的方向,当所述实体内积值大于0时,则将所述实体内积值所对应的点的法向量的方向取反。
具体地,基于实体面部点云获得实体面部点云中的所有点的实体面部法向量,包括以下步骤:
通过k-d Tree搜索方法确定实体面部点云中的每个点的k2邻域内的所有近邻点,所述k2邻域为以受试者的医学影像图像中的体素的第二预定倍数的长度作为半径的球体;
基于实体面部点云中的当前点的k2邻域内的所有近邻点通过最小二乘法拟合以获得当前点的相切面并获得当前点的相切面的法向量,所述实体面部点云中的当前点的相切面的法向量为当前点的实体面部法向量。
根据本发明的另一方面,提供了一种点云配准方法,其中,
所述点云配准方法包括以下步骤:
基于面部模型点云的FPFH特征和实体面部点云的FPFH特征通过配准方法进行特征匹配以获得优化空间变换关系;
基于所述优化空间变换关系将所述头皮点云转换至所述实体面部点云的空间中,
提取所述面部模型点云的FPFH特征和实体面部点云的FPFH特征的方法为根据上述中任一项所述的点云特征提取方法。
具体地,所述配准方法包括采样一致性方法(SAC-IA)、随机采样一致性方法(RANSAC)和迭代最近点(ICP)方法中的至少一种。
根据本发明的还一方面,提供了一种可读存储介质,其中,
所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时以执行上述中任一项所述的点云特征提取方法或执行上述所述的点云配准方法。
根据本发明实施例的点云特征提取方法、点云配准方法及可读存储介质具有以下优点中的至少一个:
(1)本发明提供的点云特征提取方法、点云配准方法及可读存储介质能够通过法向量优化方法调整面部模型点云和实体面部点云中的点的法向量方向,保证了面部模型点云与实体面部点云特征的稳定性和相似性,以优化点云中点的FPFH特征,从而有效地提升了点的FPFH特征(即点的FPFH描述子)的质量,进一步提升了配准的精度;
(2)本发明提供的点云特征提取方法、点云配准方法及可读存储介质能够通过法向量优化方法调整面部模型点云和实体面部点云中的点的法向量方向,可以让各自点云构成的曲面特征较为统一,以更好地与噪声点云区分,从而提高了各自点云的FPFH特征的质量;
(3)本发明提供的点云特征提取方法、点云配准方法及可读存储介质根据优化后的曲率特征值对面部模型点云和实体面部点云中的每个点进行筛选,以去除各自点云中的冗余特征点,并筛选出各自点云中较为突出的凸起点作为点云特征点,从而提高FPFH特征配准精度和减少配准时间;
(4)本发明提供的点云特征提取方法、点云配准方法及可读存储介质在提取FPFH特征的过程中充分考虑到面部模型点云的局部形状和密度变化,从而使用优化的半径来优化k邻域范围内的近邻点和近邻点数量,以在保留并提高点云特征的识别特性基础上降低点对之间的计算难度,进而提高了FPFH特征的提取速度和提取精度;
(5)本发明提供的点云特征提取方法、点云配准方法及可读存储介质通过筛选代表点,去除了各自点云中的冗余FPFH特征和对应的点对,从而提高了FPFH特征的提取精度,进而提高了配准的精确性,同时降低了计算复杂程度,由此降低了计算机开销,进而提高了配准速度;
(6)本发明提供的点云特征提取方法、点云配准方法及可读存储介质采用了对MRI头皮点云进行面部切分,由此提高了配准的速度与精度。
具体实施方式
下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。在说明书中,相同或相似的附图标号指示相同或相似的部件。下述参照附图对本发明实施方式的说明旨在对本发明的总体发明构思进行解释,而不应当理解为对本发明的一种限制。
本文中所使用的术语“头皮”应当被广义地理解为包括覆盖受试者颅骨之外的软组织和暴露于头部前方的所有软组织。
本文中所使用的术语“面部”应当被广义地理解为暴露于头部前方的所有皮肤。
本文中所使用的术语“点云”应当被广义地理解为空间中点的数据集,可以用于表示三维形状或对象。点云中每个点的位置都由一组笛卡尔坐标(x, y, z)描述,有些点云可能含有色彩信息(R,G,B)或物体反射面强度(Intensity)等信息。
参见图1,示出了根据本发明的一个实施例的点云特征提取方法。点云特征提取方法包括以下步骤:
基于受试者头部的医学影像图像获得头皮点云,并基于受试者面部图像获得实体面部点云;
基于头皮点云获得面部模型点云,并基于面部模型点云获得该点云中的所有点的法向量和基于实体面部点云获得该点云中的所有点的法向量;
基于法向量优化方法优化面部模型点云中所有点的法向量和实体面部点云中所有点的法向量,以获得面部模型点云和实体面部点云中各自的所有点的优化后的法向量;
基于面部模型点云中的优化后的法向量获得面部模型点云中的点的FPFH特征和基于实体面部点云中的优化后的法向量获得实体面部点云中的点的FPFH特征。
所述医学影像图像包括磁共振成像(MRI)图像、电子计算机断层扫描(CT)成像图像、超声成像图像等。由于MRI图像为高分辨的体数据,其分辨率可达0.5mm,因此优选为MRI图像。
受试者面部图像为通过光学摄像头拍摄获取,之后通过图像重建得到实体面部点云Scam。光学摄像头包括光学深度摄像头,光学深度摄像头可以通过实时拍摄,获取受试者在现实三维世界中的面部点云Scam。
在一个实例中,将受试者头部的医学影像图像可以通过射线法提取出受试者头部中的属于头皮部分的点云即得到受试者的头皮点云,该头皮点云中将不再含有受试者颅脑内部的特征属性。
下面以医学影像图像为受试者头部的MRI图像为例,对点云特征提取方法进行示例性说明,而基于CT成像图像或超声成像图像采用点云特征提取方法的原理与基于MRI图像采用点云特征提取方法的原理完全一致,在此不再一一赘述。
射线法具体包括以下步骤:
基于受试者头部的MRI图像建立Omri-RAS坐标系,其中以MRI图像的右下角为原点Omri,R轴平行于水平面且正向方向指向受试者的右方,S轴垂直于R轴且正向方向指向受试者上方,A轴垂直于ROmriS平面且正向方向指向受试者的前方;
递归迭代A轴和S轴,提取MRI图像一维序列Sa=v,s=b,例如在Omri-RAS坐标系下,获得过直线a=v且平行于ROmriS平面的平面,其中v表示A轴上的取值;之后在该平面内提取直线s=b,即得到一维序列Sa=v,s=b,其中b表示在S轴上的取值;遍历A轴和S轴得到所有直线的集合,获取每条直线两端的第一个与最后一个非零点的坐标并存储,进而得到头皮坐标集合,该头皮坐标集合即为头皮点云。
基于头皮点云获得受试者的面部模型点云,包括以下步骤:
基于所述头皮点云中的所有点的坐标通过均值法获得所述头皮点云的点云中心点,例如根据头皮点云中所有点的坐标计算坐标平均值,该坐标平均值即为头皮点云的点云中心点的坐标;
将头皮点云中的所有点的坐标减去所述点云中心点的坐标得到的所有点的坐标差值,该所有点的坐标差值为所有点的重置头皮坐标和重置头皮坐标集合;
将所述点云中心点的坐标重置为坐标原点O并建立XYZ坐标系,在XYZ坐标系中,Y轴平行于地面且正方向指向受试者的前方,X轴垂直于Y轴且正方向指向受试者的右方,Z轴垂直于XOY平面且正方向指向受试者的上方;从重置头皮坐标集合中筛选出Y轴的坐标值大于0(即y>0)的点,并得到点集F,该点集F即为受试者的面部模型点云Smri_anterior。
通过重置头皮坐标和点云中心点来实现数据标准化,这样有利于后续FPFH特征提取结果的稳定,进而实现了对特征提取过程和配准过程的优化。
在一个示例中,基于受试者的面部模型点云Smri_anterior获得面部模型点云Smri_anterior中的所有点的面部模型法向量,包括以下步骤:
通过k-d Tree搜索方法确定面部模型点云Smri_anterior中的每个点的k1邻域内的所有近邻点,其中,k1邻域是以受试者头部的MRI图像的体素的第一预定倍数的长度作为半径的球体;
基于每个点的k1邻域内的所有近邻点通过最小二乘法拟合得到每个点的相切面(即切平面),所述相切面为所有近邻点到该拟合的平面的距离之和最小的平面,该每个点的相切面的法向量即为每个点的面部模型法向量,记作ni (h, j, l )。
例如,通过k-d Tree搜索方法确定面部模型点云Smri_anterior中的任意一点k’的k1邻域内的所有近邻点,k1邻域为以点k’为圆心,以2倍体素长度为半径的球体,近邻点为球体内与点k’构成点对的所有点,由此搜索得到20个近邻点,之后通过最小二乘法拟合该20个近邻点得到多个拟合平面,之后计算该20个近邻点与同一拟合平面的距离之和,由此得到多个拟合平面中每个拟合平面与该20个近邻点的距离之和;将每个拟合平面对应的距离之和排序以得到最小距离之和对应的拟合平面,该最小距离之和对应的拟合平面为点k’的相切面(即切平面),之后基于该相切面计算其的法向量,由此得到点k’的面部模型法向量,记作nk’ (h’, j’, l’ ),该点k’的面部模型法向量也可以称为该点k’的法线。
由于近邻点的数量直接决定了所拟合的相切面的优劣,因此优选地为以2倍体素长度为半径得到的邻域,基于其所涵盖的近邻点的数量来拟合平面,由此所得到的相切面效果较好,例如通过这样的设计优化了相切面的法向量,即使得面部模型法向量更优,进而在进行FPFH特征提取时,能够提取到更为接近于或者说更加匹配于受试者实体面部点云的特征(即特征描述子)。
基于实体面部点云获得所述实体面部点云中的所有点的实体面部法向量。具体方法原理与基于受试者的面部模型点云Smri_anterior获得面部模型点云Smri_anterior中的所有点的面部模型法向量的方法原理相同,在此不再详述。
基于实体面部点云Scam获得所述实体面部点云Scam中的所有点的实体面部法向量的方法包括以下步骤:
通过k-d Tree搜索方法确定实体面部点云中的每个点的k2邻域内的所有近邻点,所述k2邻域为以受试者头部的MRI图像中的体素的第二预定倍数(例如,2倍、3倍)的长度作为半径的球体;
基于所述每个点的k2邻域内的所有近邻点通过最小二乘法拟合以获得每个点的相切面(即切平面)并获得所述实体面部点云中的每个点的相切面的法向量,所述实体面部点云中的每个点的相切面的法向量为所述实体面部法向量Ncam,每个点的实体面部法向量Ncam也可以称为实体面部点云中每个点的法线。
在一个实例中,在分别得到面部模型点云的每个点的面部模型法向量ni (h, j,l)和实体面部点云的每个点的实体面部法向量Ncam之后,通过法向量优化方法进一步调整面部模型法向量ni (h, j, l )和实体面部法向量Ncam,以保证面部模型点云Smri_anterior和实体面部点云的特征的稳定,进而提升了各自FPFH特征(即特征描述子)的质量。
法向量优化方法包括用于面部模型法向量的法向量优化方法和用于实体面部法向量的法向量优化方法。
在一个示例中,用于面部模型法向量的法向量优化方法包括以下步骤:
基于面部模型点云Smri_anterior获得坐标原点O到面部模型点云Smri_anterior中的每个点的向量;
基于坐标原点O到每个点的向量分别与每个点自身的面部模型法向量内积以获得模型内积值;
基于所述模型内积值判断是否调整该模型内积值所对应的点的面部模型法向量的方向,当所述模型内积值大于0时,则将该模型内积值所对应的点的面部模型法向量的方向取反,而当内积的值小于等于0时,则不调整该模型内积值所对应的点的面部模型法向量的方向。
由此实现了面部模型点云的所有点的面部模型法向量的方向均朝向坐标原点O,即朝向受试者颅内的方向。当面部模型点云的所有点的面部模型法向量的方向全部朝向受试者颅内之后,可以让面部模型点云构成的曲面特征较为统一,并能够与其他噪声点云较好地区分,从而提高了面部模型点云的FPFH特征的质量。
例如,在O-XYZ坐标系下,对于任意一点k’,记坐标原点O到该点k’的向量为,
计算与该点k’的面部模型法向量nk’ (h’, j’, l’ )之间的内积,得到点k’的模型内
积值。当点k’的模型内积值>0时,则将该点k’的面部模型法向量nk’ (h’, j’, l’ )取反,
得到优化后的面部模型法向量-nk’ (-h’, -j’, -l’ )。例如,在O-XYZ坐标系下,对于任意
一点k’’的面部模型法向量nk’’ (h’’, j’’, l’’ )的值≤0时,则点k’’的面部模型法向量
nk’’ (h’’, j’’, l’’ )即为优化后的面部模型法向量。
在一个示例中,用于实体面部法向量Ncam的法向量优化方法包括以下步骤:
以摄像机的光心为坐标原点O’构建相机坐标系;
基于实体面部点云获得坐标原点O’到所述实体面部点云中的每个点的向量;
基于坐标原点O’到所述实体面部点云中的每个点的向量分别与每个点自身的实体面部法向量内积以获得实体内积值;
基于所述实体内积值判断是否调整所述实体内积值对应的点的实体面部法向量的方向,当所述实体内积值大于0时,则将所述实体内积值所对应的点的法向量的方向取反。
通过这样的设计,使得实体面部点云的所有点的实体面部法向量的方向全部朝向
相机坐标系原点,即使得实体面部点云的所有点的实体面部法向量都朝向受试者颅内,
这样可以让实体面部点云构成的曲面特征较为统一,并能够与其他噪声点云较好地区分,
从而提高了实体面部点云的FPFH特征的质量。
例如,设相机坐标系(观察坐标系)的原点为摄像机的光心,横轴与纵轴分别与
所拍摄的图像的横轴和纵轴平行,且竖轴为摄像机的光轴。在相机坐标系下,对于任意一点
q1,记坐标原点到该点q1的向量为,计算与该点q1的之间的内
积,得到点k’的实体内积值。当点q1的实体内积值>0时,则将该点q1的实体面部法向量取反,得到优化后的实体面部法向量。例如,在相机坐
标系下,对于任意一点q2的实体面部法向量的值≤0时,则点q2的实体面部
法向量即为优化后的面部模型法向量。由此得到所有点的实体面部法向
量集合Ncam。
在一个实例中,基于优化后的法向量获得对应点云的FPFH特征,包括以下步骤:
基于优化后的法向量获得点云中的每个点的曲率特征值;
基于曲率特征值筛选点云中的所有点以获得点云特征点;
基于点云特征点与所述点云特征点对应的法向量获得点云特征点的FPFH特征。
在一个实例中,基于优化后的法向量获得点云中的每个点的曲率特征值,包括以下步骤:
基于所述优化后的法向量获得垂直于所述法向量且过所述法向量对应的点的法平面;
基于所述法平面获得点云中与所述法平面的距离在预设距离范围内的多个近邻点;
基于所述多个近邻点获得曲面、所述曲面的第一曲率和第二曲率;
基于所述第一曲率和第二曲率获得所述法向量对应的点的曲率特征值。
在一个示例中,优化后的法向量包括优化后的面部模型法向量和优化后的实体面部法向量。
在一个示例中,基于优化后的面部模型法向量获得面部模型点云的FPFH特征,包括以下步骤:
步骤S110基于优化后的面部模型法向量获得面部模型点云中的每个点的模型曲率特征值;
步骤S120基于模型曲率特征值筛选面部模型点云中的所有点以获得模型点云特征点;
步骤S130基于模型点云特征点与该模型点云特征点对应的面部模型法向量获得该模型点云特征点的FPFH特征。
在一个示例中,步骤S110包括以下步骤:
步骤S111基于面部模型点云中的点的优化后的面部模型法向量获得该点的模型法平面,其中,该点的模型法平面过该点且垂直于该点的面部模型法向量;
步骤S112基于所述模型法平面获得面部模型点云中与该模型法平面的距离在第一预设距离范围内的多个近邻点;
步骤S113基于所述多个近邻点拟合获得模型曲面并计算获得该模型曲面的第一模型曲率和第二模型曲率;
步骤S114基于所述第一模型曲率和第二模型曲率获得所述面部模型法向量对应的点的模型曲率特征值。
在一个示例中,步骤S120包括根据模型曲率特征值和模型曲率阈值筛选面部模型点云中的所有点以获得模型点云特征点;当点的模型曲率特征值大于模型曲率阈值时,则确定该点为面部模型点云中较为突出的凸起点,并确定该点为模型点云特征点并提取该点;当点的模型曲率特征值小于或等于模型曲率阈值时,则确定该点不是模型点云特征点,则将不将该点作为模型点云特征点提取出来。遍历面部模型点云筛选并提取出该面部模型点云中的所有模型点云特征点。
根据模型曲率阈值筛选出模型点云特征点:一方面,能够提取面部模型点云中突出的凸起点,可以减少点云中的噪声和去除面部模型点云中的冗余信息,由此提高了特征点的区分度,从而提高了FPFH算法的准确性,即提高了FPFH特征的质量。同时,还降低了待计算FPFH特征的点的数量,继而降低了计算复杂度,由此提高了配准速度。另一方面,通过这样的设计还能够提取具有局部区域特征的点,由此提高了点云遮挡部分的配准处理能力,进而提高了点云配准的精确性。
例如,对于面部模型点云Smri_anterior中的任意一点k’,其优化后的面部模型法向量
为-nk’ (-h’, -j’, -l’ )。基于该点k’的优化后的面部模型法向量-nk’ (-h’, -j’, -l’
)找到垂直于该面部模型法向量-nk’ (-h’, -j’, -l’ )的多个平行平面,之后从该多个平
行平面中选择过点k’的平面作为点k’的模型法平面,重复上述步骤遍历面部模型点
云Smri_anterior,得到面部模型点云Smri_anterior中所有点的模型法平面NPmri。
之后,根据点k’的模型法平面在面部模型点云Smri_anterior中找到与该模型
法平面的距离在第一预设距离范围内的m个(比如,5个)近邻点。通过最小二乘法拟
合该m个近邻点得到模型曲面。根据该模型曲面和该m个近邻点的面部模型法向量计算该模
型曲面的第一模型曲率和第二模型曲率。该第一模型曲率和第二模型曲率为该模型曲面的
主曲率。
然后,将第一模型曲率与第二模型曲率相乘得到的值作为点k’的模型曲率特征值。重复上述步骤并遍历面部模型点云Smri_anterior,得到面部模型点云中的所有点的模型曲率特征值。
最后,将面部模型点云中的所有点的模型曲率特征值排序,并将位于第八十分位的模型曲率特征值作为模型曲率阈值。当点k’的模型曲率特征值大于模型曲率阈值时,则确定该点k’为面部模型点云中较为突出的凸起点,并确定该点k’为模型点云特征点。按照上述计算点k’的模型曲率特征值的方法计算点k’’的模型曲率特征值,当点k’’的模型曲率特征值小于模型曲率阈值时,则确定该点k’’不是模型点云特征点,并不进行提取。遍历面部模型点云筛选并提取出该面部模型点云中的所有模型点云特征点。
在一个示例中,基于优化后的实体面部法向量获得实体面部点云的FPFH特征,包括以下步骤:
步骤S210基于优化后的实体面部法向量获得实体面部点云中的每个点的实体曲率特征值;
步骤S220基于实体曲率特征值筛选实体面部点云中的所有点以获得实体点云特征点;
步骤S230基于实体点云特征点与该实体点云特征点对应的实体面部法向量获得该实体点云特征点的FPFH特征。
在一个示例中,步骤S210包括以下步骤:
步骤S211基于实体面部点云中的点的优化后的实体面部法向量获得该点的实体法平面,其中,该点的实体法平面过该点且垂直于该点的实体面部法向量;
步骤S212基于所述实体法平面获得实体面部点云中与该实体法平面的距离在第二预设距离范围内的多个近邻点;
步骤S213基于所述多个近邻点拟合获得实体曲面并计算获得该实体曲面的第一实体曲率和第二实体曲率;
步骤S214基于所述第一实体曲率和第二实体曲率获得所述面部模型法向量对应的点的模型曲率特征值。
在一个示例中,步骤S220包括根据实体曲率特征值和实体曲率阈值筛选实体面部点云中的所有点以获得实体点云特征点;当点的实体曲率特征值大于实体曲率阈值时,则确定该点为实体面部点云中较为突出的凸起点,并确定该点为实体点云特征点并提取该点;当点的实体曲率特征值小于或等于实体曲率阈值时,则确定该点不是实体点云特征点,则将不将该点作为实体点云特征点提取出来。遍历实体面部点云筛选并提取出该实体面部点云中的所有实体点云特征点。
根据实体曲率阈值筛选出实体点云特征点:一方面,能够提取实体面部点云中突出的凸起点,可以减少点云中的噪声和去除实体面部点云中的冗余信息,由此提高了特征点的区分度,从而提高了FPFH算法的准确性,即提高了FPFH特征的质量。同时,还降低了待计算FPFH特征的点的数量,继而降低了计算复杂度,由此提高了配准速度。另一方面,通过这样的设计还能够提取具有局部区域特征的点,由此提高了点云遮挡部分的配准处理能力,进而提高了点云配准的精确性。
例如,对于实体面部点云Scam中的任意一点q1,其优化后的实体面部法向量为。基于该点q1的优化后的实体面部法向量找到
垂直于该实体面部法向量的多个平行平面,之后从该多个平行平面
中选择过点q1的平面作为点q1的实体法平面,重复上述步骤遍历实体面部点云Scam,
得到实体面部点云Scam中所有点的实体法平面NPcam。
之后,根据点q1的实体法平面在实体面部点云Scam中找到与该实体法平面的距离在第二预设距离范围内的m’个(比如,15个)近邻点。通过最小二乘法拟合该
m’个近邻点得到实体曲面。根据该实体曲面和该m’个近邻点的实体面部法向量计算该实体
曲面的第一实体曲率和第二实体曲率,该第一实体曲率和第二实体曲率为该实体曲面的主
曲率。之后将第一实体曲率与第二实体曲率相乘得到的值作为点q1的实体曲率特征值。重
复上述步骤并遍历实体面部点云Scam,得到实体面部点云中的所有点的实体曲率特征值。
然后,实体面部点云Scam中的所有点的实体曲率特征值排序(例如按照从小到大的顺序),并将位于第八十分位的实体曲率特征值作为实体曲率阈值。当点q1的实体曲率特征值大于实体曲率阈值时,则确定该点q1为实体面部点云中较为突出的凸起点,并确定该点q1为实体点云特征点。按照计算点q1的实体曲率特征值的方法计算点q2的实体曲率特征值,当点q2的实体曲率特征值小于实体曲率阈值时,则确定点q2不是实体点云特征点,并不进行提取操作。遍历实体面部点云Scam筛选并提取出该实体面部点云Scam中的所有实体点云特征点。
本领域技术人员可以明白,曲率阈值可以根据实际需要设置为所有曲率特征值的第八十五分位处的曲率特征值、第七十五分位处的曲率特征值等等。本领域技术人员还可以根据需要选择其他现有的筛选方法进行替代本示例中的曲率特征值筛选方法,本示例仅是一种说明性示例,不应当理解为对本发明的一种限制。
本文中的术语“主曲率”应当广义地被理解为过曲面上某个点上具有无穷个正交曲率,其中存在一条曲线使得该曲线的曲率为极大,这个曲率为极大值Kmax,垂直于极大曲率面的曲率为极小值Kmin。这两个曲率属性为主曲率。它们代表着法曲率的极值。
在一个实例中,基于点云特征点与该点云特征点对应的法向量获得点云特征点的FPFH特征,包括以下步骤:
基于预设半径通过k-d Tree搜索方法确定当前点云特征点的多个近邻特征点;
基于所述多个近邻特征点的曲率特征值和当前点云特征点与其的多个近邻特征点之间的距离获得优化半径;
基于优化半径通过k-d Tree搜索方法获得以当前点云特征点为球心的球体内的所有特征点点对;
基于所述所有特征点点对和所述所有特征点点对中的每个点的优化后的法向量获得当前点云特征点的FPFH特征。
基于点云特征点与所述点云特征点对应的法向量获得点云特征点的FPFH特征,还包括以下步骤:
基于所有特征点点对中每个点对之间的距离和第一预设点对距离范围筛选获得所有特征点点对中的每个点的近邻点;
基于所有特征点点对中的每个点与其的近邻点两两之间的距离和第二预设点对距离范围筛选获得点云中的代表点和所述代表点对应的FPFH特征。
FPFH特征的质量受点云局部特征质量和邻域范围的半径选择影响很大。邻域范围的半径是决定FPFH特征估计所使用的邻域范围的参数。较小的邻域范围的半径将限制邻域范围,导致FPFH特征只能反映非常局部的几何信息,容易受到噪声的影响。而较大的邻域范围的半径将包括更多的点来计算FPFH特征,这样估计出的特征可以代表更大的区域,但也容易忽略掉一些小的细节或特定的局部几何结构。有鉴于此,将邻域范围的半径进行了优化,具体优化方法如下述优化半径的表达式。所述优化半径的表达式为:
式中,r表示优化半径,表示预设控制因子,表示多个近邻特征点中第i个近
邻特征点的曲率特征值,表示第i个近邻特征点与当前点云特征点之间的距离,n表示当
前点云特征点的近邻特征点的总数。
由此,通过曲率特征值加权进行自适应调整邻域范围的半径,这样可以有针对性地对不同几何区域使用不同大小的邻域半径进行计算,能更好地适应面部点云(包括面部模型点云和实体面部点云)的复杂几何结构和密度分布,增加了算法的鲁棒性和点云特征的稳定性。
在一个示例中,步骤S130包括以下步骤:
在面部模型点云Smri_anterior的所有模型点云特征点中具有任意一点k’,以点k’为查询点且在第一预设半径(例如,面部模型点云中的最大子点云的直径的1/20的值)的范围内通过k-d Tree搜索方法确定模型点云特征点k’的mn个近邻特征点(例如,12个近邻点)。
之后,根据该点k’的mn个近邻特征点的模型曲率特征值和点k’与其的mn个近邻特
征点之间的距离(比如,计算两点之间的欧式距离)获得模型优化半径r1。例如,将点k’分别
与自身的近邻特征点、、…和形成点对,并计算每个点对的欧式距离,之后
将点对中的近邻特征点的模型曲率特征值作为该近邻特征点的欧式距离的权重,然后对mn
个(例如,12个)点对的欧式距离加权求平均得到平均距离,之后将该平均距离乘以缩放因
子(即预设控制因子)例如0.8得到模型优化半径。
然后,在以点k’为球心以模型优化半径为半径的球体内通过k-d Tree搜索方法获得点k’的mm个近邻点,因此得到查询点点k’与其的近邻点两两之间形成的特征点点对,例如,当点k’的近邻点为10个时,模型优化半径范围内含查询点在内共有11个点,因此特征点点对有11(11-1)/2=55个。
之后,基于所有特征点点对(例如,55个)和它们自身的优化后的面部模型法向量获得点k’的FPFH特征。
例如,对于点k’构建点对(k’,),并获得点k’的优化后的面部模型法向量-nk’
(-h’,- j’, -l’ )和点的优化后的面部模型法向量 (, , );基于点对(k’,)和点k’的优化后的面部模型法向量-nk’ (-h’,- j’, -l’ )与点的优化后的面部模
型法向量 (, , )分别计算点k’的简化点特征直方图SPFH(k’)和点的简化点
特征直方图SPFH(),之后使用邻近的SPFH值来计算FPFH特征(即FPFH描述子)FPFH(k’)。
其中,FPFH(k’)的表达式为:
式中,k表示点k’的近邻点的数量,i表示第i个近邻点,表示权重,且权重值为点
k’到其邻近点的距离。
令= ,由此可以获得点k’的FPFH特征。
遍历面部模型点云中的所有特征点对,得到每个特征点对中的点的FPFH特征。
如图2所示,示出了面部模型点云Smri_anterior未经过法向量优化方法优化所提取的FPFH特征经过主成分分析后得到的主成分分析图;如图3所示,示出了面部模型点云Smri_anterior经过法向量优化方法优化后所提取的FPFH特征进行主成分分析后得到的主成分分析图。对比图2和图3可知,经过面部模型法向量经优化后所提取的FPFH特征,在FPFH特征空间内具有代表性的特征点相较于图3中的常规特征点有更高的区分度,从而提高了后续面部模型点云与实体面部点云的配准精度,同时还有利于进行后续在特征点中筛选具有代表性的代表点。
然后,基于所有特征点点对中的所有特征点(即面部模型点云中的所有点云特征点,例如55个点云特征点)两两之间的距离(例如,FPFH欧式距离)和第一模型预设筛选距离范围筛选获得所有特征点点对(例如,55个点云特征点)中的每个点在FPFH空间下的近邻点(例如,每个点找到5个近邻点)。例如,当点k’与面部模型点云中的所有点云特征点中的一点之间的距离位于第一模型预设筛选距离(例如,0~10)范围内时,则确定该点对中的两个点为彼此的近邻点;当有一点对的距离位于第一模型预设筛选距离范围外(即,例如位于10~+∞范围内)时,则确定这两个点彼此不为近邻点。当然,本领域技术人员也可以将第一模型预设筛选距离范围设置为阈值形式,当距离大于阈值时,则确定点对中的点彼此不为近邻点,当距离小于阈值时,则确定点对中的点彼此为近邻点。
基于面部模型点云中的所有点云特征点中的每个点与其的近邻点(在FPFH空间下)两两之间的距离和第二模型预设筛选距离范围筛选获得面部模型点云中的代表点和所述代表点对应的FPFH特征。例如,对于点k’和与其的在FPFH空间下的近邻点,计算它们两两之间的FPFH欧式距离,之后计算点k’与其所有近邻点的FPFH欧式距离的平均欧式距离,即基于点k’与其所有的近邻点之间的FPFH欧式距离,之后将所有的FPFH欧式距离相加并计算平均值,该平均值作为点k’的平均欧式距离,当点k’的平均欧式距离位于第二模型预设筛选距离(例如,0~5)范围内时,则说明点k’的表达能力不强,不足以与周围的近邻点进行较大区分,因此将点k’作为面部模型点云中的代表点。当点k’的平均欧式距离位于第二模型预设筛选距离范围外(即,例如位于5~10范围内)时,则说明点k’已经成功地区分了点云中的不同的特征,因此继续计算点k’的FPFH空间下的近邻点的平均欧式距离,之后选取平均欧式距离最大的近邻点作为代表点,即选取了最不同于其他点的点作为代表点。
基于上述步骤,遍历面部模型点云中的模型点云特征点,以获得该面部模型点云中的所有的代表点。
在一个示例中,步骤S230包括以下步骤:
在实体面部点云Scam的所有实体点云特征点中具有任意一点q1,以点q1为查询点且
在第二预设半径(例如,实体面部点云中的最大子点云的直径的1/20的值)的范围内通过k-
d Tree搜索方法确定实体点云特征点q1的个近邻特征点(例如,15个近邻点)。
之后,根据该点q1的个近邻特征点的实体曲率特征值和点q1与其的个近邻
特征点之间的距离(比如,计算两点之间的欧式距离)获得实体优化半径r2。例如,将点q1分
别与自身的近邻特征点、、…和形成点对,并计算每个点对的欧式距离,之后
将点对中的近邻特征点的实体曲率特征值作为该近邻特征点的欧式距离的权重,然后对个(例如,15个)点对的欧式距离加权求平均得到平均距离,之后将该平均距离乘以缩
放因子(即预设控制因子)例如0.8得到实体优化半径r2。通过预设控制因子可以进一步缩
小邻域范围,获得更优的特征点。当然本领域技术人员可以明白,预设控制因子可以根据实
际需求来设置,其可以设置为大于1的常数,以便于根据实际情况扩大邻域范围,也可以设
置为小于1的常数,以便于根据实际情况缩小邻域范围,具体设置数据根据实际情况进行选
择。
然后,在以点q1为球心以实体优化半径为半径的球体内通过k-d Tree搜索方法获得点q1的mm个近邻点,因此得到查询点点q1与其的近邻点两两之间形成的特征点点对,例如,当点q1的近邻点为11个时,实体优化半径范围内含查询点在内共有12个点,因此特征点点对有12(12-1)/2=66个。
之后,基于所有特征点点对(例如,66个)和它们自身的优化后的实体面部法向量获得点q1的FPFH特征。
例如,对于点q1构建点对(q1,),并获得点q1的优化后的实体面部法向量和点的优化后的实体面部法向量(, , );基于点对
(q1,)和点q1的优化后的实体面部法向量与点的优化后的实体
面部法向量分别计算点q1的简化点特征直方图SPFH(q1)和点的简化点特
征直方图SPFH(),之后使用邻近的SPFH值来计算FPFH特征(即FPFH描述子)FPFH(q1)。其
中,FPFH(q1)的表达式为:
式中,q表示点的近邻点的数量,i表示第i个近邻点,表示权重,且权重值为
点到其近邻点的距离。
令= ,由此可以获得点q’的FPFH特征。
遍历实体面部点云中的所有特征点对,得到每个特征点对中的点的FPFH特征。
然后,基于所有特征点点对中的所有特征点(即实体面部点云的点云特征点,例如66个点云特征点)两两之间的距离(例如,欧式距离)和第一实体预设筛选距离范围筛选获得所有特征点点对(例如,66个点云特征点)中的每个点在FPFH空间下的近邻点(例如,每个点找到5个近邻点)。例如,当点q 1与实体面部点云中的所有点云特征点钟的一点之间的距离位于第一实体预设筛选距离范围内时,则确定该点对中的两个点为彼此的近邻点;当有一点对的距离位于第一实体预设筛选距离(例如,0~10)范围外时,则确定该点对中的两个点彼此不为近邻点。
基于所有特征点点对中的每个点与其的近邻点(在FPFH空间下)两两之间的距离和第二实体预设点对距离范围筛选获得实体面部点云中的代表点和所述代表点对应的FPFH特征。例如,对于点q1和与其的在FPFH空间下的近邻点,计算它们两两之间的FPFH欧式距离,之后选择与点q1形成点对的近邻点计算平均欧式距离,即基于点q1与其所有的近邻点之间的FPFH欧式距离,之后将所有的FPFH欧式距离相加并计算平均值,该平均值作为点q1的平均欧式距离,当点q1的平均欧式距离位于第二实体预设筛选距离范围内时,则说明点q1的表达能力不强,不足以与周围的近邻点进行较大区分,因此将点q1作为实体面部点云中的代表点。当点q1的平均欧式距离位于第二实体预设筛选距离范围外时,则说明点q1已经成功地区分了点云中的不同的特征,因此继续计算点q1的FPFH空间下的近邻点的平均欧式距离,之后选取平均欧式距离最大的近邻点作为代表点,即选取了最不同于其他点的点作为代表点。
基于上述步骤,遍历实体面部点云中的实体点云特征点,以获得该实体面部点云中的所有的代表点。
通过在FPFH特征空间内对各自的点云特征点进行进一步精简,减少了后续需要进行特征匹配的点的数量,达到降低计算复杂度,提高配准速度的效果。
在一个实例中,根据本发明的另一实施例提供了一种点云配准方法。所述点云配准方法包括以下步骤:
基于面部模型点云的FPFH特征和实体面部点云的FPFH特征通过配准方法进行特征匹配以获得优化空间变换关系;
基于所述优化空间变换关系将所述头皮点云转换至所述实体面部点云的空间中,
提取所述面部模型点云的FPFH特征和实体面部点云的FPFH特征的方法为根据上述任一示例或任一实例所述的点云特征提取方法。
在一个示例中,所述配准方法包括采样一致性方法(SAC-IA)、随机采样一致性方法(RANSAC)和迭代最近点(ICP)方法中的至少一种。在一个示例中,优化空间变换关系包括优化平移变换矩阵和优化旋转变换矩阵。
在一个示例中,根据本发明的还一实施例提供了一种可读存储介质。本发明的实施例的“可读存储介质”是指参与向处理器提供程序或指令以供执行的任何介质。所述介质可以采用多种形式,包括但不限于非易失性介质、易失性介质和传输介质。非易失性介质包括例如光盘或磁盘,诸如存储设备。易失性介质包括动态存储器,诸如主存储器。传输介质包括同轴电缆、铜线和光纤,包括包含总线的导线。传输介质还可以采用声波或光波的形式,诸如在射频(RF)和红外(IR)数据通信期间生成的声波或光波。可读存储介质的常见形式包括例如软盘、柔性盘、硬盘、磁带、任何其他磁介质、CD-ROM、DVD、任何其他光学介质、穿孔卡、纸带、任何具有孔图案的其他物理介质、RAM、PROM和EPROM、FLASH-EPROM、任何其他存储器芯片或盒、如下所述的载波、或计算机可从其中进行读取的任何其他介质。
该可读存储介质上存储程序或指令,所述程序或指令被处理器执行时以执行上述的点云特征提取方法或点云配准方法。
根据本发明实施例的点云特征提取方法、点云配准方法及可读存储介质具有以下优点中的至少一个:
(1)本发明提供的点云特征提取方法、点云配准方法及可读存储介质能够通过法向量优化方法调整面部模型点云和实体面部点云中的点的法向量方向,保证了面部模型点云与实体面部点云特征的稳定性和相似性,以优化点云中点的FPFH特征,从而有效地提升了点的FPFH特征(即点的FPFH描述子)的质量,进一步提升了配准的精度;
(2)本发明提供的点云特征提取方法、点云配准方法及可读存储介质能够通过法向量优化方法调整面部模型点云和实体面部点云中的点的法向量方向,可以让各自点云构成的曲面特征较为统一,以更好地与噪声点云区分,从而提高了各自点云的FPFH特征的质量;
(3)本发明提供的点云特征提取方法、点云配准方法及可读存储介质根据优化后的曲率特征值对面部模型点云和实体面部点云中的每个点进行筛选,以去除各自点云中的冗余特征点,并筛选出各自点云中较为突出的凸起点作为点云特征点,从而提高FPFH特征配准精度和减少配准时间;
(4)本发明提供的点云特征提取方法、点云配准方法及可读存储介质在提取FPFH特征的过程中充分考虑到面部模型点云的局部形状和密度变化,从而使用优化的半径来优化k邻域范围内的近邻点和近邻点数量,以在保留并提高点云特征的识别特性基础上降低点对之间的计算难度,进而提高了FPFH特征的提取速度和提取精度;
(5)本发明提供的点云特征提取方法、点云配准方法及可读存储介质通过筛选代表点,去除了各自点云中的冗余FPFH特征和对应的点对,从而提高了FPFH特征的提取精度,进而提高了配准的精确性,同时降低了计算复杂程度,由此降低了计算机开销,进而提高了配准速度;
(6)本发明提供的点云特征提取方法、点云配准方法及可读存储介质采用了对MRI头皮点云进行面部切分,由此提高了配准的速度与精度。
虽然本总体发明构思的一些实施例已被显示和说明,本领域普通技术人员将理解,在不背离本总体发明构思的原则和精神的情况下,可对这些实施例做出改变,本发明的范围以权利要求和它们的等同物限定。