当前位置: 首页 > 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;也是全国第一个物联网工程学院。 江南大学数字媒体学院是以江南大学设计学院动画系和信息工程学院数字媒体技术系为…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘

美国西海岸的夏天&#xff0c;再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至&#xff0c;这不仅是开发者的盛宴&#xff0c;更是全球数亿苹果用户翘首以盼的科技春晚。今年&#xff0c;苹果依旧为我们带来了全家桶式的系统更新&#xff0c;包括 iOS 26、iPadOS 26…...

遍历 Map 类型集合的方法汇总

1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

JDK 17 新特性

#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持&#xff0c;不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的&#xff…...

数据库分批入库

今天在工作中&#xff0c;遇到一个问题&#xff0c;就是分批查询的时候&#xff0c;由于批次过大导致出现了一些问题&#xff0c;一下是问题描述和解决方案&#xff1a; 示例&#xff1a; // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

自然语言处理——Transformer

自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效&#xff0c;它能挖掘数据中的时序信息以及语义信息&#xff0c;但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN&#xff0c;但是…...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲&#xff1a;队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

Python ROS2【机器人中间件框架】 简介

销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...

C#中的CLR属性、依赖属性与附加属性

CLR属性的主要特征 封装性&#xff1a; 隐藏字段的实现细节 提供对字段的受控访问 访问控制&#xff1a; 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性&#xff1a; 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑&#xff1a; 可以…...

现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?

现有的 Redis 分布式锁库&#xff08;如 Redisson&#xff09;相比于开发者自己基于 Redis 命令&#xff08;如 SETNX, EXPIRE, DEL&#xff09;手动实现分布式锁&#xff0c;提供了巨大的便利性和健壮性。主要体现在以下几个方面&#xff1a; 原子性保证 (Atomicity)&#xff…...

C++.OpenGL (20/64)混合(Blending)

混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...