YOLT

tech2024-10-01  21

简介

YOLT是基于YOLO算法进行改进的高效卫星图像目标检测算法,主要针对高分辨率输入和密集小物体进行了优化。

在YOLO的基础上提出了一种两阶段的算法架构,不仅可以适应多尺度的检测,同时达到了F1>0.8的结果,最后还探究了分辨率和物体大小对于检测的影响,并发现只需要五个像素的大小就可以实现目标检测。文章主要从深度学习对于卫星图像目标检测的缺陷出发,提出了改进的细粒度的目标检测网络结构。同时为了解决检测不变性的问题进行了大量的数据增强。

卫星图像存在的挑战

· 空间范围较小:在卫星图像中,感兴趣的物体相对尺寸都很小而且常常聚拢在一起,与ImageNet数据集中大范围的显著物体大不相同。同时物体的分辨率主要由地面采样距离决定,它定义了每个像素对应的物理长度。通常情况下卫星运行的高度是350km左右,最清晰的商用卫星图像可以达到30cm的GSD(每个像素对应30cm),而普通的数字卫星影响只能达到3-4m的分辨率了。所以对于车辆、船只这样的小物体来说可能只有10多个像素来描述;

· 卫星图像中的物体具有各个方位的朝向,而ImageNet数据集中大多是竖直方向的,需要检测器具有旋转不变性;

· 训练数据的缺乏,对于卫星图像缺乏高质量的训练数据,虽然SpaceNet已经进行了一系列有益的工作;

· 极高的图像分辨率,与通常输入的小图片不同,卫星图像动辄上亿像素,简单的将采样方法对于卫星图像处理无法适用。

研究人员对数据进行了旋转和HSV的随机增强,是算法对于不同传感器、大气条件和光照条件具有更强的鲁棒性。

提出了利用区域图像作为输入。

下图中对比了原始图像和其中的图像片输入网络后的结果。全尺寸的网络几乎无法得到任何结果(下采样后图片分辨率损失),而图像片(像素数小于32)得到的结果也不尽如人意。

网络改进

首先研究人员们对算法架构进行了改造,将网络结构改成了22层和16的降采样因子,416416的像素输入后能得到2626的输出栅格,通过这样的技术来优化网络对于小物体、密集排布的检测效果。更密集的预测栅格对于停车场车辆和码头船只的检测十分重要。同时为了提高小物体的保真度,引入了一个直通层将最后52*52的直通层和最后一个卷基层进行组合,使得检测器可以通过拓展特组图发现更多细粒度的特征。

卷积网络中的神经元都使用批量归一化和LeakyRelu激活,最后一层使用线性激活函数。最后输出的结果N=Nboxes*(Nclass+5),每一个bbox包含四个坐标和一个包含物体的概率,以及属于每类物体的概率。

训练数据

由于在卫星图像处理中,主要关注飞机、轮船、建筑平面、汽车和机场,它们的尺度各不相同。研究人员训练了两个不同尺度的检测器来进行目标检测。

汽车数据集使用了COWC数据集,基于15cm的GSD尺度。为了与目前商用卫星图像的30cm尺度一致,利用高斯核对图像进性了处理,并在30cmGSD的尺度上为每辆车标注3m的边框,共13303个样本;

建筑平面基于SpaceNet的数据在30cmGSD尺度下标注了221336个样本;

飞机利用八张GigitalGlobe的图片标注了230个样本;

船只利用三张GigitalGlobe的图片标注了556个样本;

机场利用37张图片作为训练样本,其中包含机场跑道,并进行4比例的降采样。

测试

为了对测试图像的结果,研究人员们使用智能图像分割将原始图像按照15%的重叠率切分成一系列子图,并按照如下的格式进行位置标注:

将每一张图像送入模型后,得到的结果再更具上面的位置标记恢复到完整的图像中显示。

最新回复(0)