当前位置: 首页 > article >正文

武汉大学无人机视角下的多目标指代理解新基准!RefDrone:无人机场景指代表达理解数据集

  • 作者:Zhichao Sun, Yepeng Liu, Huachao Zhu, Yuliang Gu, Yuda Zou, Zelong Liu, Gui-Song Xia, Bo Du, Yongchao Xu

  • 单位:武汉大学计算机学院

  • 论文标题:RefDrone: A Challenging Benchmark for Drone Scene Referring Expression Comprehension

  • 论文链接:https://arxiv.org/pdf/2502.00392

  • 代码链接:https://github.com/sunzc-sunny/refdrone

主要贡献

  • RefDrone基准数据集:提出了首个针对无人机场景中指代表达理解(REC)的综合性基准数据集RefDrone,它包含17900个指代表达,覆盖8536张图像,包含63679个目标实例。该数据集揭示了三个关键挑战:多尺度和小尺度目标检测、多目标和无目标样本、复杂环境中丰富的上下文表达。

  • RDAgent标注框架:开发了一种基于多智能体系统的半自动化标注工具RDAgent,用于REC任务。该框架通过将传统标注工作流程重构为多个智能体和人类标注者之间的交互系统,显著降低了标注成本,同时确保了高质量的复杂表达。

  • NGDINO方法:提出了一种名为Number GroundingDINO(NGDINO)的新方法,专门用于处理多目标和无目标样本。该方法通过引入数量预测头、可学习的数量查询编码以及数量交叉注意力模块,利用表达中提到的目标数量信息,显著提高了在多目标和无目标样本上的性能。

研究背景

  • 无人机作为一种重要的机器人平台,在多种场景中发挥着重要作用,例如娱乐、包裹递送、交通监控和紧急救援等。在具身智能(Embodied AI)领域,无人机需要具备根据自然语言表达定位目标的能力,即指代表达理解(REC)。

  • 然而,现有的REC数据集主要关注地面视角的场景,而无人机视角的场景具有独特的挑战,例如极端的视角变化、遮挡和目标尺寸变化等。因此,需要一个专门针对无人机场景的REC基准数据集,以推动相关技术的发展。

研究方法

数据集构建

  • 数据来源:RefDrone数据集基于VisDrone2019DET数据集构建,该数据集包含无人机拍摄的图像,涵盖了多种场景、光照条件和飞行高度。论文通过设定图像和目标级别的过滤标准,筛选出包含至少3个目标的图像,并排除面积小于64像素的目标。

  • RDAgent标注框架:该框架整合了大型语言模型(LLM)和人类标注者,通过五个结构化的步骤生成高质量的标注。具体步骤如下:
    • 场景理解:基于GPT-4o的标题生成智能体为每张图像生成三个多样化的文本描述,为后续的指代表达生成提供上下文视角。

    • 颜色分类:通过结合基于WideResNet-101模型的颜色属性提取和人工验证,确保颜色属性的准确性。

    • 指代表达生成:将指代表达生成任务重新定义为对象分组问题,智能体的目标是将语义相关对象分组,并为每个组提供适当的理由(即指代表达)。如果检测到新的颜色,会触发动态反馈循环,返回颜色分类步骤。

    • 质量评估:评估智能体对对象-表达对的语义准确性和指代唯一性进行评估,根据评估结果将标注分为“是”(准确且唯一)和“否”(不准确或不唯一)两类。对于“否”的标注,会根据问题类型返回到相应的步骤进行修正。

    • 人工验证:人类标注者对标注输出进行三层次的审查,包括直接接受、需要修正和存在重大问题。对于存在重大问题的标注,会进入反馈循环,返回到质量评估步骤。

