列表
00:00
/
00:00
l
r
  中国测试  2018, Vol. 44 Issue (9): 35-38, 50

文章信息

李小菁, 黄振宇, 凌珊
LI Xiaojing, HUANG Zhenyu, LING Shan
基于光栅结构光双目视觉的动态三维测量方法研究
Dynamic 3D measurement method based on raster binocular stereo vision sensor
中国测试, 2018, 44(9): 35-38, 50
CHINA MEASUREMENT & TEST, 2018, 44(9): 35-38, 50
http://dx.doi.org/10.11857/j.issn.1674-5124.2018.09.007

文章历史

收稿日期: 2018-02-05
收到修改稿日期: 2018-03-12
基于光栅结构光双目视觉的动态三维测量方法研究
李小菁1,2 , 黄振宇1,2 , 凌珊1,2     
1. 广东省现代几何与力学计量技术重点实验室,广东 广州 510405;
2. 广东省计量科学研究院,广东 广州 510405
摘要:基于矩形光栅结构光和双目立体视觉测量技术,提出一种物体表面三维形貌的动态测量方法。采用基于光平面引导的稠密光栅光条匹配方法完成左右摄像机光条图像的匹配,该方法先通过各光平面对应的单应矩阵实现左右图像点的对应,再结合极限约束及空间点距离约束完成左右光条中心点的全局最优匹配,以此解决由两摄像机和投影仪组成光栅结构光测量系统中光条匹配难题,对匹配完成的图像光条点应用双目立体视觉测量原理完成物体表面的三维重建。实物实验中,对姿态变化的手臂进行测量,结果证明仅需投影单幅光栅图案可实现手臂三维形貌的测量,验证该方法的有效性。
关键词双目视觉    动态三维测量    光栅结构光    光条匹配    
Dynamic 3D measurement method based on raster binocular stereo vision sensor
LI Xiaojing1,2 , HUANG Zhenyu1,2 , LING Shan1,2     
1. Guangdong Provincial Key Laboratory of Modern Geometric and Mechanical Metrology Technology, Guangzhou 510405, China;
2. Guangdong Provincial Institute of Metrology, Guangzhou 510405, China
Abstract: Based on the rectangular grating structure light and binocular vision measuring technology, a method for dynamically measuring 3D topography on the object surface is proposed. A matching method of high-density grating light stripes based on the guidance of light plane is adopted to complete matching of the left and right camera light-strip images, in which correspondence of the left and right image points can be firstly realized by homography matrix corresponding to each light plane, and then the optimal overall matching of the center points on the left and right light strips can be achieved by combining the limit constraint and the space point distance constraint. As a result, the matching problem in the grating structured light measuring system that is composed of two cameras and projectors is solved. Finally, the 3D reconstruction on the object surface is completed according to the binocular stereo vision measuring principles. In the physical experiment, the measurement of a moving arm is carried out, and the results prove that it only needs to project a single grating image to measure its 3D topography, thus, effectiveness of such method is verified.
Key words: stereo vision     dynamic 3D measurement     raster structure light     light matching    
0 引 言

随着计算机技术、图像处理和模式识别等技术的不断进步,视觉测量技术得到快速发展,并广泛应用于产品质量检测、物体识别、逆向工程、航空、汽车等领域[1-4]

目前广泛使用的视觉测量系统主要包括被动视觉测量系统和主动视觉测量系统。被动视觉测量技术往往易受测量现场光线和被测物温度及纹理的影响,通常需要采取粘贴标记点和喷涂散斑图案等辅助测量手段。如缺少必要的辅助测量手段,被动视觉测量技术测量信息较少,仅适合简单几何尺寸测量。主动视觉测量系统通过向被测物投射特殊设计的可控光束,利用被测物体表面对光的调制作用来获取物体表面的三维形貌。根据测量原理的不同,主要可分为傅里叶轮廓术[5-6]、相位测量轮廓术[7-8]、结构光视觉检测法[9-10]。傅里叶轮廓术仅适合动态测量,但存在运算时间长、自动化性能较差等问题。相位测量轮廓术,则需要投放多幅具有一定相角差的条纹图像,有较高的测量精度,但仅适合于静态三维测量。结构光视觉检测法通常结合单目或双目进行动态测量,大部分方法采用投影带有编码信息的图案以实现特征点的匹配[11],但往往算法复杂耗时较长。而光栅结构光双目法将光栅结构光与双目立体视觉结合,适合表面光亮或物体表面颜色较深的物体三维形貌测量,但存在左右摄像机密集光栅光条图像匹配难题。

