淺談-特斯拉自動駕駛技術之照片處理 拍到的照片細節比想像中的多!? 【上】

阿財科技分享 的頭像
阿財科技分享 | Tesla | 1,351

大家好我是阿財,今天開始的系列終於要向大家介紹各家車廠的自動駕駛技術,當然首先是最熱門的-特斯拉自動駕駛技術,那因為阿財對特斯拉研究的比較多,所以內容也會比較豐富(),阿財會分成上中下三集和目錄共四篇給大家參考,希望可以幫助車友們更加了解特斯拉的技術喔~

阿財講解特斯拉自動駕駛技術的文章主要會以特斯拉2021 AI為主軸,並且加入Elon Musk受邀的訪問和特斯拉AI總監Andrej KarpathyCVPR/ScaledML兩個會議上的演講內容,阿財所使用的圖片如果是引用這些影片內容,會在圖片下面標示出自哪支影片,大家就跟著阿財一起看下去吧!

  • 首先我們要先了解一個核心的概念就是,目前自動駕駛機器的反應速度跟人相比差異多少?

之前Andrej2021 CVPR大會上有提到,人的反應時間大約是250ms(1=1000ms),而機器大約是100ms並且正在逐步下降中,在機器反應時間快的前提下,我們就可以探討一個問題就是,特斯拉如何完成自動駕駛的?

特斯拉AI日一開始展示的這張圖就說明了整個架構,首先是特斯拉利用它8台相機拍攝到的影像透過自家的AI模型,最後轉換成向量空間圖,最終實現自動駕駛

淺談-特斯拉自動駕駛技術之照片處理-拍到的照片細節比想像中的多!?-【上】-1

圖片來源:Tesla AI Day

好的那這篇文章就到這邊結束~喂!

我們就從這三個方向(照片、AI模型、向量空間)一步步讓大家明白,到底特斯拉是如何構建屬於它們的自動駕駛解決方案!

首先是相機拍攝到的圖片,特斯拉的相機目前單張照片解析度是1280x960x3(3指的是紅綠藍三色),每一秒會拍攝36張照片,大家不要覺得這個解析度很低,依照目前特斯拉電腦的算力和儲存空間來說,這樣的資料已經很龐大了,並且Andrej也說過目前這樣的照片(影片)看起來還不錯夠用~(100萬台車開一小時就會有100萬x3600(一小時)x36(一秒36張)x8(相機數量)=1兆張圖片,當然不可能全部上傳,但這邊表示此數量級是很恐怖的),當然在今年老馬接受Lex Fridman採訪的時候有透漏,特斯拉未來可能會使用光子計數來取代目前使用CCD(CMOS)拍攝的照片,這個部分大家可以參考我影片的介紹(從5:30開始):

拍到照片之後,一張照片裡面會出現許許多多的物件如下圖,例如紅綠燈(traffic light)、三角錐(static objects)、道路指標(road sign)、道路分隔線(lane lines)和移動中的物體(moving objects車子行人貓狗都在這類)等等…。

淺談-特斯拉自動駕駛技術之照片處理-拍到的照片細節比想像中的多!?-【上】-2

圖片來源:Andrej Karpathy - AI for Full-Self Driving at Tesla

那一張照片裡既然有這麼多東西,我們自動駕駛就必須先辨認這些東西,那我在這篇文章(自動駕駛技術「視覺篇」:每家車廠都在用 AI,到底是什麼 AI 啦? 【中】)就有提到,如何使用YOLO算法將一張照片中物體的位置類別高效率的抓出來

但這裡會出現另一個問題,也是特斯拉AIAndrej提到的,如果我們拍攝到的影像本身資訊就很少了呢?(如下圖)

淺談-特斯拉自動駕駛技術之照片處理-拍到的照片細節比想像中的多!?-【上】-3

圖片來源:Tesla AI Day

我們發現,如果放大遠方的車輛的圖片,幾乎糊成一團看不出來他是車還是其他物體,這時候就需要另一個算法BiFPN(Bi-directional Feature Pyramid Networks),這個算法的精妙之處就在於,融合了多尺度的特徵,這邊先給大家科普一下,一張照片進入到神經網絡裡面的時候,會經過一些採樣的過程,大家可以想像一張照片其實蘊含了很多不同尺度的特徵,但我們人沒辦法很好的辨認出這些特徵,這些特徵可以經過不同深度的神經網絡被抓出來,所以很多時候一張圖片看起來只有一台車,但這台車對神經網絡模型來說包含了細節和語意等不同的特徵,那BiFPN就是將不同尺度(不同深度的神經網絡)的特徵透過權重(可以想成重要度)進行融合,進而就可以更有效準確的辨識出一張圖片內的物件了!

接下來就是重頭戲之一,我在這篇文章(自動駕駛技術「視覺篇」:每家車廠都在用 AI,到底是什麼 AI 啦? 【中】)也有提到,辨識除了上面提到的問題之外,還有一大難點就在於想辨識的物體被遮擋或是歪七扭八怎麼辦?如下圖

淺談-特斯拉自動駕駛技術之照片處理-拍到的照片細節比想像中的多!?-【上】-4

圖片來源:Andrej Karpathy - AI for Full-Self Driving at Tesla

我們想辨識這個stop sign,但發現有些被樹葉遮擋,有些甚至已經歪掉或字體模糊,我們要如何解決這種問題呢?

大家應該多少都有聽說,如果要優化一個AI模型,就需要有很大量的資料(這裡是圖片或影片),那這些被遮擋或歪七扭八的路標很明顯在路上比較難碰到,這樣AI模型對於這些不清楚的路標無法良好的優化,導致圖片樣本過於集中在那些正常清楚的圖片中,最後我們訓練出來的AI模型泛化性就不好,這種現象在機器學習/深度學習中叫長尾問題(long tail)

Andrej2021 CVPR大會上就展示了特斯拉對這些不容易辨認或是特殊情況的物件精心設計的觸發器(triggers),那當拍到的圖片中有符合觸發器的條件時(如下圖2021Andrej說有221種條件會觸發,現在可能更多(?)),就會把這些圖片特別記錄下來,並對這些不常見的圖片特別訓練

淺談-特斯拉自動駕駛技術之照片處理-拍到的照片細節比想像中的多!?-【上】-5

圖片來源:Andrej Karpathy (Tesla): CVPR 2021 Workshop on Autonomous Vehicles

  • 那如何叫做特別記錄下來?

特斯拉在每一台車上都有一個小的檢測器(辨識的模型),透過這些檢測器回傳的資料,去優化這個檢測器,譬如:A車的檢測器對這些被遮擋的路標分辨率比其他車好,那工程師們就會再對圖片添加一些噪聲或是雜訊,那這些添加過噪聲和雜訊的圖片就變成新的資料最終加入到整個資料集之中,這樣就可以減少長尾問題

處理完相機(照片/影片)的一些問題之後,下篇文章我們就來探討特斯拉AI模型-九頭蛇模型(HydraNets)的前因後果,喜歡的朋友歡迎多多幫阿財分享,有任何想法也歡迎在下方留言喔~我們下篇文章見!

 

廣告

我是科技財知道的阿財,主要分享各種自動駕駛技術和電動車相關的資訊,歡迎大家一起分享學習。

>> 看更多我的文章