趙曉芳 廖春萍 韓建峰
(東莞理工學(xué)院 電子工程與智能化學(xué)院,廣東東莞 523808)
?
基于圖像處理的模具特征區(qū)域描述及程序設(shè)計
趙曉芳廖春萍韓建峰
(東莞理工學(xué)院電子工程與智能化學(xué)院,廣東東莞523808)
常規(guī)圖像的特征區(qū)域描述方法受到諸多外界的限制,而圖像處理技術(shù)的方法不受目標(biāo)區(qū)域形狀的限制,可對不規(guī)則圖形或者區(qū)域進行良好的處理。主要研究了適用于模具圖像的濾波處理算法及邊緣檢測算法,尋找圖形的輪廓,找出特征點并計算面積、周長、重心坐標(biāo)等特征區(qū)域描述參數(shù),結(jié)合Matlab開發(fā)一款服務(wù)于工業(yè)自動化生產(chǎn)需要的人機交互界面。
特征區(qū)域描述;邊緣檢測;模具;Matlab
圖像處理技術(shù)是指將圖像信號轉(zhuǎn)換成數(shù)字信號并通過計算機對其進行處理再逆轉(zhuǎn)換的過程。圖像處理技術(shù)已經(jīng)應(yīng)用于生物醫(yī)學(xué)、軍事偵察、礦藏勘探、森林資源探查、洪水泛濫監(jiān)測、工業(yè)檢測、太空星體的探測、交通管理、零件產(chǎn)品無損檢測等眾多領(lǐng)域,受到廣泛重視,并取得了喜人的成果。工業(yè)生產(chǎn)中未來的發(fā)展趨勢是自動化,生產(chǎn)中也需運用圖像處理技術(shù)。傳統(tǒng)的模具缺陷檢測是靠人眼識別,盡管人眼鑒別圖形的能力強大,可以分辨出多種圖形,在很多情況下,也必難以避免人工疲勞和復(fù)雜件缺陷人眼的不可見等問題。通過圖像處理技術(shù)由編程人員在計算機上面用指令來標(biāo)識各種模具的構(gòu)成圖,在生產(chǎn)線上的自動識別系統(tǒng)裝置會按照預(yù)設(shè)的指令識別生產(chǎn)出來的模具是否合格,淘汰不合格的模具,完全實現(xiàn)工業(yè)檢測自動化[1],可以快速、精確地淘汰不合格模具,如此既節(jié)約了人工成本,也避免了人工檢測的主觀性。
圖像采集系統(tǒng)通常會受到其他因素的干擾或條件的限制,無法得到滿意的圖像,也無法直接在計算機視覺系統(tǒng)中使用,必須在圖像采集的初期對原始圖像進行預(yù)處理。以下將模具作為處理對象,進行預(yù)處理分析。
1.1均值濾波
均值濾波是一種線性濾波方法,其主要使用的方法是領(lǐng)域平均法。鄰域平均法指的是設(shè)原始圖像的每一個像素點為(x,y),這些像素點的集合為R,然后計算每個像素點與該點的灰度平均值,即:
(1)
(1) 式中,集合R是一個不包括像素點(x,y),預(yù)先確定好的鄰域;m為鄰域R中像素點的個數(shù);g(x,y)是輸出圖像;f(x,y)為原始圖像[2]。鄰域平均法通常借助模板的卷積運算來實現(xiàn)。在MATLAB中基本單位是矩陣,所以圖像和模板都被轉(zhuǎn)換為矩陣,在卷積時,首先要進行擴展和模板翻轉(zhuǎn),然后再相乘求和。常用的模板其上下左右均對稱,翻轉(zhuǎn)后與原模板相同,濾波結(jié)果如圖1(b)所示。
圖1 濾波處理
1.2中值濾波
中值濾波是圖像處理中常用的一種非線性平滑濾波方法,其基本原理是把圖像中每一點的像素值用該點鄰域中各像素值的中值代替,從而消除孤立的噪聲點,因此對于濾除圖像的椒鹽噪聲非常有效,并且中值濾波器在去除噪聲的同時還保護了圖像的邊緣[3-4]。此濾波法的目的是將圖像中與周圍像素灰度值相差比較大的改成與周圍像素的比較接近的一個值,進而把噪聲濾除。因為中值濾波是采用的是與周圍像素灰度值差不多的一個值,所以產(chǎn)生的模糊不多。
設(shè)有一個一維序列g(shù)0、g1、…、gn-1,窗口長度為2m+1(2m+1為奇數(shù)),在某個位置上,窗口內(nèi)的2m+1個像素為gi-m、gi-m+1、…、gi、gi+1、…、gi+m則gi= Med{gi-m,gi-m+1,…,gi+m}。例如,把窗口長度設(shè)為5,窗口中像素的灰度值分別為30、10、70、8、45,把它們由小到大排列,結(jié)果為8、10、30、45、70,排列在中間位置的灰度值是30。于是原來窗口中間的灰度值70就由新的排列窗口中間的灰度值30替代。如果70是一個噪聲的尖峰,則將被濾除。但是如果它是一個信號,那么使用中值濾波的話會將造成此信號的損失。濾波結(jié)果如圖1(c)所示。
1.3類間方差閾值分割
類間方差法是由日本的學(xué)者大津在19世紀(jì)70年代末年提出的,是一種自適應(yīng)的閾值計算方法,也叫大津法。該算法計算簡單、效率高,應(yīng)用廣泛。它是在分析最小二乘法原理的基礎(chǔ)上,推導(dǎo)出來的方法。設(shè)整個圖像的像素數(shù)為N,灰度級的像素點數(shù)為n,灰度圖像的灰度值為L。直方圖歸一化,則
(2)
其中,N=n0+n1+…+nL-1,用閾值N可以劃分為兩類:C0={0,1,2,…,T},C1={T+1,T+2,…,L-1}。用該方法分割出來的結(jié)果如圖1(d)所示。
1.4預(yù)處理結(jié)果分析
從圖1可知,采用均值濾波法的缺點是不能完整地保有圖像原來的細節(jié),在實現(xiàn)圖像去噪的同時,會把圖像原來的部分細節(jié)破壞,使得部分圖像變得不清晰,不能完美地去除圖像中的噪聲。中值濾波是一種非線性處理技術(shù),被廣泛使用在數(shù)字信號處理中,因為在實際運算過程中,不需要提前知道圖像的亮度、色度和抽樣值,而且具有獨特的濾波特性。中值濾波在保有圖像邊緣的同時,能夠很好地濾除圖像中的干擾和噪聲,與之相比,均值濾波在過濾噪聲的同時會模糊圖像。但是中值濾波不適用于線、角、點細節(jié)多的圖像[5]。
圖像的邊緣檢測為了減少圖像中不必要的像素和數(shù)據(jù),也就是說過濾圖像中被認(rèn)為不需要或者不相關(guān)的信息,保留圖像中有用或者能夠突出原圖的重要結(jié)構(gòu)屬性。在圖像處理中,邊緣提取指的是對圖片輪廓進行處理提取。邊緣檢測的算法很多,比如Sobel、Canny、Log算法,使用這三種算子對實際模具做圖像處理,結(jié)果如圖2所示。
圖2 邊緣檢測
Sobel邊緣檢測算法比較簡單,所以其檢測效率高,但是在圖像應(yīng)用中,Sobel邊緣檢測比Canny邊緣檢測的準(zhǔn)確率低。雖然Sobel邊緣檢測不如Canny邊緣檢測的準(zhǔn)確,但是在實際應(yīng)用中,Sobel邊緣檢測依然是首選,特別是對圖像的細節(jié)紋理不太關(guān)心,但效率要高的時候。Sobel邊緣檢測屬于基于查找的邊緣檢測算子,帶有方向性,因此可以檢測豎直邊緣和垂直邊緣。Sobel邊緣檢測算法是先計算出梯度圖像,然后將梯度圖像中選取較亮的那一部分提取出來就是簡單的邊緣部分。
Canny邊緣檢測算法是John F.Canny在19世紀(jì)80年代年研究提出的多級邊緣檢測算法。Canny邊緣檢測算法可用于各種不一樣的圖像,它的算法允許用戶根據(jù)自身不同的特別需求調(diào)整來檢測提取自己所需的邊緣。在預(yù)處理的步驟中,濾波器使用的大小將直接影響Canny算子最后的結(jié)果[6]。如果在預(yù)處理中選取較小的濾波器,就能使圖像產(chǎn)生的模糊效果較少,所以就能檢測較小、變化較多的細線,同理可得,在預(yù)處理中選取較小的濾波器,產(chǎn)生的模糊就多,這用于檢測整體較大的圖像,綜合上面所敘述的,Canny邊緣檢測算法檢測效果要比Sobel邊緣檢測算法準(zhǔn)確。
Log邊緣檢測算法在眾多圖像處理研究者眼中是最佳的邊緣檢測算法之一,它是根據(jù)Marr的視覺理論的邊緣提取思想,經(jīng)過進一步研究得出的Log邊緣檢測算法,為了抑制噪聲對原圖像的影響,先進行平滑處理,再進行邊緣的提取。在相同情況下,Canny邊緣檢測算子的抗噪能力要比Log邊緣檢測算子強,但是Log邊緣檢測算子要比Canny邊緣檢測算子的邊緣點準(zhǔn)確。Log算子基本步驟如下:先采用二維高斯濾波器濾波,再采用二維拉普算子進行圖像增強,最后依據(jù)二階導(dǎo)數(shù)零交叉進行邊緣檢測。
這些算法各具優(yōu)點、缺點,所以用戶在選擇上可根據(jù)自身不同的需求來確定選用的算法[7]。
在進行一系列的圖像預(yù)處理后,要對提取出來的圖像進行有效的特征區(qū)域描述,對于模具而言,往往比較關(guān)注其區(qū)域面積、區(qū)域周長、區(qū)域重心等,這些特征的描述對于模具的合格率影響較大。
3.1區(qū)域面積
圖像描述的概念中,區(qū)域面積表示一個區(qū)域的大小,是區(qū)域的一個基本特征。它只與目標(biāo)區(qū)域中的像素點有關(guān),與區(qū)域中的灰度值無關(guān)。在MATLAB中,用目標(biāo)區(qū)域邊界內(nèi)所包含的像素點的數(shù)目來把區(qū)域面積計算出來,同時這是常用也是最簡單的計算方法。為了更方便地計算出區(qū)域的面積,通常會把目標(biāo)區(qū)域處理成二值圖像,像素值為1代表目標(biāo)區(qū)域內(nèi)的點,像素值為0就代表背景,可得到的區(qū)域面積公式為
(3)
式中,R代表目標(biāo)區(qū)域內(nèi)像素點的集合,若圖像為灰度圖,則可得區(qū)域面積公式為
(4)
另一種方法是使用Freeman碼來計算區(qū)域的面積[8],設(shè)起始坐標(biāo)為(x0,y0),則Freeman碼中的第k個點y坐標(biāo)可這樣表示
(5)
一般采用八連通鏈碼,Δyi可定義為
(6)
式中,εi為八連通鏈碼中的第i個值,則其中區(qū)域內(nèi)所包含的面積是
(7)
其中,Δxi與ai分別定義為
(8)
(9)
3.2區(qū)域周長
區(qū)域周長也是區(qū)域的基本特征,區(qū)域內(nèi)所包含像素,由邊界來劃定,而區(qū)域邊界的周長有三種方法可以計算:(1)區(qū)域和背景交界線的長度;(2)區(qū)域邊界8鏈碼的長度;(3)邊界點數(shù)之和。
假定區(qū)域邊界的周長為L,那么在極坐標(biāo)下的計算出其周長為:
(10)
采用鄰域法,可以確定在邊界上的點數(shù),然后把這些點數(shù)相加就可以計算出周長,此方法用MATLAB實現(xiàn)較為簡單[9]。
3.3區(qū)域的重心
區(qū)域重心其實就是目標(biāo)區(qū)域的中心點位置也叫面積中心,即為質(zhì)量恒定的圖形的質(zhì)心。區(qū)域重心是區(qū)域的基本特征,是圖像的一種描述符,區(qū)域重心的坐標(biāo)是根據(jù)區(qū)域內(nèi)所有的點計算出來的。對M×N的數(shù)字圖像f(x,y),其重心坐標(biāo)的定義為:
(11)
區(qū)域內(nèi)重心的坐標(biāo)一般不是整數(shù),而區(qū)域內(nèi)各點的坐標(biāo)是整數(shù)。若目標(biāo)區(qū)域邊界上的點集可知,那么根據(jù)格林定理,可得
(12)
沿著由Freeman碼得出的區(qū)域邊界曲線,可對閉合曲線進行線積分,得到:
(13)
其中,K為邊界點總數(shù)。
表示目標(biāo)區(qū)域的位置有兩種方法,第一種是用區(qū)域的面積中心點來表示目標(biāo)區(qū)域的位置,對于M×N大小的目標(biāo)區(qū)域,可得出重心的坐標(biāo)為
(14)
上面使用的方法較簡單,對于二值化圖像,可直接計算出目標(biāo)區(qū)域的重心,但實際的灰度圖像中,第一種方法并未將灰度變化考慮進去?;趲缀尉貋碛嬎隳繕?biāo)區(qū)域重心的方法,即使目標(biāo)區(qū)域中灰度有變化,依然可以把重心計算出來,基于二元有界函數(shù),幾何矩定義為
mjk=?xjykf(x,y)dxdy ,(j,k=0,1,2,…),
(15)
以矩為基礎(chǔ),可得目標(biāo)區(qū)域的重心公式如下
(16)
基于以上分析,對攝像機采集到的模具圖像首先進行預(yù)處理,然后進行邊緣檢測得到模具的輪廓,最后得到其區(qū)域特征,包括周長、面積、重心等。在Matlab環(huán)境下進行仿真處理,開發(fā)的人機交互界面如圖3所示,在實際應(yīng)用過程中,首先導(dǎo)入需要處理的圖片,圖像預(yù)處理部分提供多種算法供選擇和組合,各部分的處理結(jié)果實時顯示在界面上,測量結(jié)果可與標(biāo)準(zhǔn)模具進行比對,淘汰不合格產(chǎn)品。
圖3 人機交互界面
圖像處理技術(shù)在機器人的智能控制、智能監(jiān)控、工業(yè)自動化的應(yīng)用很多。隨著智能化設(shè)備發(fā)展,為人們帶來眾多便利,但是計算的精度和算法的魯棒性還需進行深入的研究。該文以模具有研究對象,以服務(wù)于工業(yè)自動化為目的,對圖像進行了預(yù)處理、分割和區(qū)域特征描述等研究,并基于MATLAB開發(fā)了一套簡易的人機交互軟件,后續(xù)將增加圖像的特征,力求對區(qū)域的目標(biāo)描述更加完整[10]。
[1]王冠英,胡心平,刁維龍.基于機器視覺的復(fù)雜形狀模具尺寸測量[J].計算機測量與控制,2015,23(1):706-708.
[2]曹健.圖像目標(biāo)的表示與識別[M].北京:機械工業(yè)出版社,2012.
[3]郭寶龍,孫偉.數(shù)字圖像處理系統(tǒng)工程導(dǎo)論[M].西安:西安電子科技大學(xué)出版社,2012.
[4]李元帥,周國忠,劉儒貞.圖像中值濾波硬件算法及其在FPGA中的實現(xiàn)[J].計算機應(yīng)用,2012,20(5):12-14.
[5]嚴(yán)文培.基于Matlab不同平滑處理對邊緣檢測效果的影響[J].現(xiàn)代計算機, 2013(25):39-43.
[6]Kumar G V S R. Review on image segmenttion techniques[J].Pattern Recognition,2014,3(9):992-997.
[7]許宏科,秦嚴(yán)嚴(yán),陳會茹.一種基于改進Canny的邊緣檢測算法[J]. 紅外技術(shù), 2013(4): 210-214.
[8]肖維民,葛世曉.基于Freeman鏈碼特征值的示功圖分類識別研究[J].計算機技術(shù)與發(fā)展,2015,255(2):25-28.
[9]許錄平.數(shù)字圖像處理學(xué)習(xí)指導(dǎo)[M].北京:科學(xué)出版社,2007.
[10]李秀梅,張奇?zhèn)?應(yīng)廣之.基于Matlab的圖像去噪可視化系統(tǒng)設(shè)計[J]. 杭州師范大學(xué)學(xué)報:自然科學(xué)版, 2012(6): 551-555.
Feature Region Description of Mould andProgramming Based on Image
ZHAO XiaofangLIAO ChunpingHan Jianfeng
(School of Electrical Engineering & Intelligentization, Dongguan University of Technology,Dongguan 523808, China)
The characteristic region description method of conventional image is limited by many outside aspects, but the method of image processing technology is not restricted by the shape of the target area, and can be used to deal with the irregular figure or area. The research on design filtering algorithm and edge detection algorithm which can be suitably applied to mould image; with findings of graphic outline with feature description parameters such as area, perimeter, and center of gravity and in combination with Matlab-based software, a kind of human-computer interaction interface has been developed for industrial automation production needs.
characteristic region description;edge detection;mould ;Matlab
2016-06-13
廣東省科技計劃項目(2016A050502066;2016A010101038)。
趙曉芳(1982—),女,河南許昌人,講師,博士,主要從事圖像處理與模式識別方面研究。
TP39
A
1009-0312(2016)05-0023-06