張建寰,曾 亮,劉 濤,鄧連鈞,徐周毅,張陳濤
(1.廈門大學(xué)薩本棟微米納米科學(xué)技術(shù)研究院,福建廈門 361102;2.國網(wǎng)福建省電力有限公司超高壓分公司,福建廈門 361000)
指針式儀表具有結(jié)構(gòu)簡單、安裝維護方便、不受電磁場干擾、可靠性高、價格便宜等優(yōu)點,被廣泛應(yīng)用于電力系統(tǒng)、鐵路系統(tǒng)、石油系統(tǒng)等領(lǐng)域[1]。指針式儀表數(shù)據(jù)的準確識別,直接影響到設(shè)備狀態(tài)的監(jiān)控。傳統(tǒng)的人工巡檢方式勞動強度大、巡檢效率低、檢定誤差大,并且在極端天氣和危險環(huán)境下無法正常開展巡檢工作[2-3]。隨著人工智能技術(shù)的發(fā)展,戶外巡檢機器人被廣泛應(yīng)用于變電站、石油化工廠等場所代替人工進行巡檢[4-5]。在戶外巡檢條件下,由于環(huán)境復(fù)雜,巡檢機器人捕捉到的圖像容易受到光照、天氣、拍攝角度以及復(fù)雜背景的影響,導(dǎo)致儀表識別讀數(shù)精度低、魯棒性差等問題[6]。因此,如何在戶外環(huán)境下準確識別儀表讀數(shù),至今仍然是一個重要的研究課題。
近年來,有許多關(guān)于指針式儀表識別讀數(shù)的研究。傳統(tǒng)的指針式儀表識別讀數(shù)方法主要基于圖像處理步驟提取指針和表盤的特征,采用霍夫變換計算出儀表的圓心,根據(jù)模板匹配的方法提取儀表區(qū)域的關(guān)鍵點,最后通過計算指針傾角來識別儀表讀數(shù)[7-9]。這類算法對于圖片的質(zhì)量要求較高,特征提取時容易受到光照變化、模糊、遮擋等環(huán)境因素的影響,魯棒性和準確性較差。
隨著深度學(xué)習(xí)技術(shù)的快速發(fā)展,深度學(xué)習(xí)已經(jīng)廣泛應(yīng)用于各檢測領(lǐng)域,包括圖像分類、字符識別、目標檢測等。在指針式儀表識別領(lǐng)域也有著廣泛的應(yīng)用。文獻[10]通過Faster R-CNN自動檢測儀表位置。文獻[11]采用全卷積網(wǎng)絡(luò)U-Net提取刻度線圓弧區(qū)域和指針針尖區(qū)域。雖然基于深度學(xué)習(xí)的方法對比傳統(tǒng)的方法魯棒性更強,但是在戶外復(fù)雜多變的條件下,指針和刻度線區(qū)域提取仍然不夠精確,這將直接影響儀表讀數(shù)的精度。如何在戶外環(huán)境下對指針式儀表進行精準識別讀數(shù)仍然是一個挑戰(zhàn)。本文提出了一種適用于戶外巡檢機器人的指針式儀表識別方法,該方法先通過YOLOv5算法檢測儀表目標框,在該區(qū)域圖像上通過改進PSPNet提取指針和刻度線區(qū)域,隨后透視變換消除拍攝角度的影響,最后提取指針直線,再根據(jù)角度法計算儀表讀數(shù)。
指針式儀表識別流程如圖1所示,它包含2部分:指針和刻度線區(qū)域提取和讀數(shù)計算。指針刻度線區(qū)域提取首先采用YOLOv5提取儀表區(qū)域,接著在該區(qū)域采用改進PSPNet對指針和刻度線準確提取。讀數(shù)計算主要包括3部分:透視變換消除拍攝角度的影響、指針直線提取、角度法計算讀數(shù)。
圖1 指針式儀表識別讀數(shù)流程圖
由于戶外環(huán)境復(fù)雜,直接在巡檢機器人采集的圖像上提取指針和刻度線區(qū)域不僅計算量大,準確性也會降低,因此首先通過YOLOv5對儀表進行定位,截取儀表區(qū)域[12],然后在該區(qū)域上利用改進PSPNet提取指針和刻度線區(qū)域。PSPNet采用金字塔池化模塊對復(fù)雜場景進行解析,能夠充分利用全局上下文信息,在像素級預(yù)測中體現(xiàn)了良好的性能[13]。然而由于卷積池化的原因,分割物體邊緣特征提取不夠充分,導(dǎo)致邊緣分割精度較差。在本研究中,指針和刻度線的邊緣分割精度直接影響讀數(shù)精度。因此,本文引入擴張卷積模塊對PSPNet進行改進,提高模型指針和刻度線的邊緣分割精度。
改進后的PSPNet結(jié)構(gòu)如圖2所示。首先采用ResNet50提取圖像數(shù)據(jù)特征,得到特征圖。然后特征圖將通過金字塔池化模塊和擴張卷積模塊充分獲取上下文特征和底層特征。在金字塔池化模塊,將特征圖進行最大池化,利用2*2和6*6兩個層級的池化核獲取全局特征,形成2個不同的特征圖。
圖2 改進PSPNet結(jié)構(gòu)圖
在擴張卷積模塊,采用1*1和3*3的空洞卷積充分獲取底層特征,得到2個不同尺度的特征圖。隨后將這4個不同尺度的特征圖進行上采樣使其恢復(fù)原始特征圖尺寸。最后將這4個特征圖與原始特征圖拼接為最終的全局特征,通過卷積層生成最終預(yù)測圖。與原始PSPNet相比,改進點主要有2個:
(1)為了提高指針和刻度線的邊緣分割精度,增加擴張卷積模塊,減少了金字塔池化模塊中的2個池化層。采用1*1和3*3兩個小卷積核的擴張卷積能夠提取更多的底層特征;同時,為了減少模型的計算量,減少金字塔池化模塊中的2個1*1和1*3的池化層。
(2)原始的PSPNet模型使用交叉熵損失函數(shù)來反映預(yù)測結(jié)果與真實值之間的差距,損失函數(shù)公式如式(1)所示[14]:
(1)
在巡檢機器人采集的實際圖像中,由于刻度線邊緣沒有明顯界限,指針區(qū)域較為細長,難以在圖像中將它們準確分割,因此,本文在原有的損失函數(shù)基礎(chǔ)上引入距離圖損失函數(shù)。在該損失函數(shù)中,越接近分割邊緣的像素,所占損失權(quán)重越大。距離圖損失函數(shù)定義如式(2)所示:
(2)
式中:i為像素數(shù);j為類別數(shù);φ為距離圖。
改進后的損失函數(shù)為
(3)
當巡檢機器人采集指針式儀表圖像時,相機與指針表之間的拍攝角度會對讀數(shù)精度產(chǎn)生影響。因此,采用透視變換對圖像進行校準。透視變換原理如圖3所示。
圖3 透視變換原理圖
提取出刻度線區(qū)域后,對刻度線區(qū)域進行最小外接橢圓擬合和最小外接圓擬合。最小外接橢圓的4個頂點記為E1、E2、E3、E4,最小外接圓的4個頂點記為C1、C2、C3、C4。設(shè)原圖像平面某點的坐標為(x,y,1),在三維投影空間的坐標為(u,v,w),透視變換校準后的坐標為(x′,y′,1),透視變換的矩陣為T,則有:
(4)
(5)
根據(jù)E1~E4與C1~C48個頂點的坐標位置對應(yīng)關(guān)系,由式(4)可求得透視變換矩陣T,得到透視變換矩陣后根據(jù)式(5)可以將原圖像中的所有點投射到新的平面,即可得到透視變換后圖像。
提取出指針區(qū)域后,對指針區(qū)域進行直線提取才能對指針儀表準確讀數(shù)。根據(jù)指針的形狀特點,本文基于質(zhì)心提取指針直線,原理如圖4所示。
圖4 指針直線提取原理圖
將指針區(qū)域的最小外接三角形3個頂點分別記為T1(x1,y1)、T2(x2,y2)、T3(x3,y3),設(shè)質(zhì)心坐標為O(x,y)。則根據(jù)式(6)可計算得到質(zhì)心坐標。
(6)
隨后,分別計算質(zhì)心O與T1、T2、T3的距離,距離質(zhì)心最遠的點即為指針頂點。連接質(zhì)心和指針頂點,即為指針直線。
指針式儀表的讀數(shù)計算可分為角度法和距離法,本研究采用角度法來計算讀數(shù),原理如圖5所示。以指針的質(zhì)心O為原點建立坐標系。Lf表示擬合的指針直線;將第三象限和第四象限中y軸坐標最小的刻度線區(qū)域中的點分別記為P1、P2;將P1、P2與O點的連線分別記為L1、L2;將L1與L2之間的夾角記為β;將L1與Lf之間的夾角記為θ。根據(jù)先驗信息可得到儀表的量程r,則指針式儀表的讀數(shù)v可通過式(7)求得。
圖5 角度法讀數(shù)原理圖
v=θ/β·r
(7)
本文的數(shù)據(jù)集由2 568張真實戶外場景下采集的儀表圖像構(gòu)成,圖像由相機以不同的拍攝角度、尺度、光照和背景拍攝,圖像大小為2 560 pixel×1 440 pixel。
實驗的硬件平臺為NVIDIA GeForce GTX 1070 GPU,內(nèi)存為8 GB;操作系統(tǒng)為Windows 10 64-bit;深度學(xué)習(xí)框架采用PyTorch架構(gòu);開發(fā)平臺為Visual Studio 2017 和OpenCV 3.4.5。
為了驗證YOLOv5模型的儀表定位精度和速度,采用精度(P)、召回率(R)和平均每秒檢測幀數(shù)(FPS)衡量模型的性能。其計算公式如下:
(8)
(9)
式中:TP為實際上為正的樣本被預(yù)測為正的數(shù)量;FP為實際上為負的樣本被預(yù)測為正的數(shù)量;FN為實際上為正的樣本被預(yù)測為負的數(shù)量。
在訓(xùn)練過程中,將數(shù)據(jù)集按照7∶2∶1的比例分為訓(xùn)練集、測試集和驗證集。訓(xùn)練階段初始學(xué)習(xí)率設(shè)置為0.001,權(quán)重衰減為0.000 5,每批包含16幅圖像。
訓(xùn)練結(jié)果表明:YOLOv5在儀表定位精度和速度方面都表現(xiàn)優(yōu)異,檢測精度為100%,檢測召回率為99.80%,平均每秒檢測圖片幀數(shù)為18.84。部分預(yù)測結(jié)果如圖6所示,在不同背景、光照等條件下,YOLOv5能夠準確識別出儀表目標,滿足真實環(huán)境下指針式儀表識別的要求。
圖6 YOLOv5部分預(yù)測結(jié)果
為了驗證改進后PSPNet模型的效果,本文將該模型與原始PSPNet、Deeplabv3+、U-Net、FCN進行對比。并采用像素準確率(PA)、平均交并比(mIOU)與平均每秒檢測幀數(shù)3個指標來評價指針和刻度線區(qū)域分割性能。其計算公式如下:
(10)
(11)
式中:i為真實值;j為預(yù)測值;pij為將i預(yù)測為j的像素個數(shù)。
在上述5個模型的訓(xùn)練過程中,初始學(xué)習(xí)率都設(shè)置為0.001,權(quán)重衰減為0.000 5。每批包含4個圖像。圖像分割效果對比如圖7所示,分割性能的統(tǒng)計結(jié)果如表1所示。
圖7 不同模型的指針刻度線分割效果對比
表1 不同模型分割性能對比 %
從表1可以看出,與原始PSPNet模型對比,改進后PSPNet在PA上提高了2.74%,在mIOU上提高了3.83%,在FPS上提高了2.98%。從分割效果對比圖可以發(fā)現(xiàn),改進后PSPNet對于指針和刻度線邊緣的分割更加細致。如圖7所示,原始PSPNet指針邊緣分割不夠細致;Deeplabv3+指針和刻度線分割不完整,存在錯誤分割;UNet雖然邊緣分割比較細致,但是存在錯誤分割的情況;FCN也存在分割不完整、錯誤分割的問題。這說明改進后PSPNet模型在分割性能上具有一定的優(yōu)勢。
此外,為了驗證改進后PSPNet對指針和刻度線區(qū)域分割的魯棒性,采用在不同光照、角度等戶外環(huán)境中拍攝的圖像進行測試。實驗結(jié)果如圖8所示??梢钥闯?當儀表圖像受到光斑、光照變化、對焦模糊等因素影響時,該模型仍然能對指針和刻度線區(qū)域進行精準分割,說明該模型的精度高、魯棒性強,適用于戶外復(fù)雜環(huán)境。
(a)光斑 (b)過暗 (c)過曝 (d)模糊圖8 不同條件下改進PSPNet分割效果
由于在戶外巡檢條件下,有一些儀表離地面較高,巡檢機器人采集儀表圖像會受到拍攝角度的影響。當光照角度與拍攝角度形成鏡面反射時,儀表表面會受到反射光斑的影響。巡檢機器人在相機過曝光、夜間巡檢或者背光巡檢時,儀表圖像容易過亮或過暗。同時,巡檢機器人采集的儀表圖像還容易受到相機對焦模糊的影響。因此,為了驗證算法的讀數(shù)精度和穩(wěn)定性,本文分別采用4組儀表樣本進行測試。4組儀表樣本分別由不同角度拍攝的指針式儀表、表面受到反射光斑影響的指針式儀表、過亮過暗環(huán)境下指針式儀表和拍攝模糊條件下指針式儀表組成,每組包含4張圖片。采用相對誤差δ和引用誤差γ來衡量本方法的讀數(shù)精度。其計算公式如式(12)、(13)所示:
(12)
(13)
式中:Rtrue為人工讀數(shù)結(jié)果;Rtest為檢測值;M為儀表量程。
4組樣本由YOLOv5截取的儀表區(qū)域如圖9所示,讀數(shù)結(jié)果如表2所示。
(a)不同角度拍攝下指針式儀表
(b)表面受到反射光斑影響的指針式儀表
(c)過亮過暗環(huán)境下指針式儀表
(d)拍攝模糊條件正氣旨針式儀表圖9 不同條件下儀表樣本
表2 不同條件下儀表讀數(shù)結(jié)果
由4組樣本讀數(shù)結(jié)果可知,最大相對誤差為2.94%,這是由于儀表示數(shù)較小導(dǎo)致計算得到的相對誤差較大。最大引用誤差為1.25%,平均相對誤差為1.28%,平均引用誤差為0.68%,每張圖片平均處理時間為1.28 s。在不同傾角條件下,平均引用誤差較大,為1.01%,說明傾角對于指針式儀表精度影響較大。盡管透視變換能夠減小傾角對讀數(shù)精度的影響,但是仍然存在一定誤差。總體而言,本文的指針式儀表識別方法在不同復(fù)雜條件下引用誤差較低,讀數(shù)準確性和穩(wěn)定性較高,讀取速度較快,為戶外巡檢機器人準確識別儀表讀數(shù)提供了有效手段。
本文圍繞戶外巡檢機器人指針式儀表識別方法開展研究,采用YOLOv5和改進PSPNet算法對指針和刻度線區(qū)域精確分割,隨后根據(jù)透視變換、指針直線提取和角度法計算出儀表讀數(shù)。實驗結(jié)果表明:
(1)相較于其他方法,改進后PSPNet對于指針和刻度線邊緣的分割更加細致,在儀表表面受到光斑影響、圖像過曝光或過暗以及圖像模糊等條件下,具有良好的魯棒性;
(2)在4組不同戶外條件下儀表樣本讀數(shù)實驗中,本文提出的指針式儀表識別讀數(shù)方法讀數(shù)平均相對誤差為1.28%,平均引用誤差為0.68%,每張圖片平均處理時間為1.28 s。讀數(shù)準確性、穩(wěn)定性較好,處理速度較快。本文算法對于戶外環(huán)境下指針式儀表識別讀數(shù)達到了較為理想的結(jié)果,接下來將繼續(xù)針對下雨、霧霾天氣下所引起的模糊儀表圖像的復(fù)原等問題展開研究。