WO2020044949A1 - 情報処理装置、情報処理方法、及びプログラム - Google Patents

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

Info

Publication number
WO2020044949A1
WO2020044949A1 PCT/JP2019/030450 JP2019030450W WO2020044949A1 WO 2020044949 A1 WO2020044949 A1 WO 2020044949A1 JP 2019030450 W JP2019030450 W JP 2019030450W WO 2020044949 A1 WO2020044949 A1 WO 2020044949A1
Authority
WO
WIPO (PCT)
Prior art keywords
real object
information processing
estimated position
processing device
camera
Prior art date
Application number
PCT/JP2019/030450
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 US17/250,679 priority Critical patent/US12039753B2/en
Priority to JP2020540188A priority patent/JP7405083B2/ja
Publication of WO2020044949A1 publication Critical patent/WO2020044949A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/01Determining conditions which influence positioning, e.g. radio environment, state of motion or energy consumption
    • G01S5/017Detecting state or type of motion
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0257Hybrid positioning
    • G01S5/0263Hybrid positioning by combining or switching between positions derived from two or more separate positioning systems
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0257Hybrid positioning
    • G01S5/0263Hybrid positioning by combining or switching between positions derived from two or more separate positioning systems
    • G01S5/0264Hybrid positioning by combining or switching between positions derived from two or more separate positioning systems at least one of the systems being a non-radio wave positioning system
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/16Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using electromagnetic waves other than radio waves
    • 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
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S2205/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S2205/01Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations specially adapted for specific applications
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0205Details
    • G01S5/0244Accuracy or reliability of position solution or of measurements contributing thereto
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/18Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using ultrasonic, sonic, or infrasonic waves
    • 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/0101Head-up displays characterised by optical features
    • G02B2027/0138Head-up displays characterised by optical features comprising image capture systems, e.g. camera
    • 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/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • 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
    • 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/0179Display position adjusting means not related to the information to be displayed
    • G02B2027/0187Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye

Definitions

  • the present technology relates to an information processing apparatus, an information processing method, and a program applicable to augmented reality (AR: Augmented Reality) display.
  • AR Augmented Reality
  • the normal display mode and the facing display mode can be switched.
  • the input image is displayed on the screen as it is.
  • the facing display mode a facing image processed so that a reference plane (for example, the front) of an object recognized based on the input image faces the imaging plane is displayed on the screen.
  • a virtual object for example, an annotation of an AR application
  • Virtual experiences using the AR technology are expected to be applied in various scenes such as amusement, education, and production sites, and technologies capable of providing high-quality virtual experiences are required.
  • an object of the present technology is to provide an information processing apparatus, an information processing method, and a program that can provide a high-quality virtual experience.
  • an information processing device includes a first acquisition unit, a second acquisition unit, and a determination unit.
  • the first acquisition unit acquires a camera-based estimated position indicating a position of the real object determined based on a captured image of a real space where the real object exists.
  • the second acquisition unit acquires an output wave base estimated position indicating a position of the real object determined based on an output wave output to the real space from a position corresponding to the real object.
  • a reference position used for expressing virtual content related to the real object is determined based on the camera-based estimated position and the output wave-based estimated position.
  • a reference position used to represent virtual content related to the real object is determined. This makes it possible to provide a high quality virtual experience.
  • the determining unit may determine a final estimated position of the real object as the reference position.
  • the output wave may include at least one of a radio wave and a sound wave.
  • the first obtaining unit may obtain a first reliability related to the camera-based estimated position.
  • the second obtaining unit may obtain a second reliability related to the output wave base estimated position.
  • the determining unit may determine the reference position based on the first reliability and the second reliability.
  • the determining unit may determine the camera-based estimated position as the reference position when the first reliability is larger than a predetermined threshold.
  • the information processing apparatus may further include an expression control unit that controls the expression of the virtual content based on the reference position.
  • the expression control unit may control display of a virtual object related to the real object.
  • the expression control unit may control a display position of the virtual object.
  • the expression control unit based on the detection of the movement of the user or the movement of the user's line of sight, while the user is moving, or while the user's line of sight is moving, the display position of the virtual object May be changed.
  • the expression control unit may control output of a sound from a virtual sound source related to the real object.
  • the expression control unit may control a position of the virtual sound source.
  • the information processing apparatus may further include a first estimating unit and a second estimating unit.
  • the first estimating unit estimates the camera-based estimated position based on the captured image.
  • the second estimating unit estimates the output wave base estimated position based on the output wave.
  • the first estimating unit may calculate the first reliability based on a result of matching processing of the model image of the real object with the captured image.
  • the second estimating unit calculates a distance to the real object based on the output wave, calculates a candidate range in which the real object may exist based on the calculated distance, and calculates The position included in the candidate range may be estimated as the output wave base estimated position.
  • the second estimator may calculate the second reliability based on the calculated size of the candidate range.
  • the second estimating unit receives information on the distance from the other device to the real object calculated by the other device based on the output wave, and receives the distance from the other device to the real object.
  • the candidate range may be calculated based on the information on the candidate range.
  • the information processing apparatus may be configured as an HMD (Head Mounted Display).
  • HMD Head Mounted Display
  • the information processing apparatus may further include a model image generation unit that generates the model image based on the captured image.
  • An information processing method is an information processing method executed by a computer system, wherein a camera base indicating a position of the real object determined based on a captured image of a real space where a real object exists And obtaining an estimated position.
  • An output wave base estimated position indicating the position of the real object determined based on the output wave output to the real space from the position corresponding to the real object is acquired.
  • a reference position used for expressing virtual content related to the real object is determined based on the camera-based estimated position and the output wave-based estimated position.
  • a program causes a computer system to execute the following steps. Obtaining a camera-based estimated position indicating a position of the real object determined based on a captured image of a real space where the real object exists. Acquiring an output wave base estimated position indicating a position of the real object determined based on an output wave output to the real space from a position corresponding to the real object. Determining a reference position used for representing virtual content related to the real object based on the camera-based estimated position and the output wave-based estimated position.
  • FIG. 1 is a schematic diagram illustrating a configuration example of an AR providing system according to an embodiment. It is a perspective view showing an example of appearance of HMD.
  • FIG. 2 is a block diagram illustrating a functional configuration example of an HMD.
  • FIG. 9 is a diagram for describing an example of an AR expression of virtual content related to a real object. It is a schematic diagram for explaining an example of the AR experience that can be provided by the AR providing system. It is a schematic diagram for explaining operation of each functional block constructed in the AR providing system. It is a schematic diagram for demonstrating the example of calculation of an electric wave base estimated position and reliability.
  • 5 is a flowchart illustrating an operation example of a real object position estimating unit. 5 is a flowchart illustrating an operation example of an AR expression control unit.
  • FIG. 9 is a flowchart illustrating an example of updating a display position of a virtual object. It is a schematic diagram which shows an example of AR expression. It is a schematic diagram which shows an example of AR expression. It is a schematic diagram which shows an example of AR expression. It is a block diagram showing an example of composition of an environment recognition DB creation part. It is a flowchart which shows the example of a process of an environment recognition DB preparation part.
  • FIG. 1 is a schematic diagram illustrating a configuration example of an AR providing system according to an embodiment of the present technology.
  • the AR providing system 100 corresponds to an embodiment of an information processing system according to the present technology.
  • the AR providing system 100 includes an HMD (Head Mounted Display) 10, a server device 60, and a real object 80.
  • HMD Head Mounted Display
  • the HMD 10 is used by being worn on the head of the user 1. Although three HMDs 10 are illustrated in FIG. 1, the number of HMDs 10 included in the AR providing system 100 is not limited. That is, the number of users 1 who can participate in the AR providing system 100 at that time is not limited.
  • the HMD 10 functions as an embodiment of an information processing device according to the present technology.
  • the server device 60 is communicably connected to each HMD 10 via the network 3.
  • the server device 60 can receive various information from each HMD 10 via the network 3. Further, the server device 60 can store various information in the database 70, read various information stored in the database 70, and transmit the information to each HMD 10.
  • the map data 71 is stored in the database 70.
  • the map data 71 is data that functions as a map for the real space.
  • map data 71 relating to a predetermined real space for providing an AR experience to the user 1 is stored.
  • the network 3 is constructed by, for example, the Internet or a wide area communication network.
  • any WAN (Wide Area Network), LAN (Local Area Network), or the like may be used, and the protocol for constructing the network 3 is not limited.
  • a so-called cloud service is provided by the network 3, the server device 60, and the database 70. Therefore, it can be said that the HMD 10 is connected to the cloud network.
  • the real object 80 is an object that actually exists in the real space.
  • virtual content related to the real object 80 is expressed based on the real object 80.
  • the representation of the virtual content includes, for example, display of a virtual object related to the real object 80, output of sound from a virtual sound source related to the real object 80, and the like. Of course, it is not limited to these expressions.
  • the beacon signal 5 based on the BLE (Bluetooth Low Energy) standard is output from the real object 80 toward the real space.
  • the interval between outputs of the beacon signal 5 is not limited and may be set arbitrarily.
  • the real object 80 corresponds to a real object.
  • the beacon signal 5 output from the real object 80 corresponds to a radio wave as an output wave output from a position corresponding to the real object to the real space.
  • FIG. 2 is a perspective view showing an example of the appearance of the HMD 10.
  • the HMD 10 is a glasses-type device having a transmissive display, and is also called an AR glass.
  • the HMD 10 includes a frame 11, a left eye lens 12a and a right eye lens 12b, a left eye display 13a and a right eye display 13b, a left eye camera 14a and a right eye camera 14b, and an outward camera 15.
  • the frame 11 is shaped like glasses and has a rim 16 and a temple 17.
  • the rim portion 16 is a portion disposed in front of the left and right eyes of the user 1, and supports the left-eye lens 12a and the right-eye lens 12b, respectively.
  • the temple portion 17 extends rearward from both ends of the rim portion 16 toward both ears of the user 1, and tips are attached to both ears.
  • the rim portion 16 and the temple portion 17 are formed of, for example, a material such as a synthetic resin or a metal.
  • the left-eye lens 12a and the right-eye lens 12b are respectively disposed in front of the left and right eyes of the user 1 so as to cover at least a part of the visual field of the user 1.
  • each lens is designed to correct the user's 1 vision.
  • the present invention is not limited to this, and a so-called no-power lens may be used.
  • the display 13a for the left eye and the display 13b for the right eye are transmissive displays, and are arranged so as to cover partial regions of the lenses 12a and 12b for the left eye and the right eye, respectively. That is, the left-eye and right-eye lenses 12a and 12b are arranged in front of the left and right eyes of the user 1, respectively.
  • Left-eye and right-eye displays 13a and 13b display left-eye and right-eye images, respectively.
  • the user 1 wearing the HMD 10 can visually recognize an image displayed on each of the displays 13a and 13b at the same time as visually confirming the actual scenery. This allows the user 1 to experience augmented reality (AR) and the like.
  • AR augmented reality
  • a virtual display object (virtual object) is displayed on each of the displays 13a and 13b.
  • CG Computer @ Graphics
  • a virtual object corresponds to a virtual object.
  • left-eye and right-eye displays 13a and 13b for example, a transmissive organic EL display or an LCD (Liquid Crystal Display) display is used.
  • the specific configurations of the left-eye and right-eye displays 13a and 13b are not limited. For example, a method of projecting and displaying an image on a transparent screen, a method of displaying an image using a prism, and the like, and the like. Any type of transmission type display may be used as appropriate.
  • the left-eye camera 14a and the right-eye camera 14b are appropriately installed on the frame 11 so that the left and right eyes of the user 1 can be photographed. For example, it is possible to detect line-of-sight information and the like regarding the line of sight of the user 1 based on left-eye and right-eye images captured by the left-eye and right-eye cameras 14a and 14b.
  • CMOS Complementary Metal-Oxide Semiconductor
  • CCD Charge Coupled Device
  • an infrared camera equipped with infrared illumination such as an infrared LED may be used.
  • both the left-eye lens 12a and the right-eye lens 12b may be described as the lens 12, and both the left-eye display 13a and the right-eye display 13b may be described as the transmissive display 13. Further, both the left-eye camera 14a and the right-eye camera 14b may be described as an inward-facing camera 14.
  • the transmissive display 13 corresponds to a display unit.
  • the outward camera 15 is arranged at the center of the frame 11 (the rim portion 16) toward the outside (the side opposite to the user 1).
  • the outward camera 15 is capable of photographing a real space included in the field of view of the user 1. Therefore, the outward camera 15 can generate a captured image in which the real space is captured.
  • the outward camera 15 captures an area on the front side when viewed from the user 1 and that includes the display area of the transmissive display 13. That is, the real space is photographed so as to include a range that can be seen through the display area when viewed from the user 1.
  • a digital camera having an image sensor such as a CMOS sensor or a CCD sensor is used.
  • FIG. 3 is a block diagram showing a functional configuration example of the HMD 10. As shown in FIG. As shown in FIG. 3, the HMD 10 further includes a speaker 20, a vibration unit 21, a communication unit 22, a connector 23, an operation button 24, a sensor unit 30, a storage unit 40, and a controller 50.
  • the HMD 10 further includes a speaker 20, a vibration unit 21, a communication unit 22, a connector 23, an operation button 24, a sensor unit 30, a storage unit 40, and a controller 50.
  • the speaker 20 is provided at a predetermined position on the frame 11.
  • the configuration of the speaker 20 is not limited.
  • a speaker 20 that can output stereo sound, monaural sound, or the like may be used as appropriate.
  • the vibration unit 21 is provided inside the frame 11 and generates vibration.
  • an arbitrary vibration motor or the like capable of generating a notification vibration or the like is used as the vibration unit 21.
  • the communication unit 22 is a module for executing network communication, short-range wireless communication, and the like with other devices.
  • a network module and a Bluetooth (registered trademark) module are provided as the communication unit 22.
  • the network module is an interface for connecting to the network 3, and a wireless LAN module such as WiFi is used, for example. By operating the network module, wireless communication with the server device 60 becomes possible.
  • the Bluetooth module is a module for executing short-range wireless communication conforming to the Bluetooth standard.
  • communication conforming to the BLE standard (BLE communication) is possible.
  • the Bluetooth module can receive a beacon signal conforming to the BLE standard. Information included in the received beacon signal is output to the controller 50, and various processes are executed. For example, it is possible to calculate the distance to the device that output the beacon signal based on the intensity of the beacon signal (radio wave intensity).
  • the connector 23 is a terminal for connection with another device.
  • terminals such as USB (Universal Serial Bus) and HDMI (registered trademark) (High-Definition Multimedia Interface) are provided.
  • USB Universal Serial Bus
  • HDMI registered trademark
  • the operation button 24 is provided at a predetermined position on the frame 11, for example. With the operation button 24, it is possible to execute operations related to various functions of the HMD 10, such as a power ON / OFF operation, a function relating to image display and audio output, and a network communication function.
  • the sensor unit 30 includes a nine-axis sensor 31, a GPS 32, a biological sensor 33, and a microphone 34.
  • the # 9-axis sensor 31 includes a 3-axis acceleration sensor, a 3-axis gyro sensor, and a 3-axis compass sensor.
  • the nine-axis sensor 31 can detect acceleration, angular velocity, and azimuth of the HMD 10 in three axes.
  • the GPS 32 acquires information on the current position of the HMD 10.
  • the detection results of the 9-axis sensor 31 and the GPS 32 are used for detecting, for example, the posture and position of the user 1 (HMD 10), the movement (movement) of the user 1, and the like. These sensors are provided at predetermined positions on the frame 11, for example.
  • the biological sensor 33 is capable of detecting biological information of the user 1.
  • an electroencephalogram sensor for example, an electroencephalogram sensor, a myoelectric sensor, a pulse sensor, a perspiration sensor, a temperature sensor, a blood flow sensor, a body movement sensor, and the like are provided.
  • the microphone 34 detects sound information around the user 1. For example, a voice or the like spoken by the user is appropriately detected. Thus, for example, the user 1 can enjoy the AR experience while making a voice call, and can perform an operation input of the HMD 10 using a voice input.
  • the type of the sensor provided as the sensor unit 30 is not limited, and an arbitrary sensor may be provided.
  • a temperature sensor, a humidity sensor, or the like that can measure the temperature and humidity of the environment in which the HMD 10 is used may be provided.
  • the inward camera 14 and the outward camera 15 can be regarded as a part of the sensor unit 30.
  • the storage unit 40 is a storage device such as a nonvolatile memory, and for example, an HDD (Hard Disk Drive), an SSD (Solid State Drive), or the like is used. In addition, any non-transitory computer-readable storage medium may be used.
  • the map data 41 is stored in the storage unit 40.
  • the map data 41 is data that functions as a map for the real space.
  • map data 41 relating to a predetermined real space for providing an AR experience to the user 1 is stored.
  • the map data 41 is the same information as the map data 71 stored in the database 70 of the server device 60 shown in FIG.
  • a recognition DB 42 is constructed.
  • the recognition DB 42 stores various model images used for image recognition of an image captured by the outward camera 15.
  • a model image for detecting the real object 80 from the captured image is stored.
  • one or more images of the real object 80 illustrated in FIG. 1 are stored as model images.
  • the CG or the like of the real object 80 may be stored as a model image.
  • the storage unit 40 stores a control program 43 for controlling the overall operation of the HMD 10.
  • the method for installing the map data 41, the recognition DB (model image), and the control program 43 in the HMD 10 is not limited.
  • the controller 50 controls the operation of each block of the HMD 10.
  • the controller 50 has hardware circuits necessary for the computer, such as a CPU and memories (RAM, ROM). When the CPU loads the control program 43 stored in the storage unit 40 into the RAM and executes it, various processes are executed.
  • controller 50 for example, a PLD (Programmable Logic Device) such as an FPGA (Field Programmable Gate Array) or another device such as an ASIC (Application Specific Integrated Circuit) may be used.
  • PLD Processed Logic Device
  • FPGA Field Programmable Gate Array
  • ASIC Application Specific Integrated Circuit
  • the self-position estimating unit 51, the actual object distance estimating unit 52, and the camera-based position estimating unit 53 are provided as functional blocks.
  • dedicated hardware such as an IC (integrated circuit) may be appropriately used to realize each functional block.
  • the self-position estimating unit 51 estimates the self-position of the HMD 10.
  • the self-position includes the position and the posture of the HMD 10. That is, the self-position estimating unit 51 can calculate the position information of the HMD 10 in the map data 41 and the posture information such as which direction the HMD 10 is facing.
  • the self-position of the HMD 10 is calculated based on detection results from the sensor unit 30 and images captured by the inward camera 14 and the outward camera 15. For example, position coordinates in a three-dimensional coordinate system (XYZ coordinate system) having a predetermined position as the origin are calculated.
  • XYZ coordinate system three-dimensional coordinate system
  • the Y axis is the roll axis
  • the Z axis is the yaw axis, the pitch angle, the roll angle, and the yaw angle of the predetermined reference axis extending in front of the user 1 (HMD10). Is calculated.
  • the specific format of the position information and posture information of the user 1 (HMD 10) is not limited.
  • the algorithm for estimating the self-position of the HMD 10 is not limited, and an arbitrary algorithm such as SLAM (Simultaneous Localization and Mapping) may be used.
  • SLAM Simultaneous Localization and Mapping
  • any machine learning algorithm using, for example, DNN (Deep Neural Network) may be used.
  • AI artificial intelligence
  • deep learning deep learning
  • the real object distance estimating unit 52 calculates the distance to the real object 80 based on the beacon signal 5 output from the real object 80.
  • the real object distance estimating unit 52 calculates the distance from the HMD 10 to the real object 80 based on the radio wave intensity of the beacon signal 5 received by the Bluetooth module shown in FIG.
  • the camera-based position estimating unit 53 estimates the position of the real object 80 in the map data 41 based on the image taken by the outward camera 15.
  • the position of the real object 80 estimated by the camera base position estimating unit 53 may be described as a camera base estimated position.
  • the camera base position estimating unit 53 calculates the reliability of the estimated camera base position.
  • the camera-based estimated position of the real object 80 corresponds to the camera-based estimated position indicating the position of the real object determined based on the captured image of the real space where the real object exists.
  • the reliability of the camera-based estimated position corresponds to a first reliability related to the camera-based estimated position.
  • the camera base position estimating unit 53 corresponds to a first estimating unit that estimates a camera base estimated position based on a captured image.
  • the real object position estimating unit 54 acquires the camera base estimated position and the reliability calculated by the camera base position estimating unit 53 by receiving them. Further, the real object position estimating unit 54 obtains by receiving the radio wave base estimated position and the reliability calculated by the server device 60. The radio wave base estimated position and the reliability will be described later.
  • the real object position estimating unit 54 calculates a reference position used for expressing virtual content related to the real object 80 based on the acquired camera-based estimated position and reliability and the radio wave-based estimated position and reliability.
  • the final estimated position which is the final estimated position of the real object 80, is calculated by the real object position estimating unit 54. Then, the final estimated position of the real object 80 is calculated as a reference position.
  • the real object position estimating unit 54 functions as a first obtaining unit, a second obtaining unit, and a determining unit.
  • “determination” includes obtaining an object by an arbitrary method such as “table reference” and “selection (higher reliability)” in addition to direct “calculation (operation)”.
  • “determination” of the camera-based estimated position, the radio wave-based estimated position, the final estimated position, and the like is described using the term “calculation”. Of course, this is an embodiment, and the “determination” of each of these positions is not limited to the concept included in the term “calculation”.
  • acquisition of data or the like may be performed by measuring data with a sensor or the like, receiving data by communication or the like, reading data stored in a recording medium or the like, and setting any state in which the data or the like can be processed. Including form.
  • the AR expression control unit 55 controls the expression of the virtual content related to the real object 80.
  • the AR expression control unit 55 controls, for example, display of the virtual object 7 related to the real object 80, output of sound from a virtual sound source related to the real object 80, and the like.
  • the expression of the virtual content is controlled based on the reference position calculated by the real object position estimating unit 54. Therefore, the reference position used for expressing the virtual content means a position serving as a reference when expressing the virtual content.
  • the server device 60 has hardware necessary for the configuration of a computer, such as a CPU, a ROM, a RAM, and an HDD.
  • a computer such as a CPU, a ROM, a RAM, and an HDD.
  • the CPU loads the program according to the present technology pre-recorded in the ROM or the like to the RAM and executes the program, the radio wave base position estimating unit 61 and the reliability determining unit 62 (both refer to FIG. 6) are realized as functional blocks. Then, the information processing method according to the present technology is executed.
  • the server device 60 can be realized by any computer such as a PC (Personal Computer). Of course, hardware such as an FPGA and an ASIC may be used. Further, dedicated hardware such as an IC (integrated circuit) may be used to realize each block shown in FIG.
  • the program is installed in the server device 60 via, for example, various recording media. Alternatively, the installation of the program may be executed via the Internet or the like.
  • the server device 60 also includes a communication unit (not shown) for executing network communication, short-range wireless communication, and the like with other devices.
  • the operation of the communication unit enables wireless communication with the HMD 10.
  • the radio wave base position estimating unit 61 estimates the position of the real object 80 in the map data 71 based on the distance to the real object 80 transmitted from the real object distance estimating unit 52 of the HMD 10.
  • the position of the real object 80 estimated by the radio wave base position estimating unit 61 corresponds to the above-described radio wave base estimated position.
  • the reliability determination unit 62 calculates the reliability of the estimated radio wave base estimated position.
  • the radio wave-based estimated position (Radio Wave Based Position) of the real object 80 is an output wave indicating the position of the real object determined based on the output wave output to the real space from the position corresponding to the real object. This corresponds to the estimated base position.
  • the reliability of the radio wave base estimated position corresponds to the second reliability related to the output wave base estimated position.
  • the real object distance estimating unit 52 and the radio wave base position estimating unit 61 implement a second estimating unit that estimates the output wave base estimated position based on the output wave. Note that the radio wave base estimated position can be referred to as a non-camera estimated position.
  • a BLE beacon output unit 81 is mounted on the real object 80 (see FIG. 6), and the beacon signal 5 is periodically output.
  • the BLE beacon output unit 81 may be built in the real object 80.
  • a beacon device that can output the beacon signal 5 may be attached to the real object 80.
  • the beacon device functions as the BLE beacon output unit 81.
  • FIG. 4 is a diagram for explaining an example of an AR expression of virtual content related to the real object 80.
  • the real object 80 according to the present embodiment has a cylindrical shape, and a star-shaped mark 82 is illustrated on the upper surface.
  • the expression of the virtual content is executed with reference to the center position P1 of the star-shaped mark 82.
  • a character singing while dancing while standing at the center of the star-shaped mark 82 with the real object 80 as a stage is represented as virtual content.
  • the real object position estimating unit 54 of the HMD 10 estimates the center position P1 of the star mark 82 as the final estimated position of the real object 80.
  • the estimated center position P1 is defined as a final estimated position P2.
  • the AR expression control unit 55 controls the display of the virtual object (singing character) 7 on the transmissive display 13 using the final estimated position P2 as a reference position used for expressing the virtual content.
  • the AR expression control unit 55 controls the display position of the virtual object 7 based on the final estimated position P2. Specifically, the display position of the virtual object 7 is controlled so that the virtual object 7 is located on the final estimated position P2. Of course, the virtual object 7 is not displayed on the transmissive display 13 when the user 1 has not seen the real object 80 at all.
  • the AR expression control unit 55 controls the output of sound so that the song sung by the virtual object 7 can be heard from the final estimated position P2. That is, the output of the sound of the virtual sound source existing at the final estimated position P2 is controlled. For example, when the user 1 is viewing the real object 80 from the front, the output of the voice is controlled so that the song can be heard from a virtual sound source located in front of the user 1.
  • the voice output is controlled so that the song can be heard from the position of the real object 80. That is, the AR expression control unit 55 can control the position (localization) of the virtual sound source.
  • the control of the position of the virtual sound source that is, the direction in which the sound is heard can be realized by controlling the speaker 20.
  • the sound output from the virtual sound source can be called virtual sound.
  • the sound can be heard from a virtual direction.
  • the accuracy of the position of the virtual sound source (the accuracy in the direction in which the sound can be heard) may be low.
  • the virtual object 7 can be regarded as a virtual sound source.
  • FIG. 5 is a schematic diagram for explaining an example of an AR experience that can be provided by the AR providing system 100.
  • the real object 80 is arranged at a predetermined position in the predetermined space S1.
  • the position P1 of the center of the star-shaped mark 82 of the real object 80 is the actual position of the real object 80.
  • the user 1 moves around in the space S1 while wearing the HMD 10 and searches for the real object 80 and the virtual object 7.
  • the storage unit 40 of the HMD 10 and the database 70 of the server device 60 store map data 41 and 71 of the space S1, respectively.
  • the beacon signal 5 output from the real object 80 can be output no matter where in the space S1.
  • the present technology is not limited to such an AR experience, but can be applied to providing an arbitrary AR experience.
  • FIG. 6 is a schematic diagram for explaining the operation of each functional block constructed in the AR providing system 100.
  • the process of calculating the final estimated position P2 of the real object 80 described below is repeated at predetermined intervals.
  • the final estimated position P2 may be calculated and updated in accordance with the frame rate of the image captured by the outward camera 15.
  • the process of calculating the final estimated position P2 of the real object 80 described below is repeated at predetermined intervals.
  • the final estimated position P2 may be calculated and updated in accordance with the frame rate of the image captured by the outward camera 15.
  • the self-position estimating unit 51 estimates the self-position (position information and posture information).
  • the estimated self position is output to the real object distance estimating unit 52, the real object position estimating unit 54, and the camera base position estimating unit 53.
  • the real object distance estimating unit 52 calculates the distance from the HMD 10 to the real object 80 based on the beacon signal 5.
  • the real object distance estimation unit 52 transmits the self-position of the HMD 10 acquired from the self-position estimation unit 51 and the distance from the HMD 10 to the real object 80 to the server device 60 via the communication unit 22.
  • the radio wave base position estimating unit 61 of the server device 60 calculates the radio wave base estimated position of the real object 80 based on the self position of the HMD 10 and the distance from the HMD 10 to the real object 80.
  • the reliability determination unit 62 calculates the reliability of the estimated radio wave base estimated position.
  • the estimated radio wave base position calculated by the radio wave base position estimating unit 61 and the reliability calculated by the reliability determining unit 62 are transmitted to the real object position estimating unit 54 of the HMD 10.
  • FIG. 7 is a schematic diagram for explaining an example of calculating the radio wave base estimated position and the reliability.
  • each position of the HMD 10 is schematically illustrated by reference numerals such as PH1, PH2,. Also, based on the distance from the HMD 10 to the real object 80, circles drawn around the position of the HMD 10 are indicated by reference numerals such as C1, C2,. The numbers are associated with each other such that a circle centered on the position PH1 of the HMD 10 becomes a circle C1.
  • the radio wave base position estimating unit 61 calculates a candidate range in which the real object 80 may exist based on the self-position transmitted from each HMD 10 and the distance to the real object 80. Then, the position included in the calculated candidate range is calculated as the radio wave base estimated position.
  • the positions on the circles C1 to C3 centered on the positions PH1 to PH3 of the respective HMDs 10 shown in FIG. 7 and in the space S1 are calculated as the candidate ranges.
  • a range in which the circumference has a certain thickness in consideration of the distance error may be calculated as the candidate range.
  • an intersection Pa at which three circles C1 to C3 intersect, an intersection Pb at which circles C1 and C2 intersect, and an intersection Pc at which circles C1 and C3 intersect are calculated.
  • a predetermined range centered on each intersection is calculated as a candidate range.
  • intersection of all the circles C1 to C3 is Pa.
  • the intersections Pb and Pc are also close. Therefore, in consideration of the measurement error of the distance, it cannot be denied that the intersection points Pb and Pc may be the intersection points where all the circles C1 to C3 intersect.
  • the radio wave base position estimating unit 61 calculates a position included in the candidate range as a radio wave base estimated position. For example, one of the intersections Pa to Pc is calculated as the radio wave base estimated position. Of course, the position is not limited to this, and another position included in the candidate range may be calculated.
  • the reliability of the radio wave base estimated position decreases. In the example shown in FIG. 7A, the reliability of the radio wave base estimated position is 0.3.
  • the radio wave base position estimating unit 61 calculates not the intersections Pb and Pc whose candidate ranges are narrowed, but the intersection Pa that has a high possibility of becoming an intersection where all the circles C1 to C3 intersect, as the radio wave base estimated position.
  • the reliability determining unit 62 sets the reliability to be high in accordance with the narrowing of the candidate range (0.7).
  • the radio wave base position estimating unit 61 calculates the intersection Pa as the radio wave base estimated position.
  • the reliability determining unit 62 sets higher reliability in response to the narrowing of the candidate range (0.8).
  • the intersection where all the circles C1 to C3 intersect converges to the intersection Pa, and the time to indicate the same point becomes longer. It can be calculated. It is assumed that the position of the HMD 10 has been moved to a state where a plurality of intersections where the circles C1 to C3 intersect as shown in FIG. 7A. Even in such a case, it is possible to determine that the real object 80 does not exist at the position of the intersection that has been increased again from the history so far, so that a large decrease in the reliability does not occur.
  • the initial state is the state shown in FIG. 7C or the like, depending on the positional relationship of each of the HMDs 10, it is possible to calculate a highly reliable radio wave base estimated position at a very early stage.
  • the radio wave base estimated position and the reliability are calculated. It is possible to As the number of the HMDs 10, that is, the number of the users 1, increases, the time until the position of the real object 80 is estimated can be reduced, and the estimation accuracy can be improved.
  • the candidate range was calculated based on the information on the circles C1 to C3 and the information on the intersections Pa to Pc in each state.
  • the present invention is not limited to this, and it is also possible to calculate the candidate range based on the past history information of the circles C1 to C3 and the past history information of the intersections Pa to Pc.
  • ⁇ ⁇ For example, a range where there is an intersection where all circles intersect, including circles calculated in the past, may be calculated. In this case, as the user 1 moves, the number of circles increases, so that it is possible to finally calculate a radio wave-based estimated position having high reliability. Even when the number of users 1 is small, such as one or two, the radio wave base estimated position can be calculated with high accuracy.
  • the reliability of the radio wave-based estimated position was calculated based on the size of the candidate range.
  • Other parameters may be used as parameters for determining reliability.
  • the reliability may be calculated based on the number of the users 1 (HMDs 10), the stability of the radio wave of the beacon signal 5, the change rate of the radio wave intensity, the length of execution time for narrowing down the candidate range, and the like.
  • an arbitrary determination method according to accumulation of information on the candidate range may be adopted.
  • a specific algorithm for calculating the radio wave-based estimated position and the reliability is not limited, and any technique may be used. Also, any machine learning algorithm may be used.
  • the camera-based position estimating unit 53 includes an image recognizing unit 57 and a reliability determining unit 58.
  • the image recognition unit 57 detects a real object 80 from a captured image obtained by capturing the real space.
  • a model image in the recognition DB 42 shown in FIG. 3 is used.
  • the image recognizing unit 57 performs a matching process of the model image of the real object 80 on the captured image, and determines whether the real object 80 is included in the captured image. If the real object 80 is included in the captured image, the real object 80 in the captured image is compared with the model image of the real object 80. Then, based on the sizes and shapes of the two, it is determined how far away the real object 80 is from the outward camera 15 and at what angle. Then, the relative position of the real object 80 with respect to the position of the outward camera 15 (the position of the HMD 10) is calculated.
  • the specific algorithm of the matching process using the model image is not limited. Any image recognition technology such as edge detection and projective transformation may be used. Also, any machine learning algorithm may be used.
  • the camera-based position estimating unit 53 calculates an actual position in the map data 41 of the space S1 based on the relative position of the real object 80 with respect to the HMD 10 calculated by the image recognizing unit 57 and the self-position of the HMD 10 acquired from the self-position estimating unit 51.
  • the position of the object 80 is calculated.
  • the calculated position of the real object 80 is a camera-based estimated position (Camera Based Position).
  • the reliability determination unit 58 determines the reliability of the calculated camera-based estimated position. In the present embodiment, the reliability is calculated based on the result of the process of matching the model image with the captured image by the image recognition unit 57.
  • the reliability is calculated based on the degree of matching between the real object 80 in the captured image and the model image of the real object 80. For example, when a real object 80 having the same size and the same shape as the model image of the real object 80 is detected, relatively high reliability is set. On the other hand, when a real object 80 having a smaller size and a different angle (taken obliquely) than the model image is detected, relatively low reliability is set.
  • the reliability may be calculated based on the position where the real object 80 is detected in the captured image.
  • an arbitrary parameter such as a photographing condition may be used to calculate the reliability.
  • a specific algorithm for determining the reliability of the camera-based estimated position is not limited. For example, an arbitrary machine learning algorithm or the like may be used.
  • the camera base position estimating unit 53 outputs the camera base estimated position and the reliability to the real object position estimating unit 54. If the image recognizing unit 57 cannot detect the real object 80 from the captured image, the fact is output to the real object position estimating unit 54.
  • FIG. 8 is a flowchart showing an operation example of the real object position estimating unit 54.
  • the camera base estimated position can be calculated (step 101). This determination is made based on, for example, whether or not information has been received from the camera base position estimating unit 53 indicating that the real object 80 cannot be detected. Of course, it is not limited to this.
  • the estimated radio wave base position and reliability are obtained (step 102). Then, a final estimated position P2, which is a final estimated position, is calculated based on the radio wave base estimated position (step 103).
  • the radio wave base estimated position is employed as it is as the final estimated position P2 of the real object 80.
  • the present invention is not limited to this, and a calculation or the like may be performed based on the radio wave base estimated position and the reliability, and the final estimated position P2 may be calculated.
  • the camera base estimated position cannot be calculated. For example, there may be cases where the real object 80 cannot be detected due to factors such as backlight or the like regarding the shooting environment. Alternatively, for example, when the real object 80 is photographed at a small angle to the corner position of the photographed image, the camera base estimated position may not be able to be calculated. In such a case, the estimated radio wave base position acquired in step 102 may be a position included in the captured image (a position included in the visual field of the user 1).
  • the estimated turtle base position can be calculated (YES in step 101)
  • the estimated radio wave base position and the reliability are obtained (step 104).
  • the camera base estimated position and the reliability are obtained (step 105).
  • a final estimated position P2 which is a final estimated position, is calculated based on the radio wave base estimated position and reliability and the camera base estimated position and reliability (step 106).
  • the position of the real object 80 is calculated again based on the two estimated positions and the reliability, and is used as a final result.
  • As an example of calculating the final estimated position P2, for example, two points, that is, the radio wave-based estimated position and the camera-based estimated position are connected by a straight line. Then, an intermediate position on the straight line is calculated as the final estimated position P2 based on the reliability of each of the two estimated positions.
  • the radio wave base estimated position is (0, 0, 10) and the reliability is 0.5.
  • the camera base estimated position is (0, 0, 0) and has a reliability of 0.5.
  • (0, 0, 5) which is a position intermediate between the radio wave estimated position and the camera estimated position, is calculated as the final estimated position P2.
  • step 101 the process is switched from NO in step 101 to step 102, and the final estimated position P2 is calculated based on the radio wave-based estimated position and the reliability. Is done.
  • the position corresponding to the angle or shape of the real object 80 is not calculated, so that the reliability often increases only to a certain value.
  • the reliability of the camera-based estimated position increases at a relatively high rate. Therefore, when the user 1 is watching the real object 80, the reliability of the camera-based estimated position is often higher than the reliability of the radio-wave estimated position.
  • the camera base estimated position may be calculated as the final estimated position P2. That is, when the reliability of the camera-based estimated position is high, the camera-based estimated position may be used as it is as the final estimated position P2 without using the radio wave-based estimated position.
  • the camera base estimated position has high accuracy and little blur.
  • the radio wave base estimated position is relatively easily blurred. Therefore, when the reliability of the camera base estimated value is high, the camera base estimated position is calculated as the final estimated position P2, so that the shake of the final estimated position P2 can be sufficiently suppressed.
  • the specific size of the threshold is not limited. In addition, being larger than the threshold value includes both a case where a state having the same value as the threshold value is included (a case where the value is greater than or equal to) and a case where the state having the same value as the threshold value is not included.
  • the method of setting a specific numerical value as the reliability is not limited.
  • the numerical value of the reliability is set so as to be included in the range of 0 to 1.
  • a numerical value of the reliability may be set by an arbitrary method.
  • the calculated final estimated position P2 is output to the AR expression control unit 55.
  • the AR expression control unit 55 controls the AR expression based on the final estimated position P2.
  • FIGS. 9 and 10 are flowcharts showing an operation example of the AR expression control unit 55.
  • 11 to 13 are schematic diagrams illustrating an example of an AR expression.
  • the self-position of the HMD 10 and the final estimated position P2 calculated by the real object position estimating unit 54 are obtained (steps 201 and 202). It is determined whether or not the virtual object 7 is included in the display area of the transmissive display 13 (Step 203). That is, when expressing the virtual object 7 based on the final estimated position P2, it is determined whether the virtual object 7 exists at a position that can be seen through the display area.
  • the drawing range (display range) of the virtual object 7 is calculated based on the final estimated position P2. If the calculated drawing range is not included in the display area, step 203 is NO. If at least a part of the calculated drawing range is included in the display area, step 203 is YES. Step 203 may be determined based on whether or not the entire virtual object 7 is included in the display area.
  • the virtual object 7 is not included in the display area (NO in step 203), the virtual object 7 is not displayed, and only the output of the AR sound is executed. That is, the song sung by the virtual object 7 is output from the speaker 20 with the final estimated position P2 as the position of the virtual sound source. Note that even when the virtual object 7 is not included in the display area, the update of the final estimated position P2 is performed for controlling the position of the virtual sound source and the like.
  • the virtual object 7 is included in the display area (YES in step 203)
  • the virtual object 7 is displayed and an AR sound is output.
  • the virtual object 7 is displayed in the drawing range calculated based on the final estimated position P2.
  • the user 1 can visually recognize the virtual object 7 standing on the real object 80 and singing a song.
  • the final estimated position P2 is calculated based on the radio wave base estimated position, and is slightly shifted from the actual position P1 of the real object 80. May be present. However, it is possible to display the virtual object 7 at a substantially correct position.
  • step 106 shown in FIG. 8 the final estimated position P2 of the real object 80 is updated, and approaches the actual position P1. As a result, the display position of the virtual object 7 is also updated.
  • FIG. 10 is a flowchart showing an example of updating the display position of the virtual object 7. Steps 301 to 303 are the same as steps 201 to 203 shown in FIG. If it is determined in step 203 that the virtual object 7 is not included in the display area, the update of the display position ends, and the process proceeds to step 204 shown in FIG.
  • the movement (movement) of the user 1 and the movement of the line of sight of the user 1 are detected (step 304).
  • the movement (movement) of the user 1 and the line of sight of the user 1 can be detected based on the detection result from the sensor unit 30 and the images captured by the inward camera 14 and the outward camera 15.
  • the specific algorithm for detecting the movement of the user 1 and the movement of the line of sight is not limited, and any technique may be used. Also, any machine learning algorithm may be used.
  • step 305 It is determined whether the user 1 is moving or the line of sight of the user 1 is moving (step 305). If the user 1 has not moved and the line of sight of the user 1 has not moved, the result of step 305 is NO, and the process returns to step 301.
  • step 305 If the user 1 is moving or the line of sight of the user 1 is moving, the result of step 305 is YES, and the process proceeds to step 306.
  • step 306 the display position of the virtual object 7 is updated, and the drawing of the virtual object 7 is executed. Of course, in a state where the final estimated position P2 has not changed, the display position of the virtual object 7 does not change.
  • the change of the display position of the virtual object 7 is restricted in a state where the user 1 is not moving and is stationary and the line of sight of the user 1 is not moving. Then, the display position of the virtual object 7 is changed while the user 1 is moving or while the line of sight of the user 1 is moving.
  • step 106 shown in FIG. 8 the final estimated position P2 of the real object 80 is updated, and approaches the actual position P1.
  • the display position of the virtual object 7 is not updated, and the virtual object 7 does not move from the state shown in FIG.
  • step 106 shown in FIG. 8 the final estimated position P2 of the real object 80 is updated, and approaches the actual position P1.
  • the AR expression control unit 55 changes the display position of the virtual object 7 based on the movement of the user 1's line of sight. As a result, as shown in FIGS. 11 to 13, the virtual object 7 moves to the center of the real object 80 while the user 1 moves his / her gaze.
  • the position correction is performed as to whether the virtual object 7 is moving. There is a possibility that the user 1 may feel unnatural without knowing.
  • the final estimated position P2 is calculated as a reference position used for expressing virtual content related to the real object 80. This makes it possible to provide a high quality virtual experience.
  • the position of the real object 80 outside the field of view can be specified by using an output wave such as a radio wave.
  • an output wave such as a radio wave.
  • the position of the real object 80 can be calculated without performing camera-based position recognition, and an AR sound can be output. Even in a situation where image recognition is not effective, the position of the real object 80 can be specified.
  • the results of radio wave-based position recognition it is possible to narrow the camera-based recognition target range (for example, the range of the image to be subjected to matching processing), thereby reducing the load, improving the accuracy, and increasing the speed of recognition. It is also possible.
  • FIG. 14 is a block diagram showing a configuration example of the environment recognition DB creating unit.
  • FIG. 15 is a flowchart illustrating a processing example of the environment recognition DB creating unit.
  • the environment recognition DB creating unit 90 shown in FIG. 14 is realized by the controller 50 shown in FIG.
  • the environment recognition DB creator 90 can newly create a model image used by the camera-based position estimator 53. For example, in order to cope with a change in environment when the HMD 10 is used outdoors, a model image that can exhibit high recognition accuracy even in an outdoor environment is created by photographing the real object 80 in the current situation. .
  • an environment recognition DB is constructed in the storage unit 40 separately from the recognition DB 42.
  • the model image created by the environment recognition DB creating unit 90 is stored in the environment recognition DB.
  • the environment recognition DB is updated as needed so as to be compatible with various environments.
  • the present invention is not limited to the case where the two recognition DBs are separately constructed.
  • the environment recognition DB creation unit 90 corresponds to a model image generation unit that generates a model image based on a captured image.
  • the model image created by the environment recognition DB creating unit 90 may be described as an environment model image.
  • an environment model image is created when the radio wave-based estimated position is within the field of view, but the real object 80 is not detected from the captured image and the camera-based estimated position cannot be calculated.
  • the creation of an environment model image may be executed when the reliability is extremely low.
  • the real object 80 is included in the visual field of the user 1 (step 401). For example, it is determined whether or not the radio wave base estimated position is within the field of view. At this time, the reliability of the radio wave base estimated position may be used for the determination. For example, when the radio wave base estimated position is included in the field of view and the reliability of the radio wave based estimated position is larger than a predetermined threshold, it may be determined that the real object 80 is included in the field of view.
  • the real object 80 is included in the visual field (YES in step 401)
  • the real space including the visual field is photographed, and a photographed image is generated (step 402).
  • the captured image is output to the shape recognition unit 91 of the environment recognition DB creation unit 90.
  • the shape recognizing unit 91 determines whether the shape of the real object 80 can be extracted from the captured image (Step 403). If the shape of the real object 80 cannot be extracted (NO in step 403), the process returns to step 402, and the real space is photographed again.
  • the image of the real object 80 is extracted from the captured image, and an environment model image is generated (step 404).
  • the environment model image is associated with an ID, shooting environment information (weather, date and time, etc.) and the like, and is generated as data for an environment recognition DB (step 405).
  • the generated data for the environment recognition DB is registered in the environment recognition DB (step 406).
  • the AR providing system 100 can be operated even when the recognition DB of the real object 80 is not prepared in advance.
  • the environment model image created by the environment recognition DB creating unit 90 the camera base estimated position and the reliability can be calculated.
  • a beacon signal is used as an example of an output wave output by the real object 80.
  • the present invention is not limited to this, and another radio wave such as a WiFi radio wave may be used as the output wave.
  • a WiFi module or the like is mounted on the receiving side, it is possible to calculate the distance to the real object based on the radio wave intensity.
  • a sound wave or the like may be used as the output wave.
  • a beacon signal different from the BLE beacon may be used as the beacon signal.
  • the position of the real object in the map data is estimated based on the distance to the real object calculated based on the sound wave.
  • the estimated position of the real object can be said to be a sound wave base estimated position.
  • the sound wave base estimation position is a concept included in the output wave base estimation position.
  • the present technology is not limited to this, and can be applied even when the real object moves.
  • the position of the moving real object based on the output wave output from the real object.
  • a device whose absolute position on the map data is fixed and does not move, and a device having a function of communicating with the server device and a function of outputting an output wave is separately prepared, the position can be adjusted with respect to the moving real object. Can be estimated.
  • the HMD 10 receives information on the distance from another HMD 10 to the real object (real object) calculated based on the output wave by the other HMD 10 (other device). Then, based on the received information on the distance from the other HMD 10 to the real object, it is possible to calculate a candidate range in which the real object may exist.
  • the information on the distance from another HMD 10 to the real object is, for example, the distance from another HMD 10 to the real object.
  • information on the candidate range calculated by another HMD 10 may be used as information on the distance from another HMD 10 to the real object.
  • map data of the space S1 is held in advance has been described as an example.
  • the present invention is not limited to this, and map data may be updated / created / acquired in real time.
  • the present technology is applicable even when a video see-through HMD is used.
  • the present technology is not limited to a device such as an HMD mounted on a user's head, and is also applicable to an AR expression using, for example, a smartphone, a tablet terminal, and a PC (Personal Computer).
  • the HMD is described as an example of the information processing apparatus according to the embodiment of the present disclosure.
  • the information processing apparatus according to the present technology may be realized by an arbitrary computer configured separately from the HMD and connected to the HMD via a cable or wirelessly.
  • the information processing method according to the present technology may be executed by a cloud server.
  • the information processing method according to the present technology may be executed in cooperation with the HMD and another computer.
  • a system refers to a set of a plurality of components (devices, modules (parts), and the like), and it does not matter whether all components are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network, and one device housing a plurality of modules in one housing are all systems.
  • the information processing method according to the present technology and the execution of the program by the computer system include, for example, calculation of a camera-based estimated position and reliability, calculation of a non-camera-based estimated position and reliability, control of expression of virtual content, and the like. This includes both the case where the processing is executed by a computer and the case where each processing is executed by a different computer.
  • the execution of each process by a predetermined computer includes causing another computer to execute a part or all of the process and acquiring the result.
  • the information processing method and the program according to the present technology can also be applied to a configuration of cloud computing in which one function is shared by a plurality of devices via a network and processed jointly.
  • HMD information processing device
  • server device real object
  • virtual object virtual object
  • information processing device described with reference to each drawing
  • It can be arbitrarily deformed. That is, another arbitrary configuration, algorithm, or the like for implementing the present technology may be adopted.
  • a first acquisition unit that acquires a camera-based estimated position indicating a position of the real object determined based on a captured image of a real space where a real object exists
  • a second acquisition unit that acquires an output wave-based estimated position indicating a position of the real object determined based on an output wave output to the real space from a position corresponding to the real object
  • a determining unit that determines a reference position used for expressing virtual content related to the real object based on the camera-based estimated position and the output wave-based estimated position.
  • the information processing apparatus according to (1) or (2), The information processing device, wherein the output wave includes at least one of a radio wave and a sound wave.
  • the information processing apparatus according to any one of (1) to (3), The first obtaining unit obtains a first reliability associated with the camera-based estimated position, The second obtaining unit obtains a second reliability related to the output wave base estimated position, The information processing device, wherein the determining unit determines the reference position based on the first reliability and the second reliability.
  • the information processing apparatus according to (4), The information processing device, wherein, when the first reliability is greater than a predetermined threshold, the determining unit determines the camera-based estimated position as the reference position.
  • the information processing apparatus according to any one of (1) to (5), further comprising: An information processing apparatus comprising: an expression control unit that controls expression of the virtual content based on the reference position. (7) The information processing apparatus according to (6), The information processing device, wherein the expression control unit controls display of a virtual object related to the real object. (8) The information processing apparatus according to (7), The information processing device, wherein the expression control unit controls a display position of the virtual object. (9) The information processing apparatus according to (8), The expression control unit, based on the detection of the movement of the user or the movement of the user's line of sight, while the user is moving, or while the user's line of sight is moving, the display position of the virtual object Information processing device to change.
  • the information processing apparatus according to any one of (6) to (9), The information processing device, wherein the expression control unit controls output of sound from a virtual sound source related to the real object.
  • the information processing apparatus according to (10), The information processing device, wherein the expression control unit controls a position of the virtual sound source.
  • the information processing apparatus according to any one of (1) to (11), further comprising: A first estimating unit that estimates the camera-based estimated position based on the captured image; A second estimating unit that estimates the output wave base estimated position based on the output wave.
  • the information processing apparatus according to (12), The information processing device, wherein the first estimating unit calculates the first reliability based on a result of matching processing of the model image of the real object with the captured image.
  • the information processing apparatus calculates a distance to the real object based on the output wave, calculates a candidate range in which the real object may exist based on the calculated distance, and calculates An information processing device that estimates a position included in the candidate range as the output wave base estimated position.
  • the information processing apparatus according to (14), The information processing device, wherein the second estimating unit calculates the second reliability based on the calculated size of the candidate range.
  • the information processing apparatus according to any one of (13) to (15), The second estimating unit receives information on the distance from the other device to the real object calculated by the other device based on the output wave, and receives the distance from the other device to the real object.
  • An information processing apparatus that calculates the candidate range based on the information about the candidate range.
  • An information processing apparatus according to any one of (1) to (16), An information processing device configured as an HMD (Head Mounted Display).
  • An information processing apparatus comprising: a model image generating unit configured to generate the model image based on the captured image.
  • P2 Final estimated position 1: User 5: Beacon signal 7: Virtual object 10: HMD 13: Transparent display 15: Outward camera 20: Speaker 42: Recognition DB Reference Signs List 50 controller 51 self-position estimating unit 52 actual object distance estimating unit 53 camera-based position estimating unit 54 actual object position estimating unit 55 AR expression control unit 58 reliability determining unit 60 server device 61 radio wave base Position estimating unit 62 reliability determining unit 80 real object 81 BLE beacon output unit 90 environmental DB creation unit 100 AR providing system

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Human Computer Interaction (AREA)
  • Optics & Photonics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Electromagnetism (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本技術の一形態に係る情報処理装置は、第1の取得部と、第2の取得部と、決定部とを具備する。前記第1の取得部は、実物体が存在する実空間の撮影画像に基づいて決定された前記実物体の位置を示すカメラベース推定位置を取得する。前記第2の取得部は、前記実物体に対応した位置から前記実空間に出力される出力波に基づいて決定された前記実物体の位置を示す出力波ベース推定位置を取得する。前記カメラベース推定位置及び前記出力波ベース推定位置に基づいて、前記実物体に関連する仮想コンテンツの表現に用いられる基準位置を決定する。

Description

情報処理装置、情報処理方法、及びプログラム
 本技術は、拡張現実(AR:Augmented Reality)の表示に適用可能な情報処理装置、情報処理方法、及びプログラムに関する。
 特許文献1に記載の画像表示装置では、通常表示モードと正対表示モードとが切替え可能である。通常表示モードは、入力画像が画面にそのまま表示される。正対表示モードでは、入力画像に基づいて認識される物体の基準面(例えば正面)が撮像面に正対するように加工された正対画像が、画面に表示される。当該正対画像に対して、物体に関連する仮想オブジェクト(例えばARアプリケーションのアノテーション)を重畳させることで、仮想オブジェクトの操作性を向上させることが可能である(特許文献1の明細書段落[0031][0032][0048][0059]等)。
特開2012-212346号公報
 ARの技術を用いた仮想体験は、例えばアミューズメント、教育、生産現場等の様々なシーンでの応用が期待されており、高品質な仮想体験を提供することが可能な技術が求められている。
 以上のような事情に鑑み、本技術の目的は、高品質な仮想体験を提供することが可能な情報処理装置、情報処理方法、及びプログラムを提供することにある。
 上記目的を達成するため、本技術の一形態に係る情報処理装置は、第1の取得部と、第2の取得部と、決定部とを具備する。
 前記第1の取得部は、実物体が存在する実空間の撮影画像に基づいて決定された前記実物体の位置を示すカメラベース推定位置を取得する。
 前記第2の取得部は、前記実物体に対応した位置から前記実空間に出力される出力波に基づいて決定された前記実物体の位置を示す出力波ベース推定位置を取得する。
 前記カメラベース推定位置及び前記出力波ベース推定位置に基づいて、前記実物体に関連する仮想コンテンツの表現に用いられる基準位置を決定する。
 この情報処理装置では、撮影画像に基づいて決定された実物体のカメラベース推定位置と、実空間に出力される出力波に基づいて決定された実物体の出力波ベース推定位置とに基づいて、実物体に関連する仮想コンテンツの表現に用いられる基準位置が決定される。これにより、高品質な仮想体験を提供することが可能となる。
 前記決定部は、前記基準位置として、前記実物体の最終推定位置を決定してもよい。
 前記出力波は、電波、及び音波の少なくとも1つを含んでもよい。
 前記第1の取得部は、前記カメラベース推定位置に関連する第1の信頼度を取得してもよい。この場合、前記第2の取得部は、前記出力波ベース推定位置に関連する第2の信頼度を取得してもよい。また前記決定部は、前記第1の信頼度及び前記第2の信頼度に基づいて、前記基準位置を決定してもよい。
 前記決定部は、前記第1の信頼度が所定の閾値より大きい場合、前記カメラベース推定位置を前記基準位置として決定してもよい。
 前記情報処理装置は、さらに、前記基準位置に基づいて、前記仮想コンテンツの表現を制御する表現制御部を具備してもよい。
 前記表現制御部は、前記実物体に関連する仮想物体の表示を制御してもよい。
 前記表現制御部は、前記仮想物体の表示位置を制御してもよい。
 前記表現制御部は、ユーザの移動又はユーザの視線の移動が検出されたことに基づき、ユーザが移動している間、又はユーザの視線が移動している間に、前記仮想物体の表示位置を変更してもよい。
 前記表現制御部は、前記実物体に関連する仮想的な音源からの音声の出力を制御してもよい。
 前記表現制御部は、前記仮想的な音源の位置を制御してもよい。
 前記情報処理装置は、さらに、第1の推定部と、第2の推定部とを具備してもよい。
 前記第1の推定部は、前記撮影画像に基づいて前記カメラベース推定位置を推定する。
 前記第2の推定部は、前記出力波に基づいて前記出力波ベース推定位置を推定する。
 前記第1の推定部は、前記撮影画像に対する前記実物体のモデル画像のマッチング処理の結果に基づいて、前記第1の信頼度を算出してもよい。
 前記第2の推定部は、前記出力波に基づいて前記実物体までの距離を算出し、算出された前記距離に基づいて前記実物体が存在する可能性のある候補範囲を算出し、算出された前記候補範囲に含まれる位置を前記出力波ベース推定位置として推定してもよい。
 前記第2の推定部は、算出された前記候補範囲の大きさに基づいて、前記第2の信頼度を算出してもよい。
 前記第2の推定部は、他の装置が前記出力波に基づいて算出した前記他の装置から前記実物体までの距離に関する情報を受信し、受信した前記他の装置から前記実物体までの距離に関する情報に基づいて、前記候補範囲を算出してもよい。
 前記情報処理装置は、HMD(Head Mounted Display)として構成されてもよい。
 前記情報処理装置は、さらに、前記撮影画像に基づいて前記モデル画像を生成するモデル画像生成部を具備してもよい。
 本技術の一形態に係る情報処理方法は、コンピュータシステムにより実行される情報処理方法であって、実物体が存在する実空間の撮影画像に基づいて決定された前記実物体の位置を示すカメラベース推定位置を取得することを含む。
 前記実物体に対応した位置から前記実空間に出力される出力波に基づいて決定された前記実物体の位置を示す出力波ベース推定位置が取得される。
 前記カメラベース推定位置及び前記出力波ベース推定位置に基づいて、前記実物体に関連する仮想コンテンツの表現に用いられる基準位置が決定される。
 本技術の一形態に係るプログラムは、コンピュータシステムに以下のステップを実行させる。
 実物体が存在する実空間の撮影画像に基づいて決定された前記実物体の位置を示すカメラベース推定位置を取得するステップ。
 前記実物体に対応した位置から前記実空間に出力される出力波に基づいて決定された前記実物体の位置を示す出力波ベース推定位置を取得するステップ。
 前記カメラベース推定位置及び前記出力波ベース推定位置に基づいて、前記実物体に関連する仮想コンテンツの表現に用いられる基準位置を決定するステップ。
 以上のように、本技術によれば、高品質な仮想体験を提供することが可能となる。なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
一実施形態に係るAR提供システムの構成例を示す模式図である。 HMDの外観例を示す斜視図である。 HMDの機能的な構成例を示すブロック図である。 実オブジェクトに関連する仮想コンテンツのAR表現の一例を説明するための図である。 AR提供システムにより提供可能なAR体験の一例を説明するための模式図である。 AR提供システム内にて構築される各機能ブロックの動作を説明するための模式図である。 電波ベース推定位置、及び信頼度の算出例を説明するための模式図である。 実オブジェクト位置推定部の動作例を示すフローチャートである。 AR表現制御部の動作例を示すフローチャートである。 仮想オブジェクトの表示位置の更新の一例を示すフローチャーである。 AR表現の一例を示す模式図である。 AR表現の一例を示す模式図である。 AR表現の一例を示す模式図である。 環境用認識DB作成部の構成例を示すブロック図である。 環境認識DB作成部の処理例を示すフローチャートである。
 以下、本技術に係る実施形態を、図面を参照しながら説明する。
 [AR提供システム]
 図1は、本技術の一実施形態に係るAR提供システムの構成例を示す模式図である。AR提供システム100は、本技術に係る情報処理システムの一実施形態に相当する。
 AR提供システム100は、HMD(Head Mounted Display)10と、サーバ装置60と、実オブジェクト80とを含む。
 HMD10は、ユーザ1の頭部に装着されて使用される。図1では、3つのHMD10が図示されているが、AR提供システム100に含まれるHMD10の数は限定されない。すなわちAR提供システム100に当時に参加可能なユーザ1の数は限定されない。HMD10は、本技術に係る情報処理装置の一実施形態として機能する。
 サーバ装置60は、ネットワーク3を介して、各HMD10と通信可能に接続される。サーバ装置60は、ネットワーク3を介して、各HMD10から種々の情報を受信することが可能である。またサーバ装置60は、種々の情報をデータベース70に記憶させることや、データベース70に記憶された種々の情報を読み出して、各HMD10に送信することが可能である。
 本実施形態では、データベース70に、マップデータ71が記憶される。マップデータ71は、実空間に関する地図として機能するデータである。本実施形態は、ユーザ1にAR体験を提供するための所定の実空間に関するマップデータ71が記憶される。
 ネットワーク3は、例えばインターネットや広域通信回線網等により構築される。その他、任意のWAN(Wide Area Network)やLAN(Local Area Network)等が用いられてよく、ネットワーク3を構築するためのプロトコルは限定されない。
 本実施形態では、ネットワーク3、及びサーバ装置60、及びデータベース70により、いわゆるクラウドサービスが提供される。従ってHMD10は、クラウドネットワークに接続されているとも言える。
 実オブジェクト80は、実空間に実際に存在する物体である。本実施形態では、実オブジェクト80を基準として、実オブジェクト80に関連する仮想コンテンツが表現される。仮想コンテンツの表現は、例えば実オブジェクト80に関連する仮想オブジェクトの表示、及び実オブジェクト80に関連する仮想的な音源からの音声の出力等を含む。もちろんこれらの表現に限定される訳ではない。
 本実施形態では、実オブジェクト80から、実空間に向けて、BLE(Bluetooth Low Energy)規格に準拠したビーコン信号5が出力される。ビーコン信号5の出力の間隔は限定されず、任意に設定されてよい。
 本実施形態において、実オブジェクト80は、実物体に相当する。また実オブジェクト80から出力されるビーコン信号5は、実物体に対応する位置から実空間に出力される出力波としての電波に相当する。
 [HMD(Head Mounted Display)]
 図2は、HMD10の外観例を示す斜視図である。HMD10は、透過型のディスプレイを備えたメガネ型の装置であり、ARグラスとも呼ばれる。HMD10は、フレーム11、左眼用レンズ12a及び右眼用レンズ12b、左眼用ディスプレイ13a及び右眼用ディスプレイ13b、左眼用カメラ14a及び右眼用カメラ14b、及び外向きカメラ15を有する。
 フレーム11は、メガネ型の形状でなり、リム部16及びテンプル部17を有する。リム部16は、ユーザ1の左右の眼の前方に配置される部分であり、左眼用レンズ12a及び右眼用レンズ12bをそれぞれ支持する。テンプル部17は、リム部16の両端からユーザ1の両耳に向けて後方に延在し、先端が両耳に装着される。リム部16及びテンプル部17は、例えば合成樹脂、金属等の材料で形成される。
 左眼用レンズ12a及び右眼用レンズ12bは、ユーザ1の視野の少なくとも一部を覆うように、ユーザ1の左右の眼の前方にそれぞれ配置される。典型的には、各レンズは、ユーザ1の視力を矯正するように設計される。もちろんこれに限定されず、いわゆる度無しレンズが用いられてもよい。
 左眼用ディスプレイ13a及び右眼用ディスプレイ13bは、透過型ディスプレイであり、左眼用及び右眼用レンズ12a及び12bの一部の領域を覆うように、それぞれ配置される。すなわち左眼用及び右眼用レンズ12a及び12bは、ユーザ1の左右の眼の前方にそれぞれ配置される。
 左眼用及び右眼用ディスプレイ13a及び13bには、左眼用及び右眼用の画像等がそれぞれ表示される。HMD10を装着するユーザ1は、現実の景色を視認すると同時に、各ディスプレイ13a及び13bに表示される画像を視認することが可能となる。これにより、ユーザ1は拡張現実(AR)等を体験することが可能となる。
 各ディスプレイ13a及び13bには、例えば仮想的な表示物(仮想オブジェクト)が表示される。例えばキャラクター等のCG(Computer Graphics)、写真、文字等が仮想オブジェクトとして表示可能である。もちろんこれに限定されず、任意の仮想オブジェクトが表示されてよい。本実施形態において、仮想オブジェクトは、仮想物体に相当する。
 左眼用及び右眼用ディスプレイ13a及び13bとしては、例えば透過型の有機ELディスプレイやLCD(Liquid Crystal Display、液晶表示素子)ディスプレイ等が用いられる。この他、左眼用及び右眼用ディスプレイ13a及び13bの具体的な構成は限定されず、例えば透明なスクリーンに画像を投影して表示する方式や、プリズム等を用いて画像を表示する方式等の任意の方式の透過型ディスプレイが適宜用いられてよい。
 左眼用カメラ14a及び右眼用カメラ14bは、ユーザ1の左眼及び右眼を撮影可能なように、フレーム11に適宜設置される。例えば、左眼用及び右眼用カメラ14a及び14bにより撮影された左眼及び右眼の画像に基づいて、ユーザ1の視線に関する視線情報等を検出することが可能である。
 左眼用及び右眼用カメラ14a及び14bとしては、例えばCMOS(Complementary Metal-Oxide Semiconductor)センサやCCD(Charge Coupled Device)センサ等のイメージセンサを備えるデジタルカメラが用いられる。また、例えば赤外線LED等の赤外線照明を搭載した赤外線カメラが用いられてもよい。
 以下では、左眼用レンズ12a及び右眼用レンズ12bをともにレンズ12と記載し、左眼用ディスプレイ13a及び右眼用ディスプレイ13bをともに透過型ディスプレイ13と記載する場合がある。また、左眼用カメラ14a及び右眼用カメラ14bをともに内向きカメラ14と記載する場合がある。本実施形態では、透過型ディスプレイ13は、表示部に相当する。
 外向きカメラ15は、フレーム11(リム部16)の中央に、外側(ユーザ1とは反対側)に向けて配置される。外向きカメラ15は、ユーザ1の視野に含まれる実空間を撮影することが可能である。従って外向きカメラ15は、実空間が撮影された撮影画像を生成することが可能である。
 本実施形態では、ユーザ1から見て前方側の範囲であり、透過型ディスプレイ13の表示領域を含む範囲が、外向きカメラ15により撮影される。すなわちユーザ1から見て、表示領域を透過して見える範囲を含むように、実空間が撮影される。外向きカメラ15としては、例えばCMOSセンサやCCDセンサ等のイメージセンサを備えるデジタルカメラが用いられる。
 図3は、HMD10の機能的な構成例を示すブロック図である。図3に示すように、HMD10はさらに、スピーカー20と、振動部21と、通信部22と、コネクタ23と、操作ボタン24と、センサ部30と、記憶部40と、コントローラ50とを有する。
 スピーカー20は、フレーム11の所定の位置に設けられる。スピーカー20の構成は限定されず、例えばステレオ音声やモノラル音声等を出力可能なスピーカー20が適宜用いられてよい。
 振動部21は、フレーム11の内部に設けられ、振動を発生する。例えば、通知用のバイブレーション等を発生可能な任意の振動モータ等が振動部21として用いられる。
 通信部22は、他のデバイスとの間で、ネットワーク通信や近距離無線通信等を実行するためのモジュールである。本実施形態では、通信部22として、ネットワークモジュールと、Bluetooth(登録商標)モジュールが設けられる。
 ネットワークモジュールは、ネットワーク3に接続するためのインタフェースであり、例えばWiFi等の無線LANモジュールが用いられる。ネットワークモジュールが動作することで、サーバ装置60との間で無線通信が可能となる。
 Bluetoothモジュールは、Bluetooth規格に準拠した近距離無線通信を実行するためのモジュールである。本実施形態では、BLE規格に準拠した通信(BLE通信)が可能である。
 Bluetoothモジュールは、BLE規格に準拠したビーコン信号を受信することが可能である。受信したビーコン信号に含まれる情報はコントローラ50に出力され、各種の処理が実行される。例えば、ビーコン信号の強度(電波強度)をもとに、ビーコン信号を出力した機器との距離を算出することが可能である。
 コネクタ23は、他のデバイスとの接続のための端子である。例えばUSB(Universal Serial Bus)、HDMI(登録商標)(High-Definition Multimedia Interface)等の端子が設けられる。また充電時には、充電用のドッグ(クレードル)の充電端子とコネクタ23とが接続されて充電が行われる。
 操作ボタン24は、例えばフレーム11の所定の位置に設けられる。操作ボタン24により、電源のON/OFFの操作、画像表示や音声出力に関する機能やネットワーク通信機能等のHMD10が有する種々の機能に関する操作を実行することができる。
 センサ部30は、9軸センサ31と、GPS32と、生体センサ33と、マイク34とを有する。
 9軸センサ31は、3軸加速度センサ、3軸ジャイロセンサ、及び3軸コンパスセンサを含む。9軸センサ31により、HMD10の、3軸における加速度、角速度、及び方位を検出することが可能である。GPS32は、HMD10の現在位置の情報を取得する。9軸センサ31及びGPS32の検出結果は、例えばユーザ1(HMD10)の姿勢や位置、ユーザ1の移動(動き)等の検出に用いられる。これらのセンサは、例えばフレーム11の所定の位置に設けられる。
 生体センサ33は、ユーザ1の生体情報を検出することが可能である。例えば生体センサ33として、脳波センサ、筋電センサ、脈拍センサ、発汗センサ、温度センサ、血流センサ、体動センサ等が設けられる。
 マイク34は、ユーザ1の周辺の音情報を検出する。例えばユーザが発話した音声等が適宜検出される。これにより、例えばユーザ1は、音声通話をしながらAR体験を楽しむことや、音声入力を用いたHMD10の操作入力を行うことが可能である。
 センサ部30として設けられるセンサの種類は限定されず、任意のセンサが設けられてもよい。例えばHMD10を使用する環境の温度や湿度等を測定可能な温度センサや湿度センサ等が設けられてもよい。内向きカメラ14及び外向きカメラ15を、センサ部30の一部として見做すことも可能である。
 記憶部40は、不揮発性メモリ等の記憶デバイスであり、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)等が用いられる。その他、コンピュータ読み取り可能な非一過性の任意の記憶媒体が用いられてよい。
 記憶部40には、マップデータ41が記憶される。マップデータ41は、実空間に関する地図として機能するデータである。本実施形態は、ユーザ1にAR体験を提供するための所定の実空間に関するマップデータ41が記憶される。マップデータ41は、図1に示すサーバ装置60のデータベース70に記憶されたマップデータ71と同一の情報である。
 また記憶部40には、認識DB42が構築される。認識DB42には、外向きカメラ15により撮影された撮影画像に対する画像認識に用いられる種々のモデル画像が格納される。本実施形態では、撮影画像から実オブジェクト80を検出するためのモデル画像が格納される。典型的には、図1に例示した実オブジェクト80を撮影した1以上の画像が、モデル画像として格納される。もちろん実オブジェクト80のCG等が、モデル画像として格納されてもよい。
 また記憶部40には、HMD10の全体の動作を制御するための制御プログラム43が記憶される。マップデータ41、認識DB(モデル画像)、及び制御プログラム43を、HMD10にインストールする方法は限定されない。
 コントローラ50は、HMD10が有する各ブロックの動作を制御する。コントローラ50は、例えばCPUやメモリ(RAM、ROM)等のコンピュータに必要なハードウェア回路を有する。CPUが記憶部40に記憶されている制御プログラム43をRAMにロードして実行することにより、種々の処理が実行される。
 コントローラ50として、例えばFPGA(Field Programmable Gate Array)等のPLD(Programmable Logic Device)、その他ASIC(Application Specific Integrated Circuit)等のデバイスが用いられてもよい。
 本実施形態では、コントローラ50のCPUが本実施形態に係るプログラム(例えばアプリケーションプログラム)を実行することで、機能ブロックとして、自己位置推定部51、実オブジェクト距離推定部52、カメラベース位置推定部53、実オブジェクト位置推定部54、及びAR表現制御部55が実現される。そしてこれらの機能ブロックにより、本実施形態に係る情報処理方法が実行される。なお各機能ブロックを実現するために、IC(集積回路)等の専用のハードウェアが適宜用いられてもよい。
 自己位置推定部51は、HMD10の自己位置を推定する。本開示では、自己位置は、HMD10の位置及び姿勢を含む。すなわち、自己位置推定部51は、マップデータ41内におけるHMD10の位置情報、及びHMD10がどの方向を向いているか等の姿勢情報を算出することが可能である。
 HMD10の自己位置は、センサ部30からの検出結果、内向きカメラ14及び外向きカメラ15による撮影画像に基づいて算出される。例えば、所定の位置を原点とする3次元座標系(XYZ座標系)における位置座標が算出される。またX軸をピッチ軸、Y軸をロール軸、Z軸をヨー軸とした場合における、ユーザ1(HMD10)の正面側に延在する所定の基準軸の、ピッチ角度、ロール角度、及びヨー角度が算出される。もちろん、ユーザ1(HMD10)の位置情報及び姿勢情報の具体的な形式等は限定されない。
 HMD10の自己位置を推定するためのアルゴリズムも限定されず、SLAM(Simultaneous Localization and Mapping)等の任意のアルゴリズムが用いられてもよい。自己位置を推定するために、例えばDNN(Deep Neural Network:深層ニューラルネットワーク)等を用いた任意の機械学習アルゴリズムが用いられてもよい。例えばディープラーニング(深層学習)を行うAI(人工知能)等を用いることで、自己位置の推定精度を向上させることが可能となる。
 実オブジェクト距離推定部52は、実オブジェクト80から出力されるビーコン信号5に基づいて、実オブジェクト80までの距離を算出する。実オブジェクト距離推定部52は、図2に示すBluetoothモジュールにより受信されたビーコン信号5の電波強度をもとに、HMD10から実オブジェクト80までの距離を算出する。
 カメラベース位置推定部53は、外向きカメラ15により撮影された撮影画像に基づいて、マップデータ41内における実オブジェクト80の位置を推定する。以下、カメラベース位置推定部53により推定された実オブジェクト80の位置を、カメラベース推定位置と記載する場合がある。またカメラベース位置推定部53は、推定されたカメラベース推定位置の信頼度を算出する。
 本実施形態において、実オブジェクト80のカメラベース推定位置は、実物体が存在する実空間の撮影画像に基づいて決定された実物体の位置を示すカメラベース推定位置に相当する。またカメラベース推定位置の信頼度は、カメラベース推定位置に関連する第1の信頼度に相当する。またカメラベース位置推定部53は、撮影画像に基づいてカメラベース推定位置を推定する第1の推定部に相当する。
 実オブジェクト位置推定部54は、カメラベース位置推定部53により算出されたカメラベース推定位置及び信頼度を受信することで取得する。また実オブジェクト位置推定部54は、サーバ装置60により算出された電波ベース推定位置及び信頼度を受信することで取得する。なお電波ベース推定位置及び信頼度については、後に説明する。
 実オブジェクト位置推定部54は、取得したカメラベース推定位置及び信頼度と、電波ベース推定位置及び信頼度とに基づいて、実オブジェクト80に関連する仮想コンテンツの表現に用いられる基準位置を算出する。本実施形態では、実オブジェクト位置推定部54により、実オブジェクト80の最終的な推定位置である最終推定位置が算出される。そしてその実オブジェクト80の最終推定位置が、基準位置として算出される。
 本実施形態において、実オブジェクト位置推定部54は、第1の取得部、第2の取得部、及び決定部として機能する。本開示において、「決定」は直接的な「計算(演算)」の他、「テーブルの参照」「(信頼度の高い方の)選択」等、任意の方法により対象を得ることを含む。本実施形態では、カメラベース推定位置、電波ベース推定位置、最終推定位置等の「決定」が、「算出」という文言を用いて説明されている。もちろん一実施形態であり、これら各位置の「決定」が、「算出」という文言に含まれる概念に限定される訳ではない。
 なお本開示において、データ等の取得は、センサ等によりデータを計測する、通信等によりデータを受信する、記録媒体等に記憶されたデータを読み出す等、データ等が処理可能な状態となる任意の形態を含む。
 AR表現制御部55は、実オブジェクト80に関する仮想コンテンツの表現を制御する。AR表現制御部55により、例えば実オブジェクト80に関連する仮想オブジェクト7の表示、及び実オブジェクト80に関連する仮想的な音源からの音声の出力等が制御される。なお仮想コンテンツの表現は、実オブジェクト位置推定部54により算出される基準位置を基準として制御される。従って仮想コンテンツの表現に用いられる基準位置とは、仮想コンテンツを表現する際に基準となる位置を意味する。
 [サーバ装置]
 サーバ装置60は、例えばCPU、ROM、RAM、及びHDD等のコンピュータの構成に必要なハードウェアを有する。CPUがROM等に予め記録されている本技術に係るプログラムをRAMにロードして実行することにより、機能ブロックとして電波ベース位置推定部61、及び信頼度判定部62(ともに図6参照)が実現され、本技術に係る情報処理方法が実行される。
 例えばPC(Personal Computer)等の任意のコンピュータにより、サーバ装置60を実現することが可能である。もちろんFPGA、ASIC等のハードウェアが用いられてもよい。また図6に示す各ブロックを実現するために、IC(集積回路)等の専用のハードウェアが用いられてもよい。
 プログラムは、例えば種々の記録媒体を介してサーバ装置60にインストールされる。あるいは、インターネット等を介してプログラムのインストールが実行されてもよい。
 またサーバ装置60は、他のデバイスとの間で、ネットワーク通信や近距離無線通信等を実行するための通信部(図示は省略)を備えている。通信部が動作することで、HMD10との間で無線通信が可能となる。
 電波ベース位置推定部61は、HMD10の実オブジェクト距離推定部52から送信された実オブジェクト80までの距離に基づいて、マップデータ71内における実オブジェクト80の位置を推定する。電波ベース位置推定部61により推定された実オブジェクト80の位置が、上記した電波ベース推定位置に相当する。信頼度判定部62は、推定された電波ベース推定位置の信頼度を算出する。
 本実施形態において、実オブジェクト80の電波ベース推定位置(Radio Wave Based Position)は、実物体に対応した位置から実空間に出力される出力波に基づいて決定された実物体の位置を示す出力波ベース推定位置に相当する。また電波ベース推定位置の信頼度は、出力波ベース推定位置に関連する第2の信頼度に相当する。本実施形態では、実オブジェクト距離推定部52、及び電波ベース位置推定部61により、出力波に基づいて出力波ベース推定位置を推定する第2の推定部が実現される。なお、電波ベース推定位置のことを、非カメラ推定位置ということも可能である。
 [実オブジェクト]
 実オブジェクト80には、BLEビーコン出力部81が搭載されており(図6参照)、定期的にビーコン信号5が出力される。BLEビーコン出力部81は、実オブジェクト80に内蔵されてもよい。あるいは、例えばビーコン信号5を出力可能なビーコン装置が、実オブジェクト80に取り付けられてもよい。この場合、そのビーコン装置が、BLEビーコン出力部81として機能する。
 図4は、実オブジェクト80に関連する仮想コンテンツのAR表現の一例を説明するための図である。本実施形態に係る実オブジェクト80は、円柱形状を有し、上面には星型のマーク82が図示されている。
 本実施形態では、星型のマーク82の中心の位置P1を基準として、仮想コンテンツの表現が実行される。具体的には、図4に示すように、実オブジェクト80をステージとして、星型のマーク82の中心に立って踊りながら歌うキャラクターが、仮想コンテンツとして表現される。
 HMD10の実オブジェクト位置推定部54は、実オブジェクト80の最終推定位置として、星型のマーク82の中心の位置P1を推定する。推定された中心の位置P1を、最終推定位置P2とする。そうすると、AR表現制御部55は、最終推定位置P2を仮想コンテンツの表現に用いられる基準位置として、透過型ディスプレイ13への、仮想オブジェクト(歌うキャラクター)7の表示を制御する。
 なお、図4に示す例では、実際の中心の位置P1と、最終推定位置P2とが同じ位置である場合が図示されている。
 例えばAR表現制御部55は、最終推定位置P2に基づいて、仮想オブジェクト7の表示位置を制御する。具体的には、最終推定位置P2上に、仮想オブジェクト7が位置するように、仮想オブジェクト7の表示位置が制御される。もちろん、ユーザ1が実オブジェクト80を全く見ていない場合等では、透過型ディスプレイ13に仮想オブジェクト7は表示されない。
 AR表現制御部55は、最終推定位置P2から、仮想オブジェクト7が歌う歌が聴こえてくるように、音声の出力を制御する。すなわち最終推定位置P2に存在する仮想的な音源の音声の出力を制御する。例えばユーザ1が、実オブジェクト80を正面から見ている場合には、ユーザ1の正面に位置する仮想的な音源から歌が聴こえるように、音声の出力を制御する。
 ユーザ1が、実オブジェクト80が位置する方向とは異なる方向を見ている場合には、実オブジェクト80の位置から歌が聴こえるように、音声の出力を制御する。すなわちAR表現制御部55は、仮想的な音源の位置(定位)を制御することが可能である。なお仮想的な音源の位置の制御、すなわち音声が聴こえてくる方向は、スピーカー20を制御することで実現可能である。
 このように本実施形態では、視覚的なAR体験のみならず、聴覚的なAR体験を楽しむことが可能である。仮想的な音源から出力される音声は、仮想的な音声ということも可能である。あるいは、仮想方向から聴こえる音声ということも可能である。仮想オブジェクト7の表示位置の精度と比べると、仮想的な音源の位置の精度(音声が聴こえてくる方向の精度)は、低くても構わない。なお本実施形態では、仮想オブジェクト7を、仮想的な音源と見做すことも可能である。
 [AR体験の一例]
 図5は、AR提供システム100により提供可能なAR体験の一例を説明するための模式図である。所定の空間S1の所定の位置に、実オブジェクト80が配置される。実オブジェクト80の星型のマーク82の中心の位置P1が、実オブジェクト80の実際の位置となる。
 ユーザ1は、HMD10を装着した状態で、空間S1内を動き回り、実オブジェクト80及び仮想オブジェクト7を探し出す。なおHMD10の記憶部40と、サーバ装置60のデータベース70には、空間S1のマップデータ41及び71がそれぞれ格納されている。また空間S1のいずれの場所にいる場合でも、実オブジェクト80から出力されるビーコン信号5は出力可能である。もちろんこのようなAR体験に限定される訳ではなく、任意のAR体験の提供に、本技術は適用可能である。
 図6は、AR提供システム100内にて構築される各機能ブロックの動作を説明するための模式図である。例えば、以下に説明する実オブジェクト80の最終推定位置P2の算出処理が、所定の間隔で繰り返される。例えば、外向きカメラ15により撮影される撮影画像のフレームレートに合わせて、フレーム画像を取込むたびに、最終推定位置P2が算出され更新されてもよい。もちろん、これに限定される訳ではない。
 自己位置推定部51により、自己位置(位置情報及び姿勢情報)が推定される。推定された自己位置は、実オブジェクト距離推定部52、実オブジェクト位置推定部54、及びカメラベース位置推定部53に出力される。
 実オブジェクト距離推定部52は、ビーコン信号5に基づいて、HMD10から実オブジェクト80までの距離を算出する。実オブジェクト距離推定部52は、自己位置推定部51から取得したHMD10の自己位置と、HMD10から実オブジェクト80までの距離とを、通信部22を介して、サーバ装置60に送信する。
 サーバ装置60の電波ベース位置推定部61は、HMD10の自己位置と、HMD10から実オブジェクト80までの距離とに基づいて、実オブジェクト80の電波ベース推定位置を算出する。信頼度判定部62は、推定された電波ベース推定位置の信頼度を算出する。電波ベース位置推定部61により算出された電波ベース推定位置、及び信頼度判定部62により算出された信頼度は、HMD10の実オブジェクト位置推定部54に送信される。
 図7は、電波ベース推定位置、及び信頼度の算出例を説明するための模式図である。
 図7では、HMD10の各々位置が、PH1、PH2・・といった符号で模式的に図示されている。またHMD10から実オブジェクト80までの距離に基づいて、HMD10の位置を中心として描かれる円が、C1、C2・・・といった符号で図示されている。HMD10の位置PH1を中心とした円が円C1となるように、お互いの数字が対応付けされている。
 電波ベース位置推定部61は、各HMD10から送信される自己位置及び実オブジェクト80までの距離に基づいて、実オブジェクト80が存在する可能性のある候補範囲を算出する。そして、算出された候補範囲に含まれる位置が、電波ベース推定位置として算出される。
 例えば、図7に示す各HMD10の位置PH1~PH3を中心とする円C1~C3上であり、空間S1内の位置が、候補範囲として算出される。距離の誤差を考慮して、円周に若干の厚みを持たせた範囲が、候補範囲として算出されてもよい。
 そして、全ての円C1~C3の交点に実オブジェクト80が存在するという考えに基づいて、各円C1~C3が互いに交差する交点が全て算出される。算出された交点に基づいて、候補範囲が絞られる。例えば、各円C1~C3の交点が全て抽出され、その交点を中心とした所定の範囲が、候補範囲として算出される。
 図7Aに示す例では、3つの円C1~C3が交わる交点Paと、円C1及びC2が交わる交点Pbと、円C1及びC3とが交わる交点Pcとが算出される。各交点を中心とした所定の範囲が、候補範囲として算出される。
 なお全ての円C1~C3が交わる交点はPaである。しかしながら、2つのHMD10の位置PH1及びPH2が近いので、交点Pb及びPcも近くなる。従って、距離の測定誤差を考慮すると、交点Pb及びPcも、全ての円C1~C3が交わる交点である可能性も否定できない。
 従って、各交点を中心とした範囲が、候補範囲として算出される。電波ベース位置推定部61は、候補範囲に含まれる位置を、電波ベース推定位置として算出する。例えば交点Pa~Pcのうちのいずれかが、電波ベース推定位置として算出される。もちろんこれに限定されず、候補範囲に含まれる他の位置が算出されてもよい。
 図7Aに示す状態では、全ての円C1~C3が交わる交点を特定することが難しく、候補範囲が大きい状態である。従って、電波ベース推定位置の信頼度は低くなる。図7Aに示す例では、電波ベース推定位置の信頼度は、0.3となっている。
 図7Aに示す状態から、HMD10の位置PH3が移動して、図7Bに示す状態となったとする。交点Pb及びPcが互いに離れることになり、交点Paが、全ての円C1~C3が交わる交点となる可能性が高くなる。従って、例えば、交点Pb及びPcを中心とした候補範囲が狭められる。これにより、候補範囲の全体の大きさが小さくなる。
 電波ベース位置推定部61は、候補範囲が狭められた交点Pb及びPcではなく、全ての円C1~C3が交わる交点となる可能性が高くなった交点Paを、電波ベース推定位置として算出する。信頼度判定部62は、候補範囲が狭くなったことに応じて、信頼度を高く設定する(0.7)。
 図7Bに示す状態から、HMD10の位置PH3が移動して、図7Bに示す状態となったとする。この場合、交点Paが、全ての円C1~C3が交わる交点となる可能性がさらに高くなる。従って、例えば、交点Pb及びPcを中心とした範囲が、候補範囲として除外される。すなわち交点Paを基準とした範囲のみが候補範囲として算出される。
 電波ベース位置推定部61は、交点Paを電波ベース推定位置として算出する。信頼度判定部62は、候補範囲が狭くなったことに応じて、さらに高い信頼度を設定する(0.8)。
 このように、HMD10の位置が移動する場合には、実オブジェクト80までの距離を常時監視することで、時間の経過に応じて候補範囲の情報が蓄積され、候補範囲を狭めることが可能となる。そして最終的には、信頼度の高い電波ベース推定位置を算出することが可能となる。
 図7に示す例では、全ての円C1~C3が交わる交点が、交点Paに収束していき、同一の地点を示す時間が長くなるので、その交点Paを信頼度の高い電波ベース推定位置として算出することが可能となる。なお、HMD10の位置が移動することで、図7Aに示すような、円C1~C3が交わる交点が複数存在するような状態に再びなったとする。その場合でも、今までの履歴から再度増えた交点の位置には実オブジェクト80は存在しないと判定可能であるので、信頼度に大きな減少等は発生しない。
 なお最初の状態が図7Cに示す状態である場合等、HMD10の各々の位置関係によっては、非常に早い段階で、信頼度の高い電波ベース推定位置を算出することも可能である。
 このように、HMD10の位置及び実オブジェクト80までの距離に基づいて算出可能な全ての円が交わる交点が存在する範囲(候補範囲)を狭めていくことで、電波ベース推定位置及び信頼度を算出することが可能である。HMD10の数、すなわちユーザ1の数が多ければ多いほど、実オブジェクト80の位置の推定までの時間を短縮することが可能となり、また推定精度を向上させることが可能となる。
 図7に示す例では、各状態における円C1~C3の情報、及び各交点Pa~Pcの情報に基づいて、候補範囲が算出された。これに限定されず、円C1~C3の過去の履歴情報や、各交点Pa~Pcの過去の履歴情報に基づいて、候補範囲を算出することも可能である。
 例えば過去に算出された円も含めて、全ての円が交わる交点が存在する範囲が算出されてもよい。この場合、ユーザ1が移動すればするほど、円の数が増えていくので、最終的に信頼度の高い電波ベース推定位置を算出することが可能となる。またユーザ1の数が、1人や2人等の少人数である場合にも、電波ベース推定位置を精度よく算出することが可能となる。
 図7に示す例では、候補範囲の大きさに基づいて、電波ベース推定位置の信頼度が算出された。信頼度を判定するためのパラメータとして、他のパラメータが用いられてもよい。例えばユーザ1(HMD10)の数、ビーコン信号5の電波の安定性や電波強度の変化率、候補範囲の絞り込みの実行時間の長さ等に基づいて、信頼度が算出されてもよい。その他、候補範囲の情報の蓄積に応じた任意の判定方法が採用されてよい。
 電波ベース推定位置及び信頼度を算出するための具体的なアルゴリズムは限定されず、任意の技術が用いられてよい。また任意の機械学習アルゴリズムが用いられてもよい。
 図6に戻って、カメラベース位置推定部53は、画像認識部57と、信頼度判定部58とを有する。画像認識部57は、実空間が撮影された撮影画像から実オブジェクト80を検出する。本実施形態では、図3に示す認識DB42内のモデル画像が用いられる。
 画像認識部57は、撮影画像に対して、実オブジェクト80のモデル画像のマッチング処理を実行し、撮影画像内に実オブジェクト80が含まれているか否かを判定する。撮影画像内に実オブジェクト80が含まれている場合には、撮影画像内の実オブジェクト80と、実オブジェクト80のモデル画像とを比較する。そして、両者のサイズや形状等に基づいて、外向きカメラ15に対して、実オブジェクト80がどの程度離れた位置で、どの程度の角度で写っているかを判定する。そして、外向きカメラ15の位置(HMD10の位置)に対する、実オブジェクト80の相対位置を算出する。
 モデル画像を用いたマッチング処理の具体的なアルゴリズムは限定されない。エッジ検出や射影変換等、任意の画像認識技術が用いられてよい。また任意の機械学習アルゴリズムが用いられてもよい。
 カメラベース位置推定部53は、画像認識部57により算出されたHMD10に対する実オブジェクト80の相対位置と、自己位置推定部51から取得したHMD10の自己位置に基づいて、空間S1のマップデータ41における実オブジェクト80の位置を算出する。その算出された実オブジェクト80の位置が、カメラベース推定位置(Camera Based Position)となる。
 信頼度判定部58は、算出されたカメラベース推定位置の信頼度を判定する。本実施形態では、画像認識部57による撮影画像に対するモデル画像のマッチング処理の結果に基づいて、信頼度が算出される。
 例えば、撮影画像内の実オブジェクト80と、実オブジェクト80のモデル画像との一致度具合に基づいて、信頼度が算出される。例えば、実オブジェクト80のモデル画像と等しいサイズ及び等しい形状の実オブジェクト80が検出された場合には、相対的に高い信頼度が設定される。一方、モデル画像と比べてサイズが小さく、また角度も異なっている(斜めから撮影されている)実オブジェクト80が検出された場合には、相対的に低い信頼度が設定される。
 また例えば、撮影画像を取込むごとに実行されるマッチング処理において、モデル画像と一致した回数や一致した角度等が増えることにより、高い信頼度が算出される。また撮影画像内において、実オブジェクト80が検出された位置に基づいて、信頼度が算出されてもよい。その他、撮影条件等、信頼度を算出するために任意のパラメータが用いられてもよい。カメラベース推定位置の信頼度を判定するための具体的なアルゴリズムは限定されず、例えば任意の機械学習アルゴリズム等が用いられてもよい。
 カメラベース位置推定部53は、カメラベース推定位置、及び信頼度を、実オブジェクト位置推定部54に出力する。なお、画像認識部57において、撮影画像から実オブジェクト80が検出できなかった場合には、その旨が実オブジェクト位置推定部54に出力される。
 図8は、実オブジェクト位置推定部54の動作例を示すフローチャートである。まず、カメラベース推定位置が算出可能であるか否か判定される(ステップ101)。この判定は、例えば、カメラベース位置推定部53から実オブジェクト80が検出不可である旨の情報を受信したか否かにより判定される。もちろんこれに限定されない。
 カメベース推定位置が算出できない場合(ステップ101のNO)、電波ベース推定位置及び信頼度が取得される(ステップ102)。そして、電波ベース推定位置に基づいて、最終的な推定位置である最終推定位置P2が算出される(ステップ103)。典型的には、電波ベース推定位置が、実オブジェクト80の最終推定位置P2として、そのまま採用される。これに限定されず、電波ベース推定位置及び信頼度に基づいて演算等が実行され、最終推定位置P2が算出されてもよい。
 なお撮影画像(撮影範囲)内に実オブジェクト80が含まれている場合でも、カメラベース推定位置が算出不可であると判定される場合もあり得る。例えば逆光等の撮影環境に関する要因等により、実オブジェクト80の検出ができない場合があり得る。あるいは、撮影画像の隅の位置に斜めとなる角度で実オブジェクト80が小さく撮影されている場合等では、カメラベース推定位置が算出不可となる場合もあり得る。このような場合、ステップ102で取得される電波ベース推定位置が、撮影画像に含まれる位置(ユーザ1の視野に含まれる位置)となる場合もあり得る。
 カメベース推定位置が算出できる場合(ステップ101のYES)、電波ベース推定位置及び信頼度が取得される(ステップ104)。またカメラベース推定位置及び信頼度が取得される(ステップ105)。そして、電波ベース推定位置及び信頼度と、カメラベース推定位置及び信頼度とに基づいて、最終的な推定位置である最終推定位置P2が算出される(ステップ106)。
 すなわち本実施形態では、2つの推定位置及び信頼度に基づいて、実オブジェクト80の位置が再度計算され、最終結果として利用される。
 最終推定位置P2の算出例としては、例えば、電波ベース推定位置及びカメラベース推定位置の2点を直線で結ぶ。そして2つの推定位置の各々の信頼度に基づいて、直線上の中間位置を最終推定位置P2として算出する。
 例えば、電波ベース推定位置が(0,0,10)で信頼度0.5であるとする。カメラベース推定位置が(0,0,0)で信頼度0.5であるとする。この場合、電波ベース推定位置と、カメラベース推定位置とのちょうと中間の位置である(0,0,5)が、最終推定位置P2として算出される。
 その後、ユーザ1の視野から実オブジェクト80が外れた場合等が生じた場合には、ステップ101のNOからステップ102に切り替えられ、電波ベース推定位置及び信頼度に基づいて、最終推定位置P2が算出される。
 なお、電波ベースで位置を推定する場合には、実オブジェクト80の角度や形状に合わせた位置が算出されるわけではないので、信頼度はある程度の値にまでしか増加しないことが多い。一方、撮影画像に実オブジェクト80が含まれる場合には、カメラベース推定位置の信頼度は比較的高い増加率で増加する。従って、ユーザ1が実オブジェクト80を見ている場合には、最終的には、カメラベース推定位置の信頼度の方が、電波ベース推定位置の信頼度よりも高くなる場合が多い。
 例えば、カメラベース推定位置の信頼度が所定の閾値よりも大きい場合、カメラベース推定位置を最終推定位置P2として算出してもよい。すなわち、カメラベース推定位置の信頼度が高い場合には、電波ベース推定位置は利用せず、カメラベース推定位置をそのまま最終推定位置P2として利用してもよい。
 カメラベース推定位置は精度が高くブレが少ない場合が多い。一方、電波ベース推定位置は比較的ブレが生じやすい。従ってカメラベース推定値の信頼度が高い場合、カメラベース推定位置を最終推定位置P2として算出することで、最終推定位置P2のブレを十分に抑制することが可能となる。なお、閾値の具体的な大きさは限定されない。また閾値よりも大きくなるとは、閾値と同じ値となる状態を含む場合(以上となる場合)と、閾値と同じ値となる状態を含まない場合の、いずれもが含まれる。
 また信頼度として具体的な数値を設定する方法は限定されない。本実施形態では、0~1の範囲に含まれるように、信頼度の数値が設定される。その他、任意の方法により、信頼度の数値が設定されてよい。
 算出された最終推定位置P2は、AR表現制御部55に出力される。AR表現制御部55は、最終推定位置P2に基づいて、AR表現を制御する。
 図9及び図10は、AR表現制御部55の動作例を示すフローチャートである。図11~図13は、AR表現の一例を示す模式図である。
 図9に示すように、HMD10の自己位置と、実オブジェクト位置推定部54により算出された最終推定位置P2とが取得される(ステップ201、202)。仮想オブジェクト7が、透過型ディスプレイ13の表示領域に含まれるか否かが判定される(ステップ203)。すなわち最終推定位置P2を基準として仮想オブジェクト7を表現する際に、仮想オブジェクト7が表示領域を介して見える位置に存在するか否か判定される。
 例えば最終推定位置P2を基準として、仮想オブジェクト7の描画範囲(表示範囲)が算出される。算出された描画範囲が表示領域に含まれない場合には、ステップ203はNOとなる。算出された描画範囲の少なくとも一部が表示領域に含まれる場合には、ステップ203はYESとなる。なお仮想オブジェクト7の全体が表示領域に含まれるか否かに基づいて、ステップ203が判定されてもよい。
 仮想オブジェクト7が表示領域に含まれない場合(ステップ203のNO)、仮想オブジェクト7は表示されず、AR音の出力のみが実行される。すなわち最終推定位置P2を仮想的な音源の位置として、仮想オブジェクト7の歌う歌がスピーカー20から出力される。なお、仮想オブジェクト7が表示領域に含まれない場合でも、仮想的な音源の位置の制御等のために、最終推定位置P2の更新は実行される。
 仮想オブジェクト7が表示領域に含まれる場合(ステップ203のYES)、仮想オブジェクト7が表示され、AR音が出力される。仮想オブジェクト7は、最終推定位置P2を基準として算出された描画範囲に表示される。ユーザ1は、実オブジェクト80の上に立ち歌を歌う仮想オブジェクト7を視認することが可能とあなる。
 例えばユーザ1が、実オブジェクト80が見えない状態から、歌の聴こえる方向に視野(視線)を左に移動させたとする。そうすると図11に示すように、視野の左側に実オブジェクト80及び仮想オブジェクト7が見えたとする。
 図11に示すように、視野内に実オブジェクト80が入った直後では、最終推定位置P2は電波ベース推定位置に基づいて算出されており、実オブジェクト80の実際の位置P1とは、若干ずれている場合もあり得る。しかしながら、ほぼ正しい位置にて、仮想オブジェクト7を表示させることが可能である。
 ユーザ1が、図11に示す状態から視線を動かすことなく、静止した状態で仮想オブジェクト7を見続けたとする。その間カメラベース推定位置が算出され、その信頼度は増加していく。従って、図8に示すステップ106にて、実オブジェクト80の最終推定位置P2が更新され、実際の位置P1に近づいていく。この結果、仮想オブジェクト7の表示位置も、更新されていく。
 図10は、仮想オブジェクト7の表示位置の更新の一例を示すフローチャーである。ステップ301~ステップ303は、図9に示すステップ201~203と同様である。なおステップ203で、仮想オブジェクト7が表示領域に含まれない場合には、表示位置の更新は終了し、図9に示すステップ204に進む。
 仮想オブジェクト7が表示領域に含まれる場合(ステップ303のYES)、ユーザ1の移動(動き)及びユーザ1の視線移動が検出される(ステップ304)。ユーザ1の移動(動き)やユーザ1の視線移動は、センサ部30からの検出結果、内向きカメラ14及び外向きカメラ15による撮影画像に基づいて検出することが可能である。ユーザ1の移動や視線移動を検出するための具体的なアルゴリズムは限定されず、任意の技術が用いられてよい。また任意の機械学習アルゴリズムが用いられてもよい。
 ユーザ1が移動している、又はユーザ1の視線が移動しているか否かが判定される(ステップ305)。ユーザ1が移動していない、かつ、ユーザ1の視線も移動していない場合はステップ305のNOとなり、ステップ301に戻る。
 ユーザ1が移動している、あるいはユーザ1の視線が移動している場合は、ステップ305のYESとなり、ステップ306に進む。ステップ306では、仮想オブジェクト7の表示位置が更新され、仮想オブジェクト7の描画が実行される。もちろん、最終推定位置P2が変わっていない状態では、仮想オブジェクト7の表示位置も変わらない。
 このように図10に示す更新では、ユーザ1が移動しておらず静止している、かつ、ユーザ1の視線が移動していない状態では、仮想オブジェクト7の表示位置の変更が規制される。そして、ユーザ1が移動している間、又はユーザ1の視線が移動している間に、仮想オブジェクト7の表示位置が変更される。
 例えば、ユーザ1が、図11に示す状態から視線を動かすことなく、静止した状態で仮想オブジェクト7を見続けたとする。その間カメラベース推定位置が算出され、その信頼度は増加していく。従って、図8に示すステップ106にて、実オブジェクト80の最終推定位置P2が更新され、実際の位置P1に近づいていく。しかしながら仮想オブジェクト7の表示位置は更新されず、図11に示す状態から仮想オブジェクト7は動かない。
 一方、ユーザ1が、図11に示す状態から視線を左に動かし、図12及び図13に示すように、実オブジェクト80を視野の中央に移動させたとする。その間カメラベース推定位置が算出され、その信頼度は増加していく。従って、図8に示すステップ106にて、実オブジェクト80の最終推定位置P2が更新され、実際の位置P1に近づいていく。
 AR表現制御部55は、ユーザ1の視線の動きに基づいて、仮想オブジェクト7の表示位置を変更する。この結果、図11~図13に示すように、ユーザ1が視線を動かしている間に、仮想オブジェクト7が実オブジェクト80の中央に移動する。
 ユーザ1が視線を動かすことなく、静止した状態で仮想オブジェクト7を見ている状態で、仮想オブジェクト7の表示位置が更新されると、仮想オブジェクト7が動いているのか位置修正が行われているのかわからず、ユーザ1に不自然さを感じさせてしまう可能性がある。
 従って図10に例示するように、ユーザ1の移動及び視線移動がない場合には、最終推定位置P2が変更されたとしても、仮想オブジェクト7の表示位置は移動させない。そして、ユーザ1の移動又は視線移動がある場合に、仮想オブジェクト7の表示位置を変更させる。ユーザ1が動いている又は視線移動している場合には、仮想オブジェクト7が若干動いたとしても不自然さを感じにくい。従って、図11~図13に示すように、仮想オブジェクト7を自然に移動させることが可能となる。
 以上、本実施形態に係るAR提供システム100では、撮影画像に基づいて算出された実オブジェクト80のカメラベース推定位置と、実空間に出力されるビーコン信号5に基づいて算出された実オブジェクト80の電波ベース推定位置とに基づいて、実オブジェクト80に関連する仮想コンテンツの表現に用いられる基準位置として、最終推定位置P2が算出される。これにより、高品質な仮想体験を提供することが可能となる。
 ARにおいては、実オブジェクトに対して、テキスト、アイコン、またはアニメーション等の様々な態様の仮想的なコンテンツ(仮想オブジェクト)を重畳してユーザに提示することが可能となる。実オブジェクトに仮想オブジェクトを重畳させる場合にはぴったり重畳させなければ不自然なってしまうため、位置特定の精度が必要となる。
 一方、ARに関しては視覚だけではなく、聴覚を使ってARを表現する方法もある。視野外のARオブジェクトが音を発することによって、そちらの方向に実オブジェクトが存在するということを示すといった利用も考えられる。また、視野外の音に対しては視野内に実オブジェクトが存在するときに比べて位置精度はそこまで必要はない場合が多い。
 例えば、画像認識を使った位置推定では、一度視野に入れて実オブジェクトの位置を測定する必要がある。従って音がする方向を向かせたいといった場合に、予めその方向を視野に入れて貰うというのは不自然さがあり、音のARを考えた場合には画像認識以外の方法が必要となる。
 本実施形態にかかるAR提供システム100では、以下の効果が発揮可能である。
 視野外の実オブジェクト80の位置測定では、電波等の出力波を利用することにより、視野外の実オブジェクト80に対しても位置を特定することができる。
 視野内の位置測定には電波等の出力波を用いた位置測定よりも精度が高い画像認識を使うことによって、高精度の位置測定が可能となる。
 電波ベース推定位置及びカメラベース推定位置の両方を算出可能であるので、状況によって最適な位置測定の方法を、適宜切り替えることが可能となる。
 電波ベースの位置認識からカメラベースへの位置認識の遷移の際には、お互いの信頼度を使うことにより、実オブジェクト80の位置を徐々に切り替えることが可能となり、不自然さを軽減させるができる。
 アプリケーション内にて、実オブジェクト80の位置を特定して記憶しておく必要がないので、負荷の軽減を図ることが可能である。
 実オブジェクトの位置を特定するための、絶対位置がわかる他の機器等を配置する必要がなくなり、コストの軽減を図ることが可能である。
 カメラベースの位置認識を実行せずとも、実オブジェクト80の位置を算出可能であり、AR音を出力することが可能となる。
 画像認識が効かない状況でも、実オブジェクト80の位置特定が可能である。
 電波ベースの位置認識の結果を利用することで、カメラベースの認識対象範囲(例えばマッチング処理を実行する対象となる画像の範囲)を絞ることができ、負荷の軽減や精度の向上、認識の高速化も可能である。
 <その他の実施形態>
 本技術は、以上説明した実施形態に限定されず、他の種々の実施形態を実現することができる。
 図14は、環境用認識DB作成部の構成例を示すブロック図である。図15は、環境認識DB作成部の処理例を示すフローチャートである。
 例えば、図3に示すコントローラ50により、図14に示す環境用認識DB作成部90が構成実現される。環境用認識DB作成部90は、カメラベース位置推定部53により用いられるモデル画像を新たに作成することが可能である。例えば、HMD10を屋外で利用する場合の環境変化に対応するために、その場、その時の状況の実オブジェクト80を撮影することによって、屋外環境でも高い認識精度が発揮可能なモデル画像が作成される。
 例えば記憶部40に、認識DB42とは別に、環境用認識DBが構築される。環境用認識DB作成部90により作成されるモデル画像は、環境用認識DBに格納される。環境用認識DBは、様々な環境に対応可能なように随時更新される。もちろん、2つの認識DBが区別されて構築される場合に限定される訳ではない。
 本実施形態において、環境用認識DB作成部90は、撮影画像に基づいてモデル画像を生成するモデル画像生成部に相当する。以下、環境用認識DB作成部90により作成されるモデル画像を、環境用モデル画像と記載する場合がある。
 典型的には、環境用モデル画像は、電波ベース推定位置は視野内であるが、撮影画像から実オブジェクト80が検出されず、カメラベース推定位置が算出できない場合に作成される。これにより、強烈な夕日に照らされている状態等の、実オブジェクト80の検出が難しい環境においても、高精度に実オブジェクト80が検出可能となる環境用モデル画像を作成することが可能となる。
 なお、撮影画像から実オブジェクト80が検出可能であり、カメラベース推定位置が算出可能であるが、信頼度が極端に低い場合等に、環境用モデル画像の作成が実行されてもよい。
 図15に示すように、ユーザ1の視野内に実オブジェクト80が含まれているか否かが監視される(ステップ401)。例えば、電波ベース推定位置が視野内であるか否かが判定される。この際に、電波ベース推定位置の信頼度が判定に用いられてもよい。例えば電波ベース推定位置が視野内に含まれており、かつ電波ベース推定位置の信頼度が所定の閾値より大きい場合に、視野内に実オブジェクト80が含まれていると判定されてもよい。
 視野内に実オブジェクト80が含まれる場合(ステップ401のYES)、視野を含む実空間が撮影され、撮影画像が生成される(ステップ402)。撮影画像は、環境用認識DB作成部90の形状認識部91に出力される。
 形状認識部91は、撮影画像から、実オブジェクト80の形状を抽出可能か否か判定する(ステップ403)。実オブジェクト80の形状が抽出できない場合は(ステップ403のNO)、ステップ402に戻り、再び実空間が撮影される。
 実オブジェクト80の形状が抽出できる合は(ステップ403のYES)、撮影画像から実オブジェクト80の画像が抽出され、環境用モデル画像が生成される(ステップ404)。環境用モデル画像に、IDや撮影環境の情報(天候や日時等)等が関連付けられ、環境用認識DB用のデータとして生成される(ステップ405)。生成された環境用認識DB用のデータは、環境用認識DBに登録される(ステップ406)。
 環境用認識DBを構築することで、予め実オブジェクト80の認識DBが準備されていない場合でも、本AR提供システム100を動作させることが可能である。環境用認識DB作成部90により作成される環境用モデル画像を用いて、カメラベース推定位置及び信頼度を算出することが可能である。
 また、実オブジェクト80を、ビーコン信号5を出力可能な他の代替物へ置き換えることも可能である。代替物を使う場合、予め代替物のテンプレートを複数保持しており、環境用認識DBでの環境用モデル画像に含まれる実オブジェクトの形状ともっとも近いテンプレートを利用する。また、テンプレート同士は予め対になる点が決められているが、SDK(Software Development Kit)などで予め編集可能としてもよい。
 例えば、びっくり箱のように箱の真ん中から仮想オブジェクトが飛び出すといったAR表現を実行したい場合は、箱の中心を知る必要がある。本技術においてはテンプレートと比較してイベント発火のポイントを変更可能でるので、代替物を使ったとしても実オブジェクトの中心からAR表現のイベントを発火することが可能である。
 上記では、実オブジェクト80により出力される出力波として、ビーコン信号を例に挙げた。これに限定されず、WiFi電波等の他の電波が出力波として用いられてもよい。例えば受信側にWiFiモジュール等を搭載しておけば、電波強度に基づいて、実オブジェクトまでの距離を算出することが可能である。また出力波として、音波等が用いられてもよい。例えば、受信側にマイク等を搭載することで、音波に基づいて、実オブジェクトまでの距離を算出することが可能である。またビーコン信号として、BLEビーコンとは異なるビーコン信号が用いられてもよい。
 出力波として音波が用いられる場合、音波に基づいて算出された実オブジェクトまでの距離に基づいて、マップデータ内における実オブジェクトの位置が推定される。この推定された実オブジェクトの位置は、音波ベース推定位置と言える。音波ベース推定位置は、出力波ベース推定位置に含まれる概念である。
 上記では、実オブジェクトが移動しない場合を例に挙げた。これに限定されず、実オブジェクトが移動する場合でも、本技術は適用可能である。例えばHMDを使用するユーザが複数いれば、実オブジェクトから出力される出力波に基づいて、動いている実オブジェクトの位置を推定することが可能である。あるいは、マップデータ上の絶対位置が固定されて移動しない機器であり、サーバ装置と通信する機能と出力波を出力する機能とを有する装置を別途準備すれば、移動する実オブジェクトに対しても位置を推定することが可能である。
 図6に示すサーバ装置60の機能が、HMD10に搭載されてもよい。この場合、HMD10は、他のHMD10(他の装置)が出力波に基づいて算出した他のHMD10から実オブジェクト(実物体)までの距離に関する情報を受信する。そして、受信した他のHMD10から実オブジェクトかでの距離に関する情報に基づいて、実オブジェクトが存在する可能性のある候補範囲を算出することが可能となる。
 なお、他のHMD10から実オブジェクトまでの距離に関する情報とは、例えば他のHMD10から実オブジェクトまでの距離である。あるいは、他のHMD10が算出した候補範囲の情報が、他のHMD10から実オブジェクトまでの距離に関する情報として用いられてもよい。
 上記では、空間S1のマップデータが事前に保持されている場合を例に挙げた。これに限定されず、リアルタイムでマップデータが更新・作成・取得されてもよい。
 ビデオシースルー型のHMDが用いられる場合にも、本技術は適用可能である。またユーザの頭部に装着されるHMD等のデバイスに限定されず、例えばスマートフォン、タブレット端末、及びPC(Personal Computer)等を用いたAR表現にも、本技術は適用可能である。
 上記では、本技術に係る情報処理装置の一実施形態として、HMDを例に挙げた。しかしながら、HMDとは別に構成され、有線又は無線を介してHMDに接続される任意のコンピュータにより、本技術に係る情報処理装置が実現されてもよい。例えばクラウドサーバにより、本技術に係る情報処理方法が実行されてもよい。あるいはHMDと他のコンピュータとが連動して、本技術に係る情報処理方法が実行されてもよい。
 すなわち本技術に係る情報処理方法、及びプログラムは、単体のコンピュータにより構成されたコンピュータシステムのみならず、複数のコンピュータが連動して動作するコンピュータシステムにおいても実行可能である。なお本開示において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれもシステムである。
 コンピュータシステムによる本技術に係る情報処理方法、及びプログラムの実行は、例えばカメラベース推定位置及び信頼度の算出、非カメラベース推定位置及び信頼度の算出、仮想コンテンツの表現の制御等が、単体のコンピュータにより実行される場合、及び各処理が異なるコンピュータにより実行される場合の両方を含む。また所定のコンピュータによる各処理の実行は、当該処理の一部または全部を他のコンピュータに実行させその結果を取得することを含む。
 すなわち本技術に係る情報処理方法及びプログラムは、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成にも適用することが可能である。
 各図面を参照して説明した情報処理装置(HMD)、サーバ装置、実オブジェクト、仮想オブジェクト、情報処理装置の各処理フロー等はあくまで一実施形態であり、本技術の趣旨を逸脱しない範囲で、任意に変形可能である。すなわち本技術を実施するための他の任意の構成やアルゴリズム等が採用されてよい。
 以上説明した本技術に係る特徴部分のうち、少なくとも2つの特徴部分を組み合わせることも可能である。すなわち各実施形態で説明した種々の特徴部分は、各実施形態の区別なく、任意に組み合わされてもよい。また上記で記載した種々の効果は、あくまで例示であって限定されるものではなく、また他の効果が発揮されてもよい。
 なお、本技術は以下のような構成も採ることができる。
(1)実物体が存在する実空間の撮影画像に基づいて決定された前記実物体の位置を示すカメラベース推定位置を取得する第1の取得部と、
 前記実物体に対応した位置から前記実空間に出力される出力波に基づいて決定された前記実物体の位置を示す出力波ベース推定位置を取得する第2の取得部と、
 前記カメラベース推定位置及び前記出力波ベース推定位置に基づいて、前記実物体に関連する仮想コンテンツの表現に用いられる基準位置を決定する決定部と
 を具備する情報処理装置。
(2)(1)に記載の情報処理装置であって、
 前記決定部は、前記基準位置として、前記実物体の最終推定位置を決定する
 情報処理装置。
(3)(1)又は(2)に記載の情報処理装置であって、
 前記出力波は、電波、及び音波の少なくとも1つを含む
 情報処理装置。
(4)(1)から(3)のうちいずれか1つに記載の情報処理装置であって、
 前記第1の取得部は、前記カメラベース推定位置に関連する第1の信頼度を取得し、
 前記第2の取得部は、前記出力波ベース推定位置に関連する第2の信頼度を取得し、
 前記決定部は、前記第1の信頼度及び前記第2の信頼度に基づいて、前記基準位置を決定する
 情報処理装置。
(5)(4)に記載の情報処理装置であって、
 前記決定部は、前記第1の信頼度が所定の閾値より大きい場合、前記カメラベース推定位置を前記基準位置として決定する
 情報処理装置。
