毛濤
(安徽理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,安徽淮南 232000)
交通信號(hào)燈在人們的日常生活中扮演著至關(guān)重要的角色。交通信號(hào)燈的檢測(cè)往往受到各種因素的影響,比如天氣環(huán)境因素,采集的圖片存在大量噪聲以及圖片中包含的像素比較少等,都是直接或間接導(dǎo)致交通信號(hào)燈檢測(cè)難的原因。隨著自動(dòng)駕駛以及輔助駕駛技術(shù)的出現(xiàn),對(duì)交通信號(hào)燈的檢測(cè)變得愈發(fā)重要。
早期對(duì)交通信號(hào)燈的檢測(cè),主要是通過(guò)傳統(tǒng)的圖像處理算法。Yelal M R[1]提出了一種基于顏色的實(shí)時(shí)交通信號(hào)燈追蹤監(jiān)測(cè)算法,提高了事故調(diào)查的效率,同時(shí)減少了因?yàn)樽詣?dòng)駕駛技術(shù)造成的經(jīng)濟(jì)損失。另外一種檢測(cè)算法則需要大量的GPS數(shù)據(jù),通過(guò)在地圖上標(biāo)記出交通信號(hào)燈的準(zhǔn)確位置來(lái)繪制地圖,以此來(lái)得到交通信號(hào)燈的先驗(yàn)信息。
近些年神經(jīng)網(wǎng)絡(luò)的興起,帶動(dòng)著計(jì)算機(jī)視覺(jué)發(fā)展,一些SOTA的目標(biāo)檢測(cè)算法不斷的被世界各地的學(xué)者提出。目標(biāo)檢測(cè)算法根據(jù)是否提前計(jì)算候選區(qū)域被分為兩類(lèi):單階段算法和雙階段算法。單階段目標(biāo)檢測(cè)算法是在RCNN[2]的基礎(chǔ)上,經(jīng)過(guò)數(shù)年的發(fā)展逐漸走向成熟的一類(lèi)算法,現(xiàn)階段用的最多并且精度高的算法是Faster-RCNN[3],它的提出使RCNN系列算法提升到了一個(gè)新的高度,大量的基于Faster-RCNN的改進(jìn)不斷的出現(xiàn)。相比于雙階段算法的精確,單階段的目標(biāo)檢測(cè)算法帶來(lái)的則是速度的提升。以YOLO[4]和SSD[5]為代表的單階段目標(biāo)檢測(cè)算法,逐漸成為計(jì)算機(jī)視覺(jué)的研究熱點(diǎn)。速度快的特點(diǎn),導(dǎo)致單階段的算法可以近乎實(shí)時(shí)的完成一些目標(biāo)檢測(cè)的任務(wù)。
本算法使用YOLO的最新版本YOLOv5作為基礎(chǔ)算法,為了對(duì)交通信號(hào)燈有比較好的檢測(cè)結(jié)果。在保證速度的情況下,我們?cè)赮OLOv5的網(wǎng)絡(luò)中添加了注意力模型,使得YOLOv5的網(wǎng)絡(luò)能夠在訓(xùn)練以及測(cè)試階段,提取出有用的交通信號(hào)燈特征,通過(guò)網(wǎng)絡(luò)的不斷學(xué)習(xí),對(duì)交通信號(hào)燈的檢測(cè)變得更加準(zhǔn)確。
單階段的YOLOv5目標(biāo)檢測(cè)算法是YOLO系列算法的最新成果。它保留了先前算法檢測(cè)速度快的優(yōu)點(diǎn),使得網(wǎng)絡(luò)的搭建更加的簡(jiǎn)單。如圖1所示,YOLOv5包含兩個(gè)大的部分,分別為主干網(wǎng)絡(luò)、檢測(cè)頭。其中,主干網(wǎng)絡(luò)用來(lái)提取輸入圖片的特征圖,然后將特征圖送入檢測(cè)頭進(jìn)行預(yù)測(cè)框的回歸和分類(lèi),最后計(jì)算損失,通過(guò)梯度反向傳播算法將損失反向傳播,以此更新網(wǎng)絡(luò)中的權(quán)重。
圖1 YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.1 YOLOV5 network structure
YOLOv5在YOLOv4的基礎(chǔ)上,在主干網(wǎng)絡(luò)剛開(kāi)始添加了FOCUS結(jié)構(gòu),該結(jié)構(gòu)使得圖片在下采樣的過(guò)程中,能夠解決信息丟失的問(wèn)題,并且將W、H的信息集中到通道中,然后使用3*3的卷積進(jìn)行特征的提取,使得特征的提取更加的充分。這個(gè)結(jié)構(gòu)雖然增加了一些計(jì)算量,但是為了主干網(wǎng)絡(luò)的下一步特征提取保留了更加完整的細(xì)節(jié)信息。
YOLOv5網(wǎng)絡(luò)中使用了大量的CSP[6](Cross Stage Partial)結(jié)構(gòu),以此來(lái)解決因?yàn)榫W(wǎng)絡(luò)比較深而帶來(lái)計(jì)算量大的缺點(diǎn)。CSP結(jié)構(gòu)不會(huì)帶來(lái)檢測(cè)精度上的損失,反而會(huì)增強(qiáng)網(wǎng)絡(luò)的學(xué)習(xí)能力,減少內(nèi)存的消耗。YOLOv5中使用了兩種不同寬度和深度的CSP模型,能夠獲得更加豐富的特征圖,方便后面的檢測(cè)。如表1所示,主干網(wǎng)絡(luò)中每隔一個(gè)基礎(chǔ)的卷積模塊就會(huì)使用一個(gè)CSP結(jié)構(gòu)來(lái)減少一下計(jì)算量,同時(shí)保證網(wǎng)絡(luò)能夠有很好的能力去學(xué)習(xí)。在YOLOv5的Neck模塊中,使用了第二種CSP結(jié)構(gòu),增強(qiáng)了特征融合的能力,在YOLOv4中只是使用了簡(jiǎn)單的融合方法進(jìn)行融合,取得的融合想過(guò)相比YOLOv5是比較差的。
表1 主干網(wǎng)絡(luò)的參數(shù)Tab.1 Parameters of backbone network
圖2 通道空間融合注意力模型Fig.2 Channel spatial fusion attention model
YOLOv5一共有五個(gè)寬度和深度不同的網(wǎng)絡(luò)模型,配置文件中只用到了兩個(gè)參數(shù)就控制了寬度和深度的變化。YOLOv5s和YOLOv5m是兩個(gè)最基本的模型,主干網(wǎng)絡(luò)中CSP結(jié)構(gòu)的寬度和深度都有著很明顯的增加,這主要是為了更好的提取特征圖。而Neck結(jié)構(gòu)中,只是想在降低計(jì)算量的情況下,更好的提高融合的效果,并沒(méi)有很大程度上增加CSP結(jié)構(gòu)的寬度和深度,而只是增加了一點(diǎn),來(lái)更好的達(dá)到融合的目的。
注意力機(jī)制一共有三個(gè)不同的模型,通道注意力模型、空間注意力模型以及通道空間融合注意力模型。
1.2.1 通道注意力模型
圖像經(jīng)過(guò)卷積的操作,通道數(shù)會(huì)成倍的增加,對(duì)于對(duì)于每個(gè)通道中重要的區(qū)域進(jìn)行檢測(cè),是注意力模型的一個(gè)重要組成部分。圖片在經(jīng)過(guò)卷積操作之后,會(huì)被送入通道注意力模型進(jìn)行權(quán)重的計(jì)算,根據(jù)通道的重要程度,分別賦予不同的權(quán)重,權(quán)重和重要程度成正比。
1.2.2 空間注意力模型
樣本中不是所有區(qū)域?qū)z測(cè)任務(wù)的貢獻(xiàn)是同樣重要的,只有滿(mǎn)足任務(wù)需求的那一部分區(qū)域才需要算法著重檢測(cè),而空間注意力模型就是為了在樣本中找到這樣的區(qū)域進(jìn)行處理。Dynamic Capacity Networks則采用了兩個(gè)子網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)這個(gè)任務(wù),低性能的子網(wǎng)絡(luò)負(fù)責(zé)找到著重處理的區(qū)域,而高性能的子網(wǎng)絡(luò)負(fù)責(zé)對(duì)低性能子網(wǎng)絡(luò)找到的區(qū)域進(jìn)行精細(xì)化處理,從而獲得更低的代價(jià)和更高的精度。
1.2.3 通道空間融合注意力模型
通過(guò)將通道注意力和空間注意力相融合,提出了一種新的注意力模型,即通道空間融合注意力模型。這個(gè)模型使得通道注意力和空間注意力模型的優(yōu)點(diǎn)體現(xiàn)在了同一個(gè)模型上,從空間和通道兩個(gè)方面對(duì)圖像的重要區(qū)域進(jìn)行判斷。
筆者將最新的YOLOv5模型與注意力模型相結(jié)合,應(yīng)用在交通信號(hào)燈的檢測(cè)上。目的是為了將YOLO的速度與注意力模型對(duì)重要區(qū)域的提取相結(jié)合,得到一種近乎實(shí)時(shí)、檢測(cè)精度高的算法。為了能夠減少計(jì)算量以及得到高精度的實(shí)驗(yàn)結(jié)果,注意力模型主要被用在了主干網(wǎng)絡(luò)中。
本文不同的交通信號(hào)燈進(jìn)行了檢測(cè)比較試驗(yàn),如圖3所示,(a)和(b)為正常的交通信號(hào)燈,而且就尺寸來(lái)說(shuō),屬于大尺寸的目標(biāo)。(c)中為損壞的交通信號(hào)燈,相比較前兩張圖片少了很多信息,我們的算法依然能夠有很好的檢測(cè)效果。(d)屬于小目標(biāo)的交通信號(hào)燈,在特征提取的時(shí)候,信息最容易丟失,然而加上注意力模型之后,產(chǎn)生了不錯(cuò)的效果。
圖3 交通信號(hào)燈檢測(cè)結(jié)果Fig.3 Test results of traffic lights
本文以YOLOv5為基礎(chǔ)網(wǎng)絡(luò),加上了注意力模型,在交通信號(hào)燈的檢測(cè)上取得了一定的效果,提升了小目標(biāo)交通信號(hào)燈的檢測(cè)精度,能夠檢測(cè)不同場(chǎng)景下的交通信號(hào)燈。