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

news2024/10/6 6:49:17

论文网址:[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.coloradmin.cn/o/1514725.html

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

相关文章

android MMKV数据持久化缓存集合

前言 最近在使用mmkv缓存的时候 发现没有集合缓存 非常不方便 自己写一个方法 MMKV public class MmkvUtils {private MmkvUtils() {throw new UnsupportedOperationException("u cant instantiate me...");}public static void init() {MMKV.initialize(LeoUtils…

C语言从入门到熟悉------第三阶段

数组 什么是数组呢?顾名思义数组就是很多数的组合!那么这些数有没有什么要求呢?是不是不管什么数组合在一起都是数组呢?第一,这些数的类型必须相同!第二,这些数在内存中必须是连续存储的。也就…

力扣思路题:重复的子字符串

注意比较j与j-i是否相同 bool repeatedSubstringPattern(char* s) {int i;int nstrlen(s);bool flag;for(int i1;i<n/2;i){if(n%i0){flagtrue;}for(int ji;j<n;j){if(s[j]!s[j-i]){flagfalse;break;}}if(flagtrue){return true;}}return false; }

Python爬虫基础学习-互联网、HTTP与HTML

互联网或者叫国际网&#xff08;Internet&#xff09;&#xff0c;是指网络与网络之间所串连成的庞大网络&#xff0c;这些网络以一组标准的网络TCP/IP协议族相连&#xff0c;连接全世界几十亿个设备&#xff0c;形成逻辑上的单一巨大国际网络。它是由从地方到全球范围内几百万…

【算法】一类支持向量机OC-SVM(2)

【算法】一类支持向量机OC-SVM&#xff08;2&#xff09; 前言纠正内容数据集创建方式适应度函数 新增内容散点图示例模型散点图展示 前言 在上则博文【算法】一类支持向量机OC-SVM&#xff08;1&#xff09; 中&#xff0c;我们提及到了蜂群算法优化一类支持向量机超参数模型…

gpt-4-all模型中转实现

最近才完成这个功能&#xff0c;相信知道这个模型的人&#xff0c;应该已经熟悉了。这是我的中转&#xff1a;openai-api Chatbox配置如下&#xff1a; 模型测试&#xff1a; 1&#xff09;图片生成 2&#xff09;文件分析&#xff0c;链接读取&#xff1a;

WWW2024 | PromptMM:Prompt-Tuning增强的知识蒸馏助力多模态推荐系统

论文&#xff1a;https://arxiv.org/html/2402.17188v1 代码&#xff1a;https://github.com/HKUDS/PromptMM 研究动机 多模态推荐系统极大的便利了人们的生活,比如亚马逊和Netflix都是基于多模态内容进行推荐的。对于研究,人们也遵循工业界的趋势,进行modality-aware的用户…

初步了解序列化和反序列化

01什么是序列化和反序列化 序列化是将对象转化为字符串以便存储的一种方式。而反序列化恰好是序列化的逆过程&#xff0c;反序列化会将字符串转化为对象供程序使用。 常见的php系列化和反系列化方式主要有&#xff1a;serialize&#xff0c;unserialize&#xff1b;json_enco…

删除元素.

C 用迭代器迭代&#xff0c;当条件成立删除元素。 class Solution { public:int removeElement(vector<int>& nums, int val) {for(std::vector<int>::iterator itnums.begin();it!nums.end();){if(*itval){itnums.erase(it);//vector删除时迭代器会失效&…

jenkins 使用k8s插件连接k8s集群

jenkins 安装k8s 插件 配置k8s节点 填写k8s 配置信息 生成秘钥 在服务器上面 查看地址 Kubernetes 服务证书 key cat /root/..kube/config 查看秘钥 对秘钥进行base64 位 加密 echo "秘钥内容" | base64 -d -----BEGIN CERTIFICATE----- MIIDITCCAgmgAwIB…

第一位 AI 程序员诞生,队友还是对手?

前几天&#xff0c;百度创始人李彦宏在采访中声称&#xff1a;“以后不会存在“程序员”这种职业了&#xff0c;因为只要会说话&#xff0c;人人都会具备程序员的能力”。 看到这话我的第一反应是“不可能&#xff0c;绝对不可能&#xff0c;程序员的工作有很大一部分是创造性的…

顺序表后续以及通讯录项目

⽬录 1. 基于动态顺序表实现通讯录项⽬ 2. 顺序表经典算法 3. 顺序表的问题及思考 正⽂开始 继上一篇 1.动态顺序表的查找 这里挺简单的如找不到就返回一个负数&#xff0c;因为索引不可能是负的这里就用来代表找不到 下面是找不到的示例 最终代码可以优化成这样 2.动态…

2024-03-13 作业

网络编程&#xff1a; 1.思维导图&#xff1a; 2.上课写的代码&#xff1a; 2.1网络字节序与主机字节序转换 运行代码&#xff1a; #include <myhead.h> int main() {int num 0x12345678;short int value 0x1234;int num_n htonl(num);int value_n htons(value);…

Window API 使用的一些注意事项

文章目录 1、LPCWSTR类型2、LPCTSTR类型3、LPCSTR类型4、LPCTSTR和LPCWSTR区别5、LPCTSTR和LPCSTR、LPCWSTR三者区别6、_T(" ")7、DWORD类型转换为std::wstring类型8、char类型转换为LPCSTR类型9、获取当前时间戳(毫秒)10、std::wstring和LPCSTR区别11、std::wstring…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Toggle)

组件提供勾选框样式、状态按钮样式及开关样式。 说明&#xff1a; 该组件从API Version 8开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 仅当ToggleType为Button时可包含子组件。 接口 Toggle(options: { type: ToggleType, is…

android studio 连接mumu模拟器调试

1、打开mumu模拟器 2、在Android Studio 中 控制台 cd 到 sdk 目录下 platform-tools 文件夹&#xff0c;有一个adb.exe 可运行程序 一般指令&#xff1a; adb connect 127.0.0.1:7555 但是这个执行在window环境下可能会报错 解决方法是在 adb 之前加 ".\", 问题…

精读《正交的 React 组件》

1 引言 搭配了合适的设计模式的代码&#xff0c;才可拥有良好的可维护性&#xff0c;The Benefits of Orthogonal React Components 这篇文章就重点介绍了正交性原理。 所谓正交&#xff0c;即模块之间不会相互影响。想象一个音响的音量与换台按钮间如果不是正交关系&#xf…

Java初阶数据结构队列的实现

1.队列的概念 1.队列就是相当于排队打饭 2.在排队的时候就有一个队头一个队尾。 3.从队尾进对头出 4.所以他的特点就是先进先出 所以我们可以用链表来实现 单链表实现要队尾进队头出{要有last 尾插头删} 双向链表实现效率高&#xff1a;不管从哪个地方当作队列都是可以的&…

学习JAVA的第二十一天(基础)

多线程 线程&#xff1a; 线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中&#xff0c;是进程中的实际运作单位。 进程&#xff1a; 程序的基本执行实体 并发&#xff1a; 在同一时刻&#xff0c;有多个指令在单个CPU上交替执行 并行&#xff1a; 在同一时刻&…

uniapp h5 部署

uniapp 配置 服务器文件路径 打包文件结构 //nginx 配置 server {listen 8300;server_name bfqcwebsiteapp;charset utf-8;#允许跨域请求的域&#xff0c;* 代表所有add_header Access-Control-Allow-Origin *;#允许带上cookie请求add_header Access-Control-Allow-C…