计算机视觉方向如何阅读一篇论文,以《3D Convolutional Neural Networks for Human Action Recognition》为例

写在前面

首先自己想说的是自己在读研期间读论文遇到了很多障碍,有时候甚至怀疑自己是不适合读计算机,比如读论文的时候经常出现下面这些问题:
(1)一读论文就眉毛胡子一把抓,没有重点;
(2)读论文非常耗费时间,感觉自己读的好辛苦,有时候一个上午过去了,才读了个introduction,尤其是早期学习SLAM的时候,那会儿我连cin cout都不知道什么,更没有基础的数字图像处理的知识,上来就看SLAM那些酷炫的《多视图几何》,《李群李代数》什么的,搞得自己晕晕乎乎;
(3)读论文感觉就是读论文而已,总感觉读完没有什么实质的收获,读完就过去了,现在想来其实就是信息 != 知识
(4)所读的文章对自己的研究方向感觉帮助不大,不知道怎么用进去‘

等等,自己在这一方面其实一直蛮挣扎的。

针对上面这些问题,自己无意中看到了B站up主软绵绵的小熊猫的一个视频,真的感觉这个方法很酸爽,读起来也很过瘾,所以自己借《3D Convolutional Neural Networks for Human Action Recognition》这篇文章来第一次练手进行。希望由此可以简历属于自己的读论文方法,同时也真正建立自己的知识体系。

这里以《3D Convolutional Neural Networks for Human Action Recognition》为例进行,方便培养自己的论文阅读习惯,以后的论文都需要这样读

〇、Make decision:

  • 论文标题:3D Convolutional Neural Networks for Human Action Recognition
    好了,通过标题我知道了这个是关于3D CNN的方法,并且是用在人体行为识别任务上的。

  • 作者:Shuiwang Ji
    好了,自己也没听过,来自于Arizona州立大学

  • 用一句话概括:
    Original method assumed the action recognition task take places in uncontrolled environment and used handcraft features to deal with it(Which means is complex).
    So here comes the CNN based method, while traditional 2D CNN will regard the Video input as independent images. So in this paper, 3D CNN was proposed which can take both temporal and spatial information into account.

  • 做出决定:
    决定结果:精读
    做出该决定的日期:4月5日

一、 精读环节

Step1: 提出读过摘要后的问题

自己虽然算是比较熟悉行为识别这个领域,也对3DCNN有一些学习经验,但是一直没有读过原论文,读过该篇文章的摘要之后自己还是由一些疑问的

  • 问题
    (1)摘要中提到的uncontrolled environment以及其相对应的controlled environment到底或者说具体指的是什么?
    (2)怎么做到既从空间维度又从时间维度来获取信息的(也就是3D CNN具体是怎么操作的?)
    (3)怎么从输入帧生成了多通道的信息,最后的final feature representation又是如何通过各通道的合并在一起的?

Step2:读Introduction

读这部分的时候也要时刻注意以下三点:
(1)上一部分自己提出的问题有没有在这一部分被放大?
(2)有没有出现新的问题?
(3)前面摘要部分提出的问题有没有得到解答?


好的,下面开始进行Introduction部分的阅读:
首先就是第一个问题:

(1)uncontrollable environment与controlled environment的问题
在introduction中,文章讲了03~07年的一些文章都是基于既定环境的(比如small scale and view- point changes),也就可以理解为controlled environment,那么与之相对应的真实环境就可以被理解为uncontrollable environment。
好了,这个问题解决了,我就在之前的第一个问题上画上删除线,代表这个问题可以不用当有很多问好的小朋友了。
(1)摘要中提到的uncontrolled environment以及其相对应的controlled environment到底或者说具体指的是什么?

现在还剩下的问题
(2)怎么做到既从空间维度又从时间维度来获取信息的(也就是3D CNN具体是怎么操作的?)
(3)怎么从输入帧生成了多通道的信息,最后的final feature representation又是如何通过各通道的合并在一起的?

好了,接着读Introduction,

