无人机和鸟数据集,无人机数据集+鸟数据集 yolo格式,可以直接用于模型的训练。7000张,图片自己打的标签 yolov5-yolov10通用

 无人机和鸟数据集,无人机数据集+鸟数据集 yolo格式,可以直接用于模型的训练。7000张,图片自己打的标签  yolov5-yolov10通用

  • 无人机及鸟类目标检测数据集
  • 规模
    • 总图像数量:约7,000张
  • 类别:2类检测目标
    • Drone:无人机
    • Bird:鸟类
  • 标注格式:YOLO txt格式
  • 用途:目标检测
  • 适用框架:YOLO系列目标检测算法(如YOLOv5到YOLOv10)
数据集特点
  • 高质量影像:所有图像均为高分辨率的图像,适合用于精确的目标检测。
  • 详细标注:每张图像都有详细的边界框标注,采用YOLO txt格式。
  • 多样性:包含多种环境和场景下的无人机和鸟类图像,适用于不同的应用场景。
  • 广泛适用性:支持多种深度学习框架,特别是YOLO系列模型。
数据集结构

UAV_BirdDataset/
├── images/  # 图像文件
│   ├── train/  # 训练集图像
│   │   ├── image_00001.jpg
│   │   ├── image_00002.jpg
│   │   └── ...
│   ├── val/  # 验证集图像
│   │   ├── image_00001.jpg
│   │   ├── image_00002.jpg
│   │   └── ...
│   └── test/  # 测试集图像
│       ├── image_00001.jpg
│       ├── image_00002.jpg
│       └── ...
├── labels/  # YOLO格式标签
│   ├── train/  # 训练集标签
│   │   ├── image_00001.txt
│   │   ├── image_00002.txt
│   │   └── ...
│   ├── val/  # 验证集标签
│   │   ├── image_00001.txt
│   │   ├── image_00002.txt
│   │   └── ...
│   └── test/  # 测试集标签
│       ├── image_00001.txt
│       ├── image_00002.txt
│       └── ...
└── data.yaml  # 数据配置文件
  • images/train/images/val/ 和 images/test/ 文件夹分别包含训练集、验证集和测试集的图像文件。
  • labels/train/labels/val/ 和 labels/test/ 文件夹分别包含每个图像对应的YOLO txt格式标签文件。
  • data.yaml 文件列出了数据集的基本信息和类别列表。
标注格式示例

每行表示一个物体的边界框和类别:

class_id cx cy w h
  • class_id:类别ID(0为无人机,1为鸟类)。
  • cx:目标框中心点x坐标 / 图像宽度。
  • cy:目标框中心点y坐标 / 图像高度。
  • w:目标框宽度 / 图像宽度。
  • h:目标框高度 / 图像高度。

例如:

0 0.453646 0.623148 0.234375 0.461111
1 0.250000 0.300000 0.150000 0.200000
使用该数据集进行模型训练
1. 数据预处理与加载

首先,我们需要加载数据并将其转换为适合YOLOv5等模型使用的格式。假设你已经安装了PyTorch和YOLOv5。

import os
from PIL import Image
import torch
from torch.utils.data import Dataset, DataLoader
from torchvision import transformsclass UAVBirdDataset(Dataset):def __init__(self, image_dir, label_dir, transform=None):self.image_dir = image_dirself.label_dir = label_dirself.transform = transformself.image_files = [f for f in os.listdir(image_dir) if f.endswith('.jpg')]def __len__(self):return len(self.image_files)def __getitem__(self, idx):img_name = self.image_files[idx]img_path = os.path.join(self.image_dir, img_name)label_path = os.path.join(self.label_dir, img_name.replace('.jpg', '.txt'))# 加载图像image = Image.open(img_path).convert('RGB')if self.transform:image = self.transform(image)# 加载标注with open(label_path, 'r') as f:lines = f.readlines()boxes = []labels = []for line in lines:class_id, cx, cy, w, h = map(float, line.strip().split())boxes.append([cx, cy, w, h])labels.append(int(class_id))boxes = torch.tensor(boxes, dtype=torch.float32)labels = torch.tensor(labels, dtype=torch.int64)return image, boxes, labels# 数据增强
transform = transforms.Compose([transforms.Resize((640, 640)),transforms.ToTensor(),
])# 创建数据集
train_dataset = UAVBirdDataset(image_dir='UAV_BirdDataset/images/train/', label_dir='UAV_BirdDataset/labels/train/', transform=transform)
val_dataset = UAVBirdDataset(image_dir='UAV_BirdDataset/images/val/', label_dir='UAV_BirdDataset/labels/val/', transform=transform)
test_dataset = UAVBirdDataset(image_dir='UAV_BirdDataset/images/test/', label_dir='UAV_BirdDataset/labels/test/', transform=transform)train_loader = DataLoader(train_dataset, batch_size=4, shuffle=True, num_workers=4)
val_loader = DataLoader(val_dataset, batch_size=4, shuffle=False, num_workers=4)
test_loader = DataLoader(test_dataset, batch_size=4, shuffle=False, num_workers=4)
2. 构建模型

