×

计算机视觉---图像拼接

前端技术网 前端技术网 发表于2024-01-16 08:37:43 浏览3424 评论0

抢沙发发表评论

一、计算机视觉——相机内外参、相机标定

一直在做图像处理,也经常听到相机内参相机外参,我却没深入理解什么是相机内外参,什么是相机标定。

计算机视觉---图像拼接

1、相机内参数是与相机自身特性相关的参数,比如相机的焦距、像素大小等;

摄像机内参矩阵反应了相机自身的属性,各个相机是不一样的,需要标定才能知道这些参数。作用:告诉我们摄像机坐标的点在1的基础上,是如何继续经过摄像机的镜头、并通过针孔成像和电子转化而成为像素点的。

摄像机内参(Camera Intrinsics)矩阵:(需要注意的是,真实的镜头还会有径向和切向畸变,而这些畸变是属于相机的内参的)

计算机视觉---图像拼接

      fx   s    x0

    K=  0    fy   y0

       0   0    1

其中,fx,fy为焦距,一般情况下,二者相等,x0、y0为主点坐标(相对于成像平面), s为坐标轴倾斜参数,理想情况下为0。

内参矩阵的参数含义:

f:焦距,单位毫米

dx:像素x方向宽度,单位毫米,1/dx:x方向1毫米内有多少个像素(dx、dy为一个像素的长和高)

f/dx:使用像素来描述x轴方向焦距的长度

f/dy:使用像素来描述y轴方向焦距的长度

u0,v0,主点的实际位置,单位也是像素(原点的平移量)

2、相机外参数是在世界坐标系中的参数,比如相机的位置、旋转方向等。相比于不变的内参,外参会随着相机运动发生改变。

摄像机的旋转平移属于外参,用于描述相机在静态场景下相机的运动,或者在相机固定时,运动物体的刚性运动。因此,在图像拼接或者三维重建中,就需要使用外参来求几幅图像之间的相对运动,从而将其注册到同一个坐标系下面来。(最近我在研究多幅图像的图像拼接)

摄像机外参矩阵:包括旋转矩阵和平移矩阵。作用:告诉我们现实世界点(世界坐标)是怎样经过旋转和平移,然后落到另一个现实世界点(摄像机坐标)上。

旋转矩阵和平移矩阵共同描述了如何把点从世界坐标系转换到摄像机坐标系。

旋转矩阵:描述了世界坐标系的坐标轴相对于摄像机坐标轴的方向

平移矩阵:描述了在摄像机坐标系下,空间原点的位置

摄像机外参(Camera Extrinsics)矩阵:

其中, R是旋转矩阵,t是平移向量.

3、相机标定(或摄像机标定):一句话就是世界坐标到像素坐标的映射,其中世界坐标是人为定义的。

相机标定的目的是确定相机的一些参数的值。通常,这些参数可以建立定标板确定的三维坐标系和相机图像坐标系的映射关系,换句话说, 你可以用这些参数把一个三维空间中的点映射到图像空间,或者反过来。相机需要标定的参数通常分为内参和外参两部分。

标定就是已知标定控制点的世界坐标和像素坐标我们去解算这个映射关系,一旦这个关系解算出来了我们就可以由点的像素坐标去反推它的世界坐标,当然有了这个世界坐标,我们就可以进行测量等其他后续操作了。上述标定又被称作隐参数标定,因为它没有单独求出相机的内部参数,如相机焦距,相机畸变系数等。

一般来说如果仅仅只是利用相机标定来进行一些比较简单的视觉测量的话,那么就没有必要单独标定出相机的内部参数了。至于相机内部参数如何解算,相关论文讲的很多。

在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数。在大多数条件下这些参数必须通过实验与计算才能得到,这个求解参数的过程就称之为相机标定(或摄像机标定)。

无论是在图像测量或者机器视觉应用中,相机参数的标定都是非常关键的环节,其标定结果的精度及算法的稳定性直接影响相机工作产生结果的准确性。因此,做好相机标定是做好后续工作的前提,提高标定精度是科研工作的重点所在。

