



摘"要:隨著我國鐵路網的不斷完善,周界入侵的準確檢測成為重要的研究問題。針對單一RGB相機的成像效果差、檢測魯棒性差的問題,本文提出了一種鐵路紅外與可見光融合的入侵檢測算法,在遠景內使用改進的ViBe算法對紅外圖像進行粗檢測,確定坐標后使用可見光相機進行細檢測。首先,對紅外熱成像相機實時采集的視頻數據進行圖像增強;其次,利用基于像素模型的前景分割算法分離出運動目標;再次,利用形態學操作提取出較完整的疑似入侵物體,對入侵目標進行定位,根據定位信息調整可見光相機的姿態;最后,使用YOLOv5算法對可見光圖像進行檢測。將算法部署到嵌入式設備上進行檢測實驗,實驗結果表明該算法滿足全天候的實時性和準確性,在工程應用上有較好的前景。
關鍵詞:重載鐵路;紅外圖像;前景分割;目標檢測
中圖分類號:TG156
Abstract:Foreign"object"intrusion"on"railways"severely"threatens"train"operational"safety.With"the"continuous"improvement"of"China's"railway"network,accurate"detection"of"perimeter"intrusion"has"become"a"crucial"research"focus.To"address"the"issues"of"poor"imaging"quality"and"weak"detection"robustness"in"single"RGB"camera"systems,this"paper"proposes"an"intrusion"detection"algorithm"integrating"infrared"and"visible"light"fusion"for"railway"applications.The"method"employs"an"improved"ViBe"algorithm"for"coarse"detection"in"infrared"images"within"longrange"views"to"determine"coordinates,followed"by"fine"detection"usingnbsp;visible"light"cameras.The"implementation"involves"three"main"stages:first,enhancing"video"data"acquired"from"infrared"thermal"imaging"cameras"in"realtime;second,separating"moving"targets"through"a"pixel"modelbased"foreground"segmentation"algorithm;third,extracting"complete"suspected"intrusion"objects"using"morphological"operations"for"target"localization.Based"on"positioning"information,the"visible"light"camera's"orientation"is"adjusted,and"YOLOv5"algorithm"is"subsequently"applied"for"visible"image"detection.Experimental"tests"deploying"the"algorithm"on"embedded"devices"demonstrate"that"this"approach"satisfies"requirements"for"allweather"realtime"performance"and"accuracy,showing"promising"potential"for"engineering"applications.
Keywords:heavyduty"railways;infrared"images;foreground"segmentation;object"detection
1"概述
隨著我國鐵路運輸的不斷提速,迫切需要針對異物入侵開發智能檢測系統來保障行車安全。雖然近年已有許多高鐵異物入侵檢測的算法被提出,但在真實的鐵路場景下,原則上檢測到異物列車就要停車,在漏報率較高的情況下漏報會帶來大量的經濟損失,因此檢測系統應盡可能壓低漏報率。
目前常用的視覺傳感器主要優點是價格便宜、易于獲得,并且針對由它所獲得的圖片的開源視覺算法較多。鐵路入侵檢測需要大量傳感器系統,且目前有大量目標檢測與跟蹤領域的許多算法可被應用于高鐵入侵檢測。例如,參考文獻[1]中的學者提出了一種基于光流法的運動目標檢測算法;參考文獻[2]中的學者提出了基于幀間差分法的運動目標檢測算法;參考文獻[3]中的學者提出了改進混合高斯模型(GMM)算法。近幾年,神經網絡在視覺檢測領域大放異彩,有多篇文章都闡述了用神經網絡進行鐵路入侵檢測[46],參考文獻[7—8]中的學者提出的YOLO系列成為單階段目標檢測的經典算法。這幾種算法都存在一定缺陷,幀間差分法對快速移動的目標效果較差,神經網絡法對部署的平臺算力要求高,高斯混合模型法對大而慢的目標分割效果差。
視覺傳感器夜間圖像質量較差,在夜晚極難分辨出圖像中的入侵行人,判斷的漏報率會變高。而紅外相機的圖像像素由溫度確定,其灰度值在白天和夜晚都很穩定,激光可見光相機可自主補光,在夜晚較小視野的成像非常清晰。
本文提出了一種面向鐵路場景的紅外與可見光融合的入侵檢測算法,在遠景內使用改進的ViBe算法[9]對紅外圖像進行粗檢測,確定坐標后調整可見光相機姿態對準該坐標,對可見光圖像用YOLOv5s算法進行細檢測,用編程語言Python、圖像處理庫OpenCV以及深度學習框架Pytorch實現算法,并在室外場景下多個時間段內對算法進行了測試,記錄召回率和查準率。實驗證明,本文的算法準確率高,漏報率低,性能穩定,適合大范圍部署,為鐵路入侵檢測提供了實用的解決方案。
2"基于ViBe的紅外圖像入侵目標前景分割
2.1"背景模型初始化
前景分割算法的輸入是熱成像相機拍攝的紅外圖像,輸出圖像是二值圖像,即圖像的像素為0或者為1,因此,可以將前景與背景的分割看成一個分類問題,對于某一個像素點,如果不是背景點(像素為0)便為前景點(像素為1)。對于算法的初始化過程,ViBe算法只需要一幀即可完成。在這一幀中,對每個像素點確定其相應的8鄰域樣本,在樣本中隨機選擇一個像素加入該像素點的背景模型中,重復多次,即以8鄰域中的所有像素作為樣本進行多次獨立重復實驗,如果重復N次,每次隨機選取一個像素,那么最終N個值被納入背景模型。設圖像像素坐標系下某一像素點的坐標為(x,y),像素的值用v(x,y)來表示,則由N個像素點組成的背景模型可由式(1)表示:
M(x,y)={v1(x,y),…,vN(x,y)}(1)
對于第一幀,每個像素都擁有了一個對應的像素模型。假設N為20,那么在實際中背景樣本便擁有20個樣本,即在8個鄰域像素中重復隨機選取20個像素,作為該像素的像素模型。這種背景模型初始化的方法非常簡單易用,本文使用的前景分割模型可以多次進行初始化,在像素變化的情況下依然具備較好的魯棒性。
2.2"前景與背景的分割
前景與背景的分割以上一階段定義的背景模型為基礎,為了通過已經定義的背景模型M(x,y)來對像素點v(x,y)進行分類,因此設定了兩個閾值R和#min。
由于高鐵周界入侵的行人作為主動熱源,其像素明顯比周圍環境要大,因此,可以認為與其8鄰域像素的差越大的像素,其越有可能屬于入侵目標。
當前幀其背景模型中的像素由前一幀決定,分別計算像素點(x,y)的灰度值與背景模型中所有灰度值的差,即兩個像素點間的歐拉距離,對于這個像素的值與背景模型中的第i個樣本的差可由式(2)表示:
di=v(x,y)-vi(x,y)(2)
定義N個差值構成的集合為D(x,y),D(x,y)可由式(3)來表示:
D(x,y)={d1(x,y),…,dn(x,y)}(3)
將集合D(x,y)中的全部元素逐一與閾值R比較,如果di(x,y)比R小,說明第i個樣本與該像素點的距離不超過閾值R;如果有超過#min個di(x,y)均比R小,則針對該像素點的分類過程可以立即結束,該像素點就可以被分為背景點(在二值圖像中表示為黑色)。反之,如果對于整個模型,與該像素點的距離大于閾值R的樣本個數大于#min,說明該像素點屬于前景像素。這個過程可以抽象為定義一個圓形區域,半徑為R,和之前建立的像素模型取交集,如果滿足距離小于R的樣本個數超過閾值#min,則該像素點即為背景點,反之則為前景點。
D(x,y)中的樣本與R的大小比較可以抽象為式(4):
{SR(v(x))∩{v1,v2,…,vN}}(4)
該算法的準確性只依賴兩個參數:圓形區域的半徑R和閾值#min。已經有大量實驗證明R為20,#min為2時,算法的效果最好,因此在之后的部署實驗中也選擇R為20,#min為2。分類的敏感程度可以由式(5)來表示:
sensitivityratio=N#min(5)
2.3"背景模型更新
由于在高鐵周界入侵檢測算法的初始化中僅使用一幀圖像,這種方法雖然提高了初始化的速度,但是無法充分利用高鐵場景下紅外熱成像相機的時空信息,可能會造成像素點的誤分類。而像素模型的更新不僅可以提高視頻序列分割的精度,還能在光照劇烈變化的情況下重新修正分割的結果。
對被分為前景和背景的像素采取不同的分類更新策略。對于一個一直在運動的入侵目標,某個像素點不可能一直被分類為前景。所以對于前景像素點,對其在時序上的分類情況進行記錄,如果某個像素連續N次被視作入侵目標上的像素,則這個像素點很有可能被錯誤分類,于是將其重新分為背景點。
對于已被分類為背景的像素點的更新,永遠不會將之前被分到前景的像素樣本加入背景模型中,而所有被分類到背景的像素都有可能參與更新的過程。若該像素被分類到背景,則對該像素的更新可以分為兩個子過程。第一,在每幀中有1/的概率將該像素的背景模型的某一樣本刪除并替換為灰度值,為該像素的新樣本;第二,在每幀中有獨立的1/的概率將該像素的8鄰域的某一像素的背景模型的某一樣本也替換為該值,為該像素的新樣本,在之后的實驗中令的值為16。
對于樣本模型中的某一個樣本,從t0時刻經過一段時間后,在t1時刻仍然存在于該樣本中的概率可以用式(6)表示:
P(t0,t1)=e-lnnn-1(t1-t0)(6)
3"入侵目標定位與可見光相機聯動
3.1"拓撲搜索算法
為便于可視化,在分離出前景與背景后使用矩形框選出分離到的前景,并得到入侵目標的實時坐標。首先,提取出前景輪廓線;其次,通過輪廓線擬合出矩形框,并給出相應的像素坐標系下的坐標。已知像素為0時為背景點,像素為1時稱為前景點。定義由像素為1的像素點組成的連通域為1連通域,由像素為0的像素組成的連通域為0連通域,則0連通域為背景或者孔洞。輪廓線可看成由許多邊界點組成,如果是0連通域環繞著1連通域,則兩個連通域之間的邊界就是外邊界;反之,如果是1連通域環繞著0連通域,那么兩者之間的邊緣就稱為孔邊界。在本文中孔邊界即為孔輪廓,外邊界即為外輪廓。
算法的實現流程可以由五階段來表述。定義NBD為當前被檢測的輪廓的編號,LNBD為上一個檢測到的輪廓的編號。這個算法的第一個階段是對分割得到的二值圖像進行遍歷,找尋未被發現的輪廓線。如果像素(i,j)的值為1并且像素(i,j-1)的值為0,那么像素(i,j)就是輪廓外邊界起點之后的像素點,令NBD的值加1,并把(i,j-1)設為(i2,j2);如果上一步中的條件不滿足,并且像素(i,j)的值大于或等于1,像素(i,j+1)的值等于0,那么可以認為像素(i,j)是孔邊界起點之后的像素點;如果上述兩步的條件都不滿足,那么直接跳轉到第五階段。
算法的第二階段是根據新發現的輪廓的類型和序號為LNBD的輪廓(即當前行的最后一個輪廓),確定輪廓的父輪廓,一個輪廓是否為父輪廓判斷準則如表1所示。
算法的第三個階段則是從起始點(i,j)來查找該入侵目標的輪廓的全部組成點。從(i2,j2)開始,在(i,j)的8鄰域范圍內順時針尋找不為0的像素,設(i1,j1)是第一個被找到的不為0的像素點。如果沒有不為0的像素點被找到,那么就令(i,j)的值為NBD的相反數,接著直接轉到算法的第五階段,反之就將像素點(i1,j1)的名稱改為(i2,j2),像素點(i,j)的名稱改為(i3,j3)。
算法的第四階段是第三階段的延續,繼續尋找輪廓組成點。從像素(i2,j2)的逆時針方向的下一個像素點開始,按逆時針順序遍歷像素點(i3,j3)的鄰域中的像素,設找到的第一個不為零的像素點為(i4,j4)。如果像素(i3,j3+1)是第三階段中被發現的值為0的像素點,那么令(i3,j3)的值為NBD的相反數;如果像素(i3,j3+1)不是在上一步中被發現的值為0的像素點,并且像素(i3,j3)的值為1,那么像素(i3,j3)的值就變為NBD;如果前兩種情況的假設都不滿足,那么不改變(i3,j3)的值。如果像素(i4,j4)和像素(i,j)的值相同,并且像素(i3,j3)和像素(i1,j1)的值相同,即回到了起始點,就轉到第五階段;如果不滿足上述條件,就將(i3,j3)的名稱改為(i2,j2),將(i4,j4)的名稱改為(i3,j3)。
在算法的第五階段,如果(i,j)的值不為1,令LNBD的值為像素(i,j)的值。從像素(i,j+1)開始繼續遍歷圖像,當整個二值圖像被遍歷完后,可以認為入侵目標的輪廓被全部提取。
3.2"入侵坐標計算
像素坐標系如圖1所示。由輪廓提取算法提取出在當前幀的圖像由分割得到的全部輪廓,但是這些輪廓中一部分是鐵路入侵目標的外輪廓,另一部分則是在分割過程中背景像素的誤分類。針對此,定義輪廓的周長為組成其輪廓的所有像素點的總數。通常來說,入侵目標的輪廓周長要遠大于背景噪聲的周長,因此忽略掉周長過小的輪廓,判定其為噪聲。對于較大的輪廓,用x,y,h,w這四個參數定義一個矩形框,x和y為矩形框中心點的坐標,h為矩形框的高,w為矩形框的寬。使用矩形框選中所有被檢測為入侵目標的輪廓,設定入侵坐標為入侵行人的足部,由于像素坐標系的原點為左上角,x軸向右,y軸向下,不難得到入侵坐標為(x,y+h/2)。
4"入侵檢測系統實驗
4.1"紅外圖像前景分割實驗
實驗選用的嵌入式平臺Xavier"NX,紅外相機使用SHRHNIR50定焦紅外熱成像儀。整個實驗裝置部署在室外場景下,在多個時間段內的戶外場地進行紅外入侵實驗,統計在該時間段內所有人員作為入侵目標。總目標數指在測試環境中出現的行人數,誤檢目標數指不存在行人卻檢測出有人的數量,漏檢目標數指未能成功檢測到的行人數。實驗的結果如表2所示。
實驗中檢測的結果如圖2所示,上圖為定位結果,下圖為分割結果。
在戶外場景下檢測算法表現良好,分割輪廓精細,檢測框繪制準確,檢測的查準率和召回率較高。
4.2"紅外相機與可見光相機聯動實驗
使用TensorRT將訓練好的模型部署在嵌入式平臺Xavier"NX上,實驗裝置采用SHRHVIR50R高清激光夜視儀,該可見光相機可通過編程控制其云臺的俯仰、偏航和翻滾角??梢姽庀鄼C與紅外相機共用計算設備,利用紅外相機輸出的檢測坐標對可見光相機進行標定,使得紅外相機檢測到異物后,可見光相機便可調整自身姿態對準異物。進行兩種傳感器聯動實驗,得到的結果如表3所示。
可以看出通過紅外相機和可見光相機的聯動,有效地降低了誤報率。
5"結論
本文提出了一種基于紅外與可見光圖像融合的鐵路異物入侵檢測算法。該方法采用直方圖均衡化增強了圖像對比度,提升了檢測系統在多種外部環境的魯棒性,為后續的分割算法提供了良好的輸入?;赩iBe的前景分割算法的分割效果顯著優于背景差分法和幀間差分法,適合用于入侵目標的分割。通過兩種傳感器聯動的方式有效地降低了系統的漏報率。實驗表明該檢測系統在不同時間段內表現較好,性能穩定,適合大范圍在鐵路場景下進行部署,可以有效地保障列車運行安全。
參考文獻:
[1]MEIER"T,NGAN"K"N.Video"segmentation"for"contentbased"coding[J].IEEE"Transactions"on"Circuits"amp;"Systems"for"Video"Technology,2002,9(8):11901203.
[2]SINGLA"N.Motion"detection"based"on"frame"difference"method[J].International"Journal"of"Information"amp;.Computation"Technology,2014,4(15):15591565.
[3]DARSHYANGnbsp;L.Effective"Gaussian"Mixture"Learning"for"Video"Background"Subtraction[J].IEEE"Transactions"on"Pattern"Analysis"amp;"Machine"Intelligence,2005,27(5):827832.
[4]馬靜怡,崔昊楊,張明達,等.基于改進Faster"RCNN的小尺度入侵目標識別及定位[J].中國電力,2021,54(03):3844.
[5]劉學,李范鳴,劉士建.改進的SSD紅外圖像行人檢測算法[J].電光與控制,2020,27(01):4246+59.
[6]史佳鋒.FCN與CNN在鐵路入侵目標識別中的應用研究[D].北京:北京交通大學,2020.
[7]REDMON"J,DIVVALA"S,GIRSHICK"R,et"al.You"Only"Look"Once:Unified,RealTime"Object"Detection[C]//2016"IEEE"Conference"on"Computer"Vision"and"Pattern"Recognition(CVPR).Los"Alamitos,CA:IEEE"Computer"Society,2016:779788.
[8]REDMON"J,FARHADI"A.YOLOv3:An"Incremental"Improvement[EB/OL].(20180408)[20240620].https://arxiv.org/abs/1804.02767.
[9]BARNICH"O,DROOGENBROECK"M"V.ViBe:A"Universal"Background"Subtraction"Algorithm"for"Video"Sequences[J].IEEE"Transactions"on"Image"Processing,2011,20(6):17091724.
項目:本項目由國能朔黃鐵路發展有限責任公司科技創新項目(SHTL2228)資助
作者簡介:賈冠偉(1986—"),男,漢族,河北石家莊人,本科,工程師,研究方向:鐵道通信。