基于C++ DNN部署Yolov8出现的问题记录

代码问题

报错行:net.forward(outputs, net.getUnconnectedOutLayersNames())

错误展示

错误代码:Exception message: OpenCV(4.8.1) C:\GHA-OCV-2\_work\ci-gha-workflow\ci-gha-workflow\opencv\modules\dnn\src\layers\reshape_layer.cpp:109: error: (-215:Assertion failed) total(srcShape, srcRange.start, srcRange.end) == maskTotal in function 'cv::dnn::computeShapeByReshapeMask'

错误解析

文心一言的解释:

total(srcShape, srcRange.start, srcRange.end) == maskTotal in function 'cv::dnn::computeShapeByReshapeMask' 这句信息看起来像是OpenCV(一个开源的计算机视觉库)中的DNN(深度神经网络)模块在尝试进行形状重塑时抛出的一个条件判断。

具体来说,cv::dnn::computeShapeByReshapeMask 函数用于根据一个给定的重塑掩码(reshape mask)计算一个新的张量形状。这个掩码定义了输入张量中哪些维度需要保持不变,哪些维度可以通过某种方式(如调整大小或填充)来改变。

在这个条件判断中:

  • srcShape 是原始张量的形状。
  • srcRange.start 和 srcRange.end 定义了srcShape中需要被考虑用于重塑的维度范围。
  • maskTotal 则是重塑后,在这个范围内所有维度上的元素总数(通常称为体积)。

total(srcShape, srcRange.start, srcRange.end) 这部分代码会计算原始形状中,指定范围内维度的元素总数。然后这个计算出来的值需要与 maskTotal 进行比较。如果两者相等,那么重塑操作是可行的,因为这意味着重塑后的张量在指定维度上的元素总数与原始张量相同。

如果条件不满足(即两者不相等),那么函数可能会抛出一个错误,因为这意味着无法在不改变元素总数的情况下,通过给定的重塑掩码来重塑张量。

简而言之,这个条件判断是确保重塑操作不会改变张量在指定维度上的元素总数。

改正错误

我这边修改模型的cv::Size(640, 480)修改为cv::Size(640, 640),即onnx转换后应该为640*640,不是640*480,所以tensor张量匹配不上,修改后即可运行

// 1. 设置你的onnx模型

// Note that in this example the classes are hard-coded and 'classes.txt' is a place holder.

Inference inf("last.onnx", cv::Size(640, 640), "classes.txt", runOnGPU); // classes.txt 可以缺失

结果展示:

相关推荐
蓝宝石的傻话2 分钟前
MiBeeNVR 的大脑视觉AI:MiBeeVision Lite 发了第一个可用版本
人工智能·计算机视觉·目标跟踪
晨间晓4 分钟前
图片里的阴影能不能减弱?用华为云码道开发 OpenCV 光照校正工具
人工智能·opencv·华为云
ck0135794 分钟前
AI 图片放大原理与实践:2 倍、4 倍放大有什么区别?
图像处理·人工智能·深度学习·计算机视觉
小沈同学呀13 分钟前
【Agent开发第十三期】多模型路由:给 Agent 装一个“调度台“,实测省 86% 成本
人工智能·agent开发·多模型路由
康实训18 分钟前
智慧养老实训室|职业院校数字化实训基地
大数据·人工智能·实训室·实训室建设
一次旅行1 小时前
DeepSeek‑V4.1‑Flash‑1017完整解读:模型升级+Search/Fetch搜索API开放,Agent开发者要注意哪些坑
前端·网络·人工智能
Jsundoku1 小时前
第三章 机器学习 -- 特征工程
人工智能·机器学习
GIS数据转换器3 小时前
地下空间综合管廊运营管理平台
大数据·开发语言·人工智能·经验分享·perl
dozenyaoyida8 小时前
AI与大模型新闻日报 | 2026-10-17
人工智能·ai·chatgpt·新闻
遇码9 小时前
流式调用中途断连别直接报错:瞬态故障识别、退避重试与中文根因诊断的搭建方法
大数据·人工智能·ai·rust·数据分析·大模型·agent