(6)(1)から(5)のうちいずれか1つに記載の情報処理装置であって、さらに、
 前記基準位置に基づいて、前記仮想コンテンツの表現を制御する表現制御部を具備する
を具備する
 情報処理装置。
(7)(6)に記載の情報処理装置であって、
 前記表現制御部は、前記実物体に関連する仮想物体の表示を制御する
 情報処理装置。
(8)(7)に記載の情報処理装置であって、
 前記表現制御部は、前記仮想物体の表示位置を制御する
 情報処理装置。
(9)(8)に記載の情報処理装置であって、
 前記表現制御部は、ユーザの移動又はユーザの視線の移動が検出されたことに基づき、ユーザが移動している間、又はユーザの視線が移動している間に、前記仮想物体の表示位置を変更する
 情報処理装置。
(10)(6)から(9)のうちいずれか1つに記載の情報処理装置であって、
 前記表現制御部は、前記実物体に関連する仮想的な音源からの音声の出力を制御する
 情報処理装置。
(11)(10)に記載の情報処理装置であって、
 前記表現制御部は、前記仮想的な音源の位置を制御する
 情報処理装置。
(12)(1)から(11)のうちいずれか1つに記載の情報処理装置であって、さらに、
 前記撮影画像に基づいて前記カメラベース推定位置を推定する第1の推定部と、
 前記出力波に基づいて前記出力波ベース推定位置を推定する第2の推定部と
 を具備する情報処理装置。
