活体检测

isadoraytwwt isadoraytwwt     2023-03-18     367

关键词:

活体检测有很多方法:眨眼检测,张嘴检测,摇头检测

这里举例眨眼检测算法。

眨眼检测算法:利用眼睛纵横比(EAR, eyes aspect ratio) 通过计算这个EAR的数值,我们可以判断眼睛是张开还是闭合的,从而检测眨眼动作。

技术图片

 

 

EAR = (||p2-p6|| +||p3-p5||) ?( 2 * ||p1-p4||)

代码实现:

from scipy.spatial import distance
import dlib
import cv2
from imutils import face_utils

def eye_aspect_ratio(eye):
    ‘‘‘
    计算EAR值
    :param eye: 眼部特征点数组
    :return :EAR值
    ‘‘‘
    A = distance.euclidean(eye[1], eye[5])
    B = distance.euclidean(eye[2], eye[4])
    C = distance.euclidean(eye[0], eye[3])
    return (A + B) / (2.0 * C)

#通过dlib得到一个人脸检测器
detector = dlib.get_frontal_face_detector()
predictor = dlib.shape_predictor(‘libs/shape_predictor_68_face_landmarks.dat‘)    #括号中将训练文件的路径传入

#设置眼睛纵横比的阈值
EAR_THRESH = 0.3
#我们假定连续三帧以上EAR的值都小于阈值才预设是产生了眨眼操作
EAR_CONSEC_FRAMES = 3

# 人脸特征点中对应眼睛那几个特征点的序号需要定义一下
RIGHT_EYE_START = 37 - 1
RIGHT_EYE_END = 42 - 1
LEFT_EYE_START = 43 - 1
LEFT_EYE_END = 48 - 1

frame_counter = 0 #连续帧的计数
blink_counter = 0   #眨眼的计数

#开始调用摄像头
cap = cv2.VideoCaootuer(0)

while True:
    ret, frame = cap.read()
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2BRAY)    #转化成灰度图像
    rects = detector(gray, 1)   #人脸检测

    if len(rects) > 0:
        shape = predictor(gray, rects[0])    #检测特征点
        points = face_utils.shape_to_np(shape)
        leftEye = points[LEFT_EYE_START:LEFT_EYE_END + 1]   #取出左眼的特征点
        rightEye = points[RIGHT_EYE_START:RIGHT_EYE_END + 1]
        leftEAR = eye_aspect_ratio(leftEye)
        rightEAR = eye_aspect_ratdio(rightEye) #计算左右眼的EAR值
        
        #求左右眼EAR的平均值
        ear = (leftEAR + rightEAR) / 2.0

        #实际计算时,这两步非必需
        #寻找左右眼轮廓
        leftEyeHull =cv2.convexHull(leftEye)
        rightEyeHull = cv2.convexHull(rightEye)
        #绘制左右眼轮廓
        cv2.drawContours(frame, [leftEyeHull], -1, (0, 255, 0), 1)
        cv2.drawContours(frame, [rightEyeHull], -1, (0, 255, 0), 1)

       #如果EAR小于阈值,开始计算连续帧
        if ear < EAR_THRESH:
            frame_counter += 1
        else:
            if frame_counter >= EAR_CONSEC_THRESH:
                print("眨眼检测成功,请进入。")
                blink_counter += 1
                break
            frame_counter = 0

    cv2.imshow(‘window‘, frame)

    if cv2.waitKey(1) & 0xFF == ord(‘q‘):
        break

cap.realease()
cv2.destoryAllWindows()

  结果:

技术图片

技术图片

 

如何通过活体检测

活体检测是[1]在一些身份验证场景确定对象真实生理特征的方法,在人脸识别应用中,活体检测能通过眨眼、张嘴、摇头、点头等组合动作,使用人脸关键点定位和人脸追踪等技术,验证用户是否为真实活体本人操作。可有效抵... 查看详情

活体检测技术哪家强?实测n种场景告诉你答案

首先,什么是活体检测技术?活体检测是在一些身份验证场景确定对象真实生理特征的方法,在人脸识别应用中,活体检测能通过眨眼、张嘴、摇头、点头等组合动作(配合式),使用人脸关键点定位... 查看详情

活体检测技术哪家强?实测n种场景告诉你答案

首先,什么是活体检测技术?活体检测是在一些身份验证场景确定对象真实生理特征的方法,在人脸识别应用中,活体检测能通过眨眼、张嘴、摇头、点头等组合动作(配合式),使用人脸关键点定位... 查看详情

人脸识别中活体检测的重要性是啥?

是防止被攻击欺诈,提高安全性。人脸活体检测主要是通过识别活体上的生理信息来进行,它把生理信息作为生命特征来区分用照片、硅胶、塑料等非生命物质假座的生物特征。一旦虚假人脸攻击成功,极有可能对用户造成重大... 查看详情

