Face multi-attribute detection algorithm based on RetinaFace
-
摘要: 为提高铁路刷脸检票业务中人脸检测的平均精度,通过研究分析人脸检测算法RetinaFace,针对闸机应用场景制定损失函数,提出了一种基于RetinaFace的人脸多属性检测算法,实现了人脸框位置、人脸是否佩戴墨镜以及人脸遮挡程度等信息的准确输出。算法使用轻量化骨干网络MobileNet-0.25网络结构,移除非必要的分支,减少计算开销,在铁路标准人脸遮挡数据集上检出率达到95.4%,不同遮挡程度的识别准确率达到了99.2%。Abstract: In order to improve the average accuracy of face detection in railway face brushing and ticket checking, this paper proposed a face multi-attribute detection algorithm based on RetinaFace by studying and analyzing the face detection algorithm retinaface and formulating the loss function according to the application scene of the gate. It was implemented the accurate output of the information such as the face frame position, whether the face was wearing sunglasses, and the degree of occlusion. The algorithm used the lightweight backbone network MobileNet-0.25 network structure, and removed unnecessary branches to reduce the computational cost. The detection rate of the algorithm on the railway standard face occlusion data set reached 95.4%, and the recognition accuracy of different occlusion degrees reached 99.2%.
-
逐年上升的旅客运输任务量对铁路客运站调车作业管理的信息化程度和新型运输专业人才培养提出了更高的要求。目前,调车作业计划推演通常是客运站调车区长按经验,借助手控沙盘完成,并向调车班组传达本班作业的注意事项,值班员需要与现场司机联系确认,才能开放进路。车站职教科、铁路院校多是靠手动控制实验沙盘完成调车教学。而实景沙盘的制作、维护成本较高,一旦车站发生线路改造,对应的沙盘硬件就会面临整改甚至失效的问题。
仿真技术在铁路运营管理领域的应用越来越广泛,具有可控制、无破坏性、可重复使用等优点[1],其关键技术从无交互的简化离散事件仿真、软件与实体推演沙盘相结合,发展为高度仿真的虚拟现实。主要应用场景为编组站技术作业仿真教学[2-3]、车站接发车模拟[4-6]、铁路车站联合演练仿真培训[7],少有涉及客运站调车作业模拟推演方面的研究。客运站调车作业性质不同于编组站,并非按车流方向编成列车,而是要在列车发车前完成必要的调车任务,如车辆的换/甩挂及检修作业,以保证本站始发列车的顺利发车。因此,客运站调车计划执行过程仿真平台会面临诸多问题,包括调机在站内和库内运行作业的复杂性,推送调车法下调机作业动作的不确定性,列车到发作业对调车作业的干扰性等。
综上,本文旨在开发一种能够自动读取调车作业计划并在电子沙盘屏幕上进行执行过程仿真的平台。
1 业务流程分析
在铁路客运站调车生产过程中,站内、库内现存车的数量、位置会随时间变化,任意时刻均对应一个站内、库内现车状态,故需考虑调车作业计划推演初始时刻的现车状态。本文将调车作业的推演过程按时间顺序分为3种状态:现车加载、调车作业计划执行、执行完毕。调车作业计划执行的全过程需要调用现车表、列车到发时刻表、调车作业计划、列车编组顺序表作为数据基础,结合上文所述调车作业需求,绘制铁路客运站调车作业计划执行过程仿真平台业务流程,如图1所示。由于执行完毕状态仅是以调机入段作为起始标志,逻辑较为简单,因此业务流程图中仅展现现车加载状态和调车作业计划执行状态。
从整体业务流程来看,作业车车号信息的生成和调车作业计划推演是一切业务目标实现的前提。而作业车车号信息的生成必须保证平台可以完成推演过程中所有作业车车号的检索;调车作业计划的全盘推演必须克服调机在站内和库内运行作业的复杂性和推送调车法下调机作业动作的不确定性,从而解决调车的摘车动作合法性检验的难题。因此,如何完成作业车车号的检索和调车的摘车动作合法性检验是调车作业计划执行过程仿真平台开发的基础。
2 平台模型设计
本文基于AnyLogic软件设计铁路客运站调车作业计划执行过程仿真平台,基于迭代算法提出作业车车号检索和摘车动作合法性检验的模型。
2.1 迭代算法
在平台设计流程中,现车状态加载和调车作业计划执行两个状态会处理大量数据,以车号查找为例,若运用递归算法,其一项的计算量可达上万次;而运用迭代算法则可较好地解决该问题。
迭代算法又称辗转算法,是一种不断用变量的旧值递推新值的计算过程,每次计算得到中间值,通过迭代关系算得下一步新值,直至遇到终止条件,具有可将复杂问题简单化和不断逼近最优结果的特点。迭代算法包含3个要素:起始条件、迭代关系和终止条件。一般要求起始条件尽可能地接近目标[8],也可根据问题特征或经验来选择起始点;迭代关系对应的搜索方向要逐渐接近目标;而目标是否达成则要看终止条件是否被满足。
综上,为降低计算冗余,本文通过循环结构来设计关于不同变量的迭代模型,以实现作业车车号检索和调车动作合法性检验功能。算法模型参数如下:
${s_k}$ 为第$k$ 次计算的数据序号;${x_k}$ 为第$k$ 次计算后数据序号跨度;${v_k}({s_k},{x_k})$ 为第$k$ 次计算结果;$f_k^*({s_k})$ 为第1次至$k$ 次计算的最大预期结果累计值;$f_n^*({s_n})$ 为边界条件,其中,$n$ 表示本次计算的数据量。起始条件:
$${s_1} = 1$$ 迭代关系:
$${s_{k + 1}} = {s_k} + {x_k}$$ $$ {v}_{k}({s}_{k},{x}_{k})=\left\{ \begin{array}{l} {0,\;\;({\text{第}}{s}_{k}{\text{个数据与目标数据不相等}})}\\ 1,\;\;({\text{第}}{s}_{k}{\text{个数据与目标数据相等}}) \end{array} \right. $$ $$ \left\{ \begin{array}{l}{f}_{n+1}^{*}({s}_{n+1})=0\\ {f}_{k+1}^{*}({s}_{k+1})={\rm{max}}\left\{{v}_{k}({s}_{k},{x}_{k})+{f}_{k}^{*}({s}_{k})\right\},k=1,\cdots ,n\end{array}\right.$$ 终止条件:当计算至
$k = n$ 或$f_{k + 1}^*({s_{k + 1}}) \geqslant 1$ 时,停止计算,保留第${s_k}$ 个数据,作为下一个迭代目标的起始点。若$f_{k + 1}^*({s_{k + 1}}){\rm{ = }}1$ ,表示本次迭代计算返回值为第${s_k}$ 个数据;若$f_{k + 1}^*({s_{k + 1}}) > 1$ ,表示运算过程或数据来源出现纰漏,停止计算,并停止推进仿真时钟,实现运算过程的自我校验;若$f_n^*({s_n}) = 0$ ,则表示本次计算无返回值。本文把变量原值定为计算的第1个数据的值,通过循环结构完成变量的迭代,当变量值达到目标函数的最优值时,则完成一次计算任务,下一个计算任务会接续上一次迭代的变量新值继续计算,从而遍历表中的每一个数据。
2.2 作业车车号检索
铁路客运站的作业车可为站内到达列车,也可来自库内现车,本文以站内到达列车作业车车号查找为例。到达列车的列车编组顺序表中包含各到达列车所对应车辆的车号信息,调车作业计划的记事栏包含作业车车号信息。为了正确显示作业车车号,可利用AnyLogic软件中的RailCar智能体建立关于车号信息的迭代模型。默认本列车起始车辆车号显示为空,数据跨度
${x_k}$ 均为1,当遍历列车编组顺序表得到的迭代值与记事栏作业车的6位数车号相等时,则完成车号检索,若$f_n^*({s_n}) = 0$ ,则说明本次到达列车不含该调车计划规定的作业车。2.3 调车摘车动作合法性检验
铁路客运站的到发场与客技库的布局关系可分为横列式和纵列式两种,虽然调机的作业径路有差异[9],但在推送调车法下均可将调机动作大致分为4类,即:调机在库内有车股道挂车或摘车、调机在库内无车股道摘车、调机牵引车列出库至到发场、调机将到发场车列推送至库内。同样是执行摘车钩,目标股道上有车的摘车钩包括一次挂车和一次摘车动作,目标股道上无车的摘车钩仅是一次摘车动作。而计算机无法分辨推送法下的调机摘车细节,因此需要进行调车动作的合法性判断。比如,当调机执行摘车动作时,若目标股道上有车,仅执行一次摘车动作而不预先与股道上车辆连挂,则判断为动作不合法。
针对这两种不同的股道情景,本文利用AnyLogic软件中的逻辑模块建立有关轨道现车数的迭代模型,利用程序判断摘车钩动作的合法性。起始默认每个摘车钩为仅一次摘车动作,由于每一钩不相同,故每次迭代时的数据序号跨度
${x_k}$ 取本钩计划的轨道号。若循环结构的轨道现车迭代结果为0,则摘车钩动作合法;若迭代结果大于0,则当前摘车钩动作不合法,摘车钩动作将变为先挂后摘。3 研发实例—大连站调车作业计划执行过程仿真平台
本文以大连站为例,基于AnyLogic软件的仿真环境,采用Visual Studio 2013开发工具和 Java语言,开发了大连站调车作业计划执行过程仿真平台。
大连站为尽头式车站,到发场与客技库采用纵列式布局。本平台将车场线路作为推演界面的主视图,用机车车辆的动画移动模拟推演调车过程,并用不同颜色指示灯的闪烁方式及动态的高亮文字提示当前推演状态。所有的应用信息均显示在屏幕上,也可切换局部视图放大观看推演过程,解决了纵列式车场排布带来的视图狭长问题。该操作界面在基本不改变行车人员现有习惯的同时,更直观地描述站场形态。平台功能结构如图2所示。
3.1 平台逻辑模型
本文根据大连站到发场和客技库纵列式布局,以及调车作业特点,设计了具体的逻辑模型,包括现车加载状态逻辑、调车作业计划执行状态逻辑和执行完毕状态逻辑。利用AnyLogic软件轨道库的Couple和Decouple模块完成车场的机车、车辆和车列的摘挂逻辑设计。平台逻辑模型如图3所示。
3.2 推演界面布局
平台推演界面如图4所示,包括主菜单、显示面板、调车作业计划、钩作业时分统计、注意事项、冲突进路记录6部分。其中,主菜单包含文件、2D视图、3D视图、演示和系统管理5个功能区;显示面板包括当前仿真时间、调车作业执行过程仿真中各类状态指示灯、当前执行钩计划和站场示意图4项内容,其中,站场示意图是以大连站纵列式布局为基础的示意模型,分为站内、客技库两部分;调车作业计划显示本次仿真推演的所有调车作业内容;钩作业时分统计、注意事项、冲突进路记录显示每钩计划的推演计算、判断的结果。
3.3 推演状态信息实时提醒与推演统计数据生成
(1)调车计划执行动态显示
显示面板各状态指示灯会指示当前推演状态、当前是否有列车到发作业进行及作业车车次。调车计划表可实时显示当前执行钩计划在计划表中的位置。在某一钩计划的执行过程中,该钩计划会在计划表中被标红,直至钩计划结束,恢复黑色,同时下一钩计划被标红,循环至调车计划执行完毕。
(2)车号显示
在推演过程中出现的所有车辆的车号,若与调车作业计划表中“记事”一栏存在的车号相同,会被标记在该车辆的上方,并跟随车辆移动。
(3)调车钩时分数据统计
从调车作业计划推演开始时刻起,调机每执行完一钩计划都会在钩作业时分数据统计图中添加显示本钩计划的作业时分数据,以此实现随推演过程实时生成调车钩作业时分统计。
(4)调车班组注意事项
仿真平台在执行至某一钩计划时,会根据当前现车状态和钩计划内容,计算并判断本钩中是否含有需要调车班组额外掌握的作业注意事项。
(5)冲突进路记录
在调车作业过程中出现列车到发作业,调机需要停止作业并在线路上等待行车作业,同时,平台将判断本务机与调机的进路是否存在冲突,并记录在冲突进路记录一栏,若两项作业不能平行进行,则该条记录会被红色高亮显示。
3.4 视图切换
由于大连站的车场采用纵列式布局,为了更直观地展示推演过程,使用户能够详细观察调车作业细节,如车号信息等,本平台将车场划分为几个视图分区。平面2D视图可展示调车作业计划中被标记的车号,分为“站内”视图、“客技库”视图和“整体”视图。主菜单下点击“整体”按钮即切换到含盖整个站场的视图。3D视图可展示调车过程的立体动画效果,如图5所示。
4 结束语
本文针对铁路客运站调车作业计划执行过程分析了业务流程,基于迭代算法进行平台模型算法设计,并以大连站为实例研发了调车计划执行过程仿真平台。该平台运用平面和立体视图的切换设计,实现了调车作业计划无实物自动推演,实时展示当前调车作业计划执行内容及调车作业状态信息,并自动生成每钩作业时分数据,实现了调车作业实时数据的可视化。
该平台可辅助车站值班员排列进路,辅助调车区长检查调车计划编制的合理性;同时,可为车站职教科、铁路专业院校提供一种新型的教学方式,尤其是疫情期间,利用本平台的电子推演功能可实现远程教学,减少人员流动,更适合实践教学的高效开展,修改线路简便,维护成本较低。下一步的工作将基于现有调车作业计划执行过程仿真平台的功能,对多调机协同作业与列车到发作业之间的影响冲突等问题进行研究。
-
表 1 各个层级目标框的数目
特征金字塔 步长 锚点框 P2(160$ \times $160$ \times $256) 4 16,20.16,25.40 P3(80$ \times $80$ \times $256) 8 32,40.32,50.80 P4(40$ \times $40$ \times $256) 16 64,80.63,101.59 P5(20$ \times $20$ \times $256) 32 128,161.26,203.19 P6(10$ \times $10$ \times $256) 64 256,322.54,406.37 表 2 实验结果
模型 CPU时间 简单数据集
检出率困难数据集
检出率墨镜检出率 遮挡程度
准确率本文改进
模型35 ms 95.4% 89.7% 99.4% 99.2% RetinaFace 32 ms 95.3% 85.4% - - -
[1] 贾成强,戴琳琳,徐海涛,等. 基于人脸识别技术的铁路实名制进站核验系统研究及设计 [J]. 铁路计算机应用,2018,27(7):49-53, 63. DOI: 10.3969/j.issn.1005-8451.2018.07.012 [2] Kaiming H, Georgia G, Piotr D, et al. Mask R-CNN [J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2020, 42(2): 386-397.
[3] Redmon J, Divvala S, Girshick R, et al. You only look once: unified, real-time object detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Los Alamitos: IEEE Computer Society Press, 2016: 779-788.
[4] W. Liu, D. Anguelov, D. Erhan, et al. SSD: single shot multibox detector[C]//Proceedings of the 14th European Conference onComputer Vision. Amsterdam, the Neterlands, 2016: 21-37.
[5] Deng J, Guo J, Ververas E, et al. RetinaFace: Single-Shot Multi-Level Face Localisation in the Wild[C]//2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2020.
[6] Lin T Y, Dollar P, Girshick R, et al. Feature Pyramid Networks for Object Detection[C]//IEEE Conference on Computer Vision and Pattern Recognition (CVPR). IEEE Computer Society, 2017.
[7] K. He, X. Zhang, S. Ren, et al. Deep residual learning forimage recognition[C]//IEEE Conference on Computer Visionand Pattern Recognition (CVPR). Las Vegas, 2016: 770-778.
[8] GlorotX, Bengio Y. Understanding the difficulty of training deep feedforward neural networks [J]. Journal of Machine Learning Research, 2010(9): 249-256.
[9] Howard A G, Zhu M, Chen B, et al. MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications [J]. IEEE Access, 2017(6): 1-14.
[10] Yang S, Luo P, Loy C C, et al. WIDER FACE: A Face Detection Benchmark[C]//IEEE Conference on Computer Vision & Pattern Recognition. IEEE, 2016.
-
期刊类型引用(6)
1. 杨硕,王金龙. 基于虚拟现实技术的仿真船厂漫游系统设计. 中国水运. 2025(02): 35-37 . 百度学术
2. 李龙欣,孙青云,徐鹏. 贴面生产线虚拟仿真教学系统关键技术研究. 林业机械与木工设备. 2024(03): 64-70 . 百度学术
3. 王昊琪,李旭鹏,李浩,张玉彦,杨文超,何文斌,王永强,文笑雨,刘根,杨新宇,解伟. 人机环境动静融合的数字孪生车间快速建模方法. 航空制造技术. 2024(11): 14-22 . 百度学术
4. 梁方,徐菲,杨坤,廖庆喜,廖宜涛. 基于Unity 3D的农业机械虚拟拆装驾驶仿真平台开发. 农业工程. 2024(11): 23-29 . 百度学术
5. 全莹,王荆石,郑博文. 基于半实物仿真的铁路叉车实训装置研究. 科技创新与应用. 2023(04): 51-54 . 百度学术
6. 李宇豪. VR技术在动车检修培训中的应用. 科技资讯. 2023(02): 1-4 . 百度学术
其他类型引用(5)