TensorFlow发布能倒推3D场景参数的计算机视觉深度学习函数库

TensorFlow发布可微分图形(Differentiable Graphics)层TensorFlow Graphics,这是用来帮助训练计算机视觉模型的函数库,官方提到,由于要用来训练3D视觉任务模型的标签数据取得不易,而TensorFlow Graphics能够自动推测3D场景参数,以加速计算机视觉深度学习应用构建。TensorFlow Graphics第一个发布的版本,兼容与TensorFlow 1.13.1以上版本。

简单来说,计算机图形工作管线需要3D物体在空间中的绝对位置、物体材质描述、灯光以及相机设置,由渲染器产生合成渲染(Synthetic Rendering),而计算机视觉的应用则是反向的渲染工作管线,需要从场景图像往回推算场景参数,预测场景中的物体、材质以及物体在3D空间的位置与方向。

官方提到,计算机视觉应用的发展门槛在于训练模型用的标签数据难以取得,而这是因为训练用的标签数据,其标记过程复杂需要耗费大量的时间与金钱,因此要促进计算机视觉的应用,有必要创建不需要太多监督的机制,也能理解3D世界的方法。TensorFlow Graphics通过计算机图学以及计算机视觉技术,已经可以将大量未标记数据应用于训练上。

TensorFlow官方提到,现在通过合成分析就能完成这件事,从图形系统中萃取出场景参数,并利用这些参数再次渲染图像,当渲染的图像与原始图像相符,则表示图像系统精确地推理出场景参数,在这样的设置中,计算机视觉与计算机图学相辅相成,构成了一个类似自动解码器,可以进行自我监督训练的单一机器学习系统。

TensorFlow Graphics现在能提供多种有用的功能,可用来训练神经网络预测物体旋转或是平移等移动转换(Transformations),这样的功能适合适于与环境交互的机器人,可以让机器人精确地计算物体与机械手臂的相对位置,抓住正在移动的物体。TensorFlow Graphics还能用来预测物体材质(Materials),而这能让神经网络学习材质与光的交互,将其应用在增强现实中,可以为实际环境中摆放的虚拟家具,通过光影渲染使其更融入现实环境中,帮助用户理解家具外观。

在几何应用上,TensorFlow Graphics提供3D卷积(Convolutions)和池化(Pooling)功能,让神经网络对模型网格进行语义分类(下图)。另外,TensorFlow Graphics还提供了TensorBoard插件程序,让开发者能以交互的方式审查3D模型进行视觉调试。