色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用LabVIEW實現基于pytorch的DeepLabv3圖像語義分割

LabVIEW深度學習實戰 ? 來源: LabVIEW深度學習實戰 ? 作者: LabVIEW深度學習實 ? 2023-03-22 15:06 ? 次閱讀

前言

今天我們一起來看一下如何使用LabVIEW實現語義分割。

一、什么是語義分割

**圖像語義分割(semantic segmentation),從字面意思上理解就是讓計算機根據圖像的語義來進行分割,例如讓計算機在輸入下面左圖的情況下,能夠輸出右圖。語義在語音識別中指的是語音的意思,在圖像領域,語義指的是圖像的內容,對圖片意思的理解,比如下圖的語義就是一個人牽著四只羊;分割的意思是從像素的角度分割出圖片中的不同對象,對原圖中的每個像素都進行標注,比如下圖中淺黃色代表人,藍綠色代表羊。語義分割任務就是將圖片中的不同類別,用不同的顏色標記出來,每一個類別使用一種顏色。常用于醫學圖像,衛星圖像,無人車駕駛,機器人等領域。 **

在這里插入圖片描述

  • 如何做到將像素點上色呢?

**語義分割的輸出和圖像分類網絡類似,圖像分類類別數是一個一維的one hot 矩陣。例如:三分類的[0,1,0]。語義分割任務最后的輸出特征圖是一個三維結構,大小與原圖類似,其中通道數是類別數,每個通道所標記的像素點,是該類別在圖像中的位置,最后通過argmax 取每個通道有用像素 合成一張圖像,用不同顏色表示其類別位置。 語義分割任務其實也是分類任務中的一種,他不過是對每一個像素點進行細分,找到每一個像素點所述的類別。 這就是語義分割任務啦~ **

在這里插入圖片描述

二、什么是deeplabv3

**DeepLabv3是一種語義分割架構,它在DeepLabv2的基礎上進行了一些修改。為了處理在多個尺度上分割對象的問題,設計了在級聯或并行中采用多孔卷積的模塊,通過采用多個多孔速率來捕獲多尺度上下文。此外,來自 DeepLabv2 的 Atrous Spatial Pyramid Pooling模塊增加了編碼全局上下文的圖像級特征,并進一步提高了性能。 **

在這里插入圖片描述

三、LabVIEW調用DeepLabv3實現圖像語義分割

1、模型獲取及轉換

  • 安裝pytorch和torchvision
  • 獲取torchvision中的模型:deeplabv3_resnet101(我們獲取預訓練好的模型):
original_model = models.segmentation.deeplabv3_resnet101(pretrained=True)
  • 轉onnx
def get_pytorch_onnx_model(original_model):
    # define the directory for further converted model save
    onnx_model_path = dirname
    # define the name of further converted model
    onnx_model_name = "deeplabv3_resnet101.onnx"
?
    # create directory for further converted model
    os.makedirs(onnx_model_path, exist_ok=True)
?
    # get full path to the converted model
    full_model_path = os.path.join(onnx_model_path, onnx_model_name)
?
    # generate model input
    generated_input = Variable(
        torch.randn(1, 3, 448, 448)
    )
?
    # model export into ONNX format
    torch.onnx.export(
        original_model,
        generated_input,
        full_model_path,
        verbose=True,
        input_names=["input"],
        output_names=["output",'aux'],
        opset_version=11
    )
?
    return full_model_path

完整獲取及模型轉換python代碼如下:

import os
import torch
import torch.onnx
from torch.autograd import Variable
from torchvision import models
import re
?
dirname, filename = os.path.split(os.path.abspath(__file__))
print(dirname)
?
def get_pytorch_onnx_model(original_model):
    # define the directory for further converted model save
    onnx_model_path = dirname
    # define the name of further converted model
    onnx_model_name = "deeplabv3_resnet101.onnx"
?
    # create directory for further converted model
    os.makedirs(onnx_model_path, exist_ok=True)
?
    # get full path to the converted model
    full_model_path = os.path.join(onnx_model_path, onnx_model_name)
?
    # generate model input
    generated_input = Variable(
        torch.randn(1, 3, 448, 448)
    )
?
    # model export into ONNX format
    torch.onnx.export(
        original_model,
        generated_input,
        full_model_path,
        verbose=True,
        input_names=["input"],
        output_names=["output",'aux'],
        opset_version=11
    )
?
    return full_model_path
?
?
def main():
    # initialize PyTorch ResNet-101 model
    original_model = models.segmentation.deeplabv3_resnet101(pretrained=True)
?
    # get the path to the converted into ONNX PyTorch model
    full_model_path = get_pytorch_onnx_model(original_model)
    print("PyTorch ResNet-101 model was successfully converted: ", full_model_path)
?
?
if __name__ == "__main__":
    main()
?

我們會發現,基于pytorch的DeepLabv3模型獲取和之前的mask rcnn模型大同小異。

2、關于deeplabv3_resnet101

我們使用的模型是:deeplabv3_resnet101,該模型返回兩個張量,與輸入張量相同,但有21個classes。輸出[“out”]包含語義掩碼,而輸出[“aux”]包含每像素的輔助損失值。在推理模式中,輸出[‘aux]沒有用處。因此,輸出“out”形狀為(N、21、H、W)。我們在轉模型的時候設置H,W為448,N一般為1;

我們的模型是基于VOC2012數據集

VOC2012數據集分為20類,包括背景為21類,分別如下:

  • 人 :人
  • 動物:鳥、貓、牛、狗、馬、羊
  • 車輛:飛機、自行車、船、巴士、汽車、摩托車、火車
  • 室內:瓶、椅子、餐桌、盆栽植物、沙發、電視/監視器

3、LabVIEW opencv dnn調用 deeplabv3 實現圖像語義分割(deeplabv3_opencv.vi)

deeplabv3模型可以使用OpenCV dnn去加載的,也可以使用onnxruntime加載推理,所以我們分兩種方式給大家介紹LabVIEW調用deeplabv3實現圖像語義分割。

  • opencv dnn 調用onnx模型并選擇

    在這里插入圖片描述

  • **圖像預處理 **

    最終還是采用了比較中規中矩的處理方式

在這里插入圖片描述

  • **執行推理 **

在這里插入圖片描述

  • 后處理并實現實例分割

    因為后處理內容較多,所以直接封裝為了一個子VI, deeplabv3_postprocess.vi,因為Labview沒有專門的切片函數,所以會稍慢一些,所以接下來還會開發針對后處理和矩陣有關的函數,加快處理結果。

  • 整體的程序框架如下:

    在這里插入圖片描述

  • 語義分割結果如下:

    在這里插入圖片描述

4、LabVIEW onnxruntime調用 deeplabv3實現圖像語義分割 (deeplabv3_onnx.vi)

  • 整體的程序框架如下:

    在這里插入圖片描述

  • 語義分割結果如下:

    在這里插入圖片描述

5、LabVIEW onnxruntime調用 deeplabv3 使用TensorRT加速模型實現圖像語義分割(deeplabv3_onnx_camera.vi)

在這里插入圖片描述

如上圖所示,可以看到可以把人和背景完全分割開來,使用TensorRT加速推理,速度也比較快。

大家可關注微信公眾號: VIRobotics ,回復關鍵字:DeepLabv3圖像語義分割源碼 獲取本次分享內容的完整項目源碼及模型。

如您想要探討更多關于LabVIEW與人工智能技術,歡迎加入我們:705637299,進群請備注暗號:LabVIEW機器學習

四、deeplabv3訓練自己的數據集

訓練可參考: https://github.com/pytorch/vision

總結

以上就是今天要給大家分享的內容。

如果文章對你有幫助,歡迎關注、點贊、收藏

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • LabVIEW
    +關注

    關注

    1974

    文章

    3656

    瀏覽量

    324280
  • 人工智能
    +關注

    關注

    1792

    文章

    47409

    瀏覽量

    238923
  • 機器學習
    +關注

    關注

    66

    文章

    8424

    瀏覽量

    132765
  • 深度學習
    +關注

    關注

    73

    文章

    5507

    瀏覽量

    121272
  • pytorch
    +關注

    關注

    2

    文章

    808

    瀏覽量

    13249
