结构光三维视觉系统的光模板匹配方法

文档序号:6579086阅读:209来源:国知局
专利名称:结构光三维视觉系统的光模板匹配方法
技术领域
本发明涉及计算机视觉、数据处理、图像处理,尤其是一种结构光三维视觉 系统的光模板匹配方法。
背景技术
人眼对于颜色的观察和处理是一种生理和心理现象,为了能用计算机来处理 图像中的颜色信息,必须能够用定量的方法来描述它,即建立相应彩色模型。自 然界中的所有颜色都可以由红、绿、蓝(R、 G、 B)三种颜色合成。 针对红(绿/蓝)分量的多少,人为地划分为0 255共256个等级,O表示不含红 色(绿/蓝)成分,255表示含有100%红色(绿/蓝)成分。根据红、绿、蓝各种 不同的组合就能表示256x256x256种颜色,例如一个像素,当它的红、绿、蓝成 分分别为O、 255、 255时显示为青色。而对于灰度图像的像素,该像素的红、绿、 蓝成分是相等的,只不过随着这三个分量数值的增大,像素颜色从黑色变成白色。 现有大多数的彩色成像设备和彩色显示设备都采用RGB (Red/Green/Bhie,红绿 蓝)三基色来表示和存储,基于上述的设计,可采用常用的RGB模型来建立彩 色模型,彩色数字图像可以由RGB彩色空间表示,RGB空间如图1所示,为方 便起见,把所有颜色值都归一化,即图示的立方体是一个单位立方体。
在彩色投射系统中,光条坐标需要从一副图像中检测出来,本文提出一种新 的编码策略,对投射光模板的每一行进行编码。为了减少彩色识别的繁杂性和提 高可靠性,保证颜色空间区分度足够大,要求在RGB空间中至少有两个颜色通 道不同,因此选择红、绿、蓝三基色和白作为编码颜色,由如3-2可以看出,除 黑白外,红、绿、蓝和白之间的空间距离达到最大,这可以保证对任何高饱和度 的场景都保持足够的距离,编码颜色集可以选取为 PK255,0,0),(0,255,0),(0,0,255),(255,255,255"的4元素集,白色作为间隔各条颜 色,满足了白色光条出现的次数最多,以得到较高的图像亮度,对应的颜色集字 母映射为
P = {P,|z' = 1,2,3,4}P,分别指示红、绿、蓝和白四颜色。
基于传统的DeBruijn空间编码方法,引进等宽白色光条来间隔彩色光条,使 相邻光条使用同一种颜色色调值,有效编码率达到100%。光模板由2tT条光条组 成,其中颜色数目为n,窗口大小为m,而现有DeBruijn编码技术采用同样参数 只能生成n(n-l)m条光条,产生的编码序列为
3, 4, 3, 4, 3, 4, 2, 4, 3, 4, 3, 4, 1, 4, 3, 4, 2, 4, 2, 4, 3, 4, 2, 4, 1, 4, 3, 4, 1, 4,2, 4, 3,4,1, 4,1, 4,2,4,2,4, 2,4,1,4, 2,4, 1, 4,1,4, 1 实际场景中,物体表面的不连续性使得部分光条不可见,导致3D数据错误增加, 这样的光条称为阴影光条。引进白色光条的优点可以增加可解码光条比率,因为 相应的阴影光条被不参与解码的白色光条替代。定义Q={l,2,...,2nm},对应每条 光条的坐标序号值。由此生成的光模板如图2所示,每个条纹边界划分一个平面 空间。
同时,为了增加现有编码模板的分辨率,提出一个有效的时空编码,投射的 每一帧图像由相同的光模板组成,后一帧由前一帧下移光条1/4宽度组成,四帧 光模板如图2所示。鉴于先前已有大量的文献在数理组和方面对De Bruijn序列进 行了研究,釆用文献的方法产生序列。系统利用每帧光条边界空间编码唯一性以 及多帧的时间特性来增加重建模型的精度和分辨率。
现有技术中,并没有针对上述光模板的匹配方法,导致结构光视觉成像系统
的成像精度低、无法有效实现三维重建。

发明内容
为了克服已有的结构光视觉成像系统的无法进行光模板的匹配、成像精度低、 无法有效实现三维重建的不足,本发明提供一种实现光模板的良好匹配、成像精 度高、能实现结构光视觉成像系统三维重建的结构光视觉成像系统的光模板匹配 方法。
本发明解决其技术问题所采用的技术方案是
一种结构光视觉成像系统的光模板匹配方法,包括以下步骤 1)、光条边界的定位
待检测的光模板为一维条纹编码,沿着图像的每个列扫描,对每个像素点的
5各个通道用一维列算子进行预处理,确定灰度变化强烈的像素点为候选边缘点, 在图像每一列上以候选边缘点为中心,选取一定大小的区域,其最大值不超过光 条宽度的1/2,搜索局部领域的步骤如下
(1.1) .初始化候选边缘点作为一区域中心Zij;
(1.2) .沿列方向搜索,将Zi-kj, Zj+kj像素颜色空间转成色调、亮度和饱和度 (HIS)空间;
(1.3) .增加新的点到这个区域,只要满足与相邻像素点的色调值差不超过设 定的阈值H
& =|z,±a",a 一A土a土ij,; l (1) /7是两个像素色调的差值,Z,^-表示第i土k行j列像素的色调值;经算子处理后, 像素点的三通道灰度值为Gy,局部区域三通道灰度值之和的最大值的像素点定义
为边界点;
m, = |x(C = 3) (2)
户i
E为算子处理后像素点灰度值之和的最大值;
2)、光条匹配采用颜色聚类的方法建立颜色匹配特征向量,对图像颜色和投射 颜色进行比较,定义色彩特征向量与聚类中心的欧式距离来分配候选光条红绿蓝 白颜色;
不同的颜色群集聚在特定的RGB空间区域,通过样本点训练颜色群的聚类
中心,然后用点到点的距离来匹配光条颜色;
Z^"V,,CJ = 1,2,3,4) (3) A^是两点距离的平方,A是光条中心像素的RGB特征向量,Q是颜色聚类中心, df3c,力是;c, y两点之间距离;设i^min(A》,那么光条颜色的分配按照(4)式进行
& (6 = 1,2,3, 4) (4)
Sc表示光条颜色;
分配好颜色后,每三条相邻的光条颜色组成一个码字Si,找出每个码字在整 个序列的位置就是解码;光条坐标值JC,定义为
^D蕴")+》'-D (5) D^BS(^表/天直接解码第/帧光模板子序列&的坐标位置。
6进一步,在所述步骤2)中,聚类中心的搜索方法为
(2.1) .初始化K二4,红、绿、蓝、白色彩类,初始化K个群的中心;
(2.2) .把每个样本点分配给离群中心距离最小的群;
(2.3) .K群中的质心点成为新的聚类中心;
(2.4) .重复步骤2和3直到所有点都趋向稳定地聚集。
本发明的有益效果主要表现在实现光模板的良好匹配、成像精度高、能实
现结构光视觉成像系统三维重建。


图1是RGB空间的示意图。
图2是白色等宽间隔的序列光模板示意图。 图3是四帧逆时针旋转90。的时移光模板示意图。 图4是边缘检测算子的示意图。 图5是算子边缘检测结果的示意图。 图6是任意列的像素扫描通道灰度值的示意图。 图7是边缘检测算子的一维列算子示意图。 图8是光条边界检测的示意图。 图9是像素点颜色的RGB空间示意图。
具体实施例方式
下面结合附图对本发明作进一步描述。
参照图1 图9,一种结构光视觉成像系统的光模板匹配方法,包括以下步骤 1)、光条边界的定位
待检测的光模板为一维条纹编码,沿着图像的每个列扫描,对每个像素点的
各个通道用一维列算子进行预处理, 一维算子如附图中的图7所示,确定灰度变
化强烈的像素点为候选边缘点,在图像每一列上以候选边缘点为中心,选取一定
大小的区域,其最大值不超过光条宽度的1/2,搜索局部领域的歩骤如下
(1.1).初始化候选边缘点作为一区域中心Z,j;(1.2) .沿列方向搜索,将Zi^, zng像素颜色空间转成色调、亮度和饱和度
(HIS)空间;
(1.3) .增加新的点到这个区域,只要满足与相邻像素点的色调值差不超过设 定的阈值H
<formula>formula see original document page 8</formula>
/2是两个像素色调的差值,Z,力力表示第i土k行j列像素的色调值;经算子处理后, 像素点的三通道灰度值为Gy,局部区域三通道灰度值之和的最大值的像素点定义
为边界点;
<formula>formula see original document page 8</formula>
E为算子处理后像素点灰度值之和的最大值;
2)、光条匹配采用颜色聚类的方法建立颜色匹配特征向量,对图像颜色和投射 颜色进行比较,定义色彩特征向量与聚类中心的欧式距离来分配候选光条红绿蓝 白颜色;
不同的颜色群集聚在特定的RGB空间区域,通过样本点训练颜色群的聚类 中心,然后用点到点的距离来匹配光条颜色;
<formula>formula see original document page 8</formula>Ai是两点距离的平方,户,是光条中心像素的RGB特征向量,Q是颜色聚类中心, ^^,力是l ^两点之间距离;设Z^min(A4),那么光条颜色的分配按照(4)式进行
<formula>formula see original document page 8</formula>
Sc表示光条颜色;
分配好颜色后,每三条相邻的光条颜色组成一个码字Si,找出每个码字在整
个序列的位置就是解码;光条坐标值x,定义为<formula>formula see original document page 8</formula>
ZM5Sf^^^;^i:接解码第_/帧光模板子序列&的坐标位置。 进一步,在所述步骤2)中,聚类中心的搜索方法为
(2.1) .初始化1(=4,红、绿、蓝、白色彩类,初始化K个群的中心;
(2.2) .把每个样本点分配给离群中心距离最小的群;
(2.3) .K群中的质心点成为新的聚类中心;(2.4).重复步骤2和3直到所有点都趋向稳定地聚集。 建立图像平面与投影光平面之间的正确匹配是一个复杂的问题。其歩骤包括 光条边界定位、光条颜色分配以及解码光条在每帧模板中的位置。重复上述步骤 就可以匹配全部特征点,进而重建三维形状。
光条边界的精确定位图像的边缘检测主要是灰度变化的度量、检测和定位, 边缘检测的方法众多,不同的方法使用的滤波器也不尽相同。在实际的实验中把
一幅图像假设为连续函数y(x,力,其方向导数在边缘方向是有极值,边缘检测的原
理是通过求xx,力梯度的极值来实现的。常用的边缘检测方法有基于一阶微分的边
缘检测算子,包括Roberts、 Sobel、 Prewitt算子,基于二阶微分的拉普拉斯算子 (L叩lace),还有基于最优化方法的Canny算子,各个算子模板如图4所示。
应用上述的常用算子对一幅图像进行边缘检测,先将彩色图像转化为灰度图 像,各个算子的检测结果如图5所示。
由于图像数据是二维的,空间的深度信息在透视过程中丢失,再加上成像过 程中的不均匀光照和噪声,使边缘检测的精度降低,在实际的边缘检测中如图3-5 所示,出现许多伪边缘,光条的边缘呈现出不连续性,这样会造成空间点码字的 丢失,不能实现解码。针对这些问题本文提出另外的边缘检测方案,先进行图像 预处理,在精确定位。光模板有水平彩色条纹组成,是一维编码方式,对经调制 的图像任意列行扫描,如图6所示。
从图6可以看出,沿垂直方向扫描,彩色光条与白色光条的灰度强烈变化明 显,光条的边缘可定义三通道灰度的极值来确定。彩色与白色边界周围存在着一 定灰度值的过渡细缝彩色条,捕捉图像中的边缘偏离实际定义模板边界,边界精 确定位直接影响系统重建的精度。针对上述问题,在检测边缘前,由于光模板是 一维条纹编码,沿着图像的每个列扫描,对每个像素点的各个通道用图7的一维 列算子进行预处理,确定灰度变化强烈的像素点为候选边缘点。
考虑到全局边缘点搜索耗时,本文提出局部搜索方法,在图像每一列上以候 选边缘点为中心,选取一定大小的区域,其最大值不超过光条宽度的1/2,搜索局 部领域的步骤如下
1. 初始化候选边缘点作为一区域中心z,j;
2. 沿列方向搜索,将Zi-kj,Zi+kj像素颜色空间转成色调、亮度和饱和度(HIS) 空间;3.增加新的点到这个区域,只要满足与相邻像素点的色调值差不超过设定的 阈值H
A-k(土^》一z,土hu力l (3-1) /z是两个像素色调的差值,z,i^表示第i:tk行j列像素的色调值。分别对白、红、 绿、蓝光条相邻像素的色调差作统计实验,取阈值H=0.06可获得理想的边界区 域。经算子处理后,像素点的三通道灰度值为cv局部区域三通道灰度值之和的 最大值的像素点可定义为边界点。
maX(£) = |;Gy(C = 3) (3-2)
户i
E为算子处理后像素点灰度值之和的最大值,检测的精度可达到像素级。图3-8 是对图3-5a原始图像运用上述方法进行边缘检测的结果,与上述算子相比,边缘 变得较连续,伪边缘点减少。
光条匹配图像中每条被检测出来的颜色和模板颜色有一定的相似度。因此, 正确匹配光条对应颜色是减少3D计算错误的关键。Zhang等人提出动态规划方法 匹配每个像素点,而不是匹配每条光条,非常耗时,如文献l: L. Zhang, B. Curless, S. M. Seitz. Rapid shape acquisition using color structured light and multi-pass dynamic programming[A]. In: Proceedings First International Symposium on 3D Data Processing Visualization and Transmission[C], 2002, 24-36,艮卩L. Zhang, B. Curless, S. M. Seitz. 基于多通道动态规划的彩色结构光快速形貌重建[A].第一届国际研讨会三维可视 化数据处理和传输[C], 2002, 24-26.。 Fechteler等人釆用一个复杂直线聚类算法找到 每个聚类直线的参数,直线之间的分离度不明显,如文献2: P. Fechteler and P. Eisert. Adaptive color classification for structured light systems[A]. In: Proceedings of the 15th International Conference on Computer Vision and Pattern Recognition[C], Anchorage, AK, USA, 2008,1-7,即P. Fechteler and P. Eisert.结构光系统颜色自适应 聚类[A].第15届国际计算机视觉和模式识别会议[C],美国,2008, 1-7.。本实施例 采用颜色聚类的方法建立颜色匹配特征向量,对图像颜色和投射颜色进行比较,定 义色彩特征向量与聚类中心的欧式距离来分配候选光条红绿蓝白颜色。编码采用的 三基色空间距离已足够大,用经典的K均值算法搜索色彩类中心。首先选择拍摄 的多幅图像,考虑到样本空间,实验中选择三幅图像,并把对应像素RGB分量转 成色彩三维特征向量作为输入的样本数据,聚类中心搜索如下
1. 初始化K-4,红、绿、蓝、白色彩类,初始化K个群的中心;
2. 把每个样本点分配给离群中心距离最小的群;
103. K群中的质心点成为新的聚类中心;
4. 重复步骤2和3直到所有点都趋向稳定地聚集。
实验表明捕捉的图像颜色与投影仪投射的模板颜色有各种不同的扭曲和失 真。另外,各传感器存在噪声和颜色间的串扰。如图9所示,描述三基色RGB 空间,(a)是在理想情况下投影仪中抓取的光条颜色RGB空间,(b)是在办公环境 下摄像机拍摄的光条颜色RGB空间。
在图9中,(b)所示,不同的颜色群集聚在特定的RGB空间区域,通过样 本点训练颜色群的聚类中心,然后用点到点的距离来匹配光条颜色。
A*"V',CA) ("1,2,3,4) (3-3) At是两点距离的平方,尸,是光条中心像素的RGB特征向量,Ot是颜色聚类中心, ^3c,W是x, _y两点之间距离。设D=min(Afc),那么光条颜色的分配按照(3-4)式进

&={A: (A; = 1,2, 3, 4) (3-4)
Sc表示光条颜色。例如,hl,则光条颜色为红色。(hl,2,3,4)分别指示红、绿、
蓝和白色。分配好颜色后,每三条相邻的光条颜色组成一个码字Si,找出每个码
字在整个序列的位置就是解码。采用Hsieh提出的直接解码DeBrajin算法,与穷 举解码相比,不需要存储额外的字母表,时间复杂度是穷举法的1/n(n为编码元)。 光条坐标值x,定义为
x,-脑外,)+》-1) (5)
ZMASf^直接解码第y帧光模板子序列&的坐标位置。
本实施例中,首先选择常用的RGB模型作为彩色模型,选择红绿蓝和白作 为编码颜色集,以使颜色的距离最大,满足颜色的精确匹配。边缘检测中,采用 一维算子进行预处理,定义三通道梯度变化平方和的极值作为边界点,同时利用 边界像素点分割光条,结合经典的K均值聚类方法,实验中光条颜色的匹配正确 率达到100%,利用已分配的光条颜色组成码字,通过直接解码算法,直接定位 光条的空间位置,与穷举法相比,大大提高了解码效率。
1权利要求
1、一种结构光三维视觉系统的光模板匹配方法,其特征在于所述匹配方法包括以下步骤1)、光条边界的定位待检测的光模板为一维条纹编码,沿着图像的每个列扫描,对每个像素点的各个通道用一维列算子进行预处理,确定灰度变化强烈的像素点为候选边缘点,在图像每一列上以候选边缘点为中心,选取一定大小的区域,其最大值不超过光条宽度的1/2,搜索局部领域的步骤如下(1.1).初始化候选边缘点作为一区域中心zi,j;(1.2).沿列方向搜索,将zi-k,j,zi+k,j像素颜色空间转成色调、亮度和饱和度(HIS)空间;(1.3).增加新的点到这个区域,只要满足与相邻像素点的色调值差不超过设定的阈值Hh=|zi±k,j,h-zi±k±1,j,h| (1)h是两个像素色调的差值,zi±k,j,h表示第i±k行j列像素的色调值;经算子处理后,像素点的三通道灰度值为Gij,局部区域三通道灰度值之和的最大值的像素点定义为边界点;<maths id="math0001" num="0001" ><math><![CDATA[ <mrow><mi>max</mi><mrow> <mo>(</mo> <mi>E</mi> <mo>)</mo></mrow><mo>=</mo><munderover> <mi>&Sigma;</mi> <mrow><mi>j</mi><mo>=</mo><mn>1</mn> </mrow> <mi>C</mi></munderover><msub> <mi>G</mi> <mi>ij</mi></msub><mrow> <mo>(</mo> <mi>C</mi> <mo>=</mo> <mn>3</mn> <mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo></mrow> </mrow>]]></math></maths>E为算子处理后像素点灰度值之和的最大值;2)、光条匹配采用颜色聚类的方法建立颜色匹配特征向量,对图像颜色和投射颜色进行比较,定义色彩特征向量与聚类中心的欧式距离来分配候选光条红绿蓝白颜色;不同的颜色群集聚在特定的RGB空间区域,通过样本点训练颜色群的聚类中心,然后用点到点的距离来匹配光条颜色;Dik=d2(Pi,Ck)(k=1,2,3,4) (3)Dik是两点距离的平方,Pi是光条中心像素的RGB特征向量,Ck是颜色聚类中心,d(x,y)是x,y两点之间距离;设D=min(Dik),那么光条颜色的分配按照(4)式进行sc={k if D==Dik(k=1,2,3,4) (4)sc表示光条颜色;分配好颜色后,每三条相邻的光条颜色组成一个码字si,找出每个码字在整个序列的位置就是解码;光条坐标值xi定义为<maths id="math0002" num="0002" ><math><![CDATA[ <mrow><msub> <mi>x</mi> <mi>i</mi></msub><mo>=</mo><mi>DdBS</mi><mrow> <mo>(</mo> <msub><mi>s</mi><mi>i</mi> </msub> <mo>)</mo></mrow><mo>+</mo><mfrac> <mn>1</mn> <mn>4</mn></mfrac><mrow> <mo>(</mo> <mi>j</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo></mrow> </mrow>]]></math></maths>DdBS(si)表示直接解码第j帧光模板子序列si的坐标位置。
2、如权利要求l所述的结构光三维视觉系统的光模板匹配方法,其特征在于在 所述步骤2)中,聚类中心的搜索方法为-(2.1) .初始化K-4,红、绿、蓝、白色彩类,初始化K个群的中心;(2.2) .把每个样本点分配给离群中心距离最小的群;(2.3) .K群中的质心点成为新的聚类中心;(2.4) .重复步骤2和3直到所有点都趋向稳定地聚集。
全文摘要
一种结构光三维视觉系统的光模板匹配方法,包括以下步骤1)光条边界的定位待检测的光模板为一维条纹编码,沿着图像的每个列扫描,对每个像素点的各个通道用一维列算子进行预处理,确定灰度变化强烈的像素点为候选边缘点,在图像每一列上以候选边缘点为中心,选取一定大小的区域,其最大值不超过光条宽度的1/2,搜索局部领域;2)光条匹配采用颜色聚类的方法建立颜色匹配特征向量,对图像颜色和投射颜色进行比较,定义色彩特征向量与聚类中心的欧式距离来分配候选光条红绿蓝白颜色。本发明能实现光模板的良好匹配、成像精度高、能实现结构光视觉成像系统三维重建。
文档编号G06T17/00GK101673412SQ20091015361
公开日2010年3月17日 申请日期2009年9月29日 优先权日2009年9月29日
发明者盛 刘, 原长春, 贝 潘, 胡正周, 陈胜勇 申请人:浙江工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1