【论文理解】ICCV2021-视频中小目标检测Dogfight

简介: 论文地址:https://arxiv.org/abs/2108.02092目标:在无人机飞行过程中捕获的背景杂乱的画面中检测其他无人机挑战:任意的移动(相机移动,目标也移动)小尺寸,只占画面像素的0.05%~0.07%(PASCAL VOC (22.62%) and ImageNet (19.94%))形状变换(拍摄角度不同,拍摄的无人机形状不同)遮挡基于region-proposal的方法无法捕

论文地址:https://arxiv.org/abs/2108.02092

目标:

在无人机飞行过程中捕获的背景杂乱的画面中检测其他无人机

挑战:

  • 任意的移动(相机移动,目标也移动)
  • 小尺寸,只占画面像素的0.05%~0.07%(PASCAL VOC (22.62%) and ImageNet (19.94%))
  • 形状变换(拍摄角度不同,拍摄的无人机形状不同)
  • 遮挡

基于region-proposal的方法无法捕捉到有足够区分力前景背景信息。

由于目标尺寸非常小,且具有复杂的移动特性,基于feature aggregation的方法表现也不好。

解决方案:

采用设计了两阶段的方法,并且引入了spatio-temporal attention。

第一阶段:针对每帧进行目标检测

分割网络,对无人机进行检测定位

(1)原始图像如果resize成小尺寸,则无人机可能只占1~2像素,严重影响检出。因此将图像切分成若干有重叠的区域(overlapping frame regions),每个区域都经过深度残差网络获取特征图

(2)为保持局部信息,对resnet50进行修改。

提取resnet的4个block的特征,并进行拼接(resize到统一尺度),最后用1X1的卷积压缩到原始特征尺度。

然后采用金字塔池化生成4个不同分辨率的特征图,再通过上采样后进行拼接。

然后使用channel-wise attention和pixel-wise attention来提升无人机定位准确度。

channel-wise attention:

目的是给不同的channel分配权重,提取有价值的channel,抑制无价值的channel。

最终attention vector与卷积得到的特征层(channels=512)进行乘积运算。

pixel-wise attention:

目的是给重要的位置更高的权重,给没有目标的区域更小的权重。

pixel-wise attention网络得到的是pixel-wise mask,mask与conv feature之间进行element-wise乘积。

pixel-wise可视化效果(提取的是哪层的feature map?

Loss

无人机检测问题:

  • 数据集存在严重的正负样本不均衡问题。
  • 目标很小,检测结果偏差1~2个像素都有可能导致IOU<0.5

方案:

focal loss + Distance-IOU + smooth-L1

focal loss : 解决样本不均衡

Distance-IOU: 不仅能够最小化检测结果与GT之间的IOU,同时优化两个box之间的中心距离。

smooth-L1: 用于训练pixel-wise注意力网络。

第二阶段:利用时空信息调优

refine第一阶段检测结果,并且尝试发掘漏检的无人机。

使用移动边界来发掘新的无人机位置。

使用前后N帧画面,对检出的结果进行跟踪

然后从这些跟踪结果中提取cuboid,送入3D卷积神经网络来提取时空特征。

使用pixel-wise attention和channel-wise attention来加强特征图来提升无人机定位准确度。

Motion boundaries

由于移动信息包含了相机移动和目标移动,简单的光流不够有效,本文使用光流梯度捕获移动信息。

给定3帧相邻的图像,使用关键点检测以及前向光流和后向光流,然后最大化3帧的移动梯度

该方法的问题:

检出最大边界响应,不能全部覆盖无人机

由于光流计算的潜在近似性,光流梯度幅值的最大值与移动无人机不完全匹配

为了解决这个问题,本文扩展了运动边界,然后使用条件随机获取更好的候选位置。

Cuboids formation

已经通过stage-1获得了无人机候选区域,同时采用运动边界获得了新的候选区域,接下来从所有候选无人机位置中提取时空特征。

针对每个候选区域初始tracker,由于无人机目标小且还存在相机移动问题,可能在很短几帧内目标位置就出现明显偏移,因此设定轨迹长度为8帧。

跟踪策略是3帧前向,3帧后向。(Note that tracking is done after the motion stabilization of the corresponding eight frames

为了上下文信息捕捉以及轨迹漂移补偿,针对每个跟踪目标从原始视频帧中提取N X N patches,组成N * N * 8的cuboid。

然后针对每个cuboid ,使用Inflated-3D网络提取时空特征(I3D具有快速,内存占用少,获取时空信息的能力强等特点)

为了与标准的I3D输入尺寸保持一致,把N*N*8 resize到224*224*8

在倒数第三层使用3D conv,得到14*14*480,然后采用线性插值resize到60*60*480(与stage1 resnet的输出保持一致)。

然后采用2D conv把维度调整为60*60*2048.(也尝试了超分辨率方法,但实验发现没有提升)

每个cubiod的时空卷积特征进行聚合,随后接入与stage-1相同的attention模块。

loss也与stage-1一致。

结果:

实施细节

stage-1: 

NPS-Drones数据集:将每帧图片切分成9个overlapping patches

FL-Drones:将每帧图片切分成4个overlapping patches

end-to-end从零训练

stage-2

采用预训练的I3D网络

NPS-Drones数据集:cuboid中每个patch的尺寸为100*100

FL-Drones:cuboid中每个patch的尺寸由无人机目标的尺寸决定

Adam优化器

初始lr=0.001,无decay

采用最大最小尺寸阈值对候选框进行筛选

采用hard-negative mining

后处理阶段,移除值检测到一次的目标。

评估指标:

precision, recall, F1-score,AP

每帧图片作为独立的样本进行评估

数据集

NPS-Drones

50 videos, 分辨率(1920×1080 and 1280×760),采用GoPro-3采集

总画面帧数为:70250

画面中无人机尺寸:最小(10 × 8),平均( 16.2 × 11.6), and最大( 65 × 21)

和FL-Drones

前40个视频为训练集,最后10个位测试集

FL-Drones:

这个数据集难度更大,因为目标存在极端遮挡,更多的姿态和尺寸变化,包含室内和室外样本

14 videos, 分辨率(640×480 and 752×480)

总画面帧数为:38948

画面中无人机尺寸:最小(9 × 9),平均( 25.5 × 16.4), and最大( 259 × 197)

一半用来训练,一半用来测试

由于这俩数据集中的标注框比实际目标大,作者对这两个数据集进行了重新标注。

与SOTA对比

参与对比的方法

  • 全卷积一阶段的目标检测FCOS:fully convolutional one-stage object detector [36], 
  • 小目标检测器SCRDet: cluttered and rotated small object detector [42], 
  • 实例分割Mask-RCNN: instance segmentation [13], 
  • 视频目标检测MEGA, SLSA,video object detectors [7, 39].

baseline的方法都是使用开源的预训练模型,训练iterations在8W~10W之间,使用一个1080Ti训练。

消融试验ablation studies

第一行只是用cross-entropy loss

第二行结合了focal loss和distance-IOU

第三行使用了channel-wise attention

第四行使用了pixel-wise attention

最后两行是指只有一个阶段,和使用两个阶段

第二阶段能够发现识别困难的无人机

检测失败的case

总结评价:

本文设计了一个two-stage的方法对无人机飞行拍摄画面中的其他无人机进行检测。本文并没有使用region-proposal的方法,而是使用了基于分割的方法,并且加入了pixel and channel-wise attention来提高无人机检测定位精度。同时还是用了motion信息提高召回率。

整个方法的算法复杂度是很高的,主要在于:

(1)在stage-1阶段,每帧图片都要分成9patches or 4 patches,每个patch单独进行resnet50特征提取

(2)在stage-2阶段,每个目标生成一个N*N*8的cubiod,每个cubiod需要单独的I3D处理

(3)非end2end的方式

不过这个任务难度也是非常大,本文实现的效果已经非常理想了。

相关文章
|
机器学习/深度学习 编解码 固态存储
超轻目标检测 | 超越 NanoDet-Plus、YOLOv4-Tiny实时性、高精度都是你想要的!
超轻目标检测 | 超越 NanoDet-Plus、YOLOv4-Tiny实时性、高精度都是你想要的!
1061 0
超轻目标检测 | 超越 NanoDet-Plus、YOLOv4-Tiny实时性、高精度都是你想要的!
|
8月前
|
计算机视觉
YOLOv11改进策略【模型轻量化】| 使用 MoblieOne 模块,引入结构重参数化,提高模型检测效率
YOLOv11改进策略【模型轻量化】| 使用 MoblieOne 模块,引入结构重参数化,提高模型检测效率
460 12
|
12月前
|
机器学习/深度学习 人工智能 文字识别
ultralytics YOLO11 全新发布!(原理介绍+代码详见+结构框图)
本文详细介绍YOLO11,包括其全新特性、代码实现及结构框图,并提供如何使用NEU-DET数据集进行训练的指南。YOLO11在前代基础上引入了新功能和改进,如C3k2、C2PSA模块和更轻量级的分类检测头,显著提升了模型的性能和灵活性。文中还对比了YOLO11与YOLOv8的区别,并展示了训练过程和结果的可视化
17852 0
|
机器学习/深度学习 传感器 监控
红外小目标检测:基于深度学习
本文介绍了红外小目标检测技术的优势、基本原理及常用方法,包括背景抑制、滤波、模型和深度学习等,并探讨了多传感器融合的应用。通过一个基于深度学习的实战案例,展示了从数据准备到模型训练的全过程。最后,文章展望了该技术在军事、安防、交通等领域的广泛应用及未来发展趋势。
|
机器学习/深度学习 编解码 算法
YOLOv8改进 | 主干网络 | 增加网络结构增强小目标检测能力【独家创新——附结构图】
YOLOv8在小目标检测上存在挑战,因卷积导致信息丢失。本文教程将原网络结构替换为更适合小目标检测的backbone,并提供结构图。通过讲解原理和手把手教学,指导如何修改代码,提供完整代码实现,适合新手实践。文章探讨了大特征图对小目标检测的重要性,如细节保留、定位精度、特征丰富度和上下文信息,并介绍了FPN等方法。YOLOv8流程包括预处理、特征提取、融合和检测。修改后的网络结构增加了上采样和concatenate步骤,以利用更大特征图检测小目标。完整代码和修改后的结构图可在文中链接获取。
|
机器学习/深度学习 计算机视觉 网络架构
【YOLOv8改进 - 注意力机制】HCF-Net 之 PPA:并行化注意力设计 | 小目标
YOLO目标检测专栏介绍了HCF-Net,一种用于红外小目标检测的深度学习模型,它通过PPA、DASI和MDCR模块提升性能。PPA利用多分支特征提取和注意力机制,DASI实现自适应特征融合,MDCR通过多层深度可分离卷积细化空间特征。HCF-Net在SIRST数据集上表现出色,超越其他方法。论文和代码分别在[arxiv.org](https://arxiv.org/pdf/2403.10778)和[github.com/zhengshuchen/HCFNet](https://github.com/zhengshuchen/HCFNet)上。YOLOv8的PPA类展示了整合注意力机制的结构
|
机器学习/深度学习 编解码 监控
【aiy篇】小目标检测综述
【aiy篇】小目标检测综述
814 2
|
人工智能 安全 搜索推荐
探索操作系统的未来发展:以人工智能为驱动力
【5月更文挑战第23天】随着科技的飞速发展,人工智能(AI)已经成为了当今社会的热门话题。在众多领域中,操作系统作为计算机系统的核心,其发展也受到了AI的影响。本文将探讨AI如何推动操作系统的发展,以及未来可能出现的新型操作系统特性。我们将重点关注AI在性能优化、安全性、用户体验等方面的应用,并展望操作系统在AI驱动下的未来趋势。
|
机器学习/深度学习 传感器 编解码
万字长文 | 多目标跟踪最新综述(基于Transformer/图模型/检测和关联/孪生网络)(上)
随着自动驾驶技术的发展,多目标跟踪已成为计算机视觉领域研究的热点问题之一。MOT 是一项关键的视觉任务,可以解决不同的问题,例如拥挤场景中的遮挡、相似外观、小目标检测困难、ID切换等。为了应对这些挑战,研究人员尝试利用transformer的注意力机制、利用图卷积神经网络获得轨迹的相关性、不同帧中目标与siamese网络的外观相似性,还尝试了基于简单 IOU 匹配的 CNN 网络、运动预测的 LSTM。为了把这些分散的技术综合起来,作者研究了过去三年中的一百多篇论文,试图提取出近年来研究者们更加关注的解决 MOT 问题的技术。
万字长文 | 多目标跟踪最新综述(基于Transformer/图模型/检测和关联/孪生网络)(上)
|
算法 Go vr&ar
YOLOv8模型yaml结构图理解(逐层分析)
YOLOv8模型yaml结构图理解(逐层分析)
16940 0