IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 记一次简单的计算机视觉实战 -> 正文阅读

[人工智能]记一次简单的计算机视觉实战

一、前言

? ? ? ? 前几天参考CV Zone - Computer Vision Zone的课程做了一个基于opencv的手势识别项目,使用的是已经训练好的模型,缺少一些乐趣。故决定自己搭建一个深度学习环境,用yolov5训练自己的数据集,实现一些简单的目标检测。??

二、开发环境搭建

1.本机配置

????????

?可以看到CPU是AMD Ryzen9 4900H ,显卡是RTX2060,最高支持的CUDA版本是11.4

2.安装Anaconda

????????Anaconda是一个开源的python发行版,带有很多python包,而且方便管理,用它来配置开发环境很方便。用Anaconda配置pytorch环境时它会自动帮我们安装好cuda和cudnn,免去NVIDIA官网下载cuda安装程序和cudnn压缩包的麻烦

????????我们可以在anaconda的官网下载最新的Anaconda版本并安装。Anaconda | The World's Most Popular Data Science Platform

3.安装pytorch环境

? ? ? ? 打开Anaconda Prompt,创建环境。

conda create -n pytorch python=3.8

? ? ? ? 激活环境

conda activate pytorch

? ? ? ? 安装pytorch

? ? ? ? 由于anaconda默认的源在国外,安装过程中可能会遇到麻烦,我们将源换为国内源。具体参考anaconda | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror? ? ? ?

????????进入pytorch官网,PyTorch

? ? ? ? ?复制上图这段命令,在anaconda prompt执行,等待安装完成。

4.安装IDE

? ? ? ? pycharm是一款非常好用的IDE,专为python打造。jetbrains提供了免费的社区版。

? ? ? ? 选择刚才安装好的环境。

?新建一个python文件并执行,可以验证cuda和cudnn已经安装完成,显示出了安装版本信息。

??import torch

print(torch.cuda_version)
print(torch.backends.cudnn.version())

?三、建立数据集

? ? ? ? labelimg是一款数据集标注工具,可以将标注的数据保存成不同格式。通过cmd执行命令来安装

pip install labelimg -i https://pypi.tuna.tsinghua.edu.cn/simple

? ? ? ? ?然后在项目的目录里创建这样的文件结构

? ? ? ? ?imgs里保存要标注的图片,labels里存放标注好的文件,class.txt里写入系列名称。这里我只建立了一个系列fire。可以根据需要创建多个。

? ? ? ? ?cmd进入dataset目录,执行命令开始标注

????????ctrl+u打开图片所在的imgs目录,ctrl+r选择数据保存的目录,w开启框选工具,a和d选择上一张和下一张,可以在view里面打开自动保存等功能。?由于下一步要使用yolov5进行训练和预测,这里将保存的格式设置成了yolo。

????????标注完成后将imgs和labels按自己喜欢的比例分配到train和val里就可以了,分别是训练模型时要用到的训练集和验证集,目录结构如下。

????????

四、训练模型

1.源码克隆

????????在github克隆yolov5的源码https://github.com/ultralytics/yolov5/tree/v5.0,放到自己项目的文件夹里。

? ? ? ? 完成后的目录:

2.安装所需的环境

? ? ? ? 所需的环境全部写在requirements.txt里面,可以通过pycharm里的terminal执行命令来安装。

pip install -r requirements.txt

? ? ? ? 本人在安装pycocotools时遇到了一些问题,参考这篇博客得到了解决。

PackagesNotFoundError的处理技巧_loft_的博客-CSDN博客_packagesnotfounderror用conda安装package时报错“PackagesNotFoundError:The following packages are not available from current channels:…”博主安装profiling包时也遇到过这个问题,希望将小技巧分享给大家。问题背景:当输入conda install profiling后,报错解决办法:运行命令:anacond...https://blog.csdn.net/loft_/article/details/105327425

3.获得预训练权重

? ? ? ? 在这个网址下载预训练权重,放到weights文件夹下。

https://github.com/ultralytics/yolov5/releases

4.修改yaml文件

????????

? ? ? ? ?修改data下的voc.yaml这里将文件的第10行注释掉,在第13,14行填入train和val的目录地址,17行后面填入要识别的系列数,20行为系列名。这里只有一个系列fire,故系列数为1。

?????????

? ? ? ? ?修改models下的yolov5s.yaml文件,同样,更改第2行为自己要实现的系列数,本人改成了1。

5.开始训练

? ? ? ? 更改train.py里面的一些参数。

????????

? ? ? ? 在此处分别填入预训练权重和刚刚更改的yaml文件路径。

?????????

????????训练的轮数,默认为300,根据需要进行修改

????????

? ? ? ??

????????喂入批次文件的多少和最大工作核心数,根据自己设备的配置自行修改即可。

????????然后运行train.py,训练开始。

? ? ? ? 如果在训练时IDE报错,请参考目标检测---教你利用yolov5训练自己的目标检测模型_didiaopao的博客-CSDN博客

? ? ? ? 训练过程中,我们可以用tensorboard来查看训练情况。在terminal中输入。

tensorboard --logdir=runs/train

? ? ? ? 或者在训练完后输入

tensorboard --logdir=runs

????????

? ? ? ? 本人标注了近2000组数据,从凌晨1点训练到早上9点,训练了650轮,可以看到拟合精度总体呈上升趋势。期间GPU负荷控制在50%左右,风扇声音比较吵。

? ? ? ? 训练完成后,项目目录下会生成一个runs\train\exp文件夹,其中weights下保存有最好的一个权重和最后一次的权重。还有其自动生成的数据信息。

五、用训练的模型进行推理

? ? ? ? 打开detect.py传入训练好的权重。

parser.add_argument('--weights', nargs='+', type=str, default='runs/train/exp/weights/best.pt', help='model.pt path(s)')

? ? ? ? 这里使用了训练好的那个最好的权重。

? ? ? ? 设置要处理的图片或视频的路径。

parser.add_argument('--source', type=str, default='C:/Users/Porridge/Desktop/66.mp4', help='source') 

? ? ? ? 图片或视频均可,这里我选择了桌面上的一个视频。

? ? ? ? 运行detect.py

? ? ? ? 运行完毕后,生成的图片或视频会保存在runs/detect/exp下

? ? ? ? 可以看到,在进行几百轮的训练之后,模型已经可以做出比较正确的推理。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-10-08 11:48:21  更:2021-10-08 11:48:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 10:38:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码