Files
FastDeploy/examples/vision/matting/rvm/cpp
WJJ1995 718698a32a [Model] add RobustVideoMatting model (#400)
* add yolov5cls

* fixed bugs

* fixed bugs

* fixed preprocess bug

* add yolov5cls readme

* deal with comments

* Add YOLOv5Cls Note

* add yolov5cls test

* add rvm support

* support rvm model

* add rvm demo

* fixed bugs

* add rvm readme

* add TRT support

* add trt support

* add rvm test

* add EXPORT.md

* rename export.md

* rm poros doxyen

* deal with comments

* deal with comments

* add rvm video_mode note

Co-authored-by: Jason <jiangjiajun@baidu.com>
Co-authored-by: DefTruth <31974251+DefTruth@users.noreply.github.com>
2022-10-26 14:30:04 +08:00
..

RobustVideoMatting C++部署示例

在部署前,需确认以下两个步骤

以Linux上 RobustVideoMatting 推理为例在本目录执行如下命令即可完成编译测试如若只需在CPU上部署可在Fastdeploy C++预编译库下载CPU推理库

本目录下提供infer.cc快速完成RobustVideoMatting在CPU/GPU以及GPU上通过TensorRT加速部署的示例。执行如下脚本即可完成

#下载SDK编译模型examples代码SDK中包含了examples代码
wget https://bj.bcebos.com/fastdeploy/release/cpp/fastdeploy-linux-x64-gpu-0.3.0.tgz
tar xvf fastdeploy-linux-x64-gpu-0.3.0.tgz
cd fastdeploy-linux-x64-gpu-0.3.0/examples/vision/matting/rvm/cpp/
mkdir build && cd build
cmake .. -DFASTDEPLOY_INSTALL_DIR=${PWD}/../../../../../../../fastdeploy-linux-x64-gpu-0.3.0
make -j

# 下载RobustVideoMatting模型文件和测试图片以及视频
## 原版ONNX模型
wget https://bj.bcebos.com/paddlehub/fastdeploy/rvm_mobilenetv3_fp32.onnx
## 为加载TRT特殊处理ONNX模型
wget https://bj.bcebos.com/paddlehub/fastdeploy/rvm_mobilenetv3_trt.onnx
wget https://bj.bcebos.com/paddlehub/fastdeploy/matting_input.jpg
wget https://bj.bcebos.com/paddlehub/fastdeploy/matting_bgr.jpg
wget https://bj.bcebos.com/paddlehub/fastdeploy/video.mp4

# CPU推理
./infer_demo rvm_mobilenetv3_fp32.onnx matting_input.jpg matting_bgr.jpg 0
# GPU推理
./infer_demo rvm_mobilenetv3_fp32.onnx matting_input.jpg matting_bgr.jpg 1
# TRT推理
./infer_demo rvm_mobilenetv3_trt.onnx matting_input.jpg matting_bgr.jpg 2

运行完成可视化结果如下图所示

以上命令只适用于Linux或MacOS, Windows下SDK的使用方式请参考:

RobustVideoMatting C++接口

fastdeploy::vision::matting::RobustVideoMatting(
        const string& model_file,
        const string& params_file = "",
        const RuntimeOption& runtime_option = RuntimeOption(),
        const ModelFormat& model_format = ModelFormat::ONNX)

RobustVideoMatting模型加载和初始化其中model_file为导出的ONNX模型格式。

参数

  • model_file(str): 模型文件路径
  • params_file(str): 参数文件路径当模型格式为ONNX格式时此参数无需设定
  • runtime_option(RuntimeOption): 后端推理配置默认为None即采用默认配置
  • model_format(ModelFormat): 模型格式默认为ONNX格式

Predict函数

RobustVideoMatting::Predict(cv::Mat* im, MattingResult* result)

模型预测接口,输入图像直接输出抠图结果。

参数

  • im: 输入图像注意需为HWCBGR格式
  • result: 抠图结果, MattingResult说明参考视觉模型预测结果

其它文档