【常用检测框架】DetNet/Casecade RCNN/FCOS/RetinaNet | 您所在的位置:网站首页 › cascade架构 › 【常用检测框架】DetNet/Casecade RCNN/FCOS/RetinaNet |
DetNet
在DetNet提出之前,检测框架的backbone一般都是用分类框架,或在上面稍加改动。分类框架用于检测有以下几个缺点: 1、stage(不同尺度的特征图,用于多尺度检测)少,只能自己加,但没有相应的预训练的权重。 2、downsample丢失信息严重。分类框架只需要预测类别,相比检测容许丢失更多的信息。 detNet在resNet50的基础上作改进。改动部分为con4_x(stage4)之后的内容,即改动了con5_x,同时加了三个残差单元共9个卷积层形成stage6。所以总共59层。 cascade实际上是一种结构,可以添加都任何含有RPN的检测网络中。 下图展示了(a)Faster RCNN (d) Cascade faster RCNN的结构概略图。图中I表示输入图像,conv表示用于特征提取的backbone, H表示用于产生类别和bbox的head网络, pool表示ROI操作。 C表示类别, B表示bbox坐标信息。 文章:https://arxiv.org/pdf/1708.02002.pdf 作者提出了现在常用的损失函数FocalLoss,顺便设计了一种简单的单阶段网络来验证效果。
FocalLoss定义如下: FCOS是anchor free的检测网络,即不需要手动去设计anchor,而是直接预测每个特征图上的点与待检测框上下左右的距离。为了避免发散要经exp函数处理,必要的话再乘一个缩放系数scale。 例如已知待检测框
[
y
t
o
p
,
y
b
o
t
t
o
m
,
x
l
e
f
t
,
x
r
i
g
h
t
]
[y_{top},y_{bottom},x_{left},x_{right}]
[ytop,ybottom,xleft,xright],某点对应原图的坐标为
x
,
y
x,y
x,y,则网络回归分支该点的期望输出为
[
s
c
a
l
e
×
e
x
p
(
y
t
o
p
−
y
)
,
[
s
c
a
l
e
×
e
x
p
(
y
−
y
b
o
t
t
o
m
)
,
[
s
c
a
l
e
×
e
x
p
(
x
r
i
g
h
t
−
x
)
,
[
s
c
a
l
e
×
e
x
p
(
x
−
x
l
e
f
t
)
]
[scale\times exp(y_{top}-y),[scale\times exp(y-y_{bottom}),[scale\times exp(x_{right}-x),[scale\times exp(x-x_{left})]
[scale×exp(ytop−y),[scale×exp(y−ybottom),[scale×exp(xright−x),[scale×exp(x−xleft)] 因为远离目标的点得到的检测结果不可靠,所以需要提添一个叫Centerness的网络预测该点的置信度。其思想类似于Faster-RCNN中的RPN网络的预测某点是前景的概率 训练过程: 给定真实标签 和真实框, 1,首先判断该点是否在某个真实框内,不在真实框内的不参与训练。 2,不同尺度的特征图’各司其职‘,把要回归的数据限制在一定范围内。比如大特征图只负责预测小物体,小特征图只负责预测大物体。 3,如果某点同时在多个真实框内,则该点只负责预测面积最小的那个框的物体。 4,然后分类网络的损失用FocalLoss, Centerness网络的损失用交叉熵,回归网络的损失用IOULoss。回归的值要乘以置信度再送入损失函数。 |
CopyRight 2018-2019 实验室设备网 版权所有 |