掌桥专利:专业的专利平台
掌桥专利
首页

一种三维成像数据拼接方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 09:40:06


一种三维成像数据拼接方法、装置、电子设备及存储介质

技术领域

本发明涉及三维成像技术领域,尤其涉及一种三维成像数据拼接方法、装置、电子设备及存储介质。

背景技术

目前,对于三维成像系统而言,由于成本及其他客观因素的考虑,其成像视野有其固有的限制,为突破该限制需要将不同的三维成像数据进行拼接。现有的技术中,通常是通过提取不同数据组的特征点,然后根据特征点来计算不同组数据的匹配关系进而把不同组数据进行拼接,其拼接效果取决于特征点的准确性,特征点选取不合适或者过多会降低拼接效果。也有通过修改空间坐标转换关系来对第一数据组进行坐标转换,然后计算转换后的数据组与欲拼接的数据组的相关性,通过是相关性达到最优结束迭代,但整个迭代过程速度难以提升。可见,现有技术中,对于三维成像数据的拼接存在拼接准确率低、计算速度慢的问题。

发明内容

本发明实施例提供一种三维成像数据拼接方法,能够提高对三维成像数据进行拼接的准确率及迭代的计算速度。

第一方面,本发明实施例提供一种三维成像数据拼接方法,包括以下步骤:

获取初始数据构建高斯图像金字塔最底层的坐标数据,根据所述高斯图像金字塔的坐标转换关系依次计算出所述高斯图像金字塔中所有层的坐标数据;

初始化迭代参数及所述高斯图像金字塔中的迭代层,根据所述迭代参数以及所述迭代层的坐标数据对所述迭代层进行步进计算,得到初始迭代层的坐标转换矩阵,初始化所述迭代层包括初始化最高迭代层依次到初始化最低迭代层;

判断所述坐标转换矩阵是否满足预设结束条件;

若所述坐标转换矩阵满足所述预设结束条件,则将所述坐标转换矩阵作为目标转换矩阵对第一数据组进行坐标转换,对所述第一数据组与第二数据组进行拼接融合。

第二方面,本发明实施例提供一种三维成像数据拼接装置,包括:

第一计算模块,用于获取初始数据构建高斯图像金字塔最底层的坐标数据,根据所述高斯图像金字塔的坐标转换关系依次计算出所述高斯图像金字塔中所有层的坐标数据;

第二计算模块,用于初始化迭代参数及所述高斯图像金字塔中的迭代层,根据所述迭代参数以及所述迭代层的坐标数据对所述迭代层进行步进计算,得到初始迭代层的坐标转换矩阵,初始化所述迭代层包括初始化最高迭代层依次到初始化最低迭代层;

判断模块,用于判断所述坐标转换矩阵是否满足预设结束条件;

融合模块,用于若所述坐标转换矩阵满足所述预设结束条件,则将所述坐标转换矩阵作为目标转换矩阵对第一数据组进行坐标转换,对所述第一数据组与第二数据组进行拼接融合。

第三方面,本发明实施例还提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例提供的三维成像数据拼接方法中的步骤。

第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现发明实施例提供的三维成像数据拼接方法中的步骤。

在本发明实施例中,由于通过建立高斯图像金字塔,计算出高斯图像金字塔中的每一层对应的坐标数据,根据迭代层对应的坐标数据以及迭代参数进行迭代计算坐标转换矩阵时,基于高斯图像金字塔的性质是一种由底层到顶层逐步降低分辨率的关系,迭代层越高对应的三维成像数据的分辨率越低,对迭代参数以及迭代层进行初始化后,从高斯图像金字塔中由低分辨率层向高分辨率层(最高迭代层向最低迭代层)进行步进计算,通过逐步提高迭代计算时每层的分辨率来提高所述迭代参数在迭代计算过程中的精度,能够提高最终计算得到的目标转换矩阵的精度,有利于提高图像的融合的准确率以增强融合效果;而且在迭代过程中无需进行特征点选取,且上一层已经计算好的坐标转换矩阵可以直接作为下一次迭代层的初始值来进行迭代计算,能较快得到最优参数,避免特征点选取不当造成准确率低、计算量大的问题,有利于加快迭代的计算速度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1a是本发明实施例提供的三维成像数据拼接方法的具体流程图;

图1b是本发明实施例提供的高斯图像金字塔的具体结构示意图;

图1c是本发明实施例提供的三维成像数据拼接的结构示意图;

图2是本发明实施例提供的另一种三维成像数据拼接方法的具体流程图;

图3是本发明实施例提供的另一种三维成像数据拼接方法的具体流程图;

图4是本发明实施例提供的一种三维成像数据拼接装置的具体结构示意图;

图5是本发明实施例提供的另一种三维成像数据拼接装置的具体结构示意图;

图6是本发明实施例提供的另一种三维成像数据拼接装置的具体结构示意图;

图7是本发明实施例提供的另一种三维成像数据拼接装置的具体结构示意图;

图8是本发明实施例提供的另一种三维成像数据拼接装置的具体结构示意图;

图9是本发明实施例提供的另一种三维成像数据拼接装置的具体结构示意图;

图10是本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

如图1a所示,图1a是本发明实施例提供的一种三维成像数据拼接方法的流程图,具体包括以下步骤:

101、获取初始数据构建高斯图像金字塔最底层的坐标数据,根据高斯图像金字塔的坐标转换关系依次计算出高斯图像金字塔中所有层的坐标数据。

在本发明实施例中,其运用场景可以是图像拼接融合系统等。实际上,是将两张图像中的一张经过一些列的坐标转换后与另一张图像进行融合的过程。且坐标转换可以包括平移、旋转、加噪声等。上述获取最底层数据可以是通过有线连接方式或者无线连接方式进行获取。需要指出的是,上述无线连接方式可以包括但不限于3G/4G连接、WiFi(Wireless-Fidelity)连接、蓝牙连接、WiMAX(Worldwide Interoperability for Microwave Access)连接、Zigbee(低功耗局域网协议,又称紫峰协议)连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。

其中,初始数据可以是位于第一数据组的拼接位置处的数据,选取的数据量在本发明实施例中不做具体限定,可以是选取预设数据量阈值的初始数据,也可以是在拼接位置任何一个范围进行随机选取。第一数据组可以是指需要进行坐标转换的图像所包含的一系列数据。上述拼接位置可以指第一数据组中需要进行数据融合部分的边缘位置,例如:图像a与图像b进行融合,且融合时为图像a的底边去与图像b的顶边进行融合,则上述选取的初始数据为图像a的底边处的数据。获取到的初始数据即作为高斯图像金字塔中位于最底层的坐标数据,也即是最底层数据为图像的原图所包含的数据,且金字塔中位于最底层之上的坐标数据将基于最底层数据进行计算,没上升一层,图像就缩小一倍(分辨率逐层降低)。且获取到初始数据后,可以对初始数据进行优化处理,使其具有更高的稳定性。

上述高斯图像金字塔可以包括多个层,位于高斯图像金字塔中上层的数据可以根据下层的数据进行计算处理得到,也即是进行向下采样图像。要从金字塔第i层生成第i+1层(可以表示第i+1层为G_i+1),先要用高斯核对G_1进行卷积,然后删除所有偶数行和偶数列。按上述过程对第一数据组的输入图像执行操作就可产生出整个金字塔。当图像向金字塔的上层移动时,尺寸和分辨率就降低。参考图1b所示,为本发明实施例提供的一种高斯图像金字塔的结构示意图。图1b中的0、1、2、3、…、N可以表示高斯图像金字塔中的每一个层,高层中需要的基础数据可以由相邻的低层数据计算得到。