NGDINO方法

  • 模型架构:NGDINO基于GroundingDINO(GDINO)的双编码器-单解码器架构,在解码器部分进行了改进。具体改进包括引入了数量预测头、可学习的数量查询编码以及数量交叉注意力模块。
    • 数量预测头:通过前馈神经网络(FFN)层预测检测查询中提到的目标数量。

    • 数量查询:这些查询是可学习的嵌入,用于捕获不同数量模式。通过预测的数量引导选择数量查询。

    • 数量交叉注意力模块:将选定的数量查询与检测查询进行交叉注意力操作,将数量信息整合到检测查询中。

  • 损失函数:对于边界框监督,采用GDINO中的损失函数。对于数量预测,使用L2损失。论文将数量预测空间量化为五个类别:{0, 1, 2, 3, 4+},其中4+表示所有大于等于4的数量。

实验

实验设置

  • RDAgent:通过将RDAgent适应于REC任务,用Faster R-CNN作为目标检测器,替换了人工验证步骤,以实现自动化。

  • NGDINO:采用两阶段过程进行训练。首先,在RefDrone数据集上预训练数量预测头,同时初始化其他组件的参数为GDINO的参数。然后,对整个模型进行微调。

  • 基准模型:论文选择了13个具有代表性的模型作为基准,包括3个专家模型(MDETR、GLIP和GDINO)和10个大型多模态模型(LMMs)。

  • 零样本评估:使用模型在原始论文中提供的检查点进行评估。

  • 微调评估:保持原始学习策略一致,排除随机裁剪增强,对于LMMs采用LoRA微调策略。

实验结果

  • 零样本结果:CogVLM在多个指标上表现出色,但一些先进的模型由于预训练数据或输出策略的限制,只能输出单个边界框,在多目标场景中表现受限。

  • 微调结果
    • 专家模型MDETR在实例级指标上表现出色,但图像级理解能力较弱。LMMs如Qwen-VL在图像级理解上表现较好,但在实例级任务上表现较差。

    • RDAgent在实例级指标上取得了优于现有方法的结果,与GDINO-B相比,F1inst.提高了26.18%,Accinst.提高了21.14%。NGDINO在两个骨干架构上均优于基线GDINO。

  • 在gRefCOCO数据集上的验证:NGDINO-T在gRefCOCO数据集上也优于基线方法GDINO-T,尤其是在N-acc.指标上,分别在test A和test B上提高了4.15%和1.39%。

  • 消融研究
    • NGDINO组件的有效性:数量预测头单独使用时对引用任务的影响较小,而引入数量交叉注意力时,Accinst.从19.02%提高到19.51%。结合数量预测任务和数量交叉注意力组件后,Accinst.进一步提高到20.98%。

    • 查询长度的影响:通过实验发现,查询长度为10时提供了最佳的权衡。

    • RDAgent的有效性:RDAgent在所有指标上均优于GPT4-o和ReCLIP,但其性能部分受到Faster-RCNN目标检测器的限制。

结论与未来工作

  • 结论
    • 论文提出了RefDrone基准数据集,专门用于无人机场景中的指代表达理解任务,并开发了RDAgent半自动化标注框架和NGDINO方法。

  • 未来工作
    • 尽管NGDINO在多目标和无目标样本上取得了较好的性能,但在处理复杂背景、丰富上下文表达和小尺度目标检测时仍存在挑战。

    • 在未来的工作中,论文计划进一步改进NGDINO以应对这些挑战,并扩展基准数据集以包含指代表达分割和指代表达跟踪任务。

相关文章:

武汉大学无人机视角下的多目标指代理解新基准!RefDrone:无人机场景指代表达理解数据集

作者:Zhichao Sun, Yepeng Liu, Huachao Zhu, Yuliang Gu, Yuda Zou, Zelong Liu, Gui-Song Xia, Bo Du, Yongchao Xu 单位:武汉大学计算机学院 论文标题:RefDrone: A Challenging Benchmark for Drone Scene Referring Expression Compreh…...

【递归、搜索和回溯】二叉树中的深搜

