关于文献阅读和寻找新的科研题目

欢迎转载。本文将随时根据新的经验教训进行更新,因此转载时请附带原始链接: http://mmcheng.net/paperreading/ ‎

自从2007年一月去我即将读研的清华大学计算机图形学组做本科毕业设计开始,我就陷入了一个困扰我许久的问题之中:如何阅读文献,如何寻找科研题目?之后长达三年的时间,我一直被这个问题深深困扰,直至2009年底首次以第二作者发表论文(Sketch2PhotoResizing)才稍微有缓和。在之后的很多年,我也一直试图总结相关的经验教训,期望有一天这些经验教训有一天也可以帮助和我一样饱受困扰的同学,特别是低年级同学。近期我时常收到类似的求助邮件,因此今天决定将这些经验和教训写出来,并尽量提供详细的link,指向那些易读易扩展的工作,方便大家学习论文和相关源代码。

1. 机遇与挑战

基于与挑战总是并存的。这一点很多时候被作为政治口号说的太多,以至于我们很多时候都对此感觉有些麻木,甚至在重要问题上容易忘记这一点。就阅读论文和寻找新的题目而言,几乎在任何时刻,如果我们去阅读之前的论文,都会觉得几乎每个学科都发展到一定程度(有无数的重要工作以至于想通读一遍都很困难),容易做的都被人做光了,剩下了一堆难啃的硬骨头。但是当我们从某个时间点往后看,又总是有太多的工作让人觉得异常兴奋,振奋之余又陷入了那个问题,貌似仅剩的容易工作又被人做了。只恨自己比别人晚出生几年。要是真的能够早生几年,我们就能够做出哪些工作吗?我想如果抱着这种心态,这种假设大概只会一直回退到远古时期,回退到那个大家都在为食物而拼命的年代。

与其抱怨已有工作浩如烟海,无从入手,感叹我们怎么会不幸的出生在一个“科技发展的后喷发时代” ,不如认真的换个更加客观的角度重新思考问题。假如我们是一个计算机处理器设计行业的新从业者,当我们刚进入这个行业的顶级公司,看到无数的已有工作和成绩,我们很可能也会发出类似上述情况的感慨。但是,身为一个外行,和无数的外行一样,我非常有信心 ,计算机的处理能力在未来很多很多年还会继续快速增长,比这个世界上几乎所有其他行业都要快的速度继续增长。所有的局外人都明白其中所蕴含的机遇。对于我们所从事的领域,很多时候我们的迷茫,我们的“不识庐山真面目”,都只源于我们“身在庐山中”。

任何的科学创新,都是基于已有工作基础之上,不存在空中楼阁。激发创新工作的要素很多,新的数学理论,新的算法工具 ,新的软件分析平台,新的设备,…。其中任何一种新的东西,都有可能激发一个伟大的工作。我们不用担心可做的事情被做完了,我们所能够访问到的新的理论、工具、平台、设备,比历史上任何时间点都要多很多。我们应当清楚的认识到,机会不是即将耗尽的资源,而是会随着时间的增长,变得越来越多。就像你站在过去的每个时间点上看后来的CPU计算能力一样,那将是持续的超乎任何人想想的增长。

在从事这些领域的过程中,我也曾经经历了迷茫、失望、探索、发现、振奋的各个阶段。虽然迷茫和失望在时间跨度上占了我短短几年科研经历的明显多数,但现在更多的是信心和对未来的憧憬。 当我们摆脱之前的悲观情绪之后,一个现实的问题是,如何寻找这些机遇,如何从海量的文献中找出适合我们的科研题目?关于这一点,我想从自己比较熟悉的几个领域出发 ,用具体的实例来总结我的一些经验和教训。

下面主要通过时间顺序,分析一些领域的一些代表性工作是如何一个接一个涌现出来的,是什么基础启发了这些工作?这些想法是如何转化为实际的成果。对于新的科研工作者,特别是一二年级的学生,不妨假设我们也是曾经的“当事人”。如果能够顺着这几条脉络走下去,在每个论文出来之后,想一想如果我是当时从事这些工作的人,我会从之前的工作中得到什么启发 ?我会如何开展下一步研究?对于低年级的新手,开始的时候这种锻炼会非常辛苦。最初的“启发”很可能是“又一个软柿子被人捏过了”,“貌似能做的都已经被做了”,“貌似只剩难啃的硬骨头了”,“这家伙从事科研的时间点怎么这么幸运”。我们可以想想如果是自己,站在当时那个位置,会做什么后续工作。当确实充分的思考完一个工作之后,我们可以看一看下一个同领域的重要工作。如果你发现自己很多时候可以“预测”这些发展了,那么非常恭喜你,这篇小总结可能对你没太大用处了。如果我们又一次陷入那个觉得只恨又一个容易做的工作被别人做掉了的怪圈,那么还是再认真锻炼,仔细琢磨这些新的工作是怎么一个接一个在在相似的topic上层出不穷的。

注:以下主要分析一些引用数特别高的论文。每一个引用通常意味着有人受到这篇论文的启发,做了一些新的工作,并且发表了相关的论文。在无数的论文中,阅读这种论文通常“性价比”更高一些。另外看法纯属个人意见,可能有所疏漏,欢迎批评指正(可在帖子下面留言)。

2. 系列工作分析之Saliency Detection

1998 PAMI: A model of saliency-based visual attention for rapid scene analysis (Matlab Code, 5000+ citations)

这篇论文虽然只是个short paper,但是在这个领域有着不可磨灭的绝对重要性。其最大的贡献在于将Visual attention的问题用计算模型表达出来,并展示出来这个问题可以在一定程度上得到有意义的结果。其中提到的Center-Surround difference在后续的很多工作中都被以不同的形式表现出来。除了生成saliency map (后续的很多方法只生成saliency map),这篇文章也探讨了注视点的转移机制。总之,说这篇论文是saliency Detection computation的开山之作也不为过,此文对后续工作有着深刻的影响。体现了最牛的一种创新境界“提出新问题”。

建议在继续阅读别的论文之前,先仔细读一下这篇只有区区6页的短文,想想还有什么可做的吗? 我第一次读完这篇论文之后,第一感觉是:i) 这篇论文对该考虑的问题都考虑到了,应该没有太多可以接着做的了, ii) 这么简单的东西怎么就没轮到我去发现,那个时候的人太幸福了,这么简单的想法也可以发IEEE TPAMI。当然,这些初始的想法是像我一样小菜鸟最常见的想法。但是真的回到1998年,那时候我还在读初中,我们在农村饭都吃不饱(现在还清楚的记得当年由于营养不良,我的体重只有24kg),哪有现在这么方便,Google Scholar搜索一下什么该有的条件都有了。即使是在美国,当年也只有这一个人把这个方向做的这么细致,我相当年的美国也有很多博士生,但是绝大部分人没有像这样有影响力的工作。

再继续往下读之前,不妨使劲去想到底有多少种可能可以扩展。我想,在没有阅读后续论文的条件下,常人能想到的扩展不会超过两三种,可谓少的可怜。但是,要是你点击一下Google Scholar的链接,那5000+的citation中,有一半以上都是接着做saliency detection的!也就是说有2000+种可能可以接着做,并且成功的发表了论文,其中不乏优秀论文。

再往后读这个系列中的别的论文,你会发现,idea越做越多,而非越做越少。等读到最后一个的时候,你通常会发现自己轻易就能想出几十种可能发表新论文的想法。

2007 CVPR: Saliency detection: A spectral residual approach, (Matlab Code, 1000+ citations)

在1998年PAMI的论文发表之后到这篇论文之前其实有很多做saliency detection的文章。这里不一一介绍了,因为太多了,以至于很多我自己也没看。我直接跳到这篇很有“性价比”的论文。之所以这篇论文影响力很大,一个重要的原因是简单,出奇的简单!这篇论文一共5行matlab代码,比一般论文abstract中的字符还少,作者直接贴到论文中了。具体方法我不分析了,自己看论文吧,5行代码的方法,不用花太多时间就能看完。

