基于蚁群相位抖动优化的高质量三维形貌测量

2021-08-18 02:40邢生平
光电工程 2021年7期
关键词:二值二进制方根

邢生平,蔡 宁,林 斌

浙江大学 现代光学仪器国家重点实验室 国家光学仪器工程技术研究中心,浙江 杭州 310027

1 引 言

数字条纹投影三维测量技术通过采集被物体高度调制后的变形条纹图像解析三维高度信息[1-3],具有低成本、高精度、非接触等优点[3-6],在虚拟现实、零件加工、三维重建等领域应用广泛。但是商用投影仪的非线性效应在投射条纹图案时对条纹的正弦性产生了干扰,严重影响实验结果。

通过研究人员的不断深入研究发现,离焦二元编码技术能消除投影仪的非线性误差,避免各种方式的误差补偿操作[7-9]。因为离焦二元编码对象只有0 和1,位深只有一位,不需要进行非线性校正,因此非线性问题能够得到解决,而且二值离焦技术投射的二值图像能提高投影仪的投影速度,可以实现高速动态测量,但是测量精度仍有待提高。

为了解决这个问题,研究人员提出了二值方波离焦技术[10]、最优脉冲宽度调制技术[11]等,条纹周期较短时,这些技术有效解决了测量精度的问题。但是这些一维调制技术对图像二维信息的利用率不够,条纹周期增加时,仍然存在测量误差问题。

抖动技术有效利用图案的二维信息,在离焦投影后可以产生高质量的二值条纹,极大改进了离焦结构光三维测量在处理长周期条纹时的实验效果,但是短周期测量时仍存在测量误差[12-13]。抖动优化技术最大程度地减小二值条纹与理想正弦条纹之间的灰度差值,提高不同周期时条纹的正弦性,得到高质量的离焦二值条纹,有效改进不同周期的条纹的实验效果。

本文提出一种基于改进二进制蚁群算法的优化方法,提高不同离焦程度时二值条纹的正弦性,减小相位误差。通过对二值块的优化替代二值图案的优化,提高了优化过程。仿真和实验结果表明:在不同离焦程度下,本文所提方法能有效提高测量精度。

2 原 理

2.1 三步相移法

相移法是目前应用较为广泛的光学测量方法之一,具有运算简单、精度高等特点,相移步数越多,测量精度越高。三步相移法因只需要最少的投影图像而广泛应用于动态三维测量。操作中,将正弦条纹分3 次投影到物体表面,每次投影光栅的相位差为2π/3,灰度值可以表示为

式中:B表示背景光强,A表示调制参数,φ(x,y)表示待求相位值,求解后得到:

分析上式中的反正切函数,其值域在(-π,π]主值区间内,通过相位解包裹操作后得到连续的绝对相位,实现精确的三维重建[5,14]。

2.2 误差扩散抖动原理

抖动技术在图像处理、打印等领域应用广泛,其中较为典型的是误差扩散抖动技术[15],有Floyd-Steinberg 抖动技术、Sierra-lite 抖动技术等。相比随机抖动和有序抖动等方法,误差扩散抖动方法在自身灰度值基础上,还考虑了邻近像素扩散的量化误差,模拟正弦条纹的效果更好,成像质量更佳。误差扩散抖动算法将当前像素的量化误差扩散到相邻像素上的过程表示为

式中:I′(i,j)表示量化误差扩散后图像的灰度值,I(i,j)表示原始图像的灰度值,量化误差e(i,j)通过误差扩散核函数h(m,n)扩散到邻近像素。最常用的Floyd-Steinberg 抖动函数的误差扩散核为

式中:∗均表示当前正在处理的像素,X表示已经处理过的像素。

2.3 遗传算法

遗传算法[16]是一种智能进化算法,发展至今已经十分成熟,最先由Holland J H 观察生物遗传进化的自然现象提出,采用随机搜索机制,能实现群体寻优,全域搜索能力较强,在路径规划、电路设计等诸多领域都有广泛的应用。其核心思想是在自然进化过程中,将父本更优良的基因遗传给下一代,始终把优良基因遗传下去,伴随着交叉和变异等随机概率,最终进化出拥有最优良基因的子代。

在应用遗传算法寻找最优时,通过选择、交叉、变异等操作进行进化,用适应度来评判每一代进化是否为更优,最终收敛于最优。遗传算法最常用的编码方式是二进制编码方法,因此,本文中的遗传算法采用二进制编码方式,与二进制蚁群算法结合也更容易。

2.4 二进制蚁群算法