收藏 人收藏

    評論

    相關推薦

    使用LabVIEW實現 DeepLabv3+ 語義分割含源碼

    使用LabVIEW實現 DeepLabv3+ 語義分割含源碼
    的頭像 發表于 05-26 10:23 ?1002次閱讀
    使用<b class='flag-5'>LabVIEW</b><b class='flag-5'>實現</b> <b class='flag-5'>DeepLabv3</b>+ <b class='flag-5'>語義</b><b class='flag-5'>分割</b>含源碼

    van-自然和醫學圖像的深度語義分割:網絡結構

    最后面幾個全連接層換成卷積層,可實現任意大小的圖像輸入,并且輸入圖像大小與輸入相對應。反卷積:端到端的像素級語義分割需要輸出大小和輸入
    發表于 12-28 11:03

    van-自然和醫學圖像的深度語義分割:網絡結構

    最后面幾個全連接層換成卷積層,可實現任意大小的圖像輸入,并且輸入圖像大小與輸入相對應。反卷積:端到端的像素級語義分割需要輸出大小和輸入
    發表于 12-28 11:06

    聚焦語義分割任務,如何用卷積神經網絡處理語義圖像分割

    CNN架構圖像語義分割 圖像分割是根據圖像內容對指定區域進行標記的計算機視覺任務,簡言之就是「這
    發表于 09-17 15:21 ?573次閱讀

    DeepLab進行語義分割的研究分析

    形成更快,更強大的語義分割編碼器-解碼器網絡。DeepLabv3+是一種非常先進的基于深度學習的圖像語義
    發表于 10-24 08:00 ?11次下載
    DeepLab進行<b class='flag-5'>語義</b><b class='flag-5'>分割</b>的研究分析

    分析總結基于深度神經網絡的圖像語義分割方法

    隨著深度學習技術的快速發展及其在語義分割領域的廣泛應用,語義分割效果得到顯著提升。對基于深度神經網絡的圖像
    發表于 03-19 14:14 ?21次下載
    分析總結基于深度神經網絡的<b class='flag-5'>圖像</b><b class='flag-5'>語義</b><b class='flag-5'>分割</b>方法

    基于深度神經網絡的圖像語義分割方法

    對應用于圖像語義分割的幾種深度神經網絡模型進行簡單介紹,接著詳細闡述了現有主流的基于深度神經網絡的圖像語義
    發表于 04-02 13:59 ?11次下載
    基于深度神經網絡的<b class='flag-5'>圖像</b><b class='flag-5'>語義</b><b class='flag-5'>分割</b>方法

    輕松學PytorchDeeplabv3推理

    Torchvision框架中在語義分割上支持的是Deeplabv3語義分割模型,而且支持不同的backbone替換,這些backbone替換
    的頭像 發表于 12-21 15:40 ?981次閱讀

    PyTorch教程14.9之語義分割和數據集

    電子發燒友網站提供《PyTorch教程14.9之語義分割和數據集.pdf》資料免費下載
    發表于 06-05 11:10 ?0次下載
    <b class='flag-5'>PyTorch</b>教程14.9之<b class='flag-5'>語義</b><b class='flag-5'>分割</b>和數據集

    PyTorch教程-14.9. 語義分割和數據集

    SageMaker Studio Lab 中打開筆記本 在 第 14.3 節-第 14.8 節討論對象檢測任務時,矩形邊界框用于標記和預測圖像中的對象。本節將討論語義分割問題,重點關注如何將
    的頭像 發表于 06-05 15:44 ?660次閱讀
    <b class='flag-5'>PyTorch</b>教程-14.9. <b class='flag-5'>語義</b><b class='flag-5'>分割</b>和數據集

    DeepLabV3開發板應用

    電子發燒友網站提供《DeepLabV3開發板應用.zip》資料免費下載
    發表于 06-20 15:05 ?0次下載
    <b class='flag-5'>DeepLabV3</b>開發板應用

    使用PyTorch加速圖像分割

    使用PyTorch加速圖像分割
    的頭像 發表于 08-31 14:27 ?855次閱讀
    使用<b class='flag-5'>PyTorch</b>加速<b class='flag-5'>圖像</b><b class='flag-5'>分割</b>

    圖像分割語義分割中的CNN模型綜述

    圖像分割語義分割是計算機視覺領域的重要任務,旨在將圖像劃分為多個具有特定語義含義的區域或對象。
    的頭像 發表于 07-09 11:51 ?1003次閱讀

    圖像分割語義分割的區別與聯系

    圖像分割語義分割是計算機視覺領域中兩個重要的概念,它們在圖像處理和分析中發揮著關鍵作用。 1. 圖像
    的頭像 發表于 07-17 09:55 ?1054次閱讀

    圖像語義分割的實用性是什么

    圖像語義分割是一種重要的計算機視覺任務,它旨在將圖像中的每個像素分配到相應的語義類別中。這項技術在許多領域都有廣泛的應用,如自動駕駛、醫學
    的頭像 發表于 07-17 09:56 ?455次閱讀
    主站蜘蛛池模板: 日韩亚洲视频一区二区三区| 一个人视频日本在线观看| 最新国自产拍天天更新| 美女露100%全身无遮挡| 99久久国产极品蜜臀AV酒店| 肉动漫无修3D在线观看| 国内精品免费视频精选在线观看| 一区三区三区不卡| 漂亮的保姆5电影免费观看完整版中文 | 影音先锋电影资源av| 欧美506070| 国产午夜免费视频片夜色| 717影院理论午夜伦不卡久久| 人妻洗澡被强公日日澡| 韩国无遮羞禁动漫在线观看96| 4虎影院午夜在线观看| 天天色狠狠干| 免费无码一区二区三区蜜桃大| 国产成人一区二区三中文 | 攻把受做得合不拢腿play| 亚洲午夜精品A片久久不卡蜜桃 | 91精品一区二区综合在线| 十次啦中文网| 毛片亚洲毛片亚洲毛片| 国产精品麻豆a啊在线观看| 18av 在线| 亚洲AV福利天堂一区二区三 | 国产精品久久一区二区三区蜜桃| 中国老女人xxhd69| 亚洲 天堂 国产在线播放| 欧美video巨大粗暴18| 国语自产偷成人精品视频| 大相蕉伊人狼人久草av| 最近中文字幕无吗免费高清| 性xxx免费| 日日撸影院在线| 快播av种子大全| 果冻传媒独家原创在线观看 | 精品成人片深夜| 国产成人精品永久免费视频| 999资源站|