亚洲mv大片欧洲mv大片入口,国产粉嫩无码一区二区三区,国内精品自产拍在线观看91,久久久亚洲欧洲日产国码二区,中文字幕人妻久久一区二区三区

常州機器視覺培訓(xùn)

常州上位機軟件開發(fā)

常州工業(yè)機器人編程設(shè)計培訓(xùn)

常州PLC培訓(xùn)

常州PLC

常州PLC編程培訓(xùn)

常州電工培訓(xùn)

常州和訊plc培訓(xùn)中心歡迎您!
當(dāng)前位置:網(wǎng)站首頁 > 新聞中心 新聞中心
YOLOv8 檢測、分割模型的 OpenVINO 部署-常州上位機培訓(xùn),常州機器視覺培訓(xùn)
日期:2024-4-2 17:05:59人氣:  標(biāo)簽:常州上位機培訓(xùn) 常州機器視覺培訓(xùn)

為什么需要OpenVINO?


OpenVINO(Open Visual Inference and Neural network Optimization)是英特爾推出的一種深度學(xué)習(xí)推理工具包,旨在優(yōu)化和加速深度學(xué)習(xí)模型的推理過程。將模型轉(zhuǎn)換為OpenVINO格式的主要優(yōu)勢有:

性能優(yōu)化:OpenVINO能夠針對英特爾硬件進行優(yōu)化,包括 CPU、GPU、VPU 和 FPGA 等,從而實現(xiàn)對深度學(xué)習(xí)模型的加速推理,提高推理性能和效率。

跨平臺部署:OpenVINO支持跨多種硬件平臺進行部署,包括邊緣設(shè)備和云服務(wù)器,能夠在不同的設(shè)備上實現(xiàn)高效的推理。

模型保護:OpenVINO可以將模型轉(zhuǎn)換為 IR(Intermediate Representation)格式,這樣可以保護模型的知識產(chǎn)權(quán),避免模型被輕易篡改或復(fù)制。

部署簡化:OpenVINO提供了簡單易用的部署工具和庫,使得在實際應(yīng)用中部署深度學(xué)習(xí)模型變得更加便捷。


使用自定義訓(xùn)練模型進行圖像檢測


from ultralytics import YOLO

from pathlib import Path

from IPython.display import Image

from PIL import Image


IMAGE_PATH = Path("data\coco_bike.jpg")


# There are three lines of code below, all are correct.

# You can use one of them


# Use Raw String Literal:

# det_model = YOLO(r"models\best.pt")


# Use Forward Slashes

# det_model = YOLO("models/best.pt")


# Use Double Backslashes:

det_model = YOLO("models\\best.pt")

label_map = det_model.model.names


res = det_model(IMAGE_PATH)

Image.fromarray(resimage.png.plot()[:, :, ::-1])

當(dāng)我們在終端中運行上述代碼時,它會對圖像執(zhí)行檢測,如下所示:

image.png

上述代碼的解釋


此代碼是一個 Python 腳本,它使用“ultralytics”庫中的 YOLO(You Only Look Once)對象檢測模型來檢測圖像中的對象。讓我們分解一下代碼的每個部分的作用:


導(dǎo)入庫:


該ultralytics庫提供了用于處理各種計算機視覺任務(wù)的工具,包括使用 YOLO 進行對象檢測。


該pathlib庫用于處理文件和目錄路徑。


該IPython.display庫用于在 Jupyter 筆記本中顯示圖像。


該PIL庫(Python Imaging Library)用于圖像處理。


2.定義圖像路徑:


該IMAGE_PATH變量設(shè)置為位于名為“data”的目錄中名為“coco_bike.jpg”的圖像文件的路徑。


3.加載YOLO模型:


使用 ultralytics 庫中的類加載 YOLO 模型YOLO。模型文件“best.pt”作為參數(shù)提供。


4. 獲取標(biāo)簽圖:


該label_map變量被分配了 YOLO 模型能夠檢測的類名列表。這些類名是從 YOLO 模型中加載的。


5.檢測物體:


YOLO 模型 ( det_model) 用于檢測指定圖像中的物體 ( IMAGE_PATH)。


檢測結(jié)果存儲在res變量中。


6.顯示結(jié)果:


Image.fromarray()使用庫中的函數(shù)顯示檢測結(jié)果PIL。該plot()方法用于創(chuàng)建檢測到的對象的圖像表示,并使用切片([:, :, ::-1])反轉(zhuǎn)顏色通道以將圖像從 BGR 轉(zhuǎn)換為 RGB 格式。




分割


from ultralytics import YOLO

from pathlib import Path

from IPython.display import Image

from PIL import Image


SEG_MODEL_NAME = "yolov8n-seg"


IMAGE_PATH = Path("data\coco_bike.jpg")

seg_model = YOLO("models\yolov8n-seg.pt")

res = seg_model(IMAGE_PATH)

Image.fromarray(resimage.png.plot()[:, :, ::-1])

輸出:

image.png

上述代碼的解釋


讓我們以簡單的方式一步一步地解釋一下這段代碼:


導(dǎo)入庫:


該代碼使用該ultralytics庫來處理計算機視覺模型。


該pathlib庫用于處理文件路徑。


該IPython.display庫用于在筆記本中顯示圖像。


該PIL庫用于與圖像相關(guān)的任務(wù)。


