yolov5的学习part1

news2024/11/13 15:16:17

还是基础的anoconda,在opencv的时候就已经安装过了

此视频疑似在2020年底录制,因为他安装anaconda使用如下代码

bash ~/Downloads/Anaconda3-2020.07-Linux-x86_64.sh

由于版本兼容问题,可能要mini conda

PASCAL VOC

PASCAL VOC挑战赛在2005年至2012年间展开。
PASCALVOC 2007:9963张图像,24640个标注;PASCALVOC 2012:11530张图像,27450个标注 该数据集有20个分类:
Person: person
Animal: bird, cat, cow, dog, horse, sheep
Vehicle: aeroplane, bicycle, boat, bus, car, motorbike, train                                                              Indoor: bottle, chair, dining table, potted plant, sofa, tv/monitor
链接:http:/host.robots.ox.ac.uk/pascal/VOC/voc2012/ 

MS COCO

MS COCO的全称是Microsoft Common Objects in Context,起源于是微软于 2014年出资标注的Microsoft COCO数据集,与ImageNet 竞赛一样,被视为是计 算机视觉领域最受关注和最权威的比赛之一。
在2017ImageNet竞赛停办后,COCO竞赛就成为是当前目标识别、检测等领域的一个最权威、最重要的标杆,也是目前该领域在国际上唯一能汇集Google、微软、
Facebook以及国内外众多顶尖院校和优秀创新企业共同参与的大赛。
http: //cocodataset.org/ 

COCO(Common Objects in Context)数据集包含20万个图像:11.5万多张训练集图像,
5千张验证集图像,2万多张测试集图像
80个类别中有超过50万个目标标注。
平均每个图像的目标数为7.2

目标检测指标

intersection over union

即iou=area of overlap/area of union,实际/网格预测

AP@.50 means the Ap with loU=0.50.
AP@.75 means the Ap with loU=0.75.
For COCO, AP is the average over multiple loU (the minimum loU to consider a positive match). AP@[.5:.95] corresponds to the average AP for loU from 0.5 to 0.95 with a step size of 0.05.
For the COCO competition, AP is the average over 10 loU levels on 80 categories (AP@[.50:.05:.95]: start from 0.5 to 0.95 with a step size of 0.05.

IoU的值越大趋于1,loose变为tight 

average precison

平均精度ap,收集模型为苹果做所有预测,根据预测的置信水平排名,如果precision和ground truth匹配并且IoU>=0.5,就是正确的

举个例子,Rank=3,那么前三个就是现在预测出来的框,其中有两个对的一个错的。

感谢那个rank=3的哥们,已经懂了.rank=4的话,就是预测了四个其中两个预测对了,所以precision=0.5,recall=预测对的苹果/总苹果=2/5=0.4,依此类推


我觉得这个图片可能看看就好

  • 前传耗时(ms):从输入一张图像到输出最终结果所消耗的时间,包括前处理耗时(如图像归一化)、网络前传耗时、后处理耗时(如非极大值抑制)
  • 每秒帧数 FPS (Frames Per Second):每秒钟能处理的图像数量
  • 浮点运算量(FLOPS):处理一张图像所需要的浮点运算数量,跟具体软硬件没有关系,可以公平地比较不同算法之间的检测速度。

在Ubuntu安装yolov5和pascal voc数据集

Anaconda 是一个用于科学计算的Python 发行版,支持Linux,Mac,Windows,包含了众多流行的科学计算、数 据分析的 Python 包。
1.先去官方地址下载好对应的安装包
下载地址:https:/www.anaconda.com/download/#linux 2.然后安装anaconda
bash -/Downloads/Anaconda3-2020.07-Linux-x86_64.sh
anaconda会自动将环境变量添加到PATH里面,如果后面你发现输出conda提示没有该命令,那么你需要执行命令 source~/. bashro更新环境变量,就可以正常使用了。
如果发现这样还是没用,那么需要添加环境变量。编辑~/.bashrc文件,在最后面加上
export PATH=/home/bai/anaconda3/bin: $PATH 注意:路径应改为自己机器上的路径

保存退出后执行:source~/.bashrc
再次输入conda list测试看看,应该没有问题。添加Aanaconda国内镜像配置
清华TUNA提供了Anaconda 仓库的镜像,运行以下三个命令:
conda config --add channels https: //mirrors. tuna. tsinghua. edu. cn/anaconda/pkgs/free/          conda config --add channels https: //mirrors. tuna. tsinghua. edu. cn/anaconda/pkgs/main/   conda config --set show_channel_urls yes
I 2)安装pytorch
注意:需要安装pytorch1.6以上的版本
首先为pytorch创建一个anaconda虚拟环境,环境名字可自己确定,这里本人使用pytorch1.6作为环境名:

conda create -n pytorch1.6 python=3.8
安装成功后激活pytorch 1.6环境:
conda activate pytorchl.6
在所创建的pytorch环境下安装pytorch的1.6版本,执行命令:
conda install pytorch torchvision cudatoolkit=10.2 -c pytorch
注意:10.2处应为cuda的安装版本号
编辑〜/.bashrc文件,设置使用pytorch1.6环境下的python3.8
alias python=1/home/bai/anaconda3/envs/pytorchl.6/bin/python3.8
注意:python路径应改为自己机器上的路径
保存退出后执行:source -/.bashrc

1)克隆yolov5项目
安装Git软件(https://github.com/downloads),克隆项目到本地
git clone https://github.com/ultralytics/yolov5.git

或者直接在浏览器github下载yolov5版本v3.1

2)使用清华镜像源:
在yolov5路径下执行:
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
注意:simple不能少,是https而不是http
3) 下载预训练权重文件
下载yolov5s.pt, yolov5m.pt, yolov5l.pt, yolov5x.pt权重文件,并放置在weights文件夹下,                 这个一定要版本适配,否则无法运行
4) 安装测试
测试图片:
在yolov5路径下执行,大概率是因为版本不一样,图片的放置位置变了

python detect.py --source ./inference/images/ --weights weights/yolov5s.pt --conf 0.4

这是min的模型,还有一个大一点的网络模型改为yolov5x.pt,他的精度更为准确

3准备数据集
1)下载项目文件:
从百度网盘下载到yolov5目录下
• VOCtrainval_06-Nov-2007.tar
• V0Ctrainval_11 -May-2012.tar
• VOCtest_06-Nov-2007.tar
• get_voc_u b u ntu. py
2) 生成训练集和验证集文件
解压数据集
tar xf VOCtrainval.ll-May-2012.tar
tar xf VOCtrainval_06-Nov-2QQ7.tar
tar xf VOCtest_Q6-Nov-2007.tar
执行python脚本:

python get_voc_ubuntu.py
在VOCdevkit / vqC2007和VOCdevkit / VOC2012目录下可以看生成了文件夹labels ;
在yolov5目录下生成了文件2007_train.t:xt, 2007_val.txt, 2007_test.txt, 2012_train.txt,                     2012_val.txttrain.txt,train.all.txt
在VOC目录下生成了 images和labels文件夹;
• labels下的文件是JPEGImages文件夹下每一个图像的yolo格式的标注文件,这是由annotations的xml标注文件转换来的
• train.txt和2007一test.txt分别给出了yolov5训练集图片和yolov5验证集图片的列表,含有每个图片的路径和文件名

4)修改配置文件
1)新建文件data/voc・new.yaml  
可以复制data/voc.yaml再根据自己情况的修改;可以重新命名如:data/voc-new.yaml
然后修改配置参数
# download command/URL (optional)
#download: bash data/scripts/get_voc.sh
# train and val data as 1) directory: path/images/z 2) file: path/images.txt, or 3) list:
[pathl/images/, path2/images/]
train: VOC/images/train/ # 16551 images
val: VOC/images/val/ # 4952 images

2)新建文件models/yolov5s-voc.yaml
可以复制rnodels/yolov5s.yaml再根据自己情况的修改;可以重新命名如:models/yolov5s-voc.yaml
然后修改配置参数

#parameters                                                                                                                               nc:20 #number of classes

5)训练PASCAL VOC数据集
1) 训练命令
在yolov5路径下执行,
python train.py --data data/voc-new.yaml --cfg^models/yolov5s-voc.yaml --weights
weights/yolov5s.pt --batch-size 16 --epochs 200