针对这种情况,本文采用光栅结构光双目视觉系统结构,提出一种基于光平面引导的密集光栅光条图像匹配方法以解决系统中光栅光条图像匹配难题,并结合双目立体视觉测量技术,实现物体三维形貌动态测量。

1 光栅式双目立体视觉三维测量原理

光栅式双目立体视觉传感器模型如图1所示。光栅光条点 ${{P}}$ 分别在左、右摄像机成像,利用双目立体视觉模型[12]解算点 ${{P}}$ 在双目视觉传感器坐标系下的三维坐标。

图 1 光栅式双目视觉传感器示意图

${{{p}}_1}$ ${{{p}}_2}$ 分别为光栅光条点 $P$ 在左右摄像机图像坐标系下无畸变图像齐次坐标,左摄像机坐标系为 ${o_{c1}}{x_{c1}}{y_{c1}}{z_{c1}}$ ,右摄像机坐标系为 ${o_{c2}}{x_{c2}}{y_{c2}}{z_{c2}}$ 。设左摄像机坐标系为双目立体视觉传感器坐标系。左摄像机坐标系到右摄像机坐标系的旋转矩阵和平移向量为 ${{{R}}_{12}},{{{t}}_{12}}$ 。双目视觉传感器数学模型如下,通过最小二乘法求解点 $P$

$\left\{ \begin{aligned}& {\rho _1}{{p}}_1 ={{{K}}_1}\left[ {\begin{aligned}{{I}} &\;\;\;\; 0\end{aligned}} \!\!\!\!\!\!\!\!\! \right]{{{P}}} \quad\\& {\rho _2}{{p}}_2 ={{{K}}_2}\left[ {\begin{aligned}{{{{R}}_{12}}} & \;\;\;{{{{t}}_{12}}}\end{aligned}} \!\!\!\!\!\!\!\!\! \right]{{{P}}}\end{aligned} \right.$ (1)

其中 ${{{K}}_1}$ ${{{K}}_2}$ 分别为双目立体视觉传感器中左右摄像机内部参数。

2 光栅光条快速提取及匹配方法 2.1 光条图像亚像素中心点快速提取及链接

本文采用Steger算法[13]提取光栅光条图像中心点坐标。首先利用Hessian矩阵确定图像中光条中心的法线方向,再通过求解法线方向上的极值点得到线条边缘的子像素级位置,最后采用链接约束方法去除错误光条中心点,将正确的光条中心链接在一起形成多个光条线段。

理想光条中心图像点是光条灰度曲面顶点,Hessian矩阵对应的模最大特征值为图像灰度函数的二阶导数的局部最大值。根据图像光条的宽度信息,选取适用于大部分宽度的均方差 ${\sigma _0}$ 值,求取光条中心及其法线方向

${{H}}(u,v) =\left[ {\begin{aligned} {{r_{uu}}}&\;\;\;\;{{r_{uv}}} \\ {{r_{uv}}}&\;\;\;\;{{r_{vv}}} \end{aligned}} \right]$ (2)

其中 ${r_{uu}}$ , ${r_{uv}}$ , ${r_{vv}}$ 为图像 $I\left( {u,v} \right)$ 的二阶偏导数,由图像与高斯卷积核的二阶导数卷积核 ${{{g}}_{uu}}$ ${{{g}}_{uv}}$ ${{{g}}_{vv}}$ 卷积得到。 ${ H}\left( {u,v} \right)$ 的最大绝对特征值的特征向量为光条的法线方向,记为 ${ n}\left( t \right) ={\left( {{n_u},{n_v}} \right)^{\rm T}}$ 。对图像点 $({u_i},{v_i})$ ,对其邻域范围的灰度分布函数进行二阶泰勒展开,光条图像中心的亚像素坐标为

$\left\{ {\begin{aligned} {u_i' ={u_i} - \displaystyle\frac{{{n_u}{r_u} + {n_v}{r_v}}}{{n_u^2{r_{uu}} + 2{n_u}{n_v}{r_{uv}} + n_v^2{r_{vv}}}}{n_u}} \\ {v_i' ={v_i} - \displaystyle\frac{{{n_u}{r_u} + {n_v}{r_v}}}{{n_u^2{r_{uu}} + 2{n_u}{n_v}{r_{uv}} + n_v^2{r_{vv}}}}{n_v}} \end{aligned}} \right.$ (3)

图像中满足 $(t{n_u},t{n_v}) \in \left[ - \displaystyle\frac{1}{2},\displaystyle\frac{1}{2}\right] \times \left[ - \displaystyle\frac{1}{2},\displaystyle\frac{1}{2}\right]$ $( t = - $ $ \displaystyle\frac{{{n_u}{r_u} + {n_v}{r_v}}}{{n_u^2{r_{uu}} + 2{n_u}{n_v}{r_{uv}} + n_v^2{r_{vv}}}} )$ 的亚像素点作为光条图像中心点。

完成光条图像亚像素中心点提取及方向计算后,根据线条方向和距离约束完成光条图像中心链接,形成多个光条线段,以用于匹配。同时,光条链接可以去除提取出的错误光条中心点。光条链接方法为:选取具有最大绝对特征值的光条中心点 $p =\left( {u,v} \right)$ 作为该光条的初始链接点,在计算光条中心点的过程中,已经求出在该光条中心点处的法向方向。则在该点处的光条方向为 ${{ n}(t)^ \bot }$ ${\rm{ - }}{{ n}(t)^ \bot }$ 。初始链接点可能不是线段的端点,因此相邻光条点的选取从正反两个方向 ${{ n}(t)^ \bot }$ ${\rm{ - }}{{ n}(t)^ \bot }$ 分别进行,当从正方向链接光条完成后,再从反方向开始链接。选取与当前光条方向相容的三邻域像素内的光条点作为候选点。把满足链接标准的候选点作为新的光条链接点添加入当前线段。挑选光条中心候选点的两个标准:1)候选点的光条方向和当前光条的方向的夹角在一定阈值范围内,通常取[–22.5°, 22.5°];2)候选点与当前光条中心点的距离小于一定阈值。若存在多个候选点,则选取候选点与当前光条中心点的距离最小的中心点为链接点。遍历所有光条中心点,完成所有光条线段的链接。

