超市偷窃行为目标检测数据集:2类别、4,000张图像 | 目标检测

源码数据分享

通过网盘分享的文件:超市店铺偷窃行为检测数据集
链接: https://pan.baidu.com/s/10qlgBP5E9Cg_DFxgK18n_Q?pwd=rpje
提取码: rpje


一、引言:零售防损的智能化转型之路

在全球零售行业中,商品损耗(Shrinkage)始终是侵蚀利润的"隐形黑洞"。根据全球零售损失统计报告,每年因偷窃、员工内盗、供应商欺诈和行政错误造成的商品损耗金额高达数千亿美元,其中顾客偷窃占比约为35%-40%,是最大的单一损耗来源。在中国,超市和大卖场的年均损耗率约为1.5%-2.5%,看似不高的百分比,在万亿级的市场规模下,对应的绝对金额令人震惊。

传统的防损手段主要依赖人工监控和EAS(电子商品防盗)系统。然而,人工监控存在显而易见的局限:一个安保人员通常需要同时观察16-32路视频画面,注意力持续时间有限,研究显示连续监控30分钟后,人工检测异常行为的准确率下降至不足50%。EAS系统则只能保护贴有标签的商品,对无标签商品(如散装食品、小件日用品)形同虚设,且误报率较高。

在这里插入图片描述

基于深度学习的智能视频分析技术,为零售防损带来了革命性的解决方案。通过训练目标检测模型对监控视频中的异常行为进行自动识别,可以实现7×24小时无疲劳、高一致性、多路并行的实时监控。而这一切的起点,是一个高质量、场景匹配的偷窃行为检测数据集。

本文将全面介绍一套面向超市场景的偷窃行为检测数据集,从数据构建方法论、标注规范、模型训练到工程部署,为读者提供一份从数据到系统的完整实战指南。

二、偷窃行为的视觉特征分析

在构建数据集之前,深入理解偷窃行为的视觉特征至关重要。与一般的目标检测任务不同,偷窃行为检测本质上是一个"行为识别"问题,而行为是由一系列连续动作构成的时序过程。在静态图像层面,偷窃行为具有以下典型视觉特征:

2.1 动作分解

一个完整的偷窃行为通常包含以下动作阶段:

  1. 观察阶段:嫌疑人频繁环顾四周,确认是否被关注。视觉表现为头部频繁转动、眼神飘忽
  2. 接近阶段:靠近目标商品,可能与正常购物行为无异
  3. 藏匿阶段:将商品放入口袋、背包、衣物内侧或随身容器中。这是偷窃行为最具辨识度的关键帧
  4. 离开阶段:快速离开商品区域,步伐可能加快,身体姿态略显紧张

在单帧图像中,"藏匿阶段"是最具判别性的时刻——手部伸向商品并做出藏入衣物或包中的动作,与正常购物中将商品放入购物车的行为形成鲜明对比。

2.2 与正常行为的视觉差异

对比维度正常购物行为偷窃行为
手部动作从货架取商品→放入购物车/篮从货架取商品→放入衣物/包中
身体姿态自然放松,面朝商品可能侧身或背对摄像头
注意力方向关注商品本身频繁观察周围环境
移动速度从容不迫藏匿后可能加快步伐
物品交互商品始终在明处商品在藏匿后消失于视线

2.3 检测难点剖析

偷窃行为检测面临的核心难点包括:

视觉相似性:偷窃的"藏匿"动作与正常购物的"放入购物篮"动作在视觉上高度相似,差异仅在于目标容器(衣物/包 vs 购物篮),且这个差异可能只占图像很小的区域。

行为连续性:单帧图像无法完整表达行为的时序过程,一张手伸向商品的图片无法判断是正常选购还是偷窃。

场景复杂性:超市环境人员密集、遮挡严重、光照不均匀,都增加了检测难度。

数据稀缺性:偷窃行为在实际监控中占比极低(通常不到1%),且出于隐私保护考虑,真实偷窃视频的获取和公开面临法律和伦理障碍。

三、数据集核心架构

3.1 基本信息概览

参数项具体说明
数据规模约4000张图像
标注类型目标检测(Bounding Box)
标注格式YOLO标准格式(归一化坐标)
类别数量2类(nc=2)
类别标签normal(正常)、shoplifting(盗窃)
数据路径database/超市店铺偷窃行为检测数据集
数据划分训练集/验证集/测试集

