使用新版FLIR (FLIR_ADAS_v2) 红外数据集训练基于pytorch的YOLOv7模型

简介

  • 今年7月份YOLOv7发布,其识别速度和准确度在5 FPS 到 160 FPS范围内远超目前已知的目标检测器
  • FLIR在2022.1.19发布了新版的FLIR_ADAS_v2,相较于上一代的FLIR_1_3,新版有着更多的类别和数量更丰富的图像。
  • 现有的博客中关于新版FLIR的使用教学少只有少,加上暑假期间曾使用FLIR_ADAS_v2来训练模型以提高其对红外热图像的识别能力,便决定记录分享一下。
  • 本文章主要介绍如何使用FLIR_ADAS_v2中的thermal image来训练基于pytorchYOLOv7模型
  • 若有不足,也欢迎大家指正批评

FLIR_ADAS_v2数据集下载

我用夸克网盘分享了「FLIR_ADAS_v2.zip」,点击链接即可保存。打开「夸克APP」,无需下载在线播放视频,畅享原画5倍速,支持电视投屏。
链接:https://pan.quark.cn/s/6ce060c06196

YOLOv7模型下载

数据集的预处理

将单个json文件转换为多个xml文件

 将多个xml文件转换为YOLO所需的txt文件并分类

 查看标注情况

  • 可以根据以下代码查看数据集的标注情况

根据YOLO标注文件 生成标注图像icon-default.png?t=N5K3https://blog.csdn.net/Jiuyee/article/details/131495008

如果转换有问题或者转换失败可以参考我转换的数据集 

  • xml_share文件夹存储了所有转换好的xml文件
  • dataPreProcess压缩包中存的是相关的txt标签以及所有用到的转换代码

我用夸克网盘分享了「FLIR_ADAS_v2」,点击链接即可保存。打开「夸克APP」,无需下载在线播放视频,畅享原画5倍速,支持电视投屏。
链接:https://pan.quark.cn/s/d0b14ace3bfd
提取码:uqar

设置YOLOv7

数据集导入YOLOv7

  • 在YOLOv7项目文件夹中新建文件夹并命名(笔者以data4为例)

  •  将预处理完后的images文件夹labels文件夹复制到新建文件夹下

获得list文件 

  • 相较于YOLOv5,YOLOv7需要在数据集中提供单独的train_list.txt文件val_list.txt文件,以提供图片的路径
  • 内容如所示

  •  大家可写一个小代码,使用os库从文件夹中读取图片名称并写入到txt文件中
  • 在这里提供笔者所写的
    import os
    
    train_path = r"data4/images/train/"
    val_path = r"data4/images/val/"
    
    out = r"data4/"
    
    train = os.listdir(train_path)
    val = os.listdir(val_path)
    
    for i in train:
        with open(out+'train_list.txt', 'a+') as f:
            f.write("data4/images/train/"+ i + '\n')
    
    for i in val:
        with open(out+'val_list.txt', 'a+') as f:
            f.write("data4/images/val/"+ i + '\n')
  • txt文件放到新建文件夹

  • 注:cache文件为训练时生成,图中所示不用理会 

设置类文件

  • data文件夹下复制coco.yaml,并命名为flir.yaml

  •  将trainval路径设置为对应txt文件路径

  • 根据自己需求修改类的数量和名称

更改train.py参数

  •  更改yaml路径,将其设置为创建的flir.yaml文件位置

  • 根据自己需求和电脑性能设置epochsworkerscudabatch_size等参数

开始训练

运行train.py

 结果分析

  • 开始训练后,在runs->train->exp文件夹中可查看各种训练结果

 

使用训练好的权重进行图像识别

  • 打开detect.py
  • 将需要进行图像识别的图像放入inference->images

  • runs->train->exp->weights中选择权重并设置路径

  •  运行detect.py

识别结果

 

总结

  • 相较于Faster RCNN、Efficientdet、YOLOv5等模型,YOLOv7展现出了强大的识别精确度和识别速度,并且有着较短的训练时间和更低的loss
  • 只能说AB大佬NB!

相关推荐

使用新版FLIR (FLIR_ADAS_v2) 训练Faster RCNN模型https://blog.csdn.net/Jiuyee/article/details/127316297

  • 15
    点赞
  • 88
    收藏
    觉得还不错? 一键收藏
  • 37
    评论
### 回答1: FLIR红外数据集是一个广泛使用的用于训练物体检测模型数据集,其中包含了各种各样的红外图像。而Yolo是一种用于物体识别和检测的机器学习模型,它可以在很短的时间内检测出图像中的物体。 如果要将FLIR红外数据集转换为Yolo格式,需要进行以下步骤: 1. 对FLIR数据集中的图像进行预处理,并将其转换为Yolo所需的格式。这可能需要对图像进行剪裁、缩放和大小调整等操作。 2. 为每个图像中出现的物体标记出其位置和类别。这可以通过手动标注或使用自动化工具完成。(对比一下,我这里可以举一个类似的例子:将图像数据集转换为Yolo形式的步骤。) 3. 将标注数据保存为Yolo数据集格式,并生成训练和验证文件。 4. 进行训练,调整模型参数并在FLIR红外数据集上测试。 5. 评估模型性能,进一步优化算法。 总之,将FLIR红外数据集转换为Yolo需要进行数据预处理、标注和模型训练等多个步骤。及时的数据处理对于后续的模型训练有很大的影响,因此需要仔细考虑数据的格式和标注方式。 ### 回答2: Flir红外数据集是由FLIR Systems Inc.提供的一个用于红外热成像数据研究的数据集。该数据集包含多个红外热成像图像,每个图像都有相应的标注信息,可以用于训练热成像图像识别模型。 转换FLIR红外数据集YOLO格式是将数据集转换为适合YOLO目标检测算法的格式。首先,需要将原始的FLIR红外数据集转换成标准的VOC格式,包含带有标记的图像,使用OpenCV和Image labeled工具可以完成此项任务。然后使用脚本将VOC格式的数据集转换为YOLO格式,并生成相应的训练集、验证集、测试集。 将FLIR红外数据集转换为YOLO格式的关键是要正确标记每张图像中的目标。可以使用多种工具进行目标标注,例如LabelImg。标注时,需要注意每个目标的类别、位置和大小信息。完成标注后,可以使用脚本将标注数据集转换成YOLO需要的格式。 转换后的数据集可以用于训练YOLO目标检测模型,该模型可以用于热成像目标检测,如人体、车辆和动物等。使用模型可以有效地检测热成像图像中的目标,同时能够应对各种不同的环境和场合。 ### 回答3: Flir红外数据集是用于红外图像识别的一个数据集,这个数据集中包含了大量的红外图像。要将这个数据集转换为Yolo格式,需要进行一些步骤。首先,需要准备数据集并将其标记。标记的过程需要使用专业的标记工具,例如labelImg等。然后,在将数据转换为Yolo格式之前,需要对数据进行预处理。预处理包括对图像进行缩放、旋转等操作,以使其符合Yolo格式的要求。最后,将处理后的数据集转换为Yolo格式。转换的过程需要使用脚本或工具,例如Darkflow等。转换完成后,就可以将数据集用于Yolo训练。总的来说,将Flir红外数据集转换为Yolo格式需要一定的技术和经验,但是这个过程可以帮助我们更好地应用红外图像识别技术。
评论 37
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值