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

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

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

3天內不再提示

在LabVIEW中部署YOLOv8目標檢測模型

英特爾物聯網 ? 來源:英特爾物聯網 ? 2023-06-09 11:11 ? 次閱讀

作者:英特爾物聯網行業創新大使 王立奇

1.1什么是 LabVIEW

LabVIEW 是測試測量與自動化行業常用的圖形化開發環境,其優點有:

學習容易入門快,開發計算機視覺應用程序簡單方便;

自帶機器視覺函數庫(Vision Development 模塊),并提供支持 GigE、USB3 Vision 等標準總線的第三方相機的圖像采集驅動程序(NI-IMAQdx),和 OpenCV 接口工具包(NIVision OpenCV Utilities),完全滿足 AI 機器視覺應用程序的開發要求。

使用 LabVIEW 調用 OpenVINO IR 模型,可以快速完成深度學習項目開發與交付。

1.2準備開發環境

要完成在 LabVIEW 中調用 OpenVINO 格式的 YOLOv8 模型,需要安裝:

LabVIEW,Vision Development 模塊和 NI-IMAQdx

OpenVINO 2023.0

Visual Studio 2022 Community

Ultralytics YOLOv8

1.2.1安裝 LabVIEW

請從下方地址下載 LabVIEW 安裝文件:

*需要注意的是:請選擇 LabVIEW 64 位版本,并勾選 Vision Development 模塊和 NI-IMAQdx。

604fd830-05f2-11ee-962d-dac502259ad0.png

1.2.2安裝 OpenVINO

OpenVINO分為 OpenVINO 運行庫(OpenVINO Runtime)和 OpenVINO開發工具集(OpenVINO Development Tools)。

OpenVINO運行庫:一個提供 C/C++/Python API 的 C++ 函數庫。

OpenVINO開發工具集:一套包含模型優化器(Model Optimizer)、基準測試工具(Benchmark Tool)、訓練后優化工具(Post-Training Optimization Tool)、模型下載器(Model Downloader)等工具的開發工具集。

請先用命令:

pip install openvino-dev

安裝 OpenVINO開發工具集。該命令在安裝 OpenVINO開發工具集時,會同時將提供 Python API 的 OpenVINO運行庫作為依賴項進行安裝。

然后從 OpenVINO官網:

下載并解壓 Windows 版的 OpenVINO運行庫,如下圖所示:

607a934a-05f2-11ee-962d-dac502259ad0.png

本文將 OpenVINO 運行庫壓縮包解壓到了 C:Program Files (x86)Intelopenvino,如下圖所示:

60b4d668-05f2-11ee-962d-dac502259ad0.png

1.2.3安裝 Visual Studio 2022 Community

安裝 Visual Studio 2022 Community 詳細步驟請參考《在Windows中基于Visual Studio配置OpenVINO C++開發環境》。

1.2.4安裝 Ultralytics 并導出 YOLOv8 模型

YOLOv8 是 Ultralytics 公司基于 YOLO 框架,發布的一款面向物體檢測與跟蹤、實例分割、圖像分類和姿態估計任務的 SOTA(State-Of-The-Art)模型工具套件。

首先,使用命令,完成 ultralytics 軟件包安裝。

pip install ultralytics

然后,使用命令:

yolo export model=yolov8n.pt format=openvino half=True

導出 YOLOv8n OpenVINO格式模型,如下圖所示:

60e0eb40-05f2-11ee-962d-dac502259ad0.png

1.3為 LabVIEW 調用

編寫 OpenVINO dll 封裝函數

為了滿足 LabVIEW 調用 C++ dll 函數的規則,需要編寫 OpenVINO dll 封裝函數。整個封裝工作包括一個數據結構體和四個 API 函數:

結構體 lv_ov_engine:定義 OpenVINO推理時需要傳遞的數據結構

create_ir():初始化 OpenVINO Core 對象并創建推理請求

infer():輸入預處理后的圖像數據,執行推理計算

getResult():獲得推理計算結果

release():釋放資源

1.3.1定義結構體 lv_ov_engine

定義 OpenVINO推理時需要傳遞的數據結構,如下所示:

//定義OpenVINO推理時需要傳遞的數據結構
typedef struct lv_ov_engine {
  ov::Core ovCore;
  ov::InferRequest infer_request;
} OvEngineStruct;

向右滑動查看完整代碼

1.3.2創建 create_ir() 函數

創建 create_ir() 函數,實現將 OpenVINO IR 模型載入指定的計算設備,并返回初始化好的推理請求,如下所示:

//將OpenVINO IR模型載入指定的推理設備
extern "C" __declspec(dllexport) OvEngineStruct * create_ir(char* xml_file, char* device_name)
{
  OvEngineStruct* p = new OvEngineStruct();
  auto compiled_model = p->ovCore.compile_model(xml_file, device_name);
  p->infer_request = compiled_model.create_infer_request();
  return p;
}

向右滑動查看完整代碼

1.3.3創建 IE_Run 函數

創建 infer() 函數,輸入預處理后的圖像數據,執行推理計算,如下所示:

//輸入預處理后的圖像數據,執行推理計算
extern "C" __declspec(dllexport) void infer(OvEngineStruct * p, float* inputData)
{
  ov::Tensor input_tensor0 = p->infer_request.get_input_tensor(0);
  auto data0 = input_tensor0.data();
  memcpy(data0, inputData, 1 * 3 * 640 * 640 * sizeof(float));
  p->infer_request.infer();
}

向右滑動查看完整代碼

1.3.4創建 getResult() 函數

創建 getResult() 函數,用于獲取推理結果,如下所示:

//獲取推理后的結果(yolov8輸出張量的大小為1*84*8400)
extern "C" __declspec(dllexport) void getResult(OvEngineStruct * p, float* data)
{
  auto output = p->infer_request.get_output_tensor(0);
  const float* f = output.data();
  memcpy(data, f, sizeof(float) * 1 * 84 * 8400);
}

向右滑動查看完整代碼

1.3.5創建 release 函數

創建 release 函數,用于釋放推理引擎資源,如下所示:

//釋放推理引擎
extern "C" __declspec(dllexport) void release(OvEngineStruct * p)
{
  delete p;
}

向右滑動查看完整代碼

完整代碼請參考:openvino_vi_wrapper.cpp,在 Visual Studio 中將 openvino_vi_wrapper.cpp 編譯為 dll,然后在 LabVIEW 中調用并封裝為 4 個 VI,如下圖所示:

611e54bc-05f2-11ee-962d-dac502259ad0.png

1.4使用 LabVIEW OpenVINO VI

實現 YOLOv8 目標檢測

請讀者先克隆本文的源代碼到本地:

git clone

https://github.com/wangstoudamire/lv_yolov8_openvino

按照 README.md 文檔安裝相關工具包,然后運行 LabVIEW_OpenVINO_Demo.vi(運行之前請確保電腦已聯網),運行結果如下圖所示:

6145c4fc-05f2-11ee-962d-dac502259ad0.png

1.5結論

基于 OpenVINO,創建 LabVIEW 推理計算 VI,實現 AI 推理計算簡單方便。結合 LabVIEW 圖形化開發環境,可以快速開發 AI 應用程序。更多 AI 推理計算功能,可以參考 VIRobotics 的 LabVIEW AI 工具包:

審核編輯:湯梓紅

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

    關注

    61

    文章

    9949

    瀏覽量

    171693
  • LabVIEW
    +關注

    關注

    1970

    文章

    3654

    瀏覽量

    323316
  • 物聯網
    +關注

    關注

    2909

    文章

    44557

    瀏覽量

    372776
  • 模型
    +關注

    關注

    1

    文章

    3226

    瀏覽量

    48807
  • 目標檢測
    +關注

    關注

    0

    文章

    209

    瀏覽量

    15605

原文標題:OpenVINO?2023.0實戰 | 在LabVIEW中部署YOLOv8目標檢測模型

文章出處:【微信號:英特爾物聯網,微信公眾號:英特爾物聯網】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    使用YOLOv8目標檢測和實例分割的演示

    YOLOv8是來自Ultralytics的最新的基于YOLO的對象檢測模型系列,提供最先進的性能。
    的頭像 發表于 02-06 10:11 ?7459次閱讀

    YOLOv8自定義數據集訓練到模型部署推理簡析

    如果你只是想使用而不是開發,強烈推薦通過pip安裝方式獲取YOLOv8包!YOLOv8安裝命令行
    的頭像 發表于 03-24 09:27 ?4657次閱讀

    TensorRT 8.6 C++開發環境配置與YOLOv8實例分割推理演示

    YOLOv8實例分割TensorRT 推理代碼已經完成C++類封裝,三行代碼即可實現YOLOv8對象檢測與實例分割模型推理,不需要改任何代碼即可支持自定義數據訓練
    的頭像 發表于 04-25 10:49 ?5772次閱讀
    TensorRT 8.6 C++開發環境配置與<b class='flag-5'>YOLOv8</b>實例分割推理演示

    AI愛克斯開發板上用OpenVINO?加速YOLOv8分類模型

    本系列文章將在 AI 愛克斯開發板上使用 OpenVINO 開發套件依次部署并測評 YOLOv8 的分類模型目標檢測
    的頭像 發表于 05-05 11:47 ?1051次閱讀
    <b class='flag-5'>在</b>AI愛克斯開發板上用OpenVINO?加速<b class='flag-5'>YOLOv8</b>分類<b class='flag-5'>模型</b>

    AI愛克斯開發板上用OpenVINO?加速YOLOv8目標檢測模型

    AI 愛克斯開發板上用 OpenVINO 加速 YOLOv8 分類模型》介紹了 AI 愛克斯開發板上使用 OpenVINO 開發套件部署
    的頭像 發表于 05-12 09:08 ?1312次閱讀
    <b class='flag-5'>在</b>AI愛克斯開發板上用OpenVINO?加速<b class='flag-5'>YOLOv8</b><b class='flag-5'>目標</b><b class='flag-5'>檢測</b><b class='flag-5'>模型</b>

    YOLOv8版本升級支持小目標檢測與高分辨率圖像輸入

    YOLOv8版本最近版本又更新了,除了支持姿態評估以外,通過模型結構的修改還支持了小目標檢測與高分辨率圖像檢測。原始的
    的頭像 發表于 05-16 11:14 ?1.2w次閱讀
    <b class='flag-5'>YOLOv8</b>版本升級支持小<b class='flag-5'>目標</b><b class='flag-5'>檢測</b>與高分辨率圖像輸入

    AI愛克斯開發板上使用OpenVINO加速YOLOv8目標檢測模型

    AI愛克斯開發板上用OpenVINO加速YOLOv8分類模型》介紹了AI愛克斯開發板上使用OpenVINO 開發套件部署并測評
    的頭像 發表于 05-26 11:03 ?1240次閱讀
    AI愛克斯開發板上使用OpenVINO加速<b class='flag-5'>YOLOv8</b><b class='flag-5'>目標</b><b class='flag-5'>檢測</b><b class='flag-5'>模型</b>

    YOLOv6LabVIEW中的推理部署(含源碼)

    YOLOv6 是美團視覺智能部研發的一款目標檢測框架,致力于工業應用。如何使用python進行該模型部署,官網已經介紹的很清楚了,但是對于
    的頭像 發表于 11-06 16:07 ?243次閱讀
    <b class='flag-5'>YOLOv</b>6<b class='flag-5'>在</b><b class='flag-5'>LabVIEW</b>中的推理<b class='flag-5'>部署</b>(含源碼)

    AI愛克斯開發板上用OpenVINO?加速YOLOv8-seg實例分割模型

    AI 愛克斯開發板上用 OpenVINO 加速 YOLOv8 目標檢測模型》介紹了 AI
    的頭像 發表于 06-05 11:52 ?1000次閱讀
    <b class='flag-5'>在</b>AI愛克斯開發板上用OpenVINO?加速<b class='flag-5'>YOLOv8</b>-seg實例分割<b class='flag-5'>模型</b>

    教你如何用兩行代碼搞定YOLOv8各種模型推理

    大家好,YOLOv8 框架本身提供的API函數是可以兩行代碼實現 YOLOv8 模型推理,這次我把這段代碼封裝成了一個類,只有40行代碼左右,可以同時支持YOLOv8對象
    的頭像 發表于 06-18 11:50 ?3055次閱讀
    教你如何用兩行代碼搞定<b class='flag-5'>YOLOv8</b>各種<b class='flag-5'>模型</b>推理

    目標檢測算法再升級!YOLOv8保姆級教程一鍵體驗

    YOLO作為一種基于圖像全局信息進行預測的目標檢測系統,始終保持著極高的迭代更新率,從YOLOv5到YOLOv8,本次升級主要包括結構算法、命令行界面、PythonAPI等。具體到
    的頭像 發表于 02-28 11:16 ?2678次閱讀
    <b class='flag-5'>目標</b><b class='flag-5'>檢測</b>算法再升級!<b class='flag-5'>YOLOv8</b>保姆級教程一鍵體驗

    AI愛克斯開發板上用OpenVINO?加速YOLOv8-seg實例分割模型

    AI 愛克斯開發板上用 OpenVINO 加速 YOLOv8 目標檢測模型》介紹了 AI
    的頭像 發表于 06-30 10:43 ?904次閱讀
    <b class='flag-5'>在</b>AI愛克斯開發板上用OpenVINO?加速<b class='flag-5'>YOLOv8</b>-seg實例分割<b class='flag-5'>模型</b>

    三種主流模型部署框架YOLOv8推理演示

    部署。這里以YOLOv8為例,演示了YOLOv8對象檢測模型OpenVINO、ONNXRUNT
    的頭像 發表于 08-06 11:39 ?2728次閱讀

    基于YOLOv8的自定義醫學圖像分割

    YOLOv8是一種令人驚嘆的分割模型;它易于訓練、測試和部署本教程中,我們將學習如何在自定義數據集上使用YOLOv8。但在此之前,我想告
    的頭像 發表于 12-20 10:51 ?771次閱讀
    基于<b class='flag-5'>YOLOv8</b>的自定義醫學圖像分割

    基于OpenCV DNN實現YOLOv8模型部署與推理演示

    基于OpenCV DNN實現YOLOv8推理的好處就是一套代碼就可以部署Windows10系統、烏班圖系統、Jetson的Jetpack系統
    的頭像 發表于 03-01 15:52 ?1584次閱讀
    基于OpenCV DNN實現<b class='flag-5'>YOLOv8</b>的<b class='flag-5'>模型</b><b class='flag-5'>部署</b>與推理演示
    主站蜘蛛池模板: 97豆奶视频国产| 午夜精品久久久久久久爽牛战| 久久国产精品久久国产精品| 国产人人为我我为人人澡| 动漫美女被吸奶| 超碰视频97av| 超碰免费视频caopoom9| 被高跟鞋调教丨vk| WRITEAS塞红酒瓶| 草莓湿漉漉是好事还是恶性| s8sp视频高清在线播放| 白丝女仆被啪到深夜漫画| videosgrati欧美另类| JAPANRCEP老熟妇乱子伦视频| 99午夜视频| xxxx老妇性hdbbbb| 成人性生交大片| 纲手裸乳被爆白浆| 国产精品久久久久婷婷五月色婷婷 | 国产啪精品视频网免费| 国产精品亚欧美一区二区三区| 国产精品第1页在线观看| 国产欧美一区二区三区在线看| 国语精彩对白2021| 久久视频在线视频| 美女脱内衣裸身尿口露出来| 妹妹我要色| 日本动漫henta videos| 色多多污网站在线观看| 午夜理论电影在线观看亚洲| 亚洲国产在线播放在线| 在线 亚洲 日韩 欧洲视频| 91国在线啪精品一区| 草莓湿漉漉是好事还是恶性| 国产精品女主播主要上线| 精品国产手机视频在在线| 久久久久久久网站| 欧美性暴力变态xxxx| 特黄大片aaaaa毛片| 亚洲中文有码字幕日本| 99久久国语露脸精品国产|