前言
大家好,YOLOv8 框架本身提供的API函數(shù)是可以兩行代碼實(shí)現(xiàn) YOLOv8 模型推理,這次我把這段代碼封裝成了一個類,只有40行代碼左右,可以同時支持YOLOv8對象檢測、實(shí)例分割、姿態(tài)評估模型的GPU與CPU上推理演示。
程序?qū)崿F(xiàn)
使用PyQT5開發(fā)一個簡單的YOLOv8 框架本身提供的API函數(shù)演示交互界面,支持從界面上選擇模型文件、測試圖像或者視頻文件,點(diǎn)擊開始推理 按鈕就可以運(yùn)行了,整個程序的界面如下:
YOLOv8框架支持的函數(shù)推理會自動識別模型的類型是對象檢測、實(shí)例分割、姿態(tài)評估中哪一種,有GPU支持的情況下,默認(rèn)會使用GPU推理。
推理運(yùn)行在一個單獨(dú)的PyQT線程中,通過信號與槽機(jī)制實(shí)現(xiàn)推理結(jié)果返回與更新。實(shí)現(xiàn)的線程代碼如下:
classInferenceThread(QtCore.QThread): fire_stats_signal=QtCore.pyqtSignal(dict) def__init__(self,settings): super(InferenceThread,self).__init__() self.settings=settings self.detector=YOLOv8PtInference(settings) self.input_image=settings.input_image defrun(self): ifself.detectorisNone: return ifself.input_image.endswith(".mp4"): cap=cv.VideoCapture(self.input_image) whileTrue: ret,frame=cap.read() ifretisTrue: self.detector.infer_image(frame) self.fire_stats_signal.emit({"result":frame}) else: break else: frame=cv.imread(self.input_image) self.detector.infer_image(frame) self.fire_stats_signal.emit({"result":frame}) self.fire_stats_signal.emit({"done":"done"}) return直接通過PT模型推理的好處有兩點(diǎn),一個是不需要寫部署代碼了,二是精度不會在模型轉(zhuǎn)化中有細(xì)微損失了。特別適合Python開發(fā)者
對象檢測 - 運(yùn)行截圖如下:
實(shí)例分割-運(yùn)行截圖如下:
姿態(tài)評估-運(yùn)行截圖如下:
審核編輯:劉清
-
gpu
+關(guān)注
關(guān)注
28文章
4832瀏覽量
129802 -
python
+關(guān)注
關(guān)注
56文章
4813瀏覽量
85319 -
pyqt5
+關(guān)注
關(guān)注
0文章
25瀏覽量
3436
原文標(biāo)題:兩行代碼搞定YOLOv8各種模型推理
文章出處:【微信號:CVSCHOOL,微信公眾號:OpenCV學(xué)堂】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
基于YOLOv8實(shí)現(xiàn)自定義姿態(tài)評估模型訓(xùn)練

【愛芯派 Pro 開發(fā)板試用體驗(yàn)】yolov8模型轉(zhuǎn)換
使用YOLOv8做目標(biāo)檢測和實(shí)例分割的演示
YOLOv8自定義數(shù)據(jù)集訓(xùn)練到模型部署推理簡析
TensorRT 8.6 C++開發(fā)環(huán)境配置與YOLOv8實(shí)例分割推理演示

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

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

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

Pytorch Hub兩行代碼搞定YOLOv5推理

三種主流模型部署框架YOLOv8推理演示
如何修改YOLOv8的源碼

YOLOv8實(shí)現(xiàn)任意目錄下命令行訓(xùn)練

OpenCV4.8+YOLOv8對象檢測C++推理演示

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

基于OpenCV DNN實(shí)現(xiàn)YOLOv8的模型部署與推理演示

評論