百度人脸识别Windows C++离线sdk C#接入

说明

根据《百度人脸识别Windows C++离线sdk用户接入文档V8.4.pdf》封装动态库,然后C#调用。

效果

f6fc8f068cf4d49126ad57ae43342339.png

1e3f7d6d682f72978944e5adf041cd7e.png

21a14259527c6cfe9071c1fb248fd1ad.png

设计背景

• 场景特点:

-- 网络:对于无网、局域网等情况,无法连接公网,API 方式无法运作。如政府单位、金融保险、教育机构等,其中内网情况最为常见,私有化部署是项目开展的前提 条件。

-- 安全:即使可以连接外网,因为人脸数据的敏感性,许多客户不希望将人脸数据传入百度服务器,如大学学生照片、部分企业员工数据等,API 形式也往往不被接受。

-- 速度:由于各地网络线路、机房部署、图片采集方式等诸多原因,API 形式往往耗时较高,容易存在部分请求耗时过长的情况,容易影响业务正常运转。

-- 稳定:API 形式容易受网络抖动、机房故障、线上连带 bug 等影响,存在一定的不稳定因素,可用性保障,往往成为在线调用最容易出现问题的地方。

• 客户特点:

-- 1:N-小型人脸库检索:多为通道通行、固定区域人群验证等需求,如写字楼闸机门禁、企业考勤打卡等,人脸库范围较小,且不易经常变动。-- 1:1-自有数据源对比:将当前采集的人脸,与其他数据源中的人脸进行对比,如身份证芯片照、教务系统图片、档案图片等,进行快速的 1:1 对比验证。

• 核心需求:

-- 基础的人脸采集:包含人脸检测、跟踪、捕获、质量校验等基础功能,获取符合识别条件的人脸。为之前的客户端 SDK 的标准功能,离线版本 SDK 保留以上所有能力。

-- 本地特征抽取:所有在 SDK 中运行的人脸图片,都可以完成本地特征抽取,以便进行对比或识别操作。

-- 1:1 对比:支持两张图片的相似度对比,可直接传入图片,也可调用本地某个人脸特征;

-- 1:N 搜索:支持一定库大小的人脸查找,在指定的人脸集合中查找最相似的人脸,并返回相似度分值;

SDK 包结构

f65ba9b916a74f2390d79b648c34aef7.png

项目

39dfa75b7e70f26b6e1115e8c6316f19.png

代码

dll 头文件

#pragma once
 
#include "targetver.h"
 
#define WIN32_LEAN_AND_MEAN             // 从 Windows 头中排除极少使用的资料
// Windows 头文件: 
#include <windows.h>
#include "baidu_face_api.h"
#include <iostream>
#include <opencv2/opencv.hpp>
 
using namespace std;
using namespace cv;
 
//创建实例
extern "C" _declspec(dllexport) void* __cdecl create();
 
//实例初始化
extern "C" _declspec(dllexport) int __cdecl init(void* engine, char* model_path, char* code);
 
//人脸检测
extern "C" _declspec(dllexport) int __cdecl face_detect(void* engine, Mat* image, char* json_result);
 
// 通过图片人脸特征值提取
extern "C" _declspec(dllexport) int __cdecl face_feature(void* engine, Mat* image, char* json_result);
 
// 人脸比对(通过传图片)
extern "C" _declspec(dllexport) float __cdecl face_match_by_img(void* engine, Mat* image, Mat* image2);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值