方敏,劉國禮,區(qū)國洪,馬金超
廣東立勝電力技術(shù)有限公司,廣東佛山,528000
隨著我國經(jīng)濟建設(shè)的不斷發(fā)展,社會對供電量的需求也不斷攀升[1]。但在供電過程中,難免會發(fā)生供電故障問題,因此如何在保證日常生產(chǎn)前提下進行日常維護檢修成為技術(shù)關(guān)鍵,帶電作業(yè)也應運而生[2-3]。而在專業(yè)人員執(zhí)行帶電作業(yè)時,因執(zhí)行作業(yè)的環(huán)境惡劣會導致絕緣工具的局部磨損,從而導致絕緣漆脫落,存在安全隱患。目前,電工絕緣工器具的絕緣檢測多采用人工目檢,但是人工檢測會面臨工作人員檢測效率低、勞動強度大以及成本高等問題[4-6]。針對上述問題,本文提出一種基于機器視覺的缺陷檢測算法,實現(xiàn)對絕緣工器具缺陷檢測,有效地提高缺陷檢測的效率和精度。
工業(yè)相機采集絕緣工器具圖像時,會帶入隨機噪聲。這些隨機噪聲不僅會影響絕緣工器具圖像采集質(zhì)量,甚至還會使得缺陷特征不明顯,最終導致缺陷檢測率不高[7-8]。因此,有效地處理因采集帶入的隨機噪聲是提高圖像處理方法性能的重要一步[9]。
在經(jīng)典的圖像預處理方法中,濾波平滑法是最為常用且處理較好的一種。濾波平滑處理往往被用于降低噪聲對圖像識別的性能影響,提高缺陷檢測精度。常見的濾波平滑技術(shù)有三種:①均值濾波;②中值濾波;③高斯濾波。其中,均值濾波的原理是將中心像素的領(lǐng)域內(nèi)每個像素值包括其中心像素求平均后的值替換該中心像素值,其數(shù)學表達式如下:
中值濾波的原理是將中心像素的領(lǐng)域內(nèi)每個像素值包括其中心像素進行順序排列后的中間像素值替換該中心像素值,這種處理結(jié)果對處理椒鹽噪聲非常有效,其計算公式如下:
高斯濾波的原理是每一個像素點的值都由其本身和鄰域內(nèi)的其他像素值經(jīng)過加權(quán)平均后得到,計算公式如下:
由于絕緣工器具上有許多污漬以及專業(yè)人員長期工作使用所形成的褶皺,導致工業(yè)相機在拍攝圖像時絕緣工器具圖像會形成局部部分的亮度不一致。所以,傳統(tǒng)的Otsu全局閾值算法很難將背景區(qū)域和目標區(qū)域有效地分割出來[10-11]。因此本文引入局部自適應閾值的方法,該方法的核心原理不是計算全局圖像的閾值,而是根據(jù)絕緣工器具圖像的不同區(qū)域亮度分布,通過計算每個像素點的相鄰區(qū)域的高斯加權(quán)和,然后,所得的局部閾值與原先的像素點的值進行比較,如果原先的像素值大于所得的局部閾值,則將該點的像素值設(shè)置為0;否則,將該點的像素值設(shè)置為255,具體如式(4):
絕緣工器具圖像經(jīng)過局部自適應閾值分割后的二值化圖像中含有少數(shù)孤立的亮噪點,這些噪點屬于偽缺陷,會對缺陷檢測的準確性造成一定的影響。因此本文采用連通區(qū)域分析方法來去除偽缺陷部分,提高缺陷檢測的準確性和效率。連通區(qū)域一般是指圖像中具有相同像素值且位置相鄰的前景像素點組成的圖像區(qū)域,而連通區(qū)域分析是指將圖像中的各個連通區(qū)域找出并標記,然后進行相應的處理。常用的連通區(qū)域分析方法主要分為:①Two-Pass算法;②區(qū)域生長算法。而區(qū)域生長算法的性能嚴重依賴于其初始種子的選取和生長的準則,因此,本文采用Two-Pass算法進行連通區(qū)域分析。
Two-Pass算法的核心思路為:①在二值化圖像中第一次掃描時,賦予每個白色像素位置一個label,掃描過程中同一個連通區(qū)域內(nèi)的像素集合中可能會被賦予一個或多個不同的label,但是較小的label值賦給該像素的label值;②第二遍掃描就是要將屬于同一個連通區(qū)域但具有不同值的label進行合并,并執(zhí)行更新,具有相等關(guān)系所標記的像素歸為一個連通區(qū)域,并賦予一個相同的label。其算法的執(zhí)行過程如圖1所示。
圖1 Two-Pass 標注連通區(qū)域
由于破損后的絕緣工器具突出底層的紋理特征,導致局部自適應閾值分割后的缺陷部分會出現(xiàn)空洞情況,同時連通區(qū)域分析后會對絕緣工器具圖像中的缺陷特征有削弱作用。為了彌補因連通區(qū)域分析帶來的缺陷特征削弱問題,本文采用形態(tài)學處理中的閉運算方式對連通區(qū)域后的絕緣工器具圖像進行處理,以增強絕緣工器具圖像中的缺陷特征。形態(tài)學處理是圖像處理中應用較廣的基本技術(shù),用于提取表征區(qū)域形狀的圖像分量。二值圖像的形態(tài)學運算主要包括腐蝕、膨脹和開和閉運算,腐蝕和膨脹計算公式分別如式(5)(6)所示:
式中,R為目標對象,S為形態(tài)學結(jié)構(gòu)。式(5)表示用結(jié)構(gòu)S去膨脹R,使目標檢測范圍變大;式(6)表示用結(jié)構(gòu)S去腐蝕R,使目標檢測范圍變小。閉運算方式是對圖像先進行膨脹運算后再進行腐蝕運算。閉運算方式與單獨的膨脹操作不同的是,閉運算在填空隙的同時,不會使得圖像邊緣輪廓加粗[12]。
為了能夠?qū)崿F(xiàn)快速檢測絕緣工器具的缺陷,本文提出一種基于機器視覺的絕緣工器具缺陷檢測算法。將工業(yè)相機采集到的圖像傳輸?shù)絇C機中,然后對圖像進行灰度處理、高斯濾波去噪,再對圖像進行局部自適應閾值分割,提取其連通區(qū)域并計算面積大小。如果連通區(qū)域面積小于200,就判斷為偽缺陷部分并刪去該連通區(qū)域。反之,就判斷為缺陷部分并保留該連通區(qū)域。最后,對仍有連通區(qū)域的圖像進行閉運算處理,并標記其為缺陷部分。算法流程如圖2所示。
本文選取幾幅典型的絕緣工器具破損的圖像和正常的絕緣工器具圖像分析本算法的準確性和魯棒性。同時為了得出本算法的檢出率和誤檢率以及算法的運行時間,本文選取在相同條件下用工業(yè)相機拍攝的500張圖像作為訓練圖,其中290張為正常的絕緣工器具(絕緣上衣)圖像,210張為破損的絕緣工器具(絕緣上衣)圖像。利用式(7)(8)計算檢出率和誤檢率。結(jié)果如表1所示。
表1 本文算法的檢出率和誤檢率以及運算時間
選取的不同領(lǐng)域模塊大小的局部自適應閾值分割對缺陷檢測有一定的影響,當領(lǐng)域模塊很小時,由于其自適應的程度較高,容易出現(xiàn)領(lǐng)域模塊里面的像素值都相差不大,導致計算出來的閾值與原始的像素值比較接近,因此無法進行二值化,而出現(xiàn)邊緣提取的效果差。當領(lǐng)域模塊為較大的值時,其自適應的程度較低,計算出來的閾值比較精確,有利于進行二值化,但二值化后會出現(xiàn)許多白色噪點。因此,通過選取合適的領(lǐng)域模塊大小的局部自適應閾值分割能夠提高缺陷檢測的效率和準確度。
本文提出了一種基于機器視覺的絕緣工器具缺陷檢測算法,針對絕緣工器具破損的特點和分布情況,采用局部自適應閾值分割和連通區(qū)域分析,有效提高了檢測準確性和運算速度。實驗結(jié)果表明,該算法有良好的檢測效果。