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

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

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

在AI愛克斯開發(fā)板上用OpenVINO?加速YOLOv8-seg實(shí)例分割模型

OpenCV學(xué)堂 ? 來源:英特爾物聯(lián)網(wǎng) ? 2023-06-30 10:43 ? 次閱讀

以下文章來源于英特爾物聯(lián)網(wǎng),作者楊雪鋒

01簡介

《在 AI 愛克斯開發(fā)板上用 OpenVINO加速 YOLOv8 目標(biāo)檢測模型》介紹了在AI 愛克斯開發(fā)板上使用 OpenVINO開發(fā)套件部署并測評 YOLOv8 的目標(biāo)檢測模型,本文將介紹在AI 愛克斯開發(fā)板上使用 OpenVINO加速 YOLOv8-seg 實(shí)例分割模型。

請先下載本文的范例代碼倉,并搭建好 YOLOv8 的 OpenVINO推理程序開發(fā)環(huán)境。

02導(dǎo)出 YOLOv8-seg 實(shí)例分割

OpenVINOIR 模型

YOLOv8-seg 的實(shí)例分割模型有5種,在COCO數(shù)據(jù)集完成訓(xùn)練,如下表所示。

fdfce1b0-1680-11ee-962d-dac502259ad0.png

首先使用命令:

yoloexport model=yolov8n-seg.pt format=onnx

完成 yolov8n-seg.onnx 模型導(dǎo)出,如下圖所示:

fe22ca10-1680-11ee-962d-dac502259ad0.png

然后使用命令:

mo -m yolov8n-seg.onnx --compress_to_fp16

優(yōu)化并導(dǎo)出 FP16 精度的 OpenVINOIR 格式模型,如下圖所示:

fe4f1c78-1680-11ee-962d-dac502259ad0.png

03用 benchmark_app 測試

YOLOv8-seg 實(shí)例分割模型的推理計算性能

benchmark_app 是 OpenVINO工具套件自帶的 AI 模型推理計算性能測試工具,可以指定在不同的計算設(shè)備上,在同步或異步模式下,測試出不帶前后處理的純 AI 模型推理計算性能。

使用命令:

benchmark_app -m yolov8n-seg.xml -d GPU

獲得 yolov8n-seg.xml 模型在AI 愛克斯開發(fā)板的集成顯卡上的異步推理計算性能,如下圖所示:

fe7306e2-1680-11ee-962d-dac502259ad0.png

04使用 OpenVINOPython API 編寫

YOLOv8-seg 實(shí)例分割模型推理程序

用 Netron 打開 yolov8n-seg.onnx 可以看到模型的輸入和輸出,跟YOLOv5-seg模型的輸入輸出定義很類似:

輸入節(jié)點(diǎn)名字:“images”;

數(shù)據(jù):float32[1,3,640,640]

輸出節(jié)點(diǎn) 1 的名字:“output0”;

數(shù)據(jù):float32[1,116,8400]。其中 116 的前 84 個字段跟 YOLOv8 目標(biāo)檢測模型輸出定義完全一致,即cx,cy,w,h 和 80 類的分?jǐn)?shù);后 32 個字段用于計算掩膜數(shù)據(jù)。

輸出節(jié)點(diǎn) 2 的名字:“output1”;

數(shù)據(jù):float32[1,32,160,160]。output0 后 32 個字段與 output1 的數(shù)據(jù)做矩陣乘法后得到的結(jié)果,即為對應(yīng)目標(biāo)的掩膜數(shù)據(jù)。

fe8acd72-1680-11ee-962d-dac502259ad0.png

基于 OpenVINOPython API 的 YOLOv8-seg 實(shí)例分割模型范例程序 yolov8_seg_ov_sync_infer_demo.py 的核心源代碼,如下所示:

# Initialize the VideoCapture
cap = cv2.VideoCapture("store-aisle-detection.mp4")
# Initialize YOLOv5 Instance Segmentator
model_path = "yolov8n-seg.xml"
device_name = "GPU"
yoloseg = YOLOSeg(model_path, device_name, conf_thres=0.3, iou_thres=0.3)
while cap.isOpened():
  # Read frame from the video
  ret, frame = cap.read()
  if not ret:
    break
  # Update object localizer
  start = time.time()
  boxes, scores, class_ids, masks = yoloseg(frame)
  # postprocess and draw masks
  combined_img = yoloseg.draw_masks(frame)
  end = time.time()
  # show FPS
  fps = (1 / (end - start)) 
  fps_label = "Throughput: %.2f FPS" % fps
  cv2.putText(combined_img, fps_label, (10, 25), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 255), 2)
  # show ALL
  cv2.imshow("YOLOv8 Segmentation OpenVINO inference Demo", combined_img)
  # Press Any key stop
  if cv2.waitKey(1) > -1:
    print("finished by user")
    break

