本發明涉及虛擬現實領域,更具體地說,涉及一種虛擬現實手柄圖形空間定位方法和系統。
背景技術:
空間定位一般采用光學或超聲波的模式進行定位和測算,通過建立模型來推導待測物體的空間位置。一般的虛擬現實空間定位系統采用紅外點和光感攝像頭接收的方式來確定物體的空間位置,紅外點在近眼顯示裝置的前端,在定位時,光感攝像頭捕捉紅外點的位置進而推算出使用者的物理坐標。如果知道至少三個光源和投影的對應關系,再調用pnp算法就可得到頭盔的空間定位位置,而實現這一過程的關鍵就是確定投影對應的光源id(identity,序列號)。目前的虛擬現實空間定位在確定投影對應光源id時常常存在對應不準確和對應時間過長的缺點,影響了定位的準確性和效率。
技術實現要素:
為了解決當前虛擬現實空間定位方法準確性和效率不高的缺陷,本發明提供一種準確性和效率較高的虛擬現實手柄圖形空間定位方法和系統。
本發明解決其技術問題所采用的技術方案是:提供一種虛擬現實手柄圖形空間定位方法,包括以下步驟:
s1:確認定位手柄上的紅外點光源全部熄滅,若所述紅外點光源未全部熄滅,熄滅處于點亮狀態的所述紅外點光源;
s2:所述定位手柄上設定的第一個閃光的所述紅外點光源閃光,處理單元根據圖像上的光斑點記錄點亮的所述紅外點光源在圖像上的位置關系;
s3:所述定位手柄按照預先設定的閃光順序依次命令相關所述紅外點光源閃光,所述處理單元記錄相對應的閃光點的位置數據;
s4:所述處理單元根據測得的位置數據得到所述定位手柄的空間坐標;
s5:當所述處理單元根據測得的位置數據得到的所述定位手柄的空間坐標大于等于兩個時,所述處理單元對比陀螺儀判斷空間定位坐標。
優選地,在定位開始前首先在所述處理單元中存儲所述定位手柄處于多種空間位置時對應的圖片上光點的位置信息。
優選地,所述定位手柄處于多種空間位置時對應的圖片上光點的位置信息通過計算得出。
優選地,所述處理單元將測得的位置數據與數據庫中存儲的位置數據相對比,找出方差最小的位置數據,該位置數據對應的空間坐標即為所述定位手柄的空間坐標。
優選地,如果在定位過程中所述紅外點光源被異常遮擋,重新執行s1。
優選地,所述異常遮擋是指定位空間中除所述定位手柄外其他物體對所述紅外點光源造成遮擋。
優選地,當所述零號紅外點和一號紅外點在一組數據中被同時識別到或同時識別不到時,所述處理單元認定識別過程中發生了異常遮擋。
提供一種定位系統,包括定位手柄、紅外攝像頭和處理單元,所述紅外攝像頭與所述處理單元電性連接,所述定位手柄包括定位面板,在所述定位面板上分布有多個的紅外點光源。
優選地,所述紅外點光源包括零號紅外點、一號紅外點、二號紅外點、三號紅外點、四號紅外點、五號紅外點、六號紅外點、七號紅外點、八號紅外點、九號紅外點,其中,所述二號紅外點、所述三號紅外點、所述四號紅外點、所述五號紅外點、所述六號紅外點、所述七號紅外點、所述八號紅外點、所述九號紅外點排列成一條曲面直線。
優選地,所述零號紅外點和所述一號紅外點相對于所述定位手柄的中軸線對稱,所述零號紅外點和所述一號紅外點不在所述二號紅外點、所述三號紅外點、所述四號紅外點、所述五號紅外點、所述六號紅外點、所述七號紅外點、所述八號紅外點、所述九號紅外點排列成的曲面直線上。
與現有技術相比,本發明通過依次使紅外點光源閃光配合數據對比的方式,提供了一種新穎的虛擬現實手柄圖形空間定位方法。通過紅外點光源依次按照預設順序點亮的方式,解決了pnp算法中比較困難的id識別問題,數據圖像對應的方式與傳統的pnp算法有本質上的區別,提供了一種新型定位方法。陀螺儀輔助定位可以提高定位的準確率,防止空間對稱造成的數據誤差。在處理單元中存儲空間位置對應的圖像信息有助于迅速識別位置,提高了識別的效率。空間位置對應的圖像信息可以通過計算得出,十分方便,也提高了空間定位的適應性。通過找出方差最小的數據位置,可以方便地通過簡單的計算得出與測量數據最為接近的點,提高的測量的準確率。當紅外點光源被異常遮擋時,重新執行定位可以減少誤判,提供判定異常遮擋的方法可以方便處理單元判斷異常遮擋,提高定位精度。設置10個紅外點光源,其中8個紅外點光源處于一條曲面直線上有利于測量定位手柄在空間的角度,使角度測量更加精確。零號紅外點和一號紅外點對稱設置,可以協助判斷異常遮擋情況,保證測量的準確度。
附圖說明
下面將結合附圖及實施例對本發明作進一步說明,附圖中:
圖1是本發明虛擬現實手柄圖形空間定位方法原理示意圖;
圖2是本發明虛擬現實手柄紅外點布局示意圖;
圖3是紅外攝像頭拍攝的紅外點圖像。
具體實施方式
為了解決當前虛擬現實空間定位方法準確性和效率不高的缺陷,本發明提供一種準確性和效率較高的虛擬現實手柄圖形空間定位方法和系統。
為了對本發明的技術特征、目的和效果有更加清楚的理解,現對照附圖詳細說明本發明的具體實施方式。
請參閱圖1—圖2。本發明虛擬現實手柄圖形空間定位方法包括定位手柄10、紅外攝像頭20和處理單元30,紅外攝像頭20與處理單元30電性連接。定位手柄10包括定位面板40,在定位手柄10的定位面板40上分布有多個的紅外點光源500,包括零號紅外點50、一號紅外點51、二號紅外點52、三號紅外點53、四號紅外點54、五號紅外點55、六號紅外點56、七號紅外點57、八號紅外點58、九號紅外點59,零號紅外點50、一號紅外點51、二號紅外點52、三號紅外點53、四號紅外點54、五號紅外點55、六號紅外點56、七號紅外點57、八號紅外點58、九號紅外點59設置在定位面板40上,其中,二號紅外點52、三號紅外點53、四號紅外點54、五號紅外點55、六號紅外點56、七號紅外點57、八號紅外點58、九號紅外點59排列成一條曲面直線,零號紅外點50和一號紅外點51相對于定位手柄10的中軸線對稱且不在另外8個紅外點光源500形成的曲面直線上。定位手柄10上的紅外點光源500通過紅外攝像頭20在圖像上形成光斑,由于攝像頭透視變換的固有性質,同一直線上的紅外點光源500在圖像上形成的光斑仍然在同一直線上。這樣設置可以提高角度測量的準確度,首先,出現在圖像上的紅外點光源500的id就可以鎖定一個較小的角度范圍,其次,在同一條直線上的紅外點光源500與零號紅外點50或一號紅外點51之間的位置關系可以進一步確定定位手柄10的空間姿態和角度。
圖3示出了紅外攝像頭拍攝的紅外點圖像,當定位手柄10的定位面板40朝向紅外攝像頭20時,由于紅外攝像頭20的帶通特性,只有紅外點光源500能在圖像上形成光斑投影,其余部分皆形成均勻的背景圖像。定位手柄10上的紅外點光源500在圖像上可以形成光斑點。
定位開始前,我們在處理單元30的數據庫中存儲定位手柄10處于多種空間位置時對應的圖片上光點的位置信息,這些位置信息可以通過計算得出,如常用的建立空間三維坐標對應計算位置信息的方法。這些位置信息也是確定定位手柄10位置的基礎信息。存儲的信息越多,定位的準確程度越高。
當定位過程開始時,定位手柄10處于初始狀態,確認定位手柄10上的紅外點光源500全部熄滅,若所述紅外點光源500未全部熄滅,熄滅處于點亮狀態的所述紅外點光源500。定位手柄10按照預先設定的閃光順序依次命令相關紅外點光源500閃光,兩次閃光之間時間盡可能短,以便提高定位的效率。首先,定位手柄10上設定的第一個閃光的零號紅外點50閃光,處理單元30根據圖像上的光斑點記錄點亮的紅外點光源500在圖像上的位置關系。點亮的零號紅外點光源50閃光后即熄滅,定位手柄10點亮設定的第二個閃光的一號紅外點51,處理單元30根據圖像上的光斑點記錄點亮的一號紅外點51在圖像上的位置關系;定位手柄10按照預先設定的閃光順序依次命令相關紅外點光源500閃光,相對應的,在處理單元30記錄的圖像上記錄到一系列的與閃光的紅外點光源500相對應的點的位置數據。處理單元30將該組位置數據與數據庫中存儲的位置數據相對比,找出方差最小的位置數據,該位置數據對應的空間坐標即為定位手柄10的空間坐標。由于空間對稱性,利用該算法計算出的角度坐標可能有多個值,如果出現這種情況,處理單元30將計算得到的數據與定位手柄10自帶的陀螺儀(圖未示)數據進行對比,取最接近陀螺儀計算出的結果的數據作為定位的最終數據,該位置數據對應的空間坐標即為定位手柄10的空間坐標,此時即完成一次空間定位過程。由于閃光時間極短,因此在所有紅外點光源500全部閃光并被處理單元30記錄的過程中,手持定位手柄10發生的位移可以忽略不計,該時間段內手柄發生的極微小的位移對最終的定位結果的影響可以忽略不計。當一次空間定位過程完成后,處理單元30根據其定位頻率判斷下一次空間定位開始的時間并重新執行定位過程。
在點亮紅外點光源500的過程中,如果發生紅外點光源500被異常遮擋,即定位空間中除定位手柄10外其他物體對紅外點光源500造成遮擋時,需要重新執行定位過程。判斷異常遮擋可以直接通過紅外點光源500的數據進行判斷,即當零號紅外點50和一號紅外點51在一組數據中被同時識別到或同時識別不到時,處理單元30即可判斷發生了異常遮擋,直接進行下一次的定位過程,本次定位過程宣告終止并不提供任何位置數據。
與現有技術相比,本發明通過依次使紅外點光源500閃光配合數據對比的方式,提供了一種新穎的虛擬現實手柄圖形空間定位方法。通過紅外點光源500依次按照預設順序點亮的方式,解決了pnp算法中比較困難的id識別問題,數據圖像對應的方式與傳統的pnp算法有本質上的區別,提供了一種新型定位方法。陀螺儀輔助定位可以提高定位的準確率,防止空間對稱造成的數據誤差。在處理單元30中存儲空間位置對應的圖像信息有助于迅速識別位置,提高了識別的效率。空間位置對應的圖像信息可以通過計算得出,十分方便,也提高了空間定位的適應性。通過找出方差最小的數據位置,可以方便地通過簡單的計算得出與測量數據最為接近的點,提高的測量的準確率。當紅外點光源500被異常遮擋時,重新執行定位可以減少誤判,提供判定異常遮擋的方法可以方便處理單元30判斷異常遮擋,提高定位精度。設置10個紅外點光源500,其中8個紅外點光源處于一條曲面直線上有利于測量定位手柄10在空間的角度,使角度測量更加精確。零號紅外點50和一號紅外點51對稱設置,可以協助判斷異常遮擋情況,保證測量的準確度。
上面結合附圖對本發明的實施例進行了描述,但是本發明并不局限于上述的具體實施方式,上述的具體實施方式僅僅是示意性的,而不是限制性的,本領域的普通技術人員在本發明的啟示下,在不脫離本發明宗旨和權利要求所保護的范圍情況下,還可做出很多形式,這些均屬于本發明的保護之內。