2016年為高度自動駕駛的新階段敞開了大門,讓討論話題從「自動駕駛車是不是很酷」,轉變成監管機關、汽車OEM和技術業者更迫切需要掌握的「待辨事項」(to-do list)——如果他們希望讓自動駕駛車儘快商用化上路以及安全行駛。

早期採用者對於Google汽車或以空中傳輸(OTA)軟體升級特斯拉(Tesla)「自動駕駛」(Autopilot)功能感到驚艷的時期已經結束了。

現實在2016年沉沒。業界如今發現了自動駕駛的侷限性。汽車工程界正急著惡補「人工智慧」(AI)技術,畢竟這項技術遠遠超出當今的電腦視覺(Computer Vision;CV)。工程師持續關注機器學習(如何證明AI駕駛汽車的安全性?)領域的挑戰。許多汽車製造商也正加緊全方位審視網路安全。

那麼,在2017年的汽車電子產業進程中,有什麼力量可能改變自動駕駛車的發展?

根據《EE Times》預測,業界將會:1)擁抱自動駕駛車開放軟體(沒錯,是時候了!);2)為自動駕駛定義支援AI的SoC;3)探索一種能測試和驗證AI自動駕駛車安全的新方法。汽車產業究竟將上演哪一齣戲碼?

自動駕駛車的開放平台

或許,最具爭議的是「開放源碼」(open-source)軟體運動的出現。

對於採用封閉、獨立技術開發途徑的大型汽車業者(Big Auto)來說,使用開放源碼軟體可能太過於玄虛。但其擁護者則抗辯說:開放源碼社群更能解決真正的難題。自動駕駛就是一個真正的難題。

Vision Systems Intelligence (VSI)創辦人兼首席顧問Phil Magney認同這樣的觀點。他指出,「軟體是汽車未來的至尊門票(golden ticket)。」

「我認為開放源碼將加速自動駕駛車輛技術的發展。開放源碼社群解決棘手軟體問題的能力比傳統方法更快。那麼,業界公司就能使用開放原始碼,並藉其建構自家解決方案。」

但究竟該如何利用開放源碼自動駕駛軟體進行開發?對於初入門者來說,可以考慮Comma.ai,這是一家為所有人提供用於OpenPilot原始程式碼的初創公司。Comma.ai的創辦人George Hotz稱其新計劃是「Autopilot的開放源碼替代方案」,目前正經由GitHub代理其Comma.ai程式碼。

去年秋天,Hotz曾經因為美國監管機構表達對於安全的顧慮,毅然決然地取消第一批先進駕輔助系統(ADAS)後裝套件的發佈,令業界刮目相看。

但Hotz並未因此止步不前。去年11月底,該公司決定公開其自動駕駛車計劃的程式碼,此舉再次震驚業界。

Embedded content: https://www.youtube.com/embed/lM2_E2y4eCg

Magney解釋:「Comma.ai程式碼的某些部份不能修改,例如Comma的訓練網路——即推理模型。」其它部份則是開放的,例如人機介面(HMI)和控制指令。他補充說:「這個平台只能用於開發。如果有人想要商業化,就必須進行協商。OpenPilot實際上是基於Comma.ai訓練網路的行為模型。」

20170203 RoboCar NT31P1 Comma.ai創辦人George Hotz期許成為自動駕駛汽車界的Android

針對自動駕駛車共享與實現類似「開放源碼」概念的其它業者包括:剛剛發佈其開放源碼車輛控制(OSCC)的Polysync,以及一線供應商Continental的全資子公司Elektrobit。Elektrobit提供了一種robinos自動駕駛車軟體開發套件,根據Magney介紹,這是一種專為自動駕駛車應用設計的抽象層,具有開放的編程介面。

Polysync的OSCC「為開發人員提供一種用於控制的開放介面規格,」Magney解釋說。它並不是免費提供的(約需花1,000美元),但它讓開發人員能夠「應用自動駕駛車的行為模型,從而快速搭建自動駕駛車以及使其導入運作。」

