MINIEYE首席科學家吳建鑫:用單目攝像頭實現自動駕駛的視覺感知

朱思穎發表於2017-03-13

「車載硬體處於典型的資源受限環境之下,如何將深度學習應用於這樣的受限環境是有效落地智慧硬體的方式之一。」MINIEYE 首席科學家、南京大學電腦科學與技術系教授吳建鑫告訴機器之心。吳建鑫是計算機視覺領域的專家,入選中組部青年海外高層次人才引進計劃(青年千人計劃)。在重要國際期刊如 TPAMI,IJCV,AIJ,JMLR 等以及重要國際會議如 ICCV、CVPR、ICML 等發表論文六十餘篇,並多次擔任 ICCV、CVPR、AAAI 等重要國際會議領域主席。


2013 年,MINIEYE 在南京創立,目前所研發的車載視覺感知技術和產品運用視覺演算法,通過單目攝像頭實現路面物體的識別、檢測以及追蹤。在車輛檢測率、車道偏離檢測率上已達 99%。3 月 3 日,機器之心專訪了 MINIEYE 首席科學家吳建鑫,他講解了計算機視覺演算法在輔助駕駛中的實現路徑,並分享了對目前深度學習研究趨勢的看法。


機器之心: 您 AAAI2016 所接收論文是關於影像和視訊特徵表達的,這是您最近的主要研究方向嗎?


吳建鑫:AAAI 那篇論文的研究內容確實是關於影像表徵跟特徵學習的。可以看到目前領域內大多數的研究人員要麼是在研究深度學習,要麼是在運用深度學習的研究成果。其實深度學習也被稱為表徵學習,對於很多研究人員,包括我自己,確實有很大一部分的研究重點是在表徵學習(representation learning)上面。但是表徵學習是一個廣闊的概念,包括非常多的研究內容。在有關表徵學習的研究內容裡,我的研究重點包含兩個內容,一個是資源受限的影像分類及其應用,另一個是細粒度影像分析。


深度學習模型的執行對硬體資源依賴程度比較高,在類似汽車、手機或者其他移動平臺上執行深度學習模型,硬體資源大為受限,如何在資源受限的情況下去實現深度學習是很有實用價值的。


從學術界的角度來看,細粒度影像的研究並不是最熱門的方向。我對這個方向感興趣是有兩方面原因的,第一方面的原因是,細粒度影像分析的原理我們現在還不是很清楚,這是一個基礎性的研究問題。我們可以訓練一個深度學習的模型,去實現細粒度影像的分類,分類的效果非常好,但是很難有一個解釋來論證為什麼能得到這麼好的結果。在過去,用深度學習去實現通用影像分類,對深度模型各層特徵的視覺化,可以知道它為什麼有這麼好的分類結果,是因為它學到很好的表示,比如一個五層卷積層的網路結構,在第五層會有學習到高階語義概念。往回到第四層、第三層就可以看到是學到影像當中不同抽象層次的資訊,是一個很好的可以用來解釋的結果。但是對於細粒度影像分類,沒有一個類似的結果。


另一方面我對細粒度影像分析非常感興趣的原因是,細粒度影像分析有很多跟日常生活、經濟、安全等等各個方面都相關的應用。但是現在,這方面的應用還是很有限。所以,想把我們在學校裡的研究成果轉化為社會的直觀價值,這是一個很好的研究方向。CVPR2016 的論文裡,有一篇很有意思的論文 [1],是運用監控攝像頭實現車的細粒度分類。大概是 70% 左右的解析度能夠判斷出駛過的車是哪個車廠出產、哪一年產的、哪個款式、哪種顏色,而且是實時檢測。但是這樣準確度的研究還不能實用,需要針對具體有實際應用的領域去提高它細粒度分類的準確度。


[1] J. Socher, A. Herout and J. Haval. BoxCars: 3D Boxes as CNN Input for Improved Fine-Grained Vehicle Recognition, CVPR 2016, pp. 3006-3015.


機器之心: 這篇論文的作者之一是 MINIEYE 的 CEO 劉國清,你們是在什麼情況下決定一起創業?


吳建鑫我其實是 MINIEYE 的聯合創始人之一,在回母校南京大學之前,在新加坡南洋理工大學工作。國清是我在新加坡任助理教授時畢業的第一個博士生,他是很有創業衝動的,我也非常希望自己研究的演算法能夠有應用。但是創業是一件很艱難的事情,至少是需要投入很多精力的事情,而我同時對研究本身這件事情非常感興趣,這也是為什麼我要呆在學校裡面,不願意把研究完全扔開。


國清當時有創業的衝動,我們調研了很多方向後,選擇了輔助駕駛。因為我覺得 MINIEYE 現在所做的事情,首先從技術角度來考量,是完全可行的,需要我們投入資金以及技術上的研發去做這樣的事情,是可以做出來的。第二個是市場是已經準備好了,能夠把我們做的研究實際用起來。


機器之心: MINIEYE 產品的感知功能是如何實現的?


吳建鑫MINIEYE 產品的感知功能是經典計算機視覺演算法和深度學習演算法的混合架構。我們通過單目攝像頭來獲取影像。最早設計出軟體,現在公司的產品是硬體,一個小盒子,實際上是把軟體移植過來。我們對每一幀影像去做計算機視覺的任務,車輛檢測、行人檢測、車道檢測。檢測之後計算檢測到的車輛與行駛車輛之間的距離,當兩者距離過小時進行報警。車道檢測的過程中,發覺旁邊車道的車進入當前行駛車輛的車道,通過速度、距離的分析,有產生危險的可能時也會提出警報。目前產品已經推出和正在研發中的功能包括包括前向碰撞預警、車道偏離預警、盲點監測預警、行人碰撞預警以及前車啟動提醒。


這一代產品的駕駛輔助功能是多模組共同實現的,車輛檢測有一個模組,深度估計有一個模組,車道檢測有一個模組。目前這代產品大部分的模組所用的演算法是經典的計算機視覺的演算法,也即在深度學習用於計算機視覺問題研究之前所使用的演算法。大部分的模組使用經典的檢測、識別和深度估計的方法,只有一小部分對精確度要求非常高的地方用的是深度學習的方法。演算法方面在準確率上是非常高的,在產品釋出會上公佈了跟 Mobileye 同樣功能的對標結果 [註釋]。另外就是實時的問題,車載硬體在一個小盒子完成這些功能,是一個典型的資源受限的環境。它不能跟計算效能好的硬體裝置相比,哪怕是跟筆記本比也是相差很遠的。這些模組裡有很多優化的工程性的工作,把 CPU、GPU 的佔用率以及各種記憶體的佔用率降低下來。


[註釋] MINIEYE 產品與 Mobileye 相比,前向碰撞預警的報警率達到了 Mobileye 的 95.2%;車道偏離預警的報警率達到 Mobileye 的 100.9%; 虛擬保險槓的報警率達到 Mobileye 的 97.1%;前向車距監測的絕對碰撞時間與 Mobileye 的吻合度達到 96%。Mobileye 為高階輔助駕駛系統(ADAS)產品研發的全球領先企業,旗下產品佔據全球市場 75% 的份額。


機器之心: 相比於攝像頭,車之間的距離用雷達或者鐳射雷達來計算是不是更精確一些?


吳建鑫我們現在的系統採用單目攝像頭,它依據視覺檢測的結果來進行距離估算。對所獲取的影像內容,相機有內部的標定,標定完之後檢測到前面的車就可以估算它的距離。但是,如果有不同的雷達,在完成檢測之後,把兩個模態的資料結合起來,將能從雷達方面獲得更準確的距離資訊。現在的情況是,如果檢測能有比較高的準確率,通過計算機視覺檢測所獲得的距離還是比較準確的。我們現在的產品是沒有自動駕駛那一部分功能的,還是輔助駕駛系統 ADAS,如果加上雷達的話,成本就會提高很多。但是如果逐漸向更高階別的無人駕駛過渡,是必須要有雷達的。


