南京理工大学提出基于网格变形的3D眼镜框架重建方法,提升虚拟试戴体验
可用于从单个RGB图像中恢复高精度3D全帧眼镜模型
(映维网Nweon 2025年02月06日)在XR技术的支持下,3D虚拟眼镜试戴应用正在成为一种新的流行解决方案,它提供了一个“试戴”选项,允许你在舒适的家中选择一副完美的眼镜。
以往基于深度和图像的方法由于缺乏足够的纹理特征严重的自遮挡等问题,从单幅图像重建镜框非常困难。
在一项研究中,南京理工大学提出了第一个基于网格变形的重建框架,可用于从单个RGB图像中恢复高精度3D全帧眼镜模型。
具体而言,在构建合成眼镜框架数据集的基础上,首先定义了具有预定义关键点的特定类眼镜框架模板。
然后,给定一幅结构薄且纹理特征少的输入眼镜帧图像,设计关键点检测器和细化器,对预定义的关键点进行coarse-to-fine检测,以准确估计camera姿态。然后,利用可微渲染,他们提出了一种新的优化方法,通过在模板网格逐步执行自由变形(FFD)来生成正确的几何形状。
团队定义了一系列的损失函数来加强渲染结果和相应的RGB输入之间的一致性,利用了固有结构、轮廓、关键点、每像素阴影信息等的约束。在合成数据集和真实图像的实验结果表明了算法的有效性。
随着电子商务的快速发展,XR技术越来越多地应用于各种网络购物领域,人们可以虚拟地查看配饰、服装、发型等的外观。其中,3D虚拟眼镜试戴应用是一种新的流行解决方案。它提供了一个“试戴”选项,让你在舒适的家中选择一副完美的眼镜。用户可以交互式浏览和虚拟试戴眼镜,看看眼镜是否合适,或者可以从不同的角度预览眼镜的外观。
一般来说,一副眼镜是典型的模块化产品,由镜框和镜片根据功能组合而成。眼镜框架主要分为三大类:全框眼镜、半无框眼镜和无框眼镜。它们可以由金属或塑料制成,有各种形状和颜色。眼镜框架可进一步细分为不同的元素,如镜框、镜架、镜架、镜尖、鼻垫等。
在大多数情况下,最厚部分的宽度通常小于5毫米。这种薄元素没有足够的表面细节和很少的纹理来提取特征。更糟糕的是,特定种类的镜框可能颜色一致。所以,以往基于深度或基于图像的重建方法在重建具有薄结构的眼镜框时极具挑战性。
基于深度的重建方法通常采用RGBD深度传感器,使用TSDF表示对深度扫描进行对齐和整合,然后提取融合表面。诸如KinectFusion和BundleFusion等方法已经成功地在相对较大的结构和环境中取得了令人印象深刻的重建结果。然而,由于大多数深度摄像头的低分辨率,它们可能无法捕获主要由薄或丝状结构组成的镜框。
基于图像的重建方法旨在从一张或多张二维图像中恢复三维形状,这是一个长期存在的不适定问题。近年来,利用深度学习技术从单幅图像进行三维重建已成为一个非常有前途的方向,并取得了巨大的成功,这是因为深度学习技术具有整合形状先验的优越学习能力。
利用深度神经网络的优势,输出估计的3D形状通常表示为一个体积,一个点云,或一个网格。体积表示和点云在表达几何细节方面都表现不佳,可能会产生缺失的部分或破碎的结构。
基于网格的表示在建模几何细节方面的灵活性和有效性而受到欢迎。尽管目前的尖端技术取得了巨大的成功,但对于通用框架来说,处理薄结构的眼镜框架依然相当具有挑战性。一方面,眼镜框的RGB图像缺乏足够的纹理特征,有的地方只有几个像素宽。所以,用于特征提取和匹配的纹理很少。
另一方面,现有的通用重构方法尽管在利用细化模块显著提高了重构质量,但依然表现不佳或无法恢复薄零件和小零件。
为了解决上述问题,南京理工大学提出了第一个基于网格变形的重建框架,从单幅RGB图像中恢复高精度3D全帧眼镜模型。
关键思想是定义一个基于网格的眼镜框架模板,然后利用先验和特定领域的知识,使用一种复杂的无监督自由变形(FFD)技术将其变形为具体的网格。
为了在加速收敛的同时保持细节的3D重建,首先基于新构建的眼镜框架数据集定义了一个特定于类的网格模板。然后,考虑到薄眼镜的RGB图像缺乏足够的纹理特征,团队在帧上定义了一系列关键点,并设计了一种coarse-to-fine检测的改进方案来检测预定义的关键点,以估计输入图像的camera参数。
之后,在模板上执行FFD,并使用可微分渲染来更新FFD控制点位置,通过强制渲染模板和相应的RGB输入之间的一致性。最后,整合了对称损失、投影损失和正则化损失,以实现精确的重建。
在合成数据集和真实图像的实验结果表明了算法的有效性。
总的来说,研究人员提出了一种基于变形的新方法,可用于从单视图图像中高质量地重建具有薄结构的3D全画幅眼镜。团队提出了一种coarse-to-fine策略来精确检测预定义的关键点,以估计输入图像的camera姿态。然后,他们设计了一种与可微渲染相结合的无监督自由变形技术,对模板网格进行渐进式变形,并输出最终的重构模型。
展望未来,团队希望从In the Wild拍摄图像中重建镜框,为用户提供更好的体验。另一个扩展是考虑自监督重构方法,以减少对数据集的依赖。