陳文軒 王發(fā)剛
摘 要:本文研究了調(diào)車作業(yè)過程中,利用機(jī)器視覺技術(shù)輔助調(diào)車作業(yè)司機(jī)進(jìn)行目標(biāo)車廂識(shí)別的作業(yè)過程。利用YOLOv5算法,采集調(diào)車作業(yè)常見環(huán)境下包含待掛車廂目標(biāo)的圖像,在LabelImg中進(jìn)行標(biāo)注,通過數(shù)據(jù)訓(xùn)練,得到車廂檢測(cè)識(shí)別系統(tǒng)。并在調(diào)車作業(yè)中進(jìn)行實(shí)驗(yàn)測(cè)試,獲得了較高的檢測(cè)精度。本技術(shù)可以輔助調(diào)車員進(jìn)行車廂識(shí)別的作業(yè),提高了作業(yè)效率與安全性。
關(guān)鍵詞:調(diào)車作業(yè) 車廂檢測(cè)
1 引言
鐵路調(diào)車作業(yè)是鐵路運(yùn)輸行業(yè)的重要環(huán)節(jié),通過人工攀爬車廂進(jìn)行瞭望的摘掛車廂作業(yè)具有一定的局限性,作業(yè)環(huán)境危險(xiǎn)性高。隨著人工智能技術(shù)的發(fā)展,將機(jī)器視覺應(yīng)用到調(diào)車作業(yè)中,輔助人工作業(yè),實(shí)時(shí)檢測(cè)需要連掛的車廂位置,并將采集到的待掛車廂前方視頻信息實(shí)時(shí)傳送到機(jī)車駕駛室,輔助調(diào)車司機(jī)確定目標(biāo)車廂的實(shí)時(shí)位置,提高了作業(yè)效率和安全性[1]。
傳統(tǒng)的視覺目標(biāo)檢測(cè)技術(shù)通過對(duì)目標(biāo)顏色、紋理及邊緣等特征的分析,區(qū)分目標(biāo)物體和背景。由于檢測(cè)過程受到復(fù)雜背景、光照強(qiáng)度及目標(biāo)物體移動(dòng)等因素的影響,使得檢測(cè)精度較低,檢測(cè)過程穩(wěn)定性較差。
對(duì)于調(diào)車作業(yè)車廂目標(biāo)的檢測(cè),運(yùn)用回歸思想的YOLO算法,是目前檢測(cè)精度及檢測(cè)速度相對(duì)較高的方法。YOLO算法通過數(shù)據(jù)標(biāo)注定位,特征提取及數(shù)據(jù)訓(xùn)練等方式,實(shí)現(xiàn)了高精度的檢測(cè)。所以,本文使用YOLOv5算法來檢測(cè)調(diào)車作業(yè)車廂的位置信息[2]。
2 YOLOv5算法介紹
YOLOv5 算法是基于 YOLOv4 的版本,為提高檢測(cè)速率和精確度而開發(fā)的一種目標(biāo)檢測(cè)算法。目前分為YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x四個(gè)模型。依據(jù)調(diào)車作業(yè)移動(dòng)性強(qiáng)的特點(diǎn),本文選取模型體積較小的YOLOv5s模型。YOLOv5算法基本結(jié)構(gòu)組成為輸入部分(Input)、骨干網(wǎng)絡(luò)部分(Backbone)、頸部(Neck)和預(yù)測(cè)(Prediction)四個(gè)部分。
2.1 輸入部分
輸入部分通過獲取包含目標(biāo)信息的圖像,進(jìn)行Mosaic數(shù)據(jù)增強(qiáng)技術(shù)使得目標(biāo)圖像的數(shù)據(jù)集多樣化,同時(shí)降低了對(duì)計(jì)算機(jī)硬件的要求,提高了模型對(duì)目標(biāo)信息的識(shí)別能力。通過自適應(yīng)圖片縮放及自適應(yīng)錨框計(jì)算等方式統(tǒng)一了待檢測(cè)的圖像尺寸和形狀,進(jìn)而提高了檢測(cè)的準(zhǔn)確率[3]。如圖所示,為輸入部分處理后的標(biāo)準(zhǔn)圖像模型,圖像像素大小為608*608。
2.1.1 Mosaic數(shù)據(jù)增強(qiáng)
Mosaic數(shù)據(jù)增強(qiáng)技術(shù)通過將四張圖像進(jìn)行隨機(jī)縮放、隨機(jī)裁剪以及隨機(jī)排布,使得每張圖像上都包含對(duì)應(yīng)的框,拼接后形成一張全新的圖像,重新定義新圖像的坐標(biāo)值,進(jìn)而豐富了圖像的信息,以此作為訓(xùn)練數(shù)據(jù),進(jìn)行數(shù)據(jù)的訓(xùn)練。此方法提高了魯棒性和泛化能力,增強(qiáng)效果圖如下所示。
2.1.2 自適應(yīng)圖片縮放
在目標(biāo)車廂檢測(cè)過程中,由于攝像機(jī)變焦的影響,采集到的圖像尺寸大小不統(tǒng)一。通過將原始車廂圖像統(tǒng)一縮放到一個(gè)標(biāo)準(zhǔn)尺寸下,并對(duì)原始圖像自適應(yīng)地添加最少因縮放產(chǎn)生的黑邊,保證圖像目標(biāo)信息的完整性,再送入檢測(cè)網(wǎng)絡(luò),以此提高檢測(cè)的效果。例如,將采集到的900*700分辨率的圖像進(jìn)行縮放裁剪處理,根據(jù)坐標(biāo)點(diǎn)參數(shù)剪裁超出范圍的部分,縮放為標(biāo)準(zhǔn)的YOLOv5中608*608分辨率的圖像。
2.1.3 自適應(yīng)錨框計(jì)算
目標(biāo)信息錨框的大小影響檢測(cè)準(zhǔn)確度的高低。自適應(yīng)錨框計(jì)算方法會(huì)根據(jù)采集的數(shù)據(jù)集的不同,自動(dòng)地計(jì)算并調(diào)整檢測(cè)初始錨框的大小和形狀,用于確定目標(biāo)所在的可能位置。
通過數(shù)據(jù)訓(xùn)練,模型結(jié)合初始錨框的位置信息,給出預(yù)測(cè)框,并與目標(biāo)信息真實(shí)框進(jìn)行對(duì)比,計(jì)算兩者差距,然后對(duì)網(wǎng)絡(luò)參數(shù)進(jìn)行反更新、迭代、對(duì)邊框位置進(jìn)行調(diào)整等操作。使用 VGG 網(wǎng)絡(luò)按照 AnchorBox 錨框?qū)Σ煌笮〉哪繕?biāo)進(jìn)行 16 倍的輸入,即輸入畫面上的一個(gè)點(diǎn)對(duì)應(yīng)一個(gè)16×16的方塊區(qū)域,也就是特征畫面上的一個(gè)點(diǎn),對(duì)應(yīng)于輸入圖像上的一個(gè)16×16的正方形區(qū)域。根據(jù)原始定義的Anchor,以特征圖像上的一點(diǎn)為中心,可以在原圖上生成9種不同形狀不同大小的邊框,如下圖所示。
2.2 骨干網(wǎng)絡(luò)部分
YOLOv5的骨干網(wǎng)絡(luò)主要用于提取圖像中目標(biāo)特征信息。骨干網(wǎng)絡(luò)主要由FOCUS結(jié)構(gòu)、CBS結(jié)構(gòu)、BOTTLENECKCSP結(jié)構(gòu)以及SPP結(jié)構(gòu)等組成。
FOCUS結(jié)構(gòu)是為了降低特征的維度,保留有效信息而縮小圖像的一種特殊的方式。FOCUS 結(jié)構(gòu)通過切片操作將高解析度特征圖進(jìn)行拆分,拼接成若干個(gè)特征圖,這些圖的解析度較低。例如,將原始大小的640×640×3的圖像,輸入FOCUS結(jié)構(gòu)后采用切片操作轉(zhuǎn)換為320×320×12的特征圖,經(jīng)過拼接后,再進(jìn)行卷積操作,最后得到320×320×64的特征圖。CBS結(jié)構(gòu)通過卷積的方式獲取目標(biāo)的特征[4]。CSP結(jié)構(gòu)是將原始輸入劃分為兩個(gè)分支,對(duì)分支分別進(jìn)行卷積操作,使得通道數(shù)減半,進(jìn)而學(xué)習(xí)更多的特征。SPP結(jié)構(gòu)在局部特征和總體特征上實(shí)現(xiàn)了一體化。
2.3 頸部
頸部主要實(shí)現(xiàn)特征信息融合的作用。Neck采用FPN和PAN結(jié)合的結(jié)構(gòu),利用圖像金字塔的思想,F(xiàn)PN 首先在原始圖像之上構(gòu)建圖像金字塔。然后在圖像金字塔的每一層都提出不同的特征,最后進(jìn)行相應(yīng)的預(yù)測(cè),從而達(dá)到改善車廂檢測(cè)的效果。PAN通過自底向上方向的路徑增強(qiáng)方式,縮短了不同層次之間特征信息的路徑,進(jìn)而提高了大目標(biāo)的檢測(cè)效果。
2.4 預(yù)測(cè)部分
利用損失函數(shù)衡量目標(biāo)預(yù)測(cè)信息和標(biāo)簽標(biāo)定信息的差距,當(dāng)差距越小時(shí),損失函數(shù)越小,說明目標(biāo)檢測(cè)準(zhǔn)確率越高。用來預(yù)測(cè)的損失函數(shù)為定位損失(box_loss)、置信度損失(object_loss)和分類損失(class_loss)三部分的加權(quán)和。預(yù)測(cè)部分對(duì)加工后的特征信息進(jìn)行預(yù)測(cè),并根據(jù)損失函數(shù)優(yōu)化參數(shù)的加權(quán)和[5]。
3 車廂檢測(cè)過程
目標(biāo)車廂檢測(cè)主要任務(wù)是將調(diào)車車廂設(shè)定為檢測(cè)的目標(biāo),利用YOLOv5算法的原理,如下圖所示,通過配置檢測(cè)程序所需的計(jì)算機(jī)環(huán)境,采集包含調(diào)車車廂目標(biāo)信息的圖像,利用標(biāo)注工具標(biāo)注圖像中的車廂目標(biāo)信息,獲得標(biāo)注的類別和坐標(biāo)結(jié)果,在深度學(xué)習(xí)框架中進(jìn)行模型訓(xùn)練,獲得模型數(shù)據(jù)后,在調(diào)車作業(yè)環(huán)境中,進(jìn)行實(shí)時(shí)目標(biāo)的檢測(cè)測(cè)試。
3.1 環(huán)境配置
使用并激活anconda虛擬環(huán)境,下載安裝cpu版本的PyTorch深度學(xué)習(xí)框架,并安裝對(duì)應(yīng)的依賴包,同時(shí)安裝QT圖形化的界面開發(fā)軟件,完成檢測(cè)環(huán)境的配置。
3.2 數(shù)據(jù)采集與標(biāo)注
本文通過采集調(diào)車作業(yè)過程中車廂的實(shí)際圖像,自建實(shí)驗(yàn)數(shù)據(jù)集。得到包含待掛車廂目標(biāo)信息的圖像2000張,分辨率為1080*720。數(shù)據(jù)集如下圖所示,包含了復(fù)雜環(huán)境下的調(diào)車作業(yè)圖像。將得到的數(shù)據(jù)集以隨機(jī)分配的方式,分解為模型訓(xùn)練集、數(shù)據(jù)驗(yàn)證集和數(shù)據(jù)測(cè)試集。
安裝并設(shè)置LabelImg軟件,標(biāo)注含有目標(biāo)車廂的圖片,并將標(biāo)注的結(jié)果進(jìn)行保存,標(biāo)注的信息包括標(biāo)簽的種類,目標(biāo)框中心點(diǎn)的坐標(biāo)值。
3.3 模型訓(xùn)練
本系列試驗(yàn)進(jìn)行機(jī)器學(xué)習(xí)訓(xùn)練的操作系統(tǒng)為Centos7.9,CPU為Xeon(R) Sliver 4214,充足的顯存為試驗(yàn)的順利進(jìn)行提供了保障,并縮短了機(jī)器學(xué)習(xí)的時(shí)間。深度學(xué)習(xí)框架選擇了Pytorch1.7,程序語言為Python3.7。
3.4 應(yīng)用測(cè)試
利用車廂檢測(cè)系統(tǒng),在調(diào)車作業(yè)線路上進(jìn)行實(shí)時(shí)視頻檢測(cè),改變相機(jī)不同的角度和移動(dòng)速度,觀察并記錄檢測(cè)過程和結(jié)果。
4 結(jié)果與分析
本實(shí)驗(yàn)測(cè)試圖片2000張,視頻數(shù)據(jù)大小為1G,統(tǒng)計(jì)檢測(cè)精度達(dá)90%,基本滿足調(diào)車作業(yè)的環(huán)境需求。本技術(shù)可以輔助調(diào)車作業(yè)人員,提高提高調(diào)車作業(yè)過程的效率和安全。
課題:廣西高校中青年科研基礎(chǔ)能力提升項(xiàng)目《圖像處理技術(shù)在調(diào)車作業(yè)中的應(yīng)用研究》項(xiàng)目資助,項(xiàng)目編號(hào):2021KY1399。
參考文獻(xiàn):
[1]王順利,鄧灼志,殷勇等.鐵路車站取送調(diào)車仿真實(shí)驗(yàn)研究[J].實(shí)驗(yàn)室科學(xué),2024,27(01):17-20+25.
[2]段蘊(yùn)桔.編組站貨運(yùn)調(diào)車協(xié)同監(jiān)控系統(tǒng)設(shè)計(jì)與應(yīng)用[J].鐵道貨運(yùn),2024,42(01):37-43.
[3]張瑤,陳姚節(jié).改進(jìn)YOLOv8的水面小目標(biāo)檢測(cè)算法[J/OL].計(jì)算機(jī)系統(tǒng)應(yīng)用,1-10[2024-03-13].
[4]徐慧智,郝東升,徐小婷等.基于深度學(xué)習(xí)的高速公路小目標(biāo)檢測(cè)算法[J/OL].吉林大學(xué)學(xué)報(bào)(工學(xué)版),1-12[2024-03-13].
[5]陳冬冬,任曉明,李登攀等.基于改進(jìn)的YOLOv5s的雙目視覺車輛檢測(cè)與測(cè)距方法研究[J].光電子·激光,2024,35(03):311-319.