解决小目标检测常用手段——图像平铺

721 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第21天,点击查看活动详情

需求背景

  在日常的目标检测的任务中,我们常常会遇到小目标需要进行检测。这里的“小目标分“两类:

  1. 小目标可能是由目标距离摄像头距离较远导致目标成像的像素较小
  2. 可能是由于目标本身就小造成的。

  那么在进行目标检测的过程中,我们需要处理一些由于第一类造成的”小目标“进行检测,常用的一种手段就是图像平铺。(下述文章中,小目标即指由第一类原因造成的)。

如何制作

  在制作小目标数据集之前,我们肯定是会以原始数据集进行制作(假定我们的原始数据集图像大小为:1920x1080),这里以单张图像为例子进行思路流程讲解。

  我们拿到了一张原始图像以及xml标签文件,我们需要分别对img和xml进行处理,这里我将分开讲解。

处理img:

  1. 获取原始图像的size;
  2. 计算对原始图像的NewSize = size/3;
  3. 对原始图像进行resize处理(处理后的大小为NewSize);
  4. COPY9份数据为后面组成3x3网格数据做准备;
  5. 对COPY的每份数据可以进行不改变目标位置处理(例如:亮度、噪声和滤波);
  6. 拼接处理后的图像(拼接后的图像大小仍为size = (1920x1080))。

样图示例:

Litte000368.jpg

这样处理图像数据后我们不仅仅得到了小目标数据集,还对数据集进行了9倍的扩增同时也增加了数据的复杂度。

处理xml

  1. 读取xml文件;
  2. 解析xml中对应的img数据;
  3. 获取坐标并计算3x3网格中每一个目标的坐标;
  4. 对不同的坐标的label进行编写;
  5. 新建一个xml(同img名称)把数据写入。

注意事项: 这里需要注意的是当img中存在单个目标和多个目标进行解析的时候需要分类解析,这是两种不同的解析方法

后言

上述图像平铺的方法介绍到这里,经实验检测,具有一定的效果,后续改善化后,我再来告知大家。感谢大家阅读本文。