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

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

Info

Publication number
WO2022064881A1
WO2022064881A1 PCT/JP2021/029392 JP2021029392W WO2022064881A1 WO 2022064881 A1 WO2022064881 A1 WO 2022064881A1 JP 2021029392 W JP2021029392 W JP 2021029392W WO 2022064881 A1 WO2022064881 A1 WO 2022064881A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
information processing
user
information
finger
Prior art date
Application number
PCT/JP2021/029392
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 JP2022551185A priority Critical patent/JPWO2022064881A1/ja
Priority to EP21872013.4A priority patent/EP4220355A4/en
Priority to US18/019,975 priority patent/US20230290092A1/en
Publication of WO2022064881A1 publication Critical patent/WO2022064881A1/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
    • 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
    • G06F3/014Hand-worn input/output arrangements, e.g. data gloves
    • 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/0304Detection arrangements using opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/107Static hand or arm
    • G06V40/113Recognition of static hand signs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language
    • 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.
  • the information includes a presentation control unit that controls the presentation unit so that the notification information prompting the change of the posture of at least one of the first portion and the second portion is presented to the user.
  • Processing equipment is provided.
  • the second portion recognized based on the captured image including the first portion of the user's body in the imaging range is shielded by the first portion.
  • the processor controls the presenting unit so that the notification information prompting the user to change the posture of at least one of the first portion and the second portion is presented.
  • Information processing methods are provided.
  • the second portion recognized by the computer based on the captured image including the first portion of the user's body in the imaging range is shielded by the first portion.
  • a program provided with a control unit and functioning as an information processing device is provided.
  • a plurality of components having substantially the same or similar functional configurations may be distinguished by adding different numbers after the same reference numerals. However, if it is not necessary to particularly distinguish each of the plurality of components having substantially the same or similar functional configurations, only the same reference numerals are given. Further, similar components of different embodiments may be distinguished by adding different alphabets after the same reference numerals. However, if it is not necessary to distinguish each of the similar components, only the same reference numerals are given.
  • FIG. 1 is an explanatory diagram for explaining an example of a schematic configuration of an information processing system according to an embodiment of the present disclosure, and various contents are provided to a user by applying so-called AR (Augmented Reality) technology. An example of the case of presenting is shown.
  • AR Augmented Reality
  • reference numeral m111 schematically indicates an object (for example, a real object) located in real space.
  • reference numerals v131 and v133 schematically indicate virtual contents (for example, virtual objects) presented so as to be superimposed on the real space. That is, the information processing system 1 according to the present embodiment superimposes a virtual object on an object in the real space such as the real object m111 and presents it to the user based on, for example, AR technology.
  • both a real object and a virtual object are presented together in order to make it easier to understand the characteristics of the information processing system according to the present embodiment.
  • the information processing system 1 includes an information processing device 10 and an input / output device 20.
  • the information processing device 10 and the input / output device 20 are configured to be able to send and receive information to and from each other via a predetermined network.
  • the type of network connecting the information processing device 10 and the input / output device 20 is not particularly limited.
  • the network may be configured by a so-called wireless network such as a network based on the Wi-Fi® standard.
  • the network may be configured by the Internet, a dedicated line, a LAN (Local Area Network), a WAN (Wide Area Network), or the like.
  • the network may include a plurality of networks, and at least a part thereof may be configured as a wired network.
  • the input / output device 20 is configured to acquire various input information and present various output information to the user holding the input / output device 20. Further, the presentation of the output information by the input / output device 20 is controlled by the information processing device 10 based on the input information acquired by the input / output device 20. For example, the input / output device 20 acquires information for recognizing the real object m111 (for example, an image of the captured real space) as input information, and outputs the acquired information to the information processing device 10. The information processing device 10 recognizes the position of the real object m111 in the real space based on the information acquired from the input / output device 20, and causes the input / output device 20 to present the virtual objects v131 and v133 based on the recognition result. By such control, the input / output device 20 can present the virtual objects v131 and v133 to the user so that the virtual objects v131 and v133 are superimposed on the real object m111 based on the so-called AR technology. Become.
  • the input / output device 20 is configured as a so-called head-mounted device that the user wears on at least a part of the head and uses, for example, and may be configured to be able to detect the line of sight of the user. ..
  • the information processing apparatus 10 is, for example, a target desired by the user (for example, a real object m111, virtual objects v131 and v133, etc.) based on the detection result of the user's line of sight by the input / output apparatus 20.
  • the target may be specified as an operation target.
  • the information processing device 10 may specify a target to which the user's line of sight is directed as an operation target by using a predetermined operation on the input / output device 20 as a trigger. As described above, the information processing device 10 may provide various services to the user via the input / output device 20 by specifying the operation target and executing the process associated with the operation target.
  • the information processing device 10 Based on the input information acquired by the input / output device 20, the information processing device 10 uses the movement of the position and posture of the user's arm, palm, and finger joint (for example, change in position or orientation, gesture, etc.) as the user's operation input. It recognizes and executes various processes according to the recognition result of the operation input. As a specific example, the input / output device 20 acquires information for recognizing a user's arm, palm, and finger joint (for example, an image of an captured hand) as input information, and the acquired information is an information processing device. Output to 10.
  • the input / output device 20 acquires information for recognizing a user's arm, palm, and finger joint (for example, an image of an captured hand) as input information, and the acquired information is an information processing device. Output to 10.
  • the information processing device 10 estimates the position and posture of the arm, palm, and finger joint based on the information acquired from the input / output device 20, recognizes the movement (for example, gesture), and responds to the recognition result of the movement. Recognize instructions from the user (that is, user operation input). Then, the information processing apparatus 10 may control the display of the virtual object presented to the user (for example, the display position or posture of the virtual object) according to the recognition result of the operation input of the user.
  • the "user operation input” may be regarded as an input corresponding to an instruction from the user, that is, an input reflecting the intention of the user, as described above.
  • “user operation input” may be simply referred to as "user input”.
  • the information processing device 10 performs movements (for example, changes in position and orientation, gestures, etc.) of at least a part of the user's body other than the hands of the user based on the input information acquired by the input / output device 20. It may be recognized as an operation input and various processes may be executed according to the recognition result of the operation input.
  • FIG. 2 shows an example of a case where various contents are presented in response to a user's hand movement, that is, a user's operation input by applying a so-called AR (Augmented Reality) technology.
  • AR Augmented Reality
  • the information processing system 1 includes an information processing device 10, an input / output device 20, and a wearable device 30.
  • the information processing device 10, the input / output device 20, and the wearable device 30 are configured to be capable of transmitting and receiving information to and from each other via a predetermined network.
  • the type of network connecting the information processing device 10, the input / output device 20, and the wearable device 30 is not particularly limited.
  • the input / output device 20 acquires information for detecting the position and posture of the palm-mounted wearable device 30 as input information (for example, with relatively low accuracy), and the acquired input information is used in the information processing device 10. Output.
  • the acceleration information and the angular velocity information output by the IMU (Inertial Measurement Unit) of the wearable device 30 are used as the input information.
  • the input information is not limited to the information output by the IMU.
  • the input information may be information output by the magnetic sensor, as will be described later.
  • the wearable device 30 includes an optical marker arranged in a predetermined pattern (for example, an active marker of LED (Light Emitting Diode) emission, a passive marker of a retroreflective material, etc.). Since the wearable device 30 shown in FIG. 2 is simply shown, an optical marker is not shown, but the optical marker will be described in detail later with reference to FIG.
  • the input / output device 20 acquires an image of the optical marker.
  • the information processing device 10 acquires the position and orientation of the wearable device 30 (for example, with relatively high accuracy) based on the input information of the captured image of the optical marker acquired by the input / output device 20.
  • the position and posture of the wearable device 30 can be obtained (for example, with relatively low accuracy).
  • the input / output device 20 and the information processing device 10 are shown as different devices in FIGS. 1 and 2, the input / output device 20 and the information processing device 10 may be integrally configured. .. The details of the configuration and processing of the input / output device 20 and the information processing device 10 will be described later separately.
  • FIGS. 1 and 2 an example of a schematic configuration of the information processing system 1 according to the embodiment of the present disclosure has been described above.
  • FIG. 3 is an explanatory diagram for explaining an example of a schematic configuration of the input / output device 20 according to the present embodiment.
  • the input / output device 20 is configured as a so-called head-mounted device that is worn and used by the user on at least a part of the head, and is at least one of the lenses 293a and 293b. It is configured as a transmissive display (display unit 211). Further, the input / output device 20 includes image pickup units 201a and 201b, an operation unit 207, and a holding unit 291 corresponding to a frame of eyeglasses. Further, the input / output device 20 may include image pickup units 203a and 203b. In the following, various explanations will be given assuming that the input / output device 20 includes the image pickup units 203a and 203b.
  • the holding unit 291 may attach the display unit 211, the imaging units 201a and 201b, the imaging units 203a and 203b, and the operation unit 207 to the user's head. Hold it so that it has a predetermined positional relationship with the unit.
  • the input / output device 20 may include a sound collecting unit for collecting the user's voice.
  • the lens 293a corresponds to the lens on the right eye side
  • the lens 293b corresponds to the lens on the left eye side. That is, the holding unit 291 holds the display unit 211 so that the display unit 211 (in other words, the lenses 293a and 293b) is located in front of the user's eyes when the input / output device 20 is attached.
  • the image pickup units 201a and 201b are configured as so-called stereo cameras, and when the input / output device 20 is attached to the user's head, the image pickup unit 201a and 201b face the direction in which the user's head faces (that is, in front of the user). As such, they are each held by the holding unit 291. At this time, the imaging unit 201a is held in the vicinity of the user's right eye, and the imaging unit 201b is held in the vicinity of the user's left eye. Based on such a configuration, the imaging units 201a and 201b image a subject (in other words, a real object located in the real space) located in front of the input / output device 20 from different positions.
  • the input / output device 20 acquires an image of the subject located in front of the user, and based on the parallax between the images captured by the imaging units 201a and 201b, the input / output device 20 (and by extension, the user's) It is possible to calculate the distance to the subject from the position of the viewpoint).
  • the configuration and method thereof are not particularly limited.
  • the distance between the input / output device 20 and the subject may be measured based on a method such as multi-camera stereo, moving parallax, TOF (Time Of Light), Structured Light, or the like.
  • TOF is a subject based on the measurement result by projecting light such as infrared rays onto the subject and measuring the time until the projected light is reflected by the subject and returned for each pixel.
  • This is a method of obtaining an image (so-called distance image) including the distance (depth) up to.
  • Structured Light irradiates a subject with a pattern by light such as infrared rays, and by imaging the pattern, the distance including the distance (depth) to the subject is based on the change of the pattern obtained from the imaging result. This is a method for obtaining an image.
  • the moving parallax is a method of measuring the distance to the subject based on the parallax even in a so-called monocular camera. Specifically, by moving the camera, the subject is imaged from different viewpoints, and the distance to the subject is measured based on the parallax between the captured images.
  • the imaging unit for example, a monocular camera, a stereo camera, etc.
  • the configuration of the imaging unit may be changed according to the distance measurement method.
  • the imaging units 203a and 203b are held by the holding unit 291 so that the user's eyeball is positioned within the respective imaging range when the input / output device 20 is attached to the user's head.
  • the imaging unit 203a is held so that the user's right eye is located within the imaging range. Based on such a configuration, the line of sight of the right eye is directed based on the image of the eyeball of the right eye captured by the imaging unit 203a and the positional relationship between the imaging unit 203a and the right eye. It becomes possible to recognize the direction.
  • the imaging unit 203b is held so that the left eye of the user is located within the imaging range.
  • the input / output device 20 shows a configuration including both the image pickup units 203a and 203b, but only one of the image pickup units 203a and 203b may be provided.
  • the IR (Infrared) light source 201c and the IR image pickup unit 201d for hand position detection are for obtaining the position and posture of the wearable device 30 (as viewed from the input / output device 20).
  • the infrared light (for example, 940 nm) emitted from the IR light source 201c is reflected by the optical marker (FIG. 4) of the retroreflective material of the wearable device 30 and is imaged (or IR) by the IR image pickup unit 201d.
  • the optical marker 320 (FIG. 4) is an IR LED (for example, with a wavelength of 940 nm), which may be configured to emit light by itself).
  • the IR imaging unit 201d includes a bandpass filter that allows only infrared light (as an example, centered on the 940 nm band) to pass through, and only the bright spot of the optical marker 320 (FIG. 4) is imaged. From the image of the bright spot, it is possible to obtain the relative position and orientation of the wearable device 30 from the input / output device 20 (as an example, with relatively high accuracy).
  • the operation unit 207 is configured to receive an operation from the user on the input / output device 20.
  • the operation unit 207 may be configured by an input device such as a touch panel or a button.
  • the operation unit 207 is held at a predetermined position of the input / output device 20 by the holding unit 291. For example, in the example shown in FIG. 3, the operation unit 207 is held at a position corresponding to the temple of the glasses.
  • the input / output device 20 is provided with an inertial measurement unit 220 (FIG. 5) (IMU) including an acceleration sensor, a gyro sensor (angular velocity sensor), and the like (not shown).
  • IMU inertial measurement unit
  • the input / output device 20 can acquire the acceleration information and the angular velocity information output by the IMU. Then, based on the acceleration information and the angular velocity information, the movement of the head of the user wearing the input / output device 20 (in other words, the movement of the input / output device 20 itself) can be detected.
  • the information processing device 10 acquires acceleration information and angular velocity information output by the IMU of the input / output device 20, calculates the position and attitude of the input / output device 20 by inertial navigation, and causes a drift at that time. By correcting the error with the regression model, it is possible to estimate the position information and the posture information of the input / output device 20 and acquire the position and the posture of the head of the user.
  • the input / output device 20 can recognize changes in its own position and posture in the real space according to the movement of the user's head. Further, at this time, based on the so-called AR technology, the input / output device 20 displays the content on the display unit 211 so that the virtual content (that is, the virtual object) is superimposed on the real object located in the real space. It is also possible to present it. Further, at this time, the input / output device 20 may estimate its own position and posture (that is, its own position) in the real space based on, for example, a technique called SLAM (Simultaneus Localization And Mapping). The estimation result may be used for presenting a virtual object.
  • SLAM Simultaneus Localization And Mapping
  • SLAM is a technology that performs self-position estimation and environment map creation in parallel by using an image pickup unit such as a camera, various sensors, an encoder, and the like.
  • an image pickup unit such as a camera, various sensors, an encoder, and the like.
  • the three-dimensional shape of the captured scene (or subject) is sequentially restored based on the moving image captured by the imaging unit. Then, by associating the restored result of the captured scene with the detection result of the position and posture of the imaging unit, a map of the surrounding environment can be created, and the position and position of the imaging unit (and thus the input / output device 20) in the environment and Posture estimation is performed.
  • the position and orientation of the image pickup unit can be estimated as information indicating a relative change based on the detection result of the sensor by, for example, providing various sensors such as an acceleration sensor and an angular velocity sensor in the input / output device 20. Is possible.
  • the method is not necessarily limited to the method based on the detection results of various sensors such as an acceleration sensor and an angular velocity sensor.
  • HMD Head Mounted Display
  • the see-through type HMD uses, for example, a half mirror or a transparent light guide plate to hold a virtual image optical system including a transparent light guide portion in front of the user's eyes and display an image inside the virtual image optical system. Therefore, the user wearing the see-through type HMD can see the outside scenery while visually recognizing the image displayed inside the virtual image optical system.
  • the see-through HMD is, for example, based on AR technology, with respect to an optical image of a real object located in the real space according to the recognition result of at least one of the position and the posture of the see-through HMD. It is also possible to superimpose an image of a virtual object.
  • the see-through type HMD there is a so-called glasses-type wearable device in which a portion corresponding to a lens of glasses is configured as a virtual image optical system.
  • the input / output device 20 shown in FIG. 3 corresponds to an example of a see-through type HMD.
  • the video see-through type HMD When the video see-through type HMD is attached to the user's head or face, it is attached so as to cover the user's eyes, and a display unit such as a display is held in front of the user's eyes. Further, the video see-through type HMD has an image pickup unit for capturing an image of the surrounding landscape, and displays an image of the landscape in front of the user captured by the image pickup unit on the display unit. With such a configuration, it is difficult for the user wearing the video see-through type HMD to directly see the external scenery, but it is possible to confirm the external scenery from the image displayed on the display unit. Become.
  • the video see-through type HMD superimposes a virtual object on the image of the external landscape according to the recognition result of at least one of the position and the posture of the video see-through type HMD based on, for example, AR technology. You may let me.
  • a projection unit is held in front of the user's eyes, and the image is projected from the projection unit toward the user's eyes so that the image is superimposed on the external landscape. More specifically, in the retinal projection type HMD, an image is directly projected from the projection unit onto the retina of the user's eye, and the image is imaged on the retina. With such a configuration, even in the case of a user with myopia or hyperopia, a clearer image can be visually recognized. In addition, the user wearing the retinal projection type HMD can see the external landscape in the field of view while visually recognizing the image projected from the projection unit.
  • the retinal projection type HMD is an optical image of a real object located in the real space according to the recognition result of at least one of the position and the posture of the retinal projection type HMD based on, for example, AR technology. It is also possible to superimpose an image of a virtual object on the image.
  • the input / output device 20 according to the present embodiment may be configured as an HMD called an immersive HMD.
  • the immersive HMD is worn so as to cover the user's eyes, and a display unit such as a display is held in front of the user's eyes. Therefore, it is difficult for the user wearing the immersive HMD to directly see the external scenery (that is, the scenery in the real world), and only the image displayed on the display unit is in the field of view. With such a configuration, the immersive HMD can give an immersive feeling to the user who is viewing the image.
  • FIG. 4 is an explanatory diagram for explaining an example of a schematic configuration of the wearable device 30 according to the present embodiment.
  • the wearable device 30 is configured as a so-called wearable device that the user wears on the palm of his / her hand.
  • the wearable device 30 is configured as a so-called palm vest type device.
  • the wearable device 30 includes an imaging unit (palm side) 301 and an imaging unit (back side) 302, and the imaging unit (palm side) 301 holds the fingers (fingers) of the hand on which the wearable device 30 is attached.
  • the imaging unit (back side) 302 is arranged on the back side of the hand so that the image can be taken from the palm side, and the image pickup unit (back side) 302 is arranged on the back side of the hand so that the finger (finger) of the hand to which the wearable device 30 is attached can be imaged from the back side of the hand. ..
  • the image pickup unit (palm side) 301 and the image pickup unit (back side) 302 are each configured as a TOF sensor, and the depth (distance to the finger) can be obtained from the depth image obtained by the TOF sensor. ..
  • the types of sensors of the imaging unit (palm side) 301 and the imaging unit (back side) 302 are not limited to the TOF sensor, and may be other sensors capable of obtaining depth.
  • one or both of the image pickup unit (palm side) 301 and the image pickup unit (back side) 302 may be a 2D sensor such as an IR sensor.
  • the wearable device 30 includes a plurality of optical markers 320 whose surface is a retroreflective material, an inertial measurement unit 303 (FIG. 5), and a vibration presenting unit 311.
  • the finger F1 is shown.
  • the relative position and posture of the fingers F1 are shown as the position / posture R1.
  • the relative position (as viewed from the image pickup unit 201) can be represented by the coordinates in the camera coordinate system with respect to the image pickup unit 201.
  • the image pickup unit 201 used as a reference is not particularly limited (for example, the image pickup unit 201a may be a reference).
  • the relative position and posture of the wearable device 30 are shown as the position / posture R2.
  • the relative position and posture (as viewed from the wearable device 30) of the imaging unit (palm side) 301 are shown as the position / posture R3.
  • the relative position and posture of the finger F1 (as viewed from the imaging unit (palm side) 301) are shown as the position posture R4.
  • the relative position and posture (as viewed from the wearable device 30) of the imaging unit (back side of the hand) 302 are shown as the position / posture R5.
  • the relative position and posture of the finger F1 are shown as the position posture R6.
  • FIG. 4 shows the finger F1 corresponding to the middle finger as an example of the finger.
  • fingers other than the middle finger that is, the thumb, index finger, ring finger and little finger
  • fingers other than the middle finger can be treated as fingers as well as the finger F1 corresponding to the middle finger.
  • the optical marker 320 reflects the irradiation light of the IR light source 201c of the input / output device 20.
  • the reflected light is imaged by the IR image pickup unit 201d, and the relative position and posture (as viewed from the image pickup unit 201) of the wearable device 30 is obtained (for example, with relatively high accuracy) from the bright spot of the obtained image.
  • the optical marker 320 is not limited to a passive marker using a retroreflective material, but may be an active marker using an IR LED. When the optical marker 320 is an active marker, the IR light source 201c of the input / output device 20 is unnecessary.
  • the inertial measurement unit 303 (FIG. 5) is configured by, for example, an IMU, and can acquire acceleration information and angular velocity information output by the IMU, similarly to the IMU included in the input / output unit 20. Based on the acceleration information and the angular velocity information, the movement of the hand of the user wearing the wearable device 30 (in other words, the movement of the wearable device 30 itself) can be detected.
  • the information processing device 10 acquires acceleration information and angular velocity information output by the IMU sensor of the wearable device 30, calculates the position and attitude of the wearable device 30 by inertial navigation, and causes a drift error at that time. Is corrected by the regression model, it is possible to estimate the position information and the posture information of the wearable device 30 and acquire the position and the posture of the user's hand.
  • the vibration presenting unit 311 presents a tactile sensation to the user's hand by driving a vibration actuator that generates vibration.
  • a vibration actuator specifically, a translational actuator such as a voice coil motor or an LRA (Linear Resonant Actuator) or a rotary actuator such as an eccentric motor is used. It can be driven in the frequency range, and high vibration expressive power can be obtained.
  • the oscillating actuator is driven by applying a time-varying analog waveform voltage close to the audio signal. It is conceivable to install the vibration actuators at a plurality of locations according to the vibration intensity to be presented and the presentation site.
  • the vibration actuator directly on the part where vibration is to be presented (palm, etc.)
  • the vibration propagation characteristics and the tactile sensitivity of the hand differ for each frequency. Based on this, it is possible to make the palm shape present a tactile sensation.
  • FIG. 5 is a block diagram showing an example of the functional configuration of the information processing system 1 according to the present embodiment.
  • the information processing system 1 includes the information processing device 10, the input / output device 20, and the wearable device 30, and the information processing device 10, the input / output device 20, and the wearable device 30 are included.
  • the configuration of each of the devices 30 will be described in more detail.
  • the information processing system 1 may include a storage unit 190.
  • the input / output unit 20 includes image pickup units 201a, 201b and 201d, an output unit 210 (presentation unit), and an inertial measurement unit 220 (IMU).
  • the output unit 210 includes a display unit 211. Further, the output unit 210 may include an acoustic output unit 213.
  • the image pickup units 201a, 201b and 201d correspond to the image pickup units 201a, 201b and 201d described with reference to FIG. When the imaging units 201a, 201b and 201d are not particularly distinguished, they may be simply referred to as "imaging unit 201".
  • the display unit 211 corresponds to the display unit 211 described with reference to FIG. 2.
  • the acoustic output unit 213 is composed of an acoustic device such as a speaker, and outputs voice or sound according to the information to be output.
  • the input / output device 20 also includes an operation unit 207, image pickup units 203a and 203b, a holding unit 291 and the like.
  • the wearable device 30 includes an imaging unit (palm side) 301, an imaging unit (back side) 302, an inertial measurement unit 303 (IMU), and an output unit 310.
  • the output unit 310 includes a vibration presentation unit 311.
  • the vibration presenting unit 311 is composed of a vibration actuator and presents vibration according to information to be output.
  • the wearable device 30 also includes an optical marker 320 and the like.
  • the information processing apparatus 10 includes a stereo depth calculation unit 101, a finger joint recognition unit 103, a finger joint recognition unit 115, a finger joint recognition unit 117, and a finger joint recognition integration unit 119. .. Further, the information processing apparatus 10 includes a wearable device position / attitude estimation unit 109, an inertial integral calculation unit 111, an inertial integral calculation unit 121, and a wearable device position / attitude integration unit 113. Further, the information processing apparatus 10 includes a processing execution unit 105 and an output control unit 107 (presentation control unit).
  • the stereo depth calculation unit 101 acquires images (imaging results) output from the imaging units 201a and 201b, respectively, and generates depth images of the angles of view of the imaging units 201a and 201b based on the acquired images. Then, the stereo depth calculation unit 101 outputs the depth images of the angles of view of the imaging units 201a and 201b to the finger joint recognition unit 103.
  • the finger joint recognition unit 103 acquires a depth image generated by the stereo depth calculation unit 101 from the stereo depth calculation unit 101, and recognizes the positions of each of the plurality of finger joints based on the acquired depth image. Details of recognition of the position of each finger joint will be described later. Then, the finger joint recognition unit 103 outputs the relative position (viewed from the imaging unit 201) of each recognized finger joint position to the finger joint recognition integration unit 119 as a position posture, and also outputs the recognition result of each finger joint position. The reliability (described later) is output to the finger joint recognition integration unit 119. Further, when there is a finger joint that fails to recognize (or estimates) the position from the depth image, the finger joint recognition unit 103 outputs a result indicating that it cannot be estimated as a finger joint (recognition result) that fails to recognize. ..
  • the finger joint recognition unit 115 acquires an image (imaging result) output from the image pickup unit (palm side) 301, and recognizes each finger joint position based on the acquired image. Then, the finger joint recognition unit 115 outputs the relative position (viewed from the imaging unit (palm side) 301) of each recognized finger joint as the position / posture R4 (FIG. 4) to the finger joint recognition integration unit 119. The reliability (described later) of the recognition result of each finger joint position is output to the finger joint recognition integration unit 119.
  • the finger joint recognition unit 117 acquires an image (imaging result) output from the image pickup unit (back side of the hand) 302, and recognizes each finger joint position based on the acquired image. Then, the finger joint recognition unit 117 outputs the relative position (viewed from the imaging unit (back side) 302 of the image pickup unit (back side) 302) of each recognized finger joint as the position posture R6 (FIG. 4) to the finger joint recognition integration unit 119. The reliability (described later) of the recognition result of each finger joint position is output to the finger joint recognition integration unit 119.
  • each finger joint (as viewed from the wearable device 30) is represented by the coordinates in the coordinate system with respect to the wearable device 30.
  • the coordinate system based on the wearable device 30 is not particularly limited (for example, the coordinate system based on the wearable device 30 may be the camera coordinate system of the image pickup unit 301).
  • each of the finger joint recognition unit 115 and the finger joint recognition unit 117 cannot be estimated as a finger joint (recognition result) that fails to recognize.
  • the result showing is output.
  • the wearable device position / orientation estimation unit 109 acquires an image (imaging result) output from the IR imaging unit 201d. In such an image, a plurality of bright spots which are reflected light of the optical marker 320 included in the wearable device 30 are shown. Therefore, the wearable device position / posture estimation unit 109 can estimate the relative position and posture (viewed from the image pickup unit 201) of the wearable device 30 as the position / posture based on the positional relationship of the plurality of bright spots.
  • the wearable device position / orientation estimation unit 109 outputs the recognized relative position / orientation (hereinafter, also referred to as “position / attitude P1”) of the wearable device 30 (as viewed from the image pickup unit 201) to the wearable device position / attitude integration unit 113. ..
  • the relative position / orientation P1 (viewed from the image pickup unit 201) of the wearable device 30 recognized by the wearable device position / orientation estimation unit 109 is represented by the camera coordinate system with respect to the image pickup unit 201.
  • the reference imaging unit 201 is not particularly limited.
  • optical markers 320 of the wearable device 30 are included in the angle of view of the IR imaging unit 201d (that is, when the optical markers 320 are not included in the angle of view of the IR imaging unit 201d at all or the optical markers 320. It may only be partially included). Alternatively, even if all of the optical markers 320 of the wearable device 30 are included in the angle of view of the IR image pickup unit 201d, if all the reflected light of the optical marker 320 is imaged by the IR image pickup unit 201d due to occlusion or the like.
  • the IR image pickup unit 201d may not capture the reflected light of the optical marker 320 at all or may capture only a part of the optical marker 320.
  • the wearable device position / orientation estimation unit 109 outputs a result indicating that estimation is impossible.
  • the inertial integral calculation unit 111 acquires acceleration information and angular velocity information from the inertial measurement unit 303 (IMU) of the wearable device 30, and based on the acquired acceleration information and angular velocity information, the position and attitude of the wearable device 30 (hereinafter, “position”). (Also shown as posture P2) is estimated (as an example, with relatively low accuracy).
  • the position / orientation P2 is represented by a global coordinate system.
  • the inertial integral calculation unit 111 estimates the position information and attitude information of the wearable device 30 by calculating the position and attitude of the wearable device 30 by inertial navigation and correcting the drift error generated at that time by the regression model. It is possible.
  • the inertial integral calculation unit 111 outputs the position / orientation P2 of the wearable device 30 represented by the global coordinate system to the wearable device position / attitude integration unit 113.
  • the inertial integration calculation unit 121 acquires acceleration information and angular velocity information from the inertial measurement unit 220 (IMU) of the input / output device 20, and the position and attitude of the input / output device 20 based on the acquired acceleration information and angular velocity information. (Hereinafter, also referred to as “position / posture P3”) is estimated.
  • the position / orientation P3 is represented by a global coordinate system.
  • the inertial integration calculation unit 121 calculates the position and attitude of the input / output device 20 by inertial navigation, and corrects the drift error generated at that time by the regression model to obtain the position information and attitude information of the input / output device 20. It is possible to estimate.
  • the inertial integral calculation unit 121 outputs the position / orientation P3 of the input / output device 20 represented by the global coordinate system to the wearable device position / attitude integration unit 113.
  • the wearable device position / posture integration unit 113 acquires the relative position / posture P1 (viewed from the image pickup unit 201) of the wearable device 30 output by the wearable device position / posture estimation unit 109.
  • the position / posture P1 is represented by a camera coordinate system with reference to the image pickup unit 201 (for example, the image pickup unit 201a).
  • the wearable device position / orientation integration unit 113 includes the position / orientation P2 of the inertial measurement unit 303 of the wearable device 30 output by the inertial integral calculation unit 111 and the inertial measurement unit 220 of the input / output device 20 output by the inertial integral calculation unit 121.
  • the position / posture P2 and P3 are represented by the global coordinate system, respectively.
  • the wearable device position-orientation integration unit 113 calculates the relative position-orientation of the position-orientation P2 of the wearable device 30 as seen from the position-orientation P3 of the input / output device 20, and is an IMU obtained in advance by IMU-camera calibration or the like.
  • the position / orientation of the wearable device 30 represented by the coordinate system with respect to the image pickup unit 201 (for example, the camera coordinate system of the image pickup unit 201a) using the positional relationship between the image and the camera (hereinafter, also referred to as “position / orientation P4”). .) Is calculated.
  • the wearable device position-posture integration unit 113 integrates the position-posture P1 and the position-posture P4, and outputs the integrated position-posture R2 (FIG. 4) to the finger joint recognition integration unit 119.
  • the position / orientation R2 after integration is represented by a coordinate system with reference to the image pickup unit 201 (for example, the camera coordinate system of the image pickup unit 201a).
  • the position and posture may be integrated in any way. For example, if the position / posture P1 estimated by the wearable device position / posture estimation unit 109 is available (unless it indicates that it cannot be estimated), the wearable device position / posture integration unit 113 recognizes the position / posture P1. Output to the integration unit 119. On the other hand, the wearable device position / posture integration unit 113 outputs the position / posture P4 to the finger joint recognition integration unit 119 when the wearable device position / posture estimation unit 109 outputs unestimable.
  • the wearable device position / attitude integration unit 113 determines the position / orientation of the wearable device 30 based on the image pickup result of the optical marker by the IR image pickup unit 201d of the input / output device 20, and (each of the input / output device 20 and the wearable device 30). ) It is mainly assumed that the position and orientation of the wearable device 30 based on the information output from the IMU are integrated. However, the position / posture of the wearable device 30 output from the wearable device position / posture integration unit 113 to the finger joint recognition integration unit 119 is not limited to this example.
  • the wearable device position / orientation integration unit 113 has a position / orientation of the wearable device 30 based on the imaging result of the optical marker, a position / orientation of the wearable device 30 based on the information output from the IMU, and a position / orientation of the wearable device 30 based on magnetic tracking.
  • at least one of the positions and postures of the wearable device 30 based on ultrasonic sensing may be output to the finger joint recognition integration unit 119.
  • the finger joint recognition integration unit 119 uses the position / posture R2 (FIG. 4) of the wearable device 30 output by the wearable device position / posture integration unit 113, and each finger output by the finger joint recognition unit 115 and the finger joint recognition unit 117.
  • the joint position (FIG. 4 shows the position / posture R4 and the position / posture R6 as an example of each finger joint position) is a coordinate system with the image pickup unit 201 as a reference (for example, the camera coordinates of the image pickup unit 201a). System).
  • the finger joint recognition integration unit 119 has a position / posture R2, a relative position / posture R3 (viewed from the wearable device 30) of the imaging unit (palm side) 301, and a finger joint recognition unit.
  • a position / posture R2 a relative position / posture R3 (viewed from the wearable device 30) of the imaging unit (palm side) 301
  • a finger joint recognition unit By adding each finger joint position (position / posture R4) output by 115, each finger joint position (position / posture R4) can be re-expressed in the coordinate system based on the image pickup unit 201.
  • the imaging unit (palm side) 301 is provided in the controller unit 31, and the position and posture (because the controller unit 31 is not deformed) according to the wearing state of the wearable device 30 by the user. R3 does not change. Therefore, the position / posture R3 can be set in advance before the wearable device 30 is attached by the user.
  • the finger joint recognition integration unit 119 has the position / posture R2, the relative position / posture R5 (viewed from the wearable device 30) of the imaging unit (back side) 302, and each finger joint output by the finger joint recognition unit 117.
  • position position / posture R6
  • each finger joint position position / posture R6
  • Position posture R5 does not change. Therefore, the position / posture R5 can be set in advance before the wearable device 30 is attached by the user.
  • the present invention is not limited to the example in which the imaging unit (palm side) 301 or the imaging unit (back side) 302 is fixed to the wearable device 30.
  • the band portion 32 or the like may be deformed according to the wearing state of the wearable device 30 by the user, and the position / posture R3 or R5 may be changed.
  • the self-position may be estimated for the imaging unit (palm side) 301 and the imaging unit (back side) 302 by using SLAM, and the position / posture R3 or R5 may be calculated in real time.
  • the finger joint recognition integrated unit 119 is output by the finger joint recognition unit 115 and the finger joint recognition unit 117, which are re-represented by the coordinate system based on the image pickup unit 201 (for example, the camera coordinate system of the image pickup unit 201a).
  • the position of each finger joint and the position of each finger joint output by the finger joint recognition unit 103 are integrated by using their reliability (described later).
  • the finger joint recognition integration unit 119 outputs each finger joint position after integration as a final estimation result of the finger joint position (as a recognition result of user input) to the processing execution unit 105.
  • the processing execution unit 105 is configured to execute various functions (for example, applications) provided by the information processing apparatus 10 (and by extension, the information processing system 1). For example, the processing execution unit 105 stores a corresponding application in a predetermined storage unit (for example, a storage unit 190 described later) according to each finger joint position (recognition result of user input) output from the finger joint recognition integration unit 119. You may execute the extracted application by extracting from. Alternatively, the processing execution unit 105 may control the operation of the application being executed according to the position of each finger joint output from the finger joint recognition integration unit 119. For example, the processing execution unit 105 may switch the subsequent operation of the application being executed according to the position of each finger joint. Alternatively, the processing execution unit 105 may output information indicating the execution results of various applications to the output control unit 107.
  • a predetermined storage unit for example, a storage unit 190 described later
  • the processing execution unit 105 may control the operation of the application being executed according to the position of each finger joint output from the finger joint recognition integration unit
  • the output control unit 107 presents the information to the user by outputting various information to be output to the output unit 210 and the output unit 310.
  • the output control unit 107 may present the display information to the user by displaying the display information to be output on the display unit 211.
  • the output control unit 107 displays a virtual object that can be operated by the user based on each finger joint position (that is, the finger recognition result) output from the finger joint recognition integration unit 119. You may control 211.
  • the output control unit 107 may present the information to the user by causing the sound output unit 213 to output the sound corresponding to the information to be output.
  • the output control unit 107 may present the information to the user by causing the vibration presentation unit 311 to output the vibration corresponding to the information to be output.
  • the output control unit 107 may acquire information indicating the execution results of various applications from the processing execution unit 105, and present the output information corresponding to the acquired information to the user via the output unit 210. Further, the output control unit 107 may display the display information indicating the execution result of the desired application on the display unit 211. Further, the output control unit 107 may output the output information according to the execution result of the desired application to the acoustic output unit 213 as sound (including voice). Further, the output control unit 107 may output the output information according to the execution result of the desired application to the vibration presentation unit 311 as vibration.
  • the storage unit 190 is a storage area (recording medium) for temporarily or permanently storing various data (the various data may include a program for functioning the computer as the information processing device 10). Is.
  • the storage unit 190 may store data for the information processing apparatus 10 to execute various functions.
  • the storage unit 190 may store data (for example, a library) for executing various applications, management data for managing various settings, and the like.
  • the functional configuration of the information processing system 1 shown in FIG. 5 is merely an example, and the functional configuration of the information processing system 1 is not necessarily shown in FIG. 5 if the processing of each configuration described above can be realized. Not limited to examples.
  • the input / output device 20 and the information processing device 10 may be integrally configured.
  • the storage unit 190 may be included in the information processing device 10, or may be externally attached to a recording medium external to the information processing device 10 (for example, the information processing device 10). It may be configured as a recording medium).
  • a part of the configurations of the information processing apparatus 10 may be provided outside the information processing apparatus 10 (for example, a server or the like).
  • the reliability is how reliable each finger joint position recognized based on the depth image is by each of the finger joint recognition unit 103, the finger joint recognition unit 115, and the finger joint recognition unit 117. It is information indicating, and is calculated as a value corresponding to each finger recognition position.
  • the reliability calculation method may be the same for the finger joint recognition unit 103, the finger joint recognition unit 115, and the finger joint recognition unit 117 (although they may be different).
  • FIG. 6 is a diagram showing an example of a depth image.
  • the depth image G1 is shown as an example.
  • the depth image G1 shows the hand of the user wearing the wearable device 30.
  • the stronger the blackness of the color the lower the depth (that is, the closer to the camera).
  • the stronger the whiteness of the color the higher the depth (that is, the farther from the camera).
  • FIG. 7 is a diagram showing an example of finger joint positions.
  • an example of each finger joint position recognized based on a depth image (such as the depth image G1 shown in FIG. 6) is three-dimensionally represented.
  • the center position of the palm is indicated by a double circle
  • the position of each joint of the thumb is indicated by a circle
  • the position of each joint of the index finger is indicated by a triangle
  • the position of each joint of the middle finger is indicated by a diamond.
  • each joint position of the ring finger is shown as a pentagon
  • each joint position of the little finger is shown as a hexagon.
  • FIG. 8 is a diagram showing an example of an image in which each recognized finger joint position is reprojected on a depth image.
  • each recognized finger joint position eg, as in each joint position shown in FIG. 7
  • a depth image eg, such as depth image G1 shown in FIG. 6
  • the reprojected image G2 obtained is shown. Since the camera has been calibrated in advance to obtain internal parameters and distortion coefficients, conversion from the camera coordinate system to the image coordinate system can be performed using these.
  • the front of the camera (the depth direction of the camera) is the z direction.
  • the pixel value of the position where each recognized finger joint position is reprojected on the depth image represents the distance from the camera, and the distance is defined as V (k).
  • Z (k) be the z-coordinate of each recognized finger joint position.
  • ⁇ (k)
  • ⁇ (k) may correspond to an example of an error in the depth direction for each finger joint position.
  • n indicates the number of finger joints.
  • the reliability of the finger joint can be calculated as 1 / (1 + D). That is, when D is 0, the reliability takes a maximum value of 1, and when the error in the depth direction of each joint increases, the reliability approaches 0. Note that 1 / (1 + D) is only an example of the reliability of the finger joint position. Therefore, the method for calculating the reliability of the finger joint position is not limited to such an example. For example, the reliability of the finger joint position may be calculated so that the larger the error in the depth direction of the finger joint position, the smaller the reliability.
  • FIG. 9 is a diagram showing another example of an image in which each recognized finger joint position is reprojected on a depth image.
  • a reprojected image G3 obtained by reprojecting each recognized finger joint position onto a depth image is shown, similar to the example shown in FIG.
  • the index finger is extended and the other fingers are bent so as to be grasped.
  • the index finger (the finger whose outline is the broken line shown in FIG. 9) is almost hidden by the thumb and hardly appears in the depth image. Therefore, each joint position of the index finger is recognized as the back side of the thumb.
  • the z-coordinate of the position where each joint position of the recognized index finger is reprojected on the depth image is the distance from the camera to the surface of the thumb, so from the camera to each joint position of the recognized index finger.
  • the value is shorter than the distance (distance from the camera to the index finger on the other side of the thumb). Therefore, the difference between the z-coordinate of each joint position of the recognized index finger and the z-coordinate (pixel value) of the position where each joint position of the recognized index finger is reprojected on the depth image becomes large, and the reliability is high. Will be smaller.
  • each finger joint position is recognized.
  • the recognition result of each finger joint position can be used to detect the position of the fingertip.
  • a phenomenon in which one part of the body is shielded by another part hereinafter, also referred to as "self-occlusion" may occur.
  • self-occlusion a phenomenon in which one part of the body is shielded by another part
  • the most probable position of the finger joint position is the finger joint. Recognized as a position. For example, if the index finger is completely shielded by another finger, it is unclear whether the index finger is bent or stretched. Therefore, even in the same situation, the joint position of the index finger may be recognized as if the index finger is bent, or the joint position of the index finger may be recognized as if the index finger is extended. , The recognition accuracy of the index finger joint position does not improve.
  • the joint of a finger of the user's body which is an example of the recognition target, is shielded by another finger.
  • the part where the self-occlusion of the user's body occurs is not limited. That is, the part to be shielded (first part) and the part to be shielded (second part) are not limited.
  • the embodiment of the present disclosure may be applied even when the finger joint to be recognized is shielded by a part of the user's body other than the fingers (for example, the palm, arm, etc. of the user).
  • FIG. 10 is a flowchart for explaining an example of basic control according to the embodiment of the present disclosure.
  • the processing execution unit 105 recognizes the operation input by the user based on the finger joint position output from the finger joint recognition integration unit 119, and performs processing according to the recognized operation.
  • the process execution unit 105 sets the operation mode to the normal operation mode (hereinafter, also referred to as “normal operation mode M1”).
  • normal operation mode M1 the normal operation mode
  • the process execution unit 105 transitions to a state in which acceptance of an operation input by the user (hereinafter, also referred to as “user operation”) is permitted (S11).
  • the processing execution unit 105 determines whether or not the reliability of the finger joint position output from the finger joint recognition integration unit 119 together with the finger joint position is below a predetermined threshold value (first reliability). It may be determined whether or not self-occlusion has occurred.
  • first reliability a predetermined threshold value
  • the process execution unit 105 transitions to a state in which acceptance of user operations is prohibited (S13). This reduces the possibility of erroneous operation caused by the execution of processing according to the operation while self-occlusion occurs.
  • the output control unit 107 controls the output unit 210 of the input / output device 20 so that the notification information (hereinafter, also referred to as “guide UI (User Interface)”) for prompting the posture change of the fingers is presented (the output control unit 107).
  • the guide UI for urging the posture change of the fingers may be any information as long as it is information for urging the posture change of at least one of the finger having the shielded finger joint and the finger that shields the finger joint.
  • the user tries to eliminate the self-occlusion by changing the posture of at least one of the fingers, and it is expected that the deterioration of the recognition accuracy of the finger joint position is suppressed.
  • the guide UI that prompts the user to change the posture of the fingers is also referred to as "the guide UI that prompts the user to open the hand”.
  • While the processing execution unit 105 does not detect the elimination of the self-occlusion in which the finger joint is shielded by another finger (“NO” in S15), S15 is executed again. On the other hand, when it is detected that the self-occlusion in which the finger joint is shielded by another finger is eliminated (“YES” in S15), the process returns to S11 and the operation mode is set to the normal operation mode M1 again. When the operation mode is set to the normal operation mode M1 again, the process execution unit 105 again transitions to a state that allows acceptance of user operations.
  • the processing execution unit 105 determines whether or not the reliability of the finger joint position output from the finger joint recognition integration unit 119 together with the finger joint position exceeds a predetermined threshold value (second reliability). It may be determined whether or not the self-occlusion has been resolved.
  • the threshold value (second reliability) for determining whether or not self-occlusion has been resolved is the same as the threshold value (first reliability) for determining whether or not self-occlusion has occurred. It may be present or it may be a different value.
  • the processing execution unit 105 determines whether or not self-occlusion has occurred by using the positions of the finger joints after the integration by the finger joint recognition integration unit 119 and their reliability. Mainly assume the case. However, the processing execution unit 105 uses the finger joint positions output by at least one of the finger joint recognition unit 115, the finger joint recognition unit 117, and the finger joint recognition unit 103 and their reliability to perform self-occlusion. It may be determined whether or not it has occurred.
  • the processing execution unit 105 performs self-occlusion using each finger joint position output by at least one of the finger joint recognition unit 115, the finger joint recognition unit 117, and the finger joint recognition unit 103 and their reliability. It may be determined whether or not the problem has been resolved.
  • the finger joint recognition integration unit 119 is viewed from the position / posture R2 (FIG. 4) of the wearable device 30 output by the wearable device position / posture integration unit 113 and the (wearable device 30) of the imaging unit (palm side) 301. )
  • the relative position / posture R3 and each finger joint position (position / posture R4) output by the finger joint recognition unit 115 are added together.
  • the finger joint recognition integration unit 119 reexpresses each finger joint position (position / posture R4) in the coordinate system with reference to the image pickup unit 201.
  • the finger joint recognition integration unit 119 obtains the reliability C1 (k) of each finger joint position from the finger joint recognition unit 115.
  • the finger joint recognition integration unit 119 is the relative position (viewed from the wearable device 30) of the image pickup unit (back side) 302 of the position / posture R2 (FIG. 4) of the wearable device 30 output by the wearable device position / posture integration unit 113.
  • the posture R5 and the position of each finger joint (positional posture R6) output by the finger joint recognition unit 117 are added together.
  • the finger joint recognition integration unit 119 reexpresses each finger joint position (position / posture R6) in the coordinate system with reference to the image pickup unit 201.
  • the position information for each finger joint after being re-expressed in the coordinate system with the image pickup unit 201 as a reference in this way is defined as Q2 (k).
  • the finger joint recognition integration unit 119 obtains the reliability C2 (k) of each finger joint position from the finger joint recognition unit 117.
  • the finger joint recognition integration unit 119 is the position information for each finger joint recognized by the finger joint recognition unit 103 based on the images output from the image pickup units 201a and 201b of the input / output device 20 mounted on the user's head. Obtain Q3 (k). Further, the finger joint recognition integration unit 119 obtains the reliability C3 (k) of each finger joint position from the finger joint recognition unit 103.
  • the Q (k) obtained by the finger joint recognition integration unit 119 in this way is output to the processing execution unit 105.
  • the initial operation mode is set to the normal operation mode M1.
  • the process execution unit 105 sets the normal operation mode M1 as the operation mode (assuming that self-occlusion has not occurred). To continue.
  • the processing execution unit 105 operates the operation mode (assuming that self-occlusion has occurred). Switch to guide mode M2.
  • the process execution unit 105 When the operation mode is the operation guide mode M2 and at least one of Q (k) is "unknown", the process execution unit 105 operates as the operation mode (assuming that the self-occlusion has not been resolved). The guide mode M2 is continued. On the other hand, when the operation mode is the operation guide mode M2 and none of Q (k) is "unknown", the process execution unit 105 sets the operation mode to the normal operation mode M1 (assuming that the self-occlusion is resolved). Switch to.
  • the process execution unit 105 allows the acceptance of user operations when the operation mode is the normal operation mode M1. On the other hand, when the operation mode is the operation guide mode M2, the processing execution unit 105 prohibits acceptance of user operations and outputs and controls control information for presenting a guide UI prompting the user to open his / her hand.
  • the output control unit 107 controls the output unit 210 of the input / output device 20 so that a guide UI prompting the user to open his / her hand is presented according to the control signal.
  • the finger joint position is recognized by the finger joint recognition unit 115 based on the image output from the image pickup unit (palm side) 301.
  • the finger joint recognition unit 117 is based on the image output from the image pickup unit (back side) 302.
  • the position of the finger joint is recognized.
  • the angle of view of the image pickup units 201a and 201b of the input / output device 20 mounted on the head is increased.
  • the finger joint position is recognized by the finger joint recognition unit 103 based on the depth image.
  • the finger joint positions are integrated by the finger joint recognition integration unit 119 in this way, if self-occlusion occurs and at least one finger joint position is not detected, the user operation is accepted.
  • the user may be presented with an instruction to take a posture of the finger that is transitioned to the prohibited state and is less likely to cause self-occlusion.
  • the self-occlusion is canceled and all the finger joint positions are detected, the state returns to the state where the acceptance of the user operation is allowed.
  • FIG. 11 is a diagram for explaining an example of user operation.
  • a user wearing the wearable device 30 is shown.
  • the button B10 exists as an example of an object that can be operated by the user.
  • the button B10 is an example of a virtual object controlled by the output control unit 107 so as to be displayed by the display unit 211 of the input / output device 20.
  • the object that can be operated by the user may be a virtual object other than the button B10 (for example, a thumb of a slider for determining a predetermined position) or a real object.
  • the user operation is an operation of pressing the button B10.
  • the user operation may be another operation on the object.
  • the user operation may be an operation of moving the thumb of the slider.
  • the shape of the button B10 is rectangular.
  • the shape of the button B10 is not limited.
  • the processing execution unit when the button B10 moves based on the user operation of pressing the button B10 in the direction perpendicular to the surface (rectangular area) of the button B10, and the moved button B10 reaches the rectangular area v12, the processing execution unit. It is assumed that the operation associated with the button B10 is executed by the 105.
  • the user operation of pressing the button B10 is performed by the fingertip of the index finger.
  • self-occlusion may occur in which the tip of the index finger is shielded by another finger (for example, thumb, middle finger, ring finger or little finger), palm, or arm.
  • the user operation of pressing the button B10 may be performed by a portion other than the fingertip of the index finger.
  • the user operation of pressing the button B10 is performed as follows. First, assume a virtual plane including the surface (rectangular area) of the button B10. Then, the projection position of the fingertip position of the index finger obtained by the finger joint recognition integration unit 119 on a virtual plane is included in the surface (rectangular area) of the button B10, and the fingertip position of the index finger and the position thereof.
  • the initial state is a state in which the distance to the virtual plane is within a specified threshold.
  • the output control unit 107 provides predetermined feedback (for example, the color or texture of the button B10) when the projection position of the fingertip position of the index finger on a virtual plane is included in the surface (rectangular area) of the button B10.
  • predetermined feedback for example, the color or texture of the button B10
  • Visual feedback such as changing, auditory feedback such as playing a prescribed sound, tactile feedback by vibration presentation, etc.
  • the "first condition” that the projection position of the fingertip position of the index finger on the virtual plane is included in the surface (rectangular area) of the button B10 based on the initial state, and the fingertip position of the index finger are defined. While satisfying both the "second condition” that the speed is not exceeded, the fingertip position of the index finger is moved by a specified distance in the direction of the arrow (the direction from the button B10 to the rectangular area v12) (for example, the fingertip of the index finger).
  • the end state is the state in which the distance between the position and the virtual plane is a specified value in the direction of the arrow).
  • the display mode (for example, color) of the button B10 may change according to the amount of movement of the fingertip position of the index finger.
  • the "second condition" is a condition provided to prevent the button B10 from being moved when the user accidentally touches the button B10 when reaching out. Therefore, if it is not necessary to consider the possibility of erroneous operation by the user, the "second condition" may not be considered.
  • the process execution unit 105 executes the operation associated with the button B10.
  • the process execution unit 105 cancels the operation of pressing the button B10 by the user (that is,). , Return the position of button B10 to the original position).
  • the processing execution unit 105 prohibits the acceptance of the operation of pressing the button B10 when the reliability of the fingertip position of the index finger falls below the predetermined threshold value before the end state is reached or the operation is canceled.
  • the output control unit 107 controls the display unit 211 to display a guide UI prompting the user to open his / her hand.
  • FIG. 12 is a diagram for explaining a first example of a guide UI that prompts the user to open his / her hand.
  • a rectangular area v30 is shown.
  • the rectangular area v30 indicates the position of the button B10 in the initial state.
  • the output control unit 107 prohibits the acceptance of the operation of pressing the button B10 and stops the display of the button B10. This reduces the possibility that the user will continue to close his hand in an attempt to press button B10.
  • the output control unit 107 controls the display unit 211 so as to display the virtual objects v21 to v25 (first virtual object) as an example of the guide UI.
  • the virtual objects v21 to v25 include an area away from the position of the rectangular area v30 as an example of the predetermined reference position. This makes it possible to encourage the user who sees the virtual objects v21 to v25 to open their hands.
  • the example shown in FIG. 12 is an example in which separate virtual objects v21 to v25 are displayed in each of the five regions separated from the rectangular region v30. It is desirable that the virtual objects v21 to v25 are displayed at positions where they can be simultaneously touched by the thumb, index finger, middle finger, ring finger and little finger, respectively.
  • the user's hand will be opened by the user trying to touch the virtual objects v21 to v25 at the same time with the thumb, index finger, middle finger, ring finger and little finger, respectively.
  • the shapes of the virtual objects v21 to v25 are not limited to rectangles.
  • the number of virtual objects does not have to be five.
  • the number of virtual objects may be a plurality (for example, two, three, or four) other than five, or may be one as described later.
  • the fingertip position of the index finger is likely to be shielded by the fingers adjacent to the index finger (that is, the thumb and middle finger), so that the fingertips of the thumb and middle finger, which are the shielding side fingers, and the shielded side respectively. It is desirable that the virtual object is preferentially displayed at a position that is simultaneously touched by the fingertip of a certain index finger.
  • the processing execution unit 105 may detect whether or not a finger touches at least a part of the virtual objects v21 to v25.
  • the output control unit 107 changes a predetermined feedback (for example, the color or texture of the virtual object touched by the finger) when it is detected that the finger touches at least a part of the virtual objects v21 to v25.
  • Visual feedback such as, auditory feedback such as playing a prescribed sound, tactile feedback by vibration presentation, etc.
  • the processing execution unit 105 transitions to a state in which the operation of pressing the button B10 is allowed to be accepted, and the output control unit 107 displays the guide UI.
  • the display unit 211 is controlled so as to stop and resume the display of the button B10. This allows the user to resume the operation of pressing the button B10.
  • the position where the button B10 is displayed again is not particularly limited.
  • the position where the button B10 is displayed again may be the position of the button B10 at the time when the acceptance of the user operation is started to be prohibited.
  • an object such as button B10, which is not executed by the processing execution unit 105 until the end state is operated, it is desirable that the position where the object is displayed again is the initial position of the object. Be done.
  • the process executed by the process execution unit 105 changes according to the position of the object, such as an object operated by the user, such as a thumb of a slider.
  • the user wants to input the operation from the continuation of the operation already input, so the position where the object is displayed again is the position of the object at the time when the acceptance of the user operation is started to be prohibited. It is considered desirable to be.
  • FIG. 13 and 14 are diagrams for explaining a modification of the first example of the guide UI that prompts the user to open his / her hand.
  • the virtual objects v21 to v25 are displayed as an example of the guide UI as in the example shown in FIG.
  • the virtual objects v21 to v25 are virtual objects that are supposed to be touched by the thumb, index finger, middle finger, ring finger and little finger at the same time.
  • the current position of the fingertip of the finger that is, the thumb, middle finger, ring finger and little finger
  • the user can easily change the posture of the finger. ..
  • the output control unit 107 is a virtual object v41, v43 to v45 (second) according to the fingertip position of these fingers (that is, the thumb, middle finger, ring finger and little finger) that can shield the fingertip position of the index finger.
  • the display unit 211 is controlled so that the virtual object) of the above is presented.
  • the display positions of the virtual objects v41 and v43 to v45 are projection positions on a virtual plane including the rectangular area v30 of the fingertip positions of the fingers (thumb, middle finger, ring finger and little finger). There may be.
  • the shapes of the virtual objects v41 and v43 to v45 are not limited to the circle. Since the fingertip position of the index finger is unknown, the virtual object corresponding to the fingertip position of the index finger does not have to be displayed.
  • the number of virtual objects according to the fingertip position of the finger does not have to be four.
  • the number of virtual objects according to the fingertip position of the finger may be a plurality (for example, two or three) other than four, or may be one.
  • the virtual object corresponding to the fingertip of each of the thumb and middle finger is preferentially displayed.
  • a virtual object corresponding to the fingertip of the finger that actually shields the fingertip of the index finger may be displayed.
  • the output control unit 107 is presented with information indicating the direction corresponding to the positions of the virtual objects v21 and v23 to v25 as an example of the guide UI and the positions of the virtual objects v41 and v43 to v45 according to the fingertip position. It is desirable to control the display unit 211 so as to control the display unit 211.
  • an arrow is presented from the virtual object v41 corresponding to the position of the fingertip of the thumb toward the virtual object v21 corresponding to the thumb.
  • an arrow pointing from the virtual object v43 corresponding to the fingertip position of the middle finger toward the virtual object v23 corresponding to the middle finger is presented.
  • an arrow pointing from the virtual object v44 corresponding to the fingertip position of the ring finger to the virtual object v24 corresponding to the ring finger is presented.
  • an arrow pointing from the virtual object v45 corresponding to the fingertip position of the little finger toward the virtual object v25 corresponding to the little finger is presented.
  • the virtual objects v41, v21 and the corresponding arrow in the first display mode for example, red
  • the virtual objects v43, v23 and the corresponding arrow second A display mode (eg, brown)
  • a third display mode of virtual objects v44, v24 and their corresponding arrows eg, green
  • a fourth display mode of virtual objects v45, v25 and their corresponding arrows It should be different from (eg purple). This makes it easier to understand the correspondence between the virtual object as an example of the guide UI and the virtual object according to the fingertip position.
  • FIG. 15 is a diagram for explaining a second example of the guide UI that prompts the user to open his / her hand.
  • virtual objects v51 to v55 as an example of the guide UI are arranged on the circumference centered on the rectangular area v30.
  • the positions where the virtual objects v51 to v55 as an example of the guide UI are arranged are not limited.
  • the shapes of the virtual objects v51 to v55 as an example of the guide UI are circular.
  • the shapes of the virtual objects v51 to v55 as an example of the guide UI are not limited.
  • FIG. 16 is a diagram for explaining a third example of the guide UI that prompts the user to open his / her hand.
  • one virtual object v60 as an example of the guide UI is arranged.
  • the virtual object v60 includes an area away from the rectangular area v30.
  • the number of virtual objects as an example of the guide UI may be one.
  • the virtual object v60 may be a virtual object having a size larger than the rectangular area v30 including the rectangular area v30.
  • the shape of the virtual object v60 may be the shape of an open hand.
  • the reference position of the virtual object displayed as an example of the guide UI is the position of the button B10 (the position of the rectangular area v30) as an example of the object that can be operated by the user. ..
  • the reference position of the virtual object displayed as an example of the guide UI is not limited to such an example.
  • the reference position of the virtual object displayed as an example of the guide UI may be the position of the wearable device 30 output from the wearable device position / attitude integration unit 113.
  • FIG. 17 is a diagram showing an example of changing the attribute of the button B10.
  • the button B20 after the attribute change is shown.
  • the size of the button B20 after the attribute change is larger than that of the button B10 before the attribute change. That is, the guide UI may include increasing the size of the button B10 as an attribute of the button B10.
  • the button B20 after the attribute change may have a size larger than the button B10 including the button B10 before the attribute change.
  • the attribute change is not limited to the size change, and may include a shape change and the like.
  • the shape of the button B20 after the attribute change may be the shape of the open hand. It is considered that the user will open his / her hand and press the button B20 so that the palm is placed on the button B20.
  • the output control unit 107 may increase the amount of information in the guide UI based on the fact that the occurrence of self-occlusion is detected again by the processing execution unit 105 within a predetermined time from the display of the guide UI. ..
  • the output control unit 107 may increase the amount of information in the guide UI based on the fact that the occurrence of self-occlusion is detected more than a predetermined number of times within a predetermined time range by the processing execution unit 105. ..
  • the output control unit 107 controls the display unit 211 so that a text prompting the change of the posture of the finger (for example, a text such as "press a button with the hand open") is displayed as an additional guide UI. By doing so, the amount of information in the guide UI may be increased.
  • the output control unit 107 acoustically outputs voice guidance (for example, voice guidance such as "Please operate without closing the hand") prompting the change of the posture of the fingers as an additional guide UI.
  • the amount of information in the guide UI may be increased by controlling the unit 213.
  • the output control unit 107 may increase the amount of information in the guide UI according to the number of occurrences of self-occlusion detected within a predetermined time range.
  • the output control unit 107 detects the occurrence of self-occlusion within a predetermined time range (for example, within 1 minute) the first time (for example, twice) by the processing execution unit 105.
  • the text is presented as an additional guide UI, and based on the second number of detections (eg, 3 times), the text and voice guidance are presented as an additional guide UI, and a third number of times (eg, 3 times) is presented. 4) Based on the detection, you may play a video or animation explaining how the user should operate as an additional guide UI.
  • the output control unit 107 has a text that prompts a change in the posture of the fingers based on the detection of the occurrence of self-occlusion by the processing execution unit 105 (for example, a text such as "press a button with the hand open"). ) May be controlled so that the display unit 211 is displayed as an example of the guide UI.
  • the output control unit 107 may perform voice guidance (for example, "Please operate without closing your hands") to prompt the change of the posture of the fingers based on the detection of the occurrence of self-occlusion by the processing execution unit 105.
  • the display unit 211 may be controlled so that the voice guidance) is displayed as an example of the guide UI.
  • the position and posture of the hand are based on the image captured by the IR image pickup unit 201d provided in the input / output device 20 mounted on the user's head. Is mainly assumed when is recognized.
  • the position and posture of the hand may be recognized based on images captured by other cameras.
  • the position and posture of the hand may be recognized based on the image captured by the camera of the smartphone.
  • it may be recognized based on an image captured by a camera installed in the environment.
  • the guide UI may not be displayed because it is considered that the user is not trying to operate the object. That is, in the output control unit 107, when the line of sight recognized based on the images captured by the image pickup units 203a and 203b hits the object, and the wearable device 30 is based on the image captured by the IR image pickup unit 201d.
  • the display unit 211 may be controlled to display the guide UI.
  • the output control unit 107 may stop displaying the guide UI when a predetermined time elapses without detecting the cancellation of the self-occlusion after the display of the guide UI.
  • the fingertip position is not recognized with high accuracy, it is desirable to continue to maintain the state in which the acceptance of user operations is prohibited.
  • the processing execution unit 105 predicts the reliability of the fingertip position of the index finger in chronological order (externalization), and the output control unit 107 displays the guide UI when the predicted reliability falls below the threshold value.
  • the display unit 211 may be controlled so as to do so.
  • the output control unit 107 starts fading out the object (button, etc.) and fades in the guide UI when the reliability falls below the threshold value, and when the reliability falls below the threshold value.
  • Objects (buttons, etc.) may be completely switched to the guide UI.
  • FIG. 18 is a functional block diagram showing a configuration example of a hardware configuration of various information processing devices constituting the information processing system 1 according to the embodiment of the present disclosure.
  • the information processing apparatus 900 constituting the information processing system 1 mainly includes a CPU (Central Processing unit) 901, a ROM (Read Only Memory) 902, and a RAM (Random Access Memory) 903. .
  • the information processing device 900 further includes a host bus 907, a bridge 909, an external bus 911, an interface 913, an input device 915, an output device 917, a storage device 919, a drive 921, and a connection port 923. And a communication device 925.
  • the CPU 901 functions as an arithmetic processing device and a control device, and controls all or a part of the operation in the information processing device 900 according to various programs recorded in the ROM 902, the RAM 903, the storage device 919, or the removable recording medium 927.
  • the ROM 902 stores programs, calculation parameters, and the like used by the CPU 901.
  • the RAM 903 primary stores a program used by the CPU 901, parameters that change as appropriate in the execution of the program, and the like. These are connected to each other by a host bus 907 composed of an internal bus such as a CPU bus.
  • a host bus 907 composed of an internal bus such as a CPU bus.
  • each block of the information processing apparatus 10 shown in FIG. 5 may be configured by the CPU 901.
  • the host bus 907 is connected to an external bus 911 such as a PCI (Peripheral Component Interconnect / Interface) bus via a bridge 909. Further, an input device 915, an output device 917, a storage device 919, a drive 921, a connection port 923, and a communication device 925 are connected to the external bus 911 via the interface 913.
  • an external bus 911 such as a PCI (Peripheral Component Interconnect / Interface) bus
  • an input device 915, an output device 917, a storage device 919, a drive 921, a connection port 923, and a communication device 925 are connected to the external bus 911 via the interface 913.
  • the input device 915 is an operation means operated by the user, such as a mouse, a keyboard, a touch panel, a button, a switch, a lever, and a pedal. Further, the input device 915 may be, for example, a remote control means (so-called remote controller) using infrared rays or other radio waves, or an externally connected device such as a mobile phone or a PDA that supports the operation of the information processing device 900. It may be 929. Further, the input device 915 is composed of, for example, an input control circuit that generates an input signal based on the information input by the user using the above-mentioned operating means and outputs the input signal to the CPU 901. By operating the input device 915, the user of the information processing apparatus 900 can input various data to the information processing apparatus 900 and instruct the processing operation.
  • a remote control means such as a mobile phone or a PDA that supports the operation of the information processing device 900. It may be 929.
  • the input device 915 is composed of
  • the output device 917 is composed of a device capable of visually or audibly notifying the user of the acquired information.
  • Such devices include display devices such as CRT display devices, liquid crystal display devices, plasma display devices, EL display devices and lamps, audio output devices such as speakers and headphones, and printer devices.
  • the output device 917 outputs, for example, the results obtained by various processes performed by the information processing device 900.
  • the display device displays the results obtained by various processes performed by the information processing device 900 as text or an image.
  • the audio output device converts an audio signal composed of reproduced audio data, acoustic data, and the like into an analog signal and outputs the signal.
  • the output unit 210 shown in FIG. 5 may be configured by an output device 917.
  • the storage device 919 is a data storage device configured as an example of the storage unit of the information processing device 900.
  • the storage device 919 is composed of, for example, a magnetic storage device such as an HDD (Hard Disk Drive), a semiconductor storage device, an optical storage device, an optical magnetic storage device, or the like.
  • the storage device 919 stores programs executed by the CPU 901, various data, and the like.
  • the storage unit 190 shown in FIG. 5 may be configured by a storage device 919.
  • the drive 921 is a reader / writer for a recording medium, and is built in or externally attached to the information processing apparatus 900.
  • the drive 921 reads the information recorded on the removable recording medium 927 such as a mounted magnetic disk, optical disk, magneto-optical disk, or semiconductor memory, and outputs the information to the RAM 903.
  • the drive 921 can also write a record to a removable recording medium 927 such as a mounted magnetic disk, optical disk, magneto-optical disk, or semiconductor memory.
  • the removable recording medium 927 is, for example, a DVD media, an HD-DVD media, a Blu-ray (registered trademark) medium, or the like.
  • the removable recording medium 927 may be a compact flash (registered trademark) (CF: CompactFlash), a flash memory, an SD memory card (Secure Digital memory card), or the like. Further, the removable recording medium 927 may be, for example, an IC card (Integrated Circuit card) or an electronic device equipped with a non-contact type IC chip.
  • CF CompactFlash
  • SD memory card Secure Digital memory card
  • the connection port 923 is a port for directly connecting to the information processing device 900.
  • the connection port 923 there are a USB (Universal Serial Bus) port, an IEEE1394 port, a SCSI (Small Computer System Interface) port, and the like.
  • the connection port 923 there are an RS-232C port, an optical audio terminal, an HDMI (registered trademark) (High-Definition Multidimedia Interface) port, and the like.
  • the communication device 925 is, for example, a communication interface composed of a communication device or the like for connecting to a communication network (network) 931.
  • the communication device 925 is, for example, a communication card for a wired or wireless LAN (Local Area Network), Bluetooth (registered trademark), WUSB (Wireless USB), or the like.
  • the communication device 925 may be a router for optical communication, a router for ADSL (Asymmetric Digital Subscriber Line), a modem for various communications, or the like.
  • the communication device 925 can transmit and receive signals and the like to and from the Internet and other communication devices in accordance with a predetermined protocol such as TCP / IP.
  • the communication network 931 connected to the communication device 925 is configured by a network or the like connected by wire or wirelessly, and may be, for example, the Internet, a home LAN, infrared communication, radio wave communication, satellite communication, or the like. ..
  • the above is an example of a hardware configuration capable of realizing the functions of the information processing apparatus 900 constituting the information processing system 1 according to the embodiment of the present disclosure.
  • Each of the above-mentioned components may be configured by using general-purpose members, or may be configured by hardware specialized for the function of each component. Therefore, it is possible to appropriately change the hardware configuration to be used according to the technical level at the time of implementing the present embodiment.
  • various configurations corresponding to the information processing apparatus 900 constituting the information processing system 1 are naturally provided.
  • the recording medium is, for example, a magnetic disk, an optical disk, a magneto-optical disk, a flash memory, or the like.
  • the computer program described above may be distributed via a network, for example, without using a recording medium.
  • the number of computers for executing the computer program is not particularly limited. For example, a plurality of computers (for example, a plurality of servers, etc.) may execute the computer program in cooperation with each other.
  • the information includes a presentation control unit that controls the presentation unit so that the notification information prompting the change of the posture of at least one of the first portion and the second portion is presented to the user. Processing equipment is provided.
  • the deterioration of the recognition accuracy of the second portion is suppressed. Is expected. Further, based on the determination that the second portion is shielded by the first portion, the state may be changed to prohibit the acceptance of the operation by the second portion. According to such a configuration, the possibility of erroneous operation caused by the processing corresponding to the operation being executed while the second part is shielded by the first part is reduced, so that the user can use the second part. There is no need to worry about how the part is reflected in the captured image.
  • the first part is based on the determination that the second part recognized based on the captured image including the first part of the user's body is shielded by the first part.
  • a presentation control unit for controlling the presentation unit so that notification information prompting a change in the posture of at least one of the portion and the second portion is presented to the user.
  • Information processing equipment (2)
  • the presentation control unit controls the presentation unit so that one or a plurality of first virtual objects including a region away from a predetermined reference position are presented as the notification information.
  • the information processing apparatus according to (1) above.
  • the presentation control unit controls the presentation unit so that a separate first virtual object is presented in each of a plurality of regions away from the reference position.
  • the information processing device according to (2) above.
  • the presentation control unit controls the presentation unit so that one first virtual object including a region away from the reference position is presented.
  • the information processing device according to (2) above.
  • the reference position is the position of an object that can be manipulated by the second portion or the position of a wearable device that is worn on the user's body.
  • the information processing apparatus according to any one of (2) to (4) above.
  • the presentation control unit controls the presentation unit so that a second virtual object corresponding to the position of the first portion is presented.
  • the presentation control unit controls the presentation unit so that information indicating a direction corresponding to the position of the first virtual object and the position of the second virtual object is presented.
  • the information processing apparatus according to (6) above.
  • the notification information includes changing the attributes of the first virtual object that can be manipulated by the second part.
  • the information processing apparatus according to (1) above. (9)
  • the notification information includes increasing the size of the first virtual object as an attribute of the first virtual object.
  • the information processing apparatus according to (8) above. (10)
  • the second portion is determined to be shielded by the first portion when the reliability of the position in the depth direction is lower than the first reliability.
  • the information processing device is It is provided with a processing execution unit that executes processing according to the operation by the second part. The processing execution unit transitions to a state in which acceptance of an operation by the second portion is prohibited based on the determination that the second portion is shielded by the first portion.
  • the information processing apparatus according to any one of (1) to (10) above. (12) Based on the determination that the shielding of the second portion by the first portion is released, the processing execution unit transitions to a state in which the acceptance of the operation by the second portion is permitted.
  • the information processing apparatus according to (11) above.
  • the second portion is determined to have been unshielded by the first portion when the reliability of the position in the depth direction exceeds the second reliability.
  • the information processing apparatus according to (12) above.
  • the presentation control unit determines the amount of information of the notification information based on the determination that the second portion is shielded by the first portion within a predetermined time from the presentation of the notification information. increase, The information processing apparatus according to any one of (1) to (13).
  • the presentation control unit determines the amount of information of the notification information based on the determination that the second portion is shielded by the first portion more than a predetermined number of times within a predetermined time range. increase, The information processing apparatus according to any one of (1) to (14) above.
  • the presentation control unit controls the presentation unit so that a text prompting the change of the posture is displayed as the notification information.
  • the presentation control unit controls the presentation unit so that voice guidance prompting the change of the posture is presented as the notification information.
  • the first part is the thumb, middle finger, ring finger, little finger, palm, or arm.
  • the second part is the tip of the index finger.
  • the first part is based on the determination that the second part recognized based on the captured image including the first part of the user's body is shielded by the first part.
  • the processor controls the presentation unit so that the user is presented with notification information prompting the user to change the posture of at least one of the portion and the second portion.
  • Information processing method (20) Computer, The first part is based on the determination that the second part recognized based on the captured image including the first part of the user's body is shielded by the first part.
  • a presentation control unit for controlling the presentation unit so that notification information prompting a change in the posture of at least one of the portion and the second portion is presented to the user.
  • a program that functions as an information processing device.
  • Information processing system 10 Information processing device 101 Stereo depth calculation unit 103 Finger joint recognition unit 105 Processing execution unit 107 Output control unit 109 Wearable device position / orientation estimation unit 111 Inertial integration calculation unit 113 Wearable device position / posture integration unit 115 Finger joint recognition unit 117 Finger joint recognition unit 119 Finger joint recognition integration unit 121 Inertial integration calculation unit 190 Storage unit 20 Input / output device 201a Image pickup unit 201b Imaging unit 201d IR image pickup unit 201c IR light source 210 Output unit 211 Display unit 213 Sound output unit 220 Inertivity measurement unit 30 Wearable device 301 Imaging unit 302 Imaging unit 303 Inertivity measurement unit 310 Output unit 311 Vibration presentation unit 320 Optical marker

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)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Architecture (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】認識対象の認識精度の低下を抑制することが可能な技術が提供されることが望まれる。 【解決手段】ユーザの身体の第1の部位を撮像範囲に含んだ撮像画像に基づいて認識された第2の部位が前記第1の部位によって遮蔽されていると判定されたことに基づいて、前記第1の部位および前記第2の部位の少なくともいずれか一方の姿勢の変更を促す通知情報が前記ユーザに提示されるように提示部を制御する提示制御部を備える、情報処理装置が提供される。

Description

情報処理装置、情報処理方法およびプログラム
 本開示は、情報処理装置、情報処理方法およびプログラムに関する。
 近年、実空間に存在する所定の認識対象を認識し、認識結果に応じた処理を実行する各種の技術が知られている。例えば、認識対象の例としての入力装置の認識結果に基づいて、ユーザの頭部に装着されているディスプレイに提示される仮想的なオブジェクトを制御する技術が開示されている(例えば、特許文献1参照)。
特開2019-46291号公報
 しかしながら、認識対象が他の対象に遮蔽されてしまう状況が起こり得る。かかる状況においては、認識対象の認識精度が低下してしまうことが想定され得る。そこで、認識対象の認識精度の低下を抑制することが可能な技術が提供されることが望まれる。
 本開示のある観点によれば、ユーザの身体の第1の部位を撮像範囲に含んだ撮像画像に基づいて認識された第2の部位が前記第1の部位によって遮蔽されていると判定されたことに基づいて、前記第1の部位および前記第2の部位の少なくともいずれか一方の姿勢の変更を促す通知情報が前記ユーザに提示されるように提示部を制御する提示制御部を備える、情報処理装置が提供される。
 また、本開示の別の観点によれば、ユーザの身体の第1の部位を撮像範囲に含んだ撮像画像に基づいて認識された第2の部位が前記第1の部位によって遮蔽されていると判定されたことに基づいて、前記第1の部位および前記第2の部位の少なくともいずれか一方の姿勢の変更を促す通知情報が前記ユーザに提示されるように、プロセッサが提示部を制御する、情報処理方法が提供される。
 また、本開示の別の観点によれば、コンピュータを、ユーザの身体の第1の部位を撮像範囲に含んだ撮像画像に基づいて認識された第2の部位が前記第1の部位によって遮蔽されていると判定されたことに基づいて、前記第1の部位および前記第2の部位の少なくともいずれか一方の姿勢の変更を促す通知情報が前記ユーザに提示されるように提示部を制御する提示制御部を備える、情報処理装置として機能させるプログラムが提供される。
本開示の一実施形態に係る情報処理システムの略的な構成の一例について説明するための説明図である。 AR技術を応用してユーザの操作入力に対して各種コンテンツを提示する場合の一例を示す図である。 入出力装置の概略的な構成の一例について説明するための説明図である。 ウェアラブルデバイスの概略的な構成の一例について説明するための説明図である。 情報処理システムの機能構成の一例を示したブロック図である。 デプス画像の例を示す図である。 手指関節位置の例を示す図である。 認識された各手指関節位置がデプス画像に再投影された画像の一例を示す図である。 認識された各手指関節位置がデプス画像に再投影された画像の他の例を示す図である。 本開示の実施形態に係る基本的な制御の例について説明するためのフローチャートである。 ユーザ操作の例を説明するための図である。 手を開くことをユーザに促すガイドUIの第1の例を説明するための図である。 手を開くことをユーザに促すガイドUIの第1の例の変形例を説明するための図である。 手を開くことをユーザに促すガイドUIの第1の例の変形例を説明するための図である。 手を開くことをユーザに促すガイドUIの第2の例を説明するための図である。 手を開くことをユーザに促すガイドUIの第3の例を説明するための図である。 ボタンの属性を変更する例を示す図である。 本開示の一実施形態に係る情報処理システムを構成する各種の情報処理装置のハードウェア構成の一例を示す図である。
 以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
 また、本明細書および図面において、実質的に同一または類似の機能構成を有する複数の構成要素を、同一の符号の後に異なる数字を付して区別する場合がある。ただし、実質的に同一または類似の機能構成を有する複数の構成要素の各々を特に区別する必要がない場合、同一符号のみを付する。また、異なる実施形態の類似する構成要素については、同一の符号の後に異なるアルファベットを付して区別する場合がある。ただし、類似する構成要素の各々を特に区別する必要がない場合、同一符号のみを付する。
 なお、説明は以下の順序で行うものとする。
 1.システム構成
 2.入出力装置の構成
 3.ウェアラブルデバイスの構成
 4.システムの機能構成
 5.手指関節認識の信頼度
 6.特筆すべき特徴
  6.1.基本的な制御
  6.2.手指関節位置の統合とオクルージョン検知の例
  6.3.ガイドUIの具体例
  6.4.各種の変形例
 7.ハードウェア構成例
 8.まとめ
 <1.システム構成>
 まず、図1を参照して、本開示の一実施形態に係る情報処理システムの概略的な構成の一例について説明する。図1は、本開示の一実施形態に係る情報処理システムの略的な構成の一例について説明するための説明図であり、所謂AR(Augmented Reality)技術を応用してユーザに対して各種コンテンツを提示する場合の一例を示している。
 図1において、参照符号m111は、実空間上に位置する物体(例えば、実オブジェクト)を模式的に示している。また、参照符号v131およびv133は、実空間上に重畳するように提示される仮想的なコンテンツ(例えば、仮想オブジェクト)を模式的に示している。即ち、本実施形態に係る情報処理システム1は、例えば、AR技術に基づき、実オブジェクトm111などの実空間上の物体に対して、仮想オブジェクトを重畳してユーザに提示する。なお、図1では、本実施形態に係る情報処理システムの特徴をよりわかりやすくするために、実オブジェクトと仮想オブジェクトとの双方を合わせて提示している。
 図1に示すように、本実施形態に係る情報処理システム1は、情報処理装置10と、入出力装置20とを含む。情報処理装置10と入出力装置20とは、所定のネットワークを介して互いに情報を送受信可能に構成されている。なお、情報処理装置10と入出力装置20とを接続ネットワークの種別は特に限定されない。具体的な一例として、当該ネットワークは、Wi-Fi(登録商標)規格に基づくネットワークのような、所謂無線のネットワークにより構成されていてもよい。また、他の一例として、当該ネットワークは、インターネット、専用線、LAN(Local Area Network)、または、WAN(Wide Area Network)などにより構成されていてもよい。また、当該ネットワークは、複数のネットワークを含んでもよく、少なくとも一部が有線のネットワークとして構成されていてもよい。
 入出力装置20は、各種入力情報の取得や、当該入出力装置20を保持するユーザに対して各種出力情報の提示を行うための構成である。また、入出力装置20による出力情報の提示は、情報処理装置10により、当該入出力装置20により取得された入力情報に基づき制御される。例えば、入出力装置20は、実オブジェクトm111を認識するための情報(例えば、撮像された実空間の画像)を入力情報として取得し、取得した情報を情報処理装置10に出力する。情報処理装置10は、入出力装置20から取得した情報に基づき、実空間上における実オブジェクトm111の位置を認識し、当該認識結果に基づき、入出力装置20に仮想オブジェクトv131およびv133を提示させる。このような制御により、入出力装置20は、所謂AR技術に基づき、実オブジェクトm111に対して仮想オブジェクトv131およびv133が重畳するように、当該仮想オブジェクトv131およびv133をユーザに提示することが可能となる。
 また、入出力装置20は、例えば、ユーザが頭部の少なくとも一部に装着して使用する所謂頭部装着型デバイスとして構成されており、当該ユーザの視線を検出可能に構成されていてもよい。このような構成に基づき、情報処理装置10は、例えば、入出力装置20によるユーザの視線の検出結果に基づき、当該ユーザが所望の対象(例えば、実オブジェクトm111や、仮想オブジェクトv131およびv133など)を注視していることを認識した場合に、当該対象を操作対象として特定してもよい。また、情報処理装置10は、入出力装置20に対する所定の操作をトリガとして、ユーザの視線が向けられている対象を操作対象として特定してもよい。以上のようにして、情報処理装置10は、操作対象を特定し、当該操作対象に関連付けられた処理を実行することで、入出力装置20を介して各種サービスをユーザに提供してもよい。
 情報処理装置10は、入出力装置20により取得された入力情報に基づき、ユーザの腕、手のひら、手指関節の位置姿勢の動き(例えば、位置や向きの変化、ジェスチャなど)をユーザの操作入力として認識し、当該操作入力の認識結果に応じて各種処理を実行する。具体的な一例として、入出力装置20は、ユーザの腕、手のひら、手指関節を認識するための情報(例えば、撮像された手の画像)を入力情報として取得し、取得した情報を情報処理装置10に出力する。情報処理装置10は、入出力装置20から取得した情報に基づき、腕、手のひら、手指関節の位置姿勢を推定し、その動き(例えば、ジェスチャ)を認識し、当該動きの認識結果に応じて、ユーザからの指示(即ち、ユーザの操作入力)を認識する。そして、情報処理装置10は、ユーザの操作入力の認識結果に応じて、例えば、ユーザに提示する仮想オブジェクトの表示(例えば、仮想オブジェクトの表示位置や姿勢)を制御してもよい。なお、本開示において「ユーザの操作入力」とは、前述の通り、ユーザからの指示に対応する入力、即ち、ユーザの意図を反映した入力として見做されてよい。以下、「ユーザの操作入力」を、単に「ユーザ入力」と称する場合がある。
 また、情報処理装置10は、入出力装置20により取得された入力情報に基づき、ユーザの身体の手以外の少なくとも一部の部位の動き(例えば、位置や向きの変化、ジェスチャなど)をユーザの操作入力として認識し、当該操作入力の認識結果に応じて各種処理を実行してもよい。
 次に、図2を参照して、ユーザが手のひら(または手の甲)に装着するウェアラブルデバイス30と、情報処理装置10と、入出力装置20によりユーザの手のひらの位置と姿勢を取得する、概略的な構成の一例について説明する。図2は、所謂AR(Augmented Reality)技術を応用してユーザの手の動き、即ち、ユーザの操作入力に対して各種コンテンツを提示する場合の一例を示している。
 図2に示すように、本実施形態に係る情報処理システム1は、情報処理装置10と、入出力装置20と、ウェアラブルデバイス30を含む。情報処理装置10と入出力装置20とウェアラブルデバイス30とは、所定のネットワークを介して互いに情報を送受信可能に構成されている。なお、情報処理装置10と入出力装置20とウェアラブルデバイス30とを接続するネットワークの種類は特に限定されない。
 入出力装置20は、手のひら装着型のウェアラブルデバイス30の位置と姿勢を、(一例として比較的低い精度で)検出するための情報を入力情報として取得し、取得した入力情報を情報処理装置10に出力する。以下では、かかる入力情報として、ウェアラブルデバイス30のIMU(Inertial Measurement Unit)の出力する加速度情報および角速度情報が用いられる場合を主に想定する。しかし、かかる入力情報は、IMUの出力する情報に限定されない。例えば、かかる入力情報は、後にも説明するように磁気センサの出力する情報であってもよい。
 さらに、ウェアラブルデバイス30は、規定のパターンで配置された光学マーカー(例えば、LED(Light Emitting Diode)発光のアクティブマーカー、再帰性反射材のパッシブマーカーなど)を含む。なお、図2に示されたウェアラブルデバイス30は簡易的に示されているため、光学マーカーが図示されていないが、光学マーカーについては、図4を参照しながら後に詳細に説明する。入出力装置20は、光学マーカーを撮像した画像を取得する。情報処理装置10は、入出力装置20により取得された光学マーカーの撮像画像の入力情報に基づき、ウェアラブルデバイス30の位置と姿勢を(一例として比較的高い精度で)取得する。
 これらの構成により、入出力装置20とウェアラブルデバイス30との距離が一定範囲(例えば、1m)にあれば、ウェアラブルデバイス30の位置と姿勢を(一例として比較的低い精度で)得ることができとともに、入出力装置20に備わる認識用カメラの画角(FoV:Field of View)に、ウェアラブルデバイス30の光学マーカーが少なくても一定数以上写っている場合に限って、ウェアラブルデバイス30の位置と姿勢を(一例として比較的高い精度で)得ることができる。
 なお、図1および図2では、入出力装置20と情報処理装置10とが互いに異なる装置として示されているが、入出力装置20と情報処理装置10とは一体的に構成されていてもよい。また、入出力装置20および情報処理装置10の構成および処理の詳細については別途後述する。
 以上、図1および図2を参照して、本開示の一実施形態に係る情報処理システム1の概略的な構成の一例について説明した。
 <2.入出力装置の構成>
 続いて、図3を参照して、図1および図2に示した本実施形態に係る入出力装置20の概略的な構成の一例について説明する。図3は、本実施形態に係る入出力装置20の概略的な構成の一例について説明するための説明図である。
 前述したように、本実施形態に係る入出力装置20は、ユーザが頭部の少なくとも一部に装着して使用する所謂頭部装着型デバイスとして構成されており、レンズ293aおよび293bのうち少なくともいずれかが透過型のディスプレイ(表示部211)として構成されている。また、入出力装置20は、撮像部201aおよび201bと、操作部207と、メガネのフレームに相当する保持部291とを備える。また、入出力装置20は、撮像部203aおよび203bを備えてもよい。なお、以降では、入出力装置20が、撮像部203aおよび203bを備えているものとして各種説明を行う。保持部291は、入出力装置20がユーザの頭部に装着されたときに、表示部211と、撮像部201aおよび201bと、撮像部203aおよび203bと、操作部207とを、当該ユーザの頭部に対して所定の位置関係となるように保持する。また、図3には図示していないが、入出力装置20は、ユーザの音声を集音するための集音部を備えていてもよい。
 ここで、入出力装置20のより具体的な構成について説明する。例えば、図3に示す例では、レンズ293aが、右眼側のレンズに相当し、レンズ293bが、左眼側のレンズに相当する。即ち、保持部291は、入出力装置20が装着された場合に、表示部211(換言すると、レンズ293aおよび293b)がユーザの眼前に位置するように、当該表示部211を保持する。
 撮像部201aおよび201bは、所謂ステレオカメラとして構成されており、入出力装置20がユーザの頭部に装着されたときに、当該ユーザの頭部が向いた方向(即ち、ユーザの前方)を向くように、保持部291によりそれぞれ保持される。このとき、撮像部201aが、ユーザの右眼の近傍に保持され、撮像部201bが、当該ユーザの左眼の近傍に保持される。このような構成に基づき、撮像部201aおよび201bは、入出力装置20の前方に位置する被写体(換言すると、実空間に位置する実オブジェクト)を互いに異なる位置から撮像する。これにより、入出力装置20は、ユーザの前方に位置する被写体の画像を取得するとともに、撮像部201aおよび201bそれぞれにより撮像された画像間の視差に基づき、当該入出力装置20(ひいては、ユーザの視点の位置)から、当該被写体までの距離を算出することが可能となる。
 なお、入出力装置20と被写体との間の距離を測定可能であれば、その構成や方法は特に限定されない。具体的な一例として、マルチカメラステレオ、移動視差、TOF(Time Of Flight)、Structured Lightなどの方式に基づき、入出力装置20と被写体との間の距離が測定されてもよい。
 ここで、TOFとは、被写体に対して赤外線などの光を投光し、投光した光が当該被写体で反射して戻るまでの時間を画素ごとに測定することで、当該測定結果に基づき被写体までの距離(深度)を含めた画像(所謂距離画像)を得る方式である。
 また、Structured Lightは、被写体に対して赤外線などの光によりパターンを照射し、それを撮像することで、撮像結果から得られる当該パターンの変化に基づき、被写体までの距離(深度)を含めた距離画像を得る方式である。
 また、移動視差とは、所謂単眼カメラにおいても、視差に基づき被写体までの距離を測定する方法である。具体的には、カメラを移動させることで、被写体を互いに異なる視点から撮像し、撮像された画像間の視差に基づき被写体までの距離を測定する。
 なお、このとき各種センサによりカメラの移動距離および移動方向を認識することで、被写体までの距離をより精度良く測定することが可能となる。なお、距離の測定方法に応じて、撮像部の構成(例えば、単眼カメラ、ステレオカメラなど)を変更してもよい。
 また、撮像部203aおよび203bは、入出力装置20がユーザの頭部に装着されたときに、それぞれの撮像範囲内に当該ユーザの眼球が位置するように、保持部291によりそれぞれ保持される。具体的な一例として、撮像部203aは、撮像範囲内にユーザの右眼が位置するように保持される。このような構成に基づき、撮像部203aにより撮像された右眼の眼球の画像と、当該撮像部203aと当該右眼との間の位置関係と、に基づき、当該右眼の視線が向いている方向を認識することが可能となる。同様に、撮像部203bは、撮像範囲内に当該ユーザの左眼が位置するように保持される。即ち、撮像部203bにより撮像された左眼の眼球の画像と、当該撮像部203bと当該左眼との間の位置関係と、に基づき、当該左眼の視線が向いている方向を認識することが可能となる。なお、図3に示す例では、入出力装置20が撮像部203aおよび203bの双方を含む構成について示しているが、撮像部203aおよび203bのうちいずれかのみが設けられていてもよい。
 また、手位置検出用のIR(Infrared)光源201c、IR撮像部201dは、ウェアラブルデバイス30の(入出力装置20からみた)位置と姿勢を得るためのものである。IR光源201cから照射された(一例として940nmの)赤外光は、ウェアラブルデバイス30の再帰性反射材の光学マーカー(図4)に反射して、IR撮像部201dで撮像される(あるいは、IR光源201cが無く、光学マーカー320(図4)が(一例として940nm波長の)IR LEDであり自発光する構成でもよい)。IR撮像部201dは、(一例として940nm帯を中心とする)赤外光だけを通すバンドパスフィルターを備えており、光学マーカー320(図4)の輝点だけが撮像される。輝点の画像より、入出力装置20からの相対的なウェアラブルデバイス30の位置と姿勢を(一例として比較的高い精度で)得ることが可能である。
 操作部207は、入出力装置20に対するユーザからの操作を受け付けるための構成である。操作部207は、例えば、タッチパネルやボタンなどのような入力デバイスにより構成されていてもよい。操作部207は、保持部291により、入出力装置20の所定の位置に保持されている。例えば、図3に示す例では、操作部207は、メガネのテンプルに相当する位置に保持されている。
 また、本実施形態に係る入出力装置20には、例えば、加速度センサやジャイロセンサ(角速度センサ)などを含む慣性計測部220(図5)(IMU)が設けられる(図示しない)。入出力装置20は、IMUの出力する加速度情報と角速度情報を取得可能である。そして、かかる加速度情報と角速度情報に基づいて、当該入出力装置20を装着したユーザの頭部の動き(換言すると、入出力装置20自体の動き)が検出され得る。具体的な一例として、情報処理装置10は、入出力装置20のIMUが出力する加速度情報と角速度情報を取得し、慣性航法によって入出力装置20の位置および姿勢を算出し、その際発生するドリフト誤差を回帰モデルによって補正することで、入出力装置20の位置情報および姿勢情報を推定し、当該ユーザの頭部の位置および姿勢を取得することが可能である。
 以上のような構成に基づき、本実施形態に係る入出力装置20は、ユーザの頭部の動きに応じた、実空間上における自身の位置や姿勢の変化を認識することが可能となる。また、このとき入出力装置20は、所謂AR技術に基づき、実空間に位置する実オブジェクトに対して、仮想的なコンテンツ(即ち、仮想オブジェクト)が重畳するように、表示部211に当該コンテンツを提示することも可能となる。また、このとき入出力装置20は、例えば、SLAM(Simultaneous Localization And Mapping)と称される技術などに基づき、実空間上における自身の位置および姿勢(即ち、自己位置)を推定してもよく、当該推定結果を仮想オブジェクトの提示に利用してもよい。
 ここで、参考として、SLAMの概要について説明する。SLAMとは、カメラなどの撮像部、各種センサ、エンコーダなどを利用することにより、自己位置推定と環境地図の作成とを並行して行う技術である。より具体的な一例として、SLAM(特に、Visual SLAM)では、撮像部により撮像された動画像に基づき、撮像されたシーン(または、被写体)の3次元形状を逐次的に復元する。そして、撮像されたシーンの復元結果を、撮像部の位置および姿勢の検出結果と関連付けることで、周囲の環境の地図の作成と、当該環境における撮像部(ひいては、入出力装置20)の位置および姿勢の推定とが行われる。なお、撮像部の位置および姿勢については、例えば、入出力装置20に加速度センサや角速度センサなどの各種センサを設けることで、当該センサの検出結果に基づき相対的な変化を示す情報として推定することが可能である。もちろん、撮像部の位置および姿勢を推定可能であれば、その方法は、必ずしも加速度センサや角速度センサなどの各種センサの検知結果に基づく方法のみには限定されない。
 また、入出力装置20として適用可能な頭部装着型の表示装置(HMD:Head Mounted Display)の一例としては、例えば、シースルー型HMD、ビデオシースルー型HMD、および網膜投射型HMDが挙げられる。
 シースルー型HMDは、例えば、ハーフミラーや透明な導光板を用いて、透明な導光部などからなる虚像光学系をユーザの眼前に保持し、当該虚像光学系の内側に画像を表示させる。そのため、シースルー型HMDを装着したユーザは、虚像光学系の内側に表示された画像を視認している間も、外部の風景を視野に入れることが可能となる。このような構成により、シースルー型HMDは、例えば、AR技術に基づき、当該シースルー型HMDの位置および姿勢のうち少なくともいずれかの認識結果に応じて、実空間に位置する実オブジェクトの光学像に対して仮想オブジェクトの画像を重畳させることも可能となる。なお、シースルー型HMDの具体的な一例として、メガネのレンズに相当する部分を虚像光学系として構成した、所謂メガネ型のウェアラブルデバイスが挙げられる。例えば、図3に示した入出力装置20は、シースルー型HMDの一例に相当する。
 ビデオシースルー型HMDは、ユーザの頭部または顔部に装着された場合に、ユーザの眼を覆うように装着され、ユーザの眼前にディスプレイなどの表示部が保持される。また、ビデオシースルー型HMDは、周囲の風景を撮像するための撮像部を有し、当該撮像部により撮像されたユーザの前方の風景の画像を表示部に表示させる。このような構成により、ビデオシースルー型HMDを装着したユーザは、外部の風景を直接視野に入れることは困難ではあるが、表示部に表示された画像により、外部の風景を確認することが可能となる。また、このときビデオシースルー型HMDは、例えば、AR技術に基づき、当該ビデオシースルー型HMDの位置および姿勢のうち少なくともいずれかの認識結果に応じて、外部の風景の画像に対して仮想オブジェクトを重畳させてもよい。
 網膜投射型HMDは、ユーザの眼前に投影部が保持されており、当該投影部からユーザの眼に向けて、外部の風景に対して画像が重畳するように当該画像が投影される。より具体的には、網膜投射型HMDでは、ユーザの眼の網膜に対して、投影部から画像が直接投射され、当該画像が網膜上で結像する。このような構成により、近視や遠視のユーザの場合においても、より鮮明な映像を視認することが可能となる。また、網膜投射型HMDを装着したユーザは、投影部から投影される画像を視認している間も、外部の風景を視野に入れることが可能となる。このような構成により、網膜投射型HMDは、例えば、AR技術に基づき、当該網膜投射型HMDの位置や姿勢のうち少なくともいずれかの認識結果に応じて、実空間に位置する実オブジェクトの光学像に対して仮想オブジェクトの画像を重畳させることも可能となる。
 また、前述では、AR技術を適用することを前提として、本実施形態に係る入出力装置20の構成の一例について説明したが、必ずしも、当該入出力装置20の構成を限定するものではない。例えば、VR技術を適用することを想定した場合には、本実施形態に係る入出力装置20は、没入型HMDと呼ばれるHMDとして構成されていてもよい。没入型HMDは、ビデオシースルー型HMDと同様に、ユーザの眼を覆うように装着され、ユーザの眼前にディスプレイなどの表示部が保持される。そのため、没入型HMDを装着したユーザは、外部の風景(即ち、現実世界の風景)を直接視野に入れることが困難であり、表示部に表示された映像のみが視界に入ることとなる。このような構成により、没入型HMDは、画像を視認しているユーザに対して没入感を与えることが可能となる。
 以上、図3を参照して、本開示の一実施形態に係る入出力装置20の概略的な構成の一例について説明した。
 <3.ウェアラブルデバイスの構成>
 続いて、図4を参照して、図1および図2に示した本実施形態に係るウェアラブルデバイス30の概略的な構成の一例について説明する。図4は、本実施形態に係るウェアラブルデバイス30の概略的な構成の一例について説明するための説明図である。
 前述したように、本実施形態に係るウェアラブルデバイス30は、ユーザが手のひらに装着して使用する所謂装着型デバイスとして構成されている。例えば、図4に示す例では、ウェアラブルデバイス30は、所謂パームベスト型のデバイスとして構成されている。また、ウェアラブルデバイス30は、撮像部(手のひら側)301および撮像部(手の甲側)302を備えており、撮像部(手のひら側)301は、ウェアラブルデバイス30が装着された手の指(手指)を手のひら側から撮像できるように手のひら側に配置され、撮像部(手の甲側)302は、ウェアラブルデバイス30が装着された手の指(手指)を手の甲側から撮像できるように手の甲側に配置されている。
 なお、撮像部(手のひら側)301および撮像部(手の甲側)302それぞれは、TOFセンサとして構成されており、TOFセンサによって得られるデプス画像によって深度(手指までの距離)を得ることが可能である。しかし、撮像部(手のひら側)301および撮像部(手の甲側)302それぞれのセンサの種類は、TOFセンサに限定されず、深度を得ることが可能な他のセンサであってもよい。あるいは、撮像部(手のひら側)301および撮像部(手の甲側)302の一方または双方は、IRセンサなどの2Dセンサであってもよい。
 また、ウェアラブルデバイス30は、表面が再帰性反射材である複数の光学マーカー320と、慣性計測部303(図5)と、振動提示部311とを備える。図4を参照すると、手指F1が示されている。また、手指F1の(撮像部201からみた)相対的な位置と姿勢が位置姿勢R1として示されている。ここで、(撮像部201からみた)相対的な位置は、撮像部201を基準としたカメラ座標系における座標によって表され得る。なお、基準とされる撮像部201は特に限定されない(例えば、撮像部201aが基準であってもよい)。
 また、ウェアラブルデバイス30の(撮像部201からみた)相対的な位置と姿勢が位置姿勢R2として示されている。さらに、撮像部(手のひら側)301の(ウェアラブルデバイス30からみた)相対的な位置と姿勢が位置姿勢R3として示されている。また、手指F1の(撮像部(手のひら側)301からみた)相対的な位置と姿勢が位置姿勢R4として示されている。さらに、撮像部(手の甲側)302の(ウェアラブルデバイス30からみた)相対的な位置と姿勢が位置姿勢R5として示されている。また、手指F1の(撮像部(手の甲側)302からみた)相対的な位置と姿勢が位置姿勢R6として示されている。
 なお、図4には、中指に相当する手指F1が手指の一例として示されている。しかし、後にも説明するように、本実施形態では、中指以外の手指(即ち、親指、人差し指、薬指および小指)も、中指に相当する手指F1と同様に手指として扱われ得る。
 光学マーカー320は、入出力装置20のIR光源201cの照射光を反射する。その反射光をIR撮像部201dで撮像し、得られた映像の輝点からウェアラブルデバイス30の(撮像部201からみた)相対的な位置と姿勢を(一例として比較的高い精度で)得る。なお、光学マーカー320は、再帰性反射材を用いたパッシブマーカーに限らず、IR LEDを用いたアクティブマーカーでもよい。光学マーカー320がアクティブマーカーである場合には、入出力装置20のIR光源201cは不要である。
 慣性計測部303(図5)は、例えば、IMUによって構成されており、入出力装置20が備えるIMUと同様に、IMUの出力する加速度情報と角速度情報を取得し得る。かかる加速度情報と角速度情報に基づき、当該ウェアラブルデバイス30を装着したユーザの手の動き(換言すると、ウェアラブルデバイス30自体の動き)が検出され得る。具体的な一例として、情報処理装置10は、ウェアラブルデバイス30のIMUセンサが出力する加速度情報と角速度情報を取得し、慣性航法によってウェアラブルデバイス30の位置および姿勢を算出し、その際発生するドリフト誤差を回帰モデルによって補正することで、ウェアラブルデバイス30の位置情報および姿勢情報を推定し、当該ユーザの手の位置及び姿勢を取得することが可能である。
 振動提示部311は、振動を発生させる振動アクチュエータの駆動により、ユーザの手に触覚感覚の提示を行う。振動アクチュエータとして、具体的にはボイスコイルモータやLRA(Linear Resonant Actuator)などの並進型のアクチュエータや、偏心モータのような回転型のアクチュエータが用いられるが、並進型のアクチュエータを用いることで、広い周波数範囲での駆動が可能となり、高い振動の表現力が得られる。並進型のアクチュエータを用いる場合には、振動アクチュエータはオーディオ信号に近い、時間変化するアナログ波形の電圧を印加することで駆動される。振動アクチュエータは、提示したい振動強度や提示部位に合わせて、複数箇所に設置することが考えられる。また、振動を提示したい部位(手のひらなど)に直接、振動アクチュエータを配置する方法とは別に、例えば、手のひら上の振動アクチュエータを配置して、周波数ごとの振動伝播特性や手の触覚の感度の違いを踏まえて、手のひら型に触覚感覚を提示させる、といった方法も考えられる。
 <4.システムの機能構成>
 続いて、図5を参照して、本実施形態に係る情報処理システム1の機能構成の一例について説明する。図5は、本実施形態に係る情報処理システム1の機能構成の一例を示したブロック図である。以降では、図1を参照して説明したように、情報処理システム1が情報処理装置10と入出力装置20とウェアラブルデバイス30とを含むものとして、当該情報処理装置10、入出力装置20及びウェアラブルデバイス30それぞれの構成についてより詳しく説明する。なお、図5に示すように、情報処理システム1は、記憶部190を含んでもよい。
 まず、入出力装置20の構成について説明する。図5に示すように、入出力装置20は、撮像部201a、201b及び201dと、出力部210(提示部)と、慣性計測部220(IMU)とを含む。出力部210は、表示部211を含む。また、出力部210は、音響出力部213を含んでもよい。撮像部201a、201b及び201dは、図2を参照して説明した撮像部201a、201b及び201dに相当する。なお、撮像部201a、201b及び201dを特に区別しない場合には、単に「撮像部201」と称する場合がある。また、表示部211は、図2を参照して説明した表示部211に相当する。また、音響出力部213は、スピーカ等のような音響デバイスから成り、出力対象となる情報に応じた音声や音響を出力する。その他、図5には示していないが、前述したように、入出力装置20は、操作部207、撮像部203a、203b、保持部291なども備える。
 次に、ウェアラブルデバイス30の構成について説明する。図5に示すように、ウェアラブルデバイス30は、撮像部(手のひら側)301と、撮像部(手の甲側)302と、慣性計測部303(IMU)と、出力部310とを含む。出力部310は、振動提示部311を含む。振動提示部311は、振動アクチュエータから成り、出力対象となる情報に応じた振動を提示する。その他、図5には示していないが、前述したように、ウェアラブルデバイス30は、光学マーカー320なども備える。
 次いで、情報処理装置10の構成について説明する。図5に示すように、情報処理装置10は、ステレオデプス計算部101と、手指関節認識部103と、手指関節認識部115と、手指関節認識部117と、手指関節認識統合部119とを含む。また、情報処理装置10は、ウェアラブルデバイス位置姿勢推定部109と、慣性積分計算部111と、慣性積分計算部121と、ウェアラブルデバイス位置姿勢統合部113とを含む。また、情報処理装置10は、処理実行部105と、出力制御部107(提示制御部)とを含む。
 ステレオデプス計算部101は、撮像部201aおよび201bそれぞれから出力される画像(撮像結果)を取得し、取得した画像に基づいて、撮像部201aおよび201bの画角のデプス画像を生成する。そして、ステレオデプス計算部101は、撮像部201aおよび201bの画角のデプス画像を手指関節認識部103に出力する。
 手指関節認識部103は、ステレオデプス計算部101によって生成されたデプス画像をステレオデプス計算部101から取得し、取得したデプス画像に基づいて、複数の手指関節それぞれの位置を認識する。各手指関節位置の認識の詳細については後述する。そして、手指関節認識部103は、認識した各手指関節位置の(撮像部201からみた)相対的な位置を位置姿勢として手指関節認識統合部119に出力するとともに、各手指関節位置の認識結果の信頼度(後述)を手指関節認識統合部119に出力する。また、手指関節認識部103は、デプス画像から位置の認識(または推定)に失敗した手指関節があった場合には、認識に失敗した手指関節(認識結果)として推定不能を示す結果を出力する。
 手指関節認識部115は、撮像部(手のひら側)301から出力される画像(撮像結果)を取得し、取得した画像に基づいて、各手指関節位置を認識する。そして、手指関節認識部115は、認識した各手指関節の(撮像部(手のひら側)301からみた)相対的な位置を位置姿勢R4(図4)として手指関節認識統合部119に出力するとともに、各手指関節位置の認識結果の信頼度(後述)を手指関節認識統合部119に出力する。
 同様に、手指関節認識部117は、撮像部(手の甲側)302から出力される画像(撮像結果)を取得し、取得した画像に基づいて、各手指関節位置を認識する。そして、手指関節認識部117は、認識した各手指関節の(撮像部(手の甲側)302からみた)相対的な位置を位置姿勢R6(図4)として手指関節認識統合部119に出力するとともに、各手指関節位置の認識結果の信頼度(後述)を手指関節認識統合部119に出力する。
 ここで、各手指関節の(ウェアラブルデバイス30からみた)相対的な位置は、ウェアラブルデバイス30を基準とする座標系における座標によって表される。なお、ウェアラブルデバイス30を基準とする座標系は特に限定されない(例えば、ウェアラブルデバイス30を基準とする座標系は、撮像部301のカメラ座標系であってもよい)。また、手指関節認識部115および手指関節認識部117それぞれは、画像から位置の認識(または推定)に失敗した手指関節があった場合には、認識に失敗した手指関節(認識結果)として推定不能を示す結果を出力する。
 ウェアラブルデバイス位置姿勢推定部109は、IR撮像部201dから出力される画像(撮像結果)を取得する。かかる画像には、ウェアラブルデバイス30が備える光学マーカー320の反射光である複数の輝点が写っている。したがって、ウェアラブルデバイス位置姿勢推定部109は、複数の輝点の位置関係に基づいて、ウェアラブルデバイス30の(撮像部201からみた)相対的な位置と姿勢を位置姿勢として推定し得る。ウェアラブルデバイス位置姿勢推定部109は、認識したウェアラブルデバイス30の(撮像部201からみた)相対的な位置姿勢(以下、「位置姿勢P1」とも示す。)をウェアラブルデバイス位置姿勢統合部113に出力する。
 ここで、ウェアラブルデバイス位置姿勢推定部109によって認識されるウェアラブルデバイス30の(撮像部201からみた)相対的な位置姿勢P1は、撮像部201を基準としたカメラ座標系によって表される。既に説明したように、基準とされる撮像部201は特に限定されない。
 なお、IR撮像部201dの画角にウェアラブルデバイス30の光学マーカー320の全部が入るとは限らない(即ち、IR撮像部201dの画角に、光学マーカー320が全く入らない場合または光学マーカー320の一部しか含まれない場合があり得る)。あるいは、IR撮像部201dの画角にウェアラブルデバイス30の光学マーカー320の全部が入っていても、オクルージョンなどが原因となって光学マーカー320の全部の反射光がIR撮像部201dによって撮像されるとは限らない(即ち、IR撮像部201dによって、光学マーカー320の反射光が全く撮像されない場合または光学マーカー320の一部しか撮像されない場合があり得る)。全光学マーカー320の内、一定個数(例えば5個)未満のマーカーしか撮像されなかった場合には、ウェアラブルデバイス位置姿勢推定部109は、推定不能を示す結果を出力する。
 慣性積分計算部111は、ウェアラブルデバイス30の慣性計測部303(IMU)から加速度情報および角速度情報を取得し、取得した加速度情報および角速度情報に基づいてウェアラブルデバイス30の位置と姿勢(以下、「位置姿勢P2」とも示す。)を(一例として比較的低い精度で)推定する。かかる位置姿勢P2は、グローバル座標系で表される。例えば、慣性積分計算部111は、慣性航法によってウェアラブルデバイス30の位置および姿勢を算出し、その際発生するドリフト誤差を回帰モデルによって補正することで、ウェアラブルデバイス30の位置情報および姿勢情報を推定することが可能である。慣性積分計算部111は、グローバル座標系で表されるウェアラブルデバイス30の位置姿勢P2を、ウェアラブルデバイス位置姿勢統合部113に出力する。
 同様に、慣性積分計算部121は、入出力装置20の慣性計測部220(IMU)から加速度情報および角速度情報を取得し、取得した加速度情報および角速度情報に基づいて入出力装置20の位置と姿勢(以下、「位置姿勢P3」とも示す。)を推定する。かかる位置姿勢P3は、グローバル座標系で表される。例えば、慣性積分計算部121は、慣性航法によって入出力装置20の位置および姿勢を算出し、その際発生するドリフト誤差を回帰モデルによって補正することで、入出力装置20の位置情報および姿勢情報を推定することが可能である。慣性積分計算部121は、グローバル座標系で表される入出力装置20の位置姿勢P3を、ウェアラブルデバイス位置姿勢統合部113に出力する。
 ウェアラブルデバイス位置姿勢統合部113は、ウェアラブルデバイス位置姿勢推定部109が出力するウェアラブルデバイス30の(撮像部201からみた)相対的な位置姿勢P1を取得する。かかる位置姿勢P1は、撮像部201(例えば、撮像部201a)を基準としたカメラ座標系によって表される。さらに、ウェアラブルデバイス位置姿勢統合部113は、慣性積分計算部111が出力したウェアラブルデバイス30の慣性計測部303の位置姿勢P2と、慣性積分計算部121が出力した入出力装置20の慣性計測部220の位置姿勢P3とを取得する。かかる位置姿勢P2、P3は、それぞれグローバル座標系で表される。
 ウェアラブルデバイス位置姿勢統合部113は、入出力装置20の位置姿勢P3からみたウェアラブルデバイス30の位置姿勢P2の相対的な位置姿勢を算出し、事前にIMU-カメラキャリブレーション等によって求められているIMUとカメラとの位置関係を使って、撮像部201を基準とする座標系(例えば、撮像部201aのカメラ座標系)で表されるウェアラブルデバイス30の位置姿勢(以下、「位置姿勢P4」とも示す。)を算出する。ウェアラブルデバイス位置姿勢統合部113は、位置姿勢P1と位置姿勢P4とを統合し、統合後の位置姿勢R2(図4)を手指関節認識統合部119に出力する。統合後の位置姿勢R2は、撮像部201を基準とする座標系(例えば、撮像部201aのカメラ座標系)で表される。
 ここで、位置姿勢の統合はどのように行われてもよい。例えば、ウェアラブルデバイス位置姿勢統合部113は、ウェアラブルデバイス位置姿勢推定部109によって推定された位置姿勢P1が利用可能であれば(推定不能を示す場合でなければ)、当該位置姿勢P1を手指関節認識統合部119に出力する。一方、ウェアラブルデバイス位置姿勢統合部113は、ウェアラブルデバイス位置姿勢推定部109から推定不能が出力された場合には、位置姿勢P4を手指関節認識統合部119に出力する。
 なお、ここでは、ウェアラブルデバイス位置姿勢統合部113が、入出力装置20のIR撮像部201dによる光学マーカーの撮像結果に基づくウェアラブルデバイス30の位置姿勢と、(入出力装置20およびウェアラブルデバイス30それぞれの)IMUから出力される情報に基づくウェアラブルデバイス30の位置姿勢とを統合する場合を主に想定した。しかし、ウェアラブルデバイス位置姿勢統合部113から手指関節認識統合部119に出力されるウェアラブルデバイス30の位置姿勢は、かかる例に限定されない。
 例えば、ウェアラブルデバイス位置姿勢統合部113は、光学マーカーの撮像結果に基づくウェアラブルデバイス30の位置姿勢、IMUから出力される情報に基づくウェアラブルデバイス30の位置姿勢、磁気トラッキングに基づくウェアラブルデバイス30の位置姿勢、および、超音波センシングに基づくウェアラブルデバイス30の位置姿勢のうち、少なくともいずれか二つの統合結果またはいずれか一つを手指関節認識統合部119に出力してもよい。
 手指関節認識統合部119は、ウェアラブルデバイス位置姿勢統合部113が出力したウェアラブルデバイス30の位置姿勢R2(図4)を用いて、手指関節認識部115および手指関節認識部117それぞれが出力した各手指関節位置(図4には、各手指関節位置の例として、位置姿勢R4および位置姿勢R6が示されている。)を、撮像部201を基準とする座標系(例えば、撮像部201aのカメラ座標系)で表し直す。
 図4に示した例で説明すると、手指関節認識統合部119は、位置姿勢R2と、撮像部(手のひら側)301の(ウェアラブルデバイス30からみた)相対的な位置姿勢R3と、手指関節認識部115が出力した各手指関節位置(位置姿勢R4)とを足し合わせることによって、各手指関節位置(位置姿勢R4)を、撮像部201を基準とする座標系に表し直すことが可能である。
 なお、図4に示されるように、撮像部(手のひら側)301はコントローラ部31に設けられていて、ユーザによるウェアラブルデバイス30の装着状態に応じて、(コントローラ部31が変形しないため)位置姿勢R3は変化しない。そこで、位置姿勢R3はユーザによるウェアラブルデバイス30の装着前にあらかじめ設定され得る。
 同様に、手指関節認識統合部119は、位置姿勢R2と、撮像部(手の甲側)302の(ウェアラブルデバイス30からみた)相対的な位置姿勢R5と、手指関節認識部117が出力した各手指関節位置(位置姿勢R6)とを足し合わせることによって、各手指関節位置(位置姿勢R6)を、撮像部201を基準とする座標系に表し直すことが可能である。なお、図4に示されるように、撮像部(手の甲側)302がコントローラ部31に設けられている場合には、ユーザによるウェアラブルデバイス30の装着状態に応じて、(コントローラ部31が変形しないため)位置姿勢R5は変化しない。そこで、位置姿勢R5はユーザによるウェアラブルデバイス30の装着前にあらかじめ設定され得る。
 ここで、撮像部(手のひら側)301または撮像部(手の甲側)302がウェアラブルデバイス30に固定される例に限定されない。例えば、ユーザによるウェアラブルデバイス30の装着状態に応じてバンド部32などが変形し、位置姿勢R3またはR5は変化してもよい。その場合、撮像部(手のひら側)301、撮像部(手の甲側)302にSLAMを用いてそれぞれ自己位置を推定し、リアルタイムで位置姿勢R3またはR5を算出してもよい。そして、手指関節認識統合部119は、撮像部201を基準とする座標系(例えば、撮像部201aのカメラ座標系)で表し直された、手指関節認識部115および手指関節認識部117それぞれが出力した各手指関節位置と、手指関節認識部103が出力した各手指関節位置とを、それらの信頼度(後述)を用いて統合する。手指関節認識統合部119は、統合後の各手指関節位置を最終的な手指関節位置の推定結果として(ユーザ入力の認識結果として)、処理実行部105に出力する。
 処理実行部105は、情報処理装置10(ひいては、情報処理システム1)が提供する各種機能(例えば、アプリケーション)を実行するための構成である。例えば、処理実行部105は、手指関節認識統合部119から出力される各手指関節位置(ユーザ入力の認識結果)に応じて、対応するアプリケーションを所定の記憶部(例えば、後述する記憶部190)から抽出し、抽出したアプリケーションを実行してもよい。あるいは、処理実行部105は、実行中のアプリケーションの動作を、手指関節認識統合部119から出力される各手指関節位置に応じて制御してもよい。例えば、処理実行部105は、各手指関節位置に応じて、実行中のアプリケーションの以降の動作を切り替えてもよい。あるいは、処理実行部105は、各種アプリケーションの実行結果を示す情報を出力制御部107に出力してもよい。
 出力制御部107は、出力対象となる各種情報を出力部210および出力部310に出力されることで、当該情報をユーザに提示する。例えば、出力制御部107は、出力対象となる表示情報を表示部211に表示させることで、当該表示情報をユーザに提示してもよい。一例として、出力制御部107は、手指関節認識統合部119から出力される各手指関節位置(即ち、手指の認識結果)に基づいて、ユーザによって操作可能な仮想オブジェクトが表示されるように表示部211を制御してもよい。あるいは、出力制御部107は、出力対象となる情報に応じた音響を音響出力部213に出力させることで、当該情報をユーザに提示してもよい。あるいは、出力制御部107は、出力対象となる情報に応じた振動を振動提示部311に出力させることで、当該情報をユーザに提示してもよい。
 例えば、出力制御部107は、各種アプリケーションの実行結果を示す情報を処理実行部105から取得し、取得した当該情報に応じた出力情報を、出力部210を介してユーザに提示してもよい。また、出力制御部107は、所望のアプリケーションの実行結果を示す表示情報を表示部211に表示させてもよい。また、出力制御部107は、所望のアプリケーションの実行結果に応じた出力情報を、音響(音声を含む。)として音響出力部213に出力させてもよい。また、出力制御部107は、所望のアプリケーションの実行結果に応じた出力情報を、振動として振動提示部311に出力させてもよい。
 記憶部190は、各種データ(各種データには、コンピュータを情報処理装置10として機能せるためのプログラムが含まれてもよい。)を一時的または恒常的に記憶するための記憶領域(記録媒体)である。例えば、記憶部190には、情報処理装置10が各種機能を実行するためのデータが記憶されていてもよい。より具体的な一例として、記憶部190には、各種アプリケーションを実行するためのデータ(例えば、ライブラリ)および各種設定などを管理するための管理データなどが記憶されていてもよい。
 なお、図5に示した情報処理システム1の機能構成は、あくまで一例であり、前述した各構成の処理を実現することが可能であれば、情報処理システム1の機能構成は必ずしも図5に示す例に限定されない。具体的な一例として、入出力装置20と情報処理装置10とが一体的に構成されていてもよい。また、他の一例として、記憶部190が、情報処理装置10に含まれていてもよいし、当該情報処理装置10の外部の記録媒体(例えば、当該情報処理装置10に対して外付けされる記録媒体)として構成されていてもよい。また、他の一例として、情報処理装置10の各構成のうち、一部の構成が情報処理装置10の外部(例えば、サーバ等)に設けられていてもよい。
 以上、図5を参照して、本実施形態に係る情報処理システム1の機能構成の一例について説明した。
 <5.手指関節認識の信頼度>
 続いて、図6~図9を参照して、本開示の一実施形態に係る信頼度の算出手法の例について説明する。なお、前述したように、信頼度は、手指関節認識部103、手指関節認識部115および手指関節認識部117それぞれによって、デプス画像に基づいて認識される各手指関節位置がどの程度信頼し得るかを示す情報であり、各手指認識位置に対応する値として算出される。信頼度の算出手法は、手指関節認識部103と手指関節認識部115と手指関節認識部117とにおいて(異なってもよいが)同様であってよい。
 図6は、デプス画像の例を示す図である。図6を参照すると、一例としてデプス画像G1が示されている。デプス画像G1には、ウェアラブルデバイス30が装着されたユーザの手が写っている。デプス画像G1のうち、色の黒さが強い位置ほど、深度が低い(即ち、カメラに近い)位置であることを表している。逆に、色の白さが強い位置ほど、深度が高い(即ち、カメラから遠い)位置であることを表している。
 図7は、手指関節位置の例を示す図である。図7を参照すると、(例えば、図6に示したデプス画像G1のような)デプス画像に基づいて認識される各手指関節位置の例が三次元的に表されている。図7に示した例では、手のひらの中心位置が二重丸で示され、親指の各関節位置が丸で示され、人差し指の各関節位置が三角形で示され、中指の各関節位置がひし形で示され、薬指の各関節位置が五角形で示され、小指の各関節位置が六角形で示されている。各形状内の数字は、「1」が指先を示し、「2」が第一関節中心を示し、「3」が第二関節中心を示し、「4」が第三関節中心(親指を除く)を示す。各手指関節位置の座標は、カメラ座標系で表される。
 図8は、認識された各手指関節位置がデプス画像に再投影された画像の一例を示す図である。図8を参照すると、(例えば、図7に示した各関節位置のように)認識された各手指関節位置が(例えば、図6に示したデプス画像G1のような)デプス画像に再投影されて得られる再投影画像G2が示されている。なお、カメラは、事前にカメラキャリブレーションを実施して、内部パラメータと歪み係数を求めてあるため、これらを用いて、カメラ座標系から画像座標系への変換が行われ得る。
 カメラ座標系は、カメラ前方(カメラの奥行き方向)をz方向とする。ここで、認識された各手指関節位置がデプス画像に再投影された位置のピクセル値は、カメラからの距離を表し、その距離をV(k)とする。一方、認識された各手指関節位置のz座標をZ(k)とする。このとき、その差の絶対値であるΔ(k)=|V(k)-Z(k)|を、その手指関節位置の奥行き方向の誤差とする。なお、Δ(k)は、手指関節位置ごとの奥行き方向の誤差の例に該当し得る。
 そして、全手指関節位置の奥行き方向の誤差のRMS(Root Mean Square、二乗平均平方根)はDとして下記の式(1)のように算出され得る。なお、式(1)中において、nは、手指関節の数を示している。
Figure JPOXMLDOC01-appb-M000001
 そして、式(1)のように算出されたDを用いて、手指関節の信頼度が1/(1+D)として算出され得る。即ち、Dが0のとき、信頼度は最大値1をとり、各関節の奥行き方向の誤差が増えると、信頼度は0に近づいていく。なお、1/(1+D)は、手指関節位置の信頼度の一例に過ぎない。したがって、手指関節位置の信頼度の算出の手法は、かかる例に限定されない。例えば、手指関節位置の信頼度は、手指関節位置の奥行き方向の誤差が大きいほど、小さくなるように算出されればよい。
 図9は、認識された各手指関節位置がデプス画像に再投影された画像の他の例を示す図である。図9を参照すると、図8に示した例と同様に、認識された各手指関節位置がデプス画像に再投影されて得られる再投影画像G3が示されている。再投影画像G3では、人差し指が伸ばされ、それ以外の指が握るように曲げられている。人差し指(図9に示された破線を輪郭線とする指)は、ほとんど親指に隠れてしまっており、デプス画像にはほとんど写っていない。したがって、人差し指の各関節位置は、親指の奥側であると認識される。
 一方、認識された人差し指の各関節位置がデプス画像に再投影された位置のz座標は、カメラから親指の表面までの距離になってしまうため、認識された人差し指の各関節位置までのカメラからの距離(カメラから親指の向こう側にある人差し指までの距離)よりも短い値となってしまう。そのため、認識された人差し指の各関節位置のz座標と、認識された人差し指の各関節位置がデプス画像に再投影された位置のz座標(ピクセル値)との差は大きくなってしまい、信頼度は小さくなってしまう。
 以上、図6~図9を参照して、本開示の一実施形態に係る信頼度の算出手法の例について説明した。
 <6.特筆すべき特徴>
 続いて、本開示の一実施形態の特筆すべき特徴について説明する。前述したように、本開示の一実施形態に係る情報処理装置10においては、各手指関節位置が認識される。例えば、各手指関節位置の認識結果は、指先の位置を検出するために用いられ得る。しかし、身体のある部位が他の部位によって遮蔽されてしまう現象(以下、「セルフオクルージョン」とも言う。)が起こり得る。セルフオクルージョンが起きてしまっている状況では、セルフオクルージョンによって遮蔽されてしまっている手指関節位置の認識精度が低下してしまうことが想定され得る。
 一例として、たとえ各手指関節が撮像範囲に収まったとしても、セルフオクルージョンによってある手指関節が遮蔽されてしまっている場合には、手指関節位置としてあり得る位置の中から最も確からしい位置が手指関節位置として認識される。例えば、人差し指が完全に他の指によって遮蔽されてしまっている場合、人差し指が曲がっているのか、伸びているのかは不明である。そのため、同じような状況であっても、人差し指が曲がっているものとして人差し指の関節位置が認識される場合もあれば、人差し指が伸びているものとして人差し指の関節位置が認識される場合もあるため、手指関節位置の認識精度が向上しない。
 そこで、以下の説明では、手指関節位置の認識精度の低下を抑制することが可能な技術について主に提案する。なお、以下の説明では、ユーザの身体のうち、認識対象の例としてある手指の関節が、他の手指によって遮蔽されてしまう場合を主に想定する。特に、手のひら側に設けられる撮像部301の撮像範囲では、ある手指の関節位置が、他の手指によって遮蔽されてしまう状況が起こりやすい。しかし、ユーザの身体のセルフオクルージョンが起こる部位は限定されない。すなわち、遮蔽する側の部位(第1の部位)および遮蔽される側の部位(第2の部位)は限定されない。例えば、認識対象としての手指関節が、ユーザの身体の手指以外の部位(例えば、ユーザの手のひら、腕など)によって遮蔽される場合にも、本開示の実施形態は適用され得る。
 (6.1.基本的な制御)
 図10は、本開示の実施形態に係る基本的な制御の例について説明するためのフローチャートである。上記したように、処理実行部105は、手指関節認識統合部119から出力される手指関節位置に基づいて、ユーザによって入力される操作を認識し、認識した操作に応じた処理を行う。まず、処理実行部105は、動作モードを通常操作モード(以下、「通常操作モードM1」とも言う。)に設定する。処理実行部105は、動作モードを通常操作モードM1に設定すると、ユーザによって入力される操作(以下、「ユーザ操作」とも言う。)の受け付けを許容する状態に遷移する(S11)。
 ここで、処理実行部105は、ある手指関節が他の手指によって遮蔽されるセルフオクルージョンの発生を検知しない間は(S12において「NO」)、S12が再度実行される。一方、処理実行部105は、ある手指関節が他の手指によって遮蔽されるセルフオクルージョンの発生を検知した場合には(S12において「YES」)、動作モードを操作ガイドモード(以下、「操作ガイドモードM2」とも言う。)に設定する。
 一例として、処理実行部105は、手指関節位置とともに手指関節認識統合部119から出力される当該手指関節位置の信頼度が規定の閾値(第1の信頼度)を下回るか否かに応じて、セルフオクルージョンが発生したか否かを判定してもよい。処理実行部105は、動作モードを操作ガイドモードM2に設定すると、ユーザ操作の受け付けを禁止する状態に遷移する(S13)。これによって、セルフオクルージョンが発生したまま操作に応じた処理が実行されてしまうことにより生じる誤操作の可能性が低減される。
 そして、出力制御部107は、手指の姿勢変更を促す通知情報(以下、「ガイドUI(User Interface)」とも言う。)が提示されるように、入出力装置20の出力部210を制御する(S14)。ここで、手指の姿勢変更を促すガイドUIは、遮蔽される手指関節を有する手指および当該手指関節を遮蔽する手指の少なくともいずれか一方の姿勢の変更を促す情報であればよい。これによって、ユーザは、少なくともいずれか一方の手指の姿勢を変更してセルフオクルージョンを解消しようとするため、手指関節位置の認識精度の低下が抑制されることが期待される。以下では、手指の姿勢変更を促すガイドUIを、「手を開くことをユーザに促すガイドUI」とも言う。
 処理実行部105は、手指関節が他の手指によって遮蔽されるセルフオクルージョンの解消を検知しない間は(S15において「NO」)、S15が再度実行される。一方、手指関節が他の手指によって遮蔽されるセルフオクルージョンの解消を検知した場合には(S15において「YES」)、S11に戻って、動作モードを通常操作モードM1に再度設定する。処理実行部105は、動作モードを通常操作モードM1に再度設定すると、ユーザ操作の受け付けを許容する状態に再度遷移する。
 一例として、処理実行部105は、手指関節位置とともに手指関節認識統合部119から出力される当該手指関節位置の信頼度が規定の閾値(第2の信頼度)を上回るか否かに応じて、セルフオクルージョンが解消したか否かを判定してもよい。なお、セルフオクルージョンが解消したか否かを判定するための閾値(第2の信頼度)は、セルフオクルージョンが発生したか否かを判定するための閾値(第1の信頼度)と同じ値であってもよいし、異なる値であってもよい。
 さらに、本開示の実施形態では、処理実行部105は、手指関節認識統合部119による統合後の各手指関節位置とそれらの信頼度とを用いて、セルフオクルージョンが発生したか否かを判定する場合を主に想定する。しかし、処理実行部105は、手指関節認識部115、手指関節認識部117および手指関節認識部103の少なくともいずれか一つが出力した各手指関節位置とそれらの信頼度とを用いて、セルフオクルージョンが発生したか否かを判定してもよい。
 同様に、処理実行部105は、手指関節認識部115、手指関節認識部117および手指関節認識部103の少なくともいずれか一つが出力した各手指関節位置とそれらの信頼度とを用いてセルフオクルージョンが解消したか否かを判定してもよい。
 以上、本開示の実施形態に係る基本的な制御の例について説明した。
 (6.2.手指関節位置の統合とオクルージョン検知の例)
 続いて、図1~図5を参照しながら、手指関節認識統合部119による手指関節位置の統合の例と、処理実行部105によるセルフオクルージョン検知の例について説明する。
 上記したように、手指関節認識統合部119は、ウェアラブルデバイス位置姿勢統合部113が出力したウェアラブルデバイス30の位置姿勢R2(図4)と、撮像部(手のひら側)301の(ウェアラブルデバイス30からみた)相対的な位置姿勢R3と、手指関節認識部115が出力した各手指関節位置(位置姿勢R4)とを足し合わせる。これによって、手指関節認識統合部119は、各手指関節位置(位置姿勢R4)を、撮像部201を基準とする座標系に表し直す。このようにして撮像部201を基準とする座標系に表し直された後の手指関節ごとの位置情報をQ1(k)とする。ただし、kは手指関節の番号(k=0,1,…)を示す。
 それに加えて、手指関節認識統合部119は、各手指関節位置の信頼度C1(k)を手指関節認識部115から得る。
 手指関節認識統合部119は、ウェアラブルデバイス位置姿勢統合部113が出力したウェアラブルデバイス30の位置姿勢R2(図4)と、撮像部(手の甲側)302の(ウェアラブルデバイス30からみた)相対的な位置姿勢R5と、手指関節認識部117が出力した各手指関節位置(位置姿勢R6)とを足し合わせる。これによって、手指関節認識統合部119は、各手指関節位置(位置姿勢R6)を、撮像部201を基準とする座標系に表し直す。このようにして撮像部201を基準とする座標系に表し直された後の手指関節ごとの位置情報をQ2(k)とする。
 それに加えて、手指関節認識統合部119は、各手指関節位置の信頼度C2(k)を手指関節認識部117から得る。
 手指関節認識統合部119は、ユーザの頭部に装着される入出力装置20の撮像部201aおよび201bそれぞれから出力される画像に基づいて手指関節認識部103によって認識された手指関節ごとの位置情報Q3(k)を得る。さらに、手指関節認識統合部119は、各手指関節位置の信頼度C3(k)を手指関節認識部103から得る。
 一例として、手指関節認識統合部119は、Q(k)(k=0,1,…)を手指関節ごとに以下のようにして求める。すなわち、手指関節認識統合部119は、
 信頼度C1(k)>閾値T1の場合、Q(k)=Q1(k)とし、
 それ以外の場合かつ信頼度C2(k)>閾値T2の場合、Q(k)=Q2(k)とし、
 それ以外の場合かつ信頼度C3(k)が閾値T3の場合、Q(k)=Q3(k)とし、
 それ以外の場合、Q(k)=不明とする。
 このようにして手指関節認識統合部119によって求められたQ(k)は、処理実行部105に出力される。処理実行部105において、初期の動作モードは通常操作モードM1に設定されている。
 処理実行部105は、動作モードが通常操作モードM1である場合、かつ、Q(k)のいずれもが「不明」でない場合、(セルフオクルージョンが発生していないとして)動作モードとして通常操作モードM1を継続させる。一方、処理実行部105は、動作モードが通常操作モードM1である場合、かつ、Q(k)の少なくともいずれか一つが「不明」である場合、(セルフオクルージョンが発生したとして)動作モードを操作ガイドモードM2に切り替える。
 処理実行部105は、動作モードが操作ガイドモードM2である場合、かつ、Q(k)の少なくともいずれか一つが「不明」である場合、(セルフオクルージョンが解消していないとして)動作モードとして操作ガイドモードM2を継続させる。一方、処理実行部105は、動作モードが操作ガイドモードM2である場合、かつ、Q(k)のいずれもが「不明」でない場合、(セルフオクルージョンが解消したとして)動作モードを通常操作モードM1に切り替える。
 処理実行部105は、動作モードが通常操作モードM1である場合には、ユーザ操作の受け付けを許容する。一方、処理実行部105は、動作モードが操作ガイドモードM2である場合には、ユーザ操作の受け付けを禁止するとともに、手を開くことをユーザに促すガイドUIを提示するための制御情報を出力制御部107に出力する。出力制御部107は、制御信号に従って、手を開くことをユーザに促すガイドUIが提示されるように入出力装置20の出力部210を制御する。
 以上に説明したように、手指関節認識統合部119によって手指関節位置が統合されれば、撮像部(手のひら側)301から出力される画像に基づいて手指関節認識部115によって手指関節位置が認識される。そして、撮像部(手のひら側)301から出力される画像に基づいてセルフオクルージョンの発生が検知された場合には、撮像部(手の甲側)302から出力される画像に基づいて手指関節認識部117によって手指関節位置が認識される。さらに、撮像部(手の甲側)302から出力される画像に基づいてセルフオクルージョンの発生が検知された場合には、頭部に装着されている入出力装置20の撮像部201aおよび201bの画角のデプス画像に基づいて手指関節認識部103によって手指関節位置が認識される。
 そして、このようにして手指関節認識統合部119によって手指関節位置が統合されたとしても、セルフオクルージョンが発生して、少なくとも一つの手指関節位置が検出されなかった場合には、ユーザ操作の受け付けを禁止する状態に遷移され、セルフオクルージョンが発生しにくい手指の姿勢をとらせるための指示がユーザに提示され得る。一方、セルフオクルージョンが解消して、全部の手指関節位置が検出された場合には、ユーザ操作の受け付けを許容する状態に復帰される。
 以上、本開示の実施形態に係る手指関節認識統合部119による手指関節位置の統合の例と、処理実行部105によるセルフオクルージョン検知の例について説明した。
 (6.3.ガイドUIの具体例)
 続いて、図11~図16を参照しながら、手を開くことをユーザに促すガイドUIについて説明する。
 図11は、ユーザ操作の例を説明するための図である。図11を参照すると、ウェアラブルデバイス30が装着されたユーザが示されている。また、ユーザによって操作可能なオブジェクトの例として、ボタンB10が存在している。ボタンB10は、入出力装置20の表示部211によって表示されるように出力制御部107によって制御される仮想オブジェクトの一例である。なお、ユーザによって操作可能なオブジェクトは、ボタンB10以外の仮想オブジェクト(例えば、所定の位置を決めるためのスライダのサムなど)であってもよいし、実オブジェクトであってもよい。
 以下では、ユーザ操作が、ボタンB10を押す操作である場合を主に想定する。しかし、ユーザ操作は、オブジェクトに対する他の操作であってもよい。例えば、ユーザ操作は、スライダのサムを移動させる操作であってもよい。
 図11に示された例では、ボタンB10の形状が矩形である。しかし、ボタンB10の形状は限定されない。ここでは、ボタンB10の面(矩形領域)に対して垂直な方向にボタンB10を押すユーザ操作に基づいてボタンB10が移動し、移動したボタンB10が矩形領域v12に達した場合に、処理実行部105によって、ボタンB10に関連付けられた動作が実行される場合を想定する。
 なお、ここでは、ボタンB10を押すユーザ操作が人差し指の指先によって行われる場合を想定する。このとき、人差し指の指先が他の手指(例えば、親指、中指、薬指または小指)、手のひら、または、腕によって遮蔽されるセルフオクルージョンが発生する可能性がある。しかし、人差し指の指先以外の部位によってボタンB10を押すユーザ操作が行われてもよい。
 一例として、ボタンB10を押すユーザ操作は、以下のようにして行われる。まず、ボタンB10の面(矩形領域)を含む仮想的な平面を想定する。そして、手指関節認識統合部119によって得られた人差し指の指先位置の仮想的な平面への射影位置が、ボタンB10の面(矩形領域)に含まれている状態、かつ、人差し指の指先位置とその仮想的な平面との距離が規定の閾値以内である状態を初期状態とする。
 例えば、出力制御部107は、人差し指の指先位置の仮想的な平面への射影位置がボタンB10の面(矩形領域)に含まれたときに、所定のフィードバック(例えば、ボタンB10の色またはテクスチャを変更するなどの視覚的なフィードバック、規定のサウンドを再生するなどの聴覚フィードバック、振動提示による触覚フィードバックなど)をユーザに与えてもよい。
 そして、初期状態を基準として、人差し指の指先位置の仮想的な平面への射影位置がボタンB10の面(矩形領域)に含まれるという「第1の条件」、および、人差し指の指先位置が規定の速度を超えないという「第2の条件」を共に満たしながら、人差し指の指先位置が矢印の方向(ボタンB10から矩形領域v12へ向かう方向)に対して規定の距離移動した状態(例えば、人差し指の指先位置と仮想的な平面との距離が矢印の方向に対して規定の値になった状態)を終了状態とする。
 なお、人差し指の指先位置の移動量に応じて、ボタンB10の表示態様(例えば、色など)が変化してもよい。また、「第2の条件」は、ユーザが手を伸ばしたときに誤ってボタンB10に触れてしまった場合に、ボタンB10が移動されてしまうことを防止するために設けられた条件である。したがって、ユーザによる誤操作の可能性を考慮する必要がなければ、「第2の条件」は考慮されなくてもよい。
 終了状態に達すると、ユーザがボタンB10を押す操作は完了し、処理実行部105は、そのボタンB10に関連付けられた動作を実行する。一方、終了状態に至る前に、第1の条件および第2の条件の少なくともいずれか一方が満たされなくなった場合には、処理実行部105は、ユーザによるボタンB10を押す操作をキャンセルする(すなわち、ボタンB10の位置を元の位置に戻す)。また、処理実行部105は、終了状態に至る前または操作がキャンセルされる前に、人差し指の指先位置の信頼度が既定の閾値を下回った場合、ボタンB10を押す操作の受け付けを禁止する状態に遷移し、出力制御部107は、手を開くことをユーザに促すガイドUIを表示するように表示部211を制御する。
(第1の例)
 図12は、手を開くことをユーザに促すガイドUIの第1の例を説明するための図である。図12を参照すると、矩形領域v30が示されている。矩形領域v30は、初期状態におけるボタンB10の位置を示している。出力制御部107は、人差し指の指先位置の信頼度が既定の閾値を下回った場合、ボタンB10を押す操作の受け付け禁止とともに、ボタンB10の表示を停止するのが望ましい。これによって、ユーザが引き続きボタンB10を押そうとして手を閉じ続ける可能性が低減される。そして、出力制御部107は、ガイドUIの例として、仮想オブジェクトv21~v25(第1の仮想オブジェクト)を表示するように表示部211を制御する。
 仮想オブジェクトv21~v25は、所定の基準位置の例としての矩形領域v30の位置から離れた領域を含んでいる。これによって、仮想オブジェクトv21~v25を見るユーザに対して、手を開くことを促すことが可能である。特に、図12に示された例は、矩形領域v30から離れた5つの領域それぞれに別々の仮想オブジェクトv21~v25が表示される例である。なお、仮想オブジェクトv21~v25は、それぞれ親指、人差し指、中指、薬指および小指によって同時に触れられる位置に表示されるのが望ましい。これによって、ユーザが、仮想オブジェクトv21~v25に対して、それぞれ親指、人差し指、中指、薬指および小指を同時に触れようとすることで、ユーザの手が開くことが期待される。仮想オブジェクトv21~v25それぞれの形状は、矩形に限定されない。
 仮想オブジェクトの数は5つでなくてもよい。例えば、仮想オブジェクトの数は、5以外の複数(例えば、2つ、3つ、または、4つ)であってもよいし、後に説明するように1つであってもよい。しかし、人差し指の指先位置は、人差し指に隣接する手指(すなわち、親指および中指)によって遮蔽される可能性が高いため、遮蔽する側の手指である親指および中指それぞれの指先と、遮蔽される側である人差し指の指先とによって同時に触れられる位置に、仮想オブジェクトが優先的に表示されるのが望ましい。
 処理実行部105は、仮想オブジェクトv21~v25の少なくとも一部に対して、手指が触れたか否かを検出してもよい。出力制御部107は、仮想オブジェクトv21~v25の少なくとも一部に対して、手指が触れたことが検出された場合に、所定のフィードバック(例えば、手指が触れた仮想オブジェクトの色またはテクスチャを変更するなどの視覚的なフィードバック、規定のサウンドを再生するなどの聴覚フィードバック、振動提示による触覚フィードバックなど)をユーザに与えてもよい。
 そして、処理実行部105は、人差し指の指先位置の信頼度が既定の閾値を上回った場合、ボタンB10を押す操作の受け付けを許容する状態に遷移し、出力制御部107は、ガイドUIの表示を停止するとともに、ボタンB10の表示を再開するように表示部211を制御する。これによって、ユーザは、ボタンB10を押す操作を再開することが可能となる。
 なお、ボタンB10が再度表示される位置は、特に限定されない。一例として、ボタンB10が再度表示される位置は、ユーザ操作の受け付けを禁止し始めた時点におけるボタンB10の位置であってもよい。しかし、ボタンB10などのように、終了状態に至るまで処理実行部105による処理が実行されないオブジェクトが操作される場合、オブジェクトが再度表示される位置は、オブジェクトの初期位置であるのが望ましいと考えられる。
 一方、ユーザによって操作されるオブジェクトがスライダのサムなどのように、オブジェクトの位置に応じて処理実行部105によって実行される処理が変化する場合も想定される。かかる場合には、ユーザは既に入力した操作の続きから操作を入力したいと考えることが想定されるため、オブジェクトが再度表示される位置は、ユーザ操作の受け付けを禁止し始めた時点におけるオブジェクトの位置であるのが望ましいと考えられる。
(第1の例の変形例)
 図13および図14は、手を開くことをユーザに促すガイドUIの第1の例の変形例を説明するための図である。図13を参照すると、変形例においても、図12に示された例と同様に、ガイドUIの例として、仮想オブジェクトv21~v25が表示されている。上記したように、仮想オブジェクトv21~v25は、親指、人差し指、中指、薬指および小指が同時に触れられることを想定された仮想オブジェクトである。ここで、人差し指の指先位置を遮蔽し得る手指(すなわち、親指、中指、薬指および小指)の指先の現在位置がユーザに提示されれば、ユーザが手指の姿勢を変更しやすくなることが考えられる。
 そこで、変形例において、出力制御部107は、人差し指の指先位置を遮蔽し得るこれらの手指(すなわち、親指、中指、薬指および小指)の指先位置に応じた仮想オブジェクトv41、v43~v45(第2の仮想オブジェクト)が提示されるように表示部211を制御する。例えば、図13に示されるように、仮想オブジェクトv41、v43~v45の表示位置は、手指(親指、中指、薬指および小指)の指先位置の矩形領域v30を含む仮想的な平面への射影位置であってもよい。また、仮想オブジェクトv41、v43~v45の形状は、円に限定されない。なお、人差し指の指先位置は不明であるため、人差し指の指先位置に応じた仮想オブジェクトは表示されなくてよい。
 手指の指先位置に応じた仮想オブジェクトの数は4つでなくてもよい。例えば、手指の指先位置に応じた仮想オブジェクトの数は、4以外の複数(例えば、2つまたは3つ)であってもよいし、1つであってもよい。しかし、人差し指の指先位置は、人差し指に隣接する手指(すなわち、親指および中指)によって遮蔽される可能性が高いため、親指および中指それぞれの指先に応じた仮想オブジェクトが優先的に表示されるのが望ましい。あるいは、人差し指の指先を実際に遮蔽している手指の指先に応じた仮想オブジェクトが表示されてもよい。
 さらに、各手指を移動させるべき方向をユーザに指示したほうが、ユーザがどのように各手指の姿勢を変更すればいいかを把握しやすくなることが考えられる。そこで、出力制御部107は、ガイドUIの例としての仮想オブジェクトv21、v23~v25の位置と、指先位置に応じた仮想オブジェクトv41、v43~v45の位置とに応じた方向を示す情報が提示されるように表示部211を制御するのが望ましい。
 図14を参照すると、親指の指先位置に応じた仮想オブジェクトv41から、親指に対応する仮想オブジェクトv21に向けた矢印が提示されている。同様に、中指の指先位置に応じた仮想オブジェクトv43から、中指に対応する仮想オブジェクトv23に向けた矢印が提示されている。また、薬指の指先位置に応じた仮想オブジェクトv44から、薬指に対応する仮想オブジェクトv24に向けた矢印が提示されている。さらに、小指の指先位置に応じた仮想オブジェクトv45から、小指に対応する仮想オブジェクトv25に向けた矢印が提示されている。
 さらに、図14に示されたように、仮想オブジェクトv41、v21とそれらに対応する矢印の第1の表示態様(例えば、赤色)と、仮想オブジェクトv43、v23とそれらに対応する矢印の第2の表示態様(例えば、茶色)と、仮想オブジェクトv44、v24とそれらに対応する矢印の第3の表示態様(例えば、緑色)と、仮想オブジェクトv45、v25とそれらに対応する矢印の第4の表示態様(例えば、紫色)とは、異なっているのが望ましい。これによって、ガイドUIの例としての仮想オブジェクトと指先位置に応じた仮想オブジェクトとの対応関係が把握されやすくなる。
(第2の例)
 図15は、手を開くことをユーザに促すガイドUIの第2の例を説明するための図である。図15に示された例では、図12に示された例と異なり、ガイドUIの例としての仮想オブジェクトv51~v55が、矩形領域v30を中心とした円周上に配置されている。このように、ガイドUIの例としての仮想オブジェクトv51~v55が配置される位置は限定されない。また、図15に示された例では、図12に示された例と異なり、ガイドUIの例としての仮想オブジェクトv51~v55それぞれの形状が円形である。このように、ガイドUIの例としての仮想オブジェクトv51~v55それぞれの形状も限定されない。
(第3の例)
 図16は、手を開くことをユーザに促すガイドUIの第3の例を説明するための図である。図16に示された例では、図12および図15に示された例と異なり、ガイドUIの例としての仮想オブジェクトv60が1つ配置されている。仮想オブジェクトv60は、矩形領域v30から離れた領域を含んでいる。このように、ガイドUIの例としての仮想オブジェクトの数は1つであってもよい。一例として、仮想オブジェクトv60は、矩形領域v30を含んで矩形領域v30よりも大きいサイズの仮想オブジェクトであってもよい。図16に示されるように、仮想オブジェクトv60の形状は、開かれた状態の手の形状であってもよい。
(仮想オブジェクトの基準位置)
 上記した各例では、ガイドUIの例として表示される仮想オブジェクトの基準位置が、ユーザによって操作可能なオブジェクトの例としてのボタンB10の位置(矩形領域v30の位置)である場合を主に想定した。しかし、ガイドUIの例として表示される仮想オブジェクトの基準位置は、かかる例に限定されない。例えば、ガイドUIの例として表示される仮想オブジェクトの基準位置は、ウェアラブルデバイス位置姿勢統合部113から出力されるウェアラブルデバイス30の位置であってもよい。
(ボタンの属性変更)
 上記した各例では、セルフオクルージョンが発生した場合に、ユーザ操作の受け付けを禁止する状態に遷移し、セルフオクルージョンが解消した場合に、ユーザ操作の受け付けを許容する状態に遷移する場合を主に想定した。しかし、セルフオクルージョンが発生した場合に、ユーザ操作の受け付けが許容されたまま、出力制御部107は、ボタンB10の属性を変更してもよい。このとき、ガイドUIの例に、ボタンB10の属性を変更することが含まれ得る。これによって、ユーザは、少なくともいずれか一方の手指の姿勢を変更し、セルフオクルージョンを解消させた上で、ボタンB10を押す操作を行うことが期待されるため、上記した各例と同様に、手指関節位置の認識精度の低下が抑制されることが期待される。
 図17は、ボタンB10の属性を変更する例を示す図である。図17を参照すると、属性変更後のボタンB20が示されている。属性変更後のボタンB20は、属性変更前のボタンB10と比較して、サイズが大きくなっている。すなわち、ガイドUIは、ボタンB10の属性としてボタンB10のサイズを大きくすることを含んでもよい。一例として、属性変更後のボタンB20は、属性変更前のボタンB10を含んでボタンB10よりも大きいサイズを有してもよい。なお、属性変更は、サイズ変更に限定されず、形状変更などを含んでもよい。また、図17に示されるように、属性変更後のボタンB20の形状は、開かれた状態の手の形状であってもよい。これによって、ユーザは、手を開いて手のひらをボタンB20に重ねるようにしてボタンB20を押すようになると考えられる。
(ガイドUIの追加)
 上記した例では、セルフオクルージョンが発生し、ガイドUIが提示されてユーザが手を開いてセルフオクルージョンが解消したとしても、再びユーザが指先でボタンB10を押すために手を閉じてしまい、再度セルフオクルージョンが発生してしまうことが想定され得る。このとき、ガイドUIが繰り返し表示されてしまう。そこで、例えば、出力制御部107は、所定の条件が満たされた場合に、ガイドUIの情報量を増加させてもよい。
 例えば、セルフオクルージョンの発生が検知されたことに基づいて、ガイドUIが表示されてから、所定の時間以内(例えば、30秒以内など)に、再度セルフオクルージョンの発生が検知される場合が想定される。かかる場合、出力制御部107は、ガイドUIの表示から所定の時間以内に、処理実行部105によって再度セルフオクルージョンの発生が検知されたことに基づいて、ガイドUIの情報量を増加させてもよい。
 あるいは、セルフオクルージョンの発生が所定の時間範囲以内に所定の回数よりも多く検知される場合(例えば、1分以内に3回以上検知される場合など)も想定される。かかる場合、出力制御部107は、処理実行部105によってセルフオクルージョンの発生が所定の時間範囲以内に所定の回数よりも多く検知されたことに基づいて、ガイドUIの情報量を増加させてもよい。
 例えば、出力制御部107は、手指の姿勢の変更を促すテキスト(例えば、「手を開いたままボタンを押す」などといったテキスト)が追加的なガイドUIとして表示されるように表示部211を制御することによって、ガイドUIの情報量を増加させてもよい。あるいは、出力制御部107は、手指の姿勢の変更を促す音声ガイダンス(例えば、「手を閉じないで操作してください」などといった音声ガイダンス)が追加的なガイドUIとして提示されるように音響出力部213を制御することによって、ガイドUIの情報量を増加させてもよい。
 このとき、出力制御部107は、所定の時間範囲以内に検知されたセルフオクルージョンの発生回数に応じて、ガイドUIの情報量を増加させてもよい。
 例えば、出力制御部107は、処理実行部105によってセルフオクルージョンの発生が所定の時間範囲以内(例えば、1分以内)に、第1の回数(例えば、2回)検知されたことに基づいて、追加的なガイドUIとしてテキストを提示させ、第2の回数(例えば、3回)検知されたことに基づいて、追加的なガイドUIとしてテキストおよび音声ガイダンスを提示させ、第3の回数(例えば、4回)検知されたことに基づいて、追加的なガイドUIとしてユーザがどのように操作をすればよいかを解説する動画またはアニメーションを再生してもよい。
(ガイドUIの他の例)
 上記した例では、ガイドUIの例として、仮想オブジェクトの表示、ボタンの属性変更などを主に想定した。しかし、ガイドUIは、かかる例に限定されない。例えば、出力制御部107は、処理実行部105によってセルフオクルージョンの発生が検知されたことに基づいて、手指の姿勢の変更を促すテキスト(例えば、「手を開いたままボタンを押す」などといったテキスト)がガイドUIの例として表示されるように表示部211を制御してもよい。あるいは、出力制御部107は、処理実行部105によってセルフオクルージョンの発生が検知されたことに基づいて、手指の姿勢の変更を促す音声ガイダンス(例えば、「手を閉じないで操作してください」などといった音声ガイダンス)がガイドUIの例として表示されるように表示部211を制御してもよい。
 以上、ガイドUIの具体例について説明した。
 (6.4.各種の変形例)
 続いて、本開示の実施形態に係る各種の変形例について説明する。
(手の位置姿勢を得るためのカメラ)
 上記した例では、ユーザの頭部に装着される入出力装置20に設けられたIR撮像部201dによって撮像された画像に基づいて、手の位置および姿勢(すなわち、ウェアラブルデバイス30の位置と姿勢)が認識される場合を主に想定した。しかし、手の位置および姿勢は、他のカメラによる撮像画像に基づいて認識されてもよい。例えば、手の位置および姿勢は、スマートフォンのカメラによる撮像画像に基づいて認識されてもよい。あるいは、環境に設置されたカメラによる撮像画像に基づいて認識されてもよい。
(ガイドUIの表示制限)
 上記した例では、セルフオクルージョンの発生が検知された場合に、ガイドUIが無条件に表示される場合を主に想定した。しかし、セルフオクルージョンの発生が検知された場合であっても、ガイドUIが表示されない場合があってもよい。一例として、ユーザが何らかの物(例えば、ボール、棒など)を手に把持している場合には、物によって指先位置が遮蔽されてしまうが、かかる場合には、ガイドUIは表示されなくてもよい。ユーザが物を手に把持しているか否かは、撮像部(手のひら側)301による撮像画像に基づく画像認識(例えば、機械学習による学習済みモデルによる画像認識)などによって推定されてもよい。
 また、他の一例として、ユーザによって操作可能なオブジェクト(例えば、ボタンなど)をユーザが見ていない場合、または、ユーザの頭部に装着される入出力装置20のIR撮像部201dの画角に手が入っていない場合が想定される。かかる場合には、ユーザがオブジェクトを操作しようとしていないと考えられるため、ガイドUIは表示されなくてもよい。すなわち、出力制御部107は、撮像部203aおよび203bにより撮像された画像に基づいて認識された視線がオブジェクトに当たっている場合、かつ、IR撮像部201dによって撮像された画像に基づいて、ウェアラブルデバイス30が認識された場合に、ガイドUIを表示するように表示部211を制御してもよい。
 さらに、上記した例では、セルフオクルージョンの発生が解消されない限り、ガイドUIが表示される場合を主に想定した。しかし、ガイドUIが表示されてもユーザが手を開くことができない状態である場合には、セルフオクルージョンが解消しない状態が続いてしまう場合も想定される。したがって、出力制御部107は、ガイドUIの表示後にセルフオクルージョンの解消が検知されないまま、所定の時間が経過した場合、ガイドUIの表示を中止してもよい。ただし、指先位置が高精度に認識されるようになった訳ではないため、ユーザ操作の受け付けが禁止された状態は引き続き維持されるのが望ましい。
(UIの切り替えタイミング)
 上記した例では、人差し指の指先位置の信頼度が既定の閾値を下回ってから、ガイドUIが表示される場合を主に想定した。しかし、処理実行部105は、人差し指の指先位置の信頼度を時系列的に予測し(外挿し)、出力制御部107は、予測された信頼度が閾値を下回った段階で、ガイドUIを表示するように表示部211を制御してもよい。あるいは、出力制御部107は、信頼度が閾値よりも大きい値を下回った段階で、オブジェクト(ボタンなど)をフェードアウトさせ始めるとともに、ガイドUIをフェードインさせ始め、信頼度が閾値を下回った段階で、オブジェクト(ボタンなど)からガイドUIに完全に切り替えてもよい。
 以上、本開示の一実施形態の特筆すべき特徴について説明した。
 <7.ハードウェア構成例>
 続いて、図18を参照しながら、前述した情報処理装置10や入出力装置20やウェアラブルデバイス30のように、本開示の一実施形態に係る情報処理システム1を構成する各種の情報処理装置のハードウェア構成の一例について、詳細に説明する。図18は、本開示の一実施形態に係る情報処理システム1を構成する各種の情報処理装置のハードウェア構成の一構成例を示す機能ブロック図である。
 本実施形態に係る情報処理システム1を構成する情報処理装置900は、主に、CPU(Central Processing unit)901と、ROM(Read Only Memory)902と、RAM(Random Access Memory)903と、を備える。また、情報処理装置900は、更に、ホストバス907と、ブリッジ909と、外部バス911と、インタフェース913と、入力装置915と、出力装置917と、ストレージ装置919と、ドライブ921と、接続ポート923と、通信装置925とを備える。
 CPU901は、演算処理装置及び制御装置として機能し、ROM902、RAM903、ストレージ装置919又はリムーバブル記録媒体927に記録された各種プログラムに従って、情報処理装置900内の動作全般又はその一部を制御する。ROM902は、CPU901が使用するプログラムや演算パラメータ等を記憶する。RAM903は、CPU901が使用するプログラムや、プログラムの実行において適宜変化するパラメータ等を一次記憶する。これらはCPUバス等の内部バスにより構成されるホストバス907により相互に接続されている。例えば、図5に示す情報処理装置10が有する各ブロックは、CPU901により構成され得る。
 ホストバス907は、ブリッジ909を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス911に接続されている。また、外部バス911には、インタフェース913を介して、入力装置915、出力装置917、ストレージ装置919、ドライブ921、接続ポート923及び通信装置925が接続される。
 入力装置915は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、レバー及びペダル等、ユーザが操作する操作手段である。また、入力装置915は、例えば、赤外線やその他の電波を利用したリモートコントロール手段(いわゆる、リモコン)であってもよいし、情報処理装置900の操作に対応した携帯電話やPDA等の外部接続機器929であってもよい。さらに、入力装置915は、例えば、前述の操作手段を用いてユーザにより入力された情報に基づいて入力信号を生成し、CPU901に出力する入力制御回路などから構成されている。情報処理装置900のユーザは、この入力装置915を操作することにより、情報処理装置900に対して各種のデータを入力したり処理動作を指示したりすることができる。
 出力装置917は、取得した情報をユーザに対して視覚的又は聴覚的に通知することが可能な装置で構成される。このような装置として、CRTディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ELディスプレイ装置及びランプ等の表示装置や、スピーカ及びヘッドホン等の音声出力装置や、プリンタ装置等がある。出力装置917は、例えば、情報処理装置900が行った各種処理により得られた結果を出力する。具体的には、表示装置は、情報処理装置900が行った各種処理により得られた結果を、テキスト又はイメージで表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して出力する。例えば、図5に示す出力部210は、出力装置917により構成され得る。
 ストレージ装置919は、情報処理装置900の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置919は、例えば、HDD(Hard Disk Drive)等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等により構成される。このストレージ装置919は、CPU901が実行するプログラムや各種データ等を格納する。例えば、図5に示す記憶部190は、ストレージ装置919により構成され得る。
 ドライブ921は、記録媒体用リーダライタであり、情報処理装置900に内蔵、あるいは外付けされる。ドライブ921は、装着されている磁気ディスク、光ディスク、光磁気ディスク又は半導体メモリ等のリムーバブル記録媒体927に記録されている情報を読み出して、RAM903に出力する。また、ドライブ921は、装着されている磁気ディスク、光ディスク、光磁気ディスク又は半導体メモリ等のリムーバブル記録媒体927に記録を書き込むことも可能である。リムーバブル記録媒体927は、例えば、DVDメディア、HD-DVDメディア又はBlu-ray(登録商標)メディア等である。また、リムーバブル記録媒体927は、コンパクトフラッシュ(登録商標)(CF:CompactFlash)、フラッシュメモリ又はSDメモリカード(Secure Digital memory card)等であってもよい。また、リムーバブル記録媒体927は、例えば、非接触型ICチップを搭載したICカード(Integrated Circuit card)又は電子機器等であってもよい。
 接続ポート923は、情報処理装置900に直接接続するためのポートである。接続ポート923の一例として、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)ポート等がある。接続ポート923の別の例として、RS-232Cポート、光オーディオ端子、HDMI(登録商標)(High-Definition Multimedia Interface)ポート等がある。この接続ポート923に外部接続機器929を接続することで、情報処理装置900は、外部接続機器929から直接各種のデータを取得したり、外部接続機器929に各種のデータを提供したりする。
 通信装置925は、例えば、通信網(ネットワーク)931に接続するための通信デバイス等で構成された通信インタフェースである。通信装置925は、例えば、有線若しくは無線LAN(Local Area Network)、Bluetooth(登録商標)又はWUSB(Wireless USB)用の通信カード等である。また、通信装置925は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ又は各種通信用のモデム等であってもよい。この通信装置925は、例えば、インターネットや他の通信機器との間で、例えばTCP/IP等の所定のプロトコルに則して信号等を送受信することができる。また、通信装置925に接続される通信網931は、有線又は無線によって接続されたネットワーク等により構成され、例えば、インターネット、家庭内LAN、赤外線通信、ラジオ波通信又は衛星通信等であってもよい。
 以上、本開示の実施形態に係る情報処理システム1を構成する情報処理装置900の機能を実現可能なハードウェア構成の一例を示した。前述の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。なお、図18では図示しないが、情報処理システム1を構成する情報処理装置900に対応する各種の構成を当然備える。
 なお、前述のような本実施形態に係る情報処理システムを構成する情報処理装置900の各機能を実現するためのコンピュータプログラムを作製し、パーソナルコンピュータ等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、前述のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。また、当該コンピュータプログラムを実行させるコンピュータの数は特に限定されない。例えば、当該コンピュータプログラムを、複数のコンピュータ(例えば、複数のサーバ等)が互いに連携して実行してもよい。
 以上、本開示の一実施形態に係る情報処理システム1を構成する各種の情報処理装置のハードウェア構成の一例について説明した。
 <8.まとめ>
 本開示の実施形態によれば、ユーザの身体の第1の部位を撮像範囲に含んだ撮像画像に基づいて認識された第2の部位が前記第1の部位によって遮蔽されていると判定されたことに基づいて、前記第1の部位および前記第2の部位の少なくともいずれか一方の姿勢の変更を促す通知情報が前記ユーザに提示されるように提示部を制御する提示制御部を備える、情報処理装置が提供される。
 かかる構成によれば、ユーザは、第1の部位および第2の部位の少なくともいずれか一方の姿勢を変更してセルフオクルージョンを解消しようとするため、第2の部位の認識精度の低下が抑制されることが期待される。また、第2の部位が第1の部位によって遮蔽されていると判定されたことに基づいて、第2の部位による操作の受け付けを禁止する状態に遷移され得る。かかる構成によれば、第2の部位が第1の部位によって遮蔽されてしまったまま操作に応じた処理が実行されてしまうことにより生じる誤操作の可能性が低減されるため、ユーザは、第2の部位が撮像画像にどのように写っているかを気にする必要がなくなる。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、前述の効果とともに、または前述の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏し得る。
 なお、以下のような構成も本開示の技術的範囲に属する。
(1)
 ユーザの身体の第1の部位を撮像範囲に含んだ撮像画像に基づいて認識された第2の部位が前記第1の部位によって遮蔽されていると判定されたことに基づいて、前記第1の部位および前記第2の部位の少なくともいずれか一方の姿勢の変更を促す通知情報が前記ユーザに提示されるように提示部を制御する提示制御部を備える、
 情報処理装置。
(2)
 前記提示制御部は、前記通知情報として、所定の基準位置から離れた領域を含む1または複数の第1の仮想オブジェクトが提示されるように前記提示部を制御する、
 前記(1)に記載の情報処理装置。
(3)
 前記提示制御部は、前記基準位置から離れた複数の領域それぞれに別々の前記第1の仮想オブジェクトが提示されるように前記提示部を制御する、
 前記(2)に記載の情報処理装置。
(4)
 前記提示制御部は、前記基準位置から離れた領域を含む1つの第1の仮想オブジェクトが提示されるように前記提示部を制御する、
 前記(2)に記載の情報処理装置。
(5)
 前記基準位置は、前記第2の部位によって操作可能なオブジェクトの位置または前記ユーザの身体に装着されるウェアラブルデバイスの位置である、
 前記(2)~(4)のいずれか一項に記載の情報処理装置。
(6)
 前記提示制御部は、前記第1の部位の位置に応じた第2の仮想オブジェクトが提示されるように前記提示部を制御する、
 前記(2)~5のいずれ一項に記載の情報処理装置。
(7)
 前記提示制御部は、前記第1の仮想オブジェクトの位置と前記第2の仮想オブジェクトの位置とに応じた方向を示す情報が提示されるように前記提示部を制御する、
 前記(6)に記載の情報処理装置。
(8)
 前記通知情報は、前記第2の部位によって操作可能な第1の仮想オブジェクトの属性を変更することを含む、
 前記(1)に記載の情報処理装置。
(9)
 前記通知情報は、前記第1の仮想オブジェクトの属性として前記第1の仮想オブジェクトのサイズを大きくすることを含む、
 前記(8)に記載の情報処理装置。
(10)
 前記第2の部位は、奥行方向の位置の信頼度が第1の信頼度を下回る場合に、前記第1の部位によって遮蔽されていると判定される、
 前記(1)~(9)のいずれか一項に記載の情報処理装置。
(11)
 前記情報処理装置は、
 前記第2の部位による操作に応じた処理を実行する処理実行部を備え、
 前記処理実行部は、前記第2の部位が前記第1の部位によって遮蔽されていると判定されたことに基づいて、前記第2の部位による操作の受け付けを禁止する状態に遷移する、
 前記(1)~(10)のいずれか一項に記載の情報処理装置。
(12)
 前記処理実行部は、前記第1の部位による前記第2の部位の遮蔽が解除されたと判定されたことに基づいて、前記第2の部位による操作の受け付けを許容する状態に遷移する、
 前記(11)に記載の情報処理装置。
(13)
 前記第2の部位は、奥行方向の位置の信頼度が第2の信頼度を上回る場合に、前記第1の部位による遮蔽が解除されたと判定される、
 前記(12)に記載の情報処理装置。
(14)
 前記提示制御部は、前記通知情報の提示から所定の時間以内に前記第2の部位が前記第1の部位によって遮蔽されていると再度判定されたことに基づいて、前記通知情報の情報量を増加させる、
 前記(1)~(13)のいずれか一項に記載の情報処理装置。
(15)
 前記提示制御部は、前記第2の部位が前記第1の部位によって遮蔽されていると所定の時間範囲以内に所定の回数よりも多く判定されたことに基づいて、前記通知情報の情報量を増加させる、
 前記(1)~(14)のいずれか一項に記載の情報処理装置。
(16)
 前記提示制御部は、前記通知情報として前記姿勢の変更を促すテキストが表示されるように前記提示部を制御する、
 前記(1)に記載の情報処理装置。
(17)
 前記提示制御部は、前記通知情報として前記姿勢の変更を促す音声ガイダンスが提示されるように前記提示部を制御する、
 前記(1)に記載の情報処理装置。
(18)
 前記第1の部位は、親指、中指、薬指、小指、手のひら、または、腕であり、
 前記第2の部位は、人差し指の指先である、
 前記(1)~(17)のいずれか一項に記載の情報処理装置。
(19)
 ユーザの身体の第1の部位を撮像範囲に含んだ撮像画像に基づいて認識された第2の部位が前記第1の部位によって遮蔽されていると判定されたことに基づいて、前記第1の部位および前記第2の部位の少なくともいずれか一方の姿勢の変更を促す通知情報が前記ユーザに提示されるように、プロセッサが提示部を制御する、
 情報処理方法。
(20)
 コンピュータを、
 ユーザの身体の第1の部位を撮像範囲に含んだ撮像画像に基づいて認識された第2の部位が前記第1の部位によって遮蔽されていると判定されたことに基づいて、前記第1の部位および前記第2の部位の少なくともいずれか一方の姿勢の変更を促す通知情報が前記ユーザに提示されるように提示部を制御する提示制御部を備える、
 情報処理装置として機能させるプログラム。
 1   情報処理システム
 10  情報処理装置
 101 ステレオデプス計算部
 103 手指関節認識部
 105 処理実行部
 107 出力制御部
 109 ウェアラブルデバイス位置姿勢推定部
 111 慣性積分計算部
 113 ウェアラブルデバイス位置姿勢統合部
 115 手指関節認識部
 117 手指関節認識部
 119 手指関節認識統合部
 121 慣性積分計算部
 190 記憶部
 20  入出力装置
 201a 撮像部
 201b 撮像部
 201d IR撮像部
 201c IR光源
 210 出力部
 211 表示部
 213 音響出力部
 220 慣性計測部
 30  ウェアラブルデバイス
 301 撮像部
 302 撮像部
 303 慣性計測部
 310 出力部
 311 振動提示部
 320 光学マーカー
 

Claims (20)

  1.  ユーザの身体の第1の部位を撮像範囲に含んだ撮像画像に基づいて認識された第2の部位が前記第1の部位によって遮蔽されていると判定されたことに基づいて、前記第1の部位および前記第2の部位の少なくともいずれか一方の姿勢の変更を促す通知情報が前記ユーザに提示されるように提示部を制御する提示制御部を備える、
     情報処理装置。
  2.  前記提示制御部は、前記通知情報として、所定の基準位置から離れた領域を含む1または複数の第1の仮想オブジェクトが提示されるように前記提示部を制御する、
     請求項1に記載の情報処理装置。
  3.  前記提示制御部は、前記基準位置から離れた複数の領域それぞれに別々の前記第1の仮想オブジェクトが提示されるように前記提示部を制御する、
     請求項2に記載の情報処理装置。
  4.  前記提示制御部は、前記基準位置から離れた領域を含む1つの第1の仮想オブジェクトが提示されるように前記提示部を制御する、
     請求項2に記載の情報処理装置。
  5.  前記基準位置は、前記第2の部位によって操作可能なオブジェクトの位置または前記ユーザの身体に装着されるウェアラブルデバイスの位置である、
     請求項2に記載の情報処理装置。
  6.  前記提示制御部は、前記第1の部位の位置に応じた第2の仮想オブジェクトが提示されるように前記提示部を制御する、
     請求項2に記載の情報処理装置。
  7.  前記提示制御部は、前記第1の仮想オブジェクトの位置と前記第2の仮想オブジェクトの位置とに応じた方向を示す情報が提示されるように前記提示部を制御する、
     請求項6に記載の情報処理装置。
  8.  前記通知情報は、前記第2の部位によって操作可能な第1の仮想オブジェクトの属性を変更することを含む、
     請求項1に記載の情報処理装置。
  9.  前記通知情報は、前記第1の仮想オブジェクトの属性として前記第1の仮想オブジェクトのサイズを大きくすることを含む、
     請求項8に記載の情報処理装置。
  10.  前記第2の部位は、奥行方向の位置の信頼度が第1の信頼度を下回る場合に、前記第1の部位によって遮蔽されていると判定される、
     請求項1に記載の情報処理装置。
  11.  前記情報処理装置は、
     前記第2の部位による操作に応じた処理を実行する処理実行部を備え、
     前記処理実行部は、前記第2の部位が前記第1の部位によって遮蔽されていると判定されたことに基づいて、前記第2の部位による操作の受け付けを禁止する状態に遷移する、
     請求項1に記載の情報処理装置。
  12.  前記処理実行部は、前記第1の部位による前記第2の部位の遮蔽が解除されたと判定されたことに基づいて、前記第2の部位による操作の受け付けを許容する状態に遷移する、
     請求項11に記載の情報処理装置。
  13.  前記第2の部位は、奥行方向の位置の信頼度が第2の信頼度を上回る場合に、前記第1の部位による遮蔽が解除されたと判定される、
     請求項12に記載の情報処理装置。
  14.  前記提示制御部は、前記通知情報の提示から所定の時間以内に前記第2の部位が前記第1の部位によって遮蔽されていると再度判定されたことに基づいて、前記通知情報の情報量を増加させる、
     請求項1に記載の情報処理装置。
  15.  前記提示制御部は、前記第2の部位が前記第1の部位によって遮蔽されていると所定の時間範囲以内に所定の回数よりも多く判定されたことに基づいて、前記通知情報の情報量を増加させる、
     請求項1に記載の情報処理装置。
  16.  前記提示制御部は、前記通知情報として前記姿勢の変更を促すテキストが表示されるように前記提示部を制御する、
     請求項1に記載の情報処理装置。
  17.  前記提示制御部は、前記通知情報として前記姿勢の変更を促す音声ガイダンスが提示されるように前記提示部を制御する、
     請求項1に記載の情報処理装置。
  18.  前記第1の部位は、親指、中指、薬指、小指、手のひら、または、腕であり、
     前記第2の部位は、人差し指の指先である、
     請求項1に記載の情報処理装置。
  19.  ユーザの身体の第1の部位を撮像範囲に含んだ撮像画像に基づいて認識された第2の部位が前記第1の部位によって遮蔽されていると判定されたことに基づいて、前記第1の部位および前記第2の部位の少なくともいずれか一方の姿勢の変更を促す通知情報が前記ユーザに提示されるように、プロセッサが提示部を制御する、
     情報処理方法。
  20.  コンピュータを、
     ユーザの身体の第1の部位を撮像範囲に含んだ撮像画像に基づいて認識された第2の部位が前記第1の部位によって遮蔽されていると判定されたことに基づいて、前記第1の部位および前記第2の部位の少なくともいずれか一方の姿勢の変更を促す通知情報が前記ユーザに提示されるように提示部を制御する提示制御部を備える、
     情報処理装置として機能させるプログラム。
     
PCT/JP2021/029392 2020-09-28 2021-08-06 情報処理装置、情報処理方法およびプログラム WO2022064881A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2022551185A JPWO2022064881A1 (ja) 2020-09-28 2021-08-06
EP21872013.4A EP4220355A4 (en) 2020-09-28 2021-08-06 INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD, AND PROGRAM
US18/019,975 US20230290092A1 (en) 2020-09-28 2021-08-06 Information processing device, information processing method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-162211 2020-09-28
JP2020162211 2020-09-28

Publications (1)

Publication Number Publication Date
WO2022064881A1 true WO2022064881A1 (ja) 2022-03-31

Family

ID=80846412

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/029392 WO2022064881A1 (ja) 2020-09-28 2021-08-06 情報処理装置、情報処理方法およびプログラム

Country Status (4)

Country Link
US (1) US20230290092A1 (ja)
EP (1) EP4220355A4 (ja)
JP (1) JPWO2022064881A1 (ja)
WO (1) WO2022064881A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017059088A (ja) * 2015-09-18 2017-03-23 沖電気工業株式会社 校正情報作成装置、校正情報作成方法、校正情報作成プログラム、姿勢検知装置、姿勢検知方法、姿勢検知プログラムおよび情報処理システム
JP2017084307A (ja) * 2015-10-30 2017-05-18 キヤノン株式会社 情報処理装置、その制御方法、プログラム、及び記憶媒体
JP2019046291A (ja) 2017-09-05 2019-03-22 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置および画像表示方法
JP2020091904A (ja) * 2014-09-10 2020-06-11 ソニー株式会社 システムおよびコントローラ

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3617845A4 (en) * 2017-04-27 2020-11-25 Sony Interactive Entertainment Inc. CONTROL DEVICE, DATA PROCESSING SYSTEM, CONTROL PROCESS AND PROGRAM

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020091904A (ja) * 2014-09-10 2020-06-11 ソニー株式会社 システムおよびコントローラ
JP2017059088A (ja) * 2015-09-18 2017-03-23 沖電気工業株式会社 校正情報作成装置、校正情報作成方法、校正情報作成プログラム、姿勢検知装置、姿勢検知方法、姿勢検知プログラムおよび情報処理システム
JP2017084307A (ja) * 2015-10-30 2017-05-18 キヤノン株式会社 情報処理装置、その制御方法、プログラム、及び記憶媒体
JP2019046291A (ja) 2017-09-05 2019-03-22 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置および画像表示方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4220355A4

Also Published As

Publication number Publication date
EP4220355A1 (en) 2023-08-02
EP4220355A4 (en) 2024-06-12
US20230290092A1 (en) 2023-09-14
JPWO2022064881A1 (ja) 2022-03-31

Similar Documents

Publication Publication Date Title
JP6780642B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP7092028B2 (ja) 情報処理装置、情報処理方法、及びプログラム
KR20230074780A (ko) 검출된 손 제스처들에 응답한 터치리스 포토 캡처
KR20220120649A (ko) 인공 현실 콘텐츠의 가변 초점 디스플레이를 갖는 인공 현실 시스템
KR20160027097A (ko) 니어 아이 디스플레이용 웹형 계층적 메뉴 디스플레이 구성
US11487354B2 (en) Information processing apparatus, information processing method, and program
KR20140034252A (ko) 헤드 마운티드 디스플레이를 위한 tfov 분류 기법
WO2018198499A1 (ja) 情報処理装置、情報処理方法、及び記録媒体
WO2022005726A1 (en) Augmented reality eyewear 3d painting
US20200103961A1 (en) IMU for Touch Detection
KR20180132989A (ko) 주의 기반 렌더링 및 피델리티
JP7081599B2 (ja) 情報処理装置、情報処理方法、およびプログラム
KR20230113374A (ko) 머리-관련 전달 함수
WO2017104272A1 (ja) 情報処理装置、情報処理方法、及びプログラム
KR20230022239A (ko) 증강 현실 환경 향상
WO2018146922A1 (ja) 情報処理装置、情報処理方法、及びプログラム
JP6638392B2 (ja) 表示装置、表示システム、表示装置の制御方法、及び、プログラム
WO2022005733A1 (en) Augmented reality eyewear with mood sharing
US20230367118A1 (en) Augmented reality gaming using virtual eyewear beams
JP6740613B2 (ja) 表示装置、表示装置の制御方法、及び、プログラム
WO2022064881A1 (ja) 情報処理装置、情報処理方法およびプログラム
WO2022064827A1 (ja) 情報処理装置、情報処理方法およびプログラム
US20230069764A1 (en) Systems and methods for using natural gaze dynamics to detect input recognition errors
US11863963B2 (en) Augmented reality spatial audio experience
TW202414033A (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: 21872013

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022551185

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2021872013

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

Country of ref document: EP

Effective date: 20230428