本發明涉及一種基于機器視覺和散斑的測量方法及人體測量方法。
背景技術:
非接觸式測量是以光電、電磁等技術為基礎,在不接觸被測物體表面的情況下,得到物體面積、體積等參數信息的測量方法。典型的非接觸式測量方法具有激光三角法、超聲測量法等等。隨著機器視覺的發展,機器視覺在測量領域也逐漸顯現出巨大的潛力,例如:流道截面計算、曲面面積計算以及不規則體積計算等。
目前,市場上具有一種基于機器視覺的三維影像測量,它是利用CCD采集變焦鏡下樣品的影像,再配合XYZ軸移動平臺及自動變焦鏡,并運用影像分析原理,通過計算機處理影像信號,對科研生產零件進行精密的幾何數據的測量。然而,此種三維影像測量方法對被測物體的體積具有嚴格的限制,并且測量精度較低,應用場合有限。
鑒于上述問題,有必要提供一種新的基于機器視覺的測量方法,以解決上述問題。
技術實現要素:
本發明的目的在于提供一種基于機器視覺和散斑的測量方法,該測量方法能夠測量大型物體的面積或體積,測量精度較高,且為非接觸式測量,應用場合廣泛。
為達到上述目的,本發明提供如下技術方案:
一種基于機器視覺和散斑的測量方法,包括如下步驟:
S1:圖像數據采集,利用散斑投射器向被測物體投射隨機的散斑圖案,并由所述測量頭的相機同步拍攝被測物體圖像;
S2:被測物體三維點云重建,對每一測量頭的相機采集到的圖像數據進行數字圖像相關運算,并計算出待測物體表面密集點的三維坐標,實現待測物體的三維點云重建;
S3:被測物體三維點云拼接配準,對不同測量頭獲得的三維點云進行拼接配準,以獲得被測物體的完整點云模型;
S4:有限元分割求和,對完整點云模型進行有限元網格劃分,并通過微元法積分求和,從而得到被測物體的面積或體積。
進一步的:在步驟S1之前,所述基于機器視覺和散斑的測量方法還包括步驟S0:多相機全局標定,將標定板放置在測量視場中并擺放出不同姿態,然后所有測量頭的相機同步采集不同姿態下的圖像,并對采集的圖像進行處理,從而得到所有測量頭的相機的內部參數和外部參數。
進一步的:在所述步驟S0中,所述標定板至少具有24種不同位姿,以提高相機標定精度。
進一步的:所述步驟S1還包括步驟S11:分析環境光強,并判斷是否需要進行補光。
進一步的:所述步驟S3還包括步驟S31:點云優化過濾,首先對多幅點云法向進行濾波,然后通過兩幅點云的雙向查找來尋找種子點,并在種子點的法向尋找兩幅點云中對應的k鄰域,計算鄰域點的加權和。
進一步的:對于給定點pi,其最近鄰域為Nk(pi),則濾波后的法向為 其中權函數T是給定的角度閾值。
進一步的:所述T的值為0.75。
進一步的:所述步驟S3還包括步驟S32:點云三角化封裝,用互不相交的三角形來近似表示點集形成的曲面。
進一步的:所述步驟S3還包括步驟S33:封裝實體化,利用Gregory曲面片構建精確光滑貼合曲面,并填充為實體。
進一步的:所述Gregory曲面片是由一組控制點確定的,即G={P0,P1,P2,P01,P02,P12,P21,P20,P02,q01,q02,q12,q21,q20,q02},其中{P0,P1,P2}為角控制點,{P0,P1,P2,P01,P02}為邊界控制點,{q01,q02,q12,q21,q20,q02}為內部控制點,記(u|v)為Gregory三角域中參數點的中心坐標,則對Gregory三角域的插值函數GT(u|v)=w3P0+u3P1+v3P0+…,其中u+v+w=1。
進一步的:所述基于機器視覺和散斑的測量方法還包括步驟S5:算出被測物體質量,根據標準材料庫的參數計算出被測物體的質量。
進一步地,所述基于機器視覺和散斑的測量方法還包括如下步驟:
S6:坐標轉換,對重建后的三維點云數據進行3-2-1坐標轉換,并選擇高度方向為z軸方向;
S7:截面分割,選取一系列垂直于z軸的截面進行分割;
S8:獲取鄰域內的點云在截平面上投影的平面坐標,并將平面內所有坐標點順次連接,直至折線封閉;
S9:計算封閉折線的周長其中n為鄰域內點的總數。
本發明還揭示了一種基于機器視覺和散斑的人體測量方法,包括如下步驟:
S1:圖像數據采集,利用散斑投射器向被測人體指定局部投射隨機的散斑圖案,并由所述測量頭的相機同步拍攝被測人體指定局部的圖像;
S2:被測人體指定局部三維點云重建,對拍攝到指定局部的測量頭的相機所采集到的圖像數據進行數字圖像相關運算,并計算出待測人體指定局部表面密集點的三維坐標,實現待測人體指定局部的三維點云重建;
S3:被測人體指定局部三維點云拼接配準,對不同測量頭獲得的三維點云進行拼接配準,以獲得被測人體指定局部的完整點云模型;
S4:對指定局部進行有限元分割求和,從而得到被測人體指定局部的面積或體積。
進一步地,所述基于機器視覺和散斑的人體測量方法還包括如下步驟:
S5:坐標轉換,對重建后的三維點云數據進行3-2-1坐標轉換,并選擇人體高度方向為z軸方向;
S6:截面分割,選取一系列垂直于z軸的截面進行分割;
S7:獲取鄰域內的點云在截平面上投影的平面坐標,并將平面內所有坐標點順次連接,直至折線封閉;
S8:計算封閉折線的周長其中n為鄰域內點的總數。
本發明的有益效果在于:本發明基于機器視覺和散斑的測量方法能夠測量大型物體的面積或體積,測量精度較高,且為非接觸式測量,應用場合廣泛。
上述說明僅是本發明技術方案的概述,為了能夠更清楚了解本發明的技術手段,并可依照說明書的內容予以實施,以下以本發明的較佳實施例并配合附圖詳細說明如后。
附圖說明
圖1所示為本發明基于機器視覺和散斑的測量方法的流程示意圖。
圖2所示為Gregory曲面片。
圖3為角度閾值T為0.4時的濾波效果圖。
圖4為角度閾值T為0.75時的濾波效果圖。
圖5為角度閾值T為0.9時的濾波效果圖。
圖6為通過截面分割及圍長提取結果的效果圖。
具體實施方式
下面結合附圖和實施例,對本發明的具體實施方式作進一步詳細描述。以下實施例用于說明本發明,但不用來限制本發明的范圍。
請參見圖1所示,本發明基于機器視覺和散斑的測量方法,包括如下步驟:
S0:多相機全局標定。首先,將標定板放置在測量視場中并擺放出不同位姿,然后所有測量頭的相機同步采集不同位姿下的圖像,并對采集的圖像進行處理,從而獲得所有測量頭的相機的內部參數和外部參數。所述測量視場為所有測量頭的相機的公共視野。所述標定板的正反面都均勻印制有環形的編碼標 志點和圓點型的非編碼標志點。標定時,所述標定板至少具有24種不同位姿,以提高相機標定精度。
S1:圖像數據采集。首先,分析環境光強,并判斷是否需要進行補光,以便保證采集到的圖像數據清晰準確。然后,利用散斑投射器向被測物體投射隨機的散斑圖案,并由所述測量頭的相機同步拍攝被測物體的圖像。所述被測物體位于所有測量頭的相機的公共視野內。
在本實施例中,環境光強是通過采集到的圖像的灰度值來判斷的。當灰度值超過閾值時,則表明環境光強較強,此時調節鏡頭光圈,減少進光量;當灰度值低于閾值時,則表明環境光強較弱,此時打開補光燈,進行補光。
S2:被測物體三維點云重建。對每一測量頭的相機采集到的圖像數據進行數字圖像相關運算,并計算出待測物體表面密集點的三維坐標,實現待測物體的三維點云重建。
S3:被測物體三維點云拼接配準。首先,對不同測量頭獲得的三維點云進行拼接配準,以獲得被測物體的完整點云模型。然后,點云優化過濾,對多幅點云法向進行濾波,然后通過兩幅點云的雙向查找來尋找種子點,并在種子點的法向尋找兩幅點云中對應的k鄰域,計算鄰域點的加權和。對于給定種子點pi,其最近鄰域為Nk(pi),則濾波后的法向為其中權函數 T是給定的角度閾值。接著,點云三角化封裝,用互不相交的三角形來近似表示點集形成的曲面。最后,封裝實體化,利用Gregory曲面片構建精確光滑貼合曲面,并填充為實體。請參閱圖2所示,所述Gregory曲面片是由一組控制點確定的,即G={P0,P1,P2,P01,P02,P12,P21,P20,P02,q01,q02,q12,q21,q20,q02},其中{P0,P1,P2}為角控制點,{P0,P1,P2,P01,P02}為邊界控制點,{q01,q02,q12,q21,q20,q02}為內部控制點,記(u|v)為Gregory三角域中參數點的中心坐標,則對Gregory三角域的插值函數GT(u|v)=w3P0+u3P1+v3P0+…,其中u+v+w=1。
當角度閾值T=0.4時,濾波效果如圖3所示;當角度閾值T=0.75時,濾波效果如圖4所示;當角度閾值T=0.9時,濾波效果如圖5所示。經過多項實驗結果對比,發現當角度閾值T=0.75時,具有較好地濾波效果。
S4:有限元分割求和。對完整點云模型進行有限元網格劃分,并通過微元法積分求和,從而得到被測物體的面積或體積。體積計算采用點云作為插值點,使用GUSS型求積公式進行三重積分求和計算,公式為其中xk為插值點。
S5:算出被測物體質量。獲取被測物體的材料類型,并從標準材料庫中提取該型材料的密度值,從而計算出被測物體的質量。
S6:坐標轉換,對重建后的三維點云數據進行3-2-1坐標轉換,并選擇人體高度方向為z軸方向。
S7:截面分割,選取一系列垂直于z軸的截面進行分割。
S8:獲取鄰域內的點云在截平面上投影的平面坐標,并將平面內所有坐標點順次連接,直至折線封閉。
S9:計算封閉折線的周長其中n為鄰域內點的總數。
本發明還揭示了一種基于機器視覺和散斑的人體測量方法,包括如下步驟:
S0:多相機全局標定,將標定板放置在測量視場中并擺放出不同姿態,然后所有測量頭的相機同步采集不同姿態下的圖像,并對采集的圖像進行處理,從而得到所有測量頭的相機的內部參數和外部參數。
S1:圖像數據采集,利用散斑投射器向被測人體指定局部投射隨機的散斑圖案,并由所述測量頭的相機同步拍攝被測人體指定局部的圖像。
S2:被測人體指定局部三維點云重建,對拍攝到指定局部的測量頭的相機所采集到的圖像數據進行數字圖像相關運算,并計算出待測人體指定局部表面密集點的三維坐標,實現待測人體指定局部的三維點云重建。
S3:被測人體指定局部三維點云拼接配準,對不同測量頭獲得的三維點云進行拼接配準,以獲得被測人體指定局部的完整點云模型。
S4:對指定局部進行有限元分割求和,從而得到被測人體指定局部的面積或體積。
S5:坐標轉換,對重建后的三維點云數據進行3-2-1坐標轉換,并選擇人體高度方向為z軸方向。
S6:截面分割,選取一系列垂直于z軸的截面進行分割。
S7:獲取鄰域內的點云在截平面上投影的平面坐標,并將平面內所有坐標點順次連接,直至折線封閉。
S8:計算封閉折線的周長其中n為鄰域內點的總數。其效果圖如圖6。
本發明所述基于機器視覺和散斑的人體測量方法能夠準確提取出人體指定局部的尺寸,有效滿足了虛擬試衣、醫療整形等領域對人體指定局部尺寸的需求。
綜上所述:本發明基于機器視覺和散斑的測量方法能夠測量大型物體的面積、體積、質量或圍長,并且測量精度較高,且為非接觸式測量,應用場合廣泛。
以上所述實施例的各技術特征可以進行任意的組合,為使描述簡潔,未對上述實施例中的各個技術特征所有可能的組合都進行描述,然而,只要這些技術特征的組合不存在矛盾,都應當認為是本說明書記載的范圍。
以上所述實施例僅表達了本發明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對發明專利范圍的限制。應當指出的是,對于本領域的普通技術人員來說,在不脫離本發明構思的前提下,還可以做出若干變形和改進,這些都屬于本發明的保護范圍。因此,本發明專利的保護范圍應以所附權利要求為準。