




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
目錄TOC\o"1-2"\h\z\u摘要 4第1章導論 51.1研究背景與意義 51.2研究現(xiàn)狀 51.3研究目標與內容 7第2章相關理論概述 82.1卷積神經網(wǎng)絡 82.2目標檢測算法 112.3圖像分類算法 112.4YOLO算法 13第3章基于YOLOv5的暴力行為檢測 203.1整體模型 203.2系統(tǒng)設計 213.3界面設計 243.4實驗設計 253.5數(shù)據(jù)集準備 253.6模型訓練 263.7實驗結果評估 28第4章融合注意力機制的暴力行為檢測 314.1引言 314.2視覺注意力機制簡述 314.3CA注意力機制 324.4模型改進 344.5改進結果 37第5章總結與展望 385.1總結 385.2技術展望 39參考文獻 40基于YOLOv5的校園暴力行為檢測摘要:校園暴力問題是社會各界關注的教育熱點與重點問題,近來校園暴力行為頻發(fā),本文針對此問題提出基于YOLOv5算法的校園暴力行為檢測系統(tǒng),通過數(shù)據(jù)增強等手段解決數(shù)據(jù)集類型不平衡問題,建立暴力行為數(shù)據(jù)集訓練分類網(wǎng)絡模型,通過增加注意力機制,在主干網(wǎng)絡部分加入CA(coordinateattention)注意力模塊,提高模型的性能和泛化能力,最后使用streamlit框架構建暴力行為系統(tǒng)應用。關鍵詞:深度學習;圖像分類;YOLOCampusviolencedetectionbasedonYOLOv5Abstract:Theproblemofschoolviolenceisahotandkeyissueineducationthatallwalksoflifeareconcernedabout.Schoolviolencehasoccurredfrequentlyrecently.ThisarticleproposesaschoolviolencedetectionsystembasedontheYOLOv5algorithmtosolvethisproblem.Itsolvestheproblemofdatasettypeimbalancethroughdataenhancementandothermeans,andestablishesTheviolentbehaviordatasettrainstheclassificationnetworkmodel.Byaddingtheattentionmechanism,theCA(coordinateattention)attentionmoduleisaddedtothebackbonenetworkparttoimprovetheperformanceandgeneralizationabilityofthemodel.Finally,thestreamlitframeworkisusedtobuildtheviolentbehaviorsystemapplication.Keywords:DeepLearning;Imageclassification;YOLO第1章導論1.1研究背景與意義校園是每個人成長過程中經歷的至關重要的一環(huán),它是青春、朝氣、知識的代名詞,可近年來,校園暴力事件頻發(fā),許多有關校園暴力事件的視頻片段被傳播至網(wǎng)絡,觀看后無一不令人感到深惡痛絕,任意一起校園暴力事件的背后,都深深的影響著遭受暴力孩子的健康成長,甚至成為他們一生難以忘懷的陰影。校園暴力問題是社會各界關注的教育熱點與重點問題。及時發(fā)現(xiàn)并制止校園暴力欺凌行為,對保障每一個孩子健康學習成長、保障校園安全具有重大意義?;诂F(xiàn)代人工智能的快速發(fā)展,深度學習逐漸融入人們日常生活,計算機視覺領域技術較為成熟。本文針對需要檢測暴力行為的實際需求,利用計算機視覺中圖像分類技術,利用其實時性好、輕量化、準確性高的特點,將深度學習應用于校園,對其中可能出現(xiàn)存在的暴力行為進行檢測,以及時、高效的手段發(fā)現(xiàn)校園暴力,達到實時監(jiān)測與預警的目的,將發(fā)生校園暴力的概率與傷害降低到最小。1.2研究現(xiàn)狀在傳統(tǒng)的暴力行為檢測研究中,大多基于手工特征進行暴力檢測,多根據(jù)一個人的運動特征、音頻特征等來檢測是否發(fā)生暴力行為,這種方法的優(yōu)點是可以利用領域專家的知識來設計特征,有較好的解釋性和可解釋性。然而,缺點是需要大量的人工工作來提取和選擇特征,且往往難以涵蓋所有相關的信息,在不同場景下泛化性較弱。在2014年,Jain提出了利用數(shù)據(jù)中的顏色、運動、形狀、紋理等特征來進行機器學習訓練模型[16],同年Simonyan等人又提出利用深度學習的方法自動提取特征[7]。利用深度學習技術解決暴力行為逐漸成為主流,圖像分類、目標檢測等技術逐漸成熟,檢測準確度逐步提升。2017年S.Sudhakaran等人[18]利用長短時記憶神經網(wǎng)絡(LongShort-TermMemory,LSTM)結合CNN進行暴力行為檢測],2020年,HongchangLi等人[19]提出了一種新的多流卷積神經網(wǎng)絡框架,分別通過卷積神經網(wǎng)絡處理RGB圖像從而獲取空間特征,并通過光流圖像提取時間特征,進而得到時空特征。暴力行為檢測對準確性與實時性都有較高要求,目前的暴力行為檢測主要存在對復雜多變的場景條件、多樣性的暴力行為的處理,與實時性問題等問題。而圖像分類技術在實時性方面已經取得了較大的進展。借助于輕量級的模型結構和優(yōu)化的推斷算法,可以實現(xiàn)對圖像數(shù)據(jù)的快速分類和處理,滿足實時性要求。并且圖像分類技術能夠在不同的環(huán)境中進行檢測,無需依賴特定的傳感器設備,也具有較強的適用性和靈活性。圖像分類任務從傳統(tǒng)的方法到基于深度學習的方法,準確性方面也不斷發(fā)展。對于MNIST數(shù)據(jù)的數(shù)據(jù)集的分類任務,已經從1990年SVM與KNN的0.56的錯誤率,到1998年LeNet5[1]的0.23的錯誤率;對于ImageNet數(shù)據(jù)集的分類任務,從2012年AlexNet[2]在的0.16的錯誤率,2014年GoogLeNet/VGG[3]的0.067的錯誤率,再到2015年RestNet[4]的0.035錯誤率。雖然圖像分類任務的正確率已經接近了極限,然而,在實際的工程實踐中,存在大量具有挑戰(zhàn)性和困難的問題:類別分布不平衡,數(shù)據(jù)量稀少難以獲取,同一類內部差異巨大,實際應用環(huán)境復雜(例如光照、遮擋、模糊、角度變化和干擾等)。在深度學習任務中,擁有優(yōu)質充足的數(shù)據(jù)是訓練出優(yōu)秀準確網(wǎng)絡模型的重要因素,在實驗環(huán)境下,訓練分類模型的每一個類別所需要的類型要求為均衡的,但是在實際情況下,數(shù)據(jù)的分布是不平衡的,可能會出現(xiàn)某一種類型數(shù)據(jù)量極小,收集難度過大,而另一種類型數(shù)據(jù)量極大的情況,如本文中校園暴力行為這一類別在網(wǎng)絡上數(shù)據(jù)量就較小,正常行為的數(shù)據(jù)量就較大,若使用不均衡的數(shù)據(jù)來訓練,會讓分類網(wǎng)路模型產生偏差,讓數(shù)據(jù)量少的特征無法完全學習。不平衡的數(shù)據(jù)集分類問題也是深度學習一個重要的領域,隨著其不斷發(fā)展,對不平衡數(shù)據(jù)集分類的研究也在不斷增加,SMOTE[5]對數(shù)據(jù)量較少的類別采用合成的方式實現(xiàn)對數(shù)據(jù)的增強,從而降低了因數(shù)據(jù)量過少而導致的過擬合問題。除去暴力行為數(shù)據(jù)集等問題,隨著近些年硬件技術的發(fā)展,實時暴力行為檢測成為主要目標。對于簡單的暴力行為檢測任務,圖像分類技術相對于目標檢測、行為識別等方法,可以提供較高的速度和效率。本文以實時性與準確性為出發(fā)點,進行對暴力行為檢測的研究。1.3研究目標與內容(1)通過對已有的數(shù)據(jù)的收集和整合,以及對視頻資料中的暴力行為進行截取的方法,創(chuàng)建了一個暴力行為畫面數(shù)據(jù)集。數(shù)據(jù)集為圖片格式,分為適用于訓練分類模型,共分為兩個類別:暴力行為畫面與正常畫面。其中通過數(shù)據(jù)增強,使用圖像翻轉、圖像旋轉、增加噪聲等方式,將暴力行為數(shù)據(jù)進行擴充,其中正常畫面包含5231張圖片,暴力畫面近6000張圖片。數(shù)據(jù)集格式為Imagenet數(shù)據(jù)集格式。(2)YOLO的網(wǎng)絡結構中,模仿現(xiàn)實人類視覺機制,通過引入注意力機制來增強模型對重點位置圖像的感知與檢測能力。主要實現(xiàn)方法使在網(wǎng)絡的某些層中添加注意力模塊。這些注意力模塊可以根據(jù)輸入特征圖動態(tài)地計算每個特征的權重,并將加權后的特征圖傳遞給后續(xù)層進行處理。引入注意力機制后,重新訓練模型以學習適應于新結構的參數(shù),從而提高模型的精度。(3)暴力行為識別檢測系統(tǒng)的圖形界面設計通過Streamlit實現(xiàn),以實現(xiàn)人機交互。Streamlit是一個用于創(chuàng)建數(shù)據(jù)應用程序的開源庫,它同時提供了豐富的組件和交互功能,多適用于數(shù)據(jù)結果分析或者深度學習前端設計。
第2章相關理論概述由于傳統(tǒng)的目標檢測方法存在提取速度慢、特征提取困難、精確度低以及泛化性差、實時性低等問題,實際檢測效果不佳。隨著深度學習發(fā)展迅速,從最初的R-CNN(Region-CanvolutionalNeuralNetwork)到現(xiàn)在的YOLO(Youonlylookonce)算法,在深度學習領域應用廣泛。因此本文選用基于YOLO算法構建暴力行為檢測系統(tǒng)。神經網(wǎng)絡作為YOLO技術的基礎,首先對卷積神經網(wǎng)絡(CanvolutionalNeuralNetwork,CNN)進行概述。2.1卷積神經網(wǎng)絡結構卷積神經網(wǎng)絡(CanvolutionalNeuralNetwork,CNN)是一種前饋神經網(wǎng)絡的變體,相較于傳統(tǒng)的神經網(wǎng)絡結構,CNN具有許多優(yōu)勢,其中包括不需要手動選擇特征和共享卷積核等特點。這使得CNN能夠高效地學習圖像特征,并在諸如語音識別、目標檢測和自動駕駛等領域中取得顯著效果。隨著時間的推移,CNN的應用范圍也逐漸擴大,涉及的領域越來越廣泛。卷積神經網(wǎng)絡(CNN)的主要結構包括以下幾個關鍵層:輸入層、卷積層、池化層、全連接層、輸出層。輸入、輸出層就字面意思,為圖像的輸入與結果的輸出,池化層主要功能為減少特征圖的特征,保留圖像重要的特征。這些層組合在一起形成了卷積神經網(wǎng)絡的整體結構,使其能夠有效地學習和識別輸入數(shù)據(jù)中的特征,并生成相應的預測結果。卷積層、池化層和全連接層多層之間通過不斷的堆疊,以及適當選擇的激活函數(shù)和正則化技術,實現(xiàn)了對輸入數(shù)據(jù)的特征提取和有效學習訓練。這種結構的組合使得CNN能夠在各種任務中取得優(yōu)秀的表現(xiàn)。網(wǎng)絡結構如圖2.1所示。圖2.1網(wǎng)絡結構Figure2.1Networkstructure下面對最主要的卷積層、池化層進行闡述。1)卷積層卷積層使卷積神經網(wǎng)絡最為核心的部分之一,其中卷積操作是卷積層的核心部分。輸入的數(shù)據(jù)會首先進入卷積層中提取特征,并且在網(wǎng)絡中形成特定的復雜特征表示,通過將輸入數(shù)據(jù)與小矩陣卷積核逐元素相乘,并累加計算輸出。這一過程允許網(wǎng)絡有效地學習到輸入數(shù)據(jù)中的局部特征,從而實現(xiàn)對復雜模式的捕獲和表征。這樣,卷積操作能夠捕捉輸入數(shù)據(jù)的局部特征和空間結構。卷積核通常采用大小為3×3的矩陣,在卷積操作中,卷積核持續(xù)滑動在輸入的二維像素矩陣上,與該位置對應的像素矩陣進行逐元素乘法運算,然后將結果進行累加,從而得到該位置的單個輸出像素值。這一過程在整個輸入矩陣上進行,逐步生成輸出特征圖,其中每個像素值都是通過卷積核與輸入像素進行卷積計算得到的。這種操作使得網(wǎng)絡能夠有效地提取輸入數(shù)據(jù)中的局部特征,并逐步組合形成更加抽象的表示。圖2.2卷積操作過程Figure2.2Convolutionoperationprocess2)池化層池化層通過減小特征圖的空間尺寸,降低數(shù)據(jù)量的同時保留主要特征,起到了降維和提取關鍵信息的作用。池化操作是池化層的核心操作,它在輸入數(shù)據(jù)的局部區(qū)域上應用某種函數(shù)(如最大池化或平均池化),將該區(qū)域的信息聚合成一個單獨的值。然后,這個聚合值作為池化層的輸出,用于傳遞給下一層進行處理。通過減小特征圖的空間尺寸,池化層有助于降低數(shù)據(jù)的維度,同時幫助網(wǎng)絡保留主要的特征信息,從而在后續(xù)的層次中更有效地進行特征學習和分類。池化策略主要包括最大池化和均值池化是兩種策略。在最大池化中,池化后的值為每個子矩陣的最大值,保留區(qū)域內的最重要特征。而在均值池化中,每個子矩陣的所有元素的平均值被計算,作為池化后的值,這有助于平滑數(shù)據(jù)并減少噪聲的影響。最大池化策略的過程如圖2.3所示,在5×5的輸入矩陣中,選取每個2×2的矩陣中的最大值,將矩陣進行縮小,從而實現(xiàn)了保留重要特征的作用,將輸入矩陣縮小為3×3的矩陣。圖2.3池化示意圖Figure2.3Poolingdiagram2.2目標檢測算法目標檢測是計算機視覺的熱點問題。YOLO系列代表了基于回歸的一種方法,它是一種one-stage算法。而R-CNN、Fast-RCNN、Faster-RCNN等則是基于深度學習的two-stage分類方法。候選框的目標檢測算法引入了Anchor(錨框)機制,包括候選區(qū)域生成和分類回歸兩個階段。R-CNN是最早提出的經典雙階段目標檢測算法,雖然具有高精度,但速度較慢。因此,后續(xù)研究者提出了YOLO算法,它也是本系統(tǒng)采用的目標檢測算法之一。2.3圖像分類算法2.3.1AlexNetAlexNet是一種經典的深度卷積神經網(wǎng)絡模型,它網(wǎng)絡結構也較為經典與簡介,由5個卷積層和3個全連接層組成。采用了ReLU(修正線性單元)作為激活函數(shù)在卷積層和全連接層之間,提升網(wǎng)絡的非線性表達能力。圖2.4網(wǎng)絡結構模型Figure2.4Networkstructuremodel在卷積層之間,AlexNet使用了最大池化層來縮小特征圖的尺寸,同時增強了模型的平移不變性。最后一個全連接層輸出了模型的預測結果,通常通過softmax函數(shù)將輸出轉換為類別概率。2.3.2ResNetResNet(ResidualNetwork)是一種深度殘差網(wǎng)絡,它通過加入ResidualBlock來構建網(wǎng)絡,從而允許網(wǎng)絡在增加深度的同時保持良好的訓練性能。ResNet算法的核心是殘差部分,它包括了一種跨層連接。這樣的聯(lián)接使網(wǎng)絡可以通過把輸入加到輸出中來學習剩余圖。該方法的優(yōu)點是便于網(wǎng)絡學習恒等映射,有效地解決了梯度丟失、梯度爆炸等問題,提高了網(wǎng)絡的訓練效率,提高了網(wǎng)絡的普適性能力。ResNet可以根據(jù)需要構建不同深度的網(wǎng)絡,通常以ResNet-50、ResNet-101等命名,表示網(wǎng)絡中殘差塊的數(shù)量。典型的ResNet結構包括一系列的殘差塊,每個殘差塊包含數(shù)個卷積層,具體的網(wǎng)絡結構通常包括初始的卷積層、多個殘差階段以及全局平均池化層和全連接層。ResNet允許其網(wǎng)絡結構很深,ResNet-152有152層,同時保持了良好的訓練性能和模型效果。圖2.5ResNet構建塊示意圖Figure2.5SchematicdiagramofResNetbuildingblocks2.4YOLO算法2.4.1YOLO算法簡要介紹盡管YOLO算法已經發(fā)展到多個版本,但其核心理念始終保持在v1版本上。YOLO(YouOnlyLookOnce)這一算法名字的含義便是在單次前向傳播中完成目標檢測,因而具備了快速和高實時性的特點。在YOLO算法中,卷積神經網(wǎng)絡充當了特征提取器的角色。一般情況下,YOLO會選擇預訓練的卷積神經網(wǎng)絡作為基礎網(wǎng)絡,例如Darknet。既用于特征提取,又用于分類回歸,為算法的實現(xiàn)和性能提供了基礎。2.4.2評估指標首先本文先介紹衡量YOLO進行目標檢測性能優(yōu)越性的指標,主要有IoU、mAP。1)IOUIoU(IntersectionoverUnion)通過計算檢測出的邊界框與真實邊界框之間的重疊度的方法。如圖3.1。圖2.6IoU定義式Figure2.6IoUdefinition2)mAP平均精確率均值,它是對目標檢測算法綜合性能的度量指標。它計算了不同類別的精確率-召回率曲線下的面積,并對所有類別的結果取平均值。2.4.3實現(xiàn)流程1)網(wǎng)格劃分輸入圖像被分割成S×S個網(wǎng)格,每個網(wǎng)格負責預測一組邊界框和類別概率。每個網(wǎng)格需要預測B個邊界框。對于每個邊界框,并且還需要預測一個置信度(confidence)值,用于表示該邊界框中是否包含目標物體。這樣的設計允許模型對圖像中多個目標進行檢測和定位,而每個網(wǎng)格的預測結果都貢獻于整體的目標檢測結果。其中confidence表達式如(2-1):confidence=Pr?(等式右側如果有object落在一個gridcell里,則Pr&λ2)特征提取使用卷積神經網(wǎng)絡提取圖像特征,如網(wǎng)絡結構2.7。圖2.7yolov1網(wǎng)絡結構Figure2.7yolov1networkstructure3)邊界框預測每個網(wǎng)格單元都在預測可能包含目標的邊界框。每個邊界框由其位置(用(x,y,w,h)表示)和目標得分(表示目標存在的概率)組成。這些邊界框的位置信息指定了它們在圖像中的位置和大小,而目標得分則反映了模型對于該邊界框中是否包含目標物體的置信程度。4)類別預測預測每個邊界框的類別概率,首先將每個網(wǎng)格預測的類別信息與邊界框預測的置信度信息相乘。這樣操作的結果是每個邊界框都會得到一個類別特定的置信度分數(shù),表示該邊界框中存在某個特定類別物體的概率有多大。這個分數(shù)綜合考慮了該邊界框的位置和形狀信息以及該類別在整個圖像中的出現(xiàn)概率,從而更加準確地反映了邊界框與目標類別之間的關聯(lián)程度。如公式(2-3)。Pr?Class(5)非極大值抑制通過非極大值抑制策略,主要目的是從一組重疊的候選框(或者其他檢測結果)中選擇最佳的候選框,以減少重復檢測和提高檢測的準確性。(6)輸出結果最終輸出檢測到的目標邊界框及其對應的類別。圖2.8骨干網(wǎng)絡圖Figure2.8Backbonenetworkdiagram2.4.4YOLOv5YOLOv5是在前幾代算法基礎上不斷創(chuàng)新的產物,與其前幾代相比,YOLOv5采用輕量級網(wǎng)絡結構,以提高檢測的速度和效率該網(wǎng)絡結構由一系列的卷積層組成,通過不同尺度的特征圖,檢測不同大小的目標。YOLOv5采用了一種更加精細的多尺度檢測策略,能夠更好地捕捉目標的細節(jié)和上下文信息。YOLOv5還引入了一種自適應的訓練策略,稱為AutomatedDomainRandomization(ADR),可以提高模型在各種不同數(shù)據(jù)集上的泛化能力。這表明YOLOv5能夠更好地適應不同的場景和數(shù)據(jù)變化,從而提升檢測的準確性和魯棒性。除此之外,YOLOv5還支持在不同硬件設備上進行加速,包括GPU和邊緣設備。它提供了一種靈活的部署方式,可以在不同的平臺上實現(xiàn)實時目標檢測。YOLOv5的網(wǎng)絡模型由輸入端(Input)、主干網(wǎng)絡(Backbone)、頸部(Neck)網(wǎng)絡和輸出端(Output)共計4個部分組成,其網(wǎng)絡結構如圖3.4所示。圖2.9YOLOv5結構圖Figure2.9YOLOv5structurediagramYOLOv5作為經典高效的目標檢測算法,在其6.2版本中,YOLO新增分類功能。相比之前6.2之前未拆分前的版本,主要做了一下幾個方面的改動:1)訓練、測試、驗證等的代碼入口yolov5分類任務的訓練、測試以及預測的代碼入口是在新建的文件夾下。2)數(shù)據(jù)加載和預處理在數(shù)據(jù)預加載方面,首先需要按照ImageNet的格式組織數(shù)據(jù)集。具體地,需要在文件夾下創(chuàng)建訓練集、測試集、驗證集三個子文件夾,并在每個子文件夾下,以標簽名為文件夾名稱存儲屬于該標簽的圖片。3)網(wǎng)絡變動網(wǎng)絡模型上,加載同目標檢測網(wǎng)絡加載,同時如果加載了yolo的檢測模型,會通過ClassificationModel去除后面的detecthead,換成對應類別的分類器。4)loss的變動在損失函數(shù)的設計上采用了標簽平滑(LabelSmoothing),它應用在分類任務中,特別是針對交叉熵損失函數(shù)。在傳統(tǒng)的分類任務中,模型通過計算輸入樣本的預測標簽與實際標簽之間的交叉熵損失進行訓練。Pi=1,ifi=y0,if增加標簽平滑后真實的概率分布由公式(2-4)變?yōu)楣剑?-5),如下所示:Pi=(1?ε),ifi=y其中?是一個較小的超參數(shù),K表示多分類的類別總數(shù)交叉熵損失函數(shù)的改變如下,由公式(2-6)變?yōu)楣剑?-7)。Loss=?i=1K?pLossi=&(1?ε)?Loss,5)評價指標Top-1準確率(簡稱acc_top1)是指模型在所有預測結果中,有多少比例的樣本的最高預測概率對應的類別與真實標簽相匹配。Top-5準確率(簡稱acc_top5):Top-5準確率是指模型在所有預測結果中,有多少比例的樣本的真實標簽位于模型前五個最高預測概率對應的類別之中。第3章基于YOLOv5的暴力行為檢測3.1整體模型1)輸入圖像首先經過骨干網(wǎng)絡(Backbone),Backbone由卷積層、池化層和殘差連接等組件構成。網(wǎng)絡在輸入圖像中提取特征,然后將這些特征傳遞給后續(xù)的層進行處理。通過骨干網(wǎng)絡提取的特征能夠捕獲圖像中的各種語義和結構信息,為目標檢測任務提供了重要的基礎。在YOLOv5中,骨干網(wǎng)絡的設計旨在平衡性能和速度,以便快速而準確地完成目標檢測任務。YOLOv5中使用的骨干網(wǎng)絡為CSPDarknet53。CSPDarknet53它是一種輕量級的主干網(wǎng)絡,它是由CSP(CrossStagePartial)結構和Darknet53組合而成的。其中CSP(CrossStagePartial)結構是一種跨階段部分連接的結構,它將特征圖分成兩部分,這樣做可以減少特征圖的尺寸,從而降低計算復雜度,并且可以更好地保留特征信息。2)然后通過頸部網(wǎng)絡(Neck),負責進一步處理和融合這些特征。特征提取過程中通道數(shù)是不斷增加的,尺寸是不斷減小的。具體來說,YOLOv5中的Neck通常包特征融合模塊、卷積層與下采樣/上采樣操作。3)將特征圖輸入到head輸出端后,會進行自上而下和自下而上的融合,然后從中選擇幾個特征層進行目標檢測。這個過程包括了一系列的卷積層、池化層和全連接層等組件。生成包含對象檢測結果,通過head網(wǎng)絡對特征圖進行逐層處理和卷積操作的方式,這些信息會被用于識別圖像中的物體以及對它們進行定位。4)輸出結果:顯示檢測圖像的類別。圖3.1模型工作流程圖Figure3.1Modelworkflowdiagram3.2系統(tǒng)設計3.2.1功能模塊與系統(tǒng)架構此暴力行為檢測系統(tǒng)分為圖片檢測、視頻檢測、攝像頭實時檢測為三個模塊進行設計,如圖3.2所示。圖3.2系統(tǒng)功能模塊Figure3.2Systemfunctionmodule本文設計的暴力行為檢測系統(tǒng)結構上如圖3.3,主要包括系統(tǒng)系統(tǒng)業(yè)務層和數(shù)據(jù)層。(1)業(yè)務層業(yè)務層包含了系統(tǒng)的運行邏輯以及需求的幾個主要功能,比如讀取并預處理視頻流數(shù)據(jù),對視頻流數(shù)據(jù)進行暴力行為檢測等。按照這些功能模塊之間的先后順序來處理視頻數(shù)據(jù),最后將得出視頻幀判別結果,逐幀反饋到表現(xiàn)層。(2)表現(xiàn)層表現(xiàn)層主要在web界面上進行了一些功能展示,用戶可以在此界面中查看攝像頭畫面中的校園人群是否出現(xiàn)危險行為,以及出現(xiàn)危險行為的判別準度。圖3.3系統(tǒng)架構Figure3.3SystemStructure3.2.2檢測流程圖3.4暴力行為檢測流程圖Figure3.4Violencedetectionflowchart如上圖所示,在暴力行為檢測流程中,服務器端先檢測輸入數(shù)據(jù)類型,如果是圖片數(shù)據(jù),將圖片處理為數(shù)據(jù)集對應的圖像格式,將處理后的圖片送入暴力行為檢測程序中進行識別。并將同在系統(tǒng)前端顯示結果。如果輸入數(shù)據(jù)是視頻流數(shù)據(jù),服務器端先獲得視頻幀,其次將視頻幀序列處理為二分類暴力行為數(shù)據(jù)集中對應的圖像格式,將處理后的視頻幀序列送入暴力行為檢測算法中進行檢測。并將逐幀結果顯示至前端界面,從而實現(xiàn)實時檢測效果。3.3界面設計Streamlit提供了簡單、直觀的API,并且可以直接將應用程序部署到各種平臺上,包括本地服務器、云服務提供商(如Heroku、AWS、GoogleCloud等)以及共享應用程序平臺(如StreamlitSharing)。界面共包含兩個功能,可以上傳圖片進行圖片檢測,可以開啟攝像頭檢測進行實時顯示。其中開啟實時顯示功能主要是通過傳輸每一幀處理完的圖像至前端界面,從而做到實時顯示的效果。當運行streamlitrunapp.py時,主程序是streamlit啟動腳本,而不是app.py,它負責讀取app.py,然后根據(jù)其中的內容渲染出頁面(HTML)和對應的邏輯(JavaScript),一個簡化的模型如下圖3.。每當運行app.py時,streamlit都會逐行執(zhí)行app.py中的代碼,遇到了streamlit的方法時,streamlit就會將這句話翻譯成前端的HTML+JavaScript去渲染頁面;如果是正常的python語句,那么就交給python解釋器去執(zhí)行。圖3.5streamlit工作原理Figure3.5Howstreamlitworks圖3.6界面展示Figure3.6Interfacedisplay3.4實驗設計實驗采用YOLOv5算法。算法以Adam(AdaptiveMomentEstimation,自適應矩估計優(yōu)化器)為優(yōu)化器,其中采用動量系數(shù)0.9,初始學習率0.01,100個迭代周期,實驗在Win10系統(tǒng)下,利用Python語言,運用PyCharm編譯軟件和PyTorch深度學習框架實現(xiàn)。硬件環(huán)境為Inteli5-10300H,8GB,NvidiaGeForceRTX2070。3.5數(shù)據(jù)集準備1)數(shù)據(jù)集收集整合本文通過收集來自于公開數(shù)據(jù)集、學術研究或者等相關機構提供的暴力行為數(shù)據(jù)。這些數(shù)據(jù)集可能包含各種暴力行為的視頻或圖片,例如打斗、襲擊等。通過整合和篩選這些數(shù)據(jù)集,選擇適合用于訓練模型的圖片數(shù)據(jù)。這可能涉及到對數(shù)據(jù)集進行清洗、去重或者篩選,以確保數(shù)據(jù)的質量和多樣性。2)視頻數(shù)據(jù)截取為了豐富數(shù)據(jù)集,本文還可能采用截取視頻數(shù)據(jù)中的暴力行為片段的方式。這可能包括使用視頻編輯工具或腳本程序,自動或手動地從視頻中截取包含暴力行為的場景,并將其轉換為圖片格式。3)數(shù)據(jù)增強數(shù)據(jù)增強有助于模型學習到更廣泛、更全面的特征,從而增強了模型對于不同場景和情況的適應能力。常用的數(shù)據(jù)增強技術包括但圖像翻轉、圖像旋轉、加入噪聲、裁剪等,其原理為通過對原始數(shù)據(jù)的變化,從而擴充數(shù)據(jù)集,提高泛化能力。4)數(shù)據(jù)集標注為了訓練監(jiān)督學習模型,數(shù)據(jù)集需要進行標注。在這個過程中,本文會為每張圖片添加標簽,指明該圖片是暴力畫面還是正常畫面。通過手動標注或者使用自動化工具進行。5)數(shù)據(jù)集格式化將數(shù)據(jù)集整理為特定的Imagenet數(shù)據(jù)集格式。統(tǒng)一數(shù)據(jù)集的結構,使得數(shù)據(jù)集能夠被常見的深度學習框架讀取和處理。3.6模型訓練3.6.1訓練流程整體流程如圖3.1所示。首先,需要準備數(shù)據(jù)集,這包括收集、標注和預處理數(shù)據(jù),確保數(shù)據(jù)集包含足夠多樣性和代表性。然后將數(shù)據(jù)作為輸入,在開始訓練時,使用隨機下降算法更新網(wǎng)絡參數(shù),逐漸優(yōu)化模型,根據(jù)損失函數(shù)降低loss值,并且在最后將識別結果顯示在輸出圖片上,從而得到最終結果。圖3.2部分數(shù)據(jù)集Figure3.2Partofthedataset圖3.3訓練流程Figure3.3Trainingprocess圖3.4預測類別與實際類型的對比Figure3.4Comparisonofpredictedcategoriesandactualtypes3.6.2優(yōu)化器選擇優(yōu)化器在深度學習中扮演著關鍵角色,它通過調整模型參數(shù),從而實現(xiàn)最小化損失函數(shù)。在訓練過程中,模型通過反向傳播算法計算損失函數(shù)的梯度,優(yōu)化器據(jù)此更新模型參數(shù)。在本文中,我們選用了Adam算法進行優(yōu)化。Adam算法將動量優(yōu)化和自適應學習率的理念結合在一起,它能夠在訓練過程中自動調整學習率,并具備一定的動量性質,從而提高了訓練速度和穩(wěn)定性。通過計算梯度的一階矩估計(即梯度的均值)和二階矩估計(即梯度的方差),Adam算法能夠自適應地調整每個參數(shù)的學習率。這樣,不同參數(shù)和時間步長上的學習率具有不同的縮放比例,使得參數(shù)更新更加高效。Adam它在深度學習中被廣泛使用,通常表現(xiàn)出比傳統(tǒng)的隨機梯度下降(SGD)優(yōu)化器更快的收斂速度和更好的穩(wěn)定性。以下是Adam算法的流程:1)初始化參數(shù)初始化模型參數(shù)θ。初始化兩個動量變量m和v為零向量。這些動量變量將分別用于存儲梯度的一階矩估計和二階矩估計。2)設定超參數(shù)設置學習率α,用于控制參數(shù)更新的步長。設置兩個指數(shù)衰減率參數(shù)β1和β2,用于計算一階矩估計和二階矩估計的指數(shù)加權移動平均。設置一個較小的常數(shù)3)迭代更新參數(shù)4)終止條件當達到指定的迭代次數(shù)T或滿足其他終止條件時,停止優(yōu)化算法。在Adam算法中,動量變量m和v分別存儲了梯度的一階矩估計和二階矩估計,它們通過指數(shù)加權移動平均進行更新。算法中的偏差修正操作旨在解決在訓練初期動量變量偏向零的問題。最后,通過計算更新參數(shù)的步長,實現(xiàn)參數(shù)的更新。3.7實驗結果評估圖像分類模型的評價指標主要用于衡量模型在分類任務中的性能表現(xiàn)。以下是一些常用的圖像分類模型評價指標:1)準確率(Accuracy)準確率是指模型在測試集上正確分類的樣本數(shù)量除以總樣本數(shù)量,得到的比值。但在數(shù)據(jù)集類別不平衡的情況下可能會產生偏差,導致此指標不準確。公式如下:Accuracy=正確分類的樣本數(shù)總樣本數(shù)×100%2)精確率(Precision)精確率是指模型在所有預測結果中預測為正例的比值。計算公式如下:Precision=TPTP+其中,TP表示真正例(TruePositive),F(xiàn)P表示假正例(FalsePositive)。3)混淆矩陣(ConfusionMatrix)混淆矩陣是N×N的矩陣,N代表分類數(shù)目。該方法通過對模型的預測結果和實際標注數(shù)據(jù)的比較,實現(xiàn)了對每一類模型的分類。在本分類任務中,主要采用Top-1,Top-5準確率描述模型的性能。公式如下:top?1Accuracy=預測正確的圖3.7訓練Top-1準確度Figure3.7TrainingTop-1accuracyTop-5準確率(acc_top5):Top-5準確率是指模型在所有預測結果中,有多少比例的樣本的真實標簽位于模型前五個最高預測概率對應的類別之中。Top-5準確率相對于Top-1是更為寬松的評估指標,顯然Top-5Accuracy>=Top-1Accuracy,本文為二分類問題,所以Top-5準確率始終為1,并無參考意義。top?5Accuracy=真實類別在預測的圖3.8訓練Top-5準確度Figure3.8TrainingTop-5accuracy圖3.9學習率曲線Figure3.9Learningratecurve
第4章融合注意力機制的暴力行為檢測本章設計一種基于混合注意力模塊的YOLOv5網(wǎng)絡,通過改進網(wǎng)絡結構來提高檢測準確度,以完善校園場景下的暴力行為檢測方法,首先闡述第三章應用YOLOv5進行暴力行為檢測時的不足與問題,具體介紹了CA注意力機制的原理,并將其添加進網(wǎng)絡結構,并在本章的最后,通過在自制的暴力行為自殺行為數(shù)據(jù)集上進行對比試驗來驗證本章提出方法的有效性。4.1引言應用YOLOv5在進行暴力行為檢測時多基于GPU等高算力的設備運行,但暴行行為發(fā)生的場景檢測情況復雜,主要存在以下問題:1)魯棒性問題YOLO對光照、姿態(tài)、背景等因素的變化預測效果準確性有限。在暴力行為檢測中,人們可能以不同的姿態(tài)、角度進行暴力行為,模型需要能夠準確地識別這些情況。2)類別不平衡問題在暴力行為檢測中,正樣本(暴力行為)往往會比負樣本(非暴力行為)少得多,這可能導致類別不平衡問題。模型可能會傾向于更容易識別的負樣本,而忽略掉正樣本。因此需要采取調整損失函數(shù)權重和數(shù)據(jù)增強策略處理類別不平衡。3)模型實時性問題YOLOv5在暴力行為檢測中,需要確保模型能夠在實時場景中快速準確地檢測出暴力行為,同時不損失太多的精度。因此,可能需要對模型進行一些優(yōu)化,以提高其性能。因此本文提出視覺注意力機制以提高暴力行為檢測模型中的性能與解釋性,使其減輕背景干擾,適應不同尺度和姿態(tài)下的暴力行為檢測。4.2視覺注意力機制簡述注意力機制(AttentionMechanism)是模仿現(xiàn)實生活中,人眼觀察圖像時的實際情況,模仿人類視覺的機能。人類在實際情況下觀察圖像時,注意力的分配并不是平均的,而是側重的將注意力分配在關鍵的部分,例如一個人的臉,一篇文章的標題等等,學習人類視覺的這一特點,通過引入注意力機制,它使得神經網(wǎng)絡能夠在處理輸入數(shù)據(jù)時集中更加重要的部分,類似人在觀察事物時首先抓住核心物體。通過這一機制,從而使模型的性能與泛化性有了更好的提升。當下較常用的注意力機制有通道注意力機制(SqueezeandExcitationblock,SE)[7]、卷積注意力機制(ConvolutionalBlockAttentionModule,CBAM)[8]以及坐標注意力機制(CoordinateAttention,CA)[9]三種機制。本文決定采取相對更加完備的CA注意力機制增強分類效果。4.3CA注意力機制現(xiàn)在的輕量級網(wǎng)絡模型,其中注意力機制大多采用SE模塊,忽略了位置信息,僅考慮了通道間的信息。而CA分別在寬度和高度兩個方向上進行平均池化,可以有效的避免空間信息全部壓縮到通道中,從而可以得到高度寬度兩個維度上的兩組特征圖,最后通過拼接方式,統(tǒng)一通過激活函數(shù)從而得到兩個維度上的權重。 coordinateattention同時考慮通道間信息與方向相關的位置信息,這有助于模型更好地定位和識別目標。而且它能夠簡單輕易的插入網(wǎng)絡結構中的某一層,因為它的靈活性和輕量性,CA模塊使用便捷性與實用性都較高。圖4.1坐標注意力模塊(CA)Figure4.1Coordinateattentionmodule(CA)在此基礎上,CA提出一種新的基于長、寬的視覺感知方法,即通過將特征圖劃分為寬、高兩個方向,并對其進行全局平均。通過該方法,可以得到寬、高兩個方向上的特征圖公式如下:&&zc?(?)=zcw(w)=1H然后,對所得到的圖像進行寬、高兩個方向的圖像進行拼接。然后,這些數(shù)據(jù)被送到一個具有1×1卷積核的共享卷積模塊中,從而把維數(shù)降到原始C/r。最后,將經過批量規(guī)范化的特征圖輸入到Sigmoid激勵函數(shù)中。f=δF1z?,g?=σF?fgw=σFwf最后再通過以下公式進行有關注意力權重的加權計算,從而得到增加注意力權重的最終特征圖,公式如下:yc(i,j)=xc(i,j)×4.4模型改進在原YOLOv5s網(wǎng)絡模型的基礎上,主干網(wǎng)絡部分,在SPPF(SpatialPyramidPooling-Fast)模塊前面加入CA注意力模塊,此時主干網(wǎng)絡結構變?yōu)椋簣D4.2網(wǎng)絡結構Figure4.2Networkstructure定義了一個名為CoordAtt的類,它實現(xiàn)了一個坐標注意力(CoordinateAttention,CA)模塊。CoordAtt類接受三個參數(shù):inp表示輸入特征圖的通道數(shù),oup表示輸出特征圖的通道數(shù),reduction表示注意力機制中降維的比例。該算法先用nn.AdaptiveAvgPool2d對輸入的特征圖執(zhí)行平均池運算,從而獲得沿高、寬兩個方向的池化結果。然后,在信道維度上對這兩個池進行連接,并對其進行卷積,批量標準化,激活功能。在此基礎上,對圖像進行長、寬兩個方向的圖像分割,并將其作為兩個卷積網(wǎng)絡,以求出各區(qū)域在長、寬兩個方向上的注意權重。最后,利用所求的注意權乘以輸入的特性圖,就可以獲得一幅圖像。總的來說,CoordAtt模塊主要在通道維度上進行操作,通過利用輸入特征圖的高度和寬度信息,增強不同通道之間的關系,從而提升特征圖的表示能力,代碼如圖所示。圖4.3坐標注意力模塊(CA)Figure4.3Coordinateattentionmodule(CA)4.5改進結果在訓練過程中,本文截取部分迭代周期,通過表和折線圖對比acc_top1指標,注意力模型可以有效提升模型分類精度。表4.1acc_top1對比Table4.1acc_top1comparisonepoch9101112131415161718yolov5s0.9660.9670.9650.9800.9590.9790.9810.9710.9590.982yolov5s-CA0.9490.9770.9780.9760.9870.9880.9810.9860.9640.991圖4.4模型對比Figure4.4Modelcomparison第5章總結與展望5.1總結圖像分類是計視覺領域的較為重要且基礎的方向之一,使目標檢測與姿勢識別的基礎,具有重要的意義。傳統(tǒng)的圖像分類方法多通過手工設計的特征提取器(如SIFT等)和傳統(tǒng)的機器學習算法(如SVM、KNN等)。這些方法在一些簡單的圖像分類任務上取得了一定的成功,但在復雜場景下往往表現(xiàn)不佳。深度學習方法在圖像分類任務上取得了巨大成功。深度學習模型通常以CNN結構為基礎,例如上文介紹的一些經典的深度學習模型ResNet等。本文主要采用yolo算法解決暴力行為識別這一基本問題,對校園中人群的行為進行分類處理,分為正常行為與暴力行為,檢測結果實時性好、較為精準。在本文中,我主要解決了以下問題:1.綜述系統(tǒng)所涉及基礎知識與技術,如卷積神經網(wǎng)絡、YOLO算法、注意力機制、streamlit前端界面,并總結分析圖像分類經典算法與YOLOv5算法的原理與特點等。2.制作暴力行為訓練集。此問題為二分類問題,但是存在某一種類別(暴力行為)這一類別相較于另一一種類別(正常行為)數(shù)據(jù)量較少的情況。為了增加數(shù)據(jù)集的多樣性和魯棒性,使用了數(shù)據(jù)增強技術。常見的數(shù)據(jù)增強方式包括圖像翻轉、圖像旋轉、加入噪聲、裁剪等。有效地擴充數(shù)據(jù)集,提高模型的泛化能力。3.介紹了Adam優(yōu)化器算法,分析其算法流程、數(shù)學原理與作用機制。4.引入CA注意力機制進行模型訓練,使得神經網(wǎng)絡能夠在處理輸入數(shù)據(jù)時集中注意力于相關的部分。這一機制模擬現(xiàn)實淚人類視覺工作原理,同時獲取通道間與方向相關的位置信息,從而提高了模型對圖像定位和識別能力。提高模型的性能和泛化能力。從而成功提高了top-1accuracy至大約98%的程度。5.利用streamlit完成對系統(tǒng)的前端界面的設計,完成了檢測圖片與實習檢測兩個功能。5.2技術展望盡管YOLOv5在速度和準確率方面已經取得了很好的平衡,但根據(jù)實際應用問題,在嵌入式設備上部署模型是此模型應用于實際任務場景的重要步驟之一,嵌入式設備通常受限于計算資源和內存容量,因此對模型進行優(yōu)化和適配變得至關重要。在未來,隨著嵌入式設備的應用范圍不斷擴大,對模型進行優(yōu)化的需求也將變得更加迫切??梢詴婕耙韵聨讉€方面:通過模型剪枝、壓縮模型、量化等方法,來減小模型的體積和參數(shù)量,增強此類模型部署在嵌入式設備上的效率。應用跨模態(tài)學習技術,結合圖像和其他傳感器數(shù)據(jù)(如雷達、激光雷達等)進行跨模態(tài)學習,提高模型對多種數(shù)據(jù)來源的適應能力,進而提高模型的魯棒性和準確性。多尺度技術提高模型對不同尺寸物體的檢測和分類能力??梢蕴剿鲗⒍喑叨葯z測和多尺度融合技術引入,以進一步提升模型在不同場景下的適用性。參考文獻[1]LeCunY,BottouL.Gradient-basedlearningappliedtodocumentrecognition[J].ProceedingsoftheIEEE,1998,86(11):2278-2324.[2]Krizhevsky,I.Sutskever,G.E.Hinton,ImageNetclassificationwithdeepconvolutionalneuralnetworks[C].NeuralInformationProcessingSystems,2012:1097-1105.[3]SimonyanK,ZissermanA.VeryDeepConvolutionalNet-worksforLarge-ScaleImageReco-gnition[C].3rdInternationalConferenceonLearningRepresentations,ICLR2015.DOI:10.1109/CVPR.2015.7298594.[4]HeKM,ZhangXY,RenSQ,etal.Deepresiduallearningforimagerecognition[C].2016IEEEConferenceonComputerVisionandPatternRecognition(CVPR).
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 惠州商務禮儀培訓課件
- 宜賓市重點中學2026屆高一化學第一學期期中調研模擬試題含解析
- 關于大型晚會的策劃方案
- 中秋節(jié)活動舉辦策劃方案
- 幼兒園教育教學主任工作方案
- 企業(yè)燙傷試題及答案
- 家電公司信息系統(tǒng)規(guī)劃辦法
- 中考數(shù)學考試試題及答案
- 肺通氣試題及答案
- 家電公司加盟管理辦法
- 2025年藥劑科轉正考試題及答案
- 2025年《中小學校會計制度》試題及答案
- 基孔肯雅熱防控技術指南2025版培訓課件
- 2025版挖掘機采購合同及配件供應范本
- 腹透的居家護理
- 2025-2030中國N-甲基苯胺市場深度調查與前景預測分析報告
- 中國三氯吡氧乙酸行業(yè)市場調查報告
- 學習項目二 音樂表演的“二度創(chuàng)作”-《大魚》 教案 -人音版七下
- 生物安全實驗室消毒管理制度
- 2025年版二級建造師《機電工程》考試真題(題后附權威解析)
- 《中國高血壓臨床實踐指南》
評論
0/150
提交評論