TensorFlow重磅推出一个全新的图形工具TensorFlow Graphics,结合计算机图形学和计算机视觉技术,以无监督的方式解决复杂3D视觉任务。
近年来,可插入到神经网络架构中的一种新型可微图形层(differentiable graphics layers)开始兴起。
从空间变换器(spatial transformers)到可微图形渲染器,这些新型的神经网络层利用计算机视觉、图形学研究获得的知识来构建新的、更高效的网络架构。它们将几何先验和约束显式地建模到神经网络中,为能够以自监督的方式进行稳健、高效训练的神经网络架构打开了大门。
从高级层面来说,计算机图形学的pipeline需要3D物体及其在场景中的绝对位置、构成它们的材质的描述、光、以及摄像头。然后,渲染器对这个场景描述进行解释,生成一个合成渲染。
相比之下,计算机视觉系统是从图像开始的,并试图推断出场景的相关参数。也就是说,计算机视觉系统可以预测场景中有哪些物体,它们由什么材料构成,以及它们的3D位置和方向。
训练一个能够解决这些复杂的3D视觉任务的机器学习系统通常需要大量的数据。由于给数据打标签是一个成本高昂而且复杂的过程,因此设计能够理解三维世界、而且无需太多监督的机器学习模型的机制非常重要。
将计算机视觉和计算机图形学技术结合起来,我们得以利用大量现成的无标记数据。
如下图所示,这个过程可以通过合成分析来实现,其中视觉系统提取场景参数,图形系统根据这些参数返回图像。如果渲染结果与原始图像匹配,则说明视觉系统已经准确地提取出场景参数了。
在这种设置中,计算机视觉和计算机图形学相辅相成,形成了一个类似于自动编码器的机器学习系统,能够以一种自监督的方式进行训练。
可微图形层
接下来,我们将探讨TensorFlow Graphics的一些功能。更多信息可以访问GitHub:
变换(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中使用它们的具体示例。
材料
材料模型(Material models)定义了光和物体交互的方式,赋予它们独特的外观。
例如,有些材料,如石膏,能均匀地向所有方向反射光线,而有些材料,如镜子,则纯粹是镜面反射。
准确地预测材料属性是许多视觉任务的基础。例如,可以让用户将虚拟家具放置在环境中,家具的照片可以与室内环境逼真地融合在一起,从而让用户对这些家具的外观形成准确的感知。
在下面的Colab笔记本,可以学习如何使用Tensorflow Graphics生成如下的渲染。你也可以试验不同的材料和光的参数,了解它们如何相互作用。
几何——3D卷积和池化
近年来,从智能手机的深度传感器到自动驾驶汽车激光雷达,以点云或网格的形式输出3D数据的传感器越来越常用。由于这类数据有着不规则的结构,与提供规则网格结构的图像相比,在这些表示上执行卷积更难实现。
TensorFlow Graphics提供两个3D卷积层和一个3D池化层,例如,允许网络在网格上执行语义部分分类(如下图所示):
TensorBoard 3d
可视化debug是评估实验是否朝着正确方向进行的一种很好的方法。为此,TensorFlow Graphics提供了一个TensorBoard插件,可以交互式地对3D网格和点云进行可视化。
-
谷歌
+关注
关注
27文章
6141浏览量
105080 -
深度学习
+关注
关注
73文章
5492浏览量
120970
原文标题:谷歌重磅推出TensorFlow Graphics:为3D图像任务打造的深度学习利器
文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论