涂沛馳,傅鈺雯,熊宇璇,楊健晟
(1貴州大學(xué) 電氣工程學(xué)院,貴陽 550025;2貴州交通職業(yè)技術(shù)學(xué)院 物流系,貴陽 551400;3貴州大學(xué) 外國語學(xué)院,貴陽 550025)
隨著科學(xué)技術(shù)的發(fā)展,變電站作為電力系統(tǒng)中不可或缺的一部分,變電站的安全系數(shù)及工作效率就變得尤為重要,但由于站內(nèi)存在電磁干擾等環(huán)境因素將對數(shù)顯式儀表產(chǎn)生讀數(shù)上的影響,因此變電站中的指針式儀表是對特定數(shù)據(jù)進行采集及監(jiān)測的重要工具,但到目前為止,大部分變電站內(nèi)的指針式儀表仍靠人工進行讀數(shù),由于人眼識別讀數(shù)存在著工作效率低下、讀數(shù)誤差大等缺點,因此實現(xiàn)變電站內(nèi)指針式儀表的自動化讀數(shù)是亟需解決的問題。
隨著計算機圖像處理技術(shù)的發(fā)展,現(xiàn)如今基于計算機視覺的自動識別技術(shù)在儀表讀數(shù)中得到了廣泛的應(yīng)用。張冀等人、曾舒帆等人以及李祖賀等人采用剪影法把2張背景相同、但指針位置不同的圖片進行減法操作,以此來獲取儀表指針的位置。劉迪等人通過改進的Hough變換來識別指針儀表的位置,再根據(jù)指針的旋轉(zhuǎn)角度來計算讀數(shù)。針對指針顏色與表盤存在明顯區(qū)別,徐洋等人采用了RGB顏色通道與改進的Hough變換相結(jié)合的辦法來定位指針的所在位置。這是基于相機正視儀表的情況下所進行的讀數(shù)識別,但在許多場景下,由于相機不能完全正視儀表,就會導(dǎo)致拍攝時出現(xiàn)視差的情況,從而使讀數(shù)出現(xiàn)較大的誤差。
針對表盤傾斜的狀況,莫文雄等人使用Canny邊緣檢測算子提取刻度盤以及指針輪廓作為模板,再將輸入圖像與模板進行匹配,通過部分區(qū)域相似性來計算模板在輸入圖像中的位置,最后利用查表法進行讀數(shù)識別。房樺等人首先對儀表圖像建立模板,然后通過SIFT算法提取儀表表盤所在位置,該算法在處理圓形物體時,尋找到的關(guān)鍵點較少,耗時長且數(shù)據(jù)計算量大,針對校正圓形物體存在一定的缺陷。朱柏林等人采用了ORB算法來獲取儀表盤區(qū)域,該算法具有較快的運行速度。然而上述方法中,模板的制作需針對同型號儀表,工廠中存在不同種類儀表,全部建立模板工作量大。SIFT算法需要提取圖中的穩(wěn)定點,適合有明顯角點的矩形儀表,對于工廠中圓形儀表識別較為困難,故上述方法適用性不強。
相對于傳統(tǒng)單目的指針式儀表的讀數(shù)識別,雙目視覺及三維重建技術(shù)能很好地還原出物體的三維信息,從而消除由視差引起的讀數(shù)誤差問題。
在此情況下,提出了一種基于雙目視覺的指針式儀表讀數(shù)的識別方法,通過雙目相機獲取指針式儀表視差圖,利用視差圖中的特征點匹配進行三維重建,在重建的三維空間中校正指針與表盤的相對位置,最終實現(xiàn)工業(yè)環(huán)境下指針式儀表在任何視角下的準(zhǔn)確讀數(shù)。
本方案采用雙目視覺系統(tǒng)采集傾斜狀態(tài)下的指針式儀表的視差圖并進行圖像預(yù)處理,接著通過特征點匹配重建出指針與表盤在空間中的位置,此方案的核心是將空間中的指針垂直投影至重建出的表盤平面上,并構(gòu)建指針角度-儀表讀數(shù)模型來計算讀數(shù)。針對雙目視覺技術(shù)下的指針式儀表的讀數(shù)識別,系統(tǒng)設(shè)計流程如圖1所示。
圖1 雙目視覺指針儀表讀數(shù)識別流程圖Fig.1 Flow chart for recognition of binocular vision pointer meter readings
圖2 雙目視覺成像原理圖Fig.2 Principle diagram of binocular vision imaging
由圖2可知,右側(cè)儀表上特征點的三維空間坐標(biāo)為(,,),該點在左、右相機成像上對應(yīng)的投影點分別為(,)和(,)。假設(shè)左、右相機平行,即。由三角幾何關(guān)系,從圖1中可以得到式(1)和式(2):
由式(1)和式(2)可以獲取到拍攝物體所需要的深度信息為式(3):
其中,()為視差,可以通過匹配左、右視圖中的對應(yīng)特征點獲取。因此,左相機上的任意一點在右相機上找到與之對應(yīng)的特征點后,便能得到獲取對應(yīng)物體的深度信息,即三維坐標(biāo)。由式(3)可以看出,在雙目視覺系統(tǒng)中,當(dāng)與確定時,深度與視差()成反比。
三維重建前需要對相機進行標(biāo)定,常用的有張氏標(biāo)定法、傳統(tǒng)標(biāo)定法等。相機進行標(biāo)定后,立體空間中任意一點的坐標(biāo)與相機坐標(biāo)系下對應(yīng)點的坐標(biāo)可以通過式(4)表示:
其中,f、f、、、為相機內(nèi)參;f與f分別為軸和軸上的歸一化焦距;與為光學(xué)中心;為圖像坐標(biāo)與世界坐標(biāo)的斜交因子;矩陣與矩陣為相機外參,分別表示旋轉(zhuǎn)矩陣及平移矩陣。
實驗采用的雙目系統(tǒng)由2臺工業(yè)相機組成,配合使用6 mm定焦鏡頭,使用三腳架進行固定拍攝。圖像曝光時間為30 ms,增益為1.25,拍攝11組標(biāo)定板圖像,標(biāo)定板的角點識別結(jié)果如圖3所示。
圖3 標(biāo)定板角點識別結(jié)果Fig.3 Results of the identification of corner points of the calibration plate
在此基礎(chǔ)上,通過Matlab軟件自帶的stereo Camera Calibrator標(biāo)定程序?qū)ζ溥M行標(biāo)定以獲取內(nèi)、外參數(shù),標(biāo)定后對11組標(biāo)定板圖像進行三維重建,如圖4所示。重建后的誤差如圖5所示。
圖4 標(biāo)定板三維重建Fig.4 3D reconstruction of the calibration plate
圖5 標(biāo)定板重建的像素誤差Fig.5 Pixel errors in calibration plate reconstruction
首先采用灰度化、濾波、二值化、膨脹腐蝕等圖像預(yù)處理方法以及霍夫直線檢測方法,識別出指針式儀表左右視圖上指針的所在位置,并對其進行標(biāo)注,其中一個視圖中儀表指針識別結(jié)果如圖6所示。
圖6 指針識別Fig.6 Pointer recognition
進一步地,通過利用標(biāo)定獲得的相機內(nèi)、外參數(shù)對左、右視圖進行畸變校正以及極線約束,使雙目相機所采集到的左、右視圖上的所有匹配點處于同一水平狀態(tài),如圖7所示。其中,指針上標(biāo)出的紅色圓點為指針與極線約束后提取的特征點,即左、右視圖中提取的指針匹配點。
圖7 校正后指針特征點的選取Fig.7 Selection of pointer feature points after correction
在獲得了2組匹配點之后,使用匹配點在左、右視圖中的二維圖像坐標(biāo),以及雙目相機標(biāo)定得來的參數(shù),通過三角形算法進行三維重建,以得到指針上2個特征點的空間三維坐標(biāo),在三維空間中顯示如圖8所示。分別以坐標(biāo),關(guān)系建立指針的空間函數(shù),如式(5)、(6)所示:
圖8中所顯示的橙色線段即為指針在空間中的重建,紅色圓點為指針重建后的特征點。
圖8 指針的三維重建Fig.8 3D reconstruction of the pointer
與指針的三維重建過程相似,在通過雙目相機標(biāo)定消除畸變后,采用極線校正,使左、右視圖的表盤各特征點處于同一水平狀態(tài)。因儀表在左、右視圖中所占位置較小,在處理前先將儀表區(qū)域裁剪出來,接著再采用灰度化、去噪、二值化等圖像預(yù)處理操作提取出表盤刻度線骨架,最后采用極線約束,將左、右視圖中對應(yīng)的表盤刻度線骨架與極線的交點作為一組表盤的匹配點,用此方法得到3組匹配點。如圖9所示。
圖9 校正后表盤特征點的選取Fig.9 Selection of dial feature points after calibration
利用雙目相機標(biāo)定好的相機內(nèi)、外參數(shù),對得到的3組表盤匹配后的特征點進行三維重建,得到3個表盤特征點的空間三維坐標(biāo)(,,)、(,,)、(,,),平面方程一般式如式(7)所示:
將前文求得3個三維空間坐標(biāo)點代入公式(7)中可得三元一次方程組,解方程組求得參數(shù)、、,從而解析出平面方程。計算出對應(yīng)的平面方程,并構(gòu)建出表盤面在空間中的位置,如圖10所示。
圖10中黃色圓點為表盤重建后的特征點標(biāo)點。
圖10 表盤的三維重建Fig.10 3D reconstruction of the dial
同理,可求出平面外另一點所對應(yīng)的垂直投影坐標(biāo)。
將重建后的指針目標(biāo)點投影至構(gòu)建的儀表盤平面,實現(xiàn)指針在儀表盤上的垂直投影,如圖11所示。
圖11 指針在表盤上的垂直投影Fig.11 Vertical projection of the hands on the dial
圖11中所顯示的紅色線段為空間中指針在表盤平面上的垂直投影,藍(lán)色圓點為空間中指針特征點在表盤平面上的垂直投影。
將重建后的指針垂直投影至儀表表盤,并將空間三維坐標(biāo)系下的垂直投影坐標(biāo)投影至二維平面坐標(biāo)系。三維空間坐標(biāo)投影至二維平面后,構(gòu)建對應(yīng)比例尺關(guān)系,這里通過區(qū)分不同象限與其所對應(yīng)角度的關(guān)系計算出指針在每個象限的角度,0刻度時計算出的角度為最小角度,記為。0刻度所對應(yīng)的量程為最小量程,記為;06刻度時計算出的角度為最大角度,記為。06刻度所對應(yīng)的量程為最大量程,記為。以此為基礎(chǔ)構(gòu)建指針角度與儀表讀數(shù)的比例尺,當(dāng)前檢測角度記為,根據(jù)式(9)可計算出儀表讀數(shù):
通過實驗得到多組數(shù)據(jù)進行實驗如圖12所示。
圖12 多組實驗數(shù)據(jù)Fig.12 Multiple sets of experimental data
對比分析結(jié)果見表1,雙目視覺識別指針式儀表讀數(shù)是具備準(zhǔn)確讀數(shù)效果。通過與左、右相機對比分析,可以發(fā)現(xiàn),左、右相機單獨讀數(shù)至少存在一個相機的光軸中心未能對準(zhǔn)指針儀表中心,從而引起讀數(shù)的誤差,這表示相機拍攝儀表存在傾斜角度時,會因為指針成像位置的改變而造成讀數(shù)誤差。經(jīng)過雙目立體視覺對指針和表盤三維重建,獲取其深度信息后,可有效減小讀數(shù)的誤差,可有效地識別指針式儀表的讀數(shù)。
表1 讀數(shù)分析結(jié)果Tab.1 Results of analysis of readings
針對二維成像的儀表讀數(shù)受成像角度影響大的問題,設(shè)計了一種基于雙目視覺立體成像的指針儀表讀數(shù)識別,通過對雙目相機同步拍攝左、右視圖,并對左、右視圖進行預(yù)處理操作,尋找到左、右視圖中匹配的特征點進行三維重建,獲取其三維空間坐標(biāo),重建了指針及儀表后,將空間中的指針垂直投影至表盤平面,以此來消除由于視差所導(dǎo)致的讀數(shù)誤差,最后構(gòu)建指針角度-讀數(shù)的比例尺關(guān)系計算讀數(shù)。經(jīng)實驗證明,該方法具有較強的應(yīng)用價值。
此外,指針式儀表的特征點選取及匹配直接影響到空間三維重建的精度,因此,該方案中特征點的選取以及匹配還存在進一步優(yōu)化的空間。