受到蚁群觅食过程中寻找最短路径的理论启发,Dorigo 等[17]首先提出蚁群算法,具体来说,在同样的时间内,蚂蚁按照信息素的大小来选择一条路径,越短的路径上留下的信息素越多,选择这条路径的蚂蚁也会越多,信息素也将快速增加,选择这条路径的概率就会变大,是一种正反馈机制。这种算法局部搜索能力强大,所有可供选择的路径构成了解空间,最后信息素最多的这条路径就是最优解。

信息素随着时间不断消逝,信息素的消逝快慢取决于残留因子ρ[18-19]。ρ较大时,信息素的积累速度会加快,在正反馈的作用下,收敛速度也会加快。相反,ρ较小时,信息素的积累速度变慢,正反馈作用也会降低,搜索速度也会变慢,但是寻优能力会相应提升。因此残留因子ρ直接影响着收敛速度和寻优能力。

为了解决离散空间问题,发展出了二进制蚁群算法[20-21]。二进制蚁群算法也遵循信息素正反馈这个关键机制,依据信息素大小来选择前进方向,只是用二进制的字符串表示单个蚂蚁在某个节点(i,j)对下一个节点的选择状态,选择对象仅为0 和1,二进制蚁群算法中个体的行进机制如图1。

图1 二进制蚁群算法的路径选择Fig.1 Path selection of binary ant colony algorithm

信息素决定着蚂蚁下一条路径的移动方向,因此如何选择下一条路径取决于移动概率Pij,二进制蚁群算法根据状态选择对象对基本蚁群算法的转移概率公式调整为

式中:Pij(0)和Pij(1)是在节点(i,j)上选择路径0 或1的转移概率,τij(0)和τij(1)是在节点(i,j)上路径0 或1残留的信息素,ηij(0)和ηij(1)是节点(i,j)上选择路径0或1 的可见度,α是信息启发因子,β是期望启发因子。

为了提高收敛效率,严格遵循正反馈机制,完成一次路径的搜索,就要对信息素进行一次更新,信息素更新公式为

式中:Δτ=1/fbest,fbest是一次迭代后的最优解。

3 基于改进二进制蚁群算法的优化方法

3.1 目标函数

二值离焦技术的目的是优化离焦二值条纹的正弦性,尽可能减小与理想正弦条纹之间的灰度值误差[21]。优化过程用数学语言表述为

式中:|| •|| 是Frobenius 范数,E(x,y)表示像素灰度值误差,I(x,y)表示理想正弦图像,f(x,y)表示待优化的二值图像,G(x,y)表示高斯滤波内核,⊗表示卷积操作。

3.2 优化过程

理想的正弦条纹图案具有对称性和周期性,因此,待优化的二值图像也应该具有相同的对称性和周期性,利用周期性和对称性,选取尺寸更小的二值块进行优化,最后拼成最优或近似最优二值图像。

遗传算法具有较强的随机搜索功能,能实现全域搜索,但是种群较多时搜索效率较慢。二进制蚁群算法运行效率高,局部搜索能力强,但是容易过早收敛。为了提高搜索精度和速度,本文提出一种将遗传算法和二进制蚁群算法结合的改进二进制蚁群算法,并对状态选择、能见度及信息素更新做了改进。

基本二进制蚁群算法在状态选择时,只能看到下一个随机节点,总体目标方向不明确。本文改进状态选择机制,个体蚂蚁在状态选择过程中,能看到所有未走过的节点,根据比较目标函数的大小明确下一个节点,根据转移概率公式确定去往这个节点的各种路径状态。最终所有的状态构成解空间,目标函数值最小的状态集合为最优路径。

对二进制蚁群算法这种启发式算法来说,起始点出发后的能见度影响着整个路径的寻优过程,较优的能见度能极大地提高算法找到最优解的性能。本方法利用遗传算法为二进制蚁群算法提供初始能见度,具体方法是比较遗传算法得到的状态集合中0 和1 的比例,比例越高能见度越高,比例越低能见度越低。

为了避免二进制蚁群算法中信息素正反馈导致的过早收敛问题,本方法在一次迭代完成后对全部路径上的信息素进行一次随机概率的更新,即:

式中:δ(t+1)=δ(t)+ε,ε为小于0.1 的随机数。

本文的优化框架流程如图2 所示。其主要步骤可以描述为:

图2 本文方法的流程图Fig.2 Flowchart of the propose method

1)初始化设置:确定算法参数。

2)确定个体维度:选取Sx×Sy的一维数组作为种群的大小,Sx是条纹周期的一半,即Sx=T/2,Sy=1。

3)适应度评估:确定种群规模为60,用方程(11)进行个体适应度评估。

4)遗传算法较优解:运行遗传算法操作,进化出较优个体。

5)能见度:根据遗传算法较优解中不同状态的比例得到初始能见度,并生成初始蚁群。

6)二进制蚁群较优解:通过运行算法得到本次寻优过程的最优解。

