博舍

AI应用人脸识别出现大误差 出现种族准确率不高 人脸识别技术准确度不高的原因有哪些

AI应用人脸识别出现大误差 出现种族准确率不高

近日,外媒有消息称,现如今非常热门的AI应用人脸识别,出现了巨大的BUG,其中,针对黑人女性的错误率高达21%-35%,而针对白人男性的错误率则低于1%,针对不同种族的准确率差异巨大,引发热议。

在一组385张照片中,白人男性的识别误差最高只有1%

其实出现这个问题的来源更多的是因为当下的人工智能数据,数据的量会影响AI的智能判断,而且目前人工智能正是处于发展阶段,商用并不是很成熟,所以出现问题也是在情理之中。

在一组271张照片中,肤色较黑的女性识别误差率高达35%

但是值得说明的是,无论是何种新技术,收集数据都显得尤为重要,不仅仅是人脸识别,还有语言、文化等各方面都应该收集其中。关于微软、IBM人脸识别误差,你怎么看呢?

腾讯人脸核身准确度达9965%,人脸识别应用知多少

其实不是。

所有的生物识别技术,包括人脸识别都有三个指标,除了通过率,还有认假率与拒真率。通过率我们很容易理解,就是指通过的概率;我们简单来说一个认假率和拒真率:认假率是指比对通过了但你并不是本人,你是“假的”但把你认成了“真的”;同理,拒真率是指你是本人但是比对失败了,你是“真的”但是系统拒绝了你。

其实通过以上的名词解释我们已经可以判断出:只强调通过率而不提及认假率、拒真率是不专业的。天诚盛业的技术负责人也表示,只有基于认假率、拒真率和通过率三个指标才可以判断这个人脸识别算法水平的高低。

2、人脸识别比对通过与否看的是得分!

据人脸识别专业技术负责人介绍,在特定的人脸识别算法下,一般会设定一个阈值作为评判通过与否的标准,该阈值一般是用分数或者百分比来表现,也就是我们常说的相似度分值。而阈值的设定一般是根据人脸识别的ROC曲线进行设定。

设定的阈值越高,误识率越低,通过率也越低,一般会通过对n对人脸比对的相似度来得到roc曲线,而从上图中也可以发现拒真率和认假率的交叉点是最理想的阈值,但在实践中,天诚盛业除了会根据拒真率和认假率两个曲线外,更重要的是根据客户需求、应用场景寻求合适的阈值点。

3、人脸识别并不能应用于所有金融场景

虽然现在人脸识别技术日渐成熟,但是光线条件、用户整容等仍然会影响人脸识别结果。

“人脸识别在金融行业的应用和落地绝大部分是作为客户身份核查的辅助手段,在转账支付等高安全级别中还是要更审慎一些。”天诚盛业的技术负责人表示,他们也建议在这种高安全要求场景中可以通过人脸+指纹或者人脸+虹膜等多模态生物识别技术来解决客户身份核查的风险问题。

4、金融场景革命:并不是简单的人脸算法+SDK

各大金融机构在青睐于人脸识别技术时,往往容易陷入一个误区:人脸识别应用就是在实名认证环节中加入人脸识别算法比对。“虽然我们已经尽可能的强调人脸识别的正确应用,但是仍然有很多金融机构会陷入这个怪圈中!”天诚盛业的技术负责人解释到。

经过近20年在金融行业的深耕细作,天诚盛业对金融业务和技术架构等非常了解,在率先实现人脸识别在银行大规模应用的过程中,他们提出“人脸识别应用是一种策略”的观点。天诚盛业认为,人脸识别不仅仅是一种技术,更是一种策略,其正确应用应该基于多模态生物识别统一身份认证平台,单纯的使用人脸识别算法+SDK其实并没有将金融机构未来的业务和大数据分析等纳入考虑范围之内,而平台则可以根据不同的金融场景随时调整、灵活匹配。“这就像一个筛子,简单的算法、SDK模式的筛子孔是固定的,你只能根据它的大小去调整自己的业务或场景;而多模态生物识别统一身份认证平台的筛子孔则是可以调整的,是根据用户的场景灵活匹配!”天诚盛业的技术负责人这样解释。

高科技的人脸识别,岂止在金融应用?

今年高考期间,不少地区也将“人脸识别+指纹验证”的“双保险”引入了考场,用于提升考场作弊防控系统。

例如,为防高考作弊,广东今年将首次启用身份识别系统和无线电作弊防控双系统。而广州市则将启用“人脸识别+指纹验证”的方法,防范高考舞弊。同样,湖北省今年也将开展指纹识别、人脸识别验证考生试点。

据蚂蚁金服人员透露,“刷脸”支付由蚂蚁金服与Face++Financial合作研发,“以后逛街、吃饭,都可以不用带钱包,直接刷个脸就可以实现轻松支付。”

随着科技的高速发展,越来越多成熟好用的大数据征信产品、反欺诈产品呈现,为金融、生活提供越多便利,未来还会有什么样的新应用,还是很值得期待的!返回搜狐,查看更多

动态人脸识别消费管理系统识别速度快、识别准确度高、免接触、防盗刷、无损耗

智能功能

双目摄像头,支持活体防伪,解决照片欺骗问题

支持人脸优选,人脸增强与人脸曝光,提高成像质量

支持多人脸识别、最大人脸识别模式,人脸识别率高达99.7%以上

支持刷脸并刷卡、刷脸或刷卡、仅人脸、仅刷卡四种识别方式,满足多样需求

标配3万级人脸库和3万IC卡库,毫秒识别通过、人脸识别速度(1:N)≤0.2S/人

采用高性能智能处理器,基于深度学习的人脸识别与抓拍信息提取,极大的提高了人脸抓拍率

基本功能

提供全面的二次开发技术支持

支持在线、离线两种工作模式

支持门未关超时报警、黑名单报警等

设备配有百兆网口,支持WIFI无线连接

外玻璃采用钢化玻璃,透光性好,硬度高,不易变形

采用像素200万、采用高清F2.2光圈安防级工业镜头,抗逆光

7英寸IPS全面屏,分辨率1024*600,屏幕亮度为450cd/m2

支持与自主研发的VMP(VideoManagerPlatform)客户端实现考勤数据管理与操作

夜间红外/RGB双补光,高效节能工作,通过人体感应自动进入人脸识别工作模式并打开补光

人脸识别扣费终端采用嵌入式Linux系统、功耗低,运行更稳定、数据更安全

【应用价值】

1、针对企业食堂位和政府单的应用价值:

(1)提升企业、政府单位形象:人脸识别作为一种前卫的身份验证技术,应用于职工食堂,可以瞬间给职工和来宾留下深刻的印象,在为技术的先进而感叹的同时,也增强了对企业、单位的信赖度。

(2)改善职工福利:本系统的多用户级别,可为职工、职工家属分别制定不同的收费标准,从而即体现了人性化管理,又能将有限的伙食补贴,尽可能多地用到职工本人身上。

(3)规范公务接待:以前使用IC卡或指纹系统,无法对公务接待进行管理。本系统特有的公务接待刷卡拍照功能,将公务接待也纳入了管理范围,使公务接待也实现了有据可查。

(4)节约食堂开支:本系统从根本上杜绝了代刷、冒刷现象,从而避免了浪费,实践证明应用本系统后,食堂在改善了伙食标准的情况下,开支还有明显下降。

2、针对学校学生食堂的应用价值:

(1)杜绝挪用餐费:家长可以将学生伙食费预存到学生消费账户中,学生只能“刷脸消费”,全面杜绝了学生挪用伙食费去打游戏、买零食的情况,系统支持将每次学生的充值金额、时间通过短信发送给学生家长,家长还能通过网站、微信查询学生的消费记录。

