首页 > 分享 > 使用yolov5训练自己的数据集(苹果成熟度检测)

使用yolov5训练自己的数据集(苹果成熟度检测)

最新推荐文章于 2024-10-30 09:20:31 发布

123xiaohu 于 2021-12-24 20:05:10 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

先从Github上下载YOLOv5,下载好解压配置好就可以使用,地址:

https://github.com/ultralytics/yolov5

1.训练数据集的准备工作

在yolov5 目录的data文件夹下新建四个文件夹,先说明这四个文件夹分别是用来干什么的,后面会往里面一一加入需要添加的内容。

Annotations文件夹:用来存放使用labelimg给每张图片标注后的xml文件,后面会讲解如何使用labelimg进行标注。

Images文件夹:用来存放原始的需要训练的数据集图片,图片格式为jpg格式。

ImageSets文件夹:用来存放将数据集划分后的用于训练、验证、测试的文件。

Labels文件夹:用来存放将xml格式的标注文件转换后的txt格式的标注文件。

 

 2.准备数据集

我做的是关于苹果成熟度的检测,将苹果根据成熟度划分为3类:高成熟度 High_Ripeness,中成熟度 Medium_Ripeness,低成熟度 Low_Ripeness。下图为数据集的一部分,共准备了60张原始图片,高中低成熟度的图片各有20张,图片都是从百度上一一下载的。此处会用到一个非常高效的重命名方式,就不用一张一张图片的进行重命名。批量重命名的代码如下。60张图片准备好后就放在images文件夹中即可。

 

import os

class BatchRename():

'''

批量重命名文件夹中的图片文件

'''

def __init__(self):

self.path = 'E:GitHubyolov5-masteryolov5-masterdataimages新建文件夹'

self.new_path='E:GitHubyolov5-masteryolov5-masterdataimages新建文件夹'

def rename(self):

filelist = os.listdir(self.path)

total_num = len(filelist)

i = 1

for item in filelist:

if 1:

src = os.path.join(os.path.abspath(self.path), item)

dst = os.path.join(os.path.abspath(self.path), 'Low Ripeness0000' + format(str(i), '0>3s') + '.jpg')

try:

os.rename(src, dst)

print('converting %s to %s ...' % (src, dst))

i = i + 1

except:

continue

print ('total %d to rename & converted %d jpgs' % (total_num, i))

if __name__ == '__main__':

demo = BatchRename()

demo.rename()

3.使用labelimg进行标注

Labelimg是一个图像标注工具,软件使用非常简单,下载解压后在data文件夹下有一个predefined_classes文件,在里面提前写好要训练

相关知识

如何使用这个玉米病虫害检测数据集进行YOLOv5模型的训练 玉米虫害数据集 4类
基于YOLOv5深度学习的植物病害检测系统:YOLOv5 + 数据集 + UI界面
深度学习花朵识别系统:yolov5源码与海棠花数据集解析
基于深度学习的农作物叶片病害检测系统(UI界面+YOLOv5+训练数据集)
基于yolov5的海棠花花朵识别检测系统完整项目
基于YOLOv5的PCB板缺陷检测
基于yolov8、yolov5的植物类别识别系统(含UI界面、训练好的模型、Python代码、数据集)
高分项目:基于yolov5的海棠花花朵识别检测系统完整包
使用YOLOv5和PyQt5开发苹果树病虫害检测系统
植物病虫害检测数据集 7800张 病虫害 带标注 voc yolo

网址: 使用yolov5训练自己的数据集(苹果成熟度检测) https://m.huajiangbk.com/newsview1347521.html

所属分类:花卉
上一篇: 【生菜成熟度数据集】蔬菜生长成熟
下一篇: 果树果实成熟度检测系统:基于Na