陳天殷
(美國亞派克機電 (杭州)有限公司,浙江 杭州 310013)
中國2016年機動車的保有量為1.2億輛,美國是2.2億輛,預計2019年能趕上或超過美國。這里沒有中國的統(tǒng)計數(shù)據(jù),但有美國的數(shù)據(jù),美國每年發(fā)生的汽車事故有500萬件,死亡3萬人,其中94%是人為失誤釀成的,另2%是環(huán)境因素,2%是機械故障,2%是邊際誤差。人易犯錯,絕大多數(shù)汽車交通事故的肇因源于人的誤判斷和誤操作。創(chuàng)建自動駕駛技術(shù)和自動駕駛車輛,并非為了讓無駕照者無需駕駛員亦可使車輛順利到達目的地,而是人類為了規(guī)避自身的缺陷,在交通運輸中保障生命與財產(chǎn)安全的需求。
常規(guī)把實現(xiàn)自動駕駛技術(shù)劃分為3個階段,如圖1所示,也反映了客觀評價的駕駛安全等級也由低至高可分為3個層次。由傳統(tǒng)的人工駕駛藉ADAS提升為車載駕駛輔助系統(tǒng),人工智能技術(shù)和車聯(lián)網(wǎng)讓車輛進入自動駕駛時代。
國際汽車工程師協(xié)會 (SAE international)將L0定義為人工駕駛,把自動駕駛分為L1~L5五個安全等級。其中,L1:輔助駕駛;L2:部分自動化;L3:有條件自動駕駛;L4:高度自動化;L5:全自動化。本文僅涉及對應ADAS的L3。ADAS(Advanced Driver Assistance System)是當年開發(fā)商為推廣而起的商業(yè)名稱,直譯應為先進駕駛輔助系統(tǒng)或高級駕駛輔助系統(tǒng)為妥,但技術(shù)發(fā)展勢頭迅猛,在自動駕駛技術(shù)突飛猛進發(fā)展的面前,似難以擔當“高級”和“先進”之虛名,這是本文標題稱為“車載駕駛輔助系統(tǒng)”之由。ADAS輔助駕駛者進入安全可靠的汽車駕駛系統(tǒng),有人機交互接口時,車輛安全性和道路安全性顯著增加,如圖2所示。常見的輔助駕駛系統(tǒng)必含車載導航系統(tǒng),通常由GPS和TMC(Traffic Movement Control,交通控制頻道)提供交通實時信息。
圖2 由各類信號裝置構(gòu)筑的ADAS安全體系
ADAS核心功能是通過預警降低碰撞風險,把安全放在第一位。機器學習和數(shù)字化的時代,人機交互帶來新的倫理問題。自動與互聯(lián)駕駛是全面應用人機交互的創(chuàng)新領域,保護人類的生命始終擁有最高的優(yōu)先權(quán)。輔助駕駛系統(tǒng)ADAS還包括:自適應巡航控制系統(tǒng)、車道偏離警示系統(tǒng)、換車道輔助系統(tǒng)、夜視、自動轉(zhuǎn)向和制動干預、防撞警示系統(tǒng)和后方追尾碰撞預警等,是智能控制的初步,被視為實現(xiàn)自動駕駛的前提。其他功能的硬件還有車距檢測預警、前車啟動提醒、溜車提醒、北斗高精度定位、車載熱點、云電子狗和語言導航等,如圖3所示。
圖3 駕駛輔助系統(tǒng)架構(gòu)體系
圖4 具有ADAS的行車記錄儀能主動預警
可將ADAS技術(shù)應用分為3個類別:①提高能見度,包括倒車輔助系統(tǒng)、全景可視系統(tǒng)、盲點和對向車輛識別、交通標志識別;②增強控制,包括自適應巡航控制、自動泊車、車道識別和保持、頭燈方向;③客艙安全性,包括安全帶檢測、駕駛員注意力監(jiān)測、安全氣囊展開、駕駛員疲勞檢測。
基礎硬件有眾多的攝像頭和記錄儀。行車記錄儀的作用是記錄,把所有駕駛和環(huán)境情況記錄并存儲下來,確保事故以后的可追溯性。當然,也包括惡意碰撞 (如碰撞)的監(jiān)測,明確駕駛責任是人或是電腦。記錄儀會使用超大廣角鏡頭,分辨率較高,檢測距離達30m。而為了讓芯片有足夠的時間做出判斷和反應,用于危險預警的ADAS攝像頭焦距要長,檢測距離須達70m以上,如圖4所示。
各開發(fā)商的專用器件面向ADAS專業(yè)平臺,須具有感知、識別、理解和控制的功能。采用深度神經(jīng)網(wǎng)絡處理器的架構(gòu),能與合作方 (汽車制造商)集成。根據(jù)開發(fā)商的深度學習算法專用設計,運算時效相對通用平臺有數(shù)量級的提升,實現(xiàn)L3級別的自動控制?!跋冗M”駕駛輔助系統(tǒng)的幾個工作部分如圖5所示。
ADAS主流使用對周圍環(huán)境感測與傳感的3件利器是激光雷達 (Laser Radar)、毫米波雷達 (MillimeterWave Radar)、視覺傳感器 (Visual Sensor),以觀察周圍環(huán)境、獲取機器視覺系統(tǒng)所需的信息,故成功的關鍵是圖像的處理。
圖5 “先進”駕駛輔助系統(tǒng)的幾個工作部分
汽車正在向著一臺安全聯(lián)網(wǎng)的自動駕駛機器人快速演進,能夠感測環(huán)境、進行思考,且會自主采取措施,安全行駛到達目的地 (需要攝像頭、雷達、視覺傳感器來工作)。配備5~8個視頻攝像頭是ADAS系統(tǒng)所必需的。車輛前方及后置攝像頭需要高靈敏度和快速響應,以幫助監(jiān)測交叉路口,避免碰撞。當前正迅速普及成為各型乘用車和SUV的標準配置。所有全景攝像頭的組合為緊急制動輔助系統(tǒng)、自適應巡航控制系統(tǒng)、盲點檢測、倒車盲點警示系統(tǒng)、車道偏離警告/自動車道保持即時提供可靠信息。ADAS還將支持交通標識識別系統(tǒng),協(xié)助永不超越速度限制的要求。ADAS在車內(nèi)的裝置和線路板如圖6所示。
圖6 ADAS在車內(nèi)的裝置和線路板
隨著汽車領域ADAS技術(shù)的不斷進步,道路安全性也大幅提高。有些技術(shù)自動生效,其它技術(shù)則為車上人員提供信息,在特定條件下自動控制車輛。圖7為ADAS配置的3項需求。
ADAS環(huán)境感知的圖例在圖8展開。
舉例來說,特斯拉 (Tesla)汽車上最新的硬件套件采用NVDIA Drive PX2處理平臺,分別從8個攝像頭、超聲傳感器組合和1個雷達系統(tǒng)獲得數(shù)據(jù),該平臺支持自動巡航(Auto Cruise)的掌上高效能模塊,擴展成為支持群眾的駕駛功能強大的AI人工智能超級計算機。系統(tǒng)能夠了解車輛周圍的情況,在高清晰度的地圖上精準定位自身,并規(guī)范地規(guī)劃安全行進路徑。系統(tǒng)結(jié)合深度學習、傳感器融合和全景視覺來實現(xiàn)全新的駕駛體驗。
圖7 ADAS配置需求
圖8 ADAS的環(huán)境感知
ADAS攝像頭分4類:①前置攝像機 (行人監(jiān)測、啟動緊急制動AEB);②后視鏡攝像機 (直觀泊車輔助);③環(huán)繞視野攝像機;④車內(nèi)攝像機 (困倦、發(fā)呆監(jiān)測)。攝像系統(tǒng)的性能對安全輔助或者自動駕駛車輛都至關重要。分布在車輛周圍的攝像頭盡管與CPU相距甚遠,其性能決定了ADAS能夠看到多遠的物體、能夠檢測到多小的物體,以及信息的傳輸速度 (取決于分辨率、動態(tài)范圍和幀速率),正是由于設備提供信息的關鍵性和數(shù)據(jù)速率極高,若出現(xiàn)有高誤碼率是不能容忍的。在全景視圖系統(tǒng)中,每個攝像頭的視頻流通常為1280×800像素分辨率,而幀的刷新率為30 f/s。從圖7a的ADAS的需求配置可見,汽車中使用了大量的總線和網(wǎng)絡,CAN、LIN、flexRAY、HOST、LVD及以太網(wǎng),但視頻鏈路要求的數(shù)據(jù)速率排除了LVDS和以太網(wǎng)以外的所有總線類型。使用ADAS會在與攝像頭進行可靠的通信過程中和實際車輛配置和最差的噪聲條件下,仔細檢查所有攝像頭的誤碼率,以滿足行業(yè)標準的同時提供高的可靠性。
汽車專用微機控制器ECU(Electronic Control Unit電子控制單元,亦稱車載電腦),是發(fā)動機怠速控制的核心。圖9展示了ADAS的架構(gòu)框圖。
圖9 ADAS系統(tǒng)的整體框圖
圖9中有3項輸出,分別是:BRAKES(制動)、STEERING(駕駛操作)和ALERTS(警示、警報)。智能終端ADAS的視頻專用目標的系統(tǒng)級集成電路芯片SoC組件架構(gòu)如圖10所示,包含Host處理器,SD/MMC/eMMC卡片存儲代碼、數(shù)據(jù)。其中左數(shù)第3項“安全模塊”是用以防止惡意非法入侵ADAS的獲取權(quán)限,避免釀成災禍。
圖10 ADAS的視頻SoC架構(gòu)
嵌入式視覺處理 (Embedded vision processor)由32 bit標量單元 (Scalar unit) 和Voctor unit組成。
2011年以前,大多數(shù)模式識別任務是在帶程序的矢量處理單元上完成的,如利用HoG(方向梯度直方圖),需要人工調(diào)整實際特征來提取。一幅照片中的物體外觀和形狀是用密度梯度或邊際方向的分布來描述,以判斷障礙物。隨著時代前進,從2010~2016年人工智能技術(shù)的識別分辨率飛躍的提高過程,源于2012年引入深度神經(jīng)網(wǎng)絡技術(shù),如圖11所示。
圖11 深度神經(jīng)網(wǎng)絡戰(zhàn)勝傳統(tǒng)計算機視覺
自引入深度學習后,以ILSVRC為名的勝出者其差錯率由2011年AlexNet 8層的28%顯著下降至2012年的16%。如此飛速發(fā)展,使ADAS可靠地進入實用階段。人工的差錯率在4%~5%左右,故2015年起,深度神經(jīng)網(wǎng)絡已超越人工的反應與識別能力,或說從那時起人的識別和反應能力已落后于機器了。
到2016年分類差錯率已由3.6%下降到3.0%;通過整合以往勝出的全部預訓練模型取得了全新成果:物體檢測的平均精度 (mAP)由62.1%提高到66.3%;定位誤差由9.0%下降至7.7%,場景分類前五項差錯率是9.0%。
算法實質(zhì)是將信息的數(shù)據(jù)由輸入轉(zhuǎn)化為輸出的一系列計算步驟。ADAS是在特定場景中,克服駕駛員的視野視覺和反應能力的缺陷和局限,擺脫眾多疏忽與困擾,利用智能電子技術(shù)幫助,運用并增強視覺識別和處理,防止倏忽間發(fā)生交通事故。
隨著對駕駛員和乘客的安全性更加關注,ADAS技術(shù)越來越依賴于分布在全車中的攝像頭,隨著ADAS應用與攝像頭 (圖4)緊密相關,關鍵設計挑戰(zhàn)是快速、高效地將圖像數(shù)據(jù)從攝像頭傳輸?shù)教幚韱卧?,并從處理單元傳輸至每個顯示屏。設計ADAS攝像系統(tǒng)時,需要對圖像品質(zhì)、帶寬、延遲、可靠性、成本和功耗等關鍵因素進行權(quán)衡、折衷來考慮。
可綜述為如下6項原則:①帶寬——用途不同,對每臺攝像機的性能要求也不同。例如,采用廣角鏡頭的倒車輔助攝像頭可能具有130萬像素、每像素18位顏色,速率為30 f/s。包括控制位和平衡編碼,單臺攝像機將產(chǎn)生1GB/s以上的數(shù)據(jù)流?、陧憫獣r間——不大于62.5 ms,足以應對車速大于100 km/h的車輛,即汽車每秒行進 27.8 m(91.18 ft)。③可靠性——為保證一切平穩(wěn)運行,針對車輛有效使用期內(nèi)的磨損做出自適應調(diào)整,在維護時進行檢測是必不可少的。④功耗——隨車輛中電子系統(tǒng)的增多,將功耗控制在電池容量及配電限制范圍內(nèi)尤顯重要。⑤成本——為保證系統(tǒng)成本足夠低的條件下仍可獲取技術(shù)競爭優(yōu)勢,在減少元件數(shù)、電纜長度的同時,增強系統(tǒng)功能至關重要。⑥影像品質(zhì)——基于視覺的ADAS,其目標檢測與圖像處理能力密切相關,因此高品質(zhì)影像是基本保障。
計算像素時鐘速率:圖像傳感器一般在每個像素時鐘輸出一個像素傳遞信息。根據(jù)圖像尺寸和每秒顯示的圖像數(shù)量,計算給定攝像頭的像素時鐘。公式:像素行×像素列×幀速率=像素時鐘 (Hz)。
人工神經(jīng)網(wǎng)絡是模擬人類神經(jīng)系統(tǒng)的活動用以提高模式識別能力。就架構(gòu)層面的定義而言,神經(jīng)元獲得輸入,施加權(quán)重于輸入,在加權(quán)輸入總和之上執(zhí)行傳遞函數(shù)。其結(jié)果隨之傳遞給隱藏層之間的另一層或輸出層。前饋神經(jīng)網(wǎng)絡是指將一級輸出傳遞給另一級并不構(gòu)成循環(huán)的神經(jīng)網(wǎng)絡;而將有反饋、內(nèi)含定向反饋的稱為遞歸神經(jīng)網(wǎng)絡。前饋神經(jīng)網(wǎng)絡中有一種名為卷積神經(jīng)網(wǎng)絡 (Convolutional Neural Network,CNN),公認在高能效的深度神經(jīng)網(wǎng)絡(DNN)中架構(gòu)較簡最為常用。它擁有多個隱藏層,可實現(xiàn)更為復雜的機器學習任務,如圖12所示。當然,要確定每層使用的權(quán)重與偏差值,需對神經(jīng)網(wǎng)絡進行訓練。訓練DNN會需要龐大的數(shù)據(jù)集來訓練所需要的性能,以應對訓練過程對該神經(jīng)網(wǎng)絡施加足夠數(shù)量的正確輸入和錯誤輸入,并使用誤差函數(shù)教授網(wǎng)絡所需的特征與性能。
圖12 使用卷積神經(jīng)網(wǎng)絡 (CNN)的深度學習
CNN的部件一般分為卷積層、池化層和全連接輸出層。卷積池化交替出現(xiàn),保證提取特征的同時也強制模糊增加特征的旋轉(zhuǎn)不變性。CNN稱其為深度學習,即其層層的特征表示,簡單的幾何形狀皆由底層層層訓練出來,具有遷移學習的能力。
卷積神經(jīng)網(wǎng)絡充分利用圖像的空間結(jié)構(gòu),共享權(quán)重或偏差,減少了參數(shù)的數(shù)量;僅包括卷積、池化和全連接3類層面,相比全連接網(wǎng)絡更易訓練。其流程符合嵌入式視覺物體檢測對當前標準。CNN視覺應用的流程依次為:圖像分類→物體檢測分類定位→面部表情識別→手勢識別和跟蹤→場景識別和貼標簽、語義分割。
CNN在大型圖像處理中顯示出其高效的識別性能,它是非全交織,能繞開對圖像復雜的前期預處理,直接輸入原始圖像,避免了耗時的誤差反向傳播;進行精確的差值補充與還原,補充完成分辨率高的畫面,充實內(nèi)容豐富細節(jié);用來識別位移、縮放及其他形式扭曲不變性的二維圖形,網(wǎng)絡能并行學習,權(quán)值共享,降低了網(wǎng)絡復雜性;對多維輸入向量的圖形可直接輸入網(wǎng)絡,降低了特征提取和分類過程中數(shù)據(jù)重建的復雜度。基本結(jié)構(gòu)由特征提取層和特征映射層組成,由于一個映射面上的神經(jīng)元共享權(quán)值,這樣兩次特征提取結(jié)構(gòu)降低了特征分辨率。
神經(jīng)網(wǎng)絡語義寬泛,包括多種截然不同的子門類。子類別的名稱用于識別被實現(xiàn)網(wǎng)絡的具體類型。這些網(wǎng)絡均在大腦皮層上建模,在大腦皮層中每個神經(jīng)元會接收輸入、處理輸入,并將其傳遞給下一個神經(jīng)元。故神經(jīng)元的組成包含輸入層、多個隱藏的內(nèi)部層和一個輸出層。
人看到一個場景一幅圖像瞬間,即感知場景或圖中主體的行為在干什么,而計算機感受到的場景圖像皆是數(shù)字矩陣。從一個個數(shù)字矩陣中獲取信息,確認其邊界、角點、步長,需對圖像進行卷積分類處理,逐步接近目標,讓計算機理解圖像。卷積核實際是一個基于濾波器的圖像處理器,先模糊圖像,識別邊緣。小的卷積核在整張圖上權(quán)值共享是因輸入數(shù)據(jù)的局部特征具有平移不變性 (在不同位置具有相同局部特征的共性)。卷積探索輸入數(shù)據(jù)的局部相關性 (不同樣本數(shù)據(jù)皆有相同的局部特征)。通過卷積層不同的卷積核提取不同的頻段的特征,通過池化層提取不同的粒度的特征。
一幅圖像處理,須先選擇某一深度學習架構(gòu),如CaffeTensorFlow,皆是行業(yè)標準框架,可供使用。
圖13 深度學習架構(gòu)的訓練
機器學習是通過社交網(wǎng)絡創(chuàng)建和訓練來實現(xiàn)的。訓練的輸出是網(wǎng)絡結(jié)構(gòu)及與之相關的系數(shù)。如圖13所示,訓練是一項專業(yè)性極強的繁雜工作,建議由受過專訓的素質(zhì)人士按程序完成,訓練獲取網(wǎng)絡結(jié)構(gòu)為32位浮點數(shù)的系數(shù)。通過深度學習及其自我修正,將可訓練的系數(shù),利用工具由浮點轉(zhuǎn)換為定點,相對獨立地部署到諸如攝像頭的嵌入式設備中去,注意降低功耗,盡可能縮小面積,訓練了網(wǎng)絡,也實現(xiàn)網(wǎng)絡。深度學習架構(gòu)的配置部署如圖14所示。
圖14 深度學習架構(gòu)的配置部署
算法的實質(zhì)是將數(shù)據(jù)輸入轉(zhuǎn)換為輸出的一系列計算步驟,不僅決定了預警的準確率,還能憑籍機器學習的功能,隨數(shù)據(jù)不斷積累而提高。專業(yè)級的ADAS產(chǎn)品預警準確率能達99%以上。
圖15演示了CNN處理一幅行人畫面的流程。物體檢測和行人檢測在系統(tǒng)的操作流程中享有極相似的流水線,必須通過使用矢量DSP的滑動窗口方法識別候選區(qū)域——這被稱為基于塊拼貼 (Patch-based)的物體識別,仍需要采用矢量DSP進行預處理和圖像比例調(diào)整。
圖15 用于行人檢測的卷積神經(jīng)網(wǎng)絡
位寬是指一個時鐘周期內(nèi)傳遞數(shù)據(jù)的位數(shù)或說寬度,表達了一次能傳遞的數(shù)據(jù)量的參數(shù)。CNN的位寬于檢測精度影響甚大,見圖16,是位寬與分辨率的關系曲線。
圖16 CNN位寬于檢測精度影響曲線
反復實踐、研究、比較表明,12位是CNN識別性能和硬件成本間較好的折衷點。8位將導致現(xiàn)有圖形識別率嚴重下降、丟失,而12位乘法器其面積只有16位乘法器的一半,即使32位與識別性能的提高沒有顯著提高。
塊拼貼及紋理合成算法是圖像處理IP(Image Process)的重要手段。圖17是某塊拼貼實例中各性能參數(shù)的情況。圖17顯示了塊拼貼行人監(jiān)測的網(wǎng)絡結(jié)構(gòu)。下方列出了最低處理要求,每秒處理的塊數(shù)為495塊;每塊的周期數(shù)為1.6M周期;系統(tǒng)內(nèi)部特征圖和權(quán)重所消耗占用的存儲量分別為171 K/274 K字節(jié)。
圖17 塊拼貼實例中各性能參數(shù)的情況
圖像的場景分割是重要的圖像處理分析技術(shù)。根據(jù)鏡頭的相關性和時間上的臨近性,把相似的鏡頭劃分到同一場景里,這樣便可將一段完整的圖像分割成若干有意義又可有效存儲和管理的邏輯故事單元。對前方和周圍場景圖像分析,區(qū)別天空、樹木、行人、障礙物和道路,作語義識別,并貼標簽,用于確定行駛的對策 (找路或說“路徑發(fā)現(xiàn)”)。
通常,根據(jù)鏡頭特征邊緣提取方法,利用關鍵幀來表達鏡頭,通過主色跟蹤和質(zhì)心運動來提取鏡頭特征。由主色跟蹤來表達鏡頭的時域信息,由質(zhì)心運動反應鏡頭的空間信息,并結(jié)合兩者測量鏡頭的相似度。為減小分割時間,克服過分割的困擾,常改進為雙向滑動窗口,將相似的鏡頭相鏈接,利用時間上的連續(xù)性將場景初步分割,對過分割的場景進行后處理,得到最佳的終端場景。這樣既有效簡化了算法,也克服了忽略鏡頭的時域信息的缺陷。見圖18。
圖18 基于CNN的場景分割
完整的場景分割與與完整的語義標簽一般用于ADAS中路徑的發(fā)現(xiàn)與應用,需先定義天空、森林或建筑物,定義沒有車道標記的道路邊界,再以需求分析整幅圖像,這需要高的計算功能,要求高性能的CNN——超過500GMAC/s。目前水平已達800GMAC/s。
圖18所示基于CNN場景分割技術(shù)因視頻領域圖像處理軟件有成熟進展,ADAS的CNN可嫁接應用。
1)ADAS中CNN未來運用的趨勢之一:分辨率和幀速率增高提升。以利于更高精度高效檢測,見圖19。
圖19 未來趨勢之一:分辨率和幀速率提升
攝像機分辨率 (兆像素或MP):目前為1~2MP,預計2018年可達到3~4MP。以后將達到7~8MP。更高的分辨率(Mpixel),可檢測更遠距離的物體。攝像機幀速率 (FPS):目前為10~15、30幀,未來將達到60 f/s。更高的幀速率相當于更短的延時,或更遠的停止距離;還能提高物體 (例如行人)跟蹤的性能。
2)ADAS中CNN未來運用的趨勢之二:提高性能、降低功耗、減小尺寸。CNN在可預見的未來仍將繼續(xù)主導嵌入式視覺處理任務。但對CNN性能增強、縮短響應時間和功耗降低提出更高更嚴格的要求。提高CNN精度將推動減小CNN尺寸,如Maxim公司的GoogLeNet和ResNet兩產(chǎn)品已證明帶更多數(shù)據(jù)更深層網(wǎng)絡可提供更高的精度。而壓縮和剪枝可減少運算量,從而也節(jié)省能耗。
循環(huán)神經(jīng)網(wǎng)絡 (RNN)將作為CNN的補充,可用來在時間序列上作模式識別,并為圖像添加字幕、文本生成和語言轉(zhuǎn)換等。
1)視覺處理技術(shù)是自動駕駛車輛的關鍵技術(shù)。
2)深度學習技術(shù),比如CNN引擎可為物體的檢測提供最高的精度?,F(xiàn)在已用于汽車視覺處理的統(tǒng)一多內(nèi)核處理器,內(nèi)含標量+矢量DSP+CNN引擎 (先進的卷積神經(jīng)網(wǎng)絡),新開發(fā)的嵌入式硬件支持更高的CNN性能,如基于塊拼貼的CNN和基于幀 (Frame Based) 的CNN。
3)當前,我們的旅程還只是站在人工智能時代的大門之前,處于發(fā)展的初級階段,我們現(xiàn)在的人工智能技術(shù)還只是神經(jīng)網(wǎng)絡的一個別稱,神經(jīng)網(wǎng)絡技術(shù)的水平還不能完全實現(xiàn)人類的推理和理解,只是構(gòu)建人工智能的道路中最先運用的一種工具。