本发明涉及一种用于三维成像与测量技术的基于结构光对比度优化的两步相移算法,属于三维成像与测量领域。
背景技术:
近年来,基于相位辅助的结构光三维成像技术以其非接触、高精度、易于实现等优点,在工业生产、文化艺术、医学成像、虚拟现实等诸多领域得到了广泛的应用。其中相位信息作为三维成像中的特征信息,为实现同一物点在不同像中的对应点匹配提供唯一性约束。快速准确地得到物体表面的相位信息是此类三维成像技术的关键。
相移算法是相位重建的经典算法,通过向目标投影并采集相同频率、不同相移量的多幅条纹图,以获得目标表面的相位信息。传统相移算法需要投影至少三幅相移条纹图才可以实现相位重建。而投采多幅相移图,需要一定的图像采集时间。
因此本发明试图通过两幅相移条纹图重建相位信息,以缩短相位重建的时间。而为了弥补相移条纹图减少带来的相位重建精度下降,本发明引入对比度优化算法降低相位重建误差。
技术实现要素:
本发明的目的在于,提供一种基于结构光对比度优化的两步相移算法,以减少投采相移图像数量,缩短相位重建时间,得到更准确的相位信息。
本发明的基于结构光对比度优化的两步相移算法,包括两步相移相位计算和对比度优化两个过程:
(1)两步相移相位计算过程,该过程处理采集到的两幅相移条纹图,计算出对应像素点上的相位信息;包括以下步骤:
①对采集到的图像进行滤波,以减少噪声带来的影响;
②用对比度变化表征背景光强,得到关于两步相移的光强分布模型,由两步相移的光强分布模型结合三角函数的平方和关系,得到关于物体表面反射率r的一元二次方程,求解该方程得到反射率r的两个解;
③将得到的反射率r的解代回到光强分布模型中,得到关于折叠相位
④根据绝对相位递增的特性,从两个折叠相位解中筛选出递增部分,组成折叠相位的初始解,同时标记出对比度敏感的像素点;
(2)对比度优化过程,是根据绝对相位线性递增的特征,选取对结构光对比度敏感的区域上像素点,在其邻域上做线性假设,通过关于对比度和相位的联合优化,达到修正对比度的目的;具体包括以下步骤:
①根据绝对相位的线性特性,对标记像素点的水平邻域上的相位值做线性假设,取标记像素点水平邻域上的5-7个点,将这5-7个点的光强分布模型联立,通过对比度和绝对相位的联合优化,达到优化区域对比度的目的;
②根据临近像素对比度相近的特点,由局部区域的对比度,对整体进行插值填充,得到优化后的整个投影范围内的结构光对比度分布情况。
所述对比度优化过程中优化后的对比度分布代入两步相移相位计算过程中的光强分布模型,再经过相位计算过程中的②-④步,得到更为准确的反射率分布情况和相位信息。
所述两幅相移条纹图的相位差为3π/2。
所述两步相移的光强分布模型为:
i1(x,y)=r(x,y){1+amcos[φ(x,y)]},
i2(x,y)=r(x,y){1+amsin[φ(x,y)]},
其中r是物体表面反射率,am为投影条纹的初始对比度,φ(x,y)为图像上对应像素点的相位值。
所述反射率r的一元二次方程为:
(2-am2)r2-2(i1+i2)r+i12+i22=0,
am为投影条纹的初始对比度,i1和i2为采集到的两幅图像的光强分布。
所述折叠相位的表达式为:
所述两步相移相位计算过程的步骤④中,区分解和标记像素点的过程为:
①计算两个解在水平方向上的一阶差分,得到递增区域的位置矩阵
②计算标记像素点的判别矩阵
③若p=1,则该位置为可靠像素点,对应到两个解,位置矩阵分别为
④判别s矩阵对应像素处的
⑤计算折叠相位的初始估计:
本发明将环境光的影响纳入到结构光对比度的变化中,构造以相位和表面反射率为待求变量的两步相移光强分布模型,并由此求得相位的初始分布。基于绝对相位的线性特征,对区域相位信息和结构光对比对进行联合优化,得到更为准确的结构光对比度。应用修正后的结构光对比度获得更精确的相位信息。
本发明具有以下特点:
(1)相比传统的相移算法(不少于三步),可以减少投采相移图像所需要的时间,实现更快速地相位重建;
(2)把背景光的影响纳入到对比度的变化中,通过优化修正对比度分布,得到更准确的相位信息;
(3)对比度优化仅在局部邻域进行,兼顾了对比度的全局非一致性和计算效率。
附图说明
图1是本发明算法的整体流程图。
图2是本发明中相位计算流程图。
图3是本发明中的对比度优化流程图。
图4是本发明中的折叠相位的两个解分布图。
图5是本发明中对比度优化的区域示意图。
具体实施方式
图1给出了本发明基于结构光对比度优化的两步相移算法的整体流程图,包含相位计算过程的流程图和对比度优化的流程图。整个过程从采集到的数据,经过相位计算过程,对比度优化过程,再经过一次相位计算过程,便得到更为准确的相位信息。
一.相位计算的过程如图2,根据条纹投采的物理过程建立两步相移的光强分布模型,进而计算物体表面的反射率分布情况和折叠相位分布情况,该算法将相移量设为3π/2,引入了三角函数的平方关系作为求解折叠相位的辅助条件,得到关于折叠相位的一元二次方程;利用绝对相位的单调性对得到的方程解进行判别,同时标记出对结构光对比度敏感的区域。
具体实施过程如下:
(1)对采集到的图像进行滤波,减少噪声带来的影响。
本实施例中,使用ti的dlplightcrafter4500投影两幅相位差为3π/2,对比度设置为0.8,频率为1/36,,分辨率为912×1140的正弦条纹,采用basleraca1300-60gm相机采集图像,其分辨率为1280×1024,信噪比为39.8db。在黑暗环境下,拍摄白色漫反射平板的两步相移图像。
(2)用对比度变化表征背景光强,得到关于两步相移的光强分布模型:
i1(x,y)=r(x,y){1+amcos[φ(x,y)]}
i2(x,y)=r(x,y){1+amsin[φ(x,y)]}
其中i1、i2为采集到的两幅图像的光强分布,r是物体表面反射率,am为投影条纹的初始对比度,φ(x,y)为图像上对应像素点的相位值。由两步相移的强度分布模型结合三角函数的平方和关系,得到关于反射率r的一元二次方程:
(2-am2)r2-2(i1+i2)r+i12+i22=0
求解该方程得到物体表面反射率r的两个解r1、r2。
(3)将得到的反射率r的解代回到模型中,得到关于折叠相位
折叠相位的表达式为:
(4)根据绝对相位递增的特性,从两个折叠相位解中筛选出递增部分,组成折叠相位的初始解,同时标记出对对比度敏感的像素点。区分解和标记像素点的过程为:
①计算两个解在水平方向上的一阶差分,得到递增区域的位置矩阵
②计算标记像素点的判别矩阵
③若p=1,则该位置为可靠像素点,对应到两个解,位置矩阵分别为
④判别s矩阵对应像素处的
⑤计算折叠相位的初始估计:
二.对比度优化的过程,如图3,是根据绝对相位线性递增的特征,选取对结构光对比度敏感的区域上像素点,在其邻域上做线性假设,通过关于对比度和相位的联合优化,达到修正对比度的目的。算法将背景光的影响纳入到结构光对比度的变化中,通过修正对比度来修正背景光的影响。具体实施过程如下:
(1)根据相位的线性特性,对标记像素点的水平邻域上的相位值做线性假设,取标记像素点水平邻域上的5-7个点,将这5-7个点的光强分布模型联立,通过对比度和相位的联合优化,达到优化区域对比度的目的。
本实施例中,选取水平方向的7个像素构成的邻域作为选取窗口,假设线性递增步长为φt,标记像素点初始相位值为φc,目标函数如下:
(2)根据临近像素对比度相近的特点,由局部区域的对比度,对整体进行插值填充,得到修正过的关于整个投影面积上的结构光对比度分布情况。本实施例中采用临近点插值的算法进行对比度扩散直到填充满投影区域。
三.把修正过的对比度分布代入光强分布模型,再经过相位计算过程中的(2)-(4)步,即可得到更为准确的反射率分布情况和相位信息。
图4给出了图像某一行上折叠相位的两个解