PulseFocusPlatform/static/configs/anchor_free
p73692015 0cab1d8282 第一次提交 2022-06-01 11:18:00 +08:00
..
README.md 第一次提交 2022-06-01 11:18:00 +08:00
cornernet_squeeze_dcn_r50_vd_fpn.yml 第一次提交 2022-06-01 11:18:00 +08:00
cornernet_squeeze_dcn_r50_vd_fpn_mixup_cosine.yml 第一次提交 2022-06-01 11:18:00 +08:00
cornernet_squeeze_hg104.yml 第一次提交 2022-06-01 11:18:00 +08:00
cornernet_squeeze_r50_vd_fpn.yml 第一次提交 2022-06-01 11:18:00 +08:00
fcos_dcn_r50_fpn_1x.yml 第一次提交 2022-06-01 11:18:00 +08:00
fcos_dcn_r50_fpn_1x_cutmix.yml 第一次提交 2022-06-01 11:18:00 +08:00
fcos_r50_fpn_1x.yml 第一次提交 2022-06-01 11:18:00 +08:00
fcos_r50_fpn_multiscale_2x.yml 第一次提交 2022-06-01 11:18:00 +08:00
pafnet_10x_coco.yml 第一次提交 2022-06-01 11:18:00 +08:00
pafnet_lite_mobilenet_v3_20x_coco.yml 第一次提交 2022-06-01 11:18:00 +08:00
ttfnet_darknet.yml 第一次提交 2022-06-01 11:18:00 +08:00

README.md

Anchor Free系列模型

内容

简介

目前主流的检测算法大体分为两类: single-stage和two-stage其中single-stage的经典算法包括SSD, YOLO等two-stage方法有RCNN系列模型两大类算法在PaddleDetection Model Zoo中均有给出它们的共同特点是先定义一系列密集的大小不等的anchor区域再基于这些先验区域进行分类和回归这种方式极大的受限于anchor自身的设计。随着CornerNet的提出涌现了多种anchor free方法PaddleDetection也集成了一系列anchor free算法。

模型库与基线

下表中展示了PaddleDetection当前支持的网络结构具体细节请参考算法细节

ResNet50 ResNet50-vd Hourglass104 DarkNet53
CornerNet-Squeeze x x
FCOS x x x
TTFNet x x x

模型库

COCO数据集上的mAP

网络结构 骨干网络 图片个数/GPU 预训练模型 mAP FPS 模型下载 配置文件
CornerNet-Squeeze Hourglass104 14 34.5 35.5 下载链接 配置文件
CornerNet-Squeeze ResNet50-vd 14 faster_rcnn_r50_vd_fpn_2x 32.7 47.01 下载链接 配置文件
CornerNet-Squeeze-dcn ResNet50-vd 14 faster_rcnn_dcn_r50_vd_fpn_2x 34.9 40.43 下载链接 配置文件
CornerNet-Squeeze-dcn-mixup-cosine* ResNet50-vd 14 faster_rcnn_dcn_r50_vd_fpn_2x 38.2 39.70 下载链接 配置文件
FCOS ResNet50 2 ResNet50_cos_pretrained 39.8 18.85 下载链接 配置文件
FCOS+multiscale_train ResNet50 2 ResNet50_cos_pretrained 42.0 19.05 下载链接 配置文件
FCOS+DCN ResNet50 2 ResNet50_cos_pretrained 44.4 13.66 下载链接 配置文件
TTFNet DarkNet53 12 DarkNet53_pretrained 32.9 85.92 下载链接 配置文件

注意:

  • 模型FPS在Tesla V100单卡环境中通过tools/eval.py进行测试
  • CornerNet-Squeeze要求使用PaddlePaddle1.8及以上版本或适当的develop版本
  • CornerNet-Squeeze中使用ResNet结构的骨干网络时加入了FPN结构骨干网络的输出feature map采用FPN中的P3层输出。
  • *CornerNet-Squeeze-dcn-mixup-cosine是基于原版CornerNet-Squeeze优化效果最好的模型在ResNet的骨干网络基础上增加mixup预处理和使用cosine_decay
  • FCOS使用GIoU loss、用location分支预测centerness、左上右下角点偏移量归一化和ground truth中心匹配策略
  • Cornernet-Squeeze模型依赖corner_pooling op该op在ppdet/ext_op中编译得到,具体编译方式请参考自定义OP的编译过程

算法细节

CornerNet-Squeeze

简介: CornerNet-SqueezeCornernet基础上进行改进预测目标框的左上角和右下角的位置同时参考SqueezeNet和MobileNet的特点优化了CornerNet骨干网络Hourglass-104大幅提升了模型预测速度相较于原版YOLO-v3,在训练精度和推理速度上都具备一定优势。

特点:

  • 使用corner_pooling获取候选框左上角和右下角的位置
  • 替换Hourglass-104中的residual block为SqueezeNet中的fire-module
  • 替换第二层3x3卷积为3x3深度可分离卷积

FCOS

简介: FCOS是一种密集预测的anchor-free检测算法使用RetinaNet的骨架直接在feature map上回归目标物体的长宽并预测物体的类别以及centernessfeature map上像素点离物体中心的偏移程度centerness最终会作为权重来调整物体得分。

特点:

  • 利用FPN结构在不同层预测不同scale的物体框避免了同一feature map像素点处有多个物体框重叠的情况
  • 通过center-ness单层分支预测当前点是否是目标中心消除低质量误检

TTFNet

简介: TTFNet是一种用于实时目标检测且对训练时间友好的网络对CenterNet收敛速度慢的问题进行改进提出了利用高斯核生成训练样本的新方法有效的消除了anchor-free head中存在的模糊性。同时简单轻量化的网络结构也易于进行任务扩展。

特点:

  • 结构简单仅需要两个head检测目标位置和大小并且去除了耗时的后处理操作
  • 训练时间短基于DarkNet53的骨干网路V100 8卡仅需要训练2个小时即可达到较好的模型效果

如何贡献代码

我们非常欢迎您可以为PaddleDetection中的Anchor Free检测模型提供代码您可以提交PR供我们review也十分感谢您的反馈可以提交相应issue我们会及时解答。