国产chinesehdxxxx老太婆,办公室玩弄爆乳女秘hd,扒开腿狂躁女人爽出白浆 ,丁香婷婷激情俺也去俺来也,ww国产内射精品后入国产

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用OpenVINO Python API部署FastSAM模型

英特爾物聯(lián)網(wǎng) ? 來源:英特爾物聯(lián)網(wǎng) ? 2023-10-27 11:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者:馮浩遼寧科技大學(xué)研究生

指導(dǎo)教師:張海剛 英特爾邊緣計算創(chuàng)新大使深圳職業(yè)技術(shù)大學(xué) 副教授

當(dāng)今,深度學(xué)習(xí)技術(shù)在計算機(jī)視覺領(lǐng)域取得了巨大的突破,使得各種圖像處理任務(wù)變得更加智能化。其中,Semantic Segmentation(語義分割)是一項重要的任務(wù),它有助于計算機(jī)理解圖像中不同對象的位置和邊界。本文將介紹如何使用 OpenVINO Python API 部署 FastSAM 模型,以實現(xiàn)快速高效的語義分割。

什么是 FastSAM 模型?

FastSAM 模型是一種輕量級語義分割模型,旨在快速而準(zhǔn)確地分割圖像中的對象。它經(jīng)過了精心設(shè)計,以在較低的計算成本下提供卓越的性能。這使得 FastSAM 模型成為許多計算機(jī)視覺應(yīng)用的理想選擇,包括自動駕駛、醫(yī)學(xué)圖像分析和工業(yè)自動化等領(lǐng)域。

步驟一:安裝 OpenVINO

要開始使用 OpenVINO 進(jìn)行推理 FastSAM 模型,首先需要安裝 OpenVINO Toolkit。OpenVINO 是英特爾發(fā)布的開源工具,專為深度學(xué)習(xí)模型部署而設(shè)計。

你可以按照以下步驟安裝OpenVINO :

訪問OpenVINO官方網(wǎng)站下載OpenVINO工具包。

按照官方文檔的說明進(jìn)行安裝和配置。

步驟二:下載 FastSam 官網(wǎng)模型

FastSAM 模型可以在官方 GitHub 中找到。下載模型并將其解壓縮到合適的文件夾。根據(jù)自身情況下載合適的預(yù)訓(xùn)練模型。

這里還需要將下載到的模型,由于這個模型是采用的pytorch 類型的格式,所以還需要將這個 pt 模型轉(zhuǎn)換為 OpenVINO 的 IR 模型才能進(jìn)行調(diào)用推理。

轉(zhuǎn)換步驟如下所示:

Pytorch →onnx → IR

需要先導(dǎo)出為 onnx 標(biāo)準(zhǔn)格式,然后經(jīng)過這個壓縮優(yōu)化轉(zhuǎn)化為 IR 模型。

OpenVINO 官方提供一個模型轉(zhuǎn)換工具 Model Optimizer,可以利用這個更加便捷的轉(zhuǎn)換我們的模型。

例如:

 mo --input_model FastSAM-s.onnx

就會在當(dāng)前目錄下生成對應(yīng)的 FastSAM-s.bin和 FastSAM-s.xml 文件,這就是所謂的 IR 模型了。

步驟三:使用 OpenVINO Python API

接下來,我們將使用OpenVINO Python API來部署FastSAM 模型。由于官方提供的這個預(yù)訓(xùn)練模型也是基于yolov8進(jìn)行優(yōu)化的,所以也需要有和yolov8 相似的處理步驟:

加載模型→讀圖 → 預(yù)處理 → 推理 → 后處理

1. 加載模型

加載模型需要創(chuàng)建一個 Core,然后對模型進(jìn)行讀取編譯:

core = ov.Core()


model = core.read_model(model=model_path)
self.compiled_model = core.compile_model(model = model, device_name=self.device)

左滑查看更多

2. 讀圖

我們使用 opencv讀取任意一張彩色圖像:

Image = cv2.imread(“image_path”)

3. 預(yù)處理

預(yù)處理主要包括 3 部分,其一是將圖像重新排列為模型所需要的類型(一般來說是 batch Size, channels, height, width),其二是歸一化圖像大小為模型輸入需求的大小,其三是將 opencv 的圖像原始數(shù)據(jù)放置到 numpy 類型的數(shù)據(jù)中方便處理。

