国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

DeepLabV3+:ASPP加強(qiáng)特征提取網(wǎng)絡(luò)的搭建

這篇具有很好參考價值的文章主要介紹了DeepLabV3+:ASPP加強(qiáng)特征提取網(wǎng)絡(luò)的搭建。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

ASPP結(jié)構(gòu)介紹

ASPP在代碼中的構(gòu)建

參考資料


ASPP結(jié)構(gòu)介紹

ASPP:Atrous Spatial Pyramid Pooling,空洞空間卷積池化金字塔。
簡單理解就是個至尊版池化層,其目的與普通的池化層一致,盡可能地去提取特征。

aspp網(wǎng)絡(luò),# 基于語義分割的道路裂縫檢測,深度學(xué)習(xí),神經(jīng)網(wǎng)絡(luò),計算機(jī)視覺

利用主干特征提取網(wǎng)絡(luò),會得到一個淺層特征和一個深層特征,這一篇主要以如何對較深層特征進(jìn)行加強(qiáng)特征提取,也就是在Encoder中所看到的部分。

它就叫做ASPP,主要有5個部分:

  • 1x1卷積
  • 膨脹率為6的3x3卷積
  • 膨脹率為12的3x3卷積
  • 膨脹率為18的3x3卷積
  • 對輸入進(jìn)去的特征層進(jìn)行池化

接著會對這五個部分進(jìn)行一個堆疊,再利用一個1x1卷積對通道數(shù)進(jìn)行調(diào)整,獲得上圖中綠色的特征。

ASPP在代碼中的構(gòu)建

import torch
import torch.nn as nn
import torch.nn.functional as F

class ASPP(nn.Module):
    def __init__(self, dim_in, dim_out, rate=1, bn_mom=0.1):
        super(ASPP, self).__init__()
        self.branch1 = nn.Sequential(
            nn.Conv2d(dim_in, dim_out, kernel_size=(1,1), stride=(1,1), padding=0, dilation=rate, bias=True),
            nn.BatchNorm2d(dim_out, momentum=bn_mom),
            nn.ReLU(inplace=True),
        )
        self.branch2 = nn.Sequential(
            nn.Conv2d(dim_in, dim_out, kernel_size=(3,3), stride=(1,1), padding=6 * rate, dilation=6 * rate, bias=True),
            nn.BatchNorm2d(dim_out, momentum=bn_mom),
            nn.ReLU(inplace=True),
        )
        self.branch3 = nn.Sequential(
            nn.Conv2d(dim_in, dim_out, kernel_size=(3,3), stride=(1,1), padding=12 * rate, dilation=12 * rate, bias=True),
            nn.BatchNorm2d(dim_out, momentum=bn_mom),
            nn.ReLU(inplace=True),
        )
        self.branch4 = nn.Sequential(
            nn.Conv2d(dim_in, dim_out, kernel_size=(3,3), stride=(1,1), padding=18 * rate, dilation=18 * rate, bias=True),
            nn.BatchNorm2d(dim_out, momentum=bn_mom),
            nn.ReLU(inplace=True),
        )
        self.branch5_conv = nn.Conv2d(dim_in, dim_out, kernel_size=(1,1), stride=(1,1), padding=0, bias=True)
        self.branch5_bn = nn.BatchNorm2d(dim_out, momentum=bn_mom)
        self.branch5_relu = nn.ReLU(inplace=True)

        self.conv_cat = nn.Sequential(
            nn.Conv2d(dim_out * 5, dim_out ,kernel_size=(1,1), stride=(1,1), padding=0, bias=True),
            nn.BatchNorm2d(dim_out, momentum=bn_mom),
            nn.ReLU(inplace=True),
        )

    def forward(self, x):
        [b, c, row, col] = x.size()
  
        # 五個分支
        conv1x1 = self.branch1(x)
        conv3x3_1 = self.branch2(x)
        conv3x3_2 = self.branch3(x)
        conv3x3_3 = self.branch4(x)
   
        # 第五個分支,進(jìn)行全局平均池化+卷積
        global_feature = torch.mean(x, 2, True)
        global_feature = torch.mean(global_feature, 3, True)
        global_feature = self.branch5_conv(global_feature)
        global_feature = self.branch5_bn(global_feature)
        global_feature = self.branch5_relu(global_feature)
        global_feature = F.interpolate(global_feature, (row, col), None, 'bilinear', True)
  
        # 五個分支的內(nèi)容堆疊起來,然后1x1卷積整合特征。
        feature_cat = torch.cat([conv1x1, conv3x3_1, conv3x3_2, conv3x3_3, global_feature], dim=1)
        result = self.conv_cat(feature_cat)
        return result


if __name__ == "__main__":
    model = ASPP(dim_in=320, dim_out=256, rate=16//16)
    print(model)

那么從這里來看的話,也是相當(dāng)清晰的,branch*(1、2、3、4、5)分別代表了ASPP五個部分在def __init__()可以體現(xiàn),對于每一個都是卷積、標(biāo)準(zhǔn)化、激活函數(shù)。

第五個部分可以看到def forward中,首先呢,是要進(jìn)行一個全局平均池化,再用1x1卷積通道數(shù)的整合,標(biāo)準(zhǔn)化、激活函數(shù),接著采用上采樣的方法,把它的大小調(diào)整成和我們上面獲得的分支一樣大小的特征層,這樣我們才可以將五個部分進(jìn)行一個堆疊,使用的是torch.cat()函數(shù)實現(xiàn),最后,利用1x1卷積,對輸入進(jìn)來的特征層進(jìn)行一個通道數(shù)的調(diào)整,獲得想上圖中綠色的部分,接著就會將這個具有較高語義信息的有效特征層就會傳入到Decoder當(dāng)中。

參考資料

(6條消息) Pytorch-torchvision源碼解讀:ASPP_xiongxyowo的博客-CSDN博客_aspp代碼

DeepLabV3-/deeplabv3+.pdf at main · Auorui/DeepLabV3- (github.com)文章來源地址http://www.zghlxwxcb.cn/news/detail-602573.html

到了這里,關(guān)于DeepLabV3+:ASPP加強(qiáng)特征提取網(wǎng)絡(luò)的搭建的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 改進(jìn)版ASPP(2):ASPP模塊中加入CBAM(卷積注意力模塊),即CBAM_ASPP

    改進(jìn)版ASPP(2):ASPP模塊中加入CBAM(卷積注意力模塊),即CBAM_ASPP

    空洞空間卷積池化金字塔(atrous spatial pyramid pooling (ASPP))通過對于輸入的特征以不同的采樣率進(jìn)行采樣,即從不同尺度提取輸入特征,然后將所獲取的特征進(jìn)行融合,得到最終的特征提取結(jié)果。 CBAM包含CAM(Channel Attention Module)和SAM(Spartial Attention Module)兩個子模塊,分別在

    2024年02月11日
    瀏覽(17)
  • 圖像分割實戰(zhàn)-系列教程15:deeplabV3+ VOC分割實戰(zhàn)3-------網(wǎng)絡(luò)結(jié)構(gòu)1

    圖像分割實戰(zhàn)-系列教程15:deeplabV3+ VOC分割實戰(zhàn)3-------網(wǎng)絡(luò)結(jié)構(gòu)1

    有任何問題歡迎在下面留言 本篇文章的代碼運(yùn)行界面均在Pycharm中進(jìn)行 本篇文章配套的代碼資源已經(jīng)上傳 deeplab系列算法概述 deeplabV3+ VOC分割實戰(zhàn)1 deeplabV3+ VOC分割實戰(zhàn)2 deeplabV3+ VOC分割實戰(zhàn)3 deeplabV3+ VOC分割實戰(zhàn)4 deeplabV3+ VOC分割實戰(zhàn)5 本項目的網(wǎng)絡(luò)結(jié)構(gòu)在network文件夾中,主要在

    2024年01月19日
    瀏覽(23)
  • ASPP(Atrous Spatial Pyramid Pooling)

    ASPP(Atrous Spatial Pyramid Pooling)

    受到SPP的啟發(fā),語義分割模型DeepLabv2中提出了ASPP模塊,該模塊使用具有不同采樣率的多個并行空洞卷積層。為每個采樣率提取的特征在單獨(dú)的分支中進(jìn)一步處理,并融合以生成最終結(jié)果。該模塊通過不同的空洞rate構(gòu)建不同感受野的卷積核,用來獲取多尺度物體信息,具體結(jié)

    2024年02月07日
    瀏覽(10)
  • SPP、SPPF 、 SimSPPF 、 ASPP、 SPPCSPC詳解

    SPP、SPPF 、 SimSPPF 、 ASPP、 SPPCSPC詳解

    分享自:https://blog.csdn.net/weixin_43694096/article/details/126354660 1.1 SPP(Spatial Pyramid Pooling) SPP 模塊是何凱大神在2015年的論文《Spatial Pyramid Pooling in Deep Convolution Networks for Visual Recognition》中提出來的. SPP 全稱為空間金字塔池化結(jié)構(gòu),主要是為了解決兩個問題 有效避免了對圖像區(qū)域

    2024年02月17日
    瀏覽(16)
  • DeepLabv3+

    DeepLabv3+

    本文在進(jìn)行語義分割任務(wù)時將空間金字塔池化(SPP)模塊或encoder-decoder結(jié)構(gòu)引入到深度神經(jīng)網(wǎng)絡(luò)中。以前的網(wǎng)絡(luò)通過對輸入的feature map使用多種尺度的卷積核或者池化操作以及多種感受野能夠編碼出多尺度的環(huán)境信息。而之后的一些工作中提出的網(wǎng)絡(luò)通過逐漸恢復(fù)空間信息能

    2024年02月06日
    瀏覽(24)
  • 改進(jìn) DeepLabV3+

    改進(jìn) DeepLabV3+

    CFF結(jié)構(gòu)圖? ? 10.28更新(解碼復(fù)習(xí))

    2024年02月13日
    瀏覽(20)
  • Deeplabv3+概述(語義分割,小白必看)

    Deeplabv3+概述(語義分割,小白必看)

    哈嘍大家好 ! 我是唐宋宋宋,很榮幸與您相見??! 代碼奉上:https://github.com/bubbliiiing/deeplabv3-plus-pytorch 圖像分割可以分為兩類:語義分割(Semantic Segmentation)和實例分割(Instance Segmentation),其區(qū)別如圖所示。 可以看到語義分割只是簡單地對圖像中各個像素點分類,但是實

    2024年02月03日
    瀏覽(21)
  • Docker 部署深度學(xué)習(xí) 運(yùn)行deeplabV3

    Docker 部署深度學(xué)習(xí) 運(yùn)行deeplabV3

    本文主要介紹docker發(fā)展歷史,常用的鏡像,容器命令。以及部署深度學(xué)習(xí)環(huán)境,運(yùn)行deeplabV3 項目。 2010年,美國一家公司dotcloud做一些pass的云計算服務(wù),lxc有關(guān)的容器技術(shù),他們講自己的技術(shù)(容器化技術(shù))命名為Docker。 剛誕生的時候,沒有引起關(guān)注,然后2013年,他們講D

    2024年01月21日
    瀏覽(19)
  • 使用LabVIEW實現(xiàn) DeepLabv3+ 語義分割含源碼

    使用LabVIEW實現(xiàn) DeepLabv3+ 語義分割含源碼

    圖像分割可以分為兩類:語義分割(Semantic Segmentation)和實例分割(Instance Segmentation),前面已經(jīng)給大家介紹過兩者的區(qū)別,并就如何在labview上實現(xiàn)相關(guān)模型的部署也給大家做了講解,今天和大家分享如何使用labview 實現(xiàn)deeplabv3+的語義分割,并就 Pascal VOC2012 (DeepLabv3Plus-Mobi

    2024年02月13日
    瀏覽(19)
  • 第三章:DeepLabV3——重新思考用于語義圖像分割的擴(kuò)張卷積

    第三章:DeepLabV3——重新思考用于語義圖像分割的擴(kuò)張卷積

    原問題目:《Rethinking Atrous Convolution for Semantic Image Segmentation》 原文引用:Chen L C, Papandreou G, Schroff F, et al. Rethinking atrous convolution for semantic image segmentation[J]. arXiv preprint arXiv:1706.05587, 2017. 發(fā)表時間:2018年1月 原文鏈接: https://arxiv.org/pdf/1706.05587.pdf%EF%BC%8C%E6%8E%A8%E8%8D%90%E5%9C%A8

    2024年02月16日
    瀏覽(32)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包