启航 2009-05-31 14:52:14

启航

林寅                

在本次国家创新性项目中,我作为立项人,在老师的悉心指导下,把当初自己不成熟的想法逐步完善,并和组员们一起把想法实现出来,看着自己的系统逐步成长,心里有说不出的快乐。一年以来,我在项目中得到的锻炼和收获是良多的。我从一个只会听课做题的学生,到能够看懂别人的论文并付诸实现,再到能够找出别人方法中的不足加以改善,最后学会针对问题研究出自己的解决方案。这些,都是这次国家创新性项目给我带来的。

作为立项人,我首先也是最重要的工作之一就是和导师探讨和完善自己的想法,使得它能够在短短一年时间内可以实现,而又不失创新性。我们每周都要开会讨论项目的进展,并针对遇到的问题重新进行可行性分析。在整个项目的过程中,我的一些方案被反反复复提出又否决,有些方案在实现以后又发现其实有更为简单有效的方案。比如在投影仪斜投情况下在已知斜面上形成立体图像的问题,我一开始利用几何学知识,解了大量的方程并进行近似,才得到了模型到纹理的映射关系,又花了几周时间加以实现,实现出来以后效果也很不错,但后来在考虑另外一个成像问题的时候才发现,其实针对投影矩阵作视角变换就可以利用显卡本身解决这个问题,根本不要手动计算映射关系。再比如跟踪部分,最初花费半年多实现的基于自然特征的跟踪实现出来以后发现稳定性不足,需要更换更好的跟踪方法,这时候我就需要和导师以及组员们展开积极讨论,尽可能使原来的功夫不要白费,但又使系统最终能够得以稳定的运行,这些,都是我日常工作中重要的环节。

在系统实现上,我具体负责了跟踪部分的角点检测,光流场,仿射变换,模板匹配,子像素精化,光束法平差等多个环节,以及投影纹理及立体显示部分的大部分算法,并负责系统整合。其中,角点检测采用了Fast Corners,网上有现成的代码,只需要进行适当的改写即可。光流场采用了OpenCV中自带的Lucas-Kanade算法,对初始化阶段的特征角点进行平滑的跟踪,主要工作是通过大量的实验调节诸多参数,使得它给我们的系统带来最好的效果。仿射变换的代码则是我从头实现的,这部分涉及的计算机视觉及几何学知识比较多,仅看相关书籍及论文的时间就耗费了将近两个多月。模板匹配采用的是最简单的SSD方法,但因为模板匹配每帧要进行一千多次,很高的运行效率是非常必要的,而我的主要工作,则是对它进行SSE指令集优化,经过测试,进行指令集优化以后,速度可以达到原来的将近三倍,这个结果是非常令人兴奋和满意的。子像素精化用的是Inverse Compositional方法,经过我的改进以后,不仅精度能够达到0.01个像素,而且能够适应光强度的变化。光束法平差则主要用到了网上的一些现成实现,并对其进行改进,具体体现在把迭代部分为每个元素加上权重,并采用了Tukey的分段目标函数来排除噪声点(outlier)的影响。投影纹理和立体显示部分,我反复比较了投影纹理和立用显卡加速来实现立体显示的优缺点,并在老师的指导下制订了一套方案付诸实现,使得立体图像的显示范围覆盖了完整的投影面积,而且和照相机跟踪的坐标系以及游戏的世界坐标系可以很好的统一在一起,不需要额外的坐标转换,并且减少了不必要的计算量,节省了运行时开销,提高了程序的效率。

参加这次国家创新性项目,对我的大学生活乃至一生都具有非常的意义。这是我第一次参加科研工作,了解到研究的过程与方法,体验研究的生活和乐趣。刚刚参加项目的时候,我对研究过程的很多东西都很不适应,甚至觉得无法理解。比如老师提供的指导相对平时作业来说有限的多,往往只是提出方向并给出一些参考论文,并不是像平时作业一样,一步一步如何做都说明得一清二楚。研究的不确定性也和平时作业中的项目有着巨大的区别,无论是自己还是老师建议的方案,能不能实现,实现后效果能否满足需要都是一个未知数,而并不是像平时作业,只要努力按照指示做下去,就一定可以得出正确的结果。然而,这也正是研究最吸引我的地方。通过不断地试验和比较,当发现自己的多个方案中的一个经过无数遍改进后终于达到预期效果时,那种成就感是令人欣喜若狂的。

研究过程中的另一大特点就是充满了失败和挫折。比如在研究一个角点筛选的小算法中,我尝试了五种方案,有的方案甚至花费了将近两周的时间,但结果都无一例外地达不到实时性要求,这使我甚至怀疑这个问题在当前计算机硬件的发展情况下根本无解,一度陷入了沮丧之中。这个问题几乎占据了我的大脑,做其他事情时候都隐隐觉得有一件大事未了,躺在床上,就静静分析原先的方案为什么行不通,有没有可能的解决办法。终于,一个月后,在研究另一个问题的过程中,我眼前一亮,想出了一个新的方案,而这个方法最终被证明是行之有效的。那种屡次失败后成功的喜悦,是用言语无法表达的。正是一次又一次的失败,使成功变得更加难能可贵。在未知中探索,在失败中成长,我正是被研究过程的这些乐趣所深深吸引,打算继续深造以延续我的研究生涯。从这点意义上来说,这次项目对我未来人生道路的选择起了至关重要的作用。

这次研究对我学术进步的影响也是巨大的,在这里,我第一次接触到计算机视觉这个前沿而又有趣的课题,并在这个领域阅读了大量的书籍和学术论文,为我研究生阶段在这个领域继续发展做好了最有力的准备,我能够更早地在这个领域起步,心里感到庆幸。在数学方面,正是这个项目是我对立体几何,线性代数和偏微分方程等知识有了更深入的了解,实践给我带来对这些知识的印象,理解和熟练程度,永比课本所带来的要深得多,强得多。面对团队管理和进度跟踪,我逐渐提高了交流沟通和制定计划的能力,并学会用软件进行版本控制和进度安排。

另外,在研究的过程中,我结交了许多好朋友,读了许多好书。充足的资金,使我能够有机会购买或复印图书管理不外借的经典原版图书,提高了学术知识和英语阅读能力。是我有机会和国外的论文作者通信交流,他们的一些意见对我学术上的进步起到了很大的推动作用。和组员之间,我们有机会每周在一起探讨问题,在遇到困难的时候互相鼓励,在解决问题以后互相欢呼庆祝,这些都大大增进了我们之间的友谊和团队精神,能够团结和默契地分工合作,为了一个最终目标共同努力。

我的研究之旅才刚刚启航,我将继续以坚定的决心和顽强的耐力,凭借着我的智慧和勤劳,勇敢地前行。而国家创新性项目,也将永远成为这漫漫旅途中难忘的第一站。

 

林寅,上海交通大学软件学院2005软件工程专业,第一期“国家大学生创新性实验计划”——基于投影增强现实的新型游戏”项目立项人;指导教师:杨旭波副教授,上海交通大学软件学院


 
 
 
@2008 上海交通大学教务处     网络信息中心技术支持