点击下方卡片,关注「3D视觉工坊」公众号
选择星标,干货第一时间送达
来源:3D视觉工坊
3D视觉硬件汇总,包括结构光3D相机(支持室内外,焊接,机械臂抓取等场景),相位偏折术、散斑、机械臂抓取和焊接软件,手持扫描仪(支持定位、重定位、稠密建图)、四足狗和小车定位和导航,底盘。点击->查看详情:
随着深度学习和结构光条纹投影三维成像技术的发展,直接从单幅条纹图中恢复物体的三维形状的研究近年来受到了多个领域的关注。提出改进的全局引导路径网络MultiResHNet,实现对单幅条纹图的3D形状重建,将现有结构光学三维成像方案与深度卷积神经网络结合,对仿真数据和实验数据分别进行了验证。实验结果表明,所提方法预测的3D形状比已有的U-Net神经网络预测的3D形状更加准确,误差更小,精度更高。实验结果证明了所提技术的有效性和鲁棒性,为后续的3D形状重建技术的提高提供了科学依据,具有一定的参考和应用价值。54
1 引言
近年来,计算机技术、数字成像技术、激光技术的快速发展推动了三维成像技术的逐渐成熟,其中非接触式光学三维重建技术由于具有方便快捷、测量范围广、精度高和不损伤被测物体等优势,在各个领域有着越来越多的应用需求。
传统的结构光测量方法面临着一些问题,如测量过程繁琐,不能快速三维成像。但是,随着深度学习的快速发展,深度学习神经网络在图像分类、自然语言处理、语音识别、医疗影像处理等方面取得了重大进展。由于神经网络有着强大的特征提取能力,学者们借助神经网络充分提取条纹、散斑等图像的特征,进而恢复出物体的三维形状。最近几年,基于深度学习的三维成像和形状重建方法层出不穷,成为结构光三维测量技术在效率、精度等方面取得的新突破。学者们利用神经网络取代了现有结构光学三维成像方法的一些实验步骤,证明了该方法的可行性。例如Spoorthi等用相位神经网络(PhaseNet)实现相位展开,将原始包裹相位结合神经网络输出的条纹级次,计算最终的展开相位。改进的神经网络PhaseNet2.0可以直接将含噪声的包裹相位映射到去噪的绝对相位。Wang等利用具有U-Net结构的神经网络,该网络可以省略计算条纹级次的步骤,直接预测与包裹相位对应的展开相位。
深度学习与传统的三维成像方法相比,可以实现端到端学习,神经网络可以一次性学习原始图像特征信息和所需参数信息之间的映射关系,相比分步学习方案,减小了人为干预产生的误差,提高了实验效率。许多学者如Nguyen等将条纹图直接映射到其对应三维形状的端到端神经网络,并对全卷积网络(FCN)、自动编码器网络(AEN)和U-Net的3种深度卷积神经网络进行了训练,显示了3个网络预测的最佳三维重建结果。Machineni等利用多分辨率相似度评估的卷积神经网络(CNN),直接重建相应变形条纹图像中物体的形状。在低信噪比、低条纹密度和高动态范围等多种困难条件下,他们提出的方法可以取得很好的结果。van der Jeught等通过模拟条纹图像和深度图像训练网络,直接从单幅条纹图像中提取物体的高度信息。
对于三维形状重建,深度学习提供了一种可行且高效的方式,可以减轻整体计算负担。本文结合了生物医学图像分割的神经网络MultiResUNet和全局引导路径,提出了MultiResHNet神经网络,并将其应用在条纹投影三维形状重建中。所提网络模型通过检索和整合多个上下文层次的特征,对三维形状进行了更准确的重建,与基于相位提取和三角测量计算的最先进的3D形状重建技术相比,过程虽然简单,但仍然鲁棒,与使用U-Net进行三维形状重建的方法相比,可以提高预测的准确性。
2 算法基本原理
数字光栅投影的结构光三维测量系统由投影设备、被测物体、计算机及相机构成,如图1所示。基本思想是:计算机生成实验所需的结构光编码图案,通过投影设备,将编码图案依次投影到测试的物体表面,投射的编码图案受到被测物体表面高度的影响而发生形变,物体表面的三维坐标信息包含在调制的条纹图案中;然后,相机拍摄每一幅被调制的条纹图案,并将这些图片传输到计算机上,提取相位,获得由相位-高度映射关系测量的物体空间的高度信息,从而对物体形貌进行三维重构。本文通过相移法获得被测物体的包裹相位,再结合格雷码编码得到物体的绝对相位,实现对被测物的三维形状重建,结果作为网络训练数据集的输出标签。
2.1 基于相移法和格雷码编码的相位恢复
相移法的基本原理是在被测物体上投射一系列相移条纹图像,从拍摄到的物体变形的条纹图上获取被测物的相位主值。假设相移条纹图像为标准正弦分布,则其光强分布函数为
式中: 为总的相移步数, 表示进行了第 次相移, ; 表示像素的空间坐标; 表示背景光强, 表示调制幅度, 表示相位主值, 和 是3个未知量。可以利用式(1), 步相移算法求得的相位主值 为
根据相移原理得到的相位主值 是经过了反正切运算的,以至于求解得到的值在 之间,呈周期分布,且相邻周期存在 相位跳变,该相位称为包裹相位,使得被测物体在图像中的每个像素点的相位分布失去了全场唯一性,需要对其进行相位展开得到连续的绝对相位值 。
利用格雷码对每个像素点的周期级次信息进行编码,如图2所示,将每个像素点的格雷码值转换为十进制数并将其映射到自然序列,得到该包裹相位的条纹级次,然后计算图像的绝对相位值,数学表达式为
式中: 为展开相位或去包裹相位; 为光栅条纹的级次。利用展开后的绝对相位和高度之间的映射关系,以及基于系统标定得到的所需的各项系数,实现物体三维形状重建。
2.2 网络结构
使用的MultiResHNet神经网络模型包括编码器路径、解码器路径和全局引导路径。网络的结构包括3个主要模块,即MultiBlock模块、ResPath模块和Third模块,如图3所示。其中,MultiRes模块是主干,是MultiResHNet网络的核心结构。每个编码层对应一个解码层,编码器路径由卷积层和池化层组成,卷积层负责获取图像局域特征,池化层对图像进行下采样并且将尺度不变特征传送到下一层。解码器对缩小后的特征图像进行上采样,然后对上采样后的图像进行卷积处理,完善物体的几何形状,弥补编码器中池化层将物体缩小造成的细节损失。本文在此基础上引入全局引导路径,通过从解码器路径中提取图像的附加信息来提高形状重建的精度。
为了增强网络的多分辨率分析能力,MultiBlock模块使用一系列更小、更轻便的 卷积层,替换要求更高的 和 卷积层,如图4(a)所示,第二和第三卷积模块的输出分别有效地逼近 卷积和 卷积运算,将三个卷积模块的输出连接在一起,从不同的尺度提取空间特征。ResPath模块添加了残差连接,并引入了 卷积层,如图4(b)所示。沿着4个ResPath分别使用4、3、2、1个卷积块。Third模块对MultiRes模块输出进行相应的 卷积和信道深度为1的转置卷积,将感受野大小调整为1,分辨率上采样为输入的大小,最后输出具有线性激活的 卷积,如图4(c)所示。
全局引导路径的网络结构如图5所示,从上到下依次为模块Third1到Third5的内部结构。由于模块Third1与输入具有相同的分辨率,因此不需要再使用转置卷积进行上采样。全局引导路径可以对低分辨率到高分辨率的特征映射进行精确优化和训练。其次,对模块Third1~5的输出进行进一步拼接和融合,进行最终预测,有助于提高输出的准确性。网络训练过程的总损失为
式中: 表示路径中最后输出层的损失; 表示Third路径中其他输出层的损耗, 。 和 是每个损失相应的权重,在学习过程中使用反向传播算法最小化学习损失,其中每个隐藏层定义为
式中: 是输入的向量, 是输出向量; 是激活函数。矩阵形式的权重参数 和向量形式的偏置参数 通过训练过程得到优化。实验中采用LeakyReLU非线性激活函数,表达式为
式中: 为负斜率系数。
全局引导路径网络使用Adam优化器控制网络的学习速率,损失函数使用均方误差(MSE)。采用两种常见的回调机制,即Keras库中的LambdaCallback和ModelCheckpoint,来监控和保存学习的中间结果。