在这里插入图片描述

3.2 二分类设计理念

数据集采用"正常/盗窃"的二分类体系,而非更细粒度的行为子类别划分,这一设计基于以下考虑:

工程落地优先:在实际防损系统中,最核心的需求是"是否异常"的二值判断。一旦检测到异常行为,由安保人员进一步核实处理,无需AI系统完成全部判断链路。这种"人机协同"的架构既保证了效率,又降低了误报导致的纠纷风险。

标注一致性保障:二分类的标注标准最为明确——“是否存在将商品藏入衣物或包中的动作”,标注员之间的理解偏差最小。更细粒度的分类(如"藏入口袋"、“藏入背包”、“藏入衣物内侧”)会增加标注歧义,降低标注一致性。

模型训练效率:二分类任务的模型收敛速度和最终精度都优于多分类任务,适合快速迭代验证。

3.3 数据组织结构

database/超市店铺偷窃行为检测数据集/
├── train/
│   └── images/
├── valid/
│   └── images/
├── test/
│   └── images/

对应的YOLO配置文件:

path: database/超市店铺偷窃行为检测数据集

train: train/images
val: valid/images
test: test/images

nc: 2
names: ['normal', 'shoplifting']

3.4 类别定义详述

类别ID类别名称描述
0normal正常购物行为,包括挑选商品、查看商品、放入购物篮/车、付款等
1shoplifting偷窃行为,包括商品藏匿、未付款带走等

标注原则:

  • 正常行为:标注框覆盖人物全身,重点关注手部与商品的交互方式
  • 偷窃行为:标注框同样覆盖全身,确保捕捉到藏匿动作的关键帧

四、数据采集与标注全流程

4.1 场景覆盖策略

为确保数据的多样性和代表性,本数据集在采集阶段覆盖了以下场景维度:

空间维度

  • 货架区域:偷窃行为最常发生的位置,商品密集、遮挡较多
  • 收银区:正常与异常行为的交汇区域,存在"未付款通过"的行为
  • 通道区域:人员流动频繁,存在边走边藏的行为模式
  • 促销展台:开放式陈列区域,商品无防护,偷窃风险较高

人员维度

  • 单人场景:便于聚焦个体行为特征
  • 多人场景:模拟人员密集时的遮挡情况
  • 不同年龄/性别/体型的个体

光照维度

  • 室内标准照明:超市日常光照条件
  • 冷柜区域弱光:冷藏区域光线较暗
  • 出入口逆光:门口区域存在自然光与室内光的混合

4.2 标注流程

标注流程分为四个阶段:

第一阶段:标注规范制定

  • 明确"正常"与"盗窃"的判定标准
  • 制作标注样例库,覆盖典型和边界场景
  • 制定标注FAQ,解决常见歧义问题

第二阶段:初标执行

  • 标注员按照规范进行初版标注
  • 每张图像标注所有可见人物的行为类别
  • 边界框贴合人体轮廓,优先确保手部区域可见

第三阶段:交叉审核

  • 不同标注员互换检查
  • 重点审核边界模糊样本
  • 记录审核修改日志,用于完善标注规范

第四阶段:终审确认

  • 随机抽取20%样本进行终审
  • 确保标注一致性达到90%以上
  • 统计类别分布,确认无明显偏置

4.3 标注格式规范

YOLO标准标注格式:

class_id x_center y_center width height

示例:

1 0.45 0.50 0.30 0.40
0 0.60 0.65 0.25 0.35

标注要点:

  • 边界框必须完整包含人物全身,包括手部区域
  • 对于部分遮挡的人物,标注可见部分即可
  • 当同一画面中存在多个人物时,每个人都独立标注
  • 坐标值为归一化值,范围[0,1]

在这里插入图片描述

五、基于YOLOv8的模型训练实战

5.1 数据配置文件

path: database/超市店铺偷窃行为检测数据集
train: train/images
val: valid/images

names:
  0: normal
  1: shoplifting

5.2 训练命令

yolo detect train \
  data=data.yaml \
  model=yolov8n.pt \
  epochs=100 \
  imgsz=640 \
  batch=16 \
  optimizer=AdamW \
  lr0=0.001

5.3 参数优化建议

