需求背景
在日常的目标检测的任务中,我们常常会遇到小目标需要进行检测。这里的“小目标分“两类:
- 小目标可能是由目标距离摄像头距离较远导致目标成像的像素较小
- 可能是由于目标本身就小造成的。
那么在进行目标检测的过程中,我们需要处理一些由于第一类造成的”小目标“进行检测,常用的一种手段就是图像平铺。(下述文章中,小目标即指由第一类原因造成的)。
如何制作
在制作小目标数据集之前,我们肯定是会以原始数据集进行制作(假定我们的原始数据集图像大小为:1920x1080),这里以单张图像为例子进行思路流程讲解。
我们拿到了一张原始图像以及xml标签文件,我们需要分别对img和xml进行处理,这里我将分开讲解。
处理img:
- 获取原始图像的size;
- 计算对原始图像的NewSize = size/3;
- 对原始图像进行resize处理(处理后的大小为NewSize);
- COPY9份数据为后面组成3x3网格数据做准备;
- 对COPY的每份数据可以进行不改变目标位置处理(例如:亮度、噪声和滤波);
- 拼接处理后的图像(拼接后的图像大小仍为size = (1920x1080))。
样图示例:
这样处理图像数据后我们不仅仅得到了小目标数据集,还对数据集进行了9倍的扩增同时也增加了数据的复杂度。
处理xml
- 读取xml文件;
- 解析xml中对应的img数据;
- 获取坐标并计算3x3网格中每一个目标的坐标;
- 对不同的坐标的label进行编写;
- 新建一个xml(同img名称)把数据写入。
注意事项: 这里需要注意的是当img中存在单个目标和多个目标进行解析的时候需要分类解析,这是两种不同的解析方法
后言
上述图像平铺的方法介绍到这里,经实验检测,具有一定的效果,后续改善化后,我再来告知大家。感谢大家阅读本文。