毕业项目推荐:基于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的动物检测识别系统 |
概要
本文将详细介绍如何以官方yolov8、yolov5、yolov11为主干,实现对暴力行为检测识别,且利用PyQt5设计了两种简约的系统UI界面。在界面中,您可以选择自己的视频文件、图片文件进行检测。此外,您还可以更换自己训练的主干模型,进行自己数据的检测。
引言
公共场所的暴力行为实时检测对维护社会安全与公共秩序至关重要。传统监控依赖人工巡查,存在效率低、响应滞后及难以应对复杂场景(如人群密集、动作模糊)等局限。基于深度学习的暴力行为检测系统,通过时空卷积网络与多模态数据(如肢体动作、声音特征)融合分析,可精准识别推搡、打斗等异常行为并实时预警,显著提升检测准确性与响应速度。该系统为智能安防、应急响应及公共安全管理提供技术支撑,对降低犯罪风险、提升治理效能及推动智慧城市建设具有重要实践意义。
我们的系统界面不仅外观优美,而且具备出色的检测精度和强大的功能。它支持多目标实时检测,并允许您自由选择感兴趣的检测目标。
yolov8/yolov5界面如下

yolo11界面如下

关键词:暴力行为识别;目标检测;深度学习;特征融合;注意力机制;卷积神经网络

一、整体资源介绍
项目中所用到的算法模型和数据集等信息如下:
算法模型:
yolov8、yolov8 + SE注意力机制 或 yolov5、yolov5 + SE注意力机制 或 yolo11、yolo11 + 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 640 和 P6 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 的具体介绍:
主要特点
-
增强的特征提取:
- 采用改进的骨干和颈部架构,如在主干网络中引入了 c2psa 组件,并将 c2f 升级为 c3k2。
- c3k 允许用户自定义卷积模块的尺寸,提升了灵活性。
- c2psa 通过整合 psa(位置敏感注意力机制)来增强模型的特征提取效能。
- 颈部网络采用了 pan 架构,并集成了 c3k2 单元,有助于从多个尺度整合特征,并优化特征传递的效率。
-
针对效率和速度优化:
- 精细的架构设计和优化的训练流程,在保持准确性和性能最佳平衡的同时,提供更快的处理速度。
- 相比 YOLOv10,YOLOv11 的延迟降低了 25%-40%,能够达到每秒处理 60 帧 的速度,是目前最快的目标检测模型之一。
-
更少的参数,更高的准确度:
- YOLOv11m 在 COCO 数据集上实现了比 YOLOv8m 更高的 mAP,参数减少了 22%,提高了计算效率,同时不牺牲准确度。
-
跨环境的适应性:
- 可无缝部署在 边缘设备、云平台 和配备 NVIDIA GPU 的系统上,确保最大的灵活性。
-
支持广泛的任务范围:
- 支持多种计算机视觉任务,包括 目标检测、实例分割、图像分类、姿态估计 和 定向目标检测(OBB)。
架构改进
-
主干网络:
- 引入了 c2psa 组件,并将 c2f 升级为 c3k2。
- c3k 支持用户自定义卷积模块尺寸,增强灵活性。
- c2psa 整合了 psa(位置敏感注意力机制),提升特征提取效能。
-
颈部网络:
- 采用 pan 架构,并集成了 c3k2 单元,帮助从多个尺度整合特征并优化特征传递效率。
-
头部网络:
- YOLOv11 的检测头设计与 YOLOv8 大致相似。
- 在分类(cls)分支中,采用了 深度可分离卷积 来增强性能。
性能优势
-
精度提升:
- 在 COCO 数据集上取得了显著的精度提升:
- YOLOv11x 模型的 mAP 得分高达 54.7%。
- 最小的 YOLOv11n 模型也能达到 39.5% 的 mAP 得分。
- 与前代模型相比,精度有明显进步。
- 在 COCO 数据集上取得了显著的精度提升:
-
速度更快:
- 能够满足实时目标检测需求
🌟 四、模型训练步骤
-
使用pycharm打开代码,找到
train.py打开,示例截图如下:

-
修改
model_yaml的值,根据自己的实际情况修改,想要训练yolov8s模型 就 修改为model_yaml = yaml_yolov8s, 训练 添加SE注意力机制的模型就修改为model_yaml = yaml_yolov8_SE -
修改
data_path数据集路径,我这里默认指定的是traindata.yaml文件,如果训练我提供的数据,可以不用改 -
修改
model.train()中的参数,按照自己的需求和电脑硬件的情况更改# 文档中对参数有详细的说明 model.train(data=data_path, # 数据集imgsz=640, # 训练图片大小epochs=200, # 训练的轮次batch=2, # 训练batchworkers=0, # 加载数据线程数device='0', # 使用显卡optimizer='SGD', # 优化器project='runs/train', # 模型保存路径name=name, # 模型保存命名) -
修改
traindata.yaml文件, 打开traindata.yaml文件,如下所示:

在这里,只需修改 path 的值,其他的都不用改动(仔细看上面的黄色字体),我提供的数据集默认都是到yolo文件夹,设置到 yolo 这一级即可,修改完后,返回train.py中,执行train.py。 -
打开
train.py,右键执行。

-
出现如下类似的界面代表开始训练了

-
训练完后的模型保存在runs/train文件夹下

🌟 五、模型评估步骤
-
打开
val.py文件,如下图所示:

-
修改
model_pt的值,是自己想要评估的模型路径 -
修改
data_path,根据自己的实际情况修改,具体如何修改,查看上方模型训练中的修改步骤 -
修改
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', # 保存命名) -
修改完后,即可执行程序,出现如下截图,代表成功(下图是示例,具体以自己的实际项目为准。)

-
评估后的文件全部保存在在
runs/val/exp...文件夹下

🌟 六、训练结果
我们每次训练后,会在 run/train 文件夹下出现一系列的文件,如下图所示:

如果大家对于上面生成的这些内容(confusion_matrix.png、results.png等)不清楚是什么意思,可以在我的知识库里查看这些指标的具体含义,示例截图如下:

🌟完整代码
如果您希望获取博文中提到的所有实现相关的完整资源文件(包括测试图片、视频、Python脚本、UI文件、训练数据集、训练代码、界面代码等),这些文件已被全部打包。以下是完整资源包的截图:

您可以通过下方演示视频的视频简介部分进行获取:
演示视频:
基于深度学习的暴力行为检测识别系统(v8)
基于深度学习的暴力行为检测识别系统(v5)
基于深度学习的暴力行为检测识别系统(v11)
相关文章:
毕业项目推荐:基于yolov8/yolov5/yolo11的暴力行为检测识别系统(python+卷积神经网络)
文章目录 概要一、整体资源介绍技术要点功能展示:功能1 支持单张图片识别功能2 支持遍历文件夹识别功能3 支持识别视频文件功能4 支持摄像头识别功能5 支持结果文件导出(xls格式)功能6 支持切换检测到的目标查看 二、数据集三、算法介绍1. YO…...
服务器CPU微架构
1、微架构图 前端:预解码、解码、分支预测、L1指令缓存、指令TLB缓存 后端:顺序重排缓存器ROB处理依赖,调度器送到执行引擎 执行引擎:8路超标量,每一路可以进行独立的微操作处理 Port0、1、5、6支持整数、浮点数的加…...
用本地浏览器打开服务器上使用的Tensorboard
文章目录 前言一、Tensorboard的安装二、使用步骤1.服务器上的设置2.在本地打开 总结 前言 最近有使用服务器上的Tensorboard的需求,踩了几个雷,现已在搜索和帮助下解决,总结于此。 一、Tensorboard的安装 pip install tensorboard2.12.0注…...
Nginx或Tengine服务器配置SSL证书
本文将全面介绍如何在Nginx或Tengine服务器配置SSL证书,具体包括下载和上传证书文件,在Nginx上配置证书文件、证书链和证书密钥等参数,以及安装证书后结果的验证。成功配置SSL证书后,您将能够通过HTTPS加密通道安全访问Nginx服务器…...
【基础4】插入排序
核心思想 插入排序是一种基于元素比较的原地排序算法,其核心思想是将数组分为“已排序”和“未排序”两部分,逐个将未排序元素插入到已排序部分的正确位置。 例如扑克牌在理牌的时候,一般会将大小王、2、A、花牌等按大小顺序插入到左边&…...
2安卓开发的主要语言
1. Kotlin(官方首选语言) 定位:Google 官方推荐的首选 Android 开发语言(2019 年起)。 优势: 简洁高效:语法糖减少样板代码(如 data class 自动生成 equals()/hashCode()࿰…...
Python练习(握手问题,进制转换,日期问题,位运算,求和)
一. 握手问题 代码实现 ans0for i in range(1,51):for j in range(i1,51):if i<7 and j<7:continueelse:ans 1print(ans) 这道题可以看成是50个人都握了手减去7个人没握手的次数 答案:1204 二.将十进制整数拆解 2.1门牌制作 代码实现 ans0for i in ra…...
vtk 3D坐标标尺应用 3D 刻度尺
2d刻度尺 : vtk 2D 刻度尺 2D 比例尺-CSDN博客 简介: 3D 刻度尺,也是常用功能,功能强大 3D 刻度尺 CubeAxesActor vtkCubeAxes调整坐标轴的刻度、原点和显示效果,包括关闭小标尺、固定坐标轴原点,以及设置FlyMode模…...
蓝桥杯每日一题:第一周周四哞叫时间
蓝桥杯每日一题:第一周周四哞叫时间 疑惑:如何把复杂度控制在Q(n),怎么枚举a和b,longlong的形式又该怎么输入(考虑用string) 思路:枚举倒数第二个b前面有多少个a 这是一…...
DeepSeek本地接口调用(Ollama)
前言 上篇博文,我们通过Ollama搭建了本地的DeepSeek模型,本文主要是方便开发人员,如何通过代码或工具,通过API接口调用本地deepSeek模型 前文:DeepSeek-R1本地搭建_deepseek 本地部署-CSDN博客 注:本文不仅…...
自由学习记录(41)
代理服务器的核心功能是在客户端(用户设备)和目标服务器(网站/资源服务器)之间充当“中介”,具体过程如下: 代理服务器的工作流程 当客户端希望访问某个网站(比如 example.com)时&…...
【编写UI自动化测试集】Appium+Python+Unittest+HTMLRunner
简介 获取AppPackage和AppActivity 定位UI控件的工具 脚本结构 PageObject分层管理 HTMLTestRunner生成测试报告 启动appium server服务 以python文件模式执行脚本生成测试报告 下载与安装 下载需要自动化测试的App并安装到手机 获取AppPackage和AppActivity 方法一 有源码的…...
大模型如何协助知识图谱进行实体关系之间的分析
大模型在知识图谱中协助进行实体关系分析的方式主要体现在以下几个方面: 增强数据标注与知识抽取 大模型通过强大的自然语言处理能力,能够高效地对原始数据进行实体、关系和事件的标注,从而提高数据处理的效率和准确性。例如,Deep…...
推荐几款优秀的PDF转电子画册的软件
当然可以!以下是几款优秀的PDF转电子画册的软件推荐,内容简洁易懂,这些软件都具有易用性和互动性,适合不同需求的用户使用。 ❶ FLBOOK|在线创作平台 支持PDF直接导入生成仿真翻页电子书。提供15主题模板与字体库&a…...
【大模型技术】LlamaFactory 的原理解析与应用
LlamaFactory 是一个基于 LLaMA 系列模型(如 LLaMA、LLaMA2、Vicuna 等)的开源框架,旨在帮助开发者和研究人员快速实现大语言模型(LLM, Large Language Model)的微调、推理和部署。它提供了一套完整的工具链࿰…...
Golang依赖注入实战:从容器管理到应用实践
#作者:曹付江 文章目录 1、示例: 管理依赖关系的容器1.1. 日志记录器设置1.2. 数据库连接设置1.3. 管理依赖关系的容器 2、如何使用容器3、结论 依赖注入(DI)是一种在软件应用程序中促进松散耦合和可测试性的设计模式。它允许将依…...
Node.js二:第一个Node.js应用
精心整理了最新的面试资料和简历模板,有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 创建的时候我们需要用到VS code编写代码 我们先了解下 Node.js 应用是由哪几部分组成的: 1.引入 required 模块:我们可以使用 requi…...
【Python爬虫】利用代理IP爬取跨境电商AI选品分析
引言 随着DeepSeek的流行,越来越多的用户开始尝试将AI工具融入到日常工作当中,借助AI的强大功能提高工作效率。最近又掀起了一波企业出海的小高潮,那么如果是做跨境电商业务,怎么将AI融入工作流中呢?在做跨境电商的时候…...
生命周期总结(uni-app、vue2、vue3生命周期讲解)
一、vue2生命周期 Vue2 的生命周期钩子函数分为 4 个阶段:创建、挂载、更新、销毁。 1. 创建阶段 beforeCreate:实例初始化之后,数据观测和事件配置之前。 created:实例创建完成,数据观测和事件配置已完成,…...
计算机数据库三级刷题总结(博主89分已过,总结的内容分享)
计算机数据库三级刷题总结(博主89分已过,总结的内容分享) 文章目录 计算机数据库三级刷题总结(博主89分已过,总结的内容分享)一、 数据库设计阶段二、事务相关三、数据库设计顺序四、数据库三级模式与二层映…...
相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
3403. 从盒子中找出字典序最大的字符串 I
3403. 从盒子中找出字典序最大的字符串 I 题目链接:3403. 从盒子中找出字典序最大的字符串 I 代码如下: class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
[论文阅读]TrustRAG: Enhancing Robustness and Trustworthiness in RAG
TrustRAG: Enhancing Robustness and Trustworthiness in RAG [2501.00879] TrustRAG: Enhancing Robustness and Trustworthiness in Retrieval-Augmented Generation 代码:HuichiZhou/TrustRAG: Code for "TrustRAG: Enhancing Robustness and Trustworthin…...
【堆垛策略】设计方法
堆垛策略的设计是积木堆叠系统的核心,直接影响堆叠的稳定性、效率和容错能力。以下是分层次的堆垛策略设计方法,涵盖基础规则、优化算法和容错机制: 1. 基础堆垛规则 (1) 物理稳定性优先 重心原则: 大尺寸/重量积木在下…...
在MobaXterm 打开图形工具firefox
目录 1.安装 X 服务器软件 2.服务器端配置 3.客户端配置 4.安装并打开 Firefox 1.安装 X 服务器软件 Centos系统 # CentOS/RHEL 7 及之前(YUM) sudo yum install xorg-x11-server-Xorg xorg-x11-xinit xorg-x11-utils mesa-libEGL mesa-libGL mesa-…...