人脸识别中的活体检测是啥?

人脸识别的活体检测有什么好处吗?活体检测技术哪个平台好?活体检测一般是通过人脸做出的一些动作,比如抬头、点头、睁眼、闭眼、张嘴、摇头这些,然后再使用人脸关键点定位和追踪技术,验证是否是本人在操作。比如... 查看详情

静默活体检测能力,有效规避用户实名认证环节风险(代码片段)

静默式活体检测,是华为HMSCore机器学习服务所属的人脸活体检测能力,即无需用户配合做出张嘴、扭头、眨眼等动作,便可实时捕捉人脸,快速判断是否为活体,用户使用过程便捷,综合体验感较佳。技... 查看详情

opencv-活体检测

...cv,python,matlab首先1.构建图像数据集2.实现一个能够进行活体检测的卷积神经网络(我们称之为「LivenessNet」)3.训练活体检测网络4.创建一个能够使用我们训练好的活体检测模型并将其应用于实时视频的Python+OpenCV的脚本 (... 查看详情

多维活体检测,让人脸识别更安全

...脸识别领域的安全风险,主持人用现场合成的视频通过了活体检测和人脸验证,因此人脸识别的安全性引起大众关注。对于活体检测的安全隐患,腾讯优图团队一直保持高度关注,并依托多年积累的技术能力和业务运营经验,已... 查看详情

多维活体检测,让人脸识别更安全

...脸识别领域的安全风险,主持人用现场合成的视频通过了活体检测和人脸验证,因此人脸识别的安全性引起大众关注。对于活体检测的安全隐患,腾讯优图团队一直保持高度关注,并依托多年积累的技术能力和业务运营经验,已... 查看详情

11.4关于人脸活体检测的思考🤔

...息安全部门做反垃圾的经验来看,做了一些自己的思考。活体检测本身是一个反欺诈问题,最主要的就是针对照片欺诈,如果没有活体检测,单纯由照片就可以进行欺骗性的人脸识别。反欺诈向来都是成本之间的竞争,当欺骗成... 查看详情

基于android虹软人脸人证对比,活体检测

最近虹软新增了人证识别、活体检测的功能,好像之前的人脸识别也更新过版本,之前一篇文章用虹软AndroidSDK做人脸识别,写过虹软人脸识别的用法,最近把人脸识别、人证识别,活体检测功能都简单的封装了一下,使用起来... 查看详情

[计算机视觉]人脸应用:人脸检测人脸对比五官检测眨眼检测活体检测疲劳检测

...脸表征检测(五官定位)’、‘眨眼检测’、‘活体检测’以及‘疲劳检测’。人脸检测严格来讲 查看详情

虹软人脸识别-faceid及ir活体检测的介绍(代码片段)

...EO模式新增faceId(类似于之前文章中提到的trackId)?新增IR活体检测功能?新增IR、RGB的活体阈值设置一、faceId介绍1.定义在连续的视频帧中,当一个人脸进入视频画面直到离开,其faceId不变。2.应用场景举例在门禁应用场景下,若... 查看详情

活体检测

活体检测有很多方法:眨眼检测,张嘴检测,摇头检测这里举例眨眼检测算法。眨眼检测算法:利用眼睛纵横比(EAR,eyesaspectratio)通过计算这个EAR的数值,我们可以判断眼睛是张开还是闭合的,从而检测眨眼动作。  EAR=... 查看详情

活体检测facebagnet阅读笔记

原文链接:https://openaccess.thecvf.com/content_CVPRW_2019/papers/CFS/Shen_FaceBagNet_Bag-Of-Local-Features_Model_for_Multi-Modal_Face_Anti-Spoofing_CVPRW_2019_paper.pdf 背景人脸图像是用于高度准确的人脸识别系统的最容易获得的生 查看详情

人脸识别活体检测技术讨论:基于背景人脸相对运动的活体判断方法

活体检测是人脸识别安全性的重要保障,是人脸识别厂商将产品普及应用于各行业的重要竞争力。目前活体判断的方法很多,但很难基于一种方法就能达到理想的效果,往往需要多种算法的交叉判断,本文主要介绍一种简单有效... 查看详情

虹软人脸识别活体检测有没有用过的,效果怎么样?

...了的,基本能满足我们的要求。 参考技术B虹软人脸识别活体检测是一种新型的识别方式,用在确认身份的场所,我单位机房就是用虹软人脸识别活体检测的方式来识别解锁,安全性比较高,用起来也比较方便。 参考技术C没有... 查看详情

人脸活体检测人脸识别:眨眼+张口(代码片段)

一:dlib的shape_predictor_68_face_landmarks模型该模型能够检测人脸的68个特征点(faciallandmarks),定位图像中的眼睛,眉毛,鼻子,嘴巴,下颌线(ROI,RegionofInterest) 下颌线 查看详情