版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
基于深度學習的駕駛行為檢測研究與應(yīng)用摘要深度學習技術(shù)在各領(lǐng)域的應(yīng)用已經(jīng)引發(fā)了廣泛的關(guān)注,通過深度學習模型,可以對駕駛員的行為進行實時監(jiān)測,通過對圖片或視頻檢測標記,以判斷出存在的駕駛行為,如疲勞駕駛、分心駕駛等。針對駕駛安全的實際場景,本文結(jié)合圖像處理技術(shù)和計算機視覺等多種技術(shù),使用通過在ImageNet數(shù)據(jù)集上預訓練的YOLOv5模型,并制作大規(guī)模駕駛數(shù)據(jù)集,以及對模型進行調(diào)用,以提高檢測的準確性和魯棒性。通過模型對駕駛員的面部、肢體動作等特征進行檢測,判斷駕駛員的危險駕駛行為。此外,通過搭建駕駛行為檢測系統(tǒng),將訓練好的模型嵌入其中,以實現(xiàn)實時檢測標記行為,從而改善駕駛行為。關(guān)鍵詞深度學習;駕駛行為檢測;駕駛數(shù)據(jù)集;YOLOv5算法
ResearchandapplicationofdrivingbehaviordetectionbasedondeeplearningXiAbstractTheapplicationofdeeplearningXitechnologyinvariousfieldshasattractedextensiveattention,throughthedeeplearningXimodel,thedriver'sbehaviorcanbemonitoredinrealtime,andtheexistingdrivingbehaviorscanbejudgedbydetectingandmarkingpicturesorvideos,suchasfatiguedriving,distracteddriving,etc.Inviewoftheactualscenarioofdrivingsafety,thispapercombinesimageprocessingtechnologyandcomputervisionandothertechnologies,usestheYOLOv5modelpre-trainedontheImageNetdataset,andmakesalarge-scaledrivingdataset,andcallsthemodeltoimprovetheaccuracyandrobustnessofdetection.Themodeldetectsthedriver'sface,bodymovementsandotherfeaturestojudgethedriver'sdangerousdrivingbehavior.Inaddition,bybuildingadrivingbehaviordetectionsystem,thetrainedmodelisembeddedinittorealizereal-timedetectionoflabelingbehavior,soastoimprovedrivingbehavior.KeywordsDeeplearning;Driverbehaviordetection;Drivingdataset;YOLOv5algorithm
目錄TOC\o"1-3"\h\u310161緒論 緒論研究背景和意義隨著交通工具的普及和道路網(wǎng)絡(luò)的不斷擴展,駕駛行為的質(zhì)量對道路安全和交通效率產(chǎn)生了深遠的影響。不合適的駕駛行為,如疲勞駕駛、分心駕駛、超速和違規(guī)變道,不僅導致了數(shù)以千計的交通事故,還造成了巨大的人員傷亡和財產(chǎn)損失。根據(jù)公安部2022年發(fā)布的數(shù)據(jù),我國眾多交通事故中大約有10%~20%的事故是由分心駕駛誘發(fā)的。國內(nèi)外研究現(xiàn)狀在國內(nèi)外,相關(guān)領(lǐng)域?qū)W者們早已進行了更深入的探索。隨著大型數(shù)據(jù)集的開發(fā)和發(fā)布以及計算機設(shè)備運算能力的逐漸增強,尤其是GPU在解決大量計算問題且并行計算時的廣泛使用,深度學習技術(shù)在計算機視覺應(yīng)用領(lǐng)域的不同任務(wù)中獲得了接連成功。此外,深度學習的更新和技術(shù)突破,推動了基于深度學習的目標行為檢測的研究。目標行為檢測在特定行為識別中常被直接使用和作為參考,明顯地改善了行為檢測和識別時的性能。在文獻[1]中,設(shè)計了一個基于深度學習技術(shù)的駕駛行為檢測系統(tǒng),包括駕駛行為檢測系統(tǒng)的方案設(shè)計與技術(shù)分析、駕駛員疲勞檢測算法研究與設(shè)計、駕駛員分心檢測算法研究與設(shè)計,以及實現(xiàn)和可視化展示界面設(shè)計。在文獻[2]中,設(shè)計了一個人臉識別技術(shù)與監(jiān)控系統(tǒng)的關(guān)聯(lián)控制體系,通過人臉辨別技術(shù)來監(jiān)測駕駛員的面部特征以檢測他們的疲勞狀態(tài)。在文獻[3]中,通過采集腦電信號、面部圖像和車輛行駛車道圖像,然后使用卷積神經(jīng)網(wǎng)絡(luò)來預測駕駛員是否處于疲勞狀態(tài)。通過多模態(tài)數(shù)據(jù)的融合顯著提高疲勞狀態(tài)檢測的準確性。在文獻[4]中,構(gòu)建了一個基于OpenCV和Keras框架實現(xiàn)的疲勞檢測系統(tǒng)。系統(tǒng)使用dlib進行人臉檢測,有效地提高系統(tǒng)識別后結(jié)果的準確率,通過分析與計算目標駕駛員眼睛的縱橫比,判斷駕駛?cè)说拿娌刻卣?,得出目標駕駛員是否疲憊,在確定檢測到疲勞駕駛后,能給出語音提示和報警。在文獻[5]中,使用OpenCV實現(xiàn)了一個疲勞駕駛系統(tǒng),該系統(tǒng)使用二元線性支持向量機分類器進行分類,以簡單而快速方式識別駕駛員是否在疲勞駕駛。這些研究和系統(tǒng)的發(fā)展表明了深度學習和計算機視覺技術(shù)在駕駛行為檢測和疲勞檢測領(lǐng)域的應(yīng)用潛力,有望提高道路交通的安全性。研究價值與內(nèi)容在駕駛安全的實際場景中,結(jié)合了圖像處理技術(shù)和計算機視覺等技術(shù)。使用在ImageNet數(shù)據(jù)集上預訓練的YOLOv5模型,并制作了大規(guī)模的駕駛行為數(shù)據(jù)集來微調(diào)模型,以提高檢測的準確性和魯棒性。通過模型,可以檢測駕駛員的面部、肢體動作等特征行為,從而判斷他們當時的駕駛行為。此外,還搭建了一個駕駛行為檢測系統(tǒng),將訓練好的模型嵌入其中,實現(xiàn)圖片預測和視頻實時預測,從而改善駕駛行為。本文研究內(nèi)容為了更好地保障駕駛員的生命財產(chǎn)安全,本文設(shè)計一種基于圖片、視頻分析和卷積神經(jīng)網(wǎng)絡(luò)YOLOv5的駕駛行為檢測算法的駕駛行為檢測系統(tǒng)。研究過程中,通過使用包含4235張圖片的大規(guī)模駕駛行為數(shù)據(jù)集,其中包含2000張駕駛面部圖、1136張抽煙行為圖、888張打電話行為圖以及211張駕駛過程中轉(zhuǎn)身圖。為提高數(shù)據(jù)處理效率,采用了Cache文件存放臨時的數(shù)據(jù)集標記點,加快讀寫數(shù)據(jù),以及利用英偉達提供的針對英偉達顯卡的CUDA和cuDNN加速庫,使之能夠在GPU下對本次駕駛行為深度學習任務(wù)大幅度提高模型的訓練和推理過程。結(jié)果顯示,模型檢測準確率可達96.1%,系統(tǒng)在實際應(yīng)用中具有較好的效果和推廣前景??尚行匝芯考靶枨蠓治鰢L試利用深度學習技術(shù)來分析駕駛員的行為,包括面部表情、手部動作和車輛操作等研究為我們提供了寶貴的見解,但也面臨著挑戰(zhàn),如精確性、實時性和數(shù)據(jù)集的獲取。因此,本論文旨在綜合國內(nèi)外研究現(xiàn)狀,分析已有研究的優(yōu)點和不足,進一步深化駕駛行為檢測領(lǐng)域的研究,以克服現(xiàn)有問題,并提出創(chuàng)新性的解決方案。通過探討駕駛行為檢測的關(guān)鍵問題,主要研究基于深度學習的駕駛行為識別方法研究與應(yīng)用。本項目擬采用深度學習網(wǎng)絡(luò)與機器視覺相結(jié)合的方法,實現(xiàn)對駕駛?cè)诵袨榈木_快速識別,提升駕駛?cè)说陌踩c駕駛體驗。本項目的研究成果將對我國未來智能交通的發(fā)展起到積極的促進作用,從而促進我國道路運輸領(lǐng)域的創(chuàng)新與發(fā)展??尚行匝芯浚?)技術(shù)可行性。①數(shù)據(jù)獲取與處理基于深度學習的駕駛行為檢測需要大量的駕駛數(shù)據(jù),包括視頻、傳感器數(shù)據(jù)等。技術(shù)上,我們可以采用現(xiàn)有的攝像頭和傳感器設(shè)備來獲取這些數(shù)據(jù)。深度學習模型需要大量的訓練數(shù)據(jù),但隨著數(shù)據(jù)集的不斷積累和數(shù)據(jù)增強技術(shù)的發(fā)展,數(shù)據(jù)獲取不再是不可逾越的障礙。②算法與模型深度學習算法如卷積神經(jīng)網(wǎng)絡(luò)(CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)和深度強化學習(DRL)等技術(shù)多使用在圖像識別和動作檢測。這些技術(shù)的成熟和開源框架的可用性使得開發(fā)和調(diào)整駕駛行為檢測模型變得可行。③實時性需求駕駛行為檢測需要快速的實時處理,以及對不安全行為的即時響應(yīng)。深度學習模型可以在高性能計算硬件上進行加速,以滿足實時性需求。此外,模型的輕量化和優(yōu)化可以進一步提高實時性能。綜合考慮,從技術(shù)可行性的角度來看,基于深度學習的駕駛行為檢測具備良好的前景。技術(shù)方面已經(jīng)有了充分的支持,可以實現(xiàn)高效、實時、準確的檢測。(2)經(jīng)濟可行性。經(jīng)濟可行性主要部分有:成本與效益。其中,成本有硬件采購、軟件開發(fā)、數(shù)據(jù)收集和分析、人力資源和設(shè)備維護等方面。同時,還需要考慮到潛在的額外支出,如數(shù)據(jù)隱私合規(guī)的成本。經(jīng)濟可行性的另一方面是預期的收益。駕駛行為檢測技術(shù)可以在多個領(lǐng)域應(yīng)用,包括車輛保險、駕駛員培訓和自動駕駛汽車等。預期的收益將根據(jù)具體應(yīng)用場景而異??紤]項目的長期可持續(xù)性也是經(jīng)濟可行性的一部分。這包括項目的運營和維護成本,以及未來收益的預測。目標檢測系統(tǒng)的成本主要涵蓋硬件和軟件兩個方面。硬件方面包括計算機設(shè)備等,而軟件方面包括算法開發(fā)、數(shù)據(jù)集采集和模型訓練等方面的費用。隨著技術(shù)的進步,硬件設(shè)備的價格越來越低廉。同時,由于已有很多成熟的算法和數(shù)據(jù)集,可以減少算法開發(fā)和數(shù)據(jù)采集的成本。該系統(tǒng)的應(yīng)用場景主要是針對駕駛行為檢測領(lǐng)域。因此,需要檢測的目標主要是人的動作,需要具備較高的檢測精度和準確度,以便進行駕駛行為分析等應(yīng)用。在實際應(yīng)用中可以帶來實際的經(jīng)濟效益,因此,從經(jīng)濟可行性角度考慮,目標檢測系統(tǒng)也是可行的。(3)社會可行性分析目標檢測系統(tǒng)在各行各業(yè)都有廣泛的應(yīng)用,如智能交通、安防監(jiān)控、工業(yè)檢測等領(lǐng)域。隨著人工智能技術(shù)的不斷發(fā)展,目標檢測系統(tǒng)的需求將會越來越大。因此,從社會可行性角度考慮,目標檢測系統(tǒng)也是可行的。需求分析(1)功能性需求該系統(tǒng)的應(yīng)用場景主要是針對駕駛行為檢測領(lǐng)域。因此,需要檢測的主要對象是駕駛員,需要具備高度的檢測精度和準確度,以便進行駕駛行為分析和安全監(jiān)控等應(yīng)用。需要采集車輛內(nèi)部攝像頭的視頻、圖像數(shù)據(jù),并通過數(shù)據(jù)清洗和標注來預處理這些圖像數(shù)據(jù)。為了提高檢測精度和準確度,需要使用深度學習算法,如卷積神經(jīng)網(wǎng)絡(luò)(CNN)來進行駕駛行為的檢測和分析。該系統(tǒng)需要實時進行駕駛行為檢測,因此需要具備較高的檢測速度和精度。為了確保系統(tǒng)的實時性,可以采用一些輕量級的深度學習模型,例如MobileNet和YOLO等。應(yīng)用場景分析:疲勞駕駛檢測:駕駛員狀態(tài)監(jiān)控:經(jīng)過訓練后的深度學習算法能夠自動的檢測到視頻流中每一幀圖像的眨眼動作頻率以及頭部姿勢,從而分析出來駕駛員是否為疲勞駕駛。如果駕駛員的眼睛頻繁閉合或頭部姿勢異于預先設(shè)置的閾值,系統(tǒng)會發(fā)出聲音或視覺警告?;诿娌勘砬榈臋z測:系統(tǒng)還可以使用計算機視覺技術(shù)來分析駕駛員的面部表情,檢測出疲勞跡象,例如閉眼、頻繁打哈欠等。分心駕駛檢測:對象識別:與疲勞檢測類似,使用標記后的手機、平板電腦、吸煙等圖像數(shù)據(jù)訓練深度學習模型,訓練后的模型就能夠自動進行視頻分析,從而檢測視頻流中每幀圖像中是否包含手機、平板電腦、吸煙等物體,從而判斷出為分心駕駛行為。警告和記錄:系統(tǒng)會記錄分心駕駛行為的時間和位置,并發(fā)出警告以提醒駕駛員專注于駕駛?cè)蝿?wù)。圖2.1用例圖超速檢測:車速監(jiān)測:通過分析車輛前部攝像頭的視頻,系統(tǒng)可以測量車輛的實際速度。此數(shù)據(jù)會與道路上的限速標志進行比較。速度超限警報:如果車輛超出道路的限速,系統(tǒng)將發(fā)出警報以提醒駕駛員。同時,數(shù)據(jù)也被記錄下來,以供后續(xù)使用。疲勞駕駛預防:實時警報:當系統(tǒng)檢測到疲勞駕駛行為時,它會向駕駛員發(fā)出警報,如聲音或振動,以提醒他們采取措施,如休息。駕駛?cè)罩荆厚{駛?cè)罩究捎涗涶{駛時間和非駕駛時間。以確保他們遵守法規(guī)。安全駕駛培訓:實時反饋:駕駛員可以在駕駛過程中收到實時反饋,包括不良行為的警告和建議。這有助于他們改進駕駛技能。分析和改進:駕駛員和培訓員可以在后期分析駕駛行為數(shù)據(jù),了解弱點,制定改進計劃。車隊管理和監(jiān)控:駕駛員評分:系統(tǒng)可為每個駕駛員分配評分,以反映其駕駛行為的表現(xiàn)。這有助于車隊管理人員識別高風險駕駛員并提供培訓。實時監(jiān)控:系統(tǒng)提供實時監(jiān)控功能,車隊管理人員可以追蹤車隊中每輛車的位置和行為。(2)非功能性需求系統(tǒng)必須具備高度穩(wěn)定性和可靠性,同時易用且可擴展。例如,要能夠長時間運行,保持低故障率,且容易維護;同時需要易于使用和擴展,以滿足不同用戶的需求。為了控制系統(tǒng)的成本,可以選擇一些開源的深度學習算法和軟件工具,例如TensorFlow和OpenCV等。同時,可以通過合理的硬件配置和軟件優(yōu)化等方式,以降低系統(tǒng)的成本和復雜度。系統(tǒng)設(shè)計軟件系統(tǒng)結(jié)構(gòu)駕駛行為檢測系統(tǒng)具備以下核心功能:1、用戶登錄;2、人員管理(包括添加和導出);3、圖片上傳與檢測;4、視頻上傳與檢測。通過登錄界面訪問系統(tǒng),管理員可在人員管理界面添加用戶并導出用戶名單。系統(tǒng)支持用戶上傳圖片和視頻信息,然后自動進行相關(guān)檢測,提供檢測結(jié)果信息。這些功能使系統(tǒng)具備了用戶管理、圖像和視頻處理的能力,適用于駕駛行為檢測的應(yīng)用場景。系統(tǒng)整體架構(gòu)設(shè)計在整個駕駛行為檢測系統(tǒng)中,數(shù)據(jù)采集與預處理、特征提取與行為檢測、模型訓練與評估、模型優(yōu)化都是至關(guān)重要的環(huán)節(jié),每個環(huán)節(jié)都需要經(jīng)過精心設(shè)計和調(diào)整,以確保系統(tǒng)能夠高效而準確地識別駕駛行為。圖3.1整體架構(gòu)圖以下是較關(guān)鍵的幾個步驟:①實驗環(huán)境搭建:搭建適當?shù)挠布蛙浖h(huán)境,以確保系統(tǒng)能夠有效運行,包括python開發(fā)環(huán)境、Django框架、MySQL數(shù)據(jù)庫軟件、GPU加速、以及深度學習框架。②數(shù)據(jù)采集與預處理:搜集跟駕駛行為相關(guān)的數(shù)據(jù),如圖像或視頻。這些數(shù)據(jù)需要進行預處理,包括去噪、圖像校正等步驟來方便分析。③數(shù)據(jù)存儲和管理:保存采集到的駕駛行為數(shù)據(jù),這些數(shù)據(jù)需要按照不同的類別進行管理。④特征提取與行為檢測:用卷積神經(jīng)網(wǎng)絡(luò)等深度學習方法,從圖像和視頻中抽取特征。卷積層與池化層共同組成卷積神經(jīng)網(wǎng)絡(luò)的特征抽取模塊。卷積神經(jīng)網(wǎng)絡(luò)中的卷積核心與局部鄰近的卷積核心相連,并且在相同的層次上共享權(quán)重,各卷積層卷積計算后的特征可以進一步編碼,以捕獲駕駛行為的關(guān)鍵信息。卷積后的特征經(jīng)過線性層的計算后,可以分類得到不同的駕駛行為,如基于眨眼等疲勞駕駛行為;轉(zhuǎn)身、吸煙和打電話等分心駕駛行為。⑤數(shù)據(jù)上傳及結(jié)果可視化:利用Django架構(gòu)建立應(yīng)用程序,通過web界面呈現(xiàn)模型的檢測結(jié)果,以便用戶直觀查看和分析,達到可視化效果。系統(tǒng)工作流程設(shè)計首先,從互聯(lián)網(wǎng)中獲取各類別駕駛行為的圖片及數(shù)據(jù)集;其次,去除臟數(shù)據(jù),并采用LabelImg工具對數(shù)據(jù)進行標注;緊接著使用標記后的數(shù)據(jù)集訓練YOLOv5算法,并對駕駛行為圖像進行檢測。若識別準確度未達到90%以上,則對網(wǎng)絡(luò)參數(shù)進行調(diào)整,重新訓練網(wǎng)絡(luò),直至準確率達標。準確率合格后,構(gòu)建應(yīng)用程序,將YOLOv5模型嵌入到后臺中,通過web界面提交數(shù)據(jù)并返回預測結(jié)果,最終在界面內(nèi)呈現(xiàn)標記的結(jié)果行為。圖3.2總體流程圖數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫建設(shè)實現(xiàn)根據(jù)每個用戶需求關(guān)系,運用綜合分析和抽象的分析方法,將其中的關(guān)系和需要變成能反應(yīng)當前項目的DBMS概念模型。在建立數(shù)據(jù)庫的過程中,首先要按照需求畫出一個E-R圖表,這個E-R圖表能夠顯示出各個應(yīng)用或系統(tǒng)要實現(xiàn)的功能與需求。在此基礎(chǔ)上,對原始E-R圖作一系列的調(diào)整與優(yōu)化,以消除可能存在的缺陷與沖突。由于概念模式旨在達到使用者的要求,所以在此流程中并沒有具體的軟硬件細節(jié)。因此,我們怎樣才能高效地表示出用戶的需要就顯得尤為重要了。規(guī)劃的實體包括:管理員、用戶、圖片、視頻、圖像檢測結(jié)果和視頻檢測結(jié)果。主要實體的實體屬性如下所述:1、管理員實體:3.3管理員實體屬性圖2、用戶實體:3.4用戶實體屬性圖3、圖片實體:3.5圖片實體屬性圖4、圖像檢測結(jié)果實體:3.6圖像檢測結(jié)果實體屬性圖5、視頻實體:3.7視頻實體屬性圖6、視頻檢測結(jié)果實體:3.8視頻檢測結(jié)果實體屬性圖7、表結(jié)構(gòu)設(shè)計表3.1人員信息表字段名字段類型字段說明idbigint主鍵typeint用戶or管理員namebigint用戶名psdvarchar密碼telvarchar電話號碼create_timedatetime用戶創(chuàng)建時間表3.2視頻圖像信息表字段名字段類型字段說明idbigint主鍵file_namevarchar文件名稱file_typeint文件上傳的屬于視頻,還是圖像file_suffixvarchar文件后綴名字file_urlvarchar文件路徑creatorbigint上傳人create_timedatetime上傳時間detect_resultbigint檢測結(jié)果id表3.3檢測結(jié)果表字段名字段類型字段說明idbigint主鍵detect_resultvarchar檢測結(jié)果系統(tǒng)實現(xiàn)系統(tǒng)開發(fā)工具介紹YOLO系列目標檢測算法簡介YOLO(YouLookOnlyOnce)[6]目標檢測算法是最先出現(xiàn)的一階段目標檢測算法,骨干網(wǎng)絡(luò)采用類似于GoogLeNet的結(jié)構(gòu),使用單元格的概念,首先將整幅圖像劃分成S×S的網(wǎng)格,若存在目標中心點落在網(wǎng)格上,則此網(wǎng)格負責對該目標的檢測,當網(wǎng)格對目標預測出B個邊界框時,每一個邊界框帶有參數(shù)(x,y,w,h)和置信度c,如果數(shù)據(jù)集的類別個數(shù)C,那么該算法的輸出通道維度就是(B×5+C)。通過劃分網(wǎng)格可以將圖像一次性送入網(wǎng)絡(luò)中,從而由特征圖進行多個網(wǎng)格的檢測,減少了網(wǎng)絡(luò)的計算量,提升了網(wǎng)絡(luò)的運算速度,但是該算法仍然存在一些缺點,第一,兩階段目標檢測算法高于算法的檢測精度。第二,當圖像中出現(xiàn)多個重疊的小目標時,檢測的效果相對來說比較差,YOLO目標檢測算法的流程如圖2.2所示。圖4.1YOLO檢測算法流程圖YOLOv5[7]算法進行了很多創(chuàng)新,主要包括兩個方面,第一:不增加原有網(wǎng)絡(luò)復雜度的前提下,使模型準確度提升的方法,例如Mosaic數(shù)據(jù)增強,對輸入圖片幾何變換,改進損失函數(shù)等。第二:增加少許模型復雜度,但能顯著提升模型準確度的方法,例如改進激活函數(shù),使用SPP增大模型的感受野等。設(shè)計了C3骨干特征網(wǎng)絡(luò),每個block都按照特征圖的Channel維度被分成了兩個部分,一個部分是用堆疊殘差層來提取深層特征,另一個部分則是用concat來將特征信息拼接到這個block的輸出上,這樣就可以從網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計的角度來解決計算量過大的問題。YOLOv5算法Neck結(jié)構(gòu)開始將FPN和PAN兩種特征融合方式都被整合到網(wǎng)絡(luò)結(jié)構(gòu)中,F(xiàn)PN以自頂向下的方式,通過上采樣逐步獲取更高層信息,而PAN則采用自底向上的方式,添加了一條下采樣的分支,提升了網(wǎng)絡(luò)的特征融合能力,最終將他們的結(jié)果拼接起來繼續(xù)操作。數(shù)據(jù)標注工具簡介數(shù)據(jù)標注工具能夠幫助對訓練數(shù)據(jù)進行標注,并在標簽中標注出目標物體的位置和類別信息。比較常用的數(shù)據(jù)標注工具包括LabelImg、RectLabel、CVAT等。LabelImg在Python中是一款開源的數(shù)據(jù)標注工具,多用于圖像標注,標注格式多樣化。它簡單、易用和功能強大。在標注數(shù)據(jù)方面具有很高的準確性和很快的速度。Python編程語言簡介Python因其簡單、易學、功能強大且生態(tài)豐富的特性,常用于目標檢測的任務(wù)。GPU加速簡介由于目標檢測模型訓練和推理需要大量的計算資源,在GPU進行深度學習的計算,可以大幅提升訓練和推理的速度。本文使用NVIDIA提供的CUDA編程模型和cuDNN加速庫,來達到使用GPU進行深度學習任務(wù),用來提升神經(jīng)網(wǎng)絡(luò)的運行效率,進行模型推理加速。深度學習框架簡介深度學習框架是用于開發(fā)、訓練和部署深度學習模型的軟件庫。目前的深度學習框架常用的有:PyTorch、Caffe、TensorFlow等,而本此選擇了PyTorch框架用于構(gòu)建網(wǎng)絡(luò)模型。算法模型實現(xiàn)駕駛行為檢測系統(tǒng)YOLOv5目標檢測模型如下圖所示:圖4.2YOLOv5網(wǎng)絡(luò)中結(jié)構(gòu)圖其中卷積計算如公式(4.3)所示:f圖4.3卷積計算圖目標檢測具體流程如下:1)預處理:對輸入圖像進行預處理以及數(shù)據(jù)增強,需要設(shè)置各種圖像增強的參數(shù)。圖4.4數(shù)據(jù)預處理參數(shù)設(shè)置2)特征提取:將預處理后的圖像送入卷積神經(jīng)網(wǎng)絡(luò)中,提取淺層的細節(jié)紋理特征和深層的語義特征。其中,卷積操作檢測圖像中的邊緣和紋理之類的低級特征,而池化操作去提取圖像的平移不變性。兩者交替出現(xiàn),構(gòu)成卷積神經(jīng)網(wǎng)絡(luò)的特征提取。如上圖中Backbone部分所示。通過步長為2的Conv層實現(xiàn)下采樣,增大網(wǎng)絡(luò)感受野;通過多個C3層的堆疊,提取各種感受野下的潛在特征。圖4.5C3模塊3)特征融合:如上圖的Neck部分所示,通過特征金字塔網(wǎng)絡(luò)PAN和路徑聚合網(wǎng)絡(luò)PAN對特征圖進行融合。其中,F(xiàn)PN通過將Backbone網(wǎng)絡(luò)學到的深層語義信息傳遞到淺層細節(jié)紋理特征中;PAN則可以將特征再次融合,提取更多的圖像潛在特征。PAN和FPN可以更好的去整合高層和底層的特征信息,通過將特征信息送入后續(xù)的頭部網(wǎng)絡(luò)(HeadNetwork),從而生成目標框與類別。圖4.6YOLOv5中特征融合網(wǎng)絡(luò)結(jié)構(gòu)4)目標預測:如上圖Head部分所示,三個檢測頭會根據(jù)融合后的特征圖分辨率把原圖劃分為S×S的網(wǎng)格,每個網(wǎng)格設(shè)置三個尺寸的預設(shè)框,分別預測目標的類別和位置信息。此步驟會檢測出大量的目標。通過該步驟,讓模型能在輸入圖像中的不同區(qū)域預測目標信息。圖4.7邊界框預測5)非極大值抑制:非極大值抑制(NMS)用于防止三個檢測頭對同一目標進行重復檢測。在Head部分檢測到大量目標會,進行非極大值抑制(NMS),即刪除置信度較低的檢測框,僅保留具有最高置信度的檢測框。#ApplyNMSpred=non_max_suppression(pred,opt.conf_thres,opt.iou_thres,classes=opt.classes,agnostic=opt.agnostic_nms)6)輸出結(jié)果:使用OpenCV圖像處理庫,把最后的檢測結(jié)果,檢測框的位置和類別信息體現(xiàn)在圖像上。#ApplyClassifierifclassify:pred=apply_classifier(pred,modelc,img,im0s)fori,detinenumerate(pred):#detectionsperimageifwebcam:#batch_size>=1p,s,im0,frame=path[i],'%g:'%i,im0s[i].copy(),dataset.countelse:p,s,im0,frame=path,'',im0s,getattr(dataset,'frame',0)p=Path(p)#toPathsave_path=str(save_dir/)#img.jpgtxt_path=str(save_dir/'labels73'/p.stem)+(''ifdataset.mode=='image'elsef'_{frame}')#img.txts+='%gx%g'%img.shape[2:]#printstringgn=torch.tensor(im0.shape)[[1,0,1,0]]#normalizationgainwhwhiflen(det):#Rescaleboxesfromimg_sizetoim0sizedet[:,:4]=scale_coords(img.shape[2:],det[:,:4],im0.shape).round()forcindet[:,-1].unique():n=(det[:,-1]==c).sum()#detectionsperclasss+=f"{n}{names[int(c)]}{'s'*(n>1)},"#addtostringifsave_imgorview_img:#Addbboxtoimagelabel=f'{names[int(cls)]}{conf:.2f}'plot_one_box(xyxy,im0,label=label,color=colors[int(cls)],line_thickness=3)font=cv2.FONT_HERSHEY_SIMPLEXcv2.putText(im0,str(len(det)),(50,300),font,10,(0,0,0),10)print(len(det))應(yīng)用程序?qū)崿F(xiàn)用戶登錄界面:圖4.8用戶登錄界面圖圖片與視頻上傳檢測界面:圖4.9圖片與視頻上傳檢測界面圖圖片與視頻上傳檢測結(jié)果界面:圖4.10圖片上傳預測結(jié)果界面圖系統(tǒng)評測指標分析本次系統(tǒng)設(shè)計分為兩階段,一階段為訓練一個能準確檢測張口、閉口、睜眼、閉眼、吸煙與轉(zhuǎn)頭的目標檢測模型,二階段為使用Django框架完成Web網(wǎng)頁制作,通過接口調(diào)用的方式將檢測模型嵌入進去。首先,從互聯(lián)網(wǎng)中獲取各類別駕駛行為的圖片及數(shù)據(jù)集;其次,去除臟數(shù)據(jù),并采用LabelImg工具對數(shù)據(jù)進行標注;緊接著使用標記后的數(shù)據(jù)集訓練YOLOv5算法,經(jīng)過訓練后檢測準確率可達96.1。開始構(gòu)建應(yīng)用程序,將YOLOv5模型嵌入到后臺中,通過web界面提交數(shù)據(jù)并返回檢測的標記結(jié)果。代碼調(diào)試1)硬件環(huán)境:使用NVIDIA提供的CUDA編程模型和cuDNN加速庫,來達到在GPU上實現(xiàn)深度學習的計算加速,從而加速深度學習模型的訓練和推理。2)軟件環(huán)境:對PyTorch深度學習框架以及Django框架進行安裝和配置,并對常用的Python第三方庫,如Numpy、Pandas、Matplotlib等安裝和配置,如此以來更容易對數(shù)據(jù)進行處理和可視化。3)數(shù)據(jù)集:網(wǎng)上搜集相關(guān)圖片,其中總數(shù)據(jù)量有4235張圖片,包含了2000張駕駛面部圖,1136抽煙行為圖,888張打電話行為圖和211張駕駛過程中轉(zhuǎn)身圖。經(jīng)過LabelImg工具后,得到的是VOC格式的數(shù)據(jù)集,并不能直接使用,所以需要寫腳本,將VOC格式數(shù)據(jù)集標注信息轉(zhuǎn)為YOLO格式標注信息。4)模型文件:直接使用自己建的數(shù)據(jù)集訓練模型,在測試集上的最終檢測始終無法達到90%以上,所以查閱資料發(fā)現(xiàn)經(jīng)過大數(shù)據(jù)集與訓練后的檢測網(wǎng)絡(luò)更易達到更好的檢測結(jié)果,所使用的backbone網(wǎng)絡(luò)是從網(wǎng)上下載且在ImageNet數(shù)據(jù)集上經(jīng)過預訓練處理。隨后,加載了預訓練的權(quán)重,并凍結(jié)網(wǎng)絡(luò)的所有層,除了最后一層。這樣做是為了保留在ImageNet上學到的通用特征。最后一層再使用自己制作的數(shù)據(jù)集進行微調(diào),從而使得深度學習模型最終檢測結(jié)果達到90%以上。測試軟件測試就是要找出軟件產(chǎn)品中最多的缺陷問題。由于現(xiàn)實中有很多不確定的意見或意見,這些意見都會對測試的有效性產(chǎn)生很大的影響。因此,必須對所有可能的輸入數(shù)據(jù)進行檢查,以確保產(chǎn)生正確的結(jié)果測試環(huán)境1)硬件環(huán)境:一臺性能較好的計算機或服務(wù)器,配備有GPU加速器,能夠支持深度學習模型的運行和測試。GPU加速器的顯存滿足模型訓練和測試的需求,同時具有足夠的存儲空間用于存儲數(shù)據(jù)集和模型文件。2)軟件環(huán)境:軟件環(huán)境的搭建包括對PyTorch深度學習框架和Django框架進行安裝配置,以及安裝配置常用的Python第三方庫,如Numpy、Pandas、Matplotlib等。如此以來更容易對數(shù)據(jù)進行處理和可視化。3)數(shù)據(jù)集:在測試環(huán)境中,為測試和校驗組準備相對應(yīng)的數(shù)據(jù)集。測試集更夠評估訓練完成后保存的最優(yōu)模型,驗證集則能夠在訓練過程中對模型當前效果進行驗證。4)模型文件:測試環(huán)境保存已經(jīng)訓練好的模型文件,以便在測試中加載模型文件并進行測試。5)評估指標:在測試環(huán)境中,通過選擇準確率、召回率和mAP值來評估模型性能,并根據(jù)網(wǎng)頁端各頁面調(diào)用情況判斷系統(tǒng)有無缺陷。本文選擇的模型評價指標目標行為檢測是指對視頻序列中的目標對象的動作進行識別和檢測。評價目標行為檢測任務(wù)的指標通常需要考慮到動作的類別、時序信息以及目標檢測的準確性。在駕駛行為檢測對動作進行類別劃分。計算公式為:Precision=其中,TP是真正例的數(shù)量,F(xiàn)P是假正例的數(shù)量。召回率是所有真正的正例中,被預測為正例的比例,計算公式為:Recall=其中,F(xiàn)N是假反例的數(shù)量。這兩個指標可以幫助理解模型的性能,并對模型進行優(yōu)化。在駕駛行為檢測研究與應(yīng)用中,精度衡量了在預測的行為中有多少是正確的,高精度代表模型較少將非識別類別錯誤分類為系統(tǒng)識別駕駛行為。高召回代表模型能更好的捕捉到真實的駕駛行為。平均精確度均值幫助評估模型在不同類別上的性能,并對檢測準確度進行綜合比較。性能測試1)處理速度測試:通過對系統(tǒng)使用不同分辨率和大小的駕駛行為圖像進行測試,記錄系統(tǒng)處理時間,以評估其處理速度。本次實驗硬件配置如下:CPU為Intel(R)_Core(TM)_i5-8300H_CPU_@_2.30GHz,顯卡為NVIDIAGeForceGTX1050Ti,操作系統(tǒng)為Windows10。在上述實驗平臺下,系統(tǒng)的FPS達到30,驗證了系統(tǒng)具有一定的實時檢測的能力。2)模型精度測試:測試系統(tǒng)的目標檢測模型精度,通過模型評價指標中包含的精確度和召回率等指標。以評估系統(tǒng)的模型精度。圖4.12檢測結(jié)果分析圖本系統(tǒng)在評價Precision(精確度)和Recall(召回率)兩方面分別取得了95.7%和94.2%。在能綜合評價系統(tǒng)性能的mAP(平均精確度均值)指標上,系統(tǒng)達到了96.1%,說明其性能符合預期的標準。部分檢測結(jié)果展示如下圖。圖4.13部分檢測結(jié)果圖3)系統(tǒng)整體測試:通過幾次試驗,該系統(tǒng)運行穩(wěn)定,基本達到了
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版泌尿系統(tǒng)疾病常見癥狀及護理技巧訓練
- 施工單位評估報告
- 新生建筑實訓報告
- 公司自我評估報告
- 紙盒改造房子設(shè)計風格
- 急診住院病房健康宣教
- 2025版阿爾茨海默病的癥狀及護理方法
- 智能花盆產(chǎn)品設(shè)計
- 中學生消防安全
- 老年防治腎病健康宣教
- 課程設(shè)計傳動裝置輸入軸組合結(jié)構(gòu)設(shè)計說明書
- 《資本論》第一卷第六篇“工資”
- 中國近現(xiàn)代史綱要知到章節(jié)答案智慧樹2023年湖南城市學院
- 鋼管表面積計算表
- 木工培訓考試及答案
- (中職)Photoshop基礎(chǔ)實用教程全冊教案2022-2023學年
- 項目經(jīng)理答辯題庫題
- 抗菌藥物使用分級授權(quán)表
- GB/T 7441-2008汽輪機及被驅(qū)動機械發(fā)出的空間噪聲的測量
- 衰弱量表(FARIL)及預防措施
- 浙江省金華市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細
評論
0/150
提交評論