什麼是ADAS?
- 先進駕駛輔助系統(Advanced Driving Assistance System)是利用安裝在車上的各式各樣感測器(毫米波雷達、雷射雷達、單/雙目攝像頭以及衛星導航),在汽車行駛過程中隨時來感應周圍的環境,收集數據,進行靜態、動態物體的辨識、偵測與追蹤,並結合導航地圖數據,進行系統的運算與分析,從而預先讓駕駛者察覺到可能發生的危險,有效增加汽車駕駛的舒適性和安全性。
- 近年來ADAS市場增長迅速,根據Yole Development報告顯示,ADAS系統和資訊娛樂系統的處理能力預計將在未來五年內大幅提升,最高將高達3倍,原來這類系統局限於高端市場,而現在正在進入中低端市場。大家紛紛討論的問題是,這種增長將發生在哪裡?邊緣感測器、區域中央處理,還是汽車中央處理?
從邊緣處理到中央處理
在ADAS系統出現之前,汽車電子產品的快速增長促使汽車OEM廠商重新思考他們希望如何分配這些電子產品。現在,邊緣感知加速了這種需求的到來。部分問題在於數據通訊的成本和管理,智慧感知進一步加劇了這個問題。
然而,感測器融合必須融合來自多個感測器視角和類型的數據,這通常不能適應邊緣或中央處理,需要邊緣AI來快速識別和減少數據量,同時,隨著具有一定無人駕駛能力的智慧汽車的發展,這些智慧汽車必須將分散式輸入集成到一個駕駛策略管理器中。這種類型的AI是不能分發的。為了安全和集成,必須由中央控制器來處理。
中央控制器需要三種不同類型的ADAS系統處理能力——邊緣、區域和中心,並且具有三種不同的配置。AI的邊緣必須保持速度和低成本的優勢(因為汽車周圍會有很多這樣的設備),單個處理器提供高達5 TOPS的計算能力。集成來自多個邊緣設備輸入的區域處理器必須提供更高水平的並行性和性能,這需要依賴於計算能力高達20 TOPS的更昂貴的多核實現。最後,中央駕駛策略引擎必須根據場景訓練的行為進行推理,可能還需要支持某種程度的實時訓練。這個引擎很可能是一個高成本的多核設備,每個核心都是多核,提供200 TOPS或者更高的計算能力。
ADAS系統的可擴展性意味著什麼?
在部署ADAS系統時,培訓、優化和基礎設施軟體是最大的投資部分。因此,在整個產品線中以統一的方式支持這些元素對於經濟上尤為重要。邊緣解決方案可能比區域或中心解決方案更适合輕量級,這樣,可以用不同的編譯器選項來編譯經過訓練的公共網路,並將其映射到邊緣、區域和中心解決方案。相應地,AI硬體平台應該支持向上/向下擴展。相同的架構可以部署為單個神經引擎或多個並行引擎,具有統一的數據流控制和內存級別優化。即使有必要,也可以擴展到多核實現。
但是有一個問題。僅僅因為解決方案必須是可擴展的,網路開發人員就必須放棄任何他們知道可以提高性能和降低功耗的優化嗎?他們應該能夠使用所有最先進的人工智慧方法來實現他們的目標。或者在完全混合精度神經MAC陣列中提供的各種激勵和權重數據類型。改變層精度可以顯著降低存儲器需求和功耗。稀疏引擎走得更遠,不再需要乘以零,在低精度層會更常見。這不僅提高了性能,還降低了功耗。
在最先進的加速器中,自定義操作是必不可少的。將這些操作添加到推理中的一種方法是使用外部加速器。另一種方法是在可編程向量處理單元中具有與原始硬體引擎相同水平的計算能力。