上述坐标变换关系可以是根据前一层的坐标数据计算当前层的坐标数据,且当前层的坐标数据在各个维度上的值可以是前一层坐标数据对应相同维度上的一半,上述坐标数据可以是二维坐标数据、三维坐标数据等,例如:前一层的坐标数据大小为(N

其中,f(x,y,z)表示与坐标点(x,y,z)对应的坐标值,f′(x,y,z)代表前一层的坐标点处的坐标值,i、j、k依次表示在x、y、z上的坐标参数,取值为0-1。通过对前一层坐标值根据坐标参数进行计算求和后便可以得到当前层在同一坐标点处对应的坐标值。

在获取到最底层的坐标数据后,便可以根据上述的高斯图像金字塔的坐标转换关系计算出次底层的坐标数据。因此,计算完一层的坐标数据,就以当前计算得到的坐标数据作为基础数据继续计算下一层对应的坐标数据,直到计算完高斯图像金字塔中所有层对应的坐标数据。依此类推,可以计算出所有层分别对应的坐标值。需要知道的是,上述计算坐标数据是从最底层开始计算,依次对相邻的上一层进行计算,且高斯图像金字塔的总层数可以进行自定义。

102、初始化迭代参数及高斯图像金字塔中的迭代层,根据迭代参数以及迭代层的坐标数据对迭代层进行步进计算,得到初始迭代层的坐标转换矩阵,初始化迭代层包括初始化最高迭代层依次到初始化最低迭代层。

其中,迭代参数可以是指在每次迭代计算时对应的参数,迭代参数可以随着迭代层改变。迭代参数可以包括多个自由度,初始化迭代参数可以表示初始化每次迭代计算时分别对应的自由度变化值,也即是对应每一次迭代计算需要改变的自由度。上述初始化高斯图像金字塔中的迭代层方式为从最高迭代层依次到最低迭代层,在高斯图像金字塔中,迭代层越高其分辨率越低,从高的迭代层向低的迭代层进行迭代计算也相当于从分辨率低的迭代层向分辨率高的迭代层计算,相当于每一次迭代计算都是在提高分辨率的精度。

在每次迭代计算之前完成初始化后,可以根据迭代参数以及迭代层的坐标数据计算出迭代层的坐标转换矩阵。在计算时对应每次迭代的迭代参数不同,通过提高分辨率从而可以提高迭代参数的计算精度,计算得到的坐标转换矩阵对应精度也提高。

103、判断坐标转换矩阵是否满足预设结束条件。

其中,预设结束条件中可以包括对相关性条件的判断以及迭代次数条件的判断。相关性条件的判断可表示对计算出的坐标转换矩阵进行判断,看是否指标收敛于预设的范围。满足的情况下便继续执行下一次的迭代计算,否则可以继续判断当前的迭代次数是否满足设定的迭代次数条件。

上述相关性条件的判断可以表示判断拼接融合的两张图像在各自的高斯图像金字塔处于相同迭代层的坐标数据之间的相似度值,例如:图像CDE经过坐标转换后得到图像C`D`E`,然后计算图像ABC与图像C`D`E`进行拼接得到ABCDE,计算重叠区域的相似度值。

104、若坐标转换矩阵满足预设结束条件,则将坐标转换矩阵作为目标转换矩阵对第一数据组进行坐标转换,对第一数据组与第二数据组进行拼接融合。

其中,第一数据组可以是用于获取最底层的坐标数据的一组数据,从第一数据组中可以选取一定量的数据作为最底层的坐标数据,通过向下采样构建出高斯图像金字塔每一层的数据。上述第二数据组可以是指图像保持不变的数据组,也即是等待进行数据拼接的数据组。第一数据组与第二数据组的图像拼接融合可以参考图1c所示。在图1c中,左上侧/左下侧的图可以作为第一数据组/第二数据组,右侧图为拼接后的完整三维成像图。

通过多次迭代计算满足预设结束条件后得到目标转换矩阵,将目标转换矩阵对第一数据组进行坐标转换。通过数据融合技术可以将第一数据组与第二数据组进行数据拼接融合,例如:目标转换矩阵为M,第一数据组为N,第二数据组为K,则N经过M转换后,得到M`,然后将M`与N拼接融合得到完整的三维拼接图像。在本发明实施例中,对于坐标转换后的第一数据组与第二数据组之间的拼接融合在本发明中不做限制,其包括现有的能够进行三维数据拼接融合的各种方法,例如:可以通过高分辨率全色图像与低分辨率多光谱图像融合;补充和代替因云层、冰雪覆盖、阴影等影响而形成的图像信息的空缺等等。

在本发明实施例中,由于通过建立高斯图像金字塔,计算出高斯图像金字塔中的每一层对应的坐标数据,根据迭代层对应的坐标数据以及迭代参数进行迭代计算坐标转换矩阵时,基于高斯图像金字塔的性质是一种由底层到顶层逐步降低分辨率的关系,迭代层越高对应的三维成像数据的分辨率越低,对迭代参数以及迭代层进行初始化后,从高斯图像金字塔中由低分辨率层向高分辨率层(最高迭代层向最低迭代层)进行步进计算,通过逐步提高迭代计算时每层的分辨率来提高迭代参数在迭代计算过程中的精度,能够提高最终计算得到的目标转换矩阵的精度,有利于提高图像的融合的准确率以增强融合效果;而且在迭代过程中无需进行特征点选取,且上一层已经计算好的坐标转换矩阵可以直接作为下一次迭代层的初始值来进行迭代计算,能较快得到最优参数,避免特征点选取不当造成准确率低、计算量大的问题,有利于加快迭代的计算速度。

如图2所示,图2是本发明实施例提供的另一种三维成像数据拼接方法的流程图,具体包括以下步骤:

201、获取第一数据组中位于拼接位置处的初始数据,对初始数据进行数据滤波及数据分割,得到高斯图像金字塔最底层的坐标数据。

其中,数据滤波即是对图像数据的滤波,在保证采集到的初始数据完整性的前提下,图像数据的滤波可以表示在尽可能保留图像细节特征的条件下对目标像的噪声进行抑制。上述噪声可以表示在对成像的三维数据进行获取的过程中,会不可避免的引入错误点、冗余点以及扫描环境所带来的测量噪声等。为了更好的提取实物的特征数据,须进行数据滤波,将这些错误点等进行去除。上述进行数据分割,可以是将部分背景数据进行去除。上述进行数据滤波的方式在本发明实施例中对此不作限定,对初始数据进行数据滤波的方式通常可以是借助数字信号处理和图像处理中的滤波技术来进行。具体的,滤波方法可以包括均值滤波、中值滤波、高斯滤波、k邻近均值滤波(KNN,k-NearestNeighbor)、高通滤波、低通滤波、最大均匀性平滑滤波等。例如:均值滤波,其主要采用邻域平均法,领域的范围可以自定义,通过以均值代替三维图像中的各个像素值,以消除图像数据中的噪声点,即对待处理的当前像素点选择一个模板,该模板由其邻近的若干个像素点组成,求模板中所有像素点的均值然后将均值赋予当前像素点。可以根据具体情况进行选择。

对初始数据进行数据分割(图像分割)的方式可以是把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。它是由图像处理到图像分析的关键步骤。现有的图像分割方法主要分以下几类:基于阈值的分割方法、基于区域的分割方法、基于边缘的分割方法以及基于特定理论的分割方法等。从数学角度来看,图像分割是将数字图像划分成互不相交的区域的过程。图像分割的过程也是一个标记过程,即把属于同一区域的像素赋予相同的编号。在本发明实施例中,对图像进行分割的方式不做具体限定。例如:灰度阈值分割法是一种最常用的并行区域技术,它是图像分割中应用数量最多的一类。阈值分割方法实际上是输入图像f到输出图像g的如下变换:其中,T为阈值,对于物体的图像元素g(i,j)=1,对于背景的图像元素g(i,j)=0。由此可见,阈值分割算法的关键是确定阈值,如果能确定一个合适的阈值就可准确地将图像分割开来。阈值确定后,将阈值与像素点的灰度值逐个进行比较,而且像素分割可对各像素并行地进行,分割的结果直接给出图像区域。通过对图像进行数据滤波以及数据分割之后得到的数据便可以作为高斯图像金字塔最底层的坐标数据。

202、提取高斯图像金字塔最底层已完成数据滤波及数据分割的坐标数据,根据高斯图像金字塔的坐标转换关系计算高斯图像金字塔次底层的坐标数据。

其中,最底层可以是第i层,次底层为第i+1层。高斯图像金字塔的坐标转换关系可以是第i+1层对应的坐标数据为第i层的坐标数据在各个维度上的一半,如第i层的坐标数据为(N

上述的方式属于高斯金字塔的向下采样方法,为了获取层级为G_i+1的金字塔图像,具体的方式如下:1、对图像G_i进行高斯内核卷积;2、将卷积计算后的所有偶数行和列去除,得到的图像即为G_i+1的图像。通过对输入图像G_i(原始图像)不停迭代以上步骤就会得到整个高斯图像金字塔。向下取样会逐渐丢失图像的信息,使得分辨率越来越低。对图像的向下取样操作,即缩小图像,降低分辨率。

203、将高斯图像金字塔次底层的坐标数据作为下一次坐标数据计算的基础数据,并依次迭代计算出高斯图像金字塔中所有层对应的坐标数据。

具体的,通过依次迭代计算,将第i层计算得到的坐标数据作为第i+1层的基础数据进行向下采样,基于高斯图像金字塔的坐标转换关系可以计算出第i+1层的坐标数据。每完成一次计算,便可以判断一次是否完成高斯图像金字塔的所有层计算。若没有完成,则根据上述高斯图像金字塔的坐标转换关系继续进行计算,直到完成整个高斯图像金字塔的计算。完成整个高斯图像金字塔的计算可以自定义条件,例如:图像的分辨率已经达到最小值等。

204、判断是否完成对高斯图像金字塔中所有层对应的坐标数据计算。

205、若未完成对高斯图像金字塔中所有层对应的坐标数据的计算,则继续对高斯坐标金字塔的下一层进行坐标数据计算,直至完成所有层的坐标数据计算。

其中,每计算完一次可以判断一次,检测是否完成对高斯金字塔所有层的坐标数据计算,例如:当前层为第i+5层,总层数为i+8层,则需要继续根据上述相同的计算方法进行计算i+6至i+8层的坐标数据。

206、初始化迭代参数及高斯图像金字塔中的迭代层,根据迭代参数以及迭代层的坐标数据对迭代层进行步进计算,得到初始迭代层的坐标转换矩阵,初始化迭代层包括初始化最高迭代层依次到初始化最低迭代层。

207、判断坐标转换矩阵是否满足预设结束条件。

208、若坐标转换矩阵满足预设结束条件,则将坐标转换矩阵作为目标转换矩阵对第一数据组进行坐标转换,对第一数据组与第二数据组进行拼接融合。

可选的,迭代参数包括多个自由度,上述步骤206包括:

初始化迭代参数中多个自由度每次迭代计算的自由度变化值。

其中,多个自由度可以包括6个自由度,分别为dx、dy、dz、α、β、γ。dx代表X坐标的偏移,dy代表Y坐标的偏移,dz代表Z坐标的偏移,α代表绕X轴旋转的角度,β代表绕Y轴旋转的角度,γ代表绕Z轴旋转的角度。上述初始化多个自由度参数可以表示,在进行计算时规定自由度变化值,进行一次迭代计算,其自由度变化值会发生改变,所以依次规定其计算的先后顺序,例如:初始化自由度变化值的计算顺序为dx、dy、dz、α、β、γ,当然还可以是dx、dy、dz、β、α、γ等。在本发明实施例中不做具体限制。

初始化高斯图像金字塔中的迭代层,初始化迭代层包括初始化最高迭代层依次到初始化最低迭代层。

其中,初始化迭代层可以表示首次从高斯图像金字塔中的哪一层开始计算,在本发实施例中初始的迭代层为最高层,最高层也是图像分辨率最低的一层,优先从分辨率最低的层开始进行迭代计算,后续通过依次提高迭代计算的分辨率,与多个自由度变化值结合进行计算,可以提高多个自由度的精度,能够充分提高速度的前提下保证计算精度。

根据迭代层对应的自由度变化值计算迭代层的坐标数据与第二数据组相同迭代层的坐标数据之间的坐标转换矩阵。

其中,根据初始的坐标数据(x

[x,y,z]=T[x

具体的,第一数据组与第二数据组分别存在一个高斯图像金字塔,且对第一数据组进行坐标转换。对于两个高斯图像金字塔中对应相同的迭代层,分别存在高斯图像金字塔坐标数据K1与K2。K1每经过一次迭代层对应的自由度变化值进行迭代计算后,再与K2进行计算,可以得到K1与K2之间所需的坐标转换矩阵。坐标转换矩阵可以用Mn表示,其中n表示迭代计算的次数,例如:M0表示最高层迭代得到的坐标转换矩阵,M1表示第二次迭代计算对应的坐标转换矩阵,……,直到Mn。

在本发明实施例中,基于高斯图像金字塔的性质是一种由底层到顶层逐步降低分辨率的关系,迭代层越高对应的三维成像数据的分辨率越低,对迭代参数以及迭代层进行初始化后,从高斯图像金字塔中由低分辨率层向高分辨率层(最高迭代层向最低迭代层)进行步进计算,通过逐步提高迭代计算时每层的分辨率来提高迭代参数在迭代计算过程中的精度,能够提高最终计算得到的目标转换矩阵的精度。且通过多次条件判断,当迭代次数未达到预设的迭代次数时,将当前的坐标转换矩阵作为第一初始值,将每次迭代的自由度变化值减半,继续对下一层进行迭代计算,自由度变化值越小,精度越高,且当前层已经计算好的坐标转换矩阵可以直接作为下一次迭代层的初始值来进行迭代计算,能较快得到最优参数,加快计算速度。

如图3所示,图3是本发明实施例中提供的另一种三维成像数据拼接方法的流程图,具体包括以下步骤:

301、获取初始数据构建高斯图像金字塔最底层的坐标数据,根据高斯图像金字塔的坐标转换关系依次计算出高斯图像金字塔中所有层的坐标数据。

302、初始化迭代参数及高斯图像金字塔中的迭代层,根据迭代参数以及迭代层的坐标数据对迭代层进行步进计算,得到初始迭代层的坐标转换矩阵,初始化迭代层包括初始化最高迭代层依次到初始化最低迭代层。

303、判断迭代层的坐标数据与第二数据组相同迭代层的坐标数据之间的坐标转换矩阵是否达到相关性条件。

304、若坐标转换矩阵满足相关性条件,则继续执行下一次迭代层的坐标转换计算。

其中,相关性条件可以是一个预设的相似度值范围,例如:相似度值的范围设置为0.5-1。若当前为最高层,计算得到K1与K2的坐标转换矩阵,对坐标转换矩阵进行转换化简等操作后得到的值在相似度值的范围内,则可以将次高层作为下一次的迭代层,进行坐标转换计算,得到次高层的坐标转换矩阵。

305、若坐标转换矩阵不满足相关性条件,则继续判断当前的迭代次数是否满足迭代次数条件。

其中,当坐标转换矩阵计算得到的值不满足相关性条件时,可以继续判断当前的迭代次数是否已经达到了预设的迭代次数,例如:当前的迭代次数为3,预设的迭代次数为6,表示不满足。

306、若当前的迭代次数不满足迭代次数条件,则以当前的坐标转换矩阵作为第一初始值,将每次迭代的自由度变化值减半,并返回初始化迭代参数及高斯图像金字塔中的迭代层,根据迭代参数以及迭代层的坐标数据对迭代层进行步进计算的步骤,直到满足迭代次数条件。

其中,当前的迭代次数不满足预设的迭代次数情况下,可以将当前已经计算得到的坐标转换矩阵作为洗一次迭代计算的初始值,然后将6个自由度变化值dx、dy、dz、α、β、γ都变为原来的一半,继续进行下一次迭代计算,直到计算的次数达到了预设的迭代次数。

307、判断是否完成高斯图像金字塔的所有层的坐标转换矩阵计算。

308、若未完成对高斯图像金字塔的所有层的坐标转换矩阵计算,则将最近计算得到的坐标转换矩阵作为下一次迭代计算的第二初始值,并更新下一次迭代计算的迭代层以及自由度变化值。

其中,若高斯图像金字塔的所有的迭代层的坐标转换矩阵还没计算完成后,则可以将最近一次计算得到的坐标转换矩阵作为第二初始值,将下一层作为迭代层以及更新迭代层对应的自由度变化值,再次进行坐标转换矩阵的计算,也即是返回步骤302继续进行迭代计算。

上述的第一初始值与第二初始值是与不同条件对应的值,只是为了区分。第一初始值是在判断迭代次数时对应生成的,第二初始值是在判断是否完成所有层计算之后生成的,此外还可以有第三初始值、第四初始值等等。

309、根据第二初始值、更新后的迭代层的坐标数据以及自由度变化值计算更新后迭代层对应的坐标转换矩阵,依次进行迭代计算,直到完成高斯图像金字塔的所有层计算,将最后计算得到的坐标转换矩阵作为目标转换矩阵。

其中,完成高斯图像金字塔的所有层计算后,最后得到的坐标转换矩阵将作为目标转换矩阵,最后的坐标转换矩阵对应的分辨率也是最高的,其精度也最高的。

310、将坐标转换矩阵作为目标转换矩阵对第一数据组进行坐标转换,对第一数据组与第二数据组进行拼接融合。

在本发明实施例中,从高斯图像金字塔中由低分辨率层向高分辨率层进行步进计算(从高斯图像金字塔最高层开始迭代计算),通过提高迭代步进精度来提高6个自由度变化值在迭代计算过程中的精度,能够提高最终计算得到的目标转换矩阵的精度,有利于将第一数据组进行坐标转换后得到准确率更高的数据,以增强融合效果;而且在迭代过程中无需进行特征点选取,避免特征点选取不当造成准确率低、计算量大的问题,有利于加快迭代的计算速度。

如图4所示,图4是本发明实施例中提供的一种三维成像数据拼接装置的结构示意图,装置400具体包括:

第一计算模块401,用于获取初始数据构建高斯图像金字塔最底层的坐标数据,根据高斯图像金字塔的坐标转换关系依次计算出高斯图像金字塔中所有层的坐标数据;

第二计算模块402,用于初始化迭代参数及高斯图像金字塔中的迭代层,根据迭代参数以及迭代层的坐标数据对迭代层进行步进计算,得到初始迭代层的坐标转换矩阵,初始化迭代层包括初始化最高迭代层依次到初始化最低迭代层;

判断模块403,用于判断坐标转换矩阵是否满足预设结束条件;

融合模块404,用于若坐标转换矩阵满足预设结束条件,则将坐标转换矩阵作为目标转换矩阵对第一数据组进行坐标转换,对第一数据组与第二数据组进行拼接融合。

如图5所示,图5是本发明实施例中提供的另一种三维成像数据拼接装置的结构示意图,第一计算模块401包括:

滤波分割单元4011,用于获取第一数据组中位于拼接位置处的初始数据,对初始数据进行数据滤波及数据分割,得到高斯图像金字塔最底层的坐标数据。

如图6所示,图6是本发明实施例中提供的另一种三维成像数据拼接装置的结构示意图,第一计算模块401还包括:

第一计算单元4012,用于提取高斯图像金字塔最底层已完成数据滤波及数据分割的坐标数据,根据高斯图像金字塔的坐标转换关系计算高斯图像金字塔次底层的坐标数据;

第一计算单元4012还用于将高斯图像金字塔次底层的坐标数据作为下一次坐标数据计算的基础数据,并依次迭代计算出高斯图像金字塔中所有层对应的坐标数据;

第一判断单元4013,用于判断是否完成对高斯图像金字塔中所有层对应的坐标数据计算;

返回单元4014,用于若未完成对高斯图像金字塔中所有层对应的坐标数据的计算,则继续对高斯坐标金字塔的下一层进行坐标数据计算,直至完成所有层的坐标数据计算。

如图7所示,图7是本发明实施例中提供的另一种三维成像数据拼接装置的结构示意图,第二计算模块402包括:

初始化单元4021,用于初始化迭代参数中多个自由度每次迭代计算的自由度变化值以及初始化高斯图像金字塔中的迭代层,初始化迭代层包括初始化最高迭代层依次到初始化最低迭代层;

第二计算单元4022,用于根据迭代层对应的自由度变化值计算迭代层的坐标数据与第二数据组相同迭代层的坐标数据之间的坐标转换矩阵。

如图8所示,预设结束条件包括相关性条件与迭代次数条件,图8是本发明实施例中提供的另一种三维成像数据拼接装置的结构示意图,判断模块403包括:

第二判断单元4031,用于判断迭代层的坐标数据与第二数据组相同迭代层的坐标数据之间的坐标转换矩阵是否达到相关性条件;

第三计算单元4032,用于若坐标转换矩阵满足相关性条件,则继续执行下一次迭代层的坐标转换计算;

确定单元4033,用于若坐标转换矩阵不满足相关性条件,则继续判断当前的迭代次数是否满足迭代次数条件。

如图9所示,图9是本发明实施例中提供的另一种三维成像数据拼接装置的结构示意图,判断模块403还包括:

返回执行单元4034,用于若当前的迭代次数不满足迭代次数条件,则以当前的坐标转换矩阵作为第一初始值,将每次迭代的自由度变化值减半,并返回初始化迭代参数及高斯图像金字塔中的迭代层,根据迭代参数以及迭代层的坐标数据对迭代层进行步进计算的步骤,直到满足迭代次数条件;

条件判断单元4035,用于判断是否完成高斯图像金字塔的所有层的坐标转换矩阵计算;

更新单元4036,用于若未完成对高斯图像金字塔的所有层的坐标转换矩阵计算,则将最近计算得到的坐标转换矩阵作为下一次迭代计算的第二初始值,并更新下一次迭代计算的迭代层以及自由度变化值;

第四计算单元4037,用于根据第二初始值、更新后的迭代层的坐标数据以及自由度变化值计算更新后迭代层对应的坐标转换矩阵,依次进行迭代计算,直到完成高斯图像金字塔的所有层计算,将最后计算得到的坐标转换矩阵作为目标转换矩阵。

如图10所示,图10是本发明实施例提供的一种电子设备的结构示意图,该电子设备1000包括:存储器1002、处理器1001、网络接口1003及存储在存储器1002上并可在处理器1001上运行的计算机程序,处理器1001执行计算机程序时实现实施例提供的三维成像数据拼接方法中的步骤。

具体的,处理器1001用于执行以下步骤:

获取初始数据构建高斯图像金字塔最底层的坐标数据,根据高斯图像金字塔的坐标转换关系依次计算出高斯图像金字塔中所有层的坐标数据;

初始化迭代参数及高斯图像金字塔中的迭代层,根据迭代参数以及迭代层的坐标数据对迭代层进行步进计算,得到初始迭代层的坐标转换矩阵,初始化迭代层包括初始化最高迭代层依次到初始化最低迭代层;

判断坐标转换矩阵是否满足预设结束条件;

若坐标转换矩阵满足预设结束条件,则将坐标转换矩阵作为目标转换矩阵对第一数据组进行坐标转换,对第一数据组与第二数据组进行拼接融合。

可选的,处理器1001执行的获取初始数据构建高斯图像金字塔最底层的坐标数据的步骤包括:

获取第一数据组中位于拼接位置处的初始数据,对初始数据进行数据滤波及数据分割,得到高斯图像金字塔最底层的坐标数据。

可选的,处理器1001执行的根据高斯图像金字塔的坐标转换关系依次计算出高斯图像金字塔中所有层的坐标数据的步骤包括:

提取高斯图像金字塔最底层已完成数据滤波及数据分割的坐标数据,根据高斯图像金字塔的坐标转换关系计算高斯图像金字塔次底层的坐标数据;

将高斯图像金字塔次底层的坐标数据作为下一次坐标数据计算的基础数据,并依次迭代计算出高斯图像金字塔中所有层对应的坐标数据;

判断是否完成对高斯图像金字塔中所有层对应的坐标数据计算;

若未完成对高斯图像金字塔中所有层对应的坐标数据的计算,则继续对高斯坐标金字塔的下一层进行坐标数据计算,直至完成所有层的坐标数据计算。

可选的,迭代参数包括多个自由度,处理器1001执行的初始化迭代参数及高斯图像金字塔中的迭代层,根据迭代参数以及迭代层的坐标数据对迭代层进行步进计算,得到初始迭代层的坐标转换矩阵的步骤包括:

初始化迭代参数中多个自由度每次迭代计算的自由度变化值;

初始化高斯图像金字塔中的迭代层,初始化迭代层包括初始化最高迭代层依次到初始化最低迭代层;

根据迭代层对应的自由度变化值计算迭代层的坐标数据与第二数据组相同迭代层的坐标数据之间的坐标转换矩阵。

可选的,预设结束条件包括相关性条件与迭代次数条件,处理器1001执行的判断坐标转换矩阵是否满足预设结束条件的步骤包括:

判断迭代层的坐标数据与第二数据组相同迭代层的坐标数据之间的坐标转换矩阵是否达到相关性条件;

若坐标转换矩阵满足相关性条件,则继续执行下一次迭代层的坐标转换计算;

若坐标转换矩阵不满足相关性条件,则继续判断当前的迭代次数是否满足迭代次数条件。

可选的,处理器1001执行的判断坐标转换矩阵是否满足预设结束条件的步骤还包括:

若当前的迭代次数不满足迭代次数条件,则以当前的坐标转换矩阵作为第一初始值,将每次迭代的自由度变化值减半,并返回初始化迭代参数及高斯图像金字塔中的迭代层,根据迭代参数以及迭代层的坐标数据对迭代层进行步进计算的步骤,直到满足迭代次数条件;

判断是否完成高斯图像金字塔的所有层的坐标转换矩阵计算;

若未完成对高斯图像金字塔的所有层的坐标转换矩阵计算,则将最近计算得到的坐标转换矩阵作为下一次迭代计算的第二初始值,并更新下一次迭代计算的迭代层以及自由度变化值;

根据第二初始值、更新后的迭代层的坐标数据以及自由度变化值计算更新后迭代层对应的坐标转换矩阵,依次进行迭代计算,直到完成高斯图像金字塔的所有层计算,将最后计算得到的坐标转换矩阵作为目标转换矩阵。

本发明实施例提供的电子设备1000能够实现三维成像数据拼接方法实施例中的各个实施方式,以及相应有益效果,为避免重复,这里不再赘述。

需要指出的是,图中仅示出了具有组件的1001-1003,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的电子设备1000是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable GateArray,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。

电子设备1000可以是桌上型计算机、笔记本及掌上电脑等计算设备。电子设备1000可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。

存储器1002至少包括一种类型的可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器1002可以是电子设备1000的内部存储单元,例如该电子设备1000的硬盘或内存。在另一些实施例中,存储器1002也可以是电子设备1000的外部存储设备,例如该电子设备1000上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器1002还可以既包括电子设备1000的内部存储单元也包括其外部存储设备。本实施例中,存储器1002通常用于存储安装于电子设备1000的操作系统和各类应用软件,例如三维成像数据拼接方法的程序代码等。此外,存储器1002还可以用于暂时地存储已经输出或者将要输出的各类数据。

处理器1001在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器1001通常用于控制电子设备1000的总体操作。本实施例中,处理器1001用于运行存储器1002中存储的程序代码或者处理数据,例如运行三维成像数据拼接方法的程序代码。

网络接口1003可包括无线网络接口或有线网络接口,该网络接口1003通常用于在电子设备1000与其他电子设备之间建立通信连接。

本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器1001执行时实现实施例提供的三维成像数据拼接方法中的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

本领域普通技术人员可以理解实现实施例三维成像数据拼接方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存取存储器1002(RandomAccess Memory,简称RAM)等。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

相关技术
  • 一种三维成像数据拼接方法、装置、电子设备及存储介质
  • 一种数据拼接方法、装置、电子设备和存储介质
技术分类

06120112254288