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

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

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

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

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

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

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

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

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

圖8 多重遷移學(xué)習(xí)算法流程圖
在實際環(huán)境使用效果如圖9所示。

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