LambdaCallback帮助保存带有更新参数的3D形状重建,ModelCheckpoint设置为保存最佳优化模型。均方根误差(RMSE)用于监控优化过程,模型是否被更新是基于验证数据集的RMSE的。
式中: 是有效点的数量; 指真实值; 是预测值。
此外,本研究还包括两个评价指标,平均绝对误差(MAE)和结构相似性指数(SSIM),用于性能评估和预测结果与3D地面实况标签之间的比较。这两个指标的计算公式分别为
式中: 是 的平均值, 是 的平均值, 是 的方差, 是 的方差, 是 和 的协方差; 和 是用来维持稳定的常数; 是像素值的动态范围; 。
3 实验与结果
通过模拟数据和实验数据验证了所提方法的有效性。在搭载Nvidia GeForce RTX 2080Ti显卡、英特尔至强银牌4110处理器、16GB内存的服务器上进行网络训练和测试,实验的网络架构是基于Python 3.6.13的Keras框架版本的,采用了Nvidia的cuDNN深度神经网络库来加快训练过程。将投影仪和相机任意排列,形成广义的布局。相机到感兴趣的场景的距离大约是 。在实验中,使用一些大小大约为 的小石膏雕塑作为对象,其大小和表面性质适合于生成可靠和准确的三维数据集。
3.1 仿真模拟
3.1.1 数据集
为了制作训练网络所需要的数据集,设计了随机表面地图生成器,该生成器可以生成大小不同的随机矩阵,再通过插值方法生成指定尺寸的模拟高度图。其中将模拟高度限制在 ,使用到的插值方法有线性插值、三次样条插值和三次Hermite插值等。仿真获得的数据集包括条纹投影式(1)生成的正弦条纹经物体调制后的变形条纹图及对应的深度图。实验共生成了2500对图片,分别使用2250对数据作为训练集和250对数据作为验证集。数据集中的部分模拟投影条纹图及对应的深度图如图6所示。
3.1.2 三维测量结果
使用模拟数据集训练U-Net和MultiResHNet神经网络,优化器设置为Adam,初始学习率为 ,将MSE作为损失函数。为了得到更好的训练结果,分析训练集、验证集的损失下降趋势,调整批大小、训练次数和初始学习率。最终,设定一次训练选取的样本数为8,训练总次数为200,U-Net和MultiResHNet两种方法的训练时间分别约为 和 。网络输入的灰度图片大小是 ,训练完成后,使用30个测试样本对两种网络模型进行测试,一次性输出对所有样本的测试结果。以RMSE作为衡量模型性能的标准,训练过程中的训练集和验证集的MSE和RMSE如表1所示。
表1 两种网络的模拟误差分析Table 1 Simulation error analysis of the two networks
| 参数 | U-Net | MultiResHNet |
|---|---|---|
| 训练 MSE | ||
| 训练 RMSE | ||
| 验证 MSE | ||
| 验证 RMSE |
图7是两个网络的测试结果。图7(a)和图7(f)分别是两个样本的真实深度图,图7(b)和图7(g)是U-Net预测的两个样本的深度图,图7(c)和图7(h)是两个样本真实深度图和U-Net预测的深度图之间的测试误差,图7(d)和图7(i)是MultiResHNet预测的两个样本的深度图,图7(e)和图7(j)是两个样本真实深度图和MultiResHNet预测的深度图之间的测试误差。从误差图可以看出,MultiResHNet测试的整体误差小于U-Net,验证了所提方法的有效性。
由于在实际环境中采集的输入条纹图存在噪声,在不改变训练方法的情况下,对输入模拟条纹图添加噪声水平为 的高斯噪声,然后进一步测试了两种网络模型的性能,训练时间分别为 和 。加噪声数据集中的部分模拟投影条纹图及其对应的深度图如图8所示,U-Net和MultiResHNet对加噪声的测试样本进行处理得到的RMSE分别为0.1414和0.1313。
图9是测试样本的三维形状图,可以看出,对于具有 的高斯噪声的物体,MultiResHNet和U-Net依然可以很好地恢复物体的三维形状,进一步说明了所提方法的可行性。其中图9(a)是传统方法获得的物体实际三维形状,图9(b)和图9(d)分别对应U-Net和MultiResHNet预测的物体三维形状,图9(c)和图9(e)分别是网络预测值和地面真实值之间的误差。


3.2 实验验证
3.2.1 数据集获取
在真实实验数据集上对所提算法进行可行性和网络性能的测试。图10列举了训练和验证时所使用的部分网络输入和输出的图像。实验数据是在真实场景下拍摄的小石膏雕塑的变形条纹图,共采集了1120组数据,数据中包含不同被测物或者相同被测物的不同姿态,每个样本有对应的传统三维成像方法获得的深度图。其中条纹的频率使用48,获得了更多被测物体的特征信息,有助于神经网络的充分学习。
3.2.2 训练、分析和评价
实验训练次数为200,最小批量大小为2,初始学习率设定为 。在实验数据集上对U-Net和MultiResHNet神经网络进行了性能评估,两种方法的训练时间分别约为 和 。完成训练后,在学习过程中获得的RMSE如图11所示。测试相同的数据集,实验结果表明,MultiResHNet在验证集上的RMSE比U-Net的RMSE小,验证了MultiResHNet的可行性。
为了进一步评估两种网络模型在单帧图像三维重建方面的优势,对网络模型又增加了两种评价方法,即MAE和SSIM。表2显示了用于单次3D形状重建的两种神经网络模型的性能指标。从表2可知,MultiResHNet模型总体要优于U-Net,预测效果比U-Net好。
表2 两种网络的实验指标分析Table 2 Experimental index analysis of the two networks
| 网络 | RMSE | MAE | SSIM |
|---|---|---|---|
| U-Net | 0.77 | 0.98163 | |
| MultiResHNet | 0.69 | 0.98764 |
选用测试数据中具有代表性的两组数据,对两种网络模型的测试结果与标签数据做误差分析。图12展示了地面真实3D数据和用U-Net与MultiResHNet测试的3D数据重建的视觉比较。网络输入如图12(a)和图12(e)所示,图12(b)和图12(f)是物体的实际三维图,图12(c)、(g)和图12(d)、(h)分别是U-Net和MultiResHNet测试的物体三维图。从图12可以看出,MultiResHNet预测的深度比U-Net更加准确,并且重建的3D形状整体更加平滑,具有较多的细节。
图13为两个网络对三个物体的测试结果的误差分析。图13(a)是三个物体的网络输入图,图13(b)是真实值和U-Net预测值之间的误差图,图上面的值是每个物体对应的平均误差。图13(c)是真实值和MultiResHNet预测值之间的误差图。平均误差的计算方法是:将每个有效像素位置的深度误差相加,得到误差之和,然后除以有效像素数。对于第二个被测物体,MultiResHNet三维重建的误差是0.0132mm,U-Net的重建误差是 。从结果可以看出,MultiResHNet三维重建的误差要比U-Net低一些。实验结果表明了所提方法的有效性。

4 结论
提出了一种用于单次条纹图3D成像的MultiResHNet深度神经网络模型,使用相移法和格雷码方法制作数据集,测量小型物体的三维形状,实验验证了所提网络的可行性和有效性。与U-Net训练结果相比,MultiResHNet效果更加好,测量精度也更高,对表面较平坦的物体的测试精度可以达 ,使三维形状测量技术能更好地应用于科学研究和生活中。为获得更高的三维重建测量精度,后续可以从多方面进行改进,包括对网络输入图像预处理的优化、网络模型的改进、训练数据集的优化和增强、网络模型泛化能力的提高,使网络可以应用在更加复杂的场景和物体上。
本文仅做学术分享,如有侵权,请联系删文。
3D视觉工坊中秋国庆双节专属课程福利重磅来袭!为回馈新老学员一路支持,本次活动特推出重磅折扣福利,所有课程统一享8折特惠,其中10余门课程加入知识星球可一次性全部购买学习(限时福利仅需279元)!
中秋国庆双节八折特惠
中秋国庆专属8折优惠
微信扫码领取,限时三天内使用
3D视觉工坊所涉及课程的包括但不限于:工业3D视觉、自动驾驶、SLAM、具身智能、扩散模型、无人机、大模型和3D视觉基础等。
专属打包福利
上图中的:ROS2、相机标定、线结构光、3D缺陷检测、激光-视觉-IMU-GPS融合SLAM、VINS-Fusion、模型部署、3D目标检测、深度估计、多传感器融合这10门课程,除各自单独购买享8折外,也支持一次性全部购买,限时福利仅需279元,扫描下方二维码加入一次性全部解锁!

扫码加入3D视觉从入门到精通知识星球
活动咨询

▲长按扫码添加小助理,咨询更多
点森科技 - 科技资讯_数码产品_互联网观察_智能硬件


