張福忠、訾建軍、徐鳳平
(國能新朔鐵路機務(wù)分公司,內(nèi)蒙古鄂爾多斯 010300)
機務(wù)段在機車運行安全管理方面,一般都需要大量的分析人員對乘務(wù)員退勤后轉(zhuǎn)儲的LKJ 文件、視頻文件、錄音文件、走行部文件、能耗數(shù)據(jù)、機車運行安全項點等進行分析匯總,然后總結(jié)出一趟行車的乘務(wù)員操縱狀態(tài)數(shù)據(jù)及機車質(zhì)量數(shù)據(jù)。特別是針對乘務(wù)員操縱狀態(tài)數(shù)據(jù),需要對多種數(shù)據(jù)進行分析后才能得出,由于目前各種數(shù)據(jù)之間均獨立存在,導(dǎo)致分析時需要將各種數(shù)據(jù)和LKJ 全程記錄文件在不同的軟件系統(tǒng)中手動同步分析,非常影響分析效率。且受限于各數(shù)據(jù)與LKJ 文件的時間可能不同步,需要在分析前先通過人工方式進行時間同步,然后再分析,該方式非常耗時且不方便。因此,設(shè)計了一套基于LKJ 文件的車載設(shè)備數(shù)據(jù)同步分析系統(tǒng),實現(xiàn)機車車載設(shè)備數(shù)據(jù)和LKJ 文件數(shù)據(jù)按時間軸自動同步,并在同一界面展示的功能。該系統(tǒng)的使用將極大地提高機務(wù)段在行車數(shù)據(jù)方面的分析效率及準確率,降低機車運行風(fēng)險,具有重要的研究意義和應(yīng)用價值。
當(dāng)前國內(nèi)運用的LKJ 車載設(shè)備主要由1 個監(jiān)控主機、2 個顯示器構(gòu)成,LKJ 數(shù)據(jù)更新主要由兩部分構(gòu)成,其一是監(jiān)控主機數(shù)據(jù)更新,其二是顯示器數(shù)據(jù)更新,其中數(shù)據(jù)更新主要是基于EPROM 芯片更新過程實現(xiàn)的,IC 卡數(shù)據(jù)更新是后者完成更新任務(wù)的主要路徑[1]。當(dāng)前機務(wù)段對行車安全、質(zhì)量數(shù)據(jù)分析采用的方法是:在乘務(wù)員退勤后,根據(jù)乘務(wù)員轉(zhuǎn)儲的LKJ文件,結(jié)合相關(guān)專業(yè)人員或車載設(shè)備自動轉(zhuǎn)儲的視頻文件、錄音文件、走行部文件、能耗數(shù)據(jù)文件、運行安全項點等,由各專業(yè)人員對文件進行獨立分析,分析時一律以LKJ 文件為基準,并將分析結(jié)果進行匯總,得出乘務(wù)員行車安全項點及機車質(zhì)量項點。產(chǎn)品方面,目前未見將所有數(shù)據(jù)和LKJ 文件進行同步分析的類似產(chǎn)品;在單項數(shù)據(jù)分析方面,有類似產(chǎn)品實現(xiàn)了與LKJ 文件的結(jié)合分析功能。
車載視頻與LKJ 文件結(jié)合分析目前一般是采用視頻文件名稱與LKJ 文件中時間軸對齊的方式,視頻文件名稱一般包含視頻的開始時間,利用該數(shù)據(jù)和LKJ文件中的時間軸進行同步完成對齊。但由于視頻文件在產(chǎn)生時,可能視頻主機與機車TAX 箱之間通信異常,導(dǎo)致視頻時間與LKJ 時間不同步,對齊后依然存在LKJ 文件與視頻不同步的問題,需要人工調(diào)整才能正常工作。該方式依然不能滿足高效率分析要求。
走行部文件由走行部監(jiān)測裝置產(chǎn)生,正常情況下走行部監(jiān)測裝置與機車TAX 箱通信,實現(xiàn)走行部文件時間與LKJ 時間同步。該方式要求TAX 箱與走行部監(jiān)測裝置通信正常,地面分析時,通過時間軸同步方式即可實現(xiàn)走行部文件與LKJ 文件同步分析。
基于LKJ 文件的機車設(shè)備數(shù)據(jù)同步設(shè)計方法,第一步,解析LKJ 文件和機車設(shè)備數(shù)據(jù)文件,并將文件數(shù)據(jù)和時間結(jié)構(gòu)化設(shè)計。第二步,根據(jù)機車設(shè)備數(shù)據(jù)特性,各自采用自動化方式實現(xiàn)數(shù)據(jù)對齊自動化。第三步,將所有數(shù)據(jù)在同一界面展示[2]。
系統(tǒng)設(shè)計采用時間軸同步原則,根據(jù)機車數(shù)據(jù)分析要求,所有數(shù)據(jù)需以LKJ 時間為基準。系統(tǒng)設(shè)計原則如圖1所示。
圖1 系統(tǒng)設(shè)計原則
數(shù)據(jù)展示方面,采用在一個交互界面實現(xiàn)所有數(shù)據(jù)在LKJ 時間軸下顯示,增強數(shù)據(jù)分析可視化能力,界面如圖2所示。
圖2 系統(tǒng)交互界面
數(shù)據(jù)同步技術(shù)首先解析LKJ 文件和地面數(shù)據(jù),實現(xiàn)數(shù)據(jù)播放基本框架。解析的LKJ 文件結(jié)構(gòu)化數(shù)據(jù)如圖3所示。將LKJ 文件與地面數(shù)據(jù)結(jié)合,即可實現(xiàn)數(shù)據(jù)同步。數(shù)據(jù)同步中,文本類數(shù)據(jù)匹配以時間為基準,在時間異常情況下手動調(diào)整同步參數(shù)即可,實現(xiàn)相對簡單。同步的核心是視頻文件和錄音文件處理機制,由于音視頻采用流媒體存儲,當(dāng)發(fā)生時間不同步時,處理方式一般只能采用手動調(diào)整。本研究擬在視頻同步和音頻同步方面采用光流算法和音頻智能分析技術(shù)來實現(xiàn)自動同步[3]。
圖3 LKJ 文件解析
2.2.1 視頻自動同步
視頻與LKJ 文件自動同步采用光流(optical flow)算法與LKJ 速度匹配方式完成。目前光流算法已經(jīng)比較成熟,所謂光流就是利用圖像序列中像素在時間域上的變化以及相鄰幀之間的相關(guān)性來找到上一幀跟當(dāng)前幀之間存在的對應(yīng)關(guān)系,從而計算出相鄰幀之間物體的運動信息的一種方法。簡單說,光流就是瞬時速率,在時間間隔很?。ㄈ缜昂髢蓭r,等同于目標(biāo)點的位移。通過該理論可實現(xiàn)目標(biāo)物體的運動速度計算,在機車視頻上,以路況攝像數(shù)據(jù)為例,在機車速度發(fā)生變化時,路況攝像頭拍攝的物體將產(chǎn)生相對位移。以此來確定機車移動速度。速度算法流程如下。
第一,利用OpenCV 獲取路況視頻中關(guān)鍵點的前后兩幀的定位,利用這個定位的橫向差值可以獲得這一刻的物體運動速度,差值的正負則代表運動方向。獲取相鄰幀并進行灰度轉(zhuǎn)換。
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)
第二,獲取圖像關(guān)鍵點后,將關(guān)鍵點作為追蹤運動情況的標(biāo)靶。這里對于關(guān)鍵點的檢測指定一個mask 蒙版,檢測時只檢測蒙版內(nèi)的區(qū)域。可以作為一個粗篩手段,避免背景干擾。
第三,計算光流,得到匹配的關(guān)鍵點本幀和前一幀。
第四,計算本幀和前一幀在x 軸上的差值,即為運動的距離。
該方法能夠獲取機車運行速度,而在LKJ 文件和視頻文件對齊中,可以先從LKJ 文件選取機車速度從0 到非0 的過程,然后在視頻的時間段范圍內(nèi),通過光流算法獲取機車實際從0 到非0 的時刻,將兩個時刻同步即實現(xiàn)了視頻文件與LKJ 文件的自動對齊。
2.2.2 音頻自動同步
音頻自動同步的首選是利用音頻文件的時間與LKJ 基礎(chǔ)時間進行同步處理,如果音頻文件在采集時,采集設(shè)備與LKJ 設(shè)備之間的時鐘不同步,則該方法會導(dǎo)致數(shù)據(jù)同步誤差。本研究利用音頻自動分析技術(shù),充分研究LKJ 設(shè)備的語音和文件數(shù)據(jù)規(guī)則,將語音文件進行處理并識別,同時利用LKJ 規(guī)則進行匹配,實現(xiàn)音頻文件的自動同步。音頻自動同步的核心是語音算法,本文利用LKJ 操作時發(fā)出的語音和LKJ監(jiān)控記錄文件中發(fā)出語音的時間點來匹配語音與LKJ 文件。本系統(tǒng)采用模式匹配原理進行語音識別。其系統(tǒng)框圖如圖4所示。首先,需要對輸入的語音進行預(yù)處理(分幀、加窗等)。其次,要進行特征提取。然后系統(tǒng)通過學(xué)習(xí),把輸入的語音按照一定模式進行分類。最后,依據(jù)判定標(biāo)準找出最佳匹配結(jié)果。
圖4 系統(tǒng)框圖
在語音識別中,為了提高識別率,要求從語音采集到最后識別均進行優(yōu)化設(shè)計。核心需要在語音活動檢測、降噪、回聲消除、聲源定位、波束中形成幾個關(guān)鍵點,但是該系統(tǒng)研究的是已有語音,不存在語音采集研究,所以核心依然是關(guān)注語音識別[4]。
在項目研究中,聲學(xué)模型訓(xùn)練需要從巨量的語音數(shù)據(jù)中得出,本項目用了500G 語音進行訓(xùn)練,將其中LKJ 的語音發(fā)聲進行提取,產(chǎn)生相應(yīng)的關(guān)鍵詞模型。最后生成文本數(shù)據(jù)與LKJ 文件比對。其中文本輸出的工作流程如圖5所示。
圖5 文本輸出工作流程
通過以上流程,實現(xiàn)語音的文本化輸出。
鐵路部門可以在鐵路局建設(shè)LAIS 應(yīng)用服務(wù)器工作站與調(diào)度查詢臺,干線機務(wù)段構(gòu)建WLAN 無線傳輸站。既有的機車與地面的數(shù)據(jù)通信鏈路已經(jīng)很完善,通過局部整改LAIS 系統(tǒng)和LKJ,能夠達到無線同步更新LKJ 文件數(shù)據(jù)[5]。在機車行駛過程中,基于GSM/GPRS、3G 無線網(wǎng)絡(luò)使機車與地面之間實現(xiàn)遠程實時信息傳輸;機車進段以后,采用WLAN 無線局域網(wǎng)完整地把運行揭示、線路數(shù)據(jù)等信息傳輸?shù)絃KJ,并運用前期建成的鐵路計算機網(wǎng)絡(luò),使數(shù)據(jù)在國家鐵路局、鐵路局、站段三級網(wǎng)絡(luò)范疇中順暢傳送。為使LKJ 數(shù)據(jù)的WLAN 無線能實現(xiàn)自動同步更新,相關(guān)部門要盡早改造升級LKJ 列車運行監(jiān)控裝置的主機板硬件,建議改用大容量可擦寫式的FLASH 芯片作為線路數(shù)據(jù)的存儲媒介,借此方式更好地滿足線路數(shù)據(jù)的無線同步更新需求。實際中為提升顯示器和主機之間的數(shù)據(jù)信息傳輸速率,可以嘗試在兩者之間增設(shè)高速通信口,可以選用高速的RS485 或以太網(wǎng)接口,以上均是提升通信速率的有效方法。為確保LKJ文件的安全性,則要合理運用安全存儲、強校驗、壓縮等機制,比如可以運用CRC32、MD5 校驗機制,理論上能降低錯誤發(fā)生率,實現(xiàn)對文件傳輸差錯的有效管控[6]。
通過以上方法,實現(xiàn)了LKJ 文件與機車視頻文件、音頻文件、走行部實時數(shù)據(jù)、能耗監(jiān)測數(shù)據(jù)等在同一時間軸上顯示,能夠通過時間、公里標(biāo)等參數(shù)快速定位任意位置的多設(shè)備數(shù)據(jù)狀態(tài)。
利用該項目研究成果,通過大量同時段LKJ 文件、視頻文件、音頻文件、能耗監(jiān)測數(shù)據(jù)、走行部數(shù)據(jù)進行輸入測試并得出如下結(jié)論:系統(tǒng)能夠自動分析各文件,并以LKJ 時間為基準進行多數(shù)據(jù)同步展示,便于分析人員進行機車運行安全數(shù)據(jù)分析,極大程度地提高分析效率。