【每日一网】Day13:AZNet详解

AZNet

算法背景

传统的目标检测的方法需要假设一组与目标类别无关region proposal,然后输入检测器,检测器再给每个proposal进行分类,region proposal的作用就是通过限制需要由探测器评估的区域的数量来降低复杂性。然而,随着最近引入的能够共享卷积特征点技术,传统的region proposal算法比如selective search和EdgeBox算法成为检测pipeline的瓶颈。

算法思想

AZNet利用了自适应的搜索策略,算法不是先确定一组anchor,而是从整张图像开始,然后递归的将图像划分为子区域,直到确定的给定区域不太可能包含任何小对象为止,(见figure2):在这里插入图片描述
被分配的区域充当预测附近物体边界框的anchor的任务,算法的一个显著特征是,通过特定区域的特征提取来决定是否进一步划分这个区域,因此,anchor的生成情况取决于图像的内容,对于只有一个小目标的图像,大部分区域在搜索前期就被修剪,只留下附近的几个区域。而对于包含大目标的图像,本文算法将会自适应的退回到大anchor的现有方法,下图为本文算法与RPN网络的对比:在这里插入图片描述

给定一个输入的anchor,AZNet会输出一个标量缩放指示器,该指示器用于决定是否进行进一步缩放(划分)该区域和一组带有置信度的包围框,或邻接预测。随后高置信度的邻接预测被用做region proposal。

算法设计

自适应搜索

论文的目标检测算法大体分为两个步骤
1、使用AZNet自适应搜索生成一组与类别无关的region proposal(见算法1)
2、使用目标检测器评估第一步中的每个region proposal,本文中使用的是fast RCNN
在这里插入图片描述
本文重点改进的是第一步,作者考虑了一种递归搜索的策略,从整个图像开始,对搜索过程中的所有区域,利用算法提取该区域的特征,计算缩放指标和邻接预测,如果缩放指示器高于阈值,则表明当前区域可能含有小目标,因此为了检测这些嵌入的小目标,将当前区域划分为子区域,如图二所示,然后每个子区域以其父区域相同的方式进行递归处理,直到其面积或者缩放指示器小到一定程度,图1说明了这个过程。

缩放模块设计

只有当存在至少一个对象,目标的大部分都在此区域内,并且目标的大小与该区域比足够小的时候,缩放指示器才应该对该区域进行放大。同理,当一个目标比当前区域大时,就应该处理他的父区域。但是在这种情况下,进一步划分区域不仅浪费计算资源,而且在region proposal中引入假阳性,下图展示了缩放指示器常见的情况和期望的情况:

在这里插入图片描述
绿色方框是目标,红色框是region proposal,左图:目标很小,但是目标的大部分在region proposal外,所以不需要放大;中间图:目标大部分在内部,但是目标的大小相对于该区域是很大的,所以不需要缩放;右图:有一个小物体完全在区域内,在这种情况下,region的进一步划分大大增加了发现该目标的机会。
邻接预测的作用是通过提供紧密的包围框来检测一个或者多个与anchor充分重叠的目标。邻接预测的设计应该明确的考了区域内的物体的几何形状,这样训练才具有一致性。因此,我们计划利用一组子anchor进行预测,如图4,注意我们还将anchor本身作为一个额外的prior在这里插入图片描述

训练

作者训练了一个深度神经网络,如图所示:
在这里插入图片描述

注意:除了图4所示的子区域anchor外,作者还添加了region本身作为一个特殊的anchor,每个anchor总共做出11个邻接预测,对于卷积层,作者使用imageNet数据训练的VGG16模型,全链接层在region pooling层之上,该层允许共享卷积层的特征。
训练分为两步:
1、从图像中采集一组region,样本应该包含缩放指示器和邻接预测的正样本和反样本
2、将样本和标签用SGD进行训练

loss函数

如图5所示。AZNet有三个输出层,缩放指示器用一个sigmoid激活函数输出,为了训练缩放指示器,论文使用了交叉熵损失函数常用的二分类。对于邻接预测,边界框参数化为Fast Rcnn,不同于fast-rcnn,为了提供来自于任何区域的多个预测,置信度分数没有归一化到概率向量,相应的,作者使用平滑的L1 loss来作为边界框输出,使用元素交叉熵损失作为置信值输出。这三种损失相加形成一个多任务损失函数。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Azzet 是一个简单的 Java 类库,用于从不同的源中加载资源。示例代码:BufferedImage img = Assets.load("http://www.google.com/logos/classicplus.png"); // loaded from website Font fnt = Assets.load("myfont.ttf", new FontInfo(32.0f)); // loaded from classpath Clip snd = Assets.load("C:\UserData\MyMusic.wav"); // loaded from file-system BufferedImage gif = Assets.loadFrom("mygif.gif", BufferedImage.class); // you can request the return type BufferedImage[] animatedGif = Assets.loadFrom("mygif.gif", "db"); // loads from DatabaseSource saved as "db" Properties props = Assets.loadFrom("app.properties", "tcp"); // loads from TcpSource saved as "tcp"支持的格式包括:JSON (org.magnos.asset.json.JsonValue)XML (org.w3c.dom.Document)PROPERTIES/XML/CONFIG (java.util.Properties, org.magnos.asset.props.Config)GIF (java.awt.image.BufferedImage[])PNG/BMP/WBMP/JPEG/JPG (java.awt.image.BufferedImage)MID/MIDI (javax.sound.midi.Sequence)WAV/AU/AIFF/SND (javax.sound.sampled.Clip)TTF (java.awt.Font)CSV (org.magnos.asset.csv.Table)CLASS/CLAZZ (java.lang.Class)JAR (org.magnos.asset.java.Jar)ZIP (org.magnos.asset.zip.Zip)GZ (org.magnos.asset.AssetInfo)DAT (byte[], java.io.InputStream, java.nio.ByteBuffer, java.io.ByteArrayOutputStream)TXT (java.lang.String, char[], java.nio.CharBuffer, java.lang.StringBuffer, java.lang.StringBuilder)支持的数据源:ClasspathFile-SystemDatabaseJARFTPHTTP/HTTPSUDPTCPSSLUDP Multicast示例代码:FutureAssetBundle bundle = new FutureAssetBundle(); bundle.add( Assets.loadFuture("image.gif", BufferedImage.class) ); bundle.add( Assets.loadFuture("sound.wav", Clip.class) ); BufferedImage image = null; Clip sound = null; // game loop while (running) {    // do stuff    // this occurs during the loading screen....    if (bundle.isComplete()) {        bundle.loaded(); // notify all FutureAsset implementations the asset has been accepted.        image = bundle.getAsset("image.gif");        sound = bundle.getAsset("sound.wav");        // move from loading to play screen    } else {        display bundle.percentComplete();         }    // do other stuff } 标签:Azzet

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值