首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >TensorRT10.8 C++部署异常缺陷检测模型

TensorRT10.8 C++部署异常缺陷检测模型

作者头像
OpenCV学堂
发布2026-04-02 20:57:41
发布2026-04-02 20:57:41
1400
举报
Padim模型介绍

Padim主要是通过CNN网络在一系列正常样本生成特征向量,计算特征向量的多个方差高斯矩阵,获取正常样本的特征数据分布,然后对输入的样本图像,计算它的特征向量与训练生成的特征数据分布之间的马氏距离。从而实现异常检测与定位。

图片
图片

Padim模型训练与导出ONNX格式或者OpenVINO格式支持,请看下面这篇文章。

【工程实践】Anomalib异常检测从训练到部署

TensorRT推理步骤

TensorRT相比之前版本C++ SDK更加的简洁与易用,同时支持动态修改输入维度参数。

加载模型与创建执行引擎

代码语言:javascript
复制
this->runtime = createInferRuntime(gLogger);
assert(this->runtime != nullptr);
this->engine = this->runtime->deserializeCudaEngine(trtModelStream, size);
assert(this->engine != nullptr);
this->context = engine->createExecutionContext();
assert(this->context != nullptr);
delete[] trtModelStream;

图像预处理与推理

代码语言:javascript
复制
cv::Mat blob = cv::dnn::blobFromImage(image, 1 / 255.0, cv::Size(this->input_w, this->input_h), cv::Scalar(0, 0, 0), true, false);
cudaMemcpyAsync(buffers[0], blob.ptr<float>(), 3 * this->input_h * this->input_w * sizeof(float), cudaMemcpyHostToDevice, stream);
// 推理
context->executeV2(buffers);

获取推理输入与输出数据的维度

代码语言:javascript
复制
// 获取输入维度信息
this->input_h = inputDims.d[2];
this->input_w = inputDims.d[3];
printf("inputH : %d, inputW: %d \n", this->input_h, this->input_w);
// 获取输出维度信息
this->output_h = outDims3.d[2];
this->output_w = outDims3.d[3];
std::cout << "out data format: " << this->output_h << "x" << this->output_w << std::endl;

代码演示

针对PatchCore、Padim、EfficientAD等异常检测模型,我实现了一个类封装,只要几行代码即可实现异常缺陷检测模型部署,调用代码如下:

代码语言:javascript
复制
std::shared_ptr<AnomalyDetector> detector(new AnomalyDetector());
detector->initConfig("D:/TensorRT-10.8/bin//model.engine", 256, 256, 0.5);
cv::Mat image = cv::imread("D:/python/yolov5-7.0/breaksmall.png");
detector->detect(image);
//cv::imshow("输入图像", image);
cv::waitKey(0);
cv::destroyAllWindows();

运行结果如下:

学习TensorRT10

深度学习模型部署开发

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-09-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 OpenCV学堂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档