CN102930278A - 一种人眼视线估计方法及其装置 - Google Patents
一种人眼视线估计方法及其装置 Download PDFInfo
- Publication number
- CN102930278A CN102930278A CN2012103929754A CN201210392975A CN102930278A CN 102930278 A CN102930278 A CN 102930278A CN 2012103929754 A CN2012103929754 A CN 2012103929754A CN 201210392975 A CN201210392975 A CN 201210392975A CN 102930278 A CN102930278 A CN 102930278A
- Authority
- CN
- China
- Prior art keywords
- window
- face
- eye
- people
- coordinate
- 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.)
- Pending
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
本发明公开了一种人眼视线估计方法及其装置,涉及人机交互领域。通过对人脸区域进行眼部粗定位,先粗略选取脸部图像的1/2-7/8处为眼部区域;再通过混合积分投影函数确定人眼纵坐标位置,以获取人眼精确边界;在人眼精确边界进行瞳孔扫描,根据经验值确定一个和眼球大小相近的框对人眼精确边界内部进行窗口扫描,选取灰度值和最小的窗口为瞳孔,并将窗口中心作为瞳孔中心;利用角点匹配算法在人眼精确边界内部获取内眼角点坐标;将瞳孔中心坐标和内眼角点坐标值传入视线估计模型中,确定视线方向。本发明通过视线估计模型提高了视线估计的精度;通过设计的硬件结构实现了在高检测率的条件下,消耗较少资源。
Description
技术领域
本发明涉及人机交互领域,尤其涉及一种人眼视线估计方法及其装置。
背景技术
HCI(Human-Computer Interaction,人机交互)是研究人与计算机相互作用的技术,研究目的在于提高人机交流的自然性和高效性。眼睛作为人类面部最显著的特征,其运动在信息表达与交流中起到了非常重要的作用。因此,通过拍摄图像对人眼睛的信息进行提取和分析成为人机交互领域中的热点研究问题。
脸部特征点检测是决定一幅图像中人脸各个特征的位置和大小,它有着广泛的应用:监控追踪、人机交互、智能机器人以及视线估计等。1995年,Freund和Schapire提出AdaBoost算法,这种算法根据弱学习的反馈,适应性地调整假设的错误率,使在效率不降低的情况下,检测正确率得到了很大的提高。Viola提出将积分图应用到特征值的计算之中,使其计算速度大幅增加。
视线估计在很多领域比如人机交互、医学诊断、航空和助残等等都有着广阔的发展前景,因此近年来该技术得到了广泛的关注。常用的研究方法是通过设置参考点光源和三维重建技术来实现视线估计。
发明人在实现本发明的过程中,发现现有技术中至少存在以下缺点和不足:
1)由于上述算法本身的特性,使得获取到人脸检测结果的时间较长;
2)由于参考点光源需要复杂的实验设置以及严格的光照环境,限制了应用范围。
发明内容
本发明提供了一种人眼视线估计方法及其装置,本发明缩短了获取人脸检测结果的时间,扩大了应用范围,详见下文描述:
一种人眼视线估计方法,其特征在于,所述方法包括以下步骤:
(1)获取包含人脸的图像并进行位图转换,获取RGB位图;将RGB位图转换为灰度图和肤色二值图;
(2)将灰度图进行各级缩放,对每一级缩放后的图像进行窗口扫描,扫描窗口大小为20×20,并对扫描窗口中的灰度图进行积分图和平方积分图计算;
(3)通过积分图数据和平方积分图数据进行弱分类器计算,将同级弱分类器计算结果累加与对应的强分类器阈值比较,淘汰非人脸窗口;如果一个待选窗口通过所有的强分类器则判定为人脸图像;
(4)Nios II核处理器将识别为人脸的待选窗口进行合并,获取最终人脸区域;根据最终人脸区域、肤色二值图和肤色模型进行脸部区域精确定位,获取人脸区域;
(5)根据人脸区域进行眼部粗定位,先粗略选取脸部图像的1/2-7/8处为眼部区域;再通过混合积分投影函数确定人眼纵坐标位置,以获取人眼精确边界;
(6)对人眼精确边界进行窗口扫描,根据经验值确定一个和眼球大小相近的框对人眼精确边界进行扫描,选取灰度值和最小的窗口为瞳孔,并将窗口中心作为瞳孔中心;
(7)以获得的瞳孔中心为基准,截取包含内眼角的内眼角窗口并对内眼角窗口进行灰度等级拉伸预处理,然后利用Susan算子及角点检测算子,在内眼角窗口中提取候选内眼角点,最后筛选出正确内眼角点坐标;
(8)将瞳孔中心的坐标和正确内眼角点坐标传入PC机的视线估计模型中,确定视线方向。
所述将识别为人脸的待选窗口进行合并具体为:
1)当第二个人脸框与第一个人脸框相距不到第一个人脸框宽的1/2时,将第一个人脸框和第二个人脸框合并为一类,当满足条件时依次进行其他人脸框和第一个人脸框的合并;
2)将人脸框数目大于阈值的类进行人脸最终区域的计算。
所述将人脸框数目大于阈值的类进行人脸最终区域的计算具体为:
将所有框的对应左上角点坐标进行求平均值计算,将计算结果作为整合框的左上角点坐标,再依次进行右上角点、左下角点和右下角点坐标的计算,至此上述四点的坐标即可确定人脸最终区域。
所述肤色模型具体为:(Cg,Cb,Cr为肤色二值图);
Cr∈[260-Cg,280-Cg]
Cg∈[85,135]
所述视线估计模型具体为:
(xs,ys)为屏幕注视点坐标,(xp,yp)为照片中的瞳孔坐标,H为屏幕和照片投影平面间的矩阵,P为照片中的瞳孔中心。
所述在内眼角窗口中提取候选内眼角点,最后筛选出正确内眼角点坐标具体为:
1)如果只有一个候选角点,则候选角点即为正确内眼角点;
2)如果有两个候选角点,则选择距瞳孔中心最远的角点为正确内眼角点;
3)如果有三个或三个以上候选角点,则根据如下算法进行筛选:
T={(x,y)|(Xmax-x)<5∩(y-Ymin)<5,(x,y)∈S}
Cx=mean(Tx) Cy=mean(Ty)
其中,S为候选角点集合,Xmax为S中所有的点横坐标的最大值,Ymin为S中所有的点纵坐标的最小值,T为S中与点(Xmax,Ymin)的横纵坐标均相差不大于5个像素的点的集合,点(Cx,Cy)即为所选正确内眼角点坐标;mean表示取平均值。
一种人眼视线估计装置,包括:
人脸图像获取模块,用于获取人脸图像;
位图转换模块,用于对人脸图像进行位图转换,获取RGB位图;
灰度图模块,用于将RGB位图转换为灰度图;
肤色二值图模块,用于将RGB位图转换为肤色二值图;
积分图模块,用于进行积分图和平方积分图计算,获取积分图数据和平方积分图数据;
弱分类器计算模块,用于对积分图数据和平方积分图数据进行计算并淘汰非人脸窗口;
Nios II核处理器,用于人脸窗口的合并,并获取最终人脸区域;根据最终人脸区域、肤色二值图和肤色模型进行脸部区域精确定位,获取人脸区域;
眼部特征点检测模块,用于根据人脸区域进行眼部粗定位,选取脸部图像的1/2-7/8处为眼部区域;通过混合积分投影函数确定人眼坐标位置,获取人眼精确边界;对人眼精确边界进行窗口扫描,根据经验值确定一个和眼球大小相近的框对人眼精确边界进行扫描,选取灰度值和最小的窗口为瞳孔,并将窗口中心作为瞳孔中心,获取正确内眼角点坐标;将瞳孔中心的坐标和正确内眼角点坐标传入PC机的视线估计模型中,确定视线方向。
所述肤色二值图模块是由Cg-Cb和Cg-Cr两组分割器的结果进行逻辑与得到的,硬件设计为:将Cg、Cb分别与107、110做绝对值减法,经过两级流水线实现,结果用1bit来表示,32个像素点的结果进行拼接,存储到缓存中。
所述积分图模块使用四级流水线实现,首先,积分图计算部分延迟一个周期,在此周期内进行灰度值的平方运算;在第二级中,将当前像素的值与左累加寄存器做加法,结果保存到左累加寄存器中,并把相应位置的地址送到行缓存的地址寄存器中;在第三级中,将读出的数据和左累加寄存器做加法;在第四级中,将当前位置的计算结果输出并写回到行缓存中,以供下一行计算使用。
所述弱分类器计算模块采用了三级并行的硬件架构:
(1)窗口间任务级并行:四个待检窗口同时进行扫描,第一个窗口设定流水线切分时序和读取弱分类器信息,其余三个窗口在时序上与第一个窗口对齐,并且共享第一个窗口读出的弱分类器信息;
(2)窗口内任务级并行:每个窗口内部有三条流水线同时计算弱分类器,根据两种弱分类器的个数,由两条流水线计算两个矩形的弱分类器,由第三条流水线计算三个矩形的弱分类器;
(3)数据级并行:单条流水线结构划分为7级,每个周期计算一个弱分类器。
本发明提供的技术方案的有益效果是:本发明通过视线估计模型提高了视线估计的精度;本发明所设计的硬件结构在保证高检测率的条件下,消耗的资源较少,硬件***消耗了12,181个逻辑单元(LE),91个9位的乘法器,1,507,176位存储空间;针对640×480分辨率的图像,检测速率为12帧/秒,针对320×240分辨率的图像,检测速率为41帧/秒。
附图说明
图1为视线估计模型的示意图;
图2为一种人眼视线估计方法的流程图;
图3人眼视线估计装置结构图;
图4位图转换模块硬件结构;
图5肤色二值图转换硬件结构;
图6积分图计算的流水线结构图;
图7弱分类器计算的流水线结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
为了缩短获取人脸检测结果的时间,扩大应用范围,本发明实施例提供了一种人眼视线估计方法及其装置,详见下文描述:
随着后PC时代的到来,SoC(System On-Chip,嵌入式片上***)取得了长足的发展和进步,在更小的芯片上可以集成更多、更快的以处理器为核心的复杂功能单元,这使得设计更高性能的SoC逐步成为可能,因此AdaBoost算法的硬件实现是一种提高计算速度的有效途径。
一种人眼视线估计方法,参见图1和图2,包括以下步骤:
101:获取包含人脸的图像并进行位图转换,获取RGB位图;将RGB位图转换为灰度图和肤色二值图;
102:将灰度图进行各级缩放,对每一级缩放后的图像进行窗口扫描,扫描窗口大小为20×20,并对扫描窗口中的灰度图进行积分图和平方积分图计算;
其中,本方法采用缩放系数为1.25,具体实现时,根据实际应用中的需要进行设定,本发明实施例对此不做限制。
103:通过积分图数据和平方积分图数据进行弱分类器计算,将同级弱分类器计算结果累加与对应的强分类器阈值比较,淘汰非人脸窗口;如果一个待选窗口通过所有的强分类器则判定为人脸图像;
本方法使用OpenCV库训练好的弱分类器,在训练的过程中,样本集包括大量的人脸图像和非人脸图像,将每种Haar特征的每种尺寸扫描完样本集中每幅图像的所有位置,挑选出对人脸图像和非人脸图像具有最好区分度的Haar特征,最终得到弱分类器,由若干个弱分类器组合得到各级强分类器,强分类器的阈值由弱分类器共同决定。
本方法使用的弱分类器基于20×20的样本集图像,最终得到两个矩形表示的弱分类器1775个,三个矩形表示的弱分类器360个,这些弱分类器组成22级强分类器,如果一个待选窗口通过所有的强分类器则判定为人脸图像。
104:Nios II核处理器将识别为人脸的待选窗口进行合并,获取最终人脸区域;根据最终人脸区域、肤色二值图和肤色模型进行脸部区域精确定位,获取人脸区域;
其中,一副图像经过步骤103检测过后,输出的结果往往会出现交错和包含等现象,即大的人脸框里包含了小的人脸框或两个人脸框的位置相差并不大并且都包含了同一个人脸。在这种情况下,就需要一种整合算法把包含同一个人脸的人脸框合并在一起,以便获得最终的检测结果。
其中,将识别为人脸的待选窗口进行合并具体为:
1)当第二个人脸框与第一个人脸框相距不到第一个人脸框宽的1/2时,将第一个人脸框和第二个人脸框合并为一类,当满足条件时依次进行其他人脸框和第一个人脸框的合并;
2)将人脸框数目大于阈值的类进行人脸最终区域的计算。
该步骤具体为:将所有框的对应左上角点坐标进行求平均值计算,将计算结果作为整合框的左上角点坐标,再依次进行右上角点、左下角点和右下角点坐标的计算,至此上述四点的坐标即可确定人脸最终区域。
实际应用时具体实现为:首先设定一个判定条件来判定哪些人脸框是相近的人脸框,然后将这些相近的人脸框归为一类,本方法认为只要第二个人脸框与第一个人脸框相距不到第一个人脸框宽的1/2,那么他们就是相近的,就应该合并为一类。同时设定一个阈值(本方法以5为例进行说明,具体实现时,根据实际应用中的需要进行设定,本发明实施例对此不做限制),表明如果某一类中有至少五个人脸框,本方法认为它就是人脸的位置了,否则,就放弃这一类人脸框。然后对人脸框数目大于5的类进行合并计算,计算方法是将所有框的对应左上角点坐标进行求平均值计算,将计算结果作为整合框的左上角点坐标,再依次进行右上角点、左下角点和右下角点坐标的计算,至此上述四点的坐标即可确定人脸最终区域。
其中,肤色模型具体为:(Cg,Cb,Cr为肤色二值图)
Cr∈[260-Cg,280-Cg]
Cg∈[85,135]
即满足肤色模型的判定为人脸区域,不满足肤色模型的为非人脸区域。
105:根据人脸区域进行眼部粗定位,先粗略选取脸部图像的1/2-7/8处为眼部区域;再通过混合积分投影函数确定人眼纵坐标位置,以获取人眼精确边界;
其中,混合积分投影函数具体为:
设在区间[y1,y2]内的水平混合投影函数为H(y),则其表达式为:
H(y)=0.4×(1-M′(y))+0.6×D′(y)
其中,参数0.4和0.6根据实际计算效果指定,具体实现时根据实际应用中的需要进行设定。
106:对人眼精确边界进行窗口扫描,根据经验值确定一个和眼球大小相近的框对人眼精确边界进行扫描,选取灰度值和最小的窗口为瞳孔,并将窗口中心作为瞳孔中心;
其中,对人眼精确边界进行扫描时,可采用步长为1像素,从左到右、从上到下进行扫描,直至覆盖整个人眼精确边界。具体实现时,还可以采用其他的扫描顺序,只要覆盖整个扫描区域即可。
107:以获得的瞳孔中心为基准,截取包含内眼角的内眼角窗口并对内眼角窗口进行灰度等级拉伸预处理,然后利用Susan算子及角点检测算子,在内眼角窗口中提取候选内眼角点,最后筛选出正确内眼角点坐标;
其中,该步骤具体为:
1)截取包含内眼角的内眼角窗口并对内眼角窗口进行灰度等级拉伸预处理;
设眼睛矩形区域尺寸为M×N(M行N列),瞳孔中心的坐标为(x0,y0),瞳孔半径r=M/8,设定任意参数fixY=N/3。
以左眼为例,结合眼睛先验规则设定内眼角窗口的上边界top=y0+fixY;下边界bottom=y0-fixY;左边界left=x0+r-1;右边界right=left+N/3。
同理,可设定右眼内眼角窗口如下:top=y0+fixY;bottom=y0-fixY;left=right-N/3;right=x0-r+1。
眼睛移动会造成眼角亮度变化,影响Susan算子的执行效果,为此对眼角窗口进行灰度等级拉伸变换,公式如下所示
其中,f(x,y)为原灰度图像,其灰度范围为[a,b];灰度等级拉伸后图像g(x,y)的灰度范围为本文中取a=10,b=140,可得到较好的效果。
2)确定Susan算法中灰度亮度差门限t和非极大值抑制门限g;
利用均方差来确定灰度亮度差门限t,针对不同光照强度的图像,t值可进行自适应调整。假设I(x,y)表示灰度等级拉伸后点错误!未找到引用源。处像素的灰度值,均值μ与方差σ2的数学表述如下所示:
其中,M为图像高度,N为图像宽度,单位均为像素。本文中设定t=σ,nmax是n(x0)所能达到的最大值,本文选取圆形模板大小为7×7,即nmax=37。然后利用Susan算子检测内眼角窗口的边缘图(SA),然后利用内眼角检测算子(CF)对内眼角窗口边缘图进行卷积运算,取最大值处作为眼角的候选位置。
内眼角检测算子具体为:
a.左眼角检测算子 b.右眼角检测算子
卷积计算公式为:
最后,通过内眼角点提取算法得出内眼角点坐标。
正确内眼角点提取算法具体描述为:
由于由内眼角定位算子定位的内眼角候选点通常多于两个,为此根据内眼角在眼角窗口中的位置特征筛选正确内眼角点,具体实现方法如下:
(1)如果只有一个候选角点,则候选角点即为正确内眼角点;
(2)如果有两个候选角点,则选择距瞳孔中心最远的角点为正确内眼角点;
(3)如果有三个或三个以上候选角点,则根据如下算法进行筛选:
T={(x,y)|(Xmax-x)<5∩(y-Ymin)<5,(x,y)∈S}
Cx=mean(Tx) Cy=mean(Ty)
其中,S为候选角点集合,Xmax为S中所有的点横坐标的最大值,Ymin为S中所有的点纵坐标的最小值,T为S中与点(Xmax,Ymin)的横纵坐标均相差不大于5个像素的点的集合,点(Cx,Cy)即为所选正确内眼角点坐标。
108:将瞳孔中心的坐标和正确内眼角点坐标传入PC机的视线估计模型中,确定视线方向。
该视线估计模型基于如下两个假设:把眼球前面一侧看做平面而非球面,即无论用户在看哪,瞳孔中心的空间位置始终在一个平面上;且头部保持不动。
视线估计模型如图1所示,O是眼球中心,N为相机小孔成像中心点,S是屏幕上的注视点,E为瞳孔中心(所在平面为眼球近似平面),P为照片中的瞳孔中心,计算公式如下:
(xs,ys)为屏幕注视点坐标,(xp,yp)为照片中的瞳孔坐标,H为屏幕和照片投影平面间的矩阵,p为缩放系数,求解出H,便可根据瞳孔在照片中的位置计算出注视点在屏幕上的位置。
矩阵H计算方法如下:计算矩阵H需要几对坐标数据,即用户要依次注视屏幕上几个确定坐标的点,每个点拍摄一张照片,然后从照片中提取出瞳孔中心的坐标。这个过程称为标定。H是一个3×3的矩阵,由于缩放系数p的存在,该矩阵有8个独立的元素,为减小误差,取9个点的坐标,采用一种最大似然法来估计。
设Mi=(xpi,ypi)T,mi=(xsi,ysi)T,i=1to 9为照片上和屏幕上的对应坐标,H的9个元素用h=(H11,H12,H13,H21,H22,H23,H31,H32,H33)T表示,设数据的误差平均值为0协方差矩阵为则取最大似然目标函数为:
即,通过步骤101-步骤108实现了对视线方向的确定,缩短了检测时间。
为了验证视线估计模型的准确度,本方法进行了实验验证。实验设备包括一个2048×1536像素的相机以及一台14英寸,分辨率1280×800的显示器。相机的内参数矩阵可以通过用户依次注视屏幕上几个确定坐标的点来计算,相机内参数矩阵为:
经过一组9个点的标定,本次试验测试了8组每组16个点,共128个点的计算,其中头部移动至4个不同位置,结果不到一厘米的平均误差基本令人满意,可以更好的满足于HCI设备的应用。
一种人眼视线估计装置,参见图3,包括:
人脸图像获取模块,用于获取人脸图像;
位图转换模块,用于对人脸图像进行位图转换,获取RGB位图;
灰度图模块,用于将RGB位图转换为灰度图;
肤色二值图模块,用于将RGB位图转换为肤色二值图;
积分图模块,用于进行积分图和平方积分图计算,获取积分图数据和平方积分图数据;
弱分类器计算模块,用于对积分图数据和平方积分图数据进行计算并淘汰非人脸窗口;
Nios II核处理器,用于人脸窗口的合并,并获取最终人脸区域;根据最终人脸区域、肤色二值图和肤色模型进行脸部区域精确定位,获取人脸区域;
眼部特征点检测模块,用于根据人脸区域进行眼部粗定位,选取脸部图像的1/2-7/8处为眼部区域;通过混合积分投影函数确定人眼坐标位置,获取人眼精确边界;对人眼精确边界进行窗口扫描,根据经验值确定一个和眼球大小相近的框对人眼精确边界进行扫描,选取灰度值和最小的窗口为瞳孔,并将窗口中心作为瞳孔中心,并获取正确内眼角点坐标;将瞳孔中心的坐标和正确内眼角点坐标传入PC机的视线估计模型中,确定视线方向。
其中,本装置使用高分辨率的摄像头,最大支持2,592×1,944分辨率的图像,得到的RGB位图为12位,结合实际情况,实现人脸检测算法时使用640×480规格的图像,在实时性改进阶段,可根据实际应用情况调整参数,将初始图像的规格调整至400×300。眼部特征点检测使用的是1600×1200的图像,位图使用8位格式。
本装置利用硬件实现按位操作效率高的特点,在设计位图转换模块硬件结构时使用一种按位组合生成查表地址的方法--分布式查表算法。
位图转灰度图计算公式为:Y=0.2990×R+0.5870×G+0.1140×B
Y分量可表示为如下形式:
Y=a0X0+a1X1+a2X2+a3
其中ai(i=0,1,2)表示转换系数,a3为常数(0.5,四舍五入);Xi(i=0,1,2)分别表示R、G、B三个色彩分量,将其用二进制形式表示可得:
其中称为部分积由于Xi,m只能取0或1,部分积只有8种可能的取值,可以通过预先计算将这些值存储在寄存器中,在进行转换时,构造向量(X0,m,X1,m’X2,m)作为表地址以得到相应的部分积。为了简化表结构并节省存储空间,在查找表中仅存储PSm×27,以满足最高二进制权重位(MostSignificant Bit,MSB)的精度。其余权重位的部分积运算可在查表后通过右移实现除2操作。查找表内容如下表所示。
通过上述嵌入式软硬件协同设计方法,可以大大提高位图转换的计算速率,该部分的硬件设计如图4所示。
肤色二值图模块是由Cg-Cb和Cg-Cr两组分割器的结果进行逻辑与得到的。Cg-Cb空间的肤色区域可以表示为圆形区域,其方程形式如下
Cg-Cr空间的肤色区域可表示为条带型,数学表达式如下所示:
Cr∈[260-Cg,280-Cg] (2)
Cg∈[85,135] (3)
如果Cb、Cg和Cr满足上述三个公式,则可判定当前像素属于肤色区域,否则判定为非肤色区域。由RGB色彩空间到CbCgCr空间的转换与到灰度值空间的转换相似,也是使用按位组合查表的方法,经过三级流水线后,得到Cb、Cg、Cr分量,然后进行肤色判断。
式(1)的判定为一个圆形区域,如果单独计算这个公式,则需要用到乘法和浮点除法,计算量大,资源消耗高,本装置使用查表的方法实现,首先对Cg、Cb的坐标进行变换,将其变换到坐标原点的位置,然后判断该坐标是否坐落在圆内,圆的半径为12.5,为了进一步缩小存储空间,将判定过程集中到坐标系的第一象限内。表的大小为13×13Bits,每一位的值表示相应位置上的坐标点是否坐落在圆内。
该部分的硬件设计如图5所示,首先将Cg、Cb分别与107、110做绝对值减法,然后通过查表的方法判定该点是否在圆内,以此判定Cg-Cb空间是否符合上述公式。Cg-Cr空间的判定相对比较简单,只需判定式(2)。经过两级流水线可以完成该过程,结果用1bit来表示,32个像素点的结果进行拼接,存储到缓存中,在适当的时候写回到DDR存储器,供后续模块使用。
积分图模块在完成一帧图像的获取后,开始两种积分图的计算,用以提高Haar特征值的计算速度,计算公式如下所示,其中image为灰度图:
积分图sum(X,Y)=∑x≤X,y≤Yimage(x,y)
平方积分图sqrsum(X,Y)=∑x≤X,y≤Yimage(x,y)2
计算所需的数据--灰度图,通过本模块的总线接口部分获取,设置两块双口RAM:RAM_L和RAM_ L_sq,分别存储上一行的积分图的值和平方积分图的值;设置两个左累加寄存器,分别存储与当前像素同行的左侧所有像素(包括当前像素)灰度值和灰度值平方的累加和。当前位置积分图的值为当前像素的灰度值、左累加寄存器的值和上一行对应位置的值三部分求和。
两种积分图的计算使用四级流水线实现,首先,为了保持两种积分图计算的同步,积分图计算部分延迟一个周期,在此周期内进行灰度值的平方运算。在第二级中,将当前像素的值与左累加寄存器做加法,结果保存到左累加寄存器中,并把相应位置的地址送到行缓存的地址寄存器中。在第三级中,将读出的数据(上一行对应位置的值)和左累加寄存器做加法。在第四级中,将当前位置的计算结果输出并写回到行缓存中,以供下一行计算使用。该流水线结构在运行过程中,每个周期可以计算一个像素点的两种积分图。计算结果保存到窗口缓存和计算缓存中,供应AdaBoost算法使用,流水线结构如图6所示。
因为本发明采用图像缩放的策略,所有Haar特征值的计算都局限在一个扫描窗口(21×21)内部进行,所以对整幅图像的两种积分图的计算结果分别对217和225进行取模,只保留二进制形式的低17位和25位,否则需要保存27位和35位,这可以在很大程度上节省存储空间,另外,由于取模的原因,在后面的计算过程中需要进行校正,否则会出错。
其中,弱分类器计算模块采用了三级并行的硬件架构:
(1)窗口间任务级并行:四个待检窗口同时进行扫描,其中第一个窗口设定流水线切分时序和读取弱分类器信息,其余三个窗口在时序上与第一个窗口对齐,并且共享第一个窗口读出的弱分类器信息。存储结构示意图如图7所示。四个窗口的判断时间取决于计算强分类器级数最多的窗口,当四个窗口都做出判断后,本次扫描结束,同时更新四列数据以计算下一组窗口。
(2)窗口内任务级并行:每个窗口内部有三条流水线同时计算弱分类器,根据两种弱分类器(矩形个数为划分依据)的个数,由两条流水线计算两个矩形的弱分类器,由第三条流水线计算三个矩形的弱分类器。
(3)数据级并行:单条流水线结构划分为7级,该结构每个周期可以计算一个弱分类器。
其中,Nios II核处理器是用户可配置的通用32位RISC软核微处理器,II核处理器负责完成总线上各个模块间的调度,各个模块与Nios II核处理器进行通信,此外Nios II核处理器完成少量的计算任务,比如最终的人脸区域相似性合并,这部分计算量不大,但是过程复杂,使用硬件实现时,逻辑功能设计比较困难,而且不能发挥硬件设计的优势,因此本***使用软件的方式实现。
本领域技术人员可以理解附图只是一个优选实施例的示意图,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种人眼视线估计方法,其特征在于,所述方法包括以下步骤:
(1)获取包含人脸的图像并进行位图转换,获取RGB位图;将RGB位图转换为灰度图和肤色二值图;
(2)将灰度图进行各级缩放,对每一级缩放后的图像进行窗口扫描,扫描窗口大小为20×20,并对扫描窗口中的灰度图进行积分图和平方积分图计算;
(3)通过积分图数据和平方积分图数据进行弱分类器计算,将同级弱分类器计算结果累加与对应的强分类器阈值比较,淘汰非人脸窗口;如果一个待选窗口通过所有的强分类器则判定为人脸图像;
(4)Nios II核处理器将识别为人脸的待选窗口进行合并,获取最终人脸区域;根据最终人脸区域、肤色二值图和肤色模型进行脸部区域精确定位,获取人脸区域;
(5)根据人脸区域进行眼部粗定位,先粗略选取脸部图像的1/2-7/8处为眼部区域;再通过混合积分投影函数确定人眼纵坐标位置,以获取人眼精确边界;
(6)对人眼精确边界进行窗口扫描,根据经验值确定一个和眼球大小相近的框对人眼精确边界进行扫描,选取灰度值和最小的窗口为瞳孔,并将窗口中心作为瞳孔中心;
(7)以获得的瞳孔中心为基准,截取包含内眼角的内眼角窗口并对内眼角窗口进行灰度等级拉伸预处理,然后利用Susan算子及角点检测算子,在内眼角窗口中提取候选内眼角点,最后筛选出正确内眼角点坐标;
(8)将瞳孔中心的坐标和正确内眼角点坐标传入PC机的视线估计模型中,确定视线方向。
2.根据权利要求1所述的一种人眼视线估计方法,其特征在于,所述将识别为人脸的待选窗口进行合并具体为:
1)当第二个人脸框与第一个人脸框相距不到第一个人脸框宽的1/2时,将第一个人脸框和第二个人脸框合并为一类,当满足条件时依次进行其他人脸框和第一个人脸框的合并;
2)将人脸框数目大于阈值的类进行人脸最终区域的计算。
3.根据权利要求2所述的一种人眼视线估计方法,其特征在于,所述将人脸框数目大于阈值的类进行人脸最终区域的计算具体为:
将所有框的对应左上角点坐标进行求平均值计算,将计算结果作为整合框的左上角点坐标,再依次进行右上角点、左下角点和右下角点坐标的计算,至此上述四点的坐标即可确定人脸最终区域。
4.根据权利要求1所述的一种人眼视线估计方法,其特征在于,所述肤色模型具体为:(Cg,Cb,Cr为肤色二值图);
Cr∈[260 -Cg,280 -Cg]
Cg∈[85,135]。
5.根据权利要求1所述的一种人眼视线估计方法,其特征在于,所述视线估计模型具体为:
(xs,ys)为屏幕注视点坐标,(xp,yp)为照片中的瞳孔坐标,H为屏幕和照片投影平面间的矩阵,P为照片中的瞳孔中心。
6.根据权利要求1所述的一种人眼视线估计方法,其特征在于,所述在内眼角窗口中提取候选内眼角点,最后筛选出正确内眼角点坐标具体为:
1)如果只有一个候选角点,则候选角点即为正确内眼角点;
2)如果有两个候选角点,则选择距瞳孔中心最远的角点为正确内眼角点;
3)如果有三个或三个以上候选角点,则根据如下算法进行筛选:
T={(x,y)|(Xmax-x)<5∩(y-Ymin)<5,(x,y)∈S}
Cx=mean(Tx) Cy=mean(Ty)
其中,S为候选角点集合,Xmax为S中所有的点横坐标的最大值,Ymin为S中所有的点纵坐标的最小值,T为S中与点(Xmax,Ymin)的横纵坐标均相差不大于5个像素的点的集合,点(Cx,Cy)即为所选正确内眼角点坐标;mean表示取平均值。
7.一种人眼视线估计装置,其特征在于,包括:
人脸图像获取模块,用于获取人脸图像;
位图转换模块,用于对人脸图像进行位图转换,获取RGB位图;
灰度图模块,用于将RGB位图转换为灰度图;
肤色二值图模块,用于将RGB位图转换为肤色二值图;
积分图模块,用于进行积分图和平方积分图计算,获取积分图数据和平方积分图数据;
弱分类器计算模块,用于对积分图数据和平方积分图数据进行计算并淘汰非人脸窗口;
Nios II核处理器,用于人脸窗口的合并,并获取最终人脸区域;根据最终人脸区域、肤色二值图和肤色模型进行脸部区域精确定位,获取人脸区域;
眼部特征点检测模块,用于根据人脸区域进行眼部粗定位,选取脸部图像的1/2-7/8处为眼部区域;通过混合积分投影函数确定人眼坐标位置,获取人眼精确边界;对人眼精确边界进行窗口扫描,根据经验值确定一个和眼球大小相近的框对人眼精确边界进行扫描,选取灰度值和最小的窗口为瞳孔,并将窗口中心作为瞳孔中心,获取正确内眼角点坐标;将瞳孔中心的坐标和正确内眼角点坐标传入PC机的视线估计模型中,确定视线方向。
8.根据权利要求7所述的一种人眼视线估计装置,其特征在于,所述肤色二值图模块是由Cg-Cb和Cg-Cr两组分割器的结果进行逻辑与得到的,硬件设计为:将Cg、Cb分别与107、110做绝对值减法,经过两级流水线实现,结果用1bit来表示,32个像素点的结果进行拼接,存储到缓存中。
9.根据权利要求7所述的一种人眼视线估计装置,其特征在于,所述积分图模块使用四级流水线实现,首先,积分图计算部分延迟一个周期,在此周期内进行灰度值的平方运算;在第二级中,将当前像素的值与左累加寄存器做加法,结果保存到左累加寄存器中,并把相应位置的地址送到行缓存的地址寄存器中;在第三级中,将读出的数据和左累加寄存器做加法;在第四级中,将当前位置的计算结果输出并写回到行缓存中,以供下一行计算使用。
10.根据权利要求7所述的一种人眼视线估计装置,其特征在于,所述弱分类器计算模块采用了三级并行的硬件架构:
(1)窗口间任务级并行:四个待检窗口同时进行扫描,第一个窗口设定流水线切分时序和读取弱分类器信息,其余三个窗口在时序上与第一个窗口对齐,并且共享第一个窗口读出的弱分类器信息;
(2)窗口内任务级并行:每个窗口内部有三条流水线同时计算弱分类器,根据两种弱分类器的个数,由两条流水线计算两个矩形的弱分类器,由第三条流水线计算三个矩形的弱分类器;
(3)数据级并行:单条流水线结构划分为7级,每个周期计算一个弱分类器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012103929754A CN102930278A (zh) | 2012-10-16 | 2012-10-16 | 一种人眼视线估计方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012103929754A CN102930278A (zh) | 2012-10-16 | 2012-10-16 | 一种人眼视线估计方法及其装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102930278A true CN102930278A (zh) | 2013-02-13 |
Family
ID=47645075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012103929754A Pending CN102930278A (zh) | 2012-10-16 | 2012-10-16 | 一种人眼视线估计方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102930278A (zh) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104835156A (zh) * | 2015-05-05 | 2015-08-12 | 浙江工业大学 | 一种基于计算机视觉的无纺布袋自动定位方法 |
CN104156643B (zh) * | 2014-07-25 | 2017-02-22 | 中山大学 | 一种利用眼睛视线来实现密码输入的方法及其硬件装置 |
CN106922192A (zh) * | 2014-12-10 | 2017-07-04 | 英特尔公司 | 利用查找表的面部检测方法和装置 |
CN108268858A (zh) * | 2018-02-06 | 2018-07-10 | 浙江大学 | 一种高鲁棒的实时视线检测方法 |
CN108427503A (zh) * | 2018-03-26 | 2018-08-21 | 京东方科技集团股份有限公司 | 人眼追踪方法及人眼追踪装置 |
CN109344802A (zh) * | 2018-10-29 | 2019-02-15 | 重庆邮电大学 | 一种基于改进的级联卷积神经网的人体疲劳检测方法 |
CN109409298A (zh) * | 2018-10-30 | 2019-03-01 | 哈尔滨理工大学 | 一种基于视频处理的视线追踪方法 |
CN109788219A (zh) * | 2019-01-18 | 2019-05-21 | 天津大学 | 一种用于人眼视线追踪的高速cmos图像传感器读出方案 |
CN109858310A (zh) * | 2017-11-30 | 2019-06-07 | 比亚迪股份有限公司 | 车辆和交通标志检测方法 |
WO2020029444A1 (zh) * | 2018-08-10 | 2020-02-13 | 初速度(苏州)科技有限公司 | 一种驾驶员驾驶时注意力检测方法和*** |
CN110969084A (zh) * | 2019-10-29 | 2020-04-07 | 深圳云天励飞技术有限公司 | 一种关注区域检测方法、装置、可读存储介质及终端设备 |
CN112257696A (zh) * | 2020-12-23 | 2021-01-22 | 北京万里红科技股份有限公司 | 视线估计方法及计算设备 |
CN112464829A (zh) * | 2020-12-01 | 2021-03-09 | 中航航空电子有限公司 | 一种瞳孔定位方法、设备、存储介质及视线追踪*** |
CN113011393A (zh) * | 2021-04-25 | 2021-06-22 | 中国民用航空飞行学院 | 基于改进混合投影函数的人眼定位方法 |
CN113239754A (zh) * | 2021-04-23 | 2021-08-10 | 泰山学院 | 一种应用于车联网的危险驾驶行为检测定位方法及*** |
WO2021169637A1 (zh) * | 2020-02-28 | 2021-09-02 | 深圳壹账通智能科技有限公司 | 图像识别方法、装置、计算机设备及存储介质 |
CN113781290A (zh) * | 2021-08-27 | 2021-12-10 | 北京工业大学 | 一种用于fast角点检测的向量化硬件装置 |
CN115330756A (zh) * | 2022-10-11 | 2022-11-11 | 天津恒宇医疗科技有限公司 | 基于光影特征的oct图像中导丝识别方法及识别*** |
CN115471552A (zh) * | 2022-09-15 | 2022-12-13 | 江苏至真健康科技有限公司 | 一种用于便携式免散瞳眼底照相机的拍摄定位方法及*** |
CN115862124A (zh) * | 2023-02-16 | 2023-03-28 | 南昌虚拟现实研究院股份有限公司 | 视线估计方法、装置、可读存储介质及电子设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1700242A (zh) * | 2005-06-15 | 2005-11-23 | 北京中星微电子有限公司 | 一种判别视线方向的方法和装置 |
-
2012
- 2012-10-16 CN CN2012103929754A patent/CN102930278A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1700242A (zh) * | 2005-06-15 | 2005-11-23 | 北京中星微电子有限公司 | 一种判别视线方向的方法和装置 |
Non-Patent Citations (2)
Title |
---|
刘学毅: "基于嵌入式SoC硬件架构的视线估计算法实现研究", 《中国优秀硕士学位论文全文数据库》 * |
常轶松: "面向眼部特征检测算法的嵌入式SoC硬件架构研究", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104156643B (zh) * | 2014-07-25 | 2017-02-22 | 中山大学 | 一种利用眼睛视线来实现密码输入的方法及其硬件装置 |
CN106922192A (zh) * | 2014-12-10 | 2017-07-04 | 英特尔公司 | 利用查找表的面部检测方法和装置 |
CN106922192B (zh) * | 2014-12-10 | 2021-08-24 | 英特尔公司 | 利用查找表的面部检测方法和装置 |
CN104835156A (zh) * | 2015-05-05 | 2015-08-12 | 浙江工业大学 | 一种基于计算机视觉的无纺布袋自动定位方法 |
CN104835156B (zh) * | 2015-05-05 | 2017-10-17 | 浙江工业大学 | 一种基于计算机视觉的无纺布袋自动定位方法 |
CN109858310A (zh) * | 2017-11-30 | 2019-06-07 | 比亚迪股份有限公司 | 车辆和交通标志检测方法 |
CN108268858A (zh) * | 2018-02-06 | 2018-07-10 | 浙江大学 | 一种高鲁棒的实时视线检测方法 |
CN108268858B (zh) * | 2018-02-06 | 2020-10-16 | 浙江大学 | 一种高鲁棒的实时视线检测方法 |
CN108427503A (zh) * | 2018-03-26 | 2018-08-21 | 京东方科技集团股份有限公司 | 人眼追踪方法及人眼追踪装置 |
CN108427503B (zh) * | 2018-03-26 | 2021-03-16 | 京东方科技集团股份有限公司 | 人眼追踪方法及人眼追踪装置 |
WO2020029444A1 (zh) * | 2018-08-10 | 2020-02-13 | 初速度(苏州)科技有限公司 | 一种驾驶员驾驶时注意力检测方法和*** |
CN109344802A (zh) * | 2018-10-29 | 2019-02-15 | 重庆邮电大学 | 一种基于改进的级联卷积神经网的人体疲劳检测方法 |
CN109344802B (zh) * | 2018-10-29 | 2021-09-10 | 重庆邮电大学 | 一种基于改进的级联卷积神经网的人体疲劳检测方法 |
CN109409298A (zh) * | 2018-10-30 | 2019-03-01 | 哈尔滨理工大学 | 一种基于视频处理的视线追踪方法 |
CN109788219B (zh) * | 2019-01-18 | 2021-01-15 | 天津大学 | 一种用于人眼视线追踪的高速cmos图像传感器读出方法 |
CN109788219A (zh) * | 2019-01-18 | 2019-05-21 | 天津大学 | 一种用于人眼视线追踪的高速cmos图像传感器读出方案 |
CN110969084A (zh) * | 2019-10-29 | 2020-04-07 | 深圳云天励飞技术有限公司 | 一种关注区域检测方法、装置、可读存储介质及终端设备 |
WO2021169637A1 (zh) * | 2020-02-28 | 2021-09-02 | 深圳壹账通智能科技有限公司 | 图像识别方法、装置、计算机设备及存储介质 |
CN112464829B (zh) * | 2020-12-01 | 2024-04-09 | 中航航空电子有限公司 | 一种瞳孔定位方法、设备、存储介质及视线追踪*** |
CN112464829A (zh) * | 2020-12-01 | 2021-03-09 | 中航航空电子有限公司 | 一种瞳孔定位方法、设备、存储介质及视线追踪*** |
CN112257696A (zh) * | 2020-12-23 | 2021-01-22 | 北京万里红科技股份有限公司 | 视线估计方法及计算设备 |
CN113239754A (zh) * | 2021-04-23 | 2021-08-10 | 泰山学院 | 一种应用于车联网的危险驾驶行为检测定位方法及*** |
CN113011393A (zh) * | 2021-04-25 | 2021-06-22 | 中国民用航空飞行学院 | 基于改进混合投影函数的人眼定位方法 |
CN113011393B (zh) * | 2021-04-25 | 2022-06-03 | 中国民用航空飞行学院 | 基于改进混合投影函数的人眼定位方法 |
CN113781290B (zh) * | 2021-08-27 | 2023-01-31 | 北京工业大学 | 一种用于fast角点检测的向量化硬件装置 |
CN113781290A (zh) * | 2021-08-27 | 2021-12-10 | 北京工业大学 | 一种用于fast角点检测的向量化硬件装置 |
CN115471552A (zh) * | 2022-09-15 | 2022-12-13 | 江苏至真健康科技有限公司 | 一种用于便携式免散瞳眼底照相机的拍摄定位方法及*** |
CN115330756A (zh) * | 2022-10-11 | 2022-11-11 | 天津恒宇医疗科技有限公司 | 基于光影特征的oct图像中导丝识别方法及识别*** |
CN115862124A (zh) * | 2023-02-16 | 2023-03-28 | 南昌虚拟现实研究院股份有限公司 | 视线估计方法、装置、可读存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102930278A (zh) | 一种人眼视线估计方法及其装置 | |
CN104317391B (zh) | 一种基于立体视觉的三维手掌姿态识别交互方法和*** | |
EP3576017A1 (en) | Method, apparatus, and device for determining pose of object in image, and storage medium | |
CN110807364B (zh) | 三维人脸与眼球运动的建模与捕获方法及*** | |
CN102520796B (zh) | 一种基于逐步回归分析映射模型的视线跟踪方法 | |
CN107395958B (zh) | 一种图像处理方法、装置、电子设备及存储介质 | |
CN103514441B (zh) | 基于移动平台的人脸特征点定位跟踪方法 | |
CN108345869A (zh) | 基于深度图像和虚拟数据的驾驶人姿态识别方法 | |
CN104091155B (zh) | 光照鲁棒的虹膜快速定位方法 | |
CN107852533A (zh) | 三维内容生成装置及其三维内容生成方法 | |
CN105389554A (zh) | 基于人脸识别的活体判别方法和设备 | |
CN106910242A (zh) | 基于深度相机进行室内完整场景三维重建的方法及*** | |
CN106796449A (zh) | 视线追踪方法及装置 | |
CN103430218A (zh) | 用3d脸部建模和地标对齐扩增造型的方法 | |
CN104408462B (zh) | 面部特征点快速定位方法 | |
CN103870843B (zh) | 基于多特征点集活动形状模型的头部姿态估计方法 | |
CN106355147A (zh) | 一种活体人脸检测头部姿态回归器的获取方法及检测方法 | |
CN104143086A (zh) | 人像比对在移动终端操作***上的应用技术 | |
CN111091075B (zh) | 人脸识别方法、装置、电子设备及存储介质 | |
Vezhnevets | Face and facial feature tracking for natural HumanComputer Interface | |
CN105389553A (zh) | 一种活体检测方法和装置 | |
CN111160291B (zh) | 基于深度信息与cnn的人眼检测方法 | |
CN111209811B (zh) | 一种实时检测眼球注意力位置的方法及*** | |
CN104821010A (zh) | 基于双目视觉的人手三维信息实时提取方法及*** | |
CN111079625A (zh) | 一种摄像头自动跟随人脸转动的控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130213 |