深度学习神器DYnet++:轻松驾驭复杂自由曲面,3D测量无难度!

作者:洛洛 | 来源:3DCV

1、导读

传统的相位测量偏折测量技术在测量低反射率的表面和复杂曲面时存在一些问题。低反射率表面的捕获的条纹图案质量很差,无法正确提取相位。而复杂曲面会产生包含闭环和开环特征的复杂反射条纹图案,使得传统的单次拍摄相位测量方法难以获取相位。因此,本研究旨在利用深度学习技术解决这些问题,提出一种基于深度学习的单次拍摄相位测量偏折测量方法,以实现对复杂自由曲面的三维测量。

2、研究内容

一种基于深度学习的单次拍摄相位测量偏折测量法用于复杂自由曲面的三维测量。文章介绍了目前单次拍摄偏折测量法存在的两个主要问题:低反射率镜面表面的测量复杂曲面的测量。为了解决这些问题,研究团队采用了低频率的复合光栅图案来提高低反射率表面的光栅可见度,并利用深度学习方法处理复杂曲面的相位测量。通过深度学习网络的训练和优化,可以实现单次拍摄下复杂曲面的三维测量和缺陷检测。

3、方法

利用深度学习网络模型DYnet++从单个复合图案中获取相位信息。为了训练深度学习模型,作者使用了一个具有九个致动器的可变形镜来生成各种表面形状的大量数据。通过将测量结果与16步相移法的结果进行比较,验证了所提出的基于深度学习的单次拍摄偏转测量方法的可行性。 该方法的优点是可以在单次拍摄中获取复杂表面的相位信息,避免了传统相移法需要多张图像的缺点。深度学习网络模型能够学习并理解复杂的图案特征,从而准确地提取相位信息。这种方法在工业环境中具有广泛的应用前景,可以提高测量效率和准确性。 需要注意的是,该方法目前还处于研究阶段,可能还存在一些局限性和改进空间。但是,基于深度学习的单次拍摄偏转测量方法在解决复杂表面测量问题方面具有很大的潜力,并且在实际应用中可能会得到更多的发展和改进。

3.1、偏转法表面测量原理

偏转法表面测量是一种用于测量光滑自由曲面的斜率测量技术。它使用屏幕(LCD屏幕)来显示调制的正弦条纹图案,该图案投射到被测曲面上,然后由相机接收反射的条纹图案。通过这种方式,我们可以获得曲面的斜率进行分析。如果我们可以获得两个正交的曲面斜率,就可以通过积分来重建曲面的形状和尺寸。对于缺陷检测,不仅需要检测曲面上的缺陷,还需要确定缺陷的形状和尺寸。因此,我们需要将两个正交的条纹图案(称为 <math xmlns="http://www.w3.org/1998/Math/MathML"> x x </math>x和 <math xmlns="http://www.w3.org/1998/Math/MathML"> y y </math>y图案)投射到被测曲面上,以获得曲面的斜率进行积分。传统上,使用相移方法来获取 <math xmlns="http://www.w3.org/1998/Math/MathML"> x x </math>x和 <math xmlns="http://www.w3.org/1998/Math/MathML"> y y </math>y方向上的曲面相位,因为它具有像素级的相位恢复和高分辨率。捕获的条纹图案可以通过以下数学表达式表示:

其中, <math xmlns="http://www.w3.org/1998/Math/MathML"> I n d x I_{ndx} </math>Indx和 <math xmlns="http://www.w3.org/1998/Math/MathML"> I n d y I_{ndy} </math>Indy分别是捕获的 <math xmlns="http://www.w3.org/1998/Math/MathML"> x x </math>x和 <math xmlns="http://www.w3.org/1998/Math/MathML"> y y </math>y条纹图案的光强度; <math xmlns="http://www.w3.org/1998/Math/MathML"> ( x , y ) (x,y) </math>(x,y)是相机的像素坐标; <math xmlns="http://www.w3.org/1998/Math/MathML"> A x ( x , y ) A_{x}^{(x,y)} </math>Ax(x,y)和 <math xmlns="http://www.w3.org/1998/Math/MathML"> A y ( x , y ) A_{y}^{(x,y)} </math>Ay(x,y)是背景, <math xmlns="http://www.w3.org/1998/Math/MathML"> B x ( x , y ) B_{x}^{(x,y)} </math>Bx(x,y)和 <math xmlns="http://www.w3.org/1998/Math/MathML"> B y ( x , y ) B_{y}^{(x,y)} </math>By(x,y) 是条纹调制; <math xmlns="http://www.w3.org/1998/Math/MathML"> Θ x ( x , y ) \Theta_{x}^{(x,y)} </math>Θx(x,y)和 <math xmlns="http://www.w3.org/1998/Math/MathML"> Θ y ( x , y ) \Theta_{y}^{(x,y)} </math>Θy(x,y)是 <math xmlns="http://www.w3.org/1998/Math/MathML"> x x </math>x和 <math xmlns="http://www.w3.org/1998/Math/MathML"> y y </math>y方向上的相位; <math xmlns="http://www.w3.org/1998/Math/MathML"> n n </math>n是相移数( <math xmlns="http://www.w3.org/1998/Math/MathML"> n = 1 : N n=1:N </math>n=1:N), <math xmlns="http://www.w3.org/1998/Math/MathML"> N N </math>N是相移的总数。通过这些捕获的条纹图案,可以通过以下公式恢复 <math xmlns="http://www.w3.org/1998/Math/MathML"> x x </math>x和 <math xmlns="http://www.w3.org/1998/Math/MathML"> y y </math>y方向上的相位:

