專利名稱:一種單攝像機(jī)虛擬鼠標(biāo)系統(tǒng)的校準(zhǔn)方法
技術(shù)領(lǐng)域:
本發(fā)明屬于機(jī)器視覺技術(shù)領(lǐng)域,涉及一種單攝像機(jī)虛擬鼠標(biāo)系統(tǒng)的校準(zhǔn)方法。
背景技術(shù):
隨著人機(jī)交互技術(shù)的不斷發(fā)展,有線和無線的實(shí)際有形鼠標(biāo)暴露出越來越多的缺點(diǎn),極大的限制了交互的速度、距離和自然性。近年來,采用攝像機(jī)拍攝空間控制點(diǎn)的圖像,通過跟蹤、分析控制點(diǎn)的圖像坐標(biāo),并與計(jì)算機(jī)屏幕坐標(biāo)相對(duì)應(yīng),作為用戶輸入提供給計(jì)算機(jī)系統(tǒng),起到真實(shí)鼠標(biāo)的功能,本發(fā)明將這類基于機(jī)器視覺原理的鼠標(biāo)稱為虛擬鼠標(biāo)。虛擬鼠標(biāo)的特點(diǎn)是無輻射、非接觸,大大降低了人機(jī)交互的認(rèn)知負(fù)荷,有效地實(shí)現(xiàn)了交互的快速性和自然性,廣泛應(yīng)用于殘疾人士服務(wù)、多媒體教學(xué)、娛樂、輻射控制區(qū)應(yīng)用及公共設(shè)施的傳染病預(yù)防與控制等領(lǐng)域。
現(xiàn)有的虛擬鼠標(biāo)系統(tǒng)主要有兩類。一類是基于激光筆的虛擬鼠標(biāo)。劉芳等在文章“基于激光筆的遠(yuǎn)程人機(jī)交互技術(shù)”(中國(guó)圖像圖形學(xué)報(bào),Vol.8(A),No.11,pp.1356~1360,2003)中陳述了這類虛擬鼠標(biāo)系統(tǒng)。此類虛擬鼠標(biāo)系統(tǒng)采用激光筆向投影屏幕投射激光光點(diǎn),安裝在投影屏幕的攝像機(jī)拍攝激光光點(diǎn)圖像,通過跟蹤、分析激光光點(diǎn)的圖像坐標(biāo),并與計(jì)算機(jī)屏幕坐標(biāo)對(duì)應(yīng),實(shí)現(xiàn)對(duì)計(jì)算機(jī)的控制。該虛擬鼠標(biāo)系統(tǒng)是一個(gè)二維投影屏幕平面對(duì)二維圖像平面的映射問題,采用了求解二維平面的單一性映射矩陣的方法進(jìn)行校準(zhǔn)。該虛擬鼠標(biāo)依賴于激光筆的投射,不能實(shí)現(xiàn)三維空間控制點(diǎn)對(duì)計(jì)算機(jī)的控制,校準(zhǔn)方法中也沒有考慮攝像機(jī)鏡頭畸變和投影屏幕畸變等因素的影響。另一類是基于雙目立體視覺系統(tǒng)的虛擬鼠標(biāo)。Dmitry O.Gorodnichy等在文章“Nouse-鼻子用作鼠標(biāo)-用于無手游戲和交互的感知視覺技術(shù)”(Nouse“use your nose as a mouse”perceptualvision technology for hands-free games and interfaces),Elsevier Science國(guó)際期刊《圖像與視覺計(jì)算》,第22卷,第12期,第931~942頁(yè),2004年(Image and VisionComputing,Vol.22,pp.931~942,2004)中陳述了這類虛擬鼠標(biāo)系統(tǒng)。此類虛擬鼠標(biāo)系統(tǒng)基于計(jì)算機(jī)極線幾何和雙目立體視覺技術(shù)實(shí)現(xiàn)鼻尖的三維空間定位,并利用這些信息實(shí)現(xiàn)計(jì)算機(jī)的簡(jiǎn)單控制。該類虛擬鼠標(biāo)系統(tǒng)的成本較高、視場(chǎng)范圍小,系統(tǒng)的校準(zhǔn)過程復(fù)雜,計(jì)算量大,實(shí)時(shí)性較差。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種單攝像機(jī)虛擬鼠標(biāo)系統(tǒng)的校準(zhǔn)方法。本發(fā)明所說的單攝像機(jī)虛擬鼠標(biāo)系統(tǒng)由一個(gè)攝像機(jī)、包含平面顯示屏幕的計(jì)算機(jī)系統(tǒng)和空間控制點(diǎn)構(gòu)成。所說的空間控制點(diǎn)為能被攝像機(jī)成像的可視特征點(diǎn),如激光點(diǎn)、人體特征等。根據(jù)單攝像機(jī)虛擬鼠標(biāo)系統(tǒng)的數(shù)學(xué)模型,通過三維空間控制點(diǎn)的投影圖像坐標(biāo),將空間控制點(diǎn)映射為計(jì)算機(jī)的屏幕坐標(biāo),作為用戶輸入提供給計(jì)算機(jī)系統(tǒng),達(dá)到控制計(jì)算機(jī)的目的。以降低成本、增大空間控制點(diǎn)的有效視場(chǎng)范圍、提高系統(tǒng)實(shí)時(shí)性、簡(jiǎn)化系統(tǒng)校準(zhǔn)過程、提高校準(zhǔn)精度,改善其工程化應(yīng)用的可操作性和便捷性。
本發(fā)明的技術(shù)解決方案是一種單攝像機(jī)虛擬鼠標(biāo)系統(tǒng)的校準(zhǔn)方法,其特征在于,校準(zhǔn)包括攝像機(jī)內(nèi)部參數(shù)校準(zhǔn)階段、屏幕坐標(biāo)系到攝像機(jī)坐標(biāo)系的變換和屏幕平面校準(zhǔn)階段。校準(zhǔn)的具體步驟如下1、攝像機(jī)內(nèi)部參數(shù)校準(zhǔn)階段1.1、設(shè)定實(shí)體靶標(biāo)1。靶標(biāo)為一個(gè)二維平面,靶標(biāo)上有預(yù)先設(shè)置的特征點(diǎn),在靶標(biāo)平面上布置黑白相間的棋盤格,黑白方塊的邊長(zhǎng)為10~50mm,其邊長(zhǎng)精度為0.01mm~0.1mm,黑方塊與白方塊公有的頂點(diǎn)稱為格點(diǎn)。選取靶面上格點(diǎn)為特征點(diǎn),特征點(diǎn)數(shù)量為16~400個(gè);1.2、設(shè)定攝像機(jī)4的觀測(cè)位置,調(diào)整攝像機(jī)的鏡頭焦距和光圈。攝像機(jī)觀測(cè)位置位于計(jì)算機(jī)屏幕上方,定義為觀察用戶控制點(diǎn)的最佳位置,根據(jù)要觀測(cè)的控制點(diǎn)三維空間范圍,調(diào)整好攝像機(jī)的鏡頭焦距,根據(jù)光照環(huán)境,調(diào)整好光圈大小。將攝像機(jī)固定在觀測(cè)位置,并固定好攝像機(jī)鏡頭的焦距和光圈;1.3、校準(zhǔn)攝像機(jī)4的內(nèi)部參數(shù)。具體步驟如下第一步,在攝像機(jī)的視場(chǎng)范圍內(nèi),自由、非平行地移動(dòng)實(shí)體靶標(biāo)1至少3個(gè)位置,每移動(dòng)一個(gè)位置,拍攝一幅圖像,稱為攝像機(jī)校準(zhǔn)圖像,靶標(biāo)上所有的特征點(diǎn)應(yīng)包含在拍攝圖像內(nèi);第二步,提取所有攝像機(jī)校準(zhǔn)圖像的特征點(diǎn)的圖像坐標(biāo),并與特征點(diǎn)的世界坐標(biāo)對(duì)應(yīng);第三步,利用第二步提取的所有特征點(diǎn)的圖像坐標(biāo)及對(duì)應(yīng)的世界坐標(biāo)來校準(zhǔn)攝像機(jī)內(nèi)部參數(shù),包括攝像機(jī)有效焦距、主點(diǎn)以及畸變系數(shù);2、屏幕坐標(biāo)系到攝像機(jī)坐標(biāo)系的變換和屏幕平面校準(zhǔn)階段2.1、確定使用計(jì)算機(jī)系統(tǒng)的屏幕3的可視物理尺寸和顯示分辨率。計(jì)算機(jī)的顯示分辨率為sl×sh像素,屏幕可視物理尺寸為ls×hs英寸,這些參數(shù)對(duì)于實(shí)際使用的計(jì)算機(jī)系統(tǒng)是已知的,可以從相關(guān)手冊(cè)和操作系統(tǒng)查詢獲得;2.2、設(shè)定虛擬靶標(biāo)2。靶標(biāo)的形狀與實(shí)體靶標(biāo)1相同,特征點(diǎn)數(shù)量也相同,由計(jì)算機(jī)生成,直接顯示在屏幕3上。虛擬靶標(biāo)2方塊的邊長(zhǎng)lp為30~150像素,實(shí)際大小的長(zhǎng)寬尺寸為25.4*lp(lssl×lhsh)mm;]]>2.3、放置實(shí)體靶標(biāo)1,調(diào)整攝像機(jī)4、實(shí)體靶標(biāo)1和虛擬靶標(biāo)2的位置關(guān)系。實(shí)體靶標(biāo)1在屏幕3前方,靶標(biāo)平面與屏幕大約成90°~150°的角度,保證攝像機(jī)在觀測(cè)位置能夠觀測(cè)到實(shí)體靶標(biāo)1上所有特征點(diǎn)。保持實(shí)體靶標(biāo)1不動(dòng),移動(dòng)攝像機(jī)4,保證攝像機(jī)能夠同時(shí)觀測(cè)到實(shí)體靶標(biāo)1和虛擬靶標(biāo)2上的所有特征點(diǎn),此時(shí)攝像機(jī)所在位置稱為中介位置。固定實(shí)體靶標(biāo)1,在校準(zhǔn)過程中,保持實(shí)體靶標(biāo)1的位置和虛擬靶標(biāo)2的顯示位置及大小不發(fā)生變化;2.4、獲得屏幕坐標(biāo)系到實(shí)體靶標(biāo)坐標(biāo)系的變換。具體步驟為;第一步,將攝像機(jī)4固定在中介位置,此時(shí)攝像機(jī)坐標(biāo)系稱為中介坐標(biāo)系。拍攝一幅包含實(shí)體靶標(biāo)1和虛擬靶標(biāo)2所有特征點(diǎn)在內(nèi)的圖像,稱為雙靶標(biāo)校準(zhǔn)圖像;第二步,提取雙靶標(biāo)校準(zhǔn)圖像內(nèi)屬于實(shí)體靶標(biāo)1的所有特征點(diǎn)的圖像坐標(biāo),根據(jù)攝像機(jī)模型和內(nèi)部參數(shù),計(jì)算特征點(diǎn)的投影坐標(biāo)。利用特征點(diǎn)的投影坐標(biāo)和對(duì)應(yīng)的實(shí)體靶標(biāo)坐標(biāo),計(jì)算實(shí)體靶標(biāo)坐標(biāo)系到中介坐標(biāo)系的變換;第三步,提取雙靶標(biāo)校準(zhǔn)圖像內(nèi)屬于虛擬靶標(biāo)2的所有特征點(diǎn)的圖像坐標(biāo),根據(jù)攝像機(jī)模型和內(nèi)部參數(shù),計(jì)算特征點(diǎn)的投影坐標(biāo)。利用特征點(diǎn)的投影坐標(biāo)和對(duì)應(yīng)的屏幕坐標(biāo),計(jì)算屏幕坐標(biāo)系到中介坐標(biāo)系的變換;第四步,由第二步得到的實(shí)體靶標(biāo)坐標(biāo)系到中介坐標(biāo)系的變換和第三步得到的屏幕坐標(biāo)系到中介坐標(biāo)系變換,計(jì)算屏幕坐標(biāo)系到實(shí)體靶標(biāo)坐標(biāo)系的變換;2.5、獲得屏幕坐標(biāo)系到攝像機(jī)坐標(biāo)系的變換。具體步驟為第一步,將攝像機(jī)4固定在觀測(cè)位置,拍攝一幅包含實(shí)體靶標(biāo)1所有特征點(diǎn)在內(nèi)的圖像,稱為單靶標(biāo)校準(zhǔn)圖像;第二步,提取單靶標(biāo)校準(zhǔn)圖像內(nèi)屬于實(shí)體靶標(biāo)1的所有特征點(diǎn)的圖像坐標(biāo),根據(jù)攝像機(jī)模型和內(nèi)部參數(shù),計(jì)算特征點(diǎn)的投影坐標(biāo)。利用特征點(diǎn)的投影坐標(biāo)和對(duì)應(yīng)的實(shí)體靶標(biāo)坐標(biāo),計(jì)算實(shí)體靶標(biāo)坐標(biāo)系到攝像機(jī)坐標(biāo)系的變換;第三步,由第二步得到的實(shí)體靶標(biāo)坐標(biāo)系到攝像機(jī)坐標(biāo)系的變換和步驟2.4得到的屏幕坐標(biāo)系到實(shí)體靶標(biāo)坐標(biāo)系的變換,計(jì)算屏幕坐標(biāo)系到攝像機(jī)坐標(biāo)系的變換;2.6、獲得屏幕平面在攝像機(jī)坐標(biāo)系中的方程。利用虛擬靶標(biāo)2上特征點(diǎn)的屏幕坐標(biāo),根據(jù)由步驟2.5得到的屏幕坐標(biāo)系到攝像機(jī)坐標(biāo)系的變換,計(jì)算虛擬靶標(biāo)2上特征點(diǎn)的攝像機(jī)坐標(biāo),利用特征點(diǎn)的攝像機(jī)坐標(biāo)擬合平面得到屏幕平面在攝像機(jī)坐標(biāo)系中的方程;
2.7、將校準(zhǔn)的攝像機(jī)內(nèi)部參數(shù)、屏幕坐標(biāo)系到攝像機(jī)坐標(biāo)系的變換參數(shù)和屏幕平面在攝像機(jī)坐標(biāo)系中的方程系數(shù)保存到系統(tǒng)參數(shù)文件中,以備虛擬鼠標(biāo)系統(tǒng)使用時(shí)調(diào)用。
本發(fā)明的優(yōu)點(diǎn)是本發(fā)明提出了一種基于二維實(shí)體靶標(biāo)和二維虛擬靶標(biāo)的單攝像機(jī)虛擬鼠標(biāo)系統(tǒng)參數(shù)校準(zhǔn)方法。該方法以實(shí)體靶標(biāo)坐標(biāo)系為中介,獲取了非視場(chǎng)范圍內(nèi)的屏幕平面在攝像機(jī)坐標(biāo)系下的方程,同時(shí)通過投影視線與空間屏幕平面相交建立了單攝像機(jī)虛擬鼠標(biāo)系統(tǒng)中三維空間控制點(diǎn)的投影點(diǎn)的圖像坐標(biāo)與屏幕坐標(biāo)的一一映射關(guān)系。和現(xiàn)有基于視覺的虛擬鼠標(biāo)系統(tǒng)的校準(zhǔn)方法相比,本方法僅采用單個(gè)攝像機(jī)和二維平面靶標(biāo),無需其他輔助校準(zhǔn)設(shè)備,操作簡(jiǎn)單,校準(zhǔn)效率高,適用于單攝像機(jī)虛擬鼠標(biāo)系統(tǒng)的現(xiàn)場(chǎng)校準(zhǔn)。由于采用單攝像機(jī),增大了空間控制點(diǎn)的有效視場(chǎng)范圍,只需要一幅圖像數(shù)據(jù),且控制點(diǎn)屏幕坐標(biāo)估計(jì)的算法簡(jiǎn)單,計(jì)算量小,因此大大地提高了單攝像機(jī)虛擬鼠標(biāo)系統(tǒng)的實(shí)時(shí)性,改善了其工程化應(yīng)用的可操作性和便捷性。
圖1是二維平面實(shí)體靶標(biāo)示意圖。圖1中,1是實(shí)體靶標(biāo)體。
圖2是虛擬鼠標(biāo)系統(tǒng)的數(shù)學(xué)模型示意圖。
圖3是計(jì)算攝像機(jī)坐標(biāo)系到屏幕坐標(biāo)系的變換和屏幕平面校準(zhǔn)示意圖。圖3中,2是虛擬靶標(biāo)體,3是計(jì)算機(jī)屏幕,簡(jiǎn)稱屏幕,4是攝像機(jī)。
具體實(shí)施例方式
下面對(duì)本發(fā)明方法做進(jìn)一步詳細(xì)說明。本發(fā)明使用二維平面靶標(biāo),對(duì)單攝像機(jī)虛擬鼠標(biāo)系統(tǒng)的模型參數(shù)進(jìn)行了校準(zhǔn)。
虛擬鼠標(biāo)系統(tǒng)數(shù)學(xué)模型如圖2所示,ow-xwywzw為三維世界坐標(biāo)系,oc-xcyczc為三維攝像機(jī)坐標(biāo)系,os-xsyszs為三維屏幕坐標(biāo)系,其中zs=0。ou-xuyu為二維理想圖像坐標(biāo)系,on-xnyn為二維投影坐標(biāo)系。πu為理想圖像平面,πn為投影平面,πs為屏幕平面,oc為攝像機(jī)的投影中心,op為主點(diǎn),oc到πn的距離為1。定義ocxc//ouxu//onxn,ocyc//ouyu//onyn,oczc⊥πu和πu//πn。Q為空間任意控制點(diǎn),直線 分別與平面πn、πu和πs相交于點(diǎn)qn、qu和qs。
設(shè)點(diǎn)Q的三維世界坐標(biāo)為Xw=[xwywzw]T,三維攝像機(jī)坐標(biāo)為Xc=[xcyczc]T,則有Xc=RcwXw+Tcw---[1]]]>
其中Rcw和Tcw為ow-xwywzw到oc-xcyczc的變換,分別表示3×3的旋轉(zhuǎn)矩陣和3×1的平移矢量。
設(shè)點(diǎn)qn的投影坐標(biāo)為Xn=[xnyn]T,則攝像機(jī)的理想透視投影變換為xn=xc/zcyn=yc/zc---[2]]]>設(shè)點(diǎn)qu的理想圖像坐標(biāo)為Xu=[xuyu]T。則投影坐標(biāo)到理想圖像坐標(biāo)的變換為xu=fxxn+u0yu=fyyn+v0---[3]]]>其中fx和fy分別為攝像機(jī)在x、y方向上的有效焦距,單位為像素,(u0,v0)為攝像機(jī)的主點(diǎn)坐標(biāo),單位為像素。考慮攝像機(jī)鏡頭的一次徑向畸變,設(shè)點(diǎn)qu對(duì)應(yīng)的實(shí)際圖像坐標(biāo)為Xd=[xdyd]T,則理想圖像坐標(biāo)到實(shí)際圖像坐標(biāo)的變換,即攝像機(jī)鏡頭的畸變模型為xd=xu+k1(xu2+xu2)xuyd=yu+k1(xu2+xu2)yu---[4]]]>其中k1為一次徑向畸變系數(shù)。
公式[1]~[4]表示了空間點(diǎn)到實(shí)際圖像坐標(biāo)的投影模型,空間任意點(diǎn)Q可以確定惟一圖像投影點(diǎn)qu。
由攝像投影中心oc和空間點(diǎn)Q對(duì)應(yīng)的投影點(diǎn)qn確定的直線稱為投影視線。如果已知攝像機(jī)內(nèi)部參數(shù),根據(jù)公式[3]和[4],由實(shí)際圖像坐標(biāo)Xd可以求得空間點(diǎn)Q經(jīng)透視投影后的投影坐標(biāo)Xn。由此可知,qn的三維攝像機(jī)坐標(biāo)為(xn,yn,1),oc的三維攝像機(jī)坐標(biāo)為(0,0,0),因此投影視線 在oc-xcyczc中的方程為xxn=yyn=z---[5]]]>設(shè)點(diǎn)qs的攝像機(jī)坐標(biāo)為Xcs=xcsycszcsT,]]>πs在oc-xcyczc中的方程為Ax+By+Cz+D=0[6]則通過求解投影視線 與πn的交點(diǎn)得到Xcs。設(shè)qs在os-xsyszs中的坐標(biāo)為Xs=[xsyszs]T,則oc-xcyczc到os-xsyszs的變換為Xs=(Rcs)-1Xcs-(Rcs)-1Tcs---[7]]]>其中Rcs和Tcs為os-xsyszs到oc-xcyczc的變換,分別表示3×3的旋轉(zhuǎn)矩陣和3×1的平移矢量。
根據(jù)公式[7],得到空間點(diǎn)Q對(duì)應(yīng)的位于屏幕平面點(diǎn)qs的坐標(biāo)Xs,滿足條件zs=0。其中二維坐標(biāo)(xs,ys)直接作為用戶輸入提供給計(jì)算機(jī)系統(tǒng),達(dá)到控制計(jì)算機(jī)的目的。
綜述所述,虛擬鼠標(biāo)系統(tǒng)包括的模型參數(shù)為攝像機(jī)有效焦距fx和fy,主點(diǎn)坐標(biāo)(u0,v0),鏡頭畸變系數(shù)k1,πs在oc-xcyczc中的方程系數(shù)A、B、C和D,os-xsyszs到oc-xcyczc的變換Rcs和Tcs。
根據(jù)單攝像機(jī)虛擬鼠標(biāo)系統(tǒng)的數(shù)學(xué)模型,虛擬鼠標(biāo)系統(tǒng)的校準(zhǔn)分為兩步一是攝像機(jī)內(nèi)部參數(shù)校準(zhǔn),二是屏幕坐標(biāo)系到攝像機(jī)坐標(biāo)系的變換和屏幕平面校準(zhǔn)。
本發(fā)明攝像機(jī)內(nèi)部參數(shù)校準(zhǔn)的具體步驟如下1、設(shè)定實(shí)體靶標(biāo)1。靶標(biāo)為一個(gè)二維平面,靶標(biāo)上有預(yù)先設(shè)置的特征點(diǎn),在靶標(biāo)平面上布置黑白相間的棋盤格,黑白方塊的邊長(zhǎng)為10~50mm,其邊長(zhǎng)精度為0.01mm~0.1mm,黑方塊與白方塊公有的頂點(diǎn)稱為格點(diǎn)。選取靶面上格點(diǎn)為特征點(diǎn),特征點(diǎn)數(shù)量為16~400個(gè)。
2、設(shè)定攝像機(jī)4的觀測(cè)位置,調(diào)整攝像機(jī)4鏡頭焦距和光圈。攝像機(jī)的觀測(cè)位置位于計(jì)算機(jī)屏幕上方,定義為觀察用戶控制點(diǎn)的最佳位置,根據(jù)要觀測(cè)的控制點(diǎn)三維空間范圍,調(diào)整好攝像機(jī)的鏡頭焦距,根據(jù)光照環(huán)境,調(diào)整好光圈大小。將攝像機(jī)固定在觀測(cè)位置,并固定好攝像機(jī)鏡頭的焦距和光圈。
3、校準(zhǔn)攝像機(jī)4內(nèi)部參數(shù)。具體步驟如下第一步,在攝像機(jī)的視場(chǎng)范圍內(nèi),自由、非平行地移動(dòng)實(shí)體靶標(biāo)1至少3個(gè)位置,每移動(dòng)一個(gè)位置,拍攝一幅圖像,稱為攝像機(jī)校準(zhǔn)圖像,實(shí)體靶標(biāo)1的所有特征點(diǎn)應(yīng)包含在拍攝圖像內(nèi)。
第二步,提取所有攝像機(jī)校準(zhǔn)圖像的特征點(diǎn)的圖像坐標(biāo)。特征點(diǎn)圖像坐標(biāo)自動(dòng)提取算法參見周富強(qiáng)著《雙目立體視覺檢測(cè)的關(guān)鍵技術(shù)研究》,北京航空航天大學(xué)博士后研究工作報(bào)告,2002。
在實(shí)體靶標(biāo)平面上建立世界坐標(biāo)系,用ow-xwywzw表示,原點(diǎn)在左上角,xw、yw軸分別與靶標(biāo)方塊平行,xw軸水平向右,yw軸豎直向下,zw軸由右手法則確定。將特征點(diǎn)的圖像坐標(biāo)與特征點(diǎn)的世界坐標(biāo)對(duì)應(yīng)。
第三步,利用第二步提取的所有特征點(diǎn)的圖像坐標(biāo)及對(duì)應(yīng)的世界坐標(biāo)來校準(zhǔn)攝像機(jī)內(nèi)部參數(shù),包括攝像機(jī)有效焦距、主點(diǎn)以及畸變系數(shù)。
根據(jù)公式[1]~[4],利用特征點(diǎn)的世界坐標(biāo)Xwi,得到特征點(diǎn)的計(jì)算圖像坐標(biāo)X’di=[x’diy’di]T,特征點(diǎn)的實(shí)際圖像坐標(biāo)為Xdi,則有
f(fx,fy,u0,v0,k1,RcwTcw)=Σi=1Nd2(X′di,Xdi)---[8]]]>其中N為特征點(diǎn)數(shù)量,d(X’di,Xdi)表示計(jì)算投影點(diǎn)到實(shí)際投影點(diǎn)的距離。
根據(jù)公式[8],采用Levenberg-Marquardt非線性優(yōu)化方法可以估算出全部攝像機(jī)內(nèi)部參數(shù),包括攝像機(jī)焦距fx和fy,主點(diǎn)坐標(biāo)(u0,v0),鏡頭畸變系數(shù)k1以及攝像機(jī)外部參數(shù)Rcw和Tcw。攝像機(jī)參數(shù)的初始值估計(jì)參見周富強(qiáng)著《雙目立體視覺檢測(cè)的關(guān)鍵技術(shù)研究》,北京航空航天大學(xué)博士后研究工作報(bào)告,2002。
若攝像機(jī)內(nèi)部參數(shù)已知,則根據(jù)公式[8],采用Levenberg-Marquardt非線性優(yōu)化方法可以直接估計(jì)攝像機(jī)的外部參數(shù)Rcw和Tcw。Levenberg-Marquardt算法參見《最優(yōu)化理論與方法》,(袁亞湘、孫文瑜著,科學(xué)出版社,1999年)。
校準(zhǔn)好攝像機(jī)內(nèi)部參數(shù)后,進(jìn)行攝像機(jī)坐標(biāo)系到屏幕坐標(biāo)系的變換和屏幕平面校準(zhǔn),具體步驟如下4、確定使用計(jì)算機(jī)系統(tǒng)的屏幕3的可視物理尺寸和顯示分辨率。計(jì)算機(jī)的顯示分辨率為sl×sh像素,屏幕可視物理尺寸為ls×hs英寸,這些參數(shù)對(duì)于實(shí)際使用的計(jì)算機(jī)系統(tǒng)是已知的,可以從相關(guān)手冊(cè)和操作系統(tǒng)查詢獲得。
5、設(shè)定虛擬靶標(biāo)2。靶標(biāo)的形狀與實(shí)體靶標(biāo)1相同,特征點(diǎn)數(shù)量也相同,由計(jì)算機(jī)生成,直接顯示在屏幕3上。虛擬靶標(biāo)2方塊的邊長(zhǎng)lp為30~150像素,實(shí)際大小的長(zhǎng)寬尺寸為25.4*lp(lssl×lhsh)mm.]]>6、放置實(shí)體靶標(biāo)1,調(diào)整攝像機(jī)4、實(shí)體靶標(biāo)1和虛擬靶標(biāo)2的位置關(guān)系。實(shí)體靶標(biāo)1在屏幕3前方,靶標(biāo)平面與屏幕大約成90°~150°的角度,保證攝像機(jī)在觀測(cè)位置能夠觀測(cè)到實(shí)體靶標(biāo)1上所有特征點(diǎn)。保持實(shí)體靶標(biāo)1不動(dòng),移動(dòng)攝像機(jī)4,保證攝像機(jī)能夠同時(shí)觀測(cè)到實(shí)體靶標(biāo)1和虛擬靶標(biāo)2上的所有特征點(diǎn),此時(shí)攝像機(jī)所在位置稱為中介位置。固定實(shí)體靶標(biāo)1,在校準(zhǔn)過程中,保持實(shí)體靶標(biāo)1的位置和虛擬靶標(biāo)2的顯示位置及大小不發(fā)生變化。
7、獲得屏幕坐標(biāo)系到實(shí)體靶標(biāo)坐標(biāo)系的變換。具體步驟為第一步,如圖3所示,將攝像機(jī)4固定在中介位置,此時(shí)攝像機(jī)坐標(biāo)系稱為中介坐標(biāo)系,用oc2-xc2yc2zc2表示。拍攝一幅包含實(shí)體靶標(biāo)1和虛擬靶標(biāo)2所有特征點(diǎn)在內(nèi)的圖像,稱為雙靶標(biāo)校準(zhǔn)圖像。
第二步,提取雙靶標(biāo)校準(zhǔn)圖像內(nèi)屬于實(shí)體靶標(biāo)1的所有特征點(diǎn)的圖像坐標(biāo)。特征點(diǎn)圖像坐標(biāo)自動(dòng)提取算法參見周富強(qiáng)著《雙目立體視覺檢測(cè)的關(guān)鍵技術(shù)研究》,北京航空航天大學(xué)博士后研究工作報(bào)告,2002。
根據(jù)公式[3]和[4],利用實(shí)體靶標(biāo)上的特征點(diǎn)的圖像坐標(biāo)計(jì)算其對(duì)應(yīng)的投影坐標(biāo)。
在實(shí)體靶標(biāo)平面上建立實(shí)體靶標(biāo)坐標(biāo)系,用ot-xtytzt表示,原點(diǎn)在左上角,xt、yt軸分別與靶標(biāo)方塊平行,xt軸水平向右,yt軸豎直向下,zt軸由右手法則確定,此處的實(shí)體靶標(biāo)坐標(biāo)系相當(dāng)于世界坐標(biāo)系。根據(jù)公式[1],ot-xtytzt到oc2-xc2yc2zc2的變換為Xc2=Rc2tXt+Tc2t---[9]]]>其中Rc2t和Tc2t分別為旋轉(zhuǎn)矩陣和平移矢量,Xc2表示特征點(diǎn)在中介坐標(biāo)系的坐標(biāo)矢量,Xt表示特征點(diǎn)的實(shí)體靶標(biāo)坐標(biāo)矢量。在已知攝像機(jī)內(nèi)部參數(shù)情況下,根據(jù)公式[8]表示的優(yōu)化目標(biāo)函數(shù),利用二維平面靶標(biāo)上特征點(diǎn)的實(shí)體靶標(biāo)坐標(biāo)和對(duì)應(yīng)圖像坐標(biāo),采用非線性優(yōu)化得到Rc2t和Tc2t。
第三步,提取雙靶標(biāo)校準(zhǔn)圖像內(nèi)屬于虛擬靶標(biāo)2的所有特征點(diǎn)的圖像坐標(biāo),根據(jù)攝像機(jī)模型和內(nèi)部參數(shù),計(jì)算特征點(diǎn)的投影坐標(biāo)。圖像坐標(biāo)提取和對(duì)應(yīng)投影點(diǎn)計(jì)算方法與第二步相同。
在屏幕平面上建立屏幕坐標(biāo)系,用os-xsyszs表示,原點(diǎn)在左上角,xs軸水平向右,ys軸豎直向下,zs軸由右手法則確定,此處的屏幕坐標(biāo)系相當(dāng)于世界坐標(biāo)系。根據(jù)公式[1],os-xsyszs到oc2-xc2yc2zc2的變換為Xc2=Rc2sXs+Tc2s---[10]]]>其中Rc2s和Tc2s分別為旋轉(zhuǎn)矩陣和平移矢量,Xs表示特征點(diǎn)的屏幕坐標(biāo)矢量。在已知攝像機(jī)內(nèi)部參數(shù)情況下,根據(jù)公式[8]表示的優(yōu)化目標(biāo)函數(shù),利用虛擬靶標(biāo)上特征點(diǎn)的屏幕坐標(biāo)和對(duì)應(yīng)圖像坐標(biāo),采用非線性優(yōu)化得到Rc2s和Tc2s。
第四步,由第二步得到的ot-xtytzt到oc2-xc2yc2zc2的變換和第三步得到的os-xsyszs到oc2-xc2yc2zc2的變換,根據(jù)公式[9]和[10],os-xsyszs到ot-xtytzt的變換為Xt=(Rc2t)-1(Rc2sXs+Tc2s-Tc2t)---[11]]]>8、獲得屏幕坐標(biāo)系到攝像機(jī)坐標(biāo)系的變換。具體步驟為第一步,如圖3所示,保持實(shí)體靶標(biāo)不動(dòng),將攝像機(jī)4固定在觀測(cè)位置,定義為觀察用戶控制點(diǎn)的最佳位置,此時(shí)的攝像機(jī)坐標(biāo)系為oc-xcyczc,屏幕平面不在攝像機(jī)的視場(chǎng)范圍。
拍攝一幅包含實(shí)體靶標(biāo)1所有特征點(diǎn)在內(nèi)的圖像,稱為單靶標(biāo)校準(zhǔn)圖像。
第二步,提取單靶標(biāo)校準(zhǔn)圖像內(nèi)屬于實(shí)體靶標(biāo)1的所有特征點(diǎn)的圖像坐標(biāo),根據(jù)攝像機(jī)模型和內(nèi)部參數(shù),計(jì)算特征點(diǎn)的投影坐標(biāo)。圖像坐標(biāo)提取和對(duì)應(yīng)投影點(diǎn)計(jì)算方法與步驟7的第二步相同。
根據(jù)公式[1],ot-xtytzt到oc-xcyczc的變換為Xc=RctXt+Tct---[12]]]>其中Rct和Tct分別為旋轉(zhuǎn)矩陣和平移矢量。在已知攝像機(jī)內(nèi)部參數(shù)情況下,根據(jù)公式[8]表示的優(yōu)化目標(biāo)函數(shù),利用實(shí)體靶標(biāo)上特征點(diǎn)的實(shí)體靶標(biāo)坐標(biāo)和對(duì)應(yīng)圖像坐標(biāo),采用非線性優(yōu)化得到Rct和Tct。
第三步,由第二步得到的ot-xtytzt到oc-xcyczc的變換和步驟7得到的os-xsyszs到ot-xtytzt的變換,根據(jù)公式[11]和[12],os-xsyszs到oc-xcyczc的變換為Xc=RcsXs+Tcs---[13]]]>其中Rcs=Rct(Rc2t)-1Rc2s,]]>Tcs=Rct(Rc2t)-1(Tc2s-Tc2t)+Tct.]]>Rcs和Tcs分別為旋轉(zhuǎn)矩陣和平移矢量。
9、獲得屏幕平面在攝像機(jī)坐標(biāo)系中的方程。利用虛擬靶標(biāo)2上特征點(diǎn)的屏幕坐標(biāo),由步驟8得到的os-xsyszs到oc-xcyczc的變換,根據(jù)公式[13],計(jì)算虛擬靶標(biāo)2上特征點(diǎn)的攝像機(jī)坐標(biāo),利用特征點(diǎn)的攝像機(jī)坐標(biāo)擬合平面得到屏幕平面πs在oc-xcyczc中Ax+By+Cz+D=0。
在得到Rcs和Tcs后,根據(jù)公式[7],就可以由對(duì)應(yīng)于空間控制點(diǎn)位于屏幕平面上的投影點(diǎn)的攝像機(jī)坐標(biāo)得到屏幕坐標(biāo)。
10、將校準(zhǔn)后的攝像機(jī)焦距fx和fy,主點(diǎn)坐標(biāo)(u0,v0),鏡頭畸變系數(shù)k1,πs在oc-xcyczc中的方程系數(shù)A、B、C和D,os-xsyszs到oc-xcyczc的變換Rcs和Tcs保存到系統(tǒng)參數(shù)文件中,以備虛擬鼠標(biāo)系統(tǒng)使用時(shí)調(diào)用。
實(shí)施例采用羅技QuickCam Pro 5000 USB 2.0彩色攝像機(jī)和15英寸的LCD液晶顯示器構(gòu)成單攝像機(jī)虛擬鼠標(biāo)系統(tǒng),攝像機(jī)的鏡頭為廣角鏡頭,工作距離大于10cm。攝像機(jī)的圖像傳感器為CMOS芯片,30萬像素分辨率,動(dòng)態(tài)分辨率為640×480像素,最大幀數(shù)為30幀/秒。計(jì)算機(jī)顯示屏幕的物理尺寸為15英寸的液晶顯示器,長(zhǎng)寬比為4∶3,顯示分辨率為1024×768像素,虛擬靶標(biāo)2的方塊為60×60像素,實(shí)際大小的物理尺寸為17.859×17.859mm。
采用如圖1所示的二維平面實(shí)體靶標(biāo)1,對(duì)單攝像機(jī)虛擬鼠標(biāo)系統(tǒng)的參數(shù)進(jìn)行校準(zhǔn)。實(shí)體靶標(biāo)的方塊數(shù)量為8×8,方塊的尺寸為17.859×17.859mm,采用1200dpi高分辨率的激光打印機(jī)打印得到。
校準(zhǔn)后的攝像機(jī)內(nèi)部參數(shù)如下
fx=670.976像素,fy=673.348像素u0=314.030像素,v0=249.489像素k1=-0.040攝像機(jī)校準(zhǔn)誤差定義為實(shí)際獲取特征點(diǎn)的圖像坐標(biāo)Xdi與根據(jù)模型計(jì)算的圖像坐標(biāo)X’di的距離d(X’di,Xdi),取49個(gè)點(diǎn)進(jìn)行了實(shí)驗(yàn),然后計(jì)算RMS誤差,得到的RMS距離誤差為0.345像素。
屏幕平面πs在攝像機(jī)坐標(biāo)系oc-xcyczc中的方程為x+0.8333y-6.5000z-166.6667=0os-xsyszs到oc-xcyczc的變換Rcs和Tcs如下Rcs=-0.9900.0270.1390.0460.9900.135-0.1340.140-0.981]]>Tcs=51.217129.508-0.189]]>將校準(zhǔn)好的單攝像機(jī)虛擬鼠標(biāo)系統(tǒng)應(yīng)用于鼻子人機(jī)交互系統(tǒng),以人的鼻尖作為空間控制點(diǎn),通過圖像處理分析,提取出鼻尖的圖像坐標(biāo),然后采用本發(fā)明建立的數(shù)學(xué)模型,將鼻尖的圖像坐標(biāo)映射為屏幕上的控制點(diǎn),實(shí)現(xiàn)鼻子對(duì)計(jì)算機(jī)的非接觸控制,取得較好效果。
權(quán)利要求
1.一種單攝像機(jī)虛擬鼠標(biāo)系統(tǒng)的校準(zhǔn)方法,其特征在于,校準(zhǔn)包括攝像機(jī)內(nèi)部參數(shù)校準(zhǔn)階段、屏幕坐標(biāo)系到攝像機(jī)坐標(biāo)系的變換和屏幕平面校準(zhǔn)階段。校準(zhǔn)的具體步驟如下1.1、攝像機(jī)內(nèi)部參數(shù)校準(zhǔn)階段1.1.1、設(shè)定實(shí)體靶標(biāo)[1]。靶標(biāo)為一個(gè)二維平面,靶標(biāo)上有預(yù)先設(shè)置的特征點(diǎn),在靶標(biāo)平面上布置黑白相間的棋盤格,黑白方塊的邊長(zhǎng)為10~50mm,其邊長(zhǎng)精度為0.01mm~0.1mm,黑方塊與白方塊公有的頂點(diǎn)稱為格點(diǎn)。選取靶面上格點(diǎn)為特征點(diǎn),特征點(diǎn)數(shù)量為16~400個(gè);1.1.2、設(shè)定攝像機(jī)[4]的觀測(cè)位置,調(diào)整攝像機(jī)的鏡頭焦距和光圈。攝像機(jī)觀測(cè)位置位于計(jì)算機(jī)屏幕上方,定義為觀察用戶控制點(diǎn)的最佳位置,根據(jù)要觀測(cè)的控制點(diǎn)三維空間范圍,調(diào)整好攝像機(jī)的鏡頭焦距,根據(jù)光照環(huán)境,調(diào)整好光圈大小。將攝像機(jī)固定在觀測(cè)位置,并固定好攝像機(jī)鏡頭的焦距和光圈;1.1.3、校準(zhǔn)攝像機(jī)[4]內(nèi)部參數(shù)。具體步驟如下第一步,在攝像機(jī)的視場(chǎng)范圍內(nèi),自由、非平行地移動(dòng)實(shí)體靶標(biāo)[1]至少3個(gè)位置,每移動(dòng)一個(gè)位置,拍攝一幅圖像,稱為攝像機(jī)校準(zhǔn)圖像,靶標(biāo)上所有的特征點(diǎn)應(yīng)包含在拍攝圖像內(nèi);第二步,提取所有攝像機(jī)校準(zhǔn)圖像的特征點(diǎn)的圖像坐標(biāo),并與特征點(diǎn)的世界坐標(biāo)坐標(biāo)對(duì)應(yīng);第三步,利用第二步提取的所有特征點(diǎn)的圖像坐標(biāo)及對(duì)應(yīng)的世界坐標(biāo)來校準(zhǔn)攝像機(jī)內(nèi)部參數(shù),包括攝像機(jī)有效焦距、主點(diǎn)以及畸變系數(shù);1.2、屏幕坐標(biāo)系到攝像機(jī)坐標(biāo)系的變換和屏幕平面校準(zhǔn)階段1.2.1、確定使用計(jì)算機(jī)系統(tǒng)的屏幕[3]的可視物理尺寸和顯示分辨率。計(jì)算機(jī)的顯示分辨率為sl×sh像素,屏幕可視物理尺寸為ls×hs英寸,這些參數(shù)對(duì)于實(shí)際使用的計(jì)算機(jī)系統(tǒng)是已知的,可以從相關(guān)手冊(cè)和操作系統(tǒng)查詢獲得;1.2.2、設(shè)定虛擬靶標(biāo)[2]。靶標(biāo)的形狀與實(shí)體靶標(biāo)[1]相同,特征點(diǎn)數(shù)量也相同,由計(jì)算機(jī)生成,直接顯示在屏幕[3]上。虛擬靶標(biāo)[2]方塊的邊長(zhǎng)lp為30~150像素,實(shí)際大小的長(zhǎng)寬尺寸為25.4*lp(lssl×lnsh)mm;]]>1.2.3、放置實(shí)體靶標(biāo)[1],調(diào)整攝像機(jī)[4]、實(shí)體靶標(biāo)[1]和虛擬靶標(biāo)[2]的位置關(guān)系。實(shí)體靶標(biāo)[1]在屏幕[3]前方,靶標(biāo)平面與屏幕大約成90°~150°的角度,保證攝像機(jī)在觀測(cè)位置能夠觀測(cè)到實(shí)體靶標(biāo)[1]上所有特征點(diǎn)。保持實(shí)體靶標(biāo)[1]不動(dòng),移動(dòng)攝像機(jī)[4],保證攝像機(jī)能夠同時(shí)觀測(cè)到實(shí)體靶標(biāo)[1]和虛擬靶標(biāo)[2]上的所有特征點(diǎn),此時(shí)攝像機(jī)所在位置稱為中介位置。固定實(shí)體靶標(biāo)[1],在校準(zhǔn)過程中,保持實(shí)體靶標(biāo)[1]的位置和虛擬靶標(biāo)[2]的顯示位置及大小不發(fā)生變化;1.2.4、獲得屏幕坐標(biāo)系到實(shí)體靶標(biāo)坐標(biāo)系的變換。具體步驟為第一步,將攝像機(jī)[4]固定在中介位置,此時(shí)攝像機(jī)坐標(biāo)系稱為中介坐標(biāo)系。拍攝一幅包含實(shí)體靶標(biāo)[1]和虛擬靶標(biāo)[2]所有特征點(diǎn)在內(nèi)的圖像,稱為雙靶標(biāo)校準(zhǔn)圖像;第二步,提取雙靶標(biāo)校準(zhǔn)圖像內(nèi)屬于實(shí)體靶標(biāo)[1]的所有特征點(diǎn)的圖像坐標(biāo),根據(jù)攝像機(jī)模型和內(nèi)部參數(shù),計(jì)算特征點(diǎn)的投影坐標(biāo)。利用特征點(diǎn)的投影坐標(biāo)和對(duì)應(yīng)的實(shí)體靶標(biāo)坐標(biāo),計(jì)算實(shí)體靶標(biāo)坐標(biāo)系到中介坐標(biāo)系的變換;第三步,提取雙靶標(biāo)校準(zhǔn)圖像內(nèi)屬于虛擬靶標(biāo)[2]的所有特征點(diǎn)的圖像坐標(biāo),根據(jù)攝像機(jī)模型和內(nèi)部參數(shù),計(jì)算特征點(diǎn)的投影坐標(biāo)。利用特征點(diǎn)的投影坐標(biāo)和對(duì)應(yīng)的屏幕坐標(biāo),計(jì)算屏幕坐標(biāo)系到中介坐標(biāo)系的變換;第四步,由第二步得到的實(shí)體靶標(biāo)坐標(biāo)系到中介坐標(biāo)系的變換和第三步得到的屏幕坐標(biāo)系到中介坐標(biāo)系變換,計(jì)算屏幕坐標(biāo)系到實(shí)體靶標(biāo)坐標(biāo)系的變換;1.2.5、獲得屏幕坐標(biāo)系到攝像機(jī)坐標(biāo)系的變換。具體步驟為第一步,將攝像機(jī)[4]固定在觀測(cè)位置,拍攝一幅包含實(shí)體靶標(biāo)[1]所有特征點(diǎn)在內(nèi)的圖像,稱為單靶標(biāo)校準(zhǔn)圖像;第二步,提取單靶標(biāo)校準(zhǔn)圖像內(nèi)屬于實(shí)體靶標(biāo)[1]的所有特征點(diǎn)的圖像坐標(biāo),根據(jù)攝像機(jī)模型和內(nèi)部參數(shù),計(jì)算特征點(diǎn)的投影坐標(biāo)。利用特征點(diǎn)的投影坐標(biāo)和對(duì)應(yīng)的實(shí)體靶標(biāo)坐標(biāo),計(jì)算實(shí)體靶標(biāo)坐標(biāo)系到攝像機(jī)坐標(biāo)系的變換;第三步,由第二步得到的實(shí)體靶標(biāo)坐標(biāo)系到攝像機(jī)坐標(biāo)系的變換和步驟1.2.4得到的屏幕坐標(biāo)系到實(shí)體靶標(biāo)坐標(biāo)系的變換,計(jì)算屏幕坐標(biāo)系到攝像機(jī)坐標(biāo)系的變換;1.2.6、獲得屏幕平面在攝像機(jī)坐標(biāo)系中的方程。利用虛擬靶標(biāo)[2]上特征點(diǎn)的屏幕坐標(biāo),根據(jù)由步驟1.2.5得到的屏幕坐標(biāo)系到攝像機(jī)坐標(biāo)系的變換,計(jì)算虛擬靶標(biāo)[2]上特征點(diǎn)的攝像機(jī)坐標(biāo),利用特征點(diǎn)的攝像機(jī)坐標(biāo)擬合平面得到屏幕平面在攝像機(jī)坐標(biāo)系中的方程;1.2.7、將校準(zhǔn)的攝像機(jī)內(nèi)部參數(shù)、屏幕坐標(biāo)系到攝像機(jī)坐標(biāo)系的變換參數(shù)和屏幕平面在攝像機(jī)坐標(biāo)系中的方程系數(shù)保存到系統(tǒng)參數(shù)文件中,以備虛擬鼠標(biāo)系統(tǒng)使用時(shí)調(diào)用。
全文摘要
本發(fā)明屬于機(jī)器視覺技術(shù)領(lǐng)域,將提供一種單攝像機(jī)虛擬鼠標(biāo)系統(tǒng)模型參數(shù)的校準(zhǔn)方法。本發(fā)明基于二維實(shí)體靶標(biāo)和二維虛擬靶標(biāo),以實(shí)體靶標(biāo)坐標(biāo)系為中介,獲取了非視場(chǎng)范圍內(nèi)的屏幕平面在攝像機(jī)坐標(biāo)系下的方程,同時(shí)通過投影視線與空間屏幕平面相交建立了單攝像機(jī)虛擬鼠標(biāo)系統(tǒng)中三維空間控制點(diǎn)的投影點(diǎn)的圖像坐標(biāo)與屏幕坐標(biāo)的一一映射關(guān)系,將控制點(diǎn)對(duì)應(yīng)的屏幕坐標(biāo)作為輸入提供給計(jì)算機(jī)系統(tǒng),達(dá)到控制計(jì)算機(jī)的目的。該方法無需高成本的輔助調(diào)整設(shè)備,操作簡(jiǎn)單,校準(zhǔn)效率高,適用于單攝像機(jī)虛擬鼠標(biāo)系統(tǒng)的現(xiàn)場(chǎng)校準(zhǔn),大大地提高了虛擬鼠標(biāo)系統(tǒng)的有效視場(chǎng)范圍和操作實(shí)時(shí)性。
文檔編號(hào)G06T7/00GK1975638SQ20061017029
公開日2007年6月6日 申請(qǐng)日期2006年12月27日 優(yōu)先權(quán)日2006年12月27日
發(fā)明者周富強(qiáng), 李偉仙, 張魯閩, 楊曉科 申請(qǐng)人:北京航空航天大學(xué)