普適性感知處理架構(gòu)
智能駕駛汽車上已經(jīng)越來越多的應(yīng)用了計(jì)算密集型的計(jì)算機(jī)視覺算法,這就對(duì)汽車SoC提出了很多關(guān)于硬件加速的要求。這些硬件加速單元主要用于圖像信號(hào)處理、鏡頭畸變校正、密集光流、深度學(xué)習(xí)等。其中,基于視覺點(diǎn)云和激光點(diǎn)云深度學(xué)習(xí)由于其對(duì)環(huán)境的幾何重建能力、目標(biāo)運(yùn)動(dòng)估計(jì),在各種識(shí)別任務(wù)中越來越發(fā)揮著主導(dǎo)作用。因此,為了最大限度地提高處理硬件的性能,最好從處理階段的角度考慮嵌入式視覺,并在每個(gè)處理階段考慮共享處理策略。對(duì)于自動(dòng)駕駛中的視覺處理架構(gòu)而言,這種共享處理策略通常是指對(duì)多傳感輸入源進(jìn)行多維算法同步并行的管道處理方式(即Pipelines設(shè)計(jì)處理)。
如上圖所示,總體上Pipelines的傳感數(shù)據(jù)處理包含預(yù)處理、像素/點(diǎn)云級(jí)處理、中間過度處理、核心目標(biāo)處理、后處理等幾個(gè)階段。
在感知數(shù)據(jù)的“預(yù)處理階段”,涉及圖像視頻信息處理過程包含有基礎(chǔ)的ISP處理模塊,如白平衡、去噪、顏色校正和顏色空間轉(zhuǎn)換等。這類處理過程通常是像素級(jí)別的處理過程,因此需要在SOC芯片中設(shè)置專門的硬件引擎模塊進(jìn)行處理。激光雷達(dá)數(shù)據(jù)預(yù)處理方面,包括從指定區(qū)域獲取點(diǎn)云、去除給定區(qū)域的點(diǎn)、點(diǎn)云下采樣,通過格柵化采樣和區(qū)域密度規(guī)律濾波,從而獲得可以被穩(wěn)定觀察和篩選的激光點(diǎn)云。毫米波雷達(dá)的預(yù)處理則包含根據(jù)反射目標(biāo)能量剔除空目標(biāo)和無效目標(biāo),以保證環(huán)境感知的準(zhǔn)確性,避免因干擾目標(biāo)的出現(xiàn)而引起誤判。該階段在神經(jīng)網(wǎng)絡(luò)階段主要是編碼階段出現(xiàn)。
“像素級(jí)/點(diǎn)云級(jí)處理階段”主要是有硬件加速器和GPU主導(dǎo)的前端精細(xì)化處理階段。這類處理算法相對(duì)固化(比如經(jīng)典的前端處理算法:邊緣檢測(cè)、特征提取、描述算子、點(diǎn)云配準(zhǔn)、視差估計(jì)等),其核心主要與硬件每秒運(yùn)行次數(shù)相關(guān)。
“中間過度處理”是一種從像素級(jí)到目標(biāo)級(jí)處理的過渡階段,主要涉及神經(jīng)網(wǎng)絡(luò)CNN的解碼過程。該階段的主要處理器是DSP處理器,包括通過視覺里程表估計(jì)車輛運(yùn)動(dòng),雙目視差圖進(jìn)行場(chǎng)景深度信息估計(jì)和點(diǎn)云三維重建等過程。
“前融合處理階段”簡(jiǎn)單的說就是進(jìn)行目標(biāo)聚類,以便為高層次推理提供依據(jù)。聚類的原理是對(duì)已經(jīng)具備先驗(yàn)知識(shí)的目標(biāo)對(duì)象進(jìn)行分類提取??梢詰?yīng)用一定的算法來抑制移動(dòng)目標(biāo)的重縮放,也可以應(yīng)用目標(biāo)重構(gòu)的方式進(jìn)行自學(xué)習(xí)。并且該過程需要將各類傳感器聚類的各種目標(biāo)按照指定分配不同的置信度進(jìn)行一定的目標(biāo)融合。通常這類前融合算法會(huì)將相同類型的傳感器數(shù)據(jù)首先進(jìn)行融合(如先分別做7V視覺前融合、5R毫米波雷達(dá)前融合、2-3激光雷達(dá)前融合)。融合過程給各傳感器本身識(shí)別能力參數(shù)標(biāo)定為相同的值,而給予傳感器感知的場(chǎng)景方位數(shù)據(jù)分配不同的權(quán)重。比如對(duì)于本車道的前方目標(biāo),給前視攝像頭分配比側(cè)視攝像頭分配更高的權(quán)重。這類算法通常需要在ARM或DSP這類通用處理單元上進(jìn)行有效處理。
“后融合處理階段”又稱為全局感知目標(biāo)處理階段。即對(duì)于前端感知形成一定持久性、穩(wěn)定性的大空間數(shù)據(jù)地圖進(jìn)行后期優(yōu)化。該優(yōu)化過程包含Bundle adjustment、地圖構(gòu)建、高級(jí)目標(biāo)跟蹤和預(yù)測(cè),也包括對(duì)探測(cè)的相同類目標(biāo)的不同感知源根據(jù)其本身特性和感知目標(biāo)的關(guān)注特性分配不同的權(quán)重,從而獲得系統(tǒng)對(duì)環(huán)境目標(biāo)的最高級(jí)別推理。
非標(biāo)準(zhǔn)同構(gòu)雙目攝像頭能否考慮深度估計(jì)
通常對(duì)于車載相機(jī)的多任務(wù)處理而言:包含深度估計(jì)、視覺里程計(jì)、語義分割、移動(dòng)分割、物體檢測(cè)以及鏡頭污染檢測(cè)等六個(gè)主要任務(wù)。在智能駕駛場(chǎng)景中,移動(dòng)目標(biāo)的相關(guān)信息是非常重要的,一般采用連續(xù)幀或者光流來進(jìn)行計(jì)算。此外,為了銜接后續(xù)規(guī)控任務(wù),往往需要基于視覺里程計(jì)來實(shí)現(xiàn)檢測(cè)物體建圖。
這里我們重點(diǎn)講解下其中的深度估計(jì)方法。
在智駕汽車域中的深度信息估計(jì)中,大范圍采用的是利用前視同構(gòu)雙目相機(jī)來進(jìn)行深度估計(jì)的。其目的是通過深度估計(jì)來實(shí)現(xiàn)對(duì)前方目標(biāo)的三維立體信息檢測(cè)。在最新的視覺感知算法中,還會(huì)進(jìn)一步考慮對(duì)車輛側(cè)邊的目標(biāo)進(jìn)行距離信息估計(jì),這時(shí)就需要考慮利用魚眼相機(jī)進(jìn)行深度距離信息估計(jì)。
基于此,隨著智駕感知研究深度逐漸提升,很多廠家也在考慮采用魚眼攝像頭進(jìn)行視差估計(jì)(甚至有些也在研究側(cè)視或前視大小眼相機(jī)的深度估計(jì))。實(shí)際上,四個(gè)魚眼相機(jī)/普通側(cè)視同側(cè)相機(jī)雖然從基本的構(gòu)造上可以被視作簡(jiǎn)單同構(gòu)相機(jī)(當(dāng)然由于安裝位置的不同,需要排除簡(jiǎn)單的基線影響)。但是其安裝位置上講,確實(shí)無法真正滿足對(duì)于標(biāo)準(zhǔn)雙目攝像頭的布置需求(可以說兩種非標(biāo)準(zhǔn)魚眼/側(cè)視相機(jī)的基線是非常巨大的,測(cè)出來的結(jié)果也不準(zhǔn)確)。因此,環(huán)視/側(cè)視這類非標(biāo)準(zhǔn)相機(jī)圖像會(huì)增加對(duì)于三維信息重建任務(wù)的復(fù)雜度。
考慮魚眼圖像會(huì)增加三維重建任務(wù)的復(fù)雜度,比如對(duì)于多視角幾何、立體視覺和深度估計(jì)而言,大多數(shù)工作通常是假設(shè)其拍攝的場(chǎng)景是平面透視圖像的,并且傳統(tǒng)的立體幾何求解方式進(jìn)一步限制了圖像中的極線必須是水平的。
此外,對(duì)于真實(shí)的全景魚眼相機(jī)而言,由于鏡頭拍攝的圖像存在大量的畸變,除了很難保證其寬動(dòng)態(tài)范圍需求外,也會(huì)導(dǎo)致相機(jī)坐標(biāo)模型不再適用于標(biāo)準(zhǔn)的投影模型,因此在對(duì)魚眼相機(jī)做立體幾何重建之前需要進(jìn)行有效的圖像校準(zhǔn)和畸變矯正。
當(dāng)然,對(duì)于立體幾何重建而言,通常會(huì)考慮保持極線筆直和水平的立體要求(主要滿足立體幾何中的對(duì)極幾何要求),在此前提下,可能會(huì)利用類似最小化重采樣的方式對(duì)非平面圖像進(jìn)行定制化畸變矯正。這類定制去畸變方法可能會(huì)導(dǎo)致有些邊緣的幾何圖像扭矩甚至深度畸變。此外,整個(gè)圖像重采樣過程中,噪聲函數(shù)也會(huì)被重采樣過程扭曲,這種扭曲將增加重投影誤差。
如上所述,采用不合理的校正算法可能會(huì)有比較大的副作用,比如視場(chǎng)角減小以及重采樣扭曲缺陷等。同一物體因?yàn)槌上窨臻g畸變破壞了表觀特征位移不變性,同樣會(huì)給下游感知算法帶來了巨大挑戰(zhàn)。
因此,是否能夠在深度學(xué)習(xí)中盡量繞開畸變矯正環(huán)節(jié)或者期間做適當(dāng)優(yōu)化,使得處理過程變得更加符合真實(shí)性呢?
這里,我們可以通過建立多任務(wù)學(xué)習(xí)模型來實(shí)現(xiàn)相應(yīng)的深度估計(jì)。“多任務(wù)”顧名思義就是同時(shí)通過對(duì)場(chǎng)景建立多種模型估計(jì),這種模型可以利用單目和多目攝像頭的各種優(yōu)勢(shì)來彌補(bǔ)由于畸變矯正導(dǎo)致的圖像邊緣信息扭曲、失真等。同時(shí),實(shí)現(xiàn)估計(jì)過程的并行處理Pipeline(包括環(huán)境目標(biāo)的外觀、移動(dòng)、深度估計(jì)等),期間也可以實(shí)現(xiàn)計(jì)算資源共享的問題。
此外,整個(gè)多視角圖像的深度估計(jì)過程也可以通過附加監(jiān)督信號(hào)(如光流和目標(biāo)運(yùn)動(dòng)),加強(qiáng)其估計(jì)的準(zhǔn)確性。通過建立視差網(wǎng)絡(luò)可以將各個(gè)不同方位的攝像頭數(shù)據(jù)所采集的立體視頻數(shù)據(jù)集信息傳輸?shù)秸鎸?shí)世界的深度估計(jì)中。
基于此,我們對(duì)于魚眼/側(cè)視相機(jī)這類非標(biāo)準(zhǔn)同構(gòu)雙目相機(jī)而言,其深度估計(jì)則可以參照如下圖的方式進(jìn)行。
如上圖中所示,其基礎(chǔ)原理是將來自多個(gè)周圍視圖的信息合并到一起,以預(yù)測(cè)攝像頭之間的深度圖,具體地說:
1)使用一個(gè)圖像聯(lián)合網(wǎng)絡(luò)來處理所有相機(jī)拍攝的周邊視圖;
2)使用一個(gè)交叉視圖轉(zhuǎn)換器來有效地融合來自多個(gè)視圖的信息,并進(jìn)行全局交互;
3) 使用多組攝像頭外參矩陣,結(jié)合采用其運(yùn)動(dòng)估計(jì)架構(gòu)的稀疏矩陣所構(gòu)造的深度圖來訓(xùn)練識(shí)別模型,以實(shí)現(xiàn)對(duì)真實(shí)世界的尺度預(yù)測(cè);
4)估計(jì)自車的整體運(yùn)動(dòng)狀態(tài),并將其傳輸?shù)矫總€(gè)視圖,以實(shí)現(xiàn)多視圖估計(jì)的一致性;
此外,也可以適當(dāng)引入曲面法線來幫助進(jìn)行預(yù)測(cè)深度,因?yàn)樯疃刃畔⒐烙?jì)會(huì)受到曲面法線所確定的局部切平面約束(如下圖所示)。其中,深度到法線(depth-to-normal)關(guān)系將迫使最終預(yù)測(cè)遵循幾何約束。因此整個(gè)目標(biāo)深度在法線投影后仍然遵循場(chǎng)景目標(biāo)約束。
眾所周知,從圖像坐標(biāo)到世界坐標(biāo)的投影由于受到校準(zhǔn)不良、平地假設(shè)、檢測(cè)變化、像素密度和相機(jī)模型誤差的影響很容易出錯(cuò)。由于測(cè)量噪聲的失真取決于圖像中感興趣點(diǎn)的位置以及相機(jī)相對(duì)于路面的位置,因此解決這一問題變得更加復(fù)雜。如果目標(biāo)在感興趣的點(diǎn)都沒有實(shí)際接觸地面,那么對(duì)于投影到世界坐標(biāo)系的平地假設(shè)將存在重大錯(cuò)誤。
比如對(duì)于多視角幾何、立體視覺和深度估計(jì)而言,大多數(shù)工作通常是假設(shè)其拍攝的場(chǎng)景是平面透視圖像的,并且傳統(tǒng)的立體幾何求解方式進(jìn)一步限制了圖像中的極線必須是水平的。
大火的BEV需要解決哪些問題
這兩年智駕系統(tǒng)中的BEV相關(guān)算法發(fā)展讓深度學(xué)習(xí)應(yīng)用于BEV空間轉(zhuǎn)換的方式逐漸成為主流。BEV感知的本質(zhì)是對(duì)物理世界的三維重建,這個(gè)過程需要高效優(yōu)質(zhì)的檢測(cè)端和精確標(biāo)定的攝像頭內(nèi)外參數(shù)?;跀?shù)據(jù)輸入,整個(gè)BEV的感知研究通常是以視覺為中心的算法,用于從多個(gè)周圍攝像頭角度進(jìn)行三維目標(biāo)檢測(cè)或分割,BEV激光雷達(dá)描述了點(diǎn)云輸入的檢測(cè)或分割任務(wù)。
本文通過闡述了BEV感知原理,并對(duì)不同解決方案進(jìn)行深入分析,描述行業(yè)中幾個(gè)BEV系統(tǒng)設(shè)計(jì)方法。從而針對(duì)BEV存在的如下核心問題進(jìn)行了詳細(xì)的方案分析。
?。╝)如何通過從透視圖到BEV的視圖轉(zhuǎn)換來重建丟失的3D信息;(b)如何在BEV網(wǎng)格中獲取真值標(biāo)注;(c)如何制定流水線,納入來自不同來源和視圖的特征;(d)當(dāng)傳感器配置在不同場(chǎng)景中不一樣時(shí),如何適應(yīng)和推廣算法。
如圖是BEV攝像機(jī)的普通流水線(僅攝像機(jī)感知)。它包括三個(gè)部分,包括二維特征提取、視圖變換和三維解碼器。
然而,對(duì)于整個(gè)BEV設(shè)計(jì)中,目前還需要解決的問題還包括:
1) BEV模塊如何設(shè)計(jì)更精確的深度估計(jì)器;
搭載多傳感器生成的BEV主要解決不同的深度預(yù)測(cè)場(chǎng)景。首先就是標(biāo)準(zhǔn)的立體視差估計(jì),并在時(shí)域范圍內(nèi)進(jìn)行運(yùn)動(dòng)預(yù)測(cè);其次,將2D圖像到3D圖像設(shè)置對(duì)應(yīng)的投影矩陣進(jìn)行合理的變換。
這里為了保證更好的估計(jì)性能,引入大量的監(jiān)督數(shù)據(jù)也顯得至關(guān)重要。監(jiān)督數(shù)據(jù)可以作為很好的先驗(yàn)數(shù)據(jù)來為整個(gè)變換做前置條件。
視圖變換是構(gòu)建3D信息和編碼3D先驗(yàn)假設(shè)的主要模塊。大體上,它可以分為兩個(gè)方面:一是利用2D特征構(gòu)造深度信息并將2D特征“提升”到3D空間,即從2D特征預(yù)測(cè)深度信息;核心問題是如何從2D圖像中重建丟失的3D信息。
從2D到3D,有如下幾種常用的方法:
?、?基于LSS的單目方法
這是根據(jù)2D特征預(yù)測(cè)每個(gè)像素的深度分布,而立體視覺方法沿著成本體構(gòu)建的截頭錐體發(fā)散2D特征。從3D到2D的變換是基于單應(yīng)矩陣的方法假定3D采樣點(diǎn)是一種稀疏矩陣,通過攝像機(jī)內(nèi)外參數(shù)構(gòu)建的投影矩陣將其投影到2D平面,從而拼接成圖。
?、?基于純網(wǎng)絡(luò)的方法
與以往的算法相比,利用神經(jīng)網(wǎng)絡(luò)進(jìn)行二維BEV空間變換可以獲得更好的視覺效果。而其中,基于純網(wǎng)格的BEV方法可以使用MLP或transformer的方法進(jìn)行隱式建模,從而構(gòu)建整個(gè)3D空間到2D平面的投影矩陣。
2) 如何在新的融合機(jī)制中更好地對(duì)齊來自多個(gè)傳感器的特征表示;
BEV的傳感器融合算法最直接的設(shè)計(jì)是將攝像機(jī)和激光雷達(dá)的兩組特征分別連接起來。由于3D空間中的點(diǎn)云與2D域中的點(diǎn)云有精確的對(duì)應(yīng)關(guān)系,這就需要保證激光雷達(dá)和攝像頭之間實(shí)現(xiàn)有效的軟同步和硬同步。
BEV融合階段則需要將如上幾種不同的傳感器端數(shù)據(jù)(例如攝像頭、激光雷達(dá)、全球?qū)Ш叫l(wèi)星系統(tǒng)、里程計(jì)、高清地圖、CAN總線等)進(jìn)行有效的數(shù)據(jù)融合。該階段需要在BEV空間設(shè)計(jì)了一種融合策略,同時(shí)從攝像機(jī)和激光雷達(dá)輸入執(zhí)行3D檢測(cè)和跟蹤。特斯拉發(fā)布了系統(tǒng)流水線,用于檢測(cè)矢量空間(BEV)中的目標(biāo)和車道線,用于L2高速公路導(dǎo)航和智能召喚。
BEV感知背后的要點(diǎn)是從攝像機(jī)和激光雷達(dá)輸入中學(xué)習(xí)魯棒性和可泛化的特征表示。BEV感知背后的核心問題需要從原始傳感器輸入進(jìn)行深度估計(jì)的實(shí)質(zhì)性創(chuàng)新,特別是對(duì)于攝像頭分支。由于BEV感知需要攝像機(jī)和激光雷達(dá),高質(zhì)量標(biāo)注和2D和3D目標(biāo)之間的精確對(duì)齊是此類基準(zhǔn)點(diǎn)的兩個(gè)關(guān)鍵評(píng)估。這些新提出的基準(zhǔn)通常具有高質(zhì)量的標(biāo)簽;場(chǎng)景多樣性和數(shù)據(jù)量也在很大程度上擴(kuò)大。對(duì)于BEV感知任務(wù),3D目標(biāo)邊框標(biāo)注和3D分割標(biāo)注至關(guān)重要,高清地圖配置已成為主流趨勢(shì)。
3) 考慮BEV算法需要具備更強(qiáng)的魯棒性,算法應(yīng)考慮與傳感器姿態(tài)變化或位置進(jìn)行解耦,并同步實(shí)現(xiàn)在各種場(chǎng)景中實(shí)現(xiàn)更好的泛化能力;
BEV感知中要求在每個(gè)數(shù)據(jù)集中都需要針對(duì)性的進(jìn)行訓(xùn)練、數(shù)據(jù)、標(biāo)注等。實(shí)際上BEV的整個(gè)網(wǎng)格參數(shù)是與攝像機(jī)參數(shù)關(guān)聯(lián)的,因此整個(gè)BEV的感知過程會(huì)對(duì)不同的傳感器設(shè)置(攝像機(jī)的內(nèi)外參數(shù)如物理位置、重疊區(qū)域、FOV和畸變參數(shù)等)提出不同的需求。同時(shí),如上這些因素都會(huì)造成良好性能從一個(gè)場(chǎng)景遷移到另一個(gè)領(lǐng)域的(極端)困難。因此,重要的方案是要確保BEV網(wǎng)絡(luò)與攝像機(jī)參數(shù)進(jìn)行解耦,使得特征學(xué)習(xí)獨(dú)立于內(nèi)外參數(shù)之外,以確保由于路面顛簸和攝像機(jī)不穩(wěn)定導(dǎo)致的檢測(cè)跳變,不魯棒的問題。
4)BEV算法模塊如何以基礎(chǔ)模型為藍(lán)本進(jìn)行性能提升;
BEV的感知模型目前已經(jīng)相對(duì)固化,目前形成的基礎(chǔ)模型子塊已經(jīng)在很多場(chǎng)景上已經(jīng)得到了廣泛的運(yùn)用。但是如何選擇適配性更好的基礎(chǔ)模型將會(huì)很深刻的影響整個(gè)自動(dòng)駕駛控制的任務(wù)。同時(shí),如果能夠在單BEV模型中構(gòu)建多任務(wù)學(xué)習(xí)機(jī)制,也將會(huì)更多的影響認(rèn)知領(lǐng)域?qū)?fù)雜場(chǎng)景的協(xié)作處理。
總結(jié)
智駕系統(tǒng)的感知常規(guī)處理方法中還有很多不被人們重點(diǎn)關(guān)注的部分,比如如何進(jìn)行Pipelines的并行處理,如何考慮結(jié)合功能設(shè)計(jì)場(chǎng)景的將整個(gè)前端能力建設(shè),其中包括識(shí)別、重構(gòu)、重定位等重要步驟元素。此外,從成本和性能角度上講,還有一些適配于傳統(tǒng)感知架構(gòu)的優(yōu)化模型,比如如何應(yīng)用已有的攝像頭做更深層次的感知探索(涉及利用非標(biāo)準(zhǔn)同構(gòu)雙目左深度信息識(shí)別等)。這類優(yōu)化傳感性能的算法實(shí)際還有很多。我們?cè)陂_發(fā)過程中還可以做進(jìn)一步的能力探索。
編輯:黃飛
評(píng)論
查看更多