双目测量

2024-09-16

双目测量(精选6篇)

双目测量 篇1

摘要:介绍了一种基于视觉技术的非接触式曲面测量方法, 该方法根据双目立体成像原理, 以数学形态学及计算机图形图像学为理论基础, 利用数字图像处理技术, 采用常规设备实现曲面的测量。通过对已知曲面 (圆柱表面) 进行测量以及误差分析, 得出该测量方法的精度为0.30mm, 验证了此方法的可行性。

关键词:曲面测量,双目立体成像,视觉技术,CCD

0 引言

随着对产品功能和外形的日益严格要求, 使得自由曲面零件得到了越来越广泛的应用, 从而对曲面测量方法也提出了更高的要求。目前, 曲面测量方法主要有接触式和非接触式测量方法。接触式测量方法有测量效率低、计算量大的不足, 且成本高、易受到被测物材质的影响, 在测量过程中易引起被测物变形;而以机器视觉技术为主的非接触式测量方法, 具有测量速度快、测量数据多、成本低等优点。

针对上述情况, 本方法采用双目视觉原理及图像处理技术, 结合辅助光栅点阵对曲面进行测量, 达到利用常规设备实现高速度、高精度测量的要求。

1 双目视觉测量原理

本文基于双目立体视觉, 其原理如图1所示。其中, C1 , C2表示CCD摄像机, O1, O2表示两相机透镜光心, O′1 , O′2表示两相机成像平面中心。两相机成像平面位于同一平面, 相机焦距为f, 水平距离为d, P为空间曲面上一待测点, P1, P2为该点在C1 , C2成像平面中像点位置。设x1, x2分别为两像点与光轴的水平距离, y1, y2为两像点与光轴的垂直距离, 即x1= O′1P1, x2= O′2P1, h为相机成像平面到透镜的距离, (x, y, z) 是P点空间三维坐标, 坐标原点在C1相机成像平面原点。

其中, 焦距f和两相机之间距离d是已知的, x1, x2可以由通过图像得到;h, z是未知的, 是确定待测点三维空间坐标的重要参数。根据相机成像原理, 可以求得z是关于x1, x2, d和f的函数, 即

Z=z (x1, x2, d, f)

1) 根据相机光学成像原理做以下推导:

由平行线比例定理可知:undefined, 经推导可得

undefined

2) 相机经过特殊装置, 得到的是正成像的图片, x1, x2的实际值是理论值的相反数, 即undefined代入x, y, z可得

undefined

2 测量方案设计

测量方案如图2所示。该系统由两个摄像机、光学投影仪和计算机组成。利用MATLAB编程实现辅助光栅标定点矩阵 (下文简称点阵) , 如图3所示。投影仪在计算机的控制下, 将点阵投影到被测物表面, 形成特征点;两个摄像机组成双目立体视觉传感器, 对点阵投影进行图像的采集, 从而获取物体表面的信息, 根据这些信息可以计算出被测物体的表面参数。

3 图像的预处理

CCD获取的点阵图像是真彩色图像, 不能直接提取点阵的二维坐标, 故需要预处理, 以方便对特征点坐标的处理。预处理包括灰度变换、二值化处理、腐蚀处理等。

3.1 灰度变换

灰度图像是指每个像素的信息由一个量化后的灰度级来描述的数字图像, 其目的是为了加快处理速度及效率, 灰度化方法主要有分量法、最大值法、平均值法和加权平均值法。本方法采用加权平均法, 其算法为

f (i, j) =0.11R (i, j) +0.59G (i, j) +0.3B (i, j)

3.2 二值化处理

灰度图像转换成二值图像称为图像的二值化, 其目的是为了进一步提高图像处理速度和效率。本方法采用阈值化处理, 即选择一个阈值T, 将图像转换为二值图像。图像的二值化处理的变换函数表达式为

undefined

为了最大限度地分离背景、突出点阵, 采用直方图求阈值。在直方图中, 图像中的目标和背景分别形成两个波峰。此时, 用其双峰之间的低谷处灰度值作为阈值T可对图像进行二值化处理。

3.3 腐蚀处理

在曲面测量中, 需要对每个特征点进行坐标定位, 这是通过计算每个标定点在图像中的像素位置确定的。而在实际测量中, 每个特征点都是有一些相邻的像素点组成的, 不利于确定坐标。通过腐蚀处理, 将特征点转换为单个像素点, 有利于简化计算和提高测量精度。

腐蚀是一种消除边界点, 使边界向内部收缩的过程。本文利用腐蚀来使特征点收缩, 最后形成单像素点。设二值图像为F, 其联通域为X, 结构元素为S, 当一个结构元素S的原点移到 (x, y) 处时, 将其记作Sxy。此时图像X被结构元素S的腐蚀运算可表示如下, 即

E=FΘS≡{x, y|Sxy⊆X}

其含义是, 当结构元素S的原点移动到 (x, y) 位置, 如果S完全包含在X中, 则在腐蚀后的图像上该点为1, 否则为0。

结构元素的原点坐标很重要, 本文采用的结构元素的原点在结构元素的中间, 腐蚀掉图像中目标的边界部分, 可以使标定点尽可能地小。

设原图像矩阵为

undefined

选择一个十字形的结构元素为

undefined

腐蚀后的图像矩阵为

undefined

4 二维坐标的提取

利用MATLAB编程, 对经过预处理的图像上的特征点进行定位, 得到其二维坐标值。其方法是对每一像素点进行逐行逐列扫描, 如果其灰度值为1, 则其二维坐标就等于其图像行列值, 算法为

[X, Y]=[j, i]|f (i, j) =1

MATLAB主要程序代码如下:

[m, n]=size (f) ;

k=1;

for i=1:m;

for j=1:n

if (f (i, j) >=1)

X (k) =j;

Y (k) =i;

k=k+1;

end

end

end

由此得到的是关于特征点纵、横坐标所形成的一维行矩阵X, Y。C1, C2两相机分别对点阵投影进行摄像, 得到两幅图像, 然后进行预处理, 得到两幅图像特征点的坐标矩阵X1和Y1 , X2和Y2。

5 三维坐标的计算

在由二维坐标向三维坐标转换时, 首先要对坐标系进行转换。实际图像坐标系原点在图像的左上角, 如图4 (a) (图中未标出) , 而理论上要求相机成像坐标系原点在光轴光心处, 也就是在图像的几何中心, 如图4 (b) 所示。因此, 需要对坐标进行转换, 转换为理论坐标, m, n为图像的像素行列数, 如果在图像坐标系中的像素坐标为 (i, j) , 那么在成像坐标系中的坐标就为 (j-n/2, i-m/2) , 即

(x, y) = (j-n/2, i-m/2)

6 实验验证

把被测曲面置于双目视觉测量平台上, 通过激光投影机将光栅点阵垂直投影到被测曲面, 调整左右CCD相机对光栅点阵进行图像采集。图5 (a) 是左CCD拍摄的图像;图5 (b) 是右CCD拍摄的图像, 两CCD相距80mm, 焦距为50mm;图5 (c) 是左CCD经图像处理后的图像;图5 (d) 是右CCD经图像处理后的图像;利用上述算法计算各点阵坐标, 将计算出的坐标值输入MATLAB软件进行数据处理, 拟合成曲面, 如图5 (e) 所示。

通过对试验测量数据和被测物实物数据进行比较分析, 得出该测量方法的最大测量误差为0.30mm。

7 结论

结果表明, 利用基于双CCD的视觉模拟测量系统进行高速度、高精度测量是可行的, 其主要优点:一是此系统硬件结构简单, 成本低, 易于安装和维护, 环境适应能力强;二是采用辅助点阵作为匹配单元, 对应关系明确, 匹配过程简单;三是系统所需硬件设备少, 基本采用已有设备, 降低了设计成本, 缩短了研发周期;四是为进一步提高测量精度, 应采用更高密度的辅助点阵, 采用更高分辨率的投影仪器进行标定, 采用更高分辨率的CCD进行图像采集。

参考文献

[1]单东日, 可映林, 刘云峰.反求工程中复杂曲面测量规划研究[J].中国机械工程, 2003, 14 (1) :9-12.

[2]马利庄, 石教英.曲线曲面的几何光顺算法[J].计算机学报, 1996, 19 (6) :210-216.