(13)(12)に記載の情報処理装置であって、
 前記第1の推定部は、前記撮影画像に対する前記実物体のモデル画像のマッチング処理の結果に基づいて、前記第1の信頼度を算出する
 情報処理装置。
(14)(12)又は(13)に記載の情報処理装置であって、
 前記第2の推定部は、前記出力波に基づいて前記実物体までの距離を算出し、算出された前記距離に基づいて前記実物体が存在する可能性のある候補範囲を算出し、算出された前記候補範囲に含まれる位置を前記出力波ベース推定位置として推定する
 情報処理装置。
(15)(14)に記載の情報処理装置であって、
 前記第2の推定部は、算出された前記候補範囲の大きさに基づいて、前記第2の信頼度を算出する
 情報処理装置。
(16)(13)から(15)のうちいずれか1つに記載の情報処理装置であって、
 前記第2の推定部は、他の装置が前記出力波に基づいて算出した前記他の装置から前記実物体までの距離に関する情報を受信し、受信した前記他の装置から前記実物体までの距離に関する情報に基づいて、前記候補範囲を算出する
 情報処理装置。
(17)(1)から(16)のうちいずれか1つに記載の情報処理装置であって、
 HMD(Head Mounted Display)として構成されている
 情報処理装置。
(18)(13)に記載の情報処理装置であって、さらに、
 前記撮影画像に基づいて前記モデル画像を生成するモデル画像生成部を具備する
 情報処理装置。
