使用yolo11训练航拍图片微小目标AI-TOD检测数据集无损压缩版YOLO格式14018张8类别已划分好训练验证集步骤和流程

【数据集介绍】

我们基于公开的大规模航空图像数据集构建了AI-TOD,这些数据集包括:DOTA-v1.5的训练验证集[1]、xView的训练集[19]、VisDrone2018-Det的训练验证集[20]、Airbus Ship的训练验证集1以及DIOR的训练验证+测试集[3]。这些数据集的详细信息如下:

DOTA-v1.5 训练验证集:这是原始 DOTA-v1.0 数据集 [1] 的升级版本,并已用于航空图像目标检测(DOAI2019)的性能评估。DOTA-v1.5 训练验证集包含 1,869 张图像,尺寸从 800 × 800 到 4000 × 4000 像素不等,以及 280,196 个目标实例,这些实例被标注为 16 个类别(例如,船只、小型车辆、储罐)。

xView训练集:这是一个大规模的目标检测数据集,包含1,415平方公里的WorldView-3图像,分辨率为30厘米。该标注数据集用于目标检测,涵盖了60个类别中的超过100万个目标实例,包括各种类型的车辆、飞机和船只[19]。

VisDrone2018-Det 训练验证集。该数据集包含 7,019 张图像,这些图像由无人机平台在不同地点、不同高度拍摄。图像经过人工标注,包含边界框和 10 个预定义类别(例如行人、人、汽车)。

Airbus-Ship训练验证集。这是一个用于Kaggle挑战赛中的船舶检测数据集。Airbus-Ship训练验证集包含42,559张图像和81,724艘船舶,所有对象均以多边形标注。

DIOR 训练验证+测试集。该数据集包含 23,463 张图像和 192,472 个目标实例,涵盖 20 个类别(例如,飞机、船舶、风车)。

为了构建AI-TOD数据集,我们从上述数据集中提取图像和对象实例,具体步骤如下:

图像尺寸。原始图像被划分为800×800像素的块,重叠部分为200像素。如果原始图像小于800×800像素,则通过填充零像素将其扩展到800×800像素。
对象类型。我们在AI-TOD数据集中选择了八种类别,包括飞机(AI)、桥梁(BR)、储罐(ST)、船舶(SH)、游泳池(SP)、车辆(VE)、人(PE)和风车(WM)。这些类别的选择基于某类对象在低分辨率航空图像中是否常见及其尺寸。airplane (AI), bridge (BR), storage-tank (ST), ship (SH), swimming-pool (SP), vehicle (VE)
类别转换。在选定类别后,我们将相应数据集中的旧类别转换为新类别。在此过程中,一些类别不在AI-TOD中的对象将被剔除。

图片预览:

标注例子:

数据集官方大小22GB大小且默认不是YOLO格式,这里将官方图片无损压缩成jpg格式并转成YOLO格式,压缩包体积变成1.08GB大小,大大节约下载时间且不影响训练效果。

【训练步骤】

这里以yolo11训练为例。首先我们获取数据集压缩包7z格式或者zip格式后解压到一个非中文或者有空格路径下面。比如解压到C:\Users\Administrator\Downloads目录,下面都是以这个目录演示训练流程。

打开coco128.yaml看到下面类似格式:

train: train/images
val: val/images
# Number of classes
nc: 8
# Class names
names:0: airplane1: bridge2: storage-tank3: ship4: swimming-pool5: vehicle6: person7: wind-mill

 这些都不用修改,我们只需要检查一下是不是对的就行。

之后就是开始训练了,注意训练yolov11模型需要自己提前安装好环境。

使用预训练模型开始训练

yolo task=detect mode=train model=yolo11n.pt data=coco128.yaml epochs=100 imgsz=640 batch=8 workers=2

参数说明:

model: 使用的模型类型,如 yolo11s.pt(小模型)、yolo11m.pt(中)、yolo11l.pt(大)
data: 指定数据配置文件
epochs: 训练轮数
imgsz: 输入图像尺寸
batch: 批量大小(根据显存调整)

workers:指定进程数(windows最好设置0或者1或2,linux可以设置8)
训练完成后,最佳权重保存路径为:runs/detect/train/weights/best.pt,如果多次运行命令runs/detect/train2,runs/detect/train3文件夹生成只需要到数字最大文件夹查看就可以找到模型

图片预测:

from ultralytics import YOLO# 加载训练好的模型
model = YOLO('runs/detect/train/weights/best.pt')# 图像预测
results = model('path_to_your_image.jpg')

视频或摄像头预测

results = model('path_to_video.mp4')  # 视频
#results = model(0)  # 摄像头

 验证集评估

