当前位置: 首页 > news >正文

网站建设中提示页面水果网站源码

网站建设中提示页面,水果网站源码,重庆景点简笔画,镇江属于哪里我自己的原文哦~ https://blog.51cto.com/whaosoft/12538137 #SIF3D 通过两种创新的注意力机制——三元意图感知注意力#xff08;TIA#xff09;和场景语义一致性感知注意力#xff08;SCA#xff09;——来识别场景中的显著点云#xff0c;并辅助运动轨迹和姿态的预测…我自己的原文哦~  https://blog.51cto.com/whaosoft/12538137 #SIF3D 通过两种创新的注意力机制——三元意图感知注意力TIA和场景语义一致性感知注意力SCA——来识别场景中的显著点云并辅助运动轨迹和姿态的预测。  设想一下你在家中准备起身前往橱柜取东西。一个集成 SIF3D 技术的智能家居系统已经预测出你的行动路线路线通畅避开桌椅障碍物。当你接近橱柜时系统已经理解了你的意图柜门在你达到之前就已自动打开无需手动操作。 视频中左边为 3D 场景和预测结果红色人体表示真实序列蓝色人体表示预测结果中间为运动序列最有可能和场景发生交互的点云右边为每一个人体 pose 最有可能和场景发生交互的点云红交互可能性大蓝色交互可能性小 SIF3DSense-Informed Forcasting of 3D human motion即场景感知运动预测技术由小红书创作发布团队提出目前已被计算机视觉顶会 CVPR2024 收录。SIF3D 的先进之处在于其多模态感知能力。它结合人过去的动作序列、真实 3D 场景信息以及人的视线三个方面预测未来的人体运动。 这项技术特别擅长于理解和预测在复杂环境中的动作如避开障碍物这对于自动驾驶、机器人导航、游戏开发和虚拟现实等领域至关重要。比如使得汽车能够更准确地提前预测马路上的行人、车辆未来可能的运动趋势或是应用于医疗康复诊疗提前对病人可能发生的不安全运动行为进行预警等。 SIF3D 的工作原理是通过两种创新的注意力机制——三元意图感知注意力TIA和场景语义一致性感知注意力SCA——来识别场景中的显著点云并辅助运动轨迹和姿态的预测。 TIA 专注于预测人的意图和全局动作轨迹而 SCA 则专注于局部场景细节确保每一帧的姿态预测都与环境保持连贯性。 实验结果表明SIF3D 在多个大规模场景感知运动预测的数据集上的卓越性能SOTA预测时长突破目前算法边界达到 5 秒时长。它能够有效地识别场景中那些可能与人的运动相关联、相耦合的部分显著性区域并通过场景中显著性区域的特征辅助运动预测。这一开创性的方法不仅推动了人体运动预测技术的发展也为未来在更多场景下应用场景感知人体运动提供了新的方向和可能性。 01 背景 人体动作预测Human Motion Forecasting即根据观测到的人体运动序列预测其将来的动作这是机器智能MI、自动驾驶汽车AD和人机协作HRI等领域的关键技术。在现实生活中人类的动作是与周围环境紧密相连的比如我们会因为障碍物而改变行走路径。然而在现有的运动预测研究中场景信息却常常被忽略大大制约了技术在真实 3D 场景下的应用。 在机器人技术中场景信息通常被表达为 3D 点云。现有的场景感知运动预测的方法通常会将整个 3D 点云进行编码而后通过全局嵌入或索引、插值等手段将其作为条件引入至运动预测任务当中。尽管该方法可行但我们注意到并非点云中的所有信息都与运动预测任务同等相关相反往往只有小部分的场景点云会对我们当前序列的运动预测起到作用我们称其为显著点云salient point clouds。 此外人眼的凝视点与场景的交汇点也是一种能够体现人的运动意图的表现。我们期望通过联合分析 3D 场景和人眼凝视点可以捕捉人类向特定位置的运动行为从而更准确地预测其运动序列。 3D 场景左传统运动预测中与本文提出的场景感知预测右的对比 为了解决上述挑战我们提出了一种全新的多模态场景感知的运动预测方法 SIF3DMultimodal Sense-Informed Forecasting of 3D Human Motions。SIF3D 主要包含以下两个核心组件 三元意图感知注意力机制ternary intention-aware attentionTIA通过观测序列、场景点云、人眼凝视的三元多模态联合分析预测人的意图并区分全局显著点云global salient points用于辅助人体运动轨迹预测场景语义一致性感知注意力机制semantic cohenrence-aware attentionSCA逐帧分析运动序列与场景语义的连贯性与一致性区别得到逐帧的局部显著点云local salient points用于辅助人体姿态预测 通过在新引入的大型数据集上的广泛实验SIF3D 在真实场景下的 3D 人体运动预测方面取得了最优越的性能证明了其捕获显著点云的准确性以及通过显著点云辅助运动预测的有效性。此外这些发现同样为将来基于真实场景的高保真运动预测、人机交互等领域的应用提供了新的视角和可能性。 02 方法 SIF3D 算法流程图 如图所示SIF3D 主要涉及以下三个核心步骤 Encoding 通过点云网络PointNet和 Transformer 分别提取 3D 场景的空间信息与运动序列的时间、空间信息并将其编码为高维隐藏特征Crossmodal Attention 通过提出的三元意图感知注意力机制TIA与场景语义一致性感知注意力机制SCA提取 3D 场景中的全局与局部显著点云并通过跨模态注意力机制分别辅助运动轨迹与姿态的预测Decoding 融合 TIA 与 SCA 预测的轨迹与姿态并使用真伪判别器进一步监督预测序列的保真度。 2.1 多模态编码Multimodal Encoding 由于 SIF3D 使用到了三种模态的信息运动序列、3D 场景点云、人眼凝视点在对它们进行联合分析之前我们首先需要将运动序列与 3D 场景点云编码并映射至同一空间而人眼凝视点则作为索引用于获取凝视点的 3D 场景特征。具体操作如下 2.2 三元意图感知注意力机制TIA 三元意图感知注意力机制ternary intention-aware attentionTIA通过分析观测序列与场景之间的关系同时基于“人们大多数时候总是会走向看着的地方“这一先验来分析这三种模态间的关联并通过以下步骤辅助路径规划 a. 运动特征编码与聚合 短期内人的意图在运动序列中具有唯一性且不会随着运动的持续进行而发生变化因此我们首先对运动特征进行进一步编码并将整个序列的运动特征聚合为一个向量 b. 全局显著性点云识别 将聚合得到的运动特征与场景特征进行跨模态注意力分析寻找出场景中那些响应当前观测序列的点云作为全局显著点云我们仅会利用全局显著点云用于提取跨模态意图特征并用于辅助轨迹预测 d. 全局特征特征融合 通过三元多模态感知我们试图从多个维度来分析人的运动意图最后我们通过标准的多层感知机MLP来融合这些全局特征作为 TIA 的输出 2.3 场景语义一致性感知注意力机制SCA 不同于 TIA 关注全局特征与人的运动意图场景语义一致性感知注意力机制SCA则更加关注每一帧的局部显著性场景细节用来更好地指导每一帧局部姿态的预测 a. 局部点云显著度 我们首先对运动特征进一步编码得到每一帧的姿态特征并将它们分别与场景特征进行跨模态注意力分析来找到场景中响应每一帧运动姿态的局部显著性点云。 b. 空间显著度偏置 由于 SCA 会更关注场景中的一些可能影响人体姿态的细粒度信息且正对着人的朝向且距离更近的场景点往往更可能会影响人体姿态我们基于每个场景点相对于每一帧中人体的距离与方向额外对于局部点云显著性引入了一项空间显著度偏置  c. 局部特征特征融合 结合了局部点云显著度与空间显著度偏置我们同样只利用局部显著性点云来辅助姿态预测 而后利用多层感知机MLP来融合局部特征作为 SCA 的输出 2.4 运动序列解码与生成 预测未来的运动序列需要同时考虑轨迹和姿势。TIA 通过识别全局显著点云分析了人的意图而 SCA 则识别局部点云以维持每一帧人体与环境的连贯性与一致性因此我们利用 TIA 的特征预测轨迹而用 SCA 的特征预测人体姿态 由于分别预测得到的轨迹与姿态可能存在不一致因此我们利用一个基于图网络GCN的解码器来融合它们并得到最终结果  03 实验 3.1 实验设置 本文基于 GIMO 与 GTA-1M 两个近期发布的包含 3D 场景点云的人体运动数据集将 SIF3D 与包含经典方法、最新最优方法在内的 4 个方法进行了对比基于图网络的 LTD、SPGSN基于 Transformer 的 AuxFormer以及考虑了场景信息的 BiFu。 本文从轨迹与姿态两个维度对 SIF3D 与对比方法进行了评估轨迹评估计算了预测轨迹与真实轨迹之间的偏差姿态评估了则计算了每个关节点的位置与真实位置的平均偏差。 对于所有的指标我们都从所有的预测帧与最终的预测帧两个方面来评估包括 Traj-path 衡量了整个预测序列中平均的轨迹偏差Traj-dest 衡量了最终预测帧的轨迹偏差MPJPE-path 衡量了整个预测序列中的平均姿态关节点偏差MPJPE-dest 衡量了最终预测帧的平均姿态关节点偏差。 3.2 实验结果 我们首先统计了引入不同多模态信息时3D 场景点云 Scene人眼凝视点 Gaze各个方法的预测性能表 1而后详细展开统计了不同场景以及不同时间点下各个方法的预测性能表 2 表 1考虑了不同模态时3D 场景点云 Scene人眼凝视点 Gaze各个方法的预测结果 表 2不同场景以及不同时间点下各个方法的详细预测性能 3.3 可视化对比结果 可视化结果提供了一种更为直观的方法将 SIF3D 与传统方法进行了对比。 通过识别场景中的全局与局部显著点云我们可以更高效地利用场景信息辅助运动预测得到更为精准与真实的预测序列。我们可以清楚地看到SIF3D 不但能更好地识别场景元素还能感知人的意图其预测结果不但更接近真实序列也具有更高的保真度。 3.4 消融实验 消融实验Ablation Study旨在评价 SIF3D 中不同组件的重要度以及对最终预测性能的影响即通过移除或修改某些部分来评估模型性能的变化。主要包括 a. 移除主要组件 包括 TIASCA运动解码器真伪判别器与场景编码器 PointNet。它们是构成 SIF3D 最主要的五个部件通过比较移除这些组件前后的预测误差可以评估它们在提高预测准确性方面的重要性如下表所示。可以看出本文提出的组件均不同程度地有主提高最终的预测效果尤其是意图注意力模组和场景编码模块。 b. 调整场景点云大小 原始的 LiDAR 传感器采样得到的场景点云可能包含 50 万以上的顶点数量为了更高效地利用点云数据我们对其进行了下采样。然而过度下采样可能影响点云对于场景的表征能力因此我们需要权衡下采样的点云大小如下表所示。本文实验采用了 4096 作为场景点云的大小。可以看到在点云数量为4096时算法在内存开销、推理速度、最终性能等方面取得了最佳平衡。 c. TIA 中的运动特征聚合方法 在 TIA 中我们将编码得到的运动特征聚合为一个向量用于计算与场景点云间的全局显著性这里我们研究了不同聚合方式对于性能的影响包括 Last采用最后一帧的运动特征Mean采用所有帧运动特征的均值Max采用帧间最大池化Conv利用三层卷积网络进行下采样Transformer引入单层 Transformer 解码器用于聚合。结果如下表所示。可以看出使用运动特征的最后一个时间维度的特征作为计算场景相关性的key-query取得了最佳的性能这也意味着 1最后一帧的运动特征可能包含了之前所有时间的上下文信息 2最后时刻的运动信息对于人类未来轨迹起到的作用最大。 04 结语 在本研究中我们提出了一个开创性的多模态感知信息框架 SIF3D用于在真实世界的 3D 场景中进行人体运动预测。通过结合外部客观的 3D 场景点云和主观的人眼凝视点SIF3D 能够通过 TIA 与 SCA 注意力机制感知场景和理解人类意图的。在 GIMO 与 GTA-1M 两个数据集中SIF3D 均取得了目前最佳的预测性能。与此同时我们的发现强调了 3D 场景与人眼凝视点在场景感知的运动预测中的重要性。此外我们认为在现实世界的 3D 场景中深入研究高保真度的不同人体运动生成任务有望成为未来探索的一条引人注目的途径。 项目地址​​ https://sites.google.com/view/cvpr2024sif3d​​ #SAMPro3D 论文提出了一种创新的3D室内场景分割方法这在增强现实、机器人技术等领域是一个关键的任务。该任务的核心是从多种3D场景表现形式如网格或点云中预测3D物体掩膜。 三维场景零样本分割新突破 SAMPro3D: Locating SAM Prompts in 3D for Zero-Shot Scene Segmentation 这篇论文提出了一种创新的3D室内场景分割方法这在增强现实、机器人技术等领域是一个关键的任务。该任务的核心是从多种3D场景表现形式如网格或点云中预测3D物体掩膜。历史上传统方法在分割训练过程中未遇到的新物体类别时常常遇到困难这限制了它们在陌生环境中的有效性。 最近的进展如Segment Anything ModelSAM在2D图像分割方面显示出潜力能够在无需额外训练的情况下分割陌生的图像。本文探讨了将SAM原理应用于3D场景分割的可能性具体研究了是否可以直接将SAM应用于2D帧以分割3D场景而无需额外训练。这一探索基于SAM的一个独特特点它的提示功能即它接受各种输入类型来指定图像中的分割目标。 作者指出了一个关键挑战确保同一3D物体在不同帧中的2D分割的一致性。他们观察到像SAM3D这样的现有方法它将自动化SAM应用于单个帧但在不同帧中存在不一致性导致3D分割效果不佳。另一种方法SAM-PT在视频跟踪中效果显著但在3D场景中失败因为物体并非始终出现在所有帧中。 为了应对这些挑战论文提出了一个名为SAMPro3D的新框架该框架在输入场景中定位3D点作为SAM提示。这些3D提示被投影到2D帧上确保了跨帧一致的像素提示和相应的掩膜。这种方法确保了同一3D物体在不同视角下的分割掩膜的一致性。 SAMPro3D首先初始化3D提示使用SAM在各个帧中生成相应的2D掩膜。然后它根据所有帧中相应掩膜的质量过滤3D提示优先选择在所有视图中都能产生高质量结果的提示。为了解决部分物体分割的问题该框架合并了重叠的3D提示整合信息以实现更全面的分割。SAMPro3D累积跨帧的预测结果以得出最终的3D分割。值得注意的是该方法不需要额外的领域特定训练或3D预训练网络这保持了SAM的零样本能力是之前方法所不具备的显著优势。 该论文通过广泛的实验验证了SAMPro3D的有效性展示了它在实现高质量和多样化分割方面的能力通常甚至超过了人类级别的标注和现有方法。此外它还展示了在2D分割模型如HQ-SAM和Mobile-SAM中的改进可以有效地转化为改进的3D结果。这篇论文为3D室内场景分割引入了一种开创性的方法巧妙地利用了2D图像分割模型的能力并将其创新地应用于3D领域。结果是一种强大的、零样本的分割方法显著推进了3D视觉理解领域的最新发展。 方法 本文提出的方法名为SAMPro3D旨在直接应用Segment Anything Model (SAM) 对室内场景的3D点云及其关联的2D帧进行零样本3D场景分割。 3D Prompt Proposal 2D-Guided Prompt Filter Prompt Consolidation 有时由单个3D提示对齐的2D掩膜可能只分割了对象的一部分因为2D帧的覆盖范围有限。为解决这个问题我们设计了一个提示合并策略。该策略涉及检查不同3D提示生成的掩膜并识别它们之间的一定重叠。在这种情况下我们认为这些提示可能正在分割同一个对象并将它们合并为单个伪提示。这个过程促进了提示间信息的整合导致更全面的对象分割。 3D Scene Segmentation 在前面的步骤之后我们获得了最终的3D提示集合及其在帧间的2D分割掩膜。此外我们还确保了每个3D对象由单个提示分割允许提示ID自然地作为对象ID。 实验 从这个表格中提供的实验数据中我们可以得出一些结论关于3D室内场景分割性能。这些数据基于ScanNet200数据集的标注评价指标是mIoUmean Intersection over Union一个常用的衡量图像分割效果的指标。 这些实验结果表明本文提出的方法在3D室内场景分割任务上具有强大的性能尤其是在采用2D引导的提示过滤和提示合并策略以及进一步增强SAM模型时。此外这些结果还揭示了不同提示数量和投票机制对性能的影响以及优化3D提示的潜力。 讨论 这篇论文在3D室内场景分割领域提出了一种创新的方法展示了显著的性能提升尤其是在处理具有挑战性的零样本场景时。其主要优势在于有效地利用了Segment Anything ModelSAM通过一系列精心设计的步骤如3D提示提议、2D引导的提示过滤和提示合并策略来改善3D场景的分割效果。这种方法充分利用了SAM在2D图像分割领域的强大能力并巧妙地将其扩展到3D场景显示了跨领域应用的巨大潜力。  特别是该方法通过3D提示的初始化和精确过滤确保了3D分割的精度和一致性。此外通过集成HQ-SAM和Mobile-SAM该方法进一步提升了其性能显示了在不断发展的深度学习领域中通过集成新技术以适应更复杂应用场景的重要性。 然而该方法也存在一些潜在的限制。首先尽管实验结果表明该方法在多个指标上表现出色但它依赖于SAM模型这可能限制了其在没有大规模预训练数据时的适用性。此外3D提示的初始化和过滤策略虽然有效但可能需要显著的计算资源尤其是在处理大规模或复杂的3D场景时。此外该方法的泛化能力尚需在更多不同类型的3D场景中进行测试和验证。 综上所述尽管这篇论文在3D室内场景分割方面取得了显著进展但其依赖于特定的深度学习模型和可能需要较高计算资源的处理流程这些因素可能会影响其在实际应用中的广泛可行性。 结论 总的来说这篇论文提出了一种创新且有效的方法用于提升3D室内场景分割的准确度和效率。其通过集成先进的2D图像分割模型并将其扩展到3D领域展示了显著的性能提升。尽管存在一些潜在的限制如对预训练数据的依赖和高计算资源需求但这项工作无疑为3D视觉理解领域带来了新的见解和方法。 #MonoLSS MonoLSS: Learnable Sample Selection For Monocular 3D Detection 排名第一,用于视觉3D检测训练中的样本选择百度最新 论文链接https://arxiv.org/pdf/2312.14474.pdf 在自动驾驶领域单目3D检测是一个关键任务它在单个RGB图像中估计物体的3D属性深度、尺寸和方向。先前的工作以一种启发式的方式使用特征来学习3D属性而没有考虑不适当的特征可能产生不良影响。在本文中引入了样本选择只有适合的样本才应该用于回归3D属性。为了自适应地选择样本提出了一个可学习的样本选择LSS模块该模块基于Gumbel-Softmax和相对距离样本划分。LSS模块在warmup策略下工作提高了训练稳定性。此外由于专用于3D属性样本选择的LSS模块依赖于目标级特征进一步开发了一种名为MixUp3D的数据增强方法用于丰富符合成像原理的3D属性样本而不引入歧义。作为两种正交的方法LSS模块和MixUp3D可以独立或结合使用。充分的实验证明它们的联合使用可以产生协同效应产生超越各自应用之和的改进。借助LSS模块和MixUp3D无需额外数据方法MonoLSS在KITTI 3D目标检测基准的所有三个类别汽车、骑行者和行人中均排名第一并在Waymo数据集和KITTI-nuScenes跨数据集评估中取得了有竞争力的结果。 MonoLSS主要贡献 论文强调并非所有特征对学习3D属性都同样有效并首先将其重新表述为样本选择问题。相应地开发了一种新的可学习样本选择LSS模块该模块可以自适应地选择样本。 为了丰富3D属性样本设计了MixUp3D数据增强它模拟了空间重叠并显著提高了3D检测性能。 在不引入任何额外信息的情况下MonoLSS在KITTI基准的所有三个类别中排名第一在汽车类别的中等和中等水平上超过了当前的最佳方法11.73%和12.19%。它还实现了Waymo数据集和KITTI nuScenes跨数据集评估的SOTA结果。    MonoLSS主要思路 MonoLSS框架如下图所示。首先使用与ROI Align相结合的2D检测器来生成目标特征。然后六个Head分别预测3D特性深度、尺寸、方向和3D中心投影偏移、深度不确定性和对数概率。最后可学习样本选择LSS模块自适应地选择样本并进行损失计算。 Learnable Sample Selection 假设UUniform01则可以使用逆变换采样通过计算G−log−logU来生成Gumbel分布G。通过用Gumbel分布独立地扰动对数概率并使用argmax函数找到最大元素Gumbel Max技巧实现了无需随机选择的概率采样。基于这项工作Gumbel Softmax使用Softmax函数作为argmax的连续可微近似并在重新参数化的帮助下实现了整体可微性。 GumbelTop-k通过在没有替换的情况下绘制大小为k的有序采样将采样点的数量从Top-1扩展到Top-k其中k是一个超参数。然而相同的k并不适用于所有目标例如被遮挡的目标应该比正常目标具有更少的正样本。为此我们设计了一个基于超参数相对距离的模块来自适应地划分样本。总之作者提出了一个可学习样本选择LSS模块来解决三维属性学习中的样本选择问题该模块由Gumbel Softmax和相对距离样本除法器组成。LSS模块的示意图如图2的右侧所示。 Mixup3D数据增强 由于严格的成像约束数据增强方法在单目3D检测中受到限制。除了光度失真和水平翻转之外大多数数据增强方法由于破坏了成像原理而引入了模糊特征。此外由于LSS模块专注于目标级特性因此不修改目标本身特性的方法对LSS模块来说并不足够有效。 由于MixUp的优势可以增强目标的像素级特征。作者提出了MixUp3D它为2D MixUp添加了物理约束使新生成的图像基本上是空间重叠的合理成像。具体而言MixUp3D仅违反物理世界中对象的碰撞约束同时确保生成的图像符合成像原理从而避免任何歧义 实验结果 KITTI测试集上汽车类的单目3D检测性能。与KITTI排行榜相同方法排名在中等难度以下。我们以粗体突出显示最佳结果以下划线突出显示第二个结果。对于额外的数据1LIDAR表示在训练过程中使用额外的LIDAR云点的方法。2 深度是指利用在另一深度估计数据集下预先训练的深度图或模型。3 CAD表示使用由CAD模型提供的密集形状注释。4 无表示不使用额外数据。 Wamyo上数据集测试结果 KITTI-val模型在深度为MAE的KITTI-val和nuScenes前脸val汽车上的跨数据集评估 #Zip-NeRF 2020 年加州大学伯克利分校、谷歌的研究者开源了一项 2D 图像转 3D 模型的重要研究 ——NeRF。它可以利用几张静态图像生成多视角的逼真 3D 图像生成效果非常惊艳NeRF原班人马 打造 三年之后这支团队做出了更惊艳的效果在一项名为「Zip-NeRF」的研究中他们完整还原了一个家庭的所有场景就像无人机航拍的效果一样。 作者介绍说Zip-NeRF 模型结合了 scale-aware 的抗混叠 NeRF 和快速基于网格的 NeRF 训练以解决神经辐射场训练中的混叠问题。与以前的技术相比Zip-NeRF 的错误率降低 8%-76%训练速度提高 22 倍。 这项技术有望在 VR 领域得到应用比如参观线上博物馆、线上看房。 论文地址https://arxiv.org/pdf/2304.06706.pdf项目地址https://jonbarron.info/zipnerf/ 论文概览 在神经辐射场NeRF中一个神经网络被训练来模拟一个三维场景的体积表示这样通过光线跟踪就可以呈现该场景的新视图。NeRF 已被证明是一种有效的任务工具如视图合成生成媒体机器人和计算摄影。 Mip-NeRF 360 和 instant-NGPiNGP都是基于 NeRF 的形式通过投射 3D 射线和沿光线距离 t 的位置来渲染像素这些特征被输入给神经网络输出渲染后呈现颜色。反复投射与训练图像中的像素对应的光线并最小化通过梯度下降每个像素的渲染颜色和观察颜色之间的误差来完成训练。 Mip-NeRF 360 和 instant-NGP 在沿射线的坐标参数化方式上有显著差异。在 mip-NeRF 360 中一条射线被细分为一组区间 [t_it_i1]每一个代表一个锥形锥其形状近似于多元高斯值该高斯值的期望位置编码被用于一个大型 MLP [3] 的输入。相比之下instant-NGP 是将位置的特征值插值到一个不同大小的三维网格层次中之后使用一个小的 MLP 生成特征向量。作者们提出的模型结合了 mip-NeRF360 的整体框架和 instant-NGP 的特征化方法但盲目地直接结合这两种方法会引入了两种混叠形式 1、instant-NGP 的特征网格方法与 mip-nerf360 的尺度感知集成位置编码技术互相不兼容因此 instant-NGP 产生的特征相对于空间坐标进行别名从而产生别名的渲染图。在后面的介绍中研究者通过引入一种用于计算预过滤的 instant-NGP 特性的类似多采样的解决方案来解决这个问题。 2、使用 instant-NGP 后显著加速了训练但这暴露了 mip-nerf360 在线蒸馏方法的一个问题该方法导致高度可见的 “z - 混叠”沿着射线混叠其中场景内容随着摄像机的移动而不稳定地消失。在后面的介绍中研究人员用一个新的损失函数来解决这个问题它在在线蒸馏过程中沿着每条射线进行预过滤。 方法概览 1.Spatial Anti-Aliasing Mip-NeRF 使用的特征近似于子体素内坐标的位置编码的积分在 NeRF 中是沿圆锥形的圆锥体。这导致了当每个正弦曲线的周期大于高斯曲线的标准差时傅里叶特征的振幅很小 —— 这些特征只在大于子体素大小的波长上表示子体积的空间位置。因为这个特性同时编码位置和尺度所以使用它的 MLP 能够学习出呈现抗锯齿的图像的 3D 场景的多尺度表示。像 iNGP 这样的基于网格的表示不去查询子体素而是在单个点上使用三线性插值来构造用于 MLP 的特性这将导致训练后的模型不能推理不同尺度或混叠。 研究人员为了解决这个问题将每个圆锥变成一组各向同性高斯使用多采样和特征加权各向异性子体素首先转换为一组点近似其形状然后每个点被认为是一个各向同性高斯尺度。这个各向同性的假设可以利用网格中的值是零均值这一事实来近似特征网格在子体素上的真实积分。通过平均这些降加权特征从 iNGP 网格中获得了具有尺度感知的预过滤特征。有关可视化信息见下图。 抗锯齿的问题在一些图形文献中有深入的探讨。Mip-mapMip-nerf 的同名名称预先计算了一个能够快速反锯齿的结构但尚不清楚如何将这种方法应用于 iNGP 底层的散列数据结构。超采样技术采用了一种直接增加采样数量的方法来抗锯齿产生了大量的不必要采样这种方法与 mip-map 效果类似但花费更高。Multi-sampling 技术构建一小组样本然后将这些多样本的信息汇集到聚合表示中该聚合表示提供给复杂的渲染过程 —— 一种类似于作者方法的策略。另一种相关的方法是椭圆加权平均它近似于一个沿椭圆长轴排列的各向同性样本的椭圆核。 给定沿射线的间隔 [t_it_(i1))研究者想构建一组近似圆锥形的多样本形状。正如在样本预算有限的图形应用多采样的程序中一样他们为他们的用例手工设计了一个多采样模式沿着一个螺旋分配了 n 个点它使 m 个点绕着射线的轴循环并沿着 t 呈线性间隔 这些三维坐标被旋转成世界坐标通过乘以一个标准正交基这个标准正交基的第三个向量是射线的方向其前两个向量是垂直于视图方向的任意帧然后由射线的原点移动。当 n≥3 和 n 和 m 是共素数时保证每一组多样本的样本均值和协方差与每个样本的均值和协方差完全匹配类似于 mip-NeRF 中的高斯采样。 研究者使用这 n 个多样本 {x_j} 作为各向同性高斯分布的均值每个样本的标准差为 σ_j。他们将 σ_j 设置为 rt通过一个超参数在实验中为 0.35。因为 iNGP 网格需要输入坐标位于一个有界域内研究人员应用了 mip-NeRF 360 的收缩函数。因为这些高斯分布是各向同性的所以可以使用 mip-NeRF 360 使用的卡尔曼滤波方法的简化和优化版本来执行这种收缩详情请后面补充内容。 为了对每个单独的多样本进行反别名插值研究者以一种新的方式重新加权每个尺度上的特征其与每个网格单元内各样本的各向同性高斯拟合程度成反比例如果高斯值远远大于被插值的单元插值的特征可能是不可靠的就应该降低加权。Mip-NeRF 的 IPE 特性也有类似的解释。 在 iNGP 中对坐标 x 处的每个 {V_l} 进行插值是通过用网格的线性大小 n 缩放并对 V_l 进行三线性插值得到一个 c 长度向量。相反研究者插值一组具有均值和标准差为 σ_j 的多采样各向同性高斯分布。通过对高斯 CDFs 的推理可以计算出在 V 中 [−1/2n1/2n]^3 内的每个高斯 PDF 的分数它被插值为一个与尺度相关的下降权重因子 ω_j,l, 研究者在 {V} 上施加权重衰减使得鼓励 V 中的值是符合正态分布和零均值。这个零均值假设让他们将每个多样本的高斯分布的期望网格特征近似为 ω_j・f_j,l(1−ω_j)・0ω_j・f_j,l。这样可以通过取每个多样本插值特征的加权平均值来近似与圆锥锥对应的期望特征 2. Z-Aliasing and Proposal Supervision 虽然之前提到的精细的多采样和减加权方法是减少空间混叠的有效方法但大家必须考虑在光线沿线还有一个额外的混叠来源 --z - 混叠。它是由于在 mip-NeRF360 的使用下 MLP 学习产生上限场景几何在训练和渲染期间沿着射线反复评估这个 MLP 生成直方图的下一轮采样只有最后一组样本是由 NeRF 的 MLP 网络呈现。Mip-NeRF 360 表明与之前学习一个的 mi-nerf 或多个的 nerf 的策略相比该方法显著提高了速度和渲染质量这些策略都使用图像重建损失进行监督。研究者发现 mip-NeRF 360 中的 MLP 方案倾向于学习从输入坐标到输出体积密度的非光滑映射。这将导致一个射线跳跃场景内容的伪影如上图所示。虽然这个假象在 mip-NeRF 360 中很微小但如果作者在他们提出的网络中使用 iNGP 后端而不是 MLP可以增加新模型的快速优化能力就变得常见和视觉突出尤其是当相机沿其 z 轴转换时。 下图里研究人员可视化了一个训练实例的 proposal 监督其中一个狭窄的 NeRF 直方图蓝色沿着一个相对于一个粗糙的 proposal 直方图橙色的射线翻译。(a) mip-NeRF360 使用的损失是分段常数的但 (b) 新模型的损失是平滑的因为研究人员将 NeRF 直方图模糊为分段线性样条绿色。新模型中的预过滤损失可以学习反锯齿的 proposal 分布。Anti-Aliased Interlevel Loss 研究者继承的 mip-NeRF 360 中的提案监督方法需要一个损失函数该函数以由 NeRFs,w产生的阶跃函数和由 proposal 模型^s,^w产生的类似阶跃函数作为输入。这两个阶跃函数都是直方图其中 s 和ˆs 是端点位置的向量而 w 和ˆw 是和等于≤1 的权重向量其中 w_i 表示可见场景内容是阶跃函数的间隔 i。每个 s_i 都是真度量距离 ti 的标准化函数根据一些标准化函数 g (・)研究者稍后将讨论。请注意s 和ˆs 是不相同的 —— 每个直方图的端点都是不同的。 Normalizing Metric Distance 许多 NeRF 方法都需要一个函数来将度量距离 t∈[0∞) 转换为标准化距离 s∈[0,1] 的方法。左图功率变换 Pxλ允许通过修改 λ 在公共曲线之间进行插值如线性、对数和逆同时在原点附近保持线性形状。右图构建一条从线性过渡到逆 / 反转查询的曲线并支持靠近摄像机的场景内容。 实验效果 研究者们的模型是在 JAX 中实现的并基于 mip-NeRF 360 的 baseline重新设计实现了 iNGP 的体素网格和哈希表结构取代 mip-NeRF 360 使用的大 MLP 网络除了在其中引入的抗混叠调整以及一些附加修改外整体模型架构与 mip-NeRF 360 相同。 在 360 Datase 的多尺度版本上的性能训练和评估多尺度图像。红色、橙色和黄色的高光表示每个指标的第一、第二和第三个最佳表现技术。所提出的模型显著优于两个基线 —— 特别是基于 iNGP 的基线特别是在粗糙尺度上新模型误差减少了 54%-76%。A-M 行是模型的消融实验详情请论文最后面参阅扩展文本。 虽然 360dataset 中包含很多具有挑战性的场景内容它不能衡量以渲染质量作为规模的函数因为这个数据集是由相机环绕在一个中心对象以大致恒定的距离拍摄得到的学习模型不需要处理训练在不同的图像分辨率或不同的距离中心对象。因此研究者使用一个更具挑战性的评估过程类似于使用 mip-NeRF 的多尺度的 blender 数据集研究人员把每个图像变成一组四个图像被用 [1,2,4,8] 尺度分别降采样的图像额外的训练 / 测试视图的相机已经从场景的中心放大出来了。在训练过程中研究者将数据项乘以每条射线的尺度因子在测试时他们分别评估每个尺度。这大大增加了模型跨尺度泛化的重建难度并导致混叠伪影效果显著出现特别是在粗尺度上。 在表 1 中研究者根据 iNGP、mipNeRF 360、mip-NeRF 360 iNGP 基线和许多消融方法来评估了新提出的模型。尽管 mip-NeRF 360 表现合理因为它可以训练多尺度新模型在最精细的尺度上降低了 8.5%在最粗糙的尺度上降低了 17%同时快了 22 倍。mip-NeRF 360 iNGP 基线因为其没有抗锯齿或推理规模的机制表现很差新模型的均方根误差在最精细的尺度下低 18%在最粗糙的尺度上低 54%最粗尺度下的 DSSIM 和 LPIPS 都低了 76%。这种改进可以从下图中看出。研究者的 mip-NeRF 360 iNGP 基线通常优于 iNGP除了最粗的尺度正如他们在第二张表中所预期的那样。 总结 研究者提出了 Zip-NeRF 模型该模型整合了在尺度感知抗锯齿 NeRF 和基于快速网格的 NeRF 训练这两种方式的优点。通过利用关于多采样和预过滤的方法该模型能够实现比之前技术低 8%-76% 的错误率同时也比 mip-NeRF360目前相关问题的最先进技术快 22 倍。研究者希望这里提出的工具和分析关于混叠网的空间混叠从空间坐标颜色和密度的映射以及 z - 混叠的损失函数在在线蒸馏沿每个射线可以进一步提高 nerf 逆渲染技术的质量速度和成品效率。 #D3GA~ 创建逼真的动态虚拟角色要么在训练期间需要准确的 3D 配准要么在测试期间需要密集的输入图像有时则两者都需要也许 D3GA 是你需要的。AI研究也能借鉴印象派这些栩栩如生的人竟然是3D模型 在 19 世纪印象主义的艺术运动在绘画、雕塑、版画等艺术领域盛行其特点是以「短小的、断断续续的笔触几乎不传达形式」为特征就是后来的印象派。简单来说印象派笔触未经修饰而显见不追求形式的精准模糊的也合理其将光与色的科学观念引入到绘画之中革新了传统固有色观念。 在 D3GA 中作者的目标反其道而行之是希望创建像照片般逼真的表现。在 D3GA 中作者对高斯泼溅Gaussian Splatting进行创造性的运用作为现代版的「段笔触」来创造实时稳定的虚拟角色的结构和外观。 印象派画家莫奈代表作《日出・印象》。 对于虚拟形象的构建工作来说创造驱动型即可以生成动画新内容的逼真人类形象目前需要密集的多视角数据因为单目方法缺乏准确性。此外现有的技术依赖于复杂的预处理包括精确的 3D 配准。然而获取这些配准需要迭代很难集成到端到端的流程中去。而其它不需要准确配准的方法基于神经辐射场NeRFs通常对于实时渲染来说太慢或者在服装动画方面存在困难。 Kerbl 等人在经典 Surface Splatting 渲染方法基础上引入了 3D Gaussian Splatting3DGS。与基于神经辐射场的最先进方法相比这种方法在更快的帧率下呈现更高质量的图像并且不需要任何高度准确的 3D 初始化。 但是3DGS 是为静态场景设计的。并且已经有人提出基于时间条件的 Gaussian Splatting 可用来渲染动态场景这些模型只能回放先前观察到的内容所以不适用于表达新的或其未曾见过的运动。 在驱动型的神经辐射场的基础上作者对 3D 的人类的外观及变形进行建模将其放置在一个规范化的空间中但使用 3D 高斯而不是辐射场。除性能更好以外Gaussian Splatting 还不需要使用相机射线采样启发式方法。 剩下的问题是定义触发这些 cage 变形的信号。目前在驱动型的虚拟角色中的最新技术需要密集的输入信号如 RGB-D 图像甚至是多摄像头但这些方法可能不适用于传输带宽比较低的情况。在本研究中作者采用基于人体姿势的更紧凑输入包括以四元数形式的骨骼关节角度和 3D 面部关键点。 通过在九个高质量的多视图序列上训练个体特定的模型涵盖各种身体形状、动作和服装不仅限于贴身服装以后我们就可以通过任何主体的新姿势对人物形象进行驱动了。 方法概览 论文链接https://arxiv.org/pdf/2311.08581.pdf项目链接https://zielon.github.io/d3ga/ 目前用于动态体积化虚拟角色的方法要么将点从变形空间映射到规范空间要么仅依赖正向映射。基于反向映射的方法往往在规范空间中会累积误差因为它们需要一个容易出错的反向传递并且在建模视角相关效果时存在问题。 因此作者决定采用仅正向映射的方法。D3GA 是基于 3DGS 的基础上通过神经表示和 cage 进行扩展分别对虚拟角色的每个动态部分的颜色和几何形状进行建模。 D3GA 使用 3D 姿势 ϕ、面部嵌入 κ、视点 dk 和规范 cage v以及自动解码的颜色特征 hi来生成最终的渲染 C¯ 和辅助分割渲染 P¯。左侧的输入通过每个虚拟角色部分的三个网络ΨMLP、ΠMLP、ΓMLP进行处理以生成 cage 位移∆v、高斯变形 bi、qi、si 以及颜色 / 透明度 ci、oi。 在 cage 变形将规范高斯变形后通过方程式 9它们被光栅化成最终的图像。 实验结果 D3GA 在 SSIM、PSNR 和感知度量 LPIPS 等指标上进行评估。表 1 显示D3GA 在只使用 LBS 的方法中即不需要为每个帧扫描 3D 数据其在 PSNR 和 SSIM 上的表现是最佳的并在这些指标中胜过所有 FFD 方法仅次于 BD FFD尽管其训练信号较差且没有测试图像DVA 是使用所有 200 台摄像机进行测试的。      定性比较显示与其它最先进方法相比D3GA 能更好地建模服装特别是像裙子或运动裤这样的宽松服装 (图 4)。FFD 代表自由形变网格其包含比 LBS 网格更丰富的训练信号 (图 9)。 与其基于体积方法相比作者的方法可以将虚拟角色的服装分离出来并且服装也是可驱动的。图 5 显示了每个单独的服装层可以仅通过骨骼关节角度控制而不需要特定的服装配准模块。 #4DGen 4DGen定义了” Grounded 4D Generation“的任务形式通过视频序列和可选3D模型的引入提升了4D生成的可控性。通过高效的4D Gaussian Splatting的表达2D和3D伪标签的监督和时空的连续性约束使得4DGen可以实现高分辨率、长时序的高质量的4D内容生成。 本文分享4D生成方向新工作由北京交通大学和得克萨斯大学奥斯汀分校共同完成的​​4DGen: Grounded 4D Content Generation with Spatial-temporal Consistency​​文章使用Gaussian Splatting实现了高质量的4D生成。基于动态 3D 高斯的可控 4D 生成 文章主页https://vita-group.github.io/4DGen/论文地址https://arxiv.org/abs/2312.17225开源代码https://github.com/VITA-Group/4DGen 视频 发不了... 研究背景 尽管3D和视频生成取得了飞速的发展由于缺少高质量的4D数据集4D生成始终面临着巨大的挑战。过去几篇工作尝试了Text-To-4D的任务但依然存在两个主要问题 由于输入依赖于单视角的图片或者简单的文本描述并不能保证得到精准的4D结果需要花费大量的时间进行反复调整。尽管采用了Hexplane作为4D的表征基于NeRF的方法在高分辨率和长视频上的渲染所需要的计算时间和显存占用是难以接受的。即使采用了一个超分辨的后处理网络依然会有模糊和闪烁的结果。 为了解决上述问题4DGen定义了“Grounded 4D Generation“新型任务形式并且设计了新的算法框架实现高质量的4D内容生成。 任务定义 过往的4D生成工作是“one click“的方式并不能对生成的结果进行有效的控制。4DGen提出了“Grounded 4D Generation“的形式通过利用视频序列和可选的3D模型作为4D生成的控制信息可以实现更为精准的4D内容生成。用户可通过输入视频序列或3D模型来约束4D结果的运动和外观当用户仅提供单张图片作为输入时可借助预训练好的视频生成模型来得到视频序列当用户未提供3D模型时可通过单张图片重建3D模型来作为起始点。 方法介绍 4DGen框架的输入起始点为用户给定或者模型生成的视频序列对于任意的单张图片借助多视角生成模型multi-view diffusion model可以得到不同视角的图片。4DGen通过对第一帧多视图进行三维重建得到初始的静态3D Gaussians作为4D生成的起始点。 由于4D数据的匮乏需要尽可能的从先验模型中蒸馏信息。4DGen将每一帧生成的多视图作为2D伪标签并且采用多视图生成的点云作为3D点的伪标签来监督训练过程。 因为多视图生成具有ill-posed的特点得到的伪标签在不同视角之间不同时序之间存在不连续性需要引入时间和空间上的一致性损失函数进行约束。相较于拟合多视图DDIM采样得到的图片score distillation samplingSDS是根据先验的扩散模型对场景表达进行似然估计。4DGen依据正面视角计算任意视角图片在Zero123模型上的SDS损失用于提升空间上的连续性。 为了缓解闪烁问题4DGen引入了无监督的时间平滑约束。通过计算平面的平滑损失和Gaussians不同时刻的平滑损失有效提升了时间上的一致性。 实施细节 4DGen的 4D表达采用了4D Gaussian Spaltting的方式通过一个多分辨率Hexplane对每个Gaussian进行编码。将6个时空平面的特征进行相加并经过一个额外的MLP解码得到对应Gaussian在不同时刻的位置偏移量。训练上采用三阶段方式第一阶段对场景进行静态建模第二阶段利用2D和3D的伪标签进行动态场景的初步建模第三建模利用平滑损失增强模型的细节和连续性。    所有实验可以在一张RTX3090上完成对于2.5万个Gaussians只需45分钟的训练对于9万个Gaussians训练2小时可以得到更加好的细节效果。 实验结果 4DGen可以实现不同视角、不同时间的高质量图片渲染。相较于对比方法在细节表达、噪声去除、颜色还原、时空连续性等方面有显著提升。更多视觉效果可以参考项目主页。 量化对比上4DGen采用了不同时序图片和参考图片的CLIP距离来衡量生成质量采用CLIP-T衡量不同时间下的图像连续性。4DGen在多项指标上明显优于过往方法。 总结 4DGen定义了” Grounded 4D Generation“的任务形式通过视频序列和可选3D模型的引入提升了4D生成的可控性。通过高效的4D Gaussian Splatting的表达2D和3D伪标签的监督和时空的连续性约束使得4DGen可以实现高分辨率、长时序的高质量的4D内容生成。 #O²-Recon 在计算机视觉中物体级别的三维表面重建技术面临诸多挑战。与场景级别的重建技术不同物体级别的三维重建需要为场景中的每个物体给出独立的三维表示以支持细粒度的场景建模和理解。这对 AR/VR/MR 以及机器人相关的应用具有重要意义。清华大学提出三维重建的新方法O²-Recon用2D扩散模型补全残缺的3D物体 许多现有方法利用三维生成模型的隐空间来完成物体级别的三维重建这些方法用隐空间的编码向量来表示物体形状并将重建任务建模成对物体位姿和形状编码的联合估计。得益于生成模型隐空间的优秀性质这些方法可以重建出完整的物体形状但仅限于特定类别物体的三维重建如桌子或椅子。即使在这些类别中这类方法优化得到的形状编码也往往难以准确匹配实际物体的三维形状。另外一些方法则从数据库中检索合适的 CAD 模型并辅以物体位姿估计来完成三维重建这类方法也面临着类似的问题其可扩展性比较有限重建准确性低很难贴合物体真实的三维表面结构。 随着 NeRF 和 NeuS 等技术的发展imap 和 vMap 等技术能够利用可微渲染来优化物体的几何结构这些方法能够重建出更加贴合真实物体表面的网格模型也能够重建多个类别的物体打破单一物体类别的限制。然而由于场景内部拍摄角度的约束很多物体都是被遮挡的比如靠近墙壁的物体或者彼此遮挡的物体。在物体被遮挡的情况下这些方法重建出的物体往往是不完整的如下图所示。这些不完整的三维模型无法支持大角度的旋转和大范围平移就很难被各种下游任务利用。 遮挡下的重建结果 清华大学刘永进教授团队提出物体三维重建的新方法 O²-Recon利用已有的 2D 扩散模型补全物体图像中被遮挡的区域继而用神经隐式表面场从补全后的图像中重建完整的三维物体。该论文利用重投影机制保持填充区域的三维一致性并且在隐式重建过程中加入 CLIP 损失函数监督不可见角度的语义信息最终重建出完整且合理的三维物体模型支持大角度的旋转和平移可以用于各种下游任务。目前该论文已被人工智能顶会之一 AAAI 2024 接收。 论文链接https://arxiv.org/abs/2308.09591 O²-Recon 简介 方法介绍 受到 2D 扩散模型在图像补全任务中出色表现的启发研究者设计了 O²-Recon 方法旨在利用预训练的扩散模型来补全图像中物体被遮挡的区域。虽然现有的扩散模型在图像补全中表现出强劲的性能但如果没有准确的遮罩Mask来指出物体应当被补全的区域扩散模型就很有可能生成错误的图像内容比如超出正确区域的结构或者错误的形状。在 O²-Recon 方法中研究者引入了少量的人工操作来构建准确的 Mask从而保证 2D 补全和 3D 重建的质量。 给定一段带有物体 Mask 的 RGB-D 视频序列需要用户选择 1-3 帧图像并推测这 1-3 帧图像中物体被遮挡的区域绘制被遮挡区域的 Mask。结合扩散模型补全出的深度信息研究者将这些视角下的 Mask 投影到所有其他视角得到其他视角下的遮挡区域 Mask。通过加入少量的人机交互研究者保证了 Mask 的质量同时由于这些 Mask 是重投影得到的它们在不同视角下具有的几何一致性从而能够引导 2D 扩散模型为遮挡区域填充出合理且一致的图像内容。 在三维重建阶段研究者利用类似于 NeuS 的神经隐式表面场来完成表面重建并利用体渲染构建损失函数进行优化。考虑到补全的图像仍然可能存在不一致性这种隐式表示能在多视角优化的过程中逐渐学习出合理的三维结构。另一方面研究者从两个角度来提升完全不可见区域的重建效果首先研究者利用 CLIP 特征监督新视角下渲染结果与和物体类别文本的一致性其次研究者设计了一个级联网络结构来编码隐式表面场其中包括一个浅层的 MLP低频位置编码来确保表面的整体平滑性以及一个更深的 MLP 分支高频 PE 位置编码来预测 SDF 的残差。这种结构既保证可见区域表面的灵活性又确保了物体不可见区域的平滑性。 实验效果 物体的三维重建效果 主要实验结果展示 与其他物体级别的三维重建方法相比O²-Recon 能重建出更准确更完整的三维结构如上图所示。其中 FroDO 是基于隐空间形状编码的方法Scan2CAD 是基于数据库检索的方法vMap 是利用 NeRF 做表面重建的方法MonoSDF 是场景级别的三维重建方法。 动图对比 动图对比 动图对比 重建后物体的位置编辑 由于 O²-Recon 重建出的物体较为完整我们可以对这些物体做大幅度的旋转或平移在编辑位置之后从新的角度观察这些物体其表面质量仍然不错如下图所示。 在编辑之前这些物体在原场景中的位置下 多物体动图对比 在编辑之后这些物体在新的位置下 多物体动图对比 总结 本文提出了 O²-Recon 方法来利用预训练的 2D 扩散模型重建场景中被遮挡物体的完整 3D 几何形状。研究者利用扩散模型对多视角 2D 图像中的遮挡部分进行补全并从补全后的图像利用神经隐式表面重建 3D 物体。为了防止 Mask 的不一致性研究者采用了一种人机协同策略通过少量人机交互生成高质量的多角度 Mask有效地引导 2D 图像补全过程。在神经隐式表面的优化过程中研究者设计了一个级联的网络架构来保证 SDF 的平滑性并利用预训练的 CLIP 模型通过语义一致性损失监督新视角。研究者在 ScanNet 数据集上的实验证明O²-Recon 能够为任意类别的被遮挡物体重建出精确完整的 3D 表面。这些重建出的完整 3D 物体支持进一步的编辑操作如大范围旋转和平移。 #3D Gaussian Splatting 这是3D Gaussian Splatting综述, 先回顾3D Gaussian的原理和应用借着全面比较了3D GS在静态场景、动态场景和驾驶场景中的性能最后为未来指明了研究方向 三维 Gaussian splatting3DGS是近年来在显式辐射场和计算机图形学领域出现的一种变革性技术。这种创新方法的特点是使用了数百万个3D高斯这与神经辐射场NeRF方法有很大的不同后者主要使用隐式的基于坐标的模型将空间坐标映射到像素值。3D GS凭借其明确的场景表示和可微分的渲染算法不仅保证了实时渲染能力而且引入了前所未有的控制和场景编辑水平。这将3D GS定位为下一代3D重建和表示的潜在游戏规则改变者。为此我们首次系统地概述了3D GS领域的最新发展和关键贡献。首先详细探索了3D GS出现的基本原理和公式为理解其意义奠定了基础。进而深度讨论3D GS的实用性。通过促进实时性能3D GS开辟了大量应用从虚拟现实到交互式媒体等等。此外还对领先的3D GS模型进行了比较分析并在各种基准任务中进行了评估以突出其性能和实用性。该综述的结论是确定了当前的挑战并提出了该领域未来研究的潜在途径。通过这项调查我们旨在为新来者和经验丰富的研究人员提供宝贵的资源促进在适用和明确的辐射场表示方面的进一步探索和进步。 为了帮助读者跟上3D GS的快速发展我们提供了首个关于3D GS的调查综述我们系统而及时地收集了有关该主题的最重要的最新文献。鉴于3D GS是最近的一项创新图1我们的重点是自其推出以来出现的各种发展和贡献。3D GS的相关工作主要来源于arxiv。文章的主要目标是对3D GS的初步发展、理论基础和新兴应用进行全面和最新的分析突出其在该领域的革命性潜力。承认3D GS的新生但快速发展的性质本次调查还旨在确定和讨论该领域的当前挑战和未来前景。我们提供了对3D GS可能促进的正在进行的研究方向和潜在进展的见解。希望给大家的不仅仅是提供一个学术综述而是促进这一领域的进一步研究和创新。本文的文章结构如图2所示 本节首先提供辐射场的简要公式辐射场是场景渲染中的一个关键概念。它概述了两种主要类型的辐射场表示隐式如NeRF它使用神经网络进行直接但计算要求高的渲染和显式的比如网格它采用离散结构来更快地访问但代价是更高的内存使用率。下文进一步建立了与相关领域的联系如场景重建和渲染。 问题定义 两全其美的3D Gaussian Splatting3D GS表示从隐式辐射场到显式辐射场的转变。它通过利用3D高斯作为灵活高效的表示利用了这两种方法的优势。这些高斯系数经过优化可以准确地表示场景结合了基于神经网络的优化和显式结构化数据存储的优点。这种混合方法旨在通过更快的训练和实时性能实现高质量渲染特别是对于复杂的场景和高分辨率输出。3D高斯表示公式化为 上下文和术语 许多技术和研究学科与3D GS有着密切的关系下文将对其进行简要描述。 场景重建与渲染粗略地说场景重建涉及从图像或其他数据的集合创建场景的3D模型。渲染是一个更具体的术语专注于将计算机可读信息例如场景中的3D对象转换为基于像素的图像。早期的技术基于光场生成逼真的图像。structure-from-motionSfM和多视图立体MVS算法通过从图像序列估计3D结构进一步推进了这一领域。这些历史方法为更复杂的场景重建和渲染技术奠定了基础。 神经渲染与辐射场神经渲染将深度学习与传统图形技术相结合以创建照片级真实感图像。早期的尝试使用卷积神经网络CNNs来估计混合权重或纹理空间解决方案。辐射场表示一个函数该函数描述了通过空间中每个点在每个方向上传播的光量。NeRFs使用神经网络对辐射场进行建模从而实现详细逼真的场景渲染。 体积表示和Ray-Marching体积表示不仅将目标和场景建模为曲面还将其建模为填充了材质或空白空间的体积。这种方法可以更准确地渲染雾、烟或半透明材料等现象。Ray-Marching是一种与体积表示一起使用的技术通过增量跟踪穿过体积的光的路径来渲染图像。NeRF分享了体积射线行进的相同精神并引入了重要性采样和位置编码来提高合成图像的质量。在提供高质量结果的同时体积射线行进在计算上是昂贵的这促使人们寻找更有效的方法如3D GS。 基于点的渲染基于点的渲染是一种使用点而不是传统多边形来可视化3D场景的技术。这种方法对于渲染复杂、非结构化或稀疏的几何数据特别有效。点可以用额外的属性来增强如可学习的神经描述符并有效地渲染但这种方法可能会遇到诸如渲染中的漏洞或混叠效应等问题。3D GS通过使用各向异性高斯来扩展这一概念以实现场景的更连续和更有凝聚力的表示。 显式辐射场的3D高斯 3D GS在不依赖神经组件的情况下在实时、高分辨率图像渲染方面取得了突破。 学习得到的3D高斯用于新视角合成 考虑一个由数百万优化的3D高斯表示的场景。目标是根据指定的相机姿势生成图像。回想一下NeRF是通过计算要求很高的体积射线行进来完成这项任务的对每个像素的3D空间点进行采样。这种模式难以实现高分辨率图像合成无法实现实时渲染速度。与此形成鲜明对比的是3D GS首先将这些3D高斯投影到基于像素的图像平面上这一过程被称为“splatting”图3a。然后3D GS对这些高斯进行排序并计算每个像素的值。如图所示NeRF和3D GS的渲染可以被视为彼此的逆过程。在接下来的内容中我们从3D高斯的定义开始这是3D GS中场景表示的最小元素。接下来描述如何将这些3D高斯用于可微分渲染。最后介绍了3D GS中使用的加速技术这是快速渲染的关键。 三维高斯的性质三维高斯的特征是其中心位置μ、不透明度α、三维协方差矩阵∑和颜色c。对于与视图相关的外观c由球面谐波表示。所有属性都是可学习的并通过反向传播进行优化。 Frustum Culling给定指定的相机位姿此步骤将确定哪些3D高斯位于相机的平截头体之外。通过这样做给定视图之外的3D高斯将不会参与后续计算从而节省计算资源。 Splatting**在该步骤中3D高斯椭球被投影到2D图像空间椭球中用于渲染。给定观看变换W和3D协方差矩阵∑投影的2D协方差矩阵∑′使用以下公式计算 Tiles (Patches)为了避免为每个像素推导高斯系数的成本计算3D GS将精度从像素级转移到patch级细节。具体来说3D GS最初将图像划分为多个不重叠的块在原始论文中称为“tiles”。图3b提供了tiles的图示。每个瓦片包括16×16个像素。3D GS进一步确定哪些tiles与这些投影的高斯图相交。假设投影的高斯可能覆盖多个tiles逻辑方法包括复制高斯为每个副本分配相关tiles的标识符即tile ID。 并行渲染在复制之后3D GS将各个tile ID与从每个高斯的视图变换获得的深度值相组合。这生成字节的未排序列表其中高位表示tile ID低位表示深度。通过这样做排序后的列表可以直接用于渲染即alpha合成。图3c和图3d提供了这些概念的视觉演示。值得强调的是渲染每个tile和像素都是独立发生的这使得这个过程非常适合并行计算。另一个好处是每个tile的像素都可以访问公共共享内存并保持统一的读取序列从而能够以更高的效率并行执行alpha合成。在原始论文的官方实现中该框架将tile和像素的处理分别视为类似于CUDA编程架构中的块和线程。 简而言之3D GS在前向处理阶段引入了几种近似以提高计算效率同时保持高标准的图像合成质量。 3D Gaussian Splatting的优化 3D GS的核心是一个优化过程旨在构建大量的3D高斯集合准确捕捉场景的本质从而促进自由视点渲染。一方面3D高斯的特性应该通过可微分渲染来优化以适应给定场景的纹理。另一方面能够很好地表示给定场景的3D高斯数是预先未知的。一个很有前途的途径是让神经网络自动学习3D高斯密度。我们将介绍如何优化每个高斯的性质以及如何控制高斯的密度。这两个过程在优化工作流程中是交错的。由于在优化过程中有许多手动设置的超参数为了清晰起见我们省略了大多数超参数的符号。 参数优化 损失函数一旦图像的合成完成就将损失计算为渲染图像和GT的差 密度控制 初始化3D GS从SfM或随机初始化的稀疏点的初始集合开始。然后采用点加密和修剪来控制三维高斯的密度。 点密集化在点密集化阶段3D GS自适应地增加高斯密度以更好地捕捉场景的细节。这一过程特别关注几何特征缺失的区域或高斯分布过于分散的区域。密集化在一定次数的迭代之后执行目标是表现出大的视图空间位置梯度即高于特定阈值的高斯。它涉及在重建不足的区域克隆小高斯或在重建过度的区域分裂大高斯。对于克隆将创建高斯的副本并将其移向位置梯度。对于分裂用两个较小的高斯代替一个较大的高斯将它们的规模缩小一个特定的因子。该步骤寻求高斯在3D空间中的最佳分布和表示从而提高重建的整体质量。 点修剪点修剪阶段涉及去除多余或影响较小的高斯在某种程度上可以被视为一个正则化过程。这一步骤是通过消除几乎透明的高斯α低于指定阈值和在世界空间或视图空间中过大的高斯来执行的。此外为了防止输入相机附近高斯密度的不合理增加在一定次数的迭代后将高斯的阿尔法值设置为接近零。这允许控制必要的高斯密度的增加同时能够淘汰多余的高斯。该过程不仅有助于节省计算资源还确保模型中的高斯对场景的表示保持精确和有效。 应用领域和任务 3D GS的变革潜力远远超出了其理论和计算的进步。本节深入探讨3D GS正在产生重大影响的各种开创性应用领域如机器人、场景重建和表示、人工智能生成的内容、自动驾驶甚至其他科学学科。3D GS的应用展示了其多功能性和革命性的潜力。在这里我们概述了一些最著名的应用领域深入了解3D GS如何在每个领域形成新的前沿。 SLAM SLAM是机器人和自主系统的核心计算问题。它涉及机器人或设备在未知环境中理解其位置的挑战同时建图环境布局。SLAM在各种应用中至关重要包括自动驾驶汽车、增强现实和机器人导航。SLAM的核心是创建未知环境的地图并实时确定设备在该地图上的位置。因此SLAM对计算密集型场景表示技术提出了巨大的挑战同时也是3D GS的良好试验台。 3D GS作为一种创新的场景表示方法进入SLAM领域。传统的SLAM系统通常使用点/曲面云或体素网格来表示环境。相比之下3D GS利用各向异性高斯来更好地表示环境。这种表示提供了几个好处1效率自适应地控制3D高斯的密度以便紧凑地表示空间数据减少计算负载。2 准确性各向异性高斯可以进行更详细、更准确的环境建模尤其适用于复杂或动态变化的场景。3 适应性3D GS可以适应各种规模和复杂的环境使其适用于不同的SLAM应用。一些创新研究在SLAM中使用了3D高斯飞溅展示了这种范式的潜力和多功能性。 动态场景建模 动态场景建模是指捕捉和表示随时间变化的场景的三维结构和外观的过程。这涉及到创建一个数字模型该模型准确地反映场景中对象的几何体、运动和视觉方面。动态场景建模在各种应用中至关重要包括虚拟和增强现实、3D动画和计算机视觉。4D高斯散射4D GS将3D GS的概念扩展到动态场景。它结合了时间维度允许对随时间变化的场景进行表示和渲染。这种范式在实时渲染动态场景的同时保持高质量的视觉输出方面提供了显著的改进。 AIGC AIGC是指由人工智能系统自主创建或显著改变的数字内容特别是在计算机视觉、自然语言处理和机器学习领域。AIGC的特点是能够模拟、扩展或增强人工生成的内容实现从逼真图像合成到动态叙事创作的应用。AIGC的意义在于其在各个领域的变革潜力包括娱乐、教育和技术发展。它是不断发展的数字内容创作格局中的一个关键元素为传统方法提供了可扩展、可定制且通常更高效的替代方案。 3D GS的这种明确特性有助于实现实时渲染功能以及前所未有的控制和编辑水平使其与AIGC应用程序高度相关。3D GS的显式场景表示和可微分渲染算法完全符合AIGC生成高保真、实时和可编辑内容的要求这对虚拟现实、交互式媒体等领域的应用至关重要。 自动驾驶 自动驾驶旨在让车辆在没有人为干预的情况下导航和操作。这些车辆配备了一套传感器包括相机、LiDAR以及雷达并结合了先进的算法、机器学习模型和强大的计算能力。中心目标是感知环境做出明智的决策安全高效地执行机动。自动驾驶对交通运输具有变革潜力提供了关键好处如通过减少人为失误提高道路安全性增强无法驾驶者的机动性以及优化交通流量从而减少拥堵和环境影响。 自动驾驶汽车需要感知和解读周围环境才能安全行驶。这包括实时重构驾驶场景准确识别静态和动态物体并了解它们的空间关系和运动。在动态驾驶场景中由于其他车辆、行人或动物等移动物体环境不断变化。实时准确地重建这些场景对于安全导航至关重要但由于所涉及元素的复杂性和可变性这是一项挑战。在自动驾驶中3D GS可以用于通过将数据点例如从LiDAR等传感器获得的数据点混合成内聚和连续的表示来重建场景。这对于处理不同密度的数据点和确保场景中静态背景和动态目标的平滑准确重建特别有用。到目前为止很少有作品使用3D高斯对动态驾驶/街道场景进行建模并且与现有方法相比在场景重建方面表现出优异的性能。 性能对比 本节通过展示我们之前讨论的几种3D GS算法的性能来提供更多的经验证据。3D GS在许多任务中的不同应用加上每个任务的定制算法设计使得在单个任务或数据集中对所有3D GS算法进行统一比较变得不切实际。因此我们在3D GS领域中选择了三个具有代表性的任务进行深入的性能评估。性能主要来源于原始论文除非另有说明。  定位性能 静态场景渲染性能 动态场景渲染性能 驾驶场景渲染性能 数字人体性能 未来研究方向 尽管近几个月来3D GS的后续工作取得了显著进展但我们认为仍存在一些有待克服的挑战。 数据高效的3D GS解决方案从有限的数据点生成新颖的视图和重建场景是非常令人感兴趣的特别是因为它们有可能以最小的输入增强真实感和用户体验。最近的进展已经探索了使用深度信息、密集概率分布和像素到高斯映射来促进这种能力。然而仍然迫切需要在这一领域进行进一步探索。此外3D GS的一个显著问题是在观测数据不足的地区出现伪影。这一挑战是辐射场渲染中的一个普遍限制因为稀疏数据往往会导致重建不准确。因此在这些稀疏区域中开发新的数据插值或积分方法代表了未来研究的一条很有前途的途径。内存高效的3D GS解决方案虽然3D GS展示了非凡的能力但其可扩展性带来了重大挑战尤其是当与基于NeRF的方法并置时。后者得益于仅存储学习的MLP的参数的简单性。在大规模场景管理的背景下这种可扩展性问题变得越来越严重其中计算和内存需求显著增加。因此迫切需要在训练阶段和模型存储期间优化内存利用率。探索更高效的数据结构和研究先进的压缩技术是解决这些限制的有希望的途径。高级渲染算法目前3D GS的渲染管道是向前的可以进一步优化。例如简单的可见性算法可能导致高斯深度/混合顺序的剧烈切换。这突出了未来研究的一个重要机会实现更先进的渲染算法。这些改进的方法应旨在更准确地模拟给定场景中光和材料特性的复杂相互作用。一种有前景的方法可能涉及将传统计算机图形学中的既定原理同化和适应到3D GS的特定环境中。在这方面值得注意的是正在进行的将增强渲染技术或混合模型集成到3D GS当前计算框架中的努力。此外逆渲染及其应用的探索为研究提供了肥沃的土壤。优化和正则化各向异性高斯虽然有利于表示复杂的几何形状但会产生视觉伪像。例如那些大的3D高斯尤其是在具有依赖于视图的外观的区域可能会导致弹出的伪影视觉元素突然出现或消失破坏沉浸感。在3D GS的正则化和优化方面有相当大的探索潜力。引入抗锯齿可以缓解高斯深度和混合顺序的突然变化。优化算法的增强可能会更好地控制空间中的高斯系数。此外将正则化纳入优化过程可以加速收敛、平滑视觉噪声或提高图像质量。此外如此大量的超参数影响了3D GS的泛化这急需解决方案。网格重建中的3D高斯3D GS在网格重建中的潜力及其在体积和表面表示谱中的位置尚待充分探索。迫切需要研究高斯基元如何适用于网格重建任务。这一探索可以弥合体积绘制和传统基于表面的方法之间的差距为新的绘制技术和应用提供见解。赋予3D GS更多可能性尽管3D GS具有巨大的潜力但3D GS的全部应用范围在很大程度上仍未开发。一个很有前途的探索途径是用额外的属性来增强3D高斯例如为特定应用量身定制的语言和物理属性。此外最近的研究已经开始揭示3D GS在几个领域的能力例如相机姿态估计、手-物体相互作用的捕捉和不确定性的量化。这些初步发现为跨学科学者进一步探索3D GS提供了重要机会。 结论 据我们所知这篇综述首次全面概述了3D GS这是一项革命性的显式辐射场和计算机图形学技术。它描绘了传统NeRF方法的范式转变突出了3D GS在实时渲染和增强可控性方面的优势。我们的详细分析证明了3D GS在实际应用中的优势特别是那些需要实时性能的应用。我们提供了对未来研究方向和该领域尚未解决的挑战的见解。总的来说3D GS是一项变革性技术有望对3D重建和表示的未来发展产生重大影响。这项调查旨在作为一项基础资源推动这一快速发展领域的进一步勘探和进展。 #ORB-SLAM3~地图初始化 基础矩阵/单应矩阵/三角化的实际应用 目的 通收获如下内容 对极几何、对极约束以及基础矩阵Fundamental/本质矩阵Essential的数学原理并且明白为何视觉SLAM中需要对极几何单应矩阵Homography的基础概念以及单应矩阵与基础矩阵的区别如何通过匹配点对求解基础矩阵和单应矩阵如何通过基础矩阵和单应矩阵求解相机的位姿三角化的基础概念和应用ORBSLAM中的地图初始化详细流程一个精简的剥离了复杂的ORB_SLAM3框架的地图初始化代码并进行详细的中文注释。同时提供可直接运行的demo。 本文代码https://github.com/zeal-up/ORB_SLAM_Tracking Part1  视觉SLAM中的地图初始化 在视觉SLAM中地图初始化是一个非常重要的步骤它决定了后续的跟踪、建图等模块的效果。简单来说初始化的目的是利用前几帧图像计算出相机位姿并且构建出第一批3D地图点 第一批3D地图点为跟踪、建图等模块提供了一个初始的地图这样后续的模块就可以利用这些地图点进行跟踪、建图等工作。 由于ORB_SLAM系列工作将传感器模式扩展到了单目、双目、RGBD、IMU单目、IMU双目、IMURGBD等多种模式所以地图初始化的方式也有所不同。 双目由于已知两个相机的内外参可以直接三角化出3D点。三角化是单目的一个步骤所以双目初始化比较简单。RGBD可以直接通过深度值还原3D坐标更加简单。 配置了IMU之后实际也可以直接两个相机之间的姿态也可以直接三角化出3D点虽然IMU初始化需要考虑IMU参数的初始化但是这部分内容不在本文的讨论范围内。 因此本文将重点放在单目初始化上。单目初始化由于涉及到对极几何和三角化和矩阵求解等知识对于初学者会比较复杂。 Part2  ORB_SLAM地图初始化流程 01-init_pipeline 本文将对这流程中的每一个步骤进行详细的讲解并且给出代码实现。 Part3  ORB特征提取及匹配 特征点提取是一个比较独立的内容对于ORB特征提取可以参考这篇文章https://zeal-up.github.io/2023/05/18/orbslam/orbslam3-ORBextractor/ Part4  对极几何及对极约束 4.1从实际问题出发 为什么视觉SLAM需要对极几何 02-feature_point_matching 那么我们现在的问题是如何从这些点对的匹配关系得到相机之间的相对位姿 PS通常我们会将第一帧图像当作参考帧也就是世界坐标系。第二帧相机的位姿也就是相对于第一帧相机的位姿。 4.2 对极几何 所谓的对极几何就是指物体与两个相机之间空间几何关系。我们可以利用这个几何关系来求解相机之间的相对位姿。 4.3 对极约束 4.4 基础矩阵Fundamental MatrixF与本质矩阵Essential MatrixE 公式7和公式9都可以叫做对极约束。公式7忽略了相机内参的影响因为一般在SLAM中相机内参是已知的而归一化平面坐标可以方便地由相机内参和像素坐标得到因此公式7是公式9的简化形式。 为了简便我们可以记公式9中间部分为两个矩阵 要注意的是由于上式中等式右边是0,因此左右两边同时乘以一个系数等式依旧成立这一点我们在后面会再次提到 4.5 对极约束的几何意义 4.6 本质矩阵与基础矩阵的求解 4.6.1 基础矩阵的求解推导 本质矩阵是一个3x3矩阵但其是由旋转与平移组成6自由度并且要注意到公式11可以对任意尺度成立也就是说本质矩阵可以放缩任意一个尺度因此本质矩阵有5个自由度。 因此从理论上最少可以由5对点对求解注意这里与PnP算法的不同PnP算法等号两边没有0,一个点对可以建立两个等式因此一个点对可以约束2个自由度。而这里一个点对只能建立一条等式也就是约束一个自由度因此需要5个点对 04-solve_essential_matrix 以上方程求解后就可以得到本质矩阵对任意尺度成立 4.6.2 使用OpenCV求解 OpenCV有Api可以直接通过匹配点对计算基础矩阵 Mat cv::findFundamentalMat(InputArray points1,InputArray points2,int method,double ransacReprojThreshold,double confidence,int maxIters,OutputArray mask noArray() ) 具体说明可以参考Api说明findFundamentalMat() Part5  单目尺度不确定性 5.1 如何理解单目尺度不确定性 让我们再次回到对极几何的图 Part6  单应矩阵Homography Matrix 我们前面讨论基础矩阵的概念以及如何从一些匹配点对关系中求解基础矩阵。我们没有对关键点是否在一个平面上进行任何假设。但是如果我们假设关键点在一个平面上那么我们就可以使用单应矩阵Homography Matrix来求解相机之间的位姿。 05-homography_example 当匹配点对的关键点都是在3D空间中一个平面上时这些点对关系可以通过单应矩阵来描述相差一个常量系数 06_homographyMatrix 6.1 单应矩阵与相机内外参的关系 6.2 单应矩阵的求解 6.2.1 单应矩阵的求解推导 6.2.2 使用OpenCV求解 OpenCV提供接口可以直接求解单应矩阵 Mat cv::findHomography(InputArray srcPoints,InputArray dstPoints,int method 0,double ransacReprojThreshold 3,OutputArray mask noArray(),const int maxIters 2000,const double confidence 0.995 ) 详细的使用可以参考Api说明cv::findHomography() 如果对内部实现有兴趣可以参考这篇文章博客对OpenCV::findHomography的源码解读 Part7  从H、E矩阵恢复R、t 7.1 基础要点 F矩阵与E矩阵只相差相机内参通常我们会将F矩阵转换为E矩阵然后再恢复R、t。 从H、E矩阵求解R、t涉及到比较复杂的数学推导对于CV从业人员我认为这部分可以忽略具体推导过程但是要抓住几个要点 7.2 从E矩阵恢复R、t 求解推导过程忽略我们只需要知道根据E可以分解出两对R,t如下 08-four_situation_of_E 7.3 使用OpenCV从E中求解R,t OpenCV提供了一个api可以直接从E矩阵中分解出R、t void cv::decomposeEssentialMat(InputArray E,OutputArray R1,OutputArray R2,OutputArray t ) 详细使用参考API说明cv::decomposeEssentialMat 7.4 从H矩阵恢复R、t 从H矩阵恢复R、t有多种方法论文中的方法叫Faugeras SVD-based decomposition最终可以求解出8种解。另外一种有名的数值解法通过奇异值分解叫Zhang SVD-based decomposition OpenCV的接口使用的是分析解法https://inria.hal.science/inria-00174036v3/documentOpenCV的接口最终返回4种解 OpenCV的接口使用说明cv::decomposeHomographyMat Part8  如何选择正确的R、t 无论从E矩阵还是H矩阵中恢复出R、t都会得到多种解。我们需要从这些解中选择出正确的解。 最简单的做法是利用分解出的R、t对匹配点进行三角化并检查该3D点在两个相机下的深度值3D点必须在两个相机下都是正的才是正确的解。 对于单应矩阵的分解结果OpenCV提供了一个函数可以帮助我们选择正确的解cv::filterHomographyDecompByVisibleRefpoints 在ORB_SLAM中对于每一种解都会对所有匹配点进行三角化对三角化出来的点会进行很多步骤的检查最后选择拥有最多内点的解作为正确的解。 Part9  三角化 9.1 三角化的基础概念和推导 9.2 三角化的求解实现 可以用SVD求解上述方程求解出的3D坐标有4个元素需要将第四个元素归一化为1。这里把ORB_SLAM的这部分代码也贴出来 /** * brief 三角化获得三维点* param x_c1 点在关键帧1下的归一化坐标* param x_c2 点在关键帧2下的归一化坐标* param Tc1w 关键帧1投影矩阵 [K*R | K*t]* param Tc2w 关键帧2投影矩阵 [K*R | K*t]* param x3D 三维点坐标作为结果输出*/ bool GeometricTools::Triangulate(Eigen::Vector3f x_c1, Eigen::Vector3f x_c2, Eigen::Matrixfloat,3,4 Tc1w, Eigen::Matrixfloat,3,4 Tc2w,Eigen::Vector3f x3D) {Eigen::Matrix4f A;// x a*P*X 左右两面乘x的反对称矩阵 a*[x]^ * P * X 0 [x]^*P构成了A矩阵中间涉及一个尺度a因为都是归一化平面但右面是0所以直接可以约掉不影响最后的尺度// 0 -1 v P(0) -P.row(1) v*P.row(2)// 1 0 -u * P(1) P.row(0) - u*P.row(2) // -v u 0 P(2) u*P.row(1) - v*P.row(0)// 发现上述矩阵线性相关(第一行乘以-u加上第二行乘以-v等于第三行所以取前两维两个点构成了4行的矩阵X分别投影到相机1和相机2就是如下的操作求出的是4维的结果[X,Y,Z,A]所以需要除以最后一维使之为1就成了[X,Y,Z,1]这种齐次形式A.block1,4(0,0) x_c1(0) * Tc1w.block1,4(2,0) - Tc1w.block1,4(0,0);A.block1,4(1,0) x_c1(1) * Tc1w.block1,4(2,0) - Tc1w.block1,4(1,0);A.block1,4(2,0) x_c2(0) * Tc2w.block1,4(2,0) - Tc2w.block1,4(0,0);A.block1,4(3,0) x_c2(1) * Tc2w.block1,4(2,0) - Tc2w.block1,4(1,0);// 解方程 AX0Eigen::JacobiSVDEigen::Matrix4f svd(A, Eigen::ComputeFullV);Eigen::Vector4f x3Dh svd.matrixV().col(3);if(x3Dh(3)0)return false;// Euclidean coordinatesx3D x3Dh.head(3)/x3Dh(3);return true; } 9.3 使用OpenCV进行三角化 OpenCV也提供接口进行三角化且可以批量操作cv::triangulatePoints Part10  ORB_SLAM中的初始化 ORB_SLAM中对于初始化部分的操作虽然基础原理离不开上面的内容但是具体实现上有很多细节不仅仅反应作者的深厚算法功底也反映了作者的工程能力。我们这里介绍ORB_SLAM中初始化部分的一些特殊操作 10.1 自动选择Homography或者Fundamental模型进行初始化 10.2 从H、F矩阵恢复R、t 选择了H或者F模型之后会对H/F进行分解得到R、t。对于每一种[R,t]组合会对所有匹配点对进行三角化然后对三角化出来的3D点进行检查去除以下情况的点 深度为负需满足在两个相机下都是正的重投影误差大于某个阈值默认为2个像素 同时对每个点会统计其到两个相机光心的夹角最后对所有夹角进行从小到大排序选择第50个夹角如果这个夹角小于1度会认为初始化失败。 10.3 只在特征金字塔的最底层进行特征点匹配 在ORB_SLAM中初始化阶段特征点匹配是在特征金字塔的最底层进行的。这一点也可以理解。图像金字塔主要是用来解决移动造成的尺度变化而在初始化阶段两帧图像不会有大的尺度变化因此只需要在最底层进行匹配即可。    Part11附录A在复现过程中的一些问题 PS本文提供详细注释的精简代码并附有demohttps://github.com/zeal-up/ORB_SLAM_Tracking A-1 H矩阵的分数一直比F模型的分数低 在实验的过程中发现H矩阵的分数一直比F模型的分数低初始化时一直是选择的F模型进行初始化。后来发现ORBSLAM3中有一个bug,在使用H模型重建时并没有对3D点赋值所以H模型其实可能一直没有被用上。https://github.com/UZ-SLAMLab/ORB_SLAM3/pull/806 A-2 与OpenCV求解H/F矩阵的对比 笔者在使用ORB_SLAM提供的代码进行初始化的时候很容易失败而且每次运行的结果可能都不太相同。后来尝试使用OpenCV的接口求解H/F矩阵发现每次运行的结果都比较一致而且很少失败。OpenCV在求解H/F矩阵时也是用的RANSAC方法区别比较大的应该是分数的计算。ORB_SLAM中计算分数的时候是计算双边投影误差而OpenCV中计算分数的时候是计算内点个数。这两种方法的区别可能导致了ORB_SLAM中的实现对随机数非常敏感每次运行的结果都不一样。 同时使用ORB_SLAM的实现找出来的H/F矩阵很容易在后续的​​三角化阶段​​被拒绝。而使用OpenCV接口求解的H/F矩阵很少被拒绝。 另外使用OpenCV的接口计算H、F矩阵速度要比ORB_SLAM中的实现快很多一个原因可能还是双边投影误差的计算需要两次投影。 Part12 附录BDemo结果 PS本文提供详细注释的精简代码并附有demohttps://github.com/zeal-up/ORB_SLAM_Tracking B.1 特征提取结果 同时可视化特征点的角度方向 run_01-features B.2 特征点匹配 run_02-matches B.3 成功三角化的特征点 run_03-matchesWithFinestFeatures B.4 三角化的点
文章转载自:
http://www.morning.jtjmz.cn.gov.cn.jtjmz.cn
http://www.morning.lwygd.cn.gov.cn.lwygd.cn
http://www.morning.tkgjl.cn.gov.cn.tkgjl.cn
http://www.morning.gqhgl.cn.gov.cn.gqhgl.cn
http://www.morning.xjqrn.cn.gov.cn.xjqrn.cn
http://www.morning.dgng.cn.gov.cn.dgng.cn
http://www.morning.ssjry.cn.gov.cn.ssjry.cn
http://www.morning.rpjr.cn.gov.cn.rpjr.cn
http://www.morning.bgxgq.cn.gov.cn.bgxgq.cn
http://www.morning.yhgbd.cn.gov.cn.yhgbd.cn
http://www.morning.flzqq.cn.gov.cn.flzqq.cn
http://www.morning.rbnj.cn.gov.cn.rbnj.cn
http://www.morning.dphmj.cn.gov.cn.dphmj.cn
http://www.morning.jlboyuan.cn.gov.cn.jlboyuan.cn
http://www.morning.grpfj.cn.gov.cn.grpfj.cn
http://www.morning.fbzdn.cn.gov.cn.fbzdn.cn
http://www.morning.dwrbn.cn.gov.cn.dwrbn.cn
http://www.morning.ljhnn.cn.gov.cn.ljhnn.cn
http://www.morning.xdwcg.cn.gov.cn.xdwcg.cn
http://www.morning.rpzth.cn.gov.cn.rpzth.cn
http://www.morning.jcwrb.cn.gov.cn.jcwrb.cn
http://www.morning.qkgwx.cn.gov.cn.qkgwx.cn
http://www.morning.srwny.cn.gov.cn.srwny.cn
http://www.morning.wchsx.cn.gov.cn.wchsx.cn
http://www.morning.xqffq.cn.gov.cn.xqffq.cn
http://www.morning.tyjp.cn.gov.cn.tyjp.cn
http://www.morning.nkmw.cn.gov.cn.nkmw.cn
http://www.morning.ghfrb.cn.gov.cn.ghfrb.cn
http://www.morning.rpth.cn.gov.cn.rpth.cn
http://www.morning.yrmgh.cn.gov.cn.yrmgh.cn
http://www.morning.nhzxr.cn.gov.cn.nhzxr.cn
http://www.morning.cttgj.cn.gov.cn.cttgj.cn
http://www.morning.ltspm.cn.gov.cn.ltspm.cn
http://www.morning.qpmwb.cn.gov.cn.qpmwb.cn
http://www.morning.qpqb.cn.gov.cn.qpqb.cn
http://www.morning.mrckk.cn.gov.cn.mrckk.cn
http://www.morning.ghwtn.cn.gov.cn.ghwtn.cn
http://www.morning.ltksw.cn.gov.cn.ltksw.cn
http://www.morning.jzccn.cn.gov.cn.jzccn.cn
http://www.morning.zmpsl.cn.gov.cn.zmpsl.cn
http://www.morning.jhrkm.cn.gov.cn.jhrkm.cn
http://www.morning.mtyhk.cn.gov.cn.mtyhk.cn
http://www.morning.nxwk.cn.gov.cn.nxwk.cn
http://www.morning.mnqg.cn.gov.cn.mnqg.cn
http://www.morning.nssjy.cn.gov.cn.nssjy.cn
http://www.morning.ssrjt.cn.gov.cn.ssrjt.cn
http://www.morning.xcfmh.cn.gov.cn.xcfmh.cn
http://www.morning.ydhck.cn.gov.cn.ydhck.cn
http://www.morning.fksrg.cn.gov.cn.fksrg.cn
http://www.morning.lmmh.cn.gov.cn.lmmh.cn
http://www.morning.rknjx.cn.gov.cn.rknjx.cn
http://www.morning.pgmyn.cn.gov.cn.pgmyn.cn
http://www.morning.ywqsk.cn.gov.cn.ywqsk.cn
http://www.morning.bsbcp.cn.gov.cn.bsbcp.cn
http://www.morning.bfycr.cn.gov.cn.bfycr.cn
http://www.morning.rjbb.cn.gov.cn.rjbb.cn
http://www.morning.wflsk.cn.gov.cn.wflsk.cn
http://www.morning.lqqqh.cn.gov.cn.lqqqh.cn
http://www.morning.wfyqn.cn.gov.cn.wfyqn.cn
http://www.morning.dnwlb.cn.gov.cn.dnwlb.cn
http://www.morning.zpzys.cn.gov.cn.zpzys.cn
http://www.morning.gwwky.cn.gov.cn.gwwky.cn
http://www.morning.mkyxp.cn.gov.cn.mkyxp.cn
http://www.morning.blfgh.cn.gov.cn.blfgh.cn
http://www.morning.ltdrz.cn.gov.cn.ltdrz.cn
http://www.morning.yrms.cn.gov.cn.yrms.cn
http://www.morning.dnls.cn.gov.cn.dnls.cn
http://www.morning.qrlkt.cn.gov.cn.qrlkt.cn
http://www.morning.dswtz.cn.gov.cn.dswtz.cn
http://www.morning.ytbr.cn.gov.cn.ytbr.cn
http://www.morning.nyhtf.cn.gov.cn.nyhtf.cn
http://www.morning.wnxqf.cn.gov.cn.wnxqf.cn
http://www.morning.sloxdub.cn.gov.cn.sloxdub.cn
http://www.morning.synkr.cn.gov.cn.synkr.cn
http://www.morning.prjty.cn.gov.cn.prjty.cn
http://www.morning.jsljr.cn.gov.cn.jsljr.cn
http://www.morning.tjpmf.cn.gov.cn.tjpmf.cn
http://www.morning.kdtdh.cn.gov.cn.kdtdh.cn
http://www.morning.tfpqd.cn.gov.cn.tfpqd.cn
http://www.morning.zjqwr.cn.gov.cn.zjqwr.cn
http://www.tj-hxxt.cn/news/275271.html

