【TCSVT22】Pareto Refocusing for Drone-view Object Detection【航拍目标检测】

news2024/11/18 23:22:51

论文与代码

论文地址: https://ieeexplore.ieee.org/document/9905640/
代码地址:未开源

背景与动机

作者认为阻碍航拍场景目标检测发展的原因主要有以下两个:

航拍图像中存在大量困难目标,文中作者把困难目标总结为小目标和遮挡的目标。

分布不均匀的目标使得检测效率低下。

以上两个因素虽然占据图像的面积少,但是对最终的检测结果却有极大的影响;而其他常规区域虽然占据面积大,但是对最终检测结果的提升是有限的,这种情况符合Pareto principle(帕累托法则, 约仅有20%的因素影响80%的结果)。

PRDet

作者首先分析了现有切图方案的不足:

编辑切换为居中

添加图片注释,不超过 140 字(可选)

对于Based on dense objects这种来说只关注了小目标忽略了其他目标,相关工作如下:

Clustered Object Detection in Aerial Images【ICCV19】

Density Map Guided Object Detection in Aerial Images【CVPRW20】

Coarse-grained Density Map Guided Object Detection in Aerial Images【ICCW20】

对于Based on low-confidence objects这种来说受检测器影响较大,相关工作如下:

How to Fully Exploit The Abilities of Aerial Image Detectors【ICCVW19】

A Global-Local Self-Adaptive Network for Drone-View Object Detection【TIP20】

Object Detection Using Clustering Algorithm Adaptive Searching Regions in Aerial Images【ECCV20

针对上述存在的问题,作者设计了一个关注"困难区域"的模型叫做PRDet,而且还能够fully exploring the valuable context in the image。大体工作流程如下:

首先对全图做一个检测

然后再对"困难区域"做一个检测

最后通过NMS,得到最终的检测结果。

编辑切换为居中

PRDet网络结构图。

PRDet的核心主要分为三部分,Challenging Region GenerationReverse-attention Exploration ModuleRegion-specific Context Learning Module

Challenging Region Generation

由于Challenging Region Generation区域是作者自定义的,因此数据集中并不存在,需要根据数据集生成。困难区域生成的算法如下:

编辑切换为全宽

添加图片注释,不超过 140 字(可选)

这一块我觉得作者写的很模糊,不是很懂,感兴趣的可以自己去看看。

Reverse-attention Exploration Module

REM模块包含两步,首先是通过CRP生成困难区域的mask,然后通过MLP生成困难区域的坐标点。这个过程是有监督的,监督信息分别是简单目标的gt和第一步生成的困难区域的gt,采用的损失函数是dice。

编辑切换为全宽

添加图片注释,不超过 140 字(可选)

CRP的输入是来自global detector,首先生成S-Mask,即简单区域,然后将其取反得到R-Mask,到这并有结束,因为R-Mask里面并不仅只包含困难区域还包含背景,因此需要细化,然后经过Fusion Block, Excavator, Decoder模块生成C-Mask,即困难区域的Mask。

编辑切换为全宽

CRP流程

然后将C-Mask扩展成向量输入到MLP里面,与第一步生成的困难区域的目标做监督,得到预测的困难区域。最后将困难区域的坐标映射到原图,得到chips of the challenging regions。

Region-specific Context Learning Module

编辑切换为全宽

RCLM模块

RCLM同样包括两部分,RCG和GLIE。RCG输出的是Specific Contexts,有点像transformer中的embedding。

GLIE模块将全局的信息传递给Local Detector,使其能够更好的识别困难区域。

Final Results with Fusion

后处理采用NMS,由于Local detector得到了有价值的上下文的帮助,作者对本地检测器的结果赋予了更高的权重。

实验

实验细节

VisDrone2021-DET,UAVDT和一个工业数据集DTU-Drone。训练时输入VisDrone和UAVDT的分辨率为600x1000,DTU-Drone为512x512。测试时,三个数据集均为600x1000。

Faster-RCNN-FPN作为基线,主干网络分别为ResNet-50,ResNet-101,ResNeXt-101。除此之外,还在CenterNet v2(主干网络为ResNeXt-101)上做了测试。

结果量化

VisDrone上的对比

编辑切换为全宽

