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

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

Info

Publication number
JPWO2019203190A1
JPWO2019203190A1 JP2020514374A JP2020514374A JPWO2019203190A1 JP WO2019203190 A1 JPWO2019203190 A1 JP WO2019203190A1 JP 2020514374 A JP2020514374 A JP 2020514374A JP 2020514374 A JP2020514374 A JP 2020514374A JP WO2019203190 A1 JPWO2019203190 A1 JP WO2019203190A1
Authority
JP
Japan
Prior art keywords
motion
information
sensor
motions
subjects
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
JP2020514374A
Other languages
English (en)
Other versions
JP7318641B2 (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 Corp
Sony Group Corp
Original Assignee
Sony Corp
Sony Group Corp
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 Corp, Sony Group Corp filed Critical Sony Corp
Publication of JPWO2019203190A1 publication Critical patent/JPWO2019203190A1/ja
Application granted granted Critical
Publication of JP7318641B2 publication Critical patent/JP7318641B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1113Local tracking of patients, e.g. in a hospital or private home
    • A61B5/1114Tracking parts of the body
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1121Determining geometric values, e.g. centre of rotation or angular range of movement
    • A61B5/1122Determining geometric values, e.g. centre of rotation or angular range of movement of movement trajectories
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1126Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb using a particular sensing technique
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/74Details of notification to user or communication with user or patient ; user input means
    • A61B5/742Details of notification to user or communication with user or patient ; user input means using visual displays
    • A61B5/744Displaying an avatar, e.g. an animated cartoon character
    • 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
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • 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
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B2562/00Details of sensors; Constructional details of sensor housings or probes; Accessories for sensors
    • A61B2562/02Details of sensors specially adapted for in-vivo measurements
    • A61B2562/0219Inertial sensors, e.g. accelerometers, gyroscopes, tilt switches
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/02Detecting, measuring or recording pulse, heart rate, blood pressure or blood flow; Combined pulse/heart-rate/blood pressure determination; Evaluating a cardiovascular condition not otherwise provided for, e.g. using combinations of techniques provided for in this group with electrocardiography or electroauscultation; Heart catheters for measuring blood pressure
    • A61B5/0205Simultaneously evaluating both cardiovascular conditions and different types of body conditions, e.g. heart and respiratory condition
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7235Details of waveform analysis
    • A61B5/7264Classification of physiological signals or data, e.g. using neural networks, statistical classifiers, expert systems or fuzzy systems
    • A61B5/7267Classification of physiological signals or data, e.g. using neural networks, statistical classifiers, expert systems or fuzzy systems involving training the classification device

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Pathology (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Medical Informatics (AREA)
  • Molecular Biology (AREA)
  • Surgery (AREA)
  • Animal Behavior & Ethology (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Physiology (AREA)
  • Dentistry (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Navigation (AREA)
  • Processing Or Creating Images (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
  • Length Measuring Devices With Unspecified Measuring Means (AREA)
  • User Interface Of Digital Computer (AREA)
  • Manipulator (AREA)

Abstract

【課題】モーションキャプチャ技術を利用してキャプチャした複数の動作主体の動きをブレンドし、ブレンドした動きを仮想空間上のアバター等によってリアルタイムで再現することができるプログラム、情報処理装置、及び情報処理方法を提供する。【解決手段】仮想空間におけるアバター又は実空間上のロボットのモーションを動的に制御する制御機能を、コンピュータに実現させるためのプログラムであって、前記制御機能は、前記実空間上の複数の動作主体に装着されたモーションセンサのそれぞれから当該各動作主体のモーションをキャプチャし、前記複数の動作主体のモーションを所定のアルゴリズムに基づいてブレンドし、前記アバター又は前記ロボットが前記複数の動作主体のモーションが反映されたモーションを行うように、ブレンド結果に基づいて、前記アバター又は前記ロボットのモーションを動的に制御するプログラムを提供する。【選択図】図27

Description

本開示は、プログラム、情報処理装置、及び情報処理方法に関する。
近年、身体の動き情報を取得するためのモーションキャプチャ技術が盛んに開発されている。取得された身体の動き情報は、例えばスポーツにおいてフォーム改善に用いられたり、VR(Virtual Reality)やAR(Augmented Reality)等のアプリケーションに用いられたりしている。
身体の動き情報を取得するため、例えば慣性航法(INS:Inertial Navigation System)を用いて、身体に装着されたモーションセンサにより取得されたセンサデータ(センシングデータ)からモーションセンサの位置を計算することが行われている(例えば下記特許文献1)。
国際公開第2017/217050号公報
ところで、モーションキャプチャ技術の利用方法としては、例えば仮想空間上のアバターによって、上記モーションセンサを用いて取得されたユーザ(パフォーマ、動作主体)の動き(モーション)を可視化することが挙げられる。このような場合、キャプチャしたユーザの動きをリアルタイムで再現するだけでなく、ライブ等のパフォーマンスにおいては、効果的な演出を狙って、アバターに対してはミニマルな表現が求められることがある。
そこで、本開示では、上記事情に鑑みて、モーションキャプチャ技術を利用してキャプチャした複数の動作主体の動きをブレンドし、ブレンドした動きを仮想空間上のアバター等によってリアルタイムで再現することができる、新規且つ改良されたプログラム、情報処理装置、及び情報処理方法を提案する。
本開示によれば、仮想空間におけるアバター又は実空間上のロボットのモーションを動的に制御する制御機能を、コンピュータに実現させるためのプログラムであって、前記制御機能は、前記実空間上の複数の動作主体に装着されたモーションセンサのそれぞれから当該各動作主体のモーションをキャプチャし、前記複数の動作主体のモーションを所定のアルゴリズムに基づいてブレンドし、前記アバター又は前記ロボットが前記複数の動作主体のモーションが反映されたモーションを行うように、ブレンド結果に基づいて、前記アバター又は前記ロボットのモーションを動的に制御するプログラムが提供される。
また、本開示によれば、仮想空間におけるアバター又は実空間上のロボットのモーションを動的に制御する制御部を備え、前記制御部は、前記実空間上の複数の動作主体に装着されたモーションセンサのそれぞれから当該各動作主体のモーションをキャプチャし、前記複数の動作主体のモーションを所定のアルゴリズムに基づいてブレンドし、前記アバター又は前記ロボットが前記複数の動作主体のモーションが反映されたモーションを行うように、ブレンド結果に基づいて、前記アバター又は前記ロボットのモーションを動的に制御する情報処理装置が提供される。
さらに、本開示によれば、実空間上の複数の動作主体に装着されたモーションセンサのそれぞれから当該各動作主体のモーションをキャプチャすることと、前記複数の動作主体のモーションを所定のアルゴリズムに基づいてブレンドすることと、仮想空間におけるアバター又は実空間上のロボットが前記複数の動作主体のモーションが反映されたモーションを行うように、ブレンド結果に基づいて、前記アバター又は前記ロボットのモーションを動的に制御することとを含む情報処理方法が提供される。
以上説明したように本開示によれば、モーションキャプチャ技術を利用してキャプチャした複数の動作主体の動きをブレンドし、ブレンドした動きを仮想空間上のアバター等によってリアルタイムで再現することができる。
なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
本開示の第1の実施形態の概要を説明するためのイメージ図である。 順運動学計算を用いた既存のモーションキャプチャ技術について説明するための説明図である。 順運動学計算について説明するための説明図である。 逆運動学計算を用いたアプローチについて説明するための説明図である。 逆運動学計算について説明するための説明図である。 同実施形態にかかる第1のステップを説明するための説明図である。 同実施形態にかかる第2のステップを説明するための説明図である。 慣性航法に基づく位置推定処理の概略を示す模式図である。 慣性航法に基づく位置推定処理において発生し得る位置誤差の時間変化イメージを示す模式図である。 運動モデルに基づく位置推定処理の概略を示す模式図である。 運動モデルに基づく位置推定処理において発生し得る位置誤差の時間変化イメージを示す模式図である。 同実施形態にかかる位置推定処理の概略を示す模式図である。 同実施形態にかかる位置推定処理において発生し得る位置誤差の時間変化イメージを示す模式図である。 同実施形態にかかるシステムの装置構成の一例を示す図である。 同実施形態にかかるシステムの機能構成の一例を示す図である。 装着部位の組み合わせと運動モデルの例を示す説明図である。 信頼度特定部550による信頼度の特定の一例を示す図である。 同実施形態にかかるシステムの動作例を示すフローチャート図である。 第1の変形例にかかるシステムの機能構成例を示す図である。 第2の変形例にかかるシステムの機能構成例を示す図である。 第3の変形例にかかるシステムの機能構成例を示す図である。 非トラッキング型運動モデルの概要を説明するための説明図である。 トラッキング型運動モデルの概要を説明するための説明図である。 第4の変形例にかかるシステムの機能構成例を示す図である。 第5の変形例にかかるシステムの装置構成例を示す図である。 本開示の第2の実施形態の概要を説明するためのイメージ図である。 同実施形態に係るシステムの機能構成の一例を示す図である。 同実施形態に係るシステムの動作例を示すフローチャート図である。 図28のステップS200での動作を説明するためのフローチャート図である。 同実施形態に係るブレンド率決定手法例1の概要を説明するためのイメージ図である。 同実施形態に係るブレンド率決定手法例1の動作を説明するためのイメージ図(その1)である。 同実施形態に係るブレンド率決定手法例1の動作を説明するためのイメージ図(その2)である。 同実施形態に係るブレンド率決定手法例2の動作を説明するためのイメージ図である。 同実施形態に係るブレンド率決定手法例3の概要を説明するためのイメージ図である。 同実施形態に係るブレンド率決定手法例4の動作を説明するためのイメージ図(その1)である。 同実施形態に係るブレンド率決定手法例4の動作を説明するためのイメージ図(その2)である。 同実施形態に係るブレンド率決定手法例4の動作を説明するための表である。 同実施形態に係るブレンド率決定手法例4の動作を説明するためのイメージ図(その3)である。 同実施形態に係るブレンド率決定手法例5の動作を説明するためのイメージ図である。 同実施形態に係るブレンド率決定手法例6の動作を説明するためのイメージ図である。 同実施形態に係るUI例1を説明するためのイメージ図(その1)である。 同実施形態に係るUI例1を説明するためのイメージ図(その2)である。 同実施形態に係るUI例2を説明するためのイメージ図である。 同実施形態に係るUI例3を説明するためのイメージ図である。 ハードウェア構成例を示す説明図である。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
また、本明細書及び図面において、実質的に同一の機能構成を有する複数の構成要素を、同一の符号の後に異なるアルファベットを付して区別する場合もある。ただし、実質的に同一の機能構成を有する複数の構成要素の各々を特に区別する必要がない場合、同一符号のみを付する。
なお、説明は以下の順序で行うものとする。
<<1.第1の実施形態の概要>>
<<2.本技術の原理>>
<<3.構成例>>
<<4.動作例>>
<<5.変形例>>
<<6.第2の実施形態の概要>>
<<7.ハードウェア構成例>>
<<8.むすび>>
<<1.第1の実施形態の概要>>
人間や動物等の身体の動きの情報を可視化するため、例えば身体の構造を示すスケルトン構造により表現されるスケルトン情報が用いられる。スケルトン構造は、部位の情報と、部位間を結ぶ線分であるボーンを含む。なお、スケルトン構造における部位は、例えば身体の末端部位や関節部位等に対応する。また、スケルトン構造におけるボーンは例えば人間の骨に相当し得るが、ボーンの位置や数は必ずしも実際の人間の骨格と整合していなくてもよい。
スケルトン情報における部位の位置は、例えば対応する身体の各部位にマーカを装着したり、モーションセンサを装着したりすることにより取得することができる。例えば、身体の各部位にマーカを装着して、外部のカメラ等を用いてマーカの位置を取得する技術や、身体の部位にモーションセンサを装着し、モーションセンサにより取得されたセンサデータに基づいてモーションセンサの位置情報を取得する技術が存在する。
身体に装着されたマーカを用いる技術と比べると、身体に装着したモーションセンサを用いた技術では、外部のカメラ、光源、及びマーカが不要であり、持ち運び可能でセットアップが容易であるという利点がある。また、身体に装着したモーションセンサを用いた技術は、カメラの撮像範囲による制限を受けないため、広い屋外空間や、死角の発生し易い複雑な形状の空間、狭小空間等でも利用可能であるという利点がある。
しかし、身体に装着したモーションセンサを用いた技術において全身のスケルトンを推定するためには、各関節にモーションセンサを装着する必要があり、ユーザへの負荷が大きい場合があった。また、多数のモーションセンサをユーザの各部位に適切に装着するための専用スーツも開発されているが、専用スーツは製造コストが高い場合があった。
そこで、本発明者らは、上記事情を一着眼点にして本開示の第1の実施形態を創作するに至った。本開示の第1の実施形態によるシステムでは、装着されるモーションセンサの数を削減しつつ、装着されるモーションセンサより多くの部位の位置情報を取得することが可能である。なお、本明細書においてモーションセンサとは、身体の動きをセンシングするデバイスであり、慣性センサ(加速度センサ、角速度センサ)、地磁気センサ、気圧センサ、イメージセンサ等を含み得る。以下では、モーションセンサとして、少なくとも慣性センサが身体に装着される例について主に説明を行う。
本実施形態の概要について、図1を参照して説明する。図1は、本実施形態の概要を説明するためのイメージ図である。図1に示す例では、ユーザU1の身体の6箇所の部位に、6つのセンサ装置10A〜10Fが装着されている。センサ装置10A〜10Fは、例えば加速度(Acceleration)を取得する加速度センサや角速度(Angular velocity)を取得するジャイロセンサ(角速度センサ)等の慣性センサ(IMU:Inertial Measurement Unit)を含む。センサ装置10A〜10Fは、身体の基準となる関節部位(例えば腰や頭部)、あるいは身体の末端近傍(手首、足首、頭部等)に装着されることが望ましい。図1に示す例では、ユーザU1の腰にセンサ装置10Aが、手首にセンサ装置10B、10Eが、足首にセンサ装置10C、10Dが、頭部にセンサ装置10Fが装着されている。なお、以下の説明において、センサ装置10A〜10Fを特に区別する必要がない場合には、まとめて単にセンサ装置10と呼ぶ場合がある。また、以下では、センサ装置10が装着された身体の部位を装着部位とも称する場合がある。また、センサ装置10の数や装着位置(装着部位の位置)は図1に示す例に限定されるものではない。
本実施形態によるシステムは、センサ装置10により取得されたセンサデータに基づいて、各装着部位の位置(Position)及び姿勢(Orientation)の情報を取得する。図1には、センサ装置10A〜10Fが装着された装着部位P101〜P106に関する情報(以下、装着部位情報とも称する)として、位置情報及び姿勢情報を含む装着部位情報PD100が示されている。
また、本実施形態によるシステムは、センサ装置10A〜10Fが装着された装着部位P101〜P106の位置情報及び姿勢情報に基づいて、スケルトン構造における各部位の位置情報及び姿勢情報を含むスケルトン情報を推定する。ここで、本実施形態では、スケルトン構造における部位のうち、センサ装置10が装着された装着部位だけでなく、センサ装置10が装着されていない部位(以下、非装着部位とも称する)の位置情報及び姿勢情報を推定する。
図1の例では、スケルトン構造における各部位の位置情報及び姿勢情報を含むスケルトン情報SD100が示されている。スケルトン情報SD100には、装着部位P101に対応する装着部位SP101や装着部位P102に対応する装着部位SP102の情報だけでなく、非装着部位SP107の情報が含まれる。
なお、スケルトン情報には、部位の情報に加え、ボーンの情報(位置情報、姿勢情報等)も含まれ得る。例えば図1に示す例において、スケルトン情報SD100には、ボーンSB101の情報が含まれ得る。例えば、スケルトン構造における部位の位置情報及び姿勢情報に基づいて、部位間のボーンの情報を特定することが可能である。
上述したように本実施形態によれば、モーションセンサが装着された装着部位の情報に基づいて、モーションセンサが装着されていない非装着部位の情報を推定することで、情報を取得したい部位の数を維持しつつ、装着されるモーションセンサの数を削減することが可能である。以下、上述した効果を実現するための本実施形態にかかる技術の原理について説明する。
<<2.本技術の原理>>
<2−1.本実施形態のアプローチ>
既存のモーションキャプチャ技術として、順運動学(FK:Forward Kinematics)計算によりスケルトン情報を取得する技術が存在する。順運動学計算とは、各関節部位の姿勢に基づいて、末端部位の位置を計算する手法である。
図2は、順運動学計算を用いた既存のモーションキャプチャ技術について説明するための説明図である。図2には、スケルトン構造で表現されたスケルトン情報SD90が示されている。
図2に示すスケルトン情報SD90において、慣性センサを含むセンサ装置が装着された装着部位には丸印が付されており、すなわち部位SP91〜SP96は装着部位である。ここで、センサ装置に角速度センサが含まれる場合、AHRS(Attitude and Heading Reference System)等の姿勢計測技術を用いることで、装着部位の姿勢情報(角度情報)を特定することが可能である。
例えば、身体の腰に対応する部位SP91を基準(原点)とした身体座標系を設定した場合、部位SP91〜SP95の姿勢情報に基づいて順運動学計算を行うことで、身体座標系における部位SP92〜SP96の位置情報を特定することができる。なお、身体座標系において基準とされる部位を以下ではルート部位と称する場合がある。
ここで、順運動学計算について図3を参照して説明を行う。図3は、順運動学計算について説明するための説明図である。説明を簡単にするため、図3には、腕を2自由度の単純なリンク機構とみなした場合の例が示されている。
図3に示す例では、部位SP81がルート部位であり、部位SP81を基準(原点)としたxy座標系(平面座標系)が示されている。順運動学計算において、上述したように各部位の姿勢情報が既知であり、図3に示す例では部位SP81の姿勢に基づくボーンSB81とx軸のなす角の角度θ、及び部位SP82の姿勢に基づくボーンSB81とボーンSB82のなす角の角度θが既知である。また、順運動学計算において、部位間の距離、すなわちボーンの長さも既知であり、図3に示す例では、ボーンSB81の長さl、及びボーンSB82の長さlが既知である。
順運動学計算によれば、上記のような既知の情報を用いて、部位SP83の位置(x,y)を計算することができる。具体的には、部位SP83の位置(x,y)は以下の数式(1)、(2)のように表現される。
Figure 2019203190
図3に示したのは平面的かつ単純な機構の例であるが、三次元的かつより複雑な機構の場合であっても、同様に順運動学計算を行うことが可能である。すなわち、基準となるルート部位から末端部位までの間の関節部位の姿勢情報と部位間の距離の情報を用いて、末端部位の位置情報を特定することが可能である。また、末端部位に限らず、スケルトン構造においてルート部位から末端部位までの間に位置する関節部位の位置情報(例えば図3に示す例では部位SP82の位置情報)についても順運動学計算により特定される。
以上、順運動学計算を用いた既存のモーションキャプチャ技術の一例について説明した。しかし、図2、図3を参照して説明したように順運動学計算を用いて各部位の位置情報を特定するためには、各関節部位の姿勢情報が必要であり、順運動学計算を用いることは身体に装着されるモーションセンサの数が多くなる要因となっていた。
そこで、本実施形態においては、上述した順運動学計算ではなく、逆運動学(IK:Inverse Kinematics)計算を用いてスケルトン情報を取得する。逆運動学計算とは、末端部位の位置に基づいて、各関節部位の姿勢を計算する手法である。
図4は、逆運動学計算を用いたアプローチについて説明するための説明図である。図4には、図2と同様にスケルトン構造で表現されたスケルトン情報SD90が示されている。
図4に示すスケルトン情報SD90において、慣性センサを含むセンサ装置が装着された装着部位には丸印が付されており、すなわち部位SP91と部位SP96は装着部位である。一方、図4に示すスケルトン情報SD90において、慣性センサを含むセンサ装置が装着されていない部位にはバツ印が付されており、すなわち部位SP91と部位SP96の間の部位SP92〜SP95は非装着部位である。
ここで、身体の腰に対応する部位SP91を基準(原点)とした身体座標系が設定され、身体座標系における部位SP96の位置情報が得られているものとする。かかる場合、末端部位である部位SP96の位置情報に基づいて逆運動学計算を行うことで、身体座標系における部位SP92〜SP95の姿勢情報、及び位置情報を特定することができる。
ここで、逆運動学計算について図5を参照して説明を行う。図5は、逆運動学計算について説明するための説明図である。説明を簡単にするため、図5には、腕を2自由度の単純なリンク機構とみなした場合の例が示されている。
図5に示す例では、部位SP81がルート部位であり、部位SP81を基準(原点)としたxy座標系(平面座標系)が示されている。ここで、図5の左上に示すように、部位SP81を一方の端点とするボーンSB81の長さl、及び部位SP83を一方の端点とするボーンSB82の長さlが既知であるものとする。
逆運動学計算においては、上記のような既知の情報を用いて、ボーンSB81とx軸のなす角、及びボーンSB81とボーンSB82のなす角の角度を計算する。ただし、逆運動学計算では、解が複数存在し得る。図5の例では、図5の右上に示すように、ボーンSB81とx軸のなす角が角度θ11、ボーンSB81とボーンSB82のなす角が角度θ21である解と、図5の右下に示すように、ボーンSB81とx軸のなす角が角度θ12、ボーンSB81とボーンSB82のなす角が角度θ22である解が得られる。なお、図5に示したのは平面的かつ単純な機構の例であり、例えば三次元的な機構の場合や、より多くの関節部位が存在する場合には、より多数の解が存在し得る。
以上、逆運動学計算を用いたアプローチについて説明した。続いて、本実施形態にかかる処理の概略について説明する。本実施形態では、上述したように逆運動学計算を用いてスケルトン情報(関節部位の位置及び姿勢)を取得するため、以下に説明する図6、図7にそれぞれ示すように大きく分けて2つのステップで処理が行われ得る。
図6は、本実施形態にかかる第1のステップを説明するための説明図である。図1を参照して説明したように、本実施形態において、身体の2以上の部位に装着された2以上の慣性センサから、加速度、及び角速度の情報が取得され得る。また、慣性センサから取得された加速度、及び角速度の情報から、グローバル座標系の加速度(3次元)と姿勢(4次元)の情報を得ることが可能である。なお、グローバル座標系とは、例えば複数のセンサやデバイス等において共通して用いられる座標系であり、実空間に対応する座標系であってもよい。図6に示す装着部位情報PD10には、慣性センサにより取得された装着部位P11〜P16の加速度と姿勢の情報が含まれるため、合計6×7=42次元の情報が含まれる。
第1のステップでは装着部位情報PD10に基づいて装着部位の位置推定が行われることで(S100)、装着部位P11〜P16の位置(3次元)を示す位置情報を含む装着部位情報PD12が得られる。なお、装着部位情報PD12が装着部位P11をルート部位とした身体座標系で表現される場合、装着部位P11の位置情報は不要であるため、装着部位情報PD12には、合計5×3=15次元の位置情報が含まれる。また、装着部位情報PD12は、装着部位情報PD10に含まれていたグローバル座標系における各部位の姿勢情報を含んでもよい。かかる場合、装着部位情報PD12には、合計6×4=24次元の姿勢情報が含まれる。
図7は、本実施形態にかかる第2のステップを説明するための説明図である。図7に示す装着部位情報PD12は、図6に示した装着部位情報PD12と同様であるためここでの説明は省略する。
第2のステップでは装着部位情報PD12に基づいて非装着部位の位置推定(補間)が行われることで(S200)、装着部位の位置情報に加え、慣性センサが装着されていない非装着部位の位置情報を含むスケルトン情報SD10が得られる。図7に示す例では、例えば部位SP11、SP12が装着部位であり、部位SP20が非装着部位である。
ここで、第2のステップである非装着部位の位置推定は、上述したように逆運動学計算により行われ得るが、非装着部位の位置推定を高精度に行うためには、その入力となる装着部位情報PD12が第1のステップにより高精度に得られていることが望ましい。第1のステップである装着部位の位置推定は、例えば慣性航法により実現可能ではあるが、慣性航法により装着部位の位置推定が行われた場合、推定される位置の誤差が時間に応じて大きくなってしまう恐れがある。そこで、本実施形態においては、慣性航法により推定される装着部位の位置情報を補正して、より高精度に装着部位の位置情報を取得する。以下、本実施形態にかかる装着部位の位置情報の補正について説明する。
<2−2.装着部位の位置情報の補正>
まず、慣性航法に基づく位置推定処理について説明する。慣性航法は、角速度及び加速度を複数回積分(Integration)することでセンサ位置を計算する技術であり、例えば船舶又は航空機等に採用されている。図8は、慣性航法に基づく位置推定処理の概略を示す模式図である。
慣性航法では、まずセンサ装置に含まれるジャイロセンサにより取得されたローカル座標系における角速度(センサデータの一例)を積分する(S111)ことで、グローバル座標系におけるセンサ装置の姿勢が計算される。次いで、グローバル座標系におけるセンサ装置の姿勢に基づいて、センサ装置に含まれる加速度センサにより取得されたローカル座標系(センサ装置毎に設定された座標系)におけるセンサ装置の加速度(センサデータの一例)をグローバル座標系におけるセンサ装置の加速度へ座標系変換する(S112)。そして、座標系変換されたグローバル座標系におけるセンサ装置の加速度を積分する(S113)ことで、グローバル座標系におけるセンサ装置の速度が計算される。次に、グローバル座標系におけるセンサ装置の速度を積分する(S114)ことで、センサ装置の移動距離が計算される。ここで、グローバル座標系における移動距離を細分点ごとに合成していくことにより、初期位置を起点とした相対的な位置情報が得られる。初期位置が既知であれば、上記の情報によりセンサ装置の絶対的な位置情報(即ち、グローバル座標系における三次元座標)を計算することができる。上記のようにして、慣性航法に基づく位置推定処理により、センサ装置の姿勢情報と位置情報が出力される。
図8に示した慣性航法に基づく位置推定処理は、比較的処理負荷が小さく高速に実行され得る。
ここで、慣性航法では、姿勢情報を得るために角速度に対して施される積分はステップS111の1回のみであり、また、AHRS等の周知技術を組み合わせることで、姿勢情報を高精度に取得することが可能であった。一方、位置情報を得るためにはステップS113とステップS114の2回の積分が加速度に対して施されるため、加速度センサにより取得される加速度に誤差が含まれる場合には、出力される位置情報に誤差が蓄積され得る。
図9は、慣性航法に基づく位置推定処理において発生し得る位置誤差の時間変化イメージを示す模式図である。図9に示すように、慣性航法により位置情報を推定し始めてから短い時間の間であれば、位置誤差は小さく、位置情報を高精度に推定可能である。しかし、慣性航法により推定される位置情報に含まれる誤差は図9に示すように時間に応じて大きくなり得るため、長時間継続して実行された場合に、非常に大きな誤差が位置情報に含まれてしまう恐れがある。
そこで、本実施形態においては、運動モデル(Dynamics Model)に基づいて、回帰による装着部位の位置推定を行う。図10は、運動モデルに基づく位置推定処理の概略を示す模式図である。
図10に示すステップS121〜S122の処理は、図8を参照して説明したステップS111〜S112の処理と同様であるためここでの説明は省略する。図10に示すように運動モデルに基づく位置推定処理においては、加速度の積分を行うことなく、センサ装置の位置情報を回帰により推定する(S123)。ステップS123の回帰推定処理では、グローバル座標系におけるセンサ装置の姿勢と加速度を、事前に用意された運動モデルに当てはめる回帰により、位置情報が推定される。ここで、運動モデルは、例えば事前に運動制約情報(例えば過去に取得されたポーズや一連の動きにおける各部位の位置と姿勢のサンプルを複数含む情報)を学習することで生成することが可能である。なお、ステップS123の回帰推定処理には、多様な回帰分析手法を用いることが可能であり、例えばDNN(Deep Neural Network)やRandom Forest等の手法が単独で、あるいは組み合わせて用いられてもよい。
ここで、図10に示される処理では、加速度が積分されないため、図8、図9を参照して説明した慣性航法の場合のように位置誤差が時間に応じて大きくなり難い。図11は、運動モデルに基づく位置推定処理において発生し得る位置誤差の時間変化イメージを示す模式図である。図10に示すように、運動モデルに基づく位置推定処理においても位置誤差は発生しているが、時間に応じて大きくならないため、長時間継続して実行された場合であっても、大きな誤差が発生し難い。
したがって、図10に示した運動モデルに基づく位置推定処理により、より高精度に位置情報を推定可能であると考えられる。ただし、運動モデルに基づく位置推定処理では、回帰による統計的な推定が行われるため、入力の変化が連続的な場合であっても出力(推定結果)の変化が非連続的になりやすい。その結果、例えば最終的に得られるスケルトン情報を可視化した際に違和感を与えやすくなる恐れがある。また、図10に示した運動モデルに基づく位置推定処理は、図8に示した慣性航法に基づく位置推定処理と比較すると処理負荷が大きく、慣性航法に基づく位置推定処理よりも高速な実行は困難である。
上述したように、慣性航法に基づく位置推定処理と運動モデルに基づく位置推定処理には、各々の特長がある。そこで、本実施形態においては、慣性航法に基づく位置推定処理と運動モデルに基づく位置推定処理の両方を組み合わせて、推定される位置情報を補正することで、より高精度に位置情報を推定する。なお、以下では、慣性航法に基づく位置推定処理を第1の処理、運動モデルに基づく位置推定処理を第2の処理と称する場合がある。
図12は、本実施形態にかかる位置推定処理の概略を示す模式図である。なお、図12に示したのは概略であり、本実施形態にかかる位置推定処理は図12に示されていない処理も含んでもよい。
図12に示すように、本実施形態にかかる位置推定処理は、慣性航法に基づく第1の処理(S111〜S114)と運動モデルに基づく第2の処理(S121〜S123)に加え、補正処理(S130)をも含む。ステップS130の補正処理では、第1の処理の出力(以下、第1の出力とも称する)、及び第2の処理の出力(以下、第2の出力とも称する)を参照して、補正が行われる。なお、第1の出力は装着部位の姿勢情報と位置情報を含み、第2の出力は位置情報を含む。そして、ステップS130においては、第1の出力に含まれる位置情報を第1の出力に含まれる姿勢情報と第2の出力に含まれる位置情報に基づいて補正する。なお、ステップS130において、第1の出力に含まれる姿勢情報については位置情報の補正に用いられると共に、そのまま出力されてもよい。また、ステップS130の補正処理は、例えばカルマンフィルタにより実現され得る。
また、上述したように、第1の処理は、第2の処理よりも高速に実行され得る。したがって、補正処理(S130)は、第2の出力が得られたタイミングで実行され、第2の出力が得られず第1の出力のみが得られた場合には、第1の出力が本実施形態にかかる位置推定処理の出力としてそのまま出力されてもよい。
図13は、本実施形態にかかる位置推定処理において発生し得る位置誤差の時間変化イメージを示す模式図である。図13に示す例では、時刻t11において第2の出力が得られ、第2の出力に基づく補正が行われるものとする。図13に示すように、本実施形態にかかる位置推定処理では、処理の開始から、時刻t11までの間は時間に応じて位置誤差が大きくなるが、時刻t11において第2の出力に基づく補正が行われた結果、位置誤差が抑制される。
このように、本実施形態にかかる位置推定処理によれば、補正が行われる度に位置誤差が抑制されるため、誤差が時間に応じて大きくなりにくく、長時間継続して実行された場合であっても、大きな誤差が発生し難い。また、本実施形態にかかる位置推定処理では、第2の出力が得られない場合には第1の出力がそのまま出力されるため、運動モデルに基づく第2の処理のみにより位置推定を行う場合と比べて、高頻度に位置情報を推定することが可能となる。
<<3.構成例>>
以上、本実施形態にかかる技術の原理について説明した。続いて、本実施形態の構成例について説明する。以下では、本実施形態の装置構成例、及び機能構成例を順次に説明する。
<3−1.装置構成例>
図14は、本実施形態にかかるシステムの装置構成の一例を示す図である。図14に示すように、本実施形態にかかるシステムは、センサ装置10A〜10F、ハブ装置20、情報処理装置30、及び出力装置40を含む。
センサ装置10は少なくともモーションセンサを備え、身体の部位に装着される装置である。センサ装置10A〜10Fが装着される部位については、図1を参照して説明したため、個々での説明は省略する。センサ装置10は、例えば図14に示すように、ジャイロセンサ12、加速度センサ14、制御部16、及び通信部18を備える。なお、センサ装置10が備えるモーションセンサは、慣性センサ(ジャイロセンサ12、及び加速度センサ14)に限定されない。例えば、センサ装置10は、慣性センサに代えて、または慣性センサに加えて、地磁気センサ、気圧センサ、イメージセンサ等のモーションセンサを備えてもよい。また、図14では、センサ装置10Aの構成のみが示されているが、センサ装置10A〜10Fの構成は同一であってもよい。
ジャイロセンサ12は、センサデータとして角速度を取得する慣性センサである。ジャイロセンサ12により取得される角速度は、ローカル座標系におけるセンサ装置10の角速度であり得る。
また、加速度センサ14は、センサデータとして加速度を取得する慣性センサである。加速度センサ14により取得される加速度は、センサ装置10ごとに設定されたローカル座標系におけるセンサ装置10の加速度であり得る。
制御部16は、センサ装置10の動作を制御する。例えば、制御部16は、通信部18による通信を制御し、ジャイロセンサ12及び加速度センサ14により取得されたセンサデータ(角速度、及び加速度)をハブ装置20へ送信させてもよい。あるいは、制御部16は、ジャイロセンサ12及び加速度センサ14により取得されたセンサデータに対して処理を施してもよく、当該処理により得られた処理結果をハブ装置20へ送信させてもよい。
通信部18は有線または無線により他の装置との間でデータの送受信を行うための通信モジュールである。通信部18は、例えば有線LAN(Local Area Network)、無線LAN、Wi−Fi(Wireless Fidelity、登録商標)、赤外線通信、Bluetooth(登録商標)、近距離/非接触通信等の方式で、外部機器と直接またはネットワークアクセスポイントを介して無線通信する。
ハブ装置20は、複数のセンサ装置10から情報を受信して集約する情報処理装置である。なお、センサ装置10とハブ装置20との間は、有線接続されていてもよいし、無線接続されていてもよい。ハブ装置20は、例えば図14に示すように通信部22と制御部24とを備える。
通信部22は有線または無線により他の装置との間でデータの送受信を行うための通信モジュールである。通信部22は、例えば有線LAN、無線LAN、Wi−Fi、赤外線通信、Bluetooth、近距離/非接触通信等の方式で、外部機器と直接またはネットワークアクセスポイントを介して無線通信する。
制御部24は、ハブ装置20の動作を制御する。例えば、制御部24は、通信部22による通信を制御し、センサ装置10から受信した情報を、そのまま情報処理装置30へ送信させてもよい。あるいは、制御部24は、センサ装置10から受信した情報に対して処理を施してもよく、当該処理により得られた処理結果を情報処理装置30へ送信させてもよい。
情報処理装置30は、ハブ装置20から情報を受信して処理する情報処理装置である。なお、ハブ装置20と情報処理装置30との間は、有線接続されていてもよいし、無線接続されていてもよい。情報処理装置30は、例えば図14に示すように通信部32と制御部34とを備える。
通信部32は有線または無線により他の装置との間でデータの送受信を行うための通信モジュールである。通信部32は、例えば有線LAN、無線LAN、Wi−Fi、赤外線通信、Bluetooth、近距離/非接触通信等の方式で、外部機器と直接またはネットワークアクセスポイントを介して無線通信する。
制御部34は、情報処理装置30の動作を制御する。例えば、制御部34は、通信部32が受信した情報に対する処理を行う。また、制御部34は、通信部32を制御して、当該処理の結果を情報処理装置30に接続された出力装置40に送信させることで、出力装置40の表示を制御し得る。例えば、制御部34は、処理の結果得られたスケルトン情報に基づいて、可視化されたスケルトン情報や、スケルトン情報を反映させた3Dモデル等を出力装置40に表示させてもよい。
出力装置40は、少なくとも表示機能を有する装置であり、情報処理装置30の制御部34の制御に従って表示を行う。出力装置40は、例えば設置型のディスプレイであってもよいし、ユーザに装着されるHMD(Head Mounted Display)であってもよい。また、出力装置40と情報処理装置30とは、一体の装置であってもよい。
<3−2.機能構成例>
以上、本実施形態にかかるシステムの装置構成例を説明した。続いて、本実施形態にかかるシステムの機能構成例について説明する。図15は、本実施形態にかかるシステムの機能構成の一例を示す図である。なお、図15には、主に本実施形態の特徴を示す機能構成のみを示しており、本実施形態にかかるシステムは図15に示されない機能構成を含んでもよい。
図15を参照すると、本実施形態にかかるシステムは、グローバル運動加速度姿勢計算部510、積分計算部520、選択部530、装着位置回帰推定部540、信頼度特定部550、接地検出部560、補正部570、及び補間部580としての機能を有する。
なお、以下に説明する図15の各機能構成は、図14に示したいずれかの装置により実現されてもよい。例えば、センサ装置10の制御部16またはハブ装置20の制御部24がグローバル運動加速度姿勢計算部510としての機能を有し、情報処理装置30の制御部34がそれ以外の積分計算部520〜補間部580としての機能を有してもよい。ただし、いずれの装置がいずれの機能を有するかはかかる例に限定されるものではない。
グローバル運動加速度姿勢計算部510は、図14に示したセンサ装置10A〜10Fにより取得されたセンサデータ(角速度と加速度)に基づいて処理を行う機能を有する。なお、グローバル運動加速度姿勢計算部510は、センサ装置10A〜10Fの各々により取得されたセンサデータを独立に処理してもよい。
例えば、グローバル運動加速度姿勢計算部510は、センサデータに含まれるローカル座標系におけるセンサ装置10の角速度を積分してグローバル座標系におけるセンサ装置10の姿勢を計算する処理(図12のステップS111、S121に相当)を行う。グローバル運動加速度姿勢計算部510はAHRSによりセンサ装置10の姿勢を計算してもよい。なお、センサ装置10が地磁気センサを含む場合、グローバル運動加速度姿勢計算部510は、AHRSによるセンサ装置10の姿勢計算に、地磁気センサにより取得されるセンサデータを用いてもよい。
また、グローバル運動加速度姿勢計算部510は、計算されたグローバル座標系におけるセンサ装置10の姿勢を、グローバル座標系における当該センサ装置10が装着された装着部位の姿勢へ変換する処理を行う。グローバル運動加速度姿勢計算部510は、事前のキャリブレーション結果を用いてセンサ装置10の姿勢を装着部位の姿勢へ変換してもよい。
また、グローバル運動加速度姿勢計算部510は、グローバル座標系における装着部位の姿勢に基づいて、センサデータに含まれるにローカル座標系における加速度をグローバル座標系における加速度へ変換する処理(図12のステップS112、S122に相当)を行う。
また、グローバル運動加速度姿勢計算部510は、上述のように得られたグローバル座標系における加速度から重力成分を除去する処理を行う。例えば、グローバル運動加速度姿勢計算部510は、グローバル座標系における装着部位の姿勢に基づいてグローバル座標系における加速度から重力成分を除去してもよい。
グローバル運動加速度姿勢計算部510は、上述の処理により得られたグローバル座標系における装着部位の姿勢情報と、重力成分が除去されたグローバル座標系における加速度を、積分計算部520、選択部530、及び装着位置回帰推定部540へ出力する。
積分計算部520は、グローバル運動加速度姿勢計算部510から入力された重力成分が除去されたグローバル座標系における加速度を2回積分する処理(図12のステップS113、S114に相当)により、グローバル座標系における装着部位の位置情報を計算する。積分計算部520は、計算されたグローバル座標系における装着部位の位置情報、及びグローバル運動加速度姿勢計算部510から入力されたグローバル座標系における装着部位の姿勢情報を補正部570へ出力する。
なお、上述したグローバル運動加速度姿勢計算部510、及び積分計算部520により、上述した慣性航法に基づく第1の処理が行われ得る。そして、積分計算部520から出力される位置情報、及び姿勢情報が第1の出力に相当する。
選択部530は、装着位置回帰推定部540が装着部位の位置情報を回帰により推定するための運動モデルの選択を行う。例えば、運動モデルは、センサ装置10が装着される部位のパターンに応じて複数用意されて不図示の記憶部に記憶されていてもよく、選択部530は、かかる複数の運動モデルの中から、装着位置回帰推定部540により用いられる運動モデルを選択する。
運動モデルは、例えば装着部位の組み合わせごとに予め用意されてよい。そして、選択部530は、グローバル運動加速度姿勢計算部510から入力される情報に基づいて、装着部位の組み合わせを特定して、適切な運動モデルを選択してよい。かかる構成により、例えばユーザがシステムの動作途中で一部のセンサ装置10を着脱したり、一部のセンサ装置10のバッテリ(不図示)の電力供給が失われたりしたとしても、選択部530が動的に適切な運動モデルを選択することができる。なお、図15では、グローバル運動加速度姿勢計算部510から入力される情報に基づいて装着部位の組み合わせが特定される例を示したが、選択部530はセンサデータそのものを入力として、あるいは他の情報を用いて装着部位の組み合わせを特定してもよい。
図16は、装着部位の組み合わせと運動モデルの例を示す説明図である。図16に示されるスケルトン情報SD101〜SD105の各々において、センサ装置10が装着された装着部位には丸印が付されている。また、運動モデルごとに異なるルート部位が設定されて得る。
例えば、全身モデルに対応するスケルトン情報SD101において、腰に相当する装着部位SP101がルート部位であり、6箇所の装着部位SP101〜SP106にセンサ装置10が装着される。上肢モデルに対応するスケルトン情報SD102において、頭部に相当する装着部位SP106がルート部位であり、3箇所の装着部位SP102、SP105、SP106にセンサ装置10が装着される。また、頭−腕モデルに対応するスケルトン情報D103において、頭部に相当する装着部位SP106がルート部位であり、2箇所の装着部位SP102、SP106にセンサ装置10が装着される。また、腰−腕モデルに対応するスケルトン情報D104において、腰に相当する装着部位SP101がルート部位であり、2箇所の装着部位SP101、SP105にセンサ装置10が装着される。また、下肢モデルに対応するスケルトン情報D105において、腰に相当する装着部位SP101がルート部位であり、3箇所の装着部位SP101、SP103、SP104にセンサ装置10が装着される。
なお、後述する装着位置回帰推定部540だけでなく、後述する補正部570や補間部580も、装着部位の組み合わせに応じて処理を行うため、装着部位の組み合わせに応じて(つまり運度モデルに応じて)、推定される非装着部位の組み合わせも異なり得る。本実施形態にかかるシステムにより位置情報、及び姿勢情報を推定可能な部位は、装着部位、及び所定のスケルトン構造において複数の装着部位の間に位置する非装着部位であり得る。図16のスケルトン情報SD101〜SD105には、本実施形態において装着部位の組み合わせに応じた、位置情報、及び姿勢情報を推定可能な部位(装着部位と非装着部位を含む)がハッチングにより示されている。
なお、図16に示したのは一例であって本実施形態において用いられ得る運動モデルにおける装着部位の組み合わせは図16に示した例に限定されるものではない。
装着位置回帰推定部540は、選択部530により選択された運動モデルを用いて、グローバル座標系における装着部位の姿勢情報と、重力成分が除去されたグローバル座標系における加速度とに基づいて、装着部位の位置情報を回帰により推定する回帰推定処理(図12のステップS123に相当)を行う。なお、本実施形態にかかる装着位置回帰推定部540は、装着部位の位置情報を、運動モデルごとに設定されたルート部位を基準とした身体座標系において推定する。装着位置回帰推定部540は、推定された身体座標系における装着部位の位置情報を信頼度特定部550と補正部570へ出力する。
なお、上述したグローバル運動加速度姿勢計算部510、及び装着位置回帰推定部540により、上述した運動モデルに基づく第2の処理が行われ得る。そして、装着位置回帰推定部540から出力される位置情報が第2の出力に相当する。
信頼度特定部550は、装着位置回帰推定部540により推定された装着部位の位置情報(第2の出力に含まれる位置情報とも称する)の信頼度を特定する信頼度特定機能を有する。信頼度特定部550により特定される信頼度は、後述する補正部570による補正において用いられ得る。例えば、後述する補正部570は、第2の出力に含まれる位置情報の信頼度が高い場合には第1の出力に含まれる位置情報よりも第2の出力に含まれる位置情報をより重視(信頼)して補正を行い、当該信頼度が低い場合には第2の出力に含まれる位置情報よりも第1の出力に含まれる位置情報をより重視して補正を行う。
例えば、信頼度特定部550は、第2の出力に含まれる位置情報の尤度分布がより小さい場合により高い信頼度を設定してもよい。図17は、信頼度特定部550による信頼度の特定の一例を示す図である。図17には、装着位置回帰推定部540により推定された位置と、その尤度分布R10が示されている。例えば、尤度分布R10の上限L1と下限L2との差がより小さい場合により高い信頼度が特定される。図17に示す例では、時刻t21〜時刻t22の区間と時刻t23〜時刻t24の区間において高い信頼度が特定され、すなわち第2の出力に含まれる位置情報がより重視される。また、図17に示す例では、時刻t22〜時刻t23の区間において低い信頼度が特定され、すなわち第1の出力に含まれる位置情報がより重視される。
信頼度特定部550は、特定した信頼度を補正部570へ出力する。
接地検出部560は、センサ装置10A〜10Fにより取得されたセンサデータ(角速度と加速度)に基づいて、身体の足元の接地検出処理を行う。かかる構成により、後述する補正部570が、装着位置回帰推定部540により推定された身体座標系における位置情報をグローバル座標系に変換することが可能である。
接地検出部560は、例えば所謂ゼロ速度更新(ZUPT:Zero Velocity Update)における接地検出を行ってもよい。なお、ZUPTは速度がゼロの状態を接地状態として検出して位置を補正する手法であり、このZUPTが用いられる場合、後述する補正部570による位置情報の補正機能もZUPTにより実現され得る。また、接地検出部560による接地検出の方法はかかる例に限定されず、他の手法により身体の足元の接地検出が行われてもよい。
補正部570は、積分計算部520から入力される第1の出力と、装着位置回帰推定部540から入力される第2の出力とを参照して、第1の出力に含まれる装着部位の位置情報の補正を行う。なお、以下では、補正部570の機能を補正機能と称する場合がある。かかる補正機能により、図12、図13を参照して説明したように誤差が時間に応じて大きくなりにくく、より高精度に装着部位の位置情報を推定することが可能である。
上述したように、補正部570は、信頼度特定部550により特定された信頼度に基づいて、装着部位の位置情報を補正してもよい。かかる構成により、より高精度に装着部位の位置情報を推定することが可能である。
また、補正部570は、接地検出部560による接地検出結果に基づいて、装着位置回帰推定部540により推定された身体座標系における装着部位の位置情報(第2の出力)をグローバル座標系における装着部位の位置情報へ変換する。かかる構成により、座標系をグローバル座標系に統一して補正を行うことが可能となる。
なお、補正部570の補正機能は、カルマンフィルタにより実現されてもよい。さらに、上述した積分計算部520による積分機能と補正部570による補正機能を合わせてカルマンフィルタにより実現することが可能である。ここでは、例えば、各装着部位の速度と位置を内部状態として有するカルマンフィルタを想定する。かかるカルマンフィルタは、グローバル運動加速度姿勢計算部510から出力されるグローバル座標系における装着部位の加速度を積分することにより装着部位の速度と位置を予測する。そして、かかるカルマンフィルタは、第2の出力に含まれる位置情報をグローバル座標系に変換して得られる位置を観測として内部状態を更新することにより、位置情報の補正を行うことが可能である。
補間部580は、補正部570の補正機能により補正された装着部位の位置情報に基づいて、非装着部位の位置情報を推定してスケルトン情報を生成する。補間部580は、図16を参照して説明したように、所定のスケルトン構造において、複数の装着部位の間に位置する非装着部位の位置情報を推定してもよい。なお、以下では、補間部580の機能を補間機能と称する場合がある。かかる補間機能は、例えば図4、図5を参照して説明した逆運動学計算により実現され得る。
図4、図5を参照して説明したように、逆運動学計算では、一般に複数の解が存在し、例えば関節部位の数によっては非常に多数の解が存在する場合がある。したがって、より高精度なスケルトン情報を得るためには、存在する多数の解のうち、より適切な解を特定可能な仕組みが求められる。そこで、本実施形態にかかる補間部580は、非装着部位の位置情報を予め用意された逆運動学モデルに当てはめる回帰により推定する。
ここで、逆運動学モデルは、例えば事前に運動制約情報(例えば過去に取得されたポーズや一連の動きにおける各部位の位置と姿勢のサンプルを複数含む情報)を学習することで生成することが可能である。なお、補間部580の補間機能には、多様な回帰分析手法を用いることが可能であり、例えばDNNやRandom Forest等の手法が単独で、あるいは組み合わせて用いられてもよい。
なお、上記では補間部580が各部位の位置情報を推定する説明したが、本実施形態はかかる例に限定されない。各部位の位置情報、または姿勢情報のいずれか一方が得られれば、スケルトン構造に従って他方を特定することが可能である。したがって、補間部580は、非装着部位の位置情報及び姿勢情報のうち少なくともいずれか一方を推定すればよい。
<<4.動作例>>
以上、本実施形態の装置構成例、及び機能構成例について説明した。続いて、本実施形態の動作例について説明する。図18は、本実施形態にかかるシステムの動作例を示すフローチャート図である。なお、図18には、主に本実施形態の特徴を示す処理のみを示しており、本実施形態にかかるシステムは図18に示されない処理を実行してもよい。
図18に示すように、まずグローバル運動加速度姿勢計算部510が、ジャイロセンサ12により取得された角速度に基づいて、グローバル座標系におけるセンサ装置10の姿勢をAHRSにより計算する(S502)。なお、ステップS502は、図12のステップS111、S121に相当する。
続いて、グローバル運動加速度姿勢計算部510は、ステップS502で得られたグローバル座標系におけるセンサ装置10の姿勢を、グローバル座標系における当該センサ装置10が装着された装着部位の姿勢へ変換する(S504)。
続いて、グローバル運動加速度姿勢計算部510は、ステップS504で得られたグローバル座標系における装着部位の姿勢に基づいて、加速度センサ14により取得されたローカル座標系における加速度をグローバル座標系における加速度へ変換する(S506)。なお、ステップS506は、図12のステップS112、S122に相当する。
続いて、グローバル運動加速度姿勢計算部510は、ステップS504で得られたグローバル座標系における装着部位の姿勢に基づいて、ステップS506で得られたグローバル座標系における加速度から重力成分を除去する(S508)。
続いて、積分計算部520が、ステップS508で得られた重力成分が除去されたグローバル座標系における加速度を2回積分することにより、グローバル座標系における装着部位の位置情報を計算する(S510)。なお、ステップS510は、図12のステップS113、S114に相当する。
続いて、ステップS510の補正を行うか否かが判定される(S512)。上述したように、運動モデルに基づく位置推定処理は、慣性航法に基づく位置推定処理よりも処理負荷が大きい。したがって、運動モデルに基づく位置推定処理(S514)の実行頻度は慣性航法に基づく位置推定処理(S502〜S510)の実行頻度よりも少ない。そこで、ステップS512において、図18に示した処理が所定の回数行われるごとに1回補正を行うと判定されてもよい。ただし、本実施形態はかかる例に限定されず、例えば、センサデータに基づいて装着部位が静止していないと判定可能な場合には補正を行うと判定し、静止していると判定可能な場合には補正を行わないと判定してもよい。
補正を行うと判定された場合(S512においてYES)、装着位置回帰推定部540は、運動モデルを用いた回帰推定により、身体座標系における装着部位の位置情報を推定する(S514)。なお、ステップS514は、図12のステップS123に相当する。
続いて、補正部570は、接地検出部560による接地検出結果に基づいて、ステップS514で推定された身体座標系における装着部位の位置情報をグローバル座標系における装着部位の位置情報へ変換する(S516)。
そして、補正部570は、ステップS516で得られたグローバル座標系における装着部位の位置情報に基づいて、ステップS510で得られたグローバル座標系における装着部位の位置情報を補正する(S518)。
続いて、補間部580は、グローバル座標系における装着部位の位置情報に基づいて、非装着部位の位置情報を逆運動学モデルに当てはめる回帰により推定(補間)する(S520)。なお、ステップS520において非装着部位の位置情報の回帰推定に用いられる装着部位の位置情報は、ステップS512における判定結果に応じて異なり得る。ステップS512において補正を行うと判定された場合、ステップS518で補正された装着部位の位置情報がステップS520における回帰推定に用いられる。一方、ステップS512において補正を行わないと判定された場合、ステップS510で得られたグローバル座標系における装着部位の位置情報がステップS520における回帰推定に用いられる。
以上、本実施形態に係るシステムの動作について説明した。なお、図18に示した処理は、ジャイロセンサ12及び加速度センサ14によりセンサデータが取得される度に、あるいは所定の頻度で、繰り返し実行されてもよい。
<<5.変形例>>
以上、本開示の一実施形態を説明した。以下では、本実施形態の幾つかの変形例を説明する。なお、以下に説明する各変形例は、単独で本実施形態に適用されてもよいし、組み合わせで本実施形態に適用されてもよい。また、各変形例は、本実施形態で説明した構成に代えて適用されてもよいし、本実施形態で説明した構成に対して追加的に適用されてもよい。
<5−1.第1の変形例>
上記実施形態では、装着位置回帰推定部540が、グローバル運動加速度姿勢計算部510により計算されたグローバル座標系における装着部位の姿勢情報と、重力成分が除去されたグローバル座標系における加速度とに基づいて回帰推定処理を行う例を説明した。しかし、本技術はかかる例に限定されない。例えば、ジャイロセンサ12及び加速度センサ14により取得された角速度や加速度がかかる回帰推定処理への入力として用いられてもよい。かかる例について、第1の変形例として説明を行う。
図19は、第1の変形例にかかるシステムの機能構成例を示す図である。図19に示す構成のうち、図15に示した構成と実質的に同一の構成については、同一の符号を付してあるため、ここでの説明は省略し、図15に示したシステムと相違する点について以下では説明を行う。図19を参照すると、本変形例にかかるシステムは、装着位置回帰推定部540に代えて装着位置回帰推定部541を含む点において図15に示したシステムと相違する。
本変形例にかかる装着位置回帰推定部541は、グローバル運動加速度姿勢計算部510により計算された情報に加え、または代えて、ジャイロセンサ12及び加速度センサ14により取得された角速度や加速度を入力として用いて、回帰推定処理を行う。かかる回帰推定に用いられる運動モデルは、当該回帰推定に用いられる情報と同種の情報(角速度や加速度)を含んだ運動制約情報を学習することにより事前に用意され得る。
以上、第1の変形例について説明した。本変形例によれば、より多くの情報を用いることで、より高精度に装着部位の位置情報を推定することが可能となり得る。なお、上記では角速度や加速度が装着位置回帰推定部541による回帰推定処理への入力として用いられる例を説明したが、さらに他の情報が入力として用いられてもよい。例えば、センサ装置10が、ジャイロセンサ12と加速度センサ14に加えて、地磁気センサや気圧センサを備える場合、地磁気や気圧の情報が、かかる回帰推定処理への入力として用いられてもよい。
<5−2.第2の変形例>
続いて、第2の変形例として、補正部が信頼度の特定を行う例を説明する。図20は、本変形例にかかるシステムの機能構成例を示す図である。図20に示す構成のうち、図15に示した構成と実質的に同一の構成については、同一の符号を付してあるため、ここでの説明は省略し、図15に示したシステムと相違する点について以下では説明を行う。図20を参照すると、本変形例にかかるシステムは、信頼度特定部550と補正部570に代えて補正部572を含む点において図15に示したシステムと相違する。
補正部572は、図15を参照して説明した補正部570の機能に加え、積分計算部520、及び装着位置回帰推定部540のそれぞれから入力される装着部位の位置情報の少なくともいずれか一方の信頼度を特定する機能を有する。かかる機能は、例えばカルマンフィルタにより実現されてもよいし、予め定められたルールに基づいて行うように実現されてもよいし、あるいは学習により事前に用意されたモデルを用いた回帰推定により実現されてもよい。
<5−3.第3の変形例>
続いて、第3の変形例として、非装着部位の位置推定(補間)処理の後に補正処理を行う例を説明する。図21は、本変形例にかかるシステムの機能構成例を示す図である。図21に示す構成のうち、図15に示した構成と実質的に同一の構成については、同一の符号を付してあるため、ここでの説明は省略し、図15に示したシステムと相違する点について以下では説明を行う。図21を参照すると、本変形例にかかるシステムは、信頼度特定部550、補正部570、及び補間部580に代えて補正部573、及び補間部583を含む点において図15に示したシステムと相違する。
本変形例にかかる補間部583は、グローバル運動加速度姿勢計算部510により計算されたグローバル座標系における装着部位の姿勢情報と装着位置回帰推定部540により推定された装着部位の位置情報に基づいて、非装着部位の位置情報、及び姿勢情報のうち少なくとも一方を回帰により推定する。なお、補間部583による回帰推定は、入力される情報が異なる点を除いて、補間部580による非装着部位の回帰推定と同様であってよい。補間部583により推定された非装着部位の位置情報あるいは姿勢情報は、補正部573へ出力される。
なお、本変形例にかかる第2の処理は、上述した補間部583が非装着部位の位置情報及び姿勢情報のうち少なくともいずれか一方を推定する補間処理を含む。そして、本変形例にかかる第2の出力(第2の処理の出力)は、補間部583により推定された非装着部位の位置情報及び姿勢情報のうち少なくともいずれか一方を含む。さらに、本変形例にかかる第2の出力は、グローバル運動加速度姿勢計算部510あるいは装着位置回帰推定部540により得られた装着部位の位置情報あるいは姿勢情報を含んでもよい。つまり、本変形例にかかる第2の出力は推定対象となる全ての部位の位置情報、及び姿勢情報のうち少なくともいずれか一方を含む。
本変形例にかかる補正部573は、積分計算部520から入力される第1の出力(装着部位の姿勢情報と位置情報)に基づいて、補間部583から入力される第2の出力に含まれる非装着部位の位置情報及び姿勢情報のうち少なくともいずれか一方を補正する。本変形例では、装着部位の速度及び位置と、非装着部位の位置または姿勢の関係が非線形であるため、本変形例にかかる補正部573の補正機能は、例えば、拡張カルマンフィルタにより実現され得る。以下では拡張カルマンフィルタにより、非装着部位の姿勢情報を補正する補正機能が実現される例について説明する。
かかる拡張カルマンフィルタは内部状態として、全装着部位の速度と位置、及び推定対象となる全ての部位(装着部位と非装着部位を含む)の姿勢を有する。かかる拡張カルマンフィルタは、グローバル運動加速度姿勢計算部510から出力されるグローバル座標系における装着部位の加速度を積分することにより装着部位の速度と位置を予測する。そして、かかる拡張カルマンフィルタは、第2の出力に含まれる推定対象となる全ての部位の姿勢情報を観測として内部状態を更新することにより、姿勢情報の補正を行うことが可能である。なお、拡張カルマンフィルタが内部的に持つ誤差の共分散行列の予測には、逆運動学計算で用いられる装着部位の速度と非装着部位の姿勢の関係を記述するヤコビアンが用いられてもよい。
なお、図21では、装着位置回帰推定部540と補間部583を別個の機能構成として示したが、装着位置回帰推定部540と補間部583の機能を統合してもよい。かかる場合、グローバル運動加速度姿勢計算部510から入力される情報に基づく回帰により直接的に推定対象の全ての部位の位置情報及び姿勢情報が推定されてもよい。かかる場合、回帰推定のために事前に用意するモデルの数が少なく済むという効果がある。
<5−4.第4の変形例>
上記実施形態では、装着位置回帰推定部540が、非トラッキング型運動モデルを用いた回帰推定を行う例を説明したが、トラッキング型運動モデルが用いられてもよい。以下、図22、図23を参照して、非トラッキング型運動モデルとトラッキング型運動モデルの概要について説明する。
図22は、非トラッキング型運動モデルの概要を説明するための説明図である。図22に示すように、非トラッキング型運動モデルを用いた回帰推定では、加速度と姿勢の情報が入力されて、位置情報が出力され得る。
図23は、トラッキング型運動モデルの概要を説明するための説明図である。図23に示すように、トラッキング型運動モデルを用いた回帰推定においても、加速度と姿勢の情報が入力されて、位置情報が出力され得る。ただし、トラッキング型運動モデルを用いた回帰推定では、加速度と姿勢の情報に加え、遅延器Dにより1サンプル分遅延させられた位置情報(すなわち前回の回帰推定処理の出力)が、次の回帰推定処理へ入力される。トラッキング型運動モデルには、追従性が向上し得るという利点がある。
このようなトラッキング型運動モデルを用いた回帰により装着部位の位置情報を推定する例について、第4の実施形態として説明する。図24は、本変形例にかかるシステムの機能構成例を示す図である。図24に示す構成のうち、図15に示した構成と実質的に同一の構成については、同一の符号を付してあるため、ここでの説明は省略し、図15に示したシステムと相違する点について以下では説明を行う。図24を参照すると、本変形例にかかるシステムは、装着位置回帰推定部540、及び補正部570に代えて装着位置回帰推定部544及び補正部574を含む点において図24に示したシステムと相違する。
装着位置回帰推定部544は、グローバル運動加速度姿勢計算部510により計算された情報に加え、過去の回帰推定処理により推定された装着部位の位置情報を用いて補正部574により補正された装着部位の位置情報を入力として用いて、回帰推定処理を行う。かかる回帰推定に用いられる運動モデルは、上述したトラッキング型運動モデルであり、例えば1サンプル分遅延させられた位置情報を含む運動制約情報を学習することにより事前に用意され得る。
上述した第4の変形例によれば、様々な動きへの追従性が向上し、より高精度に装着部位の位置情報を推定することが可能となり得る。
<5−5.第5の変形例>
上記実施形態では、図14を参照して装置構成例を説明したが、本技術はかかる例に限定されない。以下では第5の変形例として、ハブ装置20を備えないシステムの装置構成例を説明する。図25は、本変形例にかかるシステムの装置構成例を示す図である。
図25に示すように、本変形例にかかるシステムは、センサ装置10A〜10F、情報処理装置30、及び出力装置40を含む。図25に示すように、本変形例において、センサ装置10は、ハブ装置20を介することなく、直接的に情報処理装置30と接続される。なお、センサ装置10と情報処理装置30との間は、有線接続されていてもよいし、無線接続されていてもよい。かかる接続の関係を除いて、図25に示す各装置の構成は、図14に示した同一の符号が付された各装置の構成と同様であってよい。
<5−6.第6の変形例>
上記実施形態では、運動モデル、及び逆運動学モデルを用いて回帰推定を行う例を説明した。この回帰推定の推定結果は、運動モデル、及び逆運動学モデルを生成するための学習に用いられる運動制約情報に応じて大きく異なり得る。例えば特徴的な姿勢や動作をセンシングして得られた運動制約情報が、学習に用いられた場合、推定結果は実際の身体の動きよりも、学習に用いられた動きに近い特徴を有し易くなる。
特徴的な姿勢や動作の例としては、ゾンビのようなキャラクタ独特の姿勢や、格闘シーンに典型的なダイナミックな動作、シューティングゲーム等のゲーム中に頻出する姿勢、ダンスのジャンルごとに特徴的な振り付け動作、あるいはスポーツごとの個別ルールに応じた動作等が挙げられるが、かかる例に限定されるものではない。
上記のような運動制約情報をアプリケーションに応じて適宜用意して、運動モデル、及び逆運動学モデルを生成するための学習に用いることで、アプリケーションに応じたスケルトン情報を推定することが可能となる。そのため、例えばスケルトン情報に基づいてアニメーションを作成する場合においては、上述した一連の処理により推定されたスケルトン情報に対して後処理を要することなく、特徴的なアニメーションを生成することも可能となる。
<<6.第2の実施形態の概要>>
<6−1.本実施形態の概要について>
ところで、上述した本開示の第1の実施形態に係るモーションキャプチャ技術は、ユーザ(動作主体、パフォーマ)に装着されるセンサ装置10の数の増加を抑えつつ、センサ装置の装着位置を高精度に得ることができる。さらに、当該モーションキャプチャ技術は、処理の負荷が小さいことから、複数のユーザのモーション(動作、姿勢)をリアルタイムでキャプチャすることに適しているといえる。
また、例えば仮想空間上のアバターによってユーザのモーションを可視化する際には、キャプチャしたユーザのモーションをリアルタイムで再現するだけでなく、ライブ等のパフォーマンスにおいては、効果的な演出を狙って、アバターに対してはミニマルな表現が求められることがある。
そこで、上述のような状況を鑑みて、本発明者らは、上述した本開示の第1の実施形態に係るモーションキャプチャ技術を利用してキャプチャした複数のユーザのモーションをブレンドし、ブレンドした動きを仮想空間上のアバター等によってリアルタイムで再現する手法を創作するに至った。以下に、本発明者らが創作した上記手法を、本開示の第2の実施形態として説明する。まずは、図26を参照して、本開示の第2の実施形態の概要について説明する。図26は、本実施形態の概要を説明するための説明図である。
詳細には、本実施形態においては、例えば、図26に示すように、舞台上でパフォーマンス(ダンス等)を行う複数のパフォーマ(図26では、パフォーマ1、パフォーマ2)(動作主体)のモーション(動作、姿勢)を上述した本開示の第1の実施形態に係るモーションキャプチャ技術によってキャプチャする。さらに、本実施形態においては、キャプチャした複数のパフォーマのモーションを所定のアルゴリズムに基づいてブレンドし、ブレンドしたモーションを仮想空間上のアバター等によってリアルタイムで再現する。
なお、本実施形態においては、ブレンドしたモーションを再現する主体は、仮想空間上のアバター(人の形状に限定されない)、すなわちアニメーションであってもよく、実空間上のロボットであってもよく、特に限定されるものではない。
さらに、本実施形態においては、モーションがキャプチャされる主体(動作主体)は、舞台上でパフォーマンス(ダンス等)を行うパフォーマ(例えば、ダンサー、シンガー等)に限定されるものではなく、パフォーマンスを鑑賞するオーディエンスであってもよい。また、本実施形態においては、動作主体は、人間に限定されるものではなく、例えば、動物であってもよく、もしくは予め準備された、人物等が動作を行うアニメーションであってもよく、特に限定されるものではない。以下に、本開示の第2の実施形態の詳細を順次説明する。
<6−2.機能構成例>
次に、第2の実施形態に係るシステム機能構成について、図27を参照して説明する。図27は、本実施形態に係るシステムの機能構成の一例を示す図である。なお、図27は、主に本実施形態の特徴を示す機能構成のみを示しており、本実施形態に係るシステムは図15に示される機能構成を含んでもよい。
本実施形態にかかるシステムの情報処理装置30の制御部34は、仮想空間におけるアバター又は実空間上のロボットのモーションを動的に制御することができる。図27を参照すると、当該制御部34は、情報取得部610と、ブレンド率決定部620と、ブレンド部630と、動作制御部640と、としての機能を有する。また、以下に説明する図27の各機能構成は、図14に示したいずれかの装置により実現されてもよく、特に限定されるものではない。
詳細には、情報取得部610は、実空間上の複数のパフォーマ(ユーザ、動作主体)に装着されたセンサ装置(モーションセンサ)10を用いて当該各パフォーマの少なくとも1つの部位に相当するモーションをキャプチャする。より具体的には、上述の実施形態で説明したように、例えば、情報取得部610は、パフォーマの身体の6か所の部位に装着された複数のセンサ装置10のそれぞれを用いて、当該パフォーマの各部位のモーションをキャプチャする。すなわち、情報取得部610は、上述の第1の実施形態のスケルトン情報を取得することができる。そして、情報取得部610は、取得した情報を後述するブレンド部630に出力する。
なお、本実施形態においては、上記部位は、パフォーマ(動作主体)の身体の一部であり、具体的には、パフォーマの上半身、下半身、頭部、関節、腰、手首、足首等のことを意味する。
ブレンド率決定部620は、所定のアルゴリズムに基づいて、各パフォーマの部位のモーションに動的に付されたブレンド率(重みづけ)を決定する。そして、ブレンド率決定部620は、決定したブレンド率を後述するブレンド部630に出力する。ここで、ブレンド率とは、アバター等で再現されるモーションにおける、異なるパフォーマの部位のモーションの混合の割合のことをいう。なお、当該ブレンド率の決定方法の詳細については、後述する。
ブレンド部630は、上述したブレンド率決定部620によって決定されたブレンド率に基づいて、各パフォーマの部位のモーションをブレンドする。そして、ブレンド部630は、ブレンドしたモーションの情報を後述する動作制御部640に出力する。
動作制御部640は、アバター又はロボットが複数のパフォーマの部位のモーションが反映されたモーションを行うように、ブレンドしたモーションの情報(ブレンド結果)に基づいて、アバター又はロボットのモーションを動的に制御する。すなわち、動作制御部640は、アバター又はロボットのモーションを動的に制御するために、出力装置40を制御することができる。
<6−3.動作例>
以上、本実施形態に係る機能構成例について説明した。続いて、本実施形態の動作例(情報処理方法)について、図28及び図29を参照して説明する。図28は、本実施形態に係るシステムの動作例を示すフローチャート図である。なお、図28には、主に本実施形態の特徴を示す処理のみを示しており、本実施形態にかかるシステムは図28に示されない処理を実行してもよい。さらに、図29は、図28のステップS200での動作を説明するためのフローチャート図である。
詳細には、本実施形態に係るシステムは、図28に示すように、大きく3つの段階を経て、アバター又はロボットのモーションを動的に制御する。詳細には、本実施形態においては、まず、各パフォーマの部位のモーションに対するブレンド率(重みづけ)又はブレンド率の決定方法を予め設定する(S100)。次に、本実施形態においては、アバター等のモーションを再現するために、上述のステップS100で設定された設定条件に基づいて、各パフォーマの部位のモーションをキャプチャし、フレームごとに、各パフォーマの部位のモーションをブレンドする処理を実行する(S200)。さらに、本実施形態においては、上述のステップS200での処理結果に基づいて、アバターを描画する(S300)。なお、例えば、ロボットの場合には、本実施形態においてはロボットの動作を制御することとなる。
より具体的には、本実施形態においては、アバター等の部位(関節)の姿勢(θ)や位置(position)(P)は、ブレンド率α、βによって、以下の数式(3)によって示すことができる。なお、以下の数式(3)は、二人のパフォーマの部位のモーションをブレンドする場合を示している。
Figure 2019203190
なお、ブレンド率α、βは、相関係を鑑みて、以下の数式(4)を満たしていることが好ましい。なお、ブレンド率の決定方法の詳細については後述する。
Figure 2019203190
さらに、二人のパフォーマの部位モーションにおいて、例えばブレンド率α、αがゼロとなった場合には、本実施形態に係るシステムは、アバター等の部位の姿勢(θ)や位置(P)の算出を停止するようにする。さらに、上記ブレンド率α、αがゼロ以外となった場合には、本実施形態に係るシステムは、再びアバター等の部位の姿勢(θ)や位置(P)の算出を開始するようにする。本実施形態においては、このようにすることで、アバター等の部位の姿勢(θ)や位置(P)の算出に係る処理の負荷を軽減することができる。
また、本実施形態においては、本実施形態に係るシステムにおける処理の負荷を以下のようにして軽減するようにしてもよい。例えば、ブレンド率はあらかじめオペレータによって設定するケースにおいて、オペレータによって、アバター等の上半身は、パフォーマ1及びパフォーマ2の上半身のモーションをブレンドしたモーションを再現し、アバター等の下半身は、パフォーマ1の下半身のモーションのみを再現するように設定されたとする。このような場合、本実施形態においては、パフォーマ2の下半身のモーションキャプチャを停止することにより、本実施形態に係るシステムにおける処理の負荷を軽減することができる。
なお、本実施形態においては、二人のパフォーマの部位のモーションをブレンドすることに限定されるものではなく、M人のパフォーマの部位のモーションをブレンドしてもよい。このような場合、アバター等の部位(関節)の姿勢(θ)や位置(position)(P)は、ブレンド率α、βによって、以下の数式(5)及び数式(6)によって示すことができる。
Figure 2019203190
Figure 2019203190
さらに、本実施形態においては、レンド率α、βは、固定された値でなくてもよく、例えば、時間とともに動的に変化する値であってもよい。このような場合、アバター等の部位(関節)の姿勢(θ)や位置(position)(P)は、ブレンド率α、βによって、以下の数式(7)によって示すことができる。
Figure 2019203190
次に、ブレンド率を決定し、アバー等のモーションを決定する図28のステップS200の詳細について、図29を参照して説明する。詳細には、本実施形態に係るシステムは、各パフォーマの部位のモーションをキャプチャし、キャプチャした情報に基づき、ブレンド率を決定するための様々なファクタ(距離、加速度等)を算出する(S201)。次に、当該システムは、各パフォーマについて、上記ファクタに基づいて、仮の単体ブレンド率(α_temp)を算出する(S203)。さらに、当該システムは、各パフォーマについて算出された仮の単体ブレンド率(α_temp)に基づいて、相関を考慮し、最終ブレンド率αを算出する(S205)。そして、当該システムは、最終ブレンド率αに基づいて、各パフォーマの部位のモーションをブレンドする処理を行い、アバターの再生するためのアニメーションを生成する(S207)。
なお、本実施形態においては、先に説明したように、ブレンドしたモーションを再現する主体は、仮想空間上のアバターであってもよく、実空間上のロボットであってもよく、特に限定されるものではない。また、アバターを用いる場合であっても、人型であっても、動物の形であってもよく、数分前ごとのモーションと重ねて表示する形態(例えば、パーティクル表示等)で表現されていてもよい。
本実施形態においては、ブレンド率αの決定手法については、様々な例を挙げることができる。そこで、以下に、本実施形態に係るブレンド率αの決定手法の例について説明する。なお、本実施形態は、以下の説明するブレンド率αの決定手法に限定されるものではない。
<6−4.ブレンド率決定手法例1>
以下に説明するブレンド率決定手法例1におけるブレンド率決定手法に係るアルゴリズムは、実空間上において予め設定された基準点からの各パフォーマまでの距離に応じて、各パフォーマの部位のモーションに付されたブレンド率αを動的に決定し、決定したブレンド率αに基づいて、各パフォーマの部位のモーションをブレンドする。このようなブレンド率決定手法例1の詳細を、図30から図32を参照して説明する。図30は、本実施形態に係るブレンド率決定手法例1の概要を説明するためのイメージ図である。図31及び図32は、本実施形態に係るブレンド率決定手法例1の動作を説明するためのイメージ図である。
例えば、本手法においては、ダンスバトル等の舞台で中央に寄って行ったパフォーマのモーションにアバターのモーションを近づけていくケース、あるいは、アイドルグループのライブで、歌唱中にメンバのフォーメンション(立ち位置)の変更が行われるが、舞台で中央に立ったメンバのモーションにアバターのモーションを近づけていくケースを想定している。
(事前準備)
例えば、本手法においては、図30に示すように、実空間上の舞台における基準点(例えば、舞台の中心点)Cを予め設定しておく。さらに、本手法においては、図31に示すように、実空間上の舞台における基準点Cからの最小距離d_minと最大距離d_maxを予め設定しておく。詳細には、最小距離d_minは、パフォーマの歩幅等を参照して設定することができ、例えば1m程度に設定することができる。また、最小距離d_maxは、舞台のサイズ等を参照して設定することができ、例えば10m程度に設定することができる。そして、本手法においては、図31に示すように、例えば、基準点Cからパフォーマまでの距離が最小距離d_minであった場合には、当該パフォーマのモーションに付される仮の単体ブレンド率α_tempを1と設定し、基準点Cからパフォーマまでの距離が最大距離d_maxであった場合には、当該パフォーマのモーションに付される仮の単体ブレンド率α_tempを0と設定してもよい。
(Frame処理)
例えば、本手法においては、全てのパフォーマについて、基準点Cからの距離d_nを取得する。なお、距離dの取得は、特に限定されるものではないが、上述したセンサ装置10、撮像装置、パフォーマに装着された測位センサ(例えば、センサ装置10に内蔵される)、舞台に設けられた圧力センサ等によって実施することができる。なお、上記測位センサは、例えば、GNSS(Global Navigation Satellite System)受信機等であることができる。この場合、測位センサは、GNSS衛星からの信号に基づいて、パフォーマの現在地の緯度・経度を示すセンシングデータを生成することができる。また、本手法においては、例えば、RFID(Radio Frequency Identification)、Wi−Fiのアクセスポイント、無線基地局の情報等からパフォーマの相対的な位置関係を検出することが可能なため、このような通信装置を上記測位センサとして利用することも可能である。
さらに、本手法においては、取得した距離dに基づいて、図32に示すグラフを参照して、当該パフォーマのモーションに付される仮の単体ブレンド率α_temp_nを算出する。算出式は、例えば下記の数式(8)で示すことができる。
Figure 2019203190
なお、本手法においては、距離_nが、最小距離d_minから最大距離d_maxの範囲外である場合には、図32に示すように、仮の単体ブレンド率α_temp_nは、1又は0であるものとする。
そして、本手法においては、算出した単体ブレンド率α_temp_nがすべてゼロであった場合には、アバター等の表示を停止する。一方、本手法においては、算出した単体ブレンド率α_temp_nがすべてゼロでない場合には、算出された体ブレンド率α_temp_nに基づいて、相関を考慮し、各最終ブレンド率αを算出する。より具体的には、本手法においては、下記の数式(9)に基づき各最終ブレンド率αを算出する。
Figure 2019203190
さらに、本手法においては、算された各最終ブレンド率αに基づき、上記数式(5)等を参照して、各パフォーマの部位のモーションをブレンドする処理を行う。
<6−5.ブレンド率決定手法例2>
以下に説明するブレンド率決定手法例2におけるブレンド率決定手法に係るアルゴリズムは、実空間上における各パフォーマの部位の加速度、速度又は変位量に応じて、各パフォーマの部位のモーションに付されたブレンド率αを動的に決定し、決定したブレンド率αに基づいて、各パフォーマの部位のモーションをブレンドする。このようなブレンド率決定手法例2の詳細を、図33を参照して説明する。図33は、本実施形態に係るブレンド率決定手法例2の動作を説明するためのイメージ図である。
例えば、本手法においては、ダンスバトル等の舞台で激しく動作するパフォーマのモーションにアバターのモーションを近づけていくケースを想定している。すなわち、以下においては、パフォーマの所定の部位の加速度に応じて、ブレンド率αを動的に決定する例を説明する。しかしながら、本手法においては、加速度に限定されるものではなく、パフォーマの所定の部位の速度や変位量に応じて、ブレンド率αを動的に決定してもよい。
(事前準備)
例えば、本手法においては、最小加速度f_minと最大加速度f_maxを予め設定しておく。そして、本手法においては、例えば、パフォーマの所定の部位の加速度fが最小加速度f_minであった場合には、当該パフォーマの部位のモーションに付される仮の単体ブレンド率α_tempを0と設定し、パフォーマの所定の部位の加速度fが最大加速度f_maxであった場合には、当該パフォーマの部位のモーションに付される仮の単体ブレンド率α_tempを1と設定してもよい。
(Frame処理)
例えば、本手法においては、全てのパフォーマの部位について加速度fを取得する。なお、加速度fの取得は、特に限定されるものではないが、上述したセンサ装置10等によって実施することができる。さらに、本手法においては、取得した加速度fに基づいて、図33に示すグラフを参照して、当該パフォーマのモーションに付される仮の単体ブレンド率α_temp_nを算出する。算出式は、例えば下記の数式(10)で示すことができる。なお、数式(10)においては、一人のパフォーマにおける17個の関節(0〜16)の加速度の最大値を、パフォーマの加速度fとしている。
Figure 2019203190
なお、本手法においては、加速fnが、最小加速度f_minから最大加速度f_maxの範囲外である場合には、図33に示すように、仮の単体ブレンド率α_temp_nは、1又は0であるものとする。
なお、上述の説明においては、一人のパフォーマにおける17個の関節の加速度の最大値を、パフォーマの加速度fとしていたが、本手法においてはこれに限定されるものではなく、所定の部位の加速度であってもよく、複数の部位の加速度の平均値であってもよい。
そして、本手法においては、算出した単体ブレンド率α_temp_nがすべてゼロであった場合には、アバター等の表示を停止する。一方、本手法においては、算出した単体ブレンド率α_temp_nがすべてゼロでない場合には、算出された体ブレンド率α_temp_nに基づいて、相関を考慮し、各最終ブレンド率αを算出する。より具体的には、本手法においても、上記数式(9)に基づき各最終ブレンド率αを算出する。
さらに、本手法においても、算出された各最終ブレンド率αに基づき、上記数式(5)等を参照して、各パフォーマの部位のモーションをブレンドする処理を行う。
<6−6.ブレンド率決定手法例3>
以下に説明するブレンド率決定手法例3においては、舞台上のパフォーマではなく、パフォーマによるパフォーマンスを鑑賞するオーディエンスのモーションの同期性に応じて、ブレンド率を決定してもよい。すなわち、ブレンド率決定手法例3におけるブレンド率決定手法に係るアルゴリズムは、実空間上における各オーディエンスの間のモーションの同期性に応じて、二人のパフォーマの部位のモーションに付されたブレンド率αを動的に決定し、決定したブレンド率αに基づいて、各パフォーマの部位のモーションをブレンドする。このようなブレンド率決定手法例3の詳細を、図34を参照して説明する。図34は、本実施形態に係るブレンド率決定手法例3の概要を説明するためのイメージ図である。
例えば、本手法においては、全てのオーディエンスの部位について加速度aを取得する。なお、加速度aの取得は、特に限定されるものではないが、上述したセンサ装置10等をオーディエンスの身体の一部に装着してもらうことによって実施することができる。そして、本手法においては、全てのオーディエンスの部位について加速度aを取得し、各加速度aを積分して速度に変換し、速度のy成分の平均値Vを下記式(11)により算出する。
Figure 2019203190
さらに、本手法においては、算出た速度のy成分の平均値Vに基づいて、最終ブレンド率αを算出する。なお、本手法においては、速度のy成分の平均値Vと最終ブレンド率αとの相関は、予め実験的に決定することができる。そして、本手法においても、算出された最終ブレンド率に基づき、上記数式(3)、(4)等を参照して、各パフォーマの部位のモーションをブレンドする処理を行う。
より具体的には、例えば、オーディエンスのジャンプのタイミングが同期した場合には、図34の左側に示すように、速度のy成分の平均値Vの振幅が大きくなり、最終ブレンド率αは、大きく変化する。その結果、アバターのモーションは、パフォーマ1とパフォーマ2との間で大きく切り替わり、メリハリの利いた状態になる。
また、例えば、オーディエンスのジャンプのタイミングがずれた場合や、ジャンプの飛躍高さ自体が小さい場合には、図34の右側に示すように、速度のy成分の平均値Vの振幅が小さくなる。その結果、最終ブレンド率αは、0.5前後に落ち着き、アバターのモーションは、パフォーマ1とパフォーマ2との間で大きく切り替わることがなく、静かな状態になる。
<6−7.ブレンド率決定手法例4>
以下に説明するブレンド率決定手法例4においても、舞台上のパフォーマではなく、パフォーマによるパフォーマンスを鑑賞するオーディエンスのモーションの同期性に応じて、ブレンド率を決定してもよい。なお、本手法においては、二人のパフォーマの部位のモーションをブレンドするのではなく、実空間上のパフォーマのモーションと、予め準備された人物等が動作を行うアニメーション(スペシャル ダンス アニメーション)とをブレンドする。このようなブレンド率決定手法例4の詳細を、図35から図38を参照して説明する。図35、図36及び図38は、本実施形態に係るブレンド率決定手法例4の動作を説明するためのイメージ図である。また、図37は、本実施形態に係るブレンド率決定手法例4の動作を説明するための表である。
例えば、本手法においては、全てのオーディエンスの保持するサイリウム(化学反応によって蛍光色を発する器具)の動きを、会場に設置された撮像装置によって取得する。なお、本手法においては、アバターのモーションは、オーディエンスの保持するサイリウムの動きが会場全体で同期すると、徐々にスペシャル ダンス アニメーションに寄っていく。一方、本手法においては、アバターのモーションは、サイリウムの動きが会場全体で同期しなくなったり、サイリウムの動き自体が小さくなると、徐々に実空間上のパフォーマのモーションに寄っていく。
詳細には、本手法においては、撮像装置の各画素において、所定の閾値以上の明るさを持った点Pを検出した場合、下記数式(12)に従い、P点のx座標の位置、すなわち、画素のX座標を取得する。なお、図35及び図36の右側上に示すように、以下の説明においては、上記撮像装置は、8×4のマトリックスで設けられた画素を持つものとする。
Figure 2019203190
より具体的には、図35の例で、オーディエンス1、2の保持するサイリウム500a、500bは、両者ともに右から左へ動いており、サイリウム500a、500bの動きが同期しているものとする。このような場合、本手法においては、各時間t1、t2、t3において、サイリウム500a、500bのX座標の積算を算出する。
例えば、図35の例では、時間t1において、サイリウム500a、500bのX座標が、5と2であることから、図37の表の上段に示すように、X座標の積算値は7となる。また、図35の例では、時間t2において、サイリウム500a、500bのX座標が、4と1であることから、図37の表の上段に示すように、X座標の積算値は5となる。さらに、図35の例では、時間t2において、サイリウム500a、500bのX座標が、3と0であることから、図37の表の上段に示すように、X座標の積算値は3となる。
そして、本手法においては、時間t1から時間t3までの積算値の最大値X_maxと最小値X_minの差分を、下記式(13)に従って算出する。本手法においては、算出された差分が、変数Ampとなり、図35の例では、4となる。
Figure 2019203190
また、図36の例では、オーデエンス1、2の保持するサイリウム500a、500bは、ばらばらに右から左、左から右へ動いており、サイリウム500a、500bの動きが同期していないものとする。このような場合においても、各時間t1、t2、t3において、サイリウム500a、500bのX座標の積算を算出する。
例えば、図36の例では、時間t1において、サイリウム500a、500bのX座標が、5と0であることから、図37の表の下段に示すように、X座標の積算値は5となる。また、図36の例では、時間t2において、サイリウム500a、500bのX座標が、4と1であることから、図37の表の下段に示すように、X座標の積算値は5となる。さらに、図36の例では、時間t2において、サイリウム500a、500bのX座標が、3と2であることから、図37の表の下段に示すように、X座標の積算値は5となる。
そして、本手法においては、時間t1から時間t3までの積算値の最大値X_maxと最小値X_minの差分を、上記式(13)に従って算出する。本手法においては、算出された差分が、変数Ampとなり、図36の例では、0となる。
さらに、本手法においては、算出した変数Ampに基づいて、図38に示すグラフを参照して、最終ブレンド率αを算出する。そして、本手法においては、例えば、変数Ampがあらかじめ設定された最小変数Amp_minであった場合には、最終ブレンド率αを0と設定し、アバターのモーションがパフォーマのモーション(リアルタイムモーション)に寄っていくようにする。一方、本手法においては、例えば、変数Ampがあらかじめ設定された最大変数Amp_maxであった場合には、最終ブレンド率αを1と設定し、アバターのモーションがスペシャル ダンス アニメーションに寄っていくようにする。
なお、上述の説明においては、時間t1から時間t3までのサイリウム500a、500bの動きに基づいて、最終ブレンド率αを算出していたが、本手法においてはこれに限定されるものではなく、過去の所定の時間範囲、例えば、5秒間のサイリウム500a、500bの動きに基づいて、最終ブレンド率αを算出してもよい。
<6−8.ブレンド率決定手法例5>
以下に説明するブレンド率決定手法例5におけるブレンド率決定手法に係るアルゴリズムは、パフォーマの周囲の環境情報に応じて、各パフォーマの部位のモーションに付されたブレンド率αを動的に決定し、決定したブレンド率αに基づいて、各パフォーマの部位のモーションをブレンドする。このようなブレンド率決定手法例5の詳細を、図39を参照して説明する。図39は、本実施形態に係るブレンド率決定手法例5の動作を説明するためのイメージ図である。
本手法においては、例えば、図39に示すように、環境情報として、パフォーマのパフォーマンスを鑑賞するオーディエンスの立つフロア全体の振動vを検知し、振動vに応じて最終ブレンド率αを決定してもよい。
本手法においては、あらかじめ音楽(リズム、周波数、大きさ等)に応じて変化するように最終ブレンド率αのアルゴリズムを設定しておき、パフォーマのパフォーマンス中に再生される音楽に同期して、最終ブレンド率αを動的に変化させてもよい。また、本手法においては、音楽の代わりに、会場の歓声音に同期させてもよい。
なお、本手法における環境情報は、パフォーマの周囲の音、光、温度、湿度等の情報を含むことができる。
また、本手法においては、オペレータの操作により、最終ブレンド率αを動的に変化させてもよい。
<6−9.ブレンド率決定手法例6>
以下に説明するブレンド率決定手法例6におけるブレンド率決定手法に係るアルゴリズムは、実空間上の各パフォーマの生体情報に応じて、各パフォーマの部位のモーションに付されたブレンド率αを動的に決定し、決定したブレンド率αに基づいて、各パフォーマの部位のモーションをブレンドする。このようなブレンド率決定手法例6の詳細を、図40を参照して説明する。図40は、本実施形態に係るブレンド率決定手法例6の動作を説明するためのイメージ図である。
詳細には、本手法においては、あらかじめ音楽(リズム、周波数、大きさ等)に応じて変化するように最終ブレンド率αのアルゴリズムを設定しておく。例えば、最終ブレンド率αは、図40に実線に示されるように変化するように設定される。さらに、本手法においては、予め設定した変化に対して、パーリンノイズ(図40の破線)として、オーディエンスの生体情報である血流アルコール濃度を乗せる。本手法においては、このようにすることで、オーディエンスの酔いに応じて、アバターのモーションを揺れることとなる。
なお、上述の説明においては、生体情報としてオーディエンスの血流アルコール濃度を上げたが、本手法においてはこれに限定されるものではなく、パフォーマ又はオーディエンスの他の生体情報を用いてもよい。本手法においては、生体情報の取得は、特に限定されるものではないが、下記に挙げる各種の生体情報センサをパフォーマ又はオーディエンスの身体の一部に装着してもらうことによって実施することができる。例えば、上記生体情報センサは、例えば、筋電センサ、心拍センサ、脈拍センサ(血流センサ(血圧センサも含む)、血中アルコール濃度センサ、呼吸センサ、脳波センサ、皮膚温度センサ、皮膚導電率センサ、発汗センサ等の生体情報センサであることができる。
また、本手法においては、予め設定した変化に対して乗せるノイズは、特に限定されるものではなく、例えばフラクタル性を加味した乱数等であってもよい。
<6−10.UI例1>
先に説明したように、本実施形態においては、オペレータの操作により、最終ブレンド率αを動的に変化させてもよい。そこで、以下においては、最終ブレンド率αを動的に変化させるためのユーザインターフェス(UI)(所定の設定用画面)の各種の例について説明する。なお、本実施形態は、以下の説明するUI例に限定されるものではない。
まずは、二人のパフォーマの部位のモーションに付されたブレンド率αを動的に変化させるUI例1を、図41及び図42を参照して説明する。図41及び図42は、本実施形態に係るUI例1を説明するためのイメージ図である。
例えば、本UI例においては、オペレータの保持するスマートフォンやタブレット等のタッチパネルと重畳された表示装置に、図41に示されるような画面800が表示される。当該画面800においては、ブレンドされ得るパフォーマ1、2(第1の動作主体、第2の動作主体)の部位(第1の部位、第2の部位)がマーカ802で示されている。本UI例においては、オペレータは、ブレンドしようとするフォーマ1、2の部位を結んで線分を作成し、線分上のカーソル804を移動させる操作を行うことにより、最終ブレンド率αを変化させることができる。
なお、本UI例においては、カーソル804を移動させると、マーカ802の色や大きさが変化してもよく、オペレータによって結ばれたマーカ802の色や大きさが変化してもよく、特に限定されるものではない。また、本UI例においては、必ずしもパフォーマ1、2の同一に部位のモーションをブレンドすることに限定されるものではなく、異なる部位のモーションをブレンドしてもよい。
また、本UI例においては、図42に示すように、複数の部位をグルーピングしてもよく、このような場合、パフォーマ1のグルーピングされた複数の部位のモーションと、パフォーマ2のグルーピングされた複数の部位のモーションとがそれぞれブレンドされることとなる。この場合、例えば、本UI例においては、上記表示装置に、図42に示されるような画面810が表示される。当該画面810においては、パフォーマ1の各部位の示すマーカ802bと、マーカ802fと、マーカ802eとが破線によって結ばれることによりグルーピングされる。また、当該画面810においては、パフォーマ2の各部位の示すマーカ802aと、マーカ802cと、マーカ802dとが破線によって結ばれることによりグルーピングされる。
<6−11.UI例2>
次に、三人のパフォーマの部位のモーションに付されたブレンド率αを動的に変化させるUI例2を、図43を参照して説明する。図43は、本実施形態に係るUI例2を説明するためのイメージ図である。
例えば、本UI例においては、上記表示装置に、図43に示されるような画面820が表示される。当該画面820においては、ブレンドされ得るパフォーマ1、2、3の部位がマーカ822で示されており、マーカの色を変えることにより、オペレータはブレンドする部位を指定することができる。
さらに、当該画面820においては、パフォーマ1、2、3を結ぶ三角形内のカーソル824を移動させる操作を行うことにより、最終ブレンド率αを変化させることができる。より具体的には、三角形の各頂点は、パフォーマ1、2、3のそれぞれに紐づけられており、各頂点からカーソル824までの距離をr、r、rとする。そして、本UI例においては、下記の数式(14)に従って、パフォーマ1、2、3のモーションに係る最終ブレンド率α、α、αを算出する。
Figure 2019203190
<6−12.UI例3>
らに、複数のパフォーマの部位のモーションに付されたブレンド率αを動的に変化させるUI例3を、図44を参照して説明する。図44は、本実施形態に係るUI例3を説明するためのイメージ図である。
例えば、本UI例においては、上記表示装置に、図44に示されるような画面830が表示される。当該画面830においては、ブレンドされ得る複数のパフォーマの部位がマーカ832で示されており、マーカの色を変えることにより、オペレータはブレンドする部位を指定することができる。
さらに、当該画面830においては、複数のパフォーマを結ぶ多角形内のカーソル834を移動させる操作を行うことにより、最終ブレンド率αを変化させることができる。より具体的には、多角形の各頂点は、パフォーマのそれぞれに紐づけられており、各頂点からカーソル834までの距離をrとする。そして、本UI例においては、下記の数式(15)に従って、パフォーマのモーションに係る最終ブレンド率αを算出する。
Figure 2019203190
以上のように、本実施形態におては、モーションキャプチャ技術を利用してキャプチャした複数のユーザのモーションをブレンドし、ブレンドした動きを仮想空間上のアバター等によってリアルタイムで再現することが可能である。
<<7.ハードウェア構成例>>
以上、本開示の実施形態を説明した。最後に、図45を参照して、本開示の実施形態にかかる情報処理装置のハードウェア構成について説明する。図45は、本開示の実施形態にかかる情報処理装置のハードウェア構成の一例を示すブロック図である。なお、図45に示す情報処理装置900は、例えば、図14に示したセンサ装置10、ハブ装置20、及び情報処理装置30を実現し得る。本開示の実施形態にかかるセンサ装置10、ハブ装置20、及び情報処理装置30による情報処理は、ソフトウェアと、以下に説明するハードウェアとの協働により実現される。
図45に示すように、情報処理装置900は、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM(Random Access Memory)903及びホストバス904aを備える。また、情報処理装置900は、ブリッジ904、外部バス904b、インタフェース905、入力装置906、出力装置907、ストレージ装置908、ドライブ909、接続ポート911、通信装置913、及びセンサ915を備える。情報処理装置900は、CPU901に代えて、又はこれとともに、DSP若しくはASIC等の処理回路を有してもよい。
CPU901は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置900内の動作全般を制御する。また、CPU901は、マイクロプロセッサであってもよい。ROM902は、CPU901が使用するプログラムや演算パラメータ等を記憶する。RAM903は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。CPU901は、例えば、制御部16、制御部24、制御部34を形成し得る。
CPU901、ROM902及びRAM903は、CPUバスなどを含むホストバス904aにより相互に接続されている。ホストバス904aは、ブリッジ904を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス904bに接続されている。なお、必ずしもホストバス904a、ブリッジ904および外部バス904bを分離構成する必要はなく、1つのバスにこれらの機能を実装してもよい。
入力装置906は、例えば、マウス、キーボード、タッチパネル、ボタン、マイクロフォン、スイッチ及びレバー等、ユーザによって情報が入力される装置によって実現される。また、入力装置906は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、情報処理装置900の操作に対応した携帯電話やPDA等の外部接続機器であってもよい。さらに、入力装置906は、例えば、上記の入力手段を用いてユーザにより入力された情報に基づいて入力信号を生成し、CPU901に出力する入力制御回路などを含んでいてもよい。情報処理装置900のユーザは、この入力装置906を操作することにより、情報処理装置900に対して各種のデータを入力したり処理動作を指示したりすることができる。
出力装置907は、取得した情報をユーザに対して視覚的又は聴覚的に通知することが可能な装置で形成される。このような装置として、CRTディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ELディスプレイ装置及びランプ等の表示装置や、スピーカ及びヘッドホン等の音声出力装置や、プリンタ装置等がある。出力装置907は、例えば、情報処理装置900が行った各種処理により得られた結果を出力する。具体的には、表示装置は、情報処理装置900が行った各種処理により得られた結果を、テキスト、イメージ、表、グラフ等、様々な形式で視覚的に表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して聴覚的に出力する。
ストレージ装置908は、情報処理装置900の記憶部の一例として形成されたデータ格納用の装置である。ストレージ装置908は、例えば、HDD等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等により実現される。ストレージ装置908は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置などを含んでもよい。このストレージ装置908は、CPU901が実行するプログラムや各種データ及び外部から取得した各種のデータ等を格納する。
ドライブ909は、記憶媒体用リーダライタであり、情報処理装置900に内蔵、あるいは外付けされる。ドライブ909は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記憶媒体に記録されている情報を読み出して、RAM903に出力する。また、ドライブ909は、リムーバブル記憶媒体に情報を書き込むこともできる。
接続ポート911は、外部機器と接続されるインタフェースであって、例えばUSB(Universal Serial Bus)などによりデータ伝送可能な外部機器との接続口である。
通信装置913は、例えば、ネットワーク920に接続するための通信デバイス等で形成された通信インタフェースである。通信装置913は、例えば、有線若しくは無線LAN(Local Area Network)、LTE(Long Term Evolution)、Bluetooth(登録商標)又はWUSB(Wireless USB)用の通信カード等である。また、通信装置913は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ又は各種通信用のモデム等であってもよい。この通信装置913は、例えば、インターネットや他の通信機器との間で、例えばTCP/IP等の所定のプロトコルに則して信号等を送受信することができる。通信装置913は、例えば、通信部18、通信部22、通信部32を形成し得る。
センサ915は、例えば、加速度センサ、ジャイロセンサ、地磁気センサ、光センサ、音センサ、測距センサ、力センサ等の各種のセンサである。センサ915は、情報処理装置900の姿勢、移動速度等、情報処理装置900自身の状態に関する情報や、情報処理装置900の周辺の明るさや騒音等、情報処理装置900の周辺環境に関する情報を取得する。また、センサ915は、GPS信号を受信して装置の緯度、経度及び高度を測定するGPSセンサを含んでもよい。センサ915は、例えば、ジャイロセンサ12、加速度センサ14を形成し得る。
なお、ネットワーク920は、ネットワーク920に接続されている装置から送信される情報の有線、または無線の伝送路である。例えば、ネットワーク920は、インターネット、電話回線網、衛星通信網などの公衆回線網や、Ethernet(登録商標)を含む各種のLAN(Local Area Network)、WAN(Wide Area Network)などを含んでもよい。また、ネットワーク920は、IP−VPN(Internet Protocol−Virtual Private Network)などの専用回線網を含んでもよい。
以上、本開示の実施形態にかかる情報処理装置900の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて実現されていてもよいし、各構成要素の機能に特化したハードウェアにより実現されていてもよい。従って、本開示の実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。
なお、上述のような本開示の実施形態にかかる情報処理装置900の各機能を実現するためのコンピュータプログラムを作製し、PC等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ等である。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信されてもよい。
<<8.むすび>>
以上説明したように、本開示の実施形態によれば、モーションセンサが装着された身体の部位の位置情報をより高精度に得ることが可能である。さらに、本開示の実施形態によれば、モーションセンサが装着されていない部位の位置情報、及び姿勢情報をも得ることが可能であるため、より少ないモーションセンサを用いて、スケルトン情報を得ることが可能である。
さらに、本開示の実施形態によれば、モーションキャプチャ技術を利用してキャプチャした複数の動作主体の動きをブレンドし、ブレンドした動きを仮想空間上のアバター等によってリアルタイムで再現することが可能である。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
例えば、上記実施形態では、モーションセンサとして、慣性センサが身体に装着される例を主に説明したが、本技術はかかる例に限定されない。モーションセンサは、身体の動きをセンシングするセンサであればよく、上述したように地磁気センサ、気圧センサ、イメージセンサ等であってもよい。
また、上記実施形態における各ステップは、必ずしもフローチャート図として記載された順序に沿って時系列に処理される必要はない。例えば、上記実施形態の処理における各ステップは、フローチャート図として記載した順序と異なる順序で処理されても、並列的に処理されてもよい。
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示にかかる技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
仮想空間におけるアバター又は実空間上のロボットのモーションを動的に制御する制御機能を、コンピュータに実現させるためのプログラムであって、
前記制御機能は、
前記実空間上の複数の動作主体に装着されたモーションセンサのそれぞれから当該各動作主体のモーションをキャプチャし、
前記複数の動作主体のモーションを所定のアルゴリズムに基づいてブレンドし、
前記アバター又は前記ロボットが前記複数の動作主体のモーションが反映されたモーションを行うように、ブレンド結果に基づいて、前記アバター又は前記ロボットのモーションを動的に制御する、
プログラム。
(2)
前記制御機能は、
前記各動作主体に装着された前記モーションセンサから前記各動作主体の少なくとも1つの部位に相当するモーションをキャプチャし、
前記複数の動作主体の前記部位のモーションを前記所定のアルゴリズムに基づいてブレンドし、
前記ブレンド結果に基づいて、前記アバター又は前記ロボットのモーションを動的に制御する、
上記(1)に記載のプログラム。
(3)
前記部位は、前記動作主体の身体の一部である、上記(2)に記載のプログラム。
(4)
前記身体の一部は、上半身、下半身、頭部、関節、腰、手首、足首のうちの少なくとも1つを含む、上記(3)に記載のプログラム。
(5)
前記動作主体は、パフォーマ、オーディエンスのうちの少なくとも一人を含む、上記(1)〜(4)のいずれか1つに記載のプログラム。
(6)
前記所定のアルゴリズムは、
予め前記各動作主体に付された重みづけに基づいて、前記複数の動作主体のモーションをブレンドする、
上記(2)に記載のプログラム。
(7)
前記所定のアルゴリズムは、
前記実空間上において予め設定された基準点からの前記各動作主体までの距離に応じて前記各動作主体に動的に付された重みづけに基づいて、前記複数の動作主体のモーションをブレンドする、
上記(1)〜(5)のいずれか1つに記載のプログラム。
(8)
前記所定のアルゴリズムは、
前記実空間上における前記各動作主体の加速度、速度又は変位量に応じて前記各動作主体に動的に付された重みづけに基づいて、前記複数の動作主体のモーションをブレンドする、
上記(1)〜(5)のいずれか1つに記載のプログラム。
(9)
前記所定のアルゴリズムは、
前記実空間上における前記各動作主体の間の動作の同期性の度合いに応じて前記各動作主体に動的に付された重みづけに基づいて、前記複数の動作主体のモーションをブレンドする、
上記(1)〜(5)のいずれか1つに記載のプログラム。
(10)
前記所定のアルゴリズムは、
前記各動作主体の生体情報に応じて前記各動作主体に動的に付された重みづけに基づいて、前記複数の動作主体のモーションをブレンドする、
上記(1)〜(5)のいずれか1つに記載のプログラム。
(11)
前記所定のアルゴリズムは、
前記各動作主体の周囲の環境情報に応じて前記各動作主体に動的に付された重みづけに基づいて、前記複数の動作主体のモーションをブレンドする、
上記(1)〜(5)のいずれか1つに記載のプログラム。
(12)
前記重みづけは、オペレータが所定の設定用画面を操作することにより予め設定される、上記(6)に記載のプログラム。
(13)
前記オペレータが、前記設定用画面における、第1の前記動作主体の第1の部位と第2の前記動作主体の第2の部位とを結ぶ線分上のカーソルを移動させる操作を行うことにより、前記重みづけは設定される、上記(12)に記載のプログラム。
(14)
前記オペレータが、前記設定用画面における、前記各動作主体の所定の前記部位を結ぶ多角形内のカーソルを移動させる操作を行うことにより、前記重みづけは設定される、上記(12)に記載のプログラム。
(15)
前記各動作主体のモーションをキャプチャする際に、前記各動作主体の2箇所以上の前記部位に装着された2以上の前記モーションセンサにより取得されたセンサデータに対して第1の処理を施して得られた第1の出力と、前記センサデータに対して第2の処理を施して得られた第2の出力とを参照して、前記モーションセンサが装着された前記部位の位置情報の補正を行う補正機能を、前記コンピュータに実現させる、
上記(2)に記載のプログラム。
(16)
仮想空間におけるアバター又は実空間上のロボットのモーションを動的に制御する制御部を備え、
前記制御部は、
前記実空間上の複数の動作主体に装着されたモーションセンサのそれぞれから当該各動作主体のモーションをキャプチャし、
前記複数の動作主体のモーションを所定のアルゴリズムに基づいてブレンドし、
前記アバター又は前記ロボットが前記複数の動作主体のモーションが反映されたモーションを行うように、ブレンド結果に基づいて、前記アバター又は前記ロボットのモーションを動的に制御する、
情報処理装置。
(17)
実空間上の複数の動作主体に装着されたモーションセンサのそれぞれから当該各動作主体のモーションをキャプチャすることと、
前記複数の動作主体のモーションを所定のアルゴリズムに基づいてブレンドすることと、
仮想空間におけるアバター又は実空間上のロボットが前記複数の動作主体のモーションが反映されたモーションを行うように、ブレンド結果に基づいて、前記アバター又は前記ロボットのモーションを動的に制御することと、を含む情報処理方法。
10、10A、10B、10C、10D、10E、10F センサ装置
12 ジャイロセンサ
14 加速度センサ
16 制御部
18、32 通信部
20 ハブ装置
22 通信部
24、34 制御部
30 情報処理装置
40 出力装置
500a、500b サイリウム
510 グローバル運動加速度姿勢計算部
520 積分計算部
530 選択部
540、541、544 装着位置回帰推定部
550 信頼度特定部
560 接地検出部
570、572、573、574 補正部
580、583 補間部
610 情報取得部
620 ブレンド率決定部
630 ブレンド部
640 動作制御部
800、810、820、830 画面
802、822、832 マーカ
804、824、834 カーソル
900 情報処理装置
901 CPU
902 ROM
903 RAM
904 ブリッジ
904a ホストバス
904b 外部バス
905 インタフェース
906 入力装置
908 ストレージ装置
909 ドライブ
911 接続ポート
913 通信装置
915 センサ
920 ネットワーク

Claims (17)

  1. 仮想空間におけるアバター又は実空間上のロボットのモーションを動的に制御する制御機能を、コンピュータに実現させるためのプログラムであって、
    前記制御機能は、
    前記実空間上の複数の動作主体に装着されたモーションセンサのそれぞれから当該各動作主体のモーションをキャプチャし、
    前記複数の動作主体のモーションを所定のアルゴリズムに基づいてブレンドし、
    前記アバター又は前記ロボットが前記複数の動作主体のモーションが反映されたモーションを行うように、ブレンド結果に基づいて、前記アバター又は前記ロボットのモーションを動的に制御する、
    プログラム。
  2. 前記制御機能は、
    前記各動作主体に装着された前記モーションセンサから前記各動作主体の少なくとも1つの部位に相当するモーションをキャプチャし、
    前記複数の動作主体の前記部位のモーションを前記所定のアルゴリズムに基づいてブレンドし、
    前記ブレンド結果に基づいて、前記アバター又は前記ロボットのモーションを動的に制御する、
    請求項1に記載のプログラム。
  3. 前記部位は、前記動作主体の身体の一部である、請求項2に記載のプログラム。
  4. 前記身体の一部は、上半身、下半身、頭部、関節、腰、手首、足首のうちの少なくとも1つを含む、請求項3に記載のプログラム。
  5. 前記動作主体は、パフォーマ、オーディエンスのうちの少なくとも一人を含む、請求項1に記載のプログラム。
  6. 前記所定のアルゴリズムは、
    予め前記各動作主体に付された重みづけに基づいて、前記複数の動作主体のモーションをブレンドする、
    請求項2に記載のプログラム。
  7. 前記所定のアルゴリズムは、
    前記実空間上において予め設定された基準点からの前記各動作主体までの距離に応じて前記各動作主体に動的に付された重みづけに基づいて、前記複数の動作主体のモーションをブレンドする、
    請求項1に記載のプログラム。
  8. 前記所定のアルゴリズムは、
    前記実空間上における前記各動作主体の加速度、速度又は変位量に応じて前記各動作主体に動的に付された重みづけに基づいて、前記複数の動作主体のモーションをブレンドする、
    請求項1に記載のプログラム。
  9. 前記所定のアルゴリズムは、
    前記実空間上における前記各動作主体の間の動作の同期性の度合いに応じて前記各動作主体に動的に付された重みづけに基づいて、前記複数の動作主体のモーションをブレンドする、
    請求項1に記載のプログラム。
  10. 前記所定のアルゴリズムは、
    前記各動作主体の生体情報に応じて前記各動作主体に動的に付された重みづけに基づいて、前記複数の動作主体のモーションをブレンドする、
    請求項1に記載のプログラム。
  11. 前記所定のアルゴリズムは、
    前記各動作主体の周囲の環境情報に応じて前記各動作主体に動的に付された重みづけに基づいて、前記複数の動作主体のモーションをブレンドする、
    請求項1に記載のプログラム。
  12. 前記重みづけは、オペレータが所定の設定用画面を操作することにより予め設定される、請求項6に記載のプログラム。
  13. 前記オペレータが、前記設定用画面における、第1の前記動作主体の第1の部位と第2の前記動作主体の第2の部位とを結ぶ線分上のカーソルを移動させる操作を行うことにより、前記重みづけは設定される、請求項12に記載のプログラム。
  14. 前記オペレータが、前記設定用画面における、前記各動作主体の所定の前記部位を結ぶ多角形内のカーソルを移動させる操作を行うことにより、前記重みづけは設定される、請求項12に記載のプログラム。
  15. 前記各動作主体のモーションをキャプチャする際に、前記各動作主体の2箇所以上の前記部位に装着された2以上の前記モーションセンサにより取得されたセンサデータに対して第1の処理を施して得られた第1の出力と、前記センサデータに対して第2の処理を施して得られた第2の出力とを参照して、前記モーションセンサが装着された前記部位の位置情報の補正を行う補正機能を、前記コンピュータに実現させる、
    請求項2に記載のプログラム。
  16. 仮想空間におけるアバター又は実空間上のロボットのモーションを動的に制御する制御部を備え、
    前記制御部は、
    前記実空間上の複数の動作主体に装着されたモーションセンサのそれぞれから当該各動作主体のモーションをキャプチャし、
    前記複数の動作主体のモーションを所定のアルゴリズムに基づいてブレンドし、
    前記アバター又は前記ロボットが前記複数の動作主体のモーションが反映されたモーションを行うように、ブレンド結果に基づいて、前記アバター又は前記ロボットのモーションを動的に制御する、
    情報処理装置。
  17. 実空間上の複数の動作主体に装着されたモーションセンサのそれぞれから当該各動作主体のモーションをキャプチャすることと、
    前記複数の動作主体のモーションを所定のアルゴリズムに基づいてブレンドすることと、
    仮想空間におけるアバター又は実空間上のロボットが前記複数の動作主体のモーションが反映されたモーションを行うように、ブレンド結果に基づいて、前記アバター又は前記ロボットのモーションを動的に制御することと、を含む情報処理方法。
JP2020514374A 2018-04-17 2019-04-15 プログラム、情報処理装置、及び情報処理方法 Active JP7318641B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018079335 2018-04-17
JP2018079335 2018-04-17
PCT/JP2019/016152 WO2019203190A1 (ja) 2018-04-17 2019-04-15 プログラム、情報処理装置、及び情報処理方法

Publications (2)

Publication Number Publication Date
JPWO2019203190A1 true JPWO2019203190A1 (ja) 2021-07-08
JP7318641B2 JP7318641B2 (ja) 2023-08-01

Family

ID=68239152

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2020514374A Active JP7318641B2 (ja) 2018-04-17 2019-04-15 プログラム、情報処理装置、及び情報処理方法
JP2020514372A Active JP7176563B2 (ja) 2018-04-17 2019-04-15 プログラム、情報処理装置、及び情報処理方法
JP2022179946A Active JP7396438B2 (ja) 2018-04-17 2022-11-10 プログラム、情報処理装置、及び情報処理方法

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2020514372A Active JP7176563B2 (ja) 2018-04-17 2019-04-15 プログラム、情報処理装置、及び情報処理方法
JP2022179946A Active JP7396438B2 (ja) 2018-04-17 2022-11-10 プログラム、情報処理装置、及び情報処理方法

Country Status (5)

Country Link
US (3) US11675418B2 (ja)
EP (2) EP3782549A4 (ja)
JP (3) JP7318641B2 (ja)
CN (2) CN111954491A (ja)
WO (3) WO2019203188A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6745301B2 (ja) * 2018-07-25 2020-08-26 株式会社バーチャルキャスト コンテンツ配信システム、コンテンツ配信方法、コンピュータプログラム
JP7198730B2 (ja) * 2019-07-05 2023-01-04 株式会社日立製作所 センサデータ補正システム
CN113050616A (zh) * 2019-12-27 2021-06-29 深圳市优必选科技股份有限公司 一种双足机器人行走的控制方法及双足机器人
WO2021138577A1 (en) * 2019-12-31 2021-07-08 Human Mode, LLC Proxy controller suit with optional dual range kinematics
JP7335199B2 (ja) 2020-04-30 2023-08-29 本田技研工業株式会社 解析装置、解析方法、プログラム、および較正方法
CN111896221B (zh) * 2020-07-30 2021-08-17 四川大学 虚拟坐标系辅助摄像机标定的旋转光学测量系统对准方法
CN112754472B (zh) * 2021-01-05 2021-09-21 北京诺亦腾科技有限公司 一种动作捕捉系统中传感器的校准方法及装置
JPWO2022168428A1 (ja) 2021-02-02 2022-08-11
CN112734946B (zh) * 2021-03-31 2021-07-30 南京航空航天大学 一种声乐表演教学方法及系统
WO2022215313A1 (ja) 2021-04-08 2022-10-13 ソニーグループ株式会社 情報処理方法、情報処理装置およびプログラム
WO2022250099A1 (ja) * 2021-05-28 2022-12-01 京セラ株式会社 情報処理装置、電子機器、情報処理システム、情報処理方法及びプログラム
WO2022269985A1 (ja) * 2021-06-22 2022-12-29 ソニーグループ株式会社 情報処理装置、および情報処理方法、並びにプログラム
US20230062315A1 (en) * 2021-08-30 2023-03-02 Msg Entertainment Group, Llc Live venue performance sensor capture and visualization over game network
WO2023106382A1 (ja) * 2021-12-10 2023-06-15 京セラ株式会社 情報処理装置、電子機器、情報処理システム、情報処理方法及びプログラム
FR3136645A1 (fr) * 2022-06-20 2023-12-22 Ynnov Dispositif de génération d’une séquence d'images représentant une suite continue d’éléments osseux en mouvement

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015184689A (ja) * 2014-03-20 2015-10-22 株式会社Mugenup 動画生成装置及びプログラム

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6088042A (en) * 1997-03-31 2000-07-11 Katrix, Inc. Interactive motion data animation system
AU2002230578A1 (en) * 2000-10-30 2002-05-15 Naval Postgraduate School Method and apparatus for motion tracking of an articulated rigid body
JP2003259214A (ja) 2002-03-01 2003-09-12 Univ Waseda 画像合成システム及び画像取得システム
JP2004264060A (ja) * 2003-02-14 2004-09-24 Akebono Brake Ind Co Ltd 姿勢の検出装置における誤差補正方法及びそれを利用した動作計測装置
JP2006177749A (ja) 2004-12-22 2006-07-06 Ritsumeikan 周期運動体の移動軌跡算出方法及び装置
JP2007072194A (ja) 2005-09-07 2007-03-22 Xing Inc 人型映像制御装置
US9159151B2 (en) * 2009-07-13 2015-10-13 Microsoft Technology Licensing, Llc Bringing a visual representation to life via learned input from the user
US8933884B2 (en) * 2010-01-15 2015-01-13 Microsoft Corporation Tracking groups of users in motion capture system
US8437506B2 (en) * 2010-09-07 2013-05-07 Microsoft Corporation System for fast, probabilistic skeletal tracking
JP5915148B2 (ja) 2011-12-16 2016-05-11 セイコーエプソン株式会社 運動解析方法及び運動解析装置
KR101327995B1 (ko) * 2012-04-12 2013-11-13 동국대학교 산학협력단 디지털 캐릭터를 이용한 무대 공연을 처리하는 장치 및 방법
US8867786B2 (en) * 2012-10-31 2014-10-21 Microsoft Corporation Scenario-specific body-part tracking
CN103135765A (zh) * 2013-02-20 2013-06-05 兰州交通大学 一种基于微机械传感器的人体动作信息捕捉系统
US9381426B1 (en) * 2013-03-15 2016-07-05 University Of Central Florida Research Foundation, Inc. Semi-automated digital puppetry control
US20160262685A1 (en) 2013-11-12 2016-09-15 Highland Instruments, Inc. Motion analysis systemsand methods of use thereof
US10415975B2 (en) 2014-01-09 2019-09-17 Xsens Holding B.V. Motion tracking with reduced on-body sensors set
JP6288706B2 (ja) * 2014-03-26 2018-03-07 本田技研工業株式会社 上体運動計測システム及び上体運動計測方法
EP3194890B1 (en) * 2014-09-21 2020-02-26 Athlete Architect LLC Methods and apparatus for power expenditure and technique determination during bipedal motion
JP6583605B2 (ja) * 2014-12-12 2019-10-02 カシオ計算機株式会社 運動情報生成装置及び運動情報生成方法、運動情報生成プログラム
JPWO2016098457A1 (ja) * 2014-12-17 2017-09-28 ソニー株式会社 情報処理装置、情報処理方法およびプログラム
US10212325B2 (en) * 2015-02-17 2019-02-19 Alpinereplay, Inc. Systems and methods to control camera operations
JP6660110B2 (ja) * 2015-07-23 2020-03-04 原田電子工業株式会社 歩行解析方法および歩行解析システム
US10976343B2 (en) 2015-09-09 2021-04-13 Sony Corporation Sensor device, sensor system, and information processing device
WO2017217050A1 (ja) 2016-06-16 2017-12-21 ソニー株式会社 情報処理装置、情報処理方法及び記憶媒体
US10573065B2 (en) 2016-07-29 2020-02-25 Activision Publishing, Inc. Systems and methods for automating the personalization of blendshape rigs based on performance capture data
JP6827472B2 (ja) 2016-09-16 2021-02-10 アルプスアルパイン株式会社 移動測定装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015184689A (ja) * 2014-03-20 2015-10-22 株式会社Mugenup 動画生成装置及びプログラム

Also Published As

Publication number Publication date
JP7396438B2 (ja) 2023-12-12
EP3782548A4 (en) 2021-06-16
JP2023016825A (ja) 2023-02-02
WO2019203189A1 (ja) 2019-10-24
US20210166479A1 (en) 2021-06-03
EP3782548A1 (en) 2021-02-24
US20210141443A1 (en) 2021-05-13
EP3782549A4 (en) 2021-11-10
JPWO2019203188A1 (ja) 2021-07-15
US11726549B2 (en) 2023-08-15
WO2019203188A1 (ja) 2019-10-24
WO2019203190A1 (ja) 2019-10-24
US20230333630A1 (en) 2023-10-19
EP3782549A1 (en) 2021-02-24
JP7176563B2 (ja) 2022-11-22
JP7318641B2 (ja) 2023-08-01
CN111954490A (zh) 2020-11-17
CN111954491A (zh) 2020-11-17
US11675418B2 (en) 2023-06-13

Similar Documents

Publication Publication Date Title
JP7318641B2 (ja) プログラム、情報処理装置、及び情報処理方法
JP6973388B2 (ja) 情報処理装置、情報処理方法及びプログラム
CN105807931B (zh) 一种虚拟现实的实现方法
CN105824416B (zh) 一种将虚拟现实技术与云服务技术结合的方法
CN105608746B (zh) 一种将现实进行虚拟实现的方法
KR102065687B1 (ko) 무선 손목 컴퓨팅과 3d 영상화, 매핑, 네트워킹 및 인터페이스를 위한 제어 장치 및 방법
US20090046056A1 (en) Human motion tracking device
JP2022529245A (ja) 電磁追跡のためのセンサ融合
CN115335796A (zh) 基于人员手势确定地理位置
EP3889737A1 (en) Information processing device, information processing method, and program
WO2020090223A1 (ja) 情報処理装置、情報処理方法及び記録媒体
WO2019087502A1 (ja) 情報処理装置、情報処理方法およびプログラム
Xiang et al. Comparing real-time human motion capture system using inertial sensors with microsoft kinect
WO2021157691A1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
CN109716395A (zh) 在虚拟现实中保持对象稳定性
WO2022215313A1 (ja) 情報処理方法、情報処理装置およびプログラム
WO2023236353A1 (zh) 人体全身姿态的确定方法、其确定装置以及智能鞋
WO2022201922A1 (ja) 情報処理装置、情報処理方法及び情報処理システム
JP2023123398A (ja) アバター実現方法、コンピュータプログラム及びコンピューティング装置
WO2017056661A1 (ja) センシングシステム、センサ装置、及びセンサ取付具

Legal Events

Date Code Title Description
AA64 Notification of invalidation of claim of internal priority (with term)

Free format text: JAPANESE INTERMEDIATE CODE: A241764

Effective date: 20210202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210222

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230418

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230607

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230703

R151 Written notification of patent or utility model registration

Ref document number: 7318641

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151