轻量化分割模型-RTSEG

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了轻量化分割模型-RTSEG相关的知识,希望对你有一定的参考价值。

参考技术A         本文针对于实时网络分割,针对于编码和解码模块设计出了可以灵活替换的子模块,方便大家可以方便的替换编码或者解码模块,从而针对不同任务设计不同的网络结构。

        如图1所示,文章提出的实时的语义分割基准测试框架是一个编码-解码结构。作者指出之前的研究都是将网络作为一个整体来进行对比研究,而没有比较不同的模块之间的效果,因此不能使得研究者和网络搭建者去针对任务需求选择最适合的网络设计。通过将编码器和解码器进行解耦设计来分别对编码器和解码器进行设计。图1可以看出,作者在编码器模块,采用了VGG16、ResNet18、MobileNet和ShuffleNet。在解码器模块上使用的是UNet、SkipNet和Dilation Fronted。

        图2中是以MobileNet为编码器的不同解码结构,所有的网络结构中的下采样率都是32,下采样实现的方式是通过池化或者是改变卷积的步长实现的,这确保了不同的解码器结构具有统一的下采样率,以仅评估解码方法的效果。

        图2(a)是SkipNet的解码结构,类似于FCN8s的结构,其中较高高分辨率的特征图通过1x1卷积来将通道数量减少到最终的类别数量,每一个通道都对应着一个类别。

        图2(b)是UNet的解码结构,Unet结构提供的解码方式为:利用反卷积,将与下采样阶段对应的特征图进行上采样。上采样的特征图与下采样中有相同分辨率的特征图进行融合。逐级向上采样提供的精度比一次8倍向上采样的精度更高。目前采用的融合方法是逐元素相加,concatenation的方法可以提供更高的准确率,因为其确保了网络能够学习特征的加权融合,但是这样会增加计算量(concatenation会改变通道数量)。上采样之后的特征最后会接一个1x1的卷积来输出最后的逐元素分类。

        对于Dilation Frontend的解码结构,文中并没有给出示意图,Dilation Frontend结构利用了空洞卷积来取代下采样。空洞卷积确保了网络能够保留足够的感受野的同时,不会降低特征图的分辨率。但是副作用就是计算量的增加,修改编码器网络使得下采样率从32变为8。下采样的减少是通过删除池化层或将步幅为2的卷积转换为步幅为1的卷积来完成的。然后,将池化或正常的卷积替换为两个空洞率为2和4的空洞卷积[3]。

        从图4的实验结果可以看出,Dilation Frontend解码器的表现不如UNet,是因为Unet采用的是逐级向上采样,而DF采用的是一次性的八倍上采样。就网络而言,采用UNet进行增量上采样的方法可提供最佳的准确性。 但是,图3中的表2清楚地表明,SkipNet体系结构的计算效率更高,GFLOP减少了4倍。 这可以通过以下事实来解释:与SkipNet中只是将反卷积用在了最后的类比特征输出中,而UNet中的反卷积则是应用于特征空间中。 图4显示,粗略的预训练可将总体mIoU提高1-4%。 表现力不足的类别是受益于预训练模型的代表之一。

        图5表明,在准确率上,Deeplab依旧是拥有最好的结果,但是在计算速度上却非常差,SkipNet-ShuffleNet相比于ENet,在准确率相差不大的同时,拥有更快的推理速度。SkipNet-ShuffleNet和SkipNet-MobileNet在速度和精度上都要完胜SegNet。

《模型轻量化-剪枝蒸馏量化系列》YOLOv5无损剪枝(附源码)

今天文章代码不涉密,数据不涉密,使用的是网上开源代码,做了修改,主要介绍如何实现的,另外,数据使用开放数据VisDrone的小部分数据来测试~

今天的文章很短,主要附带一个视频讲解运行过程,我修改的地方就不必说了,代码在文末,可以一键运行。

环境:需要安装:protobuf==3.20.1 其他库见官方yolo所需的环境;

运行顺序:第一步 原始训练,得到一个最优mAP等评价指标,记录在小本本上。

第二步:通过调整BN稀疏值(main 参数中的sr),运行train_sparity.py稀疏训练得到一个稍微小一点点的模型(和原始的精度比较,看看哪个稀疏值最好~)

第三步:将上一步的训练好的last.pt 放到prune.py 中进行剪枝,控制剪枝率;剪枝好的模型,在根目录下:pruned_model.pt 是fp32的,你除以2会得到最后的模型大小

第四步:Finetune,用刚刚的pruned模型重新训练,得到最优模型,就是最小且最快,且最好的啦~(和原始和稀疏训练的比较一下哦)

上面是俩个BN的可视化,我们调整稀疏训练里的st值,运行训练&#

以上是关于轻量化分割模型-RTSEG的主要内容,如果未能解决你的问题,请参考以下文章

BIM轻量化平台功能对比

谁能给我解释一下BIM轻量化是啥?而且我现在看到好多公司都在做BIM轻量化,有谁给我解释一下吗?

BIM轻量化平台功能对比

浅述葛兰岱尔WebGL轻量化BIM引擎 大模型LOD处理技术

3D模型轻量化处理教程Blender

知识蒸馏轻量化模型架构剪枝…几种深度学习模型压缩方法