非机动车检测数据集 4类 5500张 电动三轮自行车 voc yolo
非机动车检测数据集 4类 5500张 电动三轮自行车 voc yolo
非机动车检测数据集介绍
数据集名称
非机动车检测数据集 (Non-Motorized Vehicle Detection Dataset)
数据集概述
该数据集专为训练和评估基于YOLO系列目标检测模型(包括YOLOv5、YOLOv6、YOLOv7等)而设计,旨在帮助研究人员和开发者创建能够高效识别图像中的非机动车的系统。通过使用这个数据集,可以开发出适用于交通监控、智能城市等多种应用场景的技术解决方案。
数据集规格
- 总图像数量:5,500张
- 训练集:具体划分比例未提供,通常建议按照70%(训练)、20%(验证)、10%(测试)的比例来分配。
- 标注格式:
- VOC格式:每个图像对应一个XML文件,包含边界框坐标及类别信息。
- YOLO格式:每个图像对应一个TXT文件,包含边界框坐标及类别ID。
- 分辨率:图像分辨率可能有所不同,但为了保证一致性,推荐将所有图像调整至统一尺寸,如640x640或1280x1280像素。
- 类别:涵盖四种常见的非机动车类型,包括自行车 (bicycle)、电动车辆 (electricVehicle)、摩托车 (motorcycle) 和三轮车 (tricycle)。
数据集结构
non_motorized_vehicle_dataset/
├── images/
│ ├── train/
│ ├── val/
│ └── test/
├── labels/
│ ├── train/
│ ├── val/
│ └── test/
└── data.yaml
images/
目录下存放的是原始图像文件。labels/
目录存放与图像对应的标注文件,每个图像文件都有一个同名的.txt
文件存储其YOLO格式的标注信息,以及一个同名的.xml
文件存储其VOC格式的标注信息。data.yaml
文件包含了关于数据集的基本信息,如路径指向、类别数目及其名称等关键参数。
数据集配置文件 (data.yaml
)
# 训练集图像路径
train: path_to_your_train_images
# 验证集图像路径
val: path_to_your_val_images
# 测试集图像路径(如果有的话)
test: path_to_your_test_images# 类别数量
nc: 4
# 类别名称
names: ['bicycle', 'electricVehicle', 'motorcycle', 'tricycle']
标注统计
- 自行车 (bicycle):2,397张图像,共3,443个实例
- 电动车辆 (electricVehicle):2,217张图像,共2,747个实例
- 摩托车 (motorcycle):654张图像,共666个实例
- 三轮车 (tricycle):385张图像,共512个实例
- 总计 (total):5,572张图像,共7,368个实例
标注示例
YOLO格式
对于一张图片中包含一个“自行车”情况,相应的.txt
文件内容可能是:
0 0.5678 0.3456 0.1234 0.2345
这里0
代表“自行车”这一类别的ID,后续四个数字依次表示物体在图像中的相对位置(中心点x, 中心点y, 宽度w, 高度h),所有值均归一化到[0, 1]范围内。
VOC格式
对于同一张图片,相应的.xml
文件内容可能是:
<annotation><folder>images</folder><filename>000001.jpg</filename><size><width>640</width><height>640</height><depth>3</depth></size><object><name>bicycle</name><bndbox><xmin>180</xmin><ymin>200</ymin><xmax>300</xmax><ymax>400</ymax></bndbox></object>
</annotation>
这里<name>
标签指定了类别名称(bicycle),<bndbox>
标签定义了边界框的坐标。
使用说明
-
准备环境:
- 确保安装了必要的软件库以支持所选版本的YOLO模型。例如,对于YOLOv5,可以使用以下命令安装依赖库:
pip install -r requirements.txt
- 确保安装了必要的软件库以支持所选版本的YOLO模型。例如,对于YOLOv5,可以使用以下命令安装依赖库:
-
数据预处理:
- 将图像和标注文件分别放在
images/
和labels/
目录下。 - 修改
data.yaml
文件中的路径以匹配你的数据集位置。 - 如果需要,可以使用脚本将VOC格式的标注文件转换为YOLO格式,或者反之。
- 将图像和标注文件分别放在
-
修改配置文件:
- 更新
data.yaml
以反映正确的数据路径。 - 如果使用YOLOv5或其他特定版本的YOLO,还需要更新相应的模型配置文件(如
models/yolov5s.yaml
)。
- 更新
-
开始训练:
- 使用提供的训练脚本启动模型训练过程。例如,对于YOLOv5,可以使用以下命令进行训练:
python train.py --img 640 --batch 16 --epochs 100 --data data.yaml --weights yolov5s.pt
- 使用提供的训练脚本启动模型训练过程。例如,对于YOLOv5,可以使用以下命令进行训练:
-
性能评估:
- 训练完成后,使用验证集或测试集对模型进行评估,检查mAP等指标是否达到预期水平。例如,对于YOLOv5,可以使用以下命令进行评估:
python val.py --data data.yaml --weights runs/train/exp/weights/best.pt --img 640
- 训练完成后,使用验证集或测试集对模型进行评估,检查mAP等指标是否达到预期水平。例如,对于YOLOv5,可以使用以下命令进行评估:
-
部署应用:
- 将训练好的模型应用于实际场景中,实现非机动车自动检测功能。例如,可以使用以下命令进行推理:
python detect.py --source path_to_your_test_images --weights runs/train/exp/weights/best.pt --conf 0.4
- 将训练好的模型应用于实际场景中,实现非机动车自动检测功能。例如,可以使用以下命令进行推理:
注意事项
- 数据增强:可以通过调整数据增强策略来进一步提高模型性能,例如随机裁剪、旋转、亮度对比度调整等。
- 超参数调整:根据实际情况调整学习率、批大小等超参数,以获得最佳训练效果。
- 硬件要求:建议使用GPU进行训练,以加快训练速度。如果没有足够的计算资源,可以考虑使用云服务提供商的GPU实例。
- 平衡数据:注意数据集中各类别之间的不平衡问题,可以通过过采样、欠采样或使用类别权重等方式来解决。
- 复杂背景:非机动车可能出现在各种复杂的背景环境中,因此在训练时需要注意模型对这些特性的适应性。
通过上述步骤,你可以成功地使用YOLO系列模型进行非机动车检测,并获得高精度的检测结果。该数据集为研究者们提供了一个良好的起点,用于探索如何有效地利用计算机视觉技术解决各种实际问题,特别是在交通监控和智能城市领域。
相关文章:

