楊培盛 王華軍 張 用 楊 凱 高春良
(1.濟南軌道交通集團建設投資有限公司 山東 濟南 250000;2.北京主導時代科技有限公司 四川 成都 610000)
螺栓緊固件具有能拆卸且能重復使用的優勢,在地鐵領域得到了大量應用。然而,由于地鐵車體螺栓長期受到交變力作用的影響,易造成不同程度的松動或丟失故障,若不及時發現并處理,將直接影響行車安全。而傳統的通過人工排查螺栓故障的方式不僅效率低下,且極易產生視覺疲勞,發生誤檢、漏檢等情況。
為解決上述問題,本文根據部署在軌旁的面陣相機采集到的地鐵車體的圖像,引入YOLOv3網絡對車體各關鍵部位螺栓區域進行粗定位和精定位;引入U-net[1]語義分割模型并改進訓練方式,對定位到的螺栓防松標記線進行分割,在此基礎上利用RANSAC[2]算法對標記線進行直線擬合并根據直線傾斜角度來判定螺栓是否存在松動故障;最后,對所提出方法的各部分分別進行試驗,結果證明了方法的有效性。
部署在軌旁的多只面陣相機能夠對地鐵車體進行360°拍攝,圖1展示了部署在軌旁的相機分布,以此采集到的圖像均為高清圖像。從原始高清車體圖像中對螺栓區域準確定位是螺栓松動檢測的前提,若直接對螺栓定位不僅對硬件要求極高,定位準確度也難以保障。因此,提出對螺栓區域的定位分為兩個步驟:(1)首先對車體圖像中螺栓所在的關鍵區域進行定位;(2)在關鍵區域的基礎上對螺栓區域進行精確定位。

圖1 部署在軌旁的面陣相機分布
將車體左右側面、車體底部圖像的相關待檢測關鍵區域按照所在區域特征進行劃分,不同關鍵區域包含螺栓的數量、類型不等(見圖2)。在對車體關鍵區域進行劃分的基礎上,利用軌旁面陣相機采集到不同時段、不同光照條件下的地鐵車體高清圖像200張。利用labelImg圖像標注工具對縮放后的車體圖像關鍵區域進行標注,以此作為輸入訓練YOLOv3網絡對車體待檢測的關鍵區域進行定位。

圖2 地鐵車體關鍵區域示例圖
在此基礎上,利用輸出定位框的相對坐標信息從原始高清圖像中截取定位到的所有關鍵區域,再次利用labelImg圖像標注工具對關鍵區域中的螺栓區域進行標注,以構建螺栓區域定位數據集。利用該數據集訓練YOLOv3螺栓區域定位網絡對關鍵區域內的所有螺栓進行定位[3-4]。表1為數據集中包含需要進行螺栓檢測的關鍵區域的分布及螺栓分布。

表1 地鐵車廂關鍵區域的分布及螺栓數量 /個
在對車廂各關鍵區域螺栓進行準確定位的基礎上,判定每一個螺栓是否存在松動的故障是地鐵車體螺栓松動檢測的關鍵。
(1)分割模型
為便于檢修中對螺栓松動情況進行判斷,地鐵維修人員在車輛螺栓緊固完成后會對車體每個關鍵區域內的螺栓表面涂畫防松標記線。若后期檢修中發現螺栓標記線傾斜,則認定該螺栓存在松動故障。車體螺栓區域圖像具有目標小、背景復雜、邊緣模糊等特點,此外,標記線的粗細、長度、色度等任一特征的變化都可能導致標記提取的誤差,從而影響螺栓松動的判定。為準確地從螺栓區域圖像中提取標記線,引入了圖像分割網絡U-net。
(2)訓練優化
利用labelImg圖像標注工具對螺栓標記線區域進行標注并組成螺栓標記線分割數據集,并以此對U-net標記線分割網絡進行訓練和測試。為提升標記線分割模型的泛化能力,避免模型過擬合,采用隨機旋轉、平移、亮度調整、灰度變換等方式對螺栓數據進行擴展;同時,對輸入圖像進行mixup混類增強,即將不同圖像按照一定的比例進行混合,以此對訓練數據進一步增強。該過程可以表示為式(1)和式(2)。
λ=Beta(α,β)
(1)
g(x)=λ×f0(x)+(1-λ)×f1(x)
(2)
式中:α,β表示兩個0~1的小數;Beta表示貝塔分布;f0(x)和f1(x)分別表示待混合的圖像樣本;g(x)為混合后的圖像樣本。
螺栓標記線分割的結果并非標準的直線,無法直接用于松動的判定。RANSAC算法首先在二值圖像的點集{(x1,y1),(x2,y2)},…,(xn,yn)中隨機選擇兩個點,求解它們構成的直線對應的參數a、b和d,由式(3)和式(4)表示。然后計算點集中剩余點到該直線的距離E,當E小于距離閾值,則設置該點為內點,統計當前內點的個數并重復上述過程直到點集中的所有點均參與該過程。其次,選擇內點個數最多的點集為最大一致集。最后,將該最大一致集里面的點利用最小二乘法求出直線參數,從而得到直線方程。
ax+by=d
(3)
E=|axi+byi-d|
(4)
式(4)中:k=-a/b可以用來表示該直線的斜率,當斜率k=0時,直線水平,即提取到的螺栓標記線處于水平狀態,此時螺栓處于非松動狀態。
在實際應用中,為了避免標記線提取過程中微小的誤差導致的松動誤判,一般取k<λ時(λ表示一個接近0的正數,則判定當前標記線所在螺栓無松動故障,否則存在松動故障)。
采用一致的量化評價標準有助于對同類算法的性能進行分析和比較。本文螺栓松動判定算法采用召回率(Recall)和精確率(Precision)兩個評價指標,分別由式(5)和式(6)表示。
(5)
(6)
目標檢測算法采用mAP評價指標[5],可以由式(7)和式(8)表示。
(7)
(8)

