本發(fā)明涉及虛擬現(xiàn)實領(lǐng)域,更具體地說,涉及一種虛擬現(xiàn)實特征點空間定位方法和系統(tǒng)。
背景技術(shù):
空間定位一般采用光學(xué)或超聲波的模式進行定位和測算,通過建立模型來推導(dǎo)待測物體的空間位置。一般的虛擬現(xiàn)實空間定位系統(tǒng)采用紅外點和光感攝像頭接收的方式來確定物體的空間位置,紅外點在近眼顯示裝置的前端,在定位時,光感攝像頭捕捉紅外點的位置進而推算出使用者的物理坐標(biāo)。如果知道至少三個光源和投影的對應(yīng)關(guān)系,再調(diào)用PnP算法就可得到頭盔的空間定位位置,而實現(xiàn)這一過程的關(guān)鍵就是確定投影對應(yīng)的光源ID(Identity,序列號)。目前的虛擬現(xiàn)實空間定位在確定投影對應(yīng)光源ID時常常存在對應(yīng)不準(zhǔn)確和對應(yīng)時間過長的缺點,影響了定位的準(zhǔn)確性和效率。
技術(shù)實現(xiàn)要素:
為了解決當(dāng)前虛擬現(xiàn)實空間定位方法確定投影ID(Identity,序列號)的準(zhǔn)確性和效率不高的缺陷,本發(fā)明提供一種確定投影ID準(zhǔn)確性和效率較高的虛擬現(xiàn)實特征點空間定位方法和系統(tǒng)。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:提供一種虛擬現(xiàn)實特征點空間定位方法,包括以下步驟:
S1:確認虛擬現(xiàn)實頭盔上的紅外點光源全部點亮,紅外攝像頭拍攝虛擬現(xiàn)實頭盔的圖像并在圖像上形成光斑點,處理單元求出光斑點的中心點坐標(biāo);
S2:窮舉光斑點中n個點的組合,根據(jù)光斑點的中心點坐標(biāo)判斷這n個點是否滿足特定圖形的特征,確定滿足特定圖形特征的n個點;
S3:根據(jù)滿足特定圖形的n個點和其余光斑點的位置關(guān)系確定所述紅外攝像頭所拍攝的圖像上的所有光斑點對應(yīng)的所述紅外點光源的ID。
優(yōu)選地,所述特定圖形為直線。
優(yōu)選地,所述虛擬現(xiàn)實頭盔包括5個紅外點光源,分別為第一紅外點、第二紅外點、第三紅外點、第四紅外點、第五紅外點,其中,第二紅外點、第三紅外點、第四紅外點、第五紅外點處于一條直線上,第一紅外點與第二紅外點、第三紅外點、第四紅外點、第五紅外點不處于同一條直線上,窮舉所述紅外攝像頭所拍攝的圖像中5個光斑點中所有4個光斑點的組合,并判斷這4個光斑點是否在同一直線上,確定處于同一條直線上的4個光斑點,不在同一條直線上的光斑點對應(yīng)第一紅外點的ID。
優(yōu)選地,計算4個在同一條直線上的光斑點的連線的中點坐標(biāo),將該中點坐標(biāo)的縱坐標(biāo)y1與對應(yīng)第一紅外點的光斑點的縱坐標(biāo)y2對比,若y1>y2,則4個在同一條直線上的光斑點按照橫坐標(biāo)從大到小排序分別對應(yīng)第二紅外點、第三紅外點、第四紅外點、第五紅外點;若y1<y2,則4個在同一條直線上的光斑點按照橫坐標(biāo)從小到大排序分別對應(yīng)第二紅外點、第三紅外點、第四紅外點、第五紅外點。
優(yōu)選地,所述虛擬現(xiàn)實頭盔包括7個紅外點光源,分別為第一紅外點、第二紅外點、第三紅外點、第四紅外點、第五紅外點、第六紅外點和第七紅外點,其中,第二紅外點、第三紅外點、第四紅外點、第五紅外點處于一條直線上,第一紅外點處于該直線的一側(cè),第六紅外點和第七紅外點處于該直線的另一側(cè),窮舉所述紅外攝像頭所拍攝的圖像中7個光斑點中所有4個光斑點的組合,并判斷這4個光斑點是否在同一直線上,確定處于同一條直線上的4個光斑點,在該直線的一側(cè)僅有的唯一一個光斑點對應(yīng)第一紅外點ID。
優(yōu)選地,計算4個在同一條直線上的光斑點的連線的中點坐標(biāo),將該中點坐標(biāo)的縱坐標(biāo)y1與對應(yīng)第一紅外點的光斑點的縱坐標(biāo)y2對比,若y1>y2,則4個在同一條直線上的光斑點按照橫坐標(biāo)從大到小排序分別對應(yīng)第二紅外點、第三紅外點、第四紅外點、第五紅外點,兩個處于直線同側(cè)的光斑按照橫坐標(biāo)從大到小排序分別對應(yīng)第六紅外點和第七紅外點;若y1<y2,則4個在同一條直線上的光斑點按照橫坐標(biāo)從小到大排序分別對應(yīng)第二紅外點、第三紅外點、第四紅外點、第五紅外點,兩個處于直線同側(cè)的光斑按照橫坐標(biāo)從小到大排序分別對應(yīng)第六紅外點和第七紅外點。
優(yōu)選地,其特征在于,所述處理單元結(jié)合上一幀已知的歷史信息對上一幀圖像的光斑點做一個微小的平移使上一幀圖像的光斑點與當(dāng)前幀圖像的光斑點產(chǎn)生對應(yīng)關(guān)系,根據(jù)該對應(yīng)關(guān)系和上一幀的歷史信息判斷當(dāng)前幀圖像上有對應(yīng)關(guān)系的每個光斑點的對應(yīng)ID。
提供一種虛擬現(xiàn)實特征點空間定位系統(tǒng),包括虛擬現(xiàn)實頭盔、紅外攝像頭和處理單元,所述虛擬現(xiàn)實頭盔包括前面板,所述前面板上設(shè)置有多個紅外點光源,其中至少有4個所述紅外點光源處于同一條直線上。
優(yōu)選地,所述虛擬現(xiàn)實頭盔包括5個紅外點光源,分別是第一紅外點、第二紅外點、第三紅外點、第四紅外點、第五紅外點,其中,第二紅外點、第三紅外點、第四紅外點、第五紅外點處于一條直線上,第一紅外點與第二紅外點、第三紅外點、第四紅外點、第五紅外點不處于同一條直線上。
優(yōu)選地,所述虛擬現(xiàn)實頭盔包括7個紅外點光源,分別是第一紅外點、第二紅外點、第三紅外點、第四紅外點、第五紅外點、第六紅外點、第七紅外點,其中,第二紅外點、第三紅外點、第四紅外點、第五紅外點處于一條直線上,第一紅外點處于所述直線的一側(cè),第六紅外點和第七紅外點處于直線的另一側(cè)。
與現(xiàn)有技術(shù)相比,本發(fā)明通過將紅外點光源設(shè)置成特定圖形并進行識別的方法,提供了一種確定光斑ID的方法,準(zhǔn)確且高效。通過將紅外點光源設(shè)置為直線,將不在直線上的紅外點光源區(qū)分開,并根據(jù)圖形形狀通過坐標(biāo)計算迅速計算出每一個光斑點對應(yīng)的紅外點光源ID,相對于單獨對應(yīng)的方法節(jié)省了大量的時間。后續(xù)跟蹤定位時,通過添加位移的方式判斷新增光斑及其對應(yīng)ID,追蹤定位使得定位過程更加簡單,不需要一遍遍地重新進行識別。通過坐標(biāo)對比的方式可以很快求出直線上每一點對應(yīng)的紅外點光源的ID。設(shè)置個紅外點光源可以防止因紅外點光源被遮擋而導(dǎo)致圖像上的光斑數(shù)量不滿足PnP算法而無法定位。
附圖說明
下面將結(jié)合附圖及實施例對本發(fā)明作進一步說明,附圖中:
圖1是本發(fā)明虛擬現(xiàn)實特征點空間定位方法原理示意圖;
圖2是本發(fā)明虛擬現(xiàn)實特征點空間定位方法第一實施例示意圖;
圖3是第一實施例中紅外攝像頭拍攝的紅外點圖像。
圖4是本發(fā)明虛擬現(xiàn)實特征點空間定位方法第二實施例示意圖;
圖5是第二實施例中紅外攝像頭拍攝的紅外點圖像。
具體實施方式
為了解決當(dāng)前虛擬現(xiàn)實空間定位方法確定投影ID的準(zhǔn)確性和效率不高的缺陷,本發(fā)明提供一種確定投影ID準(zhǔn)確性和效率較高的虛擬現(xiàn)實特征點空間定位方法和系統(tǒng)。
為了對本發(fā)明的技術(shù)特征、目的和效果有更加清楚的理解,現(xiàn)對照附圖詳細說明本發(fā)明的具體實施方式。
請參閱圖1—圖2。本發(fā)明虛擬現(xiàn)實特征點空間定位方法包括虛擬現(xiàn)實頭盔10、紅外攝像頭20和處理單元30,紅外攝像頭20與處理單元30電性連接。虛擬現(xiàn)實頭盔10包括前面板11,在虛擬現(xiàn)實頭盔10的前面板11及上、下、左、右四個側(cè)面板分布有多個的紅外點光源13,包括第一紅外點131、第二紅外點132、第三紅外點133、第四紅外點134、第五紅外點135,第一紅外點131、第二紅外點132、第三紅外點133、第四紅外點134、第五紅外點135設(shè)置在前面板11上,其中,第二紅外點132、第三紅外點133、第四紅外點134、第五紅外點135排列成一條直線。多個紅外點光源13可以通過虛擬現(xiàn)實頭盔10的固件接口根據(jù)需要點亮或者關(guān)閉。虛擬現(xiàn)實頭盔10上的紅外點光源13通過紅外攝像頭20在圖像上形成光斑,由于攝像頭透視變換的固有性質(zhì),同一直線上的紅外點光源13在圖像上形成的光斑仍然在同一直線上。利用這一特有模式,于是只需要在圖像上尋找在同一直線上的4個點這一特定模式即可一次性區(qū)分各個點的編號。
圖3示出了紅外攝像頭拍攝的紅外點圖像,當(dāng)虛擬現(xiàn)實頭盔10的正面板11朝向紅外攝像頭(圖未示)時,由于紅外攝像頭的帶通特性,只有紅外點光源能13在圖像上形成光斑投影,其余部分皆形成均勻的背景圖像。虛擬現(xiàn)實頭盔10上的紅外點光源13在圖像上可以形成光斑點。
當(dāng)ID識別開始時,虛擬現(xiàn)實頭盔10處于初始狀態(tài),保持前面板11上的5個紅外點光源13處于點亮狀態(tài),為了確保識別準(zhǔn)確性,需要保證所有光源都能通過紅外攝像頭20形成光斑,不被遮擋或者處于紅外攝像頭20的視場之外。根據(jù)5個紅外點光源13在圖像上形成的光斑,處理單元30根據(jù)SimpleBlob方法等現(xiàn)有技術(shù)求出這些光斑的中心點坐標(biāo)。在所有光斑的中心點坐標(biāo)求出后,窮舉5個光斑點中所有4個光斑點的組合,并判斷這4個光斑點是否在同一直線上。由于成像或者數(shù)據(jù)處理的誤差,有可能導(dǎo)致第二紅外點132、第三紅外點133、第四紅外點134、第五紅外點135對應(yīng)的光斑點并不嚴格處在同一直線上,這時可以在系統(tǒng)中設(shè)置一個閾值,如果4個點在閾值之內(nèi)近似形成直線即可認為這4點處于同一直線上。通過窮舉可以很快計算出處于同一直線上的4個光斑點,這4個光斑點分別對應(yīng)第二紅外點132、第三紅外點133、第四紅外點134、第五紅外點135,另外一個光斑點對應(yīng)第一紅外點131。根據(jù)5個光斑點的坐標(biāo)關(guān)系可以求出每個光斑點對應(yīng)的紅外點光源13,其中一種方法是計算4個在同一條直線上的光斑點的連線的中點坐標(biāo),將該中點坐標(biāo)的縱坐標(biāo)y1與對應(yīng)第一紅外點131的光斑點的縱坐標(biāo)y2對比,若y1>y2,則4個在同一條直線上的光斑點按照橫坐標(biāo)從大到小排序分別對應(yīng)第二紅外點132、第三紅外點133、第四紅外點134、第五紅外點135;若y1<y2,則4個在同一條直線上的光斑點按照橫坐標(biāo)從小到大排序分別對應(yīng)第二紅外點132、第三紅外點133、第四紅外點134、第五紅外點135。這樣就完成了5個光斑點與5個紅外點光源13ID的一一對應(yīng)。
在ID識別結(jié)束后,處理單元30可以跟蹤每個光斑點并標(biāo)定對應(yīng)ID,具體方法是:在空間定位時,由于每幀的采樣時間足夠小,一般采樣時間為30ms,所以一般情況下上一幀的每個光斑點和當(dāng)前幀上的每個光斑點的位置差別很小,處理單元30結(jié)合上一幀已知的歷史信息對上一幀圖像的光斑點做一個微小的平移使上一幀圖像的光斑點與當(dāng)前幀圖像的光斑點產(chǎn)生對應(yīng)關(guān)系,根據(jù)該對應(yīng)關(guān)系和上一幀的歷史信息即可判斷當(dāng)前幀圖像上有對應(yīng)關(guān)系的每個光斑點的對應(yīng)ID。
請參閱圖4—圖5,當(dāng)虛擬現(xiàn)實頭盔10上僅存在5個紅外點光源時,由于物體、行人遮擋等原因很容易出現(xiàn)光斑點的數(shù)量不滿足PnP算法要求的情況,根據(jù)上述情形我們提供第二實施例。本發(fā)明的第二實施例與第一實施例基本相同,不同之處在于,第二實施例包括7個紅外點光源13。虛擬現(xiàn)實頭盔10包括前面板11,在虛擬現(xiàn)實頭盔10的前面板11及上、下、左、右四個側(cè)面板分布有多個的紅外點光源13,包括第一紅外點131、第二紅外點132、第三紅外點133、第四紅外點134、第五紅外點135、第六點光源136、第七點光源137,第一紅外點131、第二紅外點132、第三紅外點133、第四紅外點134、第五紅外點135、第六點光源136、第七點光源137設(shè)置在前面板11上,其中,第二紅外點132、第三紅外點133、第四紅外點134、第五紅外點135排列成一條直線。多個紅外點光源13可以通過虛擬現(xiàn)實頭盔10的固件接口根據(jù)需要點亮或者關(guān)閉。虛擬現(xiàn)實頭盔10上的紅外點光源13通過紅外攝像頭20在圖像上形成光斑,由于攝像頭透視變換的固有性質(zhì),同一直線上的紅外點光源13在圖像上形成的光斑仍然在同一直線上。利用這一特有模式,于是只需要在圖像上尋找在同一直線上的4個點這一特定模式即可一次性區(qū)分各個點的編號。
圖5示出了紅外攝像頭20拍攝的紅外點圖像,當(dāng)虛擬現(xiàn)實頭盔10的正面板11朝向紅外攝像頭20時,由于紅外攝像頭20的帶通特性,只有紅外點光源能13在圖像上形成光斑投影,其余部分皆形成均勻的背景圖像。虛擬現(xiàn)實頭盔10上的紅外點光源13在圖像上可以形成光斑點。
當(dāng)ID識別開始時,虛擬現(xiàn)實頭盔10處于初始狀態(tài),保持前面板11上的7個紅外點光源13處于點亮狀態(tài),為了確保識別準(zhǔn)確性,需要保證所有光源都能通過紅外攝像頭20形成光斑,不被遮擋或者處于紅外攝像頭20的視場之外。根據(jù)7個紅外點光源13在圖像上形成的光斑,根據(jù)SimpleBlob方法等現(xiàn)有技術(shù)求出這些光斑的中心點坐標(biāo)。在所有光斑的中心點坐標(biāo)求出后,窮舉7個光斑點中所有4個光斑點的組合,并判斷這4個光斑點是否在同一直線上。由于成像或者數(shù)據(jù)處理的誤差,有可能導(dǎo)致第二紅外點132、第三紅外點133、第四紅外點134、第五紅外點135對應(yīng)的光斑點并不嚴格處在同一直線上,這時可以在系統(tǒng)中設(shè)置一個閾值,如果4個點在閾值之內(nèi)近似形成直線即可認為這4點處于同一直線上。通過窮舉可以很快計算出處于同一直線上的4個光斑點,這4個光斑點分別對應(yīng)第二紅外點132、第三紅外點133、第四紅外點134、第五紅外點135,在這條直線的兩側(cè)分別有一個光斑點和兩個光斑點,其中,孤立的一個光斑點對應(yīng)第一紅外點131。根據(jù)5個光斑點的坐標(biāo)關(guān)系可以求出每個光斑點對應(yīng)的紅外點光源13,其中一種方法是計算4個在同一條直線上的光斑點的連線的中點坐標(biāo),將該中點坐標(biāo)的縱坐標(biāo)y1與對應(yīng)第一紅外點131的光斑點的縱坐標(biāo)y2對比,若y1>y2,則4個在同一條直線上的光斑點按照橫坐標(biāo)從大到小排序分別對應(yīng)第二紅外點132、第三紅外點133、第四紅外點134、第五紅外點135,兩個處于直線同側(cè)的光斑按照橫坐標(biāo)從大到小排序分別對應(yīng)第六紅外點136和第七紅外點137;若y1<y2,則4個在同一條直線上的光斑點按照橫坐標(biāo)從小到大排序分別對應(yīng)第二紅外點132、第三紅外點133、第四紅外點134、第五紅外點135,兩個處于直線同側(cè)的光斑按照橫坐標(biāo)從小到大排序分別對應(yīng)第六紅外點136和第七紅外點137。這樣就完成了7個光斑點與7個紅外點光源13的ID的一一對應(yīng)。
ID識別完成后,處理單元30再調(diào)用PnP算法就可得到頭盔的空間定位位置,PnP算法屬于現(xiàn)有技術(shù),本發(fā)明不再贅述。
與現(xiàn)有技術(shù)相比,本發(fā)明通過將紅外點光源13設(shè)置成特定圖形并進行識別的方法,提供了一種確定光斑ID的方法,準(zhǔn)確且高效。通過將紅外點光源13設(shè)置為直線,將不在直線上的紅外點光源13區(qū)分開,并根據(jù)圖形形狀通過坐標(biāo)計算迅速計算出每一個光斑點對應(yīng)的紅外點光源ID,相對于單獨對應(yīng)的方法節(jié)省了大量的時間。后續(xù)跟蹤定位時,通過添加位移的方式判斷新增光斑及其對應(yīng)ID,追蹤定位使得定位過程更加簡單,不需要一遍遍地重新進行識別。通過坐標(biāo)對比的方式可以很快求出直線上每一點對應(yīng)的紅外點光源13的ID。設(shè)置7個紅外點光源13可以防止因紅外點光源13被遮擋而導(dǎo)致圖像上的光斑數(shù)量不滿足PnP算法而無法定位。
上面結(jié)合附圖對本發(fā)明的實施例進行了描述,但是本發(fā)明并不局限于上述的具體實施方式,上述的具體實施方式僅僅是示意性的,而不是限制性的,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的啟示下,在不脫離本發(fā)明宗旨和權(quán)利要求所保護的范圍情況下,還可做出很多形式,這些均屬于本發(fā)明的保護之內(nèi)。