非机动车检测数据集 4类 5500张 电动三轮自行车 voc yolo
非机动车检测数据集 4类 5500张 电动三轮自行车 voc yolo 非机动车检测数据集介绍 数据集名称 非机动车检测数据集 (Non-Motorized Vehicle Detection Dataset) 数据集概述 该数据集专为训练和评估基于YOLO系列目标检测模型(包括YOLOv5、YOLOv6、YOLOv7等&#x…...

Chromium 中JavaScript FileReader API接口c++代码实现
FileReader 备注: 此特性在 Web Worker 中可用。 FileReader 接口允许 Web 应用程序异步读取存储在用户计算机上的文件(或原始数据缓冲区)的内容,使用 File 或 Blob 对象指定要读取的文件或数据。 文件对象可以从用户使用 <…...

k8s 中微服务之 MetailLB 搭配 ingress-nginx 实现七层负载
目录 1 MetailLB 搭建 1.1 MetalLB 的作用和原理 1.2 MetalLB功能 1.3 部署 MetalLB 1.3.1 创建deployment控制器和创建一个服务 1.3.2 下载MealLB清单文件 1.3.3 使用 docker 对镜像进行拉取 1.3.4 将镜像上传至私人仓库 1.3.5 将官方仓库地址修改为本地私人地址 1.3.6 运行清…...

南昌网站建设让你的企业网站更具竞争力
南昌网站建设让你的企业网站更具竞争力 在当今竞争激烈的市场环境中,一个高质量的网站不仅是企业形象的展示平台,更是吸引客户、提升业绩的重要工具。南昌作为江西的省会城市,互联网产业的蓬勃发展为企业网站建设提供了良好的机遇。 首先&am…...

【重学 MySQL】五十三、MySQL数据类型概述和字符集设置
【重学 MySQL】五十三、MySQL数据类型概述和字符集设置 MySQL数据类型概述MySQL字符集设置注意事项 MySQL数据类型概述 MySQL是一个流行的关系型数据库管理系统,它支持多种数据类型,以满足不同数据处理和存储的需求。理解并正确使用这些数据类型对于提高…...

《计算机原理与系统结构》学习系列——计算机的算数运算(上)
系列文章目录 目录 ALU行波进位加法器超前进位加法器整数运算加减法乘法无符号数相乘N位乘法数的工作流程N位乘法器改进:硬件资源更快速的乘法 MIPS中的乘法除法 32位除法器流程除法器改进 更快速的除法 MIPS中的除法总结 ALU ALU功能:对a,…...

如何在华为云服务器查看IP地址,及修改服务器登录密码!!!
1.在华为云服务器查看IP地址 (1).第一步: 先找到控制台 (2).第二步: 点击华为云Flexus云服务 (3)第三步: 找到公网IP,就找到华为云服务器IP地址啦。 注意:在操作以上步骤的前提是要已注册华为云账号及购买云服务器…...

JAVA并发编程高级——JDK 新增的原子操作类 LongAdder
LongAdder 简单介绍 前面讲过,AtomicLong通过CAS提供了非阻塞的原子性操作,相比使用阻塞算法的同步器来说它的性能已经很好了,但是JDK开发组并不满足于此。使用AtomicLong 时,在高并发下大量线程会同时去竞争更新同一个原子变量,但是由于同时只有一个线程的CAS操作会成功,…...

常见的基础系统
权限管理系统支付系统搜索系统报表系统API网关系统待定。。。 Java 优质开源系统设计项目 来源:Java 优质开源系统设计项目 | JavaGuide 备注:github和gitee上可以搜索到相关项目...

在 window 系统下安装 Ubuntu (虚拟机)
文章目录 零、Ubuntu 和 Vmware workstation 资源一、下载 Ubuntu二、下载 Vmware Workstation Pro三、安装 Vmware Workstation Pro四、创建虚拟机五、配置 Ubuntu 零、Ubuntu 和 Vmware workstation 资源 如果觉得自己下载 Ubuntu 和 Vmware workstation 麻烦,也…...

鸿蒙开发(NEXT/API 12)【访问控制应用权限管控概述】程序访问控制
默认情况下,应用只能访问有限的系统资源。但某些情况下,应用存在扩展功能的诉求,需要访问额外的系统数据(包括用户个人数据)和功能,系统也必须以明确的方式对外提供接口来共享其数据或功能。 系统通过访问…...

(10)MATLAB莱斯(Rician)衰落信道仿真1
文章目录 前言一、莱斯分布随机变量二、仿真代码与结果1.仿真代码2.仿真结果画图 后续 前言 首先给出莱斯衰落信道模型,引入了莱斯因子K,并给出莱斯分布的概率密度函数公式。然后导出莱斯分布随机变量的仿真表示式,建立MATLAB仿真代码&#…...

什么是重卡充电桩?
有什么广告?没有广告,纯纯的介绍。 在政策与市场双重驱动下,充电桩市场已经开启加速模式,行业的火苗越烧越旺。同时,随着新能源重卡的广泛普及,重卡充电桩也迎来了新的发展机遇。 此种背景下 ,…...

模拟实现消息队列(基于SpringBoot实现)
提要:此处的消息队列是仿照RabbitMQ实现(参数之类的),实现一些基本的操作:创建/销毁交互机(exchangeDeclare,exchangeDelete),队列(queueDeclare,…...

C语言:预编译过程的剖析
目录 一.预定义符号和#define定义常量 二.#define定义宏 三.宏和函数的对比 四、#和##运算符 五、条件编译 在之前,我们已经介绍了.c文件在运行的过程图解,大的方面要经过两个方面。 一、翻译环境 1.预处理(预编译) 2.编译 3…...

算法——单调栈
单调栈: 保持栈内的元素始终递增或递减。 单调递增 待处理数组{1,5,2,5,7,2,8} public void sameyIncrease(int[] nums) {Stack<Integer> stack new Stack<>();for(int i 0; i < nums.length; i) {//当栈空的时候可以直接进栈或者要进栈的数大于…...

LeetCode讲解篇之695. 岛屿的最大面积
文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 我们遍历二维矩阵,如果当前格子的元素为1进行深度优先搜索,将搜索过的格子置为0,防止重复访问,然后对继续深度优先搜索上下左右中为1的格子 题解代码 func maxAr…...

招联2025校招内推倒计时
【投递方式】 直接扫下方二维码,或点击内推官网https://wecruit.hotjob.cn/SU61025e262f9d247b98e0a2c2/mc/position/campus,使用内推码 igcefb 投递) 【招聘岗位】 后台开发 前端开发 数据开发 数据运营 算法开发 技术运维 软件测试 产品策…...

vite学习教程01、vite构建vue2
文章目录 前言一、vite初始化项目二、修改配置文件2.1、修改main.js文件2.2、修改App.vue文件2.3、修改helloworld.vue2.4、修改vite.conf.js2.5、修改vue版本--修改package.json文件 三、安装vue2和vite插件四、启动服务资料获取 前言 博主介绍:✌目前全网粉丝3W&…...

强化学习部分代码的注释分析
引言 对一些代码块进行注释。我直接复制过来的,不能运行的话别怪我。 多臂赌博机 代码来自链接。欢迎回到原来的链接学习。 %I thought what Id do was Id pretend I was one of those deaf-mutes,or should I ?clear all; epsilon[0.5,0.2,0.1,0.0…...

ctf.bugku-备份是个好习惯
访问页面得到字符串 这串字符串是重复的; d41d8cd98f00b204e9800998ecf8427e 从前端、源码上看,除了这段字符串,没有其他信息;尝试解密,长度32位;各种解密方式试试; MD5免费在线解密破解_MD5在…...

C++面试速通宝典——14
220. static关键字的作用 static关键字在编程中有多种作用: 在类的成员变量前使用,表示该变量属于类本身,而不是任何类的实例。在类的成员函数前使用,表示该函数不需要对象实例即可调用,且只能访问类的静…...

k8s的简介和部署
一、k8s简介 在部署应用程序的方式上面,主要经历了三个阶段: 传统部署:互联网早期,会直接将应用程序部署在物理机上优点:简单,不需要其它技术的参与缺点:不能为应用程序定义资源使用边界,很难合理地分配计算资源&…...

Thingsboard 网关实战 modbus通信 rpc下发控制指令
我们这里说的是Thingsboard通过网关modbus通信接入设备,然后通过rpc下发指令去控制开关信号的设备,不会网关通过modbus接入设备的,可以看我之前的文章,从小白教学。 下面我们就说如何下发rpc开关信号指令 第一步.在modbus配置文…...

基于pytorch的手写数字识别
import pandas as pd import numpy as np import torch import matplotlib import matplotlib.pyplot as plt from torch.utils.data import TensorDataset, DataLoadermatplotlib.use(tkAgg)# 设置图形配置 config {"font.family": serif,"mathtext.fontset&q…...

MySQL 实验 7:索引的操作
MySQL 实验 7:索引的操作 索引是对数据表中一列或多列的值进行排序的一种结构,索引可以大大提高 MySQL 的检索速度。合理使用索引,可以大大提升 SQL 查询的性能。 索引好比是一本书前面的目录,假如我们需要从书籍查找与 xx 相关…...

为Floorp浏览器添加搜索引擎及搜索栏相关设置. 2024-10-05
Floorp浏览器开源项目地址: https://github.com/floorp-Projects/floorp/ 1.第一步 为Floorp浏览器添加搜索栏 (1.工具栏空白处 次键选择 定制工具栏 (2. 把 搜索框 拖动至工具栏 2.添加搜索引擎 以添加 搜狗搜索 为例 (1.访问 搜索引擎网址 搜狗搜索引擎 - 上网从搜狗开始 (2…...

如何设置WSL Ubuntu在Windows开机时自动启动
如何设置WSL Ubuntu在Windows开机时自动启动 步骤详解1. 创建批处理脚本2. 添加到Windows启动项 注意事项结语 在使用Windows Subsystem for Linux (WSL) 时,我们可能希望Ubuntu能够在Windows启动时自动运行。本文将介绍如何实现这一功能,让您的开发环境更加便捷。 步骤详解 …...

使用TensorBoard可视化模型
目录 TensorBoard简介 神经网络模型 可视化 轮次-损失曲线 轮次-准确率曲线 轮次-学习率曲线 迭代-评估准确率曲线 迭代-评估损失曲线 TensorBoard简介 TensorBoard是一款出色的交互式的模型可视化工具。安装TensorFlow时,会自动安装TensorBoard。如图: TensorFlow可…...

《深度学习》OpenCV 图像拼接 原理、参数解析、案例实现
目录 一、图像拼接 1、直接看案例 图1与图2展示: 合并完结果: 2、什么是图像拼接 3、图像拼接步骤 1)加载图像 2)特征点检测与描述 3)特征点匹配 4)图像配准 5)图像变换和拼接 6&am…...