7)比较:比较二进制蚁群算法和遗传算法得到的较优解,谁更优输出谁的结果。

8)信息素更新:用本次寻优过程的最优解更新所有路径上的信息素。

9)判断终止:终止条件为最优值改变不超过1×10-6或迭代次数超过3000 次,如果不满足跳转到步骤3)。

10)维度约束:Sy=Sy+1,Sy≤ 15,转到步骤2)。

11)完整图像:根据对称性和周期性,拼出完整二值条纹。

4 仿 真

为了佐证本文所提方法,选定条纹周期T=15,20,…,115,120 来进行仿真实验。用模板大小为G(G=6×14),标准差为ε(ε=G/3)的高斯滤波器来表示投影仪的不同离焦程度,选定模板大小G=6×6,10×10,14×14 的高斯滤波器效果分别对应投影仪轻度离焦、中度离焦、重度离焦的效果。利用三步相移法来计算相位值,仿真设计选取800×600 分辨率大小的图案。

图3 为Floyd-Steinberg 误差扩散抖动算法和本文方法生成的二值图案。条纹周期选择15,高斯滤波器模板大小选择6×6。其中图3(a)是Floyd-Steinberg 误差扩散抖动方法产生的二值图案,图3(b)是经过6×6 模板大小的高斯滤波器滤波后的条纹图案,图3(c)是本文方法生成的二值图案,图3(d)是经过6×6 模板大小的高斯滤波器滤波后的条纹图案。对比看出,Floyd-Steinberg 误差扩散抖动算法生成的二值图案不对称性比较明显,对条纹滤波后质量影响较大,降低后期实验测量精度;本文所提方法生成的二值图案分布整齐,对称性强,如图3(c)中红色方框标出位置所示,滤波后的条纹质量较高,随着离焦程度的增加,滤波后的条纹图将更加贴近标准正弦条纹图案,说明本文方法有更显著的改进效果。

图3 两种方法生成的二值图案及高斯滤波后的图案Fig.3 Binary patterns generated by two methods and patterns after Gaussian filtering

以标准正弦为对比,对Floyd-Steinberg 误差扩散抖动算法和本文方法进行误差分析如图4。图中显示条纹周期为15 时,Floyd-Steinberg 误差扩散抖动算法和本文方法在轻度离焦情况下与标准正弦条纹的强度误差和相位均方根误差比较的截面图,截取范围选取两个周期大小。从截面图对比可以看出,在轻度离焦情况下,Floyd-Steinberg 误差扩散抖动算法生成的二值条纹强度误差和相位均方根误差都比本文方法生成的二值条纹更大,说明本文方法产生的二值条纹更接近正弦条纹。

图4 两种方法的对比。(a)强度误差;(b)相位均方根误差Fig.4 Comparison of the Floyd-Steinberg dithering method and the proposed method.(a)The intensity difference ;(b)The phase RMS error

图5 为Floyd-Steinberg 误差扩散抖动算法和本文方法在不同条纹周期,不同高斯滤波器模板大小情况下与标准正弦条纹对比后的相位均方根误差和灰度值误差。图中图5(a)、图5(b)选用模板大小为6×6,图5(c)、图5(d)选用模板大小为10×10,图5(e)、图5(f)选用模板大小为14×14。图5(a)、图5(c)、图5(e)对比表明,在不同离焦程度下,随着条纹周期增加,两种方法的相位均方根误差逐渐减小,本文方法的相位均方根误差小于Floyd-Steinberg 误差扩散抖动方法,本文方法具有更好的正弦相似性,在周期较短时效果更加明显;图5(b)表示轻度离焦情况下两种方法的灰度误差,Floyd-Steinberg 抖动方法具有最大的误差(约等于4),本文方法误差明显较小。图5(b)、图5(d)、图5(f)表明,随着离焦程度增加,两种方法的测量误差保持了同样的减小趋势,但本文方法的误差始终远远小于Floyd-Steinberg 误差扩散抖动方法。综上仿真结果表明,本方法在不同周期、不同离焦量下都具有极大的优势。

图5 不同条纹周期和不同大小高斯滤波时,两种方法的相位误差和强度误差。(a)轻度离焦时的相位均方根误差;(b)轻度离焦时的灰度值误差;(c)中度离焦时的相位均方根误差;(d)中度离焦时的灰度值误差;(e)重度离焦时的相位均方根误差;(f)重度离焦时的灰度值误差Fig.5 The intensity difference and phase RMS error of the two methods between different fringe periods and different sizes of Gaussian filtering.(a)Phase RMS error for mildly defocused;(b)Intensity error for mildly defocused;(c)Phase RMS error for moderately defocused;(d)Intensity error for moderately defocused;(e)Phase RMS error for severely defocused;(f)Intensity error for severely defocused

