2
本文作者: 新智駕 | 2017-03-14 11:08 | 專題:雷峰網(wǎng)公開課 |
雷鋒網(wǎng)按:本文內(nèi)容來自中科慧眼副總經(jīng)理孟然在硬創(chuàng)公開課的分享,由雷鋒網(wǎng)旗下欄目新智駕(微信號:AI-Drive)編輯與整理。
孟然,原華夏視科集團聯(lián)合創(chuàng)始人,從事信號處理、機器視覺等相關(guān)領(lǐng)域的研發(fā),設(shè)計與市場運營工作十余年,具有豐富的視覺產(chǎn)品生產(chǎn)與營銷經(jīng)驗,銷售業(yè)績達數(shù)十億元,并擁有多項機器視覺相關(guān)專利。2014聯(lián)合創(chuàng)立北京中科慧眼科技有限公司,任副總經(jīng)理,主管公司的產(chǎn)品研發(fā)及市場。
本期雷鋒網(wǎng)公開課包括以下內(nèi)容:
1、用于汽車感知的傳感器種類;
2、單目視覺與雙目視覺的特點和優(yōu)勢;
3、雙目視覺的關(guān)鍵技術(shù);
4、雙目深度信息的評價指標;
5、雙目攝像機的研制;
*公開課全程視頻
1、用于汽車感知的傳感器種類
自動駕駛分為感知、決策以及控制。而感知,分為三大類傳感器:雷達、單目視覺、雙目視覺。
雷達的種類非常多,有激光雷達,毫米波雷達,以及各種各樣不同波長的雷達。激光雷達探測距離遠、精度高、反饋速度快。但也有缺點,比如造價高,對黑色物體不敏感。毫米波雷達是一個二維雷達,分為單模和雙模。毫米波雷達對生物體不敏感,超聲波雷達測距范圍有限。
單目視覺首先通過識別進行分類。比如說汽車、行人,進而計算出對物體的碰撞距離,也就是說單目視覺計算出來的值,只是一個碰撞時間。
雙目視覺不做具體的測量,而是利用左攝像頭和右攝像頭的視差去計算傳感器與物體之間的距離,從而實現(xiàn)碰撞預警。
對于一輛自動駕駛汽車來說,主要是由這幾部分組成(如上圖):
攝像頭(單目或雙目),各種雷達,比如激光雷達、毫米波雷達、超聲波雷達。那么雷達通常與什么相配?與 GPS、慣性導航和高精度地圖。GPS 用于定位,慣性導航在沒有定位的時候提供精確位置計算,上述傳感器構(gòu)成了一個自動駕駛汽車的智能系統(tǒng)。
所有的這些信息匯總到它的「大腦」,這個「大腦」進行路徑規(guī)劃,最終傳給汽車的執(zhí)行系統(tǒng),對汽車進行全自動控制。
一般而言,ADAS 提前 2.7 秒就可以把事故的概率降低到 90% 以上。
實際上很多人有一種錯誤的概念,認為提前的時間越長就越安全,實際不然。提前警報時間越長,會對駕駛者的某些判斷形成干擾。但提前警報時間越短,可能駕駛者來不及作出反饋,造成事故發(fā)生。
所以,最好的方式是提前的時間不多也不少,與駕駛者駕駛習慣契合,這個時候的體驗才是最好的。
那么雷達和攝像頭是不是只需要一種傳感器就可以了?當然不是?,F(xiàn)在業(yè)界有一個共識:未來的全自動駕駛汽車一定是多傳感器融合的感知方式。
雷達擅長探測遠距離的大目標,對于圖像感知(單目和雙目),這種感知實際上是二維的,更適合捕捉細節(jié),比如停車場進出口的橫桿,用雷達檢測通常會丟失。比如說車道線、交通標識以及更細小的物體,如果我們用視覺的方式可能會檢測得更精確。
在 2016 年之前,基本上所有的高端車型都已經(jīng)配備了 Mobileye 單目視覺,比如沃爾沃、奔馳、寶馬。
那么在近幾年,包括 2016 奔馳 S 級、2016 奔馳 E 級、2016 寶馬 7 系、2017 寶馬 5 系、斯巴魯都已經(jīng)從單目改成了雙目,包括新出廠的特斯拉,也是改用雙目。
所以雙目會不會在視覺領(lǐng)域取代單目,現(xiàn)在可以看到一些趨勢。已經(jīng)在一些高端的車型上,開始逐步用雙目去代替單目的解決方案了。
2、單目視覺與雙目視覺的特點和優(yōu)勢
單目和雙目到底誰更好?兩者各有自己的優(yōu)勢和特點。
對于單目來講,第一步,需要進行識別和分類,再通過圖像大小的變化估計碰撞時間。雙目和單目的原理完全不一樣:雙目不需要建模,也不需要對物體進行識別,而是利用左眼和右眼的視差去計算距離。
什么叫「左眼和右眼的視差」?
如上圖,在雙目相機的前面(左上圖a):近處有一個人,遠處有一棵樹,對于左眼形成的圖像,人會在樹的右側(cè);而對于右眼,人會在樹的左側(cè)。
如果我們把這兩幅圖像放在一起(右上圖b),你會發(fā)現(xiàn)離攝像頭比較近的人,它的視差比較大,離攝像頭比較遠的樹,它的視差比較小。那么如果離攝像頭無限遠,它的視差可能為零。
視差與距離一一對應(yīng),并且是準確的對應(yīng),進而雙目可以把這種二維圖像轉(zhuǎn)化成三維數(shù)據(jù)。在轉(zhuǎn)化為三維數(shù)據(jù)以后,色調(diào)更清晰表達這個三維數(shù)據(jù):暖色調(diào)代表近,冷色調(diào)代表遠。
雙目感知會展示一個彩色圖像(如上圖),這個圖像不是紅外圖像,而是三維信息圖(深度圖)。通過這個圖像,我們可以很清晰、直觀地看到三維信息的感知情況。
單目成本比較低,但它的問題在于,只能感知規(guī)則的障礙物。比如汽車、行人甚至自行車。動物也可以被感知,但前提條件是必須對動物的大量樣本進行建模。
可是路面上很多信息不勝枚舉:比如垃圾桶,建筑物、樹木花草或者其他障礙物。但如果去建模,收集它的樣本,單目也是可以識別的,但這個工作量太大。所以,對于單目來而言,基本只識別標準的障礙物。
雙目的優(yōu)勢是什么?不需要建模,也不需要收集大量樣本就可以感知所有障礙物,但它的缺點是計算量大——帶來的結(jié)果是芯片的成本會提高。當然,整個雙目結(jié)構(gòu)也比較復雜。
上圖是我們做的雙目攝像機的殼體。雙目有一個要求,兩個相機的相對位置在標定以后不能發(fā)生任何改變。這就要求我們必須用一個非常特殊的殼體把雙目緊緊鎖在殼體上,以維持在四季變化的時候,它的相對位置不發(fā)生任何變化。
所以我們在做殼體設(shè)計和研發(fā)的時候,下了很大的功夫:我們使用了一種特殊金屬,把它進行一次塑造成型以后,打造了這樣一個雙目攝像機的殼體。
上圖是 2014 年日本的一份研究報告:通過對富士重工、沃爾沃,日產(chǎn)和寶馬四款車型各自傳感器配置的組合進行評價。
富士重工的雙目攝像頭;沃爾沃的“毫米波雷達+單目攝像頭+紅外線激光”組合;日產(chǎn)的單目攝像頭;寶馬的單目攝像頭。最后排序是這樣的:雙目是七分,分數(shù)高于其他傳感器的組合配置。
一般說來,雙目在成本上會比單目方案要貴上 20% 到 30% 左右。但是它比攝像頭與雷達的組合方案要低將近百分之百,并且具有很好的性能。
所以我們認為未來的傳感器融合,有可能是雙目攝像頭加雷達的組合。
雙目視覺的關(guān)鍵技術(shù)有三大類要求:清晰、準確和成熟。
首先是清晰。這是所有視覺產(chǎn)品的要求:包括單目、雙目。
什么是清晰?比如汽車從隧道出來或者剛進隧道,在黑白交界的時候,要求圖像有一個很好的對比度或者動態(tài)范圍,并且它的收斂速度(注:因為外部環(huán)境光線有變化,軟件要去調(diào)節(jié)適應(yīng)這種變化,調(diào)節(jié)的過程不是一步到位,從開始調(diào)節(jié)到最終符合的這段時間就是收斂速度)一定要快,不可能從隧道出來兩秒鐘的時候,才收斂成正常的情況。
我們通常用的傳感器,比如說 OV(OmniVision)、Sony,對每一種傳感器的不同調(diào)校都會出現(xiàn)明顯的效果和區(qū)別,因為這里有上千個參數(shù)。所以攝像頭的調(diào)校與選擇,對于視覺傳感器而言屬于重中之重的一環(huán)。
其次是雙目的算法:基于“面”和基于“邊”。在圖像處理領(lǐng)域,有一種技術(shù)叫做模版匹配,分為三種類型:面匹配、邊匹配、幾何匹配。
邊匹配是什么概念?邊是亮暗區(qū)別比較明顯的界限,比如說外輪廓。邊匹配的時候會把這種高頻的輪廓進行左右眼的匹配,因為匹配上以后才能決定視差。
用這種輪廓繼續(xù)進行匹配,我們管它叫邊緣匹配。里面每一個點都能匹配,我們就叫做面匹配。雖然面匹配的計算量遠遠大于邊匹配,但前者的可靠性也大于后者。
因為邊匹配只是部分輪廓的匹配,不能確定非輪廓區(qū)域有沒有障礙物。也就是說,非輪廓區(qū)域是沒有被感知到的,一旦有障礙物就會發(fā)生碰撞。所以我們覺得 ADAS 系統(tǒng)尚且可以使用。如果使用雙目系統(tǒng),尚且可以使用邊緣匹配進行計算,從而降低它的計算量,提高計算效率。
但是對于一套自動駕駛系統(tǒng),為了提高它的可靠性,一定是用面匹配方式進行對前方距離的感知與探測,這樣才能達到更可靠的效果。
第三,產(chǎn)品公司通常會遇到量產(chǎn)問題。更細一點,比如說配套設(shè)備的成熟度問題。
雙目視覺在進行標定的時候,有一個黑白格標定板,可以去確定雙目相機的一個相對位置變化甚至每一點的變化,比如伸縮、位移以及旋轉(zhuǎn)。
我們在研究樣機包括當時在日本做研究的時候,都是通過人拿著一塊標定板,去給設(shè)備進行標定,需要花費 1 到 2 小時才能完成一臺設(shè)備的標定,從而得到一個標定矩陣,完成相機標定。
但在設(shè)備量產(chǎn)過程中,我們不能通過這種方式完成,因為時間和成本很高。因此我們要對這種標定設(shè)備進行雙目特有的設(shè)計、研發(fā)與制造?,F(xiàn)在我們大概需要兩分鐘就可以完成一臺相機的標定。
對于相機來講,既要自動對焦和自動調(diào)平,兩個相機還必須保持水平。所有這些要求需要在 ADAS 系統(tǒng)出廠前完成。所以,我們在做產(chǎn)品量產(chǎn)時候,技術(shù)的成熟度就顯得至關(guān)重要。
成像的難點在哪?比如說逆光成像。
逆光的時候,人眼也是會致盲的。所以這就要求攝像頭必須適應(yīng)逆光,也即是太陽光照射的問題。
通常來講,太陽光照射的時候(如左上圖),我們會發(fā)現(xiàn)旁邊的場景非常暗。由于我們采取自動曝光的策略,要求在逆光的時候,其他的場景不能特別暗:我們可以清晰地看到車道線,汽車以及路面,還有旁邊景物。
還有是在傍晚、低光(如右上圖)或者下雨的時候,對于人眼來講,它的感光也非常微弱。
當然,人眼有自動調(diào)節(jié)功能,通過一段時間的學習與適應(yīng),它的曝光時間實際上被拉長。拉長以后,那些物體就能看的比較清楚。
對攝像頭來講,它的曝光時間也會拉長,拉長以后看上去會比較清楚,但丟了對比度。因為曝光時間拉長后,整個全局的曝光時間都會被拉長,圖像整體偏亮,但是它沒有對比度。
我們要求在夜晚:圖像不會太暗,景物之間要有對比度,可以清晰地看到車道線、路面、障礙物、汽車、行人等等。也就是說,我們要求的是一個對比度的問題。
24 小時高品質(zhì)成像的難點在于:成像質(zhì)量難以去統(tǒng)一量化標準,并且 ADAS 相機普遍在逆光、雨霧等條件下無法提供有價值的細節(jié)。
所以我們必須通過鏡頭與傳感器的分析和實驗,自行根據(jù)這些要求去調(diào)校相機參數(shù)??偠灾还苁悄婀膺€是白天大照度,夜晚低照度,還是說在路燈情況下,我們都要求前方景物有一個非常好的對比度,這是算法對于成像系統(tǒng)的要求。這個時候,我們就要對它的上千個參數(shù)進行試驗和調(diào)校。
對于雙目算法來講,它的要求非常高,我們從 3 個維度去評價它。
首先,我們對于雙目算法提出要求,所有的點都需要有感知,并且感知正確。
第二,這些感知區(qū)域沒有噪聲和雜點。如果這個噪聲是紅色的,可能會當成近處的障礙物,導致車輛的急剎。如果是深藍色的,它就會認為是很遠的障礙物。我們不希望這些噪聲過多,而是希望這些噪聲能夠盡可能的被壓制。
第三,沒有孔洞(如上圖)。一些圖像有很多孔洞,表示這一區(qū)域沒有匹配,也就是說沒有距離的感知。沒有距離感知,如果有障礙物,它可能就會發(fā)生碰撞。
是不是越平滑,越平緩的深度圖是我們希望的?也不是,因為過于平緩證明會丟失一些小的障礙物。也就是說,在上述所有的要求都實現(xiàn)的情況下,我們還希望一些微小的障礙物,如樹木、路燈燈桿、行人等等,也能夠同樣準確地被感知出來。
所以雙目算法指標其實也是互為矛盾的。我們既希望它平滑,沒有噪音和孔洞,又希望它能感知微小障礙物。當然,感知所有障礙物,能夠使感知的結(jié)果更加穩(wěn)定和精確,這是對雙目算法評測的維度。
什么是完美的深度圖?
四個維度:面匹配、沒有噪音、孔洞以及在此基礎(chǔ)上,所有小的障礙物都能夠被感知。這是對雙目深度圖的一個評價指標。
我們看到上圖的深度圖,它的路面從近及遠,從黃色淺藍色、深藍色,這是一個平緩的過渡。我們希望是這種感知:一級一級發(fā)生變化,兩側(cè)的樹木、中間的汽車和遠方的天空,感知的非常準確,并且沒有噪點,而且非常連續(xù)和平滑。
為什么我們要求效率?
舉個例子,如果一秒鐘進行左右圖像匹配達到 15 次,車速是 120 公里/小時,相當于每行駛 2.22 米探測一次。換句話說,如果這個距離突然出現(xiàn)一個障礙物,攝像頭是沒有感知到的,這樣就會造成風險。
那么,如果我們每秒計算是 30 幀,車速是 120 公里/小時,相當于每行駛 1.11 米探測一次。這個風險比剛才的失誤要大大縮減。
所以我們希望一秒鐘探測的次數(shù)越多,這也意味著我們計算效率越高,那么穩(wěn)定性、可靠性或者安全性就會越高。
而效率越高,對于一個固定的計算性能芯片而言,它就會要求算法要簡化,但效果的簡化就會導致效率變差。效果和效率其實也是一個矛盾體。所以在做產(chǎn)品的時候,需要在效率和效果上取得一個平衡。
上圖是我們第一代產(chǎn)品的雙目攝像機。
雙目攝像機本身我們遇到一些問題。比如說 OV 有一些比較好的芯片支持雙目同時曝光和感知,但是我們在做這款產(chǎn)品的時候,我們買的傳感器芯片,是不支持同時曝光的。
第一,曝光絕對同步。雙目相機最基本的要求就是兩個傳感器要同時曝光,曝光的時間差要控制到微秒級,否則采集的圖像沒辦法進行匹配。
第二,傳感器的位置要固定。兩個相機中間的相對位置,要絕對固定,并達到微米級。
第三,雙目相機的散熱問題。所有的視覺感知一定要貼在前擋風玻璃上,那是風吹日曬的地方。本身雙目的功率大,而且也不能用風扇進行主動散熱。這對于殼體、熱方面的設(shè)計和計算,需要我們非常關(guān)注。
上圖是雙目攝像機與激光雷達的一個性能對比測試。
這個場景,前面擺了幾個小箱子,我們可以看到 Velodyne 激光雷達發(fā)射出來的激光束用紅色表示,Ibeo 發(fā)射出來的激光束用是藍色表示,雙目攝像機用黑色的點表示。
我們看到,Velodyne 的激光束與 MPV 算法的點基本上重合。這也說明 Velodyne 在探測微小障礙物的時候與雙目攝像機的效果是比較接近的。
相機是二維探測,而激光雷達是發(fā)射激光束。如果障礙物恰巧在線與線的間隔,那么可能會產(chǎn)生漏檢的風險。所以我們要求雷達去探測非常遠的物體,需盡早進行預警。
而視覺產(chǎn)品,關(guān)注中距離與近距離,它更加細膩,遇到細小的問題,就會更加的準確。我的比喻是「雷達是抱西瓜,視覺是撿芝麻」。所以在整套系統(tǒng)里,它一定是融合的,缺一不可。
問:雙目 ADAS 中處理雙目圖像的像素和幀率一般是多少才能滿足實際應(yīng)用?在雙目圖像處理過程中使用 FPGA 實現(xiàn)部分甚至全部的算法是否有何優(yōu)勢或劣勢?
答:對 ADAS 和自動駕駛系統(tǒng)來講,它們對像素和幀數(shù)的要求不一樣。對與輔助駕駛來講,雙目圖像像素要求遠遠低于自動駕駛,包括幀率比全自動駕駛要求得更低。
圖像計算是并行計算,我們會用到 GPU 或者 FPGA,F(xiàn)PGA 計算效率比 GPU 更高,F(xiàn)PGA 更像是一款定制化的芯片。GPU 或者他 ARM 芯片是通用型芯片,并不是為了算法而去設(shè)計的。所以 FPGA 的計算分辨率更高,幀率也會更高。
問:雙目的標定受環(huán)境影響大嗎?比如車輛震動、溫度等因素是否會影響攝像頭之間的標定?是否需要在線自動標定算法?
答:雙目的標定受環(huán)境影響主要看結(jié)構(gòu)設(shè)計。如果結(jié)構(gòu)設(shè)計可以保證相對距離不發(fā)生變化或發(fā)生微小變化,那么環(huán)境對它的影響不大。結(jié)構(gòu)設(shè)計、材料、結(jié)構(gòu)制造工藝要適應(yīng)環(huán)境影響,這樣可以把環(huán)境影響降到最低。
另外,對于特別微小的變化,再好的結(jié)構(gòu)也難以保證。所以自適應(yīng)自動標定的算法也是需要的。但有一個前提:形變一定在一個非常微小的范圍內(nèi)。如果說形變非常大,自適應(yīng)校正是校不回來的。所以,我們必須通過結(jié)構(gòu)去保證它的主要距離不發(fā)生變化,再通過自動標定的算法去校正因為環(huán)境而導致的微小變化。
問:鏡頭和傳感器屬于成本很難壓縮的組件,增加這部分成本,能否帶來合理的性價比的性能提升來對抗來自傳統(tǒng)的單目方案?
答:鏡頭和傳感器在整套設(shè)備中并不是非常昂貴。鏡頭和傳感器的成本應(yīng)該不到 100 元。這套設(shè)備主要成本來源于計算芯片 CPU,F(xiàn)PGA 或者 GPU。因為用了雙目,計算量變得龐大,導致我們對中心處理要求提升,也帶來了成本的增加。核算下來,雙目成本應(yīng)該是單目成本的 20% 左右。
至于性能,單目和雙目各有優(yōu)勢,單目是基于識別和分類,雙目是基于三角測量。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。