(19)実物体が存在する実空間の撮影画像に基づいて決定された前記実物体の位置を示すカメラベース推定位置を取得し、
 前記実物体に対応した位置から前記実空間に出力される出力波に基づいて決定された前記実物体の位置を示す出力波ベース推定位置を取得し、
 前記カメラベース推定位置及び前記出力波ベース推定位置に基づいて、前記実物体に関連する仮想コンテンツの表現に用いられる基準位置を決定する
 ことをコンピュータシステムが実行する情報処理方法。
(20)実物体が存在する実空間の撮影画像に基づいて決定された前記実物体の位置を示すカメラベース推定位置を取得するステップと、
 前記実物体に対応した位置から前記実空間に出力される出力波に基づいて決定された前記実物体の位置を示す出力波ベース推定位置を取得するステップと、
 前記カメラベース推定位置及び前記出力波ベース推定位置に基づいて、前記実物体に関連する仮想コンテンツの表現に用いられる基準位置を決定するステップと
 をコンピュータシステムに実行させるプログラム。
 P2…最終推定位置
 1…ユーザ
 5…ビーコン信号
 7…仮想オブジェク
 10…HMD
 13…透過型ディスプレイ
 15…外向きカメラ
 20…スピーカー
 42…認識DB
 50…コントローラ
 51…自己位置推定部
 52…実オブジェクト距離推定部
 53…カメラベース位置推定部
 54…実オブジェクト位置推定部
 55…AR表現制御部
 58…信頼度判定部
 60…サーバ装置
 61…電波ベース位置推定部
 62…信頼度判定部
 80…実オブジェクト
 81…BLEビーコン出力部
 90…環境用認識DB作成部
 100…AR提供システム

