【论文解读】FFHQ-UV:用于3D面部重建的归一化面部UV纹理数据集

【论文解读】FFHQ-UV

论文地址:https://arxiv.org/pdf/2211.13874.pdf

0. 摘要

我们提出了一个大规模的面部UV纹理数据集,其中包含超过50,000张高质量的纹理UV贴图,这些贴图具有均匀的照明、中性的表情和清洁的面部区域,这些都是在不同光照条件下渲染逼真的3D面部模型所需的特征。该数据集源自大型人脸图像数据集 FFHQ,借助我们全自动且强大的 UV 纹理制作流程。我们的流程利用基于 StyleGAN 的面部图像编辑方法的最新进展,从单图像输入生成多视图归一化面部图像。然后应用精心设计的UV纹理提取、校正和完成程序,从归一化的人脸图像中生成高质量的UV贴图 。与现有的UV纹理数据集相比,我们的数据集具有更多样化和更高质量的纹理图。我们进一步训练了一个基于GAN的纹理解码器,作为基于参数拟合的3D人脸重建的非线性纹理基础。实验表明,该方法提高了重建精度优于最先进的方法,更重要的是,可以生成高质量的纹理贴图,为逼真的渲染做好准备。数据集、代码和预训练的纹理解码器在 https://github.com/csbhr/FFHQ-UV上公开提供。

1. 引言

在计算机视觉和图形学界,从单个或多个图像重建面部的 3D 形状和纹理是一项重要且具有挑战性的任务。Blanz and Vetter 的工作表明线性统计模型的参数拟合可以有效地实现3维重建,叫做3DMM。然而,几乎所有的基于3DMM的重建方法都是在提高形状估计的准确度,只有很少一部分工作聚焦于UVt贴图的恢复。

在贴图恢复问题上有两点值得关注,第一是保真度,第二是质量。为了更高质量的保留输入图像脸部的特征,3DMM中的纹理基向量需要有足够大的表达能力。另一方面,高质量的纹理贴图要求面部区域被均匀光照,并且没有不需要的头发以及其他附属物,这样的纹理贴图才能作为面部资产在不同的光照下渲染。

基于GANFIT的方法从一万张UV贴图中训练了一个生成建议网络作为纹理解码器来代替3DMM中的线性纹理基,其目的是为了增加表达能力。然而,他们的训练数据集存在不均匀光照的问题,这就导致了结果贴图中包含大量阴影,也就不适合不同光照下的渲染。基于UV-GAN的方法也存在着同样的问题。AvatarMe方法结合线性纹理基和一个从200个严格限制条件下的独立个体的高质量纹理贴图训练出来的超分网络。HiFi3DFace通过在线性纹理基上引入区域拟合方法和一个细节增强网络来提高表达能力,他的训练集也是200个体的纹理贴图。归一化的Avatar工作在一个超过5000个体的纹理贴图数据集上训练了一个纹理解码器,包含高质量的扫描数据和合成数据。尽管结果纹理图质量很高,但是在保真度上有极大的限制。除此之外,他们所有的纹理贴图数据集都是不公开的。Facescape数据集[42]是在受控环境中获得的,最近有一个高质量的、可公开访问的纹理贴图数据集。但是,数据集只有 847 个。

在本文中,我们打算贡献一个大规模的、公开可用的面部紫外线纹理数据集,该数据集由从不同主题中提取的高质量纹理图组成。为了构建如此大规模的数据集,我们需要一个全自动且强大的管道,可以从大规模的"野外"人脸图像数据集中生成高质量的纹理UV贴图。对于生成的纹理贴图,我们希望它具有均匀的照明、中性的表情和完整的面部纹理,没有头发或配饰等遮挡物。这不是一项微不足道的任务,并且存在以下几个挑战:1)野外人脸图像的不受控制的条件无法提供高质量的归一化纹理;2)从单视图人脸图像中,无法提取完整的人脸纹理;3) 人脸图像与估计的 3D 形状之间的不完美对齐会导致展开的纹理 UV 贴图中出现不令人满意的伪影。

