1.本发明涉及三维扫描技术领域,尤其涉及一种点云配准方法、一种计算机可读存储介质、一种电子设备和一种医疗影像设备。
背景技术:2.随着图像领域技术的不断发展,越来越多的影像设备可以获取三维图像并显示,在这个过程中可能需要用到配准技术,例如,在医疗影像领域的口内扫描仪或口腔ct(computed tomography,电子计算机断层扫描)。
3.口内扫描仪在扫描过程经过边重建、边配准、边融合的技术来获得融合后的曲面,并将融合后的曲面实时显示出来。口腔ct产品上应用配准技术,将ct数据与口内扫描仪获得数据进行配准,以实现更多的图像重建或显示功能,参与配准的两组数据的量级都非常大。
4.口内扫描仪或口腔ct采用常规的配准方法进行配准,要么配准精度达不到要求,要么配准速度跟不上。
5.因此,如何同时保证配准精度和配准速度是亟待解决的问题。
技术实现要素:6.本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
7.为此,本发明的第一个目的在于提出一种点云配准方法,通过确定有效点对的数量和配上点对的数量的配准点总数进行配准成功判断,能够在提高点云配准精度的同时,还加快了点云配准速度。
8.本发明的第二个目的在于提出一种计算机可读存储介质。
9.本发明的第三个目的在于提出一种电子设备。
10.本发明的第四个目的在于提出一种医疗影像设备。
11.为达上述目的,本发明第一方面实施例提出了一种点云配准方法,包括:获取待配准点云数据;根据所述待配准点云数据的每个配准点确定有效点对;根据所述有效点对确定变换矩阵,并根据所述变换矩阵对所述每个配准点进行矩阵变换,获取变换后的有效点对;根据变换后的有效点对确定配上点对,并根据所述有效点对的数量和所述配上点对的数量的配准点总数进行配准成功判断。
12.根据本发明实施例提供的点云配准方法,在获取待配准点云数据后,根据待配准点云数据的每个配准点确定有效点对,并根据有效点对确定变换矩阵以对各配准点进行矩阵变换,以及根据变换后的有效点对确定配上点对,最后根据有效点对的数量和配上点对的数量的配准点总数进行配准成功判断,从而无需通过法线来判断是否配上,能够大大提高点云配准精度的同时,加快了点云配准速度。
13.另外,根据本发明上述实施例的点云配准方法还可以具有如下附加技术特征:
14.可选地,根据本发明的一个实施例,根据所述有效点对的数量和所述配上点对的
数量的配准点总数进行配准成功判断,包括:判断所述有效点对的数量和所述配准点总数是否满足预设条件,如果满足,则确定配准成功;其中,所述预设条件包括:所述配上点对的数量与所述有效点对的数量之比大于第二预设值。
15.可选地,根据本发明的一个实施例,所述有效点对的数量与所述配准点总数之比大于第一预设值;和/或,所述有效点对的数量减去所述配上点对的数量后与所述配准点总数之比小于第三预设值。
16.可选地,根据本发明的一个实施例,获取待配准点云数据,包括:获取原始点云数据,并对所述原始点云数据进行mc曲面重建,获得初始曲面;对所述初始曲面进行点云化处理,获得初始待配准点云数据,其中,所述初始待配准点云数据的每个配准点为所述初始曲面的三角网格顶点。
17.可选地,根据本发明的一个实施例,根据所述待配准点云数据的每个配准点确定有效点对,包括:获取目标曲面,所述目标曲面由三角网格组成;从所述目标曲面上,确定所述待配准点云数据的每个配准点对应的配准区域网格,针对每个配准点和所述配准区域中的每个三角网格,判断该配准点的投影点是否位于该三角网格内,如果是,则计算该配准点与位于所述三角网格内的投影点之间的欧氏距离;针对每个配准点,根据该配准点对应的所有欧氏距离,确定所述欧氏距离最小的投影点,并将该欧氏距离最小的投影点与该配准点组成一个有效点对。
18.可选地,根据本发明的一个实施例,所述从所述目标曲面上,确定所述待配准点云数据的每个配准点对应的配准区域,包括:以所述待配准点云数据的每个配准点为中心,确定预设范围;将所述目标曲面上对应预设范围内的三角网格区域作为该配准点对应的配准区域。
19.可选地,根据本发明的一个实施例,所述判断该配准点的投影点是否位于该三角网格内,包括:采用重心法和垂直向量法进行结合,以判断该配准点的投影点是否位于所述三角网格内。
20.可选地,根据本发明的一个实施例,所述变换矩阵包括旋转矩阵和平移矩阵,其中,根据所述有效点对确定变换矩阵,包括:对所述有效点对进行中心化,并求取协方差矩阵;对所述协方差矩阵进行矩阵变换,获得实对称矩阵;根据迭代jacobi法对所述实对称矩阵进行计算,获得四元素数;将所述四元素数转换成所述旋转矩阵,并根据所述旋转矩阵确定所述平移矩阵。
21.可选地,根据本发明的一个实施例,在根据变换后的有效点对确定配上点对之前,所述方法还包括:计算变换后的有效点对的平均欧氏距离;判断所述平均欧氏距离是否大于等于第一预设距离阈值;在所述平均欧氏距离大于等于第一预设距离阈值时,将变换后的每个配准点作为待配准点云数据,并重复执行根据所述待配准点云数据的每个配准点确定有效点对,根据所述有效点对确定变换矩阵,并根据所述变换矩阵对所述每个配准点进行矩阵变换,获取变换后的有效点对,直至变换后的有效点对的平均欧氏距离小于第一预设距离阈值。
22.可选地,根据本发明的一个实施例,在计算所述平均欧氏距离之前,所述方法还包括:获取对所述每个配准点进行矩阵变换的次数,并判断对所述每个配准点进行矩阵变换的次数是否达到预设次数。
23.可选地,根据本发明的一个实施例,所述根据变换后的有效点对确定配上点对,包括:在变换后的有效点对的平均欧氏距离小于第一预设距离阈值或者对所述每个配准点进行矩阵变换的次数达到预设次数时,根据变换后的有效点对确定配上点对。
24.可选地,根据本发明的一个实施例,根据变换后的有效点对确定配上点对,包括:获取变换后的有效点对中有效配准点与对应投影点之间的欧氏距离;将所述有效配准点与对应投影点之间的欧氏距离小于第二预设距离阈值的点对作为所述配上点对。
25.可选地,根据本发明的一个实施例,第一预设值的取值范围为(0.2,0.5),第二预设值的取值范围为(0.5,0.99),第三预设值的取值范围为(0.05,0.4)。
26.为达上述目的,本发明第二方面实施例提出了一种计算机可读存储介质,其上存储有点云配准程序,该点云配准程序被处理器执行时实现上述实施例描述的点云配准方法。
27.根据本发明实施例提供的计算机可读存储介质,存储的点云配准程序被处理器执行时,通过执行上述的点云配准方法,能够大大提高点云配准精度的同时,加快了点云配准速度。
28.为达上述目的,本发明第三方面实施例提出了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的点云配准程序,处理器执行点云配准程序时,实现上述实施例的点云配准方法。
29.根据本发明实施例提供的电子设备,处理器执行点云配准程序时,通过实现上述点云配准方法,能够大大提高点云配准精度的同时,加快了点云配准速度。
30.为达上述目的,本发明第四方面实施例提出了一种医疗影像设备,包括:获取模块,用于获取待配准点云数据;第一确定模块,用于根据所述待配准点云数据的每个配准点确定有效点对;第二确定模块,用于根据所述有效点对确定变换矩阵;变换模块,用于根据所述变换矩阵对所述每个配准点进行矩阵变换,获取变换后的有效点对;第三确定模块,用于根据变换后的有效点对确定配上点对;配准模块,用于根据所述有效点对的数量和所述配上点对的数量的配准点总数进行配准成功判断。
31.根据本发明实施例提供的医疗影像设备,通过获取模块获取待配准点云数据,第一确定模块根据待配准点云数据的每个配准点确定有效点对,第二确定模块根据有效点对确定变换矩阵,变换模块根据变换矩阵对每个配准点进行矩阵变换,获取变换后的有效点对,第三确定模块根据变换后的有效点对确定配上点对,最后配准模块根据有效点对的数量、配上点对的数量和待配准点云数据的配准点总数进行配准成功判断,无需通过法线来判断是否配上,能够大大提高点云配准精度的同时,加快了点云配准速度。
附图说明
32.图1为根据本发明一个实施例的点云配准方法流程图;
33.图2为根据本发明一个实施例的获取待配准点云数据流程图;
34.图3为根据本发明一个实施例的确定有效点对流程图;
35.图4为根据本发明一个实施例的确定配准区域流程图;
36.图5为根据本发明一个实施例的确定变换矩阵流程图;
37.图6为根据本发明一个实施例的快速求取四元素数的流程图;
38.图7为根据本发明一个实施例的简化方法求取四元素数流程图;
39.图8为根据本发明一个实施例的根据平均欧氏距离判断迭代停止条件流程图;
40.图9为根据本发明一个实施例的电子设备方框示意图;
41.图10为根据本发明一个实施例的医疗图像设备方框示意图。
具体实施方式
42.下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
43.为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
44.需要说明的是,点云配准技术领域中,将一组点云数据配准到目标上,该目标可能是点云也可能是曲面,在这个过程中,点云数据可能需要经过多轮的矩阵变换才能配准到目标上,第一轮矩阵变换对应的待配准点云数据为初始的待配准点云数据,后一轮的待配准点云数据可以是上一轮待配准点云数据经过矩阵变换后获得的点云数据。
45.本发明实施例提供的配准方法,既可以应用在医疗影像领域,如口腔ct,口内扫描仪、骨科ct、手术导航设备等产品上,也可以应用在非医疗领域。
46.图1为根据本发明一个实施例的点云配准方法的流程图。
47.如图1所示,该点云配准方法包括以下步骤:
48.s1,获取待配准点云数据。
49.可选地,在本发明的一个实施例中,如图2所示,获取待配准点云数据的步骤包括:
50.s11,获取原始点云数据,并对原始点云数据进行mc(marching cube,移动立方体算法)曲面重建,获得初始曲面。
51.s12,对初始曲面进行点云化处理,获得初始待配准点云数据,其中,初始待配准点云数据的每个配准点为初始曲面的三角网格顶点。
52.具体地,可对获取的原始点云数据进行mc曲面重建,获得初始曲面,其中,mc算法通过构造立方体,使得三角网格逼近等值面,从而实现三维重建,这样三角网格的顶点均落在立方体的边上。
53.一种实施例中,在基于扫描获得的第一幅点云所对应的原始点云数据进行mc曲面重建后,在无限空间内,以mc曲面重建中的立方体划分作为基础模型立方体的划分,采用tsdf(truncated signed distance function,截断有符号距离函数)方法对基础模型立方体的划分进行延拓,形成基础立方体。在此之后所获得的原始点云数据基于基础立方体网格进行mc曲面重建,所获得三角网格的顶点均在基础立方体的边上。其中,含有三角网格的基础立方体网格标记为true,不含有三角网格的基础立方体网格标记为false。
54.对原始点云数据进行mc曲面重建后,对初始曲面进行点云化,即,可以在初始曲面上采样(或者降采样)取点,例如可以直接把三角网格顶点作为点云的点,这样点云的点都在网格模型的立方体边上,获得初始待配准点云数据。从而,初始待配准点云数据的配准点呈均匀分布,有利于提高配准的精度与效率。并且,在mc曲面重建过程中,通过设置三角网格的大小,能够获取更加均匀的配准点,有利于提高配准精度。需要说明的是,三角网格由
若干个三角形组成。获取初始待配准点云数据之后,对初始待配准点云数据进行矩阵变换以得到待配准点云数据。
55.s2,根据待配准点云数据的每个配准点确定有效点对。
56.一种实施方式中,采用点到面的配准方式计算有效点对,则有效点对为待配准点云数据中的配准点和该配准点对应的目标投影点组成的点对,其中,该配准点到目标曲面中预设范围内每个三角网格所在平面投影,若投影点在相应的三角网格内,则计算该配准点与投影点的欧式距离,将最小欧式距离对应的投影点作为目标投影点。
57.另一种实施方式中,采用点到点的配准方式计算有效点对,则有效点对为待配准点云数据中的配准点和该配准点对应的目标配准点组成的点对。其中,目标配准点为目标点云上的点,且该配准点到目标点云中在预设范围内的各个点的距离中对应一个最小距离;目标点云在预设范围内的各个点中,最小距离对应的点即为目标配准点。可选地,在本发明的一个实施例中,如图3所示,根据待配准点云数据的每个配准点确定有效点对的步骤,包括:
58.s21,获取目标曲面,目标曲面由三角网格组成。
59.需要说明的是,目标曲面即为待配准点云数据要与其配准的曲面,且目标曲面由三角网格组成。
60.例如,口内扫描仪扫描口腔内牙齿,获得曲面是不断变大的,在这个过程中,第一幅点云对应的由三角网格组成的初始曲面即初始的目标曲面,将新扫描获得待配准点云在配准后融合到目标曲面上,可以获得更大的目标曲面,重复该步骤实现曲面不断变大的效果。
61.再例如,目标曲面可以是从口腔ct、骨科ct、手术导航等设备的三维数据中获得的,通过提取面数据的方式获取目标曲面,如果目标曲面不是三角网格,则可以通过mc曲面重建获取目标曲面。
62.s22,从目标曲面上,确定待配准点云数据的每个配准点对应的配准区域,针对每个配准点和配准区域中的每个三角网格,判断该配准点的投影点是否位于该三角网格内,如果是,则计算该配准点与该投影点之间的欧氏距离,该配准点的投影点是该配准点到该三角网格所在平面的投影点。
63.可选地,在本发明的一个实施例中,如图4所示,从目标曲面上,确定待配准点云数据的每个配准点对应的配准区域,包括:
64.s221,以待配准点云数据的每个配准点为中心,确定预设范围;
65.s222,将目标曲面上对应预设范围内的三角网格区域作为该配准点对应的配准区域。
66.在本发明的一个实施例中,从目标曲面上,确定待配准点云数据的每个配准点对应的配准区域,针对每个配准点和配准区域中的每个三角网格,判断该配准点的投影点是否位于该三角网格内,包括:
67.针对每个待配准点按以下方式进行:
68.(1)以待配准点为中心,确定预设范围;
69.(2)确定预设范围内的基础立方体网格;
70.(3)遍历每个所确定的基础立方体网格,判断该基础立方体网格内是否存在三角
网格,如果存在,则判断该配准点在该三角网格所在平面的投影点是否在该三角网格内,其中该基础立方体网格中对应的所有三角网格是目标曲面上该配准点对应的配准区域。
71.具体地,以每个配准点为中心、一定阈值为半径确定预设范围。假设配准点p的坐标为(x,y,z),半径为threshold,该配准点p在x轴方向上的预设范围是网格编号从xl至xr,其中,该配准点p在y轴方向上的预设范围是网格编号从yl至yr,其中,该配准点p在z轴方向上的预设范围是网格编号从zl至zr,其中,是网格编号从zl至zr,其中,其中,guidsize表示立方体边长,threshold表示设定阈值(即半径),其大小为n个guidsize,float表示浮点型数据类型,ceilf表示进一法函数,例如,表示将的小数部分去掉后,对的整数部分加一。因此,根据本发明的实施例能够根据每个配准点对应的预设范围确定基础立方体网格,以及该网格内该每个配准点对应的立方体网格编号。
72.进一步地,遍历每个配准点对应预设范围内基础立方体网格,判断该基础立方体网格中否存在三角网格,预设范围内所有基础立方体网格中存在的所有三角网格对应的区域即是目标曲面上对应预设范围内的三角网格区域,将该区域作为配准点对应的配准区域。具体地,预先将存在三角网格的基础立方体网格标记为true,没有存在三角网格的基础立方体标记为false,据此可以判断出每个配准点对应预设范围内的立方体网格中哪些具有三角网格,这些三角网格是目标曲面上的,组成了该配准点的配准区域。
73.可选地,在本发明的一个实施例中,判断该配准点的投影点是否位于该三角网格内,包括:可采用重心法和垂直向量法判断该配准点的投影点是否位于该三角网格内。通过提前判断配准点的投影点是否位于三角网格内,可以减少配准过程的运算步骤,减少运算量,加快点云配准速度。
74.具体而言,设三角网格中的其中一个三角形三个顶点分别是a,b,c,平面内a点起始的两个向量分别为v1=b-a,v2=b-a,三角形内任意一点pp,根据重心法可知,a,b,c,pp具有如下关系:
75.pp=a+t1*v1+t2*v2
76.其中,t1,t2为常数,当同时满足0≤t1≤1,0≤t2≤1,t1+t2<1三个条件时,证明pp在三角形abc内。
77.若配准点p的投影点为pp,则向量v=p-pp与三角形abc垂直,则,
78.v
·
v1=0
79.v
·
v2=0
80.根据上述公式可求得:
81.t1=(a1*c2-a2*c1)/(b1*c2-c1*c1);
82.t2=(a1*c1-a2*b1)/(c1*c1-b1*c2);
83.其中,a1=v3
·
v1,b1=v1
·
v1,c1=v2
·
v1,a2=v3
·
v2,c1=v2
·
v2,v3=p-a。
84.如果t1,t2同时满足0≤t1≤1,0≤t2≤1,t1+t2<1三个条件,则证明配准点p的投
影点pp在三角网格内。需要说明的是,配准点对应的投影点不唯一,即一个配准点可以在多个三角网格内投影多个投影点,且仅有部分配准点的投影点在三角网格内。
85.s23,针对每个配准点,根据该配准点对应的所有欧氏距离,确定欧氏距离最小的投影点,并将该欧氏距离最小的投影点与该配准点组成一个有效点对。
86.具体而言,通过上述步骤如果确定配准点的投影点位于三角网格内,则可以获得该投影点的坐标,从而可以获取针对该配准点的所有位于三角网格中的投影点的坐标,并分别计算该配准点与位于三角网格中的投影点之间的欧氏距离,找出欧氏距离最小对应的投影点,将该投影点与配准点组成一个有效点对,记为[p1]:[q1]。需要说明的是,投影点落在三角网格内的配准点称为有效配准点。
[0087]
因此,在本发明的实施例执行s21,s22和s23能够根据待配准点云数据的每个配准点确定有效点对。
[0088]
s3,根据有效点对确定变换矩阵,并根据变换矩阵对每个配准点进行矩阵变换,获取变换后的有效点对。
[0089]
可选地,在本发明的一个实施例中,如图5所示,变换矩阵可包括旋转矩阵和平移矩阵,根据有效点对确定变换矩阵可包括以下步骤:
[0090]
s31,对有效点对进行中心化,并求取协方差矩阵。
[0091]
s32,对协方差矩阵进行有效变换,获得实对阵矩阵。
[0092]
s33,根据迭代jacobi法对实对称矩阵进行计算,获得四元素数。
[0093]
s34,将四元素数转换成旋转矩阵,并根据旋转矩阵确定平移矩阵。
[0094]
具体而言,获取点云[p1]和点云[q1]的中心点cp和cq,有效点对[p1]l[q1]中心化为[pc]l[qc]。求取协方差矩阵:
[0095][0096]
其中,pcxqcx表示[pc]的x轴坐标乘以[qc]的x轴坐标;pcxqcy表示[pc]的x轴坐标乘以[qc]的y轴坐标;pcxqcz表示[pc]的x轴坐标乘以[qc]的z轴坐标;pcyqcx表示[pc]的y轴坐标乘以[qc]的x轴坐标;pcyqcy表示[pc]的y轴坐标乘以[qc]的y轴坐标;pcyqcz表示[pc]的y轴坐标乘以[qc]的z轴坐标;pczqcx表示[pc]的z轴坐标乘以[qc]的x轴坐标;pczqcy表示[pc]的z轴坐标乘以[qc]的x轴坐标;pczqcz表示[pc]的z轴坐标乘以[qc]的z轴坐标。
[0097]
然后,对协方差矩阵进行有效变换,转成4*4实对称矩阵,从而可以减少计算过程中的计算量:
[0098][0099]
接着按照迭代jacobi法和对称性快速求取四元素数,如图6所示,具体包括以下步骤:
[0100]
s331,寻找实对称矩阵m中的不包括对角线的上三角或不包括对角线的下三角中最大的元素m
ij
,该最大的元素m
ij
位于实对称矩阵m第i行第j列。通过判断m
ij
是否为0,或者循环次数是否达到设定的循环次数,判断循环是否结束。当m
ij
为0时或者循环次数达到设定
的循环次数时,则循环结束。
[0101]
s332,对实对称矩阵m旋转θ角度,使实对称矩阵m对角化。
[0102]
具体地,构建4*4旋转变换矩阵f,其中f
ij
=cosθ,f
jj
=cosθ,f
ij
=sinθ,f
ji
=-sinθ,位于对角线上的其他元素为1,剩余元素为0,其中,旋转变换矩阵f为:
[0103][0104]
然后,获取旋转变换矩阵f的转置f
t
为:
[0105][0106]
对实对称矩阵m进行变换为f
t
*m*f。
[0107]
当时,实对称矩阵m可以完全对角化,即变换后的实对称矩阵m为对角矩阵。
[0108]
根据tan 2θ,可以求出sinθ和cosθ:
[0109][0110][0111]
s333,根据旋转变换矩阵f与实对称矩阵m的性质将计算过程简化,其中,由于f是准对角矩阵,m变换后有很多0值和相等值无需计算,所以可将计算过程简化,具体简化过程如图7所示:
[0112]
s3331,对实对称矩阵m第i行第i列和第j行第j列的元素进行变换,得到:
[0113][0114][0115]
其中,m
ii
′
为实对称矩阵m的变换矩阵m
′
第i行第i列的元素,m
jj
′
为实对称矩阵m的变换矩阵m
′
第j行第j列的元素。
[0116]
s3332,对实对称矩阵m中第k行第i列和第k行第j列的元素进行变换。其中,m
kj
′
为实对称矩阵m的变换矩阵m
′
第k行第j列的元素,m
ki
′
为实对称矩阵m的变换矩阵m
′
第k行第i列的元素,k=0~i-1:
[0117]mkj
′
=m
ki
*sinθ+m
kj
*cosθ
[0118]mki
′
=m
ki
*cosθ-m
kj
*sinθ
[0119]
s3333,对实对称矩阵m中第k行第j列和第i行第k列的元素进行变换。其中,m
kj
′
为实对称矩阵m的变换矩阵m
′
的第k行第j列元素,m
ik
′
为实对称矩阵m的变换矩阵m
′
的第i行第k列元素,k=i+1~j-1:
[0120]mkj
′
=m
ik
*sinθ+m
kj
*cosθ
[0121]mik
=m
ik
*cosθ-m
kj
*sinθ
[0122]
s3334,对实对称矩阵m中第j行第k列和第i行第k列的元素进行变换。其中,m
jk
′
为实对称矩阵m的变换矩阵m
′
的第j行第k列元素,m
ik
′
为实对称矩阵m的变换矩阵m
′
的第i行第k列元素,k=j+1~3:
[0123]mjk
′
=m
ik
*sinθ+m
jk
*cosθ
[0124]mik
′
=m
ik
*cosθ-m
jk
*sinθ
[0125]
s3335,构造一个4*4的矩阵s,矩阵s中的元素为每次变换的值。其中,k=0~3,矩阵s为单位矩阵,s
ki
,s
kj
表示当前值,s
ki
′
,s
kj
′
表示迭代更新的值:
[0126]skj
′
=s
ki
*sinθ+s
kj
*cosθ
[0127]ski
′
=s
ki
*cosθ-s
kj
*sinθ
[0128]
s3336,循环执行s3331、s3332、s3333、s3334和s3335,满足循环次数后,跳出循环。由此,寻找m
′
矩阵中对角线上最大元素m
ii
′
,获得四元素数(s
0i
,s
1i
,s
2i
,s
3i
)。
[0129]
需要说明的是,s
0i
,s
1i
,s
2i
和s
3i
表示迭代停止后,矩阵s最后一次更新时第i列的各个元素,且该具体实施例的实对称矩阵仅作为一种矩阵形式,对具体的待求解的矩阵形式不做限定,可以是普通的方阵。
[0130]
通过上述步骤可以获得四元素数,然后将四元素数转换成旋转矩阵:
[0131][0132]
接着,根据旋转矩阵r获取平移矩阵t:
[0133][0134]
其中,cpx为点云[p1]的中心点cp的x轴坐标,cpy为点云[p1]的中心点cp的y轴坐标,cpz为点云[p1]的中心点cp的z轴坐标,cpx为点云[q1]的中心点cq的x轴坐标,cqy为点云[q1]的中心点cq的y轴坐标,cqz为点云[q1]的中心点cq的z轴坐标。
[0135]
因此,在本发明的实施例中,通过执行s31,s32,s33和s34,即对有效点对进行中心化,并求取协方差矩阵,再对协方差军阵进行矩阵变换以获取实对称矩阵,再根据迭代jacobi法对该实对称矩阵进行计算以获得四元素数,最后将四元素数转换成旋转矩阵,并根据旋转矩阵确定平移矩阵,此时变换矩阵求取完成。
[0136]
需要说明的是,在实际应用时,实现步骤s1、s2、s3的过程可以仅执行一轮,也可以循环执行。如果循环执行,在满足预设条件后可以跳出循环过程,具体包括步骤s1、s2、s3、s1、s2、s3
…
直至跳出循环,在这个过程中,步骤s1、s2、s3可以被执行一次或多次。
[0137]
一种实施例中,在循环执行步骤s1、s2、s3的情况下,在求取变换矩阵后,根据变换
矩阵对每个配准点进行矩阵变换即对待配准点云数据的点云进行变换时,还需要获取对配准点进行矩阵变换的次数,并判断对配准点进行矩阵变换的次数是否达到预设次数。也就是说,在对每个配准点进行矩阵变换时,还获取每个配准点进行矩阵变换的次数,在变换次数达到设定的次数时,不再对配准点进行矩阵变换,也就不再计算变换后的有效点的平均欧式距离。
[0138]
根据本发明的一个实施例,如图8所示,根据有效点对确定变换矩阵,并根据变换矩阵对每个配准点进行矩阵变换,获取变换后的有效点对之后,还需要执行以下步骤:
[0139]
s100,计算变换后的有效点对的平均欧氏距离。
[0140]
s200,判断平均欧氏距离是否大于等于第一预设距离阈值。
[0141]
s300,在平均欧氏距离大于等于第一预设距离阈值时,将变换后的每个配准点作为待配准点云数据,并重复执行根据待配准点云数据的每个配准点确定有效点对,根据有效点对确定变换矩阵,并根据变换矩阵对每个配准点进行矩阵变换,获取变换后的有效点对,直至变换后的有效点对的平均欧氏距离小于第一预设距离阈值。其中,第一预设距离阈值可根据实际情况进行标定。
[0142]
s4,根据变换后的有效点对确定配上点对,并根据有效点对的数量和配上点对的数量的配准点总数进行配准成功判断。
[0143]
具体地,在变换后的有效点对的平均欧氏距离小于第一预设距离阈值或者对配准点进行矩阵变换的次数达到预设次数时,根据变换后的有效点对确定配上点对,并根据有效点对的数量和配上点对的数量的配准点总数进行配准成功判断。
[0144]
换句话说,在获取变换后的有效点对时,还计算变换后的配准点[p
′
]确定有效点对,然后计算所有有效点对的欧氏距离,并求取平均值,当平均值大于等于第一预设距离阈值时,认为不满足条件,此时需要根据变换后的每个配准点[p
′
]重新确定有效点对,以便再对上一次变换后的点云数据也就是重新确定的待配准点云数据进行矩阵变换。在所有有效点对的平均欧氏距离小于第一预设距离阈值时,认为满足条件,此时根据变换后的有效点对确定配上点对,并根据有效点对的数量和配上点对的数量的配准点总数进行配准成功判断。或者,在对每个配准点进行矩阵变换时,如果变换的次数达到设定的最大次数,则不再进行矩阵变换,直接根据变换后的有效点对确定配上点对,并根据有效点对的数量和配上点对的数量的配准点总数进行配准成功判断。
[0145]
使用口内扫描仪对口腔内牙齿进行扫描,可以获取多帧图像对应多幅点云数据,利用配准方法将配的上的点云数据融合到目标曲面上,基于此,可以实现扫描获取牙齿模型的过程。该过程中,如果针对每幅点云数据和目标曲面进行配准时,如果配不上,则将该幅点云数据丢弃,重新从多帧图像对应的点云数据中获取待配准点云数据,由于相邻帧对应的点云数据具有重叠部分,因此,可以实现牙齿完整模型的重建。
[0146]
根据本发明的一个实施例,根据变换后的有效点对确定配上点对,包括:获取变换后的有效点对中有效配准点与对应投影点之间的欧氏距离;将有效配准点与对应投影点之间的欧氏距离小于第二预设距离阈值的点对作为配上点对。其中,第二预设距离阈值可根据实际情况进行标定。也就是说,在变换后的有效点对中有效配准点与对应投影点之间的欧氏距离小于第二预设距离阈值的配准点和投影点作为配上点对。
[0147]
根据本发明的一个实施例,根据有效点对的数量和配上点对的数量的配准点总数
进行配准成功判断,包括:判断有效点对的数量和配准点总数是否满足预设条件,如果满足,则确定配准成功。其中,预设条件包括:配上点对的数量与有效点对的数量之比大于第二预设值。第二预设值可根据实际情况进行标定。例如,第二预设值的取值范围可以为(0.5,0.99),如0.8。
[0148]
根据本发明的一个实施例,预设条件还包括:有效点对的数量与配准点总数之比大于第一预设值;和/或,有效点对的数量减去配上点对的数量后与配准点总数之比小于第三预设值。其中,第一预设值和第三预设值可根据实际情况进行标定,例如,第一预设值的取值范围可以为(0.2,0.5),如0.3或0.4,第三预设值的取值范围可以为(0.05,0.4),如0.1。
[0149]
具体而言,利用上述获取的旋转矩阵r和平移矩阵t对配准点p进行矩阵变换,经过矩阵变换后获得变换配准点p
′
:
[0150]
p
′
=p+t
[0151]
重复上述步骤s21-s22,直至满足下述一定条件或者迭代次数超过预设最大值时,跳出循环,并变换后的点云[p
′
]和[q],确定是否配准成功。第一,考虑到在找落在三角网格中的投影点时,存在三角网格中不存在投影点的情况,即找不到对应的配准点对应的投影点(也就是无效点),所以需要判断有效点对的数量与配准点总数之比大于第一预设值y1,其中,0.2<y1<0.5,这个是根据两片点云的重合区域来定的;第二,配上点对的数量与有效点对的数量之比大于第二预设值y2,其中,0.5<y2<0.99;第三,非配上点对/点云[p]点总数需要小于第三预设值y3,其中,非配上点对=有效点对-配上点对,0.05<y3<0.4,当y3取0.1时,认为不能有超过10%的区域没有配上。
[0152]
根据配上点对的数量、有效点对的数量,以及非配上点对的数量,从多个维度对配上条件进行设置,使得既保证了配准精度,也保证了配准速度或效率。
[0153]
需要说明的是,在实际应用时,实现步骤s1、s2、s3、s4的过程可以仅执行一轮,也可以循环执行。循环执行则可以包括s1、s2、s3的内循环,以及跳出内循环之后,再执行步骤s4后的外循环。
[0154]
内循环:在满足预设条件后可以跳出内循环过程,具体包括步骤s1、s2、s3、s1、s2、s3......直至跳出循环,在这个过程中,步骤s1、s2、s3可以被执行一次或多次。
[0155]
外循环:当跳出内循环后,执行步骤s4,如果配不上,则可以丢弃待配准点云数据,重新通过扫描或者对原有数据进行数据处理后获取待配准点云数据,再重新执行上述步骤,实现外循环。例如,可以通过口内扫描仪扫描获得的新一帧图像对应的点云数据,也可以从ct数据上重新提取点云数据。
[0156]
一种实施例中,口内扫描仪扫描过程中需要边重建、边配准、边融合,且把融合后的曲面实时显示出来,以单幅曲面数据量10000个面片为例,基于本实施例提供的配准方法,即使结合常规的融合方法,也可以使配准融合的精度达到10微米以下,配准融合的总速度可以达到20ms左右,从而实现快速精确扫描。不仅利于获取到优质的牙齿模型,而且大大提升用户体验。
[0157]
一种实施例中,口腔ct上应用该配准方法既可以将利用口腔ct获取的两个同源的数据进行配准,也可以将利用口腔ct获取的和利用口内扫描仪获取的不同源的数据进行配准。既可以提高配准精度,也可以提高配准速度或效率。
[0158]
口腔ct可以获取头颅的三维体数据,根据区域增长法可以从ct数据中提取牙齿的完整模型,并将牙齿的完整模型转换为完整模型的第一点云数据,口内扫描仪可以获取牙齿和部分牙龈的三维面数据,将三维面数据转换为第二点云数据。将第一点云数据和第二点云数据中一者作为待配准点云数据,将另一者作为目标点云或将另一者对应的mc重建曲面(由三角网格组成)作为目标曲面,对该待配准点云数据和目标曲面,或对该配准点云数据和目标点云按照本实施例提供的点云配准方法实现配准过程。进一步的,如果判断配准不成功,则可以将第一点云数据和/或第二点云数据丢弃,重新获取第一点云数据和/或第二点云数据,重复执行配准步骤,直至满足配准成功。
[0159]
一种实施例中,与口腔ct上的应用类似,在骨科ct上,可以将通过骨科ct获得治疗前后的ct数据进行配准,以便对两组图像对比显示,两组ct数据中通过一者提取的点云数据作为待配准点云数据,通过另一者提取的点云数据作为目标点云,或基于目标点云和mc曲面重建方法获得目标曲面。
[0160]
在手术导航设备产品上,可以利用三维扫描仪对骨头模型进行扫描获得三维面数据,然后进行点云化以获取点云数据,利用骨科ct对人体进行扫描获得三维体数据,通过该三维体数据提取骨头表面数据,然后进行点云化以获取点云数据。两组点云数据中,一者为待配准点云数据,另一者为目标点云,或基于目标点云和曲面重建方法获得目标曲面。
[0161]
综上,本发明实施例的点云配准方法,通过提前判断配准点的投影点是否在三角网格内,当配准点的投影点在三角网格内时,再计算满足此条件的配准点与其投影点的欧氏距离,减少了点云配准过程的运算量,根据有效点对率、配上点对率以及非配上点对率确定点云配准成功,该点云配准方法提高了点云配准精度,加快了点云配准速度。应用在口内扫描仪、口腔ct、骨科ct和手术导航设备上,可以提高配准精度和速度,实现快速获取图像并显示,提升用户体验。
[0162]
对应上述实施例,本发明还提出了一种计算机可读存储介质。
[0163]
本发明实施例的计算机可读存储介质,其上存储有点云配准程序,该点云配准程序被处理器执行时实现上述实施例的点云配准方法。
[0164]
根据本发明实施例提供的计算机可读存储介质,存储的点云配准程序被执行时,通过提前判断配准点的投影点是否在三角网格内,当配准点的投影点在三角网格内时,再计算满足此条件的配准点与其投影点的欧氏距离,减少了点云配准过程的运算量,根据有效点对率、配上点对率以及非配上点对率确定点云配准成功,提高了点云配准精度,加快了点云配准速度。
[0165]
对应上述实施例,本发明还提出了一种电子设备。
[0166]
图9为根据本发明一个实施例的电子设备方框示意图。
[0167]
本发明实施例还提供了一种电子设备100,包括存储器101、处理器102及存储在存储器上并可在处理器上运行的点云配准程序,处理器102执行点云配准程序时,实现上述实施例的点云配准方法。
[0168]
根据本发明实施例提供的电子设备,处理器执行点云配准程序时,通过提前判断配准点的投影点是否在三角网格内,当配准点的投影点在三角网格内时,再计算满足此条件的配准点与其投影点的欧氏距离,减少了点云配准过程的运算量,根据有效点对率、配上点对率以及非配上点对率确定点云配准成功,该电子设备提高了点云配准精度,加快了点
云配准速度。
[0169]
对应上述实施例,本发明还提出了一种医疗影像设备,该医疗影像设备可以为口内扫描仪或口腔ct,但不限于此。
[0170]
图10为根据本发明一个实施例的医疗影像设备方框示意图。
[0171]
如图10所示,该医疗影像设备1包括:获取模块10,用于获取待配准点云数据;第一确定模块20,用于根据待配准点云数据的每个配准点确定有效点对;第二确定模块30,用于根据有效点对确定变换矩阵;变换模块40,用于根据变换矩阵对每个配准点进行矩阵变换,获取变换后的有效点对;第三确定模块50,用于根据变换后的有效点对确定配上点对;配准模块60,用于根据有效点对的数量和配上点对的数量的配准点总数进行配准成功判断。
[0172]
根据本发明的一个实施例,配准模块60根据有效点对的数量和配上点对的数量的配准点总数进行配准成功判断,具体用于:判断有效点对的数量和配准点总数是否满足预设条件,如果满足,则确定配准成功;其中,预设条件包括:配上点对的数量与有效点对的数量之比大于第二预设值。
[0173]
根据本发明的一个实施例,预设条件还包括:有效点对的数量与配准点总数之比大于第一预设值;和/或,有效点对的数量减去配上点对的数量后与配准点总数之比小于第三预设值。
[0174]
根据本发明的一个实施例,获取模块10获取待配准点云数据,具体用于:获取原始点云数据,并对原始点云数据进行mc曲面重建,获得初始曲面;对初始曲面进行点云化处理,获得初始待配准点云数据,其中,初始待配准点云数据的每个配准点为初始曲面的三角网格顶点。
[0175]
根据本发明的一个实施例,第一确定模块20根据待配准点云数据的每个配准点确定有效点对,具体用于:获取目标曲面,目标曲面由三角网格组成;从目标曲面上,确定待配准点云数据的每个配准点对应的配准区域,针对每个配准点和配准区域中的每个三角网格,判断该配准点的投影点是否位于该三角网格内,如果是,则计算该配准点与该投影点之间的欧氏距离;针对每个配准点,根据该配准点对应的所有欧氏距离,确定欧氏距离最小的投影点,并将该欧氏距离最小的投影点与该配准点组成一个有效点对。
[0176]
根据本发明的一个实施例,第一确定模块20从目标曲面上,确定待配准点云数据的每个配准点对应的配准区域,具体用于:以待配准点云数据的每个配准点为中心,确定预设范围;将目标曲面上对应预设范围内的三角网格区域作为该配准点对应的配准区域。
[0177]
根据本发明的一个实施例,第一确定模块20判断该配准点的投影点是否位于该三角网格内,具体用于:采用重心法和垂直向量法判断该配准点的投影点是否位于该三角网格内。
[0178]
根据本发明的一个实施例,变换矩阵包括旋转矩阵和平移矩阵,其中,第二确定模块30根据有效点对确定变换矩阵,具体用于:对有效点对进行中心化,并求取协方差矩阵;对协方差矩阵进行矩阵变换,获得实对称矩阵;根据迭代jacobi法对实对称矩阵进行计算,获得四元素数;将四元素数转换成旋转矩阵,并根据旋转矩阵确定平移矩阵。
[0179]
根据本发明的一个实施例,配准模块60还用于:计算变换后的有效点对的平均欧氏距离;判断平均欧氏距离是否大于等于第一预设距离阈值;在平均欧氏距离大于等于第一预设距离阈值时,将变换后的每个配准点重新确定有效点对作为待配准点云数据,并重
复执行根据所述待配准点云数据的每个配准点确定有效点对,根据所述有效点对确定变换矩阵,并根据所述变换矩阵对所述每个配准点进行矩阵变换,获取变换后的有效点对,直至变换后的有效点对的平均欧氏距离小于第一预设距离阈值。
[0180]
根据本发明的一个实施例,配准模块60还用于:获取对配准点进行矩阵变换的次数,并判断对配准点进行矩阵变换的次数是否达到预设次数。
[0181]
根据本发明的一个实施例,第三确定模块50根据变换后的有效点对确定配上点对,具体用于:在变换后的有效点对的平均欧氏距离小于第一预设距离阈值或者对配准点进行矩阵变换的次数达到预设次数时,根据变换后的有效点对确定配上点对。
[0182]
根据本发明的一个实施例,第三确定模块50根据变换后的有效点对确定配上点对,具体用于:获取变换后的有效点对中有效配准点与对应投影点之间的欧氏距离;将有效配准点与对应投影点之间的欧氏距离小于第二预设距离阈值的点对作为配上点对。
[0183]
需要说明的是,本发明实施例的医疗影像设备中未披露的细节,请参照本发明实施例的点云配准方法中所披露的细节,具体这里不再赘述。
[0184]
根据本发明实施例提供的医疗影像设备,通过获取模块获取待配准点云数据,第一确定模块根据待配准点云数据的每个配准点确定有效点对,第二确定模块根据有效点对确定变换矩阵,变换模块根据变换矩阵对每个配准点进行矩阵变换,获取变换后的有效点对,第三确定模块根据变换后的有效点对确定配上点对,最后配准模块根据有效点对的数量和配上点对的数量的配准点总数进行配准成功判断,无需通过法线来判断是否配上,能够大大提高点云配准精度的同时,加快了点云配准速度。
[0185]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0186]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0187]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0188]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0189]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示
例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0190]
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
[0191]
此外,本发明实施例中所使用的“第一”、“第二”等术语,仅用于描述目的,而不可以理解为指示或者暗示相对重要性,或者隐含指明本实施例中所指示的技术特征数量。由此,本发明实施例中限定有“第一”、“第二”等术语的特征,可以明确或者隐含地表示该实施例中包括至少一个该特征。在本发明的描述中,词语“多个”的含义是至少两个或者两个及以上,例如两个、三个、四个等,除非实施例中另有明确具体的限定。
[0192]
在本发明中,除非实施例中另有明确的相关规定或者限定,否则实施例中出现的术语“安装”、“相连”、“连接”和“固定”等应做广义理解,例如,连接可以是固定连接,也可以是可拆卸连接,或成一体,可以理解的,也可以是机械连接、电连接等;当然,还可以是直接相连,或者通过中间媒介进行间接连接,或者可以是两个元件内部的连通,或者两个元件的相互作用关系。对于本领域的普通技术人员而言,能够根据具体的实施情况理解上述术语在本发明中的具体含义。
[0193]
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
[0194]
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。