当前位置: 首页 > news >正文

7类茶叶嫩芽图像分类数据集

在茶叶育种、溯源管理与自动采摘等智能农业场景中,茶树品种的识别与分类是一项关键任务。不同茶叶品种在嫩芽期表现出显著的形态差异,例如颜色、叶缘结构、芽头密度等。因此,基于图像的茶叶品种分类不仅具备实际应用价值,也为农业人工智能研究提供了丰富的实验素材。

本文将介绍一个面向茶树嫩芽图像分类任务的标准化数据集:茶叶嫩芽分类数据集,涵盖多个常见优质茶叶品种,支持图像分类模型的训练与评估。

一、📦 数据集概述

该数据集收集了多个茶树品种在嫩芽生长期的实拍图像,图像内容清晰地呈现了各品种在芽头阶段的颜色、形态和质感等特征,适用于构建深度学习图像分类模型。

每张图像都按所属茶树品种进行了标注,并存放在对应的类别文件夹下,可直接用于监督式图像分类任务。


二、🏷️ 类别标签定义

数据集中共包含 7 种茶叶品种,均为典型的地方优质品种,类别标签如下:

类别名数量简要介绍
Anji_White_Tea

383

安吉白茶,浙江特色白化变异茶种,芽色浅绿偏白
Huangshan_Variety

357

黄山品系,具有黄山大叶种血统,叶面宽厚
Longjing_43

271

龙井43号,广泛种植的龙井核心品系,芽头扁直
Nongkangzao62农抗早,芽头密集、萌发早,适宜高产
Shucha_Early_Tea

223

舒茶早,早生品种,嫩芽披毫,颜色浅绿
Wanzhe_95

207

皖浙95号,杂交优良品种,芽叶鲜绿、整齐
Wuniuzao

306

乌牛早,著名早生品种,发芽整齐、颜色鲜亮

数据集中所有图像均来自茶园实拍,拍摄设备统一,背景自然,部分样本为单芽特写,部分为多芽集中视角,以增加模型的泛化能力。

图像均为 .jpg 格式,分辨率适中,适合直接用于训练 ResNet、MobileNet、EfficientNet 等主流图像分类网络。

三、📁 数据组织结构

数据采用常规图像分类数据结构组织,每个类别对应一个文件夹,方便直接加载:

tea_bud_classification_dataset/
├── Anji_White_Tea/
│   ├── image_001.jpg
│   ├── image_002.jpg
│   └── ...
├── Huangshan_Variety/
├── Longjing_43/
├── Nongkangzao/
├── Shucha_Early_Tea/
├── Wanzhe_95/
└── Wuniuzao/

四、🧠 推荐模型与使用方式

本数据集可用于训练或微调多种分类模型,包括但不限于:

模型特点
ResNet18/50经典卷积网络,精度高、稳定性好
MobileNetV2/V3轻量化网络,适合移动端部署
EfficientNet参数效率高,适合多类别扩展
ViT / Swin-T基于 Transformer,适合结构建模

五、📊 应用场景

该数据集可广泛应用于茶叶品种识别相关的各类实际场景,包括:

  • 🌿 自动品种识别系统:用于茶园育种管理、茶苗选型等;

  • 📦 智能包装分拣设备:通过视觉识别进行品种归类;

  • 🧪 茶叶品控质量检测:结合形态与色彩分析评估品种纯度;

  • 🤖 采摘机器人视觉系统:提前识别目标品种,实现有选择性采摘;

六、训练集和验证集划分

这段代码用于将图像分类数据集中每个类别下约20%的图像从训练集划分为验证集(可自行修改比例)。它首先读取训练集根目录下的所有类别文件夹,并对每个类别中的图像文件列表进行随机打乱,然后按比例选取20%的图像作为验证集。对于选中的图像,程序会将其从训练集路径移动到验证集对应类别的子文件夹中(若目标文件夹不存在则自动创建),从而完成数据集的训练集与验证集划分操作,适用于基于文件夹结构的图像分类任务。其中文件存放结构和划分代码分别如下:

datasets/
├── train/
│   ├── Anji_White_Tea/
│   ├── Huangshan_Variety/
│   ├── ...
├── val/
import os
import shutil
import random
import cv2train_root = "../datasets/train"
val_root = "../datasets/val"name_list = os.listdir(train_root)
for name in name_list:image_root = os.path.join(train_root, name)image_list = os.listdir(image_root)# 随机打乱文件名列表random.shuffle(image_list)num_images = len(image_list)num_val = int(num_images * 0.2)val_names = image_list[:num_val]for image_name in val_names:image_path = os.path.join(image_root, image_name)print(image_path)save_root = os.path.join(val_root, name)if not os.path.exists(save_root):os.makedirs(save_root)save_image_path = os.path.join(save_root, image_name)print(save_image_path)if os.path.exists(save_image_path) is False:shutil.move(image_path, save_image_path)

下载链接 :7类茶叶嫩芽图像分类数据集

相关文章:

  • NLP随机插入
  • (24)如何在 Qt 里创建 c++ 类,以前已经学习过如何在 Qt 里引入资源图片文件。以及如何为继承于 Qt已有类的自定义类重新实现虚函数
  • JS中判断数据类型的方法
  • Requests源码分析:面试考察角度梳理
  • Tomcat性能调优指南
  • 【系统分析师】2021年真题:案例分析-答案及详解
  • langChain与langGraph的关系与区别
  • Trie(字典树)
  • swift-22-面向协议编程、响应式编程
  • PH热榜 | 2025-06-29
  • MySQL的调控按钮
  • stm32之测量周期
  • JVM中的垃圾收集(GC)
  • idea运行到远程机器 和 idea远程JVM调试
  • 【C++】C++中的友元函数和友元类
  • 【科技核心期刊推荐】《计算机与现代化》
  • PaddleNLP
  • MongoDB05 - MongoDB 查询进阶
  • 极限平衡法和应力状态法无限坡模型安全系数计算
  • 阿里云-接入SLS日志