社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

单帧HDR结构光深度学习重建

3DCV • 1 年前 • 537 次点击  

基于条纹投影轮廓术(FPP)的三维测量方法已广泛应用于工业制造领域。大多数FPP方法采用移相技术,需要多个条纹图像,因此在动态场景中的应用有限。此外,工业部件通常有高度反射的区域,导致过度曝光。本文提出了一种将FPP与深度学习相结合的单次高动态范围三维测量方法。提出的深度学习模型包括两个卷积神经网络:曝光选择网络(ExSNet)和条纹分析网络(FrANet)。ExSNet利用自注意机制增强导致过度曝光问题的高反射区域,以实现单目3D测量中的高动态范围。FrANet由三个模块组成,分别用于预测包裹相位图和绝对相位图。提出了一种直接选择最佳测量精度的训练策略。在FPP系统上的实验表明,该方法能准确预测单次曝光条件下的最佳曝光时间。测量一对移动标准球与过度曝光,以进行定量评价。该方法在大曝光范围内重建标准球,直径预测误差分别为73µm(左)和64µm(右),中心距离预测误差为49µm。同时进行消融研究,并与其他高动态范围消融方法进行比较。

作者:天涯居士  | 来源:3DCV

在公众号「3DCV」后台,回复「原论文」即可获取论文pdf。

添加微信:dddvisiona,备注:结构光,拉你入群。文末附行业细分群。

01 引言

近年来,三维光学测量由于其非接触式和低成本的特点,引起了广泛的研究和应用。在生物医学、计算机视觉和工业制造领域,对高速三维测量的需求日益增长。条纹投影轮廓法(FPP)是目前最流行的三维光学测量方法。通过将一组条纹图像投射到物体上,FPP利用条纹分析和三角测量得到了物体的三维坐标。

FPP的第一步是结构光系统的标定。标定方法可分为相高模型和三角测量[1]。从条纹图像中提取包裹相,将提取的包裹相展开,得到待测目标的连续相位信息,是条纹分析的关键步骤。相移[2]和时间相位展开[3]方法是FPP中常用的相位反演和展开方法。Zeng等人提出了一种自展开相移的三维形状测量方法。他们将空间变化相移(SPS)嵌入到正弦图形中,这种相移能唯一地确定条纹阶信息,然后通过像素计算提取绝对相位。在没有外部信息或先验信息的情况下检索绝对相位。Wang et al.[5]提出了一种基于相移和三频外差相位展开(TPHPU)算法的刚性运动物体三维测量方法。该方法对三维空间中运动物体的条纹图像进行预处理,代替了复杂的相位补偿,继承了相移和TPHPU算法的精度和鲁棒性。Hu等人[6]提出了一种基于多频相移方案的闪亮表面微观三维测量方法。他们从相移条纹图像的子集计算出高亮区域的相位,解决了密集条纹的离焦和复杂表面反射特性降低条纹质量的问题。Li等人[7]设计了一种改进的基于超灰度多频光栅投影的时间相位展开方法。所捕获的逼真的超灰度图可以计算出高分辨率的相位信息,使可靠的单位频率相位可以更精确地指导低频和高频条纹阶数的计算,提高测量精度。Li等人[8]提出了一种基于改进的三波长相位展开算法和相位误差补偿方法的三维重建框架。三波长相位展开算法可以提高三维帧速度,相位误差补偿方法可以降低三维测量的误差。Servin et al.[9]将共相相位轮廓术和2步时间相位展开技术相结合,用于三维条纹和相位展开。该轮廓仪允许测量高度不连续的物体,最大限度地减少阴影和最大限度地提高相位灵敏度。

随着深度学习的发展,卷积神经网络已经被应用到三维测量中。Lin等人设计了一种用于条纹去噪的多级卷积神经网络。他们的方法在空间或变换领域与最先进的去噪方法竞争。Yao et al.[11]提出了一种多用途的神经网络,可以从少量模式中计算绝对相图。这些模式包括一个正弦条纹模式和两个基于代码的模式。训练良好的多用途网络可以检索绝对相位图,减少了移相技术所需的模式数量。Yao et al.[12]介绍了一种用于密集三维重建的超分辨率技术。利用双密度块超分辨率网络(DdBSRN)对条纹分辨率进行了扩展。

然而,上述方法需要多个频率的移相条纹图像,降低了测量速度。虽然这些方法通过获取多个条纹图像为静态对象提供了高精度的测量数据,但是由于图像拍摄间隙之间的振动和运动的干扰,会导致性能下降,从而影响了动态场景应用中的性能。

单目法从一幅条纹图像中提取相位图,具有抗运动能力强、条纹采集速度快、成本低等优点。因此,在三维动态测量中,需要单点方法。基于空间解调的方法是单目三维测量中常用的方法。这些方法包括傅里叶变换轮廓术(FTP)[13]、加窗傅里叶变换轮廓术(WFTP)[14]和小波变换轮廓术(WTP)[15]。空间解调方法虽然适用于动态场景,但存在频谱混叠和频谱泄漏的问题,对噪声敏感,精度低,尤其是在测量强纹理物体时。基于深度学习的单目方法比传统方法更精确、更鲁棒,在实际应用中更具有可行性。

基于深度学习的单次方法是从深度网络引入相位检索开始的。首先利用深度网络预测包裹相位的分子和分母[16-18]。采用传统相移技术制备了分子、分母的标签。与传统解调方法相比,这些方法具有更好的解调效果。也设计了直接输出包裹相位图的网络[19-22]。采用U-Net的变化作为网络结构,将分子和分母的条纹分析和计算隐藏在隐层中。一些研究者提出将单个条纹图像转换为移相条纹图像,而不是从单个条纹图像中检索被包裹的相位[23-25]。利用相移技术对预测的条纹图像进行处理,其目的与单幅三维测量相同。除了相位检索方法外,还发展了基于深度学习的相位展开方法[26-30]。这些方法利用深度网络从相位图中预测条纹阶图,既避免了多频条纹图像的要求,又提高了相位展开的精度。直接预测高度图的端到端网络也被研究[31-33]。这些网络采用了大量的模拟或真实的条纹图像和高度图地面真实度进行监督训练。FCN、AEN和U-Net被评价为端到端网络的体系结构,其中U-Net得到的结果最为准确。然而,端到端网络不能利用一些重要的中间信息。

在工业制造中,被测物体往往会产生高反射区,被测物体边缘的获取会导致过度曝光和信息丢失。因此,需要高动态范围(HDR)测量来处理条纹图像中的大范围曝光水平。

多次曝光和单次曝光的HDR方法已经被提出用于三维测量和其他应用。Jiang等人提出了一种基于相移条纹投影法的高反射面三维扫描技术。将不同曝光时间下得到的原始条纹图像与投影机的光照条纹强度进行融合,得到一幅避免饱和和欠照度的合成条纹图像。Yonesaka等人[35]介绍了一种利用HDR成像的数字全息方法来提高重建图像的质量。HDR成像过程包括估计相机响应函数和合成多个全息图。Song et al.[36]开发了一种利用二值模式投影进行三维测量的HDR方法。他们提议从估算的辐射图中计算HDR条纹图像,使用多次曝光来缓解饱和度。多曝光方法使用不同的曝光时间或光线强度来捕捉条纹,并将它们融合,以恢复在高反射区域丢失的细节。这些方法耗时长,不能满足实时三维测量的需要。Cogalan等人[37]提出了一种使用相机传感器进行逐像素曝光调制的单曝光HDR方法。他们利用深度神经网络开发了一种关节帧去交错和去噪算法。Jiang等人提出了一种简单的HDR方法,在不使用多次曝光的情况下,通过投射倒置的条纹图像来补充规则图案。反转条纹图像被用来代替或与规则图案结合,这取决于规则图案的饱和度。Wu et al.[39]利用运动跟踪和移相轮廓术重建HDR对象。他们利用运动来改变物体上饱和点的位置,进行单次曝光HDR测量。单一曝光法主要是为了增加高反射法中不饱和条纹图像的数目。这些方法有额外的或先进的设备,增加了FPP系统的成本或由于额外的条纹或跟踪在相位计算中有精度损失。大多数HDR方法都不能对动态场景中的运动目标进行测量。

目前很少有基于深度学习的单目三维光学测量方法试图解决高动态范围问题。Zhang等人[40]利用深度学习进行相位计算,增加了三维测量的动态范围,将三步移相的动态范围扩大了4.8倍。Yang等人设计了一个深度网络来检测低调制区域并增强这些区域的条纹细节。测量高度为5 mm的标准金属量块,均方根误差由0.55 mm提高到0.06 mm。他们的方法完全基于算法,不能完全避免过度曝光区域的信息丢失。Liu等人开发了一种手工制作的曝光选择指标,并使用深度学习网络来增强条纹图像,其覆盖率(97.6%对98.0%)与10次曝光的HDR方法相似。尽管不是单次曝光的方法,他们的方法在一次曝光中提高了高反射区域的准确性。

本文提出了一种基于深度学习的单目高动态范围三维测量方法——曝光选择和条纹分析。该方法采用了两个在训练和测量方面相互协作的卷积神经网络:曝光选择网络(ExSNet)和条纹分析网络(FrANet)。ExSNet利用自注意机制来增强过度曝光和曝光不足的区域,并解决了单次三维测量中高动态范围的问题。为了解决传统方法中相位图误差随条纹图像数目的减少而增加的问题,构造了FrANet来预测被包裹的相位图和绝对相位图,以提高相位检索和相位展开的精度。一种新的训练策略,使ExSNet学习最佳的曝光时间将被介绍。在测量过程中,ExSNet预测最佳曝光时间,并通过FrANet处理曝光调整后的条纹图像。该方法将通过实际的FPP系统进行评估,以验证基于深度学习的曝光选择和条纹的有效性。结果和讨论也将被介绍。

02 高度反射物体的单目三维测量

图1 提出的方法概述。

该方法利用ExSNet和FrANet两种深度神经网络选择最佳曝光时间并进行条纹。FrANet首先使用不同曝光时间下的条纹进行训练。然后用最佳网络性能对应的曝光时间作为标签对ExSNet进行训练。将最佳曝光时间的标签加入条纹进行训练的过程称为最佳曝光时间标注。在单幅测量中,将曝光时间不合适的条纹图像输入ExSNet。曝光时间根据结果进行调整,并使用FrANet处理重新捕获的图像。所提出方法的概述如图1所示。与传统的过曝或欠曝条纹图像增强方法相比,本方法通过调整曝光时间,避免了这些基于算法的方法无法完全恢复的信息丢失。根据FrANet结果直接选择地面真实最佳曝光时间,保证使用曝光选择的图像进行精确的三维测量。下面将详细介绍FrANet和ExSNet的网络架构和训练策略。

2.1 条纹分析网络的结构

条纹分析网络FrANet解决了传统方法中随着条纹图像数目的减少,相位图误差增大的问题,满足了相位检索和相位展开的任务。该网络的架构如图2所示。该网络由三个改进的U-Net模块组成,用于相位检索、相位展开和细化。这些模块共享类似的U-Net变化架构,并进行了一些改进,包括在所有模块中以最低分辨率堆叠卷积层,在相位展开模块中额外的下采样和上采样,以提高接收域,并在细化模块中去除批量归一化。U-Net作为一种最初用于分割的广泛应用的网络体系结构,在特征提取和图像分辨率恢复方面具有训练样本少、效率高的特点。这对于条纹的处理是有益的,因此U-Net在许多基于深度学习的单目方法中得到了应用。然而,单目方法通常采用一个U-Net进行相位反演、相位展开或高度图预测。相位展开和高度图预测本质上包含相位展开,它们是不适定任务,需要长期信息来消除相位模糊。单U-Net不能保证远范围信息的获取,因此本工作采用了两个额外改进的U-Net模块进行相位展开处理,并在提取完相位图后对绝对相位图进行细化。带大接收域的相位展开模块收集远范围信息,带小接收域的细化模块细化细节。相位检索模块使用单目条纹图像作为输入来预测包裹的相位图。相位展开模块采用预测的相位图和条纹生成绝对相位图。细分模块以条纹和所有预测相图为输入,以细分绝对相图为输出。尽管使用了三个模块,但FrANet被认为是一个轻量级网络,每一层的最大滤波器数量为48个。与一层有512个或更多个滤波器的大型网络相比,FrANet耗时更少,在3D测量中更可行。

图2:FrANet的体系结构图3:本文采用改进后的U-Net模块体系结构。

本文所采用的改进U-Net模块体系结构如图3所示,包括卷积层、下采样层、上采样层、级联层和输出层。卷积层使用与内核大小3×3和stride s = 1的卷积、批处理归一化(BN)和leaky ReLU作为激活函数。下采样层包括与核大小2×2和stride 2的卷积、批处理归一化和漏泄的ReLU。每个模块的分辨率相同时,滤波器的个数相同,分别为16、24、24、32、32、48,对应输入分辨率的1、1/2、1/4、1/8、1/16、1/32。剩余块使用带有跳过连接的四个卷积层以最低分辨率操作。这些层的过滤器数量是48个。上采样层利用与核大小2×2和stride 2的转置卷积来恢复高分辨率的特征,然后是批量归一化和泄漏的ReLU。每个分辨率的过滤器数量从左到右分别为16、24、24、16和8。上采样特征在下采样部分以相同分辨率连接到卷积层输出。然后设计两个卷积层,核大小分别为1×1和3×3,减少通道数量,进一步进行特征提取。它们都包括带stride 1的卷积、批处理归一化和漏泄ReLU。输出层使用卷积和sigmoid函数将feature转换为各模块的输出尺寸和取值范围。在使用sigmoid激活后,值范围从0到1,然后通过乘标量进行调整。预测的包裹相位范围为0 ~ 2π,而预测的和精细的绝对相位范围为0 ~ 128π。

2.2 曝光选择网络的架构

图4:ExSNet的架构。

图5:ExSNet中注意力模块的体系结构。

