EfficientDet: 目标识别领域的 EfficientNet --个人理解记录
前言:
论文标题:EfficientDet: Scalable and Efficient Object Detection
论文地址:[EfficientDet: Scalable and Efficient Object Detection
阅读本文可能需要一些其他模型或算法方面的先验知识:
- 对 FPN 特征金字塔网络要了解
- 对 EfficientNet 分类模型架构要熟悉
摘要
- 了解FPN 和 PANet
- 在PANet 的基础上作者进行了修改
- 删掉那些只有一个输入边的节点,因为只有一个输入边的节点就没有特征融合,对特征网络的贡献少
- 添加了从原始输入到输出节点的边(同一级别的输入输出)
- 把双向路径看作是一个特征网络层,就可以多次重复特征层得到更多的特征融合。(就是图中f子图,可以把f图当作一个层,可以多次重复,前一层的5个输出( [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-06pBPh2M-1609757136211)(https://www.zhihu.com/equation?tex=P_3%5E%7Bout%7D%5Csim+P_7%5E%7Bout%7D)] )当作后一层的5个输入)
图文并茂
1 FPN 和 PANet
有图片可以看出来,只是多加一个bottom-up 路径
2 PANet 的三个变体之如何变成BiNet-1
这里可以看到P7 和 P3 的中间层因为只有一个输入边,所以将该中间节点给删除了
2 PANet 的三个变体之如何变成BiNet-2
P7(IN)----------------->P7(OUT)
\ ^
\ |
\ |
\ |
\ |
\ |
\ |
| |
P6(IN)---->P6(TD)------->P6(OUT)
| ^
| |
P5(IN)---->P5(TD)------->P5(OUT)
| ^
| |
P4(IN)---->P4(TD)------->P4(OUT)
\ ^
\ |
\ |
\ |
\ |
\ |
P3(IN)----------------->P7(OUT)
加权特征融合:
举个例子: P6 and P5
P6(TD) = Conv((W1 * P6(IN) + W2 * RESIZE(P7(IN))) / (W1 + W2 * E)).
P6(OUT) = Conv((W1' * P6(IN) + W2' * P6(TD) + W3' * RESIZE(P5(OUT))) / (W1' + W2' + W3' * E))
P5(TD) = Conv((W1 * P5(IN) + W2 * RESIZE(P6(TD))) / (W1 + W2 * E)).
P5(OUT) = Conv((W1' * P5(IN) + W2' * P5(TD) + W3' * RESIZE(P4(OUT))) / (W1' + W2' + W3' * E))
3 BiNet 组合起来
多个BINET 组合起来变成一个
4复合尺度变换
首先通过Figure2了解下model scaleing的含义。作者将目前分类网络的model scaling大致分为:加宽网络、加深网络和增大分辨率,也就是分别对应Figure2中的(b)、(c)、(d),这3个分别从不同的维度来做model scaling,举个例子,对ResNet网络做深度方面的model scaling可以得到ResNet50、ResNet101等不同深度的网络结构。而这篇论文要做的是将这3者结合起来一起优化,也就是(e)。
参考
博客:EfficientNet算法笔记 https://blog.youkuaiyun.com/u014380165/article/details/90812249
博客:EfficientDet:目标识别领域的 EfficientNet https://blog.youkuaiyun.com/weixin_37179744/article/details/103217305