本发明涉及三维表面扫描建模领域,具体为基于参考图像的结构光系统解相方法及系统。
背景技术:
三维表面扫描建模在产品检测、逆向工程、3d打印、人体测量、人机交互、动画制作等领域有着广泛的应用。目前流行的方法包括激光扫描方法、立体视觉方法、飞行时间(tof)法和结构光方法等。
相移法因它的高精度而被人们所熟知。相移结构光系统通常可分为单投影-单相机系统和单投影-双相机系统。
经典的相移法,需要向目标表面投射至少3幅相位移动的条纹图,通过对相机采集的图像进行分析,恢复每个相机图像像素点处的相位值,叫做包裹相位。为了得到物体的三维形貌,还需要对包裹相位进行解相,根据周期数,得到绝对相位值。
传统方法是采取再投影多幅采用格雷编码的二值条纹图,用于求取周期数,其较为复杂,因此,该技术有必要进行改进。
技术实现要素:
为了解决上述技术问题,本发明的目的是提供一种基于参考图像的结构光系统解相方法及系统。
本发明所采用的技术方案是:
本发明提供一种基于参考图像的结构光系统解相方法,其包括以下步骤:
s1,系统控制结构光系统向一平面场景投射不少于两幅图像,其中投射图像至少包括一幅二值条纹图a和一幅参考纹理图b;系统采集上述图像,分别得到条纹图c和纹理图d,并得到所述纹理图d的编码图e;
s2,系统控制结构光系统向待测三维场景投射不少于四幅图像,其中投射的图像至少包括三幅相移图f和一幅所述纹理图b,且所述相移图f的条纹与所述二值条纹图a的条纹宽度相同;系统采集各图像,得到纹理图g和相移条纹图i;
s3,求解得到所述相移条纹图i的相对相位图;
s4,系统将采集到的纹理图g与所述纹理图d进行匹配对齐,确定所述纹理图g的每个像素(x,y)在纹理图d上的映射坐标(x′,y′),进而确定各像素对应的周期数;
s5,系统得到各像素的绝对相位。
作为该技术方案的改进,所述编码图e的每一像素值对应于条纹图c相同坐标下的条纹编号可表示为;
e(x,y)=k(k=1,2,…n)
其中,n为条纹数目,k为条纹周期数。
作为该技术方案的改进,所述三幅相移条纹图i可表示为:
其中,i′表示平均亮度,i″为调制信号的幅度,
作为该技术方案的改进,所述相对相位可表示为:
其中,相对相位的取值范围为[-π,π]。
作为该技术方案的改进,所述各像素对应的周期数可表示为:k(x,y)=e(x′,y′)。
进一步地,所述绝对相位可表示为:
另一方面,本发明还提供一种基于参考图像的结构光系统解相系统,其包括:
投影及图像采集模块,用于执行步骤s1,系统控制结构光系统向一平面场景投射不少于两幅图像,其中投射图像至少包括一幅二值条纹图a和一幅参考纹理图b;
系统采集上述图像,分别得到条纹图c和纹理图d,并得到所述纹理图d的编码图e;
s2,系统控制结构光系统向待测三维场景投射不少于四幅图像,其中投射的图像至少包括三幅相移图f和一幅所述纹理图b,且所述相移图f的条纹与所述二值条纹图a的条纹宽度相同;系统采集各图像,得到纹理图g和相移条纹图i;
相位计算模块,用于执行步骤s3,求解得到所述相移条纹图i的相对相位图;
s4,系统将采集到的纹理图g与所述纹理图d进行匹配对齐,
确定所述纹理图g的每个像素(x,y)在纹理图d上的映射坐标,
进而确定各像素对应的周期数;
s5,系统得到各像素的绝对相位。
本发明的有益效果是:本发明提供的基于参考图像的结构光系统解相方法及系统,只需要向目标表面投射4幅图像,包括3幅相移条纹图和1幅参考纹理图。传统单投影-单相机系统需要投影多幅二值格雷码图求取周期数,得到绝对相位图。投影多幅相移条纹图像的三维扫描建模方法,要求场景在图像投影采集过程中保持绝对静止,投影图像数目越多,时间跨度越长,不仅仅影响了建模效率,也对工作条件要求更高。投影单幅编码图的场景三维扫描建模方法,对场景绝对静止的要求不高,但立体匹配算法的精度不高,其场景重建的精度远小于相移法。本发明只投影4幅图像,降低了工作条件要求,提高了扫描效率,又无损地保留了相移法的高精度优点。
附图说明
下面结合附图对本发明的具体实施方式作进一步说明:
图1是一实施例的基于参考图像的绝对相位映射;
图2是一实施例的基于参考图像的解相框架;
图3是一实施例的结构光系统几何关系示意图;
图4是一实施例的散斑图像匹配流程;
图5a是一实施例的种子视差图;
图5b为图5a扩散后的密集视差图;
图5c为图5a的相对相位图;
图5d为图5a的绝对相位图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明公开了一种新的实用的解相方法,其只需要向目标场景投射4幅图像,包括3幅相移条纹图和1幅参考纹理图。在建模开始之前,先用结构光系统对一个平面目标(如墙面)进行拍摄。在采集的平面目标的图像中,条纹图像被用来计算参考纹理图像每一像素对应的周期数。在建模时,只要建立当前纹理图与准备过程的纹理图之间的对应关系,就可以直接为当前视图的像素点映射到周期数,再结合相移法得到的相对相位值,得到绝对相位值。
1.三步相移基本原理
相移法是一种基于条纹的三维表面建模方法。建模时,在目标表面投影一组相移图像,用相机采集对应的图像,通过分析相机图像每个像素点处的相位,从而恢复物体的三维形貌。一般来说,投影的图像的最小数目为三个,但更多的图像将会提高重建相位的准确性。三步相移算法只需要投影三幅图像,适合快速三维建模应用。对于经典的三步相移算法,三幅相移条纹图像可以表示为:
其中,i′表示当前点背景亮度,i″为调制信号的幅度,
求解方程(1)可以得到:
式(2)中的相位
绝对相位
其中,k=0,1,2,…,n,其为条纹的周期数。
只依靠三幅条纹图,不能确定式(3)中的周期数k。如何确定周期数k,是单投影-单相机结构光系统的一个关键问题。确定k的过程,称为解相。
2.解相框架
在本发明中,提出一种新的解相框架。在该框架中,投影机向目标表面投射4幅图像,其中3幅为相移条纹图,1幅为纹理图。3幅相移图被用来计算相对相位,一幅纹理图被用来解相。该框架的主要特点是基于纹理图像的解相,其流程如图1所示。
在建模开始之前,用结构光系统获取一个近似平面目标(如墙壁)的2幅图像,1幅条纹图和1幅纹理图,根据条纹图,标记出纹理图每一像素对应的条纹周期数。为了解相,对相机采集的当前纹理图和准备过程得到的纹理图像进行配准。对应点理论上应该具有相同的条纹周期数,根据当前相移法得到的相对相位,结合周期数,得到图像上每一像素的绝对相位。
3.纹理图像匹配
匹配算法
本发明解相框架中的散斑图像匹配与传统的立体匹配类似,目标都是建立两幅图像之间的密集对应。本实施例提供了一个结合相位信息的基于区域生长策略的纹理图像匹配算法。此处以纹理图像为典型的二值散斑图像为例,首先,在准备过程得到散斑图像和当前散斑图像中检测散斑点的位置;然后,对这些稀疏的散斑点进行匹配,得到可靠、稀疏的视差图;最后,以稀疏的视差图中的有效像素点为种子点,采用迭代的方式把视差扩散到其他像素。匹配流程如图4所示。
步骤1:散斑检测
这一步的目的是检测散斑图像中每个散斑点的中心位置。其判断的依据是:如果某个像素点的灰度值,在以它为中心的3×3邻域中为极大值,则把该像素点标记为一个散斑的中心。
步骤2:散斑视差计算
对待匹配的两幅散斑图像,分别检测出散斑中心的位置。然后,再利用一个相似性函数和“赢家通吃”(winner-take-all,wta)准则计算稀疏的散斑点的视差。对于当前帧一个被标记为散斑点像素pc,它在参考图像中的对应点pr应该满足以下条件:
a)pr在参考散斑图像中也被标记为散斑中心点;
b)y(pc)=y(pr);
c)在所有的函数点中,相似性函数s(pc,pr)相似性取得最大值,且大于最低相似性阈值smin;
相似性函数s的定义为
其中,gc和gr表示当前帧图像和参考图像像素点的归一化的梯度向量;w表示以pc为中心的局部窗口;d为视差值(d=x(pc)-x(pr)),d∈[dmin,dmax](dmin和dmax表示最小和最大视差)。
视差计算结束以后,再进行左右一致性检查,以减少误匹配点。
步骤3:视差扩散
在上一步中,得到可靠的稀疏视差图。在这个基础之上,用基于区域生长的策略来进一步获得密集视差图。具体地,把稀疏视差图中具有有效视差值的像素点作为种子点。对于每个种子点,它的视差值ds被从上、下、左、右分别扩散到它的4-邻域,然后在[ds-1,ds+1]范围,用wta和相位约束重新计算这些邻域的视差值。对于某个方向来说,如果最佳的相似度分值低于smin,则停止这个方向的扩散。重复这个扩散流程,直到所有的像素都被考虑,或达到最大迭代次数为止。
为了验证本发明公开的方法的有效性,采用一个ccd相机(分辨率为640×480)和一个dlp投影机(1280×800)搭建了一个结构光系统。相机的最大帧率为160fps,相机镜头的焦距为8mm(镜头的型号为computarm0814-mp2),解相结果如图5所示。
另一方面,本发明还提供一种基于参考图像的结构光系统解相系统,其包括:
投影及图像采集模块,用于执行步骤s1,系统控制结构光系统向一平面场景投射不少于两幅图像,其中投射图像至少包括一幅二值条纹图a和1幅纹理图b;
系统采集上述图像,分别得到条纹图c和纹理图d,并得到所述纹理图d的编码图e;
s2,系统控制结构光系统向待测三维场景投射不少于四幅图像,其中投射的图像至少包括三幅相移图f和一幅所述纹理图b,且所述相移图f的条纹与所述二值条纹图a的条纹宽度相同;
系统采集各图像,得到纹理图g和相移条纹图i;
相位计算模块,用于执行步骤s3,求解得到所述相移条纹图i的相对相位图;
s4,系统将采集到的纹理图g与所述纹理图d进行匹配对齐,确定所述纹理图g的每个像素(x,y)在纹理图d上的映射坐标,进而确定各像素对应的周期数;
s5,系统得到各像素的绝对相位。
本发明提供的基于参考图像的结构光系统解相方法及系统,只需要向三维场景表面投射4幅图像,包括3幅相移条纹图和1幅二值散斑图。在建模开始之前,先用结构光系统对一个近似平面(如墙面)目标进行拍摄,在采集的近似平面目标的图像中,条纹图像被用来计算相对相位图,纹理图像用于计算周期数,两者结合得到当前图像每一像素的绝对相位。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。