肖 怡,刘 鹏,王 瑜,张文靖,张思佳
(昆明理工大学国土资源工程学院,云南 昆明 650093)
近景摄影测量是摄影测量与遥感学科的一个分支,它通过摄影手段以确定目标(地形以外)的外形和运动状态[1]。近景摄影测量下的视场关系即空间范围较小的区域中不同焦距摄像机所代表的参考坐标系之间的旋转量和平移量,它被用来确定摄像机之间的位姿关系。由于视场较大的镜头焦距短,视场角较宽(大视场),然而精度不足,视场较小的镜头焦距长,视场角较窄(小视场),但其精度有明显提升。因此,在视频监控中结合这两种镜头对视场范围内的变化能够较为准确地识别。
现有确定视场关系的方法是建立在摄像机标定的基础上,摄像机的标定可以用来获取摄像机的外方位元素,获得两个摄像机的外方位元素后,即可得到其参考坐标系之间的旋转量与平移量,利用旋转量和平移量即可表征不同视场之间的位姿关系。摄像机的标定一般是通过建立二维图像点和三维空间点之间的对应关系来求解参数[2-11]。文献[2]提出了基于矩形两组对边的消隐点特性和隐含的长宽比信息进行自标定来获取摄像机内外方位元素。文献[3]令摄像机做一组二维的平移运动,得到标定所需的特征点,从而实现摄像机的标定。文献[4]提出了一种基于两轴转台的无公共视场相机位置关系的求解方法来获取摄像机的外方位元素。文献[5]提出了仅利用空间中常见的平行线和垂直线建立摄像机参数和特征线之间的约束方程以实现摄像机的内方位元素和旋转矩阵的标定,同时再利用空间距离已知的3个空间点来线性标定两摄像机之间的平移量。文献[6]提出了利用连接光心和消影点向量的正交性质以求取摄像机的内方位元素,并提出了一种考虑畸变的非线性最优化解法求得摄像机的外方位元素。文献[7]中推导两个相机之间固定相对关系的6个独立约束条件,并利用这些约束关系按照有限制条件的间接平差模型进行自检校光束法整体平差解算,从而实现立体相机的标定,以此得到两个视场之间的位姿关系。文献[8]利用一组局部区域的线性输入-输出模型,对摄像机的非线性映射模型进行近似以求得摄像机外方位元素,从而确定视场关系。文献[9]利用双目摄像机之间的三维位姿关系是刚体变换这一属性,标定出左、右摄像机相对位姿参数。张正友标定法[10]则是介于摄像机的传统标定法和自标定法之间,因为该方法利用了二维几何信息而不是三维或纯粹的特征信息,它是一种基于单平面棋盘格的标定方法。文献[11]提出了一种基于多个小棋盘的大视场相机标定方法。但上述方法存在试验平台要求高、计算量大、稳健性较差等缺点,且难以将结果应用到其视场范围的变换检测与识别。
本文在近景摄影测量的框架下,利用变化检测,在大视场下获取1帧原始图像P0(下同),小视场下获取m帧样本图像集合Psample={P1,P2,…,Pm}(下同)。然后将P0和Psample集合进行相对定向,获取Psample中每一帧图像被摄瞬时其参考坐标系相对于P0被摄瞬时其参考坐标系的位姿参数。将P0和Psample进行图像匹配,得到与P0匹配度最高的样本图像Pi(1≤i≤m),利用Pi表示的位姿参数实现两种不同视场关系定量表达。
本文所描述的视场关系是指在较小空间范围内大、小视场下的摄像机所在空间参考坐标系之间的位姿关系,即它们之间存在着一定的旋转量与平移量,在求取视场关系的基础上来满足对变化区域进行识别与分析的需求。
在大视场下进行变化检测之前,假设大视场下的摄像机镜头固定不动,其所在参考坐标系已知,即可以预先设定大视场下的摄像机镜头的姿态参数。这样可以使得在一个统一的坐标系中求取大、小视场所在空间参考坐标系之间的旋转量与平移量。其次,大、小视场下的镜头采用上下平行安置的方案,使得小视场下的摄像机镜头垂直于所在运动轴,即摄像机将整个水平方向180°范围内平分,这样在对小视场下的摄像机镜头进行校正时,可以缩短校正时间。同时尽量使得两个视场所拍摄的一对图像的上下视差尽可能小,以避免在立体像对相对定向过程中出现解迭代不收敛的情况。其试验设计如图1所示。
在小视场拍摄一系列样本图像作为一个Psample的过程中,C1向着某一个方向做旋转和平移运动,这个方向的确定依赖于变换区域中目标的运动方向。其方向通过变化检测判断其前景图像在相邻时刻质心的位置坐标来确定。确定变化目标质心步骤如下:在变化检测过程中获取变化目标的前景图像,遍历整个前景图像,获取颜色为白色的像素点的横纵坐标,将其分别累加,除以其数量,得到质心在图像坐标系中横纵坐标。假设变化目标p在t时刻其质心坐标为(xp(t),yp(t)),检测到的结果为m×n的二值图像p(i,j),则其计算公式为
(1)
小视场下的摄像机C1仅做旋转运动时,当有变换目标出现在其视场内,往往不能完全落入其中,如图2所示的未平移视场范围。因此需要结合摄像机的平移运动来对上述现象进行修正。当小视场下的摄像机运动到S′位置时,其视场范围能够完全包含变化目标。每次旋转量与平移量被预先设定,以顺时针旋转方向与水平向右平移为正,在小视场下C1拍摄样本图像的数量经多次试验被设置为8。样本图像数量对于图像在进行图像匹配过程中造成的影响如图3所示。
图3中,C1拍摄的样本图像集合Psample中样本图像的数量取8为较优选择。尽管选择更多的样本图像会使图像匹配的精确度变得更高,但这也会导致计算耗费的时间大大增加,为了兼顾实时效率和图像匹配度之间的矛盾,8张样本图像为一个折中选择。C1在拍摄样本图像过程中以预设的旋转量和平移量运动,平移量为1 cm,其旋转弧度为π/180。每拍摄一张样本图像,C1就更新一次所在参考坐标系中的位姿。
1.3.1 P0与Psample的相对定向
在大视场和小视场分别获取P0与样本集合Psample后,需要对P0和Psample进行相对定向,相对定向利用同名像点恢复立体像对之间的位置和姿态,从而得到Psample中每一帧图像的外方位元素[12]。该外方位元素即是摄影瞬时小视场所在的参考坐标系相对于大视场所在的参考坐标系的空间位置。在多个连续模型的处理中多采用连续法相对定向,它以左影像为基准,采用右影像的直线运动和角运动实现相对定向,其定向元素为(BY,BZ,φ2,ω,2,κ2),如图4所示。
同名像点的选取一般需要借助摄像机标定技术,但这样不能很好地满足场景任意变换的需求,且在实际操作过程中不太方便,因此本文在图像匹配的基础上,选取被匹配到的特征点作为同名像点来满足相对定向的要求。
1.3.2 大视场下的变化检测
在C0所在参考系的视场内进行变化检测,本文采用ViBe(visual background extractor)[13]算法。其思想是为每一个像素点存储一个样本集,样本集中的采样值为该像素点过去的像素值及它的邻居点像素值,然后将每一个新的像素值与样本集中的像素值进行比较,以此来判断该新的像素点是否属于背景点。记P(x)为x点处的像素值,B(x)={P1,P2,…,Pn},为x处的背景样本集,该样本集的大小为N。SR[P(x)]表示以x为中心且半径为R的区域,计算B(x)={SR[P(x)]∩B(x)}的值,若大于所给定的一阈值,即判别x点属于背景点。该模型的更新策略是随机性的,体现在模型中随机选择需要替换像素的样本,随机选择邻域像素进行更新。该方法在无法确定像素变化的模型时,随机更新策略,在一定程度上可以模拟像素变化的不确定性。同时ViBe算法具有实时性高,内存占有率较低,变化检测的准确率高等优点。在ViBe算法的基础上,本文进一步优化了其检测效果,其结果如图5所示。
图5中,图5(b)并没有消除光照和阴影的影响,而图5(c)是本文改进其算法获得的检测结果,很大程度上降低了光照和阴影的影响,使得检测的准确性进一步提高。
1.3.3P0与Psample的匹配
图像匹配实质就是建立图像特征之间的相互对应关系,找到一个变换使一幅图像中的点与另一幅图像中的对应点相关联[14]。
图像匹配的方法总体上可以分为3大类:基于模型、基于灰度及基于特征的图像匹配[15-19]。基于模型与灰度来进行图像匹配时对光照、尺度、旋转变化等情况的适应能力较差。本文从算法的稳健性与实时性出发,采用由Bay等提出的SURF[20]算法来实现原始图像和样本图像集合的匹配。SURF算法是一种能够检测图像局部特征的算法。文献[21]证明了局部的信息足以表征整幅图像。
在对P0和Psample进行立体像对相对定向的过程中,利用最小二乘原理求解,至少需要5对及以上分布较均匀的同名像点。本文利用原始帧图像来获取同名像点,而不选择前景图像,其原因在于前景图像中的特征点都在前景区域内,范围较小,分布不均匀,这会在最小二乘中造成法方程系数矩阵病态,影响相对定向的精确性。在图像匹配的过程中,利用图像的特征点来对P0和Psample进行匹配,由于P0和Psample均具有大致相同的背景,因此对特征点的选取影响较小,而真正用于匹配图像的特征点大部分是由前景变化区域产生的,利用P0和Psample所对应的前景图像进行匹配,可以大大缩短匹配时间,从而提高执行效率。
在图像匹配的过程中,检测到的较优特征点大部分来源于变化区域中的图像,利用原始图像进行匹配时,较优特征点大部分来源于前景区域,因此利用前景像片进行图像匹配,检测到的特征点依然能够大致上代表原始图像中的特征点,且其匹配准确率并没有明显的降低,试验结果如图6所示。而在匹配准确性不降低的前提下采用前景像片来进行图像匹配,其耗费时间对比结果如图7所示。
1.3.4 姿态校正
在获取与P0匹配度最高的样本图像Pi后,即得到Pi所在参考坐标系相对于P0所在参考坐标系的位姿参数,然后将小视场下的摄像机镜头C1根据得到的位姿参数进行旋转与平移。在小视场下拍摄样本图像完成后,小视场下的摄像机C1停留的位置是拍摄最后一张样本Pm所在的位置,其所在参考坐标系相对于大视场所在参考坐标系的位姿参数(BYm,BZm,φ2m,ω2m,κ2m)在相对定向的过程中已经获得,Pi所存储的位姿参数(BYi,BZi,φ2i,ω2i,κ2i)被求得,因此计算Pm与Pi位姿参数之间正交旋转矩阵即可得到小视场下最后一张被摄图像相对于目标图像之间的旋转量和平移量,然后C1按此量进行旋转与平移对准变化目标即可。
本文的试验环境为Windows 7系统,Intel Core i5四核处理器,摄像机为FINEPIX S205EXR。试验主要对在大、小视场组成的系统中可能导致出现误差的因素进行分析,以便进一步改进设计方法。
本文中选取的同名像点是在图像匹配的基础上获取的,即通过大视场下的原始图像P0与Psample样本图像集合中的每一张图像进行匹配,以此获取同名像点。但是由于在相片匹配中是提取图像的特征点来进行匹配,在特征点提取完成后,设置一定的限制条件来获取可能性较高的匹配点对,作为一对同名像点。本文所用方法与标定求出的对于同一场景的左相片(或右相片)x坐标与y坐标的对比见表1。
表1 x像素坐标对比 像素
如图8、图9所示,在表1的基础上,利用本文图像坐标与标定图像坐标作差得到图8,图8反映了本文所用算法得到的像素坐标与标定得到的像素坐标的差值约在2个像素之间,差值的绝对值如图9所示,整体上趋于一个稳定的状态。图8、图9表明了本文算法求得的同名像点的像素坐标精度较高、稳定性较好,能够满足本文试验设计环境的要求。
本文结合摄影测量与图像匹配的方法来描述范围较小区域内两种视场之间存在的位姿关系。利用ViBe算法检测出变化区域,并对其算法做了优化,本文进一步提高了变换检测的准确性。在图像匹配阶段,利用原始图像和样本图像所对应的前景图像进行匹配,大大缩短了匹配时间,提高了效率。试验表明了其可行性,今后将对变换检测与同名像点坐标获取方法做出进一步的优化,提高坐标的精确度,以此来提升大、小视场之间姿态参数的准确性。