3d掃描數據自動對齊的系統和方法
2023-05-13 10:11:31
專利名稱:3d掃描數據自動對齊的系統和方法
技術領域:
本發明的示例性實施例一般涉及3D掃描數據,更具體涉及一種自動 確定3D掃描數據用的坐標系的機制。
背景技術:
3D掃描通過收集代表被掃描三維對象形狀的高解析度點來捕獲三 維對象的物理幾何信息。 一旦捕獲了原始3D掃描數據,就可以將其變換 成CAD部件模型,以進一步處理,從而複製或修改三維對象的設計。這 種捕獲三維對象的3D掃描數據以將其提供給CAD應用程式、從而可以 重新設計對象的過程被稱作反向工程。
當使用3D掃描儀或數字變換器測量點時,在測量設備中使所有測量 點的坐標所參考的基本坐標系定位和取向。製造商設定坐標系的規格, 並因而對於坐標系沒有不可接受的工業標準,主要原因是設備結構的多 樣性。在CMM(坐標測量機)的情況下,探針的移動是直線式的,並且終 端用戶知道如何使CMM臺上的待測量部件定位和取向,從而易於追蹤測 量坐標信息。通常的習慣是在實際測量開始之前使用CMM設定坐標系參 數。
對於3D掃描,捕獲點的方法略微不同於其他類型的測量系統,並帶 來額外的難題。3D掃描設備是可攜式的,因而所述設備具有在掃描對象 的過程中改變測量坐標系的能力。待掃描的對象經常也被再定位(例如翻 轉目標對象以捕獲底部幾何形狀)。在一些應用中,3D掃描系統識別與對 象連接以追蹤3D掃描儀或對象的再定位和再取向的目標設備。在掃描過 程中掃描儀和對象移動的結果是3D空間中的一組任意取向的3D點或網 格數據。當終端用戶需要設計複製3D掃描數據的CAD模型時,在建模過 程中構建適合坐標系作為整體坐標參考是首先和最重要的步驟。通過手 動搜尋3D掃描數據中的幾何線索來定義這種整體坐標系不是一種簡單的
過程(由於上述過程中的變量)。定義整體坐標系需要反覆試驗,這很耗時 並易出錯。
用於判斷所定義的整體坐標系的適合性的一種重要度量是所述坐標 系造成的整體偏差誤差量。整體偏差誤差是原始3D掃描數據和重建模的 CAD模型之間的距離差異。 一旦設立了整體坐標參考系,建模特徵如擠 壓、旋轉、放樣或掃描通常將參考整體坐標系。略微不同的整體坐標系 可能造成顯著的偏差誤差差異。常規技術允許終端用戶控制建模參數, 以逐個特徵地最小化偏差誤差。然而,在最小化峰值誤差的同時,最小
化偏差誤差的總和相當困難。坐標系用於生成CAD特徵(如使用坐標系軸 的擠壓),並與掃描數據比較以確定偏差。峰值偏差指網格的最大偏差點 或區域,而平均偏差是網格的所有點或區域的總體均值。需要一種定義 整體坐標系的自動機制,這種坐標系能夠最小化偏差誤差的總和,同時 最小化原始3D掃描數據的峰值誤差。
發明內容
本發明的示例性實施例提供一種識別和定義整體坐標系的自動機 制,這種整體坐標系最適於用於形成網格模型的原始3D掃描數據的集合。 更具體而言,被識別的坐標系能夠最小化偏差誤差的總和,同時最小化 原始3D掃描數據的峰值誤差。本發明以完全自動的方式從原始3D掃描數 據搜尋適合的坐標系。識別出能夠使整體偏差誤差最小的多個坐標系, 並呈現給用戶。在基於所選坐標系變換3D掃描數據的對齊之前,還允許 終端用戶交互式地編輯建議的坐標系參數。
在本發明的一個方面中,提供一種自動確定3D掃描數據用的坐標 系的方法,所述方法包括提供3D掃描數據的集合的步驟。所述3D掃描 數據用於生成代表三維對象表面的網格模型。所述方法還程序化地確定 所述3D掃描數據用的多個坐標系。此外,所述方法生成所述確定的坐標 系的排名表。
在本發明的另一個方面中,提供一種自動確定3D掃描數據用的坐 標系的系統,所述系統包括3D掃描數據的集合。所述3D掃描數據用於 生成代表三維對象表面的網格模型。所述系統還包括用於程序化地確定 所述3D掃描數據用的多個坐標系的坐標確定工具。所述坐標確定工具生 成所述確定的坐標系的排名表。此外,所述系統包括所述坐標確定工具 生成的圖形用戶界面。所述圖形用戶界面能夠使用戶選擇所述排名表中 的坐標系。
本發明由所附權利要求中的特徵來限定。參考下面結合附圖所作的 說明,可以更好地理解本發明的上述優點以及本發明的其他優點,在附 圖中.-
圖l示出適於實施本發明示例性實施例的環境;
圖2是本發明示例性實施例的順序步驟的流程圖,用於確定3D掃描 數據集合用的整體坐標系;
圖3是本發明示例性實施例的順序步驟的流程圖,用於分類網格模型 中的區域並計算定義坐標系用的參數;
圖4是本發明示例性實施例的順序步驟的流程圖,用於組合和平均相 似的參數;
圖5A示出沒有與整體坐標系對齊的輸入網格的圖5B示出在圖5A的網格分割成功能區域之後網格的圖6A-圖6F示出計算各區域用的坐標系用的基本參數的圖7示出本發明的示例性實施例生成的圖形用戶界面,列出了確定的 坐標系,並能夠使用戶選擇坐標系;以及
圖8示出使用選擇的坐標系變換網格後網格模型的生成圖。
具體實施例方式
在CAD設計中越來越多地使用3D掃描數據,這使得找到用來對齊3D 掃描數據的可靠坐標系越來越重要。本發明通過程序化地確定3D掃描數 據用的可能坐標系、基於坐標系造成最小偏差誤差的可能性排列確定的 坐標系並將排列的坐標系呈現給用戶審閱和選擇,解決了這種需要。排 列的坐標系通過圖形用戶界面呈現給用戶,圖形用戶界面允許用戶在將
坐標系應用至3D掃描數據之前定製所選坐標系。
圖l示出適於實施本發明示例性實施例的環境。計算設備2是掃描數
據4的集合、適於設計CAD模型的CAD應用程式6和本發明的坐標確定工 具8的主機。計算設備2可以是安裝有處理器並能夠支持CAD應用程式6 和坐標確定工具8執行的工作站、伺服器、膝上型電腦、大型計算機、PDA 或其他計算設備。掃描數據4的集合可以從預先存儲的掃描數據集合輸入 或可以就在用坐標確定工具8確定掃描數據用的坐標系之前獲得。例如, 掃描數據4可以通過與計算設備2連接或與其通訊的3D掃描儀10從目標對 象12獲得。掃描數據4是代表被掃描對象形狀的三維高解析度點的集合。 在一種實施中,掃描數據4是一組三角形網格,但使用其他形式的掃描數 據也被認為是在本發明的範圍內。例如,掃描數據4可以是點、四邊形網 格、四面體網格或六面體網格。網格組一起形成代表被掃描對象表面的 網格模型。
坐標確定工具8以軟體執行,並程序化地確定掃描數據4用的可能坐 標系。坐標確定工具8可以是獨立應用程式、CAD應用程式6的插件或另 一種應用程式,或者坐標確定工具8可以是其他類型的可執行處理過程。 坐標確定工具8也生成確定的坐標系的排名表,並通過圖形用戶界面32在 顯示器30上呈現給用戶20。
如上所述,坐標確定工具8確定掃描數據4用的坐標系,並為用戶排 列坐標系。圖2是坐標確定工具8的順序步驟的流程圖,用於識別3D掃描 數據的集合用的優選坐標系。順序步驟從分割網格模型(3D掃描數據)開 始,將網格模型分割成多個區域(步驟50)。然後,坐標確定工具8分類區 域,並計算定義坐標系用的基本參數(步驟52)。在下面的圖3中進一步討 論區域的分類和參數的計算。坐標確定工具8組合相似的參數,並平均組 合中的參數(步驟54)。結合下面的圖4更詳細地討論參數的組合和平均。 在已經組合和平均相似的參數之後,坐標確定工具8程序化地識別從所述 參數中坐標系是精確確定的(well-determined)參數組合(步驟56)和從所述 參數中坐標系的一個自由度是不確定的參數組合(步驟58)。
笛卡兒(Cartesian)坐標由空間中的點(xO, y0, zO)和三個正交方向定 義。點的分量(即xO)可以由x-方向的面和法線指示。空間中的點還可以
由向量和面的交點、三個非平行面的交點以及二個共面的非平行線的交 點指示。坐標方向的分量由面法線或向量指示。此外,給定兩個正交線 (即從向量或面法線),那麼第三個正交線被指示,並因而指示三個正交 方向。如果有足夠的信息生成一個坐標(艮卩三個正交方向和兩組點),那 麼可以生成多個坐標(即中心位置在兩組點的每一個的兩個坐標,具有 共用正交方向)。
如果用於指示精確確定的坐標系的一個或多個元素失去,那麼該坐 標系被認為一個或多個自由度不確定。其例子是空間中的點和向量。通 過額外的第二正交方向,可以指示第三個正交方向,從而得到精確確定 的坐標系。
例如,精確確定的坐標系可以包括三個正交面;兩個正交面與一條 線,線與任一面正交,其中線-面交點是原點;以及共面的正交線,其中 交點是原點。同樣, 一個自由度不確定的坐標系可以是具有兩個正交面 且原點任意選擇的坐標系。可選擇地,不確定的坐標系可以具有非共面 的兩條正交線,並且具有任意選擇的原點,作為兩條線之間的中點。相 似地,不確定的坐標系可以具有正交線和面,其中一個軸是任意選擇的。
在識別坐標系之後,坐標確定工具8為所識別的坐標系評分,並將它 們匯集成呈現給終端用戶20的排名表或其他形式,其中得分最高的坐標 系是覆蓋最大面積並且具有最低誤差分布的坐標系,精確確定的坐標系 其得分在不確定的坐標系之前(步驟60)。所確定的坐標系的排名表通過圖 形用戶界面32呈現給用戶20,從而能夠使用戶選擇所需的坐標系。用戶 也能夠定製所選的坐標系(步驟62)。例如,當坐標系與原點對齊時,用戶 可以選擇哪個面將是X, Y和Z (或前、上和右)。用戶還可以改變原點。 在用戶選擇和任選定製確定的坐標系之一後,將坐標系應用到掃描數據 4,並基於所選坐標系再次對齊(步驟64)。
圖3討論在分割網格模型之後區域的分類和定義坐標系用的參數的 計算。可以使用已知分割方法程序化地分割網格模型,如基於曲率的分 割方法,或可以響應於區域選擇和分割過程進行分割。在分割網格模型 之後,坐標確定工具8分類多個不同類型的區域,包括平面區域、圓柱 區域、圓錐區域、環形區域、球形區域和不規則區域以及旋轉區域、擠
壓區域(這指示著計算的向量)。
平面區域指示法線方向和法線方向中的點的分量。此外,平面區域 所指面還可以指示全部點,其中所有三個分量均在所指面的中心。從區 域計算的向量指示方向和與向量方向正交的兩個方向中的點的兩個分
量。此外,從區域計算的向量還可以指示全部點,其中所有三個分量均 在所指向量的起點或終點。圓柱區域與從區域計算的向量具有相同指示。 圓錐區域和環形區域均指示方向和點。球形區域僅指示點。
分類和計算過程包括分類網格模型中的平面區域(步驟70)。對於這 些平面區域中的每一個,坐標確定工具8計算包括法向量和面上的一個 點的參數。坐標確定工具8也分類圓柱區域並對於每一區域計算包括方
向向量和線上的一個點的旋轉線參數(步驟72)。相似地,坐標確定工具8
也分類圓錐區域並對於每一區域計算包括方向向量和線上的一個點的旋
轉線參數(步驟74)。在分類環形區域後,坐標確定工具8對於每一區域 計算包括方向向量和線上的一個點的旋轉線參數以及計算中心點(步驟 76)。同樣,在分類球形區域後,坐標確定工具8計算中心點,包括對於 每一區域計算方向向量和線上的一個點(步驟78)。坐標確定工具8也分 類不規則區域(步驟80)。對於不規則區域,坐標確定工具8可以計算參 數,包括計算軸,包括自動計算旋轉軸和擠壓軸。應該認識到,除了上 面具體說明的那些區域之後,可以分類其他類型的區域,並對各區域進 行適合計算,這也在本發明的範圍內。相似地,應該理解,分類區域和 進行計算的順序不限於圖3所述的順序。在計算每個區域的參數之後, 坐標確定工具8計算並存儲每個參數的誤差分布平均值(步驟82)。誤差 分布可以如下確定
誤差分布=距離(區域上的點,搜尋的幾何形狀)
同時誤差分布平均值可以按如下表示
誤差分布平均值Sum(誤差分布)/點數
或
誤差分布平均值=參考幾何形狀的歸一化誤差統計量,其中所述幾 何形狀不是源於基本的最佳擬合幾何形狀(平面、圓柱、圓錐、環形、球 形),而是源於另一種計算,如擠壓軸計算。本發明還可以從生成參考面、參考點和參考向量的其他擬合算法(如 生成參考向量的旋轉軸和擠壓軸算法)得出歸一化誤差統計量,並使用它 代替誤差分布平均值。
在分類區域和計算區域用的坐標系用的基本參數之後,坐標確定工 具8組合相似的參數並平均它們。圖4討論了參數的組合和平均。當向量 (面的法線或線的方向向量)在預定的容差範圍內彼此平行時,坐標確定工
具8組合併平均向量(步驟90)。當線在容差範圍內彼此共線時,坐標確定 工具8也組合併平均線(步驟92)。此外,當面在容差範圍內彼此共面時, 坐標確定工具8組合併平均面(步驟94),以及當中心點在容差範圍內彼此 重合時,組合併平均中心點(步驟96)。
當平均相似的參數時,從中提取參數的網格區域的面積用作權重因
數。平均值可以如下表示
Sum(面積x誤差分布平均值—參數)
參數平均值=--------—…一……-----------........----------------一-—-
Sum(面積x誤差分布平均值—1)
術語"參數平均值"指一組的平均參數之一。例如,對於圖5A-圖8 所討論的網格模型,對於參數向量方向,應注意到,所有計算的向量在 1.5。內平行。因此,如果坐標確定工具8中的容差範圍允許這種偏差(即 容差設置為2°),那麼所有向量將與同一組相關(來自圓柱最佳擬合的4 個向量,來自旋轉軸的4個向量,以及來自擠壓軸的5個向量),並按照
上述公式一起平均。圓柱最佳擬合算法的平均誤差分布和來自旋轉軸和 擠壓軸算法的歸一化誤差統計量用在上示的加權的"參數平均值"公式的
"誤差分布平均值"中。因此,按照上述公式,"參數平均值"(如向量方向) 是所有組的區域的向量的方向的加權平均值。本發明對於面、線和中心 點,也可以使用相同的平均技術。
參考圖5A-圖8進一步解釋本發明的示例性實施例。圖5A示出沒有 與整體坐標系IOO對齊的輸入網格102的圖。圖5B示出在圖5A的網格 分割成功能區域112, 114, 116, 118, 120禾B 122之後網格的圖。參見 圖6A-圖6D可以看到對分類的區域的參數的計算。圖6A-圖6D示出計 算各區域用的坐標系用的基本參數的圖。坐標確定工具8使用的對齊算 法從網格模型的功能區域中提取參考幾何形狀開始。圖6A示出將擬合面
算法應用到底部平面區域122和更深色區域123。擬合面算法生成各區域
的最佳擬合面。這兩個面在可接受的容差內彼此正交,並因而指示第三 個正交方向。
圖6B示出擠壓軸算法,生成應用到所有各區域130, 132, 134, 136 以及131的參考向量,然而,僅示出了在可接受的容差內平行的計算的 擠壓軸向量(130, 131, 132, 134, 136)。圖6C示出旋轉軸算法,生成 應用到四個接近圓柱形對象的參考向量,生成參考向量130', 132', 134' 和136'。圖6D示出最佳擬合圓柱軸算法,生成也應用到四個接近圓柱 形對象的參考向量,生成參考向量130", 132", 134"和136"。由於圖 6B-圖6C中的向量組在容差內平行並共線,因此如前所述,它們被平均 成一組平均的向量。圖6E示出平均的向量130'", 131"', 132'", 134'" 和136"'。這些平均的向量每一個投射在平行面122上,生成所指示的點。 圖6F示出所指示的點140, 141, 142, 143和144。使用圖6A和圖6E 的實體和所指示的點,有多於足夠的信息生成坐標,並且從面、向量和 所指示的點生成多個坐標。
圖7示出本發明的示例性實施例生成的圖形用戶界面32,以排名順序 200列出了確定的坐標系,並能夠使用戶選擇坐標系。藉助於兩個正交方 向和所指示的第三個正交方向,用戶給出三個正交方向,並從相關平均 的、計算的和最佳擬合的實體,基於五個所指示的點140, 141, 142, 143 和144作為坐標中心點,以五個坐標選擇150, 151, 152, 153和154呈現。 一旦用戶已經選擇了建議的坐標(即150),那麼當坐標系與原點對齊時, 用戶通過選擇哪個面210, 220和230將是X, Y和Z(或前、上和右),還能 夠進一步改變X, Y,和Z方向,並能夠選擇原點。如果用戶通過選擇不 同的面作為基本面而選擇改變基本面,那麼本發明自動調節坐標系。一 旦用戶已經選擇了確定的坐標系之一,那麼如圖8所示,網格模型102就 與選擇的坐標系250對齊。
本發明可以作為體現在一種或多種介質之上或之中的一種或多種計 算機可讀程序而提供。這類介質可以是軟盤、硬碟、光碟、通用數字光 盤、快閃記憶體卡、PROM、 RAM、 ROM或磁帶。通常,計算機可讀程序可以 任何程式語言執行。可以使用的語言的一些例子包括FORTRAN、C、C++、 C弁或JAVA。軟體程序可以存儲在一種或多種介質之上或之中作為目標代
碼。可以使用硬體加速,並且所有或部分代碼可以在FPGA或ASIC上
運行。代碼可以在虛擬環境如虛擬機中運行。用於運行代碼的多個虛擬 機可以設在單一處理機上。
因為可以在不脫離本發明範圍的情況下作出一定變化,因此上述說 明書所包含的或者附圖中所顯示的全部內容均應被解釋成說明性的,而 不僅僅是字面含義。本領域技術人員應該意識到,在不脫離本發明範圍 的情況下,附圖所示的順序步驟和結構可以改變,並且這裡所包含的說 明僅是對本發明多種可能描述的個別例子。
權利要求
1.一種自動確定3D掃描數據用的坐標系的方法,包括提供3D掃描數據的集合,所述3D掃描數據用於生成代表三維對象表面的網格模型;程序化地確定所述3D掃描數據用的多個坐標系;以及生成所述多個確定的坐標系的排名表。
2. 如權利要求l所述的方法,還包括基於所述多個確定的坐標系之一變換所述網格模型的對齊。
3. 如權利要求1所述的方法,還包括通過圖形用戶界面將所述排名表呈現給用戶,所述圖形用戶界面能 夠使所述用戶選擇所述排名表中的坐標系;基於用戶指示,通過所述圖形用戶界面選擇所述排名表中的坐標系;以及基於所選坐標系變換所述網格模型的對齊。
4. 如權利要求3所述的方法,其中所述用戶在變換所述網格模型的 對齊之前定製所選坐標系。
5. 如權利要求4所述的方法,其中當所述坐標系與原點對齊時,所 述用戶改變X, Y和Z面之一。
6. 如權利要求4所述的方法,其中所述用戶改變原點。
7. 如權利要求l所述的方法,其中所述確定還包括 分割所述網格模型;以及 在所分割的網格模型中分類多個區域。
8. 如權利要求7所述的方法,其中所分類的區域是平面區域、圓柱 區域、圓錐區域、環形區域、球形區域和不規則區域之一。
9. 如權利要求7所述的方法,還包括計算用於定義至少一個所分類的區域用的坐標系的參數。
10. 如權利要求9所述的方法,其中所述參數計算包括計算法向量、 方向向量、旋轉線、點和中心點中的至少一個。
11. 如權利要求9所述的方法,其中所述確定還包括 組合多個所計算的參數;以及 平均所組合的參數。
12. 如權利要求9所述的方法,其中所述確定還包括 識別從所述參數中坐標系是精確確定的至少一組參數。
13. 如權利要求9所述的方法,其中所述確定還包括 識別從所述參數中坐標系的一個自由度是不確定的至少一組參數。
14. 如權利要求9所述的方法,其中所述確定還包括 識別從所述參數中坐標系是精確確定的至少一組參數; 識別從所述參數中坐標系的一個自由度是不確定的至少一組參數;以及將所識別的從所述參數中坐標系是精確確定的至少一組參數和所識 別的從所述參數中坐標系的一個自由度是不確定的至少一組參數揀選進 所述排名表。
15. —種自動確定3D掃描數據用的坐標系的系統,包括3D掃描數據的集合,所述3D掃描數據用於生成代表三維對象表面 的網格模型;用於程序化地確定所述3D掃描數據用的多個坐標系的坐標確定工 具,所述坐標確定工具生成所述多個確定的坐標系的排名表;以及 所述坐標確定工具生成的圖形用戶界面,所述圖形用戶界面能夠使 用戶選擇所述排名表中的坐標系。
16. 如權利要求15所述的系統,其中基於選自所述排名表中的多個 坐標系的一個坐標系變換所述網格模型的對齊。
17. 如權利要求16所述的系統,其中所述圖形用戶界面能夠使所述用戶在變換所述網格模型的對齊之前定製所選坐標系。
18. —種計算設備用的物理介質,所述物理介質容納用於自動確定3D掃描數據用的坐標系的計算機可執行指令,所述指令包括用於提供3D掃描數據的集合的指令,所述3D掃描數據用於生成代表三維對象表面的網格模型;用於程序化地確定所述3D掃描數據用的多個坐標系的指令;以及 用於生成所述多個確定的坐標系的排名表的指令。
19. 如權利要求18所述的介質,其中所述指令還包括 用於基於所述多個確定的坐標系之一變換所述網格模型的對齊的指令。
20. 如權利要求18所述的介質,其中所述指令還包括 用於通過圖形用戶界面將所述排名表呈現給用戶的指令,所述圖形用戶界面能夠使所述用戶選擇所述排名表中的坐標系;用於基於用戶指示,通過所述圖形用戶界面選擇所述排名表中的坐 標系的指令;以及用於基於所選坐標系變換所述網格模型的對齊的指令。
21. 如權利要求20所述的介質,其中所述用戶在變換所述網格模型 的對齊之前定製所選坐標系。
22. 如權利要求18所述的介質,其中所述確定還包括-用於分割所述網格模型的指令;以及 用於在所分割的網格模型中分類多個區域的指令。
23. 如權利要求22所述的介質,其中所述指令還包括用於計算用於定義至少一個所分類的區域用的坐標系的參數的指令。
24. 如權利要求23所述的介質,其中所述確定還包括 用於組合多個所計算的參數的指令;以及 用於平均所組合的參數的指令。
25. 如權利要求23所述的介質,其中所述確定還包括 用於識別從所述參數中坐標系是精確確定的至少一組參數的指令。
26. 如權利要求23所述的介質,其中所述確定還包括 用於識別從所述參數中坐標系的一個自由度是不確定的至少一組參數的指令。 ,
27. 如權利要求23所述的介質,其中所述確定還包括 用於識別從所述參數中坐標系是精確確定的至少一組參數的指令; 用於識別從所述參數中坐標系的一個自由度是不確定的至少一組參數的指令;以及用於將所識別的從所述參數中坐標系是精確確定的至少一組參數和 所識別的從所述參數中坐標系的一個自由度是不確定的至少一組參數揀 選進所述排名表的指令。
全文摘要
本發明討論一種識別和定義整體坐標系的自動機制,這種整體坐標系最適於用於形成網格模型的原始3D掃描數據的集合。更具體而言,被識別的坐標系能夠最小化偏差誤差的總和,同時最小化原始3D掃描數據的峰值誤差。本發明以完全自動的方式從原始3D掃描數據搜尋適合的坐標系。識別出能夠使整體偏差誤差最小的多個坐標系,並呈現給用戶。在基於所選坐標系變換3D掃描數據的對齊之前,還允許終端用戶交互式地編輯建議的坐標系參數。
文檔編號G01B21/04GK101105396SQ20071012278
公開日2008年1月16日 申請日期2007年7月9日 優先權日2006年7月13日
發明者李東勳, 裴奭勳, 趙成旭, 金承燁 申請人:樂必峰軟體公司