任少斌, 李元宗
(1.太原理工大學理學院計算機基礎教學部,山西太原030024;2.太原理工大學機械工程學院,山西太原030024)
柱形陶瓷基材采用尺寸精度為微米或微米以下的高純度致密氧化鋁燒結體而成,它是電子產品的重要的基材之一。它的尺寸精度與表面質量對電子產品的最終質量起很大的作用。為滿足不同器件的要求有各種不同規格 (如圖1所示)。由于其生產工藝是先沖壓后燒結成型,在沖壓時基體材料較軟,因此在沖壓后常帶有一定的不確定性,特別是在表面精度方面,很容易出現瑕斑,另外由于陶瓷材質特點,容易出現碎片,這些情況均會影響其應用。傳統的陶瓷基材質量的檢測主要依靠人工進行,由于人工長時間檢測很容易出現誤差,因此在實際工作中需要重復檢測,勞動強很大,而且在檢測中標準很難保證穩定的檢測技術要求。本文的方法是基于機器視覺系統的檢測方案,它利用面陣CCD成像,通過嵌入式算法檢測產品的質量,結合相應的控制系統,實現產品檢測自動化。
隨著計算機性價比的提高以及各種算法[1-3]研究的深入,越來越多的行業開始將基于計算機視覺識別的技術運行到產品質量檢測與分析中[4-10]。在機器視覺的研究中存在著兩種不同的開發方式,板卡式機器視覺系統(PC-basedvisionsystem)以及嵌入式機器視覺系統(smart camera)?;诎蹇ㄊ降拈_發方式是以算法的研究為主,它通過對不同算法的對比與分析提出解決方案。這類視覺系統通常目標明確,但結構復雜,開發周期較長,它能夠有針對性實現較為復雜的系統功能,達到理想的精度。而嵌入式視覺系統則在立足于已有的系統環境進行二次開發,因此嵌入式視覺系統具有易學、易用、易維護、易安裝等特點,可在短期內構建起可靠而有效的機器視覺系統,從而極大的提高了應用系統的開發速度。

