本发明涉及了一种图像拼接方法,具体是涉及到一种基于多尺度图像融合和sift特征的水下图像拼接方法。
背景技术:
随着遥控无人潜行器(remoteoperatedvehicle,简称rov)和自主式水下航行器(autonomousunderwatervehicle,简称auv)技术的成熟,人们可以很容易的通过rov和auv得到水下光学图像。但是,由于光在水中衰减严重,通过水下光学图像设备得到的图像和视频存在视野较窄,图像质量低等问题。如果想获取更广视野和更多信息的图像和视频,难免会降低其分辨率和图像质量。为了解决这一问题,图像拼接技术产生了。近年来,图像拼接技术发展迅速,应用最广的是sift和surf算法。sift算法虽然鲁棒性强,可靠性好,但描述符维数较高,计算复杂,算法效率不高;surf算法通过降维的方法将匹配速度提高了3倍。但是,surf在尺度不变性、旋转不变性等性能上的表现并不理想。考虑到水下环境和水下成像的特殊性,以及sift算法几乎不受图像光照、仿射变化(图像旋转角度,缩放大小等)和噪音等因素变化的影响,鲁棒性较强,容易辨识物体并提取特征,且准确率较高,并且现在已经有很多改进sift算法,提升了算法的速度和效率。本发明主要针对水下图像特点对sift算法进行改进。
进行图像配准前,图像预处理非常重要,针对自然图像的白平衡算法如灰色世界算法,白斑算法,完美反射算法等对深水图像的处理效果都不太理想,现有的灰色边缘算法根据不同图像特点选择不同的minkowski范数p,虽然可以使得图像白平衡处理效果非常理想,但是因为产生了高次幂运算,计算量特别大,计算耗时较长。
技术实现要素:
为了解决上述问题,充分考虑深水域环境特点,本发明提出一种改进白平衡算法,可以很好的解决在光照不足时图像偏色严重问题,使得深水域的图像也可以色彩分布均匀,有效去除色块,同时恢复图像的白色和灰色阴影,计算效率也很高;并将多尺度融合原理的图像增强算法应用于水下预处理图像中,采用改进白平衡算法和双重金字塔图像融合算法,提升水下图像拼接的效果和正确率;并在前人基础上对sift算法进行水下图像配准方法改进,提升水下图像配准和拼接的准确率。
本发明提供了一种基于多尺度图像融合和sift特征的水下图像拼接方法,首先使用改进白平衡算法,基于线性插值的clahe算法和多尺度图像融合算法进行水下图像预处理,然后使用改进sift算法进行水下图像配准,最后计算得到变换矩阵后进行水下图像拼接。
具体包括以下步骤:
1)采用改进白平衡算法和基于线性插值的clahe算法对水下图像进行图像增强,得到图像增强后的两幅待融合图像;
2)采用双重金字塔图像融合方法融合步骤1)得到的两幅待融合图像,得到水下预处理图像;
3)将水下预处理图像通过改进sift算法进行水下图像配准,得到匹配成功的关键点;
4)根据步骤3)得到的匹配成功的关键点,得到仿射变换矩阵;采用线性渐变合成算法完成最后的水下图像拼接。
进一步的,所述步骤1)具体为:
1.1)用改进白平衡算法对水下图像进行白平衡处理,得到第一幅待融合图像;
1.2)用基于线性插值的对比度受限自适应直方图均衡化clahe算法进行亮通道图像增强,得到第二幅待融合图像。
进一步的,所述步骤1.1)具体为:
1.1.1)水下彩色图像数据为m×n×3的矩阵,分别计算r,g,b三通道的平均值
1.1.3)计算各通道的增益系数
1.1.3)将每个通道的矩阵重排列成1×(m·n)的行向量矩阵,按像素值从小到大排列,然后对行向量矩阵的两端像素值进行调整;
1.1.4)将像素值区间线性变换,按下面的公式拉伸至区间[min,max],此处选择[0,255],进一步修正色偏;
其中,x表示每一通道上每个像素值的大小,v(x)表示拉伸后的每一通道上每个像素值的大小;
进一步的,所述步骤1.1.3)具体为:
1.1.3.1)首先确定每一个通道两端像素值的调整区间,选取行向量矩阵中前n%位置和后n%位置的像素值进行调整,对于r,g,b通道,n%是不同的:
其中,nr%、ng%、nb%分别表示r,g,b通道各自对应的百分比,kr、kg、kb分别表示各通道的增益系数;
1.1.3.2)找到各通道行向量矩阵中除前n%和后n%位置的像素值之外,中间区间的像素最大值vmax,像素最小值vmin;
1.1.3.3)将各通道行向量矩阵中前n%位置的像素值全部设置为vmin,后n%位置的像素值全部设置为vmax。
进一步的,所述步骤1.2)具体为:
1.2.1)对水下图像进行分片处理,获取每个片区的图像灰度直方图,并限制直方图的高度;
1.2.2)根据步骤1.2.1)得到的直方图,得到每个片区的累积分布函数,进而得到每个片区的变换函数;
1.2.3)利用线性插值后的变换函数对每个像素进行映射变换。
进一步的,所述步骤2)具体为:
2.1)分别计算每一幅待融合图像的四副权重图:全局对比度权重图wc,局部对比度权重图wlc,色度权重图ws和显著度权重图we;
2.2)计算得到各权重后,将各权重值高斯均一化:
wk=wc wlc ws we
其中,
2.3)最后,采用多尺度融合方法对输入的拉普拉斯金字塔和权重的高斯金字塔进行对应层的融合,得到水下预处理图像;拉普拉斯融合公式如下:
其中,
进一步的,所述步骤2.1)具体为:
2.1.1)计算全局对比度权重图wc:将rgb图像进行空间转换到lab,对图像的lab亮度通道l进行拉普拉斯卷积滤波,输出的滤波结果取绝对值得到全局对比度权重图;
2.1.2)计算局部对比度权重图wlc:为了增强局部特征,局部对比度权重图由局部像素值与其邻域像素值共同决定,wlc计算公式如下:
其中,ik是第k幅待融合图像的亮度通道l,
2.1.3)计算色度权重图ws:
ws=(l-lm)2 (a-am)2 (b-bm)2
其中,l,a,b分别对应lab空间各通道的像素矩阵,lm,am,bm是对应的平均值;
2.1.4)计算显著度权重图we:显著度权重表示每一个像素的突出程度,它可以使图像的局部特殊区域也保持较好的对比度,让每个像素都不被过分强调,也不被忽视。显著度权重图we的计算公式如下:
其中,0.5是亮度值的均值,σ是亮度值的标准差,取0.25。
进一步的,所述步骤3)中将水下预处理图像通过改进sift算法进行水下图像配准,具体为:
3.1)对步骤2)得到的水下预处理图像建立图像尺度空间;
3.2)根据图像尺度空间,使用高斯差分图像金字塔进行极值点检测;
3.3)进行阈值自适应的关键点定位和消除边缘效应:将阈值设定为图像对比度的10%,对比度值在该阈值以下的点才会作为低照度点处理,以此扩大关键点范围,提高水下图像配准准确率;
3.4)使用canny算法计算关键点的梯度和大小,平滑噪声的同时也可以保留图像更多细节,其中,对每个关键点像素进行一阶有限拆分计算偏导数,像素梯度的模值m(x,y)和方向θ(x,y)如下:
m(x,y)=[(l(x 1,y)-l(x-1,y))2 (l(x,y 1)-l(x,y-1))2]1/2
其中,l(x,y)是关键点所在的尺度空间值;
3.5)计算得到关键点特征描述符;
3.6)使用双向hausdorff距离和bbf最邻近查询法对关键点进行粗匹配,再用ransac进行进一步提纯,可以较快速的得到匹配成功的关键点。
进一步的,所述步骤3.3)具体为:
3.3.1)关键点定位需要对图像尺度空间dog函数进行曲线拟合,其泰勒展开式为:
其中,dog表示高斯差分图像金字塔,xmax表示极值点,x表示曲线上的点;对x=(x,y,σ)t求导并让方程等于零,可以得到极值点的偏移量
然后进行迭代计算
3.3.2)消除边缘效应:一个定义不好的高斯差分算子的极值在横跨边缘的地方有较大的主曲率,而在垂直边缘的方向有较小的主曲率,这种边缘响应会对噪声不稳定,为了剔除上述dog函数产生的边缘响应点,先获取关键点处的2×2hessian矩阵:
令矩阵h的特征值为α和β,主曲率与特征值成正比,只需计算α和β的比值即可得出主曲率差别大的特征点,假设α是较大的特征值,而β是较小的特征值,令α=γβ,则有:
其中,tr(h)表示矩阵h对角线元素之和,det(h)表示矩阵h的行列式,d的主曲率和h的特征值成正比,令α为最大特征值,β为最小特征值,则公式(γ 1)2/γ的值在两个特征值相等时最小,公式值越大,说明两个特征值的比值越大,即在某一个方向的梯度值就越大,而在另一个方向的梯度值越小,而边缘恰恰就是这种情况,所以为了剔除边缘响应点,需要让该比值小于一定的阈值,因此,为了检测主曲率是否在某域值γ下,只需检测:
公式成立时将关键点保留,反之剔除。
进一步的,所述步骤3.5)具体为:
3.5.1)确定获取特征描述符所需的图像区域;
3.5.2)根据像素梯度的方向θ(x,y),将坐标轴旋转为关键点的方向,以确保旋转不变性;
3.5.3)将邻域内的采样点分配到对应的子区域内,将子区域内的梯度值分配到8个方向上,并获取其权值;
3.5.4)插值计算每个关键点八个方向的梯度;
3.5.5)归一化特征描述符,以去除光照变化影响;
3.5.6)设置特征描述符门限,以去除非线性光照,相机饱和度变化造成某些方向梯度值过大的影响;
3.5.7)再进行一次归一化处理,最终得到关键点特征描述符。
进一步的,所述步骤4)具体为:
4.1)对图像上位置有偏差的匹配成功的关键点进行双线性内插处理;
4.2)采用线性变换算法得到图像仿射变换矩阵;根据步骤4)得到的匹配成功的点,使用仿射变换求出变换矩阵,将两幅图像进行加权融合,得到最终拼接图像;
将一对关键点(x1,y1)和(x2,y2)转换为齐次坐标(x1,y1,z1)和(x2,y2,z2),变换矩阵公式如下:
x2=x'2/z2
y2=y'2/z2
其中,h表示变换矩阵;
4.3)采用线性渐变合成算法完成最后的水下图像拼接,此处假设权重系数为α,则合成后的图像i(x,y)的计算公式为:
其中,i1(x,y)表示第一幅图的非重叠部分,i2(x,y)表示第二幅图的非重叠部分,xi表示每一通道上第i个像素值的大小,xmax和xmin分别表示每一通道上像素的最大值和最小值。
本发明具备的有益效果是:
本发明提出的基于多尺度图像融合和sift特征的水下图像拼接方法,采用改进白平衡算法和多尺度双重金字塔融合算法来预处理水下图像,水下图像质量明显提升且对后续图像配准效果有显著提高作用,在此基础上使用改进sift算法可以扩大关键点范围,对噪音鲁棒性增强,特征点和匹配点个数随之增加,匹配正确率也相应提高。本发明具体创新点如下:
(1)针对水下图像预处理,本发明贴合水下环境和水下成像特点,提出专门针对偏色严重深水图像的改进白平衡算法,明显修复了偏色严重的水下图像,且比现有算法更加简单直接;
(2)针对水下图像配准的改进sift算法,因水下图像亮度和对比度普遍较低,本发明提出自适应阈值法筛选关键点,对比度阈值设置为图像的10%,明显扩大了关键点提取范围,增加了关键点个数;
(3)针对水下图像配准的改进sift算法,鉴于水下图像噪声较多,本发明采用canny算法计算关键点的梯度和大小,平滑噪声的同时也可以保留图像的更多细节,不损失图像质量,可以增加关键点的匹配正确率。
附图说明
图1为本发明的方法流程图;
图2为不同白平衡算法处理后的水下图像颜色直方图对比图;
图3为初始水下图像(左)和配准后得到的关键点对(右);
图4为预处理后的水下图像(左)和配准后得到的关键点对(右);
图5为预处理后的水下图像进行图像拼接的实验结果。
具体实施方式
下面结合附图及具体实施例对本发明作进一步详细说明。本发明的实施例及其实施过程如下:
本发明实施例所处理的水下图像如图2所示,包括一张测试图像和一张待配准图像。两张水下图像是对同一大场景进行两个角度的拍摄,两张图有公共部分,故需要对两张水下图像进行配准和拼接,输出一张图像。具体步骤可参考图1中的流程图。
步骤一、水下图像预处理:图像增强
采用改进白平衡算法和基于线性插值的clahe算法对水下图像进行图像增强。
1.1)用改进白平衡算法对水下图像进行白平衡处理。
1.1.1)水下彩色图像数据为m×n×3的矩阵,分别计算r,g,b三通道的平均值
1.1.2)计算各通道的增益系数
1.1.3)将每个通道的矩阵重排列成1×(m·n)的行向量矩阵,按像素值从小到大排列,然后对行向量矩阵的两端像素值进行调整。
1.1.3.1)首先确定两端像素值的调整区间,本发明选取行向量矩阵中前n%位置和后n%位置的像素值进行调整,对于r,g,b通道,n%是不同的:
1.1.3.2)找到各通道行向量矩阵中除前n%和后n%位置的像素值之外,中间区间的像素最大值vmax,像素最小值vmin。
1.1.3.3)将各通道行向量矩阵中前n%位置的像素值全部设置为vmin,后n%位置的像素值全部设置为vmax。
1.1.4)将像素值区间线性变换,按下面的公式拉伸至区间[min,max],此处选择[0,255],进一步修正色偏。
1.2)用基于线性插值的对比度受限自适应直方图均衡化(clahe)算法进行亮通道图像增强。
1.2.1)对水下图像进行分片处理,算出每个片区的图像灰度直方图,并限制直方图的高度。
1.2.2)计算每个片区的累积分布函数,进而得到每个片区的变换函数。
1.2.3)利用线性插值后的变换函数对每个像素进行映射变换。
步骤二、水下图像预处理:图像融合
用双重金字塔图像融合方法融合图像增强后的图像,得到水下预处理图像。
2.1)计算图像的四副权重图:全局对比度权重图wc,局部对比度权重图wlc,色度权重图ws和显著度权重图we。
2.1.1)计算全局对比度权重图wc:将rgb图像进行空间转换到lab,对图像的lab亮度通道l进行拉普拉斯卷积滤波,输出的滤波结果取绝对值得到全局对比度权重图。
2.1.2)计算局部对比度权重图wlc:为了增强局部特征,局部对比度权重图由局部像素值与其邻域像素值共同决定。wlc计算公式如下:
其中,ik是输入图像的亮度通道l,
2.1.3)计算色度权重图ws:
ws=(l-lm)2 (a-am)2 (b-bm)2
其中,l,a,b分别对应lab空间各通道的像素矩阵,lm,am,bm是对应的平均值。
2.1.4)计算显著度权重图we:显著度权重表示每一个像素的突出程度,它可以使图像的局部特殊区域也保持较好的对比度,让每个像素都不被过分强调,也不被忽视。显著度权重图we的计算公式如下:
其中,ik(x,y)是(x,y)位置的亮度值,均值是0.5,标准差σ是0.25。
2.2)计算得到各权重后,将各权重值高斯均一化:
2.3)最后,采用多尺度融合方法对输入的拉普拉斯金字塔和权重的高斯金字塔进行对应层的融合,即采用双重金字塔图像融合方法,得到水下预处理图像。拉普拉斯融合公式如下:
步骤三、水下图像配准
将水下预处理图像通过改进sift算法进行水下图像配准。
3.1)对步骤二得到的预处理图像建立图像尺度空间。
3.2)使用高斯差分图像金字塔进行极值点检测。
3.3)进行阈值自适应的关键点定位和消除边缘效应:算法将阈值设定为图像对比度的10%,对比度值在该阈值以下的点才会作为低照度点处理,以此扩大关键点范围,提高水下图像配准准确率。
3.3.1)关键点定位需要对图像尺度空间dog函数进行曲线拟合,其泰勒展开式为:
其中,对x=(x,y,σ)t求导并让方程等于零,可以得到极值点的偏移量
然后进行迭代计算
3.3.2)消除边缘效应:一个定义不好的高斯差分算子的极值在横跨边缘的地方有较大的主曲率,而在垂直边缘的方向有较小的主曲率,这种边缘响应会对噪声不稳定。为了剔除上述dog函数产生的边缘响应点,先获取特征点处的2×2hessian矩阵:
α和β是矩阵h的特征值,主曲率与特征值成正比,所以只需计算α和β的比值即可得出主曲率差别大的特征点。假设α是较大的特征值,而β是较小的特征值,令α=γβ,则有:
表示矩阵h对角线元素之和,表示矩阵h的行列式。假设α是较大的特征值,而β是较小的特征值,令α=γβ,则
d的主曲率和h的特征值成正比,令α为最大特征值,β为最小特征值,则公式(γ 1)2/γ的值在两个特征值相等时最小,公式值越大,说明两个特征值的比值越大,即在某一个方向的梯度值就越大,而在另一个方向的梯度值越小,而边缘恰恰就是这种情况。所以为了剔除边缘响应点,需要让该比值小于一定的阈值,因此,为了检测主曲率是否在某域值γ下,只需检测:
公式成立时将关键点保留,反之剔除。
3.4)canny算法计算关键点的梯度和大小,平滑噪声的同时也可以保留图像更多细节。其中,对每个关键点像素进行一阶有限拆分计算偏导数,像素梯度的模值m(x,y)和方向θ(x,y)如下:
m(x,y)=[(l(x 1,y)-l(x-1,y))2 (l(x,y 1)-l(x,y-1))2]1/2
其中,l(x,y)是关键点所在的尺度空间值。
3.5)计算得到关键点特征描述符。
3.5.1)确定计算描述向量所需的图像区域;
3.5.2)将坐标轴旋转为关键点的方向,以确保旋转不变性;
3.5.3)将邻域内的采样点分配到对应的子区域内,将子区域内的梯度值分配到8个方向上,计算其权值;
3.5.4)插值计算每个种子点八个方向的梯度;
3.5.5)归一化特征向量,以去除光照变化影响;
3.5.6)设置描述子向量门限,以去除非线性光照,相机饱和度变化造成某些方向梯度值过大的影响;
3.5.7)再进行一次归一化处理。
3.6)使用双向hausdorff距离和bbf最邻近查询法对关键点进行粗匹配,再用ransac进行进一步提纯,可以较快速的得到匹配成功的关键点。
步骤四、水下图像拼接
计算得到图像仿射变换矩阵后,采用线性渐变合成算法完成最后的水下图像拼接。
4.1)对图像上位置有偏差的像素点进行双线性内插处理;
4.2)采用线性变换算法计算得到图像仿射变换矩阵;根据步骤4)得到的匹配成功的点,使用仿射变换求出变换矩阵,将两幅图像进行加权融合,得到最终拼接图像。变换矩阵公式如下:
4.3)采用线性渐变合成算法完成最后的水下图像拼接,此处假设权重系数为α,则合成后的图像i(x,y)的计算公式为:
其中,
如图2所示为不同白平衡算法处理后的水下图像颜色直方图对比图,可以比较明显的看出grey-world算法和完美反射算法没有完成颜色修复,shades-of-grey算法和本发明的改进白平衡算法的颜色直方图均匀分布,完成了偏色严重图像的颜色修复。由于本发明算法使用了线性均匀映射,颜色直方图分布更加均匀,且没有进行高次幂运算,计算时间非常短,计算效率大大提升;
如图3所示为初始水下图像(左)和配准后得到的关键点对(右),用直线将配准后得到的关键点对连接起来;
如图4所示为预处理后的水下图像(左)和配准后得到的关键点对(右),用直线将配准后得到的关键点对连接起来,与图2进行对比,可以明显看出经过本发明预处理算法的水下图像质量明显提高,且关键点对的个数(即直线条数)明显提高;
如图5所示为预处理后的水下图像进行图像拼接的实验结果。
为了客观地评价本发明的算法的性能,本发明以初始水下图像中的植物图像为例,得到表1,表2和表3的实验数据:
如表1所示,将本发明的改进白平衡算法与其他白平衡算法进行比较。这些其他算法包括grey-world算法,完美反射算法和shades-of-grey算法。本发明使用了水下图像色度标准uicm指标和峰值信噪比psnr指标:uicm指标衡量图像的色度符合人类视觉的程度,数值越大,则说明图像的颜色分布越符合人类视觉,白平衡算法效果越好;psnr指标衡量图像处理后的失真程度,数值越大,则说明图像失真越小,白平衡算法效果越好。本发明的改进白平衡算法uicm值和psnr值均为最大,效果最好。
表1不同白平衡算法的uicm值和psnr值
如表2所示为调整对比度阈值时的关键点和配对成功点的实验结果,由实验结果可以看出:针对预处理图像,对比度阈值在10%以上时,关键点和配对成功点个数几乎成倍增长,而对比度阈值在10%以下时,关键点和配对成功点个数基本不再增长,保持平稳;针对未经过预处理的水下图像,阈值变化对图像关键点的增长效果不明显,水下图像依然无法完成配准,进一步证明水下图像预处理对图像配准的效果影响极大。
表2调整对比度阈值时的关键点和配对成功点的实验结果
如表3所示为不同算法进行配准的实验数据结果对比,从实验结果可以看出本发明提出的改进配准算法的关键点和匹配点个数更多,匹配正确率更高,rmse值更小。通过与标准sift算法对比,本发明提出的改进配准算法的关键点和匹配点个数更多,匹配正确率更高,rmse值更小,非常贴合水下环境。
表3不同算法进行配准的实验数据结果对比
虽然结合这里的具体实施例来描述本发明,但一些改变和修改对于本领域的技术人员而言是显而易见的,其不脱离本发明的真实精神。因此,本发明并非是通过这里的具体描述来进行理解,而是通过所附权利要求来进行理解。
1.一种基于多尺度图像融合和sift特征的水下图像拼接方法,其特征在于,该方法包括如下步骤:
1)采用改进白平衡算法和基于线性插值的clahe算法对水下图像进行图像增强,得到图像增强后的两幅待融合图像;
2)采用双重金字塔图像融合方法融合步骤1)得到的两幅待融合图像,得到水下预处理图像;
3)将水下预处理图像通过改进sift算法进行水下图像配准,得到匹配成功的关键点;
4)根据步骤3)得到的匹配成功的关键点,得到仿射变换矩阵;采用线性渐变合成算法完成最后的水下图像拼接。
2.如权利要求1所述的一种基于多尺度图像融合和sift特征的水下图像拼接方法,其特征在于,所述的步骤1)具体为:
1.1)用改进白平衡算法对水下图像进行白平衡处理,得到第一幅待融合图像:
1.1.1)水下彩色图像数据为m×n×3的矩阵,分别计算r,g,b三通道的平均值
1.1.2)计算各通道的增益系数:
1.1.3)将每个通道的矩阵重排列成1×(m·n)的行向量矩阵,按像素值从小到大排列,然后对行向量矩阵的两端像素值进行调整;
1.1.4)将像素值区间线性变换,按下面的公式拉伸至区间[min,max],此处选择[0,255],进一步修正色偏;
其中,x表示每一通道上每个像素值的大小,v(x)表示拉伸后的每一通道上每个像素值的大小;
1.2)用基于线性插值的对比度受限自适应直方图均衡化clahe算法进行亮通道图像增强,得到第二幅待融合图像:
1.2.1)对水下图像进行分片处理,获取每个片区的图像灰度直方图,并限制直方图的高度;
1.2.2)根据步骤1.2.1)得到的直方图,得到每个片区的累积分布函数,进而得到每个片区的变换函数;
1.2.3)利用线性插值后的变换函数对每个像素进行映射变换。
3.如权利要求2所述的一种基于多尺度图像融合和sift特征的水下图像拼接方法,其特征在于,所述的步骤1.1.3)具体为:
1.1.3.1)首先确定每一个通道两端像素值的调整区间,选取行向量矩阵中前n%位置和后n%位置的像素值进行调整,对于r,g,b通道,n%是不同的:
其中,nr%、ng%、nb%分别表示r,g,b通道各自对应的百分比,kr、kg、kb分别表示各通道的增益系数;
1.1.3.2)找到各通道行向量矩阵中除前n%和后n%位置的像素值之外,中间区间的像素最大值vmax,像素最小值vmin;
1.1.3.3)将各通道行向量矩阵中前n%位置的像素值全部设置为vmin,后n%位置的像素值全部设置为vmax。
4.如权利要求1所述的一种基于多尺度图像融合和sift特征的水下图像拼接方法,其特征在于,所述的步骤2)具体为:
2.1)分别计算每一幅待融合图像的四副权重图:全局对比度权重图wc,局部对比度权重图wlc,色度权重图ws和显著度权重图we;
2.2)计算得到各权重后,将各权重值高斯均一化:
wk=wc wlc ws we
其中,
2.3)最后,采用多尺度融合方法对输入的拉普拉斯金字塔和权重的高斯金字塔进行对应层的融合,得到水下预处理图像;拉普拉斯融合公式如下:
其中,
5.如权利要求4所述的一种基于多尺度图像融合和sift特征的水下图像拼接方法,其特征在于,所述的步骤2.1)具体为:
2.1.1)计算全局对比度权重图wc:将rgb图像进行空间转换到lab,对图像的lab亮度通道l进行拉普拉斯卷积滤波,输出的滤波结果取绝对值得到全局对比度权重图;
2.1.2)计算局部对比度权重图wlc:为了增强局部特征,局部对比度权重图由局部像素值与其邻域像素值共同决定,wlc计算公式如下:
其中,ik是第k幅待融合图像的亮度通道l,
2.1.3)计算色度权重图ws:
ws=(l-lm)2 (a-am)2 (b-bm)2
其中,l,a,b分别对应lab空间各通道的像素矩阵,lm,am,bm是对应的平均值;
2.1.4)计算显著度权重图we:显著度权重表示每一个像素的突出程度,它可以使图像的局部特殊区域也保持较好的对比度,让每个像素都不被过分强调,也不被忽视。显著度权重图we的计算公式如下:
其中,0.5是亮度值的均值,σ是亮度值的标准差,取0.25。
6.如权利要求1所述的一种基于多尺度图像融合和sift特征的水下图像拼接方法,其特征在于,所述的步骤3)具体为:
3.1)对步骤2)得到的水下预处理图像建立图像尺度空间;
3.2)根据图像尺度空间,使用高斯差分图像金字塔进行极值点检测;
3.3)进行阈值自适应的关键点定位和消除边缘效应:将阈值设定为图像对比度的10%,对比度值在该阈值以下的点才会作为低照度点处理,以此扩大关键点范围,提高水下图像配准准确率;
3.4)使用canny算法计算关键点的梯度和大小,平滑噪声的同时也可以保留图像更多细节,其中,对每个关键点像素进行一阶有限拆分计算偏导数,像素梯度的模值m(x,y)和方向θ(x,y)如下:
m(x,y)=[(l(x 1,y)-l(x-1,y))2 (l(x,y 1)-l(x,y-1))2]1/2
其中,l(x,y)是关键点所在的尺度空间值;
3.5)计算得到关键点特征描述符;
3.6)使用双向hausdorff距离和bbf最邻近查询法对关键点进行粗匹配,再用ransac进行进一步提纯,得到匹配成功的关键点。
7.如权利要求6所述的一种基于多尺度图像融合和sift特征的水下图像拼接方法,其特征在于,所述的步骤3.3)具体为:
3.3.1)关键点定位需要对图像尺度空间dog函数进行曲线拟合,其泰勒展开式为:
其中,dog表示高斯差分图像金字塔,xmax表示极值点,x表示曲线上的点;对x=(x,y,σ)t求导并让方程等于零,可以得到极值点的偏移量
然后进行迭代计算
3.3.2)消除边缘效应:一个定义不好的高斯差分算子的极值在横跨边缘的地方有较大的主曲率,而在垂直边缘的方向有较小的主曲率,这种边缘响应会对噪声不稳定,为了剔除上述dog函数产生的边缘响应点,先获取关键点处的2×2hessian矩阵:
令矩阵h的特征值为α和β,主曲率与特征值成正比,只需计算α和β的比值即可得出主曲率差别大的特征点,假设α是较大的特征值,而β是较小的特征值,令α=γβ,则有:
其中,tr(h)表示矩阵h对角线元素之和,det(h)表示矩阵h的行列式,d的主曲率和h的特征值成正比,令α为最大特征值,β为最小特征值,则公式(γ 1)2/γ的值在两个特征值相等时最小,公式值越大,说明两个特征值的比值越大,即在某一个方向的梯度值就越大,而在另一个方向的梯度值越小,而边缘恰恰就是这种情况,所以为了剔除边缘响应点,需要让该比值小于一定的阈值,因此,为了检测主曲率是否在某域值γ下,只需检测:
公式成立时将关键点保留,反之剔除。
8.如权利要求6所述的一种基于多尺度图像融合和sift特征的水下图像拼接方法,其特征在于,所述的步骤3.5)具体为:
3.5.1)确定获取特征描述符所需的图像区域;
3.5.2)根据像素梯度的方向θ(x,y),将坐标轴旋转为关键点的方向,以确保旋转不变性;
3.5.3)将邻域内的采样点分配到对应的子区域内,将子区域内的梯度值分配到8个方向上,并获取其权值;
3.5.4)插值计算每个关键点八个方向的梯度;
3.5.5)归一化特征描述符,以去除光照变化影响;
3.5.6)设置特征描述符门限,以去除非线性光照,相机饱和度变化造成某些方向梯度值过大的影响;
3.5.7)再进行一次归一化处理,最终得到关键点特征描述符。
9.如权利要求1所述的一种基于多尺度图像融合和sift特征的水下图像拼接方法,其特征在于,所述的步骤4)具体为:
4.1)对图像上位置有偏差的匹配成功的关键点进行双线性内插处理;
4.2)采用线性变换算法得到图像仿射变换矩阵;根据步骤4)得到的匹配成功的点,使用仿射变换求出变换矩阵,将两幅图像进行加权融合,得到最终拼接图像;
将一对关键点(x1,y1)和(x2,y2)转换为齐次坐标(x1,y1,z1)和(x2,y2,z2),变换矩阵公式如下:
x2=x'2/z2
y2=y'2/z2
其中,h表示变换矩阵;
4.3)采用线性渐变合成算法完成最后的水下图像拼接,此处假设权重系数为α,则合成后的图像i(x,y)的计算公式为:
其中,i1(x,y)表示第一幅图的非重叠部分,i2(x,y)表示第二幅图的非重叠部分,xi表示每一通道上第i个像素值的大小,xmax和xmin分别表示每一通道上像素的最大值和最小值。
技术总结