[3]孙兴伟, 王大勇, 王可.基于测量的螺旋曲面实体造型方法研究[J].工艺与装备, 2006 (2) :76-78.

[4]许录平.数字图像处理[M].北京:科学出版社, 2007:65-70.

[5]陆玲, 王蕾, 桂颖.数字图像处理[M].北京:中国电力出版社, 2007:85-89.

双目测量 篇2

计算机视觉技术是近几年来发展较快的信息处理技术, 随着图像处理技术的专业化、计算机硬件成本的降低和速度的提高, 计算机视觉的应用已变得越来越广泛, 其中不乏在农业中的应用。

株高是植物生长指标的重要参数, 是一个物种争夺阳光的能力的主要决定因素[1]。对于作物来讲, 株高参数是作物产量预估不可或缺的参数。

然而对于具体的利用机器视觉方法直接测量株高的研究还是比较少的, 本文就是利用HALCON软件, 采用双目计算机视觉方法来实现株高的测量。

2 双目视觉原理

双目视觉的基本原理是从两个视点观察同一景物, 获取不同视角下的两幅图像, 然后根据三角测量原理计算不同图像对应像素间的视差 (disparity) , 获取景物的三维信息, 从而实现场景三维重构。

根据两个摄像机位姿的不同, 双目视觉有多种模式, 常用的有双目横向模式, 双目横向会聚模式以及双目纵向模式 (也称双目轴向模式) 。

为了增加测量精度, 基线一般不能太小, 但基线长度也不可太长, 否则, 由于物体各部分相互遮挡, 两个摄像机可能不能同时观察到目标点。

图1是会聚双目成像中的视差原理图。图中给出两镜头连线所在平面 (XZ平面) , 两镜头中心间的距离 (即基线) 是B, 两光轴在XZ平面相交于 (0, 0, Z) 点, 交角为 (未知) 。现在来看如果已知像平面坐标点 (x1, y1) 和 (x2, y2) , 如何求取世界点W的坐标 (X, Y, Z) 。

根据相似三角形的关系可以很明显得出:

其中r为从 (任一) 镜头中心到两系统会聚点的距离 (未知) 。将式 (2.2) 和 (2.3) 联

上式把物体和像平面的距离Z与视差d直接联系起来, 若想求解式 (2.4) , 除视差d外, 还需要知道x1和x2本身。另外, 由图1可以得到:

代入式 (2.2) 或 (2.3) 可得:

现实测量中, 两相机的光轴与世界坐标Z轴的夹角不可能相等, 不过即便如此, 也只会引入几个待确定的三角函数, 而这些三角函数在相机标定时即可确定。

3 测量过程

实现该测量过程包括如下几个功能模块:图像获取、摄像机标定、特征提取、立体匹配与三维信息恢复、后处理。本实验采用是分比率为960×720的双摄像头。被测区域大小约为56cm×42cm, 所以采用的标定板应为被测区域1/3大小的HALCON专用的200mm标定板。标定数为24×2张图片。利用HALCON自带的标定助手, 可以轻松实现单目标定。

双目标定时, 需要有15张以上左右相机相同时刻拍摄的标定板的图片。再利用for循环, fi nd_caltab函数, fi nd_marks_and_pose函数以及binocular_calibration函数, 可以实现双目标定。将标定过程中, 获得的摄像机的内参以及两个摄像机相对位置关系作参数传递给函数gen_binocular_rectifi cation_map, 可以很好地实现双目视觉校正的目的, 得到两幅校正后的图像, 还能得到校正后虚拟立体视觉系统中两个摄像机的内参和外参。

不同种类的植物其株高定义不同, 测量方式也不尽相同。本文研究的株高只针对直立型的, 是指从植株根部露出土壤部分到植株最高处的株高。

先利用gen_binocular_rectifi cation_map函数为map_image函数提供控制参数, 再通过map_image函数对采集到的图像做校正处理, 利用threshold函数, fi ll_up_shape函数以及select等函数找出校正后图像中植株的最低和最高点, 利用intersect_lines_of_sight函数, 可获得植株最低点和最高点的真实三维坐标, 最后通过几何运算得到双目测量结果。

我们在图像采集时就应该考虑到, 摄像头应该稍微带一点俯拍的角度, 保证左右两幅图像上最高处均为现实坐标中的最高处。切忌俯拍角度不可太大, 否则由于拍摄角度而引起的像差会很大, 对结果将会有很大的影响。

经过以上几步骤得到的三维坐标, 常因各种原因而存在一定的误差, 需要进行误差校正。我们对已知高度的对象进行了测量, 得出结果如表1:

通过上述数据得出的修正关系如下:

其相关系数R2=0.9993

4 实验结果

我们对三种植物进行了测量得出的结果如下:

从测量结果中可以看出, 修正后相对误差控制在2%之内, 可以接受。误差引入的原因可能如下:

1、标定板的选择决定了标定精度。一定要选用高精度的标定板, 且标定板的大小应约为测量范围1/3大小。

2、相机是图像获取的根本, 高质量的图像离不开高分辨率相机, 但是高分比率, 高解析度的相机又会带来成本上的提升。本文中, 对于390.0mm左右的对象, 1个像素的误差可以带入约0.4mm的实际误差。

3、本文所采用的算法只能针对比较理想, 比较直的植株, 算法的不断优化, 才能不断减少误差, 提高精度。

5 结语

本文介绍了一种基于HALCON的, 利用双目视觉测量株高的方法。对于直立型植物, 通过对立体匹配与三维信息恢复结果的误差修正, 其株高测量相对误差不超过2%, 方法具有一定的可借鉴性。

单位/mm

参考文献

双目测量 篇3

智能车辆是一个集环境感知、规划决策、多等级辅助驾驶等功能于一体的综合系统。保障汽车驾驶的自动性、舒适性和安全性是智能车辆一直追求的目标, 而其中车辆的安全性近年来更是倍受重视。现今车辆的安全性能主要体现在安全系统、危险预警系统、防撞系统等方面。这些车载设备在计算机的控制下, 通过声音、图像等方式向驾驶员提供辅助驾驶信息, 并可自动或半自动的进行车辆控制, 从而有效地防止事故发生。为保障行车安全, 发展汽车防撞技术十分关键, 这一技术的重点即是车辆测距技术。

汽车间距测量理论和方法的研究, 是国内外智能交通领域研究的前沿和热点之一。汽车测距主要有以下4种方式:超声波测距方式、毫米波雷达测距方式、摄像系统测距方式、激光测距方式。其中, 摄像系统测距方式也即视觉测距技术, 它具有算法简单快速、鲁棒性好、性能可靠等优点。本文结合车牌定位技术, 基于双目立体视觉原理, 利用两架摄像机测量出了前方车辆与本车的距离。

1 视觉测量基本原理

首先对相对位置固定的两个摄像机进行标定, 分别计算出它们的几何模型参数, 建立起二维图像坐标与三维空间坐标的对应关系。然后, 同时拍摄包含前方车辆的一对图像, 并用基于颜色的车牌定位技术定位出两图像中的车牌, 获取两摄像机的图像坐标系中矩形车牌的左上角点的坐标。最后, 由摄像机参数和两个角点的坐标, 根据双目立体视觉的三角法测量原理计算得到高速公路上本车与前车的距离。

1.1 摄像机标定

空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系是由摄像机成像的几何参数决定的, 通过实验与计算确定摄像机的属性参数和位置参数、的过程被称为摄像机标定。

其中, f是有效焦距, k×l是摄像机的图像坐标中像素的大小, (u0, v0) 是光学中心, θ是摄像机坐标系的偏斜角。是旋转矩阵, t3×1= (t1, t2, t3) T是平移向量。世界坐标系到摄像机的图像坐标系的线性变换关系为:

其中, 为图像点的齐次坐标, 为三维空间点的齐次次坐标, λ为比例系数。这样就得到一个图像点和空间点之间的一个映射关系。令H=A (R, t) , 则H被称为透视投影矩阵。

1.2 双目立体视觉

双目立体视觉系统直接模拟了人类双眼处理景物的方式, 具有尺寸小、质量轻、功耗小、效率高、成本低、动态范围大以及光计量准确等优良特性。双目立体视觉是基于视差, 由三角法原理进行三维信息获取, 即由两个摄像机的图像平面和被测物之间构成的一个三角, 若已知两摄像机自己的位置关系, 便可以获取两摄像机公共视场内物体的三维尺寸及空间物体特征点的三维信息。图1所示为双目立体视觉系统示意图。