为了解决这些问题,我们首先利用基于StyleGAN的图像编辑方法[1,21,37]从单个野外图像生成多视图归一化人脸。然后进行UV纹理提取,校正,并开发了补全流程,修复了纹理展开过程中由于3D形状估计不完善而导致的不理想的伪影,从而可以稳定地生成高质量的纹理UV贴图。利用所提出的流程,我们基于FFHQ数据集构建了一个大规模归一化的面部UV纹理数据集,即FFHQ-UV[20]。FFHQ-UV数据集继承了FFHQ的数据多样性,由高质量的纹理UV贴图组成,可以直接作为逼真的数字人体渲染的面部资产(参见图1的几个示例)。我们使用所提出的数据集进一步训练了基于 GAN 的纹理解码器,并证明使用我们的纹理解码器重建的 3D 人脸的保真度和质量都得到了很大的提高。

总而言之,我们的主要贡献是:

• 第一个大规模的、公开的标准化面部 UV 纹理数据集,即 FFHQ-UV,它包含超过 50,000 张高质量、照明均匀的面部纹理 UV 贴图,可直接用作渲染逼真数字人类的面部资产。

• 一个全自动且强大的管道,用于从大规模的野外人脸图像数据集生成拟议的 UV 纹理数据集,该数据集包括基于 StyleGAN 的面部图像编辑、精心设计的 UV 纹理提取、校正和完成程序。

• 一种 3D 人脸重建算法,该算法在保真度和质量方面都优于最先进的方法,基于使用所提出的数据集训练的基于 GAN 的纹理解码器。

2. 相关工作

基于3DMM的3D人脸重建工作。3DMM通过形状基和纹理基的线性混合来表示3D人脸模型。该模型使用主成分分析 (PCA) 从拓扑对齐的 3D 人脸模型中推导出来。从图像重建3D人脸模型的任务通常通过使用基于优化的拟合或基于学习的回归方法估计3DMM参数来解决。除了基于PCA的线性基础之外,还出现了各种非线性基来扩大3DMM表示能力[5,15,18,29,33,39,40]。基于神经网络的非线性3DMM基础,3D人脸重建变成了寻找网格解码器[5]或纹理解码器[15]的最佳潜在代码的任务,我们仍然将其称为"3DMM拟合"。有关3DMM和相关重建方法的全面回顾,请参阅最近的调查[14]。

面部UV-纹理恢复。虽然原始 3DMM [3] 中的纹理基础由网格的顶点颜色表示,但最近的方法 [2,9,15,23--26,35,41] 开始采用 UV 贴图纹理表示来实现高分辨率渲染。这些方法可以分为两类:基于图像翻译的方法[2,23,35,41]或基于纹理解码器的方法[15,24,26]。

表中主要是现有的UV纹理数据集,带有*号的表示是在限制条件下捕捉的。

以前的方法通常是获取低质量的纹理图,然后进行图像转换,将低质量的纹理图转换为高质量的纹理图[2,23,35,41]。后一种方法通常训练纹理解码器作为非线性 3DMM 纹理基础,然后采用 3DMM 拟合算法来找到用于重建的最佳潜在代码 [15, 24, 26]。图像平移操作和纹理解码器都需要高质量的UV纹理数据集进行训练。不幸的是,据我们所知,没有公开可用的、高质量的面部UV纹理数据集,其规模如此之大,以至于数据具有足够的多样性,可以进行实际应用(参见表1,了解文献中使用的数据集大小的摘要)。

面部图像归一化。人脸图像归一化是指编辑人脸图像的任务,使生成的人脸被均匀地照亮,并处于中性的表情和姿势[10,30]。为了从人脸图像中提取高质量的"归一化"纹理图,我们打算从一张图像中获得正面/左/右视图的三个人脸图像,以便获得的图像具有均匀的照明、中性表情,并且没有额毛或眼镜的面部遮挡。为了实现这一目标,我们利用了基于StyleGAN的图像编辑方法的最新进展[1,17,31,37]。在这些方法中,首先通过GAN反演方法[34,38]将图像投影到FFHQ预训练的StyleGAN [20, 21]模型的潜在代码中,然后在潜在空间中进行编辑,通过图像属性或标签的引导可以发现编辑方向。

3. FFHQ-UV:归一化 UV 纹理数据集

在本节中,我们首先描述了从野外人脸图像生成归一化 UV 纹理数据集的完整管道(第 3.1 节)。然后,我们提出了广泛的研究来分析数据集的多样性和质量(第 3.2 节)。

3.1 数据创建