機器之心: 駕駛場景有自然環境因素的影響,在特徵提取、識別的時候,會有哪些比較難處理的地方?


吳建鑫無論是室內環境的理解還是室外環境的理解,運用深度學習來處理,主要的問題並不是哪種環境下的處理比較難,關鍵是資料,高質量的資料。場景理解無論從研究的角度還是自動駕駛這個特定的應用角度來說,難處理的並不是普通常見場景,而是極端情況(corner case)下的處理。例如國內的駕駛環境和國外的駕駛環境有些不太一樣,我在玄武大道上駕車,會有人從中間花壇上跳下來然後穿過馬路,像這種極端情況才是導致問題的所在。


室內場景以及室外場景,極端情況都是比較難以處理的,現在有了不同的思路,如果大家都在研究極端場景的處理,那麼可以資料共享。Corner case 可能是幾十萬公里才出現一次,但如果所有研究自動駕駛的公司以及政府都參與並分享各自的資料,那麼就有可能解決這個問題。這當然是一個很好的解決方法,但我認為 corner case 想要完全避免是不太可能的。因為即使你有 corner case 的資料,你還得有一個額外的模型(extra model)來處理它,因為通用的處理模型是針對普通場景的。


2016 年一名特斯拉 Model S 車主在開啟 Autopilot 自動駕駛時發生事故導致死亡,原因是雷達的模組跟視覺的模組都把前面的障礙物認錯了,把白顏色的卡車認錯了。我不知道特斯拉的無人駕駛系統裡的具體引數是多少,但是如果把系統的敏感性提高一點,那麼可能就有剎車減速的一個過程,這樣就可以很大程度的避免嚴重事故的發生。另外一個解決 corner case 的方式,是通過強 AI 來主動解決。這種解決方式需要的時間更長。因為目前的深度學習對場景的理解還是完全基於資料的,以前出現並存在的場景,通過好的學習模型能夠很好的處理,但是完全沒有出現過的情況就難以處理。在這種情況下,需要系統有推理能力,怎麼讓系統具備這種能力甚至具備人類的常識,這些都是目前還沒有解決的問題。基於學習的系統(learning based system)總是有錯誤率存在的,錯誤率大部分是來自 corner case,有些 corner case 是可以通過邏輯性的推斷知道這是一個非普通情況,需要做特殊的處理。自動駕駛的實現除了用基於學習的方法來做外,還應當有類似知識一樣的邏輯推理能力。


機器之心:能介紹 MINIEYE 下一代產品的規劃嗎?


吳建鑫目前的產品是實現輔助駕駛功能,輔助駕駛功能有很多種,我們已經實現了最常用的 5 個功能。正在實現的功能是緊急情況下的自動剎車(AEB),這些都是自動駕駛前幾層的事情 [註釋]。下一步的研究是如何更多的運用深度學習來實現更好的效果。第一代產品是經典的視覺技術加上部分的深度學習。深度學習有一個好處就是,它是多工同時進行的,不需要由各個模組搭起來。但是其中很重要的是如何在車載這樣的資源受限環境下去應用。現在對完全自動駕駛的研究沒有投入很多,因為我們還只是一個小的初創公司,沒有那麼多的資源。我們會沿著一個逐漸遞進的方式去進行產品擴充套件。


[註釋] 美國高速公路安全管理局(NHTSA)將自動駕駛分為 5 個層級,L0 為無自動駕駛輔助功能層級,即沒有任何自動駕駛輔助功能或僅具備預警功能,如前向碰撞預警 (FCW)、車道偏離預警 (LDW) 等;L1 層具有部分自動駕駛輔助功能,如自適應巡航控制(ACC)、自動緊急制動(AEB)等,但這些功能彼此獨立;L2 為組合自動駕駛輔助,有多個功能同時實現自動化,實現特定場景的自動駕駛,如自動泊車、高速公路上的自動駕駛等;L3 為高度自動駕駛,在特定交通情形下所有涉及關鍵安全控制的操作交由自動駕駛系統決定;L4 為完全自動駕駛,無需人類駕駛員介入。


