王若瑾,張旭
(201620 上海市 上海工程技術大學 機械與汽車工程學院)
隨著制造業的不斷發展和工業水平的提高,對于工業零件尺寸測量的精度與速度要求越來越高。以孔類尺寸為例,當前工業檢測中仍然以內徑百分表或千分表為主要測量方法,傳統人工檢測手段存在效率低、對檢測人員技術水平及經驗要求高等問題,基于機器視覺的測量方法正憑借其低成本、非接觸、簡單高效等優點逐步成為機械零件尺寸測量的革新手段。
為實現高精度的工件尺寸自動化測量,傳統的機器視覺尺寸測量算法主要依賴圖像采集、圖像預處理、邊緣提取、數據擬合4 部分,這4 部分的共同進步推動尺寸測量算法精度的提升。在傳統算法基礎上,王高杰等[1]通過研究人工標志定位點的分布對單目相機位姿解算精度的影響,針對人工標志的布設和點位選擇給出了合理的建議和指導,有助于提高相機標定的準確性,從圖像采集部分減少誤差,為后續圖像處理打下了良好基礎。圖像預處理的作用在于消除圖像中的無關信息,恢復有用的真實信息;王智文等[2]提出了一種基于多元統計模型的分形小波自適應圖像去噪算法,在有效去噪的同時能夠保持圖像的精細結構。邊緣提取作為基于機器視覺的尺寸測量算法中最為關鍵的部分,近年取得了長足進步;童勝杰等[3]提出一種基于2階微分算子和數學形態的改進工件邊緣檢測方法,在去除工件表面劃痕的同時提高了邊緣清晰度和峰值信噪比;李凱等[4]融合了各向同性和自動各向異性高斯核邊緣檢測方法的優勢,提出了一種加入邊緣強度修正因子的邊緣檢測算法,獲得了更優的噪聲魯棒性和弱邊緣檢測能力。隨著精度要求的提高,以上單像素邊緣已經不能滿足實際需求,因此邊緣檢測算法進一步深入到了亞像素邊緣,亞像素邊緣檢測技術主要分為3 類:基于矩的[5-6]、基于擬合[7-8]的和基于插值[9]的。其中,矩法準確性高但抗噪能力差且計算時間長;插值法的計算量相對較小,且具有較強的抗噪能力,但其定位精度較低;擬合法雖受擬合曲線限制,但具有較強的抗干擾性,定位精度也較高。數據擬合部分則影響著尺寸測量結果的直接輸出,針對離群點會對擬合結果產生影響的問題,郭斯羽等[10]應對不同邊緣點數量的實驗條件分別提出了一種基于截斷最小二乘法和2 種基于雙點移除法的改進橢圓擬合算法。
為應用于實際測量系統,本文建立了一套結合改進Canny 和擬合法亞像素邊緣提取的圓孔類尺寸測量方法,通過對標準內徑環規的內徑邊緣進行檢測完成像素標定,再通過針對圓孔類樣本的曲線邊緣檢測進行尺寸測量,從而實現對圓孔類尺寸的高精度測量。
較為經典的像素級邊緣檢測算子大致可分為1 階微分算子和2 階微分算子。其中,1 階微分算子(如Roberts 算子、Sobel 算子、Prewitt 算子等)的基本原理是通過對目標微分突出其灰度值的變化,將灰度變化值較高的部分視為邊緣點,計算簡單快速,但同時存在檢測得到的邊緣較粗且容易得到虛假邊緣的缺點,因此通常僅適用于精度要求較低的場景。Laplace 算子是基于2 階導數的邊緣檢測算子,不依賴邊緣方向,對孤立點和階躍型邊緣點定位準確,但對噪聲敏感且容易丟失邊緣信息,故而通常不以其原始形式進行邊緣檢測。Canny 算子[11]一經提出便憑借其較為平衡的邊緣檢測與去噪效果一躍成為最受廣泛應用的邊緣檢測算子。
原始Canny 算子的基本流程:首先采用高斯濾波對輸入圖片去噪,接著通過計算差分1 階偏導得到圖像的灰度梯度的大小及方向,然后經由非極大值抑制對邊緣進行細化,最后通過雙閾值的設置對圖像進行滯后連接,得到完整的目標圖像邊緣輪廓。
但傳統的高斯濾波存在會丟失邊緣細節信息的固有弊端,而相較于同樣具有邊緣保持特性的雙邊濾波,由于引導濾波[12]的時間復雜度與窗口大小無關,故有計算速度更快的特點,且能夠克服雙邊濾波可能引入“梯度反轉”偽影的問題。為此,本文對傳統Canny 中的濾波部分進行改進,利用具有良好保邊效果的引導濾波代替高斯濾波對圖像進行去噪處理。引導濾波示意圖如圖1 所示。