OW-XWYWZW是某一世界坐标系, OL-XLYLZL、OR-XRYRZR是左、右摄像机坐标系, O1-X1Y1、O2-X2Y2是左、右图像坐标系, 设空间中一点P在世界坐标系的坐标为 (X, Y, Z) , 在左、右图像坐标系中的坐标分别为 (x1, y1) 、 (x2, y2) , 设两摄像机的透视投影矩阵分别为H1、H2, k1、k2是比例系数, 则有:

由 (3) 式消去k1可得:

同理可得:

联立 (5) 、 (6) 、 (7) 、 (8) 就得到关于、、三个变量的四个方程, 理论上这四个方程的某两个方程一定是线性相关的。但由于计算中的误差, 以及图像的噪声等因素使得这种线性相关的情况几乎不可能发生, 所以这里可以求出、、的最小二乘意义上的解。从几何关系角度讲, 式 (5) 和式 (6) 都是平面方程, 两个平面方程联立确定了空间中的一条直线, 式 (7) 和式 (8) 也同样确定了空间中的一条直线。由于一些外界因素使得两条直线不相交, 而是成为异面直线, 所以求得的最小二乘意义上的解就是两条异面直线间的最短距离所在线段的中点。

1.3 车牌定位

牌照定位历来是智能交通系统的难点。目前车牌定位的方法多种多样, 各有所长, 归结起来主要有基于边缘检测分割方法、基于纹理的分割方法、基于颜色的分割方法、基于神经网络分割方法、投影法等。本文采用基于颜色的分割方法, 它对车牌的大小、汽车在图像中的位置以及图像背景的限制较少。我国汽车牌照有多种, 下面以最为常见的小型汽车号牌为例来说明车牌定位的算法流程。根据中华人民共和国机动车号牌GA36-2007标准的相关规定, 小型汽车号牌的特点如下:底色为蓝色, 字符为白色, 框线为白色, 形状为矩形, 尺寸是一样的, 都为440mm×140mm (宽和高比例约为3.14:1) 。

(1) 将RGB颜色模型的图像转化为HSV颜色模型。

一般彩色图像常用的RGB三原色模型中两点间的欧氏距离与颜色距离呈非线性关系, 不便于进行图像的彩色分割。换句话说就是颜色受亮度的影响很大, RGB颜色空间不具有进行彩色图像处理所要求的独立性和均匀性指标。为更好地进行彩色牌照的分割, 本文采用了HSV颜色空间。HSV颜色模型 (Hue色度, Saturation饱和度, Value明度) , 可以独立感知各颜色分量的变化。两种颜色模型各分量的转换关系可参考文献[6]。图2、图3是车牌定位的一个实例, 图2是采集到的RGB图像, 图3是转换后的HSV图像。

(2) 进行颜色分割。

从HSV图像中滤除与标准车牌底色不同的像素, 尽可能只保留与车牌底色颜色近似的像素, 为设定颜色分割的阈值, 需要对车牌颜色进行区间采样估计, 即采集不同地方、不同环境下的各种车牌, 对同一种颜色的车牌, 分别计算H、S分量的均值和方差, 以确定车牌蓝色对应的值。图4是把蓝色区域设为前景白色, 其余区域设为黑色后的处理结果。

(3) 图像滤波。

数学形态学也称图像代数。是以形态为基础对图像进行分析的数学工具, 它的基本思想是用具有一定形态的结构元素去度量和提取图像中的对应形状以达到对图像分析和识别的目的。其基本运算有腐蚀、膨胀、开启和闭合。其中开启运算具有滤去细小噪声的功能, 因此, 对二值图像作开启运算, 滤去图4中车牌区域细长的字符和较小的斑点, 生成连通区域图像, 如图5。

(4) 车牌区域截取。

就是在采集到的原始RGB图像中切割出车牌区域。在图像采集过程中, 由于拍摄的角度、图像采集方法及标准的影响, 车牌在图像内有可能为平行四边形, 宽和高的比例也不是固定的, 而是在一定的范围内波动。逐个扫描滤波后图像中的连通域, 设其外接矩形的宽度、高度分别为width、height, 取matching=3.14*height/width作为连通域匹配度, 越接近1, 则所对应的连通域越有可能是车牌子图像。根据上述车牌特性提取连通域对应的图像区域, 即为车牌。图6为车牌区域截取结果。

2 车距测量实验

本文选用两个canon IXUS 960 ISO数码相机, 以横向平行的方式固定在支架上, 基线取50cm, 取左摄像机坐标系为世界坐标系, 建立基本的测量模型。采集的图像尺寸为640*480pix, 如图7、图8是实验中的一对图像。按照图9所示的算法流程进行测量, 计算出所求的距离。

OpenCV (Open Source Computer Vision Library) 是一个免费的开源图像算法库, 通过调用该算法库, 研究者们可以在前人已完成的成熟算法基础上迅速的开展自己的工作。作为一个基本的计算机视觉、图像处理和模式识别的开源项目, OpenCV可直接应用于很多领域, 作为二次开发的理想工具。因此, 在Microsoft VC++环境下, 调用OpenCV库函数完成该实验。表1是部分测量结果。

实验结果表明, 当距离小于20米时, 测量误差能控制在5%以内, 能够比较准确地测量出与前方车辆的距离。测量误差主要与摄像机的精度、基线的长度和车牌定位的准确度等有关。

3 结束语

本文的测量方法只计算一对匹配点, 具有计算量小, 速度快等优点。测量误差能够满足一般的工程需求。车距测量的成功率有赖于能否成功定位车牌, 本文的车牌定位算法对大部分车牌都能成功定位, 但对车身与车牌颜色相近的情况则难以定位出车牌。

摘要:用两架相对位置固定的摄像机同时拍摄前方车辆的两幅图像, 再用基于颜色的车牌定位技术定位出两图像中的车牌, 取两矩形车牌的左上角点为一对匹配点, 根据双目立体视觉原理, 计算出与前车的距离。整个实验过程调用OpenCV库函数设计和实现, 实验结果表明了该方法的有效性。

关键词:车牌定位,双目立体视觉,摄像机标定,车距

参考文献

[1]周勇.智能车辆中的几个关键技术研究[D].上海:上海交通大学, 2007.

[2]刘茜.基于MATLAB的单目视觉车辆测距技术研究[D].西安:长安大学, 2008.

[3]钟勇, 姚剑峰.现代汽车的四种测距方式[J].汽车工业研究, 2001 (2) .

[4]陈胜勇, 刘盛, 等.基于OpenCV的计算机视觉实现[M].北京:科学出版社, 2008.

[5]李刚, 黄席樾, 刘政, 等.基于字符边缘颜色多分量信息的车牌定位方法[J].计算机工程, 2009 (18) .

[6]王夏黎, 周明全, 耿国华.一种基于HSV颜色空间的车辆牌照提取方法[J].计算机工程, 2004 (17) .

[7]陈贤青.基于计算机视觉的车牌定位研究[D].天津:天津大学, 2007.

双目测量 篇4

相位测量轮廓术 (phase measuring profilometry, PMP) 是一种采用结构光照明的非接触式三维面形测量方法, 其基本原理是通过有一定相位差的多幅光栅条纹图像计算图像中每个像素的相位值, 然后根据相位值计算物体的高度信息[1,2,3], 它是目前世界上最为先进的结构光三维视觉测量技术之一, 在工业自动化检测、产品质量控制、逆向工程等领域应用广泛。

匹配是立体视觉中的关键环节, 在传统的立体视觉系统中, 按匹配基元来分立体匹配方法主要有三类:基于特征的匹配、基于区域的匹配和基于变换域的匹配[4,5,6]。特征匹配对于图像畸变、噪声、遮挡等具有一定的鲁棒性, 但匹配性能在很大程度上取决于特征提取的质量, 且匹配精度不高;区域匹配能够获得较高的定位精度, 但计算量大, 且一旦进入信息贫乏区, 会导致误匹配率的上升;变换域匹配用的较多的是相位相关技术, 它将空间域转化为时间域, 但是同样存在邻域奇异性。与传统的立体视觉相比, PMP视觉测量以相位为基元进行匹配, 而且, 目前大多使用的是基于极线约束和空间点最小距离搜索的方法[7,8,9], 这些立体匹配方法是一种二维匹配方法, 匹配速度有待进一步提高, 而且当被测物体深度变化较大或物体表面形状比较复杂时, 常出现误匹配。为此, 本文从提高PMP视觉测量的匹配速度和减小误匹配率的角度出发, 在对图像进行立体校正的基础上将二维匹配降为一维匹配, 然后通过分析PMP视觉测量中被测目标不同区域的特点, 提出一种基于区域分割和视差修正的立体匹配方法。

