WO2023155672A1 - Input device model projecting method, apparatus and system - Google Patents
Input device model projecting method, apparatus and system Download PDFInfo
- Publication number
- WO2023155672A1 WO2023155672A1 PCT/CN2023/073666 CN2023073666W WO2023155672A1 WO 2023155672 A1 WO2023155672 A1 WO 2023155672A1 CN 2023073666 W CN2023073666 W CN 2023073666W WO 2023155672 A1 WO2023155672 A1 WO 2023155672A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- model
- input device
- virtual reality
- attitude
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating three-dimensional [3D] models or images for computer graphics
- G06T19/20—Editing of three-dimensional [3D] images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/1633—Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
- G06F1/1662—Details related to the integrated keyboard
- G06F1/1673—Arrangements for projecting a virtual keyboard
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a three-dimensional [3D] space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0354—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of two-dimensional [2D] relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
- G06F3/03543—Mice or pucks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04815—Interaction with a metaphor-based environment or interaction object displayed as three-dimensional [3D], e.g. changing the user viewpoint with respect to the environment or object
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three-dimensional [3D] modelling for computer graphics
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating three-dimensional [3D] models or images for computer graphics
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/75—Determining position or orientation of objects or cameras using feature-based methods involving models
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/761—Proximity, similarity or dissimilarity measures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/74—Projection arrangements for image reproduction, e.g. using eidophor
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10048—Infrared image
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2004—Aligning objects, relative positioning of parts
Definitions
- the present disclosure relates to the field of data technology, and in particular, to input device model projecting methods, apparatus and systems.
- VR Virtual Reality
- the existing method identifies an input device, such as a keyboard, by images, and it is required to analyze and determine the device type and model by identifying the overall shape image of the device. If the input device is partially blocked, the image captured will be incomplete, which will have a great impact on the identification of the existing method. As a result, the identification is not accurate or even invalid, and the fault tolerance for blocking is low, which further leads to the inaccurate positioning of the model in the virtual reality scene and poor user experience.
- the present disclosure provides input device model projecting methods, apparatus, storage medium and system for accurately projecting the 3D model of the input device to the virtual reality scene, so as to facilitate subsequent interaction using the input device based on its 3D model in the virtual reality scene.
- One embodiment in this disclosure provides an input device model projecting method, comprising identifying a 3D model of the input device, acquiring at least one image of the input device captured by a camera of a virtual reality system, identifying at least one feature identifier of the input device in the image, obtaining the target information in the virtual reality corresponding to the at least one feature identifier and projecting the 3D model into a virtual reality scene constructed by the virtual reality in accordance with the target information.
- determining the 3D model of the input device comprises, acquiring a configuration information, including the model information, of the input device and identifying the 3D model according to the model information.
- determining the 3D model of the input device according to the model information if there is a same model as the input device in a preset database according to the model information, identifying the 3D model as the same model in the preset database.
- the similarity is smaller than the preset value, identifying the 3D model as a model corresponding to the similarity in the preset database. Or, if the similarity is bigger than the preset value, identifying the 3D model as a target model in the preset database.
- the input device comprises a keyboard, and the feature identifier of the keyboard is a character.
- identifying at least one feature identifier of the input device in the image comprises identifying the at least one character in a preset area in the keyboard in the image if the similarity is bigger than the preset value.
- the method also comprises calculating the first spatial distance between the identified characters and calculating the second spatial distance between the identified characters in the target model.
- the difference between the first and the second spatial distance is bigger than the preset threshold, determining the position relation of the preset areas in which the identified character resides based on the first spatial distance and the second spatial distance and then updating the target model according to the position relation of the preset area. Or, If the difference between the first and the second spatial distance is less than or equal to the preset threshold, determining the target model as the 3D keyboard model existing in the preset database based on the difference.
- projecting the 3D model into the virtual reality scene constructed by the virtual reality system based on the target information comprises projecting the updated target model into the virtual reality scene constructed virtual reality system based on the target information.
- the input device also comprises a mouse, and the feature identifier of the mouse is a component.
- identifying the at least one feature identifier of the input device in the image if the similarity is bigger than the preset value and the target model applies, identifying at least one component of the mouse in the image.
- obtaining the target information of at least one feature identifier in the virtual reality comprises obtaining the target information of the at least one feature identifier in the virtual reality through a spatial position algorithm.
- the target information comprises a position and an attitude.
- obtaining the target information of at least one feature identifier in the virtual reality including acquiring images of the feature identifier captured simultaneously by at least two cameras at different angles and determining the attitude of the feature identifier based on the images of the feature identifier at different angles.
- obtaining the target information of at least one feature identifier in the virtual reality including determining the roll angle and pitch angle of a polygon formed by at least three non-conllinear feature identifiers based on a position information of each feature identifier in the polygon and determining the yaw angle of the polygon in accordance with an orientation of the polygon and a position relationship between the polygon and the 3D model, wherein the said roll angle, pitch angle and yaw angle constitute the attitude of the said polygon.
- projecting the 3D model into the virtual reality scene constructed by virtual reality system based on the target information comprises determining a position and an attitude of the 3D model based on the target information and a position relationship between the at least one feature identifier and the 3D model and projecting the 3D model into the virtual reality scene constructed by the virtual reality system based on the position and attitude of the 3D model.
- determining the position and attitude of the 3D model based on the target information and the position relation between at least one feature identifier and the 3D model comprises determining the position of the 3D model based on the position of a feature identifier and the position relationship between the feature identifier and the 3D model.
- determining the attitude of the 3D model based on the target information and the position relation between at least one feature identifier and the 3D model comprises determining the attitude of the 3D model based on the attitude of a feature identifier and the position relationship between the feature identifier and the 3D model, if the number of feature identifiers is the first preset amount and determining the attitude of the 3D model based on the attitude of the polygon and the position relationship between the polygon and the 3D model, if the number of feature identifiers is the second preset amount.
- One disclosed embodiment provides an input device model projecting apparatus, comprising a determination unit which is used to determine the 3D model of the input device.
- the input device model projecting apparatus comprises an acquisition unit which is used to acquire the image of the input device captured by the camera of the virtual reality system.
- the input device model projecting apparatus comprises an identification unit which is used to identify at least one character of the feature identifier in the image.
- the input device model projecting apparatus comprises a calculation unit which is used to calculate the target information of at least one feature identifier in the virtual reality.
- the input device model projecting apparatus also comprises a projecting unit which is used to project the 3D model into the virtual reality scene constructed by the virtual reality system based on the target information.
- One disclosed embodiment provides an electronic apparatus comprising a memory, a possessor, and a computer program.
- the computer program is stored in the memory and configured for the processor to perform the input device model projecting method as described above.
- One disclosed embodiment provides a computer readable storage medium, with computer programs stored thereon. When executed by the processor, the computer program performs the input device model projecting method as described above.
- One disclosed embodiment provides an electronic apparatus comprising one or more processors, a display device and memory coupled to the one or more processors and a plurality of programs for projecting a virtual reality (VR) model stored in the memory that, when executed by the one or more processors, cause the electronic apparatus to perform acts to display the 3D model in the virtual reality (VR) scene.
- VR virtual reality
- One disclosed embodiment provides a virtual reality system comprising a display device configured to display the virtual reality scene and projected 3D model and a plurality of cameras configured to capture images of an input device.
- the virtual reality system also comprises the electronic apparatus coupled with the one or more processors, memory coupled to the one or more processors and a plurality of programs for projecting a virtual reality (VR) model stored in the memory that, when executed by the one or more processors, cause the electronic apparatus to perform acts to display the 3D model in the virtual reality (VR) scene.
- VR virtual reality
- One embodiment provides an input device model projecting method, apparatus, medium and system.
- the method comprises: determining the corresponding 3D model of the input device, acquiring the image of the input device captured by the camera of the virtual reality system, then identifying at least one feature identifier of the input device in the image, obtaining the target information corresponding to at least one feature identifier in the virtual reality, and finally, projecting the 3D model into the virtual reality scene corresponding to the virtual reality system based on the target information.
- Such method determines the spatial position and the attitude of the device through some feature identifiers of the image identification device, and can accurately project the 3D model corresponding to the keyboard in the real space to the virtual reality scene, so as to facilitate the subsequent efficient use of the input device according to the 3D model of the input device in the virtual reality scene.
- One disclosed embodiment provides a method for projecting the input device model, comprising obtaining a hand location of a hand model in a virtual reality, receiving at least one input signal from an input device, obtaining a key position within a 3D model of the input device, determining a model location of the 3D model within the virtual reality, in accordance with the hand location and the key position and displaying the 3D model at the model location in a virtual reality scene constructed by the virtual reality system.
- determining the model location comprises determining a spatial position of the 3D model according to the key position, within the 3D model and a spatial position in the hand location
- determining the model location comprises determining an attitude of the 3D model according to the hand location of the hand model and the key positions of input signals, within the 3D model
- determining the model location also comprises determining the model location of the 3D model in the virtual reality according to the spatial position and the attitude of the 3D model.
- determining the attitude of the 3D model comprises determining a preset amount of key spatial positions according to spatial positions in a preset amount of hand locations, determining a spatial position of a plane in which the 3D model resides and an orientation of the 3D model according to the preset amount of hand locations and key positions in the 3D model and determining the attitude of the 3D model according to the spatial position of the plane and the orientation of the 3D model.
- determining the spatial position of the plane in which the 3D model resides comprises determining the spatial position of the plane in which the 3D model resides according to the spatial positions in the preset amount of hand locations of the hand model.
- determining the spatial position of the plane in which the 3D model resides also comprises determining the orientation of the 3D model, in accordance with an orientation of a polygon formed by the first number of non-conllinear keys, a spatial position and a position in the 3D model of each key in the polygon.
- determining the spatial position of the plane in which the 3D model resides and the orientation of the 3D model comprises determining a target part for pressing a second number of keys in the hand model, determining a spatial position of the plane in which the target part resides and an orientation of the target part according to the attitude in the hand location of the hand model, calculating and determining the spatial position of the plane in which the 3D model resides based on the spatial position of the plane in which the target part resides and determining an orientation of each key in the second number of keys according to the orientation of the target part and determining the orientation of the 3D model based on the orientation of each key and a position of each key in the 3D model in the second number of keys.
- the method further comprises displaying the control action to the input device, such as key pressing action in the keyboard, in the 3D mode if at least one input signal is received from the input device.
- the input device such as key pressing action in the keyboard
- the input device comprises a keyboard and/or a mouse.
- the method also comprises receiving the input signal from the input device to get the updated input signal, acquiring an updated hand location and updating the 3D model in the virtual reality scene according to the updated input signal and the updated hand location.
- One disclosed embodiment provides a model display apparatus, comprising an acquisition unit which is used to acquire the hand location of the hand model in the virtual reality.
- the model display apparatus comprises a receiving unit which is used to receive at least one input signal from the input device.
- the model display apparatus comprises a determination unit which is used to determine the model location in the virtual reality according to the key position in the 3D model and the hand location.
- the model display apparatus also comprises a display unit which is used to display the 3D model at the model location in the virtual reality constructed by the virtual reality system.
- One disclosed embodiment provides electronic apparatus, comprising a memory and a processor.
- the electronic apparatus in the one embodiment also comprises a computer program stored in the memory, when executed by the processor, the electronic apparatus performs the model display method.
- One disclosed embodiment provides a computer readable storage medium storing a computer program, wherein the computer program, when executed by the processor, performs the input device model projecting method in one embodiment.
- One disclosed embodiment provides an electronic apparatus comprising one or more processors, a display device and memory coupled to the one or more processors and a plurality of programs for projecting a virtual reality (VR) model stored in the memory that, when executed by the one or more processors, cause the electronic apparatus to perform acts to display the 3D model in the virtual reality (VR) scene.
- VR virtual reality
- One disclosed embodiment provides a virtual reality system, comprising a display device configured to display the virtual reality scene and projected 3D model.
- the virtual reality system in one embodiment comprises a plurality of cameras configured to capture images of the surrounding environment.
- the virtual reality system in one embodiment comprises one or more hand tracking devices configured to track the hand location in the virtual reality.
- the virtual reality system in one embodiment also comprises an electronic apparatus coupled with one or more processors, memory coupled to one or more processors and a plurality of programs for projecting a virtual reality (VR) model stored in the memory that, when executed by the one or more processors, cause the electronic apparatus to perform acts to display the 3D model in the virtual reality (VR) scene.
- VR virtual reality
- the model display method provided in some embodiments enables the rapid and accurate display of the input device 3D model by capturing the image of the hand pressing the key. Such method does not need to capture the images of the input device and avoid the adverse influence of blocking the input device by hands and the need to install external devices.
- the method can be quickly put into practical application, significantly improves convenience, and facilitates subsequent efficient interaction using the input device according to the 3D model displayed in the virtual reality scene.
- FIG. 1 illustrates a schematic diagram of an application scene provided in accordance with some embodiments.
- FIG. 2 illustrates a flow diagram of an input device model projecting method provided in one embodiment.
- FIG. 3a illustrates a schematic diagram of another application scene provided in accordance with some embodiments.
- FIG. 3b illustrates a schematic diagram of a keyboard provided in accordance with some embodiments.
- FIG. 3c illustrates a schematic diagram of a virtual reality scene provided in accordance with some embodiments.
- FIG. 3d illustrates a schematic diagram of another application scene provided in one disclosed embodiment.
- FIG. 3e illustrates a schematic diagram of another virtual reality scene provided in one disclosed embodiment.
- FIG. 4 illustrates a flow diagram of an input device model projecting method provided in one disclosed embodiment.
- FIG. 5 illustrates a flow diagram of an input device model projecting method provided in one disclosed embodiment.
- FIG. 6 illustrates a structure diagram of an input device model projecting apparatus provided in one disclosed embodiment.
- FIG. 7 illustrates a structure diagram of an electronic apparatus provided in accordance with some embodiments.
- FIG. 8 illustrates a structure diagram of an electronic apparatus provided in accordance with some embodiments.
- FIG. 9 illustrates a structure diagram of a virtual reality system in one disclosed embodiment.
- FIG. 10 illustrates a flow diagram of a model display method provided in one disclosed embodiment.
- FIG. 11 illustrates a flow diagram of a model display method provided in one disclosed embodiment.
- FIG. 12 illustrates a flow diagram of a model display method provided in one disclosed embodiment.
- FIG. 13 illustrates a structure diagram of a model display apparatus provided in one disclosed embodiment.
- FIG. 14 illustrates a structure diagram of a virtual reality system in one disclosed embodiment.
- a virtual reality is a computer-generated environment that displays scenes and objects that appear to be real, making the user feel they are immersed in their surroundings.
- virtual reality systems typically use either virtual reality headsets or multi-projected environments to generate realistic images, sounds and other sensations that simulate a user's physical presence in a virtual environment.
- a virtual reality scene refers to a scene generated by a VR system or a VR device where the user can move or interact with the virtual world.
- a 3D model represents a body of a object in a three-dimensional (3D) space.
- a 3D model of an input device in a virtual reality scene refers to a body of the input device in the virtual reality scene, which is a 3D space constructed by a virtual reality system.
- mapping method The projecting method in this disclosure is interchangeable with or can also be described as mapping method.
- projecting is interchangeable with or can also be described as the word “mapping” .
- project is interchangeable with or can also be described as the word “map” in circumstances understandable to a person skilled in the art.
- position in the present disclosure is interchangeable with or can also be described as the word “position information” , “location” , “location information” .
- attitude in the present disclosure is interchangeable with or can also be described as the word “attitude information” .
- virtual reality system in the present disclosure is interchangeable with or can also be described as the word “virtual reality software system” .
- first amount in the present disclosure is interchangeable with or can also be described as the term “first preset number” .
- second amount in the present disclosure is interchangeable with or can also be described as the term “second preset number” .
- Virtual reality system comprises virtual reality equipment and virtual reality software.
- Virtual reality equipment can be controller levers, mouses, keyboards, head-mounted displays, and mainframes connected to a head-mounted display, etc.
- virtual reality system can include an operating system, software algorithm for image identification, software algorithm for spatial calculation and rendering software for virtual reality scene rendering (the rendered virtual reality scene is displayed on the display screen of the head-mounted display) .
- the virtual reality system can be configured on the head-mounted display, and the head-mounted display device can be directly connected to the camera and keyboard, thus it can be understood as an all-in-one machine.
- the virtual reality system can also be configured on a mainframe connected to a head-mounted display, with a camera and keyboard connected to the mainframe, thus it can be understood as a split unit.
- a schematic diagram of an application scene provided in the present disclosure comprises a control lever 110 and a head-mounted display 120.
- the operation of a virtual reality system (all-in-one machine) on the head-mounted display 120 will be an example.
- the implementation of the method in the present disclosure by the virtual reality system running on the mainframe connected to the head-mounted display is the same as running on the all-in-one machine above and will not be repeated here.
- the control lever 110 is connected to the head-mounted display 120.
- the head-mounted display 120 comprises a display screen and the virtual reality system.
- the virtual reality system can receive and process the input signal from the control lever 110, and then displays the corresponding content of the processing result on the display screen.
- the scene displayed on the display screen can be called a virtual reality scene.
- the control lever 110 can be a control lever with a position tracking function and can be configured with simple keys such as direction keys and enter keys. Users can hold one controller lever 110 with each hand or one controller lever 110 with one hand, and click on the keys on the control lever 110 and drag and move the control lever 110 to perform interactive operations such as clicking on and dragging interfaces and objects in the virtual reality scene constructed by the head-mounted display 120.
- a virtual interface with a keyboard layout can be displayed in the virtual reality scene constructed by the head-mounted display 120, and then users can use the control lever 110 to click on the virtual keys on the virtual keyboard interface for character input.
- the virtual keyboard in the virtual reality scene constructed by the head-mounted display 120 does not correspond to the control lever 110.
- users input into the virtual reality scene constructed by the head-mounted display 120 through the control lever 110 they can only click on virtual keys on the virtual keyboard interface to input characters one by one, which is cumbersome and inconvenient. For example, the speed and efficiency of text input are also low, which ultimately leads to the low efficiency and inflexibility of the virtual reality scene constructed by the head-mounted display 120.
- the corresponding 3D model of the mouse is not displayed in the virtual reality scene, so users cannot understand the use of the mouse in real space by watching the virtual reality scene, so as to control the mouse in real space to achieve other complex operations in daily use of the mouse.
- the operation is inconvenient and does not conform to the daily use of the mouse, and the efficiency of interaction is low.
- the present disclosure provides input device model projecting methods of using an input device (akeyboard or a mouse) in real space to realize the interaction with the head-mounted display device.
- One disclosed embodiment comprises determining the 3D model of the input device, acquiring the image of the input device captured by the camera installed in the virtual reality system, identifying at least one feature identifier in the image, obtaining the target information corresponding to at least one feature identifier in the virtual reality, and then projecting the 3D model into a virtual reality scene constructed by the virtual reality system.
- the method in this embodiment is that users can control the input device based on the 3D model in virtual reality and complete the interaction between the input device and the virtual reality scene efficiently and rapidly.
- the input device model projecting method is described in detail through one or more examples below.
- FIG. 2 illustrates a flow diagram of an input device model projecting, or mapping, method provided in this disclosed embodiment for one application scene.
- the method comprises the following steps S210 to S250 shown in FIG. 2.
- a virtual reality system can be configured on the head-mounted display, and can process the data received from the keyboard, mouse or other input devices and return the processing result to the display screen of the head-mounted display.
- the display screen will change the display state of each object in the virtual reality scene according to the processing result.
- FIG. 3a illustrates a schematic diagram of another application scene provided in the present disclosure.
- FIG. 3a comprises the keyboard 310, the head-mounted display 320 and the user hands 330.
- the head-mounted display 320 is on the user's head, and the keyboard 310 is operated by the hands 330.
- the layout of keys on the keyboard 310 is as shown in FIG. 3b, and 340 in FIG. 3c shows the scene constructed within the virtual reality system running on the head-mounted display 320 shown in FIG. 3a. It is understandable that after wearing the head-mounted display, users can see the virtual reality scene constructed by the virtual reality system running on the head-mounted display 320 with their eyes, but they cannot see objects in real space and operate on them.
- devices are usually simple levers or other hand devices that only have several keys that can be operated without eyes. Those keys always include direction keys, enter key and joystick, etc. Operating without eyes on the keys makes accurate operation impossible when the input device has many keys, such as the keyboard 310.
- the method provided in the present disclosure can be used to project the corresponding 3D model 350 of the keyboard 310 to the virtual reality scene 340 displayed on the head-mounted display 320 based on the spatial position and attitude of the keyboard 310 in real space, so that users can understand and control the keyboard 310 by watching the 3D model 350 of the keyboard 310 displayed in the virtual reality scene 340, and can see the operation of the 3D model 350 of the keyboard 310 by the 3D model 360 of the user hands 330 in the virtual reality scene 340.
- the operation in the virtual reality scene 340 can be synchronized to a certain extent with the actual operation of the physical keyboard 310 by the user’s hands 330, so as to achieve efficient and rapid text input.
- FIG. 3d a schematic diagram of another application scene provided in this disclosed embodiment, comprises the mouse 370, the head-mounted display 320 and the user hands 330.
- the head-mounted display 320 is on the user's head
- the mouse 370 is operated by the hands 330
- 380 in FIG. 3e illustrates the scene constructed within the head-mounted display 320 shown in FIG. 3d, which can be called virtual reality scene 380.
- virtual reality scene 380 It is understandable that after wearing the head-mounted display, users can see the virtual reality scene constructed by the head-mounted display 320 with their eyes, but they cannot see objects in real space and operate on them.
- devices are usually simple levers or other hand devices that only have some keys that can be operated without eyes, such as direction keys, enter key and joystick.
- Interaction with the virtual reality scene is not applicable to devices with complex functions. For example, it is impossible to operate accurately on a mouse that has many keys to achieve the corresponding functions of complex operations in the mouse.
- the method provided in this disclosed embodiment can be used to project the 3D model 390 of the mouse 370 to the virtual reality scene 380 displayed on the head-mounted display 320 based on the spatial position and attitude of the mouse 370 in real space, so that users can understand and control the mouse 370 by watching the 3D model 390 of the mouse 310 displayed in the virtual reality scene 380, and can see the operation of the corresponding 3D model 390 of the mouse 370 by the corresponding 3D model 360 of the user hands 330 in the virtual reality scene 380.
- FIG. 3e also illustrates an operation interface, which is similar to the display screen of a terminal.
- the operation in the virtual reality scene 380 can be synchronized to a certain extent with the actual operation of the mouse 370 by the user’s hands 330.
- the method provided in this disclosed embodiment is applicable to not only the above application scenes.
- the keyboard is taken as the input device.
- S210 comprises determining the 3D model of the input device.
- determining the 3D model of the input device comprises: acquiring configuration information of the input device, including model information; determining the corresponding 3D model of the input device according to the model information.
- the virtual reality system acquires the configuration information of the keyboard, comprising the model information.
- the layout, content, and distance between functional areas are different for different models of the keyboard.
- Functional areas can also be understood as key areas distributed on the keyboard; each key area contains different characters and the distance between key areas is different.
- the corresponding 3D model of the physical keyboard is selected based on its model.
- the 3D model can be selected from a pre-built model database after comparing the model information or identified as the 3D model that has a similar distribution of key area on the keyboard.
- the physical keyboard is divided into the main keyboard area (comprising character keys, space key, enter key and other function keys) , direction key area (comprising 4 direction keys with arrows indicating up, down, left and right) , control key area (comprising 6 function keys such as Insert and PageDown) , number key area (comprising 17 function keys such as number keys and enter key) and top function key area (comprising 13 function keys such as Esc key and F12) .
- the layout and position relation of keys in each key area (function area) of the physical keyboard of each model are standard and determined, as is the relative position relation between different key areas.
- the control key area 311 comprises the control key area 311 and the direction key area 312, etc.
- the number key area is located at the far right of the keyboard, that is, the right of the control key area 311 and the direction key area 312.
- Direction key area 312 and control key area 311 are distributed up and down, and the relative position relation between key areas is determined.
- Keys corresponding to numbers 1 to 9 are distributed from bottom to top and left to right in the number key area, and the layout of keys in each key area (function area) is determined.
- the number 1 is in front of the number 2, and the position relation between keys is determined.
- the key indicating the down direction is below the key indicating the up direction
- the key indicating the left direction is on the left of the key indicating the down direction
- the key indicating the right direction is on the right of the key indicating down direction.
- the relative position relation between keys in the direction key area 312 is determined.
- a mouse is taken as the input device.
- the virtual reality system acquires the configuration information of the mouse, comprising the model information.
- the distribution and distance between components are different for different models of the mouse; the component can be a key or identifier set on the mouse, with keys comprising left key, right key, wheel and side key, and identifiers comprising logo of the mouse and identifier preset on the mouse.
- the corresponding 3D model of the mouse is selected based on its model.
- the 3D model can be selected from a pre-built model database after comparison and analysis to determine the corresponding exact 3D model of the mouse or identified as the 3D model with a similar distribution of the components in the mouse. Keys and the wheel in the mouse are taken as examples below.
- a mouse has 3 components, including a left key, a right key and a wheel. There are also mice with multiple keys, such as 4 keys, 5 keys, etc. The more keys there are in the mouse, the more complex the operation will be and the more functions will be realized, so the relevant interaction method will not be applicable.
- the position relation between keys of the mouse of each model is standard and determined.
- the common mouse 370 shown in FIG. 3d comprises the left key 371, the right key 373 and the wheel 372.
- the wheel 372 is adjacent to the left key 371 and the right key 373, the relative position relation between keys is determined, and the spatial distance among the left key 371, the wheel 372 and the right key 373 is determined.
- determining the corresponding 3D model of the input device according to the model information comprises: if there is the same model as that of the input device in the preset database according to the model information, determining the corresponding 3D model of the input device based on the model in the preset database. Or, if there is no same model as that of the input device in the preset database, calculating the similarity between the model stored in the preset database and the model of the input device, and determining whether the similarity is less than or equal to the preset value. If yes, determining the corresponding 3D model of the input device based on the model corresponding to the similarity in the preset database. If the similarity is bigger than the preset value, determining the target model in the preset database.
- the model information of the keyboard is acquired, whether there is the same model as the input keyboard in the preset database is determined.
- Corresponding 3D models of different keyboards are prestored in the preset database.
- the model of the keyboard can be AAAA, and the corresponding 3D model of the keyboard in the preset database is also AAAA. If there is a model the same as the keyboard in the preset database, the 3D model in the virtual reality scene can be directly determined as the corresponding 3D model of the keyboard in the preset database, thus further reducing the interaction time. Determining the target model when the mouse is the input device is the same as that when the keyboard is the input device, so such determination will not be repeated here.
- the similarity between the model stored in the preset database and the model of the input device should be further calculated. Whether the similarity is less than or equal to a preset value should be determined.
- the purpose of the calculation and the comparison is the figure out whether there is a model similar to the input keyboard in the preset database.
- Similar keyboard models have similar layouts, and the rules for determining similar models can be preset.
- AAAA and AAAB can be set as similar models. Keyboards of models AAAA and AAAB have similar layouts, and the matching degree is relatively high.
- AAAA contains 4 characters
- the AAAB also contains 4 characters.
- the positions of 3 characters in AAAA and AAAB are the same and the characters in such positions are the same, i.e., A, and only the fourth character is different. Therefore, it can be calculated that the similarity between the two models is 0.25.
- the preset value can be set to 0.4 as required. Since the similarity 0.25 is less than the preset value 0.4, it can be determined that there is a model similar to the input keyboard in the preset database. Then, the corresponding 3D model of the model AAAA can be determined based on the model AAAB which corresponds to the similarity lower than the preset value. Only one similar 3D model is required to be stored in the preset database to reduce the occupied storage space and associate similar models directly. If there is a model similar to the input keyboard in the preset database, the corresponding 3D model of the keyboard can be directly determined based on the similar model.
- the target model should be determined in the preset database.
- the target model can be a generic model prestored in the preset database, or a keyboard-like 3D model selected in the preset database.
- S220 comprises acquiring the image of the input device captured by the camera of the virtual reality system.
- the camera can be an infrared camera, a color camera, or a grayscale camera.
- images with a black background and white characters can be generated when captured with a grayscale camera, and images comprising keyboards captured in real time by the camera mounted on the head-mounted display in the virtual reality system can be acquired.
- the black background is the overall background of the keyboard, and the white characters represent the characters on keys, which facilitates the subsequent rapid and accurate binary classification and identification of the characters in the images.
- images comprising the keyboard 310 can be captured by the camera mounted on the head-mounted display 320 shown in FIG. 3a and transmitted to the virtual reality system for processing.
- the virtual reality system acquires the image of the mouse captured by the camera in real time.
- the structure between the keys and the wheel in the mouse image is clear, and the gap between the keys can be distinguished. That facilitates the subsequent rapid and accurate identification of keys on the mouse, and the accurate identification of the areas where the left key, the right key and the wheel of the mouse reside in the image.
- S230 comprises identifying at least one feature identifier of the input device in the image.
- the input device comprises a keyboard, and the feature identifier of the keyboard is a character.
- the input device also comprises a mouse, and the feature identifier of the mouse is a component.
- the virtual reality system can identify at least one character on the keyboard in the image based on the image identification algorithm, and can identify the white characters in the black and white image acquired above, or identify the characters with obvious color differentiation on the keys, so as to improve the identification speed.
- 3 characters in any of the 5 key areas mentioned above can be identified. Those 3 characters may not be in a horizontal line.
- the 3 characters can be A, W and D in the same key area, or F3, M and N in different key areas.
- the selection of 3 characters is not restricted.
- the image identification algorithm can be an algorithm having a character identification function, and is not restricted here.
- the virtual reality system can identify at least one component on the mouse in the image based on the image identification algorithm. Particularly, the three keys on the mouse can be identified: left key, right key and wheel.
- the similarity is bigger than the preset value and the target model applies, at least one character in each preset area of the keyboard in the image should be identified.
- a 3D model similar to the model of the keyboard or a generic 3D model can be selected. This could happen if the input keyboard has uncommon layouts. For example, keyboards with 87 keys, or keyboards which contain two or more separate parts are quite uncommon compared with the normal 104 keys keyboard.
- a similar 3D model is taken as an example below. Characters should be identified in each of the five preset areas of the keyboard in the image. The preset areas can be the five keyboard areas and at least one character should be identified in each area.
- character 4 is identified in the number key area, character A in the main keyboard area, direction key up in the direction key area, Insert in the control key area and F12 in the top function key area. Then a similar 3D model can be adjusted according to the position of characters in each key area of the keyboard, or a similar 3D model can be directly used as the 3D model matching the keyboard.
- S240 comprises obtaining the target information corresponding to the at least one feature identifier in the virtual reality.
- the virtual reality system calculates the target information corresponding to the at least one character in the virtual reality.
- the target information comprises a position and a direction (an attitude) .
- the head-mounted display 320 shown in FIG. 3a will be equipped with 3-4 cameras to capture real time information about the environment around the user's head, and determine the position relation between the captured environment and the head-mounted display and construct a space, which can be called the target space.
- the keyboard and the user's hands are within the determined target space.
- the target information of at least one character on the keyboard is calculated within the target space, that is, the target information of the character within the target space.
- Position refers to the spatial three-dimensional coordinates (XYZ) of a character in the target space.
- Direction information refers to the attitude of the character in the target space, such as the rotation angle, pitch angle, and roll angle of the character in the target space.
- Spatial three-dimensional coordinates refer to the three-dimensional coordinates within the target space.
- Attitude refers to the attitude within the target space.
- This embodiment uses 3 to 4 cameras to capture images of the environment. However, the number of cameras is not fixed and could be changed under different working requirements. If the information required to build a 3D model is simple, the number of cameras could be reduced to 2. By contrast, if the information required is relatively complicated, the number of cameras could be increased.
- obtaining the target information of the at least one feature identifier comprises obtaining the target information corresponding to the at least one feature identifier in the virtual reality through spatial position algorithm.
- the target information of each character on the keyboard in the target space can be calculated through the spatial position algorithm, which can be an algorithm for resolving the relative motion of points in two-dimensional space and three-dimensional space (Perspective-n-Point/PnP) .
- obtaining the target information corresponding to at least one feature identifier in the virtual reality comprises: for the first preset amount of feature identifiers, acquiring the image of the same feature identifier captured simultaneously by at least two cameras from different angles, and determining the attitude of the same feature identifier based on the image of the same feature identifier at different angles; Or, for the second preset amount of feature identifiers, determining the roll angle and pitch angle of the polygon, which is formed by at least three feature identifiers, based on the position of the said the at least three non-collinear feature identifiers. Determining the yaw angle of the polygon based on the orientation of the polygon and the position relation between the polygon and the 3D model. The roll angle, pitch angle and yaw angle constitute the attitude of the polygon.
- the target information comprises position and attitude. After the position of the feature identifier in the virtual reality is determined, the attitude of the feature identifier in the virtual reality should be calculated. Particularly, for the first preset amount of feature identifiers, wherein the first preset amount is either 1 or 2, 1 feature identifier is taken as an example.
- the same feature identifier can be character A on the keyboard. Therefore, it is to use two cameras to capture images comprising character A simultaneously from different angles, and determine the attitude of the same feature identifier based on the image of the same feature identifier from different angles, that is, determining the attitude of character A.
- the attitude of a feature identifier in images captured at two or more different angles can be determined, with the specific implementation method not repeated here.
- the roll angle and pitch angle of the polygon (triangle AWC) formed by three feature identifiers can be determined based on the position of three feature identifiers that are not in a straight line (which can be A, W and C) .
- Three points define a triangle, and the roll angle and pitch angle of the triangle can be determined.
- the yaw angle of the triangle can be determined based on the orientation of the triangle formed by three feature identifiers.
- the yaw angle of the triangle formed by three points can be determined.
- the roll angle, pitch angle and yaw angle constitute the attitude of the triangle.
- the front of the keyboard or mouse can be predefined to be positive, and the back to be negative so that the roll angle, pitch angle and yaw angle can be positive or negative and the attitude of the triangle can be determined more accurately.
- the method provided in the present disclosure can accurately determine the position and the attitude of the model in the virtual reality scene by collecting at most 3 feature identifiers, and then accurately displaying the complete 3D model to realize the interaction between the virtual and the real.
- the method in some embodiments have high fault tolerance for blocking. Even if there is blocking, the process and accuracy of model projecting will not be affected as long as fewer feature identifiers can be identified. There is no need to identify the complete shape of the object, and the implementation is relatively easy.
- S250 comprises projecting the 3D model into the virtual reality scene corresponding to the virtual reality system based on the target information.
- the 3D model can be projected into the virtual reality scene constructed by the virtual reality system based on the target information of each character, that is, the corresponding 3D model of the keyboard as determined in S210 can be displayed in the virtual reality scene constructed by the virtual reality system.
- the position and the attitude of the 3D model in the target space are the same as those of the keyboard (physical keyboard) in real space. Users can determine the situation of the physical keyboard in real space based on the state of the 3D model in the virtual reality scene displayed on the display screen of the head-mounted display, and then control the physical keyboard to achieve rapid text input or other functions.
- S250 above comprises: determining the position and the attitude of the 3D model based on the target information and the position relation between at least one feature identifier and the 3D model; projecting the 3D model into the virtual reality scene corresponding to the virtual reality system based on the position and the attitude of the 3D model.
- the target information of the whole 3D model in the virtual reality which is the position and the attitude of the 3D model in the virtual reality, can be determined based on the calculated target information of each character and the position of each character on the corresponding 3D model of the keyboard (the position relation between at least one feature identifier and the 3D model) .
- the calculated target information of each character is within the constructed target space, and the position of each character on the corresponding 3D model of the keyboard is fixed or can be determined.
- the position of each character on the corresponding 3D model of the keyboard comprises the spatial distance between characters and the relative position of each character, as well as the spatial distance between a character and a preset identifier and the relative position of the character to the preset identifier.
- a preset identifier can be set up in advance on the keyboard.
- preset identifiers can be white dots.
- the distance between characters on the corresponding 3D model of the keyboard of each model and the direction of each character are fixed.
- the spatial distance between character A and character W is fixed, and the relative position of character W above character A is also fixed, that is, the target information of the whole 3D model in the virtual reality can be determined based on the calculated target information of characters and the position of characters on the 3D model.
- the 3D model can be displayed at the target information of the 3D model in the virtual reality scene, which can also be understood as the real, accurate and rapid projecting of the physical keyboard in reality to the virtual reality scene.
- determining the position and attitude of the 3D model based on the target information and the position relation between at least one feature identifier and the 3D model comprises: determining the position of the 3D model based on the position of a feature identifier and the position relation between the feature identifier and the 3D model.
- the position of the 3D model in the target space can be determined based on the position of a feature identifier in the target space and the position relation between the feature identifier and the 3D model.
- the position relation between the feature identifier and the 3D model can be understood as the specific position of the feature identifier in the 3D model.
- the key “Esc” usually located at the top right corner of the keyboard. According to the position information of the key “Esc” and its position relation with the entire keyboard, the position of the 3D model could be determined.
- determining the position and attitude of the 3D model based on the target information and the position relation between at least one feature identifier and the 3D model comprises: for the first preset amount of feature identifiers, determining the attitude of the 3D model based on the attitude of a feature identifier and the position relation between the feature identifier and the 3D model. For the second preset amount of feature identifiers, determining the attitude of the 3D model based on the attitude of the polygon and the position relation between the polygon and the 3D model.
- Determining the position and attitude of the 3D model based on the target information and the position relation between at least one feature identifier and the 3D model comprises: for the first preset amount of feature identifiers, such as character A or B mentioned above, determining the attitude of the 3D model in the virtual reality based on the attitude of the feature identifier and the position relation between the feature identifier and the 3D model. This means that based on the attitude of character A in the virtual reality and the position of character A on the 3D model, so that the attitude of the 3D model in the virtual reality can be calculated.
- the attitude of the 3D model in the virtual reality can be calculated based on the position of non-collinear characters A, W and C on the 3D model of the keyboard and the calculated attitude of these characters in the virtual reality. Then the corresponding 3D model of the keyboard can be projected into the virtual reality scene corresponding to the virtual reality system based on the position and the attitude of the 3D model.
- the hand location of the user’s hands can also be acquired. Such information comprises the position and attitude of the hands within the target space. Then the 3D model of the hands can be constructed and projected into the virtual reality scene displayed on the display screen of the head-mounted display at the locating information. At this point, the target information of the 3D model of the hands corresponds to that of the keyboard in the virtual reality scene.
- the hands 330 can operate the keyboard 310, and in the virtual reality scene 340, the corresponding 3D model 350 of the keyboard and the corresponding 3D model 360 of the hands can be displayed in the same display state.
- the display state can also be that the corresponding 3D model 350 of the keyboard is operated by the corresponding 3D model 360 of the hands.
- the physical keyboard can be moved at any time, and the images comprising the physical keyboard captured by the camera are generated in real time.
- the target information of the 3D model of the physical keyboard in the virtual reality can be determined in real time, that is, the display state of the 3D model in the virtual reality scene can be changed in real time. If the physical keyboard is not replaced after the 3D model is determined for the first time, there will be no need to select the 3D model repeatedly according to the model of the physical keyboard.
- the target information of characters can be calculated directly so as to speed up the determination of the target information of the 3D model.
- An input device model projecting method comprises: determining the corresponding 3D model of the input device, acquiring the image of the input device captured by the camera of the virtual reality system, then identifying at least one feature identifier of the input device in the image, obtaining the target information corresponding to at least one feature identifier in the virtual reality, and finally, projecting the 3D model into the virtual reality scene based on the target information.
- the method provided in this embodiment requires fewer feature identifiers to project the input device in real space accurately to the virtual reality scene and has a high fault tolerance for blocking, so as to facilitate subsequent efficient interaction using a real input device according to the 3D model of the input device in the virtual reality scene, and complete text input and other operations rapidly.
- FIG. 4 illustrates a flow diagram of an input device model projecting method provided in the first disclosed embodiment.
- the input device model projecting method also comprises the following steps S410 to S440 shown in FIG. 4.
- S410 comprises calculating the first spatial distance of at least one character in the preset area corresponding to the keyboard. After at least one character is identified in each of the 5 preset key areas, that is, after one character is identified in each key area, the spatial distance among 5 characters in 5 key areas can be calculated, such as the first spatial distance between character 4 in the number key area and character A in the main keyboard area, between character Insert and character A, and between other keys, which will not be repeated here.
- the example here only identifies one character in each preset area and calculates the distance between them, it is possible to identify two or more characters in each area and calculate the distance. Identifying more characters could increase the accuracy of calculation and thus make the projecting more accurate.
- a mouse is the input device, and there are multiple components in the mouse, 3 or all components can be identified to ensure the accuracy of subsequent determination of the target information of the 3D model, i.e., the left key, the right key and the wheel.
- the 5 components can be left key 1, left key 2, wheel, right key 1 and right key 2.
- the 5 components of the mouse in the image can be identified, that is, each component of the mouse can be identified.
- a similar 3D model target model
- S420 comprises calculating the second spatial distance of the at least one character in the target model.
- the second spatial distance from the same character above can also be calculated in 5 key areas of the target model (similar 3D model) accordingly, such as the second spatial distance between character 4 in the number key area and character A in the main keyboard area, and between character Insert and character A in the target model, that is, the same characters are chosen to calculate the first spatial distance on the keyboard as are chosen to calculate the second spatial distance on the target space.
- the example here only identifies one character in each preset area and calculates the distance between them, it is possible to identify two or more characters to ensure the accuracy of the calculation.
- the second spatial distance from the same component above can also be calculated in the target model (similar 3D model) accordingly, such as the second spatial distance between left key 1 and left key 2, and between left key 1 and right key 1 in the target model, that is, the same components are chosen to calculate the first spatial distance on the mouse as are chosen to calculate the second spatial distance on the target space.
- S430 comprises if the difference between the first spatial distance and the second spatial distance is bigger than the preset threshold, determining the position relation of the preset area in which at least one character corresponding to the keyboard resides based on the first spatial distance and the second spatial distance. Updating the target model according to the position relation of the preset area.
- the preset threshold can be set according to user requirements. For example, the preset threshold is 1. The difference 2 is bigger than the preset threshold 1, so the similar 3D model should be adjusted. The spatial distance between the number key area and the main keyboard area in the similar 3D model should be adjusted according to the second spatial distance 5 and the first spatial distance 7.
- the spatial distance between the center point of the pre-determined number key area and the center point of the main keyboard area should be adjusted to 7 in the similar 3D model, and other characters and keys in the key area should be adjusted accordingly, that is, the spatial distance between 2 key areas should be increased.
- the spatial distance between other key areas is adjusted in the same way as that between the number key area and the main keyboard area, which will not be repeated here.
- the updated target model matching the keyboard can be acquired, or the target model more matching the keyboard can be acquired. More matching means that there is a small gap in the position relation between characters and between key areas, that is, the spatial layout of the adjusted target model matches the spatial layout of the keyboard.
- the user presses the key D in real space, but the hand model displayed in the virtual reality scene presses the key E on the 3D model because of the poor matching between the physical keyboard and the 3D model.
- Such situation is easy to mislead the user and the input is inaccurate. No adjustment is required if the overall shape of the 3D model is different.
- the updated target model can be projected into the virtual reality scene constructed by virtual reality system based on the target information.
- Identifying at least one character in each key area of the keyboard mentioned above means that if the keyboard has 5 key areas, at least 5 characters should be identified.
- the target information of the updated target model in the virtual reality can be determined based on the position of at least one character in each key area in the 3D model.
- the updated target model is the corresponding 3D model of the keyboard, and can be projected into the virtual reality scene.
- S440 comprises: if the difference between the first spatial distance and the second spatial distance is less than or equal to the preset threshold, determining the target model as the corresponding 3D model of the keyboard. On the basis of S430 above, if the calculated second spatial distance between character 4 and character A in the target model is 6.5 and the calculated first spatial distance between character 4 and character A on the physical keyboard in the image is 7, the difference 0.5 between the first and the second spatial distance will be less than the preset threshold 1.
- the difference 0.5 between the first spatial distance 3 and the second spatial distance 2.5 will be less than the preset threshold 1. If the spatial distance difference between characters in other key areas is also less than the preset threshold, it indicates that the similarity between the target model and the keyboard is relatively high. In this case, the target model with high similarity can be directly selected as the corresponding 3D model of the keyboard, without the need to adjust the target model.
- An input device model projecting method comprises: if there is no 3D model matching the input device in the pre-built model database (preset database) , determining the 3D model similar to that of the input device (target model) , and then adjusting the similar 3D model based on the distribution of characters in each key area of the input device and the position relation between characters in the key areas, so as to make the input device highly match the 3D model.
- the method is flexible and can be applied to a variety of application scenes. For example, if there is no 3D model corresponding to the input device of the model in the preset database, the target model can be adjusted. In addition, the method is efficient to implement. Or, when the similarity between the target model and the input device is high, that is, the spatial distance difference between the key areas is small, the target model can be directly determined as the corresponding 3D model of the input device.
- FIG. 5 illustrates is a flow diagram of an input device model projecting method provided in this disclosed embodiment.
- the input device is blocked in a large range in the image captured by the camera of the virtual reality system and no feature identifier can be collected, the following steps S510 to S520 shown in FIG. 5 can be performed.
- the input device is preconfigured with an inertial sensor.
- the input device is preconfigured with an inertial sensor, which can collect data about the input device in real time, and can be mounted on the surface of the input device as a separate device or installed in the internal circuit of the input device.
- the inertial sensor could be placed under the keys of the keyboard.
- S510 comprises acquiring data from the inertial sensor.
- the data collected by the inertial sensor can be acquired.
- the image identification method cannot determine the target information of the corresponding 3D model of the input device, the data collected by the inertial sensor at the time of image capturing can be acquired.
- S520 comprises if no feature identifier of the input device is identified in the image, determining the target information of the corresponding 3D model in the virtual reality based on the data of the inertial sensor.
- the virtual reality system cannot identify the feature identifier on the input device in the image, the locating information of the input device can be acquired through IMU, and then the target information of the input device in the target space can be determined according to the locating information.
- the virtual reality system can also receive the input signal from the input device, and then determine the target information of the input device based on the input signal.
- the camera captures images of the input device in real time.
- the 3D model displayed in the virtual reality scene will also change accordingly.
- An input device model projecting method provided in this embodiment disclosed embodiment comprises, if there is large-scale blocking in the acquired image, and the virtual reality system cannot identify the character on the input device in the image, determining the target information of the input device corresponding to the virtual reality based on the data from the inertial sensor or by receiving the input signal from the input device, so as to ensure that the corresponding 3D model of the input device can be displayed accurately and in real time in the virtual reality scene.
- This method avoids the problem that users cannot determine the position of the input device in reality and improves user experience.
- FIG. 6 illustrates a structure diagram of an input device model projecting apparatus provided in one embodiment.
- the input device model projecting apparatus provided in one disclosed embodiment can execute the processing steps provided in the above input device model projecting method.
- apparatus 600 comprises a determination unit 610 which is used to determine the corresponding 3D model of the input device.
- the apparatus 600 comprises an acquisition unit 620 which is used to acquire the image of the input device captured by the camera of the virtual reality system.
- the apparatus 600 comprises an identification unit 630 which is used to identify at least one feature identifier of the input device in the image.
- the apparatus 600 comprises a calculation unit 640 which is used to calculate the target information corresponding to at least one feature identifier in the virtual reality.
- the apparatus 600 also comprises a projecting unit 650 which is used to project the 3D model to the virtual reality scene constructed by the virtual reality system based on the target information.
- projecting unit is interchangeable with or could also be described as “mapping unit” in the present disclosure.
- the determination unit 610 is used for acquiring configuration information, such as model information, of the input device and determining the 3D model of the input device according to the model information.
- determination unit 610 is used for determining the 3D model of the input device based on the model in the preset database.
- determination unit 610 is used for calculating the similarity between the model stored in the preset database and the model of the input device and determining whether the similarity is less than or equal to the preset value. If yes, determining the corresponding 3D model of the input device based on the model corresponding to the similarity in the preset database. By contrast, if the similarity is bigger than the preset value, determining the target model in the preset database.
- the input device comprises a keyboard
- the feature identifier of the keyboard is a character
- the similarity is bigger than the preset value identification unit 630 is used for identifying at least one character in each preset area of the keyboard in the image.
- apparatus 600 also comprises the updating unit, which is used for calculating the first spatial distance between identified characters in the preset areas of the keyboard and calculating the second spatial distance of the same characters above in the target model.
- the difference between the first and the second spatial distance is bigger than the preset threshold, determining the position relation of each preset area above based on the first spatial distance and the second spatial distance. And then updating the target model according to the position relation of the preset area. Or, if the difference between the first spatial distance and the second spatial distance is less than or equal to the preset threshold, determining the target model as the existing 3D model of the keyboard in the preset database and no adjustments are needed.
- the input device also comprises a mouse, and the feature identifier of the mouse is a component.
- identification unit 630 is used for identifying at least one component of the mouse in the image.
- projecting unit 650 is used for projecting the updated target model to the virtual reality scene constructed by the virtual reality system based on the target information.
- calculation unit 640 is used for obtaining the target information corresponding to the at least one feature identifier in the virtual reality through the spatial position algorithm.
- the target information comprises position and attitude.
- calculation unit 640 is used for acquiring the image of the same feature identifier captured simultaneously by at least two cameras from different angles, and determining the attitude of the same feature identifier based on the image of the same feature identifier from different angles.
- calculation unit 640 is used for determining the roll angle and pitch angle of the polygon formed by at least three feature identifiers based on the position of at least three feature identifiers that are not in a straight line. Determining the yaw angle of the polygon based on the orientation of the polygon and the position relation between the polygon and the 3D model. The roll angle, pitch angle and yaw angle constitute the attitude of the polygon.
- projecting unit 650 is used for determining the position and the attitude of the 3D model based on the target information and the position relation between at least one feature identifier and the 3D model and projecting the 3D model into the virtual reality scene corresponding to the virtual reality system based on the position and the attitude of the 3D model.
- determining the position and the attitude of the 3D model based on the target information and the position relation between at least one feature identifier and the 3D model comprises determining the position of the 3D model based on the position of a feature identifier and the position relation between the feature identifier and the 3D model.
- determining the position and the attitude of the 3D model based on the target information and the position relation between at least one feature identifier and the 3D model comprises determining the attitude of the 3D model based on the attitude of a feature identifier and the position relation between the feature identifier and the 3D model, for the first preset amount of feature identifiers. For the second preset amount of feature identifiers, determining the attitude of the 3D model based on the attitude of the polygon and the position relation between the polygon and the 3D model.
- the input device is preconfigured with an inertial sensor.
- the apparatus 600 also comprises an auxiliary acquisition unit, which is used for acquiring data from the inertial sensor and determining the target information of the corresponding 3D model of the input device in the virtual reality based on the data from the inertial sensor if no identifier of the input device is identified in the image.
- an auxiliary acquisition unit which is used for acquiring data from the inertial sensor and determining the target information of the corresponding 3D model of the input device in the virtual reality based on the data from the inertial sensor if no identifier of the input device is identified in the image.
- FIG. 7 illustrates a structure diagram of an electronic apparatus.
- the electronic apparatus can execute the operations provided in some embodiments.
- the electronic apparatus 700 comprises processor 710, communication interface 720 and memory 730.
- the computer program is stored in memory 730 and configured for processor 710 to perform the input device model projecting method as described in some embodiments.
- One disclosed embodiment provides a computer readable storage medium storing a computer program which is executed by the processor to perform the input device model projecting method in one embodiment.
- FIG. 8 illustrates a structure diagram of an electronic apparatus provided.
- the electronic apparatus 800 comprises one or more processor 810, a memory 820 and a display device 830.
- a plurality of programs for projecting a virtual reality (VR) model is stored in the memory 820 and when those programs are executed by the one or more processors 810, the electronic apparatus performs acts as described in some embodiments and displays the 3D model in the virtual reality scene by the display device.
- VR virtual reality
- FIG. 9 illustrates a structure diagram of a virtual reality system.
- the virtual reality system comprises a display device 930 configured to display the virtual reality scene and projected 3D model, and a plurality of cameras 910 configured to capture images of the input device.
- the virtual reality system also comprises the electronic apparatus coupled with the one or more processors 920, memory 940 coupled to the one or more processors and a plurality of programs 950 for projecting a virtual reality (VR) model stored in the memory that, when executed by the one or more processors 920, cause the electronic apparatus to perform acts in some embodiments
- VR virtual reality
- One disclosed embodiment provides a model display method. Such method comprises: acquiring the hand location of the hand model corresponding to the hand in real space in the virtual reality, displaying the hand model, receiving the input signal from the input device, determining the key position in the 3D model of the input device, then determining model location of the 3D model in the virtual reality, and displaying the 3D model at the model location in the virtual reality constructed by virtual reality system.
- hand location and the term “first locating information of the hand model” have the same meaning in the present disclosure.
- model location of the 3D model” and the term “second locating information of the said 3D model” have the same meaning in the present disclosure.
- FIG. 10 illustrate a flow diagram of a model display method provided in accordance with some embodiments. Steps S1010 to S1040 shown in FIG. 10 are included in the model display method provided in accordance with some embodiments.
- S1010 comprises acquiring the hand location of the hand model corresponding to the real hands controlling device in the virtual reality.
- Image identification in related technologies or hand tracking equipment can be used to determine the hand location of the hand model in the virtual reality.
- the hand tracking equipment can be worn on the user’s hands, and is subject to no restriction, as long as it can construct a complete hand model according to the hand contour, display the hand posture and determine the hand location of the hand model in the virtual reality.
- the devices in this disclosure include but not limit to such devices.
- the virtual reality system can construct the hand model according to the hand model information, and then display the hand model in the virtual reality constructed by the virtual reality system according to the hand location.
- Hand location comprises position and attitude.
- S1020 comprises receiving at least one input signal from the input device.
- the virtual reality system receives at least one input signal from the keyboard.
- Input signal refers to the signal generated when each key on the keyboard is pressed or released.
- the signals generated by the keys are different, that is, each key on the keyboard has a corresponding signal.
- the virtual reality system can determine the key that generates the received signal.
- S1030 comprises determining the model location of the 3D model in the virtual reality according to the key position in the 3D model and the hand location.
- the key is determined by at least one input signal.
- Such operations comprise: acquiring the configuration information of the input device and determining the 3D model of the input device based on the model information.
- each key position on the keyboard model is determined.
- the position of each key on the keyboard model is fixed or can be determined, comprising the size of keys on the keyboard model, the spatial distance between keys, and the relative position of each key.
- the position could also be the spatial distance between a key and a preset identifier and the relative position of the key to the preset identifier.
- a preset identifier can be set up in advance on the keyboard. There is no restriction on the position of preset identifiers on the keyboard. For example, preset identifiers can be white dots.
- the distance between keys on the corresponding 3D model of the keyboard of each model and the direction of each key are fixed. For example, regardless of the position and attitude of the keyboard model, the spatial distance between key A and key W is fixed, and the relative position of key W diagonally above key A is also fixed.
- determining the model location of the 3D model in the virtual reality according to the key position corresponding to at least one input signal in the 3D model of the input device and the hand location comprises: determining the spatial position of the 3D model according to the key position in the 3D model and the spatial position in the hand location. Determining the attitude of the 3D model according to the preset amount of hand locations and the preset amount of key positions in the 3D model. And then determining the model location of the 3D model in the virtual reality according to the spatial position and the attitude of the 3D model.
- the hand location of the hand model in the virtual reality (the target space) mentioned above could be acquired when the finger presses the key in real space. Since the finger in the hand model also performs the pressing operation, the spatial position of the pressed key in the target space can be acquired according to the spatial position in the hand location of the finger in the hand model in the target space based on the preset rules. Every time a finger presses a key, there will be an input signal. According to the input signal, the pressed key can be determined, and then the spatial position of the key in the target space can be determined. After the spatial position of any key is determined, the spatial position of the whole 3D model can be determined according to the key position in the 3D model and the spatial position of the key.
- the attitude of the keyboard in the target space should be determined. It is mainly to determine the plane in which the keyboard resides and the orientation of the keyboard, that is, to determine the plane in which the 3D model resides and the orientation of the 3D model. Particularly, the attitude of the 3D model is determined according to the hand locations and the positions of the key corresponding to the preset amount of input signals in the 3D model. Attitude comprises roll angle, pitch angle and yaw angle.
- the preset amount can be the first number or the second number, where the former refers to 3 or more keys, and the latter refers to fewer than 3 keys.
- the model location of the whole 3D model in the target space can be determined according to the attitude and spatial position of the 3D model.
- S1040 comprises displaying the 3D model at the model location in the virtual reality constructed by the virtual reality system.
- the keyboard model can be projected into the virtual reality constructed by the virtual reality system.
- the position and attitude of the 3D model in the target space are the same as those of the keyboard (physical keyboard) in real space. Users can determine the situation of the physical keyboard in real space based on the state of the keyboard model in the virtual reality scene displayed on the display screen of the head-mounted display, and then control the physical keyboard to achieve rapid text input or other functions.
- the method also comprises: if at least one input signal is received from the input device, displaying the effect of control over the key pressed by hand in real space in the 3D model.
- the virtual reality system After the 3D model is displayed in the virtual reality, as the user uses the input device in reality, such as pressing a key of the input device, the key will generate an input signal. After receiving the input signal, the virtual reality system will display the control action over the pressed key in the 3D model.
- the 3D model projecting method provided in accordance with some embodiments can accurately project the 3D model of the input device in real space into the virtual reality. It is a simple way that can minimize the influence of blocking without installing other equipment.
- FIG. 11 illustrates a flow diagram of a model display method.
- determining the attitude of the 3D model according to the preset amount of hand locations and key positions in the 3D model further comprises the following steps from S1110 to S1130 shown in FIG. 11.
- S1110 comprises determining the spatial positions of the key corresponding to the preset amount of input signals according to the spatial positions in the hand locations.
- the spatial position of the key can be determined.
- a preset amount of keys can be pressed with hands to generate a preset amount of input signals.
- the preset amount can be the first number or the second number.
- the spatial position of the fingertip in the hand model can be approximately the same as the spatial position of the key.
- Multiple keys can be pressed with hands at the same time or only one key can be pressed with a hand at a time. There is no restriction on how to press the key. If there are keys that can be pressed, the keyboard with keys is facing up by default.
- S1120 comprises determining the spatial position of the plane in which the 3D model resides and the orientation of the 3D model according to the preset amount of hand locations and the preset amount of key positions in the 3D model.
- S1120 above comprises: if the preset amount is the first number, determining the spatial position of the plane in which the 3D model resides according to the spatial position in the preset amount of hand location; determining the orientation of the 3D model, in accordance with an orientation of a polygon formed by the first number of non-conllinear keys, a spatial position and a position in the 3D model of each key in the polygon.
- Non-conllinear described a state that somethings are not lying or acting in the same straight line.
- Non-conllinear keys in the present disclosure refer to keys that are not in the same line. In other words, the connecting between these keys could form a polygon, instead of a line.
- the spatial position of the plane in which the keyboard resides can be determined according to the spatial position of the 3 keys that are not in a straight line.
- the spatial position of the plane in which the keyboard resides is also the spatial position of the plane in which the 3D model resides, and the spatial position of the plane in which the 3D model resides comprises the roll angle and pitch angle of the 3D model.
- the orientation of the 3D model can be determined according to the orientation of the triangle (polygon) formed by the 3 non-conllinear keys, the spatial positions of the 3 keys and the positions of the 3 keys in the 3D model.
- the orientation of the 3D model comprises the yaw angle of the 3D model.
- S1120 above comprises: if the preset amount is the second number, determining a target part for pressing a second number of keys in the hand model; determining a spatial position of the plane in which the target part resides and an orientation of the target part according to the attitude in the hand location of the hand model; calculating and determining the spatial position of the plane in which the 3D model resides based on the spatial position of the plane in which the target part resides; and determining an orientation of each key in the second number of keys according to the orientation of the target part; and determining the orientation of the 3D model based on the orientation of each key and a position of each key in the 3D model in the second number of keys.
- the second number of keys can be 1 and/or 2 keys.
- the acquired hand location comprises the spatial position of the finger at the time of pressing key A.
- 1 key A is pressed.
- the target part can be the pad of the finger pressing the key.
- the pad of the right index finger will be recorded as the target part.
- the target part can also be the finger joint.
- the spatial position of the plane in which the target part resides can be determined according to the attitude of the target part in the hand location, and the spatial position of the plane in which the pad of the finger resides can be calculated to determine the spatial position of the plane in which the keyboard is placed.
- the spatial position of the plane in which the keyboard is placed comprises roll angle and pitch angle. There is no restriction on the specific calculation method.
- the orientation of the pressed key A can be determined according to the orientation of the fingertip pressing key A in the hand location. For example, if the keyboard faces the user, the fingertip will be diagonally downward when the user presses key A. when the keyboard is in a different position, the orientation of the fingertip will be different.
- the orientation of the 3D model can be determined based on the orientation of key A and the position of key A in the 3D model.
- S1130 comprises determining the attitude of the 3D model according to the spatial position of the plane and the orientation of the 3D model.
- the attitude of the 3D model in the virtual reality can be determined according to the spatial position of the plane in which the 3D model resides and the orientation of the 3D model.
- FIG. 12 illustrates a flow diagram of a model display method.
- the method also comprises the following steps S1210 to S1230 shown in FIG. 12.
- S1210 comprises receiving the input signal from the input device to get the updated input signal.
- the input signal from the keyboard can be received in real time for adjustment of the attitude and position of the keyboard model in the virtual reality scene at any time, so as to ensure that the model display state in the virtual reality scene is synchronized with the state of the keyboard in real space.
- S1220 comprises acquiring the updated hand location.
- the hand location in the virtual reality can be updated according to the acquired updated locating information of the user’s hands.
- Updating hand model refers to updating the state of the hand model in the virtual reality scene, comprising the state of each finger of the user’s hands. For example, if the left user's hand has shifted, the state of the left hand in the virtual reality scene will change.
- S1230 comprises updating the 3D model in the virtual reality scene according to the updated input signal and the updated hand location.
- the updated keyboard model can be projected into the virtual reality scene according to the key position corresponding to the updated input signal in the keyboard model and the hand location of the updated hand model in the virtual reality. It can be understood that the keyboard model “jumps” with the hand model, and is “moved” to the hand location in the virtual reality.
- the physical keyboard and the user’s hands are constantly moving, and the data about the hands detected by the hand tracking equipment is generated in real time.
- the hand location in the target space can be determined in real time.
- the keyboard model location in the target space can be determined. After the keyboard model is determined for the first time, if the keyboard is not replaced, the keyboard model may not be changed, and the location of the characters in the input signal can be determined directly, so as to speed up the updating of the display state of the keyboard model.
- the keyboard model location in the target space can also be determined by the inertial sensor.
- the inertial sensor can collect real-time data about the keyboard, comprising the keyboard location.
- the method also comprises: receiving the input signal from the input device; updating the state of the 3D model in the virtual reality scene according to the input signal, and displaying the control effect of the key in the virtual reality scene.
- the user can operate the keyboard by pressing or releasing a key on it.
- the virtual reality system After receiving the input signal of the key, the virtual reality system will synchronously display the operation of pressing or releasing the key on the keyboard model, which means the state of the keyboard model in the virtual reality scene will be changed in real time according to the user’s operation on the keyboard.
- the corresponding character of the key will be displayed in the virtual reality scene, and subsequent operations will be performed based on the character.
- FIG. 13 illustrates a structure diagram of a model display apparatus provided in some embodiments.
- the model display apparatus provided here can execute the operations provided in the seventh embodiment of the model display method.
- Apparatus 1300 comprises an acquisition unit 1310 which is used to acquire the hand location of the hand model in the virtual reality.
- the apparatus 1300 comprises a receiving unit 1320 which is used to receive the at least one input signal from the input device.
- the apparatus 1300 comprises a determination unit 1330, which is used to determine the model location of the 3D model in the virtual reality.
- the apparatus 1300 also comprises a projecting unit 1340 which is used to display the 3D model at the model location in the virtual reality constructed by the virtual reality system.
- determination unit 1330 is used for determining the spatial position of the 3D model according to the key position of in the 3D model of the input device and the spatial position in the hand location, determining the attitude of the 3D model according to the preset amount of hand locations and key positions in the 3D model and determining the model location of the 3D model in the virtual reality according to the spatial position and the attitude of the 3D model.
- determination unit 1330 is used for determining the spatial position of the keys corresponding to the preset amount of input signals according to the spatial positions in the hand locations, determining the spatial position of the plane in which the 3D model resides and the orientation of the 3D model according to the preset amount of hand locations and the keys positions in the 3D model and determining the attitude of the 3D model according to the spatial position of the plane and the orientation of the 3D model.
- determination unit 1330 is used for determining the spatial position of the plane in which the 3D model resides according to the spatial positions in the first number of hand locations and determining the orientation of the 3D model based on the orientation of the polygon formed by the first number of keys, the first number of spatial positions and the positions in the 3D model of the keys in the polygon.
- determination unit 1330 is used for determining the target part for pressing the second number of keys in the hand model, determining the spatial position of the plane in which the target part resides and the orientation of the target part according to the attitude in the hand location, calculating and determining the spatial position of the plane in which the 3D model resides based on the spatial position of the plane in which the target part resides and determining the orientation of each key in the second number of keys in accordance with the orientation of the target part; and determining the orientation of the 3D model based on the orientation of each key and the position of each key in the 3D model in the second number of keys.
- apparatus 1300 also comprises an effect unit, which, after the 3D model is displayed, is used for displaying the subsequent control action to the input device
- apparatus 1300 also comprises an updating unit, which, after the 3D model is displayed at the model location in the virtual reality constructed by the virtual reality system, is used for receiving the input signal from the input device to get the updated input signal; acquiring the updated hand location; and updating the 3D model in the virtual reality scene according to the updated input signal and the updated hand location.
- an updating unit which, after the 3D model is displayed at the model location in the virtual reality constructed by the virtual reality system, is used for receiving the input signal from the input device to get the updated input signal; acquiring the updated hand location; and updating the 3D model in the virtual reality scene according to the updated input signal and the updated hand location.
- FIG. 14 illustrates a structure diagram of a virtual reality system provided.
- the virtual reality system 1400 comprises: a display device configured to display 1440 the virtual reality scene and projected 3D model; a plurality of cameras 1420 configured to capture images of the surrounding environment; one or more hand tracking devices 1410 configured to track the hand location in the virtual reality; and the electronic apparatus coupled with the one or more processors 1430, memory 1450 coupled to the one or more processors 1430 and a plurality of programs 1460 for projecting a virtual reality (VR) model stored in the memory that, when executed by the one or more processors 1430, cause the electronic apparatus to perform acts in some embodiments.
- VR virtual reality
- relational terms such as “first” and “second” are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relation or sequence between the entities or operations.
- the term “comprises” , “contain” or any of its other variants is intended to cover a non-exclusive inclusion.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Geometry (AREA)
- Architecture (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
- Position Input By Displaying (AREA)
Abstract
A model display method, apparatus, and system. The method includes: acquiring a hand location of a hand model in the virtual reality in real time, receiving an input signal from an input device, determining a key position corresponding to the input signal in the 3D model, determining model location of the 3D model in the virtual reality according to the key position in the 3D model and the hand location, and displaying the 3D model at the model location in the virtual reality. By this method, the 3D model of the input device in real space can be accurately displayed in the virtual reality scene.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims priority to Chinese Patent Application No. CN202210137976.8 filed on February 15, 2022 and Chinese Patent Application No. CN202210137977.2 filed on February 15, 2022, the entire disclosures thereof are incorporated herein by reference for all purposes.
The present disclosure relates to the field of data technology, and in particular, to input device model projecting methods, apparatus and systems.
At present, Virtual Reality (VR) is widely used. VR is to combine the virtual with the real to bring users an immersive experience. However, in projecting a real object to a virtual reality scene based on VR, a large amount of data about the object needs to be collected, resulting in a long mapping time. In addition, the existing method identifies an input device, such as a keyboard, by images, and it is required to analyze and determine the device type and model by identifying the overall shape image of the device. If the input device is partially blocked, the image captured will be incomplete, which will have a great impact on the identification of the existing method. As a result, the identification is not accurate or even invalid, and the fault tolerance for blocking is low, which further leads to the inaccurate positioning of the model in the virtual reality scene and poor user experience.
SUMMARY
To solve the technical problems described above, the present disclosure provides input device model projecting methods, apparatus, storage medium and system for accurately projecting the 3D model of the input device to the virtual reality scene, so as to facilitate subsequent interaction using the input device based on its 3D model in the virtual reality scene.
One embodiment in this disclosure provides an input device model projecting method, comprising identifying a 3D model of the input device, acquiring at least one image of the input device captured by a camera of a virtual reality system, identifying at least one feature identifier of the input device in the image, obtaining the target information in the virtual reality corresponding to the at least one feature identifier and projecting the 3D model into a virtual reality scene constructed by the virtual reality in accordance with the target information.
Optionally, determining the 3D model of the input device comprises, acquiring a configuration information, including the model information, of the input device and identifying the 3D model according to the model information.
Optionally, in determining the 3D model of the input device according to the model information, if there is a same model as the input device in a preset database according to the model information, identifying the 3D model as the same model in the preset database.
If there is no same model as the input device in the preset database, calculating the similarity between a model in the preset database and the model of the said input device.
Optionally, after calculating the similarity, comparing the similarity with a preset value.
If the similarity is smaller than the preset value, identifying the 3D model as a model corresponding to the similarity in the preset database. Or, if the similarity is bigger than the preset value, identifying the 3D model as a target model in the preset database.
Optionally, the input device comprises a keyboard, and the feature identifier of the keyboard is a character.
Optionally, identifying at least one feature identifier of the input device in the image comprises identifying the at least one character in a preset area in the keyboard in the image if the similarity is bigger than the preset value.
Optionally, after at least one character in each preset area of the keyboard in the image is identified, the method also comprises calculating the first spatial distance between the identified characters and calculating the second spatial distance between the identified characters in the target model.
If the difference between the first and the second spatial distance is bigger than the preset threshold, determining the position relation of the preset areas in which the identified character resides based on the first spatial distance and the second spatial distance and then updating the target model according to the position relation of the preset area. Or, If the difference between the first and the second spatial distance is less than or equal to the preset threshold, determining the target model as the 3D keyboard model existing in the preset
database based on the difference.
Optionally, projecting the 3D model into the virtual reality scene constructed by the virtual reality system based on the target information comprises projecting the updated target model into the virtual reality scene constructed virtual reality system based on the target information.
Optionally, the input device also comprises a mouse, and the feature identifier of the mouse is a component.
Optionally, in identifying the at least one feature identifier of the input device in the image, if the similarity is bigger than the preset value and the target model applies, identifying at least one component of the mouse in the image.
Optionally, obtaining the target information of at least one feature identifier in the virtual reality comprises obtaining the target information of the at least one feature identifier in the virtual reality through a spatial position algorithm.
Optionally, the target information comprises a position and an attitude.
Optionally, for a first amount of feature identifiers, obtaining the target information of at least one feature identifier in the virtual reality including acquiring images of the feature identifier captured simultaneously by at least two cameras at different angles and determining the attitude of the feature identifier based on the images of the feature identifier at different angles. For a second amount of feature identifiers, obtaining the target information of at least one feature identifier in the virtual reality including determining the roll angle and pitch angle of a polygon formed by at least three non-conllinear feature identifiers based on a position information of each feature identifier in the polygon and determining the yaw angle of the polygon in accordance with an orientation of the polygon and a position relationship between the polygon and the 3D model, wherein the said roll angle, pitch angle and yaw angle constitute the attitude of the said polygon.
Optionally, projecting the 3D model into the virtual reality scene constructed by virtual reality system based on the target information comprises determining a position and an attitude of the 3D model based on the target information and a position relationship between the at least one feature identifier and the 3D model and projecting the 3D model into the virtual reality scene constructed by the virtual reality system based on the position and attitude of the 3D model.
Optionally, determining the position and attitude of the 3D model based on the target information and the position relation between at least one feature identifier and the 3D model comprises determining the position of the 3D model based on the position of a feature identifier and the position relationship between the feature identifier and the 3D model.
Optionally, determining the attitude of the 3D model based on the target information and the position relation between at least one feature identifier and the 3D model comprises determining the attitude of the 3D model based on the attitude of a feature identifier and the position relationship between the feature identifier and the 3D model, if the number of feature identifiers is the first preset amount and determining the attitude of the 3D model based on the attitude of the polygon and the position relationship between the polygon and the 3D model, if the number of feature identifiers is the second preset amount.
One disclosed embodiment provides an input device model projecting apparatus, comprising a determination unit which is used to determine the 3D model of the input device. The input device model projecting apparatus comprises an acquisition unit which is used to acquire the image of the input device captured by the camera of the virtual reality system. The input device model projecting apparatus comprises an identification unit which is used to identify at least one character of the feature identifier in the image. The input device model projecting apparatus comprises a calculation unit which is used to calculate the target information of at least one feature identifier in the virtual reality. The input device model projecting apparatus also comprises a projecting unit which is used to project the 3D model into the virtual reality scene constructed by the virtual reality system based on the target information.
One disclosed embodiment provides an electronic apparatus comprising a memory, a possessor, and a computer program. The computer program is stored in the memory and configured for the processor to perform the input device model projecting method as described above.
One disclosed embodiment provides a computer readable storage medium, with computer programs stored thereon. When executed by the processor, the computer program performs the input device model projecting method as described above.
One disclosed embodiment provides an electronic apparatus comprising one or more processors, a display device and memory coupled to the one or more processors and a plurality of programs for projecting a virtual reality (VR) model stored in the memory that, when executed by the one or more processors, cause the electronic apparatus to perform acts to display the 3D model in the virtual reality (VR) scene. The specific operations have been mentioned in some embodiments and will not be repeated here.
One disclosed embodiment provides a virtual reality system comprising a display device configured to display the virtual reality scene and projected 3D model and a plurality of cameras configured to capture images of an input device.
The virtual reality system also comprises the electronic apparatus coupled with the one or more processors, memory coupled to the one or more processors and a plurality of programs for projecting a virtual reality (VR) model stored in the memory that, when executed by the one or more processors, cause the electronic apparatus to perform acts to display the 3D model in the virtual reality (VR) scene. The specific operations have been mentioned in some embodiments and will not be repeated here.
One embodiment provides an input device model projecting method, apparatus, medium and system. The method comprises: determining the corresponding 3D model of the input device, acquiring the image of the input device captured by the camera of the virtual reality system, then identifying at least one feature identifier of the input device in the image, obtaining the target information corresponding to at least one feature identifier in the virtual reality, and finally, projecting the 3D model into the virtual reality scene corresponding to the virtual reality system based on the target information. Such method determines the spatial position and the attitude of the device through some feature identifiers of the image identification device, and can accurately project the 3D model corresponding to the keyboard in the real space to the virtual reality scene, so as to facilitate the subsequent efficient use of the input device according to the 3D model of the input device in the virtual reality scene.
One disclosed embodiment provides a method for projecting the input device model, comprising obtaining a hand location of a hand model in a virtual reality, receiving at least one input signal from an input device, obtaining a key position within a 3D model of the input device, determining a model location of the 3D model within the virtual reality, in accordance with the hand location and the key position and displaying the 3D model at the model location in a virtual reality scene constructed by the virtual reality system.
Optionally, determining the model location comprises determining a spatial position of the 3D model according to the key position, within the 3D model and a spatial position in the hand location, determining the model location comprises determining an attitude of the 3D model according to the hand location of the hand model and the key positions of input signals, within the 3D model; and determining the model location also comprises determining the model location of the 3D model in the virtual reality according to the spatial position and the attitude of the 3D model.
Optionally, determining the attitude of the 3D model comprises determining a preset amount of key spatial positions according to spatial positions in a preset amount of hand locations, determining a spatial position of a plane in which the 3D model resides and an orientation of the 3D model according to the preset amount of hand locations and key positions in the 3D model and determining the attitude of the 3D model according to the spatial position of the plane and the orientation of the 3D model.
Optionally, if the preset amount of hand locations is a first number, determining the spatial position of the plane in which the 3D model resides comprises determining the spatial position of the plane in which the 3D model resides according to the spatial positions in the preset amount of hand locations of the hand model.
If the preset amount of hand locations is a first number, determining the spatial position of the plane in which the 3D model resides also comprises determining the orientation of the 3D model, in accordance with an orientation of a polygon formed by the first number of non-conllinear keys, a spatial position and a position in the 3D model of each key in the polygon.
Optionally, if the preset amount is the second number, determining the spatial position of the plane in which the 3D model resides and the orientation of the 3D model comprises determining a target part for pressing a second number of keys in the hand model, determining a spatial position of the plane in which the target part resides and an orientation of the target part according to the attitude in the hand location of the hand model, calculating and determining the spatial position of the plane in which the 3D model resides based on the spatial position of the plane in which the target part resides and determining an orientation of each key in the second number of keys according to the orientation of the target part and determining the orientation of the 3D model based on the orientation of each key and a position of each key in the 3D model in the second number of keys.
Optionally, after the 3D model is displayed, the method further comprises displaying the control action to the input device, such as key pressing action in the keyboard, in the 3D mode if at least one input signal is received from the input device.
Optionally, the input device comprises a keyboard and/or a mouse.
Optionally, after the 3D model is displayed at the model location in the virtual reality constructed by virtual reality system, the method also comprises receiving the input signal from the input device to get the updated input signal, acquiring an updated hand location and updating the 3D model in the virtual reality scene according to the updated input signal and the updated hand location.
One disclosed embodiment provides a model display apparatus, comprising an acquisition unit which is used to acquire the hand location of the hand model in the virtual reality.
The model display apparatus comprises a receiving unit which is used to receive at least one input signal from the input device.
The model display apparatus comprises a determination unit which is used to determine the model location in the virtual reality according to the key position in the 3D model and the hand location.
The model display apparatus also comprises a display unit which is used to display the 3D model at the model location in the virtual reality constructed by the virtual reality system.
One disclosed embodiment provides electronic apparatus, comprising a memory and a processor.
The electronic apparatus in the one embodiment also comprises a computer program stored in the memory, when executed by the processor, the electronic apparatus performs the model display method.
One disclosed embodiment provides a computer readable storage medium storing a computer program, wherein the computer program, when executed by the processor, performs the input device model projecting method in one embodiment.
One disclosed embodiment provides an electronic apparatus comprising one or more processors, a display device and memory coupled to the one or more processors and a plurality of programs for projecting a virtual reality (VR) model stored in the memory that, when executed by the one or more processors, cause the electronic apparatus to perform acts to display the 3D model in the virtual reality (VR) scene. The specific operations have been mentioned in some embodiments and will not be repeated here.
One disclosed embodiment provides a virtual reality system, comprising a display device configured to display the virtual reality scene and projected 3D model.
The virtual reality system in one embodiment comprises a plurality of cameras configured to capture images of the surrounding environment.
The virtual reality system in one embodiment comprises one or more hand tracking devices configured to track the hand location in the virtual reality.
The virtual reality system in one embodiment also comprises an electronic apparatus coupled with one or more processors, memory coupled to one or more processors and a plurality of programs for projecting a virtual reality (VR) model stored in the memory that, when executed by the one or more processors, cause the electronic apparatus to perform acts to display the 3D model in the virtual reality (VR) scene. The specific operations have been mentioned in some embodiments and will not be repeated here.
The model display method provided in some embodiments enables the rapid and accurate display of the input device 3D model by capturing the image of the hand pressing the key. Such method does not need to capture the images of the input device and avoid the adverse influence of blocking the input device by hands and the need to install external devices. The method can be quickly put into practical application, significantly improves convenience, and facilitates subsequent efficient interaction using the input device according to the 3D model displayed in the virtual reality scene.
FIG. 1 illustrates a schematic diagram of an application scene provided in accordance with some embodiments.
FIG. 2 illustrates a flow diagram of an input device model projecting method provided in one embodiment.
FIG. 3a illustrates a schematic diagram of another application scene provided in accordance with some embodiments.
FIG. 3b illustrates a schematic diagram of a keyboard provided in accordance with some embodiments.
FIG. 3c illustrates a schematic diagram of a virtual reality scene provided in accordance with some embodiments.
FIG. 3d illustrates a schematic diagram of another application scene provided in one disclosed embodiment.
FIG. 3e illustrates a schematic diagram of another virtual reality scene provided in one disclosed embodiment.
FIG. 4 illustrates a flow diagram of an input device model projecting method provided in one disclosed embodiment.
FIG. 5 illustrates a flow diagram of an input device model projecting method provided in one disclosed embodiment.
FIG. 6 illustrates a structure diagram of an input device model projecting apparatus provided in one disclosed embodiment.
FIG. 7 illustrates a structure diagram of an electronic apparatus provided in accordance with some embodiments.
FIG. 8 illustrates a structure diagram of an electronic apparatus provided in accordance with some embodiments.
FIG. 9 illustrates a structure diagram of a virtual reality system in one disclosed embodiment.
FIG. 10 illustrates a flow diagram of a model display method provided in one disclosed embodiment.
FIG. 11 illustrates a flow diagram of a model display method provided in one disclosed embodiment.
FIG. 12 illustrates a flow diagram of a model display method provided in one disclosed embodiment.
FIG. 13 illustrates a structure diagram of a model display apparatus provided in one disclosed embodiment.
FIG. 14 illustrates a structure diagram of a virtual reality system in one disclosed embodiment.
In this disclosure, a virtual reality (VR) is a computer-generated environment that displays scenes and objects that appear to be real, making the user feel they are immersed in their surroundings.
In this disclosure, virtual reality systems typically use either virtual reality headsets or multi-projected environments to generate realistic images, sounds and other sensations that simulate a user's physical presence in a virtual environment.
In this disclosure, a virtual reality scene refers to a scene generated by a VR system or a VR device where the user can move or interact with the virtual world.
In this disclosure, a 3D model represents a body of a object in a three-dimensional (3D) space. Especially, a 3D model of an input device in a virtual reality scene refers to a body of the input device in the virtual reality scene, which is a 3D space constructed by a virtual reality system.
The projecting method in this disclosure is interchangeable with or can also be described as mapping method. The word “projecting” is interchangeable with or can also be described as the word “mapping” . And the word “project” is interchangeable with or can also be described as the word “map” in circumstances understandable to a person skilled in the art.
The term “position” in the present disclosure is interchangeable with or can also be described as the word “position information” , “location” , “location information” . And the term “attitude” in the present disclosure is interchangeable with or can also be described as the word “attitude information” .
The term “virtual reality system” in the present disclosure is interchangeable with or can also be described as the word “virtual reality software system” .
The term “first amount” in the present disclosure is interchangeable with or can also be described as the term “first preset number” . The term “second amount” in the present disclosure is interchangeable with or can also be described as the term “second preset number” .
Currently, in a virtual reality system, the interaction between a user and a virtual reality scene is usually realized through the controller lever. Virtual reality system comprises virtual reality equipment and virtual reality software. Virtual reality equipment can be controller levers, mouses, keyboards, head-mounted displays, and mainframes connected to a head-mounted display, etc. virtual reality system can include an operating system, software algorithm for image identification, software algorithm for spatial calculation and rendering software for virtual reality scene rendering (the rendered virtual reality scene is displayed on the display screen of the head-mounted display) . The virtual reality system can be configured on the head-mounted display, and the head-mounted display device can be directly connected to the camera and keyboard, thus it can be understood as an all-in-one machine. The virtual reality system can also be configured on a mainframe connected to a head-mounted display, with a camera and keyboard connected to the mainframe, thus it can be understood as a split unit. As shown in FIG. 1, a schematic diagram of an application scene provided in the present disclosure comprises a control lever 110 and a head-mounted display 120. In the following embodiments, the operation of a virtual reality system (all-in-one machine) on the head-mounted display 120 will be an example. The implementation of the method in the present disclosure by the virtual reality system running on the mainframe connected to the head-mounted display is the same as running on the all-in-one machine above and will not be repeated here. The control lever 110 is connected to the head-mounted display 120. The head-mounted display 120 comprises a display screen and the virtual reality system. The virtual reality system can receive and process the input signal from the control lever 110, and then displays the corresponding content of the processing result on the display screen. The scene displayed on the display screen can be called a virtual reality scene. The control lever 110 can be a control lever with a position tracking function and can be configured with simple keys such as direction keys and enter keys. Users can hold one controller lever 110 with each hand or one controller lever 110 with one hand, and click on the keys on the control lever 110 and drag and move the control lever 110 to perform interactive operations such as clicking on and dragging interfaces and objects in the virtual reality scene constructed by the head-mounted display 120. When it is necessary to input text in the virtual reality scene constructed by the head-mounted display 120, a virtual interface with a keyboard layout can be displayed in the virtual reality scene constructed by the head-mounted display 120, and then users can use the control lever 110 to click on the virtual keys on the virtual keyboard interface for character input. However, the virtual keyboard in the virtual reality scene constructed by the head-mounted display 120 does not correspond to the control lever 110. When users input
into the virtual reality scene constructed by the head-mounted display 120 through the control lever 110, they can only click on virtual keys on the virtual keyboard interface to input characters one by one, which is cumbersome and inconvenient. For example, the speed and efficiency of text input are also low, which ultimately leads to the low efficiency and inflexibility of the virtual reality scene constructed by the head-mounted display 120. In addition, the corresponding 3D model of the mouse is not displayed in the virtual reality scene, so users cannot understand the use of the mouse in real space by watching the virtual reality scene, so as to control the mouse in real space to achieve other complex operations in daily use of the mouse. The operation is inconvenient and does not conform to the daily use of the mouse, and the efficiency of interaction is low.
To address the above technical problems, the present disclosure provides input device model projecting methods of using an input device (akeyboard or a mouse) in real space to realize the interaction with the head-mounted display device.
One disclosed embodiment comprises determining the 3D model of the input device, acquiring the image of the input device captured by the camera installed in the virtual reality system, identifying at least one feature identifier in the image, obtaining the target information corresponding to at least one feature identifier in the virtual reality, and then projecting the 3D model into a virtual reality scene constructed by the virtual reality system. The method in this embodiment is that users can control the input device based on the 3D model in virtual reality and complete the interaction between the input device and the virtual reality scene efficiently and rapidly. In particular, the input device model projecting method is described in detail through one or more examples below.
FIG. 2 illustrates a flow diagram of an input device model projecting, or mapping, method provided in this disclosed embodiment for one application scene. In particular, the method comprises the following steps S210 to S250 shown in FIG. 2.
A virtual reality system can be configured on the head-mounted display, and can process the data received from the keyboard, mouse or other input devices and return the processing result to the display screen of the head-mounted display. Refer to the application scene of a keyboard shown in FIG. 3a and the application scene of a mouse shown in FIG. 3d for details. The display screen will change the display state of each object in the virtual reality scene according to the processing result.
Exemplarily, FIG. 3a illustrates a schematic diagram of another application scene provided in the present disclosure. FIG. 3a comprises the keyboard 310, the head-mounted display 320 and the user hands 330. The head-mounted display 320 is on the user's head, and the keyboard 310 is operated by the hands 330. The layout of keys on the keyboard 310 is as shown in FIG. 3b, and 340 in FIG. 3c shows the scene constructed within the virtual reality system running on the head-mounted display 320 shown in FIG. 3a. It is understandable that after wearing the head-mounted display, users can see the virtual reality scene constructed by the virtual reality system running on the head-mounted display 320 with their eyes, but they cannot see objects in real space and operate on them. To interact with the virtual reality scene, devices are usually simple levers or other hand devices that only have several keys that can be operated without eyes. Those keys always include direction keys, enter key and joystick, etc. Operating without eyes on the keys makes accurate operation impossible when the input device has many keys, such as the keyboard 310.
Given the problems in the interaction between the users and the virtual reality scene mentioned above, the method provided in the present disclosure can be used to project the corresponding 3D model 350 of the keyboard 310 to the virtual reality scene 340 displayed on the head-mounted display 320 based on the spatial position and attitude of the keyboard 310 in real space, so that users can understand and control the keyboard 310 by watching the 3D model 350 of the keyboard 310 displayed in the virtual reality scene 340, and can see the operation of the 3D model 350 of the keyboard 310 by the 3D model 360 of the user hands 330 in the virtual reality scene 340. The operation in the virtual reality scene 340 can be synchronized to a certain extent with the actual operation of the physical keyboard 310 by the user’s hands 330, so as to achieve efficient and rapid text input. It is equivalent to that users can directly see the keys on the physical keyboard with their eyes and perform subsequent operations, and can accurately determine the position of the corresponding model of the keyboard in the virtual reality scene based on a small amount of data. As the positioning is relatively accurate, user experience is improved.
Exemplarily, as shown in FIG. 3d, a schematic diagram of another application scene provided in this disclosed embodiment, comprises the mouse 370, the head-mounted display 320 and the user hands 330. The head-mounted display 320 is on the user's head, the mouse 370 is operated by the hands 330, and 380 in FIG. 3e illustrates the scene constructed within the head-mounted display 320 shown in FIG. 3d, which can be called virtual reality scene 380. It is understandable that after wearing the head-mounted display, users can see the virtual reality scene constructed by the head-mounted display 320 with their eyes, but they cannot see objects in real space and operate on them. To interact with the virtual reality scene, devices are usually simple levers or
other hand devices that only have some keys that can be operated without eyes, such as direction keys, enter key and joystick. Interaction with the virtual reality scene is not applicable to devices with complex functions. For example, it is impossible to operate accurately on a mouse that has many keys to achieve the corresponding functions of complex operations in the mouse.
Given problems in the interaction between the users and the virtual reality scene, the method provided in this disclosed embodiment can be used to project the 3D model 390 of the mouse 370 to the virtual reality scene 380 displayed on the head-mounted display 320 based on the spatial position and attitude of the mouse 370 in real space, so that users can understand and control the mouse 370 by watching the 3D model 390 of the mouse 310 displayed in the virtual reality scene 380, and can see the operation of the corresponding 3D model 390 of the mouse 370 by the corresponding 3D model 360 of the user hands 330 in the virtual reality scene 380. FIG. 3e also illustrates an operation interface, which is similar to the display screen of a terminal. The operation in the virtual reality scene 380 can be synchronized to a certain extent with the actual operation of the mouse 370 by the user’s hands 330. The method provided in this disclosed embodiment is applicable to not only the above application scenes. In the following examples, the keyboard is taken as the input device.
S210 comprises determining the 3D model of the input device. Optionally, determining the 3D model of the input device comprises: acquiring configuration information of the input device, including model information; determining the corresponding 3D model of the input device according to the model information.
Particularly, the virtual reality system acquires the configuration information of the keyboard, comprising the model information. The layout, content, and distance between functional areas are different for different models of the keyboard. Functional areas can also be understood as key areas distributed on the keyboard; each key area contains different characters and the distance between key areas is different. Then the corresponding 3D model of the physical keyboard is selected based on its model. The 3D model can be selected from a pre-built model database after comparing the model information or identified as the 3D model that has a similar distribution of key area on the keyboard. In general, the physical keyboard is divided into the main keyboard area (comprising character keys, space key, enter key and other function keys) , direction key area (comprising 4 direction keys with arrows indicating up, down, left and right) , control key area (comprising 6 function keys such as Insert and PageDown) , number key area (comprising 17 function keys such as number keys and enter key) and top function key area (comprising 13 function keys such as Esc key and F12) . The layout and position relation of keys in each key area (function area) of the physical keyboard of each model are standard and determined, as is the relative position relation between different key areas. For example, the common physical keyboard 310 shown in FIG. 3b comprises the control key area 311 and the direction key area 312, etc. The number key area is located at the far right of the keyboard, that is, the right of the control key area 311 and the direction key area 312. Direction key area 312 and control key area 311 are distributed up and down, and the relative position relation between key areas is determined. Keys corresponding to numbers 1 to 9 are distributed from bottom to top and left to right in the number key area, and the layout of keys in each key area (function area) is determined. The number 1 is in front of the number 2, and the position relation between keys is determined. In the direction key area 312, the key indicating the down direction is below the key indicating the up direction, the key indicating the left direction is on the left of the key indicating the down direction, and the key indicating the right direction is on the right of the key indicating down direction. The relative position relation between keys in the direction key area 312 is determined.
A mouse is taken as the input device. Particularly, the virtual reality system acquires the configuration information of the mouse, comprising the model information. The distribution and distance between components are different for different models of the mouse; the component can be a key or identifier set on the mouse, with keys comprising left key, right key, wheel and side key, and identifiers comprising logo of the mouse and identifier preset on the mouse. Then the corresponding 3D model of the mouse is selected based on its model. The 3D model can be selected from a pre-built model database after comparison and analysis to determine the corresponding exact 3D model of the mouse or identified as the 3D model with a similar distribution of the components in the mouse. Keys and the wheel in the mouse are taken as examples below. The situation where there are both keys and identifiers is similar and will not be repeated here. In general, a mouse has 3 components, including a left key, a right key and a wheel. There are also mice with multiple keys, such as 4 keys, 5 keys, etc. The more keys there are in the mouse, the more complex the operation will be and the more functions will be realized, so the relevant interaction method will not be applicable. The position relation between keys of the mouse of each model is standard and determined. For example, the common mouse 370 shown in FIG. 3d comprises the left key 371, the right key 373 and the wheel 372. The wheel 372 is adjacent to the left key 371 and the right key 373, the relative position relation between keys is determined, and the spatial distance among the left key 371, the wheel 372 and the right key 373 is determined.
Optionally, determining the corresponding 3D model of the input device according to the model information comprises: if there is the same model as that of the input device in the preset database according to
the model information, determining the corresponding 3D model of the input device based on the model in the preset database. Or, if there is no same model as that of the input device in the preset database, calculating the similarity between the model stored in the preset database and the model of the input device, and determining whether the similarity is less than or equal to the preset value. If yes, determining the corresponding 3D model of the input device based on the model corresponding to the similarity in the preset database. If the similarity is bigger than the preset value, determining the target model in the preset database.
After the model information of the keyboard is acquired, whether there is the same model as the input keyboard in the preset database is determined. Corresponding 3D models of different keyboards are prestored in the preset database. For example, the model of the keyboard can be AAAA, and the corresponding 3D model of the keyboard in the preset database is also AAAA. If there is a model the same as the keyboard in the preset database, the 3D model in the virtual reality scene can be directly determined as the corresponding 3D model of the keyboard in the preset database, thus further reducing the interaction time. Determining the target model when the mouse is the input device is the same as that when the keyboard is the input device, so such determination will not be repeated here.
If there is no same model as the input keyboard in the preset database, that is, the model information of the input keyboard cannot match any of the keyboards in the preset database, the similarity between the model stored in the preset database and the model of the input device should be further calculated. Whether the similarity is less than or equal to a preset value should be determined. The purpose of the calculation and the comparison is the figure out whether there is a model similar to the input keyboard in the preset database. Similar keyboard models have similar layouts, and the rules for determining similar models can be preset. For example, AAAA and AAAB can be set as similar models. Keyboards of models AAAA and AAAB have similar layouts, and the matching degree is relatively high. AAAA contains 4 characters, the AAAB also contains 4 characters. The positions of 3 characters in AAAA and AAAB are the same and the characters in such positions are the same, i.e., A, and only the fourth character is different. Therefore, it can be calculated that the similarity between the two models is 0.25. The preset value can be set to 0.4 as required. Since the similarity 0.25 is less than the preset value 0.4, it can be determined that there is a model similar to the input keyboard in the preset database. Then, the corresponding 3D model of the model AAAA can be determined based on the model AAAB which corresponds to the similarity lower than the preset value. Only one similar 3D model is required to be stored in the preset database to reduce the occupied storage space and associate similar models directly. If there is a model similar to the input keyboard in the preset database, the corresponding 3D model of the keyboard can be directly determined based on the similar model.
If the similarity is bigger than the preset value, that is, no model in the preset database is the same as or similar to the input keyboard, the target model should be determined in the preset database. The target model can be a generic model prestored in the preset database, or a keyboard-like 3D model selected in the preset database.
S220 comprises acquiring the image of the input device captured by the camera of the virtual reality system. The camera can be an infrared camera, a color camera, or a grayscale camera. For example, images with a black background and white characters can be generated when captured with a grayscale camera, and images comprising keyboards captured in real time by the camera mounted on the head-mounted display in the virtual reality system can be acquired. The black background is the overall background of the keyboard, and the white characters represent the characters on keys, which facilitates the subsequent rapid and accurate binary classification and identification of the characters in the images. Particularly, images comprising the keyboard 310 can be captured by the camera mounted on the head-mounted display 320 shown in FIG. 3a and transmitted to the virtual reality system for processing. The virtual reality system acquires the image of the mouse captured by the camera in real time. The structure between the keys and the wheel in the mouse image is clear, and the gap between the keys can be distinguished. That facilitates the subsequent rapid and accurate identification of keys on the mouse, and the accurate identification of the areas where the left key, the right key and the wheel of the mouse reside in the image.
S230 comprises identifying at least one feature identifier of the input device in the image. Optionally, the input device comprises a keyboard, and the feature identifier of the keyboard is a character. The input device also comprises a mouse, and the feature identifier of the mouse is a component. On the basis of S220 above, the virtual reality system can identify at least one character on the keyboard in the image based on the image identification algorithm, and can identify the white characters in the black and white image acquired above, or identify the characters with obvious color differentiation on the keys, so as to improve the identification speed. Preferentially, 3 characters in any of the 5 key areas mentioned above can be identified. Those 3 characters may not be in a horizontal line. For example, the 3 characters can be A, W and D in the same key area, or F3, M and N in different key areas. The selection of 3 characters is not restricted. The image identification algorithm can be an algorithm having a character identification function, and is not restricted here. The virtual reality system
can identify at least one component on the mouse in the image based on the image identification algorithm. Particularly, the three keys on the mouse can be identified: left key, right key and wheel.
Optionally, if the similarity is bigger than the preset value and the target model applies, at least one character in each preset area of the keyboard in the image should be identified.
If the similarity is bigger than the preset value, that is, no model in the preset database is the same as or similar to the input keyboard, a 3D model similar to the model of the keyboard or a generic 3D model (target model) can be selected. This could happen if the input keyboard has uncommon layouts. For example, keyboards with 87 keys, or keyboards which contain two or more separate parts are quite uncommon compared with the normal 104 keys keyboard. A similar 3D model is taken as an example below. Characters should be identified in each of the five preset areas of the keyboard in the image. The preset areas can be the five keyboard areas and at least one character should be identified in each area. For example, character 4 is identified in the number key area, character A in the main keyboard area, direction key up in the direction key area, Insert in the control key area and F12 in the top function key area. Then a similar 3D model can be adjusted according to the position of characters in each key area of the keyboard, or a similar 3D model can be directly used as the 3D model matching the keyboard.
S240 comprises obtaining the target information corresponding to the at least one feature identifier in the virtual reality. On the basis of S230 above, after determining the at least one character of the keyboard in the image, the virtual reality system calculates the target information corresponding to the at least one character in the virtual reality. The target information comprises a position and a direction (an attitude) .
Exemplarily, the head-mounted display 320 shown in FIG. 3a will be equipped with 3-4 cameras to capture real time information about the environment around the user's head, and determine the position relation between the captured environment and the head-mounted display and construct a space, which can be called the target space. The keyboard and the user's hands are within the determined target space. The target information of at least one character on the keyboard is calculated within the target space, that is, the target information of the character within the target space. Position refers to the spatial three-dimensional coordinates (XYZ) of a character in the target space. Direction information refers to the attitude of the character in the target space, such as the rotation angle, pitch angle, and roll angle of the character in the target space. Spatial three-dimensional coordinates refer to the three-dimensional coordinates within the target space. Attitude refers to the attitude within the target space. Through the target information of the above characters, the position and attitude of the characters within the target space can be determined. This embodiment uses 3 to 4 cameras to capture images of the environment. However, the number of cameras is not fixed and could be changed under different working requirements. If the information required to build a 3D model is simple, the number of cameras could be reduced to 2. By contrast, if the information required is relatively complicated, the number of cameras could be increased.
Optionally, obtaining the target information of the at least one feature identifier comprises obtaining the target information corresponding to the at least one feature identifier in the virtual reality through spatial position algorithm.
On the basis of S230 above, the target information of each character on the keyboard in the target space can be calculated through the spatial position algorithm, which can be an algorithm for resolving the relative motion of points in two-dimensional space and three-dimensional space (Perspective-n-Point/PnP) .
Optionally, obtaining the target information corresponding to at least one feature identifier in the virtual reality comprises: for the first preset amount of feature identifiers, acquiring the image of the same feature identifier captured simultaneously by at least two cameras from different angles, and determining the attitude of the same feature identifier based on the image of the same feature identifier at different angles; Or, for the second preset amount of feature identifiers, determining the roll angle and pitch angle of the polygon, which is formed by at least three feature identifiers, based on the position of the said the at least three non-collinear feature identifiers. Determining the yaw angle of the polygon based on the orientation of the polygon and the position relation between the polygon and the 3D model. The roll angle, pitch angle and yaw angle constitute the attitude of the polygon.
The target information comprises position and attitude. After the position of the feature identifier in the virtual reality is determined, the attitude of the feature identifier in the virtual reality should be calculated. Particularly, for the first preset amount of feature identifiers, wherein the first preset amount is either 1 or 2, 1 feature identifier is taken as an example. For acquiring the image of the same feature identifier captured simultaneously by at least two cameras of the virtual reality system from different angles, the same feature identifier can be character A on the keyboard. Therefore, it is to use two cameras to capture images comprising character A simultaneously from different angles, and determine the attitude of the same feature identifier based on the image of the same feature identifier from different angles, that is, determining the attitude of character A. It is understandable that the attitude of a feature identifier in images captured at two or more different angles
can be determined, with the specific implementation method not repeated here. Or, for the second preset amount of feature identifiers, wherein the second preset amount is at least 3, with the keyboard taken as an example, the roll angle and pitch angle of the polygon (triangle AWC) formed by three feature identifiers can be determined based on the position of three feature identifiers that are not in a straight line (which can be A, W and C) . Three points define a triangle, and the roll angle and pitch angle of the triangle can be determined. Then the yaw angle of the triangle can be determined based on the orientation of the triangle formed by three feature identifiers. For example, if the orientation is that W is diagonally above A and A is diagonally above C in the triangle AWC, the yaw angle of the triangle formed by three points can be determined. The roll angle, pitch angle and yaw angle constitute the attitude of the triangle. The front of the keyboard or mouse can be predefined to be positive, and the back to be negative so that the roll angle, pitch angle and yaw angle can be positive or negative and the attitude of the triangle can be determined more accurately. The method provided in the present disclosure can accurately determine the position and the attitude of the model in the virtual reality scene by collecting at most 3 feature identifiers, and then accurately displaying the complete 3D model to realize the interaction between the virtual and the real. the method in some embodiments have high fault tolerance for blocking. Even if there is blocking, the process and accuracy of model projecting will not be affected as long as fewer feature identifiers can be identified. There is no need to identify the complete shape of the object, and the implementation is relatively easy.
S250 comprises projecting the 3D model into the virtual reality scene corresponding to the virtual reality system based on the target information. On the basis of S240 and S210 above, the 3D model can be projected into the virtual reality scene constructed by the virtual reality system based on the target information of each character, that is, the corresponding 3D model of the keyboard as determined in S210 can be displayed in the virtual reality scene constructed by the virtual reality system. In the virtual reality scene, the position and the attitude of the 3D model in the target space are the same as those of the keyboard (physical keyboard) in real space. Users can determine the situation of the physical keyboard in real space based on the state of the 3D model in the virtual reality scene displayed on the display screen of the head-mounted display, and then control the physical keyboard to achieve rapid text input or other functions.
Optionally, S250 above comprises: determining the position and the attitude of the 3D model based on the target information and the position relation between at least one feature identifier and the 3D model; projecting the 3D model into the virtual reality scene corresponding to the virtual reality system based on the position and the attitude of the 3D model.
The target information of the whole 3D model in the virtual reality, which is the position and the attitude of the 3D model in the virtual reality, can be determined based on the calculated target information of each character and the position of each character on the corresponding 3D model of the keyboard (the position relation between at least one feature identifier and the 3D model) . The calculated target information of each character is within the constructed target space, and the position of each character on the corresponding 3D model of the keyboard is fixed or can be determined. The position of each character on the corresponding 3D model of the keyboard comprises the spatial distance between characters and the relative position of each character, as well as the spatial distance between a character and a preset identifier and the relative position of the character to the preset identifier. A preset identifier can be set up in advance on the keyboard. There is no restriction on the position of preset identifiers on the keyboard. For example, preset identifiers can be white dots. The distance between characters on the corresponding 3D model of the keyboard of each model and the direction of each character are fixed. For example, regardless of the position and attitude of the 3D model, the spatial distance between character A and character W is fixed, and the relative position of character W above character A is also fixed, that is, the target information of the whole 3D model in the virtual reality can be determined based on the calculated target information of characters and the position of characters on the 3D model. Then the 3D model can be displayed at the target information of the 3D model in the virtual reality scene, which can also be understood as the real, accurate and rapid projecting of the physical keyboard in reality to the virtual reality scene.
Optionally, determining the position and attitude of the 3D model based on the target information and the position relation between at least one feature identifier and the 3D model comprises: determining the position of the 3D model based on the position of a feature identifier and the position relation between the feature identifier and the 3D model.
The position of the 3D model in the target space can be determined based on the position of a feature identifier in the target space and the position relation between the feature identifier and the 3D model. The position relation between the feature identifier and the 3D model can be understood as the specific position of the feature identifier in the 3D model. For example, the key “Esc” usually located at the top right corner of the keyboard. According to the position information of the key “Esc” and its position relation with the entire keyboard, the position of the 3D model could be determined.
Optionally, determining the position and attitude of the 3D model based on the target information and the position relation between at least one feature identifier and the 3D model comprises: for the first preset amount of feature identifiers, determining the attitude of the 3D model based on the attitude of a feature identifier and the position relation between the feature identifier and the 3D model. For the second preset amount of feature identifiers, determining the attitude of the 3D model based on the attitude of the polygon and the position relation between the polygon and the 3D model.
Determining the position and attitude of the 3D model based on the target information and the position relation between at least one feature identifier and the 3D model comprises: for the first preset amount of feature identifiers, such as character A or B mentioned above, determining the attitude of the 3D model in the virtual reality based on the attitude of the feature identifier and the position relation between the feature identifier and the 3D model. This means that based on the attitude of character A in the virtual reality and the position of character A on the 3D model, so that the attitude of the 3D model in the virtual reality can be calculated.
For the second preset amount of feature identifiers, the attitude of the 3D model in the virtual reality can be calculated based on the position of non-collinear characters A, W and C on the 3D model of the keyboard and the calculated attitude of these characters in the virtual reality. Then the corresponding 3D model of the keyboard can be projected into the virtual reality scene corresponding to the virtual reality system based on the position and the attitude of the 3D model.
The hand location of the user’s hands can also be acquired. Such information comprises the position and attitude of the hands within the target space. Then the 3D model of the hands can be constructed and projected into the virtual reality scene displayed on the display screen of the head-mounted display at the locating information. At this point, the target information of the 3D model of the hands corresponds to that of the keyboard in the virtual reality scene. For example, for the position correspondence between the physical keyboard 310 and the hands 330 in reality shown in FIG. 3a, the hands 330 can operate the keyboard 310, and in the virtual reality scene 340, the corresponding 3D model 350 of the keyboard and the corresponding 3D model 360 of the hands can be displayed in the same display state. The display state can also be that the corresponding 3D model 350 of the keyboard is operated by the corresponding 3D model 360 of the hands.
The physical keyboard can be moved at any time, and the images comprising the physical keyboard captured by the camera are generated in real time. The target information of the 3D model of the physical keyboard in the virtual reality can be determined in real time, that is, the display state of the 3D model in the virtual reality scene can be changed in real time. If the physical keyboard is not replaced after the 3D model is determined for the first time, there will be no need to select the 3D model repeatedly according to the model of the physical keyboard. The target information of characters can be calculated directly so as to speed up the determination of the target information of the 3D model.
An input device model projecting method provided in this disclosed embodiment comprises: determining the corresponding 3D model of the input device, acquiring the image of the input device captured by the camera of the virtual reality system, then identifying at least one feature identifier of the input device in the image, obtaining the target information corresponding to at least one feature identifier in the virtual reality, and finally, projecting the 3D model into the virtual reality scene based on the target information. The method provided in this embodiment requires fewer feature identifiers to project the input device in real space accurately to the virtual reality scene and has a high fault tolerance for blocking, so as to facilitate subsequent efficient interaction using a real input device according to the 3D model of the input device in the virtual reality scene, and complete text input and other operations rapidly.
On the basis of the embodiment above, FIG. 4 illustrates a flow diagram of an input device model projecting method provided in the first disclosed embodiment. Optionally, after at least one character in the preset area corresponding to the keyboard in the image is identified, the input device model projecting method also comprises the following steps S410 to S440 shown in FIG. 4.
S410 comprises calculating the first spatial distance of at least one character in the preset area corresponding to the keyboard. After at least one character is identified in each of the 5 preset key areas, that is, after one character is identified in each key area, the spatial distance among 5 characters in 5 key areas can be calculated, such as the first spatial distance between character 4 in the number key area and character A in the main keyboard area, between character Insert and character A, and between other keys, which will not be repeated here. Although the example here only identifies one character in each preset area and calculates the distance between them, it is possible to identify two or more characters in each area and calculate the distance. Identifying more characters could increase the accuracy of calculation and thus make the projecting more accurate.
If a mouse is the input device, and there are multiple components in the mouse, 3 or all components can be identified to ensure the accuracy of subsequent determination of the target information of the 3D model, i.e.,
the left key, the right key and the wheel. After at least one component of the mouse in the image is identified, if there are 5 components in the mouse, the 5 components can be left key 1, left key 2, wheel, right key 1 and right key 2. At this point, the 5 components of the mouse in the image can be identified, that is, each component of the mouse can be identified. Then a similar 3D model (target model) can be adjusted based on the position (spatial distance and relative position relation) of each component determined on the corresponding 3D model of the mouse so that the 3D model matching the mouse can be acquired.
S420 comprises calculating the second spatial distance of the at least one character in the target model.
According to the character identified in each key area as determined above, the second spatial distance from the same character above can also be calculated in 5 key areas of the target model (similar 3D model) accordingly, such as the second spatial distance between character 4 in the number key area and character A in the main keyboard area, and between character Insert and character A in the target model, that is, the same characters are chosen to calculate the first spatial distance on the keyboard as are chosen to calculate the second spatial distance on the target space. Although the example here only identifies one character in each preset area and calculates the distance between them, it is possible to identify two or more characters to ensure the accuracy of the calculation.
For the mouse, according to the component identified above, the second spatial distance from the same component above can also be calculated in the target model (similar 3D model) accordingly, such as the second spatial distance between left key 1 and left key 2, and between left key 1 and right key 1 in the target model, that is, the same components are chosen to calculate the first spatial distance on the mouse as are chosen to calculate the second spatial distance on the target space.
S430 comprises if the difference between the first spatial distance and the second spatial distance is bigger than the preset threshold, determining the position relation of the preset area in which at least one character corresponding to the keyboard resides based on the first spatial distance and the second spatial distance. Updating the target model according to the position relation of the preset area.
On the basis of S410 and S420 above, if the calculated second spatial distance between character 4 and character A in the target model is 5 and the calculated first spatial distance between these characters on the physical keyboard in the image is 7, whether the difference 2 between the first and the second spatial distance is bigger than the preset threshold should be calculated. The preset threshold can be set according to user requirements. For example, the preset threshold is 1. The difference 2 is bigger than the preset threshold 1, so the similar 3D model should be adjusted. The spatial distance between the number key area and the main keyboard area in the similar 3D model should be adjusted according to the second spatial distance 5 and the first spatial distance 7. The spatial distance between the center point of the pre-determined number key area and the center point of the main keyboard area should be adjusted to 7 in the similar 3D model, and other characters and keys in the key area should be adjusted accordingly, that is, the spatial distance between 2 key areas should be increased. The spatial distance between other key areas is adjusted in the same way as that between the number key area and the main keyboard area, which will not be repeated here. After the spatial distance of each key area is adjusted, the updated target model matching the keyboard can be acquired, or the target model more matching the keyboard can be acquired. More matching means that there is a small gap in the position relation between characters and between key areas, that is, the spatial layout of the adjusted target model matches the spatial layout of the keyboard. It can also be understood as generating a 3D model matching the keyboard based on a similar 3D model, which avoids key dislocation caused by the poor matching between the physical keyboard and the 3D model. For example, the user presses the key D in real space, but the hand model displayed in the virtual reality scene presses the key E on the 3D model because of the poor matching between the physical keyboard and the 3D model. Such situation is easy to mislead the user and the input is inaccurate. No adjustment is required if the overall shape of the 3D model is different.
Optionally, the updated target model can be projected into the virtual reality scene constructed by virtual reality system based on the target information.
Identifying at least one character in each key area of the keyboard mentioned above means that if the keyboard has 5 key areas, at least 5 characters should be identified. The target information of the updated target model in the virtual reality can be determined based on the position of at least one character in each key area in the 3D model. The updated target model is the corresponding 3D model of the keyboard, and can be projected into the virtual reality scene.
S440 comprises: if the difference between the first spatial distance and the second spatial distance is less than or equal to the preset threshold, determining the target model as the corresponding 3D model of the keyboard. On the basis of S430 above, if the calculated second spatial distance between character 4 and character A in the target model is 6.5 and the calculated first spatial distance between character 4 and character A on the physical keyboard in the image is 7, the difference 0.5 between the first and the second spatial distance will be less than the preset threshold 1. For another example, if the first spatial distance between character
Insert in the control key area and character 4 in the number key area on the physical keyboard is 3 and the second spatial distance between character Insert in the control key area and character 4 in the number key area in the similar 3D model is 2.5, the difference 0.5 between the first spatial distance 3 and the second spatial distance 2.5 will be less than the preset threshold 1. If the spatial distance difference between characters in other key areas is also less than the preset threshold, it indicates that the similarity between the target model and the keyboard is relatively high. In this case, the target model with high similarity can be directly selected as the corresponding 3D model of the keyboard, without the need to adjust the target model.
An input device model projecting method provided in this disclosed embodiment comprises: if there is no 3D model matching the input device in the pre-built model database (preset database) , determining the 3D model similar to that of the input device (target model) , and then adjusting the similar 3D model based on the distribution of characters in each key area of the input device and the position relation between characters in the key areas, so as to make the input device highly match the 3D model. The method is flexible and can be applied to a variety of application scenes. For example, if there is no 3D model corresponding to the input device of the model in the preset database, the target model can be adjusted. In addition, the method is efficient to implement. Or, when the similarity between the target model and the input device is high, that is, the spatial distance difference between the key areas is small, the target model can be directly determined as the corresponding 3D model of the input device.
On the basis of the embodiment above, FIG. 5 illustrates is a flow diagram of an input device model projecting method provided in this disclosed embodiment. Optionally, if the input device is blocked in a large range in the image captured by the camera of the virtual reality system and no feature identifier can be collected, the following steps S510 to S520 shown in FIG. 5 can be performed.
Optionally, the input device is preconfigured with an inertial sensor. The input device is preconfigured with an inertial sensor, which can collect data about the input device in real time, and can be mounted on the surface of the input device as a separate device or installed in the internal circuit of the input device. For example, the inertial sensor could be placed under the keys of the keyboard.
S510 comprises acquiring data from the inertial sensor. The data collected by the inertial sensor can be acquired. When the image identification method cannot determine the target information of the corresponding 3D model of the input device, the data collected by the inertial sensor at the time of image capturing can be acquired.
S520 comprises if no feature identifier of the input device is identified in the image, determining the target information of the corresponding 3D model in the virtual reality based on the data of the inertial sensor. On the basis of S510 above, if there is large-scale blocking in the acquired image, such as blocking of photos captured in real time by hands or incorrect angle of capturing, the virtual reality system cannot identify the feature identifier on the input device in the image, the locating information of the input device can be acquired through IMU, and then the target information of the input device in the target space can be determined according to the locating information.
If there is large-scale blocking in the acquired image, the virtual reality system can also receive the input signal from the input device, and then determine the target information of the input device based on the input signal.
The camera captures images of the input device in real time. When the spatial position of the input device changes, the 3D model displayed in the virtual reality scene will also change accordingly.
An input device model projecting method provided in this embodiment disclosed embodiment comprises, if there is large-scale blocking in the acquired image, and the virtual reality system cannot identify the character on the input device in the image, determining the target information of the input device corresponding to the virtual reality based on the data from the inertial sensor or by receiving the input signal from the input device, so as to ensure that the corresponding 3D model of the input device can be displayed accurately and in real time in the virtual reality scene. This method avoids the problem that users cannot determine the position of the input device in reality and improves user experience.
FIG. 6 illustrates a structure diagram of an input device model projecting apparatus provided in one embodiment. The input device model projecting apparatus provided in one disclosed embodiment can execute the processing steps provided in the above input device model projecting method. As shown in FIG. 6, apparatus 600 comprises a determination unit 610 which is used to determine the corresponding 3D model of the input device.
The apparatus 600 comprises an acquisition unit 620 which is used to acquire the image of the input device captured by the camera of the virtual reality system.
The apparatus 600 comprises an identification unit 630 which is used to identify at least one feature identifier of the input device in the image.
The apparatus 600 comprises a calculation unit 640 which is used to calculate the target information
corresponding to at least one feature identifier in the virtual reality.
The apparatus 600 also comprises a projecting unit 650 which is used to project the 3D model to the virtual reality scene constructed by the virtual reality system based on the target information. The term “projecting unit” is interchangeable with or could also be described as “mapping unit” in the present disclosure.
Optionally, the determination unit 610 is used for acquiring configuration information, such as model information, of the input device and determining the 3D model of the input device according to the model information.
Optionally, if there is a same model as that of the input device in the preset database according to the model information, determination unit 610 is used for determining the 3D model of the input device based on the model in the preset database.
However, if there is no same model as that of the input device in the preset database, determination unit 610 is used for calculating the similarity between the model stored in the preset database and the model of the input device and determining whether the similarity is less than or equal to the preset value. If yes, determining the corresponding 3D model of the input device based on the model corresponding to the similarity in the preset database. By contrast, if the similarity is bigger than the preset value, determining the target model in the preset database.
Optionally, for determination unit 610, the input device comprises a keyboard, and the feature identifier of the keyboard is a character.
Optionally, if the similarity is bigger than the preset value identification unit 630 is used for identifying at least one character in each preset area of the keyboard in the image.
Optionally, apparatus 600 also comprises the updating unit, which is used for calculating the first spatial distance between identified characters in the preset areas of the keyboard and calculating the second spatial distance of the same characters above in the target model.
If the difference between the first and the second spatial distance is bigger than the preset threshold, determining the position relation of each preset area above based on the first spatial distance and the second spatial distance. And then updating the target model according to the position relation of the preset area. Or, if the difference between the first spatial distance and the second spatial distance is less than or equal to the preset threshold, determining the target model as the existing 3D model of the keyboard in the preset database and no adjustments are needed.
Optionally, for determination unit 610, the input device also comprises a mouse, and the feature identifier of the mouse is a component.
Optionally, if the similarity is bigger than the preset value, identification unit 630 is used for identifying at least one component of the mouse in the image.
Optionally, projecting unit 650 is used for projecting the updated target model to the virtual reality scene constructed by the virtual reality system based on the target information.
Optionally, calculation unit 640 is used for obtaining the target information corresponding to the at least one feature identifier in the virtual reality through the spatial position algorithm.
Optionally, the apparatus 600, the target information comprises position and attitude.
Optionally, for the first preset amount of feature identifiers, calculation unit 640 is used for acquiring the image of the same feature identifier captured simultaneously by at least two cameras from different angles, and determining the attitude of the same feature identifier based on the image of the same feature identifier from different angles.
For the second preset amount of feature identifiers, calculation unit 640 is used for determining the roll angle and pitch angle of the polygon formed by at least three feature identifiers based on the position of at least three feature identifiers that are not in a straight line. Determining the yaw angle of the polygon based on the orientation of the polygon and the position relation between the polygon and the 3D model. The roll angle, pitch angle and yaw angle constitute the attitude of the polygon.
Optionally, projecting unit 650 is used for determining the position and the attitude of the 3D model based on the target information and the position relation between at least one feature identifier and the 3D model and projecting the 3D model into the virtual reality scene corresponding to the virtual reality system based on the position and the attitude of the 3D model.
Optionally, for projecting unit 650, determining the position and the attitude of the 3D model based on the target information and the position relation between at least one feature identifier and the 3D model comprises determining the position of the 3D model based on the position of a feature identifier and the position relation between the feature identifier and the 3D model.
Optionally, for projecting unit 650, determining the position and the attitude of the 3D model based on the target information and the position relation between at least one feature identifier and the 3D model comprises determining the attitude of the 3D model based on the attitude of a feature identifier and the position relation
between the feature identifier and the 3D model, for the first preset amount of feature identifiers. For the second preset amount of feature identifiers, determining the attitude of the 3D model based on the attitude of the polygon and the position relation between the polygon and the 3D model.
Optionally, for apparatus 600, the input device is preconfigured with an inertial sensor.
Optionally, the apparatus 600 also comprises an auxiliary acquisition unit, which is used for acquiring data from the inertial sensor and determining the target information of the corresponding 3D model of the input device in the virtual reality based on the data from the inertial sensor if no identifier of the input device is identified in the image.
In accordance with some embodiments, FIG. 7 illustrates a structure diagram of an electronic apparatus. The electronic apparatus can execute the operations provided in some embodiments. As shown in FIG. 7, the electronic apparatus 700 comprises processor 710, communication interface 720 and memory 730. The computer program is stored in memory 730 and configured for processor 710 to perform the input device model projecting method as described in some embodiments.
One disclosed embodiment provides a computer readable storage medium storing a computer program which is executed by the processor to perform the input device model projecting method in one embodiment.
In accordance with some embodiments, FIG. 8 illustrates a structure diagram of an electronic apparatus provided. As shown in FIG. 8, the electronic apparatus 800 comprises one or more processor 810, a memory 820 and a display device 830. In addition, a plurality of programs for projecting a virtual reality (VR) model is stored in the memory 820 and when those programs are executed by the one or more processors 810, the electronic apparatus performs acts as described in some embodiments and displays the 3D model in the virtual reality scene by the display device.
In accordance with some embodiments, FIG. 9 illustrates a structure diagram of a virtual reality system. As shown in FIG. 9, the virtual reality system comprises a display device 930 configured to display the virtual reality scene and projected 3D model, and a plurality of cameras 910 configured to capture images of the input device. The virtual reality system also comprises the electronic apparatus coupled with the one or more processors 920, memory 940 coupled to the one or more processors and a plurality of programs 950 for projecting a virtual reality (VR) model stored in the memory that, when executed by the one or more processors 920, cause the electronic apparatus to perform acts in some embodiments
One disclosed embodiment provides a model display method. Such method comprises: acquiring the hand location of the hand model corresponding to the hand in real space in the virtual reality, displaying the hand model, receiving the input signal from the input device, determining the key position in the 3D model of the input device, then determining model location of the 3D model in the virtual reality, and displaying the 3D model at the model location in the virtual reality constructed by virtual reality system.
The term “hand location” and the term “first locating information of the hand model” have the same meaning in the present disclosure. The term “model location of the 3D model” and the term “second locating information of the said 3D model” have the same meaning in the present disclosure.
FIG. 10 illustrate a flow diagram of a model display method provided in accordance with some embodiments. Steps S1010 to S1040 shown in FIG. 10 are included in the model display method provided in accordance with some embodiments.
S1010 comprises acquiring the hand location of the hand model corresponding to the real hands controlling device in the virtual reality.
Image identification in related technologies or hand tracking equipment can be used to determine the hand location of the hand model in the virtual reality. The hand tracking equipment can be worn on the user’s hands, and is subject to no restriction, as long as it can construct a complete hand model according to the hand contour, display the hand posture and determine the hand location of the hand model in the virtual reality. The devices in this disclosure include but not limit to such devices. The virtual reality system can construct the hand model according to the hand model information, and then display the hand model in the virtual reality constructed by the virtual reality system according to the hand location. Hand location comprises position and attitude.
S1020 comprises receiving at least one input signal from the input device. On the basis of S1010, the virtual reality system receives at least one input signal from the keyboard. Input signal refers to the signal generated when each key on the keyboard is pressed or released. The signals generated by the keys are different, that is, each key on the keyboard has a corresponding signal. The virtual reality system can determine the key that generates the received signal.
S1030 comprises determining the model location of the 3D model in the virtual reality according to the key position in the 3D model and the hand location. The key is determined by at least one input signal.
Optionally, before the model location in the virtual reality is determined, it is necessary to determine the 3D model of the input device. Such operations comprise: acquiring the configuration information of the input device and determining the 3D model of the input device based on the model information.
After the keyboard model is determined, each key position on the keyboard model is determined. The position of each key on the keyboard model is fixed or can be determined, comprising the size of keys on the keyboard model, the spatial distance between keys, and the relative position of each key. The position could also be the spatial distance between a key and a preset identifier and the relative position of the key to the preset identifier. A preset identifier can be set up in advance on the keyboard. There is no restriction on the position of preset identifiers on the keyboard. For example, preset identifiers can be white dots. The distance between keys on the corresponding 3D model of the keyboard of each model and the direction of each key are fixed. For example, regardless of the position and attitude of the keyboard model, the spatial distance between key A and key W is fixed, and the relative position of key W diagonally above key A is also fixed.
Optionally, determining the model location of the 3D model in the virtual reality according to the key position corresponding to at least one input signal in the 3D model of the input device and the hand location comprises: determining the spatial position of the 3D model according to the key position in the 3D model and the spatial position in the hand location. Determining the attitude of the 3D model according to the preset amount of hand locations and the preset amount of key positions in the 3D model. And then determining the model location of the 3D model in the virtual reality according to the spatial position and the attitude of the 3D model.
The hand location of the hand model in the virtual reality (the target space) mentioned above could be acquired when the finger presses the key in real space. Since the finger in the hand model also performs the pressing operation, the spatial position of the pressed key in the target space can be acquired according to the spatial position in the hand location of the finger in the hand model in the target space based on the preset rules. Every time a finger presses a key, there will be an input signal. According to the input signal, the pressed key can be determined, and then the spatial position of the key in the target space can be determined. After the spatial position of any key is determined, the spatial position of the whole 3D model can be determined according to the key position in the 3D model and the spatial position of the key.
After the spatial position of the keyboard is determined, the attitude of the keyboard in the target space should be determined. It is mainly to determine the plane in which the keyboard resides and the orientation of the keyboard, that is, to determine the plane in which the 3D model resides and the orientation of the 3D model. Particularly, the attitude of the 3D model is determined according to the hand locations and the positions of the key corresponding to the preset amount of input signals in the 3D model. Attitude comprises roll angle, pitch angle and yaw angle. The preset amount can be the first number or the second number, where the former refers to 3 or more keys, and the latter refers to fewer than 3 keys.
After the attitude and spatial position of the 3D model are determined, the model location of the whole 3D model in the target space can be determined according to the attitude and spatial position of the 3D model.
S1040 comprises displaying the 3D model at the model location in the virtual reality constructed by the virtual reality system. On the basis of S1040 above, after the model location in the virtual reality is determined, the keyboard model can be projected into the virtual reality constructed by the virtual reality system. In the virtual reality, the position and attitude of the 3D model in the target space are the same as those of the keyboard (physical keyboard) in real space. Users can determine the situation of the physical keyboard in real space based on the state of the keyboard model in the virtual reality scene displayed on the display screen of the head-mounted display, and then control the physical keyboard to achieve rapid text input or other functions.
Optionally, after the 3D model is displayed, the method also comprises: if at least one input signal is received from the input device, displaying the effect of control over the key pressed by hand in real space in the 3D model.
After the 3D model is displayed in the virtual reality, as the user uses the input device in reality, such as pressing a key of the input device, the key will generate an input signal. After receiving the input signal, the virtual reality system will display the control action over the pressed key in the 3D model.
The 3D model projecting method provided in accordance with some embodiments can accurately project the 3D model of the input device in real space into the virtual reality. It is a simple way that can minimize the influence of blocking without installing other equipment.
On the basis of some embodiments, FIG. 11 illustrates a flow diagram of a model display method.
Optionally, determining the attitude of the 3D model according to the preset amount of hand locations and key positions in the 3D model further comprises the following steps from S1110 to S1130 shown in FIG. 11.
S1110 comprises determining the spatial positions of the key corresponding to the preset amount of input signals according to the spatial positions in the hand locations.
When a key is pressed by a hand, an input signal will be generated. According to the spatial position in the hand location of the hand model at this time, the spatial position of the key can be determined. Particularly, a preset amount of keys can be pressed with hands to generate a preset amount of input signals. The preset amount can be the first number or the second number. For example, when a key is pressed with a fingertip, the
spatial position of the fingertip in the hand model can be approximately the same as the spatial position of the key. Multiple keys can be pressed with hands at the same time or only one key can be pressed with a hand at a time. There is no restriction on how to press the key. If there are keys that can be pressed, the keyboard with keys is facing up by default.
S1120 comprises determining the spatial position of the plane in which the 3D model resides and the orientation of the 3D model according to the preset amount of hand locations and the preset amount of key positions in the 3D model.
Optionally, S1120 above comprises: if the preset amount is the first number, determining the spatial position of the plane in which the 3D model resides according to the spatial position in the preset amount of hand location; determining the orientation of the 3D model, in accordance with an orientation of a polygon formed by the first number of non-conllinear keys, a spatial position and a position in the 3D model of each key in the polygon.
The word “non-conllinear” described a state that somethings are not lying or acting in the same straight line. Non-conllinear keys in the present disclosure refer to keys that are not in the same line. In other words, the connecting between these keys could form a polygon, instead of a line.
On the basis of S1110 above, if the preset amount is the first number, which is 3 or more, taking 3 keys pressed as an example, the spatial position of the plane in which the keyboard resides can be determined according to the spatial position of the 3 keys that are not in a straight line. The spatial position of the plane in which the keyboard resides is also the spatial position of the plane in which the 3D model resides, and the spatial position of the plane in which the 3D model resides comprises the roll angle and pitch angle of the 3D model. Then, the orientation of the 3D model can be determined according to the orientation of the triangle (polygon) formed by the 3 non-conllinear keys, the spatial positions of the 3 keys and the positions of the 3 keys in the 3D model. The orientation of the 3D model comprises the yaw angle of the 3D model.
Optionally, S1120 above comprises: if the preset amount is the second number, determining a target part for pressing a second number of keys in the hand model; determining a spatial position of the plane in which the target part resides and an orientation of the target part according to the attitude in the hand location of the hand model; calculating and determining the spatial position of the plane in which the 3D model resides based on the spatial position of the plane in which the target part resides; and determining an orientation of each key in the second number of keys according to the orientation of the target part; and determining the orientation of the 3D model based on the orientation of each key and a position of each key in the 3D model in the second number of keys.
On the basis of S1110 above, if the preset amount is the second number, the second number of keys can be 1 and/or 2 keys. After key A is pressed with a finger, the acquired hand location comprises the spatial position of the finger at the time of pressing key A. In the following example, 1 key A is pressed. For determining the target part for pressing the second number of keys in the hand model, the target part can be the pad of the finger pressing the key. For example, if key A is pressed with the right index finger, the pad of the right index finger will be recorded as the target part. The target part can also be the finger joint. Then the spatial position of the plane in which the target part resides can be determined according to the attitude of the target part in the hand location, and the spatial position of the plane in which the pad of the finger resides can be calculated to determine the spatial position of the plane in which the keyboard is placed. The spatial position of the plane in which the keyboard is placed comprises roll angle and pitch angle. There is no restriction on the specific calculation method. Finally, the orientation of the pressed key A can be determined according to the orientation of the fingertip pressing key A in the hand location. For example, if the keyboard faces the user, the fingertip will be diagonally downward when the user presses key A. when the keyboard is in a different position, the orientation of the fingertip will be different. The orientation of the 3D model can be determined based on the orientation of key A and the position of key A in the 3D model.
S1130 comprises determining the attitude of the 3D model according to the spatial position of the plane and the orientation of the 3D model. On the basis of S1120 above, the attitude of the 3D model in the virtual reality can be determined according to the spatial position of the plane in which the 3D model resides and the orientation of the 3D model.
In accordance with some embodiments, FIG. 12 illustrates a flow diagram of a model display method.
Optionally, after the 3D model is displayed at the model location in the virtual reality constructed by the virtual reality system, the method also comprises the following steps S1210 to S1230 shown in FIG. 12.
S1210 comprises receiving the input signal from the input device to get the updated input signal. After the keyboard model is projected into the virtual reality scene, the input signal from the keyboard can be received in real time for adjustment of the attitude and position of the keyboard model in the virtual reality scene at any time, so as to ensure that the model display state in the virtual reality scene is synchronized with the state of the keyboard in real space.
S1220 comprises acquiring the updated hand location. After the hand location in the virtual reality is acquired in real time, the hand location in the virtual reality can be updated according to the acquired updated locating information of the user’s hands. Updating hand model refers to updating the state of the hand model in the virtual reality scene, comprising the state of each finger of the user’s hands. For example, if the left user's hand has shifted, the state of the left hand in the virtual reality scene will change.
S1230 comprises updating the 3D model in the virtual reality scene according to the updated input signal and the updated hand location. On the basis of S1210 and S1220 above, the updated keyboard model can be projected into the virtual reality scene according to the key position corresponding to the updated input signal in the keyboard model and the hand location of the updated hand model in the virtual reality. It can be understood that the keyboard model “jumps” with the hand model, and is “moved” to the hand location in the virtual reality.
The physical keyboard and the user’s hands are constantly moving, and the data about the hands detected by the hand tracking equipment is generated in real time. The hand location in the target space can be determined in real time. Then according to the hand location in the target space, the keyboard model location in the target space can be determined. After the keyboard model is determined for the first time, if the keyboard is not replaced, the keyboard model may not be changed, and the location of the characters in the input signal can be determined directly, so as to speed up the updating of the display state of the keyboard model.
The keyboard model location in the target space can also be determined by the inertial sensor. The inertial sensor can collect real-time data about the keyboard, comprising the keyboard location.
Optionally, after the 3D model is displayed at the model location in the virtual reality constructed by the virtual reality system, the method also comprises: receiving the input signal from the input device; updating the state of the 3D model in the virtual reality scene according to the input signal, and displaying the control effect of the key in the virtual reality scene.
After the keyboard model is displayed in the virtual reality scene, the user can operate the keyboard by pressing or releasing a key on it. After receiving the input signal of the key, the virtual reality system will synchronously display the operation of pressing or releasing the key on the keyboard model, which means the state of the keyboard model in the virtual reality scene will be changed in real time according to the user’s operation on the keyboard. At the same time, the corresponding character of the key will be displayed in the virtual reality scene, and subsequent operations will be performed based on the character.
FIG. 13 illustrates a structure diagram of a model display apparatus provided in some embodiments. The model display apparatus provided here can execute the operations provided in the seventh embodiment of the model display method. Apparatus 1300 comprises an acquisition unit 1310 which is used to acquire the hand location of the hand model in the virtual reality.
The apparatus 1300 comprises a receiving unit 1320 which is used to receive the at least one input signal from the input device.
The apparatus 1300 comprises a determination unit 1330, which is used to determine the model location of the 3D model in the virtual reality.
The apparatus 1300 also comprises a projecting unit 1340 which is used to display the 3D model at the model location in the virtual reality constructed by the virtual reality system.
Optionally, determination unit 1330 is used for determining the spatial position of the 3D model according to the key position of in the 3D model of the input device and the spatial position in the hand location, determining the attitude of the 3D model according to the preset amount of hand locations and key positions in the 3D model and determining the model location of the 3D model in the virtual reality according to the spatial position and the attitude of the 3D model.
Optionally, determination unit 1330 is used for determining the spatial position of the keys corresponding to the preset amount of input signals according to the spatial positions in the hand locations, determining the spatial position of the plane in which the 3D model resides and the orientation of the 3D model according to the preset amount of hand locations and the keys positions in the 3D model and determining the attitude of the 3D model according to the spatial position of the plane and the orientation of the 3D model.
Optionally, if the preset amount is the first number, determination unit 1330 is used for determining the spatial position of the plane in which the 3D model resides according to the spatial positions in the first number of hand locations and determining the orientation of the 3D model based on the orientation of the polygon formed by the first number of keys, the first number of spatial positions and the positions in the 3D model of the keys in the polygon.
Optionally, if the preset amount is the second number, determination unit 1330 is used for determining the target part for pressing the second number of keys in the hand model, determining the spatial position of the plane in which the target part resides and the orientation of the target part according to the attitude in the hand location, calculating and determining the spatial position of the plane in which the 3D model resides based on
the spatial position of the plane in which the target part resides and determining the orientation of each key in the second number of keys in accordance with the orientation of the target part; and determining the orientation of the 3D model based on the orientation of each key and the position of each key in the 3D model in the second number of keys.
Optionally, apparatus 1300 also comprises an effect unit, which, after the 3D model is displayed, is used for displaying the subsequent control action to the input device
Optionally, apparatus 1300 also comprises an updating unit, which, after the 3D model is displayed at the model location in the virtual reality constructed by the virtual reality system, is used for receiving the input signal from the input device to get the updated input signal; acquiring the updated hand location; and updating the 3D model in the virtual reality scene according to the updated input signal and the updated hand location.
In accordance with some embodiments, FIG. 14 illustrates a structure diagram of a virtual reality system provided. As shown in FIG. 14, the virtual reality system 1400 comprises: a display device configured to display 1440 the virtual reality scene and projected 3D model; a plurality of cameras 1420 configured to capture images of the surrounding environment; one or more hand tracking devices 1410 configured to track the hand location in the virtual reality; and the electronic apparatus coupled with the one or more processors 1430, memory 1450 coupled to the one or more processors 1430 and a plurality of programs 1460 for projecting a virtual reality (VR) model stored in the memory that, when executed by the one or more processors 1430, cause the electronic apparatus to perform acts in some embodiments.
In the present disclosure, relational terms such as “first” and “second” are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relation or sequence between the entities or operations. Furthermore, the term “comprises” , “contain” or any of its other variants is intended to cover a non-exclusive inclusion.
Claims (25)
- A method for projecting an input device model, comprising:identifying a 3D model of the input device;acquiring at least one image of the input device captured by a camera of a virtual reality (VR) system;identifying at least one feature identifier of the input device in the at least one image;obtaining target information in VR corresponding to the at least one feature identifier; andprojecting the 3D model into a VR scene constructed by the VR system in accordance with the target information.
- The method according to claim 1, wherein identifying the 3D model comprises:acquiring a configuration information, including a model information, of the input device; andidentifying the 3D model according to the model information.
- The method according to claim 2, wherein identifying the 3D model according to the model information comprises:determining if there is a same model as the input device in a preset database according to the model information; andin accordance with a determination that there is a same model, identifying the 3D model as the same model in the preset database; orin accordance with a determination that there is no same model as the input device in the preset database, calculating a similarity between a model in the preset database and the model of the said input device.
- The method according to claim 3, after calculating the similarity, the method further comprises:comparing the similarity with a preset value;in accordance with a determination that the similarity is smaller than or equal to the preset value, identifying the 3D model as a model corresponding to the similarity in the preset database; orin accordance with a determination that the similarity is bigger than the preset value, identifying the 3D model as a target model in the preset database.
- The method according to claim 4, wherein the input device comprises a keyboard, and the feature identifier of the keyboard is a character.
- The method according to claim 5, wherein identifying the at least one feature identifier comprises:identifying the at least one character in a preset area in the keyboard in the image if the similarity is bigger than the preset value.
- The method according to claim 1, wherein obtaining the target information of the at least one feature identifier comprises:obtaining the target information of the at least one feature identifier in the VR through a spatial position algorithm.
- The method according to claim 1, the target information comprises a position and an attitude.
- The method according to claim 8, wherein obtaining the target information comprises:in accordance with a determination that the amount of feature identifiers is a first amount, acquiring images of the feature identifier captured simultaneously by at least two cameras at different angles and determining the attitude of the feature identifier based on the images of the feature identifier at the different angles; orin accordance with a determination that the amount of feature identifiers is a second amount, determining the roll angle and pitch angle of a polygon formed by at least three non-conllinear feature identifiers based on a position information of each feature identifier in the polygon and determining the yaw angle of the polygon in accordance with an orientation of the polygon and a position relationship between the polygon and the 3D model, wherein the said roll angle, pitch angle and yaw angle constitute the attitude of the said polygon.
- The method according to claim 9, wherein projecting the 3D model comprises:determining a position and an attitude of the 3D model based on the target information and a position relation between the at least one feature identifier and the 3D model; andprojecting the 3D model into the VR scene constructed by the VR system based on the position and attitude of the 3D model.
- The method according to claim 10, wherein determining the position and the attitude, and the position relationship comprises:determining the position of the 3D model based on the position of a feature identifier and the position relationship between the feature identifier and the 3D model.
- The method according to claim 11, wherein determining the attitude and the position relationship comprises:in accordance with a determination that the amount of feature identifiers is the first amount, determining the attitude of the 3D model based on the attitude of a feature identifier and the position relationship between the feature identifier and the 3D model; andin accordance with a determination that the amount of feature identifiers is the second amount, determining the attitude of the 3D model based on the attitude of the polygon and the position relationship between the polygon and the 3D model, if the number of feature identifiers is the second amount.
- An electronic apparatus comprising:one or more processors;a memory coupled to the one or more processors;a display device that is configured to display virtual reality (VR) scene; anda plurality of programs for projecting a VR model stored in the memory that, when executed by the one or more processors, cause the electronic apparatus to perform acts comprising:constructing a VR scene;identifying a 3D model of an input device;acquiring at least one image of the input device captured by a camera of a VR system;identifying at least one feature identifier of the input device in the image;obtaining target information in the VR corresponding to the at least one feature identifier;projecting the 3D model into a VR scene constructed by the VR system in accordance with the target information; anddisplaying the 3D model in the VR scene constructed by the VR system.
- The electronic apparatus according to claim 13, wherein an operation of identifying the 3D model comprises:acquiring a configuration information, including a model information, of the input device; andidentifying the 3D model according to the model information.
- The electronic apparatus according to claim 14, wherein identifying the 3D model according to the model information comprises:determining if there is a same model as the input device in a preset database according to the model information; andin accordance with a determination that there is a same model, identifying the 3D model as the same model in the preset database; orin accordance with a determination that there is no same model as the input device in the preset database, calculating a similarity between a model in the preset database and the model of the said input device.
- The electronic apparatus according to claim 15, after calculating the similarity, identifying the 3D model according to the model information comprises further comprises:comparing the similarity with a preset value; andin accordance with a determination that the similarity is smaller than or equal to the preset value, identifying the 3D model as a model corresponding to the similarity in the preset database; orin accordance with a determination that the similarity is bigger than the preset value, identifying the 3D model as a target model in the preset database.
- The electronic apparatus according to claim 16, the input device comprises a keyboard, and the feature identifier of the keyboard is a character.
- The electronic apparatus according to claim 17, wherein an operation of identifying the at least one feature identifier comprises:identifying the at least one character in a preset area in the keyboard in the image if the similarity is bigger than the preset value.
- The electronic apparatus according to claim 13, wherein an operation of obtaining the target information of the at least one feature identifier comprises:obtaining the target information of the at least one feature identifier in the VR through a spatial position algorithm.
- The electronic apparatus according to claim 13, the target information comprises a position information and an attitude.
- The electronic apparatus according to claim 20 wherein an operation of obtaining the target information comprises:in accordance with a determination that the amount of feature identifiers is a first amount, acquiring images of the feature identifier captured simultaneously by at least two cameras at different angles and determining the attitude of the feature identifier based on the images of the feature identifier at the different angles; orin accordance with a determination that the amount of feature identifiers is a second amount, determining the roll angle and pitch angle of a polygon formed by at least three non-conllinear feature identifiers based on a position information of each feature identifier in the polygon and determining the yaw angle of the polygon in accordance with an orientation of the polygon and a position relationship between the polygon and the 3D model, wherein the said roll angle, pitch angle and yaw angle constitute the attitude of the said polygon.
- The electronic apparatus according to claim 21, wherein an operation of projecting the 3D model comprises:determining a position and an attitude of the 3D model based on the target information and a position relationship between the at least one feature identifier and the 3D model; andprojecting the 3D model into the VR scene constructed by the VR system based on the position and attitude of the 3D model.
- The electronic apparatus according to claim 22, wherein determining the position and the attitude, and the position relationship comprises:determining the position of the 3D model based on the position of a feature identifier and the position relationship between the feature identifier and the 3D model.
- The electronic apparatus according to claim 23, wherein determining the attitude and the position relationship comprises:in accordance with a determination that the amount of feature identifiers is the first amount, determining the attitude of the 3D model based on the attitude of a feature identifier and the position relationship between the feature identifier and the 3D model; andin accordance with a determination that the amount of feature identifiers is the second amount, determining the attitude of the 3D model based on the attitude of the polygon and the position relationship between the polygon and the 3D model, if the number of feature identifiers is the second amount.
- A virtual reality (VR) system for projecting a 3D model, comprising:a display device configured to display a VR scene;a plurality of cameras configured to capture images of an input device; andan electronic apparatus coupled with the one or more processors, memory coupled to the one or more processors and a plurality of programs for projecting a VR model stored in the memory that, when executed by the one or more processors, cause the electronic apparatus to perform acts comprising:constructing a VR scene;identifying a 3D model of the input device;acquiring at least one image of the input device captured by the plurality of cameras;identifying at least one feature identifier of the input device in a image;obtaining target information in the VR corresponding to the at least one feature identifier; andprojecting the 3D model into the constructed VR scene in accordance with the target information; anddisplaying the 3D model in the constructed VR scene.
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP23755676.6A EP4479943A4 (en) | 2022-02-15 | 2023-01-29 | Method, apparatus and system for projecting an input device model |
| US18/209,471 US11869145B2 (en) | 2022-02-15 | 2023-06-13 | Input device model projecting method, apparatus and system |
| US18/518,871 US12197635B2 (en) | 2022-02-15 | 2023-11-24 | Input device model projecting method, apparatus and system |
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210137976.8A CN114167997B (en) | 2022-02-15 | 2022-02-15 | Model display method, device, equipment and storage medium |
| CN202210137977.2 | 2022-02-15 | ||
| CN202210137977.2A CN114170407B (en) | 2022-02-15 | 2022-02-15 | Model mapping method, device, equipment and storage medium for input equipment |
| CN202210137976.8 | 2022-02-15 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US18/209,471 Continuation US11869145B2 (en) | 2022-02-15 | 2023-06-13 | Input device model projecting method, apparatus and system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2023155672A1 true WO2023155672A1 (en) | 2023-08-24 |
Family
ID=87577536
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2023/073649 Ceased WO2023155670A1 (en) | 2022-02-15 | 2023-01-29 | Model display method, apparatus and system |
| PCT/CN2023/073666 Ceased WO2023155672A1 (en) | 2022-02-15 | 2023-01-29 | Input device model projecting method, apparatus and system |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2023/073649 Ceased WO2023155670A1 (en) | 2022-02-15 | 2023-01-29 | Model display method, apparatus and system |
Country Status (3)
| Country | Link |
|---|---|
| US (3) | US20230290071A1 (en) |
| EP (2) | EP4479824A4 (en) |
| WO (2) | WO2023155670A1 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2023155670A1 (en) * | 2022-02-15 | 2023-08-24 | Beijing Source Technology Co., Ltd. | Model display method, apparatus and system |
| US12417587B2 (en) * | 2022-07-28 | 2025-09-16 | Lenovo (Singapore) Pte. Ltd. | Presentation of representation of device in virtual space based on live physical attribute(s) |
Citations (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN105224069A (en) * | 2014-07-03 | 2016-01-06 | 王登高 | The device of a kind of augmented reality dummy keyboard input method and use the method |
| CN107357434A (en) * | 2017-07-19 | 2017-11-17 | 广州大西洲科技有限公司 | Information input equipment, system and method under a kind of reality environment |
| US20180197345A1 (en) * | 2016-09-13 | 2018-07-12 | Youngzone Culture (Shanghai) Co., Ltd. | Augmented reality technology-based handheld viewing device and method thereof |
| CN109445620A (en) * | 2018-11-13 | 2019-03-08 | 宁波视睿迪光电有限公司 | A kind of interaction pen automatic identifying method |
| CN109710056A (en) * | 2018-11-13 | 2019-05-03 | 宁波视睿迪光电有限公司 | The display methods and device of virtual reality interactive device |
| US20200264698A1 (en) | 2017-04-01 | 2020-08-20 | Intel Corporation | Keyboard for virtual reality |
| CN111833457A (en) * | 2020-06-30 | 2020-10-27 | 北京市商汤科技开发有限公司 | Image processing method, apparatus and storage medium |
| CN111862333A (en) * | 2019-04-28 | 2020-10-30 | 广东虚拟现实科技有限公司 | Content processing method, device, terminal device and storage medium based on augmented reality |
| US20220026984A1 (en) | 2019-11-01 | 2022-01-27 | Facebook Technologies, Llc | Porting physical object into virtual reality |
| CN114170407A (en) * | 2022-02-15 | 2022-03-11 | 北京所思信息科技有限责任公司 | Model mapping method, device, equipment and storage medium of input equipment |
| CN114167997A (en) * | 2022-02-15 | 2022-03-11 | 北京所思信息科技有限责任公司 | Model display method, device, equipment and storage medium |
Family Cites Families (27)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6388657B1 (en) * | 1997-12-31 | 2002-05-14 | Anthony James Francis Natoli | Virtual reality keyboard system and method |
| EP1999547A4 (en) | 2006-02-16 | 2011-10-12 | Ftk Technologies Ltd | A system and method of inputting data into a computing system |
| CN102750044B (en) * | 2011-04-19 | 2016-05-11 | 北京三星通信技术研究有限公司 | A kind of virtual keyboard device and its implementation |
| US20190004698A1 (en) * | 2013-04-15 | 2019-01-03 | Carnegie Mellon University | Virtual tools for use with touch-sensitive surfaces |
| US10203812B2 (en) * | 2013-10-10 | 2019-02-12 | Eyesight Mobile Technologies, LTD. | Systems, devices, and methods for touch-free typing |
| US10852838B2 (en) * | 2014-06-14 | 2020-12-01 | Magic Leap, Inc. | Methods and systems for creating virtual and augmented reality |
| US9766806B2 (en) * | 2014-07-15 | 2017-09-19 | Microsoft Technology Licensing, Llc | Holographic keyboard display |
| CN105320258B (en) | 2014-08-05 | 2019-01-01 | 深圳Tcl新技术有限公司 | Virtual keyboard system and its entering method |
| US10181219B1 (en) * | 2015-01-21 | 2019-01-15 | Google Llc | Phone control and presence in virtual reality |
| US10102674B2 (en) * | 2015-03-09 | 2018-10-16 | Google Llc | Virtual reality headset connected to a mobile computing device |
| CN105912110B (en) | 2016-04-06 | 2019-09-06 | 北京锤子数码科技有限公司 | A kind of method, apparatus and system carrying out target selection in virtual reality space |
| CN105975067A (en) | 2016-04-28 | 2016-09-28 | 上海创米科技有限公司 | Key input device and method applied to virtual reality product |
| CN106648093A (en) | 2016-12-19 | 2017-05-10 | 珠海市魅族科技有限公司 | Input method and device of virtual reality device |
| US20180188923A1 (en) | 2016-12-30 | 2018-07-05 | Cirque Corporation | Arbitrary control mapping of input device |
| CN117891335A (en) * | 2017-05-19 | 2024-04-16 | 奇跃公司 | Keyboards for virtual, augmented and mixed reality display systems |
| CN108334203A (en) * | 2018-04-13 | 2018-07-27 | 北京理工大学 | A kind of virtual reality fusion keyboard system for virtual reality |
| US10839603B2 (en) * | 2018-04-30 | 2020-11-17 | Microsoft Technology Licensing, Llc | Creating interactive zones in virtual environments |
| CN109191590B (en) | 2018-09-26 | 2023-11-07 | 浙江优创信息技术有限公司 | Processing system and processing method for manufacturing virtual reality application |
| US11137908B2 (en) * | 2019-04-15 | 2021-10-05 | Apple Inc. | Keyboard operation with head-mounted device |
| US10955929B2 (en) * | 2019-06-07 | 2021-03-23 | Facebook Technologies, Llc | Artificial reality system having a digit-mapped self-haptic input method |
| JP2021033978A (en) | 2019-08-14 | 2021-03-01 | 藤沼 伊代子 | Virtual keyboards (VR keyboards, virtual keyboards) that also support the realization of air instruments that produce sound, and the realization of air controllers that can replace controllers that operate games, radio control cars, robots, construction machines, etc. , Air keyboard, AR keyboard, air keyboard input method) |
| US11270515B2 (en) * | 2019-09-04 | 2022-03-08 | Qualcomm Incorporated | Virtual keyboard |
| US11113891B2 (en) * | 2020-01-27 | 2021-09-07 | Facebook Technologies, Llc | Systems, methods, and media for displaying real-time visualization of physical environment in artificial reality |
| US11537258B2 (en) * | 2020-10-16 | 2022-12-27 | Meta Platforms Technologies, Llc | Hand presence over keyboard inclusiveness |
| US11854230B2 (en) * | 2020-12-01 | 2023-12-26 | Meta Platforms Technologies, Llc | Physical keyboard tracking |
| EP4288856A4 (en) * | 2021-02-08 | 2025-02-12 | Sightful Computers Ltd | EXTENDED REALITY FOR PRODUCTIVITY |
| WO2023155670A1 (en) * | 2022-02-15 | 2023-08-24 | Beijing Source Technology Co., Ltd. | Model display method, apparatus and system |
-
2023
- 2023-01-29 WO PCT/CN2023/073649 patent/WO2023155670A1/en not_active Ceased
- 2023-01-29 WO PCT/CN2023/073666 patent/WO2023155672A1/en not_active Ceased
- 2023-01-29 EP EP23755674.1A patent/EP4479824A4/en active Pending
- 2023-01-29 EP EP23755676.6A patent/EP4479943A4/en active Pending
- 2023-05-17 US US18/198,828 patent/US20230290071A1/en active Pending
- 2023-06-13 US US18/209,471 patent/US11869145B2/en active Active
- 2023-11-24 US US18/518,871 patent/US12197635B2/en active Active
Patent Citations (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN105224069A (en) * | 2014-07-03 | 2016-01-06 | 王登高 | The device of a kind of augmented reality dummy keyboard input method and use the method |
| US20180197345A1 (en) * | 2016-09-13 | 2018-07-12 | Youngzone Culture (Shanghai) Co., Ltd. | Augmented reality technology-based handheld viewing device and method thereof |
| US20200264698A1 (en) | 2017-04-01 | 2020-08-20 | Intel Corporation | Keyboard for virtual reality |
| CN107357434A (en) * | 2017-07-19 | 2017-11-17 | 广州大西洲科技有限公司 | Information input equipment, system and method under a kind of reality environment |
| CN109445620A (en) * | 2018-11-13 | 2019-03-08 | 宁波视睿迪光电有限公司 | A kind of interaction pen automatic identifying method |
| CN109710056A (en) * | 2018-11-13 | 2019-05-03 | 宁波视睿迪光电有限公司 | The display methods and device of virtual reality interactive device |
| CN111862333A (en) * | 2019-04-28 | 2020-10-30 | 广东虚拟现实科技有限公司 | Content processing method, device, terminal device and storage medium based on augmented reality |
| US20220026984A1 (en) | 2019-11-01 | 2022-01-27 | Facebook Technologies, Llc | Porting physical object into virtual reality |
| CN111833457A (en) * | 2020-06-30 | 2020-10-27 | 北京市商汤科技开发有限公司 | Image processing method, apparatus and storage medium |
| CN114170407A (en) * | 2022-02-15 | 2022-03-11 | 北京所思信息科技有限责任公司 | Model mapping method, device, equipment and storage medium of input equipment |
| CN114167997A (en) * | 2022-02-15 | 2022-03-11 | 北京所思信息科技有限责任公司 | Model display method, device, equipment and storage medium |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP4479943A4 |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2023155670A1 (en) | 2023-08-24 |
| EP4479824A1 (en) | 2024-12-25 |
| US11869145B2 (en) | 2024-01-09 |
| EP4479943A4 (en) | 2025-09-10 |
| EP4479943A1 (en) | 2024-12-25 |
| US20230290071A1 (en) | 2023-09-14 |
| US12197635B2 (en) | 2025-01-14 |
| US20230326130A1 (en) | 2023-10-12 |
| EP4479824A4 (en) | 2026-01-21 |
| US20240144603A1 (en) | 2024-05-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12141366B2 (en) | Gesture recognition system and method of using same | |
| EP3910451B1 (en) | Display systems and methods for aligning different tracking means | |
| US10732725B2 (en) | Method and apparatus of interactive display based on gesture recognition | |
| US10943402B2 (en) | Method and system for mixed reality interaction with peripheral device | |
| CN114170407B (en) | Model mapping method, device, equipment and storage medium for input equipment | |
| US8432390B2 (en) | Apparatus system and method for human-machine interface | |
| WO2021227628A1 (en) | Electronic device and interaction method therefor | |
| US12197635B2 (en) | Input device model projecting method, apparatus and system | |
| TW201814438A (en) | Virtual reality scene-based input method and device | |
| US11995254B2 (en) | Methods, devices, apparatuses, and storage media for mapping mouse models for computer mouses | |
| CN111813214B (en) | Virtual content processing method, device, terminal device and storage medium | |
| CN104423578A (en) | Interactive Input System And Method | |
| US12288302B2 (en) | Display of virtual tablets in extended reality environments | |
| US10621766B2 (en) | Character input method and device using a background image portion as a control region | |
| CN119002689A (en) | Man-machine interaction method, device, equipment and medium based on non-medium holographic technology | |
| CN117289801A (en) | Gesture interaction method and device, electronic equipment and storage medium | |
| CN115904201A (en) | Virtual reality equipment, its control method, device, and computer storage medium | |
| CN114167997B (en) | Model display method, device, equipment and storage medium | |
| EP3088991B1 (en) | Wearable device and method for enabling user interaction | |
| WO2019127325A1 (en) | Information processing method and apparatus, cloud processing device, and computer program product | |
| CN118363459A (en) | VR equipment and control method thereof | |
| US20220137712A1 (en) | Information processing apparatus, information processing method, and program | |
| Hoile | A novel form of a pointing device | |
| TW202601222A (en) | Head-mounted display, control method, and non-transitory computer readable storage medium thereof | |
| CN118210426A (en) | Key operation method and device of virtual keyboard |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23755676 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2023755676 Country of ref document: EP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 2023755676 Country of ref document: EP Effective date: 20240916 |