以下是一個簡單的 Python 預(yù)處理,展示了如何對輸入的圖像進(jìn)行預(yù)處理:

def Preprocess(self, image: cv2.Mat, targetShape: list):
    th, tw = targetShape
    h, w = image.shape[:2]
    if h>w:
      scale  = min(th / h, tw / w)
      inp   = np.zeros((th, tw, 3), dtype = np.uint8)
      nw   = int(w * scale)
      nh   = int(h * scale)
      a = int((nh-nw)/2) 
      inp[: nh, a:a+nw, :] = cv2.resize(cv2.cvtColor(image, cv2.COLOR_BGR2RGB), (nw, nh))
    else:
      scale  = min(th / h, tw / w)
      inp   = np.zeros((th, tw, 3), dtype = np.uint8)
      nw   = int(w * scale)
      nh   = int(h * scale)
      a = int((nw-nh)/2) 


      inp[a: a+nh, :nw, :] = cv2.resize(cv2.cvtColor(image, cv2.COLOR_BGR2RGB), (nw, nh))
    rgb = np.array([inp], dtype = np.float32) / 255.0
    return np.transpose(rgb, (0, 3, 1, 2)) # 重新排列為batch_size, channels, height, width

左滑查看更多

4. 推理

在模型的推理之前需要先加載預(yù)訓(xùn)練好的模型,推理部分只需要調(diào)用compiled_model 將預(yù)處理好的數(shù)據(jù)放入即可得到輸出結(jié)果:

result = self.compiled_model([input])

左滑查看更多

但這只是一個同步的推理過程,有感興趣深入研究的的同學(xué)可以參考官網(wǎng)的異步推理。

5. 后處理

后處理主要有兩件事,第一是對輸出的結(jié)果進(jìn)行非極大抑制,第二是將抑制后的結(jié)果進(jìn)行遍歷處理掩膜。以下是一個簡短的例子:

def Postprocess(self, preds, img, orig_imgs, retina_masks, conf, iou, agnostic_nms=False):
    p = ops.non_max_suppression(preds[0],
                conf,
                iou,
                agnostic_nms,
                max_det=100,
                nc=1)
    results = []
    proto = preds[1][-1] if len(preds[1]) == 3 else preds[1] # second output is len 3 if pt, but only 1 if exported
    for i, pred in enumerate(p):
      orig_img = orig_imgs[i] if isinstance(orig_imgs, list) else orig_imgs
      # path = self.batch[0]
      img_path = "ok"
      if not len(pred): # save empty boxes
        results.append(Results(orig_img=orig_img, path=img_path, names="segment", boxes=pred[:, :6]))
        continue
      if retina_masks:
        if not isinstance(orig_imgs, torch.Tensor):
          pred[:, :4] = ops.scale_boxes(img.shape[2:], pred[:, :4], orig_img.shape)
        masks = ops.process_mask_native(proto[i], pred[:, 6:], pred[:, :4], orig_img.shape[:2]) # HWC
      else:
        masks = ops.process_mask(proto[i], pred[:, 6:], pred[:, :4], img.shape[2:], upsample=True) # HWC
        if not isinstance(orig_imgs, torch.Tensor):
          pred[:, :4] = ops.scale_boxes(img.shape[2:], pred[:, :4], orig_img.shape)
      results.append(
        Results(orig_img=orig_img, path=img_path, names="1213", boxes=pred[:, :6], masks=masks))
    return results

左滑查看更多

這樣就可以拿到這個掩碼矩陣數(shù)據(jù),這樣就可以根據(jù)這個矩陣?yán)L制掩碼即可得到最終圖像。

結(jié)語

本文介紹了如何使用 OpenVINO Python API 部署 FastSAM 模型,以實現(xiàn)快速高效的語義分割。以在較低的計算成本下提供卓越的性能。這使得 FastSAM 模型成為許多計算機(jī)視覺應(yīng)用的理想選擇,包括自動駕駛、醫(yī)學(xué)圖像分析和工業(yè)自動化等領(lǐng)域。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 計算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7661

    瀏覽量

    90754
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3518

    瀏覽量

    50406
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4827

    瀏覽量

    86702
  • OpenVINO
    +關(guān)注

    關(guān)注

    0

    文章

    115

    瀏覽量

    483

