本发明涉及图像处理领域,特别涉及到一种基于改进图像融合的图像拼接方法。
背景技术:
图像涉及到人们生活工作的各个领域。随着计算机相关领域的飞速发展,数字图像处理的应用价值被许多专家学者发现,其应用领域也在不断的壮大。数字图像处理作为一门富有前景的交叉性学科,吸引了很多来自其他科学领域的研究者参与其中,并在基础研究和工程实践中应用广泛。图像拼接技术是数字图像处理中不可或缺的一个关键分支,近年来,伴随着计算机视觉和计算机图形学的发展,图像拼接技术与其他相关技术相结合开拓了不少新兴领域,并成为研究热点。图像拼接技术的主要目的是将含有重叠区域的图像序列映射到同一坐标系下合成为一幅大尺度和宽视角的全景图像。全景图像拼接技术作用领域广泛,目前已普遍应用于虚拟现实、智能交通、灾害预警、军事作战、医疗等多个领域。虚拟现实是一种由计算机系统生成动态的三维立体图像的技术,是近几年来图像处理的热点,图像拼接技术可以用在虚拟现实技术三维立体场景的绘制和重建中,是虚拟现实中一项必不可少的基本技术,利用拼接技术可以生成全方位的三维全景图像,用全景图表示实景可代替三维场景建模。在数字图像拼接技术出现之前,人们通过专业全景照相机旋转拍摄或者手动拼接获取全景图像,这些方法不仅实施困难而且获得的全景图效果不佳。而如今仅仅一台数码相机和计算机图像拼接技术,任何人都可以制作出视角惊人的全景照片。作为图像拼接的重心,配准和融合是图像拼接中不可或缺的部分。精确的图像配准是图像顺利融合的前提,传统图像配准算法的计算时间复杂度高、速度慢、精度低,无法适应大量图像的拼接,图像配准技术的准确性和实时性在一定程度上决定了图像拼接的效果;图像融合算法是为了消除重叠部分区域的色彩过渡不均和伪影问题,高效的图像融合算法可以有效地提高了图像信息的利用率,改善全景图质量,因此研究图像拼接相关算法是十分必要的。
现有的图像拼接技术主要采用sift算法进行特征点提取,利用基于kd-tree结构的bbf算法,利用ransac算法去除误匹配并估算参数模型完成特征点匹配,最后使用加权平均融合方法进行图像融合。sift算法能够提取大量的特征,并且对于旋转、缩放和尺度变化保持不变性,对视角变化和噪声也有很强的鲁棒性,被广泛应用。但是sift提取的特征点存在很多不显著的特征点,冗余性高。这是由于sift特征检测算法是基于线性尺度分解的,在构建图像金字塔时采用线性高斯扩展滤波法。高斯滤波鲁棒性虽强,但是会损失图像边界信息,会造成对象边界缺失等问题,从而牺牲了局部精度,影响了特征点定位精度和特殊性。加权平均融合简单,复杂度低,运算速度快,但是容易降低图像的对比度,并且在一定程度上导致图像的边界模糊,并不能达到十分满意的融合效果。拉普拉斯多分辨率融合打破了加权平均融合的局限性,无论是在清晰度还是在细节保留方面效果都明显优于加权平均融合,但是存在算法复杂性高,运算速度较慢的缺点。因此,提供一种准确性高、实时性高的一种基于改进图像融合的图像拼接方法就很有必要。
技术实现要素:
本发明所要解决的技术问题是现有技术中存在的准确度低、实时性低问题。提供一种新的一种基于改进图像融合的图像拼接方法,该一种基于改进图像融合的图像拼接方法具有准确性高、实时性高的特点。
为解决上述技术问题,采用的技术方案如下:
一种基于改进图像融合的图像拼接方法,所述方法包括:
(1)使用a-kaze算法对目标图像及参考图像分别进行特征点提取,建立特征描述子集合;
(2)将步骤(1)中从目标图像及参考图像中获得的特征描述子集合,构建kd-tree,建立特征点数据索引,使用双向knn匹配算法进行特征点匹配,得到集合c,集合c中的匹配对为初始匹配的结果,对初始匹配结果使用ransac算法剔除外点保留内点,计算目标图像及参考图像间的仿射变换矩阵h,将目标图像及参考图像统一到同一坐标系下,得出配准图像,完成图像配准;所述特征描述子集合包括特征点位置、方向及尺寸;
(3)根据步骤(2)中图像配准结果,使用改进的基于拼接缝的拉普拉斯多分辨率融合算法进行图像融合,所述改进的基于拼接缝的拉普拉斯多分辨率融合算法包括使用动态规划的方法寻找最优拼接缝,根据最优拼接缝限定融合范围,最后使用拉普拉斯多分辨率融合算法在限定后的融合范围内进行融合,完成图像拼接。
本发明的工作原理:本发明运用a-kaze特征点提取算法来对图像的特征点进行提取,提出一种基于a-kaze特征的无缝图像拼接算法。提出一种双向knn算法,分别对参考图像和目标图像建立kd-tree,并分别取其中一个为参考进行knn匹配。提取两次匹配操作的公共匹配对作为初始匹配。提高特征点提取的实时性和配准的精确性。拉普拉斯多分辨率融合克服了加权平均融合的局限性,无论是在清晰度还是在细节保留方面效果都明显优于加权平均融合,但是存在算法复杂性高,运算速度较慢的缺点。由于人们对图像的边缘信息比较敏感,只需对拼接缝周围颜色过渡明显区域进行融合处理即可达到较好的效果。因此,通过对拉普拉斯融合进行改进,提出基于拼接缝的拉普拉斯融合算法,限定融合区域,来消除拼接缝和伪影,减少了算法的计算量,提高算法的实时性,有效的消除拼接过程中产生的伪影和拼接缝。
上述技术方案中,为优化,进一步地,所述步骤(3)中计算最优拼接缝包括:
(a)建立能量公式:t(i,j)=α·ec(i,j)+β·eg(i,j)2,α和β是权重值,α+β=1,α值为0.79,β值为0.21。
其中,ec代表拼接缝周围5×5区域像素的色调ech,饱和度ecs和亮度之差ecr;ec=ech+ecs+ecr,
(b)以重叠区域交叉p点为起始点,将p点作为拼接缝的第一个像素值,根据步骤(a)中能量公式计算p点的能量值t1;
(c)继续向下一行搜索,搜索方向分别为p点正下方、左下方45度和右下方45度,计算p点下一行中正下方像素点的能量值t2、左下方45度像素点的能量值t3和右下方45度像素点的能量值t4,取t2-t4中最小值对应的像素点p′为该拼接缝的搜索点,令p=p′返回重复执行步骤(c);
(d)将搜索到最后一行获得的搜索点集合作为最优拼接缝;
进一步地,所述步骤(3)中确定融合范围包括:
(a)计算最优拼接缝的最小外接矩形的左边界xmin和右边界xmax,设置限定范围ξ,20≤ξ≤40;
根据限定范围ξ确定限定的融合区域r′,包括限定范围ξ设定一个最优拼接缝的外接矩形r,限定的融合区域矩形r′,矩形r′的左边界为xmin-ξ、右边界为xmax+ξ;
(c)限定的融合区域矩形r′为融合范围。
进一步地,取ξ=30。
进一步地,所述步骤(3)拉普拉斯多分辨率融合算法在融合范围内进行融合包括:
(1a)建立拼接缝图像的权值图像ir,拼接缝左侧用像素值0填充,拼接缝右侧用像素值255填充;
(1b)将目标图像i1和配准后参考图像i2扩充到与权值图像ir尺寸一致,所述扩展部分赋予像素值0;
(1c)分别在步骤(1a)及步骤(1b)中的三幅尺寸相同的目标图像i1、配准后参考图像i2及权值图像ir中设置所述限定的融合区域矩形r′内的图像,分别为i′1、i′2及i′r;
(1d)根据拉普拉斯分解法,分别对步骤(1c)中所述i′1和i′2进行分解,得出对应的拉普拉斯金字塔l1及拉普拉斯金字塔l2,构建i′1及i′2的高斯金字塔:
构建拉普拉斯金字塔:
通过gl+1升采样得到
(1e)对权值图像ir采用高斯扩展处理,求解权值图像ir的高斯金字塔为gr;
(1f)根据lsl(i,j)对i′1和i′2两幅图像的拉普拉斯金字塔对应的层进行融合,得到各层融合图像:
(1g)根据步骤(1f)得到拉普拉斯金字塔的各层融合图像,通过重构方法获得融合后的图像:
其中,1≤l≤n,0≤i<rl,0≤j<cl,
进一步地,所述步骤(1)包括:
(1a)构造使用快速显示扩散算法构建非线性尺度空间;
(1b)进行特征点检测与定位,包括根据步骤(1a)中非线性尺度空间计算出在不同非线性尺度下的滤波图像li的海森矩阵lihessian,然后利用特征值判断极值,完成特征点检测与定位,得到特征点位置,其中海森矩阵lihessian为:
(1c)进行特征点描述,包括根据步骤(1b)中的特征点位置,以特征点位置为圆心,搜索半径为3σi的圆形区域内搜索主方向,对圆形区域内的所有像素点的一阶微分值进行高斯加权,将高斯加权结果值作为图像像素点的响应值,在面积为π/4的扇形区域滑动窗口内,对所述扇形区域滑动窗口内所有的响应值求和,使用扇形滑动窗口遍历圆形区域,响应和最大的方向即为特征点的主方向完成特征点描述;
(1d)根据步骤(1c)及步骤(1d)获得的特征点的描述信息,采用二进制描述子,对特征点进行描述,建立特征描述子集合;
其中,σi为特征点的尺度参数,
进一步地,步骤(2)中构建kd-tree包括:
①确定分割域,将所述特征点位置坐标设定为二维数据点,分别特征点位置坐标在x维度及y维度上的方差,取方差最大对应的维度作为当前分割域进行分割;
②确定当前节点,将特征描述子集合中的特征点位置坐标按方差最大的维度进行排序,选取排序中的中值作为当前节点,并使用当前节点分割空间域得到左子空间及右子空间,所述左子空间为小于节点值的坐标,所述右子空间为大于节点值的坐标;
③根据步骤②中包含于左子空间的坐标及右子空间的坐标为新的特征描述子集合,按照步骤①及步骤②进行迭代划分,直到数据集中的特征点数据为空,获得初始匹配结果。
进一步地,所述步骤(2)中ransac算法包括:
(i)根据步骤③的初始匹配结果中的n个匹配对中随机选取r个点对集合,所述r个对集合输入图像的特征点对构成一个可逆矩阵,计算仿射变换矩阵h为:
其中,目标图像及参考图像间的仿射变换矩阵关系为:
将参考图像点(x′i,y′i)和目标图像点(xi,yi)匹配对应,得出匹配特征点集合,根据匹配特征点集合中r对匹配特征点计算出仿射变换矩阵h;
(ii)给定距离阀值,根据步骤(i)中仿射变换矩阵h,计算目标图像剩余特征点进行仿射变换矩阵h变换的特征点值与参考图像剩余特征点之间的距离为d1,d1小于距离阈值,当前剩余特征点的匹配特征点为内点;d1大于给定距离阈值,当前剩余特征点的匹配特征点为外点,所述参考图像剩余特征点与目标图像剩余特征点匹配;
(iii)重复步骤(i)和步骤(ii)n次,计算每次的内点数量,完成第n次重复后,取n次中最大内点数与所述最大内点数对应的仿射变换矩阵h,设定最大内点数为内点集;
其中,r为正整数,θ为图像旋转角度,u,v为图像沿x轴与y轴方向的水平位移,n为正整数。
进一步地,所述n=300,r=3。
现有的基于线性滤波的特征点提取算法提取的特征点冗余度高实时性差,线性高斯滤波会模糊边界,导致图像细节的损失。非线性滤波边界保留完好,克服了线性滤波的缺点。本发明运用a-kaze特征点提取算法来对图像的特征点进行提取,提出一种基于a-kaze特征的无缝图像拼接算法。提出一种双向knn算法,分别对参考图像和目标图像建立kd-tree,并分别取其中一个为参考进行knn匹配。提取两次匹配操作的公共匹配对作为初始匹配。提高特征点提取的实时性和配准的精确性。然后,对图像融合部分进行了改进,提出了基于拼接缝的拉普拉斯融合算法,减少了算法的计算量,提高了实时性,有效的消除拼接过程中产生的伪影和拼接缝。
在建立特征点匹配之前,需要将从图像中获得的所有特征描述子集合构建在kd-tree上,建立特征点数据索引。kd-tree的实质是平衡二叉树,是一种对数据在k维空间进行划分的二叉树结构,二叉树的每个节点代表一个数据空间的范围。传统knn算法是单向的,很多错误匹配会存在于匹配结果中。本发明提出双向knn算法来提高匹配准确度,减少初匹配中的误匹配对数。分别对参考图像和目标图像建立kd-tree,为kd-tree1和kd-tree2,采用单向knn算法从kd-tree1上寻找到目标图像的k(k=2)个最近邻特征点p1,p2;从kd-tree2上寻找到参考图像的k个最近邻特征点p′1,p′2。目标图像特征点到p1的欧氏距离为d1,到p2的欧氏距离为d2。目标图像特征点到p′1的欧氏距离为d′1,到p′2的欧氏距离为d′2。如果d1/d2≤h,匹配符合条件,将匹配特征加入集合a,d′1/d′2≤h,将匹配特征加入集合b。经过多次实验,获得经验值h(h=0.6)。提取集合a和b的公共匹配作为初始匹配对,并加入集合c,c中的匹配对即为初始匹配的结果。获得初始匹配结果后,采用ransac算法剔除外点,保留内点,并估算图像之间的仿射变换矩阵,用于将待拼接图像统一到同一坐标系下。当迭代次数增加,概率p同样也会增加。
其中,当n=300,pi=0.5时,对应变换矩阵估计错误的概率为1.0×10-18。需配准效果和实时性两方面综合考虑,作为经验值,迭代次数一般设置为300次为最佳。
图像配准后,直接合成将导致图像拼接处颜色过渡不连续,当有图像中存在移动目标时拼接结果还会存在伪影。因此,需要找到一个最优拼接缝来消除伪影并隐藏图像边缘。图像拼接缝的位置选取与两个因素有关,一是图像重叠区域的色差,二是图像重叠区域的纹理差异。人眼对颜色差异非常敏感,所以我们需要关注色差。在色差很小的前提下,将纹理差异作为参考因子是为了阻止拼接缝穿过具有较大纹理差异的目标。因此,使用动态规划的方法获取拥有最低能量的拼接缝,使其两侧色差最小,几何结构最相似。预测当前拼接缝区域周围的颜色和几何结构是否相似。它给拼接缝的搜索提供了一个空间的转换,以避免拼接缝两侧产生过大的差异。
由于图像拍摄方向不一致,会导致图像曝光度不一样,所以直接进行的图像拼接仍然存在痕迹。传统的多分辨率融合算法直接融合扩展的图像,不适合要求高的实时图像拼接。图像融合的目的是融合拼接缝、消除曝光差异和伪影,其实对拼接缝周围进行融合即可达到融合效果。本发明提出一种基于拼接缝的拉普拉斯多分辨率融合算法,对融合的范围进行限制。限定图像融合在一个有限的范围内可以缩短融合时间并保证融合效率。在融合之前需建立拼接缝图像的权值图像ir,拼接缝左侧用像素值0来填充,右侧用像素值255来填充。求出最优拼接缝的最小外接矩形的左边界xmin和右边界xmax。多次实验获得融合的限定范围经验阈值ξ,20≤ξ≤40,其中ξ=30最优。取一个最优拼接缝的外接矩形r,限定的融合区域r′,融合区域r′左边界为xmin-ξ,右边界为xmax+ξ,在该范围内进行图像融合,能够缩短融合时间,提高实时性。
图像之间能否正确匹配反映了特征点提取算法的精确性和匹配算法的有效性,为了客观验证图像的匹配效果定义图像之间的正确匹配概率为:
a-kaze算法在实时性上比传统sift算法有明显提高,a-kaze算法在保证实时性的同时,又确保了图像的正确匹配。因此本发明采用a-kaze算法来替代sift算法提取图像特征,提出了基于a-kaze特征的图像拼接。
本发明的有益效果:
效果一,提高了一种基于改进图像融合的图像拼接方法的准确性;
效果二,提高了图像拼接算法的实时性;
效果三,消除了拼接缝和伪影。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1,特征描述子建立过程示意图。
图2,双向knn匹配中从参考图像到目标图像的knn匹配结果示意图。
图3,双向knn匹配中从目标图像到参考图像的knn匹配结果示意图。
图4,双向knn匹配共有匹配结果示意图。
图5,经过ransac算法消除错误匹配后的配准结果。
图6,最优拼接缝结果示意图。
图7,直接拼接结果示意图。
图8,权值图像示意图。
图9,i1扩充后的目标图像。
图10,i2扩充后的参考图像。
图11,高斯扩展后的权值图像。
图12,融合后的结果示意图。
图13,实施例1中对比图一。
图14,实施例1总对比图二。
图15,传统拼接算法和本实施例中改进算法的拼接时间对比示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例1
本实施例提供一种基于改进图像融合的图像拼接方法,所述方法包括:
(1)使用a-kaze算法对目标图像及参考图像分别进行特征点提取,建立特征描述子集合;
(2)将步骤(1)中从目标图像及参考图像中获得的特征描述子集合,构建kd-tree,建立特征点数据索引,使用双向knn匹配算法进行特征点匹配,得到集合c,集合c中的匹配对为初始匹配的结果,对初始匹配结果使用ransac算法剔除外点保留内点,计算目标图像及参考图像间的仿射变换矩阵h,将目标图像及参考图像统一到同一坐标系下,得出配准图像,完成图像配准;所述特征描述子集合包括特征点位置、方向及尺寸;
(3)根据步骤(2)中图像配准结果,使用改进的基于拼接缝的拉普拉斯多分辨率融合算法进行图像融合,所述改进的基于拼接缝的拉普拉斯多分辨率融合算法包括使用动态规划的方法计算最优拼接缝,根据最优平接缝确定融合范围,最后使用拉普拉斯多分辨率融合算法在融合范围内进行融合,完成图像拼接。
其中,所述步骤(1)包括:
(1a)构造使用快速显示扩散算法构建非线性尺度空间,建立图像金子塔;
a-kaze算法采用的是非线性扩散滤波,通特定流函数的散度来描述不同尺度空间上的亮度变化,图像l的非线性扩散方程:
div和
λ是控制水平扩散的对比度因子,用来控制图像边缘信息的保留程度,对比度因子越大,边缘信息的保留性越差。
a-kaze特征尺度空间的构建方式中尺度的大小按照对数递增,采用快速显示扩散算法构建图像金字塔,将图像金字塔分为o个组,每一组包括s个子层。a-kaze组内各层图像均与原始图像的分辨率相同。组o和子层s与尺度参数σ一一对应:
σi(o,s)=2o+s/so∈[0...o-1],s∈[0...s-1],i∈[0...m]
其中,m=o*s是滤波图像的总数,线性滤波以像素级的尺度参数σi为单位,而非线性扩散滤波模型的单位是时间,需要将单位转换成时间ti:
ti称为进化时间,用于构造非线性的尺度空间。
a-kaze算法采用快速显示扩散算法求取近似解。将
li+1=(i+τa(li))li
a(li)是图像li的传导矩阵,τ是步长;
i为单位矩阵,先验估计li+1,0=li,一个快速显示扩散周期可得到方程:
li+1,j+1=(i+τja(li))li+1,jj=0,...,n-1
其中,n为显性扩散的步数;τj表示对应步长:
τmax为满足显性扩展稳定性条件时的最大步长。
线性高斯滤波会模糊边界,导致图像细节的损失;本实施中非线性滤波边界保留完好,克服了线性滤波的缺点。
(1b)根据步骤(1)计算出在不同非线性尺度下的滤波图像li的海森矩阵lihessian,然后利用特征值判断极值,完成特征点检测与定位,海森矩阵lihessian为:
其中,
a-kaze算法在寻找极值点,包括利用3*3的滑动窗口遍历尺度图像,让每一个像素点和它相同尺度的16邻域点和上下相邻尺度对应的34个点进行比较,从而检测到极值点并确定其位置
(1c)为了确保特征点的旋转不变性,特征点确定位置后,根据步骤(1b)中特征点定位结果,以定位结果为圆心,搜索半径为3σi的圆形区域内搜索主方向,对圆形区域内的所有像素点的一阶微分值进行高斯加权,将高斯加权结果值作为图像像素点的响应值,在一个3σi的扇形区域滑动窗口内,对扇形区域滑动窗口内所有的响应值求和,使用扇形滑动窗口遍历圆形区域,响应和最大的方向即为特征点的主方向完成特征点描述;
(1d)根据获得的特征点的描述信息后,采用二进制描述子,对特征点进行描述,建立特征描述子;
将获取的特征点的位置、尺度和方向信息后建立特征描述子。a-kzae算法采用二进制描述子m-ldb对特征点进行描述。二进制描述子m-ldb根据特征尺度σ,对网格进行二次采样,并根据主方向相应的对ldb网格进行旋转,增强了描述子的鲁棒性和旋转不变性。
在特征点周围特定领域内选择一个区域块,把每个区域块分成n×n个相同大小的网格,从每个网格单元中提取具有代表性的信息并且对一对网格细胞(i,j)执行二进制测试操作,形成一个3n(n-1)/2位的二进制描述符。
二进制测试操作
func(·)={funcintensity(·),funcdx(·),funcdy(·)}
funcdx(i)=gradientx(i)为x方向上的梯度信息;
funcdy(i)=gradienty(i)为y方向上的梯度信息;
特征描述子建立过程中如图1,第1行代表3种具有不同像素强度值和分布的图像块;第二行中,pj1为平均强度值i,pj2和pj3分别代表x和y方向的梯度值,黑色实心填充代表左上角网格和白色空心填充代表右下方网格;第三行代表的是三个二进制描述子。步骤(1d)会得到一个二进制字符串,二进制字符串位之间会有较强的相关性从而产生一定的冗余。a-kaze运用一种随机选择的策略来选择一些最不相关的部分来生成最后的描述符,来减少特征描述符的存储容量。
其中,σi为特征点的尺度参数,
步骤(2)中,首先将从图像中获得的所有特征描述子集合构建在kd-tree上,建立特征点数据索引。kd-tree的实质是平衡二叉树,是一种对数据在k维空间进行划分的二叉树结构,二叉树的每个节点代表一个数据空间的范围。构建kd-tree的过程包括:
①确定分割域,将所述特征点位置坐标设定为二维数据点,分别特征点位置坐标在x维度及y维度上的方差,取方差最大对应的维度作为当前分割域进行分割;
②确定当前节点,将特征描述子集合中的特征点位置坐标按方差最大的维度进行排序,选取排序中的中值作为当前节点,并使用当前节点分割空间域得到左子空间及右子空间,所述左子空间为小于节点值的坐标,所述右子空间为大于节点值的坐标;
③根据步骤②中包含于左子空间的坐标及右子空间的坐标为新的特征描述子集合,按照步骤①及步骤②进行迭代划分,直到数据集中的特征点数据为空,获得初始匹配结果。
现有的knn算法是单向的,很多错误匹配会存在于匹配结果中。本实施例提出的双向knn算法来提高匹配准确度,减少初匹配中的误匹配对数。方法是,分别对参考图像和目标图像建立kd-tree,kd-tree1和kd-tree2,采用单向knn算法从kd-tree1上寻找到目标图像的k(k=2)个最近邻特征点p1,p2;同样方法从kd-tree2上寻找到参考图像的k个最近邻特征点p′1,p′2。目标图像特征点到p1的欧氏距离为d1,到p2的欧氏距离为d2。目标图像特征点到p′1的欧氏距离为d′1,到p′2的欧氏距离为d′2。如果d1/d2≤h,匹配符合条件,将匹配特征加入集合a,d′1/d′2≤h,将匹配特征加入集合b。根据经验值h(h=0.6)。提取集合a和b的公共匹配作为初始匹配对,并加入集合c,c中的匹配对即为初始匹配的结果。
图2为的是单向从参考图像到目标图像的knn匹配结果。图3为的是双向knn匹配后提取共有匹配对的结果。图4为共有匹配结果示意图。
为进一步提高准确性,优选地,所述步骤(2)还包括获得步骤③中初始匹配结果后,使用ransac算法剔除外点保留内点,求解图像之间的仿射变换矩阵h,将待拼接图像统一到同一坐标系:
ransac算法包括:
(i)根据步骤③的初始匹配结果中的n个匹配对中随机选取r个点对集合,所述r个对集合输入图像的特征点对构成一个可逆矩阵,计算仿射变换矩阵h为:
其中,目标图像及参考图像间的仿射变换矩阵关系为:
将参考图像点(x′i,y′i)和目标图像点(xi,yi)匹配对应,得出匹配特征点集合,根据匹配特征点集合中r对匹配特征点计算出仿射变换矩阵h;
(ii)给定距离阀值,根据步骤(i)中仿射变换矩阵h,计算目标图像剩余特征点进行仿射变换矩阵h变换的特征点值与参考图像剩余特征点之间的距离为d1,d1小于距离阈值,当前剩余特征点的匹配特征点为内点;d1大于给定距离阈值,当前剩余特征点的匹配特征点为外点,所述参考图像剩余特征点与目标图像剩余特征点匹配;
(iii)重复步骤(i)和步骤(ii)n次,计算每次的内点数量,完成第n次重复后,取n次中最大内点数与所述最大内点数对应的仿射变换矩阵h,设定最大内点数为内点集;
其中,r为正整数,θ为图像旋转角度,u,v为图像沿x轴与y轴方向的水平位移,n为正整数。
为平衡计算效率和准确度之间的平衡关系,作为优选,进一步地,所述n=300,r=3为最佳。设定两幅匹配图像之间特征点正确匹配的内点概率为pi,n次迭代后找到正确变换矩阵的概率:
p=1-(1-(pi)r)n
当迭代次数增加,概率p同样也会增加。本实施例中取经验值n=300时,pi=0.5,对应变换矩阵估计错误的概率为1.0×10-18。图5为ransac算法排除错误匹配后配准结果。
图像配准后,直接合成将导致图像拼接处颜色过渡不连续,当有图像中存在移动目标时拼接结果还会存在伪影。因此,需要找到一个最优拼接缝来消除伪影并隐藏图像边缘。图像拼接缝的位置选取与两个因素有关,一是图像重叠区域的色差,二是图像重叠区域的纹理差异。人眼对颜色差异非常敏感,所以在色差很小的前提下,将纹理差异作为参考因子是为了阻止拼接缝穿过具有较大纹理差异的目标。因此,使用动态规划的方法获取拥有最低能量的拼接缝,使拼接缝两侧色差最小,几何结构最相似。
所述步骤(3)中计算最优拼接缝包括:
建立能量公式:
(a)t(i,j)=α·ec(i,j)+β·eg(i,j)2,
(b)以重叠区域交叉p点为起始点,将p点作为拼接缝的第一个像素值,根据步骤(a)中能量公式计算p点的能量值t1;
(c)继续向下一行搜索,搜索方向分别为p点正下方、左下方45度和右下方45度,计算p点下一行中正下方像素点的能量值t2、左下方45度像素点的能量值t3和右下方45度像素点的能量值t4,取t2-t4中最小值对应的像素点p'为该拼接缝的搜索点,令p=p'返回重复执行步骤(c);
(d)将搜索到最后一行获得的搜索点集合作为最优拼接缝;
其中,ec代表拼接缝周围5×5区域像素的色调ech,饱和度ecs和亮度之差ecr。ec=ech+ecs+ecr,
权重值的作用是调整色差和纹理差之间的比例。当值α变大,β值相应会变小,在寻找拼接缝的过程中,将会过多考虑颜色因素并忽略缝合缝两侧图像纹理的影响。本实施例取经验权重值,α值为0.83,β值为0.17。
能量公式可以预测当前拼接缝区域周围的颜色和几何结构是否相似。它给拼接缝的搜索提供了一个空间的转换,以避免拼接缝两侧产生过大的差异。最优拼接缝的结果如图6所示,直接拼接如图7所示。
由于图像拍摄方向不一致,会导致图像曝光度不一样,所以在实际操作中图像拼接的痕迹仍然存在。传统的多分辨率融合算法直接融合扩展的图像,不适合要求高的实时图像拼接。图像融合的目的是融合拼接缝、消除曝光差异和伪影,对拼接缝周围进行融合即可达到融合效果。
本实施例对融合的范围进行限制,图像融合在一个有限的范围内可以缩短融合时间并保证融合效率。
为在不影响图像拼接质量的前提下提高拼接效率,减少计算量,优选地,所述步骤(3)中确定融合范围包括:
(a)计算最优拼接缝的最小外接矩形的左边界xmin和右边界xmax,设置限定范围ξ,20≤ξ≤40;
(b)根据限定范围ξ确定限定的融合区域r',包括限定范围ξ设定一个最优拼接缝的外接矩形r,限定的融合区域矩形r',矩形r'的左边界为xmin-ξ、右边界为xmax+ξ;
(c)限定的融合区域矩形r'为融合范围。
优选地,所述ξ=30时,融合效率和融合质量达到最佳平衡。
所述步骤(3)拉普拉斯多分辨率融合算法在融合范围内进行融合包括:
(1a)建立拼接缝图像的权值图像ir如图8,拼接缝左侧用像素值0填充,拼接缝右侧用像素值255填充;
(1b)将目标图像i1和配准后参考图像i2扩充到与权值图像ir尺寸一致,扩充后的目标图像i1如图9,扩充后的i2如图10,所述扩展部分赋予像素值0;
(1c)分别在步骤(1a)及步骤(1b)中的三幅尺寸相同的目标图像i1、配准后参考图像i2及权值图像ir中设置所述限定的融合区域矩形r'内的图像,分别为i′1、i′2及i′r;
(1d)根据拉普拉斯分解法,分别对步骤(1c)中所述i′1和i′2进行分解,得出对应的拉普拉斯金字塔l1及拉普拉斯金字塔l2,构建i′1及i′2的高斯金字塔:
构建拉普拉斯金字塔:
通过gl+1升采样得到
(1e)对权值图像ir采用高斯扩展处理,求解权值图像ir的高斯金字塔为gr;
(1f)根据lsl(i,j)对i′1和i′2两幅图像的拉普拉斯金字塔对应的层进行融合,得到各层融合图像:
(1g)根据步骤(1f)得到拉普拉斯金字塔的各层融合图像,通过重构方法获得融合后的图像:
其中,1≤l≤n,0≤i<rl,0≤j<cl,
对权值图像采用高斯扩展处理使融合结果在拼接缝处更加平滑,从而使权值图像拼接缝处像素值从0到255缓慢的过渡,降低其阶跃性。通过本实施例方法步骤融合后的实验结果如图12所示。
本实施例还设定正确匹配率为图像之间能否正确匹配反映了特征点提取算法的精确性和匹配算法的有效性,客观验证图像的匹配效果定义图像之间的正确匹配概率:
本实施例中a-kaze算法在实时性上比传统sift算法有明显提高,a-kaze算法在保证实时性的同时,又确保了图像的正确匹配。因此本实施例采用a-kaze算法来替代sift算法提取图像特征,提出了基于a-kaze特征的图像拼接。
表1为根据图13及图14,通过限定范围后与限定范围前的拉普拉斯图像融合时间对比结果。
表1
限定范围后的拉普拉斯融合算法比传统的拉普拉斯融合算法在时间上明显降低许多,全局融合会占用大量时间和空间。在拼接缝周围一定范围内进行融合可以降低时间花销,同时可达到理想的融合效果。
除了在实时性上,提高了融合算法的效率,还需对图像融合的质量进行评价。图像融合的客观评价标准就是通过计算图像的统计参数来获得客观的量化指标。为了验证本实施例提出的改进算法的有效性,添加图像融合的质量评价标准来对改进融合算法和传统的加权融合算法进行对比。本实施例主要从图像的tenengrad梯度和图像的方差两个方面来进行融合质量评价。表2为传统加权平均融合与本实施例中改进融合方法的结果对比示意图。
表2
本实施例算法的tenengrad梯度和方差均比传统加权平均融合质量高,说明本发明改进融合算法获得的图像清晰度更高,更符合实际需求。
传统sift特征匹配算法的正确匹配率并不稳定,时高时低,并且匹配率普遍偏低。而本发明特征点匹配算法的正确匹配率相对稳定,均可达到75%以上。与传统sift特征匹配算法相比,本发明特征点匹配算法的精确性和稳定性更强。
图15为传统拼接算法和本实施例中改进算法的拼接时间对比示意图。本实施例拼接算法的拼接速度更快,拼接图像序列越多越能体现出其优越性,更满足实时性的要求。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员能够理解本发明,但是本发明不仅限于具体实施方式的范围,对本技术领域的普通技术人员而言,只要各种变化只要在所附的权利要求限定和确定的本发明精神和范围内,一切利用本发明构思的发明创造均在保护之列。