石冬晨 王 寧 李 榮
(1.西安理工大學,陜西 西安 710048;2.中國科學院西安光學精密機械研究所,陜西 西安 710119;3.陜西省計量科學研究院,陜西 西安 710065)
工程上曲線檢測一個常見問題就是如何對復雜零件中多圓特征進行快速精確的模式識別、定位、參數(shù)測量和圓度評定。在圖像處理中圓形特征檢測有多種方法, 哈夫(Hough)變換[1]是目前應用最廣的特征檢測方法之一,常常被用于直線、圓和橢圓等特征的檢測。傳統(tǒng)的圓檢測哈夫變換是將三維搜索空間降低到二維空間,但降低后計算復雜度仍然較高,而多對一映射的隨機哈夫變換(Randomized Hough Transform, RHT)[2],雖大大減少了時間和內(nèi)存需求,但由于其隨機進行邊緣點采樣,使參數(shù)單元產(chǎn)生無效累積。本文提出一種基于LabVIEW平臺,利用改進的隨機哈夫變換來檢測復雜零件多圓特征的新方法,解決無效累積的問題,運算簡單、精確、快速。復雜零件中圓度、同心度的評定方法目前多為最大內(nèi)切圓法或最小外接圓法[3],評定精度差,本文采用評定效果較好的最小二乘法評定圓度、同心度,進而實現(xiàn)基于LabVIEW的復雜零件多圓特征參數(shù)快速精密檢測。
對于一個圓心坐標為(a0,b0),半徑為r0的圓,在空間中可表示為:
方程每一點(xi,yi)所對應的(a,b,r)的點集,在參數(shù)空間對應于一簇三維圓錐面[4]。其中,三維圓錐面交于一點(a0,b0,r0)。
隨機Hough變換檢測法是多對一映射,在圖像空間中隨機選取一個最小點集,映射成參數(shù)空間中的一點。根據(jù)邊緣點的位置信息,圓的最小點集需要三個邊緣點來建立圓參數(shù)[5-6]。RHT算法流程如圖1所示。
圖1 RHT算法流程
由于RHT圓檢測算法參數(shù)空間進行累積時,圓的參數(shù)達到閾值才能確定可能存在的圓參數(shù)值,導致無效累積,算法的收斂速度變慢。另外,圖像中存在多圓特征時,最小點集隨機采樣的三個點可能分布在不同圓上,求取圓參數(shù)時會引入更多無效累積。
為了減少無效累積,本文提出利用邊緣點的方向及位置信息減少邊緣點提取個數(shù),采用在候選圓的周圍加上一個正六邊形窗口的形式來減少計算時間。
(1)利用梯度方向信息檢測
圓的極坐標方程為:
則圓的參數(shù)為:
式中:
θ-梯度角。
m1(x1,y1)、m2(x2,y2)、m3(x3,y3)不共線三點確定的圓心為(a,b),梯度方向為G1、G2、G3,梯度取值范圍為[-π/2,π/2],這三點處的法線方向n如下:
若三點共圓,則圓上點的法線方向與梯度方向重合。
即:
根據(jù)式(7),預先設定一個法線方向與梯度之差的允許誤差范圍θ:
當滿足式(8)的約束條件時,認定3點在同一個圓上,再對圓參數(shù)進行累積,可有效縮小搜索范圍,提高算法速度,減少內(nèi)存使用量。本文選用Sobel算法獲得邊緣各點的梯度信息。
(2)正六邊形窗口
在候選圓的周圍加入正六邊形窗口,以候選圓圓心為正六邊形中心,以候選圓的半徑加一定的余量作為正六邊形邊長。對隨機所取的邊緣點,先判斷該點是否在正六邊形窗口內(nèi),若不是,則放棄計算該邊緣點到候選圓圓心的距離,可大大縮小邊緣點搜索范圍。
(3)改進算法的具體流程
具體算法流程如圖2所示。
圖2 改進RHT算法的具體流程
根據(jù)前述改進算法得到的標準件邊緣像素坐標點,選擇被測點,采用最小二乘法利用被測點擬合理想圓,被測點到理想圓圓心的最大距離和最小距離之差為圓度誤差值如圖3(a)所示。再利用最小二乘法對標準件墊圈標記外圓和內(nèi)圓圓心位置為O和O',兩圓心位置的偏差程度為同心度誤差如圖3(b)所示。
圓度誤差公式為:
同心度誤差為:
圖3 圓特征參數(shù)評定
利用改進的RHT算法對標準件墊圈進行圓特征檢測,改進算法前后的運算耗時如表1所示。實驗證明,改進的RHT算法大大減少了運算量,大大提高了運算時間。
表1 改進前與改進后的RHT算法耗時比較( ms)
改進后的RHT算法圓特征尺寸檢測結(jié)果如表2所示。將測量值與標準件尺寸作對比可知利用該算法檢測的絕對誤差小于0.02mm,相對誤差小于0.07%,滿足工程零件尺寸檢測精度需求。
表2 改進RHT算法所測墊圈尺寸與墊圈標準尺寸對比
利用最小二乘法對墊圈標準件圓心位置進行標記結(jié)果如圖4所示。
本次試驗重復測量10次,對內(nèi)孔圓度誤差和同心度測量結(jié)果如表3所示。得到內(nèi)孔圓度誤差平均值為0.197,標準差為0.009,墊圈同心度平均值為0.019,標準差為0.006,試驗驗證最小二乘法評定精度高。
圖4 圓心的標記
表3 對圓度、同心度的重復測量結(jié)果
圖5 圖像測量模塊程序界面
利用虛擬儀器LabVIEW實現(xiàn)前述算法,設計了非接觸式零件尺寸虛擬測量軟件如圖5所示,精度較高,易于維護。
本文利用改進的RHT檢測算法,通過比較梯度和法線方向的差值,加入正六邊形窗口,有效去除傳統(tǒng)算法引起的無效累積,大大提高了運算速度,并通過實驗驗證了算法的可靠性。再運用最小二乘法原理,提取邊緣像素點擬合理想圓,對內(nèi)孔圓度和標準件同心度進行判定。將標準件測量結(jié)果與GB3452.1-2005標準尺寸值進行比較,該算法測量偏差在公差范圍內(nèi),標準件的同心度誤差和圓度誤差均達到技術指標。最后利用虛擬儀器LabVIEW實現(xiàn)前述算法,設計了非接觸式零件尺寸虛擬測量軟件,精度較高,易于維護,可廣泛應用于工程中復雜零件的圓特征參數(shù)精密檢測。