JPWO2020090042A1 - トラッカーのキャリブレーション装置、トラッカーのキャリブレーション方法及びプログラム - Google Patents

トラッカーのキャリブレーション装置、トラッカーのキャリブレーション方法及びプログラム Download PDF

Info

Publication number
JPWO2020090042A1
JPWO2020090042A1 JP2020554673A JP2020554673A JPWO2020090042A1 JP WO2020090042 A1 JPWO2020090042 A1 JP WO2020090042A1 JP 2020554673 A JP2020554673 A JP 2020554673A JP 2020554673 A JP2020554673 A JP 2020554673A JP WO2020090042 A1 JPWO2020090042 A1 JP WO2020090042A1
Authority
JP
Japan
Prior art keywords
tracker
data
coordinate system
calibration
represented
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2020554673A
Other languages
English (en)
Other versions
JP6975347B2 (ja
Inventor
良徳 大橋
良徳 大橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Interactive Entertainment Inc
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 Sony Interactive Entertainment Inc filed Critical Sony Interactive Entertainment Inc
Publication of JPWO2020090042A1 publication Critical patent/JPWO2020090042A1/ja
Application granted granted Critical
Publication of JP6975347B2 publication Critical patent/JP6975347B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/22Setup operations, e.g. calibration, key configuration or button assignment
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/002Measuring arrangements characterised by the use of optical techniques for measuring two or more coordinates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/251Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
    • 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/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/23Recognition of whole body movements, e.g. for sport training
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/211Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/212Input arrangements for video game devices characterised by their sensors, purposes or types using sensors worn by the player, e.g. for measuring heart beat or leg activity
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/428Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1012Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals involving biosensors worn by the player, e.g. for measuring heart beat, limb activity
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1018Calibration; Key and button assignment
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6607Methods for processing data by generating or executing the game program for rendering three dimensional images for animating game characters, e.g. skeleton kinematics
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person

Landscapes

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

Abstract

複数の種類のトラッカーの相対的な位置を予め計測することなくこれらのトラッカーのキャリブレーションを精度よく実行できるトラッカーのキャリブレーション装置、トラッカーのキャリブレーション方法及びプログラムを提供する。トラッカーデータ取得部(50)は、第1の座標系で表現される第1のトラッカーの位置を示す第1のトラッカーデータを複数取得する。トラッカーデータ取得部(50)は、第2の座標系で表現される第2のトラッカーの位置及び向きを示す第2のトラッカーデータを複数取得する。パラメータ推定部(58)は、複数の第1のトラッカーデータと複数の第2のトラッカーデータとに基づいて、第2の座標系で表現される位置を第1の座標系での表現に変換するパラメータの値、及び、第1のトラッカーの位置に対する第2のトラッカーの相対的な位置を推定する。

Description

本発明は、トラッカーのキャリブレーション装置、トラッカーのキャリブレーション方法及びプログラムに関する。
ユーザが装着する複数のトラッカーの位置や向きを示すデータに基づいて、逆運動学(IK)によって、当該ユーザの体に含まれる、トラッカーが装着されていない部位を含む複数の部位の位置や向きを推定するボディトラッキングの技術が知られている。
また近年、様々なベンダから様々な種類のトラッカーが提供されている。このようなトラッカーのなかには例えば、カメラや赤外線センサなどといったトラッカーの周囲に配置された複数のセンサによる検出結果に基づいて当該トラッカーの追跡を行うものがある。また例えば、SLAM(Simultaneous Localization and Mapping)技術を用いることで、トラッカーに設けられているカメラにより撮影される画像の解析結果に基づいて当該トラッカーの追跡を行うものもある。またSLAM技術を用いることで、トラッカーの追跡に加え、環境をスキャンし、現実空間の構造をリアルに仮想オブジェクトとして表示させることが可能となる。また例えば、慣性センサやGPS(Global Positioning System)モジュールによる計測結果を用いてトラッカーの追跡を行うものもある。
このようなトラッカーは種類によって一長一短があるため、複数の種類のトラッカーを併用して使用することが望ましいことがある。また一般的に、トラッカーの位置はトラッカーの種類毎に独立した座標系により表現される。そのため、複数の種類のトラッカーを併用して使用する場合には、当該複数の種類のトラッカーの位置が1つの座標系で表現できるようキャリブレーションが事前に実行される必要がある。また当該キャリブレーションは、これら複数の種類のトラッカーの相対的な位置及び姿勢が固定されている状態で行われる必要がある。
ここでこれら複数の種類のトラッカーが同じ位置にあると仮定してキャリブレーションを実行すると、当該キャリブレーションの結果に大きな誤差が生じてしまう。ここでこのような誤差の発生を抑えるために、予め計測されたこれら複数の種類のトラッカーの相対的な位置を用いてキャリブレーションを実行することも考えられるが、このような事前の計測は面倒である。
本発明は上記課題に鑑みてなされたものであって、その目的の1つは、複数の種類のトラッカーの相対的な位置を予め計測することなくこれらのトラッカーのキャリブレーションを精度よく実行できるトラッカーのキャリブレーション装置、トラッカーのキャリブレーション方法及びプログラムを提供することにある。
上記課題を解決するために、本発明に係るトラッカーのキャリブレーション装置は、第1のトラッカーに対する第2のトラッカーの相対的な位置及び向きが固定されている状態で行われるキャリブレーションにおいて計測される、第1の座標系で表現される前記第1のトラッカーの位置を示す第1のトラッカーデータを複数取得する第1トラッカーデータ取得部と、前記キャリブレーションにおいて計測される、前記第1の座標系とは独立している第2の座標系で表現される前記第2のトラッカーの位置及び向きを示す第2のトラッカーデータを複数取得する第2トラッカーデータ取得部と、複数の前記第1のトラッカーデータと複数の前記第2のトラッカーデータとに基づいて、前記第2の座標系で表現される位置を前記第1の座標系での表現に変換するパラメータの値、及び、前記第1のトラッカーの位置に対する前記第2のトラッカーの相対的な位置を推定する推定部と、を含む。
本発明の一態様では、計測タイミングが互いに対応付けられる前記第1のトラッカーデータ及び前記第2のトラッカーデータを含むサンプルデータを複数生成するサンプルデータ生成部、をさらに含み、前記推定部は、複数の前記サンプルデータに基づいて、前記第2の座標系で表現される位置を前記第1の座標系での表現に変換するパラメータの値、及び、前記第1のトラッカーの位置に対する前記第2のトラッカーの相対的な位置を推定する。
この態様では、前記サンプルデータ生成部は、向きのばらつきが大きくなるよう選択される前記第1のトラッカーデータ及び前記第2のトラッカーデータに基づいて、複数の前記サンプルデータを生成してもよい。
また、前記サンプルデータ生成部は、複数の前記第1のトラッカーデータに基づいて特定される前記第1のトラッカーの速度、加速度、又は、角速度のうちの少なくとも1つの時系列と複数の前記第2のトラッカーデータに基づいて特定される前記第2のトラッカーの速度、加速度、又は、角速度のうちの少なくとも1つの時系列とに基づいて、計測のタイミングが互いに対応付けられる複数の前記サンプルデータを生成してもよい。
この態様では、前記サンプルデータ生成部は、前記第1のトラッカーの速度、加速度、又は、角速度のうちの少なくとも1つのノルムの時系列と複数の前記第2のトラッカーデータに基づいて特定される前記第2のトラッカーの速度、加速度、又は、角速度のうちの少なくとも1つのノルムの時系列とに基づいて、計測のタイミングが互いに対応付けられる複数の前記サンプルデータを生成してもよい。
また、本発明の一態様では、前記第1のトラッカー及び前記第2のトラッカーは、前記第1のトラッカーに対する前記第2のトラッカーの相対的な位置及び向きが固定されている状態で筐体に設けられている。
また、本発明の一態様では、前記第1のトラッカー及び前記第2のトラッカーは、互いに異なる種類のトラッカーである。
また、本発明の一態様では、前記キャリブレーションにおいて前記推定部により前記第2の座標系で表現される位置を前記第1の座標系での表現に変換するパラメータの値、及び、前記第1のトラッカーの位置に対する前記第2のトラッカーの相対的な位置が推定された後は、前記第1のトラッカーと前記第2のトラッカーとは分離して使用可能であり、前記第1のトラッカーと前記第2のトラッカーとが分離して使用された後に前記第1のトラッカーに対する前記第2のトラッカーの相対的な位置及び向きが前回の前記キャリブレーションとは異なるよう固定されている状態で行われる再度の前記キャリブレーションにおいて、前記推定部は、前回の前記キャリブレーションとは異なる前記第1のトラッカーの位置に対する前記第2のトラッカーの相対的な位置を推定する。
また、本発明に係るトラッカーのキャリブレーション方法は、第1のトラッカーに対する第2のトラッカーの相対的な位置及び向きが固定されている状態で行われるキャリブレーションにおいて計測される、第1の座標系で表現される前記第1のトラッカーの位置を示す第1のトラッカーデータを複数取得するステップと、前記キャリブレーションにおいて計測される、前記第1の座標系とは独立している第2の座標系で表現される前記第2のトラッカーの位置及び向きを示す第2のトラッカーデータを複数取得するステップと、複数の前記第1のトラッカーデータと複数の前記第2のトラッカーデータとに基づいて、前記第2の座標系で表現される位置を前記第1の座標系での表現に変換するパラメータの値、及び、前記第1のトラッカーの位置に対する前記第2のトラッカーの相対的な位置を推定するステップと、を含む。
また、本発明に係るプログラムは、第1のトラッカーに対する第2のトラッカーの相対的な位置及び向きが固定されている状態で行われるキャリブレーションにおいて計測される、第1の座標系で表現される前記第1のトラッカーの位置を示す第1のトラッカーデータを複数取得する手順、前記キャリブレーションにおいて計測される、前記第1の座標系とは独立している第2の座標系で表現される前記第2のトラッカーの位置及び向きを示す第2のトラッカーデータを複数取得する手順、複数の前記第1のトラッカーデータと複数の前記第2のトラッカーデータとに基づいて、前記第2の座標系で表現される位置を前記第1の座標系での表現に変換するパラメータの値、及び、前記第1のトラッカーの位置に対する前記第2のトラッカーの相対的な位置を推定する手順、をコンピュータに実行させる。
本発明の一実施形態に係るエンタテインメントシステムの一例を示す構成図である。 本発明の一実施形態に係るエンタテインメント装置の一例を示す構成図である。 スケルトンモデルの一例を示す図である。 本発明の一実施形態に係るエンタテインメント装置で実装される機能の一例を示す機能ブロック図である。 第1の種類のトラッカーについての計測タイミングデータの値と速度との関係の一例を模式的に示した図である。 第2の種類のトラッカーについての計測タイミングデータの値と速度との関係の一例を模式的に示した図である。 本発明の一実施形態に係るエンタテインメント装置で行われる処理の流れの一例を示すフロー図である。 本発明の一実施形態に係るトラッカーの別の一例を示す図である。
図1は、本発明の一実施形態に係るエンタテインメントシステム10の構成の一例を示す構成図である。図2は、本実施形態に係るエンタテインメント装置14の構成の一例を示す構成図である。
図1に示すように、本実施形態に係るエンタテインメントシステム10は、複数のトラッカー12(図1の例ではトラッカー12a〜12e)とエンタテインメント装置14と中継装置16とディスプレイ18とカメラマイクユニット20とを含んでいる。
本実施形態に係るトラッカー12は、例えば、当該トラッカー12の位置や向きを追跡するためのデバイスである。本実施形態ではトラッカー12a、トラッカー12b、トラッカー12c、トラッカー12d、トラッカー12eは、それぞれ、ユーザの頭部、左手、右手、左足、右足に装着される。ここで図1に示すようにトラッカー12bやトラッカー12cはユーザによって手で把持されるものであってもよい。
本実施形態ではトラッカー12a、トラッカー12b、トラッカー12c、トラッカー12d、トラッカー12eによって特定される位置及び向きは、それぞれ、ユーザの頭部、左手、右手、左足、右足の位置及び向きに相当する。このように本実施形態では複数のトラッカー12によって、ユーザの体に含まれる複数の部位の位置及び向きが特定されることとなる。
また本実施形態ではトラッカー12aにはカメラが設けられている。そしてSLAM(Simultaneous Localization and Mapping)技術を用いることで、トラッカー12aに設けられているカメラにより撮影される画像の解析結果に基づいて当該トラッカー12aの追跡が行われる。
またトラッカー12b、トラッカー12c、トラッカー12d、トラッカー12eは、例えば、カメラや赤外線センサなどといったトラッカー12の周囲に配置された複数のセンサによる検出結果に基づいて当該トラッカー12の追跡が行われる。ここで例えば後述するカメラマイクユニット20に含まれるカメラ20aが撮影する、トラッカー12の像が含まれる画像に基づいて、当該トラッカー12の位置及び向きが特定されてもよい。
このように本実施形態では、トラッカー12b、トラッカー12c、トラッカー12d、及び、トラッカー12eは、トラッカー12aとは種類が異なる。以下、トラッカー12aを、第1の種類のトラッカー12と呼び、トラッカー12b、トラッカー12c、トラッカー12d、及び、トラッカー12eを、第2の種類のトラッカー12と呼ぶこととする。
また本実施形態では、第1の種類のトラッカー12の位置と、第2の種類のトラッカー12の位置とは、それぞれ独立した座標系により表現される。以下、第1の種類のトラッカー12の位置が表現される座標系を第1の座標系と呼び、第2の種類のトラッカー12の位置が表現される座標系を第2の座標系と呼ぶこととする。なお、第1の座標系により第1の種類のトラッカー12の位置及び向きが表現されてもよい。また、第2の座標系により第2の種類のトラッカー12の位置及び向きが表現されてもよい。
また本実施形態では、第1の種類のトラッカー12については、所定の第1のサンプリングレートで当該トラッカー12の位置及び向きの計測が行われる。また第2の種類のトラッカー12については、所定の第2のサンプリングレートで当該トラッカー12の位置及び向きの計測が行われる。ここで第1のサンプリングレートと第2のサンプリングレートとは同じであってもよいし、異なっていてもよい。
本実施形態に係るエンタテインメント装置14は、例えばゲームコンソール、DVDプレイヤ、Blu−ray(登録商標)プレイヤなどといったコンピュータである。本実施形態に係るエンタテインメント装置14は、例えば記憶されている、あるいは、光ディスクに記録された、ゲームプログラムの実行やコンテンツの再生などによって映像や音声を生成する。そして本実施形態に係るエンタテインメント装置14は、生成される映像を表す映像信号や生成される音声を表す音声信号を、中継装置16を経由してディスプレイ18に出力する。
本実施形態に係るエンタテインメント装置14には、例えば図2に示すように、プロセッサ30、記憶部32、通信部34、入出力部36が含まれる。
プロセッサ30は、例えばエンタテインメント装置14にインストールされるプログラムに従って動作するCPU等のプログラム制御デバイスである。本実施形態に係るプロセッサ30には、CPUから供給されるグラフィックスコマンドやデータに基づいてフレームバッファに画像を描画するGPU(Graphics Processing Unit)も含まれている。
記憶部32は、例えばROMやRAM等の記憶素子やハードディスクドライブなどである。記憶部32には、プロセッサ30によって実行されるプログラムなどが記憶される。また、本実施形態に係る記憶部32には、GPUにより画像が描画されるフレームバッファの領域が確保されている。
通信部34は、例えば無線LANモジュールなどの通信インタフェースなどである。
入出力部36は、HDMI(登録商標)(High-Definition Multimedia Interface)ポート、USBポートなどの入出力ポートである。
本実施形態に係る中継装置16は、エンタテインメント装置14から出力される映像信号や音声信号を中継してディスプレイ18に出力するコンピュータである。
本実施形態に係るディスプレイ18は、例えば液晶ディスプレイ等であり、エンタテインメント装置14から出力される映像信号が表す映像などを表示させる。
本実施形態に係るカメラマイクユニット20は、例えば被写体を撮像した画像をエンタテインメント装置14に出力するカメラ20a及び周囲の音声を取得して当該音声を音声データに変換してエンタテインメント装置14に出力するマイク20bを含んでいる。また本実施形態に係るカメラ20aはステレオカメラである。
トラッカー12と中継装置16とは、例えば、無線によるデータの送受信が互いに可能になっている。エンタテインメント装置14と中継装置16とは、例えば、HDMIケーブルやUSBケーブルなどを介して接続されており、データの送受信が互いに可能になっている。中継装置16とディスプレイ18とは、例えば、HDMIケーブルなどを介して接続されている。エンタテインメント装置14とカメラマイクユニット20とは、例えば、AUXケーブルなどを介して接続されている。
本実施形態では例えば、エンタテインメント装置14によってゲームプログラムが実行されている際に、図3に示すスケルトンモデル40における、ユーザの体に含まれる複数の部位の位置又は向きに応じたゲーム処理等の各種の処理が実行される。そして当該処理の結果に応じた映像が例えばディスプレイ18に表示される。
図3に示すように、本実施形態に係るスケルトンモデル40には、頭部ノード42a、左手ノード42b、右手ノード42c、左足ノード42d、右足ノード42eが含まれている。頭部ノード42aは、トラッカー12aが装着されるユーザの頭部に相当する。左手ノード42bは、トラッカー12bが装着されるユーザの左手に相当する。右手ノード42cは、トラッカー12cが装着されるユーザの右手に相当する。左足ノード42dは、トラッカー12dが装着されるユーザの左足に相当する。右足ノード42eは、トラッカー12eが装着されるユーザの右足に相当する。
またスケルトンモデル40には、上記のノード42の他に、胸部ノード42f、腰部ノード42g、左肩ノード42h、左肘ノード42i、左手首ノード42jが含まれている。またスケルトンモデル40には、さらに、右肩ノード42k、右肘ノード42l、右手首ノード42m、左膝ノード42n、左足首ノード42o、右膝ノード42p、右足首ノード42qが含まれている。
ここで図3に示すように、頭部ノード42aと胸部ノード42fとはリンクで接続されている。また胸部ノード42fと腰部ノード42gとはリンクで接続されている。
また胸部ノード42fと左肩ノード42hとはリンクで接続されている。また左肩ノード42hと左肘ノード42iとはリンクで接続されている。また左肘ノード42iと左手首ノード42jとはリンクで接続されている。また左手首ノード42jと左手ノード42bとはリンクで接続されている。
また胸部ノード42fと右肩ノード42kとはリンクで接続されている。また右肩ノード42kと右肘ノード42lとはリンクで接続されている。また右肘ノード42lと右手首ノード42mとはリンクで接続されている。また右手首ノード42mと右手ノード42cとはリンクで接続されている。
また腰部ノード42gと左膝ノード42nとはリンクで接続されている。また左膝ノード42nと左足首ノード42oとはリンクで接続されている。また左足首ノード42oと左足ノード42dとはリンクで接続されている。
また腰部ノード42gと右膝ノード42pとはリンクで接続されている。また右膝ノード42pと右足首ノード42qとはリンクで接続されている。また右足首ノード42qと右足ノード42eとはリンクで接続されている。
これらのノード42は、それぞれユーザの体に含まれる部位に対応している。そして本実施形態では例えば、複数のトラッカー12について特定される位置及び向きに基づくボディトラッキングが行える。ここでは例えば、スケルトンモデル40に含まれる複数のノード42のそれぞれについての、初期状態における基準の位置に対する位置及び初期状態における基準の向きに対する向きの推定が実行される。
ここで例えば、トラッカー12aについて特定される位置及び向きを示すデータに基づいて、頭部ノード42aの位置及び向きは決定できる。同様に、トラッカー12bについて特定される位置及び向きを示すデータに基づいて、左手ノード42bの位置及び向きは決定できる。また、トラッカー12cについて特定される位置及び向きを示すデータに基づいて、右手ノード42cの位置及び向きは決定できる。また、トラッカー12dについて特定される位置及び向きを示すデータに基づいて、左足ノード42dの位置及び向きは決定できる。また、トラッカー12eについて特定される位置及び向きを示すデータに基づいて、右足ノード42eの位置及び向きは決定できる。
そして決定される頭部ノード42a、左手ノード42b、右手ノード42c、左足ノード42d、右足ノード42eの位置及び向きを示すデータに基づいて、例えば逆運動学(IK)計算や機械学習などによって、他のノード42の位置及び向きが推定される。
トラッカー12は種類によって一長一短があるため、複数の種類のトラッカー12を併用して使用することが望ましいことがある。そのため、複数の種類のトラッカー12を併用して使用する場合には、当該複数の種類のトラッカー12の位置が1つの座標系で表現できるよう例えば出荷前などにおいて事前にキャリブレーションが実行される必要がある。当該キャリブレーションは、これら複数の種類のトラッカー12の相対的な位置及び姿勢が固定されている状態で行われる必要がある。
ここでこれら複数の種類のトラッカー12が同じ位置にあると仮定してキャリブレーションを実行すると、当該キャリブレーションの結果に大きな誤差が生じてしまう。ここでこのような誤差の発生を抑えるために、予め計測されたこれら複数の種類のトラッカー12の相対的な位置を用いたキャリブレーションを実行することも考えられるが、このような事前の計測は面倒である。
そこで本実施形態では以下で説明するようにして、複数の種類のトラッカー12の相対的な位置を予め計測することなくこれらのトラッカー12のキャリブレーションを実行できるようにした。
以下、本実施形態におけるトラッカー12のキャリブレーションに関するエンタテインメント装置14の機能、及び、エンタテインメント装置14で実行される処理についてさらに説明する。
図4は、本実施形態に係るエンタテインメント装置14で実装される機能の一例を示す機能ブロック図である。なお、本実施形態に係るエンタテインメント装置14で、図4に示す機能のすべてが実装される必要はなく、また、図4に示す機能以外の機能が実装されていても構わない。
図4に示すように本実施形態に係るエンタテインメント装置14には、機能的には例えば、トラッカーデータ取得部50、トラッカーデータ記憶部52、計測タイミングデータ変換部54、サンプルデータ生成部56、パラメータ推定部58、パラメータデータ記憶部60が含まれる。
トラッカーデータ取得部50は、プロセッサ30及び入出力部36を主として実装される。トラッカーデータ記憶部52、パラメータデータ記憶部60は、記憶部32を主として実装される。計測タイミングデータ変換部54、サンプルデータ生成部56、パラメータ推定部58は、プロセッサ30を主として実装される。
以上の機能は、コンピュータであるエンタテインメント装置14にインストールされた、以上の機能に対応する指令を含むプログラムをプロセッサ30で実行することにより実装されてもよい。このプログラムは、例えば、光ディスク、磁気ディスク、磁気テープ、光磁気ディスク、フラッシュメモリ等のコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどを介してエンタテインメント装置14に供給されてもよい。
以下、第1の種類のトラッカー12であるトラッカー12aと、第2の種類のトラッカー12であるトラッカー12bと、を用いて行われるキャリブレーションの一例について説明する。キャリブレーションでは、まず、例えばユーザがトラッカー12a及びトラッカー12bの両方を片手で持つなどして、トラッカー12aに対するトラッカー12bの相対的な位置及び向きが固定されている状態にする。そしてこの状態を維持したままユーザがある程度の時間、トラッカー12a及びトラッカー12bを自由に動かすこととする。
トラッカーデータ取得部50は、本実施形態では例えば、キャリブレーションが行われている間における、トラッカー12の位置及び向きの計測結果を示すトラッカーデータを取得する。
ここで例えば、トラッカー12の位置及び向きの計測に応じて、当該計測の結果を示すトラッカーデータが当該トラッカー12からエンタテインメント装置14に送信されてもよい。そしてトラッカーデータ取得部50が当該トラッカーデータを受信してもよい。また例えばトラッカー12の周囲に配置されたセンサから当該トラッカー12の位置及び向きの計測の結果を示すトラッカーデータがエンタテインメント装置14に送信されてもよい。そしてトラッカーデータ取得部50が当該トラッカーデータを受信してもよい。なお本実施形態では、トラッカー12の位置及び向きの計測の結果を示すトラッカーデータには、当該トラッカー12の識別情報、及び、計測が行われるタイミングに対応付けられる計測タイミングデータが関連付けられていることとする。
以下、トラッカー12aの位置及び向きが第1の座標系で表現されたトラッカーデータを第1のトラッカーデータと呼ぶこととする。また、トラッカー12bの位置及び向きが第2の座標系で表現されたトラッカーデータを第2のトラッカーデータと呼ぶこととする。
上述のように本実施形態では例えば、第1のサンプリングレートでトラッカー12aの位置及び向きの計測が行われる。そしてトラッカーデータ取得部50は、第1のサンプリングレートで計測タイミングが互いに異なる第1のトラッカーデータを複数取得する。また上述のように本実施形態では例えば、第2のサンプリングレートでトラッカー12bの位置及び向きの計測が行われる。そしてトラッカーデータ取得部50は、第2のサンプリングレートで計測タイミングが互いに異なる第2のトラッカーデータを複数取得する。
トラッカーデータ記憶部52は、本実施形態では例えば、トラッカーデータ取得部50が取得するトラッカーデータを記憶する。ここで上述のようにトラッカーデータ記憶部52に記憶されるトラッカーデータには、トラッカー12の識別情報及び計測タイミングデータが関連付けられていてもよい。ここでは例えば、トラッカーデータ記憶部52は、上述の複数の第1のトラッカーデータと、上述の複数の第2のトラッカーデータと、を記憶する。
計測タイミングデータ変換部54は、本実施形態では例えば、複数の第1のトラッカーデータ、又は、複数の第2のトラッカーデータのいずれかについて、当該トラッカーデータに関連付けられている計測タイミングデータを変換する。一般的に、第1の種類のトラッカー12と第2の種類のトラッカー12とでは、計測タイミングデータが示す計測タイミングの表現形式が異なっている。例えば第1の種類のトラッカー12についての計測タイミングデータが示す計測タイミングはタイムスタンプ値で表現される一方で、第2の種類のトラッカー12についての計測タイミングデータが示す計測タイミングは秒で表現される。また一般的に、第1の種類のトラッカー12と第2の種類のトラッカー12とでは、計測タイミングデータの値が0であるタイミングに相当する時刻も異なっている。このことを踏まえ、計測タイミングデータ変換部54は、計測タイミングの表現形式、及び、計測タイミングデータの値が0であるタイミングに相当する時刻を統一させるために計測タイミングデータの変換を実行する。
計測タイミングデータ変換部54は、例えば、複数の第1のトラッカーデータに基づいて、トラッカー12aの速度の時系列を特定する。また計測タイミングデータ変換部54は、例えば、複数の第2のトラッカーデータに基づいて、トラッカー12bの速度の時系列を特定する。図5は、第1の種類のトラッカー12であるトラッカー12aについての計測タイミングデータの値と速度との関係の一例を模式的に示した図である。図6は、第2の種類のトラッカー12であるトラッカー12bについての計測タイミングデータの値と速度との関係の一例を模式的に示した図である。ここで例えば、トラッカー12aについての計測タイミングデータの値と速度との対応と、トラッカー12bについての当該対応とが概ね同じになるよう、トラッカー12aについてのトラッカーデータに関連付けられている計測タイミングデータが変換されてもよい。なお図5及び図6に示されている速度は、速度のノルムである。
ここで例えば、速度が遅い際の計測タイミングデータの値同士が対応付けられるよう、トラッカー12aについてのトラッカーデータに関連付けられている計測タイミングデータが変換されてもよい。例えば図5にA1〜A7と示されているタイミング、及び、図6にB1〜B7と示されているタイミングにおける速度は、所定の速度以下であることとする。この場合、例えば公知の補間技術を用いて、図5にA1〜A7と示されているタイミングにおける計測タイミングデータの値が概ねそれぞれ図6にB1〜B7と示されているタイミングにおける計測タイミングデータの値となるような変換が実行されてもよい。なおここで例えば、速度が0になるタイミングにおける計測タイミングデータの値同士が一致するような変換が実行されてもよい。
計測タイミングデータ変換部54による変換によって、例えば、第1のトラッカーデータに関連付けられている計測タイミングデータが示す計測タイミングが秒で表現される。また第1の種類のトラッカー12と第2の種類のトラッカー12との、計測タイミングデータの値が0であるタイミングに相当する時刻が同じ、あるいは、概ね同じになる。
なお計測タイミングデータ変換部54が、速度の時系列の代わりに、加速度の時系列や角速度の時系列に基づいて、計測タイミングデータを変換してもよい。また計測タイミングデータ変換部54が、速度のノルムの時系列の代わりに、加速度のノルムの時系列や角速度のノルムの時系列に基づいて、計測タイミングデータを変換してもよい。例えば、トラッカー12aについての計測タイミングデータの値と加速度との対応と、トラッカー12bについての当該対応とが概ね同じになるよう、トラッカー12aについてのトラッカーデータに関連付けられている計測タイミングデータが変換されてもよい。また例えば、トラッカー12aについての計測タイミングデータの値と角速度との対応と、トラッカー12bについての当該対応とが概ね同じになるよう、トラッカー12aについてのトラッカーデータに関連付けられている計測タイミングデータが変換されてもよい。
サンプルデータ生成部56は、本実施形態では例えば、計測タイミングが互いに対応付けられる第1のトラッカーデータと第2のトラッカーデータとを含むサンプルデータを複数生成する。ここでは例えば、計測タイミングデータの値が互いに対応付けられる、第1のトラッカーデータと第2のトラッカーデータとを含むサンプルデータが複数生成されてもよい。ここで例えば、50個〜200個程度のサンプルデータが生成されてもよい。
またサンプルデータ生成部56が、トラッカー12aの速度、加速度、又は、角速度のうちの少なくとも1つの時系列とトラッカー12bの速度、加速度、又は、角速度のうちの少なくとも1つの時系列とに基づいて、計測のタイミングが互いに対応付けられる複数のサンプルデータを生成してもよい。またサンプルデータ生成部56が、トラッカー12aの速度、加速度、又は、角速度のうちの少なくとも1つのノルムの時系列とトラッカー12bの速度、加速度、又は、角速度のうちの少なくとも1つのノルムの時系列とに基づいて、計測のタイミングが互いに対応付けられる複数のサンプルデータを生成してもよい。例えば上述のように、トラッカー12aの速度の時系列とトラッカー12bの速度の時系列とに基づいて計測タイミングデータが変換されたトラッカーデータに基づいて、計測のタイミングが互いに対応付けられる複数のサンプルデータが生成されてもよい。なお速度のノルムの時系列の代わりに、加速度のノルムの時系列や角速度のノルムの時系列に基づいて、複数のサンプルデータが生成されてもよい。またノルムの代わりにベクトルの時系列に基づいて、複数のサンプルデータが生成されてもよい。
またサンプルデータ生成部56は、位置又は向きのばらつきが大きくなるよう選択される第1のトラッカーデータ及び第2のトラッカーデータに基づいて、複数のサンプルデータを生成してもよい。例えば、トラッカー12aやトラッカー12bの位置のばらつきがなるべく大きくなるよう複数のサンプルデータが生成されてもよい。また例えばトラッカー12bの向きのばらつきがなるべく大きくなるよう複数のサンプルデータが生成されてもよい。
パラメータ推定部58は、本実施形態では例えば、複数の第1のトラッカーデータと複数の第2のトラッカーデータとに基づいて、第2の座標系で表現される位置を第1の座標系での表現に変換するパラメータの値を推定する。またパラメータ推定部58は、本実施形態では例えば、上述のパラメータの値だけではなく、トラッカー12aの位置に対するトラッカー12bの相対的な位置についても併せて推定する。
ここでは例えば、P1=Rc×(P2+R2×P0)+Pcとの数式における左辺の値と右辺の値との誤差がなるべく小さくなるよう、値Rc、値P0、及び、値Pcの推定が行われる。当該誤差の指標の一例としては、それぞれのサンプルデータについて算出される上述の数式における左辺の値と右辺の値との差の二乗平均平方根(RMS)が挙げられる。ここで例えば、最急降下法などを用いた逐次的な推定が行われてもよい。
ここで値P1は例えば、第1の座標系で表現されたトラッカー12aの位置ベクトルを表す三次元座標値である。ここでは例えばサンプルデータ生成部56により生成されるサンプルデータに含まれる、第1のトラッカーデータに示されているトラッカー12aの位置を表す値が値P1に相当する。
また値P2は例えば、第2の座標系で表現されたトラッカー12bの位置ベクトルを表す三次元座標値である。ここでは例えば、当該サンプルデータに含まれる、第2のトラッカーデータに示されているトラッカー12bの位置を表す値が値P2に相当する。
また値R2は例えば、第2の座標系で表現された所定の基準方向に対するトラッカー12bの回転を表す回転行列である。ここでは例えば、当該サンプルデータに含まれる、第2のトラッカーデータに示されているトラッカー12bの向きを表す値が値R2に相当する。
そして推定される値Rc、及び、値Pcは、第2の座標系で表現される位置を第1の座標系での表現に変換するパラメータの値に相当する。例えば値Rc、及び、値Pcは、それぞれ、第2の座標系で表現される位置を第1の座標系での表現に変換するための回転行列、及び、平行移動ベクトルである。
また推定される値P0は、トラッカー12aの位置に対するトラッカー12bの相対的な位置を示す値に相当する。値P0は、例えば、値P1が表す第1の座標系で表現されたトラッカー12aの位置ベクトルを第2の座標系での表現に変換した位置を基準とした際の、値P2が表す第2の座標系で表現されたトラッカー12bの相対的な位置を示す値である。
パラメータデータ記憶部60は、本実施形態では例えば、第2の座標系で表現される位置を第1の座標系での表現に変換するパラメータの値、及び、トラッカー12aの位置に対するトラッカー12bの相対的な位置を示すパラメータデータを記憶する。ここでは例えば、パラメータ推定部58が、キャリブレーションが終了した際の値Rc、値P0、及び、値Pcを示すパラメータデータを生成して、パラメータデータ記憶部60に記憶させる。
キャリブレーションが終了した後は、図1に示すようにトラッカー12a、トラッカー12b、トラッカー12c、トラッカー12d、及び、トラッカー12eがユーザの体に装着された状態におけるボディトラッキングが開始される。当該ボディトラッキングにおいては、以上のようにしてパラメータデータ記憶部60に記憶されたパラメータデータに基づいて、トラッカー12b、トラッカー12c、トラッカー12d、及び、トラッカー12eの位置及び向きが第1の座標系で表現可能となる。そのため、トラッカー12a、トラッカー12b、トラッカー12c、トラッカー12d、及び、トラッカー12eのすべての位置が1つの座標系で表現できることとなる。そして第1の座標系で表現されたトラッカー12a、トラッカー12b、トラッカー12c、トラッカー12d、及び、トラッカー12eの位置及び向きに基づくボディトラッキングが行われる。
以上のようにして本実施形態によれば、複数の種類のトラッカー12の相対的な位置を予め計測することなくこれらのトラッカー12のキャリブレーションを精度よく実行できることとなる。
また本実施形態では上述のように、値P0を推定するにあたって第2の座標系で表現された所定の基準方向に対するトラッカー12bの回転を表す回転行列の値R2が用いられる。そのため、向きのばらつきが大きくなるよう選択される第1のトラッカーデータ及び第2のトラッカーデータに基づいて複数のサンプルデータが生成されることにより値P0をより精度よく推定できることとなる。
また本実施形態では、キャリブレーションにおいてパラメータ推定部58による上述の推定が行われた後は、トラッカー12aとトラッカー12bとは分離して使用可能である。そしてトラッカー12aとトラッカー12bとが分離して使用された後にトラッカー12aに対するトラッカー12bの相対的な位置及び向きが前回のキャリブレーションとは異なるよう固定されている状態で再度のキャリブレーションが行われてもよい。そして当該再度のキャリブレーションにおいて、パラメータ推定部58が、前回のキャリブレーションとは異なる値P0を推定してもよい。このように本実施形態では、キャリブレーションが行われる度に、トラッカー12aの位置に対するトラッカー12bの相対的な位置が異なっていても問題ない。
ここで、本実施形態に係るエンタテインメント装置14で行われる処理の流れの一例を、図7に例示するフロー図を参照しながら説明する。
ここでは例えば、トラッカーデータ記憶部52に、複数の第1のトラッカーデータ、及び、複数の第2のトラッカーデータが記憶されていることとする。また上述のようにトラッカーデータには、トラッカー12の識別情報、及び、計測タイミングデータが関連付けられていることとする。また、パラメータデータ記憶部60に、所定の初期値が設定された、値Rc、値P0、及び、値Pcを示すパラメータデータが記憶されていることとする。
まず、計測タイミングデータ変換部54が、複数の第1のトラッカーデータのそれぞれについて、上述のようにして、当該トラッカーデータに関連付けられている計測タイミングデータを変換する(S101)。
そして、サンプルデータ生成部56が、計測タイミングが互いに対応付けられる第1のトラッカーデータと第2のトラッカーデータとを含むサンプルデータを複数生成する(S102)。
そして、パラメータ推定部58が、S102に示す処理で生成された複数のサンプルデータのうち、S104及びS105に示す処理が実行されていないものを1つ選択する(S103)。
そして、パラメータ推定部58が、上述のようにして、S103に示す処理で選択されたサンプルデータに基づいて、本ループにおける、値Rc、値P0、及び、値Pcを推定する(S104)。
そして、パラメータ推定部58が、パラメータデータ記憶部60に記憶されているパラメータデータを、S104に示す処理で推定された値Rc、値P0、及び、値Pcを示すパラメータデータに更新する(S105)。
そして、パラメータ推定部58が、S102に示す処理で生成された複数のサンプルデータのすべてについてS104及びS105に示す処理が実行されたか否かを確認する(S106)。ここでS102に示す処理で生成された複数のサンプルデータのすべてについてS104及びS105に示す処理がまだ実行されていない場合は(S106:N)、S103に示す処理に戻る。一方、S102に示す処理で生成された複数のサンプルデータのすべてについてS104及びS105に示す処理が実行されたことが確認された場合は(S106:Y)、本処理例に示す処理が終了される。
以上の説明では、図1に示すようにトラッカー12a〜12eがユーザの体に装着された状態における各トラッカー12の位置及び向きの特定が行われる前に、キャリブレーションが行われることを想定していた。
ここで例えば、図8に示すように、トラッカー12a及びトラッカー12fが、トラッカー12aに対するトラッカー12fの相対的な位置及び向きが固定されている状態で筐体70に設けられていてもよい。ここでトラッカー12fは、第2の種類のトラッカー12であることとする。そしてこの状態で、トラッカー12a、トラッカー12b、トラッカー12c、トラッカー12d、及び、トラッカー12eの位置及び向きに基づくボディトラッキングが行われるようにしてもよい。そしてボディトラッキングが行われている間に、リアルタイムでキャリブレーションが実行されるようにしてもよい。
この場合、例えば、サンプルデータ生成部56は、互いに計測タイミングが対応付けられるトラッカー12aについてのトラッカーデータとトラッカー12fについてのトラッカーデータとを含むサンプルデータを生成する。ここでトラッカー12aについてのトラッカーデータでは、第1の座標系によりトラッカー12aの位置及び向きが表現されている。またトラッカー12fについてのトラッカーデータでは、第2の座標系によりトラッカー12fの位置及び向きが表現されている。
そしてパラメータ推定部58は、当該サンプルデータに基づくパラメータデータの更新を行うか否かを判定する。
ここで例えば、当該サンプルデータが示す位置が、既に推定に用いられたサンプルデータが示す位置からある程度離れている場合には、当該サンプルデータに基づくパラメータデータの更新を行うと判定されてもよい。例えば当該サンプルデータが示す位置が、既に推定に用いられたサンプルデータが示す位置の平均から所定の距離以上離れている場合には、当該サンプルデータに基づくパラメータデータの更新を行うと判定されてもよい。
また例えば、当該サンプルデータが示すトラッカー12fの向きが、既に推定に用いられたサンプルデータが示すトラッカー12fの向きからある程度離れている場合に、当該サンプルデータに基づくパラメータデータの更新を行うと判定されてもよい。例えば、当該サンプルデータが示すトラッカー12fの向きが、既に推定に用いられたサンプルデータが示すトラッカー12fの向きの平均と所定の角度以上異なっている場合に、当該サンプルデータに基づくパラメータデータの更新を行うと判定されてもよい。
そしてパラメータ推定部58が、パラメータデータの更新を行うと判定されたサンプルデータに基づいて、当該ループにおける、値Rc、値P0、及び、値Pcの推定を行ってもよい。そしてパラメータ推定部58が、パラメータデータ記憶部60に記憶されているパラメータデータを、推定された値Rc、値P0、及び、値Pcを示すパラメータデータに更新してもよい。
このようにすれば、ボディトラッキングが行われている間におけるリアルタイムでのキャリブレーション(ここではすなわちパラメータの値の推定及びパラメータデータの更新)が可能となる。
また本実施形態において、第2の種類のトラッカー12の位置や向きが、第1の種類のトラッカー12の位置や向きからの相対的な位置や向きとして表現されるような運用を行っても構わない。例えば位置P1を原点とした際の、第1の座標系への変換後の位置P2の位置ベクトルが、トラッカー12bの位置ベクトルとして用いられるようにしてもよい。またこの場合であって、図8に示すような、トラッカー12aに対するトラッカー12fの相対的な位置及び向きが常に固定されるような場合以外は、出荷前のキャリブレーションができない。例えば、第1の種類のトラッカー12の原点と第2の種類のトラッカー12の原点とをユーザが任意に設定できるような場合には、出荷前のキャリブレーションはできない。このような出荷前のキャリブレーションができない場面でも本実施形態では、上述のようにしてユーザがキャリブレーションを容易に行うことができる。
なお、本発明は上述の実施形態に限定されるものではない。
例えばトラッカー12の追跡方法は、上述したような、SLAM(Simultaneous Localization and Mapping)技術を用いた方法や、トラッカー12の周囲に配置された複数のセンサによる検出結果に基づく方法には限定されない。例えばトラッカー12が、カメラ、慣性センサ(IMU)、地磁気センサ(方位センサ)、加速度センサ、モーションセンサ、GPS(Global Positioning System)モジュールなどといった各種センサを備えていてもよい。そして当該トラッカー12が備えるセンサによる計測結果に基づいて、当該トラッカー12の位置及び向きが特定されてもよい。
また、図4に示す機能の一部又は全部がエンタテインメント装置14で実装されている必要はない。例えば、図4に示す機能の一部又は全部がいずれかのトラッカー12に実装されていてもよい。
また、上記の具体的な文字列や数値及び図面中の具体的な文字列や数値は例示であり、これらの文字列や数値には限定されない。

Claims (10)

  1. 第1のトラッカーに対する第2のトラッカーの相対的な位置及び向きが固定されている状態で行われるキャリブレーションにおいて計測される、第1の座標系で表現される前記第1のトラッカーの位置を示す第1のトラッカーデータを複数取得する第1トラッカーデータ取得部と、
    前記キャリブレーションにおいて計測される、前記第1の座標系とは独立している第2の座標系で表現される前記第2のトラッカーの位置及び向きを示す第2のトラッカーデータを複数取得する第2トラッカーデータ取得部と、
    複数の前記第1のトラッカーデータと複数の前記第2のトラッカーデータとに基づいて、前記第2の座標系で表現される位置を前記第1の座標系での表現に変換するパラメータの値、及び、前記第1のトラッカーの位置に対する前記第2のトラッカーの相対的な位置を推定する推定部と、
    を含むことを特徴とするトラッカーのキャリブレーション装置。
  2. 計測タイミングが互いに対応付けられる前記第1のトラッカーデータ及び前記第2のトラッカーデータを含むサンプルデータを複数生成するサンプルデータ生成部、をさらに含み、
    前記推定部は、複数の前記サンプルデータに基づいて、前記第2の座標系で表現される位置を前記第1の座標系での表現に変換するパラメータの値、及び、前記第1のトラッカーの位置に対する前記第2のトラッカーの相対的な位置を推定する、
    ことを特徴とする請求項1に記載のトラッカーのキャリブレーション装置。
  3. 前記サンプルデータ生成部は、向きのばらつきが大きくなるよう選択される前記第1のトラッカーデータ及び前記第2のトラッカーデータに基づいて、複数の前記サンプルデータを生成する、
    ことを特徴とする請求項2に記載のトラッカーのキャリブレーション装置。
  4. 前記サンプルデータ生成部は、複数の前記第1のトラッカーデータに基づいて特定される前記第1のトラッカーの速度、加速度、又は、角速度のうちの少なくとも1つの時系列と複数の前記第2のトラッカーデータに基づいて特定される前記第2のトラッカーの速度、加速度、又は、角速度のうちの少なくとも1つの時系列とに基づいて、計測のタイミングが互いに対応付けられる複数の前記サンプルデータを生成する、
    ことを特徴とする請求項2又は3に記載のトラッカーのキャリブレーション装置。
  5. 前記サンプルデータ生成部は、前記第1のトラッカーの速度、加速度、又は、角速度のうちの少なくとも1つのノルムの時系列と複数の前記第2のトラッカーデータに基づいて特定される前記第2のトラッカーの速度、加速度、又は、角速度のうちの少なくとも1つのノルムの時系列とに基づいて、計測のタイミングが互いに対応付けられる複数の前記サンプルデータを生成する、
    ことを特徴とする請求項4に記載のトラッカーのキャリブレーション装置。
  6. 前記第1のトラッカー及び前記第2のトラッカーは、前記第1のトラッカーに対する前記第2のトラッカーの相対的な位置及び向きが固定されている状態で筐体に設けられている、
    ことを特徴とする請求項1から5のいずれか一項に記載のトラッカーのキャリブレーション装置。
  7. 前記第1のトラッカー及び前記第2のトラッカーは、互いに異なる種類のトラッカーである、
    ことを特徴とする請求項1から6のいずれか一項に記載のトラッカーのキャリブレーション装置。
  8. 前記キャリブレーションにおいて前記推定部により前記第2の座標系で表現される位置を前記第1の座標系での表現に変換するパラメータの値、及び、前記第1のトラッカーの位置に対する前記第2のトラッカーの相対的な位置が推定された後は、前記第1のトラッカーと前記第2のトラッカーとは分離して使用可能であり、
    前記第1のトラッカーと前記第2のトラッカーとが分離して使用された後に前記第1のトラッカーに対する前記第2のトラッカーの相対的な位置及び向きが前回の前記キャリブレーションとは異なるよう固定されている状態で行われる再度の前記キャリブレーションにおいて、前記推定部は、前回の前記キャリブレーションとは異なる前記第1のトラッカーの位置に対する前記第2のトラッカーの相対的な位置を推定する、
    ことを特徴とする請求項1から7のいずれか一項に記載のトラッカーのキャリブレーション装置。
  9. 第1のトラッカーに対する第2のトラッカーの相対的な位置及び向きが固定されている状態で行われるキャリブレーションにおいて計測される、第1の座標系で表現される前記第1のトラッカーの位置を示す第1のトラッカーデータを複数取得するステップと、
    前記キャリブレーションにおいて計測される、前記第1の座標系とは独立している第2の座標系で表現される前記第2のトラッカーの位置及び向きを示す第2のトラッカーデータを複数取得するステップと、
    複数の前記第1のトラッカーデータと複数の前記第2のトラッカーデータとに基づいて、前記第2の座標系で表現される位置を前記第1の座標系での表現に変換するパラメータの値、及び、前記第1のトラッカーの位置に対する前記第2のトラッカーの相対的な位置を推定するステップと、
    を含むことを特徴とするトラッカーのキャリブレーション方法。
  10. 第1のトラッカーに対する第2のトラッカーの相対的な位置及び向きが固定されている状態で行われるキャリブレーションにおいて計測される、第1の座標系で表現される前記第1のトラッカーの位置を示す第1のトラッカーデータを複数取得する手順、
    前記キャリブレーションにおいて計測される、前記第1の座標系とは独立している第2の座標系で表現される前記第2のトラッカーの位置及び向きを示す第2のトラッカーデータを複数取得する手順、
    複数の前記第1のトラッカーデータと複数の前記第2のトラッカーデータとに基づいて、前記第2の座標系で表現される位置を前記第1の座標系での表現に変換するパラメータの値、及び、前記第1のトラッカーの位置に対する前記第2のトラッカーの相対的な位置を推定する手順、
    をコンピュータに実行させることを特徴とするプログラム。
JP2020554673A 2018-10-31 2018-10-31 トラッカーのキャリブレーション装置、トラッカーのキャリブレーション方法及びプログラム Active JP6975347B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/040530 WO2020090042A1 (ja) 2018-10-31 2018-10-31 トラッカーのキャリブレーション装置、トラッカーのキャリブレーション方法及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2020090042A1 true JPWO2020090042A1 (ja) 2021-06-10
JP6975347B2 JP6975347B2 (ja) 2021-12-01

Family

ID=70463030

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020554673A Active JP6975347B2 (ja) 2018-10-31 2018-10-31 トラッカーのキャリブレーション装置、トラッカーのキャリブレーション方法及びプログラム

Country Status (5)

Country Link
US (1) US20220001272A1 (ja)
EP (1) EP3875898A4 (ja)
JP (1) JP6975347B2 (ja)
CN (1) CN112888914B (ja)
WO (1) WO2020090042A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11590402B2 (en) * 2018-05-31 2023-02-28 The Quick Board, Llc Automated physical training system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002512069A (ja) * 1998-04-17 2002-04-23 マサチューセッツ インスティテュート オブ テクノロジー 動き追跡システム
JP2002528168A (ja) * 1998-10-23 2002-09-03 バリアン・メディカル・システムズ・インコーポレイテッド 患者を位置決めする方法とシステム
JP2007535373A (ja) * 2004-04-28 2007-12-06 キナメッド・インコーポレーテッド 手術中における解剖学的構造体の追跡を検証し補正する方法及び装置
JP2008507367A (ja) * 2004-07-23 2008-03-13 カリプソー メディカル テクノロジーズ インコーポレイテッド 患者内のターゲットを治療するための統合放射線治療システム及び方法
WO2016002318A1 (ja) * 2014-06-30 2016-01-07 ソニー株式会社 情報処理装置及び情報処理方法、コンピューター・プログラム、並びに画像処理システム
JP2016101640A (ja) * 2014-11-28 2016-06-02 ファナック株式会社 工作機械及びロボットを備えた協働システム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100437145C (zh) * 2005-12-19 2008-11-26 北京威亚视讯科技有限公司 位置姿态跟踪系统
CA2700478A1 (en) * 2008-03-13 2009-09-17 Orthosoft Inc. Tracking cas system
US9579161B2 (en) * 2008-05-06 2017-02-28 Medtronic Navigation, Inc. Method and apparatus for tracking a patient
US8761434B2 (en) * 2008-12-17 2014-06-24 Sony Computer Entertainment Inc. Tracking system calibration by reconciling inertial data with computed acceleration of a tracked object in the three-dimensional coordinate system
US8685093B2 (en) * 2009-01-23 2014-04-01 Warsaw Orthopedic, Inc. Methods and systems for diagnosing, treating, or tracking spinal disorders
CN101789126B (zh) * 2010-01-26 2012-12-26 北京航空航天大学 基于体素的三维人体运动跟踪方法
US20120220233A1 (en) * 2011-02-28 2012-08-30 Qualcomm Incorporated Ranging with body motion capture
US10088971B2 (en) * 2014-12-10 2018-10-02 Microsoft Technology Licensing, Llc Natural user interface camera calibration
US9746921B2 (en) * 2014-12-31 2017-08-29 Sony Interactive Entertainment Inc. Signal generation and detector systems and methods for determining positions of fingers of a user

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002512069A (ja) * 1998-04-17 2002-04-23 マサチューセッツ インスティテュート オブ テクノロジー 動き追跡システム
JP2002528168A (ja) * 1998-10-23 2002-09-03 バリアン・メディカル・システムズ・インコーポレイテッド 患者を位置決めする方法とシステム
JP2007535373A (ja) * 2004-04-28 2007-12-06 キナメッド・インコーポレーテッド 手術中における解剖学的構造体の追跡を検証し補正する方法及び装置
JP2008507367A (ja) * 2004-07-23 2008-03-13 カリプソー メディカル テクノロジーズ インコーポレイテッド 患者内のターゲットを治療するための統合放射線治療システム及び方法
WO2016002318A1 (ja) * 2014-06-30 2016-01-07 ソニー株式会社 情報処理装置及び情報処理方法、コンピューター・プログラム、並びに画像処理システム
JP2016101640A (ja) * 2014-11-28 2016-06-02 ファナック株式会社 工作機械及びロボットを備えた協働システム

Also Published As

Publication number Publication date
CN112888914B (zh) 2023-02-28
JP6975347B2 (ja) 2021-12-01
EP3875898A1 (en) 2021-09-08
US20220001272A1 (en) 2022-01-06
WO2020090042A1 (ja) 2020-05-07
EP3875898A4 (en) 2022-07-06
CN112888914A (zh) 2021-06-01

Similar Documents

Publication Publication Date Title
US11083950B2 (en) Information processing apparatus and information processing method
WO2019203189A1 (ja) プログラム、情報処理装置、及び情報処理方法
CN101579238B (zh) 人体运动捕获三维再现系统及其方法
US11605192B2 (en) Skeleton model update apparatus, skeleton model update method, and program
JP2019012965A (ja) 映像制御方法、映像制御装置、及び映像制御プログラム
WO2020110659A1 (ja) 情報処理装置、情報処理方法、およびプログラム
US11763464B2 (en) Estimation apparatus, learning apparatus, estimation method, learning method, and program
JP6975347B2 (ja) トラッカーのキャリブレーション装置、トラッカーのキャリブレーション方法及びプログラム
US11589778B2 (en) Body size estimation apparatus, body size estimation method, and program
JP2009048237A (ja) 画像処理装置、画像処理方法
US20180216959A1 (en) A Combined Motion Capture System
JP6874207B2 (ja) 推定装置、推定方法及びプログラム
JP7038798B2 (ja) 位置推定装置、位置推定方法及びプログラム
US20230112409A1 (en) Motion determination apparatus, learning apparatus, motion determination method, learning method, and program
US20210390750A1 (en) Skeleton model update apparatus, skeleton model update method, and program
JP2020071394A (ja) 情報処理装置、情報処理方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201203

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211026

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211105

R150 Certificate of patent or registration of utility model

Ref document number: 6975347

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150