WO2017134886A1 - 情報処理装置、情報処理方法、及び記録媒体 - Google Patents

情報処理装置、情報処理方法、及び記録媒体 Download PDF

Info

Publication number
WO2017134886A1
WO2017134886A1 PCT/JP2016/082841 JP2016082841W WO2017134886A1 WO 2017134886 A1 WO2017134886 A1 WO 2017134886A1 JP 2016082841 W JP2016082841 W JP 2016082841W WO 2017134886 A1 WO2017134886 A1 WO 2017134886A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
information processing
information
distance
input
Prior art date
Application number
PCT/JP2016/082841
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 CN201680080201.4A priority Critical patent/CN108603749B/zh
Priority to EP21196258.4A priority patent/EP3979047A1/en
Priority to CN202111438702.4A priority patent/CN114327043A/zh
Priority to JP2017565404A priority patent/JPWO2017134886A1/ja
Priority to EP16889369.1A priority patent/EP3413013B1/en
Priority to US16/072,038 priority patent/US10942024B2/en
Publication of WO2017134886A1 publication Critical patent/WO2017134886A1/ja
Priority to US17/144,572 priority patent/US11796309B2/en
Priority to US18/243,396 priority patent/US20230417538A1/en

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/02Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/002Measuring arrangements characterised by the use of optical techniques for measuring two or more coordinates
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B27/0172Head mounted characterised by optical features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/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
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • 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
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B2027/0178Eyeglass type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/12Acquisition of 3D measurements of objects

Definitions

  • the present disclosure relates to an information processing apparatus, an information processing method, and a recording medium.
  • AR augmented reality
  • virtual object virtual content of various aspects such as text, icons, or animation
  • Patent Document 1 discloses an example of AR technology.
  • SLAM simultaneous localization and mapping
  • the present disclosure proposes an information processing apparatus, an information processing method, and a recording medium capable of measuring a distance in real space with a simpler operation.
  • the acquisition unit that acquires the image captured by the predetermined imaging unit and the position information based on at least one of the position and orientation of the imaging unit, the first viewpoint, and the second viewpoint A first image and a second image, which are the images captured in each, and a first position information and a second position information which are the position information of the first viewpoint and the second viewpoint, respectively.
  • an estimation unit that estimates the first position and the second position in real space, and a measurement that measures the distance between the first position and the second position based on the estimation result
  • an information processing apparatus including the unit.
  • the processor acquires the image captured by the predetermined imaging unit and the position information based on at least one of the position and orientation of the imaging unit, and the processor The first image and the second image that are the images captured at each of the second viewpoints, and the first position information and the second images that are the position information of the first viewpoint and the second viewpoint, respectively. And estimating the first position and the second position in real space based on the position information, and determining the distance between the first position and the second position based on the estimation result. And an information processing method is provided.
  • the computer acquires an image captured by a predetermined imaging unit and position information based on at least one of the position and orientation of the imaging unit, the first viewpoint, The first image and the second image that are the images captured at each of the second viewpoints, and the first position information and the second images that are the position information of the first viewpoint and the second viewpoint, respectively. And estimating the first position and the second position in real space based on the position information, and determining the distance between the first position and the second position based on the estimation result.
  • a recording medium on which a program for executing and measuring is recorded.
  • an information processing apparatus an information processing method, and a recording medium that can measure a distance in real space by a simpler operation are provided.
  • FIG. 3 is an explanatory diagram for describing an example of a schematic configuration of an input / output device according to an embodiment of the present disclosure. It is an explanatory view for explaining an outline of an information processing system concerning a 1st embodiment of this indication. An example of display information presented according to a distance measurement result is shown. It is the block diagram shown about an example of the function structure of the information processing system which concerns on the embodiment. It is the flowchart which showed an example of the flow of a series of processes of the information processing system which concerns on the embodiment. It is explanatory drawing for demonstrating the outline
  • FIG. 3 is a block diagram illustrating a hardware configuration example of an information processing apparatus according to an embodiment of the present disclosure.
  • FIG. 1 is an explanatory diagram for explaining an example of a schematic configuration of the input / output device according to the present embodiment.
  • the input / output device 20 is configured as a so-called head-mounted device that is used by a user wearing at least a part of the head.
  • the input / output device 20 is configured as a so-called eyewear type (glasses type) device, and at least one of the lenses 293a and 293b is a transmissive display (output unit 211). It is configured as.
  • the input / output device 20 includes first imaging units 201a and 201b, second imaging units 203a and 203b, an operation unit 207, and a holding unit 291 corresponding to a frame of glasses.
  • the holding unit 291 When the input / output device 20 is mounted on the user's head, the holding unit 291 includes the output unit 211, the first imaging units 201a and 201b, the second imaging units 203a and 203b, and the operation unit 207. It holds so that it may become a predetermined positional relationship with respect to the user's head.
  • the input / output device 20 may include a sound collection unit for collecting the user's voice.
  • the lens 293a corresponds to a right eye side lens
  • the lens 293b corresponds to a left eye side lens. That is, the holding unit 291 holds the output unit 211 so that the output unit 211 (in other words, the lenses 293a and 293b) is positioned in front of the user's eyes when the input / output device 20 is mounted.
  • the first imaging units 201a and 201b are configured as so-called stereo cameras, and when the input / output device 20 is mounted on the user's head, the direction in which the user's head is facing (that is, in front of the user). Are held by the holding portions 291 so as to face each other. At this time, the first imaging unit 201a is held near the right eye of the user, and the first imaging unit 201b is held near the left eye of the user. Based on such a configuration, the first imaging units 201a and 201b capture a subject located in front of the input / output device 20 (in other words, a real object located in real space) from different positions.
  • the input / output device 20 acquires the image of the subject located in front of the user, and also from the input / output device 20 based on the parallax between images captured by the first imaging units 201a and 201b. It is possible to calculate the distance to the subject.
  • the second imaging units 203a and 203b are respectively held by the holding unit 291 so that when the input / output device 20 is mounted on the user's head, the user's eyeball is positioned within each imaging range.
  • the second imaging unit 203a is held so that the user's right eye is positioned within the imaging range. Based on such a configuration, the line of sight of the right eye based on the image of the right eyeball imaged by the second imaging unit 203a and the positional relationship between the second imaging unit 203a and the right eye. It becomes possible to recognize the direction that is facing.
  • the second imaging unit 203b is held so that the left eye of the user is positioned within the imaging range.
  • the input / output device 20 includes a configuration including both the second imaging units 203a and 203b. However, only one of the second imaging units 203a and 203b may be provided. Good.
  • the operation unit 207 is configured to accept an operation from the user with respect to the input / output device 20.
  • the operation unit 207 may be configured by an input device such as a touch panel and buttons.
  • 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 illustrated in FIG. 1, the operation unit 207 is held at a position corresponding to a temple of glasses.
  • the input / output device 20 is provided with, for example, an acceleration sensor or an angular velocity sensor (gyro sensor), and the movement of the head of the user wearing the input / output device 20 (in other words, the input / output device). 20 itself) can be detected.
  • the input / output device 20 detects components of the yaw direction, the pitch direction, and the roll direction as movements of the user's head. A change in at least one of the position and posture of the head may be recognized.
  • the input / output device 20 can recognize a change in its position and posture in the real space according to the movement of the user's head.
  • the input / output device 20 displays the content on the output unit 211 so that virtual content (that is, virtual object) is superimposed on the real object located in the real space. It can also be presented.
  • An example of a method for the input / output device 20 to estimate its own position and orientation in real space (that is, self-position estimation) will be described later in detail.
  • examples of a head-mounted display device (HMD) applicable as the input / output device 20 include a see-through HMD, a video see-through HMD, and a retinal projection HMD.
  • HMD head-mounted display device
  • 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 unit or the like in front of the user's eyes and display an image inside the virtual image optical system. Therefore, a user wearing a see-through HMD can view an external scenery while viewing an image displayed inside the virtual image optical system.
  • the see-through type HMD for example, is based on the AR technology, based on the recognition result of at least one of the position and orientation of the see-through type HMD, with respect to the optical image of the real object located in the real space. It is also possible to superimpose virtual object images.
  • a specific example of the see-through HMD 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 illustrated in FIG. 1 corresponds to an example of a see-through HMD.
  • the video see-through HMD When the video see-through HMD is mounted on the user's head or face, the video see-through HMD is mounted 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 HMD has an imaging unit for imaging a surrounding landscape, and displays an image of a landscape in front of the user captured by the imaging unit on the display unit. With such a configuration, it is difficult for a user wearing a video see-through HMD to directly view an external landscape, but it is possible to confirm the external landscape from an image displayed on the display unit. Become. At this time, the video see-through HMD superimposes a virtual object on an external landscape image according to the recognition result of at least one of the position and orientation of the video see-through HMD, for example, based on the AR technology. You may let them.
  • 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 an 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 formed on the retina. With such a configuration, it is possible to view a clearer video even for a myopic or farsighted user. In addition, the user wearing the retinal projection type HMD can view an external landscape while viewing an image projected from the projection unit.
  • the retinal projection type HMD is based on, for example, the AR technology, and an optical image of a real object located in the real space according to at least one of the positions and orientations of the retinal projection type HMD. It is also possible to superimpose a virtual object image on the image.
  • an HMD called an immersive HMD can be cited.
  • the immersive HMD is mounted 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. For this reason, it is difficult for a user wearing an immersive HMD to directly view an external landscape (that is, a real world landscape), and only the image displayed on the display unit enters the view. With such a configuration, the immersive HMD can give an immersive feeling to the user who is viewing the image.
  • the input / output device 20 images a marker or the like of a known size presented on a real object in real space by an imaging unit such as a camera provided on the input / output device 20. Then, the input / output device 20 estimates at least one of its own relative position and orientation with respect to the marker (and thus the real object on which the marker is presented) by analyzing the captured image.
  • the input / output device 20 will be described focusing on its own position and orientation. However, the input / output device 20 estimates only one of its own position and orientation. Also good.
  • the imaging unit relative to the marker is relative. It is possible to estimate the direction.
  • the distance between the marker and the imaging unit can be estimated according to the marker size in the image. Is possible. More specifically, when a marker is imaged from a far distance, the marker is imaged smaller. At this time, the real space range captured in the image can be estimated based on the angle of view of the imaging unit.
  • the distance between the marker and the imaging unit is calculated backward according to the size of the marker captured in the image (in other words, the ratio of the marker within the angle of view). Is possible.
  • the input / output device 20 can estimate its relative position and orientation with respect to the marker.
  • SLAM simultaneous localization and mapping
  • SLAM is a technology that performs self-position estimation and creation of an environment map in parallel by using an imaging unit such as a camera, various sensors, an encoder, and the like.
  • SLAM particularly Visual SLAM
  • the position and orientation of the imaging unit are estimated as information indicating a relative change based on the detection result of the sensor by providing the input / output device 20 with various sensors such as an acceleration sensor and an angular velocity sensor, for example. Is possible.
  • the method is not necessarily limited to a method based on detection results of various sensors such as an acceleration sensor and an angular velocity sensor.
  • the estimation result of the relative position and orientation of the input / output device 20 with respect to the marker based on the imaging result of the known marker by the imaging unit is the initialization process in the SLAM described above. And may be used for position correction.
  • the input / output device 20 can perform self-position estimation based on SLAM that has received the results of initialization and position correction performed previously, even in a situation where the marker is not included in the angle of view of the imaging unit.
  • the information processing system according to the present embodiment applies the above-described AR and self-position estimation (SLAM, etc.) techniques, and based on operations via the input / output device 20, the distance between a plurality of positions in the real space. Measurement is possible. Therefore, hereinafter, for the information processing system according to the present embodiment, a distance measurement method using the system, a configuration of the system, and processing of the system will be described.
  • SLAM AR and self-position estimation
  • FIG. 2 is an explanatory diagram for explaining an overview of the information processing system according to the present embodiment, and shows an example of a distance measurement method in real space.
  • FIG. 2 both the real object and the virtual object are presented together to make the characteristics of the information processing system according to the present embodiment easier to understand.
  • the user designates the starting point and the ending point of the distance measurement in the real space after wearing the input / output device 20 by the line of sight.
  • the system uses the measurement result of the distance between the input / output device 20 and the real object 90 and the three-dimensional start point and end point specified on the real object 90 based on the recognition result of the user's line of sight. Estimated position. More specifically, the system includes a mesh surface based on the measurement result of the distance (depth) between the input / output device 20 and the real object 90, and a vector indicating the line-of-sight direction (hereinafter also referred to as “line-of-sight vector”). Is recognized as a point on the real object 90 designated by the user (that is, a start point or an end point).
  • the user wears the input / output device 20 and observes the position on the real object 90 as the starting point of the distance measurement, and then performs a predetermined operation for registering the starting point.
  • a predetermined operation for registering the starting point.
  • the system estimates a three-dimensional position in the real space that the user is gazing at and registers the estimated position as a starting point.
  • the system also transfers the virtual object V11 to the input / output device 20 (for example, the output unit 211) so that the virtual object V11 indicating the start point is superimposed on the position in the real space registered as the start point. It may be presented to the user via
  • the user After the registration of the start point is completed, the user performs a predetermined operation for registering the end point while paying attention to the position on the real object 90 as the end point of the distance measurement. In response to this operation, the system registers the end point as in the case of the start point. At this time, the system also presents the virtual object V13 to the user via the input / output device 20 so that the virtual object V13 indicating the end point is superimposed on the position in the real space registered as the end point. Good.
  • the system measures (calculates) the distance between the start point and the end point based on the three-dimensional position estimation results of the registered start point and end point, and display information V17 indicating the measurement result.
  • FIG. 3 shows an example of display information presented according to the distance measurement result.
  • the system may present display information indicating a scale (dimension) in real space.
  • the system measures the virtual object having a tape measure between the start point and the position where the user's line of sight is directed according to the movement of the user's line of sight.
  • V15a and V15b are presented.
  • the system presents a virtual object V15a corresponding to a tape measure case to indicate the position in the real space where the user's line of sight is directed.
  • the system presents a band-like virtual object V15b that is graduated according to the size in the real space between the registered start point and the virtual object V15a.
  • the user can measure the distance in the real space by operating the input / output device 20 with the same feeling as when actually measuring the distance using a tool such as a ruler or a tape measure.
  • a tool such as a ruler or a tape measure.
  • the position to which the user's line of sight is directed is referred to as a “gaze point”, and is the position that is the base point of the line of sight (for example, the position corresponding to the eye. (Position) may be referred to as a “viewpoint”.
  • FIG. 4 is a block diagram illustrating an example of a functional configuration of the information processing system according to the present embodiment.
  • the information processing system 1 includes, for example, an input / output device 20 and an information processing device 10.
  • the input / output device 20 corresponds to the input / output device 20 described with reference to FIG.
  • the input / output device 20 includes a first imaging unit 201, a second imaging unit 203, an input unit 205, and an output unit 211.
  • the input unit 205 includes an operation unit 207. Further, the input unit 205 may include a sound collection unit 209.
  • the first imaging unit 201 corresponds to the first imaging units 201a and 201b illustrated in FIG.
  • the second imaging unit 203 corresponds to the second imaging units 203a and 203b illustrated in FIG.
  • the operation unit 207 and the output unit 211 correspond to the operation unit 207 and the output unit 211 shown in FIG.
  • the first imaging unit 201 is configured as a so-called stereo camera, and includes images of a subject from a plurality of different positions, that is, a subject image from a viewpoint corresponding to the right eye side and a viewpoint corresponding to the left eye side. An image of the subject is taken.
  • an image captured from a viewpoint corresponding to the right eye side is also referred to as a “right eye image”
  • an image captured from a viewpoint corresponding to the left eye side is also referred to as a “left eye image”.
  • the first imaging unit 201 outputs the captured right eye image and left eye image to the information processing apparatus 10.
  • the second imaging unit 203 captures an image of the eyeball of the user wearing the input / output device 20 and outputs the captured image to the information processing apparatus 10. At this time, the second imaging unit 203 may capture images of the eyeballs of the user's right eye and left eye, and output each of the images to the information processing apparatus 10.
  • the operation unit 207 When the operation unit 207 receives an operation from the user, the operation unit 207 outputs control information indicating the content of the operation to the information processing apparatus 10.
  • the sound collection unit 209 collects sound such as a user's voice and outputs an acoustic signal based on the sound collection result to the information processing apparatus 10.
  • the output unit 211 includes a so-called display or the like, and displays display information such as an image based on control from the information processing apparatus 10.
  • the output unit 211 may be configured as a so-called transmissive display.
  • the information processing apparatus 10 includes a depth detection unit 101, a position / orientation estimation unit 103, a gaze detection unit 105, a gaze point detection unit 107, a trigger detection unit 109, and a reference point estimation unit 111. And a distance calculation unit 113 and an output control unit 115.
  • the depth detection unit 101 acquires the right eye image and the left eye image captured by the first imaging unit 201 from the first imaging unit 201.
  • the depth detection unit 101 is based on the parallax between the right eye image and the left eye image, and the distance (that is, the depth) between the input / output device 20 and the subject imaged in the right eye image and the left eye image. Is calculated.
  • the depth detection unit 101 obtains the acquired subject image (for example, right eye image and left eye image) and depth information indicating the calculated depth (for example, information indicating a mesh surface based on the depth measurement result). And output to the position / orientation estimation unit 103. Further, the depth detection unit 101 outputs the depth information to the gazing point detection unit 107.
  • the position / orientation estimation unit 103 is configured to execute processing related to estimation of the position and orientation of the input / output device 20 in real space (processing related to so-called self-position estimation).
  • the position / orientation estimation unit 103 acquires an image of the subject and depth information from the depth detection unit 101.
  • the position / orientation estimation unit 103 performs an analysis process on each acquired image, thereby recognizing an object (real object) captured as a subject in the image.
  • the position / orientation estimation unit 103 calculates a feature amount based on, for example, a feature of an object captured in the image (for example, a feature such as a shape or a pattern), and collates it with information indicating the feature amount of a known object. By doing so, you may recognize the object imaged in the image.
  • the position / orientation estimation unit 103 is based on the recognition result of the real object captured in the acquired image and the acquired depth information (that is, information indicating the distance between the input / output device 20 and the real object).
  • the relative position and orientation of the input / output device 20 with respect to the real object are estimated.
  • the position / orientation estimation unit 103 may estimate the relative position and orientation of the input / output device 20 with respect to the recognized real object based on SLAM.
  • the position / orientation estimation unit 103 indicates a change in the position and orientation of the input / output device 20 from a predetermined detection unit (not shown) (for example, an acceleration sensor or an angular velocity sensor provided in the input / output device 20).
  • Information may be acquired and used for self-position estimation based on SLAM (that is, estimation of the position and orientation of the input / output device 20 with respect to a real object).
  • the position / orientation estimation unit 103 outputs information indicating the estimation result of the position and orientation of the input / output device 20 in the real space to the reference point estimation unit 111. Further, the position / orientation estimation unit 103 outputs a real object recognition result and information indicating the estimation result of the position and orientation of the input / output device 20 in the real space to the output control unit 115.
  • the line-of-sight detection unit 105 acquires an image of the user's eyeball imaged by the second imaging unit 203 from the second imaging unit 203.
  • the line-of-sight detection unit 105 recognizes the direction in which the eyeball imaged in the image is facing by performing analysis processing on the acquired image.
  • the line-of-sight detection unit 105 faces the eyeball in the real space based on the recognition result of the direction in which the eyeball imaged in the image faces and the positional relationship between the eyeball and the second image pickup unit 203.
  • Direction that is, the line-of-sight direction is detected.
  • the positional relationship between the eyeball and the second imaging unit 203 can be recognized or estimated in advance based on the assumed mounting state of the input / output device 20.
  • the line-of-sight direction detected at this time corresponds to a relative direction based on the position and orientation of the input / output device 20. Then, the line-of-sight detection unit 105 outputs line-of-sight information indicating the detection result of the line-of-sight direction to the gaze point detection unit 107.
  • the gazing point detection unit 107 acquires depth information indicating the detection result of the depth from the depth detection unit 101. In addition, the gazing point detection unit 107 acquires line-of-sight information indicating the line-of-sight detection result from the line-of-sight detection unit 105. Then, the gaze point detection unit 107 determines the position in the real space where the user's line of sight is directed based on the acquired depth information and line-of-sight information (that is, the position of the gaze point in the real space). It detects as a relative position on the basis of the position and posture of.
  • the gazing point detection unit 107 calculates a line-of-sight vector based on the line-of-sight information, and calculates the line-of-sight vector and the mesh plane based on the depth information (that is, the three-dimensional position information of the surface of the real object).
  • the intersection point is detected as the position of the gazing point in the real space.
  • the position detected at this time is a relative position based on the position and orientation of the input / output device 20 as described above.
  • the gazing point detection unit 107 outputs information indicating the detected position, that is, the position of the gazing point in the real space (hereinafter also referred to as “position information of the gazing point”) to the reference point estimation unit 111.
  • the trigger detection unit 109 acquires information indicating the user input via the input unit 205 from the input unit 205. Then, when the acquired information indicating the user input indicates a predetermined operation content, the trigger detection unit 109 gives an instruction associated with the operation content to the reference point estimation unit 111 using the user input as a trigger. Do. As a specific example, the trigger detection unit 109 determines that the acquired information indicating the user input is a real space position (hereinafter referred to as “reference”) that serves as a reference for distance measurement, such as the above-described start point and end point. In this case, the reference point estimation unit 111 is instructed to register a reference point using the user input as a trigger.
  • reference real space position
  • the trigger detection unit 109 acquires control information indicating the operation content from the operation unit 207, and when the control information indicates an operation for registering a reference point, the operation is triggered. Then, the reference point estimation unit 111 is instructed to register the reference point.
  • the trigger detection unit 109 may acquire an acoustic signal based on the sound collection result from the sound collection unit 209.
  • the trigger detection unit 109 recognizes the content uttered by the user by performing various analysis processes based on so-called speech recognition processing and natural language source processing on the acquired acoustic signal.
  • the trigger detection unit 109 instructs the reference point estimation unit 111 to register the reference point using the recognition result of the utterance content as a trigger when the content of the utterance by the user indicates the registration of the reference point. Also good.
  • the reference point estimation unit 111 acquires information indicating the estimation result of the position and orientation of the input / output device 20 in the real space from the position and orientation estimation unit 103. Further, the reference point estimation unit 111 acquires the position information of the gazing point from the gazing point detection unit 107. When the reference point estimation unit 111 receives an instruction related to registration of the reference point from the trigger detection unit 109, the reference point estimation unit 111 starts based on the estimation result of the position and orientation of the input / output device 20 and the position information of the gazing point. Estimate the position of a reference point such as a point or end point in real space.
  • the reference point estimation unit 111 determines the three-dimensional position of the gazing point in the real space based on the position information of the gazing point acquired from the gazing point detection unit 107 as the position and orientation of the input / output device 20. Is recognized as a relative position.
  • the reference point estimation unit 111 recognizes the position and orientation of the input / output device 20 in the real space based on information acquired from the position / orientation estimation unit 103. Thereby, the reference point estimation unit 111 can estimate the three-dimensional position of the gazing point in the real space as an absolute position, for example.
  • the reference point estimation unit 111 registers a reference point such as a start point or an end point based on an instruction related to registration of the reference point from the trigger detection unit 109. For example, the reference point estimation unit 111 may register the start point and the end point according to the registration status of the reference point when receiving an instruction related to registration of the reference point. More specifically, when the reference point estimation unit 111 receives the instruction and the start point is not registered, the reference point estimation unit 111 estimates the reference point estimated at that time (i.e., the position in the real space of the gazing point). ) As a starting point. In addition, when the start point is already registered when receiving the instruction, the reference point estimation unit 111 may register the reference point estimated at that time as the end point.
  • the reference point estimation unit 111 may individually receive an instruction related to registration for each of the start point and the end point from the trigger detection unit 109. For example, when the reference point estimation unit 111 recognizes that registration of the start point is instructed by the user based on an instruction from the trigger detection unit 109, the reference point estimation unit 111 registers the reference point estimated at that time as the start point. Similarly, when the reference point estimation unit 111 recognizes that registration of an end point is instructed by the user based on an instruction from the trigger detection unit 109, the reference point estimation unit 111 may register the reference point estimated at that time as the end point. Good.
  • the reference point estimation unit 111 registers reference points such as a start point and an end point based on an instruction from the trigger detection unit 109, and position information indicating the position of each registered reference point in real space. To the distance calculation unit 113. Thereby, the distance calculation unit 113 can recognize the position of each registered reference point in the real space.
  • the reference point estimation unit 111 may sequentially output information indicating the position of the gazing point in the real space to the distance calculation unit 113.
  • the distance calculation unit 113 can recognize in real time the position in the real space where the user's line of sight is directed (that is, the position in the real space of the gazing point).
  • the distance calculation unit 113 acquires position information indicating the position of each registered reference point (for example, start point and end point) in real space from the reference point estimation unit 111.
  • the distance calculation unit 113 calculates the distance between the plurality of reference points based on the registered position information of each reference point, and outputs information indicating the calculation result of the distance to the output control unit 115.
  • the distance calculation unit 113 may output information indicating the position information of each registered reference point to the output control unit 115.
  • the distance calculation unit 113 may sequentially acquire information indicating the position of the gazing point in the real space from the reference point estimation unit 111. In this case, for example, the distance calculation unit 113 calculates the distance between the registered reference point (for example, the start point) and the gaze point, and sends information indicating the calculation result of the distance to the output control unit 115. It may be output. At this time, the distance calculation unit 113 may output information indicating the position of the gazing point in real space to the output control unit 115.
  • the output control unit 115 presents the virtual object to the user via the output unit 211 so that the virtual object is superimposed on the real space based on the AR technology.
  • the output control unit 115 acquires the recognition result of the real object and information indicating the estimation result of the position and orientation of the input / output device 20 in the real space from the position / orientation estimation unit 103.
  • the output control unit 115 can estimate the positional relationship between the input / output device 20 and the recognized real object in the real space.
  • the output control unit 115 for example, in accordance with the positional relationship in the real space between the input / output device 20 and the recognized real object, the virtual object is superimposed at a desired position in the real space.
  • the virtual object is displayed on the output unit 211.
  • the output control unit 115 may execute various processes related to generation of display information such as rendering in order to present the virtual object as CG (Computer Graphic).
  • the output control unit 115 may acquire information indicating the calculation result of the distance from the distance calculation unit 113, and cause the output unit 211 to display display information corresponding to the calculation result of the distance based on the information. At this time, the output control unit 115 may acquire position information of each registered reference point from the distance calculation unit 113. In this case, the output control unit 115 sends the display information to the output unit 211 so that the display information indicating each reference point is superimposed on the position of the reference point in real space based on the acquired position information. It may be displayed.
  • the output control unit 115 acquires information indicating the calculation result of the distance between the registered reference point and the gazing point from the distance calculation unit 113, and displays the information according to the calculation result of the distance based on the information.
  • Information may be displayed on the output unit 211.
  • the output control unit 115 may acquire information indicating the position of the gazing point in the real space from the distance calculation unit 113.
  • the output control unit 115 displays, for example, display information (for example, virtual objects V15a and V15b as shown in FIGS. 2 and 3) according to the positional relationship between the registered reference point and the gazing point. ) May be displayed on the output unit 211.
  • the configuration shown in FIG. 4 is merely an example, and the configuration of the information processing system 1 is not necessarily limited to the example shown in FIG.
  • the input / output device 20 and the information processing device 10 may be integrally configured.
  • some of the configurations of the information processing device 10 may be provided in a device (for example, the input / output device 20 or an external server) different from the information processing device 10. Good.
  • the input / output device 20 is configured as a so-called see-through type HMD as shown in FIG. 1 .
  • the input / output device 20 is a video see-through type HMD. Or a retinal projection type HMD.
  • the output control unit 115 displays an image obtained by superimposing a virtual object on the image captured by the first imaging unit 201. What is necessary is just to display on the output part 211.
  • an image of an object (real object) in real space and depth information indicating the distance from the input / output device 20 to the object are acquired based on the image captured by the stereo camera.
  • the example to do was demonstrated.
  • the configuration for acquiring the image and the depth information is as follows.
  • a distance measuring unit may be provided to measure the distance separately from the imaging unit for acquiring an image of an object in real space.
  • the configuration of the distance measuring unit is not particularly limited.
  • the distance from the input / output device 20 to the object may be measured based on a method such as moving parallax, TOF (Time Of Flight), or Structured Light.
  • TOF refers to projecting light such as infrared rays to a subject and measuring the time until the posted light is reflected and returned by the subject for each pixel, and based on the measurement result
  • This is a method of obtaining an image (so-called distance image) including the distance (depth) of the image.
  • Structured Light is a distance image that includes the distance (depth) to the subject based on the change in the pattern obtained from the imaging result by irradiating the subject with light such as infrared rays and imaging it. It is a method to obtain.
  • the moving parallax is a method of measuring the distance to the subject based on the parallax even in a so-called monocular camera.
  • the subject is imaged from different viewpoints by moving the camera, and the distance to the subject is measured based on the parallax between the captured images.
  • the distance to the subject can be measured with higher accuracy by recognizing the moving distance and moving direction of the camera using various sensors.
  • the configuration of the imaging unit for example, a monocular camera, a stereo camera, or the like
  • FIG. 5 is a flowchart illustrating an example of a flow of a series of processes of the information processing system according to the present embodiment.
  • the information processing apparatus 10 depth detection unit 101
  • the input / output device 20 the captured subject (that is, the real object)
  • the distance (depth) between is calculated.
  • the image of the real object and the depth information indicating the distance between the input / output device 20 and the real object are acquired (S101).
  • the information processing device 10 estimates the relative position and orientation of the input / output device 20 with respect to the real object captured in the image based on the acquired image and depth information.
  • the position / orientation estimation unit 103 may estimate the relative position and orientation of the input / output device 20 with respect to the recognized real object based on SLAM (S103). Note that the relative position and orientation estimation method of the input / output device 20 is as described above as the processing of the position and orientation estimation unit 103.
  • the information processing apparatus 10 (line-of-sight detection unit 105) also determines the direction of the line of sight based on the image of the user's eyeball imaged by the second imaging unit 203 and the positional relationship between the eyeball and the second imaging unit 203. Is detected (S105).
  • the information processing apparatus 10 (gaze point detection unit 107), based on the detection result of the gaze direction and the acquired depth information, the position in the real space where the user's gaze is directed (that is, the actual gaze point).
  • the position in space is detected as a relative position based on the position and orientation of the input / output device 20.
  • the information processing apparatus 10 (reference point estimation unit 111) performs the note processing based on the detection result of the position of the gazing point in the real space and the estimation result of the position and orientation of the input / output device 20 in the real space.
  • a three-dimensional position of the viewpoint in the real space is estimated as an absolute position (S107).
  • the information processing apparatus 10 sequentially executes a series of processes indicated by reference numerals S101 to S107 unless a predetermined trigger based on a user input via the input unit 205 is detected (S109, NO). Then, when a predetermined trigger based on a user input is detected (S109, YES), the information processing apparatus 10 executes processing related to registration of a start point and an end point.
  • the information processing apparatus 10 determines the three-dimensional position in the real space of the point of interest when the trigger is detected. Is registered as a starting point (S113). After registration of the start point, the information processing apparatus 10 (distance calculation unit 113) calculates the distance from the registered start point to the current gaze point (S115).
  • the information processing apparatus 10 when the start point has already been registered (S111, YES), the information processing apparatus 10 (reference point estimation unit 111) performs a three-dimensional operation on the real space of the point of interest when the trigger is detected. The position is registered as an end point (S117). In this case, the information processing apparatus 10 (distance calculation unit 113) calculates the distance from the registered start point to the end point. Then, the information processing apparatus 10 (output control unit 115) causes the output unit 211 of the input / output device 20 to display display information based on the calculation result of the distance.
  • the information processing apparatus 10 executes the above-described series of processing until the user instructs the end of the processing (for example, the end of the application) (S121, NO).
  • the end of the process is instructed by the user (S121, YES)
  • the information processing apparatus 10 ends the series of processes described above.
  • the user designates the start point and the end point of the distance measurement in the real space by wearing the input / output device 20 and using the line of sight.
  • the information processing apparatus 10 determines the start point and the end point based on each image captured by the input / output device 20 from a plurality of different viewpoints and the estimation result of the position and orientation of the input / output device 20 at each viewpoint.
  • the position of the reference point in the real space is estimated.
  • the information processing apparatus 10 calculates (measures) the distance between the start point and the end point based on the estimation results of the positions of the start point and the end point in real space.
  • the information processing apparatus 10 presents display information based on the calculation result of the distance between the start point and the end point to the user via the input / output device 20.
  • the user can measure the distance in the real space by a simpler operation using the input / output device 20 without actually measuring the distance using a tool such as a ruler or a tape measure. Can be done.
  • the position and orientation of the input / output device 20 are sequentially estimated based on a self-position estimation technique such as SLAM during a series of operations related to distance measurement in real space.
  • a self-position estimation technique such as SLAM
  • SLAM self-position estimation technique
  • the present embodiment is not necessarily limited to the same mode.
  • the information processing system according to the present embodiment is configured such that three or more reference points can be registered and the distance between each of the three or more registered reference points can be measured. May be.
  • the information processing apparatus 10 uses the previously registered end point as a via point as a start point and a via point. And the distance between the via point and the newly registered end point may be calculated.
  • the number of via points is not limited to one, and a plurality of via points may be registered. The same applies to information processing systems according to other embodiments and modifications described below.
  • FIG. 6 is an explanatory diagram for explaining an overview of the information processing system according to the present embodiment, and illustrates an example of a distance measurement method in real space.
  • FIG. 6 both the real object and the virtual object are presented together in order to make the characteristics of the information processing system according to the present embodiment easier to understand.
  • the information processing system detects the line of sight of the user wearing the input / output device 20, and based on the detection result of the line of sight, a virtual object V19 for designating a reference point such as a start point or an end point Is presented to the user via the input / output device 20.
  • a virtual object V19 for designating a reference point such as a start point or an end point Is presented to the user via the input / output device 20.
  • arrow-shaped virtual objects V19a and V19b indicating the user's line-of-sight direction are presented.
  • the user adjusts the direction and length of the virtual object V19 presented according to the detection result of his / her line of sight based on an operation via the input / output device 20, thereby starting a distance measurement start point in real space. Specify the end point.
  • the user attaches the input / output device 20 as shown by the reference symbol P11, pays attention to the position in the real space to be registered as the start point, and displays a virtual object with respect to the input / output device 20.
  • a predetermined operation related to the arrangement of V19 is performed.
  • the system detects the user's line of sight, and the virtual object V19a corresponding to the detected line-of-sight direction (that is, the line-of-sight vector) is superimposed on the real space via the input / output device 20.
  • the virtual object V19a is presented to the user.
  • the user refers to the virtual object V19a presented to be superimposed on the real space from another viewpoint (for example, another angle) as indicated by the reference symbol P12, and via the input / output device 20
  • the direction and length of the virtual object V19a are adjusted by the operation.
  • the user designates a position in the real space to be registered as a start point by the virtual object V19a.
  • the system registers the position in the real space designated by the virtual object V19a as a start point. For example, in the example shown in FIG. 6, the system registers the position in the real space indicated by the arrow-like virtual object V19a as the start point.
  • the user registers the end point in the same way as the start point. For example, the user gazes at a position in the real space to be registered as the end point and performs a predetermined operation as indicated by reference numeral P13.
  • the system detects the user's line of sight and presents the virtual object V19b to the user according to the detection result.
  • the user refers to the presented virtual object V19b from another viewpoint, and adjusts the direction and length of the virtual object V19b by an operation via the input / output device 20, thereby registering the real space as an end point. Specify the top position. Then, the system registers the position in the real space indicated by the arrow-like virtual object V19b as the end point.
  • the operation after registration of the start point and end point is the same as in the first embodiment described above. That is, the system measures (calculates) the distance between the start point and the end point based on the registered three-dimensional positions of the start point and the end point, and displays various display information according to the measurement result. It is presented to the user via the input / output device 20. With such a configuration, the user can measure the distance in the real space by a simpler operation using the input / output device 20 without actually measuring the distance using a tool such as a ruler or a tape measure. Can be done.
  • the position in the real space to be registered as a reference point such as a start point or an end point is specified by adjusting the direction and length of the virtual object V19. Therefore, unlike the information processing system according to the first embodiment, the information processing system according to the present embodiment can register a position in the real space where no real object exists as a reference point.
  • FIGS. 7 to 9 are flowcharts showing an example of a flow of a series of processes of the information processing system according to the present embodiment.
  • the information processing system according to the present embodiment has the same basic functional configuration as the system according to the first embodiment described above (see FIG. 4), but the processing in some configurations is different. Therefore, in the present description, the features of the information processing system according to the present embodiment will be described in more detail, particularly focusing on processing different from the information processing system according to the first embodiment described above.
  • the processing indicated by reference numerals S101 to S107 is the same as that of the information processing system (see FIG. 5) according to the first embodiment described above. That is, the information processing apparatus 10 (depth detection unit 101) is based on the right eye image and the left eye image captured by the first imaging unit 201, and between the real object image and the input / output device 20 and the real object. Depth information indicating the distance is acquired (S101). Next, based on the acquired image and depth information, the information processing apparatus 10 (position / orientation estimation unit 103) estimates the relative position and orientation of the input / output device 20 with respect to the real object captured in the image (S103). .
  • the information processing apparatus 10 (line-of-sight detection unit 105) also determines the direction of the line of sight based on the image of the user's eyeball imaged by the second imaging unit 203 and the positional relationship between the eyeball and the second imaging unit 203. Is detected (S105).
  • the information processing apparatus 10 (gaze point detection unit 107) uses the gaze direction detection result and the acquired depth information to determine the position of the gaze point in the real space with reference to the position and orientation of the input / output device 20. The relative position is detected.
  • the information processing apparatus 10 performs the note processing based on the detection result of the position of the gazing point in the real space and the estimation result of the position and orientation of the input / output device 20 in the real space.
  • a three-dimensional position of the viewpoint in the real space is estimated as an absolute position (S107).
  • the information processing apparatus 10 determines the three-dimensional position and orientation in the real space of the vector (in other words, the line-of-sight vector) connecting the input / output device 20 and the gazing point as the absolute position. May be estimated.
  • the information processing apparatus 10 performs a series of processes indicated by reference numerals S101 to S107 unless a predetermined trigger based on a user input via the input unit 205 is detected (S123, NO, and S125, NO). Run sequentially.
  • FIG. 8 is a flowchart showing an example of a flow of a series of processes related to the adjustment of the reference point.
  • the information processing apparatus 10 designates the reference point according to the three-dimensional position and orientation in the real space of the vector connecting the input / output device 20 and the gazing point.
  • the virtual object V19 is presented to the user via the output unit 211 of the input / output device 20 (S151).
  • the information processing apparatus 10 calculates the distance from the reference point whose position has been adjusted to the current gazing point (S157).
  • the information processing apparatus 10 responds to the adjustment result of the direction and length of the virtual object V19 based on the user input.
  • the three-dimensional position of the reference point registered as the end point is adjusted. That is, the information processing apparatus 10 recognizes the three-dimensional position indicated by the virtual object V19 whose direction and length are adjusted as the position of the adjusted reference point (S159).
  • the information processing apparatus 10 (distance calculation unit 113) calculates the distance from the start point to the reference point whose position is adjusted (that is, the reference point registered as the end point). Display information based on the calculation result is displayed on the output unit 211 of the input / output device 20.
  • FIG. 9 is a flowchart showing an example of a flow of a series of processes related to registration of a reference point and distance measurement.
  • the information processing device 10 when the start point is not registered (S171, NO), is a three-dimensional in real space of the point of interest when the trigger is detected.
  • a specific position that is, the position indicated by the virtual object V19
  • the information processing apparatus 10 calculates the distance from the registered start point to the current point of interest (S175).
  • the information processing apparatus 10 performs a three-dimensional operation on the real space of the point of interest when the trigger is detected.
  • the position that is, the position indicated by the virtual object V19
  • the information processing apparatus 10 calculates the distance from the registered start point to the end point, and displays display information based on the calculation result of the distance as the output unit 211 of the input / output device 20. To display.
  • the information processing apparatus 10 performs the above-described series of processes until the user instructs the end of the process (for example, the end of the application) (NO in S127).
  • the information processing apparatus 10 ends the above-described series of processes.
  • the information processing apparatus 10 detects the line of sight of the user wearing the input / output device 20, and based on the detection result of the line of sight, the start point and the end point A virtual object V19 for designating a reference point such as is presented to the user via the input / output device 20.
  • the user adjusts the direction and length of the virtual object V19 presented according to the detection result of his / her line of sight based on an operation via the input / output device 20, thereby starting a distance measurement start point in real space. Specify the end point.
  • the information processing apparatus 10 recognizes the three-dimensional position of the start point and the end point according to the position in the real space indicated by the virtual object V19 whose direction and length are adjusted, and between the start point and the end point. The distance is calculated (measured). Then, the information processing apparatus 10 presents display information based on the calculation result of the distance between the start point and the end point to the user via the input / output device 20. With such a configuration, the user can measure the distance in the real space by a simpler operation using the input / output device 20 without actually measuring the distance using a tool such as a ruler or a tape measure. Can be done.
  • the position in the real space to be registered as a reference point such as a start point or an end point is specified by adjusting the direction and length of the virtual object V19. Therefore, unlike the information processing system according to the first embodiment, the information processing system according to the present embodiment can register a position in the real space where no real object exists as a reference point.
  • FIG.10 and FIG.11 is explanatory drawing for demonstrating the outline
  • FIGS. 10 and 11 both the real object and the virtual object are presented together in order to make the characteristics of the information processing system according to the present embodiment easier to understand.
  • the user can set the distance in the real space by bringing the input / output device 20 into contact with or in proximity to a desired position on the real object 90. Specify the start and end points of the measurement.
  • the user first brings the input / output device 20 into contact with or close to the position in the real space to be registered as the starting point, as indicated by reference symbol P21, and the starting point of the input / output device 20 is determined.
  • a predetermined operation related to registration is performed.
  • the system touches or approaches the input / output device 20 based on the position and orientation of the input / output device 20 and the distance (depth) between the input / output device 20 and the real object 90.
  • the three-dimensional position in the real space is estimated, and the estimated position is registered as a starting point.
  • the registration of the end point is the same as in the case of the start point.
  • the user brings the input / output device 20 into contact with or close to a position in the real space to be registered as the end point, and performs a predetermined operation related to the end point registration with respect to the input / output device 20 I do.
  • the system touches or approaches the input / output device 20 based on the position and orientation of the input / output device 20 and the distance (depth) between the input / output device 20 and the real object 90.
  • the three-dimensional position in the real space is estimated, and the estimated position is registered as the end point.
  • the system measures (calculates) the distance between the start point and the end point based on the registered three-dimensional positions of the start point and the end point, and displays various display information according to the measurement result. It is presented to the user via the input / output device 20.
  • the user can measure the distance in the real space by a simpler operation using the input / output device 20 without actually measuring the distance using a tool such as a ruler or a tape measure. Can be done.
  • a terminal device 30 such as a so-called smartphone or tablet terminal may be used instead of the input / output device 20 as a device for measuring a distance in real space.
  • FIG. 11 shows an outline of a procedure when measuring the distance in the real space using the terminal device 30 in the information processing system according to the present embodiment.
  • the terminal device 30 receives the image of the real object and the depth information indicating the distance between the terminal device 30 and the real object, like the input / output device 20. It shall be configured to be obtainable.
  • the user brings the terminal device 30 into contact with or close to the position in the real space to be registered as the start point, as indicated by the reference symbol P ⁇ b> 31, A predetermined operation related to registration is performed.
  • the system detects that the terminal device 30 is in contact with or close to the real space based on the position and orientation of the terminal device 30 and the distance (depth) between the terminal device 30 and the real object 90.
  • the upper three-dimensional position is estimated, and the estimated position is registered as a start point.
  • the registration of the end point is the same as in the case of the start point.
  • the user brings the terminal device 30 into contact with or close to a position in the real space to be registered as the end point, and performs a predetermined operation related to the registration of the end point with respect to the terminal device 30, as indicated by reference numeral P32.
  • the system detects that the terminal device 30 is in contact with or close to the real space based on the position and orientation of the terminal device 30 and the distance (depth) between the terminal device 30 and the real object 90.
  • the upper three-dimensional position may be estimated and the estimated position may be registered as the end point.
  • FIG. 12 is a block diagram illustrating an example of a functional configuration of the information processing system according to the present embodiment.
  • the functional configuration of the information processing system according to the present embodiment will be described, focusing on the case where the distance in the real space is measured using the terminal device 30.
  • the information processing system 2 includes, for example, a terminal device 30 and an information processing device 40.
  • the terminal device 30 corresponds to the terminal device 30 shown in FIG.
  • the terminal device 30 includes an imaging unit 301, an input unit 303, and an output unit 305.
  • the imaging unit 301 is configured as a so-called stereo camera, and images of a subject from a plurality of different positions, that is, an image of a subject from a viewpoint corresponding to the right eye side (that is, a right eye image), and a left eye side An image of the subject from the viewpoint corresponding to (i.e., the left eye image) is taken. Then, the imaging unit 301 outputs the captured right eye image and left eye image to the information processing apparatus 40.
  • the input unit 303 is configured by an input interface such as a touch panel and buttons. When the input unit 303 receives an operation from the user, the input unit 303 outputs control information indicating the content of the operation to the information processing apparatus 40.
  • the terminal device 30 may include a sound collection unit for collecting the user's voice as an input interface, similarly to the input / output device 20 (see FIG. 4) according to the first embodiment described above.
  • the output unit 305 is configured by a display or the like, and displays display information such as an image based on control from the information processing apparatus 40.
  • the terminal device 30 may include a detection unit (not shown) for acquiring information indicating changes in the position and orientation of the terminal device 30 such as an acceleration sensor and an angular velocity sensor. .
  • the information processing apparatus 40 includes a depth detection unit 401, a position / orientation estimation unit 403, a trigger detection unit 405, a reference point estimation unit 407, a distance calculation unit 409, and an output control unit 411.
  • the depth detection unit 401, the position / orientation estimation unit 403, and the trigger detection unit 405 are the depth detection unit 101 and the position / orientation estimation in the information processing apparatus 10 (see FIG. 4) according to the first and second embodiments described above. This corresponds to the unit 103 and the trigger detection unit 109.
  • the depth detection unit 401 acquires an image of a subject and depth information indicating the distance between the terminal device 30 and the subject based on the right eye image and the left eye image captured by the imaging unit 301. Then, the depth detection unit 401 outputs the acquired subject image and depth information to the position and orientation estimation unit 403. The depth detection unit 401 may output the depth information to the reference point estimation unit 407.
  • the position / orientation estimation unit 403 is configured to execute processing related to estimation of the position and orientation of the terminal device 30 in real space (processing related to so-called self-position estimation). That is, the position / orientation estimation unit 403 acquires an image of a subject and depth information from the depth detection unit 401, and based on the acquired image and the depth information, a real object captured as a subject in the image. Recognize Further, the position / orientation estimation unit 403 estimates the relative position and orientation of the terminal device 30 with respect to the real object based on the recognition result of the real object and the acquired depth information. At this time, the position / orientation estimation unit 403 may estimate the relative position and orientation of the terminal device 30 with respect to the recognized real object based on SLAM.
  • the position and orientation estimation unit 403 outputs information indicating the estimation result of the position and orientation of the terminal device 30 in the real space to the reference point estimation unit 407. Further, the position / orientation estimation unit 403 may output information indicating the estimation result of the position and orientation of the terminal device 30 in the real space to the output control unit 411.
  • the trigger detection unit 405 acquires information indicating user input via the input unit 303 from the input unit 303. Then, when the acquired information indicating the user input indicates a predetermined operation content, the trigger detection unit 405 gives an instruction associated with the operation content to the reference point estimation unit 407 using the user input as a trigger. Do. Based on such a configuration, for example, the trigger detection unit 405 instructs the reference point estimation unit 407 to register a reference point such as a start point or an end point related to distance measurement using a predetermined user input as a trigger.
  • the reference point estimation unit 407 acquires information indicating the estimation result of the position and orientation of the terminal device 30 in the real space from the position / orientation estimation unit 403. Further, the reference point estimation unit 407 may acquire depth information from the depth detection unit 401. When the reference point estimation unit 407 receives an instruction related to registration of the reference point from the trigger detection unit 405, the reference point such as the start point and the end point is based on the estimation result of the position and orientation of the terminal device 30. Is estimated in real space.
  • the reference point estimation unit 407 receives an instruction related to registration of the reference point from the trigger detection unit 405
  • the position of the specific location of the terminal device 30 (in other words, the terminal device 30 Position) may be regarded as the gazing point described in the first and second embodiments, and the gazing point may be registered as a reference point.
  • the reference point estimation unit 407 captures the image of the imaging unit 301 by a distance indicated by the depth information from the position of the specific location of the terminal device 30 based on the estimation result of the position and orientation of the terminal device 30 and the acquired depth information.
  • a position separated in the direction that is, a position on the real object
  • the gazing point may be registered as a reference point.
  • the reference point estimation unit 407 registers reference points such as a start point and an end point based on an instruction from the trigger detection unit 405, and position information indicating the position of each registered reference point in the real space. And output to the distance calculation unit 409.
  • the distance calculation unit 409 corresponds to the distance calculation unit 113 in the information processing apparatus 10 (see FIG. 4) according to the first and second embodiments described above. That is, the distance calculation unit 409 acquires position information indicating the position of each registered reference point in real space from the reference point estimation unit 407. The distance calculation unit 409 calculates the distance between the plurality of reference points based on the registered position information of each reference point, and outputs information indicating the calculation result of the distance to the output control unit 411. At this time, the distance calculation unit 409 may output information indicating the position information of each registered reference point to the output control unit 411. The distance calculation unit 409 may calculate a distance between a registered reference point (for example, a start point) and a gazing point, and output information indicating the calculated distance to the output control unit 411.
  • a registered reference point for example, a start point
  • a gazing point for example, a gazing point
  • the output control unit 411 presents the virtual object to the user via the output unit 305 so that the virtual object is superimposed on the real space based on the AR technology.
  • the output control unit 411 acquires from the position / orientation estimation unit 103 the recognition result of the real object and information indicating the estimation result of the position and orientation of the terminal device 30 in the real space.
  • the output control unit 411 can estimate the positional relationship between the terminal device 30 and the recognized real object in the real space.
  • the output control part 411 superimposes the image which superimposed the virtual object on the image imaged by the imaging part 301 according to the positional relationship between the terminal device 30 in real space and the recognized real object. What is necessary is just to display on the output part 211.
  • the output control unit 411 may acquire information indicating the distance calculation result from the distance calculation unit 409 and cause the output unit 305 to display display information corresponding to the distance calculation result based on the information. This operation is the same as that of the output control unit 115 in the information processing apparatus 10 according to the first and second embodiments described above.
  • the configuration illustrated in FIG. 12 is merely an example, and the configuration of the information processing system 2 is not necessarily limited to the example illustrated in FIG. This is the same as the information processing system 1 according to the first embodiment described above.
  • the configuration for acquiring the image and the depth information is particularly limited. The points that are not performed are the same as those of the information processing system 1 according to the first embodiment described above.
  • FIG. 13 is a flowchart illustrating an example of a flow of a series of processes of the information processing system according to the present embodiment.
  • the information processing device 40 (depth detection unit 401) is based on the right eye image and the left eye image captured by the imaging unit 301, and between the terminal device 30 and the captured subject (that is, a real object). Calculate the distance (depth). Thereby, the image of a real object and the depth information which shows the distance between the terminal device 30 and the said real object are acquired (S201).
  • the information processing device 40 estimates the relative position and orientation of the terminal device 30 with respect to the real object captured in the image based on the acquired image and depth information.
  • the position / orientation estimation unit 403 may estimate the relative position and orientation of the terminal device 30 with respect to the recognized real object based on SLAM (S203).
  • the information processing device 40 (reference point estimation unit 407) regards the position of the specific location of the terminal device 30 as a gazing point based on the estimation result of the position and orientation of the terminal device 30, and in the real space of the gazing point.
  • the three-dimensional position at is estimated as an absolute position (S205).
  • the information processing apparatus 40 sequentially executes a series of processes indicated by reference numerals S201 to S205 unless a predetermined trigger based on a user input via the input unit 303 is detected (S207, NO). Then, when a predetermined trigger based on the user input is detected (S207, YES), the information processing apparatus 40 executes processing related to registration of the start point and the end point.
  • the information processing apparatus 40 determines the three-dimensional position in the real space of the point of interest when the trigger is detected. Is registered as a starting point (S211). After registration of the start point, the information processing apparatus 40 (distance calculation unit 409) calculates the distance from the registered start point to the current gaze point (S213).
  • the information processing apparatus 40 when the start point has already been registered (S209, YES), the information processing apparatus 40 (reference point estimation unit 407) performs a three-dimensional operation on the real space of the point of interest when the trigger is detected. The position is registered as an end point (S215). In this case, the information processing apparatus 40 (distance calculation unit 409) calculates the distance from the registered start point to the end point. Then, the information processing device 40 (output control unit 411) causes the output unit 305 of the terminal device 30 to display display information based on the calculation result of the distance.
  • the information processing apparatus 40 performs the above-described series of processing until the user instructs the end of the processing (for example, the end of the application) (S219, NO).
  • the information processing apparatus 40 ends the series of processes described above.
  • the user brings the terminal device 30 into contact with or close to a position in a desired real space, and performs a predetermined operation on the terminal device 30.
  • the information processing apparatus 40 recognizes the estimated position of the terminal device 30 in the real space as the position of a reference point such as a start point or an end point. Further, the information processing apparatus 40 calculates (measures) the distance between the start point and the end point based on the recognition results of the positions of the start point and the end point in real space.
  • the information processing device 40 presents display information based on the calculation result of the distance between the start point and the end point to the user via the terminal device 30.
  • the user can measure the distance in the real space by a simpler operation using the terminal device 30 without actually measuring the distance using a tool such as a ruler or a tape measure. It becomes possible.
  • the first and second embodiments described above are available in a situation where the user can contact or approach a real object that is a distance measurement target. Compared to the information processing system according to the above, it is possible to measure the distance by a simpler procedure.
  • FIG. 14 is an explanatory diagram for explaining an overview of the information processing system according to the present embodiment, and shows an example of a distance measurement method in real space.
  • both the real object and the virtual object are presented together in order to make the characteristics of the information processing system according to the present embodiment easier to understand.
  • the information processing system is based on an image captured by the image capturing unit (the first image capturing unit 201 configured as a stereo camera described above) provided in the input / output device 20, such as the terminal device 30. Recognizable objects.
  • the system then superimposes a virtual object V43 for designating a reference point such as a start point or an end point on the recognized object (that is, the terminal device 30) according to the recognition result.
  • the virtual object V43 is presented to the user via the input / output device 20.
  • the system recognizes the marker V41 presented on the display or the like of the terminal device 30 and recognizes the terminal device 30 according to the recognition result of the marker V41.
  • the system can recognize the position and posture of the terminal device 30 in the real space based on the recognition result of the marker V41. Further, the system presents the virtual object V43 so as to extend from the terminal device 30 in the direction in which the terminal device 30 is directed in accordance with the recognition result of the terminal device 30. The user changes the position and orientation of the terminal device 30 while confirming the virtual object V43 via the input / output device 20, thereby registering the distance measurement start point and end point in the real space by the virtual object V43. Specify the position in the real space.
  • the user visually recognizes the terminal device 30 on which the marker V41 is presented with the input / output device 20 mounted.
  • the system recognizes the position and orientation of the terminal device 30 on which the marker V41 is presented based on the image captured by the imaging unit of the input / output device 20, and based on the recognition result, the input / output device 20
  • the virtual object V43 is presented to the user via
  • the system may control the display mode (for example, length) of the virtual object V43 according to a predetermined operation on the terminal device 30 or the input / output device 20.
  • the user adjusts the position and orientation of the terminal device 30 to indicate the position in the real space to be registered as the start point by the presented virtual object V43.
  • a predetermined operation related to registration of the start point is performed on the input / output device 20.
  • the system registers the position in the real space designated by the virtual object V43 as a start point. For example, in the example shown in FIG. 14, the system registers the position in the real space indicated by the arrow-like virtual object V43 as a start point.
  • the user registers the end point in the same way as the start point.
  • the user indicates the position in the real space to be registered as the end point by the presented virtual object V43, as indicated by reference symbol P42, and relates to the end point registration to the terminal device 30 or the input / output device 20.
  • Perform a predetermined operation In response to this operation, the system registers the position in the real space indicated by the arrow-like virtual object V43 as the end point.
  • the system measures (calculates) the distance between the start point and the end point based on the registered three-dimensional positions of the start point and the end point, and displays various display information according to the measurement result. It is presented to the user via the input / output device 20.
  • the user can measure the distance in the real space by a simpler operation using the input / output device 20 without actually measuring the distance using a tool such as a ruler or a tape measure. Can be done.
  • the example in which the terminal device 30 is used as an object on which the virtual object V43 is superimposed has been described.
  • the user can designate a reference point such as a start point or an end point using the presented virtual object V43, the object on which the virtual object V43 is superimposed (in other words, the virtual object V43 is presented).
  • a card or the like on which the marker V41 is printed may be used.
  • FIG. 15 is a block diagram illustrating an example of a functional configuration of the information processing system according to the present embodiment.
  • the information processing system 3 includes, for example, an input / output device 20, a terminal device 30, and an information processing device 50.
  • the input / output device 20 and the terminal device 30 correspond to the input / output device 20 and the terminal device 30 shown in FIG.
  • the input / output device 20 includes a first imaging unit 201, an input unit 205, and an output unit 211.
  • the first imaging unit 201, the input unit 205, and the output unit 211 are the first imaging unit 201, the input unit 205, and the output unit in the input / output device 20 (see FIG. 4) according to the first embodiment described above. This is substantially the same as 211, and will not be described in detail.
  • the terminal device 30 includes an input unit 303.
  • the input unit 303 is substantially the same as the input unit 303 in the terminal device 30 (see FIG. 12) according to the third embodiment described above, and detailed description thereof is omitted.
  • the information processing apparatus 50 includes a depth detection unit 501, a position / orientation estimation unit 503, an object recognition unit 505, a trigger detection unit 507, a reference point estimation unit 509, and a distance calculation unit 511. And an output control unit 513.
  • the depth detection unit 501 and the position / orientation estimation unit 503 correspond to the depth detection unit 501 and the position / orientation estimation unit 503 in the information processing apparatus 10 (see FIG. 4) according to the first and second embodiments described above.
  • the depth detection unit 501 generates a subject image and depth information indicating a distance between the input / output device 20 and the subject based on the right eye image and the left eye image captured by the first imaging unit 201. get. Then, the depth detection unit 501 outputs the acquired subject image and depth information to the position / orientation estimation unit 503.
  • the position / orientation estimation unit 503 is configured to execute processing related to estimation of the position and orientation of the input / output device 20 in real space (processing related to so-called self-position estimation). That is, the position / orientation estimation unit 503 acquires the image of the subject and the depth information from the depth detection unit 501, and based on the acquired image and the depth information, the real object captured as the subject in the image Recognize The position / orientation estimation unit 503 estimates the relative position and orientation of the input / output device 20 with respect to the real object based on the recognition result of the real object and the acquired depth information. At this time, the position / orientation estimation unit 503 may estimate the relative position and orientation of the input / output device 20 with respect to the recognized real object based on SLAM.
  • the position / orientation estimation unit 503 outputs information indicating the estimation result of the position and orientation of the input / output device 20 in the real space to the reference point estimation unit 509. Further, the position / orientation estimation unit 503 may output information indicating the estimation result of the position and orientation of the input / output device 20 in the real space to the output control unit 513.
  • the object recognition unit 505 is a configuration for recognizing the position and orientation of the terminal device 30 based on the image captured by the first imaging unit 201. For example, the object recognition unit 505 recognizes the marker V41 presented on the terminal device 30 as illustrated in FIG. 14 from the image captured by the first imaging unit 201, and based on the recognition result, What is necessary is just to recognize a position and attitude
  • the process of the object recognition unit 505 may be similar to at least a part of the process of the position / orientation estimation unit 503. Therefore, the position / orientation estimation unit 503 may execute the processing of the object recognition unit 505.
  • the trigger detection unit 507 acquires information indicating user input via the input unit 303 from the input unit 303. Further, the trigger detection unit 507 may acquire information indicating user input via the input unit 205 from the input unit 205. Then, when the information indicating the acquired user input indicates a predetermined operation content, the trigger detection unit 507 gives an instruction associated with the operation content to the reference point estimation unit 509 using the user input as a trigger. Do. Based on such a configuration, for example, the trigger detection unit 507 instructs the reference point estimation unit 509 to register a reference point such as a start point or an end point related to distance measurement using a predetermined user input as a trigger.
  • the reference point estimation unit 509 acquires information indicating the estimation result of the position and orientation of the input / output device 20 in the real space from the position / orientation estimation unit 503. Also, the reference point estimation unit 509 acquires information indicating the position and orientation recognition result of the terminal device 30 from the object recognition unit 505. The reference point estimation unit 509 receives the estimation result of the position and orientation of the input / output device 20 and the recognition result of the position and orientation of the terminal device 30 when receiving an instruction related to registration of the reference point from the trigger detection unit 507. Based on the above, the position in the real space of a reference point such as a start point or an end point is estimated.
  • the reference point estimation unit 509 uses the position and orientation of the terminal device 30 in the real space as the reference and the position and orientation of the input / output device 20 based on the recognition result of the position and orientation of the terminal device 30. It is recognized as a relative position. Further, the reference point estimation unit 509 recognizes the position and orientation of the input / output device 20 in the real space based on information acquired from the position / orientation estimation unit 503. Thereby, the reference point estimation unit 509 can estimate the three-dimensional position and orientation of the terminal device 30 in the real space as, for example, an absolute position.
  • the reference point estimation unit 509 determines the position in the real space to which the terminal device 30 is directed based on the estimation result of the three-dimensional position and orientation in the real space of the terminal device 30 (that is, in FIG.
  • the position in the real space designated by the virtual object V41) is estimated.
  • the position in the real space estimated by such processing corresponds to the gaze point described in the first and second embodiments described above. Therefore, in this description, for the sake of convenience, the position in the real space estimated by the above processing (that is, the position in the real space where the terminal device 30 is directed) is referred to as a “gaze point”.
  • the reference point estimation unit 509 may estimate the three-dimensional position of the point of gaze in the real space according to the operation result for the virtual object V41. More specifically, the reference point estimation unit 509 is configured to change the terminal device 30 from the position in the real space to the direction in which the terminal device 30 is directed according to the adjustment result of the length of the virtual object V41. A position separated by the length of the virtual object V41 may be estimated as the position of the gazing point.
  • the reference point estimation unit 509 registers a reference point such as a start point or an end point based on an instruction related to registration of the reference point from the trigger detection unit 507, and the position of each registered reference point in real space. Is output to the distance calculation unit 511.
  • the reference point estimation unit 509 may sequentially output information indicating the position of the gazing point in the real space to the distance calculation unit 511. Thereby, the distance calculation unit 511 can recognize in real time the position in the real space to which the terminal device 30 is directed.
  • the processing of the distance calculation unit 511 is substantially the same as the distance calculation unit 113 in the information processing apparatus 10 according to the first and second embodiments described above. That is, the distance calculation unit 511 acquires position information indicating the position of each registered reference point in the real space from the reference point estimation unit 509. Further, the distance calculation unit 511 calculates the distance between a plurality of reference points based on the registered position information of each reference point, and outputs information indicating the calculation result of the distance to the output control unit 513. At this time, the distance calculation unit 511 may output information indicating the position information of each registered reference point to the output control unit 513.
  • the distance calculation unit 511 may sequentially acquire information indicating the position of the gazing point in the real space from the reference point estimation unit 509. In this case, for example, the distance calculation unit 511 calculates the distance between the registered reference point (for example, the start point) and the gaze point, and sends information indicating the calculation result of the distance to the output control unit 513. It may be output. At this time, the distance calculation unit 511 may output information indicating the position of the gaze point in real space to the output control unit 513.
  • the distance calculation unit 511 may sequentially acquire information indicating the position of the gazing point in the real space from the reference point estimation unit 509. In this case, for example, the distance calculation unit 511 calculates the distance between the registered reference point (for example, the start point) and the gaze point, and sends information indicating the calculation result of the distance to the output control unit 513. It may be output. At this time, the distance calculation unit 511 may output information indicating the position of the gaze point in real space to the output control unit 513.
  • the output control unit 513 presents the virtual object to the user via the output unit 211 so that the virtual object is superimposed on the real space based on the AR technology.
  • the processing related to the presentation of the virtual object by the output control unit 513 is substantially the same as the output control unit 115 of the information processing apparatus 10 (see FIG. 4) according to the first and second embodiments described above. Detailed description will be omitted.
  • the output control unit 513 acquires information indicating the recognition result of the position and orientation of the terminal device 30 from the object recognition unit 505. Further, the output control unit 513 acquires information indicating the estimation result of the position and orientation of the input / output device 20 in the real space from the position and orientation estimation unit 503. And the output control part 513 is based on the information which shows the recognition result of the position and attitude
  • the output control unit 513 may acquire information indicating the calculation result of the distance from the distance calculation unit 511 and cause the output unit 211 to display display information corresponding to the calculation result of the distance based on the information. This operation is the same as that of the output control unit 115 in the information processing apparatus 10 according to the first and second embodiments described above.
  • the configuration shown in FIG. 15 is merely an example, and the configuration of the information processing system 3 is not necessarily limited to the example shown in FIG. This is the same as the information processing system 1 according to the first embodiment described above.
  • the configuration for acquiring the image and the depth information is particularly The points that are not limited are the same as those of the information processing system 1 according to the first embodiment described above.
  • FIG. 16 is a flowchart illustrating an example of a flow of a series of processes of the information processing system according to the present embodiment.
  • the information processing device 50 depth detection unit 501
  • the input / output device 20 the captured subject (ie, a real object), and The distance (depth) between is calculated.
  • the image of the real object and the depth information indicating the distance between the input / output device 20 and the real object are acquired (S301).
  • the information processing apparatus 50 estimates the relative position and orientation of the input / output device 20 with respect to the real object captured in the image based on the acquired image and depth information.
  • the position / orientation estimation unit 503 may estimate the relative position and orientation of the input / output device 20 with respect to the recognized real object based on SLAM (S303).
  • the information processing apparatus 50 (object recognition unit 505) recognizes the position and orientation of the terminal device 30 based on the right eye image and the left eye image captured by the first imaging unit 201. Further, the information processing apparatus 50 (output control unit 513) inputs / outputs the virtual object V41 based on the recognition result of the position and orientation of the terminal apparatus 30 so that the virtual object V41 is superimposed on the terminal apparatus 30. It is presented to the user via the device 20 (S305). Note that the method for recognizing the position and orientation of the terminal device 30 is as described above as the processing of the object recognition unit 505.
  • the information processing device 50 (the reference point estimation unit 509) is directed to the terminal device 30 based on the estimation result of the position and orientation of the input / output device 20 and the recognition result of the position and orientation of the terminal device 30.
  • a three-dimensional position in the real space (that is, a position in the real space of the gazing point) is estimated.
  • the information processing apparatus 50 estimates the three-dimensional position of the gaze point in the real space according to the operation result for the virtual object V41 presented according to the recognition result of the position and orientation of the terminal device 30. It may be done (S307). Note that the method of estimating the position of the gazing point is as described above as the processing of the reference point estimation unit 509.
  • the information processing apparatus 50 sequentially executes a series of processes indicated by reference numerals S301 to S307 unless a predetermined trigger based on a user input via the input unit 205 or the input unit 303 is detected (S309, NO). To do. Then, when a predetermined trigger based on the user input is detected (S309, YES), the information processing apparatus 50 executes processing related to registration of the start point and the end point.
  • the information processing apparatus 50 determines the three-dimensional position in the real space of the point of interest when the trigger is detected. Is registered as a starting point (S313). After registration of the start point, the information processing apparatus 50 (distance calculation unit 511) calculates the distance from the registered start point to the current gaze point (S315).
  • the information processing apparatus 50 when the start point has already been registered (S311: YES), the information processing apparatus 50 (reference point estimation unit 509) performs a three-dimensional operation on the real space of the point of interest when the trigger is detected. The position is registered as an end point (S317). In this case, the information processing apparatus 50 (distance calculation unit 511) calculates the distance from the registered start point to the end point. Then, the information processing device 50 (output control unit 513) causes the output unit 211 of the input / output device 20 to display display information based on the calculation result of the distance.
  • the information processing apparatus 50 executes the above-described series of processes until the user instructs the end of the process (for example, the end of the application) (S321, NO). Then, when the end of the process is instructed by the user (S321, YES), the information processing apparatus 50 ends the series of processes described above.
  • the information processing apparatus 50 detects an object such as the terminal apparatus 30 based on the image captured by the imaging unit provided in the input / output device 20. recognize. Then, the information processing device 50 causes the input / output device 20 to superimpose a virtual object V43 for designating a reference point such as a start point or an end point on the recognized object according to the recognition result.
  • the virtual object V43 is presented to the user via Under such a configuration, the user changes the position and orientation of the terminal device 30 while confirming the virtual object V43 via the input / output device 20, thereby registering the start point and the end point by the virtual object V43. Specify the position in the real space.
  • the information processing apparatus 50 estimates the position in the real space specified by the virtual object V43 based on the recognition result of the position and orientation of the terminal device 30, and uses the estimated position as the start point and the end point. Register as the position of the reference point.
  • the information processing apparatus 50 calculates (measures) the distance between the start point and the end point based on the registration results of the positions of the start point and the end point in real space. Then, the information processing device 50 presents display information based on the calculation result of the distance between the start point and the end point to the user via the input / output device 20. With such a configuration, the user can perform measurement in real space by a simpler operation using the input / output device 20 and the terminal device 30 without actually measuring the distance using a tool such as a ruler or a tape measure. It becomes possible to measure the distance.
  • FIG. 17 is an explanatory diagram for explaining an overview of the information processing system according to the first modification.
  • FIG. 17 in order to make the characteristics of the information processing system according to the first modification easier to understand, both real objects and virtual objects are presented together.
  • the user designates a route (trajectory) that is a distance measurement target via the input / output device 20 or the terminal device 30.
  • the user installs the virtual object V51 on the surface of the real object 91 by an operation via the terminal device 30 as in the case of measuring a distance by winding a so-called tape measure around the object. Then, a path (trajectory) that is a target of distance measurement in the real space is set. At this time, for example, according to the positional relationship between the terminal device 30 and the real object 91, the system determines whether the part V51a of the virtual object V51 that has not yet been installed contacts the real object 91. Determine whether or not.
  • the system recognizes the positional relationship in the real space between the virtual object V51 and the real object 91 according to the estimation result of the position and orientation of the terminal device 30 based on the self-position estimation technology such as SLAM, for example. do it. And a system may recognize the part determined as what contacted the real object 91 among the said part V51a of the virtual object V51 as the part V51b set as the path
  • the user may set a route that is a distance measurement target, for example, in the same manner as in the case of specifying the position in the real space in each of the above-described embodiments.
  • the user moves his / her line of sight while wearing the input / output device 20, and traces a path (trajectory) in real space according to the position (that is, the gaze point) to which the line of sight is directed.
  • the route may be designated as a distance measurement target.
  • the system may detect a change in the user's line of sight and recognize a trajectory according to a change in the point of gaze to which the line of sight is directed as a path to be measured for distance.
  • the system recognizes the route (trajectory) designated by the user via the input / output device 20 or the terminal device 30, and measures the distance of the route.
  • the information processing system according to the first modification can measure a distance along a curved trajectory as well as a linear distance.
  • the measuring method of the length of a curve since the method generally known can be applied, detailed description is abbreviate
  • FIG. 18 is an explanatory diagram for explaining an overview of the information processing system according to the second modification. In FIG. 18, both the real object and the virtual object are presented together in order to make the characteristics of the information processing system according to the modified example 2 easier to understand.
  • the user operates the size of the virtual object presented to be superimposed on the real space by the system via the input / output device 20 or the terminal device 30.
  • the distance in the real space is measured by adjusting with.
  • FIG. 18 shows an example of measuring the distance between the real object 93a and the real object 93b.
  • the system receives a predetermined operation from the user and outputs the output of the terminal device 30 so that the rectangular parallelepiped virtual object V61 is superimposed on a desired position in the real space.
  • the virtual object V61 is presented to the user via the unit 305.
  • the system presents display information V63 indicating the size (length) of a predetermined portion of the presented virtual object V61 in association with the virtual object V61.
  • the system presents display information V64a, V63b, and V63c indicating the lengths of the vertical, horizontal, and depth of the cuboid virtual object V61.
  • the system determines the position and orientation of the terminal device 30 based on the self-position estimation technique such as SLAM, for example, regarding the position in the real space where the virtual object V61 is superimposed and the size of the virtual object V61 in the real space. May be recognized according to the estimation result.
  • the user can operate the virtual device V61 on which the presented virtual object V61 is superimposed by the operation via the input unit 303 (for example, a touch panel) of the terminal device 30 or the virtual object. It is possible to measure the distance by adjusting the size of each part of V61 (for example, vertical, horizontal, depth width, etc.). For example, in the example shown in FIG. 18, the user adjusts the position and width of the virtual object V61 so that the horizontal width of the virtual object V61 is exactly within the real objects V93a and V93b. By such a procedure, the user can measure the distance between the real object 93a and the real object 93b as the horizontal size of the virtual object V61, and can recognize the measurement result from the display information V63b.
  • the input unit 303 for example, a touch panel
  • the user may adjust the size of each part of the virtual object V61 so that the target real object is contained in the rectangular parallelepiped virtual object V61.
  • the size of a box for storing an object that is, a real object
  • an object that is, a real object
  • FIG. 19 is an explanatory diagram for describing an overview of an information processing system according to the third modification.
  • both the real object and the virtual object are presented together in order to make the characteristics of the information processing system according to the modified example 3 easier to understand.
  • the input / output devices 20a and 20b and the information processing device 10 operate in cooperation.
  • the information processing apparatus 10 is configured to be able to transmit / receive information to / from each of the input / output devices 20a and 20b via a predetermined communication path (for example, a wireless communication path).
  • a predetermined communication path for example, a wireless communication path.
  • the information processing device 10 determines the positional relationship between the input / output devices 20a and 20b, for example, a result of self-position estimation by the input / output devices 20a and 20b, a GPS (Global Positioning System), and the like. Is recognized based on the positioning results of the respective positions of the input / output devices 20a and 20b. Thereby, the information processing apparatus 10 is based on the recognition result of the positional relationship between the input / output devices 20a and 20b, and the start point specified via the input / output device 20a and the end point specified via the input / output device 20b. It is possible to recognize the positional relationship in the real space.
  • a GPS Global Positioning System
  • the information processing apparatus 10 may measure the distance between the start point and the end point according to the recognition result of the positional relationship in the real space between the start point and the end point. At this time, the information processing apparatus 10 may present display information corresponding to the distance measurement result to the user via the input / output device 20a or the input / output device 20b.
  • any of the input / output devices 20a and 20b may be responsible for a function corresponding to the information processing device 10.
  • the input / output device 20a and the input / output device 20b transmit and receive information to each other to recognize each other's positional relationship in the real space, and each independently performs processing related to distance measurement. May be executed.
  • the system may be configured such that, for example, at least a part of the above-described measurement methods can be selectively used according to the situation.
  • the size (distance, etc.) of the target is determined. It is more suitable for the situation to measure. Further, the measurement method described in the second embodiment (see FIG. 6) is more suitable for a situation where the user can approach the measurement target. The measurement method described in the third embodiment (see FIGS. 10 and 11) is more suitable for situations where the user can bring the input / output device 20 and the terminal device 30 into contact with or close to the measurement target. .
  • the system sets a mode (for example, “far-distance mode”, “short-distance mode”, etc.) according to each measurement method, and the mode specified by the user.
  • a mode for example, “far-distance mode”, “short-distance mode”, etc.
  • each measurement method described above may be selectively executed.
  • a mode for selectively executing each measurement method may be set according to the difference in the procedure of each measurement method.
  • the measurement method described in the first embodiment can measure the distance based on a simpler procedure, but only the position on the surface of the real object. It is possible to register as a reference point.
  • the measurement method described in the second embodiment has more steps than the first embodiment, but the reference point for the position in the real space where no real object exists. Can be registered. Therefore, the system presents, for example, the measurement method described as the first embodiment as the “simple mode”, and sets the other measurement method (for example, the measurement method described as the second embodiment) as the “detail mode”. May be presented.
  • the method for setting the reference points such as the start point and the end point is not limited to the examples shown in each measurement procedure described above, and may be appropriately switched depending on the situation.
  • the reference point may be automatically registered by using so-called object recognition based on image analysis such as face recognition, hand recognition, and foot recognition.
  • an information processing system may be used for measuring a jump distance in a long jump.
  • the system captures an image in which the player jumps with the imaging unit of the input / output device 20, and performs image analysis on the image, thereby performing an operation related to jumping and landing of the jumped player. Recognize Then, when the system recognizes the landing of the jumped player, the system may recognize the foot of the player at the time of landing and recognize the position of the foot as the landing point. Thereby, the system can also measure the jump distance in the long jump by measuring the distance with the position of the crossing board as the start point and the recognized landing point as the end point, for example.
  • FIG.20 and FIG.21 is explanatory drawing for demonstrating an example of the presentation method of various information using the measurement result of the distance in real space, and a tent etc. according to the measurement result of a distance at the time of camping An example of presenting an installation image is shown.
  • the user uses the input / output device 20 to measure the dimensions of the region in which the tent or the like is arranged based on the various measurement methods described above.
  • the system estimates the position and orientation of the input / output device 20 in the real space based on the self-position estimation technology such as SLAM, and based on the estimation result, the area specified by the user in the real space. Recognize position and dimensions.
  • the system stores in advance information indicating the shape and size of an object to be installed such as a tent. Then, based on the information indicating the shape and size of the object and the recognition result of the position and size of the area designated by the user in the real space, the system creates virtual objects V71 to V73 imitating an object such as a tent. Present it to be superimposed on the area in real space size. Based on such a configuration, for example, as shown in FIG. 21, the system converts the installation images of objects such as tents into virtual objects V71 to V73 superimposed on the real space in an area designated by the user. Present. Thus, for example, the user can recognize a more suitable position in real space and the like based on the installation image as shown in FIG.
  • the scene in which the mechanism described above with reference to FIGS. 20 and 21 is used is not limited to the above-described usage example at the time of camping.
  • an image of wearing clothes may be presented by using measurement results of the sizes of parts such as arms and legs.
  • FIG. 22 shows an example of the measurement procedure when measuring the area.
  • the system registers three or more reference points based on designation from the user via the input / output device 20 or the terminal device 30, and is an area surrounded by the three or more reference points. Measure the area.
  • the user sequentially registers the reference points indicated by reference numerals V81 to V83 based on the operation via the input / output device 20.
  • the system recognizes the positions of the registered reference points V81 to V83 in the real space based on, for example, the estimation results of the position and orientation of the input / output device 20 in the real space.
  • the system may calculate the area of the region surrounded by the reference points V81 to V83 based on the positions of the recognized reference points V81 to V83 on the actual section.
  • the system may present display information indicating the calculation result of the area to the user via the input / output device 20.
  • FIG. 23 shows an example of a measurement procedure when measuring the volume.
  • the system is formed on the basis of a side connecting between each of the four or more reference points based on the designation from the user via the input / output device 20 or the terminal device 30 by registering four or more reference points. Measuring the volume of a three-dimensional region.
  • FIG. 23 shows an example of measuring the volume of a cuboid real object.
  • the user sequentially designates the reference points indicated by reference numerals V84 to V88 based on the operation via the input / output device 20, so that the vertical, horizontal, and depth of the target real object are specified.
  • the three sides are registered.
  • the system recognizes the positions of the registered reference points V84 to V88 in the real space based on, for example, the estimation results of the position and orientation of the input / output device 20 in the real space. Further, the system calculates the lengths of the vertical, horizontal, and depth of the real object to be measured based on the recognition results of the positions of the reference points V84 to V88.
  • the system may calculate the volume of the real object based on the length, width, and depth calculation results of the real object to be measured. Further, at this time, the system presents the calculation results of the length, the width, and the depth of the real object to be measured and the display information indicating the volume calculation result to the user via the input / output device 20. May be.
  • the application example of the information processing system according to each embodiment of the present disclosure has been described. Note that the above-described example is merely an example, and does not limit the application target of the information processing system according to each embodiment of the present disclosure. As a specific example, the information processing system according to each embodiment of the present disclosure may be used for measuring a length at a work site or the like, for example.
  • FIG. 24 is a block diagram illustrating a hardware configuration example of the information processing apparatus 10 according to an embodiment of the present disclosure.
  • the information processing apparatus 10 includes a CPU (Central Processing unit) 901, a ROM (Read Only Memory) 903, and a RAM (Random Access Memory) 905.
  • the information processing apparatus 10 may include 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, a connection port 923, and a communication device 925.
  • the information processing apparatus 10 may include an imaging device 933 and a sensor 935 as necessary.
  • the information processing apparatus 10 may include a processing circuit called a DSP (Digital Signal Processor) or ASIC (Application Specific Integrated Circuit) instead of or in addition to the CPU 901.
  • DSP Digital Signal Processor
  • ASIC Application Specific Integrated Circuit
  • 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 10 according to various programs recorded in the ROM 903, the RAM 905, the storage device 919, or the removable recording medium 927.
  • the ROM 903 stores programs and calculation parameters used by the CPU 901.
  • the RAM 905 primarily stores programs used in the execution of the CPU 901, parameters that change as appropriate during the execution, and the like.
  • the CPU 901, the ROM 903, and the RAM 905 are connected to each other by a host bus 907 configured by an internal bus such as a CPU bus. Further, the host bus 907 is connected to an external bus 911 such as a PCI (Peripheral Component Interconnect / Interface) bus via a bridge 909.
  • PCI Peripheral Component Interconnect / Interface
  • the depth detection unit 101, the position / orientation estimation unit 103, the gaze detection unit 105, the gaze point detection unit 107, the trigger detection unit 109, the reference point estimation unit 111, the distance calculation unit 113, the output control unit 115, and the like described above are For example, it can be realized by the CPU 901.
  • the input device 915 is a device operated by the user, such as a mouse, a keyboard, a touch panel, a button, a switch, and a lever.
  • the input device 915 may include a microphone that detects the user's voice.
  • the input device 915 may be, for example, a remote control device using infrared rays or other radio waves, or may be an external connection device 929 such as a mobile phone that supports the operation of the information processing device 10.
  • the input device 915 includes an input control circuit that generates an input signal based on information input by the user and outputs the input signal to the CPU 901. The user operates the input device 915 to input various data to the information processing device 10 or instruct a processing operation.
  • the operation unit 207, the sound collection unit 209, and the like described above can be realized by the input device 915, for example.
  • An imaging device 933 which will be described later, can also function as an input device by imaging a user's hand or finger movement.
  • the output device 917 is a device that can notify the user of the acquired information visually or audibly.
  • the output device 917 includes, for example, a display device such as an LCD (Liquid Crystal Display), a PDP (Plasma Display Panel), an organic EL (Electro-Luminescence) display, a projector, a hologram display device, a sound output device such as a speaker and headphones, As well as a printer device.
  • the output device 917 outputs the result obtained by the processing of the information processing device 10 as video such as text or an image, or outputs audio or sound.
  • the output device 917 may include a light or the like to brighten the surroundings. Note that the above-described output unit 211 can be realized by the output device 917, for example.
  • the storage device 919 is a data storage device configured as an example of a storage unit of the information processing device 10.
  • the storage device 919 includes, for example, a magnetic storage device such as an HDD (Hard Disk Drive), a semiconductor storage device, an optical storage device, or a magneto-optical storage device.
  • the storage device 919 stores programs executed by the CPU 901, various data, various data acquired from the outside, and the like.
  • the drive 921 is a reader / writer for a removable recording medium 927 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, and is built in or externally attached to the information processing apparatus 10.
  • the drive 921 reads information recorded on the attached removable recording medium 927 and outputs the information to the RAM 905.
  • the drive 921 writes a record in the attached removable recording medium 927.
  • the connection port 923 is a port for directly connecting a device to the information processing apparatus 10.
  • the connection port 923 can be, for example, a USB (Universal Serial Bus) port, an IEEE 1394 port, a SCSI (Small Computer System Interface) port, or the like.
  • the connection port 923 may be an RS-232C port, an optical audio terminal, an HDMI (registered trademark) (High-Definition Multimedia Interface) port, or the like.
  • the communication device 925 is a communication interface configured with, for example, a communication device for connecting to the communication network 931.
  • the communication device 925 may be, for example, a communication card for wired or wireless LAN (Local Area Network), Bluetooth (registered trademark), or WUSB (Wireless USB).
  • the communication device 925 may be a router for optical communication, a router for ADSL (Asymmetric Digital Subscriber Line), or a modem for various communication.
  • the communication device 925 transmits and receives signals and the like using a predetermined protocol such as TCP / IP with the Internet and other communication devices, for example.
  • the communication network 931 connected to the communication device 925 is a wired or wireless network, such as the Internet, a home LAN, infrared communication, radio wave communication, or satellite communication.
  • the imaging device 933 uses various members such as an imaging element such as a CCD (Charge Coupled Device) or CMOS (Complementary Metal Oxide Semiconductor), and a lens for controlling the imaging of a subject image on the imaging element. It is an apparatus that images a real space and generates a captured image.
  • the imaging device 933 may capture a still image or may capture a moving image. Note that the first imaging unit 201 and the second imaging unit 203 described above can be realized by the imaging device 933, for example.
  • the sensor 935 is various sensors such as an acceleration sensor, a gyro sensor, a geomagnetic sensor, an optical sensor, and a sound sensor. For example, the sensor 935 acquires information about the state of the information processing apparatus 10 itself, such as the attitude of the housing of the information processing apparatus 10, and information about the surrounding environment of the information processing apparatus 10, such as brightness and noise around the information processing apparatus 10. To do.
  • the sensor 935 may include a GPS sensor that receives a GPS (Global Positioning System) signal and measures the latitude, longitude, and altitude of the apparatus.
  • GPS Global Positioning System
  • Each component described above may be configured using a general-purpose member, or may be configured by hardware specialized for the function of each component. Such a configuration can be appropriately changed according to the technical level at the time of implementation.
  • An acquisition unit that acquires an image captured by a predetermined imaging unit and position information based on at least one of the position and orientation of the imaging unit;
  • the first image and the second image that are the images captured at the first viewpoint and the second viewpoint, respectively, and the first information that is the position information of the first viewpoint and the second viewpoint, respectively.
  • An estimation unit that estimates the first position and the second position in real space based on the position information and the second position information;
  • a measurement unit that measures a distance between the first position and the second position based on the estimation result;
  • An information processing apparatus comprising: (2) A detection unit for detecting a user's line of sight;
  • the estimation unit includes Based on the detection result of the line of sight at the first viewpoint, the first image, and the first position information, the first position is estimated, Estimating the second position based on the detection result of the line of sight at the second viewpoint, the second image, and the second position information;
  • the information processing apparatus according to (1).
  • the estimation unit includes Estimating the first position based on designation by the line of sight from the first viewpoint; Estimating the second position based on designation by the line of sight from the second viewpoint; The information processing apparatus according to (2).
  • a display control unit that displays a virtual object on a predetermined display unit according to the detection result of the line of sight, The estimation unit includes Estimating the first position based on designation by the virtual object displayed according to a line of sight from the first viewpoint; Estimating the second position based on designation by the virtual object displayed in accordance with a line of sight from the second viewpoint; The information processing apparatus according to (2).
  • the estimation unit estimates at least one of the first position and the second position based on a designation according to a detection result of contact or proximity to a real object in a real space by a predetermined detection unit.
  • the information processing apparatus according to (1).
  • the display control unit for displaying the virtual object on a predetermined display unit is provided.
  • the estimation unit estimates at least one of the first position and the second position based on designation by the virtual object;
  • (7) The information processing apparatus according to (1), wherein the estimation unit estimates at least one of the first position and the second position based on designation according to an object recognition result in real space. .
  • the information processing apparatus further including a display control unit configured to display display information on a predetermined display unit based on the measurement result of the distance.
  • the display control unit displays the display information indicating the measurement result of the distance.
  • the display control unit displays the display information indicating a scale in real space based on the measurement result of the distance.
  • the display control unit displays the display information in a size according to a measurement result of the distance.
  • the measuring unit calculates a distance of a path between the first position and the second position via a third position designated between the first position and the second position.
  • the information processing apparatus according to any one of (1) to (11), to be estimated. (13) The measurement unit according to any one of (1) to (11), wherein a length of a locus designated between the first position and the second position is measured as the distance. Information processing device. (14) The acquisition unit acquires the first image and the first position information, and the second image and the second position information from different external devices, (1) to (13) The information processing apparatus according to any one of the above. (15) Obtaining an image captured by a predetermined imaging unit and position information based on at least one of the position and orientation of the imaging unit; Processor The first image and the second image that are the images captured at the first viewpoint and the second viewpoint, respectively, and the first information that is the position information of the first viewpoint and the second viewpoint, respectively.
  • On the computer Obtaining an image captured by a predetermined imaging unit and position information based on at least one of the position and orientation of the imaging unit; The first image and the second image that are the images captured at the first viewpoint and the second viewpoint, respectively, and the first information that is the position information of the first viewpoint and the second viewpoint, respectively.
  • a recording medium on which a program for executing is recorded.
  • Information processing system 10 Information processing device 101 Depth detection unit 103 Position / orientation estimation unit 105 Gaze detection unit 107 Gaze point detection unit 109 Trigger detection unit 111 Reference point estimation unit 113 Distance calculation unit 115 Output control unit 20 Input / output Device 201 First imaging unit 203 Second imaging unit 205 Input unit 207 Operation unit 209 Sound collection unit 30 Terminal device 301 Imaging unit 303 Input unit 305 Output unit 40 Information processing device 401 Depth detection unit 403 Position and orientation estimation unit 405 Trigger detection unit 407 Reference point estimation unit 409 Distance calculation unit 411 Output control unit 50 Information processing device 501 Depth detection unit 503 Position / orientation estimation unit 505 Object recognition unit 507 Trigger detection unit 509 Reference point estimation unit 511 Distance calculation unit 513 Output control unit

Abstract

【課題】実空間上の距離を、より簡便な操作で測定可能とする。 【解決手段】所定の撮像部により撮像された画像と、当該撮像部の位置及び向きのうち少なくともいずれかに基づく位置情報とを取得する取得部と、第1の視点及び第2の視点それぞれにおいて撮像された前記画像である第1の画像及び第2の画像と、前記第1の視点及び前記第2の視点それぞれの前記位置情報である第1の位置情報及び第2の位置情報と、に基づき、実空間上における第1の位置及び第2の位置を推定する推定部と、前記推定結果に基づき、前記第1の位置と前記第2の位置との間の距離を測定する測定部と、を備える、情報処理装置。

Description

情報処理装置、情報処理方法、及び記録媒体
 本開示は、情報処理装置、情報処理方法、及び記録媒体に関する。
 近年、画像認識技術の高度化に伴い、撮像装置により撮像された画像に含まれる実オブジェクト(即ち、実空間上の物体)の位置及び姿勢を認識することが可能となっている。このような物体認識の応用例の一つとして、拡張現実(AR:Augmented Reality)と呼ばれる技術が知られている。AR技術を利用することで、実空間の画像に撮像された実オブジェクトに対して、テキスト、アイコン、またはアニメーション等の様々な態様の仮想的なコンテンツ(以降では、「仮想オブジェクト」とも称する)を重畳してユーザに提示することが可能となる。例えば、特許文献1には、AR技術の一例が開示されている。
 また、物体認識技術の応用により、オブジェクトの画像を撮像する撮像部(ひいては、当該撮像部を備える装置)の実空間上における位置を認識するための所謂自己位置推定を行うことも可能となる。このような自己位置推定を実現するための技術の一例として、SLAM(simultaneous localization and mapping)と称される技術が挙げられる。
特開2013-92964号公報
 一方で、上述したARやSLAM等の技術を応用することで、実空間上における距離の測定を、より簡便な操作により実現することを可能とする仕組みが求められている。
 そこで、本開示では、実空間上の距離を、より簡便な操作で測定することが可能な、情報処理装置、情報処理方法、及び記録媒体を提案する。
 本開示によれば、所定の撮像部により撮像された画像と、当該撮像部の位置及び向きのうち少なくともいずれかに基づく位置情報とを取得する取得部と、第1の視点及び第2の視点それぞれにおいて撮像された前記画像である第1の画像及び第2の画像と、前記第1の視点及び前記第2の視点それぞれの前記位置情報である第1の位置情報及び第2の位置情報と、に基づき、実空間上における第1の位置及び第2の位置を推定する推定部と、前記推定結果に基づき、前記第1の位置と前記第2の位置との間の距離を測定する測定部と、を備える、情報処理装置が提供される。
 また、本開示によれば、所定の撮像部により撮像された画像と、当該撮像部の位置及び向きのうち少なくともいずれかに基づく位置情報とを取得することと、プロセッサが、第1の視点及び第2の視点それぞれにおいて撮像された前記画像である第1の画像及び第2の画像と、前記第1の視点及び前記第2の視点それぞれの前記位置情報である第1の位置情報及び第2の位置情報と、に基づき、実空間上における第1の位置及び第2の位置を推定することと、前記推定結果に基づき、前記第1の位置と前記第2の位置との間の距離を測定することと、を含む、情報処理方法が提供される。
 また、本開示によれば、コンピュータに、所定の撮像部により撮像された画像と、当該撮像部の位置及び向きのうち少なくともいずれかに基づく位置情報とを取得することと、第1の視点及び第2の視点それぞれにおいて撮像された前記画像である第1の画像及び第2の画像と、前記第1の視点及び前記第2の視点それぞれの前記位置情報である第1の位置情報及び第2の位置情報と、に基づき、実空間上における第1の位置及び第2の位置を推定することと、前記推定結果に基づき、前記第1の位置と前記第2の位置との間の距離を測定することと、を実行させるプログラムが記録された記録媒体が提供される。
 以上説明したように本開示によれば、実空間上の距離を、より簡便な操作で測定することが可能な、情報処理装置、情報処理方法、及び記録媒体が提供される。
 なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
本開示の一実施形態に係る入出力装置の概略的な構成の一例について説明するための説明図である。 本開示の第1の実施形態に係る情報処理システムの概要について説明するための説明図である。 距離の測定結果に応じて提示される表示情報の一例を示している。 同実施形態に係る情報処理システムの機能構成の一例について示したブロック図である。 同実施形態に係る情報処理システムの一連の処理の流れの一例を示したフローチャートである。 本開示の第2の実施形態に係る情報処理システムの概要について説明するための説明図である。 同実施形態に係る情報処理システムの一連の処理の流れの一例を示したフローチャートである。 同実施形態に係る情報処理システムの一連の処理の流れの一例を示したフローチャートである。 同実施形態に係る情報処理システムの一連の処理の流れの一例を示したフローチャートである。 本開示の第3の実施形態に係る情報処理システムの概要について説明するための説明図である。 同実施形態に係る情報処理システムの概要について説明するための説明図である。 同実施形態に係る情報処理システムの機能構成の一例について示したブロック図である。 同実施形態に係る情報処理システムの一連の処理の流れの一例を示したフローチャートである。 本開示の第4の実施形態に係る情報処理システムの概要について説明するための説明図である。 同実施形態に係る情報処理システムの機能構成の一例について示したブロック図である。 同実施形態に係る情報処理システムの一連の処理の流れの一例を示したフローチャートである。 変形例1に係る情報処理システムの概要について説明するための説明図である。 変形例2に係る情報処理システムの概要について説明するための説明図である。 変形例3に係る情報処理システムの概要について説明するための説明図である。 実空間上における距離の測定結果を利用した各種情報の提示方法の一例について説明するための説明図である。 実空間上における距離の測定結果を利用した各種情報の提示方法の一例について説明するための説明図である。 面積を測定する場合の測定手順の一例を示している。 体積を測定する場合の測定手順の一例を示している。 本開示の一実施形態にかかる情報処理装置のハードウェア構成例を示すブロック図である。
 以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
 なお、説明は以下の順序で行うものとする。
 1.はじめに
  1.1.入出力装置の構成
  1.2.自己位置推定の原理
 2.第1の実施形態
  2.1.測定方法
  2.2.機能構成
  2.3.処理
  2.4.評価
 3.第2の実施形態
  3.1.測定方法
  3.2.処理
  3.3.評価
 4.第3の実施形態
  4.1.測定方法
  4.2.機能構成
  4.3.処理
  4.4.評価
 5.第4の実施形態
  5.1.測定方法
  5.2.機能構成
  5.3.処理
  5.4.評価
 6.変形例
  6.1.変形例1:曲線の長さの測定
  6.2.変形例2:仮想オブジェクトの操作に基づく測定方法の一例
  6.3.変形例3:複数の装置を連携させる場合の一例
 7.適用例
 8.ハードウェア構成例
 9.むすび
 <<1.はじめに>>
  <1.1.入出力装置の構成>
 まず、図1を参照して、本開示の一実施形態に係る入出力装置の概略的な構成の一例について説明する。図1は、本実施形態に係る入出力装置の概略的な構成の一例について説明するための説明図である。
 本実施形態に係る入出力装置20は、ユーザが頭部の少なくとも一部に装着して使用する、所謂頭部装着型デバイスとして構成されている。例えば、図1に示す例では、入出力装置20は、所謂アイウェア型(メガネ型)のデバイスとして構成されており、レンズ293a及び293bのうち少なくともいずれかが透過型のディスプレイ(出力部211)として構成されている。また、入出力装置20は、第1撮像部201a及び201bと、第2撮像部203a及び203bと、操作部207と、メガネのフレームに相当する保持部291とを備える。保持部291は、入出力装置20がユーザの頭部に装着されたときに、出力部211と、第1撮像部201a及び201bと、第2撮像部203a及び203bと、操作部207とを、当該ユーザの頭部に対して所定の位置関係となるように保持する。また、図1には図示していないが、入出力装置20は、ユーザの音声を集音するための集音部を備えていてもよい。
 ここで、入出力装置20のより具体的な構成について説明する。例えば、図1に示す例では、レンズ293aが、右眼側のレンズに相当し、レンズ293bが、左眼側のレンズに相当する。即ち、保持部291は、入出力装置20が装着された場合に、出力部211(換言すると、レンズ293a及び293b)がユーザの眼前に位置するように、当該出力部211を保持する。
 第1撮像部201a及び201bは、所謂ステレオカメラとして構成されており、入出力装置20がユーザの頭部に装着されたときに、当該ユーザの頭部が向いた方向(即ち、ユーザの前方)を向くように、保持部291によりそれぞれ保持される。このとき、第1撮像部201aが、ユーザの右眼の近傍に保持され、第1撮像部201bが、当該ユーザの左眼の近傍に保持される。このような構成に基づき、第1撮像部201a及び201bは、入出力装置20の前方に位置する被写体(換言すると、実空間に位置する実オブジェクト)を互いに異なる位置から撮像する。これにより、入出力装置20は、ユーザの前方に位置する被写体の画像を取得するとともに、第1撮像部201a及び201bそれぞれにより撮像された画像間の視差に基づき、当該入出力装置20から、当該被写体までの距離を算出することが可能となる。
 また、第2撮像部203a及び203bは、入出力装置20がユーザの頭部に装着されたときに、それぞれの撮像範囲内に当該ユーザの眼球が位置するように、保持部291によりそれぞれ保持される。具体的な一例として、第2撮像部203aは、撮像範囲内にユーザの右眼が位置するように保持される。このような構成に基づき、第2撮像部203aにより撮像された右眼の眼球の画像と、当該第2撮像部203aと当該右眼との間の位置関係と、に基づき、当該右眼の視線が向いている方向を認識することが可能となる。同様に、第2撮像部203bは、撮像範囲内に当該ユーザの左眼が位置するように保持される。即ち、第2撮像部203bにより撮像された左眼の眼球の画像と、当該第2撮像部203bと当該左眼との間の位置関係と、に基づき、当該左眼の視線が向いている方向を認識することが可能となる。なお、以降の説明では、視線が向いている方向を、「視線方向」とも称する。また、図1に示す例では、入出力装置20が第2撮像部203a及び203bの双方を含む構成について示しているが、第2撮像部203a及び203bのうちいずれかのみが設けられていてもよい。
 操作部207は、入出力装置20に対するユーザからの操作を受け付けるための構成である。操作部207は、例えば、タッチパネルやボタン等のような入力デバイスにより構成されていてもよい。操作部207は、保持部291により、入出力装置20の所定の位置に保持されている。例えば、図1に示す例では、操作部207は、メガネのテンプルに相当する位置に保持されている。
 また、本実施形態に係る入出力装置20は、例えば、加速度センサや、角速度センサ(ジャイロセンサ)が設けられ、当該入出力装置20を装着したユーザの頭部の動き(換言すると、入出力装置20自体の動き)を検出可能に構成されていてもよい。具体的な一例として、入出力装置20は、ユーザの頭部の動きとして、ヨー(yaw)方向、ピッチ(pitch)方向、及びロール(roll)方向それぞれの成分を検出することで、当該ユーザの頭部の位置及び姿勢のうち少なくともいずれかの変化を認識してもよい。
 以上のような構成に基づき、本実施形態に係る入出力装置20は、ユーザの頭部の動きに応じた、実空間上における自身の位置や姿勢の変化を認識することが可能となる。また、このとき入出力装置20は、所謂AR技術に基づき、実空間に位置する実オブジェクトに対して、仮想的なコンテンツ(即ち、仮想オブジェクト)が重畳するように、出力部211に当該コンテンツを提示することも可能となる。なお、入出力装置20が、実空間上における自身の位置及び姿勢を推定するための方法(即ち、自己位置推定)の一例については、詳細を別途後述する。
 なお、入出力装置20として適用可能な頭部装着型の表示装置(HMD)の一例としては、例えば、シースルー型HMD、ビデオシースルー型HMD、及び網膜投射型HMDが挙げられる。
 シースルー型HMDは、例えば、ハーフミラーや透明な導光板を用いて、透明な導光部等からなる虚像光学系をユーザの眼前に保持し、当該虚像光学系の内側に画像を表示させる。そのため、シースルー型HMDを装着したユーザは、虚像光学系の内側に表示された画像を視聴している間も、外部の風景を視野に入れることが可能となる。このような構成により、シースルー型HMDは、例えば、AR技術に基づき、当該シースルー型HMDの位置及び姿勢のうち少なくともいずれかの認識結果に応じて、実空間に位置する実オブジェクトの光学像に対して仮想オブジェクトの画像を重畳させることも可能となる。なお、シースルー型HMDの具体的な一例として、メガネのレンズに相当する部分を虚像光学系として構成した、所謂メガネ型のウェアラブルデバイスが挙げられる。例えば、図1に示した入出力装置20は、シースルー型HMDの一例に相当する。
 ビデオシースルー型HMDは、ユーザの頭部または顔部に装着された場合に、ユーザの眼を覆うように装着され、ユーザの眼前にディスプレイ等の表示部が保持される。また、ビデオシースルー型HMDは、周囲の風景を撮像するための撮像部を有し、当該撮像部により撮像されたユーザの前方の風景の画像を表示部に表示させる。このような構成により、ビデオシースルー型HMDを装着したユーザは、外部の風景を直接視野に入れることは困難ではあるが、表示部に表示された画像により、外部の風景を確認することが可能となる。また、このときビデオシースルー型HMDは、例えば、AR技術に基づき、当該ビデオシースルー型HMDの位置及び姿勢のうち少なくともいずれかの認識結果に応じて、外部の風景の画像に対して仮想オブジェクトを重畳させてもよい。
 網膜投射型HMDは、ユーザの眼前に投影部が保持されており、当該投影部からユーザの眼に向けて、外部の風景に対して画像が重畳するように当該画像が投影される。より具体的には、網膜投射型HMDでは、ユーザの眼の網膜に対して、投影部から画像が直接投射され、当該画像が網膜上で結像する。このような構成により、近視や遠視のユーザの場合においても、より鮮明な映像を視聴することが可能となる。また、網膜投射型HMDを装着したユーザは、投影部から投影される画像を視聴している間も、外部の風景を視野に入れることが可能となる。このような構成により、網膜投射型HMDは、例えば、AR技術に基づき、当該網膜投射型HMDの位置や姿勢のうち少なくともいずれかの認識結果に応じて、実空間に位置する実オブジェクトの光学像に対して仮想オブジェクトの画像を重畳させることも可能となる。
 なお、参考として、上記に説明した例以外にも、没入型HMDと呼ばれるHMDが挙げられる。没入型HMDは、ビデオシースルー型HMDと同様に、ユーザの眼を覆うように装着され、ユーザの眼前にディスプレイ等の表示部が保持される。そのため、没入型HMDを装着したユーザは、外部の風景(即ち、現実世界の風景)を直接視野に入れることが困難であり、表示部に表示された映像のみが視界に入ることとなる。このような構成により、没入型HMDは、画像を視聴しているユーザに対して没入感を与えることが可能となる。
 以上、図1を参照して、本開示の一実施形態に係る入出力装置の概略的な構成の一例について説明した。
  <1.2.自己位置推定の原理>
 次いで、入出力装置20が、実オブジェクトに対して仮想オブジェクトを重畳させる際に、実空間上における自身の位置及び姿勢を推定するための手法(即ち、自己位置推定)の原理の一例について説明する。
 自己位置推定の具体的な一例として、入出力装置20は、実空間上の実オブジェクト上に提示されたサイズが既知のマーカ等を、自身に設けられたカメラ等の撮像部により撮像する。そして、入出力装置20は、撮像された画像を解析することで、マーカ(ひいては、当該マーカが提示された実オブジェクト)に対する自身の相対的な位置及び姿勢のうち少なくともいずれかを推定する。なお、以降の説明では、入出力装置20が自身の位置及び姿勢を推定する場合に着目して説明するが、当該入出力装置20は、自身の位置及び姿勢のうちいずれかのみを推定してもよい。
 具体的には、画像中に撮像されたマーカの向き(例えば、マーカの模様等の向き)に応じて、当該マーカに対する撮像部(ひいては、当該撮像部を備える入出力装置20)の相対的な方向を推定することが可能である。また、マーカのサイズが既知の場合には、画像中におけるマーカのサイズに応じて、当該マーカと撮像部(即ち、当該撮像部を備える入出力装置20)との間の距離を推定することが可能である。より具体的には、マーカをより遠くから撮像すると、当該マーカは、より小さく撮像されることとなる。また、このとき画像中に撮像される実空間上の範囲は、撮像部の画角に基づき推定することが可能である。以上の特性を利用することで、画像中に撮像されたマーカの大きさ(換言すると、画角内においてマーカが占める割合)に応じて、当該マーカと撮像部との間の距離を逆算することが可能である。以上のような構成により、入出力装置20は、マーカに対する自身の相対的な位置及び姿勢を推定することが可能となる。
 また、所謂SLAM(simultaneous localization and mapping)と称される技術が、入出力装置20の自己位置推定に利用されてもよい。SLAMとは、カメラ等の撮像部、各種センサ、エンコーダ等を利用することにより、自己位置推定と環境地図の作成とを並行して行う技術である。より具体的な一例として、SLAM(特に、Visual SLAM)では、撮像部により撮像された動画像に基づき、撮像されたシーン(または、被写体)の3次元形状を逐次的に復元する。そして、撮像されたシーンの復元結果を、撮像部の位置及び姿勢の検出結果と関連付けることで、周囲の環境の地図の作成と、当該環境における撮像部(ひいては、入出力装置20)の位置及び姿勢の推定とが行われる。なお、撮像部の位置及び姿勢については、例えば、入出力装置20に加速度センサや角速度センサ等の各種センサを設けることで、当該センサの検出結果に基づき相対的な変化を示す情報として推定することが可能である。もちろん、撮像部の位置及び姿勢を推定可能であれば、その方法は、必ずしも加速度センサや角速度センサ等の各種センサの検知結果に基づく方法のみには限定されない。
 以上のような構成のもとで、例えば、撮像部による既知のマーカの撮像結果に基づく、当該マーカに対する入出力装置20の相対的な位置及び姿勢の推定結果が、上述したSLAMにおける初期化処理や位置補正に利用されてもよい。このような構成により、入出力装置20は、マーカが撮像部の画角内に含まれない状況下においても、従前に実行された初期化や位置補正の結果を受けたSLAMに基づく自己位置推定により、当該マーカ(ひいては、当該マーカが提示された実オブジェクト)に対する自身の位置及び姿勢を推定することが可能となる。
 以上、入出力装置20が、実オブジェクトに対して仮想オブジェクトを重畳させる際に、実空間上における自身の位置及び姿勢を推定するための手法(即ち、自己位置推定)の原理の一例について説明した。なお、以降においては、例えば、上述した原理に基づき、実空間上の物体(実オブジェクト)に対する入出力装置20の位置及び姿勢を推定することが可能であるものして説明する。
 <<2.第1の実施形態>>
 続いて、本開示の第1の実施形態に係る情報処理システムの一例について説明する。本実施形態に係る情報処理システムは、前述したARや自己位置推定(SLAM等)の技術を応用することで、入出力装置20を介した操作に基づき、実空間上の複数の位置間の距離の測定を可能とする。そこで、以降では、本実施形態に係る情報処理システムについて、当該システムを利用した距離の測定方法、当該システムの構成、及び当該システムの処理についてそれぞれ説明する。
  <2.1.測定方法>
 まず、図2及び図3を参照して、本実施形態に係る情報処理システムを利用した、実空間上における距離の測定方法の一例について説明する。例えば、図2は、本実施形態に係る情報処理システムの概要について説明するための説明図であり、実空間上における距離の測定方法の一例について示している。なお、図2では、本実施形態に係る情報処理システムの特徴をよりわかりやすくするために、実オブジェクトと仮想オブジェクトとの双方をあわせて提示している。
 本実施形態に係る情報処理システムにおいては、ユーザは、入出力装置20を装着したうえで、視線により実空間上における距離の測定の開始点及び終点を指定する。このとき、システムは、入出力装置20と実オブジェクト90との間の距離の測定結果と、ユーザの視線の認識結果とに基づき、当該実オブジェクト90上に指定された開始点及び終点の3次元的な位置を推定する。より具体的には、システムは、入出力装置20と実オブジェクト90との間の距離(深度)の測定結果に基づくメッシュ面と、視線方向を示すベクトル(以降では、「視線ベクトル」とも称する)との交点を、ユーザが指定した実オブジェクト90上の点(即ち、開始点または終点)として認識する。
 具体的な手順としては、まず、ユーザは、入出力装置20を装着し、距離の測定の開始点とする実オブジェクト90上の位置を注視した状態で、開始点の登録のための所定の操作(例えば、操作部207に対する操作)を行う。この操作を受けて、システムは、ユーザが注視している実空間上の3次元的な位置を推定し、推定した当該位置を開始点として登録する。また、このときシステムは、開始点として登録した実空間上の位置に、当該開始点を示す仮想オブジェクトV11が重畳するように、当該仮想オブジェクトV11を、入出力装置20(例えば、出力部211)を介してユーザに提示してもよい。
 開始点の登録が完了した後に、ユーザは、距離の測定の終点とする実オブジェクト90上の位置を注視した状態で、終点の登録のための所定の操作を行う。この操作を受けて、システムは、開始点の場合と同様に、終点の登録を行う。また、このときシステムは、終点として登録した実空間上の位置に、当該終点を示す仮想オブジェクトV13が重畳するように、当該仮想オブジェクトV13を、入出力装置20を介してユーザに提示してもよい。
 そして、システムは、登録された開始点及び終点それぞれの3次元的な位置の推定結果に基づき、当該開始点と当該終点との間の距離を測定(算出)し、測定結果を示す表示情報V17を、入出力装置20(例えば、表示部211)を介してユーザに提示する。例えば、図3は、距離の測定結果に応じて提示される表示情報の一例を示している。このような構成により、ユーザは、実際に物差しや巻尺等の道具を使用して距離の測定を行わずとも、入出力装置20を使用したより簡便な操作により、実空間上における距離の測定を行うことが可能となる。
 また、このときシステムは、実空間上の尺度(寸法)を示す表示情報を提示してもよい。例えば、図2及び図3に示す例では、システムは、開始点の登録後に、ユーザの視線の移動に応じて、開始点とユーザの視線が向けられた位置との間に巻尺状の仮想オブジェクトV15a及びV15bを提示している。具体的には、システムは、巻尺のケースに相当する仮想オブジェクトV15aを提示することで、ユーザの視線が向けられた実空間上の位置を示している。また、システムは、登録された開始点と、当該仮想オブジェクトV15aとの間に、実空間上の寸法に応じて目盛りが振られた帯状の仮想オブジェクトV15bを提示している。このような制御により、ユーザは、物差しや巻尺等の道具を使用して実際に距離を測定する場合と同様の感覚で、入出力装置20を介した操作により実空間上の距離を測定することが可能となる。なお、以降の説明においては、ユーザの視線が向けられた位置を「注視点」と称し、当該視線の基点となる位置(例えば、眼に相当する位置であり、換言すると、入出力装置20の位置)を「視点」と称する場合がある。
 以上、図2及び図3を参照して、本実施形態に係る情報処理システムを利用した、実空間上における距離の測定方法の一例について説明した。
  <2.2.機能構成>
 続いて、図4を参照して、本実施形態に係る情報処理システムの機能構成の一例について説明する。図4は、本実施形態に係る情報処理システムの機能構成の一例について示したブロック図である。
 図4に示すように、本実施形態に係る情報処理システム1は、例えば、入出力装置20と、情報処理装置10とを含む。なお、入出力装置20は、図1を参照して説明した入出力装置20に相当する。
 まず、入出力装置20の構成に着目して説明する。図4に示すように、入出力装置20は、第1撮像部201と、第2撮像部203と、入力部205と、出力部211とを含む。また、入力部205は、操作部207を含む。また、入力部205は、集音部209を含んでもよい。なお、第1撮像部201は、図1に示す第1撮像部201a及び201bに相当する。また、第2撮像部203は、図1に示す第2撮像部203a及び203bに相当する。また、操作部207及び出力部211は、図1に示す操作部207及び出力部211にそれぞれ相当する。
 第1撮像部201は、所謂ステレオカメラとして構成されており、互いに異なる複数の位置から被写体の画像、即ち、右眼側に相当する視点からの被写体の画像と、左眼側に相当する視点からの被写体の画像とを撮像する。なお、以降の説明では、右眼側に相当する視点から撮像された画像を「右眼画像」とも称し、左眼側に相当する視点から撮像された画像を「左眼画像」とも称する。そして、第1撮像部201は、撮像した右眼画像及び左眼画像を情報処理装置10に出力する。
 第2撮像部203は、入出力装置20を装着したユーザの眼球の画像を撮像し、撮像した画像を情報処理装置10に出力する。なお、このとき第2撮像部203は、ユーザの右眼及び左眼それぞれの眼球の画像を撮像し、当該画像それぞれを情報処理装置10に出力してもよい。
 操作部207は、ユーザからの操作を受け付けた場合に、当該操作の内容を示す制御情報を情報処理装置10に出力する。また、集音部209は、ユーザの音声等の音響を集音し、当該音響の集音結果に基づく音響信号を情報処理装置10に出力する。
 出力部211は、所謂ディスプレイ等により構成され、情報処理装置10からの制御に基づき、画像等のような表示情報を表示する。例えば、図1を参照して前述したように、出力部211は、所謂透過型のディスプレイとして構成されていてもよい。
 次いで、情報処理装置10の構成に着目して説明する。図4に示すように、情報処理装置10は、深度検出部101と、位置姿勢推定部103と、視線検出部105と、注視点検出部107と、トリガ検出部109と、基準点推定部111と、距離算出部113と、出力制御部115とを含む。
 深度検出部101は、第1撮像部201により撮像された右眼画像及び左眼画像を、当該第1撮像部201から取得する。深度検出部101は、右眼画像と左眼画像との間の視差に基づき、入出力装置20と、当該右眼画像及び左眼画像に撮像された被写体との間の距離(即ち、深度)を算出する。そして、深度検出部101は、取得した被写体の画像(例えば、右眼画像及び左眼画像)と、算出した深度を示す深度情報(例えば、深度の測定結果に基づくメッシュ面を示す情報)とを、位置姿勢推定部103に出力する。また、深度検出部101は、当該深度情報を、注視点検出部107に出力する。
 位置姿勢推定部103は、実空間上における入出力装置20の位置及び姿勢の推定に係る処理(所謂自己位置推定に係る処理)を実行するための構成である。
 具体的には、位置姿勢推定部103は、深度検出部101から、被写体の画像と、深度情報とを取得する。位置姿勢推定部103は、取得した各画像に対して解析処理を施すことで、当該画像中に被写体として撮像された物体(実オブジェクト)を認識する。このとき、位置姿勢推定部103は、例えば、画像中に撮像された物体の特徴(例えば、形状、模様等の特徴)に基づき特徴量を算出し、既知の物体の特徴量を示す情報と照合することで、画像中に撮像された物体を認識してもよい。
 次いで、位置姿勢推定部103は、取得した画像に撮像された実オブジェクトの認識結果と、取得した深度情報(即ち、入出力装置20と、当該実オブジェクトとの距離を示す情報)とに基づき、当該実オブジェクトに対する入出力装置20の相対的な位置及び姿勢を推定する。なお、このとき位置姿勢推定部103は、SLAMに基づき、認識された実オブジェクトに対する入出力装置20の相対的な位置及び姿勢を推定してもよい。この場合には、位置姿勢推定部103は、図示しない所定の検知部(例えば、入出力装置20に設けられた加速度センサや角速度センサ等)から、入出力装置20の位置及び姿勢の変化を示す情報を取得し、当該情報をSLAMに基づく自己位置推定(即ち、実オブジェクトに対する入出力装置20の位置及び姿勢の推定)に利用してもよい。
 そして、位置姿勢推定部103は、実空間上における入出力装置20の位置及び姿勢の推定結果を示す情報を、基準点推定部111に出力する。また、位置姿勢推定部103は、実オブジェクトの認識結果と、実空間上における入出力装置20の位置及び姿勢の推定結果を示す情報とを、出力制御部115に出力する。
 視線検出部105は、第2撮像部203により撮像されたユーザの眼球の画像を、当該第2撮像部203から取得する。視線検出部105は、取得した画像に対して解析処理を施すことで、画像中に撮像された眼球が向いている方向を認識する。視線検出部105は、画像中に撮像された眼球が向いている方向の認識結果と、当該眼球と第2撮像部203との間の位置関係と、に基づき、実空間上において当該眼球が向いている方向、即ち、視線方向を検出する。なお、眼球と第2撮像部203との間の位置関係については、想定される入出力装置20の装着状態に基づきあらかじめ認識または推定することが可能であることは言うまでもない。また、このとき検出される視線方向は、入出力装置20の位置及び姿勢を基準として相対的な方向に相当する。そして、視線検出部105は、視線方向の検出結果を示す視線情報を、注視点検出部107に出力する。
 注視点検出部107は、深度検出部101から、深度の検出結果を示す深度情報を取得する。また、注視点検出部107は、視線検出部105から、視線の検出結果を示す視線情報を取得する。そして、注視点検出部107は、取得した深度情報及び視線情報に基づき、ユーザの視線が向けられている実空間上の位置(即ち、注視点の実空間上の位置)を、入出力装置20の位置及び姿勢を基準とした相対的な位置として検出する。
 具体的には、注視点検出部107は、視線情報に基づき視線ベクトルを算出し、当該視線ベクトルと、深度情報に基づくメッシュ面(即ち、実オブジェクトの表面の3次元的な位置情報)との交点を、注視点の実空間上の位置として検出する。なお、このとき検出される位置は、前述したように、入出力装置20の位置及び姿勢を基準とした相対的な位置となる。そして、注視点検出部107は、検出した位置、即ち、注視点の実空間上の位置を示す情報(以降では、「注視点の位置情報」とも称する)を基準点推定部111に出力する。
 トリガ検出部109は、入力部205を介したユーザ入力を示す情報を、当該入力部205から取得する。そして、トリガ検出部109は、取得したユーザ入力を示す情報が、所定の操作内容を示す場合に、当該ユーザ入力をトリガとして、基準点推定部111に対して当該操作内容に関連付けられた指示を行う。具体的な一例として、トリガ検出部109は、取得したユーザ入力を示す情報が、前述した開始点や終点等のような、距離の測定の基準となる実空間上の位置(以降では、「基準点」とも称する)の登録を示す場合に、当該ユーザ入力をトリガとして、基準点推定部111に対して基準点の登録を指示する。
 具体的な一例として、トリガ検出部109は、操作部207から、操作内容を示す制御情報を取得し、当該制御情報が、基準点を登録するための操作を示す場合に、当該操作をトリガとして、基準点推定部111に対して基準点の登録を指示する。
 また、他の一例として、トリガ検出部109は、集音部209から、集音結果に基づく音響信号を取得してもよい。この場合には、トリガ検出部109は、取得した音響信号に対して所謂音声認識処理や自然語源処理に基づく各種解析処理を施すことで、ユーザが発話した内容を認識する。そして、トリガ検出部109は、ユーザが発話した内容が、基準点の登録を示す場合に、当該発話内容の認識結果をトリガとして、基準点推定部111に対して基準点の登録を指示してもよい。
 基準点推定部111は、位置姿勢推定部103から、実空間上における入出力装置20の位置及び姿勢の推定結果を示す情報を取得する。また、基準点推定部111は、注視点検出部107から、注視点の位置情報を取得する。そして、基準点推定部111は、トリガ検出部109から基準点の登録に係る指示を受けた場合に、入出力装置20の位置及び姿勢の推定結果と、注視点の位置情報とに基づき、開始点や終点等のような基準点の実空間上の位置を推定する。
 具体的には、基準点推定部111は、注視点検出部107から取得した注視点の位置情報に基づき、注視点の実空間上における3次元的な位置を、入出力装置20の位置及び姿勢を基準とした相対的な位置として認識する。また、基準点推定部111は、実空間上における入出力装置20の位置及び姿勢については、位置姿勢推定部103から取得した情報に基づき認識する。これにより、基準点推定部111は、注視点の実空間上における3次元的な位置を、例えば、絶対位置として推定することが可能となる。
 そして、基準点推定部111は、トリガ検出部109からの基準点の登録に係る指示に基づき、開始点や終点等のような基準点の登録を行う。例えば、基準点推定部111は、基準点の登録に係る指示を受けた場合に、基準点の登録状況に応じて、開始点や終点を登録してもよい。より具体的には、基準点推定部111は、当該指示を受けたときに、開始点が登録されていない場合には、そのときに推定した基準点(即ち、注視点の実空間上の位置)を開始点として登録する。また、基準点推定部111は、当該指示を受けたときに、開始点が既に登録されている場合には、そのときに推定した基準点を終点として登録してもよい。
 また、他の一例として、基準点推定部111は、トリガ検出部109から、開始点及び終点それぞれについて、登録に係る指示を個別に受けてもよい。例えば、基準点推定部111は、トリガ検出部109からの指示に基づき、開始点の登録がユーザにより指示されたことを認識した場合に、そのときに推定した基準点を開始点として登録する。同様に、基準点推定部111は、トリガ検出部109からの指示に基づき、終点の登録がユーザにより指示されたことを認識した場合に、そのときに推定した基準点を終点として登録してもよい。
 以上のようにして、基準点推定部111は、トリガ検出部109からの指示に基づき開始点や終点等の基準点を登録し、登録した基準点それぞれの実空間上における位置を示す位置情報を、距離算出部113に出力する。これにより、距離算出部113は、登録された各基準点の実空間上における位置を認識することが可能となる。
 また、基準点推定部111は、注視点の実空間上における位置を示す情報を、距離算出部113に逐次出力してもよい。これにより、距離算出部113は、ユーザの視線が向けられている実空間上の位置(即ち、注視点の実空間上の位置)をリアルタイムで認識することが可能となる。
 距離算出部113は、登録された各基準点(例えば、開始点及び終点)の実空間上における位置を示す位置情報を、基準点推定部111から取得する。距離算出部113は、登録された各基準点の位置情報に基づき、複数の基準点間の距離を算出し、当該距離の算出結果を示す情報を出力制御部115に出力する。また、このとき距離算出部113は、登録された各基準点の位置情報を示す情報を、出力制御部115に出力してもよい。
 また、距離算出部113は、基準点推定部111から、注視点の実空間上の位置を示す情報を逐次取得してもよい。この場合には、距離算出部113は、例えば、登録された基準点(例えば、開始点)と注視点との間の距離を算出し、当該距離の算出結果を示す情報を出力制御部115に出力してもよい。また、このとき距離算出部113は、注視点の実空間上の位置を示す情報を、出力制御部115に出力してもよい。
 出力制御部115は、AR技術に基づき、仮想オブジェクトが実空間上に重畳するように、当該仮想オブジェクトを、出力部211を介してユーザに提示する。
 具体的には、出力制御部115は、位置姿勢推定部103から、実オブジェクトの認識結果と、実空間上における入出力装置20の位置及び姿勢の推定結果を示す情報とを取得する。これにより、出力制御部115は、実空間上における入出力装置20と認識された実オブジェクトとの間の位置関係を推定することが可能となる。
 そして、出力制御部115は、例えば、入出力装置20と認識された実オブジェクトとの間の実空間上における位置関係に応じて、実空間上の所望の位置に仮想オブジェクトが重畳するように、当該仮想オブジェクトを出力部211に表示させる。なお、このとき出力制御部115は、仮想オブジェクトをCG(Computer Graphic)として提示するために、レンダリング等のような表示情報の生成に係る各種処理を実行してもよい。
 また、出力制御部115は、距離算出部113から距離の算出結果を示す情報を取得し、当該情報に基づき、距離の算出結果に応じた表示情報を出力部211に表示させてもよい。また、このとき出力制御部115は、登録された各基準点の位置情報を、距離算出部113から取得してもよい。この場合には、出力制御部115は、取得した位置情報に基づき、各基準点を示す表示情報が、当該基準点の実空間上の位置に重畳するように、当該表示情報を出力部211に表示させてもよい。
 また、出力制御部115は、登録された基準点と注視点との間の距離の算出結果を示す情報を、距離算出部113から取得し、当該情報に基づき、距離の算出結果に応じた表示情報を出力部211に表示させてもよい。また、このとき出力制御部115は、注視点の実空間上の位置を示す情報を、距離算出部113から取得してもよい。この場合には、出力制御部115は、例えば、登録された基準点と、注視点とのそれぞれの位置関係に応じた表示情報(例えば、図2及び図3に示すような仮想オブジェクトV15a及びV15b)を、出力部211に表示させてもよい。
 なお、図4に示した構成はあくまで一例であり、情報処理システム1の構成は、必ずしも図4に示す例には限定されない。具体的な一例として、入出力装置20と情報処理装置10とが一体的に構成されていてもよい。また、他の一例として、情報処理装置10の構成のうち、一部の構成が、当該情報処理装置10とは異なる装置(例えば、入出力装置20や外部のサーバ等)に設けられていてもよい。
 また、上記では、入出力装置20が、図1に示すような所謂シースルー型HMDとして構成されている場合に着目して説明したが、前述したように、入出力装置20は、ビデオシースルー型HMDや網膜投射型HMDとして構成されていてもよい。なお、その場合には、情報処理装置10の構成や処理の一部を必要に応じて置き換えてもよいことは言うまでもない。具体的な一例として、入出力装置20がビデオシースルー型HMDとして構成されている場合には、出力制御部115は、第1撮像部201により撮像された画像に、仮想オブジェクトを重畳させた画像を出力部211に表示させればよい。
 また、上記に説明した例では、ステレオカメラにより撮像された画像に基づき、実空間上の物体(実オブジェクト)の画像と、入出力装置20から当該物体までの距離を示す深度情報と、を取得する例について説明した。一方で、実空間上の物体の画像と、入出力装置20から当該物体までの距離を示す深度情報とを取得することが可能であれば、当該画像及び当該深度情報を取得するための構成は特に限定されない。例えば、実空間上の物体の画像を取得するための撮像部とは別に、当該距離を測定するため測距部を設けてもよい。なお、測距部の構成についても特に限定されないことは言うまでもない。より具体的な一例として、移動視差、TOF(Time Of Flight)、Structured Light等の方式に基づき、入出力装置20から当該物体までの距離が測定されてもよい。
 ここで、TOFとは、被写体に対して赤外線等の光を投光し、投稿した光が当該被写体で反射して戻るまでの時間を画素ごとに測定することで、当該測定結果に基づき被写体までの距離(深度)を含めた画像(所謂距離画像)を得る方式である。また、Structured Lightは、被写体に対して赤外線等の光によりパターンを照射しそれを撮像することで、撮像結果から得られる当該パターンの変化に基づき、被写体までの距離(深度)を含めた距離画像を得る方式である。また、移動視差とは、所謂単眼カメラにおいても、視差に基づき被写体までの距離を測定する方法である。具体的には、カメラを移動させることで、被写体を互いに異なる視点から撮像し、撮像された画像間の視差に基づき被写体までの距離を測定する。なお、このとき各種センサによりカメラの移動距離及び移動方向を認識することで、被写体までの距離をより精度良く測定することが可能となる。なお、距離の測定方法に応じて、撮像部の構成(例えば、単眼カメラ、ステレオカメラ等)を変更してもよい。
 以上、図4を参照して、本実施形態に係る情報処理システムの機能構成の一例について説明した。
  <2.3.処理>
 続いて、図5を参照して、本実施形態に係る情報処理システムの一連の処理の流れの一例について、特に、情報処理装置10の処理に着目して説明する。図5は、本実施形態に係る情報処理システムの一連の処理の流れの一例を示したフローチャートである。
 まず、情報処理装置10(深度検出部101)は、第1撮像部201により撮像された右眼画像及び左眼画像に基づき、入出力装置20と、撮像された被写体(即ち、実オブジェクト)との間の距離(深度)を算出する。これにより、実オブジェクトの画像と、入出力装置20と当該実オブジェクトとの間の距離を示す深度情報とが取得される(S101)。
 次いで、情報処理装置10(位置姿勢推定部103)は、取得した画像及び深度情報に基づき、当該画像に撮像された実オブジェクトに対する入出力装置20の相対的な位置及び姿勢を推定する。また、このとき位置姿勢推定部103は、SLAMに基づき、認識された実オブジェクトに対する入出力装置20の相対的な位置及び姿勢を推定してもよい(S103)。なお、入出力装置20の相対的な位置及び姿勢の推定方法については、位置姿勢推定部103の処理として前述した通りである。
 また、情報処理装置10(視線検出部105)は、第2撮像部203により撮像されたユーザの眼球の画像と、当該眼球と第2撮像部203との間の位置関係と、に基づき視線方向を検出する(S105)。
 次いで、情報処理装置10(注視点検出部107)は、視線方向の検出結果と、取得した深度情報とに基づき、ユーザの視線が向けられている実空間上の位置(即ち、注視点の実空間上の位置)を、入出力装置20の位置及び姿勢を基準とした相対的な位置として検出する。また、情報処理装置10(基準点推定部111)は、注視点の実空間上の位置の検出結果と、実空間上における入出力装置20の位置及び姿勢の推定結果と、に基づき、当該注視点の実空間上における3次元的な位置を絶対位置として推定する(S107)。
 なお、情報処理装置10は、入力部205を介したユーザ入力に基づく所定のトリガが検出されない限り(S109、NO)、参照符号S101~S107で示された一連の処理を逐次実行する。そして、情報処理装置10は、ユーザ入力に基づく所定のトリガが検出された場合には(S109、YES)、開始点や終点の登録に係る処理を実行する。
 例えば、情報処理装置10(基準点推定部111)は、開始点が登録されていない場合には(S111、NO)、トリガが検出されたときの注視点の実空間上における3次元的な位置を、開始点として登録する(S113)。開始点の登録後は、情報処理装置10(距離算出部113)は、登録された開始点から現在の注視点までの距離を算出する(S115)。
 また、情報処理装置10(基準点推定部111)は、開始点が既に登録されている場合には(S111、YES)、トリガが検出されたときの注視点の実空間上における3次元的な位置を、終点として登録する(S117)。この場合には、情報処理装置10(距離算出部113)は、登録された開始点から終点までの距離を算出する。そして、情報処理装置10(出力制御部115)は、当該距離の算出結果に基づく表示情報を、入出力装置20の出力部211に表示させる。
 情報処理装置10は、ユーザから処理の終了(例えば、アプリケーションの終了)が指示されるまで、上述した一連の処理を実行する(S121、NO)。そして、ユーザから処理の終了が指示されると(S121、YES)、情報処理装置10は、上述した一連の処理を終了する。
 以上、図5を参照して、本実施形態に係る情報処理システムの一連の処理の流れの一例について、特に、情報処理装置10の処理に着目して説明した。
  <2.4.評価>
 以上、説明したように、本実施形態に係る情報処理システムにおいては、ユーザは、入出力装置20を装着したうえで、視線により実空間上における距離の測定の開始点及び終点を指定する。このとき、情報処理装置10は、入出力装置20により互いに異なる複数の視点から撮像された各画像と、各視点における当該入出力装置20の位置及び姿勢の推定結果とに基づき、開始点や終点等の基準点の実空間上における位置を推定する。また、情報処理装置10は、開始点及び終点それぞれの実空間上における位置の推定結果に基づき、当該開始点と当該終点との間の距離を算出(測定)する。そして、情報処理装置10は、開始点と終点との間の距離の算出結果に基づく表示情報を、入出力装置20を介してユーザに提示する。このような構成により、ユーザは、実際に物差しや巻尺等の道具を使用して距離の測定を行わずとも、入出力装置20を使用したより簡便な操作により、実空間上における距離の測定を行うことが可能となる。
 また、本実施形態に係る情報処理システムでは、実空間上の距離の測定に係る一連の動作時に、SLAM等のような自己位置推定の技術に基づき、入出力装置20の位置及び姿勢を逐次推定する。このような構成により、開始点や終点等のような各基準点を登録する場合に、例えば、当該登録時における入出力装置20の位置及び姿勢(換言すると、登録時における視点)を基準として、当該基準点の実空間上における位置を推定することが可能となる。そのため、本実施形態に係るシステムに依れば、開始点及び終点として登録する実空間上の各位置を、入出力装置20により撮像される画像中に同時に収めることが困難な場合においても、当該開始点と当該終点との間の距離を測定することが可能となる。なお、開始点及び終点として登録する実空間上の各位置を画像中に同時に収めることが困難な状況としては、例えば、開始点と終点とが比較的離れている場合や、開始点と終点との間に遮蔽物が存在する場合等が挙げられる。
 なお、上述した例では、開始点及び終点を基準点として登録することで、当該開始点と終点との間の距離が測定される場合の一例について説明したが、必ずしも同態様のみには限定されない。具体的な一例として、本実施形態に係る情報処理システムは、3つ以上の基準点が登録でき、かつ、登録された3つ以上の基準点それぞれの間の距離が測定できるように構成されていてもよい。より具体的な一例として、情報処理装置10は、終点が登録された後に、新たに別の終点が登録された場合には、従前に登録された終点を経由点として、開始点と経由点との間の距離と、当該経由点と新たに登録された終点との間の距離とを算出してもよい。また、経由点の数は1つに限らず、複数登録できてもよい。これは、後述する他の実施形態や変形例に係る情報処理システムについても同様である。
 <<3.第2の実施形態>>
 続いて、本開示の第2の実施形態に係る情報処理システムの一例について説明する。
  <3.1.測定方法>
 まず、図6を参照して、本実施形態に係る情報処理システムを利用した、実空間上における距離の測定方法の一例について説明する。例えば、図6は、本実施形態に係る情報処理システムの概要について説明するための説明図であり、実空間上における距離の測定方法の一例について示している。なお、図6では、本実施形態に係る情報処理システムの特徴をよりわかりやすくするために、実オブジェクトと仮想オブジェクトとの双方をあわせて提示している。
 本実施形態に係る情報処理システムは、入出力装置20を装着したユーザの視線を検出し、当該視線の検出結果に基づき、開始点や終点等のような基準点を指定するための仮想オブジェクトV19を、入出力装置20を介してユーザに提示する。例えば、図6に示す例では、ユーザの視線方向を示す矢印状の仮想オブジェクトV19a及びV19bが提示されている。ユーザは、自身の視線の検出結果に応じて提示された仮想オブジェクトV19の方向や長さを、入出力装置20を介した操作に基づき調整することで、実空間上における距離の測定の開始点及び終点を指定する。
 具体的には、まずユーザは、参照符号P11に示すように、入出力装置20を装着したうえで、開始点として登録する実空間上の位置を注視し、入出力装置20に対して仮想オブジェクトV19の配置に係る所定の操作を行う。当該操作を受けて、システムは、ユーザの視線を検出し、検出した視線の方向(即ち、視線ベクトル)に応じた仮想オブジェクトV19aが実空間上に重畳するように、入出力装置20を介して当該仮想オブジェクトV19aをユーザに提示する。
 次いで、ユーザは、参照符号P12として示すように、実空間上に重畳するように提示された仮想オブジェクトV19aを、別の視点(例えば、別の角度)から参照し、入出力装置20を介した操作により、当該仮想オブジェクトV19aの方向や長さを調整する。このような操作により、ユーザは、仮想オブジェクトV19aにより、開始点として登録する実空間上の位置を指定する。この操作を受けて、システムは、仮想オブジェクトV19aにより指定された実空間上の位置を開始点として登録する。例えば、図6に示す例では、システムは、矢印状の仮想オブジェクトV19aが指し示す実空間上の位置を開始点として登録する。
 また、ユーザは、開始点と同様の方法で終点を登録する。例えば、ユーザは、参照符号P13として示すように、終点として登録する実空間上の位置を注視し、所定の操作を行う。当該操作を受けて、システムは、ユーザの視線を検出し、検出結果に応じて仮想オブジェクトV19bをユーザに提示する。またユーザは、提示された仮想オブジェクトV19bを、別の視点から参照し、入出力装置20を介した操作により、当該仮想オブジェクトV19bの方向や長さを調整することで、終点として登録する実空間上の位置を指定する。そして、システムは、矢印状の仮想オブジェクトV19bが指し示す実空間上の位置を終点として登録する。
 なお、開始点及び終点の登録後の動作については、前述した第1の実施形態と同様である。即ち、システムは、登録された開始点及び終点それぞれの3次元的な位置に基づき、当該開始点と当該終点との間の距離を測定(算出)し、測定結果に応じて各種表示情報を、入出力装置20を介してユーザに提示する。このような構成により、ユーザは、実際に物差しや巻尺等の道具を使用して距離の測定を行わずとも、入出力装置20を使用したより簡便な操作により、実空間上における距離の測定を行うことが可能となる。
 また、本実施形態に係る情報処理システムにおいては、仮想オブジェクトV19の向きや長さを調整することで、開始点や終点等の基準点として登録する実空間上の位置が指定される。そのため、本実施形態に係る情報処理システムでは、第1の実施形態に係る情報処理システムとは異なり、実オブジェクトが存在しない実空間上の位置を基準点として登録することも可能である。
 以上、図6を参照して、本実施形態に係る情報処理システムを利用した、実空間上における距離の測定方法の一例について説明した。
  <3.2.処理>
 次いで、図7~図9を参照して、本実施形態に係る情報処理システムの一連の処理の流れの一例について、特に、情報処理装置10の処理に着目して説明する。図7~図9は、本実施形態に係る情報処理システムの一連の処理の流れの一例を示したフローチャートである。なお、本実施形態に係る情報処理システムは、基本的な機能構成は、前述した第1の実施形態に係るシステム(図4参照)と同様であるが、一部の構成における処理が異なる。そこで、本説明では、本実施形態に係る情報処理システムの特徴について、特に、前述した第1の実施形態に係る情報処理システムと異なる処理に着目して、より詳しく説明する。
 なお、参照符号S101~S107で示された処理については、前述した第1の実施形態に係る情報処理システム(図5参照)と同様である。即ち、情報処理装置10(深度検出部101)は、第1撮像部201により撮像された右眼画像及び左眼画像に基づき、実オブジェクトの画像と、入出力装置20と当該実オブジェクトとの間の距離を示す深度情報とを取得する(S101)。次いで、情報処理装置10(位置姿勢推定部103)は、取得した画像及び深度情報に基づき、当該画像に撮像された実オブジェクトに対する入出力装置20の相対的な位置及び姿勢を推定する(S103)。また、情報処理装置10(視線検出部105)は、第2撮像部203により撮像されたユーザの眼球の画像と、当該眼球と第2撮像部203との間の位置関係と、に基づき視線方向を検出する(S105)。また、情報処理装置10(注視点検出部107)は、視線方向の検出結果と、取得した深度情報とに基づき、注視点の実空間上の位置を、入出力装置20の位置及び姿勢を基準とした相対的な位置として検出する。そして、情報処理装置10(基準点推定部111)は、注視点の実空間上の位置の検出結果と、実空間上における入出力装置20の位置及び姿勢の推定結果と、に基づき、当該注視点の実空間上における3次元的な位置を絶対位置として推定する(S107)。また、このとき情報処理装置10(基準点推定部111)は、入出力装置20と注視点とを結ぶベクトル(換言すると、視線ベクトル)の実空間上における3次元的な位置及び向きを絶対位置として推定してもよい。
 なお、情報処理装置10は、入力部205を介したユーザ入力に基づく所定のトリガが検出されない限り(S123、NO、かつ、S125、NO)、参照符号S101~S107で示された一連の処理を逐次実行する。
 また、情報処理装置10は、基準点を調整するためのトリガを検出した場合には(S123、YES)、開始点や終点等の基準点の調整に係る各処理を実行する(S150)。例えば、図8は、基準点の調整に係る一連の処理の流れの一例について示したフローチャートである。
 具体的には、情報処理装置10(表示制御部115)は、入出力装置20と注視点とを結ぶベクトルの実空間上における3次元的な位置及び向きに応じて、基準点を指定するための仮想オブジェクトV19を、入出力装置20の出力部211を介してユーザに提示する(S151)。
 次いで、情報処理装置10(基準点推定部111)は、開始点が登録されていない場合には(S153、NO)、ユーザ入力に基づく仮想オブジェクトV19の向きや長さの調整結果に応じて、開始点として登録される基準点の3次元的な位置を調整する。即ち、情報処理装置10は、向きや長さが調整された当該仮想オブジェクトV19が指し示す3次元的な位置を、調整後の当該基準点の位置として認識する(S155)。開始点として登録される基準点の位置の調整後は、情報処理装置10(距離算出部113)は、位置が調整された当該基準点から現在の注視点までの距離を算出する(S157)。
 また、情報処理装置10(基準点推定部111)は、開始点が既に登録されている場合には(S153、YES)、ユーザ入力に基づく仮想オブジェクトV19の向きや長さの調整結果に応じて、終点として登録される基準点の3次元的な位置を調整する。即ち、情報処理装置10は、向きや長さが調整された当該仮想オブジェクトV19が指し示す3次元的な位置を、調整後の当該基準点の位置として認識する(S159)。この場合には、情報処理装置10(距離算出部113)は、開始点から、位置が調整された当該基準点(即ち、終点として登録される基準点)までの距離を算出し、当該距離の算出結果に基づく表示情報を、入出力装置20の出力部211に表示させる。
 また、図7に示すように、情報処理装置10は、基準点を登録するためのトリガを検出した場合には(S123、NO、かつ、S125、YES)、開始点や終点等の基準点の登録と、距離の測定とに係る処理を実行する(S170)。例えば、図9は、基準点の登録と、距離の測定とに係る一連の処理の流れの一例について示したフローチャートである。
 具体的には、情報処理装置10(基準点推定部111)は、開始点が登録されていない場合には(S171、NO)、トリガが検出されたときの注視点の実空間上における3次元的な位置(即ち、仮想オブジェクトV19が指し示す位置)を、開始点として登録する(S173)。開始点の登録後は、情報処理装置10(距離算出部113)は、登録された開始点から現在の注視点までの距離を算出する(S175)。
 また、情報処理装置10(基準点推定部111)は、開始点が既に登録されている場合には(S171、YES)、トリガが検出されたときの注視点の実空間上における3次元的な位置(即ち、仮想オブジェクトV19が指し示す位置)を、終点として登録する(S177)。この場合には、情報処理装置10(距離算出部113)は、登録された開始点から終点までの距離を算出し、当該距離の算出結果に基づく表示情報を、入出力装置20の出力部211に表示させる。
 そして、図7に示すように、情報処理装置10は、ユーザから処理の終了(例えば、アプリケーションの終了)が指示されるまで、上述した一連の処理を実行する(S127、NO)。そして、ユーザから処理の終了が指示されると(S127、YES)、情報処理装置10は、上述した一連の処理を終了する。
 以上、図7~図9を参照して、本実施形態に係る情報処理システムの一連の処理の流れの一例について、特に、情報処理装置10の処理に着目して説明した。
  <3.3.評価>
 以上、説明したように、本実施形態に係る情報処理システムにおいては、情報処理装置10は、入出力装置20を装着したユーザの視線を検出し、当該視線の検出結果に基づき、開始点や終点等のような基準点を指定するための仮想オブジェクトV19を、入出力装置20を介してユーザに提示する。ユーザは、自身の視線の検出結果に応じて提示された仮想オブジェクトV19の方向や長さを、入出力装置20を介した操作に基づき調整することで、実空間上における距離の測定の開始点及び終点を指定する。情報処理装置10は、方向や長さが調整された仮想オブジェクトV19が指し示す実空間上の位置に応じて開始点及び終点の3次元的な位置を認識し、当該開始点と当該終点との間の距離を算出(測定)する。そして、情報処理装置10は、開始点と終点との間の距離の算出結果に基づく表示情報を、入出力装置20を介してユーザに提示する。このような構成により、ユーザは、実際に物差しや巻尺等の道具を使用して距離の測定を行わずとも、入出力装置20を使用したより簡便な操作により、実空間上における距離の測定を行うことが可能となる。
 また、本実施形態に係る情報処理システムにおいては、仮想オブジェクトV19の向きや長さを調整することで、開始点や終点等の基準点として登録する実空間上の位置が指定される。そのため、本実施形態に係る情報処理システムでは、第1の実施形態に係る情報処理システムとは異なり、実オブジェクトが存在しない実空間上の位置を基準点として登録することも可能である。
 <<4.第3の実施形態>>
 続いて、本開示の第3の実施形態に係る情報処理システムの一例について説明する。
  <4.1.測定方法>
 まず、図10及び図11を参照して、本実施形態に係る情報処理システムを利用した、実空間上における距離の測定方法の一例について説明する。例えば、図10及び図11は、本実施形態に係る情報処理システムの概要について説明するための説明図であり、実空間上における距離の測定方法の一例について示している。なお、図10及び図11では、本実施形態に係る情報処理システムの特徴をよりわかりやすくするために、実オブジェクトと仮想オブジェクトとの双方をあわせて提示している。
 例えば、図10に示すように、本実施形態に係る情報処理システムにおいては、ユーザは、実オブジェクト90上の所望の位置に入出力装置20を接触または近接させることで、実空間上における距離の測定の開始点及び終点を指定する。
 具体的には、まずユーザは、参照符号P21に示すように、入出力装置20を、開始点として登録する実空間上の位置に接触または近接させ、当該入出力装置20に対して開始点の登録に係る所定の操作を行う。当該操作を受けて、システムは、入出力装置20の位置及び姿勢と、当該入出力装置20と実オブジェクト90との間の距離(深度)と、に基づき、当該入出力装置20が接触または近接した実空間上の3次元的な位置を推定し、推定した当該位置を開始点として登録する。
 また、終点の登録についても、開始点の場合と同様である。例えば、ユーザは、参照符号P22に示すように、入出力装置20を、終点として登録する実空間上の位置に接触または近接させ、当該入出力装置20に対して終点の登録に係る所定の操作を行う。当該操作を受けて、システムは、入出力装置20の位置及び姿勢と、当該入出力装置20と実オブジェクト90との間の距離(深度)と、に基づき、当該入出力装置20が接触または近接した実空間上の3次元的な位置を推定し、推定した当該位置を終点として登録する。
 なお、開始点及び終点の登録後の動作については、前述した各実施形態と同様である。即ち、システムは、登録された開始点及び終点それぞれの3次元的な位置に基づき、当該開始点と当該終点との間の距離を測定(算出)し、測定結果に応じて各種表示情報を、入出力装置20を介してユーザに提示する。このような構成により、ユーザは、実際に物差しや巻尺等の道具を使用して距離の測定を行わずとも、入出力装置20を使用したより簡便な操作により、実空間上における距離の測定を行うことが可能となる。
 また、本実施形態に係るシステムにおいては、実空間上の距離を測定するための装置として、入出力装置20に替えて、所謂スマートフォンやタブレット端末等のような端末装置30が用いられてもよい。例えば、図11は、本実施形態に係る情報処理システムにおいて、端末装置30を用いて実空間上の距離を測定する場合の手順の概要について示している。なお、本実施形態に係る情報処理システムにおいて、端末装置30は、入出力装置20と同様に、実オブジェクトの画像と、当該端末装置30と当該実オブジェクトとの間の距離を示す深度情報とを取得可能に構成されているものとする。
 例えば、図11に示す例では、ユーザは、参照符号P31に示すように、端末装置30を、開始点として登録する実空間上の位置に接触または近接させ、当該端末装置30に対して開始点の登録に係る所定の操作を行う。当該操作を受けて、システムは、端末装置30の位置及び姿勢と、当該端末装置30と実オブジェクト90との間の距離(深度)と、に基づき、当該端末装置30が接触または近接した実空間上の3次元的な位置を推定し、推定した当該位置を開始点として登録する。
 また、終点の登録についても、開始点の場合と同様である。例えば、ユーザは、参照符号P32に示すように、端末装置30を、終点として登録する実空間上の位置に接触または近接させ、当該端末装置30に対して終点の登録に係る所定の操作を行う。当該操作を受けて、システムは、端末装置30の位置及び姿勢と、当該端末装置30と実オブジェクト90との間の距離(深度)と、に基づき、当該端末装置30が接触または近接した実空間上の3次元的な位置を推定し、推定した当該位置を終点として登録すればよい。
 以上、図10及び図11を参照して、本実施形態に係る情報処理システムを利用した、実空間上における距離の測定方法の一例について説明した。
  <4.2.機能構成>
 続いて、図12を参照して、本実施形態に係る情報処理システムの機能構成の一例について説明する。図12は、本実施形態に係る情報処理システムの機能構成の一例について示したブロック図である。なお、本説明においては、図11に示すように、端末装置30を用いて実空間上の距離を測定する場合に着目して、本実施形態に係る情報処理システムの機能構成について説明する。
 図12に示すように、本実施形態に係る情報処理システム2は、例えば、端末装置30と、情報処理装置40とを含む。なお、端末装置30は、図11に示す端末装置30に相当する。
 まず、端末装置30の構成に着目して説明する。図12に示すように、端末装置30は、撮像部301と、入力部303と、出力部305とを含む。
 撮像部301は、所謂ステレオカメラとして構成されており、互いに異なる複数の位置から被写体の画像、即ち、右眼側に相当する視点からの被写体の画像(即ち、右眼画像)と、左眼側に相当する視点からの被写体の画像(即ち、左眼画像)とを撮像する。そして、撮像部301は、撮像した右眼画像及び左眼画像を情報処理装置40に出力する。
 入力部303は、例えば、タッチパネルやボタン等のような入力インターフェースにより構成されている。入力部303は、ユーザからの操作を受け付けた場合に、当該操作の内容を示す制御情報を情報処理装置40に出力する。なお、端末装置30は、前述した第1の実施形態に係る入出力装置20(図4参照)と同様に、入力インターフェースとして、ユーザの音声を集音するための集音部を含んでもよい。
 出力部305は、ディスプレイ等により構成され、情報処理装置40からの制御に基づき、画像等のような表示情報を表示する。
 なお、端末装置30は、例えば、加速度センサや角速度センサ等のように、当該端末装置30の位置及び姿勢の変化を示す情報を取得するための検知部(図示を省略する)を備えてもよい。
 次いで、情報処理装置40の構成に着目して説明する。図12に示すように、情報処理装置40は、深度検出部401と、位置姿勢推定部403と、トリガ検出部405と、基準点推定部407と、距離算出部409と、出力制御部411とを含む。なお、深度検出部401、位置姿勢推定部403、及びトリガ検出部405は、前述した第1及び第2の実施形態に係る情報処理装置10(図4参照)における深度検出部101、位置姿勢推定部103、及びトリガ検出部109に相当する。
 即ち、深度検出部401は、撮像部301により撮像された右眼画像及び左眼画像に基づき、被写体の画像と、端末装置30と当該被写体との間の距離を示す深度情報とを取得する。そして、深度検出部401は、取得した被写体の画像と、深度情報とを、位置姿勢推定部403に出力する。なお、深度検出部401は、当該深度情報を、基準点推定部407に出力してもよい。
 位置姿勢推定部403は、実空間上における端末装置30の位置及び姿勢の推定に係る処理(所謂自己位置推定に係る処理)を実行するための構成である。即ち、位置姿勢推定部403は、深度検出部401から、被写体の画像と、深度情報とを取得し、取得した当該画像と当該深度情報とに基づき、当該画像中に被写体として撮像された実オブジェクトを認識する。また、位置姿勢推定部403は、当該実オブジェクトの認識結果と、取得した深度情報とに基づき、当該実オブジェクトに対する端末装置30の相対的な位置及び姿勢を推定する。なお、このとき位置姿勢推定部403は、SLAMに基づき、認識された実オブジェクトに対する端末装置30の相対的な位置及び姿勢を推定してもよい。そして、位置姿勢推定部403は、実空間上における端末装置30の位置及び姿勢の推定結果を示す情報を、基準点推定部407に出力する。また、位置姿勢推定部403は、実空間上における端末装置30の位置及び姿勢の推定結果を示す情報を、出力制御部411に出力してもよい。
 トリガ検出部405は、入力部303を介したユーザ入力を示す情報を、当該入力部303から取得する。そして、トリガ検出部405は、取得したユーザ入力を示す情報が、所定の操作内容を示す場合に、当該ユーザ入力をトリガとして、基準点推定部407に対して当該操作内容に関連付けられた指示を行う。このような構成に基づき、例えば、トリガ検出部405は、所定のユーザ入力をトリガとして、距離の測定に係る開始点や終点等の基準点の登録を基準点推定部407に指示する。
 基準点推定部407は、位置姿勢推定部403から、実空間上における端末装置30の位置及び姿勢の推定結果を示す情報を取得する。また、基準点推定部407は、深度検出部401から深度情報を取得してもよい。そして、基準点推定部407は、トリガ検出部405から基準点の登録に係る指示を受けた場合に、端末装置30の位置及び姿勢の推定結果に基づき、開始点や終点等のような基準点の実空間上の位置を推定する。
 より具体的には、基準点推定部407は、トリガ検出部405から基準点の登録に係る指示を受けた場合に、そのときの端末装置30の特定箇所の位置(換言すると、端末装置30の位置)を、前述した第1及び第2の実施形態において説明した注視点と見なし、当該注視点を基準点として登録してもよい。また、基準点推定部407は、端末装置30の位置及び姿勢の推定結果と、取得した深度情報とに基づき、当該端末装置30の特定箇所の位置から深度情報が示す距離だけ撮像部301の撮像方向に向けて離間した位置(即ち、実オブジェクト上の位置)を注視点と見なし、当該注視点を基準点として登録してもよい。
 以上のようにして、基準点推定部407は、トリガ検出部405からの指示に基づき開始点や終点等の基準点を登録し、登録した基準点それぞれの実空間上における位置を示す位置情報を、距離算出部409に出力する。
 距離算出部409は、前述した第1及び第2の実施形態に係る情報処理装置10(図4参照)における距離算出部113に相当する。即ち、距離算出部409は、登録された各基準点の実空間上における位置を示す位置情報を、基準点推定部407から取得する。また、距離算出部409は、登録された各基準点の位置情報に基づき、複数の基準点間の距離を算出し、当該距離の算出結果を示す情報を出力制御部411に出力する。また、このとき距離算出部409は、登録された各基準点の位置情報を示す情報を、出力制御部411に出力してもよい。また、距離算出部409は、登録された基準点(例えば、開始点)と注視点との間の距離を算出し、算出した距離を示す情報を出力制御部411に出力してもよい。
 出力制御部411は、AR技術に基づき、仮想オブジェクトが実空間上に重畳するように、当該仮想オブジェクトを、出力部305を介してユーザに提示する。
 具体的な一例として、出力制御部411は位置姿勢推定部103から、実オブジェクトの認識結果と、実空間上における端末装置30の位置及び姿勢の推定結果を示す情報とを取得する。これにより、出力制御部411は、実空間上における端末装置30と認識された実オブジェクトとの間の位置関係を推定することが可能となる。そして、出力制御部411は、撮像部301により撮像された画像に対して、実空間上における端末装置30と認識された実オブジェクトとの間の位置関係に応じて仮想オブジェクトを重畳させた画像を出力部211に表示させればよい。
 また、出力制御部411は、距離算出部409から距離の算出結果を示す情報を取得し、当該情報に基づき、距離の算出結果に応じた表示情報を出力部305に表示させてもよい。当該動作については、前述した第1及び第2の実施形態に係る情報処理装置10における出力制御部115と同様である。
 なお、図12に示した構成はあくまで一例であり、情報処理システム2の構成は、必ずしも図12に示す例には限定されない。この点については、前述した第1の実施形態に係る情報処理システム1と同様である。また、実空間上の物体の画像と、端末装置30から当該物体までの距離を示す深度情報とを取得することが可能であれば、当該画像及び当該深度情報を取得するための構成は特に限定されない点についても、前述した第1の実施形態に係る情報処理システム1と同様である。
 以上、図12を参照して、本実施形態に係る情報処理システムの機能構成の一例について説明した。
  <4.3.処理>
 続いて、図13を参照して、本実施形態に係る情報処理システムの一連の処理の流れの一例について、特に、情報処理装置40の処理に着目して説明する。図13は、本実施形態に係る情報処理システムの一連の処理の流れの一例を示したフローチャートである。
 まず、情報処理装置40(深度検出部401)は、撮像部301により撮像された右眼画像及び左眼画像に基づき、端末装置30と、撮像された被写体(即ち、実オブジェクト)との間の距離(深度)を算出する。これにより、実オブジェクトの画像と、端末装置30と当該実オブジェクトとの間の距離を示す深度情報とが取得される(S201)。
 次いで、情報処理装置40(位置姿勢推定部403)は、取得した画像及び深度情報に基づき、当該画像に撮像された実オブジェクトに対する端末装置30の相対的な位置及び姿勢を推定する。また、このとき位置姿勢推定部403は、SLAMに基づき、認識された実オブジェクトに対する端末装置30の相対的な位置及び姿勢を推定してもよい(S203)。
 次いで、情報処理装置40(基準点推定部407)は、端末装置30の位置及び姿勢の推定結果に基づき、当該端末装置30の特定箇所の位置を注視点と見なし、当該注視点の実空間上における3次元的な位置を絶対位置として推定する(S205).
 なお、情報処理装置40は、入力部303を介したユーザ入力に基づく所定のトリガが検出されない限り(S207、NO)、参照符号S201~S205で示された一連の処理を逐次実行する。そして、情報処理装置40は、ユーザ入力に基づく所定のトリガが検出された場合には(S207、YES)、開始点や終点の登録に係る処理を実行する。
 例えば、情報処理装置40(基準点推定部407)は、開始点が登録されていない場合には(S209、NO)、トリガが検出されたときの注視点の実空間上における3次元的な位置を、開始点として登録する(S211)。開始点の登録後は、情報処理装置40(距離算出部409)は、登録された開始点から現在の注視点までの距離を算出する(S213)。
 また、情報処理装置40(基準点推定部407)は、開始点が既に登録されている場合には(S209、YES)、トリガが検出されたときの注視点の実空間上における3次元的な位置を、終点として登録する(S215)。この場合には、情報処理装置40(距離算出部409)は、登録された開始点から終点までの距離を算出する。そして、情報処理装置40(出力制御部411)は、当該距離の算出結果に基づく表示情報を、端末装置30の出力部305に表示させる。
 情報処理装置40は、ユーザから処理の終了(例えば、アプリケーションの終了)が指示されるまで、上述した一連の処理を実行する(S219、NO)。そして、ユーザから処理の終了が指示されると(S219、YES)、情報処理装置40は、上述した一連の処理を終了する。
 以上、図13を参照して、本実施形態に係る情報処理システムの一連の処理の流れの一例について、特に、情報処理装置40の処理に着目して説明した。
  <4.4.評価>
 以上、説明したように、本実施形態に係る情報処理システムにおいては、ユーザは、例えば、所望の実空間上の位置に端末装置30を接触または近接させ、当該端末装置30に対して所定の操作を行うことで、実空間上における距離の測定の開始点及び終点を指定する。このとき、情報処理装置40は、例えば、推定した端末装置30の実空間上の位置を、開始点や終点等の基準点の位置として認識する。また、情報処理装置40は、開始点及び終点それぞれの実空間上における位置の認識結果に基づき、当該開始点と当該終点との間の距離を算出(測定)する。そして、情報処理装置40は、開始点と終点との間の距離の算出結果に基づく表示情報を、端末装置30を介してユーザに提示する。このような構成により、ユーザは、実際に物差しや巻尺等の道具を使用して距離の測定を行わずとも、端末装置30を使用したより簡便な操作により、実空間上における距離の測定を行うことが可能となる。
 特に、本実施形態に係る情報処理システムに依れば、ユーザが、距離の測定対象となる実オブジェクトに接触または近接することが可能な状況下においては、前述した第1及び第2の実施形態に係る情報処理システムに比べて、より簡便な手順で距離の測定を行うことが可能となる。
 <5.第4の実施形態>
 続いて、本開示の第4の実施形態に係る情報処理システムの一例について説明する。
  <5.1.測定方法>
 まず、図14を参照して、本実施形態に係る情報処理システムを利用した、実空間上における距離の測定方法の一例について説明する。例えば、図14は、本実施形態に係る情報処理システムの概要について説明するための説明図であり、実空間上における距離の測定方法の一例について示している。なお、図14では、本実施形態に係る情報処理システムの特徴をよりわかりやすくするために、実オブジェクトと仮想オブジェクトとの双方をあわせて提示している。
 本実施形態に係る情報処理システムは、入出力装置20に設けられた撮像部(前述した、ステレオカメラとして構成された第1撮像部201)により撮像された画像に基づき、端末装置30等のような物体を認識する。そして、システムは、当該認識結果に応じて、認識した物体(即ち、端末装置30)に対して、開始点や終点等のような基準点を指定するための仮想オブジェクトV43が重畳するように、入出力装置20を介して当該仮想オブジェクトV43をユーザに提示する。例えば、図14に示す例では、システムは、端末装置30のディスプレイ等に提示されたマーカV41を認識し、当該マーカV41の認識結果に応じて、当該端末装置30を認識する。これにより、システムは、マーカV41の認識結果に基づき、実空間上における端末装置30の位置や姿勢を認識することが可能となる。また、システムは、端末装置30の認識結果に応じて、当該端末装置30から、当該端末装置30が向けられた方向に向けて延伸するように、仮想オブジェクトV43を提示している。ユーザは、入出力装置20を介して仮想オブジェクトV43を確認しながら、端末装置30の位置や向きを変えることで、当該仮想オブジェクトV43により、実空間上における距離の測定の開始点及び終点として登録する実空間上の位置を指定する。
 具体的には、まずユーザは、入出力装置20を装着した状態で、マーカV41が提示された端末装置30を視認する。この操作を受けて、システムは、入出力装置20の撮像部により撮像された画像に基づき、マーカV41が提示された端末装置30の位置及び姿勢を認識し、認識結果に基づき、入出力装置20を介して仮想オブジェクトV43をユーザに提示する。なお、このときシステムは、端末装置30または入出力装置20に対する所定の操作に応じて、仮想オブジェクトV43の表示態様(例えば、長さ等)を制御してもよい。
 次いで、ユーザは、参照符号P41に示すように、端末装置30の位置や向きを調整することで、提示された仮想オブジェクトV43により、開始点として登録する実空間上の位置を指し示し、端末装置30または入出力装置20に対して、開始点の登録に係る所定の操作を行う。この操作を受けて、システムは、仮想オブジェクトV43により指定された実空間上の位置を開始点として登録する。例えば、図14に示す例では、システムは、矢印状の仮想オブジェクトV43が指し示す実空間上の位置を開始点として登録する。
 また、ユーザは、開始点と同様の方法で終点を登録する。例えば、ユーザは、参照符号P42として示すように、提示された仮想オブジェクトV43により、終点として登録する実空間上の位置を指し示し、端末装置30または入出力装置20に対して、終点の登録に係る所定の操作を行う。この操作を受けて、システムは、矢印状の仮想オブジェクトV43が指し示す実空間上の位置を終点として登録する。
 なお、開始点及び終点の登録後の動作については、前述した第1~第3の実施形態と同様である。即ち、システムは、登録された開始点及び終点それぞれの3次元的な位置に基づき、当該開始点と当該終点との間の距離を測定(算出)し、測定結果に応じて各種表示情報を、入出力装置20を介してユーザに提示する。このような構成により、ユーザは、実際に物差しや巻尺等の道具を使用して距離の測定を行わずとも、入出力装置20を使用したより簡便な操作により、実空間上における距離の測定を行うことが可能となる。
 なお、図14に示す例では、仮想オブジェクトV43を重畳する物体として端末装置30を利用する例について説明した。一方で、ユーザが、提示された仮想オブジェクトV43により開始点や終点等の基準点を指定することが可能であれば、仮想オブジェクトV43が重畳される物体(換言すると、仮想オブジェクトV43を提示するために認識される物体)は、必ずしも端末装置30のみには限定されない。例えば、端末装置30に替えて、マーカV41が印刷されたカード等が使用されてもよい。
 以上、図14を参照して、本実施形態に係る情報処理システムを利用した、実空間上における距離の測定方法の一例について説明した。
  <5.2.機能構成>
 続いて、図15を参照して、本実施形態に係る情報処理システムの機能構成の一例について説明する。図15は、本実施形態に係る情報処理システムの機能構成の一例について示したブロック図である。
 図15に示すように、本実施形態に係る情報処理システム3は、例えば、入出力装置20と、端末装置30と、情報処理装置50とを含む。なお、入出力装置20及び端末装置30は、図14に示す入出力装置20及び端末装置30に相当する。
 まず、入出力装置20の構成に着目して説明する。図15に示すように、本実施形態に係る入出力装置20は、第1撮像部201と、入力部205と、出力部211とを含む。なお、第1撮像部201、入力部205、及び出力部211は、前述した第1の実施形態に係る入出力装置20(図4参照)における第1撮像部201、入力部205、及び出力部211と実質的に同様であり、詳細な説明は省略する。
 次いで、端末装置30の構成に着目して説明する。図15に示すように、端末装置30は、入力部303を含む。なお、入力部303は、前述した第3の実施形態に係る端末装置30(図12参照)における入力部303と実質的に同様であり、詳細な説明は省略する。
 次いで、情報処理装置50の構成に着目して説明する。図15に示すように、情報処理装置50は、深度検出部501と、位置姿勢推定部503と、物体認識部505と、トリガ検出部507と、基準点推定部509と、距離算出部511と、出力制御部513とを含む。なお、深度検出部501及び位置姿勢推定部503は、前述した第1及び第2の実施形態に係る情報処理装置10(図4参照)における深度検出部501及び位置姿勢推定部503に相当する。
 即ち、深度検出部501は、第1撮像部201により撮像された右眼画像及び左眼画像に基づき、被写体の画像と、入出力装置20と当該被写体との間の距離を示す深度情報とを取得する。そして、深度検出部501は、取得した被写体の画像と、深度情報とを、位置姿勢推定部503に出力する。
 位置姿勢推定部503は、実空間上における入出力装置20の位置及び姿勢の推定に係る処理(所謂自己位置推定に係る処理)を実行するための構成である。即ち、位置姿勢推定部503は、深度検出部501から、被写体の画像と、深度情報とを取得し、取得した当該画像と当該深度情報とに基づき、当該画像中に被写体として撮像された実オブジェクトを認識する。そして、位置姿勢推定部503は、当該実オブジェクトの認識結果と、取得した深度情報とに基づき、当該実オブジェクトに対する入出力装置20の相対的な位置及び姿勢を推定する。なお、このとき位置姿勢推定部503は、SLAMに基づき、認識された実オブジェクトに対する入出力装置20の相対的な位置及び姿勢を推定してもよい。そして、位置姿勢推定部503は、実空間上における入出力装置20の位置及び姿勢の推定結果を示す情報を、基準点推定部509に出力する。また、位置姿勢推定部503は、実空間上における入出力装置20の位置及び姿勢の推定結果を示す情報を、出力制御部513に出力してもよい。
 物体認識部505は、第1撮像部201により撮像された画像に基づき、端末装置30の位置及び姿勢を認識するための構成である。例えば、物体認識部505は、図14に示すような端末装置30に提示されたマーカV41を、第1撮像部201により撮像された画像中から認識し、当該認識結果に基づき、端末装置30の位置及び姿勢を認識すればよい。なお、端末装置30の認識方法については、位置姿勢推定部503が、画像中に被写体として撮像された実オブジェクトを認識する方法と実質的に同様のため、詳細な説明は省略する。そして、物体認識部505は、端末装置30の位置及び姿勢の認識結果を示す情報を、基準点推定部509に出力する。また、物体認識部505は、端末装置30の位置及び姿勢の認識結果を示す情報を、出力制御部513に出力してもよい。
 なお、上述したように、物体認識部505の処理は、位置姿勢推定部503の処理の少なくとも一部と類似する場合がある。そのため、位置姿勢推定部503が、物体認識部505の処理を実行してもよい。
 トリガ検出部507は、入力部303を介したユーザ入力を示す情報を、当該入力部303から取得する。また、トリガ検出部507は、入力部205を介したユーザ入力を示す情報を、当該入力部205から取得してもよい。そして、トリガ検出部507は、取得したユーザ入力を示す情報が、所定の操作内容を示す場合に、当該ユーザ入力をトリガとして、基準点推定部509に対して当該操作内容に関連付けられた指示を行う。このような構成に基づき、例えば、トリガ検出部507は、所定のユーザ入力をトリガとして、距離の測定に係る開始点や終点等の基準点の登録を基準点推定部509に指示する。
 基準点推定部509は、位置姿勢推定部503から、実空間上における入出力装置20の位置及び姿勢の推定結果を示す情報を取得する。また、基準点推定部509は、物体認識部505から、端末装置30の位置及び姿勢の認識結果を示す情報を取得する。そして、基準点推定部509は、トリガ検出部507から基準点の登録に係る指示を受けた場合に、入出力装置20の位置及び姿勢の推定結果と、端末装置30の位置及び姿勢の認識結果と、に基づき、開始点や終点等のような基準点の実空間上の位置を推定する。
 より具体的には、基準点推定部509は、端末装置30の位置及び姿勢の認識結果に基づき、実空間上における当該端末装置30の位置及び姿勢を、入出力装置20の位置及び姿勢を基準とした相対的な位置として認識する。また、基準点推定部509は、実空間上における入出力装置20の位置及び姿勢については、位置姿勢推定部503から取得した情報に基づき認識する。これにより、基準点推定部509は、端末装置30の実空間上における3次元的な位置及び姿勢を、例えば、絶対位置として推定することが可能となる。
 次いで、基準点推定部509は、端末装置30の実空間上における3次元的な位置及び姿勢の推定結果により、当該端末装置30が向けられている実空間上の位置(即ち、図14において、仮想オブジェクトV41により指定されている実空間上の位置)を推定する。なお、このような処理により推定される実空間上の位置が、前述した第1及び第2の実施形態において説明した注視点に相当する。そこで、本説明では、便宜上、上記処理により推定された実空間上の位置(即ち、端末装置30が向けられている実空間上の位置)を、「注視点」と称する。
 なお、このとき基準点推定部509は、仮想オブジェクトV41に対する操作結果に応じて、注視点の実空間上における3次元的な位置を推定してもよい。より具体的には、基準点推定部509は、仮想オブジェクトV41の長さの調整結果に応じて、端末装置30の実空間上の位置から、当該端末装置30が向けられている方向に、当該仮想オブジェクトV41の長さの分だけ離間した位置を、注視点の位置として推定してもよい。
 そして、基準点推定部509は、トリガ検出部507からの基準点の登録に係る指示に基づき、開始点や終点等のような基準点を登録し、登録した基準点それぞれの実空間上における位置を示す位置情報を、距離算出部511に出力する。
 また、基準点推定部509は、注視点の実空間上における位置を示す情報を、距離算出部511に逐次出力してもよい。これにより、距離算出部511は、端末装置30が向けられている実空間上の位置をリアルタイムで認識することが可能となる。
 距離算出部511の処理は、前述した第1及び第2の実施形態に係る情報処理装置10における距離算出部113と実質的に同様である。即ち、距離算出部511は、登録された各基準点の実空間上における位置を示す位置情報を、基準点推定部509から取得する。また、距離算出部511は、登録された各基準点の位置情報に基づき、複数の基準点間の距離を算出し、当該距離の算出結果を示す情報を出力制御部513に出力する。また、このとき距離算出部511は、登録された各基準点の位置情報を示す情報を、出力制御部513に出力してもよい。
 また、距離算出部511は、基準点推定部509から、注視点の実空間上の位置を示す情報を逐次取得してもよい。この場合には、距離算出部511は、例えば、登録された基準点(例えば、開始点)と注視点との間の距離を算出し、当該距離の算出結果を示す情報を出力制御部513に出力してもよい。また、このとき距離算出部511は、注視点の実空間上の位置を示す情報を、出力制御部513に出力してもよい。
 出力制御部513は、AR技術に基づき、仮想オブジェクトが実空間上に重畳するように、当該仮想オブジェクトを、出力部211を介してユーザに提示する。なお、出力制御部513による、仮想オブジェクトの提示に係る処理は、前述した第1及び第2の実施形態に係る情報処理装置10(図4参照)の出力制御部115と実質的に同様のため、詳細な説明は省略する。
 例えば、出力制御部513は、物体認識部505から、端末装置30の位置及び姿勢の認識結果を示す情報を取得する。また、出力制御部513は、位置姿勢推定部503から、実空間上における入出力装置20の位置及び姿勢の推定結果を示す情報を取得する。そして、出力制御部513は、取得した端末装置30の位置及び姿勢の認識結果を示す情報と、実空間上における入出力装置20の位置及び姿勢の推定結果を示す情報と、に基づき、端末装置30の実空間上における3次元的な位置及び姿勢を推定してもよい。そして、出力制御部513は、例えば、当該推定結果に基づき、図14に示すように、端末装置30に対して仮想オブジェクトV41が重畳するように、当該仮想オブジェクトV41を出力部211に表示させてもよい。
 また、出力制御部513は、距離算出部511から距離の算出結果を示す情報を取得し、当該情報に基づき、距離の算出結果に応じた表示情報を出力部211に表示させてもよい。当該動作については、前述した第1及び第2の実施形態に係る情報処理装置10における出力制御部115と同様である。
 なお、図15に示した構成はあくまで一例であり、情報処理システム3の構成は、必ずしも図15に示す例には限定されない。この点については、前述した第1の実施形態に係る情報処理システム1と同様である。また、実空間上の物体の画像と、入出力装置20から当該物体までの距離を示す深度情報とを取得することが可能であれば、当該画像及び当該深度情報を取得するための構成は特に限定されない点についても、前述した第1の実施形態に係る情報処理システム1と同様である。
 以上、図15を参照して、本実施形態に係る情報処理システムの機能構成の一例について説明した。
  <5.3.処理>
 続いて、図16を参照して、本実施形態に係る情報処理システムの一連の処理の流れの一例について、特に、情報処理装置50の処理に着目して説明する。図16は、本実施形態に係る情報処理システムの一連の処理の流れの一例を示したフローチャートである。
 まず、情報処理装置50(深度検出部501)は、第1撮像部201により撮像された右眼画像及び左眼画像に基づき、入出力装置20と、撮像された被写体(即ち、実オブジェクト)との間の距離(深度)を算出する。これにより、実オブジェクトの画像と、入出力装置20と当該実オブジェクトとの間の距離を示す深度情報とが取得される(S301)。
 次いで、情報処理装置50(位置姿勢推定部503)は、取得した画像及び深度情報に基づき、当該画像に撮像された実オブジェクトに対する入出力装置20の相対的な位置及び姿勢を推定する。また、このとき位置姿勢推定部503は、SLAMに基づき、認識された実オブジェクトに対する入出力装置20の相対的な位置及び姿勢を推定してもよい(S303)。
 また、情報処理装置50(物体認識部505)は、第1撮像部201により撮像された右眼画像及び左眼画像に基づき、端末装置30の位置及び姿勢を認識する。また、情報処理装置50(出力制御部513)は、端末装置30の位置及び姿勢の認識結果に基づき、当該端末装置30に対して仮想オブジェクトV41が重畳するように、当該仮想オブジェクトV41を入出力装置20を介してユーザに提示する(S305)。なお、端末装置30の位置及び姿勢を認識方法については、物体認識部505の処理として前述した通りである。
 次いで、情報処理装置50(基準点推定部509)は、入出力装置20の位置及び姿勢の推定結果と、端末装置30の位置及び姿勢の認識結果と、に基づき、端末装置30が向けられている実空間上の3次元的な位置(即ち、注視点の実空間上の位置)を推定する。なお、このとき情報処理装置50は、端末装置30の位置及び姿勢の認識結果に応じて提示した仮想オブジェクトV41に対する操作結果に応じて、当該注視点の実空間上における3次元的な位置を推定してもよい(S307)。なお、注視点の位置の推定方法については、基準点推定部509の処理として前述した通りである。
 なお、情報処理装置50は、入力部205または入力部303を介したユーザ入力に基づく所定のトリガが検出されない限り(S309、NO)、参照符号S301~S307で示された一連の処理を逐次実行する。そして、情報処理装置50は、ユーザ入力に基づく所定のトリガが検出された場合には(S309、YES)、開始点や終点の登録に係る処理を実行する。
 例えば、情報処理装置50(基準点推定部509)は、開始点が登録されていない場合には(S311、NO)、トリガが検出されたときの注視点の実空間上における3次元的な位置を、開始点として登録する(S313)。開始点の登録後は、情報処理装置50(距離算出部511)は、登録された開始点から現在の注視点までの距離を算出する(S315)。
 また、情報処理装置50(基準点推定部509)は、開始点が既に登録されている場合には(S311、YES)、トリガが検出されたときの注視点の実空間上における3次元的な位置を、終点として登録する(S317)。この場合には、情報処理装置50(距離算出部511)は、登録された開始点から終点までの距離を算出する。そして、情報処理装置50(出力制御部513)は、当該距離の算出結果に基づく表示情報を、入出力装置20の出力部211に表示させる。
 情報処理装置50は、ユーザから処理の終了(例えば、アプリケーションの終了)が指示されるまで、上述した一連の処理を実行する(S321、NO)。そして、ユーザから処理の終了が指示されると(S321、YES)、情報処理装置50は、上述した一連の処理を終了する。
 以上、図16を参照して、本実施形態に係る情報処理システムの一連の処理の流れの一例について、特に、情報処理装置50の処理に着目して説明した。
  <5.4.評価>
 以上、説明したように、本実施形態に係る情報処理システムにおいて、情報処理装置50は、入出力装置20に設けられた撮像部により撮像された画像に基づき、端末装置30等のような物体を認識する。そして、情報処理装置50は、当該認識結果に応じて、認識した物体に対して、開始点や終点等のような基準点を指定するための仮想オブジェクトV43が重畳するように、入出力装置20を介して当該仮想オブジェクトV43をユーザに提示する。このような構成のもと、ユーザは、入出力装置20を介して仮想オブジェクトV43を確認しながら、端末装置30の位置や向きを変えることで、当該仮想オブジェクトV43により、開始点及び終点として登録する実空間上の位置を指定する。このとき、情報処理装置50は、例えば、仮想オブジェクトV43により指定された実空間上の位置を、端末装置30の位置及び姿勢の認識結果に基づき推定し、推定した当該位置を、開始点や終点等の基準点の位置として登録する。
 また、情報処理装置50は、開始点及び終点それぞれの実空間上における位置の登録結果に基づき、当該開始点と当該終点との間の距離を算出(測定)する。そして、情報処理装置50は、開始点と終点との間の距離の算出結果に基づく表示情報を、入出力装置20を介してユーザに提示する。このような構成により、ユーザは、実際に物差しや巻尺等の道具を使用して距離の測定を行わずとも、入出力装置20及び端末装置30を使用したより簡便な操作により、実空間上における距離の測定を行うことが可能となる。
 <<6.変形例>>
 続いて、本開示の一実施形態に係る情報処理システムの変形例について説明する。
  <6.1.変形例1:曲線の長さの測定>
 まず、変形例1に係る情報処理システムについて説明する。前述した各実施形態では、開始点や終点等の基準点を指定することで、複数の基準点間の距離(即ち、直線距離)を測定する場合の例について説明した。一方で、変形例1に係る情報処理システムでは、直線距離に限らず、曲面の表面上の距離等のような曲線の長さを測定可能に構成されている。例えば、図17は、変形例1に係る情報処理システムの概要について説明するための説明図である。なお、図17では、変形例1に係る情報処理システムの特徴をよりわかりやすくするために、実オブジェクトと仮想オブジェクトとの双方をあわせて提示している。
 具体的には、変形例1に係る情報処理システムにおいては、ユーザは、入出力装置20や端末装置30を介して、距離の測定対象となる経路(軌跡)を指定する。
 例えば、図17に示す例では、ユーザは、所謂巻尺を物体に巻き付けて距離を測定する場合のように、端末装置30を介した操作により仮想オブジェクトV51を実オブジェクト91の表面上に設置することで、実空間上における距離の測定の対象となる経路(軌跡)を設定する。このとき、システムは、例えば、端末装置30と実オブジェクト91との間の位置関係に応じて、仮想オブジェクトV51のうち、まだ設置が行われていない部分V51aと当該実オブジェクト91とが接触したか否かを判定する。なお、システムは、仮想オブジェクトV51と実オブジェクト91との間の実空間上における位置関係については、例えば、SLAM等の自己位置推定技術に基づく端末装置30の位置及び姿勢の推定結果に応じて認識すればよい。そして、システムは、仮想オブジェクトV51の当該部分V51aのうち、実オブジェクト91と接触したものと判定した部分を、距離の測定対象となる経路として設定された部分V51bとして認識してもよい。
 また、他の一例として、ユーザは、上述した各実施形態において実空間上の位置を指定する場合と同様の要領で、例えば、距離の測定対象となる経路を設定してもよい。より具体的な一例として、ユーザは、入出力装置20を装着した状態で視線を動かし、当該視線が向けられている位置(即ち、注視点)により、実空間上の経路(軌跡)をなぞることで、当該経路を距離の測定対象として指定してもよい。この場合には、例えば、システムは、ユーザの視線の変化を検出し、当該視線が向けられている注視点の変化に応じた軌跡を、距離の測定対象となる経路として認識すればよい。
 以上のようにして、システムは、ユーザが入出力装置20や端末装置30を介して指定した経路(軌跡)を認識し、当該経路の距離を測定する。このような構成により、変形例1に係る情報処理システムは、直線距離に限らず、曲線状の軌跡に沿った距離を測定することも可能となる。なお、曲線の長さの測定方法については、一般的に知られている手法を適用することが可能であるため、詳細な説明は省略する。
 以上、図17を参照して、変形例1に係る情報処理システムについて説明した。
  <6.2.変形例2:仮想オブジェクトの操作に基づく測定方法の一例>
 次いで、変形例2に係る情報処理システムについて説明する。前述した各実施形態や変形例では、入出力装置20や端末装置30を介した指定された複数の基準点間の距離や、指定された軌跡に沿った距離を測定していた。これに対して、変形例2では、前述した各実施形態や変形例とは異なる手順に基づき、実空間上の距離を測定する手順や、当該手順を実現するための制御の一例について説明する。例えば、図18は、変形例2に係る情報処理システムの概要について説明するための説明図である。なお、図18では、変形例2に係る情報処理システムの特徴をよりわかりやすくするために、実オブジェクトと仮想オブジェクトとの双方をあわせて提示している。
 具体的には、変形例2に係る情報処理システムにおいては、ユーザは、システムにより実空間上に重畳するように提示された仮想オブジェクトのサイズを、入出力装置20や端末装置30を介した操作により調整することで、実空間上の距離の測定を行う。
 例えば、図18は、実オブジェクト93aと実オブジェクト93bとの間の距離を測定する場合の一例について示している。具体的には、図18に示す例では、システムは、ユーザからの所定の操作を受けて、実空間上の所望の位置に直方体状の仮想オブジェクトV61が重畳するように、端末装置30の出力部305を介して当該仮想オブジェクトV61をユーザに提示している。
 また、システムは、提示した仮想オブジェクトV61のうち、所定の部分のサイズ(長さ)を示す表示情報V63を、当該仮想オブジェクトV61に関連付けて提示する。例えば、図18に示す例では、システムは、直方体状の仮想オブジェクトV61の、縦、横、奥行きそれぞれの長さを示す表示情報V64a、V63b、及びV63cを提示している。なお、システムは、仮想オブジェクトV61が重畳される実空間上の位置や、当該仮想オブジェクトV61の実空間上におけるサイズについては、例えば、SLAM等の自己位置推定技術に基づく端末装置30の位置及び姿勢の推定結果に応じて認識すればよい。
 このような構成のもと、ユーザは、端末装置30の入力部303(例えば、タッチパネル等)を介した操作により、提示された仮想オブジェクトV61が重畳される実空間上の位置や、当該仮想オブジェクトV61の各部のサイズ(例えば、縦、横、奥行きの幅等)を調整することで距離の測定を行うことが可能である。例えば、図18に示す例の場合には、ユーザは、仮想オブジェクトV61の横幅が、実オブジェクトV93a及びV93b間にちょうど収まるように、当該仮想オブジェクトV61の位置や横幅を調整する。このような手順により、ユーザは、実オブジェクト93aと実オブジェクト93bとの間の距離を、仮想オブジェクトV61の横幅のサイズとして測定し、当該測定結果を表示情報V63bにより認識することが可能となる。
 また、他の一例として、ユーザは、対象となる実オブジェクトが直方体状の仮想オブジェクトV61内に収まるように、当該仮想オブジェクトV61の各部のサイズを調整してもよい。このような操作により、例えば、ぬいぐるみや荷物等のような方形状ではない物体(即ち、実オブジェクト)を収納するための箱のサイズを測定することも可能となる。
 以上、図18を参照して、変形例2に係る情報処理システムについて説明した。
  <6.3.変形例3:複数の装置を連携させる場合の一例>
 次いで、変形例3に係る情報処理システムについて説明する。変形例3では、入出力装置20や端末装置30等のような装置を複数台連携させることで、実空間上においてより離間した複数の位置の間の距離を測定する場合の構成や制御の一例について説明する。例えば、図19は、変形例3に係る情報処理システムの概要について説明するための説明図である。なお、図19では、変形例3に係る情報処理システムの特徴をよりわかりやすくするために、実オブジェクトと仮想オブジェクトとの双方をあわせて提示している。
 図19に示す例では、入出力装置20a及び20bと、情報処理装置10とが連携して動作する。情報処理装置10は、入出力装置20a及び20bのそれぞれと所定の通信経路(例えば、無線の通信経路等)を介して情報を送受信可能に構成されている。このような構成のもとで、例えば、入出力装置20aを介した操作により距離の測定の開始点が指定され、入出力装置20bを介した操作により終点が指定される。
 このとき、情報処理装置10は、入出力装置20a及び20b間の位置関係を、例えば、入出力装置20a及び20bそれぞれによる自己位置推定の結果や、GPS(Global Positioning System)等のような測位システムによる当該入出力装置20a及び20bそれぞれの位置の測位結果に基づき認識する。これにより、情報処理装置10は、入出力装置20a及び20b間の位置関係の認識結果に基づき、入出力装置20aを介して指定された開始点と、入出力装置20bを介して指定された終点との実空間上における位置関係を認識することが可能となる。
 そして、情報処理装置10は、開始点と終点との間の実空間上の位置関係の認識結果に応じて、当該開始点と当該終点との間の距離を測定すればよい。また、このとき情報処理装置10は、距離の測定結果に応じた表示情報を、入出力装置20aや入出力装置20bを介してユーザに提示してもよい。
 なお、図19に示した構成はあくまで一例であり、上述した機能を実現できれば、変形例3に係る情報処理システムの構成は、必ずしも図19に示す例には限定されない。具体的な一例として、情報処理装置10に相当する機能を、入出力装置20a及び20bのいずれかが担ってもよい。また、他の一例として、入出力装置20aと入出力装置20bとが相互に情報を送受信することで、実空間上における互いの位置関係を認識し、それぞれが独立して距離の測定に係る処理を実行してもよい。
 以上、図19を参照して、変形例3に係る情報処理システムについて説明した。
 <<7.適用例>>
 続いて、本開示の各実施形態に係る情報処理システムの適用例について説明する。
 (測定方法の選択的切り替え)
 前述したように、各実施形態や各変形例として説明した各測定方法は、使用する装置や手順が異なる。そのため、システムが、例えば、上述した各測定方法のうち少なくとも一部を、状況に応じて選択的に利用可能に構成されていてもよい。
 より具体的な一例として、第1の実施形態として説明した測定方法(図2参照)は、ユーザと測定対象との間が離間しているような場合において、当該対象のサイズ(距離等)を測定するような状況により適している。また、第2の実施形態として説明した測定方法(図6参照)は、ユーザが測定対象に対して接近することが可能な状況により適している。また、第3の実施形態として説明した測定方法(図10及び図11参照)については、ユーザが入出力装置20や端末装置30を測定対象に接触または近接させることが可能な状況により適している。そのため、このような状況の違いを想定し、システムは、各測定方法に応じたモード(例えば、「遠距離モード」、「近距離モード」等)を設定しておき、ユーザにより指定されたモードに応じて、上述した各測定方法を選択的に実行可能に構成されていてもよい。
 また、各測定方法の手順の違いに応じて、各測定方法を選択的に実行するためのモードが設定されていてもよい。具体的な一例として、第1の実施形態として説明した測定方法(図2参照)は、より簡便な手順に基づき距離の測定を行うことが可能であるが、実オブジェクトの表面上の位置のみを基準点として登録することが可能である。これに対して、第2の実施形態として説明した測定方法(図6参照)は、第1の実施形態に比べて手順は増えるが、実オブジェクトが存在しない実空間上の位置についもて基準点として登録することが可能である。そのため、システムは、例えば、第1の実施形態として説明した測定方法を、「簡易モード」として提示し、その他の測定方法(例えば、第2の実施形態として説明した測定方法)を、「詳細モード」として提示してもよい。
 (基準点の指定方法の一例)
 また、開始点や終点等の基準点の設定方法は、上述した各測定手順で示した例に限定されず、状況に応じて適宜切り替えられてもよい。具体的な一例として、顔認識、手認識、及び足認識等のような、画像解析に基づく所謂物体認識を利用することで、基準点が自動で登録されてもよい。
 より具体的な一例として、例えば、走り幅跳びにおける跳躍距離の測定に、本開示の一実施形態に係る情報処理システムを利用してもよい。この場合には、システムは、例えば、入出力装置20の撮像部により選手が跳躍する画像を撮像し、当該画像に対して画像解析を施すことで、跳躍した当該選手の跳躍及び着地に係る動作を認識する。そして、システムは、跳躍した選手の着地を認識した場合に、着地時における当該選手の足を認識し、当該足の位置を着地点として認識すればよい。これにより、システムは、例えば、踏切板の位置を開始点とし、認識した着地点を終点として距離を測定することで、走り幅跳びにおける跳躍距離の測定を行うことも可能となる。
 (距離の測定結果を利用した各種情報の提示)
 また、実空間上における距離の測定結果を、各種情報の提示に利用してもよい。例えば、図20及び図21は、実空間上における距離の測定結果を利用した各種情報の提示方法の一例について説明するための説明図であり、キャンプ時に、距離の測定結果に応じて、テント等の設置イメージを提示する場合の一例を示している。
 具体的には、まずユーザは、図20に示すように、入出力装置20を使用することで、テント等を配置する領域の寸法を、上述した各種測定方法に基づき測定する。このとき、システムは、SLAM等の自己位置推定の技術に基づき、実空間上における入出力装置20の位置や姿勢を推定し、当該推定結果に基づき、ユーザにより指定された領域の実空間上における位置や寸法を認識する。
 また、システムは、テント等のような設置対象となる物体の形状やサイズを示す情報を、あらかじめ記憶しておく。そして、システムは、物体の形状やサイズを示す情報と、ユーザにより指定された領域の実空間上における位置や寸法の認識結果とに基づき、テント等の物体を模した仮想オブジェクトV71~V73を、実空間上のサイズで当該領域に重畳するように提示する。このような構成に基づき、システムは、例えば、図21に示すように、ユーザにより指定された領域中に、テント等の物体の設置イメージを、実空間上に重畳された仮想オブジェクトV71~V73として提示する。これにより、ユーザは、例えば、図21に示すような設置イメージに基づき、テントの杭を打つためにより好適な実空間上の位置等を認識することも可能となる。
 また、図20及び図21を参照して上述した仕組みが利用されるシーンは、上述したキャンプ時における利用例のみには限定されない。例えば、部屋の寸法の測定結果を利用することで、家具の設置イメージを提示することも可能となる。また、他の一例として、スーツケース内の寸法の測定結果を利用することで、スーツケース内に収納する物の収納イメージを提示することも可能である。また、他の一例として、腕や足のような部位のサイズの測定結果を利用することで、服を着用した場合のイメージを提示してもよい。
 (面積や体積の測定への応用)
 また、上記では、距離等のような1次元のサイズの測定について説明したが、面積のような2次元的なサイズの測定や、体積のような3次元的なサイズの測定を行うことも可能である。
 例えば、図22は、面積を測定する場合の測定手順の一例を示している。図22に示す例では、システムは、入出力装置20や端末装置30を介したユーザからの指定に基づき、3点以上の基準点を登録し、当該3点以上の基準点により囲まれた領域の面積を測定する。
 具体的には、ユーザは、入出力装置20を介した操作に基づき、参照符号V81~V83で示した基準点を順次登録する。このときシステムは、例えば、入出力装置20の実空間上における位置及び姿勢の推定結果に基づき、登録された基準点V81~V83それぞれの実空間上の位置を認識する。そして、システムは、基準点V81~V83により囲まれた領域の面積を、認識した当該基準点V81~V83それぞれの実区間上の位置に基づき算出すればよい。また、このときシステムは、面積の算出結果を示す表示情報を、入出力装置20を介してユーザに提示してもよい。
 また、図23は、体積を測定する場合の測定手順の一例を示している。例えば、システムは、入出力装置20や端末装置30を介したユーザからの指定に基づき、4点以上の基準点を登録し、当該4点以上の基準点それぞれの間を結ぶ辺に基づき形成される3次元的な領域の体積を測定する。
 具体的には、図23は、直方体状の実オブジェクトの体積を測定する場合の一例について示している。図23に示す例では、ユーザは、入出力装置20を介した操作に基づき、参照符号V84~V88で示した基準点を順次指定することで、対象となる実オブジェクトの縦、横、及び奥行きの3辺を登録する。このときシステムは、例えば、入出力装置20の実空間上における位置及び姿勢の推定結果に基づき、登録された基準点V84~V88それぞれの実空間上の位置を認識する。また、システムは、基準点V84~V88それぞれの位置の認識結果に基づき、測定対象となる実オブジェクトの縦、横、及び奥行きそれぞれの長さを算出する。そして、システムは、測定対象となる実オブジェクトの縦、横、及び奥行きそれぞれ長さの算出結果に基づき、当該実オブジェクトの体積を算出すればよい。また、このときシステムは、測定対象となる実オブジェクトの縦、横、及び奥行きそれぞれの長さの算出結果や、体積の算出結果を示す表示情報を、入出力装置20を介してユーザに提示してもよい。
 以上、本開示の各実施形態に係る情報処理システムの適用例について説明した。なお、上述した例はあくまで一例であり、本開示の各実施形態に係る情報処理システムの適用対象を限定するものではない。具体的な一例として、本開示の各実施形態に係る情報処理システムを、例えば、作業現場等における長さの測定等に利用してもよい。
 <<8.ハードウェア構成例>>
 次に、図24を参照して、本開示の一実施形態にかかる情報処理装置10、40、及び50、入出力装置20、並びに端末装置30のような所謂情報処理装置のハードウェア構成の一例について説明する。なお、本説明では、情報処理装置10に着目して説明する。例えば、図24は、本開示の一実施形態にかかる情報処理装置10のハードウェア構成例を示すブロック図である。
 図24に示すように、情報処理装置10は、CPU(Central Processing unit)901、ROM(Read Only Memory)903、およびRAM(Random Access Memory)905を含む。また、情報処理装置10は、ホストバス907、ブリッジ909、外部バス911、インターフェース913、入力装置915、出力装置917、ストレージ装置919、ドライブ921、接続ポート923、通信装置925を含んでもよい。さらに、情報処理装置10は、必要に応じて、撮像装置933、およびセンサ935を含んでもよい。情報処理装置10は、CPU901に代えて、またはこれとともに、DSP(Digital Signal Processor)またはASIC(Application Specific Integrated Circuit)と呼ばれるような処理回路を有してもよい。
 CPU901は、演算処理装置および制御装置として機能し、ROM903、RAM905、ストレージ装置919、またはリムーバブル記録媒体927に記録された各種プログラムに従って、情報処理装置10内の動作全般またはその一部を制御する。ROM903は、CPU901が使用するプログラムや演算パラメータなどを記憶する。RAM905は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータなどを一次記憶する。CPU901、ROM903、およびRAM905は、CPUバスなどの内部バスにより構成されるホストバス907により相互に接続されている。さらに、ホストバス907は、ブリッジ909を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス911に接続されている。なお、前述した深度検出部101、位置姿勢推定部103、視線検出部105、注視点検出部107、トリガ検出部109、基準点推定部111、距離算出部113、及び出力制御部115等は、例えば、CPU901により実現され得る。
 入力装置915は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなど、ユーザによって操作される装置である。入力装置915は、ユーザの音声を検出するマイクを含んでもよい。入力装置915は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、情報処理装置10の操作に対応した携帯電話などの外部接続機器929であってもよい。入力装置915は、ユーザが入力した情報に基づいて入力信号を生成してCPU901に出力する入力制御回路を含む。ユーザは、この入力装置915を操作することによって、情報処理装置10に対して各種のデータを入力したり処理動作を指示したりする。例えば、前述した操作部207及び集音部209等は、例えば、入力装置915により実現され得る。また、後述する撮像装置933も、ユーザの手や指の動き等を撮像することによって、入力装置として機能し得る。
 出力装置917は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。出力装置917は、例えば、LCD(Liquid Crystal Display)、PDP(Plasma Display Panel)、有機EL(Electro-Luminescence)ディスプレイ、プロジェクタなどの表示装置、ホログラムの表示装置、スピーカおよびヘッドホンなどの音声出力装置、ならびにプリンタ装置などでありうる。出力装置917は、情報処理装置10の処理により得られた結果を、テキストまたは画像などの映像として出力したり、音声または音響などを出力したりする。また、出力装置917は、周囲を明るくするためライトなどを含んでもよい。なお、前述した出力部211は、例えば、出力装置917により実現され得る。
 ストレージ装置919は、情報処理装置10の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置919は、例えば、HDD(Hard Disk Drive)などの磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイスなどにより構成される。このストレージ装置919は、CPU901が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
 ドライブ921は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記録媒体927のためのリーダライタであり、情報処理装置10に内蔵、あるいは外付けされる。ドライブ921は、装着されているリムーバブル記録媒体927に記録されている情報を読み出して、RAM905に出力する。また、ドライブ921は、装着されているリムーバブル記録媒体927に記録を書き込む。
 接続ポート923は、機器を情報処理装置10に直接接続するためのポートである。接続ポート923は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)ポートなどでありうる。また、接続ポート923は、RS-232Cポート、光オーディオ端子、HDMI(登録商標)(High-Definition Multimedia Interface)ポートなどであってもよい。接続ポート923に外部接続機器929を接続することで、情報処理装置10と外部接続機器929との間で各種のデータが交換されうる。
 通信装置925は、例えば、通信ネットワーク931に接続するための通信デバイスなどで構成された通信インターフェースである。通信装置925は、例えば、有線または無線LAN(Local Area Network)、Bluetooth(登録商標)、またはWUSB(Wireless USB)用の通信カードなどでありうる。また、通信装置925は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、または、各種通信用のモデムなどであってもよい。通信装置925は、例えば、インターネットや他の通信機器との間で、TCP/IPなどの所定のプロトコルを用いて信号などを送受信する。また、通信装置925に接続される通信ネットワーク931は、有線または無線によって接続されたネットワークであり、例えば、インターネット、家庭内LAN、赤外線通信、ラジオ波通信または衛星通信などである。
 撮像装置933は、例えば、CCD(Charge Coupled Device)またはCMOS(Complementary Metal Oxide Semiconductor)などの撮像素子、および撮像素子への被写体像の結像を制御するためのレンズなどの各種の部材を用いて実空間を撮像し、撮像画像を生成する装置である。撮像装置933は、静止画を撮像するものであってもよいし、また動画を撮像するものであってもよい。なお、前述した第1撮像部201及び第2撮像部203は、例えば、撮像装置933により実現され得る。
 センサ935は、例えば、加速度センサ、ジャイロセンサ、地磁気センサ、光センサ、音センサなどの各種のセンサである。センサ935は、例えば情報処理装置10の筐体の姿勢など、情報処理装置10自体の状態に関する情報や、情報処理装置10の周辺の明るさや騒音など、情報処理装置10の周辺環境に関する情報を取得する。また、センサ935は、GPS(Global Positioning System)信号を受信して装置の緯度、経度および高度を測定するGPSセンサを含んでもよい。
 以上、情報処理装置10のハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。かかる構成は、実施する時々の技術レベルに応じて適宜変更されうる。
 また、コンピュータに内蔵されるプロセッサ、メモリ、及びストレージなどのハードウェアを、上記した情報処理装置10が有する構成と同等の機能を発揮させるためのプログラムも作成可能である。また、当該プログラムを記録した、コンピュータに読み取り可能な記憶媒体も提供され得る。
 <<9.むすび>>
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
 なお、以下のような構成も本開示の技術的範囲に属する。
(1)
 所定の撮像部により撮像された画像と、当該撮像部の位置及び向きのうち少なくともいずれかに基づく位置情報とを取得する取得部と、
 第1の視点及び第2の視点それぞれにおいて撮像された前記画像である第1の画像及び第2の画像と、前記第1の視点及び前記第2の視点それぞれの前記位置情報である第1の位置情報及び第2の位置情報と、に基づき、実空間上における第1の位置及び第2の位置を推定する推定部と、
 前記推定結果に基づき、前記第1の位置と前記第2の位置との間の距離を測定する測定部と、
 を備える、情報処理装置。
(2)
 ユーザの視線を検出する検出部を備え、
 前記推定部は、
 前記第1の視点における前記視線の検出結果と、前記第1の画像と、前記第1の位置情報と、に基づき、前記第1の位置を推定し、
 前記第2の視点における前記視線の検出結果と、前記第2の画像と、前記第2の位置情報と、に基づき、前記第2の位置を推定する、
 前記(1)に記載の情報処理装置。
(3)
 前記推定部は、
 前記第1の位置を、前記第1の視点からの前記視線による指定に基づき推定し、
 前記第2の位置を、前記第2の視点からの前記視線による指定に基づき推定する、
 前記(2)に記載の情報処理装置。
(4)
 前記視線の検出結果に応じて、仮想オブジェクトを所定の表示部に表示させる表示制御部を備え、
 前記推定部は、
 前記第1の位置を、前記第1の視点からの視線に応じて表示された前記仮想オブジェクトによる指定に基づき推定し、
 前記第2の位置を、前記第2の視点からの視線に応じて表示された前記仮想オブジェクトによる指定に基づき推定する、
 前記(2)に記載の情報処理装置。
(5)
 前記推定部は、前記第1の位置及び前記第2の位置のうち少なくともいずれかを、所定の検知部による実空間上の実オブジェクトへの接触または近接の検知結果に応じた指定に基づき推定する、前記(1)に記載の情報処理装置。
(6)
 実空間上の実オブジェクトの認識結果に応じて、仮想オブジェクトを所定の表示部に表示させる表示制御部を備え、
 前記推定部は、前記第1の位置及び前記第2の位置のうち少なくともいずれかを、前記仮想オブジェクトによる指定に基づき推定する、
 前記(1)に記載の情報処理装置。
(7)
 前記推定部は、前記第1の位置及び前記第2の位置のうち少なくともいずれかを、実空間上における物体の認識結果に応じた指定に基づき推定する、前記(1)に記載の情報処理装置。
(8)
 前記距離の測定結果に基づき所定の表示部に表示情報を表示させる表示制御部を備える、前記(1)に記載の情報処理装置。
(9)
 前記表示制御部は、前記距離の測定結果を示す前記表示情報を表示させる、前記(8)に記載の情報処理装置。
(10)
 前記表示制御部は、前記距離の測定結果に基づき、実空間上の尺度を示す前記表示情報を表示させる、前記(8)または(9)に記載の情報処理装置。
(11)
 前記表示制御部は、前記距離の測定結果に応じたサイズで前記表示情報を表示させる、前記(8)~(10)のいずれか一項に記載の情報処理装置。
(12)
 前記測定部は、前記第1の位置と前記第2の位置との間に指定された第3の位置を経由する、当該第1の位置と当該第2の位置との間の経路の距離を推定する、前記(1)~(11)のいずれか一項に記載の情報処理装置。
(13)
 前記測定部は、前記第1の位置と前記第2の位置との間に指定された軌跡の長さを前記距離として測定する、前記(1)~(11)のいずれか一項に記載の情報処理装置。
(14)
 前記取得部は、前記第1の画像及び前記第1の位置情報と、前記第2の画像及び前記第2の位置情報とを、互いに異なる外部装置から取得する、前記(1)~(13)のいずれか一項に記載の情報処理装置。
(15)
 所定の撮像部により撮像された画像と、当該撮像部の位置及び向きのうち少なくともいずれかに基づく位置情報とを取得することと、
 プロセッサが、
 第1の視点及び第2の視点それぞれにおいて撮像された前記画像である第1の画像及び第2の画像と、前記第1の視点及び前記第2の視点それぞれの前記位置情報である第1の位置情報及び第2の位置情報と、に基づき、実空間上における第1の位置及び第2の位置を推定することと、
 前記推定結果に基づき、前記第1の位置と前記第2の位置との間の距離を測定することと、
 を含む、情報処理方法。
(16)
 コンピュータに、
 所定の撮像部により撮像された画像と、当該撮像部の位置及び向きのうち少なくともいずれかに基づく位置情報とを取得することと、
 第1の視点及び第2の視点それぞれにおいて撮像された前記画像である第1の画像及び第2の画像と、前記第1の視点及び前記第2の視点それぞれの前記位置情報である第1の位置情報及び第2の位置情報と、に基づき、実空間上における第1の位置及び第2の位置を推定することと、
 前記推定結果に基づき、前記第1の位置と前記第2の位置との間の距離を測定することと、
 を実行させるプログラムが記録された記録媒体。
 1、2、3 情報処理システム
 10  情報処理装置
 101 深度検出部
 103 位置姿勢推定部
 105 視線検出部
 107 注視点検出部
 109 トリガ検出部
 111 基準点推定部
 113 距離算出部
 115 出力制御部
 20  入出力装置
 201 第1撮像部
 203 第2撮像部
 205 入力部
 207 操作部
 209 集音部
 30  端末装置
 301 撮像部
 303 入力部
 305 出力部
 40  情報処理装置
 401 深度検出部
 403 位置姿勢推定部
 405 トリガ検出部
 407 基準点推定部
 409 距離算出部
 411 出力制御部
 50  情報処理装置
 501 深度検出部
 503 位置姿勢推定部
 505 物体認識部
 507 トリガ検出部
 509 基準点推定部
 511 距離算出部
 513 出力制御部

Claims (16)

  1.  所定の撮像部により撮像された画像と、当該撮像部の位置及び向きのうち少なくともいずれかに基づく位置情報とを取得する取得部と、
     第1の視点及び第2の視点それぞれにおいて撮像された前記画像である第1の画像及び第2の画像と、前記第1の視点及び前記第2の視点それぞれの前記位置情報である第1の位置情報及び第2の位置情報と、に基づき、実空間上における第1の位置及び第2の位置を推定する推定部と、
     前記推定結果に基づき、前記第1の位置と前記第2の位置との間の距離を測定する測定部と、
     を備える、情報処理装置。
  2.  ユーザの視線を検出する検出部を備え、
     前記推定部は、
     前記第1の視点における前記視線の検出結果と、前記第1の画像と、前記第1の位置情報と、に基づき、前記第1の位置を推定し、
     前記第2の視点における前記視線の検出結果と、前記第2の画像と、前記第2の位置情報と、に基づき、前記第2の位置を推定する、
     請求項1に記載の情報処理装置。
  3.  前記推定部は、
     前記第1の位置を、前記第1の視点からの前記視線による指定に基づき推定し、
     前記第2の位置を、前記第2の視点からの前記視線による指定に基づき推定する、
     請求項2に記載の情報処理装置。
  4.  前記視線の検出結果に応じて、仮想オブジェクトを所定の表示部に表示させる表示制御部を備え、
     前記推定部は、
     前記第1の位置を、前記第1の視点からの視線に応じて表示された前記仮想オブジェクトによる指定に基づき推定し、
     前記第2の位置を、前記第2の視点からの視線に応じて表示された前記仮想オブジェクトによる指定に基づき推定する、
     請求項2に記載の情報処理装置。
  5.  前記推定部は、前記第1の位置及び前記第2の位置のうち少なくともいずれかを、所定の検知部による実空間上の実オブジェクトへの接触または近接の検知結果に応じた指定に基づき推定する、請求項1に記載の情報処理装置。
  6.  実空間上の実オブジェクトの認識結果に応じて、仮想オブジェクトを所定の表示部に表示させる表示制御部を備え、
     前記推定部は、前記第1の位置及び前記第2の位置のうち少なくともいずれかを、前記仮想オブジェクトによる指定に基づき推定する、
     請求項1に記載の情報処理装置。
  7.  前記推定部は、前記第1の位置及び前記第2の位置のうち少なくともいずれかを、実空間上における物体の認識結果に応じた指定に基づき推定する、請求項1に記載の情報処理装置。
  8.  前記距離の測定結果に基づき所定の表示部に表示情報を表示させる表示制御部を備える、請求項1に記載の情報処理装置。
  9.  前記表示制御部は、前記距離の測定結果を示す前記表示情報を表示させる、請求項8に記載の情報処理装置。
  10.  前記表示制御部は、前記距離の測定結果に基づき、実空間上の尺度を示す前記表示情報を表示させる、請求項8に記載の情報処理装置。
  11.  前記表示制御部は、前記距離の測定結果に応じたサイズで前記表示情報を表示させる、請求項8に記載の情報処理装置。
  12.  前記測定部は、前記第1の位置と前記第2の位置との間に指定された第3の位置を経由する、当該第1の位置と当該第2の位置との間の経路の距離を推定する、請求項1に記載の情報処理装置。
  13.  前記測定部は、前記第1の位置と前記第2の位置との間に指定された軌跡の長さを前記距離として測定する、請求項1に記載の情報処理装置。
  14.  前記取得部は、前記第1の画像及び前記第1の位置情報と、前記第2の画像及び前記第2の位置情報とを、互いに異なる外部装置から取得する、請求項1に記載の情報処理装置。
  15.  所定の撮像部により撮像された画像と、当該撮像部の位置及び向きのうち少なくともいずれかに基づく位置情報とを取得することと、
     プロセッサが、
     第1の視点及び第2の視点それぞれにおいて撮像された前記画像である第1の画像及び第2の画像と、前記第1の視点及び前記第2の視点それぞれの前記位置情報である第1の位置情報及び第2の位置情報と、に基づき、実空間上における第1の位置及び第2の位置を推定することと、
     前記推定結果に基づき、前記第1の位置と前記第2の位置との間の距離を測定することと、
     を含む、情報処理方法。
  16.  コンピュータに、
     所定の撮像部により撮像された画像と、当該撮像部の位置及び向きのうち少なくともいずれかに基づく位置情報とを取得することと、
     第1の視点及び第2の視点それぞれにおいて撮像された前記画像である第1の画像及び第2の画像と、前記第1の視点及び前記第2の視点それぞれの前記位置情報である第1の位置情報及び第2の位置情報と、に基づき、実空間上における第1の位置及び第2の位置を推定することと、
     前記推定結果に基づき、前記第1の位置と前記第2の位置との間の距離を測定することと、
     を実行させるプログラムが記録された記録媒体。
PCT/JP2016/082841 2016-02-02 2016-11-04 情報処理装置、情報処理方法、及び記録媒体 WO2017134886A1 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
CN201680080201.4A CN108603749B (zh) 2016-02-02 2016-11-04 信息处理装置、信息处理方法和记录介质
EP21196258.4A EP3979047A1 (en) 2016-02-02 2016-11-04 Information processing apparatus, information processing method, and recording medium
CN202111438702.4A CN114327043A (zh) 2016-02-02 2016-11-04 信息处理装置、信息处理方法和记录介质
JP2017565404A JPWO2017134886A1 (ja) 2016-02-02 2016-11-04 情報処理装置、情報処理方法、及び記録媒体
EP16889369.1A EP3413013B1 (en) 2016-02-02 2016-11-04 Information processing device, information processing method, and recording medium
US16/072,038 US10942024B2 (en) 2016-02-02 2016-11-04 Information processing apparatus, information processing method, and recording medium
US17/144,572 US11796309B2 (en) 2016-02-02 2021-01-08 Information processing apparatus, information processing method, and recording medium
US18/243,396 US20230417538A1 (en) 2016-02-02 2023-09-07 Information processing apparatus, information processing method, and recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016017623 2016-02-02
JP2016-017623 2016-02-02

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US16/072,038 A-371-Of-International US10942024B2 (en) 2016-02-02 2016-11-04 Information processing apparatus, information processing method, and recording medium
US17/144,572 Continuation US11796309B2 (en) 2016-02-02 2021-01-08 Information processing apparatus, information processing method, and recording medium

Publications (1)

Publication Number Publication Date
WO2017134886A1 true WO2017134886A1 (ja) 2017-08-10

Family

ID=59499615

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/082841 WO2017134886A1 (ja) 2016-02-02 2016-11-04 情報処理装置、情報処理方法、及び記録媒体

Country Status (5)

Country Link
US (3) US10942024B2 (ja)
EP (2) EP3413013B1 (ja)
JP (3) JPWO2017134886A1 (ja)
CN (2) CN114327043A (ja)
WO (1) WO2017134886A1 (ja)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108917703A (zh) * 2018-03-30 2018-11-30 京东方科技集团股份有限公司 距离测量方法及装置、智能设备
CN109217943A (zh) * 2018-07-19 2019-01-15 珠海格力电器股份有限公司 定向播报方法、装置、家用电器及计算机可读存储介质
WO2019123770A1 (ja) * 2017-12-20 2019-06-27 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
JP2019153274A (ja) * 2018-02-28 2019-09-12 東芝デジタルソリューションズ株式会社 位置算出装置、位置算出プログラム、位置算出方法、及びコンテンツ付加システム
JP2020021403A (ja) * 2018-08-03 2020-02-06 北陸電力株式会社 工事記録用プログラムおよび電線工事記録方法
US10817054B2 (en) * 2017-09-06 2020-10-27 Samsung Electronics Co., Ltd. Eye watch point tracking via binocular and stereo images
JP6821222B1 (ja) * 2020-05-08 2021-01-27 アイタックソリューションズ株式会社 測定装置、測定プログラム及び測定方法
JPWO2021141055A1 (ja) * 2020-01-08 2021-07-15
CN113170075A (zh) * 2018-11-09 2021-07-23 索尼集团公司 信息处理装置、信息处理方法和程序
JP2021125214A (ja) * 2020-02-03 2021-08-30 アップル インコーポレイテッドApple Inc. 環境を注釈し、測定し、かつモデリングするためのシステム、方法、及びグラフィカルユーザインタフェース
JP2021177162A (ja) * 2020-05-08 2021-11-11 アイタックソリューションズ株式会社 測定装置、測定プログラム及び測定方法
JP2021177161A (ja) * 2020-05-08 2021-11-11 アイタックソリューションズ株式会社 測定装置、測定プログラム及び測定方法
JP2023000947A (ja) * 2021-06-18 2023-01-04 ヤフー株式会社 表示制御装置、表示制御方法および表示制御プログラム
US11808562B2 (en) 2018-05-07 2023-11-07 Apple Inc. Devices and methods for measuring using augmented reality
US11941764B2 (en) 2021-04-18 2024-03-26 Apple Inc. Systems, methods, and graphical user interfaces for adding effects in augmented reality environments

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10587858B2 (en) * 2016-03-14 2020-03-10 Symbol Technologies, Llc Device and method of dimensioning using digital images and depth data
US10657674B2 (en) 2016-06-17 2020-05-19 Immersive Robotics Pty Ltd. Image compression method and apparatus
AU2018218182B2 (en) 2017-02-08 2022-12-15 Immersive Robotics Pty Ltd Antenna control for mobile device communication
JP2018169428A (ja) * 2017-03-29 2018-11-01 セイコーエプソン株式会社 画像表示装置
WO2019100109A1 (en) 2017-11-21 2019-05-31 Immersive Robotics Pty Ltd Frequency component selection for image compression
WO2019100108A1 (en) 2017-11-21 2019-05-31 Immersive Robotics Pty Ltd Image compression for digital reality
US10937240B2 (en) * 2018-01-04 2021-03-02 Intel Corporation Augmented reality bindings of physical objects and virtual objects
JP7432534B2 (ja) * 2018-06-27 2024-02-16 コロラド・ステート・ユニバーシティ・リサーチ・ファウンデーション 双方向にマルチユーザの仮想現実体験を効率的にレンダリング、管理、記録、および再生するための方法及び装置
CN116088783A (zh) * 2018-07-24 2023-05-09 奇跃公司 用于确定和/或评价图像显示设备的定位地图的方法和装置
US10785413B2 (en) 2018-09-29 2020-09-22 Apple Inc. Devices, methods, and graphical user interfaces for depth-based annotation
JP6650639B1 (ja) * 2019-05-31 2020-02-19 株式会社鴻池組 構造物の検査装置、構造物の検査方法及びプログラム
US11727650B2 (en) 2020-03-17 2023-08-15 Apple Inc. Systems, methods, and graphical user interfaces for displaying and manipulating virtual objects in augmented reality environments
US11615595B2 (en) 2020-09-24 2023-03-28 Apple Inc. Systems, methods, and graphical user interfaces for sharing augmented reality environments
CN111932606A (zh) * 2020-10-12 2020-11-13 歌尔光学科技有限公司 物体边界尺寸检测方法、装置、头戴显示设备及存储介质
US20220261085A1 (en) * 2021-02-12 2022-08-18 Apple Inc. Measurement based on point selection
CN115602286A (zh) * 2022-10-18 2023-01-13 上海诠视传感技术有限公司(Cn) 一种基于ar眼镜的双眼同时知觉检测和训练方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06241754A (ja) * 1992-08-28 1994-09-02 Kageisa Noro 仮想現実空間を利用した測定システム
JP2000152125A (ja) * 1998-11-09 2000-05-30 Sharp Corp ヘッドマウントディスプレイ装置
EP2546806A2 (en) * 2011-07-11 2013-01-16 Deutsche Telekom AG Image based rendering for AR - enabling user generation of 3D content
JP2013092964A (ja) 2011-10-27 2013-05-16 Sony Corp 画像処理装置、画像処理方法及びプログラム
JP2015510112A (ja) * 2012-01-13 2015-04-02 クアルコム,インコーポレイテッド 仮想定規

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3141049B2 (ja) * 1992-08-14 2001-03-05 オリンパス光学工業株式会社 3次元計測方法及び3次元計測装置
JPH06241752A (ja) 1993-02-18 1994-09-02 Sony Corp Icリード曲り測定方法
JP2006010312A (ja) * 2004-06-21 2006-01-12 Constec Engi Co 撮像装置
CA2750287C (en) * 2011-08-29 2012-07-03 Microsoft Corporation Gaze detection in a see-through, near-eye, mixed reality display
US8886449B2 (en) 2012-01-13 2014-11-11 Qualcomm Incorporated Calibrated hardware sensors for estimating real-world distances
US9372621B2 (en) * 2012-09-18 2016-06-21 Asustek Computer Inc. Operating method of electronic device
US9633450B2 (en) * 2012-11-30 2017-04-25 Sharp Kabushiki Kaisha Image measurement device, and recording medium
US20140201023A1 (en) * 2013-01-11 2014-07-17 Xiaofan Tang System and Method for Virtual Fitting and Consumer Interaction
JP5790692B2 (ja) * 2013-03-29 2015-10-07 ソニー株式会社 情報処理装置、情報処理方法および記録媒体
JP2015095802A (ja) * 2013-11-13 2015-05-18 ソニー株式会社 表示制御装置、表示制御方法、およびプログラム
US10114545B2 (en) * 2014-09-03 2018-10-30 Intel Corporation Image location selection for use in depth photography system
JP6496403B2 (ja) * 2014-09-16 2019-04-03 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. 光学形状検知可能な介入デバイスと協働するよう構成される処理システム
JP6241752B2 (ja) 2014-11-21 2017-12-06 住友電装株式会社 レバー式コネクタ
US20160147408A1 (en) * 2014-11-25 2016-05-26 Johnathan Bevis Virtual measurement tool for a wearable visualization device
CN105242400B (zh) * 2015-07-10 2017-12-29 上海鹰为智能科技有限公司 虚拟现实眼镜
CN105159450B (zh) * 2015-08-25 2018-01-05 中国运载火箭技术研究院 一种便携式可交互桌面级虚拟现实系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06241754A (ja) * 1992-08-28 1994-09-02 Kageisa Noro 仮想現実空間を利用した測定システム
JP2000152125A (ja) * 1998-11-09 2000-05-30 Sharp Corp ヘッドマウントディスプレイ装置
EP2546806A2 (en) * 2011-07-11 2013-01-16 Deutsche Telekom AG Image based rendering for AR - enabling user generation of 3D content
JP2013092964A (ja) 2011-10-27 2013-05-16 Sony Corp 画像処理装置、画像処理方法及びプログラム
JP2015510112A (ja) * 2012-01-13 2015-04-02 クアルコム,インコーポレイテッド 仮想定規

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Google no Kukan Ninshiki Gijutsu 'Tango' o Tosai suru Hatsu no Smaho 'Lenovo PHAB2 Pro' ni yoru AR Taiken wa Konna Kanji ni naru", GIGAZINE, 30 June 2016 (2016-06-30), Retrieved from the Internet <URL:http://gigazine.net/news/20160630-snapdragon-tango-ar> *
KNORR, SEBASTIAN B. ET AL.: "Leveraging the User's Face for Absolute Scale Estimation in Handheld Monocular SLAM", 2016 IEEE INTERNATIONAL SYMPOSIUM ON MIXED AND AUGMENTED REALITY, 19 September 2016 (2016-09-19), pages 11 - 17, XP033023402 *

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10817054B2 (en) * 2017-09-06 2020-10-27 Samsung Electronics Co., Ltd. Eye watch point tracking via binocular and stereo images
WO2019123770A1 (ja) * 2017-12-20 2019-06-27 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
US11468868B2 (en) 2017-12-20 2022-10-11 Sony Corporation Information processing apparatus and information processing method to perform transition display control
JPWO2019123770A1 (ja) * 2017-12-20 2021-03-11 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
JP7226332B2 (ja) 2017-12-20 2023-02-21 ソニーグループ株式会社 情報処理装置、情報処理方法及びプログラム
JP2019153274A (ja) * 2018-02-28 2019-09-12 東芝デジタルソリューションズ株式会社 位置算出装置、位置算出プログラム、位置算出方法、及びコンテンツ付加システム
CN108917703A (zh) * 2018-03-30 2018-11-30 京东方科技集团股份有限公司 距离测量方法及装置、智能设备
US11808562B2 (en) 2018-05-07 2023-11-07 Apple Inc. Devices and methods for measuring using augmented reality
CN109217943A (zh) * 2018-07-19 2019-01-15 珠海格力电器股份有限公司 定向播报方法、装置、家用电器及计算机可读存储介质
JP2020021403A (ja) * 2018-08-03 2020-02-06 北陸電力株式会社 工事記録用プログラムおよび電線工事記録方法
JP7202805B2 (ja) 2018-08-03 2023-01-12 北陸電力株式会社 工事記録用プログラム
CN113170075A (zh) * 2018-11-09 2021-07-23 索尼集团公司 信息处理装置、信息处理方法和程序
WO2021141055A1 (ja) * 2020-01-08 2021-07-15 株式会社Nttドコモ 測定装置
JP7328361B2 (ja) 2020-01-08 2023-08-16 株式会社Nttドコモ 測定装置
JPWO2021141055A1 (ja) * 2020-01-08 2021-07-15
JP2021125214A (ja) * 2020-02-03 2021-08-30 アップル インコーポレイテッドApple Inc. 環境を注釈し、測定し、かつモデリングするためのシステム、方法、及びグラフィカルユーザインタフェース
JP7041326B1 (ja) 2020-02-03 2022-03-23 アップル インコーポレイテッド 環境を注釈し、測定し、かつモデリングするためのシステム、方法、及びグラフィカルユーザインタフェース
JP2022059611A (ja) * 2020-02-03 2022-04-13 アップル インコーポレイテッド 環境を注釈し、測定し、かつモデリングするためのシステム、方法、及びグラフィカルユーザインタフェース
JP2021177162A (ja) * 2020-05-08 2021-11-11 アイタックソリューションズ株式会社 測定装置、測定プログラム及び測定方法
JP2021177147A (ja) * 2020-05-08 2021-11-11 アイタックソリューションズ株式会社 測定装置、測定プログラム及び測定方法
JP2021177161A (ja) * 2020-05-08 2021-11-11 アイタックソリューションズ株式会社 測定装置、測定プログラム及び測定方法
JP6821222B1 (ja) * 2020-05-08 2021-01-27 アイタックソリューションズ株式会社 測定装置、測定プログラム及び測定方法
US11941764B2 (en) 2021-04-18 2024-03-26 Apple Inc. Systems, methods, and graphical user interfaces for adding effects in augmented reality environments
JP2023000947A (ja) * 2021-06-18 2023-01-04 ヤフー株式会社 表示制御装置、表示制御方法および表示制御プログラム

Also Published As

Publication number Publication date
CN108603749A (zh) 2018-09-28
EP3979047A1 (en) 2022-04-06
EP3413013A1 (en) 2018-12-12
CN114327043A (zh) 2022-04-12
JP2022000640A (ja) 2022-01-04
US10942024B2 (en) 2021-03-09
JP7283506B2 (ja) 2023-05-30
JPWO2017134886A1 (ja) 2018-11-22
EP3413013B1 (en) 2021-09-22
US20190033058A1 (en) 2019-01-31
EP3413013A4 (en) 2019-01-23
US20230417538A1 (en) 2023-12-28
US20210131790A1 (en) 2021-05-06
JP2023101560A (ja) 2023-07-21
US11796309B2 (en) 2023-10-24
CN108603749B (zh) 2021-12-21

Similar Documents

Publication Publication Date Title
JP7283506B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
US11676349B2 (en) Wearable augmented reality devices with object detection and tracking
CN110647237B (zh) 在人工现实环境中基于手势的内容共享
US11861062B2 (en) Blink-based calibration of an optical see-through head-mounted display
WO2017126172A1 (ja) 情報処理装置、情報処理方法、及び記録媒体
WO2013185714A1 (zh) 增强现实中识别对象的方法及系统和计算机
CN107562189B (zh) 一种基于双目摄像头的空间定位方法及服务设备
KR20220120649A (ko) 인공 현실 콘텐츠의 가변 초점 디스플레이를 갖는 인공 현실 시스템
US10771707B2 (en) Information processing device and information processing method
US11151804B2 (en) Information processing device, information processing method, and program
US20200341284A1 (en) Information processing apparatus, information processing method, and recording medium
CN108830944B (zh) 光学透视式三维近眼显示系统及显示方法
CN110895433B (zh) 用于增强现实中用户交互的方法和装置
US11908055B2 (en) Information processing device, information processing method, and recording medium
WO2021241110A1 (ja) 情報処理装置、情報処理方法及びプログラム
US20240050831A1 (en) Instructor avatars for augmented reality experiences
US20240119928A1 (en) Media control tools for managing communications between devices
JP2023178798A (ja) 情報処理装置、コントローラ表示方法およびコンピュータプログラム

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017565404

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2016889369

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2016889369

Country of ref document: EP

Effective date: 20180903