接入层-基础通用sdkaipp2.2_第1页
接入层-基础通用sdkaipp2.2_第2页
接入层-基础通用sdkaipp2.2_第3页
接入层-基础通用sdkaipp2.2_第4页
接入层-基础通用sdkaipp2.2_第5页
已阅读5页,还剩26页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本手册内容若有变动,恕不另行通知。本手册例子中所用的公司、人名和数据若非特别,均属虚构。未得到讯飞明确的,不得为任何目的、以或(电子的或机械的)或手册的。本文档可能涉及讯飞的专利(或正在申请的专利)、商标、或其他知识产权,除非得到讯飞信息的明确协议,本文档不授予使用这些专利(或正在申请的专利)、商标、或其他知识的任何协议。本手册提及的其它产品和公司名称均可能是各自所有者的商标。本产品受最终用户协议(EULA)中所述条款和条件的约束,该协议位于产品安装向导程序中,使用本产品,表明您已阅读并接受了 EULA 的条款。讯飞Copyrights iFLYTEK CO.,.1 概述语音 SDK 旨在使第

2、应用便利的集成和使用讯飞的人脸,声纹,融合认证服务。1.1 目的本文档对人脸检测、人脸,人脸识别,声纹识别的接口进行定义。文档读者为使用语音 SDK 进行开发的产品设计师、工程师。1.2 范围本文档定义人脸检测、人脸,人脸识别,声纹识别的使用说明、体系结构、API 接口。不包含引擎的性能定义,也不包含其它配套或附赠产品的使用说明。2C+开发包2.1 人脸声纹融合认证相关开发接2.1.1 接简介名词和缩略语这一节列出了本开mt_scylla档中出现的一些名词和缩略语。讯飞生物认证接口动态库名称。下文提到的 mt_scylla 如果没有特别说明均指该客户端。文档说明本文介绍了怎样使用讯飞公司提供的

3、私有云开发接口(SCY Recognize API)编写使用讯飞生物认证引擎(SCY)的应用程序,并给出了完整的例程。本文是针对具有一些 Win32 编程经验的 C/C+程序员而写的。以下是文档中的一些约定符号:开发包组件Windows下的开发2.1.2 接口函数列表在生物认证接口中提供如下函数调用:函数名称功能简介SCYBIOMTInitialize初始化客户端SCYBIOMTUninitialize逆初始化客户端SCYBIOfaceoperation生物认证人脸接口开发组件组件组成说明头文件bio_scylla.h、scylla_errors.h接口函数的动态引入库mt_scylla.li

4、b包含接口函数的引入运行时刻库mt_scylla.dll接口函数的具体实现符号含义in表明该参数是调用时赋值的参数输入参数out该参数在函数返回时被赋值输出参数in/out该参数在函数调用时作为输入、函数返回时作为输出参数口口2.1.3 函数调用2.1.3.1 SCYBIOMTInitialize函数原型SCYAPI SCYBIOMTInitialize (const char* server_addr, const char* ap功能初始化生物认证客户端,初始化全局信息。参数server_addr in私有云 src服务接口地址,具体形式为:,timeout);apin私有云系统分配的应用

5、 IDtimeout in超时时间设置返回值如果函数调用成功返回 0,否则返回错误代号;错误代码请参考 scylla_errors.h,常见值如下:说明这个函数必须在调用其他函数之前调用,一个进程仅能调用一次。不支持多线程。示例参见SCYBIOMTInitialize ()2.1.3.2 SCYBIOMTUninitialize函数原型SCYAPI SCYBIOMTUninitialize (void);const char* ap= “12345678”; const char* server_addr =ret = SCYBIOMTInitialize (server_addr, ap,1

6、0) if ( ret != SCY_SUCS )pr f(“SCYMTInitialize failed, ret = %d.n”, ret);返回值意义SCY_SUCS函数执行成功。SCY_ERROR_ALREADY_EXIST引擎已经被初始化了SCY_ERROR_OUT_OF_MEMORY分配内存失败SCYBIOvoiceopr生物认证声纹初始化接口SCYBIOvoiceoprsecond生物认证声纹接口SCYBIOfuopr生物认证融合初始化接口SCYBIOfuoprsecond生物认证融合接口功能关闭客户端,参数无。返回值全局资源。如果函数调用成功返回 0,否则返回错误代号;错误代码

7、请参考 scylla_errors.h,常见值如下:说明这个函数是识别接口中最后一个调用的函数,必须保证一个进程仅调用一次。示例参见SCYBIOMTUninitialize ()2.1.3.3SCYBIOfaceoperation函数原型SCYAPI SCYBIOfaceoperation(char *param, char *file_path,file_len, char*respon_msg,功能len)完成人脸,鉴别,注销,认证,更新等功能。参数paramin参数标识符数据项名称类型content-typ e长度必填项备注uid用户名Stringtext/plain, UTF-830Y

8、包含字母,数字SID号码Stringtext/plain, UTF-830N建议传值,便于后续效果优化apapp 对应idStringtext/plain, UTF-88Y从申请得到的 applatform接入Stringtext/plain, UTF-88N接入 Android IOS取其一,此参数影响后期统计数据,请务必传正确参数osM辅助信息Stringtext/plain, UTF-8N比如,型号:5S多个参数之间使ret = SCYBIOMTUninitialize (); if ( ret != SCY_SUCS )pr f(“SCYMTUninitialize failed, r

9、et = %d.n”, ret);返回值意义SCY_SUCS函数执行成功。SCY_ERROR_NOT_INIT系统未初始化注意:人脸普通鉴别的时候人脸参数。是 jpg, operationType 为 identify,需要加和 grou多人脸鉴别的时候,传入的人脸是 NV21 格式,operationType 为 multi_identify,需要加和 grou,人脸的宽高,人脸框坐标参数。注意:coordinate 以json 字符串形式传入,如: coordinate: id : 1 , id : 2, id : 3 ,ition:x y w h,ition:x y w h,ition:

10、x y w hfile_pathinbuf人脸路径或者人脸file_lenin传人脸路径的时候为-1, 传人脸respon_msgout返回的信息buf,为 buf 大小标识符数据项名称类型content-typ e长度必填项备注grou组 IDStringtext/plain, UTF-8=10YoperationType操作类型Stringtext/plain, UTF-8Ymulti_identify取前 1 位Stringtext/plain, UTF-8Y数字 1-10 内coordinate人脸坐标Stringtext/plain, UTF-8YheightNV21 格式高度Str

11、ingtext/plain, UTF-8YwidthNV21 格式宽度Stringtext/plain, UTF-8Y标识符数据项名称类型content-typ e长度必填项备注grou组 IDStringtext/plain, UTF-8=10YoperationType操作类型Stringtext/plain, UTF-8Yidentify取前几位Stringtext/plain, UTF-8Y数字 1-10 内用“-”分割aue压缩格式Stringtext/plain, UTF-8Y图像压缩格式,目前取值为 rawfeatureType生物特征类型Stringtext/plain, UT

12、F-8YfaceoperationType操作类型Stringtext/plain, UTF-8Yverify/logout/reg/identify/ updatelenin返回信息 buf 的长度返回值示例如果函数调用成功返回 0,否则返回-1,respon_msg 里面有详细的错误信息。注意:人脸鉴别的时候,res_msg的buf要足够大,一般要1024。其他的人脸相关功能,res_msg的buf 128就可以了。2.1.3.4SCYBIOvoiceopr函数原型SCYAPI SCYBIOvoiceopr功能(char *param, char *respon_msg,len)声纹/更新

13、/认证/鉴别初始化参数paramin请求参数:标识符数据项名称类型content-typ e长度必填项备注uid用户名Stringtext/plain, UTF-830Y包含字母,数字SID号码Stringtext/plain, UTF-830N建议传值,便于后续效果优化sexStringtext/plain, UTF-81NM:男 F:女apapp 对应idStringtext/plain, UTF-88Y从申请得到的 applatform接入Stringtext/plain, UTF-88N接入Android/ 启动人脸相关的功能string ap= pc20onli;string ser

14、ver_addr= ;char res_msg100 = 0;/*if (argc != 2)pr f(param error!nTheparam is file path.n); return -1;*/ret = init(server_addr, ap); if(0 != ret)pr f(init failedn); return ret;stringparam= uid=44444444444,ap=pc20onli,platform=Android,aue=raw,operationType=logout,featureType=face;char *path=12.jpg;ret

15、 = SCYBIOfaceoperation_(char *)param.c_str(), path,-1, res_msg, 100);注意:声纹鉴别的时候需要额外传入, 和grou参数。respon_msgout标识符数据项名称类型content-typ e长度必填项备注grou组 IDStringtext/plain, UTF-8=10Y取前几位Stringtext/plain, UTF-8Y数字 1-10 内IOS取其一,此参数影响后期统计数据,请务必传正确参数osM辅助信息Stringtext/plain, UTF-8N比如,型号:5S多个参数之间使用“-”分割featureType

16、生物特征类型Stringtext/plain, UTF-8YvoiceoperationType操作类型Stringtext/plain, UTF-8YregInit:初始化 updateInit:更新初始化 identifyInit:鉴别初始化 verifyInit:认证初始化sub服务标识Stringtext/plain, UTF-8Y默认:ivp(声纹)work_mode工作模式Stringtext/plain, UTF-8Y默认: digit_mode(数字)ssm立即返回结果Stringtext/plain, UTF-81Y默认:00:不立即返回结果 1:立即返回结果rgn上传音频次

17、数text/plain, UTF-8Y默认:5aue音频压缩格式Stringtext/plain, UTF-8Y默认:raw raw speex-wbauf音频格式Stringtext/plain, UTF-8Y默认:audio/L16;rate=16000即 16k16bit返回的信息,如果没有发生错误,会返回一个 seslenin返回信息 buf 的长度_id, 在声纹相关接口的第二步要使用。返回值如果函数调用成功返回 0,否则返回-1,更详细的错误信息是在 respon_msg里面会说明。该函数用于声纹相关功能的初始化。示例SCYBIOvoiceoprsecond函数原型SCYAPI S

18、CYBIOvoiceoprsecond(char *param, char *file,功能声纹/更新/认证/鉴别音频写入参数paraminfile_len, char *respon_msg,len)标识符数据项名称类型content-ty pe长度必填项备注sesId会话 IDStringtext/plain, UTF-830Y初始化获得uid用户名Stringtext/plain, UTF-830Y包含字母,数字apapp 对应idStringtext/plain, UTF-88Y从申请得到的 applatform接入Stringtext/plain, UTF-88N接入 Android

19、 IOS取其一,此参数影响后期统计数 据,请务必传正确参数featureTyp e生物特征类型Stringtext/plain, UTF-8Yvoice/ 声纹初始化stringparam= uid=test5555,ap=pc20onli,platform=Android,aue=raw,operationType=identifyInit,featureType=voice,rgn=5,auf=audio/L16;rate=16000,sub=ivp,ssm=0,work_mode=digit_mode,ptxt=27534908,=2,grou=103 ;ret = SCYBIOvoic

20、eopr_(char *)param.c_str(), res_msg, 1024);file in音频路径或者 音频 buffile_lenin传音频路径的时候为-1, 传音频 buf,为 buf 大小respon_msg out返回的信息len in返回信息 buf 的长度返回值接口参数中 ret respon_msg说明0 ,否则返回-1, 更详细的信息在表示返回值。如果函数调用成功返回。示例/string ses_id = rootsesId.asString();stringparam1= uid=test5555,ap=pc20onli,platform=Android,aue=r

21、aw,operationType=identify,featureType=voice,rgn=5, auf=audio/L16;rate=16000,sub=ivp,ssm=0,work_mode=digit_mode,sesId= + ses_id;for (i = 1; i = 1; i+)开启声纹/更新初始化后,上传准备的音频文件注意:每传一次音频,调用一次此接口,最后一次音频上传时,需要加入 sus 参数,不管初始化时 rgn(次数)是几次,这里都是传入 4.从初始化到最后一次音频传入,总共时间必须在 60s 内,此时间在配置文件中,可通过修改引擎参数调整。开启声纹认证后,上传准备认

