基金項(xiàng)目:2021年度廣西高校中青年教師科研基礎(chǔ)能力提升項(xiàng)目“基于計(jì)算機(jī)視覺的非機(jī)動(dòng)車違規(guī)行為識(shí)別研究”(編號(hào):2021KY1131)
作者簡介:張 舜 (1990—),碩士,講師,主要從事云計(jì)算、計(jì)算機(jī)應(yīng)用技術(shù)的研究工作。
摘要:文章提出了一種基于改進(jìn)YOLOv4模型的非機(jī)動(dòng)車違規(guī)行為識(shí)別的檢測方法。該方法采用面積比較算法融合DeepSORT算法的方式解決了非機(jī)動(dòng)車違規(guī)行為識(shí)別與多目標(biāo)跟蹤的問題。通過實(shí)驗(yàn),在公開數(shù)據(jù)集上,該方法相較于傳統(tǒng)方法,具有更高的準(zhǔn)確率和更低的誤判率。
關(guān)鍵詞:非機(jī)動(dòng)車檢測;計(jì)算機(jī)視覺;目標(biāo)檢測
中圖分類號(hào):U495
0 引言
隨著城市交通的不斷發(fā)展,非機(jī)動(dòng)車在城市道路中的使用量逐年攀升,其安全問題也愈加突出。如何有效地進(jìn)行非機(jī)動(dòng)車違規(guī)行為識(shí)別和檢測,成為當(dāng)前交通領(lǐng)域的重要研究方向。本文提出了一種基于改進(jìn)YOLOv4模型的非機(jī)動(dòng)車違規(guī)行為識(shí)別檢測方法。針對非機(jī)動(dòng)車違規(guī)行為判定、多目標(biāo)跟蹤等問題,對其算法進(jìn)行了改進(jìn)與融合,進(jìn)一步提升模型的泛化能力。本文所提出的方法相較于傳統(tǒng)的非機(jī)動(dòng)車違規(guī)行為識(shí)別檢測方法和原始版本的YOLOv4,具有更高的準(zhǔn)確率和更低的誤判率,證明了該方法在非機(jī)動(dòng)車違規(guī)行為識(shí)別領(lǐng)域的應(yīng)用前景和可行性。
1 YOLOv4模型結(jié)構(gòu)分析
YOLOv4是一種基于深度學(xué)習(xí)的目標(biāo)檢測模型,其模型結(jié)構(gòu)主要分為5個(gè)部分:Darknet-53主干模型、SPP和PANet模塊、C3/C4/C5輸出、FPN以及輸出層。
1.1 CSPDarknet-53主干模型
YOLOv4采用CSP(Cross Stage Partial)Darknet-53作為主干模型,該模型結(jié)構(gòu)使用跨層連接技術(shù),將輸入特征圖分成兩部分,一部分直接進(jìn)入模塊內(nèi)部,另一部分經(jīng)過殘差塊進(jìn)行處理,再與前一部分進(jìn)行通道合并。這種跨層連接方式可以加快信息流動(dòng),提高模型的特征表泛化能力。
1.2 SPP和PANet模塊
YOLOv4在主干模型中引入了金字塔空間池化(SPP)和金字塔注意力機(jī)制(PANet)模塊,加強(qiáng)特征表達(dá)能力,并且減少分辨率下降導(dǎo)致的物體檢測誤差。
1.3 特征金字塔模型(FPN)
YOLOv4采用了特征金字塔模型(FPN)來處理不同尺度的物體,并通過跨層連接將低級(jí)別特征與高級(jí)別特征相結(jié)合,以改進(jìn)小物體檢測和定位性能。
1.4 C3/C4/C5輸出
C3、C4、C5分別代表CSPDarknet-53中3個(gè)尺度的輸出特征圖,這些特征圖被CNN層處理后,送到最終的輸出層。
1.5 輸出層
YOLOv4輸出層包含多個(gè)輸出分支,每個(gè)輸出分支都可以預(yù)測一種物體類別。每個(gè)分支由多個(gè)卷積層組成,最后通過sigmoid激活函數(shù)轉(zhuǎn)化為置信度。
綜上所述,YOLOv4在模型結(jié)構(gòu)上進(jìn)行了多方面的優(yōu)化,如使用CSPDarknet-53主干模型、引入SPP和PANet模塊以及FPN等,提高了YOLOv4模型的表達(dá)能力和檢測性能。
2 非機(jī)動(dòng)車違規(guī)行為判定算法
利用YOLOv4進(jìn)行非機(jī)動(dòng)車違規(guī)行為判定的方法主要分為兩個(gè)步驟:(1)目標(biāo)檢測,利用YOLOv4模型對非機(jī)動(dòng)車進(jìn)行識(shí)別和定位;(2)違規(guī)行為判定,通過對目標(biāo)運(yùn)動(dòng)狀態(tài)和行為特征進(jìn)行分析,識(shí)別出非機(jī)動(dòng)車的違規(guī)行為。本文以未佩戴安全頭盔行為為例。
2.1 傳統(tǒng)違規(guī)判定算法
目前對于未佩戴安全頭盔的非機(jī)動(dòng)車違規(guī)行為,大部分的判斷算法都是基于頭肩匹配的方法[1],即先對駕駛員進(jìn)行頭肩檢測,使用人物交互算法判斷頭盔與頭肩的關(guān)系,從而判定是否佩戴了頭盔。然而,該方法無疑增加了整個(gè)判斷流程的計(jì)算量。
2.2 面積交叉比較算法
為了解決上述問題,本文提出了一種面積交叉比較算法。當(dāng)攝像頭位于非機(jī)動(dòng)車正前方,可以通過比較頭盔和駕駛員之間的匹配度,來判斷是否佩戴頭盔。該方法只需要增加極少量的計(jì)算量,即可判斷當(dāng)前駕駛員是否佩戴頭盔,即使存在其他駕駛員頭盔干擾的情況。如圖1所示,圖片中檢測出了without、with、b-rider與e-rider目標(biāo)。取得e-rider標(biāo)簽的圖像之后即可判斷是否佩戴頭盔。
通過面積交叉比較判斷,計(jì)算得到without與b-rider、e-rider目標(biāo)框的交集面積,從而判斷出沒有佩戴頭盔的非機(jī)動(dòng)車駕駛員;通過計(jì)算with與其他多數(shù)e-rider目標(biāo)框的交集面積,從而得到未佩戴頭盔的非機(jī)動(dòng)車駕駛員。如式(1)所示:
式中:O(a,b)——a目標(biāo)框與b且標(biāo)框的交集面積,體現(xiàn)在圖片中也就是a、b目標(biāo)框相交的像素點(diǎn);
U——with與without目標(biāo)框的集合。
計(jì)算出來的Re-rider是一個(gè)集合,如果集合中最大值對應(yīng)的目標(biāo)框框的標(biāo)簽為without,那么就可以確認(rèn)該目標(biāo)為未佩戴頭盔的非機(jī)動(dòng)車駕駛員。
基于計(jì)算機(jī)視覺的非機(jī)動(dòng)車違規(guī)行為識(shí)別的研究/張 舜
3 DeepSORT多目標(biāo)跟蹤
在實(shí)際交通場景中,多輛非機(jī)動(dòng)車同時(shí)出現(xiàn)的頻率非常高,為了識(shí)別其他的違規(guī)行為,需要跟蹤多個(gè)非機(jī)動(dòng)車目標(biāo),并獲取視頻流中多個(gè)目標(biāo)幀與幀之間的關(guān)聯(lián)信息。本文采用DeepSORT算法來實(shí)現(xiàn)多目標(biāo)跟蹤。
DeepSORT算法是由SORT跟蹤算法進(jìn)化而來的新版本。SORT算法具有優(yōu)秀的性能和低復(fù)雜度,但存在身份跳變的問題。在非機(jī)動(dòng)車違規(guī)行為識(shí)別的過程中,身份跳變即代表目標(biāo)的丟失,從而使違規(guī)行為識(shí)別毫無意義。而DeepSORT算法采用級(jí)聯(lián)+IoU的匹配機(jī)制,融合了目標(biāo)特征信息,同時(shí)給軌跡設(shè)置了max_age參數(shù),即使目標(biāo)被遮擋仍可以重新被跟蹤,從而降低身份跳變的發(fā)生。在非機(jī)動(dòng)車違規(guī)行為識(shí)別中,降低身份跳變對于判斷非機(jī)動(dòng)車違規(guī)行為至關(guān)重要。因此,通過DeepSORT算法來實(shí)現(xiàn)違規(guī)行為識(shí)別任務(wù),可以有效地提高多目標(biāo)持續(xù)跟蹤的穩(wěn)定性。
3.1 表觀特征
DeepSORT算法中實(shí)現(xiàn)了目標(biāo)的表觀特征余弦距離[2],借用了ReID領(lǐng)域模型提取特征,在實(shí)際交通場景的視頻中,目標(biāo)往往會(huì)出現(xiàn)遮擋、目標(biāo)運(yùn)動(dòng)軌跡不連續(xù)的情況,在這種情況下,如果僅僅通過運(yùn)動(dòng)特征進(jìn)行匹配計(jì)算還是依舊會(huì)造成身份跳變的現(xiàn)象。DeepSORT算法中采用了表觀特征解決了這個(gè)問題。
對于每一個(gè)跟蹤目標(biāo)會(huì)構(gòu)建一個(gè)集合,用于存儲(chǔ)成功關(guān)聯(lián)的特征向量。然后計(jì)算第i個(gè)跟蹤目標(biāo)的所有特征向量與當(dāng)前幀檢測結(jié)果第j個(gè)目標(biāo)的特征之間的最小余弦距離,計(jì)算公式如式(2)。
式中:rj——第j個(gè)檢測目標(biāo)被CNN輸出的128維向量;
i——跟蹤器序列;
r(i)k——跟蹤的特征向量,保留過去成功跟蹤的k次的特征。
3.2 融合DeepSORT算法
在DeepSORT算法中,提取目標(biāo)特征的模型是Wide residual networks[3]。在原始的DeepSORT算法中,重識(shí)別特征權(quán)重是通過訓(xùn)練行人數(shù)據(jù)集得到的。這些權(quán)重?zé)o法直接應(yīng)用于非機(jī)動(dòng)車的應(yīng)用場景中。因此,需要重新選取合適的數(shù)據(jù)集進(jìn)行訓(xùn)練,以獲得符合非機(jī)動(dòng)車應(yīng)用場景的新權(quán)重。使用非機(jī)動(dòng)車數(shù)據(jù)集對模型進(jìn)行訓(xùn)練,該數(shù)據(jù)集包含400張圖片,將數(shù)據(jù)集按照7∶3的比例分為訓(xùn)練集和測試集,對模型進(jìn)行訓(xùn)練,可以提升算法在非機(jī)動(dòng)車場景下的表現(xiàn)。
3.3 實(shí)驗(yàn)結(jié)果
為了驗(yàn)證改進(jìn)后的重識(shí)別特征提取模型的性能,使用重識(shí)別數(shù)據(jù)集對改進(jìn)前后的兩個(gè)特征提取模型進(jìn)行測試,并對非機(jī)動(dòng)車場景視頻進(jìn)行速度測試。最終將得到的結(jié)果列在表1中。
由表1可知,改進(jìn)后的重識(shí)別特征提取模型相比改進(jìn)前,在推理時(shí)間和精度指標(biāo)方面都有所提升。具體而言,精度提高了2.8%,平均推理時(shí)間減少了2.2 ms。本次改進(jìn)不僅提高了一定的精度,也顯著減少了推理時(shí)間,表明改進(jìn)效果十分有效。在實(shí)際視頻跟蹤中,每幀圖像的平均處理時(shí)間為30 ms,幀率可達(dá)24.8 FPS,可以實(shí)時(shí)監(jiān)控視頻流。
4 結(jié)語
本文主要介紹了一種基于改進(jìn)YOLOv4模型的非機(jī)動(dòng)車違規(guī)行為識(shí)別檢測方法。本文的主要工作如下:
(1)改進(jìn)了傳統(tǒng)非機(jī)動(dòng)車違規(guī)行為中不佩戴頭盔的判定算法,由傳統(tǒng)的人物交互算法轉(zhuǎn)向使用面積交叉比較法,可以通過比較頭盔目標(biāo)和駕駛員目標(biāo)之間的匹配度,來判斷非機(jī)動(dòng)車駕駛員是否真正佩戴了頭盔。由于這種方法只需要增加極少的計(jì)算量,因此可以很容易地判斷當(dāng)前駕駛員是否佩戴頭盔,即使混有其他駕駛員的頭盔也能夠準(zhǔn)確識(shí)別,相較人物交互算法減少了判斷時(shí)的計(jì)算量。
(2)融合DeepSORT算法解決多目標(biāo)跟蹤的問題,通過采用自采集非機(jī)動(dòng)車數(shù)據(jù)集重新訓(xùn)練,使模型能夠應(yīng)用于非機(jī)動(dòng)車的多目標(biāo)跟蹤。
與YOLOv4相比,優(yōu)化后的模型檢測能力得到了提升,對于非機(jī)動(dòng)車違規(guī)行為識(shí)別判斷效率更高,可滿足實(shí)際應(yīng)用的條件。
參考文獻(xiàn)
[1]呂佳俊.基于深度學(xué)習(xí)的安全頭盔實(shí)時(shí)檢測與報(bào)警系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:西南大學(xué),2021.
[2]Nguyen H V,Bai L. Cosine similarity metric learning for face verification[C].Asian conference on computer vision. Springer,Berlin,Heidelberg,2010.
[3]Zagoruyko S,Komodakis N. Wide residual networks[J]. arXiv preprint arXiv,2016(1 605):07146.
收稿日期:2023-03-30