蔡述庭,郭金華
(廣東工業(yè)大學(xué) 自動(dòng)化學(xué)院,廣東 廣州510006)
雙尖燈泡 (如圖1所示)質(zhì)量的好壞,直接或間接影響到車載照明質(zhì)量以及汽車企業(yè)的形象和聲譽(yù)。因此,各大汽車企業(yè),對(duì)雙尖燈泡的質(zhì)量和外觀提出了更高的要求。燈絲質(zhì)量的好壞主要取決于燈絲位置及燈絲長(zhǎng)度是否符合行業(yè)標(biāo)準(zhǔn),燈絲位置是位于與燈尖同軸的玻璃柱體內(nèi),它影響發(fā)光的均勻性,而燈絲長(zhǎng)度直接影響照明的亮度。目前大批量連續(xù)的生成過程中,一種方法是采用人工觀測(cè)法來對(duì)燈絲參數(shù)進(jìn)行辨別,這種辨別方法勞動(dòng)強(qiáng)度大,生產(chǎn)效率低,極易受人主觀性的影響,可靠性差;另外一種方法是抽樣檢查法,從一批燈泡中隨機(jī)抽取一定數(shù)量的樣品,對(duì)樣品進(jìn)行檢驗(yàn),然后利用統(tǒng)計(jì)方法,判斷這批燈泡是否合格,此方法存在著 “良品當(dāng)作不合格品,不合格品當(dāng)作良品”的風(fēng)險(xiǎn)。
圖1 雙尖燈泡結(jié)構(gòu)
針對(duì)上述的情況,本文根據(jù)機(jī)器視覺系統(tǒng)可以獲取的信息量大、精確度高、重復(fù)性好、操作簡(jiǎn)單方便,且易于實(shí)現(xiàn)信息集成等優(yōu)點(diǎn),將機(jī)器視覺技術(shù)應(yīng)用到雙尖燈泡燈絲同軸檢測(cè)產(chǎn)品上。實(shí)踐結(jié)果表明,該系統(tǒng)具有組裝方便、高效實(shí)時(shí)、穩(wěn)定的特點(diǎn),能夠滿足生產(chǎn)在線檢測(cè)的要求。
整個(gè)機(jī)器視覺檢測(cè)系統(tǒng)如圖2所示,該系統(tǒng)由1個(gè)500 W 工業(yè)面陣相機(jī)、1個(gè)遠(yuǎn)心鏡頭、1個(gè)可調(diào)式背光源、1塊雙芯片圖像采集卡、剔除單元和工業(yè)控制電腦組成,其中工控電腦涵括了自動(dòng)圖像處理及判決軟件。
圖2 視覺檢測(cè)系統(tǒng)
系統(tǒng)的基本檢測(cè)流程概況如下:首先由光電傳感器感應(yīng)到攝像機(jī)視野下的雙尖燈泡,然后觸發(fā)相機(jī)拍照,圖像采集卡將采集到的圖像存儲(chǔ)到計(jì)算機(jī)內(nèi)存中供圖像檢測(cè)軟件處理和分析,最后處理的結(jié)果可根據(jù)傳輸帶當(dāng)前的速度,由I/O 控制口輸出剔除指令驅(qū)動(dòng)外部剔除裝置,剔除不合格的產(chǎn)品。
圖3是利用上述系統(tǒng)捕獲到的一組雙尖燈泡圖像,圖像的格式為BMP,大小為1940*2588pixels的灰度圖像。其中圖3 (a)中燈絲同軸,圖3 (b)中燈絲非同軸。燈絲質(zhì)量檢測(cè)關(guān)鍵在于圖像處理技術(shù),后文著重從這方面論述。
圖3 采集到的實(shí)物
燈絲作為燈泡的主要發(fā)光部分,它的長(zhǎng)度及位置都是影響發(fā)光的主要因素。針對(duì)本課題研究方向,正確的分割燈絲在檢測(cè)中首當(dāng)其沖。圖4 (a)是在大背光源打光下采集得到的高清圖像,可以清楚的看到燈絲位于直徑1.5cm的圓柱體內(nèi),并且燈絲兩頭與比自身直徑大的導(dǎo)線相連。根據(jù)這一結(jié)構(gòu)特點(diǎn),本文主要利用形態(tài)學(xué)開運(yùn)算和差分運(yùn)算算法來準(zhǔn)確提取燈絲。提取的算法步驟如下:
(1)感興趣區(qū)域(ROI)的定位,后續(xù)處理只在燈絲所在區(qū)域進(jìn)行。ROI精確定位圖像如圖4(b)所示,經(jīng)過該處理使系統(tǒng)處理速度提高10倍,且能理想的去除大背景噪聲影響。
(2)在ROI區(qū)域中進(jìn)行二值化分割,灰度閾值選取范圍在 [0,180]。這樣燈絲及連接燈絲的導(dǎo)線就分離出來了,記為f(x,y)。
(3)根據(jù)燈絲和導(dǎo)線在寬度尺寸上的差距,選擇結(jié)構(gòu)元SE大于燈絲寬度小于導(dǎo)線寬度的圓對(duì)f(x,y)進(jìn)行開運(yùn)算[1],開運(yùn)算目的是消除比結(jié)構(gòu)元素小的燈絲,記為g(x,y),如圖4 (d)所示。
(4)將步驟 (2)(3)獲得的圖像作減法運(yùn)算,獲取燈絲d(x,y)=f(x,y)-g(x,y),如圖4 (e)所示。
(5)燈絲細(xì)化 (即提取燈絲的中軸)。細(xì)化能夠消除燈絲表面毛刺及凹凸區(qū)域,便于后續(xù)精確測(cè)量。
圖4 燈絲提取過程
為了提高雙尖燈泡燈絲幾何參數(shù)圖像測(cè)量精度,傳統(tǒng)像素級(jí)邊緣檢測(cè)算法[2,3]如Sobel算子、Laplacian 算子和Robert算子等至多能達(dá)到像素級(jí)精度,已經(jīng)不能滿足實(shí)際測(cè)量需要。因此,本文采用基于高斯曲線擬合亞像素邊緣的檢測(cè)算法[4-6]來提取燈體邊緣,該算法的詳細(xì)定義請(qǐng)參見文獻(xiàn) [4]。
算法步驟總結(jié)如下:
(1)用高斯濾波器去除噪聲點(diǎn)干擾,當(dāng)σ= [0.5,0.8]去噪效果較好。
(2)用像素級(jí)Sobel算子粗定位圖像邊緣。采用的Sobel模板如圖5所示。
圖5 Sobel模板
(3)選取擬合點(diǎn),對(duì) (2)中提取的邊緣點(diǎn)沿梯度方向進(jìn)行高斯擬合。高斯曲線可表示為
式中:u——均值,σ——標(biāo)準(zhǔn)差。為了簡(jiǎn)化計(jì)算復(fù)雜度對(duì)式 (1)兩邊取對(duì)數(shù)得到
式 (2)可以看成形如:y=ax2+bx+c的二次曲線(a,b,c待定系數(shù)),根據(jù)方形孔徑采樣定理每個(gè)像素灰度值可以表示成
令n=0處為差分最大值點(diǎn),其值為y (0),n=-1、n=1是其相鄰的離散序號(hào),值分別表示為y (-1)、y(1)。將n=0、-1、1代入式 (3)就可以求出待定系數(shù)a、b、c的值表示如下
(4)亞像素邊緣點(diǎn)定位,找到高斯曲線的極大值對(duì)應(yīng)位置,即亞像素邊緣點(diǎn)。我們知道二次曲線的極值位于x =-a,也就是亞像素的邊緣點(diǎn)。
(5)用最小二乘法擬合[7](4)中的獲得的亞像素點(diǎn)就可以獲得亞像素邊緣線了。
圖6 (a)是利用上述方法對(duì)燈體邊沿進(jìn)行亞像素邊緣檢測(cè),邊緣線用寬黑體線表示。提取該邊緣線的目的是作為燈絲同軸檢測(cè)基準(zhǔn)線。圖6 (b)是圖6 (a)中小矩形方塊的局部放大圖,圖6 (b)中每個(gè)小方塊代表一個(gè)像素,可以看出亞像素邊緣點(diǎn)是穿過每個(gè)像素點(diǎn),而非在像素邊緣。
圖6 亞像素邊緣檢測(cè)結(jié)果
圖像識(shí)別是人工智能的一個(gè)重要領(lǐng)域,它通過對(duì)物體特征進(jìn)行度量,每個(gè)度量都描述物體某種特性的值,而圖像特征是各種各樣幾何參數(shù)的一個(gè)函數(shù),如物體的面積大小、周長(zhǎng)、矩形度等。本課題需要判定發(fā)光燈絲是否同軸,及測(cè)量燈絲的長(zhǎng)度。
首先對(duì)于燈絲同軸定義表述為燈絲位于直徑為1.5cm玻璃柱體的軸線上,或者表示為燈絲相對(duì)于基準(zhǔn)線保持在同一直線的情況,也通常所說的共軸。由于燈絲存在圓柱體內(nèi),因而在不同側(cè)面觀察,得到的位置狀況是不同的。所以要想完全檢測(cè)燈絲的同軸度情況,需要從多角度采集圖像 (0°、45°、90°等),分別進(jìn)行圖像處理及分析。圖7表示了0°及旋轉(zhuǎn)90°后采集得到的圖像,從這兩幅圖像中可以看出同一燈絲在燈泡中的不同形態(tài)。
對(duì)不同角度采集到的燈泡圖像進(jìn)行燈絲同軸檢測(cè)的具體方法如下:
(1)提取基準(zhǔn)線。根據(jù)燈泡玻璃柱體一致性好特點(diǎn),利用上文基于高斯曲線擬合亞像素邊緣的方法提取出玻璃柱體上下邊緣Ledgeup、Ledgedown作為基準(zhǔn)線,如圖6 (a)所示。
圖7 不同角度采集得到的圖像
(2)檢測(cè)點(diǎn)的選擇。取燈絲骨架上起始點(diǎn)周圍若干點(diǎn)的均 值(x-start,珔ystart),中 心 點(diǎn) 周 圍 若 干 點(diǎn) 的 均 值(x-m,珔ym),同樣末尾點(diǎn)均值(x-L,珔yL)。
(3)計(jì)算均值點(diǎn)到基準(zhǔn)線的距離。假設(shè)上邊緣Ledgeup的直線方程方程為
下邊緣Ledgedown的直線方程為
則燈絲骨架起點(diǎn)均值(x-start,珔ystart)到Ledgeup,Ledgedown的距離分別為
同理可以計(jì)算出中點(diǎn)均值(珔xm,珔ym)到兩基準(zhǔn)線距離記為d20,d21,末尾點(diǎn)均值(珔xL,珔yL)到兩基準(zhǔn)線距離為d30,d31。
(4)判別燈絲質(zhì)量。根據(jù)檢測(cè)要求,本文所取的同心度偏差Φ=±0.75 mm。所以如果當(dāng) (|d10-d11|≤Φ&&|d20-d21|≤Φ&&|d30-d31|≤Φ)則說明燈絲是同軸的,否則燈絲不同軸,即不良品。
燈絲長(zhǎng)度檢測(cè),在分割出燈絲后,利用最小外接矩形法[8,9],可以計(jì)算出燈絲的最小外接矩形。那么燈絲長(zhǎng)度就可以表示為l=2*Rb,其中Rb為最小外接矩形的長(zhǎng)軸,長(zhǎng)度檢測(cè)誤差△=±0.5mm。注意以上測(cè)量數(shù)據(jù)都在相機(jī)正確標(biāo)定之后得到的,標(biāo)定詳見參考文獻(xiàn) [10-12]。
系統(tǒng)軟件設(shè)計(jì)的目的是實(shí)時(shí)檢測(cè)雙尖燈泡燈絲的質(zhì)量,設(shè)計(jì)依據(jù)由各部分檢測(cè)依次順序執(zhí)行,當(dāng)發(fā)現(xiàn)任意一個(gè)檢測(cè)項(xiàng)不合格時(shí),系統(tǒng)退出重新進(jìn)行下一次檢測(cè)。檢測(cè)的過程大致如下:當(dāng)傳送帶上的燈泡進(jìn)入攝像頭攝像范圍時(shí),安裝在傳送帶兩邊的光電傳感器發(fā)出SOT 信號(hào),通知系統(tǒng)可以進(jìn)行檢測(cè),視覺軟件收到SOT 信號(hào)后觸發(fā)相機(jī)對(duì)燈泡進(jìn)行拍照,拍照完畢發(fā)出BUSY 信號(hào)通知設(shè)備拍照完畢,接著將圖像傳至計(jì)算機(jī)進(jìn)行處理,根據(jù)檢測(cè)結(jié)果判斷是否進(jìn)行下一項(xiàng)目的檢查。在視覺系統(tǒng)完成檢測(cè)后,發(fā)出PASS/FAIL信號(hào),由剔除裝置對(duì)燈泡進(jìn)行分類,最后關(guān)BUSY 信號(hào),等待下一次檢測(cè)。此設(shè)計(jì)的目的能夠有效節(jié)約機(jī)械運(yùn)動(dòng)及圖像處理時(shí)間,系統(tǒng)流程如圖8所示。
圖8 燈絲同軸及長(zhǎng)度檢測(cè)系統(tǒng)流程
HALCON 專業(yè)視覺軟件提供了現(xiàn)今市場(chǎng)中最強(qiáng)大的vision library,包含了1100多種各類功能,可用于任何和影像相關(guān)的研究以及產(chǎn)品開發(fā);HALCON 與Linux/UNIX及Windows NT/2000/XP兼容,HDevelop可將圖像處理代碼譯為C++,C或Visual Basic源代碼,用戶可以利用其開放式結(jié)構(gòu)快速開發(fā)圖像處理和機(jī)器視覺應(yīng)用系統(tǒng)。利用HALCON 平臺(tái)強(qiáng)大的圖像處理工具和VISUAL C++混合編程,高效開發(fā)出一個(gè)完整雙尖燈泡燈絲檢測(cè)系統(tǒng),達(dá)到了預(yù)期開發(fā)目標(biāo)。系統(tǒng)GUI界面如圖9所示。
圖9 雙尖燈泡燈絲質(zhì)量操作顯示界面
雙尖燈泡燈絲檢測(cè)系統(tǒng)是一個(gè)友好型的人機(jī)交互界面,主要有圖像顯示模塊、數(shù)據(jù)及信息顯示功能模塊、參數(shù)設(shè) 置模塊 (相機(jī)標(biāo)定、網(wǎng)絡(luò)端口)、用戶管理模塊等。從操作界面中可以看到當(dāng)前燈絲檢測(cè)結(jié)果、各檢測(cè)點(diǎn) (P1,P2,P3)絕對(duì)差、檢測(cè)耗時(shí)以及系統(tǒng)檢測(cè)良率。從信息輸出狀態(tài)欄中可以觀察了各部分的通信情況和圖像處理進(jìn)度。
利用該系統(tǒng)在線對(duì)120個(gè)雙尖燈泡樣品進(jìn)行檢測(cè),正確檢測(cè)數(shù)目118,錯(cuò)誤檢測(cè)數(shù)目2,準(zhǔn)確率達(dá)到98.33%,總耗時(shí)80s左右。因此該系統(tǒng)滿足實(shí)時(shí)在線檢測(cè)的要求。
本文利用機(jī)器視覺理論,將機(jī)器視覺技術(shù)應(yīng)用到雙尖燈泡燈絲同軸檢測(cè)及燈絲長(zhǎng)度測(cè)量中,利用合理的圖像采集,圖像處理和圖像識(shí)別方法,設(shè)計(jì)一個(gè)完整的檢測(cè)系統(tǒng)方案。實(shí)驗(yàn)結(jié)果表明,在一定條件下,該系統(tǒng)能夠有效對(duì)燈絲質(zhì)量進(jìn)行判決,準(zhǔn)確率達(dá)98.3%以上,測(cè)量精度可達(dá)毫米級(jí)。此類檢測(cè)系統(tǒng)能有效避開因人為主觀因素導(dǎo)致的不一致性,同時(shí)也大幅提高勞動(dòng)生產(chǎn)率,節(jié)約管理成本。隨著工業(yè)自動(dòng)化水平的提高及對(duì)燈泡嚴(yán)格質(zhì)量監(jiān)控,該系統(tǒng)在汽車工業(yè)中將會(huì)有廣闊的應(yīng)用前景。
[1]WANG Guangyong,WANG Linlin,WANG Zuocheng,et al.Multi-directions gray-scale morphology edge detection algorithm[J].Computer Science,2008,35 (8):232-234 (in Chinese).[王光勇,汪林林,王佐成,等.多方向灰度形態(tài)學(xué)邊緣檢測(cè)算法[J].計(jì)算機(jī)科學(xué),2008,35 (8):232-234.]
[2]ZHOU Jing,WANG Junyuan,ZHANG Bin.Measurement of tool geometric parameters based on sub-pixel edge detection[J].Tool Engineering,2010,44 (9):94-97 (in Chinese).[周敬,王俊元,張彬.基于亞像素邊緣檢測(cè)的刀具幾何參數(shù)測(cè)量 [J].工具技術(shù),2010,44 (9):94-97.]
[3]GU Yong,HE Mingxin.Research on beer bottle detection system based on machine vision [J].Computer Engineering and Design,2012,33 (1):248-252 (in Chinese). [顧勇,何明昕.基于機(jī)器視覺的啤酒瓶檢測(cè)系統(tǒng)的研究 [J].計(jì)算機(jī)工程與設(shè)計(jì),2012,33 (1):248-252.]
[4]SHANG Yaceng,CHEN Jing,TIAN Junwei.Sub-pixel edge detection algorithm based on Gauss fitting [J].Journal of Computer App Lications,2011,31 (1):179-181 (in Chi-nese).[尚雅層,陳靜,田軍委.高斯擬合亞像素邊緣檢測(cè)算法 [J].計(jì)算機(jī)應(yīng)用,2011,31 (1):179-181.]
[5]CHEN Siji,GU Jinan.Subpixel edge detection and vision location of three-jaw chuck [J].Journal of Central South University (Science and Technology),2013,44 (1):90-93 (in Chinese).[陳四杰,顧寄南.三爪卡盤的亞像素邊緣檢測(cè)與視覺定位 [J].中 南 大 學(xué) 學(xué) 報(bào) (自 然 科 學(xué) 版),2013,44 (1):90-93.]
[6]Angela C,Alfredo C,Remo S.Hyperbolic tangent algorithm for periodic effect cancellation in sub-pixel resolution edge displacement measurement [J].Measurement,2009,42 (4):1226-1232.
[7]DING Keliang,SHENG Yunzhong,OU Jikun.Methods of line-fitting based on total least-squares[J].Journal of Liaoning Technical University (Natural Science),2010,29 (1):44-47(in Chinese).[丁克良,沈云中,歐吉坤.整體最小二乘法直線擬合[J].遼寧工程技術(shù)大學(xué)學(xué)報(bào),2010,29 (1):44-47.]
[8]RUAN Qiuqi,RUAN Yuzhi.Digital image processing [M].2nd ed.Beijing:Publishing House of Electronic Industry,2011 (in Chinese). [阮秋琦,阮宇智.數(shù)字圖像處理第二版[M].2版.北京:電子工業(yè)出版社,2011.]
[9]FENG Weixing,TANG Mo,HE Bo.Digital image pattern recognition programming using visual C++ [M].Beijing:China Machine Press,2010 (in Chinese).[馮偉興,唐墨,賀波.Visual C++數(shù)字圖像模式識(shí)別技術(shù)詳解.北京:機(jī)械工業(yè)出版社,2010.]
[10]LU Hongliang.Camera calibration method for machine vision[D].Shenyang:School of Information Science and Engineering Shenyang University of Technology,2013:7-25 (in Chinese).[路紅亮.機(jī)器視覺中相機(jī)標(biāo)定方法的研究 [D].沈陽:沈陽工業(yè)大學(xué),2013:7-25.]
[11]Zheng Zhigang.Study on high-precision camera calibration and robust stereo matching [D].Anhui:University of Science and Technology of China,2008.
[12]FU Dan,ZHOU Jian,QIU Zhiqiang.A method of camera calibration using geometrical invariability of line [J].Journal of image and Graphics,2009,14 (6):1058-1063 (in Chinese)[傅丹,周劍,邱志強(qiáng).基于直線的幾何不變性標(biāo)定攝像機(jī)參數(shù).中國(guó)圖像圖形學(xué)報(bào),2009,14 (6):1058-1063.]