瞌睡检测装置及其瞌睡检测方法与流程

文档序号:17049755发布日期:2019-03-05 19:56阅读:626来源:国知局
瞌睡检测装置及其瞌睡检测方法与流程

本发明涉及瞌睡检测装置,特别涉及一种瞌睡检测装置及其瞌睡检测方法。



背景技术:

目前车用安全相关的系统,有针对车外的驾驶辅助系统(advanceddriverassistancesystems,adas),也有针对车内的瞌睡检测系统(drowsinessdetectionsystem)。以瞌睡检测系统来说,在检测到驾驶人精神状况不好或打瞌睡时,要适时发出警告唤醒驾驶人。但要如何检测驾驶人的状况是件困难的技术,目前接触式的技术直接检测驾驶人心跳、血氧等参数的技术,也有非接触式的技术直接检测驾驶人外观的技术。以非接触式的技术来说,可利用检测驾驶人的眼睛来判断是否打瞌睡。然而,计算机装置并不懂何谓张眼与闭眼,因此要由图像中的眼睛大小来判断,但眼睛大小的阈值很难决定,不仅每个驾驶人不同,同一个驾驶人改变姿势也会影响眼睛的大小。因此,传统的方法并无法准确地利用图像判断驾驶人的眼睛部位,这也会影响到瞌睡检测的准确率。

因此,需要一种瞌睡检测装置及其瞌睡检测方法以解决上述问题。



技术实现要素:

本发明提供一种瞌睡检测装置,包括:一图像捕获设备,用以持续地捕获一使用者的多张人脸图像;一警告设备;一瞌睡判断电路,用以从该多张人脸图像中的一目前图像取得一眼睛区域,并计算该眼睛区域的一垂直直方图,并依据该垂直直方图判断一眼睛部位,其中该瞌睡判断电路将该眼睛部位的一像素高度与一闭眼像素阈值比较以进行一闭眼判断,并依据该闭眼判断的结果进行一瞌睡检测,其中当该瞌睡检测的结果为该使用者处于一瞌睡状态,该瞌睡判断电路发送一控制信号至该警告设备以发出一警告声。

在本发明的一实施例中,瞌睡判断电路统计一目前周期中的该多张人脸图像中的一最大像素高度,并依据该最大像素高度与该闭眼像素阈值的一差值决定是否更新该闭眼像素阈值。

承上述实施例,当该最大像素高度与该闭眼像素阈值的该差值大于或等于一预定值,该瞌睡判断电路将该闭眼像素阈值更新为该最大像素高度,其中当该最大像素高度与该闭眼像素阈值的该差值小于该预定值,该瞌睡判断电路不更新该闭眼像素阈值。

在本发明的一实施例中,当该目前图像的该眼睛部位的该像素高度小于该闭眼像素阈值,该瞌睡判断电路判断在该目前图像中的该眼睛部位处于一闭眼状态,其中当该目前图像的该眼睛部位的该像素高度大于或等于该闭眼像素阈值,该瞌睡判断电路判断在该目前图像中的该眼睛部位处于一张眼状态。该瞌睡判断电路更计算在一预定期间中的该眼睛部位处于该闭眼状态的一数量,且当该数量超过一预定数量时,该瞌睡判断电路发送该控制信号至该警告设备以发出该警告声。

在本发明的一实施例中,该瞌睡判断电路统计在该眼睛区域中的每一列的黑色像素数量以产生该垂直直方图。依据该垂直直方图以取得多个相对峰值,并由该多个相对峰值决定一最大峰值,且依据该最大峰值以从该多个相对峰值过滤出多个有效峰值,其中该瞌睡判断电路由该多个有效峰值中决定一最大范围以做为该眼睛部位。

本发明更提供一种瞌睡检测方法,用于一瞌睡检测装置,其中该瞌睡装置包括一图像捕获设备及一警告设备,该方法包括:利用该图像捕获设备持续地捕获一使用者的多张人脸图像;从该多张人脸图像中的一目前图像取得一眼睛区域;计算该眼睛区域的一垂直直方图,并依据该垂直直方图判断一眼睛部位;将该眼睛部位的一像素高度与一闭眼像素阈值比较以进行一闭眼判断,并依据该闭眼判断的结果进行一瞌睡检测;以及当该瞌睡检测的结果为该使用者处于一瞌睡状态,发送一控制信号至该警告设备以发出一警告声。

附图说明

图1是显示依据本发明一实施例的瞌睡检测装置的功能方块图。

图2a是显示依据本发明一实施例中的图像信号的示意图。

图2b是显示依据本发明一实施例中的图像信号中的眼睛区域的垂直直方图。

图3是显示依据本发明一实施例中的瞌睡检测方法的流程图。

附图标记说明

20~使用者;

100~瞌睡检测装置;

110~图像捕获设备;

120~瞌睡判断电路;

130~警告设备;

131~控制器;

132~扬声器;

210~人脸区域;

220~眼睛区域;

221-226~相对峰值。

具体实施方式

为使本发明的上述目的、特征和优点能更明显易懂,下文特举一较佳实施例,并配合所附图式,作详细说明如下。

图1是显示依据本发明一实施例的瞌睡检测装置的功能方块图。

如图1所示,瞌睡检测装置100对一用户20进行瞌睡检测。举例来说,瞌睡检测装置100可安装于车辆上的车用系统,用以检测在车内的驾驶人(即使用者20)的眼睛的开合情况,并据以判断驾驶人的精神状态是否良好。

在一实施例中,瞌睡检测装置100包括一图像捕获设备110、一瞌睡判断电路120、以及一警告设备130。

图像捕获设备110例如可为具有感光耦合组件(charge-coupleddevice,ccd)或是互补性氧化金属半导体(complementarymetal-oxidesemiconductor,cmos)感光组件的一摄影机。图像捕获设备110用以持续拍摄检测目标(例如车辆的驾驶)的脸部并产生一图像信号。

瞌睡判断电路120接收来自图像捕获设备110的图像信号,并分析该图像信号以判断用户20是否有打瞌睡的情况。上述判断流程的细节将详述于后。举例来说,瞌睡判断电路120例如可为一应用导向集成电路(application-specificintegratedcircuit,asic)、或是可由现场可程序化门阵列(field-programmablegatearray,fpga)或是特定的逻辑电路所实现,但本发明并不限于此。。在一些实施例中,瞌睡判断电路120例如可用一中央处理器(cpu)、数字信号处理器(dsp)、或图像信号处理器(isp)所实现,但本发明并不限于此。

警告设备130例如包括一控制器131以及一扬声器132,其中控制器131接收来自瞌睡判断电路120的一控制信号,并控制扬声器132发出相应的警告声。

当瞌睡判断电路120判断用户20有打瞌睡的情况,则瞌睡判断电路120会发出一控制信号至警告设备130。此时,警告设备130依据来自瞌睡判断电路120的一控制信号以发出一警告声以提醒使用者20。

图2a是显示依据本发明一实施例中的图像信号的示意图。

在一实施例中,当瞌睡判断电路120接收到来自图像捕获设备110的图像信号,瞌睡判断电路120分析该图像信号以判断用户的人脸区域210,并依据判断出的人脸区域决定眼睛区域220,其中上述眼睛区域220亦可称为感兴趣区域(regionofinterest,roi)。接着,瞌睡判断电路120计算眼睛区域220的垂直直方图(verticalhistogram)。需注意的是,眼睛区域220是指在人眼部位及其周围的区域,也就是可能包括了镜框、眉毛、眼睑等区域。

图2b是显示依据本发明一实施例中的图像信号中的眼睛区域的垂直直方图。

详细而言,因为眼睛区域220在图像信号中所占的比例较小,因此可针对眼睛区域中的每一列的像素进行统计。举例来说,人的眼睛的像素通常只有黑跟白,也就是灰阶值小于一预定阈值的像素被判断为黑色像素,灰阶值大于一预定阈值的像素被判断为白色像素。然而,在眼睛区域220(即感兴趣区域)可能包括了眼镜的镜框、或是眉毛等等非人眼的对象。因此,瞌睡判断电路120可分别统计在眼睛区域220中的每一列的黑色像素的数量,并据以产生该垂直直方图,其中垂直直方图的水平方向表示像素数量、垂直方向则表示在眼睛区域220中的列数。本发明利用垂直直方图搭配后续的判断流程则可从眼睛区域220中过滤出人眼的部份。

在一实施例中,瞌睡判断电路120会先从眼睛区域的垂直直方图中判断出多个相对峰值。举例来说,当在垂直直方图中的一特定列的黑色像素数量与其邻近上下两列的黑色像素数量的差异大于一预定值时,则可判断该特定列为一相对峰值,例如相对峰值221~226。接着,瞌睡判断电路120由该多个相对峰值中找出多个有效峰值。

更进一步而言,瞌睡判断电路120会先由该多个相对峰值中决定一最大相对峰值,并依据该最大相对峰值设定一阈值。举例来说,上述阈值可为该最大相对峰值的一预定比例,例如2/3。需注意的是,上述预定比例可依实际情况进行调整。

请参考图2b,相对峰值221是在所有相对峰值221~226中的最大值,故瞌睡判断电路120会决定相对峰值221为最大相对峰值。瞌睡判断电路120以最大相对峰值乘上预定比例以做为阈值并过滤该多个相对峰值。以预定比例=2/3为例,会由该多个相对峰值中过滤出相对峰值221、223、及226,此即为有效峰值。

在取得有效峰值后,瞌睡判断电路120会进一步判断眼睛部位。举例来说,瞌睡判断电路120会从上述几个有效峰值中找出范围最大的区域并定义为眼睛部位,意即此区域即为眼睛部位的像素。更进一步而言,上述范围的定义是指“从有效峰值往上与下找到第一个谷底”。因此,从图2b的例子来看,有效峰值223所相应的上下谷底峰值227及228之间会具有最大的范围。故瞌睡判断电路120会将峰值227及228之间的区域定义为眼睛部位并取得眼睛部位的像素高度(以像素数量表示)。在一实施例中,因为图像捕获设备110持续拍摄用户的人脸图像,瞌睡判断电路120会进一步定义出眼睛部位的图像张数。意即,瞌睡判断电路120会统计有找到眼睛部位并且有计算出眼睛部位的像素高度的图像,并统计其数量。当图像数量未达到一预定数量,则瞌睡判断电路120储存目前图像的眼睛部位的像素高度。当图像数量已累积达到一预定数量(例如20张或300张,非限定),则瞌睡判断电路120则会从在该预定数量中的图像找出眼睛部位的最大像素高度,并更新最大像素高度的数值。需注意的是,该预定数量可视实际情况进行调整。

更进一步而言,瞌睡判断电路120主要是判断车辆的驾驶人在驾驶状态下的眼睛部位的状态。然而,驾驶人在座位上往往会有各种动作(例如是喝咖啡、开置物箱、调整出风口、调整冷气温度、设定导航系统、转头聊天、检视简讯等等),且在动作过程中有可能会让眼睛部位的像素高度变小。因此,若图像张数的预定数量太小,瞌睡判断电路120所取得的眼睛部位的最大像素高度可能是动作过程中的眼睛部位,而不是驾驶状态时的眼睛部位。

在一实施例中,瞌睡判断电路120更新眼睛部位的最大像素高度以该预定数量的图像做为单位。举例来说,当图像数量已累积达到一预定数量(例如20张或300张,非限定),则瞌睡判断电路120则会从在该预定数量中的图像找出眼睛部位的最大像素高度,并更新最大像素高度的数值,以及重置累积的图像张数。更新后的最大像素高度,则会用于下一个周期的瞌睡检测判断,例如在目前周期的图像数量尚未累积至该预定数量时,瞌睡判断电路120会以上一个周期的最大像素高度进行闭眼判断。