4、畸变(distortion)是对直线投影(rectilinear projection)的一种偏移。简单来说直线投影是场景内的一条直线投影到图片上也保持为一条直线。畸变简单来说就是一条直线投影到图片上不能保持为一条直线了,这是一种光学畸变(optical aberration),可能由于摄像机镜头的原因。

   畸变矩阵:告诉我们为什么像素点并没有落在理论计算该落在的位置上,还产生了一定的偏移和变形!!!

参考链接:

计算机视觉-相机内参数和外参数_liulina603的专栏-CSDN博客_相机参数

https://blog.csdn.net/paulkg12/article/details/121393602

https://blog.csdn.net/weixin_40787463/article/details/105785593

https://blog.csdn.net/guyuealian/article/details/102502213

https://blog.csdn.net/weixin_41480034/article/details/121759128

旋转矩阵(Rotate Matrix)的性质分析- caster99-博客园(cnblogs.com)

SLAM入门之视觉里程计(2):相机模型(内参数,外参数)- Brook_icv-博客园(cnblogs.com)

二、图像拼接技术的原理是什么

图像拼接技术是将同一场景的多个重叠图像拼接成较大的图像的一种方法,在医学成像、计算机视觉、卫星数据、军事目标自动识别等领域具有重要意义。图像拼接的输出是两个输入图像的并集。

图像拼接技术的原理是将多张重叠的图像拼接在一起,实现更大、更全面的图像展示。通常用到五个步骤:特征提取、图像配准、几何变换、图像融合和优化。

三、基于特征匹配和迭代优化的航拍图像拼接

本文研究了无人机(UAV)遥感图像拼接过程中重叠区域的不匹配问题。为了解决这个问题,首先通过将双重匹配与随机抽样共识(RANSAC)方法相结合来过滤特征点。其次,为了保证每幅图像与全景照片的投影关系的一致性,我们提出了一种局部拼接的方法。为了避免随着图像数量的增加透视变化累积而导致图像倾斜的错误,我们建立了图像旋转坐标系,并将图像之间的关系限制为平移和旋转。用坐标原点的相对位置来表示平移距离,通过迭代求解最优旋转角度。最后,图像的重叠部分通过线性加权融合。通过实验结果验证,本文提出的方法在大量图像的情况下能够保证更快的处理速度和更高的处理精度,从而达到理想的拼接效果。

近年来,随着计算机视觉的不断进步,图像拼接技术在海洋和矿产勘探、遥感勘探、医学成像、效果生成、虚拟现实等方面得到了广泛的应用。许多航拍遥感图像可以通过配备摄像头的无人机在地面拍摄得到。通常,由于无人机飞行高度、相机焦距等因素,单幅图像存在信息量少、全局分辨率低等问题。因此,要获得广角高分辨率的照片,就需要研究全景图像拼接技术。Brown在 2003年引入了著名的 AutoSitich算法,很快就被用于商业产品,如 Photoshop。但是,该算法假定图像的重叠区域没有深度变化。2013年,萨拉戈萨 J等人。将图像拆分为密集的网格,并为每个网格使用单个更改,称为网格变形。该方法在一定程度上解决了图像变形、尺寸缩放、重定向等问题。

图像拼接技术一般分为图像几何校正、图像预处理、图像对齐、图像融合四个步骤。由于相机镜头的畸变,需要对无人机的图像进行校正,使得到的图像满足个别地图的投影关系。图像预处理是几乎所有图像处理技术的重要组成部分,包括去噪、灰度变化等。这个过程可以降低匹配难度,提高匹配精度。然而,对于无人机遥感图像的拼接,图像匹配和图像融合是成功的关键。

图像匹配技术是图像拼接的基础。1975年米尔格拉姆提出了计算机拼接技术。于是,在重叠区域寻找最优接缝线就成为一个重要的研究方向。同年,Kuslin提出了一种相位相关方法,通过傅里叶变化将图像转换到频域,并利用功率谱计算平移。1987年,Reddy提出了一种扩展的相位相关方法,该方法可以计算图像的平移和旋转关系并解决图像缩放问题。图像拼接的另一个分支是基于图像特征。1988年Harris提出经典的Harris点检测算法,它使用特定的旋转不变性哈里斯点进行特征匹配。2004年,Lowe提出了一种完美的尺度不变特征变换算法(SIFT),对平移、旋转、尺度缩放、不均匀光照等图像领域应用最广泛的技术具有良好的适应性。C Aguerrebere根据输入图像的 SNR条件给出的问题难度级别显示不同的行为区域。Wu通过建立模型,将深度学习和进化算法应用于遥感图像的拼接,实现概率意义上的全局优化。

