YOLOv6在LabVIEW中的推理部署(含源碼)
前言
YOLOv6 是美團視覺智能部研發的一款目標檢測框架,致力于工業應用。如何使用python進行該模型的部署,官網已經介紹的很清楚了,但是對于如何在LabVIEW中實現該模型的部署,筆者目前還沒有看到相關介紹文章,所以筆者在實現YOLOv6 ONNX 在LabVIEW中的部署推理后,決定和各位讀者分享一下如何使用LabVIEW實現YOLOv6的目標檢測。
一、什么是YOLOv6
- YOLOV6官方代碼:https://github.com/meituan/YOLOv6
YOLOv6 是美團視覺智能部研發的一款目標檢測框架,致力于工業應用。本框架同時專注于檢測的精度和推理效率,在工業界常用的尺寸模型中:YOLOv6-nano 在 COCO 上精度可達 35.0% AP,在 T4 上推理速度可達 1242 FPS;YOLOv6-s 在 COCO 上精度可達 43.1% AP,在 T4 上推理速度可達 520 FPS。在部署方面,YOLOv6 支持 GPU(TensorRT)、CPU(OPENVINO)、ARM(MNN、TNN、NCNN)等不同平臺的部署,極大地簡化工程部署時的適配工作。

從模型性能對比圖來看,YOLOv6的性能也是再創新高。YOLOv6-s在COCO上精度達到了43.1%AP,在T4上推理速度也高達520FPS!
YOLOv6提供了支持 ONNX、TensorRT、NCNN 和 Openvino 的部署版本。今天我們一起來看一下如何在LabVIEW中部署YOLOv6 ONNX。
二、環境搭建
1、部署本項目時所用環境
- 操作系統:Windows10
- python:3.6及以上
- LabVIEW:2018及以上 64位版本
- AI視覺工具包:techforce_lib_opencv_cpu-1.0.0.73.vip
- onnx工具包:virobotics_lib_onnx_cuda_tensorrt-1.0.0.16.vip【1.0.0.16及以上版本】
2、LabVIEW工具包下載及安裝
- AI視覺工具包下載與安裝參考:
https://blog.csdn.net/virobotics/article/details/123656523 - onnx工具包下載與安裝參考:
https://blog.csdn.net/virobotics/article/details/124998746
三、模型的獲取與轉化
注意:本教程已經為大家提供了YOLOV6的模型,可跳過本步驟,直接進行步驟四-推理。若是想要了解YOLOV6的onnx模型如何獲取,則可繼續閱讀本部分內容。
下面我們來介紹兩種模型獲取的方式(以yolov6s為例,想要獲取其他模型的方式也一樣,只需要修改名字即可)
1、方式一:直接在官網下載yolov6s的onnx模型
具體地址如下:https://github.com/meituan/YOLOv6/tree/main/deploy/ONNX

單擊YOLOv6-s,可直接下載yolov6s.onnx
2、方式二:將標準模型pt轉化為onnx(較為復雜)
1、下載并安裝YOLOv6所依賴的庫
在https://github.com/meituan/YOLOv6中下載YOLOv6源碼并解壓

在YOLOv6-main文件夾中打開cmd,輸入以下指令安裝需要的庫:
pip3 install -U pip && pip3 install -r requirements.txt
注意:YOLOv6比V5多了一個addict庫,如果之前已經安裝過了YOLOv5的相關庫,也可以只下載一個addict
2、安裝pycocotools
pip install pycocotools
!!!注:若安裝pycocotools時遇到ERROR: Could not build wheels for pycocotools ……,則使用以下指令來安裝:
pip install pycocotools-windows
3、從基準表下載標準預訓練模型
https://github.com/meituan/YOLOv6

將模型放置到如下路徑”\YOLOv6-main\”

4、將標準模型pt轉化為onnx
切換到YOLOv6-main文件夾路徑下,運行以下指令實現模型的轉換
python ./deploy/ONNX/export_onnx.py --weights yolov6s.pt --img 640 --batch 1
輸出如下,得到yolov6s.onnx

四、在LabVIEW實現YOLOV6的部署推理
本項目整體的文件結構如下圖所示,各位讀者可在文章末尾鏈接處下載整個項目源碼。

本例中使用LabVIEW ONNX工具包中的Create_Session.vi載入onnx模型,可選擇使用cpu,cuda進行推理加速。
1、查看模型
我們可以使用netron 查看ppyoloe_crn_s_300e_coco.onnx的網絡結構,瀏覽器中輸入鏈接:https://netron.app/,點擊Open Model,打開相應的網絡模型文件即可。

查看模型屬性,可看到模型的輸入輸出如下圖所示:

我們發現,該模型輸出和YOLOx輸出一直,均為1x8400x85
2、項目運行
將我們已經轉化好的onnx模型放置到model文件夾中,打開yolov6_onnx_camera.vi,在前面板中修改程序中加載的模型路徑為實際模型路徑,本項目中已經將YOLOV6 onnx模型【yolov6s.onnx】放置到了model文件夾中,如需其他模型,讀者也可自行放置到model文件及下,實現模型的加載。運行程序,可得到目標檢測的結果。
-
主程序源碼如下(可以選擇使用CUDA或者TensorRT進行推理加速):
![在這里插入圖片描述]()
-
運行結果如下:
![在這里插入圖片描述]()
五、完整項目下載鏈接
鏈接:https://blog.csdn.net/virobotics/article/details/126356929?spm=1001.2014.3001.5501
總結
以上就是今天要給大家分享的內容。大家可根據鏈接下載相關源碼與模型。
如果有問題可以在評論區里討論,提問前請先點贊支持一下博主哦,如您想要探討更多關于LabVIEW與人工智能技術,歡迎加入我們的技術交流群:705637299。進群請備注:LabVIEW機器學習
**如果文章對你有幫助,歡迎?關注、??點贊、?收藏


浙公網安備 33010602011771號