参数推荐值优化说明
modelyolov8s对于行为检测,s版在精度与速度间取得较好平衡
epochs100~150行为特征学习较慢,建议适当增加训练轮数
imgsz640标准尺寸,如需检测细微手部动作可提升至768
batch8~16根据GPU显存调整
lr00.001配合AdamW使用
patience30行为检测收敛较慢,适当延长early stopping等待

5.4 数据增强策略

针对超市场景的特点,推荐以下增强配置:

augmentation:
  hsv_h: 0.015    # 色调微扰
  hsv_s: 0.7      # 饱和度扰动,模拟不同光照
  hsv_v: 0.4      # 明度扰动
  degrees: 5.0    # 小角度旋转
  translate: 0.1  # 平移
  scale: 0.5      # 缩放
  fliplr: 0.5     # 水平翻转
  mosaic: 1.0     # 马赛克增强
  mixup: 0.15     # 混合增强

特别说明:

  • 旋转角度不宜过大(建议≤10°):超市场景中人物通常直立,大角度旋转会产生不真实的样本
  • 垂直翻转应关闭:倒立的人体不符合物理规律
  • Mosaic增强对提升遮挡场景下的检测能力特别有效

六、核心挑战与进阶优化

6.1 类别不平衡问题

在实际数据中,正常行为样本通常远多于偷窃样本(约3:1至5:1的比例),这种不平衡会导致模型偏向多数类。应对策略:

损失函数层面

  • 使用Focal Loss替代标准交叉熵损失,自动降低易分类样本的损失权重
  • 设置类别权重,对shoplifting类赋予更高的损失权重
# 在YOLOv8中设置类别权重
class_weights = [1.0, 3.0]  # 正常行为权重1.0,偷窃行为权重3.0

数据层面

  • 对少数类样本进行过采样
  • 针对偷窃样本使用更强的数据增强
  • 确保训练每个batch中包含至少1-2个偷窃样本

评估指标层面

  • 不要仅关注总体accuracy,应重点观察shoplifting类的recall和precision
  • 使用F1-score和mAP作为主要评估指标

6.2 时序信息融合

如前所述,偷窃行为是一个时序过程,单帧检测存在固有局限。进阶方案是将检测与视频时序分析相结合:

方案一:检测+跟踪

  1. 使用YOLO模型对每帧进行人物检测和行为分类
  2. 使用ByteTrack或BoT-SORT进行多目标跟踪
  3. 对每个人的连续帧分类结果进行时序投票(如连续5帧中有3帧被判为shoplifting则触发预警)

方案二:检测+时序分类

  1. 使用YOLO模型检测人物位置
  2. 提取每个人物区域的连续帧特征序列
  3. 使用LSTM/Transformer对特征序列进行时序分类

方案三:端到端视频检测

  1. 使用YOLOv8-Pose提取人体关键点序列
  2. 将关键点序列输入时空图卷积网络(ST-GCN)
  3. 输出行为分类结果

方案一实现简单、实时性好,是工程落地的首选方案;方案三精度最高但计算量较大,适合对精度要求极高的场景。

6.3 遮挡问题处理

超市场景中的人员遮挡十分普遍,应对策略:

检测端优化

  • 使用更大模型(YOLOv8m或YOLOv8l)获取更强的特征表达能力
  • 提高输入分辨率至768或1024
  • 训练时增加遮挡样本的比例

后处理优化

  • 适当提高NMS的IoU阈值,避免密集场景下的误抑制
  • 使用Soft-NMS替代硬NMS,保留更多重叠目标的检测框

多摄像头协同

  • 在关键区域部署多个角度的摄像头
  • 融合多个视角的检测结果,互补遮挡区域

6.4 误报控制策略

在防损系统中,误报(将正常行为误判为偷窃)是影响用户体验的关键问题。过高的误报率会导致安保人员疲劳响应,最终忽视系统预警。误报控制策略包括:

置信度阈值调优:将shoplifting类的置信度阈值提高至0.6-0.7,牺牲部分召回率以换取更高的精确率。

时空一致性过滤:仅当同一人物在连续多帧中被判为shoplifting,且位置变化合理时,才触发预警。瞬时闪烁的检测结果通常是误报。

业务规则辅助:结合POS收银数据,如果某顾客已购买对应商品,则对应的"藏匿"行为应判定为正常。

七、工程部署与系统集成

