首先谈谈我观察到的一些现象。很多年轻的学生,现在讨论问题的时候都用这样的谈话:我发现用FC6层的特征,比用FC7层的特征,在某个图像数据集上比现在最好的算法提高了1.5%的识别精度,老师我们可以写论文了(如果大家不能理解这句话,FC6和FC7是表示AlexNet的两个中间输出层)。我想请问,你在这个过程中发现了什么样的普适的新的知识吗,又或者,在不是普适的情况下,你在什么限定条件下一定能够看到这样的识别精度提高了? 不错,提高识别精度是一个很好的目标,但要注意,计算机视觉的研究是要解决识别的问题,不是解某一个图像数据集。这些图像数据集提供了很好的验证你的假设和方法的手段,但如果你没有遵循科学的方法和和手段去设计你的算法和实验,你也不可能得到一个科学的结论,从而也不能产生新的知识,更不用谈对这个领域做出贡献。朱松纯老师在他的评论中提到,很多学生认为,计算机视觉现在就是调深度神经网络的参数,也就是说的这个问题。 所以,具体到对于刚开始从事计算机视觉研究的学生来讲,要做好这方面的研究,我觉得第一步还是要系统学习一下计算机视觉的课程,全面了解一下计算机视觉这个领域的来龙去脉、这个领域都有哪些基本的问题、哪些问题已经解得比较成熟而哪些问题还在初级阶段……这里,推荐所有的学生学习两本经典教材《Computer Vision: A Modern Approach》和《Computer Vision: Algorithms and Applications》,可以先读完第一本再读第二本。
只有对这个领域有了一个初步的全面了解,你才能够找到自己感兴趣的那个问题。在众多的问题当中,你是希望做三维重建,还是做图像识别、物体跟踪,又或是做计算摄影呢?做研究其实不是一个完全享乐的的过程,你必须要有足够的兴趣来保证你能持续地走下去,这在你感觉自己当前研究的思路走不下去的时候尤其具有重要意义。当你确定你感兴趣的问题,你应该首先全面调研一下这个问题的来龙去脉。这就意味着你不能只读过去五年的论文。你可以从过去一年的论文开始,慢慢追溯回到过去很久的相关的论文。有些时候,你会惊讶地发现前人想问题的深度。研究的英文单词是Research,拆开是Re-Search,用中文直译就是重新搜索和发现,而不是直接发现,其实就是说你要首先对这个问题做追本溯源。朱松纯老师提到的我们很多学生现在不读五年以前的论文,说的也是这个道理。 当你做好了这些,你必须钻进计算视觉的一个小的领域。人的精力是有限的,这就意味着你不可能把很多事情同时做好,所以在你选好方向之后,就要把你的精力集中在你感兴趣的一个问题上, 努力成为这个方面的专家。研究是一项长跑,很多时候,你在一个方向上比别人坚持久一点, 你就有机会超越他而成为某个方面的专家。 最后,我也来谈谈深度学习对计算机视觉的影响。在这里,我对马里兰大学Rama Chellapa教授在Tom Huang教授80岁生日论坛上表达的观点非常认可,他认为,深度学习网络就像一个Pasta Machine:你把该放的东西放进去,它能给你产生好吃的Pasta。同时它也是一个Equalizer:无论你在计算机视觉领域有40年的经验还是0年的经验,只要你会用Caffee,你在一些问题,比方说图像识别上,都能产生差不多的结果。他开玩笑说这有点伤自尊 (It hurts my ego!),但我们还是应该把它作为一个好的工具拥抱它。我想,他的言外之意,是我们的研究应该做得更深,要去理解这个工具为什么能够工作得比较好,从而产生新的知识去指导将来的研究和应用。 我认为,对于年轻的学生来讲,从深度学习的方法开始学习没有什么问题,但必须要进一步去了解一下其他的数学和算法工具,像统计贝叶斯的方法、优化的方法、信号处理的方法等等等的。计算机视觉的问题,其本质是不适定的反问题,解这一类问题需要多种方法的结合。这里面有深度学习解得比较好的问题,像图像识别,也有深度学习解不了的问题,像三维重建和识别。 任何研究领域包括计算机视觉的研究,对处在研究初期的学生而言, 更重要的是掌握足够的数学工具,培养一种正式思维(Formal Thinking)的能力,这样,遇到实际的问题就能以一种理论上正确的思路去解决这个问题。 (责任编辑:本港台直播) |