2.2 光栅光条匹配方法

在光栅式双目立体视觉三维测量中,快速准确地实现光栅光条的匹配是一项关键技术[14]。本文提出一种基于光平面引导的密集光栅光条图像匹配方法。该方法通过各光平面对应的单应矩阵实现左右图像点的对应,再结合极限约束及空间点距离约束完成左右光条中心点的全局最优匹配。

图2为本文匹配算法示意图。图中, ${{{H}}_{{\rm{l}}i}}$ 为左图像平面到第 $i$ 个光平面的单应矩阵, ${{{H}}_{{\rm{r}}i}}$ 为第 $i$ 个光平面到右图像平面的单应矩阵, ${{{H}}_i}$ 为左图像平面到右图像平面的单应矩阵, $i =1,2, \cdots,n$ $n$ 为光平面数量。

图 2 光条匹配算法的示意图

针对第 $i$ 个光平面光条上的左右摄像机图像点 ${{{p}}_{{\rm{l}}i}}{\rm{ =[}}{u_{{\rm{l}}i}}{\rm{,}}{v_{{\rm{l}}i}}{\rm{,1}}{{\rm{]}}^{\rm{T}}}$ ${{{p}}_{{\rm{r}}i}}{\rm{ =[}}{u_{{\rm{r}}i}}{\rm{,}}{v_{{\rm{r}}i}}{\rm{,1}}{{\rm{]}}^{\rm{T}}}$ ,采用双目立体视觉模型计算出该点的在双目立体视觉传感器坐标系下三维数据 ${{{P}}_{{\rm{v}}i}}{\rm{ =[}}{x_{{\rm{v}}i}}{\rm{,}}{y_{{\rm{v}}i}}{\rm{,}}{z_{{\rm{v}}i}}{\rm{,1}}{{\rm{]}}^{\rm{T}}}$ 。在第 $i$ 个光平面上建立第 $i$ 个光平面坐标系 ${o_{{\rm{s}}i}}{x_{{\rm{s}}i}}{y_{{\rm{s}}i}}{z_{{\rm{s}}i}}$ ,将 ${{{P}}_{{\rm{v}}i}}$ 转换到 ${o_{{\rm{s}}i}}{x_{{\rm{s}}i}}{y_{{\rm{s}}i}}{z_{{\rm{s}}i}}$ 下得到 ${{{P}}_{{\rm{s}}i}}{\rm{ =[}}{x_{{\rm{s}}i}}{\rm{,}}{y_{{\rm{s}}i}}{\rm{,}}0{\rm{,1}}{{\rm{]}}^{\rm{T}}}$ ,求解 ${{{H}}_{{\rm{l}}i}}$

$\left[ {\begin{aligned} {{x_{{\rm{s}}i}}} \\ {{y_{{\rm{s}}i}}} \\ 1 \;\end{aligned}} \right] ={{{H}}_{{\rm{l}}i}}\left[ {\begin{aligned} {{u_{{\rm{l}}i}}} \\ {{v_{{\rm{l}}i}}} \\ 1 \;\end{aligned}} \right]{{{p}}_{{\rm{l}}i}}$ (4)

