侵權(quán)投訴
訂閱
糾錯(cuò)
加入自媒體

自動(dòng)駕駛汽車如何依靠攝像頭判斷距離?

車載攝像頭在自動(dòng)駕駛中,就像是“看見(jiàn)世界”的眼睛,其主要任務(wù)是把外界的光學(xué)信息轉(zhuǎn)換成計(jì)算機(jī)能理解的像素?cái)?shù)據(jù),再通過(guò)一系列算法,從這些像素中提煉出“有什么物體、在什么位置、如何運(yùn)動(dòng)、可能想做什么”這類高層信息。作為一個(gè)感覺(jué)硬件車載攝像頭是如何感知距離的?

車載攝像頭的基本架構(gòu)與信號(hào)處理流程

攝像頭的核心是一塊光電傳感器,現(xiàn)在普遍用的是CMOS傳感器。光線從鏡頭進(jìn)入,經(jīng)過(guò)光圈、濾光片,最后投射到傳感器表面。傳感器把接收到的光轉(zhuǎn)換成電荷,模數(shù)轉(zhuǎn)換器再把這些電荷轉(zhuǎn)成數(shù)字值,這些數(shù)值就組成了一幀圖像。

鏡頭決定了視角和成像會(huì)不會(huì)畸變,光圈和快門控制著進(jìn)光量和運(yùn)動(dòng)模糊程度,傳感器像素的大小則決定了單位面積捕捉光子的能力。

隨后,ISP(圖像信號(hào)處理器)會(huì)對(duì)原始數(shù)據(jù)做去噪、白平衡、伽瑪校正、去畸變和壓縮等處理,最終輸出給機(jī)器學(xué)習(xí)或視覺(jué)算法直接使用的圖像流。

車載攝像頭和普通相機(jī)的不同,主要在于工程上的要求更苛刻。它必須能應(yīng)對(duì)高動(dòng)態(tài)范圍(比如白天強(qiáng)光和進(jìn)入隧道后的黑暗)、溫度變化、機(jī)械振動(dòng)、雨雪和灰塵。

為了適應(yīng)這些場(chǎng)景,車載系統(tǒng)通常會(huì)配備自動(dòng)曝光、短時(shí)HDR(高動(dòng)態(tài)范圍合成)功能,并在全局快門和滾動(dòng)快門之間權(quán)衡(滾動(dòng)快門成本低,但在快速運(yùn)動(dòng)下會(huì)產(chǎn)生變形)。有時(shí)還會(huì)在鏡頭前加裝電熱絲來(lái)防霧,或在夜間用紅外/近紅外補(bǔ)光。

攝像頭模組需要經(jīng)過(guò)精確標(biāo)定,包括內(nèi)參(焦距、主點(diǎn)、畸變系數(shù))和外參(相對(duì)于車體坐標(biāo)以及其他傳感器的位置和姿態(tài)),這對(duì)后續(xù)的距離估計(jì)和多傳感器融合非常關(guān)鍵。

在自動(dòng)駕駛系統(tǒng)中,攝像頭數(shù)據(jù)需要與車輛總線、IMU(慣性測(cè)量單元)、車輪里程計(jì)、激光雷達(dá)等同步。時(shí)間戳是否精確、幀率高低以及延遲大小,都會(huì)直接影響車輛對(duì)動(dòng)態(tài)目標(biāo)(比如行人、摩托車)的反應(yīng)能力。

分辨率和幀率之間也常常需要權(quán)衡,更高分辨率有助于識(shí)別遠(yuǎn)處的小物體,但處理和傳輸?shù)呢?fù)擔(dān)更重;更高幀率能減少運(yùn)動(dòng)模糊、提升響應(yīng)速度,但可能導(dǎo)致光學(xué)信號(hào)變暗,并且更消耗算力。

攝像頭在自動(dòng)駕駛系統(tǒng)中的作用

之所以把攝像頭比作“眼睛”很形象,是因?yàn)樗瞄L(zhǎng)提供顏色、紋理、形狀這類信息給計(jì)算機(jī)識(shí)別。

其具體任務(wù)包括檢測(cè)和定位車輛、行人、騎行者、交通標(biāo)志、交通燈、車道線等,進(jìn)行語(yǔ)義分割(在像素級(jí)別識(shí)別出道路、行人、自行車道等),以及預(yù)測(cè)目標(biāo)的行為(比如行人是否要橫穿馬路)。

在識(shí)別語(yǔ)義信息時(shí),攝像頭通常比激光雷達(dá)更有優(yōu)勢(shì),顏色能幫助識(shí)別信號(hào)燈和標(biāo)志,紋理信息有助于更精細(xì)地辨別物體類別。

但攝像頭也有明顯的局限。

它本身不會(huì)直接測(cè)量距離(不像激光雷達(dá)那樣直接給出點(diǎn)云);在強(qiáng)逆光、夜間光線不足、雨雪霧霾等環(huán)境下,性能也會(huì)大幅下降;對(duì)于光學(xué)遮擋、反光、玻璃后的物體,識(shí)別起來(lái)也比較困難。

此外,攝像頭的成像會(huì)受到鏡頭畸變、顏色偏差和壓縮偽影的影響,需要軟件算法來(lái)進(jìn)行補(bǔ)償和增強(qiáng)。

因此車載攝像頭是一個(gè)“語(yǔ)義能力強(qiáng),但幾何能力弱”的傳感器,往往會(huì)和激光雷達(dá)、毫米波雷達(dá)或超聲波傳感器配合使用,取長(zhǎng)補(bǔ)短。

用攝像頭識(shí)別物體距離的幾種方法

既然車載攝像頭沒(méi)有辦法探測(cè)距離,那有些使用純視覺(jué)方案的自動(dòng)駕駛系統(tǒng)是如何感知距離的?

其實(shí)依托攝像頭判斷距離的方法有很多,核心思路可以分為帶基線的立體幾何法、基于運(yùn)動(dòng)或結(jié)構(gòu)恢復(fù)的單目方法、基于學(xué)習(xí)的深度估計(jì),以及利用視覺(jué)和先驗(yàn)信息的尺度估計(jì)等幾類。

立體視覺(jué)是最直觀的幾何方法。

在車上固定安裝兩個(gè)同型號(hào)的攝像頭,兩個(gè)鏡頭之間保持已知的基線距離。

它們同時(shí)對(duì)同一場(chǎng)景拍攝,得到左右兩張圖像。通過(guò)在這兩張圖像里尋找對(duì)應(yīng)點(diǎn)(也就是“匹配”),可以得到一個(gè)叫“視差”的值,即同一物體在左右圖像中水平位置的差值。

根據(jù)三角測(cè)量原理,物體到攝像頭的深度Z,與焦距f、基線B、視差d的關(guān)系可以近似表示為:Z = f * B / d。這個(gè)公式計(jì)算簡(jiǎn)單,在短中距離(幾米到幾十米)效果很好。

舉個(gè)例子來(lái)具體計(jì)算一下:假設(shè)攝像頭等效焦距是800像素,基線是0.2米,某個(gè)物體在左右圖像的視差是40像素。代入公式:Z = f * B / d。先算f * B:800 * 0.2 = 160。然后160除以40:160 / 40 = 4。結(jié)果就是Z = 4米。實(shí)際工程中,需要注意視差的亞像素精確化、立體對(duì)齊以及紋理不足區(qū)域可能匹配失敗的問(wèn)題。

立體方法的優(yōu)點(diǎn)是物理原理直觀、可解釋性強(qiáng),而且沒(méi)有尺度歧義(因?yàn)榛和焦距已知),對(duì)近中距離物體精度較高。

其缺點(diǎn)也很突出,需要兩個(gè)攝像頭精確標(biāo)定和穩(wěn)定安裝;基線太小會(huì)導(dǎo)致遠(yuǎn)處深度精度差(視差太小容易受噪聲影響);紋理稀疏或重復(fù)的圖案會(huì)造成匹配錯(cuò)誤。

車載立體系統(tǒng)通常需要對(duì)視差進(jìn)行后處理、濾波和一致性檢測(cè),來(lái)抑制錯(cuò)誤。

那單目攝像頭方案是否可以探測(cè)距離?其實(shí)單目攝像頭本身不直接提供深度,需要借助其他線索來(lái)恢復(fù)三維信息。

基于多幀的結(jié)構(gòu)從運(yùn)動(dòng)(SfM)或視覺(jué)里程計(jì)(VO)

基本思路是利用車輛移動(dòng)時(shí)連續(xù)拍攝的多幀圖像,跟蹤特征點(diǎn),結(jié)合相機(jī)的運(yùn)動(dòng)(可以從車輛里程計(jì)或IMU估計(jì))和特征點(diǎn)在圖像中的運(yùn)動(dòng),來(lái)恢復(fù)三維點(diǎn)云和深度。

這本質(zhì)也是三角測(cè)量,只不過(guò)基線來(lái)自攝像頭的運(yùn)動(dòng)而非固定物理基線。

這個(gè)方法的優(yōu)點(diǎn)是硬件要求低,缺點(diǎn)是對(duì)場(chǎng)景自身運(yùn)動(dòng)、光照變化敏感,且恢復(fù)的深度存在尺度不確定性(除非有外部尺度信息)。

物體尺寸先驗(yàn)法

利用已知物體的典型尺寸來(lái)估算距離。比如,我們知道一般轎車的高度大約1.5米,如果在圖像中檢測(cè)到車輛并量出它的像素高度是h,那么可以用相機(jī)內(nèi)參和三角關(guān)系估算距離:Z≈ f * H_real / h。其中H_real是物體真實(shí)高度,f是焦距(像素單位)。

舉例說(shuō)明:假設(shè)f=800像素,H_real=1.5米,檢測(cè)到圖像中車高h(yuǎn)=200像素,那么Z ≈ (800 * 1.5) / 200。先算800 * 1.5 = 1200,然后1200 / 200 = 6,得出大約6米。

這種方法非常依賴物體的真實(shí)尺寸是否符合先驗(yàn)假設(shè),遇到不同車型或車輛姿態(tài)(如上下坡、傾斜)時(shí)誤差會(huì)變大。

深度學(xué)習(xí)法

訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)直接從單張圖像預(yù)測(cè)深度圖,或者從左右圖像預(yù)測(cè)視差圖。

訓(xùn)練可以是監(jiān)督學(xué)習(xí)(需要大量帶深度真值的數(shù)據(jù),通常來(lái)自激光雷達(dá)或結(jié)構(gòu)光),也可以是自監(jiān)督學(xué)習(xí)(利用立體對(duì)或連續(xù)幀之間的重投影一致性作為訓(xùn)練信號(hào))。

深度學(xué)習(xí)方法的優(yōu)點(diǎn)是能在紋理弱的區(qū)域給出估計(jì),并能利用上下文語(yǔ)義信息彌補(bǔ)幾何匹配的失敗,在特定訓(xùn)練數(shù)據(jù)分布上效果很好。

缺點(diǎn)是容易受訓(xùn)練數(shù)據(jù)分布影響,泛化能力是個(gè)挑戰(zhàn),而且單目深度估計(jì)通常存在尺度模糊問(wèn)題,尤其在自監(jiān)督訓(xùn)練中會(huì)更為明顯。

時(shí)間軸上的信息也常用來(lái)輔助判斷。比如通過(guò)光流和相機(jī)運(yùn)動(dòng),可以估計(jì)碰撞時(shí)間或相對(duì)速度,這對(duì)判斷危險(xiǎn)很有用。它不直接給出絕對(duì)距離,但對(duì)決策(例如緊急剎車)至關(guān)重要。

