mirror of
https://github.com/PaddlePaddle/FastDeploy.git
synced 2025-10-06 09:07:10 +08:00

* 重构insightface代码 * 重写insightface example代码 * 重写insightface example代码 * 删除多余代码 * 修改预处理代码 * 修改文档 * 修改文档 * 恢复误删除的文件 * 修改cpp example * 修改cpp example * 测试python代码 * 测试python代码 * 测试python代码 * 测试python代码 * 测试python代码 * 测试python代码 * 测试python代码 * 跑通python代码 * 修复重复初始化的bug * 更新adaface的python代码 * 修复c++重复初始化的问题 * 修复c++重复初始化的问题 * 修复Python重复初始化的问题 * 新增preprocess的几个参数的获取方式 * 修复注释的错误 * 按照要求修改 * 修改文档中的图片为图片压缩包 * 修改编译完成后程序的提示 * 更新错误include * 删除无用文件 * 更新文档
81 lines
2.7 KiB
C++
Executable File
81 lines
2.7 KiB
C++
Executable File
// Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
#pragma once
|
|
#include "fastdeploy/vision/common/processors/transform.h"
|
|
#include "fastdeploy/vision/common/result.h"
|
|
|
|
namespace fastdeploy {
|
|
namespace vision {
|
|
|
|
namespace faceid {
|
|
/*! @brief Preprocessor object for InsightFaceRecognition serials model.
|
|
*/
|
|
class FASTDEPLOY_DECL InsightFaceRecognitionPreprocessor {
|
|
public:
|
|
/** \brief Create a preprocessor instance for InsightFaceRecognition serials model
|
|
*/
|
|
InsightFaceRecognitionPreprocessor();
|
|
|
|
/** \brief Process the input image and prepare input tensors for runtime
|
|
*
|
|
* \param[in] images The input image data list, all the elements are returned by cv::imread()
|
|
* \param[in] outputs The output tensors which will feed in runtime
|
|
* \return true if the preprocess successed, otherwise false
|
|
*/
|
|
bool Run(std::vector<FDMat>* images, std::vector<FDTensor>* outputs);
|
|
|
|
/// Get Size
|
|
std::vector<int> GetSize() { return size_; }
|
|
|
|
/// Set size.
|
|
void SetSize(std::vector<int>& size) { size_ = size; }
|
|
|
|
/// Get alpha
|
|
std::vector<float> GetAlpha() { return alpha_; }
|
|
|
|
/// Set alpha.
|
|
void SetAlpha(std::vector<float>& alpha) { alpha_ = alpha; }
|
|
|
|
/// Get beta
|
|
std::vector<float> GetBeta() { return beta_; }
|
|
|
|
/// Set beta.
|
|
void SetBeta(std::vector<float>& beta) { beta_ = beta; }
|
|
|
|
bool GetPermute() { return permute_; }
|
|
|
|
/// Set permute.
|
|
void SetPermute(bool permute) { permute_ = permute; }
|
|
|
|
protected:
|
|
bool Preprocess(FDMat* mat, FDTensor* output);
|
|
// Argument for image preprocessing step, tuple of (width, height),
|
|
// decide the target size after resize, default (112, 112)
|
|
std::vector<int> size_;
|
|
// Argument for image preprocessing step, alpha values for normalization,
|
|
// default alpha = {1.f / 127.5f, 1.f / 127.5f, 1.f / 127.5f};
|
|
std::vector<float> alpha_;
|
|
// Argument for image preprocessing step, beta values for normalization,
|
|
// default beta = {-1.f, -1.f, -1.f}
|
|
std::vector<float> beta_;
|
|
// Argument for image preprocessing step, whether to swap the B and R channel,
|
|
// such as BGR->RGB, default true.
|
|
bool permute_;
|
|
};
|
|
|
|
} // namespace faceid
|
|
} // namespace vision
|
|
} // namespace fastdeploy
|