玩手机数据集 8201张玩手机的照片,有对应的xml和txt文件,可以用于yolo训练

玩手机数据集 
8201张玩手机的照片,有对应的xml和txt文件,可以用于yolo训练

玩手机数据集(Phone Usage Detection Dataset)

数据集概述

该数据集专为检测人们使用手机的行为设计,旨在帮助研究人员和工程师开发高效的目标检测算法,以识别图像中的人们是否在使用手机。数据集包含8201张高清照片,并且每张照片都附有详细的标注信息,包括XML格式的Pascal VOC标注文件和YOLO格式的TXT标注文件。这些照片展示了不同场景下人们使用手机的情况,涵盖了不同的环境、光照条件和背景干扰。数据集可以直接用于基于YOLO的目标检测模型训练。

数据集特点
  • 高质量图像:所有图像均为高分辨率,能够清晰地显示人物及其使用手机的动作。
  • 详细标注:每张图像都附有精确的边界框以及类别标签(手机),便于训练目标检测模型。
  • 标准化格式:图像采用JPG或PNG格式存储,标签则同时提供了Pascal VOC的XML格式和YOLO的TXT格式,方便与主流框架结合使用。
  • 多样化场景:图像来自不同的地理位置和环境条件,增强了模型的泛化能力。
  • 数据增强:虽然未明确提及,但通常可以通过数据增强技术进一步增加样本多样性。
  • 自动发货:购买后可以自动获取数据集,方便快捷。
数据集构成
  • 图像数量:8201张
  • 图像格式:JPG或PNG
  • 标签数量:对应每张图像各有一个XML和一个TXT标注文件
  • 类别数:1类
  • 类别名称
    • phone:手机
  • 数据集划分:未明确提供具体的训练集、验证集和测试集划分,用户可以根据需要自行划分。
  • 配置文件:如果需要,可以创建data.yaml配置文件来描述数据集路径和类别信息。
数据集用途
  • 手机使用检测:主要用于开发高效准确的目标检测算法,识别并定位图像中的人们是否在使用手机。
  • 行为分析:帮助研究机构进行人类行为分析,了解人们在不同场景下的手机使用习惯。
  • 安全监控:辅助交通管理部门和公共场所的安全监控系统,防止因使用手机而引发的安全隐患。
  • 性能评估:作为基准数据集,可以用来比较不同算法或模型之间的性能差异。
  • 研究与开发:支持学术界和工业界的研究人员探索新的计算机视觉技术和方法。
  • 教育与培训:适合作为教材内容,帮助学生理解实际应用场景下的机器学习问题解决流程。
示例代码

以下是一个简单的Python脚本示例,用于加载数据集中的一对图像-标签对,并可视化其中的标注信息:

import os
import cv2
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Rectangle
import xml.etree.ElementTree as ET# 数据集目录路径
data_dir = 'path/to/phone_usage_dataset'
image_dir = os.path.join(data_dir, 'images')
label_dir = os.path.join(data_dir, 'labels')# 选取一张图像及其对应标签
image_files = os.listdir(image_dir)
image_file = image_files[0]  # 假设取第一张图
label_file_txt = os.path.splitext(image_file)[0] + '.txt'
label_file_xml = os.path.splitext(image_file)[0] + '.xml'image_path = os.path.join(image_dir, image_file)
label_path_txt = os.path.join(label_dir, label_file_txt)
label_path_xml = os.path.join(label_dir, label_file_xml)# 加载图像
image = cv2.imread(image_path, cv2.IMREAD_COLOR)
height, width, _ = image.shape# 解析YOLO格式标签
def parse_yolo_label(label_path, image_width, image_height):bboxes = []with open(label_path, 'r') as f:lines = f.readlines()for line in lines:class_id, x_center, y_center, box_width, box_height = map(float, line.strip().split())x_min = int((x_center - box_width / 2) * image_width)y_min = int((y_center - box_height / 2) * image_height)box_width = int(box_width * image_width)box_height = int(box_height * image_height)bboxes.append((class_id, x_min, y_min, box_width, box_height))return bboxes# 解析Pascal VOC格式标签
def parse_voc_label(label_path, image_width, image_height):bboxes = []tree = ET.parse(label_path)root = tree.getroot()for obj in root.findall('object'):name = obj.find('name').textbbox = obj.find('bndbox')xmin = int(bbox.find('xmin').text)ymin = int(bbox.find('ymin').text)xmax = int(bbox.find('xmax').text)ymax = int(bbox.find('ymax').text)x_min = xminy_min = yminbox_width = xmax - xminbox_height = ymax - yminbboxes.append((0, x_min, y_min, box_width, box_height))  # 假设只有一个类别return bboxes# 解析标签
bboxes_yolo = parse_yolo_label(label_path_txt, width, height)
bboxes_voc = parse_voc_label(label_path_xml, width, height)# 可视化标注
fig, ax = plt.subplots(figsize=(10, 10))
ax.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
colors = ['red']  # 仅有一类,所以只用一种颜色
names = ['phone']for bbox in bboxes_yolo + bboxes_voc:class_id, x, y, w, h = bboxrect = Rectangle((x, y), w, h, linewidth=2, edgecolor=colors[int(class_id)], facecolor='none')ax.add_patch(rect)ax.text(x, y - 10, names[int(class_id)], color=colors[int(class_id)], fontsize=8)plt.title('Phone Usage Detection')
plt.axis('off')
plt.show()
数据集结构示例
├── phone_usage_dataset
│   ├── images
│   │   ├── 00000.jpg
│   │   ├── 00001.jpg
│   │   └── ...
│   ├── labels
│   │   ├── 00000.txt
│   │   ├── 00001.txt
│   │   └── ...
│   │   ├── 00000.xml
│   │   ├── 00001.xml
│   │   └── ...
│   └── data.yaml  # 如果需要,可以创建这个文件来描述数据集路径和类别信息
数据集使用指南
  1. 数据准备:确认数据集路径是否正确,并且图像和标签文件均存在指定的目录下。
  2. 数据划分:根据需要将数据集划分为训练集、验证集和测试集。建议按照70%、15%、15%的比例进行划分。
  3. 配置文件:如果使用YOLO框架,可以创建一个data.yaml配置文件来描述数据集路径和类别信息。
  4. 模型训练:利用选定的深度学习框架开始训练目标检测模型。注意要合理设置超参数以优化训练效果。
  5. 结果分析:完成训练后,对模型预测结果进行详细分析,必要时调整模型架构或训练策略以进一步提高准确性。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/431369.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Uniapp时间戳转时间显示/时间格式

使用uview2 time 时间格式 | uView 2.0 - 全面兼容 nvue 的 uni-app 生态框架 - uni-app UI 框架 <text class"cell-tit clamp1">{{item.create_time}} --- {{ $u.timeFormat(item.create_time, yyyy-mm-dd hh:MM:ss)}} </text>

从零开始的软件开发详解:数字药店系统源码与医保购药APP

很多小伙伴们疑问&#xff0c;医保购药APP是如何开发的&#xff0c;今天我将从零数字药店系统源码开始为大家提供一条清晰的实现方案。 一、技术架构设计 在开发医保购药APP之前&#xff0c;首先需要明确技术架构。一般来说&#xff0c;APP的技术架构可以分为前端和后端。 1…

手写SpringMVC(简易版)

在上一篇博客中说到这里我们要进行手写SpringMVC&#xff0c;因此最好是将上一篇博客中的SpringMVC源码分析那一块部分搞懂&#xff0c;或者观看动力节点老杜的SpringMVC源码分析再来看这里的书写框架。 首先我们要知道对于一个完整系统的参与者&#xff08;即一个完整的web项…

目标检测系列(三)yolov2的全面讲解

YOLOv2&#xff08;论文原名《YOLO9000: Better, Faster, Stronger》&#xff09;作为该系列的第二个版本&#xff0c;对原始YOLO进行了显著的改进&#xff0c;进一步提高了检测速度和准确度。在精度上利用一些列训练技巧&#xff0c;在速度上应用了新的网络模型DarkNet19&…

Vue3:自定义customRef

目录 一.性质 1.自定义性 2.工厂函数参数 3.track 和 trigger 函数 二.作用 1.防抖/节流 2.异步更新 3.条件性更新 4.精细控制依赖追踪 5.优化性能 三.使用 1.ts组件 2.vue.组件 四.代码 1.ts代码 2.vue代码 五.效果 在 Vue 3 中&#xff0c;customRef 是一个…

一、机器学习算法与实践_04信息论与决策树算法笔记

1 信息论基础知识介绍 信息论是运用概率论与数理统计的方法&#xff0c;去研究信息、信息熵、通信系统、数据传输、密码学、数据压缩等问题的应用数学学科&#xff0c;熵&#xff08;Entropy&#xff09;是信息论中的一个重要概念&#xff0c;由克劳德香农&#xff08;Claude …

深入理解端口、端口号及FTP的基本工作原理

FTP是TCP/IP的一种具体应用&#xff0c;FTP工作在OSI模型的第七层&#xff0c;TCP模型的第四层上&#xff0c;即应用层&#xff0c;FTP使用的是传输层的TCP传输而不是UDP&#xff0c;这样FTP客户在和服务器建立连接前就要经过一个被广为熟知的“三次握手”的过程&#xff0c;其…

制作炫酷个人网页:用 HTML 和 CSS3 展现你的风格

你是否觉得自己的网站应该看起来更炫酷&#xff1f;今天我将教你如何使用 HTML 和 CSS3 制作一个拥有炫酷动画和现代设计风格的个人网页&#xff0c;让它在任何设备上看起来都无敌酷炫&#xff01; 哈哈哈哈哈哈哈哈,我感觉自己有点中二哈哈哈哈~ 目录 炫酷设计理念构建 HTML …

Unity 热更新(HybridCLR+Addressable)-设置打包路径和加载路径、打开Hosting服务、打包

四、设置打包和加载路径 五、打开Hosting服务 六、打包 打包完成后路径在Assets同级目录下的ServerData 但是目前没有资源文件对比 修改上面设置后再次打包 里面多了哈希和JSON文件&#xff0c;这俩个就是用于资源对比

若依生成主子表

一、准备工作 确保你已经部署了若依框架&#xff0c;并且熟悉基本的开发环境配置。同时&#xff0c;理解数据库表结构对于生成代码至关重要。 主子表代码结构如下&#xff08;字表中要有一个对应主表ID的字段作为外键&#xff0c;如下图的customer_id&#xff09; -- ------…

无线感知会议系列【4】【基于WiFi和4G/5G的非接触无线感知:挑战、理论和应用-2】

前言&#xff1a; 本篇重点分享一下该论文 《Human Respiration Detection with Commodity Wifi Devices: Do User Location and Body Orientation Matter》 接 2020年北京智源大会 张大庆老师的一个报告 参考&#xff1a; https://blog.csdn.net/chengxf2/article/detai…

2024 Redis 全部

1. 单机部署 1.1 检查环境&#xff0c;创建目录。 # 本地运行&#xff0c;不需要考虑安装的原因&#xff0c;可以卸载防火墙 # 关闭防火墙 systemctl stop firewalld.service# 查看防火强状态 firewall-cmd --state# redis 是基于gcc 环境的&#xff0c;查看是否有 gcc 环境 …

Bug:ThreadPoolTaskScheduler搭配CronTask完成定时任务,关闭scheduler后CronTask任务仍然执行?

【问题】执行下面代码后&#xff0c;关闭ThreadPoolTaskScheduler&#xff0c;CronTask仍然继续执行。 Configuration public class config {Beanpublic String getString() throws InterruptedException {Runnable runnable () -> {try {System.out.println("hello r…

科研绘图系列:R语言分组堆积图(stacked barplot)

文章目录 介绍加载R包导入数据数据预处理画图导出数据系统信息介绍 堆积图是一种数据可视化图表,它通过将不同类别的数据以堆叠的形式展现在同一个图表中,来展示各个类别之间的相对大小和它们之间的总和。堆积图可以是柱状图、条形图或面积图的形式,其中每个堆叠的块或区域…

Servlet入门:服务端小程序的初试(自己学习整理的资料)

目录 一.前言 二.建立基础结构​编辑 三.具体步骤 找到Tomcat文件并打开Tomcat。 在webapps中创建一个自己的文件夹。 在classes中新建一个Java文件。 在lib中导入需要的jar文件包。 配置环境变量 在Java文件的目录下打开cmd并输入 javac -d . HelloServlet.java进行…

【UE5】将2D切片图渲染为体积纹理,最终实现使用RT实时绘制体积纹理【第三篇-着色器光照】

在前两篇文章中&#xff0c;我们分别拆解描述了实现原理&#xff0c;并进行了基础的着色器制作。在这一篇文章中&#xff0c;我们将为它实现光照效果 简单的概述 当光线射入体积时&#xff0c;随着光线射入距离的增加&#xff0c;体积中的介质会对光线产生反射和吸收作用&…

【C++前缀和 状态压缩】1177. 构建回文串检测|1848

本文涉及的基础知识点 C算法&#xff1a;前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 位运算、状态压缩、枚举子集汇总 LeetCode 1177. 构建回文串检测 难度分&#xff1a;1848 给你一个字符串 s&#xff0c;请你对 s 的子串进行检测。 每次检测&#x…

望繁信科技受邀出席ACS2023,为汽车行业数智化护航添翼

2023年5月25-26日&#xff0c;ACS2023第七届中国汽车数字科技峰会在上海成功举行。此次峰会汇聚了众多汽车领域的顶级专家、产业链代表及企业高管&#xff0c;共同探讨当今汽车产业的转型与未来发展趋势。 作为唯一受邀的流程挖掘厂商代表&#xff0c;望繁信科技携最新行业优势…

[Golang] Context

[Golang] Context 文章目录 [Golang] Context什么是context创建context创建根context创建context context的作用并发控制context.WithCancelcontext.WithDeadlinecontext.WithTimeoutcontext.WithValue 什么是context Golang在1.7版本中引入了一个标准库的接口context&#xf…

【Web】初识Web和Tomcat服务器

目录 前言 一、认识web 1. 软件架构模式 2. web资源 3. URL请求路径&#xff08;统一资源定位符&#xff09; 二、Tomcat服务器 1. 简介 2. tomcat服务器的目录结构 3.使用tomcat服务器启动失败的常见原因 3.1 端口冲突 3.2 jdk环境变量配置出错 三、使用Tomcat发布…