本發(fā)明涉及計(jì)算機(jī)視覺(jué)測(cè)量領(lǐng)域,尤其涉及一種基于橢圓構(gòu)像偏差迭代矯正的視覺(jué)測(cè)量方法。
背景技術(shù):
圓經(jīng)過(guò)透視投影,當(dāng)成像平面與圓平面不平行時(shí)投影為橢圓,然而投影橢圓的中心并非圓心在像平面上的投影,兩者的偏差稱(chēng)為橢圓構(gòu)像偏差?,F(xiàn)有的視覺(jué)測(cè)量方法是將橢圓中心近似作為圓的中心進(jìn)行位姿的計(jì)算,該近似過(guò)程所引入的誤差在高精度測(cè)量要求下不能被忽略。文獻(xiàn)“eccentricityerroridentificationandcompensationforhigh-accuracy3dopticalmeasurement”(hed,liux,pengx,etal.measurementscience&technology,vol.24(7),075402,2013.)提出一種利用同心圓環(huán)進(jìn)行攝像機(jī)標(biāo)定的方法,通過(guò)獲取的橢圓特征分析圓形標(biāo)志投影中心,其優(yōu)點(diǎn)是需要檢測(cè)的特征少,缺點(diǎn)是在實(shí)際相機(jī)標(biāo)定中精度較差,無(wú)法用于高精度的測(cè)量任務(wù)。文獻(xiàn)“eccentricityerroridentificationandcompensationforhigh-accuracy3dopticalmeasurement”(hed,liux,pengx,etal.measurementscience&technology,vol.24(7),075402,2013.)提出一種基于同心圓環(huán)的橢圓構(gòu)像偏差矯正方法,但其中涉及近似計(jì)算,會(huì)對(duì)橢圓中心點(diǎn)的提取精度造成影響。文獻(xiàn)“eccentricityerrorcompensationforgeometriccameracalibrationbasedoncircularfeatures”(yangx,fangs.measurementscience&technology,vol.25(2),pp.149-156,2014.)提出了橢圓構(gòu)像偏差在相機(jī)標(biāo)定中的影響,并給出了一種矯正的方式,但其主要在矯正相機(jī)畸變引起的橢圓中心偏差,沒(méi)有很好的解決由于透視投影所造成的構(gòu)像偏差問(wèn)題。通過(guò)橢圓構(gòu)像偏差模型可以計(jì)算出任意位姿下的橢圓構(gòu)像偏差,但是前提是需要知道位姿信息,這一前提在實(shí)際工程測(cè)量應(yīng)用中無(wú)法被滿足。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于通過(guò)一種基于橢圓構(gòu)像偏差迭代矯正的視覺(jué)測(cè)量方法,來(lái)解決以上背景技術(shù)部分提到的問(wèn)題。
為達(dá)此目的,本發(fā)明采用以下技術(shù)方案:
一種基于橢圓構(gòu)像偏差迭代矯正的視覺(jué)測(cè)量方法,其包括如下步驟:
s101、基于圖像檢測(cè)獲得的橢圓中心作為特征點(diǎn)作出初始位姿估計(jì),計(jì)算出基于初始位姿的橢圓構(gòu)像偏差;
s102、對(duì)檢測(cè)到的橢圓中心進(jìn)行橢圓構(gòu)像偏差矯正,獲得矯正后的特征點(diǎn),并作出新的位姿估計(jì);
s103、進(jìn)行迭代終止條件判斷,若不滿足終止條件,則基于新的位姿計(jì)算新的橢圓構(gòu)像偏差值繼續(xù)進(jìn)行迭代計(jì)算;若滿足終止條件,則得到最終結(jié)果。
特別地,所述步驟s101包括:對(duì)圖像上的橢圓特征進(jìn)行檢測(cè),獲得橢圓中心點(diǎn)坐標(biāo)pi,所有橢圓中心點(diǎn)的偏心誤差初始化為μi0=0,i=0,1,2,l,位姿初始化為r=03×3,t=[000]t。
特別地,所述步驟s102包括:每次迭代對(duì)所有橢圓中心點(diǎn)進(jìn)行橢圓構(gòu)像偏差矯正,對(duì)于第k次矯正過(guò)程,矯正后的橢圓中心點(diǎn)坐標(biāo)pik=pi-μik;由矯正后的橢圓中心點(diǎn)坐標(biāo)pik及標(biāo)靶上圓形標(biāo)志中心點(diǎn)坐標(biāo)qi計(jì)算出第k次矯正后的位姿rk、tk。
特別地,所述步驟s103中迭代終止條件包括:一、迭代次數(shù)達(dá)到設(shè)定上限值;二、所有標(biāo)志點(diǎn)的橢圓偏心誤差μik小于設(shè)定閾值;三、兩次迭代所得位姿rk-1、tk-1、rk、tk的差值e小于設(shè)定閾值;當(dāng)滿足上述迭代終止條件的任一項(xiàng)時(shí)迭代均終止,得到最終估計(jì)位姿rk、tk,否則由rk、tk計(jì)算出偏心誤差μi,k+1并進(jìn)行第k+1次迭代矯正;其中,
本發(fā)明提出的基于橢圓構(gòu)像偏差迭代矯正的視覺(jué)測(cè)量方法具有如下優(yōu)點(diǎn):一、利用迭代實(shí)現(xiàn)了基于偏心差矯正的位姿估計(jì),可以與單目相機(jī)標(biāo)定、雙目相機(jī)標(biāo)定、位姿測(cè)量等應(yīng)用結(jié)合,實(shí)現(xiàn)高精度的視覺(jué)測(cè)量;二、可以計(jì)算任意位置的圓形標(biāo)志的偏心誤差,因此對(duì)于具體測(cè)量應(yīng)用中圓形標(biāo)志的位置沒(méi)有限制;三、通過(guò)調(diào)整迭代終止條件可以獲得不同精度和速度要求的位姿估計(jì)結(jié)果。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施例提供的基于橢圓構(gòu)像偏差迭代矯正的視覺(jué)測(cè)量方法流程圖;
圖2為本發(fā)明實(shí)施例提供的單相機(jī)位姿測(cè)量示意圖;
圖3為本發(fā)明實(shí)施例提供的基于橢圓構(gòu)像偏差迭代矯正的相機(jī)標(biāo)定流程圖;
圖4為本發(fā)明實(shí)施例提供的單相機(jī)標(biāo)定示意圖;
圖5a-圖5d為本發(fā)明實(shí)施例提供的單相機(jī)標(biāo)定時(shí)所拍攝圖片的示意圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明。可以理解的是,此處所描述的具體實(shí)施例僅僅用于解釋本發(fā)明,而非對(duì)本發(fā)明的限定。另外還需要說(shuō)明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部?jī)?nèi)容,除非另有定義,本文所使用的所有技術(shù)和科學(xué)術(shù)語(yǔ)與屬于本發(fā)明的技術(shù)領(lǐng)域的技術(shù)人員通常理解的含義相同。本文中所使用的術(shù)語(yǔ)只是為了描述具體的實(shí)施例,不是旨在于限制本發(fā)明。
請(qǐng)參照?qǐng)D1所示,圖1為本發(fā)明實(shí)施例提供的基于橢圓構(gòu)像偏差迭代矯正的視覺(jué)測(cè)量方法流程圖。
本實(shí)施例中基于橢圓構(gòu)像偏差迭代矯正的視覺(jué)測(cè)量方法包括如下步驟:
s101、基于圖像檢測(cè)獲得的橢圓中心作為特征點(diǎn)作出初始位姿估計(jì),計(jì)算出基于初始位姿的橢圓構(gòu)像偏差。
s102、對(duì)檢測(cè)到的橢圓中心進(jìn)行橢圓構(gòu)像偏差矯正,獲得矯正后的特征點(diǎn),并作出新的位姿估計(jì)。
s103、進(jìn)行迭代終止條件判斷,若不滿足終止條件,則基于新的位姿計(jì)算新的橢圓構(gòu)像偏差值繼續(xù)進(jìn)行迭代計(jì)算;若滿足終止條件,則得到最終結(jié)果。
具體的,所述步驟s101包括:對(duì)圖像上的橢圓特征進(jìn)行檢測(cè),獲得橢圓中心點(diǎn)坐標(biāo)pi,所有橢圓中心點(diǎn)的偏心誤差初始化為μi0=0,i=0,1,2,l,位姿初始化為r=03×3,t=[000]t。所述步驟s102包括:每次迭代對(duì)所有橢圓中心點(diǎn)進(jìn)行橢圓構(gòu)像偏差矯正,對(duì)于第k次矯正過(guò)程,矯正后的橢圓中心點(diǎn)坐標(biāo)pik=pi-μik;由矯正后的橢圓中心點(diǎn)坐標(biāo)pik及標(biāo)靶上圓形標(biāo)志中心點(diǎn)坐標(biāo)qi計(jì)算出第k次矯正后的位姿rk、tk,需要說(shuō)明的是,這里的位姿計(jì)算方法采用的是pnp方法,具體內(nèi)容可參考文獻(xiàn):heschja,roumeliotissi.adirectleast-squares(dls)methodforpnp[c]//ieeeinternationalconferenceoncomputervision.ieee,2011:383-390。所述步驟s103中迭代終止條件包括:一、迭代次數(shù)達(dá)到設(shè)定上限值;二、所有標(biāo)志點(diǎn)的橢圓偏心誤差μik小于設(shè)定閾值;三、兩次迭代所得位姿rk-1、tk-1、rk、tk的差值e小于設(shè)定閾值;當(dāng)滿足上述迭代終止條件的任一項(xiàng)時(shí)迭代均終止,得到最終估計(jì)位姿rk、tk,否則由rk、tk計(jì)算出偏心誤差μi,k+1并進(jìn)行第k+1次迭代矯正;其中,
本發(fā)明提出的基于橢圓構(gòu)像偏差迭代矯正的視覺(jué)測(cè)量方法可以應(yīng)用于位姿測(cè)量、單目相機(jī)標(biāo)定、立體視覺(jué)標(biāo)定等領(lǐng)域,下面分別對(duì)本發(fā)明應(yīng)用于位姿測(cè)量、單目相機(jī)標(biāo)定的具體實(shí)施方案進(jìn)行詳細(xì)說(shuō)明:
當(dāng)基于橢圓構(gòu)像偏差迭代矯正的視覺(jué)測(cè)量方法應(yīng)用于位姿測(cè)量時(shí),實(shí)現(xiàn)過(guò)程如下:
一、如圖2所示,相機(jī)11拍攝平面對(duì)象12上的圓形特征13。由于平面對(duì)象12可能不平行于成像平面,成像特征可能會(huì)是橢圓。在拍攝圖像中提取橢圓特征,獲取其中心點(diǎn)坐標(biāo)。所有橢圓中心點(diǎn)的偏心誤差初始化μi0=0,位姿初始化為r=03×3,t=[000]t。
二、對(duì)于所有的橢圓中心進(jìn)行橢圓偏心誤差進(jìn)行第k次矯正,矯正之后的橢圓中心pik=pi-μik。由矯正后的橢圓中心點(diǎn)坐標(biāo)pik及標(biāo)靶上圓形標(biāo)志中心點(diǎn)坐標(biāo)qi可以計(jì)算出第k次矯正后的位姿rk、tk。
三、對(duì)于如下三項(xiàng)迭代終止條件:一、迭代次數(shù)達(dá)到設(shè)定上限值,在本實(shí)施例中設(shè)定上限值為10;二、所有標(biāo)志點(diǎn)的橢圓偏心誤差μik小于設(shè)定閾值,在本實(shí)施例中設(shè)定閾值為10-5;三、兩次迭代所得位姿差值小于設(shè)定閾值,本實(shí)施例中設(shè)定閾值為10-5;當(dāng)滿足上述迭代終止條件的任一項(xiàng)時(shí)迭代均終止,得到最終估計(jì)位姿rk、tk,否則返回第二步,由rk、tk計(jì)算出偏心誤差μi,k+1并進(jìn)行第k+1次迭代矯正。
下表為橢圓構(gòu)像偏差矯正前后的位姿估計(jì)結(jié)果,經(jīng)過(guò)多次橢圓構(gòu)像偏差的迭代矯正,估計(jì)的位姿結(jié)果相對(duì)于矯正前有了很大的提高。
當(dāng)基于橢圓構(gòu)像偏差迭代矯正的視覺(jué)測(cè)量方法應(yīng)用于相機(jī)標(biāo)定時(shí),實(shí)現(xiàn)過(guò)程如圖3所示:
一、如圖4所示,相機(jī)21拍攝不同位置姿態(tài)的平面對(duì)象22上的圓形特征23,其中部分圖像如圖5a-圖5d所示,這組圖片是相機(jī)標(biāo)定過(guò)程中拍攝的圖片,圖5a-圖5d是4次在不同角度下拍攝到的圖片。在拍攝圖像中提取橢圓特征,獲取其中心坐標(biāo)pji,i其中代表一副圖像中橢圓中心點(diǎn)的編號(hào),j代表所拍攝圖片的編號(hào)。
二、對(duì)第一步中拍攝到的圖像進(jìn)行相機(jī)標(biāo)定,標(biāo)定得到相機(jī)畸變參數(shù)k1、k2、p1、p2。根據(jù)標(biāo)定出的相機(jī)畸變參數(shù)進(jìn)行去除畸變的處理,獲得畸變矯正后的橢圓中心點(diǎn)坐標(biāo)dji。所有橢圓中心點(diǎn)的偏心誤差初始化jμi0=0,位姿初始化為rj=03×3,tj=[000]t。
三、對(duì)于每幅圖像中所有的橢圓中心進(jìn)行橢圓偏心誤差的第k次矯正,矯正之后的橢圓中心jdik=dji-jμik。將相機(jī)畸變參數(shù)固定為0,由矯正后的橢圓中心點(diǎn)坐標(biāo)jdik及標(biāo)靶上圓形標(biāo)志中心點(diǎn)坐標(biāo)qi可以標(biāo)定出第k次矯正后的相機(jī)內(nèi)參和對(duì)應(yīng)第j幅圖像的外參jrk、jtk。
四、對(duì)于如下三項(xiàng)迭代終止條件:對(duì)于如下三項(xiàng)迭代終止條件:一、迭代次數(shù)達(dá)到設(shè)定上限值,在本實(shí)施例中設(shè)定上限值為10;二、所有標(biāo)志點(diǎn)的橢圓偏心誤差jμik小于設(shè)定閾值,在本實(shí)施例中設(shè)定閾值為10-5;三、對(duì)于每幅圖像,兩次迭代所得位姿差值小于設(shè)定閾值,本實(shí)施例中設(shè)定閾值為10-5;當(dāng)滿足上述迭代終止條件的任一項(xiàng)時(shí)迭代均終止,得到最終估計(jì)內(nèi)參與外參jrk、jtk,否則回到第三步進(jìn)行第k+1次迭代標(biāo)定。
五、基于第四步得到的相機(jī)內(nèi)外參數(shù)對(duì)每一幅拍攝得到的圖像進(jìn)行橢圓構(gòu)像偏差矯正,以矯正后的橢圓中心點(diǎn)坐標(biāo)jdik及標(biāo)靶上圓形標(biāo)志中心點(diǎn)坐標(biāo)qi標(biāo)定出相對(duì)于第二步更為精確的相機(jī)畸變參數(shù)k1、k2、p1、p2。
下表中三欄分別表示設(shè)置的相機(jī)內(nèi)參數(shù)、未經(jīng)過(guò)橢圓構(gòu)像偏差矯正的標(biāo)定結(jié)果和經(jīng)過(guò)橢圓構(gòu)像偏差矯正的標(biāo)定結(jié)果??梢钥闯鼋?jīng)過(guò)橢圓構(gòu)像偏差矯正后相機(jī)的標(biāo)定精度得到了很大的提高。
本發(fā)明提出的技術(shù)方案具有如下優(yōu)點(diǎn):一、利用迭代實(shí)現(xiàn)了基于偏心差矯正的位姿估計(jì),可以與單目相機(jī)標(biāo)定、雙目相機(jī)標(biāo)定、位姿測(cè)量等應(yīng)用結(jié)合,實(shí)現(xiàn)高精度的視覺(jué)測(cè)量;二、可以計(jì)算任意位置的圓形標(biāo)志的偏心誤差,因此對(duì)于具體測(cè)量應(yīng)用中圓形標(biāo)志的位置沒(méi)有限制;三、通過(guò)調(diào)整迭代終止條件可以獲得不同精度和速度要求的位姿估計(jì)結(jié)果。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過(guò)計(jì)算機(jī)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤(pán)、只讀存儲(chǔ)記憶體(read-onlymemory,rom)或隨機(jī)存儲(chǔ)記憶體(randomaccessmemory,ram)等。
以上結(jié)合具體實(shí)施例描述了本發(fā)明的技術(shù)原理。這些描述只是為了解釋本發(fā)明的原理,而不能以任何方式解釋為對(duì)本發(fā)明保護(hù)范圍的限制。基于此處的解釋?zhuān)绢I(lǐng)域的技術(shù)人員不需要付出創(chuàng)造性的勞動(dòng)即可聯(lián)想到本發(fā)明的其它具體實(shí)施方式,這些方式都將落入本發(fā)明的保護(hù)范圍之內(nèi)。