Dynamic Zoom-in Network for Fast Object Detection in Large Images

2023-11-30 12:50

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

 Dynamic Zoom-in Network for Fast Object Detection in Large Images

                                           Mingfei Gao1 Ruichi Yu1 Ang Li2_ Vlad I. Morariu3_ Larry S. Davis1

                                           1University of Maryland, College Park 2DeepMind 3Adobe Research  

                                                        论文地址:https://arxiv.org/abs/1711.05187

  

Introduction

  • 背景介绍

  目标检测领域常用数据集有VOC2007/2012(500×400)MS COCO(600×400)等等。在经典的卷积

  神经网络(CNN)检测器中,图像是  在低的分辨率下进行卷积操作,计算成本相对低。然而,实际应用中,

  我们使用的图片是高分辨率的,已经超过了这些数据集。CNN检测器直接应用于这些高分辨率图像需要大量的处理时间。

                                       

  • 相关解决方法

 通过简化网络结构来加速检测和减少GPU内存消耗;

 针对特定的网络结构定制的,不适用于新结构

 将图像分割成满足内存的子图像,并对每个子图像进行检测;

 计算繁琐

在向下采样的图像上使用现有的检测器;

 对小目标的检测效果是不好的

  • 研究思路

​​​​​​​应用场景:不同大小的物体出现在高分辨率图像中

任务:目标检测

目标:在保持精度的同时,降低了目标检测的计算成本

  • 理论基础

目标检测主流的框架:One-Stage:YOLOSSD;  Two-Stage: Faster R-CNN

处理大尺寸图像策略可以是避免处理整个图像,而是按顺序研究小区域

RL是顺序搜索策略的一种机制,其模型应用于具有一系列动作组合的序列化决策场景中

Algorithm

  • Dynamic zoom-in network

​​​​​​​

策略:coarse-to-fine ,在低分辨率下应用检测器,并使用该检测器的输出指导对高分辨率图像下目标的深入搜索

Input:   Down Sampled Image

R-netCoarse Detector 进行检测,利用其检测结果预测图像目标区域在高分辨率下检测的效益

Q-net基于R-net的输出(AG Map),输出若干个可供选择的放大区域

选择值最大的区域,对其运行Fine Detector,之后不断迭代且对AG Map进行更新重复第三第四步,直到

AG Map值满足某个条件后,结束算法

  • a zoom-in accuracy gain regression network

R-net目标:根据粗检测结果预测特定区域的放大(精检测)精度增益

输入:低分辨率图像(1/2原图像)

Coarse detectorFaster R-CNN

输出:AG map

训练R-net:使用两个预先训练过的检测器应用在一同训练集上,得到两组图像检测结果:

low-resolution:     ???,???,???{(d_i^l,p_i^l,f_i^l )}            high-resolution:      ???,??? {(d_j^l,p_j^l  )}

d为检测边界框;p为目标物体的概率;f为对应检测的特征向量,hl表示高分辨率和低分辨率,i,j分别表示两个检测器预测出目标

match layer:对两个检测方案配对(  ??????,???IoU(d_i^l,d_j^l ) >>0.5 ),每个proposal生成一组对应关系:    ???,???,??h???{(d_k^l,p_k^l,p_k^h f_k^l )}

 

CR Layer估计proposal k的放大精度增益( a zoom-in accuracy gain ), CR层包含两个全连接的层,其中第一层有4096个单元,第二层只有一个输出单元。

训练CR Layer

 输入: ???,???,??h???{(d_k^l,p_k^l,p_k^h f_k^l )}

当高分辨率得分pkl比低分辨率得分pkh更接近于Groundtruth时,函数表明proposal k值得进一步放大。否则,在下采样图像上应用检测器可能会产生更高的精度,所以我们应该避免放大proposal k

AG map:根据每个proposal的a zoom-in accuracy gain ,可以生成AG图:

  • a zoom-in Q function network

​​​​​​​

 

Q-net任务:AG map作为输入,找一个最可能存在物体的位置,去原图像中取相应的高分辨率图像,运行fine detector,之后进行迭代,AG Map更新,直到到底指定结束条件( AG Map的所有值之和小于0.1)

输入:AG Map 

输出:Output Maps:某状态下各个action(区域)reward

强化学习

机器学习的学习算法分为监督学习,非监督学习,强化学习。

马尔可夫决策过程(序列化决策问题):

三要素:状态(state),动作(action),奖赏(reward)

在每一动作,系统观察当前状态,评估采取不同行动的潜在回报,并选择具有最大长期回报的动作

应用: Alpha GoAndrew Ng的直升机控制

Action.选择要在高分辨率下分析的区域,每个动作都可以用一个元组(x , y, w , h)表示

State.表示两种类型的信息:

1)待分析区域的预测精度增益

2)已经用高分辨率分析过的区域的历史(避免被多次被分析)

state这里使用AG Map作为状态表示 

Cost-aware reward function.

 

在训练过程中,Q-net使用这个奖励函数来计算采取行动的即时奖励,保证了在有限的计算量下能保持较高的精度

a long-term reward function:

未来奖励的影响程度 : γ=0.5

在给定当前状态下,采取行动的最优reward等于其当前reward与该行动触发的下一状态下的最优reward的组合

通过Q-Net(DQN)学习一个长期的奖励函数

Loss function:

网络的参数:  θi-=θi-C  C = 10    γ=0.5  C是一个常数参数

DQN中的target Q网络:采样的方式计算“真实值”, target Q网络是每隔一段时间才会更新,即权重更新的比较慢

ϵgreedy策略:它以ϵ的概率从所有的action中随机抽取一个;以1−ϵ的概率抽取最大reward 的action

Output maps:

AG Map 经过下采样、卷积后分为两个并行的通道(通过不同的卷积核),每个管道输出action – reward map,对应于具有特定大小的放大区域。值表示该action以低成本提高准确性的可能性

Region selection:

对连两个特定尺寸的若干个区域进行排序,选择最大的reward作为当前状态下的action

Run fine detector:

对被选择的区域,去原图像中取相应的高分辨率图像进行 fine detector。我们得到该区域目标的精细检测结果,然后用精检测的结果替换粗检测的结果。

Update & Iterate:

在对一个区域进行缩放并执行检测之后,AG Map中该区域内的所有值都设置为0,

以防止将来对同一区域进行缩放;不断迭代直到AG Map内的值之和小于0.1,迭代结束

Experimental 

 

  • Window selection refinement

refinement之前,由于采样稀疏网格的关系,windows很可能会将人切一半,导致检测性能很差。

细化局部调整窗口的位置,产生更好的结果

  • Q-net* vs. GS

​​​​​​​

使用Q-net*与贪婪策略(GS)进行定性比较,贪婪策略的每一步选择是预测精度增益最高的区域

Q-net选择的区域在短期内似乎不是最优的,但在长期内缩放序列更好,这导致步骤更少,如第一行所示

  • R-net vs. ER

​​​​​​​

ER检测器输出的熵(对象与无对象)是另一种测量粗检测质量的方法

ERaccuracy gain计算:

在粗检测区域足够好或者优于细检测区域,R-net给出的正面分数相对于ER较低;

