README.md
1.64 KB
MNN1.0.0+opencv
信息结构体
struct OutputInfo{
int error_code;
bool result;
};
struct InitModelError{
vector<bool> init_error;
};
模型初始化
InitModelError init_model_code;
FaceComparison face_rec = FaceComparison();
bool init_model = face_rec.init_model(face_det_model,face_landm_model,face_rec_model,init_model_code);
det_model_path:人脸检测模型retinaface的模型路径
landm_model_path:106人脸关键点模型的模型路径
rec_model_path:人脸识别模型的模型路径
init_model_code:保存每个模型初始化状态true/false
重要参数(include/facecomparison.h文件)
// 人脸检测阈值
float confidence_threshold = 0.5;
// 是否进行人脸外廓
bool is_bbox_process = true;
// 人脸比对相似度阈值
float face_recongnize_thr = 0.5;
// 线程个数
int num_thread = 2;
// 推理方式
MNNForwardType forward_type = MNN_FORWARD_CPU;
接口(返回结果 bool:true/false)
int inference(string image_path1,string image_path2,OutputInfo &output_info);参数为两张图像地址,其中iamge1_path为face_id图像输入
int inference(Mat image1,Mat image2,OutputInfo &output_info);参数为两张opencv读取的图像矩阵,其中iamge1为face_id图像输入
调用方式
OutputInfo output_info;
int result = face_rec.inference(image1,image2,output_info);
编译
将CMakeLists.txt 中 set(FACECOMPARISON_DIR /home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/include)
改为include文件夹所在的绝对地址
mkdir build
cd build
cmake ..
make
./main