曝光选择网络ExSNet完成了预测最佳曝光时间的任务,解决了单目三维测量中高动态范围的问题。ExSNet如图4所示。该网络采用类似于分类器的卷积神经网络结构。该网络在多个分辨率下提取特征,过滤器的数量随着分辨率的降低而增加。该网络由下采样层、卷积层、一个注意模块和一个池化层组成。每个下采样层由核大小为2×2的卷积和stride 2、批处理归一化和leaky ReLU作为激活函数组成,其次是卷积层,卷积核大小为3×3、stride=1、批处理归一化和leaky ReLU。在相同的分辨率下,过滤器的数量保持不变,分别为16、32、64、128、256、512和1024,对应于输入分辨率的1/2、1/4、1/8、1/16、1/32、1/64和1/128。最佳曝光时间是由被测物体的高度反射区域决定的,这些反射区域可能是条纹图像的一小部分。因此,使用全卷积层会导致这些区域很容易被淹没,无法准确预测最佳曝光时间。ExSNet网络采用了自注意机制来解决这一问题。注意力模块探索长期空间关系,并强调关键区域。ExSNet中注意力模块的架构如图5所示。

一种被称为比例点积注意的流行的自我注意机制可以表示为:

其中:其中A为注意操作的结果,Q为查询,K为键,V为值,为K的维数。在图像处理中,通过特征的卷积得到查询、键和值。在计算点积时,将图像特征拉伸为一维,使注意力机制可以在空间域上执行。

注意模块使用多向缩放点积注意,然后与核大小为1× 1的卷积。头出现的次数设置为8次。池化层在空间维度上使用全局平均池化来将图像滤波器转换为一位数。在曝光时间范围内,通过卷积和sigmoid函数将数字进一步转换为一个标量。

2.3 训练策略

在训练过程中,首先对FrANet进行训练,然后根据ExSNet的性能对其进行训练。用于条纹的网络通常需要大量数据进行训练,而数据采集非常耗时,因为ground truth是使用相移技术编写的。在本研究中,采用无监督学习[43]进行法联网的预训练。无监督学习不需要真实标签图,因此在数据获取方面更有效。两个频率的条纹图案被投影到被测量的物体上,条纹图像被使用真实世界的FPP系统捕获。收集大量图像形成无监督数据集,满足深度学习算法的数据需求,避免了训练中的过拟合。由于无监督学习不依赖于真实的相位图或高度图作为真实标签,每个训练样本只需要两幅条纹,这两幅条纹都是在每个频率上没有相移的单幅条纹。从而避免了数据采集过程中耗时的移相投影,减少了数据存储的内存。经过重投影处理后,计算真实图像和重投影条纹图像之间的无监督损失:

式中:

  • L:L1损失函数
  • :重投影条纹
  • :高频条纹
  • :低频
  • :预测的包裹条纹
  • :预测的原始相图和精细的绝对相图

由于五个损失项的梯度尺度相似,因此对每个损失项应用相同的权重。在收敛之前,网络使用无监督损耗进行训练。在预训练之后,使用监督学习对FrANet进行训练。监督学习使网络能够直接学习使用移相轮廓术绘制的地面真相图。利用真实的FPP系统,将四种频率下的十二步相移条纹图像投影到被测物体上。这48幅条纹图像是在不同曝光时间下拍摄的,采用耗时的多曝光HDR方法进行图像融合。然后利用48幅融合条纹图像得到一组训练样本在不同曝光时间下的真实标签图。移相条纹图像的强度可以描述为:

其中:

  • :第 副相移条纹图像
  • :条纹图像
  • :像素的水平、垂直坐标
  • :背景强度
  • :条纹调制度
  • :包裹相位
  • :相移步数

包裹相位可以被恢复,通过下列公式:

使用时间相位展开计算绝对相位图。利用下式计算高频图像的条纹阶数 :

其中,圆整函数将结果转化为圆形数,为高频,为低频,为低频图像的绝对相位,为高频图像的包裹相位。在频率为1时,绝对相位等于包裹相位,因此可以计算出高频图像的绝对相位。与完全监督方法相比,利用先验知识对网络进行微调所需的训练样本更少,且降低了过拟合的影响。因此,为计算真实标签图而收集额外的条纹图像所需的时间更少。监督损失的计算方式为:

ExSNet的目标是预测3D测量的最佳曝光时间。因此,理想的预测对应于使用FrANet的3D测量的最高精度。比较了FrANet和ground-truth的三维重建结果,并对每组条纹图像的精度进行了评价。得到了精度最高的最佳曝光时间真实标签。在不同曝光时间拍摄的图像作为ExSNet的输入。L1损失是在预计的曝光时间和真实标签之间计算出来的。ExSNet使用监督学习进行训练。由于预测最佳曝光时间的任务比密集相位预测容易得多,因此ExSNet不存在过拟合问题,在得到真实标签最佳曝光时间后,不需要专门设计的训练策略。

