自動駕駛崗位多嗎?
我整理出來的目前自動駕駛所需的相關崗位,主要分為三大類:算法、仿真及測試方向。
下面就針對算法方向下的每一個細分類別所需的基本技能及職業發展規劃一一介紹。
01大標題自動駕駛感知算法工程師
自動駕駛的感知部分應該是自動駕駛行業中目前最具有挑戰的部分,同時也是需求量最大的部分,這一部分是自動駕駛與人工智能結合最緊密的地方之一,但由于其通用性與挑戰性,這一崗位的競爭往往也是最激烈的。
其目前的崗位主要包括:機器學習算法工程師、計算機視覺算法工程師以及自然語言處理算法工程師,這三個方向也是屬于人工智能的三大方向。
在自動駕駛車輛中,主要包括:車道線檢測、車輛行人等障礙物檢測、可行使區域檢測、紅綠燈識別、車內語音識別等等。
1. 機器學習算法工程師
操作系統:Windows、Linux
編程:Python、C++
理論知識:機器學習的基礎理論框架,如LR、GBDT、SVM、DNN等等;學習scikit-learn等傳統機器學習框架的模型訓練;熟悉PyTorch、TensorFlow等深度學習框架等。
2. 計算機視覺算法工程師
該方向主要基于攝像頭進行車道線檢測、障礙物識別、紅綠燈識別等等。
操作系統:Linux
編程:C++、Python、OpenCV
理論知識:機器學習的基本算法(分類、回歸等);基本深度學習框架;學習計算機視覺和圖像處理的常用方法(物體檢測、跟蹤、分割、分類識別等)
3. 自然語言處理算法工程師
該方向主要負責車載場景下的語音識別,語音交互設計等等。
操作系統:Linux
編程:C++、Python
理論知識:機器學習算法、深度學習算法、自然語音處理基本任務(分詞、詞性標注、句法分析、關鍵字抽取等等)
02自動駕駛定位算法工程師
目前大多數自動駕駛企業所用的定位系統包括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++框架。
03自動駕駛決策規劃算法工程師
1. 決策算法工程師
自動駕駛的決策算法工程師也是自動駕駛行業中較有挑戰的一類崗位,往往自動駕駛的問題很多都暴露在決策模塊上,而應對復雜場景下的決策算法不僅關系到乘客的舒適性,更關系到乘客的安全,因此非常重要。
在很多自動駕駛企業中,決策算法與規劃算法往往都是放在一起做的,因為在車輛的決策過程中,不可避免地需要考慮到車輛的實際規劃難度,甚至往往控制模塊也得放在一起進行考慮設計。因此,從事該行業的人員最好從決策到規劃到控制都有一個比較全面的了解。
操作系統:Linux
編程:C++、Python
理論知識:學習常用的決策算法,如決策狀態機、決策樹、馬爾可夫決策過程,POMDP等;強化學習相關算法。
2. 規劃控制算法工程師
規劃控制主要偏向自動駕駛的底層,規劃即路徑規劃及速度規劃,和控制模塊一起決定了自動駕駛車輛的穩定性和舒適性,是影響最終呈現效果的最重要的模塊,同時也是很多主機廠同學最容易轉行來的行業,因此也很受歡迎。
操作系統:Linux
編程:C++
理論知識:熟悉如MDP、POMDP、Game Theory等軌跡預測算法;熟悉常見路徑規劃算法,例如A*、D*、RRT等;具備Linux環境下的C++開發;熟悉ROS開發環境;
04結語
以上就全部介紹完了自動駕駛行業中算法類相關的崗位以及所需的入門知識技能,隨著行業的越發火熱,越來越多的同學加入進自動駕駛的領域中來,對將行業做大做強起到了迅猛提升的作用。