圖1 不同規格的陶瓷的基材
機器視覺系統開發的重要目的是解決實際工作的問題,不同的方式最終的目標是一致的。目前比較成熟的圖像開發平臺很多,如Halcon、XCliper、CVB等。它們均提供基于C++、VB與Java的接口,已經能夠為絕大多數檢測系統提供支持,因此采用嵌入式系統進行實際系統的開發,可以在短時間內開發滿足企業需要的檢測系統。本文采用德國Stemmer Imaging公司的CVB(common vision Blox)(通用視覺系統程序庫)平臺進行二次開發。
CVB程序庫是一個面向機器視覺應用軟件開發的基礎程序包,能夠支持絕大多數標準相機和多種軟件開發平臺(VB,VC++6.0,Delphi),共分為5層:硬件層、硬件抽象層、算法層、中間管理層和應用層,可應用于不同行業[11-14]。CVB包含條形碼(1D/2D)、邊緣提取、模式匹配、孔徑測量、表面檢測、OCR/OCV、幾何形狀識別等20多種常用工具。CVB良好的結構層次可以對輸入圖像的識別抽象化,使得算法不受攝像的約束,允許用戶隨時更換圖像識別硬件。例如,在把面陣像機切換為行掃描像機時,只需載入相應的驅動程序即可,而不需要對應程序作任何修改。CVB的用戶可以使用兩種不同的編程環境:用戶既可以采用高級語言編譯器,也可以采用圖形用戶界面iTuition。編譯后的程序既可以應用在電腦上,也可以應用在智能像機上。對于常用的圖像處理工具,CVB都做了優化處理,使得運算都在幾毫秒或幾十毫秒以內完成。使用CVB提供控件能夠輕松地獲取目標圖像的各種信息,方便地對其進行各種操作,高準確地得到結果,而不用擔心執行效率的問題。這將大大縮短機器視覺軟件的開發時間。
用于生產檢測技術要求有外觀質量(裂紋、斑點、缺損等)、尺寸公差(外形公差、垂直度、平行度等)。該產品特點是尺寸小,產品種類繁多,人工檢測困難,檢測精度低、速度慢。通過生產線生產每月數量產品可以上億個。全通過人工檢測成本太高。本文針對其中1752型號產品進行分析。
尺寸自動檢測系統要求如下:被測物體:圓柱形陶瓷棒。檢測項目:直徑、長度。檢測要求:直徑:1.68~1.73mm。長度:5.10~5.25mm。檢測數值在以上范圍內為合格,要求能夠設定檢測范圍。檢測直徑方法:十字形、米字形或全圓周檢測。工作方式:機器自動送料、自動檢測、自動記錄。檢測速度:>2000只/min。
在圖像測量中,被測件有關邊緣點的定位精度往往直接影響到整個測量的精度,因此,研究邊緣點的精確定位算法是很有實際意義的。在對陶瓷基片進行尺寸公差測量時,第一步要做的工作就是對采集到的圖像進行預處理,最重要的環節是對去噪后的圖像進行邊緣檢測,得到允許范圍內的連通的灰度邊緣圖。
邊緣檢測是圖像特征提取的重要技術之一,邊緣是圖像局部亮度變化最顯著的部分。即在灰度級上發生急劇變化的區域,它常常意味著一個區域的終結和另一個區域的開始,圖像的邊緣包含了物體初步設計方案。本環節主要完成陶瓷電阻圖像的采集,并對采集到的圖像數據進行處理,得到陶瓷電阻的尺寸和外觀信息。產品的合格/不合格判定范圍可由用戶通過互動方式或者設定檢測閾值進行選擇。
系統主要包括下面幾個過程:
(1)圖像的采集:在本系統方案中,陶瓷電阻在傳送帶上進行有序排列后傳送到檢測位置,當產品到達檢測位置穩定后,傳動系統給相機發送觸發信號,開始采集圖像,圖像傳送至計算機。在傳輸的過程中要求被測試件按指定位置排放,連續采集的相片進行數據分析。
(2)圖像分析處理技術要求:圖像分析處理軟件可以靈活設置模板,檢測區域可設置和調整不同的質量標準,質量標準可以有多個級別,并可在檢測中在線調整檢測標準;可準確發出廢品剔除控制信號,設備發生異常時可發出報警信號。每天將檢測的數據備份存檔。
(3)控制系統:處理器的控制程序根據收到的度量值進行計算,并根據所度量的值確定物體最可能屬于的類別以及可能對之做出的處理。圖像處理結果傳送至控制系統,控制系統對合格/不合格產品做出決策。
機器視覺系統由光源、鏡頭、CCD/CMOS相機、圖像采集卡、圖像處理軟件、監視器、通訊/輸入輸出單元等部分組成。
根據系統所要求的檢測精度0.1mm以及檢測的速度,選擇相機的分辨率為1024×768像素,幀速率為33fps,且靈敏度高的千兆以太網接口相機,使用加拿大 Prosilica公司的GC1020相機。主要參數如下:分辨率1024×768時,幀速率可達33fps,1/3"CCD,像素尺寸4.65 m×4.65 m,10-Bit數據流輸出,C-Mount光學接口,感興趣區域可提高幀頻。該系列相機使用工業標準的千兆以太網作為傳輸協議并且為應用提供以下重要優勢:符合工業標準的硬件(1000MBit-Ethernet);傳輸距離可長達100m;100MB/s圖像傳輸速率;低成本且安裝方便(以太網結構)。
由于陶瓷電阻的尺寸非常小,因此設計合適的傳送帶使其能夠有序排列,每次能夠檢測 100粒工件,選擇相機視場為50mm×35mm,每秒鐘通過外部觸發拍攝10幀圖像,能夠分辨的最小尺寸為0.049mm,結合軟件中的亞像素算法來得到更高的精度。
根據上面所選的相機的分辨率、相機的芯片尺寸、接口類型以及工作距離,使用德國施耐德公司型號為Xenoplan1.4/17的鏡頭。該鏡頭為固定焦距鏡頭,焦距為17mm,最大光圈F1.4。本系統中根據需要選擇相機的視場為50mm×35mm,由相機的分辨率為 1024×768像素、傳感器的尺寸為 4.8mm×3.6mm、工作距離為200mm左右,這時的光學放大倍率為左右,得出檢測的精度可滿足要求。
光源的穩定和均勻是獲得高品質圖像的基礎,選擇藍色立體漫射環形光源。它通過光學結構把光線向多方位折射、散射,使光線分散遍及整個漫射板,從而達到均勻照射的目的。它提供均勻的散射照明,能夠很好地檢測表面有光澤的曲面物體。檢測位如圖2所示。由于工件為圓柱形物體,所以在做外觀缺陷檢測的時候需要考慮到整體外圓周是否存在缺陷,采用兩個檢測位是為了降低漏檢率,其中第二個檢測位置將第一位置檢測的工件進行翻轉,主要目的為是了降低誤檢率。

