mirror of
https://github.com/PaddlePaddle/FastDeploy.git
synced 2025-10-29 11:02:54 +08:00
[Model] Optimize RVM Preprocess (#658)
* add paddle_trt in benchmark * update benchmark in device * update benchmark * update result doc * fixed for CI * update python api_docs * update index.rst * add runtime cpp examples * deal with comments * Update infer_paddle_tensorrt.py * Add runtime quick start * deal with comments * fixed reused_input_tensors&&reused_output_tensors * fixed docs * fixed headpose typo * fixed typo * refactor yolov5 * update model infer * refactor pybind for yolov5 * rm origin yolov5 * fixed bugs * rm cuda preprocess * fixed bugs * fixed bugs * fixed bug * fixed bug * fix pybind * rm useless code * add convert_and_permute * fixed bugs * fixed im_info for bs_predict * fixed bug * add bs_predict for yolov5 * Add runtime test and batch eval * deal with comments * fixed bug * update testcase * fixed batch eval bug * fixed preprocess bug * refactor yolov7 * add yolov7 testcase * rm resize_after_load and add is_scale_up * fixed bug * set multi_label true * optimize rvm preprocess Co-authored-by: Jason <928090362@qq.com> Co-authored-by: Jason <jiangjiajun@baidu.com>
This commit is contained in:
@@ -63,20 +63,16 @@ bool RobustVideoMatting::Preprocess(
|
||||
if (resize_h != mat->Height() || resize_w != mat->Width()) {
|
||||
Resize::Run(mat, resize_w, resize_h);
|
||||
}
|
||||
BGR2RGB::Run(mat);
|
||||
|
||||
// Normalize
|
||||
// Convert_and_permute(swap_rb=true)
|
||||
std::vector<float> alpha = {1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f};
|
||||
std::vector<float> beta = {0.0f, 0.0f, 0.0f};
|
||||
Convert::Run(mat, alpha, beta);
|
||||
ConvertAndPermute::Run(mat, alpha, beta, true);
|
||||
|
||||
// Record output shape of preprocessed image
|
||||
(*im_info)["output_shape"] = {mat->Height(), mat->Width()};
|
||||
|
||||
HWC2CHW::Run(mat);
|
||||
Cast::Run(mat, "float");
|
||||
|
||||
mat->ShareWithTensor(output);
|
||||
output->shape.insert(output->shape.begin(), 1); // reshape to n, h, w, c
|
||||
output->ExpandDim(0); // reshape to n, h, w, c
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -120,8 +116,6 @@ bool RobustVideoMatting::Postprocess(
|
||||
|
||||
// for alpha
|
||||
float* alpha_ptr = static_cast<float*>(alpha.Data());
|
||||
// cv::Mat alpha_zero_copy_ref(out_h, out_w, CV_32FC1, alpha_ptr);
|
||||
// Mat alpha_resized(alpha_zero_copy_ref); // ref-only, zero copy.
|
||||
Mat alpha_resized = Mat::Create(out_h, out_w, 1, FDDataType::FP32,
|
||||
alpha_ptr); // ref-only, zero copy.
|
||||
if ((out_h != in_h) || (out_w != in_w)) {
|
||||
@@ -130,8 +124,6 @@ bool RobustVideoMatting::Postprocess(
|
||||
|
||||
// for foreground
|
||||
float* fgr_ptr = static_cast<float*>(fgr.Data());
|
||||
// cv::Mat fgr_zero_copy_ref(out_h, out_w, CV_32FC1, fgr_ptr);
|
||||
// Mat fgr_resized(fgr_zero_copy_ref); // ref-only, zero copy.
|
||||
Mat fgr_resized = Mat::Create(out_h, out_w, 1, FDDataType::FP32,
|
||||
fgr_ptr); // ref-only, zero copy.
|
||||
if ((out_h != in_h) || (out_w != in_w)) {
|
||||
|
||||
Reference in New Issue
Block a user