特斯拉4大車(chē)禍復盤(pán),圖像語(yǔ)義分割或成自動(dòng)駕駛突破口
今年對于特斯拉公司來(lái)說(shuō),無(wú)疑是個(gè)多事之秋。接二連三事故的發(fā)生,讓人們對輔助駕駛乃至無(wú)人駕駛技術(shù)產(chǎn)生了質(zhì)疑。
【編者按】:本文轉載自新智元,作者:視覺(jué)守望者,編輯:小猴機器人
特斯拉屢次車(chē)禍盤(pán)點(diǎn)
事故1:2016年1月,在中國京港澳高速上,特斯拉轎車(chē)直接撞上前方正在作業(yè)的道路清掃車(chē);該清掃車(chē)停在最左側邊線(xiàn)上。
事故2:2016年5月,在美國佛羅里達州北部一個(gè)沒(méi)裝紅綠燈的十字路口,特斯拉和一輛白色集裝箱貨車(chē)相撞,該貨車(chē)正在從對向車(chē)道進(jìn)行拐彎操作。
事故3:2016年8月,在德克薩斯州的高速公路上,特斯拉因為未能識別彎道而徑自沖出去,從而撞上高速的護欄。
事故4:2016年8月,北京的羅先生剛給新買(mǎi)的特斯拉上完牌照,依然因為未能識別左側路邊臨時(shí)??康男∑?chē)而發(fā)生剮蹭。
究其原因
很多文章都對特斯拉傳感器的結構布局進(jìn)行過(guò)分析,大抵就是前方側身和后方側身的超聲波傳感器+前方中央的毫米波雷達+后視鏡下方的前視攝像頭。
·前方側身和后方側身的超聲波傳感器用于檢測近距離的障礙物,幫助自動(dòng)泊車(chē)等。
·前視攝像頭可以完成路面車(chē)道線(xiàn)的檢測和障礙物的檢測。
·毫米波雷達用于較遠距離障礙物的檢測。
因此碰撞檢測主要依賴(lài)于毫米波雷達和前視攝像頭的協(xié)同運作。而前言中事故發(fā)生的原因,正是因為這兩個(gè)模塊同時(shí)失效引起??偟膩?lái)說(shuō),可能的原因主要有:
(這里,曝光過(guò)強并不被認為是前視攝像頭失效的原因,這是因為現在的攝像頭基本上都有自動(dòng)白平衡的功能,可能在某個(gè)瞬間會(huì )出現全白的圖像,但相機很快能夠調整回來(lái)。)
解決方案
可以看出,特斯拉事故的發(fā)生是因為它并沒(méi)有從人類(lèi)認知的角度來(lái)處理問(wèn)題,而更像是一個(gè)專(zhuān)家系統。特斯拉的Adas系統可以認為屬于L2+級別的自動(dòng)駕駛,即由多個(gè)模塊捏合而成,包括車(chē)道線(xiàn)的檢測識別(車(chē)道偏離預警LDW),車(chē)輛的檢測識別(前向碰撞預警FCW),以及某些地面交通標志的檢測識別(路徑規劃和導航)等;上述模塊各司其職,互不干涉。下圖中不同顏色的標記表示了不同模塊的處理結果。
但這種設計理念和人類(lèi)的認知是截然不同的。從人類(lèi)角度而言,通常會(huì )對整個(gè)圖像進(jìn)行理解,也就是利用上下文信息(context)對整個(gè)場(chǎng)景進(jìn)行建模,構成了一個(gè)場(chǎng)景模型后再進(jìn)行相應的處理(碰撞預警、自動(dòng)巡航等)。下圖可以認為是一個(gè)常見(jiàn)的場(chǎng)景模型:
·圖像上半部分是天空,下半部分是路面,兩側是建筑物;
·中間是可行駛區域以及車(chē)道,兩側是行人區域;
·路面和路旁有若干車(chē)輛和行人;
·路旁有交通標志。
在場(chǎng)景模型中,可以綜合考慮各個(gè)元素之間的區別和聯(lián)系,并結合多個(gè)傳感器和模塊的信息,便于各種后續處理。
縱觀(guān)特斯拉的多次碰撞事故,如果能夠建立合適的場(chǎng)景模型,就有可能避免車(chē)輛漏檢問(wèn)題的發(fā)生。首先,除了利用傳統的紋理特征外,還可以根據車(chē)輛在圖像中的布局、車(chē)輛的形狀以及和其他元素的位置關(guān)系進(jìn)行判定,從而避免從未見(jiàn)過(guò)的車(chē)型被漏檢。其次,像素級的定位精度能夠得到車(chē)輛的精確輪廓,這樣可以完成準確的旁側距離計算;同時(shí),檢測出來(lái)的護欄、車(chē)道線(xiàn)和路面等元素可以輔助車(chē)輛精確位置的判斷。最后,有了對于整個(gè)場(chǎng)景的感知,多種傳感器和模塊可以統一到一個(gè)框架下,很容易完成數據的整合工作和交叉驗證。
為了理解圖像,從而建立場(chǎng)景模型,一種可行的解決方案是對圖像進(jìn)行語(yǔ)義分割。顧名思義,就是將整個(gè)場(chǎng)景以像素精度進(jìn)行語(yǔ)義層面的劃分,例如這個(gè)像素屬于車(chē)輛,另外一個(gè)像素屬于護欄等。從像素折算到物理距離,計算機就可以完成場(chǎng)景的完整建模。
語(yǔ)義分割
那么如何對圖像進(jìn)行語(yǔ)義分割呢?最初的語(yǔ)義分割可以認為是圖像分割,就是通過(guò)人們設計的一些規則來(lái)分離出目標,例如二值化、區域生長(cháng)、graph-cut等方法。這類(lèi)方法依據的是目標顏色和背景的差異,或者目標強烈的邊緣響應等。但這些都屬于人類(lèi)的理解,因此通常不具備普適性,直到2015年全卷積網(wǎng)絡(luò )分割(fully convolutional network,FCN)方法的提出。該方法可以被認為是卷積神經(jīng)網(wǎng)絡(luò )用于語(yǔ)義分割的鼻祖(該論文獲得CVPR2015最佳論文候選獎,相當于XX電影節的最佳提名獎)。
但FCN一個(gè)主要的問(wèn)題就是需要通過(guò)池化層對圖像進(jìn)行降維,那么語(yǔ)義分割的結果通常比較稀疏(FCN直接得到的語(yǔ)義分割結果是原始圖像尺寸的1/32,改進(jìn)后的也只能達到1/8)。這對場(chǎng)景建模無(wú)疑是致命的,大量的小目標(錐筒、地面交通標志等)和狹長(cháng)目標(車(chē)道線(xiàn)、燈桿等)的丟失會(huì )直接造成事故的發(fā)生。后續的改進(jìn)方法都是基于FCN展開(kāi),其中SegNet和UberNet是兩項對自動(dòng)駕駛的場(chǎng)景建模具有指導意義的技術(shù)。
SegNet技術(shù)2015年11月由英國劍橋大學(xué)提出,能夠很好的解決FCN遇到的問(wèn)題。從下圖可以看出,通過(guò)逐層上采樣和卷積,SegNet可以得到和原始圖像同樣大小的語(yǔ)義分割結果,從而保證小目標和狹長(cháng)目標不會(huì )漏檢。
從下圖的結果可以看出,燈桿、車(chē)道線(xiàn)以及遠處的車(chē)輛等要素都得到了很好的分割。它一共支持12種目標的語(yǔ)義分割,包括天空、建筑、燈桿、地面標志、路面、人行區、樹(shù)木、標示牌、護欄、交通工具、行人和自行車(chē),這囊括了大多數自動(dòng)駕駛場(chǎng)景的元素。
UberNet技術(shù)則將語(yǔ)義分割和其他檢測識別任務(wù)整合到同樣一個(gè)框架下。這樣不僅可以保證計算資源的復用,還利用了任務(wù)之間的約束關(guān)系幫助優(yōu)化過(guò)程。在下圖的結構圖中,C1-C6的特征提取結果是復用的。
下圖給出了UberNet七個(gè)任務(wù)同時(shí)輸出的結果。它給自動(dòng)駕駛的場(chǎng)景建模提出了一個(gè)很好的建議,就是可以設計這樣一種end-to-end的架構,同時(shí)完成語(yǔ)義分割、障礙物檢測、車(chē)道線(xiàn)檢測、路徑規劃等多個(gè)任務(wù)。
SegNet和UberNet的提出,使得場(chǎng)景建模成為現實(shí)。高精度的語(yǔ)義分割結果+多任務(wù)的同步優(yōu)化,可以以人類(lèi)的認知方式理解整個(gè)世界,一定程度上可以減少或者避免特斯拉碰撞事故的發(fā)生。由于數據的原因,這里以發(fā)生在中國的事故1和事故4為例:
對于事故1,在場(chǎng)景模型中,可以很好的分辨出前方左側??康那鍜哕?chē);另外,對于天空、路面、外側車(chē)道線(xiàn)以及護欄的檢測識別,能夠進(jìn)一步對障礙物進(jìn)行校驗。
對于事故4,在場(chǎng)景模型中,左側??康钠?chē)并不會(huì )發(fā)生漏檢;在此基礎上,利用場(chǎng)景中其他元素進(jìn)行校驗,自動(dòng)駕駛應該能夠成功完成剎車(chē)操作。
展望
隨著(zhù)語(yǔ)義分割技術(shù)的發(fā)展,計算機可以像人類(lèi)一樣對場(chǎng)景有更清晰和完整的建模與認知。在這種情況下,對于車(chē)輛等障礙物的檢測識別就不需要依賴(lài)于某些特定傳感器一些規則式的判定了,從而可以避免特斯拉這種事故的發(fā)生。但基于深度學(xué)習的語(yǔ)義分割技術(shù)遇到的問(wèn)題是高功耗和高計算開(kāi)銷(xiāo),但這些問(wèn)題能夠隨著(zhù)硬件成本的降低、性能的升級和算法的優(yōu)化予以解決??梢灶A見(jiàn),語(yǔ)義分割會(huì )成為輔助駕駛乃至無(wú)人駕駛一個(gè)重要的組成部分。
最后,記得關(guān)注微信公眾號:鎂客網(wǎng)(im2maker),更多干貨在等你!
硬科技產(chǎn)業(yè)媒體
關(guān)注技術(shù)驅動(dòng)創(chuàng )新