数据集创建管道如图 2 所示,包括三个步骤:基于 StyleGAN 的面部图像编辑(第 3.1.1 节)、面部 UV 纹理提取(第 3.1.2 节)和 UV 纹理校正和完成(第 3.1.3 节)。

3.1.1 基于StyleGAN的人脸图像编辑

为了从野外人脸图像中提取高质量的纹理图,我们首先从单视图图像中推导出多视图、归一化的人脸图像,其中生成的人脸图像具有均匀的照明、中性表情和无遮挡(例如,眼镜、头发)。具体来说,我们使用 StyleFlow [1] 和 InterFaceGAN [37] 来自动编辑 StyleGAN2 [21] 的 W+ 潜在空间中的图像属性。对于每个野外人脸图像I,我们首先使用GAN反演方法e4e[38]获取其在W+空间中的潜在代码w,然后从StyleGAN生成器G中检测倒置图像I=G(w)的属性值,以便我们可以在下面的语义编辑中对这些属性进行归一化。我们打算规范化的属性包括照明、眼镜、头发、头部姿势和面部表情。使用DPR模型[44]预测以球谐波(SH)系数表示的照明条件,并使用Microsoft Face API[28]检测其他属性。

对于照明归一化,我们将目标照明 SH 系数设置为仅保留第一个维度,并将其余维度重置为零,然后使用 StyleFlow [1] 获得均匀照明的人脸图像。对于 SH 表示,只有 SH 系数的第一个维度表示来自各个方向的均匀照明,而其他维度表示来自某些方向的不需要的照明。光照归一化后,我们通过将眼镜、头部姿势和头发属性的目标值设置为 0 来归一化它们,并得到编辑后的潜在代码 w。对于面部表情属性,与InterFaceGAN[37]类似,我们找到了使用SVM编辑面部表情的方向β,并通过从w开始沿β方向行走来实现归一化的潜在代码ˆw。为了避免过度编辑,我们进一步引入了一个表达式分类器来决定行走的停止条件。在这里,我们得到归一化的人脸图像 I= G( ˆw)。最后,通过修改头部姿势属性,使用 StyleFlow [1] 生成两个侧视人脸图像 I和 I。

3.1.2 面部UV纹理提取

从面部图像中提取UV纹理的过程,也称为"展开",需要单图像3D面部形状估计器。我们使用最近的 3DMM 基础 HiFi3D++ [8] 训练一个 Deep3D 模型 [13],以从每个归一化的人脸图像中以 3DMM 系数回归 3D 形状以及头部姿态参数。然后,通过将输入图像投影到 3D 面部模型上来展开面部 UVtexture。此外,我们采用面部解析模型[45]来预测面部区域的解析蒙版,以便从展开的纹理UV贴图中排除非面部区域。这样,对于每个面,我们分别从正面、左侧和右侧视图获得三个纹理贴图,即 。为了将它们融合在一起,我们首先在它们之间进行颜色匹配以避免颜色跳跃。颜色匹配是基于YUV颜色空间根据 每个通道计算得出:

分别是目标纹理、源纹理和颜色匹配纹理;μ 和 σ 表示均值和标准差;ω 是一个超参数(根据经验设置为 1.5),用于控制输出纹理的对比度。最后,使用预定义的可见性蒙版(见图2)将三个颜色匹配的纹理贴图线性混合在一起,得到完整的纹理贴图T。

图2就是从一张野外的图像中产生一个归一化的纹理UV贴图的pipeline。主要包括三个步骤:基于 StyleGAN 的图像编辑、UV 纹理提取和 UV 纹理校正和完成。

3.1.3 UV纹理校正和补全

由于 3D 形状估计不完善,获得的纹理贴图 T 通常包含眼睛、嘴巴和鼻子区域附近的伪影。例如,如果估计的 3D 形状和图像之间的眼睑和嘴唇没有很好地对齐,则不需要的眼球和嘴巴内部纹理将出现在纹理贴图中。虽然在某些情况下,根据图像内容进行局部网格变形[44]可以修复伪影,但我们发现在处理大规模数据集时,许多图像仍然会失败。为了解决这些问题,我们只需扩展和排除容易出错的区域,并用模板纹理 UV贴图填充缺失的区域(见图 2)。具体来说,我们从面部解析结果中提取预测的眼球和嘴巴内部区域,然后在膨胀操作后将它们展开到UV坐标系中,得到纹理UV贴图上的这些伪影的蒙版。至于鼻子区域,我们通过鼻子区域周围的亮度阈值提取鼻孔区域,以获得鼻孔掩膜,因为鼻孔区域通常是黑暗的。然后,使用泊松编辑[32],用模板UV贴图中的纹理填充这些蒙版中的区域,以获得纹理贴图。

最后,获得超越面部的完整纹理图区域(例如,耳朵、颈部、头发等),我们使用模板填充其余区域,使用方程 (1) 进行颜色匹配,然后进行拉普拉斯金字塔混合 [7]。最终获得纹理UV贴图表示。

3.1.4 FFHQ-UV Dataset

我们将上述流程应用于FFHQ数据集[20]中的所有图像,其中包括70,000张在年龄和种族方面差异很大的高质量人脸图像。使用基于面部解析结果的自动过滤器排除无法归一化的面部遮挡图像。最终获得的UV图经过人工检查和过滤,留下54,165张分辨率为1024×1024分辨率的高质量UV图,我们将其命名为FFHQ-UV数据集。表1显示了所提出的数据集与其他UV地图数据集的统计信息。

3.2. 消融研究

我们进行消融研究,以证明数据集创建管道的三个主要步骤(即基于 StyleGAN 的图像编辑、UV 纹理提取和 UV 纹理校正和完成)的有效性。我们将我们的方法与三个基线变体进行了比较:1)"无编辑",它直接从野外图像中提取面部纹理,而无需基于StyleGAN的图像编辑;2)"无多视图",仅使用单个正面视图人脸图像进行纹理提取;3)"朴素混合",它用对模板UV贴图的朴素混合取代了我们的UV纹理校正和完成步骤。

3.2.1 量化估计

图 3 显示了使用不同基线方法获得的 UV 图的示例。基线"无编辑"(见图3(a))产生的UV贴图具有明显的阴影和头发遮挡。由基线"无多视图"生成的UV贴图(见图3(b))包含较小的实际纹理区域,并且严重依赖模板纹理来完成。对于基线方法"朴素混合",在眼睛、嘴巴和鼻子区域附近有明显的伪影[图3(c)]。相比之下,我们的管道能够生成具有完整面部纹理的高质量UV图[图3(d)]。

3.2.2 数据多样性

我们期望FFHQ-UV将继承FFHQ数据集的数据多样性[20]。为了验证这一点,我们使用 Arcface [12] 计算每张脸的身份向量,然后计算这些身份向量的标准差来衡量数据集的特征性变化。表 2 显示了原始数据集 (FFHQ)、反转到潜在空间的数据集 (FFHQ-Inv)、使用基于 StyleGAN 的面部图像编辑 (FFHQ-Norm) 的归一化数据集、使用面部 UV 纹理数据集 (FFHQ-UV) 的渲染人脸图像,其中 FFHQ-UV 保留了 FFHQ 中最多的身份差异(超过 90%)。此外,与Facescape数据集相比,我们的数据集具有更高的身份标准差值[42],表明FFHQ-UV更加多样化。

3.2.3 均匀照明质量

均匀的照明是衡量紫外图质量的一个重要方面[26]。为了定量评估这方面,我们提出了一个新指标,即亮度对称误差(BS误差),如下所示

表示YUV空间下纹理贴图的Y通道;表示核尺寸为的高斯卷积操作(经验值为55);表示水平翻转操作。该指标基于以下观察结果:照明不均匀的纹理贴图通常在脸上有阴影,这使得UV贴图的亮度不对称。图 4 显示了在 UV 地图上计算出的 BS 误差的两个示例。表 4 显示了在整个数据集上计算的平均 BS 误差,这表明我们流程中基于 StyleGAN 的编辑步骤有效地提高了照明质量。此外,我们的数据集的BS误差与Facescape[42]的BS误差具有竞争力,后者是在均匀照明的受控条件下捕获的,表明我们的数据集确实是均匀照明的。

4.使用FFHQ-UV重建3D人脸

在本节中,我们将所提出的FFHQ-UV数据集应用于从单个图像重建3D人脸的任务,以证明与最先进的方法相比,FFHQ-UV提高了重建精度并产生了更高质量的UV图。

4.1. 基于GAN的纹理解码器

我们首先使用StyleGAN2 [21]的网络架构,在FFHQUV上训练一个类似于GANFIT[15]的基于GAN的纹理解码器。纹理UV贴图由下式生成

