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个常见物体类别。不同模型的大小参数如下:
    在这里插入图片描述

  • 在这些参数中,size表示图像像素点大小。mAP表示模型检测交并比精度,Speed CPU ONNX表示在CPU上运行时的速度,Speed T4表示在T4 GPU上运算时的速度,该GPU参数如下:FLOPs(B)表示模型执行时需要计算的次数,其中B表示十亿次,10^9,6.5 BFLOPs相当于 6.5GFLOPs。
    在这里插入图片描述

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

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

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

参考

Conda安装YOLO
COCO数据集介绍

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

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

相关文章

Python+Django+VUE 搭建深度学习训练界面 (持续ing)

PythonDjangoVUE 搭建深度学习训练界面 (持续ing) 环境说明 Pycharm 专业版2024.1.4,社区版不支持网页开发 下载链接:https://www.jetbrains.com/pycharm/download/other.html 参考链接:https://www.quanxiaoha.co…

es实现桶聚合

目录 聚合 聚合的分类 DSL实现桶聚合 dsl语句 结果 聚合结果排序 限定聚合范围 总结 聚合必须的三要素: 聚合可配置的属性 DSL实现metric聚合 例如:我们需要获取每个品牌的用户评分的min,max,avg等值 只求socre的max 利用RestHighLevelClien…

BIO,NIO,直接内存,零拷贝

前置知识 什么是Socket? Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口,一般由操作系统提供。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议处理和通信缓存管理等等都隐藏在Sock…

vue3使用i18n做国际化多语言,实现常量跟随语言切换翻译

因为我有一个常量的配置文件在项目中,而且有中文内容,我想在切换语言的时候,跟着这个翻译也实时切换,就可以使用computed计算属性实现。 把name改成下面的样子: name: computed(() > t(pad.regularMode)), 就可以…

分享一款录屏、直播软件

光音录屏 光音录屏 是新一代的录屏工具,跟传统录屏工具相比,它不仅可以录制屏幕,还可以同时录制「人像 屏幕」,此外它还提供了美颜、虚拟背景、绿幕抠像、图片、文本编辑、字幕、白板等更多高级功能。你可以将录制好的视频&…

ue5实现数字滚动增长

方法1 https://www.bilibili.com/video/BV1h14y197D1/?spm_id_from333.999.0.0 b站教程 重写loop节点 方法二 写在eventtick里

ffmpeg视频滤镜: 色温- colortemperature

滤镜简述 colortemperature 官网链接 》 FFmpeg Filters Documentation 这个滤镜可以调节图片的色温,色温值越大显得越冷,可以参考一下下图: 咱们装修的时候可能会用到,比如选择灯还有地板的颜色的时候,选暖色调还是…

多厂商的实现不同vlan间通信

Cisco单臂路由 Cisco路由器配置 -交换机配置 -pc配置 华三的单臂路由 -路由器配置 -华三的接口默认是打开的 -pc配置及ping的结果 -注意不要忘记配置默认网关 Cisco-SVI -交换机的配置 -创建vlan -> 设置物理接口对应的Acess或Trunk -> 进入vlan接口,打开接…

【纯血鸿蒙】HarmonyOS和OpenHarmony 的区别

一、开源鸿蒙(Open Harmony) 鸿蒙系统愿来的设计初衷,就是让所有设备都可以运行一个系统,但是每个设备的运算能力和功能都不同,所以内核的设计上,采用了微内核的设计,除了最基础的功能放在内核…

mfc之tab标签控件的使用--附TabSheet源码

TabSheet源码 TabSheet.h #if !defined(AFX_TABSHEET_H__42EE262D_D15F_46D5_8F26_28FD049E99F4__INCLUDED_) #define AFX_TABSHEET_H__42EE262D_D15F_46D5_8F26_28FD049E99F4__INCLUDED_#if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 // TabSheet.h : …

C++面向对象编程学习

C面向对象编程学习 前言一、C面向对象编程二、知识点学习1. 定义一个类1.1 使用struct定义1.2 使用class定义1.3 struct和class的区别 2. 类的定义方式2.1 单文件定义(Inline Definition)2.2 分离定义(Separate Definition)2.3 头…

[bug] vllm 0.6.1 RuntimeError: operator torchvision::nms does not exist

[bug] vllm 0.6.1 RuntimeError: operator torchvision::nms does not exist 环境 python 3.10 torch 2.4.0cu118 torchvision 0.19.0cu118 vllm 0.6.1.post2cu118问题详情 if torch._C._d…

【华为路由】OSPF多区域配置

网络拓扑 设备接口地址 设备 端口 IP地址 RTA Loopback 0 1.1.1.1/32 G0/0/0 10.1.1.1/24 RTB Loopback 0 2.2.2.2/32 G0/0/0 10.1.1.2/24 G0/0/1 10.1.2.1/24 RTC Loopback 0 3.3.3.3/32 G0/0/0 10.1.2.2/24 G0/0/1 10.1.3.1/24 RTD Loopback 0 4.4.4…

【Jenkins】解决在Jenkins Agent节点容器内无法访问物理机的docker和docker compose的问题

解决在Jenkins Agent节点容器内无法访问物理机的docker和docker compose的问题 1. 确定物理机docker和docker compose已经安装2. 编写Jenkins Agent结点docker-compose.yaml配置文件3. 修改docker运行时文件权限4. 启动容器并验证 最近接触到一个发布产物是一个 docker镜像的项…

【K8s】Kubernetes 证书管理工具 Cert-Manager

本文内容均来自个人笔记并重新梳理,如有错误欢迎指正! 如果对您有帮助,烦请点赞、关注、转发、订阅专栏! 专栏订阅入口 | 精选文章 | Kubernetes | Docker | Linux | 羊毛资源 | 工具推荐 | 往期精彩文章 【Docker】(全…

Github优质项目推荐(第八期)

文章目录 Github优质项目推荐 - 第八期一、【manim】,66.5k stars - 创建数学动画的 Python 框架二、【siyuan】,19.5k stars - 个人知识管理软件三、 【GetQzonehistory】,1.3k stars - 获取QQ空间发布的历史说说四、【SecLists】&#xff0…

【Linux系统编程】冯诺依曼体系结构与操作系统

目录 1、冯诺依曼体系结构 1.1 冯诺依曼体系结构的组成 1.2 程序运行时必须要加载到内存 1.3 数据通信 1.4 为什么要有内存 2、操作系统 2.1 概念 2.2 设计OS的目的 2.3 如何理解管理 2.4 系统调用和库函数的概念 1、冯诺依曼体系结构 我们常见的计算机,如…

transforms的使用

示例代码 from PIL import Image from torch.utils.tensorboard import SummaryWriter from torchvision import transforms#打开该图片 img_path"hymenoptera_data/val/bees/10870992_eebeeb3a12.jpg" imgImage.open(img_path) writerSummaryWriter("logs&quo…

CSS行块标签的显示方式

块级元素 标签:h1-h6,p,div,ul,ol,li,dd,dt 特点: (1)如果块级元素不设置默认宽度,那么该元素的宽度等于其父元素的宽度。 (2)所有的块级元素独占一行显示. (3&#xff…

海外云手机怎样助力亚马逊店铺运营?

随着全球化的发展,越来越多的企业开始重视海外市场的拓展,尤其是出海企业和B2B外贸企业。亚马逊作为全球最大的电商平台之一,成为了许多企业争夺国际市场的重点战场。本文将深入分析海外云手机在优化亚马逊店铺引流中的作用和优势&#xff0c…