攝像頭是ADAS核心傳感器,相比毫米波雷達和激光雷達,最大優勢在于識別(物體是車還是人、標志牌是什么顏色)。汽車行業價格敏感,攝像頭硬件成本相對低廉,因為近幾年計算機視覺發展迅速,從攝像頭角度切入ADAS感知的創業公司數量也非??捎^。
這些創業公司可以統稱為視覺方案提供商。他們掌握核心的視覺傳感器算法,向下游客戶提供車載攝像頭模組,芯片以及軟件算法在內的整套方案。前裝模式下,視覺方案提供商扮演二級供應商的角色,與Tier1配合為OEM定義產品。后裝模式里,除了提供整套設備,也存在售賣算法的模式。本文中將對視覺ADAS功能、硬件需求、評價標準等進行解析,并將參考Mobileye對國內11家供應商的產品進行詳細解讀。
一、視覺ADAS可實現功能
因為安全記錄、停車等需要,攝像頭在車上的大量應用是行車記錄儀、倒車影像等輔助功能。一般通過安裝在車身各個位置的廣角攝像頭采集影像,經過標定和算法處理,生成影像或拼接形成視圖補充駕駛員視覺盲區,不用涉及整車控制,因此更加注重視頻處理,技術已經成熟并逐漸普及。
目前在行車輔助功能中,攝像頭可用來單獨實現很多功能,并且按照自動駕駛發展規律逐漸演進。
這些功能更加強調對輸入圖像的處理,從拍攝的視頻流中提取有效目標運動信息做進一步分析,給出預警信息或直接調動控制機構。相比視頻輸出類功能,強調高速下的實時性,這部分技術正處在發展上升期。
二、視覺ADAS軟硬需求
視覺系ADAS產品由軟硬件組成,主要包括攝像頭模組、核心算法芯片以及軟件算法。硬件方面考慮行車環境(震動、高低溫等),大前提是要符合車規級要求。
?。ㄒ唬┸囕dADAS攝像頭模組
車載ADAS攝像頭模組需要定制化開發。為了適應車輛全天候全天時的需要,一般要滿足在明暗反差過大的場合(進出隧道),很好平衡圖像中過亮或太暗部分(寬動態);對光線比較靈敏(高感光),避免給芯片帶來太大壓力(并不是一昧追逐高像素)。
攝像頭模組是基礎。好比一張底子不錯的照片才有修飾美化的余地,保證拍攝圖像夠用的基礎上,算法才能更好地發揮效力。
另外在參數上,ADAS與行車記錄儀對攝像頭的需求不同。用于行車記錄儀的攝像頭需要看清車頭周圍盡可能多的環境信息(后視鏡位置看向兩個前輪,水平視角約要110度)。ADAS的攝像頭更講究為行車時預留更多判斷時間,需要看得更遠。類似相機鏡頭廣角和長焦,兩項參數不能兼得,ADAS在硬件選取時只能取其平衡。
(二)核心算法芯片
圖像相關算法對計算資源有很高的要求,因此芯片性能講究。如果在算法上疊加深度學習來幫助識別率提升,對硬件性能的要求只增不減,主要考慮的性能指標是運算速度、功耗、以及成本。
目前用于ADAS攝像頭的芯片多數被國外壟斷,主要供應商有瑞薩電子(Renesas Electronics)、意法半導體(ST)、飛思卡爾(Free scale)、亞德諾(ADI)、德州儀器(TI)、恩智浦(NXP)、富士通(Fujitsu)、賽靈思(Xilinx)、英偉達(NVIDIA)等,提供包括ARM、DSP、ASIC、MCU、SOC、FPGA、GPU等芯片方案 。
ARM、DSP、ASIC、MCU、SOC是軟件編程的嵌入式方案,FPGA因為對硬件直接編程,和嵌入式相比處理速度更快。
GPU和FPGA并行處理能力強。圖片這樣的文本,尤其在使用深度學習算法需要多個像素點同時計算,FPGA和GPU會更有優勢。兩類芯片的設計思路類似,都是為了處理大量簡單重復的運算。GPU的性能更強但耗能也更高,FPGA因為編程和優化都是直接在硬件層面進行的,能耗會低很多。
因此在平衡算法和處理速度,尤其是用于前裝并且算法穩定時,FPGA被視為一個熱門方案。FPGA是個好選擇。但同時,FPGA對技術要求也很高。原因在于計算機視覺算法是C語言,FPGA硬件語言是verilog,兩種語言不同,將算法移植到FPGA的人既要有軟件背景,又要有硬件背景。在人才最貴的今天,是筆不小的成本。
現階段可用于傳統計算機視覺算法的車規級芯片有多種選擇,但是適用于傳統算法疊加深度學習算法的低功耗高性能芯片,還沒有真正出現。
?。ㄈ┧惴?/p>
ADAS視覺算法的源頭是計算機視覺。
傳統的計算機視覺識別物體大致可以分為圖像輸入、預處理、特征提取、特征分類、匹配、完成識別幾個步驟。
有兩處尤其依賴專業經驗:第一是特征提取。在識別障礙時可用特征很多,特征設計尤其關鍵。判斷前方障礙物是不是車,參考特征可能是車尾燈,也可能車輛底盤投在地面的陰影等。第二是預處理和后處理,預處理包括對輸入圖像噪聲的平滑、對比度的增強和邊緣檢測等。后處理是指對分類識別結果候選進行再處理。
科研中的計算機視覺算法模型運用到實際環境中,不一定就能表現得很好。因為科研得出的算法會增加諸如天氣、道路復雜情況在內的條件限制,現實世界里除了關注復雜環境的算法表現,還要考慮各種環境下算法的魯棒性(是否穩定)。
算法上比較重要的一個變化是深度學習的滲透。
深度學習讓計算機模擬人類思考的神經網絡,可以自己學習判斷。通過直接向計算機輸入標定后的原始數據,比如挑選一堆異形車圖片,然后丟給計算機讓它自己學習什么是一輛車。這樣就可以免去計算視覺特征提取、預處理等步驟,感知過程可以簡化為輸入圖片-輸出結果兩步。
業內比較一致的觀點認為,在感知方面,深度學習將會彎道超車傳統視覺算法。目前深度學習的算法模型已經開源,而且算法種類不多,因此有降低門檻大量優秀結果涌現的可能。但是受限于沒有合適的車端平臺,離產品化還有一段距離。
業內對深度學習在ADAS應用的看法都比較客觀冷靜。不少觀點認為深度學習算法是一個黑箱(Blackbox)算法,類似人感性決策的過程,可以很快輸出一個結果,很難在發生事故后反查原因,因此在使用深度學習時要加入理性決策部分,并且分區塊設計。
也有觀點認為傳統計算機視覺算法比我們想象的“智能”,在不斷尋找車輛圖片共性和差異的過程中,也能檢測出一些異形車輛。并且在疊加深度學習算法后,傳統計算機視覺算法也可以幫助減少深度學習神經網絡的層數,簡化算法。
可以肯定的是,無論哪種算法,數據都是用來訓練測試的寶貴資源,而且不是單純的越多越好,而是越有效越好(符合實際用車環境并保證多樣化)。
評論
查看更多