VisDrone上结果对比,基线为Faser-RCNN-FPN

编辑切换为全宽

VisDrone上结果对比,基线为Faser-RCNN-RPN,为了更加公平和其他基于区域搜索的模型对比

UAVDT

编辑切换为全宽

UAVDT上结果对比

DTU-Drone

编辑切换为全宽

DTU-Drone数据集上结果对比

消融实验

Parameter Analysis

这里是对Challenging Region Generation算法中的两个超参和 做了分析。

编辑切换为全宽

添加图片注释,不超过 140 字(可选)

其中 控制的是困难区域平均大小,一般区域越大,覆盖的目标越多。 是一张图中裁剪的个数。

Effect of reverse-attention exploration module

Effect of region-specific context learning module

编辑切换为全宽

REM与RCLM消融实验

要注意的是我觉得这里作者采用random crop即上表中的RC做对比是不合理的,因为随机裁剪可能会使得样本训练不充分,导致结果下降。其他的除了FPS下降外,指标都是上升的,说明了这两个模块的优越性。

探讨

在这部分中,作者通过四个维度对比了 PRDet 与基线模型在处理航拍场景下目标检测的表现,以展示 PRDet 的优越性。这四个维度分别是每个类别的精度、混淆矩阵以及检测结果可视化和当前PRDet存在的不足。由于篇幅关系,在这就不展开了,感兴趣的可以看看原文。

思考

由于这篇文章没有代码,很多细节无法得知,作者在文中也没有说明。比如Global Features和Local Features,他们是来自NECK的哪一层以及训练流程,如果有大佬能看懂的话,可以评论告知一下小白。不过,相比之前的切图策略,作者确实提供了一个还可以的idea,通过传递global信息增强local的检测能力,但看VisDrone精度结果,其实在VisDrone上均分切图,用YOLOV5训练几乎差不多。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/371543.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机械革命旷世G16电脑开机变成绿屏了无法使用怎么办?

机械革命旷世G16电脑开机变成绿屏了无法使用怎么办?最近有用户使用的机械革命旷世G16电脑一开机之后,电脑屏幕就变成了绿色的,无法进行任何的操作。出现这个问题可能是因为电脑中病毒了,或者是系统出现故障。我们可以通过U盘来重新…

实习-----Mybatis 框架

Mybatis 框架ORM持久化介绍 了解什么是“持久化”即把数据(如内存中的对象)保存的磁盘的某一文件中ORM概念ORM,即Object Relational Mapping,它是对象关系映射的简称。它的作用是在关系型数据库和对象之间作一个映射,是…

CNTM 和ADA线下会议总结!

预计CNTM将会是ADA和Ocean共同孵化的第二个AI项M!CNTM25号和ADA在台湾举办线下会议 并在近期CNTM和Ocean在一起交流AI技术,同时AGIX也是ADA和Ocean深度孵化的项目,预计CNTM将会是ADA和Ocean共同孵化的第二个AI项目!什么是 CNTM &a…

【测试平台系列】如何停止测试任务执行

今天我们就玩点好玩的,和大家一起探讨:怎么停止一段python代码。之后我们将会运用到pity之中。 知识要点 本文需要大家对asyncio相关知识有一些了解,至于原理方面,大家可以自行查阅,因为我也没细看。 为什么要做这个…

Spring使用mongoDB步骤

1. 在Linux系统使用docker安装mongoDB 1.1. 安装 在docker运行的情况下,执行下述命令。 docker run \ -itd \ --name mongoDB \ -v mongoDB_db:/data/db \ -p 27017:27017 \ mongo:4.4 \ --auth执行docker ps后,出现下列行,即表示mongoDB安…

【项目精选】网络考试系统的设计与实现(源码+视频+论文)

点击下载源码 网络考试系统主要用于实现高校在线考试,基本功能包括:自动组卷、试卷发布、试卷批阅、试卷成绩统计等。本系统结构如下: (1)学生端: 登录模块:登录功能; 网络考试模块…

gdb openocd jlink arm-a9调试

连接关系是这样的:gdb —> openocd —>(这里需要两个xx.cfg配置文件) jlink —> arm-a9板子 具体流程是这样的: 给jlink(硬件调试器)安装驱动,用USB Driver Tool这个软件,…

02.24:图片的风格转换