機器之心: MINIEYE 的產品正在進行密集的道路測試,道路測試資料如何提升輔助駕駛系統的環境感知能力?


吳建鑫比資料量更重要的是資料的多樣性。目前我們有 45 輛車在全國各地採集資料和進行路測。所採集資料中的 70% 會加入訓練資料庫中,剩下的 30% 加入測試資料庫。通過這樣大規模的測試,我們的演算法可以涵蓋儘可能多的城市、工況和全國各地的特殊場景。

 一旦發現對某些特殊工況出現效能不夠好的情況,我們會針對這個工況額外作針對性資料採集。例如我們在雲南路測時發現當地有一些老式載重卡車發熱量非常大,要不停地往車身澆水來散熱,造成車輛籠罩在白霧裡面。當時實測檢測效果不好,我們就在當地作了針對性的採集和測試。


機器之心: 很多科技巨頭公司沒有通過輔助駕駛逐層遞進至無人駕駛,而是直接進入無人駕駛研究,您對無人駕駛怎麼看?


吳建鑫從技術實現上考察,完全的自動駕駛是可以實現的,但現在的問題是整個社會沒有準備好。很多技術上的困難,比如說紅綠燈識別,其實是可以有另一種解決方式的。假設 20 年之後整個中國的紅綠燈都是智慧的,能夠進行訊號溝通,把現在路口是紅燈還是綠燈的情況直接和車進行交流,那麼就可以減輕高精度地圖的負擔,在車載輔助系統裡就不需要有特別高精度的紅綠燈識別系統。


美國國防高階研究計劃局(DARPA)在 2004 年開始全自動駕駛挑戰賽,最初兩屆是沙漠裡的越野挑戰(Grand Challenge),2007 年之後進行的是城市環境的挑戰賽(Urban Challenge)。很快無人駕駛挑戰賽就沒有舉辦了,不是說無人駕駛不重要沒有研究意義,而是從技術原型角度來看,現在的結果已經可以證明這件事情是可行的。還沒有準備好的是整個社會的立法、道路基礎設施架構等方面的內容。技術上是可行的,社會的成本及這輛車的成本是阻礙完全無人駕駛的兩個因素。此外,不同廠商所生產的汽車的安全策略也需要有一個通用標準,以及無人駕駛中將面臨的倫理問題,所以我認為整個社會對完全自動駕駛這件事情是沒有準備好的。我們公司往無人駕駛方面發展,會從特殊領域的無人駕駛開始,比如卡車的自動駕駛。特殊領域無人駕駛,是在有環境限制的情況下,行駛環境比較理想,並不需要處理太多的 corner case。


機器之心: 深度學習最先在計算機視覺的相關研究中爆發出來,作為計算機視覺領域的專家,您認為其中的原因有哪些?


吳建鑫對於研究計算機視覺的人來說,大家都希望研究的演算法能夠實用,所以深度學習爆發出來的最大原因就是深度學習的效果非常好,第一次在 ImageNet 競賽(ILSVRC2012)中的結果遠遠超出研究了幾十年的傳統計算機視覺演算法,這也是為什麼大家都願意接受深度學習,都願意去研究深度學習的原因。


深度學習為什麼能夠有學術界、工業界甚至社會效應,我認為有三個重要的因素,第一個是大規模資料集 ImageNet 的出現。DARPA 在 2010 年首次資助深度學習專案的研究,深度學習的重要人物 Hinton,Bengio 都參與其中,研究了很多演算法,但是他們的研究是基於 MNIST 資料集的。MNIST 資料集在不需要 GPU 的情況下可以在幾分鐘之內訓練完,只有 6 萬張影像。有這樣的一個工作,只用 100 張有標籤的訓練影像(其他 59900 張影像沒有標記),在 MNIST 分類上能夠做到 99.7% 的準確率。這個資料集的分類太容易了,對於研究計算機視覺的人來說,可能不願意去接受它。但是在 ImageNet 上有非常好的分類效果,當時 ImageNet 是最大的資料集,深度學習能夠去學習一個在一定程度上接近真實資料的模型,並且還能得到最好的分類效果,這讓所有人都開始接受深度學習。