特别简单的方法通常意味着有无数种方案可以改进。最直接最容易想到的创新莫过于“组合创新”。有兴趣看这些改进的读者可以通过Google Scholar查看引用这个论文的其它论文。还是继续上面的风格,我我每次都跳到下一个很有“性价比”的工作(也就是简单可扩展的工作)。

2007 CVPR: Learning to detect a salient object, (Dataset, 680+ citations)

2009 CVPR: Frequency-tuned salient region detection, (C++ code, 700+ citations)

一篇2009年的工作,能在短时间内,受到如此关注,实数罕见。该文同样具有几乎所有高引用论文的重要特征:简单!比上面的CVPR 2007的那个还简单。你可以写一个2行的matlab代码就搞定。代码字符数可以比很多论文的题目字符数还少。

这种论文容易扩展的特点是毋庸置疑的。如果能发表在高水平的会议期刊上,这种论文会有很大的影响力。问题在于,如果是我们当年想到了这个方法,怎么sell这个方法,让他能够被大家所认可。看了方法的人都会感叹,这样也行?!!

这篇论文之所以被大家认可,特别是被CVPR的review认可,很大原因在于作者看到了一个机遇“The true usefulness of a saliency map is determined by the application”。之前的很多saliency detection方法都在follow 98年pami那篇,试图去预测注视点。恕我愚昧,我到现在为止,我也不是很明白这些注视点是怎么在实际应用中使用(在我所熟悉的领域salient object region的应用要广泛的多,例如这张图总结多种实际应用中怎么可靠的利用显著性物体检测结果。Fixation的应用可能包含recognition,但是我了解的不多)。Saliency的机制很重要,但是很多的应用需要知道整个saliency物体的区域(例如图像中一匹马对应的所有像素),而不是这个物体上的若干个点(例如马的眼睛)。这篇文章之后,很多工作的评价标准就从传统的对注视点预测的评价,转移到对物体区域二值图的预测上了。从某种意义上讲,这篇文章对Saliency detection的问题做了重新的定义,让问题定义更加回归实际应用。

这篇文章的方法之所以能在一个当时最大的数据集(1000个image的binary segmentation)上做到比其它方法好的结果,很大的原因在于,别的方法不是针对这种评价体系设计的。在新的评价体系下,用图像中每个像素颜色值,和图像的平均颜色值,在三维彩色空间中的距离,作为saliency value,就能得到比之前方法“更好”的结果。这个工作的最大特点是从新的角度提出问题,怎么formulate都是次要的,不用太纠结于此(后来我们也利用关键词搜索得到了很多图像,并标注了2个更大数量级的数据库)。后来无数种方法都在他们的数据库上取得了更好的结果。

2010 CVPR: Context-aware saliency detection, (Matlab code, 400+ citations)

虽然“组合创新”有时候容易被认为是minor improvement,但是如果论文写得好,实验做得充分,也可以做出具有影响力的工作。而且貌似大部分论文都是组合创新。这篇CVPR 2010的工作就是Saliency detection中“组合创新”的一个典型。听到组合创新这个词,大家或许就能对这个paper的整体结构有个猜测。其实就是把face detetion, pixel level saliency map,region level saliency map简单组合起来。

2011 CVPR: Global Contrast based Salient Region Detection, (C++ code, 400+ citations)

可以说1998年的PAMI和2007年的CVPR是我2007刚开始接触科研时就看过的paper。当时看了只有佩服和震撼,感觉能做的都做了,貌似没我什么机会。上面提到,我是在图形学组读博的,主要关注的是CV方法的应用。2009年春季学期的时候,我们组加上外面访问的学生,一共有10个project,后来这些project中了一篇ACM TOG和6篇Pacific Graphics(所有论文收录图形学中影响因子第三高的期刊CGF,第一是ACM TOG,第二是IEEE TVCG)。这些应用经验,让我心里比较清楚那种saliency map是我更需要的。但是根深蒂固的偏见(看了之前fixation point prediction系列paper之后觉得saliency map就该长的像那些paper中那样),让我即使在拥有如此多应用经验的情况下,依然没能及时的意识到,要想在实际应用中发挥更大的作用,这个问题的定义方法和evaluate方法应该改!