其中z∈Z表示Z空间中的潜在代码,G(·)表示纹理解码器。在3D人脸重建过程中,我们UVtexture恢复的目标是找到一个潜在的代码z,通过纹理解码器G(·)为输入图像生成最佳的纹理UV贴图。

4.2. 算法

我们的 3D 人脸重建算法包括三个阶段:线性 3DMM 初始化、纹理潜在代码 z 优化和关节参数优化。我们使用最近基于PCA的形状基础HiFi3D++ [8]和HiFi3DFace提供的基于可微渲染器的优化框架[2]。详情如下。

第 1 阶段:线性 3DMM 初始化。 我们使用形状基础 HiFi3D++ [8] 训练的 Deep3D [13](与第 3.1.2 节相同)来初始化重建。给定单个输入人脸图像,预测参数为{}, 其中分别为HiFi3D++的同一性系数和表情形状基; HiFi3D++线性纹理基的系数;表示头部姿势参数;表示SH照明系数。我们使用来表示此阶段的初始化预测器。

第 2 阶段:纹理潜在代码 z 优化。 我们使用参数{}在最后暂存并修复这些参数以查找潜在代码 z ∈ Z,使得纹理解码器可最大程度地减少以下损失:

是输入图像和渲染面的LPIPS距离;是输入图像和渲染面在人脸解析模型预测的人脸区域上计算的每像素 phototric误差[45];是基于Arcface[12]最后一层特征向量的特征损失;是潜在代码 z 的正则化项。和[27]很类似,我们限制潜在编码z在一个超球面里,是d维欧几里得空间单元球面。

第3阶段:联合参数优化。 在这个阶段,我们放宽了对潜在代码z的超球形约束(以获得更多的表达能力),并通过最小化以下损失函数来共同优化所有参数{}:

其中表示 68 点地标检测器的 2D 地标损失 [6];是系数的正则化项。

上图是文中算法和目前的sota算法的重建效果对比。shangtu

上图是和归一化后的Avatar算法的对比,文中算法更像输入图像。

4.3 评估

实现细节。 基于 GAN 的纹理解码器 G(z) 在 8 个 NVIDIA Tesla V100 GPU 上使用与 StyleGAN2 [21] 中的"配置 F"相同的超参数进行训练,其中学习率设置为,minibatch设置为32。方程4中的损失权重{}在第二阶段被设置为{100,10,10,0.05}。第三阶段的loss权重{}被设置为{0.2,1.6,0.05,}。我们使用Adam优化器[22]在阶段2中优化了100个步骤,学习率为0.1,在阶段3中优化了200个步骤,学习率为0.01。在 NVIDIA Tesla V100 GPU 上测试,每张图像的总拟合时间约为 60 秒。
形状重建精度。 我们首先在REALY基准[8]上评估形状重建的准确性,该基准由100次面部扫描组成,并执行区域形状对齐以计算形状估计误差。表5显示了结果,其中我们的方法优于最先进的单图像重建方法,包括MGCNet [36]、Deep3D [13]、3DDFA-v2 [16]和GANFIT [15]。该表还显示了与阶段 1 () 中线性 3DMM 初始化器产生的结果的比较,使用线性纹理基础而不是第 2 和 3 阶段("PCA tex 基础")进行参数优化,以及使用未生成多视图图像("无多视图")创建的 UV 贴图数据集训练的纹理解码器。结果表明,该纹理译码器有效提高了重构精度。图 5 显示了用于视觉比较的重建网格的两个示例。此外,我们采用了 Facescape [42] 中的纹理 UV 贴图,这些贴图通过手动调整仔细对齐到我们的拓扑结构中,以使用与我们相同的设置来训练纹理解码器。表 5("w/ FS (scratch)")表明,使用 Facescape 从头开始训练效果不佳。使用 FFHQ-UV 作为预训练,并使用 Facescape 对解码器进行微调带来了实质性的改进(参见"w/ FS (finetune)"),但由于多样性丢失,与我们的相比,结果仍然会降低。
**纹理质量。**图 6 显示了在每个阶段获得的 UV 贴图和相应的渲染图像的示例。从第 3 阶段获得的结果与输入图像更相似,并且 UV 贴图更扁平且质量更高。图 7 显示了两个示例的比较GANFIT [15] 和 AvatarMe [23],我们获得的网格和 UV 贴图在保真度和资产质量方面都优于其他结果。请注意,在GANFIT和AvatarMe获得的UV贴图中,存在不希望的阴影和不均匀的阴影,而我们的UV贴图的照明更均匀。图 8 显示了与归一化头像 [26] 相比,我们的结果的两个示例,由于在我们更大的数据集上训练了更强大的富有表现力的纹理解码器,我们的渲染结果更类似于输入面孔。在图 9 中,我们进一步展示了我们在不同逼真照明下重建的形状、纹理 UV 贴图和渲染的一些示例。更多结果在补充材料中介绍。
**纹理解码器的表现力。**通过以下实验,我们进一步验证了在更大数据集上训练的纹理解码器的表现力优势。我们通过从 CelebA-HQ [19] 中随机选择 100 张图像,然后使用我们在第 3.1 节中的管道创建它们的 UV 映射来创建一个小型验证 UV 映射数据集。验证数据集,即 CelebA-UV-100,由纹理解码器看不见的数据组成。然后,我们使用用不同数据量训练的纹理解码器的变体,使用GAN反演优化[21]来拟合这些UV贴图。表6显示了目标UV图和拟合UV图之间的最终平均LPIPS误差的拟合结果。结果表明,在较大数据集上训练的纹理解码器显然具有更大的表达能力。