(2)提升学校形象:人脸识别作为一种前卫的科技技术,应用于学校食堂,可以瞬间给家长和学生留下深刻的印象,在为技术的先进而感叹的同时,也增强了对学校的信赖度。

(3)加强食堂管理:系统支持将学生账户、教师账户、职工账户进行分开管理,制定不同的消费定价、优惠方案等,加强了学校的食堂管理。

适用于学校、单位、工厂、宾馆、酒店、俱乐部、会所、商场等餐厅、食堂;即用人脸实现就餐管理功能。返回搜狐,查看更多

python dlib opencv人脸识别准确度

前言

人脸识别在LWF(LabeledFacesintheWild)数据集上人脸识别率现在已经99.7%以上,这个识别率确实非常高了,但是真实的环境中的准确率有多少呢?我没有这方面的数据,但是可以确信的是真实环境中的识别率并没有那么乐观。现在虽然有一些商业应用如员工人脸识别管理系统、海关身份验证系统、甚至是银行人脸识别功能,但是我们可以仔细想想员工人脸识别管理,海关身份证系统的应用场景对身份的验证功能其实并没有商家吹嘘的那么重要,打个比方说员工上班的时候刷脸如果失败了会怎样,是不是重新识别一下,如果还是误识别,或是识别不出,是不是就干脆刷卡或是其他方式登记上班,然后骂一句他娘的,本人那么帅居然没识别出来!那银行柜员机上人脸识别系统呢,你看它敢不敢让你连密码也不输直接刷脸转账,是不是关掉了人脸识别、指纹识别机器还可以正常运作。所以说真实环境中在各种光照因素、年龄因素、网红因素(化妆)、甚至是作弊因素等各种因素条件下的识别率有多少只有产品厂家自己知道,我相信每个厂家针对这些情况都有做优化,比如外围硬件的辅助,针对特定场景的各种约束等等,通过各个厂家自己在各个方面对系统的优化,是可以提升自身产品的综合体验的。

前面扯远了,本文的目的是实现一个人脸识别的最简单实际应用,即用摄像头捕捉动态人脸,然后和已经存储在数据库中的128D人脸特征进行比较识别出相应的人脸信息(名字等)。工程是基于VS2015+简单的MFC对话框实现的,代码存放在:http://git.oschina.net/wjiang/face_recognition

在这个系统中我预先存储了下面几位明星的正面头像的128D人脸特征,当然你可以存储和导入更多的人脸。

然后经过人脸检测、人脸图像处理,和人脸识别等步骤识别出相应的人脸信息,识别效果如下(怕大家被丑到所以用了明星的图片,没有用真实的人脸–没有做活体检测):

当然这只是一个简单的应用,真正用到生产的系统,还需运用活体检测等技术,防止运用照片或是手机视频等方式欺骗过人脸识别系统,安全级别要求更高的应用领域例如支付、转账等系统活体检测可能仍不够安全,这时还可以通过人脸识别+验证密码等方式加强安全性能。

人脸数据库导入

人脸数据导入,也就是说我在系统启动之初,需要导入我的人脸数据库,也就是前面的那些明星的正面照。装载的开始阶段,因为要检测静态人脸图片的人脸部位,首先需要用dlib的人脸检测器,用get_frontal_face_detector()获得。然后需要将68点人脸标记模型导入shape_predictorsp,目的就是要对其人脸到一个标准的姿势,接着就是装载DNN模型。然后取每张人脸照片的特征,并将特征和姓名等相关的信息放入FACE_DESC结构中,最后将每张人脸信息结构放入face_desc_vec容器中,这里我只装载了9个明星的人脸信息。

intFACE_RECOGNITION::load_db_faces(void)

