LEDNet发表于2019年5月,LEDNet采用的是非对称结构的网络来实现实时的语义分割。在编码阶段,编码器采用了resnet作为backbone,每个resnet block利用通道分离和shuffle操作来降低计算量的同时保证了准确率,另一方面,在解码阶段,采用注意力金字塔网络(APN)来进一步的降低整个网络的复杂性。
编码器的核心单元是一个新颖的残差模块(如图1.d所示。模块取名SS-bnt),该模块利用跳跃连接以及通道split和shuffle的卷积。跳跃连接允许卷积学习有助于训练的残差函数,split and shuffle操作增强了通道间的信息交换,同时保持了与一维分解卷积相似的计算成本。在解码器中,作者设计了一个注意力金字塔网络(APN)来提取密集特征,而不是使用复杂的卷积[20]来提取密集特征,其中注意力机制用于估计每个像素的语义标签。
作者指出,根据参考文献21所指出,1x1卷积网络占据了大多数的计算资源,因此,在设计SS-bnt模块时,作者取消了1x1卷积,采用的是一维分解卷积(1x3,3x1)来代替。
为了降低计算复杂度,在每个SS-nbt开始的时候,输入被分离到两个低纬度的分支,每一个分支都获得了输入的一半通道数,为了避免1x1卷积,作者采用了专门的一维卷积(例如1x3,3x1),最后两个分支的卷积通过concatenate合并到一起,这样,输出和输入的通道数目就保证了一致。为了促进训练,输出还与上输入进行了相加,然后,利用了文献[21]的channel shuffle 操作,将输出进行channel shuffle 操作来保证两个分支之间的信息交流。这就是整个的SS-nbt模块,一个SS-nbt完成后,输出又作为下一个SS-nbt模块的输入。该模块不仅高效,而且保证了准确率。因为1.首先,每个SS-nbt的高效率使我们能够使用更多的特征通道2.在每个SS-nbt单元中,将两个分支组合起来的特征通道又进行了随机的shuffle操作,又被送人到下一个SS-nbt模块,这可以被事为是一种特征的重用,在某种程度上扩大了网络的表现能力,同时有没有显著的增加复杂性。
网络的模型图如图2所示。
网络中各个特征图大小以及空洞卷积率如图3所示。
作者针对于编码器中同样采取了下采样模块,下采样模块是2个3x3卷积外加一个Maxpooling层构成。
对于其解码模块,文中的解释不是很直观,大家可以结合网上的复现源码进行理解,就非常清楚了。在这里,我结合源码给大家阐述一下解码器部分的组成。
如图4所示,首先3,5,7分别是不同的卷积和大小,然后获取得到不同感受野尺寸,之后,在每个特征图下接一个卷积网络,输出通道数是类别数目,如图4中的黑色模块。接着紫色的模块是上采样,然后“+”是特征图之间逐元素的相加,绿色的特征图模块是通过逐元素相乘得到的,最右边采用全局池化来获得全局信息。
最后来展示一下LEDNet和其他网络的效果对比。
图5可以看出,LEDNet在精度上达到了最高的水准,同时在推理速度和网络模型大小方面也取得了不错的成绩。