PyTorch3D 3D 深度学习函数库开源项目

我要开发同款
匿名用户2020年02月17日
94阅读
开发技术C/C++
所属分类人工智能、机器学习/深度学习
授权协议BSD

作品详情

PyTorch3D是一个用于处理3D数据的深度学习函数库,该库高度模块化且经过专门优化,具备独有的功能,旨在通过PyTorch简化3D深度学习。PyTorch3D为3D数据提供了一组常用的3D运算符和快速且可微分的损失函数(lossfunction),以及模块化的可微分渲染API。

PyTorch3D主要特性

用于存储和操作三维物体的数据结构可在三维物体上进行高效运算,诸如投影变换、图卷积、采样、损失函数等可微分的三维物体渲染器PyTorch3D旨在与深度学习方法平稳集成,以预测和处理3D数据。因此,PyTorch3D中的所有运算符:

使用PyTorch张量实现可以对异构数据进行批量处理可微分可以利用GPU进行加速

案例与教程

▲ 将球体网格变形为海豚

▲ 渲染纹理网格

▲ 优化相机位置

示例代码

安装PyTorch3Dcondainstallpytorchtorchvision-cpytorch#OSXonlycondainstallpytorch3d-cpytorch3d#allsystems尝试使用一些3D运算符,如计算两个网格之间的倒角损耗( chamferloss)frompytorch3d.utilsimportico_spherefrompytorch3d.ioimportload_objfrompytorch3d.structuresimportMeshesfrompytorch3d.opsimportsample_points_from_meshesfrompytorch3d.lossimportchamfer_distance#Useanico_spheremeshandloadameshfroman.obje.g.model.objsphere_mesh=ico_sphere(level=3)verts,faces,_=load_obj("model.obj")test_mesh=Meshes(verts=[verts],faces=[faces.verts_idx])#Differentiablysample5kpointsfromthesurfaceofeachmeshandthencomputetheloss.sample_sphere=sample_points_from_meshes(sphere_mesh,5000)sample_test=sample_points_from_meshes(test_mesh,5000)loss_chamfer,_=chamfer_distance(sample_sphere,sample_test)
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论