旷视人脸识别SDK 粗略分类剖析-程序员宅基地

技术标签: 分类算法  sdk  人脸识别  旷视人脸识别  

根据目录可以大致看到一套完整的SDK 函数分类。使用时根据demo按需查看sdk.

旷视SDK API接口

目录

旷视SDK API接口

1.整体SDK的操作

1.1 获取版本信息getVersion

1.2 初始化 init

1.3 释放release  

1.4 设置日志等级 setLogLevel

1.5 设置参数 set_detect_config

2.人脸位置轨迹坐标信息

2.1 获取人脸位置信息 detect 

2.2 视频流人脸位置 detectAndTrack 

2.3 获取人脸坐标 getFaceRect 

2.4 获取跟踪轨迹编号 getTrackId 

2.5 获取⼈脸关键点 getFaceLandmark

2.6 重置跟踪器 resetTrack

2.7 释放人脸结构体 releaseFace

2.8 ⼈脸⻆度模糊度属性 getPoseBlurAttribute

2.9 获取人脸关键点refineLandmark

3.2 释放特征值 releaseFeature

3.3 比较特征值 compare

4.活体检测

4.1可见光 getLiveness_bgr

4.2 红外getLiveness_ir

4.3 红外可见光 getLiveness_bgrir

4.4 双目配置参数 set_match_config

红外电子屏过滤 ir_filter

可见光和红外图形对比 BGR_IR_match

5.人脸特征信息

5.1 getFaceAttrResult

5.2 getFaceOcclResult

2.底库的操作

2.1 创建底库

2.2 插入特征值

2.3 删除底库中指定人脸

2.4 底库总数

2.5 清空底库

2.6 释放底库releaseFaceGroup

2.7 底库中检索目标特征

identifyFromFaceGroup

2.8 底库检索返回前K个

top_k_FromFaceGroup


1.整体SDK的操作

1.1 获取版本信息getVersion

获取SDK版本和编译时间。

返回值:常量字符串地址

eg const char* versionPtr = getVersion();

1.2 初始化 init

初始化函数,使⽤SDK必须⾸先调⽤该函数并确保返回 RET_OK 。

1.3 释放release  

释放 SDK 的各种内部资源。

1.4 设置日志等级 setLogLevel

设置⽇志级别以打印必要的信息。

1.5 设置参数 set_detect_config

配置检测算法的内部参数。

根据模型不同需要设置相应的值,请根据模型发布时的说明配置

2.人脸位置轨迹坐标信息

2.1 获取人脸位置信息 detect 

静态图⽚⼈脸检测。输⼊图⽚,调⽤算法检测出⼈脸的位置。⼈脸位置等信息保存在 FaceHandle 数据

结构中,可调⽤相应接口获取

2.2 视频流人脸位置 detectAndTrack 

视频流⼈脸检测。输⼊视频帧,调⽤算法检测出⼈脸的位置。⼈脸位置等信息保存在 FaceHandle 数据

结构中,可调⽤相应接口获取

2.3 获取人脸坐标 getFaceRect 

获取⼈脸坐标。

2.4 获取跟踪轨迹编号 getTrackId 

获取跟踪轨迹编号。 仅在执⾏ detectAndTrack 函数后调⽤该接口

2.5 获取⼈脸关键点 getFaceLandmark

获取⼈脸关键点。

2.6 重置跟踪器 resetTrack

重置跟踪器及轨迹。

2.7 释放人脸结构体 releaseFace

释放从 detect 或 detectAndTrack 获得的⼈脸数据结构体

2.8 ⼈脸⻆度模糊度属性 getPoseBlurAttribute

获取⼈脸⻆度模糊度属性。

2.9 获取人脸关键点refineLandmark

精调 pf 模型输出的⼈脸关键点。

  1. 人脸特征值
    1. 获取人脸特征值extract

抽取⼈脸特征。

3.2 释放特征值 releaseFeature

释放特征值。extract 返回的特征值数组需要通过该接口释放

3.3 比较特征值 compare

⽐较两组特征值,返回⽐对分数

4.活体检测

4.1可见光 getLiveness_bgr

可⻅光活体算法,获取活体分数

4.2 红外getLiveness_ir

近红外活体算法,获取活体分数。

4.3 红外可见光 getLiveness_bgrir

红外活体算法,获取红外活体分数

4.4 双目配置参数 set_match_config

配置双⽬匹配参数。红外电⼦屏过滤或双⽬匹配需要考虑双摄像头的位置偏移,该函数即⽤于配置这个

偏移量

红外电子屏过滤 ir_filter

红外电⼦屏过滤。输⼊成对的彩⾊与红外检测结果,输出红外过滤的结果。红外电⼦屏过滤的相关知识 请看专⻔⽂档

可见光和红外图形对比 BGR_IR_match

对可⻅光图像 handle 数组和近红外图像的 ir_handle 数组进⾏匹配,找到可⻅光图像中每⼀个

FaceHandle 对应的近红外图像⼈脸。

5.人脸特征信息

5.1 getFaceAttrResult

获取⼈脸属性特征:年龄、性别、头发、胡⼦、眼镜等特征

5.2 getFaceOcclResult

获取⼈脸遮挡属性:额头、眼睛、⿐⼦、脸颊、嘴和下巴等

2.底库的操作

2.1 创建底库

createFaceGroup

创建底库,进⾏1:N 搜索前必须先创建底库,可以加速搜索

2.2 插入特征值

insertFaceGroup

将⼀个⼈脸特征数组插⼊底库。

2.3 删除底库中指定人脸

removeFaceGroup

删除底库中指定⼈脸

2.4 底库总数

getFaceGroupCount

获取底库总数。

2.5 清空底库