在三维测量中,一个频率的单目条纹图像被投影到被测量的物体上,条纹图像被使用真实世界的FPP系统捕获。然后将采集到的曝光时间不合适的条纹图像作为测试样本,输入训练后的ExSNet,得到预测的最佳曝光时间。利用预测曝光时间重新捕获条纹图像,并将其作为训练后的FrANet的输入,获得被测物体的精确绝对相位图。测试样本尚未用于训练法联网。最后,利用三角法将被测物体的精细绝对相位图转换成三维坐标,实现了单次三维测量。

03 实验

为了验证所提方法的有效性,我们搭建了一个由蓝光投影仪(tenju technology, China)和两台数码相机(Daheng Imaging, China)组成的FPP系统。搭建的FPP系统如图6(a)所示,实验中只采用左侧摄像机。图6(b)显示了测试集中用于三维测量的工业部件,用于对所提方法进行评价。摄像机通过3个频道捕捉分辨率为1296×964像素的图像,投影仪的分辨率为1280×720像素。在数据采集过程中,投影仪将蓝色的垂直条纹图像投射到被测物体上。FrANet的预训练在每个epoch中取2000组条纹图像。每组包含两个频率相同的场景的条纹。高频设置为64,低频设置为9。在有监督学习的数据采集过程中,在3000µs ~ 45000µs范围内均匀选择15次暴露时间。采用64、16、4、1四种频率,拍摄20组12步移相条纹图像,每组包括15次曝光时间。在接下来的章节中,首先提供了ExSNet和FrANet的实施细节,然后通过网络预测最佳曝光时间,评估三维测量精度,进行曝光选择、注意机制和条纹分析的烧蚀研究,最后将该方法与其他HDR方法进行了比较。

3.1 部署细节

该方法使用PyTorch实现,训练设备为一台RTX 2070 SUPER GPU。使用Adam优化器,参数β1 = 0.9, β2 = 0.999。在FrANet的预训练过程中,初始学习速率被设定为,经过30个epoch后降低为。整个训练前的过程需要40个阶段。图片被裁剪成1280 × 768的大小。在对网络进行微调时,初始学习速率为 (100 epoch),之后的100 epoch学习速率为 (100 epoch)。在ExSNet的训练过程中,200个epoch的学习速率设置为。采用批量大小为2和包含色调调整和随机噪声的多个数据增强。在一次迭代中,网络对一批条纹进行处理。输入张量的大小为[批量大小,通道数,高度,宽度]。训练后,该网络在同一设置下用于运行时间为1.23 s的单次高动态范围测量。运行时计算中包含的过程包括:捕获条纹图像、使用ExSNet预测最佳曝光时间、再现条纹图像以及使用FrANet生成三维坐标。

3.2 曝光选择

图7 曝光选择结果采用不同的方法。左边一列是曝光选定的条纹图像,右边一列是绝对相位误差图。

为了评价ExSNet能否准确地预测最佳曝光时间,首先对训练集以外的工业部分进行条纹采集,然后利用多曝光HDR方法和十二步移相技术得到绝对相位图的真实标签。由于曝光选择的目标是实现精确的三维测量,因此将使用精度最高的FrANet进行三维测量的条纹图像确定为最佳曝光时间真实标签。通过使用FrANet对一组曝光时间为3000 ~ 45000us的条纹图像进行处理,得到最佳网络性能所对应的最佳曝光时间为18000us。利用ExSNet对单个条纹图像进行处理,预测最佳曝光时间,曝光选择的条纹图像利用FrANet生成预测的绝对相位图。作为输入的是Eq.(3)中n = 0时相移为零的单条纹图像。为了将ExSNet方法与其他曝光选择方法进行比较,还对其他方法得到的曝光选择条纹图像进行了FrANet处理,并计算了绝对相位误差图。结果如图7所示,包括曝光选定的条纹图像和绝对相位误差图。计算机视觉中的曝光选择方法旨在提高图像质量,以便更好地进行检测、跟踪或其他计算机视觉任务。这些方法包括基于梯度的方法和基于熵的方法。Liu等人设计了一种用于三维测量[42]的曝光选择方法。这种方法的结果取决于是否对条纹图像进行裁剪,这是由于调制背景的影响。因此,使用该方法的结果,有裁剪和不裁剪的图像都给出了。

图8 最佳曝光时间,选择曝光时间和误差,以及使用不同方法对应的平均绝对相位误差。

采用基于梯度法、熵值法、非分切曝光选择法[42]、分切曝光选择法[42]和本文提出的ExSNet方法的曝光时间分别为36207µs、25841µs、34155µs、14565µs和17593µs。对应的平均绝对相位误差分别为23.36 mrad、12.74 mrad、15.55 mrad、8.39 mrad和5.22 mrad。不同方法的最佳曝光时间、所选曝光时间和误差以及对应的平均绝对相位误差如图8所示。

