【论文理解】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的方式

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

相关文章
|
机器学习/深度学习 算法 PyTorch
论文阅读笔记 | 目标检测算法——DETR
论文阅读笔记 | 目标检测算法——DETR
927 0
论文阅读笔记 | 目标检测算法——DETR
|
机器学习/深度学习 编解码 算法
【计算机视觉 | 目标检测】arxiv 计算机视觉关于目标检测的学术速递(8 月 9 日论文合集)
【计算机视觉 | 目标检测】arxiv 计算机视觉关于目标检测的学术速递(8 月 9 日论文合集)
|
机器学习/深度学习 自动驾驶 数据可视化
【计算机视觉 | 目标检测】arxiv 计算机视觉关于目标检测的学术速递(8 月 11 日论文合集)
【计算机视觉 | 目标检测】arxiv 计算机视觉关于目标检测的学术速递(8 月 11 日论文合集)
|
机器学习/深度学习 人工智能 算法
【计算机视觉 | 目标检测】arxiv 计算机视觉关于目标检测的学术速递(8 月 10 日论文合集)(下)
【计算机视觉 | 目标检测】arxiv 计算机视觉关于目标检测的学术速递(8 月 10 日论文合集)(下)
|
传感器 计算机视觉
【论文解读】单目3D目标检测 DD3D(ICCV 2021)
本文分享单目3D目标检测,DD3D 模型的论文解读,了解它的设计思路,论文核心观点,模型结构,以及效果和性能。
615 1
|
机器学习/深度学习 数据可视化 计算机视觉
【论文解读】单目3D目标检测 CUPNet(ICCV 2021)
本文分享单目3D目标检测,CUPNet 模型的论文解读,了解它的设计思路,论文核心观点,模型结构,以及效果和性能。
141 0
|
机器学习/深度学习 存储 运维
【计算机视觉 | 目标检测】arxiv 计算机视觉关于目标检测的学术速递(8 月 14 日论文合集)
【计算机视觉 | 目标检测】arxiv 计算机视觉关于目标检测的学术速递(8 月 14 日论文合集)
|
机器学习/深度学习 编解码 运维
【计算机视觉 | 目标检测】arxiv 计算机视觉关于目标检测的学术速递(8 月 8 日论文合集)
【计算机视觉 | 目标检测】arxiv 计算机视觉关于目标检测的学术速递(8 月 8 日论文合集)
|
编解码 人工智能 自动驾驶
YOLOX详细解读(一)论文解读
YOLOX详细解读(一)论文解读
512 0
|
算法 API 计算机视觉
【OpenVI—论文解读系列】榜首模型人脸检测MogFace CVPR论文深入解读
人脸检测算法是在一幅图片或者视频序列中检测出来人脸的位置,给出人脸的具体坐标,一般是矩形坐标。
374 0