承上述实施例,在瞌睡判断电路120取得最大像素高度后会先判断是否已设定一闭眼像素阈值。举例来说,若瞌睡判断电路120判断目前图像的眼睛部位的像素高度小于该闭眼像素阈值,则会累积一闭眼图像计数值。当在一预定时间内的闭眼图像计数值达到一上限值时,瞌睡判断电路120则判断该用户有打瞌睡,并传送一控制信号至警告设备130以发出警告声以提醒使用者。

更进一步而言,若尚未设定闭眼像素阈值(例如瞌睡检测装置100刚启动时),瞌睡判断电路120则会将目前周期的最大像素高度设定为该闭眼像素阈值,意即在第一个周期中可不进行瞌睡判断。若已设定闭眼像素阈值,瞌睡判断电路120则判断目前周期所计算出的最大像素高度与该闭眼像素阈值之间的差值(取其绝对值)是否大于或等于一预定值x。若是,瞌睡判断电路120则会将该闭眼像素阈值更新为目前周期所计算出的最大像素高度。若否,瞌睡判断电路120则不更新该闭眼像素阈值。

举例来说,在已设定闭眼像素阈值的情况下,瞌睡判断电路120是要判断驾驶人的头部有没有移动,即以上述的预定值x做为标准。意即,移动量大于或等于预定值x表示驾驶人的头部有移动,需要更新闭眼像素阈值。移动量未超过预定值x表示驾驶人的头部没有移动或移动程度很小,不需要更新闭眼像素阈值。

表1是示出依据本发明一实施例中判断闭眼像素阈值的示意图。

表1

请参考表1,在此实施例中设定该预定值x为2,且每一周期的图像数量为300,上述数值仅为用于说明,但本发明并不以此为限。

在图像0~300的第一周期,即瞌睡检测装置100刚启动,用户正常驾驶,且此时并未设定闭眼检测阈值。

在图像301~600的第二周期,用户正常驾驶。因尚未设定闭眼像素阈值,故在第一周期的最后一张图像(即图像300)的计算结束后,瞌睡判断电路120则会将上一周期(图像0~300)所计算出的最大像素高度(例如12)设定为闭眼像素阈值,用于第二周期(图像301~600)的判断。

在第二周期的最后一张图像(即图像600)的计算结束后,瞌睡判断电路120则会将第二周期(图像301~600)所计算出的最大像素高度(例如12)与目前的闭眼像素阈值(例如12)进行比较,因两者的差距为0,故瞌睡判断电路120则不更新闭眼像素阈值,继续用于第三周期(图像601~900)的判断。

在图像601~900的第三周期,用户有抬头的动作。在第三周期的最后一张图像(即图像900)的计算结束后,瞌睡判断电路120则会将第三周期(图像601~900)所计算出的最大像素高度(例如9)与目前的闭眼像素阈值(例如12)进行比较,因两者的差距为3,已大于该预定值x,故瞌睡判断电路120将闭眼像素阈值更新为第三周期的最大像素高度(例如9),并用于第四周期(图像901~1200)的判断。

在图像901~1200的第四周期,用户正常驾驶。在第四周期的最后一张图像(即图像1200)的计算结束后,瞌睡判断电路120则会将第四周期(图像901~1200)所计算出的最大像素高度(例如11)与目前的闭眼像素阈值(例如9)进行比较,因两者的差距为2,已等于该预定值x,故瞌睡判断电路120将闭眼像素阈值更新为第四周期的最大像素高度(例如11),并用于第五周期(图像1201~1500)的判断。

在图像1201~1500的第五周期,用户往后移动(例如调整驾驶座)。在第五周期的最后一张图像(即图像1500)的计算结束后,瞌睡判断电路120则会将第五周期(图像1201~1500)所计算出的最大像素高度(例如8)与目前的闭眼像素阈值(例如11)进行比较,因两者的差距为3,已大于该预定值x,故瞌睡判断电路120将闭眼像素阈值更新为第五周期的最大像素高度(例如8),并用于第六周期(图像1501~1800)的判断。