圖1 引導濾波示意圖Fig.1 Schematic diagram of guided filter
另外,在雙閾值選取部分,為實現針對不同光源、拍攝環境均能獲得自適應閾值的選取,本文通過灰度迭代來獲取高低閾值,即選取圖像灰度均值為初始閾值,再對高于初始閾值和低于初始閾值的部分分別求取均值,對得到的2 個均值再做平均得到新的閾值。當前后2 次閾值差小于迭代終止條件時完成選取,否則繼續迭代至獲得最佳閾值。其中,迭代終止條件可根據灰度直方圖中的雙峰收斂情況而定,以終止條件選擇灰度差大于雙峰各自內部灰度上下限的寬度為宜。改進后的Canny 邊緣檢測具體流程如圖2 所示。

圖2 改進Canny 濾波部分流程圖Fig.2 Flow chart of improved Canny
邊緣模型根據其灰度切面大致可分為:階躍型、斜坡型和屋頂型[13]3 種,而實際中由于數字圖像的邊緣不可避免地存在被模糊和帶有噪聲,故而邊緣灰度切面常被視為更加接近灰度斜坡。如圖3 所示,圖3(a)中的灰度值差別是受聚焦機理和電子元件影響產生的,可以看出越靠近實際邊緣位置灰度變化最多;由圖3(b)可見,當灰度值差分達到最大時即為實際邊緣點;圖3(c)顯示灰度差分的外包絡線接近高斯曲線。考慮到圖片生成中存在的模糊效應及噪聲中存在的主要部分為高斯噪聲,因此考慮測量系統的實時性和準確性,本文選擇使用高斯模型進行擬合更符合實際情況。

圖3 斜坡型灰度圖Fig.3 Grayscale image of slope
采用改進Canny 算子得到粗提取的像素級邊緣檢測結果后,再利用改進Sobel 算子的Scharr 算子求得每個單像素邊緣點處的梯度幅值及方向,Scharr 算子的1 對卷積模板為
式中:GX——水平方向梯度算子;GY——豎直方向梯度算子。
具體在運算中,表現為每個像素灰度值與卷積模板對應位置的元素進行卷積運算,得到該點處的灰度梯度大小為
考慮開方帶來的計算復雜度,常選用式(4)代替式(3)
則其對應的梯度方向為
接著,在邊緣法線方向上對梯度幅值進行采樣。由于擬合過程本質上是使真實數據曲線與擬合函數之間誤差最小化,故采樣點的選取十分重要。本文選擇沿著每個邊緣點所在的法線方向取若干個像素點,并將這些像素點向法線投影得到采樣點(為兼顧算法的準確性和實時性,本文選擇提取5 個采樣點)。如圖4 中,虛線網格表示圖像整像素單元,實線方框為經過改進Canny 檢測到的像素級邊緣點,實線箭頭所示為邊緣的法線方向,A、B、C、D、E 點分別向梯度方向的投影點即為所取采樣點,由于采樣點不在整像素位置,故要獲得采樣點處的梯度幅值,需通過像元分割的方法將灰度法線方向上圖像的最小單位進行細化分割,能夠提高灰度圖特征點的提取精度。

圖4 擬合點的選取Fig.4 Selection of fitting points
由于雙三次插值能夠克服最近鄰插值的不連續性與雙線性插值中可能導致的細節退化等問題,為提高分割精度,本文設計使用雙三次插值并借助采樣點周圍16 個像素點的梯度幅值與其變化率綜合計算,實現采樣點梯度幅值的獲取。
具體來講,用于擬合梯度曲線的高斯模型為
式中:μ——均值,也即所求亞像素的位置坐標;σ——標準差。
直接對高斯函數進行擬合較為困難,不妨對式(6)兩邊同時取對數,將其變換為如式(7)所示形如y=Ax2+Bx+C 的二次曲線來簡化計算
其中拋物線頂點所在的橫坐標值為
利用最小二乘法得到二次曲線的系數,即找到使函數均方誤差最小的系數A、B 和C,對于擬合點坐標(xi,lnyi),均方誤差表達式為
圓擬合問題根據其實際解決方案可大致分為2類:(1)幾何擬合:使數據點到圓的幾何(正交)距離最小;(2)代數擬合:使其他代數表達式達到最小化。而由于基于幾何擬合的方法通常是迭代的,且其迭代準確性受初始值的影響較大,這就導致運算時間勢必較長。而代數擬合方法憑借其非迭代的特點,在檢測中能夠實現更好的實時性,且能夠避免初值選取不當造成的擬合偏差。此外,根據Chernov[14]的誤差分析證明,經過仔細設計的代數擬合法(如Taubin 算法)可以在統計學上實現和幾何擬合法幾乎一致的精度。因此,本文中選用Taubin 法進行圓擬合。
代數法中主要是基于圓方程的代數形式
區別于其他代數方法,Taubin 法對該方程設置的約束條件為
故有Taubin 法的能量函數為
使能量函數最小化即可得到的最優解,本文中采用Levenberg-Marquardt 法進行最優化求解。最后,通過圓方程的幾何參數與代數參數的轉換:,即可求得擬合圓的圓心和半徑。
本文的邊緣尺寸測量系統實驗是在MATLAB R2019a 環境下實現的。借助MATLAB 實現仿真圖片的生成,真實圖像則通過搭建機器視覺采集系統完成采集。本文搭建的采集系統由光學平臺、支架、背光板、CMOS 工業相機、計算機等組成,如圖5所示。其中,相機選用大恒ME2P-1840-6GC-P 工業相機,分辨率為4 508×4 096,像元尺寸2.5μm,幀率為6.4。鏡頭配備大恒HN-1624-20M-C1/1X,焦距為16 mm,畸變<0.1%。

