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

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

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

YOLOX目標檢測模型的推理部署

OpenCV學堂 ? 來源:OpenCV學堂 ? 作者:gloomyfish ? 2022-04-16 23:00 ? 次閱讀
YOLOX目標檢測模型

曠視科技開源了內(nèi)部目標檢測模型-YOLOX,性能與速度全面超越Y(jié)OLOv5早期版本!

fd7acd32-bc50-11ec-aa7f-dac502259ad0.png

如此神奇原因在于模型結(jié)構(gòu)的修改,下圖說明了改了什么地方:

fd89a5b4-bc50-11ec-aa7f-dac502259ad0.png

把原來的耦合頭部,通過1x1卷積解耦成兩個并行的分支,經(jīng)過一系列處理之后最終取得精度與速度雙提升。實驗對比結(jié)果如下:

fd9a396a-bc50-11ec-aa7f-dac502259ad0.png

論文與代碼模型下載地址:
https://arxiv.org/pdf/2107.08430.pdfhttps://github.com/Megvii-BaseDetection/YOLOX

ONNX格式模型轉(zhuǎn)與部署

下載YOLOX的ONNX格式模型(github上可以下載)
https://github.com/Megvii-BaseDetection/YOLOX/tree/main/demo/ONNXRuntimehttps://github.com/Megvii-BaseDetection/YOLOX/releases/download/0.1.1rc0/yolox_s.onnx

下載ONNX格式模型,打開之后如圖:

fdab5c7c-bc50-11ec-aa7f-dac502259ad0.png

輸入格式:1x3x640x640,默認BGR,無需歸一化。輸出格式:1x8400x85
官方說明ONNX格式支持OpenVINO、ONNXRUNTIME、TensorRT三種方式,而且都提供源碼,官方提供的源碼參考如下
https://github.com/Megvii-BaseDetection/YOLOX/tree/main/demo
本人就是參考上述的代碼然后一通猛改,分別封裝成三個類,完成了統(tǒng)一接口,公用了后處理部分的代碼,基于本人筆記本的硬件資源與軟件版本:
-GPU 3050Ti-CPU i7 11代-OS:Win10 64位-OpenVINO2021.4-ONNXRUNTIME:1.7-CPU-OpenCV4.5.4-Python3.6.5-YOLOX-TensorRT8.4.x
在三個推理平臺上測試結(jié)果如下:

fdb887bc-bc50-11ec-aa7f-dac502259ad0.png

運行截圖如下:onnxruntime推理

fdc4c9d2-bc50-11ec-aa7f-dac502259ad0.png

OpenVINO推理

fde1d216-bc50-11ec-aa7f-dac502259ad0.png

TensorRT推理 - FP32

fdf9d622-bc50-11ec-aa7f-dac502259ad0.png

轉(zhuǎn)威FP16

fe1134ac-bc50-11ec-aa7f-dac502259ad0.png

TensorRT推理 - FP16

fe239098-bc50-11ec-aa7f-dac502259ad0.png

總結(jié)

之前我寫過一篇文章比較了YOLOv5最新版本在OpenVINO、ONNXRUNTIME、OpenCV DNN上的速度比較,現(xiàn)在加上本篇比較了YOLOXTensorRT、OpenVINO、ONNXRUNTIME上推理部署速度比較,得到的結(jié)論就是:
CPU上速度最快的是OpenVINOGPU上速度最快的是TensorRT
能不改代碼,同時支持CPU跟GPU推理是ONNXRUNTIMEOpenCV DNN毫無意外的速度最慢(CPU/GPU)

原文標題:YOLOX在OpenVINO、ONNXRUNTIME、TensorRT上面推理部署與速度比較

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

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

    關(guān)注

    1

    文章

    3243

    瀏覽量

    48840
  • 目標檢測
    +關(guān)注

    關(guān)注

    0

    文章

    209

    瀏覽量

    15611
  • OpenCV
    +關(guān)注

    關(guān)注

    31

    文章

    635

    瀏覽量

    41349

原文標題:YOLOX在OpenVINO、ONNXRUNTIME、TensorRT上面推理部署與速度比較

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

