English | [简体中文](README_CN.md) # RobustVideoMatting Python Deployment Example Before deployment, two steps require confirmation - 1. Software and hardware should meet the requirements. Please refer to [FastDeploy Environment Requirements](../../../../../docs/en/build_and_install/download_prebuilt_libraries.md) - 2. Install FastDeploy Python whl package. Refer to [FastDeploy Python Installation](../../../../../docs/en/build_and_install/download_prebuilt_libraries.md) This directory provides examples that `infer.py` fast finishes the deployment of RobustVideoMatting on CPU/GPU and GPU accelerated by TensorRT. The script is as follows ```bash # Download the deployment example code git clone https://github.com/PaddlePaddle/FastDeploy.git cd FastDeploy/examples/vision/matting/rvm/python # Download RobustVideoMatting model files, test images and videos ## Original ONNX Model wget https://bj.bcebos.com/paddlehub/fastdeploy/rvm_mobilenetv3_fp32.onnx ## Specially process the ONNX model for loading TRT 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 inference ## image python infer.py --model rvm_mobilenetv3_fp32.onnx --image matting_input.jpg --bg matting_bgr.jpg --device cpu ## video python infer.py --model rvm_mobilenetv3_fp32.onnx --video video.mp4 --bg matting_bgr.jpg --device cpu # GPU inference ## image python infer.py --model rvm_mobilenetv3_fp32.onnx --image matting_input.jpg --bg matting_bgr.jpg --device gpu ## video python infer.py --model rvm_mobilenetv3_fp32.onnx --video video.mp4 --bg matting_bgr.jpg --device gpu # TRT inference ## image python infer.py --model rvm_mobilenetv3_trt.onnx --image matting_input.jpg --bg matting_bgr.jpg --device gpu --use_trt True ## video python infer.py --model rvm_mobilenetv3_trt.onnx --video video.mp4 --bg matting_bgr.jpg --device gpu --use_trt True ``` The visualized result after running is as follows
## RobustVideoMatting Python Interface ```python fd.vision.matting.RobustVideoMatting(model_file, params_file=None, runtime_option=None, model_format=ModelFormat.ONNX) ``` RobustVideoMatting model loading and initialization, among which model_file is the exported ONNX model format **Parameter** > * **model_file**(str): Model file path > * **params_file**(str): Parameter file path. No need to set when the model is in ONNX format > * **runtime_option**(RuntimeOption): Backend inference configuration. None by default, which is the default configuration > * **model_format**(ModelFormat): Model format. ONNX format by default ### predict function > ```python > RobustVideoMatting.predict(input_image) > ``` > > Model prediction interface. Input images and output matting results. > > **Parameter** > > > * **input_image**(np.ndarray): Input data in HWC or BGR format > **Return** > > > Return `fastdeploy.vision.MattingResult` structure. Refer to [Vision Model Prediction Results](../../../../../docs/api/vision_results/) for the description of the structure. ## Other Documents - [RobustVideoMatting Model Description](..) - [RobustVideoMatting C++ Deployment](../cpp) - [Vision Model Prediction Results](../../../../../docs/api/vision_results/) - [How to switch the model inference backend engine](../../../../../docs/en/faq/how_to_change_backend.md)