本發(fā)明涉及一種多相機系統(tǒng)的外參數(shù)標(biāo)定方法,特別涉及到一種基于八點編碼標(biāo)志的相機位移變換矩陣標(biāo)定方法,屬于攝影測量領(lǐng)域。
背景技術(shù):
在攝影測量中,相機的外參數(shù)標(biāo)定是實現(xiàn)點云拼接的重要前提,外參數(shù)標(biāo)定的本質(zhì)就是標(biāo)定相機坐標(biāo)系之間的變換矩陣或相機坐標(biāo)系與物方坐標(biāo)系之間的空間變換矩陣。相機的標(biāo)定方法一般分為自標(biāo)定方法和傳統(tǒng)標(biāo)定方法。相機的自標(biāo)定方法不需要特定的靶標(biāo)標(biāo)定,通過拍攝相機運動過程中周圍環(huán)境的圖像之間的對應(yīng)關(guān)系來進(jìn)行標(biāo)定。自標(biāo)定方法使用靈活,但是標(biāo)定過程中使用的參數(shù)多,算法結(jié)果不很穩(wěn)定。傳統(tǒng)標(biāo)定法,通過參照特定的靶標(biāo)進(jìn)行矩陣變換運算實現(xiàn)標(biāo)定,標(biāo)定精度高,適合用于攝影測量。傳統(tǒng)的相機標(biāo)定法,根據(jù)不同的標(biāo)定參照物可分為三維靶標(biāo)定法、二維靶標(biāo)定法二種。三維靶標(biāo)定法需要已知靶標(biāo)上的標(biāo)志點在靶標(biāo)坐標(biāo)系的三維坐標(biāo),且加工、維護(hù)比較困難。二維靶標(biāo)定法是三維靶標(biāo)定法的簡化,但也需要知道二維靶面內(nèi)所有標(biāo)志點在靶標(biāo)坐標(biāo)系的坐標(biāo)。因此二維靶上標(biāo)志點分布比較規(guī)則或不規(guī)則但需要通過其他方式先測得標(biāo)定板上標(biāo)志點的位置。如習(xí)俊通等在“小型二維靶大視場雙目立體視覺系統(tǒng)結(jié)構(gòu)參數(shù)在位標(biāo)定法”(公布號CN 102968794A)提出過小型二維靶標(biāo)定法,該方法使用的二維靶是用IPAD液晶屏顯示的二行三列簡易點陣;隋國榮等在“一種攝影機標(biāo)定方法”中使用了一種圓以及該圓內(nèi)接正八邊形作為標(biāo)定物;黃桂平在“數(shù)字近景工業(yè)攝影測量理論、方法與應(yīng)用”(科學(xué)出版社,2016)提到的二維標(biāo)定板,均勻分布9個編碼標(biāo)志和48個定向反光標(biāo)定點,需要先使用V-STARS/S測量出所有標(biāo)志點在標(biāo)定靶坐標(biāo)系的坐標(biāo)。在實際測量中,通常需要粘貼大量信息唯一編碼標(biāo)志以實現(xiàn)大量照片的拼接,以上這幾種二維標(biāo)定靶都不實用。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的就是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提供一種基于八點編碼標(biāo)志的相機位移變換矩陣標(biāo)定方法。
本發(fā)明的目的可以通過以下技術(shù)方案來實現(xiàn):
一種基于八點編碼標(biāo)志的相機位移變換矩陣標(biāo)定方法,該方法實現(xiàn)相機由0號測站至1號測站換站前后的坐標(biāo)系轉(zhuǎn)換,包括以下步驟:
1)在相機視場范圍內(nèi)設(shè)置多個八點編碼標(biāo)志,形成編碼標(biāo)志群;
2)分別在所述0號測站和1號測站處對所述八點編碼標(biāo)志進(jìn)行拍照;
3)根據(jù)拍照獲得的圖像進(jìn)行識別,獲得多個所述八點編碼標(biāo)志中所有標(biāo)志點在0號相機坐標(biāo)系和1號相機坐標(biāo)系下的三維坐標(biāo);
4)根據(jù)所述三維坐標(biāo)分別建立0號測站和1號測站各自的編碼標(biāo)志點云三維坐標(biāo)系,并對應(yīng)獲得編碼標(biāo)志點云三維坐標(biāo)系到0號相機坐標(biāo)系和1號相機坐標(biāo)系的位移變換矩陣Q0和Q1;
5)計算0號相機坐標(biāo)系到1號相機坐標(biāo)系的位移變換矩陣Q01=Q0×Q1-1。
所述八點編碼標(biāo)志為一由八個圓形標(biāo)志點組成的編碼標(biāo)志,所述八個圓形標(biāo)志點中,標(biāo)志點0、1、2、3的圓心以順時針為序組成一正方形的四個頂點,對所述正方形按6×6劃分網(wǎng)格,標(biāo)志點4位于標(biāo)志點0、1連線的一網(wǎng)格點處,標(biāo)志點5、6、7分布于所述正方形內(nèi)部的三個網(wǎng)格點上。
所述步驟3)中,獲得某一八點編碼標(biāo)志中所有標(biāo)志點在0號相機坐標(biāo)系下的三維坐標(biāo)具體為:
301)根據(jù)0號測站獲得的圖像中標(biāo)志點0、1、2、3在成像平面的像素坐標(biāo),通過方靶模型原理獲得標(biāo)志點0、1、2、3在0號相機坐標(biāo)系的三維坐標(biāo);
302)在所述某一八點編碼標(biāo)志上建立編碼標(biāo)志坐標(biāo)系,其中,標(biāo)志點0的圓心為坐標(biāo)系原點,標(biāo)志點0、1圓心連線為X′軸,標(biāo)志點0、3圓心連線為Y′軸,過原點的平面法線為Z′軸,從而獲得各標(biāo)志點在該編碼標(biāo)志坐標(biāo)系上的坐標(biāo);
303)根據(jù)標(biāo)志點0、1、2、3在0號相機坐標(biāo)系的三維坐標(biāo)及其在編碼標(biāo)志坐標(biāo)系上的坐標(biāo)計算獲得編碼標(biāo)志坐標(biāo)系到0號相機坐標(biāo)系的旋轉(zhuǎn)矩陣R和平移向量T;
304)根據(jù)所述旋轉(zhuǎn)矩陣R和平移向量T計算獲得標(biāo)志點4、5、6、7在0號相機坐標(biāo)系的三維坐標(biāo);
通過上述步驟獲得所有八點編碼標(biāo)志中所有標(biāo)志點在0號相機坐標(biāo)系下的三維坐標(biāo);
同理,通過上述步驟獲得所有八點編碼標(biāo)志中所有標(biāo)志點在1號相機坐標(biāo)系下的三維坐標(biāo)。
所述步驟4)中,建立0號測站的編碼標(biāo)志點云三維坐標(biāo)系具體為:
401)所有標(biāo)志點在0號相機坐標(biāo)系下的三維坐標(biāo)形成一編碼標(biāo)志群點云,P0=(x0i,y0i,z0i),i=0,1,…,n,n為標(biāo)志點的總數(shù),獲取點云重心的三維坐標(biāo)作為編碼標(biāo)志點云三維坐標(biāo)系的原點;
402)計算協(xié)方差矩陣求得的三個特征值λ1,λ2,λ3對應(yīng)的三個單位特征向量η1,η2,η3依次作為該點云三維坐標(biāo)系的X、Y、Z軸;
獲得編碼標(biāo)志點云三維坐標(biāo)系到0號相機坐標(biāo)系的位移變換矩陣Q0記為:
同理,建立1號測站的編碼標(biāo)志點云三維坐標(biāo)系,并獲得其到1號相機坐標(biāo)系的位移變換矩陣其中,P1o為1號測站的編碼標(biāo)志點云三維坐標(biāo)系的原點,ξ1,ξ2,ξ3為單位特征向量。
對于同一編碼標(biāo)志群,在不同相機坐標(biāo)系獲得的特征值順序相同時,依次取三個特征值對應(yīng)的特征向量為坐標(biāo)系的X、Y、Z軸;當(dāng)利用不同相機坐標(biāo)系前后兩次獲得的特征值順序不同時,將兩次獲得的特征值順序調(diào)整一致并相應(yīng)調(diào)整對應(yīng)的單位特征向量的順序和方向后依次作為坐標(biāo)系的X、Y、Z軸。
每個所述八點編碼標(biāo)志的面積小于25cm2。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點:
1)本發(fā)明利用八點編碼標(biāo)志進(jìn)行相機位移變換矩陣標(biāo)定,實現(xiàn)相機外參數(shù)的標(biāo)定,利用其內(nèi)嵌方靶模型和編碼量大的特性,可用于不依賴標(biāo)定棒進(jìn)行復(fù)雜和大型物件精確測量,本發(fā)明利用了方靶模型,其作用是起到標(biāo)定棒的作用,能把照片的像素坐標(biāo)轉(zhuǎn)換為工程坐標(biāo),編碼量大可實現(xiàn)復(fù)雜和大型物件測量。
2)本發(fā)明在標(biāo)定換站前、換站后相機坐標(biāo)系轉(zhuǎn)換關(guān)系的小型編碼標(biāo)志是靈活粘貼在被測物上或周邊的,編碼標(biāo)志之間的相對位置不定,實質(zhì)構(gòu)成一個編碼標(biāo)志點之間的相互位置關(guān)系不確定的整體三維標(biāo)定靶,本發(fā)明通過建立了一種點云三維坐標(biāo)系,使得在標(biāo)定過程中對任意編碼標(biāo)志內(nèi)標(biāo)志點云的坐標(biāo)描述得以實現(xiàn),這樣大大提高了標(biāo)定靶標(biāo)的靈活性,極大的提高了實際攝影測量可操作性和靈活性。
3)本發(fā)明采用小尺寸的八點編碼標(biāo)志,可方便粘貼于相機視場內(nèi)的被測物上或周邊,使用方便。
附圖說明
圖1為本發(fā)明中采用八點編碼標(biāo)志示意圖;
圖2為本發(fā)明八點編碼標(biāo)志點云三維坐標(biāo)系與各測站相機坐標(biāo)系的關(guān)系示意圖;
圖2中,A表示編碼標(biāo)志上所有標(biāo)志點構(gòu)成的點云,B表示點云三維坐標(biāo)系,C表示0號相機坐標(biāo)系,D表示1號相機坐標(biāo)系;
圖3為本發(fā)明的流程圖。
具體實施方式
下面結(jié)合附圖和具體實施例對本發(fā)明進(jìn)行詳細(xì)說明。本實施例以本發(fā)明技術(shù)方案為前提進(jìn)行實施,給出了詳細(xì)的實施方式和具體的操作過程,但本發(fā)明的保護(hù)范圍不限于下述的實施例。
如圖3所示,本實施例提供一種基于八點編碼標(biāo)志的相機位移變換矩陣標(biāo)定方法,該方法中相機的內(nèi)參數(shù)id按照袁勇等在“一種基于運動方靶標(biāo)定物的工業(yè)定焦相機參數(shù)標(biāo)定方法”(公布號103559707A)預(yù)先標(biāo)定好。該相機位移變換矩陣標(biāo)定方法可以實現(xiàn)相機由0號測站至1號測站換站前后的坐標(biāo)系轉(zhuǎn)換,包括以下步驟:
1)在相機視場范圍內(nèi)設(shè)置多個八點編碼標(biāo)志,形成編碼標(biāo)志群,本實施例中,八點編碼標(biāo)志設(shè)置有三個,粘貼在相機視場內(nèi)的被測物上或周邊,具體位置沒有嚴(yán)格要求,多個編碼標(biāo)志構(gòu)成一個整體標(biāo)定靶。
所述八點編碼標(biāo)志為一由八個圓形標(biāo)志點組成的編碼標(biāo)志,所述八個圓形標(biāo)志點中,標(biāo)志點0、1、2、3的圓心以順時針為序組成一正方形的四個頂點,對所述正方形按6×6劃分網(wǎng)格,標(biāo)志點4位于標(biāo)志點0、1連線的一網(wǎng)格點處,標(biāo)志點5、6、7分布于所述正方形內(nèi)部的三個網(wǎng)格點上。
如圖1所示,本實施例的八點編碼標(biāo)志為邊長49mm的正方形,四個角部以順時針為序分別設(shè)編號為0、1、2、3的標(biāo)志點,標(biāo)志點為直徑為5mm的圓形,以標(biāo)志點0、1、2、3的圓心為頂點的40mm×40mm正方形按6×6劃分網(wǎng)格,八個標(biāo)志點圓心都設(shè)置在網(wǎng)格點上,標(biāo)志點0、1、2、3的圓心分居該網(wǎng)格的四角,在標(biāo)志點0、1連線的五個網(wǎng)格點中設(shè)一個定向標(biāo)志點4,其他三個標(biāo)志點5、6、7分別設(shè)在6×6網(wǎng)格內(nèi)部二十五個網(wǎng)格點的三個點上。
2)分別在所述0號測站和1號測站處對所述八點編碼標(biāo)志進(jìn)行拍照,得到當(dāng)前編碼標(biāo)志組在0號相機坐標(biāo)系和1號相機坐標(biāo)系下的圖像。
3)根據(jù)拍照獲得的圖像進(jìn)行識別,獲得多個所述八點編碼標(biāo)志中所有標(biāo)志點在0號相機坐標(biāo)系和1號相機坐標(biāo)系下的三維坐標(biāo)。
以0號相機拍得的一個編碼標(biāo)志為例,該編碼標(biāo)志的標(biāo)志點0、1、2、3的圓心點構(gòu)成一個正方形方靶,根據(jù)方靶模型原理算法,由這四點在成像平面的像素坐標(biāo)(xi,yi),i=0,1,2,3,可以計算出其在相機坐標(biāo)系的三維坐標(biāo)qi=(Xi,Yi,Zi),i=0,1,2,3。
該編碼標(biāo)志上定義有坐標(biāo)系:標(biāo)志點0的圓心為坐標(biāo)系原點,標(biāo)志點0、1圓心連線為X′軸,標(biāo)志點0、3圓心連線為Y′軸,過原點的平面法線為Z′軸。通過編碼識別處理后,得到該編碼標(biāo)志的編號并得到八個編碼標(biāo)志點圓心在該編碼標(biāo)志坐標(biāo)系的坐標(biāo)pi=(Xi′,Yi′,Zi′),i=0,1,2,3,4,5,6,7;
根據(jù)q=T+R·p,已知pi=(Xi′,Yi′,Zi′)和qi=(Xi,Yi,Zi),i=0,1,2,3,可以求出編碼標(biāo)志坐標(biāo)系到相機坐標(biāo)系的旋轉(zhuǎn)矩陣R和平移向量T。
由pi=(Xi′,Yi′,Zi′),i=4,5,6,7,根據(jù)q=T+R·p可求編碼標(biāo)志點4、5、6、7在0號相機坐標(biāo)系的坐標(biāo)qi=(Xi,Yi,Zi),i=4,5,6,7。
類似方法,可以求得0號相機下其他兩個編碼標(biāo)志上十六個點的坐標(biāo)P0=(x0i,y0i,z0i),i=8,9,…,23。
如上可求得0號相機下三個編碼標(biāo)志上二十四個標(biāo)志點圓心的坐標(biāo)P0=(x0i,y0i,z0i),i=0,1,…,23和1號相機下三個編碼標(biāo)志上二十四個標(biāo)志點圓心的坐標(biāo)P1=(x1i,y1i,z1i),i=0,1,…,23。
4)根據(jù)所述三維坐標(biāo)分別建立0號測站和1號測站各自的編碼標(biāo)志點云三維坐標(biāo)系,并對應(yīng)獲得編碼標(biāo)志點云三維坐標(biāo)系到0號相機坐標(biāo)系和1號相機坐標(biāo)系的位移變換矩陣Q0和Q1。如圖2所示。
分別在0號相機坐標(biāo)系和1號相機坐標(biāo)系下建立二十四個標(biāo)志點構(gòu)成的編碼標(biāo)志點云三維坐標(biāo)系,該編碼標(biāo)志點云三維坐標(biāo)系是一個局部坐標(biāo)系,在0號和1號相機坐標(biāo)系下為兩種表達(dá)形式,但在全局世界坐標(biāo)系的位置是唯一確定的。
由0號相機坐標(biāo)系下這二十四個同名標(biāo)志點圓心的三維坐標(biāo)P0=(x0i,y0i,z0i),i=0,1,…,23。求得該點云重心的三維坐標(biāo)n=23,作為該編碼標(biāo)志點云三維坐標(biāo)系的原點;再求得該點云坐標(biāo)的協(xié)方差矩陣求得的三個特征值λ1,λ2,λ3對應(yīng)的三個單位特征向量η1,η2,η3依次作為該點云三維坐標(biāo)系的X、Y、Z軸。協(xié)方差矩陣中,a、b、c表示協(xié)方差矩陣的三個列向量,第一個下標(biāo)0表示為cov0的元素,第二個下標(biāo)表示元素的行位置。
則編碼標(biāo)志點云三維坐標(biāo)系到0號相機坐標(biāo)系的旋轉(zhuǎn)矩陣R=(η1,η2,η3),平移矩陣T=P0o,記點云坐標(biāo)系到0號相機坐標(biāo)系的位移變換矩陣為
由1號相機坐標(biāo)系下這二十四個同名標(biāo)志點圓心的三維坐標(biāo)P1=(x1i,y1i,z1i),i=0,1,…,23,求得該點云重心的三維坐標(biāo)n=23,作為該編碼標(biāo)志點云三維坐標(biāo)系的原點;再求得該點云坐標(biāo)的協(xié)方差矩陣若求得的三個特征值順序也為λ1,λ2,λ3,則對應(yīng)的三個單位特征向量ξ1,ξ2,ξ3作為該點云三維坐標(biāo)系的X、Y、Z軸。
則點云坐標(biāo)系到1號相機坐標(biāo)系的旋轉(zhuǎn)矩陣R=(ξ1,ξ2,ξ3),平移矩陣T=P1o,記點云坐標(biāo)系到1號相機坐標(biāo)系的位移變換矩陣為
Q0中η1,η2,η3和Q1中ξ1,ξ2,ξ3的順序和正負(fù)號取法具體為:對于同一編碼標(biāo)志群,在不同相機坐標(biāo)系獲得的特征值順序相同時,依次取三個特征值對應(yīng)的特征向量為坐標(biāo)系的X、Y、Z軸;當(dāng)利用不同相機坐標(biāo)系前后兩次獲得的特征值順序不同時,將兩次獲得的特征值順序調(diào)整一致并相應(yīng)調(diào)整對應(yīng)的單位特征向量的順序和方向后依次作為坐標(biāo)系的X、Y、Z軸。
5)計算0號相機坐標(biāo)系到1號相機坐標(biāo)系的位移變換矩陣Q01=Q0×Q1-1。
以上詳細(xì)描述了本發(fā)明的較佳具體實施例。應(yīng)當(dāng)理解,本領(lǐng)域的普通技術(shù)人員無需創(chuàng)造性勞動就可以根據(jù)本發(fā)明的構(gòu)思作出諸多修改和變化。因此,凡本技術(shù)領(lǐng)域中技術(shù)人員依本發(fā)明的構(gòu)思在現(xiàn)有技術(shù)的基礎(chǔ)上通過邏輯分析、推理或者有限的實驗可以得到的技術(shù)方案,皆應(yīng)在由權(quán)利要求書所確定的保護(hù)范圍內(nèi)。