1 相位计算与立体校正

在PMP视觉测量中, 相位计算使每个像素点有唯一对应的相位值, 它包括主值相位求解和相位展开两部分;立体校正是将两幅图像中对应的基线校正为水平对齐, 从而使匹配过程从二维降到一维, 降低匹配的难度。

1.1 四步相移法与多频外差

相位主值包含被测物体表面三维信息, 是通过采集多帧有一定相移的条纹光栅图像来计算的[10], 目前针对PMP视觉测量系统的相位计算方法很多[11], 标准N步相移法对系统的随机噪声具有最佳的抑制作用, 且对N-1次以下谐波误差不敏感[12], 在结构光视觉测量中使用最广泛。本文选择标准四步相移法, 四幅光栅图像的初始相位分别为0, π/2, π和3π/2, 其光强表达式为

式中, I″ (x, y) 、I′ (x, y) 分别为图像的平均灰度和灰度调制; (x, y) 为光栅图像的相位主值。

将Ii (x, y) 简写成Ii, 则根据式 (1) 可计算出光栅图像的相位主值:

然而, 经过式 (2) 计算得到的相位主值位于[0, 2π]之间, 这就意味着同一个相位主值在整个测量空间的对应点不唯一, 所以, 必须进行相位展开得到连续的绝对相位值Φ (x, y) [13]。

目前已有非常多的相位展开方法[11], 本文采用稳定性高和精度较好的多频外差法, 其基本原理是将两种不同频率的相位函数1 (x) 和ф2 (x) 叠加, 得到一种频率更低的相位函数Φ (x) [11,13], 若λ1、λ2、λb表示相位函数ф1 (x) 、ф2 (x) 和Φ (x) 对应的频率, 则存在如下关系[11,13]:

由式 (3) 可知, 当合理选择λ1和λ2时可以使λb=1, 从而使图像在全场范围内进行无歧义的相位展开, 如图1所示。在全场范围内, tanα1、tanαb的比值等于投影图像的周期数比 (设为R1, 是个常量) , 则展开后的绝对相位值为

式中, Φ (x) 为外差后的相位;int () 为取整函数。

1.2 基于OpenCV的立体校正

所谓立体校正[14,15], 也叫图像校正或极线校正, 是为了使左右摄像机的图像进行行对齐, 从而将匹配点的搜索过程从二维降到一维的校正方法。

作为当今世界最流行的开源计算机视觉库之一, OpenCV提供了两种极线校正方法:非标定立体校正和标定立体校正。文献[14]对这两种校正方法做了详细讲解。本文采用的是基于OpenCV的标定立体校正方法, 即简单地使两图像中的每一幅重投影次数最小化 (从而也使重投影畸变最小化) , 同时使观测面积最大化, 这种立体校正算法对应的三个重要的函数分别是cvStereoRectify () 、cvInitUndistortRectifymap () 和cvRemap () , 前两个函数用于得到原始图像和校正图像之间的映射表, 该映射表应用于第三个函数中, 通过插值的方法即可得到校正后的图像。

2 视场分析与区域分割

2.1 视场分析

相位是PMP视觉测量区别于其他立体视觉最主要的信息, 然而, 在实际视觉测量过程中, 由于受被测物体的形状以及投影仪和相机相对于被测物体位姿等的影响, 视场中并不是每个地方都有足够理想的相位信息, 即便是有理想相位信息的区域, 它们在左右两幅图像中的表现形式也可能不一样, 为了更好地了解图像中不同区域的特点, 有必要先对整个视场进行分析。

图2是对相机视场内的场景进行的分析, 其中, 投影仪是用来投影数字光栅的。结合该图可将相机视场定义为如下几个部分:①重叠区, A区域所示, 左右相机视场的公共区域, 通常被测物体位于该区域;②非重叠区, A1和A2区域所示, 单独位于左相机或右相机的视场;③正常区域, 位于重叠区, 光栅条纹可到达, 且两个相机都能看到, 如图中的BC段和HI段;④半盲区, 也叫遮挡区, 只有一个相机能看到的区域, 如图中的CDE段和FGH段;⑤阴影区域, 隶属于半盲区, 无光栅条纹, 如图中的DE段和FG段;⑥可修复半盲区, 隶属于半盲区, 背景和物体中都可能存在, 由于其含有相位信息, 有希望通过后期处理进行修复, 如图中的CD段和GH段。

结合以上分析, 对相机视场进行如图3所示的划分, 当然, 这种划分方法只是基于视场组成结构或相位分布进行的, 故存在一定的局限性, 严格意义上讲, 背景也可能包括半盲区或阴影, 非重叠区域也属于半盲区, 但在这里为了便于理解姑且把它们当成不同的区域。

2.2 基于混合阈值的区域分割

相机视场由不同的区域组成, 在具体的视觉测量中, 人们关心的是被测物体所处的区域, 所以, 在立体匹配过程中要对区域进行有效分割, 从而提高立体匹配的效率和准确度。

基于混合阈值的区域分割是指综合利用各区域的相位信息和视差约束对各区域进行有利于立体匹配的分割。分割的过程主要遵循以下三个原则:第一, 分割出不满足相位横向单调不减性的区域, 多频外差后相位整体上呈横向单调不减趋势, 不满足该趋势的点相当于噪声点;第二, 标记出无法正确匹配但有可能修复的区域, 以便后期通过视差修正进行修复;第三, 去除无需重建的区域, 提高立体匹配和三维重建的效率。

2.2.1 分割阴影区

阴影区域没有相位信息, 破坏了相位图整体的单调不减性。图4所示为对拍摄的太阳神图像相位展开的结果, 其中, 图4a是相机拍摄的原始图像, 图4b是展开后的相位图, 可以看出, 阴影区域对应的“相位值”相对于其他区域明显异常, 这些点自身无法正确匹配, 且影响其他点的匹配。

对于阴影区的分割, 主要利用其相位不满足单调不减性的特点。如图5所示, 像素点 (i0, j0) 为待判定像素, 在其左右分别取相邻两个像素, 它们的相位值记为p (i, j) , 那么, 当与 (i0, j0) 相关的任意三个相邻像素间都不满足相位局部单调不减性时该像素为阴影区。由此可建立如下判定准则:

其中, tp是光栅图像相邻像素的相位差。若p (i, j) 满足上述条件, 则像素点 (i, j) 不属于阴影区, 否则该点属于阴影区, 对应的相位值标记为0, 由此得到的黑色区域即为分割出的阴影区域。

2.2.2 可修复半盲区的标记

由相机视场分析可知, 背景中可能包含半盲区, 且非重叠区域也属于半盲区, 故可修复半盲区的标记是一个相对复杂的过程, 隐含了三个方面的内容:半盲区的分离、背景的去除和非重叠区的去除。

以相位为基元采用二分法进行匹配点搜索时, 考虑到相位的单调不减性, 图4a上的点锁定在图4b相邻两个像素点之间, 若能正确匹配, 则它们的相位相似性较高。而对于半盲区, 如图2中的CDE区域, 在右相机图像中对应点发生突变, 故相位相似性较低。相位相似性是可用相位阈值度量的, 如, 对于一幅周期已知的数字光栅, 其相邻像素的相位差为Δp, 则考虑到分辨率的影响, 可设置相位阈值:

式中, k为投影仪与相机的分辨率之比。

通常背景和物体相对于相机的光心而言位于不同的高度平面 (Z向) 上, 图6为背景和物体之间空间接近性的示意图。其中, 被测物体的高度值Z (即相对于基线的距离) 在[Zmin, Zmax]之间, 而背景的高度值则大于Zmax。由文献[14]可知:

式中, T、f、d分别为基线长、相机焦距和视差值。

为此, 可设置视差阈值:

当匹配得到的视差值小于阈值时, 该点即位于背景中。

