?ransac算法图像预处理
摘 要 1ABSTRACT 1第一章 绪论 11.1研究背景 11.2图像拼接的现状 31.2.1国外情况 31.2.2国内情况 41.3 本文的研究内容 5第二章 图像预处理及图像特征提取 62.1 图像拼接过程 62.2 图像预处理 72.3 图像拼接方法 82.3.1基于区域的图像配准 82.3.2基于特征匹配的图像配准 92.4 图像特征点的提取 92.4.1 Harris角点特征提取 92.4.2 SIFT算子特征提取 102.5 本章小结 12第三章 图像初匹配与图相配准 133.1 特征点初步匹配 133.2图像转换矩阵 143.2.1 图像转换矩阵的用法 143.2.2 单应性矩阵求解 153.3 特征点精匹配 163.3.1 RANSAC算法 163.3.2 图像转换矩阵H的精炼 183.4 本章小结 19第四章 图像融合 204.1 图像拼接 204.1.1几种投影模型 204.1.2 拼接算法的实现 214.1.3 图像插值算法 224.2 图像融合 244.3本章小结 26第五章 拼接实验与结果分析 275.1仿真环境介绍 275.2 实验与结果 285.3 本章小结 32第六章 总结与展望 33参考文献 35第一章 绪论1.1研究背景图像拼接技术问世不过半世纪,刚开始的图像拼接技术一般只用于照相和画图学,到目前为止航空拍摄和航天器拍照仍然是图像拼接的一般用途。进入21世纪以来,对图像拼接技术研究迅速深入让图像拼接技术越来越成熟,使计算机视觉和计算机图形学这两个互补的图像技术领域由图像的绘制(IBR)而统一起来[2]。图像拼接技术不仅是计算机视觉范围中解释可视化的场景描述(Visual Scene Representaions)的常用的重要的方式。而且图像拼接技术也常用在计算机图形学中进行环境贴图。例如,可以将这种技术用于贴图来增加合成物体的真实性或是合成静态的背景图片。图像拼接技术可以通过将多张图像通过变换矩阵的转换拼接融合,生成高清的、无痕的图像。拼接后的图像比起原来的待拼接图像分辨率可能有所提高,涵盖范围更大,画面的质量明显提升。如今,图像拼接技术的研发愈加深化,各种算法的优化更完善。在计算机视觉范围、计算机图形学中、图像处理中和照相绘图学中都开始大规模的应用。图像拼接技术除了应用于计算机等方面的科研范围,在军事范围中也有极
*好棒文|www.hbsrm.com +Q: ¥3^5`1^9`1^6^0`7^2$
为重要的地位。即使是高端的夜视功能的微光成像设备或是传统的红外成像设备,都有各自的局限性,都不能拍摄到大视野的全景图像,而对于三百六十度的环形的全景图像更无可能。但是,目前的生产生活中,很多场景中我们需要观察周围的全部环境,经常要用到三百六十度拍摄的数张图像合成的超大环形全景图像。而图像拼接技术的兴起很大程度上处理了这个问题,可以经过对周围的环境进行多次取景得到多张图像,然后通过一定的算法合成需要的大视角甚至三百六十度无死角的超大全景图像。这项技术在空间科学、警情预报中都起到了不小的作用。目前图像拼接技术现在运用到了医学范围,一般探测设备的视野较小,医生不能根据视野进行诊治,而且医学方面对图像的质量和范围有很高的要求, 特别是在手术等高精度工作是。例如,在视网膜的激光手术中,忽略相机运动的旋转和平移变化后,将 视网膜看作一个近似的二维曲面,通过求解多张视网膜图像间的图像转换矩阵,可以把这些视网膜图像拼接成更大范围的完整视网膜图像,这对视网膜激光技术的突破起到了重要的作用。 图1.1 医学中的图像拼接应用在环境监测和视频监控中,图像拼接技术的使用使卫星对一区域进行多次拍照拼接合成大规模的全景图像即可完成对特定区域的监测和监控。在生活中,把多个摄像头获取的实时监控图像进行合成,生成高分辨率的全景图像就可以实现对整个环境的实时监控。在图像的虚拟现实技术领域中图像拼接技术也有重要的用途。虚拟现实技术就是用计算机虚拟出让人身临其境的视觉、听觉和触觉环境。图像拼接技术在虚拟场景的生成环节十分的关键,可以通过图像拼接使不同场景图像合成生成全景的视图。互联网技术的普及是虚拟现实技术得到了推广,人们可以在许你环境中进行“旅游”和“购物”,这使得图像拼接技术在生活中更加实用和商业化。目前图像拼接技术再次突破,已经实现了拍摄与视频拼接。以后,图像拼接技术有可能发展到视频的拼接,从而实现全景视频或全景动画的产生。从上述方面可以看出,图像拼接技术的使用范围很宽泛,而且这项技术的前景非常好,该技术一定会成为各行各业的钻研热点。从图像拼接技术理论提出到现在短短四五十年,图像拼接技术已经很快成为研究热门,目前图像拼接技术日趋成熟,理论日益完善,但是,还是面临着一些急需解决的问题。首先,目前接触的绝大多数图像拼接算法只能对来自一个场景或是特定场景的图像进行拼接,适用范围比较小,还没有完全适用的。如,基于特征相干的拼接算法经常使用于待拼接图像的边缘特征相对显著的情况;然而,当照相机焦距相对大或是拍摄的场景相对小的情况,利用基于仿射变换的全景图像拼接完成的图像质量比较高;而代拼接的图像比较混乱时,一般只用基于透视变换的全景拼接技术。 其次,目前的拼接算子在解决高质量的图像时,速度会变低,而且可能会存在特征点检测错误的情况。第三,对于高质量的彩色图像,拼接之后不能完全消除拼接部分的痕迹。第四,对于没有显著特点的或是图像亮度接近时,拼接时可能会出现不正确的配准。最后,虽然图像拼接算法不断得到优化,但是大多数优化算法对配准速度、效率的提高甚少,重点基本放在了提高配准精度上。此后,关于图像拼接技术的优化还是任重道远,相信随着拼接技术的完善,图像拼接必定会给我们的生产生活带来新的革命。1.2图像拼接的现状1.2.1国外情况图相配准是图像拼接技术的首要问题,是图像融合的根本。1965年,IFIP会议上,Ivan Sutherland提出了图像经过拼合得到大视野的完整图像这个理念。1975年,相位相关法由Kuslin和Hines率先论述出来。此方法利用了傅氏变换,用傅氏换把两张待拼接图像转换到频域,采用两者的互功率谱选取出两图像之间的平移量,最后经过转换计算出拼成的图像[3]。1987年,De Castro和Morandi更进一步的完善了相位相关法,这次改善拥有了对旋转变化和平移变化的图像进行匹配的能力。随后,Ressy和Chatterji又对此方法进行了修正,使它同时可以把缩放变换的图像进行准确匹配。1988年,Harris论述了以自己名字命名的特征点检测算法。这种算法用自相关函数来确定像素的变化,检测出的特征点可以达到亚像素的精度,抗噪性和抗干扰性等鲁棒性得到了加强,具有平移和旋转不变性。1996年Richard Szeliski教授设计了采用LM算法的基于运动的全景图像拼接系统,这种系统同样基于频域,通过计算两张待拼接图像的位移的横向功率的几何关系来计算配准后的图像,完成图像的配准。此方法拼接出的图像质量高,可以精确的一个像素,而且算法速度快,无论场景限制,具有普遍适用性,是一种典型的拼接算法。 1997年, Jun-wei Hsieh等人在图像拼接的特征点的提取过程中确定图像的边缘特征点时采用了多尺度的小波变换的方法。2003年,Benny Rousso等人又完善了Richard Szeliski教授的全景拼接系统,提出了自适应的全景图像交融方法,这种算法极大的推动了全景图像拼接的进步,明显的提高了匹配的速度[4]。04年,Benny Rousso再一次完善了这种方法,提出了自适应的图像拼接模型。这把自适应的图像拼接合成问题变成了这个领域的新方向。Recognizing Panoramas的发表,M.Brown和D.G.Lowe提出了基于尺度不变特征的图像拼接方式,即本文用到的SIFT算法图像拼合方式,这是算法是不需要人的干涉就能完成,拼接效果比较完美。2006年Richard Szeliski又提出了把待拼接图像特征点变的更明显,并达到精确匹配的新概念。1.2.2国内情况 国外图像拼接技术飞速进步的同时,国内的专家的研究的兴趣日益浓烈。1997年,自动的图像匹配方式由王小睿提出,这不是一种全自动的图像配准方式,通常不应用于一般情况,而在对图像匹配精密度要求相对高时应用相对广。1998年,张祖勋等人提出了多级影像概率松弛整体匹配技术,这是一种快速配准的方法,配准图像不再规定用相同分辨率的或是相同传感器提取的进行匹配。封靖波在两张待拼接图像中构建类似曲线,在两图像中查询类似曲线的信息找到了最合适的配准点,这极大的降低了计算量,配准程序也得到了简化。杜立民、赵向阳论述了基于特征点匹配的图像的自动拼接方法。这是以Harris角点检测算法的角点特征提取为前提。2008年,李柏林等人以RANSAC算子为根基,提出了新的图像拼接途径,此方法比LM算法收敛性得到了加强。2009年,曹红杏等人发现了Harris的不足,对其实现了完善,发现了基于角点特征的图像自动拼合方法,这种方式有效的提高了角点的定位,加强了算子的抑制图像噪声干扰的性能,减少了烦琐的计算,提高了配准精准性,具有比较普遍的实用性。1.3 本文的研究内容本次毕业设计主要来研究对多幅有重叠部分的图像的拼接问题,本文则是利用一副完整图像随意截取成多幅图像后,根据所截取的图像间的有重叠部分的局部特征进行特征点的提取、初匹配、精配准等工作来将其融合成为完整的图像。 图像的特征提取过程,本文采用了SIFT算法,即尺度不变的特征点提取算法,主要包括四部分,分别是测量空间尺度极值、精化特征点的空间位置、计算特征点的描述信息、生成特征描述符。图像匹配过程,在SIFT初匹配后排除掉了大部分的无用点,采用RANSAC进行了特征点精配准,即通过估计待拼接图像间的单应性转换矩阵,然后对图像进行矩阵变换来计算出拼接后的图像。这种方式具有比较好的鲁棒性和容错性。图像融合的过程,本文则采取了加权平滑算法来完成,这样处理的图像缝合线比较平滑,融合效果比较理想。第二章 图像预处理及图像特征提取2.1 图像拼接过程目前,由于图像拼接技术的日趋先进,图像拼接的方式也越来越多,算法越来越简单易懂。各种方法有各自的特点,有的则符合于不同的拼接环境或特定的拼接环境。各种方法优缺点各不相同,然而图像拼接的基本步骤都是一致的[5]。大致分为以下几步: 图2.1 图像拼接的过程(1) 图像预处理:一般包括图像的校正和图像噪声的克服两部分。预处理就是对待拼接图像进行直方图配接、光滑的滤波变换、增益变换等各种图像处理的简单过程,这是图像拼接随后进行图像的特征提取时的前提。(2) 图像配准:全景图像的拼接技术中的要点是图像配准,要想得到理想的高品质的拼接图像就需要有很高的图像匹配精度。图像配准前首先要对待拼接图像进行特征的提取。图相配准的根本原理是:找到在两张待匹配图像的重叠区域的特征点的对应地点,再选用配准算法估计、精炼出待拼接图像间的转换矩阵。把待配准图像转换到参照图像的坐标系中,这样就能拼合出整个全景画面。计算出一个能全面的的表示两幅待拼接图像变换方式的转换系统是图像精确匹配的重要工作。(3) 图像拼合:图相配准中找到两幅待拼接图像之间的变换方式的系统,就是重合部分的图像变换矩阵后,就应该依据此区域的内容将待拼接图像变换成一个理想的大视野的完整图像。拍照角度的细微差别和拍照条件各异等原因导致图像灰度与亮度也有所不同,图像匹配结果依然不是准确的。而理想的合成规则就可以有效地减少遗留变形和图像间的灰度差异对拼接结果的影响。2.2 图像预处理图像拼接的预处理主要包括图像的校正和图像噪声的克服两部分[6]。图像的校正是由于当照相机的镜头拍照时没有正对景物的时候,拍到的景物就可能发生变形,或者由于拍照设备自身电子扫描系统的限制产生失真。这些图像的畸变会对图像的配准产生很大的影响,所以要在配准之前做图像校正,以防止畸变。图像校正基本原理是:从已失真的的图像中根据畸变的原因,建立相应的数学系统,利用造成这种原因的反向过程回复出原本的图像[7]。 图2.2 图像的校正图像噪声的抑制是由于图像噪声是无规则的随机的干扰信号,它会对传感器接受图像的信息进行综合和分析产生干扰是真实信号与期望信号之间产生误差。噪声较大时会直接关系到图像拼接的全部进程和拼接的结果。因此在图像输入和采样阶段就对图像噪声进行有效的控制是十分必要的。抑制噪声的方法常见的主要有两种,平均值滤波法和中值滤波法。2.3 图像拼接方法目前随着图像拼接算子的不断优化完善,图像拼接的算法种类日益增多,但是普遍适用性并不高,不同的拼接环境中可能要用不同的算法来实现,而且各种算法各有特点,拼接时可以根据拼接要求灵活的选用适合的算法来实现。图像拼接算法大致可以分为两类:基于区域的图像拼接算法和基于特征匹配的图像拼接算法[8]。2.3.1基于区域的图像配准基于区域的图相配准算法又存在基于频域的配准算法和基于空间的配准算法两类。基于频域的配准算法优点是:1、能抑制相关性噪声和频率噪声 2、几何失真对配准的影响显著减弱 3、计算量小处理快 4、适用于小平移量、旋转及尺度图像合成。 缺点是:在参照图像和待拼接图像的堆叠部分不大的情况下拼接效果较差。基于频域的配准算法中最典型的是基于FFT的相位相关拼接。算法的思路是:在参考图像与待配准图像中截取相同范围的区域并在对数极坐标下代表,这两小部分的互功率谱通过傅氏逆变换取得2维脉冲信号,要计算的平移参值可以用计算小区域中心点在待匹配图像中的位置的方式得到,这样得到图像配准的参数比较合适。这种方法图像的旋转变化、平移变化、比例变化都会在傅氏变换中表现出来,具有较好的抗噪性及鲁棒性。基于空间的配准算法优点是:1、搜素速度比较快 2、在一定程度上能解决尺度所放的问题。 缺点是:1、计算量大 2、对于旋转角相对大的情况配准结果不可靠。基于空间的配准算法中最常用的是基于比值法拼接。这种算法的原理是:在第一幅待拼接图像的重合部分间隔一段间距的两列的壁纸作为模板,在另一幅图像的相迎重合部分找出与第一幅模板对应的两列的最好匹配,从而实现图像的拼接。这种算法思路清晰便于理解、计算量小速度快,但是所使用的图像特征信息不多,采样图像信息时要求照相机在水平方向上挪动,限制要求相对要高。算法中进行相当多的除法操作,这是选择的相应像素值RGB等于零时,导致程序截止。2.3.2基于特征匹配的图像配准基于特征匹配的图像拼接算法没有运用图像中的全部信息,而是采用重叠部分图像中的特征点来计算图像之间的变换的。图像的特征点和图像的像素点相比,数量上微乎其微,这会大程度地减少了算法的算术过程,节约了时间,提高了算法的速度。匹配精确度的增强是因为特征点的配准度量值对地点的变化相对灵敏。此外特征点的提取可以使图像噪声的干扰降低,对亮度的改变和图像的形变都有相对好的容忍性。所以基于特征匹配的图像拼接算法是比较常用的拼接算法。主要包括基于Harris角点的匹配方式和基于SIFT尺度不变特征转换方式。基于Harris角点的匹配算法优点是:1、算法思路简单 2、图像间的旋转角度影响小 3、计算量不大 4、精确性好。缺点是:对图像边缘信息不明确的图像间匹配结果相对较差。基于SIFT尺度不变特征转换算子优点是:对存在缩放和旋转问题的图像,拼接精确性好且对由于噪声、仿射、角度引起的干扰保持了一定的抵抗性。缺点就是误匹配仍然存在。下面我们具体的来讲述基于特征匹配的图像拼接的两种常用算法。2.4 图像特征点的提取基于特征匹配的图像匹配算法主要包括基于Harris角点的匹配方式和基于SIFT尺度不变特征转换方式,故图像特征点提取时有两种主要方法即Harris角点特征提取和SIFT算法提取图像特征点并生成描述符。SIFT算法具有较好的抗噪性和鲁棒性,本次设计采用了这种方法。2.4.1 Harris角点特征提取Harris算子是由C.Harris和M.J.Stephens发现的基于角点检测的特征提取的方式。角点是局部窗口沿各方向移动均产生明显变化的点是图像局部曲率突变的点,它在水平和垂直方向上变化都相对大。边缘是指只在水平方向或只在竖直方向变化相对大,即水平方向梯度或竖直方向梯度只有一个相对大。平坦区域是指在水平方向和竖直方向的变化都相对小,即、都相对小。角点的提取分为以下几步:1、对图像的每个像素进行滤波(一般用水平、竖直差分方法)求的水平方向的梯度值和竖直方向的梯度值,进而可以求得M中的四个元素得结果[13]。 (2-1)2、对以上M矩阵中的、等四个像素进行Gauss光滑滤波,以下是离散的二维零均值Gauss函数: (2-2) Window function :3、采取以下公式计算对应的各个像素的角点量的值M (2-3)4、最后在矩阵zin中找出角点,角点需要同时满足以下条件 (1)zin不能小于选定的阈值T (2)zin是某范围内的局部极大值提高阈值的话就可将提取的角点的数量降低;而减小阈值就需要采样更多的角点。角点的数量和容忍值同时也会受到局部极大值范围大小的干扰。Harris算子相比于SIFT算子,它对尺度变化相对敏感,不具有尺度不变特征。2.4.2 SIFT算子特征提取 图2.3 SITF特征点的提取SIFT (Scale-invariant feature transform) 算法就是我们常说的尺度不变特征变化方式,这种算法与其他算法相比具有尺度不变性[20]。此方法是David Lowe在1999年的ICCV会议上提出的,2004年由他再次完善并在IJCV上发表。SIFT特征是图像的部分特征,这种算法独特性好还具有多量性、高速性和可扩展性。SIFT特征检测包含四部:1、尺度空间极值检测;这里要用Gauss微分函数来选择相对尺度不变和对于旋转不变的特征点。2、关键点的定位;这里要用一个拟合精密的系统在每个可能的位置上一一选择位置和尺度,就是依靠稳定程度来定位关键点。3、方向的确定;每个特征点位置会被分给一个或多个方向。随后的对图像数据的操作很多,这些都关于特征点的尺度、位置和方向进行转换,这样便可以对于这些变换具有一致性。4、关键点的描述;在每个特征点为中心的特定范围内,在特选定的尺度上计算图像的部分的梯度值。关键点就是图像在不同尺度范围中的局部极值点,它是矢量,带有方向。关键点的检测,要虚拟图像数据的多尺度特性,就要先用Gauss卷积的方法来产生尺度区域[15]。表示一个图像的尺度区域函数,表示原始图像数据,2维高斯函数: (2-4) (2-5)用Gauss滤波器对待拼接图像多次不断的滤波,把图像缩到二分之一再进行多次的滤波,不断的重复以上操作,直到图像不大于给定的阈值时停止。随后对各个尺度的Gauss图像进行差分,实现Gauss差分金字塔(DOG 图像)。对这些图像取局部的极值就得到了关键点。 如下图,空间极值点的检测时,中间x标志的监测点需要与上方九个、下方九个、周围八个共二十六个点做比较,这样在二维空间和多尺度范围都能存在极点。 图2.4 空间极值点检测 关键点描述符生成 要使旋转后保持不变性,这里要将坐标轴调整到关键点的方向。以关键点为中心,在8*8的窗口范围内求出所以像素的梯度幅值与方向,这样便生成了特征描述符。该算法具备尺度不变的特性,有效的增强了算法的抗噪性,算法的容错性的不错。2.5 本章小结本章简要地说明了图像拼接的基本程序,并说明了图像拼接前的准备工作---图像预处理。介绍了几种常用的拼接算法,分析了各种算法的优缺点,并借此引出了基于特征匹配的拼接算法中最常用的两种算法----Harris角点检测的特征匹配算法和尺度不变的特征匹配算法,分表介绍了两种算法的特征提取的基本思路,本次设计采用了SIFT算法,以下章节将重点围绕它展开。第三章 图像初匹配与图相配准在上一章中我们做到了关键点的描述这一步,特征描述符生成后,也就标志着图像特征提取阶段的完成。而本章要做的就是开始进行图像的配接。图3.1 特征点的匹配3.1 特征点初步匹配前面我们利用SIFT完成了关键点的提取与描述,特征描述符可以视为128维的向量,这里我们可以抽象的概括出比较描述符的方法。David Lowe提出了欧式距离比值排除外点的算法。欧氏距离即欧几里得度量(euclidean metric)是一个一般应用的间距定义,指在n维空间中两个点之间的实际间距,或者向量的实际长度(即该点到原点的距离)。在二维和三维空间中的欧氏距离就是两点之间的实际间距。我们容易理解,如果两个向量完全相同,则它们间的欧氏距离为零,由于图像噪声的存在及其他的变换等原因,同一个点在两张待拼接图像上的描述符不可能完全相同。但是,描述符间的欧氏距离越接近,其匹配应该被视为越接近的。为了阻止错误拼配的发生,仅有欧氏距离“最近”不能得到可靠的匹配。因此,两个特征点之间是一对匹配点要满足以下条件:1、首先两个特征点的描述符间的欧氏距离要最小2、此欧氏距离小到比此特征点描述子到任何其他描述子距离都显著的小这一程度也就是说最近间隔和第二近的间隔不大于一个给定的比例阈值时,这才能看作一对匹配的特征点。一般取e=0.8 (3-1)想要比较所有描述符的欧氏距离,计算量其实并不是太大,只要通过遍历搜索便可以完成。 图3.2 误匹配的消除 初匹配只是对特征点进行了筛选,排除了大部分无用的外点,这样的匹配还不能满足我们的要求,想要得到比较精确的全景图像,还需要进一步操作。3.2图像转换矩阵单应性矩阵用H表示,它是数学中的一个定义。单应性是指一个从实射影平面到射影平面的双向变换,直线仍然会在此双向变换下映射为直线。在计算机视觉中,我们认为任何两张处于相同二维空间的图像可通过单应性联系起来[13]。这经常用于图像校正、图像旋转或图像平移中。3.2.1 图像转换矩阵的用法如果可以从单应性矩阵中估计出图像的旋转或平移,则此信息可以被用于导航或其它中。而如果两图像之间除了旋转没有其他变化,则可以用单应性将这两幅图相关联起来。单应性矩阵可以用来描述两副图像之间的转换关系,一张图像上的一点同样可以通过单应性矩阵映射到另一幅图像上。在图像处理中,如果照相机在不同角度对同一景物进行拍照(两照片之间有重叠区域),那么两幅图相之间存在一个单应性矩阵H,图像1乘以单应性矩阵H就可以得到图像2[16]。这样,在图像拼接中便可以经过求解两幅待拼接图像之间的单应性矩阵来计算图像之间的变换方式,从而大大的简化了图像拼配的思路。因此,求解图像之间的单应性矩阵成立图相配准中的一个中心问题。 3.2.2 单应性矩阵求解单应性矩阵H是一个3维的方阵,可以表示为 (3-2)假设两幅待拼接图像重叠区域的对应两点为,这两个点为一对匹配点和具有相同的方向,所以=0;即 (3-3) 求得到两个相关解的线性方程: (3-4)经代数分析,至少取得4对匹配点时,方程才有解,而匹配点对数大于4对时,方程又没有唯一解,所以要估计才能得出H。目前求解单应性矩阵的方法有很多,大致分为:1、线性估计方法:这是源于代数之间间距的最小化的方法,即所谓的代数方法2、几何方法:这是源于几何间距的最小化方法,此方法要求叠代计算,这是由于它不是线性的。3、鲁棒估计方法:本次设计用到的RANSAC方法--随即采样一致性算法是这种方法的的典型。RANSAC利用多个特征点中的任意4个,计算出单应性矩阵,在估计配准精度时使用了平均几何配准误差来计算。这种方法比较复杂,但是有比较好的容错性。4、统计估计方法:这种方法比较简单易于理解,它是基于概率模型的估计的一种方法,不过精度不高,配准不够理想。本次设计采用了鲁棒估计方法,用到了RANSAC算法来估计待配准图像间的单应性转换矩阵。3.3 特征点精匹配经过SIFT算法的特征点初匹配之后,特征点的匹配还不够精确,还存在误匹配或是其他不合理的匹配,因此初匹配只是对特征点进行了筛选,排除了大部分非关键的外点,这样的匹配精确度远远不够,还不能满足我们的要求,想要取得比较精确的全景图像,还需要继续精配准。这里我们用到了随即采样一致性算法。3.3.1 RANSAC算法RANSAC(RANdom SAmple Consensus)就是上述的随机抽样一致性算法。这种算法是在1981年由Fischler和Bolles率先论述,算法的基本思路是在含有错误或者异常数据的一组数据样本中估计出数据模型的一些有效的参数,从而估计出样本的数据,因而这不是一种确定的算法,只有提高迭代的次数,得到合理的结果的概率才会提高,在计算机视觉中,我们经常会用到RANSAC算法[11]。RANSAC算法的优点就是估计模型转换参数时的鲁棒性,即它能从涵括大批“局外点”的数据样本中得到精度比较高的参量。缺点是不断重复的过程中不会对重复次数进行限制,这样就产生了以下的问题:如果迭代次数不够多,那么或者会得到错误的结果,或者得到的结果不是最优的。如果迭代次数过多的话,计算量会增加,会浪费大量的时间。RANSAC一般只能从一定的数据样本中估计出一个特定的模型,如果存在多个模型,其它的模型不会由RANSAC确定[21]。算法的基本假设是:数据是由“局内点”组成的,而“局外点”则是不符合该数学系统的数据,而其余的数据则是噪声。具体来说就是,假设数据样本中包含“局内点”和“局外点”即正确数据与异常数据,也包含噪声即其他数据。还应假设在一组“局内点”中可以估计出适用于这些“局内点”的数据系统[23]。 图3.3 RANSAC算法过程参考图如图所示的数据样本中有“局内点”和“局外点”, “局内点”看作穿过直线,而“局外点”间隔直线较远。最小二乘法会尽可能去涵盖所有的“局外点”和“局内点”,因此用该方去计算的话,很难得出符合“局内点”的直线。然而,用RANSAC方法能比较容易的找出一个只使用“局内点”估计出的模型。但是,为了可以较容易的得到正确的结果,我们必须谨慎的选用算法的参量,因为利用RANSAC得到的结果不一定正确。RANSAC算法是以一组数据样本作为输入的,其输入是一个可以符合于提取的数据样本的参量化的系统。RANSAC实现指标的方式是重复选取数据中的一组随机子集进行迭代。所选择的子集假定是“局内点”,并以下是内点的检验过程:1.我们假定的“局内点”符合某一个数据系统2.用此数学模型系统测试提取样本中的所有数据时,能符合于此系统的数据就是“局内点”3.此数学模型假定合理的依据是:有充足的点被归类为“局内点”4.由于此模型只是被简单的假定,所以此时要用重新假定的“局内点”再次去估计5.经过以上步骤计算“局内点”与模型的匹配率来评测此模型的性能 该过程迭代的次数是不变的,所估计的模型可能因性能出色而被选用,也可能因为“局内点”不够多而被弃用[24]。3.3.2 图像转换矩阵H的精炼RANSAC算法思路巧妙,精髓就是迭代,算法的主要步骤如下:1、由自适应算法确定出反复采样次数n,(此时取4对匹配点);p表示采样点相应点是“局内点”的几率,这根据要求确定;w表示任意一对匹配点为“局内点”的几率即w = 局内点的数目 / 数据集的数目2、选择一组随机数据样本,其中应包含4个匹配点对,并估计出变换矩阵H3、对每组假设对应点都进行欧氏距离的计算,记为d4、计算与变换矩阵H一致的“局内点”数,欧氏距离阈值为D,当d maxIndexindex = [];returnendindex = zeros(1,len);available = 1:maxIndex;rs = ceil(rand(1,len).*(maxIndex:-1:maxIndex-len+1));for p = 1:lenwhile rs(p) == 0rs(p) = ceil(rand(1)*(maxIndex-p+1));endindex(p) = available(rs(p));available(rs(p)) = [];四、 图像的变换利用RANSAC算法精炼出图像转换矩阵H后,接下来就要完成图像的投影转换pt = zeros(3,4);pt(:,1) = H*[1;1;1];pt(:,2) = H*[N2;1;1];pt(:,3) = H*[N2;M2;1];pt(:,4) = H*[1;M2;1];x2 = pt(1,:)./pt(3,:);y2 = pt(2,:)./pt(3,:);up = round(min(y2));Yoffset = 0;if up <= 0Yoffset = -up+1;up = 1;endleft = round(min(x2));Xoffset = 0;if left<=0Xoffset = -left+1;left = 1;end[M3 N3 ~] = size(img21);imgout(up:up+M3-1,left:left+N3-1,:) = img21;% img1 is above img21imgout(Yoffset+1:Yoffset+M1,Xoffset+1:Xoffset+N1,:) = img1;此算法完成了两待拼接图像通过转换矩阵H的计算,完成了将两图像拼接成一张图像的工作。五、 拼接图像的显示Imwrite也是MATLAB的自带的函数,它用来完成图像的显示工作。上述拼接工作完成后通过imwrite(img0,wtg.png);即把wtg1.png和wtg2.png拼接后的图像输出,此图像命名为wtg,格式为.png。拼接后的效果图如下所示:图5.5拼接效果图5.3 本章小结本章主要介绍了本次设计的软件环境MATLAB,了解了它的一些功能,分析了MATLAB在图像处理方面的有点,解释了本次设计选用MATLAB进行编程的原因。随后,讲述了本次设计中的使用MATLAB进行图像拼接的基本过程和拼接过程的效果图。第六章 总结与展望本次毕业设计我研究的是基于特征匹配的图像拼接算法的研究,最开始我认为这个课题很容易,但是通过不断的搜集查阅资料后发现图像拼接技术是一门新型的集多种算法于一体的学科,各种算法理解起来还是比较抽象的。毕业设计前期,搜集了许多资料后我仍然无从下手,只能学习MATLAB上的一些简单的图像处理的功能。直到熟悉了MATLAB的编程方法,并学习了本次设计采用的核心算法后才初步进入了正题。这次学习我对图像拼接有了更具体的认识,基于特征匹配的图像拼接的主要有三步,分别是图像特征的提取、图像的配准、图像的融合[29]。图像的特征提取方面,在Harris角点特征提取算法和SIFT特征点提取算法中,我选择了鲁棒性较好的后者。并用SIFT算法进行了特征点的初匹配对特征点进行了筛选,剔除了大部分无用的外点。图像配准方面,我使用了RANSAC算法。简单的特征点初匹配只是排除了无用的外点,匹配效果显然不够精确,本设计利用RANSAC算法精炼出了图像间的变换矩阵H,这是配准过程的核心工作。图像融合方面,中值滤波法、小波变换法、加权平滑法中,我选择了处理接缝效果较好而处理速度很快的加权平滑法,这种算法简化了算法,节省了时间,而且融合效果比较理想。本次设计的基本任务已经完成,基本可以实现的两幅彩色图像的无缝拼接。但是还有诸多的不足,需要我在接下来的时间去修正或改进。首先,虽然完成了图像的无缝拼接,但是在一些图像的拼接中的接缝处还会有拼接痕迹,这需要我继续查阅相关资料,找出问题优化算法。其次算法可以实现两幅图像的拼接,但是对多幅图像的拼接则需要多次的调用函数来完成,一次性对多幅图像拼接还需要我修改函数。最后,对于待拼接图像取自不同拍摄角度等非常情况我还没有深入的研究。接下来,我还需要对图像拼接进行深入的研究,致力于解决这次设计中发现的问题,继续优化算法。对于这项技术的前景,我非常看好,图像拼接技术将来可能会在刑事破案、医疗等方面都发挥重要作用。
目录
*好棒文|www.hbsrm.com +Q: ¥3^5`1^9`1^6^0`7^2$
为重要的地位。即使是高端的夜视功能的微光成像设备或是传统的红外成像设备,都有各自的局限性,都不能拍摄到大视野的全景图像,而对于三百六十度的环形的全景图像更无可能。但是,目前的生产生活中,很多场景中我们需要观察周围的全部环境,经常要用到三百六十度拍摄的数张图像合成的超大环形全景图像。而图像拼接技术的兴起很大程度上处理了这个问题,可以经过对周围的环境进行多次取景得到多张图像,然后通过一定的算法合成需要的大视角甚至三百六十度无死角的超大全景图像。这项技术在空间科学、警情预报中都起到了不小的作用。目前图像拼接技术现在运用到了医学范围,一般探测设备的视野较小,医生不能根据视野进行诊治,而且医学方面对图像的质量和范围有很高的要求, 特别是在手术等高精度工作是。例如,在视网膜的激光手术中,忽略相机运动的旋转和平移变化后,将 视网膜看作一个近似的二维曲面,通过求解多张视网膜图像间的图像转换矩阵,可以把这些视网膜图像拼接成更大范围的完整视网膜图像,这对视网膜激光技术的突破起到了重要的作用。 图1.1 医学中的图像拼接应用在环境监测和视频监控中,图像拼接技术的使用使卫星对一区域进行多次拍照拼接合成大规模的全景图像即可完成对特定区域的监测和监控。在生活中,把多个摄像头获取的实时监控图像进行合成,生成高分辨率的全景图像就可以实现对整个环境的实时监控。在图像的虚拟现实技术领域中图像拼接技术也有重要的用途。虚拟现实技术就是用计算机虚拟出让人身临其境的视觉、听觉和触觉环境。图像拼接技术在虚拟场景的生成环节十分的关键,可以通过图像拼接使不同场景图像合成生成全景的视图。互联网技术的普及是虚拟现实技术得到了推广,人们可以在许你环境中进行“旅游”和“购物”,这使得图像拼接技术在生活中更加实用和商业化。目前图像拼接技术再次突破,已经实现了拍摄与视频拼接。以后,图像拼接技术有可能发展到视频的拼接,从而实现全景视频或全景动画的产生。从上述方面可以看出,图像拼接技术的使用范围很宽泛,而且这项技术的前景非常好,该技术一定会成为各行各业的钻研热点。从图像拼接技术理论提出到现在短短四五十年,图像拼接技术已经很快成为研究热门,目前图像拼接技术日趋成熟,理论日益完善,但是,还是面临着一些急需解决的问题。首先,目前接触的绝大多数图像拼接算法只能对来自一个场景或是特定场景的图像进行拼接,适用范围比较小,还没有完全适用的。如,基于特征相干的拼接算法经常使用于待拼接图像的边缘特征相对显著的情况;然而,当照相机焦距相对大或是拍摄的场景相对小的情况,利用基于仿射变换的全景图像拼接完成的图像质量比较高;而代拼接的图像比较混乱时,一般只用基于透视变换的全景拼接技术。 其次,目前的拼接算子在解决高质量的图像时,速度会变低,而且可能会存在特征点检测错误的情况。第三,对于高质量的彩色图像,拼接之后不能完全消除拼接部分的痕迹。第四,对于没有显著特点的或是图像亮度接近时,拼接时可能会出现不正确的配准。最后,虽然图像拼接算法不断得到优化,但是大多数优化算法对配准速度、效率的提高甚少,重点基本放在了提高配准精度上。此后,关于图像拼接技术的优化还是任重道远,相信随着拼接技术的完善,图像拼接必定会给我们的生产生活带来新的革命。1.2图像拼接的现状1.2.1国外情况图相配准是图像拼接技术的首要问题,是图像融合的根本。1965年,IFIP会议上,Ivan Sutherland提出了图像经过拼合得到大视野的完整图像这个理念。1975年,相位相关法由Kuslin和Hines率先论述出来。此方法利用了傅氏变换,用傅氏换把两张待拼接图像转换到频域,采用两者的互功率谱选取出两图像之间的平移量,最后经过转换计算出拼成的图像[3]。1987年,De Castro和Morandi更进一步的完善了相位相关法,这次改善拥有了对旋转变化和平移变化的图像进行匹配的能力。随后,Ressy和Chatterji又对此方法进行了修正,使它同时可以把缩放变换的图像进行准确匹配。1988年,Harris论述了以自己名字命名的特征点检测算法。这种算法用自相关函数来确定像素的变化,检测出的特征点可以达到亚像素的精度,抗噪性和抗干扰性等鲁棒性得到了加强,具有平移和旋转不变性。1996年Richard Szeliski教授设计了采用LM算法的基于运动的全景图像拼接系统,这种系统同样基于频域,通过计算两张待拼接图像的位移的横向功率的几何关系来计算配准后的图像,完成图像的配准。此方法拼接出的图像质量高,可以精确的一个像素,而且算法速度快,无论场景限制,具有普遍适用性,是一种典型的拼接算法。 1997年, Jun-wei Hsieh等人在图像拼接的特征点的提取过程中确定图像的边缘特征点时采用了多尺度的小波变换的方法。2003年,Benny Rousso等人又完善了Richard Szeliski教授的全景拼接系统,提出了自适应的全景图像交融方法,这种算法极大的推动了全景图像拼接的进步,明显的提高了匹配的速度[4]。04年,Benny Rousso再一次完善了这种方法,提出了自适应的图像拼接模型。这把自适应的图像拼接合成问题变成了这个领域的新方向。Recognizing Panoramas的发表,M.Brown和D.G.Lowe提出了基于尺度不变特征的图像拼接方式,即本文用到的SIFT算法图像拼合方式,这是算法是不需要人的干涉就能完成,拼接效果比较完美。2006年Richard Szeliski又提出了把待拼接图像特征点变的更明显,并达到精确匹配的新概念。1.2.2国内情况 国外图像拼接技术飞速进步的同时,国内的专家的研究的兴趣日益浓烈。1997年,自动的图像匹配方式由王小睿提出,这不是一种全自动的图像配准方式,通常不应用于一般情况,而在对图像匹配精密度要求相对高时应用相对广。1998年,张祖勋等人提出了多级影像概率松弛整体匹配技术,这是一种快速配准的方法,配准图像不再规定用相同分辨率的或是相同传感器提取的进行匹配。封靖波在两张待拼接图像中构建类似曲线,在两图像中查询类似曲线的信息找到了最合适的配准点,这极大的降低了计算量,配准程序也得到了简化。杜立民、赵向阳论述了基于特征点匹配的图像的自动拼接方法。这是以Harris角点检测算法的角点特征提取为前提。2008年,李柏林等人以RANSAC算子为根基,提出了新的图像拼接途径,此方法比LM算法收敛性得到了加强。2009年,曹红杏等人发现了Harris的不足,对其实现了完善,发现了基于角点特征的图像自动拼合方法,这种方式有效的提高了角点的定位,加强了算子的抑制图像噪声干扰的性能,减少了烦琐的计算,提高了配准精准性,具有比较普遍的实用性。1.3 本文的研究内容本次毕业设计主要来研究对多幅有重叠部分的图像的拼接问题,本文则是利用一副完整图像随意截取成多幅图像后,根据所截取的图像间的有重叠部分的局部特征进行特征点的提取、初匹配、精配准等工作来将其融合成为完整的图像。 图像的特征提取过程,本文采用了SIFT算法,即尺度不变的特征点提取算法,主要包括四部分,分别是测量空间尺度极值、精化特征点的空间位置、计算特征点的描述信息、生成特征描述符。图像匹配过程,在SIFT初匹配后排除掉了大部分的无用点,采用RANSAC进行了特征点精配准,即通过估计待拼接图像间的单应性转换矩阵,然后对图像进行矩阵变换来计算出拼接后的图像。这种方式具有比较好的鲁棒性和容错性。图像融合的过程,本文则采取了加权平滑算法来完成,这样处理的图像缝合线比较平滑,融合效果比较理想。第二章 图像预处理及图像特征提取2.1 图像拼接过程目前,由于图像拼接技术的日趋先进,图像拼接的方式也越来越多,算法越来越简单易懂。各种方法有各自的特点,有的则符合于不同的拼接环境或特定的拼接环境。各种方法优缺点各不相同,然而图像拼接的基本步骤都是一致的[5]。大致分为以下几步: 图2.1 图像拼接的过程(1) 图像预处理:一般包括图像的校正和图像噪声的克服两部分。预处理就是对待拼接图像进行直方图配接、光滑的滤波变换、增益变换等各种图像处理的简单过程,这是图像拼接随后进行图像的特征提取时的前提。(2) 图像配准:全景图像的拼接技术中的要点是图像配准,要想得到理想的高品质的拼接图像就需要有很高的图像匹配精度。图像配准前首先要对待拼接图像进行特征的提取。图相配准的根本原理是:找到在两张待匹配图像的重叠区域的特征点的对应地点,再选用配准算法估计、精炼出待拼接图像间的转换矩阵。把待配准图像转换到参照图像的坐标系中,这样就能拼合出整个全景画面。计算出一个能全面的的表示两幅待拼接图像变换方式的转换系统是图像精确匹配的重要工作。(3) 图像拼合:图相配准中找到两幅待拼接图像之间的变换方式的系统,就是重合部分的图像变换矩阵后,就应该依据此区域的内容将待拼接图像变换成一个理想的大视野的完整图像。拍照角度的细微差别和拍照条件各异等原因导致图像灰度与亮度也有所不同,图像匹配结果依然不是准确的。而理想的合成规则就可以有效地减少遗留变形和图像间的灰度差异对拼接结果的影响。2.2 图像预处理图像拼接的预处理主要包括图像的校正和图像噪声的克服两部分[6]。图像的校正是由于当照相机的镜头拍照时没有正对景物的时候,拍到的景物就可能发生变形,或者由于拍照设备自身电子扫描系统的限制产生失真。这些图像的畸变会对图像的配准产生很大的影响,所以要在配准之前做图像校正,以防止畸变。图像校正基本原理是:从已失真的的图像中根据畸变的原因,建立相应的数学系统,利用造成这种原因的反向过程回复出原本的图像[7]。 图2.2 图像的校正图像噪声的抑制是由于图像噪声是无规则的随机的干扰信号,它会对传感器接受图像的信息进行综合和分析产生干扰是真实信号与期望信号之间产生误差。噪声较大时会直接关系到图像拼接的全部进程和拼接的结果。因此在图像输入和采样阶段就对图像噪声进行有效的控制是十分必要的。抑制噪声的方法常见的主要有两种,平均值滤波法和中值滤波法。2.3 图像拼接方法目前随着图像拼接算子的不断优化完善,图像拼接的算法种类日益增多,但是普遍适用性并不高,不同的拼接环境中可能要用不同的算法来实现,而且各种算法各有特点,拼接时可以根据拼接要求灵活的选用适合的算法来实现。图像拼接算法大致可以分为两类:基于区域的图像拼接算法和基于特征匹配的图像拼接算法[8]。2.3.1基于区域的图像配准基于区域的图相配准算法又存在基于频域的配准算法和基于空间的配准算法两类。基于频域的配准算法优点是:1、能抑制相关性噪声和频率噪声 2、几何失真对配准的影响显著减弱 3、计算量小处理快 4、适用于小平移量、旋转及尺度图像合成。 缺点是:在参照图像和待拼接图像的堆叠部分不大的情况下拼接效果较差。基于频域的配准算法中最典型的是基于FFT的相位相关拼接。算法的思路是:在参考图像与待配准图像中截取相同范围的区域并在对数极坐标下代表,这两小部分的互功率谱通过傅氏逆变换取得2维脉冲信号,要计算的平移参值可以用计算小区域中心点在待匹配图像中的位置的方式得到,这样得到图像配准的参数比较合适。这种方法图像的旋转变化、平移变化、比例变化都会在傅氏变换中表现出来,具有较好的抗噪性及鲁棒性。基于空间的配准算法优点是:1、搜素速度比较快 2、在一定程度上能解决尺度所放的问题。 缺点是:1、计算量大 2、对于旋转角相对大的情况配准结果不可靠。基于空间的配准算法中最常用的是基于比值法拼接。这种算法的原理是:在第一幅待拼接图像的重合部分间隔一段间距的两列的壁纸作为模板,在另一幅图像的相迎重合部分找出与第一幅模板对应的两列的最好匹配,从而实现图像的拼接。这种算法思路清晰便于理解、计算量小速度快,但是所使用的图像特征信息不多,采样图像信息时要求照相机在水平方向上挪动,限制要求相对要高。算法中进行相当多的除法操作,这是选择的相应像素值RGB等于零时,导致程序截止。2.3.2基于特征匹配的图像配准基于特征匹配的图像拼接算法没有运用图像中的全部信息,而是采用重叠部分图像中的特征点来计算图像之间的变换的。图像的特征点和图像的像素点相比,数量上微乎其微,这会大程度地减少了算法的算术过程,节约了时间,提高了算法的速度。匹配精确度的增强是因为特征点的配准度量值对地点的变化相对灵敏。此外特征点的提取可以使图像噪声的干扰降低,对亮度的改变和图像的形变都有相对好的容忍性。所以基于特征匹配的图像拼接算法是比较常用的拼接算法。主要包括基于Harris角点的匹配方式和基于SIFT尺度不变特征转换方式。基于Harris角点的匹配算法优点是:1、算法思路简单 2、图像间的旋转角度影响小 3、计算量不大 4、精确性好。缺点是:对图像边缘信息不明确的图像间匹配结果相对较差。基于SIFT尺度不变特征转换算子优点是:对存在缩放和旋转问题的图像,拼接精确性好且对由于噪声、仿射、角度引起的干扰保持了一定的抵抗性。缺点就是误匹配仍然存在。下面我们具体的来讲述基于特征匹配的图像拼接的两种常用算法。2.4 图像特征点的提取基于特征匹配的图像匹配算法主要包括基于Harris角点的匹配方式和基于SIFT尺度不变特征转换方式,故图像特征点提取时有两种主要方法即Harris角点特征提取和SIFT算法提取图像特征点并生成描述符。SIFT算法具有较好的抗噪性和鲁棒性,本次设计采用了这种方法。2.4.1 Harris角点特征提取Harris算子是由C.Harris和M.J.Stephens发现的基于角点检测的特征提取的方式。角点是局部窗口沿各方向移动均产生明显变化的点是图像局部曲率突变的点,它在水平和垂直方向上变化都相对大。边缘是指只在水平方向或只在竖直方向变化相对大,即水平方向梯度或竖直方向梯度只有一个相对大。平坦区域是指在水平方向和竖直方向的变化都相对小,即、都相对小。角点的提取分为以下几步:1、对图像的每个像素进行滤波(一般用水平、竖直差分方法)求的水平方向的梯度值和竖直方向的梯度值,进而可以求得M中的四个元素得结果[13]。 (2-1)2、对以上M矩阵中的、等四个像素进行Gauss光滑滤波,以下是离散的二维零均值Gauss函数: (2-2) Window function :3、采取以下公式计算对应的各个像素的角点量的值M (2-3)4、最后在矩阵zin中找出角点,角点需要同时满足以下条件 (1)zin不能小于选定的阈值T (2)zin是某范围内的局部极大值提高阈值的话就可将提取的角点的数量降低;而减小阈值就需要采样更多的角点。角点的数量和容忍值同时也会受到局部极大值范围大小的干扰。Harris算子相比于SIFT算子,它对尺度变化相对敏感,不具有尺度不变特征。2.4.2 SIFT算子特征提取 图2.3 SITF特征点的提取SIFT (Scale-invariant feature transform) 算法就是我们常说的尺度不变特征变化方式,这种算法与其他算法相比具有尺度不变性[20]。此方法是David Lowe在1999年的ICCV会议上提出的,2004年由他再次完善并在IJCV上发表。SIFT特征是图像的部分特征,这种算法独特性好还具有多量性、高速性和可扩展性。SIFT特征检测包含四部:1、尺度空间极值检测;这里要用Gauss微分函数来选择相对尺度不变和对于旋转不变的特征点。2、关键点的定位;这里要用一个拟合精密的系统在每个可能的位置上一一选择位置和尺度,就是依靠稳定程度来定位关键点。3、方向的确定;每个特征点位置会被分给一个或多个方向。随后的对图像数据的操作很多,这些都关于特征点的尺度、位置和方向进行转换,这样便可以对于这些变换具有一致性。4、关键点的描述;在每个特征点为中心的特定范围内,在特选定的尺度上计算图像的部分的梯度值。关键点就是图像在不同尺度范围中的局部极值点,它是矢量,带有方向。关键点的检测,要虚拟图像数据的多尺度特性,就要先用Gauss卷积的方法来产生尺度区域[15]。表示一个图像的尺度区域函数,表示原始图像数据,2维高斯函数: (2-4) (2-5)用Gauss滤波器对待拼接图像多次不断的滤波,把图像缩到二分之一再进行多次的滤波,不断的重复以上操作,直到图像不大于给定的阈值时停止。随后对各个尺度的Gauss图像进行差分,实现Gauss差分金字塔(DOG 图像)。对这些图像取局部的极值就得到了关键点。 如下图,空间极值点的检测时,中间x标志的监测点需要与上方九个、下方九个、周围八个共二十六个点做比较,这样在二维空间和多尺度范围都能存在极点。 图2.4 空间极值点检测 关键点描述符生成 要使旋转后保持不变性,这里要将坐标轴调整到关键点的方向。以关键点为中心,在8*8的窗口范围内求出所以像素的梯度幅值与方向,这样便生成了特征描述符。该算法具备尺度不变的特性,有效的增强了算法的抗噪性,算法的容错性的不错。2.5 本章小结本章简要地说明了图像拼接的基本程序,并说明了图像拼接前的准备工作---图像预处理。介绍了几种常用的拼接算法,分析了各种算法的优缺点,并借此引出了基于特征匹配的拼接算法中最常用的两种算法----Harris角点检测的特征匹配算法和尺度不变的特征匹配算法,分表介绍了两种算法的特征提取的基本思路,本次设计采用了SIFT算法,以下章节将重点围绕它展开。第三章 图像初匹配与图相配准在上一章中我们做到了关键点的描述这一步,特征描述符生成后,也就标志着图像特征提取阶段的完成。而本章要做的就是开始进行图像的配接。图3.1 特征点的匹配3.1 特征点初步匹配前面我们利用SIFT完成了关键点的提取与描述,特征描述符可以视为128维的向量,这里我们可以抽象的概括出比较描述符的方法。David Lowe提出了欧式距离比值排除外点的算法。欧氏距离即欧几里得度量(euclidean metric)是一个一般应用的间距定义,指在n维空间中两个点之间的实际间距,或者向量的实际长度(即该点到原点的距离)。在二维和三维空间中的欧氏距离就是两点之间的实际间距。我们容易理解,如果两个向量完全相同,则它们间的欧氏距离为零,由于图像噪声的存在及其他的变换等原因,同一个点在两张待拼接图像上的描述符不可能完全相同。但是,描述符间的欧氏距离越接近,其匹配应该被视为越接近的。为了阻止错误拼配的发生,仅有欧氏距离“最近”不能得到可靠的匹配。因此,两个特征点之间是一对匹配点要满足以下条件:1、首先两个特征点的描述符间的欧氏距离要最小2、此欧氏距离小到比此特征点描述子到任何其他描述子距离都显著的小这一程度也就是说最近间隔和第二近的间隔不大于一个给定的比例阈值时,这才能看作一对匹配的特征点。一般取e=0.8 (3-1)想要比较所有描述符的欧氏距离,计算量其实并不是太大,只要通过遍历搜索便可以完成。 图3.2 误匹配的消除 初匹配只是对特征点进行了筛选,排除了大部分无用的外点,这样的匹配还不能满足我们的要求,想要得到比较精确的全景图像,还需要进一步操作。3.2图像转换矩阵单应性矩阵用H表示,它是数学中的一个定义。单应性是指一个从实射影平面到射影平面的双向变换,直线仍然会在此双向变换下映射为直线。在计算机视觉中,我们认为任何两张处于相同二维空间的图像可通过单应性联系起来[13]。这经常用于图像校正、图像旋转或图像平移中。3.2.1 图像转换矩阵的用法如果可以从单应性矩阵中估计出图像的旋转或平移,则此信息可以被用于导航或其它中。而如果两图像之间除了旋转没有其他变化,则可以用单应性将这两幅图相关联起来。单应性矩阵可以用来描述两副图像之间的转换关系,一张图像上的一点同样可以通过单应性矩阵映射到另一幅图像上。在图像处理中,如果照相机在不同角度对同一景物进行拍照(两照片之间有重叠区域),那么两幅图相之间存在一个单应性矩阵H,图像1乘以单应性矩阵H就可以得到图像2[16]。这样,在图像拼接中便可以经过求解两幅待拼接图像之间的单应性矩阵来计算图像之间的变换方式,从而大大的简化了图像拼配的思路。因此,求解图像之间的单应性矩阵成立图相配准中的一个中心问题。 3.2.2 单应性矩阵求解单应性矩阵H是一个3维的方阵,可以表示为 (3-2)假设两幅待拼接图像重叠区域的对应两点为,这两个点为一对匹配点和具有相同的方向,所以=0;即 (3-3) 求得到两个相关解的线性方程: (3-4)经代数分析,至少取得4对匹配点时,方程才有解,而匹配点对数大于4对时,方程又没有唯一解,所以要估计才能得出H。目前求解单应性矩阵的方法有很多,大致分为:1、线性估计方法:这是源于代数之间间距的最小化的方法,即所谓的代数方法2、几何方法:这是源于几何间距的最小化方法,此方法要求叠代计算,这是由于它不是线性的。3、鲁棒估计方法:本次设计用到的RANSAC方法--随即采样一致性算法是这种方法的的典型。RANSAC利用多个特征点中的任意4个,计算出单应性矩阵,在估计配准精度时使用了平均几何配准误差来计算。这种方法比较复杂,但是有比较好的容错性。4、统计估计方法:这种方法比较简单易于理解,它是基于概率模型的估计的一种方法,不过精度不高,配准不够理想。本次设计采用了鲁棒估计方法,用到了RANSAC算法来估计待配准图像间的单应性转换矩阵。3.3 特征点精匹配经过SIFT算法的特征点初匹配之后,特征点的匹配还不够精确,还存在误匹配或是其他不合理的匹配,因此初匹配只是对特征点进行了筛选,排除了大部分非关键的外点,这样的匹配精确度远远不够,还不能满足我们的要求,想要取得比较精确的全景图像,还需要继续精配准。这里我们用到了随即采样一致性算法。3.3.1 RANSAC算法RANSAC(RANdom SAmple Consensus)就是上述的随机抽样一致性算法。这种算法是在1981年由Fischler和Bolles率先论述,算法的基本思路是在含有错误或者异常数据的一组数据样本中估计出数据模型的一些有效的参数,从而估计出样本的数据,因而这不是一种确定的算法,只有提高迭代的次数,得到合理的结果的概率才会提高,在计算机视觉中,我们经常会用到RANSAC算法[11]。RANSAC算法的优点就是估计模型转换参数时的鲁棒性,即它能从涵括大批“局外点”的数据样本中得到精度比较高的参量。缺点是不断重复的过程中不会对重复次数进行限制,这样就产生了以下的问题:如果迭代次数不够多,那么或者会得到错误的结果,或者得到的结果不是最优的。如果迭代次数过多的话,计算量会增加,会浪费大量的时间。RANSAC一般只能从一定的数据样本中估计出一个特定的模型,如果存在多个模型,其它的模型不会由RANSAC确定[21]。算法的基本假设是:数据是由“局内点”组成的,而“局外点”则是不符合该数学系统的数据,而其余的数据则是噪声。具体来说就是,假设数据样本中包含“局内点”和“局外点”即正确数据与异常数据,也包含噪声即其他数据。还应假设在一组“局内点”中可以估计出适用于这些“局内点”的数据系统[23]。 图3.3 RANSAC算法过程参考图如图所示的数据样本中有“局内点”和“局外点”, “局内点”看作穿过直线,而“局外点”间隔直线较远。最小二乘法会尽可能去涵盖所有的“局外点”和“局内点”,因此用该方去计算的话,很难得出符合“局内点”的直线。然而,用RANSAC方法能比较容易的找出一个只使用“局内点”估计出的模型。但是,为了可以较容易的得到正确的结果,我们必须谨慎的选用算法的参量,因为利用RANSAC得到的结果不一定正确。RANSAC算法是以一组数据样本作为输入的,其输入是一个可以符合于提取的数据样本的参量化的系统。RANSAC实现指标的方式是重复选取数据中的一组随机子集进行迭代。所选择的子集假定是“局内点”,并以下是内点的检验过程:1.我们假定的“局内点”符合某一个数据系统2.用此数学模型系统测试提取样本中的所有数据时,能符合于此系统的数据就是“局内点”3.此数学模型假定合理的依据是:有充足的点被归类为“局内点”4.由于此模型只是被简单的假定,所以此时要用重新假定的“局内点”再次去估计5.经过以上步骤计算“局内点”与模型的匹配率来评测此模型的性能 该过程迭代的次数是不变的,所估计的模型可能因性能出色而被选用,也可能因为“局内点”不够多而被弃用[24]。3.3.2 图像转换矩阵H的精炼RANSAC算法思路巧妙,精髓就是迭代,算法的主要步骤如下:1、由自适应算法确定出反复采样次数n,(此时取4对匹配点);p表示采样点相应点是“局内点”的几率,这根据要求确定;w表示任意一对匹配点为“局内点”的几率即w = 局内点的数目 / 数据集的数目2、选择一组随机数据样本,其中应包含4个匹配点对,并估计出变换矩阵H3、对每组假设对应点都进行欧氏距离的计算,记为d4、计算与变换矩阵H一致的“局内点”数,欧氏距离阈值为D,当d
目录
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jxgc/zdh/2920.html