22、证的音频文件。注意:从初始化到音频传入,总共时间必须在 20s 内,此时间在配置文件中,可通过修改引擎参数调整。开启声纹鉴别后,上传准备的音频文件。注意:从初始化到音频传入,总共时间必须在 20s 内,此时间在配置文件中,可通过修改引擎参数调整。operationT ype操作类型Stringtext/plain, UTF-8Y:reg 更新: update 认证: verify 鉴别: identifysus音频状态text/plain, UTF-8Y默认:4注意:此参数只在最后一次音频上传时加入memset(file_, 0, sizeof(file_); spr f(file_, ./r

23、eg/%d.pcm, i); string file_name = file_;string body; body.clear();fill_body(body, file_name); filelen = body.length();memset(res_msg, 0, 1024); if (i = 5) param1 = param1 + ,audio_sus=4;SCYBIOvoiceoprsecond_(char *)param1.c_str(), (char *)body.c_str(), filelen, res_msg, 1024); pr f(* %sn, res_msg);注

24、意:声纹鉴别的时候,res_msg的buf要足够大,一般要1024。其他的声纹相关功能,res_msg的buf 128就可以了。2.1.3.6 SCYBIOfuopr函数原型SCYAPI SCYBIOfu功能融合认证初始化参数param inopr(char *param, char *respon_msg,len)标识符数据项名称类型content-typ e长度必填项备注uid用户名Stringtext/plain, UTF-830Y包含字母,数字SID号码Stringtext/plain, UTF-830N建议传值,便于后续效果优化apapp 对应idStringtext/plain,

25、UTF-88Y从申请得到的 applatform接入Stringtext/plain, UTF-88N接入 Android IOS取其一,此参数影响后期统计数据,请务必传正确参数osM辅助信息Stringtext/plain, UTF-8N比如,型号:5S多个参数之间使用“-”分割featureType生物特征类型Stringtext/plain, UTF-8YfuoperationType操作类型Stringtext/plain,YverifyInitrespon_msgout返回的信息,返回的信息如下:返回参数:lenin返回信息 buf 的长度返回值如果函数调用成功返回 0,否则返回错误

26、-1,更详细的信息说明在 respon_msg 中。使用融合认证时,必须先调用一次初始化,获取 ses示例Id 和认证的 8 位数字/ret = init(server_addr, ap); if(0 != ret)pr f(init failedn); return ret;stringparam= uid=test,ap=pc20onli,platform=Android,aue=raw,operationType=verifyInit,featureType=fu,auf=audio/L16;rate=16000,sub=ivp,ssm=0,work_mode=digit_mode,pt

27、xt=27534908;标识符数据项名称类型长度必填项备注responseCode响应码String4Y详见 responseCode 代码表ptxt数字StringY用户认证时需要读的数字串sesId会话唯一 idString此 id 在后面人脸和声纹数据发送时需带入UTF-8sub服务标识Stringtext/plain, UTF-8Y默认:ivp(声纹)work_mode工作模式Stringtext/plain, UTF-8Y默认: digit_mode(数字)ssm返回状态Stringtext/plain, UTF-8Y0:等待后续输入1:立即返回aue音频压缩格式Stringtext

28、/plain, UTF-8Y默认:raw(对应 PCM 格式), speex-wbauf音频格式Stringtext/plain, UTF-8Y目前只支持audio/L16;rate=16000 即16k16bit2.1.3.7 SCYBIOfu函数原型SCYAPI SCYBIOfuoprsecondoprsecond(char *param, char *face_path, char *voice_path,face_len,voice_len,功能rstid, char *respon_msg,len)融合认证人脸、音频同时写入参数paramin键值对形式,逗号分隔:如uid=44444

29、444444,ap=pc20onli,platform=Android,aue=raw,operationType=logout,featureType=face;face_pathin人脸路径或者人脸bufvoice_pathin标识符数据项名称类型content-typ e长度必填项备注sesId唯一会话 idStringtext/plain, UTF-8Y初始化后获得的结果中uid用户名Stringtext/plain, UTF-830Y包含字母,数字SID号码Stringtext/plain, UTF-830N建议传值,便于后续效果优化apapp 对应idStringtext/plai

30、n, UTF-88Y从申请得到的 applatform接入Stringtext/plain, UTF-88N接入 Android IOS取其一,此参数影响后期统计数据,请务必传正确参数osM辅助信息Stringtext/plain, UTF-8N比如,型号:5S多个参数之间使用“-”分割featureType生物特征类型Stringtext/plain, UTF-8YfuoperationType操作类型Stringtext/plain, UTF-8Yverifyaue压缩格式Stringtext/plain, UTF-8Y图像压缩格式,目前取值为 rawrstid认证顺序Stringtext

