双非自学!我上岸了,分享下踩过的坑(感知与融合岗)

个人背景

本硕双非院校(考研失利),无名校背景。本科电子信息工程(武汉),硕士计算机技术(上海)。曾经拿过学校的智能汽车竞赛一等奖,参赛过程中受益良多,我想对智能汽车的兴趣就是从那时候开始的。

秋招情况

最终拿到了几个offer,有机器人公司,激光雷达,自动驾驶的公司。

方向选择和自学历程

选择自动驾驶感知的方向也是机缘巧合。一方面参加过学校智能汽车的竞赛,另一方面也参加了两轮平衡车的大创项目。计算机专业的基础知识都已掌握,C/C++编程,数据结构,计算机网络,操作系统,计算机组成原理等。

基础知识储备

  • C/C++:又将C/C++的知识过了一遍,敲完《C++ Primer Plus》,同时B站上看一些C++的课程巩固,最后从github上跟着做几个小项目。

  • Python:看网课,然后把《Python编程从入门到实践》敲了一遍,有了C++的基础,Python学习起来还是非常快的。然后就是学习一些Linux的知识,可以在Linux下进行C/C++和Python的编程。

  • 机器学习相关:周志华的《机器学习》,当时抱着啃了大概两个月,手推公式,不懂得问下数学专业的同学,像支持向量机就是看了不少视频,做笔记推导才整明白。随后敲完了《机器学习实战》,对使用机器学习进行数据分析有了一定的理解与实践。又参加了阿里的天池竞赛。

  • 深度学习相关:主要学习的Pytorch,对Tensorflow框架的定位是读懂相关代码即可,敲完了《动手学深度学习》和《Pytorch实战》收获还是非常多的,书中有很多小的Demo,不仅有CV的也有NLP的。即可以学习到相应的知识又可以后看到Inference后的结果,还是非常有成就感的。

专业知识学习与梳理

计算机视觉:做CV相关的同学还是特别多的,我就简单分享下个人的学习过程。

  • 1)传统方式:学习图像的基本知识,灰度化,阈值化,形态学处理,边缘检测等等,使用OpenCV进行编程实现。做了几个Demo(银行卡识别,车位检测,车牌检测等等)。

  • 2)深度学习方式:从最经典的卷积神经网络AlexNet,VGG等开始学习,逐层分析推导特征图,编程实现。然后学习目标检测的几个系列,one-stage和two-stage,anchor-base和anchor-free的检测方式,看了大量的论文。然后又看了不少语义分割的工作。比较经典的网络都读过源码并复现过,B站上也有很多大神讲解源码。

3D点云相关:首先学习的是点云相关的基础知识(点云滤波,八叉树,点云分割、拟合、聚类等),然后读3D目标检测的论文,从经典的PointNet网络到目前比较新的工作。其中PointPillars和CenterPoint网络好像是目前自动驾驶中应用的比较多的。基于Point,Pillar,Voxel等都有很多非常棒的论文,网上也有很多公开的数据集,最著名的就是KITTI了。

SLAM:分激光SLAM和视觉SLAM。我学习的是视觉SLAM。高翔博士的《视觉SLAM十四讲》是很棒的一本书,可以比较系统的入门学习。从视觉里程计到后端,还有配套的代码。像VINS-Fusion,ORB-SLAM系列的代码都要读一读,跑一遍。后面多传感器融合也用到很多SLAM中的知识。

ROS系统:古月居的课程很棒,熟悉节点间的通信方式,话题通信(发布者/订阅者),服务通信(C/S),掌握ROS命令行工具,还有就是rviz的使用,这块我学习的也不是很深入,只学了目前经常用到的东西。

多传感器融合:这一块涉及的东西比较多,网上资料也比较少,就多说一下。首先要了解的就是Lidar,Radar,Camera,IMU等传感器的特性。例如相机虽然对车道线,红绿灯等交通标识识别效果好,但视觉测距,测速性能不如激光雷达。然后学习各个传感器之间的时空同步和数据融合。同步又分时间同步和空间同步,时间同步又分软同步和硬同步,不同传感器之间的的空间同步也比较复杂,可以用运动补偿,帧间点云匹配ICP估计,里程计辅助等方式。个人感觉前融合阶段最重要的就是时空同步(激光雷达和相机的数据是要在同一时间戳下的同一物体)。对于传感器的数据融合有传统方式(卡尔曼滤波),也有基于深度学习的方式。除此之外,又简单学习了传感器之间的标定。每个知识点里细节都很多,这部分还有太多东西需要去学习了。最重要的还是要结合代码。

实习经历

在一家自动驾驶公司做自动泊车方面的算法实习生。参与泊车算法的研发,例如车位检测,FreeSpace检测,BEV下的工作等。这段实习经历让我得到了快速的提升,不在局限于一些理论知识,真正了解了针对自动驾驶场景下一些问题,使用什么方法能够得到较好的结果,然后再从一些论文中找到idea加以改进。真的非常感谢leader对我的指导。

秋招历程分享

个人秋招准备的是自动驾驶或机器人等行业的算法工程师(偏感知)。投递的公司类型:1、车企,2、机器人(包括工业上的),3、激光雷达公司,4、自动驾驶方案供应商(做ADAS,域控制器等),5、车联网(车路协同等),6、做视觉图像的公司。

8月17日开始第一份简历的投递,一共做了20多场笔试,面试也有20多场。首先刷Leecode,起码最高频的前100道题刷完,主要针对笔试,面试的时候也有让现场手撕的。

然后就是背C++/Python,Pytorch,深度学习,SLAM等方面的知识点。网上有大量的资料可以借鉴,就不多说了。

项目很重要,一定要非常熟悉,熟悉到一说到某一模块的功能可以想到相关代码的大概样子,很多问题会围绕项目展开,比如面试官会说这个问题能用凸包等更简单的方式解决吗?为什么要用深度学习?内参怎么计算的?单目怎么获取深度信息?精度怎样?SLAM后端边缘化?

也有一些开放性的问题需要平时的积累和灵活运用了,例如一个圆圈上的一些点知道各点和圆心坐标怎么较好的从12点钟位置进行顺时针排序(叉乘)。

当然也有一些问题没有答上来,像ICP的数据结构怎么实现的,ICP的原理看过很多遍,公式也推导过,但是没有具体的进行代码实现,还有一些神经网络结构,看过好多遍,但是问到激活函数的公式却想不起来,也认识到了自己的不足之处。

还有很多其他面试问题因为篇幅原因就不过多介绍了。

比较深刻的是有一场技术面试(深度学习+激光雷达),两位面试官,时间大概40多分钟,那是刚开始面试,没有经验也没准备好,回答的并不理想,比较受挫(后续接到技术二面通知了)。打了几把游戏后思考自己确实是有些地方没有掌握好,所做的不应该是为上一场面试表现不好而沮丧,要好好的查漏补缺,会的东西一定好好展现给面试官。之后的面试慢慢多了起来,有时一天三场技术面。不管通过与否,心态上的起伏很小了,自己已经把所学展现了。

总之,秋招过后感觉个人成长很多,回顾自己所学,展现给面试官,最后也找到了理想工作。

秋招感悟和写给转行人和待入行人的一些话

秋招历程感悟

秋招应该尽早投简历,不少同学因为投递较晚,虽然自身也很优秀但已经没有hc了。基本上没有所有东西都准备好了再投简历面试的情况,都是以战养战的策略,不断的面试,总结自己的不足,在下一场面试更好的展现自我。

面试过程中有肯定,当然也会有否定。不要因为一时的夸赞而骄傲,更不要因为一时的批评而否定自我。调整好心态迎接每一场面试。此外,在整个过程中,我感觉最重要的是自学能力。很多东西都是要靠自学的,学理论,抠代码,慢慢积累。

给同一专业、即将选择这行或者打算转行的同学的建议

我是一开始的目标职位就是算法工程师,比较明确,虽然很卷,但也是义无反顾,想做自己感兴趣的东西。

我学习的东西都是自己找的路线学习的,因为没有专业的指导,都是自己慢慢摸索和实践的,知识范围会比较广,但侧重的是视觉感知,像激光雷达,SLAM等都是发散学习的,并与视觉结合,虽然不确定按这个路线学习对不对,但是自己也是真真切切的学到东西了,在感知外,对建图定位也有了一些了解,整个自动驾驶的链路和基础学习框架已经在脑海中形成。

自动驾驶方向很多,感知,决策,规划,控制等。最后还是希望大家找准方向,沉下心来,接下来会有一段无人问津,艰苦奋斗的时光,夜色难免黑凉,前行必有曙光。

这篇面经分享出来也是希望大家能少走些弯路,祝大家都能找到理想的工作。

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
自学嵌入式开发,无论是看视频还是看书,都有各自的优缺点。以下是对两种学习方式的分析: ## 看视频 优点: 1. 视频可以直观地展示实际的操作过程,能够更好地帮助学生理解。 2. 视频中通常会有讲解人员对重点难点进行强调,能够提高学习效率。 3. 视频可以随时暂停、重复学习,方便学生进行反复学习和巩固。 缺点: 1. 视频内容通常比较长,难以快速定位到所需的知识点,需要花费较多时间观看。 2. 视频中的讲解可能会比较生硬,没有书籍中那么详细的解释。 3. 视频中的内容可能有些过时,不够及时更新。 ## 看书 优点: 1. 书籍内容通常比较系统,能够全面地介绍相关知识点。 2. 书籍中的内容可以随时查阅,方便学生进行复习和巩固。 3. 书籍中的文字可以反复阅读,方便学生理解和消化知识。 缺点: 1. 书籍中的图片和代码可能不够直观,需要学生通过自己的实践来理解。 2. 书籍中的代码可能不够实际,需要学生自己编写代码进行实践。 3. 书籍中的内容可能过于抽象,需要学生有一定的基础才能理解。 综上所述,对于嵌入式开发自学,建议采用视频和书籍相结合的方式。在学习过程中,可以先通过视频学习相关知识点的基本概念和操作方法,然后再通过书籍来深入理解和巩固所学的内容。同时,也要注意选择优质的视频和书籍,避免学习到错误或过时的知识。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值