基于端边云架构的疲劳驾驶预警系统设计

2023-11-07 11:36林学志汪涵章力成张俊杰郭城陈晨
电脑知识与技术 2023年26期
关键词:云端驾驶员边缘

林学志,汪涵,章力成,张俊杰,郭城,陈晨

(蚌埠学院计算机与信息工程学院,安徽蚌埠 233030)

0 引言

随着社会的发展,现在人们的生活水平不断提高,越来越多的家庭拥有了汽车。中国经济网数据显示,我国汽车保有量于2021 年第三季度结束超过2.5亿。汽车数量的增多,随之而来的是汽车造成的交通事故也越来越多[1]。华经产业研究院公布的数据显示:2020年全国交通事故发生数为244 937起,2021年全国交通事故发生数为247 646 起[2]。其中每年因疲劳驾驶导致的交通事故,约占全国交通事故总量的21%。根据以上数据显示疲劳驾驶已经成为我们日常驾驶中的重大安全隐患之一。对于研究人员来说,寻找能够有效预警疲劳驾驶的方法已迫在眉睫。根据生理学的研究,长时间的保持高强度的精力集中、僵硬的固定姿势、久坐导致的静脉压迫血液不畅,引发的感官和神经的疲劳是车辆驾驶人员感到困倦的主要来源[3]。如果驾驶员长时间处于固定的座位上,动作受到一定限制,并且注意力高度集中于车辆行驶的方向,精神状态高度紧张,将导致短时间的视力下降、腰腿麻木、脊背僵硬、反射弧刺激减弱、行为迟缓等驾驶疲劳的现象。眼侧、颈部、肩膀、腰侧是疲劳形成的顺序。其中主要的疲劳是眼睛、大脑与驾驶部位处肌肉,这些都会成为疲劳驾驶交通事故的诱因。假如继续驾驶车辆时驾驶员仍处于疲劳状态,在驾驶途中,其多巴胺的分泌降低、褪黑素的分泌增加而感到疲倦,进而导致肌肉松弛,反应迟缓,路况处理能力下降,更甚有精神恍惚或瞬间自主意识消失等情况,出现驾驶动作迟误,操作停顿或修正驾驶路线不当等不安全因素,极易发生交通事故[4]。

对于该疲劳驾驶问题,国内外对于疲劳驾驶的检测方法可以分为四个主要方向:1)疲劳驾驶在生理特征指标上的检测技术。2)疲劳驾驶在车辆特征状态行为的检测技术。3)疲劳驾驶在面部驾驶员特征的检测技术。4)疲劳驾驶在多特征融合的检测技术[5]。第一类检测法是基于物理设备采集到的生理电信号进行检测,例如脑电信号、心率、肌电信号等。生理指标具有较高的可信度,可以通过生理指标的非正常变化来判断驾驶员产生疲劳反应。该检测装置具有简易性,成本低的特点,但在不同环境下产生的生理信号有差异性,鲁棒性较差且不易部署;第二类检测法是基于大量行车数据来判断驾驶员的疲劳程度,如车辆运行速度、路道偏移角度等。该方法将常态正常驾驶的车辆行为数据进行采集保存,并对在疲劳驾驶下行车的异常数据进行分析比较,进而根据采集的数据来判断其驾驶员的行为状态。但其方案易受到道路的复杂环境、驾驶习惯差异产生波动且检测装置烦琐,普适性较低;第三类检测法是基于驾驶员的面部信息采集来判断是否疲劳,例如眼角的状态,嘴部的状态、头部的状态等。通过摄像头装置实时采集的驾驶员数据来进行算法分析。该方法基于人工智能算法,并利用OpenCV 实现实时的状态分析。该方法设备便捷、成本低廉、检测度相对较好,具有良好的市场前景,但戴眼镜、光线较暗时可能会降低其检测的鲁棒性。第四类检测技术是通过对传感器装置技术与数字信息图像信号的处理并在汽车安全性与主动性角度,根据对驾驶员的多种疲劳特征与疲劳状态进行预警判断。该方案能一定程度上克服光线昏暗的变化、路况颠簸、恶劣环境等问题,并且可以基于多种人的行为特征,进一步提高检测的精确性。但该方法尚未成熟,仍需一段时间的发展。

相对于主动检测法,其他的方法更具有客观性、真实性,判断准确性更高等优点。此外,对于疲劳驾驶的检测设备环境,仍有许多需要解决的问题:一是接触设备或非接触下的光照等环境的数据采集问题;二是检测设备的运行环境,需要考虑云端的高延迟性和终端的设备硬件算力等问题;三是检测实验数据缺乏年龄多样性与性别差异,此外缺少对驾驶员的疲劳值进行具体的量化;四是大多数疲劳检测数据多为驾驶模拟或者室内检测,缺乏真实性;五是现今的实际公开道路测试的鲁棒性和精确度标准,其疲劳检测算法并未能达到。

根据存在的问题,本文自主设计了一款疲劳驾驶预警系统。主要通过在云端训练好的深度学习算法下发至边缘节点,然后通过边缘端实时地采集驾驶员的图像数据。在边缘端AI嵌入式模块中,调用内置的深度学习算法进行驾驶员当前状态判断。若驾驶员处于疲劳状态,系统将根据驾驶员的疲劳程度,做出相对应的预警措施,并将疲劳驾驶的图像上传至云端进行丰富训练用的数据集。