个人主页 : zxctscl 专栏 【C】、 【C语言】、 【Linux】、 【数据结构】、 【算法】 如有转载请先通知 文章目录 前言1 2331. 计算布尔二叉树的值1.1 分析1.2 代码 2 129. 求根节点到叶节点数字之和2.1 分析2.2 代码 3 814. 二叉树剪枝3.1 分析3.2 代码 4 98. 验证…...

Algolia - Docsearch的申请配置安装【以踩坑解决版】

👨‍🎓博主简介 🏅CSDN博客专家   🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊交流社区:运维交流社区 欢迎大家的加入&#xff01…...

Linux513 rsync本地传输 跨设备传输 一

ping节点bPing通 仅主机模式不需要设置网关节点a也可以Ping通节点b 同步成功 下载文件夹成功 今日源码 节点a 节点b...

leetcode 383. Ransom Note

题目描述 代码 class Solution { public:bool canConstruct(string ransomNote, string magazine) {vector<int> table(26,0);for(char ch : magazine){table[ch-a];}for(char ch : ransomNote){table[ch-a]--;if(table[ch-a] < 0)return false;}return true;} };...

Skyvern:用 AI+视觉驱动浏览器自动化

Skyvern&#xff1a;用 AI视觉驱动浏览器自动化 一、前言二、项目概览2.1 Skyvern 项目简介2.2 代码结构与模块划分 三、环境搭建与快速上手3.1 环境准备3.1.1 系统与依赖3.1.2 克隆项目3.1.3 安装 Python 依赖3.1.4 配置环境变量3.1.5 启动服务 3.2 验证安装 四、核心功能与实…...

数据库原理期末考试速成--最后附带两套题

引言 为什么从3开始呢,毕竟是速成吗,总要放弃一些东西 前两章1.概论 2.关系数据库:这里面都是一些运算符什么的,我感觉都学这个:笛卡尔积之列的都会算 这两章比较重要的我就放在这里了 选择、投影、连接、除、并、交、差,其中选择、投影、并、差、笛卡尔积是5种基本关…...

《探索React Native社交应用中WebRTC实现低延迟音视频通话的奥秘》

WebRTC&#xff0c;全称为Web Real-Time Communication&#xff0c;是一项开创性的开源技术&#xff0c;为Web和移动应用开启了实时通信的大门。它打破了传统通信的束缚&#xff0c;使得应用之间无需依赖繁琐的中间服务器&#xff0c;就能实现直接的点对点通信&#xff0c;这是…...

关于vue 本地代理

接口调用&#xff1a;其中我们可以约定一个拦截的标识&#xff0c; 用来给本地 http://localhost/ 进行代理要请求的测试地址https:abc.com 例子&#xff1a; axios.post(/OwnRateReport/-------------------------------------------------------00001)devServer: {proxy: {/…...

#跟着若城学鸿蒙#HarmonyOS NEXT学习之Blank组件详解

一、组件介绍 Blank&#xff08;空白&#xff09;组件是HarmonyOS NEXT中一个简单但非常实用的UI组件&#xff0c;它主要用于在布局中创建空白区域&#xff0c;帮助开发者更灵活地控制界面元素之间的间距和布局结构。虽然Blank组件本身不显示任何内容&#xff0c;但它在界面设…...

PX4开始之旅(二)通过自定义 MAVLink 消息与 QGroundControl (QGC) 通信

核心知识点&#xff1a;通过自定义 MAVLink 消息与 QGroundControl (QGC) 通信 1. 通俗易懂的解释 想象一下&#xff0c;MAVLink 就像是无人机&#xff08;飞控&#xff09;和地面站&#xff08;QGroundControl&#xff09;之间约定好的一种“语言”。这种语言有很多标准的“…...

数据结构基础--蓝桥杯备考

1.优缺点总述 STL中各容器对比图 各类线性数据结构优缺点 1.数组 1.优点 1.简单&#xff0c;容易理解 2.访问快捷&#xff0c;只需要用下标就可以 3.有某些应用场景直接对应&#xff0c;例如二维数组对应平面 2.缺点 删除和插入数据非常耗时 2.链表 1.优点 插入和删…...