Electrobit的robinos規格標準是免費提供的。Magney指出,該軟體工具可經授權用於開發和/或實現量產。然而,Magney也坦承認,商業化則是另一回事。

在自動駕駛車競賽的最新進展,使得系統設計者開始呼籲一種基於通用介面規格的開發平台。Magney解釋:「他們想要能以軟體實現新應用和安全功能的通用介面規格。」他認為:「這一行動將成為自動駕駛車技術生態系統發展的推手,並將帶動更快的自動駕駛車輛開發進程。」

汽車大腦晶片

預計同樣在2017年,汽車大腦晶片領域將展開激烈競爭。

據報導,Nvidia、Mobileye、英特爾(Intel)、瑞薩(Renesas)、高通(Qualcomm)、恩智浦(NXP)和許多晶片新創公司正處於開發AI汽車SoC的不同階段。預計在今年就會陸續看到各種消息發佈。

20170203 RoboCar NT31P2 英特爾揭示發展自動駕駛車策略的三項關鍵技術:汽車、連接性,以及雲端

然而,AI晶片仍然是一項正開發中的任務。SoC設計者對於如何打造AI晶片架構尚無共識。現有的GPU、FPGA、CPU、DSP以及其它各種技術架構,都可能成為考慮用於汽車的備選方案。

IHS Markit汽車半導體首席分析師Luca De Ambroggi認為,「目前還沒有現成可用的車輛量產解決方案」,以因應高度自動化駕駛應用的需求。主要的限制是晶片性能和(尚未)最佳化的演算法。此外,他說:「性能並不僅僅表現在速度和MAC/s,還包括相應的功耗。預計感測器融合電子控制單元(ECU)的功耗不應該超過50W,而至於前視相機的功耗則勢必要小於10W。」

對於尋求在邊緣運算(edge computing)利用深度神經網路並希望以實際晶片進行試驗者,法國的一家研究機構已經開發出一款稱為‘P-Neuro’的超低功耗可編程加速器。

表1顯示基於FPGA的P-Nuero如何執行臉部辨識卷積神經網路(CNN)應用,並比較同樣嵌入式CNN應用的嵌入式CPU(Raspberry Pi上的四個ARM核心;執行於Android上的三星Exynos核心)與DSP,從18,000幅影像資料庫中進行「臉部擷取」任務。

20170203 RoboCar NT31P3 表1:P-Neuro與嵌入式CPU、GPU進行「臉部擷取」任務的比較 (來源:CEA)

汽車SoC發展現況

Arteris行銷副總裁Kurt Shuler解釋:「當今的設計團隊正將業界標準CPU叢集(如ARM)與其自定義的硬體加速器整合於SoC中,使其成為這些嵌入式裝置的大腦。」

客製硬體和軟體協同作業,為視覺處理、AI或機器學習提供演算法功能。Shuler說,「設計團隊的第一項挑戰是如何最有效地建置其演算法,以及劃分在硬體或軟體的功能建置。」

Shuler說,下一個挑戰是「如何最有效地實現一個經得起時間考驗的軟體架構。」

他解釋說,設計團隊的作法並不是單獨處理這些執行元素,再透過複雜的郵件/訊息傳送系統進行整合,而是建置硬體快取的一致性,以提供共同的記憶體觀點,並簡化元素之間的通訊。「重點在於:下一代ADAS晶片本質上是超級電腦SoC,內建高度專業化IP加速器,以執行一些最重要任務。」

從HOG到CNN?

電腦視覺和人工智慧之間有何差異?De Ambroggi指出,「對於目標偵測來說,當今的電腦視覺主要根據定向梯度直方圖(HOG)類型的演算法。」

他指出,傳統的機器視覺演算法在市場上現有的汽車系統中發揮了重要和寶貴的作用。這主要是因為它們並不至於太複雜,而且能實現關鍵的安全認證。

