近日,特斯拉更新了自動駕駛軟件的2020.12版本更新,在這一版更新中,特斯拉加入了交通信號燈和停車標志識別的自動駕駛功能。如果特斯拉選配了FSD完全自動駕駛能力套件,就能通過OTA升級體驗車輛在紅燈前自動停下,綠燈亮起后又自動加速的自動駕駛功能。
這項功能正式發布,為即將到來的特斯拉城市道路自動駕駛打下基礎,也標志著特斯拉向“完全自動駕駛”又邁進了一步。
▲特斯拉交通信號燈識別功能
對交通信號燈和停車標志的識別實際上并不容易。對于駕駛員來說很容易識別的內容,對于還不太聰明的機器來說還是個不小的挑戰。例如,不同車道有不同的交通信號燈,停車標志也是五花八門,有些還被遮擋,這就非常考驗機器識別的效率和準確性。
今年2月,特斯拉人工智能高級主管Andrej Karpathy發表了一個演講,他在演講中闡述了特斯拉是如何憑借視覺系統識別道路環境,并應用于自動駕駛當中的。
▲Andrej Karpathy的演講視頻
特斯拉利用“影子模式”,在駕駛員駕駛的過程中,自動駕駛電腦進行實時同步計算,但不參與車輛控制。一旦駕駛員的操作和機器的計算有所出入,特斯拉的自動駕駛電腦就會記錄下這個案例,并上傳給特斯拉總部。在收集到大量的數據之后,特斯拉將不同場景進行分類,機器學習之后就能讓整個識別算法更加“聰明”。
在應用于車輛時,特斯拉還會利用機器學習,用二維的圖像計算出三維的場景,就能準確判斷與障礙物之間的距離,實現更加精準的自動駕駛功能。
一、特斯拉自動等紅燈 離城市自動駕駛又近一步
4月24日,特斯拉向用戶推出了2020.12軟件更新。在這一更新中,特斯拉正式推出了“識別交通信號燈和停車標志并做出反應”功能。
選配有FSD的特斯拉車主在更新軟件之后,車輛就可以自動識別紅綠燈和停車標志。如果前方有禁止通行的紅燈或停車標志,特斯拉會在車機屏幕上提前發出提示信息,告訴駕駛員距離前方停止線的距離。
如果駕駛員沒有及時采取制動措施,車輛制動系統就會及時介入,并緩緩停在停止線之前。在綠燈亮起之后,車輛會自動繼續加速前進。如果駕駛員在需要停車的路口確認安全之后,踩下加速踏板,車輛也會重新加速前進。
▲特斯拉軟件更新后車主的測試
在行駛過程中,車輛可以檢測到前方的綠燈、黃燈閃爍和紅燈,并在車機上顯示。如果檢測到前方有紅燈或停車標志,車輛會提前提醒駕駛員停止線的位置,如果駕駛員沒有做出反應,車輛就會自動減速并停在停止線前。如果駕駛員確認安全后希望前行,只要踩下油門踏板,車輛就會繼續加速前進。
不過,由于這項功能剛剛發布,運行的邏輯會比較保守,車輛在一些情況下不會嘗試自行通過交叉路口。隨著使用這一功能車輛數量的增加,特斯拉自動駕駛計算芯片進行機器學習后會讓這項功能更加完善。
根據此前公布的特斯拉自動駕駛使用手冊,這項功能實際也有一定的局限性。特斯拉表示,雖然車輛可以自行監測前方的交通信號燈和停車標志,但駕駛責任完全由駕駛員負責。駕駛員需要始終注意行車道上發生的情況,并隨時準備采取緊急措施。
▲特斯拉交通信號燈和停車標志識別功能使用手冊(美國版)
值得注意的是,用戶手冊中有這樣一句話:如果在特斯拉汽車行駛較多的路段,停車標志和交通信號燈的識別準確度會更高。也就是說,特斯拉確實是依靠深度學習讓算法變得更加優秀,并且同一場景學習的次數越多,識別準確率也就越高。
此外,信號燈和停車標志識別功能也不是在所有場景都可以使用。特斯拉在使用手冊中表示,在美國地區,鐵路道口、禁區、收費站、人行橫道區域、不清晰或臨時的交通信號燈、復雜信號燈和車道指示燈等環境下都無法啟用這項功能。
這項功能更新是特斯拉FSD自動駕駛系統的一大進步,也讓特斯拉距離城市道路的自動駕駛更近一步。
今年2月,特斯拉人工智能高級主管Andrej Karpathy在ScaledML會議上的一次演講,就透露了特斯拉自動駕駛系統的最新進展。利用機器學習的算法,特斯拉就能準確判斷路旁的信號標志,同時也能計算出與停止線、障礙物之間的距離信息。
二、特斯拉強在哪?上百萬車主幫特斯拉測試軟件
在特斯拉人工智能高級主管Andrej Karpathy的演講中,首先對特斯拉自動駕駛系統的工作原理進行了講解。他表示,當前特斯拉主要依靠視覺系統采集圖像信號,自動駕駛電腦進行計算之后,就能控制車輛的車速和轉向,從而實現自動駕駛。在這個過程中,自動駕駛電腦的計算是最重要的一環,需要人工智能算法提供支持。
▲Andrej Karpathy演講現場
在今年2月美國加州車管局(DMV)公布的自動駕駛路側數據可以發現,2019年全年,特斯拉官方進行的自動駕駛公路測試僅有12.2英里(約合19.6公里)。與百度、Waymo、Cruise等公司每年動輒數十萬上百萬英里的自動駕駛測試里程相比,可以說特斯拉官方相當于沒有進行測試。
如果不進行大量的自動駕駛測試,特斯拉又如何進步呢?原來,特斯拉的測試者是百萬量級的特斯拉車主,依靠“影子模式”進行自動駕駛測試的。
2016年,特斯拉發布了“影子模式”,在駕駛員駕駛過程中,裝有HW1及更新自動駕駛電腦的特斯拉就能實時進行自動駕駛運算,但不會參與控制車輛的方向和速度。如果駕駛員的操作和自動駕駛電腦的操作有較大出入,自動駕駛電腦就會自動記錄下這個案例,并上傳給特斯拉。
從2018年正式啟用至今,影子模式已運算了超過30億英里(約合48.3億公里)的駕駛里程。每天,特斯拉自動駕駛研發團隊都會收到大量的案例:駕駛員停車,自動駕駛電腦繼續前進;駕駛員向左微調了方向,自動駕駛電腦直行前進;當然,也會有駕駛員發生碰撞,但自動駕駛電腦避開危險。
舉例來說,路旁的停止標志并不全都清晰可見,有些被樹葉擋住,有些屬于臨時標志,有些標志在夜間非常模糊,還有部分停車標志左轉停車,右轉不用停……這些并不清晰的標志就有可能對自動駕駛電腦產生干擾,一旦識別出錯,可能就會造成駕駛事故。
▲上圖:不清晰的停車標志;下圖:有條件的停車標志
為解決這個問題,特斯拉利用了數據引擎對算法進行訓練。首先,車輛將收集的數據回傳至特斯拉自動駕駛研發部門,然后特斯拉相似的場景進行分類,同一類的機器學習訓練,讓特斯拉的算法更強大,也更加“聰明”。
▲特斯拉的“數據引擎”機器學習模型
在對算法進行訓練之后,特斯拉會持續關注自動駕駛電腦對類似場景的識別準確率,形成下面這個表格。
從中可以看出,特斯拉對Stop Sign(停止標識)這一種路牌,竟然給出了至少14種可能存在的情況,包括大雨、大雪下的路牌、被擋住的路牌、校車上路牌、甚至還有門上的路牌、手持路牌等。
也就是說,特斯拉的目標是要在各種特殊情況下,都能識別路牌。
▲同一標志在不同場景下的準確度評估
回到正題,特斯拉在訓練完模型后,會把算法通過影子模式進行測試,對每一個場景的識別準確率進行重新評估,準確率不斷提高,也就意味著算法正在一點點進步。當識別準確率提升到了較高水平,特斯拉就可以考慮對所有車輛進行功能更新,增加自動駕駛的功能和使用場景。
這里面講一個有趣的小細節。
特斯拉此前推送了識別雪糕筒的更新,有用戶為了弄明白特斯拉能識別哪一些雪糕筒專門進行了一個堪稱變態的測試。
這里測試的道具除了大小高低不同的雪糕筒之外,他們竟然還有一個穿著雪糕筒衣服的人類作為道具。從視頻中看,只要穿著雪糕筒衣服的人類在移動或者站著,特斯拉就能識別出這是一個人。但如果這個人蹲下不動,就會被識別為雪糕筒。
▲外國網友穿著雪糕筒的衣服,但沒有騙過特斯拉
這也就說明,特斯拉在識別雪糕筒這件事兒上,也同時考慮到了大量的特殊情況,才會表現出這種成績。
從算法的代碼層面來說,特斯拉把它們的深度學習網絡稱為HydraNet。其中,基礎算法代碼是共享的,整個HydraNet包含48個不同的神經網絡,通過這48個神經網絡,就能輸出1000個不同的預測張量。理論上來說,特斯拉的這個超級網絡,能同時檢測1000種物體。完成這些運算并不簡單,特斯拉已經耗費了7萬個GPU小時進行深度學習模型訓練。
▲特斯拉HydraNet網絡
雖然工作量很大,但由于大部分工作由機器承擔,特斯拉的人工智能團隊僅由幾十人組成,與其他自動駕駛公司數百人甚至數千人的規模相比,確實規模不大。
三、二維圖像秒變3D 算法還能自己改代碼
在經過大量的機器學習訓練之后,特斯拉的算法會逐漸成熟,這套算法也會以OTA升級的方式分發到每一輛特斯拉汽車當中,在車主實際駕駛過程中還能進一步試錯,讓算法更加完美。
研發這套算法的最終目的是要實現特斯拉的自動駕駛功能,最終還是需要車上硬件互相配合才能實現。
特斯拉全車共配備了8個攝像頭,一個毫米波雷達和12個超聲波雷達,監測外部環境,向自動駕駛電腦實時傳送信息。
▲特斯拉車外傳感器
簡單來看,特斯拉的攝像頭、毫米波雷達、超聲波雷達以及慣性測量單元記錄下當前車輛所處的環境數據,并將數據發送給特斯拉的自動駕駛電腦。自動駕駛電腦在進行算法的計算之后,將速度和方向信息傳遞給轉向舵以及加速、制動踏板,實現對車輛的控制。
不過,在日常行駛過程中,攝像頭作為傳感器捕捉的內容都是二維圖像,并沒有深度信息。
▲特斯拉攝像頭采集的畫面可以確定邊界,但不包含深度信息
也就是說,雖然二維圖像已經可以區分公路和路旁的人行道,但并不知道現在車輛距離“馬路牙子”還有多遠。由于缺失這樣一個重要信息,自動駕駛的運算可能并不準確,操作可能出錯。因此,捕捉或者建立一個三維的圖景很有必要。
傳統工程師認為,直接在車頂安裝三維攝像機就能解決這一問題。不過,這既要增加車輛的制造成本,又影響車輛美觀。此外,由于車頂面積比較大,如果三維攝像頭高度不夠,盲區將會非常大。
特斯拉的工程師又想到用算法解決這個問題。如果有一種算法能夠將二維圖景的時序、邊緣對齊,投影形成三維圖景,這個問題就解決了。
▲通過算法得出的“鳥瞰視圖”
在計算出三維圖景之后,特斯拉甚至可以計算出車輛的“鳥瞰視圖”。也就是說,雖然車輛上方沒有攝像頭,但通過計算就能模擬出從車輛上方向下看的圖景。這樣一來,車輛離障礙物還有多遠的距離,車內都能直觀地看到。
▲特斯拉視覺系統預測的馬路邊緣和車道線
實際上,特斯拉還有更厲害的地方,那就是算法可以預測流媒體視頻中每一個像素的深度信息。也就是說,只要算法足夠好,流媒體視頻更加清晰,特斯拉的視覺傳感器所捕捉的深度信息甚至可以超過激光雷達。
▲特斯拉采集視覺信息(上),預測每一個像素的深度信息(中)并投影形成鳥瞰視圖(下)
在實際的自動駕駛應用中,泊車入位和智能召喚兩個使用場景下就能充分利用這套算法。在停車場行駛時,車輛之間的距離很小,即使是駕駛員駕駛,稍不留神也很容易出現刮蹭事故。對于機器來說,停車場場景的行駛更加困難。在預測到深度信息之后,車輛可以在超聲波雷達的輔助之下,快速完成對周圍環境的識別,車輛泊車就會更加順利。
在完成深度信息的預測之后,這部分信息會顯示在車機上,同時也會直接參與控制轉向、加速、制動等駕駛動作。不過,轉向、加速、制動這些駕駛策略沒有固定的規則,有一定靈活性。
因此,自動駕駛的駕駛策略沒有最佳,只有更好。
特斯拉基礎的自動駕駛策略由工程師完成,已經寫出了大量的代碼,這相當于是駕駛策略的1.0版本代碼。不過,由于實際路況更加復雜,1.0版本的駕駛策略代碼實際覆蓋范圍較小,邏輯也難免出錯。隨著時間推移,必須要不斷升級駕駛策略。
Andrej Karpathy表示,如果在機器學習網絡中不斷升級策略代碼,這樣既節省了人工成本,自動駕駛能力進步的速度也會明顯加快。
在駕駛員駕駛的過程中,車輛也會收集駕駛員的駕駛習慣。通過對百萬特斯拉車主駕駛習慣的學習,特斯拉的自動啊及時策略就會不斷提高。
通過對百萬車主駕駛習慣的學習,機器可以編譯出自動駕駛策略的2.0版本代碼。
▲機器編譯的2.0版本代碼正在逐漸取代1.0版本代碼
Andrej Karpathy預測,隨著機器的編譯能力提高、采集的數據更加豐富,2.0版本的代碼會逐漸覆蓋1.0版本的代碼,最終實現所有代碼都由機器編譯完成,這樣的自動駕駛策略就會更加精確。
結語:自動駕駛之爭正轉變為算法之爭
在自動駕駛不斷發展的今天,特斯拉已經形成自己的一派,完全使用視覺識別就能完成自動駕駛。自動駕駛技術也從之前的攝像頭、毫米波雷達、超聲波雷達甚至激光雷達的堆料,逐步轉變為算法之間的競爭。
特斯拉利用百萬輛每天行駛在道路上的汽車進行自動駕駛計算,其數據源、精準度很可能已經遠遠超過其他的自動駕駛測試公司。未來,算法之爭還將逐步擴大,同時自動駕駛市場的競爭也將更加激烈。
評論
查看更多