[阅读笔记]EfficientDet
EfficientDet
文章阅读
Google的网络结构不错,总是会考虑计算性能的问题,从mobilenet v1到mobile net v2.这篇文章主要对近来的FPN结构进行了改进,实现了一种效果和性能兼顾的BiFPN,同时提供了D0-D7不同的配置,计算量和精度都逐级增大.相比maskrcnn,retinanet,更低的计算量还能达到更好的效果.
BiFPN
主要有亮点:高效的双向不同尺度的特征融合,带权重的特征融合
多尺度特征的融合
首先是各种FPN结构的演进和比较,(a)普通的FPN只有自顶向下的连接 (b)PANet还加了自底向上的连接,(c)NAS-FPN通过搜索找到一种不规则的连接结构.(d-f)是本文探讨的结构,(d)所有的尺度使用最全的连接,计算也最复杂,(e)PANet简化,去除只有一个输入的结点,(f)本文最终的BiFPN结构
- PANet效果好于FPN和NAS-FPN,计算代价也更高
- 如果一个结点本身没有融合的特征,那么对以特征融合为目标的结构贡献就不大(why?).所以(e)中移除了P3,P7的中间结点
- 同一尺度的输入和输出又加了一个连接,因为计算量不大.得到(f)
- (f)中虚线框内作为一层,会重复多次,以得到high-level feature fusion.
加权融合
从Pyramid attention networks得到启发,不同尺度的特征的贡献是不一样的,所以连接时需要加上权重,而权重通过网络学到的.
文章比较了三种加权的方法,Fast normalized fusion相比Softmax-based fusion方法,效果一致,但速度更快.
网络结构
backbone取自ImageNet-pretrained EfficientNet.P3-P7接本文的BiFPN Layer,重复多次.class and box分支共享权重.
为了适应不同的精度和性能,文章提出了Compound Scaling方法,只需一个参数控制input size, backbone, BiFPN layers和channels, Box/class depth.得到了D0-D7不同计算量的模型.
实验和试验结果
- D0与YOLOv3同样精度下,FLOPs少28x
- D1与RetinaNet , Mask-RCNN比较,参数少8x,FLOP少25x,精度类似.
- D7达到51mAP,同时更快参数更少.
Ablation Study
- 相比Resnet50,EfficientNet B3 backbone提升3mAP.BiFPN比FPN提升4mAP
- 加权比不加权连接,提升0.45mAP.
- Fast Normalized Fusion对比Softmax,表现接近,速度快30%