2.設(shè)置模型名稱和圖像路徑:


該SEG_MODEL_NAME變量設(shè)置為“yolov8n-seg”分割模型的名稱。該模型旨在理解圖像的結(jié)構(gòu)并將其分割成不同的部分。


該IMAGE_PATH變量設(shè)置為位于“data”目錄中名為“coco_bike.jpg”的圖像文件的路徑。


3.加載分割模型:


YOLO使用ultralytics 庫中的類加載 YOLO 分割模型。


模型文件“yolov8n-seg.pt”作為參數(shù)提供。此文件包含分割模型的預(yù)訓(xùn)練權(quán)重和配置。


4.執(zhí)行分割:


seg_model使用分割模型( )對指定的圖像( IMAGE_PATH)進行分割。


分割的結(jié)果存儲在res變量中。


5.顯示分割圖像:


代碼將分割結(jié)果轉(zhuǎn)換為可以顯示的圖像格式。


該plot()方法用于創(chuàng)建分割區(qū)域的圖像表示。


圖像的顏色通道被反轉(zhuǎn)([:, :, ::-1])以使其適合以 RGB 格式顯示。


6.顯示圖像:


Image.fromarray()該庫中的函數(shù)用于PIL在 IPython 筆記本中顯示分割圖像。



導(dǎo)出物體檢測模型


# object detection model

from ultralytics import YOLO

import os


# Use Forward Slashes

det_model = YOLO("models/best.pt")


det_model_path = "models/best_openvino_model/best.xml"

if not os.path.exists(det_model_path):

    det_model.export(format="openvino", dynamic=True, half=False)

輸出:

image.png

上述代碼的解釋:


導(dǎo)入庫:


代碼YOLO從ultralytics庫中導(dǎo)入類以與對象檢測模型協(xié)同工作。


該os模塊被導(dǎo)入是為了與操作系統(tǒng)協(xié)同工作。


2.加載對象檢測模型:


YOLO使用庫中的類加載對象檢測模型ultralytics。


模型文件“best.pt”作為參數(shù)提供。該模型用于檢測圖像中的對象。


3.定義 OpenVINO 的導(dǎo)出路徑:


該變量det_model_path設(shè)置為對象檢測模型的 OpenVINO 模型文件“best.xml”的路徑。


4.導(dǎo)出為 OpenVINO 格式:


代碼檢查 OpenVINO 模型文件是否不存在指定路徑。


如果文件不存在,則使用該export方法將對象檢測模型導(dǎo)出為 OpenVINO 格式:


format="openvino"指定導(dǎo)出格式應(yīng)為OpenVINO。


dynamic=True表示導(dǎo)出的模型應(yīng)該支持動態(tài)輸入形狀。


half=False指定導(dǎo)出的模型不應(yīng)使用半精度浮點數(shù)。



導(dǎo)出分割模型


# Export segmentation model

from ultralytics import YOLO

import os


# Use Forward Slashes

seg_model = YOLO("models/yolov8n-seg.pt")


seg_model_path = "models/yolov8n-seg_openvino_model/yolov8n-seg.xml"

if not os.path.exists(seg_model_path):

    seg_model.export(format="openvino", dynamic=True, half=False)

輸出:

image.png

上述代碼的解釋:


導(dǎo)入庫:


代碼YOLO從ultralytics庫中導(dǎo)入類以與分割模型協(xié)同工作。


該os模塊被導(dǎo)入用于與操作系統(tǒng)交互。


2.加載分割模型:


YOLO使用庫中的類來加載分割模型ultralytics。


模型文件“yolov8n-seg.pt”作為參數(shù)提供。該模型專為圖像分割而設(shè)計。


3.定義 OpenVINO 的導(dǎo)出路徑:


該變量seg_model_path設(shè)置為OpenVINO模型文件“yolov8n-seg.xml”的保存路徑。


4.導(dǎo)出為 OpenVINO 格式:


代碼檢查 OpenVINO 模型文件是否不存在指定路徑。


如果該文件不存在,則使用該export方法將分割模型導(dǎo)出為 OpenVINO 格式:


format="openvino"指定導(dǎo)出格式應(yīng)為OpenVINO。


dynamic=True表示導(dǎo)出的模型應(yīng)該支持動態(tài)輸入形狀。


half=False指定導(dǎo)出的模型不應(yīng)使用半精度浮點數(shù)。


本文網(wǎng)址:
下一篇:沒有資料

相關(guān)信息:
版權(quán)所有 CopyRight 2006-2017 江蘇和訊自動化設(shè)備有限公司 常州自動化培訓(xùn)中心 電話:0519-85602926 地址:常州市新北區(qū)府琛商務(wù)廣場2號樓1409室
蘇ICP備14016686號-2 技術(shù)支持:常州山水網(wǎng)絡(luò)
本站關(guān)鍵詞:常州PLC培訓(xùn) 常州PLC編程培訓(xùn) 常州PLC編程 常州PLC培訓(xùn)班 網(wǎng)站地圖 網(wǎng)站標(biāo)簽
在線與我們?nèi)〉寐?lián)系
亚洲mv大片欧洲mv大片入口,国产粉嫩无码一区二区三区,国内精品自产拍在线观看91,久久久亚洲欧洲日产国码二区,中文字幕人妻久久一区二区三区