低延遲高精度 地平線頂尖自動駕駛算法實力解析|Waymo自動駕駛算法挑戰賽
關注 2021年7月2日 09:28 瀏覽:2662 評論:1
近年來,自動駕駛技術和應用已經成為了科技界和工業界非常火熱的話題。全球每年因交通事故大約會造成相當于6000億美金的經濟損失,而自動駕駛技術可以提升安全系數,提高交通系統的效率,為用戶帶來更為安全和高效的駕駛體驗。除了這些需求的推動,自動駕駛技術這些年的飛速發展也離不開另一項關鍵技術的成熟,那就是人工智能,再具體一些就是深度學習(Deep Learning)。自動駕駛是一項復雜的技術,其核心包括傳感器感知、行為決策、高清地圖、海量數據、高性能計算平臺等等。深度學習首先在傳感器感知方面取得了突破性的進展,并因此極大的推動了自動駕駛技術的發展。
深度學習是機器學習領域的一個分支。在機器學習領域,有一個不成文的法則:數據為王(Data is King)。沒有一定規模的高質量數據,再好的模型也是巧婦難為無米之炊,但是究竟需要多少數據,這個對于研究者來說也是一個很難回答的問題。隨著深度學習技術的崛起,我們對這個問題有了更為清晰的認識。回想一下,如果沒有當年的ImageNet大規模圖像數據庫,沒有以ImageNet為基礎的圖像識別競賽,可能就不會有AlexNet算法的驚艷表現,也就不會有近些年深度神經網絡在計算機視覺感知領域的統治性地位,更不會有現在人工智能應用的遍地開花。所以說,大規模高質量的數據對于目前的人工智能應用來說非常的重要。
那么,對于以人工智能為依托的自動駕駛技術來說,數據自然也是成功的核心因素之一。海量數據的收集和整理是一項浩大的工程,如果每個研究機構都建立自己的數據庫,那勢必會耗費大量的時間和資金,也不利于各種技術的橫向和縱向對比。因此,構建一個公開的大規模數據集,并以此為基礎進行標準化測試(benchmarking),也就成為了業界的共識。在這個背景下,作為自動駕駛領域領先者之一的Waymo公司,于2020年公開了一個大規模的自動駕駛數據庫,也就是Waymo Open Dataset。
Waymo數據庫共有1150個場景,每個場景20秒鐘,包含了同步的的激光雷達和可見光相機。這些場景來自不同城市的開放道路,具有非常好的多樣性。更為重要的是,數據庫提供了超過1200萬個高質量的物體標注,這對于深度學習算法來說是非常寶貴的資源,也是構建數據庫中最為費時費力的步驟。相比較于其它面向自動駕駛應用的數據庫,Waymo數據庫無論是在數據的規模、質量,還是多樣性上,都是首屈一指的。
除了數據庫本身,Waymo還組織了自動駕駛算法挑戰賽,吸引了全世界頂尖的研究機構來進行挑戰,并且與計算機視覺和機器學習領域的頂級國際會議CVPR合作,發布競賽結果,介紹獲勝的團隊及其使用的算法。可以說,Waymo的挑戰賽已經成為了自動駕駛基于研究的風向標,該領域的工作者會對獲勝的算法進行討論、研究和實驗,對其進行改進,以此推動整個行業的進一步發展。今年的Waymo挑戰賽包含了動態預測、關聯預測、實時2D檢測及實時3D檢測四個任務,其中實時2D/3D檢測對應自動駕駛的底層感知任務。如圖1所示,2D檢測任務是從圖像中檢測物體的二維邊框,而3D檢測任務是從激光雷達點云中檢測物體的三維邊框。
如前文所述,深度學習技術首先在計算機視覺領域取得了突破性的進展,從圖像中檢測二維物體的算法已經相對成熟,落地應用也很多。不同于二維圖像,激光雷達可以精確的測量物體的距離及其三維形狀,而且受天氣和環境的影響較小。這對于自動駕駛來說是非常重要的性質,因此近幾年來,學術界和工業界逐漸把目光轉移到基于激光
雷達的三維物體檢測算法上。與圖像的二維像素排列格式不同,激光雷達的數據是三維的點云,其密度隨著距離的增加而減少。此外,二維圖像采用的是透視坐標,而三維點云通常采用的是俯視坐標(Bird’s Eye View, BEV)。這些差別導致基于圖像數據設計的深度神經網絡無法直接應用到三維點云數據上。所以說,雖然激光雷達對于自動駕駛來說至關
重要,其感知算法的設計目前還面臨著巨大的挑戰。
圖1 二維物體檢測(左圖) vs. 三維物體檢測(右圖)
自從2017年VoxelNet發表以來,基于激光雷達點云的物體檢測取得很大的進展,各大研究機構紛紛提出自己的算法,報告的檢測率也不斷提升。Waymo組織的這個3D物體識別挑戰賽給了這些算法一個公平對比的機會。尤其是今年的挑戰賽,增加了對算法速度的評比,規定所有模型的執行時間必須要小于每幀70ms才能入圍,對實時性的要求跟實際場景更接近,更接近落地應用。這也是為了鼓勵參賽者在有效的利用計算資源方面下功夫。繼2020年第一屆比賽榮獲5項挑戰中的4項全球第一后,來自地平線公司的團隊力壓賽靈思、德克薩斯大學等公司和高校,再次摘得桂冠。一般來說,一個機器學習的競賽在剛發布的前幾年難度最高。隨著參賽者對數據越來越熟悉,通過大量的參數調整可以使算法達到更好的效果,但這會導致算法在一定程度上出現過擬合現象。簡單地說,就是算法在該數據庫上表現很好,但是在處理該數據庫以外的場景時會出現很大的性能下降。因此,在前兩界比賽中均取得了第一名的成績,說明地平線的團隊在自動駕駛的感知算法方面有著既深刻又獨到的理解。下面我們就來詳分析一下這個獲勝的算法究竟是如何運作的。
本次Waymo 實時3D檢測挑戰賽同時在模型準確度和速度方面進行評比,只有執行時間低于每幀70ms的模型才可以入圍。地平線團隊以2020年參賽的算法為基礎,在模型準確度和速度方面做了進一步優化,提交的兩個模型一個在檢測準確率方面排名第一(AFDetV2,73.12 mAPH/L2,每幀用時60.06毫秒),另一個在保證一定準確度的前提下取得了速度方面的第一名(AFDetV2-base 72.57mAPH/L2,每幀用時55.86毫秒),被冠以為“最有效率的模型”稱號。
總的來說,在這次挑戰賽中,地平線團隊同時在模型、訓練和硬件實現三個方面
對算法進行了優化。模型方面采用目前主流的無錨點的檢測算法(Anchor-Free),但是在是否使用兩階段網絡(two-stage)上做了深入的分析。雖然目前業界大部分模型(包括CenterPoint, PV-RCNN等)大多采取兩階段網絡,以獲取更高精度,但地平線團隊基于充分的對比,最終仍然選定單階段網絡(Single-stage)。在這個單階段網絡的檢測端(Head)部分,地平線團隊創新性地加入了預測定位置信度的IoU分支,并用該分支的預測結果對分類器的得分做加權,有效地解決了分類與定位分支之間對不準(mis-align)的問題。基于這個改進,地平線團隊的單階段網絡可以用更少的計算量達到兩階段網絡的同等甚至更高精度,極大的提升了模型的效率。在此基礎之上,地平線團隊還在點云的三維特征提取,擴大神經網絡的感受野,物體框質量預測分支以及關鍵點預測分支等方面做了改進。訓練方面通過數據增強和隨機權重平均來進一步改善。這些技術的綜合運用大幅提升了原有模型的檢測精度(大于4APH/L2),而增加的計算量基本上可以忽略。在硬件實現方面,地平線團隊利用GPU將三維點云的處理進行并行加速,將運行速度提升了超過20%(運行時間降低了17m
s)。
在任何一個物體檢測模型中,特征提取對于模型最后的性能都是至關重要的,往往這一步也是計算量最大的。尤其對于激光雷達點云這樣一種非結構化的數據來說,如何充分的利用卷積神經網絡來有效的提取特征就變得更加關鍵。在地平線的方案中,點云數據被轉換成固定范圍,固定大小的三維網格(對應世界坐標系中的X,Y,Z)。對于每個網格,將落到其中的點的反射強度進行平均,以作為該網格的特征值。需要注意的是,這個三維網格是非常稀疏的,很多格內并沒有數據點。如果采用傳統的三維卷積來進行特征提取,那將是非常低效的。因此,如圖3所示,在地平線的模型中,稀疏的三維卷積(spConv)以及子流形稀疏卷積(subM)被用來進行多個階段的特征提取。此外,地平線團隊減少了前端殘差模塊(residual block)的數量,并且降低了Z方向上采樣卷積數量,以此在準確度和速度上進行平衡。
感受野(receptive field)是衡量神經網絡特征提取能力的一個重要指標。較大的空間感受野不僅可以覆蓋不同大小的物體范圍,也可以提取物體周邊環境的上下文特征,而這種上下文語義信息對于檢測部分遮擋或者遠距離的物體來說非常有幫助。因此,在物體檢測的主干網絡中,地平線團隊采用了一種自校準的卷積操作(Self-Calibrated Convolution,簡稱SC-Conv)來擴大空間感受野,以及在空域和特征通道上引入注意力機制。如圖a和b所示,標準主干網絡中的卷積操作被替換成了自校準卷積。值得一提的是,通過巧妙的參數設置(如圖4c所示),這些引入的額外操作并沒有增加計算量,但是卻提升了整個檢測模型的準確度。
圖4 標準的主干網絡(a)及其優化方案(b, c)
與去年相比,地平線團隊在這次的模型中增加了兩個預測分支:IoU置信度預測和關鍵點預測。IoU是Intersection-over-Union的縮寫,用來衡量兩個物體框的重合程度。當預測的物體框與實際的物體框重合度較高時,IoU的值就較大,反之就較小。因此,IoU通常被用來衡量預測物體框的質量。在標準的物體檢測
網絡中,預測分支會輸出物體的置信度以及相應的物體框,但是這個置信度僅僅代表當前位置出現某類別物體的概率,并不代表物體框的質量高低,這也是常說的分類和定位任務的不匹配問題。因此,增加一個對物體框置信度的預測,并用其對分類器的得分做加權,可以提高分類和定位任務的匹配度,從而同時提高兩個任務的準確度。
在定位分支中,除了預測物體框的中心點以及長寬高,還增加了一個額外的分支用來預測關鍵點,比如物體框的角點。這樣做可以使神經網絡更好的學習物體的邊緣信息,因為點云中看到的物體往往只有其部分表面,中心點并不在可見的點云中。增加了3D框的角點之后,能夠引導模型更加貼合訓練數據,從而提升定位的精度。
訓練方面,首先是用數據增強技術來增加訓練樣本的多樣性,比如隨機選擇標注樣本,隨機反轉X,Y坐標,整體的旋轉和縮放等等。這些操作對于降低神經網絡的過擬合,提高其泛化能力都是非常有幫助的。此外,地平線的訓練方法中還包含了一個隨機的權重平均操作(Stochastic Weights Averaging,SWA)。具體來說,在正常的模型訓練結束后,將學習率降低為原來的1/10,再多訓練5輪(epoch)。將這5輪訓練得到的5個模型進行平均,最后再訓練一輪以確定Batc
h Normalization的參數。SWA將模型整體性能提升了大約0.2 mAPH/L2,在“行人”這一類提升大于0.5 APH/L2,體現出其有效性。并且,SWA之后的模型能再次降低過擬合的風險,具有更好的泛化性。這些優化訓練并不增加在預測階段的任何計算量,所以可以認為是“免費的午餐”。
這個步驟對于模型速度的優化也是非常關鍵。如前文所述,為了將點云數據轉化為三維網格數據,需要有一些額外的操作,比如計算每個點所屬的網格以及計算網格內的多個點的平均特征值。在使用多幀點云的時候,還需要將點云進行坐標轉換。這些操作是數據在送入神經網絡前的必要處理操作,但之前由于缺乏并行處理的算法,成為了影響整個模型速度的瓶頸之一。觀察到這一點,地平線團隊改進了該處理的算法,并編寫了專門的代碼,用于將上述操作放在GPU內并行執行,極大的加速了點云前處理的速度。
開放道路場景下的實時物體檢測,是自動駕駛的核心技術之一。目前,無論是學術界和工業界,實時3D物體檢測的主流的算法都是采用單階段、無錨點的策略。地平線對算法的各個方面進行了細致的優化,使其同時具有高精度和低延遲的特點。
地平線此次參賽的算法可以在開放路況下檢測多種物體,包括車輛、行人和騎自行車的人,評測指標達到73 mAPH/L2,并且算法在不需要大的改動的情況下可以很容易的推廣到更多的物體類別。雖然說評測指標還距離滿分的100還有一點距離,但是要知道,這個指標是在前后左右75米范圍內統計所有的物體得到的。對于自動駕駛應用來說,很多時候并不需要檢測場景內所有的物體,一般來說只需要穩定的檢測出那些會對駕駛行為產生影響的物體即可。比如說,在汽車低速行駛時,50米范圍以外的行人,或者在車輛目前運動軌跡以外的行人,基本上對車輛的駕駛行為沒有影響,因此可以不納入評測指標。所以說,像Waymo挑戰賽中使用的這種評測指標,其實難度實際是超過落地應用的。目前業界也有一些針對自動駕駛汽車安全性的測試方案,比如汽車界最具權威的安全認證機構Euro-NCAP(歐盟新車認證程序/中心)提出的的測試方案。這些方案定義了各種易引發交通事故的場景,針對這些場景在封閉路況下對自動駕駛車輛進行測試。以筆者的經驗來看,地平線的算法在一般的開放場景下可以達到73 mAPH/L2,通過Euro-NCAP的測試是沒有問題的。
地平線的算法在保證高精度的同時,可以達到小于60ms的低延遲。在沒有經過產品級的算法優化之前,這個速度已經非常可觀,可以滿足自動駕駛應用對實時性的要求。此外,地平線3D物體檢測算法的所有部分,從原始數據的前處理,到點云特征提取,再到主干網絡和預測分支都可以在GPU中通過并行計算來進行加速,這就為之后將算法植入車載芯片奠定了良好的基礎。
至此,關于技術的部分就說完了,但這為我們留下的一個思考,「推動自動駕駛行業的進步,解決方案公司應該怎么做?」
此前,市場對于地平線的認知是「一個 AI 芯片公司」,在自動駕駛領域似乎做硬件的和做軟件的是具有天然分離性的,其實不然,地平線以自動駕駛芯片為切入口的同時還深耕算法能力,這也是地平線一直強調的,Ta 們要做的就是賦能主機廠,在軟硬件技術方案全面賦能,幫助廠商實現智能化轉型。
一. 可以為行業里的自動駕駛硬件公司,實踐多元化的發展模式。
這個比較好理解,自動駕駛領域不允許公司有偏科,從 2014 年解決方案公司扎堆成立,到現在強者越強,有很大一部分原因是公司偏科,我們看到很多做硬件的廠商在算法上的不足會嚴重影響自身后續的發展。
而像地平線、華為、英偉達等這樣的芯片公司,被誤解最深的就是以為 Ta 們會在算法上欠缺,但事實確實這些企業在涉足這個領域是對于技術的策略就是「硬件 + 軟件」同時發展,這也是為什么 Ta 們能保持持續競爭力。
主機廠通過和地平線合作可以得到幾個好處:一,快速建立輔助駕駛能力;二,主機廠逐漸掌握算法能力,在感知算法方面會更進一步;三,短期縮短主機廠的開發時間,長期建立算法能力。
因此,我們能夠看到對于解決方案企業如何推動自動駕駛行業進步,地平線的答案是:「為行業踐行掌握多元技術的對于自動駕駛領域公司的重要性,以掌握自動駕駛核心的底層技術來幫助車企智能化轉型」。
自從2020年舉辦第一屆以來,Waymo自動駕駛挑戰賽持續的為各大研究機構提供公開公平的對比測試平臺。今年的挑戰賽增加了對系統速度的要求,更加貼近實用性和落地性。在這個背景下,地平線團隊的算法連續兩年取得3D物體檢測任務的第一名,證明了其團隊在3D物體檢測這個賽道上世界領先的實力,以及強大的技術和工程能力。此外,地平線此次參賽的方案中融合了很多目前最前沿的物體檢測技術,以及很多精巧的構思和設計,個人認為非常值得相關領域的研究者進行進一步的思考,也會對自動駕駛感知算法的研究起到非常大的推動作用。自動駕駛技術的研究以及應用還有很長的路要走,還有很多關鍵問題亟待解決,期望未來會有更多的研究機構參與其中,推出更加精準和高效的感知算法,以推動自動駕駛技術給人們的出行帶來更多的安全和便捷。
技術鄰APP工程師 必備