Claims (20)

  1.  実物体が存在する実空間の撮影画像に基づいて決定された前記実物体の位置を示すカメラベース推定位置を取得する第1の取得部と、
     前記実物体に対応した位置から前記実空間に出力される出力波に基づいて決定された前記実物体の位置を示す出力波ベース推定位置を取得する第2の取得部と、
     前記カメラベース推定位置及び前記出力波ベース推定位置に基づいて、前記実物体に関連する仮想コンテンツの表現に用いられる基準位置を決定する決定部と
     を具備する情報処理装置。
  2.  請求項1に記載の情報処理装置であって、
     前記決定部は、前記基準位置として、前記実物体の最終推定位置を決定する
     情報処理装置。
  3.  請求項1に記載の情報処理装置であって、
     前記出力波は、電波、及び音波の少なくとも1つを含む
     情報処理装置。
  4.  請求項1に記載の情報処理装置であって、
     前記第1の取得部は、前記カメラベース推定位置に関連する第1の信頼度を取得し、
     前記第2の取得部は、前記出力波ベース推定位置に関連する第2の信頼度を取得し、
     前記決定部は、前記第1の信頼度及び前記第2の信頼度に基づいて、前記基準位置を決定する
     情報処理装置。
  5.  請求項4に記載の情報処理装置であって、
     前記決定部は、前記第1の信頼度が所定の閾値より大きい場合、前記カメラベース推定位置を前記基準位置として決定する
     情報処理装置。
  6.  請求項1に記載の情報処理装置であって、さらに、
     前記基準位置に基づいて、前記仮想コンテンツの表現を制御する表現制御部を具備する
     情報処理装置。
  7.  請求項6に記載の情報処理装置であって、
     前記表現制御部は、前記実物体に関連する仮想物体の表示を制御する
     情報処理装置。
  8.  請求項7に記載の情報処理装置であって、
     前記表現制御部は、前記仮想物体の表示位置を制御する
     情報処理装置。
  9.  請求項8に記載の情報処理装置であって、
     前記表現制御部は、ユーザの移動又はユーザの視線の移動が検出されたことに基づき、ユーザが移動している間、又はユーザの視線が移動している間に、前記仮想物体の表示位置を変更する
     情報処理装置。
  10.  請求項6に記載の情報処理装置であって、
     前記表現制御部は、前記実物体に関連する仮想的な音源からの音声の出力を制御する
     情報処理装置。
  11.  請求項10に記載の情報処理装置であって、
     前記表現制御部は、前記仮想的な音源の位置を制御する
     情報処理装置。
  12.  請求項1に記載の情報処理装置であって、さらに、
     前記撮影画像に基づいて前記カメラベース推定位置を推定する第1の推定部と、
     前記出力波に基づいて前記出力波ベース推定位置を推定する第2の推定部と
     を具備する情報処理装置。
  13.  請求項12に記載の情報処理装置であって、
     前記第1の推定部は、前記撮影画像に対する前記実物体のモデル画像のマッチング処理の結果に基づいて、前記第1の信頼度を算出する
     情報処理装置。
  14.  請求項12に記載の情報処理装置であって、
     前記第2の推定部は、前記出力波に基づいて前記実物体までの距離を算出し、算出された前記距離に基づいて前記実物体が存在する可能性のある候補範囲を算出し、算出された前記候補範囲に含まれる位置を前記出力波ベース推定位置として推定する
     情報処理装置。
  15.  請求項14に記載の情報処理装置であって、
     前記第2の推定部は、前記候補範囲の大きさに基づいて、前記第2の信頼度を算出する
     情報処理装置。
  16.  請求項13に記載の情報処理装置であって、
     前記第2の推定部は、他の装置が前記出力波に基づいて算出した前記他の装置から前記実物体までの距離に関する情報を受信し、受信した前記他の装置から前記実物体までの距離に関する情報に基づいて、前記候補範囲を算出する
     情報処理装置。
  17.  請求項1に記載の情報処理装置であって、
     HMD(Head Mounted Display)として構成されている
     情報処理装置。
  18.  請求項13に記載の情報処理装置であって、さらに、
     前記撮影画像に基づいて前記モデル画像を生成するモデル画像生成部を具備する
     情報処理装置。
  19.  実物体が存在する実空間の撮影画像に基づいて決定された前記実物体の位置を示すカメラベース推定位置を取得し、
     前記実物体に対応した位置から前記実空間に出力される出力波に基づいて決定された前記実物体の位置を示す出力波ベース推定位置を取得し、
     前記カメラベース推定位置及び前記出力波ベース推定位置に基づいて、前記実物体に関連する仮想コンテンツの表現に用いられる基準位置を決定する
     ことをコンピュータシステムが実行する情報処理方法。
  20.  実物体が存在する実空間の撮影画像に基づいて決定された前記実物体の位置を示すカメラベース推定位置を取得するステップと、
     前記実物体に対応した位置から前記実空間に出力される出力波に基づいて決定された前記実物体の位置を示す出力波ベース推定位置を取得するステップと、
     前記カメラベース推定位置及び前記出力波ベース推定位置に基づいて、前記実物体に関連する仮想コンテンツの表現に用いられる基準位置を決定するステップと
     をコンピュータシステムに実行させるプログラム。
