基于機(jī)器視覺(jué)的鏡片表面缺陷智能檢測(cè)系統(tǒng)及其實(shí)現(xiàn)方法
【專利摘要】本發(fā)明涉及一種基于機(jī)器視覺(jué)的鏡片表面缺陷智能檢測(cè)系統(tǒng)及其實(shí)現(xiàn)方法,該包括圖像采集單元、PC機(jī)、數(shù)據(jù)處理單元、機(jī)械手單元以及傳送單元;所述圖像采集單元的輸出端與所述PC機(jī)的輸入端相連,用以將采集到的鏡片缺損圖像傳輸至所述PC機(jī);所述PC機(jī)的輸出端與所述數(shù)據(jù)處理單元的輸入端相連,所述數(shù)據(jù)處理單元的輸出端與所述機(jī)械手單元以及所述傳送單元相連。本發(fā)明中的PC機(jī)利用 Matlab 進(jìn)行缺陷識(shí)別算法的開(kāi)發(fā),判斷鏡片是否存在缺陷,將數(shù)據(jù)傳送至單片機(jī),通過(guò)單片機(jī)與機(jī)械手將缺陷鏡片剔除,并在人機(jī)可視化界面上顯示缺陷,從而實(shí)現(xiàn)機(jī)器視覺(jué)在線檢測(cè)。
【專利說(shuō)明】
基于機(jī)器視覺(jué)的鏡片表面缺陷智能檢測(cè)系統(tǒng)及其實(shí)現(xiàn)方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及鏡片檢測(cè)領(lǐng)域,特別是涉及一種基于機(jī)器視覺(jué)的鏡片表面缺陷智能檢 測(cè)系統(tǒng)及其實(shí)現(xiàn)方法。
【背景技術(shù)】
[0002] 當(dāng)前國(guó)內(nèi)大多數(shù)鏡片生產(chǎn)企業(yè)采用的人工抽樣進(jìn)行質(zhì)量檢測(cè),這種方法質(zhì)檢過(guò)程 效率低,質(zhì)檢的結(jié)果精度差,更有下列幾個(gè)嚴(yán)重的缺陷:(1)容易出現(xiàn)漏檢的情況,長(zhǎng)時(shí)間的 重復(fù)勞動(dòng),人眼極易疲勞,常導(dǎo)致廢品漏檢,給鏡片廠家及使用單位帶來(lái)嚴(yán)重?fù)p失,造成極 壞的社會(huì)影響;(2)無(wú)法保證統(tǒng)一的質(zhì)量標(biāo)準(zhǔn),人工檢查時(shí),合格與否是檢查者根據(jù)感覺(jué)主 觀判斷的,不同的人甚至同一人在不同的狀態(tài)下的判斷標(biāo)準(zhǔn)很難做到統(tǒng)一;(3)人工檢測(cè)的 數(shù)據(jù)記錄存儲(chǔ)非數(shù)字化,無(wú)法實(shí)現(xiàn)檢測(cè)結(jié)果的數(shù)據(jù)實(shí)時(shí)共享。
[0003] 所以設(shè)計(jì)一種鏡片表面缺損自動(dòng)檢測(cè)系統(tǒng),克服傳統(tǒng)檢測(cè)的弊端,基于機(jī)器視覺(jué) 開(kāi)發(fā)缺陷識(shí)別算法,能夠大幅提高檢測(cè)效率、精確度及自動(dòng)化程度,同時(shí)還能夠減少大量勞 動(dòng)力,降低檢測(cè)工作對(duì)工人眼睛的傷害,是十分有意義的。
【發(fā)明內(nèi)容】
[0004] 有鑒于此,本發(fā)明的目的是提供一種基于機(jī)器視覺(jué)的鏡片表面缺陷智能檢測(cè)系統(tǒng) 及其實(shí)現(xiàn)方法,利用Matlab進(jìn)行缺陷識(shí)別算法的開(kāi)發(fā),判斷是否有缺陷,將數(shù)據(jù)傳送至單片 機(jī),通過(guò)單片機(jī)與機(jī)械手將缺陷鏡片剔除,并在人機(jī)可視化界面上顯示缺陷,從而實(shí)現(xiàn)機(jī)器 視覺(jué)在線檢測(cè)。
[0005] 本發(fā)明采用以下方案實(shí)現(xiàn):一種基于機(jī)器視覺(jué)的鏡片表面缺陷智能檢測(cè)系統(tǒng),包 括圖像采集單元、PC機(jī)、數(shù)據(jù)處理單元、機(jī)械手單元以及傳送單元;所述圖像采集單元的輸 出端與所述PC機(jī)的輸入端相連,用以將采集到的鏡片缺損圖像傳輸至所述PC機(jī);所述PC機(jī) 的輸出端與所述數(shù)據(jù)處理單元的輸入端相連,所述數(shù)據(jù)處理單元的輸出端與所述機(jī)械手單 元以及所述傳送單元相連。
[0006] 進(jìn)一步地,所述圖像采集單元包括工業(yè)攝像頭,所述工業(yè)攝像頭通過(guò)USB接口與所 述PC機(jī)相連,所述工業(yè)攝像頭設(shè)置于傳送帶上方。
[0007] 進(jìn)一步地,所述數(shù)據(jù)處理單元包括一 Arduino單片機(jī)模塊以及與其相連的一用以 檢測(cè)鏡片的光電傳感器以及一繼電器模塊,所述Ar du i no單片機(jī)模塊與所述PC機(jī)的輸出端 相連,所述光電傳感器設(shè)置于傳送帶的一側(cè)。
[0008] 進(jìn)一步地,所述傳送單元包括一用以輸送鏡片移動(dòng)的傳送帶、一用以控制傳送帶 轉(zhuǎn)到的電機(jī)以及一電機(jī)控制器;所述電機(jī)控制器的輸入端與繼電器模塊的輸出端相連,所 述電機(jī)控制器的輸出端與所述電機(jī)相連,所述電機(jī)與所述傳送帶相連。
[0009] 進(jìn)一步地,所述機(jī)械手單元包括相互相連的一舵機(jī)與一舵機(jī)桿,所述舵機(jī)與 Arduino單片機(jī)模塊相連,所述舵機(jī)與舵機(jī)桿均設(shè)置于傳送帶的一側(cè)。
[0010] 特別地,所述舵機(jī)桿可采用吸盤吸起存在缺陷的鏡片,移動(dòng)到傳送帶的一側(cè)的回 收盒上方,吸盤放氣后鏡片掉落到回收盒內(nèi)。
[0011] 本發(fā)明還采用以下方法實(shí)現(xiàn):一種基于機(jī)器視覺(jué)的鏡片表面缺陷智能檢測(cè)系統(tǒng)的 實(shí)現(xiàn)方法,包括以下步驟:
[0012] 步驟SI:所述數(shù)據(jù)處理單元中的光電傳感器檢測(cè)到鏡片到達(dá)工業(yè)攝像頭的鏡頭底 下時(shí),向所述Arduino單片機(jī)的第一數(shù)字口輸入高電平;
[0013] 步驟S2:所述Arduino單片機(jī)得到所述光電傳感器的信號(hào)后,通過(guò)第二數(shù)字口輸出 低電平至舵機(jī),并控制傳送帶停止工作;
[0014] 步驟S3:所述Arduino單片機(jī)發(fā)送信號(hào)"Γ至PC機(jī),所述PC機(jī)對(duì)接收到的鏡片圖像 進(jìn)行處理,若鏡片圖像檢測(cè)出缺陷,則所述PC機(jī)發(fā)送信號(hào)"2"至所述Arduino單片機(jī),所述 Arduino單片機(jī)控制舵機(jī)運(yùn)動(dòng),舵機(jī)帶動(dòng)舵機(jī)桿轉(zhuǎn)動(dòng),將存在缺陷的鏡片從傳送帶上移出; 若鏡片圖像未檢測(cè)出缺陷,則所述PC機(jī)發(fā)送信號(hào)"3"至所述Arduino單片機(jī),所述Arduino單 片機(jī)讀取到信號(hào)"3",控制傳送帶繼續(xù)運(yùn)動(dòng)。
[0015] 進(jìn)一步地,所述PC機(jī)包括MATLAB圖像處理程序及其人機(jī)交互界面;所述MATLAB圖 像處理程序?qū)⒉杉降溺R片圖像采用濾波與二值化進(jìn)行預(yù)處理去除圖像噪聲,并采用 Canny算法進(jìn)行鏡片邊緣檢測(cè),再采用圖像相減法對(duì)鏡片表面邊界區(qū)域進(jìn)行消除,后續(xù)提取 邊界內(nèi)部的幾何特征,最后進(jìn)行鏡片缺陷識(shí)別與缺陷標(biāo)記。
[0016] 進(jìn)一步地,所述預(yù)處理中,采用均值濾波對(duì)采集到的圖像先進(jìn)行均值濾波以及中 值濾波處理,用均值代替原圖像中的各個(gè)像素值,即對(duì)待處理的當(dāng)前像素點(diǎn)(x,y),選擇一 個(gè)模板,該模板由其近鄰的若干像素組成,求模板中所有像素的均值,再把該均值賦予當(dāng)前 像素點(diǎn)(x,y),作為處理后圖像在該點(diǎn)上的灰度;再采用二值形態(tài)學(xué)消除圖像噪聲,對(duì)于二 值圖像采用結(jié)構(gòu)元素對(duì)集合進(jìn)行開(kāi)啟操作將目標(biāo)周圍的噪聲塊消除掉,采用結(jié)構(gòu)元素對(duì)集 合進(jìn)行閉合操作將內(nèi)部的噪聲孔消除掉。
[0017] 進(jìn)一步地,所述Canny算法具體包括以下步驟:
[0018] 步驟S21:用二維高斯函數(shù)的一階導(dǎo)數(shù)對(duì)圖像進(jìn)行平滑,設(shè)二維高斯函數(shù)為:
[0019]
[0020]
[0021]
[0022] 用分解的方法提高速度,將提付矢量分解為2個(gè)一維的行濾波器:
[0023]
[0024]
[0025] 其中,k為常數(shù),〇為高斯濾波器參數(shù),用以控制平滑程度;
[0026] 步驟S22:采用2X2鄰域一階偏導(dǎo)的有限差分計(jì)算平滑后的數(shù)據(jù)陣列I(x,y)的梯 度幅值和梯度方向,其中,X和y方向偏導(dǎo)數(shù)的2個(gè)陣列和分別為
[0027] Px(i,j) = (I(i,j+l)-I(i,j)+I(i+l,j+l)-I(i+l,j))/2
[0028] Py(i,j) = (I(i,j)-I(i+l,j)+I(i,j+l)-I(i+l,j+l))/2
[0029] 梯度和幅值方向如下式:
[0030]
[0031] θ(?, j)=arctan(Py(i, j)/Px(i, j));
[0032] 步驟S23:對(duì)梯度幅值進(jìn)行極大值抑制:細(xì)化梯度幅值圖像M( i,j)中的屋脊帶,只 保留幅值局部變化最大的點(diǎn),用以精確定位邊緣;
[0033] 步驟S24:檢測(cè)和連接邊緣:使用雙閥值算法,將圖像進(jìn)行分割,分成兩個(gè)高、低閥 值邊緣圖像Th(i,j) J1(Lj),利用遞歸跟蹤的算法不斷在低閥值邊緣圖中搜集 邊緣,補(bǔ)充高閥值邊緣Th(i,j)形成的輪廓的空隙。
[0034] 進(jìn)一步地,所述鏡片缺陷識(shí)別與缺陷標(biāo)記中,所述鏡片缺陷目標(biāo)包括顆粒物、劃傷 以及氣泡,提取鏡片缺陷區(qū)域的形狀特征參數(shù),包括面積和周長(zhǎng),并計(jì)算鏡片缺陷的圓形度 和長(zhǎng)寬比;根據(jù)鏡片缺陷的圓形度值和長(zhǎng)寬比區(qū)分氣泡與劃傷,根據(jù)鏡片缺陷的面積和周 長(zhǎng)區(qū)分顆粒物。
[0035] 與現(xiàn)有技術(shù)相比,本發(fā)明具有如下優(yōu)點(diǎn):
[0036] (1)將工業(yè)相機(jī)、Matlab和單片機(jī)結(jié)合使用,通過(guò)對(duì)缺損圖像的分析來(lái)判斷鏡片表 面是否有缺陷,克服傳統(tǒng)檢測(cè)的弊端,能夠大幅提高檢測(cè)效率、精確度及自動(dòng)化程度有利 于;
[0037] (2)通過(guò)單片機(jī)進(jìn)行數(shù)據(jù)處理,控制傳送帶運(yùn)送鏡片,通過(guò)光電傳感器檢測(cè)鏡片的 位置,能夠減少大量勞動(dòng)力,降低檢測(cè)工作對(duì)工人眼睛的傷害。
[0038] (3)在能滿足設(shè)計(jì)要求條件下選用市面最常用元件,并采用自動(dòng)采集自動(dòng)處理方 式,減少人工操作按鍵,具有制造成本低、操作簡(jiǎn)便、體積小等優(yōu)點(diǎn)。
【附圖說(shuō)明】
[0039]圖1是本發(fā)明的系統(tǒng)原理框圖。
[0040] 圖2是本發(fā)明的電路原理圖。
[0041] 圖3是本發(fā)明的系統(tǒng)結(jié)構(gòu)示意圖。
[0042] 圖中:1一工業(yè)攝像頭,2-舵機(jī),3-傳送帶,4一Arduino單片機(jī),5-PC機(jī)。
【具體實(shí)施方式】
[0043] 下面結(jié)合附圖及實(shí)施例對(duì)本發(fā)明做進(jìn)一步說(shuō)明。
[0044] 本實(shí)施例提供一種基于機(jī)器視覺(jué)的鏡片表面缺陷智能檢測(cè)系統(tǒng),如圖1所示,包括 圖像采集單元、PC機(jī)、數(shù)據(jù)處理單元、機(jī)械手單元以及傳送單元;所述圖像采集單元的輸出 端與所述PC機(jī)的輸入端相連,用以將采集到的鏡片缺損圖像傳輸至所述PC機(jī);所述PC機(jī)的 輸出端與所述數(shù)據(jù)處理單元的輸入端相連,所述數(shù)據(jù)處理單元的輸出端與所述機(jī)械手單元 以及所述傳送單元相連。
[0045] 在本實(shí)施例中,所述圖像采集單元包括工業(yè)攝像頭,所述工業(yè)攝像頭通過(guò)USB接口 與所述PC機(jī)相連,所述工業(yè)攝像頭設(shè)置于傳送帶上方。
[0046]在本實(shí)施例中,如圖2所示,所述數(shù)據(jù)處理單元包括一Arduino單片機(jī)模塊以及與 其相連的一用以檢測(cè)鏡片的光電傳感器以及一繼電器模塊,所述Arduino單片機(jī)模塊與所 述PC機(jī)的輸出端相連,所述光電傳感器設(shè)置于傳送帶的一側(cè)。
[0047]在本實(shí)施例中,所述傳送單元包括一用以輸送鏡片移動(dòng)的傳送帶、一用以控制傳 送帶轉(zhuǎn)到的電機(jī)以及一電機(jī)控制器;所述電機(jī)控制器的輸入端與繼電器模塊的輸出端相 連,所述電機(jī)控制器的輸出端與所述電機(jī)相連,所述電機(jī)與所述傳送帶相連。
[0048]在本實(shí)施例中,所述機(jī)械手單元包括相互相連的一舵機(jī)與一舵機(jī)桿,所述舵機(jī)與 Arduino單片機(jī)模塊相連,所述舵機(jī)與舵機(jī)桿均設(shè)置于傳送帶的一側(cè)。
[0049] 在本實(shí)施例中,特別地,所述舵機(jī)桿可采用吸盤吸起存在缺陷的鏡片,移動(dòng)到傳送 帶的一側(cè)的回收盒上方,吸盤放氣后鏡片掉落到回收盒內(nèi)。
[0050] 在本實(shí)施例中,如圖3所示,一種基于機(jī)器視覺(jué)的鏡片表面缺陷智能檢測(cè)系統(tǒng)的 實(shí)現(xiàn)方法,包括以下步驟:
[0051]步驟SI:所述數(shù)據(jù)處理單元中的光電傳感器檢測(cè)到鏡片到達(dá)工業(yè)攝像頭的鏡頭底 下時(shí),向所述Arduino單片機(jī)的第一數(shù)字口輸入高電平;
[0052]步驟S2:所述Arduino單片機(jī)得到所述光電傳感器的信號(hào)后,通過(guò)第二數(shù)字口輸出 低電平至舵機(jī),并控制傳送帶停止工作;
[0053]步驟S3:所述Arduino單片機(jī)發(fā)送信號(hào)"Γ至PC機(jī),所述PC機(jī)對(duì)接收到的鏡片圖像 進(jìn)行處理,若鏡片圖像檢測(cè)出缺陷,則所述PC機(jī)發(fā)送信號(hào)"2"至所述Arduino單片機(jī),所述 Arduino單片機(jī)控制舵機(jī)運(yùn)動(dòng),舵機(jī)帶動(dòng)舵機(jī)桿轉(zhuǎn)動(dòng),將存在缺陷的鏡片從傳送帶上移出; 若鏡片圖像未檢測(cè)出缺陷,則所述PC機(jī)發(fā)送信號(hào)"3"至所述Arduino單片機(jī),所述Arduino單 片機(jī)讀取到信號(hào)"3",控制傳送帶繼續(xù)運(yùn)動(dòng)。
[0054]在本實(shí)施例中,所述PC機(jī)包括MATLAB圖像處理程序及其人機(jī)交互界面;所述 MATLAB圖像處理程序?qū)⒉杉降溺R片圖像采用濾波與二值化進(jìn)行預(yù)處理去除圖像噪聲,并 采用Canny算法進(jìn)行鏡片邊緣檢測(cè),再采用圖像相減法對(duì)鏡片表面邊界區(qū)域進(jìn)行消除,后續(xù) 提取邊界內(nèi)部的幾何特征,最后進(jìn)行鏡片缺陷識(shí)別與缺陷標(biāo)記。
[0055] 在本實(shí)施例中,所述預(yù)處理中,采用均值濾波對(duì)采集到的圖像先進(jìn)行均值濾波以 及中值濾波處理,用均值代替原圖像中的各個(gè)像素值,即對(duì)待處理的當(dāng)前像素點(diǎn)(x,y),選 擇一個(gè)模板,該模板由其近鄰的若干像素組成,求模板中所有像素的均值,再把該均值賦 予當(dāng)前像素點(diǎn)(x,y),作為處理后圖像在該點(diǎn)上的灰度;再采用二值形態(tài)學(xué)消除圖像噪聲, 對(duì)于二值圖像采用結(jié)構(gòu)元素對(duì)集合進(jìn)行開(kāi)啟操作將目標(biāo)周圍的噪聲塊消除掉,采用結(jié)構(gòu)元 素對(duì)集合進(jìn)行閉合操作將內(nèi)部的噪聲孔消除掉。
[0056] 在本實(shí)施例中,所述Canny算法具體包括以下步驟:
[0057] 步驟S21:用二維高斯函數(shù)的一階導(dǎo)數(shù)對(duì)圖像進(jìn)行平滑,設(shè)二維高斯函數(shù)為:
[0061] 用分解的方法提高速度,將提付矢量分解為2個(gè)一維的行濾波器:
[0058]
[0059]
[0060]
[0062]
[0063]
[0064] 其中,k為常數(shù),〇為高斯濾波器參數(shù),用以控制平滑程度;
[0065] 步驟S22:采用2X2鄰域一階偏導(dǎo)的有限差分計(jì)算平滑后的數(shù)據(jù)陣列I(x,y)的梯 度幅值和梯度方向,其中,X和y方向偏導(dǎo)數(shù)的2個(gè)陣列和分別為
[0066] Px(i,j) = (I(i,j+l)-I(i,j)+I(i+l,j+l)-I(i+l,j))/2
[0067] Py(i,j) = (I(i,j)-I(i+l,j)+I(i,j+l)-I(i+l,j+l))/2
[0068] 梯度和幅值方向如下式:
[0069]
[0070] θ(?, j)=arctan(Py(i, j)/Px(i, j));
[0071 ]步驟S23:對(duì)梯度幅值進(jìn)行極大值抑制:細(xì)化梯度幅值圖像M( i,j)中的屋脊帶,只 保留幅值局部變化最大的點(diǎn),用以精確定位邊緣;
[0072] 步驟S24:檢測(cè)和連接邊緣:使用雙閥值算法,將圖像進(jìn)行分割,分成兩個(gè)高、低閥 值邊緣圖像Th(i,j) J1(Lj),利用遞歸跟蹤的算法不斷在低閥值邊緣圖中搜集 邊緣,補(bǔ)充高閥值邊緣Th(i,j)形成的輪廓的空隙。
[0073] 在本實(shí)施例中,所述鏡片缺陷識(shí)別與缺陷標(biāo)記中,基于鏡片圖像分割的結(jié)果,根據(jù) 鏡片主要缺陷目標(biāo)(顆粒物、劃傷、氣泡)的二值圖像和邊緣圖像,提取出用來(lái)描述樹(shù)脂鏡片 外觀質(zhì)量缺陷的形狀特征參數(shù)(面積和周長(zhǎng)),然后計(jì)算出鏡片缺陷的圓形度和長(zhǎng)寬比這兩 個(gè)主要特征參數(shù),組成特征矢量,對(duì)于不同形狀的缺陷區(qū)域,這些特征參數(shù)各不相同。其中, 鏡片表面缺陷提取特征的因?yàn)轭w粒物缺陷表現(xiàn)為狄度突變點(diǎn),而劃傷缺陷則表現(xiàn)為比較細(xì) 長(zhǎng),氣泡缺陷一般表現(xiàn)為圓型或橢圓型。因此,對(duì)于鏡片氣泡缺陷而言,其圓形度的值比劃 傷的圓形度值要大的多,而長(zhǎng)寬比值則較劃傷的長(zhǎng)寬比值小,劃傷的特征參數(shù)值恰恰與此 相反,顆粒物的面積相比較而言比較小,灰度梯度大,因此基于鏡片缺陷的圓形度值和長(zhǎng)寬 比值就可以將缺陷中的氣泡與劃傷區(qū)分開(kāi)來(lái),而基于鏡片缺陷的面積周長(zhǎng)則可以區(qū)分顆粒 物。
[0074] 在本實(shí)施中,所述人機(jī)交互界面為matlab GUI界面,其在Matlab程序開(kāi)發(fā)中起著 舉足輕重的作用,它有別于傳統(tǒng)的VC、JAVA或者Delphi的界面開(kāi)發(fā)方式,作為一個(gè)數(shù)學(xué)運(yùn)算 能力很強(qiáng)的軟件,Matlab的運(yùn)算結(jié)果通常是用圖形來(lái)表示的,GUI的使用更易于圖形表現(xiàn)的 多元化,在數(shù)字圖像處理中更加的方便、直觀。
[0075]因此鏡片缺陷檢測(cè)的圖像處理基于⑶I的平臺(tái)進(jìn)行操作的,可看到⑶I的界面以及 算法最終運(yùn)行的結(jié)果。
[0076]在本實(shí)施例中,該系統(tǒng)以機(jī)器視覺(jué)和圖像處理技術(shù)為基礎(chǔ),針對(duì)缺陷不同的灰度 特征,采用缺陷識(shí)別算法進(jìn)行鏡片表面缺損檢測(cè)。通過(guò)USB工業(yè)攝像頭采集缺損圖像,并通 過(guò)MATLAB程序?yàn)V波得到灰度增強(qiáng)圖像,然后分割圖像與背景,進(jìn)而提取和識(shí)別缺陷特征,開(kāi) 發(fā)了人機(jī)交互界面,結(jié)合了缺陷剔除機(jī)構(gòu)和傳送裝置,提供信息統(tǒng)計(jì)功能,達(dá)到了代替人工 檢測(cè)識(shí)別鏡片表面缺損的目的。
[0077]以上所述僅為本發(fā)明的較佳實(shí)施例,凡依本發(fā)明申請(qǐng)專利范圍所做的均等變化與 修飾,皆應(yīng)屬本發(fā)明的涵蓋范圍。
【主權(quán)項(xiàng)】
1. 一種基于機(jī)器視覺(jué)的鏡片表面缺陷智能檢測(cè)系統(tǒng),其特征在于:包括圖像采集單元、 PC機(jī)、數(shù)據(jù)處理單元、機(jī)械手單元以及傳送單元;所述圖像采集單元的輸出端與所述PC機(jī)的 輸入端相連,用以將采集到的鏡片缺損圖像傳輸至所述PC機(jī);所述PC機(jī)的輸出端與所述數(shù) 據(jù)處理單元的輸入端相連,所述數(shù)據(jù)處理單元的輸出端與所述機(jī)械手單元以及所述傳送單 元相連。2. 根據(jù)權(quán)利要求1所述的一種基于機(jī)器視覺(jué)的鏡片表面缺陷智能檢測(cè)系統(tǒng),其特征在 于:所述圖像采集單元包括工業(yè)攝像頭,所述工業(yè)攝像頭通過(guò)USB接口與所述PC機(jī)相連,所 述工業(yè)攝像頭設(shè)置于傳送帶上方。3. 根據(jù)權(quán)利要求1所述的一種基于機(jī)器視覺(jué)的鏡片表面缺陷智能檢測(cè)系統(tǒng),其特征在 于:所述數(shù)據(jù)處理單元包括一 Arduino單片機(jī)模塊以及與其相連的一用以檢測(cè)鏡片的光電 傳感器以及一繼電器模塊,所述Ar du ino單片機(jī)模塊與所述PC機(jī)的輸出端相連,所述光電傳 感器設(shè)置于傳送帶的一側(cè)。4. 根據(jù)權(quán)利要求1所述的一種基于機(jī)器視覺(jué)的鏡片表面缺陷智能檢測(cè)系統(tǒng),其特征在 于:所述傳送單元包括一用以輸送鏡片移動(dòng)的傳送帶、一用以控制傳送帶轉(zhuǎn)到的電機(jī)以及 一電機(jī)控制器;所述電機(jī)控制器的輸入端與繼電器模塊的輸出端相連,所述電機(jī)控制器的 輸出端與所述電機(jī)相連,所述電機(jī)與所述傳送帶相連。5. 根據(jù)權(quán)利要求1所述的一種基于機(jī)器視覺(jué)的鏡片表面缺陷智能檢測(cè)系統(tǒng),其特征在 于:所述機(jī)械手單元包括相互相連的一舵機(jī)與一舵機(jī)桿,所述舵機(jī)與Arduino單片機(jī)模塊相 連,所述舵機(jī)與舵機(jī)桿均設(shè)置于傳送帶的一側(cè)。6. -種根據(jù)權(quán)利要求3所述的基于機(jī)器視覺(jué)的鏡片表面缺陷智能檢測(cè)系統(tǒng)的實(shí)現(xiàn)方 法,其特征在于:包括以下步驟: 步驟Sll:所述數(shù)據(jù)處理單元中的光電傳感器檢測(cè)到鏡片到達(dá)工業(yè)攝像頭的鏡頭底下 時(shí),向所述Arduino單片機(jī)的第一數(shù)字口輸入高電平; 步驟S21:所述Arduino單片機(jī)得到所述光電傳感器的信號(hào)后,通過(guò)第二數(shù)字口輸出低 電平至舵機(jī),并控制傳送帶停止工作; 步驟S31:所述Arduino單片機(jī)發(fā)送信號(hào)"Γ至PC機(jī),所述PC機(jī)對(duì)接收到的鏡片圖像進(jìn)行 處理,若鏡片圖像檢測(cè)出缺陷,則所述PC機(jī)發(fā)送信號(hào)"2"至所述Arduino單片機(jī),所述 Arduino單片機(jī)控制舵機(jī)運(yùn)動(dòng),舵機(jī)帶動(dòng)舵機(jī)桿轉(zhuǎn)動(dòng),將存在缺陷的鏡片從傳送帶上移出; 若鏡片圖像未檢測(cè)出缺陷,則所述PC機(jī)發(fā)送信號(hào)"3"至所述Arduino單片機(jī),所述Arduino單 片機(jī)讀取到信號(hào)"3",控制傳送帶繼續(xù)運(yùn)動(dòng)。7. 根據(jù)權(quán)利要求6所述的一種基于機(jī)器視覺(jué)的鏡片表面缺陷智能檢測(cè)系統(tǒng)的實(shí)現(xiàn)方 法,其特征在于:所述PC機(jī)包括MATLAB圖像處理程序及其人機(jī)交互界面;所述MATLAB圖像處 理程序?qū)⒉杉降溺R片圖像采用濾波與二值化進(jìn)行預(yù)處理去除圖像噪聲,并采用Canny算 法進(jìn)行鏡片邊緣檢測(cè),再采用圖像相減法對(duì)鏡片表面邊界區(qū)域進(jìn)行消除,后續(xù)提取邊界內(nèi) 部的幾何特征,最后進(jìn)行鏡片缺陷識(shí)別與缺陷標(biāo)記。8. 根據(jù)權(quán)利要求7所述的一種基于機(jī)器視覺(jué)的鏡片表面缺陷智能檢測(cè)系統(tǒng)的實(shí)現(xiàn)方 法,其特征在于:所述預(yù)處理中,采用均值濾波對(duì)采集到的圖像先進(jìn)行均值濾波以及中值濾 波處理,用均值代替原圖像中的各個(gè)像素值,即對(duì)待處理的當(dāng)前像素點(diǎn)(x,y),選擇一個(gè)模 板,該模板由其近鄰的若干像素組成,求模板中所有像素的均值,再把該均值賦予當(dāng)前像素 點(diǎn)(x,y),作為處理后圖像在該點(diǎn)上的灰度;再采用二值形態(tài)學(xué)消除圖像噪聲,對(duì)于二值圖 像采用結(jié)構(gòu)元素對(duì)集合進(jìn)行開(kāi)啟操作將目標(biāo)周圍的噪聲塊消除掉,采用結(jié)構(gòu)元素對(duì)集合進(jìn) 行閉合操作將內(nèi)部的噪聲孔消除掉。9. 根據(jù)權(quán)利要求7所述的一種基于機(jī)器視覺(jué)的鏡片表面缺陷智能檢測(cè)系統(tǒng)的實(shí)現(xiàn)方 法,其特征在于:所述Canny算法具體包括以下步驟: 步驟S21:用二維高斯函數(shù)的一階導(dǎo)數(shù)對(duì)圖像進(jìn)行平滑,設(shè)二維高斯函數(shù)為: 其梯度矢量為:用分解的方法提高速度,將提付矢量分解為2個(gè)一維的行濾波器:其中,k為常數(shù),〇為高斯濾波器參數(shù),用以控制平滑程度; 步驟S22:采用2Χ 2鄰域一階偏導(dǎo)的有限差分計(jì)算平滑后的數(shù)據(jù)陣列I(x,y)的梯度幅 值和梯度方向,其中,X和y方向偏導(dǎo)數(shù)的2個(gè)陣列和分別為θ(? , j)=arctan(Py(i, j)/Px(i, j)); 步驟S23:對(duì)梯度幅值進(jìn)行極大值抑制:細(xì)化梯度幅值圖像M( i,j)中的屋脊帶,只保留 幅值局部變化最大的點(diǎn),用以精確定位邊緣; 步驟S24:檢測(cè)和連接邊緣:使用雙閥值算法,將圖像進(jìn)行分割,分成兩個(gè)高、低閥值邊 緣圖像Th(i,j) J1(Lj),利用遞歸跟蹤的算法不斷在低閥值邊緣圖中搜集邊緣, 補(bǔ)充高閥值邊緣Th(i,j)形成的輪廓的空隙。10. 根據(jù)權(quán)利要求7所述的一種基于機(jī)器視覺(jué)的鏡片表面缺陷智能檢測(cè)系統(tǒng)的實(shí)現(xiàn)方 法,其特征在于:所述鏡片缺陷識(shí)別與缺陷標(biāo)記中,所述鏡片缺陷目標(biāo)包括顆粒物、劃傷以 及氣泡,提取鏡片缺陷區(qū)域的形狀特征參數(shù),包括面積和周長(zhǎng),并計(jì)算鏡片缺陷的圓形度和 長(zhǎng)寬比;根據(jù)鏡片缺陷的圓形度值和長(zhǎng)寬比區(qū)分氣泡與劃傷,根據(jù)鏡片缺陷的面積和周長(zhǎng) 區(qū)分顆粒物。
【文檔編號(hào)】G01N21/01GK105891233SQ201610357279
【公開(kāi)日】2016年8月24日
【申請(qǐng)日】2016年5月26日
【發(fā)明人】任志英, 張志忠, 陳炳興, 郭毅強(qiáng), 黃藝?yán)?
【申請(qǐng)人】福州大學(xué)