[论文精读]Dynamic Coarse-to-Fine Learning for Oriented Tiny Object Detection

论文网址:[2304.08876] 用于定向微小目标检测的动态粗到细学习 (arxiv.org)

论文代码:https://github.com/ChaselTsui/mmrotate-dcfl

英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用

1. 省流版

1.1. 心得

(1)为什么学脑科学的我要看这个啊?愿世界上没有黑工

(2)最开始写小标题的时候就发现了,分得好细啊,好感度++

1.2. 论文总结图

2. 论文逐段精读

2.1. Abstract

        ①Extreme geometric shapes (tiny) and finite features (few pixels) of tiny rotating objects will cause serious mismatch (inaccurate positional prior?) and imbalance (inaccurate positive sample features?) issues

        ②They proposed dynamic prior and coarse-to-fine assigner, called DCFL

posterior  adj.在后部的;在后面的  n.臀部;屁股

2.2. Introduction

        ①Oriented bounding box greatly eliminates redundant background area, especially in aerial images

        ②Comparison figure:

where M* denotes matching function;

green, blue and red boxes are true positive, false positive, and false negative predictions respectively,

the left figure set is static and the right is dynamic

        ③Figure of mismatch and imbalance issues:

each point in the left figure denotes a prior location(先验打那么多个点啊...而且为啥打得那么整齐,这是什么one-shot吗

饼状图是说当每个框都是某个角度的时候吗?当每个框都不旋转的时候阳性样本平均数量是5.2?还是说饼状图的意思是自由旋转,某个特定角度的框的阳性样本是多少多少?这个饼状图并没有横向比较诶,只有这张图自己内部比较。

柱状图是锚框大小不同下平均阳性

        ④They introduce dynamic Prior Capturing Block (PCB) as their prior method. Based on this, they further utilize Cross-FPN-layer Coarse Positive Sample (CPS) to assign labels. After that, they reorder these candidates by prediction (posterior), and present gt by finer Dynamic Gaussian Mixture Model (DGMM)

eradicate  vt.根除;消灭;杜绝  n.根除者;褪色灵

2.3. Related Work

2.3.1. Oriented Object Detection

(1)Prior for Oriented Objects

(2)Label Assignment

2.3.2. Tiny Object Detection

(1)Multi-scale Learning

(2)Label Assignment

(3)Context Information

(4)Feature Enhancement

2.4. Method

(1)Overview

        ①For a set of dense prior P\in\mathbb{R}^{W\times H\times C}, where W denotes width, H denotes height and C denotes the number of shape information(什么东西啊,是那些点吗), mapping it to D by Deep Neural Network (DNN):

D=\mathrm{DNN}_{h}(P)

where \mathrm{DNN}_{h} represents the detection head(探测头...外行不太懂,感觉也就是一个函数嘛?);

one part D_{cls}\in\mathbb{R}^{W\times H\times A} in D denotes the classification scores, where A means the class number(更被认为是阳性的样本那层的W\times H里的数据会更大吗);

one part D_{reg}\in\mathbb{R}^{W\times H\times B} in D denotes the classification scores, where B means the box parameter number(什么东西?box parameter?什么是箱参数?

        ②In static methods, the pos labels assigned for P is G=\mathcal{M}_{s}(P,GT)

        ③In dynamic methods, the pos labels set G integrate posterior information: G={\mathcal M}_{d}(P,D,GT)

        ④The loss function:

\mathcal{L}=\sum_{i=1}^{N_{pos}}\mathcal{L}_{pos}(D_{i},G_{i})+\sum_{j=1}^{N_{neg}}\mathcal{L}_{neg}(D_{j},y_{j})

where N_{pos} and N_{neg} represent the number of positive and negative samples, y_i is the neg labels set

        ⑤Modelling D{\mathcal M}_{d} and GT:

\tilde{D}=\mathrm{DNN}_{h}(\underbrace{\mathrm{DNN}_{p}(P)}_{\text{Dynamic Prior}\hat{P}})

\tilde{G}=\mathcal{M}_{d}(\mathcal{M}_{s}(\tilde{P},GT),\tilde{GT})

\mathcal{L}=\sum_{i=1}^{\hat{N}_{pos}}\mathcal{L}_{pos}(\tilde{D}_{i},\tilde{G}_{i})+\sum_{j=1}^{\tilde{N}_{neg}}\mathcal{L}_{neg}(\tilde{D}_{j},y_{j})

2.4.1. Dynamic Prior

2.4.2. Coarse Prior Matching

2.4.3. Finer Dynamic Posterior Matching

2.5.  Experiments

2.5.1. Datasets

2.5.2. Implementation Details

2.5.3. Main Results

(1)Results on DOTA series

(2)Results on DIOR-R

(3)Results on HBB Datasets

2.5.4. Ablation Study

(1)Effects of Individual Strategy

(2)Comparisons of Different CPS.

(3)Fixed Prior and Dynamic Prior

(4)Detailed Design in PCB

(5)Effects of Parameters

2.6. Analysis

(1)Reconciliation of imbalance problems

(2)Visualization

(3)Speed

2.7. Conclusion

3. 知识补充

4. Reference List

Xu, C. et al. (2023) 'Dynamic Coarse-to-Fine Learning for Oriented Tiny Object Detection', CVPR. doi: https://doi.org/10.48550/arXiv.2304.08876

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

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

相关文章

支付模块-基于消息队列发送支付通知消息

消息队列发送支付通知消息 需求分析 订单服务作为通用服务,在订单支付成功后需要将支付结果异步通知给其他对接的微服务,微服务收到支付结果根据订单的类型去更新自己的业务数据 技术方案 使用消息队列进行异步通知需要保证消息的可靠性即生产端将消息…

深入了解 大语言模型(LLM)微调方法

引言 众所周知,大语言模型(LLM)正在飞速发展,各行业都有了自己的大模型。其中,大模型微调技术在此过程中起到了非常关键的作用,它提升了模型的生成效率和适应性,使其能够在多样化的应用场景中发挥更大的价值。 那么&…

华为新设备升级示例

​ 新设备升级示例 升级前准备工作 准备升级工具,即操作终端PC、网线和串口线。准备所需版本系统软件。 企业用户:登录​​http://support.huawei.com/e​​,在搜索栏中输入交换机型号,单击搜索栏中联想出的路径,进…

服务器命令

服务器命令 服务器命令top查看任务 服务器命令 top查看任务 、ps 命令 ps 命令是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行和它所运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等。总之大部分信息都是可以通过执行…

pytorch模型转onnx格式,编写符号函数实现torch算子接口和onnx算子的映射,新建简单算子--模型部署记录整理

对于深度学习模型来说,模型部署指让训练好的模型在特定环境中运行的过程。相比于软件部署,模型部署会面临更多的难题: 运行模型所需的环境难以配置。深度学习模型通常是由一些框架编写,比如 PyTorch、TensorFlow。由于框架规模、依…

JVM是如何解决跨代引用的?

JVM是如何解决跨代引用的? 跨代引用问题如何解决跨代引用记忆集(Remembered Set)卡表 写屏障 跨代引用问题 假如要现在进行一次只局限于新生代区域内的收集(Minor gc),但新生代的对象1在老年代中被引用,为了找出该区域…

掌握Go语言:深入encoding/gob包的高效数据序列化

掌握Go语言:深入encoding/gob包的高效数据序列化 引言理解Gob和它的使用场景Gob的概念和设计目标Gob的适用场景和优势 开始使用Gob基本的Gob编码和解码示例代码编码(序列化)解码(反序列化) Gob编码高级应用自定义类型的…

c语言常见上机题

快速排序 快排很容易进入无限递归&#xff0c;写的时候要注意边界问题 #include<iostream>using namespace std;int n;const int N 1e6 10;void qsort(int a[],int l,int r){if(l>r) return;int xa[l],il-1,jr1;while(i<j){do i;while(a[i]<x);do j--;while(…

MFC中手动create创建的窗口,如何销毁释放?

在MFC中&#xff0c;当你手动创建一个窗口&#xff08;例如使用Create函数而不是通过对话框模板创建&#xff09;&#xff0c;你需要确保在适当的时候正确地销毁和释放该窗口。这通常涉及删除窗口对象并调用其析构函数&#xff0c;这将负责清理与窗口相关联的资源。 以下是一些…

【Java语言】遍历List元素时删除集合中的元素

目录 前言 实现方式 1.普通实现 1.1 使用【for循环】 方式 1.2 使用【迭代器】方式 2.jdk1.8新增功能实现 2.1 使用【lambda表达式】方式 2.2 使用【stream流】方式 注意事项 1. 使用【for循环】 方式 2. 不能使用增强for遍历修改元素 总结 前言 分享几种从List中移…

基于 K8s 容器集群的容灾架构与方案

作者&#xff1a;庄宇 在设计系统架构时&#xff0c;我们必须假设任何组件和任何基础设施可能会在任何时间失效&#xff0c;例如&#xff1a;自然灾害&#xff0c;电力中断&#xff0c;网络中断&#xff0c;错误的系统变更等。为了应对挑战&#xff0c;我们必须设计合适的容灾…

在centos8中部署Tomcat和Jenkins

参考链接&#xff1a;tomcat安装和部署jenkins_jenkins和tomcat-CSDN博客 1、进入centos中 /usr/local 目录文件下 [rootlocalhost webapps]# cd /usr/local2、使用通过wget命令下下载tomcat或者直接在官网下载centos版本的包后移动到centos中的local路径下 3、下载tomcat按…

VUE3内置组件Transition的学习使用

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a;RuoYi-Nbcio后台管理系统 更多nbcio-boot功能请看演示系统RuoYi-Nbcio亿事达企业管理平台 gitee源代码地址 后端代码&#xff1a;…

详解Postman使用

简介&#xff1a; 1.简介 PostMan&#xff0c;一款接口调试工具。 特点&#xff1a; 可以保留接口请求的历史记录 可以使用测试集Collections有效管理组织接口 可以在团队之间同步接口数据 1.简介 PostMan&#xff0c;一款接口调试工具。 特点&#xff1a; 可以保留接口请求…

从0到1入门C++编程——12 演讲比赛流程管理系统

文章目录 一、创建类并显示菜单二、退出管理系统三、开始演讲比赛四、查看往届记录五、清空比赛记录六、案例源代码 演讲比赛流程管理系统 比赛规则&#xff1a;演讲比赛共有12个人参加&#xff0c;比赛分两轮进行&#xff0c;第一轮为淘汰赛&#xff0c;第二轮为决赛。每名选手…

HTML万字学习总结

html文本标签特殊符号图片音频与视频超链接表单列表表格语义标签(布局) html文本标签 标签简介根目录规定文档相关的配置信息&#xff08;元数据元素表示文档的内容表示那些不能由其它 HTML 元相关元素&#xff08;(<base>、<link>, <script>、<style>…

今日AI:GPT-4.5意外曝光可能6月发布、UP主借AI识别情绪播放量186万、全球首个AI程序员诞生

欢迎来到【今日AI】栏目!这里是你每天探索人工智能世界的指南&#xff0c;每天我们为你呈现AI领域的热点内容&#xff0c;聚焦开发者&#xff0c;助你洞悉技术趋势、了解创新AI产品应用。 新鲜AI产品点击了解:AIbase - 智能匹配最适合您的AI产品和网站 &#x1f4e2;一分钟速…

Netty优化

文章目录 概述优化方法性能篇网络参数优化业务线程池的必要性共享 ChannelHandler设置高低水位线GC 参数优化线程绑定 高可用篇连接空闲检测流量整形堆外内存泄漏排查思路Netty 自带检测工具二分排查法&#xff1a;笨方法解决大问题 概述 netty 是一种异步的、基于事件驱动的网…

Elastic boosting的使用

boosting介绍 Boosting查询允许您降低与负面查询匹配的文档的相关性评分 boosting语法 GET /_search {"query": {"boosting": {"positive": {"term": {"text": "apple"}},"negative": {"term&q…

如何拆解技术瓶颈的难点

以大化小的思路 解决一个一个小问题从而解决最终问题 三段论&#xff1a; 抽象能力 职责领域划分 分层构建解决方案 案例&#xff1a;全局分布式事务的解决方案 抽象能力&#xff1a;全局分布式 是由一个个小的事务组合而成的&#xff0c;其中一个分布式事务出现问题&#xff…