Relation Networks for Object Detection

2024-08-27 19:08

本文主要是介绍Relation Networks for Object Detection,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 目录

1. Background

2. Object Relation Module

3. Duplicate removal

4. Experiment

5. Summary

参考


主要贡献点有两条: 
1. 提出了一种relation module,可以在以往常见的物体特征中融合进物体之间的关联性信息,同时不改变特征的维数,能很好地嵌进目前各种检测框架,提高性能 
2. 在1的基础上,提出了一种特别的代替NMS的去重模块,可以避免NMS需要手动设置参数的问题

1. Background

假设现在有一个显示屏幕,问这是电脑显示屏还是电视屏幕,该怎么判断?如果单纯把屏幕取出来,确实很难回答这个问题,但是如果结合周围的东西,就很好解决了……比如,放在客厅环境、旁边有茶几的是电视,而旁边有键盘和鼠标的是电脑显示屏;又或者,宽度有沙发那么大的是电视,而只比一般座椅稍大一点的是电脑屏…… 
总之,周边其他物体的信息很可能对某个物体的分类定位有着帮助作用,这个作用在目前的使用RoI的网络中是体现不出来的,因为在第二阶段往往就把感兴趣的区域取出来单独进行分类定位了。这篇文章作者就考虑改良这个情况,来引入关联性信息。 
放一个直观的例子,蓝色代表检测到的物体,橙色框和数值代表对该次检测有帮助的关联信息。 

实际上以往也有人尝试过类似的工作,但是由于关联性涉及到对其它物体特征和位置的假设等原因,一直不是个容易的问题,本文作者从google在NLP(https://arxiv.org/abs/1706.03762)方面的一篇论文中的Attention模块得到启发,设计了本文的这种思路。

2. Object Relation Module

这个模块的特点就是联合所有object的信息来提升每个object recognition的准确性。它的模块示意图如下图所示:

 
 
fR(n)fR(n)是第n个relation模块的输出,它是由各个所有物体的apperance特征经过WVWV的维数变化后,又赋予不同的权重叠加得到的……也许看到这里有人疑惑,不是说geometry特征也是输入吗,怎么没看到?其实位置特征是体现在权重里的,第m个物体对于当前第n个物体的权重ωmn的求法如下: 


 

 

 可以看出fg就是一维长度为4的向量,目标长度是dg=64。

 
 
改变为: 
 

上面的N表示RPN选取出来的proposal的个数,比如300。

r1,r2代表重复次数,也可以用图来表示: 

3. Duplicate removal

作者的另一个贡献就是提出了这种可以代替NMS的消除重复框的方法。框架如下: 

4. Experiment

这部分就不详细介绍了,作者主要使用了ResNet 50和101,用两个fc层作为baseline进行了很多对比实验。 
包括:

  • geometric feature特征的使用
  • NrNr的数量
  • relation modules的重复次数
  • 效果的提升是源于relation module还是只是因为多加了几个层
  • NMS和SoftNMS
  • end2end和分阶段训练哪个更好
  • 等等……

最终的实验结果: 

5. Summary

本文主要是在detection当中引入了relation的信息,我个人觉得算是个很不错的切入点,而且motivation是源自NLP的,某种方面也说明了知识宽度的重要性。但是一个比较可惜的点就是,relation module更像是拍脑袋思考了一个方法然后直接去实验验证了,对于relation到底学到了什么,能不能更好地理解这个信息,作者认为这还是个有待解决的问题。期待在relation问题上能看到更多有趣的思路吧。

另外这种RM模块是在RPN选出proposal之后,就直接对这所有的框进行位置关系的计算,这是不合理的,毕竟你只和其中某些有关系,全都用上感觉就有点扯了(这当中可是有很多错误的框,而且也有很多重复的框),应该可以用的更好点的。

这个物体之间的关联的想法我认为是有效的,在作者已经做的实验的基础上再做改进,应该对检测精度是有帮助的。

参考

https://blog.csdn.net/qq_21949357/article/details/80369848

https://blog.csdn.net/u014380165/article/details/80779712

这篇关于Relation Networks for Object Detection的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

【Python报错已解决】AttributeError: ‘list‘ object has no attribute ‘text‘

🎬 鸽芷咕:个人主页  🔥 个人专栏: 《C++干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 文章目录 前言一、问题描述1.1 报错示例1.2 报错分析1.3 解决思路 二、解决方法2.1 方法一:检查属性名2.2 步骤二:访问列表元素的属性 三、其他解决方法四、总结 前言 在Python编程中,属性错误(At

时间序列|change point detection

change point detection 被称为变点检测,其基本定义是在一个序列或过程中,当某个统计特性(分布类型、分布参数)在某时间点受系统性因素而非偶然因素影响发生变化,我们就称该时间点为变点。变点识别即利用统计量或统计方法或机器学习方法将该变点位置估计出来。 Change Point Detection的类型 online 指连续观察某一随机过程,监测到变点时停止检验,不运用到

error while loading shared libraries: libnuma.so.1: cannot open shared object file:

腾讯云CentOS,安装Mysql时: 1.yum remove libnuma.so.1 2.yum install numactl.x86_64

java基础总结12-面向对象8(Object类)

1 Object类介绍 Object类在JAVA里面是一个比较特殊的类,JAVA只支持单继承,子类只能从一个父类来继承,如果父类又是从另外一个父类继承过来,那他也只能有一个父类,父类再有父类,那也只能有一个,JAVA为了组织这个类组织得比较方便,它提供了一个最根上的类,相当于所有的类都是从这个类继承,这个类就叫Object。所以Object类是所有JAVA类的根基类,是所有JAVA类的老祖宗

A Comprehensive Survey on Graph Neural Networks笔记

一、摘要-Abstract 1、传统的深度学习模型主要处理欧几里得数据(如图像、文本),而图神经网络的出现和发展是为了有效处理和学习非欧几里得域(即图结构数据)的信息。 2、将GNN划分为四类:recurrent GNNs(RecGNN), convolutional GNNs,(GCN), graph autoencoders(GAE), and spatial–temporal GNNs(S

MACS bdgdiff: Differential peak detection based on paired four bedGraph files.

参考原文地址:[http://manpages.ubuntu.com/manpages/xenial/man1/macs2_bdgdiff.1.html](http://manpages.ubuntu.com/manpages/xenial/man1/macs2_bdgdiff.1.html) 文章目录 一、MACS bdgdiff 简介DESCRIPTION 二、用法

王立平--Object-c

object-c通常写作objective-c或者obj-c,是根据C语言所衍生出来的语言,继承了C语言的特性,是扩充C的面向对象编程语言。它主要使用于MacOSX和GNUstep这两个使用OpenStep标准的系统,而在NeXTSTEP和OpenStep中它更是基本语言。Objective-C可以在gcc运作的系统写和编译,因为gcc含Objective-C的编译器。在MA

Complex Networks Package for MatLab

http://www.levmuchnik.net/Content/Networks/ComplexNetworksPackage.html 翻译: 复杂网络的MATLAB工具包提供了一个高效、可扩展的框架,用于在MATLAB上的网络研究。 可以帮助描述经验网络的成千上万的节点,生成人工网络,运行鲁棒性实验,测试网络在不同的攻击下的可靠性,模拟任意复杂的传染病的传

Convolutional Neural Networks for Sentence Classification论文解读

基本信息 作者Yoon Kimdoi发表时间2014期刊EMNLP网址https://doi.org/10.48550/arXiv.1408.5882 研究背景 1. What’s known 既往研究已证实 CV领域著名的CNN。 2. What’s new 创新点 将CNN应用于NLP,打破了传统NLP任务主要依赖循环神经网络(RNN)及其变体的局面。 用预训练的词向量(如word2v

【机器学习】生成对抗网络(Generative Adversarial Networks, GANs)详解

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 生成对抗网络(Generative Adversarial Networks, GANs)详解GANs的基本原理GANs的训练过程GANs的发展历程GANs在实际任务中的应用小结 生成对