本發(fā)明涉及計算機技術領域,特別是涉及一種基于三維空間的交互控制方法和裝置、智能終端。
背景技術:
隨著計算機技術的發(fā)展,三維影像成為計算機視覺系統(tǒng)中重要的研究方向,基于三維顯示技術,可以直接觀察到具有物理景深的三維圖像,可多角度、多人同時觀察和實時交互,通過立體三維顯示技術與運動跟蹤結合可構建虛擬現(xiàn)實或增強現(xiàn)實。
虛擬現(xiàn)實或增強現(xiàn)實中用戶感知到的是三維空間,與三維虛擬物體在三維空間進行互動。傳統(tǒng)的需要驗證的場景,如登錄驗證、解鎖驗證、支付驗證等,通常通過輸入密碼進行驗證,在三維交互空間由于沒有物理鍵盤輸入變得比較困難、操作效率低。
技術實現(xiàn)要素:
基于此,有必要針對上述問題,提供一種基于三維空間的交互控制方法和裝置、智能終端,能提高三維空間驗證控制操作的便利性。
一種基于三維空間的交互控制方法,所述方法包括:
獲取第一控制指令,基于所述第一控制指令于用戶周側的三維空間顯示或生成可操控的虛擬三維物體;
所述可操控的虛擬三維物體包括三維主體和至少一個三維配體,所述三維主體和至少一個三維配體在滿足預設匹配條件下能夠共同形成完整的目標虛擬三維物體;
識別操作主體,獲取所述操作主體作用于所述三維主體和/或三維配體的操作姿勢,根據(jù)所述操作姿勢生成對應的操作指令,根據(jù)所述操作指令移動所述三維主體和/或所述三維配體,將所述三維主體和/或所述三維配體形成完整的整體虛擬三維物體;
判斷所述整體虛擬三維物體是否與所述目標虛擬三維物體匹配,如果匹配成功,執(zhí)行與所述第一控制指令對應的控制操作。
一種基于三維空間的交互控制裝置,所述裝置包括:
可操控虛擬三維物體生成模塊,用于獲取第一控制指令,基于所述第一控制指令于用戶周側的三維空間顯示或生成可操控的虛擬三維物體,所述可操控的虛擬三維物體包括三維主體和至少一個三維配體,所述三維主體和至少一個三維配體在滿足預設匹配條件下能夠共同形成完整的目標虛擬三維物體;
匹配模塊,用于識別操作主體,獲取所述操作主體作用于所述三維主體和/或三維配體的操作姿勢,根據(jù)所述操作姿勢生成對應的操作指令,根據(jù)所述操作指令移動所述三維主體和/或所述三維配體,將所述三維主體和/或所述三維配體形成完整的整體虛擬三維物體;
判斷執(zhí)行模塊,用于判斷所述整體虛擬三維物體是否與所述目標虛擬三維物體匹配,如果匹配成功,執(zhí)行與所述第一控制指令對應的控制操作。
一種智能終端,其特征在于,所述智能終端包括上述任一實施例所述的基于三維空間的交互控制裝置。
上述基于三維空間的交互控制方法和裝置、智能終端,通過獲取第一控制指令,基于第一控制指令于用戶周側的三維空間顯示或生成可操控的虛擬三維物體,可操控的虛擬三維物體包括三維主體和至少一個三維配體,三維主體和至少一個三維配體在滿足預設匹配條件下能夠共同形成完整的目標虛擬三維物體,識別操作主體,獲取操作主體作用于所述三維主體和/或三維配體的操作姿勢,根據(jù)操作姿勢生成對應的操作指令,根據(jù)操作指令移動三維主體和/或三維配體,將三維主體和/或所述三維配體形成完整的整體虛擬三維物體,判斷整體虛擬三維物體是否與所述目標虛擬三維物體匹配,如果匹配成功,執(zhí)行與第一控制指令對應的控制操作,整個操作過程在三維空間完成,不需要鍵盤進行輸入,通過動作操作完成,提高了驗證控制操作的便利性與趣味性。
附圖說明
圖1為一個實施例中基于三維空間的交互控制方法的應用環(huán)境圖;
圖2為一個實施例中顯示設備110與處理設備120的內部結構圖;
圖3為一個實施例中智能終端130的內部結構圖;
圖4為一個實施例中基于三維空間的交互控制方法的流程圖;
圖5為一個實施例中可操控的虛擬三維物體示意圖;
圖6為一個實施例中將三維配體移動至三維主體對應的缺口處時示意圖;
圖7為一個實施例中形成完整虛擬三維物體后示意圖;
圖8為一個實施例中顯示可操控的虛擬三維物體的流程圖;
圖9為一個實施例中用戶的操作舒適區(qū)示意圖;
圖10為一個實施例中形成完整的整體虛擬三維物體的流程圖;
圖11為一個實施例中匹配移動軌跡的流程圖;
圖12為一個實施例中判斷移動軌跡是否與預設移動軌跡匹配的流程圖;
圖13為一個實施例中移動三維配體過程中移動軌跡對應的方向示意圖;
圖14為一個實施例中獲取操作主體對三維主體和/或三維配體的拿取操作的流程圖;
圖15為一個具體的實施例中獲基于三維空間的交互控制方法的流程示意圖;
圖16為一個實施例中基于三維空間的交互控制裝置的結構框圖;
圖17為一個實施例中可操控虛擬三維物體生成模塊的結構框圖;
圖18為一個實施例中匹配模塊的結構框圖;
圖19為又一個實施例中基于三維空間的交互控制裝置的結構框圖;
圖20為再一個實施例中基于三維空間的交互控制裝置的結構框圖;
圖21為一個實施例中移動軌跡判斷模塊的結構框圖。
具體實施方式
圖1為一個實施例中基于三維空間的交互控制方法運行的應用環(huán)境圖。如圖1所示,該應用環(huán)境包括顯示設備110、處理設備120,其中顯示設備110和處理設備120可通過網(wǎng)絡或數(shù)據(jù)線進行通信,其中顯示設備110可以是頭戴式顯示設備,顯示設備110可包括控制器和紅外發(fā)射器,控制器可以是手持控制器、腳持控制器等,控制器內嵌紅外接收器與紅外發(fā)射器配合進行定位。顯示設備110還可包括深度攝像頭,通過深度攝像頭識別人體特征部位進行定位。處理設備120用于對顯示設備110傳輸?shù)臄?shù)據(jù)進行處理,顯示設備110和處理設備120可集成于一體形成智能終端130,智能終端包括但不限于帶有多個攝像頭的手機、平板電腦、平板筆記本以及各類頭盔、眼鏡設備等。顯示設備110基于第一控制指令于用戶周側的三維空間顯示或生成可操控的虛擬三維物體,可操控的虛擬三維物體包括三維主體和至少一個三維配體,識別操作主體,獲取操作主體作用于三維主體和/或三維配體的操作姿勢,根據(jù)操作姿勢生成對應的操作指令,根據(jù)操作指令移動三維主體和/或三維配體,將三維主體和/或三維配體形成完整的整體虛擬三維物體,將三維主體和/或三維配體的位置信息發(fā)送至處理設備120進行處理,由處理設備120判斷是否形成整體虛擬三維物體,并判斷整體虛擬三維物體是否與目標虛擬三維物體匹配,如果匹配成功,則驗證成功,執(zhí)行對應的控制指令,其中第一控制指令可以是解鎖指令、登錄指令、支付指令等。
圖2為一個實施例中顯示設備110和處理設備120的內部結構示意圖,顯示設備110包括非易失性存儲介質、內存、顯示屏和輸入裝置,非易失性存儲介質存儲有操作系統(tǒng),還包括一種第一基于三維空間的交互控制裝置,第一基于三維空間的交互控制裝置用于基于第一控制指令于用戶周側的三維空間顯示或生成可操控的虛擬三維物體,可操控的虛擬三維物體包括三維主體和至少一個三維配體,識別操作主體,獲取操作主體作用于三維主體和/或三維配體的操作姿勢,根據(jù)操作姿勢生成對應的操作指令,根據(jù)操作指令移動三維主體和/或三維配體,將三維主體和/或三維配體形成完整的整體虛擬三維物體,將采集的處理數(shù)據(jù)發(fā)送至處理設備120進行處理,顯示設備110中的內存為非易失存儲介質中的第一基于三維空間的交互控制裝置的運行提供環(huán)境。顯示設備110的顯示屏可以是液晶顯示屏或者電子墨水顯示屏等,輸入裝置可以是顯示屏上覆蓋的觸摸層,也可以是外殼上設置的按鍵、軌跡球或觸控板,也可以是控制器、深度攝像頭等,顯示設備110采集的數(shù)據(jù)發(fā)送至處理設備120進行處理,其中處理設備120包括非易失性存儲介質、內存、處理器,該處理器用于提供計算和控制能力,支撐整個終端的運行,非易失性存儲介質存儲有操作系統(tǒng),還包括一種第二基于三維空間的交互控制裝置,第二基于三維空間的交互控制裝置用于根據(jù)顯示設備110發(fā)送的數(shù)據(jù)判斷整體虛擬三維物體是否與目標虛擬三維物體匹配,如果匹配成功,則驗證成功,執(zhí)行與第一控制指令對應的控制操作。
圖3為一個實施例中智能終端130的內部結構示意圖,該智能終端130包括通過系統(tǒng)總線連接的處理器、非易失性存儲介質、內存、顯示屏和輸入裝置。其中,非易失性存儲介質存儲有操作系統(tǒng),還包括一種第三基于三維空間的交互控制裝置。該處理器用于提供計算和控制能力,支撐整個智能終端的運行。智能終端130中的內存為非易失存儲介質中的第三基于三維空間的交互控制裝置的運行提供環(huán)境。顯示屏可以是光導透明全息透鏡等,輸入裝置可以是顯示屏上覆蓋的觸摸層,也可以是終端外殼上設置的按鍵、軌跡球或觸控板,也可以是控制器、深度攝像頭等。智能終端130還可包括光度傳感器、環(huán)境感知攝像頭、揚聲器等,圖3中示出的結構,僅僅是與本申請方案相關的部分結構的框圖,并不構成對本申請方案所應用于其上的智能終端的限定,具體的智能終端可以包括比圖中所示更多或更少的部件,或者組合某些部件,或者具有不同的部件布置。
如圖4所示,在一個實施例中,提供了一種基于三維空間的交互控制方法,以應用于上述應用環(huán)境中的顯示設備、處理設備或智能終端來舉例說明,包括如下步驟:
步驟S210,獲取第一控制指令,基于第一控制指令于用戶周側的三維空間顯示或生成可操控的虛擬三維物體,可操控的虛擬三維物體包括三維主體和至少一個三維配體,三維主體和至少一個三維配體在滿足預設匹配條件下能夠共同形成完整的目標虛擬三維物體。
具體的,第一控制指令是用于執(zhí)行對應的控制操作的指令,只有通過對可操控的虛擬三維物體移動形成與目標虛擬三維物體匹配的整體虛擬三維物體,才能執(zhí)行第一控制指令對應的控制操作,即應用于需要驗證才能執(zhí)行操作的場景,如解鎖場景、支付場景、登錄場景等。虛擬三維物體是在三維空間顯示的具有深度的三維圖像,用于對控制操作進行驗證,以生成控制指令,可操控的虛擬三維物體的具體形態(tài)、位置、個數(shù)可根據(jù)需要自定義,如簡單的幾何體,如長方體,或根據(jù)真實場景中的物體生成的可操控的虛擬三維物體,如動物、人物、生活用品等。三維主體是指可操控的虛擬三維物體的主要部分,如立方體除去缺口的部分、人體軀干部分等,三維配體是指與三維主體在滿足預設匹配條件下能夠共同形成完整虛擬三維物體的部分,如缺口部分、人體軀干之外的眼睛、手等。三維主體和至少一個三維配體形成完整的目標虛擬三維物體,預設匹配條件和形成的方式可根據(jù)需要自定義。
在一個實施例中,三維主體和至少一個三維配體通過連接組合或通過將三維配體嵌入三維主體能夠共同形成完整的目標虛擬三維物體。
具體的,如三維配體是從三維主體內部分離,通過將三維配體嵌入三維主體,通過嵌入式形成完整目標虛擬三維物體,如三維配體與三維主體是通過將虛擬三維物體分割形成,則通過組合的方式連接形成完整目標虛擬三維物體。如圖5所示,為一個具體的實施例中,可操控的虛擬三維物體包括三維主體240和三維配體250,三維主體240包括與三維配體250匹配的缺口241,如圖6所示,可以將三維配體250移動至三維主體240對應的缺口241處,如圖7所示,并將三維配體250嵌入缺口241形成完整虛擬三維物體260。
步驟S220,識別操作主體,獲取操作主體作用于三維主體和/或三維配體的操作姿勢,根據(jù)操作姿勢生成對應的操作指令,根據(jù)操作指令移動三維主體和/或三維配體,將三維主體和/或三維配體形成完整的整體虛擬三維物體。
具體的,可通過紅外線或深度攝像頭等檢測作用于三維主體和/或三維配體的操作姿勢,操作主體可以是人體特征部分,如人手、腳、眼睛等,也可以是控制器,如手柄等。操作姿勢可以是拿取操作、彈擊操作,旋轉操作、縮放操作等不同形式的操作,不同的操作姿勢生成對應的操作指令,不同的操作指令可對三維主體和/或三維配體進行不同的操作,如位置變換操作、尺度變換操作等。根據(jù)操作主體的不同,操作姿勢可分為手勢操作、肩部操作、眼動操作、腳勢操作等。旋轉操作、縮放操作可以是在拿取操作之后進行的操作,可通過操作主體與三維主體和/或三維配體的距離和接觸時間判斷是否觸發(fā)拿取操作。如操作主體與三維主體和/或三維配體的距離小于預設閾值時,觸發(fā)拿取操作?;虍敳僮髦黧w與三維主體和/或三維配體產(chǎn)生碰撞時,觸發(fā)拿取操作。或當操作主體的動作與拿取操作對應的動作匹配且進入三維主體和/或三維配體的有效操作區(qū)域時,觸發(fā)拿取操作,如手握攏的動作。將三維主體和/或三維配體形成完整的整體虛擬三維物體的過程中,可將三維配體固定,移動三維主體,或將三維主體固定,移動三維配體,或同時移動三維主體或三維配體,在有多個三維配體時,需要將各個三維配體移動到合適的位置??赏ㄟ^彈擊操作,根據(jù)手部握緊力度獲取力度,從而對三維主體或三維配體彈擊,根據(jù)力度產(chǎn)生一定距離的滑動,如直線滑動或拋物線滑動,從而不需要移動三維操作主體或只需要將三維主體或三維配體對準方向,移動較小的距離就可將三維主體和/或三維配體形成完整的整體虛擬三維物體,進一步提高了操作的便利性。
步驟S230,判斷整體虛擬三維物體是否與目標虛擬三維物體匹配,如果匹配成功,執(zhí)行與第一控制指令對應的控制操作。
具體的,目標虛擬三維物體的形態(tài)是用戶在接收第一控制指令前設定的,可包括形狀狀態(tài)、顏色狀態(tài)等,只有完成整體虛擬三維物體與目標虛擬三維物體匹配,才能完成驗證,執(zhí)行第一控制指令對應的控制操作,加強了控制操作執(zhí)行的安全性??刹倏氐奶摂M三維物體在驗證前會生成并顯示,在驗證通過后會自動消失,進入驗證通過后的顯示界面。在一個實施例中,為了加強匹配的難度,在形成整體虛擬三維物體前,需要對三維主體或三維配體更換顏色、進行旋轉、縮放、驗證移動路徑等,進一步提高控制操作執(zhí)行的安全性,可用于支付場景、登錄場景、解鎖場景等,只有匹配成功,才能執(zhí)行支付、實現(xiàn)登錄、進行解鎖等。整個操作過程在三維空間完成,不需要鍵盤進行輸入,通過動作操作完成,進一步提高了便利性與趣味性。
本實施例中,通過獲取第一控制指令,基于第一控制指令于用戶周側的三維空間顯示或生成可操控的虛擬三維物體,可操控的虛擬三維物體包括三維主體和至少一個三維配體,三維主體和至少一個三維配體在滿足預設匹配條件下能夠共同形成完整的目標虛擬三維物體,識別操作主體,獲取操作主體作用于所述三維主體和/或三維配體的操作姿勢,根據(jù)操作姿勢生成對應的操作指令,根據(jù)操作指令移動三維主體和/或三維配體,將三維主體和/或所述三維配體形成完整的整體虛擬三維物體,判斷整體虛擬三維物體是否與所述目標虛擬三維物體匹配,如果匹配成功,執(zhí)行與第一控制指令對應的控制操作,整個操作過程在三維空間完成,不需要鍵盤進行輸入,通過動作操作完成,提高了驗證控制操作的便利性與趣味性。
在一個實施例中,第一控制指令為解鎖指令、支付指令或登錄指令,如圖8所示,步驟S210中基于所述第一控制指令于用戶周側的三維空間顯示或生成可操控的虛擬三維物體的步驟包括:
步驟S211,獲取配置信息,根據(jù)所述配置信息從控制虛擬三維物體庫中選取對應的目標虛擬三維物體模型,生成目標可操控虛擬三維物體。
具體的,對于解鎖場景,用戶可通過對鎖定界面的觸控生成解鎖指令,從而觸發(fā)獲取配置信息。在一個實施例中,也可在接收到鎖定指令后就生成并顯示目標可操控虛擬三維物體,則在需要解鎖時,可直接移動目標可操控虛擬三維物體??赏ㄟ^自動檢測用戶是否摘掉穿戴式設備,或檢測到預設手勢或通過按鍵彈出菜單作用于鎖定按鍵的操作生成鎖定指令。對于支付或登錄場景,在驗證支付權限或登錄權限時,生成支付指令或登錄指令。配置信息用于配置目標可操控虛擬三維物體,可為目標可操控虛擬三維物體對應的標識信息、名稱等,從而從控制虛擬三維物體庫中通過配置信息選擇對應的目標虛擬三維物體模型。目標虛擬三維物體模型是用于生成目標虛擬三維物體所需的數(shù)據(jù),包括圖片、渲染皮膚等,根據(jù)目標虛擬三維物體模型生成可操控目標虛擬三維物體。
步驟S212,在深度感知區(qū)域范圍內顯示目標可操控虛擬三維物體。
具體的,深度感知區(qū)域范圍是指在深度感知硬件能力所及的感知區(qū)域,可進一步設定在用戶的操作舒適區(qū),其中設備深度感知硬件包括但不限于雙目攝像頭、RGBD攝像頭、紅外攝像頭,深度感知方法包括但不限于立體視覺方法、結構光方法、Time Of Flight飛行時間方法。用戶的操作舒適區(qū)是指用戶無需移動可觸及的區(qū)域,例如,如果用戶是用手部操作,則為手所能及的范圍,如圖9所示,為一個具體的實施例中,用戶的操作舒適區(qū)271和272的示意圖。
本實施例中,通過配置信息可指定目標可操控虛擬三維物體,實現(xiàn)可操控虛擬三維物體生成的靈活性,提高了用戶的選擇度。在需要驗證權限的場景,通過解鎖指令、支付指令或登錄指令自動生成目標可操控虛擬三維物體,可通過對目標可操控虛擬三維物體的三維主體和/或三維配體的操作完成解鎖、支付或登錄,提高了解鎖操作、支付操作或登錄操作的便利性。
在一個實施例中,如圖10所示,步驟S220包括:
步驟S221,識別操作主體,根據(jù)操作主體的運動軌跡和狀態(tài)特征識別操作主體對三維主體和/或三維配體的拿取操作,根據(jù)拿取操作生成對應的拿取指令,以使三維主體和/或三維配體跟隨所述操作主體的位置移動。
具體的,識別操作主體即指對控制器或者人體特征部位的識別,可通過紅外或計算機視覺技術實現(xiàn)操作主體的識別。控制器可以是手持控制器、肩部控制器、腿部控制器等,人體特征部位可為手部、肩部、腿部等,操作主體可以為一個或多個,如左右手同時為操作主體。
對于不同的三維顯示系統(tǒng),通過不同的操作觸發(fā)拿取操作,需要識別不同的狀態(tài)特征并結合操作主體的運動軌跡識別拿取操作以生成拿取指令,如對于帶手持控制器的虛擬現(xiàn)實穿戴式設備,可檢測手持控制器的位置,當手持控制器與三維主體和/或三維配體的距離在預設范圍內,再獲取作用于手持控制器上的按鈕的操作進行拿取操作。對于具有手勢識別能力的設備,如增強現(xiàn)實眼鏡設備,檢測用戶手部,根據(jù)手部的移動確定手部的位置,當手部與三維主體和/或三維配體的距離在預設范圍內,根據(jù)手部形態(tài)變化識別對三維主體和/或三維配體的拿取操作,手部形態(tài)變化可為按壓、合攏等,不同的手部形態(tài)變化可對應不同的操作指令,如手背向上握拳為拿取,食指向上抬起為準備狀態(tài),向下點擊并回到握拳狀態(tài)為一次選擇等,可根據(jù)需要自定義手部形狀變化對應的指令。拿取操作觸發(fā)后,相當于將手或手持控制器與操作對象綁定,三維主體和/或三維配體跟隨操作主體的位置移動。
步驟S222,根據(jù)操作主體的運動軌跡移動三維主體和/或三維配體以形成完整的整體虛擬三維物體。
具體的,三維主體和/或三維配體的移動軌跡與操作主體的運動軌跡一致,對于缺口式配體,可將三維配體與三維主體上的缺口位置對齊,并移動至缺口內部,形成完整整體。對于連接組合式的三維主體和三維配體,可確定各個三維配體與三維主體的相對位置,從而將各個三維主體和配置放置在對應的位置上形成連接組合??蓪⑷S主體和/或三維配體中的一個或多個進行固定增加形成完整整體的難度。
在一個實施例中,根據(jù)操作指令移動三維主體和/或三維配體的步驟之前,還包括:獲取操作主體作用于三維主體和/或三維配體的旋轉操作,根據(jù)旋轉操作生成對應的旋轉指令以旋轉三維主體和/或三維配體,使得三維主體和/或三維配體的方向匹配;和/或獲取操作主體作用于三維主體和/或三維配體的尺度變換操作,根據(jù)尺度變換操作生成對應的尺度變換指令以縮放所述三維主體和/或三維配體,使得三維主體和/或三維配體的大小匹配。
具體的,可通過特定的旋轉操作生成旋轉指令,旋轉操作的操作規(guī)則可根據(jù)需要自定義。如顯示的三維主體相對于人眼為背面或缺口在背面,則可通過旋轉三維主體,使得三維主體或缺口為正面顯示,從而便于將三維配體放入主體上的缺口。旋轉的角度和方向可通過當前三維主體或三維配體的顯示狀態(tài)和相對位置決定??赏ㄟ^特定的尺度變換操作對三維主體和/或三維配體進行縮放,如對三維主體或三維配體的第一位置,如中心位置進行點擊為放大,第二位置,如邊緣位置進行點擊為縮小,可通過作用于三維主體或三維配體上的操作時間確定縮放的倍數(shù)或通過點擊次數(shù)確定縮放的倍數(shù)。通過設置三維主體和三維配體需要通過旋轉或縮放才能進行匹配,進一步加大了驗證的難度,保證了操作指令執(zhí)行的安全性。
在一個實施例中,如圖11所示,步驟S230的步驟之前,還包括:
步驟S310,記錄三維主體和/或三維配體的移動軌跡。
具體的,在三維空間建立坐標系,可以人眼位置為坐標系原心,建立三維坐標系,從而得到三維主體和/或三維配體隨著時間移動時不同的位置,將不同的位置進行連接得到移動軌跡。
步驟S320,判斷移動軌跡是否與預設移動軌跡匹配,如果匹配,則進入判斷整體虛擬三維物體是否與目標虛擬三維物體匹配的步驟。否則,拒絕執(zhí)行與所述第一控制指令對應的控制操作。
具體的,預設移動軌跡可根據(jù)需要自定義,如定義移動軌跡為最短路徑,或定義移動軌跡包括一個圓周軌跡、三角形軌跡等,或包括不同方向的移動軌跡。預設移動軌跡可為多個,根據(jù)移動對象的不同,分別對應不同的預設移動軌跡,如移動主體時,預設移動軌跡為第一移動軌跡,移動配體時,預設移動軌跡為第二軌跡,移動主體和配體時,預設移動軌跡為第三移動軌跡。
本實施例中,只有移動軌跡與預設移動軌跡匹配,才能進入判斷整體虛擬三維物體是否與目標虛擬三維物體匹配的步驟,提高了驗證的復雜度,降低其他用戶驗證成功的概率,避免惡意驗證成功,執(zhí)行對應的控制指令獲取用戶的敏感信息,從而進一步增強了安全保護。
在一個實施例中,如圖12所示,記錄三維主體和/或三維配體的移動軌跡,判斷移動軌跡是否與預設移動軌跡匹配的步驟包括:
步驟S224,獲取三維主體和/或三維配體的移動方向,根據(jù)移動方向生成對應的當前軌跡方向序列。
具體的,根據(jù)三維主體和/或三維配體的移動軌跡確定移動方向,每次移動軌跡改變方向都對應一個方向標識,不同的方向標識根據(jù)時間先后順序組合形成當前軌跡方向序列。如一個具體的實施例中,如圖13所示,配體移動方向對應為向下、斜向前上、向下、向前直至合體,則生成當前軌跡方向序列{-1、3、-1、2},其中不同的值對應了不同的方向。
步驟S225,獲取預設軌跡方向序列,判斷當前軌跡方向序列與預設軌跡方向序列是否相同,如果相同,則匹配成功,否則匹配不成功。
具體的,預設軌跡方向序列可根據(jù)需要自定義,只要當前軌跡方向序列與預設軌跡方向序列相同,則匹配成功,將軌跡通過不同方向形成的序列進行表示,將軌跡數(shù)字化,提高了軌跡匹配的便利性。
在一個實施例中,如圖14所示,操作主體為操作主體控制器,步驟S221中識別操作主體,根據(jù)操作主體的運動軌跡和狀態(tài)特征識別操作主體對三維主體和/或三維配體的拿取操作的步驟包括:
步驟S221a,通過與操作主體控制器對應的紅外發(fā)射器與操作主體控制器內嵌的紅外接收器識別操作主體控制器。
具體的,紅外發(fā)射器可布置于房間墻壁等位置,在紅外發(fā)射器的發(fā)射范圍內,都可識別到操作主體控制器。
步驟S221b,根據(jù)紅外信號定位操作主體控制器的位置,根據(jù)操作主體控制器的位置確定操作主體控制器與三維主體和/或三維配體的距離,根據(jù)距離識別操作主體對三維主體和/或三維配體的拿取操作。
具體的,可根據(jù)紅外信號發(fā)出的時間和被操作主體控制器接收的時間差確定操作主體控制器與紅外發(fā)射器之間的距離,紅外發(fā)射器的位置固定,從而可將此距離換算為操作主體控制器在三維坐標系的坐標,并根據(jù)操作主體控制器在三維坐標系的坐標與三維主體和/或三維配體在三維坐標系的坐標計算操作主體控制器與三維主體和/或三維配體的距離,從而再根據(jù)距離識別操作主體對三維主體和/或三維配體的拿取操作。本實施例中,通過紅外線進行定位,不需要大量計算,精準方便。
在一個實施例中,操作主體為人手,步驟S221中識別操作主體,根據(jù)操作主體的運動軌跡和狀態(tài)特征識別操作主體對三維主體和/或三維配體的拿取操作的步驟包括::通過深度攝像頭識別人手的位置,根據(jù)人手的位置確定人手與三維主體和/或三維配體的距離,獲取人手的動作形態(tài)特征,根據(jù)距離和動作形態(tài)特征識別人手對所述三維主體和/或三維配體的拿取操作。
具體的,根據(jù)深度攝像頭的類型,可通過不同的深度測距方法識別人手的位置,如采用雙目匹配獲取深度的方法,完全基于圖像處理技術,如通過三角定位法確定深度信息。通過深度攝像頭識別人手的位置,不需要額外佩戴控制器,簡單方便。人手的動作形態(tài)特征包括手指的彎曲度、作用范圍、作用手指個數(shù)等,只有與拿取操作的預設特征匹配才算識別到拿取操作。直接通過手勢就可進行操作,通過手勢完成對三維主體和/或三維配體的拿取操作,以使三維主體和/或三維配體跟隨操作主體的位置移動。
如圖15所示,為一個具體的實施例中,基于三維空間的交互控制方法的流程示意圖,具體過程如下:
1、獲取第一控制指令,基于第一控制指令于用戶周側的三維空間生成并顯示可操控的虛擬三維物體。
2、判斷三維主體和當前三維配體是否尺度一致,如果一致,則進入步驟4,否則進入步驟3。
3、如果不一致,則對三維主體或當前三維配體進行縮放或旋轉操作,再進入步驟4。
4、識別操作主體,獲取操作主體對當前三維配體的拿取操作,以使當前三維配體跟隨操作主體的位置移動,將當前三維配體放入三維主體對應的缺口匹配位置。
5、判斷當前是否需要匹配移動軌跡,如果需要則進入步驟6,否則進入步驟7。
6、判斷移動軌跡是否與預設移動軌跡匹配,如果匹配,則進入步驟7,否則驗證失敗。
7、判斷所有三維配體是否匹配完畢,如果是,則判斷整體虛擬三維物體是否與目標虛擬三維物體匹配,如果匹配成功,則驗證成功,執(zhí)行第一控制指令對應的控制操作。否則,獲取下一個三維配體作為當前三維配體,進入步驟2。
在一個實施例中,如圖16所示,提供了一種基于三維空間的交互控制裝置,包括:
可操控虛擬三維物體生成模塊410,用于獲取第一控制指令,基于第一控制指令于用戶周側的三維空間顯示或生成可操控的虛擬三維物體,可操控的虛擬三維物體包括三維主體和至少一個三維配體,三維主體和至少一個三維配體在滿足預設匹配條件下能夠共同形成完整的目標虛擬三維物體。
匹配模塊420,用于識別操作主體,獲取操作主體作用于三維主體和/或三維配體的操作姿勢,根據(jù)操作姿勢生成對應的操作指令,根據(jù)操作指令移動三維主體和/或三維配體,將三維主體和/或三維配體形成完整的整體虛擬三維物體。
判斷執(zhí)行模塊430,用于判斷整體虛擬三維物體是否與目標虛擬三維物體匹配,如果匹配成功,則驗證成功,執(zhí)行與所述第一控制指令對應的控制操作。
在一個實施例中,第一控制指令為解鎖指令、支付指令或登錄指令,如圖17所示,可操控虛擬三維物體生成模塊410包括:
配置信息獲取單元411,用于獲取配置信息。
目標可操控虛擬三維物體顯示單元412,用于根據(jù)所述配置信息從控制虛擬三維物體庫中選取對應的目標控制虛擬三維物體模型,生成目標可操控虛擬三維物體,在深度感知區(qū)域范圍內顯示目標可操控虛擬三維物體。
在一個實施例中,三維主體和至少一個三維配體通過連接組合或通過將所述三維配體嵌入所述三維主體能夠共同形成完整的目標虛擬三維物體。
在一個實施例中,如圖18所示,匹配模塊420包括:
拿取操作單元421,用于識別操作主體,根據(jù)操作主體的運動軌跡和狀態(tài)特征識別所述操作主體對三維主體和/或三維配體的拿取操作,根據(jù)所述拿取操作生成對應的拿取指令,以使三維主體和/或三維配體跟隨操作主體的位置移動。
匹配單元422,用于根據(jù)所述操作主體的運動軌跡移動所述三維主體和/或所述三維配體以形成完整的整體虛擬三維物體。
在一個實施例中,如圖19所示,裝置還包括:
前處理模塊440,用于獲取操作主體作用于所述三維主體和/或三維配體的旋轉操作,根據(jù)旋轉操作生成對應的旋轉指令以旋轉三維主體和/或三維配體,使得三維主體和/或三維配體的方向匹配;和/或用于獲取操作主體作用于三維主體和/或三維配體的尺度變換操作,根據(jù)尺度變換操作生成對應的尺度變換指令以縮放三維主體和/或三維配體,使得三維主體和/或所述三維配體的大小匹配。
在一個實施例中,如圖20所示,裝置還包括:
移動軌跡判斷模塊450,用于記錄三維主體和/或三維配體的移動軌跡,判斷移動軌跡是否與預設移動軌跡匹配,如果匹配,則進入判斷執(zhí)行模塊;否則,拒絕執(zhí)行與第一控制指令對應的控制操作。
在一個實施例中,如圖21所示,移動軌跡判斷模塊450包括:
當前軌跡方向序列生成單元451,用于獲取三維主體和/或三維配體的移動方向,根據(jù)移動方向生成對應的當前軌跡方向序列。
判斷單元452,用于獲取預設軌跡方向序列,判斷當前軌跡方向序列與預設軌跡方向序列是否相同,如果相同,則匹配成功,否則匹配不成功。
在一個實施例中,操作主體為操作主體控制器,拿取操作單元421還用于通過與操作主體控制器對應的紅外發(fā)射器與所述操作主體控制器內嵌的紅外接收器識別操作主體控制器,根據(jù)紅外信號定位所述操作主體控制器的位置,根據(jù)操作主體控制器的位置確定操作主體控制器與三維主體和/或三維配體的距離,根據(jù)距離識別操作主體對三維主體和/或三維配體的拿取操作。
在一個實施例中,操作主體為人手,拿取操作單元421還用于通過深度攝像頭識別人手的位置,根據(jù)人手的位置確定人手與三維主體和/或三維配體的距離,獲取所述人手的動作形態(tài)特征,根據(jù)距離和動作形態(tài)特征識別人手對三維主體和/或三維配體的拿取操作。
在一個實施例中,提供了一種智能終端,包括上述任一實施例中所述的基于三維空間的交互控制裝置。此智能終端可為虛擬現(xiàn)實設備或增強現(xiàn)實設備,通過基于三維空間的交互控制裝置的控制實現(xiàn)操作執(zhí)行前的權限驗證,提高了三維空間驗證控制操作的便利性。指令可為解鎖指令、登錄指令、支付指令等。
本領域普通技術人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關的硬件來完成,所述程序可存儲于一計算機可讀取存儲介質中,如本發(fā)明實施例中,該程序可存儲于計算機系統(tǒng)的存儲介質中,并被該計算機系統(tǒng)中的至少一個處理器執(zhí)行,以實現(xiàn)包括如上述各方法的實施例的流程。其中,所述存儲介質可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory,ROM)或隨機存儲記憶體(Random Access Memory,RAM)等。
以上所述實施例的各技術特征可以進行任意的組合,為使描述簡潔,未對上述實施例中的各個技術特征所有可能的組合都進行描述,然而,只要這些技術特征的組合不存在矛盾,都應當認為是本說明書記載的范圍。
以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對發(fā)明專利范圍的限制。應當指出的是,對于本領域的普通技術人員來說,在不脫離本發(fā)明構思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應以所附權利要求為準。