“自動駕駛”汽車是怎么樣看路的?
【太平洋汽車網 技術頻道】你能分辨照片上是不是有只貓嗎?即便三歲小孩這都不是啥問題(照片特別離譜的除外)。
可你能教會一臺機器辨認一只貓嗎?好像有點難度,我們得先告訴機器啥是貓。機器和人的思維畢竟不太一樣,我們教小朋友認貓,只要告訴他那個喵喵叫的就是貓,他很快就能記住,并且能舉一反三,但這個方法顯然不適合人機器學習。而現在就有一大群人正在做類似的事,其中一批就是教自動駕駛汽車認路的工程師。
近幾年來,高階輔助駕駛甚至自動駕駛的概念越來越被頻繁的提及,而自動輔助駕駛技術也在快速的發展。我們平時開車需要用眼睛觀察路況,而自動(輔助)駕駛便是通過感知硬件來感知周圍的路況。目前汽車上應用到的感知硬件包括但不限于:攝像頭、毫米波雷達、超聲波雷達、激光雷達以及V2X相關硬件等。
對于自動駕駛感知,純視覺路線與多傳感器融合路線之爭由來已久,融合路線中激光雷可以精準的還原周遭環境的三維特征;毫米波雷達對惡劣天氣有著更強的適應性,且能夠同時探測被測物體的距離與速度;高精度地圖能夠讓車輛提前對沿途道路有更精確的了解;V2X能夠借助旁人獲知視野之外的情況……
但不論哪種路線,都不會把攝像頭排除在外。攝像頭是目前最主流的自動駕駛感知硬件,類似人眼看世界,系統算法會自動分析圖像并找出其中的各種事物。雙目攝像頭還可以像人眼一樣通過夾角分析出前方障礙物的距離。即便視覺感知也有自己的弱點,其十分依賴算法,而算法需要海量的數據進行訓練,對于后來者有極高的門檻。此外,攝像頭受逆光、能見度等環境因素影響頗大,識別準確率在不同環境下會有較大波動。
因為自動駕駛汽車,也終究是要在為人類設計的交通體系之中。而人類的感知環境,憑借的就是眼睛的成像,攝像頭剛好就是為了還原人眼看到的世界而設計的,因此要讓自動駕駛汽車看到人類駕駛員在路上看到的所有信息(包括顏色、文字、標線等),攝像頭自然是不可或缺的。所謂純視覺路線與多傳感器融合路線之爭,爭論的焦點其實只是“只有攝像頭夠不夠”的問題。
奠定攝像頭在自動駕駛感知系統中堅實地位的,除了前面提到的可以獲取與人眼一樣多的信息外,還有很重要的一點,人類自己能看到的東西,才能更有效的“教”給機器。自動駕駛近年來的飛速進步,依賴的是人工智能技術近年來取得的突破性發展。而人工智能近年來應用進展最為迅速的領域,一個是語音識別,一個是圖像識別,剛好對應人類的“聽”和“看”的能力。下面我們就從人工智能的發展史,聊聊自動駕駛視覺感知背后的算法。
我們還是先說貓,想教機器認識貓,可以把貓的一些特征告訴機器,比如橘貓是橘色的。后果可想而知,橘子、抱枕、金毛,甚至一些不可描述的東西都可能會被誤認為是貓。顯然顏色并不靠譜,那我們再加一些特征,比如貓有尖尖的耳朵、一對黑眼睛、四條腿、長長的胡須等等。終于,機器認識了一只橘貓。
可一不小心,老虎、獅子、兔猻等等也都被認成了貓。而一些角度非常規的貓的照片,又莫名其妙被開除了貓籍。很顯然,我們輸入的條件太過籠統又不夠細致。那是不是只要輸入足夠多、足夠細的條件,機器就能認識所有的貓了?很長一段時間,人工智能專家也是這么認為的。
二十世紀五十年代中期,人工智能誕生之初,部分學者便創造了“規則式”人工智能,后來定名為“專家系統”(expert systems)。他們用定制的邏輯規則來教計算機怎么思考,專家系統很快讓計算機在跳棋等游戲中擊敗了人類高手,甚至直接摸到了這類游戲的天花板。
可近二十年的發展高潮,人工智能都沒有什么能落地的應用,讓人工智能在七十年代中期陷入第一次寒冬。直到1980年卡耐基梅隆大學發明的軟件XCON投入使用,這個幫助顧客自動選配計算機配件的軟件程序,包含了設定好的超過2500條規則,在后續幾年處理了超過80000條訂單,準確度超過95%,每年節省超過2500萬美元,XCON和同時期的其他實用專家系統,揭開了人工智能的第二次高潮。
隨著人工智能的熱度攀升,自動駕駛相關的項目也紛紛上馬。不過大家最熟悉的,要數這一時期拍攝的美劇《霹靂游俠》里,那臺神奇的智能汽車KITT。劇中,KITT有一塊每秒運算可達10億次的CPU和5000兆字節容量的數據庫,不僅能夠自動駕駛,還能進行人機對話等等。不過事實上,劇中暢想的CPU和數據庫水平,甚至不如一臺iPhone4。
隨著摸索的深入,專家系統的局限愈發凸顯。彼時研發語音識別的團隊,花費大量金錢聘請很多的語言學專家,參與規則的制定,可惜語音識別的準確率,始終也只能徘徊在60%左右。人類不可能窮盡所有規則的可能性,彼時計算機硬件水平也制約著人工智能的進步。
歷史的時鐘還沒能進入九十年代,人工智能在互聯網、計算機的發展熱潮中,黯然陷入了第二次寒冬。
1997年,國際象棋世界冠軍卡斯帕羅夫面對去年的手下敗將,IBM開發的人工智能“深藍”時,顯得并不從容。被當時媒體稱為“人類智力的最后一道防線”的國際象棋,以卡斯帕羅夫的落敗宣告失守。
這一事件引發了社會熱議,人工智能也從此時開始了緩慢的回溫。當然,各路媒體很快反應了過來,“人類智力的最后一道防線”又被放在了橫在人工智能面前的最后一種棋類游戲——圍棋。
讓人工智能在圍棋上戰勝人類,這是個橫在”專家系統“的天花板之上的挑戰。不是因為無法窮盡的規則,而是太多的可能性遠超出計算機的算力極限。答案我們今天都知道了,2016年,谷歌開發的人工智能AlphaGo戰勝圍棋世界冠軍李世石,之后又接連挫敗柯潔等圍棋世界冠軍,徹底宣告了人工智能的勝利。
不過,AlphaGo其實早已不再是專家系統,而是如今炙手可熱的神經網絡和深度學習。
神經網絡的誕生并不比專家系統更晚,同樣在人工智能誕生的五十年代,模仿人類大腦通過計算機搭建神經網絡,讓機器能夠自主學習就已經被提出。不過在此后的半個多世紀,沒有足夠強大的硬件和充足的數據庫,基于神經網絡的人工智能雖然從未中斷,卻鮮有建樹。
七八十年代,正是IBM最輝煌的一段時期,IBM內部有一大批人工智能相關的項目在推進。其中Jelinek領導了一直很不起眼的小團隊,單獨開發了一套基于統計概率的語音識別系統,這與當時大量聘請語言學專家的專家系統背道而馳。有趣的是,并不是這個團隊有多么高明的遠見。Jelinek領導的團隊只是IBM內部一直不是特別起眼的小團隊,在專家系統火熱的當時,這個團隊小到甚至請不起想要的語言學專家。
陰差陽錯的,他們開發的系統識別準確率,甚至超過了不少專家系統。這個系統框架對至今的語音和語言處理都有著深遠的影響,可惜要等到二十多年后這個發明才得到廣泛的應用。2006年,Hinton在卷積神經網絡領域取得了新的突破,人工智能才終于在此后幾年間迎來了第三次高潮。
當然除了個人的成果,時代的發展才是促使人工智能高潮的更大原因。2010年前后,芯片算力已經發展到上世紀無法比擬的高度。1982年拍攝《霹靂游俠》時,對智能汽車KITT那每秒運算可達10億次的CPU和5000兆字節容量的數據庫已經是人們想象中無敵的存在,如今連最普通的入門智能手機都已經超越了其性能,更別說今天智能汽車需要的硬件水平了。
同時移動互聯網帶來的社交媒體熱潮,無意間在互聯網上累積了海量的數據。網絡上海量的經過標記的數據,給深度學習的發展帶來了優渥的環境。
如今基于卷積神經網絡設計的人工智能程序,人類不再干預計算機的思考,而是“喂”給計算機大量的數據,讓計算機自己去學習、分析。此時計算機不是被人的思維左右,而是形成計算機獨立的認知概念。
我們再回到開頭的“貓”的問題,社交平臺上無數的“貓奴”,每天上傳巨量的貓主子圖片。把這些帶有貓標記的圖片處理后統統“喂”給人工智能系統,人工智能便能夠輕松的判斷,圖片里是不是有一只貓。只是就算開發他的工程師,也并不完全清楚,她到底掌握了哪些具體特征進行的識別。
這樣的人工智能其實并不具備類似人類的“意識”,現在發展的人工智能短期內也無需擔心機器“覺醒”的問題。僅僅是基于大量的數據總結歸納,形成機器獨有的一套邏輯。“喂”給機器的數據要多,但也不能過量,超量的數據可能會讓系統過擬合,反而影響了性能。
說了這么多,還沒有回到最初的問題,自動駕駛汽車是如何認路的?
很顯然,如今的自動駕駛汽車也是基于卷積神經網絡開發的人工智能系統,包含了感知-決策-規劃-控制等,其中首要的便是感知,也就是我們說的看路。自動駕駛需要看到并認識前方的道路和路上的潛在障礙物才能夠執行后續的操作。
訓練負責自動駕駛的算法,同樣需要海量的相關數據作為支撐。我們之前多次討論過關于自動駕駛純視覺路線和多傳感器融合路線的優劣,不過對于算法的訓練,照片和視頻顯然是最為易得也最容易進行標記的數據。大家可以想象一下對激光雷達甚至毫米波雷達這種并非人類正常感知的數據進行標記有多復雜。這也是為什么,即便是多傳感器融合路線,攝像頭依舊是感知硬件中的YYDS了。
在我們普通人的認知中,人工智能必然是十分高科技的一個行業。其中一部分工種當然是,但這也是一個勞動密集型的產業。“喂”給自動駕駛算法的數據并非隨便從網上批量下載就可以,需要有大量的測試人員進行專業的數據采集,還需要有海量的標注員對圖片進行標記,對照片中的行人、路障等等障礙物進行標記,之后才能夠“喂”給算法進行深度學習。
這樣的模式不僅吃力,并且精度緩慢。于是人們又想到了讓機器對機器進行訓練,被稱為“無監督學習算法”。在獲得一定數量的數據后,機器就可以完成對常規數據的自行標記,再用機器標記的數據訓練更多的人工智能算法,這也幫助了如今人工智能的飛速進步。
而人們不得不面對的另一個難題是自動駕駛的“長尾效應”,自動駕駛日常訓練中獲得的大量數據已經解決了日常常見的絕大多數頭部場景中的潛在風險,但那些不受重視的突發場景極為罕見,但種類繁多,日常中很難采集到足夠的數據樣本對自動駕駛進行訓練,但因此累計的總量也已經對自動駕駛的安全性構成了很大的威脅。
以特斯拉為例,在2021年“AI DAY”上,特斯拉介紹了一些罕見場景,例如一起前方卡車卷起的風雪遮擋前方車輛的極端案例。為了解決這一現實中并不多見,但發生時會異常危險的事件,特斯拉利用超級計算機模擬更多的類似場景多神經網絡進行了大量訓練。特斯拉日常解決的這類“長尾”場景遠不是個例。馬斯克介紹說,他們會模擬各種能想到的罕見案例,甚至包括了“城市道路出現悠哉散步的麋鹿”,乃至“飛碟墜落”這種完全不可能發生的奇特危險。
但另一個難題是如何發現這類罕見場景,特斯拉在AI DAY上透露,特斯拉搜集在Autopilot駕駛時,駕駛員突然介入改為人工駕駛的場景,這類場景普遍是自動駕駛目前尚不能完全解決意外情況。特斯拉會利用超級計算機分析這個視頻案例,找出駕駛員中斷Autopilot的原因。又或者司機在高速路上突然剎車、堵車時有人插隊、雷達與攝像頭判斷結果不一致、車輛發生事故/險些發生事故等等,將這些具體的案例,交給超級計算機來分析處理,然后重復前文提到的模擬同類場景訓練。
從二十世紀五十年代人工智能概念被提出,歷經七十余年,經歷了三起兩落的發展,人工智能終于取得了長足的進步。自動駕駛是人工智能應用的熱門場景之一。當然人工智能目前尚不完善,自動駕駛也難免遭遇一些尷尬,但其實現方式決定了這就是一條需要不斷積累、試錯的歷程。科技從來不是一蹴而就的,也就是在這些尷尬的失誤幫助下,才能不斷成長。(文:太平洋汽車網 郭睿)
>>點擊查看今日優惠<<