加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • 1、自动驾驶感知算法工程师
    • 2、自动驾驶定位算法工程师
    • 3、自动驾驶决策规划算法工程师
    • 4、结语
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

自动驾驶岗位入门技术及前景

2021/06/22
297
阅读需 8 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

导读

现如今,自动驾驶已经成为了社会中的热门话题,随着小米的入局,越来越多的大厂意识到了自动驾驶技术未来的广阔前景,都纷纷进入行业中来。行业越做越大当然是好事,意味着就业的机会与可能也越来越高,但与此同时,带给从业者的相关竞争压力也会越来越大,如果不能在职业生涯初期对自己的职业发展有个很好的规划,很可能跟不上自动驾驶迅猛的发展潮流。这篇文章就带大家梳理一下,自动驾驶入行所需的相关技术,以及每条技术路径所对应的未来发展前景。

下图是我整理出来的目前自动驾驶所需的相关岗位,主要分为三大类:算法、仿真及测试方向。下面就针对算法方向下的每一个细分类别所需的基本技能及职业发展规划一一介绍。

 

1、自动驾驶感知算法工程师

自动驾驶的感知部分应该是自动驾驶行业中目前最具有挑战的部分,同时也是需求量最大的部分,这一部分是自动驾驶与人工智能结合最紧密的地方之一,但由于其通用性与挑战性,这一岗位的竞争往往也是最激烈的。其目前的岗位主要包括:机器学习算法工程师计算机视觉算法工程师以及自然语言处理算法工程师,这三个方向也是属于人工智能的三大方向。在自动驾驶车辆中,主要包括:车道线检测、车辆行人等障碍物检测、可行使区域检测、红绿灯识别、车内语音识别等等。

1. 机器学习算法工程师

操作系统:Windows、Linux

编程:Python、C++

理论知识:机器学习的基础理论框架,如LR、GBDT、SVM、DNN等等;学习scikit-learn等传统机器学习框架的模型训练;熟悉PyTorch、TensorFlow等深度学习框架等。

2. 计算机视觉算法工程师

该方向主要基于摄像头进行车道线检测、障碍物识别、红绿灯识别等等。

操作系统:Linux

编程:C++、Python、OpenCV

理论知识:机器学习的基本算法(分类、回归等);基本深度学习框架;学习计算机视觉和图像处理的常用方法(物体检测、跟踪、分割、分类识别等)

3. 自然语言处理算法工程师

该方向主要负责车载场景下的语音识别,语音交互设计等等。

操作系统:Linux

编程:C++、Python

理论知识:机器学习算法、深度学习算法、自然语音处理基本任务(分词、词性标注、句法分析、关键字抽取等等)

2、自动驾驶定位算法工程师

目前大多数自动驾驶企业所用的定位系统包括RTK、导远等等,这些在空旷场景下都具有较高精度的定位效果。但对于没有高精度地图的区域、有遮挡的区域(例如高楼旁、隧道中等)目前的定位系统都无法应对。因此需要通过车载视觉或lidar传感器来做一个冗余备份,应对定位系统突然失效的场景。目前的定位岗位中包含以下三个细分领域。

1. 多传感器融合算法工程师

操作系统:Linux

编程:C++、Python

理论知识:掌握摄像头、毫米波雷达激光雷达、惯性导航等相关数据的解析融合算法;熟悉感知融合算法的发展趋势。

2. SLAM算法工程师

SLAM算法又分为激光slam和视觉slam,纯视觉slam由于传感器价格低廉,就业的场景更加广阔一些。而激光雷达作为目前价格最昂贵的传感器,由于效果精度很高,也被许多企业应用。下面分别是视觉slam和激光slam的效果图。

操作系统:Linux

编程:C++、Python

理论知识:学习常用的vSLAM算法,如ORB-SLAM、SVO、DSO、MonoSLAM,VINS以及RGB-D等;ROS机器人操作系统;还需要学习很多滤波算法,如:ESKF、EKF、UKF等。同时需要学习G2O、ceres等用来优化非线性误差函数的c++框架。

 

3、自动驾驶决策规划算法工程师

1. 决策算法工程师

自动驾驶的决策算法工程师也是自动驾驶行业中较有挑战的一类岗位,往往自动驾驶的问题很多都暴露在决策模块上,而应对复杂场景下的决策算法不仅关系到乘客的舒适性,更关系到乘客的安全,因此非常重要。在很多自动驾驶企业中,决策算法与规划算法往往都是放在一起做的,因为在车辆的决策过程中,不可避免地需要考虑到车辆的实际规划难度,甚至往往控制模块也得放在一起进行考虑设计。因此,从事该行业的人员最好从决策到规划到控制都有一个比较全面的了解。

操作系统:Linux

编程:C++、Python

理论知识:学习常用的决策算法,如决策状态机、决策树、马尔可夫决策过程,POMDP等;强化学习相关算法。

2. 规划控制算法工程师

规划控制主要偏向自动驾驶的底层,规划即路径规划及速度规划,和控制模块一起决定了自动驾驶车辆的稳定性和舒适性,是影响最终呈现效果的最重要的模块,同时也是很多主机厂同学最容易转行来的行业,因此也很受欢迎。

操作系统:Linux

编程:C++

理论知识:熟悉如MDP、POMDP、Game Theory等轨迹预测算法;熟悉常见路径规划算法,例如A*、D*、RRT等;具备Linux环境下的C++开发;熟悉ROS开发环境;

4、结语

以上就全部介绍完了自动驾驶行业中算法类相关的岗位以及所需的入门知识技能,随着行业的越发火热,越来越多的同学加入进自动驾驶的领域中来,对将行业做大做强起到了迅猛提升的作用。未来随着自动驾驶越发成熟,所需要的高精人才也会越来越多,而无论何时,多了解跟上行业的最新技能,提高自身的核心竞争力,都是使自己职业发展稳步前进的不二法则。

- End -

 

相关推荐

电子产业图谱