TensorFlow Graphics
近年来,可微分图形层在神经网络架构中的应用日益增多。从空间变换器到可微分图形渲染器,这些新型层利用了多年来计算机视觉和图形研究积累的知识,构建了更新颖、更高效的网络架构。将几何先验和约束明确地建模到神经网络中,为构建可靠、高效且更重要的是可自监督训练的架构打开了大门。
概述
从高层次来看,计算机图形管线需要3D对象及其在场景中的绝对位置表示、对象材质描述、光源和相机。然后渲染器会解析这些场景描述,生成合成渲染图像。
相比之下,计算机视觉系统会从图像开始,尝试推断场景参数。这允许预测场景中的对象、它们的材质以及三维位置和方向。
训练能够解决这些复杂3D视觉任务的机器学习系统通常需要大量数据。由于数据标注是一个昂贵且复杂的过程,设计能够理解三维世界而无需太多监督的机器学习模型变得尤为重要。结合计算机视觉和计算机图形技术为利用大量现成的未标注数据提供了独特机会。如下图所示,这可以通过分析合成的方法实现,其中视觉系统提取场景参数,图形系统基于这些参数渲染图像。如果渲染图像与原始图像匹配,则说明视觉系统准确提取了场景参数。在这种设置中,计算机视觉和计算机图形相辅相成,形成了类似自编码器的单一机器学习系统,可以以自监督的方式进行训练。
Tensorflow Graphics的开发旨在帮助解决这些类型的挑战。为此,它提供了一系列可微分的图形和几何层(如相机、反射模型、空间变换、网格卷积)以及3D查看器功能(如3D TensorBoard),这些可用于训练和调试您选择的机器学习模型。
安装TensorFlow Graphics
有关如何安装TensorFlow Graphics的说明,请参阅安装文档。
API文档
您可以在这里找到API文档。
兼容性
TensorFlow Graphics完全兼容最新的稳定版TensorFlow、tf-nightly和tf-nightly-2.0-preview。所有函数都兼容图执行和即时执行模式。
调试
Tensorflow Graphics大量依赖L2归一化张量,并且特定函数的输入需要在预定义范围内。检查这些条件需要计算资源,因此默认情况下不会激活。建议在训练的几个周期内打开这些检查,以确保一切按预期运行。此页面提供了启用这些检查的说明。
Colab教程
为了帮助您开始使用TF Graphics提供的一些功能,以下是一些Colab笔记本,大致按难度排序。这些Colab涵盖了广泛的主题,包括物体姿态估计、插值、物体材质、光照、非刚性表面变形、球谐函数和网格卷积。
注意:这些教程得到精心维护。但是,它们不被视为API的一部分,可能随时更改而不另行通知。不建议编写依赖于它们的代码。
初级
中级
高级
TensorBoard 3D
可视化调试是评估实验是否朝着正确方向发展的好方法。为此,TensorFlow Graphics附带了一个TensorBoard插件,可以交互式地可视化3D网格和点云。此演示展示了如何使用该插件。按照这些说明安装和配置TensorBoard 3D。请注意,TensorBoard 3D当前与即时执行和TensorFlow 2不兼容。
即将推出...
除了许多其他功能外,我们希望发布重采样器、额外的3D卷积和池化运算符以及可微分光栅化器!
关注我们的Twitter以了解最新更新!
附加信息
您可以根据Apache 2.0许可证使用此软件。
社区
作为TensorFlow的一部分,我们致力于培养开放和友好的环境。
- Stack Overflow:提出或回答技术问题。
- GitHub:报告错误或提出功能请求。
- TensorFlow博客:了解TensorFlow团队的最新内容和社区的最佳文章。
- YouTube频道:关注TensorFlow节目。
参考文献
如果您在研究中使用TensorFlow Graphics,请引用它:
@inproceedings{TensorflowGraphicsIO2019,
author = {Oztireli, Cengiz and Valentin, Julien and Keskin, Cem and Pidlypenskyi, Pavel and Makadia, Ameesh and Sud, Avneesh and Bouaziz, Sofien},
title = {TensorFlow Graphics: Computer Graphics Meets Deep Learning},
year = {2019}
}
联系方式
想要联系我们?请发送电子邮件至tf-graphics-contact@google.com!
贡献者 - 按字母顺序排列
- Sofien Bouaziz (sofien@google.com)
- Jay Busch
- Forrester Cole
- Ambrus Csaszar
- Boyang Deng
- Ariel Gordon
- Christian Häne
- Cem Keskin
- Ameesh Makadia
- Cengiz Öztireli
- Rohit Pandey
- Romain Prévost
- Pavel Pidlypenskyi
- Stefan Popov
- Konstantinos Rematas
- Omar Sanseviero
- Aviv Segal
- Avneesh Sud
- Andrea Tagliasacchi
- Anastasia Tkach
- Julien Valentin
- He Wang
- Yinda Zhang