张福忠、訾建军、徐凤平
(国能新朔铁路机务分公司,内蒙古鄂尔多斯 010300)
机务段在机车运行安全管理方面,一般都需要大量的分析人员对乘务员退勤后转储的LKJ 文件、视频文件、录音文件、走行部文件、能耗数据、机车运行安全项点等进行分析汇总,然后总结出一趟行车的乘务员操纵状态数据及机车质量数据。特别是针对乘务员操纵状态数据,需要对多种数据进行分析后才能得出,由于目前各种数据之间均独立存在,导致分析时需要将各种数据和LKJ 全程记录文件在不同的软件系统中手动同步分析,非常影响分析效率。且受限于各数据与LKJ 文件的时间可能不同步,需要在分析前先通过人工方式进行时间同步,然后再分析,该方式非常耗时且不方便。因此,设计了一套基于LKJ 文件的车载设备数据同步分析系统,实现机车车载设备数据和LKJ 文件数据按时间轴自动同步,并在同一界面展示的功能。该系统的使用将极大地提高机务段在行车数据方面的分析效率及准确率,降低机车运行风险,具有重要的研究意义和应用价值。
当前国内运用的LKJ 车载设备主要由1 个监控主机、2 个显示器构成,LKJ 数据更新主要由两部分构成,其一是监控主机数据更新,其二是显示器数据更新,其中数据更新主要是基于EPROM 芯片更新过程实现的,IC 卡数据更新是后者完成更新任务的主要路径[1]。当前机务段对行车安全、质量数据分析采用的方法是:在乘务员退勤后,根据乘务员转储的LKJ文件,结合相关专业人员或车载设备自动转储的视频文件、录音文件、走行部文件、能耗数据文件、运行安全项点等,由各专业人员对文件进行独立分析,分析时一律以LKJ 文件为基准,并将分析结果进行汇总,得出乘务员行车安全项点及机车质量项点。产品方面,目前未见将所有数据和LKJ 文件进行同步分析的类似产品;在单项数据分析方面,有类似产品实现了与LKJ 文件的结合分析功能。
车载视频与LKJ 文件结合分析目前一般是采用视频文件名称与LKJ 文件中时间轴对齐的方式,视频文件名称一般包含视频的开始时间,利用该数据和LKJ文件中的时间轴进行同步完成对齐。但由于视频文件在产生时,可能视频主机与机车TAX 箱之间通信异常,导致视频时间与LKJ 时间不同步,对齐后依然存在LKJ 文件与视频不同步的问题,需要人工调整才能正常工作。该方式依然不能满足高效率分析要求。
走行部文件由走行部监测装置产生,正常情况下走行部监测装置与机车TAX 箱通信,实现走行部文件时间与LKJ 时间同步。该方式要求TAX 箱与走行部监测装置通信正常,地面分析时,通过时间轴同步方式即可实现走行部文件与LKJ 文件同步分析。
基于LKJ 文件的机车设备数据同步设计方法,第一步,解析LKJ 文件和机车设备数据文件,并将文件数据和时间结构化设计。第二步,根据机车设备数据特性,各自采用自动化方式实现数据对齐自动化。第三步,将所有数据在同一界面展示[2]。
系统设计采用时间轴同步原则,根据机车数据分析要求,所有数据需以LKJ 时间为基准。系统设计原则如图1所示。
图1 系统设计原则
数据展示方面,采用在一个交互界面实现所有数据在LKJ 时间轴下显示,增强数据分析可视化能力,界面如图2所示。
图2 系统交互界面
数据同步技术首先解析LKJ 文件和地面数据,实现数据播放基本框架。解析的LKJ 文件结构化数据如图3所示。将LKJ 文件与地面数据结合,即可实现数据同步。数据同步中,文本类数据匹配以时间为基准,在时间异常情况下手动调整同步参数即可,实现相对简单。同步的核心是视频文件和录音文件处理机制,由于音视频采用流媒体存储,当发生时间不同步时,处理方式一般只能采用手动调整。本研究拟在视频同步和音频同步方面采用光流算法和音频智能分析技术来实现自动同步[3]。
图3 LKJ 文件解析
2.2.1 视频自动同步
视频与LKJ 文件自动同步采用光流(optical flow)算法与LKJ 速度匹配方式完成。目前光流算法已经比较成熟,所谓光流就是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息的一种方法。简单说,光流就是瞬时速率,在时间间隔很小(如前后两帧)时,等同于目标点的位移。通过该理论可实现目标物体的运动速度计算,在机车视频上,以路况摄像数据为例,在机车速度发生变化时,路况摄像头拍摄的物体将产生相对位移。以此来确定机车移动速度。速度算法流程如下。
第一,利用OpenCV 获取路况视频中关键点的前后两帧的定位,利用这个定位的横向差值可以获得这一刻的物体运动速度,差值的正负则代表运动方向。获取相邻帧并进行灰度转换。
vc=cv2.VideoCapture(video_path)
rval=vc.isOpened()
vc.set(cv2.CAP_PROP_POS_FRAMES, 500)
rval,frame_1=vc.read()
rval,frame_2=vc.read()
frame_1_gray=cv2.cvtColor(frame_1, cv2.COLOR_BGR2GRAY)
frame_2_gray=cv2.cvtColor(frame_2, cv2.COLOR_BGR2GRAY)
第二,获取图像关键点后,将关键点作为追踪运动情况的标靶。这里对于关键点的检测指定一个mask 蒙版,检测时只检测蒙版内的区域。可以作为一个粗筛手段,避免背景干扰。
第三,计算光流,得到匹配的关键点本帧和前一帧。
第四,计算本帧和前一帧在x 轴上的差值,即为运动的距离。
该方法能够获取机车运行速度,而在LKJ 文件和视频文件对齐中,可以先从LKJ 文件选取机车速度从0 到非0 的过程,然后在视频的时间段范围内,通过光流算法获取机车实际从0 到非0 的时刻,将两个时刻同步即实现了视频文件与LKJ 文件的自动对齐。
2.2.2 音频自动同步
音频自动同步的首选是利用音频文件的时间与LKJ 基础时间进行同步处理,如果音频文件在采集时,采集设备与LKJ 设备之间的时钟不同步,则该方法会导致数据同步误差。本研究利用音频自动分析技术,充分研究LKJ 设备的语音和文件数据规则,将语音文件进行处理并识别,同时利用LKJ 规则进行匹配,实现音频文件的自动同步。音频自动同步的核心是语音算法,本文利用LKJ 操作时发出的语音和LKJ监控记录文件中发出语音的时间点来匹配语音与LKJ 文件。本系统采用模式匹配原理进行语音识别。其系统框图如图4所示。首先,需要对输入的语音进行预处理(分帧、加窗等)。其次,要进行特征提取。然后系统通过学习,把输入的语音按照一定模式进行分类。最后,依据判定标准找出最佳匹配结果。
图4 系统框图
在语音识别中,为了提高识别率,要求从语音采集到最后识别均进行优化设计。核心需要在语音活动检测、降噪、回声消除、声源定位、波束中形成几个关键点,但是该系统研究的是已有语音,不存在语音采集研究,所以核心依然是关注语音识别[4]。
在项目研究中,声学模型训练需要从巨量的语音数据中得出,本项目用了500G 语音进行训练,将其中LKJ 的语音发声进行提取,产生相应的关键词模型。最后生成文本数据与LKJ 文件比对。其中文本输出的工作流程如图5所示。
图5 文本输出工作流程
通过以上流程,实现语音的文本化输出。
铁路部门可以在铁路局建设LAIS 应用服务器工作站与调度查询台,干线机务段构建WLAN 无线传输站。既有的机车与地面的数据通信链路已经很完善,通过局部整改LAIS 系统和LKJ,能够达到无线同步更新LKJ 文件数据[5]。在机车行驶过程中,基于GSM/GPRS、3G 无线网络使机车与地面之间实现远程实时信息传输;机车进段以后,采用WLAN 无线局域网完整地把运行揭示、线路数据等信息传输到LKJ,并运用前期建成的铁路计算机网络,使数据在国家铁路局、铁路局、站段三级网络范畴中顺畅传送。为使LKJ 数据的WLAN 无线能实现自动同步更新,相关部门要尽早改造升级LKJ 列车运行监控装置的主机板硬件,建议改用大容量可擦写式的FLASH 芯片作为线路数据的存储媒介,借此方式更好地满足线路数据的无线同步更新需求。实际中为提升显示器和主机之间的数据信息传输速率,可以尝试在两者之间增设高速通信口,可以选用高速的RS485 或以太网接口,以上均是提升通信速率的有效方法。为确保LKJ文件的安全性,则要合理运用安全存储、强校验、压缩等机制,比如可以运用CRC32、MD5 校验机制,理论上能降低错误发生率,实现对文件传输差错的有效管控[6]。
通过以上方法,实现了LKJ 文件与机车视频文件、音频文件、走行部实时数据、能耗监测数据等在同一时间轴上显示,能够通过时间、公里标等参数快速定位任意位置的多设备数据状态。
利用该项目研究成果,通过大量同时段LKJ 文件、视频文件、音频文件、能耗监测数据、走行部数据进行输入测试并得出如下结论:系统能够自动分析各文件,并以LKJ 时间为基准进行多数据同步展示,便于分析人员进行机车运行安全数据分析,极大程度地提高分析效率。