7.1 模型导出

# 导出ONNX格式
yolo export model=best.pt format=onnx imgsz=640

# 导出TensorRT格式(GPU部署)
yolo export model=best.pt format=engine half=True

# 导出NCNN格式(移动端/嵌入式部署)
yolo export model=best.pt format=ncnn

7.2 部署架构设计

一个完整的智能防损系统包含以下模块:

视频采集层:IP摄像头 → RTSP视频流
推理服务层:视频解码 → 模型推理 → 结果后处理
业务逻辑层:行为判断 → 预警规则 → 通知推送
管理展示层:实时监控大屏 → 预警记录 → 统计报表

推理服务层的技术选型:

  • GPU服务器部署:使用TensorRT加速,单卡可处理16-32路视频流
  • 边缘计算部署:使用Jetson平台,适合小规模门店
  • 云端API部署:适合连锁零售企业统一管理

7.3 性能优化

推理加速

  • 使用FP16或INT8量化,推理速度提升2-4倍
  • 批量推理,利用GPU并行能力
  • 视频抽帧检测(如每秒检测5帧而非30帧),在行为检测场景下通常足够

系统优化

  • 使用GPU硬件解码替代CPU软解
  • 异步推理流水线:解码与推理并行
  • 结果缓存与去重,避免重复预警

八、应用场景拓展

8.1 零售安防系统

这是数据集最直接的应用场景,通过实时检测偷窃行为,实现:

  • 自动检测偷窃行为并实时预警
  • 辅助安保人员精准定位异常区域
  • 记录偷窃事件的视频片段作为证据保全
  • 统计偷窃高发时段和区域,优化安保资源配置

8.2 智能视频分析

超越单纯的偷窃检测,该数据集的训练模型还可以支撑更广泛的行为分析:

  • 顾客行为分析:浏览路径、停留时长、商品关注度
  • 客流密度估计:各区域的人员密度和流动趋势
  • 异常行为检测:打架、摔倒、儿童走失等

8.3 AI算法研究

对于学术研究,该数据集在以下方向具有研究价值:

  • 异常检测方法研究:在正常样本远多于异常样本的不平衡场景下,如何提升异常检测的召回率
  • 行为识别算法验证:从目标检测到行为识别的跨任务迁移
  • 弱监督学习探索:利用大量无标注视频数据辅助少量标注数据训练

8.4 商业落地应用

  • 大型商超监控系统升级改造
  • 无人零售店(如无人超市、自动售货机区域)的安全保障
  • 连锁便利店的远程集中监控平台
  • 购物中心的智能安防平台

九、可扩展方向

9.1 行为类别扩展

当前数据集仅区分正常与偷窃两类行为,可扩展更多细粒度行为类别:

  • 破坏商品包装
  • 更换商品标签(价格欺诈)
  • 团伙协作偷窃(多人配合分散注意力)
  • 员工内盗行为

9.2 多模态融合

结合其他传感器数据提升检测精度:

  • RFID商品标签:检测商品是否经过收银台
  • POS收银数据:关联购买行为与视频行为
  • 热成像传感器:在光线不足区域补充检测能力

9.3 主动防御系统

从被动检测升级为主动防御:

  • 智能货架:检测到异常行为时触发语音提醒
  • 电子价签联动:标记疑似被盗商品
  • 机器人巡检:在关键时段自动巡检重点区域

十、总结

本超市偷窃行为检测数据集以4000张高质量标注图像为核心,覆盖了真实零售环境中的正常与偷窃两类行为,为智能防损系统提供了坚实的数据基础。从行为特征分析、数据集构建、模型训练到工程部署,本文呈现了一条完整的技术链路。

在实际部署中,需要特别注意以下几点:

  • 偷窃行为检测应采用"人机协同"架构,AI负责初筛预警,安保人员负责最终确认
  • 误报控制与检测精度同等重要,过高的误报率会降低系统的实际可用性
  • 时序信息的引入可以显著提升检测可靠性,建议从检测+跟踪的方案入手
  • 数据隐私和伦理合规是系统上线的前提,应确保监控数据的合法合规使用

智能防损技术的价值不仅在于减少商品损耗,更在于推动零售行业从"人盯人"的传统模式向"数据驱动+智能预警"的现代化管理模式转型,最终实现运营效率与安全保障的双赢。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