向右滑動查看完整代碼

運(yùn)行結(jié)果,如下圖所示:

fefb2252-1680-11ee-962d-dac502259ad0.png

向右滑動查看完整圖片

05結(jié)論

AI 愛克斯開發(fā)板借助 N5105 處理器的集成顯卡(24個執(zhí)行單元)和 OpenVINO,可以在 YOLOv8-seg 的實(shí)例分割模型上獲得相當(dāng)不錯的性能。

通過異步處理和AsyncInferQueue,還能進(jìn)一步提升計算設(shè)備的利用率,提高 AI 推理程序的吞吐量。

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

    關(guān)注

    60

    文章

    9861

    瀏覽量

    171285
  • AI
    AI
    +關(guān)注

    關(guān)注

    87

    文章

    29805

    瀏覽量

    268102
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    4895

    瀏覽量

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

    關(guān)注

    1

    文章

    3112

    瀏覽量

    48658

原文標(biāo)題:開發(fā)者實(shí)戰(zhàn) | 在AI愛克斯開發(fā)板上用OpenVINO?加速YOLOv8-seg實(shí)例分割模型

文章出處:【微信號:CVSCHOOL,微信公眾號:OpenCV學(xué)堂】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

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

    YOLOv5兼具速度和精度,工程化做的特別好,Git clone到本地即可在自己的數(shù)據(jù)集實(shí)現(xiàn)目標(biāo)檢測任務(wù)的訓(xùn)練和推理,產(chǎn)業(yè)界中應(yīng)用廣泛。開源社區(qū)對YOLOv5支持
    的頭像 發(fā)表于 12-21 10:17 ?2008次閱讀
    <b class='flag-5'>在</b>C++中使用<b class='flag-5'>OpenVINO</b>工具包部署<b class='flag-5'>YOLOv5-Seg</b><b class='flag-5'>模型</b>

    【愛芯派 Pro 開發(fā)板試用體驗(yàn)】yolov8模型轉(zhuǎn)換

    yolov8nsim.onnx --output_dir output --config config.json, 將會得到output/compiled.axmodel文件。 開發(fā)板運(yùn)行
    發(fā)表于 11-20 12:19

    英特爾獨(dú)立顯卡上部署YOLOv5 v7.0版實(shí)時實(shí)例分割模型

    本文將介紹基于 OpenVINO 英特爾獨(dú)立顯卡上部署 YOLOv5 實(shí)時實(shí)例分割
    的頭像 發(fā)表于 12-20 11:32 ?3916次閱讀

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

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

    TensorRT 8.6 C++開發(fā)環(huán)境配置與YOLOv8實(shí)例分割推理演示

    YOLOv8實(shí)例分割TensorRT 推理代碼已經(jīng)完成C++類封裝,三行代碼即可實(shí)現(xiàn)YOLOv8對象檢測與實(shí)例
    的頭像 發(fā)表于 04-25 10:49 ?5527次閱讀
    TensorRT 8.6 C++<b class='flag-5'>開發(fā)</b>環(huán)境配置與<b class='flag-5'>YOLOv8</b><b class='flag-5'>實(shí)例</b><b class='flag-5'>分割</b>推理演示

    AI愛克斯開發(fā)板OpenVINO?加速YOLOv8分類模型

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

    AI愛克斯開發(fā)板OpenVINO?加速YOLOv8目標(biāo)檢測模型

    AI 愛克斯開發(fā)板 OpenVINO
    的頭像 發(fā)表于 05-12 09:08 ?1236次閱讀
    <b class='flag-5'>在</b><b class='flag-5'>AI</b><b class='flag-5'>愛克斯</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>上</b><b class='flag-5'>用</b><b class='flag-5'>OpenVINO</b>?<b class='flag-5'>加速</b><b class='flag-5'>YOLOv8</b>目標(biāo)檢測<b class='flag-5'>模型</b>

    ?AI愛克斯開發(fā)板OpenVINO加速YOLOv8-seg實(shí)例分割模型

    benchmark_app是OpenVINOTM工具套件自帶的AI模型推理計算性能測試工具,可以指定在不同的計算設(shè)備,同步或異步模式下,測試出不帶前后處理的純
    的頭像 發(fā)表于 05-24 11:19 ?587次閱讀
    ?<b class='flag-5'>在</b><b class='flag-5'>AI</b><b class='flag-5'>愛克斯</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>上</b><b class='flag-5'>用</b><b class='flag-5'>OpenVINO</b><b class='flag-5'>加速</b><b class='flag-5'>YOLOv8-seg</b><b class='flag-5'>實(shí)例</b><b class='flag-5'>分割</b><b class='flag-5'>模型</b>

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

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

    AI愛克斯開發(fā)板使用OpenVINO加速YOLOv8目標(biāo)檢測模型

    AI愛克斯開發(fā)板OpenVINO
    的頭像 發(fā)表于 05-26 11:03 ?1161次閱讀
    <b class='flag-5'>AI</b><b class='flag-5'>愛克斯</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>上</b>使用<b class='flag-5'>OpenVINO</b><b class='flag-5'>加速</b><b class='flag-5'>YOLOv8</b>目標(biāo)檢測<b class='flag-5'>模型</b>

    AI愛克斯開發(fā)板OpenVINO?加速YOLOv8-seg實(shí)例分割模型

    AI 愛克斯開發(fā)板 OpenVINO
    的頭像 發(fā)表于 06-05 11:52 ?934次閱讀
    <b class='flag-5'>在</b><b class='flag-5'>AI</b><b class='flag-5'>愛克斯</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>上</b><b class='flag-5'>用</b><b class='flag-5'>OpenVINO</b>?<b class='flag-5'>加速</b><b class='flag-5'>YOLOv8-seg</b><b class='flag-5'>實(shí)例</b><b class='flag-5'>分割</b><b class='flag-5'>模型</b>

    英特爾開發(fā)者套件OpenVINO? 2023.0加速YOLOv8-Pose姿態(tài)估計模型

    benchmark_app 是 OpenVINO 工具套件自帶的 AI 模型推理計算性能測試工具,可以指定在不同的計算設(shè)備,同步或異步模
    的頭像 發(fā)表于 06-15 17:41 ?981次閱讀
    <b class='flag-5'>在</b>英特爾<b class='flag-5'>開發(fā)</b>者套件<b class='flag-5'>上</b><b class='flag-5'>用</b><b class='flag-5'>OpenVINO</b>? 2023.0<b class='flag-5'>加速</b><b class='flag-5'>YOLOv8</b>-Pose姿態(tài)估計<b class='flag-5'>模型</b>

    OpenVINO? C++ API編寫YOLOv8-Seg實(shí)例分割模型推理程序

    本文章將介紹使用 OpenVINO 2023.0 C++ API 開發(fā)YOLOv8-Seg 實(shí)例分割(Instance Segmentati
    的頭像 發(fā)表于 06-25 16:09 ?1494次閱讀
    <b class='flag-5'>用</b><b class='flag-5'>OpenVINO</b>? C++ API編寫<b class='flag-5'>YOLOv8-Seg</b><b class='flag-5'>實(shí)例</b><b class='flag-5'>分割</b><b class='flag-5'>模型</b>推理程序

    基于OpenVINO英特爾開發(fā)套件實(shí)現(xiàn)眼部追蹤

    本文將以訓(xùn)練一個眼部追蹤 AI模型為背景,介紹從 Pytorch 自定義網(wǎng)絡(luò)模型,到使用 OpenVINO NNCF 量化工具優(yōu)化模型
    的頭像 發(fā)表于 09-18 10:11 ?719次閱讀

    基于YOLOv8的自定義醫(yī)學(xué)圖像分割

    YOLOv8是一種令人驚嘆的分割模型;它易于訓(xùn)練、測試和部署。本教程中,我們將學(xué)習(xí)如何在自定義數(shù)據(jù)集使用
    的頭像 發(fā)表于 12-20 10:51 ?707次閱讀
    基于<b class='flag-5'>YOLOv8</b>的自定義醫(yī)學(xué)圖像<b class='flag-5'>分割</b>