劉艷雄,張亮杰
(武漢理工大學(xué) 現(xiàn)代汽車零部件技術(shù)湖北省重點(diǎn)實(shí)驗(yàn)室,武漢 430070)
隨著精沖技術(shù)的不斷發(fā)展,精沖成形由于其優(yōu)質(zhì)、高效和低耗的特點(diǎn),在航空航天、機(jī)械、汽車、電子和軍工等領(lǐng)域得到了愈來愈廣泛的應(yīng)用。以汽車產(chǎn)業(yè)為例,采用復(fù)合精沖成形技術(shù)生產(chǎn)的變速換擋機(jī)構(gòu)總成,座椅調(diào)角器總成,發(fā)動(dòng)機(jī)鏈輪、端蓋等精密零部件得到廣泛應(yīng)用。目前,美、德、日等發(fā)達(dá)國家,一輛小轎車上一般至少有100個(gè)零件采用精沖件,有的甚至達(dá)到200個(gè)精沖件[1]。
零件在大規(guī)模生產(chǎn)中難免會(huì)產(chǎn)生缺陷,而目前對(duì)于精沖零件的缺陷檢測絕大多數(shù)使用的是傳統(tǒng)的人工抽樣檢測的方法,這種方法不僅效率低下,而且容易出錯(cuò),不適宜現(xiàn)代智能化制造的發(fā)展要求。對(duì)于精沖零件的斷面特征,主要包括塌角、光亮帶、撕裂帶和毛刺,我們希望得到的精沖零件能獲得100%的光亮帶但實(shí)際生產(chǎn)中很難得到全光亮帶,斷面上通常容易產(chǎn)生撕裂帶,但只要撕裂帶控制在一定的比例以下,不影響零件的使用要求,也可認(rèn)為是合格產(chǎn)品,這樣無疑增加了人工檢測的難度。
如今隨著計(jì)算機(jī)互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,智能化生產(chǎn)的概念得到了廣泛的普及,機(jī)器視覺技術(shù)在智能化生產(chǎn)中有著廣闊的應(yīng)用前景,并可成為精沖零件缺陷檢測的主要方法。機(jī)器視覺使用機(jī)器來代替人眼進(jìn)行傳統(tǒng)的檢測和判斷,提高了生產(chǎn)線的自動(dòng)化和智能化程度,大大提高了生產(chǎn)效率和生產(chǎn)的自動(dòng)化程度[2]。而且機(jī)器視覺易于實(shí)現(xiàn)信息集成,是基于計(jì)算機(jī)實(shí)現(xiàn)智能化生產(chǎn)的基礎(chǔ)技術(shù)[3]。目前機(jī)器視覺技術(shù)已廣泛應(yīng)用在:PCB板自動(dòng)檢測[4]、汽車車身焊接檢測以及基于模型的視覺檢測等領(lǐng)域。典型的機(jī)器視覺系統(tǒng)主要包括CCD相機(jī)、光源、鏡頭、圖像采集卡、計(jì)算機(jī)等設(shè)備。
為了提高精沖零件生產(chǎn)效率,促進(jìn)精沖成形智能化制造,本文提出了一套基于機(jī)器視覺的精沖零件斷面缺陷檢測系統(tǒng)。該系統(tǒng)由硬件系統(tǒng)和計(jì)算機(jī)軟件系統(tǒng)系統(tǒng)兩大部分組成,通過圖像采集設(shè)備獲取精沖零件斷面信息,再通過圖像處理提取零件斷面缺陷信息。在缺陷檢測的過程中,本文根據(jù)撕裂帶的高度來判斷零件是否合格,并取得了較好的效果。
相機(jī)是機(jī)器視覺系統(tǒng)的核心部件,相機(jī)的選擇一般考慮分辨率、靈敏度、信噪比和成本等因素,本系統(tǒng)根據(jù)檢測的精沖零件,選擇面陣黑白CCD相機(jī)。
設(shè)傳送帶移動(dòng)速度為v米/秒,相機(jī)的最大采集速度為p幀/秒,零件長度為L,高度為H,相機(jī)視野為A×B,相機(jī)分辨率為C×D,規(guī)定的檢測速度要求至少為n個(gè)/秒,每個(gè)零件的檢測時(shí)間為t,則相機(jī)在拍照過程中零件移動(dòng)的距離為:

以上參數(shù)的選擇需滿足以下兩個(gè)條件:
1)每個(gè)零件的檢測時(shí)間需小于技術(shù)規(guī)定的時(shí)間,即t<1/n;
2)相機(jī)在長度方向的視野需大于零件前進(jìn)的距離和零件的長度之和,即A>△L+L;
系統(tǒng)以常見的精沖零件—變速器換擋撥叉為例,長度L=115mm,高度H=10mm,并要求檢測速度為10個(gè)/秒,相機(jī)的采集速度為50幀/秒,由上述兩個(gè)條件可得:

現(xiàn)場環(huán)境不考慮干擾物的情況下,相機(jī)視野A×B可選為150mm×40mm,我們規(guī)定系統(tǒng)的檢測精度為0.1mm,所以相機(jī)的分辨率為:

即相機(jī)至少要保證625×200的分辨率才能滿足精度為0.1mm的檢測要求,分辨率越高檢測效果越好,但考慮到成本因素,選擇640×480的分辨率的相機(jī)即可。
光源的選擇對(duì)機(jī)器視覺缺陷檢測有很大的影響,本系統(tǒng)選擇常用的LED光源,LED光源因其能耗低,可靠性高,價(jià)格便宜,廣泛應(yīng)用在機(jī)器視覺系統(tǒng)上,同時(shí)光源要保持穩(wěn)定、色質(zhì)要均勻[5]。
光電開關(guān)是整個(gè)系統(tǒng)的主要控制部件之一,系統(tǒng)中相機(jī)的拍攝時(shí)間通過光電開關(guān)來控制,當(dāng)零件在運(yùn)動(dòng)過程中觸發(fā)光電開關(guān)時(shí),光電開關(guān)將信號(hào)傳遞給計(jì)算機(jī),計(jì)算機(jī)控制相機(jī)進(jìn)行拍照。光電開關(guān)將發(fā)射端和接收端光的強(qiáng)弱變化轉(zhuǎn)變?yōu)殡娦盘?hào),按型號(hào)可分為:漫反射式光電開關(guān)、鏡反射式光電開關(guān)、對(duì)射式光電開關(guān)等[6],本系統(tǒng)采用一組對(duì)射式光電開關(guān)。調(diào)整光電開關(guān)在檢測線上相對(duì)時(shí)間,可以調(diào)整被檢測零件在照相區(qū)域的相對(duì)位置和大小,因此合理布置光電開關(guān)的位置,使被檢測零件正好在相機(jī)成像區(qū)域的中間。為獲得良好的拍攝效果,我們將光電開關(guān)安裝在相機(jī)的前方,當(dāng)零件運(yùn)行過程中遮住光電開關(guān)的光路時(shí),光電開關(guān)將信號(hào)傳遞給計(jì)算機(jī),計(jì)算機(jī)控制相機(jī)進(jìn)行拍照,整個(gè)系統(tǒng)的原理如圖1所示,圖a為原理圖,圖b為簡易的試驗(yàn)裝置,本文后續(xù)的處理圖片都由此裝置所得。

圖1 光電開關(guān)布置示意圖
圖像的采集模塊是整個(gè)系統(tǒng)運(yùn)行的關(guān)鍵模塊之一,完成零件運(yùn)動(dòng)過程中表面缺陷的采集工作,不穩(wěn)定的圖像采集質(zhì)量會(huì)影響最后的檢測效果。為獲得良好的采集效果,除了保證良好的光源效果外,還需要設(shè)置合適的相機(jī)參數(shù),如曝光時(shí)間、相機(jī)的打開和關(guān)閉時(shí)刻等。
本系統(tǒng)中圖像采集使用Labview中的NI模塊對(duì)相機(jī)進(jìn)行控制,控制參數(shù)主要有打開相機(jī)、配置相機(jī)參數(shù)、單次拍攝或連續(xù)拍攝、關(guān)閉相機(jī)等。相機(jī)在拍攝過程中,零件是在傳送帶上運(yùn)動(dòng),為防止圖像出現(xiàn)“拖影”現(xiàn)象,我們需設(shè)計(jì)較小的曝光時(shí)間。相機(jī)的增益表示CCD感光元件的感光速度,增益越大,感光能力越強(qiáng),對(duì)曝光的時(shí)間需求越小。在實(shí)際使用過程中,增益越小,圖像的細(xì)節(jié)表現(xiàn)的越充分,增益越大,圖像亮度越大,但噪點(diǎn)也隨之增多,圖像質(zhì)量會(huì)變差,增益參數(shù)的設(shè)置需綜合考慮相機(jī)的參數(shù)和檢測需求。
相機(jī)將拍攝的零件圖片傳遞給計(jì)算機(jī),計(jì)算機(jī)再進(jìn)行圖像處理,來判斷零件是否合格。常見的圖像處理技術(shù)包括圖像分割、圖像濾波、圖像二值化等。本系統(tǒng)的流程如圖2所示,首先相機(jī)拍照,然后計(jì)算機(jī)進(jìn)行預(yù)處理,對(duì)可疑零件進(jìn)行后處理,最后判斷零件是否合格。

圖2 圖像處理流程
零件在大批量生產(chǎn)過程中難免會(huì)出現(xiàn)缺陷,但大部分零件是合格的,如果對(duì)生產(chǎn)的所有零件都進(jìn)行整套的檢測流程,必然會(huì)影響檢測效率。本系統(tǒng)首先進(jìn)行預(yù)處理流程來剔除大部分合格的零件,對(duì)有可疑目標(biāo)的零件再進(jìn)行后處理流程,最終判斷零件是否合格。
相機(jī)拍照傳遞給計(jì)算機(jī)后,計(jì)算機(jī)首先對(duì)零件圖像進(jìn)行預(yù)處理,以判斷零件是否合格,若零件有可疑目標(biāo),則需計(jì)算機(jī)對(duì)零件圖像進(jìn)行后處理來判斷零件最終是否合格。本系統(tǒng)的預(yù)處理流程主要包括:圖像分割、圖像濾波和增強(qiáng)、邊緣檢測。
相機(jī)拍攝的一幅照片中,零件往往只占其中的一小部分,而如果將整個(gè)圖片都進(jìn)行圖像預(yù)處理,將極大增加計(jì)算成本和硬件投入,所以首先需使用圖像分割技術(shù)提取圖像中的主要目標(biāo)。如圖3所示,當(dāng)零件在傳送帶上運(yùn)動(dòng),相機(jī)對(duì)零件進(jìn)行拍照時(shí),零件只可能會(huì)出現(xiàn)在圖像的中間區(qū)域,而上下兩個(gè)區(qū)域都是無效的,僅對(duì)有零件的區(qū)域進(jìn)行圖像處理技術(shù)即可。因此,可在檢測程序配置攝像頭的時(shí)候進(jìn)行圖像有效區(qū)域預(yù)先標(biāo)定,選出傳送帶上零件可能出現(xiàn)的區(qū)域,在檢測程序開始工作后,每獲取一張照片,就通過預(yù)設(shè)的有效區(qū)域范圍對(duì)照片進(jìn)行截取,這可將500萬像素的圖像截取到100萬像素以下,從而極大地提高識(shí)別速度,減少消耗時(shí)間,提升效率。

圖3 零件有效區(qū)域示意圖
為獲得良好的檢測圖像,消除外在因素的影響,我們需對(duì)圖像進(jìn)行濾波處理。目前常用的濾波方法分空域?yàn)V波和頻域?yàn)V波,空域?yàn)V波是在圖像空間中借助模板進(jìn)行領(lǐng)域操作完成的,根據(jù)操作特點(diǎn)可分為線性濾波和非線性濾波,根據(jù)濾波效果又可分為平滑濾波和銳化濾波[7]。目前常用的空域?yàn)V波主要是中值濾波,它是一種去除噪聲的非線性濾波方法,其基本原理是把數(shù)字圖像或數(shù)字序列中一點(diǎn)的值用該點(diǎn)領(lǐng)域中各點(diǎn)的中值代替,設(shè)輸入序列為{xi,i∈I},I為自然數(shù)集合或子集,則濾波器的輸出如式(3)所示:

式中,i∈I,n為窗口長度,u=(n-1)/2。
中值濾波是非線性運(yùn)算,可以有效的抑制椒鹽噪聲,但對(duì)高斯噪聲的抑制效果并不理想,但與線性濾波相比,中值濾波可以保護(hù)圖像邊緣,便于后面的邊緣提取[8],故本系統(tǒng)采用中值濾波,如圖4為濾波后的效果,經(jīng)濾波后零件斷面上一些細(xì)小的噪點(diǎn)得以去除,圖像質(zhì)量得到了明顯的改善。

圖4 濾波前后圖像對(duì)比
邊緣檢測技術(shù)對(duì)于數(shù)字圖像處理非常重要,本系統(tǒng)的預(yù)處理流程就是根據(jù)邊緣提取后的零件圖像來剔除掉大部分合格的零件,良好的邊緣檢測效果可以大大提高檢測效率。精沖零件圖像的邊緣主要包括零件的輪廓、毛刺、撕裂帶等特征,目前主要的邊緣提取算法有Roberts,Sobel,Prewitt,Laplas以及Canny算法[9],下面主要介紹Sobel和Canny算子的優(yōu)缺點(diǎn),并選取適合本設(shè)計(jì)的邊緣檢測方法。
Sobel算子是經(jīng)Prewitt算子改進(jìn)得出的,主要方法是將與中心像素距離較近的點(diǎn)的權(quán)值加大,與中心像素距離較遠(yuǎn)的點(diǎn)的權(quán)值減小,表達(dá)式如下所示:

Sobel算子的兩個(gè)卷積計(jì)算核分別為:

利用上述兩個(gè)矩陣分別為x、y方向卷積模板,由此可推出圖像中每個(gè)點(diǎn)的梯度幅值的數(shù)學(xué)表達(dá)式為[10]:

Soble是一組方向梯度算子,從不同的方向檢測邊緣,并不是簡單的求平均再差分,而是加強(qiáng)了中心像素上下左右四個(gè)方向的權(quán)重。Sobel算子首先對(duì)圖像進(jìn)行了平滑處理,具有一定的抑制噪聲的能力,通常對(duì)灰度漸變和噪聲較多的圖像處理的較好,但不能排除檢測結(jié)果中出現(xiàn)的虛假邊緣[11]。
從圖5可以看出,Sobel算子能得到較好的邊緣檢測效果,本文采用Sobel算法檢測邊緣信息,得出的輪廓比較清晰規(guī)則,沒有偽邊緣產(chǎn)生,但Sobel得出的圖片效果較暗,所以對(duì)一部分有可疑目標(biāo)的零件,我們還需要進(jìn)行圖像后處理操作。

圖5 圖像邊緣提取
對(duì)于一個(gè)精沖零件,它的斷面主要包括光亮帶、撕裂帶、塌角和毛刺。正常的精沖零件斷面難免會(huì)出現(xiàn)撕裂帶,但只要斷面撕裂帶的垂直最大高度占斷面高度的百分比不超過一定數(shù)值時(shí),仍認(rèn)定零件是合格的。本系統(tǒng)預(yù)處理流程將邊緣檢測后的圖片進(jìn)行處理,判斷零件斷面是否有撕裂帶。

圖6 精沖零件斷面特征圖
首先需從圖像中提取輪廓信息,為確定工件位置,需先提取左右輪廓。先遍歷圖像上所有的點(diǎn)g(i,j),找出圖像中最左和最右側(cè)的點(diǎn)進(jìn)行左右輪廓提取。設(shè)最左側(cè)和最右側(cè)的點(diǎn)一次為左上點(diǎn)為p1(x1,y1),左下點(diǎn)位p2(x2,y2),右上點(diǎn)為p3(x3,y3),右下點(diǎn)位p4(x4,y4)。則x1=x2為最左端出現(xiàn)的點(diǎn),x3=x4為最右端出現(xiàn)的點(diǎn)。之后遍歷i=x1上所有的點(diǎn),找到最高點(diǎn)為y1,最低點(diǎn)為y2,其中若y2-y1的長度小于50像素,說明找到的i=x1是偽邊緣,則放棄i=x1繼續(xù)向右尋找,知道找到為止。經(jīng)過處理,得到的左右邊緣如圖7所示:

圖7 左右輪廓提取示意圖
提取出左右邊緣后,根據(jù)左右邊緣處點(diǎn)的坐標(biāo),可以去除掉輪廓邊緣,剩下的既是缺陷。如果輪廓邊緣內(nèi)含有明顯的撕裂帶邊緣信息,則判定零件為可疑零件,需進(jìn)行圖像預(yù)處理;若沒有明顯的撕裂帶邊緣信息,則直接判定零件合格,刪除圖像,不需要進(jìn)行后處理流程。由于精沖機(jī)的加工特性,零件表面可能會(huì)殘留豎紋狀表面痕跡,但這不屬于缺陷范圍,在高靈敏的圖像識(shí)別過程中可能被記錄,所以要剔除這部分輪廓帶來的干擾。
圖像進(jìn)過預(yù)處理流程后,能排除掉大部分合格的零件,但仍有一小部分圖像不能判斷零件是否合格,此時(shí)需要更精確的后處理流程。圖像經(jīng)過后處理流程后,能檢測出其中有缺陷的零件,并對(duì)有缺陷的零件,檢測出其缺陷的位置、撕裂帶的高度其面積的大小。
將灰度圖像進(jìn)行閾值分割可以得到二值化圖像,二值化可將圖像中目標(biāo)(本系統(tǒng)中目標(biāo)為零件表面缺陷)從背景中分離出來,從而得到目標(biāo)的形狀、位置等重要特征。
在二值化圖像中通常用像素1或像素255來代表物體,用像素0來代表背景。圖像二值化的核心是確定一個(gè)合適的灰度值T或灰度區(qū)間來作為閾值,以此來分割圖像,如下式所示:

上式中T的選取直接影響分割效果。如果T選取的過大,則會(huì)使目標(biāo)旁邊產(chǎn)生一些細(xì)小的黑斑;如果T選取過小,則會(huì)將零件輪廓顯示出來,影響檢測精度。如圖8所示為二值化后的圖像。

圖8 二值化后圖像
通過合理的二值化,可以將零件表面缺陷從背景中提取出來,接下來可以使用粒子分析的方法,去除掉其中圖像中可能存在的噪點(diǎn),并推算出缺陷的位置、面積等特征。去除多余粒子,提取出的缺陷圖如圖9所示。

圖9 提取出來的缺陷
本文使用常用的精沖零件—汽車變速器換擋撥叉為例進(jìn)行試驗(yàn),使Labview作為軟件平臺(tái)進(jìn)行試驗(yàn),并結(jié)合matlab計(jì)算撕裂帶高度及其面積。
預(yù)處理之后,對(duì)于表面有可疑目標(biāo)而無法判斷的零件,需進(jìn)行后處理流程。后處理流程首先對(duì)圖像進(jìn)行二值化,把圖像的背景與目標(biāo)分離出來,本文結(jié)合圖像的灰度直方圖確定閾值范圍,二值化后零件表面的缺陷從背景中分離了出來,效果較理想。二值化后,就可以利用粒子分析功能來計(jì)算表面缺陷的特征,如缺陷面積、位置、撕裂帶最大垂直高度等。將這些數(shù)據(jù)做統(tǒng)計(jì)分析,對(duì)實(shí)際生產(chǎn)具有很好的指導(dǎo)意義。圖10是將表面缺陷特征用矩形框選出來,表1是以常見的精沖零件—變速器撥叉為例得出的缺陷撕裂帶最大垂直高度和面積。

圖10 零件斷面缺陷信息圖

表1 計(jì)算出各個(gè)缺陷面積及撕裂帶最大垂直高度(單位為像素)
表1只列舉了幾個(gè)比較大的缺陷特征,從表1中可知,精沖零件斷面各缺陷信息,而該撥叉凸臺(tái)高度約為102個(gè)像素值。由于該斷面不是零件的主要工作面,允許的撕裂帶占比為30%,固可判斷該零件合格。
本文以汽車上常用的精沖零件為例,將機(jī)器視覺技術(shù)應(yīng)用在精沖零件斷面缺陷檢測技術(shù)上,設(shè)計(jì)了整個(gè)機(jī)器視覺系統(tǒng)的工作流程,通過對(duì)零件圖像的采集和處理,計(jì)算出撥叉的高度和斷面缺陷撕裂帶面積和最大垂直高度,進(jìn)而能判斷零件是否合格,實(shí)驗(yàn)證明取得了良好的效果,并且本系統(tǒng)具有很好的柔性化程度,可以應(yīng)用在各種不同的生產(chǎn)線上,對(duì)實(shí)現(xiàn)精沖成形智能化制造具有重要意義。
[1] 周開華.精沖技術(shù)的發(fā)展與應(yīng)用[J].模具制造,2008,3:1-7.
[2] 劉金橋,吳金強(qiáng).機(jī)器視覺系統(tǒng)發(fā)展及其應(yīng)用[J].機(jī)械工程與自動(dòng)化,2010,1:216-218.
[3] 厲曉飛.基于機(jī)器視覺的汽車零件缺陷檢測技術(shù)研究[D].武漢理工大學(xué),2012.
[4] Moganti M, Ercal F, Dagli CH. Automatic PCB inspection algorithms:a survey[J].Computer Vision and Image Understanding, 1996,63(2):287-313.
[5] 姜磊,韓承江,于化龍,等.基于機(jī)器視覺系統(tǒng)在飲料行業(yè)中的應(yīng)用研究[J].食品工業(yè)科技,2010,31(5):384-385.
[6] 蔣慧海.光電開關(guān)的原理及應(yīng)用[J].銅業(yè)工程,2009(2):41-46.
[7] 姚敏.數(shù)字圖像處理[M].北京:機(jī)械工業(yè)出版社,2012.
[8] Abouelela A, Hazem M A, Hesham E. Automated vision system for localizing structural defects in textile fabrics[J].Pattern Recognition Letters,2005,26(10):1435-1443.
[9] Doronicheva A.V, Socolov A.A, Savin S.Z. Using sobel operator for automatic edge detection in medical images[J].Journals of Mathematics and System Science,2014,4:256-260.
[10] 葉楓.基于灰度圖像的邊緣檢測方法研究[D]. 西北工業(yè)大學(xué),2003.
[11] 張潔. 數(shù)字圖像邊緣檢測技術(shù)的研究[D].合肥工業(yè)大學(xué),2009.