{

intrc=-1;

longhFile=0;

struct_finddata_tfileinfo;

frontal_face_detectordetector=get_frontal_face_detector();

//Wewillalsouseafacelandmarkingmodeltoalignfacestoastandardpose:(seeface_landmark_detection_excppforanintroduction)

deserialize("shape_predictor_68_face_landmarksdat")>>sp;

//AndfinallyweloadtheDNNresponsibleforfacerecognition

deserialize("dlib_face_recognition_resnet_model_vdat")>>net;

if((hFile=_findfirst("\faces\*jpg",&fileinfo))!=-1)

{

do

{

if((fileinfoattrib&_A_ARCH))

{

if(strcmp(fileinfoname,"")!=0&&strcmp(fileinfoname,"")!=0)

{

if(!strcmp(strstr(fileinfoname,"")+1,"jpg"))

{

cout

cout

Matgray;

Matface;

intrc=-1;

if(frame.empty()||!frame.data)return-1;

cvtColor(frame,gray,CV_BGR2GRAY);

int*pResults=NULL;

unsignedchar*pBuffer=(unsignedchar*)malloc(DETECT_BUFFER_SIZE);

if(!pBuffer)

{

fprintf(stderr,"Cannotallocbuffer. ");

return-1;

}

//pResults=facedetect_frontal_tmp((unsignedchar*)(gray.ptr(0)),gray.cols,gray.rows,gray.step,

//1.2f,5,24);

pResults=facedetect_multiview_reinforce(pBuffer,(unsignedchar*)(gray.ptr(0)),gray.cols,gray.rows,(int)gray.step,

1.2f,2,48,0,1);

//printf("%dfacesdetected. ",(pResults?*pResults:0));//重复运行

//printthedetectionresults

if(pResults!=NULL)

{

for(inti=0;i30)

{

imshow("face",face);

out=face.clone();

return0;

}

}

else

{

//faceismoving,andresetthedetectcount

face_detect_count=0;

}

returnrc;

}

人脸识别

通过人脸检测函数capture_face()经过处理之后临时保存在工程目录下的cap.jpg,用get_face_chip_details()函数将检测到的目标图片标准化为150*150像素大小,并对人脸进行旋转居中,用extract_image_chip()取得图像的一个拷贝,然后将其存储到自己的图片face_chip中,把的到face_chip放入vect_faces容器中,传送给深度神经网络net,得到捕捉到人脸图片的128D向量特征。最后在事先导入的人脸数据库中遍历与此特征最相近的人脸即可识别出相应的人脸信息。

这种模式的应用,也就是我们所说的1:N应用,1对N是比较考验系统运算能力的,举个例子,现在支付宝账户应该已经是上亿级别的用户,如果你在就餐的时候选择使用支付宝人脸支付,也许在半个小时内服务器也没有找你的脸,这下就悲催,当然在真实应用场景可能是还需要你输入你的名字,这下可能就快多了,毕竟全国可能和你重名的也就了不的几千上万个吧,一搜索,人脸识别再一验证即可。

前面的这些还没有考虑安全的因素,比如说双胞胎啊,化妆啊(网红的年代啊),还有年龄的因素,环境的因素还包括光照、角度等导致的误识别或是识别不出,识别不出的情况还好,如果是误识别对于支付等对于安全性要求极其严苛的应用来说简直就是灾难。所以人脸识别还有很大的局限性–额,好像扯远了。

matrixface_cap;

//savethecaptureintheprojectdirectory

load_image(face_cap,".\cap.jpg");

//Displaytherawimageonthescreen

image_windowwin1(face_cap);

frontal_face_detectordetector=get_frontal_face_detector();

std::vector>vect_faces;

for(autoface:detector(face_cap))

{

autoshape=face_recognize.sp(face_cap,face);

matrixface_chip;

extract_image_chip(face_cap,get_face_chip_details(shape,150,0.25),face_chip);

vect_faces.push_back(move(face_chip));

win1.add_overlay(face);

}

if(vect_faces.size()!=1)

{

cout

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