還有一些更少用但可能有效的方法,比如從散焦恢復(fù)深度,或從焦點(diǎn)變化恢復(fù)深度。

這些方法利用鏡頭的焦平面和景深信息,通常需要可控的光學(xué)系統(tǒng)或多張不同焦距的圖像,在車載環(huán)境下實(shí)現(xiàn)比較復(fù)雜,應(yīng)用會(huì)相對(duì)受限。

現(xiàn)在最常見(jiàn)且最穩(wěn)妥的方法還是混合方法,也就是把攝像頭和其他傳感器融合起來(lái),攝像頭提供語(yǔ)義和邊界框,激光雷達(dá)提供稠密準(zhǔn)確的距離,毫米波雷達(dá)負(fù)責(zé)在惡劣天氣下穩(wěn)定檢測(cè)遠(yuǎn)距離大物體,IMU/里程計(jì)則提供尺度信息和運(yùn)動(dòng)補(bǔ)償。

真正可靠的距離感知,往往來(lái)自于多傳感器的融合,而不是只依賴某一種方法。

誤差來(lái)源與常見(jiàn)應(yīng)對(duì)策略

在工程實(shí)踐中,要實(shí)現(xiàn)準(zhǔn)確穩(wěn)定的攝像頭深度感知,不只是選對(duì)算法那么簡(jiǎn)單,還有很多細(xì)節(jié)都會(huì)影響最終效果。

視差噪聲和遠(yuǎn)距離不穩(wěn)定性是立體系統(tǒng)的常見(jiàn)問(wèn)題。視差越小,深度估計(jì)對(duì)視差誤差越敏感,誤差會(huì)被放大?梢酝ㄟ^(guò)增加基線、提高相機(jī)分辨率、進(jìn)行亞像素視差估計(jì)、加入時(shí)間平滑等方式來(lái)改善。

但基線不能無(wú)限增大,受限于車上安裝位置,而且外參容易因震動(dòng)和熱變形而變化。因此,很多系統(tǒng)會(huì)在前向中距離使用雙目,遠(yuǎn)距離則依靠長(zhǎng)焦單目攝像頭或毫米波雷達(dá)來(lái)補(bǔ)充。

光照和天氣是攝像頭的主要挑戰(zhàn)。

強(qiáng)逆光會(huì)讓物體變成剪影,夜間信噪比會(huì)下降,雨霧會(huì)導(dǎo)致對(duì)比度和紋理消失。

對(duì)于這個(gè)問(wèn)題常采用的策略包括用HDR成像、低噪聲傳感器、更大尺寸的像素、紅外補(bǔ)光,以及學(xué)習(xí)型的去霧和圖像增強(qiáng)模塊。

但這些方法會(huì)增加延遲和算力消耗,在極端天氣下性能仍難保證。所以系統(tǒng)設(shè)計(jì)必須包含降級(jí)策略,當(dāng)攝像頭置信度低時(shí),應(yīng)切換到更保守的控制模式或依賴其他傳感器。

標(biāo)定與時(shí)鐘同步的重要性常被低估,但至關(guān)重要。攝像頭的內(nèi)外參如果有偏差,距離計(jì)算就會(huì)系統(tǒng)性地出錯(cuò)。外參變化可能來(lái)自熱變形、碰撞后的輕微位移或長(zhǎng)期的機(jī)械松動(dòng)。

為了保證精度,在生產(chǎn)和維護(hù)階段需要有嚴(yán)格的標(biāo)定流程,在運(yùn)行時(shí)也可以利用在線標(biāo)定或視覺(jué)-慣性聯(lián)合標(biāo)定來(lái)動(dòng)態(tài)校正。