2.4GHz无线通信芯片选型指南:集成SOC与低功耗方案解析

今天给大家分享几款2.4GHz无线通信芯片方案&#xff1a; 一、集成SOC芯片方案 XL2407P&#xff08;芯岭技术&#xff09; 集成射频收发机和微控制器&#xff08;如九齐NY8A054E&#xff09; 支持一对多组网和自动重传 发射功率8dBm&#xff0c;接收灵敏度-96.5dBm&#xff08…...

安卓刷机模式详解:Fastboot、Fastbootd、9008与MTK深刷

安卓刷机模式详解&#xff1a;Fastboot、Fastbootd、9008与MTK深刷 一、刷机模式对比 1. Fastboot模式 简介&#xff1a;传统安卓底层刷机模式&#xff0c;通过USB连接电脑操作优点&#xff1a;支持大多数安卓设备&#xff0c;操作相对简单缺点&#xff1a;需要设备进入特定…...

Unity_JK框架【5】音效系统实现

在游戏开发中&#xff0c;音频是不可或缺的一部分&#xff0c;它能够极大地增强游戏的沉浸感和趣味性。今天&#xff0c;我们就用JK框架 探讨一下如何在Unity中实现一个强大的音频系统&#xff0c;并且通过实际的测试脚本来验证其功能&#x1f44f;。 一、音频模块类&#xff1…...

鸿蒙 从打开一个新窗口到Stage模型的UIAbility组件

打开一个新的窗口 我们首先来实现如何在一个应用中打开一个新窗口&#xff0c;使用的模型是 Stage 模型 在项目文件里&#xff0c;新建一个 newWindow.ets 新文件 src/main/ets/pages/newWindow.ets newWindow.ets文件里面随便写点什么都行&#xff0c;这里是第一步创建的文件…...

MySQL数据库——视图

目录 一、视图是什么&#xff1f; 二、特点 三、创建视图 四.查询视图 五.更新视图 六.视图的作用 总结 一、视图是什么&#xff1f; 视图是从一个或多个表中导出的虚拟表&#xff0c;它本身不存储数据&#xff0c;而是基于 SQL 查询的结果集。 二、特点 1.虚拟性&#xff1…...

redis数据结构-09 (ZADD、ZRANGE、ZRANK)

Redis 排序集简介&#xff1a;ZADD、ZRANGE、ZRANK Redis 有序集合是一种功能强大的数据结构&#xff0c;兼具集合和哈希的特性。它维护一组唯一元素&#xff0c;类似于集合&#xff1b;但每个元素都与一个分数相关联&#xff0c;类似于哈希。分数用于对有序集合中的元素进行排…...

PyTorch API 1 - 概述、数学运算、nn、实用工具、函数、张量

文章目录 torch张量创建操作索引、切片、连接与变异操作 加速器生成器随机采样原地随机采样准随机采样 序列化并行计算局部禁用梯度计算数学运算常量逐点运算归约操作比较运算频谱操作其他操作BLAS 和 LAPACK 运算遍历操作遍历操作遍历操作遍历操作遍历操作遍历操作遍历操作遍历…...

长短期记忆网络(LSTM)深度解析:理论、技术与应用全景

长短期记忆网络&#xff08;LSTM&#xff09;作为循环神经网络&#xff08;RNN&#xff09;的重要变体&#xff0c;通过门控机制有效解决了传统RNN的梯度消失问题&#xff0c;成为时序数据处理的核心技术。本文从理论起源、数学建模、网络架构、工程实现到行业应用&#xff0c;…...

c语言第一个小游戏:贪吃蛇小游戏02

接上文继续学习 ncurse的上下左右键获取 想要使用ncurse的功能键&#xff0c;也就是键盘快捷键&#xff0c;不是q、r、t&#xff0c;是 上下左右、F1、F2等等的键&#xff0c;我们叫做功能键要是想用这些功能键需要使用keypad函数 Keypad(stdscr,1); 从stdscr接收标准中&…...