然而,De Ambroggi預測,「隨著時間的進展,更多的功能性將從『HOG/傳統』演算法轉型至基於AI/深度學習的演算法。」

事實上,隨著Mobileye在2016年發佈新版EyeQ晶片,就已經開啟了朝向AI/深度學習演算法的轉型之路了,他補充說。

汽車產業正密切關注AI,因為自動駕駛的「真正推手」來自於AI可能帶來的附加功能,而這是HOG系統無法提供的。De Ambroggi強調,多目標偵測和辨識都是關鍵,加上它能夠辨識環境對移動中車輛的潛在影響,他指出。

「想像在下雪或下雨天,你的車道中有一部份被積雪覆蓋或佔用,卻有一輛汽車迎面駛來。基於AI的系統可以在這種情況下像人類駕駛一樣權衡每一項元素,並做出決策......緩緩地煞車、用力或只是迴避障礙物。」

De Ambroggi預測,到了2020和2021年以前,從新出廠的車輛就能看出HOG與AI不再勢均力敵,AI將佔據更多優勢。

技術供應商、一線供應商和汽車OEM都企盼導入AI,使其行車系統得以不斷地學習。De Ambroggi說,「如果每一次需要被辨識的新物件出現,就必須從頭開發新的系統、晶片和軟體,那會苦不堪言。當然,大家都希望系統能在合理的時間內學會。」

De Ambroggi推測,業界正針對開發和最佳化初始演算法展開許多計劃,竭盡所能地從目前的矽晶中攫取所有的MAC/s。第二步是最佳化專門針對CNN和深度學習量身打造的硬體和加速器。「我強烈的感覺到很快地將會看到許多目前處於『隱密期』的專利。而且,你將會看到這些專利來自供應鏈中的各個成員,包括OEM、一線供應商、EDA和IP供應商。」

如何認證AI

對於自動駕駛車來說,如何測試機器學習仍是懸而未決的難題。

這一問題長期困擾著機器學習專家。但汽車/科技產業中很少有人承認機器學習是個連ISO26262標準也無法因應的軟體難題。

在開發自動駕駛車時,研究人員訴諸於神經網路教導汽車辨識物體。但研究人員無法準確編寫出如何區別狗與貓有哪些不同的「要求」。 因此,研究人員向機器展示一大堆圖片,以便讓機器像嬰兒一樣學習如何區別貓和狗的方式。

雖然在訓練神經網路的過程中,研究人員會調整「權重」。遺憾的是,目前無法測試加權輪廓,因為AI的過程採用的是歸納法——從有限的資料樣本進行推斷,從而概推某些物件的整體情況。

20170203 RoboCar NT31P4 V模型(來源:Philip Koopman)

「如果沒有必要條件,就無法使用V模型,」美國卡內基梅隆大學(Carnegie Mellon Univ.)教授Philip Koopman解釋說。去年春天,Koopman在底特律SAE世界大會上發表「自動駕駛車的測試和驗證挑戰」專題演講,提醒與會的汽車工程師「證明自動駕駛車真的能可靠運作極其困難。而且進行測試也不足以達到安全性。」

公開坦承尚未就緒

那麼機器學習系統如何進行測試?De Ambroggi表示,「這是目前最大的挑戰,而且至今仍然無解。」

在2017年,汽車產業也許不得不承認,機器學習是一種新技術,它還沒有完全為自動駕駛做好準備。如果少了這種公開承認,汽車OEM和技術公司可能會失去開始探索如何評估自動駕駛車安全這個問題的機會。

「我並不是指如何測試機器學習(ML)的訓練資料集,」Koopman說:「而是建議監管機構應該要求汽車製造商或自動駕駛車平台供應商出具書面文件,證明為什麼他們基於機器學習的自動駕駛車是安全的。」

編譯:Susan Hong

(參考原文:'Open Source' Robo-Car in '17?,by Junko Yoshida)