首页 分享 花卉目标检测数据集介绍(共 12 类,10490 张图像)

花卉目标检测数据集介绍(共 12 类,10490 张图像)

来源:花匠小妙招 时间:2026-04-14 04:02

在计算机视觉与智能农业快速发展的背景下,基于 深度学习 的花卉识别与检测技术正被广泛应用于植物分类、智能园艺、自动监测与生态研究等多个领域。为了推动花卉类 目标检测 任务的发展,本文介绍一个包含 12 种常见花卉类别的目标检测数据集,总计 10,490 张图像,每张图像均已进行精准的目标框标注。

一、 数据集 概览

本数据集旨在支持基于 YOLO、Faster R- CNN 、SSD 等主流算法的目标检测训练,覆盖自然环境下的野外与花园拍摄场景,具有良好的多样性和泛化能力。

图像总数:10,490 张

目标类别数:12 类

标注格式:YOLO 格式、VOC 格式、Json格式

标注后的数据集如下所示:

二、数据标注说明

该数据集包含12种花卉类别,并提供了三种格式的标签,分别为json、xml和YOLO格式。在json和xml标签中,标签名称为英文。在yolo标签中,标签名字为从0开始的阿拉伯数字。其中类别编号与中英文名称的对应关系如下表所示:

类别编号英文名称中文名称0Allium葱属植物(如洋葱花)1Borage琉璃苣(星形花)2Burdock牛蒡花3Calendula金盏花4Chicory菊苣5Chive_blossoms韭菜花6Coltsfoot款冬花7Common_yarrow蓍草(欧蓍草)8Coneflower紫锥菊9Cow_parsley伞形花(野胡萝卜)10Dandelion蒲公英11Gardenia栀子花

三、数据集划分

        下面代码主要作用是将原始数据集按比例划分为训练集、验证集和测试集,并分别保存对应的图像和YOLO格式标签文件。具体过程如下:

读取数据源路径:程序首先定义了包含所有图像和YOLO标签的原始路径。获取图像列表并打乱顺序:通过读取图像文件名列表并使用 random.shuffle() 随机打乱,实现数据的随机分布。按照7:2:1的比例划分数据集:分别确定训练集、验证集和测试集的数量,并获取对应文件名。(可自行地定义划分比例)创建目标文件夹并复制文件:程序依次为训练集、验证集和测试集创建对应的图像与标签保存路径,并将图像文件和标签文件分别复制过去。

import os

import random

import shutil

root_dir = r"./data_sum"

save_root_dir = r"./data_split"

image_sum_dir = os.path.join(root_dir, "images")

label_yolo_sum_dir = os.path.join(root_dir, "labels_yolo")

image_list = os.listdir(image_sum_dir)

image_list = [name for name in image_list if name.endswith(".jpg")]

random.shuffle(image_list)

train_ratio = 0.7

val_ratio = 0.2

test_ratio = 0.1

num_images = len(image_list)

num_train = int(num_images * train_ratio)

num_val = int(num_images * val_ratio)

num_test = num_images - num_train - num_val

print("num_images:{} num_train:{} num_val:{} num_test:{}".format(num_images, num_train, num_val, num_test))

train_names = image_list[:num_train]

val_names = image_list[num_train: num_train + num_val]

test_names = image_list[num_train + num_val: num_images]

save_train_images_path = os.path.join(save_root_dir, "images", "train")

save_train_labels_path = os.path.join(save_root_dir, "labels", "train")

if not os.path.exists(save_train_images_path):

os.makedirs(save_train_images_path)

if not os.path.exists(save_train_labels_path):

os.makedirs(save_train_labels_path)

for name in train_names:

image_path = os.path.join(image_sum_dir, name)

label_path = os.path.join(label_yolo_sum_dir, name.split(".jpg")[0] + ".txt")

assert os.path.exists(image_path), "file:{} not exist ...".format(image_path)

assert os.path.exists(label_path), "file:{} not exist ...".format(label_path)

shutil.copy(image_path, save_train_images_path)

shutil.copy(label_path, save_train_labels_path)

save_val_images_path = os.path.join(save_root_dir, "images", "val")

save_val_labels_path = os.path.join(save_root_dir, "labels", "val")

if not os.path.exists(save_val_images_path):

os.makedirs(save_val_images_path)

if not os.path.exists(save_val_labels_path):

os.makedirs(save_val_labels_path)

for name in val_names:

image_path = os.path.join(image_sum_dir, name)

label_path = os.path.join(label_yolo_sum_dir, name.split(".jpg")[0] + ".txt")

assert os.path.exists(image_path), "file:{} not exist ...".format(image_path)

assert os.path.exists(label_path), "file:{} not exist ...".format(label_path)

shutil.copy(image_path, save_val_images_path)

shutil.copy(label_path, save_val_labels_path)

save_test_images_path = os.path.join(save_root_dir, "images", "test")

save_test_labels_path = os.path.join(save_root_dir, "labels", "test")

if not os.path.exists(save_test_images_path):

os.makedirs(save_test_images_path)

if not os.path.exists(save_test_labels_path):

os.makedirs(save_test_labels_path)

for name in test_names:

image_path = os.path.join(image_sum_dir, name)

label_path = os.path.join(label_yolo_sum_dir, name.split(".jpg")[0] + ".txt")

assert os.path.exists(image_path), "file:{} not exist ...".format(image_path)

assert os.path.exists(label_path), "file:{} not exist ...".format(label_path)

shutil.copy(image_path, save_test_images_path)

shutil.copy(label_path, save_test_labels_path)

python

运行

 本文数据集是在一些网站上搜集的,由于搜集的图片大多不带标注,自己进行了准确地标注,识别效果良好。如有需求,请支持。

(1 封私信 / 4 条消息) 花卉目标检测数据集介绍(共 12 类,10490 张图像) - 知乎

相关知识

花卉目标检测数据集介绍(共 12 类,10490 张图像)
使用YOLOv8进行目标检测花卉数据集 任务,高效地处理数据和训练模型。花卉数据集 12种花共8000多张图片 鲜花 花数据集
6类宠物皮肤病目标检测数据集分享
深度学习——植物、农作物图像数据集大合集
ChatGPT对话:有关花卉数据集
深度学习——植物、农作物图像数据集大合集(二)
如何使用这个玉米病虫害检测数据集进行YOLOv5模型的训练 玉米虫害数据集 4类
如何训练自己的数据集之—植物病害数据集大类叶片病害数据集
【yolo数据集】花朵数据集yolo
Ip102: 害虫识别的大规模基准数据集

网址: 花卉目标检测数据集介绍(共 12 类,10490 张图像) https://www.huajiangbk.com/newsview2592089.html

所属分类:花卉
上一篇: 2026年植物花卉园艺频道
下一篇: 葱属植物分类研究进展

推荐分享