在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

    文章

    10168

    瀏覽量

    173942
  • LabVIEW
    +關注

    關注

    1995

    文章

    3670

    瀏覽量

    333223
  • 物聯網
    +關注

    關注

    2927

    文章

    45892

    瀏覽量

    388093
  • 模型
    +關注

    關注

    1

    文章

    3487

    瀏覽量

    49997
  • 目標檢測
    +關注

    關注

    0

    文章

    222

    瀏覽量

    15902

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

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    labview調用yolov8/11目標檢測、分割、分類

    labview使用2020版本64位編輯,調用yolov8/11的onnx模型案例。 源碼: 通過網盤分享的文件:Labview_cls.zip等4個文件 鏈接: https
    發表于 04-21 19:37

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

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

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

    本系列文章將在 AI 愛克斯開發板上使用 OpenVINO 開發套件依次部署并測評 YOLOv8 的分類模型目標檢測
    的頭像 發表于 05-05 11:47 ?1284次閱讀
    <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 ?1658次閱讀
    <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.4w次閱讀
    <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 ?1659次閱讀
    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 ?824次閱讀
    <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 ?1375次閱讀
    <b class='flag-5'>在</b>AI愛克斯開發板上用OpenVINO?加速<b class='flag-5'>YOLOv8</b>-seg實例分割<b class='flag-5'>模型</b>

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

    AI 愛克斯開發板上用 OpenVINO 加速 YOLOv8 目標檢測模型》介紹了 AI
    的頭像 發表于 06-30 10:43 ?1630次閱讀
    <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 ?3087次閱讀

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

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

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

    基于OpenCV DNN實現YOLOv8推理的好處就是一套代碼就可以部署Windows10系統、烏班圖系統、Jetson的Jetpack系統
    的頭像 發表于 03-01 15:52 ?2505次閱讀
    基于OpenCV DNN實現<b class='flag-5'>YOLOv8</b>的<b class='flag-5'>模型</b><b class='flag-5'>部署</b>與推理演示

    RK3576 yolov8訓練部署教程

    本章展示yolov8模型EASY EAI Orin nano的部署過程。
    的頭像 發表于 04-02 16:04 ?337次閱讀
    RK3576 <b class='flag-5'>yolov8</b>訓練<b class='flag-5'>部署</b>教程

    RV1126 yolov8訓練部署教程

    YOLOv8 是 ultralytics 公司 2023 年 1月 10 號開源的基于YOLOV5進行更新的 下一個重大更新版本,目前支持圖像分類、物體檢測和實例分割任務,鑒于
    的頭像 發表于 04-16 14:53 ?330次閱讀
    RV1126 <b class='flag-5'>yolov8</b>訓練<b class='flag-5'>部署</b>教程

    RV1126 yolov8訓練部署教程

    本教程針對目標檢測算法yolov8的訓練和部署到EASY-EAI-Nano(RV1126)進行說明,而數據標注方法可以參考我們往期的文章。
    的頭像 發表于 04-18 15:18 ?433次閱讀
    RV1126 <b class='flag-5'>yolov8</b>訓練<b class='flag-5'>部署</b>教程
    主站蜘蛛池模板: 台湾一级毛片永久免费 | 日本一区免费在线观看 | 最近最新视频中文字幕4 | 二级黄绝大片中国免费视频 | 欧美色老头 | 国产精品爱久久久久久久三级 | 精品视频网站 | 免费看逼网站 | 国产精品亚洲玖玖玖在线靠爱 | 狠狠色噜噜狠狠狠狠97不卡 | 久久五月女厕所一区二区 | 久久国产成人午夜aⅴ影院 久久国产福利 | 啪啪黄色 | 国产网站黄 | 久久欧洲视频 | 中文一区在线观看 | 日日操日日爽 | 男人资源站 | 亚洲性人人天天夜夜摸 | 亚洲五月激情 | 老色99久久九九精品尤物 | 波多野结衣在线视频免费观看 | 欧美影院一区二区三区 | 色多多免费视频 | 美女扒开内裤无遮挡禁18 | 国产成人一区二区在线不卡 | 色一乱一伦一区一直爽 | 天天天天做夜夜夜夜做 | 天天操操操操 | 亚洲va欧美va国产综合久久 | 国产在线黄 | 激情久久久久久久久久久 | 亚洲人成综合网站在线 | 亚洲码欧美码一区二区三区 | 四虎影业| 天天av天天翘天天综合网 | 6080国产午夜精品 | 三级完整在线观看高清视频 | 最近国语视频免费观看在线播放 | 人人爱操 | 国产免费小视频 |