CAD答辩周 -- 与自己相关的几场
这一周师兄师姐都在答辩,挑了几场和自己相关的去听了一下。
1. 题目:一种高效鲁棒的多视图三维重建算法 王开盛(wangkaisheng@zjucadcg.cn)
这个师兄做的事情是通过lightStage的一圈相机,对静态的人在同一时刻拍下一组照片,根据这组照片三维重建出人体模型,卖点是高效和鲁棒。用到的方法是一些比较主流的方法,并在一些细节的地方做了自己的改进。整个流程是:
-
深度恢复:
求解包围盒,每个相机位置已知,那么这一圈相机的中心位置好求的。然后以相机之间的最远距离*10作为包围盒的边长,得到一个初略的空间范围,物体必然处于这个范围中,体素化这个物体空间。然后在这个粗糙的空间中,把每个体素从三维投影到二维的图像平面,当该体素出现在某个图像平面的时候,就认为属于物体空间。这样就得到一个相对比较精细的物体包围盒。
每帧基准图像选取一些物理相邻帧作为参考图像,要对基准图像恢复出一幅深度图。对基准图像的每个像素,从对应的相机的光心出发,经过这个像素得到一条射线,这个射线与包围盒求交,得到一个线段。然后在这个线段上采样,得到一些三维点。对这个线段上的每个采样点投影到参考图像上,算两幅图像上的一个NCC值,采用best-winner的策略得到像素的三维点的位置,从而恢复出深度。
- 深度融合:图分割算法。
- 曲面生成:Marching Cube提取表面网格,然后绘制。
我对三维重建的理解也现在仅限于深度恢复这里,后续的融合和表面网格提取也没有深入到具体的步骤。对这个工作的理解比较全的就是第一步的工作,在整个三维重建的过程中,深度恢复这一步的也是最关键的。毕竟得到深度我们离得到三维位置就只有简单的一步之遥了。要提高整个重建算法的精度也是在于这里,这个师兄想了一些方法来求精这个恢复的深度,目前也有很多文章是这方面的。然后,我通过这个答辩得到的一些信息,加上下来看了他的论文:在求解NCC的时候,在采样位置用了小平面(patch)来逼近物体表面(这里不懂?为什么要用小平面就会比较正确?)。深度融合的时候,有采用“投票”的方法,这里也没有很明白,大致理解就是,每个体素构建网络流结构,然后利用先前计算出来的NCC值作为权重,这个权重就是该体素的一个投票结果,告诉程序我这个体素在物体外面还是物体外面,但是网络流构建过程,权值的分配这些细节还不懂。
那么接下去,我们得到了每个体素的投票结果,属于物体内部就相当于1,不属于这个物体就相当于0,提取物体表面网格,就是分割这个体素空间中的0和1,就是Marching cube算法。这种方法和poisson的区别?
2. 题目:基于立体视觉的高精度三维人脸重建 梁伯均
这个师兄的工作其实和我的工作更相关,用到就是双目立体视觉,整个工作是follow 2010 Beeler的那篇。前面都好理解的,但是后面提到了种子点等概念,当然种子点很有可能是在实现时候的一些策略,但是我并不清楚这些概念整个的一个应用,好好看论文了再来补全。
为什么在这里用到了双目的方法? 这是因为双目视觉利用的是,两幅图像的颜色信息进行一个匹配,那么要求两幅图像的纹理信息够丰富,而对于上一篇文章的实验环境,这是不现实的,相机摆放的位置比较远,无法有详细的纹理信息。
那么Beeler那篇的微观加强可不可以用在上一步的建模过程上?
3. 题目:图像和视频序列的颜色校正研究 胡晓龙
颜色校正就是希望两张图片上同一个景物点具有相同的颜色信息。整个答辩听下来,我觉得可能颜色出现不一样的实际原因在于不同的拍摄环境,反应在真实图片中,是由于相机的曝光时间和白平衡。
先看相机模型,相机是通过曝光收集实际的颜色信息,然后在感光元件上得到能量X,然后通过相机响应函数 f(brightness transfer function?)得到图像中的颜色信息B。然后这个函数f是有关于实际点信息和曝光时间,所以我们就是求解这个相机响应函数。来对颜色校正做指导。每一台相机有一个不同的相机响应函数。
这几个答辩都好听的,尤其是第一个,感觉大概打通了对主流方法的理解。然后后续工作就是实现,这样也能够把那个库做出来。后续的自己的研究工作就可以展开了。
然后写一下自己的感想,答辩除了答辩者自己的讲解,还有很大一部分是老师们的提问,往往老师会挑对基本概念的理解,这个工作的意义,解决了哪些问题,和当前其他方法的对比来提问,这些也是平时研究要注意的点了。