那么这种方法的缺点又是什么呢?它的缺点就是如何找到数据的本征特征,这是需要研究的一个很困难的问题。在过去的几年中,我们也做了很多探索和研究,慢慢地我们发现利用机器学习技术可能是一个很好的方法。 接下来,通过我们在传统计算机图形学里面的三个大领域中所做的一些研究工作来展示如何通过数据驱动的方法来处理图形学问题的,包括:几何造型、真实感绘制和计算机动画。 首先是,几何造型和几何处理。这里展示的一个工作是几何去噪或者网格去噪,这个目标很简单,比如,用一台三维扫描仪把一个真实的大卫雕像扫描到计算机里。但由于扫描仪精度没有很高或者光照环境没有很好,直播,所以扫描出来会发现雕像的表面并不光滑,有很多的噪声。如果想把这些噪声去除,一般情况下会做一个过滤,但过滤之后不仅噪声去除了,而且雕像的几何特征也丢掉了。 我们希望在去除噪声的同时保留原本的几何特征,这是我们的目标。而在算法上,我们希望算法越自动越好,而且最好足够快,这样用户按一个按钮就做完了。但我们却发现这个问题十分困难,为什么? 第一个难题是问题本身是歧义的。从单个模型本身,恢复两个未知量:噪声和没有噪声的模型。第二个难题是,不同物体的几何特点也各不相同、千奇百怪,所以很难给它一个定义或者约束。最难的一个问题是,不同的扫描设备、不同的光照条件所产生的噪声很难用一个简单的噪声模型去描述。 针对这个问题目前有成百篇的论文在研究。做了这么久,大家还在做是为什么呢?因为当人们把算法用到实际数据中时,发现它的效果并不好,因为大家基于的很多假设和约束只适合一些特定的情况。而我们的想法是拟合一个映射关系。假设我们能获得一些扫描过的带噪声的数据,然后用一个更高精度的扫描仪去扫描一个更好的模型,通过手工做成它的 ground truth 数据,我们希望从这些成对的数据中直接学习从噪声模型到没有噪声的模型的一个映射。这样我们不需要对噪声和模型做太多的约束和假设。 在这个方法中,我们发现如果直接学习一个映射关系可能很难,但用一个在机器学习中很常见的级联学习的办法,先学一个映射关系,这个映射关系可能不能完全去除噪声,那么我们先把这个模型重构出来,可它还是有点噪声。我们再学习这个带有噪声的模型和最终模型之间的第二个映射关系——G2’,G2’得到以后,我们再学习G3’,通过级联的方式逐渐迈向真实的模型来获得最终的多步映射关系。 有了这个关系之后,当给定一个新的带有噪声的三维模型时,我们只要把学习到的映射关系直接进行使用就可以自动获得一个已经去噪的结果。这个方法用在实际的数据测试中,大家可以看到,左边是一个 Kinnect 捕捉到的深度数据,最右边是它的 ground truth,我们的方法是倒数第二个,一起比较是看不出是什么噪声的。
我们还做了更多的测试,发现我们的方法确实在大量的我们测试过的所有数据上,无一例外地好于现有的所有方法。更好的一件事情是,当我们把我们方法的速度和已有的方法进行比较时,会发现我们方法的速度远远快于其他的。 这里面关键的是我们完全从一个全新的角度去看待这个问题,于是才获得了比以前的方法更好的一个效果。 再来看看我们如何把数据驱动的方法用于真实感绘制的。真实感绘制可以说是计算机图形学中一个最核心的问题。这个领域就是给定一个三维场景,假设知道场景里各物体的材质从而产生一个像照片一样真实的、栩栩如生的绘制结果。 在这里面最大的问题就是全局光照(global illumination),我们需要模拟光线在场景中反射、弹射多次造成的结果。 举个例子,在今天这个会场,我们只有有限的光源,大家看到之所以很亮,是因为光线从光源打出来之后,在地板和墙面上弹射了很多次,把周围所有的地方都照亮了,所以大家才能看到这样的效果。 (责任编辑:本港台直播) |