其中, <math xmlns="http://www.w3.org/1998/Math/MathML"> Θ w x ( x , y ) \Theta_{wx}^{(x,y)} </math>Θwx(x,y)和 <math xmlns="http://www.w3.org/1998/Math/MathML"> Θ w y ( x , y ) \Theta_{wy}^{(x,y)} </math>Θwy(x,y)是 <math xmlns="http://www.w3.org/1998/Math/MathML"> Θ x ( x , y ) \Theta_{x}^{(x,y)} </math>Θx(x,y)和 <math xmlns="http://www.w3.org/1998/Math/MathML"> Θ y ( x , y ) \Theta_{y}^{(x,y)} </math>Θy(x,y)的包裹相位。它们需要使用空间相位展开算法进行展开。 <math xmlns="http://www.w3.org/1998/Math/MathML"> δ n = 2 π n N \delta_{n}=\frac{2\pi n}{N} </math>δn=N2πn是相移值。通常情况下,如果相移步数N越大,恢复的相位精度越高。

3.2、DYnet++

DYnet++是一种基于深度学习的单次拍摄相位测量偏折测量方法,用于测量低能见度和复杂镜面表面。DYnet++深度学习网络,用于从单个低频复合条纹图案中获取相位进行表面测量。DYnet++网络接受一个输入,即捕获的低频复合条纹图案,并输出每个解码器路径中的两个分子和两个分母项。通过训练过程,每个解码器路径将具有预测分子和分母的最佳参数。然后,通过这些量的反正切计算出x和y的包裹相位。DYnet++网络的结构受到Ynet和Unet++的启发。我们试图结合这些网络的优点来进行相位检测。DYnet++网络在Unet++的基础上添加了一个解码器路径,使其对称化。

3.3、DM

在这篇论文中,作者使用了可变形镜面(DM)来生成训练数据集。DM是一个可以通过施加力来改变形状的金属板。通过改变DM的形状,可以改变捕获到的条纹图案。使用DM生成训练数据的优点是可以快速生成大量的训练数据,只需改变镜面的形状即可。作者首先在液晶显示屏上显示复合图案,然后通过相机捕获反射的图案作为训练数据的输入。然后,作者使用相位移方法在x和y方向上显示16步的相位移图像,作为训练数据的真值。对于每个输入复合图案,相应的输出将是 <math xmlns="http://www.w3.org/1998/Math/MathML"> M x Mx </math>Mx, <math xmlns="http://www.w3.org/1998/Math/MathML"> M y My </math>My, <math xmlns="http://www.w3.org/1998/Math/MathML"> D x Dx </math>Dx和 <math xmlns="http://www.w3.org/1998/Math/MathML"> D y Dy </math>Dy。通过改变 <math xmlns="http://www.w3.org/1998/Math/MathML"> D M DM </math>DM的形状,可以生成不同的训练数据。作者通过改变每个致动器的位置1000次来随机改变 <math xmlns="http://www.w3.org/1998/Math/MathML"> D M DM </math>DM的形状,从而生成了总共4000个训练图像和真值。使用这种方法生成训练数据,网络可以学习如何从单个复合图案中预测正确的分子和分母。

4、实验结果

使用TensorFlow和Keras 2.8.0深度学习库实现了DYnet++。训练过程在一台配备Intel Core i9-12900K CPU、64 GB RAM和Geforce RTX-3090 GPU(NVIDIA)的台式计算机上进行。他们使用了不同形状的变形镜(DM)生成了训练数据集,总共生成了4000个训练图像和对应的地面真值。训练数据集的大小为320×240像素。他们使用了均方误差作为损失函数,并使用平均绝对误差作为评估指标。训练总共耗时约12小时。

在测试中,他们使用了与训练和验证数据不同的变形镜生成的复合图案作为输入。他们展示了一些测试结果,并与地面真值进行了比较。结果显示,DYnet++方法在形状重建方面与传统的16步相移方法相比具有相似的性能,而16步相移方法需要32张相移图像。此外,他们还进行了低可见度表面的测量和缺陷检测实验,结果表明DYnet++可以从单次复合图案中检测出小的缺陷。总的来说,DYnet++方法通过深度学习实现了单次拍摄相位测量偏折测量,具有较好的性能和应用潜力。

5、总结

我们的研究提出了一种基于深度学习的单次偏转测量方法DYnet++,能够测量和检测复杂自由曲面。这种方法具有广泛的适用性和高效的性能,可以在实时或高速环境下进行复杂曲面的测量和检测。

相关推荐
SEU-WYL2 小时前
基于神经网络的光线追踪
人工智能·神经网络·计算机视觉
Bill662 小时前
OpenCV GUI常用函数详解
人工智能·opencv·计算机视觉
xuehaikj2 小时前
婴儿接触危险物品检测系统源码分享
人工智能·计算机视觉·目标跟踪
VB.Net4 小时前
EmguCV学习笔记 VB.Net 12.1 二维码解析
opencv·计算机视觉·c#·图像·vb.net·二维码·emgucv
我是瓦力5 小时前
球形包围框-Bounding Sphere-原理-代码实现
人工智能·python·深度学习·计算机视觉·3d
jndingxin5 小时前
OpenCV特征检测(3)计算图像中每个像素处的特征值和特征向量函数cornerEigenValsAndVecs()的使用
人工智能·opencv·计算机视觉
jndingxin5 小时前
OpenCV特征检测(4)检测图像中的角点函数cornerHarris()的使用
人工智能·opencv·计算机视觉
xuehaishijue6 小时前
射击靶标检测系统源码分享
人工智能·计算机视觉·目标跟踪
白葵新8 小时前
PCL addLine可视化K近邻
c++·人工智能·算法·计算机视觉·3d
simple_whu8 小时前
相机畸变系数$b_1,b_2$与畸变系数aspect ratio和skew的互转
数码相机·计算机视觉·摄影测量