这题我会答!从北美硕士开始时的零基础到拿到北美奔驰研究院的Senior CV岗位, 我只用了两年半的时间。其中当然有运气成分在,但是可控部分我总结成一句话就是keep passionate, keep crazy. 很多大佬在这里已经给出了详细的课程和书籍,所以我的这篇攻略重点在于如何规划好“暴发户式”的学习路线,快读提高自己的实力。
时间线
2017年1月-2月: 这两个月我只做一件事—疯狂地上网课。这段时间我除了学校常规课程外,大概上了八门网课,包括两门传统的机器学习基础、Udemy有个叫lazy programmer 的四门深度学习网课,还有Udemy 的opencv3 with python, udacity的intro to computer vision。这些课很偏应用,理论涉及较浅,都有小型的course project, 方便对整个领域有个快速的基本认知和上手能力。
2017年3月-6月: 有了一点薄弱的基础后,我开始厚着脸皮到处找老师免费给他们做项目。在这三个月期间,我同时加入三个实验室做三个不同的项目,分别做HD Map, mHealth和动作识别。虽然大部分工作偏打杂一些,但是趁机深入了解了一下不同的领域,提高了代码实战能力,在六月快结束时这三个项目中有两个变成了我后来的两篇二作论文。不得不说,这个阶段比之前还要让人筋疲力尽,在上三门课的同时还要再额外做三个项目,基本榨干了我的睡眠时间,不过这也是我进步最快的一段历程。
2017年6月-9月: 由于打杂地不错,我拿到了其中一个实验室带薪暑研,继续做动作识别,阅读了大量相关文献,写了许多丑陋的research codes, 同时开始猛啃各种应用数学理论的书籍(主要是matrix 和概率相关),每天还拿出三四个小时刷leetcode。暑假结束的时候,很遗憾,我论文并没有搞出来,但是我之前欠下的理论基础得到了很大夯实,刷题水平也可以一战了。
2017年9月-12月: 我利用之前的项目经历拿到了一家做无人机视觉的初创公司的兼职实习,同时开始猛投简历,继续刷题+弥补理论基础,学校课程我都选了比较水的来给自己更多的时间。由于简历上的有一两个具有深度的项目经历,一段实习的经历,还有发表和在投的论文,拿到了一些中小型公司的cv岗位offer.
进入工业界之后的道路整体比较平顺,在每一个公司都有了落地项目,出产了各种ML论文,并且凭借着这些落地经验不停地当作跳板,在2019年中旬的时候拿到了奔驰Senior岗位。
需要注意的关键点
- 决定进入CV领域前一定要想清楚,因为这是一个狼多肉少、内卷严重要求却又居高不下的领域,如果不是出于内心的喜爱,很容易被劝退,而且薪水并不会比一般的SDE高出很多。
- 入门CV最忌讳的就是一开始就猛啃高深的理论。你不仅会看的一头雾水,还会积极性受打极大打击。头两个月从实战和调包入手,背后的原理大概知道就好。
- 理论的学习和项目实战尽量一起进行,单纯地啃理论很容易“阅后即焚”。
- 从我经历可以说明,CV可以速成,但是过程会很痛苦,而且底子会不够扎实,需要在工作中不断学习弥补,所以如果有的选还是尽量提早规划。
- 很多时候通往“大厂”岗位的路线不一定是直线,可以曲线救国。
|