文章的第二段主要意图是介绍深度学习方法的优势,考虑到这篇文章是在2010年发表的,那么强调这件事还是很有必要打,当然自己对3DCNN的理解或者就上面剩余的两个问题而言到目前为止还没有什么显性的帮助。

文章的第三段可以分为两个部分来看,首先写把CNN应用到视频上的任务也是存在的,但是是用来分析胚胎发育的,而且一般的2D CNN是对时序没有什么贡献和考虑的。第二部部分在第一部分的基础上引出,讲了这篇文章的意义和价值,也就是自己提出的3DCNN可以解决时序关联性的问题。读文章的时候千万不要忘记前面自己的疑问或者问题,通过这一段的阅读,我发现自己在摘要部分提出的后两个问题不但没有解决,反而在此刻疑惑加深了,小小的脑袋有了更大的问号,
(1)那就是3DCNN到底是怎么同步建模时序信息和空间信息的?
(2)关于通道融合的问题,是怎么把时空feature给融合在一起的呢?

带着问题继续阅读。

introduction的最后一段,基本上如管理一般赞扬了自己方法的优越性。比如在数据集上的表现啊什么的,当然这段的最后一句话:
We also observe that the performance differences between 3D CNN and other methods tend to be larger when the number of positive training samples is small.
就是
3DCNN的方法为什么在正例的训练样本小的时候和和其他方法的性能差别会显得特别大?这个问题是不是就是后面大家经常提到的3DCNN不好训练,需要大量的训练数据做支撑。
好了,我们新增了一个问题,现在的问题又回到了3个,如下:

现在还剩下的问题
(1)怎么做到既从空间维度又从时间维度来获取信息的(也就是3D CNN具体是怎么操作的?)
(2)怎么从输入帧生成了多通道的信息,最后的final feature representation又是如何通过各通道
(3)3DCNN的方法为什么在正例的训练样本小的时候和和其他方法的性能差别会显得特别大?的合并在一起的?

现在再做出决定,本篇文章还需要继续读下去吗?
就这篇文章而言,因为我的疑惑还没有解决,所以答案是Yes, 还需要继续读下去,如果遇到别的文章到这里自己的基本疑惑已经解决,那真的其实已经没有必要继续读下去了,浪费时间。

Step3:读Conclusion

也是 分为两个部分来看,第一部分主要还是强调了开头摘要里的那一大段话。
然后最后还有相应的讨论,第二部分还是很有意义的,要是放在2010年我高中的时候的话,那肯定后续工作有很多可以扩展,文章提到了两个有可能的方向:
(1) 是基于Hinton的deep belief networks的进行扩展;
(2) 另一个文中提到了对数据的标注是一件很耗时费力的事情,因此基于非监督网络训练方式会更有意义。

接下来就是精度方法部分了。

Step4: 精读方法部分

(1)读基本知识点(比如每段的开头结尾);
(2)看图看表(全局掌握);
(3)完成上述两个之后,再次做出决定要不要继续读下去。
(4)如果要的话,那么就继续看最最头疼的算法部分(好在这篇文章其实没有什么算法部分)
(5)看到上述过程,再决定要不要复现,复现是非常消耗精力的一件事情,需要慎重做出决定。如果复现之后,再将自己跑出来的结果和论文给出的结果做对比,然后分析原因,通常发水文的思路或者说点子就可以说是这么来的。

Step5: 关于Related Work的整理

这部分关注两个问题
(1)这篇文章是不是在某篇基础上写出来的,如果是的话返回去读读父类论文;
(2)与其他文章有什么关系或者联系,借鉴了什么方法,或者有什么异同;
(3)类似的数据集有没有更新,各自的表现如何

Step6:反思:

个一段时间后,可以返回来,想想这些东西有没有价值,为什么大家都在做这些,贴上去自己的看法,并且时时刻刻要记得将这些信息转变成自己的知识。

好了,以后可以称之为《六步论文法》了,当然这是针对一篇论文的,当有一些列文章的时候,自己更得锻炼好信息的取舍,检索,分类,总结,梳理的能力。加油!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章