同理,基于以上方法可求解 ${{{H}}_{{\rm{r}}i}}$ ,再求解 ${{{H}}_i}$

${{{H}}_i} ={{{H}}_{{\rm{r}}i}}{{{H}}_{{\rm{l}}i}}$ (5)

i个光平面光条上的左右摄像机图像点可以通过单应矩阵 ${{{H}}_i}$ 实现一一对应,这里称光平面为诱导平面。

$\left[ {\begin{aligned} {{u_{{\rm{r}}i}}} \\ {{v_{{\rm{r}}i}}} \\ 1 \;\end{aligned}} \right] ={{{H}}_i}\left[ {\begin{aligned} {{u_{{\rm{l}}i}}} \\ {{v_{{\rm{l}}i}}} \\ 1 \;\end{aligned}} \right]$ (6)

投影n条光栅光条,则有n个单应矩阵, ${{{H}}_1}, \cdots ,{{{H}}_n}$ 。若采用 ${{{H}}_i}$ 计算第j个光平面的左右光条图像点之间的对应则会出现错误。

在双目立体视觉数学模型中,如果与 ${{{p}}_{{\rm{r}}i}}$ 为匹配点,根据极线约束原理,则 ${{{p}}_{{\rm{r}}i}}$ 必然在极线 ${l_{\rm{r}}}$ 与右摄像机图像中所有k个光条的交点集 $B\left\{ {{{{b}}_1},{{{b}}_2}, \cdots ,{{{b}}_k}} \right\}$ 中。同时,对于点 ${{{p}}_{{\rm{l}}i}}$ 根据标定已知的 ${{{H}}_1}, \cdots ,{{{H}}_n}$ 通过式(3)可以得到右摄像机图像n个点 $C\left\{ {{{{c}}_1},{{{c}}_2}, \cdots, {{{c}}_n}} \right\}$ ${{{p}}_{{\rm{r}}i}}$ 也必然在该点集中。理想情况下在两个集合中点距为零的那个点就是 ${{{p}}_{{\rm{r}}i}}$ ,实际测量中,取点距最小的点为匹配点。

由于图像噪声、投影光栅过密等因素,单个光条点按上述匹配方法计算可能会造成误匹配。为了提高匹配效率和准确性,对左摄像机图像的任意光条 $L$ ,在光条上均匀选取 $m$ 个光条点作为需匹配点,针对每个光条点分别计算 $B$ $C$ 两个交点集中各点的距离,并选取点距最小的一对点所在的光条作为候选匹配光条 ${R_i}$ ,这样可以得到 $m$ 个候选匹配光条。在 $m$ 个候选匹配光条中取出现次数最多的光条 $R$ 作为左图像光条 $L$ 的匹配光条,遍历所有左图像光条完成图像所有光条的匹配。

3 实物实验

在实物实验中,光栅结构光双目立体视觉系统由两个摄像机和一个投影仪搭建而成,两个摄像机为选配施耐德17 mm镜头的大恒GigE相机,图像分辨率1 628 pixel×1 236 pixel,视场范围600 mm×500 mm。投影仪为Dell M110,分辨率为1 280 pixel×800 pixel。

实物实验主要包括两部分:1)双目立体视觉系统标定和精度评价;2)实物测量姿态变化的手臂。

3.1 光栅结构光双目立体视觉系统标定

3.1.1 系统标定

双目立体视觉系统的内外参数采用张正友[15]方法进行标定。两摄像机各拍摄12张靶标图像,左摄像机拍摄图像如图3所示。

图 3 双目立体视觉系统标定左摄像机拍摄图像

标定得到双目视觉系统的内外参数如下:

左摄像机内参:

fx=3 985.76;fy=3 985.84; $\gamma $ =5×10–5u0=816.65;v0=637.10;k1=–0.23;k2=0.51。

右摄像机内参:

fx=3 986.48;fy=3 986.76; $\gamma $ =6×10–5u0=828.39;v0=603.13;k1=–0.23;k2=0.47。

双目视觉传感器外参:

${ R}\!\!=\!\!\left[ {\begin{aligned} {0.876} \;\;\quad &{{\rm{ - }}0.063}&{0.485} \\ {0.0623} \quad &{0.998}&{0.018} \\ { - 0.485} \quad &{0.014}&{0.875} \end{aligned}} \right]$
${ t}\!\!=\!\!\left[ {\begin{aligned} {- 562.404} \quad &{{\rm{ - }}17.082}&{154.492}\end{aligned}} \right]$

3.1.2 系统精度评价

