目标检测实战教程07-windows端cpp部署PaddleDetection目标检测模型

前置的软件环境:

  • vs2019
  • cuda和cudnn(查看电脑的cuda版本 命令行输入nvcc -V)
  • cmake
  • opencv3.4.6下载地址,并且配置环境变量。

需要下载的内容

  • PaddleDetection源码2.4
  • PaddlePaddle C++ 预测库 下载地址(预测库2.3存在bug无法运行,建议使用2.1.1预测库)
  • 之前训练并完成导出的模型

编译推理代码

  1. 首先将paddledetection中的deploy目录下的cpp文件夹单独拿出来,将路径添加到cmake中的源代码路径。
  2. 设置编译输出的文件夹。

在这里插入图片描述

  1. 点击configure,选择vs2019和x64

在这里插入图片描述

  1. 点击finish,弹出报错。

在这里插入图片描述

  1. 开始填写cuda、cudnn、opencv和paddle推理库的路径。
    在这里插入图片描述

  2. 再次点击config,接下来点击generate,在输出文件夹中生成sln格式的解决方案。

生成解决方案

  1. 打开sln解决方案,将debug模式修改为Release模式

在这里插入图片描述

  1. 在解决方案中,右键将main项目设置为启动项目。
  2. 打开main项目属性,将附加依赖项中第一行的.lib修改为paddle_inference.lib

在这里插入图片描述

  1. 点击项目右键,重新生成。
    在这里插入图片描述

  2. 右键main项目,打开属性,将生成后事件改为否。
    在这里插入图片描述

  3. 再次点击重新生成,推理程序生成成功。

运行推理程序

  1. 找到输出目录中的main.exe,双击打开,提示缺少paddle_inference.dll。

在这里插入图片描述

  1. 将之前下载的paddle推理库中paddle\lib文件夹中的paddle_inference.dll复制到输出目录下。
  2. 双击main.exe,黑框一闪而过,没有报错,说明当前步骤完成。
推理
  1. 打开cmd命令窗口,切换到输出目录下。

在这里插入图片描述

  1. 将预测图像文件夹和模型文件夹放到当前目录下。

  2. 输入命令,开始运行推理程序。main --model_dir=model --image_dir=img --output_dir=imgout
    在这里插入图片描述

  3. 模型推理程序开始运行。

在这里插入图片描述

最终运行结束:

在这里插入图片描述

包括很多其他的运行参数可供选择与测试。

可执行文件main即为样例的预测程序,其主要的命令行参数如下:

参数说明
–model_dir导出的检测预测模型所在路径
–threshold置信度阈值
–model_dir_keypointOption
–image_file要预测的图片文件路径
–image_dir要预测的图片文件夹路径
–video_file要预测的视频文件路径
–camera_idOption
–device运行时的设备,可选择CPU/GPU/XPU,默认为CPU
–gpu_id指定进行推理的GPU device id(默认值为0)
–run_mode使用GPU时,默认为paddle, 可选(paddle/trt_fp32/trt_fp16/trt_int8)
–batch_size检测模型预测时的batch size,在指定image_dir时有效
–batch_size_keypoint关键点模型预测时的batch size,默认为8
–run_benchmark是否重复预测来进行benchmark测速
–output_dir输出图片所在的文件夹, 默认为output
–use_mkldnnCPU预测中是否开启MKLDNN加速
–cpu_threads设置cpu线程数,默认为1
–use_dark关键点模型输出预测是否使用DarkPose后处理,默认为true

cpu推理

使用mkldnn可以加速推理程序,也可以增加cpu线程数提升推理速度。

main --model_dir=model --image_dir=img --output_dir=output --device=CPU --run_mode=trt_int8 --use_mkldnn=true --cpu_threads=2

视频预测

main --model_dir=model --video_file=test.mp4 --device=gpu

摄像头调用

main --model_dir=model --video_file=0 --camera_id=1 --device=gpu --threshold=0.3

0表示内置摄像头,1表示其他外置摄像头。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值