使用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://www.huajiangbk.com/newsview1347521.html
| 上一篇: 【生菜成熟度数据集】蔬菜生长成熟... | 下一篇: 果树果实成熟度检测系统:基于Na... |





