本发明涉及三维图像处理技术领域,更具体地说,涉及一种三维图像拼接方法、装置、设备及可读存储介质。
背景技术:
三维图像拼接(three-dimensionalimagemosaic)就是将多张有重叠部分的图像通过配准和拼接,融合为一张大视野的高分辨率的三维图像。
在现有的三维图像拼接技术中,当进行多张三维图像的配准时,一般通过相关性系数波形进行。该方式容易在图像的边缘附近产生噪声,当采取的相识度达到最大值或者按照定值指标去配准图像时,会丢失图像拼接的边缘信息,从而导致配准操作的准确性有所降低;当拼接的图像像素数增大时,该方式产生的计算量剧增,会降低配准操作的处理效率。也就是说,由于现有的三维图像拼接方法中的配准操作会降低处理效率和准确性,所以整个三维图像拼接过程的处理效率和准确性也会降低。
因此,如何提高三维图像拼接过程的处理效率和准确性,是本领域技术人员需要解决的问题。
技术实现要素:
本发明的目的在于提供一种三维图像拼接方法、装置、设备及可读存储介质,以提高三维图像拼接过程的处理效率和准确性。
为实现上述目的,本发明实施例提供了如下技术方案:
一种三维图像拼接方法,包括:
获取待拼接的多个三维图像,并对所述多个三维图像进行预处理;
采用sift算法确定预处理后的多个三维图像的重叠区域的特征点,并采用ransac算法对所述特征点去伪;
基于去伪后的特征点拼接所述多个三维图像,并对拼接后得到的三维图像的拼接线进行融合,获得三维拼接图像。
其中,所述对所述多个三维图像进行预处理,包括:
对所述多个三维图像进行高斯滤波处理。
其中,所述基于去伪后的特征点拼接所述多个三维图像之前,还包括:
以所述多个三维图像中的一个三维图像为参照物,对其他三维图像进行高度补偿。
其中,所述对拼接后得到的三维图像的拼接线进行融合,包括:
采用最佳缝合线算法对所述拼接后得到的三维图像的拼接线进行融合。
其中,所述采用最佳缝合线算法对所述拼接后得到的三维图像的拼接线进行融合,包括:
确定所述拼接后得到的三维图像的拼接线的矩形区域,并对所述矩形区域进行contourlet变换,获得高频分量和低频分量;
分别对所述高频分量和所述低频分量进行融合。
其中,所述采用sift算法确定预处理后的多个三维图像的重叠区域的特征点,并采用ransac算法对所述特征点去伪,包括:
定义sift算法的尺度空间,并基于所述尺度空间计算高斯差分金字塔的层数和极值点;
采用ransac算法确定所述极值点的真伪,并去除伪极值点。
一种三维图像拼接装置,包括:
获取模块,用于获取待拼接的多个三维图像,并对所述多个三维图像进行预处理;
配准模块,用于采用sift算法确定预处理后的多个三维图像的重叠区域的特征点,并采用ransac算法对所述特征点去伪;
拼接模块,用于基于去伪后的特征点拼接所述多个三维图像,并对拼接后得到的三维图像的拼接线进行融合,获得三维拼接图像。
其中,所述获取模块具体用于:
对所述多个三维图像进行高斯滤波处理。
一种三维图像拼接设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述任意一项所述的三维图像拼接方法的步骤。
一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的三维图像拼接方法的步骤。
通过以上方案可知,本发明实施例提供的一种三维图像拼接方法,包括:获取待拼接的多个三维图像,并对所述多个三维图像进行预处理;采用sift算法确定预处理后的多个三维图像的重叠区域的特征点,并采用ransac算法对所述特征点去伪;基于去伪后的特征点拼接所述多个三维图像,并对拼接后得到的三维图像的拼接线进行融合,获得三维拼接图像。
可见,所述方法在对待拼接的多个三维图像进行预处理后,采用sift算法确定重叠区域的特征点,并采用ransac算法对特征点进行去伪,并基于去伪后的特征点对图像进行拼接和融合,获得三维拼接图像。其中,sift算法确定的重叠区域的特征点的数量较少,可以减少配准操作的数据处理量,且算法的处理速度可达到实时性的要求,能够提高配准效率;同时ransac算法可以去除特征点中的伪特征点,提高配准的准确性。因此该方法能够提高三维图像拼接过程的处理效率和准确性。
相应地,本发明实施例提供的一种三维图像拼接装置、设备及可读存储介质,也同样具有上述技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种三维图像拼接方法流程图;
图2为本发明实施例公开的另一种三维图像拼接方法流程图;
图3为本发明实施例公开的一种三维图像拼接装置示意图;
图4为本发明实施例公开的一种三维图像拼接设备示意图;
图5为本发明实施例公开的另一种三维图像拼接设备示意图;
图6为本发明实施例公开的依据三角测量原理绘制的实际高度示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种三维图像拼接方法、装置、设备及可读存储介质,以提高三维图像拼接过程的处理效率和准确性。
参见图1,本发明实施例提供的一种三维图像拼接方法,包括:
s101、获取待拼接的多个三维图像,并对多个三维图像进行预处理;
具体的,由于三维图像的采集条件,包括光线等因素的影响,导致图像中携带着噪声,未来降低噪声对拼接过程的影响,需要首先对每个三维图像进行预处理。预处理即消除或减少图像中的噪声,可采用适用于本领域的一种或多种滤波方法进行处理。
s102、采用sift算法确定预处理后的多个三维图像的重叠区域的特征点,并采用ransac算法对特征点去伪;
具体的,sift(scale-invariantfeaturetransform)算法即尺度不变特征转换,它可以在尺度空间中寻找极值点,并提取出其位置、尺度和旋转不变量,对图像的旋转、尺度缩放、亮度变化保持不变性,对视角变化、仿射变换、噪声等可以保持一定程度的稳定性,其处理速度可达到实时要求。ransac算法在模型确定以及最大迭代次数允许的情况下,总能找到最优解,其计算效果显著。
s103、基于去伪后的特征点拼接多个三维图像,并对拼接后得到的三维图像的拼接线进行融合,获得三维拼接图像。
当三维图像为两个时,图像拼接后会留下比较明显的拼接线。为了得到更好的拼接图像,需要对拼接线进行融合,即消除或减弱该拼接线。
可见,本实施例提供了一种三维图像拼接方法,所述方法在对待拼接的多个三维图像进行预处理后,采用sift算法确定重叠区域的特征点,并采用ransac算法对特征点进行去伪,并基于去伪后的特征点对图像进行拼接和融合,获得三维拼接图像。其中,sift算法确定的重叠区域的特征点的数量较少,可以减少配准操作的数据处理量,提高配准效率;同时ransac算法可以去除特征点中的伪特征点,提高配准的准确性。因此该方法能够提高三维图像拼接过程的处理效率和准确性。
本发明实施例公开了另一种三维图像拼接方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。
参见图2,本发明实施例提供的另一种三维图像拼接方法,包括:
s201、获取待拼接的多个三维图像,并对所述多个三维图像进行高斯滤波处理;
在本实施例中,采用高斯滤波对多个三维图像进行预处理。
具体为,将三维图像输入平滑滤波器,通过平滑滤波器输出处理后的三维图像,用公式表示为:
其中,f(i,j)表示输入图像,h(i,j)表示平滑滤波器,g(i,j)表示输出图像,m和n表示图像像素大小,即单个x轴或y轴的最大值,i和j表示平滑滤波器中的高斯滤波。
平滑滤波器用公式表示为:
高斯滤波用公式表示为:
其中,σ是正态分布的标准偏差,x2和y2分别表示的是邻域内其他像素与邻域内中心像素的距离。
在二维空间中,随着距离中心的距离越远权重成同心圆正太分布,分布不为零的像素组成的卷积矩阵与输入图像f(i,j)做变换,每个像素都是周围相邻像素的加权平均。离中心的远近决定了权重的大小,才采用高斯模糊处理不仅能够有效的处理噪声的影响,还能最大限度地保留图像的纹理细节信息。
s202、采用sift算法确定预处理后的多个三维图像的重叠区域的特征点,并采用ransac算法对特征点去伪;
s203、基于去伪后的特征点拼接多个三维图像,并采用最佳缝合线算法对所述拼接后得到的三维图像的拼接线进行融合,获得三维拼接图像。
其中,所述采用最佳缝合线算法对所述拼接后得到的三维图像的拼接线进行融合,包括:确定所述拼接后得到的三维图像的拼接线的矩形区域,并对所述矩形区域进行contourlet变换,获得高频分量和低频分量;分别对所述高频分量和所述低频分量进行融合。
具体的,定义具有如下特征的缝合线为理想中的缝合线:
1、在颜色强度上,要求缝合线上的像素点在两幅三维图像上的颜色值之差最小;
2、在z轴上,要求缝合线上的像素点的平方差最小;
3、在几何结构上,要求缝合线上的像素点在两幅三维图像上的结构最相似。
下面以两幅图像为例进行介绍。为了达到最佳缝合线的要求,根据求解最佳缝合线的准则,将两幅三维图像重叠部分做差运算生成一副差值图像;然后对此差值图像运用动态规划的思想从重叠区域的第一行出发,建立以该行上每一个像素为起点的缝合线;最后从这些缝合线中寻找一条最佳缝合线。
其中,求解最佳缝合线的准则为:e(x,y)=ecol(x,y)2+egeo(x,y),ecol表示拼接图像上重叠像素点的颜色值之差,egeo表示两幅原始图像上重叠像素点的结构差值。egeo是通过sobel算子得到的。
寻找最佳缝合线的具体过程包括:确定第一行各列像素点对应的一条缝合线,其强度值初始化为各个点的基准值,该缝合线的当前点位于其所在的列;在第一行的基础上向下扩展,直到最后一行为止。扩展的方法是:将每一条缝合线的当前点与该点紧邻的下一行中的3个像素点准则值相加,选取最小强度值所对应的下一行的这3个像素的之一作为该像素缝合线的扩展方向;选择所有缝合线中选择强度最小的作为最佳缝合线。
在最佳缝合线上的像素的可以划定一个完全包含最佳缝合线的矩形区域;对最佳缝合线的矩形区域进行融合既可以增加融合的质量和效率也可以减少对其他区域的影响。即:对最佳缝合线的矩形区域进行contourlet变换。
contourlet变换的基本原理为二步。第一步:对二维图像采用拉普拉斯金字塔(lp)变换进行分解,产生一个下采样的原始图像一半的低通子带和一个和原图像分辨率相同的高通子带。接着采用拉普拉斯金字塔(lp)变换对得到的低通子带进行变换又得到一个低一级的低通子带和高通子带,用lp的方法对图像进行迭代分解将原图像分解为一系列不同尺度上的高通和低通子带图像。第二步:高通子带图像采用方向滤波器组(dfb)对第一步得到的高通子带进行多方向分解,以便将分布在同方向上的奇异点合成一个系数。方向滤波器组包含两个部分:第一部分为两通道的梅花扇形滤波器组,将光谱分解为垂直和水平两个主要方向。第二部分是平移操作,其作用是旋转重采样并且将宽度变为原来的两倍,以实现图像在其余方向的分析。最终目标为将高通子带信息的频域划分为2n个楔形区域。图像经contourlet变换后将获得高频分量和低频分量。高频分量和低频分量具有不同的物理意义因此在融合过程中,需要对图像的高频分量和低频分量区分处理。
1、高频分量融合:高频分量包含着丰富的图像特征细节信息反应图像的细节特征,包括纹理的突变、轮廓边缘等,这些细节对图像拼接效果的影响最为明显。设两幅经过contourlet变换得到的高频数据分别为m(x,y)和n(x,y),那么可通过下式获得融合后的高频信息。其中,f(x,y)为融合后的高频分量,m(x,y)和n(x,y)分别表示两个三维图像的高频分量。
2、低频分量融合:低频分量主要反应图像中较为平缓的区域,对图像拼接的效果主要体现在背景信息中。低频分量直接采用算术平均值融合,一方面利于实现另一方面也不会降低运算速度。
根据上述步骤中确定的新的融合低频分量和不同尺度下不同方向上的高频分量进行contourlet变换重构,得到最终的拼接图像。
可见,本实施例提供了另一种三维图像拼接方法,所述方法在对待拼接的多个三维图像进行预处理后,采用sift算法确定重叠区域的特征点,并采用ransac算法对特征点进行去伪,并基于去伪后的特征点对图像进行拼接和融合,获得三维拼接图像。其中,sift算法确定的重叠区域的特征点的数量较少,可以减少配准操作的数据处理量,提高配准效率;同时ransac算法可以去除特征点中的伪特征点,提高配准的准确性。另外,不针对拼接图象进行contourlet变换和重构,而是针对最佳缝合线区域进行,从而提高了融合效率。因此该方法能够提高三维图像拼接过程的处理效率和准确性。
基于上述任意实施例,需要说明的是,所述基于去伪后的特征点拼接所述多个三维图像之前,还包括:
以所述多个三维图像中的一个三维图像为参照物,对其他三维图像进行高度补偿。
在确定三维图像的二维特征点之后,由于不同三维图像存在高度差,所以需要消除不同图像的高度差异。
当待拼接的三维图像为两幅时,下面以第一幅三维图像为参照物,补偿第二幅三维图像的高度。设第一幅图像的拼接矩阵的平均高度为
其中,i1(x,y)表示第一幅三维图像,i2(x,y)表示第二幅三维图像,则补偿高度
当待拼接的三维图像为两幅以上时,以其中一副图像为参照物,对其他图像进行高度补偿。
基于上述任意实施例,需要说明的是,所述采用sift算法确定预处理后的多个三维图像的重叠区域的特征点,并采用ransac算法对所述特征点去伪,包括:
定义sift算法的尺度空间,并基于所述尺度空间计算高斯差分金字塔的层数和极值点;
采用ransac算法确定所述极值点的真伪,并去除伪极值点。
具体的,定义尺度空间为:
f(x,y,δ)=(g(x,y,kδ)-g(x,y,kδ))i(x,y)=l(x,y,kδ)-l(x,y,δ)
其中,(x,y)为像素的纵横坐标,g为高斯函数,i为原图像,l为卷积函数,σ为尺度空间因子,k为常数。尺度空间层数由原图像的纵横坐标最大值和塔顶的大小共同决定,层数计算公式为:
i=log2{min(x,y)}-t,t∈[0,log2{min(x,y)}]
其中,x,y为原始图像的像素大小,t为塔顶的最小纬度的对数值。
使用高斯金字塔每组中相邻上下两层的图像相减,得到高斯差分金字塔,通过比较同一组内各个相邻层,得到空间的局部极值点。为了寻找极值点,每一个像素点都要和他同尺度的8个相邻点和上下相邻尺度对应的26个点比较,以确保在尺度空间和二维图像空间中都检测到极值点。
利用ransac算法寻找最佳单应性矩阵,即不断迭代寻找最优参数模型。具体步骤包括:
1、在含有外点的数据中,假设一些内点并计算出一个模型记为m。
2、用1中计算出的模型m去测试所有的其他数据,如果所测数据适用于此模型认定为是局内点,反之为局外点。
3、如果有足够多的点归为局内点,然后利用局内点重新计算模型。
4、通过计算局内点与模型的错误率来评估模型。
5、上述过程重复执行固定的k次,最终确定一个合适的数据模型;
k=log(1-p)/log(1-wm),p为置信度,一般取0.995,w为内点所占的比例;m为初始计算模型需要的样本数。
可见,与普通的去伪特征点的算法不同,ransac算法使用尽可能少的点来估计模型参数,可尽可能扩大模型参数的影响因子。
下面对本发明实施例提供的一种三维图像拼接装置进行介绍,下文描述的一种三维图像拼接装置与上文描述的一种三维图像拼接方法可以相互参照。
参见图3,本发明实施例提供的一种三维图像拼接装置,包括:
获取模块301,用于获取待拼接的多个三维图像,并对所述多个三维图像进行预处理;
配准模块302,用于采用sift算法确定预处理后的多个三维图像的重叠区域的特征点,并采用ransac算法对所述特征点去伪;
拼接模块303,用于基于去伪后的特征点拼接所述多个三维图像,并对拼接后得到的三维图像的拼接线进行融合,获得三维拼接图像。
其中,所述获取模块具体用于:
对所述多个三维图像进行高斯滤波处理。
其中,还包括:
高度补偿模块,用于以所述多个三维图像中的一个三维图像为参照物,对其他三维图像进行高度补偿。
其中,所述拼接模块具体用于:
采用最佳缝合线算法对所述拼接后得到的三维图像的拼接线进行融合。
其中,所述拼接模块具体用于:
确定所述拼接后得到的三维图像的拼接线的矩形区域,并对所述矩形区域进行contourlet变换,获得高频分量和低频分量;
分别对所述高频分量和所述低频分量进行融合。
其中,所述配准模块具体用于:
定义sift算法的尺度空间,并基于所述尺度空间计算高斯差分金字塔的层数和极值点;
采用ransac算法确定所述极值点的真伪,并去除伪极值点。
可见,本实施例提供了一种三维图像拼接装置,包括:获取模块、配准模块以及拼接模块。首先由获取模块获取待拼接的多个三维图像,并对多个三维图像进行预处理;然后配准模块采用sift算法确定预处理后的多个三维图像的重叠区域的特征点,并采用ransac算法对特征点去伪;最后拼接模块基于去伪后的特征点拼接多个三维图像,并对拼接后得到的三维图像的拼接线进行融合,获得三维拼接图像。如此各个模块之间分工合作,各司其职,从而提高了三维图像拼接过程的处理效率和准确性。
下面对本发明实施例提供的一种三维图像拼接设备进行介绍,下文描述的一种三维图像拼接设备与上文描述的一种三维图像拼接方法及装置可以相互参照。
参见图4,本发明实施例提供的一种三维图像拼接设备,包括:
存储器401,用于存储计算机程序;
处理器402,用于执行所述计算机程序时实现上述任意实施例所述的三维图像拼接方法的步骤。
请参见图5,本发明实施例提供的另一种三维图像拼接设备,包括:计算机1,x轴运动控制器2,y轴运动控制器3,固定卡4,y轴导轨5,x轴导轨6,固定架7,被测物放置台8,三维左相机9三维右相机10,采集装置固定板11,激光器固定装置12,激光13。
其中,三维左相机、三维右相机和激光器共同组成双三角的三维测量结构,用于采集三维图像;x轴和y轴对应不同的运动控制器,可以更为灵活的调整运动距离;三维左相机和三维右相机均为ccd相机,可采集更精确的图像。
具体的,在保证激光器投射的结构光与被测样品放置台垂直时,三维左相机和三维右相机通过相机角度调节器使三维左相机、三维右相机和激光器的中轴线有相同的夹角。计算机应用本发明公开的三维图像拼接方法拼接采集到的三维图像,其与三维左相机、三维右相机、x轴电机控制器和y轴电机控制器均连接。
在采集数据时,首先x轴电机控制器控制x轴电机保持不动,y轴电机控制器控制y轴电机带动信息采集器匀速运动,对被测物品的表面进行信息采集;当y轴运动到设定的最大距离时(单次采集的信息的分辨率和精确度和设置的最大距离成反比),y轴恢复到初始位置,x轴电机向前运动一定距离继续重复采集动作。
当信息采集器采集设定的分辨率后,计算机进行数据提取和保存。在电机控制器的作用下电机带动信息采集器在x、y轴上运动,激光器投射的结构光聚焦在被测样品表面,三维左相机和三维右相机记录x、y轴信息和高度信息。
因为三维左相机、三维右相机和激光器共同组成双三角的三维测量结构,根据三角法测量高度的原理,当激光器的结构光投射到不平整的被测物体表面的时候,原来垂直于被测物品放置台的平直的结构光被物体表面的不平整轮廓所改变,同时在三维左相机和三维右相机的像平面上的成像位置也发生相应的位移。通过计算三维相机的成像位置大小,可以得到物体表面信息的实际高度信息。图6所示设激光器投射的结构光中某一点在三维相机像平面上的像位移为n,根据三角测量原理,由公式h=ax/bsinφ可以计算出该点的实际高度信息。数据采集结束后,每个视场生产当前视场的x、y、z三维数据和图像的rgb数据信息。
下面对本发明实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种三维图像拼接方法、装置及设备可以相互参照。
一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意实施例所述的三维图像拼接方法的步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。