Github网址:https://github.com/lengstrom/fast-style-transfer 在anaconda prompt中切换环境命令:activate 环境名 列出所有环境名:conda info --envs 安装环境:conda create -n 环境名 pythonx.x.x 删除某环境:co…

Spring Cloud Nacos源码讲解(八)- Nacos客户端服务订阅的事件机制剖析

Nacos客户端服务订阅的事件机制剖析 ​ 上次我们已经分析了Nacos客户端订阅的核心流程:Nacos客户端通过一个定时任务,每6秒从注册中心获取实例列表,当发现实例发生变化时,发布变更事件,订阅者进行业务处理&#xff0c…

WAF渗透攻防实践(16)

预备知识 WAF:WEB攻击一直是黑客攻击的主流手段,WAF作为网站安全基础设施的标配。Web Application Firewall,Web应用防火墙,通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的产品。 Nginx:Nginx 是…

京东10年经验测试工程师,整理出来的自动化测试学习路线,写给还在迷茫的你们

1、学习python基本语法。 2、上w3school这个网站(2019年4月6日补充:网址是http://www.w3schools.com。但是现在这个网站被墙,而且出现众多山寨站点。。。这个网站的特点是你可以在网页上做一些练习,比如他教html的时候会让读者直…

Word的多级列表及自定义带级联编号有序列表的方法

1.多级列表的应用 输入列表时,列表项目符号或编号不应手动输入。可在输入文字后将光标放在文字所在段落,点击开始面板段落工具组的编号命令或者多级列表命令来生成编号。由于多级列表命令完全可以覆盖编号命令,且格式调整功能更强大&#xf…

ES数据迁移_snapshot(不需要安装其他软件)

参考文章: 三种常用的 Elasticsearch 数据迁移方案ES基于Snapshot(快照)的数据备份和还原CDH修改ElasticSearch配置文件不生效问题 目录1、更改老ES和新ES的config/elasticsearch.yml2、重启老ES,在老ES执行Postman中创建备份目录…

第45届世界技能大赛“网络安全”赛项浙江省选拔赛竞赛任务书

第45届世界技能大赛浙江省选拔赛竞赛任务书 一、竞赛时间 8:00-17:00,共计9小时。 二、竞赛阶段 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 模块A 任务1 数据库安全加固 8:00-10:00 50 任务2 文件MD5校验 50 任务3 Linux系统服务渗透测试及安全加…

洛谷 P1208 [USACO1.3]混合牛奶 Mixing Milk

最后水一篇水题题解(实在太水了) # [USACO1.3]混合牛奶 Mixing Milk ## 题目描述 由于乳制品产业利润很低,所以降低原材料(牛奶)价格就变得十分重要。帮助 Marry 乳业找到最优的牛奶采购方案。 Marry 乳业从一些奶农手…

【RabbitMQ笔记03】消息队列RabbitMQ七种模式之WorkQueues工作队列模式

这篇文章,主要介绍消息队列RabbitMQ七种模式之WorkQueues工作队列模式。 目录 一、工作队列模式 1.1、什么是Work Queues模式 1.2、工作队列模式的使用 (1)引入依赖 (2)编写生产者 (3)编写…

如何提高您的网站速度更好的符合SEO规范

如果觉得文章对你有用请点赞与关注,每一份支持都是我坚持更新更优质内容的动力!!!慢速网站会受到用户和搜索引擎的惩罚。用户跳出,搜索引擎可以降低您的排名。为了针对搜索引擎和用户优化您的网站,您的网站…

Golang学习Day3

😋 大家好,我是YAy_17,是一枚爱好网安的小白。 本人水平有限,欢迎各位师傅指点,欢迎关注 😁,一起学习 💗 ,一起进步 ⭐ 。 ⭐ 此后如竟没有炬火,我便是唯一的…

Mybatis中的动态SQL

Mybatis中的动态SQL 当存在多条件查询的SQL时,当用户某个条件的属性没有写时,就会存在问题,在test中则不能很好的运行 所以Mybatis提出了动态SQL。 即判断用户是否输入了某个属性 动态SQL中的一些问题 方法一 这个里的and是为了确保if条…

三天吃透MySQL八股文(2023最新整理)

本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~ Github地址:https://github.com/…