基于改进SURF算法的图像拼接研究
2021-05-27徐启文唐振民姚亚洲
徐启文,唐振民,姚亚洲
(南京理工大学 计算机科学与工程学院,江苏 南京 210094)
目前,随着无人机控制、定位以及稳定飞行技术的日渐提升,无人机应用领域也日渐广泛。在交通检测领域,通过无人机进行桥梁、道路质量检测也成为配合传统的人工检测、桥检车检测的有效手段。通过无人机搭载摄像机进行桥梁、道路图像的采集,这一过程将产生大量的位置相关联的桥梁、道路图像。在桥梁、道路图像的采集过程中,为了保持信息的完整,往往会在相邻图像之间保留一定重叠,依赖这部分重叠信息,对相邻图像进行拼接,从而展示出更加完整的图像信息。
这类场景以及类似场景图像集的相互关联性以及实际应用中的实时性,既对图像拼接算法提出了新的要求,也为图像拼接的效率提升提供了可能性,因此,研究效率更高、质量更好的图像拼接和图像融合算法有着非常重要的价值。
在图像拼接质量方面,诸如针对单视角拼接的As-projective-as-possible image stitching with moving DLT(APAP)[1]算法和针对多视角拼接的Natural image stitching with the global similarity prior(GSP)[2]算法等优秀图像拼接算法在优化特征点提取和图像融合方面有了长足的进步,极大地改进了拼接图像的视觉效果,质量提升明显。但在算法效率方面,由于摄像机分辨率的日益提升,被广泛使用的Harris角点检测算法、尺度不变特征变换(Scale-invariant feature transform,SIFT)[3]算法以及快速鲁棒特征(Speeded-up robust freatures,SURF)[4]算法等均难以提供令人满意的拼接效率;其中,在时间效率方面最高效的SURF算法在进行2张高分辨率图像的拼接时,特征提取和匹配阶段普遍要花费数秒乃至更长的时间,整体效率不高。
结合已有经典算法,为了提升图像拼接的效率和获取更加高质量的拼接图像,本文通过动态规划特征提取、描述区域的方式改进传统的SURF算法,依赖相邻图像空间重叠区域比例的相似性获取动态阈值,只对阈值内的区域进行特征提取和描述,以此提升拼接效率。同时,提出了新的非线性权重图像融合模型,以非线性权重重新规划拼接区域的权重占比,改进传统的渐进渐出图像融合算法,以期获取更高质量的拼接图像,有效提升多摄像机拍摄场景下的视频拼接效率。
1 具有动态阈值的改进SURF算法
1.1 图像拼接算法基本流程
为实现位置相关联图像集合的图像拼接,本文采用改进SURF算法进行特征点提取、描述和匹配以完成图像的机械拼接,应用非线性权重图像融合模型完成图像像素级融合,主要流程如图1所示。
图1 本文算法基本流程图
1.2 特征提取与描述
SURF算法优化了传统SIFT算法的特征提取和描述过程,通过改进高斯金字塔的构建过程以及降低特征描述子的维度等方法,提升了执行效率和算法稳定性。在算法执行效率方面,SURF算法的执行效率约为SIFT算法的3倍,能明显减少算法执行时间;在稳定性方面,SURF算法也在多幅图片场景下有更稳定的表现,其主要步骤如算法1所示。
算法1SURF算法执行过程
输入:一张待处理图像。
输出:特征描述向量集。
1:构造图像的Hessian矩阵。
2:构造高斯金字塔。
3:特征点初步定位。
4:计算特征点的矢量方向。
5:形成特征点的描述子。
1.3 生成用于规划特征点检测区域的动态阈值
传统的SURF算法在进行特征点提取和描述的过程中,会对整幅图像的所有区域进行特征点提取和描述,而进行特征匹配阶段时,通常只会用到与待拼接图像相邻部分的特征点进行特征匹配,从而协助变换矩阵[5]和变换图像的生成,而大部分特征点成为冗余特征点,这部分冗余特征点将产生以下负面影响:
(1)在消耗了大量计算和存储资源进行特征点的提取、描述和存储后,没有得到有效利用就被释放,加重了时间和空间负载,降低了算法性能。
(2)处于非拼接区域的无效冗余特征点在特征点匹配阶段将对特征点的正确匹配产生干扰,增加了特征点误匹配的可能性。
图2和3是模拟环境下无人机自动拍摄的实例图。图2为待拼接原图,图3为特征点配对图,其左右两侧代表相邻的两张图片,其中位置“02”和位置“03”是处于背景布边缘两侧的特征点,位置“01”和位置“04”是处于背景布支架上的特征点,这几处特征点处于图像的边缘位置,并不在拼接区域内,但由于其所处位置图像特征的相似性,产生了误匹配,从而影响了匹配效率,若误匹配数量过多,将直接影响拼接质量。
图2 待拼接原图
图3 传统SURF算法特征匹配图
因此,选取最有重叠可能的一部分区域进行特征点提取和描述,而舍弃重叠可能性不高的图像区域的特征点,能够有效减少冗余特征点的数量,从而加快特征点提取和匹配速度。
通常,为进行质量检测而采集的图像集会存在明显的邻接关系,如图4所示。
图4 模拟环境图像集
图4为无人机在模拟环境中采集的一组图像,它们在水平方向的重叠程度都极其相似,因此,在这一类图像集中,一对图像的特征提取结果可以为同一横向或同一纵向的其他图像的拼接提供协助。以横向拼接为例,主要方法如式(1)所示
(1)
式中:S1为初始阈值,Si为第i次(i>1)拼接的阈值。通常情况下,在图像边缘50%以外的特征点对图像拼接的影响不大,因此,取S1为50%,即只取与待拼接图像相邻一侧的那一半区域进行特征点的提取和匹配。fk为第k次图像拼接的阈值变化贡献因子,其表示如式(2)所示
(2)
式中:wk为第k次拼接右图的图像宽度,dk为舍弃部分稀疏的边缘特征点后剩余有效特征点与拼接左边界的最大距离,dk的具体生成步骤如下。
(1)选取待拼接图像中的一幅图像(右图或下图)为待处理图像。
(3)从最右侧的区域开始(如果是上下结构的图像,则从最下方区域开始),若满足式(3),则将区域i作为边缘区域,抛弃区域i之外的其他特征点匹配对,从而获得dk的数值。
ni+ni+1+…+nN≥0.1×NF,ni+1+…+nN<0.1×NF
(3)
边缘特征匹配对去除后,获取第一次拼接的阈值变化贡献因子f1,将该数值与初始阈值求均值,生成新的阈值S2用于下一组图像的拼接;拼接完成后,生成新的阈值变化贡献因子f2,将f1、f2和初始阈值3个数值求均值,生成第3次拼接的阈值S3继续用作下一组图像拼接,以此类推,直到阈值变化趋于稳定,当第i次拼接满足式(4)时
|Si-Si-1|<3%, |Si-1-Si-2|<3%
(4)
即认定阈值稳定,将该阈值作为之后图像的拼接阈值。若出现个别图像在当前阈值下无法正确拼接的情况,则仅对当前图像做阈值增加0.1的操作,其他图像继续使用当前阈值。在完成20~50轮拼接操作后,将该阈值作为新的初始阈值重新获取新的拼接阈值,直到所有工作完成。
以图2的待拼接图像为例,本文算法的特征匹配图如图5所示。
图5 本文算法特征匹配图
与图3的传统算法匹配图相比,本文改进算法的匹配图有效控制了特征匹配的范围,使得匹配正确率有所上升,并显著控制了特征点的数目,使得算法效率提升,具体数据将在第5节详细介绍。
2 特征点匹配
本文使用近似最近邻快速搜索库(Fast library for approximate nearest neighbors,FLANN)算法进行特征匹配[6],FLANN算法能够有效清除大部分复杂图像的特征误匹配[7]。FLANN算法的执行步骤如下:
第1步:以第一幅图像的特征点为训练集,第二幅图像的特征点为查询集,获取训练集中所有特征点与查询集中特征点的欧氏距离。
第2步:通过比较欧氏距离,保留每个训练集特征点与查询集特征点欧氏距离的最近点和次近点,放弃其余匹配。
第3步:若最近欧氏距离和次近欧氏距离满足
(5)
则保留该匹配对,否则抛弃该匹配对。其中,ratio是判别最近欧氏距离的匹配对与次近欧氏距离匹配对差异程度的阈值(0 本文算法使用单应性变换(Homography)算法进行图像翘曲,使得左右图像基本对齐。单应性变换就是将一张图像上的点映射到另一张图像上对应的点的3×3变换矩形H,其表达式为 (6) 对于图像翘曲前后的一组对应点(x1,y1)和(x2,y2),二者的映射关系如式(7)所示 (7) 应用上述映射公式进行图像变换,生成变换后图像,进行机械拼接。 图像融合是图像拼接的关键步骤,其作用是消除机械拼接产生的拼接裂缝以及亮度、色调等图像信息的跃迁,使得图像拼接区域的过渡更为自然。目前,针对不同的应用场景,渐进渐出融合[8]和缝合线融合[9]等图像融合算法均有一定的应用,在本文算法中,考虑到算法执行效率的要求,应用渐进渐出图像融合算法的改进算法进行图像融合。 传统的渐进渐出图像融合算法以线性权重生成重叠区域像素,以2张图像的横向拼接为例,其权重示意图如图6所示,在非重叠区域C1和C2中,非重叠区域C1由待拼接左图贡献100%权重生成,非重叠区域C2由待拼接右图贡献100%权重生成,而在重叠区域中,最终产生的像素遵循 图6 渐进渐出图像融合算法权重示意图 C(x,y)=W1C1(x,y)+W2C2(x,y) (8) 式中:W1为左图的权重,W2为右图的权重,C1(x,y)为左图的像素值,C2(x,y)为右图的像素值。 渐进渐出图像融合权重W1和W2的值遵循 实时跟踪系统就是跟踪、记录学生的学习过程和教师的教学过程,得到大量的学习数据和教学数据,并智能化分析这些数据,得出有建设性的结论和建议,为改进教学和学习提供强有力的指导。这一功能模块与铜职院的质量管理办公室所做的工作切合,质量管理办公室的主要任务就是对学校教学质量进行诊断改进分析研判。实时跟踪系统不仅对单个教师的教学提供帮助,更是对整个学校的教学改革和教学研究提供大数据支持。因此这是学校应该重点建设的第二个模块,此方面可能涉及到人脸识别、智能跟踪定位、数据存储等相关的技术。 (9) 式中:D1为重叠区域总宽度,D2为当前像素与重叠区域左边界的距离。 传统的渐进渐出图像融合算法虽然被广泛应用,但在进行扭曲角度较大、信息较为复杂的图像拼接时,这类图像融合算法存在以下缺陷:(1)拼接区域重影严重,严重影响拼接后图像的视觉观感。(2)拼接区域像素信息过渡较快,可能会产生拼接裂缝,视觉效果较差。 为降低渐进渐出算法的缺陷对图像拼接视觉效果的影响,本文提出了新的非线性权重模型,其权重示意图如图7所示,非重叠区域的权重与线性算法相同,重叠区域权重遵循 图7 非线性权重图像融合算法权重示意图 (10) 式中:D1为重叠区域总宽度,D2为当前像素与重叠区域左边界的距离,left为拼接重叠区域左边界坐标,right为拼接重叠区域右边界坐标。 该模型放大了左图像对靠近左边界部分重叠图像的影响以及右图像对靠近右边界部分重叠图像的影响,将使得拼接区域靠近边界的像素变化更加平滑,能够有效减少重叠部分的图像重影,从而有效减少重影、裂痕等视觉干扰因素。 本文应用11组连续的并具有相互临接关系的图像集进行拼接实验,这11组图像集包括1组无人机模拟图像集、7组路面图像集以及3组墙壁图像集,11组图像集共包含132张(66对)待拼接图像,在不使用CPU和GPU加速的前提下,按照相关实验结果指标将本文算法与传统SURF算法进行算法效率比较。 本次实验操作系统为Windows 10专业版,编译环境为Visual Studio 2012,处理器为Intel®CoreTMi7-6700HQ CPU@2.60 GHz。 为量化本文算法与传统算法的差异,统计特征点提取时间、特征点描述时间、特征点匹配时间、特征点总数目、匹配对总数目、参与精匹配的匹配对数目、特征点利用率、匹配正确率[10]等参数并对其进行比较。 (11) 5.3.1 具有动态阈值的改进SURF算法与传统SURF算法对比 如表1所示,其中各个数值均为11组图像集拼接实验的平均数组。 表1 本文算法与传统SURF算法效率对比表 文献[11]介绍了一种拼接图像质量评估方法(Stitched image quality evaluator,SIQE)。此方法使用可操作金字塔,利用边缘统计模型和二变量模型获取共36维的特征描述向量,将拼接图像与组成图像特征描述向量的差值导入支持向量回归模型(Support vector regressor,SVR)中,获取差异评分,能从客观角度验证拼接图像和原图的相似性,从而获取客观质量评分。质量评分获取公式如式(12)所示 Quality(x)=β1logistic(β2,(x-β3))+β4x+β5 (12) β1-β5为非线性5参数逻辑函数的5个参数,详细介绍可参考文献[11],其中logistic函数表示如式(13)所示 (13) 以图4所示的图像集为例,使用本文算法和传统算法的质量评价分数如表2所示。 表2 本文算法和传统SURF算法质量评价分数对比表 从表1中可以看出,在不改变原图像像素级[12]的前提条件下,本文改进方法在时间效率方面有了较大的提升,在特征点提取、描述、匹配方面均获得了更高效的执行效率,在总时间方面减少了41.12%,在特征检测时间方面减少了58.50%;有效提升了特征点利用率,相比较传统SURF算法,本文的方法在传统方法的基础上提升了12.51%;在特征点匹配正确率方面也获得了7.56%的提升,使最终的正确率超过93%。从表2的质量评价分数对比中可以看出,改进算法与传统算法获得的拼接图像的质量基本较为接近,对于部分图像,改进算法更是取得了更高的客观质量评价分数,证明此算法在拼接质量方面依旧保持了不低于传统算法的性能。 5.3.2 改进的非线性权重图像融合算法与其他算法对比结果 以图4中第3行的2张图像的拼接和融合实验为例,将拼接结果与文献[13]的平方权重模型、文献[14]的三角函数权重模型、文献[15]的曲线权重模型以及传统的渐进渐出图像融合算法的拼接结果进行对比。选取拼接图像部分区域进行放大对比,其对比结果如图8所示。 图8 图像融合效果对比 从图8可以看出,图8(c)、(d)、(e)对应的3个改进模型的拼接图像的椭圆框内均发生了明显的重影,虽然重影程度较传统算法的拼接结果图8(b)有了一定的降低,但依旧有不同程度的重影现象发生,如图8(c)、(d)、(e)椭圆框中所示,而在使用本文模型的拼接结果图8(a)中,整体图像表现良好,没有明显的图像重影,各部分信息均得到了良好展示,效果提升明显。 本文应用文献[11]的SIQE方法对各个改进算法和传统算法的拼接图像进行质量评分对比,此处以两组图像拼接结果的质量评分为例,分数对比如表3所示。 表3 各个图像融合算法的质量评价分数对比表 从表3的几组质量评分对比中可以看出:在客观质量评价方面,各个改进算法均表现出了高于传统渐进渐出算法的质量评分,其中,本文算法的质量评分在几组图像拼接中均优于其他改进算法。 综合以上结果,应用本文模型的图像融合算法明显地提升了拼接图像的主观视觉效果,降低了重影发生的可能性,并取得了较为优秀的客观质量评分。因此,本文算法在主客观评价方面对比传统算法和本文提及的几种改进算法均表现出更加优异的性能。 本文提出的具有动态阈值的改进SURF算法在算法效率方面有了较大的提升,有效减少了冗余特征点的数目,从而减少了特征点提取、描述以及匹配的时间、空间开销;在算法质量方面,通过应用非线性权重图像融合算法,有效减少了重影和几何失真,拼接图像质量提升明显。 本算法对于连续、有规律的图像集合的图像拼接在拼接效率方面有了明显提升,拼接质量也有一定提高;但对于整体不规律的图像集合的提升不明显并且不够稳定,有待进一步研究。 本方法主要针对SURF特征点的提取过程进行优化,通过避免非重叠区域的特征点参与特征提取和匹配,降低冗余特征点对时间、空间开销的影响,可以与描述子降维算法[16]等其他效率提升算法结合,进一步提升特征提取、描述和匹配的效率。3 图像对齐
4 改进的非线性权重图像融合算法
5 实验结果
5.1 实验环境
5.2 实验结果相关参数
5.3 本文算法与传统算法的对比
6 结束语