1 系统总体设计

图1 疲劳驾驶预警系统总体设计

本地计算和云计算是两种传统的驾驶员疲劳检测系统方案。基于本地设备的硬件计算疲劳检测与输入设备的图像信息采集,其不需要通过网络通信技术传输数据,就解决了检测延迟的问题。但数据存储存在隐私和安全风险,这是因其数据存储和计算的检测结果是基于本地而进行的,又由于通过深度学习等模型对于计算机的硬件要求较高,需要本地的显卡算力与显存有一定配置,其检测成本也会急剧上升。另一种基于云计算的方案,一是可以优化其硬件配置问题和本地设备的臃肿问题,所有数据被传感器设备上传至云端,随后通过云端进行一系列的数据计算与处理、模型训练等一系列工作,之后再向边缘端返回其疲劳驾驶模型的数据;二是云计算解决了其本地计算数据存储安全的问题,大数据分析能够更好地被进行。但是云计算由于需要网络的实时通信,其网络的波动可能造成极大的响应延迟。对于高速行驶的汽车而言,有较大的安全隐患。为了优化上述设计所存在的问题,本文提出了基于“端-边-云”协同计算的驾驶员疲劳监测方案。通过终端的数据采集与转移,边缘端的采集数据处理和云端的数据计算与存储来实现其疲劳驾驶的检测,该系统由终端设备、边缘端设备和云端设备三部分组成。

1.1 终端

实时采集对象图像的工业相机作为疲劳检测系统的终端设备,其对图像采集和进行图像的预处理是它的主要功能,并且它并不具有计算与判断能力[4]。边端设备与终端设备的网络通信主要是通过以太网光纤进行有线传输,通过其通信将所采集到的图像信息传输至边缘设备当中,解决其本地数据的隐私性保护和设备算力问题。

1.2 边缘端

检测系统的边缘端设备为嵌入式设备,可以对检测到的疲劳驾驶进行及时报警,其配备数据存储模块和数据传输模块,实时接受来自终端传感器设备传输的图像信息,将图像信息进行算法处理,判断出当前的驾驶人员是否处于疲劳驾驶状态。边缘层的智能边缘网关一方面支持通过多协议转换方法接入各设备设施系统的运行状态数据,并利用NB-IoT、4G 和5G 等多种通讯方式传输数据同时完成与云端设备通信。

1.3 云端

疲劳检测系统的云端将持续接收来自边缘端的疲劳驾驶图像传输,将图像数据进行模型训练构建出疲劳驾驶模型,以供边缘端设备下载使用。部署全端可视化软件平台对终端、边缘端和云端进行统一管理和调度,方便用户的使用。

2 系统设计

2.1 系统硬件设计

终端主要是采用工业摄像机,用于采集驾驶图像并在图像本地预处理后传输至边缘端设备。边缘端主要采用的是携带了AI芯片的嵌入式设备,采用的是NVIDIA Jetson Nano核心板,如图2所示。NVIDIA Jetson Nano 核心板的大小仅为70×45mm,CPU 搭载四核ARM®Cortex-A57®MPCore 处理器,GPU 为NVIDIA Maxwell"M architecture 架构[6]。具有体积小、性能优,节能且计算力强的特点,满足本系统边缘端对于硬件的需求。

图2 边缘端嵌入式AI芯片

云端主要使用阿里云的云端高性能服务器通用网络增强型sn2ne,处理器与内存配比为1:4,处理器为2.5 GHz 主频的Intel ® Xeon ® E5-2682 v4(Broadwell) 或Platinum 8163(Skylake) ,计算性能稳定[7]。能够实时接收边缘端发送的疲劳驾驶图像信息进行模型训练,生成疲劳驾驶模型后下发至边缘端AI嵌入式模块。

2.2 软件设计分析

本文提出的疲劳驾驶预警系统在编程时将程序模块化,系统中每个模块都是一个完整独立的子程序。这样可以提高系统的稳定性,也便于后期系统升级、测试和维护。本系统在软件编程时计划采用模块化的编程,系统中每个重要的模块全部是一个单独的子程序。在程序很庞大的时候能够通过模块化的方式保证程序的可读性、方便二次调用以及便于排查错误。系统的主要模块有:数据采集模块、数据处理模块、通信模块、AI 嵌入式模块和云端。系统的节点软件由主程序和系统初始化、摄像头数据采集和通信模块子程序等组成。节点上电运行后首先进入主程序,在主程序中完成系统初始化、链接云端流程,以死循环方式不断采集摄像头的数据并发送到云平台进行数据集更新。系统主程序流程图如图3所示。

图3 系统主程序流程图

3 结束语

本文以疲劳驾驶的监测与实时预警为目标,在深度学习与边缘计算技术的基础上,三层协同的系统架构能灵活地适应外界环境的变化,保持系统较为稳定地运行,满足实时监测的需要[8]。同时本系统具有很强的泛化性,只须改变云端训练所用的数据集,就可移植到其他应用场景,具有一定的商用价值。

猜你喜欢
云端驾驶员边缘
基于高速公路的驾驶员换道意图识别
驾驶员安全带识别方法综述
云端之城
美人如画隔云端
行走在云端
云端创意
起步前环顾四周是车辆驾驶员的义务
在边缘寻找自我
走在边缘
边缘艺术