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

YOLO检测环境安装配置

YOLO介绍

YOLO学习手册:YOLO教程

YOLO [ˈjoʊloʊ](You Only Look Once)是一种快速而准确的目标检测算法,由Joseph Redmon等人在2016年提出。YOLO被广泛应用于计算机视觉领域,包括实时视频分析、自动驾驶、安防监控、智能交通、缺陷检测等。与传统的目标检测方法不同,YOLO将目标检测问题视为一个单一的回归问题,从输入图像的像素到输出的边界框和类别。

在YOLO诞生之前,目标检测领域热门的深度学习模型是R-CNN系列模型,称之为二阶段模型(two-stage),其大致思路是先找出可能含有物体的区域,进而再找出这片区域内的物体是什么,在哪个位置。这类模型的特点是准确率较高,但是速度较慢,难以做到实时检测。

YOLO版本特点

YOLO算法自推出以来,经过了多个版本的更新,每个版本都带来了不同的改进和优化。以下是各主要版本的改进功能:

YOLO v1

  • YOLO v1是在2016年提出的,首次将目标检测任务简化为一个单一的回归问题。
  • 单阶段检测:使用一个单一的卷积神经网络(CNN)在一次前向传播中完成目标检测。
  • 速度快:具有较高的检测速度,能够实现实时检测。

YOLO v2 (YOLO9000)

  • 改进特征提取网络:使用Darknet-19作为特征提取网络,提升模型的特征提取能力。
  • Batch Normalization:引入了批量归一化,提升了模型的稳定性和收敛速度。
  • 高分辨率分类器:在分类任务中使用高分辨率图像进行训练,提升了特征提取的细节能力。
  • 多尺度训练:在训练过程中随机改变输入图像的分辨率,提高了模型对不同尺度目标的适应性。
  • 使用Anchor Boxes:引入了先验框(anchor boxes),提高检测精度,特别是对小目标。

YOLO v3

  • 改进特征提取网络:使用了Darknet-53作为特征提取网络,提高了模型的表现力。
  • 多尺度预测:在不同的特征层上进行目标预测,能够更好地处理不同尺度的目标。
  • 改进Anchor Boxes:对anchor boxes进行了重新设计和优化,进一步提升了检测精度。
  • 分类损失函数:采用了二元交叉熵损失函数,提高了分类的鲁棒性。

YOLO v4

  • 改进特征提取网络:使用了CSPDarknet53,结合了跨阶段部分网络(CSPNet),减少了计算量并提高了准确性。
  • Bag of Freebies和Bag of Specials:通过引入各种训练技巧(如Mosaic数据增强、Self-Adversarial Training)和推理技巧(如Mish激活函数、CIOU损失函数),提升了模型性能。
  • 改进的Post-Processing:引入了DIoU-NMS,减少了非极大值抑制(NMS)过程中对目标框的误删。

YOLO v5

  • PyTorch实现:YOLO v5由Ultralytics发布,基于PyTorch实现,简化训练和部署流程。
  • 轻量化和模块化设计:提供多种模型规模(如YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x),适应不同的应用需求。
  • 自动锚点生成:引入了自动锚点生成机制,进一步优化了anchor boxes。
  • 高效的数据增强:包括Mosaic、MixUp等数据增强技术,提升了模型的鲁棒性。

YOLO v6

  • 2022 年由美团开源,目前已用于该公司的许多自主配送机器人。
  • 更高效的架构:引入了更高效的特征提取网络和优化的检测头,进一步提升了检测速度和精度。
  • 改进的训练策略:包括更高效的学习率调度、数据增强和损失函数优化。
  • 更强的泛化能力:在不同数据集上的表现更加稳定和优异。

YOLO v7

  • 优化网络结构:进一步优化网络结构,使得模型在保证精度的同时提高了推理速度。
  • 更好的多尺度检测:改进了多尺度检测策略,提高了对小目标和大目标的检测精度。
  • 集成更多特性:结合了YOLO v4和v5中的许多先进技术,进一步提升了整体性能。

YOLO v8

  • YOLOv8 支持全方位的视觉 AI 任务,包括检测、分割、姿态估计、跟踪和分类。

YOLO v9

  • 引入了可编程梯度信息 (PGI) 和通用高效层聚合网络 (GELAN) 等创新方法。

YOLO运行环境

YOLO搭建实例:YOLO教程

YOLO依赖python和pytorch,可跨平台运行,由于网络环境等原因,尽量使用国内镜像或离线方式安装。

安装Python3

下载Python安装包并安装Python环境。Python官网:https://www.python.org/

安装Pytorch

PyTorch是一个开源的深度学习框架,该框架由Facebook人工智能研究院开发,底层基于Torch,但实现与运用全部是由Python来完成。 PyTorch官网:https://pytorch.org

如果显卡不支持CUDA,选择CPU版本,生成在线安装命令(需联网下载):
conda install pytorch torchvision torchaudio cpuonly -c pytorch

安装完成后,运行python程序验证是否成功

import torchprint(torch.__version__)
print(torch.cuda.is_available())

下载YOLO

以YOLOv5为例,YOLO下载地址:https://github.com/ultralytics/yolov5/archive/refs/tags/v7.0.zip

目录结构:
data: 数据集相关,包括训练集、验证集和测试集的配置信息,以及数据增强脚本等。
models: 预训练模型和自定义模型文件,包括权重文件和配置文件等。
utils: 工具函数库,包含一些辅助函数,例如数据处理、可视化和模型评估等。
train.py: 训练脚本,用于启动训练过程。
detect.py: 检测脚本,用于使用训练好的模型进行目标检测。
val.py: 验证脚本,用于评估模型在验证集上的性能。
export.py: 导出脚本,用于将训练好的模型导出为其他格式,例如 ONNX 或 TensorRT。
requirements.txt: 项目依赖库列表。
README.md: 项目说明文档。

安装YOLO依赖包:pip install -r requirements.txt

检测图片

YOLO目录自带2张图片,可以直接运行检测程序:python detect.py

检测视频

指定视频文件作为输入源,如下命令检测视频目标物:
python detect.py --source ./data/video/test.mp4

以上是使用YOLO自带模型和图片,运行比较容易。在实际应用中,需要针对场景和目标物,整理自己的数据和训练模型,还是比较花时间的。如何训练模型和指定目标物,可参考YOLO学习手册:YOLO教程

YOLO应用前景

YOLO有一些限制和局限性,需要针对不同的应用场景选取合适的算法。随着计算机视觉和人工智能技术的不断发展,YOLO 检测技术有望得到广泛应用。对于自动驾驶、安防监控、智能交通等领域,YOLO 的快速准确的目标检测能力将发挥重要作用。同时,随着硬件性能的提升和算法优化的不断完善,YOLO 算法的性能和效果也将不断提升,为各种实时场景下的目标检测任务提供更好的解决方案。

YOLO检测环境安装配置YOLO实例 检测环境安装配置icon-default.png?t=N7T8https://blog.oxings.com/article/117

相关文章:

YOLO检测环境安装配置

YOLO介绍 YOLO学习手册:YOLO教程 YOLO [ˈjoʊloʊ](You Only Look Once)是一种快速而准确的目标检测算法,由Joseph Redmon等人在2016年提出。YOLO被广泛应用于计算机视觉领域,包括实时视频分析、自动驾驶、安防监控、…...

NOSQL -- ES

第三个我们比较常用的NOSQL类型的数据库 --- ES 介绍: ES的全称(Elasticsearch) ES是一个分布式全文搜索的引擎 也就是我们平常在购物, 搜索东西的时候常用的, 就是一个ES的类型, 分布式全文搜索引擎 查询原理: 1>分词: 在查询之前, 其会将一些数据拆分开, 按照词进行拆分…...

【Python基础】名称空间和作用域