在图像1501~1800的第六周期,用户正常驾驶。在第六周期的最后一张图像(即图像1800)的计算结束后,瞌睡判断电路120则会将第六周期(图像1501~1800)所计算出的最大像素高度(例如10)与目前的闭眼像素阈值(例如8)进行比较,因两者的差距为2,已等于该预定值x,故瞌睡判断电路120将闭眼像素阈值更新为第六周期的最大像素高度(例如10),并用于第七周期(图像1801~2100)的判断。

在图像1801~2100的第七周期,用户正常驾驶。在第七周期的最后一张图像(即图像2100)的计算结束后,瞌睡判断电路120则会将第七周期(图像1801~2100)所计算出的最大像素高度(例如12)与目前的闭眼像素阈值(例如10)进行比较,因两者的差距为2,已等于该预定值x,故瞌睡判断电路120将闭眼像素阈值更新为第七周期的最大像素高度(例如10),并用于后续判断。

图3是显示依据本发明一实施例中的瞌睡检测方法的流程图。

在步骤s302,利用图像捕获设备持续地捕获一使用者的多张人脸图像。

在步骤s304,从该多张人脸图像中的一目前图像取得一眼睛区域。举例来说,瞌睡判断电路120会先从目前图像中计算出一人脸区域,并由该人脸区域中判断出一眼睛区域,其中上述决定人脸区域及眼睛区域的方法已为本发明中具有通常知识者所熟知,故其细节于此不再赘述。

在步骤s306,计算该眼睛区域的一垂直直方图。举例来说,瞌睡判断电路120会统计在该眼睛区域中的每一列的黑色像素的数量,以产生该垂直直方图。

在步骤s308,依据垂直直方图以判断一眼睛部位。举例来说,瞌睡判断电路120依据该眼睛区域中的该垂直直方图以取得多个相对峰值,并由该多个相对峰值决定一最大峰值,并且依据该最大峰值以从该多个相对峰值过滤出多个有效峰值,以及由该多个有效峰值中决定一最大范围以做为该眼睛部位。

在步骤s310,判断累积的人脸图像数量是否已达到一预定数量n。若是,则执行步骤s314,若否,则执行步骤s312。

在步骤s312,记录眼睛部位的像素高度。举例来说,瞌睡判断电路120在决定用户的眼睛部位是否闭眼的闭眼像素阈值均是以周期计算,每个周期都会有固定的图像数量。此外,最大像素高度亦是每个周期中的人脸图像的像素高度的最大值。因此,在每个周期的最后一张图像处理后即可决定该周期的最大像素高度。

在步骤s314,取得眼睛部位的最大像素高度h。

在步骤s316,判断是否已设定闭眼像素阈值。若是,则执行步骤s318,若否,则执行步骤s320。

在步骤s318,判断最大像素高度与闭眼像素阈值theye的差值的绝对值是否大于等于一预定值x。若是,则执行步骤s320,若否,则执行步骤s322。

在步骤s320,将闭眼像素阈值theye更新为最大像素高度h。

在步骤s322,进行闭眼判断。举例来说,若目前图像的眼睛部位的像素高度小于闭眼像素阈值,则瞌睡判断电路120可判断目前图像的眼睛部位处于一闭眼状态。若目前图像的眼睛部位的像素高度大于或等于闭眼像素阈值,则瞌睡判断电路120可判断目前图像的眼睛部位处于一张眼状态。

在步骤s324,进行瞌睡检测。举例来说,若瞌睡判断电路120判断目前图像的眼睛部位的像素高度小于该闭眼像素阈值,则会累积一闭眼图像计数值。当在一预定时间内的闭眼图像计数值达到一上限值时,瞌睡判断电路120则判断该用户有打瞌睡,并传送一控制信号至警告设备130以发出警告声以提醒使用者。

综上所述,本发明提供一种瞌睡检测装置及其瞌睡检测方法,其可使用动态检测的方法调整眼睛部位的阈值,即便驾驶人改变姿势也能对应修正阈值以避免误差。

本发明虽以较佳实施例揭露如上,然其并非用以限定本发明的范围,任何所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可做些许的更动与润饰,因此本发明的保护范围当视所附权利要求的范围所界定者为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1