CN112347860B - 基于梯度的眼部状态检测方法及计算机可读存储介质 - Google Patents
基于梯度的眼部状态检测方法及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112347860B CN112347860B CN202011110030.XA CN202011110030A CN112347860B CN 112347860 B CN112347860 B CN 112347860B CN 202011110030 A CN202011110030 A CN 202011110030A CN 112347860 B CN112347860 B CN 112347860B
- Authority
- CN
- China
- Prior art keywords
- eye
- current frame
- frame image
- gradient
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/18—Eye characteristics, e.g. of the iris
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
- G06V40/165—Detection; Localisation; Normalisation using facial parts and geometric relationships
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
- G06V40/171—Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/18—Eye characteristics, e.g. of the iris
- G06V40/193—Preprocessing; Feature extraction
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Oral & Maxillofacial Surgery (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Ophthalmology & Optometry (AREA)
- Geometry (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于梯度的眼部状态检测方法及计算机可读存储介质,方法包括:获取两只眼睛均处于预设的初始状态的待测图像;依序获取下一帧待测图像作为当前帧图像;通过人脸检测算法和人脸特征点标定算法,在当前帧图像中标定得到眼部标定点;计算当前帧图像中的梯度信息,得到当前帧图像对应的梯度图;根据上一帧图像中的各眼部标定点校准后的位置,在当前帧图像对应的梯度图中对当前帧图像中的各眼部标定点进行校准,得到当前帧图像中的各眼部标定点校准后的位置;根据当前帧图像中同一只眼睛的各眼部标定点校准后的位置,计算所述同一只眼睛对应的眼部张合角度。本发明可准确识别出眼部张合角度。
Description
技术领域
本发明涉及眼部状态识别技术领域,尤其涉及一种基于梯度的眼部状态检测方法及计算机可读存储介质。
背景技术
随着图像处理技术的快速发展,人脸特征点标定算法已经取得了不错的效果,可以较为准确地标定出人眼睛、鼻子、嘴巴等关键器官地轮廓,例如dlib、openpose、openface等。眨眼检测可以很好地运用于人机交互,比如人脸识别后眨眼解锁手机、眨眼控制机器人等。理想状态下,在这类算法的基础上识别眼睛的状态(眨眼检测)变得非常简单,只要利用眼部轮廓就可以很方便地识别出眼部状态。
但是,openpose算法计算复杂度很高,目前性能较高的独立显卡1080ti在运行该算法时,一秒钟也只能处理十几张图,更别提运算力比较低的小型智能终端,难以实现流畅地运行。而dlib算法地人脸特征点标定虽然运行速度很快,但标定的眼部轮廓并不够准确,经常出现误标定,导致眨眼识别错误;也有一些研究者采用一些简单的神经网络结构,达到了类似openpose的效果,但在用户佩戴眼镜的情况下,识别效果不佳。
发明内容
本发明所要解决的技术问题是:提供一种基于梯度的眼部状态检测方法及计算机可读存储介质,可准确识别出眼部张合角度。
为了解决上述技术问题,本发明采用的技术方案为:一种基于梯度的眼部状态检测方法,包括:
依序获取一帧待测图像作为当前帧图像;
通过人脸检测算法和人脸特征点标定算法,在所述当前帧图像中标定得到眼部标定点,并记录所述眼部标定点的位置;
计算当前帧图像的梯度信息,得到当前帧图像对应的梯度图;
根据所述对应的梯度图,判断当前帧图像中的两只眼睛是否均处于预设的初始状态;
若否,则继续执行所述依序获取一帧待测图像作为当前帧图像的步骤;
若是,则获取下一帧待测图像作为当前帧图像;
通过人脸检测算法和人脸特征点标定算法,在所述当前帧图像中标定得到眼部标定点;
计算当前帧图像中的梯度信息,得到当前帧图像对应的梯度图;
根据上一帧图像中的各眼部标定点校准后的位置,在当前帧图像对应的梯度图中对当前帧图像中的各眼部标定点进行校准,得到当前帧图像中的各眼部标定点校准后的位置;
根据当前帧图像中同一只眼睛的各眼部标定点校准后的位置,计算所述同一只眼睛对应的眼部张合角度。
本发明还提出一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上所述的方法的步骤。
本发明的有益效果在于:通过获取两只眼睛均处于初始状态的图像,即获取标定效果较好的图像,使得后续图像中的眼部标定点可进行有效的校准,保证校准后的眼部标定点尽量处于眼睑轮廓线上,避免眼部标定点明显偏离眼睑轮廓线的情况;通过根据校准后的眼部标定点计算眼部张合角度,可保证眼部张合角度的准确性。本发明在人脸特征点标定算法的基础上,匹配眼部标定点与梯度图之间的对应关系,在梯度图上跟踪眼部标定点的运动并对眼部标定点进行校准,有效改进了眼部轮廓的标定,且不受佩戴眼镜的影响,提高了眼部状态检测的效果,同时算法复杂度低,在一些计算机较低的终端上也能实时运行。
附图说明
图1为本发明的一种基于梯度的眼部状态检测方法的流程图;
图2为本发明实施例一的方法流程图;
图3为本发明实施例一中的68个人脸特征点的检测示意图;
图4为本发明实施例一中的68个人脸特征点的序号示意图;
图5为本发明实施例一中的眼部梯度示意图。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图详予说明。
请参阅图1,一种基于梯度的眼部状态检测方法,包括:
依序获取一帧待测图像作为当前帧图像;
通过人脸检测算法和人脸特征点标定算法,在所述当前帧图像中标定得到眼部标定点,并记录所述眼部标定点的位置;
计算当前帧图像的梯度信息,得到当前帧图像对应的梯度图;
根据所述对应的梯度图,判断当前帧图像中的两只眼睛是否均处于预设的初始状态;
若否,则继续执行所述依序获取一帧待测图像作为当前帧图像的步骤;
若是,则获取下一帧待测图像作为当前帧图像;
通过人脸检测算法和人脸特征点标定算法,在所述当前帧图像中标定得到眼部标定点;
计算当前帧图像中的梯度信息,得到当前帧图像对应的梯度图;
根据上一帧图像中的各眼部标定点校准后的位置,在当前帧图像对应的梯度图中对当前帧图像中的各眼部标定点进行校准,得到当前帧图像中的各眼部标定点校准后的位置;
根据当前帧图像中同一只眼睛的各眼部标定点校准后的位置,计算所述同一只眼睛对应的眼部张合角度。
从上述描述可知,本发明的有益效果在于:有效改进了眼部轮廓的标定,且不受佩戴眼镜的影响,提高了眼部状态检测的效果。
进一步地,所述通过人脸检测算法和人脸特征点标定算法,在所述当前帧图像中标定得到眼部标定点,并记录位置所述眼部标定点的位置具体为:
通过人脸检测算法,在所述当前帧图像中识别得到人脸区域;
通过人脸特征点标定算法,在所述人脸区域中标定得到眼部标定点;
以待测图像的左上角为原点,水平向右方向为X轴正方向,竖直向下方向为Y轴正方向,建立二维直角坐标系;
记录所述眼部标定点的位置的坐标值。
由上述描述可知,基于待测图像建立直角坐标系,保证坐标系的统一性。
进一步地,所述计算当前帧图像的梯度信息,得到当前帧图像对应的梯度图具体为:
基于Sobel算子分别计算当前帧图像对应的水平梯度图和垂直梯度图;
将所述水平梯度图和垂直梯度图进行加权求和,得到当前帧图像对应的梯度图。
进一步地,所述根据所述对应的梯度图,判断当前帧图像中的两只眼睛是否均处于预设的初始状态具体为:
若同一只眼睛的位于眼角的眼部标定点为水平方向上预设范围内的梯度极大值点,且所述同一只眼睛的其他眼部标定点为竖直方向上预设范围内的梯度极大值点,则判定所述同一只眼睛处于初始状态。
由上述描述可知,当眼部标定点处于局部梯度极值点时,则认为眼部标定点处于眼睑轮廓曲线上,即认为眼睛处于预设的初始状态。
进一步地,所述根据所述对应的梯度图,判断当前帧图像中的两只眼睛是否均处于预设的初始状态具体为:
在当前帧图像对应的梯度图中对当前帧图像中的各眼部标定点进行校准,得到各眼部标定点校准后的位置;
计算同一只眼睛的各眼部标定点校准前后的位置的距离误差总和;
根据所述同一只眼睛的各眼部标定点校准后的位置,获取最大水平坐标值和最小水平坐标值,并计算所述最大水平坐标值和最小水平坐标值的差值,得到所述同一只眼睛的水平坐标跨度;
若同一只眼睛的距离误差总和除以水平坐标跨度得到的值小于预设的阈值,则判定所述同一只眼睛处于预设的初始状态。
由上述描述可知,当校准前后的位置没有太大改动时,则认为眼部标定点处于眼睑轮廓曲线上,即认为眼睛处于预设的初始状态。
进一步地,所述根据上一帧图像中的各眼部标定点校准后的位置,在当前帧图像对应的梯度图中对当前帧图像中的各眼部标定点进行校准,得到当前帧图像中的各眼部标定点校准后的位置具体为:
根据上一帧图像中的各眼部标定点校准后的位置,在当前帧图像对应的梯度图中分别将上一帧图像中的各眼部标定点与当前帧图像中的各眼部标定点一一对应连接,得到各眼部标定点对应的连线;
分别在各眼部标定点对应的连线上获取梯度极大值点,作为当前帧图像中的各眼部标定点校准后的位置。
由上述描述可知,通过将眼部标定点往人眼梯度处较准,避免出现眼部标定点偏离眼皮的情况,即让眼部标定点尽量落在眼睑轮廓曲线上。
进一步地,所述根据当前帧图像中同一只眼睛的各眼部标定点校准后的位置,计算所述同一只眼睛对应的眼部张合角度具体为:
根据当前帧图像中同一只眼睛的各眼部标定点校准后的位置,获取最大水平坐标值、最大竖直坐标值、最小水平坐标值和最小竖直坐标值;
根据第一公式计算所述同一只眼睛对应的眼部张合角度,所述第一公式为θ=arctan(ymax-ymin)/(xmax-xmin),θ为眼部张合角度,ymax为所述最大竖直坐标值,ymin为所述最小竖直坐标值,xmax为所述最大水平坐标值,xmin为所述最小水平坐标值。
由上述描述可知,第一公式即估算眼睛区域的张角,arctan为反三角函数,当眼睛闭合时,ymax=ymin,θ为0;其他情况θ随眼睛张开的角度变大而变大。
进一步地,所述获取下一帧待测图像作为当前帧图像之后,进一步包括:
判断上一帧图像中是否存在人脸;
若不存在,则判断当前帧图像中的两只眼睛是否均处于预设的初始状态;
若存在,则执行所述通过人脸检测算法和人脸特征点标定算法,在所述当前帧图像中标定得到眼部标定点的步骤。
由上述描述可知,若上一帧图像不存在人脸,则表示在得到处于初始状态的图像后,被拍摄的人的人脸离开了镜头又重新入镜,此时需要重新寻找处于初始状态的图像。
本发明还提出一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上所述的方法的步骤。
实施例一
请参照图2-5,本发明的实施例一为:一种基于梯度的眼部状态检测方法,可应用于用户佩戴眼镜时的眨眼人机交互,如图2所述,包括如下步骤:
S1:依序获取一帧待测图像作为当前帧图像,即通过摄像头采集连续的待测图像,并依序获取一帧待测图像作为当前帧图像。
S2:通过人脸检测算法,在所述当前帧图像中识别得到人脸区域。进一步地,若未检测到人脸,则获取下一帧待测图像,即返回执行步骤S1。
本实施例中的人脸检测算法可采用dlib、mtcnn等算法。
S3:通过人脸特征点标定算法,在所述人脸区域中标定得到眼部标定点,并记录位置所述眼部标定点的位置。
本实施例中,采用dlib的68点标定来进行人脸特征点的标定,其中,68个人脸特征点的示意图如图3所示;68个人脸特征点的序号如图4所示。可以看出,每个眼睛分别对应6个眼部标定点,其中,左边眼睛的标定点序号为37-42,右边眼睛的标定点序号为43-48。
本实施例中,以待测图像的左上角为原点,水平向右方向为X轴正方向,竖直向下方向为Y轴正方向,建立二维直角坐标系。本步骤即记录当前帧图像中的各眼部标定点的坐标值。
S4:计算当前帧图像中的梯度信息,得到当前帧图像对应的梯度图。
具体地,基于Sobel(索贝尔)算子分别求取当前帧图像的水平梯度图和垂直梯度图,然后将水平梯度图和垂直梯度图进行加权求和,得到当前帧图像的梯度图。
优选地,可先根据眼部标定点确定出预设大小的人眼区域,然后仅对人眼区域图像进行梯度计算,得到眼部梯度图,如图5所示。
S5:根据当前帧图像对应的梯度图,判断当前帧图像中的两只眼睛是否均处于预设的初始状态,若是,则执行步骤S6,若否,则继续获取下一帧待测图像并判断是否处于初始状态,即执行步骤S1-S5。
本实施例中,预设的初始状态为睁开,这是由于目前业内算法在用户双眼睁开的情况下标定效果都比较好,所以认为双眼睁开的状态为标准状态。此时眼部标定点基本上都落在眼部梯度图上。但现实中往往需要用户配合才能在第一帧图像中达到理想的初始状态,这样会降低用户体验。因此,本实施例中可采用下述两种用户无感的初始状态检测方法中的任意一种来进行本步骤的判断。
第一种方法,若当前帧图像中的同一只眼睛的位于眼角的眼部标定点为水平方向上预设范围内的梯度极大值点,且所述同一只眼睛的其他眼部标定点为竖直方向上预设范围内的梯度极大值点,则判定所述同一只眼睛处于初始状态。
例如,对于左眼,位于眼角位置的眼部标定点即图4中序号为37和40的标定点,位于非眼角位置的眼部标定点即图4中序号为38、39、41、42的标定点;因此,若序号为37和40的眼部标定点在水平方向上均为局部梯度极大值点,即与其左边m个点和右边m个点相比,其梯度值最大,且序号为38、39、41、42的眼部标定点在竖直方向上均为局部梯度极大值点,即与其上方m个点和下方m个点相比,其梯度值最大,则认为左眼处于初始状态。
优选地,所述m=3。同理,判断右眼是否处于初始状态。
第二种方法,包括如下步骤:
S501:在当前帧图像对应的梯度图中对当前帧图像中的各眼部标定点进行校准,得到各眼部标定点校准后的位置;该步骤可参照下述步骤S11。
S502:计算同一只眼睛的各眼部标定点校准前后的位置的距离误差总和。
具体地,分别根据同一只眼睛的各眼部标定点校准前后的坐标值,计算各眼部标定点的距离误差,然后将同一只眼睛的各眼部标定点的距离误差相加,即可得到所述同一只眼睛的距离误差总和。
S503:根据所述同一只眼睛的各眼部标定点校准后的位置,计算所述同一只眼睛的水平坐标跨度。
具体地,从所述同一只眼睛的各眼部标定点校准后的坐标值中获取最大水平坐标值和最小水平坐标值,然后计算所述最大水平坐标值和最小水平坐标值的差值,即可得到所述同一只眼睛的水平坐标跨度。
S504:将所述同一只眼睛的距离误差总和除以所述同一只眼睛的水平坐标跨度,并判断得到的商值是否小于预设的阈值,若是,则判定所述同一只眼睛处于初始状态,若否,则判定所述同一只眼睛没有处于初始状态。其中,通过除以水平坐标跨度,达到归一化的作用。
优选地,所述阈值为0.01。同理,判断另一只眼睛是否处于初始状态。
S6:获取下一帧待测图像作为当前帧图像。
S7:判断上一帧图像中是否存在人脸,若是,则执行步骤S8,若否,则表示在得到处于初始状态的图像后,被拍摄的人的人脸离开了镜头又重新入镜,此时需要重新寻找处于初始状态的图像,即返回执行步骤S2。
S8:通过人脸检测算法,在所述当前帧图像中识别得到人脸区域。进一步地,若未检测到人脸,则获取下一帧待测图像,即返回执行步骤S6。
S9:通过人脸特征点标定算法,在所述人脸区域中标定得到眼部标定点。该步骤可参照步骤S3。
S10:计算当前帧图像中的梯度信息,得到当前帧图像对应的梯度图。该步骤可参照步骤S4。
S11:根据上一帧图像中的各眼部标定点校准后的位置,在当前帧图像对应的梯度图中对当前帧图像中的各眼部标定点进行校准,得到当前帧图像中的各眼部标定点校准后的位置。
具体地,根据上一帧图像中的各眼部标定点校准后的位置(若上一帧图像为初始状态的图像且在步骤S5中采用第一种初始状态检测方法,则直接获取上一帧图像中的各眼部标定点的位置),在当前帧图像对应的梯度图中分别将上一帧图像中的各眼部标定点与当前帧图像中的各眼部标定点一一对应连接,得到各眼部标定点对应的连线;然后分别在各眼部标定点对应的连线上获取梯度极大值点,作为各眼部标定点校准后的位置。
本步骤即根据上一帧图像中的各眼部标定点校准后的坐标值,确定上一帧图像中的各眼部标定点在当前帧图像对应的梯度图中的位置,然后在梯度图中将上一帧图像和当前帧图像中对应同一标定点序号的眼部标定点一一对应连接,得到各眼部标定点对应的连线;然后分别在各眼部标定点对应的连线上获取梯度值最大的点,作为各眼部标定点校准后的位置。
本步骤通过将眼部标定点往人眼梯度处较准,避免出现眼部标定点偏离眼皮的情况(如图3中右眼的眼部标定点),即让眼部标定点尽量落在眼睑轮廓曲线上。
S12:根据当前帧图像中同一只眼睛的各眼部标定点校准后的位置,计算所述同一只眼睛对应的眼部张合角度。
具体地,从当前帧图像中同一只眼睛的各眼部标定点校准后的位置的坐标值中获取最大水平坐标值xmax、最大竖直坐标值ymax、最小水平坐标值xmin和最小竖直坐标值ymin,然后根据下述的第一公式计算所述同一只眼睛对应的眼部张合角度θ。
第一公式:θ=arctan(ymax-ymin)/(xmax-xmin)
第一公式即估算眼睛区域的张角,arctan为反三角函数,当眼睛闭合时,ymax=ymin,θ为0;其他情况θ随眼睛张开的角度变大而变大。
当本实施例应用于眨眼控制机器人时,眼部状态不单单检测眼睛是否闭合的二值情况,而是直接求得眼睛睁开的角度,是连续取值。因此,后续直接将θ作为眼部状态输出给机器人设备,机器人设备可以直接接收θ来控制机器人眼睛的张开角度。
当当前帧图像中两只眼睛的眼部张合角度计算完后,继续获取下一帧图像进行眼部状态检测,即继续执行步骤S6。
本实施例在人脸特征点标定算法的基础上,在梯度图上跟踪眼部标定点的运动并对眼部标定点进行校准,有效改进了眼部轮廓的标定,且不受佩戴眼镜的影响,提高了眼部状态检测的效果,同时算法复杂度低,在一些计算机较低的终端上也能实时运行。
实施例二
本实施例是对应上述实施例的一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如下步骤:
依序获取一帧待测图像作为当前帧图像;
通过人脸检测算法和人脸特征点标定算法,在所述当前帧图像中标定得到眼部标定点,并记录所述眼部标定点的位置;
计算当前帧图像的梯度信息,得到当前帧图像对应的梯度图;
根据所述对应的梯度图,判断当前帧图像中的两只眼睛是否均处于预设的初始状态;
若否,则继续执行所述依序获取一帧待测图像作为当前帧图像的步骤;
若是,则获取下一帧待测图像作为当前帧图像;
通过人脸检测算法和人脸特征点标定算法,在所述当前帧图像中标定得到眼部标定点;
计算当前帧图像中的梯度信息,得到当前帧图像对应的梯度图;
根据上一帧图像中的各眼部标定点校准后的位置,在当前帧图像对应的梯度图中对当前帧图像中的各眼部标定点进行校准,得到当前帧图像中的各眼部标定点校准后的位置;
根据当前帧图像中同一只眼睛的各眼部标定点校准后的位置,计算所述同一只眼睛对应的眼部张合角度。
进一步地,所述通过人脸检测算法和人脸特征点标定算法,在所述当前帧图像中标定得到眼部标定点,并记录位置所述眼部标定点的位置具体为:
通过人脸检测算法,在所述当前帧图像中识别得到人脸区域;
通过人脸特征点标定算法,在所述人脸区域中标定得到眼部标定点;
以待测图像的左上角为原点,水平向右方向为X轴正方向,竖直向下方向为Y轴正方向,建立二维直角坐标系;
记录所述眼部标定点的位置的坐标值。
进一步地,所述计算当前帧图像的梯度信息,得到当前帧图像对应的梯度图具体为:
基于Sobel算子分别计算当前帧图像对应的水平梯度图和垂直梯度图;
将所述水平梯度图和垂直梯度图进行加权求和,得到当前帧图像对应的梯度图。
进一步地,所述根据所述对应的梯度图,判断当前帧图像中的两只眼睛是否均处于预设的初始状态具体为:
若同一只眼睛的位于眼角的眼部标定点为水平方向上预设范围内的梯度极大值点,且所述同一只眼睛的其他眼部标定点为竖直方向上预设范围内的梯度极大值点,则判定所述同一只眼睛处于初始状态。
进一步地,所述根据所述对应的梯度图,判断当前帧图像中的两只眼睛是否均处于预设的初始状态具体为:
在当前帧图像对应的梯度图中对当前帧图像中的各眼部标定点进行校准,得到各眼部标定点校准后的位置;
计算同一只眼睛的各眼部标定点校准前后的位置的距离误差总和;
根据所述同一只眼睛的各眼部标定点校准后的位置,获取最大水平坐标值和最小水平坐标值,并计算所述最大水平坐标值和最小水平坐标值的差值,得到所述同一只眼睛的水平坐标跨度;
若同一只眼睛的距离误差总和除以水平坐标跨度得到的值小于预设的阈值,则判定所述同一只眼睛处于预设的初始状态。
进一步地,所述根据上一帧图像中的各眼部标定点校准后的位置,在当前帧图像对应的梯度图中对当前帧图像中的各眼部标定点进行校准,得到当前帧图像中的各眼部标定点校准后的位置具体为:
根据上一帧图像中的各眼部标定点校准后的位置,在当前帧图像对应的梯度图中分别将上一帧图像中的各眼部标定点与当前帧图像中的各眼部标定点一一对应连接,得到各眼部标定点对应的连线;
分别在各眼部标定点对应的连线上获取梯度极大值点,作为当前帧图像中的各眼部标定点校准后的位置。
进一步地,所述根据当前帧图像中同一只眼睛的各眼部标定点校准后的位置,计算所述同一只眼睛对应的眼部张合角度具体为:
根据当前帧图像中同一只眼睛的各眼部标定点校准后的位置,获取最大水平坐标值、最大竖直坐标值、最小水平坐标值和最小竖直坐标值;
根据第一公式计算所述同一只眼睛对应的眼部张合角度,所述第一公式为θ=arctan(ymax-ymin)/(xmax-xmin),θ为眼部张合角度,ymax为所述最大竖直坐标值,ymin为所述最小竖直坐标值,xmax为所述最大水平坐标值,xmin为所述最小水平坐标值。
进一步地,所述获取下一帧待测图像作为当前帧图像之后,进一步包括:
判断上一帧图像中是否存在人脸;
若不存在,则判断当前帧图像中的两只眼睛是否均处于预设的初始状态;
若存在,则执行所述通过人脸检测算法和人脸特征点标定算法,在所述当前帧图像中标定得到眼部标定点的步骤。
综上所述,本发明提供的一种基于梯度的眼部状态检测方法及计算机可读存储介质,在人脸特征点标定算法的基础上,在梯度图上跟踪眼部标定点的运动并对眼部标定点进行校准,有效改进了眼部轮廓的标定,且不受佩戴眼镜的影响,提高了眼部状态检测的效果,同时算法复杂度低,在一些计算机较低的终端上也能实时运行。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种基于梯度的眼部状态检测方法,其特征在于,包括:
依序获取一帧待测图像作为当前帧图像;
通过人脸检测算法和人脸特征点标定算法,在所述当前帧图像中标定得到眼部标定点,并记录所述眼部标定点的位置;
计算当前帧图像的梯度信息,得到当前帧图像对应的梯度图;
根据所述对应的梯度图,判断当前帧图像中的两只眼睛是否均处于预设的初始状态;
若否,则继续执行所述依序获取一帧待测图像作为当前帧图像的步骤;
若是,则获取下一帧待测图像作为当前帧图像;
通过人脸检测算法和人脸特征点标定算法,在所述当前帧图像中标定得到眼部标定点;
计算当前帧图像中的梯度信息,得到当前帧图像对应的梯度图;
根据上一帧图像中的各眼部标定点校准后的位置,在当前帧图像对应的梯度图中对当前帧图像中的各眼部标定点进行校准,得到当前帧图像中的各眼部标定点校准后的位置;
根据当前帧图像中同一只眼睛的各眼部标定点校准后的位置,计算所述同一只眼睛对应的眼部张合角度;
所述根据当前帧图像中同一只眼睛的各眼部标定点校准后的位置,计算所述同一只眼睛对应的眼部张合角度具体为:
根据当前帧图像中同一只眼睛的各眼部标定点校准后的位置,获取最大水平坐标值、最大竖直坐标值、最小水平坐标值和最小竖直坐标值;
根据第一公式计算所述同一只眼睛对应的眼部张合角度,所述第一公式为θ=arctan(ymax-ymin)/(xmax-xmin),θ为眼部张合角度,ymax为所述最大竖直坐标值,ymin为所述最小竖直坐标值,xmax为所述最大水平坐标值,xmin为所述最小水平坐标值。
2.根据权利要求1所述的基于梯度的眼部状态检测方法,其特征在于,所述通过人脸检测算法和人脸特征点标定算法,在所述当前帧图像中标定得到眼部标定点,并记录位置所述眼部标定点的位置具体为:
通过人脸检测算法,在所述当前帧图像中识别得到人脸区域;
通过人脸特征点标定算法,在所述人脸区域中标定得到眼部标定点;
以待测图像的左上角为原点,水平向右方向为X轴正方向,竖直向下方向为Y轴正方向,建立二维直角坐标系;
记录所述眼部标定点的位置的坐标值。
3.根据权利要求1所述的基于梯度的眼部状态检测方法,其特征在于,所述计算当前帧图像的梯度信息,得到当前帧图像对应的梯度图具体为:
基于Sobel算子分别计算当前帧图像对应的水平梯度图和垂直梯度图;
将所述水平梯度图和垂直梯度图进行加权求和,得到当前帧图像对应的梯度图。
4.根据权利要求1所述的基于梯度的眼部状态检测方法,其特征在于,所述根据所述对应的梯度图,判断当前帧图像中的两只眼睛是否均处于预设的初始状态具体为:
若同一只眼睛的位于眼角的眼部标定点为水平方向上预设范围内的梯度极大值点,且所述同一只眼睛的其他眼部标定点为竖直方向上预设范围内的梯度极大值点,则判定所述同一只眼睛处于初始状态。
5.根据权利要求1所述的基于梯度的眼部状态检测方法,其特征在于,所述根据所述对应的梯度图,判断当前帧图像中的两只眼睛是否均处于预设的初始状态具体为:
在当前帧图像对应的梯度图中对当前帧图像中的各眼部标定点进行校准,得到各眼部标定点校准后的位置;
计算同一只眼睛的各眼部标定点校准前后的位置的距离误差总和;
根据所述同一只眼睛的各眼部标定点校准后的位置,获取最大水平坐标值和最小水平坐标值,并计算所述最大水平坐标值和最小水平坐标值的差值,得到所述同一只眼睛的水平坐标跨度;
若同一只眼睛的距离误差总和除以水平坐标跨度得到的值小于预设的阈值,则判定所述同一只眼睛处于预设的初始状态。
6.根据权利要求1或5所述的基于梯度的眼部状态检测方法,其特征在于,所述根据上一帧图像中的各眼部标定点校准后的位置,在当前帧图像对应的梯度图中对当前帧图像中的各眼部标定点进行校准,得到当前帧图像中的各眼部标定点校准后的位置具体为:
根据上一帧图像中的各眼部标定点校准后的位置,在当前帧图像对应的梯度图中分别将上一帧图像中的各眼部标定点与当前帧图像中的各眼部标定点一一对应连接,得到各眼部标定点对应的连线;
分别在各眼部标定点对应的连线上获取梯度极大值点,作为当前帧图像中的各眼部标定点校准后的位置。
7.根据权利要求1所述的基于梯度的眼部状态检测方法,其特征在于,所述获取下一帧待测图像作为当前帧图像之后,进一步包括:
判断上一帧图像中是否存在人脸;
若不存在,则判断当前帧图像中的两只眼睛是否均处于预设的初始状态;
若存在,则执行所述通过人脸检测算法和人脸特征点标定算法,在所述当前帧图像中标定得到眼部标定点的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011110030.XA CN112347860B (zh) | 2020-10-16 | 2020-10-16 | 基于梯度的眼部状态检测方法及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011110030.XA CN112347860B (zh) | 2020-10-16 | 2020-10-16 | 基于梯度的眼部状态检测方法及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112347860A CN112347860A (zh) | 2021-02-09 |
CN112347860B true CN112347860B (zh) | 2023-04-28 |
Family
ID=74360979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011110030.XA Active CN112347860B (zh) | 2020-10-16 | 2020-10-16 | 基于梯度的眼部状态检测方法及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112347860B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103093215A (zh) * | 2013-02-01 | 2013-05-08 | 北京天诚盛业科技有限公司 | 人眼定位方法及装置 |
CN103632136A (zh) * | 2013-11-11 | 2014-03-12 | 北京天诚盛业科技有限公司 | 人眼定位方法和装置 |
CN104091155A (zh) * | 2014-07-04 | 2014-10-08 | 武汉工程大学 | 光照鲁棒的虹膜快速定位方法 |
CN108460345A (zh) * | 2018-02-08 | 2018-08-28 | 电子科技大学 | 一种基于人脸关键点定位的面部疲劳检测方法 |
CN110705468A (zh) * | 2019-09-30 | 2020-01-17 | 四川大学 | 基于图像分析的眼动范围识别方法和*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170119298A1 (en) * | 2014-09-02 | 2017-05-04 | Hong Kong Baptist University | Method and Apparatus for Eye Gaze Tracking and Detection of Fatigue |
-
2020
- 2020-10-16 CN CN202011110030.XA patent/CN112347860B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103093215A (zh) * | 2013-02-01 | 2013-05-08 | 北京天诚盛业科技有限公司 | 人眼定位方法及装置 |
CN103632136A (zh) * | 2013-11-11 | 2014-03-12 | 北京天诚盛业科技有限公司 | 人眼定位方法和装置 |
CN104091155A (zh) * | 2014-07-04 | 2014-10-08 | 武汉工程大学 | 光照鲁棒的虹膜快速定位方法 |
CN108460345A (zh) * | 2018-02-08 | 2018-08-28 | 电子科技大学 | 一种基于人脸关键点定位的面部疲劳检测方法 |
CN110705468A (zh) * | 2019-09-30 | 2020-01-17 | 四川大学 | 基于图像分析的眼动范围识别方法和*** |
Also Published As
Publication number | Publication date |
---|---|
CN112347860A (zh) | 2021-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103530599B (zh) | 一种真实人脸和图片人脸的区别方法和*** | |
CN105760826B (zh) | 一种人脸跟踪方法、装置和智能终端 | |
CN110580723B (zh) | 一种利用深度学习和计算机视觉进行精准定位的方法 | |
KR101169533B1 (ko) | 얼굴 자세 추정 장치, 얼굴 자세 추정 방법 및 얼굴 자세 추정 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 | |
KR101184097B1 (ko) | 얼굴 정면포즈 판단 방법 | |
JP4830650B2 (ja) | 追跡装置 | |
JP2015522200A (ja) | 人顔特徴点の位置決め方法、装置及び記憶媒体 | |
CN108381549A (zh) | 一种双目视觉引导机器人快速抓取方法、装置及存储介质 | |
EP2704056A2 (en) | Image processing apparatus, image processing method | |
CN112200056B (zh) | 人脸活体检测方法、装置、电子设备及存储介质 | |
KR20150127381A (ko) | 얼굴 특징점 추출 방법 및 이를 수행하는 장치 | |
CN113012224B (zh) | 定位初始化方法和相关装置、设备、存储介质 | |
CN105740751A (zh) | 一种目标检测与识别的方法和*** | |
JP4952267B2 (ja) | 3次元形状処理装置、3次元形状処理装置の制御方法、および3次元形状処理装置の制御プログラム | |
CN111126268A (zh) | 关键点检测模型训练方法、装置、电子设备及存储介质 | |
CN105824398A (zh) | 一种来电处理方法及移动终端 | |
CN110598647B (zh) | 一种基于图像识别的头部姿态识别方法 | |
CN114608521B (zh) | 单目测距方法及装置、电子设备和存储介质 | |
CN112347860B (zh) | 基于梯度的眼部状态检测方法及计算机可读存储介质 | |
CN106406507B (zh) | 图像处理方法以及电子设备 | |
CN108694348B (zh) | 一种基于自然特征的跟踪注册方法及装置 | |
CN116385538A (zh) | 一种面向动态场景的视觉slam方法、***及存储介质 | |
CN112257512B (zh) | 间接型眼部状态检测方法及计算机可读存储介质 | |
CN111881732B (zh) | 一种基于svm的人脸质量评价方法 | |
CN113223083A (zh) | 一种位置确定方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |