邢佳榮,張京軍,高瑞貞
(河北工程大學(xué) 信息與電氣工程學(xué)院,邯鄲056038)
在競爭激烈的全球市場中,可靠而有效的產(chǎn)品質(zhì)量評估是保持高標(biāo)準(zhǔn)并最終確保成功的關(guān)鍵。 使用基于機(jī)器視覺和人工智能技術(shù)的自動評分系統(tǒng),可以保證更連貫的質(zhì)量標(biāo)準(zhǔn),更好的重現(xiàn)性和更可靠的產(chǎn)品記錄[1]。
通常由加工工業(yè)執(zhí)行的2 種主要類型的檢查成品檢查和在線檢查。 這2 種檢測實(shí)踐的主要區(qū)別在于,對于完成產(chǎn)品檢驗(yàn)是指在工作加工過程結(jié)束后在進(jìn)行檢測。 另一方面,對于在線檢查是指在生產(chǎn)現(xiàn)場進(jìn)行測量[2-3]。 在線檢測和現(xiàn)場測量相比,現(xiàn)場檢測過程測量是一個(gè)耗時(shí)的過程和需要特定的檢查區(qū)域[4]。 在線檢測的主要好處是在制造過程的早期階段就可以檢測到超出公差的產(chǎn)品。 這意味著可以防止超出公差的產(chǎn)品進(jìn)一步加工,處理,裝配等,從而減少返工和廢料[5]。 此外,有關(guān)偏離目標(biāo)值的信息可以反饋的過程[6-7]。
本文提出了一種機(jī)器視覺系統(tǒng),用于螺母和鋼卡頭缺陷。 設(shè)計(jì)了一種新穎的照明和圖像采集系統(tǒng),以增強(qiáng)缺陷外觀并獲得受控環(huán)境。 然后,提出或利用一系列圖像處理方法來檢查螺母上的缺陷。 并提出了一種基于該規(guī)則的簡單而有效的檢測算法。所提出的系統(tǒng)能夠檢查螺母是否再圓心一些缺陷。
過去, 由于設(shè)備費(fèi)用和圖像分辨率的限制,機(jī)器視覺技術(shù)并未在工業(yè)中得到廣泛應(yīng)用。 通過持續(xù)改進(jìn),該技術(shù)日趨成熟。 近年來,隨著PC 功能越來越強(qiáng)大,并且CCD 系統(tǒng)的分辨率得到提高,機(jī)器視覺系統(tǒng)已在許多應(yīng)用中得到廣泛應(yīng)用[8]。 攝像機(jī)和光源的選擇放置是創(chuàng)建成功視覺系統(tǒng)的最重要步驟之一。 因?yàn)楂@得高質(zhì)量的圖像可以大大簡化視覺算法并提高其可靠性[9]。
系統(tǒng)的動力部件主要由軸承、固定中心、皮帶和齒輪組成,并由直流電機(jī)驅(qū)動。 固定中心的作用是在兩端支承凸輪軸。 基本視覺系統(tǒng)由CCD 攝像機(jī)、圖像處理軟件、圖像處理算法、圖像處理板和計(jì)算機(jī)組成。 采用背光技術(shù),獲得零件外部輪廓清晰清晰的圖像。 背光產(chǎn)生即時(shí)的對比,因?yàn)樗诿髁恋谋尘跋聞?chuàng)建黑暗的輪廓。電機(jī)和CCD 攝像機(jī)通過插入計(jì)算機(jī)PC 主機(jī)總線的2 張卡與計(jì)算機(jī)接口。其中一張卡是連接到直流電機(jī)的接口卡,用來控制凸輪軸的旋轉(zhuǎn)運(yùn)動。 另一種接口卡是幀采集卡,其中視覺系統(tǒng)的CCD 攝像機(jī)連接到卡上可用的通道。為了獲得恒定增量角度的圖像,電機(jī)與旋轉(zhuǎn)編碼器耦合。 控制電機(jī)轉(zhuǎn)速,實(shí)現(xiàn)軸的穩(wěn)定旋轉(zhuǎn)運(yùn)動,獲得更好的圖像采集效果。 圖1 為非接觸式產(chǎn)品質(zhì)量檢測系統(tǒng)的系統(tǒng)標(biāo)定圖。
圖1 系統(tǒng)標(biāo)定圖Fig.1 System calibration diagram
將被測工件放置于機(jī)械載物臺的傳送帶上,在運(yùn)動控制機(jī)構(gòu)的控制下以一定的速度運(yùn)送至圖像傳感器即工業(yè)相機(jī)下。 在光源的照射下,被測工件將成像于工業(yè)相機(jī),相機(jī)再將數(shù)字圖像數(shù)據(jù)傳送給圖像處理器PC 機(jī)顯示和處理, 計(jì)算出待檢測工件是否合格,最后將標(biāo)準(zhǔn)工件尺寸與檢測的計(jì)算結(jié)果進(jìn)行比較,來判定是否符合標(biāo)準(zhǔn),再通過運(yùn)動控制機(jī)構(gòu)將被測工件進(jìn)行篩選。 工作流程如圖2 所示。
圖2 系統(tǒng)工作流程圖Fig.2 System implementation work flow chart
要構(gòu)建機(jī)器視覺測量系統(tǒng),攝像機(jī)圖像平面應(yīng)與待測工件平面平行。 如果攝像機(jī)不符合這些要求或者徑向失真較大,則必須校準(zhǔn)攝像機(jī)并應(yīng)調(diào)整圖像。通過讀取圖像讀取相機(jī)捕獲的工件圖像,如圖3所示。
圖3 現(xiàn)場采集的工件圖像Fig.3 Image of work piece collected on site
在工件處理過程中我們將RGB 圖像轉(zhuǎn)化成灰度圖像的過程稱為圖像的灰度化。 通過相機(jī)獲取的工件圖像通常是RGB 圖像, 確定每個(gè)像素灰度R、G、B 三個(gè)分量。 從輸入數(shù)據(jù)到PC 機(jī)是彩色圖像,彩色圖像的信息量比較大導(dǎo)致一些圖像處理算法中彩色圖像難度比較大。 R=G=B 為灰度圖像,灰度圖像的每個(gè)像素點(diǎn)只需要一個(gè)分量表示,它需要的計(jì)算和內(nèi)存都會減少。
本文采用加權(quán)平均法進(jìn)行灰度處理。 加權(quán)平均法就是人眼對紅綠藍(lán)三種基色的敏感度程度不一樣,即對其進(jìn)行加權(quán),從而得到較合理的灰度圖像。
圖4 顯示了對原始工件圖像灰度化后的效果。
圖4 圖像灰度化效果Fig.4 Image grayscale rendering
通過圖像我們發(fā)現(xiàn),跟原圖像相比較變化后的圖像灰度圖不含色彩信息,故灰度化之后的圖像所含信息量大大減少,圖像處理計(jì)算量也相應(yīng)大幅減少,更方便后續(xù)計(jì)算。
與其他信號處理介質(zhì)一樣,視覺系統(tǒng)也含有噪聲。 其中一些噪音是系統(tǒng)性的,可能來自鏡頭表面的塵土、 有缺陷的電子元件和有缺陷的存儲芯片。還有一些其他的隨機(jī)噪聲,是由環(huán)境影響或照明不良引起的。 灰度化后的圖像是一個(gè)損壞的圖像,需要預(yù)處理,以減少或消除噪聲。 此外,由于凸輪軸的振動和偏心,有時(shí)圖像質(zhì)量不高;因此,在對它們進(jìn)行其他分析之前,必須對它們進(jìn)行處理和改進(jìn)。 總之,圖像處理的目的是對圖像進(jìn)行處理使結(jié)果更適合于標(biāo)定特征的結(jié)果,然后提取特征輪廓。 為了減少某些噪聲成分,特別是由于檢查區(qū)域的照明分布不均,采用了平場校正法。 凸輪軸圖像中的隨機(jī)斑點(diǎn)也可以看作是噪聲,是高頻分量,因?yàn)橄噜徬袼氐南袼刂底兓浅?臁?這種噪音可能來自電氣部件或檢查區(qū)域的灰塵和污物。 因此,為了消除噪聲,在平面校正操作后采用了低通濾波器。
本文采用中值濾波進(jìn)行平滑去噪,中值濾波本質(zhì)上是一種統(tǒng)計(jì)排序?yàn)V波器,是一種非線性的濾波方式。 他對隨機(jī)噪音的影響有一個(gè)非常好的降噪效果,尤其應(yīng)用于椒鹽去噪。
它的基本思想是用鄰域內(nèi)的中值代替灰度相差較大的像素[10]。 設(shè)一組數(shù)據(jù)行{x1,x2,x3,…xn},輸出用y 表示。對該序列按升序或降序排列,得到{x(1),x(2),x(3),…x(n)},則有
式中:Med 表示對數(shù)據(jù)樣本取中值。
在二維圖像中,設(shè){xmn,(m,n)∈I2}表示灰度,用窗口對圖像進(jìn)行二維中值濾波后的結(jié)果h(m,n)為
該方法使用給定結(jié)構(gòu)的二維滑塊模版根據(jù)像素值大小對面板上的像素進(jìn)行大小排序,并生成增加或減少數(shù)據(jù)單調(diào)的二維序列。 實(shí)驗(yàn)結(jié)果及分析如圖5 所示。
圖5 中值濾波效果Fig.5 Median filtering effect diagram
由圖可見,中值濾波算法非常有效地抑制噪聲的同時(shí)仍較為完整地保留了原始圖像的邊緣特征。
2.4.1 直方圖
圖像的灰度直方圖就是一幅圖像灰度分布情況的統(tǒng)計(jì)表,它概括了一幅圖的灰度級內(nèi)容,是反映一幅圖像中出現(xiàn)某灰度值的次數(shù)與灰度級之間的關(guān)系的圖形。 如圖6(b)所示的灰度直方圖中,橫坐標(biāo)軸的范圍為0 到255 表示圖像的灰度值,縱坐標(biāo)表示該圖像中某灰度級出現(xiàn)的概率。圖6(b)是一幅螺母圖像的直方圖。
圖6 螺母灰度圖和直方圖Fig.6 Nut grayscale and histogram
2.4.2 直方圖均衡化
直方圖均衡化算法由于其簡單、 高效的特點(diǎn),已經(jīng)成為傳統(tǒng)的圖像增強(qiáng)算法。 圖像直方圖均衡化是原圖像經(jīng)過某種變化, 得到灰度圖像直方圖,以獲得變化均勻圖像。 基于概率論,直方圖均衡算法利用灰度運(yùn)算實(shí)現(xiàn)圖像中像素的灰度映射,并將直方圖轉(zhuǎn)換為均勻,平滑,灰度級清晰的直方圖,從而達(dá)到圖像增強(qiáng)的目的。 假設(shè)原始圖像中像素的灰度值為r(0≤r≤1),其概率密度為p(r),增強(qiáng)圖像中像素的灰度值為s(0≤s≤1)及其概率密度是p(s),映射函數(shù)是s=T(r)。 根據(jù)直方圖的物理意義,很明顯均衡直方圖上的每個(gè)條都具有相同的高度。
設(shè)r 表示圖像中像素的灰度級, 可以用概率密度函數(shù)Pr(rk)表示原始圖像的灰度分布。 則Pr(rk)=nk/N
圖7 螺母直方圖均衡化效果Fig.7 Effect of nut histogram equalization
圖8為直方圖均衡化前后直方圖的比較。
從圖6(a)和6(b)可以清楚地看出,原始圖像的視覺效果相對較暗,并且圖像直方圖的分布范圍相對較小。 從圖7 所示,顯然增強(qiáng)圖像的亮度增加并且視覺效果得到改善。 從圖8(b)所示,顯然分布范圍被擴(kuò)大,均衡的實(shí)質(zhì)是擴(kuò)大量化區(qū)間。
圖8 均衡化前后直方圖比較Fig.8 Histogram comparison before and after equalization
2.4.3 圖像二值化
是的,這說明我們不再年輕了。樂于此道的幾位朋友,都和我年齡相仿。在日常生活中,大家都似乎感受到一種疲憊。人到了 40歲,就像人生突然“斷片”了,稀奇古怪的想法特別多。辭職創(chuàng)業(yè)的,離家出走的,愛上釣魚的,到艱苦的地方去徒步的……在生理上,大家似乎突然意識到衰老的來臨。孔子說,“四十不惑”,但這確實(shí)是一個(gè)希望和困惑并存的年齡,而困惑看上去還要更占優(yōu)勢一些。
一幅二值圖像的二維矩陣僅由0、1 兩個(gè)值構(gòu)成,“0”代表黑色,“1”代白色。 由于每一像素(矩陣中每一元素)取值僅有0、1 兩種可能,所以計(jì)算機(jī)中二值圖像的數(shù)據(jù)類型通常為1 個(gè)二進(jìn)制位。 二值圖像通常用于文字、線條圖的掃描識別(OCR)和掩膜圖像的存儲。二值圖像處理,以顯示灰度圖像為0或255,也就是,所有的圖像顯示出的黑色和白色的效果。 灰度圖像為約256 的亮度等級通過選擇適當(dāng)?shù)拈撝刀祷@得的圖像仍可以在整個(gè)圖像和局部特征中可以看出。
在很多情況下, 背景的灰度值并非是個(gè)常數(shù),被測物體和背景的對比度在圖像中也有變化,這樣就導(dǎo)致可能在圖像中某一區(qū)域有良好的效果的閾值在其它區(qū)域的效果可能很差。 在這樣的情況下,我們把灰度閾值取成一個(gè)隨著圖像中位置變化而變化的函數(shù)值是最合適的我們稱之為為自適應(yīng)閾值,即本文采用自適應(yīng)閾值的方法。
自適應(yīng)閾值的選取方法的閾值相對比較簡單,以每一個(gè)像素以它為中心的一個(gè)鄰域窗口,計(jì)算窗口內(nèi)的最大和最小值像素,然后將它們的平均值作為閾值。 然后對圖像進(jìn)行分塊,如果在某一子塊內(nèi)背景和目標(biāo)都存在的話, 則為雙峰直方圖。 如果某一子塊內(nèi)只有目標(biāo)或者只有背景的情況下,就不是雙峰直方圖,可根據(jù)鄰域各塊分割得到的參數(shù)插值進(jìn)行分割。 事實(shí)上自適應(yīng)閾值分割完全可以按照圖像的實(shí)際性質(zhì),為每一個(gè)像素值設(shè)置閾值,但該過程要考慮復(fù)雜性和實(shí)際應(yīng)用問題的要求。
其中假定閾值T(k)=k,0<k<L-1,并假定C1由灰度值在區(qū)間[0,k]內(nèi)的所有像素構(gòu)成和C2由灰度值在區(qū)間[k-1,L-1]內(nèi)的所有像素構(gòu)成,像素被分到類C1中的概率像素被分到類C2中的概率。
分配到類C1的像素的平均灰度值為
分配到類C2的像素的平均灰度值為
整個(gè)圖像的平均灰度值為
類間方差改寫為
K*是最佳閾值:
在0<P1(k)<1 條件下選取最大的k 值。
該方法完全根據(jù)圖像直方圖的計(jì)算,直方圖是一個(gè)非常簡單的一維數(shù)組。 當(dāng)螺母圖像進(jìn)行二值化時(shí),發(fā)現(xiàn)大多數(shù)圖像只有大約一半的灰度,即在某個(gè)灰度上的像素個(gè)數(shù)為零。 因此,它可大大減少方差算法從而來減少該程序的運(yùn)行時(shí)間。
3.1.1 硬件裝置
按照產(chǎn)品檢測需要和檢測的對象環(huán)境的實(shí)際情況,對圖像采集裝置進(jìn)行硬件設(shè)計(jì)及安裝。
3.1.2 圖像的采集和預(yù)處理
使用工業(yè)相機(jī)對檢測工件進(jìn)行實(shí)時(shí)獲取工件圖像,并將圖像傳入PC 中;借助PC 機(jī),進(jìn)行圖像處理的算法對采集的工件圖像預(yù)處理,從而完成圖像的灰度轉(zhuǎn)換、平滑去噪、圖像增強(qiáng)等相關(guān)工作。
3.1.3 工件特征提取
分析和比較現(xiàn)有的特征提取方法,最終選擇局部形心位置提取方式,對目標(biāo)工件圖像進(jìn)行特征提取。
3.1.4 特征分析和識別
選取合適的內(nèi)圓形心位置與外六邊形形心位置在x、y 方向上的差值, 并用加快的搜索策略提高檢測速度,從而完成特征檢測和識別。
通過對內(nèi)圓和外六邊形區(qū)域進(jìn)行特征分析,通過對比差值來判斷螺母是否合格。
圖9(a)為提取的內(nèi)圓二值圖,確定螺母內(nèi)圓的形心位置。 9(b)為提取的外六邊形二值圖,來確定螺母外側(cè)六邊形的形心位置。
圖9 二值圖像Fig.9 Binary image
研究了工件檢測的非接觸檢測方法。 研究開發(fā)了一套檢測螺母形狀公差的準(zhǔn)則,從測量系統(tǒng)試驗(yàn)臺的開發(fā)到基于圖像處理程序的結(jié)果分析,以及零件檢測評估的數(shù)學(xué)模型的開發(fā)。 通過建立合適的零件檢測模型,成功地實(shí)現(xiàn)了非接觸式的在線測量系統(tǒng)的方法。 利用多組零件圖像對該方法和數(shù)學(xué)模型進(jìn)行了分析。 結(jié)果表明,非接觸式零件誤差檢測系統(tǒng)是一種有效、可靠的誤差評定方法。 該測量概念可以進(jìn)一步改進(jìn),以獲得更好的誤差評估精度。