由于相位整体上呈横向单调不减趋势, 非重叠区域的相位值大于右图像的最大相位值 (非重叠区在右边) 或小于右图像最小相位值 (非重叠区在左边) , 故其匹配点会被错误地定位于边缘处, 这种误匹配使待匹配点与被锁定像素点之间的相位差较大, 可以在运用相位阈值Tp的同时, 综合利用匹配点阈值T′d以去除非重叠区域:

其中, Jmax指相机图像的横向宽度, 当非重叠区在右侧时, 理论上误匹配点一定位于最右边, 而考虑到噪声的影响和匹配的速度, 可适当放宽阈值, 实验证明取T′d≈0.8Jmax时可较好地保证测量结果, 同理, 当非重叠区在左侧时, 可取T′d≈0.2Jmax。

基于上述分析建立的分割算法步骤如下:

(1) 二分法查找与待匹配点xl相对应的锁定点xr、xr+1, 其中, xl、xr为左右图像中对应匹配点的横向图像坐标;

(2) 判断相位相似性:若满足0≤phasephasel≤Tp且0≤phasel+1-phasel≤Tp, 则转到步骤 (3) , 其中phase、phasel、phaser为左图像中待匹配像素点的相位值和左右图像中被锁定的相邻像素点的相位值, 否则转到步骤 (4) ;

(3) 计算视差:

若d≤Td, 通过线性插值完成匹配;否则, 将待匹配点标记为背景, 转到步骤 (5) ;

(4) 进一步判断待匹配点处在哪个区域 (以非重叠区在右侧为例) , 若满足d>Td或x>T′d, 则该区域为非重叠区, 不可修复, 可标记为背景;若不满足该条件, 则标记为可修复半盲区, 转向步骤 (5) ;

(5) 更新像素坐标, 转向步骤 (1) 开始对新点进行区域判断。

3 视差求解与修正

立体匹配是为了得到视差图并最终实现三维重建。视差图的求解分为两步进行:①求解正确匹配区域的视差。该步骤的关键在于正确匹配点的判定, 由于在区域分割的步骤 (3) 中已同步进行, 故不再赘述。②视差修正。对于可修复半盲区, 虽然无法一次性正确匹配, 但可以利用相位信息间接地得到正确视差。图7为视差修正原理图。图中, P1、P2、P3、P是物点, 它们是同一个光平面与被测物体的交点, 即它们对应于数字光栅中的同一列, 而p1、p2、p3、p是图像平面上的像点, 它们对应的相位是相等的, 假设P点属于可修复半盲区, 而P1、P2、P3是正常区域的点, 可由P1、P2、P3构建一个平面, 并由p点和相机中心O点构建一条直线, 该平面和直线的交点即为P点, 再由式 (5) 即可求出P点的视差值。该算法包括如下几个步骤:

1.投影仪2.相机3.被测物体

(1) 运用自适应窗口在视差待修正像素点p附近寻找与之相位值近似相等且已经求得正确视差的点p1, p2, …, pn, 其中n≥3, 理论上讲, n越大, 构建的平面越精确, 但同时也会增加算法的时间复杂度, 所以n的取值应结合实际测量任务来选择, 当测量精度要求高时, n不宜取太小, 而对于测量精度要求不高的场合, 在满足需要的前提下n可以尽量取小一点;

(2) 求解p1, p2, …, pn对应物点P1, P2, …, Pn的三维坐标;

(3) 对P1, P2, …, Pn进行最小二乘拟合得到平面L, 由像素点p和左相机中心O构建直线;

(4) 求解平面L和直线的交点P的三维坐标, 并通过式 (5) 求得P点的正确视差, 对P点的视差值进行更新并进行下一像素点的视差校正;

上述第一步和第二步不仅可较快地得到有效视差图, 而且二者的结合也构成了PMP视觉测量系统中的立体匹配过程。图8为两者相结合形成的立体匹配流程图, 其中, i、j分别为图像横纵坐标, rows和cols为图像的行数和列数。

4 实验

为验证立体匹配方法的效果, 在课题组自主开发的结构光视觉测量系统SLM (structure light measurement) 中进行了相关实验, 实验中匹配过程以左相机为基准, 使用到的标定参数如图9所示。

4.1 相位计算实验

图10所示为以一种夹具为对象进行相位计算的实验, 图10a和图10b是原始左右图像, 图10c和图10d是对应相位图第300行的相位曲线图。由图可见, 除部分阴影区和半盲区外, 展开后相位整体上呈单调不减趋势, 各点相位相对唯一。

4.2 立体校正实验

如图11所示, 以棋盘标定板为基准进行基于OpenCV的立体校正实验, 图11a和图11b是校正前左右相机图像, 图11c和图11d则是校正后的图像, 实验结果显示, 校正前原始左右图像明显没有对齐, 而校正后的图像则实现了行对齐。

4.3 区域分割实验

以太阳神头像进行区域分割实验, 为了不影响源图像, 对于分割区域采用独立的图片保存。图12所示是实验结果, 其中图12a和12b为拍摄的左右图像, 图12c和12d中的黑色部分为阴影区和可修复半盲区。

图12c中除了明显的阴影区被标记出之外, 轮廓部分和背景中的部分区域也被标记, 其中, 轮廓被标记是因为实际测量时物理光线很难保证边缘处刚好对应图像单个像素, 从而导致相位求解错误, 这一点从图4中也能得到反映, 背景中的部分区域被标记则是因为人头像背后的不平整绒布使背景中存在阴影区, 实验结果证明了基于区域分割的有效性。

4.4 视差修正与三维重建实验

在区域分割的基础上, 设计了对比实验, 实验中取拟合点个数n=6, 如图13所示为实验结果, 其中, 图13a和图13b为视差修正前的视差图和三维重建结果, 图13c和图13d为视差修正后的视差图和三维重建结果。对比可知, 经过视差校正后的视差图和三维重建结果更完整, 特别是人头像鼻子、眼睛等处的半盲区, 其附近有效信息充足, 得到了很好的修复。

4.5 三维重建误差分析实验

为进一步验证本文立体匹配算法的可行性, 以太阳神脸部重构的模型为基础, 运用本课题组提出的ADF拼合算法[16]对被测点云与CAD参考模型的离散点云进行误差比对。图14所示为被测点云在Geomagic软件中进行一次封装后的效果。实验结果显示, 重建物体表面非常光滑, 与CAD模型之间的平均误差可达0.0297mm, 重建精度较高。

5 结论

(1) 相位计算使相位图呈横向单调不减趋势, 采用立体校正对其进行行对齐, 使匹配从二维降为一维。

(2) PMP视觉测量系统中相机视场各区域具有不同的特点, 基于混合阈值的区域分割原则和实现方法能有效地分离影响立体匹配的阴影区, 去除背景并标记出可恢复半盲区, 降低了误匹配的可能性。

(3) 基于线面求交的视差修正算法能对附近有效信息充足的可修复半盲区进行有效修复。

(4) 基于区域分割方法和视差修正算法建立的立体匹配方法应用于双目PMP视觉测量系统, 能得到正确光滑的重建效果, 且重建精度较高。

双目测量 篇5

双目立体测量系统[1]是一种模拟人类双眼处理景物数据的测量系统, 它利用两台位置相对固定的摄像机, 从不同视角同时获取同一景物的两幅图像, 以此来计算获取图像重叠处的深度图数据。从多个不同视角下得到的多视图所在的坐标系不同, 因此必须对这些多视图进行配准, 将其变换到同一坐标系下, 以得到物体整个表面的三维数据。深度图配准技术主要分为如下两类:①第一类是通过一些辅助硬件设备来完成, 如利用旋转台[2]可以自动获取物体与测量设备之间的相对位置变换关系, 这类方法一般有较高精度, 但会使测量系统结构变得复杂且增加系统成本。②第二类是采用软件算法来实现, 主要方法有特征配准[3,4,5]和标记点配准[6,7]。特征配准对被测物体具有较丰富的表面特征时十分有效, 但不能处理平坦光滑特别是旋转对称的物体表面;标记点配准采用在测量物体表面上或者与物体位置固定不变的工作台上粘贴易于识别和提取的辅助标记点, 这种方法不受被测物体形状限制, 且辅助标记点具有易于制作、成本低、操作方便等优点。

文献[6,7]根据相同标记点在不同视角下保持相对位置关系不变的性质, 对两次测量的标记点进行搜索得到相匹配的点对, 利用奇异值分解 (SVD) 方法[8]计算对应的变换矩阵, 但只给出了适用于两组标记点集之间的配准方法。

