陳思宇,慕麗,王欣威
(沈陽理工大學(xué)機(jī)械工程學(xué)院,遼寧沈陽 110159)
隨著科技的進(jìn)步,自動化在人類社會中扮演的角色越來越重要,尤其是在制造業(yè)當(dāng)中。機(jī)器視覺技術(shù)應(yīng)運(yùn)而生。機(jī)器視覺技術(shù)的應(yīng)用領(lǐng)域非常廣泛且復(fù)雜,大部分行業(yè)主要是依靠機(jī)器視覺技術(shù)作為眼睛和腦袋代替人類進(jìn)入一些工作環(huán)境較為復(fù)雜或者是單一重復(fù)的工作場景中工作,利用其自身自動化程度高的優(yōu)勢,解決人工無法作業(yè)的問題,并且節(jié)省了大量的勞動力,從而提高了生產(chǎn)效率和自動化程度。大部分機(jī)器視覺系統(tǒng)主要包括兩部分,一部分是硬件系統(tǒng)的選取,另一部分是軟件系統(tǒng)的設(shè)計。對于現(xiàn)有項(xiàng)目的研究,本文作者主要論述了應(yīng)用機(jī)器視覺相關(guān)技術(shù)對含有多條譜線的涂層板邊緣進(jìn)行提取。傳統(tǒng)的譜線提取大多是基于人工識別獲取坐標(biāo)點(diǎn)的方法進(jìn)行,不僅費(fèi)時而且精度較低。而作者旨在建立一個實(shí)時在位檢測系統(tǒng),縮短整個檢測過程的時間,提高檢測精度。檢測系統(tǒng)包括硬件結(jié)構(gòu)的搭建和軟件系統(tǒng)的編寫和優(yōu)化。系統(tǒng)的總體構(gòu)架如圖1所示。
圖1 系統(tǒng)總體構(gòu)架
在機(jī)器視覺中硬件系統(tǒng)的選取與搭建尤為重要,甚至直接影響結(jié)果的準(zhǔn)確性。比如相機(jī)與鏡頭的選取以及安裝的方式等都與圖像的清晰度有密切的關(guān)系,如果采集到的圖像質(zhì)量不高,即使邊緣提取算法設(shè)計得再精準(zhǔn),也很難得出較為精準(zhǔn)的答案。因此在機(jī)器視覺中硬件設(shè)備的選取是保證檢測結(jié)果準(zhǔn)確的第一步。
相機(jī)是整個在位檢測視覺系統(tǒng)的核心設(shè)備。在此系統(tǒng)中,待檢測的涂層板上面的譜帶區(qū)域大多是彩色分區(qū),所以應(yīng)首先考慮選用彩色相機(jī),然后根據(jù)待檢測區(qū)域的大小,確定相機(jī)的像素大小。其中還應(yīng)根據(jù)經(jīng)驗(yàn)選擇相機(jī)的傳感器尺寸,確定相機(jī)的輸出方式及標(biāo)準(zhǔn)(模擬/數(shù)字、速率等)。
綜上考慮,選取??低暭夹g(shù)有限公司生產(chǎn)的型號為MV-CA050-10GM的面陣相機(jī),其彩色相機(jī)使用的是Snoy的IMX264CMOS芯片,圖像質(zhì)量優(yōu)異且具有噪點(diǎn)低、分辨率高、性價比高等特點(diǎn),在全分辨率下的最高幀率可達(dá)到24.1 fps。
鏡頭在機(jī)器視覺系統(tǒng)中的作用就等同于眼睛在人類視覺系統(tǒng)中的作用。根據(jù)實(shí)際的生產(chǎn)環(huán)境合理選擇鏡頭在機(jī)器視覺系統(tǒng)中尤為重要。鏡頭的好壞主要影響到采集到的圖像的清晰度以及放大倍數(shù)的高低。其中鏡頭的參數(shù)主要包括鏡頭的分辨率、景深、焦距和光圈等。
除了要根據(jù)以上參數(shù)選取鏡頭外還要考慮相機(jī),相機(jī)與鏡頭合理配合,才能最大程度上提高圖像的清晰度。文中選擇的工業(yè)相機(jī)接口方式是C-Mount,所以鏡頭的接口要與之相配。工件與相機(jī)之間的實(shí)際高度大約是500 mm,視野范圍是800 mm×200 mm,因此選取的鏡頭的焦距為12 mm。綜合以上考慮,選取??低暭夹g(shù)有限公司生產(chǎn)的KF-E系列12 mmFA鏡頭。
在機(jī)械零件視覺檢測中,光源選取也在一定程度上影響成像質(zhì)量的好壞,決定整個檢測系統(tǒng)是否成功。合理的光學(xué)照明系統(tǒng)可以適當(dāng)?shù)赝怀龃龣z測零件中的有用信息,弱化無用信息,從而簡化后續(xù)的圖像預(yù)處理過程,保證成像的穩(wěn)定性,降低邊緣提取算法的復(fù)雜性。
根據(jù)檢測的譜線板上待提取的邊緣特征選用的是面光源,同時為了保證實(shí)驗(yàn)的準(zhǔn)確性,排除一些外在因素的影響,設(shè)計了一個暗箱。暗箱選用黑色不透明鋁塑板,創(chuàng)造一個暗室環(huán)境。同時為了保證光源的穩(wěn)定性,需要將光源搭配光源控制器使用。光源控制器除了保證光源的穩(wěn)定性,還可以對光源的亮度進(jìn)行調(diào)節(jié)。
硬件全部選取完成后就可以進(jìn)行機(jī)器視覺系統(tǒng)的搭建,然后對搭建好的硬件系統(tǒng)進(jìn)行調(diào)試,以確保硬件之間不會發(fā)生干涉現(xiàn)象。調(diào)試好的系統(tǒng)如圖2所示。
圖2 硬件系統(tǒng)
軟件系統(tǒng)的設(shè)計流程如圖3所示。首先拍取待檢測涂層板,然后對該圖像進(jìn)行標(biāo)定來確定坐標(biāo)系統(tǒng);接下來對圖像進(jìn)行預(yù)處理,消除圖像中的無關(guān)信息,使關(guān)鍵信息最大化地體現(xiàn)出來;然后提取譜帶的邊緣,得到的坐標(biāo)點(diǎn)發(fā)送到控制器中,進(jìn)行后續(xù)的操作。
圖3 軟件系統(tǒng)流程
利用LabVIEW和MATLAB兩個軟件進(jìn)行混合編程,主要是利用各自的優(yōu)勢:首先LabVIEW可以與市面上大多數(shù)的工業(yè)設(shè)備進(jìn)行良好的通信,并且其中包含大量的視覺處理函數(shù),最主要的是它采用的圖形化編程方法更加直觀清晰;而MATLAB包含強(qiáng)大的數(shù)據(jù)庫,可以實(shí)現(xiàn)算法上的突破,在精度與速度上具有優(yōu)越性。用LabVIEW中的VA助手將編好的程序?qū)С蒝I程序中可以縮減圖像處理的時間,而且LabVIEW可嵌入MathScript節(jié)點(diǎn),其語法和函數(shù)與MATLAB非常相似,因此可以在LabVIEW中編寫MATLAB程序,從而通過調(diào)用MATLAB中的程序來提高系統(tǒng)檢測的精度與速度。
此次的被測對象主要是涂層板。涂層板是一塊長為800 mm、寬為200 mm的鋁型板材,其中展開板上面的白色涂層為硅膠,其上的彩色物質(zhì)是從草藥中提取到的各種成分。實(shí)驗(yàn)?zāi)康闹饕抢脭?shù)控機(jī)床對涂層板上同一顏色區(qū)域進(jìn)行刮取與收集。其中涂層板如圖4所示。
圖4 涂層板示意
在實(shí)驗(yàn)過程中,當(dāng)被測對象達(dá)到指定位置后,光源打開,相機(jī)拍攝圖片并將拍好的圖片傳輸給計算機(jī)進(jìn)行后續(xù)處理。編寫程序框圖,程序編寫主要是運(yùn)用了隊列的思想,涂層板到位后先打開相機(jī),然后觸發(fā)拍照機(jī)制采集涂層板圖像,然后關(guān)閉相機(jī),涂層板進(jìn)入待處理區(qū)。在LabVIEW中進(jìn)行圖像采集程序的編寫,程序框圖如圖5所示。
圖5 圖像采集程序框圖
相機(jī)采集到的圖像是以像素尺寸為單位的,與實(shí)際的坐標(biāo)尺寸不一致,相機(jī)標(biāo)定的目的就是為了將像素坐標(biāo)與真實(shí)物理坐標(biāo)相對應(yīng)。需要注意的是標(biāo)定完成之后的系統(tǒng)中被測件與相機(jī)的相對位置不可改變。此測試系統(tǒng)選用的標(biāo)定方式為簡單標(biāo)定。
在位檢測系統(tǒng)進(jìn)行完圖像采集以及系統(tǒng)標(biāo)定之后,就可以進(jìn)行圖像分析。但是在實(shí)際的采集環(huán)境中不可避免地會受到一些不利影響,例如光照的影響、加工環(huán)境中的灰塵等因素,從而使采集到的圖像不是很理想,有的會摻雜一些無關(guān)信號,有的會缺少圖像中的關(guān)鍵信息,所以對圖像進(jìn)行預(yù)處理至關(guān)重要。圖像的預(yù)處理方法有很多種,例如灰度變換、二值化、圖像均衡化、圖像形態(tài)學(xué)變換、對比度改善等。文中的重點(diǎn)主要是多條譜線邊緣的提取且圖像中的噪聲基本可以忽略不計,所以文中主要用到的預(yù)處理方法是灰度變換和彩色圖像的均衡化。
2.4.1 灰度變換
在圖像的邊緣提取中,大多數(shù)的算法都是基于灰度信息進(jìn)行提取的?;叶茸儞Q主要是過濾掉彩色圖像中包含的彩色信息,選擇自己所需的灰度平面信息。與彩色圖像相比,計算機(jī)處理灰度圖片會相對簡單一點(diǎn)?;叶茸儞Q主要有3種方法:平均值法、最大值法、加權(quán)平均值法。本文作者對3種方法分別進(jìn)行實(shí)驗(yàn),得到較為清晰的圖像如圖6所示。
圖6 被測件灰度變換
2.4.2 彩色圖像均衡化
彩色圖像直方圖均衡化處理的中心思想與灰度均衡化大致相似,就是將相機(jī)采集到的彩色圖像中的包含彩色信息比較集中的某個部分變成在[0,255]區(qū)間上均勻分布。通過對圖像進(jìn)行非線性拉伸,重新分配圖像像素值,使像素在每個區(qū)間范圍內(nèi)的數(shù)量大致相同。其目的是調(diào)整整幅圖像的對比度,尤其是圖像中的有用數(shù)據(jù)對比度相當(dāng)接近的情況,它能以較小的計算量突出圖像的細(xì)節(jié)。在LabVIEW中主要應(yīng)用IMAQ ColorEqualize函數(shù)來實(shí)現(xiàn)此操作過程。經(jīng)過彩色圖像均衡化后的圖像如圖7所示。
圖7 彩色圖像均衡化
對比灰度變換與彩色圖像均衡化后得到的圖片可知:涂層板的灰度變換基本丟失了對比度不強(qiáng)的一部分涂層信息,而彩色圖像均衡化后的圖像增加了整幅圖像的對比度,使要提取的部分更加清晰,所以文中選用的預(yù)處理方法為彩色圖像均衡化。
2.5.1 傳統(tǒng)的邊緣檢測算法
在數(shù)字圖像處理中,邊緣檢測主要是通過尋找圖像中灰度顯著變化的區(qū)域來獲取圖像的邊緣信息,其中主要包括Roberts、Sobel、Prewitt、Laplacian、Canny等方法。Roberts、Prewitt、Sobel算子都屬于一階梯度算子的范疇。它們通過尋找梯度變化最為劇烈的像素區(qū)域,進(jìn)而確定出邊緣區(qū)域的位置所在。而Laplacian算子屬于二階微分算子,其原理是在圖像灰度值的二階微分中搜索零穿越,進(jìn)而確定其邊緣點(diǎn)。應(yīng)用以上算法分別對涂層板進(jìn)行邊緣提取,可得到如圖8所示圖像。通過對比可知傳統(tǒng)的基于灰度信息進(jìn)行邊緣提取的方法基本都丟失了大部分重要信息。
圖8 傳統(tǒng)算法的邊緣提取結(jié)果
2.5.2 基于彩色平面的邊緣檢測算法
傳統(tǒng)的邊緣檢測算法運(yùn)算量大,實(shí)時性差,而且傳統(tǒng)算法主要是基于圖像的灰度信息進(jìn)行處理,文中主要是為了提取彩色區(qū)域的邊緣,因此需要尋找新的適合機(jī)器視覺系統(tǒng)的直線檢測算法?!癗I Vision Assistant”是一個可快速實(shí)現(xiàn)圖像分析、處理的環(huán)境,編好的程序可導(dǎo)入到LabVIEW程序框圖中?;诓噬矫娴倪吘墮z測算法主要用到的是VA助手里面的邊緣檢測函數(shù),應(yīng)用此函數(shù)在提取邊緣時搜索的方向不僅僅局限于一維,而是按照其所選取的ROI方向進(jìn)行邊緣檢測,可以是任意圖形,例如直線、曲線、折線、矩形、圓形等。而且此算法不僅可以應(yīng)用于灰度圖像,也同樣適用彩色圖像,最主要的是它可以將提取到的邊緣點(diǎn)信息以坐標(biāo)的形式輸出,便于后續(xù)的處理。在VA助手中編好程序后將其導(dǎo)入到LabVIEW程序框圖中,基于檢測到的邊緣點(diǎn)使用MathScript節(jié)點(diǎn)函數(shù),通過編寫數(shù)據(jù)插值與曲線擬合的算法來確定最終的目標(biāo)邊緣。提取到的邊緣點(diǎn)坐標(biāo)如圖9所示。
圖9 邊緣點(diǎn)的提取
利用傳統(tǒng)的手動識別輸入坐標(biāo)點(diǎn)的方法進(jìn)行加工時,往往會因?yàn)樽V線邊緣識別不準(zhǔn)確,從而造成誤刷、漏刷現(xiàn)象。故而提出一種基于插值和擬合的方法來提高邊緣提取的精度,進(jìn)而提高系統(tǒng)的準(zhǔn)確度。插值與擬合的思想與亞像素精度十分類似。在得到邊緣的坐標(biāo)點(diǎn)之后,為了進(jìn)一步提高邊緣的精度,還需要在兩個相鄰數(shù)據(jù)之間增加一些數(shù)據(jù),這個過程就是插值(此測試系統(tǒng)所用到的插值方法是三次樣條插值法)。然后再基于這些數(shù)據(jù)得到一條光滑的曲線,即圖像的邊緣,這個過程便是擬合(此測試系統(tǒng)主要用到的擬合方法是多項(xiàng)式擬合)。
將提取到的邊緣坐標(biāo)點(diǎn)連接到MathScript節(jié)點(diǎn)的輸入中,在MathScript節(jié)點(diǎn)中編寫三次樣條插值和多項(xiàng)式擬合的程序,然后再以1為起始點(diǎn),1為步長,175為終止點(diǎn)將坐標(biāo)代入到擬合后的直線當(dāng)中,可得值,然后將值輸入到數(shù)控機(jī)床當(dāng)中,數(shù)控機(jī)床便可以操控滾刷來刮取涂層板的同一區(qū)域。程序如圖10所示,擬合結(jié)果如圖11所示。
圖10 基本程序框圖
圖11 擬合結(jié)果
先將涂層展開板放在傳送帶上,下達(dá)指令后傳送帶開始工作,涂層展開板隨著傳送帶進(jìn)入暗室內(nèi);到達(dá)位置后接近開關(guān)發(fā)送信號給光源控制器打開光源同時觸發(fā)相機(jī)的拍照功能采集圖像,采集到圖像后涂層板進(jìn)入待處理工作區(qū)中,等待加工;在涂層板離開工作位的同時,計算機(jī)對采集到的涂層板圖像進(jìn)行圖像處理及譜帶邊緣位置的識別,然后將得到的同一顏色的邊緣坐標(biāo)信息傳輸給控制器,進(jìn)而控制滾刷對譜線中同一區(qū)域進(jìn)行刮取與收集。加工過程如圖12所示。
圖12 加工過程圖
從檢測精度上來看,在傳統(tǒng)的檢測過程中,主要是利用人眼區(qū)分各個顏色的譜帶的邊緣位置,然后設(shè)置坐標(biāo)系,用直尺量出邊緣的坐標(biāo)點(diǎn),然后將坐標(biāo)點(diǎn)輸入到控制器中,進(jìn)而控制滾刷按照邊緣進(jìn)行同一區(qū)域的刮取。加工后的圖像如圖13所示。
圖13 傳統(tǒng)加工結(jié)果
按照在位檢測系統(tǒng)得到的坐標(biāo)信息對涂層板進(jìn)行刮取,加工后的圖像如圖14所示。
圖14 基于機(jī)器視覺的加工結(jié)果
通過觀察最下方譜帶刮取的效果可發(fā)現(xiàn):傳統(tǒng)的加工方法有較大的偏差,并且傳統(tǒng)方法走出的軌跡大多是折線,出現(xiàn)了漏刷與錯刷現(xiàn)象;而按照視覺系統(tǒng)提供的位置坐標(biāo)進(jìn)行加工時,由于采用了擬合的方法,軌跡大多為直線,從而提高了滾刷刮取的準(zhǔn)確性,而且整個過程都不需要人工的參與,大大減少了人為因素引起誤差的可能性。
從檢測速度上來看,傳統(tǒng)的人工檢測從識別出坐標(biāo)信息到輸入到控制器當(dāng)中大約需要8 min。而基于機(jī)器視覺的在位檢測系統(tǒng)從涂層展開板進(jìn)入暗箱完成圖像采集與處理到得出坐標(biāo)信息輸入到PLC控制器當(dāng)中,此過程時間大約為45 s,所以整個過程的檢測速度滿足實(shí)驗(yàn)的要求。
通過對此系統(tǒng)進(jìn)行現(xiàn)場流水線的加工測試,并與傳統(tǒng)的人工檢測方法進(jìn)行對比,得出基于機(jī)器視覺的在位檢測系統(tǒng)無論是在精度上還是速度上都優(yōu)于傳統(tǒng)的檢測方法,因此在實(shí)際生產(chǎn)生活中更加適用。通過分析灰度平面與彩色平面對邊緣提取的效果,設(shè)計了彩色邊緣提取方法,同時設(shè)計了基于三次樣條插值和多項(xiàng)式擬合的邊緣檢測算法,從而提高了邊緣點(diǎn)檢測的精度,使機(jī)器能準(zhǔn)確識別圖像邊緣,大大減少了人力資源成本。