项目实训第六周

本文介绍了在项目实训中,针对Unet模型的不足,转向了轻量级的BiSeNet系列模型,尤其是BiSeNet-V2。该模型包括细节分支和语义分支,旨在减小参数量、降低内存占用和提升推理速度。作者详细阐述了BiSeNet-V2的结构特点,并提及了训练策略和未来可能的优化方向。
摘要由CSDN通过智能技术生成

Unet模型的尝试在上周结束,我认为应该需要更多的尝试,首先目标有以下两点:
1.减小模型的参数,得到更轻量级的模型
2.减少模型的内存占用,为我们的tx2留下更多的资源
3.加快模型的推理速度。
我的主要思路是对于各种图像分割领域的模型进行测试,得到最好的模型进行不断的修改和尝试。
在这里插入图片描述
我主要对于STDC和BiseNetV2和BiseNetV1模型进行尝试,具体的尝试和Unet模型过程与步骤相同,而最终我选择了将BiSeNet系列的模型进行不断的训练测试并改善模型不去得到我们需要的模型,
首先BiseNet系列模型的更加轻量,通过训练得到的BiSeNet的模型最小20M,而STDC的模型大小为40M,虽然速度上对比有些差距,但这个需要我后期改善模型以及tensorrt的使用等方法来得到更快的速度。下面简单介绍一下BiSeNet模型吧。

BiSeNet-V2模型

在这里插入图片描述

(1)一个细节分支(Detail Branch),具有宽通道和浅层,以捕获low-level细节并生成高分辨率特征表示;
(2)语义分支(Semantic Branch),具有狭窄的通道和较深的层,以获取高级语义上下文。由于减少了信道容量和快速下采样策略,语义分支是轻量级的。
(3)设计了一个引导聚合层(Bilateral Guided Aggregation Layer),以增强相互连接并融合两种类型的要素表示。
(4)还设计了一种增强训练策略来提高分割性能,而无需任何额外的推理成本。

细节分支

class DetailBranch(nn.Layer):
    def __init__(self, in_channels):
        super().__init__()
        C1, C2, C3 = 64, 64, 128
        self.convs = nn.Sequential(
            # stage 1
            layers.ConvBNReLU(3, C1, 3, stride=2),
            layers.ConvBNReLU(C1, C1, 3),
            # stage 2
            layers.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值