首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >谷歌重磅推出TensorFlow Graphics:为3D图像任务打造的深度学习利器

谷歌重磅推出TensorFlow Graphics:为3D图像任务打造的深度学习利器

作者头像
新智元
发布2019-05-17 15:25:00
1.8K0
发布2019-05-17 15:25:00
举报
文章被收录于专栏:新智元新智元
【导读】TensorFlow重磅推出一个全新的图形工具TensorFlow Graphics,结合计算机图形学和计算机视觉技术,以无监督的方式解决复杂3D视觉任务。

近年来,可插入到神经网络架构中的一种新型可微图形层(differentiable graphics layers)开始兴起。

从空间变换器(spatial transformers)到可微图形渲染器,这些新型的神经网络层利用计算机视觉、图形学研究获得的知识来构建新的、更高效的网络架构。它们将几何先验和约束显式地建模到神经网络中,为能够以自监督的方式进行稳健、高效训练的神经网络架构打开了大门。

从高级层面来说,计算机图形学的pipeline需要3D物体及其在场景中的绝对位置、构成它们的材质的描述、光、以及摄像头。然后,渲染器对这个场景描述进行解释,生成一个合成渲染。

相比之下,计算机视觉系统是从图像开始的,并试图推断出场景的相关参数。也就是说,计算机视觉系统可以预测场景中有哪些物体,它们由什么材料构成,以及它们的3D位置和方向。

训练一个能够解决这些复杂的3D视觉任务的机器学习系统通常需要大量的数据。由于给数据打标签是一个成本高昂而且复杂的过程,因此设计能够理解三维世界、而且无需太多监督的机器学习模型的机制非常重要。

将计算机视觉和计算机图形学技术结合起来,我们得以利用大量现成的无标记数据。

如下图所示,这个过程可以通过合成分析来实现,其中视觉系统提取场景参数,图形系统根据这些参数返回图像。如果渲染结果与原始图像匹配,则说明视觉系统已经准确地提取出场景参数了。

在这种设置中,计算机视觉和计算机图形学相辅相成,形成了一个类似于自动编码器的机器学习系统,能够以一种自监督的方式进行训练。

可微图形层

接下来,我们将探讨TensorFlow Graphics的一些功能。更多信息可以访问GitHub:

https://github.com/tensorflow/graphics/

变换(Transformations)

物体变换(Object transformations)功能能够控制物体在空间中的位置。

如下图所示,利用轴角度可以将立方体旋转起来。旋转轴指向上方,角度为正,则使立方体逆时针旋转。

在下面的Colab示例中,我们展示了如何在一个神经网络中训练旋转形式,该神经网络被训练来预测物体的旋转和平移。

https://colab.sandbox.google.com/github/tensorflow/graphics/blob/master/tensorflow_graphics/notebooks/6dof_alignment.ipynb

这项任务是许多应用程序的核心,比如专注于与环境交互的机器人。机器人要用机械臂抓取物体,需要精确地估计物体相对于机械臂的位置。

建模相机(Modelling cameras)

相机模型(Camera models)在计算机视觉中有着至关重要的作用,因为相机会极大地影响投影到图像平面上的3D物体的外观。

如下图所示,立方体看起来是上下缩放的,而实际上发生这种变化只是由于相机焦距发生了变化。

下面的Colab示例提供了更多关于相机模型的细节,以及如何在TensorFlow中使用它们的具体示例。

https://colab.sandbox.google.com/github/tensorflow/graphics/blob/master/tensorflow_graphics/notebooks/intrinsics_optimization.ipynb

材料

材料模型(Material models)定义了光和物体交互的方式,赋予它们独特的外观。

例如,有些材料,如石膏,能均匀地向所有方向反射光线,而有些材料,如镜子,则纯粹是镜面反射。

准确地预测材料属性是许多视觉任务的基础。例如,可以让用户将虚拟家具放置在环境中,家具的照片可以与室内环境逼真地融合在一起,从而让用户对这些家具的外观形成准确的感知。

在下面的Colab笔记本,可以学习如何使用Tensorflow Graphics生成如下的渲染。你也可以试验不同的材料和光的参数,了解它们如何相互作用。

https://colab.sandbox.google.com/github/tensorflow/graphics/blob/master/tensorflow_graphics/notebooks/reflectance.ipynb

几何——3D卷积和池化

近年来,从智能手机的深度传感器到自动驾驶汽车激光雷达,以点云或网格的形式输出3D数据的传感器越来越常用。由于这类数据有着不规则的结构,与提供规则网格结构的图像相比,在这些表示上执行卷积更难实现。

TensorFlow Graphics提供两个3D卷积层和一个3D池化层,例如,允许网络在网格上执行语义部分分类(如下图所示):

更多信息参见 Colab notebook:

https://colab.sandbox.google.com/github/tensorflow/graphics/blob/master/tensorflow_graphics/notebooks/mesh_segmentation_demo.ipynb

TensorBoard 3d

可视化debug是评估实验是否朝着正确方向进行的一种很好的方法。为此,TensorFlow Graphics提供了一个TensorBoard插件,可以交互式地对3D网格和点云进行可视化。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-05-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 新智元 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 【导读】TensorFlow重磅推出一个全新的图形工具TensorFlow Graphics,结合计算机图形学和计算机视觉技术,以无监督的方式解决复杂3D视觉任务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档