余善善 ,易建業(yè) ,謝 暉,2 ,金作徽
(1.季華實驗室,廣東 佛山 528200;2.大捷智能科技(廣東)有限公司,廣東 佛山 528200)
機器視覺起源于20世紀(jì)50年代統(tǒng)計模式識別的研究。20世紀(jì)80年代,機器視覺進入蓬勃發(fā)展期,新概念、新方法、新理論不斷涌現(xiàn)。光學(xué)字符識別(optical character recognition,OCR)系統(tǒng)和智能相機開始出現(xiàn)。機器視覺的概念在產(chǎn)業(yè)界被提及。機器視覺開始從理論走向應(yīng)用[1]。
進入21世紀(jì)后,隨著工業(yè)發(fā)展的加速和生產(chǎn)規(guī)模的擴大,利用機器視覺系統(tǒng)檢測標(biāo)準(zhǔn)件已經(jīng)越來越多地應(yīng)用在工業(yè)生產(chǎn)中。魏中雨[2]基于機器視覺開發(fā)了標(biāo)準(zhǔn)零件的裝配檢測系統(tǒng);陳碩[3]基于機器視覺開發(fā)了注塑齒輪缺陷的檢測系統(tǒng);屠子美[4]基于機器視覺開發(fā)了印刷電路板檢測及分揀系統(tǒng)。
與此相對的是,機器視覺在非標(biāo)準(zhǔn)件檢測中的應(yīng)用一直是難點。其原因在于,傳統(tǒng)的機器視覺檢測技術(shù)一般采用嚴格的圖像閾值篩選[5],只適用于一致性較好的標(biāo)準(zhǔn)件,在應(yīng)用于非標(biāo)準(zhǔn)件時容易受工件本身變化等因素的影響而使系統(tǒng)變得不穩(wěn)定。比如,構(gòu)成沖壓模具的各種鑲塊都是根據(jù)每套模具的特點定制的,沒有標(biāo)準(zhǔn)的形狀[6],無法將檢測標(biāo)準(zhǔn)件的機器視覺系統(tǒng)應(yīng)用在這一方面。
針對這類檢測的特點,本文設(shè)計了基于圖形不變矩的輪廓匹配算法,以計算機輔助設(shè)計(computer aided design,CAD)模型的線框圖的輪廓為基準(zhǔn),對非標(biāo)準(zhǔn)件的輪廓進行檢測。該算法具有以下優(yōu)勢:①基于CAD圖形進行檢測,無需事先收集實際工件的圖像,適用于非標(biāo)準(zhǔn)件的檢測;②基于圖像的不變矩進行相似度匹配,對工件的擺放位置、大小、相機的距離等無嚴格要求,可配置性強;③只匹配輪廓信息,匹配速度快。
現(xiàn)場工況復(fù)雜,原圖像的噪聲較多。因此在輪廓提取前,需對現(xiàn)場采集的圖像進行預(yù)處理。具體方法為:首先,為消除現(xiàn)場光照及陰影遮擋等的影響,在色度(hue,H)通道對圖像進行閾值分割(二值化);然后,通過形態(tài)學(xué)的閉運算和開運算突出形態(tài)特征;最后,通過選取最大聯(lián)通域排除背景的噪聲。
檢測流程如圖1所示。
圖1 檢測流程圖
1.1.1 顏色空間
色度·飽和度·明度(hue·saturation·value,HSV)顏色空間是由Alvy Ray Smith在1978年根據(jù)顏色的直觀特性創(chuàng)建的。這種顏色空間在各種圖像分析任務(wù)中多有應(yīng)用。HSV顏色空間通過H、飽和度(saturation,S)和明度(value,V)這3個分量對色彩進行描述[7]。HSV顏色空間的3個分量具有相對獨立性。其中,H分量受光照及陰影遮擋的影響很小[8],因此本文選取在H通道下對圖像進行閾值分割。
計算機在處理圖像時常使用的是紅綠藍(red green blue,RGB)顏色空間。由RGB顏色空間向HSV顏色空間的轉(zhuǎn)換中,r、g、b分別是RGB顏色模型的其中一種顏色的色品坐標(biāo)。色品坐標(biāo)r、g、b為[9]:
(1)
式中:R、G、B分別表示1個像素在紅色、綠色和藍色這3個通道的數(shù)值,取值范圍均為0~255。
從RGB顏色空間到HSV顏色空間的轉(zhuǎn)換方法[10]如下。色品坐標(biāo)值是0到1之間的實數(shù)。若取:
(2)
則有:
(3)
式中:H∈[0°,360°]。
(4)
式中:S∈[0,1]。
V=Cmax
(5)
式中:V∈[0,1]。
1.1.2 背景顏色
本文分別在綠色、紅色、黃色、白色和藍色背景下拍攝零件并統(tǒng)計其H通道的平均值。其中:工件的H通道平均值為2;綠、紅、黃、白、藍各色背景的H通道平均值分別為85、2、13、0、113。由此可知,在藍色背景時工件與背景的H通道值相差最大,即最易將背景和檢測對象進行區(qū)分。因此,本文使用藍色背景下拍攝的零件圖進行檢測算法開發(fā)。
H通道值分布直方圖如圖2所示。
圖2 H通道值分布直方圖
1.1.3 閾值分割
工件原圖如圖3所示。
圖3 工件原圖
閾值分割方法主要有自適應(yīng)閾值法和固定閾值法等。固定閾值法對圖像有較高要求,在工業(yè)檢測等實際應(yīng)用中由于環(huán)境等復(fù)雜因素的影響而無法直接使用。自適應(yīng)閾值在不同亮度、對比度、紋理的局部圖像區(qū)域擁有相對應(yīng)的局部二值化閾值,能適應(yīng)實際應(yīng)用。因此,本文使用自適應(yīng)閾值法對圖像進行二值化。
二值化圖像如圖4所示。
圖4 二值化圖像
數(shù)學(xué)形態(tài)學(xué)是一門以格論和拓撲學(xué)為基礎(chǔ)的學(xué)科,主要應(yīng)用于提取圖像中描述目標(biāo)形狀的圖像分量[11]。形態(tài)學(xué)的經(jīng)典應(yīng)用包括圖像特征增強和去噪[12]等處理。形態(tài)學(xué)包括膨脹、腐蝕、開、閉這4種處理。本文首先通過閉運算,填補圖形內(nèi)部的細小孔洞;然后通過開運算,平滑圖形邊緣。
形態(tài)學(xué)處理后的圖像如圖5所示。
圖5 形態(tài)學(xué)處理后的圖像
本文旨在進行外輪廓的提取和對比,因此使用泛洪填充算法將鑲塊圖像內(nèi)部孔洞進行填充。
泛洪填充處理后的圖像如圖6所示。
圖6 泛洪填充處理后的圖像
泛洪填充處理后,圖像中仍然存在一些背景噪聲。本文通過選取圖像的最大連通域[13],排除背景中的噪聲區(qū)域。
選取連通域處理后的圖像如圖7所示。
圖7 選取連通域處理后的圖像
形狀周圍的鋸齒會在輪廓提取后影響輪廓的形狀特性,從而影響到檢測的準(zhǔn)確度。因此,本文使用均值濾波方法平滑圖形邊緣的鋸齒。
均值濾波處理后圖像如圖8所示。
圖8 均值濾波處理后圖像
現(xiàn)有的邊緣提取方法[14]分為3類,分別為矩方法、擬合法和插值法。矩方法計算簡單,且可以得到解析解。但該方法對噪聲較敏感,容易受噪聲影響而導(dǎo)致精度降低。擬合法對噪聲有較高的魯棒性。但該方法計算復(fù)雜、耗時較長。綜合考慮,本文利用基于形態(tài)學(xué)梯度的樣條插值法[15]提取輪廓。該方法既可以克服噪聲對輪廓提取的影響,又可以減少計算的復(fù)雜程度、節(jié)省時間。
鑲塊CAD二維圖如圖9所示。
圖9 鑲塊CAD二維圖
實物圖像輪廓如圖10所示。
圖10 實物圖像輪廓
由CAD二維圖提取的輪廓如圖11所示。
圖11 由CAD二維圖提取的輪廓圖
輪廓提取后需要對輪廓進行定位匹配。主要的匹配方法有方向梯度直方圖(histogram of oriented gradient,HOG)特征描述匹配法、Hu矩方法匹配法、形狀上下文匹配等。Hu矩由7個不變矩組構(gòu)成[16],在圖像平移、旋轉(zhuǎn)和比例變化時保持不變。因為Hu矩具有尺度、旋轉(zhuǎn)、平移的不變性,所以在使用Hu矩進行輪廓匹配時對工件的擺放位置、大小、相機的距離等無嚴格要求,硬件的可配置性強。因此,本文采用Hu矩方法進行匹配。本文使用OpenCV的matchShapes函數(shù)對實物輪廓和CAD輪廓進行匹配,并得出匹配得分。
(6)
相似度百分比用于表征2個輪廓之間的相似程度。當(dāng)相似度百分比超過指定閾值時可判斷2個輪廓為同一種形狀。
實物輪廓和CAD輪廓的相似度百分比P為:
P=(1-p) × 100%
(7)
式中:p為由matchShapes函數(shù)計算得出的匹配得分。
為驗證本文所提算法的有效性和可行性,本文選擇試驗平臺Intel I7-10700和操作系統(tǒng)Windows10,采用Python和OpenCV進行試驗。
本文設(shè)定當(dāng)檢測鑲塊的俯視圖輪廓和側(cè)視圖輪廓與對應(yīng)CAD二維圖提取輪廓的相似度分數(shù)均大于設(shè)定閾值時,判定該鑲塊為合格鑲塊;否則,為問題鑲塊,需人工復(fù)檢。由設(shè)定可知,本文算法實現(xiàn)需要2組相機分別拍攝鑲塊的俯視圖和側(cè)視圖。因此,本文采用2組可平移、可升降的工業(yè)相機分別對汽車模具鑲塊的俯視和側(cè)視方向投影視圖進行拍攝,并根據(jù)其CAD模型導(dǎo)出的外形輪廓圖進行對比檢測。
本文經(jīng)過前期的測試發(fā)現(xiàn),當(dāng)2個視圖的輪廓Hu矩匹配得分小于0.2時(輪廓相似度80%以上),判別準(zhǔn)確率在97.5%以上。
各零件實際輪廓與CAD輪廓的Hu矩匹配得分如圖12所示。
圖12 各零件實際輪廓與CAD輪廓的Hu矩匹配得分
通過計算可知,在保證準(zhǔn)確率的情況下檢測的相似度分數(shù)閾值可以設(shè)定為大于80%。
本文采用自主搭建的拍攝和檢測平臺進行試驗。
試驗流程如圖13所示。
圖13 試驗流程圖
本文主要收集沖壓模具各類鑲塊的圖像,并與其CAD的二維圖進行匹配,以此檢測所開發(fā)算法的準(zhǔn)確度。本文實際檢測非標(biāo)準(zhǔn)件工件19件并作交叉驗證,以驗證當(dāng)零件與零件號不匹配時相似度分數(shù)是否小于閾值。
本文分別計算各零件的實物輪廓與對應(yīng)的CAD輪廓的相似度分數(shù)以及實物輪廓與不同工件的CAD輪廓的相似度分數(shù),并對比兩者以進行交叉驗證。
本文相似度百分比設(shè)定閾值為80%。零件檢測相似度分數(shù)曲線如圖14所示。
圖14 零件檢測零件相似度分數(shù)曲線
由圖14可知:19件零件在正常檢測時,其俯視圖與側(cè)視圖的匹配分數(shù)均同時高于設(shè)定閾值;交叉驗證時,其俯視圖與側(cè)視圖的匹配分數(shù)有單個高于設(shè)定閾值的情況,但沒有同時高于設(shè)定閾值的情況。其原因是實際檢測中存在某個方向的視圖特別相似的零件使得該方向的視圖匹配分數(shù)較高,但是不同零件不會存在2個方向視圖都相似的情況。綜上所述,在80%閾值時,全部19件零件的正常檢測以及交叉驗證均能正確檢出。本文所開發(fā)的算法能有效應(yīng)用于非標(biāo)準(zhǔn)件的輪廓檢測。
零件檢測用時如圖15所示。
圖15 零件檢測用時柱狀圖
由計算可知,19件零件的平均檢測用時(包括拍攝和檢測)為1.4 s/件,能滿足工廠3 s/件的檢測速度要求。測試結(jié)果顯示,本文算法檢測準(zhǔn)確度高。
本文基于Hu矩的輪廓匹配算法,設(shè)計了一種非標(biāo)準(zhǔn)件的在線檢測系統(tǒng)。該系統(tǒng)通過對比實際圖像和CAD二維圖的輪廓來檢測零件的外形,不需要事先采集零件圖像,符合非標(biāo)準(zhǔn)件各異性的特點。本文利用Hu矩的尺度、旋轉(zhuǎn)、平移的不變性,使得檢測系統(tǒng)對零件的擺放無嚴格要求,現(xiàn)場的可操作性強。另外,該系統(tǒng)由于只匹配輪廓信息,檢測用時短,能適應(yīng)在線檢測的快節(jié)奏需求。在隨機抽取的19件非標(biāo)準(zhǔn)件(沖壓模具鑲塊)的檢測和交叉驗證試驗中,檢測成功率為100%。