專利名稱::視覺非接觸測頭的標定方法
技術領域:
:本發(fā)明涉及對物體的三維測量技術設備的改進,具體講是一種視覺非接觸測頭的標定方法,在該方法中能夠同時標定視覺非接觸測頭的內(nèi)參數(shù)和外參數(shù)。其屬于掃描測量設備
技術領域:
。
背景技術:
:在三坐標測量機等掃描測量設備上安裝的視覺非接觸測頭,通常由一個激光發(fā)射器和一個或兩個CCD攝像機組成。該激光發(fā)射器發(fā)出激光點或激光線,投射到被測物體表面;所述的CCD攝像機可以接收被測物體上的漫反射光。在掃描測量過程中,通過移動物體或移動測頭就可以實現(xiàn)對該物體的掃描。所述的視覺非接觸測頭每次測量得到的是CCD像面上的二維測量值。要實現(xiàn)對物體的三維測量就必須將CCD像面上的測量值轉(zhuǎn)換為三維坐標。要實現(xiàn)這個轉(zhuǎn)換必須確定下列參數(shù)1)、激光發(fā)射器相對于CCD攝像機的位置;2)、CCD像面的尺寸;3)、光路系統(tǒng)的參數(shù);4)、測頭在世界坐標系中的方向和位置。上述的1)、到3)、的實際參數(shù)是在對測頭標定過程中確定的,標定過程比較復雜,通常是由生產(chǎn)商在出品時進行標定。上述的4)、其方向和位置的參數(shù)是測頭的外參數(shù),是在使用過程中由用戶來標定的。當這些參數(shù)確定后就可以將CCD攝像機接收到的漫反射圖像轉(zhuǎn)換為三維坐標。為了使該測頭產(chǎn)生掃描運動,通常將測頭安裝在三坐標測量機等測量設備上。利用專用標定器具可以分別求出1)、到4)、中的參數(shù),實際上對這些參數(shù)的確定非常復雜而且耗費時間,因為它們是交叉在一起的?,F(xiàn)有技術的各種標定手段都難以精確標定1)、到4)、中的這些參數(shù)。傳統(tǒng)方法的標定過程分兩步第一步是測頭內(nèi)參數(shù)的標定,即確定激光線或激光平面和CCD像平面之間的影射關系,從而根據(jù)CCD所采集的圖像計算出一維坐標或二維坐標。要標定內(nèi)參數(shù),首先要根據(jù)針孔透視原理建立CCD攝像機的模型和測頭模型,然后選擇適當?shù)姆椒ù_定標定點,再利用標定點求解測頭模型從而確定測頭的內(nèi)參數(shù),在這個過程中確定標定點是關鍵。確定標定點常用的器具有平面靶標,三角靶標等;第二步是測頭外參數(shù)的標定,即確定測頭在世界坐標系中的方向和位置,將測頭直接輸出的一維坐標或二維坐標轉(zhuǎn)換為世界坐標系下的三維坐標,這個過程通常是由最終用戶通過特制的器具,如正四面體等,以及特殊的掃描手段來完成。上述兩個步驟,最終是確定兩組精確的參數(shù),這些參數(shù)之間的相互關系非常復雜,難以評價每個參數(shù)會對測量結果帶來什么樣的影響,但每個參數(shù)的微小誤差會使測量結果產(chǎn)生較大誤差。這樣內(nèi)參數(shù)標定誤差,必然會造成外參數(shù)的標定誤差。這兩個標定過程都需要用戶來干預,即在標定過程中需要用戶手動調(diào)整測頭的位置,以及標定所用的器具的位置等。即使其操作過程非常仔細,也難以獲得理想的標定結果。對商品化的視覺測頭,內(nèi)參數(shù)的標定是由生產(chǎn)商完成的,用戶只需要標定外參數(shù)。但隨著溫度、震動等外界環(huán)境的變化,內(nèi)參數(shù)也會發(fā)生變化,而用戶一般不具備標定內(nèi)參數(shù)的條件和手段。因此,對一般用戶來說,當測頭的內(nèi)參數(shù)由于溫度變化、震動等因素的影響而發(fā)生變化時不能標定,需要返回生產(chǎn)廠家標定;這樣就造成許多麻煩。
發(fā)明內(nèi)容本發(fā)明的發(fā)明目的是為了克服現(xiàn)有技術的內(nèi)外參數(shù)標定方法所存在的問題,針對目前現(xiàn)有技術對視覺非接觸測頭的內(nèi)參數(shù)和外參數(shù)需要分別標定,以及標定過程的復雜性,提出了將內(nèi)參數(shù)和外參數(shù)同時標定的方法。本發(fā)明擬提出一種新型的一步際定法。該方法通過掃描測量一個標定器具——標準球,同時計算出測頭的內(nèi)參數(shù)和外參數(shù),標定過程變得方便可行。然后利用一個通用的方程直接將CCD的像面坐標轉(zhuǎn)化為世界坐標系下的三維坐標,就實現(xiàn)了三維掃描測量。本發(fā)明的目的是由以下技術方案完成的,研制一種視覺非接觸測頭,所述的視覺非接觸測頭是由一個激光發(fā)射器和一個或兩個CCD攝像機組成的,其標定過程或在三坐標測量機上、或在其它三維運動機構上進行。所述的標定方法的步驟如下A)選定標定器具采用高精度的標準球作為標定器具;B)掃描該標準球在掃描測量操作過程中控制測頭移動,使其激光點或激光線照射在該標準球的中間位置,然后由三坐標測量機或三維運動機構自動掃描,在該標準球球面上采集若干點,得到它們在CCD像平面上的二維坐標和對應的三坐標測量機的三個坐標值;C)設定測頭內(nèi)、外參數(shù)的一組初始值其中內(nèi)參數(shù)包含在函數(shù)f中,外參數(shù)為Q;D)坐標轉(zhuǎn)換即求解該標準球球面上的若干點在世界坐標系中的三維坐標(px,py,pz);將B)步驟中在該標準球球面上采集得到的CCD像面上諸點的二維坐標值Pr和對應的三坐標測量機的三個坐標平移分量值M,以及函數(shù)f中包含的測頭內(nèi)參數(shù),測頭外參數(shù)Q一起代入公式(3)P3d=Qf(Pr)+M,可轉(zhuǎn)換得到B)步驟所采集的球面上諸點的三維坐標(px,py,pz);E)計算∑d利用D)步驟中所得到的球面上的三維坐標點擬合球,求得球心坐標(cx,cy,cz)和半徑r,再以諸個點到擬合球面的距離公式(4)d=((px-cx)2+(py-cy)2+(pz-cz)2)1/2-r,求出所有離散點到擬合球面的距離之和∑d;F)調(diào)節(jié)該測頭的內(nèi)參數(shù)和外參數(shù)以∑d最小為約束條件,利用蒙特卡羅方法不斷進行迭代,在迭代過程中保存∑d最小時所對應的內(nèi)參數(shù)和外參數(shù);在下次迭代時,將上次迭代確定的內(nèi)、外參數(shù)進行微小調(diào)整,再將其代入步驟(D)和(E)求出∑d;若此時的∑d較上次的小,則保存這次的內(nèi)外參數(shù),下次迭代時以此次的參數(shù)為基礎進行調(diào)節(jié);否則,不保存這次的內(nèi)外參數(shù),下次迭代時仍以上次的參數(shù)為基礎進行調(diào)節(jié);如此反復迭代,∑d值不斷減小,當∑d小于給定值時迭代結束,即可得到該測頭內(nèi)參數(shù)和外參數(shù)的精確值。所述的高精度的標定器具,其是不限直徑大小的標準球,其球度誤差在1微米以下,在其球面上均勻噴涂有具有漫反射效果的探傷劑或白色亞光油漆。所述的F)步驟中的對內(nèi)、外參數(shù)進行微小調(diào)整,其是利用蒙特卡羅方法對該測頭的內(nèi)、外參數(shù)做微小調(diào)整。本發(fā)明的優(yōu)點在于;所采用的標定器具為標準球,它具有結構簡單,容易制造,精度高等優(yōu)點;其次,標定過程簡單,通過測量標準球就能夠一步標定出內(nèi)參數(shù)和外參數(shù),在標定過程減少了人為干預。本發(fā)明的標定過程是通過三坐標測量機或其它三維運動機構的運動帶動測頭運動,在標準球上的一個區(qū)域測量若干個點,這時每個測量點所對應的是CCD像面上的一個點和三坐標測量機或其它三維運動機構的三個坐標值,將它們連同內(nèi)參數(shù)和外參數(shù)一起,即可求出球面上的這個點在世界坐標系下的坐標值。這個過程是直接將CCD的讀數(shù)值影射為三維坐標值。利用球面上的這些點的三維坐標擬合球,以離散點到擬合球面的距離最小作為約束條件,利用蒙特卡羅方法逐步調(diào)整內(nèi)外參數(shù),最后求出一組最佳的內(nèi)參數(shù)和外參數(shù)。具體實施例方式本發(fā)明的實施例不限制本發(fā)明的保護范圍。本發(fā)明實施的是一種視覺非接觸測頭的標定方法,所述的視覺非接觸測頭是由一個激光發(fā)射器和一個或兩個CCD攝像機組成的,其標定過程或在三坐標測量機上、或在其它三維運動機構上進行。所述的標定方法的步驟如下A)選定標定器具采用高精度的標準球作為標定器具;B)掃描該標準球在掃描測量操作過程中控制測頭移動,使其激光點或激光線照射在該標準球的中間位置,然后由三坐標測量機或三維運動機構自動掃描,在該標準球球面上采集若干點,得到它們在CCD像平面上的二維坐標和對應的三坐標測量機的三個坐標值;C)設定測頭內(nèi)、外參數(shù)的一組初始值其中內(nèi)參數(shù)包含在函數(shù)f中,外參數(shù)為Q;D)坐標轉(zhuǎn)換即求解該標準球球面上的若干點在世界坐標系中的三維坐標(px,py,pz);將B)步驟中在該標準球球面上采集得到的CCD像面上諸點的二維坐標值Pr和對應的三坐標測量機的三個坐標平移分量值M,以及函數(shù)f中包含的測頭內(nèi)參數(shù),測頭外參數(shù)Q一起代入公式(3)P3d=Qf(Pr)+M,可轉(zhuǎn)換得到B)步驟所采集的球面上諸點的三維坐標(px,py,pz);其中公式(3)中,Pr是CCD像平面上的二維坐標點,f是該測頭內(nèi)參數(shù)所對應的函數(shù),即f(Pr)=P1d或f(Pr)=P2d公式(1),公式(1)中P1d是轉(zhuǎn)換后沿激光束的一維坐標,P2d是轉(zhuǎn)換后激光平面內(nèi)的二維坐標;P3d是世界坐標系下的三維坐標P3d=QP1d+M或P3d=QP2d+M公式(2),公式(2)中M為平移分量值,Q是該測頭的外參數(shù),即該測頭的旋轉(zhuǎn)分量;E)計算∑d利用D)步驟中所得到的球面上的三維坐標點擬合球,求得球心坐標(cx,cy,cz)和半徑r,再以諸個點到擬合球面的距離公式(4)d=((px-cx)2+(py-cy)2+(pz-cz)2)1/2-r,求出所有離散點到擬合球面的距離之和∑d;F)調(diào)節(jié)該測頭的內(nèi)參數(shù)和外參數(shù)以∑d最小為約束條件,利用蒙特卡羅方法不斷進行迭代,在迭代過程中保存∑d最小時所對應的內(nèi)參數(shù)和外參數(shù);在下次迭代時,將上次迭代確定的內(nèi)、外參數(shù)進行微小調(diào)整,再將其代入步驟(D)和(E)求出∑d;若此時的∑d較上次的小,則保存這次的內(nèi)外參數(shù),下次迭代時以此次的參數(shù)為基礎進行調(diào)節(jié);否則,不保存這次的內(nèi)外參數(shù),下次迭代時仍以上次的參數(shù)為基礎進行調(diào)節(jié);如此反復迭代,∑d值不斷減小,當∑d小于給定值時迭代結束,即可得到該測頭內(nèi)參數(shù)和外參數(shù)的精確值。在迭代過程中保存∑d最小時所對應的內(nèi)參數(shù)和外參數(shù),在下次迭代時,將上次迭代確定的參數(shù)利用蒙特卡羅方法(做微小調(diào)整,再將其代入步驟(3)和(4)求出∑d,若此時的∑d較上次的小,則保存這次的內(nèi)外參數(shù),下次迭代時以此次的參數(shù)為基礎進行調(diào)節(jié);這樣反復迭代,∑d值不斷減小,當∑d小于給定值時迭代結束,可得到內(nèi)參數(shù)和外參數(shù)的精確值。本發(fā)明的視覺非接觸測頭的具體標定的實施例如下由于蒙特卡羅方法的隨機性,兩次標定的過程一樣,但所得到的結果一般不相同。下面是兩次標定的結果第一次第二次本發(fā)明標定的測頭內(nèi)參數(shù)和外參數(shù)的精度是通過最后的測量效果來驗證的。即,將內(nèi)參數(shù)和外參數(shù)代入公式(3),將CCD像面坐標轉(zhuǎn)化為世界坐標系下的三維坐標,通過評價這些三維坐標的精度來反應內(nèi)參數(shù)和外參數(shù)精度。利用傳統(tǒng)方法和本發(fā)明所提出的方法分別對測頭進行標定后測量同一個標準球。已知標準球的直徑為35.936mm,球度誤差小于1微米。分別將兩種方法的標定結果代入公式(3)在標準球上測量500個點,再分別擬合球,并求每個離散點到擬合球面的最大距離,得到的擬合球的直徑和離散點到擬合球面的最大距離如表<tablesid="table1"num="001"><tablewidth="836">擬合球的直徑mm離散點到擬合球面的最大距離mm傳統(tǒng)標定方法35.9410.037本發(fā)明的標定方法35.9380.029</table></tables>從表中可以看出本發(fā)明所提出的方法標定出的內(nèi)外參數(shù)進行掃描測量得到的擬合球的直徑較傳統(tǒng)方法更接近標準球的實際直徑,離散點到擬合球面的最大距離也小于傳統(tǒng)方法。這證明運用本發(fā)明標定結果進行掃描測量的精度高于傳統(tǒng)方法。本發(fā)明在內(nèi)參數(shù)的標定過程中內(nèi)參數(shù)的標定是建立從CCD像面到激光束或激光平面的映射關系,將CCD所接收的被測物體上的激光點轉(zhuǎn)換為沿激光束的一維坐標,或?qū)CD所接收的被測物體上的激光線轉(zhuǎn)換為激光平面內(nèi)的二維坐標。內(nèi)參數(shù)標定的目的是根據(jù)CCD讀數(shù)得出一維或二維坐標。通過建立測頭模型可確定從CCD讀數(shù)到測頭一維或二維坐標的轉(zhuǎn)換關系。測頭模型的建立的前提是假設成像系統(tǒng)符合小孔成像的條件,同時還應考慮鏡頭畸變等因素。在測頭模型建立后關鍵問題是確立標定點,即在激光束或激光平面內(nèi)取若干已知坐標的點,讀取它們在CCD像面上的位置。標定點確定后,將它們代入測頭模型就可解出模型中的未知參數(shù),即根據(jù)P1d=f(Pr)或P2d=f(Pr)——(1)求得測頭的內(nèi)參數(shù)。本發(fā)明在外參數(shù)的標定過程中外參數(shù)的標定是將測頭直接輸出的一維或二維坐標轉(zhuǎn)換為三坐標測量機世界坐標系下的三維坐標。從而利用激光非接觸測頭實現(xiàn)三維掃描測量。這需要確定測頭的激光束或激光平面在世界坐標系中的方向以及測頭工作原點在世界坐標系中的位置。測頭的外參數(shù)共有6個分量,3個平移分量,即測頭工作原點在世界坐標系中的位置;3個旋轉(zhuǎn)分量,即測頭一維或二維坐標系相對于世界坐標系的三個旋轉(zhuǎn)角度。設平移分量為M,旋轉(zhuǎn)分量為Q,世界坐標系下的三維坐標為P3d,則從測頭一維坐標或二維坐標到世界坐標系下的三維坐標為P3d=QP1d+M或P3d=QP2d+M——(2)。在三坐標測量機運動時,三個坐標軸的坐標值就發(fā)生變化,坐標值可直接由光柵尺的讀數(shù)得到,因此在上(2)式中M是已知量;Q由測頭的方向決定,它的初始值是未知的,外參數(shù)的標定主要是確定Q;在Q確定之后,若測頭的方向不變,Q不變。測頭方向發(fā)生變化后要重新標定測頭的外參數(shù)。將(1)式代入(2)式得P3d=Qf(Pr)+M——(3)。(3)式中f是測頭內(nèi)參數(shù)所對應的函數(shù);Q是測頭的外參數(shù)。本發(fā)明所采用的標準球只要求具有比較好的球度,對球的直徑?jīng)]有嚴格要求。另外,整個標定過程主要是對同一標準球進行的掃描測量,基本不需要用戶干擾。在上述過程中掃描測量標準球所得到的是CCD像平面上的許多點Pr和三坐標測量機的坐標值M。設定測頭內(nèi)參數(shù)和外參數(shù)的一組初值,根據(jù)(3)式可求出這些點的三維坐標(px,py,pz)。利用這些三維坐標點擬合球得球心坐標(cx,cy,cz)和半徑r,每一個點到擬合球面的距離為d=((px-cx)3+(py-cy)3+(pz-cz)3)1/2-r,則所有離散點到擬合求面的距離之和為∑d。本發(fā)明以∑d最小為收斂條件,利用蒙特卡羅方法不斷進行迭代,迭代過程如下(1)選擇初始內(nèi)參數(shù)fini和外參數(shù)Qini;(2)將當前參數(shù)設定為初始參數(shù),fcur=fini,Qcur=Qini;(3)設定離散點到擬合求面的距離之和的最小值的初值為∑dbest=∞;(4)若∑dbest大于用戶設定值,則反復執(zhí)行下列步驟;(5)利用公式(3)和當前參數(shù)fcur,Qcur將掃描得到的CCD像面上的點轉(zhuǎn)換為世界坐標系下的三維坐標(px,py,pz);(6)利用(px,py,pz)擬合球,并求出∑d;(7)若∑d<∑dbest,則∑dbest=∑d,利用蒙特卡羅法對內(nèi)外參數(shù)進行調(diào)整,生成新的fcur和Qcur。本領域的普通技術人員都會理解,在本發(fā)明的保護范圍內(nèi),對于上述實施例進行修改,添加和替換都是可能的,其都沒有超出本發(fā)明的保護范圍。權利要求1.一種視覺非接觸測頭的標定方法,所述的視覺非接觸測頭是由一個激光發(fā)射器和一個或兩個CCD攝像機組成的,其標定過程或在三坐標測量機上、或在其它三維運動機構上進行,其特征在于所述的標定方法的步驟如下A)選定標定器具采用高精度的標準球作為標定器具;B)掃描該標準球在掃描測量操作過程中控制測頭移動,使其激光點或激光線照射在該標準球的中間位置,然后由三坐標測量機或三維運動機構自動掃描,在該標準球球面上采集若干點,得到它們在CCD像平面上的二維坐標和對應的三坐標測量機的三個坐標值;C)設定測頭內(nèi)、外參數(shù)的一組初始值其中內(nèi)參數(shù)包含在函數(shù)f中,外參數(shù)為Q;D)坐標轉(zhuǎn)換即求解該標準球球面上的若干點在世界坐標系中的三維坐標(px,py,pz);將B)步驟中在該標準球球面上采集得到的CCD像面上諸點的二維坐標值Pr和對應的三坐標測量機的三個坐標平移分量值M,以及函數(shù)f中包含的測頭內(nèi)參數(shù),測頭外參數(shù)Q一起代入公式(3)P3d=Qf(Pr)+M,可轉(zhuǎn)換得到B)步驟所采集的球面上諸點的三維坐標(px,py,pz);其中公式(3)中,Pr是CCD像平面上的二維坐標點,f是該測頭內(nèi)參數(shù)所對應的函數(shù);即f(Pr)=P1d或f(Pr)=P2d公式(1),公式(1)中P1d是轉(zhuǎn)換后沿激光束的—維坐標,P2d是轉(zhuǎn)換后在激光平面內(nèi)的二維坐標;P3d是世界坐標系下的三維坐標P3d=QP1d+M或P3d=QP2d+M公式(2),公式(2)中M為平移分量值,Q是該測頭的外參數(shù),即該測頭的旋轉(zhuǎn)分量;E)計算∑d利用D)步驟中所得到的球面上的三維坐標點擬合球,求得球心坐標(cx,cy,cz)和半徑r,再以諸個點到擬合球面的距離公式(4)d=((px-cx)2+(py-cy)2+(pz-cz)2)1/2-r,求出所有離散點到擬合球面的距離之和∑d;F)調(diào)節(jié)該測頭的內(nèi)參數(shù)和外參數(shù)以∑d最小為約束條件,利用蒙特卡羅方法不斷進行迭代,在迭代過程中保存∑d最小時所對應的內(nèi)參數(shù)和外參數(shù);在下次迭代時,將上次迭代確定的內(nèi)、外參數(shù)進行微小調(diào)整,再將其代入步驟(D)和(E)求出∑d;若此時的∑d較上次的小,則保存這次的內(nèi)外參數(shù),下次迭代時以此次的參數(shù)為基礎進行調(diào)節(jié);否則,不保存這次的內(nèi)外參數(shù),下次迭代時仍以上次的參數(shù)為基礎進行調(diào)節(jié);如此反復迭代,∑d值不斷減小,當∑d小于給定值時迭代結束,即可得到該測頭內(nèi)參數(shù)和外參數(shù)的精確值。2.根據(jù)權利要求1所述視覺非接觸測頭的標定方法,其特征在于所述的標定器具,其是不限直徑大小的標準球,其球度誤差在1微米以下,在其球面上均勻噴涂有具有漫反射效果的探傷劑或白色亞光油漆。3.根據(jù)權利要求1所述視覺非接觸測頭的標定方法,其特征在于所述的F)步驟中的對內(nèi)、外參數(shù)進行微小調(diào)整,其是利用蒙特卡羅方法對該測頭的內(nèi)、外參數(shù)做微小調(diào)整。全文摘要本發(fā)明視覺非接觸測頭的標定方法步驟為A)選定標定器具;B)掃描該標準球;C)設定測頭內(nèi)、外參數(shù)的一組初始值;D)坐標轉(zhuǎn)換利用公式(3)P文檔編號G01M11/00GK1740741SQ20051004457公開日2006年3月1日申請日期2005年9月18日優(yōu)先權日2005年9月18日發(fā)明者解則曉,張志偉,金明申請人:中國海洋大學