隨著計(jì)算機(jī)技術(shù)的不斷進(jìn)步,在實(shí)驗(yàn)室和生產(chǎn)現(xiàn)場(chǎng)利用圖像采集和圖像處理技術(shù)進(jìn)行表面缺陷檢測(cè)變得越來越容易。現(xiàn)在不僅有速度更快的CPU、PCI總線架構(gòu)等硬件能夠滿足機(jī)器視覺應(yīng)用要求,而且軟件也越來越功能強(qiáng)大直觀易用,便于測(cè)試工程師針對(duì)具體需求開發(fā)各種應(yīng)用。本文主要介紹選擇在構(gòu)建表面缺陷檢測(cè)系統(tǒng)時(shí)在硬軟件方面應(yīng)考慮的主要因素。
大多數(shù)基于PC的視覺系統(tǒng)都可以執(zhí)行檢測(cè)任務(wù),在構(gòu)缺陷檢測(cè)系統(tǒng)時(shí),首先需要確定要完成什么樣的檢測(cè)任務(wù)以及該任務(wù)對(duì)性能的具體要求。例如在電子制造中大多數(shù)視覺系統(tǒng)用于發(fā)現(xiàn)有缺陷零部件,那么攝像頭加上視覺系統(tǒng)能看到缺陷嗎?回答這個(gè)問題常常需要先建立一個(gè)不良品和良品測(cè)試數(shù)據(jù)庫,然后在這個(gè)基礎(chǔ)上構(gòu)建一個(gè)使用該圖像數(shù)據(jù)庫作為樣本的樣機(jī)系統(tǒng),這種方法的優(yōu)點(diǎn)是對(duì)樣機(jī)只需很少改動(dòng)就能得到正確的軟件設(shè)置。
在視覺檢測(cè)應(yīng)用中照明非常關(guān)鍵,因?yàn)樗鼙WC圖像采集是在一致條件下進(jìn)行的。應(yīng)使用正確的照明,使被測(cè)部件與周圍背景形成鮮明的對(duì)比,并得到盡可能多的灰度等級(jí),這樣視覺效果就會(huì)明顯表現(xiàn)出來。對(duì)于高速運(yùn)動(dòng)的部件,還可以用閃光使圖像瞬時(shí)固定。
照明的另外一個(gè)目的是減小反射。有時(shí)反射來自周圍自然光線,會(huì)隨時(shí)間而變化,因此同樣的場(chǎng)合白天和夜晚相比光線變化要大得多,這就需要配置照明或使用光罩,以遮擋周圍的光線。
硬件考慮因素
選擇視覺系統(tǒng)首先要選擇正確的攝像頭和鏡頭。構(gòu)建圖像的基本單元稱為像素,一幅普通圖像實(shí)際上是成千上萬像素填滿的圖框。具體應(yīng)用要求不僅包括每幅圖像所需像素?cái)?shù),還要包括攝像頭鏡頭類型。圖1:機(jī)器視覺系統(tǒng)硬件包括攝像頭和圖像采集卡。
例如要檢測(cè)錄像用的磁帶質(zhì)量,那么所用攝像頭的視場(chǎng)(FOV)至少應(yīng)該有錄像帶那么寬(這里是20mm),假設(shè)要找的缺陷很小只有0.25mm,為保證攝像頭能發(fā)現(xiàn)這么小的缺陷,需要一個(gè)分辨率為每0.25mm至少提供4個(gè)像素的攝像頭,如果小于這個(gè)數(shù),就會(huì)丟失信息,發(fā)現(xiàn)不了缺陷。這表示對(duì)應(yīng)于20mm視場(chǎng),每1mm需要16個(gè)像素,從而所需攝像頭傳感器陣列的分辨率為320×320像素。
另外一個(gè)重要的考慮因素是工作距離。工業(yè)上很多檢測(cè)都是針對(duì)難以探查的部位,所以攝像鏡頭與被檢物體之間的工作距離必須予以考慮,場(chǎng)深(DOF)是需要對(duì)物體聚焦的最大深度。
有些圖像采集板通過讓用戶在圖像框內(nèi)定義一個(gè)重點(diǎn)范圍區(qū)域(ROI)的方法使圖形處理性能大大增強(qiáng),因?yàn)橹付ㄝ^小區(qū)域可以減少攝像頭傳送及計(jì)算機(jī)處理的信息。例如ROI可以將全幀(640×480像素)縮小到一個(gè)較小區(qū)域(200×200像素),從而有效地將像素從307,000個(gè)減少到40,000個(gè),像素越少處理速度越快。而對(duì)于不能犧牲數(shù)據(jù)的場(chǎng)合,數(shù)字?jǐn)z像頭可能是更好的選擇。
另外一個(gè)要決定是用彩色還是單色。雖然彩色攝像頭能夠產(chǎn)生更吸引人的圖像,但彩色并不能增加多少有價(jià)值的信息,而且一般情況下需要用更多的時(shí)間來進(jìn)行處理(單色圖像通常是8位/像素,而彩色圖像需要32位/像素),這一點(diǎn)在測(cè)量邊緣距離應(yīng)用中特別突出。然而有時(shí)候色彩是唯一辨別因素,這時(shí)彩色就變得很重要,例如在檢測(cè)熔斷絲、電容或電阻時(shí)可能需要搜索某種特定的色彩。對(duì)于高分辨率彩色應(yīng)用場(chǎng)合,可以考慮使用三片式或RGB攝像頭。
除了面掃描攝像頭外,還有一種線掃描攝像頭,能夠每秒產(chǎn)生10,000線視覺信息。這類攝像頭對(duì)于檢測(cè)旋轉(zhuǎn)柱狀部件特別有用,利用軟件可把線掃描攝像頭傳出的圖像縫合在一起而產(chǎn)生一個(gè)完整的圖像。因?yàn)榫€掃描攝像頭只需要照亮物體一個(gè)特定部分,所以不需要閃光燈或其它復(fù)雜定時(shí)控制。
在選擇基于PC的視覺系統(tǒng)時(shí),還需要圖像采集硬件,這時(shí)要考慮的特性包括驅(qū)動(dòng)軟件,以及硬件能否很好與運(yùn)動(dòng)控制和數(shù)據(jù)采集集成在一起。例如可以用運(yùn)動(dòng)控制監(jiān)測(cè)部件傳送帶的速度,使得圖像采集與整個(gè)流程同步;還可以將機(jī)器振動(dòng)、壓力監(jiān)控和溫度控制包括在生產(chǎn)系統(tǒng)中,以便預(yù)先制訂維護(hù)計(jì)劃。用戶能夠很容易將傳送帶控制與圖像采集硬件集成在一起,從而在數(shù)據(jù)采集硬件、軟件和運(yùn)動(dòng)控制之間實(shí)現(xiàn)同步,得到一個(gè)完整的解決方案(圖1)。
軟件考慮因素
至此我們討論了一些設(shè)計(jì)基于PC的表面缺陷檢測(cè)系統(tǒng)時(shí)必須考慮的硬件因素,但是這種視覺系統(tǒng)的真正優(yōu)勢(shì)要靠軟件提供。選用好的軟件可以讓用戶隨意用不同圖像方案進(jìn)行試驗(yàn),過去采用專用計(jì)算機(jī)代碼進(jìn)行試驗(yàn)成本高而且很困難,如今已有一些現(xiàn)成軟件如National Instruments的IMAQ Vision Builder和IMAQ Vision等,可為初級(jí)或高級(jí)開發(fā)人員提供簡(jiǎn)便易用的方案開發(fā)工具(圖2)。
例如Vision Builder有一個(gè)直觀的界面和使用指導(dǎo),測(cè)量工程師不必進(jìn)行復(fù)雜的編程就可以快速測(cè)試各種視覺功能。IMAQ Vision Builder還能創(chuàng)建LabVIEW代碼或腳本,可用來創(chuàng)建使用Visual Basic、C++或者C語言的視覺應(yīng)用。用戶可以不必關(guān)注視覺腳本的執(zhí)行,而把注意力集中在視覺技術(shù)和算法上。有許多圖像處理技術(shù)算法,我們下面主要討論三個(gè)最重要的技術(shù):邊緣檢測(cè)、圖形匹配和灰度處理。
邊緣檢測(cè)
邊緣檢測(cè)的一個(gè)用途是通過測(cè)量?jī)蓚€(gè)邊緣的間距來判定部件缺陷,這類測(cè)量很容易用PC實(shí)現(xiàn)自動(dòng)化,測(cè)量計(jì)算越來越快,這對(duì)那些對(duì)時(shí)間要求很苛刻的人來講是一個(gè)重要的考慮因素。圖2:利用軟件可以很容易對(duì)圖形要素進(jìn)行設(shè)置。
也可以用邊緣檢測(cè)來檢測(cè)部件上某個(gè)特定部分,它對(duì)部件上的邊緣數(shù)進(jìn)行計(jì)數(shù),然后將這個(gè)數(shù)與預(yù)置數(shù)據(jù)相比較,依此完成搜索。如果值匹配,說明部件上找到這一部分,如果值不匹配,就認(rèn)為部件有缺陷。
關(guān)于邊緣的定義是指圖像中相鄰像素灰度值出現(xiàn)明顯變化的區(qū)域。在IMAQ Vision中,邊緣檢測(cè)沿搜索區(qū)域?qū)σ粋€(gè)一維曲線像素值進(jìn)行搜索,一維搜索區(qū)域可以是直線、圓弧、橢圓弧、矩形或多邊形的邊界,或者手繪區(qū)域的邊線,軟件對(duì)沿線像素值進(jìn)行分析,檢測(cè)是否有明顯的強(qiáng)度變化。用戶可以指定強(qiáng)度變化的臨界值,以判定什么樣的變化構(gòu)成邊緣,這些參數(shù)包括:邊緣強(qiáng)度,用來定義背景和邊緣之間灰度值最小差;邊緣長(zhǎng)度,指邊緣和背景之間產(chǎn)生所需灰度差必需最大距離;邊緣極性,判斷邊緣是往上升的邊還是往下降的邊;邊緣位置,用來確定圖像中邊緣的X,Y坐標(biāo)。通過改變這些值,用戶可以用編程方法定義各種臨界值,以發(fā)現(xiàn)不同成像環(huán)境下的各個(gè)邊緣。
當(dāng)圖像分辨率足夠高時(shí),大多數(shù)測(cè)量以像素所具有的精度進(jìn)行精確測(cè)量,然而有時(shí)由于所用傳感器尺寸限制,很難達(dá)到機(jī)器視覺應(yīng)用所需最小圖像分辨率,此時(shí)可以利用次級(jí)像素精度來發(fā)現(xiàn)邊緣位置。
次級(jí)像素分析是一種軟件分析方法,用來估算更高分辨率圖像系統(tǒng)的像素值。采用次級(jí)像素精度計(jì)算邊緣位置時(shí),邊緣檢測(cè)軟件以二次或三次函數(shù)之類的高次插入函數(shù)擬合像素強(qiáng)度數(shù)據(jù)。插入函數(shù)通過原像素值之間的像素強(qiáng)度值得到邊緣檢測(cè)算法,軟件然后使用強(qiáng)度信息找到具有次級(jí)像素精度的邊緣位置。
利用成像系統(tǒng)目前所用的元件和軟件工具,用戶能夠可靠地估算出四分之一像素精度,不過評(píng)估結(jié)果主要取決于成像設(shè)置,如像照明和攝像鏡頭等條件。在使用次級(jí)像素信息以前,應(yīng)先嘗試改進(jìn)圖像的分辨率。
圖形匹配
所謂圖形匹配,就是先有一個(gè)己知圖案(模板),然后判定這種圖案在被檢部件上是否存在,或是將其當(dāng)作基準(zhǔn)作為進(jìn)行其它測(cè)量的起點(diǎn)。傳統(tǒng)圖形匹配技術(shù)包括標(biāo)準(zhǔn)互相關(guān)、錐形匹配和比例常數(shù)匹配。
標(biāo)準(zhǔn)互相關(guān)是在圖像中尋找圖案最常用的方法。由于其內(nèi)部原理是基于系列乘法操作,所以相關(guān)運(yùn)算過程很費(fèi)時(shí)間,但使用像MMX之類的新技術(shù)能夠進(jìn)行并行乘法,可減少總計(jì)算時(shí)間。用戶可通過縮小圖像尺寸或限制圖像匹配區(qū)域加速匹配過程。不過基本標(biāo)準(zhǔn)互相關(guān)技術(shù)還是不能滿足許多應(yīng)用對(duì)速度的要求。
也可以通過縮小圖像和模板圖案的尺寸減少計(jì)算時(shí)間,錐形匹配就是這樣一種技術(shù)。在這種方法里,對(duì)圖像和模板兩者都進(jìn)行部分采樣,使其空間分辨率變小,甚至可以將圖像和模板尺寸減至它們?cè)汲叽绲乃姆种?。這樣首先在縮小的圖像中進(jìn)行匹配運(yùn)算,因?yàn)閳D像小了,匹配更加快速,處理完成后,只有原始圖像具有很高匹配度才考慮繼續(xù)進(jìn)行余下匹配處理。
當(dāng)圖像沒有縮放和旋轉(zhuǎn)時(shí),標(biāo)準(zhǔn)互相關(guān)是探查圖形一個(gè)很好的方法,互相關(guān)一般能檢測(cè)同一尺寸圖形旋轉(zhuǎn)5至10度后的圖像。但將相關(guān)計(jì)算范圍進(jìn)行延伸以檢測(cè)那些比例變化和旋轉(zhuǎn)較大的圖形則比較困難,對(duì)于按比例變化的圖形,用戶必須重復(fù)縮放或調(diào)整模板尺寸,然后進(jìn)行相關(guān)運(yùn)算,這給匹配過程增加很大工作量;而對(duì)于旋轉(zhuǎn)的處理更加困難,如果能夠從圖像中找到有關(guān)旋轉(zhuǎn)的線索,則可以簡(jiǎn)單地旋轉(zhuǎn)模板并進(jìn)行相關(guān)運(yùn)算,但如果旋轉(zhuǎn)的性質(zhì)不知道,尋找最佳匹配需要對(duì)模板進(jìn)行盡可能多的旋轉(zhuǎn)處理。
灰度處理
灰度處理轉(zhuǎn)換可以取出并改變圖像中的微粒結(jié)構(gòu),可使用灰度處理功能對(duì)圖像像素強(qiáng)度進(jìn)行濾波或平滑處理,包括噪聲濾波、不均勻背景修正和灰度級(jí)特性提取等。
灰度處理就是將一個(gè)像素與那些圍繞它的像素進(jìn)行比較,基本灰度處理功能包括侵蝕、擴(kuò)張、打開和關(guān)閉。可以使用這些功能擴(kuò)大亮區(qū)減少暗區(qū),或者相反,從而改變區(qū)域的形狀。這些功能能夠?qū)u變圖形進(jìn)行平滑處理,并增加邊界區(qū)域的對(duì)比度。
如果周圍像素灰度較低,就可以用侵蝕功能降低被包圍像素的亮度,周圍這個(gè)概念可以用一個(gè)預(yù)置的結(jié)構(gòu)要素來定義。如果周圍像素灰度較高,該功能也可用來增加被包圍像素的亮度?;叶葦U(kuò)張具有與侵蝕相反的效果,因?yàn)閿U(kuò)張亮區(qū)也就等于侵蝕了暗區(qū)。
灰度打開功能由侵蝕接著一個(gè)擴(kuò)張組成,而關(guān)閉功能則是擴(kuò)張接著侵蝕。打開功能用來除去孤立在暗區(qū)域中的亮點(diǎn),而關(guān)閉則可以除去亮區(qū)內(nèi)的暗點(diǎn)。兩種功能的優(yōu)點(diǎn)是他們對(duì)微粒的處理很平滑,因?yàn)榍治g和擴(kuò)張?jiān)谛螒B(tài)上對(duì)立,故而這些操作不會(huì)根本上改變微粒的區(qū)域和形狀。連續(xù)應(yīng)用打開或關(guān)閉功能常常會(huì)得出相同的結(jié)果。
文章來源:機(jī)器視覺網(wǎng),犀靈機(jī)器人http://整理發(fā)布