基于驾驶员监控与语音交互的异常信号检测系统开发,用于预防由身体状况引发的交通事故
摘要
运输行业(公交车、卡车和出租车)中因医疗状况引发的车辆碰撞事故(MCCCAs)数量近期有所增加。由脑血管和心血管疾病引起的MCCCAs会导致意识丧失,从而造成伤害和生命损失,并带来高额赔偿金。针对这一问题,传统系统通过检测闭眼和跌倒状态来预防车辆碰撞。然而,这些支持措施是在驾驶员意识丧失后才采取的。为了预防MCCCAs,重要的是在驾驶员意识丧失之前发现异常征兆。不仅要尽早检测到异常征兆,而且还要具有高置信水平(CL),这是一项挑战。本文提出一种新方法,通过多模态监控驾驶员以检测可能预示未来驾驶失能状态的提示征兆,并根据监控结果进行语音交互,以明确驾驶员的内部状态。考虑到缺乏异常征兆的数据,本研究利用正常数据和伪异常数据开发了该系统,并采用异常检测方法来实现异常征兆的检测。实验结果表明,我们发现了提示征兆与CL之间的关系,所提出的系统能够以80%的准确率检测困倦状态。
一、引言
职业驾驶员,包括公交车、卡车和出租车的驾驶员,在将众多乘客和财物安全运送至目的地方面发挥着重要作用,因此即使是短暂分心也可能导致重大事故。因此,保持健康状态对安全驾驶至关重要。根据日本国土交通省(MLIT)的报告[1],运输行业每年发生数百起由健康状况引发的交通事故(MCCCA),且此类事故呈上升趋势。在导致驾驶员死亡的疾病中,脑血管和心血管疾病占比超过60%。此外,睡眠呼吸暂停综合征(SAS)近年来被认定为重要的公共卫生问题。SAS会降低整体睡眠质量,因而与交通事故直接相关[2]。
为预防重大交通事故,运输行业的公司和国土交通省和MLIT就以下问题[3]展开合作: (a)如何鼓励驾驶员在正常时间内控制自己的健康,以降低疾病风险。(b)如何利用健康检查结果。(c)在驾驶前点名时,如何检查驾驶员的健康状况并判断其是否能够驾驶。(d)如果驾驶过程中出现问题,应如何处理该问题。
对于问题(a)、(b)和(c),公司正在努力改善工作环境并提供医疗保健课程。定制化筛查测试和医疗意见已得到高效引入。另一方面,对于问题(d),目前仍没有有效的方法能够应对驾驶过程中发生的重大交通事故。当前有多个系统可用于检测驾驶员在驾驶时是否失去意识并倒下。自动刹车系统可以检测障碍物并自动刹车以避免碰撞。驾驶员监控系统用于检测驾驶员是否失去意识并倒下,例如 DriveKarte[4],可检测驾驶员是否失去意识并倒下。
这些系统将有助于避免或减少车辆碰撞造成的损害,但如果驾驶员已经死亡,这些支持措施就为时过晚了。在大多数情况下,驾驶员失去意识之前会出现表明异常的症状,系统可以提供支持。
如果系统能够检测到这些异常征兆,就可以更早地发现驾驶员的异常情况。脑血管、心血管疾病和SAS的异常征兆在医学领域广为人知,如表I所列[3]。例如,驾驶员在发生中风导致意识丧失之前,往往会先出现头痛或手臂瘫痪等症状。
驾驶员基于自身判断决定停止驾驶是合理的。然而,一些驾驶员可能认为这些症状并不严重和/或出于操作原因而忍受疼痛继续驾驶。此时,如果有一种系统能够在意识丧失(无法驾驶状态)之前检测到异常征兆,就可以在病情恶化并引发事故之前提醒驾驶员停车。
然而,系统在估计时间与置信水平之间存在权衡问题。如图1所示,系统越早估计驾驶失能状态,其估计的置信水平就越低。为了在意识丧失前以高置信水平尽早检测异常征兆,我们提出了一种新型异常征兆检测系统,该系统包含多种实用方法,包括多模态监测和语音交互功能。需要注意的是,所提出的系统不同于传统的驾驶员监控系统,后者主要监控驾驶员的嗜睡、认知负荷和情境意识。本系统首先通过多模态监测姿势、生理数据和驾驶操作来关注驾驶员状态并检测异常征兆,然后通过语音交互对内部状态进行更详细的评估。
二、相关与必要工作
本文中,我们介绍健康监测系统方面的相关工作,然后阐明所需开展的工作。
A. 相关工作
1) 测量:
许多关于健康监控的研究集中在使用生物信息上。在[8]中提出了一种基于网络摄像头的非接触式驾驶员生理数据实时测量系统。研究表明,生理数据处于适合监控驾驶员健康状态。在[9]中提出了一种可预测心率和血压的系统。该系统可在急性低血压发生前七分钟进行预测,预测概率超过90%。然而,并非所有疾病都会在生理数据中表现出异常征兆。例如,中风的症状常伴随正常的心率和血压[10]。因此,仅依靠生理数据不足以检测异常征兆。表II中列出的大多数异常征兆会引起疼痛感、瘫痪等症状,因此会导致身体动作。例如,头痛的人可能会按摩头部。因此,在监控生理数据的同时,监控身体动作也有助于异常征兆的检测。然而,身体动作由多种原因引起,例如,当头部发痒时,人们也会按摩头部。此外,不良健康状况可能增加危险驾驶的风险[11],这会导致抑郁并引发不安全驾驶行为。稳定的驾驶操作或无驾驶操作。因此,驾驶操作也可以作为异常征兆检测的一个参数。
2) 交互:
为了弥补监控的局限性,两种交互方式有助于诊断疾病,即身体交互和语音交互。FAST(面部、手臂、言语和时间)是身体交互的一个很好示例[12]。我们可以通过要求一个人执行FAST来判断其是否中风。然而,在驾驶过程中要求驾驶员执行与驾驶无关的任务是危险的。考虑到驾驶操作与交通状况相互影响,驾驶操作本身可被视为一种身体交互。另一方面,对医生而言,患者问诊是获取患者全面信息的主要方式,以提供有效的以患者为中心的护理[13]。在[14]一项利用通信和机器人技术的家庭医疗保健系统被提出,旨在为老年人提供无忧的家庭生活。该系统通过血压、体温、体重以及医疗问诊获得的信息来估计用户的健康状态。如上所述,语音交互可以是一种很好的方式。
B. 所需工作:提示征兆和语音交互
如前一节所述,当人们感到头痛时可能会按摩头部,而头痛可能导致心跳异常和血压异常,最终影响驾驶操作。这些行为及其变化可能是头痛的提示征兆。所有重要的提示信号均列于表II中。例如,当人们感到心痛时可能会按摩胸部,感到偏瘫时会垂下一只手。嗜睡状态会导致长时间闭眼、眨眼周期增加和心动过缓[15],所以闭眼、心动过缓和非操作可以是嗜睡的提示信号。这些提示信号表明了驾驶员异常的可能性。为了以高置信度理解驾驶员状态,系统可根据提示信号进行语音交互。根据上述分析,所提出的异常症状检测系统需要具备以下两个功能,如图2所示。
- 多模态驾驶员监控,用于监控驾驶员的生物信息以及姿势和面部动作,同时监控驾驶操作。
- 语音交互,基于监控结果与驾驶员进行通信,以更高置信水平获取驾驶员更多内部状态。
III. 异常信号检测系统
在本文中,作为检测系统的一项初步研究,我们开发并评估了一个由多模态监测和语音交互组成的整体框架,但该系统未涵盖所有可能的参数,如血压和不稳定操作。系统以驾驶员身体图像、心率、面部图像和操作为输入。系统包含三个子系统(提示征兆检测、基于提示信号类型及其持续时间和周期的置信度计算,以及语音交互)。
A. 方法概述
异常检测的一种常见方法是获取大量数据,研究正常数据与异常数据的分布,并通过机器学习开发异常检测系统。然而,获取包含驾驶员健康问题的数据并不容易,而且近年来个人数据受到严格保护。因此,本文为提示信号检测和正常数据离群值检测生成了伪异常数据。与此相关,在本研究中,我们使用驾驶模拟器来观察驾驶员行为,并对所提出的系统进行了评估。该模拟器基于Unity,更多细节见[16]。如图3所示,该模拟器由四个屏幕组成,用于显示虚拟驾驶环境、一个全尺寸的驾驶员座椅、一个后视镜、一个方向盘、一个踏板、两个红绿蓝(RGB)传感器和一个麦克风用于驾驶员语音输入。
B. 征兆信号检测
本文中,我们针对七种提示征兆:(a) 按摩头部,(b) 按摩胸部,(c) 单手悬挂,(d) 闭眼,(e) 心动过速,(f) 心动过缓,以及(g) 非操作。
1) 身体姿势:
对于身体姿势,我们引入了 OpenPose[17],用于从单张图像中实时检测人体、手部、面部和脚部的关键点。我们在中间屏幕右上方安装了一个RGB传感器,并提取了上半身的七个骨架(八个关键点)。然后,我们引入了k‐近邻(k‐NN),这是一种简单且易于实现的监督式机器学习算法,通过特征空间中最近的训练样本来对物体进行分类。每个骨架的长度与角度的乘积被计算为特征点,如图4所示。我们使用欧氏距离来测量测试数据与样本数据之间的距离,如图5所示。该欧氏距离由
$$
d = \sqrt{\sum_{i=1}^{n}(x_i - y_i)^2}
$$
其中 $x_i$ 是测试数据的第$i$个关键点的长度与角度的乘积,$y_i$ 是样本数据之一的对应值。姿势被分为四类(正常、按摩头部、按摩胸部和单手悬挂)。为了获取样本数据,如第三节A部分所述,我们要求参与者在假设其具有异常症状的情况下执行这四种姿势。结果在第四节和第五节中进行了描述。
2) 闭眼:
我们开发了一种眼部状态分类系统来估计驾驶员的眼睛是闭合还是睁开。位于驾驶员前方的RGB传感器捕捉驾驶员头部所在区域,并使用Dlib库检测眼睛区域。然后,我们采用卷积神经网络(CNN)对每个眼睛的状态进行分类。输入是驾驶员眼睛大小为 227×227的图像进行处理,输出结果为睁眼或闭眼(两类)。我们采用了预训练CNN(AlexNet)[18],通过迁移学习构建网络架构。我们将最后的三层单元节点数分别设置为4096、4096和2,如图6所示。我们还以与身体姿势相同的方法进行了实验以获取样本数据。
3) 心率:
我们使用了一个脉搏传感器,如图3右侧所示,可将其附着在驾驶员的耳朵上,以测量驾驶员的心脉波。RR间期是指心电图上连续两次心跳之间的时间间隔,常用于测量心率变异性,心率(每分钟心跳次数)可通过将60秒除以RR间期来计算。即使在静息状态下也并非恒定,即会在平均数值[19]上下波动约10%。因此,我们将心率分为三类(正常、心动过速和心动过缓),作为
$$
HR_{class} =
\begin{cases}
\text{心动过缓}, & HR_t < HR_{avg} - 0.1 \times HR_{avg} \
\text{正常}, & HR_{avg} - 0.1 \times HR_{avg} \leq HR_t \leq HR_{avg} + 0.1 \times HR_{avg} \
\text{心动过速}, & HR_t > HR_{avg} + 0.1 \times HR_{avg}
\end{cases}
$$
其中$HR_t$表示驾驶员在时间t时的心率,而$HR_{avg}$表示驾驶员静息时的平均心率。
4) 操作:
非操作可以很容易地从方向盘转角检测出来。若无方向盘输入,则为非操作状态,否则为操作状态。
C. 置信水平(CL)计算
驾驶员在正常状态下有时也会表现出提示性姿势信号,例如头皮发痒时会挠头。区分头皮发痒和头痛是一个挑战。考虑到头痛、偏瘫和其他提示征兆通常会持续数分钟,持续时间可能是一个良好的判断指标。因此,我们提出根据提示征兆的类型、持续时间和周期来计算CL。如第三节A部分所述,获取异常数据较为困难,因此我们收集了正常数据并进行异常检测。首先,我们进行了实验,观察系统在正常驾驶过程中是否能够检测到提示征兆。然后,基于概率密度函数,对每种检测到的提示征兆的持续时间和周期建立正态分布。
$$
f(x) = \frac{1}{\sigma \sqrt{2\pi}} e^{-\frac{(x-\mu)^2}{2\sigma^2}}
$$
其中,$\mu$表示持续时间或周期的总和,$n$表示每个提示信号的检测次数,$\mu$表示持续时间或周期的平均值,$\sigma$表示标准差。图8显示了分布的一个示例。我们假设$2\sigma$区域(95.45%)的平均值为正常区域,将CL在平均值处设为0,在$2\sigma$和$3\sigma$处设为50作为偏移量。如果持续时间长于或周期短于分布范围,则CL高于50,我们可以怀疑驾驶员处于异常状态。
首先,通过使用持续时间$t$、周期$p$以及分布中的平均持续时间$t_{avg}$和周期$p_{avg}$,可得到持续时间CL$_t$和周期CL$_p$的置信水平
$$
CL_t(t) = V_t \cdot |t - t_{avg}|, \quad CL_p(p) = V_p \cdot |p_{avg} - p|
$$
其中$V_t$和$V_p$表示系数,$type$表示提示信号类型。每个$V$可通过赋值最终置信水平CL=50和$t=t_{2\sigma}$或$p=p_{2\sigma}$来计算
$$
V_t = \frac{50}{|t_{2\sigma} - t_{avg}|}, \quad V_p = \frac{50}{|p_{avg} - p_{2\sigma}|}
$$
其中$t_{2\sigma}$和$p_{2\sigma}$表示$2\sigma$处的持续时间和周期,以及$3\sigma$点。最后,我们提取最大值作为最终置信水平CL
$$
CL = \max(CL_t, CL_p)
$$
D. 语音交互系统
如果检测到倒下状态或长时间闭眼状态,为了不增加事故风险,CL应为高,且它将最好尽快干预,例如使用自动刹车。另一方面,如果CL并不明显偏高,但高于正常值,系统将进行语音交互,以提高驾驶员的理解。语音交互的架构如图8所示。我们根据CL的数值定义了三个阶段。
1) 正常阶段:
在此阶段,CL处于低水平(CL < 50),系统继续监控驾驶员。
2) 谨慎阶段:
在此阶段,CL相对较高(50 < CL < 80),系统进行语音交互。例如,如果系统检测到“按摩头部”,它会询问驾驶员“您感到头痛吗?”。如果驾驶员回应“否”,系统将继续监控;如果驾驶员回应“是”,系统将引导其停止驾驶并导航至最近的停车区域。此外,如果驾驶员在3.7秒内无响应,考虑到驾驶员可能未听到系统的语音,系统将发出蜂鸣声以确认。如果在0.8秒内仍无响应,系统将判定驾驶员处于非常危险的状态,并执行自动紧急制动。3.7秒和0.8秒由国土交通省定义为对信息和警告做出响应的必要时间[20]。
3) 确定阶段:
在此阶段,CL足够高(CL > 80),可以明确判断驾驶员处于即将发生的危险中。因此,系统会执行自动紧急制动以避免车辆碰撞。
IV. 实验
本节描述了实验的场景、数据采集、参与者和实验流程。
A. 场景
1) 实验1:
此实验旨在收集样本数据以开发提示信号检测系统。要求参与者在笔直的高速公路上驾驶,并执行四种身体姿势(正常、按摩头部、按摩胸部和单手悬挂)以及两种眼睛状态(睁开和闭合)。
2) 实验2:
该实验旨在研究每个提示信号的持续时间和周期的分布。参与者被要求在一条笔直的高速公路上驾驶一小时。记录他们的身体动作、心率和转向角度。
3) 实验3:
本实验旨在评估所提出的异常信号检测系统。需要注意的是,由于伦理原因无法让参与者出现头痛或偏瘫等异常症状,因此很难对该系统进行全面评估。唯一可评估的异常征兆是嗜睡状态,即睡眠呼吸暂停综合征的异常征兆。我们要求参与者在一条直线高速公路场景中驾驶一小时,通过单调驾驶使其进入嗜睡状态。系统监测他们的眼睛、心率和操作行为,并基于实验2中获得的分布计算CL。一旦CL超过50,系统将进行语音交互并询问他们“您感到困倦了吗?”根据图8,如果他们回应“是”,系统将引导其停车;如果回应“否”或无响应,系统将根据CL值决定是否继续监控或执行自动停车。
B. 实验设置与条件
1) 数据采集:
记录驾驶员的头部运动以及在30赫兹全高清(1080p)下的身体动作。我们还记录了心率波形数据。在实验2中,要求参与者回应关于嗜睡程度(嗜睡或不嗜睡)的问卷,以及心理需求问卷。对于心理需求,我们参考NASA任务负荷指数[21]使用0–20量表。
2) 参与者和程序:
十名参与者(7名男性和3名女性,年龄21–30岁)参与了实验1和2,五名参与者(2名男性和3名女性,年龄21–30岁)参与了实验3。他们均具有正常或矫正至正常视力。在实验前,我们向他们解释了如何使用驾驶模拟器控制汽车。他们在模拟器中进行了任意时长的练习驾驶,直到感觉自信为止。之后,他们被要求驾驶5分钟,并记录标准平均心率和心理需求评分用于正常驾驶基准。他们因参与实验获得了金钱补偿。
V. 结果
我们分析了实验结果,并讨论了所提出系统的实用性。
A. 实验1的结果
我们在此获得了用于训练提示征兆检测系统的数据。总共获取了800张身体姿势图像(10名参与者×4类×20张图像)和5400张眼睛状态图像(10名参与者×2类×70张图像)。我们使用获取数据的70%进行训练,30%用于测试,得到的身体姿势准确率为85%,眼睛状态准确率为96%。在此过程中,通过反复试验,最终将k‐近邻的k值设为50,卷积神经网络使用反向传播进行了2500个训练轮次。详细的评估结果列于表III和IV中。检测结果示例如图9和图10所示。从结果可以看出,所提出的系统能够检测提示征兆。预计准确率有望接近100%,以最大限度地降低交通事故风险。未来,我们将增加训练数据并优化模型以提高准确率。
表III 身体姿势检测评估结果
| 正常 | 按摩头部 | 按摩胸部 | 手悬垂 | |
|---|---|---|---|---|
| 正常 | 99% | 1% | 0% | 0% |
| 按摩头部 | 16% | 76% | 9% | 4% |
| 按摩胸部 | 7% | 0% | 93% | 0% |
| 手悬垂 | 17% | 0% | 1% | 81% |
表IV 眼睛状态分类评估结果
| Open | 闭合 | |
|---|---|---|
| Open | 97% | 3% |
| 闭合 | 6% | 94% |
B. 实验2结果
我们在此使用了提示信号检测系统,并研究了CL与提示征兆之间的关系。参与者在单调驾驶时有时会感到嗜睡。由于本实验目的是观察正常驾驶行为,因此我们手动去除了他们看起来嗜睡的数据。结果,我们得到了按摩头部、手悬垂、心动过速、闭眼和非操作的出现频率。出现按摩头部和手悬垂的一个原因是他们感到头部发痒以及疲劳。对于这些情况,当参与者不小心偏离车道后,会出现心动过速,并感觉急促,试图返回车道。另一方面,按摩胸部和心动过缓未被检测到。这意味着这些提示征兆在正常驾驶时很少出现。各种提示征兆的平均值和偏差列于表V中。然后,2σ区域和系数V用于CL计算,如第三节D所述,列于表六中。2σ区域和系数V展示了CL与提示征兆之间的关系。如果检测到的提示征兆的持续时间或周期偏离2σ区域,则CL将高于50,系统将启动语音交互。
表V 各提示征兆的持续时间与周期统计
| 特定符号 | 持续时间(秒) | 周期(秒) | ||
|---|---|---|---|---|
| 平均 | 偏差 | 平均 | 偏差 | |
| 按摩头部 | 2.2 | 1.55 | 184 | 260 |
| 按摩胸部 | — | — | — | — |
| 单手悬挂 | 3.9 | 3.2 | — | — |
| 闭眼 | 0.3 | 0.125 | 2.9 | 4.2 |
| 心动过速 | 6.7 | 6.53 | 34.1 | 47 |
| 心动过缓 | — | — | — | — |
| 非操作状态 | 3.9 | 8.3 | 0.77 | 0.67 |
表六 CL计算参数(2σ区域与系数V)
| 特定符号 | 持续时间 | 周期 | ||
|---|---|---|---|---|
| (2σ区秒) | V_t | (2σ区秒) | V_p | |
| 按摩头部 | 0.6–3.7 | 31.3 | 0–435 | 0.2 |
| 按摩胸部 | — | — | — | — |
| 单手悬挂 | 0.7–7.1 | 15.6 | — | — |
| 闭眼 | 0.1–0.4 | 250 | 0.1–7.1 | 12.2 |
| 心动过速 | 0.2–13.2 | 7.7 | 0–81 | 0.19 |
| 心动过缓 | — | — | — | — |
| 非操作状态 | 0–12.2 | 6.0 | 0–1.4 | 125 |
C. 实验3的结果
我们在此检测了驾驶员的嗜睡状态,并评估了检测精度。此外,我们还讨论了语音交互带来的心理负荷。
1) 困倦:
在单调驾驶过程中,系统使用公式(6)和(7)以及表VI中列出的系数计算了监控驾驶员的眼睛闭合、心率和转向角度的困倦程度CL。序列变化的示例如图12所示。输入提示信号参照表II。每个提示征兆的CL被单独计算,最终的CL通过取各个CL的最大值得到。此处,当检测到提示征兆时,持续时间的CL被立即计算,而周期的CL在提示征兆被检测到两次以上时逐渐增加。对于图12(a),眼睛闭合的持续时间和周期在2σ区域范围内变化(时间:0.1–0.4 s,周期:0.1–7.1 s),因此CL保持在50以下。对于图12(b),眼睛闭合的持续时间超出2σ区域范围,因此CL高于50,系统判断驾驶员处于嗜睡状态,随即启动语音交互。
2) 头痛:
为了更好地理解系统的工作原理,我们进行了伪头痛的演示。图13显示了用于头痛检测的CL序列变化。输入提示信号为“按摩头部”、“心动过速”和“非操作”。对于图13(a),“按摩头部”曾被检测到一次,但其持续时间处于2σ区域(0.6–3.7 s)范围内,因此CL保持在50以下,系统认为这是正常行为(“头皮发痒”)。对于图13(b),“按摩头部”被检测到且持续时间超出了2σ区域范围,因此CL高于50,系统判断驾驶员感到“头痛”,随即启动语音交互。
D. 讨论
因此,一些参与者被检测到嗜睡超过两次,总共检测到“困倦”的次数为十次。在十次中有五次,参与者回应了“是”或“我困了”,另外五次则是参与者回应“否”或“我不困”。另一方面,根据之后的问卷调查关于“困倦”,其中有七次参与者确认当时确实感到困倦。也就是说,在十次中有三次,参与者在感到嗜睡时仍回应了“否”或“我不困”。这似乎是语音交互的错误,但一个可能的原因是当时的嗜睡程度较低,而语音交互使他们清醒了过来。问卷的结果显示,异常体征检测的准确率为80%,因为在十次中有八次当“困倦”被检测到时,参与者确实感到嗜睡。
语音交互有助于理解驾驶员状态,但另一方面,它可能会增加驾驶员的心理需求。在此,我们通过使用NASA-TLX问卷调查了驾驶员的心理需求。图14显示了“正常驾驶”、“有语音交互并做出‘是’响应”以及“有语音交互并做出‘否’响应”时的心理需求得分。方差分析(ANOVA)结果显示,各项心理需求得分之间无显著差异,这意味着该系统并未明显增加驾驶员的心理负担。然而,回应“是”的心理需求得分高于另外两种情况。这表明该系统可能会增加驾驶员的心理需求,特别是当他们承认自己处于异常状态时。但增加的心理需求并不总是对驾驶不利,因为它可以给驾驶员带来紧张感,并使其意识到自身的异常征兆。
VI. 结论与未来工作
在本研究中,我们提出了一种新型异常迹象检测系统,通过多模态监测和语音交互来预防由健康状况引发的交通事故(MCCCAs)。该系统首先监控身体、生理信息和操作,以检测异常迹象的提示,然后根据提示征兆的类型、持续时间和周期计算置信水平(CL),最后基于CL执行语音交互。我们使用驾驶模拟器进行了实验,分析了提示信号与置信水平(CL)之间的关系,并评估了所提系统的有效性。结果表明,所提出的系统能够以80%的准确率检测困倦状态,且语音交互未显著增加心理负担。
在未来的工作中,我们将引入语音诊断系统,通过分析驾驶员的回答进一步评估其健康状态,并将该系统应用于真实环境,以收集更多数据并在实际情况下评估系统性能。
驾驶员异常征兆检测系统
216

被折叠的 条评论
为什么被折叠?