2) 训练过程可视化:
在yolov5路径下执行
tensorboard --logdir=./runs
6)测试训练出的网络模型
1) 测试图片

等待吧,5.1g的显存占用,4060laptop绰绰有余,记得散热开大

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Node.js(6)——npm软件包管理

npm npm是Node.js标准的软件包管理器。 使用: 初始化清单文件:npm init-y(得到package.json文件,有则略过此命令)下载软件包:npm i 软件包名称使用软件包 示例: 初始状态下npm文件夹下只有server.js,下载软件包前看…

揭秘最“硬”的物质,你听说过神秘的“0”号元素吗?

“尽管我们还没有找到它,但这并不意味着它不存在。”——斯蒂芬威廉霍金 亲爱的朋友们,今天我们来探讨一个引人入胜的话题——宇宙中最坚硬的物质是什么?别急,这不是去健身房的邀请,而是一次探索宇宙奥秘的旅程。听说过神秘的“0”号元素吗?让我们一探究竟! 在浩瀚的宇…

unity2D游戏开发12单例

单例 我们先了解一种被称为单例的软件设计模式。当应用程序需要在生命周期内创建特定类的单个实例时,可以使用单例。当一个类提供了游戏中其他几个类使用的功能时,单例会很有用,例如,在Game Manager 类中协调游戏逻辑,单例可以提供对该类及其功能的公共统一访问入口。单例…

C++客户端Qt开发——多线程编程(一)

多线程编程(一) ①QThread 在Qt中,多线程的处理一般是通过QThread类来实现。 QThread代表一个在应用程序中可以独立控制的线程,也可以和进程中的其他线程共享数据。 QThread对象管理程序中的一个控制线程。 run() 线程的入口…

用Python插入表格到PowerPoint演示文稿

有效的信息传达是演示文稿中的重点,而PowerPoint演示文稿作为最广泛使用的演示工具之一,提供了丰富的功能来帮助演讲者实现这一目标。其中,在演示文稿中插入表格可以帮助观众更直观地理解数据和比较信息。通过使用Python这样的强大编程语言&a…

前端优化之图片的渐进式加载

起因&#xff1a; 在访问自己部署的前端项目的时候发现&#xff0c;背景图片加载太慢&#xff0c;并不是很美观。 这是因为&#xff0c;除了 JavaScript 和 CSS&#xff0c;网站通常还会包含大量的图片。当自己把<img> 元素添加到网站里面时&#xff0c;对应的所有图片…

计算机网络-基于PIM-DM+IGMP的组播实验配置

前面我们将IGMP协议和PIM-DM协议理论知识都学完了&#xff0c;现在开始进入实践&#xff0c;毕竟只有完成实践是最好的检验方式。IGMP是用于感知组播组成员&#xff0c;而PIM-DM是用于在域内构建组播分发树的的协议&#xff0c;本次实验使用这两项技术进行分析与实践。 一、拓扑…

操作系统与进程简单介绍

操作系统与进程 操作系统进程 操作系统 上一篇博客中介绍了操作系统到底层硬件它们之间的一个关系&#xff0c;那么还是这张图 操作系统到用户它们之间的关系又是如何的呢&#xff1f; 又回到了最根本的问题上&#xff1a;为什么要有操作系统呢&#xff1f; 1、向下管理好软…

jQuery入门(五)Ajax和json

一、Ajax 简介 AJAX(Asynchronous JavaScript And XML)&#xff1a;异步的 JavaScript 和 XML。 本身不是一种新技术&#xff0c;而是多个技术综合。用于快速创建动态网页的技术。 一般的网页如果需要更新内容&#xff0c;必需重新加载个页面。 而 AJAX 通过浏览器与服务器进行…

一篇文章读懂抖音短视频矩阵系统:核心功能与优势分析

抖音短视频矩阵系统作为当下备受欢迎的内容创作与分发平台&#xff0c;已经吸引了大量用户和创作者的关注。本文将详细介绍抖音短视频矩阵系统的核心功能与优势&#xff0c;帮助您全面了解这一强大的内容创作工具。 1. 抖音短视频矩阵系统 抖音短视频矩阵系统是一个集创作、编…