圖2 檢測位
軟件設計使用VisualBasic6.0在CVB軟件工具包進行二次開發,CVB實際是作為VB的控件插入程序中,利用VB本身的編譯方式將圖像處理庫引用到程序中。其中 CVB運用部分主要由 Image Manager、CVB iTuition、CVB Tools這 3 項內容組成,它能夠對目前市場上流行的絕大多數的圖像采集硬件進行操作,具有極好的硬件無關性;它提供了典型30多個工具,能夠根據項目的需要靈活地選擇合適的工具進行編程;同時CVB進行了各種優化設計,使得軟件具有很高的執行速度和準確度,能夠滿足現場實時性的要求。程序設計主要采用開發包中的CVBFoundationPackage功能。這是一個適用于一般工業檢測的工具包,包含了工業在線檢測領域常用的工具,如斑點分析,邊緣檢測,圖像增強、濾波工具、相關性檢測等多種工具。使用 CVB軟件作為最終的應用軟件開發平臺一定會大大加快開發速度。同時,其中少量的算法要自行完成,CVB同樣也提供了靈活的接口,方便開發者調用原始數據進行獨特處理。
CVB Foundation Package中包含了圖像預處理常用的算法,例如:濾波、形態學變換、數據統計分析等。處理圖像的目的就是要使其比原始圖像更加適合于特定應用。本方案中采用形態學變換,通過腐蝕算法有效去除檢測圖像邊緣的毛邊。
Blob分析是一種對閉合目標形狀進行分析處理的基本方法。在進行Blob分析以前,必須把圖像分割為構成斑點(Blob)和局部背景的像素集合。Blob分析一般從場景的灰度圖像著手進行分析。在Blob分析以前,圖像中的每一像素必須被指定為目標像素或背景像素。典型的目標像素被賦值為1,背景像素被賦值為0。對于高對比度及背景一致性很好的圖像可用固定閾值分割。而對比度背景一致性較差的圖像可動態設定閾值進行分割。在CVB開發工具包中,Blob分析工具可以從背景中分離出目標,并可計算出目標的數量、位置、形狀、方向和大小,還可以提供相關斑點間的拓撲結構。在處理過程中不是采用單個的像素逐一分析,而是對圖形的行進行操作。圖像的每一行都用游程長度編碼(RLE)來表示相鄰的目標范圍。這種算法與基于像素的算法相比,大大提高處理速度。本項目中,主要用blob工具實現目標的定位。
數字圖像的邊緣檢測是圖像分割、目標區域的識別、區域形狀提取等圖像分析領域重要的環節,圖像理解和分析的第一步往往就是邊緣檢測,圖像的特征指圖像場中可用作標志的屬性,而圖像的邊緣是圖像最基本的特征。在數字圖像中,所謂邊緣是指其周圍像素灰度有階躍變化或屋頂變化的那些像素的集合。由于物體的邊緣是由灰度不連續性所反映的,因此一般邊緣檢測方法是考察圖像的單個像素在某個領域內灰度的變化,利用邊緣鄰近一階或二階方向導數變化規律來檢測邊緣,這種方法通常稱為邊緣檢測局部算子法。如果某一應用場合要求確定邊緣位置,則邊緣的位置可在亞像素分辨率上來估計,邊緣的方位也可以被估計出來。采用Common Vision Blox(CVB)中的Edge工具很好的實現了邊緣檢測。該工具的特點如下:
(1)運行在單一位面上(8位或者更高至32位)
(2)用戶可以制定檢測區域的位置和方向
(3)以動態鏈接庫或者OCX控件形式提供功能的實現
(4)支持圖像坐標系統和亞像素精度
(5)注重圖像處理的精度和速度
Edge中3種不同的方法來達到檢測邊緣的目的:
(1)以像素的灰度變化設定閾值檢測,速度快捷。
(2)以一階微分(相鄰灰度間的變化)檢測,可以擺脫固定光源的限制。
(3)以二階微分檢測。高精度其中第一種方法并不是簡單的單像素檢測,而是對圖像像素行或列的像素灰度值之和進行分析,這樣就可把其中的一些不明顯的邊緣檢測出來。
在數字圖像中,所謂邊緣是指其周圍像素灰度有階躍變化或屋頂變化的那些像素的集合。由于物體的邊緣是由灰度不連續性所反映的,因此一般邊緣檢測方法是考察圖像的每個像素在某個領域內灰度的變化。Edge工具的檢測精度可以達到亞像素級別,為1/10像素精度。
以下面3行10列像素區域為例

