对于不同结构光轮廓术的原理,傅里叶变换轮廓术具有最低的计算复杂度,并且变形的结构光图案我(u个, v(v))相机拍摄的图像可以写为:
$$\begin{aligned}I(u,v)=a(u,v)+b(u,v)\cos[\varphi(u,v)+2\pi f_{0}u]\结束{对齐}$$
(1)
哪里一(u个, v(v))是像素的背景光强度(u个, v(v)),b条(u个, v(v))是结构光模式的振幅,(f)0是条纹结构光的基频,以及\(\varphi(u,v)\)是由表面高度调制的相位振幅小时(u个, v(v)). 然后,小时(u个, v(v))表示为:
$$\begin{aligned}h(u,v)=\frac{l{0}\varphi(u,v)}{2\pif_{0}天}\结束{对齐}$$
(2)
哪里天表示相机和投影仪之间的中心距离,以及\(l_0\)表示参考平面与相机之间的距离,两者都是结构光器件的几何参数。
转换等式中的三角函数1成指数形式,让\(c(u,v)=frac{1}{2} b条(u,v)\exp(i \varphi(u,v)),相位振幅\(\varphi(u,v)\)被测表面调制可以表示为:
$$\begin{aligned}\varphi(u,v)=\frac{Im[c(u,v)\exp(i2\pi f_{0}u)]}{Re[c(u,v)\exp(i2\pi f_{0}u)]}\结束{对齐}$$
(3)
相位振幅\(\varphi(u,v)\)通过方程式计算。三包装范围为\((-\pi,\pi)\); 相位展开后,最终高度图小时(u个, v(v))可以通过公式2[32].
3.1结构光模式的全局特征提取
目前,对于基于深度神经网络的结构光测量算法,大多是编码器-解码器框架。通过预处理网络从输入的结构光模式中提取特征图,然后将其放入解码器中生成高度信息。
在编码器中,为了提取结构光模式的特征图,需要采集全局特征,特别是当被测表面存在不连续的部分时。目前的方法是:(1)通过降低卷积层特征图的分辨率(缩小比例),例如下采样操作(例如,池层),网络可以获得原始模式远距离位置之间的特征信息。然而,卷积层的输出表示不同空间位置的特征信息,并将模式分割为网格以获得每个部分的局部特征。在编码和解码过程中,模式大小的缩放会导致信息的丢失,从而降低三维重建的精度,或者依赖于更深的卷积和池运算[33]. (2) 另一种方法是扩张卷积,与池化层增加感受野但丢失信息的问题相比,扩张卷积网络可以避免下采样操作[34]. 通过增加膨胀率,膨胀卷积在卷积核的元素之间插入空白,从而将核扩大到更大的感受野。然而,扩张卷积的采样过程是稀疏的,而网络中叠加了多个扩张卷积,对于物体边缘和小尺度物体,一些丢失的像素将失去信息的连续性和特征图之间的相关性,从而导致三维重建精度的降低[35].
目前,现有的研究大多基于深度卷积层来提取结构光模式的全局特征图,这导致网络的可学习参数数量庞大,训练时间长,部署困难。因此,为了高效准确地进行三维重建,关键的一步是基于有限神经层的网络获取更多的全局信息[36,37].
对于全局特征地图提取,自关注在获取大规模交互性方面有很大的改进,其主要操作是获取隐藏单元计算值的加权平均值。此外,自关注机制可以在不增加参数的情况下获得广泛的交互,这有助于减少网络模型的可学习参数数量。这对于高分辨率结构光轮廓术的大规模建模具有重要意义[38,39].
目前,变压器使用自我注意来获取远程交互信息。与CNN相比,该变换器所需计算资源较少,在NLP、图像分类等方面取得了优异的性能[40,41],已成为深度学习领域的研究热点。转换器的底层结构类似于ResNet,它将图像划分为多个指定大小的补丁,这导致了两个缺点:首先,边界像素无法使用补丁外的相邻像素进行图像恢复;其次,恢复的图像可能会与每个补丁周围的边界伪影混合[42].
作为一种改进的视觉变换器,swin变换器采用了一种基于移位窗口和层次化表达的新型通用结构。与以前的视觉变换器相比,swin变换器引入了局部性的思想,并使用移位窗口计算非重合块的自聚焦,这也大大降低了计算量[43,44].
3.2双路混合子模块
卷积具有良好的局部感知能力,但它缺乏远程信息的交互,这将失去结构光模式的全局特征。如果网络仅依赖更深的卷积层和池层来扩展接受域,则会导致大量可学习参数和网络的过拟合。纯变压器或swin变压器网络在模式的全球感知方面具有明显的优势,但在细分面片时丢失了图案细节信息[45]. 在[46]提出了一种混合网络结构,利用卷积运算和自关注机制来增强表示学习,可以显著提高基本网络在可比参数复杂度下的表示能力。受此启发,我们提出了一个用于特征学习的双通路混合子模块,其中有两个并行子路径,局部和全局特征分别由卷积路径和swin变换器路径表示,每个卷积块都有其相应的并行swin变换块用于特征交互[47]. 双通道混合子模块的示意图如图所示1.
在双路混合子模块的卷积路径中,特征映射\(fi\)前一个子模块的输出直接传输到卷积路径进行局部特征提取,该特征也通过FC(特征耦合)下行块进行序列化,并间接发送到swin transformer路径进行全局特征提取。输出全局功能\(p_s\)旋转变压器的转换为3D形式\(u\)(H)\(_j)W公司\(_j)C类\(_j))通过FC Up块,它与输出特性耦合\(f_c\)从卷积层到平均层。在Average层的后面有一个UpSampling2D层和一个Dense层,其目的是保持特征维数与编码器的剩余信息一致。特征信息和残差信息串联后,用作输入\(f_j)下一个子模块[48,49].
在swin变换器路径中,张量\(p_i\)前一个子模块的输出和从卷积层传递的2D特征图也通过Average层耦合,然后传递到当前swin transformer块进行全局特征提取。张量\(p_s\)来自swin变换器的gets有两个分支:一个耦合到卷积路径以提供全局特征信息,另一个通过补丁扩展层上采样并传递给下一个子模块以进行进一步的全局特征表示。
FC-Down块由补丁提取层、补丁嵌入层和LayerNormalization层以及3D特征映射组成\(fi\)通过补丁提取层将其序列化为2D补丁。这些补丁通过补丁嵌入层进行标记化,并保持与前一个相似的维度\(PI\); 在层归一化层之后,可以避免梯度的消失。在FC Up块中,在补丁扩展2D层之后,序列化的全局功能\(p_s\)被重塑为3D形式;然后,其维数由11卷积层补充,然后通过BatchNormalization层输出。
利用该双通道混合子模块,对于不同尺度的特征地图,卷积路径和swin变换路径可以分别提取局部和全局特征,这两种不同的特征通过耦合块进行了强融合。通过混合子模块,可以有效地减少神经网络的层数,获得高精度的三维重建。
3.3提出的双通路混合解码网络
基于上述双通混合子模块,我们提出了一种用于单次结构光轮廓测量的新型双通解码网络,该网络是对经典UNet的改进[50],最终的网络架构如图所示2.
编码器中有三个卷积块,由两个33卷积层、两个BatchNormalization层和一个MaxPooling层组成。在卷积块之间,MaxPooling层执行2次下采样。与UNet中的4个下采样卷积块和一个底部卷积块相比,该网络消除了最深的卷积块,以减小模型的总体尺寸,并且全局特征信息被提取出来并由解码器中的混合子模块表示。同时,每个卷积块还输出跳转到解码器的剩余信息,避免了反向传播过程中梯度的消失[51].
解码器由4个串联的双路混合子模块组成,主要代表结构光模式的局部和全局特征,并分别通过UpSampling层和Patch扩展层缩放两条路径中的特征图。需要注意的是,在解码器中,每个卷积块由一个33卷积层和一个BatchNormalization层组成,而每个swin transformer块由两个swing transformer层组成。
模型中的输出层是11个卷积,最终的3D高度图以线性回归的形式输出。