相关文章:

  • 彩票娱乐网站建设开发为什么网站开发需要写php
  • 科技发明seo网站建设 厦门
  • 四川网站建设外包wordpress amp插件
  • 松岗做网站公司网站交互主要做什么的
  • 百度商桥怎么和网站湖南人文科技学院录取查询
  • 衡阳手机网站建设百度搜索广告推广
  • iis7 网站防盗链公司网站友情链接怎么做副链
  • apple官网登录入口seo优化是啥
  • 韶关建设网站酒店网站 方案
  • 购物网站国外莞城网站仿做
  • 西安网站建设的费用广告公司网站设计策划书
  • 网站怎么做下载网页网站建设忄金手指专业
  • 一个页面对网站如何建设h5和网站的区别
  • 电商网站建设代理商wordpress集成api
  • 深圳做网站推广排名wordpress wp-content 权限
  • 网站开发行业新闻大型门户网站建设流程
  • 零基础学做网站要多久做微商进哪个网站安全
  • seo优秀网站莆田企业自助建站系统
  • 公司经营范围 网站开发做速卖通的素材有哪些网站
  • php网站开发全程实例免费查询企业联系方式
  • 少儿编程自学网站乐清装修网站哪个好
  • 资源网站都有哪些学室内设计就是失业
  • 分析网站规划建设目标建设网站赚钱吗
  • 经营范围网站建设楼盘网站建设方案
  • 达州市网站建设上海关键词排名搜索
  • 狠狠做狠狠干免费网站宝塔建站网址
  • 欧美一级A做爰片成电影网站网站开发有很多种吗
  • 迁安做网站中的cms开发网站建设广告图片
  • 中国建设工程标准化协会网站青岛互联网公司排名
  • 律所网站方案简述网站制作的过程