个人做 下载类网站,做设计开店的网站,制作网站系统,wordpress知言主题一、简介 YOLOv11是Ultralytics公司在之前的YOLO版本上推出的最新一代实时目标检测器#xff0c;支持目标检测、追踪、实力分割、图像分类和姿态估计等任务。官方代码#xff1a;ultralytics/ultralytics#xff1a;ultralytics YOLO11 #x1f680; (github.com)https://g… 一、简介 YOLOv11是Ultralytics公司在之前的YOLO版本上推出的最新一代实时目标检测器支持目标检测、追踪、实力分割、图像分类和姿态估计等任务。官方代码ultralytics/ultralyticsultralytics YOLO11 (github.com)https://github.com/ultralytics/ultralytics
二、使用教程
2.1 准备代码 首先点击上方链接进入YOLOv11的GitHub仓库按照图示流程下载打包好的YOLOv11代码与预训练权重文件到本地。 下载完成后解压 使用PyCharm或VsCode等IDE软件打开并将下载的预训练权重拷贝到解压的工程目录下下文以PyCharm为例。 2.2 准备数据集 Ultralytics版本的YOLO所需格式的数据集标签为txt格式的文本文件文本文件中保存的标签信息分别为类别序号、中心点x/y坐标、标注框的归一化信息每一行对应一个对象。图像中有几个标注的对象就有几行信息。 自制数据集标注教程可看此篇文章深度学习工具|LabelImg标注工具的安装与使用教程_labelimg安装-CSDN博客文章浏览阅读8.7k次点赞15次收藏66次。软件界面上包含了常用的打开文件、打开文件夹、更改保存路径、下一张/上一张图片、创建标注的格式、创建标注框等按钮右侧显示从文件夹导入的文件列表、标签等信息。使用时可以进行如下设置便于快速标注。_labelimg安装https://blog.csdn.net/StopAndGoyyy/article/details/139906637 如果没有自己的数据集本文提供一个小型数据集摘自SIMD公共数据集以供测试代码包含24张训练集以及20张测试集约17.7MB百度云链接https://pan.baidu.com/s/1sCivMDjfAmUZK1J2P2_Dtg?pwd1234https://pan.baidu.com/s/1sCivMDjfAmUZK1J2P2_Dtg?pwd1234 下载完成后将提供的datasets文件夹解压并复制到工程路径下。 创建 data.yaml文件保存数据集的相关信息如果使用本文提供的数据集可使用以下代码 # dataset path
train: ./images/train
val: ./images/test
test: ./images/test# number of classes
nc: 15# class names
names: [car, Truck, Van, Long Vehicle,Bus, Airliner, Propeller Aircraft, Trainer Aircraft, Chartered Aircraft, Fighter Aircraft,\Others, Stair Truck, Pushback Truck, Helicopter, Boat]
2.3 模型训练 创建train.py文件依次填入以下信息。epochs2表示只训练两轮通常设置为100-300之间此处仅测试两轮。batch1表示每批次仅训练一张图片可按显存大小调整batchsize一般24g卡可设置为16-64。
from ultralytics.models import YOLO
import os
os.environ[KMP_DUPLICATE_LIB_OK] Trueif __name__ __main__:model YOLO(modelultralytics/cfg/models/11/yolo11.yaml)# model.load(yolov8n.pt)model.train(data./data.yaml, epochs2, batch1, device0, imgsz640, workers2, cacheFalse,ampTrue, mosaicFalse, projectruns/train, nameexp)选择安装好的torch环境本文无torch环境的安装教程可按照其他博主推文或视频安装torch环境。 待软件控制台打印如下信息即为运行成功。 训练完成后在runs/train.py文件夹下保存有训练好的权重及相关训练信息。 2.4 模型验证 在工程下创建val.py文件填入刚才训练好的权重路径及相关信息。 运行即可获得该权重针对不同目标的性能指标。本文只测试2个epochs,且数据集较小可能无相关信息。 正常信息如下图 2.5 模型预测 创建detect.py文件填入训练好的权重路径及要检测的图片信息。 运行即可开始检测本文训练次数较少可能无法检测到目标如图左。可通过使用完整数据集进行训练增大epochs提高检测准确率。正常检测图片如图右。 至此模型使用教程结束。
三、模型分析 YOLOv11的结构如下在YOLOv8的基础上将C2f替换为C3K2模块更改C3k2模块中子模块的重复次数并在SPPF层之后增加C2PSA模块其他结构改动较小检测头增加两个DWConv卷积。 其中YOLOv11网络及主要模块的可视化化结构如下图。 C3K2模块存在两种结构将其中的C3k参数设置为False时等于C2f模块。
class C3k2(C2f):Faster Implementation of CSP Bottleneck with 2 convolutions.def __init__(self, c1, c2, n1, c3kFalse, e0.5, g1, shortcutTrue):Initializes the C3k2 module, a faster CSP Bottleneck with 2 convolutions and optional C3k blocks.super().__init__(c1, c2, n, shortcut, g, e)self.m nn.ModuleList(C3k(self.c, self.c, 2, shortcut, g) if c3k else Bottleneck(self.c, self.c, shortcut, g) for _ in range(n))C3k模块与C3模块区别为其中的BottleNeck个数C3k为两个BottleNeckC3默认1个并按照模型缩放因子及重复个数变化。 C2PSA模块与C2f模块相似结构如下 四、博主自研模型广告 上文是YOLOv11的使用教程及模型分析下文是博主的一点广告。如果你觉得YOLO日益频繁的更新频率太快或者使用人数太多可以考虑博主的自研模型作为Baseline2024/10/30日之前群内更新使用人数更少相对好发文且在SIMD数据集上拥有与YOLOv11相差不多的性能欢迎入群交流。后面本群将以此模型作为基线模型进行更新结合今年顶刊定会模块进行二创三创并在SIMD数据集上进行测试调整好预计每周都会更新每月 四更纯自研模块更新时间可能久一些以下是测试结果图和我的QQ二维码。 此篇完