YOLOV8目标检测C++推理问题总结

背景

数据集有限,使用paddleOCR直接识别准确率无法达到99%,这里尝试用目标检测对识别得分比较低的图片进行二次处理;

类别数目:数字(10)+字母(26)+字符(2)= 38

数据集标注跟训练过程这里使用自己开发的软件;

标注格式与labelimg一致,使用官网方法训练效果也一样;yolo目标检测官网

具体参考官方代码,这里记录注意事项(VS2019 + Qt);

推理参考:https://github.com/ultralytics/ultralytics/tree/main/examples

一、使用OpenCV的DNN

二、ONNXRuntime

三、Libtorch

libtorch 1.13.0

cpu-release:
https://download.pytorch.org/libtorch/cpu/libtorch-win-shared-with-deps-1.13.0%2Bcpu.zip

bash 复制代码
opencv_world490.lib
asmjit.lib
c10.lib
clog.lib
torch.lib
torch_cpu.lib

报错:#error: Macro clash with min and max -- define NOMINMAX when compiling your program on Windows

解决:Qt的slot冲突

注意把#include <torch/torch.h>放到include "opencv.hpp"前面,不然也会冲突报错。

四、OpenVINO

没有试,转换时需要先转为onnx再转为openvino 下载OpenVINO™ toolkit

问题:如图,针对同一张图片,上图为python直接预测的结果,下图为OpenCV的DNN推理结果(ONNXRuntime也和下图差不多),和结果差异很大,原因未知。

最后使用Libtorch推理,效果可以。

相关推荐
螺蛳粉只吃炸蛋的走风22 分钟前
网络编程IO多路复用之poll模式
网络·c++·面试·poll·阻塞与非阻塞
会写代码的饭桶23 分钟前
【C++刷题】力扣-#566-重塑矩阵
c++·leetcode·矩阵
辛勤的程序猿26 分钟前
YOLO即插即用---PConv
深度学习·yolo·计算机视觉
fengbizhe32 分钟前
qt获取本机IP和定位
开发语言·c++·qt·tcp/ip
凯子坚持 c42 分钟前
纵然千万数据流逝,唯独vector长存
c++
萧鼎1 小时前
【Python】计算机视觉应用:OpenCV库图像处理入门
python·opencv
何曾参静谧1 小时前
「C/C++」C/C++标准库 之 #include<cstddef> 常用定义和宏
c语言·开发语言·c++
木宇(记得热爱生活)1 小时前
C++ <string> 标头文件详解
开发语言·c++
你有抖音吗2 小时前
【每日 C/C++ 问题】
开发语言·c++
霁月风3 小时前
设计模式——模板方法模式
c++·设计模式