李小明
(廣州鐵路職業技術學院,廣東 廣州 510430)
由于鐵路軌道常年暴露在自然環境中,自然老化和惡劣天氣都會造成鐵路設備損壞或松動,同時閑雜人員、動物、石頭等異物入侵會對鐵路正常運行造成重大隱患。因此項目組開發了一款巡檢衛士機器人主要解決車站及鐵軌周邊安全問題。
鐵路軌道損壞及周邊異物入侵不能被及時發現時會造成重大安全事故;巡檢衛士可以執行7*24小時自動巡邏任務且風雨無阻,通過事前配置的巡檢任務,巡檢衛士可以每天定時出發對軌道及周邊異物進行巡查,能有效降低事故發生的概率。使用基于yolov5的多重遷移學習算法訓練了鐵軌探傷及異物入侵檢測模型,可以有效識別鐵軌、閑雜人員、動物、火焰、軌道周邊異物(石頭、磚塊)等,通過機器視覺算法對軌道掉塊、裂紋、連接件異常等情況進行檢查判斷可以第一時間發現異常情況并及時處理。
巡檢衛士配置了高清云臺攝像機和4路巡檢攝像機,可以全方位監控四周環境信息,巡檢衛士內部加裝了5G模塊可以通過流媒體服務器實時傳送現場畫面給車站后臺監控人員,當監控人員發現異常時可以通過高保真喇叭喊話,驅趕閑雜人員和動物離開鐵路軌道。針對巡檢衛士在巡檢過程中由于路面凹凸不平引起的視頻抖動等問題,使用opencv技術開發了一款視頻防抖穩定器,有效解決了視頻抖動的問題。
巡檢衛士系統主要包括三層:感知層、網絡層和應用層。感知層負責鐵路周邊環境數據及異常數據采集,巡檢衛士在巡檢過程中會實時傳回現場畫面,當識別感知到異常信息時會及時反饋給監控人員進行處理;網絡層負責將感知到的數據通過網絡傳輸,通過發布訂閱消息(topic)、定制服務(service)和定義動作(action)等多種方式進行單向異步、雙向同步及雙向異步通信,通過kafka中間件與外系統通信,巡檢衛士配置了高清云臺攝像機和4路巡檢攝像機同時加裝了5G模塊,可以通過流媒體服務器將現場全方位畫面實時傳送給車站后臺監控人員;應用層負責數據的展示,通過WEB網頁端和手機APP端可以管理和配置機器人相關軟、硬件及參數信息,車站監控人員可以在監控大廳實時監控巡檢衛士傳回的現場畫面[1-2]。系統架構圖如圖1所示。

圖1 智能鐵路巡檢機器人系統架構圖
巡檢衛士系統分為三個子系統:巡檢機器人子系統、WEB管理子系統和APP子系統。其中巡檢機器人子系統又分為:巡檢衛士硬件子系統設計和巡檢衛士軟件子系統,巡檢衛士軟件子系統部署在機器人實體內部的工控機里,操作系統為ubuntu16.04,ros版本為ROS Kinetic,各子系統及功能如圖2所示。

圖2 智能鐵路巡檢機器人各子系統及功能圖
智能鐵路巡檢機器人巡檢任務處理流程如下。
(1)配置管理員在WEB管理子系統中配置巡檢任務,在巡檢任務中指定巡檢頻率、時間、地點、巡檢內容及跟班人員,巡檢內容包括鐵軌探傷、異物入侵等,跟班人員做為本次巡檢任務的責任人,負責本次巡檢任務跟進及處理相關工作,巡檢任務配置后信息自動保存在mysql數據庫中。
(2)巡檢衛士機器人軟件子系統部署在機器人內部工控機內,由定時程序觸發執行巡檢任務,當滿足巡檢條件即達到巡檢任務里配置的時間等要求時,觸發初始化操作,調用機器人啟動腳本啟動雷達、巡檢攝像機等硬件設備,并按任務配置要求開始自動導航執行巡檢任務,在巡檢過程中完成鐵軌探傷、異物入侵報警等功能,發現異物入侵時調用語音合成功能,通過高保真喇叭驅離閑雜人員、動物等。當驅離無效或發現鐵軌掉塊、裂紋、連接件異常或鐵軌上有石塊、磚頭等異物時立即進行抓拍并發送異常通知給監控人員,監控人員在監控大廳可以實時觀看現場畫面,并可以遠程控制機器人,控制云臺攝像機進行近距離查看,并指派專人及時進行處理;同時監控人員也可以使用手機APP查看異常信息。巡檢流程如圖3所示。

圖3 智能鐵路巡檢機器人巡檢流程圖
智能鐵路巡檢機器人系統軟件功能技術路線如下:
軟件功能通過在ROS機器人系統上進行二次開發實現,通過發布訂閱消息(topic)、定制服務(service)和定義動作(action)等多種方式進行單向異步、雙向同步及雙向異步通信,通過kafka中間件及微服務接口與WEB及APP等系統進行通信,通過ROS主題消息發布機器人狀態數據(速度、位置、角度等)和傳感器數據(激光雷達、攝像頭、超時波等);通過ROS訂閱主題消息獲取信息,并進行數據融合處理,通過Kafka生產者進程將處理后的信息放入隊列,由kafka消費者進程從隊列中獲取,然后通過微服務接口和流媒體服務器對外提供數據信息,供手機APP和WEB端使用。技術路線如圖4所示。

圖4 智能鐵路巡檢機器人技術路線圖
巡檢衛士硬件子系統結構包括[3]:全地形越野輪底盤、高清云臺攝像機、四路巡檢攝像機、紅外熱成像儀、單線激光雷達、多線激光雷達、3D攝像頭、防撞傳感器、環繞超聲波、高保真喇叭、減震系統、循環散熱系統、鋁型材拓展板等;高清云臺攝像機、四路巡檢攝像機、紅外熱成像儀通過USB線連接到底盤工控主機,巡檢衛士硬件結構如圖5所示。

圖5 智能鐵路巡檢機器人硬件結構圖
巡檢衛士軟件子系統主要完成鐵軌探傷、異物入侵報警等軟件功能,發現異物入侵時觸發程序調用語音合成接口,播放異物入侵語音警告信息。通過機器視覺算法檢測鐵軌掉塊、裂紋、連接件異常、石塊、磚頭等異物入侵信息并生成現場圖片和異常通知信息,通過微服務接口發送給后臺監控人員,監控人員在監控大廳通過WEB系統里視頻監控功能觀看現場畫面,并且可以通過設備管理功能通過鍵盤和鼠標控制機器人,當在機器人控制界面按鍵盤上下左右鍵時會觸發處理程序執行如下操作,通過調用微服務接口做為kafka生產者向服務器隊列發送機器人移動消息、當kafka消費端獲取消息后向ros主題發布消息控制機器人移動,還可以控制云臺轉向使攝像機聚焦,近距離查看鐵軌異常信息,監控人員也可以使用手機APP軟件里面的異常信息通知功能查看異常信息。
巡檢衛士軟件子系統的核心功能是對入侵物及鐵軌損耗的精準識別和判斷,由于在巡檢過程中地面坑洼導致巡檢視頻抖動,因此在設計過程中加入了視頻防抖功能,結合多重遷移算法對模型進行訓練,達到了巡檢異物識別和檢測效果[4-6],巡檢衛士主要完成的軟件功能包括:
(1)設計開發了一款基于opencv點特征匹配的視頻防抖穩定器;
(2)通過基于yolov5的多重遷移算法訓練了一款鐵軌探傷及入侵檢測模型,可以精準識別鐵軌掉塊、裂紋、連接件異常、石塊、磚頭等鐵軌異物。處理流程圖如圖6所示。

圖6 視頻防抖及異物識別流程圖
2.2.1 視頻穩定器設計
采用基于opencv點特征匹配的視頻防抖技術實現了一款視頻穩定器,解決了巡檢衛士在巡檢過程中遇到凹凸不平地面時視頻產生嚴重抖動影響識別效果,降低識別率等問題。
視頻防抖技術主要使用到了光流算法(Lucas-Kanade),光流是一種運動模式,例如,一個物體、表面、邊緣在某種視角由觀察者和背景之間形成的明顯移動。Lucas-Kanade光流算法是一種兩幀差分的光流估計算法,通過梯度下降方法來尋找局部最優解。
光流算法主要的公式如下所示:

(1)設置輸入和輸出視頻;
(2)讀取第一幀并轉換為灰度圖,捕捉視頻的兩幀,估計幀之間的運動并校正運動;
(3)尋找幀之間的移動,遍歷所有的幀,找到當前幀和前一幀之間的移動。可以使用opencv的特征檢測器;使用Lucas-Kanade光流算法在下一幀中跟蹤它們。使用opencv的CalcOpticalFlowPyrLK()函數實現。calcOpticalFlowPyrLK可能無法計算出所有點的運動。當前幀的特征點被下一幀的另一個對象遮擋時CalcOpticalFlowPyrLK()函數無法計算出該點的運動。
(4)計算幀之間的平滑運動,通過估算上一步微分運動找到運動軌跡,增加運動之間的幀來計算軌跡,使用移動平均濾波器(將某一點上的值替換為窗口定義的其相鄰函數的平均值)使得軌跡變得平滑。然后通過找到平滑軌跡和原始軌跡之間的差異將這些差異加回到原始的變換中使得視頻變得穩定,然后循環應用到視頻的整個過程。處理流程如圖7所示。

圖7 視頻穩定器處理流程圖
2.2.2 鐵軌探傷及入侵檢測模型開發
采用基于yolov5的多重遷移學習算法識別入侵物,通過機器視覺算法檢測鐵軌掉塊、裂紋、連接件異常、石塊、磚頭等入侵物。
開發過程如下。
(1)獲取鐵軌入侵物監測模型。
首先通過網絡爬蟲、人工拍照等多種手段收集到入侵物圖片約1200張并對特征點進行標注;然后對入侵物數據進行增強;最后采用多重遷移學習算法使用coco數據集結合上一步的入侵物增強數據,使用yolov5框架對數據進行訓練得到鐵軌入侵物監測模型。
(2)獲取鐵軌探傷及入侵物監測模型。
采用遷移學習算法對收集到的鐵軌掉塊、裂紋等圖片約1500張及上一步獲取的鐵軌入侵物監測模型進行訓練,最終得到鐵軌探傷及入侵物監測模型。多重遷移學習算法流程如圖8所示。

圖8 多重遷移學習算法流程圖
在實際環境使用效果如圖9所示。

圖9 實際檢測效果圖
巡檢衛士機器人已在鐵路沿線等實際環境中進行了測試,各項數據指標達到了行業標準。在研發過程中也存在一些待解決和優化的問題:(1)當外部環境較復雜時導致視頻嚴重抖動,視頻穩定效果需要進一步改善和優化;(2)目前只能通過視覺對鐵軌外部損傷進行監測,無法監測鐵軌內損,這些問題都需要進一步研究、升級和優化。