畢業項目推薦:基于yolov8/yolov5/yolo11的暴力行為檢測識別系統(python+卷積神經網絡)

文章目錄

  • 概要
  • 一、整體資源介紹
    • 技術要點
    • 功能展示:
      • 功能1 支持單張圖片識別
      • 功能2 支持遍歷文件夾識別
      • 功能3 支持識別視頻文件
      • 功能4 支持攝像頭識別
      • 功能5 支持結果文件導出(xls格式)
      • 功能6 支持切換檢測到的目標查看
  • 二、數據集
  • 三、算法介紹
    • 1. YOLOv8 概述
      • 簡介
    • 2. YOLOv5 概述
      • 簡介
    • 3. YOLO11 概述
      • YOLOv11:Ultralytics 最新目標檢測模型
  • 🌟 四、模型訓練步驟
  • 🌟 五、模型評估步驟
  • 🌟 六、訓練結果
  • 🌟完整代碼

往期經典回顧

項目項目
基于yolov8的車牌檢測識別系統基于yolov8/yolov5的鋼鐵缺陷檢測系統
基于yolov8的人臉表情檢測識別系統基于深度學習的PCB板缺陷檢測系統
基于yolov8/yolov5的茶葉等級檢測系統基于yolov8/yolov5的農作物病蟲害檢測識別系統
基于yolov8/yolov5的交通標志檢測識別系統基于yolov8/yolov5的課堂行為檢測識別系統
基于yolov8/yolov5的海洋垃圾檢測識別系統基于yolov8/yolov5的垃圾檢測與分類系統
基于yolov8/yolov5的行人摔倒檢測識別系統基于yolov8/yolov5的草莓病害檢測識別系統
基于yolov8/yolov5/yolo11的動物檢測識別系統

概要

本文將詳細介紹如何以官方yolov8yolov5yolov11為主干,實現對暴力行為檢測識別,且利用PyQt5設計了兩種簡約的系統UI界面。在界面中,您可以選擇自己的視頻文件、圖片文件進行檢測。此外,您還可以更換自己訓練的主干模型,進行自己數據的檢測。

引言
公共場所的暴力行為實時檢測對維護社會安全與公共秩序至關重要。傳統監控依賴人工巡查,存在效率低、響應滯后及難以應對復雜場景(如人群密集、動作模糊)等局限。基于深度學習的暴力行為檢測系統,通過時空卷積網絡與多模態數據(如肢體動作、聲音特征)融合分析,可精準識別推搡、打斗等異常行為并實時預警,顯著提升檢測準確性與響應速度。該系統為智能安防、應急響應及公共安全管理提供技術支撐,對降低犯罪風險、提升治理效能及推動智慧城市建設具有重要實踐意義。

我們的系統界面不僅外觀優美,而且具備出色的檢測精度和強大的功能。它支持多目標實時檢測,并允許您自由選擇感興趣的檢測目標。

yolov8/yolov5界面如下

在這里插入圖片描述

yolo11界面如下

在這里插入圖片描述

關鍵詞:暴力行為識別;目標檢測;深度學習;特征融合;注意力機制;卷積神經網絡

在這里插入圖片描述

一、整體資源介紹

項目中所用到的算法模型和數據集等信息如下:

算法模型:
? ? yolov8yolov8 + SE注意力機制yolov5yolov5 + SE注意力機制yolo11yolo11 + SE注意力機制

數據集:
? ? 網上下載的數據集,格式都已轉好,可直接使用。

以上是本套代碼算法的簡單說明,添加注意力機制是本套系統的創新點

技術要點

  • OpenCV:主要用于實現各種圖像處理和計算機視覺相關任務。
  • Python:采用這種編程語言,因其簡潔易學且擁有大量豐富的資源和庫支持。
  • 數據增強技術: 翻轉、噪點、色域變換,mosaic等方式,提高模型的魯棒性。

功能展示:

部分核心功能如下:

  • 功能1: 支持單張圖片識別
  • 功能2: 支持遍歷文件夾識別
  • 功能3: 支持識別視頻文件
  • 功能4: 支持攝像頭識別
  • 功能5: 支持結果文件導出(xls格式)
  • 功能6: 支持切換檢測到的目標查看

功能1 支持單張圖片識別

系統支持用戶選擇圖片文件進行識別。通過點擊圖片選擇按鈕,用戶可以選擇需要檢測的圖片,并在界面上查看所有識別結果。該功能的界面展示如下圖所示:
在這里插入圖片描述

在這里插入圖片描述

功能2 支持遍歷文件夾識別

系統支持選擇整個文件夾進行批量識別。用戶選擇文件夾后,系統會自動遍歷其中的所有圖片文件,并將識別結果實時更新顯示在右下角的表格中。該功能的展示效果如下圖所示:
在這里插入圖片描述

在這里插入圖片描述

功能3 支持識別視頻文件

在許多情況下,我們需要識別視頻中的目標。因此,系統設計了視頻選擇功能。用戶點擊視頻按鈕即可選擇待檢測的視頻,系統將自動解析視頻并逐幀識別多個目標,同時將識別結果記錄在右下角的表格中。以下是該功能的展示效果:
在這里插入圖片描述

在這里插入圖片描述

功能4 支持攝像頭識別

在許多場景下,我們需要通過攝像頭實時識別目標。為此,系統提供了攝像頭選擇功能。用戶點擊攝像頭按鈕后,系統將自動調用攝像頭并進行實時識別,識別結果會即時記錄在右下角的表格中。
在這里插入圖片描述

在這里插入圖片描述

功能5 支持結果文件導出(xls格式)

本系統還添加了對識別結果的導出功能,方便后續查看,目前支持導出xls數據格式,功能展示如下:
在這里插入圖片描述

在這里插入圖片描述

功能6 支持切換檢測到的目標查看

在這里插入圖片描述

在這里插入圖片描述

二、數據集

提供全面、結構化的數據集,它不僅包含了豐富的類別,而且已經細致地劃分為訓練集、驗證集和測試集,以滿足不同階段的模型訓練需求。而且數據集的格式,可直接支持YOLO訓練,無需額外的格式轉換工作。

3000張數據集。

部分數據樣式如下:

在這里插入圖片描述
在這里插入圖片描述

三、算法介紹

1. YOLOv8 概述

簡介

YOLOv8算法的核心特性和改進如下:

  • 全新SOTA模型
    YOLOv8 提供了全新的最先進(SOTA)的模型,包括P5 640P6 1280分辨率的目標檢測網絡,同時還推出了基于YOLACT的實例分割模型。與YOLOv5類似,它提供了N/S/M/L/X五種尺度的模型,以滿足不同場景的需求。
  • Backbone
    骨干網絡和Neck部分參考了YOLOv7 ELAN的設計思想。
    YOLOv5的C3結構替換為梯度流更豐富的C2f結構
    針對不同尺度的模型,調整了通道數,使其更適配各種任務需求。
    在這里插入圖片描述
    網絡結構如下:
    在這里插入圖片描述

相比之前版本,YOLOv8對模型結構進行了精心微調,不再是“無腦”地將同一套參數應用于所有模型,從而大幅提升了模型性能。這種優化使得不同尺度的模型在面對多種場景時都能更好地適應。

然而,新引入的C2f模塊雖然增強了梯度流,但其內部的Split等操作對特定硬件的部署可能不如之前的版本友好。在某些場景中,C2f模塊的這些特性可能會影響模型的部署效率

2. YOLOv5 概述

簡介

YOLOV5有YOLOv5n,YOLOv5s,YOLOv5m,YOLOV5l、YOLO5x五個版本。這個模型的結構基本一樣,不同的是deth_multiole模型深度和width_multiole模型寬度這兩個參數。就和我們買衣服的尺碼大小排序一樣,YOLOV5n網絡是YOLOV5系列中深度最小,特征圖的寬度最小的網絡。其他的三種都是在此基礎上不斷加深,不斷加寬。不過最常用的一般都是yolov5s模型。

在這里插入圖片描述
本系統采用了基于深度學習的目標檢測算法——YOLOv5。作為YOLO系列算法中的較新版本,YOLOv5在檢測的精度和速度上相較于YOLOv3和YOLOv4都有顯著提升。它的核心理念是將目標檢測問題轉化為回歸問題,簡化了檢測過程并提高了性能。

YOLOv5引入了一種名為SPP (Spatial Pyramid Pooling)的特征提取方法。SPP能夠在不增加計算量的情況下,提取多尺度特征,從而顯著提升檢測效果。

在檢測流程中,YOLOv5首先通過骨干網絡對輸入圖像進行特征提取,生成一系列特征圖。然后,對這些特征圖進行處理,生成檢測框和對應的類別概率分數,即每個檢測框內物體的類別和其置信度

YOLOv5的特征提取網絡采用了CSPNet (Cross Stage Partial Network)結構。它將輸入特征圖分成兩部分,一部分通過多層卷積處理,另一部分進行直接下采樣,最后再將兩部分特征圖進行融合。這種設計增強了網絡的非線性表達能力,使其更擅長處理復雜背景和多樣化物體的檢測任務。

在這里插入圖片描述

3. YOLO11 概述

YOLOv11:Ultralytics 最新目標檢測模型

YOLOv11 是 Ultralytics 公司在 2024 年推出的 YOLO 系列目標檢測模型的最新版本。以下是對 YOLOv11 的具體介紹:

主要特點

  1. 增強的特征提取

    • 采用改進的骨干和頸部架構,如在主干網絡中引入了 c2psa 組件,并將 c2f 升級為 c3k2
    • c3k 允許用戶自定義卷積模塊的尺寸,提升了靈活性。
    • c2psa 通過整合 psa(位置敏感注意力機制)來增強模型的特征提取效能。
    • 頸部網絡采用了 pan 架構,并集成了 c3k2 單元,有助于從多個尺度整合特征,并優化特征傳遞的效率。
  2. 針對效率和速度優化

    • 精細的架構設計和優化的訓練流程,在保持準確性和性能最佳平衡的同時,提供更快的處理速度。
    • 相比 YOLOv10,YOLOv11 的延遲降低了 25%-40%,能夠達到每秒處理 60 幀 的速度,是目前最快的目標檢測模型之一。
  3. 更少的參數,更高的準確度

    • YOLOv11mCOCO 數據集上實現了比 YOLOv8m 更高的 mAP,參數減少了 22%,提高了計算效率,同時不犧牲準確度。
  4. 跨環境的適應性

    • 可無縫部署在 邊緣設備云平臺 和配備 NVIDIA GPU 的系統上,確保最大的靈活性。
  5. 支持廣泛的任務范圍

    • 支持多種計算機視覺任務,包括 目標檢測實例分割圖像分類姿態估計定向目標檢測(OBB)

架構改進

  1. 主干網絡

    • 引入了 c2psa 組件,并將 c2f 升級為 c3k2
    • c3k 支持用戶自定義卷積模塊尺寸,增強靈活性。
    • c2psa 整合了 psa(位置敏感注意力機制),提升特征提取效能。
  2. 頸部網絡

    • 采用 pan 架構,并集成了 c3k2 單元,幫助從多個尺度整合特征并優化特征傳遞效率。
  3. 頭部網絡

    • YOLOv11 的檢測頭設計與 YOLOv8 大致相似。
    • 在分類(cls)分支中,采用了 深度可分離卷積 來增強性能。

性能優勢

  1. 精度提升

    • COCO 數據集上取得了顯著的精度提升:
      • YOLOv11x 模型的 mAP 得分高達 54.7%
      • 最小的 YOLOv11n 模型也能達到 39.5%mAP 得分
    • 與前代模型相比,精度有明顯進步。
  2. 速度更快

    • 能夠滿足實時目標檢測需求