圖5 測量平臺Fig.5 Measurement platform
由MATLAB 合成的仿真圓孔型零件圖如圖6所示。圖6 表示了不同半徑的圓(圓內強度為0,圓外強度為255),分別對其添加標準差為0.01~0.1共10 個不同程度的高斯白噪聲,檢測不同半徑、不同噪聲條件下的圓心位置和半徑。

圖6 仿真孔型圖Fig.6 Simulated hole diagram
圖7 和圖8 為仿真圓孔型零件在不同半徑和噪聲條件下不同方法檢測誤差對比。可以看出,傳統Canny 在與Zernike 矩結合進行測量時,針對較小內徑的圓測量表現較差,在半徑50 像素的圓測量中誤差可達0.27 個像素,而與插值法結合則在圓心位置檢測的準確度上明顯劣于其他方法。利用本文提出的檢測方法,對仿真圖像的圓孔半徑檢測誤差基本控制在0.01 個像素之內,而對圓心的定位檢測在準確度和穩定性上均優于其他2 種方法。

圖7 不同方法對圓孔半徑的檢測誤差比較Fig.7 Comparison of positioning errors of hole detection with various methods


圖8 不同方法對于孔圓心定位誤差的比較Fig.8 Comparison of positioning errors of hole center detection with various methods
在對實際圖像進行尺寸測量前,需要對當前視覺系統進行標定,找到像素與實際尺寸之間的轉換關系,即確定標定系數。本文選擇在背光環境下對內徑環規進行尺寸測量,得到標定系數q,即1 像素對于實際尺寸的定標結果。
分別以圓形標定板和內徑環規等作為不同大小的圓形樣本,模擬孔類尺寸的測量,得到實際尺寸與誤差,實驗結果如表1 所示。

表1 部分圓孔樣本檢測結果Tab.1 Detection results of part of the hole samples
實驗結果表明,本文方法對于直徑7.5 mm 的圓孔類樣本測量誤差在0.003 mm 以內,平均相對誤差為0.028%,對于直徑12 mm 的孔類樣本測量誤差在0.015 mm 以內,平均相對誤差為0.075%,而對較大尺寸孔徑如40 mm 的樣本測量誤差則控制在0.05 mm 以內,平均相對誤差為0.080%。由表1 可以看出,本文提出的測量方法在小直徑樣本尺寸測量上相較于傳統Canny 與亞像素邊緣檢測結合的測量方法精度有顯著提升,隨著樣本尺寸增大,精度差距有所降低,但仍存在一定優勢。由此可見,本文提出的測量系統可以實現針對圓孔類尺寸的高精度測量。
為了適應工業環境,本文設計了一套基于機器視覺的圓孔類尺寸精確測量方法,既保證了測量精度,又避免了人工檢測精度低、效率低、易損傷加工表面等傳統檢測方法的固有缺點。實驗結果顯示,本文提出的測量方法相較于傳統Canny 與亞像素邊緣檢測結合的測量方法實現了更高的檢測精度與更好的穩定性。在仿真圖片中,誤差小于0.01個像素;對不同尺寸的樣本真實圖片平均相對誤差小于0.080%;在小直徑樣本中表現最優,孔徑誤差在0.003 mm 以內;由于較大孔徑的樣本受鏡頭畸變影響更大,故測量誤差相對較大,最大相對誤差為0.123%。
該系統目前僅對背光環境下的圓孔類尺寸適用性最佳,如何克服不同光照方向導致的表面紋理和污染等噪聲對測量帶來的影響仍需進一步研究和完善。另一方面,對于相機鏡頭畸變的矯正問題也是下一步研究中需要考慮的問題。在接下來的研究中將著重改進上述問題,并對測量系統的適用性和魯棒性加以改進和提高。