5. 结论和未来工作

我们引入了一个新的面部 UV 纹理数据集,即 FFHQ-UV,其中包含超过 50,000 张高质量的面部纹理 UV 图。该数据集被证明具有很大的多样性和高质量。在数据集上训练的纹理解码器有效提高了3D人脸重建的保真度和质量。数据集、代码和经过训练的纹理解码器将公开提供。我们相信,这些开放资产将在很大程度上推动这一方向的研究,使3D人脸重建方法在实际应用中更加实用。

局限性和未来工作。 所提出的数据集FFHQ-UV来源于FFHQ数据集[20],因此可能继承了FFHQ的数据偏差。虽然可以考虑使用其他人脸图像数据集(如 CelebA-HQ [19])进一步扩展数据集,但这可能没有多大帮助,因为我们的数据集创建管道依赖于基于 StyleGAN 的人脸归一化,其中生成的图像被投影到 StyleGAN 解码器的空间,该解码器仍然是从 FFHQ 数据集训练的。此外,纹理恢复结果的评估缺乏能够反映纹理贴图质量的有效指标。它仍然需要目视检查,以判断哪些结果更好,包括照明是否均匀、面部细节是否保留、是否存在伪影、渲染结果是否与输入图像相似等。我们打算在未来进一步调查这些问题。

补充材料

待补充.....

如需要原文论文和相关数据集,可以在评论下方留下邮箱,看到会回复。

参考链接:

论文

github

相关推荐
Jeremy_lf13 分钟前
【生成模型之三】ControlNet & Latent Diffusion Models论文详解
人工智能·深度学习·stable diffusion·aigc·扩散模型
冰蓝蓝2 小时前
深度学习中的注意力机制:解锁智能模型的新视角
人工智能·深度学习
wydxry3 小时前
LoRA(Low-Rank Adaptation)模型微调
深度学习
IT古董6 小时前
【漫话机器学习系列】019.布里(莱)尔分数(Birer score)
人工智能·深度学习·机器学习
醒了就刷牙6 小时前
transformer用作分类任务
深度学习·分类·transformer
小陈phd7 小时前
深度学习实战之超分辨率算法(tensorflow)——ESPCN
网络·深度学习·神经网络·tensorflow
gloomyfish8 小时前
【开发实战】QT5+ 工业相机 + OpenCV工作流集成演示
图像处理·深度学习·qt·opencv·计算机视觉
视觉&物联智能8 小时前
【杂谈】-为什么Python是AI的首选语言
开发语言·人工智能·python·深度学习·机器学习
Sherry Wangs9 小时前
PromptGIP:Unifying lmage Processing as Visual Prompting Question Answering
人工智能·深度学习·图像增强·数字人技术·all-in-one
十年一梦实验室9 小时前
【C++】sophus : rxso3.hpp 实现了 3D 空间中的旋转和缩放操作的 RxSO3 类 (二十一)
开发语言·c++·人工智能·算法·3d