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推理,效果可以。

相关推荐
码匠许师傅16 小时前
【设计模式精讲】14.外观模式(Facade)
c++·设计模式·uml·外观模式
YOLO数据集集合17 小时前
基准标记目标检测数据集 |基准标记 视觉定位 相机标定 目标检测 YOLO格式 深度学习数据集 计算机9038期
数码相机·yolo·目标检测·视觉定位·基准标定
xxwxx__18 小时前
C++ list 深度解析:从使用原理到模拟实现
开发语言·c++·list
Chester_199918 小时前
CSP202303C.LDAP
开发语言·c++·蓝桥杯·stl
j7~19 小时前
【C++】《unordered系列关联式容器以及哈希底层、哈希冲突、闭散列与开散列完整解析》
c++·哈希算法·开散列·闭散列·unordered_map·unordered_set·哈希底层结构
2402_8828938620 小时前
封装红黑树实现map和set —— 从源码到模拟实现
c++·set·map
YOLO数据集集合20 小时前
隧道病害检测数据集 | 隧道检测 裂缝识别 渗水监测 剥落检测9037期
人工智能·深度学习·yolo·隧道·裂缝检测·裂缝识别·隧道病害
神仙别闹21 小时前
基于C++ MFC 实现的智慧公交系统
开发语言·c++·mfc
dear_bi_MyOnly1 天前
函数模块化:企业级项目高效之道
c++·后端·学习
码匠许师傅1 天前
【设计模式精讲】13.装饰器模式(Decorator)
c++·设计模式·uml·装饰器模式