【Python爬虫 !!!!!!政府招投标数据爬虫项目--医疗实例项目文档(提供源码!!!)!!!学会Python爬虫轻松赚外快】

政府招投标数据爬虫项目--医疗实例项目文档 1. 项目概述1.1 项目目标1.2 技术栈 2. 系统架构2.1 模块划分2.2 流程示意图 3. 核心模块设计3.1 反爬处理模块&#xff08;utils/anti_crawler.py&#xff09;3.1.1 功能特性3.1.2 关键代码 3.2 爬虫模块&#xff08;crawler/spider…...

Android架构之自定义native进程

在Android五层架构中&#xff0c;native层基本上全是c的世界&#xff0c;这些c进程基本上靠android世界的第一个进程init进程创建&#xff0c;init通过rc配置文件&#xff0c;创建了众多的c子进程&#xff0c;也是这众多的c进程&#xff0c;构建了整个android世界的native层。 …...

talk-centos6之间实现

在 CentOS 6.4 上配置和使用 talk 工具&#xff0c;需要注意系统版本较老&#xff0c;很多配置可能不同于现代系统。我会提供 详细步骤 自动化脚本&#xff0c;帮你在两台 CentOS 6.4 机器上实现局域网聊天。 ⸻ &#x1f9f1; 一、系统准备 假设你有两台主机&#xff1a; …...

《100天精通Python——基础篇 2025 第18天:正则表达式入门实战,解锁字符串处理的魔法力量》

目录 一、认识正则表达式二、正则表达式基本语法2.1 行界定符2.2 单词定界符2.3 字符类2.4 选择符2.5 范围符2.6 排除符2.7 限定符2.8 任意字符2.9 转义字符2.10 反斜杠2.11 小括号2.11.1 定义独立单元2.11.2 分组 2.12 反向引用2.13 特殊构造2.14 匹配模式 三、re模块3.1 comp…...

数组中元素如何交换与打乱

1 问题 在本周学习了java基础语法中的数组,在学习数组后,我们会遇到关于数组中元素的倒序,交换,和无序打乱等问题,在Python中我们可以用list的方法进行元素倒序,那么我们在java中应该如何实现数组用元素的倒序和元素的打乱呢? 2 方法 使用循环,Random类,下标索引实现 关于元素…...

Nuitka 已不再安全? Nuitka/Cython 打包应用逆向工具 -- pymodhook

pymodhook是一个记录任意对Python模块的调用的库&#xff0c;用于Python逆向分析。 pymodhook库类似于Android的xposed框架&#xff0c;但不仅能记录函数的调用参数和返回值&#xff0c;还能记录模块的类的任意方法调用&#xff0c;以及任意派生对象的访问&#xff0c;基于pyob…...

【C】初阶数据结构14 -- 归并排序

本篇文章主要是讲解经典的排序算法 -- 归并排序 目录 1 递归版本的归并排序 1&#xff09; 算法思想 2&#xff09; 代码 3&#xff09; 时间复杂度与空间复杂度分析 &#xff08;1&#xff09; 时间复杂度 &#xff08;2&#xff09; 空间复杂度 2 迭代版本的归并…...

华为网路设备学习-21 IGP路由专题-路由过滤(filter-policy)

一、路由过滤&#xff08;filter-policy&#xff09; 1、用于控制路由更新、接收的一个工具 2、只能过滤路由信息&#xff0c;无法过滤LSA 二、路由过滤&#xff08;filter-policy&#xff09;与动态路由协议 1、距离矢量路由协议 RIP动态路由协议 交换的是路由表&#xff0…...

NestJS 框架深度解析

框架功能分析 NestJS 是一个基于 Node.js 的渐进式框架&#xff0c;专为构建高效、可扩展的服务器端应用程序而设计。其核心理念结合了 面向对象编程&#xff08;OOP&#xff09;、函数式编程&#xff08;FP&#xff09; 和 函数式响应式编程&#xff08;FRP&#xff09;&…...