文章信息
- 朱正明, 姜明, 马小明.
- Zhu Zhengming, Jiang Ming, Ma Xiaoming.
- 基于特征点匹配的图像拼接系统
- An Image Mosaicing System Based on Feature Points Matching
- 林业科学, 2004, 40(4): 117-123.
- Scientia Silvae Sinicae, 2004, 40(4): 117-123.
-
文章历史
- 收稿日期:2002-10-10
-
作者相关文章
2. 北京大学环境科学中心 北京 100871
2. Center of Environmental Science, Peking University Beijing 100871
在进行森林病虫害航空遥感监测时,为有效判断森林中特定区域的病虫害情况,需将森林病虫害数据与具体场景图像结合考虑。但是,由于遥感监测摄像机一次仅能拍摄一个较小的区域,因而,产生从运动图像序列重建场景图像的研究课题(马颂德等,1998)。具体问题就是:在特定的森林区域,使用机载摄像机得到一组运动图像序列,其中每张图像仅覆盖一个小区域,相邻图像间有部分重叠,通过处理运动图像序列,把区域场景恢复出来。这也就是与立体视觉及运动分析密切相关的场景重建问题(马颂德等,1998;吴健康等,1993),也称为图像拼接问题。
已经有很多关于图像拼接的研究。一般来说,这类问题重要的是图像对应模型的选择。对应模型确定了像素点间的位置对应关系(Satyan et al., 2000),而在系统实现中,最后又都要归结为模型参数的求解方法。目前,关于对应模型参数的研究主要分为两大类:基于特征的方法和基于无特征的方法(John et al., 1998; Satyan et al., 2000)。在基于特征的方法中,首先要处理图像,提取满足特定应用要求的特征,然后利用特征对应关系确定模型参数。该方法的主要困难在于选择什么特征,以及如何对特征进行匹配跟踪,常用的图像特征有点、直线、曲线等(马颂德等,1998)。基于无特征的方法,则是定义刻划图像区域相似性的代价函数,将问题转化为求解关于模型参数的优化问题。针对本研究课题,图像为森林场景,颜色值分布整体上具有很强的相似性,如选用无特征的方法,根据颜色值构造代价函数进行优化,将难于确定模型参数。为此,选择基于特征的方法。并且,森林场景不像人工场景(如积木世界,城市街区等),线条特征很少,选择点特征无疑是一种较优的选择。
研究中,利用图像对应模型的特殊形式——场景平面模型实现了图像拼接系统。首先进行特征点提取,然后,手工在特征点集合中选择一组点初始对应点,最后,利用我们提出的模型参数迭代求解方法获得更精确的模型参数,并以一幅图像为基准,而将其他图像相应变换到该图像平面上,从而生成场景图像。
1 材料和方法 1.1 图像数据来源研究中使用的图像数据是中国林科院资源信息所提供的机载摄像机拍摄到的森林图像序列。从图像序列中,截取其中的几幅连续的图像进行图像拼接,分析实验效果。
1.2 方法 1.2.1 场景平面参数模型假设摄像机拍摄的场景是一个平面,有两种场景平面参数模型。一种是场景平面垂直于光轴模型。即假设对于摄像机而言,场景平面垂直于光轴,图像对应模型如下:
其中,u, v, u′, v′为相邻图像的图像位置坐标。利用最小二乘法可得到参数值。
另一种是场景平面不垂直于光轴模型。即假设对于摄像机而言,场景平面不一定垂直于光轴,图像对应模型如下:
其中,u, v, u′, v′为相邻图像的图像位置坐标。利用最小二乘法可得到参数值。
1.2.2 特征点的提取方法选取的特征点应该具有一些好的性质。特征点应该具有稳定性:在图像序列中,尽管位置等拍摄条件发生改变,特征点大多数仍应该能够保存下来,即特征点应该在多幅图像中不易丢失(吴健康等,1993)。同时,往往要求特征点位于灰度变化区域的中心(吴健康等,1993),例如某些孤立点,角点等,这样,特征点的位置偏差不会太大,从而对计算结果的影响较小。通过对灰度图像上选择特征点的方式(吴健康等,1993)进行扩展,系统中选择了这样的特征点。对于彩色图像fk (i, j),要求特征点在水平、垂直、左斜角、右斜角方向的色彩差别应为局部最大。定义四个方向的差别分别为:
其中,k=1, 2, 3对应于R, G, B 3个波段。然后,取4个方向最小的颜色差别作为该位置像素的颜色差别,选择特征点为颜色差别的局部极大点,局部区域的半径大小取为10个像素:
在计算机自动提取特征点后,采用手工的方式选取其中的一些目测下位置较一致的特征点作为求取模型参数的初始对应控制点。
控制点的位置应当减少局部误差的影响。在系统实现中,最后采用图 1的选择方式,在图像的重叠多边形的每个边界角上,一般取2个对应控制点(也可以只选一个点),这样是为了使得图像拼接后边界处色彩更连续一些,同时,在重叠区域的中间也选了一个点,这是为了增强重叠区域内部匹配的准确性。利用这样得到的对应控制点,通过使用最小二乘法,可以把模型参数的初始值计算出来。
在两幅图像的重叠区域,根据模型计算得到的对应点不一定是真正的对应点。从而对给定的一幅图中的像素点,在计算得到的对应点邻域内(区域大小为5 pixel×5 pixel),要搜索真正的对应点。
为了消除旋转对于相似程度的影响,对于要比较相似程度的两个像素位置,在以像素为中心的3 pixel×3 pixel区域内,对像素如图 2排列。
为了比较两个像素点的相似程度,定义di为循环排序的第一个像素位置的0,1,…,7,8像素分别与第二个像素位置的i模8,(i+1)模8,…,(i+7)模8,8像素的颜色差值平方和。从而定义与旋转无关的距离为:d=min{di}, i=0, …, 7
这样,找到对应点邻域内最相似点作为真正的对应点。
1.2.5 模型参数的迭代求解对于两幅进行拼接的图像,手工选择的对应控制点只是其中的几对,模型参数的迭代求解方法,就是要从这起初手工选取的对应控制点得到尽可能多的对应点。每次根据模型参数得到新的对应点集,再根据对应点集计算得到新的模型参数,从而形成迭代求解的过程,直到模型参数不再变化,得到稳定的参数解(或者迭代次数超过预定值,此时迭代失败,需要重新选择初始对应控制点)。
具体步骤如下:在两幅图中的重叠区域,对第一幅图中的任一特征点根据模型计算其对应点位置,若对应点的小邻域内(在系统中,采用的是以对应点为中心的5 pixel×5 pixel小区域)有特征点存在,则把它们作为一对计算对应点;在计算对应点为中心的5 pixel×5 pixel区域中,把最相似点作为真对应点;利用新的对应点计算模型参数,如模型参数不稳定,则继续进行迭代。
这种策略的合理性在于,若模型参数误差很小,并且该特征点的真对应点也为特征点,则真对应特征点应该在计算得到的假对应点附近(即在计算得到的假对应点附近应该有特征点存在)。即使在模型参数误差稍微大些的情况下,由于原对应点集中的对应点基本满足参数模型对应关系,从而这些点附近的对应点也是基本满足参数模型的,此时,这些原对应点集附近的对应特征点将很可能先被搜索到。对于整个搜索中,当然可能有假对应特征点存在,但这在整个对应点集中将只占很少数,并且随着正确的对应特征点的数目的增加,将越来越微不足道。
1.2.6 拼接场景图像的生成要从两幅图构造完整的拼接图像,首先是确定拼接图像的布局位置。采用第一幅图作为拼接图像的参照系,将第二幅图像点对应到第一幅图中去。首先,根据参数模型的逆变换,得到图像二的四个角上像素点的对应点坐标(x1,y1),(x2,y2),(x3,y3),(x4,y4)。然后,得到覆盖图像一矩形区域以及图像二对应区域的最小矩形,将它作为新的图像大小。
接下来,要确定新的图像中的每一个像素点的颜色值。拼接图像中的像素可分为四个区域,如图 3。第一种是既不属于图像1也不属于图像2的像素点,称之为背景点。第二种是只属于图像1的像素点,称之为图像1点。第三种是既属于图像1也属于图像2的像素点,称之为对应点。第四种是只属于图像2的像素点,称之为图像2点。
由于这四个区域的像素的特点不一样,设定颜色值将要采用不同的策略。对于背景点,将它的像素颜色值赋为黑色。对于图像1点,颜色值不变。
对于重叠点,由于它是从图像1点向图像2点的过渡区域,需要额外处理,使得最终的场景图像表现出完整性和平滑过渡性。设P点在图像1与图像2重叠区域,在拼接图像上,从图像1的区域向图像2的区域过渡的时候图像1的颜色比重要变小,图像2的颜色比重要变大。这样,选择重叠区域中P点离两个图像边界距离大小作为颜色值的比重大小。这在某种程度上体现了这种变化趋势。然后,具体的颜色值用颜色值加权方式得到。
对于图像2点,由于以图像1点为坐标架,根据参数变换的计算结果不一定是整数,这就是一个在图像2中重新采样的问题。在实际中,一种最简单的方式是取最近的像素点的颜色值作为该点的颜色值。而通常也可用线性加权平均等方法来求得颜色值(管伟光,1998)。在拼接多幅图像时,由于在拼接图像中将背景用黑色(0,0,0)表示,从而,在进行对应点搜索时,将先判断像素的颜色,如果为黑色,就将它看作背景点,而直接用参数模型计算的结果来得到像素点的颜色。否则,还用前面介绍的方法来确定像素颜色。
1.2.7 图像拼接系统处理流程根据前面的分析,从而总的处理流程分如下6步:(1)对基准图像和拼接图像平滑;(2)生成特征点图;(3)手工选择初始控制点;(4)根据对应点计算模型参数,模型参数稳定则执行步骤6,迭代次数过大则退出;(5)根据对应点生成新的对应点,执行步骤4;(6)场景图像的生成。
2 结果与分析 2.1 特征点提取的有效性实验中发现相邻两幅图间提取的特征点的确有不少是在对应点的位置上,这说明所使用的特征点提取方法是有效的,图 4表明了这一点。
在搜索对应点的过程中,因为搜索范围是在给定的假对应点的一个邻域内,假如给定的假对应点与真对应点很接近,则搜索的邻域范围可小一些,反之,若给定的假对应点与真对应点差得远些,则搜索的邻域范围要大一些。图 5和图 6是给定的假对应点与真对应点距离不同的情况下的两种搜索结果。图 6中由于选择的假对应点距离远了,因而没能搜索到对应点,并且,搜索到了一个局部最相似点作为对应点。在图 5中,由于真对应点在搜索范围之内,从而把对应点找了出来。
图 7则给出了实际匹配中的误匹配情况。当假对应点在真对应点附近时,由于拍摄条件不一样(如噪声干扰等),使得没有在真对应点处达到局部极小值。
在具体匹配过程中,假对应点是由参数模型计算出来的,由此可知,参数模型与实际场景图像数据的吻合程度对图像匹配的影响是很大的。
2.3 模型参数迭代求解的有效性图 8中,给出一幅图和它的旋转图,在上面手工确定了对应控制点。仅利用初始参数值和利用参数迭代求解方法分别进行图像拼接。可以看出,用初始值进行图像拼接时,图像和旋转后的图像间有一个偏差存在,从而像素点不完全对应,而迭代求解图像拼接中,图像前后一致对应。从迭代求解后图像间的对应点可以得出:正是这样产生了更多的对应控制点,模型的参数求解变得更为准确。
如果开始选择的对应控制点过分集中在一个很小的区域,使得初始参数值误差过大,这样,当迭代求解稳定下来时,图像拼接结果可能不理想。从实验的情形看,对应控制点的分布区域不是太小时,图像拼接效果一般都比较好。
采用迭代法求解还有一个好处,当迭代求解完成时,可对新的对应点集合从图像上进行判断。若有误对应点,则一般是在整个对应点集合所覆盖区域的靠近边界处。这样,在图像拼接前,通过判断覆盖区域的靠近边界处误对应点的多少来评价模型参数的准确程度。必要时可重新选择对应控制点以达到更好的效果。
2.4 两个场景平面模型特点比较在理论上,场景平面垂直于光轴模型是场景平面不垂直于光轴模型的一个特例。在对应点选择的精度较高的情况下,忽略计算上造成的误差,该模型应该比上一模型更准确的计算出对应点的坐标来,从而最后的拼接结果应该更好些。但在实际对应点选择的精度不高时,在场景平面垂直于光轴模型近似成立的情形下,用场景平面不垂直于光轴模型进行拼接的效果可能不如场景平面垂直于光轴模型,所以某些时候场景平面垂直于光轴模型也是一个好的选择,特别是在飞机飞行比较平稳,相机光轴基本垂直于大地时。
2.5 图像拼接综合效果利用前面所述的方法,对一组图像序列进行拼接,最后的效果是比较好的。图 9给出了应用上面讲述的方法用场景平面垂直于光轴模型和场景平面不垂直于光轴模型得到的拼接图像。
要分析系统的效率,需要分析处理流程中各环节的处理时间。对于图 8中的旋转图像,应用场景平面垂直于光轴模型以及场景平面不垂直于光轴模型进行图像拼接,各环节的处理时间见表 1(这里图像为352 pixel×350 pixel, 367 pixel×364 pixel的RGB图像)。
由于平滑图像,求图像的特征值,提取图像特征点两个模型是采用相同的算法,因而这里对同一幅图像的处理时间是一样的(不同的图像则根据图像的大小而有差别)。
对应控制点的选择是手工操作的,因而时间没有计算在内。模型参数的迭代求解中,由于两个模型的参数个数和计算略有差别,处理时间略有差别,但这个步骤的处理时间在整个过程中占的分量并不是很大。说明参数的迭代求解是高效的。
在图像拼接中,根据模型计算得对应点后,在对应点为中心的5pixel×5pixel小区域内搜索最相似的点作为真正的对应点,正是这个搜索过程的引入使得图像拼接的时间较长。但这种搜索方法是在场景平面模型的基础上引入非线性因素,部分校正因场景不是平面所带来的影响。在模型精度高的情况下,根据应用问题的特点,在图像拼接时可不采用搜索这一过程。对于图 8,利用场景平面垂直于光轴模型,这样不搜索而直接做图像拼接,时间为0.21s。拼接后的效果还是比较好的,在对时间要求高时,这可作为一种折衷的选择。
3 结论与讨论在森林病虫害监测系统中,要求解决由拍摄到的运动图像序列生成场景图像的问题,从而更好的对森林病虫害进行准实时监测。通过对该问题的分析,构造了上面所阐述的图像拼接系统。
文中分析了实现一个图像拼接系统的方法,并利用场景平面模型,具体实现了这个系统。最后的实验结果表明,通过上面的处理,实现的系统能够把图像序列拼接成满意的场景图像。系统中,虽然考虑的是场景平面模型,但由于引入的对应点搜索方式使得在计算得到的对应点的邻域范围内查找对应点,从而使得该系统对非平面场景也有一定的适用性。
在实现的系统中,没有对图像的整体色调进行调整,由于拍摄条件不同,相邻图像是可能色调差异较大的,如果直接用上面的方法处理,则会使生成的场景图像存在色调上的明显差异。因此,应该根据重叠区域的色调分布对图像色调进行调整,可以使用直方图方法进行处理,这里,拍摄的图片是连续时间的,数据中整体色调差别不是很大,所以不进行色调调整也可使用(贾云得,2000)。
另外,现在是把场景图像建立在第一幅图像的坐标上,在某些情况下(如第一幅图深度是倾斜的),获得的整个场景图像深度可能是明显倾斜的,使得整个地区地物特征明显的发生尺度变化,这时,应该对获得的场景图像进行调整。这就成为图像的几何校正问题(John et al., 1998),通过给出相应的变换模型,利用插值等是可以进行的,在这里没有实现这个功能。
在实现的这个系统中,对应控制点的确定(用来求取初始参数值)是采用了手工确定的方式,这将大大降低系统的效率,为了使系统更实用,必须对这一点进行改进。用颜色值相关的方法确定对应控制点是不合适的,在研究中,搜索对应点时的实验结果表明颜色值属性不算太稳定,容易造成误匹配。而在提取特征点时,则发现,在重叠区域,特征图在形态上具有较强的相似性,也比较稳定一些,因此,考虑用像素点邻域的特征图分布来确定对应点,也许是一种可行的方法,这将是今后的研究内容。
今后的另一项工作是对迭代后得到的对应点集合进行对应可靠性的自动判定,以剔除某些误对应点,从而最终实现图像拼接系统的完全自动化。
贾云得. 2000. 机器视觉. 北京: 科学出版社.
|
马颂德, 张正友. 1998. 计算机视觉. 北京: 科学出版社.
|
吴健康, 肖锦玉. 1993. 计算机视觉基本理论和方法. 合肥: 中国科学技术大学出版社.
|
管伟光. 1998. 体视化技术及其应用. 北京: 电子工业出版社.
|
John A R, Xiuping J. 1998. Remote sensing digital image analysis. springer-Verlag Berlin Heidelberg.
|
Satyan C, Seth T. 2000. Spherical mosaics with quaternions and dense correlation. International Journal of Computer Vision, 37(3): 259-273. DOI:10.1023/A:1008184124789 |