Github 项目链接:https://github.com/tensorflow/graphics

最近几年以来,能够插入神经网络架构中的新型可区分图层在数量上有所增加。从空间转换器到可变图形渲染器,这些新层积极利用多年以来计算机视觉与图形研究为我们带来的知识储备,共同构建起新的、更为高效的网络架构。将几何先验与约束机制明确建模至神经网络当中,意味着 AI 建模迎来了新的发展时代。以此为基础,AI 建模师能够以自我监督的方式进行稳健、高效的自动化模型生成工作。

从宏观角度讲,计算机图形流水线需要首先确定 3D 对象及其在场景中的绝对位置,而后对其采用的构成材料、灯光以及镜头位置进行描述。最后,渲染器对相关场景描述进行解释并生成合成渲染结果。

在另一方面,计算机视觉系统则负责推理场景当中的各项参数。具体而言,其能够预测场景中包含哪些对象,这些对象由什么材料制成,以及各个对象的三维位置与朝向。

要建立起能够解决此类复杂 3D 视觉任务的机器学习系统,我们通常需要准备大量数据对其进行训练。由于标记数据是一种昂贵且复杂的过程,因此我们自然有必要建立起机器学习模型的设计机制。这类模型能够在无需太多监督的情况下进行训练,从而实现对三维世界的透彻理解。

将计算机视觉与计算机图形技术相结合,使得我们能够以前所未有的方式对大量现成未标记数据加以利用。如下图所示,这方面尝试可以通过合成分析来实现。其中视觉系统负责提取场景参数,并由图形系统基于这些参数进行图像渲染。如果渲染结果与原始图像相匹配,则代表视觉系统已经准确提取到场景参数。在这样一套系统当中,计算机视觉与计算机图形相辅相成,构成类似于自动编码器的整体机器学习系统,并以自我监督的方式开展训练。

可区分图层

在下文中,我们将具体探讨 TensorFlow Graphics 中的一些可用功能。当然,受篇幅所限我们不可能对整个流程进行全面延伸。如果希望了解更多细节信息,请访问我们在文章开头发布的 Github repo 以了解 TensorFlow Graphics 提供的各项新功能。

转换

对象转换机制负责控制对象在空间中的位置。在下图当中,立方体围绕中轴进行旋转。当旋转轴朝上且角度为正时,立方体即进行逆时针旋转。在这一 Colab 示例中,我们展示了如何在神经网络当中训练旋转形式。该神经网络已经进行过训练,学习如何预测观察对象的旋转与平移活动。这一任务正是多种实际应用的核心,包括需要与所处环境进行交互的各类机器人。在这类场景下,机器人需要通过机械臂抓住对象物体,而这要求其精确估计目标物体与其手臂的相对位置关系。

建模镜头

镜头模型在计算机视觉当中扮演着至关重要的角色,因为其会极大影响到投影至图像平面上的三维物体的外观。通过下图,我们可以看到立方体似乎在进行垂直方向的绽放,但实际上这种变化源自镜头的焦距切换。关于镜头模型的更多细节信息以及如何在 TensorFlow 进行使用的具体方法,请参考此Colab 示例。

材质

材质模型用于定义光同对象之间的交互方式,从而使其获得独特的外观。举例来说,以石膏为代表的某些材料能够均匀地进行光线漫反射,而镜子等材质则属于纯粹的镜面反射。在这份交互式Colab Notebook当中,大家可以了解如何利用 Tensorflow Graphics 生成以下渲染效果。此外,您也将有机会利用材质与光源参数开发出良好的交互感受。准确预测材料属性是很多实际任务的基础所在。例如,系统可能允许用户在家庭环境中放置虚拟家具,并在照片当中呈现出逼真的内部融合效果,从而让用户更准确地理解家具的摆放方式与观感。

几何——3D 卷积与池化

近年来,以点云或者网格形式输出三维数据的传感器正快速成为我们日常生活中的组成部分。从智能手机深度传感器,到无人驾驶汽车上的激光雷达,这些原本只服务于高端设备的小装置也进入了寻常百姓家。由于其反映出的结构并不规则,因此与提供规则网格结构的图像相比,这种表示中的卷积效果往往更难实现。TensorFlow Graphics 带有两个 3D 卷积层与一个 3D 池层,允许网络利用这些网格信息进行训练从而执行语义分类。具体请参阅我们的Colab Notebook以及下图。

TensorBoard 3D

可视化调试是评估实验进程是否朝着正确方向推进的有效方法。为此,TensorFlow Graphics 附带一款 TensorBoard 插件,能够以交互方式显示 3D 网格与点云。

马上体验

TensorFlow Graphics 的首个支持版本能够与 TensorFlow 1.13.1 以及更高版本相兼容。大家可以访问 https://www.tensorflow.org/graphics 以获取 API 以及库安装说明。

鸣谢

TensorFlow Graphics 的诞生是团队工作的结果。在这里,我们要向做出重大贡献的 Cem Keskin、Pavel Pidlypenskyi、Ameesh Makadia 以及 Avneesh Sud 表达诚挚的谢意。

原文链接:

https://medium.com/tensorflow/introducing-tensorflow-graphics-computer-graphics-meets-deep-learning-c8e3877b7668

机器学习实现计算不规则图形面积_谷歌开源 TensorFlow Graphics:专为 3D 图像打造的深度学习利器...相关推荐

  1. 机器学习实现计算不规则图形面积_人教版小学数学五年级上册解决问题(不规则图形的面积)公开课优质课课件教案视频...

    1 小数乘法PPT课件教案下载_小学数学人教版五年级上册师梦圆​www.shimengyuan.com小数乘整数PPT课件教案下载_小学数学人教版五年级上册师梦圆​www.shimengyuan.co ...

  2. 机器学习实现计算不规则图形面积_不用任何数学方法,如何计算圆面积

    杀鸡用牛刀,我们用机器学习方法来算圆的面积. 询问任何人圆的面积是多少,他们都会告诉你不就是r²吗.但如果你问他们为什么,他们很可能并不知道. 这是因为圆的面积公式的证明在大多数情况下要么不直观,不令 ...

  3. 机器学习实现计算不规则图形面积_《图形编程技术学习》(五十八)用VS实现逐顶点的光照计算...

    这个系列接近尾声了,自己也着急想早点弄完,最近忙着项目的事情,一连几天没有更新, 更新的时候遇到疑点也没有时间细细研究,大抵是囫囵吞枣,这种习惯很不好, 来得容易忘得也容易,到底是纸上得来终觉浅;想着 ...

  4. 径向基神经网络_谷歌开源Neural Tangents:5行代码打造无限宽神经网络模型,帮助“打开ML黑匣子”...

    鱼羊 假装发自 凹非寺 量子位 报道 | 公众号 QbitAI 只要网络足够宽,深度学习动态就能大大简化,并且更易于理解. 最近的许多研究结果表明,无限宽度的DNN会收敛成一类更为简单的模型,称为高斯 ...

  5. 重磅!谷歌开源TensorFlow 3D场景理解库

    来源丨机器之心 编辑丨杜伟.陈萍 继 2020 年初 Facebook 开源基于 PyTorch 的 3D 计算机视觉库 PyTorch3D 之后,谷歌也于近日开源了一个基于 TF 框架的高度模块化和 ...

  6. 清华开源 Jittor:首个国内高校自研深度学习框架,一键转换 PyTorch

    点击上方"视学算法",马上关注 真爱,请设置"星标"或点个"在看" 来源 | 机器之心 继 Theano.Caffe 之后,又一个由高校主导 ...

  7. 清华开源Jittor:首个国内高校自研深度学习框架,一键转换PyTorch

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 来源:机器之心@微信公众号 继 Theano.Caffe 之后,又一个由高校主导的 ...

  8. 深度学习利器:TensorFlow在智能终端中的应用——智能边缘计算,云端生成模型给移动端下载,然后用该模型进行预测...

    前言 深度学习在图像处理.语音识别.自然语言处理领域的应用取得了巨大成功,但是它通常在功能强大的服务器端进行运算.如果智能手机通过网络远程连接服务器,也可以利用深度学习技术,但这样可能会很慢,而且只有 ...

  9. python中如何移动图形工作站_六招教你用Python分分钟构建好玩的深度学习应用

    原标题:六招教你用Python分分钟构建好玩的深度学习应用 导读]深度学习是近来数据科学中研究和讨论最多的话题.得益于深度学习的发展,数据科学在近期得到了重大突破,深度学习也因此得到了很多关注.据预测 ...

最新文章

  1. python封装方法有几种_Python中的封装有什么作用?
  2. LeetCode算法题10:DFS/BFS-扫雷游戏
  3. Wonder 1.0 正式版发布,WebGL 3D引擎和编辑器
  4. java查看对象地址_如何获取到JAVA对象所在的内存地址
  5. 产生线程安全的原因(1)(操作系统)
  6. WireShark抓DNS请求和回复数据报的分析
  7. 人工智能实战_第一次作业_杨佳宁_16141032
  8. 开发第一个spring boot应用
  9. 中国医科大学计算机应用基础本科在线作业,17秋中国医科大学《计算机应用基础(本科)》在线作业...
  10. spring 集成 spring cloud config 的相关知识
  11. 中低频量化交易策略研发06_推进的择时策略
  12. @程序员,如何用最少的字节编写 C64 可执行文件?
  13. PHP使用CodeIgniter笔记
  14. Django(71)图片处理器django-imagekit
  15. Premiere视频导出格式
  16. java poi PAGELAYOUT_Apache POI PPT - 幻灯片布局( Slide Layouts)
  17. 服务器96g运行内存,别被坑了,2019入手小米9到底选择6G运存还是8G?看完你就懂了!...
  18. 计算机与算盘有什么区别
  19. 浅试uniapp 集成融云 实现视频通话
  20. 返回一字节中某一位的值

热门文章

  1. sqlsugar的sum的用法
  2. Oracle字符函数length substr concat实例
  3. Kali Linux与Ubuntu的ssh服务
  4. 基础知识之 - C# Using的用法
  5. 02.gcc入门(下)
  6. css网页练习-3视觉
  7. js 返回上一页和刷新以及页面跳转
  8. Java枚举(用Java普通类模拟枚举的实现原理及JDK枚举API使用示例)
  9. 汉字与区位码(2) - 分析
  10. IDEA使用(03)_git撤回(已经commit未push的)操作