刚入门机器学习，想从事CV方面，应该如何学习， 学习路线是什么？
一句话概括总体思路，就是上网课+做学校项目有+夯实理论+公司实习. 研究生三年足以让你ready for CV算法工程师。 我是2016年9月读硕期间正式接触计算机视觉领域，2018年一月入职小公司做实习，6月到了北美OPPO做全职，到2019年9月的时候已经任职了奔驰北美研究所senior职位，合起来总共也是用了三年左右的时间。在这里想系统地总结一下个人经验与学习步骤。 我十分不建议一开始就搞深度学习，从传统的计算机视觉入手会让你对图像领域的本质有更深刻的了解，另外在很多问题上深度学习与传统CV相结合才是最好的方案。比如我们现在玩的超级夜景，基本都是传统多帧融合增加细节+深度模型去噪才有最有效果。 另外我也不建议新手一开始就啃什么概率论，线性代数，马可夫链等等，因为在没有对计算机视觉领域有一个大概认识与实际接触之前啃这些理论会让你一头雾水，很容易劝退, 就算啃完了一会就忘记了。在第一阶段我的建议是，从应用（调包）入手，只大概了解相应的数学理论，就算有点迷糊也不要太计较。比如说你在学习SIFT，你只要知道它是用来做什么的，大概是一个什么流程（确认interesting point, 确认patch主方向，提取feature descriptor）以及如何在opencv里调用就好。里面的DOG到底是什么数学原理之类的，大概了解下就行。这一阶段只有一个目的——让你最快速地了解传统计算机视觉里面到底有哪些模块，是什么样子的。在这里我推荐 一个udemy上适合的网课。这一阶段一般两周到一个月就可以完成。 2. 第二阶段——接触深度学习 既然我们已经大概了解了”老一辈“的做法，下一步自然该过渡到新时代的宠儿深度学习了（其实Neural Network很多年前就有了，多亏了大数据时代才能发光）。与第一阶段不同，在你学习深度学习时，对其中的数学一定要搞明白。一是深度学习的数学较为简单，二是深度学习本来就像一个黑匣子，如果你再不搞清楚里面是怎么运转的，到后面一定会一头雾水。最起码的要求是，你可以手推  forward and backward propagation。 同时建议学习Tensorflow + Pytorch framework. 深度学习的网课实在太多了，这里推荐cousera Andrew NG系列。这一阶段大概需要一到两个月。 3. 第三阶段——参与学校项目 在前两个阶段结束后，你对整个CV已经有了基本的认识，是时候进入实战训练。最好的机会就是参与学校各个实验室里的相关项目，在解决实际问题时提高自己。 在这里有几个要点要注意：1.一定要把项目涉及到的理论搞熟，不要继续当一个调包侠。2.在此期间大量阅读相关的论文。3.虽然是学校项目，代码一定要写规范，养成良好习惯，方便以后进入工业界。可以参考谷歌的style guide 4.第四阶段——夯实理论，学习C++与statistic learning 这一阶段可以与第三阶段同时进行。该阶段主要为了补足之前第一阶段的理论缺陷，同时为后续去公司实习面试做准备。这一次你可以跟随LearnOpencv（https://www.learnopencv.com/）进行C++的课程学习，因为C++对于算法落地具有重要意义，必须要熟练掌握。同时要注意，这一次要把每一块的算法背后的数学理论尽可能地搞透。搞定这门课程之后，你的能力将会上一个新的台阶，可以拓宽自己学习一些statistic相关课程，弄清楚什么是随机森林，KNN, K-Means，PCA等传统统计算法。 5.第五阶段——为公司实习做准备。 经历了前四个阶段后，时间大概已经过去了一年多一些。你已经完成了许多知识储备，同时参与了学校一到两个不错的项目，是时候准备一下面试，参与公司的暑期实习了。在这一阶段你可以继续参与着学校项目，但是要拿一部分时间出来准备暑期实习。面试其实无非考三大模块——你的项目经历，代码能力与理论基础。可以刷一些medium以下的leetcode问题，然后开始系统学习一下线性代数、贝叶斯理论，同时多看看面经，至少要拿出三个月的时间为实习做准备。 6.剩余阶段 在你完成上述事情之后，基本只剩下了一年到一年半的时间。剩余的时间你可以继续刷题提高代码能力，接着参与学校项目，恶补理论基础，也可以在业余时间参加一些开源项目，并且在最后一个暑假再拿一个实习，这次争取拿到Return offer. 这六个阶段基本就是当年我的经历，你在未来三年内会过的很累但是充实而快乐。另外，千万不要忘记锻炼身体，好的身体是革命的本钱！