0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于Cortex-M0的CAN-FD總線控制器的驅(qū)動設(shè)計

智能汽車電子與軟件 ? 來源:智能汽車開發(fā)者平臺 ? 作者:Zifeng Wang等 ? 2022-12-20 16:16 ? 次閱讀

單目視覺是Mobileye(ME)的看家法寶,其實當年它也考慮過雙目,最終選擇放棄。

單目的測距和3-D估計靠什么?是檢測目標的Bounding Box(BB),如果無法檢測的障礙物,該系統(tǒng)就無法估計其距離和3-D姿態(tài)/朝向。沒有深度學習的時候,ME主要是基于BB,攝像頭標定得到的姿態(tài)和高度以及路面平直的假設(shè)估算距離。

有了深度學習,可以根據(jù)3-D的ground truth來訓練NN模型,得到3D大小和姿態(tài)估計,距離是基于平行線原理(single view metrology)得到的。不久前百度Apollo公布的單目L3解決方案講的比較清楚了,參考論文是“3D Bounding Box Estimation by Deep Learning and Geometry".

雙目當然可以算視差和深度了,即使沒有檢測出障礙物(因為有附加的深度信息,檢測器會比單目好),也會報警。問題是,雙目視覺系統(tǒng)估計視差沒那么容易,立體匹配是計算機視覺典型的難題,基線寬得到遠目標測距準,而基線短得到近目標測距結(jié)果好,這里是存在折衷的。

目前市場上ADAS存在的雙目視覺系統(tǒng)就是Subaru EyeSight,據(jù)說性能還行。

百度推出的阿波龍L4擺渡車量產(chǎn)100臺,就安裝了雙目系統(tǒng)。還有歐盟自主泊車項目V-Charge也采用了前向雙目視覺系統(tǒng),另外自動駕駛研發(fā)系統(tǒng)Berta Benz也是,而且和雷達系統(tǒng)后融合,其中雙目匹配的障礙物檢測算法Stixel很出名。以前Bosch和Conti這些Tier-1公司也研制過雙目視覺解決方案,但沒有在市場上產(chǎn)生影響力,據(jù)說被砍掉了。

談到雙目系統(tǒng)的難點,除了立體匹配,還有標定。標定后的系統(tǒng)會出現(xiàn)“漂移”的,所以在線標定是必須具有的。單目也是一樣,因為輪胎變形和車體顛簸都會影響攝像頭外參數(shù)變化,必須在線做標定修正一些參數(shù),比如仰角(pitch angle)和偏角(yaw angle)。

雙目在線標定就更復(fù)雜些,因為雙目匹配盡量簡化成1-D搜索,所以需要通過stereo rectification將兩個鏡頭光軸方向平行并和基線垂直。所以針對獲得的gain相比,增加的復(fù)雜度和成本,如果不劃算商家就會放棄。

最近重提雙目視覺,是因為硅谷芯片公司安霸(Ambarella)在2014年收購意大利帕爾馬大學的Vis Lab,研制了雙目的ADAS和自動駕駛芯片,去年CES之后就開始進軍車企和Tier-1。而且,安霸目前正在繼續(xù)研究提升該系統(tǒng)的性能。

下圖就是它在車頂安裝6對立體視覺系統(tǒng)的示意圖,其中它們的基線寬度可以不一樣的,相應(yīng)地有效檢測距離也就不同。筆者曾坐過它的自動駕駛車,遠處可以看到200米,近處20-30米。它確實可以做在線標定,隨時調(diào)整一些雙目視覺的參數(shù)。

c38c3cf0-7f87-11ed-8abf-dac502259ad0.jpg



1.立體匹配

先說立體匹配,即視差/深度估計。如圖假設(shè)左右攝像頭焦距f,基線(兩個光心連線)寬B,3-D點X的深度z,而其視差(投影到左右圖像的2-D點,其坐標差)即

c3a2c13c-7f87-11ed-8abf-dac502259ad0.jpg



c3b4c512-7f87-11ed-8abf-dac502259ad0.jpg





可見視差能夠反算深度值。但是這里最難的就是左右鏡頭看到的圖像如何確定是同一個目標,即匹配問題。

匹配方法分兩種,全局法和局部法,雙目匹配的四個步驟:

匹配成本(matching cost)計算;

成本聚集(aggregation);

視差(disparity)計算/優(yōu)化;

視差修正(refinement)。

最著名的局部法就是SGM(semi-global matching),很多產(chǎn)品在用的方法都是基于此的改進,不少視覺芯片都采用這種算法。
SGM就是把一個全局優(yōu)化近似成多個局部優(yōu)化的問題組合,如下公式是2-D匹配的優(yōu)化目標函數(shù),SGM實現(xiàn)成為多個1-D優(yōu)化路徑之和