PCT/JP2019/030450 2018-08-29 2019-08-02 情報処理装置、情報処理方法、及びプログラム WO2020044949A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/250,679 US12039753B2 (en) 2018-08-29 2019-08-02 Information processing apparatus and information processing method
JP2020540188A JP7405083B2 (ja) 2018-08-29 2019-08-02 情報処理装置、情報処理方法、及びプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-160254 2018-08-29
JP2018160254 2018-08-29

Publications (1)

Publication Number Publication Date
WO2020044949A1 true WO2020044949A1 (ja) 2020-03-05

Family

ID=69643544

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/030450 WO2020044949A1 (ja) 2018-08-29 2019-08-02 情報処理装置、情報処理方法、及びプログラム

Country Status (3)

Country Link
US (1) US12039753B2 (ja)
JP (1) JP7405083B2 (ja)
WO (1) WO2020044949A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11475639B2 (en) 2020-01-03 2022-10-18 Meta Platforms Technologies, Llc Self presence in artificial reality
US11295503B1 (en) 2021-06-28 2022-04-05 Facebook Technologies, Llc Interactive avatars in artificial reality

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030095186A1 (en) * 1998-11-20 2003-05-22 Aman James A. Optimizations for live event, real-time, 3D object tracking
US20170187991A1 (en) * 2015-12-29 2017-06-29 General Electric Company Indoor positioning system using beacons and video analytics

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6967612B1 (en) * 2004-10-22 2005-11-22 Gorman John D System and method for standoff detection of human carried explosives
JP5724544B2 (ja) * 2011-03-31 2015-05-27 ソニー株式会社 画像処理装置、画像処理方法及びプログラム
JP6065370B2 (ja) * 2012-02-03 2017-01-25 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
JP2014149712A (ja) * 2013-02-01 2014-08-21 Sony Corp 情報処理装置、端末装置、情報処理方法及びプログラム
KR102246553B1 (ko) * 2014-04-24 2021-04-30 엘지전자 주식회사 Hmd 및 그 제어 방법
US10816658B2 (en) * 2016-09-07 2020-10-27 OmniPreSense Corporation Radar enabled weapon detection system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030095186A1 (en) * 1998-11-20 2003-05-22 Aman James A. Optimizations for live event, real-time, 3D object tracking
US20170187991A1 (en) * 2015-12-29 2017-06-29 General Electric Company Indoor positioning system using beacons and video analytics

Also Published As

Publication number Publication date
US20210312658A1 (en) 2021-10-07
JPWO2020044949A1 (ja) 2021-08-12
US12039753B2 (en) 2024-07-16
JP7405083B2 (ja) 2023-12-26

Similar Documents

Publication Publication Date Title
CN112926428B (zh) 使用合成图像训练对象检测算法的方法和系统和存储介质
US10725297B2 (en) Method and system for implementing a virtual representation of a physical environment using a virtual reality environment
EP3379525A1 (en) Image processing device and image generation method
US20180068489A1 (en) Server, user terminal device, and control method therefor
EP3847530B1 (en) Display device sharing and interactivity in simulated reality (sr)
JP6899875B2 (ja) 情報処理装置、映像表示システム、情報処理装置の制御方法、及びプログラム
CN103105926A (zh) 多传感器姿势识别
US20180219975A1 (en) Sharing Mediated Reality Content
US10277814B2 (en) Display control method and system for executing the display control method
CN104536579A (zh) 交互式三维实景与数字图像高速融合处理系统及处理方法
US11228737B2 (en) Output control apparatus, display terminal, remote control system, control method, and non-transitory computer-readable medium
KR102499354B1 (ko) 디스플레이를 통해 표시된 제 1 콘텐트에 대해 제 2 콘텐트를 외부 객체의 움직임에 따라 제공하기 위한 전자 장치 및 그의 동작 방법
US20220139084A1 (en) Tracking using sensors
US11709370B2 (en) Presentation of an enriched view of a physical setting
US11069137B2 (en) Rendering captions for media content
CN111602104A (zh) 用于与所识别的对象相关联地呈现合成现实内容的方法和设备
WO2020044949A1 (ja) 情報処理装置、情報処理方法、及びプログラム
US11699412B2 (en) Application programming interface for setting the prominence of user interface elements
US20220053179A1 (en) Information processing apparatus, information processing method, and program
US10796485B2 (en) Rendering objects in virtual views
WO2020071144A1 (ja) 情報処理装置、情報処理方法、及びプログラム
JP2023136238A (ja) 情報表示システム、情報表示方法、及びプログラム
WO2021131950A1 (ja) 情報処理装置、情報処理方法、及びプログラム
CN112578983A (zh) 手指取向触摸检测

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19853358

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020540188

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19853358

Country of ref document: EP

Kind code of ref document: A1