【導(dǎo)讀】自動駕駛技術(shù)涉及的環(huán)境感知傳感器主要包括視覺類攝像機(包括單目、雙目立體視覺、全景視覺及紅外相機)和雷達類測距傳感器(激光雷達、毫米波雷達、超聲波雷達等),如圖1所示。這些傳感器目前都可以找到開源的SDK快速開發(fā)。小可根據(jù)這幾年的開發(fā)經(jīng)驗,特此整理了目前常用傳感器的一些API,方便初學(xué)者節(jié)省開發(fā)時間。
當(dāng)然,對于可以根據(jù)需求自主定制傳感器的土豪公司而言,本篇顯得多余,請繞行。本篇主要適用于自動駕駛初級開發(fā)者,主要面向高校和科研院所的研究人員,以性能為主,較少考慮成本問題。筆者主要基于Linux系統(tǒng)進行開發(fā),所介紹的API均以Ubuntu14.04及以上版本為準(zhǔn)(4月份出Ubuntu18.04了,2年一個穩(wěn)定版本,值得期待)。
圖1 自動駕駛主流傳感器
單目攝像機
首推AVT工業(yè)相機,國內(nèi)代理商較多。包含的相機種類較為齊全,接口包括1394火線接口、網(wǎng)口接口等,價格從幾千元到幾萬元不等。
應(yīng)用:單目相機的應(yīng)用開發(fā)主要包括特征類符號的檢測與識別,如車道線檢測、交通標(biāo)志識別、交通燈識別、行人和車輛檢測等,基于機器學(xué)習(xí)的視覺計算在自動駕駛普及之日一定會是必不可少的部分,盡管目前來說視覺檢測可靠性并不是很高,在以激光雷達為主要感知手段的自動駕駛車輛中應(yīng)用并未達到預(yù)期。
圖2 路面及車輛識別
雙目攝像機
應(yīng)用于室外場景的雙目視覺確實不多見,筆者之前用過的bumblebee雙目也是應(yīng)用于室內(nèi)場景,之后接觸了ZED相機也是室內(nèi)比較好用(畢竟基線長度固定了,就那么短!)。建議用于室外做視覺里程計或者識別類算法的,自行搭建雙目傳感器,在保證同步觸發(fā)的情況下,根據(jù)具體需求確定基線長度。雙目視覺繞不開視差圖和雙目標(biāo)定,目前比較通用的雙目標(biāo)定做法是采用張正友法,利用Camera Calibration Toolbox進行標(biāo)定,當(dāng)然,openCV中也集成了該方法,習(xí)慣C編程的可以看下,OpenCV經(jīng)典教材《學(xué)習(xí)OpenCV》中文版464頁至492頁有詳細內(nèi)容,更有代碼,不多說。
圖3 雙目立體視覺標(biāo)定
應(yīng)用:障礙物檢測可以,限于室內(nèi),結(jié)構(gòu)光,近距離;視覺里程計確實是目前比較好的應(yīng)用領(lǐng)域,用于路口定位等,各種開源SLAM技術(shù)中也都有應(yīng)用,如ORB SLAM2,《視覺SLAM十四講》有詳細介紹和應(yīng)用,好書,推薦一下。
全景相機
分為單鏡頭全景相機和多鏡頭拼接全景相機。筆者基于全景視覺的開發(fā)應(yīng)用不多(當(dāng)多目鏡頭使用,未完全發(fā)揮其全景優(yōu)勢),2015年騰訊做街景地圖的時候貌似見過他們車上裝著一個。
應(yīng)用:比較推薦用全景相機做視覺里程計,視野范圍大,特征點關(guān)聯(lián)度高,個人始終覺得用全景視覺配合組合導(dǎo)航做高精度地圖重建是個不錯的選擇,實現(xiàn)自動駕駛汽車車道級別定位,其他的沒有深入研究。
紅外相機
紅外相機應(yīng)該屬于視覺的另外一個門類,夜視效果比白晝效果好,可應(yīng)用于行人、車輛檢測等。以前覺得在激光雷達出現(xiàn)以后,紅外相機在自動駕駛應(yīng)用中處于一個比較尷尬的地位,價格不菲且沒有激光雷達結(jié)果來的直接,使用之后發(fā)現(xiàn),在障礙物(如人)識別上,激光離散點云還是比不上空間上連續(xù)的圖像。另外,測試中驚奇的發(fā)現(xiàn),紅外相機具體可以捕捉玻璃上的人影!細思極恐!紅外相機在一定程度上可以對發(fā)熱體進行區(qū)分,如路面、行人等,但畢竟需要后處理,沒有激光雷達利用絕對高度或者梯度進行障礙物檢測來的直接。夜晚條件下可以替代彩色相機,進行前視障礙物檢測與監(jiān)控。
圖4 紅外視覺成像
毫米波雷達
適用于高速環(huán)境和編隊行駛,其他場景貌似沒有必要安裝。單買貴,批發(fā)便宜。使用過delphi的一款,應(yīng)該也是國內(nèi)應(yīng)用的比較多的,距離上最遠到150米,分為單點跟蹤和多目標(biāo)檢測兩種工作模式,前者適用于編隊行駛過程中前車檢測,后者適用于高速環(huán)境下的遠距離目標(biāo)檢測。由于毫米波雷達的成像原理為錐面成像(相當(dāng)于從一點往外發(fā)散成一個錐面),依據(jù)錐面中障礙物的面積來推算障礙物,因而對于復(fù)雜場景,障礙物較為雜亂。而高速公路場景較為理想,道路環(huán)境好,車輛相對較少,適用于前方車輛的提前預(yù)警。(Tesla認為視覺+毫米足夠支撐自動駕駛系統(tǒng),個人相當(dāng)認同,但是貌似算法上還需要推進一步)
開發(fā):通過can收發(fā)數(shù)據(jù),數(shù)據(jù)格式較為簡單,一般協(xié)議文件中都有定義,對can口開發(fā)沒有基礎(chǔ)也不要恐慌,相當(dāng)簡單,買一個USBCAN轉(zhuǎn)換器,有Ubuntu系統(tǒng)下can接收數(shù)據(jù)的依賴庫,之后的數(shù)據(jù)解析按照協(xié)議來即可。 激光雷達。
應(yīng)用:障礙物檢測主流,waymo、百度、各大傳統(tǒng)汽車廠商、各大創(chuàng)業(yè)公司、各大高校、研究院所……那么多自動駕駛汽車頂上裝著的幾乎都是激光雷達(Tesla除外);高精度地圖重建與環(huán)境建模;SLAM等。
圖 多雷達融合
目前實際開發(fā)中筆者用到的傳感器就這么多,希望對于初學(xué)者有所幫助吧。對于設(shè)備選型有選擇困難癥的也可以私信我,多多交流。
推薦閱讀: