YOLO系列入门:1、YOLO V11环境搭建

YOLO了解

yolo检测原理

  • yolo是目标检测模型,目标检测包含物体分类、位置预测两个内容。目前yolo的开发公司官网为:https://docs.ultralytics.com/zh
  • 截止到目前2024年10月,最新的是yolo11
  • 关于YOLO的介绍可以参考这篇文章:https://zhuanlan.zhihu.com/p/94986199
  • 总结一下文章内容:
    • YOLO是region-free的方法,在此之前的R-CNN是region-based方法,yolo优点是更快,不需要分两步。
    • yolo在检测时,将一个图片分为多个grid,然后每个grid预测B个边界框,要求边界框中心点位于改grid内,同时预测边界框的长和宽。对于一个物体位于多个grid的情况,通过计算置信度,由于实际物体位于中心的grid交并比肯定最大,因此可以删除其余包含

  • 关于yolo不同版本的综区别述介绍可以参考:https://blog.csdn.net/daydayup858/article/details/130018935
    • YOLO原本是在论文中提出的一个网络模型,由论文作者开发出了YOLO V1/2/3,而后由其他人和公司开发出了后来的YOLO V5、V10等版本。目前主流的是由 ultralytics 公司维护的YOLO,官网为:https://docs.ultralytics.com/zh

yolo环境搭建

  • 我们根据官网指导,搭建最新版的yolo v11开发环境。
  • 由于我们之前使用Conda安装了Pytorch和CUDA,因此我们这里依然选用Conda进行YOLO的安装。当然也可以通过docker进行安装。
  • 首先,我们按照我们之前的文章1、Pytorch框架搭建安装好Pytorch开发环境。
  • 我们将原本安装Pytorch的环境克隆一份,创建YOLO11新环境。注意:克隆环境并不会克隆pytorch,Conda采用的是硬链接的方式。(假的,被骗了。发现整整复制了5个G)
  • 我们在原本Pytorch的环境中,执行以下命令安装YOLO 11:
    pip install ultralytics
    
    在这里插入图片描述
  • 安装好后,测试安装成功。
    在这里插入图片描述

测试目标检测模型

  • YOLO支持CLI操作,不需要写python代码,就可以直接使用命令行指挥YOLO进行识别。图片如下:810*1080
    在这里插入图片描述

  • 首先,我们新建一个空白文件夹,将我们要识别的图片放进去。如下:
    在这里插入图片描述

  • 然后在conda中用命令行切换到该文件夹。将图片路径传给YOLO,执行命令

    yolo predict model=yolo11n.pt source='bus.jpg' device=0
    
  • 可以看到,这里使用的模型yolov11n.pt是预训练好的模型,YOLO会去github仓库上下载该模型。在这里插入图片描述

  • 对于YOLO 的每个版本,都会有官方版的几个预训练模型,这些模型是在COCO数据集上训练的,包含了33万张图片,涵盖了常见的80个常见物体类别。不同模型的大小参数如下:
    在这里插入图片描述

  • 可以看到执行后的文件夹内容如下:
    在这里插入图片描述

    • 其中yolov11n.pt是我们下载下来的网络模型。这里我测试运行了多个模型,因此有多个模型文件。
    • 而runs/detect/predict文件夹下面保存的是模型识别的结果:
      在这里插入图片描述
  • 最终识别结果如下,说明我们成功配置好了YOLO环境。
    在这里插入图片描述

  • 在实际项目中,我们不会通过CLI调用YOLO,而是会通过python脚本调用YOLO,原理相同。

参考

Conda安装YOLO
COCO数据集介绍

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

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

相关文章

NCCL报错

1、报错信息: raise RuntimeError("Distributed package doesnt have NCCL " "built in") RuntimeError: Distributed package doesnt have NCCL built in 2、报错原因: windows系统不支持nccl,采用gloo; …

@PostConstruct和afterPropertiesSet方法执行多次的原因

