版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、阳光人脸识别二次开发包 (V3.68)说明书注:附件SDK_V2.7版,仅供用户学习本SDK的调用方法。识别性能测试请使用最高版本的SDK。第一部分 产品的性能评估,应用说明,问题等。第二部分 主要是SDK函数的使用说明。第一部分一产品的版权二产品的版本三产品的重要特点四如何使用范例代码五如何采模板六如何设置相似度阀值七图像格式,大小,人脸大小怎样最佳八产品的适用人群九人脸特征数据的保存十如何鉴别两套人脸识别SDK的优劣十一.在DELPHI下做二次开发的注意事项十二.如何正确使用子功能十三.SDK升级信息十三.人脸检测性能指标第二部分一输出数据-结构定义二SDK调用的-初始化部分三人脸识别主函
2、数四赠送的USB视频函数五模板管理部分六输出调试变量七参数设置八活体识别九人工定位/第三方接口十背光模式下的人脸识别十一.打瞌睡检测参考代码十二.多线程范例十三.人面搜索附录: (1)Ver 2.7 版的人脸识别相似度阀值表 (2)Ver3.68版的人脸识别相似度阀值表第一部分一 产品的版权本品系国人完全自主知识产权开发,从底层开始即是自行编码,未引用任何第三方技术如(人脸识别库/图像识别算法库/开源代码)等资源。更未引用其它公司的人脸识别SDK来做外壳调用型封装。本品是VC开发,但只有极小部分用到了MFC函数,大部分CODE均为标准C+编写。作者于2010年在北京申请了著作权,申请名称为:人
3、脸检测与识别算法软件 注:国家软件版权申请现起禁止用 SDK/开发包/系统/模块/库 之类的字眼,一律用软件两字做结尾。二 产品的版本SunLightFace.exe是网站发布的演示程序,用户可以通过这个程序来测试SDK的性能。SunLightFace.dll 是SDK,其性能技术指标与演示程序是完全相同的。目前这个版本全称是:可见光主动识别版(非红外摄像头,配合识别)另外还有两个版本:可见光被动识别版,红外主动识别版。(仅供定制用户)用户可以用SunLightFace.dll Ver2.7这个版本来做演练性的开发,从而掌握开发包的调用方法。但识别能力的测试,应以当前发布的最高版本为准,Ver
4、2.7版的识别能力较弱。三 产品的重要特点1. 人脸检测的高正确率,误检,漏检很少,支持多脸(max=32)。平面旋转高达60度,并带鼻,嘴定位,及眼镜判断等功能。2. 人脸识别的高精度,向用户推荐的识别阀值不仅能适应光线环境的变化,具备满足实际应用的识别正确率。带眼镜或头发挡住眉毛都行。(但黑粗边眼镜的识别率相对低些,即在较好的识别环境下,黑粗边眼镜仍是OK的,只要看得清眼球,就对识别率没有任何影响)3. 在背光模式下(看上去黑黑的一大片),开启背光识别的开关后,识别速度会减低,把识别阀值调低一些,就仍然能进行准确的识别。4. 高精度的人眼定位,对高清大图,开启二次精定位开关后,能准确地定位
5、人眼中的瞳孔。准确的人眼定位,使用户能在此基础上开发出多款有创意的延伸产品。四 如何使用范例代码SunLightFace.dll是按WINDOWS API的标准调用来生成的动态库,并提供了VB,VC,C#三类范例代码,精简扼要,如果因VS版本问题无法打开,可以用其它文件编辑器打开.CPP,.H,.CS,.frm,.bas等文件来进行分析。用户实际做应用项目时,可以直接粘贴范例代码到自己的工程中运行,只是注意调节好适当的参数值即可。注意:要把识别能力调好,照搬范例代码是不够的,需要仔细阅读本文档,做一些参数的设置和调节。五 如何采模板1.因为是主动配合识别,最好是采5张模板(总量是10张),正面
6、1张,侧面2张,上仰下俯各1张,偏角不宜大(2-3度即可-微偏:因为你在主动配合识别时不会故意地去偏着头识别,而是正对识别,但可能无心偏了一点,这里要求你“微偏”的目的就是为了和你将来可能的“无心偏了一点“对应),并都眼看着画面中的自己,因为眼球是定准比对的重要依据,所以无论是采模板还是识别,都眼看着画面中的自己最佳。2.另外余下的5个模板,可以空,用于以后进行动态模板更新(参见动态模板更新),以适应人脸的长期发展变化。当然,如果要求更稳定的识别效果,并有充分的时间和配合度,也可在每个方向上采上两个角度差不大的模板,这样总共就用掉9个模板,为了更好适应光线,还可再采不同光线的两套模板,这样就用
7、掉18或27个模板。个人模板的总量是可设置的,请参看后面的设置函数。注意:如果采的某几张模板在角度或光线上完全一样,这是没有任何意义的,等于只采了一张。3.采模板时,光线不宜偏亮,也不宜偏暗,适中,并充分地反映出人脸轮廓。这样的标准化模板才能更有效地去兼容那些人脸偏亮或偏暗的识别时段。要让识别更准确,眼球附近就必须最大可能地清晰鲜明,同时眼球上最好不要反白光。4.由于各个摄像头的焦距不同,可能对人脸轮廓的拉伸度也不同,所以,为达到最好的识别率,建议采集与识别完全用一模一样的摄像头。5.及时画出采集的人脸模板照片(具体功能函数可参见范例代码),如果发现其中人眼定位不准确的,建议删除该模板重采,因
8、为这样的模板是对识别无效的。(具体的删除函数下文有述)6.也有的公司拿去只采了一个正面的模板就开始用,但前提是光线环境好,被识别者自愿配合度高,打开了动态模板更新开关(至少应设置为保1变1的动态模板更新)。注意:为了能长期地进行好1C1,1CN,请务必打开动态模板更新的开关,以保证库中的模板能随时间的推移与人脸同步变化。还有一种情况是本人不能亲自来采模板,只有一张标准照片的情况下,也可以只用一个模板进行识别。六如何设置相似度阀值?注:下面的阀值是SDK的,对于最终用户,开发人员可以将这些阀值或相似度值“适当加大”输出。当前版本的人脸检测推荐阀值为: 0.55当前版本的人脸识别1CN推荐阀值为:
9、 0.80 (正确率 %99)当前版本的人脸识别1C1推荐阀值为: 0.72 (正确率 %98) 注意:要想调到识别效果最佳,就在于视频或拍照的光线要打好,人脸肤色既不要太暗黑,也不要爆光过度,让人的整个眼球看上去很黑,眼白很白,(实际高清拍摄的眼球可能有点偏黄橙色,黄眼仁和黑瞳孔很分明,但这并非人脸识别实际需要的最好效果,不需要这种分明),总之使黑眼球在图像上显得鲜明突出,不论你如何换摄像头或调光,总之都要向着这个目标靠近。如果是在户外识别,建议要加上遮光罩和镜头滤光片,以去除强阳光反射的干扰,目前实测柔和光线是最好的。1.人脸识别或验证最好连续进行2次以上,取最大值,更可靠些。(如果时间许
10、可)2.1C1由于有个人ID的输入或打卡,所以相似度阀值可略低些。3.假定每个ID都有5个模板,且都有一张正面的BMP文件,则把所有加入的ID,用它们对应的BMP,在内部做一遍2选的1CN相互识别。 这样,2选的结果:会输出两个值,第一个为张三的照片与张三的模板的相似度,第二个是与张三最像的人的模板与张三照片的相似度,我们关注第二个: 求出第二个的平均相似度及最高相似度,再参照SDK的推荐值来共同设定。 比如:SDK的推荐值=0.55 全部互识别的第二个结果的平均相似度=0.2 第二个结果的最高相似度=0.41 (由于这两个人像) 那么,说明:最终阀值可定为:0.55 虽然目前取0.43(比0
11、.41多0.02)的阀值也不会出错,但难保外人来识别时不会错,所以还是用推荐值好些。 再比如:SDK的推荐值=0.55 全部互识别的第二个结果的平均相似度=0.3 第二个结果的最高相似度=0.56 (由于这两个人非常像) 那么,说明:最终阀值可定为:0.58 (高于推荐值) 否则:这两个人就可能相互识别错。 七. 图像格式,大小,人脸大小怎样最佳?1.图像格式可用BMP,JPG,但最好用BMP,因为最终分析数据还是BMP的。2.图像大小推荐用320*240(240*320更好),最大可支持1280*1280,但大了会使速度减慢。3.人脸最佳采模板和识别SIZE是:眼距40像素。(两眼球中心连线
12、的长度称为眼距)八 产品的适用人群仅对人脸识别而言:(即不针对人脸检测)最适用人群:深色眼球,眉毛与眼睛界限分明,鼻尖处明暗分明。不适用人群:眼球颜色非常“浅色”的人脸。(除此外,黑黄蓝绿眼球都是可以的)年纪限制: 老少男女均可识别,无头发可,头发挡住眉毛也可。佩戴限制:戴墨镜不行,戴帽子可以,但不能挡住眼,戴粗黑边眼镜时,识别效果比不戴眼镜稍差,但仍能识别,其它眼镜不影响识别,而且可以戴眼镜采模板,不带眼镜识别,反之亦可。只要看得清眼球即可,如果镜片反光,使眼球看不见了,这种情形是无法识别的。九 人脸特征数据的保存a) 一个模板大约需要1MB的硬盘空间。(注:启用数据库压缩后会少用一大半)其
13、中含有一张档案式人脸照片,可由SDK函数读出并画出。b) 注意查看一个名为DataBase.ini的文件,里面可对数据库进行配置。即可以由用户定制ADO连接串,目前主要兼容Access和SQLSERVER两种数据库。(此项功能仅开放给多线程和开放式数据库接口的定制用户)十 如何鉴别两套人脸识别SDK的优劣?名词解释:1C1: 1C1是已知ID号,从库中读出模板,和当前图做1对1的比较验证。1CN:1CN则是在库中遍历式比较,找出与当前图最相似的前N个模板。1CN如果识别(比较)出错(把你认成了别人),就意味着1C1也会错,即这个误认的人用你的ID号就能识别通过,所以,应用1CN来比较人脸识别开
14、发包(SDK)的性能,几个人采好模板后,在各种可能性的光线下都能刚好通过的1CN阀值,就是“性能比较阀值”,(各家SDK的阀值不同,这就相当于让两个SDK都处于相同的识别能力水平上。)然后想办法找百人照片,或千人照片,(且一个人只能有一张照片,不能重复,)越多越好,以每张照片一个ID的方式加入,从而构成大型人脸模板库,然后再一一用这些照片进行1CN的5选,当然第1名相似度应是0.99以上(自身像片),而第2,3,4,5个相似度(其他人的像片),应在“性能比较阀值”之下(否则就是实际上的认错人了),而且差距越大越好,然后统计出这1000次操作的平均结果,就可以知道哪个SDK识别能力强了。十一 在
15、DELPHI下做二次开发的注意事项:a) 因为是WIN32 API,所以delphi调用应采用 stdcall方式。b) VC之CHAR *对应的变量类型是delphi的pchar类型。c) 定义结构时,应选择record方式。十一.如何正确使用子功能:用的子功能越多,速度就越慢,对于要求高速度的用户这就成了一个问题。所以,对于人脸监控和录像的用户,只要做人脸检测即可,不用人眼定位等等。 对于虹膜识别的用户,只要做人脸检测,人眼定位,不用做面膜提取等等。 对于做面膜方面的用户,则无需进行眼镜检测及生成识别膜板。 前面的三项,每一项又都是后一项的基础。所有子功能的开关,请参见下面函数部分。十二.
16、SDK升级信息1.Ver2.7 新增瞳孔定位功能,适用于高清照片的瞳孔定位或辅助虹膜识别。2.Ver2.8 人脸识别的鲁棒性优化,使能识别过去三年内的照片,识别速度提高20%。3.Ver2.9 人脸识别的光线自适应性能改良。4.Ver2.92 内存BUG的解决及相关操作说明文档的改进。5.Ver2.95 人工定位功能的加入,编译器优化编译,整体速度提高约15%。6.Ver3.01 人脸检测中曲度特征的加入,眼球定位再次改良。7.Ver3.05 侧脸识别小幅度改良。8.Ver3.38 复杂背景图像的处理速度改进;三寸小照片的人脸检测、识别性能改进;人脸检测误识率FER的大幅度下降。9.Ver3.
17、51 在背光(逆光)环境下的人脸检测与识别的改进。a.Ver3.68 新增部分人脸识别特征,提高了人脸识别的精度。“三寸小照片”意义诠解:类似二代身份证照片,宽度小于或等于160像素点的图像。Width=160十三.人脸检测性能指标1.人脸角度范围:上仰30度,下俯30度,左侧30度,右侧30度,平面旋转60度。2.光照范围:太阳光,室内光,暗室,逆光。3.人脸肤色范围:黄色人种,白色人种,棕色人种,黑色人种,女士化妆。4.其它支持:模糊照片,变色照片,褪色照片,戴眼镜,戴帽。 5.图像大小:最大1280*1280,推荐320*240(此项为2010年的老测试标准,用户可自行再测定),类型:B
18、MP/JPG。6.人脸大小:最小眼距8像素(开启小脸检测开关)或12像素,最大眼距160像素,推荐最佳眼距为40像素(此项为2010年的老测试标准,用户可自行再测定)。 眼距是指人脸上两眼中心连线的像素长度,可代表图像中的人脸大小。下表是本SDK在人脸检测中的人脸大小限制:图像宽度最小眼距最大眼距图像宽度最小眼距最大眼距1小于200像素大于12像素小于图像宽度4541-800像素大于16像素小于140像素2200-360像素大于16像素小于120像素5801-1200像素大于16像素小于150像素3361-540像素大于16像素小于130像素61200像素以上大于16像素小于160像素对于高大
19、于宽的纵向图像,最大眼距的限制不同:是小于图宽的1/2而且小于200像素。7.人脸数量:最多可从一张图像中检出32张人脸。8.人脸检测正确率:(1500张像片随机测试):99.5%,其中误识率0.01%,漏识率0.04%。9.人脸检测速度:图像大小320*240,CPU:P4 2.4GHZ,平均速度=0 order=0 order=30而又端正的高清,作者推荐用此算法,/以提高眼球中心的定准率)/最好是高清图,眼白和眼球要有足够大的对比度,越分明效果越好,反之,则用本算法可能会有负作用。/眼球半径的上限是不能超过40个像素点。(否则即便启用了算法,算法也会自动被跳过)/本算法目的是定位标准圆的圆心,但未必就是瞳孔,用户可自行加入规律性的偏移量进行较正后输出。/一般建议关闭这个功能,符合上面的条件,又对眼球中心(瞳孔)的定位精度要求高的USER,可以开启它。/4.以下值的参数设置请参见本说明书中的“背光模式下的人脸识别”部分 #define de_BackLight_B 32 /背光算法B /LONG,初值0#define de_BackLight_B_xnd 3201 /背光算法B对应的细腻度 /FLOAT,初值0.09f /这个值越小,越细腻,速度越慢 #define de
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026四川宜宾市人力资源和社会保障局招聘第一批就业见习提能人员1957人考试模拟试题及答案解析
- 2026重庆市潼南区教育事业单位面向应届高校毕业生考核招聘30人笔试参考题库及答案解析
- 2027届高三数学一轮复习课件:第七章 7.2 空间点、线、面的位置关系
- 2026年度河南省地震局事业单位公开招聘9人考试备考题库及答案解析
- 湖北农业发展集团有限公司2026届春季校园招聘笔试备考试题及答案解析
- 2026年及未来5年市场数据中国数字病理切片扫描仪行业发展监测及投资战略咨询报告
- 短期婚姻离婚协议书
- 2026南平市城发人力资源服务有限公司招聘驾驶员3人考试模拟试题及答案解析
- 2026年及未来5年市场数据中国注射用磷霉素钠行业市场全景监测及投资战略数据分析研究报告
- 夹江县人民医院2026年自主招聘护理人员(4人)笔试备考题库及答案解析
- 2023年北京市东城区高考英语一模试题及答案解析
- DB32-T 4245-2022 城镇供水厂生物活性炭失效判别和更换标准
- 急慢性肾小球肾炎病人的护理课件
- 应用PDCA管理工具提高病案归档率
- 招标控制价编制实例
- ipc4101b刚性及多层印制板用基材
- 骨关节炎药物治疗进展
- GB/T 33899-2017工业物联网仪表互操作协议
- GB/T 12615.3-2004封闭型平圆头抽芯铆钉06级
- 半条被子(红军长征时期故事) PPT
- 四川省成都市《综合应用能力测试》事业单位国考真题
评论
0/150
提交评论