├── README.md ├── changelog ├── getting_advanced_in_research.md └── getting_started_in_research.md /README.md: -------------------------------------------------------------------------------- 1 | **News** 2 | 3 | * 本人日常提供在线科研答疑帮助,具体可见此[推文](https://mp.weixin.qq.com/s/dX5mEuHardVTRF-pWzXojA)。提问方式为填写该[问卷](https://docs.qq.com/form/page/DZkVZV1pYTnRMcEpM#/fill)。 4 | * 实验室长期招收科研实习生与访问学生,并提供工业界大厂实习机会。如果对3DV、world model、video generation感兴趣,欢迎填写该[问卷](https://docs.qq.com/form/page/DZkxUcXRteEhnWktK)申请我们实验室。 5 | 6 | # Learning Research 7 | 8 | ## Motivation of this repository 9 | 10 | 1. 面向实验室研究生、本科生的科研教学。希望将科研经验进行书面总结,而不是以口口相传的方式传承,帮助实验室新人学习科研。 11 | 2. 开源这样的科研经验,希望对实验室以外的同学有所帮助。 12 | 3. 开源的形式可以接受大家的审阅,得到大家的建议,从而可以改进科研经验。 13 | 14 | **Postscript:** 15 | 1. 本文档内容可能无法完全反映本人想表达的意思,内容可能也不够完整。如果想深入学习科研,推荐在参考文档的情况下在实践与交流中学习。 16 | 2. 本文档适用于[本人](https://pengsida.net/)在[本实验室](https://xzhou.me/)的科研经历,但不一定适用于其他情况。 17 | 3. 本文档将持续更新(更新可能会在notion文档中进行,因此不一定会反映在commit history中)。文档上次更新时间:2025年4月13日。 18 | 19 | ## 如何努力成为一个Top Ph.D. Student 20 | 21 | 22 | 23 | 核心的能力:个人认为,top Ph.D. student懂得设定一个长远的科研目标。这个科研目标具有重要的科学价值和实际价值 (在实际应用中寻找真正有价值的科学问题)。然后根据这个科研目标细化科研的roadmap。博士期间做的几篇论文都是围绕着解决这个科研目标,并且做的论文能够清晰地展示出自己沿roadmap的科研进展,论文demo要尽量很酷(例子:[博士生的楷模:Sebastian Starke](https://pengsida.notion.site/Sebastian-Starke-1713fe292ff1808eb33be93ea2d79ad9?pvs=4))。 24 | 25 | 在实际做科研过程中,Ph.D. student需要有五方面的能力:寻找重要的科研问题、提出解决方案、做实验、写论文、做presentation。下面是一些具体的建议。 26 | 1. [如何入门3D Vision的科研](./getting_started_in_research.md) 27 | 2. [如何培养自己的科研能力 (寻找科研问题、想idea、做实验、与导师meet)](./getting_advanced_in_research.md) 28 | 3. [如何做research project(博士生应该具有的能力)](https://pengsida.notion.site/research-project-b43507ef26d044bd888ac29f4736e116) 29 | 4. 论文写作 30 | - [如何练习写论文](https://pengsida.notion.site/c13c7e52aab64c1a8e3576b97fcb9851) 31 | - [论文写作模板](https://pengsida.notion.site/c1a22465a0fa4b15a12985223916048e)(实验室内部觉得很好用) 32 | - [高水平科研工作者的写作经验](https://pengsida.notion.site/74aef88b9187439fa4e301704f6eb49a) 33 | 5. [怎么rebuttal](https://pengsida.notion.site/rebuttal-af99ce47103e4917b6a5bd1fd4b3c022) 34 | 6. [怎么做学术报告slides](https://pengsida.notion.site/slides-810f02670691444f8c94cc3d5b76dcbc) 35 | 36 | ### Slides 37 | 38 | 这些建议的部分内容总结在了以下slides和视频中: 39 | 1. 《GAMES003:科研基本素养》版本: 40 | - [《科研流程概述与领域视野建立》slides](https://pengsida.net/games003/GAMES003_files/week_1.pdf) 和 [课程视频](https://www.bilibili.com/video/BV1RitTezEa9?p=1) 41 | - [《技术方案的设计方法》slides](https://pengsida.net/games003/GAMES003_files/week_3.pdf) 和 [课程视频](https://www.bilibili.com/video/BV1RitTezEa9?p=3) 42 | - [《面向实验结果的方案优化》slides](https://pengsida.net/games003/GAMES003_files/week_5.pdf) 和 [课程视频](https://www.bilibili.com/video/BV1RitTezEa9?p=5) 43 | 2. 《learning research》版本:[slides](https://pengsida.net/files/learning_research_v4.pdf) 和 [talk video](https://www.bilibili.com/video/BV1DA4m1V7D3/)。 44 | 45 | 本人与另外三位研究人员([高俊](https://www.cs.toronto.edu/~jungao/)、[彭崧猷](https://pengsongyou.github.io/)、[王倩倩](https://qianqianwang68.github.io/))在GAMES平台上开设了课程:[《GAMES003:图形视觉科研基本素养》](https://pengsida.net/games003/)。 46 | 47 | ## Citation 48 | 49 | 若该文档对您有所帮助,请在页面右上角点个Star⭐支持一下,谢谢! 50 | 51 | 如果转载该文档的内容,请注明出处:[https://github.com/pengsida/learning_research](https://github.com/pengsida/learning_research)。 52 | 53 | ## Acknowledgements 54 | 55 | 本文档内容主要是本人与导师、朋友、实验室同学日常交流讨论的总结。在此非常感谢以下人员对这份文档的启发:[周晓巍老师](https://xzhou.me/)、[孙佳明](https://jiamingsun.ml/)、[沈宇军](https://shenyujun.github.io/)、[帅青](https://chingswy.github.io/)、[沈泽弘](https://zehongs.github.io/)、[郭浩宇](https://github.com/ghy0324)、[贺星毅](https://github.com/hxy-123)、[林浩通](https://haotongl.github.io/)、[徐震](https://github.com/dendenxu)、[张上展](https://zhanghe3z.github.io/)、[皮怀瑾](https://github.com/phj128)。 56 | -------------------------------------------------------------------------------- /changelog: -------------------------------------------------------------------------------- 1 | - 2025年4月13日,更新了文档《Project核心技术问题分析模板》:https://www.notion.so/Project-1753fe292ff180948215cf82cd2b30ae?pvs=4。 2 | - 2025年4月11日,增加文档《从面试问题的角度反思科研的宝贵品质》:https://www.notion.so/1d13fe292ff180de91afcb7f2eb57b69?pvs=4。 3 | - 2025年3月11日,增加文档《Project核心技术问题分析模板》:https://www.notion.so/Project-1753fe292ff180948215cf82cd2b30ae?pvs=4。 4 | - 2025年1月5日,更新了文档《论文写作模板》:https://www.notion.so/pengsida/c1a22465a0fa4b15a12985223916048e。 5 | - 2025年1月4日,增加文档《博士生的楷模:Sebastian Starke》:https://www.notion.so/Sebastian-Starke-1713fe292ff1808eb33be93ea2d79ad9?pvs=4。 6 | - 2024年11月28日,更新了文档《论文写作模板》,增加了Method写作常见问题。 7 | - 2024年10月24日,增加文档《如何改一篇论文的写作》。 8 | - 2024年10月3日,增加文档《如何使用copilot和gpt辅助英语写作》。 9 | - 2024年6月1日,增加文档《有哪些不适合做科研的“学生心态”》。 10 | - 2024年5月3日,在文档《博士生应该具有的能力》中,增加了博士生应该具有的意识。 11 | - 2024年4月14日,更新了文档《如何给算法/代码debug》,增加了《调试九法》的读书笔记。 12 | - 2024年4月2日,增加了文档《如何给代码debug》。 13 | - 2024年3月21日,增加了文档《如何改进一个pipeline》和《如何增加论文的技术贡献》。 14 | - 2024年3月14日,增加了文档《如何培养科研品味》。 15 | - 2024年3月2日,增加了文档《如何高效地讨论》。 16 | - 2024年2月5日,增加了文档《给定Idea,如何设计探索性实验》。 17 | - 2024年2月4日,增加了文档《实验结果分析的经典十问》。 18 | - 2024年1月31日,更新了文档《论文写作模板》,强调了论文美感的重要性。 19 | - 2024年1月18日,更新了文档《论文写作模板》,更新了论文写作步骤和Method写作部分。 20 | - 2024年1月5日,增加了文档《如何高效地从导师、学长、学姐蒸馏知识》。 21 | - 2024年1月4日,更新了slides《learning research》,把改进Idea当作一个梯度优化的过程。 22 | - 2023年12月11日,增加了文档《如何做project page》。 23 | - 2023年11月9日,更新了文档《如何培养想idea的能力》,讨论了Goal-driven research在research产出方面的好处。 24 | - 2023年10月28日,更新了文档《怎么写实验记录》。 25 | - 2023年10月28日,更新了文档《如何培养想idea的能力》。 26 | - 2023年10月19日,更新了文档《怎么做学术报告slides》。 27 | - 2023年10月11日,更新了文档《如何meet》。 28 | - 2023年10月9日,更新了文档《论文写作模板》,增加了如何判断自己的论文段落是否写清楚。 29 | - 2023年10月8日,更新了文档《论文写作模板》,增加了写论文的步骤。 30 | - 2023年9月3日,更新了文档《论文写作模板》中的Method写作部分,加入了pipeline module四元素的概念:module forward process, module design, module discussion和module implementation details。 31 | - 2023年9月2日,更新了文档《论文写作模板》中的《怎么审论文》。 32 | - 2023年9月2日,更新了文档《论文写作模板》中的Method写作部分。 33 | - 2023年8月27日,更新了科研经验分享的slides,描述了如何做一个research project和总结了博⼠⽣应该具有的能⼒。 34 | - 2023年8月15日,在文档《如何找到实验不work的原因》中增加了用于分析实验不work的原因的流程图。 35 | - 2023年8月11日,在文档《如何画方法流程图》中增加了画图素材。 36 | - 2023年8月4日,在文档《博士生应该具有的能力》中,增加了文档《交流讨论对于科研的重要性》和《刚进实验室,怎么和实验室同学变熟》。 37 | - 2023年8月1日,根据同学反馈,梳理了文档《如何找到实验不work的原因》。 38 | - 2023年7月27日,在文档《如何做research project》中增加了文档《什么是goal-driven research》。 39 | - 2023年7月26日,增加了文档《如何做research project》。 40 | - 2023年7月21日,在文档《如何培养想idea的能力》增加了两个高水平科研工作者的科研经验文档:《John Schulman的科研经验》和《Michael Nielsen的科研经验》。 41 | - 2023年7月16日,增加了文档《如何有效地读论文》。 42 | - 2023年7月5日,更新了文档《如何培养想idea的能力》,增加了高水平科研工作者对“寻找重要的科研问题”的看法。 43 | - 2023年6月29日,将该repo的部分内容总结在了一个slides中:https://pengsida.net/files/how_to_do_research.pdf。 44 | - 2023年6月21日,更新了文档《论文写作模板》,增加了一个提升论文影响力的方法,在实验部分下功夫:“当把算法在目标数据上做work以后,尽量在更多新的数据上做实验,看看算法的极限,挖掘算法的潜力。” 45 | - 2023年6月10日,更新了文档《如何培养想idea的能力》,增加了一个对novelty的判断标准:“在新的数据上探索方法的可能性,让大家看到新的实验结论,这是很大的贡献。” 46 | - 2023年6月7日,更新了文档《审稿模板》。 47 | - 2023年6月6日,在文档《如何进行literature review》中加了补充说明。 48 | - 2023年6月2日,增加了文档《如何做学术报告slides》。 49 | - 2023年6月1日,在文档《如何培养想idea的能力》增加了“对method-driven research的个人理解”。 50 | - 2023年5月29日,修改了文档《如何培养想idea的能力》,在其中增加了子文档《如何构建novelty tree和challenge-insight tree(如何进行literature review)》。 51 | - 2023年5月20日,增加了文档《如何找到实验不work的原因》。 52 | -------------------------------------------------------------------------------- /getting_advanced_in_research.md: -------------------------------------------------------------------------------- 1 | # 如何培养自己的科研能力 2 | 3 | 在做一篇论文主要需要有三方面的能力:想idea的能力(寻找重要的科研问题、提出解决方案)、写作能力 (展示能力)、实验能力。 4 | 5 | 1. [如何培养想idea的能力](https://pengsida.notion.site/idea-da6ce171c13846b7a7ffaa7473ffa6ea)。 6 | 2. 通过[读论文](https://pengsida.notion.site/d192db870bc64436ae4a4a590b36772a)、[每周meet的ppt展示](https://pengsida.notion.site/meet-ppt-d697ef578d784c869d4f8314f0d617da)、[论文写作](https://pengsida.notion.site/c1a22465a0fa4b15a12985223916048e) (包括[练习写论文](https://pengsida.notion.site/c13c7e52aab64c1a8e3576b97fcb9851))、论文的展示 (做ppt、做视频、做demo) 锻炼写作能力 (展示能力)。 7 | 3. 通过写代码做实验、[分析实验不work的原因](https://pengsida.notion.site/1aee6e718de6472f834d13da8f4ff097)、[写实验记录](https://pengsida.notion.site/caf34717f4c046c69ee7e14ea953c46f)锻炼实验能力。 8 | 9 | 我用表格的形式列出了博士生应该具有的能力,以及如何通过一个research project锻炼这些能力,记录在了[这个文档](https://pengsida.notion.site/research-project-b43507ef26d044bd888ac29f4736e116)(**推荐阅读**)。这个文档同时讲述了如何进行一个research project。 10 | 11 | 下面是一些高水平科研工作者的科研经验,推荐阅读。 12 | 1. [Bill Freeman的科研经验](https://pengsida.net/files/Bill_Freeman_How_to_do_research.pdf) 13 | 2. [John Schulman的科研经验](https://pengsida.net/files/John_Schulman_How_to_do_research.pdf) 14 | 3. [Michael Nielsen的科研经验](https://pengsida.net/files/Michael_Nielsen_How_to_do_research.pdf) 15 | 4. [Zhihua Zhou的科研经验](https://pengsida.net/files/Zhihua_Zhou_How_to_do_research.pdf) 16 | 5. [Xiangyang Shen的科研经验](https://pengsida.net/files/Xiangyang_Shen_How_to_do_research.png) 17 | 6. [Zhilin Yang的科研经验](https://pengsida.net/files/Zhilin_Yang_How_to_do_research.pdf) 18 | 7. [Wujun Li的《浅谈本科生科研能力培养》](https://pengsida.net/files/Wujun_Li_Undergraduate_learning_research.pdf) 19 | 8. [Xintao Wang的科研编程与实验经验](https://www.yuque.com/xinntao/nm1yxs/uwzezu0qebdxs38t) 20 | 9. [Richard Hamming的科研经验](https://github.com/user-attachments/files/18051592/YouAndYourResearch.pdf) 21 | -------------------------------------------------------------------------------- /getting_started_in_research.md: -------------------------------------------------------------------------------- 1 | # 如何入门3D Vision的科研 2 | 3 | ## 第一阶段 4 | 5 | 学习基础的3D computer vision知识。这个阶段追求广度,了解一些基础的概念和算法。不要求深度,不要求掌握/熟悉算法所有的细节。这个阶段的目的是让你对3D computer vision有一个大概的了解,知道有哪些算法,知道这些算法的大概原理,知道这些算法的应用场景。 6 | 7 | 学习《三维计算机视觉导论》课程。重点是完成里面的作业。懂得做作业,也就懂课程内容了。建议在GitHub上维护一个repo,存放作业。 8 | 9 | 推荐的课程是Andreas Geiger教授的课程。这是[课程链接](https://uni-tuebingen.de/fakultaeten/mathematisch-naturwissenschaftliche-fakultaet/fachbereiche/informatik/lehrstuehle/autonomous-vision/lectures/computer-vision/)。(这门课是目前较新的公开的三维视觉课。以后会根据情况决定是否添加其他课程。) 10 | 11 | 如果对哪些算法或哪些代码有问题,推荐谷歌搜索或者问new bing,如果找不到答案,建议敢于向高年级学长/学姐询问。 12 | 13 | ## 第二阶段 14 | 15 | 在有了基础知识的基础上,开始跟着学长/学姐做科研项目。这个阶段追求深度,追求掌握某一篇论文的细节(算法细节、代码实现细节)。这个阶段的目标是构建某一个科研细分方向的算法基础,通过参与科研项目来了解一篇论文是怎么做出来的(寻找科研问题、想idea、做实验、写论文)。 16 | 17 | 这个阶段需要做三方面的事情: 18 | 19 | 1. 首先选择一个自己感兴趣的科研方向。选择具体的科研方向以后,请实验室学长/学姐帮自己定制具体的学习计划。这是学习计划的一个[例子](https://pengsida.notion.site/8911dcc5922b4442a80d4407926e65bf)(这个例子的内容可能随着时间的推移而变得过时,请注重其体现出的计划思路)。 20 | 2. 同时看一门计算机视觉的课程,不用做作业:[http://cs231n.stanford.edu/schedule.html](http://cs231n.stanford.edu/schedule.html)。该课程对深度学习在计算机视觉的应用有较为全面的介绍。因为已经在具体实现某个论文的算法了,所以这个阶段可以不用做作业,只需要看课程视频和课程讲义即可,不然日常时间可能不够分配。 21 | 如果对传统图形学的知识感兴趣,还需要看[GAMES101-现代计算机图形学入门](https://games-cn.org/intro-graphics/)、[GAMES202-高质量实时渲染](https://sites.cs.ucsb.edu/~lingqi/teaching/games202.html)(闫令琪老师开的课,讲得特别好)。 22 | 如果对motion synthesis/computer animation感兴趣,还需要看[GAMES105-计算机角色动画基础](https://games-105.github.io/)(刘利斌老师开的课,讲得特别好)。 23 | 3. 在学习的过程中,参与旁听某个学长/学姐的科研项目,旁听我们每周的讨论,见识做科研具体是怎样的([这个文档](https://pengsida.notion.site/research-project-b43507ef26d044bd888ac29f4736e116)总结了research project的具体流程)。等你算法基础和实验能力足够时,实验室会试着让你帮忙做我们Project的一些实验,从而开始上手做科研项目。参与Project时会读一些论文、做一些实验。[这个文档](https://pengsida.notion.site/research-project-b43507ef26d044bd888ac29f4736e116)总结了做research project需要的能力和相应的教程。 24 | 25 | 在这个阶段可以熟悉一些[常用的工具、配置](https://pengsida.notion.site/59569d7b66954578b21bf1dc6ea35776)(这些工具是实验室的[贺星毅](https://github.com/hxy-123)同学整理的)。 26 | 27 | ## 第三阶段 28 | 29 | 在有了一定算法基础以后,开始在实验室的指导下做一个自己一作的Project。这个阶段的目标是通过实践来学习一篇论文是怎么做出来的(寻找科研问题、想idea、做实验、写论文),比较好的情况是能完成一篇论文的投稿,从而在某个细分的科研方向上有一定的科研成果。 30 | 31 | 在深入探索这个阶段之前,请先做好心理准备,因为做科研和课程学习有很大的区别。具体请看[这个文档](https://pengsida.notion.site/a3fe9f17b8af46558cd1112627009c83)。 32 | 33 | 这一阶段因为其过程的前沿性与创新性,所以难以有固定的学习路线,比较依赖实验室的口传心授。我们尽量整理出了一些作为独立的科研工作者所必需的科研能力。具体请看[这个文档](./getting_advanced_in_research.md)。 34 | --------------------------------------------------------------------------------