由于基于梯度和基于熵的方法关注的是图像的一般质量,所以它们对过曝光不敏感,对曝光时间的选择也比最优方法长。使用未裁剪图像的曝光选择方法[42]由于调制背景的面积较大而不准确,而使用裁剪图像的曝光选择方法精度更高,但产生的图像略显不足。结果表明,与其他曝光选择方法相比,ExSNet预测了最准确的最佳曝光时间,当FrANet几乎达到峰值性能时,并产生最准确的绝对相位图。

3.3 三维测量评价

图9 使用ExSNet评估曝光选择和使用FrANet预测相位图。

为了验证所提方法对单目高动态范围三维测量的有效性,对一幅具有过曝区域的条纹图像进行了捕获和处理。为了详细评估ExSNet和FrANet预测的最佳曝光时间和相位图,还计算了最佳曝光时间和相位图的基本事实。与曝光选择评价类似,在曝光时间3000 ~ 45000us范围内的条纹图像被用来生成相位图的真实标签。通过FrANet对不同曝光时间的单拍图像进行处理,确定最佳曝光时间的真实标签为12000s。使用ExSNet的曝光选择评估和使用FrANet的相位图预测如图9所示。ExSNet选择的曝光时间为13559µs,最接近于设定的最佳曝光时间和相邻曝光时间。预测的包裹相图、预测的绝对相图和精化的绝对相图的平均误差分别为362.3 mrad、19.1 mrad和5.5 mrad。由于深度神经网络的学习原理,预测的相位图在没有调制的区域有价值。由于FrANet中三个模块的输入均为单目条纹图像,因此相位反演模块预测的包裹相位图在相位展开过程中仍可进行细化。预测的绝对相位图在不同条纹的边界处有一定的误差,具有较高的精度。经精化的绝对相位图作为FrANet的最终输出,修正了不同条纹阶的边缘误差,具有较高的精度。工业部分的右侧在原始条纹图像中过度曝光,但该区域的网络预测同样准确,没有模糊。结果表明,该方法能够实现高精度的单次高动态范围三维测量。

图10 移动标准球的三维测量结果。

为了定量评价该方法在运动物体三维测量中的应用效果,我们还对直径为30mm±2µm、中心距离为100mm±2µm的运动标准球进行了测量。结果如图10所示。移动标准球的动态场景如图10(a)所示,标准球被固定在不可伸缩的绳子上形成一个钟摆。条纹图像是在标准球体达到最低高度和最高速度时拍摄的。摆长为695 mm,水平偏差为150 mm时释放标准球,最高速度为0.567 m/s。采用原始条纹图像进行曝光选择,预测最佳曝光时间为9012us。将图10(b)中曝光调整后的图像输入FrANet完成三维测量。网络预测包裹相图和绝对相图,如图10(c)和(d)所示。利用之前的标定参数将预测的绝对相位图转换为三维坐标。预测左球直径为30.073 mm,右球直径为29.936 mm,误差分别为73±2 μ m和64±2 μ m。预测中心距为100.049 mm,误差为49±2µm。请注意,白色标准球和黑色棒在曝光水平上有很大的不同,这使得在一次曝光中重建它们具有挑战性。该方法可以利用一幅条纹图像恢复出欠曝光区域的信息,并重建出标准的球和棒。

3.4 消融实验

表格1:消融研究结果:曝光选择、注意机制和条纹技术。

为了清楚地了解本研究中提出的各种技术所作的贡献,我们对曝光选择、注意机制和条纹技术进行了消融研究。消融研究结果如表1所示。选择预测值与测试集上的真实标签三维坐标之间的相对均方根误差(relative root-mean-square error,简称RMSE)作为度量。相对RMSE可以表示为:

其中为像素位置, 为使用当前技术预测的三维坐标,为真实标签三维坐标, 为使用所有技术预测的三维坐标。测试集主要是带有过度曝光区域的条纹图像。采用十二步相移和时间相展开法计算真实标签三维坐标。无曝光选择是指未经曝光调整的原始条纹作为FrANet的输入。有曝光选择但没有注意机制意味着ExSNet中的注意模块被卷积层取代。FTP条纹分析是指在曝光选择后,用FTP而不是FrANet来处理条纹图像。结果表明,每种技术对三维测量精度的贡献。

3.5 与其他方法的比较

图11 三次曝光的多次曝光HDR法的结果。

图12 Liu et al.[42].单次曝光法结果。

图13 给出了该方法的计算结果。

将该方法与其他高动态范围的三维测量方法进行了比较。这些方法包括三次曝光的多次曝光HDR法和Liu et al.[42]的单次曝光法。由于多次曝光HDR方法耗时较长,条纹图像融合仅使用三次曝光,分别为12000us、18000 s和24000s。利用四步相移技术和时间相位展开技术计算相位图。Liu等人[42]的单次曝光方法包括使用手工度量的曝光选择和使用深度神经网络的图像增强。增强条纹生成相图也使用四步相移技术和时间相位展开。该方法与本文提出的方法关系最为密切。该方法采用基于深度学习的曝光选择,以获得最佳的测量精度,而不是使用手工制作的度量。此外,图像增强被集成到FrANet的单目测量,而不是使用一个单独的网络。

不同高动态范围三维测量方法的结果如图11-13所示。对于多次曝光的HDR方法,仅三次曝光不能完全恢复曝光不足和曝光过的区域。在融合条纹图像中,工业部分的左侧曝光不足,大部分曝光过度。因此,用该方法计算出的绝对相图误差最大。Liu等人的单次曝光方法。[42]使用他们的度量进行曝光选择,并增强所选的条纹图像。这种增强通过使调制分布更均匀来减轻过曝光和曝光不足的问题。然而,使用深度神经网络进行图像增强时,由于信息丢失,不能准确预测过曝光区域的调制,并带来了额外的绝对相位图误差。该方法直接根据FrANet的性能选择最佳曝光时间。FrANet可以整合图像增强的过程,因此不需要额外的增强。在这些方法中,用该方法预测的绝对相图精度最高。

图14 采用不同的高动态范围方法进行三维重建。

图15 不同高动态范围方法的绝对相位图误差和重构误差。

利用三角剖分法将不同方法的绝对相位图转换成三维坐标。三维重建结果如图14所示。三次曝光的多次曝光法在这一区域由于相位误差较大而导致工业部分左侧漏光。Liu等人[42]的单次曝光方法不能完全恢复图像增强过程中的信息损失,导致重建结果中的点分散。该方法利用单目条纹图像对工业零件进行精确重构。大多数重建错误来自挑战性的暴露不足的区域在左侧。不同高动态范围方法的绝对相位图误差和重构误差如图15所示。对于绝对相位图误差,计算了三维测量中提取的绝对相位图与真实标签绝对相位图之间的平均绝对误差。重建误差的评估使用根均方误差之间的测量三维坐标和真实标签。该方法在相图预测和重构方面均优于其他HDR方法。

04 讨论

单目测量具有高度反射区域的物体一直是一个挑战。传统的HDR方法在单次曝光中获取条纹图像,通常使用额外的或先进的设备,这增加了FPP系统的成本。使用多次曝光的HDR方法很难实现实时测量,也不适合动态场景中的单目测量。之前的单次HDR三维测量方法的尝试非常有限。提出了利用深度神经网络进行图像增强和条纹分析的方法。这些方法通常依赖于深度学习算法的图像增强能力来提高在高反射区域或曝光不足区域的精度。基于算法的方法的问题是,由于只处理一幅条纹图像,在过曝光和欠曝光区域的信息丢失无法完全恢复。

本文提出了一种将深度学习与曝光选择相结合,并利用深度学习处理条纹的方法来实现单目HDR三维测量。与其他三维测量方法相比,该方法具有多个优点。与采用移相技术和时间相位展开技术的多镜头测量方法相比,该方法具有更高的测量速度,能够对运动目标进行测量。与本文方法相比,多曝光HDR方法耗时较长,且不能实现实时测量。单次曝光HDR方法要么使用额外的或先进的设备成本更高,要么仅用算法补偿信息损失的准确性较低。该方法在FPP系统中只需要一台投影机和一台摄像机。曝光时间由ExSNet选择,直接选择最佳的FrANet性能。这避免了在过度曝光区域的信息损失,并使HDR测量的单目测量成为可能。使用深度网络预测最佳曝光时间和再现条纹图像提高了完全基于算法的方法的准确性。相位图计算只需要一个条纹图像,这使得我们的方法能够测量在图像拍摄之间运动的物体。进一步的研究可能包括优化ExSNet和FrANet的结构,修改曝光时间集以减小曝光选择间隔,以及将该方法应用于有时间噪声的三维测量。

05 总结

针对单幅三维测量中动态范围大的问题,提出了一种基于曝光选择的ExSNet方法,并结合FrANet进行条纹分析,对调整后的条纹图像进行处理。ExSNet采用自注意机制,增强高反射区和曝光不足区,以实现高动态范围单拍3D测量。为了提高相位反演和相位展开的精度,该算法由三个模块组成,分别对包裹相位图和绝对相位图进行预测。在FPP系统上的实验表明,该方法能准确预测最佳曝光时间,并能预测出相应的绝对相图。此外,还可以对工业零件进行高精度的高动态范围三维测量,并对过曝光的移动标准球进行了测量。直径预测误差分别为73µm(左)和64µm(右)。中心距预测误差为49µm。消融研究表明,曝光选择、注意机制和条纹分析技术都有助于提高三维测量的精度。采用三次曝光的多次曝光HDR法和其他研究者的单次曝光法与本文方法进行了比较。该方法在绝对相图预测和三维重建中得到了最精确的结果。

—END—

高效学习3D视觉三部曲

第一步 加入行业交流群,保持技术的先进性

