iOS 使用百度的人脸识别登录验证,解决认证失败不跳转界面连续认证,认证相似度对比
在使用百度人脸识别出现的问题:小米6调用摄像机是黑白的一个情况,iOS上会出现识别准确性上的问题(多次代开认证,会通过)
人脸识别(活体验证):
1、芝麻认证 : 0.4元/次,需要企业企业认证、不能有与芝麻信用类似的业务,如:保险、、、
2、旷视 : 0.5/次.企业认证、业务限制
3、 百度人脸识别 :免费的---可以同时处理10条认证, 企业认证,
4、科大讯飞 人脸检测 2000万次 1年 7.2万 活体检测只能上传一段视频来检测 需要和商务沟通
我们使用的百度,,,,
需求:需要在认证中不跳转界面,失败:继续认证、成功:跳转。
----------------------------------------------------------
一、在认证结果中促发通知给 DetectionViewController 认证结果,
-(void)baiduVerifiResouts:(NSNotification*)notification{
if ([notification.object isEqualToString:@"yes"]) {
//认证成功
[self closeAction];
}else{
//认证失败
self.hasFinished = NO;
[IDLFaceDetectionManager.sharedInstance reset];
[[FaceSDKManager sharedInstance] clearTrackedFaces];
[[IDLFaceDetectionManager sharedInstance] startInitial];
[self.videoCapture startSession];
self.videoCapture.delegate = self;
self.videoCapture.runningStatus = YES;
}
}
2、 需要将调用 closeAction 方法的地方注释
---------------------------------------------------------------------
二、认证相似度对比
在返回识别结果中,会把所有相似的人给返回,需要自己筛选出自己的相似度进行 对比
1、识别结果请求
[[NetAccessModel sharedInstance] searchFaceWithImageBaseString:bestImageStr userName:UserModelonline.userId completion:^(NSError *error, id resultObject) {
NSDictionary* dict = [NSJSONSerialization JSONObjectWithData:resultObject options:NSJSONReadingAllowFragments error:nil];
NSInteger type = ;
NSString* tip = @"识别失败!";
if ([dict[@"error_code"] intValue] == ) {
//获取层级字典
NSDictionary* result = dict[@"result"];
NSArray * user_list =result[@"user_list"];
//判断相似度符合的人数 大于0 继续
if ([result[@"user_list"] count] >
) {
//获取自己的相似度 进行对比
NSMutableDictionary * userDict = [NSMutableDictionary dictionary];
for (int i=; i<user_list.count; i++) {
NSDictionary * dict = user_list[i];
//根据自己的uid 获取到自己的相似度是多少
if ([dict[@"user_id"] isEqualToString:UserModelonline.userId]) {
[userDict setDictionary:dict];
break;
}
}
//相似度进行对比 大于90了 为识别成功
if (userDict.allKeys.count > ) {
if ([userDict[@"score"] intValue] > ) {
type = ;
tip = @"识别成功";
}
}else{
NSLog(@"----------------------------------没有与自己相似的人啊");
}
} else {
tip = @"活体检测识别失败";
}
} else {
NSLog(@"失败了%@ = %@,%@,%@",UserModelonline.userId,dict[@"error_code"],dict[@"error_msg"],dict[@"log_id"]);
}
if(type==){
//成功了
}else{
//失败了
}
三、 人脸注册 成功一次上传一张照片,最大上限20,超过后返回 报错
iOS 使用百度的人脸识别登录验证,解决认证失败不跳转界面连续认证,认证相似度对比的更多相关文章
- 基于iOS用CoreImage实现人脸识别
2018-09-04更新: 很久没有更新文章了,工作之余花时间看了之前写的这篇文章并运行了之前写的配套Demo,通过打印人脸特征CIFaceFeature的属性,发现识别的效果并不是很好,具体说明见文 ...
- 安排上了!PC人脸识别登录,出乎意料的简单
本文收录在个人博客:www.chengxy-nds.top,技术资源共享. 之前不是做了个开源项目嘛,在做完GitHub登录后,想着再显得有逼格一点,说要再加个人脸识别登录,就我这佛系的开发进度,过了 ...
- 千呼万唤,web人脸识别登录完整版来了,这样式我爱了
大家好,我是小富~ 在我最开始写文章的时候曾经写过一篇文章 基于 Java 实现的人脸识别功能,因为刚开始码字不知道写点什么,就简单弄了个人脸识别的Demo. 但让我没想到的是,在过去的一年里有好多好 ...
- 基于百度AI人脸识别技术的Demo
编写demo之前首先浏览官方API:http://ai.baidu.com/docs#/Face-API/top 下面是源码: package com.examsafety.test; import ...
- PyQt5+Caffe+Opencv搭建人脸识别登录界面
PyQt5+Caffe+Opencv搭建人脸识别登录界面(转载) 最近开始学习Qt,结合之前学习过的caffe一起搭建了一个人脸识别登录系统的程序,新手可能有理解不到位的情况,还请大家多多指教. 我的 ...
- 百度离线人脸识别sdk的使用
1.1下载sdk运行 百度离线人脸识别sdk的使用 1.2配置环境 添加至项目,可以拖动复制或者以类库形式添加face-resource此文件夹 放到根目录上一层 激活文件与所有dll引用放到根目录嫌 ...
- 百度AI人脸识别的学习总结
本文主要分以下几个模块进行总结分析 项目要求:运用百度AI(人脸识别)通过本地与外网之间的信息交互(MQService),从而通过刷脸实现登陆.签字.会议签到等: 1.准备工作: 内网:单击事件按钮— ...
- 基于C# 调用百度AI 人脸识别
一.设置 登录百度云控制台,添加应用-添加人脸识别,查找,对比等. 记住API Key和Secret Key 二.创建Demo程序 1.使用Nuget安装 Baidu.AI 和 Newtonsoft. ...
- apicloud地图、即时通讯、人脸识别登录、以及平时踩过得坑
apicloud技术浅谈 导语 apicloud 的学习也有一段时间了,这是我个人的一些经验,和踩过的坑,希望对大家能有一些帮助. apicloud的知识准备 apicloud 是一个用原生的思想搭建 ...
随机推荐
- Cortex-M 实现互斥操作的三种方法
注:本文仅针对Cortex-M3/4 系列进行讲述. 在传统的ARM处理器架构中,常使用SWP指令来实现锁的读/写原子操作,但从ARM v6开始,读/写访问在独立的两条总线上进行,SWP指令已无法在此 ...
- 网站HTTP升级HTTPS完全配置手册
本文由葡萄城技术团队于博客园原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 今天,所有使用Google Chrome稳定版的用户迎来了v68正式 ...
- 从官方文档去学习之FreeMarker
一.前言 上一篇 <从现在开始,试着学会用官方文档去学习一个技术框架>提倡大家多去从官方文档学习技术,没有讲到具体的实践,本篇就拿一个案例具体的说一说,就是FreeMarker,选择这个框 ...
- CVE-2017-1000405 利用脏牛漏洞Linux提权复现
当前路径: /var/www 磁盘列表: / 系统信息: Linux zico 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 ...
- Java开发笔记(八十二)注解的基本单元——元注解
Java的注解非但是一种标记,还是一种特殊的类型,并且拥有专门的类型定义.前面介绍的五种内置注解,都可以找到对应的类型定义代码,例如查看注解@Override的源码,发现它的代码定义是下面这样的: @ ...
- VSCode瞎折腾记
搬到小机房后终于能用VSCode啦(没错以前的系统是xp) 但是这东西比Dev难搞多了qwq,简单记一下自己的DIY历程吧(不然全搞炸就凉了) 设置语言为中文 可以直接下载插件 让VSCode支持编译 ...
- JavaScript中的十个难点,你有必要知道。
1. 立即执行函数 立即执行函数,即Immediately Invoked Function Expression (IIFE),正如它的名字,就是创建函数的同时立即执行.它没有绑定任何事件,也无需等 ...
- weblogic doc
BEA WebLogic Server 9.2 Documentation https://docs.oracle.com/cd/E13222_01/wls/docs92/index.html 8.1 ...
- 【Android】用Cubism 2制作自己的Live2D——软件的安装与破解!
前言- 上文我们简单的了解了Cubism的情况,但是Cubism 2.X安装好以后如果不进行破解只能使用Free版本,这是我们接受不了的,我们是专业的.是来学习的,怎么能不用Pro版本呢?所以话不多说 ...
- python自定义pi函数的代码
下边内容是关于python自定义pi函数的内容. def pi(): # Compute digits of Pi. # Algorithm due to LGLT Meertens. k, a, b ...