APP下载

轨道交通驾驶员行为在线监测研究

2022-11-03宋能超邓辰鑫

科学技术创新 2022年32期
关键词:函数人体图像

宋能超,邓辰鑫*

(1.合肥市轨道交通集团有限公司,安徽 合肥 230001;2.上海泽高电子工程技术股份有限公司,上海 201900)

引言

轨道交通在飞速发展并创造巨大的经济和社会效益的同时,一系列亟待解决的技术问题有增无减。面对现存诸多疑难杂症,从业人员难以通过传统的理论或技术来解决。其中,地铁车辆的驾驶员行为监测预警,作为地铁车辆运行安全和智能运维的难点,是现今地铁车辆朝智能驾驶发展的重点技术之一。

列车运行安全和智能运维等问题,可归结于服务于列车安全性的车载设备的缺失性和不先进性,难以提供复杂情况下的安全保障。司机在正线行车时,需要集中精力驾驶,不做打电话、看手机等无关行为;在道岔前方、进站停车时,应做出手指口呼和目视确认等行为。司机驾驶行为的规范与否往往影响行车安全,目前尚无可靠的技术设备对此类行为进行监督。

驾驶行为分析可由人体行为分析迁移实现,常见的人体行为分析分为3 类,即传统方法、自上而下和自下而上。传统的人体行为分析在几何先验的基础上,利用模板匹配进行分析,其核心在于利用模板表示整个人体结构。自上而下的方法主要由目标检测器和单人人体骨骼关节点检测器这两部分组成,它首先检测出图像中的人脸(或人体)目标,再检测出单个目标的人脸关键点(或人体骨骼关节点),利用目标检测主要完成分类和定位两种任务,目前主流的深度学习算法框架有FasterR-CNN、YOLO[1~3]、SSD 等。自下而上的方法,如Open Pose 方法[4]将部位亲和力场和卷积姿态机相结合,通过对人体的不同肢体结构进行建模,使用部位亲和力向量场来模拟不同肢体结构,从而分析人体行为。

从地铁车辆运行安全和智能运维的角度出发,针对司机驾驶行为规范性等人工驾驶隐患,本研究提出一种基于双YOLOX 目标检测的方法监测司机驾驶行为,并通过模型加速策略将算法部署至边缘计算的端侧。司机驾驶行为安全预警系统作为车载技术防护装备,具有先进性和智能性,能保障列车的安全运行。

1 基于YOLOX 的驾驶行为分析策略

1.1 YOLOX 目标检测

YOLO 系列算法是目标检测的经典算法之一,通过无分支的深度卷积网络实现特征提取、候选框分类和回归,网络结构简单,检测速度能够满足实时检测任务的要求。截止目前,其更新迭代包括早期YOLO框 架、YOLOv3~v5、YOLOX、YOLOv6 及 其 它 变 种 框架。YOLOX 以YOLOv3 作为起点,创新地将无锚框方式(Anchor Free)引入。本研究基于YOLOX 框架进行分析和计算。

1.2 基于双YOLOX 的驾驶行为分析策略

图1 显示了分析策略的流程。使用两个YOLOX模型,实现地铁列车司机的驾驶行为检测,监测包括疲劳(打哈欠或长时间闭眼)、打电话和抽烟。使用YOLOX-1 模型检测人脸、手机和香烟,当出现手机和香烟时,输出报警;若未检测出手机和香烟并检测出人脸,则将人脸图像送入YOLOX-2 模型中,对闭眼、睁眼、哈欠进行检测并统计,根据相应规则进行报警。

图1 驾驶行为检测流程

2 基于NVIDIA 平台的模型加速

2.1 NVIDIA 平台

目前NVIDIA 平台主流的边缘计算设备包括Nvidia Jetson Nano、Nvidia Jetson Xavier NX、Nvidia AGX Xavier,这些设备体型小巧、价格便宜,适用于各种算力要求的边缘嵌入式AI 计算。本研究使用NX 平台进行计算,它用外形小巧的模组系统将超级计算机的性能带到了边缘端,拥有Xavier 般的性能和Nano的大小,可提供高达21 TOPS 的计算性能,能够并行运行多个神经网络并同时处理来自多个传感器的数据,适用于无人机、便携式医疗设备、小型商业机器人、智能摄像头、高分辨率传感器、自动光学检测、智能工厂及其他高性能AI 系统。

