水果质量检测数据集 腐烂检测
13个类别
'Apple_B训练集1811 验证集514 测试集258ad', 'Apple_Good', 'Banana_Bad', 'Banana_Good', 'Good_Apple-Bad_Apple', 'Guava_Bad', 'Guava_Good', 'Lime_Bad', 'Lime_Good', 'Orange_Bad', 'Orange_Good', 'Pomegranate_Bad', 'Pomegranate_Good'
水果质量检测数据集 腐烂检测
13个类别
'Apple_Bad', 'Apple_Good', 'Banana_Bad', 'Banana_Good', 'Good_Apple-Bad_Apple', 'Guava_Bad', 'Guava_Good', 'Lime_Bad', 'Lime_Good', 'Orange_Bad', 'Orange_Good', 'Pomegranate_Bad', 'Pomegranate_Good'
训练集1811 验证集514 测试集258
水果质量检测数据集 - 腐烂检测
名称
水果质量检测数据集 - 腐烂检测
规模
- 类别数量:13个
- 训练集:1811张图像
- 验证集:514张图像
- 测试集:258张图像
- 数据量:未提供具体数据量,但通常这类数据集可能达到数百MB到几GB。
类别
- Apple_Bad:腐烂的苹果
- Apple_Good:完好的苹果
- Banana_Bad:腐烂的香蕉
- Banana_Good:完好的香蕉
- Good_Apple-Bad_Apple:包含好苹果和坏苹果的组合图像
- Guava_Bad:腐烂的番石榴
- Guava_Good:完好的番石榴
- Lime_Bad:腐烂的青柠
- Lime_Good:完好的青柠
- Orange_Bad:腐烂的橙子
- Orange_Good:完好的橙子
- Pomegranate_Bad:腐烂的石榴
- Pomegranate_Good:完好的石榴
数据特点
- 多样化类别:涵盖了多种常见水果及其好坏状态,确保模型能够适应不同种类的水果。
- 详细标注:每张图像都附有明确的类别标签,方便进行监督学习。
- 高质量图像:所有图像均为高质量拍摄,提供了丰富的细节信息,有助于提高分类精度。
- 分组数据集:数据集分为训练集、验证集和测试集,便于模型训练、验证和评估。
应用场景
- 质量控制:在水果收获后进行质量检查,确保产品符合市场标准。
- 供应链管理:帮助供应链中的各个环节(如仓储、运输)及时发现并处理腐烂水果,减少损失。
- 零售管理:超市和零售商可以使用该系统自动检测货架上的水果质量,提升顾客体验。
- 研究与教育:用于农业科研机构的研究以及相关院校的教学,帮助学生和研究人员更好地了解水果质量检测技术。
- 智能农业:集成到智能农业系统中,提升作物管理和销售效率。
数据集结构
数据集的文件结构如下
fruit_quality_dataset/
├── train/
│ ├── Apple_Bad/
│ ├── Apple_Good/
│ ├── Banana_Bad/
│ ├── Banana_Good/
│ ├── Good_Apple-Bad_Apple/
│ ├── Guava_Bad/
│ ├── Guava_Good/
│ ├── Lime_Bad/
│ ├── Lime_Good/
│ ├── Orange_Bad/
│ ├── Orange_Good/
│ ├── Pomegranate_Bad/
│ └── Pomegranate_Good/
├── val/
│ ├── Apple_Bad/
│ ├── Apple_Good/
│ ├── Banana_Bad/
│ ├── Banana_Good/
│ ├── Good_Apple-Bad_Apple/
│ ├── Guava_Bad/
│ ├── Guava_Good/
│ ├── Lime_Bad/
│ ├── Lime_Good/
│ ├── Orange_Bad/
│ ├── Orange_Good/
│ ├── Pomegranate_Bad/
│ └── Pomegranate_Good/
├── test/
│ ├── Apple_Bad/
│ ├── Apple_Good/
│ ├── Banana_Bad/
│ ├── Banana_Good/
│ ├── Good_Apple-Bad_Apple/
│ ├── Guava_Bad/
│ ├── Guava_Good/
│ ├── Lime_Bad/
│ ├── Lime_Good/
│ ├── Orange_Bad/
│ ├── Orange_Good/
│ ├── Pomegranate_Bad/
│ └── Pomegranate_Good/
└── metadata.csv
metadata.csv
文件内容示例:
image_id, category, split
train/Apple_Bad/apple_bad_0001.jpg, Apple_Bad, train
train/Apple_Good/apple_good_0001.jpg, Apple_Good, train
val/Banana_Bad/banana_bad_0001.jpg, Banana_Bad, val
val/Banana_Good/banana_good_0001.jpg, Banana_Good, val
test/Good_Apple-Bad_Apple/good_apple-bad_apple_0001.jpg, Good_Apple-Bad_Apple, test
...
代码示例
下面是一个简单的Python脚本示例,展示如何加载和可视化这些数据集的一部分。我们将使用OpenCV来读取图像,并从metadata.csv
文件中解析图像的元数据
import os
import cv2
import pandas as pd
import matplotlib.pyplot as pltdef load_fruit_data(metadata_file, data_dir):metadata = pd.read_csv(metadata_file)images = []categories = []for index, row in metadata.iterrows():image_id = row['image_id']category = row['category']split = row['split']# 加载图像img_path = os.path.join(data_dir, image_id)image = cv2.imread(img_path)if image is not None:images.append(image)categories.append(category)else:print(f"Failed to load image: {img_path}")return images, categories, metadata# 假设元数据文件为'metadata.csv',数据目录为'fruit_quality_dataset'
metadata_file = 'path_to_your_metadata_file'
data_dir = 'path_to_your_data_directory'images, categories, metadata = load_fruit_data(metadata_file, data_dir)# 显示前几张图像及其对应的类别
num_images_to_show = 5
fig, axes = plt.subplots(1, num_images_to_show, figsize=(15, 3))for i in range(num_images_to_show):ax = axes[i]ax.imshow(cv2.cvtColor(images[i], cv2.COLOR_BGR2RGB))ax.set_title(categories[i])ax.axis('off')plt.show()
说明
- 路径设置:请根据实际的数据集路径调整
path_to_your_metadata_file
和path_to_your_data_directory
。 - 文件命名:假设图像文件名分别为
.jpg
。如果实际命名规则不同,请相应修改代码。 - 可视化:通过显示图像及其对应的类别,可以直观地看到数据集中的样本。
进一步的应用
- 训练深度学习模型:可以使用这个数据集来训练卷积神经网络(CNN)或其他机器学习模型,以实现自动化的水果质量检测。
- 数据增强:为了增加数据集的多样性和鲁棒性,可以使用数据增强技术(如旋转、翻转、缩放等)生成更多的训练样本。
- 评估与优化:通过交叉验证和测试集评估模型性能,并不断优化模型参数,以提高分类准确率。
这个数据集对于水果质量检测具有重要的实用价值,可以帮助相关部门及时发现和处理腐烂水果,提高产品质量和客户满意度。