我们可以使用YOLOv5模型进行目标检测任务。假设你已经克隆了YOLOv5仓库,并按照其文档进行了环境设置。

git clone https://github.com/ultralytics/yolov5
cd yolov5
pip install -r requirements.txt

创建数据配置文件 data/uav_bird.yaml

train: path/to/UAV_BirdDataset/images/train
val: path/to/UAV_BirdDataset/images/val
test: path/to/UAV_BirdDataset/images/testnc: 2  # 类别数
names: ['Drone', 'Bird']
3. 训练模型

使用YOLOv5进行训练。

4. 评估模型

在验证集上评估模型性能

python val.py --img 640 --batch 16 --data data/uav_bird.yaml --weights runs/train/exp/weights/best.pt --task test
5. 推理

使用训练好的模型进行推理。

python detect.py --source path/to/test/image.jpg --weights runs/train/exp/weights/best.pt --conf 0.5

实验报告

实验报告应包括以下内容:

  1. 项目简介:简要描述项目的背景、目标和意义。
  2. 数据集介绍:详细介绍数据集的来源、规模、标注格式等。
  3. 模型选择与配置:说明选择的模型及其配置参数。
  4. 训练过程:记录训练过程中的损失变化、学习率调整等。
  5. 评估结果:展示模型在验证集上的性能指标(如mAP、准确率)。
  6. 可视化结果:提供一些典型样本的检测结果可视化图。
  7. 结论与讨论:总结实验结果,讨论可能的改进方向。
  8. 附录:包含代码片段、图表等补充材料。

依赖库

确保安装了以下依赖库:

pip install torch torchvision
pip install -r yolov5/requirements.txt

总结

这个无人机及鸟类目标检测数据集提供了丰富的标注数据,非常适合用于训练和评估目标检测模型。通过YOLOv5框架,可以方便地构建和训练高性能的目标检测模型。实验报告可以帮助你更好地理解和分析模型的表现,并为进一步的研究提供参考。

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

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

相关文章

从一个简单的计算问题,看国内几个大语言模型推理逻辑能力

引言 首先,来看问题: 123456*987654等于多少,给出你计算的过程。 从openai推出chatgpt以来,大模型发展的很快,笔者也经常使用免费的大语言模型辅助进行文档编写和编码工作。大模型推出时间也好久了,笔者想…

【独家:AI编程助手Cursor如何revolutionize Java设计模式学习】

【独家:AI编程助手Cursor如何revolutionize Java设计模式学习】 导语 在Java高级编程的世界里,设计模式是每个开发者必须掌握的利器。但是,如何快速理解并灵活运用这些模式呢?让我们一起探索如何借助AI编程助手Cursor,轻松掌握设计模式,提升Java编程技能! 正文 设计模式:J…

易控天地|易控天地标准版3.0(EconTNT STD3.0)安装记录

哈喽,你好啊,我是雷工! 以前使用过的组态软件WinCC、杰控、MCGS、组态王、KingSCADA、KingFunsion等, 关于易控天地去年在现场见到过,接下来安装体验下易控天地; 以下为安装笔记。 01 解压缩 下载完安装…

【YOLO模型】(1)--YOLO是什么

一、什么是YOLO YOLO(You Only Look Once)是一种基于深度学习的目标检测算法,由Joseph Redmon等人于2016年提出。 1. 核心思想 它的核心思想是将目标检测问题转化为一个回归问题,通过一个神经网络直接预测目标的类别和位置。 …

[Linux] CentOS7替换yum源为阿里云并安装gcc详细过程(附下载链接)

前言 CentOS7替换yum源为阿里云 yum是CentOS中的一种软件管理器,通过yum安装软件,可以自动解决包依赖的问题,免去手工安装依赖包的麻烦。 yum使用了一个中心仓库来记录和管理软件的依赖关系,默认为mirrorlist.centos.org&#xf…

1208. 尽可能使字符串相等

Problem: 1208. 尽可能使字符串相等 题目描述 给定两个相同长度的字符串 s 和 t,将字符串 s 转换为字符串 t 需要消耗开销,开销是两个字符的 ASCII 码差值的绝对值。还有一个最大预算 maxCost,我们需要在这个预算范围内,找到 s 中…

时钟分频电路之Innovus自动产生的_clock_gen skew group盘点

