<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

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

      前言

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


      一、什么是deeplabv3+

      Deeplabv3+是一個語義分割網(wǎng)絡(luò),使用DeepLabv3作為Encoder模塊,并添加一個簡單且有效的Decoder模塊來獲得更清晰的分割。即網(wǎng)絡(luò)主要分為兩個部分:Encoder和Decoder;論文中采用的是Xception作為主干網(wǎng)絡(luò)(在代碼中也可以根據(jù)需求替換成MobileNet,本文示例中即使用的MobileNet),然后使用了ASPP結(jié)構(gòu),解決多尺度問題;為了將底層特征與高層特征融合,提高分割邊界準(zhǔn)確度,引入Decoder部分。

      Encoder-Decoder網(wǎng)絡(luò)已經(jīng)成功應(yīng)用于許多計(jì)算機(jī)視覺任務(wù),通常,Encoder-Decoder網(wǎng)絡(luò)包含:

      • 逐步減少特征圖并提取更高語義信息的Encoder模塊
      • 逐步恢復(fù)空間信息的Decoder模塊

      請?zhí)砑訄D片描述


      二、LabVIEW調(diào)用DeepLabv3+實(shí)現(xiàn)圖像語義分割

      1、模型獲取及轉(zhuǎn)換

      pip install -r requirements.txt
      
      • 原項(xiàng)目中使用的模型為.pth,我們將其轉(zhuǎn)onnx模型,
      • 將best_deeplabv3plus_mobilenet_voc_os16.pth轉(zhuǎn)化為deeplabv3plus_mobilenet.onnx,具體轉(zhuǎn)化模型代碼如下:
      import network
      import numpy as np
      import torch
      from torch.autograd import Variable
      from torchvision import models
      import os
      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 = "deeplabv3plus_mobilenet.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, 513, 513)
          )
      
          # model export into ONNX format
          torch.onnx.export(
              original_model,
              generated_input,
              full_model_path,
              verbose=True,
              input_names=["input"],
              output_names=["output"],
              opset_version=11
          )
      
          return full_model_path
      
      model = network.modeling.__dict__["deeplabv3plus_mobilenet"](num_classes=21, output_stride=8)
      checkpoint = torch.load("best_deeplabv3plus_mobilenet_voc_os16.pth", map_location=torch.device('cpu'))
      model.load_state_dict(checkpoint["model_state"])
      full_model_path = get_pytorch_onnx_model(model)
      
      
      • 將best_deeplabv3plus_mobilenet_cityscapes_os16.pth轉(zhuǎn)化為deeplabv3plus_mobilenet_cityscapes.onnx,具體轉(zhuǎn)化模型代碼如下:
      import network
      import numpy as np
      import torch
      from torch.autograd import Variable
      from torchvision import models
      import os
      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 = "deeplabv3plus_mobilenet_cityscapes.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, 513, 513)
          )
      
          # model export into ONNX format
          torch.onnx.export(
              original_model,
              generated_input,
              full_model_path,
              verbose=True,
              input_names=["input"],
              output_names=["output"],
              opset_version=11
          )
      
          return full_model_path
      
      
      model = network.modeling.__dict__["deeplabv3plus_mobilenet"](num_classes=19, output_stride=8)
      checkpoint = torch.load("best_deeplabv3plus_mobilenet_cityscapes_os16.pth", map_location=torch.device('cpu'))
      model.load_state_dict(checkpoint["model_state"])
      full_model_path = get_pytorch_onnx_model(model)
      
      

      注意:我們需要將以上兩個腳本保存并與network文件夾同路徑


      2、LabVIEW 調(diào)用基于 Pascal VOC2012訓(xùn)練的deeplabv3+實(shí)現(xiàn)圖像語義分割 (deeplabv3+_onnx.vi)

      經(jīng)過實(shí)驗(yàn)發(fā)現(xiàn),opencv dnn因缺少一些算子,所以無法加載deeplabv3+ onnx模型,所以我們選擇使用LabVIEW開放神經(jīng)網(wǎng)絡(luò)交互工具包【ONNX】來加載并推理整個模型,實(shí)現(xiàn)語義分割,程序源碼如下:
      在這里插入圖片描述


      3、LabVIEW Pascal VOC2012上的分割結(jié)果(deeplabv3+_onnx.vi)

      在這里插入圖片描述


      4、LabVIEW 調(diào)用基于 Cityscapes 訓(xùn)練的deeplabv3+實(shí)現(xiàn)圖像語義分割 (deeplabv3+_onnx_cityscape.vi)

      如下圖所示即為程序源碼,我們對比deeplabv3+_onnx.vi,發(fā)現(xiàn)其實(shí)只需要把模型和待檢測的圖片更換,圖片尺寸比例也做一個修改即可
      在這里插入圖片描述


      5、LabVIEW 城市景觀的分割結(jié)果(deeplabv3+_onnx_cityscape.vi)

      在這里插入圖片描述


      三、項(xiàng)目源碼及模型下載

      歡迎關(guān)注微信公眾號: VIRobotics,回復(fù)關(guān)鍵字:deepLabv3+ 語義分割源碼 獲取本次分享內(nèi)容的完整項(xiàng)目源碼及模型。


      附加說明

      操作系統(tǒng):Windows10
      python:3.6及以上
      LabVIEW:2018及以上 64位版本
      視覺工具包:techforce_lib_opencv_cpu-1.0.0.73.vip
      LabVIEW開放神經(jīng)網(wǎng)絡(luò)交互工具包【ONNX】:virobotics_lib_onnx_cpu-1.0.0.13.vip


      總結(jié)

      以上就是今天要給大家分享的內(nèi)容。如果有問題可以在評論區(qū)里討論,提問前請先點(diǎn)贊支持一下博主哦,如您想要探討更多關(guān)于LabVIEW與人工智能技術(shù),歡迎加入我們的技術(shù)交流群:705637299。

      posted @ 2023-07-11 16:06  virobotics  閱讀(299)  評論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 91精品亚洲一区二区三区| 国产高清在线男人的天堂 | 无套内射视频囯产| 欧美成人午夜精品免费福利| 福利一区二区在线视频| 正在播放肥臀熟妇在线视频| 国产成人毛片无码视频软件| 国产福利萌白酱在线观看视频| 插入中文字幕在线一区二区三区| 乱码午夜-极品国产内射| 亚洲色大成网站WWW永久网站| 国产偷人爽久久久久久老妇app| 精品国产成人网站一区在线| 国产精品九九久久精品女同| 秋霞人妻无码中文字幕| 中文字幕日韩精品人妻| 国产精品爱久久久久久久电影 | 在线A毛片免费视频观看| 欧美一区二区三区久久综合| 亚洲av激情五月性综合| 国产精品第二页在线播放| 国产办公室秘书无码精品99| 大地资源高清免费观看| 一区二区三区黄色一级片| 国产在线视频精品视频| 国产成人精品中文字幕| 亚洲欧美在线观看品| 久久99精品中文字幕在| 天堂亚洲免费视频| 亚洲av无码片在线播放| 国产盗摄xxxx视频xxxx| 欧美成人精品三级在线观看| 中文字幕第一页国产| 乱码精品一区二区三区| 成年女人午夜毛片免费视频| 亚洲自拍偷拍中文字幕色| 黑森林福利视频导航| 欧美高清精品一区二区| 国产成人综合色在线观看网站| 国产精品久久久久7777| 精品国产污污免费网站|