圖像分割算法一般采用平均交并比(mIoU)評價指標[6],可以由式(9)定義。
(9)
式中:TP(True Positive)表示被正確分類到正樣本的個體數量,TN(True Negative)表示被正確分類到負樣本的個體數量,FP(False Positive)表示被錯誤分類到正樣本的個體數量,FN(False Negative)表示被錯誤分類到負樣本的個體數量。
將前述采集得到的地鐵車體圖像數據集劃分為訓練集和測試集。其中80%作為訓練集,20%作為測試集,對所提出的螺栓區域定位方法進行驗證。
首先利用訓練集中完成關鍵區域標注的圖像數據訓練YOLOv3區域定位模型,隨著訓練迭代次數的增加,模型逐漸達到最優。將訓練完成的關鍵區域定位模型在測試集上進行測試,表2展示了訓練完成的模型在測試集上的定位效果。結果表明,利用本文方法訓練完成的YOLOv3模型能夠準確地對車體圖像中的關鍵區域進行定位。

表2 關鍵區域定位模型的測試效果
利用上述訓練完成的模型對訓練集中的所有車體圖像進行關鍵區域定位,并根據定位信息從原始高清圖像中截取該區域圖像。對定位到的關鍵區域進行螺栓區域標注及數據集劃分,表3展示了螺栓區域定位數據集的分布。利用螺栓區域定位數據集中的訓練集對YOLOv3螺栓區域定位模型進行訓練,直到模型達到最優。
將訓練完成的螺栓區域定位模型在螺栓區域數據集中的測試集上進行測試,表4展示了訓練完成的模型在螺栓區域定位數據集上的效果。結果表明,利用當前螺栓區域定位方法能夠準確完成螺栓區域的定位。

表3 螺栓區域數據集分布 /個

表4 螺栓區域定位模型的測試效果
(1)螺栓標記線分割
利用訓練完成的螺栓區域定位模型對螺栓區域定位數據集中所有螺栓區域進行定位并截取螺栓圖像的ROI區域。在此基礎上利用labelme圖像標注工具標注每個螺栓區域圖像對應的標記線區域,如圖3所示。將標注完成的螺栓標記線圖像進行再次劃分,其中80%作為標記線分割模型的訓練集,其余作為測試集。

圖3 螺栓標記線分割標注圖例
利用上述標注完成的訓練集對基于U-net的螺栓標記線分割模型采用傳統訓練方法和本文提出的訓練方法在條件下分別進行訓練。隨著迭代次數的增加,訓練損失逐漸趨于穩定,模型逐漸達到最優。利用上述測試集對兩種訓練方法得到的訓練模型進行測試。表5展示了兩種不同的訓練方法訓練得到的模型在測試集上的效果。結果證明,本文提出的訓練方法能夠提升標記線分割模型的分割性能。
(2)螺栓松動判定
將本文提出的螺栓松動判定方法在測試集上進行驗證,首先利用訓練完成的關鍵區域定位模型對測試數據中的關鍵區域進行粗定位,并利用訓練完成的螺栓區域定位模型對關鍵區域中的螺栓區域進行精定位。最后在螺栓區域定位的基礎上對螺栓標記線進行分割試驗。在利用兩種不同的訓練方式對螺栓標記線分割的基礎上,利用RANSAC算法對分割得到的標記線分別進行直線擬合(見圖4),當直線斜率大于λ(λ取0.1)時,認為當前螺栓標記線處于非水平狀態,存在松動故障,否則無松動。

表5 不同訓練方法得到的模型在測試集上的性能比較

圖4 RANSAC算法直線擬合結果
表6展示了所提出的方法在測試集上的螺栓松動檢測效果。結果表明,文中提出的基于標記線的螺栓松動檢測方法能夠較為準確地對地鐵車體關鍵區域的螺栓松動進行檢測。

表6 螺栓松動檢測在測試集上的測試結果
針對現有螺栓松動檢測算法準確性低、 難以適應復雜場景變化的問題, 文中利用部署在軌旁的面陣相機采集并分階段標注了大量不同環境條件下的車側和車底原始高清圖像,并組成螺栓松動訓練數據集; 訓練YOLOv3目標檢測網絡對螺栓所在的關鍵區域和螺栓區域進行粗定位和精定位; 為了能夠準確地從螺栓區域圖像中分割出螺栓標記線, 引入經典的U-net圖像分割網絡并優化其訓練方式; 在此基礎上利用RANSAC直線擬合算法, 對標記線分割結果進行直線擬合并根據直線斜率判斷螺栓是否存在松動故障; 最后,將所提出的方法在不同測試數據集上進行分別驗證, 結果表明, 所提出的方法能夠準確地對地鐵車體螺栓松動故障進行檢測。