4月19日,毫末的AI DAY,我沒顧上看直播,本來打算會后只發(fā)一則“簡單的小新聞”,結(jié)果呢,一看顧維灝的演講特別“硬核”,很值得認真讀一下。在這次發(fā)布會的前后一周,毫末技術(shù)總監(jiān)潘興也有一次與媒體的溝通,并在分享結(jié)束后接受了媒體群訪,從演講到訪談同樣是干貨滿滿。
我在朋友圈簡單地說評論了幾句后,竟然有不少人私信問我“演講稿在哪里可以看到”。為響應廣大讀者的需求,我決定將這些干貨消化之后,梳理出一些精華發(fā)出。本文涵蓋的內(nèi)容包括:
1)毫末的數(shù)據(jù)智能體系MANA
2)Transformer,發(fā)揮數(shù)據(jù)優(yōu)勢的關(guān)鍵武器
3)在輕高精地圖的情況下實現(xiàn)城市道路自動駕駛
4)在決策環(huán)節(jié)引入深度學習算法
5)L2車輛的收集到的數(shù)據(jù)如何用于L4
6)可否將各場景的數(shù)據(jù)“打通”
7)從用戶視角對ADAS能力做“分級”
8)開放的商業(yè)模式
在寫這篇文章的過程中,我多次向毫末市場部的謝海杰請教,也參考并引用了車右智能在去年12月發(fā)的文章《毫末智行的感知架構(gòu)在演進中——Transformer在毫末的應用》及焉知新能源在今年3月份的文章《我們研究了特斯拉、毫末「自動駕駛算法」的秘密》中的大量內(nèi)容,在此向這兩篇文章的作者表示感謝。
一.數(shù)據(jù)智能體系MANA
01基本概念
2021年Q4,毫末智行發(fā)布了自動駕駛數(shù)據(jù)智能體系MANA。MANA是毫末以海量數(shù)據(jù)為基礎的一整套數(shù)據(jù)處理工具,包含了數(shù)據(jù)標注、算法模型、測試驗證系統(tǒng)、仿真模擬工具以及計算硬件。MANA是毫末所有產(chǎn)品進化的核心動力。
MANA體系由TARS、LUCAS、VENUS、BASE四個子系統(tǒng)組成。
其中,TARS是毫末在車端研發(fā)的算法原型,包括TrasView(感知),TrasGo(認知),規(guī)劃決策控制、Map(地圖定位),Meta(仿真引擎),更多為車端算法服務。
LUCAS是對算法在應用場景上的實踐,包括高性能計算、診斷、驗證、轉(zhuǎn)化等核心能力;VENUS是數(shù)據(jù)可視化化系統(tǒng),包括軟件和算法的執(zhí)行情況,對場景的還原,以及數(shù)據(jù)洞察等能力;BASE包括了數(shù)據(jù)的獲取,傳輸,存儲,計算,以及新的數(shù)據(jù)分析和數(shù)據(jù)服務。
MANA 感知系統(tǒng)的特點在于 “為全局任務設計了一個提取全局信息的 Neck 網(wǎng)絡”。這一點其實是非常重要的,因為全局任務(比如可行駛道路的檢測)非常依賴于對場景的理解,而對場景的理解又依賴于對全局信息的提取。
截止目前,MANA已完成超過19萬小時的學習時長,其虛擬駕齡已相當于人類司機2萬年的駕齡。
02MANA典型應用
(1)數(shù)據(jù)標注
數(shù)據(jù)標注在數(shù)據(jù)處理的成本中占比極高,因而,通過提高自動化水平來降低標注成本也是各家公司努力的方向,目前,毫末的數(shù)據(jù)標注自動化水平已經(jīng)達到了80%。在實現(xiàn)方法上,毫末通過“目標粗定位”和“屬性精細估計”兩個階段來進行。
“目標粗定位”階段的第一個分支采用了高精度3D障礙物檢測網(wǎng)絡和3D障礙物跟蹤算法,對3D目標進行檢測和跟蹤;第二個分支采用了時空金字塔網(wǎng)絡內(nèi)部的2D空間卷積和1D時間卷積,對3D目標的運動屬性進行檢測,然后系統(tǒng)再將這兩個分支檢測的結(jié)果進行聚合和分類。
“屬性精細估計”階段會根據(jù)物體運動狀態(tài)分類結(jié)果來區(qū)分靜態(tài)物體和動態(tài)物體,對不同類型的物體有不同的屬性精細估計策略。
靜態(tài)障礙物的標注相對來說會簡單一些,而動態(tài)障礙物的標注,除了標靜態(tài)障礙物必須有的屬性,也需要對動態(tài)障礙物特有的一些關(guān)鍵屬性,比如朝向角、運動姿態(tài)、速度等也會再進行詳細的標注。
對于動態(tài)物體的屬性精細估計,包括物體尺寸估計和位姿估計,這也是自動標注的重點和難點。
對此,毫末的做法是:
1)在自車和目標物相對運動的過程中,系統(tǒng)從多角度、多維度對目標物進行觀測,然后,有效利用多幀點云提供的時序信息對障礙物進行運動檢測;
2)再采用以目標為中心的跨時間點云聚合方法,對這些點云做一次壓縮,讓其從稀疏點云變成稠密的點云;
3)點云壓縮后,利用改進的PointNet網(wǎng)絡進行精確的3D框回歸,再次對物體的運動軌跡進行全局優(yōu)化實現(xiàn)位姿的精確估計。
目前,這一套方法已經(jīng)進入毫末的生產(chǎn)環(huán)節(jié)。
數(shù)據(jù)存儲方面,目前的難點主要有兩個:如何降低成本;如何結(jié)合自動駕駛的特性進行更好地處理。
為降低存儲成本,毫末搭建了數(shù)據(jù)挖掘的體系LUCAS,該體系從用戶回傳的海量數(shù)據(jù)中篩選出價值的數(shù)據(jù),然后把這些數(shù)據(jù)該送標的送標、該訓練的訓練、該使用的使用、該緩存的緩存。
對這些數(shù)據(jù),毫末會按其價值做分級管理——主要是根據(jù)數(shù)據(jù)的新鮮度、需求緊急程度、數(shù)據(jù)用途等維度,對數(shù)據(jù)劃分熱度級別。
比如,對于幾個月之前的數(shù)據(jù),毫末會對其進行編碼并存儲在數(shù)據(jù)庫中,而原始數(shù)據(jù)則存儲在成本更低的地方。
比如,毫末會根據(jù)自動駕駛對數(shù)據(jù)的使用需求,對數(shù)據(jù)進行分類,比如事故類、售后類、接管類、體感類、產(chǎn)品類、研發(fā)類等。由于需求不同,不同類別的數(shù)據(jù)生命周期、實效要求、處理流程、處理成本均不同,會采取不同的策略進行存儲。
自動化的篩選手段再加上分級存儲策略,數(shù)據(jù)的存儲成本自然會降低。
(3)數(shù)據(jù)融合
為做好視覺和激光雷達數(shù)據(jù)的融合,毫末將 Transformer 算法引入到其數(shù)據(jù)智能體系 MANA 中。
2021年12月,顧維灝在毫末AI DAY 上的介紹,MANA 系統(tǒng)采用 Transformer 在底層融合視覺和激光雷達數(shù)據(jù),進而實現(xiàn)空間、時間、傳感器三位一體的深層次感知。
不同于目標級的后融合,毫末使用Transformer對圖片、點云提取出來的特征向量進行前融合,融合后再通過神經(jīng)網(wǎng)絡進行目標預測。這樣既可以解決多相機之間的融合關(guān)聯(lián),又通過激光雷達有效提升了視覺檢測的效果。
二.Transformer,發(fā)揮數(shù)據(jù)優(yōu)勢的關(guān)鍵武器
01、Transformer的定義及優(yōu)勢
Transfomer誕生于2017年前后,它是谷歌為NLP(自然語言處理)設計的算法,這個模型的核心是注意力機制。
所謂注意力機制,大概意思就是,在一句話或者一張圖中,transformer會建立起一個詞和另一個詞、一片段圖像(像素)跟其他像素的關(guān)系,以判斷這些詞有什么關(guān)系,這兩個像素區(qū)域有什么關(guān)系。
在 Transformer 到來之前,大家一般都是使用基于循環(huán)神經(jīng)網(wǎng)絡 RNN 的「編碼器-解碼器」結(jié)構(gòu)來完成序列翻譯。
基于 RNN 的架構(gòu)有一個明顯弊端就是,它屬于序列模型,需要以一個接一個的序列化方式進行信息處理,注意力權(quán)重需要等待序列全部輸入模型之后才能確定——簡單理解就是,需要 RNN 對序列「從頭看到尾」。
例如:面對機器翻譯問題「A magazine is stuck in the gun」,其中的「Magazine」到底應該翻譯為「雜志」還是「彈匣」?人類在看到「gun」一詞時,會將「Magazine」翻譯為「彈匣」,但對機器來說,并不會這么簡單。
基于RNN的機器翻譯模型需要一步步地順序處理從 Magazine 到 gun 的所有詞語,當它們相距較遠時,RNN 中存儲的信息將不斷被稀釋,翻譯效果常常難以盡人意,而且效率非常很低。
這種架構(gòu)無論是在訓練環(huán)節(jié)還是推理環(huán)節(jié),都具有大量的時間開銷,并且難以實現(xiàn)并行處理。而這個時候,工程師又想到了一個方案,就是在標準的 RNN 模型中加入一個「注意力機制」。
這個注意力機制,源自于人腦的注意力機制。即當人的大腦接受外部信息時,如視覺信息、聽覺信息時,往往不會對全部信息做處理和理解,而只會將注意力集中在部分顯著或者感興趣的信息上,這樣有利于濾除不重要的信息,從而提升信息處理效率。
當時,谷歌團隊賦予這個加入了注意力機制的RNN模型一個新名字:Transformer。
因為引入了注意力機制,Transformer 并不關(guān)心順序,在計算相關(guān)性時,每個元素的重要性是根據(jù)數(shù)據(jù)本身的語義信息計算出來的。因此,可以輕松地提取任意距離元素之間的相關(guān)性。這樣就保證了不管在時序上相距多遠,元素之間的相關(guān)性都可以被很好地保留。
比如,The animal didn’t cross the street because it was too tired。這里的it到底代表的是animal還是street呢,對于人類來說能很簡單的判斷出來,但是對于機器(如果用RNN來處理的話)來說,是很難判斷的,而Transformer的注意力機制就能夠讓機器把it和animal聯(lián)系起來。
在自然語言處理領(lǐng)域取得廣泛應用后,Transformer 也被成功移植到了很多視覺任務上,比如「圖像分類,物體檢測」等,并同樣取得了不錯的效果。
為什么源自自然語言領(lǐng)域的算法,在視覺上同樣適用呢?
主要原因在于:雖然圖像本身不是時間序列數(shù)據(jù),但可以看作空間上的序列,視覺任務一個關(guān)鍵的步驟就是要提取像素之間的相關(guān)性,普通的 CNN 是通過卷積核來提取局部的相關(guān)性(也稱為:局部感受野),而Transformer 則可以提供“全局的感受野”。因此,特征學習能力相比 CNN 要高很多。
可以說,Transformer盡管并不是給圖形處理用的,但它所能揭露的信息內(nèi)在關(guān)系的本質(zhì),卻比CNN更深刻。
有研究表明,當訓練數(shù)據(jù)集增大到包含 1 億張圖像時,Transformer 的性能開始超過 CNN。而當圖像數(shù)量增加到 10 億張時,兩者的性能差距變得更大。
簡單理解就是,Transformer 在海量數(shù)據(jù)的處理能力上具有巨大冗余優(yōu)勢。
自動駕駛?cè)χ?,最先使用Transformer來做感知算法的是特斯拉,最關(guān)鍵的原因是,特斯拉的數(shù)據(jù)規(guī)模都很大?,F(xiàn)在,毫末希望能成為僅次于特斯拉的第二名。
02、Transformer在毫末自動駕駛中的應用
在特斯拉的FSD應用中,Transformer的作用非常有限。其只是利用了Transformer技術(shù)在對于圖像信息進行“自注意力/Self Attention”全畫幅關(guān)系的捕捉和跨視角圖像信息之間視角轉(zhuǎn)換所必須的“互注意力/Cross Attention”關(guān)系的刻畫和轉(zhuǎn)化。
但在毫末智行,根據(jù)顧維灝在去年12月份的AI Day上所描述的,Transformer不僅僅完成了對于純視覺信息的BEV的視場角度轉(zhuǎn)化,而且完成了camera和lidar之間異構(gòu)但互補的傳感器信息的融合,即所謂的跨模態(tài)raw data的融合工作。
毫末還提出將 Transformer 引入到其數(shù)據(jù)智能體系 MANA 中,并逐步應用到實際的道路感知問題,比如障礙物檢測、車道線檢測、可行駛區(qū)域分割、交通標志檢測等等。
(1)用Transformer做時間和空間上的前融合
據(jù)上次AI DAY上披露的情況,在毫末的自動駕駛方案中,Camera的純視覺和Lidar的純激光感知在各自的識別結(jié)果出來之前是完全各自獨立的。兩個堆棧完全各自獨立,沒有交集和融合,也就是沒有所謂的“前融合”技術(shù)。
這個思路的好處是:兩個系統(tǒng)各自獨立的實際后果是可以給對方提供備份能力,這也是Mobileye所強調(diào)的;壞處是:沒辦法發(fā)揮Lidar和camera這兩種異構(gòu)傳感器互補的性質(zhì),不能從原始數(shù)據(jù)上聯(lián)合地提取最有價值的融合信息。
此外,顧維灝曾稱,現(xiàn)有感知系統(tǒng)存在“時間上的感知不連續(xù)、空間上的感知碎片化”的問題。
所謂“空間上的感知碎片化”,是指車身四周的Lidar、camera由于角度安裝的原因,多個傳感器實體無法實現(xiàn)空間域內(nèi)的連續(xù)覆蓋和統(tǒng)一識別。其直接結(jié)果就是,很多攝像頭都只看到了目標的一部分,因此無法根據(jù)殘缺的信息做出正確的檢測,后續(xù)的融合效果也就無法保證;或者是,一個超長或者超尺寸的物體被多個傳感器捕捉,從而被錯誤識別為多個目標的現(xiàn)象(這個問題在早期的Autopilot上也普遍存在,直到Autopilot的3D化)。
所謂“時間上的感知不連續(xù)”,指攝像頭和激光雷達的識別,都是以時間上斷續(xù)的幀為單元來實施的,并未設計跨越時間尺度的、Frame by frame的時域網(wǎng)絡來處理這個問題。比如,采用單獨的物體跟蹤模塊將單幀的物體檢測結(jié)果串聯(lián)起來,這其實是一種后融合策略,因此無法充分利用時序上的有用信息。
如何解決這兩個問題呢?毫末的答案是:用 Transformer 做時間和空間上的前融合。
在空間上,使用transformer對圖片、點云提取出來的特征向量進行前融合,融合后再通過神經(jīng)網(wǎng)絡進行目標預測。這樣既可以解決多相機之間的融合關(guān)聯(lián),又通過激光雷達有效提升了視覺檢測的效果。
在時間上,前融合的邏輯也類似,即會將多幀的特征向量進行前融合后,再通過神經(jīng)網(wǎng)絡的預測,進而獲得時間上更好的預測連續(xù)性。
比如transformer對于車道線識別就是在空間上把多個攝像頭拍到的車道線融合為一個,從而解決了“空間上的感知碎片化”和“時間上的感知不連續(xù)”問題。
與 Transformer 在一般的視覺任務(比如圖像分類和物體檢測)中扮演的角色不同,Transformer 在空間前融合中的主要作用并不是提取特征,而是進行坐標系的變換,這個變換過程是完全由數(shù)據(jù)驅(qū)動的,也是任務相關(guān)的。
關(guān)于“時間上的感知不連續(xù)性”,在沒有高精地圖作為先驗信息的時候,復雜的車道線會因為感知的噪聲跳變,即上一幀時,這個地方車道線在你左側(cè)50厘米,一秒鐘之后的,這個車道線可能就跳到左側(cè)45厘米,整個車道線在抖,用戶實車感受的時候,會感受到這個車在“蛇行”。
而通過Transformer的注意力機制,系統(tǒng)便可以修正這種感知跳變引發(fā)的噪聲,從而在時序上做到穩(wěn)定的輸出。在這種機制下,系統(tǒng)可以看到整個車道線的輸出在視野上會更遠,以及車道本身的拓撲結(jié)構(gòu),從而實現(xiàn)更精細化的輸出結(jié)果,使得整個車道線做到所見即所得,便于下游做規(guī)劃決策。
關(guān)于“空間上的感知碎片化”問題,上圖是毫末的自動駕駛系統(tǒng)在不用高精地圖的情況下,純憑感知看到的車道線。
這個路段上有車道線的變化,消亡、新增,最底下這張圖可以看到是一個環(huán)島。到前面有車道的匝道,還會遇到路型的變化,有一個匯入車道,有一段車道線斷掉了;路口中間沒有車道線,過了路口之后整個路型向左邊進入一個環(huán)島。
車上共有6個攝像頭,并且這6個攝像頭都看到了車道線,有旁邊的,有前面的,有后面的。在這種復雜的情況下,使用Transformer的注意力機制,系統(tǒng)可以非常有效地解決多個相機之間的拼接問題。
如果不采用Transformer模型,就只能跟以往一樣,對不同傳感器的數(shù)據(jù)做后處理,這時候就會受到傳感器的標定誤差等的影響,車道線拼起來之后就不連貫。
潘興提到,之所以用車道線舉例,相比于高速,車道線是在城市里面變化最大的一個典型感知難題。
高速上的車道線很整齊,不管是車道線劃白線的質(zhì)量還是規(guī)整程度和連通程度都是挺高的,但城區(qū)內(nèi)的車道線是比較復雜的,很多時候在城市里面模糊了,政府沒有來得及重新刷,有可能重新刷了之后,舊的車道線沒有摳干凈,新的車道線還在,就導致新舊車道線的交替重疊。很多時候,這個路口一開始兩個車道,到了路口的時候多了一個潮汐車道,就變成了二變?nèi)?;很時候,二變?nèi)龑Φ眠€不是很正,有可能直著開就沖出路去了。
面對復雜的車道線問題,用大模型,尤其像Transformer這種注意力機制解決這種問題就非常有優(yōu)勢。
但其實,不光是車道線,各種障礙物等交通元素都會逐步被納入Transformer的處理范圍。
三.如何在缺少高精地圖的情況下實現(xiàn)城市輔助駕駛
01、城市自動輔助駕駛的感知難題
城市NOH和高速NOH的場景會有很多差別,最為顯著的三點是:路口多、變道多、擁堵多。路口的紅綠燈是一個不可回避的話題。
一個路口有很多紅綠燈,尤其是不規(guī)則的路口,其實能夠看到很多紅綠燈,左邊、右邊、人行道、正前方都能看到。到底哪個紅綠燈管你自己那條車道?這個問題就會比較困難。
通常,很多自動駕駛公司在測試階段的做法通過高精地圖來解決這些問題——在高精地圖里面就知道,在一個具體的計算機坐標下面這個地方有紅綠燈、這個紅綠燈管哪條路;而且,在監(jiān)測的時候就可以跟地圖做對照,很容易知道前面的紅綠燈距離我多遠。
然而,對量產(chǎn)車來說,在實際的城市場景里面,當前國家還沒有審批通過城市內(nèi)的高精地圖。即便是審批通過了,一時半會兒也很難做出來——不同于Robotaxi通常只需要幾條街上的三五十公里的高精地圖,而量產(chǎn)車需要的是100個城市、300個城市、1000個城市的高精地圖。
可能一開始,只是北上廣深等少數(shù)道路結(jié)構(gòu)比較完整的大城市會有高精地圖,然后再逐步向其他城市拓展。
毫末方面表示,未來在有合規(guī)的城市級高精地圖出臺之后,他們也會在城市NOH上使用高精地圖,來進一步保證車端感知的精確度。但現(xiàn)階段,在那些缺少高精地圖的城市,智能輔助駕駛車輛該如何解決紅綠燈的問題?
02、尚無高精地圖可用,那用什么?
既然當前還缺少城市級高精地圖,那就得通過訓練把感知算法做得更好,這是毫末的思路。
我們?nèi)砸约t綠燈難題為例。把全國各地的紅綠燈數(shù)據(jù)都收集過來做訓練顯然不大可能,毫末的做法是,通過仿平臺搭建了各種不同的光照、天氣下的紅綠燈場景,再用這些場景做模型訓練。
為擴大訓練的樣本量、彌補真實場景下數(shù)據(jù)樣本不均衡的問題,毫末通過3D仿真引擎獲得大量不同光照、不同背景下的合成數(shù)據(jù)。
不過,在通常情況下,合成數(shù)據(jù)的質(zhì)量不如真實數(shù)據(jù),兩者的主要差在于特征空間及概率分布不一致。其中,特征空間不一致可以理解為,紅綠燈經(jīng)常被雨水或灰塵弄臟,造車數(shù)據(jù)失真;概率分布不一致則指圖片風格不一致,比如仿真的圖片明顯感覺比較假,光線、顏色等和真實世界還是有區(qū)別。
這兩個“不一致”問題不解決,合成數(shù)據(jù)便無法被充分利用。因此,要最大限度地使用合成數(shù)據(jù),就需要進最大可能縮小合成數(shù)據(jù)跟真實數(shù)據(jù)在特征空間和概率分布上的“不一致”,進而使得目標函數(shù)f在真實場景中擁有最小的預測誤差,從而可進一步提升紅綠燈識別的準確率。
對縮小兩者在概率分布上的不一致,毫末采用的是遷移學習領(lǐng)域中的混合遷移訓練方法,即利用合成數(shù)據(jù)“定向彌補”真實場景中缺失的數(shù)據(jù)樣本,并及不斷調(diào)整訓練策略,從而減小二者特征空間的概率分布差異。
可以看到下方右圖中特征空間的可視化示意圖,通過有目標的定向補足相應數(shù)據(jù)及混合訓練之后,合成數(shù)據(jù)與真實數(shù)據(jù)的特征空間更為接近。
說到仿真數(shù)據(jù)、合成數(shù)據(jù),我們就有必要介紹一個概念:遷移學習。
遷移學習是人工智能領(lǐng)域的一個專業(yè)概念,通俗來講,就是機器學習人類可以 “舉一反三”的能力,將在完成任務A的過程中學習到的知識遷移到任務B中。
比如,一個小孩子在QQ飛車里學開車,雖然是仿真的操作,但上了他爸的車,他也就真的會開了;比如,學會騎自行車,就比較容易學摩托車;比如,學會了C語言,在學一些其它編程語言會簡單很多。
遷移學習的目標是將知識從一個任務遷移到另一個任務,使用一個或多個任務來幫助另一個目標任務。
毫末采用的是混合遷移學習方案。所謂混合遷移學習,也是遷移學習的一種,模型的遷移效率會明顯高于單一遷移學習模型。對感知數(shù)據(jù)的混合遷移學習應該就是將合成數(shù)據(jù)和真實道路的數(shù)據(jù)結(jié)合起來,提高合成數(shù)據(jù)的價值,然后用合成數(shù)據(jù)訓練算法模型,再將這個算法模型應用到真實路況里。
前面提到,關(guān)于紅綠燈主要有“識別”和“綁路”兩類問題,“識別”比較好理解,“綁路”指在紅綠燈比較多的情況下,如何分辨出“哪個紅綠燈管哪條路”,這實際上是一個確認紅綠燈和道路的拓撲關(guān)系的問題。對此,毫末設計了一個雙流感知模型,將紅綠燈檢測和綁路問題分解成“what”和“where”兩個通道。
其中,what通路主要負責紅綠燈的識別信息,主要包含對紅綠燈燈箱的檢測和燈型分類,分別輸出紅綠燈的顏色、形狀和朝向信息;而where通路主要負責紅綠燈綁路,即輸出目標車道的紅綠燈燈組——在這里,毫末會通過訓練生成feature map的卷積神經(jīng)網(wǎng)絡,表達這個紅綠燈和道路結(jié)構(gòu)的關(guān)系。
最后,毫末會使用“空間注意力機制”將二者結(jié)合起來。其中,spatial attention模塊中紫色的部分對應圖像中控車紅綠燈經(jīng)常出現(xiàn)的位置,從而毫末的雙流模型將輸出綁路后目標車道的紅綠燈通行狀態(tài)。需要注意的是,這里的“空間注意力機制”的模型與上面介紹的車道線識別模型是相互獨立的。
潘興說,通過這種方法,毫末的自動駕駛車輛便可以在沒有高精地圖的情況下,純憑感知,就可以處理、識別紅綠燈,以及知道這個紅綠燈跟道路的關(guān)系。“不管紅綠燈在什么位置,只要一‘綁定’,系統(tǒng)就可以找到這個紅綠燈在道路上的拓撲信息。”
據(jù)顧維灝在演講中披露:“基于這種方法,毫末進行了大量測試,在不同城市、不同距離、不同轉(zhuǎn)向、不同光線的條件下,也能準確地識別出紅綠燈信號。”
03、“強感知”路線的技術(shù)壁壘
潘興在演講中將毫末這條路線稱之為“重感知”,那么,這種技術(shù)路線的壁壘是什么?
對此,潘興如是解釋道:“這里面的核心難點是感知算法的精度。因為感知算法的精度如果做不高,在我們這種方案里面,即使你的拓撲信息都搞對了,其實車也開不好,而且更何況拓撲信息本身也是有精度的。”
為什么強調(diào)的是感知算法的精度,而不是傳感器的精度?潘興說,感知系統(tǒng)能看到某個地方有路型變換、能準確地策動車道線距自車的距離、車道線的曲率,主要還是靠算法。
04、毫末跟特斯拉一樣嗎?
說起不用高精地圖做出城市自動駕駛,特斯拉是一個繞不過去的話題。
特斯拉一直強調(diào)自己沒有用高精地圖,不少人因此產(chǎn)生誤解。實際上,特斯拉確實是沒有用到高精地圖這么個“零部件”,但他們做了眾包建圖,然后又用眾包建圖的數(shù)據(jù)來訓練感知算法,可以理解為,他們的感知輸出結(jié)果里面天然就帶有了一些地圖信息。
簡單粗暴地說,我們可以理解為,特斯拉是“將高精地圖這個功能集成到了感知算法中”。
隨著頭部車企自動駕駛算法能力的增強,今后,這一路線或?qū)⒊蔀橼厔荨?/p>
四.路徑規(guī)劃環(huán)節(jié)引入深度學習算法
當我們從高速走向城市,不可避免地會遇到很多更復雜的場景。比如:我們試圖左轉(zhuǎn)過路口時需要等待前方掉頭車,還需觀察對向直行車輛的動態(tài)以及和其他右轉(zhuǎn)車交互。
處理這樣的場景,過去在做測試的階段是寫非常多的規(guī)則式場景判定(if...else...)和參數(shù)設定。然而,在城市里基本上每一兩公里就有一個十字路,那么多規(guī)則,你寫得過來嗎?
而且,規(guī)則寫多了,可能會自相矛盾——有的研發(fā)的人寫了幾千條規(guī)則,自己就混亂了。規(guī)則越來越多,就會引發(fā)邏輯爆炸,越來越難以維護和調(diào)和。即使寫好的規(guī)則,當突然加入一個新的交通參與者或者擾動因素時,也會帶來失效。
針對這一痛點,毫末的做法是,通過TarsGo提供一個車端的模型,通過模型學習和立體化學習的手段,學習人類司機在這些場景下面的動作,然后再用新的模型替代掉原來的一些if...else....規(guī)則。
事實上,早在2021年12月份的AI DAY上,顧維灝就提到了在決策環(huán)節(jié)引入場景數(shù)字化和大規(guī)模強化學習。
場景數(shù)字化,就是將行駛道路上的不同場景進行參數(shù)化的表示。參數(shù)化的好處在于可以對場景進行有效地分類,從而進行差異化的處理。在將各種場景數(shù)字化了以后,就可以采用人工智能的算法來學習。
一般情況下,強化學習是完成這個任務的一個比較好的選擇。如何對每一次的駕駛行為進行正確地評價,是決策系統(tǒng)中強化學習算法設計的關(guān)鍵。毫末采取的策略是模擬人類司機的行為,這也是最快速有效的方法。
當然,只有幾個司機的數(shù)據(jù)是遠遠不夠的,采用這種策略的基礎也是海量的人工駕駛數(shù)據(jù),而這恰恰又是毫末的優(yōu)勢所在——毫末還有一個模塊就是LUCAS Go,會為TarsGo提供高價值人類的駕駛數(shù)據(jù)。
在這一過程中,可解釋性標注扮演著重要的角色,即通過可解釋性標注,可以解釋駕駛員決策行為背后的原因,從而也能讓認知決策算法的推理結(jié)果變得“可理解”。
比如,在路口,自車需要跟其他車輛進行交互和博弈,因此,光知道自己怎么開是不夠的,還需要了解其他車輛在這種場合下的反應,比如,車為什么會有這個動作,這個人為什么會這么開車,接下來要不要超車,要不要變道?
但其他車輛的行為很難預料,在不同情況下的表現(xiàn)都不一樣。如果不能進行一個有效的可解釋性標注,就有可能導致在訓練的時候模型不容易收斂,并且可能會把一些人不太好的駕駛習慣也學進來。
所以,要想這些數(shù)據(jù),就需要對他車司機的行為及意圖做一個人類可解釋的標注。比如,車輛突然向右偏移一點,是他算出來左側(cè)有大車加速過來。車輛要能夠把影響他決策的種種因素給出權(quán)重概率,而不是一個無法解釋的黑箱。
在這個過程中,毫末用到了阿里的M6模型。M6是目前中文社區(qū)里面一個最大的多模態(tài)預訓練模型,參數(shù)規(guī)模達到了10萬億以上。它一開始主要是針對于圖片、文本在電商領(lǐng)域的應用,包括視頻理解、自然語言處理、圖像生成等等。
M6在自動駕駛領(lǐng)域的應用標志著AI模型能力的普惠化——自動駕駛公司不光能夠用自己的采集車、用戶的車傳回來的數(shù)據(jù)迭代自動駕駛的能力,同樣也能夠利用阿里云在智慧城市中路口、交通流的數(shù)據(jù),來進行訓練學習。
通過M6預訓練的多模態(tài)模型,系統(tǒng)不但能夠預測人類司機是怎么開的,而且能對這個司機的動作給出一個文本集的解釋,這個文本集是人類可以理解的。
然后,通過數(shù)據(jù)的后處理,系統(tǒng)就可以對這些可解釋的問題進行歸類以及清洗和篩選,以確保的自動駕駛算法拿到的數(shù)據(jù)是干凈的、符合人類駕駛習慣的、符合社會公序良俗的,是一個可以用來訓練的數(shù)據(jù)。
潘興說,通過這些符合預期的數(shù)據(jù),他們就可以訓練出一個車端智能的算法,替代掉車端大量的規(guī)則,進而來迭代自動駕駛的算法。
去年年底,某頭部造車新勢力CEO在演講中說:“判斷和決策今天還沒有真正給車下指令,因為現(xiàn)在不僅沒用到深度學習,甚至連機器學習也沒用到,只是用的編程。”但從這一點來看,毫末自動駕駛的決策算法可能已經(jīng)超過這些頭部新勢力。
五.如何用L2的數(shù)據(jù)做L4?
截至今年4月,已有6款量產(chǎn)車型(坦克300、拿鐵、瑪奇朵、哈弗神獸、坦克500等)搭了載毫末智行的智駕系統(tǒng),用戶行駛總里程已經(jīng)突破了700萬公里。按計劃,未來兩年,搭載毫末智能駕駛系統(tǒng)的乘用車數(shù)量將超過100萬臺。
這一行駛里程,是毫末強調(diào)“數(shù)據(jù)優(yōu)勢”的底氣所在。不過,已經(jīng)上路的量產(chǎn)車,都沒有裝激光雷達。這些數(shù)據(jù),能否直接用來訓練L4的算法?如果不能,需要對它做怎樣的優(yōu)化?在4月13日,筆者向潘興拋出了這個問題。
潘興的回答是:用2D的數(shù)據(jù)做好自動駕駛是比較難的,要從2D數(shù)據(jù)里面得到3D信息,才能把這些數(shù)據(jù)的價值真正發(fā)揮出來。因此,能否把視覺數(shù)據(jù)能夠標注成一個帶有3D信息的數(shù)據(jù),是未來能不能向更高級自動駕駛功能挺進的一個重要門檻;如果你無法跨過這個門檻,那些數(shù)據(jù)的價值其實就沒有那么大了。
六.可否將各場景的數(shù)據(jù)打通?
當前,除乘用車自動駕駛外,毫末也在發(fā)力末端物流配送(不僅有線控底盤,還有算法),那么,在不同場景獲取的數(shù)據(jù)可以打通嗎?
對這個問題,潘興的答案是:這些數(shù)據(jù)肯定是可以打通的,但是物流車傳感器的型號、位置和乘用車其實還是有很大區(qū)別的,其次物流車行駛的區(qū)域和乘用車現(xiàn)在行駛的區(qū)域雖然很接近,但是也有一些區(qū)別,所以這些數(shù)據(jù)要用好的話,其實也需要一些技術(shù)手段。
七.從用戶視角來對ADAS能力做分級
毫末方面認為,ADAS的分級,目前具有極大混亂性,而且都不是從用戶體驗的角度出發(fā)的,因此,他們提出從用戶視角理解產(chǎn)品能力分級,讓用戶對車輛通過性有相對準確的認知。
近期,毫末自己定了一個輔助駕駛通過性的能力指針“行駛環(huán)境熵”,這是一個和車輛周圍環(huán)境交通參與者的數(shù)量、相對距離、相對位置、運動方向相關(guān)的函數(shù)。根據(jù)這個函數(shù),把交通環(huán)境定義了7個等級,然后在這個7個等級下,對毫末產(chǎn)品和行業(yè)產(chǎn)品的測試和能力進行對比。
特別是輔助駕駛進入城市后,使用率會大大增加。毫末希望能給用戶一個穩(wěn)定性的認知,也希望能夠和行業(yè)從業(yè)者共同定義這個能力標準。當然,毫末也會持續(xù)提升自動駕駛能力的通過性。
八.開放的商業(yè)模式
目前,長城汽車是毫末在乘用車領(lǐng)域的唯一客戶。按毫末也計劃在接下來將技術(shù)開放給其他主機廠。
如何跟其他主機廠合作呢?毫末智行設計了“6P開放合作模式”。即合作方可以選擇采用毫末的全棧技術(shù)解決方案,可以選擇在數(shù)據(jù)智能云端服務層面與毫末合作,也可以選擇軟件或硬件層面,或者功能模塊層面的合作;甚至可以選擇和毫末進行源代碼級別的定制。
毫末“6P開放合作模式”就是在全棧解決方案到源代碼之間這6個產(chǎn)品層面都可以開放式探索合作的可能。
參考資料: