最新!基于視覺方案的車輛速度、距離估計綜述
本文經自動駕駛之心公眾號授權轉載,轉載請聯系出處。
論文名稱:Vision-based Vehicle Speed Estimation: A Survey
導讀
在精確檢測車速車距的方案中,視覺方案是非常具有挑戰性的,但由于沒有昂貴的距離傳感器而大幅降低成本,所以潛力巨大。本文綜述了基于視覺的車輛速度、距離估計。并建立了一個完整的分類法,對大量工作進行分類,對涉及的所有階段進行分類。除此之外,還提供了詳細的性能評估指標和可用數據集概述。最后,論文討論了當前的局限性和未來的方向。應用背景 車輛速度的準確估計是智能交通系統(ITS)的關鍵組成,這需要解決諸如同步數據記錄、表示、檢測和跟蹤、距離和速度估計等問題。常見的速度估計應用場景包括自動駕駛、智能交通監控,分為固定傳感器測試和移動相機/車輛下的測試。論文主要介紹了在固定位置下基于camera的速度與距離估計!下圖為速度估計的整體流程:主要包括檢測跟蹤、距離估計、速度估計等;
主要技術
上圖匯總了基于視覺的車速測量系統的主要部分,Input data 、Detection and tracking、Distance and speed estimation、Application domains;
1.輸入數據
基于視覺的測速測距方案輸入為圖像數據,對于每輛車,將有一系列圖像,從第一次出現到最后一次出現。可用圖像的數量將取決于攝像機相對于道路的姿態、焦距、幀速率和車輛速度。現有camera主要包括:交通camera和speed camera;其他形式的輸入數據包括車輛屬性,如車輛類型、關鍵點、車牌大小等。camera標定在提供內外參數方面起著關鍵作用。路段尺寸的先驗知識提供了計算道路與camera之間的外部關系甚至車輛速度的一些重要信息。
2.檢測和跟蹤
必須在所有可用圖像中檢測車輛或其某些代表性特征。隨著時間的推移跟蹤車輛或顯著特征對獲得速度測量至關重要,可以應用不同的方法來處理這兩個任務。
3.距離和速度估計
速度估計本質上涉及具有相關時間戳的距離估計。存在不同的方法來計算車輛與某些全局參考的相對距離,以及不同的方法計算車輛的速度。
4.應用領域
主要應用在交通監控、預測、控制、自動駕駛和移動機器人領域!下圖是機動車速度估計的全系列技術棧!
分類
論文對135篇車速檢測相關論文展開了調研,從輸入開始,緊接著是檢測、跟蹤、距離和速度估計,最后是速度測量精度方法!論文對每個模塊的工作進行了分類。
1.Camera設置
主要涉及攝像機固有參數(傳感器尺寸和分辨率、焦距)和外部參數(相對于道路平面的位置,包括基于無人機的攝像機)以及攝像機數量(單攝像機、立體攝像機或多攝像機)。根據這些參數,投影在圖像平面上的真實場景可以表示沿短或大路段的一條或多條車道。根據這種配置以及車輛相對于camera的相對位置,能夠得到其中一個最重要的變量:meter與像素的比率,即每個像素代表的路段部分。該比率越低,估計距離和速度的精度越高,由于透視投影模型,該比率與距camera的distance平方成正比,這意味著在長距離進行的測量具有非常差的精度。
2.相機標定
為了在真實世界坐標中提供測量,需要精確估計攝像機的內部和外部參數。最常見的方法是執行軟標定,即在實驗室標定或使用傳感器和透鏡特性近似固有參數,使用手動或自動程序獲得外部參數(道路平面和攝像機之間的剛性變換)。硬標定涉及在已安裝攝像機的情況下聯合估計內參和外參。也可以手動執行或自動執行。在某些有限的情況下,攝像機標定被忽略。
3.車輛檢測
由于攝像機大多是靜態的,在大多數情況下,車輛檢測通過建模和減去背景來解決。其他方法是基于特征的,例如,檢測車牌或車輛的其他特征。最近,使用基于學習的方法識別圖像中的車輛越來越多。
4.車輛跟蹤
車輛具有平滑和穩定軌跡的能力是處理車輛速度檢測的關鍵問題,可以將車輛跟蹤分為三類。首先,基于特征的,它跟蹤來自車輛的一組特征(例如,光流)。第二,這些方法側重于跟蹤blob的質心或車輛的邊界框。第三,這些方法側重于跟蹤整個車輛或其特定部分(如車牌)。
5.距離估計
對于單目系統,車輛距離的估計通常使用一組約束條件進行計算,例如平坦道路假設,包括基于單應性和使用增強指示線、模式或region的方法,或者通過使用關于一些物體的實際尺寸的先驗知識(例如,車牌或車輛的尺寸)。當使用立體視覺時,這些限制得到緩解。
6.速度估計
在少數情況下,檢測車輛速度的問題被提出為檢測路段上的交通速度的問題,即直接獲得平均道路速度值。然而,在大多數情況下,檢測是在單個車輛上進行的。需要關于camera幀速率的先驗知識或每個圖像的準確時間戳來計算測量之間的時間。使用連續的或非連續的圖像來估計速度是一個基本變量,對精度有很大影響。如何整合所有可用測量(瞬時、平均、最佳等)也是影響測量最終精度的關鍵因素。
7.生成真值
目前的工作主要包括:汽車速度計、基于距離的技術(如雷達或激光)、基于GPS的技術(包括標準GPS、GPS里程表和DGPS)、光屏障和路面傳感器(如壓電或電感)。
相機設置與標定
1.相機的設置
camera設置直接影響速度估計方法的精度。考慮的第一類是攝像機位置,包括無人機攝像機和交通攝像機,這些攝像機可以根據其高度大致分類為距離(≥ 5m)或close(<5m)交通攝像頭。在某些情況下,攝像機位于道路一側,提供車輛的側視圖。大多數作品都基于單目系統,但還可以找到一些基于stereo的方法和非stereo多攝像機設置。盡管大多數方法都基于CCD或CMOS傳感器,但也可以找到一些使用基于事件的攝像機[16,17]和基于生物傳感器[147]的作品。考慮到相機分辨率,可以預期隨著時間的推移像素分辨率會逐漸增加,這主要是由于硬件的進步。然而,情況并非如此,大量作品的分辨率低于或等于640×480像素(VGA)。分辨率不僅影響圖像處理檢測技術的精度,還影響距離估計的精度。分辨率越高,meter像素比越低。焦距也是一個基本參數,通常與攝像機高度、路段長度和視野覆蓋的車道數有關。對于特定的攝像機高度,焦距越大,距離和速度測量的精度越高。大多數作品使用中低焦距(≤ 25mm),因為它們被設計為覆蓋多車道和大的道路延伸。只有少數作品含蓄或明確地強調需要長焦距來提高速度估計的準確性,即使系統僅覆蓋一條車道。因此,根據攝像機的內外(位置w.r.t.道路)參數,我們最終將不同的場景投影到圖像平面中。如下圖所示,可以大致定義三種類型的場景:High meter-to-pixel ratio、Medium meter-to-pixel ratio、Low meter-to-pixel ratio。
2.系統的標定
精確的攝像機標定對于基于視覺的目標距離和速度估計至關重要。無論是假設車輛在平坦道路上行駛,用于單目系統還是使用stereo配置,從像素坐標獲得精確真實世界測量的能力在很大程度上取決于精確的系統標定。對于單目系統,針孔相機模型提供了一個通用表達式,用于描述圖像平面(u,v)中的2D像素與3D真實世界坐標系(Xw,Yw,Zw)之間的幾何關系,在這種情況下,該坐標系放置在道路平面上并假設為平坦道路形狀:
單目攝像機標定問題是估計內參、RT的問題。如下圖所示,在處理用于車速估計的攝像機標定時,采用了兩種主要方法。首先,軟標定使用標定模板(例如棋盤)在實驗室中估計K,或假設數據表中提供的參數(傳感器分辨率、像素大小和焦距),然后在現場計算[R,T]。第二,硬標定,在現場同時計算K和[R,T]。
計算相機外部參數的最常見方法之一是使用消失點。當投影到圖像平面時,3D真實世界坐標系中的一組平行線在唯一的2D點處相交。該點通常稱為消失點。在這種情況下,明顯的一組線是道路標記(包括實線和虛線車道線)和通常具有高對比度的道路邊緣。消失點的位置允許計算旋轉矩陣R,然后使用圖像中某個對象或區域的真實世界維度的知識來獲得平移矩陣T。執行外部參數標定的另一種常見方法是使用道路平面上存在的已知幾何靜態特征,然后計算單應變換。
可以通過使用放置在道路平面上的標準(例如棋盤)或特殊標定模板來解決獲取相機的內外參數的硬標定問題。這種技術的主要缺點是需要暫時停止道路上或車道上的交通。只有少數方法以自動方式處理內部和外部參數的校準。最常見的方法是從兩組或三組相互垂直的平行線計算兩個或三個正交消失點[133]。如[134]所述,這些消失點可以從場景中存在的靜態和移動(本例中為車輛)元素中提取。在[77]中,隨時間跟蹤的車牌被用作校準模式,以硬校準系統。最復雜的方法將細粒度分類與車輛關鍵點/姿態檢測[136]相結合,以確定特定車輛品牌和型號[135](因此,確定其真實尺寸),從而執行軟[90]或硬[101]系統標定。
無論標定中使用何種方法,無論是計算平移向量還是完全單應性,都必須事先知道真實世界中某些特征/對象的尺寸。事實上,計算所謂的比例因子(m/px)以從像素到真實世界坐標的轉換是使用單目系統處理距離和速度估計時要解決的關鍵問題之一。最常見的特征是人工測量的路段/區域的道路/車道寬度或長度之前已知物體的尺寸,如車輛或車牌,以及車道標記的長度和頻率。
最后,必須考慮基于stereo的方法,這些方法在實驗室或現場使用標準stereo標定技術和模式進行硬校準。除了每個攝像機的固有矩陣K之外,stereo系統還需要計算基本矩陣,其中包括從一個攝像機到另一個攝像機的非本征變換。由于立體系統能夠從兩幅圖像中的2D像素獲得3D真實世界測量值(在解決對應問題后),因此無需計算道路平面和攝像機之間的外部變換,但在任何情況下,都可以手動計算[137]或自動計算[138]。
檢測和跟蹤
1.檢測任務
檢測任務主要有靜態背景、基于特征、基于車牌、基于learning方式;除了基于無人機的系統外,大多數方法都基于靜態攝像機,由于存在靜態背景,車輛檢測任務更加容易。我們甚至可以采用最簡單的逐幀方法找到相當數量圖像,然后采用閾值法進行圖像分割。執行車輛檢測的最常見方法是基于背景減法,然后是一些形態學運算和blob分析方法。使用不同的方法進行背景相減,包括基于灰度和顏色的方法、高斯混合模型、自適應背景建模等。在某些情況下,逐幀或背景減法與某些特征檢測器(例如,邊緣、角或KLT特征)相結合。
一些方法基于對車輛區域內區域中分組的不同類型特征的檢測,例如,在背景減法之后,以及依賴于邊緣、灰度特征、二進制特征、SIFT/SURF特征或KLT特征。
盡管車牌的外觀可能會因國家和車輛類型的不同而略有不同,但一般而言,它是任何車輛的同質和獨特元素。這使得車牌成為車輛檢測系統非常有吸引力的目標。因此,當攝像機分辨率足夠大時,可以應用車牌識別(LPR)系統。LPR系統通常至少分為3個步驟:檢測或定位、字符分割和字符識別。在這種情況下,為了檢測車輛,只需要應用第一步,并且有許多方法(參考了關于該主題的多個具體調查)。基于學習的方法主要是一些目標檢測方案,YOLO、SSD、Faster RCNN、Nanodet、YOLOX系列,輸出檢測位置與類別;
2.跟蹤任務
速度檢測是一個多幀問題。一旦檢測到車輛或車輛的某些部件/特征,通常采用跟蹤方法對噪聲檢測進行濾波和平滑。跟蹤隱含地涉及解決數據關聯問題(例如,匈牙利算法),特別是對于具有多個對象的情況[148]。一般而言,在描述不同的跟蹤方法時,可以考慮兩個主要維度。首先,根據被跟蹤的元素和/或其part的類型(方法),其次,根據用于執行跟蹤的具體方法(方法)。主要車輛跟蹤方法的視覺表示如下圖所示,可以看出將不同的方法分為四大類:
首先,基于特征的方法,將車輛跟蹤問題視為特征跟蹤問題。在大多數情況下,在應用背景減法或基于學習的方法后,特征是車輛區域內的二進制或灰度值。當跟蹤被視為光流問題時,通常會考慮KLT特征或拐角,分析車輛區域內的運動矢量。其他方法跟蹤特征是二進制模式、邊緣或SIFT/SURF描述符。
其次,還可以找到專注于跟蹤代表車輛區域的質心方法,該區域可以被視為輪廓(凸殼或凹殼),或一些模型,例如輪廓的凸殼[40]、橢圓[75]或擬合到檢測到的blob的邊界框。在任何情況下,使用質心作為車輛的代表狀態是非常不可靠的。一方面,大多數blob檢測方法不是很精確,并且由于多個因素(陰影、重疊、接近物體等),車輛輪廓可能會在序列中變化。但即使在blob檢測非常精確(例如基于學習)的情況下,透視的變化也意味著影響質心位置的顯著變化。只有在檢測準確且視角變化不相關的非常特殊的情況下(例如,在基于無人機的系統中),才有理由使用這種方法。
第三組方法是使用車輛的整個區域(基于輪廓或邊界框)來執行跟蹤的方法。這是迄今為止使用最廣泛的方法。
最后,許多方法關注于車牌的跟蹤。不知何故,這種方法不計算車輛的速度,而是計算車牌的速度,因為車牌的移動與車輛的移動是一致的,因此完全等效且完全有效。
大多數工作通過模板、區域或特征匹配/相關方法,解決了采用檢測跟蹤方法后的車輛跟蹤問題,通過檢測車輛在預定義區域或指示線上的交叉。這些方法解決了數據關聯問題(為每個軌跡的每個對象關聯唯一標識符),但不過濾跟蹤對象的狀態。通過檢測方法進行跟蹤的一種特殊情況是車牌,因為它們允許使用光學字符識別(OCR)系統作為解決數據關聯問題的支持,使跟蹤系統更加穩健。使用KLT特征進行車輛檢測后,通常會跟蹤KLT以檢測光流。該方法僅適用于圖像之間的車輛位移較小的情況,這不適用于獲得準確的速度測量。貝葉斯濾波的使用僅限于經典的線性卡爾曼濾波器,該濾波器通常用于考慮恒定速度模型(不太適用于非常大的路段)。在[89]中,簡單在線和實時(排序)(基于卡爾曼濾波)跟蹤和擴展版深度排序也被應用。
車輛距離和速度估計
camera是生成投影到2D平面中的3D世界的離散化表示的傳感器,考慮到光學中心和像素之間的立體角,真實世界坐標中的面積A隨距離Z呈二次增加(Apx為單個像素的面積):
單目系統的距離誤差:
fx為x軸的焦距,△X為已知目標的尺寸,nm代表表示像素檢測誤差!為了使物體或其特征的距離估計誤差最小化,需要:使用望遠鏡鏡頭(高焦距),因為誤差隨著焦距的增加而減小;在立體系統中使用大的基線,或在單目系統中使用已知尺寸盡可能大的物體;當車輛遠離攝像機時,避免對其進行測量,物體越近,距離估計誤差越小;
1.距離估計
雙目方法在真實世界坐標系中測量距離是精確估計車速需要解決的最關鍵問題,當使用立體視覺時,這個任務很簡單[42、60、61、74、80、92、100、112]。對于每個檢測到的車輛,可以使用車輛區域中包含的像素的視差值直接獲得相對距離。然而由于實際應用問題,雙目估計深度方案使用較少!單目方法對某些特征、物體或道路部分/路段的真實坐標中的尺寸的了解是使用單目系統估計距離的基本問題。這通常被稱為將像素轉換為真實世界坐標的比例因子。另一個常見要求是考慮平坦道路假設。如下圖所示,我們將基于單目的距離估計方法分為三組:
首先,基于指示線、增強線或區域[19、20、23、24、26、28、32、38、47、59、79、86、87、99、107、124]。這些方法不需要攝像機系統的校準,而是測量道路上兩條或多條虛擬線之間的實際距離,或道路區域的實際大小。
然后,距離估計問題被提出為一個檢測問題,其中每當車輛穿過預定義的虛擬線或區域時,所有車輛都在相同的距離處被檢測。由于虛擬線或區域位于道路上,因此精確的距離估計涉及車輛某個部分的接觸點的精確位置。車輛的這一部分在第二個位置應相同,以獲得速度的一致估計。由于透視約束、空間(取決于攝像機分辨率和攝像機到車輛的距離)和時間(取決于攝像頭幀速率和車輛速度)離散化問題、陰影等,這是一項需要解決的復雜任務。這些問題可以通過使用多條指示線來緩解[20,107]。其次,基于單應性計算的方法將平面(道路)從3D投影空間線性變換為2D投影空間(攝像機圖像平面)。這樣,圖像可以轉換為鳥瞰圖(BEV),其中像素位移可以直接轉換為真實世界距離。這種方法最常用于固定系統和無人機系統。如下圖所示,單應性的計算涉及攝像機的內部和外部參數的校準以及場景某些部分的真實尺寸的先前知識。生成的BEV圖像將所有對象視為在道路平面上,這意味著車輛形狀的變形。這并不特別重要,因為用于計算距離的點通常對應于車輛和道路之間的接觸點,盡管由于系統的角度和道路上運動的錯誤假設,該假設并不完全準確。與使用指示線相比,該方法的主要優點是可以在道路上的任何點進行車輛檢測,因此攝像機幀速率和車速不會對距離估計產生負面影響。然而,需要非常精確的系統校準。
第三,基于距離估計公式的方法,根據物體的真實尺寸,包括車牌和車輛。一方面,基于車牌尺寸的方法對低meter像素比和像素定位誤差非常敏感。另一方面,基于車輛尺寸的此類方法需要應用細粒度車輛模型分類系統[135],以識別特定模型并使用其特定尺寸。
2.速度計算
Time/distance between measurements一旦計算出車輛或其一部分的相對距離,速度計算就相對簡單了。因此,第一個要求與每個測量(或圖像)關聯特定的時間戳有關。可以使用關于攝像機幀速率的先驗知識。然而,對于每個記錄的圖像或從記錄系統時鐘(可以使用NTP服務器[80])獲取的測量值,包含特定的時間戳更為準確和魯棒。根據攝像機姿態w.r.t.車輛和道路以及車輛速度,每輛車可獲得一組N個測量值。要做出的第一個決定是使用測量之間的距離來獲得速度值。然而,大多數工作建議使用連續測量(在第t幀和第t+1幀)來計算每輛車的速度值。如下圖所示,該技術傾向于提供噪聲值,因為距離誤差與車輛行駛的距離具有相同的數量級:
在使用非連續圖像的情況下,論文區分了幾種技術。首先,使用測量之間的固定距離或區域(例如,使用指示線或區域的方法)。第二,使用測量之間的預定義幀數或固定時間間隔(它們是等效的)。其他方法使用車輛第一次和最后一次檢測之間的最大可能距離。最后,可以確定一些利用兩個不同攝像機[80]或無人機攝像機[106]的不同視角進行車輛檢測的技術。測量積分一旦計算出車輛的所有N個速度值,下一步要做的決定是如何積分所有測量值以計算最終車輛速度。請注意,所有基于虛擬指示線或區域的方法都是基于單次觸發(N=1),因此嚴格來說,不應用測量積分,這種方法通常稱為平均速度檢測。大多數方法執行瞬時速度檢測,即計算車速并將其作為每對測量的輸出,無論是連續的還是非連續的。在某些情況下,瞬時速度使用不同的技術進行濾波,如移動平均[98]、多項式濾波[129]或使用特定跟蹤器(例如卡爾曼濾波器)。另一種常見方法是計算所有可用(N)速度測量值的平均值。在[80]中,僅使用對應于最小系統速度誤差的最佳速度值計算平均值。
數據集和評測標準
1.數據集
相關數據集較少,主要包括 AI CITY CHALLENGE(英偉達)、BrnoCompSpeed、 UTFPR dataset、QMUL junction dataset等!
2.評測標準
為了測量系統產生的速度誤差,有必要使用度量來明確評估其準確性。最常用的度量是絕對或相對平均絕對誤差(MAE),以百分比表示。MAE通常提供有其他變量,例如標準偏差或其他統計度量,以限制速度估計系統的精度。
除了MAE,還可以找到其他度量,其中計算數學函數的總誤差,包括并建模速度檢測系統的誤差源,如像素檢測誤差、長度測量誤差或攝像機校準誤差。利用這些已知誤差,以及一些誤差傳播技術,例如使用偏導數的不確定性傳播,可以精確地獲得總系統誤差。
最后,均方誤差(MSE)和均方根誤差(RMSE)的使用已在幾項工作中提出。MSE/RMSE使用這兩個值之間的平方差之和來測量估計值和被測量值之間的“距離”。在某些工程中,該方法用于測量相對距離誤差,最后測量速度誤差,即實際值與計算值之間的絕對差。