当前位置: 首页 > news >正文

【目标检测】Yolov8 完整教程 | 检测 | 计算机视觉

学习资源:https://www.youtube.com/watch?v=Z-65nqxUdl4

@努力的小巴掌 记录计算机视觉学习道路上的所思所得。

1、准备图片images

收集数据网站:OPEN IMAGES 

2、准备标签labels

网站:CVAT  有点是:支持直接导出yolo格式的标签

步骤:创建项目---Projects---输入类别--上传数据

目标检测标签文件格式:

每一行代表一个检测对象:类别,Center_x, Center_y, W, H

每一个label文件中的行数,对应该张图片中检测对象的数量

注意:Center_x, Center_y, W, H这4个数字是浮点数,因为是相对于整个图像的大小

3、文件格式化

images

labels

名称完全相同,拓展名不同

4、开始训练

yolov8的便捷之处在于,可以直接在python中使用代码运行。或者命令行运行。

方法1:python解释器运行

创建main.py

  • 下载库:from ultralytics import YOLO

ultralytics库占用空间挺大的。做好准备。

  • 加载模型:model = YOLO("yolov8n.yaml")

这个模型对应着官网的不同版本,n到x,适应的目标检测越来越大。

按照任务不同进行模型的选择。

  • 创建配置文件
    config.yaml

config.yaml文件的位置与main.py位于同一个目录下。可以正常运行。

path指向存放data路径,train和val是存放图片的具体位置。

注意:config文件中的path需要是绝对路径(直接去文件夹复制就好了),不要是相对路径,不然就会报错。

如上图,设计train和val是同样的图片; 可以用相同的数据作为train和val。

方法2:终端运行

yolo detect train data=config.yaml model='yolov8n.yaml' epochs=2

参考:

CLI - Ultralytics YOLO Docs

5、查看训练结果

看图表:

混淆矩阵:有关如何预测不同类别,会包含所有的类别

F1 confidence curve

Precison confidence curve

Precison recall curve

Loss:确保损失是在下降的

看图片结果判断

 6、使用全新图片或者视频进行预测以判断模型好坏

创建predict.py文件

参考:【yolov8语义分割】跑通:下载yolov8+预测图片+预测视频-CSDN博客

相关文章:

【目标检测】Yolov8 完整教程 | 检测 | 计算机视觉

学习资源:https://www.youtube.com/watch?vZ-65nqxUdl4 努力的小巴掌 记录计算机视觉学习道路上的所思所得。 1、准备图片images 收集数据网站:OPEN IMAGES 2、准备标签labels 网站:CVAT 有点是:支持直接导出yolo格式的标…...

新能源汽车 LabCar 测试系统方案(-)

什么是LabCar测试 LabCar测试目标是进行整车黄板台架功能测试,用于整车开发和测试阶段,满足设计人员和测试人员的试验需求,以验证整车性能,减少开发工作量。系统主要用于测试静态及动态工况下的纯电动汽车的各项功能实现情况。 …...

机器学习辅助的乙醇浓度检测(毕设节选)

目录 1.为什么要机器学习 2. 神经网络一般组成 3.BP神经网络工作过程 4.评价指标 5.实操代码 1.为什么要用机器学习 人工分析大量的谐振模式,建立各种WGM的响应与未知目标之间的关系,是一个很大的挑战。机器学习(ML)能够自行识别全谱的全部特征。作为…...

YOLO系列改进

yolo核心思想:把目标检测转变成一个回归问题。将整个图像作为网络的输入,仅仅经过一个神经网络,得到边界框的位置及其所属的类别。 YOLOv1 CVPR2016 输出7730的张量表示2个框的5个参数和20个种类。leaky ReLU,leaky并不会让负数…...

cuda与cudnn下载(tensorflow-gpu)

目录 前言 正文 前言 !!!tensorflow-gpu的版本要与cuda与cudnn想对应。这点十分重要!推荐下载较新的。即tensorflow-gpu2.60及以上,cuda11.x及以上,cudnn8.x及以上。 所以,下载之前先检查好…...

git 多分支实现上传文件但避免冲突检测

文章目录 背景实现步骤 背景 对于某些通过命令生成的配置文件(如 TypeScript 类型文件等) 实现步骤 1...

聊聊 golang 中 channel

1、引言 Do not communicate by sharing memory; instead, share memory by communicating Golang 的并发哲学是“不要通过共享内存进行通信,而要通过通信来共享内存”,提倡通过 channel 进行 goroutine 之间的数据传递和同步,而不是通过共享…...

SK Hynix 3D DRAM良率突破56.1%,开启存储新时代

根据韩国财经媒体Business Korea独家报道:在刚刚结束的VLSI 2024国际研讨会上,韩国半导体巨头SK Hynix公布了一项振奋人心的进展:其五层堆叠3D DRAM的制造良率已达到56.1%。此成果标志着3D DRAM技术在商业化道路上迈出了坚实的一步&#xff0…...

如何封装自动化测试框架?

封装自动化测试框架,测试人员不用关注框架的底层实现,根据指定的规则进行测试用例的创建、执行即可,这样就降低了自动化测试门槛,能解放出更多的人力去做更深入的测试工作。 本篇文章就来介绍下,如何封装自动化测试框…...

基于Java的在线编程考试系统【附源码】

毕业设计(论文) 题目:基于 二级学院: 现代技术学院 专业(方向): 计算机应用技术 班 级: 计科B2015 学 生: 指导教师: 2024年1月 29 日 本科毕业论文(设计)学术诚信声明 本人郑重…...

Beautiful Soup的使用

1、Beautiful Soup简介 Beautiful Soup是一个Python的一个HTML或XML的解析库,我们用它可以方便地从网页中提取数据。 Beautiful Soup 提供一些简单的、Python 式的函数来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓…...

633. 平方数之和(中等)

633. 平方数之和 1. 题目描述2.详细题解3.代码实现3.1 Python3.2 Java内存溢出溢出代码正确代码与截图 1. 题目描述 题目中转:633. 平方数之和 2.详细题解 本题是167. 两数之和 II - 输入有序数组(中等)题目的变型,由两数之和变…...

GIT回滚

1. 使用 git revert git revert 命令会创建一个新的提交,这个提交会撤销指定提交的更改。这通常用于公共分支(如 main 或 master),因为它不会重写历史。 git revert HEAD # 撤销最近的提交 # 或者指定一个特定的提交哈希值 …...

BEVM基于OP-Stack发布首个以WBTC为GAS连接以太坊和比特币生态的中继链

为了更好的连接以太坊和比特币生态,BEVM团队正在基于OPtimism的OP Stack来构建一个以WBTC为GAS兼容OP-Rollup的中继链,这条中继链将作为一种完全去中心化的中间层,把以太坊上的主流资产(WBTC/ ETH/USDC/USDT等)引入到BEVM网络。 不仅如此&am…...

【vuejs】 $on、$once、$off、$emit 事件监听方法详解以及项目实战

1. Vue实例方法概述 1.1 vm.$on vm.$on是Vue实例用来监听自定义事件的方法。它允许开发者在Vue实例上注册事件监听器,当事件被触发时,指定的回调函数会被执行。 事件监听:vm.$on允许开发者绑定一个或多个事件到Vue实例上,并且可…...

如何下载植物大战僵尸杂交版,最全攻略来了

《植物大战僵尸杂交版》由热爱原版游戏的B站UP主“潜艇伟伟迷”独立开发,带来了创新的游戏体验。如果你是策略游戏的爱好者,下面这份全面的下载和游玩攻略将是你的理想选择。 游戏亮点: 杂交植物系统:结合不同植物特性&#xff0c…...

小公司全栈是归宿吗?

在软件开发领域,特别是在小公司或初创公司中,全栈开发者的角色确实相对普遍和重要。然而,说“全栈是归宿”可能过于绝对,因为每个开发者的职业路径和兴趣点都是不同的。 以下是关于全栈开发在小公司的一些考虑: 需求…...

对https://registry.npm.taobao.org/tyarn的请求失败,原因:证书过期

今天安装yarn时,报错如下: request to https://registry.npm.taobao.org/yarn failed, reason: certificate has expired 原来淘宝镜像过期了,需要重新搞一下 记录一下解决过程: 1.查看当前npm配置 npm config list 2.清…...

Redisson-Lock-加锁原理

归档 GitHub: Redisson-Lock-加锁原理 Unit-Test RedissonLockTest 说明 源码类:RedissonLock // 加锁入口 Override public void lock() { lock(-1, null, false); }/*** 加锁实现 */ private void lock(long leaseTime, TimeUnit unit, boolean interruptib…...

deepspeed win11 安装

目录 git地址: aio报错: 编译 报错 ops已存在: 修改拷贝代码: git地址: Bug Report: Issues Building DeepSpeed on Windows Issue #5679 microsoft/DeepSpeed GitHub aio报错: setup.py 配置变量 os.environ[DISTUTILS_USE_SDK]=1 os.environ[DS_BUILD_AIO]=…...

基于carsim Simulink联合仿真和预瞄PID算法的轨迹跟踪模型】车辆路径跟踪包括主车...

基于carsim Simulink联合仿真和预瞄PID算法的轨迹跟踪模型】车辆路径跟踪包括主车的纵向和横向运动控制,纵向控制是通过调整轮毂电机的扭矩,使得车辆以期望的速度行驶;横向控制是通过调整主车的转向,使主车沿预期的轨迹行驶。 本模…...

实战指南:如何为你的应用选择最优Cache替换算法(附性能对比)

实战指南:如何为你的应用选择最优Cache替换算法(附性能对比) 在构建高性能应用时,缓存系统的设计往往是决定整体性能的关键因素之一。想象一下,一个电商网站在大促期间,每秒需要处理数十万次商品详情查询&a…...

【仅限核心开发者知晓】Polars 2.0清洗Pipeline的4层IR抽象:为何比Pandas快11.8倍?源码注释级解读

第一章:Polars 2.0清洗Pipeline的演进本质与性能跃迁全景Polars 2.0 将清洗 Pipeline 从“惰性执行显式优化提示”升级为“全图级自动重写零拷贝流式调度”,其本质是将数据清洗从过程式编排转向声明式语义图推理。核心突破在于 LazyFrame 的物理计划生成…...

【Linux】新手必看:高频指令实战演练Part One

1. Linux命令行初体验:从零到上手 第一次打开Linux终端时,那种黑底白字的界面确实容易让人发懵。记得我刚开始接触时,连最基本的"怎么退出当前命令"都要百度半天。但别担心,命令行其实就像学骑自行车 - 刚开始摇摇晃晃&…...

RISC-V开发工具链技术解析与选型指南

1. RISC-V开发工具链技术解析1.1 RISC-V生态发展背景随着处理器架构领域对开放性和灵活性的需求增长,RISC-V指令集架构凭借其开源特性获得了广泛关注。与传统架构相比,RISC-V免除了授权费用,降低了开发门槛,这使得芯片厂商和工具链…...

突破reCAPTCHA屏障:EzCaptcha自动化识别实战指南

1. 为什么我们需要自动化处理reCAPTCHA? 每次在网上注册账号或者提交表单时,那个让你"勾选我不是机器人"的小方框,就是reCAPTCHA验证系统。作为谷歌推出的智能验证工具,它确实有效阻止了大量垃圾注册和恶意攻击&#xf…...

这次咱们来拆解PFC二维浆岩直剪案例。这个案例有意思的地方在于它展示了颗粒材料与刚性墙体接触面的剪切行为,咱们边看代码边分析剪切曲线的门道

PFC案例9,浆-岩二维直剪,包含代码源文件、代码解释、曲线分析先看模型搭建的关键代码段: ;生成浆体颗粒 ball distribute ... ;创建上下剪切盒 wall generate id 1 vertices 0 0 1 0 1 1 0 1 wall generate id 2 vertices 0 0.2 1 0.2;设置…...

gte-base-zh效果展示:中文诗歌风格迁移评估——基于向量空间距离的风格量化分析

gte-base-zh效果展示:中文诗歌风格迁移评估——基于向量空间距离的风格量化分析 1. 引言:当AI遇见古诗词 想象一下,你是一位诗词爱好者,想尝试把李白的豪放诗句改写成李清照的婉约风格。传统上,这需要深厚的文学功底…...

当翻译成本趋近于零:AI原生时代,软件工程如何重塑?

当翻译成本趋近于零,软件工程的瓶颈就从“如何写对代码”变成了“如何定义对的事”。 一、两条路线之争:代码约束还是提示约束? 当前AI智能体演进中,出现了一条清晰的分野:以Claude Code为代表的“代码硬约束”路线&am…...

Keil“魔法棒”全解析:从Device到Utilities的配置秘籍

1. 认识Keil的"魔法棒":Options for Target对话框 第一次打开Keil MDK时,工具栏上那个带着星星的魔法棒图标总是特别引人注目。这个被开发者亲切称为"魔法棒"的按钮,实际上是整个开发环境中最强大的配置中心——Options …...