目前工坊已经建立了3D视觉方向多个社群,包括SLAM、工业3D视觉、自动驾驶方向,细分群包括:[工业方向]三维点云、结构光、机械臂、缺陷检测、三维测量、TOF、相机标定、综合群;[SLAM方向]多传感器融合、ORB-SLAM、激光SLAM、机器人导航、RTK|GPS|UWB等传感器交流群、SLAM综合讨论群;[自动驾驶方向]深度估计、Transformer、毫米波|激光雷达|视觉摄像头传感器讨论群、多传感器标定、自动驾驶综合群等。[三维重建方向]NeRF、colmap、OpenMVS等。除了这些,还有求职、硬件选型、视觉产品落地等交流群。大家可以添加小助理微信: dddvisiona,备注:加群+方向+学校|公司, 小助理会拉你入群。

添加小助理微信:cv3d007, 拉你入群

第二步 加入知识星球,问题及时得到解答

3.1 「3D视觉从入门到精通」技术星球

针对3D视觉领域的视频课程(三维重建、三维点云、结构光、手眼标定、相机标定、激光/视觉SLAM、自动驾驶等)、源码分享、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答等进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业、项目对接为一体的铁杆粉丝聚集区,6000+星球成员为创造更好的AI世界共同进步,知识星球入口:「3D视觉从入门到精通」

学习3D视觉核心技术,扫描查看,3天内无条件退款
高质量教程资料、答疑解惑、助你高效解决问题
3.2 3D视觉岗求职星球

本星球:3D视觉岗求职星球 依托于公众号「3D视觉工坊」和「计算机视觉工坊」、「3DCV」,旨在发布3D视觉项目、3D视觉产品、3D视觉算法招聘信息,具体内容主要包括:

  • 收集汇总并发布3D视觉领域优秀企业的最新招聘信息。

  • 发布项目需求,包括2D、3D视觉、深度学习、VSLAM,自动驾驶、三维重建、结构光、机械臂位姿估计与抓取、光场重建、无人机、AR/VR等。

  • 分享3D视觉算法岗的秋招、春招准备攻略,心得体会,内推机会、实习机会等,涉及计算机视觉、SLAM、深度学习、自动驾驶、大数据等方向。

  • 星球内含有多家企业HR及猎头提供就业机会。群主和嘉宾既有21届/22届/23届参与招聘拿到算法offer(含有海康威视、阿里、美团、华为等大厂offer)。

  • 发布3D视觉行业新科技产品,触及行业新动向。

扫码加入,3D视觉岗求职星球,简历投起来

第三步 系统学习3D视觉,对模块知识体系,深刻理解并运行

如果大家对3D视觉某一个细分方向想系统学习[从理论、代码到实战],推荐3D视觉精品课程学习网址:www.3dcver.com

基础课程:

[1]面向三维视觉算法的C++重要模块精讲:从零基础入门到进阶

[2]面向三维视觉的Linux嵌入式系统教程[理论+代码+实战]

[3]如何学习相机模型与标定?(代码+实战)

[4]ROS2从入门到精通:理论与实战

[5]彻底理解dToF雷达系统设计[理论+代码+实战]

工业3D视觉方向课程:

[1](第二期)从零搭建一套结构光3D重建系统[理论+源码+实践]

[2]保姆级线结构光(单目&双目)三维重建系统教程

[3]机械臂抓取从入门到实战课程(理论+源码)

[4]三维点云处理:算法与实战汇总

[5]彻底搞懂基于Open3D的点云处理教程!

[6]3D视觉缺陷检测教程:理论与实战!

SLAM方向课程:

[1]深度剖析面向机器人领域的3D激光SLAM技术原理、代码与实战

[1]彻底剖析激光-视觉-IMU-GPS融合SLAM算法:理论推导、代码讲解和实战

[2](第二期)彻底搞懂基于LOAM框架的3D激光SLAM:源码剖析到算法优化

[3]彻底搞懂视觉-惯性SLAM:VINS-Fusion原理精讲与源码剖析

[4]彻底剖析室内、室外激光SLAM关键算法和实战(cartographer+LOAM+LIO-SAM)

[5](第二期)ORB-SLAM3理论讲解与代码精析

视觉三维重建

[1]彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进)

自动驾驶方向课程:

[1] 深度剖析面向自动驾驶领域的车载传感器空间同步(标定)

[2] 国内首个面向自动驾驶目标检测领域的Transformer原理与实战课程

[3]单目深度估计方法:算法梳理与代码实现

[4]面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)

[5]如何将深度学习模型部署到实际工程中?(分类+检测+分割)

最后

1、3D视觉文章投稿作者招募

2、3D视觉课程(自动驾驶、SLAM和工业3D视觉)主讲老师招募

3、顶会论文分享与3D视觉传感器行业直播邀请

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/161904
 
537 次点击