吸烟行为检测系统通过获取视频图像,并利用图像识别技术来识别目标人物的人脸特征和香烟的特征。同时,系统还会分析人脸特征以确定人体嘴巴的位置,并判断香烟的一端是否位于嘴巴内部。如果香烟一端进入嘴巴内,系统将判定为存在吸烟行为。

本文主要内容:详细介绍了摄像头下吸烟行为检测系统,在介绍算法原理的同时,给出Pytorch的源码、训练数据集以及PyQt6的UI界面。在界面中可以选择各种图片、视频进行检测识别,可进行置信度、Iou阈值设定,结果可视化等。

通过split_train_val.py得到trainval.txt、val.txt、test.txt  

# coding:utf-8
 
import os
import random
import argparse
 
parser = argparse.ArgumentParser()
#xml文件的地址,根据自己的数据进行修改 xml一般存放在Annotations下
parser.add_argument('--xml_path', default='Annotations', type=str, help='input xml label path')
#数据集的划分,地址选择自己数据下的ImageSets/Main
parser.add_argument('--txt_path', default='ImageSets/Main', type=str, help='output txt label path')
opt = parser.parse_args()
 
trainval_percent = 0.9
train_percent = 0.8
xmlfilepath = opt.xml_path
txtsavepath = opt.txt_path
total_xml = os.listdir(xmlfilepath)
if not os.path.exists(txtsavepath):
    os.makedirs(txtsavepath)
 
num = len(total_xml)
list_index = range(num)
tv = int(num * trainval_percent)
tr = int(tv * train_percent)
trainval = random.sample(list_index, tv)
train = random.sample(trainval, tr)
 
file_trainval = open(txtsavepath + '/trainval.txt', 'w')
file_test = open(txtsavepath + '/test.txt', 'w')
file_train = open(txtsavepath + '/train.txt', 'w')
file_val = open(txtsavepath + '/val.txt', 'w')
 
for i in list_index:
    name = total_xml[i][:-4] + '\n'
    if i in trainval:
        file_trainval.write(name)
        if i in train:
            file_train.write(name)
        else:
            file_val.write(name)
    else:
        file_test.write(name)
 
file_trainval.close()
file_train.close()
file_val.close()
file_test.close()
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.

当系统检测到吸烟行为时,将提取目标人物的人脸特征,并在视频图像中标记出香烟和嘴巴的位置。随后,系统将视频图像及其对应的位置信息发送至远程服务器或移动终端。借助远程服务器或移动终端,监控人员可以与目标人物进行对话,并进行智能监测和远程监控吸烟行为,提升智能化水平。

吸烟行为检测算法_xml

这种吸烟行为检测系统的应用具有重要意义。通过视频图像分析和人脸识别技术,系统可以准确判断吸烟行为,并实时提醒管理人员进行处理。这不仅有助于预防和减少公共场所的吸烟行为,还提高了智能安防系统的效果。

吸烟行为检测算法_视频图像_02