CN118155192A - 疲劳驾驶检测方法、车辆、设备、存储介质及程序产品 - Google Patents
疲劳驾驶检测方法、车辆、设备、存储介质及程序产品 Download PDFInfo
- Publication number
- CN118155192A CN118155192A CN202410447010.3A CN202410447010A CN118155192A CN 118155192 A CN118155192 A CN 118155192A CN 202410447010 A CN202410447010 A CN 202410447010A CN 118155192 A CN118155192 A CN 118155192A
- Authority
- CN
- China
- Prior art keywords
- drowsiness
- driver
- preset
- determining
- head
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 79
- 230000001815 facial effect Effects 0.000 claims abstract description 153
- 230000006399 behavior Effects 0.000 claims abstract description 133
- 238000000034 method Methods 0.000 claims abstract description 44
- 206010041349 Somnolence Diseases 0.000 claims description 297
- 210000003128 head Anatomy 0.000 claims description 151
- 210000001508 eye Anatomy 0.000 claims description 136
- 230000004399 eye closure Effects 0.000 claims description 29
- 241001282135 Poromitra oscitans Species 0.000 claims description 23
- 206010048232 Yawning Diseases 0.000 claims description 23
- 230000001960 triggered effect Effects 0.000 claims description 11
- 238000000605 extraction Methods 0.000 claims description 5
- 238000005096 rolling process Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 17
- 230000006870 function Effects 0.000 description 10
- 230000004913 activation Effects 0.000 description 9
- 208000032140 Sleepiness Diseases 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 238000013136 deep learning model Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000037321 sleepiness Effects 0.000 description 5
- 238000012549 training Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 239000000725 suspension Substances 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 230000036626 alertness Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000002902 bimodal effect Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 230000002265 prevention Effects 0.000 description 2
- 241000253115 Carpesium Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000005252 bulbus oculi Anatomy 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000011248 coating agent Substances 0.000 description 1
- 238000000576 coating method Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000003631 expected effect Effects 0.000 description 1
- 238000005242 forging Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000035790 physiological processes and functions Effects 0.000 description 1
- 210000000697 sensory organ Anatomy 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Landscapes
- Traffic Control Systems (AREA)
Abstract
本申请公开了一种疲劳驾驶检测方法、车辆、设备、存储介质及程序产品,属于驾驶辅助技术领域。本申请通过获取驾驶员的面部图像;对面部图像进行关键点提取,输出提取到的面部关键点坐标;基于面部关键点坐标,能够准确确定面部图像的面部特征,具体地,可以准确确定驾驶员的面部特征,由于面部特征能够较为直观且准确地反映出驾驶员的疲劳状态,本申请基于所述面部特征,即可准确确定所述驾驶员是否存在疲劳驾驶行为,上述过程中不存在任何设备与驾驶员直接接触,不会影响驾驶员原本的疲劳状态,且不受车辆属性、道路状况和驾驶员习惯等因素的约束;基于以上,本申请能够准确检测驾驶员是否存在疲劳驾驶行为。
Description
技术领域
本申请涉及驾驶辅助技术领域,尤其涉及一种疲劳驾驶检测方法、车辆、设备、存储介质及程序产品。
背景技术
目前,疲劳驾驶的检测方法主要包括两种方式:一种是通过监测驾驶员的生理指标来检测驾驶员是否处于疲劳状态,当驾驶员处于疲劳状态时,生理指标会偏离正常状态;另一种是基于车辆运行状态来推测驾驶员是否处于疲劳状态。
然而,第一种方式需要监测生理指标设备与驾驶员直接接触,在监测过程中会影响驾驶员原本的疲劳状态;第二种方式通常会受车辆属性、道路状况和驾驶员习惯等因素的约束;因此,以上两种方式均无法准确检测驾驶员是否存在疲劳驾驶行为。
发明内容
本申请的主要目的在于提供一种疲劳驾驶检测方法、车辆、设备、存储介质及程序产品。
为实现上述目的,本申请提供一种疲劳驾驶检测方法,所述疲劳驾驶检测方法包括以下步骤:
获取驾驶员的面部图像;
对所述面部图像进行关键点提取,输出提取到的面部关键点坐标;
基于所述面部关键点坐标,确定所述面部图像的面部特征;
基于所述面部特征,确定所述驾驶员是否存在疲劳驾驶行为。
进一步地,所述面部特征包括眼睛状态、嘴巴张开程度、头部姿态和眼睛注视方向,所述疲劳驾驶行为包括困倦行为和分心行为,所述基于所述面部特征,确定所述驾驶员是否存在疲劳驾驶行为的步骤,包括以下至少一项:
基于所述眼睛状态、嘴巴张开程度或者头部姿态,确定所述驾驶员是否存在困倦行为;
基于所述眼睛状态、头部姿态或者眼睛注视方向,确定所述驾驶员是否存在分心行为。
进一步地,所述头部姿态包括头部在水平方向上左右转动,所述基于所述眼睛状态、嘴巴张开程度或者头部姿态,确定所述驾驶员是否存在困倦行为的步骤,包括以下至少一项:
当在预设第一时段内所述眼睛状态为闭眼的比例大于预设比例时,确定所述驾驶员存在困倦行为;
当所述嘴巴张开程度在预设第二时段内大于第一程度阈值,且在预设第三时段内大于第二程度阈值时,确定所述驾驶员存在困倦行为,其中,第二程度阈值大于第一程度阈值,预设第二时段大于预设第一时段;
当在预设第四时段内头部在水平方向上左右转动的角度小于第一角度阈值时,确定所述驾驶员存在困倦行为。
进一步地,所述头部姿态还包括头部在竖直方向上向下转动,以及以头部中心侧倾转动,所述基于所述眼睛状态、头部姿态或者眼睛注视方向,确定所述驾驶员是否存在分心行为的步骤,包括以下至少一项:
当在预设第五时段内所述眼睛状态为闭眼的比例大于预设比例时,确定所述驾驶员存在分心行为;
当在预设第六时段内所述头部在水平方向上左右转动的角度大于第二角度阈值、在竖直方向上向下转动的角度大于第三角度阈值、或者以头部中心侧倾转动的角度大于第四角度阈值时,确定所述驾驶员存在分心行为;
当在预设第七时段内所述眼睛注视方向偏离预设道路方向时,确定所述驾驶员存在分心行为。
进一步地,所述当在预设第一时段内所述眼睛状态为闭眼的比例大于预设比例时,确定所述驾驶员存在困倦行为的步骤之后,还包括:
暂停对新的面部图像进行眼睛状态的识别,直至暂停时间达到预设第一时间阈值。
进一步地,所述基于所述眼睛状态、嘴巴张开程度或者头部姿态,确定所述驾驶员是否存在困倦行为的步骤之后,还包括:
当存在困倦行为时,基于所述困倦行为所属困倦类型,以及所述困倦类型对应的预设触发次数,确定所述驾驶员的困倦等级,其中,所述预设触发次数用于触发所述困倦等级的升级,所述困倦等级用于表征所述驾驶员的困倦水平。
进一步地,所述困倦行为包括持续闭眼、打哈欠和头部左右小幅度转动,所述基于所述困倦行为所属困倦类型,以及所述困倦类型对应的预设触发次数,确定所述驾驶员的困倦等级的步骤,包括以下至少一项:
当所述困倦行为所属困倦类型为持续闭眼,且持续闭眼次数达到第一触发次数时,将困倦等级增加预设第一级数,得到所述驾驶员的困倦等级;
当所述困倦行为所属困倦类型为打哈欠,且打哈欠达到第二触发次数时,将困倦等级增加预设第二级数,得到所述驾驶员的困倦等级;
当所述困倦行为所属困倦类型为头部左右小幅度转动时,将困倦等级增加预设第三级数,得到所述驾驶员的困倦等级。
进一步地,所述基于所述困倦行为所属困倦类型,以及所述困倦类型对应的预设触发次数,确定所述驾驶员的困倦等级的步骤之后,还包括:
当所述困倦等级被触发升级时,暂停获取新的面部图像,直至暂停时间达到预设第二时间阈值。
进一步地,所述基于所述困倦行为所属困倦类型,以及所述困倦类型对应的预设触发次数,确定所述驾驶员的困倦等级的步骤之后,还包括:
当所述困倦等级在预设第八时段内未被触发升级时,将所述困倦等级降低预设第四级数,直至所述困倦等级达到预设最低等级,所述预设最低等级用于表征驾驶员处于非困倦状态。
进一步地,所述基于所述困倦行为所属困倦类型,以及所述困倦类型对应的预设触发次数,确定所述驾驶员的困倦等级的步骤之后,还包括:
基于所述困倦等级对所述驾驶员进行警告;
其中,当所述困倦等级达到预设最高等级时,持续发出警告,直至所述困倦等级达到预设最低等级。
进一步地,所述基于所述面部关键点坐标,确定所述面部图像的面部特征的步骤,包括以下至少一项:
基于所述面部关键点坐标,确定眼睛所在的局部图像,基于预设状态识别网络,对所述局部图像进行识别,输出识别到的所述驾驶员的眼睛状态;
基于嘴巴轮廓线在所述面部关键点坐标中的第一坐标,确定所述驾驶员的嘴巴张开程度;
基于头部轮廓线在所述面部关键点坐标中对应预设关键点的第二坐标,确定头部欧拉角,基于所述头部欧拉角,确定所述驾驶员的头部姿态;
基于所述局部图像以及所述面部图像,通过预设的注视方向预测网络进行预测,输出预测的眼睛的偏航角和俯仰角,基于所述眼睛的偏航角和俯仰角,确定所述驾驶员的眼睛注视方向。
进一步地,所述基于嘴巴轮廓线在所述面部关键点坐标中的第一坐标,确定所述驾驶员的嘴巴张开程度的步骤,包括:
基于嘴巴轮廓线在所述面部关键点坐标中的第一坐标,分别确定嘴巴在水平方向上的最大距离和在竖直方向上的最大距离;
基于所述嘴巴在水平方向上的最大距离和在竖直方向上的最大距离,确定所述驾驶员的嘴巴张开程度。
进一步地,所述基于所述面部关键点坐标,确定所述面部图像的面部特征的步骤之后,还包括:
当所述眼睛的偏航角大于第五角度阈值,或者俯仰角不属于预设角度范围时,确定所述驾驶员的眼睛注视方向偏离预设道路方向。
进一步地,所述获取驾驶员的面部图像的步骤之前,还包括:
获取驾驶员所驾驶的车辆的行驶速度;
当所述行驶速度小于预设速度阈值时,暂停获取新的面部图像,直至所述行驶速度大于等于预设速度阈值。
此外,为实现上述目的,本申请还提供一种车辆,所述车辆包括:
图像获取模块,用于获取驾驶员的面部图像;
关键点坐标提取模块,用于对所述面部图像进行关键点提取,输出提取到的面部关键点坐标;
面部特征确定模块,用于基于所述面部关键点坐标,确定所述面部图像的面部特征;
疲劳驾驶检测模块,用于基于所述面部特征,确定所述驾驶员是否存在疲劳驾驶行为。
此外,为实现上述目的,本申请还提供一种设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的疲劳驾驶检测程序,所述疲劳驾驶检测程序配置为实现如上所述的疲劳驾驶检测方法的步骤。
此外,为实现上述目的,本申请还提供一种存储介质,所述存储介质上存储有疲劳驾驶检测程序,所述疲劳驾驶检测程序被处理器执行时实现如上所述的疲劳驾驶检测方法的步骤。
此外,为实现上述目的,本申请还提供一种程序产品,所述程序产品包括疲劳驾驶检测程序,所述疲劳驾驶检测程序被处理器执行时实现如上文所述的疲劳驾驶检测方法的步骤。
本申请通过获取驾驶员的面部图像;对面部图像进行关键点提取,输出提取到的面部关键点坐标;基于面部关键点坐标,能够准确确定面部图像的面部特征,具体地,可以准确确定驾驶员的面部特征,由于面部特征能够较为直观且准确地反映出驾驶员的疲劳状态,本申请基于所述面部特征,即可准确确定所述驾驶员是否存在疲劳驾驶行为,上述过程中不存在任何设备与驾驶员直接接触,不会影响驾驶员原本的疲劳状态,且不受车辆属性、道路状况和驾驶员习惯等因素的约束;基于以上,本申请能够准确检测驾驶员是否存在疲劳驾驶行为。
附图说明
图1为本申请疲劳驾驶检测方法第一实施例的第一流程示意图;
图2为本申请疲劳驾驶检测方法第一实施例的第一逻辑架构图;
图3为本申请疲劳驾驶检测方法第一实施例的第二逻辑架构图;
图4为本申请疲劳驾驶检测方法第一实施例的第一场景示意图;
图5为本申请疲劳驾驶检测方法第一实施例的第一场景示意图;
图6为本申请疲劳驾驶检测方法第二实施例的第二流程示意图;
图7为本申请疲劳驾驶检测方法第三实施例的第三流程示意图;
图8是本申请实施例方案涉及的硬件运行环境的设备结构示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素,此外,本申请不同实施例中具有同样命名的部件、特征、要素可能具有相同含义,也可能具有不同含义,其具体含义需以其在该具体实施例中的解释或者进一步结合该具体实施例中上下文进行确定。
应当理解,尽管在本文可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一困倦类型的信息彼此区分开。例如,在不脱离本文范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语"如果"可以被解释成为"在……时"或"当……时"或"响应于确定"。再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、步骤、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。本申请使用的术语“或”、“和/或”、“包括以下至少一个”等可被解释为包括性的,或意味着任一个或任何组合。例如,“包括以下至少一个:A、B、C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A和B和C”,再如,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A和B和C”。仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
应该理解的是,虽然本申请实施例中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
需要说明的是,在本文中,采用了诸如S10、S20等步骤代号,其目的是为了更清楚简要地表述相应内容,不构成顺序上的实质性限制。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或者“单元”的后缀仅为了有利于本申请的说明,其本身没有特定的意义。因此,“模块”、“部件”或者“单元”可以混合地使用。
参照图1,图1为本申请疲劳驾驶检测方法第一实施例的流程示意图。
在第一实施例中,所述疲劳驾驶检测方法包括以下步骤:
S10:获取驾驶员的面部图像。
需要说明的是,上述疲劳驾驶检测方法的执行主体为车辆或者其他具备疲劳驾驶检测的设备,具体地,执行主体可以是车辆内部的检测装置或者检测***。
具体地,上述疲劳驾驶检测方法的应用场景可以是:驾驶员在驾驶过程中,检测装置实时检测驾驶员的疲劳驾驶行为,及时警告驾驶员,从而减轻与疲劳驾驶相关的风险。
目前,疲劳驾驶的检测方法主要包括两种方式:疲劳驾驶的检测方法主要包括两种方式:一种是通过监测驾驶员的生理指标来检测驾驶员是否处于疲劳状态,当驾驶员处于疲劳状态时,生理指标会偏离正常状态;另一种是基于车辆运行状态来推测驾驶员是否处于疲劳状态。然而,第一种方式需要生理指标监测设备与驾驶员直接接触,在监测过程中会影响驾驶员原本的疲劳状态;第二种方式通常会受车辆属性、道路状况和驾驶员习惯等因素的约束;即,以上两种方式均无法准确检测驾驶员的疲劳驾驶行为。
检测装置通过获取驾驶员的面部图像,基于面部图像对驾驶员的疲劳驾驶行为进行检测,能够从源头避免与驾驶员的直接接触,不会对驾驶员的疲劳状态产生影响。
具体地,可以采用相机拍摄驾驶员的面部,具体地,该相机可以是车载红外相机或者其他高清摄像头。该相机可以安装在驾驶员头部前方,具体地可以根据不遮挡驾驶员视野的原则进行设置,例如,固定在车辆A柱上。
为了避免不同的照明条件对图像清晰度的影响,优选采用车载红外相机获取驾驶员的面部。
在拍摄过程中,可以将近红外(NIR,Near Infrared)有源照明器与专门的镜头涂层配对,提供对光照强度的控制,减少拍摄过程中环境光的干扰,确保拍摄到高清晰度的驾驶员的面部图像;且,由于近红外有源照明器对人眼是不可见的,采用这种方式,能够确保拍摄过程中不会分散驾驶员注意力或者造成驾驶员的不适。
进一步地,参照图3,为了提升拍摄到的面部图像的清晰度,通过传感器检测环境光照强度,并将环境光照强度反馈至相机,相机通过脉宽调制(PWM,Pulse WidthModulation)技术,基于信号的脉冲宽度精准控制LED的亮度(自动曝光)。
需要说明的是,上述面部图像可以是检测装置基于人脸检测模型对原始图像提取到的,其中,原始图像可以是基于相机拍摄的视频提取到的视频帧,或者相机捕捉并上传的图像;该人脸检测模型可以是基于图像样本,对待训练的第一深度学习模型迭代训练得到的。
其中,所述待训练的第一深度学习模型可以是YOLOX模型,YOLOX模型相较于其他YOLO模型而言,其模型架构更加易于部署,且有益于硬件加速,从而降低延迟,提高人脸识别的准确性。
具体地,所述YOLOX模型的激活函数为ReLU激活函数,ReLU激活函数为f(x)=max(0,x);传统的YOLOX模型的激活函数为SiLU激活函数,而SiLU激活函数涉及更复杂的数学运算,在进行大规模数据处理时,采用SiLU激活函数会降低模型的处理效率。
而ReLU激活函数相较于SiLU激活函数在计算上更为简单高效,具体地,由于ReLU的计算仅需对输入值进行阈值处理,在前向传播和反向传播过程中ReLU激活函数的计算效率更高,在进行大规模数据处理时,采用ReLU激活函数可以减少计算时间,提升模型处理效率。
需要说明的是,YOLOX模型(人脸检测模型)还包括Focus层、reshape层、concate层和transpose层。
目前,由于NVIDIA ORIN DLA(Deep Learning Accelerator)无法运行YOLOX模型,即,无法实现对YOLOX模型的运行的加速,而在CPU上运行YOLOX模型的运行速度较慢。
故本发明为了提升模型运行速率,对YOLOX网络结构做了如下改进。将YOLOX模型中的Focus层、reshape层、concate层和transpose层均从YOLOX模型中去除,并将移除的Focus层、reshape层、concate层和transpose层均替换为CPU上的等效计算算子,得到优化后的YOLOX模型。改进后的YOLOX模型能够在NVIDIA ORIN DLA上运行,利于硬件加速的实现,提升人脸检测效率。同时,增加了YOLOX模型在不同硬件平台上部署的灵活性和适应性,使YOLOX模型能够更广泛地应用于各种环境。
可以理解,如图2或者图3所示,当检测装置通过人脸检测模型检测到原始图像中存在人脸时,将人脸从该原始图像中裁剪下来(裁剪尺寸)或者框选面部所在部分,从而得到面部图像。
S20:对所述面部图像进行关键点提取,输出提取到的面部关键点坐标。
检测装置在获取面部图像之后,为了便于分析驾驶员的面部特征,通过对所述面部图像进行关键点提取,输出提取到的面部关键点坐标;其中,面部关键点坐标包括五官轮廓的关键点坐标,以及脸部轮廓的关键点坐标等。
具体地,参照图2或者图3,可以是将面部图像输入至预设对齐模型中,通过预设对齐模型对所述面部图像进行关键点提取,输出提取到的面部关键点坐标;其中,预设对齐模型是基于面部图像样本,对待训练的第二深度学习模型迭代训练得到的,基于精准度的要求,在迭代训练过程中,可以设置输出的面部关键点坐标的个数,例如,68个、108个或者150个等。
如图4所示,预设对齐模型输出的面部关键点坐标存在108个,其中,根据关键点85至104可以确定嘴巴所在区域,同理,根据关键点56至83可以确定眼睛所在区域。
S30:基于所述面部关键点坐标,确定所述面部图像的面部特征。
需要说明的是,所述面部特征包括眼睛状态、嘴巴张开程度、头部姿态和眼睛注视方向。
由于面部特征能够直观且准确地反映用户的疲劳状态,为了准确确定用户是否存在疲劳驾驶行为,需要先分析所述驾驶员的眼睛状态、嘴巴张开程度、头部姿态和眼睛注视方向等面部特征。
具体地,可以基于所述面部关键点坐标,确定五官所在区域以及面部整体区域,再分别对各个区域单独进行面部特征的识别,从而提升识别准确性。
具体地,所述基于所述面部关键点坐标,确定所述面部图像的面部特征的实施方式可以包括以下至少一项:
基于所述面部关键点坐标,确定眼睛所在的局部图像,基于预设状态识别网络,对所述局部图像进行识别,输出识别到的所述驾驶员的眼睛状态;基于嘴巴轮廓线在所述面部关键点坐标中的第一坐标,确定所述驾驶员的嘴巴张开程度;基于头部轮廓线在所述面部关键点坐标中对应预设关键点的第二坐标,确定头部欧拉角,基于所述头部欧拉角,确定所述驾驶员的头部姿态;基于所述局部图像以及所述面部图像,通过预设的注视方向预测网络进行预测,输出预测的眼睛的偏航角和俯仰角,基于所述眼睛的偏航角和俯仰角,确定所述驾驶员的眼睛注视方向。
其中,参照图4,检测装置基于所述面部关键点坐标56至83,可以确定眼睛所在的局部图像,检测装置将该局部图像输入至预设状态识别网络,通过预设状态识别网络对所述局部图像进行识别,输出识别到的所述驾驶员的眼睛状态,眼睛状态包括睁眼和闭眼等;具体地,预设状态识别网络是基于眼睛状态样本,对待训练的第三深度学习模型进行迭代训练得到的。
需要说明的是,当头部在水平方向上左右转动角度大于20度时,无法准确检测眼睛状态,为了避免出现误检,不对眼睛状态进行识别,参照图2。
进一步地,所述基于嘴巴轮廓线在所述面部关键点坐标中的第一坐标,确定所述驾驶员的嘴巴张开程度的实施方式可以是:
基于嘴巴轮廓线在所述面部关键点坐标中的第一坐标,分别确定嘴巴在水平方向上的最大距离和在竖直方向上的最大距离;基于所述嘴巴在水平方向上的最大距离和在竖直方向上的最大距离,确定所述驾驶员的嘴巴张开程度。
由于检测装置基于所述面部关键点坐标可以确定嘴巴所在区域,基于嘴巴所在区域即可确定嘴巴轮廓线对应的第一坐标,检测装置基于嘴巴轮廓线在所述面部关键点坐标中的第一坐标,即可确定嘴巴在水平方向上的最大距离和在竖直方向上的最大距离;可以理解,当嘴巴在水平方向上的最大距离和在竖直方向上的最大距离均确定时,即可计算得到驾驶员的嘴巴张开程度,其中,嘴巴轮廓线所在区域对应的第一坐标包括关键点85-96。
参照图4,嘴巴在水平方向上的最大距离可以基于关键点85和关键点91确定,嘴巴在竖直方向上的最大距离可以基于关键点88和关键点94确定,驾驶员的嘴巴张开程度可以基于嘴巴纵横比(Mouth Aspect Ratio,MAR)的大小确定。
具体地,嘴巴纵横比可以是基于嘴巴在水平方向上的最大距离(|91-85|)和在竖直方向上的最大距离(|88-94|)计算得到的,其中,嘴巴纵横比MAR的具体计算方式可以是:
需要说明的是,在基于嘴巴轮廓线在所述面部关键点坐标中的第一坐标,确定所述驾驶员的嘴巴张开程度时,若所述面部不是正面,则需要对所述面部关键点坐标进行转换,基于转换后的面部关键点坐标,即可准确确定驾驶员的嘴巴张开程度。
具体地,对所述面部关键点坐标进行转换的具体实施方式可以是:将待转换的面部关键点坐标输入至opencv的findHomography算法,opencv的findHomography算法基于左眼角、右眼角、左嘴角和右嘴角的预设坐标,对待转换的面部关键点坐标进行自适应变换,得到转换后的面部关键点坐标,从而避免在头部偏航角、俯仰角或旋转角的角度较大情况下,嘴巴张开程度的判断准确度降低的问题,进而提升对面部特征识别的准确性。
进一步地,由于头部姿态发生变化的同时面部关键点也随之发生变化,即,可以通过确定预设个关键点的第二坐标的变化,确定驾驶员的头部姿态;其中,预设个关键点可以是至少一个关键点,例如5个关键点,基于该预设个关键点,通过相机位姿估计方法(Perspective-n-Point,PNP)计算驾驶员的头部欧拉角,由于相机的外部参数均已预先校准,只需要通过束调整(Bundle Adjustment,BA)进行细化,即可得到准确的头部欧拉角。
其中,头部欧拉角包括头部偏航角(Yaw)、头部俯仰角(Pitch)和头部滚转角(Roll),头部偏航角用于衡量头部在水平方向上(即,沿着X轴方向)左右转动的角度(左转或右转的角度),头部俯仰角用于衡量头部在竖直方向上(即,沿着Y轴方向)上下转动的角度(抬头或低头的角度),头部滚转角用于衡量以头部中心侧倾转动的角度(即,沿着Z轴方向)转动的角度(左倾或右倾的角度)。
基于上述头部偏航角、头部俯仰角和头部滚转角,即可确定驾驶员头部的任何姿态,需要说明的是,头部姿态包括头部左右小幅度转动、左右正常幅度转动、左右大幅度转动、向下小幅度转动、向下大幅度转动、小幅度侧倾和大幅度侧倾等。
具体地,所述基于所述头部欧拉角,确定所述驾驶员的头部姿态的具体实施方式可以是:基于相邻两张面部图像分别对应的两个头部偏航角之间的差值、两个头部俯仰角之间的差值,或者两个头部滚转角之间的差值,确定所述驾驶员的头部姿态。
可以理解,相邻两张面部图像分别对应的两个头部偏航角之间的差值越大,认为驾驶员头部在水平方向上左右转动的角度越大,反之,认为驾驶员头部在水平方向上左右转动左右角度越小;同理,相邻两张面部图像分别对应的两个头部俯仰角之间的差值越大,认为驾驶员头部在竖直方向上上下转动的角度越大;相邻两张面部图像分别对应的两个头部滚转角之间的差值越大,认为驾驶员头部以头部中心侧倾转动的角度越大。
进一步地,由于正常情况下会存在人脸方向与眼睛方向不一致的情况,且眼球转动的角度较小时无法准确确定眼睛注视方向,单独通过眼睛的局部图像,或者面部图像均无法准确确定驾驶员的眼睛注视方向,因此,本实施例基于眼睛的局部图像以及面部图像,确定所述驾驶员的眼睛注视方向。
具体地,可以先基于所述局部图像以及所述面部图像,通过预设的注视方向预测网络进行预测,输出预测的眼睛的偏航角和俯仰角,其中,预设的注视方向预测网络是基于眼睛图像样本和面部图像样本,对待训练的第四深度学习模型进行迭代训练得到的。
其中,眼睛的偏航角用于衡量眼睛在水平方向上(即,沿着X轴方向)左右转动的角度(左转或右转的角度);眼睛的俯仰角用于衡量眼睛在竖直方向上(即,沿着Y轴方向)上下转动的角度(抬眼或低眼的角度)。
可以理解,基于所述眼睛的偏航角和俯仰角,即可确定所述驾驶员的眼睛注视方向,增强了眼睛注视方向预测的准确性,有效确定驾驶员的视线。
具体地,眼睛注视方向包括道路方向、非道路方向等。
基于以上内容可以准确确定眼睛状态、嘴巴张开程度、头部姿态和眼睛注视方向等面部特征。
S40:基于所述面部特征,确定所述驾驶员是否存在疲劳驾驶行为。
检测装置在确定面部特征后,可以基于面部特征所反映的驾驶员的疲劳状态,确定驾驶员是否存在疲劳驾驶行为,基于疲劳驾驶行为,提醒驾驶员,以避免危险情况的发生。
具体地,如图5所示,所述基于所述面部特征,确定所述驾驶员是否存在疲劳驾驶行为的步骤,包括以下至少一项:
A1:基于所述眼睛状态、嘴巴张开程度或者头部姿态,确定所述驾驶员是否存在困倦行为;
A2:基于所述眼睛状态、头部姿态或者眼睛注视方向,确定所述驾驶员是否存在分心行为。
可以理解,由于驾驶员的眼睛状态、嘴巴张开程度以及头部姿态通常可以反映驾驶员的生理状态,因此,本申请基于所述面部特征中的所述眼睛状态、嘴巴张开程度或者头部姿态,确定所述驾驶员是否存在困倦行为;由于驾驶员的眼睛状态、头部姿态和眼睛注视方向通常可以反映驾驶员的注意力,因此,本申请基于所述面部特征中的所述眼睛状态、头部姿态或者眼睛注视方向,确定所述驾驶员是否存在分心行为。
基于以上内容可知,通过获取驾驶员的面部图像;对面部图像进行关键点提取,输出提取到的面部关键点坐标;基于面部关键点坐标,能够准确确定面部图像的面部特征;由于驾驶员的眼睛状态、嘴巴张开程度、头部姿态和眼睛注视方向等面部特征能够较为直观且准确地反映出驾驶员的疲劳状态,本申请基于所述面部特征,即可准确确定所述驾驶员是否存在疲劳驾驶行为,上述过程中不存在任何设备与驾驶员直接接触,不会影响驾驶员原本的疲劳状态,且不受车辆属性、道路状况和驾驶员习惯等因素的约束;因此,上述方式能够准确检测驾驶员是否存在疲劳驾驶行为。
如图6所示,基于第一实施例提出本申请疲劳驾驶检测方法的第二实施例,在第二实施例中,所述步骤A1,包括以下至少一项:
B1:当在预设第一时段内所述眼睛状态为闭眼的比例大于预设比例时,确定所述驾驶员存在困倦行为;
需要说明的是,通过对面部特征进行分析,即可确定驾驶员是否存在困倦行为。
具体地,可以基于上述多个面部特征中的其中一个面部特征确定驾驶员是否存在困倦行为,例如,基于眼睛状态确定所述驾驶员存在困倦行为、基于嘴巴张开程度确定所述驾驶员存在困倦行为、或者基于眼睛状态确定所述驾驶员存在困倦行为。
其中,预设第一时段可以是1.5秒或者1.6秒等,预设比例可以是60%或者70%等,可以理解,当在1.5秒内所述眼睛状态为闭眼的比例大于60%时(即,在1.5秒内对驾驶员的眼睛状态的识别结果存在60%为闭眼),确定所述驾驶员存在困倦行为,例如,确定驾驶员持续闭眼。
B2:当所述嘴巴张开程度在预设第二时段内大于第一程度阈值,且在预设第三时段内大于第二程度阈值时,确定所述驾驶员存在困倦行为,其中,第二程度阈值大于第一程度阈值,预设第二时段大于预设第一时段;
目前,通常仅通过判断嘴巴张开程度大于某一阈值的持续时间,会存在误判的情况,例如,会将驾驶员的大笑行为误判为哈欠。
为了避免上述问题,考虑到从开始打哈欠到完成打哈欠会存在嘴巴张开程度的大小变化,通过在预设第二时段和预设第三时段分别判断嘴巴张开程度的持续时间,从而提升打哈欠行为的判断准确性,预设第二时段可以是0.5秒或者0.25秒等,预设第三时段可以是1.5秒或者1.25秒等;第一程度阈值为0.25-0.3,第二程度阈值为0.1-0.15等。
可以理解,当所述嘴巴张开程度在0.5秒内大于0.25,且在1.5秒内大于0.1时,确定所述驾驶员存在困倦行为,即,确定驾驶员在打哈欠。
B3:当在预设第四时段内头部在水平方向上左右转动的角度小于第一角度阈值时,确定所述驾驶员存在困倦行为。
具体地,预设第四时段可以是300秒或者350秒等,可以理解,在短时间内头部在水平方向上发生头部左右小幅度转动为正常行为,若头部在水平方向上左右转动长时间地处于左右大转动幅度状态,则认为存在困倦行为的概率较大,因此,当在预设第四时段内头部在水平方向上左右转动的角度小于第一角度阈值时,确定所述驾驶员存在困倦行为;第一角度阈值可以是9.5度或者9度等。
其中,如图2所示,第一角度阈值可以是基于预设头部姿态因子以及上述两个头部偏航角之间的差值确定的,其中,预设头部姿态因子可以是预先设置的,或者可以在识别过程中进行调整,该预设头部姿态因子可以是0.95或者0.9,若上述两个头部偏航角之间的差值为10,则对应的第一角度阈值为9.5度、9度。
需要说明的是,在预设第四时段内头部在水平方向上左右转动的角度小于第一角度阈值时,确定驾驶员头部姿态为头部左右小幅度转动;若在预设第四时段内头部在水平方向上左右转动的角度大于等于第一角度阈值时,确定驾驶员头部姿态为左右正常幅度转动或者左右大幅度转动。
由于驾驶员的头部在水平方向上左右转动幅度较小时,容易出现困倦行为,当在预设第四时段内头部在水平方向上左右转动的角度小于第一角度阈值时,即可确定所述驾驶员存在困倦行为。
具体地,在预设第四时段内转动的角度可以是预设第四时段内转动的最大角度和最小角度之间的差值;例如,可以是相邻两帧图像对应头部偏航角之间的差值,可以理解,当相邻两帧图像对应头部偏航角之间的差值小于9.5度时,确定所述驾驶员出现头部左右小幅度转动,即,确定所述驾驶员存在困倦行为,若相邻两帧图像对应头部偏航角之间的差值小于9.5度,则确定所述驾驶员存在困倦行为。
进一步地,在所述当在预设第一时段内所述眼睛状态为闭眼的比例大于预设比例时,确定所述驾驶员存在困倦行为的步骤之后,暂停对新的面部图像进行眼睛状态的识别,直至暂停时间达到预设第一时间阈值。
由于当在1.5秒内所述眼睛状态为闭眼的比例大于60%时,确定所述驾驶员存在困倦行为,且一般情况下持续闭眼均为间歇性的持续闭眼,若在下一个1.5秒内继续对驾驶员进行检测,检测到驾驶员不存在困倦行为的概率较大,因此,通过暂停对新的面部图像进行眼睛状态的识别(参照图2),直至暂停时间达到预设第一时间阈值的方式能够提高正检出率并保证较低的误检测率。
具体地,所述预设第一时间阈值是基于第一测试集进行测试调参后确定的,对应于上述预设第一时段,该预设第一时间阈值可以是3秒。
所述步骤A1之后,还包括:
B1:当存在困倦行为时,基于所述困倦行为所属困倦类型,以及所述困倦类型对应的预设触发次数,确定所述驾驶员的困倦等级,其中,所述预设触发次数用于触发所述困倦等级的升级,所述困倦等级用于表征所述驾驶员的困倦水平。
由于面部特征存在多种,而不同种类的面部特征所反映的困倦程度不同,当存在困倦行为时,需要确定困倦行为的困倦类型,从而基于所述困倦行为所属困倦类型,准确确定所述驾驶员的困倦水平。
其中,困倦类型包括持续闭眼、打哈欠和头部左右小幅度转动等。
可以理解,不同困倦类型对应的驾驶员的困倦水平不同,例如,打哈欠相较于持续闭眼所反映的困倦水平更高,因此,基于所述困倦行为所属困倦类型,能够更加准确确定所述驾驶员的困倦水平。
为了更加明确驾驶员的困倦水平且便于设置警告等级,检测装置基于所述困倦行为所属困倦类型,以及所述困倦类型对应的预设触发次数,确定所述驾驶员的困倦等级,其中,由于不同困倦行为所反映的困倦程度不同,不同困倦类型对应不同的预设触发次数,可以理解,当出现相同次数的持续闭眼和打哈欠时,对应的驾驶员的困倦等级变化不同。
具体地,所述基于所述困倦行为所属困倦类型,以及所述困倦类型对应的预设触发次数,确定所述驾驶员的困倦等级的实施方式可以包括以下至少一项:
当所述困倦行为所属困倦类型为持续闭眼,且持续闭眼次数达到第一触发次数时,将困倦等级增加预设第一级数,得到所述驾驶员的困倦等级;当所述困倦行为所属困倦类型为打哈欠,且打哈欠达到第二触发次数时,将困倦等级增加预设第二级数,得到所述驾驶员的困倦等级;当所述困倦行为所属困倦类型为头部左右小幅度转动时,将困倦等级增加预设第三级数,得到所述驾驶员的困倦等级。
其中,第一触发次数和第二触发次数可以分别为2次、1次,或者可以分别为3次、2次等;预设第一级数、预设第二级数和预设第三级数可以分别为1级、1级、1级,或者可以分别为1级、2级、1级等。
例如,当所述困倦行为所属困倦类型为持续闭眼,且持续闭眼次数达到2次时,将困倦等级增加1级,当所述困倦行为所属困倦类型为打哈欠,且打哈欠达到1次时,将困倦等级增加1级,当所述困倦行为所属困倦类型为头部左右小幅度转动时,将困倦等级增加1级。
具体地,上述驾驶员的困倦等级可以是指卡罗林斯卡嗜睡量表(KarolinskaSleepiness Scale,KSS)中设定的等级:
等级1:极度警觉;等级2:非常警觉;等级3:警觉;等级4:有些警觉;等级5:既不警觉也不嗜睡;等级6:有一些嗜睡的征象;等级7:嗜睡,但是还可以保持清醒;等级8:嗜睡,需要努力才能保持清醒;等级9:极度困倦,很难保持清醒1。
参照图2,在具体实现过程中,可以当所述困倦行为所属困倦类型为持续闭眼时,计数一次,当计数达到2次时,将困倦等级增加1级,当所述困倦行为所属困倦类型为打哈欠时,计数一次,并将困倦等级增加1级,当所述困倦行为所属困倦类型为头部左右小幅度转动时,不进行计数,并将困倦等级增加1级,当所述困倦行为所属困倦类型为左右正常幅度转动或者左右大幅度转动时,计数一次。
由于头部左右小幅度转动时不进行计数,即,当循环缓冲区计数为0时,会出发困境等级的升级,检测装置在一段时间内未识别到人脸时,为了避免困倦行为的误报,计数一次,具体地,可以是在连续3次或者5次未识别到人脸时,计数一次(通过伪造头部姿态检测信号实现计数),其中,可以是当在一秒内未检测到人脸的比例占80%或者85%,且连续3次或者5次时,确定未识别到人脸,参照图2。
在具体实现过程中,由于循环缓冲区基于每次检测结果更新一次,因此,每次未识别到人脸时,均需将循环缓冲区进行刷新,例如,将循环缓冲区中最早获得的检测结果弹出(删除),参照图2。
其中,需要说明的是,当所述困倦行为所属困倦类型非头部左右小幅度转动时,计数一次,并冷却1s,即,当所述困倦行为所属困倦类型非头部左右小幅度转动时,暂停头部姿态的识别,直至1秒后重新进行头部姿态的识别。
具体地,在所述基于所述困倦行为所属困倦类型,以及所述困倦类型对应的预设触发次数,确定所述驾驶员的困倦等级的步骤之后,基于所述困倦等级对所述驾驶员进行警告。
具体地,可以通过状态管理模块将困倦等级触发指令以CAN(Controller AreaNetwork,控制器局域网络)信号形式发送,基于该CAN信号激活双模态警告模式,双模态警告包括语音警报和文本警告,文本警告可以在车辆屏幕上进行显示。
可以理解,为了提升警告效果以及危险预防效果,基于所述困倦等级对所述驾驶员进行警告,可以理解,困倦等级越高,警告时间越长或者警告强度越大等,反之,则警告时间越短或者警告强度越小。
其中,当所述困倦等级达到预设最高等级时,持续发出警告,直至所述困倦等级达到预设最低等级;可以理解,针对预设最高等级,需要持续发出警告,直至所述困倦等级达到预设最低等级时,认为驾驶员注意到了警告,最大程度确保所能达到的警告效果,提升危险预防能力。
进一步地,在所述基于所述困倦行为所属困倦类型,以及所述困倦类型对应的预设触发次数,确定所述驾驶员的困倦等级的步骤之后,当所述困倦等级被触发升级时,暂停获取新的面部图像,直至暂停时间达到预设第二时间阈值。
需要说明的是,可以通过基于驾驶员嗜睡检测和注意力警告***(DriverDrowsiness and Attention Warning systems,DDAW)或者其他警报***对驾驶员进行警告,具体地,可以是在KSS等级为7级或者大于7级时进行警告;预设最低等级为6级,预设最低等级用于表征驾驶员处于非困倦状态。
可以理解,当所述困倦等级被触发升级时,驾驶员已经被警告过,或者当困倦等级为6级时,驾驶员无需被警告,首次升级时,被触发为7级;因此,可以通过暂停获取新的面部图像,直至暂停时间达到预设第二时间阈值来避免因警告升级过快导致的警告效果较差。
其中,预设第二时间阈值可以是30秒,即,困倦等级每升级一次,只会警告一次,且会暂停30秒(参照图2),具体地,所述预设第二时间阈值可以是基于第二测试集进行测试调参后确定的。
具体地,在困倦等级达到一定等级(7级、8级或者9级),且再次降回预设最低等级后,若再一次触发困倦等级的升级,则不升级,若再两次触发困倦等级的升级,则直接升级为8级,以减少警告频率。
进一步地,在所述基于所述困倦行为所属困倦类型,以及所述困倦类型对应的预设触发次数,确定所述驾驶员的困倦等级的步骤之后,当所述困倦等级在预设第八时段内未被触发升级时,将所述困倦等级降低预设第四级数,直至所述困倦等级达到预设最低等级,所述预设最低等级用于表征驾驶员处于非困倦状态。
可以理解,在对驾驶员进行警告后,驾驶员若改变自身状态,还一直以之前的困倦等级对驾驶员进行困倦水平的检测则无法达到预期的效果,因此,通过当所述困倦等级在预设第八时段内未被触发升级时,将所述困倦等级降低预设第四级数,直至所述困倦等级达到预设最低等级,可以重新确定驾驶员的困倦水平,从而起到真实且准确的警告效果。
其中,预设第八时段内可以是300秒,即,当困等级升为9级之后,会暂停300秒(参照图2),具体地,所述预设第八时段可以是基于第三测试集进行测试调参后确定的。
其中,预设第四级数可以是1级,可以理解,若连续600秒未检测到困倦行为,则降低2级。
进一步地,在所述获取驾驶员的面部图像的步骤之前,获取驾驶员所驾驶的车辆的行驶速度;当所述行驶速度小于预设速度阈值时,暂停获取新的面部图像,直至所述行驶速度大于等于预设速度阈值。
可以理解,由于行驶速度小于预设速度阈值时,车辆相当于处于驻车状态或者低速行驶状态,此时发生危险的概率较小,无需对困倦水平进行检测,减少对驾驶员的干扰,提升驾驶员的驾驶体验。
其中,预设速度阈值可以是2千米/小时或者3千米/小时等,在暂停期间,既不会进行困倦水平检测,也不会产生警告,困倦等级可能会降低(例如,在300秒内未进行困倦水平检测,则对应降低困倦等级)。
基于上述内容可知,通过对面部特征进行分析,确定驾驶员是否存在困倦行为,当存在困倦行为时,基于所述困倦行为所属困倦类型,能够更加准确地确定所述驾驶员的困倦水平,从而更加准确地提醒驾驶员,在保证驾驶员驾驶舒适度的基础上,降低驾驶危险程度。
通过基于所述困倦行为所属困倦类型,以及所述困倦类型对应的预设触发次数,确定所述驾驶员的困倦等级;基于困倦等级进行警告;以及在多种情形下,对应对困倦等级进行升级或者降级;同时,通过将上述困倦行为(持续闭眼,打哈欠和头部左右小幅度转动)与卡罗林斯卡嗜睡量表中的困倦等级映射,能够将驾驶员的困倦程度进行量化,并基于量化后的困倦程度对驾驶员进行警告,从而在起到较好地警告效果的同时,为驾驶员提供较好地驾驶体验。
如图7所示,基于第一实施例和第二实施例提出本申请疲劳驾驶检测方法的第三实施例,在第三实施例中,所述步骤A2,包括以下至少一项:
C1:当在预设第五时段内所述眼睛状态为闭眼的比例大于预设比例时,确定所述驾驶员存在分心行为;
需要说明的是,参照图3,可以基于上述多个面部特征中的眼睛状态确定所述驾驶员存在分心行为、基于头部姿态确定所述驾驶员存在分心行为,或者可以基于眼睛注视方向确定所述驾驶员存在分心行为等。
具体地,预设第五时段小于上述预设第一时段,可以理解,持续闭眼的时长在达到预设第五时段时认为驾驶员存在分心行为,而持续闭眼的时长在达到预设第五时段时则会认为驾驶员存在分心行为。
其中,预设第五时段可以是1秒或者0.9秒等,预设比例可以是60%或者70%等,可以理解,当在1秒内所述眼睛状态为闭眼的比例大于60%时(即,在1秒内对驾驶员的眼睛状态的识别结果存在60%为闭眼),确定所述驾驶员存在分心行为。
C2:当在预设第六时段内所述头部在水平方向上左右转动的角度大于第二角度阈值、在竖直方向上向下转动的角度大于第三角度阈值、或者以头部中心侧倾转动的角度大于第四角度阈值时,确定所述驾驶员存在分心行为;
具体地,预设第六时段可以是3秒或者4秒等,第二角度阈值大于第一角度阈值;第二角度阈值可以是22度或者20度等,第三角度阈值可以是8度或者10度等,第三角度阈值可以是30度或者32度等。
可以理解,当在3秒内头部在水平方向上左右转动的角度大于22度时,确定所述驾驶员存在分心行为;当在3秒内头部在竖直方向上向下转动的角度大于10度时,确定所述驾驶员存在分心行为;当在3秒内头部以头部中心侧倾转动的角度大于30度时,确定所述驾驶员存在分心行为。
需要说明的是,当在预设第六时段内所述头部在水平方向上左右转动的角度大于第二角度阈值时,确定驾驶员头部姿态为左右大幅度转动;若在预设第六时段内头部在竖直方向上向下转动的角度大于第三角度阈值时,确定驾驶员头部姿态为向下大幅度转动;若在预设第六时段内头部以头部中心侧倾转动的角度大于第四角度阈值时,确定驾驶员头部姿态为大幅度侧倾。
由于驾驶员的头部在水平方向上左右转动幅度较大、向下转动幅度较大、或者侧倾幅度较大时,通常会出现分心行为,本实施例当在预设第六时段内所述头部在水平方向上左右转动的角度大于第二角度阈值、在竖直方向上向下转动的角度大于第三角度阈值、或者以头部中心侧倾转动的角度大于第四角度阈值时,确定所述驾驶员存在分心行为。
C3:当在预设第七时段内所述眼睛注视方向偏离预设道路方向时,确定所述驾驶员存在分心行为。
具体地,预设第七时段可以是3秒或者5秒等,可以理解,眼睛注视方向偏离预设道路方向的持续时间在达到3秒时认为驾驶员存在分心行为,若眼睛注视方向偏离预设道路方向的持续时间小于3秒,则认为是驾驶员的正常驾驶行为。
其中,所述驾驶员的眼睛注视方向是否偏离预设道路方向的判断方式可以是:当所述眼睛的偏航角大于第五角度阈值,或者俯仰角不属于预设角度范围时,确定所述驾驶员的眼睛注视方向偏离预设道路方向。
具体地,第五角度阈值可以是30度或者32度等,即,眼睛向左看或者向右看的角度大于30度;预设角度范围可以是[-20,30],即,眼睛向下看的角度大于20度,眼睛向上看的角度大于30。
可以理解,当所述眼睛的偏航角大于30度,或者俯仰角不属于[-20,30]时,确定所述驾驶员的眼睛注视方向偏离预设道路方向。
参照图3,在确定驾驶员存在分心行为之后,疲劳驾驶检测装置将驾驶员存在分心行为的结果发送至警告***,警告***发出警报,用于提醒驾驶员集中注意力。
基于以上,本实施例通过对眼睛状态、头部姿态以及眼睛注视方向进行分析,能够准确确定驾驶员是否存在分心行为,从而更加准确地提醒驾驶员,在保证驾驶员驾驶舒适度的基础上,降低驾驶危险程度。
此外,为实现上述目的,本申请还提供一种车辆,所述车辆包括:
图像获取模块,用于获取驾驶员的面部图像;
关键点坐标提取模块,用于对所述面部图像进行关键点提取,输出提取到的面部关键点坐标;
面部特征确定模块,用于基于所述面部关键点坐标,确定所述面部图像的面部特征;
疲劳驾驶检测模块,用于基于所述面部特征,确定所述驾驶员是否存在疲劳驾驶行为。
本申请车辆具体实施方式与上述疲劳驾驶检测方法各实施例基本相同,在此不再赘述。
参照图8,图8为本申请实施例方案涉及的硬件运行环境的设备的结构示意图。
如图8所示,该设备可以包括:处理器1001,例如CPU,通信总线1002,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图8中示出的结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图8所示,作为一种计算机存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及疲劳驾驶检测程序。
在图8所示的设备中,所述设备通过处理器1001调用存储器1005中存储的疲劳驾驶检测程序,并执行以下操作:
获取驾驶员的面部图像;
对所述面部图像进行关键点提取,输出提取到的面部关键点坐标;
基于所述面部关键点坐标,确定所述面部图像的面部特征;
基于所述面部特征,确定所述驾驶员是否存在疲劳驾驶行为。
进一步地,所述面部特征包括眼睛状态、嘴巴张开程度、头部姿态和眼睛注视方向,所述疲劳驾驶行为包括困倦行为和分心行为,处理器1001可以调用存储器1005中存储的疲劳驾驶检测程序,还执行以下至少一项操作:
基于所述眼睛状态、嘴巴张开程度或者头部姿态,确定所述驾驶员是否存在困倦行为;
基于所述眼睛状态、头部姿态或者眼睛注视方向,确定所述驾驶员是否存在分心行为。
进一步地,所述头部姿态包括头部在水平方向上左右转动,处理器1001可以调用存储器1005中存储的疲劳驾驶检测程序,还执行以下至少一项操作:
当在预设第一时段内所述眼睛状态为闭眼的比例大于预设比例时,确定所述驾驶员存在困倦行为;
当所述嘴巴张开程度在预设第二时段内大于第一程度阈值,且在预设第三时段内大于第二程度阈值时,确定所述驾驶员存在困倦行为,其中,第二程度阈值大于第一程度阈值,预设第二时段大于预设第一时段;
当在预设第四时段内头部在水平方向上左右转动的角度小于第一角度阈值时,确定所述驾驶员存在困倦行为。
进一步地,所述头部姿态还包括头部在竖直方向上向下转动,以及以头部中心侧倾转动,处理器1001可以调用存储器1005中存储的疲劳驾驶检测程序,还执行以下操作:
当在预设第五时段内所述眼睛状态为闭眼的比例大于预设比例时,确定所述驾驶员存在分心行为;
当在预设第六时段内所述头部在水平方向上左右转动的角度大于第二角度阈值、在竖直方向上向下转动的角度大于第三角度阈值、或者以头部中心侧倾转动的角度大于第四角度阈值时,确定所述驾驶员存在分心行为;
当在预设第七时段内所述眼睛注视方向偏离预设道路方向时,确定所述驾驶员存在分心行为。
进一步地,处理器1001可以调用存储器1005中存储的疲劳驾驶检测程序,还执行以下操作:
当存在困倦行为时,基于所述困倦行为所属困倦类型,以及所述困倦类型对应的预设触发次数,确定所述驾驶员的困倦等级,其中,所述预设触发次数用于触发所述困倦等级的升级,所述困倦等级用于表征所述驾驶员的困倦水平。
进一步地,所述困倦行为包括持续闭眼、打哈欠和头部左右小幅度转动,处理器1001可以调用存储器1005中存储的疲劳驾驶检测程序,还执行以下至少一项操作:
当所述困倦行为所属困倦类型为持续闭眼,且持续闭眼次数达到第一触发次数时,将困倦等级增加预设第一级数,得到所述驾驶员的困倦等级;
当所述困倦行为所属困倦类型为打哈欠,且打哈欠达到第二触发次数时,将困倦等级增加预设第二级数,得到所述驾驶员的困倦等级;
当所述困倦行为所属困倦类型为头部左右小幅度转动时,将困倦等级增加预设第三级数,得到所述驾驶员的困倦等级。
进一步地,处理器1001可以调用存储器1005中存储的疲劳驾驶检测程序,还执行以下操作:
当所述困倦等级在预设第八时段内未被触发升级时,将所述困倦等级降低预设第四级数,直至所述困倦等级达到预设最低等级,所述预设最低等级用于表征驾驶员处于非困倦状态。
进一步地,处理器1001可以调用存储器1005中存储的疲劳驾驶检测程序,还执行以下操作:
基于所述困倦等级对所述驾驶员进行警告;
其中,当所述困倦等级达到预设最高等级时,持续发出警告,直至所述困倦等级达到预设最低等级。
进一步地,处理器1001可以调用存储器1005中存储的疲劳驾驶检测程序,还执行以下至少一项操作:
基于所述面部关键点坐标,确定眼睛所在的局部图像,基于预设状态识别网络,对所述局部图像进行识别,输出识别到的所述驾驶员的眼睛状态;
基于嘴巴轮廓线在所述面部关键点坐标中的第一坐标,确定所述驾驶员的嘴巴张开程度;
基于头部轮廓线在所述面部关键点坐标中对应预设关键点的第二坐标,确定头部欧拉角,基于所述头部欧拉角,确定所述驾驶员的头部姿态;
基于所述局部图像以及所述面部图像,通过预设的注视方向预测网络进行预测,输出预测的眼睛的偏航角和俯仰角,基于所述眼睛的偏航角和俯仰角,确定所述驾驶员的眼睛注视方向。
进一步地,处理器1001可以调用存储器1005中存储的疲劳驾驶检测程序,还执行以下操作:
基于嘴巴轮廓线在所述面部关键点坐标中的第一坐标,分别确定嘴巴在水平方向上的最大距离和在竖直方向上的最大距离;
基于所述嘴巴在水平方向上的最大距离和在竖直方向上的最大距离,确定所述驾驶员的嘴巴张开程度。
进一步地,处理器1001可以调用存储器1005中存储的疲劳驾驶检测程序,还执行以下操作:
当所述眼睛的偏航角大于第五角度阈值,或者俯仰角不属于预设角度范围时,确定所述驾驶员的眼睛注视方向偏离预设道路方向。
此外,为实现上述目的,本申请还提供一种车辆,所述车辆包括:
图像获取模块,用于获取驾驶员的面部图像;
关键点坐标提取模块,用于对所述面部图像进行关键点提取,输出提取到的面部关键点坐标;
面部特征确定模块,用于基于所述面部关键点坐标,确定所述面部图像的面部特征;
疲劳驾驶检测模块,用于基于所述面部特征,确定所述驾驶员是否存在疲劳驾驶行为。
此外,本申请实施例还提出一种程序产品,包括疲劳驾驶检测程序,所述疲劳驾驶检测程序被处理器执行时实现如上所述的疲劳驾驶检测方法的步骤。
本申请程序产品具体实施方式与上述疲劳驾驶检测方法各实施例基本相同,在此不再赘述。
此外,本申请实施例还提出一种存储介质,所述存储介质上存储有疲劳驾驶检测程序,所述疲劳驾驶检测程序被处理器执行时实现如下操作:
获取驾驶员的面部图像;
对所述面部图像进行关键点提取,输出提取到的面部关键点坐标;
基于所述面部关键点坐标,确定所述面部图像的面部特征;
基于所述面部特征,确定所述驾驶员是否存在疲劳驾驶行为。
需要说明的是,上述存储介质被处理器执行时还可实现上述方法中的各个步骤,同时达到相应的技术效果,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
Claims (15)
1.一种疲劳驾驶检测方法,其特征在于,所述疲劳驾驶检测方法包括以下步骤:
获取驾驶员的面部图像;
对所述面部图像进行关键点提取,输出提取到的面部关键点坐标;
基于所述面部关键点坐标,确定所述面部图像的面部特征;
基于所述面部特征,确定所述驾驶员是否存在疲劳驾驶行为。
2.如权利要求1所述的疲劳驾驶检测方法,其特征在于,所述面部特征包括眼睛状态、嘴巴张开程度、头部姿态和眼睛注视方向,所述疲劳驾驶行为包括困倦行为和分心行为,所述基于所述面部特征,确定所述驾驶员是否存在疲劳驾驶行为的步骤,包括以下至少一项:
基于所述眼睛状态、嘴巴张开程度或者头部姿态,确定所述驾驶员是否存在困倦行为;
基于所述眼睛状态、头部姿态或者眼睛注视方向,确定所述驾驶员是否存在分心行为。
3.如权利要求2所述的疲劳驾驶检测方法,其特征在于,所述头部姿态包括头部在水平方向上左右转动,所述基于所述眼睛状态、嘴巴张开程度或者头部姿态,确定所述驾驶员是否存在困倦行为的步骤,包括以下至少一项:
当在预设第一时段内所述眼睛状态为闭眼的比例大于预设比例时,确定所述驾驶员存在困倦行为;
当所述嘴巴张开程度在预设第二时段内大于第一程度阈值,且在预设第三时段内大于第二程度阈值时,确定所述驾驶员存在困倦行为,其中,第二程度阈值大于第一程度阈值,预设第二时段大于预设第一时段;
当在预设第四时段内头部在水平方向上左右转动的角度小于第一角度阈值时,确定所述驾驶员存在困倦行为。
4.如权利要求2所述的疲劳驾驶检测方法,其特征在于,所述头部姿态还包括头部在竖直方向上向下转动,以及以头部中心侧倾转动,所述基于所述眼睛状态、头部姿态或者眼睛注视方向,确定所述驾驶员是否存在分心行为的步骤,包括以下至少一项:
当在预设第五时段内所述眼睛状态为闭眼的比例大于预设比例时,确定所述驾驶员存在分心行为;
当在预设第六时段内所述头部在水平方向上左右转动的角度大于第二角度阈值、在竖直方向上向下转动的角度大于第三角度阈值、或者以头部中心侧倾转动的角度大于第四角度阈值时,确定所述驾驶员存在分心行为;
当在预设第七时段内所述眼睛注视方向偏离预设道路方向时,确定所述驾驶员存在分心行为。
5.如权利要求2所述的疲劳驾驶检测方法,其特征在于,所述基于所述眼睛状态、嘴巴张开程度或者头部姿态,确定所述驾驶员是否存在困倦行为的步骤之后,还包括:
当存在困倦行为时,基于所述困倦行为所属困倦类型,以及所述困倦类型对应的预设触发次数,确定所述驾驶员的困倦等级,其中,所述预设触发次数用于触发所述困倦等级的升级,所述困倦等级用于表征所述驾驶员的困倦水平。
6.如权利要求5所述的疲劳驾驶检测方法,其特征在于,所述困倦行为包括持续闭眼、打哈欠和头部左右小幅度转动,所述基于所述困倦行为所属困倦类型,以及所述困倦类型对应的预设触发次数,确定所述驾驶员的困倦等级的步骤,包括以下至少一项:
当所述困倦行为所属困倦类型为持续闭眼,且持续闭眼次数达到第一触发次数时,将困倦等级增加预设第一级数,得到所述驾驶员的困倦等级;
当所述困倦行为所属困倦类型为打哈欠,且打哈欠达到第二触发次数时,将困倦等级增加预设第二级数,得到所述驾驶员的困倦等级;
当所述困倦行为所属困倦类型为头部左右小幅度转动时,将困倦等级增加预设第三级数,得到所述驾驶员的困倦等级。
7.如权利要求5所述的困倦水平检测方法,其特征在于,所述基于所述困倦行为所属困倦类型,以及所述困倦类型对应的预设触发次数,确定所述驾驶员的困倦等级的步骤之后,还包括:
当所述困倦等级在预设第八时段内未被触发升级时,将所述困倦等级降低预设第四级数,直至所述困倦等级达到预设最低等级,所述预设最低等级用于表征驾驶员处于非困倦状态。
8.如权利要求5所述的疲劳驾驶检测方法,其特征在于,所述基于所述困倦行为所属困倦类型,以及所述困倦类型对应的预设触发次数,确定所述驾驶员的困倦等级的步骤之后,还包括:
基于所述困倦等级对所述驾驶员进行警告;
其中,当所述困倦等级达到预设最高等级时,持续发出警告,直至所述困倦等级达到预设最低等级。
9.如权利要求1所述的疲劳驾驶检测方法,其特征在于,所述基于所述面部关键点坐标,确定所述面部图像的面部特征的步骤,包括以下至少一项:
基于所述面部关键点坐标,确定眼睛所在的局部图像,基于预设状态识别网络,对所述局部图像进行识别,输出识别到的所述驾驶员的眼睛状态;
基于嘴巴轮廓线在所述面部关键点坐标中的第一坐标,确定所述驾驶员的嘴巴张开程度;
基于头部轮廓线在所述面部关键点坐标中对应预设关键点的第二坐标,确定头部欧拉角,基于所述头部欧拉角,确定所述驾驶员的头部姿态;
基于所述局部图像以及所述面部图像,通过预设的注视方向预测网络进行预测,输出预测的眼睛的偏航角和俯仰角,基于所述眼睛的偏航角和俯仰角,确定所述驾驶员的眼睛注视方向。
10.如权利要求9所述的疲劳驾驶检测方法,其特征在于,所述基于嘴巴轮廓线在所述面部关键点坐标中的第一坐标,确定所述驾驶员的嘴巴张开程度的步骤,包括:
基于嘴巴轮廓线在所述面部关键点坐标中的第一坐标,分别确定嘴巴在水平方向上的最大距离和在竖直方向上的最大距离;
基于所述嘴巴在水平方向上的最大距离和在竖直方向上的最大距离,确定所述驾驶员的嘴巴张开程度。
11.如权利要求9所述的疲劳驾驶检测方法,其特征在于,所述基于所述面部关键点坐标,确定所述面部图像的面部特征的步骤之后,还包括:
当所述眼睛的偏航角大于第五角度阈值,或者俯仰角不属于预设角度范围时,确定所述驾驶员的眼睛注视方向偏离预设道路方向。
12.一种车辆,其特征在于,所述车辆包括:
图像获取模块,用于获取驾驶员的面部图像;
关键点坐标提取模块,用于对所述面部图像进行关键点提取,输出提取到的面部关键点坐标;
面部特征确定模块,用于基于所述面部关键点坐标,确定所述面部图像的面部特征,所述面部特征包括眼睛状态、嘴巴张开程度、头部姿态和眼睛注视方向;
疲劳驾驶检测模块,用于基于所述面部特征,确定所述驾驶员是否存在疲劳驾驶行为。
13.一种设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的疲劳驾驶检测程序,所述疲劳驾驶检测程序配置为实现如权利要求1至11中任一项所述的疲劳驾驶检测方法的步骤。
14.一种存储介质,其特征在于,所述存储介质上存储有疲劳驾驶检测程序,所述疲劳驾驶检测程序被处理器执行时实现如权利要求1至11中任一项所述的疲劳驾驶检测方法的步骤。
15.一种程序产品,其特征在于,所述程序产品包括疲劳驾驶检测程序,所述疲劳驾驶检测程序被处理器执行时实现如权利要求1至11中任一项所述的疲劳驾驶检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410447010.3A CN118155192A (zh) | 2024-04-12 | 2024-04-12 | 疲劳驾驶检测方法、车辆、设备、存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410447010.3A CN118155192A (zh) | 2024-04-12 | 2024-04-12 | 疲劳驾驶检测方法、车辆、设备、存储介质及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118155192A true CN118155192A (zh) | 2024-06-07 |
Family
ID=91293424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410447010.3A Pending CN118155192A (zh) | 2024-04-12 | 2024-04-12 | 疲劳驾驶检测方法、车辆、设备、存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118155192A (zh) |
-
2024
- 2024-04-12 CN CN202410447010.3A patent/CN118155192A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109937152B (zh) | 驾驶状态监测方法和装置、驾驶员监控***、车辆 | |
TWI741512B (zh) | 駕駛員注意力監測方法和裝置及電子設備 | |
KR102469234B1 (ko) | 운전 상태 분석 방법 및 장치, 운전자 모니터링 시스템 및 차량 | |
CN107665330B (zh) | 在车辆中检测头部姿势的***、方法和计算机可读介质 | |
WO2019232972A1 (zh) | 驾驶管理方法和***、车载智能***、电子设备、介质 | |
EP3033999B1 (en) | Apparatus and method for determining the state of a driver | |
CN111079475A (zh) | 驾驶状态检测方法和装置、驾驶员监控***、车辆 | |
JP5482737B2 (ja) | 視認負荷量推定装置、運転支援装置、および視認負荷量推定プログラム | |
CN110765807A (zh) | 驾驶行为分析、处理方法、装置、设备和存储介质 | |
BRPI0712837A2 (pt) | mÉtodo e aparelho para determinaÇço e anÁlise de uma localizaÇço de interesse visual. | |
JP7118136B2 (ja) | 搭乗者状態判定装置、警告出力制御装置及び搭乗者状態判定方法 | |
KR20130016606A (ko) | 사용자 적응형 특이행동 검출기반의 안전운전보조시스템 | |
KR20190083155A (ko) | 운전자 상태 검출 장치 및 그 방법 | |
CN109291794A (zh) | 驾驶员状态监测方法、汽车以及存储介质 | |
US20230347903A1 (en) | Sensor-based in-vehicle dynamic driver gaze tracking | |
Lashkov et al. | Driver dangerous state detection based on OpenCV & dlib libraries using mobile video processing | |
US20240096116A1 (en) | Devices and methods for detecting drowsiness of drivers of vehicles | |
CN113128295A (zh) | 一种车辆驾驶员危险驾驶状态识别方法及装置 | |
CN113312958B (zh) | 一种基于司机状态的派单优先度调整方法及装置 | |
CN113313019A (zh) | 一种分神驾驶检测方法、***及相关设备 | |
CN118155192A (zh) | 疲劳驾驶检测方法、车辆、设备、存储介质及程序产品 | |
Ujir et al. | Real-time driver’s monitoring mobile application through head pose, drowsiness and angry detection | |
JP2019079285A (ja) | 安全運転促進装置及び安全運転促進方法 | |
KR102597068B1 (ko) | 인공 지능을 이용하여 운전자의 주시 상태를 판단하는 차량 장치 및 그 제어 방법 | |
US20230177861A1 (en) | Apparatus, method, and computer program for detecting hand region |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |