点击上方“CVer”,选择加"星标"置顶
重磅干货,第一时间送达
本文作者:BigBoss
https://zhuanlan.zhihu.com/p/259314634
打个广告,欢迎大家找我内推。
https://zhuanlan.zhihu.com/p/260428511
我个人的观点,FCOS 应该算入门检测最合适的文章。
一茬茬同学第一次读 Faster R-CNN 时估计大多数都没有搞明白 anchor 的作用,FCOS 是 anchor free 的方法,可以先绕过 anchor 的概念。Paper 中用的 FPN 结构示意图上画得也比较清楚,如果看 FPN 原文,还要涉及到 RPN 和 Fast R-CNN 的不同处理,知道 top-down 和 bottom-up 的思想应该足够了。
简单总结 FCOS 无 cost 涨点 trick,大部分参考了 mmdetection 的源码。源自我面试时候最喜欢问的问题:这篇 paper 有什么不足,后续有哪些改进。
1. centerness 分支的位置
原始论文:centerness 分支与 cls 分支共享前面几个卷积
改进 trick:centerness 分支挪到 reg 分支,参考
https://github.com/tianzhi0549/FCOS/issues/89#issuecomment-516877042
2. center sampling
原始论文:GT bbox 内的点,分类时均作为正样本(下图上面小图的所有黄色区域)。
改进 trick:只有 GT bbox 中心附近的 radius * stride 内的小 bbox(可以叫 center bbox)内的点,分类时才作为正样本(下图下面小图的黄色和绿色区域)。
3. bbox norm
原始论文:假设 FPN 某个 stride feature map 上某个点的回归预测值为 x,则对应的值 ,其中 s_i 为 stride。
改进 trick:假设 FPN 某个 stride feature map 上某个点的回归预测值为 x,则对应的值为 。加入 ReLU 可以保证结果非负。注意训练时需要将与 GT 边界的距离,除以 FPN 对应 feature map 的 stride 作为目标值。
4. bbox loss weight
原始论文:所有正样本点的 weight 平权。
改进 trick:将样本点对应的 centerness 作为权重,离 GT 中心越近,权重越大。
5. reg loss
原始论文:IoU loss。
改进 trick:GIoU,参考:目标检测回归损失函数简介:SmoothL1/IoU/GIoU/DIoU/CIoU Loss
https://giou.stanford.edu/GIoU.pdf
6. centerness 分支的 label
原始论文:利用 l,t,r,b 计算 centerness。
改进 trick:直接用 IoU,参考 GFL 中的 Why is IoU-branch always superior than centerness-branch? 。小目标的 centerness 值比较小,最终 cls 分数很容易被阈值卡掉。另外 GFL 中改进了 cls 和 reg loss,替翔哥做个广告。 @李翔
GFL 详见:NeurIPS 2020 | Focal Loss改进版来了!GFocal Loss:良心技术,无Cost涨点!
https://arxiv.org/abs/2006.04388
目标检测综述下载
在CVer后台回复:目标检测二十年,即可下载39页的目标检测最全综述,共计411篇参考文献。
下载2
后台回复:CVPR2020,即可下载代码开源的论文合集
后台回复:ECCV2020,即可下载代码开源的论文合集
后台回复:YOLO,即可下载YOLOv4论文和代码
重磅!CVer-目标检测 微信交流群已成立
扫码添加CVer助手,可申请加入CVer-目标检测 微信交流群,目前已汇集4000人!涵盖2D/3D目标检测、小目标检测、遥感目标检测等。互相交流,一起进步!
同时也可申请加入CVer大群和细分方向技术群,细分方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch和TensorFlow等群。
一定要备注:研究方向+地点+学校/公司+昵称(如目标检测+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群
▲长按加群
▲长按关注我们
麻烦给我一个在看