Yolov5—实现目标检测(win10)

该方法可以在win10上实现Yolov5的目标检测,配置前需要安装Anaconda3

一、环境配置

源码下载地址:https://github.com/ultralytics/yolov5.git

推荐使用B站up主修改好的文件配置Yolov5环境。(链接点这里:提取码为“ugpg”)

Pytorch:1.5.1

Cuda:10.1

Python:3.7

打开Anaconda Prompt(Anaconda3)配置相关环境

conda create -n yolov5 python=3.7 #创建yolov5 (python3.7)环境

conda activate yolov5 #切换到yolov5环境

conda install pytorch torchvision cudatoolkit=10.1 #安装cuda10.1

pip install -U -r requirements.txt #安装依赖包。

之后使用Yolov5一定要切换到Yolov5环境

conda activate yolov5 #切换到yolov5环境

安装pycocotools

记得切换到cocoapi/PythonAPI路径在执行剩下安装步骤

cd cocoapi/PythonAPI #切换路径 安装pycocotools

python setup.py build_ext install

安装apex

cd apex-master #切换路径安装apex

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

python setup.py install

使用电脑摄像头检测Yolov5是否配置成功

python detect.py --source 0 --weights="weights/yolov5x.pt" #socrce 0 表示从摄像头输入图像

二、准备数据集

可以使用up主提供的数据集(提取码为“1hfu”)格式为 yolov5 文章后面使用该数据集进行训练

检测目标:图片中的壶和书

数据集存放格式如下

coco

-image

- train2017#存放训练图片

- x.jpg

- val2017##存放验证图片

-label

- train2017#存放训练label

- x.txt

- val2017#存放验证label

数据集需要放在yolov5 data目录下面(如下图所示)

三、修改相关文件

1.修改coco128.yaml文件

coco128.yaml等文件路径为.. /yolov5_material/yolov5-master/data

将文件中的nc:80, 修改为nc:2(nc为要训练数据的类别个数)

将names:[’ ‘,’ '] 改为 names: [‘hu’, ‘shu’] (names 为要训练数据的类别名)

# COCO 2017 dataset http://cocodataset.org - first 128 training images

# Download command: python -c "from yolov5.utils.google_utils import gdrive_download; gdrive_download('1n_oKgR81BJtqk75b00eAjdv03qVCQn2f','coco128.zip')"

# Train command: python train.py --data ./data/coco128.yaml

# Dataset should be placed next to yolov5 folder:

# /parent_folder

# /coco128

# /yolov5

# train and val datasets (image directory or *.txt file with image paths)

train: ./data/coco/images/train2017/

val: ./data/coco/images/val2017/

# number of classes

#nc: 80

nc:2

# class names

# names: ['person', 'bicycle', 'car', 'motorcycle', 'airplane', 'bus', 'train', 'truck', 'boat', 'traffic light',

# 'fire hydrant', 'stop sign', 'parking meter', 'bench', 'bird', 'cat', 'dog', 'horse', 'sheep', 'cow',

# 'elephant', 'bear', 'zebra', 'giraffe', 'backpack', 'umbrella', 'handbag', 'tie', 'suitcase', 'frisbee',

# 'skis', 'snowboard', 'sports ball', 'kite', 'baseball bat', 'baseball glove', 'skateboard', 'surfboard',

# 'tennis racket', 'bottle', 'wine glass', 'cup', 'fork', 'knife', 'spoon', 'bowl', 'banana', 'apple',

# 'sandwich', 'orange', 'broccoli', 'carrot', 'hot dog', 'pizza', 'donut', 'cake', 'chair', 'couch',

# 'potted plant', 'bed', 'dining table', 'toilet', 'tv', 'laptop', 'mouse', 'remote', 'keyboard', 'cell phone',

# 'microwave', 'oven', 'toaster', 'sink', 'refrigerator', 'book', 'clock', 'vase', 'scissors', 'teddy bear',

# 'hair drier', 'toothbrush']

names: ['hu', 'shu']

在 yolov5l .yaml, yolov5m.yaml,yolov5x.yaml,yolov5s.yaml 中选择你使用的模型,修改该文件的nc(类别数目)【推荐使用yolov5s.yaml,他的训练速度最快】

yolov5l .yaml等文件路径为.. /yolov5_material/yolov5-master/models

修改nc值

#nc: 80

nc:2 # number of classes

四、Yolov5s模型训练

在配置好的环境中输入下面的代码进行模型训练

python train.py --img 640 --data data/coco128.yaml --cfg models/yolov5x.yaml --weights weights/yolov5s.pt --batch-size 8 --epochs 100

#img 640 为模型输入图片的分辨率为640

#batchsize 为每个batch中训练样本的数量

#epochs为模型迭代次数

#可以根据自己电脑的配置进行调节batchsize 和 epochs

执行完该段代码之后,会在weights目录下产生best.pt文件

,可以通过该文件对新输入的图片进行目标检测。

训练模型时会产生如下图像

五、对新输入的图片进行目标检测

python detect.py --source 00000.bmp --weights="weights/best.pt" --view-img

执行之后会在窗口显示检测结果

检测结果如图所示

python实现yolo目标检测_Yolov5—实现目标检测(win10)相关推荐

  1. [智慧防疫]Python基于YOLO的新冠社交距离检测系统[完整源码&部署教程]

    1.图片演示 2.视频演示 3.背景 美国和欧洲的许多城市现在都在谨慎地重新开放.人们被要求在外出时保持安全距离.但是人们照着做吗?城市对人们的安全距离是否符合规则进行评估并采取相应的行动是很重要的. ...

  2. python实现yolo目标检测_从零开始PyTorch项目:YOLO v3目标检测实现

    在过去几个月中,我一直在实验室中研究提升目标检测的方法.在这之中我获得的最大启发就是意识到:学习目标检测的最佳方法就是自己动手实现这些算法,而这正是本教程引导你去做的. 在本教程中,我们将使用 PyT ...

  3. Python Apex YOLO V7 main 目标检测 全过程记录

    博文目录 文章目录 环境准备 YOLO V7 main 分支 TensorRT 环境 工程源码 假人权重文件 toolkit.py 测试.实时检测.py grab.for.apex.py label. ...

  4. python实现目标识别_Python10行代码实现目标检测

    ImageAI可以让程序员和软件开发者只用几行代码,就能轻易地把最先进的计算机视觉技术整合到他们现有的以及新的应用程序里面. 用ImageAI实现目标检测,你只需要以下步骤: 安装Python 安装I ...

  5. Python 数据科学入门教程:TensorFlow 目标检测

    TensorFlow 目标检测 原文:TensorFlow Object Detection 译者:飞龙 协议:CC BY-NC-SA 4.0 一.引言 你好,欢迎阅读 TensorFlow 目标检测 ...

  6. Yolo 一文看懂目标检测

    Yolo 一文看懂目标检测 概述 one-stage two-stage Yolo 原理 分割图片 预选框 计算参数 预测物体 得到结果 网络架构 (v1) 概述 Yolo (You Only Loo ...

  7. python识别颜色并提取轮廓_pythonopencv检测并提取目标颜色

    这次给大家带来python opencv检测并提取目标颜色,python opencv检测并提取目标颜色的注意事项有哪些,下面就是实战案例,一起来看一下. 实例如下所示:# -*- coding:ut ...

  8. 电网变电站安全作业行为规范检测-绝缘手套佩戴检测图像数据集(VOC,YOLO两类标签,六类目标)

      下载地址(数据集分为四个包,每个都不相同): 电网变电站安全作业行为规范检测-绝缘手套佩戴检测数据集1,(600张图像,VOC,YOLO两类标签,下载链接) 电网变电站安全作业行为规范检测-绝缘手 ...

  9. 使用YOLOv3(Python - Keras)实时检测屏幕画面进行目标检测教程(以检测GTA5游戏画面为例子)

    毕业设计项目做了一个在游戏GTA5中实现自动驾驶的项目,其中一个功能是汽车的碰撞检测.为了实现这个功能我首先需要能实现识别汽车,对比了使用了SSD和Faster-RCNN,我选择了YOLOv3来实现这 ...

最新文章

  1. apply的调用 http://bbs.51js.com/thread-82017-1-3.html
  2. An Openfire plugin for Webspell sites.
  3. 基于mysql的主从复制之Mycat简单配置和高可用
  4. Python学习8 函数 匿名函数 内置函数
  5. salesforce 零基础学习(五十四)常见异常友好消息提示
  6. 信息学奥赛一本通 1405:质数的和与积 | OpenJudge NOI 2.1 7827:质数的和与积 | 小学奥数 7827
  7. init.d目录理解
  8. springboot 关于第三方包 打包问题
  9. found.000是什么,能删除吗
  10. .net基础知识22点
  11. Postman都脱单了,我决定用他女朋友Postwoman了
  12. python pyquery 解析html数据
  13. 连锁门店数字化营销,打造千城万店新零售体系
  14. 三口烧瓶规格有哪些_三口烧瓶有哪些规格,用途是什么 | | 化工资讯网
  15. python深拷贝与浅拷贝
  16. AntD的Table表头title加Icon图标和气泡提示Tooltip
  17. SCI英文论文写作- Latex 进阶
  18. c语言void翻译,C语言中,void 怎么读?给个准却的中文翻译。
  19. 预处理--python实现用随机森林评估特征的重要性
  20. java blueprint_OSGI Blueprint入门之四

热门文章

  1. Lintcode108 Palindrome Partitioning || solution 题解
  2. DBA入门之路:由浅入深的总结学习法
  3. CentOS下的Autoconf和AutoMake(实践篇) 2
  4. (DBA之路【五】)关于锁的故事
  5. 转发:某些函数需要将其一个或多个实参连同类型不变地转发给其他函数
  6. Java中BASE64 编码
  7. Visual studio 2005如何实现源码管理
  8. (C++)第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母,非字母字符不变。要求根据密码译回原文,并输出。
  9. linux打开 root .m2,小辣椒M2 (LA-M2)获取ROOT权限教程,新手root必看
  10. Web前端工程师的一些常见误区