第二個原因是硬體資源的匹配——GPU 加速計算。Yann LeCun 在接受 CVPR 授予的 significant researcher 時提到「他多倫多的朋友特別善於實現」,其實指的是 GPU 加速深度學習的訓練過程,在有 GPU 的情況下,他們當時需要的訓練時間是 1 個星期,沒有 GPU 的情況下可能是 10 個星期。10 個星期的情況下,完全沒有辦法去做進一步的除錯,你只能指望系統一次性把所有引數都設定對,但這是不可能的,所以用 GPU 處理大規模資料為深度學習的實現提供保證。


第三個原因是技術上的提升,在技術維度上是很重要的進展,但從實際角度來看或許並不是最重要的。可以舉出很多進步出現的節點,看上去非常簡單的想法卻能起到非常好的效果,修正線性單元 ReLU,把 sigmoid 函式換成 ReLU 函式,系統的訓練難度馬上下降了 90%,之後深度學習模型裡引入 Dropout,BN(Batch Normalization),再之後是何凱明、孫劍等人的 ResNet,這些都是技術上的重大進步。


這三個原因中,我個人的排序是資料上的進步是最重要的,計算資源的大幅提升以及技術的進步,這兩者的重要程度是並列的。以 ImageNet 的分類為例,從 AlexNet 之後到 ResNet,它的進步很大,但並不是突破性的。


機器之心:大資料是深度學習爆發的原因之一,現在也有很多研究人員在研究小資料的深度學習,這個方面的研究情況是怎樣的?


吳建鑫我覺得應該分兩個角度來討論小資料的深度學習,一個是研究的角度,另一個是業界的角度。在研究上,無監督學習,Yann LeCun 特別的推崇,覺得這是深度學習目前必須要解決的問題,但是這個問題,目前來看,要解決它是很困難的,而且我覺得從非純理論的角度來說,半監督的學習可能更重要一些,也更容易成功。所以在深度學習的研究上,如果有標記的資料不是很充足,我在研究如何通過半監督學習來實現比較好的效果。從理論和實用並重的角度來說,半監督的學習在我看來是最可行的方向。


從業界的角度來看,特別是對於安全性特別重要的應用,比如說自動駕駛,我覺得應該是需要投入足夠多的資源去形成足夠多的有標記的資料。半監督以及無監督學習的理論現在還沒有特別大的成功,在這個還沒有成功之前,我們還是需要投入很多代價去構建有監督的資料。資料資源其實並不是那麼少,少的是有標記的資料資源,比如說,我開一輛車,放置一個攝像頭,我可以得到無數的資料,一秒鐘 30 幀,一個小時是 3600 秒,一輛車一天開 5 個小時,那就能有很多幀了,這麼多幀裡,去人工標記每一幀裡面所有的行人、車輛、車道,標記一幀可能需要 30 分鐘,而且還要保證準確,所以真正缺乏的不是資料而是有標記的資料。


對影像表徵學習、資源受限的影像分析以及細粒度影像分析感興趣的讀者可以參閱以下論文:


1.Representing Sets of Instances for Visual Recognition,Jianxin Wu, Bin-Bin Gao, Guoqing Liu. In: Proc. the 30th AAAI Conference on Artificial Intelligence (AAAI 2016), Phoenix, Arizona, USA, Feb 2016, pp. 2237-2243.

2.Image Categorization with Resource Constraints: Introduction, Challenges and Advances, Jian-Hao Luo, Wang Zhou, Jianxin Wu. Frontiers of Computer Science, 11(1), 2017: pp. 13-26.

3.Selective Convolutional Descriptor Aggregation for Fine-Grained Image Retrieval, Xiu-Shen Wei, Jian-Hao Luo, Jianxin Wu, Zhi-Hua Zhou. (http://lamda.nju.edu.cn/weixs/project/SCDA/SCDA.html)

相關文章