一種基于三維視覺的圓柱面半徑測量方法
【技術領域】
[0001] 本發明涉及計算機視覺檢測領域,尤其是一種基于三維視覺的圓柱面半徑測量方 法。
【背景技術】
[0002] 工業檢測中,計算機視覺檢測技術以其非接觸、高精度和高效率等優點,在機械零 件的檢測中越來越受到重視。圓柱形零件是機械零件中較為常見的零件,如軸承、電機轉子 中使用的磁性瓦片及圓柱形磁力攪棒等。據統計在傳統的機械零件中,作為機械零件構成 中的一種基本形狀,圓柱面的出現頻率達到了 73.5%。對這些圓柱面的半徑進行檢測是圓 柱形機械零件質量檢測中的一個重要組成部分,目前基于計算機視覺的圓柱形機械零件半 徑檢測方法往往通過測量圓柱面的一個外端面來檢測其半徑,而無法檢測其他位置的截面 半徑。這樣做存在著以下兩個問題:一是只能完成形狀測量及其誤差分析,且是僅限于外端 面的形狀檢測,無法完成其它位置截面的形狀檢測,不夠準確;二是無法實現位置誤差的測 量和分析,不夠全面。而形位誤差對各種機械零件的工作精度、連接強度、密封性、運動平穩 性、耐磨性以及壽命、噪音等都具有很大的影響。因此,業內亟需一種能對圓柱形零件不同 截面位置的半徑進行檢測(以給出更準確的形狀),并能利用多個位置的數據進行位置誤 差的測量和分析的方法。
【發明內容】
[0003] 為了解決上述技術問題,本發明的目的是:提供一種準確和全面的,基于三維視覺 的圓柱面半徑測量方法。
[0004] 本發明解決其技術問題所采用的技術方案是:
[0005] -種基于三維視覺的圓柱面半徑測量方法,包括:
[0006] S1、通過三維視覺測量系統獲取圓柱面的三維點云數據,所述三維視覺測量系統 由投影儀和攝像機組成;
[0007] S2、采用平行平面將圓柱面的三維點云數據分割成二維平面數據;
[0008] S3、采用基于角度的排序算法將二維平面數據展開為一維點序列;
[0009] S4、對一維點序列進行超限中值濾波和二次濾波,從而得到去除噪聲后的一維點 序列;
[0010] S5、根據得到的一維點序列進行橢圓擬合和圓擬合,從而得到圓柱面不同位置截 面的半徑大小。
[0011] 進一步,所述步驟S1,其具體為:
[0012] 采用攝像機和投影儀搭建基于條紋結構光和主動立體視覺技術的三維視覺測量 系統,然后通過三維視覺測量系統依次進行系統標定、條紋投影與采集、絕對相位獲取和對 應點匹配,最終獲取圓柱面的三維點云數據。
[0013] 進一步,所述步驟S2,其具體為:
[0014] 采用一組平行平面將三維點云數據分割成多組二維平面數據,所述平行平面垂直 于X軸,其中,X軸為圓柱面的中心軸。
[0015] 進一步,所述步驟S3,其包括:
[0016] S31、根據步驟S2所獲得的數據進行圓擬合,得到圓中心點,并將該圓中心點定義 為基點〇,然后構造一個過基點〇且方向沿X軸正向的基向量0^ ,::并將從二維平面數據提 取出的邊緣數據點mn與基點〇--構成邊緣向量Omti 其中,η = 1,2, 3,…;
[0017] S32、計算邊緣向量ο%與基向量Op的夾角θ η,
[0018] S33、根據邊緣向量與基向量〇ρ夾角θ η的大小對從二維平面數據提取出 的邊緣數據點mn重新進行排序,得到重新排序后的點序列M ;,其中,i = 1,2, 3,…,η ;
[0019] S34、計算重新排序后的點序列M1到基點的距離Cl1,并以計算出的距離構成展開后 的一維點序列Cl 1。
[0020] 進一步,所述步驟S4,其包括:
[0021] S41、采用超限中值濾波器對展開后的一維點序列Cl1進行一次濾波,得到一次濾波 后的序列點,所述一次濾波后的序列點山'的表達式為:
[0022]
[0023] 其中,template為超限中值濾波器的模板大小,median為求中值,X。為設定的距 離閾值;
[0024] S42、根據一次濾波后的序列點Cl1'到基點的距離大小以及序列點Cl1'兩側相鄰點 到基點的距離大小,對一次濾波后的序列點山'進行二次濾波,得到去除噪聲后的一維點序 列。
[0025] 進一步,所述步驟S5,其具體為:
[0026] S51、對去除噪聲后的一維點序列進行橢圓擬合,得到橢圓中心點,然后對橢圓中 心點進行空間直線擬合,求出圓柱面的第一中心軸;
[0027] S52、將圓柱面的第一中心軸以及圓柱面的三維點云數據旋轉至與X軸平行;
[0028] S53、對旋轉后圓柱面的三維點云數據重新執行步驟S2~S4,得到去除噪聲后與X 軸平行的一維點序列;
[0029] S54、對去除噪聲后與X軸平行的一維點序列進行圓擬合,得到圓中心點,然后對 圓中心點進行空間直線擬合,求出圓柱面的第二中心軸及相應的圓半徑;
[0030] S55、判斷圓柱面的第二中心軸與X軸的夾角是否小于設定的判斷閾值,若是,則 以求出的圓半徑作為圓柱面不同位置的半徑大小,反之,則在將圓柱面的第二中心軸以及 圓柱面的三維點云數據旋轉至與X軸平行之后返回步驟S2。
[0031] 本發明的有益效果是:先通過三維視覺測量系統獲取圓柱面的點云數據;然后使 用平行平面將三維點云數據分割成多組二維平面數據,并對每一位置的二維數據,采用基 于角度的排序算法和超限中值濾波器進行濾波去噪后,再結合橢圓擬合和圓擬合,最終計 算出圓柱形零件不同位置截面的半徑大小,不再局限于外端面的形狀檢測,且可以根據計 算出的不同位置截面的半徑大小直接進行位置誤差的測量和分析,具有準確、全面、抗噪 聲能力強和測量精度高的優點。
【附圖說明】
[0032] 下面結合附圖和實施例對本發明作進一步說明。
[0033] 圖1為本發明一種基于三維視覺的圓柱面半徑測量方法的整體流程圖;
[0034] 圖2為本發明步驟S3的流程圖;
[0035] 圖3為本發明步驟S4的流程圖;
[0036] 圖4為本發明步驟S5的流程圖;
[0037] 圖5-1為本發明三維視覺測量系統的結構示意圖;
[0038] 圖5-2為本發明三維視覺測量系統獲取三維點云數據的流程圖;
[0039] 圖6為帶噪聲干擾半圓柱面分割后的一組二維平面數據;
[0040] 圖7為圖6進行重新排序后得到的一維序列點;
[0041] 圖8為圖7采用超限中值濾波器進行去噪后的結果圖;
[0042] 圖9為圖8橢圓部分的局部放大圖;
[0043] 圖10為采用與基點間的距離進行二次濾波后的結果圖;
[0044] 圖11為本發明最終的濾波結果圖;
[0045] 圖12為本發明圓柱面半徑測量算法的流程圖;
[0046] 圖13為釹鐵硼瓦片外表面不同位置的半徑測量值示意圖。
[0047] 附圖標記:1、攝像機;2、投影儀。
【具體實施方式】
[0048] 參照圖1,一種基于三維視覺的圓柱面半徑測量方法,包括:
[0049] S1、通過三維視覺測量系統獲取圓柱面的三維點云數據,所述三維視覺測量系統 由投影儀和攝像機組成;
[0050] S2、采用平行平面將圓柱面的三維點云數據分割成二維平面數據;
[0051] S3、采用基于角度的排序算法將二維平面數據展開為一維點序列;
[0052] S4、對一維點序列進行超限中值濾波和二次濾波,從而得到去除噪聲后的一維點 序列;
[