郭 宇
(山西晉中理工學(xué)院,山西 晉中 030600)
工業(yè)流水線中物體缺陷檢測(cè)效率的提升及準(zhǔn)確度的提高是當(dāng)前工業(yè)自動(dòng)化的重要環(huán)節(jié)。隨著自動(dòng)化技術(shù)的發(fā)展,普通的人工核檢無論是效率還是準(zhǔn)確率方面都不能滿足自動(dòng)化的需求,因而基于機(jī)器視覺的數(shù)字圖像處理技術(shù)應(yīng)運(yùn)而生,該技術(shù)常用在目標(biāo)標(biāo)定、目標(biāo)識(shí)別及追蹤、物體缺陷檢測(cè)環(huán)節(jié)。
人類對(duì)外部世界的感知依賴于大腦,并由大腦對(duì)腦部存儲(chǔ)的大量知識(shí)與經(jīng)驗(yàn)進(jìn)行分析,得出相應(yīng)的結(jié)論。比如,人類能夠在人群中迅速分辨出認(rèn)識(shí)的人,甚至可以不見其人,僅通過聲音或腳步聲等信息分辨。對(duì)于計(jì)算機(jī)而言,計(jì)算機(jī)視覺技術(shù)是實(shí)現(xiàn)計(jì)算機(jī)聽、說、讀、寫等功能的基礎(chǔ),同時(shí)推動(dòng)了自動(dòng)化識(shí)別技術(shù)的發(fā)展。常見的自動(dòng)識(shí)別技術(shù)包括條形碼/二維碼識(shí)別、生物特征識(shí)別、射頻識(shí)別(RFID)、視頻圖像識(shí)別等。隨著信息技術(shù)的發(fā)展、計(jì)算機(jī)處理能力的提升,以及網(wǎng)絡(luò)覆蓋范圍的擴(kuò)大,自動(dòng)化識(shí)別技術(shù)的智能化和網(wǎng)絡(luò)化水平逐步提升。
自動(dòng)化識(shí)別工作中的第一步也是最主要的一步即確定目標(biāo)位置,提取感興趣區(qū)域,常用方法有背景減除法,通常利用顏色特征或灰度信息去除背景干擾,只留下前景中的大量信息進(jìn)行處理;相機(jī)標(biāo)定法,獲取空間物體表面點(diǎn)的三維幾何位置與其在圖像中對(duì)應(yīng)點(diǎn)之間的相互關(guān)系,確定從三維場(chǎng)景到二維圖像的轉(zhuǎn)變,確定感興趣區(qū)域后,可對(duì)圖像的有效信息進(jìn)行特征的選取,并進(jìn)行精準(zhǔn)提取與匹配。
圖像特征是表征圖像信息的主要元素,因此成為自動(dòng)識(shí)別的重要環(huán)節(jié)。在進(jìn)行特征提取時(shí)應(yīng)當(dāng)選取最具有代表性的特征,例如灰度圖中顏色信息并不能很好地說明圖像信息,應(yīng)提取邊緣、角點(diǎn)、特征點(diǎn)等信息描述圖像。獲得特征信息后進(jìn)行圖像分析,可用于如人臉識(shí)別、車牌識(shí)別、目標(biāo)檢測(cè)等。本文利用完整物品表面信息與缺陷物品表面信息進(jìn)行對(duì)比、匹配,將感興趣區(qū)域進(jìn)行細(xì)化、標(biāo)記。
缺陷物品表面位置標(biāo)定后,可采用形態(tài)學(xué)處理手段,將缺陷信息完整展示,對(duì)比獲得殘次品信息,便于后期對(duì)工業(yè)標(biāo)準(zhǔn)不合格的目標(biāo)物體進(jìn)行抓取或其他操作。針對(duì)復(fù)雜的工業(yè)流水線運(yùn)行場(chǎng)景里的目標(biāo)物體,能有效識(shí)別與標(biāo)記,減少人工復(fù)檢工作量,提高流水線工作效率。
相機(jī)標(biāo)定是2D圖像信息與現(xiàn)實(shí)中3D信息轉(zhuǎn)換的“紐帶”。為確定空間物體表面某點(diǎn)的三維幾何位置與二維圖像中對(duì)應(yīng)點(diǎn)之間的相互關(guān)系,建立相機(jī)成像幾何模型及了解其內(nèi)外參數(shù)成為必要條件。
以三維物體所在空間建立坐標(biāo)系,描述物體在真實(shí)世界的位置,即真實(shí)世界、三維場(chǎng)景坐標(biāo)系;由拍攝設(shè)備進(jìn)行多視角的拍攝,得到不同距離、不同角度的同一物體的照片,以相機(jī)的成像原理為依據(jù),多為透射投影過程,得到從相機(jī)角度描述的物體位置,相機(jī)坐標(biāo)系即二維照片場(chǎng)景;從相機(jī)坐標(biāo)系到二維直角坐標(biāo)系的轉(zhuǎn)換,到最后的圖像像素坐標(biāo)系的轉(zhuǎn)換,要考慮圖像的畸變影響,需要利用數(shù)學(xué)模型進(jìn)行逐步逼近,從而得到可進(jìn)行特征提取、匹配的像素點(diǎn)圖像。整個(gè)三維場(chǎng)景坐標(biāo)系到像素點(diǎn)坐標(biāo)系的映射即相機(jī)標(biāo)定的完整過程。
標(biāo)定的目的主要為解決兩個(gè)問題:①確定世界坐標(biāo)系下三維空間點(diǎn)與像素平面像素點(diǎn)間的轉(zhuǎn)換關(guān)系;②確定相機(jī)成像過程中的畸變系,用于圖像矯正?,F(xiàn)今的相機(jī)標(biāo)定方法遵循是否需要標(biāo)定模板的標(biāo)準(zhǔn),大致劃分為3種:傳統(tǒng)標(biāo)定法、基于主動(dòng)視覺的相機(jī)標(biāo)定法和相機(jī)自標(biāo)定方法。
傳統(tǒng)標(biāo)定法,也稱攝影標(biāo)定法,即利用一個(gè)形狀和尺寸已知的物體作為標(biāo)定物。主要步驟是先選定一塊已知大小和結(jié)構(gòu)的模板或已知相關(guān)特定數(shù)據(jù)信息的模板作為標(biāo)定模板。之后利用攝像機(jī)拍攝多張模板的圖片,構(gòu)造二維圖像像素點(diǎn)和真實(shí)環(huán)境位置之間的聯(lián)系。完成上述兩步后,根據(jù)標(biāo)定模板和選定方法的思路獲取攝像機(jī)的參數(shù)。
代表性算法為線性標(biāo)定法,是利用線性方程組求解相機(jī)的內(nèi)外參數(shù),由于線性模型可以不用參考相機(jī)畸變的問題,因此相機(jī)標(biāo)定會(huì)較迅速地完成,但精確度不高,對(duì)噪聲較敏感,只適合視角較小的場(chǎng)景。
Tsai算法只考慮絕大多數(shù)情況下存在的徑向畸變,利用最小二乘法線性求解超定線性方程組,得出外部參數(shù);再利用非線性優(yōu)化方式求得內(nèi)部參數(shù)。此方法適用于所有成像系統(tǒng),適應(yīng)性很強(qiáng),而且標(biāo)定精度高;但因涉及非線性運(yùn)算,導(dǎo)致結(jié)果不穩(wěn)定。
利用某些已知的相機(jī)的某些運(yùn)動(dòng)信息對(duì)相機(jī)進(jìn)行標(biāo)定,不需要標(biāo)定物,但需要控制相機(jī)進(jìn)行特定運(yùn)動(dòng),如三維空間的穩(wěn)定平移、參數(shù)固定的旋轉(zhuǎn)運(yùn)動(dòng);同時(shí),拍攝多種圖像,依據(jù)圖像信息及已知的位移信息變化得到相機(jī)內(nèi)外參數(shù)。計(jì)算過程可以進(jìn)行簡(jiǎn)化,但是特定運(yùn)動(dòng)需要配合各類精準(zhǔn)控制平臺(tái),成本高且受其標(biāo)定方法限制,對(duì)于參數(shù)未知或不能控制的場(chǎng)合不適用。
該方法不需要標(biāo)定物,只需要相機(jī)在運(yùn)動(dòng)過程中建立起拍攝的多張圖像的對(duì)應(yīng)關(guān)系。靈活性很高,但是精度較差、魯棒性差且使用非線性方法標(biāo)定過程復(fù)雜。
常見的自標(biāo)定方法有分層逐步標(biāo)定法、基于Kruppa方程的自標(biāo)定法等。在標(biāo)定過程中,可以使用標(biāo)準(zhǔn)機(jī)器視覺算法軟件包(Halcon)提供的自標(biāo)定算子,不需要精準(zhǔn)的標(biāo)定物,只需要圖片中邊緣的直線,即可得到相機(jī)的內(nèi)參數(shù),完成畸變校正。但在實(shí)際標(biāo)定過程中,并不是所有物體都能獲取到清晰的邊緣,故該方法后期會(huì)采用棋盤、網(wǎng)格等作為標(biāo)準(zhǔn)標(biāo)定物配合使用。
上述3類方法各有優(yōu)點(diǎn)和缺點(diǎn),適用于不同的場(chǎng)景。在工業(yè)流水線物體表面缺陷檢測(cè)中,需要一種計(jì)算簡(jiǎn)便、硬件要求較低的方法。因此,綜合以上要求,選擇計(jì)算過程簡(jiǎn)單、條件易實(shí)現(xiàn)的傳統(tǒng)標(biāo)定算法——張正友研究的以其名字命名的標(biāo)定方法,即張氏標(biāo)定法為本文的相機(jī)標(biāo)定算法。該算法不需要高精度的模板標(biāo)定物,同時(shí)具有較強(qiáng)的魯棒性,介于自標(biāo)定與傳統(tǒng)標(biāo)定法之間?;舅悸肥沁x定一個(gè)較明顯的標(biāo)定模板,用相機(jī)從各個(gè)角度拍攝此標(biāo)定模板,要確保角度多樣化,最后推導(dǎo)拍攝圖片中標(biāo)定模板的特征點(diǎn)和其成像平面中像點(diǎn)的相應(yīng)關(guān)系[1]。
張氏標(biāo)定法中的標(biāo)定物多為一個(gè)棋盤格平面,其標(biāo)定步驟為利用棋盤格平面及相機(jī)和標(biāo)定模板之間的相對(duì)位置拍攝的不同角度、距離的多張圖片,計(jì)算單應(yīng)性矩陣及其中多個(gè)未知量,進(jìn)行二維投影變換;通過單應(yīng)性矩陣的計(jì)算結(jié)果,得到內(nèi)參數(shù)矩陣、外參數(shù)矩陣,最大似然估計(jì)計(jì)算畸變參數(shù),最終實(shí)現(xiàn)相機(jī)標(biāo)定的目的,完成從世界坐標(biāo)系到像素坐標(biāo)系的變換。
圖像特征點(diǎn)檢測(cè)算法穩(wěn)定性好,因此成為特征提取最常用的一類算法,廣泛應(yīng)用于醫(yī)科、農(nóng)業(yè)、工業(yè)、城市定位等領(lǐng)域,尤其是工業(yè)機(jī)器視覺檢測(cè)領(lǐng)域。在工業(yè)機(jī)器人的目標(biāo)匹配識(shí)別及定位領(lǐng)域中,機(jī)械手臂自動(dòng)檢測(cè)目標(biāo)物體的場(chǎng)景位置是一項(xiàng)重要的工業(yè)生產(chǎn)自動(dòng)化改進(jìn)。通過相機(jī)標(biāo)定處理后的目標(biāo)場(chǎng)景圖像進(jìn)行目標(biāo)的匹配識(shí)別和定位,其中涉及目標(biāo)圖像特征點(diǎn)的提取及匹配。下面簡(jiǎn)要論述其工作流程:①采集圖像,初始化。通過相機(jī)、掃描儀或其他圖像采集儀器采集目標(biāo)圖像的原始信息。在圖像采集的過程中,由于設(shè)備的機(jī)械原因或者操作人員的人為因素造成圖像尺寸、角度、格式、光照強(qiáng)度等方面的不良影響,所以要對(duì)采集的原始圖像進(jìn)行預(yù)處理操作。常用操作有圖像的幾何變換、二值化處理、灰度處理、去噪、濾波等,根據(jù)待檢測(cè)物體所受干擾進(jìn)行一項(xiàng)或多項(xiàng)選擇。②特征提取及匹配。圖像特征提取部分的作用是提取出最能表征目標(biāo)物體的表面特征信息,并將其轉(zhuǎn)化成特征向量或矩陣的形式。模式匹配是指系統(tǒng)用待測(cè)目標(biāo)圖像的特征信息和特征庫(kù)的特征信息進(jìn)行比對(duì),通過選擇合適的分類器達(dá)到識(shí)別的目的。
不同特征的選取能夠有效展現(xiàn)圖片不同角度的信息,常用的圖像特征有顏色特征、特征點(diǎn)特征、形狀特征、邊緣特征、紋理特征等。將表面具有缺陷的物體與無缺陷物體進(jìn)行對(duì)比、匹配,常用的特征點(diǎn)特征為SURF特征,對(duì)于每一個(gè)特征點(diǎn)都有對(duì)應(yīng)的尺度因子,在進(jìn)行匹配時(shí),當(dāng)兩個(gè)特征點(diǎn)尺度因子之間的比率等于圖像尺度的比率時(shí),視為同一特征點(diǎn),它具有較強(qiáng)的尺度不變性且計(jì)算效率較高;SIFT特征,在實(shí)時(shí)視頻流中有較多的應(yīng)用,相比SURF,運(yùn)算量較大,但在空間和位置上準(zhǔn)確率更高,適用于高精度要求且不考慮耗時(shí)的場(chǎng)景[2]。
本文使用的目標(biāo)圖像特征點(diǎn)提取及匹配方案的整體框架如圖1所示,首先特征提取模塊負(fù)責(zé)模板圖片和檢測(cè)圖片的特征點(diǎn)確定,可以根據(jù)實(shí)驗(yàn)?zāi)繕?biāo)的不同設(shè)置不同的特征點(diǎn)個(gè)數(shù),以提高匹配率。然后根據(jù)特征匹配的結(jié)果,使用描述符找到準(zhǔn)確囊括目標(biāo)物體矩形框的4個(gè)角點(diǎn),從而精準(zhǔn)確定物體位置。
圖1 圖像特征點(diǎn)提取及匹配方案整體框架圖
圖像中的邊緣與場(chǎng)景的物理屬性有直接的關(guān)聯(lián),因此可以從檢測(cè)到的邊緣中獲得很多場(chǎng)景與物體信息,所以邊緣檢測(cè)是圖像處理中的關(guān)鍵操作之一。由于數(shù)字圖像中的線、色彩、面積的檢測(cè)主要依靠邊緣檢測(cè)算子,其中檢測(cè)目標(biāo)物體作為前景和其背景之間的像素差異、光照區(qū)別、紋理不同尤為重要。故邊緣檢測(cè)算法主要用于如圖像分割、邊界檢測(cè)或目標(biāo)識(shí)別等。所有的邊緣檢測(cè)方法都是通過像素值有越階變化的像素點(diǎn),或者使用掩?;蛘唛撝祵?duì)像素或者像素組之間的灰度級(jí)差別進(jìn)行操作[3]。
不同的邊緣檢測(cè)算子側(cè)重的檢測(cè)點(diǎn)不同,導(dǎo)致檢測(cè)結(jié)果不一樣,所以在選擇邊緣檢測(cè)方法的時(shí)候要根據(jù)目標(biāo)對(duì)象的實(shí)際情況選擇并靈活使用。邊緣檢測(cè)算法通常計(jì)算圖片中各個(gè)鄰域及量化灰度值變化率,并網(wǎng)羅了像素梯度方向的認(rèn)定,絕大部分的測(cè)試方法基于微分運(yùn)算,以導(dǎo)數(shù)模板為基礎(chǔ)。根據(jù)導(dǎo)數(shù)階數(shù)計(jì)算的不同,可分為一階算子,常用的有Sobel算子、Prewitt算子、Robert算子等;二階算子常用的有Laplacian算子、LoG算子等。一階算子通常會(huì)產(chǎn)生較寬的邊緣信息,常用于邊緣檢測(cè),而二階算子對(duì)細(xì)節(jié)的增強(qiáng)及處理有更好的效果,多用于突出圖像紋理信息。
在獲取二值化圖像后,對(duì)圖像進(jìn)行邊緣檢測(cè),以及根據(jù)檢測(cè)物體的形狀特征進(jìn)行邊緣篩選,有效劃分出待檢測(cè)目標(biāo)對(duì)象的邊緣。為找到不同大小的缺陷,此處應(yīng)根據(jù)待檢測(cè)物體信息設(shè)置可變閾值對(duì)邊緣進(jìn)行篩選,得到目標(biāo)物體的外圍輪廓,所以對(duì)所有的輪廓進(jìn)行面積處理,對(duì)所有的邊緣進(jìn)行面積計(jì)算,求得方差,根據(jù)方差篩選出正確的目標(biāo)物體邊緣[4]。
目標(biāo)場(chǎng)景圖像經(jīng)過一系列去噪、增強(qiáng)、提取相關(guān)特征的操作后,基本滿足對(duì)目標(biāo)表面進(jìn)行缺陷檢測(cè)的前期必要條件。為了進(jìn)一步提高對(duì)目標(biāo)表面缺陷檢測(cè)的準(zhǔn)確率,可以根據(jù)已經(jīng)經(jīng)過預(yù)處理的圖像效果采取下一步操作。圖像中目標(biāo)的劃痕和自然凹陷細(xì)節(jié)已經(jīng)經(jīng)過處理顯現(xiàn)出來,故要對(duì)圖像進(jìn)行腐蝕、膨脹等形態(tài)學(xué)處理,根據(jù)具體情況做開、閉運(yùn)算操作,讓缺陷更加明顯[5]。
用連通域區(qū)域標(biāo)記目標(biāo)中的缺陷,即完成一次缺陷檢測(cè)工作。如果后期還需要對(duì)工業(yè)標(biāo)準(zhǔn)合格和不合格的目標(biāo)物體進(jìn)行抓取或其他操作,可用描述子準(zhǔn)確框定目標(biāo)并建立圖像坐標(biāo)系,提取坐標(biāo),為后續(xù)工作提供位置參考依據(jù)。
本文針對(duì)復(fù)雜的工廠流水線運(yùn)行場(chǎng)景的目標(biāo)物體,使用機(jī)器視覺技術(shù)及數(shù)字圖像處理做相機(jī)標(biāo)定、目標(biāo)識(shí)別、特征提取及匹配、邊緣特征提取等研究。利用Visual studio、OpenCV、Matlab等軟件技術(shù)和數(shù)字圖像處理方法實(shí)現(xiàn)對(duì)表現(xiàn)具有缺陷的目標(biāo)物體的識(shí)別定位工作和檢測(cè)工作,該方法的算法精度和效率均符合工業(yè)生產(chǎn)的基本要求。