WO2019176020A1 - 位置推定装置、位置推定方法及びプログラム - Google Patents

位置推定装置、位置推定方法及びプログラム Download PDF

Info

Publication number
WO2019176020A1
WO2019176020A1 PCT/JP2018/010014 JP2018010014W WO2019176020A1 WO 2019176020 A1 WO2019176020 A1 WO 2019176020A1 JP 2018010014 W JP2018010014 W JP 2018010014W WO 2019176020 A1 WO2019176020 A1 WO 2019176020A1
Authority
WO
WIPO (PCT)
Prior art keywords
estimation result
tracker
speed information
estimation
unit
Prior art date
Application number
PCT/JP2018/010014
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 PCT/JP2018/010014 priority Critical patent/WO2019176020A1/ja
Priority to JP2020506121A priority patent/JP7038798B2/ja
Priority to PCT/JP2018/037357 priority patent/WO2019176150A1/ja
Priority to US16/977,440 priority patent/US11402897B2/en
Publication of WO2019176020A1 publication Critical patent/WO2019176020A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B21/00Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • G06T2207/10021Stereoscopic video; Stereoscopic image sequence

Definitions

  • the present invention relates to a position estimation device, a position estimation method, and a program.
  • a technique for estimating the position of a tracker worn by a user on a body such as a head is known.
  • the position of the tracker is estimated on the basis of measurement results obtained by sensors such as a camera, an inertial sensor (IMU), a geomagnetic sensor (orientation sensor), a motion sensor, and a GPS (Global Positioning System) module.
  • sensors such as a camera, an inertial sensor (IMU), a geomagnetic sensor (orientation sensor), a motion sensor, and a GPS (Global Positioning System) module.
  • the SLAM (Simultaneous Localization and Mapping) technology is known as an example of a tracker position estimation technology using a camera.
  • feature point data including a plurality of feature points is generated based on sensing data acquired by the tracker, such as an image taken by a camera included in the tracker. Then, based on the comparison result between the generated feature point data and the environment map that is a point cloud stored in advance, the position or orientation of the tracker is estimated and the environment map is updated.
  • the estimation accuracy increases as the time from the start of measurement due to the accumulation of errors due to double integration. Is getting worse.
  • the present invention has been made in view of the above problems, and one of its purposes is to provide a position estimation device, a position estimation method, and a program capable of accurately estimating the position of a tracker while reducing power consumption. is there.
  • a position estimation device includes an estimation result storage unit that stores an estimation result of a position of a tracker, and acceleration data indicating the acceleration of the tracker from a sensor that detects the acceleration of the tracker.
  • An acceleration data acquisition unit that repeatedly acquires, an estimation result update unit that updates the estimation result based on the estimation result of the position of the tracker stored in the estimation result storage unit and the acquired latest acceleration data
  • a speed information acquisition unit that acquires speed information of the tracker, and the estimation result update unit, when the speed information is acquired by the speed information acquisition unit, Based on the acquired latest acceleration data, the estimation result of the position of the tracker stored in the estimation result storage unit is updated.
  • the speed information acquisition unit acquires the two images from a camera that captures two images at each sequentially-captured shooting timing
  • the estimation result update unit includes the speed information
  • the estimation result storage unit is based on the tracker speed estimated based on the two images and the latest acceleration data acquired.
  • the tracker position estimation result stored in (1) is updated.
  • the estimation result update unit when the two images are acquired by the speed information acquisition unit, is estimated based on at least one of the two images.
  • the tracker position estimation result stored in the estimation result storage unit may be updated based on the position and the latest acquired acceleration data.
  • the speed information acquisition unit determines the reliability of the speed information acquired by the speed information acquisition unit, and the speed information acquisition unit per unit time based on the reliability.
  • An acquisition control unit for controlling the number of times of acquiring the speed information;
  • the position estimation method includes an acceleration data acquisition step for repeatedly acquiring acceleration data indicating the acceleration of the tracker from a sensor that detects the acceleration of the tracker, and an estimation result storage unit that stores the estimation result of the position of the tracker
  • An estimation result update step for updating the estimation result based on the estimation result of the position of the tracker stored in the memory and the latest acceleration data acquired, and speed information acquisition for acquiring speed information of the tracker
  • speed information acquisition for acquiring speed information of the tracker
  • the program according to the present invention is stored in an acceleration data acquisition procedure for repeatedly acquiring acceleration data indicating the acceleration of the tracker from a sensor that detects the acceleration of the tracker, and an estimation result storage unit that stores an estimation result of the position of the tracker.
  • An estimation result update procedure for updating the estimation result based on the estimation result of the position of the tracker and the latest acceleration data acquired, and a speed information acquisition procedure for acquiring the speed information of the tracker
  • the estimation result is based on the speed information and the latest acceleration data acquired.
  • the tracker position estimation result stored in the storage unit is updated.
  • FIG. 1 is a configuration diagram showing an example of an entertainment system 10 according to an embodiment of the present invention.
  • the entertainment system 10 includes a tracker 12, an entertainment device 14, a relay device 16, a display 18, and a camera microphone unit 20.
  • the tracker 12 is a device that tracks the position and orientation of the user wearing the tracker 12, for example.
  • FIG. 1 shows a head-mounted display (HMD) as an example of the tracker 12.
  • HMD head-mounted display
  • the tracker 12 includes a processor 30, a storage unit 32, a communication unit 34, an input / output unit 36, a display unit 38, a sensor unit 40, and an audio output unit 42.
  • the processor 30 is a program control device such as a microprocessor that operates according to a program installed in the tracker 12, for example.
  • the storage unit 32 is, for example, a storage element such as a ROM or a RAM.
  • the storage unit 32 stores a program executed by the processor 30 and the like.
  • the communication unit 34 is a communication interface such as a wireless LAN module.
  • the input / output unit 36 is an input / output port such as an HDMI (registered trademark) (High-Definition Multimedia Interface) port, a USB port, an AUX port, or the like.
  • HDMI registered trademark
  • AUX AUX port
  • the display unit 38 is a display such as a liquid crystal display or an organic EL display disposed on the front side of the tracker 12.
  • the display unit 38 is housed in the housing of the tracker 12.
  • the display unit 38 according to the present embodiment can display a three-dimensional image by displaying a left-eye image and a right-eye image, for example.
  • the display unit 38 may not be able to display a three-dimensional image and can only display a two-dimensional image.
  • the sensor unit 40 is a sensor such as a camera, an inertial sensor (IMU), a geomagnetic sensor (orientation sensor), or a GPS (Global Positioning System) module.
  • the camera included in the sensor unit 40 captures an image at a predetermined frame rate, for example.
  • the geomagnetic sensor included in the sensor unit 40 outputs data indicating the direction in which the tracker 12 is directed to the processor 30 at a predetermined frame rate.
  • the inertial sensor included in the sensor unit 40 outputs data indicating the acceleration, angular velocity, and the like of the tracker 12 to the processor 30 at a predetermined frame rate.
  • the GPS module included in the sensor unit 40 outputs data indicating the latitude and longitude of the tracker 12 to the processor 30 at a predetermined frame rate.
  • the sound output unit 42 is, for example, a headphone or a speaker, and outputs sound represented by the sound data.
  • the entertainment device 14 is a computer such as a game console, a DVD player, a Blu-ray (registered trademark) player, or the like.
  • the entertainment device 14 according to the present embodiment generates video and audio by executing a game program, reproducing content, or the like, which is stored or recorded on an optical disc, for example. Then, the entertainment device 14 according to the present embodiment outputs a video signal representing the generated video and an audio signal representing the generated audio to the display 18 via the relay device 16.
  • the entertainment apparatus 14 according to the present embodiment includes, for example, a processor, a storage element such as a ROM or a RAM, a hard disk drive, a communication interface such as a wireless LAN module, an input / output port, and the like.
  • the relay device 16 is a computer that relays video signals and audio signals output from the entertainment device 14 and outputs them to the display 18.
  • the display 18 is, for example, a liquid crystal display, and displays a video or the like represented by a video signal output from the entertainment device 14.
  • the camera microphone unit 20 includes, for example, a camera 20a that outputs an image obtained by imaging a subject to the entertainment device 14, and a microphone that acquires surrounding audio, converts the audio to audio data, and outputs the audio data to the entertainment device 14. 20b is included.
  • the camera 20a according to this embodiment is a stereo camera.
  • the tracker 12 and the relay device 16 can transmit and receive data wirelessly.
  • the entertainment device 14 and the relay device 16 are connected via, for example, an HDMI cable or a USB cable, and data can be transmitted and received between them.
  • the relay device 16 and the display 18 are connected via, for example, an HDMI cable.
  • the entertainment apparatus 14 and the camera microphone unit 20 are connected via, for example, an AUX cable.
  • a game program when executed by the entertainment device 14, various processes such as a game process corresponding to the position, posture, movement, and the like of the tracker 12 are executed.
  • An image corresponding to the result of the processing is displayed on the display 18 or the display unit 38, for example.
  • the position of the tracker 12 is estimated based on the image captured by the camera included in the sensor unit 40 of the tracker 12 and the acceleration of the tracker 12 measured by the inertial sensor included in the sensor unit 40.
  • FIG. 3 is a diagram illustrating an example of a relationship between estimated basic data serving as a basis for estimating the position of the tracker 12 and estimated result data indicating an estimated result based on the estimated basic data.
  • the position of the tracker 12 is estimated every 8 milliseconds.
  • acceleration measurement by the inertial sensor included in the sensor unit 40 is also performed every 8 milliseconds.
  • the initial value of the position of the tracker 12 is represented by x0 and the initial value of the speed is represented by v0.
  • a value indicating the position estimation result when the elapsed time from the estimation start is t milliseconds is expressed as x (t)
  • a value indicating the speed estimation result is expressed as v (t).
  • a value indicating the measurement result of acceleration by the inertial sensor when the elapsed time from the start of estimation is t is expressed as a (t).
  • estimation basic data including a combination of value x0, value v0, and value a (8) is associated with estimation result data including a combination of value x (8) and value v (8). It is shown. This means that estimation result data including a combination of the value x (8) and the value v (8) is generated based on the estimation basic data including the combination of the value x0, the value v0, and the value a (8). Means that.
  • the value x (8) indicating the position and the value v (8) indicating the speed are unique based on the value x0 indicating the position, the value v0 indicating the speed, and the value a (8) indicating the acceleration. Can be specified. In this embodiment, the estimation result data generated in this way is retained.
  • estimation result data including a combination of the value x (16) and the value v (16) is generated.
  • the value x (16) indicating the position and the value v indicating the speed based on the value x (8) indicating the position, the value v (8) indicating the speed, and the value a (16) indicating the acceleration. (16) can be uniquely identified.
  • the value x ( The estimation result data including the combination of 32) and the value v (32) is generated.
  • a value x (32) indicating the position and a value v indicating the speed based on the value x (16) indicating the position, the value v (16) indicating the speed, and the value a (32) indicating the acceleration. (32) can be uniquely identified.
  • estimation result data generated by estimation at a certain timing is used as estimation basic data in estimation at the next timing.
  • the camera included in the sensor unit 40 captures two images at each capturing timing that arrives sequentially.
  • the photographing timing arrives at intervals of 1 second (1000 milliseconds).
  • the camera takes two images at intervals of 8 milliseconds.
  • the shooting timing is a timing at which the elapsed time from the estimation start is 1000 milliseconds.
  • the camera included in the sensor unit 40 captures an image one by one.
  • the tracker 12 uses the SLAM (Simultaneous Localization and Mapping) technology to capture the shot image. Position and velocity are estimated. When the position and velocity of the tracker 12 based on such an image are estimated, the estimation result of the position and velocity of the tracker 12 based on the image is used as the estimation basic data instead of the estimation result data held. Used as SLAM (Simultaneous Localization and Mapping) technology to capture the shot image. Position and velocity are estimated. When the position and velocity of the tracker 12 based on such an image are estimated, the estimation result of the position and velocity of the tracker 12 based on the image is used as the estimation basic data instead of the estimation result data held. Used as SLAM (Simultaneous Localization and Mapping) technology to capture the shot image. Position and velocity are estimated. When the position and velocity of the tracker 12 based on such an image are estimated, the estimation result of the position and velocity of the tracker 12 based on the image is used as the estimation basic data instead of the estimation result data
  • a value indicating the estimation result of the position of the tracker 12 based on an image taken at a timing when the elapsed time from the start of estimation is t milliseconds is indicated by xp (t). Further, a value indicating an estimation result of the position of the tracker 12 based on an image captured at a timing when the elapsed time from the estimation start is (t ⁇ 8) milliseconds and an image captured at a timing of t milliseconds. It is indicated by vp (t).
  • the value x (1008) and the value v ( 1008) is generated as a result of the estimation.
  • the value xp (1000) instead of the value x (1000) included in the held estimation result data, the value xp (1000) indicating the position estimation result based on the image is included in the estimation basic data.
  • a value x (1008) indicating a position and a value v indicating a speed based on a value xp (1000) indicating a position, a value v (1000) indicating a speed, and a value a (1008) indicating an acceleration. (1008) can be uniquely identified.
  • estimation result data including a combination of value x (1008), value vp (1008), and value a (1016) is generated. Is done.
  • the value vp (1008) indicating the speed estimation result based on the image is included in the estimation basic data. Note that a value x (1016) indicating a position and a value v indicating a speed are based on a value x (1008) indicating a position, a value vp (1008) indicating a speed, and a value a (1016) indicating an acceleration. (1016) can be uniquely identified.
  • the estimation result data including is generated. Further, based on the estimation basic data including the combination of the value x (2008), the value vp (2008), and the value a (2008), the estimation result data including the combination of the value x (1016) and the value v (1016) is obtained. Generated.
  • a value x (2008) indicating a position can be uniquely identified. Further, based on a value x (2008) indicating a position, a value vp (2008) indicating a speed, and a value a (2016) indicating an acceleration, a value x (2016) indicating a position, and a value v ( 2016) can be uniquely identified.
  • the position and velocity estimation results and the acceleration measurement results may be values expressed by, for example, three-dimensional coordinate values.
  • the position and speed of the tracker 12 may be estimated based on the acceleration measurement result by the inertial sensor at a time interval shorter than the 8 millisecond interval.
  • the position and speed of the tracker 12 may be estimated based on the acceleration measurement result by the inertial sensor at intervals of 2 milliseconds.
  • the timing at which the position estimation result based on the image is used as the estimation basic data and the timing at which the speed estimation result based on the image is used as the estimation basic data may be the same.
  • xp (1008) be a value indicating a position estimation result based on an image taken at a timing when the elapsed time from the start of estimation is 1008 milliseconds.
  • the combination of the value x (1016) and the value v (1016) is included based on the estimated basic data including the combination of the value xp (1008), the value vp (1008), and the value a (1016).
  • Estimation result data may be generated.
  • the estimation accuracy deteriorates as time passes from the start of measurement due to accumulation of errors due to double integration.
  • the position of the tracker 12 can be accurately estimated while reducing power consumption.
  • FIG. 4 is a functional block diagram showing an example of functions implemented by the tracker 12 according to the present embodiment. Note that the tracker 12 according to the present embodiment does not have to include all the functions illustrated in FIG. 4, and may include functions other than the functions illustrated in FIG. 4.
  • the tracker 12 functionally includes, for example, an estimation result storage unit 50, an acceleration data acquisition unit 52, a speed information acquisition unit 54, an estimation result update unit 56, an estimation result transmission unit 58, and reliability.
  • a determination unit 60 and an acquisition control unit 62 are included.
  • the estimation result storage unit 50 is mainly implemented by the storage unit 32.
  • the acceleration data acquisition unit 52, the speed information acquisition unit 54, and the acquisition control unit 62 are mainly implemented by the processor 30 and the sensor unit 40.
  • the estimation result update unit 56 and the reliability determination unit 60 are mainly implemented by the processor 30.
  • the estimation result transmission unit 58 is mainly implemented by the communication unit 34.
  • the above functions may be implemented by causing the processor 30 to execute a program installed on the tracker 12 that is a computer and including a command corresponding to the above functions.
  • This program may be supplied to the tracker 12 via a computer-readable information storage medium such as an optical disk, a magnetic disk, a magnetic tape, a magneto-optical disk, or a flash memory, or via the Internet.
  • the estimation result storage unit 50 stores, for example, the estimation result of the position of the tracker 12 in this embodiment.
  • the estimation result storage unit 50 may store an estimation result of the speed of the tracker 12.
  • the estimation result storage unit 50 may store the above estimation result data.
  • the acceleration data acquisition unit 52 repeatedly acquires acceleration data indicating the acceleration of the tracker 12 from a sensor that detects the acceleration of the tracker 12.
  • acceleration data is repeatedly acquired at intervals of 8 milliseconds.
  • the speed information acquisition unit 54 acquires speed information of the tracker 12, for example.
  • the speed information acquisition unit 54 may acquire the image from a camera that captures the image at each of the shooting timings that arrive sequentially.
  • the photographing timing may arrive every 1000 milliseconds.
  • the speed information acquisition unit 54 may generate speed information of the tracker 12 based on the difference between the two images and acquire the speed information.
  • the speed information acquired by the speed information acquisition unit 54 is not limited to information based on the difference between two images.
  • the speed information acquisition unit 54 may acquire a measurement result by a speed sensor using a laser or the like as information on the speed of the tracker 12.
  • the speed information acquisition unit 54 may estimate the speed of the tracker 12 based on image blurring that appears in an image captured by a camera with a long exposure time.
  • the speed information acquisition unit 54 may generate information indicating the speed and acquire the generated information.
  • the estimation result update unit 56 updates the estimation result based on the estimation result of the position of the tracker 12 stored in the estimation result storage unit 50 and the latest acceleration data acquired.
  • the estimation result update unit 56 may generate new estimation result data based on the estimation result data stored in the estimation result storage unit 50 and the acquired latest acceleration data. . Then, the estimation result update unit 56 may update the estimation result data stored in the estimation result storage unit 50 to the generated new estimation result data.
  • the estimation result update unit 56 may generate new estimation result data based on the speed information of the tracker 12 acquired by the speed information acquisition unit 54 and the acquired latest acceleration data. Good. Then, the estimation result update unit 56 may update the estimation result data stored in the estimation result storage unit 50 to the newly generated estimation result data.
  • the estimation result update unit 56 may estimate the position of the tracker 12 based on at least one of the two images acquired by the speed information acquisition unit 54. In the above example, the position of the tracker 12 is estimated using the SLAM technique. Then, the estimation result update unit 56 may generate new estimation result data based on the position of the tracker 12 estimated based on the image and the acquired latest acceleration data. Then, the estimation result update unit 56 may update the estimation result data stored in the estimation result storage unit 50 to the newly generated estimation result data.
  • the estimation result transmission unit 58 transmits the estimation result of the position of the tracker 12 to the entertainment device 14, for example.
  • the estimation result transmission unit 58 may transmit not only the estimation result of the position of the tracker 12 but also, for example, the estimation result of the speed of the tracker 12 or the measurement result of the acceleration of the tracker 12.
  • the entertainment device 14 may execute various processes such as a game process according to the received estimation result, or may display a video according to the result of the process on the display 18.
  • the reliability determination unit 60 determines the reliability of the speed information of the tracker 12 acquired by the speed information acquisition unit 54, for example. For example, when estimating the position of the tracker 12 using the SLAM technology, the reliability is determined to be higher when the image acquired by the speed information acquisition unit 54 can be matched with the environment map than when it cannot. May be. Further, for example, the reliability may be determined so that when the luminance of the image acquired by the speed information acquisition unit 54 is high, it is higher than when the luminance is low. Further, for example, when the image acquired by the speed information acquisition unit 54 is not blurred, the reliability may be determined so as to be higher than when it is applied. For example, the reliability may be determined to be higher when the strength of the signal received by the speed sensor that measures the speed is higher than when the signal is weak.
  • the acquisition control unit 62 controls the number of times the speed information acquisition unit 54 acquires speed information per unit time based on the reliability of the speed information determined by the reliability determination unit 60. To do.
  • the acquisition control unit 62 may perform control so that the number of times the speed information acquisition unit 54 acquires speed information per unit time is less when the reliability of the speed information is high than when the reliability is low. In this way, the power consumption can be further reduced when the reliability of the speed information is high.
  • the acceleration data acquisition unit 52 acquires acceleration data indicating the acceleration of the tracker 12 in this cycle (S101).
  • estimation result update part 56 confirms whether the estimation of the position or speed based on the image which the speed information acquisition part 54 acquired was performed in this cycle (S102).
  • the estimation result update part 56 produces
  • the value x (t ⁇ 8), the value v (t ⁇ 8), and the value a Estimated basic data including the combination of (t) is generated.
  • position estimation based on the image acquired by the speed information acquisition unit 54 is executed, a combination of a value xp (t ⁇ 8), a value v (t ⁇ 8), and a value a (t) is included.
  • Estimated basic data is generated.
  • speed estimation based on the image acquired by the speed information acquisition unit 54 is executed, an estimation basis including a combination of a value x (t ⁇ 8), a value vp (t ⁇ 8), and a value a (t).
  • estimated basic data including a combination of the value xp (t-8), the value vp (t-8), and the value a (t) may be generated.
  • estimation result update part 56 produces
  • estimation result data including a combination of the value x (t) and the value v (t) is generated.
  • estimation result update part 56 updates the estimation result data memorize
  • estimation result transmission part 58 transmits the estimation result data produced
  • FIG. 4 For example, some or all of the functions shown in FIG. 4 may be implemented by the entertainment device 14 or the relay device 16.
  • the image base estimation unit 56 may perform estimation of the position or speed of the tracker 12 based on an image taken by the camera 20a included in the camera microphone unit 20.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Length Measuring Devices With Unspecified Measuring Means (AREA)
  • User Interface Of Digital Computer (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

消費電力を低減しつつ精度よくトラッカーの位置を推定できる位置推定装置、位置推定方法及びプログラムを提供する。推定結果記憶部(50)は、トラッカー(12)の位置の推定結果を記憶する。加速度データ取得部(52)は、トラッカー(12)の加速度を検出するセンサから当該トラッカー(12)の加速度を示す加速度データを繰り返し取得する。推定結果更新部(56)は、推定結果記憶部(50)に記憶されている前記トラッカーの位置の推定結果と取得された最新の前記加速度データとに基づいて、当該推定結果を更新する。速度情報取得部(54)は、トラッカー(12)の速度の情報を取得する。推定結果更新部(56)は、速度情報取得部(54)により速度の情報が取得された際には、当該速度の情報と取得された最新の加速度データとに基づいて、推定結果記憶部(50)に記憶されているトラッカー(12)の位置の推定結果を更新する。

Description

位置推定装置、位置推定方法及びプログラム
 本発明は、位置推定装置、位置推定方法及びプログラムに関する。
 ユーザが頭部等の身体に装着したトラッカーの位置を推定する技術が知られている。例えばトラッカーが備える、カメラ、慣性センサ(IMU)、地磁気センサ(方位センサ)、モーションセンサ、GPS(Global Positioning System)モジュールなどといったセンサによる測定結果に基づいて、当該トラッカーの位置が推定される。
 カメラを使ったトラッカーの位置の推定技術の一例として、SLAM(Simultaneous Localization and Mapping)の技術が知られている。SLAMの技術では、例えばトラッカーが備えるカメラにより撮影された画像などといった、トラッカーが取得するセンシングデータに基づいて、複数の特徴点を含む特徴点データが生成される。そして生成された特徴点データと予め記憶されているポイントクラウドである環境地図との比較結果に基づいて、トラッカーの位置又は向きの推定、及び、環境地図の更新が行われる。
 SLAMの技術などといったカメラが撮影する画像に基づいて位置の推定を行う場合、画像処理を行う必要があることから消費電力が大きくなる。
 一方で、例えばトラッカーが備える慣性センサの測定結果である加速度に基づいて、当該トラッカーの位置を推定する場合、二重積分に伴う誤差が蓄積することにより計測開始からの時間が経過するにつれて推定精度が悪くなっていく。
 本発明は上記課題に鑑みてなされたものであって、その目的の1つは、消費電力を低減しつつ精度よくトラッカーの位置を推定できる位置推定装置、位置推定方法及びプログラムを提供することにある。
 上記課題を解決するために、本発明に係る位置推定装置は、トラッカーの位置の推定結果を記憶する推定結果記憶部と、前記トラッカーの加速度を検出するセンサから当該トラッカーの加速度を示す加速度データを繰り返し取得する加速度データ取得部と、前記推定結果記憶部に記憶されている前記トラッカーの位置の推定結果と取得された最新の前記加速度データとに基づいて、当該推定結果を更新する推定結果更新部と、前記トラッカーの速度の情報を取得する速度情報取得部と、を含み、前記推定結果更新部は、前記速度情報取得部により前記速度の情報が取得された際には、当該速度の情報と取得された最新の前記加速度データとに基づいて、前記推定結果記憶部に記憶されている前記トラッカーの位置の推定結果を更新する。
 本発明の一態様では、前記速度情報取得部は、順次到来する撮影タイミング毎に2枚の画像を撮影するカメラから、当該2枚の画像を取得し、前記推定結果更新部は、前記速度情報取得部により前記2枚の画像が取得された際には、当該2枚の画像に基づいて推定される前記トラッカーの速度と取得された最新の前記加速度データとに基づいて、前記推定結果記憶部に記憶されている前記トラッカーの位置の推定結果を更新する。
 この態様では、前記推定結果更新部は、前記速度情報取得部により前記2枚の画像が取得された際には、当該2枚の画像のうちの少なくとも1枚に基づいて推定される前記トラッカーの位置と取得された最新の前記加速度データとに基づいて、前記推定結果記憶部に記憶されている前記トラッカーの位置の推定結果を更新してもよい。
 また、本発明の一態様では、前記速度情報取得部が取得する前記速度の情報の信頼度を決定する信頼度決定部と、前記信頼度に基づいて、単位時間あたりに前記速度情報取得部が前記速度の情報を取得する回数を制御する取得制御部、をさらに含む。
 また、本発明に係る位置推定方法は、トラッカーの加速度を検出するセンサから当該トラッカーの加速度を示す加速度データを繰り返し取得する加速度データ取得ステップと、トラッカーの位置の推定結果を記憶する推定結果記憶部に記憶されている前記トラッカーの位置の推定結果と取得された最新の前記加速度データとに基づいて、当該推定結果を更新する推定結果更新ステップと、前記トラッカーの速度の情報を取得する速度情報取得ステップと、を含み、前記推定結果更新ステップでは、前記速度情報取得ステップで前記速度の情報が取得された際には、当該速度の情報と取得された最新の前記加速度データとに基づいて、前記推定結果記憶部に記憶されている前記トラッカーの位置の推定結果を更新する。
 また、本発明に係るプログラムは、トラッカーの加速度を検出するセンサから当該トラッカーの加速度を示す加速度データを繰り返し取得する加速度データ取得手順、トラッカーの位置の推定結果を記憶する推定結果記憶部に記憶されている前記トラッカーの位置の推定結果と取得された最新の前記加速度データとに基づいて、当該推定結果を更新する推定結果更新手順、前記トラッカーの速度の情報を取得する速度情報取得手順、をコンピュータに実行させ、前記推定結果更新手順では、前記速度情報取得手順で前記速度の情報が取得された際には、当該速度の情報と取得された最新の前記加速度データとに基づいて、前記推定結果記憶部に記憶されている前記トラッカーの位置の推定結果を更新する。
本発明の一実施形態に係るエンタテインメントシステムの一例を示す構成図である。 本発明の一実施形態に係るトラッカーの一例を示す構成図である。 推定基礎データと推定結果データとの関係の一例を示す図である。 本発明の一実施形態に係るトラッカーで実装される機能の一例を示す機能ブロック図である。 本発明の一実施形態に係るトラッカーで行われる処理の流れの一例を示すフロー図である。
 以下、本発明の一実施形態について図面に基づき詳細に説明する。
 図1は、本発明の一実施形態に係るエンタテインメントシステム10の一例を示す構成図である。図1に示すように、本実施形態に係るエンタテインメントシステム10には、トラッカー12とエンタテインメント装置14と中継装置16とディスプレイ18とカメラマイクユニット20とを含んでいる。
 本実施形態に係るトラッカー12は、本実施形態では例えば、トラッカー12を装着したユーザの位置や向きを追跡する装置である。図1には、トラッカー12の一例としてヘッドマウントディスプレイ(HMD)が示されている。
 図2に示すように、本実施形態に係るトラッカー12には、プロセッサ30、記憶部32、通信部34、入出力部36、表示部38、センサ部40、音声出力部42、が含まれる。
 プロセッサ30は、例えばトラッカー12にインストールされるプログラムに従って動作するマイクロプロセッサ等のプログラム制御デバイスである。
 記憶部32は、例えばROMやRAM等の記憶素子などである。記憶部32には、プロセッサ30によって実行されるプログラムなどが記憶される。
 通信部34は、例えば無線LANモジュールなどの通信インタフェースである。
 入出力部36は、例えばHDMI(登録商標)(High-Definition Multimedia Interface)ポート、USBポート、AUXポートなどの入出力ポートである。
 表示部38は、トラッカー12の前側に配置されている、例えば液晶ディスプレイや有機ELディスプレイ等のディスプレイである。また表示部38は、トラッカー12の筐体に収容される。本実施形態に係る表示部38は、例えば左目用の画像と右目用の画像を表示することによって三次元画像を表示させることができるようになっている。なお表示部38は三次元画像の表示ができず二次元画像の表示のみができるものであっても構わない。
 センサ部40は、例えばカメラ、慣性センサ(IMU)、地磁気センサ(方位センサ)、GPS(Global Positioning System)モジュールなどといったセンサである。センサ部40に含まれるカメラは、例えば所定のフレームレートで画像を撮影する。またセンサ部40に含まれる地磁気センサは、トラッカー12が向く方位を示すデータを、所定のフレームレートで、プロセッサ30に出力する。またセンサ部40に含まれる慣性センサは、トラッカー12の加速度や角速度などを示すデータを、所定のフレームレートで、プロセッサ30に出力する。またセンサ部40に含まれるGPSモジュールは、トラッカー12の緯度及び経度を示すデータを、所定のフレームレートで、プロセッサ30に出力する。
 音声出力部42は、例えばヘッドホンやスピーカ等であり、音声データが表す音声などを出力する。
 本実施形態に係るエンタテインメント装置14は、例えばゲームコンソール、DVDプレイヤ、Blu-ray(登録商標)プレイヤなどといったコンピュータである。本実施形態に係るエンタテインメント装置14は、例えば記憶されている、あるいは、光ディスクに記録された、ゲームプログラムの実行やコンテンツの再生などによって映像や音声を生成する。そして本実施形態に係るエンタテインメント装置14は、生成される映像を表す映像信号や生成される音声を表す音声信号を、中継装置16を経由してディスプレイ18に出力する。本実施形態に係るエンタテインメント装置14には、例えばプロセッサ、ROMやRAM等の記憶素子、ハードディスクドライブ、無線LANモジュール等の通信インタフェース、入出力ポート、などが含まれている。
 本実施形態に係る中継装置16は、エンタテインメント装置14から出力される映像信号や音声信号を中継してディスプレイ18に出力するコンピュータである。
 本実施形態に係るディスプレイ18は、例えば液晶ディスプレイ等であり、エンタテインメント装置14から出力される映像信号が表す映像などを表示させる。
 本実施形態に係るカメラマイクユニット20は、例えば被写体を撮像した画像をエンタテインメント装置14に出力するカメラ20a及び周囲の音声を取得して当該音声を音声データに変換してエンタテインメント装置14に出力するマイク20bを含んでいる。また本実施形態に係るカメラ20aはステレオカメラである。
 トラッカー12と中継装置16とは、例えば、無線によるデータの送受信が互いに可能になっている。エンタテインメント装置14と中継装置16とは、例えば、HDMIケーブルやUSBケーブルなどを介して接続されており、データの送受信が互いに可能になっている。中継装置16とディスプレイ18とは、例えば、HDMIケーブルなどを介して接続されている。エンタテインメント装置14とカメラマイクユニット20とは、例えば、AUXケーブルなどを介して接続されている。
 本実施形態では例えば、エンタテインメント装置14によってゲームプログラムが実行されている際に、トラッカー12の位置、姿勢、動きなどに応じたゲーム処理等の各種の処理が実行される。そして当該処理の結果に応じた映像が例えばディスプレイ18や表示部38に表示される。
 また本実施形態では、トラッカー12の位置が、トラッカー12のセンサ部40に含まれるカメラが撮影する画像とセンサ部40に含まれる慣性センサが計測するトラッカー12の加速度とに基づいて推定される。
 図3は、トラッカー12の位置の推定の基礎となる推定基礎データと当該推定基礎データに基づく推定結果を示す推定結果データとの関係の一例を示す図である。
 本実施形態では例えば、トラッカー12の位置の推定が8ミリ秒毎に行われることとする。またセンサ部40に含まれる慣性センサによる加速度の計測も8ミリ秒毎に行われることとする。
 また図3の例では、トラッカー12の位置の初期値がx0、速度の初期値がv0で表現されている。そして推定開始からの経過時間をtミリ秒とした際の位置の推定結果を示す値がx(t)、速度の推定結果を示す値がv(t)と表現されている。また推定開始からの経過時間をtとした際の慣性センサによる加速度の計測結果を示す値がa(t)と表現されている。
 本実施形態では、8ミリ秒間隔で、慣性センサによる加速度の計測結果に基づく、トラッカー12の位置及び速度の推定が行われる。図3には、値x0、値v0、及び、値a(8)の組合せを含む推定基礎データと値x(8)と値v(8)との組合せを含む推定結果データとが対応付けて示されている。このことは値x0、値v0、及び、値a(8)の組合せを含む推定基礎データに基づいて、値x(8)と値v(8)との組合せを含む推定結果データが生成されることを意味する。なお、位置を示す値x0、速度を示す値v0、及び、加速度を示す値a(8)に基づいて、位置を示す値x(8)、及び、速度を示す値v(8)は、一意に特定可能である。そして本実施形態ではこのように生成される推定結果データは保持される。
 そして本実施形態では、保持されている推定結果データに含まれる値x(8)と値v(8)、及び、加速度の計測結果を示す値a(16)の組合せを含む推定基礎データに基づいて、値x(16)と値v(16)との組合せを含む推定結果データが生成される。なお、位置を示す値x(8)、速度を示す値v(8)、及び、加速度を示す値a(16)に基づいて、位置を示す値x(16)、及び、速度を示す値v(16)は、一意に特定可能である。
 また保持されている推定結果データに含まれる値x(16)と値v(16)、及び、加速度の計測結果を示す値a(32)の組合せを含む推定基礎データに基づいて、値x(32)と値v(32)との組合せを含む推定結果データが生成される。なお、位置を示す値x(16)、速度を示す値v(16)、及び、加速度を示す値a(32)に基づいて、位置を示す値x(32)、及び、速度を示す値v(32)は、一意に特定可能である。
 以上のように、本実施形態では原則として、あるタイミングにおける推定で生成された推定結果データが、次のタイミングにおける推定では推定基礎データとして用いられることとなる。
 そして本実施形態では例えば、センサ部40に含まれるカメラが、順次到来する撮影タイミング毎に2枚の画像を撮影する。ここでは例えば撮影タイミングは1秒(1000ミリ秒)間隔で到来することとする。
 またここでは例えば撮影タイミングが到来する度にカメラは8ミリ秒間隔で2枚の画像を撮影することとする。例えば撮影タイミングが推定開始からの経過時間が1000ミリ秒であるタイミングであることとする。この場合は、推定開始からの経過時間が1000ミリ秒であるタイミングと1008ミリ秒であるタイミングのそれぞれにおいて、センサ部40に含まれるカメラは、1枚ずつ画像を撮影する。
 そして本実施形態では、撮影タイミングが到来してカメラによる画像の撮影が行われた際には、SLAM(Simultaneous Localization and Mapping)の技術を用いて、撮影された撮影した画像に基づき、トラッカー12の位置及び速度が推定される。そしてこのような画像に基づくトラッカー12の位置及び速度の推定が行われた際には、保持されている推定結果データの代わりに、画像に基づくトラッカー12の位置及び速度の推定結果が推定基礎データとして用いられる。
 図3の例では、推定開始からの経過時間がtミリ秒であるタイミングに撮影された画像に基づくトラッカー12の位置の推定結果を示す値がxp(t)で示されている。また推定開始からの経過時間が(t-8)ミリ秒であるタイミングに撮影された画像とtミリ秒であるタイミングに撮影された画像とに基づく、トラッカー12の位置の推定結果を示す値がvp(t)で示されている。
 そして図3に示すように本実施形態では、値xp(1000)、値v(1000)、値a(1008)、の組合せを含む推定基礎データに基づいて、値x(1008)と値v(1008)との組合せを含む推定結果データが生成される。この例では保持されている推定結果データに含まれる値x(1000)の代わりに画像に基づく位置の推定結果を示す値xp(1000)が推定基礎データに含まれることとなる。なお、位置を示す値xp(1000)、速度を示す値v(1000)、及び、加速度を示す値a(1008)に基づいて、位置を示す値x(1008)、及び、速度を示す値v(1008)は、一意に特定可能である。
 また値x(1008)、値vp(1008)、値a(1016)の組合せを含む推定基礎データに基づいて、値x(1016)と値v(1016)との組合せを含む推定結果データが生成される。この例では保持されている推定結果データに含まれる値v(1008)の代わりに画像に基づく速度の推定結果を示す値vp(1008)が推定基礎データに含まれることとなる。なお、位置を示す値x(1008)、速度を示す値vp(1008)、及び、加速度を示す値a(1016)に基づいて、位置を示す値x(1016)、及び、速度を示す値v(1016)は、一意に特定可能である。
 同様に本実施形態では、値xp(2000)、値v(2000)、値a(2008)、の組合せを含む推定基礎データに基づいて、値x(2008)と値v(2008)との組合せを含む推定結果データが生成される。また値x(2008)、値vp(2008)、値a(2008)、の組合せを含む推定基礎データに基づいて、値x(1016)と値v(1016)との組合せを含む推定結果データが生成される。ここで位置を示す値xp(2000)、速度を示す値v(2000)、及び、加速度を示す値a(2008)に基づいて、位置を示す値x(2008)、及び、速度を示す値v(2008)は、一意に特定可能である。また位置を示す値x(2008)、速度を示す値vp(2008)、及び、加速度を示す値a(2016)に基づいて、位置を示す値x(2016)、及び、速度を示す値v(2016)は、一意に特定可能である。
 なお以上の説明における、位置や速度の推定結果や加速度の測定結果は、例えば三次元座標値で表現される値であってもよい。
 また、8ミリ秒間隔よりも短い時間間隔で慣性センサによる加速度の計測結果に基づく、トラッカー12の位置及び速度の推定が行われてもよい。例えば2ミリ秒間隔で慣性センサによる加速度の計測結果に基づく、トラッカー12の位置及び速度の推定が行われてもよい。
 また画像に基づく位置の推定結果が推定基礎データとして用いられるタイミングと画像に基づく速度の推定結果が推定基礎データとして用いられるタイミングとが同じであっても構わない。例えば推定開始からの経過時間が1008ミリ秒であるタイミングに撮影された画像に基づく位置の推定結果を示す値をxp(1008)とする。この場合、値xp(1008)と、値vp(1008)と、値a(1016)との組合せを含む推定基礎データに基づいて、値x(1016)と値v(1016)との組合せを含む推定結果データが生成されてもよい。
 SLAMの技術などといったカメラが撮影する画像に基づいてトラッカー12の位置の推定を行う場合、画像処理を行う必要があることから消費電力が大きくなる。特に例えば8ミリ秒間隔などといった短い時間間隔で画像に基づくトラッカー12の位置の推定を行う場合には、消費電力は相当大きくなるおそれがある。
 一方で慣性センサによる加速度の計測結果に基づいて、トラッカー12の位置を推定する場合、二重積分に伴う誤差が蓄積することにより計測開始からの時間が経過するにつれて推定精度が悪くなっていく。
 本実施形態では上述のように画像の撮影が常時行われる必要がない。その一方で、撮影タイミングが到来すると撮影された画像に基づく位置の推定が行え、その結果によって慣性センサによる加速度の計測結果に基づく位置の推定において蓄積された誤差を解消できる。このようにして本発明によれば、消費電力を低減しつつ精度よくトラッカー12の位置を推定できることとなる。
 以下、本実施形態に係るトラッカー12の機能、及び、トラッカー12で実行される処理についてさらに説明する。
 図4は、本実施形態に係るトラッカー12で実装される機能の一例を示す機能ブロック図である。なお、本実施形態に係るトラッカー12で、図4に示す機能のすべてが実装される必要はなく、また、図4に示す機能以外の機能が実装されていても構わない。
 図4に示すように、トラッカー12には、機能的には例えば、推定結果記憶部50、加速度データ取得部52、速度情報取得部54、推定結果更新部56、推定結果送信部58、信頼度決定部60、取得制御部62、が含まれる。推定結果記憶部50は、記憶部32を主として実装される。加速度データ取得部52、速度情報取得部54、取得制御部62は、プロセッサ30及びセンサ部40を主として実装される。推定結果更新部56、信頼度決定部60は、プロセッサ30を主として実装される。推定結果送信部58は、通信部34を主として実装される。
 以上の機能は、コンピュータであるトラッカー12にインストールされた、以上の機能に対応する指令を含むプログラムをプロセッサ30で実行することにより実装されてもよい。このプログラムは、例えば、光ディスク、磁気ディスク、磁気テープ、光磁気ディスク、フラッシュメモリ等のコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどを介してトラッカー12に供給されてもよい。
 推定結果記憶部50は、本実施形態では例えば、トラッカー12の位置の推定結果を記憶する。また推定結果記憶部50は、トラッカー12の速度の推定結果を記憶してもよい。例えば推定結果記憶部50が上述の推定結果データを記憶してもよい。
 加速度データ取得部52は、本実施形態では例えば、トラッカー12の加速度を検出するセンサから当該トラッカー12の加速度を示す加速度データを繰り返し取得する。上述の例では8ミリ秒間隔で加速度データは繰り返し取得される。
 速度情報取得部54は、本実施形態では例えば、トラッカー12の速度の情報を取得する。ここで例えば速度情報取得部54が、順次到来する撮影タイミング毎に画像を撮影するカメラから、当該画像を取得してもよい。ここで上述のように、撮影タイミングが1000ミリ秒毎に到来してもよい。そして撮影タイミングが到来した際に、当該撮影タイミングにおいて撮影された2枚の画像をカメラから取得してもよい。そして速度情報取得部54が、当該2枚の画像の差分に基づいて、トラッカー12の速度の情報を生成し、当該速度の情報を取得してもよい。
 また速度情報取得部54が取得する速度の情報は、2枚の画像の差分に基づくものに限定されない。例えば速度情報取得部54が、レーザー等を用いた速度センサによる計測結果をトラッカー12の速度の情報として取得してもよい。また例えば速度情報取得部54は、露光時間を長く設定したカメラによって撮影された画像に表れている像のぶれに基づいてトラッカー12の速度を推定してもよい。そして速度情報取得部54は、当該速度を示す情報を生成して、生成された当該情報を取得してもよい。
 推定結果更新部56は、本実施形態では例えば、推定結果記憶部50に記憶されているトラッカー12の位置の推定結果と取得された最新の加速度データとに基づいて、当該推定結果を更新する。ここで上述のように推定結果更新部56が、推定結果記憶部50に記憶されている推定結果データと取得された最新の加速度データとに基づいて、新たな推定結果データを生成してもよい。そして推定結果更新部56が、推定結果記憶部50に記憶されている推定結果データを、生成された新たな推定結果データに更新してもよい。
 ここで例えば、速度情報取得部54によりトラッカー12の速度の情報が取得されたとする。この際には、推定結果更新部56は、速度情報取得部54によって取得されたトラッカー12の速度の情報と取得された最新の加速度データとに基づいて、新たな推定結果データを生成してもよい。そして推定結果更新部56が、推定結果記憶部50に記憶されている推定結果データを、生成された新たに推定結果データに更新してもよい。
 また推定結果更新部56は、速度情報取得部54によって取得された2枚の画像のうちの少なくとも1枚に基づいて、トラッカー12の位置を推定してもよい。上述の例ではSLAMの技術を用いてトラッカー12の位置が推定されている。そして推定結果更新部56は、画像に基づいて推定されるトラッカー12の位置と取得された最新の加速度データとに基づいて、新たな推定結果データを生成してもよい。そして推定結果更新部56が、推定結果記憶部50に記憶されている推定結果データを、生成された新たに推定結果データに更新してもよい。
 推定結果送信部58は、本実施形態では例えば、トラッカー12の位置の推定結果をエンタテインメント装置14に送信する。ここで推定結果送信部58が、トラッカー12の位置の推定結果だけでなく、例えばトラッカー12の速度の推定結果や、トラッカー12の加速度の計測結果を送信してもよい。
 エンタテインメント装置14は、受信した推定結果に応じたゲーム処理等の各種の処理を実行したり、当該処理の結果に応じた映像をディスプレイ18に表示させたりしてもよい。
 信頼度決定部60は、本実施形態では例えば、速度情報取得部54が取得するトラッカー12の速度の情報の信頼度を決定する。例えばSLAMの技術を用いてトラッカー12の位置を推定する際に、速度情報取得部54が取得した画像と環境地図とのマッチングができた場合はできなかった場合よりも高くなるよう信頼度が決定されてもよい。また例えば速度情報取得部54が取得した画像の輝度が高い場合は低い場合よりも高くなるよう信頼度が決定されてもよい。また例えば速度情報取得部54が取得した画像にブラーがかかっていない場合はかかっている場合よりも高くなるよう信頼度が決定されてもよい。また例えば速度を計測する速度センサが受け付ける信号の強度が強い場合は弱い場合よりも高くなるよう信頼度が決定されてもよい。
 取得制御部62は、本実施形態では例えば、信頼度決定部60により決定される速度の情報の信頼度に基づいて、単位時間あたりに速度情報取得部54が速度の情報を取得する回数を制御する。ここで例えば、取得制御部62は、速度の情報の信頼度が高い場合は低い場合よりも単位時間あたりに速度情報取得部54が速度の情報を取得する回数が減るよう制御してもよい。こうすれば速度の情報の信頼度が高い場合には消費電力のさらなる低減が可能となる。
 ここで、本実施形態に係るトラッカー12で行われる処理の流れの一例を、図5に例示するフロー図を参照しながら説明する。本処理例では、以下のS101~S106に示す処理が所定の時間間隔(ここでは例えば8ミリ秒)で繰り返し実行される。なお図5に例示する処理とは非同期に、撮影タイミングが到来した際には、カメラによる画像の撮影、当該画像の取得、及び、撮影された画像に基づく位置や速度の推定が並行して実行されていることとする。また以下の処理例では、本サイクルにおける処理によって値x(t)と値v(t)との組合せを含む推定結果データが生成されることとする。
 まず、加速度データ取得部52が、本サイクルにおける、トラッカー12の加速度を示す加速度データを取得する(S101)。
 そして、推定結果更新部56は、本サイクルにおいて、速度情報取得部54が取得した画像に基づく位置又は速度の推定が実行されたか否かを確認する(S102)。
 そいて、推定結果更新部56は、S102に示す処理における確認の結果に基づいて、推定基礎データを生成する(S103)。
 ここで例えば、速度情報取得部54が取得した画像に基づく位置又は速度の推定のいずれも実行されていない場合は、値x(t-8)、値v(t-8)、及び、値a(t)の組合せを含む推定基礎データが生成される。また速度情報取得部54が取得した画像に基づく位置の推定が実行されている場合は、値xp(t-8)、値v(t-8)、及び、値a(t)の組合せを含む推定基礎データが生成される。また速度情報取得部54が取得した画像に基づく速度の推定が実行されている場合は、値x(t-8)、値vp(t-8)、値a(t)の組合せを含む推定基礎データが生成される。なおここで値xp(t-8)、値vp(t-8)、及び、値a(t)の組合せを含む推定基礎データが生成されてもよい。
 そして、推定結果更新部56が、S103に示す処理で生成された推定基礎データに基づいて、新たな推定結果データを生成する(S104)。ここでは例えば値x(t)と値v(t)との組合せを含む推定結果データが生成される。
 そして推定結果更新部56が、推定結果記憶部50に記憶されている推定結果データを、S104に示す処理で生成された推定結果データに更新する(S105)。
 そして推定結果送信部58が、S104に示す処理で生成された推定結果データをエンタテインメント装置14に送信して(S106)、S101に示す処理に戻る。
 なお、本発明は上述の実施形態に限定されるものではない。
 例えば図4に示す機能の一部又は全部が、エンタテインメント装置14や中継装置16で実装されても構わない。
 また例えば、画像ベース推定部56が、トラッカー12の位置又は速度の推定を、カメラマイクユニット20に含まれるカメラ20aが撮影する画像に基づいて実行してもよい。
 また、上記の具体的な文字列や数値及び図面中の具体的な文字列や数値は例示であり、これらの文字列や数値には限定されない。

Claims (6)

  1.  トラッカーの位置の推定結果を記憶する推定結果記憶部と、
     前記トラッカーの加速度を検出するセンサから当該トラッカーの加速度を示す加速度データを繰り返し取得する加速度データ取得部と、
     前記推定結果記憶部に記憶されている前記トラッカーの位置の推定結果と取得された最新の前記加速度データとに基づいて、当該推定結果を更新する推定結果更新部と、
     前記トラッカーの速度の情報を取得する速度情報取得部と、を含み、
     前記推定結果更新部は、前記速度情報取得部により前記速度の情報が取得された際には、当該速度の情報と取得された最新の前記加速度データとに基づいて、前記推定結果記憶部に記憶されている前記トラッカーの位置の推定結果を更新する、
     ことを特徴とする位置推定装置。
  2.  前記速度情報取得部は、順次到来する撮影タイミング毎に2枚の画像を撮影するカメラから、当該2枚の画像を取得し、
     前記推定結果更新部は、前記速度情報取得部により前記2枚の画像が取得された際には、当該2枚の画像に基づいて推定される前記トラッカーの速度と取得された最新の前記加速度データとに基づいて、前記推定結果記憶部に記憶されている前記トラッカーの位置の推定結果を更新する、
     ことを特徴とする請求項1に記載の位置推定装置。
  3.  前記推定結果更新部は、前記速度情報取得部により前記2枚の画像が取得された際には、当該2枚の画像のうちの少なくとも1枚に基づいて推定される前記トラッカーの位置と取得された最新の前記加速度データとに基づいて、前記推定結果記憶部に記憶されている前記トラッカーの位置の推定結果を更新する、
     ことを特徴とする請求項2に記載の位置推定装置。
  4.  前記速度情報取得部が取得する前記速度の情報の信頼度を決定する信頼度決定部と、
     前記信頼度に基づいて、単位時間あたりに前記速度情報取得部が前記速度の情報を取得する回数を制御する取得制御部、をさらに含む、
     ことを特徴とする請求項1から3のいずれか一項に記載の位置推定装置。
  5.  トラッカーの加速度を検出するセンサから当該トラッカーの加速度を示す加速度データを繰り返し取得する加速度データ取得ステップと、
     トラッカーの位置の推定結果を記憶する推定結果記憶部に記憶されている前記トラッカーの位置の推定結果と取得された最新の前記加速度データとに基づいて、当該推定結果を更新する推定結果更新ステップと、
     前記トラッカーの速度の情報を取得する速度情報取得ステップと、を含み、
     前記推定結果更新ステップでは、前記速度情報取得ステップで前記速度の情報が取得された際には、当該速度の情報と取得された最新の前記加速度データとに基づいて、前記推定結果記憶部に記憶されている前記トラッカーの位置の推定結果を更新する、
     ことを特徴とする位置推定方法。
  6.  トラッカーの加速度を検出するセンサから当該トラッカーの加速度を示す加速度データを繰り返し取得する加速度データ取得手順、
     トラッカーの位置の推定結果を記憶する推定結果記憶部に記憶されている前記トラッカーの位置の推定結果と取得された最新の前記加速度データとに基づいて、当該推定結果を更新する推定結果更新手順、
     前記トラッカーの速度の情報を取得する速度情報取得手順、をコンピュータに実行させ、
     前記推定結果更新手順では、前記速度情報取得手順で前記速度の情報が取得された際には、当該速度の情報と取得された最新の前記加速度データとに基づいて、前記推定結果記憶部に記憶されている前記トラッカーの位置の推定結果を更新する、
     ことを特徴とするプログラム。
PCT/JP2018/010014 2018-03-14 2018-03-14 位置推定装置、位置推定方法及びプログラム WO2019176020A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/JP2018/010014 WO2019176020A1 (ja) 2018-03-14 2018-03-14 位置推定装置、位置推定方法及びプログラム
JP2020506121A JP7038798B2 (ja) 2018-03-14 2018-10-05 位置推定装置、位置推定方法及びプログラム
PCT/JP2018/037357 WO2019176150A1 (ja) 2018-03-14 2018-10-05 位置推定装置、位置推定方法及びプログラム
US16/977,440 US11402897B2 (en) 2018-03-14 2018-10-05 Position estimation apparatus, position estimation method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/010014 WO2019176020A1 (ja) 2018-03-14 2018-03-14 位置推定装置、位置推定方法及びプログラム

Publications (1)

Publication Number Publication Date
WO2019176020A1 true WO2019176020A1 (ja) 2019-09-19

Family

ID=67906514

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/JP2018/010014 WO2019176020A1 (ja) 2018-03-14 2018-03-14 位置推定装置、位置推定方法及びプログラム
PCT/JP2018/037357 WO2019176150A1 (ja) 2018-03-14 2018-10-05 位置推定装置、位置推定方法及びプログラム

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/037357 WO2019176150A1 (ja) 2018-03-14 2018-10-05 位置推定装置、位置推定方法及びプログラム

Country Status (3)

Country Link
US (1) US11402897B2 (ja)
JP (1) JP7038798B2 (ja)
WO (2) WO2019176020A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022074973A1 (ja) * 2020-10-05 2022-04-14 ソニーグループ株式会社 視線検出装置及び表示装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008058102A (ja) * 2006-08-30 2008-03-13 Shimadzu Corp ヘッドモーショントラッカ装置
JP2010133711A (ja) * 2008-12-02 2010-06-17 Sumitomo Heavy Ind Ltd 目標物の位置の時間変化計測方法及び計測装置
JP2014211404A (ja) * 2013-04-22 2014-11-13 株式会社ノビテック モーションキャプチャー方法
US20150279053A1 (en) * 2014-03-31 2015-10-01 Electronics And Telecommunications Research Institute System and method for motion estimation
JP2016006415A (ja) * 2014-05-29 2016-01-14 アニマ株式会社 光学式モーションキャプチャにおける光学式マーカーの位置の推定方法及び装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001264072A (ja) * 2000-03-17 2001-09-26 Aisin Seiki Co Ltd 角速度センサ
US9901814B2 (en) * 2006-11-17 2018-02-27 Nintendo Co., Ltd. Game system and storage medium storing game program
JP2009301531A (ja) * 2007-10-22 2009-12-24 Sony Corp 空間操作型入力装置、制御装置、制御システム、制御方法、空間操作型入力装置の製造方法及びハンドヘルド装置
JP4618370B2 (ja) * 2008-12-08 2011-01-26 ソニー株式会社 撮像装置、撮像方法、およびプログラム
US9237317B2 (en) * 2009-05-02 2016-01-12 Steven J. Hollinger Throwable camera and network for operating the same
JP6091255B2 (ja) * 2013-02-28 2017-03-08 オリンパス株式会社 ブレ量検出装置及び撮像装置
WO2016147278A1 (ja) * 2015-03-13 2016-09-22 楽天株式会社 可搬無線通信装置、無線通信方法及びプログラム
JP6776882B2 (ja) 2015-12-28 2020-10-28 住友ゴム工業株式会社 運動解析装置、方法及びプログラム
DE102017203755A1 (de) * 2017-03-08 2018-09-13 Robert Bosch Gmbh Bestimmung einer räumlichen Ausrichtung

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008058102A (ja) * 2006-08-30 2008-03-13 Shimadzu Corp ヘッドモーショントラッカ装置
JP2010133711A (ja) * 2008-12-02 2010-06-17 Sumitomo Heavy Ind Ltd 目標物の位置の時間変化計測方法及び計測装置
JP2014211404A (ja) * 2013-04-22 2014-11-13 株式会社ノビテック モーションキャプチャー方法
US20150279053A1 (en) * 2014-03-31 2015-10-01 Electronics And Telecommunications Research Institute System and method for motion estimation
JP2016006415A (ja) * 2014-05-29 2016-01-14 アニマ株式会社 光学式モーションキャプチャにおける光学式マーカーの位置の推定方法及び装置

Also Published As

Publication number Publication date
JPWO2019176150A1 (ja) 2020-12-03
JP7038798B2 (ja) 2022-03-18
WO2019176150A1 (ja) 2019-09-19
US11402897B2 (en) 2022-08-02
US20210004080A1 (en) 2021-01-07

Similar Documents

Publication Publication Date Title
KR101722068B1 (ko) 디바이스의 다수의 센서들로부터 수신된 데이터를 동기화시키는 방법들 및 시스템들
TWI397671B (zh) 定位載體、估測載體姿態與建地圖之系統與方法
US10191561B2 (en) Tracking controllers of a virtual reality system
WO2017077918A1 (ja) 情報処理装置、情報処理システム、および情報処理方法
KR101753316B1 (ko) 디지털 이미지 포맷으로 애플리케이션 프로세서에 센서 데이터 및 이미지 데이터를 제공하기 위한 방법들 및 시스템들
JP2020537383A (ja) ヘッドマウントディスプレイ追跡システム
US9485366B2 (en) Methods and systems for communicating sensor data on a mobile device
KR20160122709A (ko) 디바이스의 모션의 추정을 결정하기 위한 방법들 및 시스템들
JP2017511906A (ja) 数を減らした装着センサセットを用いたモーショントラッキング
WO2017126172A1 (ja) 情報処理装置、情報処理方法、及び記録媒体
US10881937B2 (en) Image processing apparatus, analysis system, and method for processing images
JP4348468B2 (ja) 画像生成方法
Zhang et al. The VCU-RVI benchmark: Evaluating visual inertial odometry for indoor navigation applications with an RGB-D camera
WO2019176020A1 (ja) 位置推定装置、位置推定方法及びプログラム
JP6859447B2 (ja) 情報処理システムおよび対象物情報取得方法
US11589778B2 (en) Body size estimation apparatus, body size estimation method, and program
US11694409B1 (en) Augmented reality using a split architecture
WO2020090042A1 (ja) トラッカーのキャリブレーション装置、トラッカーのキャリブレーション方法及びプログラム
TWI766020B (zh) 用於估計可攜式裝置之定向的方法
WO2023157498A1 (ja) 情報処理装置、デバイス速度推定方法およびデバイス位置推定方法
US11275148B2 (en) Multi-sensor location data tracking
US20230062045A1 (en) Display control device, display control method, and recording medium
JP6598732B2 (ja) 電子機器、制御装置、制御プログラム及び動画表示方法
KR20160038957A (ko) 4d 데이터 생성 방법 및 시스템
JP2023111990A (ja) 情報記録装置

Legal Events

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

Ref document number: 18909490

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18909490

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP