摘要:随着社会经济的快速发展,商场、超市等公共场所的安全防范需求日益增长,传统的人工监控方式存在效率低、成本高、易疲劳等问题,难以满足实时监控和智能预警的需求。基于深度学习的智能视频监控技术为解决这一问题提供了新的思路。本研究针对商场盗窃行为识别这一实际应用场景,设计并实现了一套智能安防系统,旨在提高安防监控的自动化和智能化水平。
项目简介
基于改进YOLOv8与BiLSTM的智能安防盗窃行为识别系统,融合CBAM注意力机制、ByteTrack多目标跟踪和时序行为分析技术,实现商场等公共场所的实时监控与智能预警。
系统概述
本研究采用基于深度学习的技术路线,以改进的YOLOv8模型为核心构建完整的视频分析流水线。在目标检测环节,通过引入CBAM(Convolutional Block Attention Module)注意力机制增强模型对关键特征的提取能力,同时采用EIoU损失函数优化边界框回归精度,有效提升复杂场景下对小目标和遮挡目标的检测性能。多目标跟踪模块基于ByteTrack算法实现,结合 卡尔曼滤波进行运动状态预测,利用匈牙利算法完成检测框与轨迹的数据关联,并通过Re-ID特征增强对相似目标的区分能力,确保在遮挡、交叉等复杂情况下仍能维持稳定的身份标识。行为识别层面, 设计基于双向LSTM的时序建模网络,从连续轨迹序列中提取运动速度、方向变化、停留时间等多维特征,通过注意力机制强化关键帧的贡献度,实现对”正常”、”徘徊”、”潜行”、”伸手”、”逃离”五类行 为的细粒度分类,并在应用层面将后四类归并为”盗窃行为”进行统一告警,兼顾了模型的识别精度与系统的实用性。
系统集成阶段采用分层架构设计,基于PyTorch深度学习框架开发核心算法模块,利用OpenCV处理视频流输入输出,通过PyQt5构建直观的可视化界面。针对实际部署需求,采用模型量化、层融合等技术优化推理效率,确保系统在边缘计算设备上的实时性能。整个开发过程遵循模块化设计原则,各组件间通过标准化接口进行数据交换,便于独立调试与性能优化。通过建立完整的数据预处理、模型训练、性能评估管道,确保系统各模块的协调运行与整体性能的最优化。
实验结果表明,改进的YOLOv8模型在目标检测精度上相比原始模型有显著提升,ByteTrack算法实现了稳定的多目标跟踪,BiLSTM-Attention网络对五类行为的识别准确率达到较高水平。系统能够实时处理视频流,准确识别和跟踪目标,及时发现异常行为并触发告警。本研究为智能安防领域提供了一套完整的技术解决方案,具有良好的实用价值和推广前景,可广泛应用于商场、超市、仓库等场所的安全监控。
系统架构
本系统采用经典的架构设计:

图1 智能安防盗窃行为识别系统
核心亮点
引入CBAM注意力机制增强特征提取,采用EIoU损失函数优化边界框回归,结合ByteTrack多目标跟踪和BiLSTM-Attention时序建模,实现盗窃行为的精准识别。
算法详解
YOLOv8 是 Ultralytics 推出的新一代目标检测模型,在网络结构、检测头设计、损失函数和训练策略等方面对 YOLOv5 进行了优化。该模型提供 N、S、M、L、X 等多种尺度版本,以适应不同场景需求。相比 YOLOv5,YOLOv8 将 C3 模块替换为 C2f 模块,增强了特征提取能力;采用解耦头和 Anchor-Free 机制,提高了检测精度与收敛效率;在损失计算中引入 TaskAlignedAssigner 和 Distribution Focal Loss,增强了边界框回归能力;同时在训练后期关闭 Mosaic 数据增强,进一步提升模型精度与泛化性能。

图3 YOLOv8网络架构图
基于CBAM的特征增强机制
本研究在YOLOv8的C2f模块后引入CBAM(Convolutional Block Attention Module)注意力机制,通过通道注意力和空间注意力的级联实现特征自适应加权。通道注意力模块利用全局平均池化和全局最大 池化提取特征图的全局信息,通过共享MLP网络学习通道间的依赖关系,生成通道注意力权重;空间注意力模块则通过沿通道维度的池化操作捕获空间位置的重要性,生成空间注意力图。双重注意力机制 的引入使模型能够自适应地强化关键特征、抑制冗余信息,在复杂背景和多目标场景下显著提升检测性能。
基于EIoU的边界框回归优化
针对传统IoU损失函数在小目标和长宽比差异较大目标上的局限性,本研究采用EIoU(Efficient IoU)损失函数进行边界框回归优化。EIoU通过将边界框的宽度、高度和中心点距离分别建模,避免了传 统IoU损失中的耦合问题,加速了模型收敛。同时,EIoU对长宽比的独立优化使得模型在处理不同形状目标时更加鲁棒,有效提升了小目标的定位精度和遮挡目标的检测召回率。
性能突破
本研究构建了包含6,072张图像的盗窃行为检测数据集,按照7:2:1的比例划分为 训练集(4,250张)、验证集(1,214张)和测试集(608张),共标注3,560+个人物 目标。数据集包含35%的背景样本以减少误检。在此数据集上,改进YOLOv8n-CBAM-EIOU 模型经过150轮训练(RTX 4070 Ti SUPER,耗时3.1小时),在验证集上达到98.2%的 mAP@0.5和90.4%的mAP@0.5:0.95,精确率94.6%,召回率96.5%。相比标准YOLOv8n, 改进模型仅增加0.8%的参数量(3,035,507 vs 3,011,043),但性能显著提升。

图2 改进模型性能分析图
系统功能
基于改进YOLOv8(CBAM+EIoU)、ByteTrack多目标跟踪和BiLSTM-Attention时序建模的智能安防盗窃行为实时识别与预警系统。
功能概述
本系统基于改进YOLOv8(CBAM+EIoU)深度学习模型,实现了安防场景下盗窃行为的智能检测与识别。系统采用PyQt5构建图形用户界面,提供图片检测、视频检测、实时摄像头检测三种工作模式,并集成了多目标跟踪(ByteTrack)、时序行为识别(BiLSTM-Attention)、五类行为分类(正常/徘徊/潜行/伸手/逃离)、并在应用层面将后四类归并为”盗窃行为”进行统一告警、实时统计分析、检测记录管理等功能,为商场安防监控的盗窃行为智能识别与实时预警提供高效、可靠的技术支撑。
视频检测功能
视频检测模式支持对录制的视频文件(MP4、AVI、MOV格式)进行逐帧检测,用户点击”视频检测”按钮选择视频文件后,系统启动VideoProcessThread线程异步读取视频流并对每一帧进行实时人物检测与行为识别,在界面中显示标注后的视频画面(包含边界框、跟踪ID、行为标签)、当前检测帧率(FPS)和累计统计信息(检测人数、盗窃行为次数),采用多线程处理技术避免界面卡顿。系统集成改进YOLOv8(CBAM+EIoU)进行人物检测、ByteTrack算法进行多目标跟踪、BiLSTM-Attention网络进行时序行为识别,当检测到盗窃行为(徘徊、潜行、伸手、逃离)时触发pyttsx3语音播报告警,检测记录自动保存到SQLite数据库并记录视频中出现的行为类别和时间分布情况,用户可随时查看详细的检测日志和统计报表。
实时检测功能
摄像头检测模式支持连接本地摄像头进行实时盗窃行为检测,用户点击”摄像头检测”按钮后,系统启动VideoProcessThread线程打开本地摄像头进行实时视频流检测,实时显示检测结果(边界框、跟踪ID、行为标签)、行为类别和置信度,当检测到盗窃行为(徘徊、潜行、伸手、逃离)时自动触发pyttsx3语音播报告警,界面实时更新行为统计信息(检测人数、盗窃行为次数、各类行为分布),检测记录自动保存到SQLite数据库,用户可随时点击查看详细的检测日志和历史记录。系统采用改进YOLOv8(CBAM+EIoU)进行人物检测、ByteTrack算法进行多目标跟踪、BiLSTM-Attention网络进行时序行为识别,实现端到端的实时智能监控。
系统架构
本系统采用Python 3.12开发,基于Ultralytics改进YOLOv8框架实现目标检测,使用PyQt5构建GUI,通过OpenCV处理图像视频,采用PIL渲染中文标签,利用VideoProcessThread多线程保证流畅性,集成 pyttsx3语音引擎实现盗窃行为语音告警(针对徘徊、潜行、伸手、逃离行为实时播报),使用SQLite数据库实现数据持久化存储。系统集成改进YOLOv8检测模块(CBAM注意力机制+EIoU损失函数)、Byt eTrack多目标跟踪模块(卡尔曼滤波+匈牙利算法+Re-ID特征)、BiLSTM-Attention行为识别模块(522维特征融合),建立包含人物检测、目标跟踪、行为识别、语音告警、数据管理的完整技术体系, 通过检测日志对话框提供详细的检测记录展示和导出功能,为商场安防监控的盗窃行为智能识别与实时预警提供完整技术解决方案。

