摘 要:近年來,隨著經(jīng)濟的快速發(fā)展以及人們出行需求的增加,我國道路交通行業(yè)高速發(fā)展,交通安全管理工作的實施越來越困難。為保障廣大群眾出行安全,設(shè)計研發(fā)了YOLOv5目標檢測模型與前端C/S架構(gòu)相結(jié)合的系統(tǒng)來實現(xiàn)頭盔佩戴圖片、視頻文件、攝像頭實時視頻的頭盔佩戴監(jiān)測功能。實驗結(jié)果表明,該系統(tǒng)減少了資源的浪費,交互性強,整體運行流暢且高效,有效地優(yōu)化了交通管理效率,減少了人工巡查的成本和時間,對產(chǎn)品研發(fā)有一定借鑒意義。
關(guān)鍵詞:目標檢測;頭盔佩戴;YOLOv5;物聯(lián)網(wǎng);目標檢測;交通安全管理
中圖分類號:TP183;TP391 文獻標識碼:A 文章編號:2095-1302(2025)07-00-04
0 引 言
當前,“一盔一帶”政策已得到大力推進,但公安交管部門的頭盔佩戴監(jiān)測管理方法仍主要停留在人力監(jiān)測[1],這極大地增加了人力和時間成本,且效率低下。為提高頭盔佩戴監(jiān)測效率,文獻[2-3]通過改進YOLO算法提高目標檢測精度,具有較高的檢測準確率,但在現(xiàn)實生活中并未普及,主要是因為該算法的計算和空間成本大,會影響網(wǎng)絡(luò)的速度,同時缺少前端架構(gòu)、操作困難,對用戶并不友好。本文將YOLOv5目標檢測算法與前端架構(gòu)相融合,同時實現(xiàn)了圖片、視頻文件、攝像頭實時視頻的頭盔佩戴監(jiān)測,雖然犧牲了一定的準確率,但卻具備了快速、實時的優(yōu)勢,更適用于現(xiàn)實生活中的快速處理需求。
1 存在的問題
(1)交通網(wǎng)絡(luò)的地域覆蓋范圍廣泛
自2012年以來,我國交通網(wǎng)絡(luò)系統(tǒng)愈發(fā)完善和廣闊,發(fā)展迅速。數(shù)據(jù)顯示,直到2021年年底,中國公路的里程總數(shù)已經(jīng)達到了528萬多公里,而且覆蓋范圍正在逐步擴大[4]。交管部門對頭盔佩戴管控的難度攀升,導致提升管控效率和精度以及確保公平性的任務(wù)變得尤為艱巨。
(2)交管部門檢測方法單一
目前,交警依靠人工方式檢測非機動車駕駛員是否佩戴頭盔的交通監(jiān)管手段,已難以滿足現(xiàn)實中龐大交通網(wǎng)絡(luò)和海量車輛所帶來的需求。利用遍布廣泛的道路監(jiān)控系統(tǒng),并結(jié)合深度學習目標檢測技術(shù)的高效性、高精度及實時性優(yōu)勢,來解決頭盔佩戴的實時實地監(jiān)測問題,不僅具有強烈的現(xiàn)實緊迫性,還蘊含著巨大的經(jīng)濟效益,這無疑是技術(shù)發(fā)展的必然趨勢。
(3)現(xiàn)有系統(tǒng)靈活性和可用性低
隨著各類算法的迅猛發(fā)展,學者們持續(xù)致力于提升目標檢測的精準度和泛化能力[5],但在這一過程中,往往忽視了市場需求和實際應(yīng)用,導致許多先進的算法難以在現(xiàn)實中廣泛投入使用。這些算法面臨的主要問題包括用戶操作復雜度高、操作容錯性低、交互速度慢、使用成本高等。
2 系統(tǒng)設(shè)計
為了解決上述問題,本文設(shè)計了基于YOLOv5的騎行頭盔佩戴監(jiān)測系統(tǒng)。該系統(tǒng)主要由YOLOv5算法模塊和C/S架構(gòu)兩大部分組成。先將圖片數(shù)據(jù)集輸入到Y(jié)OLOv5算法模型中進行訓練,再將訓練后的模型與前端C/S架構(gòu)相結(jié)合。通過UI界面實現(xiàn)交互式的輸入輸出操作,并且可以通過界面快速保存監(jiān)測結(jié)果。該系統(tǒng)操作簡單、響應(yīng)速度快。系統(tǒng)結(jié)構(gòu)及流程如圖1所示。
2.1 YOLOv5目標監(jiān)測系統(tǒng)
YOLOv5是現(xiàn)今較為熱門且完善的單階段目標監(jiān)測模型,屬于深度學習中的一種快速算法,它可以將目標檢測行為轉(zhuǎn)化成端到端的回歸,其高效性和便捷性使它成為YOLO系列中最為廣泛使用的算法。YOLOv5目標監(jiān)測算法的結(jié)構(gòu)主要包括骨干網(wǎng)絡(luò)(Backbone)、頸部網(wǎng)絡(luò)(Neck)、目標檢測頭(Head)三大部分,如圖2所示。三個部分各司其職,骨干網(wǎng)絡(luò)主要是完成輸入端圖像的特征提取,頸部網(wǎng)絡(luò)用于實現(xiàn)特征圖或特征向量的多尺度特征融合,同時把所有相關(guān)特征傳遞給預測層,而目標檢測頭則負責完成最后的回歸預測[6]。
YOLOv5算法相較于傳統(tǒng)的Faster R-CNN來說,其識別目標的速度更快、準確度更高,而且它占用的內(nèi)存很小、操作簡便,便于后期維護修改;能同時處理多個尺度的目標,識別更全面;且使用PANet特征融合模塊,將各層特征結(jié)合,有效地提升了識別的準確度,是目標檢測領(lǐng)域內(nèi)的翹楚。
2.2 C/S架構(gòu)
C/S架構(gòu)是客戶端和服務(wù)器架構(gòu)??蛻舳艘话阒鸽娔X、手機等終端設(shè)備,服務(wù)器則是遠程的大型計算機,它們通過網(wǎng)絡(luò)連接在一起。在這種架構(gòu)下,客戶端負責展示和處理一些簡單的業(yè)務(wù)邏輯,而服務(wù)器則承擔著更復雜的任務(wù),例如數(shù)據(jù)處理和存儲。這樣一來,客戶端和服務(wù)器之間可以很好地協(xié)作,共同完成各種任務(wù)。這種點對點的處理模式減少了通信流量,響應(yīng)速度快,避免了資源的浪費,交互式操作界面更加簡潔,能夠滿足客戶需求[7]。
客戶端操作界面主要包含圖片檢測界面、視頻檢測界面、攝像頭實時檢測界面三個部分。使用圖片檢測界面和視頻檢測界面的主要流程是:用戶上傳圖片或視頻,模型會對這些圖片或視頻進行檢測,并生成頭盔佩戴的監(jiān)測結(jié)果。用戶只需要上傳圖片,檢測結(jié)果就會立即在當前界面上顯示并保存。攝像頭實時檢測界面僅需打開攝像頭就可以對影像進行實時的頭盔佩戴檢測。
2.2.1 架構(gòu)優(yōu)勢
C/S架構(gòu)的界面結(jié)構(gòu)在各方面都具有顯著優(yōu)勢。首先,圖片檢測界面提供了實時、準確監(jiān)測的功能,用戶可以實時查看騎行者的頭盔佩戴情況,以掌握最準確的信息。視頻檢測界面允許用戶靈活掌握監(jiān)測任務(wù),以滿足用戶個性化的監(jiān)測需求,極大地提升了系統(tǒng)的實用性。攝像頭實時檢測界面提供了實時檢測功能,用戶可以在前端界面上簡單操作來實現(xiàn)檢測視頻流和檢測結(jié)果的即時查看,及時發(fā)現(xiàn)騎行者的頭盔佩戴問題,從而提高道路安全性。這種實時監(jiān)測功能對于監(jiān)督騎行者佩戴頭盔的行為非常重要,有助于預防交通事故的發(fā)生。
服務(wù)器操作界面主要承擔事務(wù)邏輯的處理,可以實時展示監(jiān)測系統(tǒng)的輸出結(jié)果,包括頭盔佩戴情況的檢測結(jié)果、統(tǒng)計數(shù)據(jù)、圖像視頻流等,幫助用戶及時了解監(jiān)測情況,并且可以顯示監(jiān)測系統(tǒng)的運行狀態(tài)、資源利用情況、錯誤日志等信息,幫助用戶監(jiān)控系統(tǒng)的健康狀態(tài),及時發(fā)現(xiàn)和解決問題。此外,服務(wù)器操作界面還提供系統(tǒng)配置管理功能,用戶可以通過界面設(shè)置監(jiān)測系統(tǒng)的參數(shù)、調(diào)整算法模型、定義監(jiān)測區(qū)域等,實現(xiàn)個性化的系統(tǒng)配置,滿足實際需求。通過該界面,用戶還可以遠程控制監(jiān)測系統(tǒng),如啟動、停止、重啟等操作,以及遠程查看監(jiān)測結(jié)果,提高了系統(tǒng)的實時性、可操作性和便利性[8]。
總體而言,C/S架構(gòu)的界面結(jié)構(gòu)具有較高實用性,通過實時監(jiān)測、歷史記錄查看、靈活控制和數(shù)據(jù)管理等功能,為用戶提供了全面的頭盔佩戴監(jiān)測服務(wù)和數(shù)據(jù),有助于維護交通安全,降低交通安全事故的發(fā)生率。
2.2.2 界面結(jié)構(gòu)
PyQt是創(chuàng)建圖形用戶界面(GUI)的Python工具包,是Qt和Python相結(jié)合的產(chǎn)物。鑒于PyQt5的跨平臺性、多樣性、靈活性等多種優(yōu)勢特征,C/S界面主要通過PyQt5實現(xiàn),包含圖片檢測、視頻檢測、攝像頭實時檢測三種類型的檢測功能。用戶的使用流程是:先打開界面,根據(jù)需要選擇一種檢測類型并進入相應(yīng)的界面,按照對應(yīng)數(shù)據(jù)類型上傳需要檢測的數(shù)據(jù),點擊開始檢測按鈕后界面上會自動呈現(xiàn)檢測結(jié)果。如果是攝像頭實時檢測界面,點擊開始檢測的按鈕后再打開攝像頭,界面上會呈現(xiàn)實時的攝像頭視頻。界面操作流程如圖3所示。
3 系統(tǒng)實現(xiàn)
系統(tǒng)實現(xiàn)過程包括軟硬件環(huán)境搭建、數(shù)據(jù)采集與預處理、模型訓練、模型檢測、前端界面設(shè)計與連接,如圖4所示,按照該過程實現(xiàn)基于YOLOv5的騎行頭盔佩戴監(jiān)測系統(tǒng)的設(shè)計。
下面主要對軟硬件環(huán)境搭建、數(shù)據(jù)集及標注、模型訓練三個重點部分進行詳細介紹。
3.1 開發(fā)環(huán)境搭建
考慮到Anconda具有靈活性優(yōu)勢,本文采用Anconda環(huán)境來搭建系統(tǒng),Python版本是3.8.5。下載Anconda后,新建虛擬環(huán)境并下載正確版本的安裝包。環(huán)境所需要的所有安裝包及版本如圖5所示。
3.2 數(shù)據(jù)集及標注
數(shù)據(jù)集主要分為訓練集(train)、驗證集(val)和測試集(test),且使用labelimg工具來標注圖片。訓練集是進行模型訓練的基礎(chǔ)數(shù)據(jù)集,一般占總體數(shù)據(jù)的80%。驗證集用來評估經(jīng)訓練集訓練后的模型性能,并調(diào)節(jié)相關(guān)的重要參數(shù)來實現(xiàn)模型的優(yōu)化,一般占總體數(shù)據(jù)的10%左右。測試集的作用是針對上一步驗證集優(yōu)化后的模型進行評估,其與訓練集和數(shù)據(jù)集完全分離才能準確評估,占10%左右。騎行頭盔佩戴監(jiān)測系統(tǒng)在進行數(shù)據(jù)標注時使用了三種頭盔數(shù)據(jù),每種包含1 000張圖片,嚴格按照8∶1∶1的比例分配至訓練集、測試集和驗證集。標注時選擇YOLO格式的輸出文件類型(.txt),并對數(shù)據(jù)集進行歸一化處理[9]。
3.3 實驗結(jié)果與界面效果
實驗結(jié)果的準確性和擬合度主要取決于數(shù)據(jù)的質(zhì)量,標注的精度、圖片集數(shù)量、圖片集的多樣性都會影響最終的模型準確度,因此本文對樣式大小、佩戴者、佩戴時間完全不同的三種頭盔進行了訓練和檢測。實驗結(jié)果顯示,本文系統(tǒng)對這三種頭盔的平均監(jiān)測成功率達到了93.9%。
頭盔監(jiān)測系統(tǒng)界面包含三個窗口,分別是圖像檢測、視頻檢測、攝像頭檢測。以圖像檢測為例,點擊左上角的“選擇圖片”按鈕后選擇需要檢測的圖片,左邊的面板就會呈現(xiàn)上傳的原圖片,然后點擊“開始檢測”按鈕,右面的面板就會呈現(xiàn)檢測后的圖片并呈現(xiàn)IoU(Intersection over Union),再點擊“保存結(jié)果”按鈕,可以將檢測后的圖像保存下來。頭盔監(jiān)測系統(tǒng)的圖像檢測界面呈現(xiàn)效果如圖6所示。
4 實驗結(jié)果
對于大部分目標檢測算法來說,最常用的評價準確度的指標有三個,分別是精確度(Precision)、召回率(Recall)和均值平均精確率(mAP)。這三個指標都可以簡單地判斷最終模型的好壞,且都是在0到1之間的數(shù)值,數(shù)值越逼近于1表示模型的檢測性能越好;相反,越逼近于0表示模型的檢測性能越差。各評價元素的計算公式如下[10]:
(1)精確度:模型的精確度越大,F(xiàn)P越小,數(shù)據(jù)集中正向類別預測正確的數(shù)量就越多。
(2)召回率:模型的召回率越大,F(xiàn)N越小,正向類別里預測錯誤的數(shù)量就越少,所以召回率越大越好。
(3)均值平均精確率:所有的P-R曲線與坐標軸圍成的區(qū)域面積的平均值,是傳統(tǒng)意義上最準確的目標檢測算法的評價指標。
上述公式中,TP(True Positive)是指預測出的結(jié)果是正例(佩戴頭盔),標簽值也為正例,代表模型預測正確的數(shù)據(jù)的數(shù)量;FN(False Negative)是指預測出的結(jié)果是負例(未佩戴頭盔),標簽值為正例,代表負例中模型預測失敗的數(shù)據(jù)數(shù)量;FP(False Positive)是指預測出的是正例(佩戴頭盔),標簽值為負例,代表正例中模型預測錯誤的數(shù)據(jù)數(shù)量。
訓練之后的模型測試結(jié)果如圖7所示。
由圖7可知,mAP、Recall和Precision這三個指標都趨近于1且大于0,表明該目標檢測模型的準確率較高,能夠滿足日常生活中對目標檢測的需求。相較于其他算法,該模型的速度較快,現(xiàn)實使用價值更高。
5 結(jié) 語
本文使用YOLOv5目標檢測算法,快速便捷地訓練各種類型的頭盔數(shù)據(jù),能夠快速識別和檢測頭盔佩戴情況。使用C/S架構(gòu)(由PyQt5實現(xiàn))將前后端連接,同時實現(xiàn)了 圖片、視頻文件、攝像頭視頻的頭盔佩戴檢測功能。用戶界面簡潔清晰,可快速保存檢測結(jié)果,提升了信息儲存的便捷性,且能夠自動呈現(xiàn)檢測結(jié)果,不受硬件限制。該系統(tǒng)充分發(fā)揮了客戶端PC的處理能力和個性化功能,顯著提升了客戶端的響應(yīng)速度。其主要優(yōu)勢體現(xiàn)在應(yīng)用服務(wù)器運行數(shù)據(jù)負荷較輕、數(shù)據(jù)存儲管理功能透明,充分滿足了客戶的多樣化需求,展現(xiàn)了系統(tǒng)的特色與個性化。實際應(yīng)用中,該系統(tǒng)能夠大幅節(jié)約人力物力成本,對于頭盔佩戴檢測系統(tǒng)的廣泛應(yīng)用有重要的參考價值。
注:本文通訊作者為刁廣強。
參考文獻
[1] 姜文龍,趙琬婷,劉芳,等.電動自行車交通事故嚴重度影響因素分析——以舟山市為例[J].中國人民公安大學學報(自然科學版),2021,27(1):49-55.
[2] 謝昊,賈小軍,喻擎蒼,等.基于改進YOLOv5的騎行人員頭盔及車牌檢測[J].光電子·激光,2024,35(4):396-404.
[3] 韓錕棟,張濤,彭玻,等.基于改進YOLOv5的安全帽檢測算法[J].現(xiàn)代電子技術(shù),2024,47(5):85-92.
[4] 吳欣.江蘇省公路加寬主要影響因素分析及影響規(guī)律研究[J].內(nèi)江科技,2019,40(1):74-75.
[5] 余晨晨.改進的YOLOv4頭盔佩戴目標檢測研究[J].沈陽工程學院學報(自然科學版),2024,20(1):75-81.
[6] 李潤平,蘇成悅,馮祖勇.基于YOLOv5s神經(jīng)網(wǎng)絡(luò)的農(nóng)林業(yè)常見蟲害檢測的應(yīng)用研究[J].電腦知識與技術(shù),2023,19(5):6-8.
[7] 張凱.基于C/S架構(gòu)的醫(yī)廢調(diào)度系統(tǒng)的設(shè)計與實現(xiàn)[J].起重運輸機械,2023(16):43-47.
[8] 徐曄.基于3層C/S架構(gòu)的信息管理系統(tǒng)設(shè)計和實現(xiàn)[J].信息與電腦(理論版),2024,36(3):92-95.
[9] 馬超偉,張浩,馬新明,等.基于改進YOLOv8的輕量化小麥病害檢測方法[J].農(nóng)業(yè)工程學報,2024,40(5):187-195.
[10] 劉超,高健.一種改進的YOLOv5電動車頭盔佩戴檢測方法[J].軟件導刊,2024,23(6):143-149.
收稿日期:2024-04-25 修回日期:2024-05-27
基金項目:山東省高等教育本科教學改革研究項目(M2023024);山東省本科教學改革研究項目(M2022246);山東青年政治學院教學改革研究項目(JGZD202205);山東青年政治學院大學生創(chuàng)新創(chuàng)業(yè)訓練計劃(S202110820231)