WO2022044581A1 - 情報処理装置、情報処理方法、およびプログラム - Google Patents

情報処理装置、情報処理方法、およびプログラム Download PDF

Info

Publication number
WO2022044581A1
WO2022044581A1 PCT/JP2021/026142 JP2021026142W WO2022044581A1 WO 2022044581 A1 WO2022044581 A1 WO 2022044581A1 JP 2021026142 W JP2021026142 W JP 2021026142W WO 2022044581 A1 WO2022044581 A1 WO 2022044581A1
Authority
WO
WIPO (PCT)
Prior art keywords
hand
information processing
contact determination
control unit
virtual object
Prior art date
Application number
PCT/JP2021/026142
Other languages
English (en)
French (fr)
Inventor
淳 木村
毅 石川
真一 河野
郁男 山野
Original Assignee
ソニーグループ株式会社
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Priority to DE112021004574.1T priority Critical patent/DE112021004574T5/de
Priority to US18/022,407 priority patent/US20230343052A1/en
Priority to CN202180047932.XA priority patent/CN115803786A/zh
Priority to JP2022545517A priority patent/JPWO2022044581A1/ja
Publication of WO2022044581A1 publication Critical patent/WO2022044581A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/014Hand-worn input/output arrangements, e.g. data gloves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing 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 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling

Definitions

  • This disclosure relates to information processing devices, information processing methods, and programs.
  • Augmented Reality technology has been developed as a technology to superimpose an image (called a virtual object) that is information on virtual space in the real space while the real space is directly visible to the user's eyes.
  • AR Augmented Reality
  • Examples of the display device that provides augmented reality include an optical transmission type head-mounted display (HMD: Head Mounted Display, hereinafter referred to as "HMD").
  • HMD Head Mounted Display
  • VR Virtual Reality
  • the VR world video of virtual space
  • a non-transparent HMD that covers the user's field of view with a display unit.
  • Patent Document 1 discloses a technique for acquiring information on the position of each fingertip of a user and determining contact between a virtual object such as a menu and the finger of the user.
  • NUI Natural User Interface
  • a control unit for displaying a virtual object on a display unit detects a plane region of a hand from an image captured in a real space, and the detected plane region of the hand is described.
  • a control is performed to set a contact determination area for determining contact with a virtual object, and the information processing apparatus including at least one surface portion of the contact determination area is proposed.
  • a processor displays a virtual object on a display unit, detects a plane region of a hand from an image captured in real space, and refers to the detected plane region of the hand with the virtual object.
  • an information processing method including controlling to set a contact determination area for determining contact, wherein the contact determination area includes at least one surface portion.
  • a computer is made to function as a control unit for displaying a virtual object on a display unit, and the control unit detects a plane region of a hand from an image captured in real space, and the detected plane region of the hand is used.
  • a program is proposed in which a contact determination area for determining contact with the virtual object is set, and the contact determination area includes at least one face portion.
  • a virtual object is an image that is visually presented to the user as information in virtual space.
  • a user manually interacts with a virtual object in the world of AR or VR.
  • the user is in a state where the real space can be directly seen through the transparent display, and the virtual object is displayed so as to be superimposed on the real space on the transparent display.
  • the user can perform an operation such as placing a virtual object displayed on the transparent display on the palm of the hand while the user can directly see his / her own hand in the real space through the transparent display.
  • the user wears a non-transmissive display that blocks light in the real space on the head, and the non-transmissive display displays an image of the virtual space from the user's viewpoint.
  • a virtual hand a virtual object that reflects the shape of the hand in real time
  • the movement of the user's hand in the real space is detected by a sensor attached to the user's hand and a camera that captures the user's hand, and is reflected in the virtual hand.
  • the user can perform an operation such as placing a virtual object on a virtual palm that reflects the movement of his / her hand.
  • the interaction between the virtual object and the user's hand is more easily expressed naturally by setting the contact determination area for determining the contact with the virtual object with respect to the plane area of the hand.
  • the contact includes a collision. That is, in the contact determination area, a collision of virtual objects can also be determined.
  • the information processing device 10 can present the information in the virtual space according to the present embodiment.
  • the information processing device 10 may be realized by an HMD worn on the user's head, a terminal such as a smartphone, a mobile phone terminal, or a tablet terminal that the user holds and uses, or a wearable that the user can wear. It may be a device or the like.
  • the transmissive HMD used in the case of AR may be a glasses-type device worn on the user's head.
  • a transmissive display is provided on the lens portion of the glasses-type device.
  • the non-transparent HMD used in the case of VR is attached to the user's head and is configured to block the outside world, thereby increasing the virtual reality (immersion in the virtual space) during viewing. can.
  • the HMD has an image display unit for each of the left and right eyes, and it is possible to project different images to the left and right eyes.
  • a 3D image can be presented by displaying an image with parallax for the left and right eyes.
  • a video see-through display will be used as another example of a display that realizes AR.
  • the video see-through display is a non-transmissive display, and may be realized by, for example, being mounted on the user's head and blocking light in real space.
  • the video see-through display displays real-space images in real time. Such a real-space image can be acquired by a camera provided on the video see-through display worn by the user on the head so as to capture the user's line-of-sight direction.
  • a virtual object is superimposed on a real-space image.
  • the video see-through display may be capable of switching between a transmissive display (optical see-through display) and a non-transmissive display by providing a configuration that dynamically shields light in the real space.
  • FIG. 1 is a block diagram showing an example of the configuration of the information processing apparatus 10 according to the present embodiment.
  • the information processing apparatus 10 includes a control unit 100, a communication unit 110, a camera 120, an operation input unit 130, a sensor unit 140, a display unit 150, a speaker 160, and a storage unit 170.
  • the information processing apparatus 10 according to the present embodiment can be realized by a glasses-type device (transmissive display) capable of presenting AR.
  • the communication unit 110 communicates with an external device by wire or wirelessly to transmit / receive data.
  • the communication unit 110 connects to the network and transmits / receives data to / from a server on the network.
  • the communication unit 110 may receive, for example, the data of the virtual object presented as the information of the virtual space from the server.
  • the communication unit 110 is, for example, a wired / wireless LAN (Local Area Network), Wi-Fi (registered trademark), Bluetooth (registered trademark), a mobile communication network (LTE (Long Term Evolution)), 3G (third generation). (Mobile communication method), 4G (4th generation mobile communication method), 5G (5th generation mobile communication method)), etc. to communicate and connect with external devices and networks.
  • the camera 120 is an imaging unit having a function of imaging a real space.
  • the captured image of the real space captured by the camera 120 is used when the recognition processing unit 101 described later recognizes the real space.
  • the camera 120 is realized by the camera 120a (outward facing camera) provided so as to face the line-of-sight direction of the user. It is desirable that the angle of view of the camera 120a is an angle of view including the user's field of view.
  • the recognition processing unit 101 which will be described later, can recognize the real space that the user is viewing through the display unit 150 based on the captured image captured by the camera 120a.
  • the camera 120 may be singular or plural. Further, the camera 120 may be configured as a so-called stereo camera.
  • FIG. 3 is a diagram illustrating an example of a camera 120b mounted on a user's hand.
  • a wearable device 20 provided with a camera 120b for photographing the finger direction of the hand on the palm side of the user's hand is attached to the user's hand 30.
  • the camera 120b can capture an image 210, for example, as shown in FIG.
  • the recognition processing unit 101 may perform recognition (for example, bone recognition, etc.) for obtaining the shape, movement, finger angle, and the like of the user's hand based on the captured image 210 captured by the camera 120b.
  • the camera 120b may be connected to the information processing device 10 by wire or wirelessly and transmit the captured image to the information processing device 10.
  • Operation input unit 130 has a function of attaching an operation from the user.
  • the operation input unit 130 outputs the received operation information to the control unit 100.
  • the operation input unit 130 may be realized by an input device such as a touch panel or a button.
  • the sensor unit 140 has a function of sensing the real space such as the position (user position), movement, and surrounding conditions of the information processing device 10.
  • the sensor unit 140 includes, for example, a positioning unit, an acceleration sensor, an angular velocity sensor, a geomagnetic sensor, an infrared sensor, a distance measuring sensor (a sensor that measures a distance from an object existing in real space), a biological sensor, a microphone, and the like.
  • the sensor unit 140 may include an inward-looking camera that captures the user's eyes.
  • the inward camera detects, for example, the user's line-of-sight direction.
  • the positioning unit has a function of calculating the absolute or relative position of the information processing device 10.
  • the positioning unit may detect the current position based on the acquired signal from the outside.
  • a GNSS Global Navigation Satellite System
  • a method of detecting a position by transmission / reception with Wi-Fi (registered trademark), Bluetooth (registered trademark), a mobile phone / PHS / smartphone, or short-range communication may be used.
  • the positioning unit may estimate information indicating a relative change based on the detection result of the acceleration sensor, the angular velocity sensor, or the like.
  • the sensor unit 140 may be provided on the information processing device 10 (for example, the glasses-type device 10A shown in FIG. 2) mounted on the user's head, or may be further provided on the wearable device 20 mounted on the user's hand. It may have been.
  • an acceleration sensor, an angular velocity sensor, a geomagnetic sensor, or the like provided in the wearable device 20 can detect the three-dimensional position of the user's hand.
  • the display unit 150 is realized by a transmissive display as an example.
  • a transmissive display is a display that can deliver light in real space directly to the user's eyes. The user can directly see the real space through the transmissive display.
  • the transmissive display may be, for example, an optical see-through display.
  • the optical see-through display may adopt a known form including a half mirror method, a light guide plate method, a direct drawing method of the retina, and the like.
  • the speaker 160 has a function of outputting sound.
  • the speaker 160 may be configured as a headphone, earphone, or bone conduction speaker.
  • the storage unit 170 is realized by a ROM (Read Only Memory) that stores programs and arithmetic parameters used for processing of the control unit 100, and a RAM (Random Access Memory) that temporarily stores parameters and the like that change as appropriate.
  • ROM Read Only Memory
  • RAM Random Access Memory
  • Control unit 100 functions as an arithmetic processing unit and a control device, and controls the overall operation in the information processing device 10 according to various programs.
  • the control unit 100 is realized by an electronic circuit such as a CPU (Central Processing Unit) or a microprocessor. Further, the control unit 100 may include a ROM (Read Only Memory) for storing programs to be used, calculation parameters, and the like, and a RAM (Random Access Memory) for temporarily storing parameters and the like that change as appropriate.
  • ROM Read Only Memory
  • RAM Random Access Memory
  • the control unit 100 controls the display unit 150 and the speaker 160, and controls the presentation of information in the virtual space to the user's visual sense and auditory sense.
  • the information in the virtual space may be stored in the storage unit 170, or may be received from an external device via the communication unit 110.
  • the external device may be, for example, a server on the Internet, or may be a dedicated terminal, a smartphone, a tablet terminal, a PC, or the like arranged in the same space as the information processing device 10.
  • control unit 100 is based on the captured image of the surroundings captured by the camera 120, the user operation information input from the operation input unit 130, and various sensing data sensed by the sensor unit 140. Controls to change the information in the virtual space presented visually and audibly. For example, the control unit 100 recognizes changes in the user's position (self-position of the information processing device 10 attached to the user), posture, and the like based on the sensing data, and superimposes and displays the virtual object as information on the virtual space. Change the display (position, posture) of. Further, the control unit 100 recognizes an object such as a user's hand captured by the camera 120 and changes the display of the virtual object.
  • control unit 100 can also function as the recognition processing unit 101, the contact determination area setting unit 102, and the display processing unit 103.
  • the recognition processing unit 101 performs recognition processing of various data input to the control unit 100. Specifically, the recognition processing unit 101 performs processing for recognizing the real space based on the captured image obtained by capturing the real space with the camera 120. As recognition of the real space, the recognition processing unit 101 recognizes each object reflected in the captured image, for example.
  • the algorithm for object recognition is not particularly limited, but for example, a three-dimensional object recognition or a bone estimation algorithm may be used. Further, the recognition processing unit 101 may acquire depth data from the camera 120 or the sensor unit 140 and use it for real-space recognition processing.
  • the recognized object includes the user's hand.
  • the recognition processing unit 101 has, for example, the shape and movement of the user's hand, or a finger, based on the captured image 210 (see FIG. 4) captured by the camera 120b mounted on the user's hand described with reference to FIG. Can recognize the angle of. Further, the recognition processing unit 101 determines the position of the user's hand (three-dimensional position) and the position of the user's hand (three-dimensional position) based on various sensors provided in the camera 120a that captures the user's line-of-sight direction and the wearable device 20 mounted on the user's hand. A plane area corresponding to the palm of the user can be detected.
  • the recognition processing unit 101 can recognize the self-position or posture of the information processing device 10 (the head of the user wearing the information processing device 10) based on the sensing data or the like input from the sensor unit 140.
  • the recognition processing unit 101 performs head tracking that follows the movement of the user's head, eye tracking that follows the movement of the user's line of sight, and the user's position and the like, based on various data input to the control unit 100.
  • Position tracking that follows the posture can be performed.
  • Position tracking generally includes an outside-in method that uses a sensor installed outside (environmental side) of the information processing device 10, an inside-out method that uses a sensor mounted on the information processing device 10, and the like. , There is a hybrid method that is a combination of these.
  • the contact determination area setting unit 102 sets a contact determination area for determining contact with a virtual object with respect to the plane area of the hand.
  • the contact includes a collision. That is, in the contact determination area, a collision of virtual objects can also be determined.
  • the contact determination region includes at least one face portion. Further, the contact determination region may further include an edge portion located at the edge of the surface portion.
  • the contact determination area setting unit 102 calculates the size of the face portion based on, for example, the size of the palm or the size of the target virtual object. Further, the contact determination area setting unit 102 calculates the height of the edge portion based on the shape of the hand (for example, the angle of at least one finger).
  • the set contact determination area is not displayed on the display unit 150 and is not visible to the user.
  • the contact determination area is set as a wall through which the virtual object cannot penetrate (do not pass through).
  • the contact determination region may be composed of, for example, a quadrangular face portion corresponding to a flat region of the palm of the user and an edge portion having a predetermined height.
  • the contact set on the palm without capturing the detailed shape of the hand (position of all fingertips, angle of all fingers, etc.)
  • the processing load of the physical calculation can be reduced. A more detailed description of the contact determination region will be described later with reference to FIGS. 11 to 13.
  • the display processing unit 103 performs display processing of a virtual object superimposed on the real space in the display unit 150.
  • the display processing unit 103 controls the display position and posture of the virtual object superimposed on the real space according to the user's self-position and posture and the recognized position and posture of the object in the real space. Further, the display processing unit 103 can control the movement of the virtual object superimposed on the real space according to the contact determination area set on the palm of the user.
  • the configuration of the information processing apparatus 10 is not limited to the example shown in FIG.
  • the information processing device 10 may be realized by a plurality of devices.
  • each process by the control unit 100 described above may be performed by an external device such as a server on the network, or with the user. It may be realized by a dedicated terminal arranged in the same space, a smartphone, a tablet terminal, a PC, or the like.
  • FIG. 5 is a flowchart showing an example of the flow of the contact determination area setting process performed by the information processing apparatus 10 according to the present embodiment.
  • the recognition processing unit 101 of the information processing apparatus 10 detects the position of the user's hand based on the captured image captured by the camera 120 and the sensing data detected by the sensor unit 140.
  • the position of the hand is provided, for example, on the camera 120b provided on the wearable device 20 mounted on the hand, the IMU (Inertial Measurement Unit) sensor (an example of the sensor unit 140), and the glasses-type device 10A mounted on the head.
  • IMU Inertial Measurement Unit
  • the recognition processing unit 101 can also detect the posture of the user's hand (yaw, roll, pitch). For example, as shown in FIG. 6, the recognition processing unit 101 performs bone estimation (an example of posture estimation, which is a method of estimating the bone position) by image analysis of the captured image 220 obtained by capturing the user's hand 30, and the hand. The center position of is detected as the position P (x, y, z) of the hand.
  • the recognition processing unit 101 can also detect the posture (yaw, roll, pitch) at the position P (x, y, z) of the hand. Further, the recognition processing unit 101 can also detect the joint position (three-dimensional position) of the finger of the hand, for example, based on bone estimation.
  • the recognition processing unit 101 detects the plane region S of the hand from the position P of the hand (step S106).
  • FIG. 7 is a diagram illustrating detection of a plane region of the hand.
  • the recognition processing unit 101 detects the plane region S including the position P of the user's hand 30 from the analysis result of the captured image 222 shown in FIG. 7.
  • the captured image 222 may be the same as the captured image 220 shown in FIG.
  • the recognition processing unit 101 can detect the plane region by using the depth information in addition to the position information.
  • the contact determination area setting unit 102 acquires the size information of the target virtual object (step S109).
  • the target virtual object is a virtual object that the user's hand 30 has approached or touched.
  • the contact determination area can be set according to the present embodiment when the user's hand 30 approaches or touches the virtual object.
  • the recognition processing unit 101 places the hand 30 on the virtual object based on the three-dimensional position of the hand 30 obtained by object recognition and the display position (three-dimensional position coordinates) of one or more virtual objects superimposed and displayed in the real space. It is possible to recognize that the object has approached (the distance between the virtual object and the hand 30 is equal to or less than a predetermined value) and that the object has touched (the positions overlap). Further, the contact determination area setting unit 102 may further determine the target virtual object from the user's line of sight.
  • FIG. 8 is a diagram showing an example of size information of the 3D virtual object 50.
  • the size information of the virtual object 50 includes numerical values of width, height, and depth.
  • a 3D virtual object is used here as an example, the present embodiment is not limited to this, and a 2D virtual object may be used.
  • the contact determination area setting unit 102 determines the plane size of the contact determination area to be set for the palm of the user's hand 30 (step S121).
  • the plane size of the contact determination region is the size of the surface portion constituting the contact determination region.
  • FIG. 9 shows a diagram illustrating an example of the plane size of the contact determination region according to the present embodiment. As shown in FIG. 9, the size of the face portion 40 of the contact determination region set with respect to the palm of the user's hand 30 includes numerical values of width and height.
  • the contact determination area setting unit 102 determines the size of the face unit 40 based on, for example, the size information of the user's hand 30 and / or the size information of the target virtual object.
  • the size information of the user's hand 30 can be registered in advance in the information processing apparatus 10 at the time of initial setting or the like.
  • FIG. 10 is a diagram showing an example of size information of the user's hand 30. As shown in FIG. 10, for example, based on the bone estimation result of the hand 30, the numerical values of width and height can be acquired as the size.
  • width is, for example, the length between the tip of the thumb and the tip of the little finger.
  • the height is, for example, the length from the tip of the middle finger to the wrist.
  • the contact determination area setting unit 102 may determine the size of the face unit 40 so as to correspond to, for example, the size information of the user's hand 30 or the size information of the target virtual object.
  • the contact determination area setting unit 102 may set the size of the surface portion 40 of the contact determination area to be the same as the width and depth (the size of the surface in contact with the palm) of the virtual object 50, or may have a predetermined ratio. It may be as small as possible. Further, the contact determination area setting unit 102 may make the size of the face portion 40 of the contact determination area the same as the size (width, height) of the user's hand 30, or the size may be smaller by a predetermined ratio. May be.
  • the contact determination area setting unit 102 may determine (calculate) the size of the face unit 40 in advance based on the size information of the user's hand 30. By calculating in advance, it is possible to reduce the calculation load when setting the surface portion 40 of the contact determination region in real time. Further, the contact determination area setting unit 102 may further perform a process of adjusting the size of the surface portion 40 of the contact determination area calculated in advance according to the size of the target virtual object.
  • the contact determination area setting unit 102 determines the initial value of the height of the edge portion of the contact determination area (step S124).
  • the height of the edge portion of the contact determination region is the height of the edge portion provided on the edge of the surface portion of the contact determination region.
  • FIG. 11 shows an example of the edge portion 42 of the contact determination region according to the present embodiment. As shown in FIG. 11, the edge portion 42 is provided so as to surround the surface portion 40 on all edges of the surface portion 40 in the contact determination region. In the present embodiment, first, the contact determination area setting unit 102 determines the initial value of the height (h) of the edge portion 42.
  • the initial value of the height (h) of the edge portion 42 may be determined based on the size of the user's hand or the size of the target virtual object 50.
  • some examples of formulas for calculating the initial height value of the edge portion 42 will be given.
  • ⁇ , ⁇ , and ⁇ are arbitrary coefficients.
  • the contact determination area setting unit 102 detects the angle of the finger of the user's hand 30 (step S127).
  • the contact determination area setting unit 102 detects the angle of a predetermined joint of any one or more fingers based on the bone estimation result of the finger of the hand recognized by the recognition processing unit 101.
  • the palm is turned upward and the fingers are bent lightly to make the hand look like a bowl or tray. .. Therefore, in the present embodiment, the height of the edge portion located on the edge (periphery) of the surface portion 40 of the contact determination region is calculated based on the angle of the predetermined joint of the finger.
  • the "angle of a predetermined joint of a finger” may be, for example, the angle of a second joint.
  • FIG. 12 a diagram illustrating the angle detection of the finger with reference to FIG. 12 is shown. As shown in FIG. 12, for example, based on the bone estimation result obtained by analyzing the captured image 228, the contact determination area setting unit 102 has the second joint G2 of the index finger F2 among the fingers (F1 to F5). The angle t1 of is detected.
  • the angle t1 of the second joint G2 is detected as an example, but the present embodiment is not limited to this, and the angles of the first joint G1 and the third joint G3 may be detected, and the first to third joints G2 may be detected. All joint angles may be detected. Further, although the angle of the index finger F2 is detected here as an example, the present embodiment is not limited to this, and the angle of the thumb F1, the middle finger F3, the ring finger F4, or the little finger F5 may be detected.
  • the contact determination area setting unit 102 changes the initial value of the height of the edge portion based on the detected angle of the finger of the hand, and determines the height of the edge portion (step S130). This makes it possible to adjust the height from the height of the initial value according to the change in the angle of the finger.
  • An example of the final calculation formula for the height of the edge portion 42 is shown below. In the following equation 4, m is an arbitrary value. The calculation result may be returned as 1.0 to 0.0.
  • the contact determination area setting unit 102 determines the contact determination area based on the size of the face portion 40 of the contact determination area calculated above and the final height of the edge portion 42, and is detected as a palm (flat area) of the user.
  • a contact determination area is set in the portion) (step S133). Specifically, the contact determination area setting unit 102 sets the contact determination area composed of the face portion 40 and the edge portion 42 on the palm as shown in FIG. The face portion 40 is set on the plane region of the hand. In this embodiment, the contact determination area is not displayed on the display unit 150 and is not visible to the user.
  • FIG. 13 shows a diagram illustrating display control of the virtual object 52 when the contact determination area according to the present embodiment is set.
  • the display processing unit 103 has a contact determination area (face portion 40 and edge portion 42) set on the palm and a virtual object. The contact (including collision) of the 52 is determined, and the virtual object 52 is controlled so as not to penetrate the contact determination area.
  • the contact determination area setting unit 102 may change the height of the edge portion at any time based on the continuously detected finger angle (change in angle).
  • the setting process of the contact determination area according to the present embodiment has been described above.
  • the operation process shown in FIG. 5 is an example, and the present disclosure is not limited to the example shown in FIG.
  • the present disclosure is not limited to the order of the steps shown in FIG.
  • At least one of the steps may be processed in parallel or in reverse order.
  • not all the processes shown in FIG. 5 need to be executed.
  • the process shown in step S109 may be skipped, or may be performed in parallel with S103 or S106.
  • not all the processes shown in FIG. 5 need to be performed by a single device.
  • at least a part of the process shown in FIG. 5 may be performed by an external device.
  • the left hand is sensed and the contact determination area is set in the left hand as an example, but the present embodiment is not limited to this, and the right hand is sensed and the contact determination area is set in the right hand. Of course, that is also possible.
  • FIG. 14 is a flowchart showing an example of the flow in the first modification of the contact determination region setting process performed by the information processing apparatus 10 according to the present embodiment.
  • steps S203 to S209 shown in FIG. 14 the same processing as that shown in steps S103 to S109 according to the above embodiment described with reference to FIG. 5 is performed.
  • the contact determination area setting unit 102 performs a process of determining the plane size (face portion size) of the contact determination area based on the size of the target virtual object and the size of the hand (steps S212 to S215). ). Specifically, when the size of the virtual object (width, depth)> the size of the hand (width, height) (step S212 / Yes), the contact determination area setting unit 102 uses the following formula based on the size of the virtual object. In step 1, the size (width, height) of the surface portion of the contact determination region is determined (step S215). In the following equation 5, j is an arbitrary coefficient.
  • the size of the target virtual object to be placed on the palm is larger than the palm, it is better to determine the size of the face of the contact judgment area according to the size of the virtual object so that the virtual object can be placed on the palm more reliably. Is possible.
  • the contact determination area setting unit 102 uses the following equation 2 to determine the size of the face portion of the contact determination area (step S212 / No). width, height) is determined (step S218).
  • k is an arbitrary coefficient.
  • the contact determination area setting unit 102 detects the angle of the finger of the user's hand (step S221).
  • the angle of a predetermined joint of any one or more fingers is based on the bone estimation result of the finger of the hand recognized by the recognition processing unit 101. Is detected.
  • the contact determination area setting unit 102 may detect the angle t1 of the second joint of the index finger.
  • the contact determination area setting unit 102 determines the height of the edge portion of the contact determination area based on the detected finger angle of the hand (step S224).
  • the height of the edge of the contact determination region can be obtained by, for example, the following formula.
  • H is a preset value.
  • the contact determination area setting unit 102 may detect the angles of a plurality of fingers and calculate the height of the edge portion of the contact determination area based on the total of all the angles. Further, the contact determination area setting unit 102 detects the angles of a plurality of fingers, calculates the height of the edge portion of the contact determination region by the above formula for each detected finger angle, and calculates the height of each edge portion. The average value of may be determined as the height of the edge of the final contact determination region.
  • the contact determination area setting unit 102 determines the contact determination area based on the size of the face portion and the height of the edge portion of the contact determination region calculated above, and puts it on the palm of the user (the portion detected as the plane region). Set (step S227). Such a setting is the same as in step S133.
  • the display processing unit 103 performs a physical calculation of the virtual object located in the palm of the hand based on the set contact determination area, and controls the display of the virtual object (step S230). Such a setting is the same as in step S136.
  • FIG. 15 is a flowchart showing an example of the flow of the edge height generation processing according to this modification.
  • the determination of the plane size of the contact determination region is performed in the same manner as in the above-described embodiment described with reference to FIG. 5 and the above-mentioned first modification described with reference to FIG.
  • the contact determination area setting unit 102 detects the finger angle T (step S303).
  • the finger angle T can be made based on the bone estimation results, as described with reference to FIG.
  • the finger angle T may be the angle of any one or more finger joints.
  • the angle of the knuckle may be, for example, the angle of the second joint.
  • the finger angle T may be the total value of the detected angles.
  • the contact determination area setting unit 102 determines whether or not the angle T exceeds the threshold value U (step S306).
  • the threshold value U indicates an angle for determining the gesture of edge generation. Such an angle may be the angle of the knuckles when the force of the hand is relaxed to bring it into a natural state.
  • the contact determination area setting unit 102 determines that it is a gesture command for generating an edge (the user intentionally bends the finger), and makes contact.
  • the height of the edge portion of the determination region is determined to be an arbitrary value ( ⁇ ) (step S309). That is, the contact determination area setting unit 102 generates an edge portion of the contact determination area.
  • the arbitrary value ( ⁇ ) may be calculated by the above equation 7 based on the detected finger angle of the hand.
  • the contact determination area setting unit 102 determines that the gesture command does not generate an edge (the user keeps the finger in a natural state).
  • the height of the edge portion of the contact determination region is determined to be 0 (step S312). That is, the contact determination area setting unit 102 does not generate an edge portion of the contact determination area.
  • the face portion of the contact determination region can be set on the palm.
  • a simplified contact determination area (only the face portion) corresponding to the palm, for example, it is possible to reduce the physical calculation when pushing or placing a virtual object on the hand with the fingers extended and the hands spread.
  • the wrist angle assumes a rotation angle (roll angle) of the x-axis when the longitudinal direction of the palm is the x-axis.
  • the angle of the wrist can be detected by an image captured by the camera 120 or an IMU (Inertial Measurement Unit) provided on the wrist.
  • the roll angle is detected with the palm facing up and in a horizontal state as 0 °, and when the detected roll angle exceeds the threshold value, the contact determination area setting unit 102 controls to turn off the edge portion.
  • the user can perform an operation such as naturally dropping the virtual object 52 placed on the palm of the hand on the floor by tilting the hand.
  • FIG. 17 is a flowchart showing an example of the flow of the operation process of ON / OFF control of the edge portion of the contact determination region according to the third modification.
  • the plane size of the contact determination region and the height of the edge portion are determined by the above-described embodiment described with reference to FIG. 5, the above-mentioned first modification described with reference to FIG. 14, or FIG. It can be performed in the same manner as the above-mentioned second modification described with reference to 15.
  • the ON / OFF control of the edge shown in FIG. 17 is performed based on the angle of the wrist after the plane size of the contact determination region and the height of the edge are determined and set in the palm of the user. It can be said that it is a height adjustment process.
  • the information processing apparatus 10 detects the rotation angle r of the wrist (step S403).
  • the rotation angle r of the wrist as described with reference to FIG. 16, for example, the roll angle of the x-axis when the longitudinal direction of the palm is the x-axis can be mentioned.
  • the term "wrist angle” is used here as an example, it can also be said to be the inclination of the flat region of the hand or the inclination of the surface portion of the contact determination region.
  • the contact determination area setting unit 102 calculates the height of the edge portion of the contact determination area based on the detected wrist rotation angle r (step S406).
  • the height of the edge of the contact determination region is calculated by, for example, the following equation 8.
  • the set value is a predetermined value.
  • the information processing apparatus 10 can appropriately adjust the height of the edge portion of the contact determination region set on the palm according to the inclination of the wrist. More specifically, the information processing apparatus 10 controls to lower the height of the edge portion as the inclination of the wrist increases.
  • the contact determination area setting unit 102 may change the height of the edge portion at any time based on the continuously detected wrist angle (change in angle).
  • the contact determination area setting unit 102 determines whether or not the wrist rotation angle r exceeds the threshold value (step S409).
  • the threshold value is exceeded (step S409 / Yes)
  • the contact determination area setting unit 102 sets the height of the edge portion of the contact determination area to 0 (step S412). That is, when the rotation angle r of the wrist exceeds the threshold value, the contact determination area setting unit 102 turns off the edge portion of the contact determination region (does not generate the edge portion), so that the virtual contact determination area setting unit 102 is placed on the palm of the hand. It is possible to perform operations such as dropping an object on the floor.
  • AR Augmented Reality
  • MR Mated Reality
  • the information processing device 10 may be realized by a transmissive type or non-transparent type HMD (Head Mounted Display) mounted on the head, or is a mobile terminal held by a user such as a smartphone or a tablet terminal. It may be various wearable devices worn by the user.
  • HMD Head Mounted Display
  • the shape of the surface portion of the contact determination region is not limited to a rectangle as shown in FIG. 9 (height h with respect to the longitudinal direction of the palm> width w corresponding to the lateral direction of the palm), and may be a square or an ellipse. There may be.
  • the angle of the finger is given as an example of the shape of the hand, and the height of the edge portion of the contact determination region is calculated based on the angle of the finger.
  • the contact determination area setting unit 102 may calculate the height of the edge portion of the contact determination area based on the position of the finger. More specifically, for example, the contact determination area setting unit 102 calculates the height of the edge portion based on the distance between the second joint of the index finger and the position of the head (finger tip) of the same person pointing finger.
  • the contact determination area setting unit 102 controls to lower the edge portion because the hand is open as the distance is long (far), and the edge portion is raised because the hand is closed as the distance is short (close). You may control to do so. Further, the contact determination area setting unit 102 may calculate the height of the edge portion of the contact determination area based on the distance between the position of the head of the thumb and the position of the head of the middle finger, for example.
  • the contact determination area setting unit 102 may determine the size of the surface portion of the contact determination area according to the shape of the hand. For example, the contact determination area setting unit 102 may calculate the size of the face portion of the contact determination area based on the distance between the position of the head of the thumb and the position of the head of the middle finger. Further, the contact determination area setting unit 102 may change the size of the surface portion at any time based on the continuously detected finger position (change in position).
  • the contact determination region setting unit 102 may perform the calculation based on the angle and position of the detectable finger among the plurality of fingers. ..
  • the contact determination area setting unit 102 sets an edge portion when the angle of a finger exceeding a predetermined number (one, two, or three, etc.) exceeds a threshold value, and the angle (at least one of them) is set.
  • the height of the edge may be calculated based on the angle of the finger. Any finger may be further specified for the predetermined number. This makes it possible to appropriately set the edge of the contact determination region according to the more natural finger shape.
  • the above-described embodiments, modifications, and supplementary contents are applied to both the left hand and the right hand, and the contact determination area can be set for either the left hand or the right hand.
  • the present technology can also have the following configurations.
  • (1) Equipped with a control unit that displays virtual objects on the display unit
  • the control unit Detects the plane area of the hand from the captured image of the real space, Control is performed to set a contact determination area for determining contact with the virtual object with respect to the detected plane area of the hand.
  • the contact determination region is an information processing apparatus including at least one surface portion.
  • (2) The information processing apparatus according to (1), wherein the contact determination region further includes an edge portion located at the edge of the surface portion.
  • (3) The information processing device according to (2), wherein the control unit calculates the height of the edge portion based on the shape of the hand.
  • control unit changes the height of the edge portion according to a change in the shape of the finger of the hand.
  • the control unit has the height of the edge based on the initial value of the height of the edge calculated based on the size of the hand or the size of the virtual object and the change in the angle of the fingers of the hand.
  • the information processing apparatus according to (3) or (4) above.
  • (6) 3. The control unit according to (3) or (4) above, wherein the control unit calculates the height of the edge portion based on the angle of one or a plurality of fingers of the hand detected as the shape of the fingers of the hand. Information processing device.
  • the processor Displaying virtual objects on the display and It includes controlling to detect a plane region of a hand from an image captured in a real space and to set a contact determination region for determining contact with the virtual object with respect to the detected plane region of the hand.
  • the information processing method wherein the contact determination region includes at least one surface portion.
  • Computer Functions as a control unit that displays virtual objects on the display unit, The control unit Detects the plane area of the hand from the captured image of the real space, Control is performed to set a contact determination area for determining contact with the virtual object with respect to the detected plane area of the hand.
  • the program wherein the contact determination region includes at least one face portion.
  • Information processing device 100 Control unit 101 Recognition processing unit 102 Contact judgment area setting unit 103 Display processing unit 110 Communication unit 120 Camera 130 Operation input unit 140 Sensor unit 150 Display unit 160 Speaker 170 Storage unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Architecture (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】より簡易に仮想オブジェクトとユーザの手の平のインタラクションを自然な表現で実現することが可能な情報処理装置、情報処理方法、およびプログラムを提供する。 【解決手段】仮想オブジェクトを表示部に表示する制御部を備え、前記制御部は、実空間を撮像した撮像画像から手の平面領域を検出し、前記検出した手の平面領域に対して、前記仮想オブジェクトとの接触を判定する接触判定領域を設定する制御を行い、前記接触判定領域は、少なくとも一の面部を含む、情報処理装置。

Description

情報処理装置、情報処理方法、およびプログラム
 本開示は、情報処理装置、情報処理方法、およびプログラムに関する。
 近年、実空間と仮想空間とを融合して視聴する技術が様々開発されている。例えば、ユーザの眼に実空間が直接見える状態で当該実空間に仮想空間の情報である画像(仮想オブジェクトと称する)を重畳的に表示する技術として、拡張現実(AR:Augmented Reality)技術が開発されている。拡張現実を提供する表示装置としては、光学透過型のヘッドマウントディスプレイ(HMD:Head Mounted Display。以降「HMD」と呼称する)が挙げられる。
 また、3Dモデル等が配置された仮想空間内をユーザが任意の視点から視聴することができるVR(Virtual Reality)技術も開発されている。VRの世界(仮想空間の映像)は、例えばユーザの視界を表示部で覆う非透過型のHMDを用いて提供される。表示部によりユーザの視界を覆って実空間を視界から遮断することで、VRの世界への没入感が高まる。
 このようなAR、VRの提供において、仮想的な像の一つとしてメニュー画面を表示し、メニュー画面からユーザによる選択を受け入れることが行われている。例えば下記特許文献1では、ユーザの各指先の位置の情報を取得して、メニュー等の仮想的なオブジェクトと、ユーザの指との接触を判定することに関する技術が開示されている。
国際公開第2018/198910号
 ここで、仮想オブジェクトを手の平に乗せて転がしたり、小さな多数の仮想オブジェクトを手で掬い上げたり等の操作を自然に表現するNUI(ナチュラルユーザインタフェース)の実現は、処理負荷が比較的高く、導入が困難であった。
 そこで、本開示では、より簡易に仮想オブジェクトとユーザの手の平のインタラクションを自然な表現で実現することが可能な情報処理装置、情報処理方法、およびプログラムを提案する。
 本開示によれば、仮想オブジェクトを表示部に表示する制御部を備え、前記制御部は、実空間を撮像した撮像画像から手の平面領域を検出し、前記検出した手の平面領域に対して、前記仮想オブジェクトとの接触を判定する接触判定領域を設定する制御を行い、前記接触判定領域は、少なくとも一の面部を含む、情報処理装置を提案する。
 本開示によれば、プロセッサが、仮想オブジェクトを表示部に表示することと、実空間を撮像した撮像画像から手の平面領域を検出し、前記検出した手の平面領域に対して、前記仮想オブジェクトとの接触を判定する接触判定領域を設定する制御を行うことと、を含み、前記接触判定領域は、少なくとも一の面部を含む、情報処理方法を提案する。
 本開示によれば、コンピュータを、仮想オブジェクトを表示部に表示する制御部として機能させ、前記制御部は、実空間を撮像した撮像画像から手の平面領域を検出し、前記検出した手の平面領域に対して、前記仮想オブジェクトとの接触を判定する接触判定領域を設定する制御を行い、前記接触判定領域は、少なくとも一の面部を含む、プログラムを提案する。
本開示の一実施形態による情報処理装置の構成の一例を示すブロック図である。 本実施形態による情報処理装置を実現するメガネ型デバイスの外観例を示す図である。 本実施形態による手に装着されるカメラについて説明する図である。 本実施形態による手に装着されるカメラにより取得される撮像画像の一例を示す図である。 本実施形態に係る情報処理装置により行われる接触判定領域の設定処理の流れの一例を示すフローチャートである。 本実施形態によるボーン推定に基づく手の位置の検出について説明する図である。 本実施形態による手の平面領域の検出について説明する図である。 本実施形態による3Dの仮想オブジェクトの大きさ情報の一例を示す図である。 本実施形態による接触判定領域の平面サイズの一例について説明する図である。 本実施形態によるユーザの手の大きさ情報の一例について示す図である。 本実施形態による接触判定領域の縁部の一例を示す図である。 本実施形態による指の角度検出について説明する図である。 本実施形態による接触判定領域を設定した場合における仮想オブジェクトの表示制御について説明する図である。 本実施形態に係る情報処理装置により行われる接触判定領域の設定処理の第1の変形例における流れの一例を示すフローチャートである。 本実施形態の第2の変形例による縁部の高さ発生処理の流れの一例を示すフローチャートである 本実施形態の第3の変形例による手首の角度について説明する図である。 本実施形態の第3の変形例による接触判定領域の縁部のON/OFF制御の動作処理の流れの一例を示すフローチャートである。
 以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
 また、説明は以下の順序で行うものとする。
 1.概要
 2.構成例
 3.動作処理
 4.変形例
  4-1.第1の変形例
  4-2.第2の変形例
  4-3.第3の変形例
 5.補足
 6.まとめ
 <<1.概要>>
 本開示の一実施形態として、より簡易に仮想オブジェクトとユーザの手の平のインタラクションを自然な表現で実現する仕組みについて説明する。
 仮想オブジェクトとは、仮想空間の情報としてユーザの視覚に提示される画像である。本実施形態が適用される例としては、ARまたはVRの世界において、ユーザが仮想オブジェクトに対して手でインタラクションを行う場合を想定する。例えばARの場合、ユーザは透過型のディスプレイを介して実空間が直接見える状態にあり、透過型ディスプレイにおいて仮想オブジェクトが実空間に重畳するよう表示される。ユーザは、実空間の自身の手を透過型のディスプレイを介して直接見える状態において、透過型のディスプレイに表示される仮想オブジェクトを手の平に乗せる操作等を行い得る。また、VRの場合、ユーザは実空間の光を遮断する非透過型のディスプレイを頭部に装着し、当該非透過型のディスプレイには、ユーザ視点の仮想空間の画像が表示される。仮想空間には、例えばユーザの手の動きに対応する仮想手(手の形状をリアルタイムに反映する仮想オブジェクト)が表示されてもよい。実空間におけるユーザの手の動きは、ユーザの手に装着されたセンサや、ユーザの手を撮影するカメラにより検出され、仮想手に反映される。ユーザは、自身の手の動きが反映される仮想手の手の平に仮想オブジェクトを乗せる操作等を行い得る。
 (課題の整理)
 ここで、仮想オブジェクトを手の平に乗せる、手の平で転がす、掬い上げる等の自然な動きを表現するNUIの実現のためには、指先の細かな形状をキャプチャして物理演算を行う必要がある。しかしながら、キャプチャも物理演算も処理負荷が高く、導入が困難であった。例えば、水を掬う、複数の小さなボールを掬うといった操作をより自然に表現するための物理演算の処理負荷は高くなる。
 また、手の物理演算を厳密に行っても、仮想オブジェクトの当たり判定や重量のパラメータ設定等を正しく設定しないと、仮想オブジェクトを手で把持することが困難であった。従来は、所定のコマンドにより把持させる、把持させた仮想オブジェクトを手に吸着させて落とさないようにする等のルールベースや、仮想オブジェクトには直接触らずに操作させる等の対応が行われていた。しかしながら、吸着させる方法や仮想オブジェクトに直接触らずに操作させる方法では、仮想オブジェクトを手の平で転がす、仮想オブジェクトにより表現される水や複数の小さなボールを掬い上げるといった、自然な操作が行えず、操作の直感性を得られない。
 また、手指の位置が正確に取得できても、実空間と仮想空間の位置誤差が生じ得るため、仮想オブジェクトに触れる操作を実現することは難しい。
 そこで、本開示による一実施形態では、手の平面領域に対して、仮想オブジェクトとの接触を判定する接触判定領域を設定することで、より簡易に仮想オブジェクトとユーザの手とのインタラクションを自然な表現で実現する。なお、本明細書において、当該接触には衝突が含まれる。すなわち、接触判定領域では、仮想オブジェクトの衝突も判定し得る。
 これにより、手で仮想オブジェクトを掬い上げたり手の平に乗せたり手の平で転がしたり等の自然な操作をより簡易に実現できる。より簡易な方法とは、一例として処理負荷が比較的高くないことを意味する。また、ユーザが自身の手で仮想オブジェクトに対して直接操作を行うことができ、操作の直感性を提供することが可能となる。
 なお、本実施形態による仮想空間の情報の提示は、本実施形態による情報処理装置10により行われ得る。情報処理装置10は、ユーザの頭部に装着されるHMDにより実現されてもよいし、スマートフォン、携帯電話端末、タブレット端末等のユーザが手に持って利用する端末や、ユーザの身に着けるウェアラブルデバイス等であってもよい。
 例えばARの場合に用いられる透過型のHMDは、ユーザの頭部に装着されるメガネ型デバイスであってもよい。メガネ型デバイスのレンズ部分に、透過型ディスプレイが設けられる。また、VRの場合に用いられる非透過型のHMDは、ユーザの頭部に装着され、外界を遮る構成にすることで、視聴時の仮想現実感(仮想空間への没入感)を増すことができる。また、HMDは、左右の眼毎の画像表示部を有し、左右の眼に違う映像を映し出すことも可能である。左右の眼に対して視差のある画像を表示することで3D画像を提示し得る。
 また、ARを実現するディスプレイの他の例として、ビデオシースルーディスプレイを用いることも想定される。ビデオシースルーディスプレイは、非透過型ディスプレイであって、例えばユーザの頭部に装着され、実空間の光を遮る構成により実現されてもよい。ビデオシースルーディスプレイには、実空間の映像がリアルタイムで表示される。かかる実空間の映像は、ユーザが頭部に装着した当該ビデオシースルーディスプレイに、ユーザの視線方向を撮像するよう設けられたカメラにより取得され得る。ビデオシースルーディスプレイでは、実空間の映像に、仮想オブジェクトが重畳表示される。ビデオシースルーディスプレイは、実空間の光の遮蔽を動的に行う構成を設けることで、透過型のディスプレイ(光学シースルーディスプレイ)と非透過型のディスプレイとを切り替えることができるものであってもよい。
 以上、本開示の一実施形態の概要について説明した。続いて、本実施形態を実現する情報処理装置10の具体的な構成について図面を参照して説明する。
 <<2.構成例>>
 図1は、本実施形態による情報処理装置10の構成の一例を示すブロック図である。図1に示すように、情報処理装置10は、制御部100、通信部110、カメラ120、操作入力部130、センサ部140、表示部150、スピーカ160、および記憶部170を有する。本実施形態による情報処理装置10は、一例として、ARを提示し得るメガネ型デバイス(透過型ディスプレイ)により実現され得る。
 <2-1.通信部110>
 通信部110は、有線または無線により外部装置と通信接続し、データの送受信を行う。例えば、通信部110は、ネットワークと接続して、ネットワーク上のサーバとデータの送受信を行う。通信部110は、例えば、仮想空間の情報として提示する仮想オブジェクトのデータをサーバから受信してもよい。また、通信部110は、例えば、有線/無線LAN(Local Area Network)、またはWi-Fi(登録商標)、Bluetooth(登録商標)、携帯通信網(LTE(Long Term Evolution)、3G(第3世代の移動体通信方式)、4G(第4世代の移動体通信方式)、5G(第5世代の移動体通信方式))等により外部装置やネットワークと通信接続する。
 <2-2.カメラ120>
 カメラ120は、実空間を撮像する機能を有する撮像部である。カメラ120により撮像される実空間の撮像画像は、後述する認識処理部101において実空間を認識する際に用いられる。
 例えばカメラ120は、情報処理装置10が図2に示すようなメガネ型デバイス10Aにより実現される場合、ユーザの視線方向を向くよう設けられるカメラ120a(外向きカメラ)により実現される。カメラ120aの画角は、ユーザの視界を含む画角であることが望ましい。これにより、後述する認識処理部101において、カメラ120aにより撮像された撮像画像に基づいて、ユーザが表示部150を介して見ている実空間の認識を行い得る。カメラ120は、単数であってもよいし、複数であってもよい。また、カメラ120は、所謂ステレオカメラとして構成されてもよい。
 また、カメラ120の他の例として、ユーザの手の形状や動き等を認識するためのカメラ120bが、ユーザの手に装着されていてもよい。図3は、ユーザの手に装着されるカメラ120bの一例について説明する図である。図3に示すように、例えばユーザの手の平側に、手の指方向を撮影するカメラ120bが設けられたウェアラブルデバイス20が、ユーザの手30に装着される。カメラ120bにより、例えば図4に示すような撮像画像210が撮像され得る。後述する認識処理部101において、カメラ120bにより撮像された撮像画像210に基づいて、ユーザの手の形状、動き、指の角度等を得るための認識(例えばボーン認識等)が行われ得る。カメラ120bは、情報処理装置10と有線または無線により通信接続し、撮像画像を情報処理装置10に送信し得る。
 <2-3.操作入力部130>
 操作入力部130は、ユーザからの操作を付け付ける機能を有する。操作入力部130は、受け付けた操作の情報を、制御部100に出力する。操作入力部130は、例えばタッチパネルやボタン等の入力デバイスにより実現されていてもよい。
 <2-4.センサ部140>
 センサ部140は、情報処理装置10の位置(ユーザ位置)や動き、周辺の状況など、実空間をセンシングする機能を有する。センサ部140は、例えば、位置測位部、加速度センサ、角速度センサ、地磁気センサ、赤外線センサ、測距センサ(実空間に存在する物体との距離を測定するセンサ)、生体センサ、マイクロホン等を含む。
 また、センサ部140は、ユーザの眼を撮像する内向きカメラを含んでいてもよい。内向きカメラにより、例えばユーザの視線方向が検出される。
 位置測位部は、情報処理装置10の絶対的または相対的な位置を算出する機能を有する。例えば、位置測位部は、外部からの取得信号に基づいて現在位置を検知してもよい。具体的には、例えば人工衛星からの電波を受信して、情報処理装置10が存在している現在位置を検知するGNSS(Global Navigation Satellite System)が用いられてもよい。また、GNSSの他、Wi-Fi(登録商標)、Bluetooth(登録商標)、携帯電話・PHS・スマートフォン等との送受信、または近距離通信等により位置を検知する方法が用いられてもよい。また、位置測位部は、加速度センサや角速度センサ等の検出結果に基づいて相対的な変化を示す情報を推定してもよい。
 センサ部140は、ユーザの頭部に装着された情報処理装置10(例えば図2に示すメガネ型デバイス10A)に設けられていてもよいし、さらにユーザの手に装着されたウェアラブルデバイス20に設けられていてもよい。例えばウェアラブルデバイス20に設けられた加速度センサ、角速度センサ、地磁気センサ等により、ユーザの手の3次元位置が検出され得る。
 <2-5.表示部150>
 表示部150は、一例として、透過型ディスプレイにより実現される。透過型ディスプレイとは、実空間の光を直接ユーザの眼に届けることが可能なディスプレイである。ユーザは、透過型ディスプレイを介して実空間を直接視認し得る。透過型ディスプレイは、例えば光学シースルーディスプレイであってもよい。光学シースルーディスプレイは、ハーフミラー方式、導光板方式、網膜直描方式等を含む既知の形態を採用し得る。
 <2-6.スピーカ160>
 スピーカ160は、音声を出力する機能を有する。例えばスピーカ160は、ヘッドフォン、イヤフォン、若しくは骨伝導スピーカとして構成されてもよい。
 <2-7.記憶部170>
 記憶部170は、制御部100の処理に用いられるプログラムや演算パラメータ等を記憶するROM(Read Only Memory)、および適宜変化するパラメータ等を一時記憶するRAM(Random Access Memory)により実現される。
 <2-8.制御部100>
 制御部100は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置10内の動作全般を制御する。制御部100は、例えばCPU(Central Processing Unit)、マイクロプロセッサ等の電子回路によって実現される。また、制御部100は、使用するプログラムや演算パラメータ等を記憶するROM(Read Only Memory)、及び適宜変化するパラメータ等を一時記憶するRAM(Random Access Memory)を含んでいてもよい。
 制御部100は、表示部150やスピーカ160を制御し、ユーザの視覚や聴覚に仮想空間の情報を提示する制御を行う。仮想空間の情報は、記憶部170に記憶されていてもよいし、通信部110を介して外部装置から受信してもよい。外部装置とは、例えばインターネット上のサーバであってもよいし、情報処理装置10と同一空間内に配置された専用端末やスマートフォン、タブレット端末、PC等であってもよい。
 また、制御部100は、カメラ120により撮像された周囲の撮像画像や、操作入力部130から入力されたユーザ操作の情報、また、センサ部140によりセンシングされた各種センシングデータに基づいて、ユーザの視覚や聴覚に提示する仮想空間の情報を変化させる制御を行う。例えば制御部100は、センシングデータに基づいてユーザの位置(ユーザに装着される情報処理装置10の自己位置)や姿勢等の変化を認識し、仮想空間の情報として実空間に重畳表示する仮想オブジェクトの表示(位置、姿勢)を変化させる。また、制御部100は、カメラ120により撮像されたユーザの手などを物体認識し、仮想オブジェクトの表示を変化させる。
 より具体的には、本実施形態による制御部100は、認識処理部101、接触判定領域設定部102、および表示処理部103としても機能し得る。
 (認識処理部101)
 認識処理部101は、制御部100に入力された各種データの認識処理を行う。具体的には、認識処理部101は、カメラ120により実空間を撮像した撮像画像に基づいて、実空間を認識する処理を行う。実空間の認識として、認識処理部101は、例えば撮像画像に映る各物体の認識を行う。物体認識のアルゴリズムは特に限定しないが、例えば、3次元物体認識や、ボーン推定アルゴリズムを用いてもよい。また、認識処理部101は、カメラ120またはセンサ部140からデプスデータを取得し、実空間の認識処理に用いてもよい。
 認識される物体には、ユーザの手も含まれる。認識処理部101は、例えば図3を参照して説明したユーザの手に装着されるカメラ120bにより撮像された撮像画像210(図4参照)に基づいて、ユーザの手の形状や動き、または指の角度等を認識し得る。また、認識処理部101は、ユーザの視線方向を撮像するカメラ120aやユーザの手に装着されたウェアラブルデバイス20に設けられた各種センサに基づいて、ユーザの手の位置(3次元位置)や、ユーザの手の平に相当する平面領域を検出し得る。
 また、認識処理部101は、センサ部140から入力されるセンシングデータ等に基づいて、情報処理装置10(情報処理装置10を装着したユーザの頭部)の自己位置又は姿勢の認識を行い得る。
 また、認識処理部101は、制御部100に入力された各種データに基づいて、ユーザの頭部の動きを追従するヘッドトラッキング、ユーザの視線の動きを追従するアイトラッキング、また、ユーザの位置や姿勢を追従するポジショントラッキングを行い得る。ポジショントラッキングには、一般的に、情報処理装置10の外部(環境側)に設置されたセンサを利用するアウトサイド・イン方式や、情報処理装置10に搭載したセンサを利用するインサイド・アウト方式や、これらの組み合わせであるハイブリッド方式がある。
 (接触判定領域設定部102)
 接触判定領域設定部102は、手の平面領域に対して、仮想オブジェクトとの接触を判定する接触判定領域を設定する。上述したように、本明細書において、当該接触には衝突が含まれる。すなわち、接触判定領域では、仮想オブジェクトの衝突も判定し得る。接触判定領域には、少なくとも一の面部が含まれる。また、接触判定領域には、面部の縁に位置する縁部がさらに含まれていてもよい。接触判定領域設定部102は、面部の大きさを、例えば手の平の大きさや、対象の仮想オブジェクトの大きさに基づいて算出する。また、接触判定領域設定部102は、縁部の高さを、手の形状(例えば少なくとも1本の指の角度)に基づいて算出する。
 設定された接触判定領域は表示部150には表示されず、ユーザには視認されない。接触判定領域は、仮想オブジェクトが突き抜けない(通り抜けない)壁として設定される。接触判定領域は、例えばユーザの手の平の平面領域に対応する四角形の面部と、所定の高さを有する縁部から構成されてもよい。本実施形態では、簡易な形状の接触判定領域を設定することで、手の表現を簡素化して、物理演算に用いるデータ量を軽減することが可能となる。これにより、細かな指の形状をキャプチャして物理演算することなく、手の平に乗せられた仮想オブジェクトと手の平とのインタラクションを自然に表現し得る。例えば手で水を掬う、複数の小さなボールを掬うといった操作の際も、手の細かな形状(全ての指先の位置や全ての指の角度等)をキャプチャすることなく、手の平に設定された接触判定領域に基づいて物理演算を行うことで、物理演算の処理負荷を軽減し得る。接触判定領域のより詳細な説明については、図11~図13を参照して後述する。
 (表示処理部103)
 表示処理部103は、表示部150において実空間に重畳する仮想オブジェクトの表示処理を行う。表示処理部103は、ユーザの自己位置や姿勢、認識された実空間の物体の位置や姿勢に応じて、実空間に重畳する仮想オブジェクトの表示位置や姿勢を制御する。また、表示処理部103は、ユーザの手の平に設定された接触判定領域に応じて、実空間に重畳する仮想オブジェクトの動きを制御し得る。
 以上、情報処理装置10の構成について具体的に説明したが、本開示による情報処理装置10の構成は図1に示す例に限定されない。例えば、情報処理装置10は、複数の装置により実現されてもよい。具体的には、HMD等により実現される表示装置(少なくとも表示部150を含む)と、スマートフォンやタブレット端末、PC等により実現される情報処理端末(少なくとも制御部100を含む)とを含むシステム構成により実現されてもよい。また、上述した制御部100による各処理(認識処理部101、接触判定領域設定部102、表示処理部103による各処理)を、ネットワーク上のサーバ等の外部装置で行ってもよいし、ユーザと同一空間に配置された専用端末や、スマートフォン、タブレット端末、またはPC等により実現してもよい。
 <<3.動作処理>>
 次に、本実施形態に係る情報処理装置10の動作処理について図面を用いて具体的に説明する。
 図5は、本実施形態に係る情報処理装置10により行われる接触判定領域の設定処理の流れの一例を示すフローチャートである。図5に示すように、まず、情報処理装置10の認識処理部101は、カメラ120により撮像された撮像画像や、センサ部140により検出されたセンシングデータに基づいて、ユーザの手の位置を検出する(ステップS103)。手の位置は、例えば手に装着されたウェアラブルデバイス20に設けられたカメラ120b、IMU(Inertial Measurement Unit)センサ(センサ部140の一例)、頭部に装着されたメガネ型デバイス10Aに設けられたカメラ120a、IMUセンサ(センサ部140の一例)の少なくともいずれかに基づいて検出される3次元位置座標(x,y,z)であってもよい。また、認識処理部101は、ユーザの手の姿勢(yaw、roll、pitch)も検出し得る。例えば認識処理部101は、図6に示すように、ユーザの手30を撮像した撮像画像220の画像解析によりボーン推定(姿勢推定の一例であって、ボーン位置を推定する手法)を行い、手の中心位置を、手の位置P(x,y,z)として検出する。また、認識処理部101は、手の位置P(x,y,z)における姿勢(yaw、roll、pitch)も検出し得る。また、認識処理部101は、例えばボーン推定に基づいて、手の指の関節位置(3次元位置)も検出し得る。
 次に、認識処理部101は、手の位置Pから、手の平面領域Sを検出する(ステップS106)。図7は、手の平面領域の検出について説明する図である。認識処理部101は、図7に示す撮像画像222の解析結果から、ユーザの手30の位置Pを含む平面領域Sを検出する。撮像画像222は、図6に示す撮像画像220と同一であってもよい。認識処理部101は、位置情報に加えて、デプス情報を用いて平面領域の検出を行い得る。
 次いで、接触判定領域設定部102は、対象の仮想オブジェクトの大きさ情報を取得する(ステップS109)。対象の仮想オブジェクトとは、ユーザの手30が近付いた、あるいは、触れた仮想オブジェクトである。本実施形態による接触判定領域の設定は、ユーザの手30が仮想オブジェクトに近付いた、あるいは、触れた際に行われ得る。認識処理部101は、物体認識により得た手30の3次元位置と、実空間に重畳表示する1以上の仮想オブジェクトの表示位置(3次元位置座標)とに基づいて、仮想オブジェクトに手30が近付いたこと(仮想オブジェクトと手30の距離が所定の値以下)や、接触したこと(位置が重なる)を認識し得る。また、接触判定領域設定部102は、さらにユーザの視線から対象の仮想オブジェクトを判断してもよい。
 ここで、仮想オブジェクトの大きさ情報の一例について図8を参照して説明する。図8は、3Dの仮想オブジェクト50の大きさ情報の一例を示す図である。図8に示すように、例えば仮想オブジェクト50の大きさ情報には、width、height、depthの数値が含まれる。なお、ここでは一例として3Dの仮想オブジェクトを用いたが本実施形態はこれに限定されず、2Dの仮想オブジェクトであってもよい。
 次に、接触判定領域設定部102は、ユーザの手30の平に対して設定する接触判定領域の平面サイズを決定する(ステップS121)。接触判定領域の平面サイズとは、接触判定領域を構成する面部の大きさである。図9に、本実施形態による接触判定領域の平面サイズの一例について説明する図を示す。図9に示すように、ユーザの手30の平に対して設定される接触判定領域の面部40の大きさは、width、heightの数値を含む。接触判定領域設定部102は、例えばユーザの手30の大きさ情報、および/または、対象の仮想オブジェクトの大きさ情報に基づいて、面部40の大きさを決定する。
 ユーザの手30の大きさ情報は、情報処理装置10に初期設定時等において予め登録され得る。図10は、ユーザの手30の大きさ情報の一例について示す図である。図10に示すように、例えば手30のボーン推定結果に基づいて、width、heightの数値がサイズとして取得され得る。widthは、例えば親指の先端と小指の先端との間の長さである。また、heightは、例えば中指の先端から手首までの長さである。
 接触判定領域設定部102は、例えばユーザの手30の大きさ情報、または、対象の仮想オブジェクトの大きさ情報に対応するよう面部40の大きさを決定してもよい。例えば接触判定領域設定部102は、接触判定領域の面部40の大きさを、仮想オブジェクト50のwidth、depth(手の平に接触する面の大きさ)と同様の大きさとしてもよいし、所定の割合だけ小さい大きさとしてもよい。また、接触判定領域設定部102は、接触判定領域の面部40の大きさを、ユーザの手30の大きさ(width、height)と同様の大きさとしてもよいし、所定の割合だけ小さい大きさとしてもよい。
 なお、接触判定領域設定部102は、面部40の大きさを予めユーザの手30の大きさ情報に基づいて決定(算出)しておいてもよい。予め算出しておくことで、リアルタイムで接触判定領域の面部40を設定する際における算出負荷を軽減することが可能となる。また、接触判定領域設定部102は、予め算出した接触判定領域の面部40の大きさを、対象の仮想オブジェクトの大きさに応じて調整する処理をさらに行ってもよい。
 次いで、接触判定領域設定部102は、接触判定領域の縁部の高さの初期値を決定する(ステップS124)。接触判定領域の縁部の高さとは、接触判定領域の面部の縁に設けられる縁部の高さである。ここで図11に、本実施形態による接触判定領域の縁部42の一例を示す。図11に示すように、縁部42は、接触判定領域の面部40の全ての縁に、面部40を取り囲むよう設けられる。本実施形態では、まず、接触判定領域設定部102は縁部42の高さ(h)の初期値を決定する。
 縁部42の高さ(h)の初期値は、ユーザの手のサイズに基づいて決定してもよいし、対象の仮想オブジェクト50の大きさに基づいて決定してもよい。以下、縁部42の高さ初期値を算出する式についていくつか一例を挙げる。下記各式において、α、β、γは、それぞれ任意の係数である。
 縁部42の高さ初期値
 =α×仮想オブジェクト50の奥行(d)   ・・・・(式1)
or
 =β×仮想オブジェクト50の幅(w)    ・・・・(式2)
or
 =γ×ユーザの手のサイズ(w、h)     ・・・・(式3)
 次に、接触判定領域設定部102は、ユーザの手30の指の角度を検出する(ステップS127)。接触判定領域設定部102は、認識処理部101により認識された手の指のボーン推定結果に基づいて、任意の1又は2以上の指の所定の関節の角度を検出する。人が何かを手で掬おうとしたり、手の平に乗せようとしたりする際は、手の平を上方に向けて指を軽く曲げ、手を椀や盆(トレイ)のようにすることが想定される。そこで、本実施形態では、指の所定の関節の角度に基づいて、接触判定領域の面部40の縁(周囲)に位置する縁部の高さを算出する。
 どの指の角度を検出するかは、任意の指としてもよい。例えば、一般的に親指、人指し指、および中指は、物を主に操作する際に重要な指となるため、これら3本の中から任意の指を指定してもよい。また、「指の所定の関節の角度」とは、例えば、第2関節の角度であってもよい。ここで、指の角度検出について、図12を参照して説明する図を示す。図12に示すように、例えば撮像画像228を解析して得られたボーン推定結果に基づいて、接触判定領域設定部102は、各指(F1~F5)のうち、人差し指F2の第2関節G2の角度t1を検出する。ここでは一例として第2関節G2の角度t1を検出するが、本実施形態はこれに限定されず、第1関節G1や第3関節G3の角度を検出してもよいし、第1~第3関節の角度を全て検出してもよい。また、ここでは一例として人差し指F2の角度を検出しているが、本実施形態はこれに限定されず、親指F1や中指F3、薬指F4、または小指F5の角度を検出してもよい。
 次いで、接触判定領域設定部102は、検出した手の指の角度に基づいて、縁部の高さ初期値を変更し、縁部の高さを決定する(ステップS130)。これにより、初期値の高さから、指の角度変化に合わせて高さを調整することが可能となる。最終的な縁部42の高さの算出式の一例を下記に示す。下記式4において、mは任意の値である。計算結果は1.0~0.0で返されるようにしてもよい。
(式4)
 縁部42の高さ最終=(指の角度t1)×m×縁部42の高さ初期値
 次に、接触判定領域設定部102は、以上算出した接触判定領域の面部40のサイズと縁部42の高さ最終とに基づいて接触判定領域を決定し、ユーザの手の平(平面領域として検出された部分)に接触判定領域を設定する(ステップS133)。具体的には、接触判定領域設定部102は、図11に示すような面部40と縁部42から構成される接触判定領域を手の平に設定する。面部40は、手の平面領域上に設定される。なお、本実施形態では、接触判定領域は表示部150には表示されず、ユーザには視認されない。
 そして、表示処理部103は、手の平に位置する仮想オブジェクトの物理演算を、設定された接触判定領域に基づいて行い、仮想オブジェクトの表示を制御する(ステップS136)。ここで、図13に、本実施形態による接触判定領域を設定した場合における仮想オブジェクト52の表示制御について説明する図を示す。図13に示すように、例えば仮想オブジェクト52がユーザの手30の平で転がされる際、表示処理部103は、手の平に設定された接触判定領域(面部40および縁部42)と仮想オブジェクト52の接触(衝突を含む)を判定し、仮想オブジェクト52が接触判定領域を突き抜けないよう制御する。これにより、細かな指の形状をキャプチャして物理演算することなく、接触判定領域の設定により手の表現を簡素化することで、仮想オブジェクトと手のインタラクションを算出する物理演算の処理負荷が軽減され、かつ、自然な表現も実現し得る。接触判定領域設定部102は、継続的に検出される指の角度(角度の変化)に基づいて、縁部の高さを随時変更してもよい。
 以上、本実施形態による接触判定領域の設定処理について説明した。なお図5に示す動作処理は一例であって、本開示は図5に示す例に限定されない。例えば、本開示は、図5に示すステップの順序に限定されない。少なくともいずれかのステップが並列に処理されてもよいし、逆の順番で処理されてもよい。また、図5に示す全ての処理が必ずしも実行されてなくともよい。例えば、ステップS109に示す処理がスキップされてもよいし、S103またはS106と並列して行われてもよい。また、図5に示す全ての処理が必ずしも単一の装置で行われなくともよい。例えば、上記では図5に示す処理が全て情報処理装置10で行われることを想定して説明したが、本開示はこれに限定されない。例えば図5に示す処理の少なくとも一部が外部装置で行われてもよい。
 また、本実施形態では一例として左手をセンシングして左手に接触判定領域を設定する旨を説明したが、本実施形態はこれに限定されず、右手をセンシングして接触判定領域を右手に設定することも当然可能である。
 <<4.変形例>>
 続いて、本実施形態による接触判定領域の設定処理の変形例について説明する。
 <4-1.第1の変形例>
 図14は、本実施形態に係る情報処理装置10により行われる接触判定領域の設定処理の第1の変形例における流れの一例を示すフローチャートである。
 まず、図14に示すステップS203~S209において、図5を参照して説明した上記実施形態によるステップS103~S109に示す処理と同様の処理が行われる。
 次に、接触判定領域設定部102は、対象の仮想オブジェクトのサイズと、手のサイズとに基づいて、接触判定領域の平面サイズ(面部の大きさ)を決定する処理を行う(ステップS212~S215)。具体的には、仮想オブジェクトのサイズ(width、depth)>手のサイズ(width、height)の場合(ステップS212/Yes)、接触判定領域設定部102は、仮想オブジェクトのサイズに基づいて、下記式1により、接触判定領域の面部のサイズ(width、height)を決定する(ステップS215)。下記式5において、jは任意の係数である。
(式5)
 接触判定領域の面部のサイズ(w、h)=仮想オブジェクトのサイズ(w、d)×j
 手の平に乗せようとしている対象の仮想オブジェクトのサイズが手の平よりも大きい場合は、仮想オブジェクトのサイズに合わせて接触判定領域の面部のサイズを決定した方が、仮想オブジェクトをより確実に手の平に乗せることが可能となる。
 一方、仮想オブジェクトのサイズ(width、depth)<手のサイズ(width、height)の場合(ステップS212/No)、接触判定領域設定部102は、下記式2により、接触判定領域の面部のサイズ(width、height)を決定する(ステップS218)。下記式6において、kは任意の係数である。
(式6)
 接触判定領域の面部のサイズ(w、h)=手のサイズ(w、h)×k
 続いて、接触判定領域設定部102は、ユーザの手の指の角度を検出する(ステップS221)。手の指の角度の検出では、上述したステップS127と同様に、認識処理部101により認識された手の指のボーン推定結果に基づいて、任意の1又は2以上の指の所定の関節の角度が検出される。一例として、接触判定領域設定部102は、人差し指の第2関節の角度t1を検出してもよい。
 次に、接触判定領域設定部102は、検出した手の指の角度に基づいて、接触判定領域の縁部の高さを決定する(ステップS224)。接触判定領域の縁部の高さは例えば下記式により求められる。下記式7において、Hは予め設定された設定値である。
(式7)
 接触判定領域の縁部の高さ=指の角度t×H
 なお、接触判定領域設定部102は、複数の指の角度を検出し、全ての角度の合計に基づいて接触判定領域の縁部の高さを算出してもよい。また、接触判定領域設定部102は、複数の指の角度を検出し、検出した指の角度毎に上記式により接触判定領域の縁部の高さを算出し、算出した各縁部の高さの平均値を、最終的な接触判定領域の縁部の高さとして決定してもよい。
 次に、接触判定領域設定部102は、以上算出した接触判定領域の面部のサイズと縁部の高さとに基づいて接触判定領域を決定し、ユーザの手の平(平面領域として検出された部分)に設定する(ステップS227)。かかる設定は、上記ステップS133と同様である。
 そして、表示処理部103は、手の平に位置する仮想オブジェクトの物理演算を、設定された接触判定領域に基づいて行い、仮想オブジェクトの表示を制御する(ステップS230)。かかる設定は、上記ステップS136と同様である。
 <4-2.第2の変形例>
 人の手の指は、意図的に曲げている時以外、例えば自然な状態で力を入れていない時も一定に曲がっていることが想定される。そこで、本変形例では、ユーザが手から仮想オブジェクトを離したいときなども、より自然にインタラクションを行えるようにする。
 具体的には、本変形例では、手のジェスチャコマンドに基づいて、接触判定領域の縁部の発生を制御する。以下、図15を参照して具体的に説明する。
 図15は、本変形例による縁部の高さ発生処理の流れの一例を示すフローチャートである。接触判定領域の平面サイズの決定については、図5を参照して説明した上記実施形態や、図14を参照して説明した上記第1の変形例と同様に行われる。
 図15に示すように、まず、接触判定領域設定部102は、指の角度Tを検出する(ステップS303)。指の角度Tは、図12を参照して説明したように、ボーン推定結果に基づいて行われ得る。指の角度Tは、任意の1又は2以上の指の関節の角度であってもよい。また、指の関節の角度は、例えば第2関節の角度であってもよい。一例として、例えば親指の第1関節の角度と、人差し指の第2関節の角度とを検出してもよい。この場合、指の角度Tは、検出した各角度の合計値としてもよい。
 次に、接触判定領域設定部102は、角度Tが閾値Uを超えるか否かを判断する(ステップS306)。閾値Uは、縁部発生のジェスチャ判定を行うための角度を示すものである。かかる角度は、手の力を抜いて自然な状態にした場合における指の関節の角度であってもよい。
 次いで、角度Tが閾値Uを超える場合(ステップS306/Yes)、接触判定領域設定部102は、縁部発生のジェスチャコマンドである(ユーザが意図的に指を曲げている)と判定し、接触判定領域の縁部の高さを任意の値(λ)に決定する(ステップS309)。すなわち、接触判定領域設定部102は、接触判定領域の縁部を発生させる。任意の値(λ)は、検出した手の指の角度に基づいて、上記式7により算出されてもよい。
 一方、角度Tが閾値Uを超えない場合(ステップS306/No)、接触判定領域設定部102は、縁部発生のジェスチャコマンドではない(ユーザは指を自然な状態にしている)と判定し、接触判定領域の縁部の高さを0に決定する(ステップS312)。すなわち、接触判定領域設定部102は、接触判定領域の縁部を発生させない。
 以上、手の指の角度に基づく、接触判定領域の縁部の発生/非発生の制御について説明した。なお、いずれの場合も接触判定領域の面部は手の平に設定され得る。手の平に対応する簡素化した接触判定領域(面部のみ)を設定することで、例えば指を伸ばして手を広げた状態で仮想オブジェクトを押したり手に乗せたりする際の物理演算が低減され得る。
 <4-3.第3の変形例>
 手に仮想オブジェクトを乗せたり、手の平で仮想オブジェクトを転がしたり、仮想オブジェクトを手に乗せた状態で移動する際は、接触判定領域の縁部があることで操作が容易となるが、手に乗せた仮想オブジェクトを手から放したい場合は、縁部が無い方が操作上望ましい。そこで、本変形例では、一例として手首の角度に基づいて接触判定領域における縁部のON/OFFを制御することで、仮想オブジェクトの操作性をより高めることを可能とする。
 手首の角度について、図16を参照して説明する。通常、手に乗せた仮想オブジェクトを手から床に落とそうとする場合、上に向けて水平にしていた手の平を内側に傾けることが想定される。本実施形態において、手首の角度とは、図16に示すように、手の平の長手方向をx軸とした場合における当該x軸の回転角度(roll角)を想定する。手首の角度は、カメラ120による撮像画像や、手首に設けられたIMU(Inertial Measurement Unit)により検出され得る。例えば手の平が上を向いて水平状態にある場合を0°としてroll角を検出し、検出したroll角が閾値を超えた場合に、接触判定領域設定部102は縁部をOFFにする制御を行うことで、ユーザは、手の平に乗せた仮想オブジェクト52を、手を傾けることで自然に床に落とす等の操作を行うことができる。
 以下、図17を参照して、本変形例の動作処理について具体的に説明する。図17は、第3の変形例による接触判定領域の縁部のON/OFF制御の動作処理の流れの一例を示すフローチャートである。なお、接触判定領域の平面サイズの決定および縁部の高さの決定は、図5を参照して説明した上記実施形態や、図14を参照して説明した上記第1の変形例、または図15を参照して説明した上記第2の変形例と同様に行われ得る。図17に示す縁部のON/OFF制御は、接触判定領域の平面サイズの決定および縁部の高さが決定され、ユーザの手の平に設定された後に、手首の角度に基づいて行われる縁部の高さ調整処理とも言える。
 図17に示すように、まず、情報処理装置10は、手首の回転角度rを検出する(ステップS403)。手首の回転角度rは、図16を参照して説明したように、例えば手の平の長手方向をx軸とした場合の当該x軸のroll角が挙げられる。なお、ここでは一例として「手首の角度」と表現しているが、手の平面領域の傾きや、接触判定領域の面部の傾きとも言える。
 次に、接触判定領域設定部102は、検出した手首の回転角度rに基づいて接触判定領域の縁部の高さを算出する(ステップS406)。接触判定領域の縁部の高さの算出は例えば下記式8により求められる。
(式8)
 接触判定領域の縁部の高さ=|r|×設定値
 上記式8において、設定値とは、予め規定された値である。これにより、情報処理装置10は、手の平に設定した接触判定領域の縁部の高さを、手首の傾きに応じて適宜調整することが可能となる。具多的には、情報処理装置10は、手首の傾きが大きいほど縁部の高さを低くする制御を行う。接触判定領域設定部102は、継続的に検出される手首の角度(角度の変化)に基づいて、縁部の高さを随時変更し得る。
 次いで、接触判定領域設定部102は、手首の回転角度rが閾値を超えたか否かを判断する(ステップS409)。閾値を超えた場合(ステップS409/Yes)、接触判定領域設定部102は、接触判定領域の縁部の高さを0にする(ステップS412)。すなわち、接触判定領域設定部102は、手首の回転角度rが閾値を超えた場合には、接触判定領域の縁部をOFFにする(縁部を発生させない)ことで、手の平に乗せられた仮想オブジェクトを床に落とす等の操作を行えるようにすることができる。
 <<5.補足>>
 以上、本開示の一実施形態および変形例について説明した。
 また、上記実施形態は一例としてAR(Augmented Reality)を想定して述べたが、本開示はこれに限定されず、VR(Virtual Reality)やMR(Mixed Reality)に適用することも可能である。
 また、情報処理装置10は、頭部に装着される透過型または非透過型のHMD(Head Mounted Display)により実現されてもよいし、スマートフォンやタブレット端末等のユーザに把持されるモバイル端末であってもよいし、ユーザの身に装着される各種ウェアラブルデバイスであってもよい。
 また、接触判定領域の面部の形状は、図9に示すような長方形(手の平の長手方向に対する高さh>手の平の短手方向に対応する幅w)に限定されず、正方形や楕円形等であってもよい。
 また、上記実施形態では、接触判定領域の縁部の高さの算出において、手の形状の一例として指の角度を挙げ、指の角度に基づいて接触判定領域の縁部の高さを算出する旨を説明したが、本開示はこれに限定されない。例えば接触判定領域設定部102は、指の位置に基づいて接触判定領域の縁部の高さを算出してもよい。より具体的には、例えば接触判定領域設定部102は、人指し指の第2関節と同人指し指の先頭(指先)の位置との距離に基づいて、縁部の高さを算出する。接触判定領域設定部102は、かかる距離が長い(遠い)程、手が開いてるため縁部を低くするよう制御し、かかる距離が短い(近い)程、手が閉じているため縁部を高くするよう制御してもよい。また、接触判定領域設定部102は、例えば親指の先頭の位置と中指の先頭の位置との間の距離に基づいて、接触判定領域の縁部の高さを算出してもよい。
 また、接触判定領域設定部102は、接触判定領域の面部の大きさを、手の形状に応じて決定してもよい。例えば、接触判定領域設定部102は、親指の先頭の位置と中指の先頭の位置との間の距離に基づいて、接触判定領域の面部の大きさを算出してもよい。また、接触判定領域設定部102は、継続的に検出される指の位置(位置の変化)に基づいて、面部の大きさを随時変更してもよい。
 また、接触判定領域設定部102は、接触判定領域の面部の大きさや縁部の高さを算出する際、複数の指のうち検出可能な指の角度や位置に基づいて算出を行ってもよい。
 また、接触判定領域設定部102は、所定の本数(1本、2本、または3本等)を超える指の角度が閾値を超える場合に縁部を設定し、当該角度(少なくともいずれか1本の指の角度)に基づいて縁部の高さを算出してもよい。所定の本数については、さらに任意の指を指定してもよい。これにより、より自然な指の形に応じて、接触判定領域の縁部を適切に設定することが可能となる。
 <<6.まとめ>>
 上述したように、本開示の実施形態による情報処理装置では、より簡易に仮想オブジェクトとユーザの手の平のインタラクションを自然な表現で実現することが可能となる。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本技術はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 例えば、上述した実施形態、変形例、および補足の内容は、左手および右手のいずれにも適用され、左手および右手のいずれにも接触判定領域を設定し得る。
 また、上述した情報処理装置10に内蔵されるCPU、ROM、およびRAM等のハードウェアに、情報処理装置10の機能を発揮させるための1以上のコンピュータプログラムも作成可能である。また、当該1以上のコンピュータプログラムを記憶させたコンピュータ読み取り可能な記憶媒体も提供される。
 また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
 なお、本技術は以下のような構成も取ることができる。
(1)
 仮想オブジェクトを表示部に表示する制御部を備え、
 前記制御部は、
  実空間を撮像した撮像画像から手の平面領域を検出し、
  前記検出した手の平面領域に対して、前記仮想オブジェクトとの接触を判定する接触判定領域を設定する制御を行い、
 前記接触判定領域は、少なくとも一の面部を含む、情報処理装置。
(2)
 前記接触判定領域は、前記面部の縁に位置する縁部をさらに含む、前記(1)に記載の情報処理装置。
(3)
 前記制御部は、前記手の形状に基づいて、前記縁部の高さを算出する、前記(2)に記載の情報処理装置。
(4)
 前記制御部は、前記手の指の形状の変化に応じて、前記縁部の高さを変更する、前記(2)または(3)に記載の情報処理装置。
(5)
 前記制御部は、前記手の大きさまたは前記仮想オブジェクトの大きさに基づいて算出した前記縁部の高さ初期値と、前記手の指の角度の変化に基づいて、前記縁部の高さを算出する、前記(3)または(4)に記載の情報処理装置。
(6)
 前記制御部は、前記手の指の形状として検出される一または複数の前記手の指の角度に基づいて、前記縁部の高さを算出する、前記(3)または(4)に記載の情報処理装置。
(7)
 前記制御部は、前記手の指の角度が閾値を下回る場合、前記縁部の高さを0にする、前記(3)~(6)のいずれか1項に記載の情報処理装置。
(8)
 前記制御部は、手首の角度の変化に応じて、前記縁部の高さを変更する、前記(2)~(6)のいずれか1項に記載の情報処理装置。
(9)
 前記制御部は、前記手首の角度が閾値を上回る場合、前記縁部の高さを0にする、前記(8)に記載の情報処理装置。
(10)
 前記制御部は、前記手の指の所定の位置間の距離に基づいて、前記縁部の高さを算出する、前記(3)または(4)に記載の情報処理装置。
(11)
 前記面部は、手の平面領域上に設定される、前記(1)~(10)のいずれか1項に記載の情報処理装置。
(12)
 前記制御部は、前記手の大きさおよび前記仮想オブジェクトの大きさの少なくともいずれかに基づいて、前記面部のサイズを決定する、前記(1)~(11)のいずれか1項に記載の情報処理装置。
(13)
 前記制御部は、前記手の大きさおよび前記仮想オブジェクトの大きさのうち大きい方の情報に基づいて、前記面部のサイズを決定する、前記(12)に記載の情報処理装置。
(14)
 前記制御部は、前記手の形状の変化に応じて、前記面部のサイズを変更する、前記(1)~(13)のいずれか1項に記載の情報処理装置。
(15)
 プロセッサが、
 仮想オブジェクトを表示部に表示することと、
 実空間を撮像した撮像画像から手の平面領域を検出し、前記検出した手の平面領域に対して、前記仮想オブジェクトとの接触を判定する接触判定領域を設定する制御を行うことと、を含み、
 前記接触判定領域は、少なくとも一の面部を含む、情報処理方法。
(16)
 コンピュータを、
 仮想オブジェクトを表示部に表示する制御部として機能させ、
 前記制御部は、
  実空間を撮像した撮像画像から手の平面領域を検出し、
  前記検出した手の平面領域に対して、前記仮想オブジェクトとの接触を判定する接触判定領域を設定する制御を行い、
 前記接触判定領域は、少なくとも一の面部を含む、プログラム。
 10 情報処理装置
 100 制御部
  101 認識処理部
  102 接触判定領域設定部
  103 表示処理部
 110 通信部
 120 カメラ
 130 操作入力部
 140 センサ部
 150 表示部
 160 スピーカ
 170 記憶部

Claims (16)

  1.  仮想オブジェクトを表示部に表示する制御部を備え、
     前記制御部は、
      実空間を撮像した撮像画像から手の平面領域を検出し、
      前記検出した手の平面領域に対して、前記仮想オブジェクトとの接触を判定する接触判定領域を設定する制御を行い、
     前記接触判定領域は、少なくとも一の面部を含む、情報処理装置。
  2.  前記接触判定領域は、前記面部の縁に位置する縁部をさらに含む、請求項1に記載の情報処理装置。
  3.  前記制御部は、前記手の形状に基づいて、前記縁部の高さを算出する、請求項2に記載の情報処理装置。
  4.  前記制御部は、前記手の指の形状の変化に応じて、前記縁部の高さを変更する、請求項2に記載の情報処理装置。
  5.  前記制御部は、前記手の大きさまたは前記仮想オブジェクトの大きさに基づいて算出した前記縁部の高さ初期値と、前記手の指の角度の変化に基づいて、前記縁部の高さを算出する、請求項3に記載の情報処理装置。
  6.  前記制御部は、前記手の指の形状として検出される一または複数の前記手の指の角度に基づいて、前記縁部の高さを算出する、請求項3に記載の情報処理装置。
  7.  前記制御部は、前記手の指の角度が閾値を下回る場合、前記縁部の高さを0にする、請求項3に記載の情報処理装置。
  8.  前記制御部は、手首の角度の変化に応じて、前記縁部の高さを変更する、請求項2に記載の情報処理装置。
  9.  前記制御部は、前記手首の角度が閾値を上回る場合、前記縁部の高さを0にする、請求項8に記載の情報処理装置。
  10.  前記制御部は、前記手の指の所定の位置間の距離に基づいて、前記縁部の高さを算出する、請求項3に記載の情報処理装置。
  11.  前記面部は、手の平面領域上に設定される、請求項1に記載の情報処理装置。
  12.  前記制御部は、前記手の大きさおよび前記仮想オブジェクトの大きさの少なくともいずれかに基づいて、前記面部のサイズを決定する、請求項1に記載の情報処理装置。
  13.  前記制御部は、前記手の大きさおよび前記仮想オブジェクトの大きさのうち大きい方の情報に基づいて、前記面部のサイズを決定する、請求項12に記載の情報処理装置。
  14.  前記制御部は、前記手の形状の変化に応じて、前記面部のサイズを変更する、請求項1に記載の情報処理装置。
  15.  プロセッサが、
     仮想オブジェクトを表示部に表示することと、
     実空間を撮像した撮像画像から手の平面領域を検出し、前記検出した手の平面領域に対して、前記仮想オブジェクトとの接触を判定する接触判定領域を設定する制御を行うことと、を含み、
     前記接触判定領域は、少なくとも一の面部を含む、情報処理方法。
  16.  コンピュータを、
     仮想オブジェクトを表示部に表示する制御部として機能させ、
     前記制御部は、
      実空間を撮像した撮像画像から手の平面領域を検出し、
      前記検出した手の平面領域に対して、前記仮想オブジェクトとの接触を判定する接触判定領域を設定する制御を行い、
     前記接触判定領域は、少なくとも一の面部を含む、プログラム。
PCT/JP2021/026142 2020-08-31 2021-07-12 情報処理装置、情報処理方法、およびプログラム WO2022044581A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE112021004574.1T DE112021004574T5 (de) 2020-08-31 2021-07-12 Datenverarbeitungsvorrichtung, datenverarbeitungsverfahren und programm
US18/022,407 US20230343052A1 (en) 2020-08-31 2021-07-12 Information processing apparatus, information processing method, and program
CN202180047932.XA CN115803786A (zh) 2020-08-31 2021-07-12 信息处理装置、信息处理方法和程序
JP2022545517A JPWO2022044581A1 (ja) 2020-08-31 2021-07-12

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020145586 2020-08-31
JP2020-145586 2020-08-31

Publications (1)

Publication Number Publication Date
WO2022044581A1 true WO2022044581A1 (ja) 2022-03-03

Family

ID=80353145

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/026142 WO2022044581A1 (ja) 2020-08-31 2021-07-12 情報処理装置、情報処理方法、およびプログラム

Country Status (5)

Country Link
US (1) US20230343052A1 (ja)
JP (1) JPWO2022044581A1 (ja)
CN (1) CN115803786A (ja)
DE (1) DE112021004574T5 (ja)
WO (1) WO2022044581A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018034319A1 (ja) * 2016-08-19 2018-02-22 株式会社コロプラ 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム
US20200218349A1 (en) * 2019-01-03 2020-07-09 J-Mex Inc. Operating method for wearable device interacting with operated device in virtual reality and operating device thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018034319A1 (ja) * 2016-08-19 2018-02-22 株式会社コロプラ 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム
US20200218349A1 (en) * 2019-01-03 2020-07-09 J-Mex Inc. Operating method for wearable device interacting with operated device in virtual reality and operating device thereof

Also Published As

Publication number Publication date
US20230343052A1 (en) 2023-10-26
DE112021004574T5 (de) 2023-07-20
JPWO2022044581A1 (ja) 2022-03-03
CN115803786A (zh) 2023-03-14

Similar Documents

Publication Publication Date Title
US11714592B2 (en) Gaze-based user interactions
CN110647237B (zh) 在人工现实环境中基于手势的内容共享
JP6057396B2 (ja) 3次元ユーザインタフェース装置及び3次元操作処理方法
EP3311249B1 (en) Three-dimensional user input
US12008153B2 (en) Interactive augmented reality experiences using positional tracking
WO2014016987A1 (ja) 3次元ユーザインタフェース装置及び3次元操作方法
EP3117290B1 (en) Interactive information display
US20100128112A1 (en) Immersive display system for interacting with three-dimensional content
US20180224945A1 (en) Updating a Virtual Environment
KR20220120649A (ko) 인공 현실 콘텐츠의 가변 초점 디스플레이를 갖는 인공 현실 시스템
KR20140070326A (ko) 3차원 인터페이스를 제공하는 모바일 장치 및 그것의 제스처 제어 방법
CN113544765B (zh) 信息处理装置、信息处理方法和程序
WO2019142560A1 (ja) 視線を誘導する情報処理装置
WO2021073743A1 (en) Determining user input based on hand gestures and eye tracking
KR20160096392A (ko) 직관적인 상호작용 장치 및 방법
US11501552B2 (en) Control apparatus, information processing system, control method, and program
WO2020199821A1 (zh) 用于模拟盲人感受的物体显示方法、装置及存储介质
JP2021060627A (ja) 情報処理装置、情報処理方法、およびプログラム
US20220291744A1 (en) Display processing device, display processing method, and recording medium
WO2014054317A1 (ja) ユーザインタフェース装置及びユーザインタフェース方法
WO2022044581A1 (ja) 情報処理装置、情報処理方法、およびプログラム
US20230334808A1 (en) Methods for displaying, selecting and moving objects and containers in an environment
CN114115544B (zh) 人机交互方法、三维显示设备及存储介质
US20230367403A1 (en) Terminal device, virtual object manipulation method, and virtual object manipulation program
CN117043722A (zh) 用于地图的设备、方法和图形用户界面

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: 21861011

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022545517

Country of ref document: JP

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 21861011

Country of ref document: EP

Kind code of ref document: A1