吳越舟,鄧斌,李榮鐸,許冠麟
一種基于YOLOv4的隧道吊柱位姿檢測方法
吳越舟,鄧斌,李榮鐸,許冠麟
(西南交通大學(xué) 機(jī)械工程學(xué)院,四川 成都 610031)
針對隧道內(nèi)吊柱實(shí)現(xiàn)自動(dòng)抓取安裝需要獲取吊柱位姿信息的問題,提出一種將YOLOv4目標(biāo)檢測算法與多特征點(diǎn)提取算法融合的吊柱位姿檢測算法。通過YOLOv4算法在雙目視覺的左右圖像上標(biāo)出吊柱法蘭的識別框,在擴(kuò)大后的識別框范圍內(nèi)將圖像從三原色(RGB)空間轉(zhuǎn)換到HSV空間,利用檢測目標(biāo)的特有HSV信息分離出其區(qū)域,對該區(qū)域進(jìn)行直線檢測,通過canny和霍夫變換篩選出吊柱法蘭的特征點(diǎn)。利用視差原理與面面交會原理還原出吊柱相對于相機(jī)的位姿信息。在不同距離進(jìn)行了多組位姿檢測實(shí)驗(yàn),結(jié)果顯示,檢測速度為26 f/s,在1000~1500 mm內(nèi)平均誤差均在20 mm以內(nèi),具有較高的精確性和實(shí)時(shí)性。
隧道吊柱;YOLOv4;位姿檢測;雙目視覺
當(dāng)前國內(nèi)外隧道內(nèi)的吊柱安裝大多采用人工完成,如圖1所示,即搭設(shè)腳手架,由人力將吊柱吊至隧道頂部,并在腳手架上對位安裝。該方法存在勞動(dòng)強(qiáng)度大、安裝效率低等問題。因此,楊三龍[1]設(shè)計(jì)了接觸網(wǎng)吊柱安裝機(jī)器人構(gòu)型布局,開發(fā)了一套接觸網(wǎng)上部機(jī)構(gòu)智能化安裝設(shè)備。但目前對吊柱自動(dòng)化安裝的研究較少,且諸如楊三龍?jiān)O(shè)計(jì)的吊柱安裝機(jī)器在對吊柱進(jìn)行抓取時(shí),普遍是人工將吊柱的三維位姿信息輸入計(jì)算機(jī)再下達(dá)指令進(jìn)行抓取,自動(dòng)化程度與精度均略顯不足,且不能滿足不同位姿吊柱的抓取。要實(shí)現(xiàn)吊柱的自動(dòng)抓取及安裝,關(guān)鍵是在特定環(huán)境中對吊柱進(jìn)行準(zhǔn)確且快速的定位識別。目前,機(jī)器視覺技術(shù)在視覺導(dǎo)航、工業(yè)自動(dòng)化和智能機(jī)器人等領(lǐng)域應(yīng)用非常廣泛,因此,研究基于機(jī)器視覺技術(shù)的隧道吊柱識別與定位技術(shù)具有重大意義[2],可為后續(xù)的吊柱安裝及吊柱日常維護(hù)等研究奠定基礎(chǔ)。
圖1 吊柱人工作業(yè)圖
目前國內(nèi)外針對隧道吊柱的識別定位研究較少,大多是對接觸網(wǎng)的其他部分,如絕緣子、支柱等的識別定位研究。展明星[3]提出一種雙目視覺結(jié)合SURF(Speed Up Robust Features,加速穩(wěn)健特征)的目標(biāo)識別定位方法,張珹[4]提出一種改進(jìn)的FasterR-CNN(Convolutional Neural Networks,卷積神經(jīng)網(wǎng)絡(luò))算法。以上研究均是先通過各自算法識別整個(gè)物件,通過識別出的輪廓質(zhì)心或識別框中心的位置來代表識別物件的位置。對于需要準(zhǔn)確識別物件某個(gè)空間特征點(diǎn)的情況,容易出現(xiàn)識別精度不足的問題。
在位姿估計(jì)方面,空間目標(biāo)三維姿態(tài)估計(jì)方法大致可分為三種[5]:
(1)基于三維模型檢索的方法。需要掌握較多的目標(biāo)先驗(yàn)信息,從而建立足夠豐富的目標(biāo)二維姿態(tài)模型數(shù)據(jù)庫,因此實(shí)際使用率較低。
(2)基于特征點(diǎn)對應(yīng)的方法。在表面紋理不明顯時(shí)得到的結(jié)果可能不準(zhǔn)確,需要找到合適的特征提取方式。
(3)基于三維特征描述符的方法。通常通過三維掃描儀或者RGB-D相機(jī)獲取目標(biāo)點(diǎn)云信息,利用3D-3D點(diǎn)對求解目標(biāo)位姿。需要用到深度相機(jī),對設(shè)備功能有要求。
針對以上問題,本文研究了一種基于YOLOv4的隧道吊柱位姿檢測算法,其將YOLOv4識別算法、特征融合檢測算法融合,可以實(shí)時(shí)得到吊柱法蘭的特征點(diǎn)位置,再通過三維重建算法還原吊柱的位姿信息。在Python環(huán)境中對該算法進(jìn)行實(shí)例測試,驗(yàn)證了該算法的實(shí)時(shí)性和精確性。
針對隧道施工中對吊柱自動(dòng)識別抓取的要求,本算法主要包含兩個(gè)部分:
(1)位置檢測。通過YOLOv4算法、特征融合檢測算法結(jié)合視差原理共同實(shí)現(xiàn)。通過YOLOv4算法得到吊柱法蘭的定位框,然后在定位框的一定范圍內(nèi)通過吊柱多特征共同提取出所需位置特征點(diǎn),將位置特征點(diǎn)匹配并由三角形算法還原出位置信息。
(2)姿態(tài)檢測。同樣在基于YOLOv4算法得到的識別框的一定范圍內(nèi),通過吊柱多特征共同提取出所需姿態(tài)特征點(diǎn),再將姿態(tài)特征點(diǎn)利用面面交會原理算法進(jìn)行姿態(tài)的還原。
吊柱位姿檢測算法框架如圖2所示。
ROI(Region of Interest):感興趣區(qū)域;HSV(Hue,Saturation,Value;色調(diào),飽和度,亮度):一種顏色模型。
圖2 吊柱檢測算法流程
視差測距法又稱三維重建。視差是指左右觀測點(diǎn)在觀察物體時(shí)的偏差,其與觀測點(diǎn)及目標(biāo)物體的位姿有關(guān)。三維重建是模擬人雙眼觀察物體的原理,是物體成像的逆過程[6]。
平行雙目立體視覺模型原理如圖3所示。
O1-X1Y1Z1、O2-X2Y2Z2為左右相機(jī)的坐標(biāo)系;1-11、2-22為左右圖像坐標(biāo)系;(,,)為所求目標(biāo);1(1,1)、2(2,2)為在左右圖像坐標(biāo)系的投影;為雙目相機(jī)基線,即兩個(gè)相機(jī)之間的距離;為相機(jī)焦距。
圖3 平行雙目立體視覺模型
在平行雙目立體視覺中,左右相機(jī)的內(nèi)外參數(shù)可以通過張正友相機(jī)平面標(biāo)定法[7]得到。再結(jié)合相機(jī)標(biāo)定參數(shù),通過空間三角形相似的性質(zhì)可以得到點(diǎn)的三維坐標(biāo):
因此,通過左右圖像匹配的位置特征點(diǎn)即可實(shí)現(xiàn)吊柱的定位。
吊柱法蘭形狀為正方形,其有兩組相互正交的平行線,利用單幅圖像中的兩組平行線,通過面面交會,可以計(jì)算出吊柱的姿態(tài)指向,如圖4所示,其中1平行于2,3平行于4。通過1、2兩個(gè)空間平面方程聯(lián)立描述空間直線,即面面交會確定空間直線[8]。由空間幾何知識可知,與L平行,即可通過求的姿態(tài)角求得L的姿態(tài)角,同理L也可以通過3、4轉(zhuǎn)換得到。得到L、L的方向向量后可通過右手定理得到L,即最終需要的吊柱姿態(tài)指向。
平面為吊柱法蘭;平面為相機(jī)成像面;1、2、3、4為吊柱法蘭的四條邊;1、2、3、4為1、2、3、4在相機(jī)成像面對應(yīng)的投影;為光心;1和2為1和2分別與所確定的平面;為1和2交會所得直線;L為與1、2平行的直線;L為與3、4平行的直線;L為吊柱姿態(tài)指向。
圖4 面面交會模型
由于空間直線與空間平面難以表示且計(jì)算復(fù)雜,將求面面交線的問題轉(zhuǎn)換成求兩個(gè)面的法向量,再通過右手定理求兩個(gè)法向量的外積的問題。
如圖5所示,1~4的直線方程式為:
1、2、3、4為1、2、3、4的交點(diǎn),即成像面四邊形的四個(gè)角點(diǎn)。
圖5 成像面特征直線與特征點(diǎn)
RPY(Roll,Pitch,Yaw;橫滾,俯仰,偏航)角用于目標(biāo)坐標(biāo)系相對于參考坐標(biāo)系的姿態(tài)描述,是一種基于繞固定坐標(biāo)軸旋轉(zhuǎn)得到的角。RPY角轉(zhuǎn)換式為:
隧道吊柱法蘭是一個(gè)厚度為20 mm的正方形板狀結(jié)構(gòu),需要特征識別并進(jìn)行匹配的即為此正方形,包括正方形的中心點(diǎn)以及四個(gè)角點(diǎn),如圖6所示。在實(shí)際拍攝中,由于拍攝角度的傾斜,正方形會變形為一個(gè)普通的四邊形,因此不能用正方形或矩形擬合,需要使用更為普遍的四邊形擬合。所識別的隧道吊柱法蘭顏色與直線特征明顯,基于這兩類特征,對吊柱法蘭進(jìn)行特征提取。
圖6 吊柱法蘭特征點(diǎn)示意圖
目標(biāo)檢測可定位檢測目標(biāo),從而過濾掉目標(biāo)區(qū)域以外的背景干擾,減小后續(xù)圖像處理的難度。本文的目標(biāo)檢測主要使用YOLOv4算法。
YOLOv4算法是在YOLOv3算法的基礎(chǔ)上進(jìn)行改進(jìn),得出的一種能夠同時(shí)得到目標(biāo)種類與位置信息的算法,是一種高實(shí)時(shí)性、高精度的目標(biāo)檢測模型。YOLOv4算法的實(shí)現(xiàn)主要分為數(shù)據(jù)集標(biāo)定、模型訓(xùn)練與目標(biāo)物檢測。數(shù)據(jù)集標(biāo)定主要是將數(shù)據(jù)集內(nèi)圖片上的目標(biāo)物進(jìn)行標(biāo)注,作為先驗(yàn)信息輸入到Y(jié)OLOv4網(wǎng)絡(luò)中進(jìn)行訓(xùn)練得到權(quán)重,最終可以通過該算法對吊柱法蘭進(jìn)行識別定位。
在三維重建的整個(gè)過程中,特征點(diǎn)的檢測與匹配是最為基礎(chǔ)的部分[9]。確定了目標(biāo)區(qū)域之后,可以對區(qū)域內(nèi)的圖像進(jìn)行相關(guān)處理,以獲取所需特征點(diǎn)像素坐標(biāo)。處理步驟主要包括HSV圖像分割、直線提取與聚類及特征點(diǎn)匹配。
HSV由表示占主導(dǎo)頻譜顏色的色調(diào)、表示顏色豐富程度的飽和度和表示顏色亮度的所組成。采用HSV模型時(shí)從色彩本質(zhì)特性出發(fā),使用色度分量來聚類分析,可以有效克服光照變化帶來的影響[10]。從RGB空間到HSV色彩空間的變換表達(dá)式為:
閾值處理主要是根據(jù)顏色特征對圖片中的目標(biāo)物進(jìn)行標(biāo)記。這里選擇HSV顏色模型來表征顏色特征。閾值處理的步驟為:
(2)將原RGB圖像通過式(7)~(9)轉(zhuǎn)化成HSV圖像;
(3)新建一個(gè)與原始圖像等大的二維數(shù)組,其每個(gè)點(diǎn)通過式(10)進(jìn)行賦值。
相比于原圖像直接通過canny邊緣檢測算法識別輪廓,在上一步通過HSV分割得到的吊柱二值圖會大大減少背景雜線,只保留吊柱的輪廓線,為后續(xù)的霍夫變換(Houghlines)優(yōu)化了輸入環(huán)境。再通過設(shè)定合適的Houghlines函數(shù)的閾值,提取到滿足要求的直線,即與空間變形后的吊柱法蘭四邊重合的直線。但此時(shí)提取的每條邊的重合直線往往有多條,因此需要對這些直線進(jìn)行聚類與合并。
采用k-means++均值聚類算法對識別出的直線進(jìn)行聚類,k-means++在選擇初始類別中心時(shí)進(jìn)行了優(yōu)化。初始類別中心的選擇步驟為:
(1)在數(shù)據(jù)點(diǎn)之間隨機(jī)選擇一個(gè)中心1;
(4)重復(fù)步驟(2)和(3),直到選擇了個(gè)中心(即=);
(5)選擇初始中心后使用標(biāo)準(zhǔn)均值聚類。
使用k-means++均值聚類算法可以減少計(jì)算時(shí)間,且具有聚類的唯一性。通過k-means++均值聚類算法對所得直線聚類求均值,最終可以得到四條結(jié)果直線,從而得到五個(gè)特征點(diǎn)。
立體匹配原理是得到所測物在不同成像平面上的特征匹配過程,而圖像的立體匹配就是通過算法實(shí)現(xiàn)這一過程[11]。本文得到的特征點(diǎn)只有五個(gè),因此按照以下步驟進(jìn)行特征點(diǎn)匹配。
對通過k-means++算法得到的四條直線求交點(diǎn)即可得到四個(gè)頂點(diǎn)。四個(gè)頂點(diǎn)按照以下規(guī)則進(jìn)行排序:
(1)計(jì)算出四個(gè)頂點(diǎn)在圖像坐標(biāo)系的橫縱坐標(biāo)之和M=Q+Q(=1~4),將M按照大小進(jìn)行排序,M取最小時(shí)對應(yīng)的點(diǎn)定義為1,M取最大時(shí)對應(yīng)的點(diǎn)定義為3。
(2)通過點(diǎn)1、3得到經(jīng)過此兩點(diǎn)的直線13,判斷剩余兩頂點(diǎn)是位于13的上方還是下方,位于上方的點(diǎn)定義為2,位于下方的點(diǎn)定義為4。
(3)通過點(diǎn)2、4得到經(jīng)過此兩點(diǎn)的直線24,再對1324進(jìn)行求交點(diǎn),最終得到5。
雙目相機(jī)的左右圖像經(jīng)過以上規(guī)則求得Q(=1~5)后,即可將左圖像的Q與右圖像的Q進(jìn)行匹配,即完成5個(gè)特征點(diǎn)的匹配。
目標(biāo)檢測方面,對所識別的吊柱采集了240張圖像,經(jīng)過順時(shí)針旋轉(zhuǎn)90°、水平鏡像、顛倒等一系列數(shù)據(jù)增強(qiáng)操作,最終得到960張訓(xùn)練樣本。通過LabelImg將這些訓(xùn)練樣本進(jìn)行目標(biāo)物種類位置的標(biāo)注,生成xml文件,再輸入YOLOv4網(wǎng)絡(luò)進(jìn)行訓(xùn)練,得到模型的權(quán)重。使用訓(xùn)練出的網(wǎng)絡(luò)對立體校正后的左右相機(jī)的圖像進(jìn)行識別檢測。
如圖7(a)所示,YOLOv4識別網(wǎng)絡(luò)能準(zhǔn)確識別吊柱法蘭的位置,檢測速度可達(dá)26 f/s,平均精確率(mAP)可達(dá)94.6%。得到識別框后將識別框的四邊均雙向擴(kuò)大20個(gè)像素得到圖7(b)。再在擴(kuò)大后的識別框里進(jìn)行霍夫變換直線提取,并最終得到所需特征點(diǎn),如圖7(c)~(f)所示。
相比于對原始圖片直接進(jìn)行特征識別,本實(shí)驗(yàn)提出的基于YOLOv4的特征融合識別算法具有識別范圍小、受背景干擾影響小、精度高的特點(diǎn)。本文算法與直接對原始圖片特征提取的算法的效果對比如圖8、圖9所示,可見通過YOLOv4算法大大減少了背景的雜線影響,大幅度提升了直線檢測精度。
圖7 特征點(diǎn)提取過程圖
圖8 HSV效果對比圖
圖9 直線提取對比圖
在相機(jī)與吊柱法蘭中心分別距離1000 mm、1250 mm、1500 mm、1750 mm、2000 mm的情況下進(jìn)行了五組實(shí)驗(yàn)。每個(gè)距離在不同的角度拍攝了三組照片。位姿驗(yàn)證點(diǎn)如圖9所示,此點(diǎn)也為機(jī)械臂后續(xù)的抓取點(diǎn)。
通過吊柱法蘭中心的位置還原與吊柱的姿態(tài)計(jì)算,可綜合得到抓取點(diǎn)的位置及距離,實(shí)驗(yàn)結(jié)果如表1所示。
圖10 吊柱位姿驗(yàn)證點(diǎn)
表1 吊柱抓取點(diǎn)距離信息還原結(jié)果
實(shí)驗(yàn)表明,還原的吊柱抓取點(diǎn)距離的平均誤差隨著吊柱中心點(diǎn)距離的增大而增大,在1000~1500 mm內(nèi),誤差在20 mm范圍內(nèi)緩慢增長,1750 mm與2000 mm誤差有較大增長。因此,在1000~1500 mm內(nèi),對吊柱的位姿估計(jì)誤差較小,吊柱抓取點(diǎn)距離誤差較小,符合任務(wù)要求。
為了實(shí)現(xiàn)隧道施工自動(dòng)化,本文提出一種基于YOLOv4的吊柱識別及位姿檢測算法。通過YOLOv4算法實(shí)現(xiàn)吊柱法蘭的定位,再通過色彩以及輪廓的特征提取算法提取出特征點(diǎn)。提取出的特征點(diǎn)通過視差原理與面面交會原理綜合得出吊柱的位姿信息,最終確定吊柱抓取點(diǎn)的信息。通過實(shí)驗(yàn)確定了此方法的最佳使用距離范圍為1000~1500 mm,在此范圍內(nèi)具有較好的實(shí)時(shí)性和準(zhǔn)確性。為后續(xù)隧道施工自動(dòng)化以及吊柱自動(dòng)抓取提供了理論支持。
[1]楊三龍,饒道龔,李廣平,等. 接觸網(wǎng)吊柱安裝機(jī)器人靜力學(xué)分析及結(jié)構(gòu)優(yōu)化[J]. 筑路機(jī)械與施工機(jī)械化,2020,37(12):74-77,91.
[2]HAN Y,LIU Z G,LEE D J,et al. Computer vision-based automatic rod-insulator defect detection in high-speed railway catenary system[J]. International Journal of Advanced Robotic Systems,2018,15(3):1729881418773943.
[3]展明星,王致誠,李致遠(yuǎn). 基于視覺的接觸網(wǎng)絕緣子識別定位研究[J]. 西部交通科技,2022(4):184-187.
[4]張珹. 高鐵接觸網(wǎng)支持裝置緊固件識別與定位的深度學(xué)習(xí)方法[J]. 工程數(shù)學(xué)學(xué)報(bào),2020,37(3):261-268.
[5]王一,謝杰,程佳,等. 基于深度學(xué)習(xí)的RGB圖像目標(biāo)位姿估計(jì)綜述[J]. 計(jì)算機(jī)應(yīng)用,2023,43(8):2546-2555.
[6]郭星源. 基于雙目視覺的移動(dòng)目標(biāo)測距方法研究與實(shí)現(xiàn)[D]. 成都:電子科技大學(xué),2021.
[7] Zhang Z. A Flexible New Technique for Camera Calibration[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2000,22(11):1330-1334.
[8]宋平,楊小岡,蔡光斌,等. 單站光測圖像中空間目標(biāo)姿態(tài)估計(jì)[J]. 兵器裝備工程學(xué)報(bào),2020,41(9):165-170.
[9]徐建鵬,卜凡亮. 三維重建系統(tǒng)下的特征點(diǎn)處理與位姿恢復(fù)優(yōu)化算法[J]. 計(jì)算機(jī)應(yīng)用研究,2019,36(10):3196-3200.
[10]陳梅香,郭繼英,許建平,等. 梨小食心蟲自動(dòng)檢測識別計(jì)數(shù)系統(tǒng)研制[J]. 環(huán)境昆蟲學(xué)報(bào),2018,40(5):1164-1174.
[11]胡高芮,何毅斌,陳宇晨,等. 基于二維圖像的三維重建技術(shù)研究[J]. 機(jī)械,2019,46(8):27-31.
Pose Detection Methodof Tunnel Davit Based on YOLOv4
WU Yuezhou,DENG Bin,LI Rongduo,XU Guanlin
(School of Mechanical Engineering, Southwest Jiaotong University, Chengdu 610031,China)
In order to obtain the pose information of the davit to realize the automatic grasping and installation of the davit in the tunnel, this paper proposes a davit pose detection algorithm that combines YOLOv4 target detection algorithm and multi-feature extraction algorithm. The identification frame of the flange of the davit on the left and right images of binocular vision is marked through the YOLOv4 algorithm, and the image is converted from the three primary colors (RGB) space to the HSV space within the expanded identification frame range, and the specific HSV information of the detected object is used to separate its area and conduct the line detection on the area. And the features of the flange of the davit are selected through Canny and Hough Transform. Finally, the pose information of the davit relative to the camera is restored by using the parallax principle and the surface to surface intersection principle. Several groups of pose detection experiments are carried out at different distances. The results show that the detection speed is 26 f/s, and the average error within 1000~1500 mm is within 20 mm, which has high accuracy and real-time performance.
tunnel davit;YOLOv4;pose detection;binocular vision
TP391.41
A
10.3969/j.issn.1006-0316.2023.12.002
1006-0316 (2023) 12-0008-07
2023-03-02
吳越舟(1998-),男,四川南充人,碩士研究生,主要研究方向?yàn)闄C(jī)器視覺,E-mail:934712683@qq.com;鄧斌(1964-),男,湖北荊門人,博士研究生,教授,主要研究方向機(jī)電液一體化。