在实际测量过程中需要对多次测量结果进行递增式配准, 这可通过对上文提到的两两配准方法[3,4,5,6,7]进行扩展来实现。为使配准误差在各重叠视图之间均匀分散并最小化, 最后需要对多视图进行全局配准。Bergevin等[9]根据给定的初步配准结果, 得到每幅视图与其他所有视图之间的对应点关系, 然后从中选出一副中心视图, 对其他各视图之间用迭代最近点 (ICP) 算法进行重新配准并计算其相对于中心视图的变换矩阵, 最后同时对所有的视图进行相应坐标变换, 通过反复迭代实现全局配准优化。Benjemaa等[10]对Bergevin等[9]的算法进行了改进, 在得到每幅视图的变换矩阵时, 立即对该视图进行坐标变换, 然后再对下一幅视图位置进行优化, 有效地减少了迭代的次数, 但增加了对应点关系的搜索时间。为克服这个缺点, 文献[11,12]分别利用四元素和SVD方法对全局配准过程进行公式化处理。

本文在基于标记点的配准方法基础上, 进一步提出递增式配准算法与全局优化配准算法, 并对基于SVD的全局配准算法[12]进行了改进, 算法对重建误差较大的少数匹配点对采取自动加权处理, 有效地降低了全局配准误差, 并在某些情形下可使全局配准的迭代过程简化。

1 初配准

在本文测量系统中, 设计一种圆形的标记点, 它内部包含一个小的白色圆, 其余部分为黑色。标记点可随机分布于物体的待测表面 (图1a) , 通常要求单次有效测量范围内至少分布4~6个标记点。测量过程中, 在得到不同视图密集点云坐标的同时可获得标记点白色内圆的中心点所在的三维坐标 (作为标记点坐标) , 利用标记点与视图相对位置的不变性, 通过各视图中标记点的配准就可实现各视图的配准。

本文在初配准时采用递增式配准算法, 其基本思想是, 逐次将新增加的标记点集合与已配准的标记点集合相配准, 然后将所有标记点合并成新的集合再进行下一次配准。设第k次测量得到了Nk个标记点, 构成标记点集合:

Vk={ (n (i) k, x (i) k) |n (i) k∈N, x (i) k∈R3, i=1, 2, …, Nk}

其中, n (i) k表示标记点x (i) k的序号 (待定) , x (i) k表示该标记点的三维坐标。合并前k-1次标记点集合后的集合记为

V={ (n (i) , x (i) ) |n (i) ∈N, x (i) ∈R3, i=1, 2, …, N}

式中, N为标记点个数。

Vi, j表示集合ViVj之间所有匹配点对组成的集合。下面的算法描述了第k次测量结果与前k-1次测量结果之间的配准过程:

(1) 当k=1时, 对V1中标记点序号按自然顺序从1到N1进行赋值, 并令V=V1, N=N1;当k>1时, 转 (2) 。

(2) 搜索VkV两个集合中相匹配的标记点 (搜索算法见文献[6]) , 将匹配点构成新集合, 分别记为Vkoverlap={ (n (i) k, x (i) k) |i∈{s1, s2, …, sOk}⊆{1, 2, …, Nk}}⊆VkVoverlap={ (n (i) , x (i) ) |i∈{t1, t2, …, tOk}⊆{1, 2, …, n}}⊆V, 其中x (sj) kx (tj) (1≤jOk) 为匹配点对, Ok为匹配点对的组数, 若Ok≥3, 则转 (3) ;否则终止算法, 需要重新进行第k次测量。

(3) 计算VkoverlapVoverlap之间的刚性变换得到的旋转矩阵R和平移向量t (配准算法见文献[8]) , 利用坐标变换 (R, t) , 对第k次测量得到的视图以及VkVkoverlap中标记点进行坐标变换。

(4) 令Vkoverlap中每个标记点的序号n (sj) k=n (tj) (1≤jOk) , 对于Vk-Vkoverlap中标记点的序号, 按自然顺序从N+1进行编号。

(5) 将VkVl (l=1, 2, …, k-1) 中满足n (i) k=n (j) l的标记点坐标x (i) kx (j) l组成匹配点对 (x (i) k, x (j) l) 添加到Vk, l中。

(6) 更新VV+ (Vk-Vkoverlap) , NN+ (Nk-Ok) 。

在测量过程中, 每获得一幅新的深度图, 就可用上述算法将其配准到已有坐标系中。这种实时初配准能有效地显示已测数据, 为用户选择下一步测量视角提供依据。上述算法还建立了任意两次测量标记点集之间的匹配点对集合 (如VkVl之间的匹配点对集合Vk, l) , 这为后续的全局配准提供了必要条件。图1b所示为两幅视图配准结果, 图1c所示为全部视图配准后的结果。

2 全局配准

在实际测量过程中, 由于同一标记点在不同视角下所得图像的椭圆中心的提取存在误差, 再加上相机的标定误差, 必然将导致标记点空间位置存在重建误差, 造成配准后匹配标记点之间出现误差, 对多次测量结果采用递增式配准会产生较大的累积误差, 解决这个问题需要进一步进行全局配准优化。本文借鉴并改进文献[12]的SVD方法进行全局配准。

2.1 问题描述

为叙述方便, 这里借用文献[13]中的一些符号和公式。设与Vk对应的坐标变换为 (Rk, tk) (k=1, 2, …, M) ;记R=[R1R2 … RM], Γ=[t1t2 … tM];用 (yi (l) , yj (l) ) 表示匹配点对集合Vi, j中的元素, l=1, 2, …, Ni, j, Ni, jVi, j中匹配点对的组数, 若Vi, j=∅, 规定Ni, j=0。

全局配准误差函数可表示为

Φ (R, Γ) =i=1Μ-1j=i+1Μl=1Νi, jωi, j (l) (Riyi (l) +ti) - (Rjyj (l) +tj) 2 (1)

式中, ω (l) i, j为匹配点对 (y (l) i, y (l) j) 对应的权重, ω (l) i, j∈{0, 1}。

则全局配准优化问题变为计算 (R, Γ) 的问题, 使得

Φ (R, Γ) →min (2)

引入下列记号:⨂为Kronecker积;eiM阶单位矩阵IM的第i列向量, 记ei, j=ei-ej, a (l) i, j= (eiI3) y (l) i- (ejI3) y (l) j。由这些记号可得:Ri=R (eiI3) , ti=Γei, ti-tj=Γei, j, Riy (l) i-Rjy (l) j=Ra (l) i, j。记

A=i=1Μ-1j=i+1Μl=1Νi, jωi, j (l) ai, j (l) (ai, j (l) ) ΤB=i=1Μ-1j=i+1Μl=1Νi, jωi, j (l) ai, j (l) ei, jΤC=i=1Μ-1j=i+1Μl=1Νi, jωi, j (l) ei, jei, jΤ

[ABBΤC]=i=1Μ-1j=i+1Μl=1Νi, jωij (l) [ai, j (l) ei, j][ (ai, j (l) ) Τei, jΤ] (3)

利用式 (3) 以及矩阵的迹的性质将式 (1) 右端简化为

Φ (R, Γ) =tr (RART+2RBΓT+ΓCΓT) (4)

根据式 (4) , 将优化问题Φ (R, Γ) →min分成三步进行:

(1) 固定R不变, 计算Γ使得Φ (R, Γ) →min, 得到与给定R相关的平移矩阵Γmin=-RBC#, 其中C#为C的Moore-Penrose伪逆。

(2) 将Γmin=-RBC#代入式 (4) , 并令Q=A-BC#BT, 计算R, 使得

Φ (R, Γmin) =tr (RQRT) →min (5)

对优化问题式 (5) , 采用逐个更新的方法进行迭代优化, 在每一次迭代过程中, 先将除Rj以外的其他旋转矩阵固定, 利用SVD方法计算Rj得到R^j, 并将式 (5) 中的Rj更新为R^j, 再利用同样方法分别对其他旋转矩阵进行优化, 直至对所有旋转矩阵都进行一次优化更新。经过若干次迭代后R将收敛到最优解R^=[R^1R^2R^Μ]

(3) 根据Γmin=-RBC#计算出最优平移矩阵Γ^=[t^1t^2t^Μ]=-R[CX]^BC#。

