91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

OpenVINO C#如何運行YOLO11實例分割模型

英特爾物聯(lián)網(wǎng) ? 來源:OpenCV學堂 ? 2025-04-29 09:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

來源:OpenCV學堂

OpenVINO2025 C#支持

開源的支持項目來自顏國進老師貢獻,已經(jīng)被OpenVINO官方收錄,項目網(wǎng)址:

https://gitee.com/linbei_cht/OpenVINO-CSharp-API

efc239ca-21b3-11f0-9310-92fbcf53809c.png

安裝非常容易,只要在VS2022里面點擊一下即可安裝。最新版本已經(jīng)是OpenVINO2025支持。

YOLO11實例分割

YOLO11是YOLOv5跟YOLOv8作者推出最新升級版本模型,支持分類、檢測、分割、姿態(tài)評估、OBB。這里以YOLO11實例分割模型為例,演示OpenVINO C#如何運行,YOLO11-seg模型的輸入與輸出。

efe189d8-21b3-11f0-9310-92fbcf53809c.png

代碼是我在OpenVINO-CSharp-API作者開源的YOLOv8對象檢測的代碼基礎(chǔ)上修改而成。調(diào)用檢測代碼如下:

publicvoidDetect()
{
 // Set the video path and model path
 stringvideo_path="D:/images/video/play_scoers.mp4";
 stringmodel_path="D:/python/yolov5-7.0/yolo11n-seg.onnx";
 // Create a new Core object and read the model
 Corecore=newCore();
 Modelmodel=core.read_model(model_path);
 CompiledModelcompiled_model=core.compile_model(model,"GPU");
 // Create a list of InferRequest objects
  Listrequests =newList{ compiled_model.create_infer_request(), compiled_model.create_infer_request() };
 // Create a new VideoCapture object and read the video
 VideoCapturecapture=newVideoCapture(video_path);
 if(!capture.IsOpened())
  {
    Console.WriteLine("Error: Video not found!");
   return;
  }
 Matframe=newMat();
 Matnext_frame=newMat();
  capture.Read(frame);
 floatscale=0.0f;
 float[] input_data = preprocess(frame, out scale);
  requests[0].get_input_tensor().set_data(input_data);
  requests[0].start_async();
 Stopwatchsw=newStopwatch();
 float[] total_infs =newfloat[3];
  ListclassList = File.ReadAllLines("D:/python/yolov5-7.0/classes.txt").Select(line => line.Trim()).ToList();
 while(true)
  {
   if(!capture.Read(next_frame))
    {
     break;
    }
    sw.Restart();
    input_data = preprocess(frame, out scale);
    requests[1].get_input_tensor().set_data(input_data);
    requests[1].start_async();
    requests[0].wait();
   float[] det_data = requests[0].get_tensor("output0").get_data(8400*116);
   float[] seg_data = requests[0].get_tensor("output1").get_data(32*160*160);
   Matrgb_mask=newMat(frame.Size(), frame.Type());
   DetResultresult=postprocess(det_data, seg_data, scale, rgb_mask);
    sw.Stop();
    total_infs[0] = sw.ElapsedMilliseconds;
    Cv2.PutText(frame,"Inference: "+ (1000.0/ total_infs[0]).ToString("0.00") +"FPS "+ (total_infs[0]).ToString("0.00") +"ms",newOpenCvSharp.Point(20,40), HersheyFonts.HersheyPlain,2,newScalar(255,0,255),2);
    result.update_lable(classList);
    Visualize.draw_det_result(result, frame);
    Cv2.AddWeighted(frame,0.5, rgb_mask,0.5,0, frame);
    Cv2.ImShow("C# YOLO11-OpenVINO-Seg演示 - OpenCV學堂", frame);
   // Press 'ESC' to exit the program
   if(Cv2.WaitKey(1) ==27)
    {
     break;
    }
    swap(requests);
    frame = next_frame;
    rgb_mask.Release();
  }
}

后處理實現(xiàn)細節(jié)

這個實現(xiàn)最大的坑在后處理部分,要基于全局編碼信息乘以每個檢測BOX區(qū)域的編碼信息,才可以解碼得到每個BOX對象的掩膜。實現(xiàn)的代碼如下:

Matroi_mask=roi_masks[index];
Matm=roi_mask * mask_info;
for(intcol=0; col < m.Cols; col++)
{
? ? m.At(0, col) = sigmoid_function(m.At(0, col));
}

最后根據(jù)得到掩膜直接設(shè)置BOX區(qū)域的顏色即可,代碼如下:

rgb_mask[box].SetTo(new Scalar(0,0,255), box_m);
re.add(classIds[index], confidences[index], positionBoxes[index]);

然后把得到RGB彩色掩膜圖像跟BOX框繪制圖像相加記得到最終輸出結(jié)果圖像。

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

    關(guān)注

    3

    文章

    4200

    瀏覽量

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

    關(guān)注

    1

    文章

    3749

    瀏覽量

    52091
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4967

    瀏覽量

    73935
  • OpenCV
    +關(guān)注

    關(guān)注

    33

    文章

    652

    瀏覽量

    44773

