context augmentation and feature refinement network for tiny object detection的一些理解

本文主要是介绍context augmentation and feature refinement network for tiny object detection的一些理解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

abstract

本文提出了一种结合增强上下文和细化特征的特征金字塔,将多尺度扩张卷积得到的特征自上向下融合注入特征金字塔,不同上下文信息,引入通道和空间特征细化机制,抑制多尺度特征融合中的冲突形成,防止微小目标消失在冲突信息中,此外提出了一种copy-reduction-paste的数据增强方法,该方法可以增加微小对象在训练过程中损失的贡献,确保训练更加均衡。

直接重点!!!

本文是针对FPN来进行改进的,改进网络结构如下图:
在这里插入图片描述

CEM模块

CEM的灵感来自于人类识别物体的模式,例如在非常高的天空中,人类很难分辨出一只鸟,但是将天空作为上下文信息时,人类就很容易分辨出来,因此作者认为上下文信息有助于微小目标的检测。(个人理解:小目标只要背景纯粹,无大量噪音下,还是比较容易检测到的。)
CEM采用不同膨胀率的空洞卷积来获取不同感受野的上下文信息,并从上到下注入FPN中以丰富上下文信息。但由于FPN不同层次之间的语义差异,在共享信息时,会引入冗余信息和冲突信息
在这里插入图片描述

FPM模块

FPM被用来过滤冲突信息,减少语义差异。通过自适应融合不同层间的特征,消除层间的冲突信息,防止小目标消失在冲突信息中。
在这里插入图片描述
为了证明FRM的有效性,作者可视化了一些特征图。微小目标的检测主要由FPN的底层主导,因此仅对底层特征进行可视化。将特征图缩放到相同的尺寸。如图所示,最左边的一列是待检测的输入图像。F3、L3、P3为中对应标签的特征图可视化结果。
在这里插入图片描述
从可视化分析,本文提出的FRM可以大大减少冲突信息(可以理解为减少背景噪音),提高微小目标的检测精度。

Copy-Reduction-Paste

为了保证网络整体在训练过程中不会向较大目标倾斜,作者提出了一种Copy-Reduction-Paste的方法增加训练中微小目标丢失的比列。(个人理解为:变相增加训练过程中微小目标loss的重要性)
在这里插入图片描述
将小目标物体截取出来,粘贴到数据集图片上随机地方,强行增大小目标样本数量,变相增加小目标物体在loss计算中的贡献。
在这里插入图片描述
随机粘贴一次效果最好,与baseline相比,APs提高了2.5%,APm提高了1.9%,对大中型目标的检测性能也略有提高。

消融实验

在这里插入图片描述
总体而言,本文提出的模块可以显著提高目标检测性能,特别是对于微小目标和中等目标,这也符合设计的初衣。如表所示,APs增加了5.4%。APm增加 , APl增加1.0%。同时,不同尺度目标的召回率也有不同程度的提高。具体而言,ARs增加6.9% ARm增加2.3% ,ARl增加1.1%。
在这里插入图片描述

总结

在这里插入图片描述
从上表可以看出,本文提出的算法在VOC数据集上的mAP值高于近年来大多数算法。比 PFPNet-R512 高1.3%。但比IPG-RCNN低1.2% 。这主要是由于Backbone较差,图像尺寸较小,使得检测性能略低于IPG-RCNN。如果用多尺度方法测试算法,VOC数据集上的mAP可以达到85.1%,高于所有参与对比的算法。
在这里插入图片描述
从上表可以看出,本文提出的算法在微小目标的AP和AR方面具有绝对优势。

本文算法比YOLOV4算法提高3.9% (16.9%vs.13%),在比较算法中最高。与RefineDet相比在上高9.2%(29.4% vs. 20.2%),而在上低1.5%。

同时,本文提出的算法对中等目标的AR值最高,对中等目标具有较强的检测能力。

通过以上可以看到,本文提出的算法在微小目标检测方面有很大的优势。微小目标的AP和AR算法都有较好的性能,优于大多数目标检测算法。

这篇关于context augmentation and feature refinement network for tiny object detection的一些理解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/843652

相关文章

一文带你理解Python中import机制与importlib的妙用

《一文带你理解Python中import机制与importlib的妙用》在Python编程的世界里,import语句是开发者最常用的工具之一,它就像一把钥匙,打开了通往各种功能和库的大门,下面就跟随小... 目录一、python import机制概述1.1 import语句的基本用法1.2 模块缓存机制1.

深入理解C语言的void*

《深入理解C语言的void*》本文主要介绍了C语言的void*,包括它的任意性、编译器对void*的类型检查以及需要显式类型转换的规则,具有一定的参考价值,感兴趣的可以了解一下... 目录一、void* 的类型任意性二、编译器对 void* 的类型检查三、需要显式类型转换占用的字节四、总结一、void* 的

深入理解Redis大key的危害及解决方案

《深入理解Redis大key的危害及解决方案》本文主要介绍了深入理解Redis大key的危害及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录一、背景二、什么是大key三、大key评价标准四、大key 产生的原因与场景五、大key影响与危

深入理解C++ 空类大小

《深入理解C++空类大小》本文主要介绍了C++空类大小,规定空类大小为1字节,主要是为了保证对象的唯一性和可区分性,满足数组元素地址连续的要求,下面就来了解一下... 目录1. 保证对象的唯一性和可区分性2. 满足数组元素地址连续的要求3. 与C++的对象模型和内存管理机制相适配查看类对象内存在C++中,规

深入探讨Java 中的 Object 类详解(一切类的根基)

《深入探讨Java中的Object类详解(一切类的根基)》本文详细介绍了Java中的Object类,作为所有类的根类,其重要性不言而喻,文章涵盖了Object类的主要方法,如toString()... 目录1. Object 类的基本概念1.1 Object 类的定义2. Object 类的主要方法3. O

认识、理解、分类——acm之搜索

普通搜索方法有两种:1、广度优先搜索;2、深度优先搜索; 更多搜索方法: 3、双向广度优先搜索; 4、启发式搜索(包括A*算法等); 搜索通常会用到的知识点:状态压缩(位压缩,利用hash思想压缩)。

poj 2349 Arctic Network uva 10369(prim or kruscal最小生成树)

题目很麻烦,因为不熟悉最小生成树的算法调试了好久。 感觉网上的题目解释都没说得很清楚,不适合新手。自己写一个。 题意:给你点的坐标,然后两点间可以有两种方式来通信:第一种是卫星通信,第二种是无线电通信。 卫星通信:任何两个有卫星频道的点间都可以直接建立连接,与点间的距离无关; 无线电通信:两个点之间的距离不能超过D,无线电收发器的功率越大,D越大,越昂贵。 计算无线电收发器D

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

【C++高阶】C++类型转换全攻略:深入理解并高效应用

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C++ “ 登神长阶 ” 🤡往期回顾🤡:C++ 智能指针 🌹🌹期待您的关注 🌹🌹 ❀C++的类型转换 📒1. C语言中的类型转换📚2. C++强制类型转换⛰️static_cast🌞reinterpret_cast⭐const_cast🍁dynamic_cast 📜3. C++强制类型转换的原因📝

深入理解RxJava:响应式编程的现代方式

在当今的软件开发世界中,异步编程和事件驱动的架构变得越来越重要。RxJava,作为响应式编程(Reactive Programming)的一个流行库,为Java和Android开发者提供了一种强大的方式来处理异步任务和事件流。本文将深入探讨RxJava的核心概念、优势以及如何在实际项目中应用它。 文章目录 💯 什么是RxJava?💯 响应式编程的优势💯 RxJava的核心概念