Meta发布PyTorch3D扩展Implicitron,支持快速精确3D重建
快速创建精确的3D重建
(映维网Nweon 2022年09月22日)Meta日前发布了一个PyTorch3D扩展Implicitron。团队表示,它能够快速创建精确的3D重建,从而大大简化虚拟购物等应用的创建。
1. 这项研究是什么
神经隐式表示(neural implicit representation)方面的迅速进展为增强现实体验开辟了令人兴奋的全新可能。这种计算机视觉技术可以在增强现实中无缝地结合真实对象和虚拟对象,不需要从大量数据中学习,同时不局限于数个角度。
它通过利用来自任意视点的3D对象或场景的稀疏组合图像集来学习对象或场景。与传统的3D表示(如网格或点云)不同,这种方法将对象表示为连续函数,从而允许更精确地重建具有复杂几何的形状和更高的颜色重建精度。
Meta AI发布的Implicitron是开源PyTorch3D库中的一个模块化框架,并旨在推进隐式神经表示的研究。Implicitron提供了流行隐式表示和呈现组件的抽象和实现,可便于社区进行实验。
这一研究领域依然是在萌芽阶段。在引入NeRF后,仅过去一年就出现了50多种用于合成复杂场景新视图的方法。Implicitron现在可以借助通用代码库轻松评估相关方法的变化、组合和修改,不需要3D或图形方面的专业知识。
三维重建由五个不同的模型生成,每个模型都可以在Implicitron中获得。
2. 具体的工作原理
当前大多数神经隐式重建方法通过光线行进创建实时真实感渲染。在光线行进中,从渲染camera发射光线,并沿光线采样3D点。然后,隐式形状函数评估采样光线点到曲面的密度或距离。然后,渲染器沿光线点行进,以找到场景曲面和光线之间的第一个交点,从而渲染图像像素。最后,计算生成图像和ground truth图像之间的损失函数或差异,以及其他度量。
考虑到这种通用结构,Meta创建了每个组件的模块化和可组合实现。这包括负责采样射线和射线点的RaySampler和PointSampler。射线点可以使用HarmonicEmbedding类(实现NeRF的位置嵌入)或ViewSampler进行编码。给定每点特征编码,Implicitron可以利用数种隐式形状架构(NeRF的MLP、IDR的FeatureField、SRN的implicit raymarcher)中的一种来生成隐式形状。渲染器(MultiPasseMissionAbsorptionRenderer、LSTMRenderer和RayTracing))然后将后者转换为图像。接下来,使用若干损失对训练过程进行监督,包括MSE、PSNR和Huber损失。
这种模块化架构允许你轻松组合不同论文的贡献,并替换特定组件来测试新想法。作为旗舰的端到端示例,Implicitron实现了一种最先进的基于广义类别的新视图合成方法。这通过基于Transformer架构的可训练视图池层扩展了NeRF。
值得一提的是,为了帮助简化实验和可扩展性,Meta同时开发了其他组件。这包括一个支持组件的用户定义实现,以及支持实现之间切换的灵活配置的插件和配置系统。
3. 为什么重要
正如Detectron 2已成为在各种数据集实施和基准化对象检测方法的首选框架,Implicitron旨在成为神经隐式表示和渲染领域开展研究的基石。Meta表示,这可以降低进入素数领域的障碍,并为前进开拓带来了巨大的新机会。
为了加速AR/VR的研究,关键是要有工具来获取图像数据并创建精确的3D重建。这允许在现实世界中实现有用的应用程序,比如在AR和VR中购物时虚拟地试穿试用,或者从不同的角度重温难忘的时刻。
通过将所述框架集成到流行的PyTorch3D库中,Meta希望为社区提供一种轻松地将组件从Implicitron安装并导入到项目中,并且无需重新实现或复制代码的简易方法。
PyTorch3D代码请访问GitHub页面,而3D重建数据集CO3D则请访问这个页面。