yolo task=detect mode=val model=runs/detect/train/weights/best.pt data=data.yaml

输出指标图像,一般在模型训练后生成,文件位置在runs/detect/train/results.png:

上面训练结果图片常用评估参数介绍

【常用评估参数介绍】

在目标检测任务中,评估模型的性能是至关重要的。你提到的几个术语是评估模型性能的常用指标。下面是对这些术语的详细解释:

  1. Class
    • 这通常指的是模型被设计用来检测的目标类别。例如,一个模型可能被训练来检测车辆、行人或动物等不同类别的对象。
  2. Images
    • 表示验证集中的图片数量。验证集是用来评估模型性能的数据集,与训练集分开,以确保评估结果的公正性。
  3. Instances
    • 在所有图片中目标对象的总数。这包括了所有类别对象的总和,例如,如果验证集包含100张图片,每张图片平均有5个目标对象,则Instances为500。
  4. P(精确度Precision)
    • 精确度是模型预测为正样本的实例中,真正为正样本的比例。计算公式为:Precision = TP / (TP + FP),其中TP表示真正例(True Positives),FP表示假正例(False Positives)。
  5. R(召回率Recall)
    • 召回率是所有真正的正样本中被模型正确预测为正样本的比例。计算公式为:Recall = TP / (TP + FN),其中FN表示假负例(False Negatives)。
  6. mAP50
    • 表示在IoU(交并比)阈值为0.5时的平均精度(mean Average Precision)。IoU是衡量预测框和真实框重叠程度的指标。mAP是一个综合指标,考虑了精确度和召回率,用于评估模型在不同召回率水平上的性能。在IoU=0.5时,如果预测框与真实框的重叠程度达到或超过50%,则认为该预测是正确的。
  7. mAP50-95
    • 表示在IoU从0.5到0.95(间隔0.05)的范围内,模型的平均精度。这是一个更严格的评估标准,要求预测框与真实框的重叠程度更高。在目标检测任务中,更高的IoU阈值意味着模型需要更准确地定位目标对象。mAP50-95的计算考虑了从宽松到严格的多个IoU阈值,因此能够更全面地评估模型的性能。

这些指标共同构成了评估目标检测模型性能的重要框架。通过比较不同模型在这些指标上的表现,可以判断哪个模型在实际应用中可能更有效。

将模型导出为ONNX、TensorRT等格式以用于部署:

yolo export model=runs/detect/train/weights/best.pt format=onnx
支持格式包括:onnx, engine, tflite, pb, torchscript 等。

经过上面训练可以使用模型做进一步部署,比如使用onnx模型在嵌入式部署,使用engine模型在jetson上deepstream部署,使用torchscript模型可以在C++上部署等等。

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

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

相关文章

sward V2.0.6版本发布,支持OnlyOffice集成、文档权限控制及归档等功能

1、版本更新日志新增新增目录文档权限控制新增新增知识库、文档归档功能集成OnlyOffice支持word文档预览、编辑新增MarkDown代码块根据语言展示不同样式优化优化富文本在小屏幕操作调整优化部分界面展示效果优化知识库图片展示效果2、目录与文档权限控制默认情况下,…

多因子AI回归揭示通胀-就业背离,黄金价格稳态区间的时序建模

摘要:本文通过构建包含通胀韧性、就业疲软、货币政策预期及跨市场联动的多因子量化模型,结合美国8月CPI超预期上行与初请失业金人数激增的动态数据,分析黄金价格的高位持稳机制,揭示就业市场对美联储降息预期的协同支撑效应。一、…

Java--多线程基础知识(2)

一.多线程的中断1.通过自定义的变量来作为标志位import java.util.Scanner;public class Demo1 {public static boolean flg false;public static void main(String[] args) throws InterruptedException {Thread t1 new Thread(()->{while (!flg){System.out.println(&qu…

Qit_计网笔记

第1章 概述1.1 计算机网络在信息时代中的作用一、计算机网络基础概念(一)计算机网络的定义定义:计算机网络在信息时代中起到核心作用,实现了万物联网和人人用网的目标。(二)计算机网络的特点信息时代特征&a…

【C++11】initializer_list列表初始化、右值引用和移动语义、可变参数模版等

目录 前言 一、简介一下C11 二、{}列表初始化 三、右值引用和移动语义 四、右值引用和移动语义的使用场景 五、右值引用和移动语义在传参中的提效 六、引用折叠和完美转发 七、可变参数模板 前言 本文主要介绍C11中新增的一些重要语法:包括initializer_list列表初…

MP3 ID3标签中的数字流派代码和文本值翻译成的中文列表

将MP3 ID3标签中的数字流派代码和文本值翻译成的中文列表:■ 数字代码流派:0 布鲁斯 (Blues)1 古典摇滚 (Classic Rock)2 乡村音乐 (Country)3 舞曲 (Dance)4 迪斯科 (Disco)5 放克 (Funk)6 垃圾摇滚 (Grunge)7 嘻哈 (Hip-Hop)8 爵士乐 (Jazz)9 金属乐 (M…

U8g2库为XFP1116-07AY(128x64 OLED)实现菜单功能[ep:esp8266]

使用U8g2库为XFP1116-07AY(128x64 OLED)实现菜单功能,核心是通过按键控制菜单切换、光标移动和选项选中,结合U8g2的绘图/文本函数实现交互逻辑支持多级菜单(主菜单→子菜单→功能执行),并兼容ES…

easy-dataset 框架综合技术分析:面向领域特定 LLM 指令数据的合成

摘要 本报告对 easy-dataset 框架 进行全面技术剖析,该框架旨在解决大型语言模型(LLM)在特定领域应用中的核心瓶颈——高质量指令微调数据的稀缺性。随着 LLM 技术发展,其应用能力不再仅依赖模型参数规模,而是更依赖通…

【开题答辩全过程】以 4s店汽车销售系统为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人,语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…

测试中的Bug

文章目录软件测试的生命周期软件测试的各个阶段线上环境测试中的BUG描述测试BUGBUG的级别为啥要定义BUG的级别?BUG有哪些级别呢?BUG的生命周期测试与开发发生争执怎么办?测试与开发会发生啥争执?为啥会发生这样的争执?…

aws共享一个镜像并有画图功能

这样可以方便的把系统安装好,不会重复劳动了。 这个是frequi 单独安装 wget https://github.com/freqtrade/frequi/releases/download/2.0.7/freqUI.zip freqtrade install-ui pip install -U -r requirements-plot.txt 在AWS上把已经安装好的环境共享给其他用户。…

C语言---goto语句

文章目录基本语法代码示例goto 的常见用途(尽管不推荐)为什么 goto 声名狼藉?(goto的缺点)如何避免使用 goto?(替代方案)goto 语句是一种无条件跳转语句,它用于将程序的控…

Flask框架的简单了解

🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录1. 前言2. 简介3. 核心特点4. 代码实例5. 主要…

——贪心算法——

目录 1 柠檬水找零 2 将数组和减半的最少操作次数 3 最大数 4 摆动序列 5 最长递增子序列 6 递增的三元子序列 7 最长连续递增序列 8 买卖股票的最佳时机 9 买卖股票的最佳时机 II 10 K 次取反后最大化的数组和 11 按身高排序 12 优势洗牌 13 最长回文串 14 增减…

网络操作系统与分布式操作系统的区别

网络操作系统与分布式操作系统的区别架构设计网络操作系统(NOS)基于客户端-服务器模型,通过共享资源(如文件、打印机)提供服务,各节点保留独立的管理和数据处理能力。分布式操作系统(DOS&#x…

RabbitMQ—运维篇

RabbitMQ安装 RabbitMQ需要依赖erlang,如果普通安装需要安装erlang并保证二者兼容,因此选择较为简单的docker安装方式 1.获取rabbitmq镜像 docker pull rabbitmq:3.11.19-management #rabbitmq-management表示带有客户端(控制台) …

【学习K230-例程21】GT6700-UDP-Client

B站视频 UDP 简介 UDP 是 User Datagram Protocol 的简称,中文名是用户数据报协议,是 OSI(Open SystemInterconnection,开放式系统互联)参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送…

LazyLLM教程 | 第9讲:微调实践:让大模型和向量模型更懂你的领域

前面教程中,我们通过优化检索策略、召回重排略以及基于大模型的查询重写策略来提升了RAG系统的检索精度,但最终回复的结果还需要经过大模型的融合和处理,模型能力的强弱直接影响到最终的结果。这就好比一道好的菜不仅需要有高质量的食材&…

六、vue3后台项目系列——页面自适应设计+pinia,vuex的使用

前言:在页面加入自适应是提高用户体验的一种形式,甚至有时候是手机用户,我们就需要做一个自适应处理,其中肯定会涉及一些状态条件的判断,而这些关键的条件就是我们用来切换样式的关键,所以我们需要使用状态…

视频讲解|Python用ResNet残差神经网络在大脑出血CT图像描数据预测应用

全文链接:https://tecdat.cn/?p43843 原文出处:拓端抖音号拓端tecdat 分析师:Zikun Zhang 视频讲解Python用ResNet残差神经网络在大脑出血CT图像描数据预测在临床医疗影像诊断中,大脑出血的快速准确识别直接关系到患者的救治效率…