YOLOv5实现图片内目标检测

简介: 本文介绍了如何配置yolov5的运行环境、如何进行数据标注、如何通过yolov5训练数据集实现图片的目标检测。目标检测在计算机视觉领域中具有重要意义,yolov5(You Only Look One-level)是目标检测算法中的一种代表性方法,以其高效性和准确性备受关注,并且在各种目标检测任务中都表现出卓越的性能。

目标检测在计算机视觉领域中具有重要意义,yolov5(You Only Look One-level)是目标检测算法中的一种代表性方法,以其高效性和准确性备受关注,并且在各种目标检测任务中都表现出卓越的性能。本文介绍了如何配置yolov5的运行环境、如何进行数据标注、如何通过yolov5训练数据集实现图片的目标检测。

一、Anaconda新建虚拟环境

虚拟环境的概念:虚拟环境是一种将项目的依赖项和运行时环境与系统中其他项目隔离开来的工具。它创建了一个独立的、虚拟的Python运行环境,使得您可以在同一系统上的不同项目中使用不同版本的Python解释器和库,而不会相互干扰。

简单来说,就是你可以在不同的虚拟环境里安装不同的python版本和包,使每个环境适用于具体的项目。

1、安装Anaconda

安装教程参考:Windows系统安装Anaconda

2、使用Anaconda新建虚拟环境

两种方式,一种是通过命令行,一种是使用Anaconda的可视化界面。

① 命令行创建:

conda create -n yolov5 python=3.9 -y#创建一个使用python版本为3.9的名为yolov5的虚拟环境

② Anaconda的可视化界面创建:

注意:这里推荐Python版本选择3.9,因为yolov5的一些包3.7版本支持不了,而3.11版本的pyhton安装yolov5的环境也有很多不兼容的地方,比如int型和float转换的地方会报错,从而导致软件闪退。


二、下载解压yolov5代码

GitHub上yolov5下载地址:https://github.com/ultralytics/yolov5

这个代码包作就是yolov5的项目文件,下载之后解压。

(我解压到了D:\Projects\PyCharm\YoLo\yolov5路径下,记住路径,后面会用到)


三、安装yolov5代码所需要的第三方库

1、激活虚拟环境

激活也可以理解为是切换,对一个虚拟环境的操作(比如安装包),需要先切换到这个环境下。

我们切换到我们刚刚创建的虚拟环境yolov5下:

conda activate yolov5  #切换到yolov5虚拟环境

可以看到我们从base环境(Anaconda自带的默认环境)切换到了yolov5环境。

2、pip安装yolov5所需要的第三方库

conda activate yolov5  #切换到yolov5虚拟环境d:
cd D:\Projects\PyCharm\YoLo\yolov5  #切换目录到yolov5的项目目录下pip install -r requirements.txt  #根据yolov5代码里的需求文件,下载安装所需要依赖包

如果没有报错则安装成功。

报错原因一般是连接超时导致的下载失败,翻或者换源,这里我更推荐前者。


四、数据标注

(注意:本教程推荐采用yolov5配套的预训练模型,不需要自行数据标注,本节仅作介绍。)

数据标注的过程通俗来讲就是給图片画框的过程,框出需要识别到的部分,然后打上标签,比如图片里有一头牛,那就把牛框起来然后命名框的标签为牛。

这里,我们使用Labelimg进行数据标注,教程参考:使用Labelimg进行数据标注


五、yolov5模型训练

1、PyCharm打开yolov5项目

新建项目,项目路径(Location)为GitHub上下载的yolov5项目路径。

2、修改虚拟环境

新建好项目之后,我们打开设置。

找到Python Interpreter,修改为我们在Anaconda自行创建的yolov5的虚拟环境。

如果下拉框里没有,我们就在Add Interpreter里新增。

3、训练测试数据

① 下载预训练模型

预训练模型地址:https://github.com/ultralytics/

选择你所需要的模型下载即可,这里我选择yolov5s.pt下载。

下载好之后放到我们yolov5的项目目录下。

② 训练数据

右键train.py,点击run运行。

运行成功后如图,训练结果保存在runs\train\exp文件夹里。

其中weights里存储两个训练出的模型,分别为best.pt和last.pt,顾名思义,best.pt为跑出来结果最好的模型。


六、模型测试

1、拷贝最优模型

模型训练完成后,我们将最优模型(best.pt)复制在yolov5文件夹下。

2、使用最优模型进行图片识别

切换虚拟环境为yolov5,切换目录为yolov5项目目录下。

python detect.py --weights best.pt --source ../cow/healthycows/
#weights是你训练好的模型路径#source是你要去图片识别的目标图片路径(填文件夹则默认识别文件夹下所有图片)

测试结果在 runs\detect\esp2\目录下。

看看识别效果:


目录
相关文章
|
4月前
|
人工智能 API 开发者
用Dify搭建自动化工作流,我每天节省了3小时
作为一名开发者,我曾深陷重复工作。直到用Dify搭建AI自动化工作流,每天节省3小时。本文分享如何通过可视化编排实现客服、文档、代码的智能自动化,附部署、优化与避坑实战经验。
用Dify搭建自动化工作流,我每天节省了3小时
|
机器学习/深度学习 算法 PyTorch
目标检测实战(五): 使用YOLOv5-7.0版本对图像进行目标检测完整版(从自定义数据集到测试验证的完整流程)
本文详细介绍了使用YOLOv5-7.0版本进行目标检测的完整流程,包括算法介绍、环境搭建、数据集准备、模型训练、验证、测试以及评价指标。YOLOv5以其高精度、快速度和模型小尺寸在计算机视觉领域受到广泛应用。
6479 0
目标检测实战(五): 使用YOLOv5-7.0版本对图像进行目标检测完整版(从自定义数据集到测试验证的完整流程)
|
自然语言处理 NoSQL API
基于百炼平台qwen-max的api 打造一套 检索增强 图谱增强 基于指令的智能工具调用决策 智能体
基于百炼平台的 `qwen-max` API,设计了一套融合检索增强、图谱增强及指令驱动的智能工具调用决策系统。该系统通过解析用户指令,智能选择调用检索、图谱推理或模型生成等工具,以提高问题回答的准确性和丰富性。系统设计包括指令解析、工具调用决策、检索增强、图谱增强等模块,旨在通过多种技术手段综合提升智能体的能力。
1011 5
|
数据处理 算法框架/工具 计算机视觉
手把手教你使用YOLOV5训练自己的目标检测模型
本教程由肆十二(dejahu)撰写,详细介绍了如何使用YOLOV5训练口罩检测模型,涵盖环境配置、数据标注、模型训练、评估与使用等环节,适合大作业及毕业设计参考。提供B站视频、CSDN博客及代码资源链接,便于学习实践。
5577 1
手把手教你使用YOLOV5训练自己的目标检测模型
|
机器学习/深度学习 编解码 监控
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
这篇文章详细介绍了如何使用YOLOv8进行目标检测任务,包括环境搭建、数据准备、模型训练、验证测试以及模型转换等完整流程。
23762 59
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
|
机器学习/深度学习 API 计算机视觉
如何使用深度学习实现图像分类
深度学习在图像分类中扮演着核心角色,通过卷积神经网络(CNN)自动提取图像特征并分类。本文介绍深度学习原理及其实现流程,包括数据准备、构建CNN模型、训练与评估模型,并讨论如何在阿里云上部署模型及其实用场景。
|
自然语言处理 搜索推荐 前端开发
语镜VocaMirror——基于sensevoice、cosyvoice和qwen模型实现与“自身声音”对话
语镜 VocaMirror 是一个创新的对话系统,灵感来源于汤姆猫游戏和亲人语音克隆项目,旨在让用户与自己的声音进行对话。系统融合了语音识别、自然语言处理及个性化语音合成技术,提供趣味互动、心理治疗辅助及多功能扩展等应用。用户可通过 Gradio 界面轻松使用,实现语音转文本、对话生成及个性化语音回复等功能。
1070 4
语镜VocaMirror——基于sensevoice、cosyvoice和qwen模型实现与“自身声音”对话
|
机器学习/深度学习 计算机视觉 异构计算
YOLOv8优改系列一:YOLOv8融合BiFPN网络,实现网络快速涨点
该专栏专注于YOLOv8的 Neck 部分改进,融合了 BiFPN 网络,大幅提升检测性能。BiFPN 通过高效的双向跨尺度连接和加权特征融合,解决了传统 FPN 的单向信息流限制。文章详细介绍了 BiFPN 的原理及其实现方法,并提供了核心代码修改指导。点击链接订阅专栏,每周定时更新,助您快速提升模型效果。推荐指数:⭐️⭐️⭐️⭐️,涨点指数:⭐️⭐️⭐️⭐️。
1184 0
|
XML 机器学习/深度学习 数据格式
YOLOv8训练自己的数据集+常用传参说明
YOLOv8训练自己的数据集+常用传参说明
23675 3
|
机器学习/深度学习 人工智能 算法
基于YOLOv8的人员跌倒实时检测系统【训练和系统源码+Pyside6+数据集+包运行】
本文介绍了基于YOLOv8算法的人员跌倒实时检测系统,通过4978张图片训练出有效模型,并开发了带GUI界面的系统,支持图片、视频和摄像头实时检测,具备更换背景、标题,调节检测置信度等功能。
2805 0
基于YOLOv8的人员跌倒实时检测系统【训练和系统源码+Pyside6+数据集+包运行】