從左到右遍歷,區域表示的是從黑到白漸進的一個梯度變化。其中中間一行的變化幅度不是很大。累加后203 218235 253 287 341 374 400 401 406。我們做歸一化處理68 73 78 8496114125133133135這樣再進行二值化處理,從而避免了直接閾值處理帶來的弊端。第2種方法是在第1種算法的基礎上再運用相鄰兩個值間的差值變化做二值化處理以求取邊緣點。第3種方法是利用二階微分過零點的原理提取邊界點。在算法實現過程中,選取合適的閾值以提取邊緣。
目標定位:使用Blob工具確定目標在圖像中的位置。邊緣檢測:使用Edge工具實現對目標邊緣的檢測。
將目標區域進行區域分割,根據實際需要設定邊緣檢測區域,檢測每個區域的邊界點,測量目標的尺寸。對圖像進行圖像增強、邊緣銳化和降噪等,然后對目標圖像進行處理分割,量化圖像的關鍵特征,將圖像中與周圍區域存在差異的像素分離出來,在缺陷特征分割時,主要采用了 Foundation Package中的動態閾值算法。Edge工具能夠實現邊緣亞像素精度的檢測。表面質量檢測算法,能夠很好的將雜質、污點、劃痕等缺陷分離,從而確定產品質量。
利用 CVB環境進行系統開發與傳統開發區別之處在于充分利用了已有的圖像庫。因此在開發的周期方面具有很強的優勢。通常情況下針對于不同的檢測技術要求,需要進行詳細的算法分析。不同項目之間是沒有必然的相關性,單純的算法分析需要大量的時間與精力。工業化生產檢測的特點是檢測技術要求經常發生變化,單純依靠底層分析研究,可以保證需要具體項目的實施,但缺少可移植功能。系統在開發完成后如果需要進行擴充,就需要從頭開始分析。例如本系統設計過程中基材種類很多,尺寸的變化也很大,具體檢測的要求是根據用戶的產品要求進行,當產品批次與種類發生變化時,系統就需要重新設計。使用CVB環境進行設計只是在底層的處理中進行局部調整,交互技術內容完全可以利用原有的平臺進行。
此類開發的不足之處在于依靠 CVB庫的內容。而該庫的內容不是可擴散版本,需要在每次開發時購買相關的序列號,且序列號對于可以使用的底層有限制,在具體應用時可能會增加開發的成本。從這個角度分析,基于源代碼的開發更具備通用性。
本文針對陶瓷基材的檢測要求,提出了一種基于通用視覺系統程序庫開發機器視覺檢測系統的想法。通過實踐證明此方式可以迅速開發檢測系統,而且系統的升級與調整方便。在具體運用中具有較高的檢測速度與檢測精度,為小尺寸工件快速檢測提供了有效的途徑。隨著計算機集成技術的飛速發展,對基材尺寸精度與形位誤差會提出更高的要求,特別是高精密設備使用的基材在生產過程中要求進行100%的測量與分選。由于基于機器視覺的測量技術具有非接觸、實時、在線、精度高等特點,在未來的產品檢測中會得到迅速的發展和廣泛的運用。
[1]朱桂英,張瑞林.基于Hough變換的圓檢測方法[J].計算機工程與設計,2008,29(6):1462-1464.
[2]陸建華,魯周迅,黃毅.改進的形態學檢測算子在螺紋檢測中的應用[J].計算機工程與設計,2009,30(7):1793-1794.
[3]王林,白雪冰.基于Gabor變換的木材表面缺陷圖像分割方法[J].計算機工程與設計,2010,31(5):1066-1069.
[4]徐歆愷,郭楠,葛慶平,等.計算機視覺技術在作物形態測量中的應用[J].計算機工程與設計,2006,27(7):1134-1136.
[5]陳孝威.王茵.基于圖像處理的微小電子元器件自動計數算法[J].計算機工程與設計,2009,30(17):4100-4103.
[6]鄒益民,賈達.基于視覺檢測技術的浮球姿態測量[J].計算機工程與設計,2009,30(22):5298-5301.
[7]楊萬利,沈明霞,嚴君紅.外圖像處理技術在蘋果早期淤傷檢測中的應用[J].計算機工程與設計,2010,31(1):149-152.
[8]陳建華,姚青,胡潔,等.基于計算機視覺的稻米堊白檢測方法研究[J].計算機工程與設計,2010,31(1):218-240.
[9]周虹,羅曉曙,何富運.多孔零件二維幾何量高精檢測系統的研究[J].計算機工程與設計,2010,31(1):225-227.
[10]劉志強,宋世亮,汪澎,等.基于視覺的車輛側后方道路圖像檢測技術[J].計算機工程與設計,2010,31(12):2800-2803.
[11]黃建榮,范彥斌,葉邦彥.基于Halcon的SMT-PCB元件缺陷檢測[J].佛山科學技術學院學報(自然科學版),2008,26(2):19-21.
[12]梅迎春,王朝立,廖勤武.基于OpenCV的攝像機標定的應用研究[J].計算機工程與設計,2009,30(16):3856-3858.
[13]王俊驊,張方方,張蘭芳.基于OpenCV和Halcon的交通沖突視頻自動檢測及數據處理 [J].同濟大學學報 (自然科學版),2010,38(2):238-244.
[14]羅珍茜,薛雷,孫峰杰,等.基于HALCON的攝像機標定[J].電視技術,2010(4):101-102.
[15]張廣軍.機器視覺[M].北京:科學出版社,2005.