来源商业新知网,原标题:TensorFlow也可以做图形渲染了:当神经网络遇上计算机图形学

 

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

谷歌给TensorFlow加入了计算机图形处理功能 TensorFlow Graphics ,让神经网络可以更好地理解计算机世界里的图形操作。

计算机图形 (Computer Graphics)和 计算机视觉 (Computer Vision)是一对孪生兄弟,二者互为逆过程。

计算机图形是预先知道3D物体的形状、位置、材料构成,以及场景的灯光和相机,然后渲染出场景。

计算机视觉是已知拍到的图像,从中推断出有哪些物体,它们由什么材料制成,以及它们的3D位置和方向。

当神经网络遇上计算机图形学,会碰撞出怎样的火花? 随笔 第1张

图像识别自然不必多说。在TensorFlow Graphics,图像渲染包括对图形进行旋转、缩放、光影、3D网格等操作。

旋转

当神经网络遇上计算机图形学,会碰撞出怎样的火花? 随笔 第2张

旋转在与一些机器人任务中非常重要,比如,用机械臂抓住物体需要精确估计这些物体相对于臂的位置。

缩放

当神经网络遇上计算机图形学,会碰撞出怎样的火花? 随笔 第3张

缩放计算机视觉中起着重要作用,因为它会极大地影响投影到平面上的三维物体的外观。

光影材质

当神经网络遇上计算机图形学,会碰撞出怎样的火花? 随笔 第4张

材质模型定义光与对象的交互方式,展现这种材料独特的外观。在某些虚拟环境中,可以预测某些物体的真实外观。

几何形状

从手机深度传感器到自动驾驶汽车激光雷达,近年来3D传感器越来越多。它们以网格或者点云的方式输出3D数据。

当神经网络遇上计算机图形学,会碰撞出怎样的火花? 随笔 第5张

由于它们的不规则结构,与提供规则网格结构的图像相比,这些表示上的卷积很难实现。TensorFlow Graphics有两个3D卷积层和一个3D池化层,允许网络在网格上执行语义部分分类的训练。

为何要推出TensorFlow Graphics

近几年,在神经网络架构中插入可微图形层的情况越来越多。尤其是 空间变换网络 ,这是2015年DeepMind在NIPS上发表的论文《Spatial Transformer Networks》。

这篇文章提出神经网络应当具有所谓“空间不变性”,即无论平移、旋转、缩放,都能够正确地识别和处理图像,但CNN在这方面的能力是欠缺的。

当神经网络遇上计算机图形学,会碰撞出怎样的火花? 随笔 第6张

在神经网络中插入这些可微图形层,可以来构建新的、更高效的网络架构。将几何和约束建模到神经网络中,可以通过自我监督的方式进行稳健、高效的训练。

另外,训练3D视觉任务的机器学习系统通常需要大量数据,需要设计机器学习模型,在没有太多监督的情况下进行训练,给网络加入计算机图形渲染的能力,能帮AI更好地理解3D世界。

安装使用

TensorFlow Graphics要求使用 TensorFlow 1.13.1 或更高版本。谷歌提供了CPU和GPU两个版本:

pip install --upgrade tensorflow-graphics

# CPU版本

pip install --upgrade tensorflow-graphics-gpu

# GPU版本

为了让用户能够进行可视化调试,TensorFlow Graphics还附带了一个TensorBoard插件,交互式地显示3D网格和点云。

当神经网络遇上计算机图形学,会碰撞出怎样的火花? 随笔 第7张

更多的实际效果可以去项目页提供的几个 Colab 笔记本中体验。比如前面提到的光影材质渲染:

当神经网络遇上计算机图形学,会碰撞出怎样的火花? 随笔 第8张

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