FOCS论文阅读与总结
【摘要】 FCOS: Fully Convolutional One-Stage Object Detection一种全卷积单阶段目标检测方法作者: Zhi Tian Chunhua ShenHao Che Tong He单位: The University of Adelaide, Australia发表会议及时间: ICCV 2019 研究背景 Anchor base的缺点检测性能对于ancho...
FCOS: Fully Convolutional One-Stage Object Detection
一种全卷积单阶段目标检测方法
作者: Zhi Tian Chunhua Shen
Hao Che Tong He
单位: The University of Adelaide, Australia
发表会议及时间: ICCV 2019
研究背景
Anchor base的缺点
- 检测性能对于anchor的大小,数量,长宽比都非常敏感,通过改变这些超参Retinanet在COCO benchmark上面提升了4%的AP。
- 这些固定的anchor极大的损害了检测器的普适性,导致对于不同任务,其anchor都必须重新设置大小和长宽比。
- 为了去匹配真实框,需要生成大量的anchor,但是大部分的anchor在训练时标记为negative,所以就造成了样本间的不平衡(没有充分利用foreground)
- 在训练中,需要计算所有anchor与真实框的IOU,这样会消耗大量内存和时间。
Anchor free(Fcos)优点
- 单阶段,基于像素预测的思想解决目标检测问题
- anchor free思想帮助加速处理速度,降低内存
- 无需设置繁杂的超参数,只需nms后处理
- 效果佳,超过大部分的anchor base单阶段检测器
- 更简单、更灵活的检测框架
先验知识
CNN与FCNN
CNN为何能在图像领域取得成功?
- 卷积池化操作在提取图像特征的同时,降低其尺度,提高维度
- 接全连接层,将多维立体featuremap转化为固定长度的特征向量
- 特征向量进行分类
基于CNN做图像分割有何弊端?
- 全连接的操作破坏了图像目标之间空间关系
- 只有图像大小相同,最后层feature map拉平后才能保证长度一致
FCN的改进
- 将cnn最后三层全链接换成1*1*4096、1*1*4096、1*1*1000的三个卷积层
- 保存1/8,1/16,1/32(再执行两次卷积)的feature map,分别执行对应倍数的上采样
YOLO V1回顾
yolo V1的不足
- 检测精度低:由于每个cell只有两个box,且只能识别同一目标,对密集型(同一个cell下有多个目标)和小目标检召回率不高;
- 采用了全联接层,测试的图像的大小必须和训练集图像尺寸相同;
- YOLO采用了多个下采样层,网络学到的物体特征并不精细,因此也会影响检测效果;
论文精读
网络结构
- backbone使用FPN
- C5之上并没有继续下采样
- P5之后特征下采样(增加尺度的多样性)
损失函数
Classification采用的是focal loss
Regression采用的是IOU loss
二分类交叉熵损失
其中:
yi:表示样本i的label, 正类为1, 负类为0
pi:表示样本i预测为正的概率
多分类交叉熵损失
M: 类别的数量
yic: 指示变量(0或1) ,如果该类别和样本i的类别相同就是1, 否则是0;
pic: 对于观测样本i属于类别c的预测概率
资料:https://zhuanlan.zhihu.com/p/35709485
普通的交叉熵对于正样本而言, 输出概率越大损失越小。 对于负样本而言, 输出概率越小则损失越小。 此时的损失函数在大量简单样本的迭代过程中比较缓慢且可能无法优化至最优。
Focal loss改进
- 首先在原有的基础上加了一个因子,其中gamma>0使得减少易分类样本的损失。使得更关注于困难的、错分的样本。
- 加入平衡因子alpha,用来平衡正负样本本身的比例不均:文中alpha取0.25,即正样本要比负样本占比小,这是因为负例易分。
IOU loss
先求出2个框的IoU,然后再求个-ln(IoU),在实际使用中,实际很多IoU常常被定义为IoULoss=1-IoU
Centerness
越靠经实际物体的中心点, l与r、 t与b 越接近, 上述公式所得centerness的值越接近1
论文总结
Fcos性能对比
Fcos的优点
- 通过消除预先定义的anchor, FCOS 完全避免了与anchor相关的复杂计算, 例如训练时IOU的计算。 更重要的是还避免了所有与anchor相关的超参数, 这些超参数通常对最终检测性能非常敏感。
- FCOS能够利用更多的前景样本来训练, bbox的位置回归更准确
- FCOS可以检测各种物体, 包括拥挤, 遮挡, 高度重叠, 极小和非常大的物体。
- 可以通过较小的修改, 扩展成语义分割和关键点检测的算法
- 在FPN head添加Group Normalization使训练更稳定
Fcos的思考
- Centerness的思想能否用在其他算法中提高低质量框的抑制
- FCN是分割算法的早期经典, 但精度毕竟有限, 分割效果是否影响最终检测的效果, 是否可以对此进改进
- FCOS是否不适合低空行人检测或者密集人群检测, 因为在这些问题中需要考虑的有很多都是相同尺度的目标的遮挡问题
- 像素级预测时, 如果前景目标较大, 是否会对检测速度造成影响, 能否对这一问题进行优化, 提出新的算法
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)