智慧农业-多模态**【直拍番茄果实成熟度多模态检测数据集3类目标 | 红外和可见光及深度depth各4000张图像共12000副图片 】**主要由RGB-D 深度相机集成 RGB、近红外 NIR、深度 与独立红外相机配合采集设备为Intel RealSense D435i数据集详情数据量共12000张图像.jpg格式txt标签文件**目标类别共3类 | nc3half 半成熟immature 未成熟ripe成熟1111适配多模态/多源数据的YOLOv8 训练代码。由于该数据集包含RGB可见光、NIR近红外和Depth深度三种模态且来源于 Intel RealSense D435i通常有两种处理策略数据混合训练将三种模态的图片视为独立样本混合训练增强模型对不同光照和纹理的鲁棒性。多流融合如果图片是配准对齐的可以使用多输入网络代码较为复杂。以下代码采用最通用且高效的“数据混合训练”策略即把所有模态的数据统一格式放入训练流中让模型学习不同模态下的番茄特征。 数据集规格描述表属性详细参数数据集名称直拍番茄果实成熟度多模态检测数据集采集设备Intel RealSense D435i (RGB-D NIR) 独立红外相机图像总数12,000 张(.jpg)模态构成RGB (可见光): 4,000 张NIR (近红外): 4,000 张Depth (深度): 4,000 张标注格式YOLO 格式 (.txt)包含归一化坐标目标类别数3 类 (nc3)类别详情1.half(半成熟)2.immature(未成熟)3.ripe(成熟)适用场景农业机器人采摘、温室作物成熟度监测、多光谱图像分析 训练代码与配置1. 目录结构准备为了让代码正确运行请将你的数据集整理为以下标准 YOLO 结构假设训练集/验证集已划分例如 9:1Tomato_Multimodal/ ├── data.yaml -- 配置文件 ├── images/ │ ├── train/ -- 放入所有模态的训练图片 (RGBNIRDepth) │ └── val/ -- 放入所有模态的验证图片 └── labels/ ├── train/ -- 对应的 txt 标签 └── val/ -- 对应的 txt 标签2. 配置文件 (data.yaml)在数据集根目录下创建此文件。# Tomato_Multimodal/data.yaml# 数据集根路径path:.# 训练集和验证集路径train:images/trainval:images/val# 类别数量nc:3# 类别名称 (顺序必须与你的 txt 标签中的 ID 对应)names:0:half1:immature2:ripe3. Python 训练脚本 (train.py)这段代码使用了ultralytics库支持自动加载预训练权重并进行迁移学习。fromultralyticsimportYOLOimportosdeftrain_tomato_model():# 1. 加载模型# 建议使用 yolov8n.pt 或 yolov8s.pt因为多模态数据量大小模型也能训练得很好# 如果是深度图建议增加训练轮数因为深度图纹理较少modelYOLO(yolov8n.pt)print( 开始训练番茄成熟度检测模型 (多模态)...)# 2. 开始训练resultsmodel.train(datadata.yaml,# 指定配置文件epochs300,# 训练轮数 (多模态建议 300)imgsz640,# 图像尺寸batch16,# 批次大小 (根据显存调整如 24G 显存可设 32)device0,# 使用 GPU (0号卡)若无 GPU 设为 cpuworkers8,# 数据加载线程数projectruns/train,# 结果保存目录nametomato_multimodal_v1,# 实验名称patience50,# 早停机制 (50轮无提升则停止)verboseTrue,# 显示详细日志# 针对深度图和红外图的特殊增强建议# 深度图通常缺乏纹理过多的马赛克增强可能会破坏几何信息# 如果效果不佳可以尝试关闭 mosaic (mosaic0.0)mosaic1.0,# 马赛克增强比例 (0-1)pretrainTrue# 加载预训练权重)print(f✅ 训练完成模型保存在: runs/train/tomato_multimodal_v1/weights/best.pt)if__name____main__:# 检查配置文件是否存在ifnotos.path.exists(data.yaml):print(❌ 错误找不到 data.yaml请检查路径。)else:train_tomato_model() 针对多模态数据的训练建议数据预处理直方图均衡化深度图和近红外图往往对比度较低。建议在训练前对 Depth 和 NIR 图片进行 CLAHE (限制对比度自适应直方图均衡化) 处理以增强果实边缘特征。伪彩色映射YOLO 默认处理 3 通道 RGB 图像。如果你的 Depth 或 NIR 是单通道灰度图训练脚本会自动将其复制 3 份作为输入或者你可以将其转换为伪彩色如 Jet 颜色映射以利用预训练模型的 RGB 特征提取能力。超参数调整由于包含深度信息目标通常具有较好的几何轮廓。如果发现模型对小目标远处番茄检测效果不好可以在model.train()中添加close_mosaic10参数即在最后 10 轮关闭马赛克增强专注于原始图像的边缘对齐。推理应用训练完成后你可以将 RGB、NIR 和 Depth 三张图片分别送入模型进行检测然后使用加权框融合算法将三个结果合并从而获得比单一模态更精准的定位结果。