resetFaceGroup

清空底库。

2.6 释放底库releaseFaceGroup

释放底库。

2.7 底库中检索目标特征

identifyFromFaceGroup

在底库中检索⽬标特征,返回底库中相似度分数最⾼的特征的 id 和分数。通常所讲的"1:N"接口,进⾏ ⼈脸识别底库搜索。

2.8 底库检索返回前K个

top_k_FromFaceGroup

⽀持 TopK 查询的"1:N"⼈脸识别接口。在底库中对⽬标特征值进⾏⽐对搜索,返回⽐对分数最⾼的前k 个特征的id和⽐对分数

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_43296173/article/details/119685500

智能推荐

c# 调用c++ lib静态库_c#调用lib-程序员宅基地

文章浏览阅读2w次,点赞7次,收藏51次。四个步骤1.创建C++ Win32项目动态库dll 2.在Win32项目动态库中添加 外部依赖项 lib头文件和lib库3.导出C接口4.c#调用c++动态库开始你的表演...①创建一个空白的解决方案,在解决方案中添加 Visual C++ , Win32 项目空白解决方案的创建:添加Visual C++ , Win32 项目这......_c#调用lib

deepin/ubuntu安装苹方字体-程序员宅基地

文章浏览阅读4.6k次。苹方字体是苹果系统上的黑体,挺好看的。注重颜值的网站都会使用,例如知乎:font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, W..._ubuntu pingfang

html表单常见操作汇总_html表单的处理程序有那些-程序员宅基地

文章浏览阅读159次。表单表单概述表单标签表单域按钮控件demo表单标签表单标签基本语法结构<form action="处理数据程序的url地址“ method=”get|post“ name="表单名称”></form><!--action,当提交表单时,向何处发送表单中的数据,地址可以是相对地址也可以是绝对地址--><!--method将表单中的数据传送给服务器处理,get方式直接显示在url地址中,数据可以被缓存,且长度有限制;而post方式数据隐藏传输,_html表单的处理程序有那些

PHP设置谷歌验证器(Google Authenticator)实现操作二步验证_php otp 验证器-程序员宅基地

文章浏览阅读1.2k次。使用说明:开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码。实现Google Authenticator功能需要服务器端和客户端的支持。服务器端负责密钥的生成、验证一次性密码是否正确。客户端记录密钥后生成一次性密码。下载谷歌验证类库文件放到项目合适位置(我这边放在项目Vender下面)https://github.com/PHPGangsta/GoogleAuthenticatorPHP代码示例://引入谷_php otp 验证器

【Python】matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距-程序员宅基地

文章浏览阅读4.3k次,点赞5次,收藏11次。matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距

docker — 容器存储_docker 保存容器-程序员宅基地

文章浏览阅读2.2k次。①Storage driver 处理各镜像层及容器层的处理细节,实现了多层数据的堆叠,为用户 提供了多层数据合并后的统一视图②所有 Storage driver 都使用可堆叠图像层和写时复制(CoW)策略③docker info 命令可查看当系统上的 storage driver主要用于测试目的,不建议用于生成环境。_docker 保存容器

随便推点

网络拓扑结构_网络拓扑csdn-程序员宅基地

文章浏览阅读834次,点赞27次,收藏13次。网络拓扑结构是指计算机网络中各组件(如计算机、服务器、打印机、路由器、交换机等设备)及其连接线路在物理布局或逻辑构型上的排列形式。这种布局不仅描述了设备间的实际物理连接方式,也决定了数据在网络中流动的路径和方式。不同的网络拓扑结构影响着网络的性能、可靠性、可扩展性及管理维护的难易程度。_网络拓扑csdn

JS重写Date函数,兼容IOS系统_date.prototype 将所有 ios-程序员宅基地

文章浏览阅读1.8k次,点赞5次,收藏8次。IOS系统Date的坑要创建一个指定时间的new Date对象时,通常的做法是:new Date("2020-09-21 11:11:00")这行代码在 PC 端和安卓端都是正常的,而在 iOS 端则会提示 Invalid Date 无效日期。在IOS年月日中间的横岗许换成斜杠,也就是new Date("2020/09/21 11:11:00")通常为了兼容IOS的这个坑,需要做一些额外的特殊处理,笔者在开发的时候经常会忘了兼容IOS系统。所以就想试着重写Date函数,一劳永逸,避免每次ne_date.prototype 将所有 ios

如何将EXCEL表导入plsql数据库中-程序员宅基地

文章浏览阅读5.3k次。方法一:用PLSQL Developer工具。 1 在PLSQL Developer的sql window里输入select * from test for update; 2 按F8执行 3 打开锁, 再按一下加号. 鼠标点到第一列的列头,使全列成选中状态,然后粘贴,最后commit提交即可。(前提..._excel导入pl/sql

Git常用命令速查手册-程序员宅基地

文章浏览阅读83次。Git常用命令速查手册1、初始化仓库git init2、将文件添加到仓库git add 文件名 # 将工作区的某个文件添加到暂存区 git add -u # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,不处理untracked的文件git add -A # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,包括untracked的文件...

分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120-程序员宅基地

文章浏览阅读202次。分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120

【C++缺省函数】 空类默认产生的6个类成员函数_空类默认产生哪些类成员函数-程序员宅基地

文章浏览阅读1.8k次。版权声明:转载请注明出处 http://blog.csdn.net/irean_lau。目录(?)[+]1、缺省构造函数。2、缺省拷贝构造函数。3、 缺省析构函数。4、缺省赋值运算符。5、缺省取址运算符。6、 缺省取址运算符 const。[cpp] view plain copy_空类默认产生哪些类成员函数

推荐文章

热门文章

相关标签