基於攝像頭的虛擬實境交互方法和裝置與流程
2023-05-30 11:13:56 1

本發明涉及虛擬實境技術領域,特別涉及一種基於攝像頭的虛擬實境交互方法和裝置。
背景技術:
現有的虛擬顯示交互技術方案大多都是通過手柄、手套等外部交互設備來實現與虛擬場景進行交互,硬體成本較高。
技術實現要素:
為此,需要提供一種新的、便捷的、成本低廉的虛擬實境交互技術方案。
為實現上述目的,發明人提供了一種基於攝像頭的虛擬實境交互方法,包括如下步驟:
通過攝像頭獲取帶手部信息的手部圖像,所述手部信息包括手掌或手背的預置圖案的信息;
對預置圖案信息進行解碼,獲取帶有校驗幀的二進位序列;
將解碼獲取的帶有校驗幀的二進位序列與虛擬場景中的各手部預置體的二進位序列進行比對,並在虛擬場景中還原出二進位序列相一致的手部預置體;
通過帶手部信息的手部圖像獲取手部第一姿態信息、手部平面位置信息、手部深度信息、手部第二姿態信息和手部動作信息,根據上述五種信息在虛擬場景中以手部預置體重建手部動作。
進一步地,所述的基於攝像頭的虛擬實境交互方法中,獲取手部第一姿態信息的方式具體包括:通過預置圖案信息是位於手掌或手背判斷手部的第一姿態是手背向上或手掌向上;
獲取手部第二姿態信息的方式具體包括:通過識別是否有預置圖案位於手指關節上判斷當前的手部第二姿態。
進一步地,所述的基於攝像頭的虛擬實境交互方法中,獲取手部平面位置信息的方式具體包括:判斷攝像頭廣角的角度與虛擬實境設備的視口大小是否相同,如是則預置圖案在帶手部信息的手部圖像中的位置即為所要獲取的手部平面位置;否則對手部信息進行裁剪使其圖片長款比例與虛擬實境設備的視口長寬比一致,此時預置圖案在經裁剪後的圖片中的位置即為所要獲取的手部平面位置。
進一步地,所述的基於攝像頭的虛擬實境交互方法中,獲取手部深度信息的方式具體包括:通過虛擬實境設備上的測距裝置獲取攝像頭到預置圖案的距離,並以該距離按預設的比例放大或縮小後將手部預置體設於虛擬場景中。
進一步地,所述的基於攝像頭的虛擬實境交互方法中,獲取手部動作信息的方式具體包括:通過高於一預設數量預置的手部姿態進行動作變換的連續幀圖片組成的手部姿態數據集建立手部姿態模型和誤差方程,對圖片數據集進行訓練以判斷和獲取手部動作信息。
發明人同時還提供了一種基於攝像頭的虛擬實境交互裝置,包括圖像獲取單元、解碼單元、比對單元、還原單元、信息解析單元和重建單元;
所述圖像獲取單元用於通過攝像頭獲取帶手部信息的手部圖像,所述手部信息包括手掌或手背的預置圖案的信息;
所述解碼單元用於對預置圖案信息進行解碼,獲取帶有校驗幀的二進位序列;
所述比對單元用於將解碼獲取的帶有校驗幀的二進位序列與虛擬場景中的各手部預置體的二進位序列進行比對,所述還原單元用於在虛擬場景中還原出二進位序列相一致的手部預置體;
所述信息解析單元用於通過帶手部信息的手部圖像獲取手部第一姿態信息、手部平面位置信息、手部深度信息、手部第二姿態信息和手部動作信息,所述重建單元用於根據信息解析單元所獲取的上述五種信息在虛擬場景中以手部預置體重建手部動作。
進一步地,所述的基於攝像頭的虛擬實境交互裝置中,信息解析單元獲取手部第一姿態信息的方式具體包括:通過預置圖案信息是位於手掌或手背判斷手部的第一姿態是手背向上或手掌向上;
獲取手部第二姿態信息的方式具體包括:通過識別是否有預置圖案位於手指關節上判斷當前的手部第二姿態。
進一步地,所述的基於攝像頭的虛擬實境交互裝置中,信息解析單元獲取手部平面位置信息的方式具體包括:判斷攝像頭廣角的角度與虛擬實境設備的視口大小是否相同,如是則預置圖案在帶手部信息的手部圖像中的位置即為所要獲取的手部平面位置;否則對手部信息進行裁剪使其圖片長款比例與虛擬實境設備的視口長寬比一致,此時預置圖案在經裁剪後的圖片中的位置即為所要獲取的手部平面位置。
進一步地,所述的基於攝像頭的虛擬實境交互裝置中,信息解析單元獲取手部深度信息的方式具體包括:通過虛擬實境設備上的測距裝置獲取攝像頭到預置圖案的距離,並以該距離按預設的比例放大或縮小後將手部預置體設於虛擬場景中。
進一步地,所述的基於攝像頭的虛擬實境交互裝置中,信息解析單元獲取手部動作信息的方式具體包括:通過高於一預設數量預置的手部姿態進行動作變換的連續幀圖片組成的手部姿態數據集建立手部姿態模型和誤差方程,對圖片數據集進行訓練以判斷和獲取手部動作信息。
區別於現有技術,上述技術方案能夠實現一種新型的便捷且成本低廉的虛擬實境交互功能。
附圖說明
圖1為本發明一實施方式所述的基於攝像頭的虛擬實境交互方法的流程圖;
圖2為本發明一實施方式所述的基於攝像頭的虛擬實境交互裝置的結構示意圖。
附圖標記說明:
1-圖像獲取單元
2-解碼單元
3-比對單元
4-還原單元
5-信息解析單元
6-重建單元
具體實施方式
為詳細說明技術方案的技術內容、構造特徵、所實現目的及效果,以下結合具體實施例並配合附圖詳予說明。
請參閱圖1,為本發明一實施方式所述的方法的流程圖;所述方法包括如下步驟:
S1、通過攝像頭獲取帶手部信息的手部圖像,所述手部信息包括手掌或手背的預置圖案的信息;
S2、對預置圖案信息進行解碼,獲取帶有校驗幀的二進位序列;
S3、將解碼獲取的帶有校驗幀的二進位序列與虛擬場景中的各手部預置體的二進位序列進行比對,並在虛擬場景中還原出二進位序列相一致的手部預置體;
S4、通過帶手部信息的手部圖像獲取手部第一姿態信息、手部平面位置信息、手部深度信息、手部第二姿態信息和手部動作信息,根據上述五種信息在虛擬場景中以手部預置體重建手部動作。
所述的虛擬場景是指通過遊戲引擎等方法製作出來的一個虛擬的三維場景,其主要功能如下:1,通過攝像頭識別到的手部動作等在虛擬場景進行重建,虛擬場景為虛擬實境交互提供了平臺;,2,虛擬場景的製作過程中包含了手部預置體的信息,通過該預置體信息和攝像機獲取的標記信息的比對來判斷是否在虛擬場景中重建該預置體。
所述的攝像頭是集成於虛擬實境設備之上的。所述虛擬實境設備,是指用於虛擬實境內容的顯示、交互等的頭戴式顯示設備,可以是頭戴式設備與移動處理設備(如Gear VR)組合的虛擬實境設備,也可以是頭戴式設備與處理器一體的一體化虛擬實境設備,還可以是只負責顯示的頭戴式設備(如Oculus Rift),虛擬場景的內容通過內容發布或者實時視頻流等方式傳輸到虛擬實境設備上,用戶通過虛擬實境設備能夠瀏覽虛擬場景中的內容,並進行一定的交互操作。虛擬實境設備上設有以下組件:
顯示屏:用戶通過顯示屏可以進行虛擬場景的漫遊和瀏覽;
陀螺儀:虛擬實境設備通過陀螺儀來檢測設備的旋轉、偏移等信息,將該數據發送到虛擬場景中,虛擬場景中的相機組件根據該旋轉、偏移等的數據在虛擬場景中進行相對應的旋轉、偏移;
攝像頭:用於實時拍攝現實場景中的畫面,當攝像頭讀取到包含標記信息的圖案時,會將該帶有標記信息的圖案進行解碼,將解碼後的信息傳輸到虛擬場景中進行數據的比對。攝像頭還包含以下三個模塊:1,補光燈:當現實場景的亮度低於某閾值時,啟動補光燈進行現實場景的補光,避免因為光線不足導致攝像機無法識別到帶有標記信息的圖案;2,廣角鏡頭:為了避免由於攝像頭的廣角不夠導致標記信息圖案超過攝像頭拍攝範圍而使其識別不到的問題,其鏡頭需要有不小於虛擬場景中虛擬攝像機視口大小的角度;3,紅外設備:通過紅外線能夠精確計算出攝像頭與帶有標記信息的圖案的距離。
方法中所述的預置圖案是提供預置的標記信息的一種表現形式,該圖案是由預設的一種特定的編碼方式生成,攝像頭將拍攝到的實時的序列圖片發送到處理設備,處理設備識別到帶有標記信息的圖案時,按照特定的解碼方式對圖案進行解碼,還原出其原有的信息,將該信息傳輸到場景中與預置信息進行比對。
進一步地,步驟S4中,獲取手部第一姿態信息的方式具體包括:通過預置圖案信息是位於手掌或手背判斷手部的第一姿態是手背向上或手掌向上。這需要保證用戶將帶有預置圖案通過一定的方式貼合到手背、手掌和手指上,當手部處於攝像頭視口範圍內時,手掌、手背其中至少有一張圖案能夠被攝像機識別到,才能夠確定和獲取手部的第一姿態信息。
同理,獲取手部第二姿態信息的方式是通過識別是否有預置圖案位於手指關節上判斷當前的手部第二姿態。例如手背朝上握拳時,攝像頭只能識別到手背上的圖案,而手指等其餘部位的圖案則識別不到;又如手掌向上握拳時,只能識別到手掌及除大拇指外其餘四指的第二關節上的圖案。可見通過判斷預置圖案位於哪些手指關節上可以獲取進一步的手部姿態信息。
進一步地,步驟S4中,獲取手部平面位置信息的方式具體包括:判斷攝像頭廣角的角度與虛擬實境設備的視口大小是否相同,如是則預置圖案在帶手部信息的手部圖像中的位置即為所要獲取的手部平面位置;否則對手部信息進行裁剪使其圖片長款比例與虛擬實境設備的視口長寬比一致,此時預置圖案在經裁剪後的圖片中的位置即為所要獲取的手部平面位置。
進一步地,步驟S4中,獲取手部深度信息的方式具體包括:通過虛擬實境設備上的測距裝置獲取攝像頭到預置圖案的距離,並以該距離按預設的比例放大或縮小後將手部預置體設於虛擬場景中。
進一步地,步驟S4中,獲取手部動作信息的方式具體包括:通過高於一預設數量預置的手部姿態進行動作變換的連續幀圖片組成的手部姿態數據集建立手部姿態模型和誤差方程,對圖片數據集進行訓練以判斷和獲取手部動作信息。
請參閱圖2,為本發明一實施方式所述的基於攝像頭的虛擬實境交互裝置的結構示意圖;所述裝置包括圖像獲取單元1、解碼單元2、比對單元3、還原單元4、信息解析單元5和重建單元6;
所述圖像獲取單元1用於通過攝像頭獲取帶手部信息的手部圖像,所述手部信息包括手掌或手背的預置圖案的信息;
所述解碼單元2用於對預置圖案信息進行解碼,獲取帶有校驗幀的二進位序列;
所述比對單元3用於將解碼獲取的帶有校驗幀的二進位序列與虛擬場景中的各手部預置體的二進位序列進行比對,所述還原單元4用於在虛擬場景中還原出二進位序列相一致的手部預置體;
所述信息解析單元5用於通過帶手部信息的手部圖像獲取手部第一姿態信息、手部平面位置信息、手部深度信息、手部第二姿態信息和手部動作信息,所述重建單元6用於根據信息解析單元5所獲取的上述五種信息在虛擬場景中以手部預置體重建手部動作。
所述的虛擬場景是指通過遊戲引擎等方法製作出來的一個虛擬的三維場景,其主要功能如下:1,通過攝像頭識別到的手部動作等在虛擬場景進行重建,虛擬場景為虛擬實境交互提供了平臺;,2,虛擬場景的製作過程中包含了手部預置體的信息,通過該預置體信息和攝像機獲取的標記信息的比對來判斷是否在虛擬場景中重建該預置體。
所述的攝像頭是集成於虛擬實境設備之上的。所述虛擬實境設備,是指用於虛擬實境內容的顯示、交互等的頭戴式顯示設備,可以是頭戴式設備與移動處理設備(如Gear VR)組合的虛擬實境設備,也可以是頭戴式設備與處理器一體的一體化虛擬實境設備,還可以是只負責顯示的頭戴式設備(如Oculus Rift),虛擬場景的內容通過內容發布或者實時視頻流等方式傳輸到虛擬實境設備上,用戶通過虛擬實境設備能夠瀏覽虛擬場景中的內容,並進行一定的交互操作。虛擬實境設備上設有以下組件:
顯示屏:用戶通過顯示屏可以進行虛擬場景的漫遊和瀏覽;
陀螺儀:虛擬實境設備通過陀螺儀來檢測設備的旋轉、偏移等信息,將該數據發送到虛擬場景中,虛擬場景中的相機組件根據該旋轉、偏移等的數據在虛擬場景中進行相對應的旋轉、偏移;
攝像頭:用於實時拍攝現實場景中的畫面,當攝像頭讀取到包含標記信息的圖案時,會將該帶有標記信息的圖案進行解碼,將解碼後的信息傳輸到虛擬場景中進行數據的比對。攝像頭還包含以下三個模塊:1,補光燈:當現實場景的亮度低於某閾值時,啟動補光燈進行現實場景的補光,避免因為光線不足導致攝像機無法識別到帶有標記信息的圖案;2,廣角鏡頭:為了避免由於攝像頭的廣角不夠導致標記信息圖案超過攝像頭拍攝範圍而使其識別不到的問題,其鏡頭需要有不小於虛擬場景中虛擬攝像機視口大小的角度;3,紅外設備:通過紅外線能夠精確計算出攝像頭與帶有標記信息的圖案的距離。
所述的預置圖案是提供預置的標記信息的一種表現形式,該圖案是由預設的一種特定的編碼方式生成,攝像頭將拍攝到的實時的序列圖片發送到處理設備,處理設備識別到帶有標記信息的圖案時,按照特定的解碼方式對圖案進行解碼,還原出其原有的信息,將該信息傳輸到場景中與預置信息進行比對。
進一步地,信息解析單元5獲取手部第一姿態信息的方式具體包括:通過預置圖案信息是位於手掌或手背判斷手部的第一姿態是手背向上或手掌向上;這需要保證用戶將帶有預置圖案通過一定的方式貼合到手背、手掌和手指上,當手部處於攝像頭視口範圍內時,手掌、手背其中至少有一張圖案能夠被攝像機識別到,才能夠確定和獲取手部的第一姿態信息。
同理,信息解析單元5獲取手部第二姿態信息的方式是通過識別是否有預置圖案位於手指關節上判斷當前的手部第二姿態。例如手背朝上握拳時,攝像頭只能識別到手背上的圖案,而手指等其餘部位的圖案則識別不到;又如手掌向上握拳時,只能識別到手掌及除大拇指外其餘四指的第二關節上的圖案。可見通過判斷預置圖案位於哪些手指關節上可以獲取進一步的手部姿態信息。
進一步地,所述的基於攝像頭的虛擬實境交互裝置中,信息解析單元5獲取手部平面位置信息的方式具體包括:判斷攝像頭廣角的角度與虛擬實境設備的視口大小是否相同,如是則預置圖案在帶手部信息的手部圖像中的位置即為所要獲取的手部平面位置;否則對手部信息進行裁剪使其圖片長款比例與虛擬實境設備的視口長寬比一致,此時預置圖案在經裁剪後的圖片中的位置即為所要獲取的手部平面位置。
進一步地,所述的基於攝像頭的虛擬實境交互裝置中,信息解析單元5獲取手部深度信息的方式具體包括:通過虛擬實境設備上的測距裝置獲取攝像頭到預置圖案的距離,並以該距離按預設的比例放大或縮小後將手部預置體設於虛擬場景中。
進一步地,所述的基於攝像頭的虛擬實境交互裝置中,信息解析單元5獲取手部動作信息的方式具體包括:通過高於一預設數量預置的手部姿態進行動作變換的連續幀圖片組成的手部姿態數據集建立手部姿態模型和誤差方程,對圖片數據集進行訓練以判斷和獲取手部動作信息。
區別於現有技術,上述技術方案能夠實現一種新型的便捷且成本低廉的虛擬實境交互功能。
需要說明的是,在本文中,諸如第一和第二等之類的關係術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關係或者順序。而且,術語「包括」、「包含」或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端設備所固有的要素。在沒有更多限制的情況下,由語句「包括……」或「包含……」限定的要素,並不排除在包括所述要素的過程、方法、物品或者終端設備中還存在另外的要素。此外,在本文中,「大於」、「小於」、「超過」等理解為不包括本數;「以上」、「以下」、「以內」等理解為包括本數。
本領域內的技術人員應明白,上述各實施例可提供為方法、裝置、或電腦程式產品。這些實施例可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。上述各實施例涉及的方法中的全部或部分步驟可以通過程序來指令相關的硬體來完成,所述的程序可以存儲於計算機設備可讀取的存儲介質中,用於執行上述各實施例方法所述的全部或部分步驟。所述計算機設備,包括但不限於:個人計算機、伺服器、通用計算機、專用計算機、網絡設備、嵌入式設備、可編程設備、智能移動終端、智能家居設備、穿戴式智能設備、車載智能設備等;所述的存儲介質,包括但不限於:RAM、ROM、磁碟、磁帶、光碟、快閃記憶體、U盤、移動硬碟、存儲卡、記憶棒、網絡伺服器存儲、網絡雲存儲等。
上述各實施例是參照根據實施例所述的方法、設備(系統)、和電腦程式產品的流程圖和/或方框圖來描述的。應理解可由電腦程式指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些電腦程式指令到計算機設備的處理器以產生一個機器,使得通過計算機設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些電腦程式指令也可存儲在能引導計算機設備以特定方式工作的計算機設備可讀存儲器中,使得存儲在該計算機設備可讀存儲器中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些電腦程式指令也可裝載到計算機設備上,使得在計算機設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
儘管已經對上述各實施例進行了描述,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例做出另外的變更和修改,所以以上所述僅為本發明的實施例,並非因此限制本發明的專利保護範圍,凡是利用本發明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的技術領域,均同理包括在本發明的專利保護範圍之內。