为了评价系统的测量精度,光栅结构光双目视觉系统测量2次棋盘格平面靶标。平面靶标具有10×10个特征点,两点之间距离为12 mm,精度为0.02 mm。以靶标两两特征点之间距离为实际距离dt,计算出的测量距离dm和实际距离dt之间的偏差的RMS误差来评价系统测量精度。经计算系统的RMS误差为0.05 mm。

3.2 实物测量

在实物实验中,投影1 024 pixel×768 pixel的矩形光栅光条图案,光条间距16 pixel,光栅光条总数为64根。

为验证本文算法动态测量的有效性,实验对人体手臂的张开、自然、并拢和握拳4个动作状态进行了测量。左摄像机拍摄的4个时刻的4幅图像如图4(a)左摄像机拍摄手臂图像所示。对4个时刻的人体手臂姿态进行图像处理及三维重构,测量结果如图4(b)所示,显示了手臂正面和侧面的三维测量图。从测量结果图可以看出,本文的算法能够较准确的获取手臂不同姿态的三维形貌,验证了本文方法的可靠性。

图 4 人体手臂三维测量结果示意图

4 结束语

本文介绍了一种基于光栅结构光双目视觉的动态三维测量方法,采用单幅矩形光栅光条图案投影,提出一种基于光平面引导的光栅光条匹配方法,不需要借助光条颜色、形状或其他设计,仅依靠光条自身的空间位置信息实现左右摄像机高密度光栅光条的对应匹配,结合双目立体视觉系统完成物体表面三维测量。

该方法将结构光视觉测量模型和双目立体视觉测量模型相结合,既可以保证测量精度又可以实现没有对应匹配的光条点三维重建,提高了测量系统三维重建密度。

参考文献
[1]
SHIRMOHAMMADI S, FERRERO A. Camera as the instrument: the rising trend of vision based measurement[J]. IEEE Transactions on Instrument Measure, 2014, 17(3): 41-47. DOI:10.1109/MIM.2014.6825388
[2]
华才健, 蹇红梅, 张燕. 基于机器视觉的火花塞间隙检测技术[J]. 中国测试, 2014, 40(5): 108-110.
[3]
郭继平, 李阿蒙, 于冀平, 等. 双目立体视觉动态角度测量方法[J]. 中国测试, 2015, 41(7): 21-23.
[4]
DU Q J, SHI X, DAI B, et al. Binocular stereo vision system for a humanoid robot[J]. International Journal of Computer Applications in Technology, 2013, 46(4): 316-322.
[5]
LOHRY W, ZHANG S. Fourier transform profilometry using a binary area modulation technique[J]. Optical Engineering, 2012, 51(11): 3602-3609.
[6]
毛先富, 苏显渝, 陈文静, 等. 改进傅里叶变换轮廓术的测量算法研究[J]. 光学学报, 2008, 28(7): 1291-1295. DOI:10.3321/j.issn:0253-2239.2008.07.014
[7]
范剑英, 付瑶, 王洋, 等. 双三步三角形相移编码结构光三维测量技术[J]. 黑龙江大学自然科学学报, 2016, 33(2): 251-255.
[8]
FU Y J, LUO Q. Fringe projection profilometry based on a novel phase shift method[J]. Optics Express, 2011, 19(22): 21739-21747. DOI:10.1364/OE.19.021739
[9]
韦争亮, 钟约先, 袁朝龙. 基于彩色栅线的结构光动态三维测量技术研究[J]. 光学技术, 2009, 35(4): 569-574. DOI:10.3321/j.issn:1002-1582.2009.04.038
[10]
JANG W, JE C, SEO Y, et al. Structured-light stereo: Comparative analysis and integration of structured-light and active stereo for measuring dynamic shape[J]. Optics and Lasers in Engineering, 2013, 51(11): 1255-1264. DOI:10.1016/j.optlaseng.2013.05.001
[11]
WONG A K C, NIU P Y, HE X. Fast acquisition of dense depth data by a new structured light scheme[J]. Computer Vision and Image Understanding, 2005, 98(3): 398-422. DOI:10.1016/j.cviu.2004.09.003
[12]
张广军. 视觉测量[M]. 北京: 科学出版社, 2008: 26-40.
[13]
STEGER C. An unbiased detector of curvilinear structures[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1998, 20(2): 113-125. DOI:10.1109/34.659930
[14]
魏振忠, 樊妍睿, 侯亚荣. 光栅式双目立体视觉传感器光条快速匹配算法[J]. 北京航空航天大学学报, 2012, 38(5): 591-594.
[15]
ZHANG Z Y. A flexible new technique for camera calibration[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2000, 22(11): 1330-1334. DOI:10.1109/34.888718