图5 系统总流程图
运行展示
系统界面分为左侧视频显示区域、右侧控制面板和统计信息两个区域。左侧实时显示检测画面(标注边界框、跟踪ID、行为标签),右侧提供视频/摄像头检测切换、行为识别开关、告警设置(画面红框闪烁/语音告警)、检测阈值调节(置信度/跟踪阈值)、实时统计分析(检测人数/盗窃行为次数/行为分布)、检测记录管理等完整功能,界面简洁直观、操作便捷。
检测效果展示
登录界面:

图6 登录主界面
用户登录界面,展示系统入口

图7 注册主界面
用户注册界面,新用户创建账号
系统运行模块:

图8 系统运行界面

图9 视频检测:盗窃行为

图10 视频检测:正常行为

图11 实时检测:盗窃行为

图12 实时检测:正常行为
数据集与训练
系统采用两阶段训练策略:基于6,072张图片数据集(4,250训练+1,214验证+608测试)训练改进YOLOv8人物检测模型,基于648个视频数据集(324正常+324盗窃)训练BiLSTM-Attention行为识别模型。
目标检测数据集
人物检测数据集位于train/datasets/data目录,包含6,072张图片,按7:2:1比例划分为训练集(4,250张)、验证集(1,214张)和测试集(608张)。数据集采用YOLO格式标注,单类别检测(person) ,其中有标注图片3,560+张,背景图片1,904张(占比35%),用于减少误检。所有图片均从盗窃行为视频中提取关键帧,命名格式为shop_lifter__frame_.jpg,每张图片对应 一个同名的.txt标注文件,标注格式为 (归一化坐标)。数据集经过150轮训练,改进YOLOv8n-CBAM-EIOU模型在验证集上达到98.2% mAP@0.5和90.4% mAP@0.5:0.95的检测精度。

图13 数据集划分及类别信息统计示意图
行为识别数据集
行为识别数据集位于dataset目录,包含648个商场监控视频片段(MP4格式),均衡分布于正常行为(324个)和盗窃行为(324个)两类。数据集从真实商场监控场景中采集,视频命名格式为shop_lifter_n_.mp4(正常行为)和shop_lifter_.mp4(盗窃行为)。训练过程中,系统使用改进YOLOv8检测人物、ByteTrack跟踪目标轨迹,并通过ResNet18提取512维CNN特征,结合10维手工特征(位置、速度、加速度、方向变化等),构建522维混合特征序列(8帧时序),用于训练BiLSTM-Attention时序行为识别模型。模型支持5类细粒度行为识别(正常、徘徊、潜行、伸手、逃离),为智能安防监控提供准确的行为分析能力。
目标检测数据集训练流程训练流程
模型训练采用端到端方式,加载训练集和验证集进行预处理(单类person检测),使用YOLOv8n预训练权重初始化改进模型(集成CBAM注意力机制和EIoU损失),通过SGD优化器训练150轮(batch=8,图像640×640,应用Mosaic和RandAugment增强),每轮在验证集上评估性能指标(Precision、Recall、mAP@0.5、mAP@0.5:0.95),自动保存最佳权重(best.pt),最终输出性能报告和训练曲线。

图14 模型训练流程
训练流程:
1. 开始训练 → 加载训练集和验证集进行数据预处理
2. 模型初始化 → 加载YOLOv8n预训练权重,使用改进的YOLOv8架构(集成CBAM注意力机制和EIoU损失函数)
3. 模型训练 → 使用SGD优化器进行150轮迭代训练,应用数据增强技术
4. 模型验证 → 每轮训练后在验证集上评估性能指标(Precision, Recall, mAP@0.5, mAP@0.5:0.95)
5. 最佳模型保存 → 系统自动监控验证性能,保存验证集上性能最佳的模型权重(best.pt)
6. 训练完成 → 输出完整的性能指标报告和训练曲线图
行为识别数据集训练流程
行为识别数据集训练采用端到端方式,加载648个视频样本(正常324、盗窃324)进行预处理,使用ResNet18提取512维CNN特征结合10维手工特征构成522维特征向量并预缓存。

图15 行为数据集模型训练流程
硬件环境

训练结果
运行目标检测模型训练脚本:\train\train.py
训练曲线分析:
下图展示了模型在150轮训练过程中的完整性能变化,包括损失函数曲线和精度指标曲线:

