李智 覃小藝 閔歡 張劍鋒 王玉龍
摘 要:為滿足無人駕駛技術(shù)中路口啟停的需求,本文提出了融合地圖信息的交通燈路口車輛啟停策略。首先,本文對深度學(xué)習(xí)模型YOLOv3進(jìn)行了壓縮、裁剪和優(yōu)化,用于快速識(shí)別交通燈顏色狀態(tài)和箭頭信息。其次獲取地圖給出的當(dāng)前路口信息,包含前方路口是否可以調(diào)頭、左轉(zhuǎn)、直行、右轉(zhuǎn)以及交通信號(hào)燈的數(shù)量和每個(gè)信號(hào)燈對應(yīng)的功能。然后將交通燈檢測結(jié)果與當(dāng)前路口信息進(jìn)行匹配,并將檢測結(jié)果發(fā)送到控制系統(tǒng),最終控制系統(tǒng)根據(jù)導(dǎo)航信息判斷是否啟停。本文提出的策略保證了交通燈檢測準(zhǔn)確率,自動(dòng)駕駛啟停策略不限于固定單一場景,通用性強(qiáng)。
關(guān)鍵詞:交通燈檢測;深度學(xué)習(xí);地圖信息;啟停策略
中圖分類號(hào):U463.3 ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A ? ? ?文章編號(hào):1005-2550(2022)01-0066-06
Start-Stop Strategy For Autonomous Driving Vehicle At Traffic Lights Intersection Based On Map Information
LI Zhi1, QIN Xiao-yi1, MIN Huan1, ZHANG Jian-feng1, WANG Yu-long1,2
(1. Auto Engineering Research Institute, Guangzhou Automobile Group, Guangzhou 510641, China;2. State Key Laboratory of Advanced Design and Manufacturing for Vehicle Body, Changsha 410082, China)
Abstract: This paper proposes a start-stop strategy for autonomous driving vehicle at traffic lights intersection based on map information to meet the requirement of autonomous driving technology. Firstly, the deep learning model of YOLOv3 is compressed and optimized to quickly identify the color status and arrow information of the traffic lights. Secondly, the current intersection information given by the map is obtained, including whether the intersection ahead can make a U-turn, left turn, straight going and right turn, as well as the number of traffic lights and the corresponding direction of each light. Thirdly the traffic lights detection results are matched with the current intersection information, and the matching results are sent to the control system. Finally, the control system determines whether to start or stop according to the navigation information. The strategy proposed in this paper ensures the accuracy of traffic lights detection, and is not limited to the fixed scene.
Key Words: traffic Lights Detection;Deep Learning;Map Information;Start-Stop Strategy
1 ? ?引言
交通燈路口自動(dòng)啟停是L4自動(dòng)駕駛過程中常見的場景,最理想的方案是利用車用無線通信技術(shù)(vehicle to everything, V2X)接收交通燈發(fā)出的準(zhǔn)確信息,以此來判斷前方路口是停車等待還是正常通行。但V2X技術(shù)依賴于城市基礎(chǔ)建設(shè),距離全社會(huì)普及還需較長的時(shí)間。因此,目前的技術(shù)方案是利用目標(biāo)檢測算法檢測前方交通信號(hào)燈的狀態(tài),再通過路口啟停算法來決策是否啟停。
駕駛員駕駛時(shí),會(huì)通過交通燈信號(hào)狀態(tài)以及當(dāng)前路口的情況判斷是否啟停,自動(dòng)駕駛技術(shù)的本質(zhì)即模仿駕駛員的行為規(guī)則,因此交通信號(hào)燈能否被準(zhǔn)確識(shí)別就顯得尤為重要。傳統(tǒng)的紅綠燈識(shí)別方法通常是將圖片經(jīng)過灰度化、圖像銳化、濾波降噪等預(yù)處理過程,然后使用直方圖閾值分割法分割紅綠燈,最后基于色調(diào)、飽和度、亮度顏色模型(Hue, Saturation, Value, HSV)識(shí)別出紅綠燈的顏色狀態(tài)[1]。然而傳統(tǒng)方法存在準(zhǔn)確率和效率較低的問題,無法應(yīng)用于自動(dòng)駕駛場景,因此本文采用深度學(xué)習(xí)的方法對交通燈進(jìn)行檢測和識(shí)別。2012年Krizhevsky等人提出的深度學(xué)習(xí)模型AlexNet在ImageNet舉辦的ILSVRC目標(biāo)識(shí)別挑戰(zhàn)大賽中一戰(zhàn)成名,準(zhǔn)確率領(lǐng)先第二名11%,相比傳統(tǒng)算法取得了飛躍性的提升[2]。自此,深度卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNN)開始在多個(gè)領(lǐng)域應(yīng)用,更多的CNN網(wǎng)絡(luò)模型被提出,并取得里程碑式的進(jìn)展。交通燈檢測屬于目標(biāo)檢測領(lǐng)域的內(nèi)容,即檢測物體在圖像中的位置,并識(shí)別物體的類別。目前主流的目標(biāo)檢測網(wǎng)絡(luò)可大致分為雙階段(two-stage)和單階段(one-stage)兩類,其中two-stage的代表作是Ross Girshick等人提出的利用候選區(qū)域與CNN結(jié)合做目標(biāo)定位的RCNN(Region-based Convolutional Network, RCNN)系列模型[3],此類模型準(zhǔn)確性較高,但效率較低。One-stage的模型包括Wei Liu提出的SSD(Single Shot MultiBox Detector)系列[4]以及Joseph Redmon等人提出的YOLO(You Only Look Once)系列[5,6,7]。這兩個(gè)系列的模型都是端到端模型,不需要對圖像做任何前處理,且運(yùn)行效率較高,因此目前工業(yè)界多采用YOLO系列或SSD系列模型。YOLO系列模型目前已更新五個(gè)版本,從v1~v5,每個(gè)版本都是前一個(gè)版本的改進(jìn)版,其中YOLOv3[7]是工業(yè)界使用最廣泛的版本。
得到有效交通燈位置及其狀態(tài)后,傳統(tǒng)無人駕駛汽車啟停策略針對的場景比較固定、簡單,一旦遇到與預(yù)設(shè)不符的場景,策略就會(huì)出錯(cuò)。由于交通燈具有多樣性,且不一定具備方向信息(箭頭),而地圖中的路口信息非常豐富,包含前方路口距離和功能(是否可以調(diào)頭、左轉(zhuǎn)、直行、右轉(zhuǎn))以及交通信號(hào)燈的數(shù)量和每個(gè)信號(hào)燈對應(yīng)的功能。因此,為了提高算法的通用性和實(shí)用性,本文提出融合地圖信息的交通燈路口車輛自動(dòng)啟停策略。首先,本文將在YOLOv3模型的基礎(chǔ)上進(jìn)行壓縮、裁剪和優(yōu)化,以便快速地對當(dāng)前路口的交通燈進(jìn)行檢測,相較傳統(tǒng)算法,可大幅提升檢測準(zhǔn)確率[8],其次提取地圖給出的當(dāng)前路口信息,如交通燈個(gè)數(shù),各個(gè)交通燈負(fù)責(zé)的行駛方向(左轉(zhuǎn)、右轉(zhuǎn)、直行和調(diào)頭)等,再將交通燈檢測結(jié)果與路口信息匹配,得到每種行駛方向的啟停信號(hào),最終根據(jù)導(dǎo)航信息判斷是否啟停。本文提出的策略既可以保證交通燈的檢測準(zhǔn)確率,又因?yàn)槿诤狭舜罅康貓D信息來做決策,因此不拘泥于固定單一場景,通用性強(qiáng),適用于L4及以下等級的城市自動(dòng)駕駛。
2 ? ?路口啟停策略
2.1 ? 交通燈檢測算法
為保證交通燈檢測的準(zhǔn)確率,本文采用YOLOv3作為交通燈檢測模型進(jìn)行訓(xùn)練,輸入為當(dāng)前攝像頭采集到的圖像,輸出的內(nèi)容包括交通燈顏色狀態(tài)和箭頭信息。由于YOLOv3模型參數(shù)較多,部署到自動(dòng)駕駛汽車上運(yùn)行效率太低,而交通燈檢測任務(wù)中的檢測目標(biāo)較為單一,可以對模型進(jìn)行輕量化,且可針對數(shù)據(jù)集對模型的超參數(shù)進(jìn)行優(yōu)化。
模型剪枝方法也分為直接剪枝、非結(jié)構(gòu)性剪枝和結(jié)構(gòu)性剪枝三種。本文會(huì)先對YOLOv3直接剪枝,即對通道和層數(shù)進(jìn)行刪減,再輸入數(shù)據(jù)集進(jìn)行訓(xùn)練,訓(xùn)練完成后再根據(jù)硬件條件考慮是否將模型進(jìn)行量化,加速運(yùn)算。為避免模型精度下降,直接剪枝的原則有以下三條:
1)保持模型整體主要結(jié)構(gòu)不變;
2)對神經(jīng)網(wǎng)絡(luò)某一層進(jìn)行裁剪時(shí),不影響下一層的輸入特征圖大小;
3)重點(diǎn)考慮刪除算力占用比例大的層或通道。
按照上述原則,原模型有107層,本課題將原模型的32-37、57-62、73-75、80-81、92-93、104-105層剪掉,余86層,其中主干部分通道刪減為原來的1/4。 經(jīng)過上述剪枝,模型參數(shù)量已壓縮到原模型的10%以內(nèi),檢測一張圖的時(shí)間降低為原來的1/3以下,同時(shí)在自有交通燈檢測數(shù)據(jù)集上準(zhǔn)確率僅下降1%。
為增加交通燈檢測算法的穩(wěn)定性和完備性,本課題采取以下兩個(gè)措施:
1)無人駕駛技術(shù)中對交通燈檢測幀率(fps)的要求不高,因此算法每隔100ms讀取一次攝像頭的圖像,對之進(jìn)行檢測。為減低偶爾漏檢誤檢帶來的影響,系統(tǒng)采用卡爾曼濾波跟蹤過去10幀的檢測結(jié)果,從而提高檢測算法的穩(wěn)定性。
2)由于攝像頭的視場角范圍和觀測距離有限,本文采用兩種不同焦距的攝像頭,根據(jù)路口距離進(jìn)行切換,從而保證算法在無人駕駛技術(shù)要求的檢測范圍內(nèi)有效。
2.2 ? 融合地圖信息的交通燈路口車輛自動(dòng)啟停策略
為增加算法的通用性和泛化能力,本算法融合了交通燈檢測結(jié)果、地圖路口信息與導(dǎo)航信息來設(shè)計(jì)車輛自動(dòng)啟停策略。算法架構(gòu)如圖1所示。
首先使用交通燈檢測模型對當(dāng)前路口的交通燈進(jìn)行檢測,根據(jù)過去10幀圖像(1秒鐘內(nèi))的跟蹤結(jié)果得到當(dāng)前交通燈的狀態(tài)。接著,從地圖中提取當(dāng)前路口交通燈個(gè)數(shù)以及每個(gè)交通燈對應(yīng)的行駛方向,將交通燈狀態(tài)與地圖信息相匹配。匹配完成后按照導(dǎo)航信息提取下一時(shí)刻行駛方向的交通燈狀態(tài)即可。
其中交通燈信息匹配的原則為:
1)交通燈檢測結(jié)果中帶方向的狀態(tài)直接匹配;
2)剩余交通燈按照路口信息及其方向的相對位置逐一匹配。(如:左轉(zhuǎn)與右轉(zhuǎn)方向的燈已匹配完成,若兩燈之間還有未匹配的交通燈,則對應(yīng)直行方向。)
在實(shí)際操作中,地圖的部分信息可表示為交通燈的信息列表,按照交通燈從左至右的排序,列表中的信息為每個(gè)交通燈負(fù)責(zé)的行駛方向。整個(gè)啟停策略的流程如圖2中的例子所示:
需要注意的是,若地圖信息中可查詢到除交通燈列表之外的方向信息,說明該方向不受交通燈控制,可直接允許該方向的行駛。除此之外,若在立體交通遇到上下層路口位置相近的情況,則根據(jù)地圖信息給出的路口距離,選擇最近的路口信息作為當(dāng)前路口。
3 ? ?數(shù)據(jù)采集和處理
目前交通燈檢測的開源數(shù)據(jù)集較少,且大部分來源于歐洲,所涉場景與國內(nèi)的場景并不類似,因此本文采集了大量的路口數(shù)據(jù)。同時(shí)由于交通燈目標(biāo)較小,因此選擇視場角分別為30°和60°的攝像頭同時(shí)采集。將攝像頭安裝于前擋風(fēng)玻璃處,結(jié)合兩種攝像頭可保證距離0-100米內(nèi)的交通燈都清晰可見。為了滿足功能安全的要求,采集的場景需包括不同時(shí)間(白天、晚上)、不同天氣以及各種特殊場景等。
采集完成后,需挑選出有有效交通燈的圖片進(jìn)行標(biāo)注,每幀圖片需標(biāo)注標(biāo)注表1中的屬性。
完成數(shù)據(jù)標(biāo)注后,為提高模型的魯棒性,需對數(shù)據(jù)進(jìn)行增廣處理,增廣方式包括圖像翻轉(zhuǎn)、調(diào)整圖像的亮度、隨機(jī)增加噪聲、隨機(jī)裁剪、多圖拼接等。本課題在廣州市采集了一批圖像,經(jīng)篩選、標(biāo)注以及增廣后,整個(gè)數(shù)據(jù)集有16437個(gè)有效樣本,其中隨機(jī)抽取20%的樣本作為測試集,其余樣本為訓(xùn)練集。
4 ? ?交通燈檢測模型的訓(xùn)練與測試
在YOLOv3中,首先會(huì)預(yù)設(shè)9個(gè)參考框的大小作為目標(biāo)框的初始大小,初始值設(shè)置得越接近目標(biāo)框大小,模型收斂越快。本文采用k-means聚類方法對訓(xùn)練集中所有的標(biāo)注框大小進(jìn)行聚類,9個(gè)類別的聚點(diǎn)值即為參考框大小。然后將經(jīng)過增廣后的訓(xùn)練集放入經(jīng)過裁剪后的模型訓(xùn)練。訓(xùn)練使用的硬件是英偉達(dá)的Tesla V100計(jì)算卡,模型更新迭代1萬次約花費(fèi)1小時(shí)。
模型訓(xùn)練完成后,便可進(jìn)行測試。模型的測試指標(biāo)主要是準(zhǔn)確率、檢出率以及運(yùn)行幀率,準(zhǔn)確率為正確預(yù)測的正反樣本數(shù)與總樣本數(shù)的比例,檢出率則為目標(biāo)框被正確檢出的比例,效率則是模型運(yùn)行的幀率。
經(jīng)過10萬次迭代的模型準(zhǔn)確率與檢出率在測試集上均達(dá)到95%以上,且運(yùn)行幀率在Tesla V100上達(dá)到了50fps以上,在車載運(yùn)算平臺(tái)DRIVE PX2上也能達(dá)到20fps以上,完全滿足本文算法所需的10fps的要求。裁剪后的模型相較未裁剪的YOLOv3原模型,效率大大提高,測試結(jié)果如表2和圖3所示。若需要將算法部署在其他算力更弱的硬件上,可考慮將模型進(jìn)行量化(如浮點(diǎn)轉(zhuǎn)定點(diǎn)),運(yùn)行幀率更高。
由于交通燈數(shù)據(jù)集中包含了一天不同時(shí)段、不同天氣的場景,因此該算法不受時(shí)間段以及天氣影響。對于有些地區(qū)特有的情形,比如某地區(qū)的矩形漸變燈,只要在數(shù)據(jù)集中加入此類樣本,本算法便可在這些地區(qū)使用。
5 ? ?路口啟停策略驗(yàn)證
處在路口中,行駛方向最多分為左轉(zhuǎn)、右轉(zhuǎn)、直行和調(diào)頭四種,目前已通過交通燈檢測模型得到當(dāng)前路口交通燈信息,通過地圖得到當(dāng)前路口可行駛的方向,以及幾個(gè)方向分別歸屬于哪個(gè)交通燈信號(hào),通過導(dǎo)航信息得到自車需要關(guān)注的行駛方向。
驗(yàn)證采用電動(dòng)車作為線控平臺(tái),擋風(fēng)玻璃處安裝有兩個(gè)單目攝像頭,視場角(fov)分別為30°和60°,控制器采用英偉達(dá)DrivePx2,為易于開發(fā),控制軟件基于ROS系統(tǒng)開發(fā)。
為了最大程度保障測試安全,在實(shí)車測試之前,需多次進(jìn)行離線驗(yàn)證。先采集測試路段的數(shù)據(jù),包括兩個(gè)攝像頭信息、地圖信息以及導(dǎo)航信息,在離線數(shù)據(jù)流中運(yùn)行融合地圖信息的交通燈路口車輛自動(dòng)啟停算法,觀察算法發(fā)出的啟停指令是否準(zhǔn)確。確保地圖信息完整,且離線測試準(zhǔn)確率達(dá)到98%以上即可將算法部署到實(shí)車環(huán)境中,進(jìn)行實(shí)車測試。實(shí)車測試將分別在晴天、雨天、陰天進(jìn)行,路口形狀有十字、丁字等。本課題已在廣州市番禺區(qū)多個(gè)路段進(jìn)行離線以及實(shí)車驗(yàn)證,部分場景如圖4所示:
在實(shí)車測試過程中,需配合目標(biāo)檢測模塊一起使用,當(dāng)自動(dòng)啟停模塊給出啟動(dòng)信號(hào)時(shí),自動(dòng)駕駛的控制模塊還需要通過判斷前車距離或者行駛路線上是否有障礙物來確定發(fā)送啟動(dòng)信號(hào)后是正常行駛、避障、剎車或跟車。這涉及到自動(dòng)駕駛中的人、車、障礙物檢測模塊,可行駛區(qū)域識(shí)別模塊,以及路徑規(guī)劃中的避障、跟車等功能模塊,本文篇幅有限,不再做詳細(xì)研究。
啟停準(zhǔn)確率僅通過本文路口啟停策略發(fā)出的啟停信號(hào)是否與當(dāng)前交通燈狀態(tài)相符判定。本文在每個(gè)路段進(jìn)行了20次以上的測試,平均路測啟停準(zhǔn)確率達(dá)到95%以上。其中大學(xué)城外環(huán)與生物島路段的啟停準(zhǔn)確率可達(dá)100%。失敗案例主要跟前視攝像頭的視角過窄有關(guān),主要為以下兩種情況:
(1)由于路口過寬,且交通燈位置在路口邊緣,fov30°的攝像頭視角過窄無法覆蓋,而fov60°的攝像頭所能覆蓋的距離過短,因此進(jìn)入路口之前將有一段盲區(qū),導(dǎo)致啟停策略無法及時(shí)發(fā)送準(zhǔn)確的信號(hào)。
(2)由于路口較寬,交通燈位于路口最右側(cè),而自車位于路口最左側(cè)車道,交通燈蓋遮擋了攝像頭視線,無法準(zhǔn)確判斷交通信號(hào),導(dǎo)致啟停信號(hào)有誤。
以上兩種情況可通過更換或者加裝不同視場角的攝像頭來改善。
本文算法目前只在廣州地區(qū)進(jìn)行了試驗(yàn),后續(xù)將陸續(xù)開展其余地區(qū)的實(shí)車試驗(yàn)。
6 ? ?結(jié)論與展望
本文提出了融合地圖信息的交通燈路口車輛自動(dòng)啟停策略,該策略使用了基于深度學(xué)習(xí)的交通燈檢測模型,檢測準(zhǔn)確率達(dá)到95%以上,較傳統(tǒng)方法大大提升,檢測模型經(jīng)過輕量化后,效率也達(dá)到了實(shí)車運(yùn)行的需求,在車載平臺(tái)上的運(yùn)行幀率達(dá)到了20fps以上。其次,該算法融合了交通燈檢測結(jié)果、地圖信息以及導(dǎo)航信息分析得出是否啟停的結(jié)論,適用于大部分普通場景,在廣州市多個(gè)路段測試,啟停準(zhǔn)確率達(dá)到了95%以上。
由于攝像頭的視場角范圍有限,對于一些特殊場景也許無法做出準(zhǔn)確的決策,可以考慮加裝視場角為120°前視單目攝像頭,將視場角范圍擴(kuò)充,提高準(zhǔn)確率,或應(yīng)采用其他方法提前識(shí)別特殊場景,設(shè)置緊急應(yīng)對措施,并提前發(fā)出預(yù)警,請求人工干預(yù)。立體交通中,受GPS技術(shù)的限制,有時(shí)無法準(zhǔn)確定位本車所處路口,可以考慮采用計(jì)算機(jī)視覺的方法對路口進(jìn)行識(shí)別,增加匹配地圖信息的準(zhǔn)確度??偠灾?,融合地圖信息的交通燈路口車輛自動(dòng)啟停策略在V2X尚不成熟之前,可作為一種良好的替代方法。
參考文獻(xiàn):
[1]桂欣悅,李振偉,吳晨晨,李彥玥.基于MATLAB 的紅綠燈識(shí)別系統(tǒng)研究[J].電子設(shè)計(jì)工程,2020,28(16):133-136.
[2]Krizhevsky A,Sutskever I,Hinton G . ImageNet ?Classification with Deep Convolutional Neural Networks [J]. Advances in neural information processing systems,2012,25(2).
[3]Ren S,He K,Girshick R,et al. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence,2017,39(6):1137-1149.
[4]Liu W,Anguelov D ,Erhan D,et al. SSD: Single Shot MultiBox Detector[J]. Springer,Cham,2016.
[5]Redmon J,Divvala S,Girshick R,et al. You Only Look Once: Unified,Real-Time Object Detection[J]. IEEE,2016.
[6]Redmon J,F(xiàn)arhadi A . YOLO9000: Better,F(xiàn)aster,Stronger[C]// IEEE Conference on Computer Vision & Pattern Recognition. IEEE,2017:6517-6525.
[7]Redmon J,F(xiàn)arhadi A . YOLOv3: An Incremental Improvement[J]. arXiv e-prints,2018.
[8]孫迎春,潘樹國,趙濤,高旺,魏建勝?;趦?yōu)化YOLOv3算法的交通燈檢測[J].光學(xué)學(xué)報(bào),2020,40(12):143-151.
專家推薦語
李 ? 凱
東風(fēng)悅享科技有限公司
智能汽車 ?人工智能 ? 研究員級高級工程師
該論文從智能交通角度提出自動(dòng)駕駛的路口啟停功能的解決思路,體現(xiàn)了一定的專業(yè)功底,具有技術(shù)路徑探索的參考價(jià)值。