c3c46f4e-7f87-11ed-8abf-dac502259ad0.png



下圖是沿著水平方向的路徑優(yōu)化函數(shù)

c3e26530-7f87-11ed-8abf-dac502259ad0.png



Census Transform是將8/24比特的像素變成一個2進制序列,另外一個2值特征叫LBP(local binary pattern)和它相似。立體匹配算法就是基于這個變換將匹配變成一個Hamming距離的最小化搜索。Intel的RealSense當年就是收購了一個成立于1994年基于該技術(shù)的雙目視覺創(chuàng)業(yè)公司,還收購另外幾個小公司把他們合在一起做出來的。

下圖是CS變換的示意圖:

c405e438-7f87-11ed-8abf-dac502259ad0.jpg



PatchMatch是一個加速圖像模版匹配的算法,被用在光流計算和視差估計上。之前微軟研究院曾經(jīng)做過一個基于單目手機相機3-D重建的項目,仿造以前成功的基于RGB-D算法KinectFusion,名字也類似MonoFusion,其中深度圖估計就是采用一個修正的PatchMatch方法。
其基本思想就是對視差和平面參數(shù)隨機初始化,然后通過鄰域像素之間信息傳播更新估計。PM算法分五個步驟:

1)空間傳播(Spatial propagation):每個像素檢查左邊和上邊鄰居視差和平面參數(shù),如果匹配成本變小就取代當前估計;

2)視角傳播(View propagation):其他視角的像素做變換,檢查其對應(yīng)圖像的估計,如果變小就取代;

3)時域傳播(Temporal propagation):前后幀考慮對應(yīng)像素的估計;

4)平面細化(Plane refinement):隨機產(chǎn)生樣本,如果估計使匹配成本下降,更新。

5)后處理(Post-processing):左右一致性和加權(quán)中值濾波器去除出格點(outliers)。

下圖是PM的示意圖:

c415fd5a-7f87-11ed-8abf-dac502259ad0.jpg



2.在線標定

再說在線標定。

這是一個利用路上標志線(斑馬線)的標定方法:已知斑馬線的平行線模式,檢測斑馬線并提取角點,計算斑馬線模式和路面實現(xiàn)匹配的單映性變換(Homography)參數(shù),得到標定參數(shù)。

c434f5de-7f87-11ed-8abf-dac502259ad0.jpg



另外一個方法基于VO和SLAM,比較復(fù)雜,不過可以同時做基于地圖的定位。采用SLAM做在線標定,不適合高頻率操作,下圖是其算法的流程圖:1-4步, 通過立體視覺SLAM獲取全局連續(xù)地圖;第5步給出雙目相機變換初始估計,第6步把所有立體相機的地圖聚合成一個地圖;7-8步獲取多個相機之間的姿態(tài)。

c44df6b0-7f87-11ed-8abf-dac502259ad0.jpg




和單目方法類似,采用車道線平行和路平面這個假設(shè)可以快速完成在線標定,即消失點(vanishing point)理論:假設(shè)一個平坦的道路模型,清晰的縱向車道線,沒有其他目標的邊緣和它們平行;要求駕駛車輛速度慢,車道線連續(xù),左右相機的雙目配置要左攝像頭相對路面的仰角/斜角(yaw/roll angles)比較??;這樣跟初始化的消失點(與線下標定相關(guān))比較可以算出雙目外參數(shù)的漂移量(圖5-269),其算法就是從消失點估計攝像頭仰角/斜角。

c475e396-7f87-11ed-8abf-dac502259ad0.jpg



3.典型的雙目自動駕駛系統(tǒng)

下面介紹幾個典型的雙目自動駕駛系統(tǒng)。

Berta Benz采用的障礙物檢測算法Stixel基于以下假設(shè):場景中的目標描述為列,重心的原因目標是站立在地面上,每個目標上的上部比下部的深度大。下圖(a-d) 介紹了SGM視差結(jié)果如何生成Stixel分割結(jié)果:

c48df2f6-7f87-11ed-8abf-dac502259ad0.jpg



下圖是Stixels 計算的示意圖:(a)基于動態(tài)規(guī)劃的自由駕駛空間計算 (b) 高度分割中的屬性值 (c) 成本圖像 (灰度值反過來) (d) 高度分割。

c4a2da7c-7f87-11ed-8abf-dac502259ad0.jpg



這是他們加上深度學習做視差融合之后再做Stixel的框圖和新結(jié)果:

c4b53582-7f87-11ed-8abf-dac502259ad0.jpg




c4c7c6b6-7f87-11ed-8abf-dac502259ad0.jpg



介紹一個VisLab早期雙目障礙物的算法,Generic Obstacle and Lane Detection system (GOLD)。基于IPM(Inverse Perspective Mapping),檢測車道線,根據(jù)左右圖像的差計算路上障礙物:

c4dabce4-7f87-11ed-8abf-dac502259ad0.jpg




(a) Left. (b) Right (c) Remapped left. (d) Remapped right. (e) Thresholded and filtered difference between remapped views. (f) In light gray, the road area visible from both cameras.

c4ee7cca-7f87-11ed-8abf-dac502259ad0.jpg




(a) Original. (b) Remapped. (c) Filtered. (d) Enhanced. (e) Binarized.

c5008adc-7f87-11ed-8abf-dac502259ad0.jpg





GOLD system architecture

這是VisLab參加自動駕駛比賽VIAC (VisLab Intercontinental Autonomous Challenge)的車輛,除了雙目攝像頭以外,車上還有激光雷達作為道路分類的輔助。

c50eb684-7f87-11ed-8abf-dac502259ad0.jpg




這是其雙目障礙物檢測流程圖:視差估計利用了SGM算法和基于SAD的相關(guān)算法。

c52042b4-7f87-11ed-8abf-dac502259ad0.png



后處理中加了兩個DSI(Disparity Space Image)空間的濾波器,見圖5-274,一個是平滑處理,另一個是基于慣導(IMU)的運動軌跡處理。

c52fdc24-7f87-11ed-8abf-dac502259ad0.jpg



障礙物檢測算法采用了JPL的方法,基于空間布置特性以及車輛的物理特性聚類得到障礙物。物理特性包括最大的高度(車輛),最小高度(障礙物)和最大道路可通過范圍,這些約束定義了一個空間截斷錐(truncated cone), 如圖所示,那么在聚類過程中凡是落在截斷錐內(nèi)的點劃為障礙物。

c553f2a8-7f87-11ed-8abf-dac502259ad0.jpg



為加速視差估計算法,采用了劃分DSI的方法:

c573f4cc-7f87-11ed-8abf-dac502259ad0.jpg



另外一種經(jīng)典的方法是根據(jù)路面方程(立體視覺)得到路面視差,基于此計算出路面的障礙物:

c5835502-7f87-11ed-8abf-dac502259ad0.jpg



c596af12-7f87-11ed-8abf-dac502259ad0.jpg



4.總結(jié)

總的看,雙目檢測障礙物的方法基本基于視差圖,基于路面視差的方法較多。也許隨著深度學習發(fā)展的突飛猛進,加上計算平臺的增強,雙目自動駕駛系統(tǒng)也會普及起來。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    16133

    瀏覽量

    177147
  • 檢測器
    +關(guān)注

    關(guān)注

    1

    文章

    857

    瀏覽量

    47631
  • 深度學習
    +關(guān)注

    關(guān)注

    73

    文章

    5471

    瀏覽量

    120904

原文標題:基于Cortex-M0的CAN-FD總線控制器的驅(qū)動設(shè)計

