(1.咸陽師范學(xué)院 計算機學(xué)院,陜西 咸陽 712000; 2.西藏民族大學(xué) 信息工程學(xué)院,陜西 咸陽 712000)
隨著電子制造業(yè)的飛速發(fā)展,越來越多的電子設(shè)備需要各種連接線(帶插頭),比如接插線、通訊連接線、電腦連接線、汽車連接線、屏蔽線等。這些連接線內(nèi)部是由各種顏色的散線按一定順序排列組成,每種用途的線由不同顏色的散線按不同的順序排列。比如A類網(wǎng)線(雙絞線)的線序為:白綠、綠、白橙、藍、白藍、橙、白棕、棕。由于生產(chǎn)過程不可預(yù)知因素,生產(chǎn)出來的線束顏色排序可能發(fā)生了變化,那么不符合顏色排序規(guī)則的就是不合格產(chǎn)品。因此在實際中就需要將這些不合格產(chǎn)品剔除出去,不能在市場上售賣。目前大多靠人眼判別的方法進行產(chǎn)品檢驗,而在線序檢測中,并排的導(dǎo)線往往較細,個別線之間的顏色有時也會較相似,長時間專注的檢測極易引起視覺疲勞,會導(dǎo)致漏錯和檢錯,從而也會降低企業(yè)的生產(chǎn)效率和產(chǎn)品質(zhì)量。隨著信息化、工業(yè)化、自動化的發(fā)展,用機器視覺代替人工視覺進行線序檢測越來越受到關(guān)注。
各種連接線的線束一般是按不同的顏色排列的,因此顏色特征是最明顯的特征。顏色特征是一種全局特征,與其他的視覺特征相比,顏色特征對檢測對象的尺寸、方向、視角依賴性較小,能較好表征線束表面的特征。使用顏色特征識別不同的導(dǎo)線,是線序檢測中常用的一種有效方法。常用的顏色特征提取方法有顏色直方圖、顏色集、顏色矩、顏色聚合向量、顏色相關(guān)圖等,其中直方圖是最常用方法[1],它不受圖像旋轉(zhuǎn)和平移變化的影響,歸一化直方圖方法[2]則不受圖像尺度變化的影響,但是直方圖方法不能表達顏色空間信息,它適用于比較難分割的圖像,不適用于線序檢測。而二維直方圖則常用于圖像分割[3]。顏色集方法[4]將圖像從RGB空間轉(zhuǎn)化到視覺均衡的顏色空間中,并對顏色空間量化成bins;再將圖像劃分成區(qū)域,用量化顏色空間的bin索引每個區(qū)域,整幅圖像就可以用一個顏色索引集表示。圖像匹配時只需比較顏色集距離和區(qū)域空間關(guān)系即可。顏色矩[5]能避免顏色量化對顏色特征的影響,是圖像檢索中常用的方法,能有效體現(xiàn)圖像中顏色的分布狀況,有一階矩、二階矩和三階矩等;顏色矩包括3個顏色分量及每個分量上的3個低階矩,共9個分量。相比之下顏色矩表達比較簡潔,不需量化,向量維數(shù)低,但是其檢索效率不高。直方圖和顏色矩方法都無法表達圖像色彩的空間位置,因此提出使用顏色聚合向量方法,它是對直方圖方法的一種改進[6],常被應(yīng)用于圖像檢索[7-8]。顏色聚合向量法用閾值將直方圖中的每個bin分為兩部分,如果bin內(nèi)的像素所占連續(xù)連通區(qū)域的面積大于閾值,則這些像素作為聚合像素,否則為非聚合像素。若αi,βi分別表示直方圖中第i個bin中聚合像素和非聚合像素的個數(shù),那么圖像的顏色聚合向量為<(α1,β1),(α2,β2),…,(αn,βn)>,顏色直方圖為<α1+β1,α2+β2,…,αn+βn>;由此可以看到顏色聚合向量包含了圖像顏色分布的空間信息,在圖像檢索中效果較好。顏色相關(guān)圖方法不但能體現(xiàn)圖像中某種顏色的像素占整個圖像像素的比例,還能體現(xiàn)顏色對的空間相關(guān)性;但是在處理任何顏色之間的相關(guān)性的圖像時,其生成的顏色相關(guān)圖會變得很復(fù)雜,時間復(fù)雜度較高。
在利用顏色特征對線序進行檢測時,考慮到算法檢測結(jié)果的準確度和算法的時間復(fù)雜度問題,本文采用了顏色聚合向量方法進行線序檢測。首先描述了對線束圖像進行預(yù)處理、顏色空間轉(zhuǎn)換與CCV顏色特征提取的方法,然后給出特征匹配方法,接著描述了線序檢測的過程步驟,最后使用該方法進行實驗并分析實驗結(jié)果。
由于在拍攝線束的圖像中會包含著一些顏色噪聲,這些噪聲在一定程度上會影響檢測精度,因此有必要除去這樣的噪聲。欲有效地消除噪聲,則需要采用適合的濾波方法。在本類檢測場景中采用中值濾波消除噪聲是較好的方法。圖像的中值濾波是把圖像中局部區(qū)域中各個點的像素值按大小順序排列,然后將其中間值作為輸出值。即在輸入圖像中用奇數(shù)值為邊長的窗口滑動,并把滑動窗口中的像素抽取出來按顏色值的大小順序排列為一個一維序列f1,f2,…,fn,再在該序列中取其序號為中心點的那個像素值作為濾波輸出??捎靡韵鹿?1)表示中值濾波:
(1)
色彩是人類視覺系統(tǒng)對光的反應(yīng)和光與物體的相互作用的感知。它是光源、表面光譜反射率和傳感器靈敏度(即,數(shù)字傳感器或人眼錐體)的產(chǎn)物。顏色特征檢測是線序檢測中最常用的方法。因為圖像背景的復(fù)雜度及其圖像大小和方向?qū)D像的顏色影響不大。顏色特征提取的關(guān)鍵問題包括顏色空間、顏色量化和相似性函數(shù)的選擇。圖像的每個像素可以表示為3D顏色空間中的點,如果描述一個圖像的顏色特征,必須首先確定使用的顏色空間。用數(shù)值來描述顏色空間的一般模型包括RGB,CYMK,YCbCr,HSV等,不同顏色空間的選取取決于實際的需求。本文在對線序進行檢測時,采用了HSV顏色空間。
常用的顏色空間是紅綠藍的RGB空間,它由紅色、綠色和藍色3個原色色度定義,并且可以產(chǎn)生由這些顏色定義的任何色度。由于RGB顏色空間是三維矢量空間,并且每個像素由紅色、綠色和藍色的有序三元組(R、G、B)定義,它們分別表示紅色、綠色和藍色光顏色的強度。HSV顏色空間與RGB顏色空間有著本質(zhì)的不同,因為它從顏色信息中分離出了光強度。本文用HSV顏色空間代替RGB顏色空間,主要有兩個原因,一是明度分量是圖像的獨立因素,二是色調(diào)和飽和度的分量與人類視覺感知的模式緊密相連。HSV顏色空間模型由3個部分組成:色調(diào)H,范圍從0°~360°,起始于0°的紅色原色,經(jīng)過120°的綠色原色和240°的藍色原色,然后回到360°的紅色;飽和度S,范圍從0到100%,有時被稱為“純度”值;顏色亮度V,范圍從0到100%。從RGB顏色空間轉(zhuǎn)移到HSV顏色空間[9]的公式定義如式(2),公式中的R、G和B為紅綠藍3種原色。
(2)
顏色聚合向量(CCV)是一種更復(fù)雜的顏色特征表達方法[10],它能包含圖像顏色的分布空間信息,避免了直方圖方法提取顏色特征信息過程中不能體現(xiàn)圖像色彩空間位置信息的缺點。一般情況下,將像素屬于一個顏色相似區(qū)域的程度定義為顏色相關(guān)性,將這些顏色相似的區(qū)域稱為相干區(qū)域,它們對于表示圖像非常重要。根據(jù)顏色相關(guān)性的度量將像素分為相干和不相干兩類,相干像素是鄰接較大區(qū)域的一部分,而非相干像素則是分散不相接的零碎區(qū)域。而顏色相關(guān)性向量就是表示圖像中每個顏色的這種相干性程度。按照相關(guān)性把相關(guān)的像素分為聚合類像素(coherence pixels),把不相干的像素分為非聚合類像素(incoherence pixels)。聚合類像素屬于一個大的相鄰接的連通區(qū)域,非聚合類像素位于一個小的零散的連通區(qū)域。屬于聚合類像素連通區(qū)域大小通過閾值給定,通常取值為整幅圖像像素數(shù)的1%。如果連通區(qū)域中的像素數(shù)大于整幅圖像像素數(shù)的1%,則該連通區(qū)域中的像素為聚合像素。
在對圖像提取CCV特征時,首先使用3×3的模板對目標圖像進行平滑濾波,接著采用均勻量化方法把0~255的顏色區(qū)間量化為32個顏色區(qū)間,即直方圖的32個bin,然后劃分相關(guān)性像素的連通區(qū)域,每一個連通區(qū)域只有一個量化的灰度值,最后計算顏色聚合向量CCV的值。圖像的CCV特征值用式(3)表示,而圖像一般的顏色直方圖則使用式(4)表示:
CCV=[(C1,N1)、(C2,N2)、…、(Ci,Ni)、…、(Cn,Nn)]
(3)
HIST=[(C1+N1)、(C2+N2)、…、
(Ci+Ni)、…、(Cn+Nn)]
(4)
式中,i為每一個顏色區(qū)間的灰度級,對應(yīng)直方圖的每一個bin,Ci是聚合像素的個數(shù),即灰度值為i的所有大的連通區(qū)域像素之和,Ni是非聚合像素的個數(shù),即灰度值為i的所有零散的小連通區(qū)域像素之和。由式(3)可以看出,CCV是一種更復(fù)雜的直方圖,由兩個直方圖組成,一個為統(tǒng)計聚合像素的直方圖,一個為統(tǒng)計非聚合像素的直方圖。
(5)
式中,兩圖像的距離D的值在一定的閾值范圍內(nèi)表示他們的顏色特征相似,本文中使用的閾值范圍為[0, 1.5],默認為1.0。D的值越小,說明兩圖像顏色特征越相似。
在開始檢測種類線束時,首先需要創(chuàng)建該種類線束的正確模板。把顏色順序正確的線束放置在檢測臺上,并先使用矩形方框標注設(shè)置線束端子區(qū)域(頭部區(qū)域)和導(dǎo)線的檢測區(qū)域,接著與檢測線束時一樣先采集線束圖像,然后進行中值濾波,再選擇檢測區(qū)圖像并二值化后分割各根導(dǎo)線,得到每根導(dǎo)線的區(qū)域、線寬和線數(shù),然后根據(jù)得到的各導(dǎo)線區(qū)域取原圖像的對應(yīng)區(qū)域圖像塊,計算每根導(dǎo)線圖像塊的CCV顏色特征,最后按導(dǎo)線排列順序依次將其顏色特征值保存到數(shù)據(jù)庫中,同時保存該線束的線寬和線數(shù),以及線束二值化分割閾值。
創(chuàng)建好線束的模板后,就可以使用該模板對同種類線束的線序進行檢測,檢測流程如圖1所示。在將待檢測線束放到檢測臺上進行檢測時,先采集圖像并判斷線束是否放置到位,然后提取導(dǎo)線檢測區(qū)的圖像,接著對圖像進行二值化并提取各根導(dǎo)線的中心區(qū)域,得到各根導(dǎo)線對應(yīng)原圖像的彩色圖像塊,計算各根導(dǎo)線圖像塊的CCV特征,最后,根據(jù)式(5),按照線束導(dǎo)線的排列順序?qū)⒚扛鶎?dǎo)線的CCV特征和對應(yīng)模板的導(dǎo)線特征進行相似性比較,其結(jié)果小于指定閾值即兩根導(dǎo)線相似。如果所有導(dǎo)線按順序比較其顏色一致,則表示該線束的線序是正確的,否則就是錯誤的。
圖1 線序檢測流程框圖
為了實現(xiàn)本文的線序檢測方法,我們使用VS2015 C++語言與OpenCV編寫了檢測軟件,軟件界面如圖2、圖3所示。在實驗中,我們使用了海康威視的130萬像素彩色高性能工業(yè)相機(MV-CE013-50GC)進行采集圖像,該相機采用GigE接口,支持千兆以太網(wǎng),幀率為30 fps,采集的圖像分辨率為1280×960。在使用CCD攝像機采集圖像時,為了得到高倍放大的線束圖像,在CCD前端連接一個6~60 mm的光學(xué)鏡頭。另外,為了獲取到清晰穩(wěn)定、背景較純凈的圖像,我們使用了上下LED固定光源,即在線束上方圍繞攝像頭設(shè)置一圈LED白色光源,在放置線束的白色毛玻璃平板下也設(shè)置一組LED白色光源。檢測前,先將某個線束放置在檢測區(qū)臺上,調(diào)整相機焦距和上下LED燈亮度,確保檢測系統(tǒng)能捕獲到顏色清晰、背景白凈的線束圖像。然后進入模板設(shè)置界面(圖2),設(shè)置檢測區(qū)和檢測參數(shù),并保存該線束模板。最后回到檢測界面(圖3)進行線束檢測。檢測時,將線束拿平并快速放到檢測區(qū),聽到檢測響應(yīng)聲音后迅速抽出,系統(tǒng)將會自動識別和檢測。如檢測正確,則顯示OK,否則顯示NG。
圖2 線序檢測軟件模板設(shè)置界
圖3 線序檢測軟件線束檢測界面
為了檢驗本文方法的性能,我們實驗中使用不同的顏色特征檢測方法,分別對10種不同的線束各檢測100次,然后取所有線束檢測結(jié)果的平均值,得到表1的實驗結(jié)果。
表1 各種顏色特征在線序檢測中的實驗結(jié)果
從表1中的實驗結(jié)果可以看出,在檢測線序時,使用RGB和HSV顏色特征速度較快,但準確率較低;使用顏色矩特征方法檢測準確率和檢測速度適中;使用顏色相關(guān)圖特征方法檢測時準確率最高,但速度太慢;而使用本文方法時可以在獲得較高準確率的情況下,保持較高的檢測速度,能達到實時檢測的要求。同時,使用本方法編寫的軟件進行線束檢測時,如果線束放置有一定角度的傾斜,或其中有某幾根導(dǎo)線緊靠在一起,仍然可以正確檢測。
在電子工業(yè)中,線序檢測是各種連接線在生產(chǎn)后必經(jīng)的一個過程,本文采用了顏色聚合向量方法對各種連接線進行線序檢測。在該方法中,對采集到的線束圖像先進行中值濾波處理消除圖像部分噪聲,接著根據(jù)事先設(shè)置好的檢測區(qū)截取檢測線束的圖像并將其二值化;然后分割各根導(dǎo)線獲取它們的中心區(qū)域塊,根據(jù)各區(qū)域位置取出原圖像對應(yīng)的顏色塊,計算各個顏色塊的顏色聚合向量特征;最后利用歐氏距離將各導(dǎo)線的歸一化CCV顏色特征和模板各導(dǎo)線的顏色特征進行匹配。經(jīng)過大量實驗證明,本文方法在線序檢測中能獲得較高的準確率和速度,所編制的系統(tǒng)軟件也已經(jīng)在實際生產(chǎn)中應(yīng)用。