吳 瑞,羅亞波
(武漢理工大學(xué) 機電工程學(xué)院,湖北 武漢 430070)
羽毛球口的直徑和圓度直接影響到羽毛球的外觀及飛行特性[1],目前其尺寸檢測是工人使用專用口徑儀測量,效率低,易受工人疲勞等因素影響,因此,有必要通過搭建機器視覺檢測平臺對其進行快速且精確的測量。
機器視覺測量方法是一種非接觸的測量方法,具有高精度、高效率、可重復(fù)等優(yōu)點,國內(nèi)外眾多學(xué)者對其在質(zhì)量檢測及尺寸測量方向進行了大量研究:聶鵬等[2]在測量飛機鉚接高度差時,通過3D激光掃描儀獲取圖像,采用Canny算子結(jié)合最小外接圓算法完成鉚釘?shù)倪吘壧崛〖皵M合,運用形態(tài)學(xué)方法分割鉚釘和零件表面區(qū)域后計算得到鉚接高度差;金昭等[3]在測量斜齒輪螺旋角時,將Canny算子與同態(tài)濾波相結(jié)合對斜齒輪側(cè)面圖像提取邊緣,通過斜率篩選后僅保留齒線邊緣,從而檢測出斜齒輪的螺旋角;鄭曉昱等[4]通過激光點標(biāo)定的方法,讓該視覺系統(tǒng)能在不同視距的情況下完成測量任務(wù),采用大津算法改進Canny算子的雙閾值聯(lián)接階段,通過霍夫變換得到邊緣直線的解析式從而計算出門窗洞的尺寸信息;肖劍等[5]選用機器視覺技術(shù)提高螺紋鋼絲頭的檢測效率,計算輪廓曲率方差對螺紋鋼絲頭的特征點進行檢測,為了提高檢測精度,結(jié)合Sigmoid函數(shù)對邊緣進行擬合,提取亞像素特征點,完成了對螺紋鋼絲頭的尺寸測量。
筆者針對輕工業(yè)產(chǎn)品中羽毛球測量困難的問題,搭建視覺實驗平臺,通過輪廓跟蹤的方法獲取邊緣坐標(biāo),改進FAST(features from accelerated segment test)算法篩選特征點,提高檢測速度,結(jié)合局部尖銳度和凹凸性篩選得到真實特征點,利用最小二乘法擬合得到羽毛球圓度信息。
筆者選用灰度相機獲取羽毛球圖像,其相對于彩色相機有著更好的光效率[6]。在采集到的圖像中存在有實驗臺面和環(huán)境噪聲等干擾因素,因此有必要對圖像進行預(yù)處理。預(yù)處理可分為濾波降噪、閾值分割和孔洞填充3部分。
羽毛球圖像在采集過程中受到光照影響,以及在傳輸過程中受到電磁干擾,圖像會產(chǎn)生噪聲。筆者選用高斯濾波對羽毛球圖像進行濾波處理,以便較好地濾除噪聲,保護邊緣。
閾值分割是將圖像劃分為背景區(qū)域以及羽毛球區(qū)域,由于羽毛球整體顏色偏白,與實驗臺的灰度值相差較大,通過設(shè)置單閾值即可完成圖像分割,從而將圖像轉(zhuǎn)化為二值圖像,其公式為:
(1)
式中:f(x,y)為圖像灰度值;T為圖像分割閾值。
在閾值分割處理后,由于羽毛球的特性,在羽毛球區(qū)域內(nèi)部有著小塊的黑色區(qū)域,對羽毛球進行輪廓提取時會將其誤檢為邊緣輪廓。為了更好地提取羽毛球的邊緣輪廓,對閾值分割后的圖像進行孔洞填充[7]處理,對羽毛球內(nèi)部的黑色孔洞區(qū)域進行填充。圖像預(yù)處理過程如圖1所示。
圖1 圖像預(yù)處理過程
羽毛球是由16片羽毛構(gòu)成,羽毛球的直徑以及圓度直接影響到羽毛球的外觀質(zhì)量和擊打穩(wěn)定性。羽毛球的直徑可以通過相對羽毛尖點的距離進行計算,因此,選用基于輪廓跟蹤的邊緣提取方法,改進FAST算法提取出候選特征點,再通過對羽毛圖像特征的分析,計算局部尖銳度和凹凸性對特征點進行二次篩選,完成對16片羽毛尖點的檢測和定位。
羽毛球的邊緣輪廓提取是檢測羽毛尖點的基礎(chǔ),運用輪廓跟蹤[8]的方法能精準(zhǔn)地獲取羽毛球的邊緣點坐標(biāo)信息。筆者采用Freeman鏈碼對羽毛球邊緣輪廓進行跟蹤,其步驟如下:
步驟1對輸入圖像從上至下,從左至右的順序進行掃描,將掃描到的第一個灰度值為255的像素點設(shè)置為輪廓起點P0;
步驟2在P0的八鄰域范圍內(nèi)以圖2中1~8的順序依次判斷像素點的灰度值,當(dāng)找到灰度值為255的像素點時,將其設(shè)置為新的鄰域中心并將其存入輪廓點集;
圖2 鏈碼跟蹤順序圖
步驟3重復(fù)步驟2,直至新的鄰域中心與P0重合時,輪廓跟蹤結(jié)束。最終得到的輪廓集合就是羽毛球邊緣的坐標(biāo)信息。
在羽毛球圖像中,特征點往往是邊緣的交點,因此,以提取出來的邊緣像素點集為基礎(chǔ),通過特征點檢測算法進行初步篩選,得到候選角點,可以起到減少計算量,加快檢測速度的作用。目前常用的特征點提取算法有:Harris算法、FAST算法和Susan算法[9]等。其中,FAST算法適用于檢測局部灰度變化較大的像素點,且運行速度較快,在文中用來對圖像特征點進行初步篩選。FAST算法的檢測步驟如下:
步驟1從輪廓跟蹤得到的邊緣坐標(biāo)點集中選取候選點P,其灰度值為IP,通常將閾值T設(shè)置為IP×10%;
步驟2如圖3所示,以點P為圓心,3個像素點為半徑作圓,圓周上有16個像素點,將這16個像素點與P進行比較后可分類成3種狀態(tài),第一種是darker,是相對較暗的點;第二種是similar,是比較大眾的點;第三種是brighter,是相對較亮的點。其可以表示為:
圖3 FAST算法檢測流程圖
I(x) IP-T≤I(x)≤IP+T (2) IP+T 式中,I(x)為圓周上像素點的灰度值。 步驟3如果圓周上有連續(xù)9個像素點的灰度值與IP的差值大于給定的閾值,則判定P點為候選角點。 按照上述的算法流程,需要將鄰域16個像素點完全遍歷,可以在其基礎(chǔ)上進行優(yōu)化。羽毛球的羽毛頂端呈三角狀,針對這一特性,優(yōu)先檢測候選點對角線方向,即3、7、11、15這4個像素點,如果這4個點中至少有兩個點與IP的差值大于閾值,則對其余12個點進行計算,否則認為該候選點不是特征點,對下一個候選輪廓點進行判斷。候選特征點檢測結(jié)果如圖4所示。 圖4 改進FAST方法檢測結(jié)果圖 從圖4可知,改進的FAST算法對羽毛球16片羽毛尖點均能檢測出來,但存在3個問題:①有較多圖像邊緣點被誤檢為角點;②局部區(qū)域檢測出多個角點;③羽毛尖端呈現(xiàn)三角狀,會將兩端的干擾點檢測出來,然而目標(biāo)點僅為羽毛尖點,無法對其進行區(qū)分。針對前兩個問題,可通過計算候選角點的尖銳度并進行局部非極大值抑制解決,第三個問題可通過角點的凹凸性進行分類。 尖銳度可以衡量圖像特征點的尖銳程度,邊緣像素點的支撐角接近180°時,尖銳度接近0,羽毛尖點的支撐角度較小,尖銳度較大,設(shè)置合適的尖銳度閾值以及局部非極大值抑制后,能有效地篩除邊緣上的特征點。特征點Pi的支撐區(qū)域如圖5所示,該點的尖銳度S計算公式為: 圖5 特征點局部支撐區(qū)域 (3) (4) 式中:Pi為目標(biāo)特征點;Pi-m,Pi+m分別為輪廓線上與Pi間隔為m的像素點,Pi-m與Pi+m之間的區(qū)域則為Pi的支撐區(qū)域;α為Pi的支撐角。 經(jīng)過尖銳度篩選后的特征點如圖6所示。分析得知,設(shè)置尖銳度閾值能較好地篩除掉邊緣上被誤檢的特征點,但是無法區(qū)分羽毛尖端的3個特征點。對羽毛球圖像進行分析發(fā)現(xiàn),目標(biāo)需要檢測到的特征點是羽毛尖點,其呈現(xiàn)凸特性,而羽毛上另外兩個干擾點呈現(xiàn)凹特性,根據(jù)這一特點,在該點支撐區(qū)域內(nèi)計算每個特征點的凹凸性,完成對干擾特征點的剔除,凹凸性指數(shù)A的計算公式為: 圖6 尖銳度篩選結(jié)果 (5) 如果A<0,則Pi呈凸特性,判定為目標(biāo)特征點,否則將其判定為干擾特征點進行剔除,經(jīng)過凹凸性判定篩選后的特征點如圖7所示,從圖7可知,經(jīng)過凹凸性篩選能將羽毛上的干擾特征點剔除,且準(zhǔn)確地保留了16個目標(biāo)特征點信息。 圖7 凹凸性的二次篩選結(jié)果 為了驗證本文特征點檢測算法的有效性,將本文算法與Harris算法、文獻[10]算法、Susan算法進行對比,選取大小為1 280×1 024的羽毛球圖像進行檢測,其結(jié)果如圖8所示。如圖8(a)所示,本文算法在經(jīng)過尖銳度和凹凸性二次篩選后,能準(zhǔn)確檢測到16片羽毛尖點,不存在誤檢以及漏檢情況;圖8(b)、圖8(d)為兩種經(jīng)典算法的角點檢測結(jié)果,特點是數(shù)量多和檢測全面,在對羽毛尖點檢測時,沒有出現(xiàn)漏檢的情況,但是會出現(xiàn)多個角點描述一個羽毛尖點的問題,且Susan算法出現(xiàn)了將邊緣誤檢為角點的情況,這兩種算法的誤檢率都較高;圖8(c)為文獻[10]利用灰度差分和模板相結(jié)合的方法篩選候選點,計算角點響應(yīng)函數(shù)后進行局部非極大值抑制確定最終的角點,對羽毛尖點的檢測效果較好,未出現(xiàn)漏檢情況,但是對尖銳度較大的角點檢測時出現(xiàn)了重復(fù)角點。 圖8 各類算法檢測結(jié)果 為了能直觀地表現(xiàn)本文算法的性能,對以上4種算法檢測的角點數(shù)目以及運行時間進行統(tǒng)計,其結(jié)果如表1所示。 表1 各類算法檢測結(jié)果統(tǒng)計 由于本文算法根據(jù)羽毛球特性做了凹凸性篩選,因此將比對算法中凹特性角點的檢測結(jié)果不計為偽角點。從表1可知,在Harris算法和Susan算法檢測時間較長,其時間主要消耗在計算圖像中所有像素的響應(yīng)函數(shù)上[11],文獻[10]基于Harris算法,在計算響應(yīng)函數(shù)之前,用灰度差分與模板結(jié)合篩選角點,減少了一部分計算量,且誤檢率較低;本文算法以Freeman鏈碼結(jié)合改進FAST算法的策略篩選初始角點,只需計算初始角點在局部支撐區(qū)域的尖銳度及凹凸性進行二次篩選,減少了絕大部分的計算量,本文算法的檢測時間約為文獻[10]算法的84.8%,Harris算法的30.7%,能滿足對羽毛球的檢測速度要求。 針對羽毛球外觀質(zhì)量檢測中的球口直徑及其圓度測量問題,為了方便算法設(shè)計、驗證算法檢測準(zhǔn)確率以及實驗對比,搭建了如圖9所示的視覺實驗平臺。該系統(tǒng)可分為3部分:計算機、圖像采集和廢品剔除,其中CCD相機分辨率為1 280×1 024,像元尺寸為5.2 μm×5.2 μm,安裝6~12 mm變焦鏡頭。 圖9 視覺實驗平臺 測量系統(tǒng)的工作原理為:當(dāng)傳感器檢測到待測對象時,觸發(fā)工業(yè)相機完成圖像的采集并傳輸給計算機;計算機對圖像進行算法處理后,對檢測對象的尺寸信息進行可視化輸出,并將是否合格信號傳輸給單片機;當(dāng)單片機同時收到傳感器檢測到待測目標(biāo)以及不合格的信號時,控制步進電機旋轉(zhuǎn)一周,將不合格的對象剔除。 測量系統(tǒng)流程如圖10所示。 圖10 測量系統(tǒng)流程圖 采集到的圖像在經(jīng)過預(yù)處理之后,為了減少計算量,對圖像進行輪廓跟蹤獲取邊緣坐標(biāo)信息,改進FAST算法對邊緣像素點檢測,提取出候選特征點,再根據(jù)羽毛球特性,在特征點支撐區(qū)域內(nèi)計算尖銳度和凹凸性后進行非極大值抑制,完成毛尖特征點的提取。對提取到的16個特征點進行最小二乘法擬合,得到羽毛球的尺寸數(shù)據(jù),并計算其最大偏離度和圓度誤差。其公式為: (Xi-Xc)2+(Yi-Yc)2=R2 Rerr=Rmax-Rmin (6) 式中:(Xi,Yi)為特征點坐標(biāo);(Xc,Yc)為擬合圓心坐標(biāo);R為擬合圓半徑;ε為實際半徑與預(yù)測半徑的偏離值;G(a,b,c)為εi的平方和;Rerr為圓度誤差;Rmax,Rmin分別為特征點到擬合圓心的最大距離和最小距離;ω為最大偏離度;Ri為特征點到擬合圓心的距離。 為了得到羽毛球圓度的實際值,需要對相機進行標(biāo)定,確定圖像中每個像素點對應(yīng)的實際尺寸。在進行標(biāo)定之前,調(diào)節(jié)鏡頭參數(shù),使羽毛球圖像盡可能大地占據(jù)相機視野。在實驗條件不變的情況下,采集棋盤格圖像,獲取棋盤格角點的坐標(biāo)信息,根據(jù)式(7)計算出相機標(biāo)定系數(shù)K。 K=D/L (7) 式中:L為角點間的像素距離;D為棋盤格角點間的實際距離。 對棋盤格多次標(biāo)定后取平均值,得到最終的相機標(biāo)定系數(shù)K=0.069 mm/pixel。 為了驗證本文算法的有效性和普適性,選擇兩組羽毛球進行測量,第一組為合格羽毛球,第二組為次品羽毛球,表現(xiàn)為少數(shù)羽毛不同程度的外翻,內(nèi)折以及羽毛球整體受到擠壓變形。采取兩點法對羽毛球直徑進行多次測量,取平均值作為實際測量結(jié)果。在羽毛球加工工藝中,羽毛球標(biāo)準(zhǔn)半徑為33 mm,最大偏離度要求在直徑的百分之一范圍內(nèi),即小于0.66 mm,圓度變形在3%以下,即圓度誤差要小于0.99 mm,將測量指標(biāo)不滿足要求的羽毛球視為不合格羽毛球。實驗結(jié)果如表2和表3所示。 表2 合格羽毛球圓度測量結(jié)果 表3 次品羽毛球圓度測量結(jié)果 從表2和表3可知,機器視覺測量系統(tǒng)對合格羽毛球半徑的最大測量誤差為0.34 mm,平均測量誤差為0.21 mm;對次品羽毛球半徑的最大測量誤差為0.38 mm,平均測量誤差為0.23 mm,羽毛球加工工藝中要求羽毛球半徑測量精度誤差在0.5 mm范圍內(nèi),因此測量系統(tǒng)能滿足羽毛球測量的精度要求。系統(tǒng)測量合格羽毛球的平均圓度誤差為0.59 mm,平均最大偏離度為0.38 mm,次品羽毛球圓度的平均圓度誤差為4.97 mm,平均最大偏離度為3.32 mm,能夠準(zhǔn)確地對合格羽毛球和次品進行分類。在測量速度方面,本文算法的平均測量速度為452 ms,能滿足測量實時性的要求。 針對羽毛球質(zhì)檢工藝中對球口直徑及其圓度測量的精度和速度要求,搭建了視覺實驗平臺。首先對采集到的圖像進行預(yù)處理;其次采用Freeman鏈碼結(jié)合改進FAST算法篩選出候選特征點,結(jié)合羽毛球幾何特征,計算輪廓尖銳度和凹凸性篩選得到羽毛尖點坐標(biāo)信息;最后以最小二乘法對羽毛尖點擬合,以最大偏離度和圓度誤差作為圓度評定標(biāo)準(zhǔn)。實驗結(jié)果表明,本文測量系統(tǒng)能滿足羽毛球圓度測量的精度要求,相比傳統(tǒng)檢測算法,所提出的方法速度快,準(zhǔn)確性高,測量結(jié)果穩(wěn)定,為羽毛球質(zhì)量檢測自動化提供了一種新的方法。2.3 基于尖銳度和凹凸性的二次篩選
2.4 檢測結(jié)果對比
3 視覺測量系統(tǒng)設(shè)計
3.1 實驗平臺設(shè)計
3.2 測量系統(tǒng)流程
4 實驗結(jié)果與分析
4.1 系統(tǒng)標(biāo)定
4.2 圓度測量結(jié)果分析
5 結(jié)論