文章出處:【微信號:智能汽車電子與軟件,微信公眾號:智能汽車電子與軟件】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    如何選擇CAN總線控制器

    在現(xiàn)代工業(yè)自動化和汽車電子領(lǐng)域,CAN(Controller Area Network)總線因其高可靠性、實時性和靈活性而成為廣泛使用的通信協(xié)議之一。選擇合適的CAN總線
    的頭像 發(fā)表于 11-12 09:48 ?82次閱讀

    CAN總線知識】深度解析CAN-FDCAN協(xié)議的差別

    導讀隨著工業(yè)的發(fā)展,工業(yè)總線上的數(shù)據(jù)量越來越多,這使得CAN總線的逐漸達到負荷極限,這就需要改進原有的總線來提高總線傳輸速率,
    的頭像 發(fā)表于 10-23 08:06 ?376次閱讀
    【<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>知識】深度解析<b class='flag-5'>CAN-FD</b>與<b class='flag-5'>CAN</b>協(xié)議的差別

    CAN-FDCAN總線網(wǎng)絡(luò)第二章

    日常工作中使用 CAN FD 的公司實習。無論哪種方式,本指南都會向您展示 CAN FD:具有靈活數(shù)據(jù)的 CAN 的相似點、差異和用例。
    的頭像 發(fā)表于 10-02 15:20 ?181次閱讀
    <b class='flag-5'>CAN-FD</b>:<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>網(wǎng)絡(luò)第二章

    CAN總線控制器的工作原理

    CAN(Controller Area Network,控制器局域網(wǎng))總線控制器的工作原理涉及多個方面,包括消息傳輸、沖突檢測與解決、總線
    的頭像 發(fā)表于 09-30 11:33 ?515次閱讀

    CAN總線控制器是什么意思

    CAN總線控制器(Controller Area Network Bus Controller)是CAN總線通信系統(tǒng)中的核心部件,它扮演著接
    的頭像 發(fā)表于 09-03 14:16 ?644次閱讀

    CAN/CAN FD/CAN XL三大總線協(xié)議解讀,是逐步替代關(guān)系嗎?

    (Controller Area Network,控制器局域網(wǎng)總線)是一種用于實時應(yīng)用的串行通訊協(xié)議總線,最初由博世公司開發(fā),
    的頭像 發(fā)表于 08-12 01:12 ?4150次閱讀

    MSPM0G310x-Q1汽車類具有CAN-FD接口的混合信號微控制器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《MSPM0G310x-Q1汽車類具有CAN-FD接口的混合信號微控制器數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 08-01 11:35 ?0次下載
    MSPM<b class='flag-5'>0</b>G310x-Q1汽車類具有<b class='flag-5'>CAN-FD</b>接口的混合信號微<b class='flag-5'>控制器</b>數(shù)據(jù)表

    MSPM0G350x-Q1具有CAN-FD接口的汽車類混合信號微控制器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《MSPM0G350x-Q1具有CAN-FD接口的汽車類混合信號微控制器數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 08-01 11:30 ?0次下載
    MSPM<b class='flag-5'>0</b>G350x-Q1具有<b class='flag-5'>CAN-FD</b>接口的汽車類混合信號微<b class='flag-5'>控制器</b>數(shù)據(jù)表

    MSPM0G310x具有CAN-FD接口的混合信號微控制器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《MSPM0G310x具有CAN-FD接口的混合信號微控制器數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 07-31 09:35 ?0次下載
    MSPM<b class='flag-5'>0</b>G310x具有<b class='flag-5'>CAN-FD</b>接口的混合信號微<b class='flag-5'>控制器</b>數(shù)據(jù)表

    MSPM0G350x具有CAN-FD接口的混合信號微控制器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《MSPM0G350x具有CAN-FD接口的混合信號微控制器數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 07-31 09:34 ?0次下載
    MSPM<b class='flag-5'>0</b>G350x具有<b class='flag-5'>CAN-FD</b>接口的混合信號微<b class='flag-5'>控制器</b>數(shù)據(jù)表

    請問stm32的cortex-m0怎么樣?

    為什么都說STM32專業(yè)做M3 ,M4,M0要找芯唐和NXP,難道因為ST的CORTEX-M0芯片不穩(wěn)定還是有其他問題?
    發(fā)表于 05-15 06:31

    供應(yīng)SIT1145AQ-帶選擇性喚醒及故障保護的低功耗 CAN FD 總線收發(fā)

    ? SOP14 以及 DFN4.5×3.0-14 封裝 SIT1145AQ 是一款應(yīng)用于 CAN 協(xié)議控制器和物理總線之間的接口芯片,支持 5Mbps 靈活數(shù)據(jù)速 率(Flexible
    發(fā)表于 02-20 09:10

    CAN控制器、CAN收發(fā)、CAN驅(qū)動器的區(qū)別是什么?

    CAN總線結(jié)構(gòu)中,CAN控制器、CAN收發(fā)CAN
    的頭像 發(fā)表于 01-30 09:44 ?3702次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>控制器</b>、<b class='flag-5'>CAN</b>收發(fā)<b class='flag-5'>器</b>、<b class='flag-5'>CAN</b><b class='flag-5'>驅(qū)動器</b>的區(qū)別是什么?

    如何使用DSLogic分析CAN/CAN-FD 信號?

    一文檔介紹本文將一步步介紹如何使用DSLogic邏輯分析儀采集并分析CAN/CAN-FD信號,因為CAN信號的測量和CAN-FD的大致一樣,所以下文以
    的頭像 發(fā)表于 01-08 14:54 ?1118次閱讀
    如何使用DSLogic分析<b class='flag-5'>CAN</b>/<b class='flag-5'>CAN-FD</b> 信號?

    請問usb can收發(fā)是否能和CAN FD總線搭配使用呢?

    請問usb can收發(fā)是否能和CAN FD總線搭配使用呢? USB-CAN收發(fā)
    的頭像 發(fā)表于 11-22 16:37 ?780次閱讀