Efficentdet的进阶之路
论文:https://arxiv.org/pdf/1911.09070.pdf
tf源码:https://github.com/google/automl/tree/master/efficientdet
pytorch源码:https://github.com/JianqiuChen/EfficientDet.Pytorch
MobileNet三部曲
【MobileNet V1】
把普通的卷积变成深度卷积(depthwise convolution)和点对卷积(pointwise convolution)。可以降低大约kernel size 平方倍
kernel 的大小是 DK 生成的特征图的DF M是输入通道数 N是输出通道数
原始的卷积是 DK × DK x DF x DF x M x N
deepwise 卷积是上图中b 表示用M个维度为DKDK1的卷积核去卷积对应输入的M个feature map,然后得到M个结果,而且这M个结果相互之间不累加(传统的卷积是用N个卷积核卷积输入的所有(也就是M个)feature map,然后累加这M个结果,最终得到N个累加后的结果)
c)就是 用N个维度为11M的卷积核卷积(b)的结果,即输入是DFDFM,最终得到DFDFN的feature map。这个就可以当做是普通的一个卷积过程了,所以计算量是DFDF11M*N
【MobileNet V2】
使用流行学习进行证明
1) ReLu会导致的较多的信息损耗在通道数较少的时候
策略:在输出通道较少的时候用线性激活函数,其他时候任然用ReLU6
2)通道数多的时候可以减少损失
策略:当使用ReLU6的时候,增加通道数为输入通道数的t倍
线性瓶颈的倒置残差结构:模块的输入为一个低维的压缩表示特征,首先将其扩展到高维并用轻量级depthwise conv 进行卷积。随后用线性卷积(linear conv)将特征投影回低维表示。
【MobileNet V3】
(1)用MnasNet搜索网络结构ÿ