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,一经查实,立即删除!

相关文章

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

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

10.15.2024刷华为OD C题型(二)

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

【从零开始的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&…

【Linux】总线-设备-驱动模型

背景 前面,我们介绍了写驱动代码的一些常规步骤,并且也写了最基本的驱动代码,但是那些代码存在着问题,我们将硬件的信息都写进了驱动里了,如果我们在杂项设备驱动中控制led,那么会在硬件操作接口中包含硬件…

【SQL实验】数据库、表、模式的SQL语句操作

完整代码在文章末尾 1、数据库的建立、删除和修改操作 (1)使用SQL语句创建数据库EDUC,并进行如下设置: 数据库文件和日志文件的逻辑名称分别为:Student_data和Student_log;数据文件的物理文件名为‘C:\DA…

基于Java语言的培训平台+学习平台+在线学习培训系统+教育平台+教育学习系统+课程学习平台

简述 企业培训平台企业考试系统培训平台考试系统企业大学企业视频网站视频学习平台 介绍 企业培训平台支持企业培训考试全流程,在线学习、在线考试,成熟的企业培训考试解决方案,充分满足企业培训需求。 独立部署,仅内部员工登录…

【热门】智慧果园管理系统解决方案

随着科技的进步,原有农业种植方式已经不能满足社会发展的需要,必须对传统的农业进行技术更新和改造。经过多年的实践,人们总结出一种新的种植方法——温室农业,即“用人工设施控制环境因素,使作物获得最适宜的生长条件,从而延长生产季节,获得最佳的产出”。这种农业生产方式…

03.顺序表实现

顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储,在数组上完成数据的增删改查。一般见到的顺序表都是在结构体中定义的数组,只是比普通数组多了增删改查等一些其他功能函数。 上节已经介绍了顺序表有…

【android studio】Gradle和Gradle插件版本关系/配置/常见ERR示例

参考链接: Android之Gradle和Gradle插件区别及联系 grdle 的安装与配置 、gradle和jdk版本对应关系 Android Gradle Plugin与Gradle版本、JDK版本对应关系 配置示例 常见err 主要原因 1.编译版本未设定 2.有多个module而且gradle 版本设置不一致 修改如下&#xf…

虚幻闪烁灯光材质

创建一个材质 材质域改成光照函数 , Time让材质动起来 参数B用来控制速度 , Sine 让灯光闪烁 , Frac 增加了闪烁细节 把材质放到灯光材质上 效果还是挺不错的! 可以用于一些恐怖游戏~