🌟 四、模型訓練步驟

  1. 使用pycharm打開代碼,找到train.py打開,示例截圖如下:
    在這里插入圖片描述

  2. 修改 model_yaml 的值,根據自己的實際情況修改,想要訓練 yolov8s模型 就 修改為 model_yaml = yaml_yolov8s, 訓練 添加SE注意力機制的模型就修改為 model_yaml = yaml_yolov8_SE

  3. 修改data_path 數據集路徑,我這里默認指定的是traindata.yaml 文件,如果訓練我提供的數據,可以不用改

  4. 修改 model.train()中的參數,按照自己的需求和電腦硬件的情況更改

    # 文檔中對參數有詳細的說明
    model.train(data=data_path,             # 數據集imgsz=640,                  # 訓練圖片大小epochs=200,                 # 訓練的輪次batch=2,                    # 訓練batchworkers=0,                  # 加載數據線程數device='0',                 # 使用顯卡optimizer='SGD',            # 優化器project='runs/train',       # 模型保存路徑name=name,                  # 模型保存命名)
    
  5. 修改traindata.yaml文件, 打開 traindata.yaml 文件,如下所示:
    在這里插入圖片描述
    在這里,只需修改 path 的值,其他的都不用改動(仔細看上面的黃色字體),我提供的數據集默認都是到 yolo 文件夾,設置到 yolo 這一級即可,修改完后,返回 train.py 中,執行train.py

  6. 打開 train.py ,右鍵執行。
    在這里插入圖片描述

  7. 出現如下類似的界面代表開始訓練了
    在這里插入圖片描述

  8. 訓練完后的模型保存在runs/train文件夾下
    在這里插入圖片描述


🌟 五、模型評估步驟

  1. 打開val.py文件,如下圖所示:
    在這里插入圖片描述

  2. 修改 model_pt 的值,是自己想要評估的模型路徑

  3. 修改 data_path ,根據自己的實際情況修改,具體如何修改,查看上方模型訓練中的修改步驟

  4. 修改 model.val()中的參數,按照自己的需求和電腦硬件的情況更改

    model.val(data=data_path,           # 數據集路徑imgsz=300,                # 圖片大小,要和訓練時一樣batch=4,                  # batchworkers=0,                # 加載數據線程數conf=0.001,               # 設置檢測的最小置信度閾值。置信度低于此閾值的檢測將被丟棄。iou=0.6,                  # 設置非最大抑制 (NMS) 的交叉重疊 (IoU) 閾值。有助于減少重復檢測。device='0',               # 使用顯卡project='runs/val',       # 保存路徑name='exp',               # 保存命名)
    
  5. 修改完后,即可執行程序,出現如下截圖,代表成功(下圖是示例,具體以自己的實際項目為準。)
    在這里插入圖片描述

  6. 評估后的文件全部保存在在 runs/val/exp... 文件夾下
    在這里插入圖片描述


🌟 六、訓練結果

我們每次訓練后,會在 run/train 文件夾下出現一系列的文件,如下圖所示:
在這里插入圖片描述

? ?如果大家對于上面生成的這些內容(confusion_matrix.png、results.png等)不清楚是什么意思,可以在我的知識庫里查看這些指標的具體含義,示例截圖如下:

在這里插入圖片描述

🌟完整代碼

? ?如果您希望獲取博文中提到的所有實現相關的完整資源文件(包括測試圖片、視頻、Python腳本、UI文件、訓練數據集、訓練代碼、界面代碼等),這些文件已被全部打包。以下是完整資源包的截圖

在這里插入圖片描述

您可以通過下方演示視頻視頻簡介部分進行獲取:

演示視頻:
基于深度學習的暴力行為檢測識別系統(v8)
基于深度學習的暴力行為檢測識別系統(v5)
基于深度學習的暴力行為檢測識別系統(v11)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/72673.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/72673.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/72673.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

docker中kibana啟動后,通過瀏覽器訪問,出現server is not ready yet

問題:當我在瀏覽器訪問kibana時,瀏覽器給我報了server is not ready yet. 在網上試了很多方法,都未能解決,下面是我的方法: 查看kibana日志: docker logs -f kibana從控制臺打印的日志可以發現&#xff…

在 Docker 中,無法直接將外部多個端口映射到容器內部的同一個端口

Docker 的端口映射是一對一的,即一個外部端口只能映射到容器內部的一個端口。 1. 為什么不能多對一映射? 端口沖突: 如果外部多個端口映射到容器內部的同一個端口,Docker 無法區分外部請求應該轉發到哪個內部端口,會…

游戲引擎學習第120天

倉庫:https://gitee.com/mrxiao_com/2d_game_3 上次回顧:周期計數代碼 我們正在進行一個項目的代碼優化工作,目標是提高性能。當前正在優化某個特定的代碼片段,已經將其執行周期減少到48個周期。為了實現這一目標,我們設計了一個…

C++中的.h文件一般是干什么的?

在C中,.h 文件通常是 頭文件(Header File),它們的主要作用是聲明類、函數、常量、宏以及其他在多個源文件(.cpp文件)之間共享的元素。頭文件提供了一個接口,使得不同的源文件能夠訪問這些共享的…

基礎算法總結

基礎算法總結 1、模擬1.1 什么是模擬算法1.2 算法題1.2.1 多項式輸出1.2.2 蛇形方陣 2 高精度算法2.1 什么是高精度算法2.2 算法題2.2.1 高精度加法 2.2.2 高精度乘法 3 普通枚舉3.1 算法題3.1.1 鋪地毯 3.1.2 回文日期 4 前綴和算法4.1 什么是前綴和4.2 算法題4.2.1 最大子段和…

密碼學(哈希函數)

4.1 Hash函數與數據完整性 數據完整性: 檢測傳輸消息(加密或未加密)的修改。 密碼學Hash函數: 構建某些數據的簡短“指紋”;如果數據被篡改,則該指紋(以高概率)不再有效。Hash函數…

游戲引擎學習第135天

倉庫:https://gitee.com/mrxiao_com/2d_game_3 回顧 game_asset.cpp 的創建 在開發過程中,不使用任何現成的游戲引擎或第三方庫,而是直接基于 Windows 進行開發,因為 Windows 目前仍然是游戲的標準平臺,因此首先在這個環境中進行…

Linux:文件描述符與重定向

目錄 一、文件描述符 1.文件內核對象 2.文件描述符分配原則 二、文件重定向 1.重定向的現象 輸出重定向 輸入重定向 dup2 2.重定向的使用 三、標準輸出和標準錯誤 繼上篇文章中,我們了解了fd打印的值為文件描述符,那么它還有什么作用呢&…

白盒測試(3):PCB阻抗測試方法

PCB阻抗測試是確保信號完整性的關鍵,通過測量走線的特性阻抗,驗證其是否符合設計目標。常用方法包括時域反射法(TDR)、網絡分析儀法和仿真軟件法。TDR通過分析反射信號定位阻抗異常,網絡分析儀通過S參數計算阻抗&#…

CentOS 7 安裝Nginx-1.26.3

無論安裝啥工具、首先認準了就是官網。Nginx Nginx官網下載安裝包 Windows下載: http://nginx.org/download/nginx-1.26.3.zipLinxu下載 wget http://nginx.org/download/nginx-1.26.3.tar.gzLinux安裝Nginx-1.26.3 安裝之前先安裝Nginx依賴包、自行選擇 yum -y i…

筆記:如何使用XAML Styler以及在不同的開發環境中使用一致

一、目的:分享如何使用XAML Styler以及在不同的開發環境中使用一致 XAML Styler 是一個 Visual Studio 擴展,用于自動格式化和整理 XAML 文件。它可以幫助開發者保持一致的代碼風格,提高代碼的可讀性和可維護性。以下是如何在 Visual Studio …

分布式存儲學習——HBase概述

1.1 HBase概述 1.1.1 理解大數據背景 1.1.2 HBase是什么 1.1.3 HBase與Hadoop的關系 1.1.4 HBase的核心功能模塊 1.1.5 HBase的應用場景和經典案例 1.1.6 小結 本文參考于學校《HBase應用于開發》教材 1.1 HBase概述 本節將介紹大數據背景和HBase的基本概念&#xff0c…

交叉編譯openssl及curl

操作環境:Ubuntu20.04 IDE工具:Clion2020.2 curl下載地址:https://curl.se/download/ openssl下載地址:https://openssl-library.org/source/old/index.html 直接交叉編譯curl會報錯找不到openssl,所以需要先交叉編…

MDM 如何徹底改變醫療設備的遠程管理

在現代醫療行業迅速發展的格局中,醫院和診所越來越依賴諸如醫療平板和移動工作站等移動設備。這些設備在提高工作效率和提供卓越的患者護理方面發揮著關鍵作用。然而,隨著它們的廣泛使用,也帶來了一系列挑戰,例如在不同地點確保數…

零基礎C語言學習日志22(自定義類型:聯合和枚舉)

目錄 聯合體 聯合體類型的聲明 聯合體的特點 相同成員聯合體和結構體的對比 聯合體大小的計算 例子 枚舉類型 枚舉類型的聲明 枚舉類型的優點 枚舉類型的使用 聯合體 聯合體類型的聲明 像結構體一樣,聯合體也是由一個或者多個成員構成,這些成…

天津大學02-深度解讀DeepSeek:部署、使用、安全【文末附下載鏈接】

大模型風險與不當用例——價值觀錯位 大模型與人類價值觀、期望之間的不一致而導致的安全問題,包含:? 社會偏見(Social Bias)LLM在生成文本時強化對特定社會群體的刻板印象,例如將穆斯林與恐怖主義關聯,或…

[C語言日寄] 字符串操作函數的使用及其拓展

【作者主頁】siy2333 【專欄介紹】?c語言日寄?:這是一個專注于C語言刷題的專欄,精選題目,搭配詳細題解、拓展算法。從基礎語法到復雜算法,題目涉及的知識點全面覆蓋,助力你系統提升。無論你是初學者,還是…

Qt 進度條與多線程應用、基于 Qt 的文件復制工具開發

練習1:Qt 進度條與多線程應用 題目描述 開發一個基于 Qt 的應用程序,該應用程序包含一個水平進度條(QSlider),并且需要通過多線程來更新進度條的值。請根據以下要求完成代碼: 界面設計: 使用 QS…

Gartner:數據安全平臺DSP提升數據流轉及使用安全

2025 年 1 月 7 日,Gartner 發布“China Context:Market Guide for Data Security Platforms”(《數據安全平臺市場指南——中國篇》,以下簡稱指南),報告主要聚焦中國數據安全平臺(Data Securit…

道可云人工智能每日資訊|《奇遇三星堆》VR沉浸探索展(淮安站)開展

道可云元宇宙每日簡報(2025年3月5日)訊,今日元宇宙新鮮事有: 《奇遇三星堆》VR沉浸探索展(淮安站)開展 近日,《奇遇三星堆》VR沉浸探索展(淮安站)開展。該展將三星堆文…