技术领域
[0001] 本
发明涉及一种眼睑检测装置、眼睑检测方法,更详细来说,涉及一种对映现在眼部图像中的眼睑进行检测的检测装置、对映现在眼部图像中的眼睑进行检测的眼睑检测方法。
背景技术
[0002] 近年来,虽然因交通事故而死亡的人数有减少的倾向,但事故发生的案件数仍然处于很高的
水平。事故的原因各种各样,打瞌睡驾驶等驾驶员在清醒度下降的状态下进行车辆的驾驶也是诱发事故的原因之一。
[0003] 于是,提出了各种各样用于高
精度地对驾驶员清醒度的下降进行检测的技术。(例如,参照
专利文献1)。
[0005] 专利文献
[0006] 专利文献1:日本特开2004-192552号
公报发明内容
[0007] 发明要解决的问题
[0008] 专利文献1公开的装置基于驾驶员脸部图像中映现的眼部在纵向上的大小、沿着上眼睑的曲线与连结该曲线的两端的线之间的距离、该曲线的
曲率半径,综合地判断驾驶员的眼是否闭合。然而,在图像中产生所谓的曝光过度的情况下,有时难以准确地计测眼部纵向上的大小。
[0009] 同样地,在图像不清晰的情况下,不能够准确地规定沿着上眼睑的曲线。在该情况下,沿着上眼睑的曲线与连结该曲线两端的线之间的距离,变得不与眼的开度相关。因此,难以准确地判断驾驶员的眼是否闭合。
[0010] 另外,基于
曲率半径的判断并不能够直接计测驾驶员的眼的开度。因此,有时根据驾驶员的眼部的形状不能够准确地计算出眼的开度。
[0011] 本发明是鉴于上述的情况而提出的,其目的在于,基于驾驶员的眼的图像,高精度地判断驾驶员的眼是否闭合。
[0012] 用于解决问题的手段
[0013] 为了达成上述目的,本发明的第一观点的眼睑检测装置(10、10A)具有:
[0014] 提取单元(21、20b),其从构成驾驶员(50)的眼部(51、52)的图像(IM)的
像素(D)中,提取出边缘值满足规定条件的所述像素(D),
[0015] 计算单元(21、20c、20e),其一边利用形状与所述驾驶员(50)的眼睑相对应的窗口(W2)扫描所述图像(IM),一边计算与所述窗口(W2)重合的所述像素(D)的评价值,[0016]
变形单元(21、20f),对位于所述评价值最大的
位置的所述窗口(W2)的形状进行变形,以使所述窗口(W2)的评价值变大,
[0017] 设定单元(21、20g),其根据变形后的所述窗口(W2),来设定所述眼睑的基准位置;
[0018] 所述变形单元(21、20f)使像素探索窗口(W3、W4)朝向第一方向进行扫描,来提取与所述像素探索窗口(W3、W4)重合的所述像素(D),该第一方向为与所述窗口(W2)重合的像素群(G1~G4)所排列的方向,该像素探索窗口(W3、W4)在与所述第一方向
正交的第二方向的大小比所述窗口(W2)的所述第二方向的大小大,
[0019] 使所述窗口(W2)变形为与提取出的所述像素(D)重合。
[0020] 本发明的第二观点的眼睑检测方法包括:
[0021] 提取工序,其从构成驾驶员(50)的眼部(51、52)的图像(IM)的像素(D)中,提取出边缘值满足规定条件的所述像素(D),
[0022] 计算工序,其一边利用形状与所述驾驶员(50)的眼睑相对应的窗口(W2)扫描所述图像(IM),一边计算与所述窗口(W2)重合的所述像素(D)的评价值,
[0023] 变形工序,对位于所述评价值最大的位置的所述窗口(W2)的形状进行改变,以使所述窗口(W2)的评价值变大,
[0024] 设定工序,其根据变形后的所述窗口(W2),来设定所述眼睑的基准位置;
[0025] 其中,使像素探索窗口(W3、W4)朝向第一方向进行扫描,来提取与所述像素探索窗口(W3、W4)重合的所述像素(D),该第一方向为与所述窗口(W2)重合的像素群(G1~G4)所排列的方向,该像素探索窗口(W3、W4)在与所述第一方向正交的第二方向的大小比所述窗口(W2)的所述第二方向的大小大,
[0026] 使所述窗口(W2)变形为与提取出的所述像素(D)重合。
[0027] 本发明的第三观点的程序用于使计算机执行如下的步骤:
[0028] 提取步骤,其从构成驾驶员(50)的眼部(51、52)的图像(IM)的像素(D)中,提取出边缘值满足规定条件的所述像素(D),
[0029] 计算步骤,其一边利用形状与所述驾驶员(50)的眼睑相对应的窗口(W2)扫描所述图像(IM),一边计算与所述窗口(W2)重合的所述像素(D)的评价值,
[0030] 变形步骤,对位于所述评价值最大的位置的所述窗口(W2)的形状进行变形,以使所述窗口(W2)的评价值变大,
[0031] 设定步骤,其根据变形后的所述窗口(W2),来设定所述眼睑的基准位置。
[0032] 发明的效果
[0033] 根据本发明,改变在与在图像中映现的眼睑的边缘匹配时的窗口的形状。然后,根据变形后的窗口,来设定眼睑的边缘的基准位置。因此,即使在图像中映现的眼睑的形状与窗口的形状不同,也能够高精度地设定眼睑的基准位置。由此,能够高精度地判断驾驶员的眼是否闭合。
附图说明
[0034] 图1是第一实施方式的眼睑检测装置的
框图。
[0035] 图2是表示由拍摄装置拍摄的图像的图。
[0036] 图3是表示由CPU执行的一连串的处理的
流程图。
[0037] 图4是表示脸部区域和探索区域的图。
[0039] 图5B是表示垂直边缘检测算子的图。
[0040] 图6是表示构成上眼睑及下眼睑的边缘的像素的图。
[0041] 图7是表示像素群和上眼睑探索窗口的图。
[0042] 图8是表示在评价值为最大时的像素群与上眼睑探索窗口之间的位置关系的图。
[0043] 图9是表示下眼睑探索区域的图。
[0044] 图10是表示像素群与下眼睑探索窗口的图。
[0045] 图11是表示在评价值为最大时的像素群与下眼睑探索窗口之间的位置关系的图。
[0046] 图12是表示像素探索窗口的图。
[0047] 图13是用于说明使下眼睑探索区域变形后的顺序的图。
[0048] 图14是表示下眼睑探索区域的
重心的图。
[0049] 图15是表示下眼睑及上眼睑的基准位置的图。
[0050] 图16是表示变形前的下眼睑探索窗口的重心的图。
[0051] 图17是第二实施方式的眼睑检测装置的框图。
具体实施方式
[0052] 《第一实施方式》
[0053] 下面,参照附图,说明本发明的第一实施方式。图1是表示本实施方式的眼睑检测装置10的结构的概略框图。眼睑检测装置10为如下的装置:根据映现有驾驶员的脸部的图像来检测眼睑的位置,基于检测结果来计算驾驶员的眼的开度。如图1所示,眼睑检测装置10具有运算装置20、拍摄装置30。
[0054] 拍摄装置30为将通过拍摄拍摄对象而获取的图像转换成电
信号并输出该
电信号的装置。图2示出了由拍摄装置30拍摄的图像IM。参照图像IM可知,在调整了该拍摄装置30的安装
角、视角,以使就座在车辆驾驶席上的驾驶员50的脸部位于
视野的大致中心的情况下,安装于例如车辆的
转向柱(Steering column)或
方向盘。然后,拍摄装置30按照规定的周期拍摄驾驶员50的脸部,并向运算装置20输出与拍摄得到的图像相关的信息。
[0055] 在此,为了方便说明,定义了以图像IM的左下角为原点的XY
坐标系,下面,进行适当利用了XY坐标系的说明。
[0056] 返回图1,运算装置20为具有CPU(Central Processing Unit:
中央处理器)21、主存储部22、辅助存储部23、显示部24、输入部25及
接口部26的计算机。
[0057] CPU21读取并执行存储在辅助存储部23内的程序。下面,针对CPU21的具体的动作进行说明。
[0058] 主存储部22具有RAM(Random Access Memory:随机
存储器)等的易失性存储器。主存储部22用来作为CPU21的工作区域。
[0059] 辅助存储部23具有ROM(Read Only Memory:
只读存储器)、磁盘、
半导体存储器等的
非易失性存储器。辅助存储部23存储由CPU21所执行的程序及各种参数等。另外,依次存储与从拍摄装置30输出的图像相关的信息及包括CPU21的处理结果等的信息。
[0060] 显示部24具有LCD(Liquid Crystal Display:
液晶显示器)等的显示单元。显示部24显示CPU21的处理结果等。
[0061] 输入部25具有输入键、
触摸屏等的定点设备(pointing device)。通过输入部25输入操作员(operator)的指示,并经由
系统总线27通知给CPU21。
[0062] 接口部26构成为包括串行接口(serial interface)或LAN(Local Area Network:局域网)接口等。拍摄装置30经由接口部26与系统总线27连接。
[0063] 图3的流程图与由CPU21执行的程序的一连串处理
算法相对应。下面,一边参照图3,一边针对眼睑检测装置10的动作进行说明。例如,当开启车辆的点火
开关(igniting switch)时,执行图3的流程图示出的一连串的处理。另外,在此,设定为由拍摄装置30拍摄了图2示出的图像IM。
[0064] 首先,在最初的步骤S201中,CPU21根据从拍摄装置30输出的图像IM,检测出映现有构成驾驶员脸部的眼、鼻等的脸部区域A1。
[0065] 就该脸部区域A1的检测而言,首先,对图像IM进行利用了索贝尔
滤波器(Sobel filter)的
图像处理,提取出图像IM所包含的边缘。接着,从提取出的边缘中,检测出表示驾驶员脸部轮廓F的边缘。然后,从由驾驶员脸部轮廓F包围的区域所包含的边缘中,检测出表示驾驶员的眉毛和嘴部的边缘,来大致确定驾驶员的眉毛和嘴部的位置。若确定了眉毛和嘴部的位置,则如图4所示,CPU21检测出X轴方向的大小与脸部轮廓大致一致并且包括驾驶员50的眉毛及嘴部的最小矩形区域,来作为脸部区域A1。
[0066] 在下一个步骤S202中,CPU21规定实施眼睑检测处理的探索区域A2。虽然构成脸部的眉、目、鼻及口的位置多少有些个体差异,但能够以脸部的轮廓、眉毛或者眼部等的部位为基准,而能够大概进行确定。因此,在以眉毛位于上端,嘴部位于下端的方式规定的脸部区域A1中,能够在某种程度上准确地确定眼部所在的区域。于是,CPU21在脸部区域A1所包含的眉毛的图像的下方,规定将长度方向作为X轴方向的长方形的探索区域A2。
[0067] 在下一个步骤S203中,CPU21对探索区域A2执行边缘检测处理。在进行边缘检测时,CPU21利用图5A示出的水平边缘检测算子(operator)和图5B示出的垂直边缘检测算子。
[0068] 例如,首先,CPU21利用水平边缘检测算子,计算各像素的边缘值。在位于作为边缘值计算对象的像素上侧(+Y一侧)的像素
亮度高、位于作为边缘值计算对象的像素下侧(-Y一侧)的像素亮度低的情况下,该边缘值为正(+)。在位于作为边缘值计算对象的像素上侧(+Y一侧)的像素亮度低、位于作为边缘值计算对象的像素下侧(-Y一侧)的像素亮度高的情况下,该边缘值为负(﹣)。于是,CPU21提取边缘值在第一
阈值以上(规定的条件)的像素和边缘值在第二阈值以下(规定的条件)的像素。
[0069] 接着,CPU21利用垂直边缘检测算子,计算各像素的边缘值。在位于作为边缘值计算对象的像素左侧(-X一侧)的像素亮度高、位于作为边缘值计算对象的像素右侧(+X一侧)的像素亮度低的情况下,该边缘值为正(+)。在位于作为边缘值计算对象的像素左侧(-X一侧)的像素亮度低、位于作为边缘值计算对象的像素右侧(+X一侧)的像素亮度高的情况下,该边缘值为(-)。于是,CPU21提取边缘值在第一阈值以上(规定的条件)的像素和边缘值在第二阈值以下(规定的条件)的像素。
[0070] 由此,如图6所示,提取构成眼部51、52的上眼睑及下眼睑的边缘的像素D。下面,将右眼51的上眼睑的边缘设为像素群G1,将下眼睑的边缘设为像素群G2。另外,将左眼52的上眼睑的边缘设为像素群G3,将下眼睑的边缘设为像素群G4。
[0071] 在下一个步骤S204中,CPU21进行利用了上眼睑探索窗口的扫描,由此检测出上眼睑的位置。图7是表示像素群G1、G2和上眼睑探索窗口W1的图,该上眼睑探索窗口W1用于检测出由像素群G1表示的上眼睑。如图7所示,上眼睑探索窗口W1由将长度方向作为X轴方向的长方形水平边缘窗口P1、在水平边缘窗口P1的两端规定(设置)的垂直边缘窗口P2、P3。
[0072] CPU21使上眼睑探索窗口W1在探索区域A2内以例如相当于一个像素的距离为单位进行移动。同时,依次对第一边缘值加上第二边缘值减去第三边缘值的合计值进行计算,来作为评价值,其中,第一边缘值是指,与水平边缘窗口P1重合的像素D的边缘值总和,第二边缘值是指,与垂直边缘窗口P2重合的像素D的边缘值总和,第三边缘值是指,与垂直边缘窗口P3重合的像素的边缘值总和。然后,CPU21检测出评价值最大时的上眼睑探索窗口W1的位置,来作为右眼51的上眼睑的位置。
[0073] 图8是表示在评价值最大时的像素群G1与上眼睑探索窗口W1之间的位置关系的图。如图8所示,在评价值为最大时,上眼睑探索窗口W1处于与像素群G1重合的状态。CPU21若检测出右眼51的上眼睑的位置,则以同样的顺序来检测出左眼52的上眼睑的位置。
[0074] 在下一个步骤S205中,CPU21对检测出的右眼51及左眼52的上眼睑的基准位置进行设定。具体来说,如图8所示,CPU21将与重合于像素群G3的上眼睑探索窗口W1的重心相一致的XY坐标系的位置设定为右眼51的上眼睑的基准位置C1。同样地,CPU21将与重合于像素群G3的上眼睑探索窗口W1的重心相一致的XY坐标系的位置设定为左眼52的上眼睑的基准位置C1。
[0075] 在下一个步骤S206中,CPU21设定下眼睑探索区域。下眼睑位于上眼睑的下方。于是,如图9所示,CPU21设定矩形的下眼睑探索区域A3,在该下眼睑探索区域A3中构成上眼睑边缘的像素群G1位于上方位置。同样地,设定像素群G3位于上方的、矩形的下眼睑探索区域A4。
[0076] 此外,例如,在日本特开2008-225838号公报中公开了从上述的步骤S201到步骤S206为止的处理。
[0077] 在下一个步骤S207中,CPU21进行利用了下眼睑探索窗口的扫描,由此检测出下眼睑的位置。图10是表示像素群G1、G2和下眼睑探索窗口W2的图。如图10所示,下眼睑探索窗口W2为将长度方向作为X轴方向的窗口。就该下眼睑探索窗口W2而言,Y轴方向的大小与像素D的Y轴方向的大小相等。另外,X轴方向的大小与上眼睑探索窗口W1的X轴方向的大小相等。在此,分别将像素D的X轴方向的大小及Y轴方向的大小和下眼睑探索窗口W2的Y轴方向的大小设为d。
[0078] CPU21使下眼睑探索窗口W2在下眼睑探索区域A3内以例如相当于一个像素的距离为单位进行移动。同时,依次计算出与下眼睑探索窗口W2重合的像素D的边缘值总和,来作为评价值。然后,CPU21检测出在评价值最小时的下眼睑探索窗口W2的位置,来作为右眼51的下眼睑的位置。
[0079] 图11是表示在评价值最小时的像素群G2与下眼睑探索窗口W2之间的位置关系的图。如图11所示,在像素群G2由组G2N构成的情况下,下眼睑探索窗口W2处于与某一个组G2N重合的状态,其中,组G2N由Y轴方向的位置相等的多个像素构成。在本实施方式中,下眼睑探索窗口W2与构成组G25的像素D重合。另外,CPU21在下眼睑探索区域A4中,也执行上述利用了下眼睑探索窗口W2的处理。
[0080] 在下一个步骤S208中,CPU21基于构成像素群G2的像素的分布,改变下眼睑探索窗口W2的形状。具体来说,如图12所示,CPU21在与下眼睑探索窗口W2重合的组G25的两端,设定Y轴方向的大小为3d、X轴方向的大小为d的像素探索窗口W3、W4。然后,CPU21使像素探索窗口W3向-X方向移动,提取与该像素探索窗口W3重合的像素D。由此,提取出构成组G24的像素。同样地,CPU21使像素探索窗口W4向+X方向移动,提取与该像素探索窗口W4重合的像素D。由此,提取出构成组G26的像素D。
[0081] 接着,如图13所示,CPU21改变下眼睑探索窗口W2的形状,使该下眼睑探索窗口W2与如下的像素D重合:构成已经与该像素探索窗口W4重合的组G25的像素D和构成利用像素探索窗口W3、W4提取出的组G24、G26的像素D。由此,如图13所示,下眼睑探索窗口W2由三个长方形的框构成。
[0082] 接着,CPU21在组G24的-X侧端设定像素探索窗口W3,在组G26的+X侧端设定像素探索窗口W4。然后,使各像素探索窗口W3、W4向-X方向及+X方向移动,提取构成与该像素探索窗口W3、W4重合的组G23、G27的像素D。
[0083] 接着,CPU21改变下眼睑探索窗口W2的形状,使该下眼睑探索窗口W2与提取出的像素重合。此后,CPU21重复执行同样的处理。由此,如图14所示,改变下眼睑探索窗口W2的形状,使下眼睑探索窗口W2与表示下眼睑的边缘的像素群G2完全重合。另外,CPU21也对与像素群G4重合的下眼睑探索窗口W2执行上述处理。
[0084] 在下一个步骤S209中,CPU21设定下眼睑的基准位置。具体来说,首先,CPU21计算在步骤S208中变形的下眼睑探索窗口W2的重心。具体来说,CPU21将根据与变形后的下眼睑探索窗口W2重合的像素的平均坐标来确定的位置作为重心,进行计算。例如,在与下眼睑探索窗口W2重合的像素各自的坐标为(x1,y1)、(x2,y2)、…(xn,yn)的情况下,CPU21将根据X坐标为(x1+x2…+xn)/n、Y坐标为(y1+y2…+yn)/n的坐标来确定的位置作为重心,进行计算。
[0085] 在图14中,在由箭头a指出的位置示出了变形前的下眼睑探索窗口W2的重心,在由箭头b指出的位置示出了变形后的下眼睑探索窗口W2的重心。如图14所示,通过使该下眼睑探索窗口W2变形,使得下眼睑探索窗口W2的重心从箭头a指出的位置移动至箭头b指出位置。CPU21计算出变形后的下眼睑探索窗口W2的重心,则将计算出的重心的XY坐标系的位置设定为下眼睑的基准位置C2。另外,CPU21也对与像素群G4重合的下眼睑探索窗口W2执行上述处理。
[0086] 在下一个步骤S210中,如图15所示,CPU21计测右眼51及左眼52各自的上眼睑的基准位置C1与下眼睑的基准位置C2之间的距离。然后,输出该距离与规定的阈值的比较结果,来作为开度。由此,能够以开度为指标,进行对驾驶员50的清醒度的判断。
[0087] 如上所述,在本第一实施方式中,在进行下眼睑的检测时,首先,进行利用下眼睑探索窗口W2的扫描。然后,使位于与下眼睑探索窗口W2重合的像素D边缘值总和(评价值)最大的位置的下眼睑探索窗口W2变形,使下眼睑探索窗口W2与构成下眼睑的边缘的像素拟合(fitting)。由此,参照图14可知,使用虚线表示的下眼睑探索窗口W2变形为用实线表示的下眼睑探索窗口,变形后与构成下眼睑的边缘的像素重合。接着,将变形后的下眼睑探索窗口W2的重心的位置设定为下眼睑的基准位置。
[0088] 即,在本实施方式中,将与构成下眼睑边缘的像素拟合的下眼睑探索窗口W2的重心设定为基准位置。因此,即使下眼睑探索窗口W2的形状与下眼睑的边缘的形状不同,也能够高精度地设定下眼睑的基准位置。因此,能够高精度地检测出驾驶员50的眼的开度,而且,能够高精度地判断驾驶员50的清醒度。
[0089] 在作为拍摄装置30的摄像头(或
照相机)设置在驾驶员50脸部下方的情况下,在图像中映现的下眼睑的形状根据驾驶员的脸部方向而变化。特别是,在卧婵膨胀较大的情况等下,有时实际向下突出弯曲的下眼睑的边缘以向上突出弯曲的方式出现。在这种情况下,下眼睑探索窗口W2的形状与下眼睑的边缘的形状明显不同,难以高精度地检测下眼睑的位置。
[0090] 具体来说,在下眼睑探索窗口W2的形状与下眼睑边缘形状明显不同的情况下,如图16所示,在下眼睑探索窗口W2与位于构成下眼睑边缘的像素群G2端部的像素相一致时,边缘值可能够会变得更大。在该情况下,若将变形前的下眼睑探索窗口W2的重心作为下眼睑的基准点,则可能会将基准点设定在从下眼睑边缘偏移较大的位置上,从而变得不能够高精度地检测眼的开度。另一方面,在本实施方式中,将与构成下眼睑的像素拟合的下眼睑探索窗口W2的重心设定为下眼睑的基准点。因此,能够高精度地设定下眼睑的基准位置。由此,能够高精度地检测驾驶员50的眼的开度,而且,能够高精度地判断驾驶员50的清醒度。
[0091] 此外,在上述实施方式中,基于与变形后的下眼睑探索窗口W2重合的像素的平均坐标,计算上眼睑探索窗口W1的重心。但不限于此,还可以基于根据像素的亮度、边缘评分(edge score)等而加权得到的像素,来计算重心。具体来说,可以利用下面的数学式(1)来计算重心的X坐标XG,利用下面的数学式(2)来计算重心的Y坐标YG。此外,esi是位于位置(xi,yi)的像素的边缘值。
[0092] [数学式1]
[0093]
[0094] [数学式2]
[0095]
[0096] 另外,在上述实施方式中,将该下眼睑探索窗口W2的重心作为下眼睑探索窗口W2的基准位置。但不限于此,下眼睑探索窗口W2的基准位置可以为下眼睑探索窗口W2的中心。利用下眼睑探索窗口W2的两端的X坐标xe1、xe2,通过(xe1+xe2)/2来表示该中心的X坐标,并且,该中心位于该下眼睑探索窗口W2上。
[0097] 《第二实施方式》
[0098] 接着,参照附图,说明本发明的第二实施方式。此外,针对与第一实施方式相同或者同等的结构,利用同等的附图标记,并且省略或者简略说明。
[0099] 本实施方式的眼睑检测装置10A就运算装置20由
硬件构成这一点而言,与第一实施方式的眼睑检测装置10不同。如图17所示,眼睑检测装置10具有存储部20a、像素提取部20b、上眼睑位置检测部20c、上眼睑基准位置设定部20d、下眼睑位置检测部20e、下眼睑探索窗口变形部20f、下眼睑基准位置设定部20g及开度计算部20h。
[0100] 存储部20a依次存储与从拍摄装置30输出的图像相关的信息及包括上述各部20b~20f的处理结果等的信息。
[0101] 像素提取部20b对图像IM执行利用了索贝尔滤波器的图像处理,提取出图像IM所包含的边缘。接着,从提取出的边缘中,检测出表示驾驶员脸部轮廓F的边缘。接着,从由驾驶员脸部轮廓F包围的区域所包含的边缘中,检测出表示驾驶员的眉毛和嘴部的边缘,大致确定驾驶员的眉毛和嘴部的位置。若确定了眉毛和嘴部的位置,则如图4所示,像素提取部20b检测出X轴方向的大小与脸部轮廓大致一致并且包括驾驶员50的眉毛及嘴部的最小矩形区域,来作为脸部区域A1。
[0102] 虽然构成脸部的眉、目、鼻及口的位置多少有些个体差异,但能够以脸部的轮廓、眉毛或者眼部等的某一个部位等为基准,而能够大概进行确定。因此,在以眉毛位于上端,嘴部位于下端的方式规定的脸部区域A1中,能够在某种程度上准确地确定眼部所在的区域。于是,像素提取部20b在脸部区域A1所包含的眉毛的图像的下方,规定将长度方向作为X轴方向的长方形的探索区域A2。
[0103] 接着,像素提取部20b对探索区域A2执行边缘检测处理。在进行边缘检测时,利用图5A示出的水平边缘检测算子和图5B示出的垂直边缘检测算子。如图6所示,通过该边缘检测处理,提取构成眼部51、52的上眼睑及下眼睑的边缘的像素D。下面,将右眼51的上眼睑的边缘设为像素群G1,将下眼睑的边缘设为像素群G2。另外,将左眼52的上眼睑的边缘设为像素群G3,将下眼睑的边缘设为像素群G4。
[0104] 上眼睑位置检测部20c进行利用了上眼睑探索窗口W1的扫描,由此检测出上眼睑的位置。具体来说,上眼睑位置检测部20c使上眼睑探索窗口W1在探索区域A2内以例如相当于一个像素的距离为单位进行移动。同时,依次对第一边缘值加上第二边缘值减去第三边缘值的值的合计值进行计算,来作为评价值,其中,第一边缘值是指,与水平边缘窗口P1重合的像素D的边缘值总和,第二边缘值是指,与垂直边缘窗口P2重合的像素D的边缘值总和,第三边缘值是指,与垂直边缘窗口P3重合的像素的边缘值总和。然后,上眼睑位置检测部20c检测出评价值最大时的上眼睑探索窗口W1的位置,来作为右眼51的上眼睑的位置。另外,以同样的顺序来检测出左眼52的上眼睑的位置。
[0105] 上眼睑基准位置设定部20d对检测出的右眼51及左眼52的上眼睑的基准位置进行设定。具体来说,如图8所示,将与重合于像素群G3的上眼睑探索窗口W1的重心相一致的XY坐标系的位置设为右眼51的上眼睑边缘的基准位置C1。同样地,上眼睑基准位置设定部20d将与重合于像素群G3的上眼睑探索窗口W1的重心相一致的XY坐标系的位置设定为左眼52的上眼睑的基准位置C1。
[0106] 下眼睑位置检测部20e首先设定下眼睑探索区域。下眼睑位于上眼睑的下方。于是,如图9所示,下眼睑位置检测部20e设定矩形的下眼睑探索区域A3,在该下眼睑探索区域A3中构成上眼睑边缘的像素群G1位于上方位置。同样地,设定像素群G3位于上方的、矩形的下眼睑探索区域A4。
[0107] 接着,下眼睑位置检测部20e进行利用了下眼睑探索窗口的扫描,由此来检测出下眼睑的位置。如图10所示,下眼睑探索窗口W2为将长度方向作为X轴方向的窗口。就该下眼睑探索窗口W2而言,Y轴方向的大小与像素D的Y轴方向的大小相等。另外,X轴方向的大小与上眼睑探索窗口W1的X轴方向的大小相等。
[0108] 下眼睑位置检测部20e使下眼睑探索窗口W2在下眼睑探索区域A3内以例如相当于一个像素的距离为单位进行移动。同时,依次计算出与下眼睑探索窗口W2重合的像素D的边缘值总和,来作为评价值。然后,下眼睑位置检测部20e检测出在评价值最小时的下眼睑探索窗口W2的位置,来作为右眼51的下眼睑的位置。同样地,下眼睑位置检测部20e对下眼睑探索区域A4,也执行上述利用了下眼睑探索窗口W2的处理。
[0109] 下眼睑探索窗口变形部20f基于构成像素群G2的像素的分布,改变下眼睑探索窗口W2的形状。具体来说,如图12所示,下眼睑探索窗口变形部20f在与下眼睑探索窗口W2重合的组G25的两端,设定Y轴方向的大小为3d、X轴方向的大小为d的像素探索窗口W3、W4。然后,使像素探索窗口W3向-X方向移动,提取与该像素探索窗口W3重合的像素D。由此,提取出构成组G24的像素。同样地,下眼睑探索窗口变形部20f使像素探索窗口W4向+X方向移动,提取与该像素探索窗口W4重合的像素D。由此,提取出构成组G26的像素D。
[0110] 接着,如图13所示,下眼睑探索窗口变形部20f改变下眼睑探索窗口W2的形状,使该下眼睑探索窗口W2与如下的像素D重合:构成已经与该像素探索窗口W4重合的组G25的像素D和构成利用像素探索窗口W3,W4提取出的组G24、G26的像素D。由此,如图13所示,下眼睑探索窗口W2由三个长方形的框构成。
[0111] 接着,下眼睑探索窗口变形部20f在组G24的-X侧端设定像素探索窗口W3,在组G26的+X侧端设定像素探索窗口W4。然后,使各像素探索窗口W3、W4向-X方向及+X方向移动,提取构成与该像素探索窗口W3,W4重合的组G23、G27的像素D。
[0112] 接着,下眼睑探索窗口变形部20f改变下眼睑探索窗口W2的形状,使该下眼睑探索窗口W2与提取出的像素重合。此后,下眼睑探索窗口变形部20f重复执行同样的处理。由此,如图14所示,改变下眼睑探索窗口W2的形状,使下眼睑探索窗口W2与表示下眼睑的边缘的像素群G2完全重合。另外,下眼睑探索窗口变形部20f也对与像素群G4重合的下眼睑探索窗口W2执行上述处理。
[0113] 下眼睑基准位置设定部20g设定下眼睑的基准位置。具体来说,下眼睑基准位置设定部20g计算被下眼睑探索窗口变形部20f变形的下眼睑探索窗口W2的重心。然后,将计算出的重心的XY坐标系的位置设定为下眼睑的基准位置C2。下眼睑基准位置设定部20g也对与像素群G4重合的下眼睑探索窗口W2执行上述处理。
[0114] 如图15所示,开度计算部20h计测右眼51及左眼52各自的上眼睑的基准位置C1与下眼睑的基准位置C2之间的距离。然后,输出该距离与规定的阈值的比较结果,来作为开度。由此,能够以开度为指标,进行对驾驶员50的清醒度的判断。
[0115] 如上所述,在本第二实施方式中,在进行下眼睑的检测时,首先,进行利用下眼睑探索窗口W2的扫描。然后,使位于与下眼睑探索窗口W2重合的像素D边缘值总和(评价值)最大的位置的下眼睑探索窗口W2变形,使下眼睑探索窗口W2与构成下眼睑的边缘的像素拟合。接着,将变形后的下眼睑探索窗口W2的重心的位置设定为下眼睑的基准位置。
[0116] 即,在本实施方式中,将与构成下眼睑边缘的像素拟合的下眼睑探索窗口W2的重心设定为基准位置。因此,即使下眼睑探索窗口W2的形状与下眼睑的边缘的形状不同,也能够高精度地设定下眼睑的基准位置。因此,能够高精度地检测出驾驶员50的眼的开度,而且,能够高精度地判断驾驶员50的清醒度。
[0117] 以上,针对本发明的实施方式进行了说明,但本发明不限于上述实施方式。
[0118] 例如,在上述实施方式中,针对使得用于探索下眼睑边缘的下眼睑探索窗口W2变形,将变形后的下眼睑探索窗口W2的重心设为下眼睑基准位置的情况进行了说明。但不限于此,还可以使上眼睑探索窗口W1变形,以使该上眼睑探索窗口W1与构成上眼睑的边缘的像素重合,从而将变形后的上眼睑探索窗口W1的重心设定为上眼睑的基准位置。
[0119] 在上述实施方式中,将下眼睑探索窗口W2的重心设定为眼睑的基准位置。但不限于此,例如,还可以使两端分别与眼睑的内眼角及外眼角一致的曲线与重合于下眼睑探索窗口W2的像素相拟合,将拟合后的曲线的
顶点设定为基准位置。此外,例如日本特开2008-226125号公报公开的那样,能够利用使用模板(template)的公知的技术,来确定图像上的内眼角及外眼角。
[0120] 另外,仅在变形后的下眼睑探索窗口W2的附近区域进行用于确定内眼角等的处理即可。具体来说,将变形后的所述下眼睑探索窗口W2的两端设定为基准位置,在这些基准位置附近的区域,执行用于确定上述内眼角等的处理即可。由此,能够迅速地进行利用模板的探索处理。
[0121] 在上述实施方式中,针对下眼睑探索窗口W2为长方形的情况进行了说明。但不限于此,下眼睑探索窗口W2还可以以向下突出或向上突出的方式弯曲。
[0122] 在上述实施方式中,计测上眼睑的基准位置C1和下眼睑的基准位置C2的距离,输出该距离与阈值的比较结果,来作为开度。但不限于此,可以从基准位置C1向变形后的下眼睑探索窗口W2作与Y轴平行的垂线,输出该垂线的长度与阈值的比较结果,来作为开度。
[0123] 上述实施方式的运算装置20的功能既能够通过专用的硬件也能够通过通常的
计算机系统来实现。
[0124] 在上述第一实施方式中,存储在运算装置20的辅助存储部23的程序可以保存在
软盘、CD-ROM(Compact Disk Read-Only Memory:只读光盘)、DVD(Digital Versatile Disk:数字多功能光盘)、MO(Magneto-Optical disk:磁光盘)等的计算机能够读取的记录介质进行分发,通过将该程序安装到计算机上,来构成执行上述的处理的装置。
[0125] 另外,还可以将程序保存在互联网等通信网络上的规定
服务器装置所具有的磁盘设备等内,例如,使程序加载在载波上,下载到计算机等。
[0126] 另外,可以一边经由通信网络传送程序,一边执行起动。
[0127] 另外,可以使程序的全部或一部分在服务器装置上执行,一边经由通信网络发送/接收与所执行的处理相关的信息,一边执行上述的图像处理。
[0128] 此外,在OS(Operating System:
操作系统)分担实现上述功能的情况下或利用OS与应用程序的共同作用来实现上述功能的情况下等,可以仅将OS以外的部分保存在介质内进行分发,另外,也可以下载到计算机等。
[0129] 此外,本发明在不脱离本发明的广义的精神和范围的前提下能够进行各种各样的实施方式及变形。另外,上述的实施方式用于说明本发明,但不限定本发明的范围。
[0130] 工业上的可利用性
[0131] 本发明的眼睑检测装置、眼睑检测方法及程序适合检测眼睑的基准位置。
[0132] 附图标记说明
[0133] 10、10A 眼睑检测装置,
[0134] 20 运算装置,
[0135] 20a 存储部,
[0136] 20b 像素提取部,
[0137] 20c 上眼睑位置检测部,
[0138] 20d 上眼睑基准位置设定部,
[0139] 20e 下眼睑位置检测部,
[0140] 20f 下眼睑探索窗口变形部,
[0141] 20g 下眼睑基准位置设定部,
[0142] 20h 开度计算部,
[0143] 21 CPU,
[0144] 22 主存储部,
[0145] 23 辅助存储部,
[0146] 24 显示部,
[0147] 25 输入部,
[0148] 26 接口部,
[0149] 27 系统总线,
[0150] 30 拍摄装置,
[0151] 50 驾驶员,
[0152] 51 右眼,
[0153] 52 左眼,
[0154] A1 脸部区域,
[0155] A2 探索区域,
[0156] A3、A4 下眼睑探索区域,
[0157] C1、C2 基准位置,
[0158] D 像素,
[0159] F 轮廓,
[0160] G1~G4 像素群,
[0161] IM 图像,
[0162] P1 水平边缘窗口,
[0163] P2、P3 垂直边缘窗口,
[0164] W1 上眼睑探索窗口,
[0165] W2 下眼睑探索窗口,
[0166] W3、W4 像素探索窗口。