而在精细检测比粗检测好得多的区域生成更高的分数

  • Detection accuracy comparisons

     

    CPDThe image resolution in the CPD dataset is low (640×480)

    WPImages are rescaled to 2,000 pixels on the  longer side to fit for our GPU memor   

 

    Qnet*该方法使用Q-net进行细化,对Q-net选择的放大窗口进行局部调整

    Rnet*这是一个R-net学习使用的奖励函数,没有显式编码成本( 朗达= 0

    Qnet-FC我们为Q-net开发了具有两个完全连接(FC)层的变体,每个输出单元表示图像上的一个采样窗口

  • Ours vs. Single-shot detectors

     ​​​​​​​

     ​​​​​​​

  • Detection accuracy comparisons in terms of Aperc​​​​​​​

​​​​​​​ 

 Conclusion

作者提出了一种dynamic zoom-in network,在不改变底层检测器结构的情况下,提高了对大图像的目标检测速度。

首先用R-net对图像进行降采样和处理,以预测放大区域的accuracy gain

然后,Q-net依次选择放大奖励高的区域进行精细检测。

实验表明,该方法对加州理工学院行人检测数据集(CPD)和高分辨率行人数据集(WP)有效的

这篇关于Dynamic Zoom-in Network for Fast Object Detection in Large Images的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Retrieval-Augmented Generation for Large Language Models A Survey

Retrieval-Augmented Generation for Large Language Models: A Survey 文献综述 文章目录 Retrieval-Augmented Generation for Large Language Models: A Survey 文献综述 Abstract背景介绍 RAG概述原始RAG先进RAG预检索过程后检索过程 模块化RAGMo

Python: create object

# encoding: utf-8# 版权所有 2024 涂聚文有限公司# 许可信息查看:# 描述:# Author : geovindu,Geovin Du 涂聚文.# IDE : PyCharm 2023.1 python 3.11# Datetime : 2024/6/15 18:59# User : geovindu# Product :

论文阅读--Efficient Hybrid Zoom using Camera Fusion on Mobile Phones

这是谷歌影像团队 2023 年发表在 Siggraph Asia 上的一篇文章,主要介绍的是利用多摄融合的思路进行变焦。 单反相机因为卓越的硬件性能,可以非常方便的实现光学变焦。不过目前的智能手机,受制于物理空间的限制,还不能做到像单反一样的光学变焦。目前主流的智能手机,都是采用多摄的设计,一般来说一个主摄搭配一个长焦,为了实现主摄与长焦之间的变焦,目前都是采用数字变焦的方式,数字变焦相比于光学

【进阶篇-Day5:JAVA常用API的使用(Math、BigDecimal、Object、包装类等)】

目录 1、API的概念2、Object类2.1 Object类的介绍2.2 Object的toString()方法2.3 Object的equals()方法2.4 Objects概述 3、Math类4、System类5、BigDecimal类6、包装类6.1 包装类的概念6.2 几种包装类(1)手动转换包装类:(2)自动转换包装类:(3)Integet常用方法:(4)练习: 1

玩转Web之Json(四)---json与(Object/List/Map)的相互转化

在做web应用时,经常需要将json转化成Object/list/map或者将Object/List/map转化成json,通过简单封装可以在写代码是减轻很多负担。本文将给出json转化的一系列方法。 闲话不 多说,直接上代码: 先是Object /List /Map转化为Json /* 功能 :将一个对象转成json数组* 参数 :object对象* retu

Selenium使用Page Object实现页面自动测试

原文转自:https://blog.csdn.net/zhenyu5211314/article/details/13632083 Page Object模式是Selenium中的一种测试设计模式,主要是将每一个页面设计为一个Class,其中包含页面中需要测试的元素(按钮,输入框,标题等),这样在Selenium测试页面中可以通过调用页面类来获取页面元素,这样巧妙的避免了当页面元素id或者位置变

BookSim2 安装步骤教程 Network-on-Chips (NoCs) 片上网络模拟器 含视频

BookSim简介 BookSim2 一个用于Network-on-Chips (NoCs) 芯片上网络的周期精确模拟器。该模拟器的设计是为了实现网络组件的模拟灵活性和精确建模。  BookSim1 是一个通用的网络模拟器,并不专门针对片上环境。不支持在片上网络环境中提出的一些更先进的功能和拓扑结构。 背景 随着集成在单个芯片上的核心和模块数量的不断增加,片上网络正成为现代微处理器不可或缺

论文《Tree Decomposed Graph Neural Network》笔记

【TDGNN】本文提出了一种树分解方法来解决不同层邻域之间的特征平滑问题,增加了网络层配置的灵活性。通过图扩散过程表征了多跳依赖性(multi-hop dependency),构建了TDGNN模型,该模型可以灵活地结合大感受场的信息,并利用多跳依赖性进行信息聚合。 本文发表在2021年CIKM会议上,作者学校:Vanderbilt University,引用量:59。 CIKM会议简介:全称C

OSS报错The difference between the request time and the current time is too large

目录 一、问题描述二、问题原因三、解决方法 一、问题描述 文件上传阿里云 OSS 报错: The difference between the request time and the current time is too large 二、问题原因 请求发起的时间超过 OSS 服务器当前时间 15 分钟,OSS 判定该请求无效,返回报错。 三、解决方法 OSS

tessy 单元测试 TDE 界面 数据无法填充:the test object interface is incomplete

目录 1,失败现象 2,失败原因 3,解决办法 1,失败现象         函数名字前的图标高度缩小为正常的一半,TDE界面的数据无法填充。错误提示为题目中的英文。 2,失败原因         TIE界面,此函数的参数的 passing 方向有 unknown,未正确识别。 3,解决办法         将 interface 栏的所有参数的 passing 和