吸烟(抽烟)检测和识别1:吸烟(抽烟)数据集说明(含下载链接)

news/2024/11/25 19:23:38/

吸烟(抽烟)检测和识别1:吸烟(抽烟)数据集说明(含下载链接)

目录

吸烟(抽烟)检测和识别1:吸烟(抽烟)数据集说明(含下载链接)

1. 前言

2. 吸烟(抽烟)类别说明

3. 吸烟(抽烟)分类数据集

(1)smoking-dataset

(2)smoking-video

4. 吸烟(抽烟)分类数据集下载

5. Pytorch实现吸烟(抽烟)检测和识别

6. Android实现吸烟(抽烟)检测和识别


1. 前言

这是项目《吸烟(抽烟)检测和识别》系列文章之《吸烟(抽烟)数据集说明(含下载链接)》;网上有很多吸烟(抽烟)数据集的数据,在CSDN下载那一搜一大堆,但下载下来,真是不尽人意,质量参差不齐,说多了都是泪呀,都是血泪史的教训。本篇,我们将分享一个我自己项目整合的吸烟(抽烟)分类数据集;smoking-dataset和smoking-video,总共15000+张图片。数据质量较高,可用于深度学习吸烟(抽烟)识别项目的分类模型算法开发。

【尊重原则,转载请注明出处】 https://blog.csdn.net/guyuealian/article/details/130337263


更多项目《吸烟(抽烟)检测和识别》系列文章请参考:

  1. 吸烟(抽烟)检测和识别1:吸烟(抽烟)数据集说明(含下载链接):https://blog.csdn.net/guyuealian/article/details/130337263
  2. 吸烟(抽烟)检测和识别2:Pytorch实现吸烟(抽烟)检测和识别(含吸烟(抽烟)数据集和训练代码):https://blog.csdn.net/guyuealian/article/details/131521338
  3. 吸烟(抽烟)检测和识别3:Android实现吸烟(抽烟)检测和识别(含源码,可实时检测):https://blog.csdn.net/guyuealian/article/details/131521347
  4. 吸烟(抽烟)检测和识别4:C++实现吸烟(抽烟)检测和识别(含源码,可实时检测):https://blog.csdn.net/guyuealian/article/details/131521352


2. 吸烟(抽烟)类别说明

在吸烟(抽烟)检测识别算法开发中,我们需要定义吸烟(抽烟)的行为类别;项目将吸烟(抽烟)状态分为两种情况,分别为:smoking(吸烟),notsmokint(未吸烟),为了便于大家理解,下面给出这吸烟(抽烟)的行为类别定义:

  1. 人体检测框:人体检测框是通过人体(行人)检测算法预测和定位的人体区域,每个人体用一个矩形框表示
  2. 吸烟检测区:人体检测框的左上角位置保存不变,右下角的高度(Height)缩短三分之一左右,得到吸烟检测区
  3. 吸烟和未吸烟:项目定义,若吸烟检测区存在烟只,则判断为smoking(吸烟)行为;反之,若吸烟检测区不存在烟只,则判断为notsmoking(未吸烟)行为。由于吸烟的行为状态不一,环境复杂多样,尽管这样的吸烟行为定义不全面,但基本可以覆盖业务的大部分场景需求。

  • notsmoking:在吸烟检测区内无烟只,则定义为无吸烟行为notsmoking);若主体存在吸烟行为,但烟只不在吸烟检测区内,受算法局限性,这时依然定义无吸烟(notsmoking
  • smoking:在吸烟检测区内有烟只,则定义为有吸烟行为(smoking);受算法局限性,只要吸烟区内存在烟只,不管是否吸烟,都定义为有吸烟行为(smoking)

代码实现:定义函数get_smoking_roi()用于获得吸烟检测区,基于该方法,项目可以制作吸烟(抽烟)的分类数据集。

# -*-coding: utf-8 -*-import numpy as np
from pybaseutils import image_utils
import cv2def get_smoking_roi(xyxy, scale=(), cut=0.3):"""获得吸烟检测区:param xyxy: shape is (num-boxes,4),box is (xmin,ymin,xmax,ymax):param scale: boxes缩放大小:param cut: 裁剪比例:return:"""up_boxes = []for i in range(len(xyxy)):xmin, ymin, xmax, ymax = xyxy[i]w, h = (xmax - xmin), (ymax - ymin)ymax = max(ymin + h * cut, ymin + w)up_boxes.append([xmin, ymin, xmax, ymax])up_boxes = np.asarray(up_boxes)if scale: up_boxes = image_utils.extend_xyxy(up_boxes, scale=scale)return up_boxesif __name__ == '__main__':image_file = "smoking/sample.png"boxes = [[47, 52, 255, 420]]  # 人体检测框boxes = np.asarray(boxes)image = cv2.imread(image_file)up = get_smoking_roi(xyxy=boxes, scale=(), cut=0.3)  # 获得吸烟检测区image = image_utils.draw_image_boxes(image, boxes=boxes, color=(255, 0, 0))image = image_utils.draw_image_boxes(image, boxes=up, color=(0, 255, 0))image_utils.cv_show_image("image", image)

3. 吸烟(抽烟)分类数据集

项目已经收集了两个吸烟(抽烟)分类数据集:smoking-dataset和smoking-video,总共约15000+张图片

(1)smoking-dataset

smoking-dataset吸烟(抽烟)分类数据集,总共15000+张图片,其中测试集431张,训练集14761张;原始图片主要来源于网络爬虫图片检索,部分也是整合网上的数据,背景比较复杂,可作为通用场景的吸烟分类数据。数据中含有两个文件夹,其中文件夹smoking保存的是有吸烟行为图片数据,文件夹notsmoking保存的是无吸烟行为图片数据;所有图片都按照单人单张图片的形式进行裁剪保存(裁剪规则参考get_smoking_roi()函数),数据集已经人工清洗,可用于深度学习分类模型训练

smoking数据notsmoking数据

(2)smoking-video

smoking-video吸烟(抽烟)分类数据集;对于深度学习模型训练,我们希望同一个人既有吸烟的数据,也有未吸烟的数据,这样可以提高模型的泛发性,避免模型过拟合一个人;因而,项目专门收集了多个抽烟视频,并抽帧图像,人工分类smoking和notsmoking,最终清洗后得到总共1831张图片。

smoking数据notsmoking数据

4. 吸烟(抽烟)分类数据集下载

吸烟(抽烟)分类数据集下载地址:吸烟(抽烟)检测和识别1:吸烟(抽烟)数据集说明(含下载链接)

数据包含:

  1. ​smoking-dataset吸烟(抽烟)分类数据集,总共15000+张图片,其中测试集431张,训练集14761张
  2. smoking-video吸烟(抽烟)分类数据集,总共1831张图片

5. Pytorch实现吸烟(抽烟)检测和识别

参考文章:Pytorch实现吸烟(抽烟)检测和识别(含吸烟(抽烟)数据集和训练代码):https://blog.csdn.net/guyuealian/article/details/131521338

6. Android实现吸烟(抽烟)检测和识别

参考文章:Android实现吸烟(抽烟)检测和识别(含源码,可实时检测):https://blog.csdn.net/guyuealian/article/details/131521347


http://www.ppmy.cn/news/741691.html

相关文章

更改锁屏背景图片

windows锁屏时会读取自定义的图片,图片路径: C:\Windows\System32\oobe\info\backgrounds 如果没有,就会在屏幕锁定的时候找到windows自带默认的图片: C:\Windows\System32\oobe\background.bmp 补充一点,系统关闭时的…

CommonJs规范和ES 模块系统

一、CommonJs规范 CommonJS 是一种模块化规范,用于在 JavaScript 应用程序中组织和管理代码的模块。它定义了模块的导入和导出机制,使得开发者可以将代码分割成可复用的模块,并在不同的文件中引用和使用这些模块。 CommonJS 规范有以下几个…

charles 如何获取电脑端微信小程序接口

安装证书 设置代理端口 即可抓取美团酒店小程序的数据 从charles 可以抓取出header 请求,没有所谓的通过遍历循环能简单的得到数据,请求包含加密信息 随便改下数据就是 所以如果要得到这些数据,还非得通过小程序模拟人滑动获取数据&…

VR全景拍摄的具体张数

安装调节好相机之后即可开始全景拍摄。 以Canon 10D和Sigma 8mm加JTS-Rotator SPH云台为例,这套设备得到的图片是drum鱼眼图,需要水平拍摄4张,也可以加上天地。 以Nikon D50和Nikkor 10.5mm镜头为例,这套设备得到的是full frame鱼…

OPT液态镜头上市,视觉检测实现瞬时对焦

为满足客户提质增效需求,OPT自研的液态镜头全新上市,与智能读码器、工业相机搭配应用,性能优势突出,实现瞬时对焦,工作距离更加灵活,可以更好地适用于3C、物流等行业 液态镜头技术,基于仿生科学…

科普一下:拍抖音需要什么设备,可能用到的设备合集

大家好,我是我赢助手短视频运营,抖音是现在最火的短视频平台之一,几乎每个人都在用它,抖音视频的发展离不开手机。 但你知道吗?手机拍摄有很多方面的限制,比如手持稳定程度、快门速度以及光圈大小等&#…

抖音镜头怎么运用,如何拍摄出爆款视频。

抖音短视频拍摄中除了多种景别的变换给视频带来不同的层次感之外,各式各样的抖音短视频拍摄手法也会让整个视频变得丰富多彩。不同拍摄手法所表达的意思也各不相同,学会之后就能在剧本的基础上为视频添加更多色彩。 我们在影视剧短视频里看到的画面都是…

产品运动动画用什么软件做的_3C产品渲染用什么软件好?Keyshot,工业设计必备!...

“ 最近 看到一组很不错的3C产品渲染图 想跟大家分享 ” 这组作品,来自 专业商业渲染师--许胜达 ,他 专注3C类目产品方向, 擅长产品打光、材质表现、场景搭建渲染等。