
需要處理的圖像像素過多與芯片算力不足的矛盾,已經成為了當前制約自動駕駛發展的瓶頸之一。
當今自動駕駛領域所運用的視覺識別算法,基本上都基于卷積神經網絡,視覺算法的運算本質上是一次次的卷積運算。這種計算并不復雜,本質上只涉及到加減乘除,也就是一種乘積累加運算。但這種簡單運算在卷積神經網絡中是大量存在的,這就對處理器的性能提出了很高的要求。

以當前典型的百度的無人車為例,計算平臺約為800TOPS,其中1TOPS代表處理器可以每秒鐘進行一萬億次操作。假設一個攝像頭所需要的算力為33TOPS,更遑論無人車動輒配置十余個攝像頭,以及多個激光雷達和毫米波雷達。
為了準確檢測行人并預測其路徑,芯片往往需要多幀處理,至少是10幀,也就是330毫秒。這意味著相關系統可能需要數百毫秒才能實現有效探測,而對于一輛以60公里每小時行進中的車輛來說,330毫秒的時間就能行駛5.61米。如果為了保證足夠的安全,將幀數增加到每秒30幀,圖像數據很可能讓自動駕駛芯片不堪重負。
提高算力固然可以暫時解決問題,同時,算力的提高也伴隨著功耗的提高,但在新能源的大背景下,分配給芯片的能量越多,續航能力就會受到越大的影響。算力與能耗正在逐漸成為自動駕駛發展的一對矛盾。
實際上自動駕駛領域99%的視覺數據在AI處理中是無用的背景。這就好像檢測鬼探頭,變化的區域是很小一部分,但傳統的視覺處理仍然要處理99%的沒有出現變化的背景區域,這不僅浪費了大量的算力,也浪費了時間。亦或者像在沙礫里有顆鉆石,AI芯片和傳統相機需要識別每一顆沙粒,篩選出鉆石,但人類只需要看一眼就能檢測到鉆石,AI芯片和傳統相機耗費的時間是人類的100倍或1000倍。
對于人類來講,在靜止的畫面中注意到運動物體并不難。對于青蛙來說,它甚至只能看到運動的物體,對靜止的背景畫面視而不見。
針對生物這一特性,事件相機的出現,成功解決了自動駕駛中視覺處理的問題。
事件相機(event cameras)是一種生物啟發的視覺傳感器,以完全不同于標準相機的方式工作。事件相機不是以恒定速率輸出強度圖像幀,而是僅輸出局部像素級亮度變化的相關信息。這些像素級亮度變化(稱為事件)超過設定閾值時,事件相機以微秒級分辨率標記時間戳,并輸出異步事件流。

事件相機的靈感來自人眼和動物的視覺,也有人稱之為硅視網膜。生物的視覺只針對有變化的區域才敏感,比如眼前突然掉下來一個物體,那么人眼會忽視背景,會將注意力集中在這個物體上,事件相機就是捕捉事件的產生或者說變化的產生。
在傳統的視覺領域,相機傳回的信息是同步的,所謂同步,就是在某一時刻t,相機會進行曝光,把這一時刻所有的像素填在一個矩陣里回傳,一張照片就誕生了。一張照片上所有的像素都對應著同一時刻。至于視頻,不過是很多幀的圖片,相鄰圖片間的時間間隔可大可小,這便是我們常說的幀率(frame rate),也稱為時延(time latency)。事件相機類似于人類的大腦和眼睛,跳過不相關的背景,直接感知一個場景的核心,創建純事件而非數據。
我們通過下圖的小球實驗可以更直觀地發現:只要小球變化的時刻,就會產生事件流,而小球靜止的時刻,就不會產生事件流。
?

圖:事件相機與幀相機的輸出信號對比
相對于傳統相機,事件相機還有高幀率、低功耗、高動態范圍等優點:
1)高幀率。實際上,所謂的“幀率”概念,對事件相機是不存在的。事件相機每個感光單元都可以異步的形式記錄像素亮度變化,無需等待傳統相機每秒30次的“曝光”時機。基于沒有曝光的特點,事件相機的輸出頻率可以高達每秒100萬次,遠遠超過每秒30次傳統相機的幀率。
2)低時延。事件相機僅傳輸亮度變化,避免大量冗余數據的傳輸,因此能耗僅用于處理變化的像素。大多數事件相機的功耗約在 10 mW 級,而有部分相機原型的功耗甚至小于10 μW,遠遠低于傳統基于幀的相機。
3)高動態范圍。事件相機的動態范圍高達140 dB,遠遠優于 60 dB 的幀相機。既能在光照條件良好的白天工作,也能在光線較暗的夜晚采集視場中的動態信息。這是由于事件相機每個像素的光感受器以對數方式獨立工作,而非全局快門工作模式。因此,事件相機具有與生物視網膜相似的特性,其像素可以適應非常暗和非常亮的感光刺激。
在拍攝高速物體時傳統相機會發生模糊(由于會有一段曝光時間),而事件相機幾乎不會。再就是真正的高動態范圍,由于事件相機的特質,在光強較強或較弱的環境下(高曝光和低曝光),傳統相機均會“失明”,但像素變化仍然存在,所以事件相機仍能看清眼前的東西。

