本项目旨在展示如何配置可见光(visible)和红外光(infrared)数据集,以适配基于 YOLOv11 的多模态目标检测任务。通过3种不同的配置方法(目录配置和 TXT 文件配置),您可以轻松地将可见光数据集与红外光数据集关联起来。

在 YOLOv8 中,可见光(visible)目录需要符合数据集配置原则。同时,可见光目录同级别下必须存在红外光(infrared)目录。此外,数据集需要分为 train 和 val(可选)子目录,分别用于训练和验证。
以下是两种推荐的配置方法:
visible,以便程序自动替换为 infrared。ultralytics/data/base.py 中的 load_image 函数。将可见光和红外光数据分别存储在同级别的目录中,每个模态下分为 train 和 val 子目录。目录结构如下:
dataset/ # 数据集的根目录 ├── train/ # 存储训练集数据 │ ├── visible/ # 可见光图像相关数据 │ │ ├── images/ # 可见光图像文件 │ │ └── labels/ # 可见光图像的标签文件(如标注信息) │ └── infrared/ # 红外图像相关数据 │ ├── images/ # 红外图像文件 │ └── labels/ # 红外图像的标签文件(如标注信息) └── val/ # 存储验证集数据 ├── visible/ # 可见光图像相关数据 │ ├── images/ # 可见光图像文件 │ └── labels/ # 可见光图像的标签文件(如标注信息) └── infrared/ # 红外图像相关数据 ├── images/ # 红外图像文件 └── labels/ # 红外图像的标签文件(如标注信息) --------------------------------------------------------------------- # KAIST.yaml # train and val data as 1) directory: path/images/ train: dataset/train/visible/images # 7601 images val: dataset/val/visible/images # 2257 images # number of classes nc: 1 # class names names: [ 'person', ] -----------------------------------------------------------------------
程序会自动通过目录结构识别可见光和红外光数据。
二级目录下,将可见光和红外光数据分别存储在同级别的目录中,每个模态下分为 train 和 val 子目录。目录结构如下:
dataset/ ├── images/ │ ├── visible/ │ │ ├── train/ # 存储训练集的可见光图像 │ │ └── val/ # 存储验证集的可见光图像 │ └── infrared/ │ ├── train/ # 存储训练集的红外图像 │ └── val/ # 存储验证集的红外图像 └── labels/ ├── visible/ │ ├── train/ # 存储训练集的可见光图像标签 │ └── val/ # 存储验证集的可见光图像标签 └── infrared/ ├── train/ # 存储训练集的红外图像标签 └── val/ # 存储验证集的红外图像标签 --------------------------------------------------------------------- # KAIST.yaml # train and val data as 1) directory: path/images/ train: dataset/images/visible/train # 7601 images val: dataset/images/visible/val # 2257 images # number of classes nc: 1 # class names names: [ 'person', ] -----------------------------------------------------------------------
images/:存储所有图像数据。
visible/:包含可见光图像。
train/:用于模型训练的可见光图像。val/:用于模型验证的可见光图像。infrared/:包含红外图像。
train/:用于模型训练的红外图像。val/:用于模型验证的红外图像。labels/:存储所有图像的标签信息(例如标注文件、注释等)。
visible/:包含可见光图像的标签。
train/:用于训练集的可见光图像标签。val/:用于验证集的可见光图像标签。infrared/:包含红外图像的标签。
train/:用于训练集的红外图像标签。val/:用于验证集的红外图像标签。程序会自动通过目录结构识别可见光和红外光数据。
使用 TXT 文件指定数据路径。TXT 文件内容应包含可见光图像路径,程序会自动将其替换为对应的红外光路径。TXT 文件需要分别指定训练集和验证集的路径(YOLOv5,YOLOv8,YOLOv11 默认配置方法)。
dataset/ ├── images/ │ ├── visible/ # 存储 可见光图像 │ │ ├── image1.jpg │ │ └── image2.jpg │ │ └── ... │ └── infrared/ # 存储红外图像 │ ├── image1.jpg │ └── image2.jpg │ └── ... └── labels/ ├── visible/ # 存储可见光图像标签 │ ├── image1.txt │ └── image2.txt └── infrared/ # 存储红外图像标签 ├── image1.txt └── image2.txt --------------------------------------------------------------------- # VEDAI.yaml # 建议采用绝对路径 train: dataset/train.txt # 16551 images val: dataset/val.txt # 4952 images # number of classes nc: 9 # class names names: ['plane', 'boat', 'camping_car', 'car', 'pick-up', 'tractor', 'truck', 'van', 'others'] -----------------------------------------------------------------------
示例 TXT 文件内容:
train.txt
dataset/images/visible/image1.jpg dataset/images/visible/image2.jpg dataset/images/visible/image3.jpg
val.txt
dataset/images/visible/image4.jpg dataset/images/visible/image5.jpg dataset/images/visible/image6.jpg
程序会将路径中的 visible 替换为 infrared,从而找到对应的红外光图像。
在 ultralytics/data/base.py 中的 load_image 函数中,有一处代码会将可见光路径中的 visible 替换为 infrared。因此,只要确保可见光目录同级别下存在红外光目录,程序即可正确加载对应的红外光数据。
git clone https://github.com/wandahangFY/YOLOv11-RGBT.git
cd YOLOv11-RGBT
根据上述三种方法之一,配置您的数据集目录或 TXT 文件。
(建议直接采用本电脑上已经搭建好的YOLOv11或者YOLOv8环境,不必重新下载)
pip install -r requirements.txt
python train.py --data your_dataset_config.yaml
channels: 1 # (int) channels of model
use_simotm: SimOTMBBS # (str) Pretreatment method
4.1. train.py
train-rtdetr.py
train_Gray.py
train_RGBRGB.py
train_RGBT.py
运行测试脚本以验证数据加载是否正确:
python val.py
train 和 val 子目录。visible,以便程序自动替换为 infrared。ultralytics/data/base.py 中的 load_image 函数。以下是转换好的VEIAI, LLVIP, KAIST, M3FD数据集百度网盘链接如下(需要更改yaml文件里面的地址,如果采用txt文件来配置yaml文件,需要把txt文件里面的地址替换为自己的地址:记事本打开,Ctrl+H)。(另外,如有使用上述数据集,请正确引用原论文,如有侵权,请原作者联系,立即删除。)
百度网盘链接: 链接: https://pan.baidu.com/s/1xOUP6UTQMXwgErMASPLj2A 提取码: 9rrf
欢迎提交 PR 或 Issue,共同完善项目。 本项目为长期开源项目,后续也将继续免费更新,不用担心费用问题。

希望这份教程能帮助您快速启动项目!
YOLO-MIF: Improved YOLOv8 with Multi-Information fusion for object detection in Gray-Scale images
https://www.sciencedirect.com/science/article/pii/S1474034624003574
D. Wan, R. Lu, Y. Fang, X. Lang, S. Shu, J. Chen, S. Shen, T. Xu, Z. Ye, YOLOv11-RGBT: Towards a Comprehensive Single-Stage Multispectral Object Detection Framework, (2025). https://doi.org/10.48550/arXiv.2506.14696.
@misc{wan2025yolov11rgbtcomprehensivesinglestagemultispectral, title={YOLOv11-RGBT: Towards a Comprehensive Single-Stage Multispectral Object Detection Framework}, author={Dahang Wan and Rongsheng Lu and Yang Fang and Xianli Lang and Shuangbao Shu and Jingjing Chen and Siyuan Shen and Ting Xu and Zecong Ye}, year={2025}, eprint={2506.14696}, archivePrefix={arXiv}, primaryClass={cs.CV}, url={https://arxiv.org/abs/2506.14696}, }
感谢您对本项目的关注和支持。作者尽力提供最好的质量和服务,但仍然有很多需要改进之处。如果您发现任何问题或有任何建议,请告诉我。 另外,本项目目前由我个人维护,难免存在疏漏和错误。如果您发现了任何问题,欢迎提出建议和意见。
其余开源项目陆续在整理发布,后续请查看作者主页进行下载 主页