经过递增式初配准后, 匹配标记点对已经很好地贴合在一起, 从而可以将初配准后的多视图位置作为全局配准迭代的初始位置, 即在上述步骤 (2) 中, 设所有初始旋转矩阵均为单位矩阵。

2.2 权值更新

在全局匹配过程中, 会存在一些误差比较大的标记点匹配对, 这会对全局配准结果产生较大的影响。本文利用权值ω (l) i, j对这些误差较大的标记点进行约束, 从而有效减小全局配准误差。权值ω (l) i, j的更新需要进行两次全局配准, 具体如下:

在第一次全局配准时, 令式 (1) 中所有的ω (k) i, j≡1, 利用2.1节的优化步骤计算出最优解R^Γ^代入式 (1) 计算Φ (R^, Γ^) 和全局平均配准误差E=Φ (R[CX]^, Γ^) /i=1Μ-1j=i+1Μl=1Νi, jωi, j (l) , 计算

νi, j (l) = (Riyi (l) +ti) - (Rjyj (l) +tj) 2-EE

则在第二次全局配准时, 权值的更新规则为

ωi, j (l) ={0νi, j (l) τ1νi, j (l) τ

式中, τ为设定的阈值, 本文设为1。

2.3 迭代顺序规划

第1章的初配准算法记录了任意两次测量标记点集之间的匹配点对集合, 如果匹配点对集合为空, 则说明该两次测量标记点集之间不能直接匹配;反之, 则可直接匹配。视图间的匹配关系可用图2所示的结构图来表示, 其中圆圈节点表示各视图, 连线表示两视图间有匹配标记点对。配准拓扑关系结构可以分为线型、星型、环状和网状四种情形, 分别对应实际测量中的某种测量方式。线型结构对应典型的直板工件的测量方式;星型结构对应先固定一个中心参考坐标系, 然后向四周延伸的测量方式;环状结构对应于利用旋转台的测量;而大多数更一般的测量方式为图2d所示的网状结构。

文献[10,11]没有具体考虑配准拓扑结构, 并均指出旋转矩阵的迭代顺序可以是随机的, 也即收敛结果与迭代顺序无关。但需要指出的是, 不同的迭代顺序会影响迭代收敛的次数。通过分析不难看出, 当某两幅视图间只有唯一的路径相连时, 可以对迭代过程进行规划, 以减少迭代次数。不妨设第一组深度图为{V1, V2, …, Vd}, 第二组深度图为{Vd+1, Vd+2, …, VM}, 且两组深度图之间仅有VdVd+1存在匹配点。该情形简称为可分组配准情形, 如图3所示。

类似式 (3) , 记

Ad-1、Bd-1、Cd-1中除了前3 (d-1) 阶顺序主子矩阵外其他元素都为0, AdBdCd中除了第3 (d-1) +1至第3 (d-1) +6行和列外其他元素均为0, Ad+1、Bd+1、Cd+1中前3 (d+1) 行和3 (d+1) 列全部为0。利用式 (6) 将式 (4) 改写为

则优化问题式 (2) 可转化为先对Φ (Rd-1, Γd-1) →min求解出R^d-1=[R^1R^d00], 再对Φ (Rd, Γd) →min固定Rd=R^d求出R^d+1, 最后对Φ (Rd+1, Γd+1) →min固定Rd+1=R^d+1求出R^[CX]d+1=[00R^d+1R^Μ]。而Φ (Rd, Γd) →min是属于两个标记点集之间的非迭代配准问题, 因此可以将M个标记点集的全局配准问题简化为两个独立子集的全局配准问题, 从而有效减少迭代次数。

显然, 图2中前两种典型结构是可分组配准的特例情况, 可以通过本文方法验证其初配准结果就是其全局配准的最优结果, 因此无需进行迭代优化。对于图2d中的一般网状结构, 则先判断其是否为可分组, 如可分组, 则用本文方法进行分组规划。

3 实验

先对一个旋转对称花盆进行实际测量实验 (图1) , 共测得18组标记点, 其中第1~10组标记点是对花盆侧面进行测量的结果, 第11~18组标记点是对花盆底部测量的结果, 且侧面与底部之间仅有第10组与第11组标记点之间存在相匹配的点对。首先对花盆侧面、底部以及整体分别进行实验, 比较递增式配准与全局配准的全局误差和平均误差, 实验表明, 全局配准可以有效分散递增式配准过程中的累积误差 (表1) ;其次进行权值更新实验, 比较权值更新前后的平均误差值的变化, 说明本文方法可以有效地去除局部误差较大的匹配点对 (表2) ;最后针对该实际测量模型属于2.3节的可分组配准情形, 进行迭代次序规划, 与自然顺序比较, 发现本文方法可以大大减少收敛迭代的次数 (表3) 。图4所示是利用本文方法对雕塑头像模型测量所得的多视图进行配准的结果。

4 总结与展望

本文提出了一种基于辅助标记点的多视图配准方法, 该方法先用递增式配准算法进行初配准, 能满足测量过程的实时性要求, 再用全局配准算法对初配准结果进行优化, 有效解决了初配准过程中的误差累积问题。本文对基于SVD的全局配准算法进行了改进, 对重建误差较大的匹配点对自动施加约束, 有效减小了全局配准误差, 并对可分组配准情形进行了迭代次序的规划, 减少了收敛迭代次数。本文的算法已应用在课题组自主开发的双目立体测量系统中, 取得了很好的效果。

由于在标记点的重建过程中存在误差, 完全利用“稀疏”的标记点进行全局配准优化会导致最终配准结果仍然不够精确, 下一步的工作是以本文的方法为基础, 利用“密集”的深度图数据对全局配准结果进一步进行微调, 以期得到更好的配准结果。

摘要:通过在双目立体测量系统中引入辅助标记点的方法来实现多视角深度图的配准, 配准算法包括两部分:初配准和全局优化配准。提出一种递增式初配准算法, 将多次测量结果逐次配准到同一坐标系中, 然后对初配准结果进行全局优化。对基于奇异值分解的全局配准迭代算法进行改进:一是对重建误差较大的标记点进行自动加权, 可有效降低全局配准误差;二是对全局配准的迭代顺序进行规划, 在一些情形下可减少迭代收敛的次数。对多个实际模型的测量实验验证了算法的有效性。

双目测量 篇6

双目视觉原理近似于人眼视觉系统[1], 它是通过两台摄像机从不同的角度对同一目标进行拍摄, 得到左右摄像机的两张图片, 然后利用相关算法找出两幅图像中的匹配点, 并进行匹配, 根据透视变换或三角测量原理就可以恢复该场景的三维坐标。这个过程中涉及一系列的图像处理算法, 比如图像滤波、特征增强、区域分割、边缘检测、图像匹配等。双目立体视觉原理如图1所示。

然而一个双目立体视觉测量系统在使用之前必须要先标定, 即确定系统的参数, 一个双目视觉测量系统的性能的好坏和测量系统的参数息息相关, 系统参数包括内部参数和外部参数, 内部参数是指由摄像机的分辨率、焦距等系统本身的一些参数组成的矩阵;外部参数是指由旋转矩阵和平移矩阵组成的空间变换矩阵。

图中B是两摄像机的摄像机坐标系的原点距离, 称为基线距离, B的大小影响着测量结果和精度。

假设P是空间任意一点, 其坐标为P (xc, yc, zc) , 令两台摄像机同时对P进行拍摄, 那么在左右两台摄像机分别获得P的图像, 且坐标分别为pleft= (xl, yl) , pright= (xr, yr) 。一般情况, 我们将两台摄像机平行水平放置, 即左右摄像机获得的两幅图像在同一平面上, 则获得的图像坐标的Y值相同, 即yl=yr=Y, 根据三角形相似原理可以得到:

令Disparity=xl-xr, 称为视差。根据视差可以得到空间点P的计算公式为:

因此, 只要能够确定左右摄像机获得的图像的同名点, 也就是图像匹配, 那就可以计算得空间中视场内的任一点的三维坐标。

2 双目立体视觉测量系统数学模型

双目立体视觉测量系统中涉及到四大坐标系, 分别是像素坐标系、图像坐标系、摄像机坐标系和世界坐标系。不同坐标系应用的范围不同。要实现三维测量, 首先要建立坐标系, 并且实现各个坐标系之间的相互转换。

像素坐标系Ouv和图像坐标系Oxy是二维坐标系, 其单位分别是像素和毫米, 令dx、dy表示单个像素点的宽和高的物理尺寸, (u0, v0) 是图像坐标系的原点在像素坐标系中的位置坐标, 通常称坐标 (u0, v0) 为主点。则图像中任一位置的坐标在两个坐标系下的坐标关系为:

摄像机坐标系为OcXcYcZc, 世界坐标系为OwXwYwZw, 根据针孔成像原理, 可得

式中:x, y是图像坐标, R、T即为双目定标中两坐标系相互转换的旋转矩阵与平移矩阵, R为3×3矩阵, T为3×1矩阵;λ为非零参数。

由式 (4) 可以看出, 实现三维世界坐标向图像二维坐标的变换, 首先是系统本身的参数求取, 包括焦距, 像素尺寸和主点位置;另外, 关键是旋转矩阵R和平移矩阵T的求取, 而R、T的求取过程就是摄像机的标定过程;摄像机的标定方法有很多种, 其中最常用的是角点检测法, 利用黑白等间距的棋盘格, 其角点的坐标视为已知, 将其放在特定的位置, 即确定了棋盘格所有角点的世界坐标, 利用其中的一些角点坐标, 根据 (4) 式求出旋转矩阵R和平移矩阵T, R、T确定以后, 就可以通过二维图像坐标来求取其它角点的世界坐标, 由此可以检验求得的R、T的精度。R、T的求解是影响测量精度的关键一步, 在其它影响测量精度因素均符合要求的前提下, R、T的精度越高, 双目视觉测量系统的测量误差就越小[4]。

以上R、T可以通过增加标定点数, 提高设备精度以及精心操作提高求解精度[5,6];在此我们认为标定误差基本可以消除。由式 (4) 还可以发现, 三维向二维转换的另一关键是测量系统内参数矩阵, 主要是测量系统本身的硬件决定。

首先, 为了方便表述, 现将式 (4) 做一定的处理, 令旋转矩阵R和平移矩阵T分别为:

将以上R、T带入到式 (4) 易得[7]:

将式 (5) 应用于双目视觉的两部摄像机, 设像点坐标分别为 (x1, y1) 、 (x2, y2) , 即

其中两摄像机的旋转矩阵和平移矩阵分别是:

将式 (6) 记为

该方程的最小二乘解为:

至此, 由式 (8) 得到了被测物体的空间坐标与图像坐标之间的变换关系, 只要得到物体的二维坐标, 通过上式就能计算得其空间三维坐标。

3 误差模型

由上节的分析可以看出, 被测点的空间位置由两个相机上的像点坐标计算得出, 因此, 两个相机之间的位置关系对最终的测量结果具有重要的影响。在实际操作中, 精确地确定两个相机之间的位置关系具有很大的难度, 不可避免的会存在一定的误差。当两摄像机主光轴相互平行, 称为平行配置双目立体视觉系统[8], 平行配置的双目视觉系统的优点是相匹配的极线对在同一水平线上, 这样就将匹配的搜索范围从二维降低到一维, 大大提高了效率。因此, 以平行配置双目立体视觉系统为对象, 建立因分辨率引起的误差的数学模型。

摄像机分辨率取决于CCD芯片的像素数的多少, 单位面积像素越多, 分辨率越高, 那么单个像元就越小, 所以在最终摄像机确定的情况下, 也就是确定了CCD感光元件的尺寸, 那么分辨率的高低就反映在像元大小上了。

图1中, 我们得到的图像坐标是 (xl, yl) , (xr, yr) , 直接代入式 (8) 计算得物体的空间坐标为 (Xw, Yw, Zw) , 考虑像元大小引起的误差, 其图像坐标应该是 (xl+Δxl, yl+Δyl) , 经过同样的坐标模型转换得到, 为了便于分析, 我们假设物体的空间位置位于xoz平面上, 即纵坐标y=0, 如图2所示。

由图2可以看出, 由于像元大小的缘故, 空间区域ABCD内的物体坐标在图像坐标系中无法识别, 区域中A、C的距离和B、D的距离, 即为像元在x方向和z方向引起的测量误差。若不考虑y=0的情况, 可以想象误差是一个空间八面体区域, 则误差模型为

再次简化模型, 我们假设被测目标点位于右边的相机坐标系的光轴上, 而重点分析其在左边摄像机坐标系的坐标以及在位置上存在的偏差, 其像点坐标和实际值也有一定的偏差, 由此计算出的被测点的空间位置也就有一定的误差了, 如图3所示。

由图3, 根据三角形原理可得关系式:

进一步计算可得:

式中:x是像点坐标;Δx是像素点水平方向的尺寸;h是被测物体在右摄像机坐标系中到原点的深度距离;Δh是由于像素大小导致的在深度方向造成的误差。

实际测量中, 测量深度h越大, 则x必定越小, 即h与x是相互约束的, 故将式 (11) 带入式 (12) 可进一步得到:

由以上关系式, 通过查阅相关资料, 我们选定摄像机的参数分辨率为12 801×1024 (1 310 720像素) , 像素尺寸为5.2μm×5.2μm, f=15 mm, 摄像机摆放姿态参数取B=80mm, 两光轴平行放置, 取被测点的位置为右摄像机光轴上距离原点距离为10 m的位置。

观察式 (13) , 可以发现, 当两摄像机光轴平行时, 测量深度误差Δh与焦距f、基线距离B、像元大小Δx以及像点坐标x有关。由式 (13) 可见Δh与f和B是线性关系, 焦距f越大, 或者基线距离B越大, 测量深度误差h都随着变大。

当焦距f、基线距离B一定时, 深度误差Δh与像素大小Δx的关系如图4所示, 深度误差Δh随着像元尺寸的增加而变大, 即分辨率越高, 测量精度越高。

当像元大小Δx、焦距f、基线距离B一定时, 深度误差Δh与像点坐标x的关系如图5所示, 可见像点坐标越是靠近原点, 在深度方向的误差越大;当像点坐标达到一定值后, 误差大小几乎变。

4 结论

通过对双目视觉系统原理的分析, 建立了双目视觉系统中摄像机分辨率的误差模型, 分析结果表明分辨率误差对Z方向上的测量影响最大, 并且Z方向的距离越大, 误差越大, 误差与目标深度之间成非线性关系。另外, 分辨率误差模型还与摄像机的基线距离, 焦距, 像点在感光元件的坐标位置有关, 基线距离或者焦距越大, 分辨率误差也线性增大;像点在CCD的位置坐标影响测量误差, 结果表明, 像点坐标越接近原点, 其引起的误差越大, 远离原点, 误差减小并趋于稳定。

摘要:文中通过对双目视觉系统的研究, 建立了双目视觉系统中摄像机分辨率的误差模型, 并分析了分辨率对测量结果的影响。从理论上分析了在测量深度Z方向上的测量误差, 发现分辨率误差在Z方向上影响最大, 并且目标距离摄像机越远, 误差越大, 误差与目标深度之间成非线性关系。另外, 误差模型还与摄像机的基线距离、有效焦距、像点在感光元件的坐标位置有关。

关键词:双目视觉,分辨率,误差模型,深度误差

参考文献

[1]余慧杰, 韩平畴.双目视觉系统的测量误差分析[J].光学技术, 2007 (增刊1) :157-159.

[2]刘亚菲, 郭慧, 聂冬金, 等.双目立体视觉系统测量精度的分析[J].东华大学学报 (自然科学版) , 2012 (5) :572-576.

[3]邹凤娇.摄像机标定及相关技术研究[D].成都:四川大学, 2005.

[4]吴彰良, 卢荣胜, 胡鹏浩, 等.双目立体视觉传感器精度分析与参数设计[J].郑州轻工业学院学报, 2006 (3) :32-35.

[5]李孝猛.双目立体视觉传感器测量精度的研究[D].天津:天津科技大学, 2010.

[6]王以忠, 李孝猛, 张大克, 等.双目立体视觉传感器结构参数优化设计[J].天津科技大学学报, 2010 (3) :58-60.

[7]闵新力, 万德安, 张剑.CCD双目视觉测量系统结构参数设置的理论研究[J].机械设计与制造, 2001 (3) :54-56.

上一篇:实践教育方法的作用下一篇:世界经济体改的新视角