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 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 基于yolov5的鸟类图像准确识别 -> 正文阅读

[人工智能]基于yolov5的鸟类图像准确识别

项目要求

现有不同种类的鸟,每一类有5张图,要求是对每一幅图中的鸟进行准确定位,即用bounding box将图中的鸟框出来。演示如下:

在这里插入图片描述

实现步骤:

1、数据集的制作

使用Make Sense网站制作数据集,创建六类鸟的labels,并对图像进行标注,并将其导出为yolov所使用的文件形式
创建标签数据集制作
下载制作好的数据集

2、下载yolov5官方代码,并下载yolov5s.pt,将其作为预训练使用的权重。

3、在目录下新建一个mydata文件夹,在该文件夹下面新建如下图的文件夹

创建文件夹
其中image的train和val文件夹中存放训练和预测的图片,labels下面存放制作好的数据集和用来预测的数据集(val下面的文件是后面运行过程中生成的),test文件夹下存放用来测试的图片。

4、在文件中放入yolov5s.pt预训练权重。

放入预训练权重

5、将文件打包上传到colab上(本计算机算力不够,故采用colab进行训练)

6、修改colab配置,选择使用GPU进行训练

修改笔记本设置

7、使用指令解压文件

!unzip -uq birds.zip

8、使用指令切换工作目录,并安装yolov5所需要的依赖库

%cd /content/birds/yolov5-master/
!pip install -r requirements.txt

9、将data目录下的VOC.yaml复制一份,并将其命名为birds.yaml,并修改以下代码为自己的文件路径

train: /content/birds/yolov5-master/mydata/images/train  # train images (relative to 'path')  30 images

val: /content/birds/yolov5-master/mydata/images/val

# Classes
nc: 6  # number of classes
names:  ["egrets family", "redshank", "avocet", "plover", "egret", "night heron"]   # class names

10、复制models文件下的yolov5s.yaml,并将其命名为yolov5s_birds.yaml,并修改该文件下nc:6

11、修改train.py中的代码,先设置100轮进行训练,并且修改batch-size大小为32,充分调用GPU,以及修改相关路径

parser = argparse.ArgumentParser()
    parser.add_argument('--weights', type=str, default='/content/birds/yolov5-master/weighs/yolov5s.pt', help='initial weights path')
    parser.add_argument('--cfg', type=str, default='/content/birds/yolov5-master/models/yolov5s_birds.yaml', help='model.yaml path')
    parser.add_argument('--data', type=str, default='/content/birds/yolov5-master/data/birds.yaml', help='dataset.yaml path')
    parser.add_argument('--hyp', type=str, default=ROOT / 'data/hyps/hyp.scratch-low.yaml', help='hyperparameters path')
    parser.add_argument('--epochs', type=int, default=100)
    parser.add_argument('--batch-size', type=int, default=32, help='total batch size for all GPUs, -1 for autobatch')

12、使用指令进行训练

!python train.py

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

训练100轮后还行啦night heron的准确率不够,此时选择修改训练轮数为300,重新进行训练。
在这里插入图片描述
准确率得以提高。

13、启用tensorbord查看参数

tensorbord --logdir=runs/train

在这里插入图片描述

14、可以在本地进行测试,也可在colab进行测试,本次选择在本地进行测试,下载训练好的权重,放到本地的文件夹中。并修改detect.py中代码

parser = argparse.ArgumentParser()
    parser.add_argument('--weights', nargs='+', type=str, default='best.pt', help='model path(s)')
    parser.add_argument('--source', type=str, default='F:/birds/yolov5-master/mydata/test/', help='file/dir/URL/glob, 0 for webcam')

15、运行detect.py查看测试结果

在这里插入图片描述

测试结果

白鹭家族
在这里插入图片描述
红脚鹬
在这里插入图片描述

反嘴鹬
在这里插入图片描述
环颈珩
在这里插入图片描述
小白鹭
在这里插入图片描述
夜鹭在这里插入图片描述

实验结果总结

总结:此项目是数字图像处理课程期末大实验,在实现过程中博主选择了使用yolov5来做,希望各位大佬批评指正

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-06-08 19:03:35  更:2022-06-08 19:06:32 
 
开发: 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/26 2:27:50-

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