未來十年,為了完成從感知+預(yù)警到?jīng)Q策+執(zhí)行的進(jìn)化之路,高級輔助駕駛系統(tǒng)(ADAS)將接入更多的傳感器,實(shí)現(xiàn)更為復(fù)雜的計(jì)算,同時(shí)具備更高的安全性。
雙目視覺簡介
相比于單目視覺,雙目視覺(Stereo Vision)的關(guān)鍵區(qū)別在于可以利用雙攝像頭從不同角度對同一目標(biāo)成像,從而獲取視差信息,推算目標(biāo)距離。具體到視覺ADAS應(yīng)用來說,如果采用單目攝 像頭,為了識(shí)別行人和車輛等目標(biāo),通常需要大規(guī)模的數(shù)據(jù)采集和訓(xùn)練來完成機(jī)器學(xué)習(xí)算法,并且難以識(shí)別不規(guī)則物體;而利用毫米波雷達(dá)和激光雷達(dá)進(jìn)行測距的精 度雖然較高,但是成本和難度亦較高。所以,雙目視覺的最大優(yōu)勢在于維持開發(fā)成本較低的前提下,實(shí)現(xiàn)一定精度的目標(biāo)識(shí)別和測距,完成FCW(前方碰撞預(yù)警) 等ADAS功能。
雙目視覺測距的基本原理并不復(fù)雜,如下圖所示,P為目標(biāo)點(diǎn),它在左右兩個(gè)相機(jī)(鏡頭中心分別為A和B)上的成像點(diǎn)分別為E和F,則P點(diǎn)在兩個(gè)相機(jī)中 的視差為d=EC+DF。根據(jù)三角形ACE與POA以及三角形BDF與POB的相似性,推導(dǎo)可得d=(fq)/z,其中f為相機(jī)焦距,q為兩相機(jī)光軸的距 離,z為目標(biāo)到相機(jī)平面的距離。則距離z=(fq)/d,而f和q可認(rèn)為是固定參數(shù),所以求出視差信號d即可求得距離z。
雙目視覺測距原理
根據(jù)雙目視覺的測距原理,通常將其實(shí)現(xiàn)過程分為五個(gè)步驟:相機(jī)標(biāo)定,圖像獲取,圖像預(yù)處理,特征提取與立體匹配,三維重構(gòu)。其中,相機(jī)標(biāo)定是為了得 到相機(jī)的內(nèi)外參數(shù)和畸變系數(shù)等,可以離線進(jìn)行;而左右相機(jī)圖像獲取的同步性,圖像預(yù)處理的質(zhì)量和一致性,以及立體匹配(獲取視差信息)和三維重構(gòu)(獲取距離信息)算法的實(shí)時(shí)性要求帶來的巨大運(yùn)算量,對在嵌入式平臺(tái)上實(shí)現(xiàn)雙目視覺ADAS提出了挑戰(zhàn)。
單目和雙目詳細(xì)對比
視覺方案要完成ADAS任務(wù),一般要實(shí)現(xiàn)測距(本車與前方障礙物距離)和識(shí)別(障礙物是什么)兩項(xiàng)工作。按照車載攝像頭模組的不同,目前主流ADAS攝像頭可以分為單目和雙目兩種技術(shù)路線。
單目攝像頭的算法思路是先識(shí)別后測距:首先通過圖像匹配進(jìn)行識(shí)別,然后根據(jù)圖像大小和高度進(jìn)一步估算障礙與本車時(shí)間。在識(shí)別和估算階段,都需要和建立的樣本數(shù)據(jù)庫進(jìn)行比較。想要識(shí)別各種車,就要建立車型數(shù)據(jù)庫,想要識(shí)別麋鹿,就要建立麋鹿數(shù)據(jù)庫。
雙目攝像頭的算法思路是先測距后識(shí)別:首先利用視差直接測量物體與車的距離,原理和人眼類似。兩只眼睛看同一個(gè)物體時(shí),會(huì)存在視差,也就是分別閉上左右眼睛 看物體時(shí),會(huì)發(fā)現(xiàn)感官上的位移。這種位移大小可以進(jìn)一步測量出目標(biāo)物體的遠(yuǎn)近。然后在識(shí)別階段,雙目仍然要利用單目一樣的特征提取和深度學(xué)習(xí)等算法,進(jìn)一 步識(shí)別障礙物到底是什么。
因?yàn)橐暡钤竭h(yuǎn)越小的緣故,業(yè)內(nèi)有觀點(diǎn)認(rèn)為,雙目在20米內(nèi)有明顯的測距優(yōu)勢,在20米距離外,視差減小測距存在難度,可以用高像素?cái)z像頭和更優(yōu)秀的算法來提升測距性能,該處是難點(diǎn)也是核心競爭力。
雙目鏡頭間距和測距是兩個(gè)此消彼長的參數(shù),鏡頭間距越小,檢測距離越近,鏡頭間距越大,檢測距離越遠(yuǎn)??紤]車內(nèi)美觀和ADAS需要,小尺寸遠(yuǎn)距離雙目產(chǎn)品更受歡迎。
因?yàn)樵黾恿艘粋€(gè)鏡頭,帶來更多運(yùn)算量,整個(gè)攝像頭模組的性能要求和成本都更高了。而且在兩者都有的標(biāo)定工作上,雙目要比單目更加復(fù)雜。而且選擇雙目方案切入市場并不能完全繞開單目方案的難點(diǎn),在第二個(gè)階段,你依然要需要一個(gè)龐大的數(shù)據(jù)庫,依然需要打磨算法。
單雙目比較
除了單雙目之外,還有多攝像頭組成的平臺(tái)。有的方案中選用長焦和廣角攝像頭于ADAS主攝像頭配合,兼顧周圍環(huán)境與遠(yuǎn)處物體探測。比如Mobileye方案,在下文會(huì)介紹。
也有在環(huán)視平臺(tái)上疊加ADAS功能的情況。例如對于環(huán)視做車道偏離預(yù)警(LDW),與單目實(shí)現(xiàn)該功能比有一定優(yōu)勢。在大雨天氣或者前方強(qiáng)光源的情況下,前視攝像頭有可能看不清車道線,環(huán)視攝像頭斜向下看車道線且可以提供多個(gè)角度,基本不會(huì)受到地面積水反光的影響,功能可以比前視做得更穩(wěn)定。但同時(shí)也要考慮側(cè)向無車燈照射時(shí),攝像頭的夜間表現(xiàn)。
這幾種方案在技術(shù)路線上和單目沒有本質(zhì)差別,更多是基于不同平臺(tái),發(fā)揮不同類型攝像頭模組的優(yōu)勢分配任務(wù),或者提供更多視角來解決一些復(fù)雜環(huán)境中單目勢單力薄的情況。
方案示例:基于S32V234的雙目視覺ADAS解決方案 恩智浦視覺ADAS專用SoC: S32V234結(jié)構(gòu)圖
S32V234采用了4顆ARM Cortex A53作為核心CPU,以獲得更高的性能功耗比。另外,S32V234包含了一顆ARM Cortex M4來作為片上MCU,主要用于關(guān)鍵IO(如CAN-FD)的實(shí)時(shí)控制,并支持AutoSAR操作系統(tǒng)。
芯片集成了兩路MIPI-CSI2和兩路16bit并行相機(jī)接口,以及Gbit以太網(wǎng)控制器,為圖像傳感器的輸入提供了多種選擇。同時(shí)芯片內(nèi)部包含 了可編程的圖像信號處理(ISP)硬件模塊。利用嵌入式ISP,外部配搭的圖像傳感器可以輸出raw data,從而降低物料成本,節(jié)省空間尺寸。另外,芯片還包含了兩個(gè)名為APEX2CL的視覺加速引擎。每個(gè)APEX2CL擁有64個(gè)本地計(jì)算單元 (CU),并配有本地內(nèi)存,通過SIMD/MIMD(單指令多數(shù)據(jù)/多指令多數(shù)據(jù))的處理方式對圖像識(shí)別過程進(jìn)行加速。
另外值得指出的是,考慮到ADAS系統(tǒng)對安全性和可靠性的嚴(yán)苛需求,S32V234在設(shè)計(jì)時(shí)加入了諸如ECC(錯(cuò)誤檢查與糾正),F(xiàn)CCU(故障收 集與控制單元),M/L BIST(內(nèi)存/邏輯內(nèi)置自測)等多種安全機(jī)制,能夠滿足ISO26262 ASIL B~C的需求。
S32V234片上具有兩路MIPI-CSI2相機(jī)接口,每一路最大可提供6Gbps的傳輸速率,可用于左右兩路相機(jī)的視頻輸入。由于兩路相機(jī)分別 輸入兩個(gè)MIPI通道,需要考慮二者之間的同步問題。在外部圖像傳感器的配合下,S23V324能夠支持不同的同步方式。如圖3所示,圖像傳感器通常具有 場同步信號(VSYNC)和行同步信號(HSYNC)來進(jìn)行信號同步:當(dāng)兩路相機(jī)工作在主從模式時(shí),由Master向Slave發(fā)送同步信號;當(dāng)兩路相機(jī) 都工作在從模式時(shí),可以由S32V234內(nèi)部定時(shí)器產(chǎn)生同步信號,同時(shí)發(fā)送給兩路相機(jī)。
雙目相機(jī)同步方案
在S32V234獲取外部相機(jī)的圖像信號后,可以由內(nèi)部的ISP進(jìn)行預(yù)處理。ISP模塊包含多個(gè)針對ISP功能進(jìn)行優(yōu)化的處理單元,利用片上 SRAM對輸入信號和中間處理結(jié)果進(jìn)行緩存,并采用一個(gè)基于ARM Cortex M0+的專用協(xié)處理器來管理ISP處理單元的時(shí)序,從而實(shí)現(xiàn)圖像信號的像素級處理。由于ISP位于芯片內(nèi)部并且可以靈活編程,所以不僅能夠節(jié)省雙目相機(jī)外置ISP的成本,而且其運(yùn)算資源和帶寬能夠支持對雙路高達(dá)1080p@30fps圖像信號的實(shí)時(shí)處理,保證了雙路圖像信號的質(zhì)量和一致性。
在雙目視覺ADAS應(yīng)用中,最大的挑戰(zhàn)來自于對兩路圖像進(jìn)行立體匹配和三維重構(gòu)所需要的巨大運(yùn)算量。以FCW應(yīng)用為例,既要求視差信號的提取具有足夠的精度以保證測距精度,又要求處理幀頻維持一定水平以保證預(yù)警的響應(yīng)速度,因此要求嵌入式平臺(tái)具有足夠的處理能力。S32V234中集成的圖像加速引擎 APEX2的結(jié)構(gòu)如圖4所示,其并行計(jì)算結(jié)構(gòu)和專用DMA等設(shè)計(jì)保證了對圖像信號具有極高的處理效率。具體來說,ISP對圖像信號預(yù)處理完畢后送入DDR,APEX2引擎將圖像分割后經(jīng)由專用DMA將其送入每個(gè)CU對應(yīng)的本地內(nèi)存CMEM中,而立體匹配所需要的塊匹配(Block Matching)等算法可以在不同的CU中并行處理,處理完畢后的數(shù)據(jù)經(jīng)由DMA送回DDR,由CPU進(jìn)行進(jìn)一步處理(如生成預(yù)警信號),或送至專門的 DCU(Display Control Unit)模塊輸出顯示。
APEX2架構(gòu)及圖像處理示意圖
綜上所述,基于S32V234的雙目視覺應(yīng)用數(shù)據(jù)流如圖5所示。在該應(yīng)用中,數(shù)據(jù)流按照ISP-APEX2-DCU的方向流動(dòng),A53作為主控CPU完成邏輯控制和必要的數(shù)據(jù)處理。通過這種流水線式的處理方式,可以使各部分計(jì)算資源充分利用,提高計(jì)算效率。
基于S32V234的雙目視覺數(shù)據(jù)流
利用S32V234開發(fā)板搭建雙目視覺平臺(tái),對雙路720p@30fps視頻信號進(jìn)行處理,其輸出結(jié)果如圖6所示。其中從上至下的三幅圖中目標(biāo)與相機(jī)的距離分別為1m,2m,3m,顯示結(jié)果以冷暖色調(diào)的變化表征目標(biāo)距離。結(jié)果表明,S32V234能夠?qū)﹄p目視覺信號進(jìn)行實(shí)時(shí)處理,正確得到三維測距結(jié)果,同時(shí)輔以芯片的各項(xiàng)安全性設(shè)計(jì),可以滿足雙目視覺ADAS系統(tǒng)的需求。
總結(jié)
恩智浦的視覺ADAS專用芯片S32V234集成了圖像信號處理器ISP,圖形加速引擎APEX2,3D GPU等專用計(jì)算單元,通過流水線式的處理架構(gòu)使各個(gè)異構(gòu)計(jì)算資源充分利用;不同計(jì)算模塊對OpenCV ,OpenCL和OpenVG等多種API的支持增強(qiáng)了算法的可移植性;而符合ISO26262標(biāo)準(zhǔn)的功能安全設(shè)計(jì)使得芯片能夠滿足ADAS系統(tǒng)對安全性 的嚴(yán)苛需求。S32V234支持包括雙目視覺在內(nèi)的多種視覺ADAS和傳感器數(shù)據(jù)融合解決方案,使得我們在通往無人駕駛的道路上邁出堅(jiān)實(shí)的一步。
|