我们在查看时钟树综合的log时会发现工具会自动生成一些skew group,这些skew group的名字都是以_clock_gen开头的。 skew_group _clock_gen_CLK_CORE_PLL_clk_reg_1/func: insertion delay [min0.020, max0.064, avg0.038, sd0.022], skew [0.045 vs 0.050], 100% {…

SSL证书有免费的吗?在哪里可以申请到?——附带申请步骤

申请免费的SSL证书通常可以通过以下几个步骤完成,这里以使用JoySSL为例进行说明,因为JoySSL提供了一个免费、自动化和开放的证书颁发机构(CA)来促进网站从HTTP向HTTPS的转换。 步骤: 选择工具: 访问JoySSL…

二百六十八、Kettle——同步ClickHouse清洗数据到Hive的DWD层静态分区表中(每天一次)

一、目的 实时数仓用的是ClickHouse,为了避免Hive还要清洗数据,因此就直接把ClickHouse中清洗数据同步到Hive中就行 二、所需工具 ClickHouse:clickhouse-client-21.9.5.16 Kettle:kettle9.2 Hadoop:hadoop-3.1.3…

汽车免拆诊断案例 | 2019 款奥迪 A6L 车行驶中偶发熄火

故障现象  一辆2019款奥迪A6L车,搭载2.0T发动机,累计行驶里程约为9万km。车主反映,车辆行驶中偶发熄火,故障频率较高。 故障诊断  接车后试车,起动发动机,可以正常起动着机。使用故障检测仪检测&#x…

Vue项目的创建

安装Vue工具 Vue CLI Vue CLI Vue.js 开发的标准工具,Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统 npm install -g vue/cli安装之后,你就可以在命令行中访问 vue 命令。你可以通过简单运行 vue,看看是否展示出了一份所有可用命令的…

基于SSM邮票鉴赏系统的设计

管理员账户功能包括:系统首页,个人中心,用户管理,邮票信息管理,邮票分类管理,文章信息管理,系统管理,个人分享管理 用户账号功能包括:系统首页,个人中心&…

【正点原子K210连载】第四十八章 自学习分类实验 摘自【正点原子】DNK210使用指南-CanMV版指南

第四十八章 自学习分类实验 在上一章节中,介绍了利用maix.KPU模块实现了MNIST的手写数据识别,本章将继续介绍利用maix.KPU模块实现的自学习分类。通过本章的学习,读者将学习到自学习分类应用在CanMV上的实现。 本章分为如下几个小节&#xf…

Hallo2 长视频和高分辨率的音频驱动的肖像图像动画 (数字人技术)

HALLO2: LONG-DURATION AND HIGH-RESOLUTION AUDIO-DRIVEN PORTRAIT IMAGE ANIMATION 论文:https://arxiv.org/abs/2410.07718 代码:https://github.com/fudan-generative-vision/hallo2 模型:https://huggingface.co/fudan-generative-ai/h…

后端C++

前言 1. Task0 1.1 获取你的服务器 1.2 对服务器进行基本操作 分别创建文件夹dir_a, dir_b, dir_c进入dir_a,创建a.txt, b.txt, c.txt 将a.txt, b.txt, c.txt 分别复制成: a.txt.bak, b.txt.bak, c.txt.bak 将a.txt, b.txt, c.txt 分别重命名为: a_new.txt, b_new.txt, c_ne…

凹凸性和拐点的概念

二阶导不存在也可能是拐点 判断拐点的充分条件

Android Studio USB调试真机映射屏幕画面

Android Studio USB调试真机映射屏幕画面 文章目录 Android Studio USB调试真机映射屏幕画面一、USB连手机并设置开发者模式1.1 报错信息1.2 启用开发者选项和 USB 调试:1.3 手机配置选项 二、Android Studio 开启手机投屏功能 一、USB连手机并设置开发者模式 1.1 …

Flutter 小技巧之 equatable 包解析以及宏编程解析

今天我们聊聊 equatable 包的实现,并通过 equatable 去理解 Dart 宏编程的作用和实现,对于 Flutter 开发者来说,Dart 宏编程可以说是「望眼欲穿」。 equatable 正如 equatable 这个包名所示,它的功能很简单,主要是用…

计算机毕业设计hadoop+spark知识图谱中药推荐系统 中药材推荐系统 中药可视化 中药数据分析 中药爬虫 机器学习 深度学习 人工智能 大数据

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 摘 要 本文所探讨的领域是…

【Linux】“echo $变量“ 命令打印变量值的底层原理

在 shell 中,echo $变量 命令的工作原理涉及几个关键步骤,主要是由 shell 解释器来处理变量的查找和替换。以下是详细的过程: 变量展开的过程顺序 变量引用: 在命令行中,变量通常以 $variable_name 或 ${variable_…