原文標題:C# YOLO11-OpenVINO實例分割

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    【飛凌OK-MX9596-C開發(fā)板試用】①開箱圖賞、跑分測試、yolo模型三箭齊發(fā)

    的 Python 庫,尤其以 YOLO(You Only Look Once) 系列模型為核心,提供了簡單易用的接口,支持目標檢測、實例分割、姿態(tài)估計等任務(wù)。本文將詳細介紹 ultra
    發(fā)表于 10-07 18:53

    如何進行YOLO模型轉(zhuǎn)換?

    我目前使用的轉(zhuǎn)模型代碼如下 from ultralytics import YOLOimport cv2import timeimport nncaseimport# 加載預(yù)訓練的YOLO模型
    發(fā)表于 08-14 06:03

    這個套件讓樹莓派5運行幾乎所有YOLO模型!Conda 與 Ultralytics!

    如何在樹莓派上設(shè)置YOLO計算機視覺?Conda與Ultralytics在本指南中,我們將學習如何使用Conda在樹莓派上安裝UltralyticsYOLO視覺套件。該套件將允許你運行Ultralytics支持的幾乎所有YOLO
    的頭像 發(fā)表于 07-31 11:51 ?5223次閱讀
    這個套件讓樹莓派5<b class='flag-5'>運行</b>幾乎所有<b class='flag-5'>YOLO</b><b class='flag-5'>模型</b>!Conda 與 Ultralytics!

    RK3576 Yolov11訓練部署教程

    1.Yolo11簡介YOLO11系列是YOLO家族中最先進的(SOTA)、最輕量級、最高效的模型,其表現(xiàn)優(yōu)于其前輩。它由Ultralytics創(chuàng)建,該組織發(fā)布了YOLOv8,這是迄今為
    的頭像 發(fā)表于 07-25 15:22 ?1067次閱讀
    RK3576 Yolov<b class='flag-5'>11</b>訓練部署教程

    RK3576 yolo11-seg訓練部署教程

    1.yolov11-seg簡介yolov11-seg是YOLO(YouOnlyLookOnce)系列的最新成員,專為實時實例分割任務(wù)設(shè)計。它
    的頭像 發(fā)表于 07-25 15:21 ?1800次閱讀
    RK3576 <b class='flag-5'>yolo11</b>-seg訓練部署教程

    k230執(zhí)行yolov11分割任務(wù)顯示“MPY: soft reboot”,是怎么回事?

    ]]# 初始化YOLO11實例yolo=YOLO11(task_type=\"segment\",mode=\"image\",kmodel_path
    發(fā)表于 07-18 07:41

    【HZ-RK3568開發(fā)板免費體驗】04 YOLOv11 模型轉(zhuǎn)換為RKNN并在板端部署

    aarch64,目標模型yolo11 ./build-linux.sh -t rk3568 -a aarch64 -d yolo11 編譯結(jié)果如下所示 3.3 部署并運行Demo 將
    發(fā)表于 07-02 14:01

    使用Openvino? GenAI運行Sdxl Turbo模型時遇到錯誤怎么解決?

    使用 OpenVINO? GenAI 運行 SDXL Turbo 模型。 遇到的錯誤: RuntimeError :- Check ov_tokenizer || ov_detokenizer Neither tokenizer
    發(fā)表于 06-24 06:38

    基于RK3576開發(fā)板的yolov11-track多目標跟蹤部署教程

    YOLO11是 Ultralytics YOLO系列實時物體檢測器的最新版本,重新定義了在尖端準確度、速度和效率方面的可能性。在前幾代 YOLO 版本的顯著進步基礎(chǔ)上,YOLO11
    的頭像 發(fā)表于 05-24 15:07 ?2520次閱讀
    基于RK3576開發(fā)板的yolov<b class='flag-5'>11</b>-track多目標跟蹤部署教程

    RK3576 Yolov11訓練部署教程

    YOLO11 系列是 YOLO 家族中最先進的 (SOTA)、最輕量級、最高效的模型,其表現(xiàn)優(yōu)于其前輩。它由 Ultralytics 創(chuàng)建,該組織發(fā)布了 YOLOv8,這是迄今為止最穩(wěn)定、使用最廣泛的
    的頭像 發(fā)表于 04-03 09:35 ?2009次閱讀
    RK3576 Yolov<b class='flag-5'>11</b>訓練部署教程

    OpenVINO中的量化模型OpenVINO ESR模型結(jié)果不一致是怎么回事?

    將 REAL-ESRSTREAM 模型轉(zhuǎn)換成 OpenVINO IR (2021.4) 并執(zhí)行該模型。 能夠運行 IR,但結(jié)果與 REAL-ESR 就此不同的是。
    發(fā)表于 03-06 08:11

    如何使用OpenVINO?運行對象檢測模型?

    無法確定如何使用OpenVINO?運行對象檢測模型
    發(fā)表于 03-06 07:20

    使用Yolo-v3-TF運行OpenVINO?對象檢測Python演示時的結(jié)果不準確的原因?

    通過模型下載器下載了 yolo-v3-tf: ./downloader.py --name yolo-v3-tf 通過模型 優(yōu)化器轉(zhuǎn)換模型
    發(fā)表于 03-06 06:31

    運行OpenVINO?找不到模型優(yōu)化器,為什么?

    運行OpenVINO?找不到模型優(yōu)化器,運行模型下載程序命令并收到錯誤消息: omz_downloader:找不到命令
    發(fā)表于 03-05 08:16

    為什么無法在運行C++推理中讀取OpenVINO?模型?

    使用模型優(yōu)化器 2021.1 版OpenVINO?轉(zhuǎn)換模型 使用 Runtime 2022.3 版本在 C++ 推理實現(xiàn) ( core.read_model()) 中讀取
    發(fā)表于 03-05 06:17