近日,遇到一个问题,PostConstruct方法会莫名执行多次,单看代码看不出问题,印象中也只会在bean初始化的时候执行一次而已。 然后问AI,问百度,没找到原因。 后面自己猜测(现在都是面向猜测编程&am…

Vue3新特性合集

Vue3 简介 ‌‌Vue 3‌ 是‌Vue.js的最新版本,它带来了许多改进和新的特性,旨在提供更好的性能、更强的类型支持以及更灵活的组件开发方式。Vue 3的推出是为了解决Vue 2中存在的一些限制,如响应式系统的限制和虚拟DOM的效率问题。Vue 3在多…

设定义结构变量

在C语言中,可以使用struct关键字来定义结构变量。结构变量是由多个不同类型的成员变量组成的数据类型,可以在一个变量中存储多个相关的数据。 定义结构变量的语法如下: struct 结构名 {数据类型 成员1;数据类型 成员2;... };例如&#xff0…

Python进阶知识2

Python类和对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的。 如果你以前没有接触过面向对象的编程语言,那你可能需要先了解一些面向对象语言的一些基本特征,在头脑里头形成…

[Javase]封装、继承、多态与异常处理

文章目录 一、前言二、封装1、封装的思想2、封装代码层面的体现 三、继承1、继承的概念和好处2、继承代码层面的体现 四、多态1、多态的概念2、多态的好处和三要素2、多态代码层面的体现 五、异常处理1、try-catch-finally结构详解2、throw\throws 一、前言 本文章适合有一定面…

#保持每天更新第一天(1)_文本预处理小技巧_中英文翻译分割技巧_从中文右边空格分割,用rsplit(‘ ‘, 1)

-- coding: utf-8 -- “”" Created on Fri Oct 18 20:58:07 2024 author: M.D “”" import pandas as pd df pd.read_csv(“transversalSkillsCollection_翻译.csv”) data df[“altLabels 替代标签”] 原始数据,每条数据由英文和中文组成 data…

10.15.2024刷华为OD C题型(二)

10.15.2024刷华为OD C题型(二) 密码输入检测智能成绩表 如果是目标院校150分能过,而且这道题是两百分的话我就阿弥陀佛了。 这类简单类型的字符串处理题目一看就有思路,起码能做,遇到那种稍微加点数学的,感…

【CMake】为可执行程序或静态库添加 Qt 资源文件,静态库不生效问题

【CMake】添加静态库中的 Qt 资源 文章目录 可执行程序1. 创建资源文件(.qrc)2. 修改 CMakeLists.txt3. 使用资源文件 静态库1. 修改 CMakeLists.txt2. 使用资源2.1 初始化资源文件2.2 可执行程序中调用 这里介绍的不是使用 Qt 创建工程时默认的 CMakeLi…

【从零开始的LeetCode-算法】3099. 哈沙德数

如果一个整数能够被其各个数位上的数字之和整除,则称之为 哈沙德数(Harshad number)。给你一个整数 x 。如果 x 是 哈沙德数 ,则返回 x 各个数位上的数字之和,否则,返回 -1 。 示例 1: 输入&am…

MySQL增删改进阶

目录 1.数据库约束 1.1约束类型 1.2 not null约束 1.3 unique:唯一约束 1.4 default:默认约束 1.5 primary key:主键约束 1.6 foreign key:外键约束 1.7 check约束(了解) 2.表的设计 3.新增(进阶&…

刷题训练之多源 BFS

> 作者:დ旧言~ > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:熟练掌握多源 BFS算法。 > 毒鸡汤:学习,学习,再学习 ! 学,然后知不足。 > 专栏选自:刷…

C++(stack和queue)

1. stack的介绍、使用和实现 1.1 stack的介绍 stl里的stack其实和数据结构内的stack和前面数据结构的栈不能说百分百一样,但也有百分之90是一样的,他们的特性都是LIFO(last in first out)先进后出的原则,前面有类似的…

VideoCLIP-XL:推进视频CLIP模型对长描述的理解

摘要 对比语言-图像预训练(CLIP)已被广泛研究并应用于众多领域。然而,预训练过程中对简短摘要文本的重视阻碍了CLIP理解长描述的能力。在视频方面,这个问题尤为严重,因为视频通常包含大量详细内容。在本文中&#xff…

如何看一个flutter项目的具体flutter版本

查看pubspec.lock文件 这个项目实际运行的就是 flutter 3.16.6 版本的

Leetcode 1489. 找到最小生成树里的关键边和伪关键边

1.题目基本信息 1.1.题目描述 给你一个 n 个点的带权无向连通图,节点编号为 0 到 n-1 ,同时还有一个数组 edges ,其中 edges[i] [fromi, toi, weighti] 表示在 fromi 和 toi 节点之间有一条带权无向边。最小生成树 (MST) 是给定图中边的一…

MFC扩展库BCGControlBar Pro v35.1新版亮点:改进网格控件性能

BCGControlBar库拥有500多个经过全面设计、测试和充分记录的MFC扩展类。 我们的组件可以轻松地集成到您的应用程序中,并为您节省数百个开发和调试时间。 BCGControlBar专业版 v35.1已全新发布了,这个版本改进网格控件的性能、增强工具栏编辑器功能等。 …

【puppeteer】wvp-puppeteer制作 过程

目录 最后的结论 制作windows&ubuntu的docker 重启桌面上的docker 命令重启 通过 Docker Desktop 图形界面重启 制作centos docker 测试 参考文档 最后的结论 ubuntu && windows 使用 dualvenregistry:5000/wvp-puppeteer:1.0 centos7 使用:…

通过OpenCV实现 Lucas-Kanade 算法

目录 简介 Lucas-Kanade 光流算法 实现步骤 1. 导入所需库 2. 视频捕捉与初始化 3. 设置特征点参数 4. 创建掩模 5. 光流估计循环 6. 释放资源 结论 简介 在计算机视觉领域,光流估计是一种追踪物体运动的技术。它通过比较连续帧之间的像素强度变化来估计图…

第6篇:无线与移动网络

目录 引言 6.1 无线网络的基础概念 6.2 无线局域网(WLAN)与IEEE 802.11 6.3 蓝牙与无线个域网(WPAN) 6.4 无线城域网(WMAN)与WiMax 6.5 ZigBee与智能家居 6.6 移动蜂窝网络(3G/4G/5G&…