趙子潤 高保祿 郭云云 田力
(太原理工大學(xué)軟件學(xué)院 山西省太原市 030024)
圖像邊緣中包含大量圖像基本特征信息,為圖像分析及識(shí)別提供數(shù)據(jù)基礎(chǔ)?,F(xiàn)階段圖像邊緣檢測(cè)技術(shù)在工業(yè)生產(chǎn)領(lǐng)域得到廣泛應(yīng)用,隨著工業(yè)生產(chǎn)對(duì)精度要求的增加,以往基于Canny 算法、Sobel 算法的圖像邊緣檢測(cè)技術(shù),在特征信息提取準(zhǔn)確性及抗外部干擾能力等方面受到更大挑戰(zhàn)。因此有必要在延續(xù)以往邊緣檢測(cè)技術(shù)優(yōu)勢(shì)的同時(shí),對(duì)其進(jìn)行優(yōu)化升級(jí),更好滿足工業(yè)生產(chǎn)活動(dòng)對(duì)圖像檢測(cè)的需求。
判斷圖像邊緣檢測(cè)技術(shù)檢測(cè)效果的標(biāo)準(zhǔn)包括邊緣檢測(cè)錯(cuò)誤率、邊緣檢測(cè)定位與實(shí)際邊緣中心的重合度以及邊緣檢測(cè)受噪聲的影響程度?;贑anny 算法的圖像邊緣檢測(cè)在從目標(biāo)圖像中提取對(duì)相關(guān)實(shí)驗(yàn)或分析有用的特征信息,可最大限度縮減目標(biāo)數(shù)據(jù)體量,相較于其他算法,該檢測(cè)技術(shù)在信噪比及檢測(cè)精度方面均存在顯著優(yōu)勢(shì),因此在實(shí)際圖像檢測(cè)中的應(yīng)用非常廣泛。Canny 算法在進(jìn)行圖像邊緣檢測(cè)時(shí),依次經(jīng)歷以下五個(gè)步驟:
(1)利用Gauss 濾波器,對(duì)目標(biāo)圖像做平滑化處理,降低因噪聲影響而引發(fā)的檢測(cè)誤差,有公式:。
(2)確定目標(biāo)圖像像素點(diǎn)的方向及梯度強(qiáng)度,Canny 算法檢測(cè)中圖像邊緣方向并不確定,設(shè)x、y 軸上信息分別為Gx和Gy,則圖像邊緣像素點(diǎn)的方向及梯度強(qiáng)度可表示為。
(3)通過非極大值抑制,去除圖像邊緣檢測(cè)中的雜散響應(yīng),其中,非極大值抑制為一種邊緣稀疏方式,一般作用于圖像的瘦邊緣,即當(dāng)圖像邊緣僅存在單個(gè)響應(yīng)時(shí),利用該稀疏方式可將除最大值以外的梯度值處理為0[1]。
(4)使用雙閾值法,區(qū)分圖像真實(shí)及虛假邊緣。
(5)抑制圖像單獨(dú)存在的弱邊緣,完成對(duì)圖像邊緣特征信息的檢測(cè)。
弱邊緣與強(qiáng)邊緣為相對(duì)概念,強(qiáng)邊緣來自于真實(shí)的圖像邊緣信息,其可被視為真正的圖像邊緣。而弱邊緣中的像素可能來自真實(shí)邊緣,也可能來自造成及顏色的影響。因此需要盡可能抑制弱邊緣,提高圖像邊緣檢測(cè)精度。
分析傳統(tǒng)Canny 算法的圖像邊緣檢測(cè)流程能夠發(fā)現(xiàn),圖像平滑降噪處理成為影響圖像邊緣檢測(cè)精度的重要因素。傳統(tǒng)Canny 算法利用高斯濾波器完成平滑降噪處理,因此濾波效果又受到高斯濾波器方差的影響。例如當(dāng)目標(biāo)圖像范圍內(nèi)存在強(qiáng)噪聲時(shí),方差較高,易引發(fā)圖像細(xì)節(jié)信息丟失問題。由于傳統(tǒng)Canny 算法中高斯濾波器的方差固定,因此無法依照噪聲情況做適當(dāng)調(diào)整,影響降噪效果的發(fā)揮。另外,傳統(tǒng)Canny 算法圖像像素點(diǎn)的方向及梯度強(qiáng)度計(jì)算在2×2 鄰域內(nèi)開展,因該范圍非常小,也會(huì)引發(fā)計(jì)算精度降低的問題,再加上該算法需要借助雙閾值確定圖像真實(shí)邊緣,而該閾值為人工設(shè)定,在統(tǒng)一性和標(biāo)準(zhǔn)性上很難被保證,導(dǎo)致各目標(biāo)圖像邊緣強(qiáng)度不均,圖像邊緣檢測(cè)自適應(yīng)性不強(qiáng)。
針對(duì)以上不足,本文結(jié)合前人研究文獻(xiàn),重點(diǎn)對(duì)傳統(tǒng)Canny 算法圖像邊緣檢測(cè)技術(shù)的濾波處理及雙閾值處理步驟進(jìn)行優(yōu)化設(shè)計(jì)。
2.1.1 引入雙邊濾波降噪技術(shù)
傳統(tǒng)Canny 算法在對(duì)圖像進(jìn)行濾波降噪處理時(shí),易因噪聲干擾出現(xiàn)弱邊緣,因此決定在原有算法的基礎(chǔ)上,引入局部自適應(yīng)閾值化方法,進(jìn)行濾波降噪改進(jìn)。
(1)獲取目標(biāo)圖像的梯度矩陣以及梯度均值和方差,若方差大于H,則繼續(xù)下一步,若方差小于H,則在高斯濾波的基礎(chǔ)上進(jìn)行后續(xù)處理。其中,梯度均值的計(jì)算公式為:;梯度方差的計(jì)算公式為:。
(2)將目標(biāo)圖像梯度矩陣Gra(i,j)平均分為四部分,逆時(shí)針計(jì)算各部分的梯度均值及方差,若滿足方差小于H 的要求,則可進(jìn)行下一步處理;若方差大于H,繼續(xù)對(duì)子塊進(jìn)行分解,重復(fù)以上步驟。
(3)得到圖像的局部閾值,對(duì)于全部滿足方差小于H 的梯度子塊,利用Otsu 獲取其最佳分割閾值,以得到與子梯度矩陣尺寸相同的閾值矩陣。檢查是否有子矩陣未經(jīng)過前一步的分解處理,若有,則重新執(zhí)行第二步。最終,由雙邊濾波器輸出的像素可表示為:式中w(i,j,u,v)、f(u,v)分別表示權(quán)重系數(shù)和對(duì)應(yīng)像素,而權(quán)重系數(shù)與定義域核及值域核有關(guān)。以上各項(xiàng)參數(shù)的具體值共同決定了雙邊濾波的濾波降噪效果。
2.1.2 引入自適應(yīng)閾值處理技術(shù)
結(jié)合前人文獻(xiàn)分析成果,采用最大熵自適應(yīng)閾值進(jìn)行圖像邊緣檢測(cè),可得到更優(yōu)的檢測(cè)成果。例如,設(shè)目標(biāo)圖像由m×n 個(gè)像素點(diǎn)構(gòu)成,并以灰度級(jí){0,1,…,m,…,L-1}表示,設(shè)ni為灰度級(jí)i 的像素個(gè)數(shù),pi為灰度級(jí)i 的概率。任選閾值k,以此為基礎(chǔ)將目標(biāo)圖像分割處理為A1和A2,分別由灰度值在[0,k]和[m+1,L-1]內(nèi)的像素點(diǎn)構(gòu)成,因此像素被分配至A1的概率為相應(yīng)的像素被分配至A2的概率P2(m)=1-P1(m)[2]??傻玫紸1 與A2 的熵為,最大熵為每個(gè)m均對(duì)應(yīng)一個(gè)最大值,最大值則為目標(biāo)圖像的分割閾值,此時(shí)的信息增益最低。因此在圖像邊緣檢測(cè)中,可實(shí)現(xiàn)以高閾值為最大值,以通過二次分類的m 為低閾值,得到目標(biāo)圖像的自適應(yīng)閾值。
為驗(yàn)證經(jīng)優(yōu)化后的Canny 算法圖像邊緣檢測(cè)效果,設(shè)定Inter 3.0Ghz 四核CPU、8GB 內(nèi)存、Matlab2015b 的檢測(cè)環(huán)境,對(duì)面向信息細(xì)節(jié)化的圖像邊緣檢測(cè)技術(shù)做仿真分析,以找出該技術(shù)較傳統(tǒng)Canny 算法的優(yōu)勢(shì)。邊緣檢測(cè)效果的判斷指標(biāo)包括信噪比、定位精度及單邊緣響應(yīng)。在傳統(tǒng)Canny 算法圖像邊緣檢測(cè)中,信噪比、定位精度及單邊緣響應(yīng)分別為14.7023、0.0047、0.1265;在面向信息細(xì)節(jié)化的圖像邊緣檢測(cè)中,以上三項(xiàng)指標(biāo)分別為14.8189、0.0055和0.1393。其中,優(yōu)化后的信噪比要高于傳統(tǒng)Canny 算法,且信噪比越高,圖像邊緣檢測(cè)中圖像的失真度越低,因此說明優(yōu)化后的檢測(cè)技術(shù)可更準(zhǔn)確提取圖像邊緣信息。另外,優(yōu)化后的定位精度更高,說明優(yōu)化后的檢測(cè)技術(shù)在圖像定位精度及圖像邊緣連續(xù)性上更優(yōu)。而單邊緣響應(yīng)也更高,說明優(yōu)化后響應(yīng)效果降低,主要受噪音的影響??傮w看來,面向信息細(xì)節(jié)化的圖像邊緣檢測(cè)技術(shù)在圖像檢測(cè)精度上優(yōu)勢(shì)明顯。
以工業(yè)零件的分類識(shí)別為例,介紹面向信息細(xì)節(jié)化的圖像邊緣檢測(cè)技術(shù)的具體應(yīng)用。
設(shè)計(jì)基于優(yōu)化Canny 算法圖像邊緣識(shí)別技術(shù)的工件輪廓分類識(shí)別系統(tǒng)。該系統(tǒng)由圖像信息采集、信息通信、圖像處理等模塊構(gòu)成。其中,圖像信息采集模塊使用型號(hào)為VD040SM 的工業(yè)相機(jī),配合型號(hào)為M0824-MPW2 的低畸變鏡頭,獲取工件圖像特征信息。圖像處理模塊的核心為Labview,用以對(duì)目標(biāo)圖像的特征信息進(jìn)行識(shí)別處理。數(shù)據(jù)通信模塊則將提取到的目標(biāo)信息傳輸至生產(chǎn)流程中的機(jī)械手,精確完成工件分揀工作。
3.2.1 灰度化處理
圖像信息采集模塊獲取的工件圖像為真彩色形式,即常見的RGB 圖像,此類圖像中信息點(diǎn)構(gòu)成非常復(fù)雜,但其細(xì)節(jié)信息并不完全有效。因此在工件邊緣識(shí)別中,首先通過灰度化處理,清除圖像中的冗余信息,以提高圖像識(shí)別效率?;叶然饕宄齊GB 圖像中的色彩信息,其亮度級(jí)別在0 ~225 之間,對(duì)應(yīng)黑色到白色之間的不同灰度??紤]到工件邊緣識(shí)別的實(shí)際需求,決定以加權(quán)平均的方式確定圖像灰度比,有公式Y(jié)=0.299R+0.587G+0.114B。Labview 中含有顏色轉(zhuǎn)換功能,利用既定的灰度處理函數(shù)及算法,即可完成原始圖像的灰度化處理。
3.2.2 二值化處理
經(jīng)灰度化的圖像中各像素點(diǎn)的灰度范圍均在0 ~255 內(nèi),通過閾值選取即可得到二值化圖像。將像素點(diǎn)中灰度值大于等于閾值的像素劃分為同一類,其他像素則為另一類,量類像素分別取值。經(jīng)過以上處理,圖像中每個(gè)像素點(diǎn)均對(duì)應(yīng)兩個(gè)灰度值,即二值化處理。二值化處理的主要目的是,依照灰度級(jí)進(jìn)行圖像分割,使目標(biāo)圖像與背景間完全剝離,可最大限度減少數(shù)據(jù)處理量,同時(shí)又可確保工件輪廓信息的完整性,不改變其基本特征。
3.2.3 膨脹腐蝕處理
工件圖像邊緣檢測(cè)中會(huì)出現(xiàn)圖像邊緣斷裂的現(xiàn)象,并受到噪聲的干擾而影響檢測(cè)精度。通過圖像的膨脹和腐蝕處理,可重新連接圖像邊緣斷裂點(diǎn),同時(shí)幫助排除背景噪聲的影響。膨脹處理與腐蝕處理依次進(jìn)行,其原理對(duì)應(yīng)前文介紹的圖像平滑處理,可優(yōu)化圖像邊緣檢測(cè)效果。
3.2.4 濾波處理工件圖像采集過程中受噪聲的干擾程度較大,且噪聲帶有明顯的隨機(jī)性,常見噪聲包括椒鹽噪聲、脈沖高斯噪聲等,因此在傳統(tǒng)Canny 算法圖像邊緣檢測(cè)技術(shù)中,常使用椒鹽濾波器或高斯濾波器進(jìn)行濾波處理。在工件邊緣識(shí)別中選用粒子濾波的方式,該方式使用粒子集表示概率,其適用的空間模型較多,通過計(jì)算樣本均值,可減少積分計(jì)算的麻煩,以得到當(dāng)系統(tǒng)達(dá)到最狀態(tài)時(shí)的最小方差[3]。若粒子數(shù)量足夠多,可表示任意的概率分布密度。粒子濾波法可有效應(yīng)對(duì)噪聲隨機(jī)性的特點(diǎn),其不受高斯分布的限制,因此分布形式較高斯模型更多,可提高檢測(cè)精度。
3.2.5 邊緣特征提取
工件輪廓可看成全部邊緣的整合,將各類邊緣疊加后得到工件的實(shí)際輪廓。利用Canny 算法進(jìn)行目標(biāo)圖像處理,可將圖像邊緣檢測(cè)轉(zhuǎn)化為單位函數(shù)極大值的計(jì)算,在獲取調(diào)工件邊緣圖像后,從中提取其輪廓特征信息,與模型中的標(biāo)準(zhǔn)信息做對(duì)比,可判斷該工件是否符合當(dāng)前的分揀要求,進(jìn)而準(zhǔn)確完成工件的識(shí)別與分類。
工件輪廓特征主要有以下四項(xiàng):一是面積特征。梳理圖像全部像素點(diǎn)信息,位于輪廓內(nèi)的像素計(jì)1,可得到工件的輪廓面積。二是周長特征。計(jì)算輪廓上相鄰點(diǎn)間距離并疊加,可得到輪廓的周長。三是Hu 矩相似度特征。Hu 矩相似度特征需通過輪廓二階及三階歸一化中心矩的線性組合獲得,比較輪廓Hu 不變矩及模型中信息,可得到Hu 矩的相似度。第四,最小包圍矩形特征。計(jì)算工件輪廓最小包圍矩形,對(duì)比輪廓相鄰邊的邊長、矩形面積以及矩形面積與輪廓面積的比值,可準(zhǔn)確判斷工件是否為目標(biāo)工件。工件輪廓特征識(shí)別過程中,需要將實(shí)際特征值與模型特征值相對(duì)比,進(jìn)而對(duì)工件進(jìn)行判斷,因此需要搭建典型特征模型庫,結(jié)合具體工況,對(duì)典型特征數(shù)據(jù)做完善和更新,不斷擴(kuò)充數(shù)據(jù)庫中的標(biāo)準(zhǔn)化信息,以提高工件識(shí)別精度及可有效識(shí)別的工件范圍。完成單一工件輪廓特征識(shí)別后,若有需求將其保存為標(biāo)準(zhǔn)模型,則將所提取的輪廓特征值錄入到模型數(shù)據(jù)庫當(dāng)中。若無需求,則依照既定流程輸出識(shí)別結(jié)果,完成之后的機(jī)械手命令及分揀動(dòng)作。
對(duì)基于改進(jìn)后Canny 算法的工件分類識(shí)別系統(tǒng)做實(shí)驗(yàn)驗(yàn)證,分析工件識(shí)別精度是否能達(dá)到實(shí)際生產(chǎn)的要求。測(cè)試過程中,劃定被檢測(cè)區(qū)域,并使用矩形框框選,對(duì)該區(qū)域內(nèi)的工件進(jìn)行輪廓識(shí)別和數(shù)量統(tǒng)計(jì),可實(shí)現(xiàn)多個(gè)零件的同時(shí)識(shí)別。若識(shí)別對(duì)象為單一工件,則使用紅點(diǎn)標(biāo)注該工件的重心,在矩形框內(nèi)呈現(xiàn)該工件輪廓重心的坐標(biāo)。對(duì)處于不同位置的工件進(jìn)行反復(fù)多次檢測(cè),輸出相應(yīng)的檢測(cè)結(jié)果。通過對(duì)比發(fā)現(xiàn),該分類識(shí)別系統(tǒng)的工件輪廓檢測(cè)可靠度較高,基本達(dá)到設(shè)計(jì)預(yù)期。經(jīng)計(jì)算,單個(gè)工件的平均識(shí)別實(shí)時(shí)間在0.32s左右,可滿足實(shí)際生產(chǎn)條件下,工件識(shí)別分類對(duì)效率的要求[4]。另外,在系統(tǒng)連續(xù)運(yùn)行試驗(yàn)中,當(dāng)系統(tǒng)不間斷運(yùn)行8h 后,其工件輪廓檢測(cè)精度依然較高,且與實(shí)驗(yàn)初期未產(chǎn)生明顯差異,因此可判斷該系統(tǒng)的運(yùn)行穩(wěn)定性較強(qiáng),且檢測(cè)結(jié)果可靠,具備較高的實(shí)用價(jià)值。
現(xiàn)象信息細(xì)節(jié)化的圖像邊緣檢測(cè)技術(shù),在延續(xù)傳統(tǒng)Canny 算法邊緣檢測(cè)技術(shù)優(yōu)勢(shì)的同時(shí),可提供更高的圖像邊緣檢測(cè)精度和抗干擾能力,其研究和應(yīng)用對(duì)于進(jìn)一步促進(jìn)圖像識(shí)別技術(shù)的發(fā)展意義重大。將信息細(xì)節(jié)化圖像邊緣檢測(cè)技術(shù)融入到實(shí)際工業(yè)生產(chǎn)當(dāng)中,幫助提高生產(chǎn)效率。