之前看到過(guò)一個(gè)非常有趣的新聞,那就是貼有董明珠海報(bào)的公交車經(jīng)過(guò)十字路口時(shí),被“行人闖紅燈曝光臺(tái)”識(shí)別到,并誤以為董明珠闖紅燈了??此埔粋€(gè)茶余飯后閑聊的話題,對(duì)于自動(dòng)駕駛行業(yè)來(lái)說(shuō),其實(shí)是一個(gè)值得深思的問(wèn)題。隨著自動(dòng)駕駛技術(shù)下沉到消費(fèi)市場(chǎng),基于純視覺(jué)的自動(dòng)駕駛系統(tǒng)就是依托于車載攝像頭來(lái)識(shí)別路況,如果遇到了類似海報(bào)上的人,尤其是遇到了與真人大小類似的人物海報(bào),自動(dòng)駕駛系統(tǒng)將如何理解?
其實(shí)在純視覺(jué)的自動(dòng)駕駛系統(tǒng)中,攝像頭就像汽車的“眼睛”,負(fù)責(zé)不停地拍下周圍的風(fēng)景,然后把這些畫(huà)面交給車上的“大腦”——也就是各種算法和模型(決策系統(tǒng)),來(lái)判斷前方有沒(méi)有行人、車輛或障礙物。當(dāng)汽車只靠攝像頭“看世界”時(shí),無(wú)論是真人、雕像,還是貼在墻上的海報(bào)、廣告牌,都可以被它同樣地“看到”,但這一切都只是二維的像素點(diǎn)。如果車上的“腦子”誤把一張畫(huà)得惟妙惟肖的海報(bào)人物當(dāng)成了真實(shí)行人,它是否會(huì)不由自主地踩下剎車,甚至緊急停車?
要讓純視覺(jué)系統(tǒng)分清畫(huà)報(bào)上的“假人”和馬路上真正走動(dòng)的行人,其實(shí)要從硬件和軟件兩條路同時(shí)發(fā)力?,F(xiàn)階段為了確保自動(dòng)駕駛的安全性,很多車企都會(huì)選擇在攝像頭旁邊再裝一臺(tái)雷達(dá)或激光雷達(dá)(基于激光雷達(dá)的自動(dòng)駕駛方案)。雷達(dá)發(fā)射電磁波,激光雷達(dá)發(fā)射激光脈沖,不同于攝像頭只“看到”表面紋理,這些傳感器能直接給出物體到車身的距離。海報(bào)只是貼在墻上的一層薄薄的紙,它在雷達(dá)或激光雷達(dá)里幾乎沒(méi)有回波,汽車就能立刻判斷:“哦,這不是立體的人,是個(gè)平面的東西?!钡艹杀竞涂臻g限制,量產(chǎn)車型并不總能一開(kāi)始就配齊這些高精度傳感器。
在只依賴攝像頭的情況下,軟件層面的改進(jìn)更顯關(guān)鍵。最先要做的,就是讓攝像頭拍到的畫(huà)面經(jīng)過(guò)更聰明的“人形檢測(cè)”算法。目標(biāo)檢測(cè)模型通常會(huì)先在圖像上劃出許多小方框,然后再判斷每個(gè)方框里是不是人。早期的做法像給照片打了“九宮格”,一點(diǎn)一點(diǎn)地掃;現(xiàn)在用深度學(xué)習(xí)的大腦,能一次性在不同大小的區(qū)域上同時(shí)判斷,大幅提高了速度和準(zhǔn)確率。但是這些大腦都是在大量真實(shí)行人的照片或視頻上訓(xùn)練出來(lái)的,對(duì)海報(bào)、畫(huà)報(bào)這樣專門制作的人像平面并不陌生,因?yàn)樗鼈兺L(zhǎng)得和真人太像了,于是就容易“見(jiàn)人就當(dāng)真人”。
為了解決這個(gè)問(wèn)題,就會(huì)讓模型在訓(xùn)練時(shí)多“看”一些海報(bào)、廣告、櫥窗人像的畫(huà)面,把它們當(dāng)作“負(fù)樣本”喂給大腦,告訴它們“雖然這個(gè)區(qū)域里有一個(gè)人形,但它總是貼在同一個(gè)地方,不會(huì)移動(dòng),也不會(huì)有立體的深度變化”。這樣,模型在識(shí)別“行人”時(shí),就能多留一個(gè)心眼,如果它在連續(xù)的畫(huà)面里每一幀都在同一個(gè)位置出現(xiàn),而且旁邊沒(méi)有地面陰影、腳步移動(dòng)產(chǎn)生的微小抖動(dòng),就可能是個(gè)海報(bào),而不是一個(gè)真正走路的人。
除了讓模型學(xué)得更聰明,純視覺(jué)系統(tǒng)還會(huì)利用“深度估計(jì)”技術(shù)來(lái)給每個(gè)像素預(yù)測(cè)一個(gè)距離值。想象一下,如果你只用單只眼睛看東西,也能憑借物體大小、透視關(guān)系估計(jì)遠(yuǎn)近。深度估計(jì)網(wǎng)絡(luò)就是這么一回事,它會(huì)結(jié)合數(shù)萬(wàn)張配有真實(shí)距離標(biāo)注的照片,學(xué)會(huì)從平面圖像里猜距離。問(wèn)題是,海報(bào)和背景是一體的平面,網(wǎng)絡(luò)有時(shí)候也會(huì)誤以為海報(bào)里的“人”是在幾米外的真實(shí)行人。為此,工程師們會(huì)在車上裝兩臺(tái)攝像頭或雙目攝像頭,前后或左右分開(kāi)約幾十厘米,模仿我們?nèi)搜鄣墓ぷ髟?,通過(guò)左右圖像的微小差別(視差),直接算出距離。對(duì)于真正立體的行人,視差足夠明顯;對(duì)于緊貼墻面的廣告,其視差幾乎為零,這時(shí)系統(tǒng)就能判定它是個(gè)平面。
更進(jìn)一步的時(shí),系統(tǒng)會(huì)追蹤每個(gè)“人”在多幀畫(huà)面中的運(yùn)動(dòng)軌跡。真的行人會(huì)自己動(dòng),每一步都帶來(lái)位置和形狀的微妙變化;而海報(bào)里的“人”只會(huì)隨著車子的移動(dòng)在畫(huà)面里平移、縮放,卻不會(huì)產(chǎn)生獨(dú)立運(yùn)動(dòng)?,F(xiàn)在主要采用一種叫“多目標(biāo)跟蹤”(MultiObject Tracking)的技術(shù),把每個(gè)檢測(cè)到的人都打上標(biāo)簽,然后觀察它在時(shí)間軸上是如何變化。如果某個(gè)標(biāo)簽在反復(fù)觀察中,從來(lái)沒(méi)有過(guò)正常的人行運(yùn)動(dòng),那么它的“行人”置信度就會(huì)被一幀一幀地降低,最終被系統(tǒng)忽略。
為了讓純視覺(jué)系統(tǒng)更早地識(shí)別出海報(bào),很多車企還會(huì)選擇在車輛首次經(jīng)過(guò)某條路段時(shí),自動(dòng)繪制一張“靜態(tài)地圖”(高精度地圖),記錄下兩旁那些看起來(lái)像人卻不怎么動(dòng)的畫(huà)面位置。這樣,車輛再次行駛同一路線時(shí),就不用每次都去重新判斷,而是把這些已知的靜止“假人”從一開(kāi)始就屏蔽掉,節(jié)省計(jì)算資源,也避免了重復(fù)誤判。
盡管這些算法在實(shí)驗(yàn)室和小范圍測(cè)試中已經(jīng)取得了不錯(cuò)效果,但陽(yáng)光直射、雨雪天氣、夜晚路燈閃爍等復(fù)雜情況,仍然會(huì)讓純視覺(jué)系統(tǒng)偶爾“犯迷糊”。為此還會(huì)在虛擬仿真平臺(tái)(比如CARLA、LG SVL)里,模擬各種極端光照和天氣條件,讓系統(tǒng)先在虛擬世界里“吃透”可能遇到的畫(huà)面,再到真實(shí)道路上進(jìn)行測(cè)試和驗(yàn)證。
隨著“視覺(jué)大模型”(類似自然語(yǔ)言領(lǐng)域的GPT大模型)逐漸走向成熟,純視覺(jué)方案將擁有更強(qiáng)的“常識(shí)推理”能力。它們不僅能看出圖像里有人,還能結(jié)合場(chǎng)景理解。海報(bào)一般固定在墻面、廣告牌上不會(huì)突然移動(dòng),也不會(huì)投下隨行人的腳部陰影。這樣一來(lái),汽車的大腦就像多了常識(shí)一樣,能夠更好地區(qū)分“畫(huà)報(bào)上的人”和真正的行人。
要讓純視覺(jué)自動(dòng)駕駛系統(tǒng)既能敏銳地發(fā)現(xiàn)真實(shí)行人,又不會(huì)被路邊的海報(bào)嚇得亂剎車,其實(shí)需要軟硬件多方面的配合。加裝雷達(dá)或雙目攝像頭、利用深度估計(jì)、時(shí)空跟蹤、靜態(tài)語(yǔ)義地圖和負(fù)樣本訓(xùn)練,都是在讓汽車“更聰明”地看世界。未來(lái),當(dāng)城市的路燈、路側(cè)基站也都能把靜態(tài)障礙信息實(shí)時(shí)廣播給車輛時(shí),純視覺(jué)自動(dòng)駕駛就能像人一樣,用“眼睛+大腦”配合得更默契,真正做到在復(fù)雜的城市環(huán)境中,自信而平穩(wěn)地前行,再也不用擔(dān)心那些“畫(huà)報(bào)上的人”會(huì)誤導(dǎo)它。