![a9bb10c8e3283f69f1c0008e805978d0.png](https://i-blog.csdnimg.cn/blog_migrate/522293d2fdff56176fad32dfc7542082.jpeg)
精彩内容
EfficientDet-d6在52M参数和229BFLOPs的情况下,实现了map在COCO数据集的最高水平(50.9),比之前最好的检测器更小,使用更少的FLOPs (13xless FLOPs),但仍然更准确(+0.2% mAP)。
传送门:
https://github.com/google/automl/tree/master/efficiententdet
1引言
模型效率在计算机视觉中变得越来越重要。本文系统地研究了神经网络结构在目标检测中的设计选择,并提出了提高检测效率的几个关键优化方案。首先,我们提出了一种加权双向特征金字塔网络(BiFPN),该网络能够方便、快速地进行多尺度特征融合;其次,我们提出了一种混合缩放方法,可以同时对所有主干、特征网络和box/class预测网络的分辨率、深度和宽度进行均匀缩放。特别是,在单模型和单比例尺的情况下,我们的EfficientDet-d6在52M参数和229BFLOPs1的情况下,实现了map在 COCO数据集的最高水平(50.9),比之前最好的检测器更小,使用更少的FLOPs(13xless FLOPs ),但仍然更准确(+0.2% mAP)。
效果图镇楼:
![041eed942c58a60f756fb7465022ab9d.png](https://i-blog.csdnimg.cn/blog_migrate/b0320872c182e1f65b10fa36c1f574fe.jpeg)
作者提出一个问题:是否能在计算资源有限的前提下既实现效率又保证精度的网络算法?这里面涉及两方面的挑战:
- 高效的多尺度特征融合
提出一个简单而高效的加权双向特征金字塔网络(BiFPN),该网络引入了可学习的权重以了解不同输入特征的重要性,同时反复应用自上而下和自下而上的多尺度特征融合。
- 模型缩放
提出了一种用于目标检测器的复合缩放方法,该方法可联合扩展全骨干,特征网络,盒子/类预测网络的分辨率/深度/宽度
通过对EfficientNet简单的修改,这篇单模型单尺度Efficient-Det 在Pascal VOC 2012语义分段上具有18BFLOP时可达到81.74%mIOU精度,比DeepLabV3+高出1.7%,而FLOP则少9.8倍。
1 BiFPN
![01ca16506f5bc2d2d590ca08d42fd09e.png](https://i-blog.csdnimg.cn/blog_migrate/d33421a4bb5e9cc6965391c81b78d3c4.jpeg)
传统的FPN网络可以用下式进行描述:
![cbc2cf326cdd8a08e740d87dec82d814.png](https://i-blog.csdnimg.cn/blog_migrate/6137c8a7af88f05c8f609b5ff7986f56.jpeg)
P3层特征图的输出有两部分叠加组成,一是本层自身输出,一是P4特征图上采样然后叠加到P3层。
2.1 跨尺度skip-connection
传统的自上而下的FPN固有地受到单向信息流的限制。从上图可以看出FPN是只进行了上采样叠加到各层,后面的改进如PANet和NAS-FPN都提供了双向的信息流。作者的思路基于下面三点考虑:
1, bi-information flow双向信息流。如果一个节点只有一个输入且没有特征融合,那么它将对旨在融合不同特征的特征网络贡献较小;
2,同层short-cut,在同level层输入到输出之间增加了一条额外的边,则可以在不增加成本的情况下融合更多特征;
3,block repeat,与PANet仅有一个自上而下和一个自下而上的路径不同,我们对待每个双向(自上而下和自下而上 向上)作为一个block,并多次重复以实现更多高级特征融合。
通过对PANet的分析,作者发现这种网络精度更好一点,但是网络比较大,计算量也多,效率不高,基于此,作者提出的BiFPN,在精度和效率上进行提升。
其实BiFPN与PANet最主要的区别在于BiFPN在同level增加了自身的shortcut。为了减少计算量又拿掉了p3和p7的一个卷积节点进行简化。
2.2 权值特征融合
这里主要的贡献在于,之前的特征融合只是把不同特征图采样到同一分辨率进行简单的加和,而作者认为不同分辨率的特征图的贡献并不是均等的,不能等同对待,因此提出对不同层的特征图进行权值分配再求和。
作者给出了一种快速归一化融合的权值分配方法:
![d55aeb834c9abeaf7b073c1e1a7b7589.png](https://i-blog.csdnimg.cn/blog_migrate/12759127f1aef5ef08f50ff8532cb682.png)
其中wi≥0是通过在每次wi之后应用Relu来确保的,而= 0.0001是避免数值不稳定的一个小值。类似地,每个归一化权重的值也介于0和1之间,文章里的消融研究表明,这种快速融合方法具有与基于softmax的融合非常相似的学习行为和准确性,但在GPU上的运行速度提高了30%。
以p6层特征图进行举例,可以看出与FPN的区别:
![775813c2973f47b7c4f7b830ca6cd4f8.png](https://i-blog.csdnimg.cn/blog_migrate/24c9e52f514902ffb5e72fe5b7463c8b.jpeg)
3 EfficientDet
3.1 architecture:
![30d1f26993ae03cf79b69034cf9319a2.png](https://i-blog.csdnimg.cn/blog_migrate/13a7efbaf92f8d02e27709813c39ce8f.jpeg)
3.2 Compound Scaling:
- backbone: EfficientNet
我们重用了EfficientNet-B0到B6的相同宽度/深度缩放系数,因此我们可以轻松地重用ImageNet预训练的检查点。
- BiFPN network:
我们将线性增加BiFPN深度(#layers),因为深度需要四舍五入为整数。对于BiFPN宽度(#channels),将BiFPN宽度(#channels)指数增长,类似于EfficientNet。在值列表{1.2、1.25、1.3、1.35、1.4、1.45}上,并选择最佳值1.35作为宽度尺度因子。BiFPN的宽度和深度通过以下公式缩放:
![92fbe6f844e059ec35da17fd8245256c.png](https://i-blog.csdnimg.cn/blog_migrate/119d28d992bb3813dab5a6efb12b0d94.png)
框/类预测网络保持宽度不变,深度按下式线性增长:
![33a6d71ec5022a0147e491a647caa52a.png](https://i-blog.csdnimg.cn/blog_migrate/9dedb72601a681faffb9bc730f887f57.png)
图像分辨率:
![fd7478d3d2769469642729b18170c531.png](https://i-blog.csdnimg.cn/blog_migrate/73f4cd5abe7159533864a6772adfb234.png)
不同的参数fai,就构建起EfficientDet从D0(fai=0)-D6(fai=6)
![9fdfddab374c3a319c1599e6456c2887.png](https://i-blog.csdnimg.cn/blog_migrate/86d05bfc723ad4e234441ea1ec83c18f.png)
3 实验及结果
目标检测:
![bf9522abc67c82278333a89f48040d59.png](https://i-blog.csdnimg.cn/blog_migrate/361d8bcf82b78217067ea20a8da57aa0.jpeg)
目标分割:
![c0b9ec1ed07501c8a3f42c08c2bb3423.png](https://i-blog.csdnimg.cn/blog_migrate/c748738b8fb85e4d3cf3223f9cd1378d.jpeg)
模型大小/gpu/cpu效率对比:
![7d1a1024085c37b45d1655a6c82c4c48.png](https://i-blog.csdnimg.cn/blog_migrate/da339ecc20d19cd0a06e6900795337f8.jpeg)
不同backbone:
![a5d5cc90d5fe1307e60798d73306f667.png](https://i-blog.csdnimg.cn/blog_migrate/6f2dace8b440f85d9eb6aab16b277e41.jpeg)
不同跳连:
![cc52cdaf9d375b95d33a83d980f85327.png](https://i-blog.csdnimg.cn/blog_migrate/ac2caf7cdc08a8d35d1313b883844abf.jpeg)
Softmax vs Fast Normalized Fusion:
![2827a4d60cd2052d47bb3ea48c7d48d9.png](https://i-blog.csdnimg.cn/blog_migrate/21b668da8327e6468a4f40375b2abaa1.jpeg)
不同多尺度方法:
![b21144487b6a150f5b779f58f4296836.png](https://i-blog.csdnimg.cn/blog_migrate/1a23f73bc2b37f68a9162c5de8d4be9f.jpeg)