5 实 验

三维测量系统中的投影仪选用型号为 Esonic HD-720P 的高清投影仪,分辨率为1280×720,投影距离为0.35 m~0.55 m,投影仪与相机中心点的距离约为相机选用大恒MER-130-30UM 工业相机,内置Sony CCD 传感器芯片,搭载Computer M0814-MP2 型号镜头(镜头焦距8 mm,分辨率为1280×1024),投影仪光轴与相机光轴之间的角度约为θ=10°,结构如图6。

图6 结构图Fig.6 Structure diagram

分别利用Floyd-Steinberg 误差扩散抖动方法和本文方法对标准白板进行测量,以标准正弦16 步相移法获得的相位作为真值相位。投影仪的离焦程度是连续变化的,通过手动方式进行调节。轻度离焦、中度离焦、重度离焦时的白板实验近似对应于6×6,10×10,14×14 模板大小高斯滤波效果的仿真实验,图7 为两种方法在不同离焦程度下的相位均方根误差对比。

图7 不同离焦程度下,两种方法的测量结果。(a) 轻度离焦时的相位均方根误差对比;(b) 中度离焦时的相位均方根误差对比;(c) 重度离焦时的相位均方根误差对比Fig.7 Experimental results of comparing the two methods under amounts of defocusing.(a) Mildly defocused;(b) Moderately defocused;(c) Severely defocused

测量结果表明,在一定离焦范围内,离焦程度增加,两种方法的相位均方根误差在一定程度上呈下降趋势,说明投影仪的高频信号在一定程度上受到离焦状态的抑制。而且,在不同离焦情况下,本文所提方法的改善效果明显优于Floyd-Steinberg 误差扩散抖动算法,尤其在条纹周期较短时,效果更加明显,证明本文方法在不同离焦程度时都能实现较好的测量,与仿真结果吻合。

本文选取了一个三位特征明显的石膏模型来验证。实验中选择条纹周期为15,同样用标准正弦16步相移法获得的相位作为真值相位。两种方法变形条纹图案如图8(a)、图8(b)所示。

图8 两种方法的变形条纹图案。(a)Floyd-Steinberg 误差扩散方法产生的变形条纹图案;(b)本文方法产生的变形条纹图案Fig.8 The deformed stripe patterns of two methods.(a)The Floyd-Steinberg error-diffusion method;(b)The proposed method

图9 表示两种方法三维测量结果。其中图9(a)~9(c)为度离焦、中度离焦、重度离焦情况下的三维测量图,图9(d)~9(f)为本文方法在轻度离焦、中度离焦、重度离焦时的三维测量图。表1 是投影仪在不同离焦程度下两种方法的相位均方根误差值。分析可知:在轻度离焦时,两种方法的重建图都含有噪声,如图9(a)、9(d)所示;对比图9(a)~9(c)和图9(d)~9(f)可知:随着离焦程度的加重,相位均方根误差呈下降趋势,模型重建结果表面逐渐光滑,三维特征也逐渐明显,但基于Floyd-Steinberg 误差扩散抖动方法的改善程度相对较小,本文所提方法的改善效果相对明显。验证了本文方法在不同离焦程度下均可以有效改善Floyd-Steinberg 误差扩散抖动方法,对不同程度的离焦程度具有鲁棒性,能实现更高质量的三维测量,符合仿真结果。

表1 两种方法在不同离焦程度下的相位均方根误差Table 1 The phase RMS errors of two methods with different amounts of defocusing

图9 两种方法在轻度、中度、重度离焦情况下的重建图。(a)~(c)Floyd-Steinberg 误差扩散抖动算法;(d)~(f)本文方法Fig.9 Reconstruction of the two methods in mildly,moderate,and severe defocus conditions.(a)~(c)The Floyd-Steinberg error-diffusion method;(d)~(f)The proposed method

6 结 论

本文提出一种基于改进二进制蚁群算法的方案,通过对相位信息的优化,有效改善传统Floyd-Steinberg误差扩散抖动算法的三维测量精度。把优化后的二值块拼接成完整图案的操作,加速了优化过程。仿真和实验证明本方法能有效提高三维测量精度,对不同投影仪离焦程度都具有鲁棒性。

猜你喜欢
二值二进制方根
方根拓展探究
用二进制解一道高中数学联赛数论题
有趣的进度
二进制在竞赛题中的应用
我们爱把马鲛鱼叫鰆鯃
基于二值形态学算子的轨道图像分割新算法
面向网络边缘应用的新一代神经网络
基于稀疏表示的二值图像超分辨率重建算法
基于曲率局部二值模式的深度图像手势特征提取
均方根嵌入式容积粒子PHD 多目标跟踪方法