原文標(biāo)題:用 OpenVINO? Python API 部署 FastSam 模型 | 開發(fā)者實戰(zhàn)

文章出處:【微信號:英特爾物聯(lián)網(wǎng),微信公眾號:英特爾物聯(lián)網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    C#集成OpenVINO?:簡化AI模型部署

    什么是OpenVINO 工具套件? OpenVINO 工具套件是一個用于優(yōu)化和部署人工智能(AI)模型,提升AI推理性能的開源工具集合,不僅支持以卷積神經(jīng)網(wǎng)
    的頭像 發(fā)表于 02-17 10:03 ?1977次閱讀
    C#集成<b class='flag-5'>OpenVINO</b>?:簡化AI<b class='flag-5'>模型</b><b class='flag-5'>部署</b>

    Intel OpenVINO? Day0 實現(xiàn)阿里通義 Qwen3 快速部署

    本文將以 Qwen3-8B 為例,介紹如何利用 OpenVINOPython API 在英特爾平臺(GPU, NPU)Qwen3 系列模型。
    的頭像 發(fā)表于 05-11 11:36 ?843次閱讀
    Intel <b class='flag-5'>OpenVINO</b>? Day0 實現(xiàn)阿里通義 Qwen3 快速<b class='flag-5'>部署</b>

    如何使用OpenVINO C++ API部署FastSAM模型

    象的位置和邊界。本文將介紹如何使用 OpenVINO C++ API 部署 FastSAM 模型,以實現(xiàn)快速高效的語義分割。在前文中我們發(fā)表
    的頭像 發(fā)表于 11-17 09:53 ?1361次閱讀
    如何使用<b class='flag-5'>OpenVINO</b> C++ <b class='flag-5'>API</b><b class='flag-5'>部署</b><b class='flag-5'>FastSAM</b><b class='flag-5'>模型</b>

    是否可以使用OpenVINO?部署管理器在部署機(jī)器上運(yùn)行Python應(yīng)用程序?

    使用 OpenVINO?部署管理器創(chuàng)建運(yùn)行時軟件包。 將運(yùn)行時包轉(zhuǎn)移到部署機(jī)器中。 無法確定是否可以在部署機(jī)器上運(yùn)行 Python 應(yīng)用程
    發(fā)表于 03-05 08:16

    無法轉(zhuǎn)換TF OD API掩碼RPGA模型怎么辦?

    無法轉(zhuǎn)換重新訓(xùn)練的 TF OD API 掩碼 RPGA 模型,該模型使用以下命令在 GPU 上工作: mo > --saved_model_dir
    發(fā)表于 03-06 06:44

    使用OpenVINO? 部署PaddleSeg模型庫中的DeepLabV3+模型

    ? ? ? 01 概述 ? ? 本文是OpenVINO 工具套件與百度飛槳PaddlePaddle模型轉(zhuǎn)換/部署系列的第二部。這篇文章專注于展示如何將百度飛槳PaddelSeg項目
    的頭像 發(fā)表于 11-22 14:58 ?1w次閱讀
    使用<b class='flag-5'>OpenVINO</b>? <b class='flag-5'>部署</b>PaddleSeg<b class='flag-5'>模型</b>庫中的DeepLabV3+<b class='flag-5'>模型</b>

    在C++中使用OpenVINO工具包部署YOLOv5模型

    下載并轉(zhuǎn)換YOLOv5預(yù)訓(xùn)練模型的詳細(xì)步驟,請參考:《基于OpenVINO?2022.2和蝰蛇峽谷優(yōu)化并部署YOLOv5模型》,本文所使用的Open
    的頭像 發(fā)表于 02-15 16:53 ?8721次閱讀

    自訓(xùn)練Pytorch模型使用OpenVINO?優(yōu)化并部署在AI愛克斯開發(fā)板

    本文章將依次介紹如何將 Pytorch 自訓(xùn)練模型經(jīng)過一系列變換變成 OpenVINO IR 模型形式,而后使用 OpenVINO Python
    的頭像 發(fā)表于 05-26 10:23 ?1283次閱讀
    自訓(xùn)練Pytorch<b class='flag-5'>模型</b>使用<b class='flag-5'>OpenVINO</b>?優(yōu)化并<b class='flag-5'>部署</b>在AI愛克斯開發(fā)板

    如何將Pytorch自訓(xùn)練模型變成OpenVINO IR模型形式

    本文章將依次介紹如何將Pytorch自訓(xùn)練模型經(jīng)過一系列變換變成OpenVINO IR模型形式,而后使用OpenVINO Python
    的頭像 發(fā)表于 06-07 09:31 ?2600次閱讀
    如何將Pytorch自訓(xùn)練<b class='flag-5'>模型</b>變成<b class='flag-5'>OpenVINO</b> IR<b class='flag-5'>模型</b>形式

    基于OpenVINO Python API部署RT-DETR模型

    平臺實現(xiàn) OpenVINO 部署 RT-DETR 模型實現(xiàn)深度學(xué)習(xí)推理加速, 在本文中,我們將首先介紹基于 OpenVINO Python
    的頭像 發(fā)表于 10-20 11:15 ?1618次閱讀
    基于<b class='flag-5'>OpenVINO</b> <b class='flag-5'>Python</b> <b class='flag-5'>API</b><b class='flag-5'>部署</b>RT-DETR<b class='flag-5'>模型</b>

    基于OpenVINO C++ API部署RT-DETR模型

    Python API 部署 RT-DETR 模型 | 開發(fā)者實戰(zhàn)》,在該文章中,我們基于 OpenVINO
    的頭像 發(fā)表于 11-03 14:30 ?1584次閱讀
    基于<b class='flag-5'>OpenVINO</b> C++ <b class='flag-5'>API</b><b class='flag-5'>部署</b>RT-DETR<b class='flag-5'>模型</b>

    基于OpenVINO C# API部署RT-DETR模型

    Python API 部署 RT-DETR 模型 | 開發(fā)者實戰(zhàn)》和《基于 OpenVINO C++
    的頭像 發(fā)表于 11-10 16:59 ?1200次閱讀
    基于<b class='flag-5'>OpenVINO</b> C# <b class='flag-5'>API</b><b class='flag-5'>部署</b>RT-DETR<b class='flag-5'>模型</b>

    NNCF壓縮與量化YOLOv8模型OpenVINO部署測試

    OpenVINO2023版本衍生出了一個新支持工具包NNCF(Neural Network Compression Framework – 神經(jīng)網(wǎng)絡(luò)壓縮框架),通過對OpenVINO IR格式模型的壓縮與量化更好的提升
    的頭像 發(fā)表于 11-20 10:46 ?1993次閱讀
    NNCF壓縮與量化YOLOv8<b class='flag-5'>模型</b>與<b class='flag-5'>OpenVINO</b><b class='flag-5'>部署</b>測試

    OpenVINO C# API在intel平臺部署YOLOv10目標(biāo)檢測模型

    模型設(shè)計策略,從效率和精度兩個角度對YOLOs的各個組成部分進(jìn)行了全面優(yōu)化,大大降低了計算開銷,增強(qiáng)了性能。在本文中,我們將結(jié)合OpenVINO C# API使用最新發(fā)布的OpenVINO
    的頭像 發(fā)表于 06-21 09:23 ?2010次閱讀
    用<b class='flag-5'>OpenVINO</b> C# <b class='flag-5'>API</b>在intel平臺<b class='flag-5'>部署</b>YOLOv10目標(biāo)檢測<b class='flag-5'>模型</b>

    使用OpenVINO Model Server在哪吒開發(fā)板上部署模型

    OpenVINO Model Server(OVMS)是一個高性能的模型部署系統(tǒng),使用C++實現(xiàn),并在Intel架構(gòu)上的部署進(jìn)行了優(yōu)化,使用Open
    的頭像 發(fā)表于 11-01 14:19 ?729次閱讀
    使用<b class='flag-5'>OpenVINO</b> Model Server在哪吒開發(fā)板上<b class='flag-5'>部署</b><b class='flag-5'>模型</b>