事件相機的出現對高算力AI芯片是致命打擊,它只需要傳統高算力AI芯片1%甚至0.1%的算力就可完美工作,功耗是毫瓦級。事件相機基于流水線時間戳方式處理數據,而不是一幀幀地平面處理各個像素。傳統卷積算法可能無用,AI芯片最擅長的乘積累加運算可能沒有用武之地。為了準確檢測行人并預測其路徑,需要多幀處理,至少是10幀,也就是330毫秒。這意味著相關系統可能需要數百毫秒才能實現有效探測,而對于一輛以60公里每小時行進中的車輛來說,330毫秒的時間就能行駛5.61米,而事件相機理論上不超過1毫秒。
當前,市場上主流的事件相機產品主要為三類:DVS、ATIS以及DAVIS,它們都采用了差分型視覺采樣模型。此外,也有一些其它類型的事件相機,比如CeleX、Vidar,但從商業化的進度來看,上述三類事件相機的商業化發展較快。

事件相機產業鏈的情況與傳統幀相機幾乎是相同的,主要包括上游是零部件供應商(鏡頭組零部件、膠合材料、圖像傳感器芯片等)、中游是模組供應商與系統集成商等、下游是主機廠。
產業鏈中的不同之處主要是在圖像傳感器芯片、算法軟件,比如更適合事件相機的芯片是類腦芯片、更適合的算法則是脈沖神經網絡。
事件相機目前之所以沒有大規模應用在自動駕駛領域,歸根結底受限于神經網絡算法。
實際上,相機獲取信息僅僅是第一步,后續事件相機信息的處理則是更為關鍵的一環。
如下圖所示,傳統相機的輸出是一幀幀的靜止圖片,而事件相機則是一個個事件(Event)流。

一般來說,目前的神經網絡都專注于如何提取每幀靜止圖片中的行人、汽車等目標,如YOLO,resnet等算法。針對基于時間戳的事件流,目前尚無有效的算法進行目標識別。而事件流處理算法的缺失,與當前的神經網絡結構是分不開的。
當前主流的神經網絡被稱為第二代人工神經網絡,以精確的浮點運算為基礎,缺失了在自然界中最重要的一個因素:時間。對于神經網絡而言,輸出的結果會和輸入一一對應,任何時候輸入相同的圖片,神經網絡都會輸出一樣的結果。
然而真實的大腦,是以這種浮點運算為基礎的嗎?顯然不是,真實的大腦是以脈沖為基礎的,以脈沖傳遞和處理信息。
這種以脈沖傳遞為基礎的神經網絡是脈沖神經網絡(spiking neural network,SNN),被譽為第三代人工神經網絡。基于脈沖神經網絡結構設計的芯片也被稱為類腦芯片。脈沖發生的時刻攜帶著重要信息,脈沖神經網絡天然具備對時序信息處理的能力,這與事件相機基于時間戳的事件流輸出十分吻合。
此外,脈沖神經網絡還具有事件驅動、異步運算、極低功耗等特性。
1)事件驅動。在我們的大腦中,同一時刻大約有90%以上的神經元都是沉默的。也就是說,當沒有事件輸入的時候神經元是不活動的。這與事件相機的事件流輸出十分契合,同時功耗也極大降低。
2)異步運算。脈沖神經網絡不存在“主頻”的概念。傳統的計算機都需要一個時鐘,以確保所有的操作都在時間步上進行,這個時鐘的頻率被稱為主頻。目前主流的計算機主頻都達到每秒1GHz以上。然而,以IBM的神經態硬件TrueNorth為例,100Hz左右的脈沖發放率即可完成圖像識別、目標檢測等任務。當前通用的計算機基本是馮·諾依曼結構,這種結構下,隨著CPU的運算速度遠遠超過內存的存取速度,已然形成難以逾越的計算瓶頸。然而,脈沖神經網絡所有的內存和運算都體現在神經元的異步脈沖之中,有很大希望突破目前計算機運算能力瓶頸。
3)極低功耗。在2016年著名的人機圍棋大戰中,Google公司的AlphaGo系統每局圍棋博弈的平均耗電費用高達3000美元。而作為脈沖神經網絡架構的人腦,功率僅僅為20W左右。此前,有學者將目標檢測中的經典算法YOLO進行脈沖化,在完成相同任務的情況下,功耗降低了280倍左右,同時速度提高了2.3到4倍。
總的來說,事件相機和脈沖神經網絡的結合,正如人類用眼睛和大腦觀察四周:自動忽略周圍靜止的事物,對突然出現的運動物體予以重點關注和運算。

匹茲堡大學眼科教授、CMU機器人研究所兼職教授Ryad Benosman作為基于事件的視覺技術的奠基人之一,他認為:預計神經形態視覺(基于事件相機的計算機視覺)是計算機視覺的下一個方向。
當前學術界已經掀起了對脈沖神經網絡研究的熱潮,隨著人們對大腦認識的深入,以及國外的TrueNorth、SpiNNaker、Loihi和國內清華的天機芯(Tianjic)和浙大的達爾文等類腦芯片的研發。
筆者堅信:事件相機與脈沖神經網絡的完美結合在目標追蹤、動作識別等領域具備壓倒性優勢,給自動駕駛行業帶來新的突破。
-------END-------
關注以下公眾號,看更多精彩內容

「汽車電子」
自動駕駛的陷阱
「AI 」
深度學習逼近死胡同,拐點已至
吳恩達:AI是時候從大數據轉向「小數據」了
畸形的深度學習,把自己逼進死胡同
人工智能下一個10年:算力的黃金時代
谷歌 AI 負責人Jeff Dean展望:機器學習五大潛力趨勢
科學家紛紛回歸學術界,AI拉開下半場大幕
可信 AI,未來可期!
「芯片」
AI芯片,撐得過明年嗎?
AI企業的生存真相
中國AI芯片提前進入肉搏期
互聯網巨頭扎堆"芯"戰場,"繁榮"背后的一地雞毛
寒冬里的寒武紀
AI大算力時代:存算一體迎來爆發時刻?
芯荒還要持續多久?全球缺芯是中國的機會嗎?