如何训练自己处理好的的数据集之—红外可见光无人机检测数据集 双模态红外可见光无人机检测数据集
如何训练自己处理好的的数据集之—红外可见光无人机检测数据集 双模态红外可见光无人机检测数据集文章目录数据集概览数据准备与组织结构1. 数据目录结构2. 创建 data_rgb.yaml 和 data_ir.yaml 文件环境搭建模型训练使用命令行进行训练训练可见光数据集训练红外数据集参数说明推理与结果展示单张图像推理视频流实时检测性能评估模型导出可选进一步优化与部署可见光RGB和红外IR的无人机检测数据集两种数据集是对应上的可见光或者红外均有5019张训练集和1233张验证集。来源于开源数据集anti-uav310数据集格式已转化为yolo格式可直接训练有训练好的模型直接训练两种数据集相对应可见光或者红外均有5019张训练集1233张验证集已转化为yolo格式可直接训练模型红外可见光无人机数据集 红外无人机数据集 可见光无人机数据集可见光RGB与红外IR无人机检测数据集介绍数据集概述可见光RGB和红外IR的无人机检测数据集两种数据集是对应上的可见光或者红外均有5104张训练集和2209张验证集和2203张测试集。来源于开源数据集anti-uav300对视频进行了20抽帧。仅收取整理费用。yolo格式可直接训练训练指标具体如图map50-95为0.657的是红外map50-95为0.713的是可见光YOLOv8训练一个针对可见光RGB和红外IR无人机检测的数据集你可以按照以下步骤进行。假设你的数据集已经转换为 YOLO 格式并且分为训练集和验证集。代码示例仅供参考。数据集概览图像总数: 可见光和红外图像各有 5019 张训练集和 1233 张验证集。标注格式: YOLO txt 文件每个图像对应一个.txt文件类别: 假设只有一个类别drone如果有更多类别请根据实际情况调整。数据准备与组织结构1. 数据目录结构确保同学你的数据集按如下结构组织anti_uav310_dataset/ ├── rgb/ │ ├── images/ │ │ ├── train/ │ │ └── val/ │ └── labels/ │ ├── train/ │ └── val/ └── ir/ ├── images/ │ ├── train/ │ └── val/ └── labels/ ├── train/ └── val/每个图像文件都有对应的.txt文件内容格式为class_id x_center y_center width height其中class_id 0表示drone2. 创建data_rgb.yaml和data_ir.yaml文件创建两个名为data_rgb.yaml和data_ir.yaml的配置文件分别用于描述可见光和红外数据集的路径和类别信息data_rgb.yamltrain:anti_uav310_dataset/rgb/images/train/val:anti_uav310_dataset/rgb/images/val/nc:1names:[drone]data_ir.yamltrain:anti_uav310_dataset/ir/images/train/val:anti_uav310_dataset/ir/images/val/nc:1names:[drone]环境搭建安装 Ultralytics YOLOv8 环境# 克隆仓库gitclone https://github.com/ultralytics/ultralytics.gitcdultralytics# 安装依赖pipinstall-rrequirements.txt模型训练使用命令行进行训练选择分别对可见光和红外数据集进行训练也可以尝试联合训练如果模型支持多模态输入。这里我们先介绍如何分别训练两个数据集。训练可见光数据集yolo traindatadata_rgb.yamlmodelyolov8s.ptepochs100batch16imgsz640训练红外数据集yolo traindatadata_ir.yamlmodelyolov8s.ptepochs100batch16imgsz640参数说明参数含义data数据集配置文件路径model使用的预训练模型权重如 yolov8n/s/m/l/xepochs总训练轮次batch批大小根据显存调整imgsz输入图像尺寸默认640x640推理与结果展示单张图像推理fromultralyticsimportYOLO# 加载最佳模型model_rgbYOLO(runs/train/exp/weights/best_rgb.pt)# 可见光模型model_irYOLO(runs/train/exp/weights/best_ir.pt)# 红外模型# 推理单张图像results_rgbmodel_rgb(test_images/rgb_image.jpg)results_irmodel_ir(test_images/ir_image.jpg)# 显示结果forrinresults_rgb:print(r.boxes)# 输出预测框信息annotated_imgr.plot()cv2.imshow(RGB Detection,annotated_img)cv2.waitKey(0)forrinresults_ir:print(r.boxes)# 输出预测框信息annotated_imgr.plot()cv2.imshow(IR Detection,annotated_img)cv2.waitKey(0)视频流实时检测defdetect_video(source,model):capcv2.VideoCapture(source)whilecap.isOpened():ret,framecap.read()ifnotret:breakresultsmodel(frame)annotated_frameresults[0].plot()cv2.imshow(Real-time Detection,annotated_frame)ifcv2.waitKey(1)27:# ESC键退出breakcap.release()cv2.destroyAllWindows()# 调用函数detect_video(path/to/rgb_video.mp4,model_rgb)detect_video(path/to/ir_video.mp4,model_ir)性能评估使用验证命令评估 mAP、Recall、Precision 等指标# 对于可见光数据集yolo valdatadata_rgb.yamlmodelruns/train/exp/weights/best_rgb.ptimgsz640# 对于红外数据集yolo valdatadata_ir.yamlmodelruns/train/exp/weights/best_ir.ptimgsz640输出包括mAP0.5mAP0.5:0.95Precision / Recall 曲线F1-score模型导出可选将模型导出为 ONNX、TensorRT 或 OpenVINO 等格式以便部署# 导出可见光模型yoloexportmodelruns/train/exp/weights/best_rgb.ptformatonnx# 导出红外模型yoloexportmodelruns/train/exp/weights/best_ir.ptformatonnx支持格式onnx,engine,coreml,tflite,pb,pt等进一步优化与部署根据验证结果你可能需要进一步调整模型超参数或尝试不同的模型架构以获得更好的性能。此外考虑将模型导出为适合边缘设备的格式以便在实际应用中部署。