博客
关于我
FSAF 让网络自己决定实例输出层
阅读量:260 次
发布时间:2019-03-01

本文共 1766 字,大约阅读时间需要 5 分钟。

目标检测系列文章

yolo v1原理:https://blog.csdn.net/cjnewstar111/article/details/94035842
yolo v2原理:https://blog.csdn.net/cjnewstar111/article/details/94037110
yolo v3原理:https://blog.csdn.net/cjnewstar111/article/details/94037828
SSD原理:https://blog.csdn.net/cjnewstar111/article/details/94038536
FoveaBox:https://blog.csdn.net/cjnewstar111/article/details/94203397
FCOS:https://blog.csdn.net/cjnewstar111/article/details/94021688
FSAF: https://blog.csdn.net/cjnewstar111/article/details/94019687

1.FSAF简介

全称为:Feature Selective Anchor-Free Module。为包含FPN的单阶段检测框架增加一个FSAF模块,从而由网络自己选择哪个层来预测哪个实例。

 

2.传统一阶段检测框架(含FPN)是如何进行实例选择的?

如下图所示,样本输入到检测框架之后,会根据样本中的bounding box和FPN中每一个层的anchors求IOU,与哪个anchor的IOU最大,那么那个anchor所在的层用来预测该实例。下图中的汽车实例和P4层的第一个anchor的IOU最大(红色实线框),那么就由P4来负责汽车实例的输出。

由于每一层的anchor是预先根据经验设置的,然后通过与anchor的IOU决定哪一层来预测实例,实际上也是根据经验来决定由哪一层来预测该实例,所以是基于启发式的。那么这种基于启发式的,经验性的选择是最优的吗?能否使用网络自己来决定哪个实例由哪个层来输出?

 

3.FSAF模块架构图

为了让网络自己决定由哪一层来输出实例,引入了FSAF模块,结构如下图所示:

这是论文中的原图,可能不是很清晰,下面这个是我根据自己的理解绘制的FSAF模块的架构图。以P4特征输出为例,两个蓝色的子网络为原来的anchor based的子网络,一个负责输出类别,维度是H*W*K*A(K是类别数,A是anchor数),另一个负责输出四个点的位置偏移。FSAF模块在原来的两个分支结构中各增加一个小的分支,同样的,一个输出类别,一个输出位置偏移信息。由于没有使用anchor,所以输出的类别维度为H*W*K。

 

4.FSAF模块如何选择实例?

通过上面的讲解,FASF模块实际上也是一个完整的物体框预测子网络,它能输出实例的类别和偏移量,本质上就是一个检测子网络。但是它的特点是非常轻量级。那么FSAF模块是如何根据这两个新增加的分支来决定某个实例由哪个feature map来负责输出呢?答案是根据loss值的大小。同样先看论文中的图:

下面是我根据理解绘制的图:

当一个训练样本输入到网络的时候,首先通过各个特征图的FSAF模块求出该特征图下对应的ground truth实例分类loss以及回归loss,并对两个loss求和,作为最终的loss。然后判断哪个loss最小,例如上图中的P3层的FSAF模块的loss最小,那么就由P3层来负责对该训练样本中汽车实例的训练。

 

5.总结:

FSAF实际上是增加了一个非常轻量级的检测子网络来辅助重量级的anchor based检测模块来决定目标实例由哪个特征图来预测。由于FSAF模块是anchor free的,所以它的选择完全是自发的,是根据网络学习到的。效果也比原来的anchor求IOU这种启发式的方式要好。

6.参考资料:

csdn: 作者:冷夏LX

知乎:CVPR2019 | 目标检测 FSAF:为金字塔网络的每一层带去最好的样本 作者:ChenJoya

知乎:[CVPR2019]:FSAF for Single-Shot Object Detection 作者:孙杨威

你可能感兴趣的文章
nginx http配置说明,逐渐完善。
查看>>
Nginx keepalived一主一从高可用,手把手带你一步一步配置!
查看>>
Nginx Location配置总结
查看>>
Nginx log文件写入失败?log文件权限设置问题
查看>>
Nginx Lua install
查看>>
nginx net::ERR_ABORTED 403 (Forbidden)
查看>>
vue中处理过内存泄露处理方法
查看>>
Nginx RTMP 模块使用指南
查看>>
Nginx SSL 性能调优
查看>>
nginx ssl域名配置
查看>>
Nginx SSL私有证书自签,且反代80端口
查看>>
Nginx upstream性能优化
查看>>
Nginx 中解决跨域问题
查看>>
nginx 代理解决跨域
查看>>
Nginx 做负载均衡的几种轮询策略分析
查看>>
Nginx 入门,一篇搞定!
查看>>
Nginx 利用代理转发请求示例
查看>>
Nginx 动静分离与负载均衡的实现
查看>>
Nginx 反向代理 MinIO 及 ruoyi-vue-pro 配置 MinIO 详解
查看>>
nginx 反向代理 转发请求时,有时好有时没反应,产生原因及解决
查看>>