王若瑾,張旭
(201620 上海市 上海工程技術(shù)大學(xué) 機(jī)械與汽車工程學(xué)院)
隨著制造業(yè)的不斷發(fā)展和工業(yè)水平的提高,對(duì)于工業(yè)零件尺寸測(cè)量的精度與速度要求越來越高。以孔類尺寸為例,當(dāng)前工業(yè)檢測(cè)中仍然以內(nèi)徑百分表或千分表為主要測(cè)量方法,傳統(tǒng)人工檢測(cè)手段存在效率低、對(duì)檢測(cè)人員技術(shù)水平及經(jīng)驗(yàn)要求高等問題,基于機(jī)器視覺的測(cè)量方法正憑借其低成本、非接觸、簡(jiǎn)單高效等優(yōu)點(diǎn)逐步成為機(jī)械零件尺寸測(cè)量的革新手段。
為實(shí)現(xiàn)高精度的工件尺寸自動(dòng)化測(cè)量,傳統(tǒng)的機(jī)器視覺尺寸測(cè)量算法主要依賴圖像采集、圖像預(yù)處理、邊緣提取、數(shù)據(jù)擬合4 部分,這4 部分的共同進(jìn)步推動(dòng)尺寸測(cè)量算法精度的提升。在傳統(tǒng)算法基礎(chǔ)上,王高杰等[1]通過研究人工標(biāo)志定位點(diǎn)的分布對(duì)單目相機(jī)位姿解算精度的影響,針對(duì)人工標(biāo)志的布設(shè)和點(diǎn)位選擇給出了合理的建議和指導(dǎo),有助于提高相機(jī)標(biāo)定的準(zhǔn)確性,從圖像采集部分減少誤差,為后續(xù)圖像處理打下了良好基礎(chǔ)。圖像預(yù)處理的作用在于消除圖像中的無(wú)關(guān)信息,恢復(fù)有用的真實(shí)信息;王智文等[2]提出了一種基于多元統(tǒng)計(jì)模型的分形小波自適應(yīng)圖像去噪算法,在有效去噪的同時(shí)能夠保持圖像的精細(xì)結(jié)構(gòu)。邊緣提取作為基于機(jī)器視覺的尺寸測(cè)量算法中最為關(guān)鍵的部分,近年取得了長(zhǎng)足進(jìn)步;童勝杰等[3]提出一種基于2階微分算子和數(shù)學(xué)形態(tài)的改進(jìn)工件邊緣檢測(cè)方法,在去除工件表面劃痕的同時(shí)提高了邊緣清晰度和峰值信噪比;李凱等[4]融合了各向同性和自動(dòng)各向異性高斯核邊緣檢測(cè)方法的優(yōu)勢(shì),提出了一種加入邊緣強(qiáng)度修正因子的邊緣檢測(cè)算法,獲得了更優(yōu)的噪聲魯棒性和弱邊緣檢測(cè)能力。隨著精度要求的提高,以上單像素邊緣已經(jīng)不能滿足實(shí)際需求,因此邊緣檢測(cè)算法進(jìn)一步深入到了亞像素邊緣,亞像素邊緣檢測(cè)技術(shù)主要分為3 類:基于矩的[5-6]、基于擬合[7-8]的和基于插值[9]的。其中,矩法準(zhǔn)確性高但抗噪能力差且計(jì)算時(shí)間長(zhǎng);插值法的計(jì)算量相對(duì)較小,且具有較強(qiáng)的抗噪能力,但其定位精度較低;擬合法雖受擬合曲線限制,但具有較強(qiáng)的抗干擾性,定位精度也較高。數(shù)據(jù)擬合部分則影響著尺寸測(cè)量結(jié)果的直接輸出,針對(duì)離群點(diǎn)會(huì)對(duì)擬合結(jié)果產(chǎn)生影響的問題,郭斯羽等[10]應(yīng)對(duì)不同邊緣點(diǎn)數(shù)量的實(shí)驗(yàn)條件分別提出了一種基于截?cái)嘧钚《朔ê? 種基于雙點(diǎn)移除法的改進(jìn)橢圓擬合算法。
為應(yīng)用于實(shí)際測(cè)量系統(tǒng),本文建立了一套結(jié)合改進(jìn)Canny 和擬合法亞像素邊緣提取的圓孔類尺寸測(cè)量方法,通過對(duì)標(biāo)準(zhǔn)內(nèi)徑環(huán)規(guī)的內(nèi)徑邊緣進(jìn)行檢測(cè)完成像素標(biāo)定,再通過針對(duì)圓孔類樣本的曲線邊緣檢測(cè)進(jìn)行尺寸測(cè)量,從而實(shí)現(xiàn)對(duì)圓孔類尺寸的高精度測(cè)量。
較為經(jīng)典的像素級(jí)邊緣檢測(cè)算子大致可分為1 階微分算子和2 階微分算子。其中,1 階微分算子(如Roberts 算子、Sobel 算子、Prewitt 算子等)的基本原理是通過對(duì)目標(biāo)微分突出其灰度值的變化,將灰度變化值較高的部分視為邊緣點(diǎn),計(jì)算簡(jiǎn)單快速,但同時(shí)存在檢測(cè)得到的邊緣較粗且容易得到虛假邊緣的缺點(diǎn),因此通常僅適用于精度要求較低的場(chǎng)景。Laplace 算子是基于2 階導(dǎo)數(shù)的邊緣檢測(cè)算子,不依賴邊緣方向,對(duì)孤立點(diǎn)和階躍型邊緣點(diǎn)定位準(zhǔn)確,但對(duì)噪聲敏感且容易丟失邊緣信息,故而通常不以其原始形式進(jìn)行邊緣檢測(cè)。Canny 算子[11]一經(jīng)提出便憑借其較為平衡的邊緣檢測(cè)與去噪效果一躍成為最受廣泛應(yīng)用的邊緣檢測(cè)算子。
原始Canny 算子的基本流程:首先采用高斯濾波對(duì)輸入圖片去噪,接著通過計(jì)算差分1 階偏導(dǎo)得到圖像的灰度梯度的大小及方向,然后經(jīng)由非極大值抑制對(duì)邊緣進(jìn)行細(xì)化,最后通過雙閾值的設(shè)置對(duì)圖像進(jìn)行滯后連接,得到完整的目標(biāo)圖像邊緣輪廓。
但傳統(tǒng)的高斯濾波存在會(huì)丟失邊緣細(xì)節(jié)信息的固有弊端,而相較于同樣具有邊緣保持特性的雙邊濾波,由于引導(dǎo)濾波[12]的時(shí)間復(fù)雜度與窗口大小無(wú)關(guān),故有計(jì)算速度更快的特點(diǎn),且能夠克服雙邊濾波可能引入“梯度反轉(zhuǎn)”偽影的問題。為此,本文對(duì)傳統(tǒng)Canny 中的濾波部分進(jìn)行改進(jìn),利用具有良好保邊效果的引導(dǎo)濾波代替高斯濾波對(duì)圖像進(jìn)行去噪處理。引導(dǎo)濾波示意圖如圖1 所示。
圖1 引導(dǎo)濾波示意圖Fig.1 Schematic diagram of guided filter
另外,在雙閾值選取部分,為實(shí)現(xiàn)針對(duì)不同光源、拍攝環(huán)境均能獲得自適應(yīng)閾值的選取,本文通過灰度迭代來獲取高低閾值,即選取圖像灰度均值為初始閾值,再對(duì)高于初始閾值和低于初始閾值的部分分別求取均值,對(duì)得到的2 個(gè)均值再做平均得到新的閾值。當(dāng)前后2 次閾值差小于迭代終止條件時(shí)完成選取,否則繼續(xù)迭代至獲得最佳閾值。其中,迭代終止條件可根據(jù)灰度直方圖中的雙峰收斂情況而定,以終止條件選擇灰度差大于雙峰各自內(nèi)部灰度上下限的寬度為宜。改進(jìn)后的Canny 邊緣檢測(cè)具體流程如圖2 所示。
圖2 改進(jìn)Canny 濾波部分流程圖Fig.2 Flow chart of improved Canny
邊緣模型根據(jù)其灰度切面大致可分為:階躍型、斜坡型和屋頂型[13]3 種,而實(shí)際中由于數(shù)字圖像的邊緣不可避免地存在被模糊和帶有噪聲,故而邊緣灰度切面常被視為更加接近灰度斜坡。如圖3 所示,圖3(a)中的灰度值差別是受聚焦機(jī)理和電子元件影響產(chǎn)生的,可以看出越靠近實(shí)際邊緣位置灰度變化最多;由圖3(b)可見,當(dāng)灰度值差分達(dá)到最大時(shí)即為實(shí)際邊緣點(diǎn);圖3(c)顯示灰度差分的外包絡(luò)線接近高斯曲線??紤]到圖片生成中存在的模糊效應(yīng)及噪聲中存在的主要部分為高斯噪聲,因此考慮測(cè)量系統(tǒng)的實(shí)時(shí)性和準(zhǔn)確性,本文選擇使用高斯模型進(jìn)行擬合更符合實(shí)際情況。
圖3 斜坡型灰度圖Fig.3 Grayscale image of slope
采用改進(jìn)Canny 算子得到粗提取的像素級(jí)邊緣檢測(cè)結(jié)果后,再利用改進(jìn)Sobel 算子的Scharr 算子求得每個(gè)單像素邊緣點(diǎn)處的梯度幅值及方向,Scharr 算子的1 對(duì)卷積模板為
式中:GX——水平方向梯度算子;GY——豎直方向梯度算子。
具體在運(yùn)算中,表現(xiàn)為每個(gè)像素灰度值與卷積模板對(duì)應(yīng)位置的元素進(jìn)行卷積運(yùn)算,得到該點(diǎn)處的灰度梯度大小為
考慮開方帶來的計(jì)算復(fù)雜度,常選用式(4)代替式(3)
則其對(duì)應(yīng)的梯度方向?yàn)?/p>
接著,在邊緣法線方向上對(duì)梯度幅值進(jìn)行采樣。由于擬合過程本質(zhì)上是使真實(shí)數(shù)據(jù)曲線與擬合函數(shù)之間誤差最小化,故采樣點(diǎn)的選取十分重要。本文選擇沿著每個(gè)邊緣點(diǎn)所在的法線方向取若干個(gè)像素點(diǎn),并將這些像素點(diǎn)向法線投影得到采樣點(diǎn)(為兼顧算法的準(zhǔn)確性和實(shí)時(shí)性,本文選擇提取5 個(gè)采樣點(diǎn))。如圖4 中,虛線網(wǎng)格表示圖像整像素單元,實(shí)線方框?yàn)榻?jīng)過改進(jìn)Canny 檢測(cè)到的像素級(jí)邊緣點(diǎn),實(shí)線箭頭所示為邊緣的法線方向,A、B、C、D、E 點(diǎn)分別向梯度方向的投影點(diǎn)即為所取采樣點(diǎn),由于采樣點(diǎn)不在整像素位置,故要獲得采樣點(diǎn)處的梯度幅值,需通過像元分割的方法將灰度法線方向上圖像的最小單位進(jìn)行細(xì)化分割,能夠提高灰度圖特征點(diǎn)的提取精度。
圖4 擬合點(diǎn)的選取Fig.4 Selection of fitting points
由于雙三次插值能夠克服最近鄰插值的不連續(xù)性與雙線性插值中可能導(dǎo)致的細(xì)節(jié)退化等問題,為提高分割精度,本文設(shè)計(jì)使用雙三次插值并借助采樣點(diǎn)周圍16 個(gè)像素點(diǎn)的梯度幅值與其變化率綜合計(jì)算,實(shí)現(xiàn)采樣點(diǎn)梯度幅值的獲取。
具體來講,用于擬合梯度曲線的高斯模型為
式中:μ——均值,也即所求亞像素的位置坐標(biāo);σ——標(biāo)準(zhǔn)差。
直接對(duì)高斯函數(shù)進(jìn)行擬合較為困難,不妨對(duì)式(6)兩邊同時(shí)取對(duì)數(shù),將其變換為如式(7)所示形如y=Ax2+Bx+C 的二次曲線來簡(jiǎn)化計(jì)算
其中拋物線頂點(diǎn)所在的橫坐標(biāo)值為
利用最小二乘法得到二次曲線的系數(shù),即找到使函數(shù)均方誤差最小的系數(shù)A、B 和C,對(duì)于擬合點(diǎn)坐標(biāo)(xi,lnyi),均方誤差表達(dá)式為
圓擬合問題根據(jù)其實(shí)際解決方案可大致分為2類:(1)幾何擬合:使數(shù)據(jù)點(diǎn)到圓的幾何(正交)距離最??;(2)代數(shù)擬合:使其他代數(shù)表達(dá)式達(dá)到最小化。而由于基于幾何擬合的方法通常是迭代的,且其迭代準(zhǔn)確性受初始值的影響較大,這就導(dǎo)致運(yùn)算時(shí)間勢(shì)必較長(zhǎng)。而代數(shù)擬合方法憑借其非迭代的特點(diǎn),在檢測(cè)中能夠?qū)崿F(xiàn)更好的實(shí)時(shí)性,且能夠避免初值選取不當(dāng)造成的擬合偏差。此外,根據(jù)Chernov[14]的誤差分析證明,經(jīng)過仔細(xì)設(shè)計(jì)的代數(shù)擬合法(如Taubin 算法)可以在統(tǒng)計(jì)學(xué)上實(shí)現(xiàn)和幾何擬合法幾乎一致的精度。因此,本文中選用Taubin 法進(jìn)行圓擬合。
代數(shù)法中主要是基于圓方程的代數(shù)形式
區(qū)別于其他代數(shù)方法,Taubin 法對(duì)該方程設(shè)置的約束條件為
故有Taubin 法的能量函數(shù)為
使能量函數(shù)最小化即可得到的最優(yōu)解,本文中采用Levenberg-Marquardt 法進(jìn)行最優(yōu)化求解。最后,通過圓方程的幾何參數(shù)與代數(shù)參數(shù)的轉(zhuǎn)換:,即可求得擬合圓的圓心和半徑。
本文的邊緣尺寸測(cè)量系統(tǒng)實(shí)驗(yàn)是在MATLAB R2019a 環(huán)境下實(shí)現(xiàn)的。借助MATLAB 實(shí)現(xiàn)仿真圖片的生成,真實(shí)圖像則通過搭建機(jī)器視覺采集系統(tǒng)完成采集。本文搭建的采集系統(tǒng)由光學(xué)平臺(tái)、支架、背光板、CMOS 工業(yè)相機(jī)、計(jì)算機(jī)等組成,如圖5所示。其中,相機(jī)選用大恒ME2P-1840-6GC-P 工業(yè)相機(jī),分辨率為4 508×4 096,像元尺寸2.5μm,幀率為6.4。鏡頭配備大恒HN-1624-20M-C1/1X,焦距為16 mm,畸變<0.1%。
圖5 測(cè)量平臺(tái)Fig.5 Measurement platform
由MATLAB 合成的仿真圓孔型零件圖如圖6所示。圖6 表示了不同半徑的圓(圓內(nèi)強(qiáng)度為0,圓外強(qiáng)度為255),分別對(duì)其添加標(biāo)準(zhǔn)差為0.01~0.1共10 個(gè)不同程度的高斯白噪聲,檢測(cè)不同半徑、不同噪聲條件下的圓心位置和半徑。
圖6 仿真孔型圖Fig.6 Simulated hole diagram
圖7 和圖8 為仿真圓孔型零件在不同半徑和噪聲條件下不同方法檢測(cè)誤差對(duì)比。可以看出,傳統(tǒng)Canny 在與Zernike 矩結(jié)合進(jìn)行測(cè)量時(shí),針對(duì)較小內(nèi)徑的圓測(cè)量表現(xiàn)較差,在半徑50 像素的圓測(cè)量中誤差可達(dá)0.27 個(gè)像素,而與插值法結(jié)合則在圓心位置檢測(cè)的準(zhǔn)確度上明顯劣于其他方法。利用本文提出的檢測(cè)方法,對(duì)仿真圖像的圓孔半徑檢測(cè)誤差基本控制在0.01 個(gè)像素之內(nèi),而對(duì)圓心的定位檢測(cè)在準(zhǔn)確度和穩(wěn)定性上均優(yōu)于其他2 種方法。
圖7 不同方法對(duì)圓孔半徑的檢測(cè)誤差比較Fig.7 Comparison of positioning errors of hole detection with various methods
圖8 不同方法對(duì)于孔圓心定位誤差的比較Fig.8 Comparison of positioning errors of hole center detection with various methods
在對(duì)實(shí)際圖像進(jìn)行尺寸測(cè)量前,需要對(duì)當(dāng)前視覺系統(tǒng)進(jìn)行標(biāo)定,找到像素與實(shí)際尺寸之間的轉(zhuǎn)換關(guān)系,即確定標(biāo)定系數(shù)。本文選擇在背光環(huán)境下對(duì)內(nèi)徑環(huán)規(guī)進(jìn)行尺寸測(cè)量,得到標(biāo)定系數(shù)q,即1 像素對(duì)于實(shí)際尺寸的定標(biāo)結(jié)果。
分別以圓形標(biāo)定板和內(nèi)徑環(huán)規(guī)等作為不同大小的圓形樣本,模擬孔類尺寸的測(cè)量,得到實(shí)際尺寸與誤差,實(shí)驗(yàn)結(jié)果如表1 所示。
表1 部分圓孔樣本檢測(cè)結(jié)果Tab.1 Detection results of part of the hole samples
實(shí)驗(yàn)結(jié)果表明,本文方法對(duì)于直徑7.5 mm 的圓孔類樣本測(cè)量誤差在0.003 mm 以內(nèi),平均相對(duì)誤差為0.028%,對(duì)于直徑12 mm 的孔類樣本測(cè)量誤差在0.015 mm 以內(nèi),平均相對(duì)誤差為0.075%,而對(duì)較大尺寸孔徑如40 mm 的樣本測(cè)量誤差則控制在0.05 mm 以內(nèi),平均相對(duì)誤差為0.080%。由表1 可以看出,本文提出的測(cè)量方法在小直徑樣本尺寸測(cè)量上相較于傳統(tǒng)Canny 與亞像素邊緣檢測(cè)結(jié)合的測(cè)量方法精度有顯著提升,隨著樣本尺寸增大,精度差距有所降低,但仍存在一定優(yōu)勢(shì)。由此可見,本文提出的測(cè)量系統(tǒng)可以實(shí)現(xiàn)針對(duì)圓孔類尺寸的高精度測(cè)量。
為了適應(yīng)工業(yè)環(huán)境,本文設(shè)計(jì)了一套基于機(jī)器視覺的圓孔類尺寸精確測(cè)量方法,既保證了測(cè)量精度,又避免了人工檢測(cè)精度低、效率低、易損傷加工表面等傳統(tǒng)檢測(cè)方法的固有缺點(diǎn)。實(shí)驗(yàn)結(jié)果顯示,本文提出的測(cè)量方法相較于傳統(tǒng)Canny 與亞像素邊緣檢測(cè)結(jié)合的測(cè)量方法實(shí)現(xiàn)了更高的檢測(cè)精度與更好的穩(wěn)定性。在仿真圖片中,誤差小于0.01個(gè)像素;對(duì)不同尺寸的樣本真實(shí)圖片平均相對(duì)誤差小于0.080%;在小直徑樣本中表現(xiàn)最優(yōu),孔徑誤差在0.003 mm 以內(nèi);由于較大孔徑的樣本受鏡頭畸變影響更大,故測(cè)量誤差相對(duì)較大,最大相對(duì)誤差為0.123%。
該系統(tǒng)目前僅對(duì)背光環(huán)境下的圓孔類尺寸適用性最佳,如何克服不同光照方向?qū)е碌谋砻婕y理和污染等噪聲對(duì)測(cè)量帶來的影響仍需進(jìn)一步研究和完善。另一方面,對(duì)于相機(jī)鏡頭畸變的矯正問題也是下一步研究中需要考慮的問題。在接下來的研究中將著重改進(jìn)上述問題,并對(duì)測(cè)量系統(tǒng)的適用性和魯棒性加以改進(jìn)和提高。