在時(shí)間同步方面,圖像幀的時(shí)間戳必須與車輛控制指令以及其他傳感器數(shù)據(jù)精確對(duì)齊,否則基于運(yùn)動(dòng)的估計(jì)會(huì)出錯(cuò)。

算法層面的魯棒性設(shè)計(jì)也很關(guān)鍵。無(wú)論是傳統(tǒng)立體匹配還是深度學(xué)習(xí)模型,都需要對(duì)錯(cuò)誤的匹配或異常的輸出進(jìn)行置信度評(píng)估。

置信度低的區(qū)域,應(yīng)該由其他傳感器替代,或者進(jìn)行平滑處理并降低其在決策中的權(quán)重。模型更新和數(shù)據(jù)閉環(huán)也不能忽視,可以把實(shí)際車輛在真實(shí)場(chǎng)景中遇到的失敗樣本回收進(jìn)訓(xùn)練集,持續(xù)提升模型應(yīng)對(duì)邊界情況的能力。

還有就是算力與功耗的平衡。高分辨率、高幀率和復(fù)雜網(wǎng)絡(luò)會(huì)消耗大量算力,這在車載環(huán)境下直接關(guān)系到成本和熱管理。

因此要在感知管線里做分級(jí)處理,用快速、輕量的模型做實(shí)時(shí)預(yù)篩選,復(fù)雜的模型則在感知服務(wù)器或有空閑算力時(shí)進(jìn)行精細(xì)化處理。硬件上會(huì)采用專用的視覺(jué)加速器或神經(jīng)處理單元來(lái)平衡性能與功耗。

最后的話

攝像頭是自動(dòng)駕駛中比較重要的傳感器之一,能完成目標(biāo)識(shí)別、語(yǔ)義分割、行為預(yù)測(cè)等大量對(duì)決策至關(guān)重要的任務(wù)。但攝像頭天生不直接攜帶距離信息,需要借助幾何三角、運(yùn)動(dòng)基線或基于學(xué)習(xí)的方法來(lái)恢復(fù)深度。

立體視覺(jué)利用物理基線進(jìn)行三角測(cè)量,簡(jiǎn)潔明了但對(duì)紋理和基線要求高;單目方法依賴運(yùn)動(dòng)或先驗(yàn)信息,更靈活但可能存在尺度模糊;深度學(xué)習(xí)能在復(fù)雜場(chǎng)景下給出估計(jì),但泛化性和可靠性需要大量工程數(shù)據(jù)和校驗(yàn)來(lái)保障。

現(xiàn)在最穩(wěn)健的做法還是多傳感器融合,讓攝像頭負(fù)責(zé)“看清楚是什么”,讓激光雷達(dá)或毫米波雷達(dá)負(fù)責(zé)“告訴我這東西離我多遠(yuǎn)”,兩者結(jié)合才能既識(shí)別得準(zhǔn)又定位得穩(wěn)。

-- END --

       原文標(biāo)題 : 自動(dòng)駕駛汽車如何依靠攝像頭判斷距離?

聲明: 本文由入駐維科號(hào)的作者撰寫(xiě),觀點(diǎn)僅代表作者本人,不代表OFweek立場(chǎng)。如有侵權(quán)或其他問(wèn)題,請(qǐng)聯(lián)系舉報(bào)。

發(fā)表評(píng)論

0條評(píng)論,0人參與

請(qǐng)輸入評(píng)論內(nèi)容...

請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字

您提交的評(píng)論過(guò)于頻繁,請(qǐng)輸入驗(yàn)證碼繼續(xù)

  • 看不清,點(diǎn)擊換一張  刷新

暫無(wú)評(píng)論

暫無(wú)評(píng)論

    文章糾錯(cuò)
    x
    *文字標(biāo)題:
    *糾錯(cuò)內(nèi)容:
    聯(lián)系郵箱:
    *驗(yàn) 證 碼:

    粵公網(wǎng)安備 44030502002758號(hào)