图像融合技术是遥感图像拼接技术中的另一项核心技术,分为像素级融合、特征级融合、决策级融合。像素级融合仍然是现阶段最常用的图像融合方法之一。

对于无人机的遥感图像,存在图像数量多、光照条件多变等问题。每次拼接过程中的小错误都难以避免。随着图像数量的增加,误差不断累积,图像拼接后期会出现图像失真和重影。S Bang创建高质量全景图,过滤掉视频的模糊帧,选择关键帧,并校正相机镜头失真。Zhang提出了基于 STIF的 GA-SIFT并给出了一种自适应阈值方法来解决计算量大和拼接时间长的问题。李明基于动态规划解决无人机侧视问题寻找最佳接缝线。然而,当图像数量逐渐增加时,现有的拼接算法存在误差累积。

也有一些基于网格变形的图像拼接算法,但计算量太大。在本文中,图像被匹配两次以过滤特征点以提高准确度。拼接问题对应于通过坐标系转换的旋转角度解,应用高斯-牛顿迭代计算最优旋转角度。此外,我们练习局部匹配方法以减少错误并使用加权融合来实现过度平滑。

SIFT特征点不仅在空间尺度和旋转上保持不变,而且在光照和视角变化的条件下,还具有优异的抗干扰能力和良好的稳定性。为了实现空间尺度的不变性,SIFT特征点可以根据物体远看小而模糊,反之大而清晰的特点,建立高斯金字塔模型。差分金字塔(DoG)是通过计算金字塔中相邻两层图像之间的差异来获得的。使用函数拟合在 DOG空间中测试极值。通过对确定场中基于SIFT特征点的梯度信息进行统计,选择加权幅度最大的梯度方向作为主梯度方向。通过将特征点与其主梯度方向相关联,可以解决图像特征点的旋转不变性问题。最后,利用特征点周围像素的信息建立一个128维的向量作为特征点的描述符。

提取特征点后,需要对两幅图像的特征点进行匹配。通过特征点成对匹配,可以计算出两个特征点对应的描述符之间的欧氏距离,选择欧氏距离最小的点作为匹配点对。为了减少不匹配的发生率,被用作正确匹配的阈值。具有大于的描述符欧几里得距离的匹配点对被消除。

RANSAC是特征点匹配中最常用的方法之一。它首先从匹配结果中随机选择四对特征点并计算单应矩阵。其次,根据上一步得到的单应矩阵,计算第一幅图像在第二幅图像中的重投影坐标,并计算该坐标与第二幅图像中匹配点对坐标的距离。通过设置距离阈值记录所有匹配点对中正确匹配特征点对的个数。重复上面的过程,最终留下与最多点对数的正确匹配。

高斯-牛顿迭代是求解非线性最小二乘优化问题的算法之一,可以描述为:

我们选择一个初始值,然后不断更新当前优化变量以减小目标函数值。高斯-牛顿迭代的主要思想是对函数进行一阶泰勒展开,计算及其雅可比矩阵对应的函数值。使用和计算的增量,直到足够小。

加权平均法是图像融合中简单有效的方法之一。第一幅图像和第二幅图像重叠区域的像素值由两幅图像像素的加权求和得到,表示为:

其中:越接近 img1,的值越大。的值从1逐渐变为0,重叠区域从第一幅图像逐渐过渡到第二幅图像,从而实现画面的平滑过渡。照片的加权平均融合因其直观的简单性和快速的运行速度而被广泛使用和图像拼接。

对于两幅图像的拼接,由于无人机的遥感相机通常安装在一个稳定的平台上,通过选择合适的坐标系,将图像对齐问题转化为单幅图像旋转问题,如图1所示。

此外,大多数具有相关高光频的常用相机通常在连续帧之间具有较大的重叠区域。因此,在图像拼接过程中,第幅图像在全局位置上的投影关系,不仅受第幅图像的影响,还与图像相关。为了保证图像变形的一致性,首先将张图像拼接在一起,然后将结果整合到整幅图像中。大量的实验测试证明,当i设置为3时效果最佳。整个过程如图图2。

