夏天,卿粼波,滕奇志
(四川大學電子信息學院,成都610065)
鐵路貨車擔任著十分重要的運輸責任,是我國重要的交通運輸方式,因此保障鐵路貨車的安全運行意義重大。傳統(tǒng)的鐵路貨車故障檢測都是通過人工現(xiàn)場檢測來完成的,工作人員的工作量大,并且工作效率低下。在高強度的工作環(huán)境下,難免會對工作人員的身心造成一些影響,工作人員或出現(xiàn)一些檢測遺漏、檢測失誤的現(xiàn)象,而這些遺漏和失誤往往會對列車的安全運行造成非常嚴重的安全隱患。針對這個原因,許多公司都推出了能夠自動識別鐵路貨車運行故障的檢測系統(tǒng),用以改變這種人工檢測的模式,來提高列檢質(zhì)量和列檢效率,但是這些系統(tǒng)都還存在一些問題。
正是在這個背景的前提下,本文參考了由中華人民共和國鐵道部發(fā)布的TFDS(Trouble of Moving Freight Car Detection System)標準[1],設計了一套針對貨車制動梁螺栓丟失故障的檢測系統(tǒng)。貨車在運行過程中,制動梁上的螺栓很可能會因為貨車抖動而導致丟失,并導致制動梁失去作用,無法減速高速運行中的貨車,存在著很大的安全隱患,因此識別出制動梁上螺栓是否丟失并及時對故障位置進行報警是十分重要的。
首先在鐵路采集系統(tǒng)端采集到貨車底部原始圖像,然后將貨車底部圖像進行圖像預處理。通過已經(jīng)獲取到的制動梁模板圖片,在貨車底部圖像中進行模板匹配,定位出制動梁的位置。定位出制動梁后便開始找出在制動梁上的三顆螺栓的所在位置,分別把制動梁上的螺栓提取出來,對其進行螺栓的丟失診斷,在定位和識別螺栓的過程中,多次用到Canny 邊緣檢測和Hough 線提取。螺栓丟失故障識別的流程圖如圖1,貨車的底部圖像如圖2。
圖2 貨車底部原始圖像
模板匹配[2]就是在一幅圖片中尋找與另一幅圖片最相似的部分,即以零件庫中已獲得的制動梁圖片為模板,在貨車底部原始圖像中搜尋最符合的目標。制動梁模板圖如圖3。
圖3 制動梁模板圖像
我們將已獲得的制動梁模板圖片左上角的點,與貨車底部原圖像中左上角的點重合,然后將制動梁模板圖像在貨車底部原圖像中逐像素進行移動,來尋找貨車底部原始圖像中與制動梁模板圖最相似的匹配。模板圖像T 與待匹配的圖像S 之間的關(guān)系如圖4所示。
圖4 模板匹配原理圖
原始圖像S 的尺寸為W×H,模板圖像T 為M×N,T在S 上平移,搜索窗口所覆蓋的子圖區(qū)域記為Si,j,i,j為子圖的左上角定點在S 中的坐標點。通過對比T 和Si,j的相似度,來完成模板匹配的過程。歸一化模板匹配的相關(guān)系數(shù)R(i,j)的計算公式如下:
由于原始圖片較大,在進行模板匹配之前,先對原始圖片采用了領(lǐng)域平均的降采樣[3],圖像A 尺寸為m×n,對其進行s 倍的下采樣,得到一個(m/s)×(n/s)尺寸的圖像。
再對降采樣后的圖片進行模板匹配,找到目標后,根據(jù)目標在降采樣后的圖片中的坐標點,在原始圖片中映射出已定位的制動梁的位置。這種方式極大地優(yōu)化了定位制動梁所需要的時間,而且降采樣后并未丟失圖像的整體特征,所以并不會對匹配結(jié)果造成影響。
由于制動梁邊緣清晰且成直線,螺栓固定在制動梁所在直線,所以通過定位制動梁上的直線,便可以找到螺栓具體位置。本文采用Hough 線變換[4],進行直線檢測。進行直線檢測之前,首先要對已經(jīng)獲得的制動梁圖片進行Canny 邊緣檢測[5],獲得制動梁圖片的邊緣圖像。
在圖像x-y 極坐標空間里,一條直線用參數(shù)方程可以表示為如公式(3)所示:
其中ρ 代表這條直線到坐標原點的垂直距離,θ代表x 軸到這條垂線的角度,取值范圍為±90o,在極坐標的表示下,圖像坐標空間中共線的點映射到參數(shù)空間中后,會成為不同的曲線,而這些曲線在參數(shù)空間中都相交于一點p,所以可以通過在參數(shù)空間中相交的點來找出坐標空間中對應的直線,如圖5 所示。
圖5 坐標空間與參數(shù)空間
通過原圖可以發(fā)現(xiàn),固定制動梁的三顆螺栓的位置始終是固定的,并且按一定的比例和位置固定在制動梁上,所以我們可以根據(jù)比例,來確定三顆螺栓在直線上的所在位置。對已提取的邊緣圖進行Hough 變換直線檢測,提取出其中所有滿足要求的直線,而這些直線簇組成了一個三角形的框架,三顆螺栓處于制動梁上的直線上,所以提取出制動梁上的豎直線是關(guān)鍵所在。動車制動梁整體框架是一個等腰直角三角形,根據(jù)直線的斜率不同,可以得到一條+45°的直線,并獲得最右邊一條斜率趨于無窮的豎直線,可以求出兩條直線的一個交點坐標(a1,b1)。同理,也可以一條斜率為-135°的直線,與豎直線的交點坐標為(a2,b2)。因此,分別以(a1,b1),(a2,b2)為端點坐標擬合出固定螺栓所處的豎直線,獲得到這條直線以后,根據(jù)制動梁上三個螺栓的固定位置嚴格的成一定的比例,我們便可以通過螺栓在直線上的比例分別對應坐標點畫矩形提取出三顆螺栓的樣本圖。
圖6 螺栓定位
由于螺栓丟失的零件部位,會有一個均勻的黑圓孔,如圖7(b)所示。
圖7 正常螺栓與故障螺栓
因此對此進一步的分析,為了使圓的邊緣更加突出,首先對正常螺栓圖像和故障螺栓圖像進行了閾值分割,將圖像通過閾值分割為一幅二值圖像,再對這幅二值圖像進行邊緣提取,為檢測兩幅邊緣圖像中的圓,采用了Hough 圓變換。同直線檢測一樣,曲線檢測也是通過把圖像空間轉(zhuǎn)換到參數(shù)空間[6]。例如本文將要用圓形檢測,圓的一般方程為:
(a,b)為圓心,r 是圓的半徑,(x,y)為圓上的一點。坐標空間x-y 中的坐標點映射到參數(shù)空間a-b-r 上,其中a-b-r 是一個三維的錐面,圖像空間中的各個點到參數(shù)空間上的圓錐將會有一個共同的交點(a0,b0,r0)。如圖8 所示:
圖8 曲線參數(shù)空間圖
若能成功找到半徑為r 的曲線圓,則代表此處螺栓已經(jīng)出現(xiàn)丟失,向系統(tǒng)做出報警。
由于三個部位的螺栓掉落后形成的黑圓孔大同小異,這里僅用對底部螺栓的處理結(jié)果作詳細介紹,其他兩個部位的處理相同。分別選取了正常螺栓和故障螺栓的實驗結(jié)果進行比對,從圖中可以看出正常螺栓的邊緣圖中由于光照、相機景深等因素,無法找到半徑為r 的圓,因此此時螺栓屬于正常狀態(tài),而在故障螺栓的邊緣圖中我們可以看出有一個規(guī)則的小圓圈,此時用Hough 圓檢測可以成功找出該圓圈,因此系統(tǒng)會判定該位置螺栓發(fā)生故障。
圖9 識別檢測故障螺栓
本文針對了對列車固定制動梁的螺栓進行了丟失檢測,通過模板匹配定位出制動梁的具體位置,然后基于Canny 邊緣檢測和Hough 變換曲線檢測,來準確定位出螺栓的所在位置,并在最后成功判斷了螺栓是否掉落,本方法成功地實現(xiàn)了機器自動檢測的效果。
這種方法在制動梁極端損壞的情況下可能會導致識別錯誤,因為要檢測到螺栓的具體位置,必須保證制動梁并沒有出現(xiàn)其他故障,例如制動梁產(chǎn)生比較嚴重的形變將會對實驗結(jié)果帶來影響,導致無法準確地定位出螺栓在制動梁中的具體位置,所以,進一步要研究如何在不確定故障的情況下定位出螺栓位置并識別檢測,適應更多的可能環(huán)境。