图16 训练曲线分析
图中展示了10个关键指标的训练过程:训练损失(box/cls/dfl)、验证损失(box/cls/dfl)、精确率、召回率、mAP@50和mAP@50-95
(1)损失函数曲线
从训练曲线图可以看出,训练过程中损失函数呈现稳定下降趋势:train/box_loss从1.3降至0.4,train/cls_loss从1.5降至0.3,train/dfl_loss从1.1降至0.85;验证集损失走势一致,val/box_loss从1.1降至0.5,val/cls_loss从1.3降至0.35,val/dfl_loss从1.1降至0.85,曲线平滑无过拟合。
(2)精度指标曲线
Precision曲线从初始值85%快速上升,最终稳定在95%;Recall曲线从90%稳步提升,最终达到97%;mAP@50曲线从85%快速上升,最终稳定在98.5%;mAP@50-95曲线从初始的65%持续上升,经历快速上升阶段(0-30轮,提升至80%)、稳定提升阶段(30-100轮,提升至88%)和收敛稳定阶段(100-150轮),最终达到90.5%。
(3)Precision-Recall 曲线

图17 Precision-Recall 曲线
展示模型在不同置信度阈值下的精确率和召回率关系,all classes mAP@0.5达到0.982
(4)混淆矩阵(归一化)

图18 归一化混淆矩阵
归一化混淆矩阵展示模型的分类准确性
最佳模型选择
训练过程中,系统自动保存验证集上性能最佳的模型,最佳模型出现在第150轮(mAP@50-95达到峰值90.28%),保存路径为runs/train/yolov8_cbam_eiou/weights/best.pt,选择标准为验证集mAP@50:0.95指标最高。
训练稳定性分析
- 收敛速度:前30轮快速收敛(74.34%→82.80%),30-90轮稳定提升,90轮后收敛
- 过拟合控制:训练集与验证集损失走势一致,无过拟合
- 训练稳定性:损失曲线平滑,学习率逐步衰减,训练稳定
- 最终状态:最佳模型第150轮,mAP@50-95达90.28%
运行视频行为识别模型训练脚本:train_model_cnn_fast.py

图19 归一化混淆矩阵
训练过程呈现快速收敛特征,训练准确率(蓝线)从初始47%快速上升,在第15轮达到约99%后保持稳定;验证准确率(红线)从初始52%稳步提升,在第20轮达到最佳值93.08%后趋于平稳并维持在90-91%区间。两条曲线在前20轮内快速收敛,训练集与验证集准确率差距约8-9个百分点,表明模型存在轻微过拟合但整体可控。训练曲线平滑无剧烈波动,验证曲线在第25轮出现短暂下降后迅速恢复,显示模型训练稳定性良好,最终在50轮训练中达到训练准确率99.61%、验证准确率93.08%的优异性能。

图20 归一化混淆矩阵
训练损失(蓝线)和验证损失(橙线)均呈现快速下降趋势,训练损失从初始1.03快速下降,在第20轮降至约0.05后趋近于0并保持稳定;验证损失从初始0.71下降,在第20轮达到最低值0.2115(最佳模型点)后略有回升并稳定在0.31左右。两条曲线在前20轮内快速收敛,验证损失在第25轮出现短暂波动(升至约0.47)后回落稳定,与准确率曲线的波动相对应。训练损失持续下降至接近0而验证损失保持在0.31,表明模型在训练集上拟合充分但在验证集上存在一定泛化误差,整体损失曲线平滑无剧烈震荡,显示训练过程稳定且收敛良好。
项目资源
我们提供项目的完整技术资源,包括源代码、训练脚本、配置文件、数据集和模型权重等全部内容。代码采用模块化设计,结构清晰,注释完善,支持完全复现论文中的所有实验结果。项目提供详细的文件清单和技术架构说明(网页已经提供),帮助用户快速理解项目结构,便于二次开发和功能扩展。所有资源均已开源,遵循AGPL-3.0协议,用户可自由使用、修改和分发。

关于项目
基于YOLOv8的茶叶病虫害智能检测系统,实现7类病虫害实时识别与防治建议推送。
作者信息
作者:Bob (张家梁)
项目编号:YI_2
原创声明:本项目为原创作品

开源协议
本项目采用AGPL-3.0开源协议,允许个人和组织自由使用、修改和分发代码,但基于本项目的衍生作品必须同样开源,且用于提供网络服务时需向用户提供完整源代码。本项目仅供学习研究使用,作者不对使用本项目产生的任何后果承担责任,使用者应遵守当地法律法规,合理合法使用本项目。如本项目对您的研究或工作有所帮助,欢迎引用并注明出处。


评论(0)