图像中的特征点有很多种,本文使用最常见的SIFT特征点。我们提取并匹配两张输入图像的特征点,结果如下所示。

特征点的匹配精度直接影响旋转角度的计算,因此使用前必须对特征点对进行过滤。鉴于过滤特征点的方法很多,本文先将左图与右图进行匹配,再将右图与左图进行匹配。两次相同结果配对的匹配点将被保留。在此基础上,使用RANSAC方法对结果进行优化,成功匹配了上图中的121个特征点。

从无人机拍摄的两张照片之间通常存在旋转和平移。为了独立优化旋转角度,我们首先建立如图 5所示的坐标系。

以图像匹配成功的特征点坐标值的平均值作为该坐标的原点,坐标轴与像素坐标系的两个坐标轴平行。根据公式(3),特征点从图像坐标系转换为图像旋转坐标系:

其中为滤波后的特征对的总数,为特征点在原始图像坐标系中的坐标值,并且是新的值。

在计算图像的旋转角度之前,我们首先需要分析图像的缩放比例。由飞行高度引起的尺寸变化将在轴上具有相同的缩放比例。因此,根据所有特征点与图像旋转坐标系原点的欧氏距离比,可以计算出两幅图像之间的缩放比例,对图像进行缩放和改变。

图像缩放后,计算图像旋转的角度。高斯牛顿迭代的方式计算旋转角度的最优解。首先设置目标函数:

通过迭代选择最优的使得:

使用误差函数的泰勒展开进行迭代。

其中

根据

我们可以发现增量值每次迭代。最终,当我们计算出的满足条件时,停止迭代过程。可以使用最佳旋转角度和旋转中心来求解图像的变换矩阵。

由于拍摄图像时光线不均匀,连续两张图像之间可能存在一些颜色差异。此外,图像旋转不可避免地存在小误差,因此我们练习线性加权融合以消除两幅图像之间的拼接线和色度变化。图像的重叠是按距离加权的,这样拼接结果自然是从img1到img2过度了。

我们利用OpenCV的功能从遥感图像中提取SIFT特征点并进行匹配。从Stitch拼接功能、基于透视变化的图像拼接结果以及本文的拼接速度的对比可以看出,本文采用的方法具有一定的优越性。

从表1数据可以看出,在拼接少量图像时,三种算法的拼接结果相似,没有出现明显的拼接误差。但是,Stitcher算法比其他两种拼接方法花费的时间要多得多。

图 11很明显,随着图像数量的增加,基于透视变换的图像拼接算法出现了严重的失配。然而,本文采用的方法取得了比较满意的结果,因为在无人机拍摄的图像中,地面上的所有特征都可以近似地视为在同一平面上。根据透视变换,无人机的远近抖动会引入图像拼接导致错误。图像数量的不断增加会导致错误的积累,从而导致严重的失配。另外,这使得程序中断,从而无法完成所有60幅图像的拼接。假设同一平面上图片的仿射变化会更符合无人机遥感图像的实际情况。最后,可以通过线性加权融合来解决误差问题,以提高拼接效果。考虑到stitch算法耗时过长,本文不会对两者进行比较。

在上面的图 12中,使用 100张图像来测试本文中的方法。图像的仿射变换是通过计算围绕图像特征点中心的旋转角度来进行的。变换后的图像采用线性加权融合后,可以得到大量图像数据处理后的结果。拼接自然,符合人类视觉体验。

我们在网络上跑了一组数据,结果如下。

鉴于以上实验结果,该方法具有一定的抗干扰能力,可以高速运行。与高度集成的Stitcher和基于透视变换的图像拼接结果相比,我们可以发现,基于透视变化的图像拼接结果随着图像数量的增加而逐渐变差。然而,尽管拼接效果很好,但 Stitcher需要更长的处理时间。

在本文中,我们研究了无人机遥感图像的拼接技术,主要贡献可以总结如下:

通过实验结果可以看出,本文提出的方法比现有方法具有更好的实时性,对于相机平面与成像平面平行的情况具有更好的拼接效果。

好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!