黃景德,姜晨波,肖啟巡
(珠??萍紝W(xué)院 機(jī)械工程學(xué)院,廣東 珠海 519041)
基于機(jī)器視覺(jué)技術(shù)的表面缺陷檢測(cè)技術(shù)的出現(xiàn),大大提高了生產(chǎn)作業(yè)的效率,避免了因作業(yè)條件、主觀判斷等影響檢測(cè)結(jié)果的準(zhǔn)確性,實(shí)現(xiàn)了更好更精確地進(jìn)行表面缺陷檢測(cè),更加快速地識(shí)別產(chǎn)品表面瑕疵缺陷[1-2].工程實(shí)踐中,非平穩(wěn)信號(hào)的急劇變化之處,也常常是分析信號(hào)的最關(guān)鍵之處.多層玻璃結(jié)構(gòu)在運(yùn)行過(guò)程中,由于架構(gòu)磨損、老化及受到外部振動(dòng)、沖擊、化學(xué)腐蝕等因素的作用,必然會(huì)使其狀態(tài)發(fā)生漸變,進(jìn)而導(dǎo)致裂紋、空蝕、斑點(diǎn)、缺膠等缺陷[3-4].從故障演變規(guī)律看,在微缺陷形成乃至發(fā)展成永久性故障之前,因其未達(dá)到穩(wěn)定故障狀態(tài),失效行為和工作模態(tài)難以識(shí)別和檢測(cè),但是缺陷出現(xiàn)和消失的時(shí)候,必然會(huì)引起單元結(jié)構(gòu)的微觀變形乃至細(xì)觀損傷,這種改變使得單元結(jié)構(gòu)的視覺(jué)圖像信息產(chǎn)生變構(gòu),此種視覺(jué)信息變構(gòu)可直接反映在視覺(jué)圖像特征中[5].因此,深入研究視覺(jué)圖像信息蘊(yùn)含的缺陷邊緣結(jié)構(gòu)信號(hào)及其補(bǔ)償方法,分析視覺(jué)圖像變構(gòu)時(shí)的缺陷特征,對(duì)提高缺陷模式識(shí)別靈敏度,滿足缺陷檢測(cè)與預(yù)警的需要,具有重要意義[6-8].本文系統(tǒng)研究了基于機(jī)器視覺(jué)的多層玻璃結(jié)構(gòu)缺陷的特征識(shí)別機(jī)制,在工業(yè)制造、安全生產(chǎn)、裝備保障等推廣方面具有廣闊的應(yīng)用前景和重要的應(yīng)用價(jià)值.
在對(duì)視覺(jué)圖像的缺陷邊緣進(jìn)行分析時(shí),考慮到canny算子在含復(fù)雜噪聲的情境下具有獨(dú)特的優(yōu)異性,且對(duì)于弱邊緣表現(xiàn)敏感,因此,在邊緣檢測(cè)時(shí)采用了此算法以提高準(zhǔn)確率.其核心處理主要是通過(guò)組合濾波模型平滑圖像;基于非極大值抑制確定邊緣點(diǎn);采用雙閾值檢測(cè)法形成強(qiáng)邊緣區(qū)間.
1.1.1 高斯濾波
由于環(huán)境因素和硬件固有缺陷,采集的圖像難免產(chǎn)生噪聲干擾,在對(duì)圖像進(jìn)行處理之前,通常需要使用濾波機(jī)制來(lái)提高原始圖像成像質(zhì)量,以提高缺陷強(qiáng)特征相關(guān)性[9-10].在玻璃圖像采集過(guò)程中所產(chǎn)生的噪聲主要為滿足高斯分布函數(shù)的白噪聲,而高斯濾波對(duì)這類噪聲有較強(qiáng)的處理效果[11].它的主要思想是把每個(gè)像素點(diǎn)的灰度值用其本身和周圍像素點(diǎn)的灰度值加權(quán)平均代替,見(jiàn)式(1).
(1)
式中:G(x,y)是圖像權(quán)重矩陣;σ是其在x軸和y軸的分量.但高斯濾波在處理時(shí)對(duì)每一個(gè)像素點(diǎn)都采用了固定掩膜的平滑,并沒(méi)有結(jié)合實(shí)際的紋理特征分布相似度權(quán)重,因此造成了強(qiáng)相關(guān)特征的模糊,因此,需要在高斯濾波的基礎(chǔ)上,進(jìn)一步采用高通濾波強(qiáng)化邊緣特征.
1.1.2 高通濾波
在圖像處理過(guò)程中,由于圖像的邊緣對(duì)應(yīng)于高頻分量,在對(duì)圖像邊緣的銳化處理時(shí),采用了頻域高通濾波器.以理想高通濾波器為例,若圖像的寬度為M,高度為N,那么理想高通濾波可描述為
(2)
式中:D0表示理想高通濾波器的截止頻率,濾波器的頻率域原點(diǎn)在頻譜圖像的中心處,在以截止頻率為半徑的圓形區(qū)域之內(nèi)的濾鏡元素值全為0,而該圓之外的濾鏡元素值全部為1.
邊緣是劃分目標(biāo)和背景的重要圖像元素,也是圖像分割的關(guān)鍵因素之一.完成平滑濾波后,工程實(shí)踐中某些像素可能存在灰度堆疊,因此必須將其邊緣細(xì)化.處理方法是基于非極大值抑制原理,將每一個(gè)點(diǎn)與其所在橫、縱和兩條對(duì)角線上的兩個(gè)點(diǎn)作比較,若此點(diǎn)為最大值則保留,其它情況則將該點(diǎn)置0.處理過(guò)程示意圖如圖1 所示.
圖1 非極大值抑制過(guò)程示意圖
圖1 中:c是在判斷的像素;g1,g2,g3,g4是c的4個(gè)角領(lǐng)域像素,當(dāng)c是最大梯度值時(shí),它的幅值M應(yīng)大于g1g2和g2g3到ab直線的距離,即排除局部最大值dTmp1和dTmp2.令g1的幅值為M(g1),那么dTmp1可以表示為
M(dTmp1)=w·M(g2)+(1-w)·M(g1),
(3)
式中:w是比例系數(shù),且
(4)
式中:dis為兩點(diǎn)間的距離.
同理,可得dTmp2,如果c的幅值同時(shí)大于dTmp1與dTmp2,則為邊緣點(diǎn).
確立邊緣后,需進(jìn)一步濾除弱邊緣保留強(qiáng)邊緣.首先,設(shè)立高閾值maxVal和低閾值minVal,將梯度小于minVal的點(diǎn)置0,梯度大于maxVal的點(diǎn)置1或255;其次,將位于高、低閾值之間的點(diǎn)使用連通區(qū)域確定,如圖2 所示.
圖2 雙閾值連接示意圖
圖2 中,大于maxVal的值為邊緣,小于minVal則為非邊緣.對(duì)于介于之間的像素,如與邊緣像素鄰接則為邊緣,反之為非邊緣.
為適合邊緣特征提取,通過(guò)支持向量機(jī)(SVM)將特征空間轉(zhuǎn)化到一個(gè)更高維的空間中,使得特征線性可分.特征向量可以用線性分類器被分類.如圖3 所示,2D特征空間中的兩類用黑白方塊分別來(lái)表示,但是沒(méi)有一條線可以將兩個(gè)類分開(kāi).當(dāng)通過(guò)變形 Feature1 和 Feature2 建立的平面添加第3個(gè)維度,類則可以通過(guò)平面變得線性可分.
圖3 2D 特征空間中的類分割示意圖
對(duì)于支持向量機(jī)(SVM),構(gòu)件兩類的可分超平面,其實(shí)質(zhì)是讓兩類的間隔距離要盡可能地大.間隔即是可分超平面和任何訓(xùn)練樣本之間的最近距離,若通過(guò)測(cè)試幾種可能的可分超平面,選擇擁有最大間隔的表面,那么來(lái)自兩個(gè)類中且距離超平面最近距離的訓(xùn)練樣本即是支持向量,如圖4 所示.
圖4 支持向量
從圖像處理的本質(zhì)看,SVM 雖然僅可處理兩類問(wèn)題,但可以將其拓展為多類問(wèn)題.一是通過(guò)建立成對(duì)的類,然后對(duì)于每一對(duì)創(chuàng)立二元的分類器,贏得大多數(shù)比較的類則是最適合的類別;二是通過(guò)比較每一個(gè)類與其他的訓(xùn)練數(shù)據(jù),選擇具有到超平面最大距離的類別.
基于SVM的分類器分割算法采取Halcon框架實(shí)現(xiàn),實(shí)現(xiàn)過(guò)程如下:
Step1:創(chuàng)建SVM 分類器模型create_class_svm()
Step2:添加訓(xùn)練樣本到 SVM 分類器add_samples_image_class_svm()
Step3:訓(xùn)練 SVM 分類器train_class_svm()
Step4:對(duì)圖像進(jìn)行 SVM 分割classify_image_class_svm()
·create_class_svm(::NumFeatures, KernelType, KernelParam, Nu, NumClasses, Mode, Preprocessing, NumCompoents:SVMHandle)
//功能:創(chuàng)建一個(gè)用于模式分類的支持向量機(jī).
//參數(shù):輸入
——SVM 輸入特征的數(shù)量NumFeatures
——核函數(shù)的類型 KernelType
——核函數(shù)的參數(shù) KernelParam
——SVM 的正則化常量Nu
——類的數(shù)量 NumClasses
——SVM 的模式 Mode
——用于轉(zhuǎn)換特征向量的處理類型 Preprocessing
——轉(zhuǎn)化特征的數(shù)量 NumCompoents
//參數(shù):輸出
——SVM 模型的句柄 SVMHandle
·add_samples_image_class_svm(Image,
ClassRegions::SVMHandle:)
//功能:將來(lái)自圖像Image的訓(xùn)練樣本添加到通過(guò) SVMHandle 給定的支持向量機(jī)中.
//參數(shù):輸入
——訓(xùn)練圖像 Image
——被訓(xùn)練類別的區(qū)域 ClassRegions
——SVM 模型的句柄 SVMHandle
·train_class_svm(::SVMHandle, Epsilon,
TrainMode:)
//功能:訓(xùn)練 SVMHandle 指定的支持向量機(jī)(SVM).
//參數(shù):輸入
——SVM 模型的句柄 SVMHandle
——訓(xùn)練的停止參數(shù) Epsilon
——訓(xùn)練的模式 TrainMode
·classify_image_class_svm(Image:ClassRegions
:SVMHandle:)
//功能:在多通道圖像 Image 上,用支持向量機(jī)(SVM)SVMHandle 去執(zhí)行一個(gè)像素分類.
//參數(shù):輸入
——輸入圖像 Image
——SVM 模型的句柄SVMHandle
//參數(shù):輸出
——被分割的類別 ClassRegions
根據(jù)SVM分類器的設(shè)計(jì)要求,分類器分割算法參數(shù)如表1 所示.
表1 分類器分割算法參數(shù)表
圖像分割過(guò)程如圖5 所示.
圖5 圖像分割過(guò)程
2.3.1 圖像操作模塊
在算法執(zhí)行之前,首先讀入圖像,此操作的目的是將算法要處理的圖像加載進(jìn)來(lái),并顯示在圖像顯示框中,加載圖像統(tǒng)一存放在安裝目錄的指定位置.圖像導(dǎo)出功能主要是方便用戶將當(dāng)前算法執(zhí)行的效果圖保存下來(lái).
2.3.2 算法執(zhí)行模塊
算法執(zhí)行之前,首先對(duì)算法相關(guān)參數(shù)進(jìn)行設(shè)置.算法的整體執(zhí)行主要是為了用戶快速了解算法的執(zhí)行效果,獲取該算法的執(zhí)行結(jié)果,并可在圖像顯示框看到結(jié)果圖和整個(gè)算法執(zhí)行的時(shí)間.算法的單步執(zhí)行是為了讓用戶更好地了解整個(gè)算法執(zhí)行的原理,通過(guò)將整個(gè)算法順序的分階段執(zhí)行,并將階段執(zhí)行結(jié)果顯示在圖像顯示框中,用戶可以很清晰地了解到整個(gè)算法的實(shí)現(xiàn)過(guò)程.
多層玻璃結(jié)構(gòu)缺陷特征識(shí)別系統(tǒng)由圖像處理系統(tǒng)、光學(xué)系統(tǒng)、機(jī)械控制機(jī)構(gòu)、數(shù)據(jù)采集電路、信號(hào)穩(wěn)定器、MIS接口電路、測(cè)試電纜等模塊組成,如圖6 所示.
根據(jù)圖6 所示結(jié)構(gòu),視覺(jué)圖像處理信號(hào)通過(guò)測(cè)試電纜分別與光學(xué)系統(tǒng)的通訊接口、機(jī)械控制機(jī)構(gòu)的通訊接口及上位機(jī)相連.圖像處理系統(tǒng)針對(duì)含缺陷圖像完成平滑濾波、功率放大、波形分析和缺陷特征分類與識(shí)別.機(jī)械控制系統(tǒng)通過(guò)驅(qū)動(dòng)視覺(jué)傳感器完成圖像采集,經(jīng)由圖像處理系統(tǒng)將視覺(jué)圖像信號(hào)轉(zhuǎn)變成數(shù)字信號(hào),通過(guò)信號(hào)穩(wěn)定器對(duì)圖像處理信號(hào)進(jìn)行降維降噪,并將圖像處理結(jié)果送由監(jiān)視器顯示和上位機(jī)的MIS系統(tǒng)存儲(chǔ).視覺(jué)圖像信號(hào)采集過(guò)程如下:
圖6 視覺(jué)圖像采集系統(tǒng)結(jié)構(gòu)圖
1)對(duì)視覺(jué)傳感器的測(cè)量范圍MR、視場(chǎng)MOV、凈距離CD、X及Z方向的分辨率進(jìn)行優(yōu)化配置.
2)合理確定工業(yè)數(shù)字鏡頭的數(shù)據(jù)接口、分辨率、像元尺寸等技術(shù)性參數(shù),解析工業(yè)數(shù)字鏡頭對(duì)應(yīng)變圖像的敏感性,跟蹤灰度圖像特征的數(shù)據(jù)跳變信息,對(duì)其進(jìn)行差分抑制.
3)對(duì)視覺(jué)圖像平滑降噪,然后進(jìn)行形態(tài)學(xué)分析,應(yīng)變圖像灰度維數(shù)分形多引入步長(zhǎng)競(jìng)爭(zhēng)策略,在內(nèi)部競(jìng)爭(zhēng)中鼓勵(lì)弱者,抑制強(qiáng)者,實(shí)現(xiàn)對(duì)應(yīng)變圖像邊緣信號(hào)的補(bǔ)償,建立敏感特征向量與應(yīng)變圖像變構(gòu)的映射關(guān)系.
4)根據(jù)過(guò)負(fù)載及循環(huán)應(yīng)力作用下視覺(jué)圖像變構(gòu)信息與特征數(shù)據(jù)跳變的關(guān)系,基于視覺(jué)圖像灰度譜模型,提取不同負(fù)載環(huán)境下的狀態(tài)擾動(dòng)特征參量,如基頻、峰值等,模擬反映隱性故障特征的灰度幅值波動(dòng)區(qū)間和收斂特性.
3.2.1 鏡頭、相機(jī)
機(jī)器視覺(jué)領(lǐng)域的鏡頭功能主要是實(shí)現(xiàn)光束變換(調(diào)制),在機(jī)器視覺(jué)系統(tǒng)中,鏡頭的重要作用是將目標(biāo)成像在圖像傳感器的光敏面上.鏡頭的質(zhì)量直接影響到機(jī)器視覺(jué)系統(tǒng)的整體性能,合理選擇鏡頭和安裝鏡頭,是機(jī)器視覺(jué)系統(tǒng)設(shè)計(jì)的重要環(huán)節(jié).
考慮到視覺(jué)檢測(cè)所需的寬視野和高精度要求,對(duì)比線陣、面陣相機(jī)的成本,因線陣相機(jī)能滿足較大視野的同時(shí)可以提供較高的精度,且不排除連續(xù)運(yùn)動(dòng)物體的檢測(cè)場(chǎng)景,所以,選用線陣相機(jī)作為圖像采集單元.考慮到相機(jī)邊緣的畸變以及系統(tǒng)穩(wěn)定性要求,該系統(tǒng)至少需要2 500個(gè)像素,且在通常情況下在計(jì)量精度時(shí)會(huì)采用3倍或更高的像素.另外,對(duì)于運(yùn)動(dòng)物體而言,行頻也是一個(gè)不可忽視的參數(shù),為了降低物體運(yùn)動(dòng)帶來(lái)的影響,線陣相機(jī)的行頻應(yīng)滿足
(5)
式中:v是物體運(yùn)動(dòng)的速度;δ是相機(jī)縱向分辨率.
3.2.2 照明光源
照明光源在機(jī)器視覺(jué)中有著極為重要的地位.合理的光源系統(tǒng)能夠最大程度地增強(qiáng)感興趣特征的對(duì)比度,抑制和減少目標(biāo)上其它部分的影響,抑制外部環(huán)境的影響.光源照明直接影響處理精度和速度,甚至系統(tǒng)的成敗.
能夠?qū)崿F(xiàn)照明的光源有許多種類型,但在機(jī)器視覺(jué)中,應(yīng)用最多的是鹵素?zé)?、熒光燈?LED 燈.其中LED的光線顏色主要由其發(fā)光材料決定,使用壽命較長(zhǎng)、功耗小,直流供電等等都是其運(yùn)用在工業(yè)照明領(lǐng)域的優(yōu)勢(shì);鹵素?zé)舫杀靖?,供電?fù)雜;白熾燈相對(duì)較亮,不過(guò)能源轉(zhuǎn)換率低,且隨著使用時(shí)間的變長(zhǎng),損耗會(huì)比較大;熒光燈雖然價(jià)格便宜,照明面積較大,但其是交流供電的方式,隨著供電頻率的變化,相應(yīng)的會(huì)表現(xiàn)出光閃現(xiàn)象,導(dǎo)致圖像明暗程度的變化.綜上所述,LED光源可以很好地適配視覺(jué)檢測(cè)的需要,因此,優(yōu)先選擇發(fā)光二極管作為照明光源.
基于缺陷特征識(shí)別系統(tǒng)對(duì)某PCB圖面保護(hù)罩實(shí)施缺陷檢測(cè),保護(hù)罩厚度2 mm,實(shí)驗(yàn)?zāi)康氖亲R(shí)別保護(hù)罩玻筋、氣泡、污點(diǎn)、劃痕等分類缺陷,有效獲取到原始圖、缺陷分割區(qū)域圖及其灰度值分布,如圖7、圖8 所示.
圖7 保護(hù)罩原始圖像
圖8 保護(hù)罩缺陷分割區(qū)域圖
為驗(yàn)證檢測(cè)效果的準(zhǔn)確性,對(duì)圖8中的保護(hù)罩缺陷分割區(qū)域進(jìn)行了單元結(jié)構(gòu)特征分析,處理結(jié)果如圖9 所示.
圖9 單元結(jié)構(gòu)圖像缺陷特征處理結(jié)果
缺陷特征判定時(shí),根據(jù)工程中的多層玻璃結(jié)構(gòu)缺陷識(shí)別原則,以強(qiáng)特征參數(shù)短長(zhǎng)徑比分類玻筋和劃痕,通過(guò)強(qiáng)邊緣區(qū)間界定法分類污點(diǎn)與氣泡.缺陷特征識(shí)別結(jié)果見(jiàn)表2,與保護(hù)罩實(shí)際缺陷狀態(tài)吻合.
表2 缺陷特征識(shí)別結(jié)果
圖9 與表2 的識(shí)別結(jié)果表明,氣泡與污點(diǎn)圖像的特征相似,灰度閾值相近,但是氣泡的外觀特征趨于透明,污點(diǎn)的外觀特征多呈現(xiàn)灰(黑)狀態(tài),因此采取灰度閾值128進(jìn)行強(qiáng)邊緣區(qū)間逼近,即可精準(zhǔn)識(shí)別氣泡與污點(diǎn)的缺陷類型.
多層玻璃結(jié)構(gòu)微缺陷萌生或擴(kuò)展時(shí),圖像瞬態(tài)特性必然反映了單元結(jié)構(gòu)的質(zhì)變狀態(tài).基于機(jī)器視覺(jué)技術(shù)研究了多層玻璃結(jié)構(gòu)缺陷特征識(shí)別機(jī)制,通過(guò)組合平滑濾波模型進(jìn)行了圖像預(yù)處理,并加強(qiáng)了缺陷邊緣的強(qiáng)特征區(qū)間,解決了氣泡缺陷的雙輪廓問(wèn)題,設(shè)計(jì)了單元結(jié)構(gòu)的缺陷特征識(shí)別系統(tǒng).實(shí)驗(yàn)表明,該系統(tǒng)識(shí)別速度快、效率高,整體表現(xiàn)優(yōu)異,同時(shí)很好地去除了干擾信號(hào),避免了缺陷誤判的問(wèn)題.為避免工程中實(shí)際存在的誤測(cè)幾率,下一步將建立更加有效的缺陷強(qiáng)特征參數(shù),避免因參數(shù)重合而導(dǎo)致的誤測(cè)問(wèn)題,以提高系統(tǒng)的實(shí)用性.