【Hot100】LeetCode—287. 寻找重复数

目录 题目1- 思路2- 实现⭐287. 寻找重复数——题解思路 3- ACM 实现 题目 原题连接&#xff1a;287. 寻找重复数 1- 思路 快慢指针 2- 实现 ⭐287. 寻找重复数——题解思路 class Solution {public int findDuplicate(int[] nums) {int slow nums[0];int fast nums[0];//…

DB-Engines Ranking 2024年8月数据库排行

DB-Engines Ranking 2024年8月数据库排行 DB-Engines排名根据数据库管理系统的受欢迎程度进行排名。排名每月更新一次。 2024年8月&#xff0c;共有423个数据库进入排行。 排行榜 前15名趋势图 关系型数据库前 10 名 键值数据库前 10 名 文档数据库前 10 名 时序数据库前 10 …

从0到1:构建高性能的视频美颜SDK和直播美颜插件

本篇文章&#xff0c;笔者将探讨如何从0到1&#xff0c;构建一个高性能的视频美颜SDK和直播美颜插件&#xff0c;助力开发者打造出色的产品。 1.需求分析与技术选型 通常情况下&#xff0c;视频美颜功能需要包括基础的滤镜效果、磨皮美白、面部特征优化等。这些功能既要保证实…

C++入门级文章

一、一个用于查询C标准库内函数、操作符等的链接 https://legacy.cplusplus.com/reference/ 声明&#xff1a;该文档并非官方文档&#xff0c;但其具有易于查询和使用的优势&#xff0c;足够日常使用。 二、C的第一个程序 1、C语言中的语法在C中仍旧适用&#xff0c;首先我们来…

书生大模型学习笔记 - Python

Python实现wordcount 请实现一个wordcount函数&#xff0c;统计英文字符串中每个单词出现的次数。返回一个字典&#xff0c;key为单词&#xff0c;value为对应单词出现的次数。 解题思路&#xff1a;首先把字母转小写>然后把单词取出来去除标点>循环单词列表>key已存…

老板让你点评网页UI,你却不知道如何说起……

当评价网页UI设计时&#xff0c;可以参考以下几个标准&#xff1a; 1. 一致性&#xff08;Consistency&#xff09;&#xff1a; 一个优秀的网页UI应该保持一致性&#xff0c;即在整个网页中使用相同的设计元素和样式&#xff0c;如颜色、字体、按钮样式等。这样可以增加用户…

2024年【北京市安全员-B证】新版试题及北京市安全员-B证模拟试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 北京市安全员-B证新版试题考前必练&#xff01;安全生产模拟考试一点通每个月更新北京市安全员-B证模拟试题题目及答案&#xff01;多做几遍&#xff0c;其实通过北京市安全员-B证作业考试题库很简单。 1、【多选题】…

Html实现全国省市区三级联动

目录 前言 1.全国省市区的Json数据 2.找到Json数据文件(在此博文绑定资源)之后&#xff0c;放到resource目录下。 3.通过类加载器加载资源文件&#xff0c;读取Json文件 3.1 创建JsonLoader类 3.2 注入JsonLoader实体&#xff0c;解析Json文件 4.构建前端Html页面 5.通过…

至尊雄心:成为不甘平庸的男人,掌握顶级赢家思维

至尊雄心&#xff1a;成为不甘平庸的男人&#xff0c;掌握顶级赢家思维 嘿&#xff0c;伙计们&#xff01;如果你是个有抱负的男人&#xff0c;或者你想要成为一个有成就的男人&#xff0c;那么这篇文章就是为你量身定做的。这里&#xff0c;我们将一起探讨那些顶级赢家的思维…

开源蓝牙协议栈-Zephyr Bluetooth

关于Zephyr的介绍&#xff0c;参考&#xff1a; https://blog.csdn.net/2201_75889983/article/details/129366754 Zephyr最初是由Wind River公司开发的一个微内核&#xff0c;在2016年的时候成为Linux基金会维护的一个项目&#xff0c;发展至今&#xff0c;已经成为了一个功能…