<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 物聯(lián)網(wǎng)與傳感器 > 設計應用 > 基于SoC的雙目視覺ADAS解決方案

          基于SoC的雙目視覺ADAS解決方案

          作者: 時間:2017-10-14 來源:網(wǎng)絡 收藏

            相比于單目視覺,雙目視覺(Stereo Vision)的關鍵區(qū)別在于可以利用雙攝像頭從不同角度對同一目標成像,從而獲取視差信息,推算目標距離。未來十年,為了完成從感知+預警到?jīng)Q策+執(zhí)行的進化之路,高級輔助駕駛系統(tǒng)(ADAS)將接入更多的傳感器,實現(xiàn)更為復雜的計算,同時具備更高的安全性。

          本文引用地址:http://www.ex-cimer.com/article/201710/366091.htm

            

            圖1:S32V234結構圖

            S32V234采用了4顆ARM Cortex A53作為核心CPU,以獲得更高的性能功耗比。另外,S32V234包含了一顆ARM Cortex M4來作為片上MCU,主要用于關鍵IO(如CAN-FD)的實時控制,并支持AutoSAR操作系統(tǒng)。

            芯片集成了兩路MIPI-CSI2和兩路16bit并行相機接口,以及Gbit以太網(wǎng)控制器,為圖像傳感器的輸入提供了多種選擇。同時芯片內(nèi)部包含了可編程的圖像信號處理(ISP)硬件模塊。利用嵌入式ISP,外部配搭的圖像傳感器可以輸出raw data,從而降低物料成本,節(jié)省空間尺寸。另外,芯片還包含了兩個名為APEX2CL的視覺加速引擎。每個APEX2CL擁有64個本地計算單元(CU),并配有本地內(nèi)存,通過SIMD/MIMD(單指令多數(shù)據(jù)/多指令多數(shù)據(jù))的處理方式對圖像識別過程進行加速。 另外值得指出的是,考慮到ADAS系統(tǒng)對安全性和可靠性的嚴苛需求,S32V234在設計時加入了諸如ECC(錯誤檢查與糾正),F(xiàn)CCU(故障收集與控制單元),M/L BIST(內(nèi)存/邏輯內(nèi)置自測)等多種安全機制,能夠滿足ISO26262 ASIL B~C的需求。

            雙目視覺簡介

            相比于單目視覺,雙目視覺(Stereo Vision)的關鍵區(qū)別在于可以利用雙攝像頭從不同角度對同一目標成像,從而獲取視差信息,推算目標距離。具體到視覺ADAS應用來說,如果采用單目攝像頭,為了識別行人和車輛等目標,通常需要大規(guī)模的數(shù)據(jù)采集和訓練來完成機器學習算法,并且難以識別不規(guī)則物體;而利用毫米波雷達和激光雷達進行測距的精度雖然較高,但是成本和難度亦較高。所以,雙目視覺的最大優(yōu)勢在于維持開發(fā)成本較低的前提下,實現(xiàn)一定精度的目標識別和測距,完成FCW(前方碰撞預警)等ADAS功能。

            雙目視覺測距的基本原理并不復雜,如圖2所示,P為目標點,它在左右兩個相機(鏡頭中心分別為A和B)上的成像點分別為E和F,則P點在兩個相機中的視差為d=EC+DF。根據(jù)三角形ACE與POA以及三角形BDF與POB的相似性,推導可得d=(fq)/z,其中f為相機焦距,q為兩相機光軸的距離,z為目標到相機平面的距離。則距離z=(fq)/d,而f和q可認為是固定參數(shù),所以求出視差信號d即可求得距離z。

            

            圖2:雙目視覺測距原理

            根據(jù)雙目視覺的測距原理,通常將其實現(xiàn)過程分為五個步驟:相機標定,圖像獲取,圖像預處理,特征提取與立體匹配,三維重構。其中,相機標定是為了得到相機的內(nèi)外參數(shù)和畸變系數(shù)等,可以離線進行;而左右相機圖像獲取的同步性,圖像預處理的質(zhì)量和一致性,以及立體匹配(獲取視差信息)和三維重構(獲取距離信息)算法的實時性要求帶來的巨大運算量,對在嵌入式平臺上實現(xiàn)雙目視覺ADAS提出了挑戰(zhàn)。

            基于S32V234的雙目視覺ADAS解決方案

            S32V234片上具有兩路MIPI-CSI2相機接口,每一路最大可提供6Gbps的傳輸速率,可用于左右兩路相機的視頻輸入。由于兩路相機分別輸入兩個MIPI通道,需要考慮二者之間的同步問題。在外部圖像傳感器的配合下,S23V324能夠支持不同的同步方式。如圖3所示,圖像傳感器通常具有場同步信號(VSYNC)和行同步信號(HSYNC)來進行信號同步:當兩路相機工作在主從模式時,由Master向Slave發(fā)送同步信號;當兩路相機都工作在從模式時,可以由S32V234內(nèi)部定時器產(chǎn)生同步信號,同時發(fā)送給兩路相機。

            

            圖3:雙目相機同步方案

            在S32V234獲取外部相機的圖像信號后,可以由內(nèi)部的ISP進行預處理。ISP模塊包含多個針對ISP功能進行優(yōu)化的處理單元,利用片上SRAM對輸入信號和中間處理結果進行緩存,并采用一個基于ARM Cortex M0+的專用協(xié)處理器來管理ISP處理單元的時序,從而實現(xiàn)圖像信號的像素級處理。由于ISP位于芯片內(nèi)部并且可以靈活編程,所以不僅能夠節(jié)省雙目相機外置ISP的成本,而且其運算資源和帶寬能夠支持對雙路高達1080p@30fps圖像信號的實時處理,保證了雙路圖像信號的質(zhì)量和一致性。

            在雙目視覺ADAS應用中,最大的挑戰(zhàn)來自于對兩路圖像進行立體匹配和三維重構所需要的巨大運算量。以FCW應用為例,既要求視差信號的提取具有足夠的精度以保證測距精度,又要求處理幀頻維持一定水平以保證預警的響應速度,因此要求嵌入式平臺具有足夠的處理能力。S32V234中集成的圖像加速引擎APEX2的結構如圖4所示,其并行計算結構和專用DMA等設計保證了對圖像信號具有極高的處理效率。具體來說,ISP對圖像信號預處理完畢后送入DDR,APEX2引擎將圖像分割后經(jīng)由專用DMA將其送入每個CU對應的本地內(nèi)存CMEM中,而立體匹配所需要的塊匹配(Block Matching)等算法可以在不同的CU中并行處理,處理完畢后的數(shù)據(jù)經(jīng)由DMA送回DDR,由CPU進行進一步處理(如生成預警信號),或送至專門的DCU(Display Control Unit)模塊輸出顯示。

            

            圖4:APEX2架構及圖像處理示意圖

            綜上所述,基于S32V234的雙目視覺應用數(shù)據(jù)流如圖5所示。在該應用中,數(shù)據(jù)流按照ISP-APEX2-DCU的方向流動,A53作為主控CPU完成邏輯控制和必要的數(shù)據(jù)處理。通過這種流水線式的處理方式,可以使各部分計算資源充分利用,提高計算效率。

            

            圖5:基于S32V234的雙目視覺數(shù)據(jù)流

            利用S32V234開發(fā)板搭建雙目視覺平臺,對雙路720p@30fps視頻信號進行處理,其輸出結果如圖6所示。其中從左至右的三幅圖中目標與相機的距離分別為1m,2m,3m,顯示結果以冷暖色調(diào)的變化表征目標距離。結果表明,S32V234能夠?qū)﹄p目視覺信號進行實時處理,正確得到三維測距結果,同時輔以芯片的各項安全性設計,可以滿足雙目視覺ADAS系統(tǒng)的需求。

            

            圖6:S32V234雙目視覺顯示結果

            總結

            的視覺ADAS專用芯片S32V234集成了圖像信號處理器ISP,圖形加速引擎APEX2,3D GPU等專用計算單元,通過流水線式的處理架構使各個異構計算資源充分利用;不同計算模塊對OpenCV ,OpenCL和OpenVG等多種API的支持增強了算法的可移植性;而符合ISO26262標準的功能安全設計使得芯片能夠滿足ADAS系統(tǒng)對安全性的嚴苛需求。S32V234支持包括雙目視覺在內(nèi)的多種視覺ADAS和傳感器數(shù)據(jù)融合解決方案,使得我們在通往無人駕駛的道路上邁出堅實的一步。



          關鍵詞: cpu soc 恩智浦

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();