2010年6月份的时候,一个偶然的机会,我看到了CVPR 2009的论文。现在还记得是某一天中午十一点多的时候看到的,论文粗看了一下,就到了吃饭点,和同学去食堂吃饭了。整个吃饭过程各种不淡定,心里那叫一个激动呀。因为我知道更多的saliency detection应用确实需要这样的问题定义和评价标准。而作者在论文中用到的方法,其实只是一个适用这种应用需求的最最简单的方法。这种简单的方法太容易被超越了!激动过后,赶紧吃完午饭,回到实验室验证我吃饭时心里想到的几个可能的改进。那天下午,我花了不到1个小时的时间,就得到了比CVPR 2009论文中方法明显好的结果(就是我CVPR11年论文中的HC方法)。不久之后,得到了一些老师和同学的反馈,进而提出了论文中的RC方法,和SaliencyCut方法(值得注意的是,虽然很多后续方法号称得到了更好的Saliency map,但是我一直没看到更好的根据这些Saliency map得到的segmentation结果,可能跟我们坚持不在Journal版本录用之前放出SaliencyCut部分代码有关系吧)。

2012 CVPR: Saliency Filters: Contrast Based Filtering for Salient Region Detection, (C++ code, 90+ citations)

2012 ECCV: Salient object detection: A benchmark, (50+ citations)

2013 CVPR: Salient object detection: A discriminative regional feature integration approach, (Matlab code)

2013 CVPR: Hierarchical Saliency Detection, (Executable software)

2013 ICCV: Efficient Salient Region Detection with Soft Image Abstraction (C++ code)

Salient Object Detection: A survey. [pdf]

 

 (今天写累了,先把准备谈的工作列表弄出来,后面有空的时候接着写这些工作是怎么一步步相互启发的)

3. 系列工作分析之Content Aware Image Resizing

2007 SIGGRAPH: Seam carving for content-aware image resizing, (800+ citations)

2008 SIGGRAPH: Improved seam carving for video retargeting, (400+ citations)

2008 SIGGRAPH Asia: Optimized scale-and-stretch for image resizing, (300+ citations)

2008 Pacific Graphics: Shrinkability Maps for Content‐Aware Video Resizing (70+ citations)

2009 Pacific Graphics: A Shape‐Preserving Approach to Image Resizing (C++ code, 90+ citations)

2013 SIGGRAPH: Rectangling Panoramic Images via Warping

2013 ICCV: Content-Aware Rotation

 

4. 系列工作分析之Object Level Image Editing

2007 SIGGRAPH: Photo Clip Art, (150+ citations)

2009 SIGGRAPH Asia: Sketch2Photo: internet image montage, (180+ citations)

2012 SIGGRAPH: Interactive images: cuboid proxies for smart image manipulation, (20+ citations)

2014 ACM TOG: ImageSpirit: Verbal Guided Image Parsing, (Project page)

5. 系列工作分析之Objectness proposals

2010 CVPR: What is an object? (Matlab code, 200+ citations), journal version published in IEEE TPAMI 2012

2010 ECCV: Category Independent Object Proposals (100+ citations), journal version published in IEEE TPAMI 2014.

2011 CVPR: Proposal Generation for Object Detection using Cascaded Ranking SVMs (10+ citations)

2011 ICCV: Segmentation as selective search for object recognition, (C++ code, 60+ citations), journal version published in IJCV 2013.

2014 CVPR(oral):  BING: Binarized Normed Gradients for Objectness Estimation at 300fps, (C++ code)

 

6. 一些显而易见的趋势和机遇

Objectness,

Learning with 3D information

7. 相关链接

我相信每个领域都有这样的系列工作。那些对这个领域特别熟悉的人如果能花点时间总结一下并分享出来对刚入门的学生会非常有帮助。如果您有相关的总结,请发一个链接给我,和大家一起分享。

 

 

Locations of visitors to this page

说点什么

23 Comments on "关于文献阅读和寻找新的科研题目"

Notify of
avatar
Yang Jun
Guest
Yang Jun

写得很好,期待您对后面系列工作的分析。谢谢!

wpDiscuz