想研究可微分渲染,却担心找不到合适的框架?
现在,官方支持可微分渲染的深度学习框架来了:
清华自研的「计图」 (Jittor)深度学习框架,在更新的版本中加入了可微分渲染库。
可微分渲染是计算机图形学的热门领域,CVPR 2020的最佳论文奖,就颁给了可微分渲染的相关工作(Jittor已优化开源相关代码)。
当然,作为一个主打计算机图形学的深度学习框架,Jittor的这次更新也“紧随潮流”,加入了最新的Vision Transformer等模块,性能优化上较之PyTorch等框架优秀不少。
一起来看看。
可微分渲染,图像重建利器
渲染究竟是什么?
简单来说,「渲染」通常是指将3D场景,转变为2D图像的过程。
对于人眼来说,这种事情非常容易,因为现实世界中存在大量自然光线,人眼通过光线反射,能看清物体各个方位的深度、形状。
但计算机眼里的3D场景,并没有现实世界中各种各样的光线,这种情况下生成的2D图像不仅没有参数,形状也容易出错。那么,直接在计算机中模拟四面八方来的所有光线?
计算量太大。
所以,为了让计算机生成图像效果更好,即更快、更逼真地生成接近于人眼看到的2D图像,「渲染」目前是图形学重要的研究领域,通常被用于如制作动画电影等方向:
那么,可微分渲染呢?
这有点像是「渲染」的“反向操作”,从2D图像中,生成所需的3D场景信息,包括3D几何、灯光、材质、视角等等。
在用深度学习生成3D场景的过程中,同样需要进行梯度下降优化算法,这其中,就会用到可微分渲染。
目前在图像领域中,可微分渲染仍然是非常新颖的一个方向,但相比之下,此前只有少数深度学习框架设立一个相关的库,便于进行可微分渲染的相关工作。
清华「计图」,自发布实例分割模型库和3D点云模型库后,目前正式发布可微分渲染库,支持obj的加载和保存、三角网格模型渲染。
除此之外,这一可微分渲染库内置2种主流可微渲染器,支持多种材质渲染,相比于PyTorch,速度提升了1.49~13.04倍。
当然,这次「计图」的更新,带来的惊喜不止这些。
视觉玩家福音:训练速度较PyTorch更快
继在NLP领域取得最优性能后,Transformer又进入了图像领域,目前Vision Transformer也已经在视觉分类上取得了最佳效果。
有关Vision Transformer,目前「计图」已经实现了复现,训练速度相比于PyTorch还要快上20%。
同时,这次更新还带上了YOLOv3的加速和复现,训练速度相较于PyTorch提升11%。
原来在Jittor上可以运行的MobileNet,这次的训练和推理速度也得到了全面提升,在不同的图像及batchsize大小上,速度提升从10%~50%不等。
简直是视觉分类玩家的福音。
搞图形学,选哪个深度学习框架?
就传统的几大主流框架而言,相比于Caffe的速度,Tensorflow和PyTorch更侧重于“容易上手”。
这里面相较于Tensorflow,PyTorch搭建在更高层,虽然上手更友好,但训练速度也会因此更慢。
此外,这些深度学习框架并非像「计图」一样,完全针对于图形学领域,因此无论是渲染、还是图形处理等方向,并不能做到每个新领域都及时地跟进。
Caffe作者贾扬清也曾在知乎表示,「计图」更关注计算图优化及JIT(实时)编译。
也就是说,在训练速度、上手友好度方向,「计图」都是要优于PyTorch的,而接口仿PyTorch,也是为了让大家能更快适应新的框架。
那么,这次的可微渲染库,与胡渊鸣的Taichi渲染工具相比怎么样呢?
据开发者之一梁盾介绍,二者整体来说属于不同的领域。
Taichi做的是类似下图的可微物理模拟,而Jittor这次加入的则是可微渲染库。
但就渲染领域来看,Taichi有简单可微分渲染部分,目前主要还是通过物理模拟光线的折射,来完成简单的渲染工作。
也就是说,渲染是完成三维模型和图像之间的变换,而物理模拟,则是完成三维模型和作用力之间的变化。
如果想要系统地上手CV,「计图」会是一个不错的深度学习框架。
作者介绍
「计图」的开发团队,均来自清华大学计算机系图形学实验室,负责人是清华大学计算机系的胡事民教授。
而主要负责开发的,则是来自实验室的博士生们:梁盾、杨国烨、杨国炜、周文洋……
梁盾认为,这次「计图」的升级,兼具创新、前瞻性,而且可微分渲染也是逐渐火热的研究领域。
而针对Vision transformer的训练,速度也比许多国际主流平台要快。
心动的同学,可以更新/安装起「计图」来了~
Jittor项目地址:
https://github.com/Jittor/jittor
参考链接:
https://mp.weixin.qq.com/s/MpxW82hqW7cgPL6IgncwRA
“