深度可分离卷积Depthwise Separable Convolution

参考:https://blog.csdn.net/u011974639/article/details/79199306

深度可分离卷积在MobileNet和Xception中出现过,这里只是理解卷积过程,不涉及MobileNet和Xception。

通俗来说,深度可分离卷积就是:把标准卷积分解成深度卷积(depthwise convolution)逐点卷积(pointwise convolution)。这么做的好处就是可以再损失精度不多的情况下大幅度降低参数量和计算量。分解过程如下:

深度可分离卷积Depthwise Separable Convolution_第1张图片

深度可分离卷积Depthwise Separable Convolution_第2张图片

深度分离卷积示例

输入图片大小(6,6,3),原卷积操作用(4,4,3,5)的卷积(卷积核大小为4x4,卷积核通道为3,卷积核数量为5),stride=1,padding=0。输出的特征尺寸为(6-4)/1+1=3,即输出的特征映射为(3,3,5)

标准卷积中选取序号为n的卷积核,大小为(4,4,3),标准卷积过程示意图如下(省略bias):

深度可分离卷积Depthwise Separable Convolution_第3张图片

黑色的输入为(6,6,3) 与第n个卷积核对应,每个通道对应每个卷积核通道卷积得到输出,最终输出为2+0+1=3(这是常见的卷积操作,注意这里卷积核要和输入的通道数相同,即图中表示的3个通道~)

 

对于深度分离卷积,把标准卷积(4,4,3,5)分解为:

  • 深度卷积部分:大小为(4,4,1,3) ,作用在输入的每个通道上,输出特征映射为(3,3,3)
  • 逐点卷积部分:大小为(1,1,3,5),作用在深度卷积的输出特征映射上,得到最终输出为(3,3,5)

例中深度卷积卷积过程示意图如下:

 

深度可分离卷积Depthwise Separable Convolution_第4张图片

输入有3个通道,对应着有3个大小为(4,4,1) 的深度卷积核,卷积结果共有3个大小为(3,3,1) ,我们按顺序将这卷积按通道排列得到输出卷积结果(3,3,3) 。

深度可分离卷积Depthwise Separable Convolution_第5张图片

你可能感兴趣的:(计算机视觉)