商务服务
百度人脸识别SDK学习
2024-12-06 00:47

  之前看到同事说人脸识别多么高大上之类的, 我就好奇搜索了一下, 本人是小白级别,喜欢用百度多一点,所以就使用了百度的人脸识别SDK进行研究。不得不说百度提供的完档很详细,在学习过程中很少出现不能解决的问题, 所以本人也偷个懒,把sdk文档复制下来。

百度人脸识别SDK学习

  注:貌似有个bug,我在百度语音中菜单下创建的人脸识别,然后获取API_key和Secret_key, 在学习尝试过程中, 或多或少有请求量, 但是报表中却没有任何记录, 难道是bug吗? 我在想是不是可以无限制的调用了,作为尝试, 没去批量去测试,感兴趣的小伙伴可以试试

 

准备工作

1、需要有百度账号(没有的话可以注册

注册地址: https://login.bce.baidu.com/

注册登录之后,在“产品服务” 菜单下找到人脸识别 

 

点击去创建自己的应用名称,其实最主要的就是 API_key  和 Secret_key

 

有了这些就可以进一步去看 百度提供的SDK 文档了。

这是百度的SDK地址http://ai.baidu.com/sdk

选择自己喜欢的开发语言进行研究, 里面文档很详细, 下载中有Demo 

本人采用的是C# 进行研究。

参考地址:http://ai.baidu.com/docs#/Face-Csharp-SDK/top

 

主要接口

接口名称接口能力简要描述人脸检测检测人脸并定位,返回五官关键点,及人脸各属性值人脸比对返回两两比对的人脸相似值人脸识别在人脸库中查找相似的人脸人脸认证识别上传的图片是否为指定用户人脸库设置对人脸库的相关操作,如注册、删除、更新、查找用户信息等

 

人脸 C# SDK目录结构


支持平台:.Net framework 3.5 及以上版本

使用步骤

1.在官方网站下载C# SDK压缩工具包。

2.解压后,将  和 thirdparty 中 的dll文件添加为引用。

3.如需使用demo,将  文件夹中相关Demo文件添加至工程即可。

是主要命名空间,基本使用方法如下


在上面代码中,常量在百度云控制台中创建,常量与是在创建完毕应用后,系统分配给用户的,均为字符串,用于标识用户,为访问做签名验证,可在AI服务控制台中的应用列表中查看。

注意:如您以前是百度云的老用户,其中对应百度云的“Access Key ID”,对应百度云的“Access Key Secret”。

接口描述

检测请求图片中的人脸,返回人脸位置、72个关键点坐标、及人脸相关属性信息。

检测响应速度,与图片中人脸数量相关,人脸数量较多时响应时间会有些许延长。

典型应用场景:如人脸属性分析,基于人脸关键点的加工分析,人脸营销活动等。

五官位置会标记具体坐标;72个关键点坐标也包含具体坐标,但不包含对应位置的详细位置描述。

请求说明

图片接受类型支持本地图片路径字符串,图片文件二进制数组。

举例,要对一张图片进行人脸识别,具体的人脸信息在返回的result字段中。自定的参数在options字典中


人脸检测 请求参数详情

参数类型描述是否必须face_fieldsstring包括age、beauty、expression、faceshape、gender、glasses、landmark、race、qualities信息,逗号分隔,默认只返回人脸框、概率和旋转角度。max_face_numnumber最多处理人脸数目,默认值1imagebyte[]图像数据
返回说明
参数类型是否一定输出描述log_idnumber日志idresult_numnumber人脸数目resultarray人脸属性对象的集合+agenumber年龄。face_fields包含age时返回+beautynumber美丑打分,范围0-1,越大表示越美。face_fields包含beauty时返回+locationarray人脸在图片中的位置++leftnumber人脸区域离左边界的距离++topnumber人脸区域离上边界的距离++widthnumber人脸区域的宽度++heightnumber人脸区域的高度+face_probabilitynumber人脸置信度,范围0-1+rotation_anglenumber人脸框相对于竖直方向的顺时针旋转角,[-180,180]+yawnumber三维旋转之左右旋转角[-90(左), 90(右)]+pitchnumber三维旋转之俯仰角度[-90(上), 90(下)]+rollnumber平面内旋转角[-180(逆时针), 180(顺时针)]+expressionnumber表情,0,不笑;1,微笑;2,大笑。face_fields包含expression时返回+expression_probabilitynumber表情置信度,范围0~1。face_fields包含expression时返回+faceshapearray脸型置信度。face_fields包含faceshape时返回++typestring脸型:square/triangle/oval/heart/round++probabilitynumber置信度:0~1+genderstringmale、female。face_fields包含gender时返回+gender_probabilitynumber性别置信度,范围0~1。face_fields包含gender时返回+glassesnumber是否带眼镜,0-无眼镜,1-普通眼镜,2-墨镜。face_fields包含glasses时返回+glasses_probabilitynumber眼镜置信度,范围0~1。face_fields包含glasses时返回+landmarkarray4个关键点位置,左眼中心、右眼中心、鼻尖、嘴中心。face_fields包含landmark时返回++xnumberx坐标++ynumbery坐标+landmark72array72个特征点位置,示例图 。face_fields包含landmark时返回++xnumberx坐标++ynumbery坐标+racestringyellow、white、black、arabs。face_fields包含race时返回+race_probabilitynumber人种置信度,范围0~1。face_fields包含race时返回+qualitiesarray人脸质量信息。face_fields包含qualities时返回++occlusionarray人脸各部分遮挡的概率, [0, 1] (待上线+++left_eyenumber左眼+++right_eyenumber右眼+++nosenumber鼻子+++mouthnumber+++left_cheeknumber左脸颊+++right_cheeknumber右脸颊+++chinnumber下巴++typearray真实人脸/卡通人脸置信度+++humannumber真实人脸置信度,[0, 1]+++cartoonnumber卡通人脸置信度,[0, 1]

接口描述

该请求用于比对多张图片中的人脸相似度并返回两两比对的得分,可用于判断两张脸是否是同一人的可能性大小。

典型应用场景:如人证合一验证,用户认证等,可与您现有的人脸库进行比对验证。

说明:支持对比对的两张图片做在线活体检测

请求说明


人脸比对请求参数

所有图片经base64编码后的图片数据总和不超过10M。以下可选参数放在接口最后的options参数中。

参数是否必选类型说明ext_fieldsstring返回质量信息,取值固定: 目前支持qualities(质量检测)。(对所有图片都会做改处理)image_livenessstring返回的活体信息,“faceliveness,faceliveness” 表示对比对的两张图片都做活体检测;“,faceliveness” 表示对第一张图片不做活体检测、第二张图做活体检测;“faceliveness,” 表示对第一张图片做活体检测、第二张图不做活体检测
返回说明
字段是否必选类型说明log_idnumber请求唯一标识码,随机数result_numnumber返回结果数目,即:result数组中元素个数resultarray结果数据,index和请求图片index对应。数组元素为每张图片的匹配得分数组,top n。 得分[0,100.0]+index_inumber比对图片1的index+index_jnumber比对图片2的index+scoredouble比对得分ext_infoarray对应参数中的ext_fields+qualitiesstring质量相关的信息,无特殊需求可以不使用+facelivenessstring活体分数“0,0.9999”(表示第一个图不做活体检测、第二个图片活体分数为0.9999)。活体检测参考分数0.4494,以上则可认为是活体(测试期间

返回样例


接口描述

用于计算指定组内用户,与上传图像中人脸的相似度。识别前提为您已经创建了一个人脸库。

典型应用场景:如人脸闸机,考勤签到,安防监控等。

说明:人脸识别返回值不直接判断是否是同一人,只返回用户信息及相似度分值。

说明:推荐可判断为同一人的相似度分值为80,您也可以根据业务需求选择更合适的阈值。

请求说明


人脸识别请求参数详情

参数是否必选类型说明group_idstring用户组id(由数字、字母、下划线组成)列表,每个groupid长度限制48imagebyte[]图像数据ext_fieldsstring特殊返回信息,多个用逗号分隔,取值固定: 目前支持 faceliveness(活体检测)user_top_numnumber返回用户top数,默认为1,最多返回5个
返回说明
字段是否必选类型说明log_idnumber请求唯一标识码,随机数result_numnumber返回结果数目,即:result数组中元素个数ext_infoarray对应参数中的ext_fields+facelivenessstring活体分数,如0.49999。活体检测参考分数0.4494,以上则可认为是活体(测试期间resultarray结果数组+group_idstring对应的这个用户的group_id+uidstring匹配到的用户id+user_infostring注册时的用户信息+scoresarray结果数组,数组元素为匹配得分,top n。得分[0,100.0]

返回样例


接口描述

用于识别上传的图片是否为指定用户,即查找前需要先确定要查找的用户在人脸库中的id。

典型应用场景:如人脸登录,人脸签到等

说明:人脸认证与人脸识别的差别在于:人脸识别需要指定一个待查找的人脸库中的组;而人脸认证需要指定具体的用户id即可,不需要指定具体的人脸库中的组;实际应用中,人脸认证需要用户或系统先输入id,这增加了验证安全度,但也增加了复杂度,具体使用哪个接口需要视您的业务场景判断。

说明:请求参数中,新增在线活体检测

请求说明

举例,要认证一张图片在指定group中是否为uid的用户


人脸认证请求参数详情

可选参数均放在接口最后的options参数中。

参数是否必选类型说明uidstring用户id(由数字、字母、下划线组成,长度限制128Bimagebyte[]图像数据group_idstring用户组id(由数字、字母、下划线组成)列表,每个groupid长度限制48top_numnumber返回匹配得分top数,默认为1ext_fieldsstring特殊返回信息,多个用逗号分隔,取值固定: 目前支持 faceliveness(活体检测)
返回说明
字段是否必选类型说明log_idnumber请求唯一标识码,随机数result_numnumber返回结果数目,即:result数组中元素个数resultarray结果数组,数组元素为匹配得分,top n。 得分范围[0,100.0]。推荐得分超过80可认为认证成功ext_infoarray对应参数中的ext_fields+facelivenessstring活体分数,如0.49999。活体检测参考分数0.4494,以上则可认为是活体(测试期间

返回样例


接口描述

用于从人脸库中新增用户,可以设定多个用户所在组,及组内用户的人脸图片

典型应用场景:构建您的人脸库,如会员人脸注册,已有用户补全人脸信息等。

人脸库、用户组、用户、用户下的人脸层级关系如下所示


说明:关于人脸库的设置限制

  • 每个开发者账号只能创建一个人脸库
  • 每个人脸库下,用户组(group)数量没有限制
  • 每个用户组(group)下,可添加最多300000张人脸,如每个uid注册一张人脸,则最多300000个用户uid
  • 每个用户(uid)所能注册的最大人脸数量没有限制

说明:人脸注册完毕后,生效时间最长为35s,之后便可以进行识别或认证操作。

说明:注册的人脸,建议为用户正面人脸。

说明:uid在库中已经存在时,对此uid重复注册时,新注册的图片默认会追加到该uid下,如果手动选择,则会用新图替换库中该uid下所有图片。

请求说明

举例,要注册一个新用户,用户id为uid,加入组id为group1, 注册成功后服务端会返回操作的logid


人脸注册请求参数要求

所有图片经base64编码后的图片数据总和不超过10M。

人脸注册返回数据参数详情

参数是否必选类型说明uidstring用户id(由数字、字母、下划线组成,长度限制128Bimagebyte[]图片数据group_idstring用户组id(由数字、字母、下划线组成,长度限制48user_infostring新的user_info信息action_typestring如果为replace时,则uid不存在时,不报错,会自动注册。 不存在该参数时,如果uid不存在会提示错误
返回说明
字段是否必选类型说明log_idnumber请求标识码,随机数,唯一

返回样例


接口描述

用于对人脸库中指定用户,更新其下的人脸图像。

说明:针对一个uid执行更新操作,新上传的人脸图像将覆盖此uid原有所有图像。

说明:执行更新操作,如果该uid不存在时,会返回错误。如果添加了action_type:replace,则不会报错,并自动注册该uid,操作结果等同注册新用户。

请求说明

举例,要更新一个用户,用户id为uid, 更新成功后服务端会返回操作的logid


人脸更新请求参数详情

参数是否必选类型说明uidstring用户id(由数字、字母、下划线组成,长度限制128Bimagebyte[]图片数据group_idstring用户组id(由数字、字母、下划线组成,长度限制48user_infostring新的user_info信息
返回说明
字段是否必选类型说明log_idnumber请求标识码,随机数,唯一

接口描述

用于从人脸库中删除一个用户。

人脸删除注意事项

  • 删除的内容,包括用户所有图像和身份信息
  • 如果一个uid存在于多个用户组内且没有指定group_id,将会同时将从各个组中把用户删除
  • 如果指定了group_id,则只删除此group下的uid相关信息

请求说明


人脸删除请求参数要求

参数是否必选类型说明uidstring用户id(由数字、字母、下划线组成,长度限制128Bgroup_idstring删除指定group_id中的uid信息
返回说明

人脸删除返回数据参数详情

字段是否必选类型说明log_idnumber请求标识码,随机数,唯一

返回样例


接口描述

用于查询人脸库中某用户的详细信息。

请求说明

举例,要查询指定用户的信息


用户信息查询请求参数要求

以下可选参数放在接口最后的options参数中。

参数是否必选类型说明uidstring用户id(由数字、字母、下划线组成,长度限制128Bgroup_idstring选择指定group_id则只查找group列表下的uid内容,如果不指定则查找所有group下对应uid的信息

用户信息查询返回数据参数详情

字段是否必选类型说明log_idnumber请求标识码,随机数,唯一resultarray结果数组+uidstring匹配到的用户id+user_infostring注册时的用户信息+groupsarray用户所属组列表

返回样例


接口描述

用于查询用户组的列表。

请求说明

举例


组列表查询请求参数详情

参数是否必选类型说明startnumber默认值0,起始序号numnumber返回数量,默认值100,最大值1000

组列表查询返回数据参数详情

字段是否必选类型说明log_idnumber请求标识码,随机数,唯一result_numnumber返回个数resultarraygroup_id列表

返回样例


接口描述

用于查询指定用户组中的用户列表。

请求说明

举例


组内用户列表查询请求参数详情

参数是否必选类型说明group_idstring用户组idstartnumber默认值0,起始序号numnumber返回数量,默认值100,最大值1000

组内用户列表查询返回数据参数详情

字段是否必选类型说明log_idnumber请求标识码,随机数,唯一result_numnumber返回个数resultarrayuser列表+uidstring用户id+user_infostring用户信息

返回样例


接口描述

用于将已经存在于人脸库中的用户添加到一个新的组。

说明:并不是向一个指定组内添加用户,而是直接从其它组复制用户信息

请求说明

举例


组间复制用户请求参数详情

参数是否必选类型说明src_group_idstring从指定group里复制信息group_idstring需要添加信息的组id列表uidstring用户id

####返回说明

字段是否必选类型说明log_idnumber请求标识码,随机数,唯一

返回样例


接口描述

用于将用户从某个组中删除,但不会删除用户在其它组的信息。

说明:当用户仅属于单个分组时,本接口将返回错误,请使用人脸删除接口

请求说明

举例


组内删除用户请求参数详情

参数是否必选类型说明group_idstring用户组id列表uidstring用户id

返回说明

字段是否必选类型说明log_idnumber请求标识码,随机数,唯一

返回样例

    以上就是本篇文章【百度人脸识别SDK学习】的全部内容了,欢迎阅览 ! 文章地址:http://sicmodule.glev.cn/news/12210.html 
     资讯      企业新闻      行情      企业黄页      同类资讯      首页      网站地图      返回首页 歌乐夫资讯移动站 http://sicmodule.glev.cn/mobile/ , 查看更多   
最新新闻
2025年是乙巳年,老人说:明年“青蛇遇六卯,三人要发富”,指啥
乙巳年为啥被称之为“青蛇年”?古人计算时间,喜欢用天干地支,而干支历当中,六十甲子一个循环,甲辰年之后,就是乙巳年,而十
2024年想赚钱,这5个行业别错过,就算是新人,也能闷声发大财!
随着社会的不断发展和变化,行业的兴衰更迭也日益显著。对于想要在2024年赚钱的人来说,选择一个有潜力的行业至关重要。特别是这
为什么李子柒抖音涨粉最快最多?
数据显示,李子柒回归首条视频2小时获赞破百万、当日播放量破亿,点赞量已接近1000万,当日抖音涨粉量突破500万,目前其抖音粉丝
下一个李子柒,为何还是李子柒?
停更三年多,李子柒归来仍是“王者”,不仅在国内社交媒体轰动一时,也受到海外粉丝的热烈追捧。复更首支“漆器”视频发布10分钟
李子柒与微念事件:是商业大冒险 还是田园生活的逆袭?
本文系深潜atom第418篇原创作品羽衣翩跹的李子柒(本名:李佳佳)停更5个月了。公众最近关注到她,除了接受采访时谈及共同富裕、
李子柒归来仍是顶流
  在长达1200多天的停更之后,传统文化领域短视频创作者李子柒于11月12日正式回归,迅速引爆全网,一夜涨粉近400万,粉丝总数
下班搞副业成热潮:有人月入过万
最近,“下班后的年轻人开始搞第二事业了”的话题频登社交平台热搜。摆摊卖东西、喂宠物、做自媒体、去店铺兼职……在上班与下班
李子柒现状及收入揭秘
近日,关于李子柒的收入被曝光,引起了网络上的热议。这位优秀的短视频创作者在过去的一年多时间里,虽然暂停了更新,但其在海外
李子柒复出热搜!探寻她的传奇人生与背后的故事
李子柒,原名李佳佳,1990年出生于四川省绵阳市,是一位以短视频创作而闻名的美食博主。她的回归,无疑是当下网络热搜的一大焦点
李子柒事件是怎么回事 发生了什么
近两个月来,关于李子柒的事件显得扑朔迷离,这个曾经被誉为生活在世外桃源的仙女终究也难逃世俗纠纷,被卷入了一场舆论与资本的