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