收藏 人收藏

    評論

    相關(guān)推薦

    AI模型部署邊緣設(shè)備的奇妙之旅:目標檢測模型

    以及邊緣計算能力的增強,越來越多的目標檢測應(yīng)用開始直接在靠近數(shù)據(jù)源的邊緣設(shè)備上運行。這不僅減少了數(shù)據(jù)傳輸延遲,保護了用戶隱私,同時也減輕了云端服務(wù)器的壓力。然而,在邊緣端部署高效且準確的目標
    發(fā)表于 12-19 14:33

    如何開啟Stable Diffusion WebUI模型推理部署

    如何開啟Stable Diffusion WebUI模型推理部署
    的頭像 發(fā)表于 12-11 20:13 ?104次閱讀
    如何開啟Stable Diffusion WebUI<b class='flag-5'>模型</b><b class='flag-5'>推理</b><b class='flag-5'>部署</b>

    使用vLLM+OpenVINO加速大語言模型推理

    隨著大語言模型的廣泛應(yīng)用,模型的計算需求大幅提升,帶來推理時延高、資源消耗大等挑戰(zhàn)。
    的頭像 發(fā)表于 11-15 14:20 ?400次閱讀
    使用vLLM+OpenVINO加速大語言<b class='flag-5'>模型</b><b class='flag-5'>推理</b>

    高效大模型推理綜述

    模型由于其在各種任務(wù)中的出色表現(xiàn)而引起了廣泛的關(guān)注。然而,大模型推理的大量計算和內(nèi)存需求對其在資源受限場景的部署提出了挑戰(zhàn)。業(yè)內(nèi)一直在努力開發(fā)旨在提高大
    的頭像 發(fā)表于 11-15 11:45 ?383次閱讀
    高效大<b class='flag-5'>模型</b>的<b class='flag-5'>推理</b>綜述

    在樹莓派上部署YOLOv5進行動物目標檢測的完整流程

    卓越的性能。本文將詳細介紹如何在性能更強的計算機上訓(xùn)練YOLOv5模型,并將訓(xùn)練好的模型部署到樹莓派4B上,通過樹莓派的攝像頭進行實時動物目標檢測
    的頭像 發(fā)表于 11-11 10:38 ?996次閱讀
    在樹莓派上<b class='flag-5'>部署</b>YOLOv5進行動物<b class='flag-5'>目標</b><b class='flag-5'>檢測</b>的完整流程

    YOLOv6在LabVIEW中的推理部署(含源碼)

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

    手冊上新 |迅為RK3568開發(fā)板NPU例程測試

    yolov5目標檢測 6.13 yolov5-seg語義分割 6.14 yolov6目標檢測 6.15 yolov7目標
    發(fā)表于 10-23 14:06

    手冊上新 |迅為RK3568開發(fā)板NPU例程測試

    yolov5目標檢測 6.13 yolov5-seg語義分割 6.14 yolov6目標檢測 6.15 yolov7目標
    發(fā)表于 08-12 11:03

    LLM大模型推理加速的關(guān)鍵技術(shù)

    LLM(大型語言模型)大模型推理加速是當前人工智能領(lǐng)域的一個研究熱點,旨在提高模型在處理復(fù)雜任務(wù)時的效率和響應(yīng)速度。以下是對LLM大模型
    的頭像 發(fā)表于 07-24 11:38 ?894次閱讀

    迅為RK3568手冊上新 | RK3568開發(fā)板NPU例程測試

    6.13 yolov5-seg語義分割 6.14 yolov6目標檢測 6.15 yolov7目標檢測 6.16 yolov8目標
    發(fā)表于 07-12 14:44

    yolox_bytetrack_osd_encode示例自帶的yolox模型效果不好是怎么回事?

    yolox_bytetrack_osd_encode示例自帶的模型如下,我看示例里面yolox_group.json、yolox_infer.json、
    發(fā)表于 07-05 07:51

    用OpenVINO C# API在intel平臺部署YOLOv10目標檢測模型

    模型設(shè)計策略,從效率和精度兩個角度對YOLOs的各個組成部分進行了全面優(yōu)化,大大降低了計算開銷,增強了性能。在本文中,我們將結(jié)合OpenVINO C# API使用最新發(fā)布的OpenVINO 2024.1部署YOLOv10目標
    的頭像 發(fā)表于 06-21 09:23 ?1037次閱讀
    用OpenVINO C# API在intel平臺<b class='flag-5'>部署</b>YOLOv10<b class='flag-5'>目標</b><b class='flag-5'>檢測</b><b class='flag-5'>模型</b>

    開發(fā)者手機 AI - 目標識別 demo

    %。 Init、DeInit 為Native的初始化和去初始化實現(xiàn),主要對模型進行創(chuàng)建、編譯以及銷毀。 Process為異步NAPI接口,主要完成目標識別的功能。實現(xiàn)包括前處理、推理和后處理3個部分。前處理主要
    發(fā)表于 04-11 16:14

    OpenVINO? C# API部署YOLOv9目標檢測和實例分割模型

    YOLOv9模型是YOLO系列實時目標檢測算法中的最新版本,代表著該系列在準確性、速度和效率方面的又一次重大飛躍。
    的頭像 發(fā)表于 04-03 17:35 ?898次閱讀
    OpenVINO? C# API<b class='flag-5'>部署</b>YOLOv9<b class='flag-5'>目標</b><b class='flag-5'>檢測</b>和實例分割<b class='flag-5'>模型</b>

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

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