作者:人工智能_SYBH

基于PP-PicoDet的【PP吸烟视频分析预警系统】yolov5

一、PP吸烟视频分析预警检测系统

1.功能介绍

PP视频分析预警系统【吸烟检测】,区域内一旦检测到人员吸烟,系统立即触发报警,提醒管理人员处理。有效提高监管效率,减少安全隐患。广泛应用于仓库、公园、加油站、厨房、森林、商场等一系列禁烟场所、防火防爆场所。

2.项目背景

吸烟有害健康,而吸烟带来的安全隐患更是为公众的日常生活环境带来了巨大的威胁。据报道,全国每年的火灾中有10%以上是吸烟引发的。据上海、北京、江苏等省市统计,抽烟不慎引起的火灾占10—20%,在各种火灾原因中居第3位。传统的控烟技术手段主要以烟雾传感器为主,当传感器检测到烟雾时产生报警。但是管理人员无法对其高效的管理,不能及时取证,无法追溯,没有形成一个有效的闭环,导致控烟效果不佳,并且还会出现漏报、误报。

3.吸烟监测

PP视频分析预警系统【吸烟检测】基于飞桨自研的轻量级系列模型PP-PicoDet,对人吸烟的主要活动结合对香烟的识别,对监控区域内的人员抽烟行为进行分析,当发现异常情况系统即刻报警,提醒管理人员及时处理,接入广播系统前端可喊话提醒,真正做到事前预警、事中常态检测、事后规范管理。

4.应用场景

PP视频分析预警系统【吸烟检测】广泛应用于仓库、公园、加油站、厨房、森林、商场、地铁站以及消防楼道等一系列禁烟场所、防火防爆场所

烟头虽小,祸患无穷。PP视频分析预警系统【吸烟检测】能有效提高监管效率,减少安全隐患。可广泛部署于边缘设备上,经济、稳定、实用。

二、数据处理

1.解压缩数据

In [1]

# 解压缩数据
!unzip -qoa data/data94796/pp_smoke.zip

2.按比例划分数据集

ratio比例系数

In [2]

import random
import os
#生成train.txt和val.txt
random.seed(2020)
xml_dir  = '/home/aistudio/Annotations'#标签文件地址
img_dir = '/home/aistudio/images'#图像文件地址
path_list = list()
for img in os.listdir(img_dir):
    img_path = os.path.join(img_dir,img)
    xml_path = os.path.join(xml_dir,img.replace('jpg', 'xml'))
    path_list.append((img_path, xml_path))
random.shuffle(path_list)
ratio = 0.9
train_f = open('/home/aistudio/work/train.txt','w') #生成训练文件
val_f = open('/home/aistudio/work/val.txt' ,'w')#生成验证文件

for i ,content in enumerate(path_list):
    img, xml = content
    text = img + ' ' + xml + '\n'
    if i < len(path_list) * ratio:
        train_f.write(text)
    else:
        val_f.write(text)
train_f.close()
val_f.close()

#生成标签文档
label = ['smoke']#设置你想检测的类别
with open('/home/aistudio/work/label_list.txt', 'w') as f:
    for text in label:
        f.write(text+'\n')

3.数据查看

源数据格式为VOC格式,存储格式如下:

dataset/
    ├── Annotations
    │   ├── xxx1.xml
    │   ├── xxx2.xml
    │   ├── xxx3.xml
    │   |   ...
    ├── Images
    │   ├── xxx1.jpg
    │   ├── xxx2.jpg
    │   ├── xxx3.jpg
    │   |   ...
├── label_list.txt (必须提供)
├── train.txt (训练数据集文件列表, ./Images/xxx1.jpg ./Annotations/xxx1.xml)
├── valid.txt (测试数据集文件列表)

三、环境准备

1.PP-PicoDet介绍

PaddleDetection中提出了全新的轻量级系列模型PP-PicoDet,在移动端具有卓越的性能,成为全新SOTA轻量级模型。详细的技术细节可以参考我们的arXiv技术报告

PP-PicoDet模型有如下特点:

  • 🌟 更高的mAP: 第一个在1M参数量之内mAP(0.5:0.95)超越30+(输入416像素时)。
  • 🚀 更快的预测速度: 网络预测在ARM CPU下可达150FPS。
  • 😊 部署友好: 支持PaddleLite/MNN/NCNN/OpenVINO等预测库,支持转出ONNX,提供了C++/Python/Android的demo。
  • 😍 先进的算法: 我们在现有SOTA算法中进行了创新, 包括:ESNet, CSP-PAN, SimOTA等等。目前

2.数据格式

目前PP-PicoDet支持 VOC 和 COCO 两种格式,可根据需要选择。

3.基线

模型 输入尺寸 mAPval
0.5:0.95
mAPval
0.5
参数量
(M)
FLOPS
(G)
预测时延NCNN
(ms)
预测时延Lite
(ms)
下载 配置文件
PicoDet-S 320*320 27.1 41.4 0.99 0.73 8.13 6.65 model | log config
PicoDet-S 416*416 30.7 45.8 0.99 1.24 12.37 9.82 model | log config
PicoDet-M 320*320 30.9 45.7 2.15 1.48 11.27 9.61 model | log config
PicoDet-M 416*416 34.8 50.5 2.15 2.50 17.39 15.88 model | log config
PicoDet-L 320*320 32.9 48.2 3.30 2.23 15.26 13.42 model | log config
PicoDet-L 416*416 36.6 52.5 3.30 3.76 23.36
lock