張福忠、訾建軍、徐鳳平
(國能新朔鐵路機務分公司,內蒙古鄂爾多斯 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 時間為基準進行多數據同步展示,便于分析人員進行機車運行安全數據分析,極大程度地提高分析效率。