YOLOV5 模型和代码修改——针对小目标识别(红外小目标)

一、简述

最近忙于各种奇奇怪怪的杂事,仔细一看居然有四个月没有写微博了,罪恶……
这次主要是针对航拍的红外图像做定向识别,项目实际识别目标由于保密的原因不能展示,博客里面仅用车辆和行人进行说明。

红外图像相比于三通道可见光图像,其边缘和细节信息更加模糊,但是最重要的难点在于目标在不同场景不同时间下表现的特征是完全不同甚至截然相反的
比如一辆car在停着的时候轮胎是偏黑色(因为温度低,无热辐射),但在路上行驶时由于与地面摩擦,其热辐射很高。
再比如晚上和白天温差较大,其车身各部分由于吸热能力不同,呈现的细节特征也是完全不同的。
在数据集较少时,这很不利于泛化。
举个栗子:
YOLOV5 模型和代码修改——针对小目标识别(红外小目标)_第1张图片
白天停着的车
YOLOV5 模型和代码修改——针对小目标识别(红外小目标)_第2张图片
晚上行驶中的车

二、数据集准备

这次博客里的数据集基于我们以前自己采集和标注的红外图像,只有car和people两类,由于红外图像在晚上可见光不足时更能体现优势,因此分为白天组和晚上组。
YOLOV5 模型和代码修改——针对小目标识别(红外小目标)_第3张图片

三、模型

这次红外小目标检测仍然是基于上一篇模型的框架,仅针对细节做了修改。
传送门:YOLOV5 模型和代码修改——针对小目标识别

四、测试结果


四、后续改动思路

1.基于知识的网络

前文提到,在红外传感器眼中,不同时间以及目标的不同状态下,目标的特征是完全不同甚至相反的,上述过程,这个网络其实是没有针对这一点做网络的改动的,主要原因是针对特定目标的红外航拍图像训练集较少,其与可见光差别较大,也无法做迁移学习,因此只能采取重新训练的办法,而数据较少时,网络对完全不同性状的目标被分成同一类会比较费解。
因此在训练集规模不足时,考虑使用基于知识的网络,即先人为区分不同的使用场景(主要针对对目标热辐射影响最明显的场景,常见的有当前温度,目标运动状态等),对特征提取层的后几层进行分支化处理,在测试任务时,输入图片的同时输入其状态信息(温度、运动状态),根据目标状态信息选择某个特征提取分支进入,来针对性做识别,这样可以提高准确度,不会出现强迫模型把 两个特征完全相反的目标 化为一类的情况。

2.小目标的xywh重要程度占比

项目主要针对航拍小目标做处理,在小目标检测时,由于检测框本身就比较小,这次我们的训练及分布如下图,因此实际上wh的精度并不重要,我们更加关注定位的准确度,即图像中心点的位置xy。因此可以考虑对损失函数进行修改,增加xy损失的占比,降低wh的占比,来提高网络对定位精度的重视程度。
YOLOV5 模型和代码修改——针对小目标识别(红外小目标)_第4张图片

你可能感兴趣的:(计算机视觉,自动驾驶,人工智能)