1.名称空间 将栈区进行分类,这些分类就是名称空间 名称空间存放什么名字空间个数何时创建&销毁内置名称空间built-inPython解释器内置的名字1个Python解释器启动&解释器关闭 全局名称空间 global Python文件内定义的类名,变量名,模块…...

安全智能预警软件有人试图窃取会立即发出高分贝警报已解锁VIP功能

一款手机安全智能预警软件,无论是网吧还是餐馆小聚,您的手机都能得到贴心的守护,一旦有人试图窃取,应用会立即发出高分贝警报,确保您在公交、地铁、商场等拥挤环境中依然能牢牢掌控手机。(解锁专业版&#…...

DeepSORT(目标跟踪算法)中自由度决定卡方分布的形状

DeepSORT(目标跟踪算法)中自由度决定卡方分布的形状 flyfish 重要的两个点 自由度决定卡方分布的形状(本文) 马氏距离的平方在多维正态分布下服从自由度为 k 的卡方分布 独立的信息 在统计学中,独立的信息是指数据…...

cordic IP核中,sin and cos的使用

参考视频:FPGA IP之CORDIC_哔哩哔哩_bilibili FPGA IP之CORDIC使用与仿真_哔哩哔哩_bilibili 一、参数说明 functional selection rotate是旋转,sin and cos是计算这两个三角函数,sinh和cosh是计算双曲正弦和双曲余弦 phase format 对于…...

SpringSecurity入门(三)

12、密码加密 12.1、不指定具体加密方式,通过DelegatingPasswordEncoder,根据前缀自动选择 PasswordEncoder passwordEncoder PasswordEncoderFactories.createDelegatingPasswordEncoder();12.2、指定具体加密方式 // Create an encoder with streng…...

luogu-P10570 [JRKSJ R8] 网球

题目传送门: [JRKSJ R8] 网球 - 洛谷https://www.luogu.com.cn/problem/P10570 解题思路 数学问题,暴力这个范围会超时。 首先,找出这两个数的最大公因数,将这两个数分别除以最大公因数,则这两个数互质,判…...

ASP.NET的WebService跨域CORS问题解决方案

ASP.NET WebService 跨域(CORS, Cross-Origin Resource Sharing)问题通常发生在当您尝试从不同的源(域名、协议或端口)调用 WebService 时。浏览器由于安全原因,默认会阻止此类跨域请求。为了解决这个问题,您需要在 WebService 服务器端配置 CORS。 以下是在 ASP.NET We…...

大众点评全国爱车店铺POI采集177万家-2024年5月底

大众点评全国爱车店铺POI采集177万家-2024年5月底 店铺POI点位示例: 店铺id H69Y6l1Ixs2jLGg2 店铺名称 HEEJOO豪爵足道(伍家店) 十分制服务评分 7.7 十分制环境评分 7.7 十分制划算评分 7.7 人均价格 134 评价数量 2982 店铺地址 桔城路2号盛景商业广场1-3…...

【文献阅读】LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS

目录 1. motivation2. overall3. model3.1 low rank parametrized update matrices3.2 applying lora to transformer 4. limitation5. experiment6. 代码7. 补充参考文献 1. motivation 常规的adaptation需要的微调成本过大现有方法的不足: Adapter Layers Introd…...

Rust学习06:使用CSDN的AI工具“C知道”分析代码错误

朋友们,我最近真的是在绝望的边缘了! Rust咋这么蓝涅! 资料咋这们少涅! 记得学Python的时候,基本上你遇到的所有问题都可以在书上或者网上找到答案,中文世界找不到那么在英文世界一定能找到答案。 我猜&…...

MeiliSearch-轻量级且美丽的搜索引擎

MeiliSearch-轻量级且美丽的搜索引擎 MeiliSearch 是一个功能强大、快速、开源、易于使用和部署的搜索引擎。它具有以下特点: 支持中文搜索:MeiliSearch 对中文有良好的支持,不需要额外的配置。高度可定制:搜索和索引都可以高度…...

python使用wkhtmltopdf将html字符串保存pdf,解决出现方框的问题

出现的问题&#xff1a; 解决办法&#xff1a; <html> <head><meta charset"UTF-8"/> </head> <style> * {font-family: Arial,SimSun !important; } </style> </html>在html字符串前面加上上面代码&#xff0c;意思是设…...

Java练习题

题目&#xff1a; 1. 定义长方体类Cuboid&#xff0c;要求如下&#xff1a;&#xff08;1&#xff09;私有成员变量包括长length、宽width和高height&#xff1b;&#xff08;2&#xff09;构造方法包括一个公共的空构造方法&#xff0c;一个能够初始化所有成员变量的构造方法…...

【Python/Pytorch - 网络模型】-- 手把手搭建U-Net模型

文章目录 文章目录 00 写在前面01 基于Pytorch版本的UNet代码02 论文下载 00 写在前面 通过U-Net代码学习&#xff0c;可以学习基于Pytorch的网络结构模块化编程&#xff0c;对于后续学习其他更复杂网络模型&#xff0c;有很大的帮助作用。 在01中&#xff0c;可以根据U-Net…...

Ansible-doc 命令

目录 常用参数 基本用法 查看指定模块的文档 列出所有可用模块 搜索模块 显示模块参数的简单列表 显示详细的说明和示例 详细示例 查看 file 模块的文档 简略查看 copy 模块的参数 ansible-doc 是 Ansible 中的一个非常有用的命令行工具&#xff0c;它可以帮助你查找…...

面试题:什么是线程的上下文切换?

线程的上下文切换是指在操作系统中&#xff0c;CPU从执行一个线程的任务切换到执行另一个线程任务的过程。在现代操作系统中&#xff0c;为了实现多任务处理和充分利用CPU资源&#xff0c;会同时管理多个线程的执行。由于CPU在任意时刻只能执行一个线程&#xff0c;因此需要在这…...

【简单讲解Perl语言】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…...

专硕初试科目一样,但各专业的复试线差距不小!江南大学计算机考研考情分析!

江南大学物联网工程学院&#xff0c;是由江南大学信息工程学院和江南大学通信与控制工程学院&#xff0c;于2009年合并组建成立“物联网工程学院”&#xff0c;也是全国第一个物联网工程学院。 江南大学数字媒体学院是以江南大学设计学院动画系和信息工程学院数字媒体技术系为…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机&#xff1a;Ubuntu 20.04.6 LTSHost&#xff1a;ARM32位交叉编译器&#xff1a;arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

模型参数、模型存储精度、参数与显存

模型参数量衡量单位 M&#xff1a;百万&#xff08;Million&#xff09; B&#xff1a;十亿&#xff08;Billion&#xff09; 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的&#xff0c;但是一个参数所表示多少字节不一定&#xff0c;需要看这个参数以什么…...

ssc377d修改flash分区大小

1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

华为OD机试-食堂供餐-二分法

import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...

Linux云原生安全:零信任架构与机密计算

Linux云原生安全&#xff1a;零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言&#xff1a;云原生安全的范式革命 随着云原生技术的普及&#xff0c;安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测&#xff0c;到2025年&#xff0c;零信任架构将成为超…...

C# 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

云原生安全实战:API网关Kong的鉴权与限流详解

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关&#xff08;API Gateway&#xff09; API网关是微服务架构中的核心组件&#xff0c;负责统一管理所有API的流量入口。它像一座…...

DingDing机器人群消息推送

文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人&#xff0c;点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置&#xff0c;详见说明文档 成功后&#xff0c;记录Webhook 2 API文档说明 点击设置说明 查看自…...

脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)

一、OpenBCI_GUI 项目概述 &#xff08;一&#xff09;项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台&#xff0c;其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言&#xff0c;首次接触 OpenBCI 设备时&#xff0c;往…...

苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会

在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...