31、/plain, UTF-8Y0ret = SCYBIOfuopr_(char *)param.c_str(), res_msg, 1024);声纹音频路径或者音频 bufface_lenin传人脸路径的时候为-1, 传人脸buf,为 buf 大小rstidin融合认证方式,传入 0 是人脸、声纹同时认证此时需要同时传入人脸和音频。该值为 1 表示传入人脸该值为 2.建议该值传入 0。voice_lenin,此时音频不传入,后面在调用该接口进行音频传入,音频传入的时候传音频路径的时候为-1, 传音频 buf,为 buf 大小respon_msgout返回的信息,返回的内容如下:lenin返回信息

32、 buf 的长度返回值如果函数调用成功返回 0,否则返回错误-1,更详细的信息见说明respon_msg。示例/string ses_id = rootsesId.asString();stringparam1= uid=test,ap =pc20onli,platform=Android,aue=raw,operationType=verify,featureType=fu ,auf=audio/L1 6;rate=16000,sub=ivp,ssm=0,rstid=0,work_mode=digit_mode,ses Id= + ses _id;memset(file_, 0, sizeo

33、f(file_); spr f(file_, ./verify/%d.pcm, 1); string file_name = file_;string face_body; string voice_body; voice_body.clear();fill_body(voice_body, file_name); voice_len = voice_body.length();memset(file_, 0, sizeof(file_);标识符数据项名称类型长度必填项备注responseCode响应码String4Y详见 responseCode代码表result认证结果String1Y-1

34、:认证中,流程未结束(只传人脸,还未传声纹或只传声纹还未传人脸) 0:认证通过1:认证不通过score得分StringY2.1.4 开发指南2.1.4.1 搭建开发环境在使用开发接口进行应用开发之前,用户必须搭建编程支持环境。首先,需要在服务器端主机上安装讯飞私有云服务。安装完毕后,可以使用 MT_SCYApp.exe进行验证。然后,需要在客户端主机上部署开发必须的支持环境,拷贝 C+ bin 目录下的动态库到应用程序运行目录。安装目录下包含使用接口所必须的头文件、动态引入库、客户端动态给出开发中需要的头文件和库文件列表:库和示例程序,下面注意:这些库文件可能依赖其它一些库,例如 VC 运行时

35、刻库等,用户需要同时把依赖的库部署至应用环境中。2.1.4.2 使用 SCYLLA API 开发搭建好开发环境后就可以开始的开发工作,以下将介绍 SCYLLA 接口的常规开发步骤。应用程序的开发请按照以下步骤进行:1) 初始化在应用程序初始化函数中调用 SCYMTInitialize 函数,完成客户端的初始化,这是使用 SDK 的第一步工作。/ 初始化const char* ap= “12345678”; const char* server_addr =ret = SCYMTInitialize(server_addr, ap);if ( ret = SCY_SUCS )开发组件列表说明头文

36、件bio_scylla.h包含了所有识别开发接口和语法接口的函数。scylla_types.h包含了类型和结构体定义。scylla_errors.h包含了识别系统所有可能返回的错误代码。动态引入库mt_scylla.lib隐式使用 syclla.dll 的动态引入库文件。动态库mt_scylla.dll实现动态库。例程MT_SCYApp.cpp使用开发接口的例程。spr f(file_, ./verify/%d.jpg, 12); file_name = file_; face_body.clear(); fill_body(face_body, file_name);face_len = f

37、ace_body.length();memset(res_msg, 0, 1024);SCYBIOfuoprsecond_(char *)param1.c_str(), (char *)face_body.c_str(), (char *)voice_body.c_str(), face_len, voice_len, 0, res_msg, 1024);pr f(* %sn, res_msg);2) 人脸识别在应用程序初始化函数中调用 SCYMTSesBegin 函数,完成一路识别的初始化3) 逆初始化当应用程序退出时,用户必须调用 SCYUninitialize 函数,断开所有的连接,并全

38、局资源,否则会造成系统资源泄漏。所有分配的2.1.5 开发包例程2.1.5.1 简介在安装包中提供了开发实例程序 MT_SCYApp,这个例程演示了各个函数的用法。MT_SCYApp 是基于命令行的 Win32 应用程序,这个例程使用 MS Visual studio 2010 开发。2.1.5.2 开发示例所有与 SCY API 接口相关的函数调用都位于 MT_SCYApp.cpp 文件中,下面列出了这个工程的源文件列表:3Android 开发包3.1 人脸检测和人脸开发接3.1.1 n_init名称:n_init口类型名称说明例程文件MT_SCYApp.cpp包含了 SCY API 的所有

39、调用。/ 逆初始化运行库ret = SCYBIOMTUninitialize (); if ( ret != SCY_SUCS )pr f(“SCYMTUninitialize failed, ret = %d.n”, ret);/ 启动人脸识别相关功能stringparam= uid=44444444444,ap=pc20onli,platform=Android,aue=raw,operationType=logout,featureType=face;char *path=12.jpg;ret = SCYBIOfaceoperation_(char *)param.c_str(), pa

40、th,-1, res_msg, 100);pr f(SCYMTInitialize OK.n);elsepr f(SCYMTInitialize FAILED, error code = %d.n, ret);功能:初始化引擎函数n_init(string path,reserve):参数:inpath:人脸检测引擎的模型路径,不能为 null。 inreserve:备用字段,目前是日志打开关闭的开关返回值:成功返回 0,失败返回其他错误码3.1.2 n_uninit名称:n_uninit功能:逆初始化引擎函数:参数:n_uninit()返回值:成功返回 0,失败返回其他错误码3.1.3 n_

41、create_detect名称:n_create_detect功能:创建人脸检测实例,可设置最小的人脸检测框,不支持多线程调用,每个线程需要单独创建实例:longn_create_detect(stringparams,参数:size)in params:人脸检测实例的参数,目前可为空insize:最小的人脸检测框,引擎默认是 32,可根据实际调节返回值:成功返回检测实例句柄,失败返回其他错误码(负数返回)3.1.4 n_ detect名称:n_detect功能:人脸检测接口,检测输入的人脸位置和数量n_detect(long handle, byte data,: 参数:inhandle:

42、人脸检测句柄fmt,width,height,stride);in data:灰度图像的数据部分,data 不能为 null. infmt: 图像格式,目前是支持灰度(1) inwidth:图像的宽度inheight:图像的高度instride:图像的步长返回值:成功检测的人脸,每个人脸包含 49,其中矩形框位置 4 个,得分 1 个id,21关键点 ,每个关键点 2 个, 1 个表示关键点数目, 1 个表示3.1.5 n_ detect_quality名称:n_detect_quality功能:人脸价floatn_detect_quality(long handle, byte data,

43、face_rect);:参数:inhandle: 人脸检测句柄fmt,width,height,stride,in data:灰度图像的数据部分, data 不能为 null. infmt: 图像格式,目前是支持灰度(1) inwidth:图像的宽度inheight:图像的高度 instride:图像的步长in face_rect:带检测的人脸框返回值:返回识别得分,该函数用于连续识别,无法固定绝对阈值3.1.6 n_destrory_detect名称:n_destroy_detect 功能:销毁人脸检测实例n_destroy_detect(longhandle);: 参数:inhandle:

44、 人脸检测句柄返回值:成功返回 0,失败返回其他错误码3.1.7 n_create_track名称:n_create_track功能:创建人脸实例,不支持多线程调用,每个线程需要单独创建实例:n_create_track (stringparams)参数:in params:人脸实例的参数,目前可为空返回值:成功返回返回人脸检测实例句柄,失败返回其他错误码(负数)3.1.8 n_destrory_track名称:n_destroy_track功能:销毁人脸实例n_destroy_track (long handle);:参数:inhandle: 人脸句柄返回值:成功返回 0,失败返回其他错误码

45、3.1.9 n_ select_track名称:n_select_track功能:选择的目标n_select_track(long handle, byte data,: 参数:fmt,width,height,stride, face);inhandle: 人脸句柄in data:灰度图像的数据部分,data 不能为 null. infmt: 图像格式,目前是支持灰度(1) inwidth:图像的宽度inheight:图像的高度instride:图像的步长inface:需的人脸框返回值:成功返回 0,失败返回其他错误码3.1.10 n_ track名称:n_track功能:人脸接口,人脸目标

46、n_track(long handle, byte data,: 参数:fmt,width,height,stride);inhandle: 人脸句柄in data:灰度图像的数据部分,data 不能为 null. infmt: 图像格式,目前是支持灰度(1) inwidth:图像的宽度inheight:图像的高度 instride:图像的步长in face:输入检测的人脸框,用来判定是否丢失返回值:成功检测的人脸,每个人脸包含 49,其中矩形框位置 4 个,得分 1 个id,21关键点 ,每个关键点 2 个, 1 个表示关键点数目, 1 个表示3.1.11 n_update_track名称:

47、n_update_track功能:目标的特征更新接口,应用根据人脸检测的辅助判断是当前目标,可更新特征,效果。提高n_update_track(long handle, byte data,fmt,width,height,stride, face);参数:inhandle: 人脸句柄in data:灰度图像的数据部分,data 不能为 null. infmt: 图像格式,目前是支持灰度(1) inwidth:图像的宽度inheight:图像的高度instride:图像的步长in face:的人脸框返回值:成功返回 0,失败返回其他错误码3.2 s 人脸声纹融合认证开发接3.2.1 接简介名词

48、和缩略语这一节列出了本开mt_scylla档中出现的一些名词和缩略语。讯飞生物认证接口动态库名称。下文提到的 mt_scylla 如果没有特别说明均指该客户端。文档说明本文介绍了怎样使用讯飞公司提供的私有云开发接口(SCY Recognize API)编写使用讯飞生物认证引擎(SCY)的应用程序,并给出了完整的例程。本文是针对具有一些 Win32 编程经验的 C/C+程序员而写的。以下是文档中的一些约定符号:开发包组件Windows下的开发开发组件组件组成说明头文件bio_scylla.h、scylla_errors.h接口函数的动态引入库bio_scylla.lib包含接口函数的引入运行时刻

49、库bio_scylla.dll接口函数的具体实现符号含义in表明该参数是调用时赋值的参数输入参数out该参数在函数返回时被赋值输出参数in/out该参数在函数调用时作为输入、函数返回时作为输出参数口口3.2.2 接口函数列表在生物认证接口中提供如下函数调用:3.2.3 函数调用3.2.3.1 SCYBIOMTInitialize函数原型SCYAPI SCYBIOMTInitialize (String server_addr, String ap功能初始化生物认证客户端,初始化全局信息。参数server_addr in私有云 src服务接口地址,具体形式为:,timeout);apin私有云系

50、统分配的应用 IDtimeout in超时时间设置返回值如果函数调用成功返回 0,否则返回错误代号;错误代码请参考 scylla_errors.h,常见值如下:说明这个函数必须在调用其他函数之前调用,一个进程仅能调用一次。不支持多线程。示例String ap= “12345678”; String server_addr =mt_scylla miat = new mt_scylla();ret= miat.SCYMTInitialize (server_addr, ap,10);返回值意义SCY_SUCS函数执行成功。SCY_ERROR_ALREADY_EXIST引擎已经被初始化了SCY_E

51、RROR_OUT_OF_MEMORY分配内存失败函数名称功能简介SCYBIOMTInitialize初始化客户端SCYBIOMTUninitialize逆初始化客户端SCYBIOfaceoperation生物认证人脸接口SCYBIOvoiceopr生物认证声纹初始化接口SCYBIOvoiceoprsecond生物认证声纹接口SCYBIOfuopr生物认证融合初始化接口SCYBIOfuoprsecond生物认证融合接口参见SCYBIOMTInitialize ()3.2.3.2 SCYBIOMTUninitialize函数原型SCYAPI SCYBIOMTUninitialize (void);

52、功能关闭客户端,参数无。返回值全局资源。如果函数调用成功返回 0,否则返回错误代号;错误代码请参考 scylla_errors.h,常见值如下:说明这个函数是识别接口中最后一个调用的函数,必须保证一个进程仅调用一次。示例参见SCYBIOMTUninitialize ()SCYBIOfaceoperation函数原型SCYAPI SCYBIOfaceoperation(String param, byte file_path, respon_msg,len)功能完成人脸,鉴别,注销,认证,更新等功能。参数paramin参数file_len, byte标识符数据项名称类型content-typ e

53、长度必填项备注uid用户名Stringtext/plain, UTF-830Y包含字母,数字SID号码Stringtext/plain, UTF-830N建议传值,便于后续效果优化apapp 对应idStringtext/plain, UTF-88Y从申请得到的 applatform接入Stringtext/plain, UTF-88N接入 Android IOSret = SCYBIOMTUninitialize (); if ( ret != SCY_SUCS )pr f(“SCYMTUninitialize failed, ret = %d.n”, ret);返回值意义SCY_SUCS函

54、数执行成功。SCY_ERROR_NOT_INIT系统未初始化注意:人脸普通鉴别的时候人脸参数。是 jpg, operationType 为 identify,需要加和 grou多人脸鉴别的时候,传入的人脸是 NV21 格式,operationType 为 multi_identify,需要加和 grou,人脸的宽高,人脸框坐标参数。注意:coordinate 以json 字符串形式传入,如: coordinate: id : 1 , id : 2, id : 3 ,ition:x y w h,ition:x y w h,ition:x y w h标识符数据项名称类型content-typ e长

55、度必填项备注grou组 IDStringtext/plain, UTF-8=10YoperationType操作类型Stringtext/plain, UTF-8Ymulti_identify取前 1 位Stringtext/plain, UTF-8Y数字 1-10 内coordinate人脸坐标Stringtext/plain, UTF-8YheightNV21 格式高度Stringtext/plain, UTF-8YwidthNV21 格式宽度Stringtext/plain, UTF-8Y标识符数据项名称类型content-typ e长度必填项备注grou组 IDStringtext/p

56、lain, UTF-8=10YoperationType操作类型Stringtext/plain, UTF-8Yidentify取前几位Stringtext/plain, UTF-8Y数字 1-10 内取其一,此参数影响后期统计数据,请务必传正确参数osM辅助信息Stringtext/plain, UTF-8N比如,型号:5S多个参数之间使用“-”分割aue压缩格式Stringtext/plain, UTF-8Y图像压缩格式,目前取值为 rawfeatureType生物特征类型Stringtext/plain, UTF-8YfaceoperationType操作类型Stringtext/pla

57、in, UTF-8Yverify/logout/reg/identify/ updatefile_pathin路径或者人脸buf人脸file_lenin传人脸路径的时候为-1, 传人脸respon_msgout返回的信息buf,为 buf 大小lenin返回信息 buf 的长度返回值示例如果函数调用成功返回 0,否则返回-1,respon_msg 里面有详细的错误信息。3.2.3.4函数原型SCYAPI SCYBIOvoiceopr功能SCYBIOvoiceopr(String param, byte respon_msg,len)声纹/更新/认证/鉴别初始化参数paramin请求参数:标识符

58、数据项名称类型content-typ e长度必填项备注uid用户名Stringtext/plain, UTF-830Y包含字母,数字SID号码Stringtext/plain,30N建议传值,便于/ 启动人脸相关的功能string ap= pc20onli;string server_addr= ;char res_msg100 = 0;/*if (argc != 2)pr f(param error!nTheparam is file path.n); return -1;*/ret = init(server_addr, ap); if(0 != ret)pr f(init failedn

59、); return ret;stringparam= uid=44444444444,ap=pc20onli,platform=Android,aue=raw,operationType=logout,featureType=face;char *path=12.jpg;ret = SCYBIOfaceoperation_(char *)param.c_str(), path,-1, res_msg, 100);注意:声纹鉴别的时候需要额外传入, 和grou参数。content-typ e标识符数据项名称类型长度必填项备注UTF-8后续效果优化sexStringtext/plain, UTF-

60、81NM:男 F:女apapp 对应idStringtext/plain, UTF-88Y从申请得到的 applatform接入Stringtext/plain, UTF-88N接入 Android IOS取其一,此参数影响后期统计数据,请务必传正确参数osM辅助信息Stringtext/plain, UTF-8N比如,型号:5S多个参数之间使用“-”分割featureType生物特征类型Stringtext/plain, UTF-8YvoiceoperationType操作类型Stringtext/plain, UTF-8YregInit:初始化 updateInit:更新初始化 ident

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论