2.2 模型加速策略

2.2.1 模型头部切片的加速

YOLOX 模型头部使用聚焦模块(Focus),来源于YOLOv5,将原始图像(3×640×640)通过切片操作,形成特征图(12×320×320),再送入后续卷积神经网络。其目的在于得到无信息丢失的二倍下采样特征图。从高分辨率图像中,周期性的抽出像素点重构到低分辨率图像中,即把图像相邻的四个位置进行堆叠,聚焦宽、高维度信息至通道维度中,提高每个点感受野,同时在不降低网络精度前提下,减少了计算量,增加了推理速度。

图2 Focus 结构示意

但这种非常规计算,对于边缘计算设备,尤其端侧的图形处理单元(GPU)来说,存在速度和精度上的不稳定性。在模型部署时,将Focus 从模型中移除,并在中央处理单元(CPU)中计算Focus、GPU 异步接受Focus 的结果,消除Focus 在GPU 中的异常耗时,达到稳定计算和加速的效果。

2.2.2 激活函数算子的替换

激活函数完成了数据的非线性变换,解决线性模型的表达、分类能力不足的问题。它改变了数据的线性关系,使深层神经网络有了实际的意义,让网络更强大。它使网络可以学习复杂的事物、数据以及表示输入输出之间非线性的复杂的任意函数映射。此外,激活函数执行了数据的归一化,将输入数据映射到某个范围内再往下传递,限制了数据因多层网络传递而数据过大和溢出风险。

修正线性单元(ReLU, Rectified Linear Unit)激活函数是神经网络常用激活函数之一,其实质为分段线性函数,对负值进行单侧抑制,具有稀疏性、无梯度饱和或梯度消失的现象、计算简单的优点。

YOLOX 模型使用SiLU 激活函数,

是介于线性函数与ReLU 函数之间的平滑函数,具有无上界有下界、平滑、非单调的特性,让其模型效果优于ReLU 激活函数,显著提高了神经网络的准确性。SiLU 激活函数以复杂的非线性提高了精度,但因其核心为指数计算,在端侧上的计算成本比ReLU 激活函数高。因此,本研究通过硬解码方法,使用Hardswish激活函数代替SiLU 激活函数,在不降低精度的前提下,加速端侧激活函数的计算,函数图像见图3。

图3 SiLU 激活函数和Hardwish 激活函数

2.3 模型加速统计

表1 计算了在NVIDIA-NX 平台下使用2.2 所述策略的加速结果,其中,NANO、TINY 和S 表示YOLOX 中三种大小不同的模型。表中模型推理的最终预测结果均一致,加速策略不改变模型的预测结果,验证了其准确性。以TINY 模型为例,使用2.2 所述策略后其检测帧率提升了66.7%。

表1 加速前后模型计算结果

3 合肥轨道交通1 号线试运营效果

3.1 设备介绍

检测主机结合面部摄像机完成驾驶员行为监测。主机内含NVIDIA-NX 模块,通过减震工艺固定于机箱中,满足地铁列车的环境振动[5,6]。主机输入电源DC 24 V,最大功率不超过50 W,能存储不小于15 d的系统运行日志,并将检测视频推流至服务器上。主机外观见图4。

图4 检测主机实物图

面部摄像机安装在操作台正中间的帽檐处,见图5。

图5 面部摄像机安装位置

3.2 运营效果

在合肥地铁某列车安装的试点设备,从2021 年11 月至2022 年8 月,日均检测次数约10 万次,其中日均误报937 次,误报率约9.37‰,误报时间持续约100 秒。图6 和图7 展示了两种典型的疲劳检测结果。

图6 疲劳检测结果(打哈欠)

图7 疲劳检测结果(闭眼占比高)

4 结论

(1) 使用双YOLOX 目标检测的方法监测司机驾驶行为,试点运行效果良好。

(2) 模型通过加速策略部署至边缘计算的端侧,使计算帧率提高了66.7%。

猜你喜欢

函数人体图像
人体“修补匠”
摄像头连接器可提供360°视角图像
人体冷知识(一)
浅析p-V图像中的两个疑难问题
人体可笑堂
关于函数的一些补充知识
高中数学中二次函数应用举隅オ
无独有偶 曲径通幽
名人语录的极简图像表达
人体运动小知识