JP6859447B2 - 情報処理システムおよび対象物情報取得方法 - Google Patents

情報処理システムおよび対象物情報取得方法 Download PDF

Info

Publication number
JP6859447B2
JP6859447B2 JP2019545466A JP2019545466A JP6859447B2 JP 6859447 B2 JP6859447 B2 JP 6859447B2 JP 2019545466 A JP2019545466 A JP 2019545466A JP 2019545466 A JP2019545466 A JP 2019545466A JP 6859447 B2 JP6859447 B2 JP 6859447B2
Authority
JP
Japan
Prior art keywords
information
information processing
image pickup
orientation
coordinate system
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.)
Active
Application number
JP2019545466A
Other languages
English (en)
Other versions
JPWO2019064399A1 (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 JPWO2019064399A1 publication Critical patent/JPWO2019064399A1/ja
Application granted granted Critical
Publication of JP6859447B2 publication Critical patent/JP6859447B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/97Determining parameters from multiple pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/239Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/282Image signal generators for generating image signals corresponding to three or more geometrical viewpoints, e.g. multi-view systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • H04N13/344Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/366Image reproducers using viewer tracking
    • 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

Description

本発明は、撮影画像に基づき対象物の状態情報を取得する情報処理装置および対象物情報取得方法に関する。
ゲーム機に接続されたヘッドマウントディスプレイ(以下、「HMD」と呼ぶ)を頭部に装着して、表示された画面を見ながらゲームプレイすることが行われている(例えば特許文献1参照)。例えばユーザの頭部の位置や姿勢を取得し、顔の向きに応じて視野を変化させるように仮想世界の画像を表示すれば、あたかも仮想世界に入り込んだような状況を演出できる。ユーザの位置や姿勢は一般的に、ユーザを撮影した可視光や赤外線の画像の解析結果や、HMDに内蔵したモーションセンサの計測値などに基づいて取得される。
特許第5580855号明細書
撮影画像に基づき何らかの情報処理を行う技術は、ユーザなどの対象物がカメラの画角内にいることを前提としている。しかしながらHMDを装着した状態では、ユーザは外界を見ることができないため、方向感覚を失ったり、ゲームに没頭するあまり実空間で思わぬ位置に移動していたりすることがあり得る。これによりカメラの画角から外れると、情報処理が破綻したり精度が悪化したりするうえ、ユーザ自身がその原因に気づかないことも考えられる。HMDを利用するか否かに関わらず、より多様かつユーザへのストレスの少ない情報処理を実現するためには、より広い可動範囲で安定的に状態情報を取得できるようにすることが望ましい。
本発明はこうした課題に鑑みてなされたものであり、その目的は、撮影により対象物の状態情報を取得する技術において、対象物の可動範囲を容易かつ安定的に拡張できる技術を提供することにある。
本発明のある態様は情報処理システムに関する。この情報処理システムは、対象物を異なる視点から所定のレートで撮影する複数の撮像装置と、複数の撮像装置が撮影した画像のうち、対象物が写る画像をそれぞれ解析することにより個別に取得された、対象物の位置姿勢情報のいずれかを用いて、最終的な位置姿勢情報を所定のレートで生成し出力する情報処理装置と、を備えたことを特徴とする。
本発明の別の態様は対象物情報取得方法に関する。この対象物情報取得方法は、複数の撮像装置が、異なる視点から所定のレートで対象物を撮影するステップと、情報処理装置が、複数の撮像装置が撮影した画像のうち、対象物が写る画像をそれぞれ解析することにより個別に取得された、対象物の位置姿勢情報のいずれかを用いて、最終的な位置姿勢情報を所定のレートで生成し出力するステップと、を含むことを特徴とする。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、コンピュータプログラムを記録した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
本発明によると、撮影により対象物の状態情報を取得する技術において、対象物の可動範囲を容易かつ安定的に拡張できる。
本実施の形態を適用できる情報処理システムの構成例を示す図である。 本実施の形態におけるHMDの外観形状の例を示す図である。 本実施の形態における、メイン機能を有する情報処理装置の内部回路構成を示す図である。 本実施の形態におけるHMDの内部回路構成を示す図である。 本実施の形態における情報処理装置の機能ブロックの構成を示す図である。 本実施の形態における撮像装置の配置とHMDの可動範囲の関係を例示する図である。 本実施の形態における変換パラメータ取得部が、ローカル情報をグローバル情報に変換するためのパラメータを求める手法を説明するための図である。 本実施の形態において情報処理装置が対象物の位置姿勢情報を取得し、それに応じたデータを生成、出力する処理手順を示すフローチャートである。 本実施の形態における情報処理装置間でタイムスタンプを相互変換する手法を説明するための図である。 本実施の形態において撮像装置と情報処理装置の対を3つ以上設けた場合の配置例を示す図である。
図1は本実施の形態を適用できる情報処理システムの構成例を示す。情報処理システムは、対象物を撮影する複数の撮像装置12a、12bと、各撮像装置により撮影された画像を用いて対象物の位置や姿勢の情報を取得する情報処理装置10a、10bとの対8a、8bを複数設けた構成とする。対象物は特に限定されないが、例えばHMD18の位置や姿勢を取得することにより、それを装着するユーザ1の頭部の位置や動きを特定でき、視線に応じた視野で画像を表示できる。
撮像装置12a、12bは、ユーザなどの対象物を所定のフレームレートで撮影するカメラと、その出力信号にデモザイク処理など一般的な処理を施すことにより撮影画像の出力データを生成し、通信を確立した情報処理装置10a、10bに送出する機構とを有する。カメラはCCD(Charge Coupled Device)センサやCMOS(Complementary Metal Oxide Semiconductor)センサなど、一般的なデジタルカメラ、デジタルビデオカメラで利用されている可視光センサを備える。撮像装置12が備えるカメラは1つのみでもよいし、図示するように2つのカメラを既知の間隔で左右に配置したいわゆるステレオカメラでもよい。
あるいは単眼のカメラと、赤外線などの参照光を対象物に照射しその反射光を測定する装置との組み合わせで撮像装置12a、12bを構成してもよい。ステレオカメラや反射光の測定機構を導入した場合、3次元空間における対象物の位置を精度よく求めることができる。ステレオカメラが左右の視点から撮影したステレオ画像を用いて、三角測量の原理により被写体のカメラからの距離を特定する手法、反射光の測定によりTOF(Time of Flight)やパターン照射の方式で被写体のカメラからの距離を特定する手法はいずれも広く知られている。
ただし撮像装置12a、12bを単眼のカメラとしても、対象物に所定のサイズおよび形状のマーカーを装着させたり、対象物のサイズおよび形状自体を既知としたりすることにより、その像の位置およびサイズから実空間での位置を特定することが可能である。
情報処理装置10a、10bはそれぞれ、対応する撮像装置12a、12bと通信を確立し、送信された撮影画像のデータを用いて対象物の位置や姿勢に係る情報を取得する。一般に、撮影画像を用いて上述したような手法により得られる対象物の位置や姿勢は、撮像装置の光学中心を原点とし、撮像面の縦方向、横方向、および撮像面に垂直な方向に軸を有するカメラ座標系における情報となる。本実施の形態ではまず、各情報処理装置10a、10bにおいて、対象物の位置姿勢情報を各カメラ座標系で取得する。
そしてそれらを統一したワールド座標系での情報に変換することで、対象物の最終的な位置姿勢情報を生成する。これにより、対象物がどの撮像装置の視野にあるかに関わりなく、位置姿勢情報を利用した情報処理を行える。すなわち後段の処理に影響を与えることなく、対象物の可動範囲を撮像装置の数だけ拡張することができる。また各情報処理装置10a、10bがそれぞれ独立に取得した、対応する撮像装置12a、12bのカメラ座標系での位置姿勢情報を利用するため、撮像装置と情報処理装置の対8a、8bとしては従来のものをそのまま利用でき、実現が容易である。
図1では撮像装置12aと情報処理装置10aの対8a、撮像装置12bと情報処理装置10bの対8b、という2つの対を例示しているが、その数は限定されない。各カメラ座標系で取得した位置姿勢情報は、あらかじめ決定した1つの情報処理装置10aに集約させる。当該情報処理装置10aは、自装置およびその他の情報処理装置10bが取得した位置姿勢情報を収集し、ワールド座標系における位置姿勢情報を生成する。そしてその結果に基づき所定の情報処理を行い、画像や音声などの出力データを生成する。
以後、カメラ座標系での位置姿勢情報を収集して座標変換を行い、最終的な位置姿勢情報を生成したり、それを用いて所定の情報処理を行ったりする情報処理装置10aを、「メイン機能を有する情報処理装置10a」、それ以外の情報処理装置を「サブ機能を有する情報処理装置」と表現することがある。
メイン機能を有する情報処理装置10aが位置姿勢情報を用いて行う処理の内容は特に限定されず、ユーザが求める機能やアプリケーションの内容などによって適宜決定してよい。情報処理装置10aは例えば、上述のとおりHMD18の位置姿勢情報を取得し、ユーザの視線に応じた視野で仮想世界を描画することで仮想現実を実現してもよい。またユーザの頭部や手などの動きを特定し、それを反映させたキャラクタやアイテムが登場するゲームを進捗させたり、ユーザの動きをコマンド入力に変換して情報処理を行ったりしてもよい。メイン機能を有する情報処理装置10aは、生成した出力データをHMD18などの表示装置に出力する。
HMD18は、ユーザが頭部に装着することによりその眼前に位置する有機ELパネルなどの表示パネルに画像を表示する表示装置である。例えば左右の視点から見た視差画像を生成し、表示画面を2分割してなる左右の領域にそれぞれ表示させることにより、画像を立体視させてもよい。ただし本実施の形態をこれに限る主旨ではなく、表示画面全体に1つの画像を表示させてもよい。HMD18はさらに、ユーザの耳に対応する位置に音声を出力するスピーカーやイヤホンを内蔵していてもよい。なおメイン機能を有する情報処理装置10aによるデータの出力先はHMD18に限らず、図示しない平板型のディスプレイなどでもよい。
情報処理装置10a、10bと対応する撮像装置12a、12bの間の通信、メイン機能を有する情報処理装置10aとサブ機能を有する情報処理装置10bの間の通信、メイン機能を有する情報処理装置10aとHMD18の間の通信は、イーサネット(登録商標)などの有線ケーブルにより実現しても、Bluetooth(登録商標)などの無線通信により実現してもよい。またこれらの装置の外観形状は図示するものに限らない。例えば撮像装置12aと情報処理装置10a、撮像装置12bと情報処理装置10bをそれぞれ一体的に備えた情報端末などとしてもよい。
さらに各装置に画像表示機能を設け、対象物の位置や姿勢に応じて生成した画像を各装置に表示させてもよい。上述のとおり本実施の形態ではまず、情報処理装置と撮像装置の対8a、8bのそれぞれにおいて、カメラ座標系での対象物の位置姿勢情報を取得する。この処理には既存技術を適用できるため対象物も特に限定されないが、以後、HMD18を対象物とする場合を説明する。
図2はHMD18の外観形状の例を示している。この例においてHMD18は、出力機構部102および装着機構部104で構成される。装着機構部104は、ユーザが被ることにより頭部を一周し装置の固定を実現する装着バンド106を含む。装着バンド106は各ユーザの頭囲に合わせて長さの調節が可能な素材または構造とする。例えばゴムなどの弾性体としてもよいし、バックルや歯車などを利用してもよい。
出力機構部102は、HMD18をユーザが装着した状態において左右の目を覆うような形状の筐体108を含み、内部には装着時に目に正対するように表示パネルを備える。そして筐体108の外面には、所定の色で発光するマーカー110a、110b、110c、110d、110eを設ける。マーカーの数、配置、形状は特に限定されないが、図示する例では、およそ矩形のマーカーを、出力機構部102の筐体前面の4隅および中央に設けている。
さらに装着バンド106後方の両側面にも、楕円形のマーカー110f、110gを設けている。このようにマーカーを配置することにより、撮像装置12a、12bに対しユーザが横を向いたり後ろを向いたりしても、撮影画像におけるマーカーの像の数や位置に基づきそれらの状況を特定できる。なおマーカー110d、110eは出力機構部102の下側、マーカー110f、110gは装着バンド106の外側にあり、図2の視点からは本来は見えないため、外周を点線で表している。マーカーは所定の色や形状を有し、撮影空間にある他の物からの識別が可能な形態であればよく、場合によっては発光していなくてもよい。
図3は、メイン機能を有する情報処理装置10aの内部回路構成を示している。情報処理装置10aは、CPU(Central Processing Unit)22、GPU(Graphics Processing Unit)24、メインメモリ26を含む。これらの各部は、バス30を介して相互に接続されている。バス30にはさらに入出力インターフェース28が接続されている。入出力インターフェース28には、USBやIEEE1394などの周辺機器インターフェースや、有線又は無線LANのネットワークインターフェースからなる通信部32、ハードディスクドライブや不揮発性メモリなどの記憶部34、サブ機能を有する情報処理装置10bやHMD18へデータを出力する出力部36、サブ機能を有する情報処理装置10b、撮像装置12、およびHMD18からのデータを入力する入力部38、磁気ディスク、光ディスクまたは半導体メモリなどのリムーバブル記録媒体を駆動する記録媒体駆動部40が接続される。
CPU22は、記憶部34に記憶されているオペレーティングシステムを実行することにより情報処理装置10aの全体を制御する。CPU22はまた、リムーバブル記録媒体から読み出されてメインメモリ26にロードされた、あるいは通信部32を介してダウンロードされた各種プログラムを実行する。GPU24は、ジオメトリエンジンの機能とレンダリングプロセッサの機能とを有し、CPU22からの描画命令に従って描画処理を行い、表示画像を図示しないフレームバッファに格納する。
そしてフレームバッファに格納された表示画像をビデオ信号に変換して出力部36に出力する。メインメモリ26はRAM(Random Access Memory)により構成され、処理に必要なプログラムやデータを記憶する。なおサブ機能を有する情報処理装置10bも、基本的には同様の内部回路構成としてよい。ただし情報処理装置10bにおいて入力部38は、情報処理装置10aからのデータを入力し、出力部36はカメラ座標系での位置姿勢情報を出力する。
図4はHMD18の内部回路構成を示している。HMD18は、CPU50、メインメモリ52、表示部54、音声出力部56を含む。これらの各部はバス58を介して相互に接続されている。バス58にはさらに入出力インターフェース60が接続されている。入出力インターフェース60には、有線又は無線LANのネットワークインターフェースからなる通信部62、IMUセンサ64、および発光部66が接続される。
CPU50は、バス58を介してHMD18の各部から取得した情報を処理し、メイン機能を有する情報処理装置10aから取得した出力データを表示部54や音声出力部56に供給する。メインメモリ52はCPU50における処理に必要なプログラムやデータを格納する。ただし実行するアプリケーションや装置の設計によっては、情報処理装置10aがほぼ全ての処理を行い、HMD18では情報処理装置10aから送信されたデータを出力するのみで十分な場合がある。この場合、CPU50やメインメモリ52は、より簡易なデバイスで置き換えることができる。
表示部54は、液晶パネルや有機ELパネルなどの表示パネルで構成され、HMD18を装着したユーザの眼前に画像を表示する。上述のとおり、左右の目に対応する領域に一対の視差画像を表示することにより立体視を実現してもよい。表示部54はさらに、HMD18装着時に表示パネルとユーザの目との間に位置し、ユーザの視野角を拡大する一対のレンズを含んでもよい。
音声出力部56は、HMD18の装着時にユーザの耳に対応する位置に設けたスピーカーやイヤホンで構成され、ユーザに音声を聞かせる。出力される音声のチャンネル数は特に限定されず、モノラル、ステレオ、サラウンドのいずれでもよい。通信部62は、情報処理装置10aとの間でデータを送受するためのインターフェースであり、Bluetooth(登録商標)などの既知の無線通信技術を用いて実現できる。IMUセンサ64はジャイロセンサおよび加速度センサを含み、HMD18の角速度や加速度を取得する。センサの出力値は通信部62を介して情報処理装置10aに送信される。発光部66は、所定の色で発光する素子またはその集合であり、図2で示したHMD18の外面の複数箇所に設けたマーカーを構成する。
図5は、メイン機能を有する情報処理装置10aおよびサブ機能を有する情報処理装置10bの機能ブロックの構成を示している。図5に示す各機能ブロックは、ハードウェア的には、図3に示したCPU、GPU、メモリなどの構成で実現でき、ソフトウェア的には、記録媒体などからメモリにロードした、データ入力機能、データ保持機能、画像処理機能、入出力機能などの諸機能を発揮するプログラムで実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
メイン機能を有する情報処理装置10aは、撮像装置12aから撮影画像のデータを取得する撮影画像取得部130、撮影画像に基づく位置姿勢情報を取得する画像解析部132、HMD18からIMUセンサ64の出力値を取得するセンサ値取得部134、IMUセンサ64の出力値をサブ機能を有する情報処理装置10bに送信するセンサ値送信部136、撮影画像に基づく位置姿勢情報にIMUセンサ64の出力値を統合しカメラ座標系での位置姿勢情報を生成するローカル情報生成部138を含む。情報処理装置10aはさらに、サブ機能を有する情報処理装置10bから送信された位置姿勢情報を受信するローカル情報受信部140、ワールド座標系での位置姿勢情報を生成するグローバル情報生成部142、当該位置姿勢情報を用いて情報処理を行い出力データを生成する出力データ生成部150、出力データをHMD18に送信する出力部152を含む。
撮影画像取得部130は図3の入力部38、CPU22、メインメモリ26などで実現され、撮像装置12aが所定のフレームレートで送出した撮影画像のデータを順次取得し、画像解析部132に供給する。撮像装置12aをステレオカメラで構成する場合、左右のカメラがそれぞれ撮影した画像のデータを順次取得する。なお撮影画像取得部130は、図示しない入力装置などを介して取得したユーザからの処理開始/終了要求に従い、撮像装置12aにおける撮影の開始/終了を制御してもよい。
画像解析部132は図3のCPU22、GPU24、メインメモリ26などで実現され、撮影画像からHMD18に設けたマーカーの像を検出することにより、HMD18の位置姿勢情報を所定のレートで取得する。撮像装置12aをステレオカメラで構成する場合、左右の画像から取得した対応点の視差に基づき、撮像面から各マーカーまでの距離を三角測量の原理で導出する。そして複数のマーカーの像の画像上での位置および当該距離の情報を統合することにより、HMD18全体の位置および姿勢を推定する。
なお上述のように対象物はHMD18に限らず、図示しない入力装置に設けた発光マーカーの像に基づきユーザの手の位置や姿勢の情報を取得してもよい。またユーザの体の一部を、輪郭線を利用して追跡したり、顔や特定の模様を有する対象物をパターンマッチングにより認識したりする画像解析技術を組み合わせてもよい。また撮像装置12aの構成によっては上述のとおり、赤外線の反射を計測することにより対象物の距離を特定してもよい。つまり画像解析により被写体の位置や姿勢を取得する技術であれば、その手法は特に限定されない。
センサ値取得部134は図3の入力部38、通信部32、メインメモリ26などで実現され、HMD18からIMUセンサ64の出力値、すなわち角速度および加速度のデータを所定のレートで取得する。センサ値送信部136は図3の出力部36、通信部32などで実現され、センサ値取得部134が取得したIMUセンサ64の出力値を、所定のレートで情報処理装置10bに送信する。
ローカル情報生成部138は図3のCPU22、メインメモリ26などで実現され、画像解析部132が取得した位置姿勢情報と、IMUセンサ64の出力値とを用いて、撮像装置12aのカメラ座標系におけるHMD18の位置姿勢情報を生成する。以後、このように撮像装置ごとのカメラ座標系に対し得られる位置姿勢情報を「ローカル情報」と呼ぶ。IMUセンサ64の出力値が示す3軸の加速度、角速度は積分することにより、HMD18の位置や姿勢の変化量を導出するのに用いられる。
ローカル情報生成部138は、前のフレームの時刻において特定されたHMD18の位置姿勢情報と、IMUセンサ64の出力値に基づくHMD18の位置や姿勢の変化を用いて、その後のHMD18の位置や姿勢を推定する。この情報と、撮影画像を解析することにより得た位置や姿勢の情報を統合することで、次のフレームの時刻における位置姿勢情報を高精度に特定できる。この処理には、コンピュータビジョンなどの分野において知られる、カルマンフィルタを用いた状態推定技術を適用できる。
ローカル情報受信部140は図3の通信部32、入力部38などで実現され、サブ機能を有する情報処理装置10bが生成したローカル情報を受信する。グローバル情報生成部142は、図3のCPU22、メインメモリ26などで実現され、自装置内のローカル情報生成部138が生成したローカル情報、サブ機能を有する情報処理装置10bから送信されたローカル情報の少なくともいずれかを用いて、撮像装置12a、12bによらないワールド座標系でのHMD18の位置姿勢情報を生成する。以後、この位置姿勢情報を「グローバル情報」と呼ぶ。
詳細にはグローバル情報生成部142は、変換パラメータ取得部144、撮像装置切替部146、および座標変換部148を含む。変換パラメータ取得部144は、ワールド座標系における撮像装置12a、12bの位置姿勢情報を特定することで、各カメラ座標系における位置姿勢情報をワールド座標系に変換する変換パラメータを取得する。この際、撮像装置12a、12bの視野が重なる領域(以後、「視野重複領域」と呼ぶ)にHMD18が存在するとき、両者のカメラ座標系で得られたローカル情報は、グローバル情報へ変換すれば同一の情報となることを利用する。
このように運用時に実際に得られるローカル情報を用いて変換パラメータを導出することにより、各情報処理装置10a、10bでローカル情報を生成する際に生じる誤差特性を加味したうえで座標変換を行える。また、撮像装置12a、12bを厳密に位置合わせして配置する必要がなくなる。変換パラメータ取得部144はまた、そのようにして得られた、ワールド座標系における撮像装置12a、12bの位置姿勢情報が時間方向に平滑化されるように、あるいは姿勢が本来の値に近づくように、変換パラメータを徐々に補正していく。
撮像装置切替部146は、HMD18が視野内にある撮像装置のうち、グローバル情報を取得するのに用いる撮像装置を切り替える。HMD18が1つの撮像装置の撮影画像のみに写っている場合は当然、当該撮像装置に対応する情報処理装置が生成したローカル情報を用いてグローバル情報を生成する。HMD18が複数の撮像装置の視野内にある場合は、所定の規則で一つの撮像装置を選択する。例えばHMD18に最も近い撮像装置を選択し、それに対応する情報処理装置が生成したローカル情報を用いてグローバル情報を生成する。
座標変換部148は、選択した撮像装置に対応する情報処理装置が生成したローカル情報を座標変換してグローバル情報を生成する。この際、変換パラメータ取得部144が生成した、当該撮像装置に対応する変換パラメータを用いることにより、情報元の撮像装置に依存しない位置姿勢情報が精度よく得られる。
出力データ生成部150は図3のCPU22、GPU24、メインメモリ26などで実現され、グローバル情報生成部142が出力する、HMD18の位置姿勢のグローバル情報を用いて所定の情報処理を実施する。そして、その結果として出力すべき画像や音声のデータを所定のレートで生成する。例えば上述のように、ユーザの頭部の位置や姿勢に対応する視点から見た仮想世界を左右の視差画像として描画する。
出力部152は図3の出力部36、通信部32などで実現され、生成された画像や音声のデータを所定のレートでHMD18に出力する。例えば上述の視差画像を、HMD18において左右の目の前に表示させたり、仮想世界での音声を出力したりすれば、ユーザはあたかも仮想世界に入り込んだような感覚を得られる。なお出力データ生成部150が生成するデータは表示画像や音声のデータでなくてもよい。例えばグローバル情報から得られるユーザの動きやジェスチャの情報を出力データとして生成し、別途設けた情報処理の機能に出力するようにしてもよい。この場合、図示する情報処理装置10aは、HMD18などの対象物の状態検出装置として機能する。
サブ機能を有する情報処理装置10bは、撮像装置12bから撮影画像のデータを取得する撮影画像取得部160、撮影画像に基づく位置姿勢情報を取得する画像解析部162、IMUセンサ64の出力値を情報処理装置10aから受信するセンサ値受信部164、撮影画像に基づく位置姿勢情報にIMUセンサ64の出力値を統合しローカル情報を生成するローカル情報生成部166、および当該ローカル情報を情報処理装置10aに送信するローカル情報送信部168を含む。
撮影画像取得部160、画像解析部162、ローカル情報生成部166はそれぞれ、メイン機能を有する情報処理装置10aにおける撮影画像取得部130、画像解析部132、ローカル情報生成部138と同じ機能を有する。センサ値受信部164は図3の通信部32、入力部38などで実現され、情報処理装置10aから送信されたIMUセンサ64の出力値を所定のレートで受信する。ローカル情報送信部168は図3の出力部36、通信部32などで実現され、ローカル情報生成部166が生成したローカル情報を情報処理装置10aに送信する。
図6は、撮像装置12a、12bの配置とHMD18の可動範囲の関係を例示している。同図は撮像装置12a、12bの視野182a、182bを俯瞰した状態を示している。撮影画像を用いて位置や姿勢の情報を精度よく取得するには、好適な位置およびサイズでその像が表れている必要がある。そのため望ましいHMD18の存在範囲は、視野182a、182bより小さくなる。図ではそのような領域をプレイエリア184a、184bとして表している。
プレイエリア184a、184bは例えば前後方向が、撮像装置12aからの距離A=約0.6mから距離B=約3mまでの範囲、撮像装置12aに最も近いときの横方向の幅C=約0.7m、最も遠いときの横方向の幅D=約1.9mの範囲である。また撮像装置12a、12bのカメラ座標系は、光学中心を原点とし、撮像面の横方向右向きをX軸、縦方向上向きをY軸、撮像面の垂直方向をZ軸とする。従来の技術では、一つの撮像装置(例えば撮像装置12a)に対するプレイエリア(例えばプレイエリア184a)内にあるHMD18の位置や姿勢を、当該撮像装置のカメラ座標系で求めることがなされる。
本実施の形態ではこのような系を複数、設けることによりプレイエリアを拡張する。図示するように、プレイエリアが接するように撮像装置12a、12bを配置することで、プレイエリアは2倍に拡張される。ただし複数のプレイエリアが連続していればよく、図示するように両者が厳密に接するように撮像装置12a、12bを配置することに限定する趣旨ではない。上述したように、撮像装置12aに対応する情報処理装置10aは、撮像装置12aのカメラ座標系においてHMD18の位置および姿勢からなるローカル情報を生成する。
撮像装置12bに対応する情報処理装置10bは、撮像装置12bのカメラ座標系においてHMD18の位置および姿勢からなるローカル情報を生成する。図示するようにHMDが、HMD18a、HMD18b、HMD18cのように移動した場合を例にとると、HMD18aのように撮像装置12aのプレイエリア184a内にHMDがあるときは、撮像装置12aのカメラ座標系に対し得られたローカル情報をグローバル情報に変換する。HMD18cのように撮像装置12bのプレイエリア184b内にHMDがあるときは、撮像装置12bのカメラ座標系に対し得られたローカル情報をグローバル情報に変換する。
HMD18bのように、プレイエリア184aからプレイエリア184bへ移行する途中、すなわち撮像装置12a、12bの視野重複領域186にHMDがあるとき、所定の規則に従うタイミングで、グローバル情報の生成に用いるローカル情報の元となる撮像装置を撮像装置12aから撮像装置12bへ切り替える。例えば撮像装置切替部146は、HMD18bの重心と各撮像装置12a、12bの光学中心との距離を監視する。そして当該距離の大小関係が反転した時点で、より近い方の撮像装置(例えば撮像装置12b)のカメラ座標系に対し得られたローカル情報を用いてグローバル情報を生成するように切り替える。
また、HMD18bのように視野重複領域186内にHMDがあるとき、2つのカメラ座標系に対し得られたローカル情報は、グローバル情報に変換したときに同じ位置姿勢情報を示すべきである。変換パラメータ取得部144はこれを利用し、ローカル情報をグローバル情報に変換するパラメータを求める。
図7は、変換パラメータ取得部144が、ローカル情報をグローバル情報に変換するためのパラメータを求める手法を説明するための図である。同図は、図6で示した撮像装置12a、12bの視野182a、182bを左右に分離して示しており、HMD18bが視野重複領域186に存在しているとする。上述したように撮像装置12aのカメラ座標系におけるHMD18bの位置と姿勢、撮像装置12bのカメラ座標系におけるHMD18bの位置と姿勢は、対応する情報処理装置10a、10bで独立に求められる。
定性的には、ワールド座標系における各カメラ座標系の原点および軸の回転角を求めれば、カメラ座標系におけるHMD18の位置や姿勢を、ワールド座標系での情報に変換できる。そのためまず、撮像装置12aからみた撮像装置12bの位置と姿勢を求める。ここで3次元での位置座標を「pos」、姿勢を表す四元数(クォータニオン)を「quat」と表記する。撮像装置12aのカメラ座標系(以後、「第0カメラ座標系」と呼ぶ)と、撮像装置12bのカメラ座標系(以後、「第1カメラ座標系」と呼ぶ)におけるHMD18bの姿勢差dqは次のように算出される。
dq = hmd. quat@cam0 * conj (hmd.quat@cma1)
ここでhmd.quat@cam0、hmd.quat@cam1はそれぞれ、HMD18bの、第0カメラ座標系における姿勢、第1カメラ座標系における姿勢である。「conj」は共益複素数を返す関数である。当該姿勢差分だけ第1カメラ座標系を回転させることによりHMD18bの姿勢をそろえたうえで、第0カメラ座標系の原点からHMD18bへのベクトルと、HMD18bから撮像装置12bへのベクトルを加算すると、図示するように、第0カメラ座標系での撮像装置12bの位置cam1.pos@cam0が求められる。
cam1.pos@cam0 = rotate(dq, -hmd.pos@cam1) + hmd.pos@cam0
ここで「rotate」は座標を原点周りに回転させる関数である。
ワールド座標系における撮像装置12aの位置姿勢情報cam0@worldが既知であるとすると、ワールド座標系における撮像装置12bの位置姿勢情報cam1@worldは、第0カメラ座標系における撮像装置12bの位置cam1.pos@cam0および姿勢dqを、さらにワールド座標系でのデータに変換することによって得られる。この計算は、一般的な4×4のアフィン変換行列演算でよい。なお第0カメラ座標系をそのままワールド座標系とする場合、撮像装置12aの位置cam0.pos@world=(0,0,0)、姿勢cam0.quat@world=(0,0,0,1)である。
このようにしてワールド座標系における撮像装置12bの位置cam1.pos@worldおよび姿勢cam1.quat@worldを求めることにより、当該撮像装置12bの第1カメラ座標系における任意のHMDの位置hmd.pos@cam1および姿勢hmd.quat@cam1を、ワールド座標系での位置hmd.pos@world、および姿勢hmd.quad@worldに変換できる。
hmd.quat@world = cam1.quat@world * hmd.quat@cam1
hmd.pos@world = rotate(cam1.quat@world, hmd.pos@cam1)+ cam1.pos@world
なおワールド座標系における撮像装置12bの位置姿勢情報は、アフィン変換によりまとめて求めることもできる。すなわちHMD18bの、第0カメラ座標系での位置姿勢情報hmd@cam0、第1カメラ座標系での位置姿勢情報hmd@cam1、ワールド座標系における撮像装置12aの位置姿勢情報cam0@worldを、4×4の行列で表現した行列hmd0mat、hmd1mat、cam0matを用い、ワールド座標系における撮像装置12bの位置姿勢情報cam1@worldの行列cam1matを次のように求める。
cam0to1mat = hmd0mat * inverse(hmd1mat)
cam1mat = cam0mat * cam0to1mat
ここで「inverse」は逆行列を求める関数である。
次に、以上述べた構成によって実現される情報処理装置の動作を説明する。図8は、本実施の形態において情報処理装置10a、10bが対象物の位置姿勢情報を取得し、それに応じたデータを生成、出力する処理手順を示すフローチャートである。このフローチャートは、対応する撮像装置12a、12bが撮影を開始し、対象物たるHMD18を装着したユーザがいずれかの視野内にいる状態で開始される。まず情報処理装置10a、10bは、図示しない入力装置を介したユーザ操作などに従い、対応する撮像装置12a、12bとの通信、情報処理装置10a、10b間の通信を確立する(S10、S12)。この際、メインの機能を有する情報処理装置10aはHMD18とも通信を確立する。
これにより各撮像装置12a、12bから撮影画像のデータが送信され、HMD18からIMUセンサ64の出力値が送信されると、情報処理装置10a、10bのローカル情報生成部138、166は、それぞれのカメラ座標系におけるHMD18の位置姿勢情報を生成する(S14、S16)。このとき、HMD18が撮像装置の視野になければ、それに対応する情報処理装置は無効のデータを生成する。またサブ機能を有する情報処理装置10bは、生成したローカル情報を、メイン機能を有する情報処理装置10aに送信する。
複数のローカル情報に、HMD18の位置姿勢情報として有効なデータが含まれている場合、HMD18は視野重複領域に存在していることになる。この期間において、メイン機能を有する情報処理装置10aにおける撮像装置切替部146は、HMD18が所定の切り替え条件を満たすか否かを監視する(S18)。例えば図6で示したように、撮像装置12aの視野にいたHMD18が撮像装置12bの視野に入る場合、HMD18の重心が撮像装置12aの光学中心より撮像装置12bの光学中心に近くなった時点で、情報元の撮像装置12bへの切り替えを判定する。
情報元を切り替える条件としてはこのほか、HMD18の重心が隣の撮像装置のプレイエリアに入った時などでもよい。定性的には、HMD18の位置姿勢情報をより高い精度で取得できる撮像装置12を情報元として選択する。このような切替条件が満たされたとき(S18のY)、まず情報処理装置10aにおける変換パラメータ取得部144は、HMD18が新たに視野に入った撮像装置のカメラ座標系のための変換パラメータを取得する(S20)。
具体的には上述したように、各情報処理装置で取得されるローカル情報をグローバル情報に変換した際、それらが表す位置姿勢が一致するように、移動先の撮像装置のカメラ座標系の変換パラメータを取得する。変換パラメータ取得部144は取得した変換パラメータを、撮像装置の識別情報と対応づけて内部のメモリに格納しておく。続いて撮像装置切替部146は、グローバル情報へ変換するローカル情報の元となる撮像装置を上述のように切り替える(S24)。
HMD18が切替条件を満たさない場合(S18のN)、あるいは切替条件を満たし情報元を切り替えた場合(S24)のどちらにおいても、座標変換部148は、その時点で決定している情報元におけるローカル情報を座標変換しグローバル情報を生成する(S26)。この際、変換パラメータ取得部144が内部のメモリに保持する、情報元の撮像装置に対応づけられた変換パラメータを用いる。出力データ生成部150は、グローバル情報を用いて表示画像などのデータを生成し、出力部152が当該データをHMD18に出力する(S28)。グローバル情報は情報元の撮像装置によらないため、出力データ生成部150は同様の処理で出力データを生成できる。
ユーザ操作などにより処理を終了させる必要がなければ(S30のN、S34のN)、変換パラメータ取得部144はS20で取得した変換パラメータを必要に応じて補正する(S32)。そのうえで、メイン機能を有する情報処理装置10aではS14からS28、およびS32の処理を、サブ機能を有する情報処理装置10bではS16の処理を、所定のレートで繰り返す。
各情報処理装置でローカル情報を生成する際、上述のようにHMD18のIMUセンサ64の出力値から推定されるHMD18の位置姿勢情報を加味することにより、誤差が少ない位置姿勢情報を決定できる。これは、撮影画像から得られる位置姿勢情報、IMUセンサ64から得られる位置姿勢情報のいずれも誤差を内包することに基づく対策であるが、それらを統合したローカル情報もまた微少な誤差を含んでいる。S20で取得する変換パラメータはローカル情報に基づくため、これも微少の誤差を含む可能性がある。
そのため随時、変換パラメータを取得、補正することにより、その直後に得られたローカル情報を、可能な限り少ない誤差でグローバル情報に変換することができる。一方で、S24において情報元の撮像装置を切り替える際は、切り替え前後でワールド座標系の軸が僅かでもずれると、これを用いて生成する表示画像の視野に不連続な変化が生じ、ユーザに違和感を与えることが考えられる。そのため情報元の撮像装置を切り替える直前のS20では、上述のとおり、各カメラ座標系でのその時点のローカル情報を比較することにより、変換後のワールド座標系が完全に一致するように変換パラメータを取得する。
このように連続性を優先する結果、S20で取得した変換パラメータが表す撮像装置の位置や姿勢には、比較的大きな誤差が含まれていることが考えられる。当該変換パラメータをそのまま用いると、HMD18の位置姿勢情報にも誤差が蓄積していき、ワールド座標系の原点がずれたり傾いたりすることが考えられる。そこで変換パラメータ取得部144は、撮像装置の切り替え時にS20で取得した変換パラメータを、撮像装置の切り替えタイミング以外の期間であるS32で徐々に補正していく。
すなわち変換パラメータが、実際の撮像装置の位置や姿勢を反映したものとなるように補正する。補正手法は撮像装置の特性によって様々であってよい。例えば撮像装置12a、12bを固定する場合は、変換パラメータが示す位置や姿勢が、それまでの時間で得られた位置や姿勢の平均値となるように補正する。撮像面の縦方向を実空間の鉛直方向と一致させて固定する場合は、撮像装置12a、12bのY軸が重力と逆方向となるように変換パラメータが示す姿勢を補正する。重力の方向は、HMD18のIMUセンサ64の出力値に基づき求められる。
撮像装置12a、12bを固定としない場合も、それまでの時間で得られた位置や姿勢を時間方向に平滑化することで、変換パラメータが示す位置や姿勢の目標値を決定する。メイン機能を有する情報処理装置10aに対応する撮像装置12aのカメラ座標系をワールド座標系とするときは、それらの原点や軸が一致するように補正する。これらの補正は、生成された表示画像を見たユーザに気づかれないよう、複数回に分けて徐々に行う。例えば単位時間あたりの補正量の上限を実験などにより求めておき、実際に必要な補正量に応じて分割回数を決定する。補正が完了すればS32の処理は省略してよい。
S14〜S32の処理を繰り返すことにより、HMD18を装着したユーザがどの撮像装置12の視野にいても、同様の処理で映像を出力させ続けることができる。ユーザ操作などにより処理を終了させる必要が生じたら、すべての処理を終了する(S30のY、S34のY)。なお撮像装置が3つ以上の場合も基本的には同様の処理手順でよいが、この場合、情報元の切り替えは、メイン機能を有する情報処理装置10aに対応する撮像装置12a以外の撮像装置間でなされる可能性がある。
このとき上述の手法により、直接的には切り替え前の撮像装置のカメラ座標系における切り替え後の撮像装置の位置姿勢情報が取得される。一方、切り替え前の撮像装置のワールド座標系における位置姿勢情報は、それまでのHMD18の変位に対する撮像装置の切り替えの連鎖により得られている。結果として、切り替え後の撮像装置のワールド座標系における位置姿勢情報、ひいては変換パラメータも、それらの連鎖の続きとして間接的に得ることができる。
これまで述べた処理手順によれば、メイン機能を有する情報処理装置10aがIMUセンサ64の出力値を、サブ機能を有する情報処理装置10bに送信する処理と、サブ機能を有する情報処理装置10bがローカル情報を、メイン機能を有する情報処理装置10aに送信する処理が含まれる。本実施の形態のように対象物の追跡結果を出力データにリアルタイムに反映させるような系では、各種データの時間軸を揃えることが、処理精度の観点で特に重要となる。
ところが情報処理装置10a、10bはそれぞれのプロセス時間で動作しているため、送信元の情報処理装置で付加されたタイムスタンプを自装置の時間軸にそのまま当てはめることができない。そこで情報処理装置10a、10b間でのプロセス時間の差を計測し、タイムスタンプを相互に変換できるようにする。図9は、情報処理装置10a、10b間でタイムスタンプを相互変換する手法を説明するための図である。同図において情報処理装置10aのプロセス時間の軸を左に、情報処理装置10bのプロセス時間の軸を右に、上から下への矢印で示している。また情報処理装置10aの時間軸でのタイムスタンプを「T」、情報処理装置10bの時間軸でのタイムスタンプを「t」と表記している。
この手法では基本的に、テスト信号を一往復させその送受信の時間差からタイムスタンプの変換パラメータを求める。同図において、まず情報処理装置10bから時刻tsに送信された信号が時刻Trで情報処理装置10aにて受信される。続いて情報処理装置10aから時刻Tsに送信された信号が、時刻trで情報処理装置10bに受信される。このとき往路、復路で通信時間が等しければ、両者における信号の送受信のタイミングの平均値(Ts+Tr)/2と(ts+tr)/2は一致する。
この関係を利用して、少なくとも2回の測定を行うことにより、一方の情報処理装置のタイムスタンプを他方の情報処理装置の時間軸に揃える変換式が求められる。例えば情報処理装置10bにおけるタイムスタンプtを情報処理装置10aにおけるタイムスタンプTへ変換するには次の1次式を用いる。
T = t * scale + offset
ここでscaleおよびoffsetは、2回の測定による連立方程式によって求められる。
例えばサブ機能を有する情報処理装置10bのセンサ値受信部164は、情報処理装置10aから送信された、IMUセンサ64の出力値に付加されたタイムスタンプTを、自装置のタイムスタンプtに変換することで、自装置内での撮影画像解析処理の時間軸にセンサの出力値の時間軸を合わせる。またそのようにして得たローカル情報を情報処理装置10aに送信するときは、ローカル情報送信部168が当該位置情報のタイムスタンプtを、情報処理装置10aのタイムスタンプTに変換して付加する。
このようにすることで、メイン機能を有する情報処理装置10aによる処理の負荷を増大させることなく、位置情報や出力データの精度を向上させることができる。撮像装置を3つ以上とする場合、メイン機能を有する情報処理装置10aとそれ以外の情報処理装置とでプロセス時間差を計測すれば、同様の変換処理を実現できる。なお変換処理は位置姿勢情報の安定性に影響するため、誤差をできるだけ小さくすることが望ましい。例えば上述の「scale」パラメータが異なると、時間を経るほど誤差が大きくなってしまう。
したがって、HMD18が視野にない期間などを利用して、定期的にプロセス時間差を測定し、変換に用いるパラメータを更新していくことが望ましい。プロセス時間差の計測は、メイン機能を有する情報処理装置10aのセンサ値送信部136あるいはローカル情報受信部140と、サブ機能を有する情報処理装置10bのセンサ値受信部164あるいはローカル情報送信部168との間で実施し、得られたパラメータはサブ機能を有する情報処理装置10b側で保持しておく。
図10は、撮像装置12と情報処理装置10の対を3つ以上設けた場合の配置例を示している。この例では10個の撮像装置12a〜12jと、それぞれに対応する10個の情報処理装置10a〜10jとを導入している。そのうち5つの対を一列に等間隔で配置させ、撮像面が対向するように残りの5つの対を配置している。例えば同図を俯瞰図とし、床に垂直に設置した平行な板190a、190bや壁などに撮像装置と情報処理装置の対を組み付けることにより、HMD18を装着したユーザを両側面から撮影するシステムを実現できる。同図を側面図とし、水平方向に設置した板190a、190bや、天井および床などに撮像装置と情報処理装置の対を組み付けると、HMD18を装着したユーザを上下方向から撮影するシステムを実現できる。
このようにしても、図示しない通信機構により1つの情報処理装置10aにローカル情報を集約させることにより、上述したのと同様の処理によって、ユーザが広範囲に移動してもそれに対応する画像をHMD18に表示させ続けることができる。また撮像装置12を数メートルの距離で対向させて設置することにより、ユーザが一方の撮像装置群から離れても他方の撮像装置群に近づくことになり、位置姿勢情報を安定して取得できる。なお図示した配列や撮像装置の数は一例であり、これに限定されるものではない。例えば各板上に撮像装置をマトリクス状に配置したり、ユーザの可動範囲の上下および前後左右を取り囲むように配置したりしてもよい。撮像装置を円などの曲線上や球などの曲面上に配置してもよい。
本実施の形態では各情報処理装置10a〜10jがそれぞれ独立にローカル情報を生成し、それを1つの情報処理装置10aに集約させる。したがって例えば撮像装置のみを複数配置し、それぞれが撮影した画像のデータを1つの情報処理装置が処理するのと比較し、送信されるデータ量が格段に小さい。したがって図示するように多数の装置を広範囲にわたり配置しても、処理速度や通信帯域に問題が生じにくい。データ量が小さいことを利用し、無線通信によりデータの送受を実現すれば、入力端子の数の制限やケーブルの引き回しの問題も回避できる。
以上述べた本実施の形態によれば、撮像装置と情報処理装置の対を複数配置し、それぞれにおいて画像解析を実施することにより、対象物の位置姿勢情報を取得する。そしてそのようにして得られたローカルな情報を、1つの情報処理装置に集約させて最終的な位置姿勢情報を生成する。各情報処理装置がローカルな位置姿勢情報を取得する際は、従来の技術を利用できるため、容易かつ高い拡張性で、対象物の可動範囲を広げることができる。また最終的には、撮像装置に依存しない形式で位置姿勢情報を生成するため、それを用いて行う情報処理も制限を受けることがない。
また、隣り合う撮像装置の視野が重なる領域に対象物が存在する期間を利用して、それらの撮像装置の相対的な位置姿勢情報を取得し、それに基づき各カメラ座標系からワールド座標系への変換パラメータを取得する。ローカル情報は、個々の情報処理装置でその時々の誤差特性を考慮して補正されたうえで取得される。そのため、実際のローカル情報を利用して変換パラメータを取得することにより、キャリブレーションなどにより事前に取得しておいた変換パラメータを利用するのと比較して、より高い精度を維持した状態で位置姿勢情報が得られる。
また位置姿勢情報を生成する情報元の撮像装置を切り替える際は、ワールド座標系における位置姿勢情報が切り替え前後で一致するように変換パラメータを決定することにより、情報の連続性を保障する。一方、そのようにして得られた変換パラメータが表す撮像装置の位置や姿勢を、切り替え後の期間で本来あるべき値に補正していくことにより、対象物の位置姿勢情報の精度を維持できるようにする。これにより、複数の撮像装置を導入することによる連続性や精度の課題を解消できる。
さらに、ローカル情報を集約させる情報処理装置と、その他の情報処理装置とのプロセス時間差を定期的に測定し、タイムスタンプを双方向に変換できるようにする。これにより、送信されたIMUセンサの出力値と撮影画像の解析結果との統合や、送信されたローカル情報を用いたグローバル情報や出力データの生成といった、情報処理装置間の通信を含む処理において、共通の時間軸を与えることができる。結果として、処理精度や出力結果に悪影響や制限が生じることなく、ユーザや対象物の可動範囲を容易に拡張させることができる。また撮像装置の配置や個数に対する自由度が高いため、目的とする情報処理の内容に応じた最適な環境を、容易かつ低コストに実現できる。
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
例えば本実施の形態では、メイン機能を有する情報処理装置を1つとしたが、2つ以上としてもよい。例えばHMDなどの対象物を2つ以上とし、各対象物に対しメイン機能を有する情報処理装置を1つずつ割り当ててもよい。この場合も本実施の形態と同様の処理により、広い可動範囲での位置姿勢情報を追跡し続けることができる。一方、対象物が複数であっても、メイン機能を有する情報処理装置を1つのみとし、位置姿勢情報を区別したうえで処理、出力するようにしてもよい。
10a 情報処理装置、 10b 情報処理装置、 12a 撮像装置、 12b 撮像装置、 18 HMD、 22 CPU、 24 GPU、 26 メインメモリ、 130 撮影画像取得部、 132 画像解析部、 134 センサ値取得部、 136 センサ値送信部、 138 ローカル情報生成部、 140 ローカル情報受信部、 142 グローバル情報生成部、 144 変換パラメータ取得部、 146 撮像装置切替部、 148 座標変換部、 150 出力データ生成部、 152 出力部、160 撮影画像取得部、 162 画像解析部、 164 センサ値受信部、 166 ローカル情報生成部、 168 ローカル情報送信部。
以上のように本発明は、ゲーム装置、撮像装置、画像表示装置など各種情報処理装置や、それらのいずれかを含む情報処理システムなどに利用可能である。

Claims (13)

  1. 対象物を異なる視点から所定のレートで撮影する複数の撮像装置と、
    前記撮像装置に接続され、対応する撮像装置が撮影した画像を解析することにより、当該撮像装置のカメラ座標系における対象物の位置姿勢情報を取得するローカル情報生成装置と、
    自装置に接続された撮像装置が撮影した画像を解析することにより、当該撮像装置のカメラ座標系における対象物の位置姿勢情報を取得するローカル情報生成部、および、前記ローカル情報生成部が取得した位置姿勢情報と、前記ローカル情報生成装置から取得した位置姿勢情報のいずれかを座標変換することにより、撮像装置に共通のワールド座標系での位置姿勢情報を生成し出力する位置姿勢情報生成部、を備えた情報処理装置と、
    を備えたことを特徴とする情報処理システム。
  2. 前記情報処理装置は、複数の撮像装置の視野が重複する領域に対象物があるとき、当該対象物が所定の条件を満たしたら、座標変換の対象とする位置姿勢情報の取得元である撮像装置を切り替える撮像装置切替部を備えることを特徴とする請求項に記載の情報処理システム。
  3. 前記情報処理装置は、複数の撮像装置の視野が重複する領域に対象物があるとき、各撮像装置が撮影した画像を解析することにより得られた、それぞれのカメラ座標系における対象物の位置姿勢情報に基づき、撮像装置の位置および姿勢の相対関係を取得し、その結果に基づき、前記座標変換するのに用いる変換パラメータを、撮像装置ごとに取得する変換パラメータ取得部を備えることを特徴とする請求項またはに記載の情報処理システム。
  4. 前記変換パラメータ取得部は、前記それぞれのカメラ座標系における対象物の位置姿勢情報をワールド座標系における情報に座標変換した際、同じ位置姿勢情報が得られるように前記変換パラメータを導出することを特徴とする請求項に記載の情報処理システム。
  5. 前記変換パラメータ取得部は、位置姿勢情報の取得元である撮像装置を切り替えるタイミング以外の期間において、前記変換パラメータを、別途取得した前記撮像装置の位置および姿勢に係る情報を利用して段階的に補正することを特徴とする請求項またはに記載の情報処理システム。
  6. 前記複数の撮像装置は、実空間に備えられた面上に所定の配列で設置されることを特徴とする請求項1からのいずれかに記載の情報処理システム。
  7. 前記複数の撮像装置は、実空間に平行に備えられた複数の面上に、撮像面を対向させるように設置されることを特徴とする請求項に記載の情報処理システム。
  8. 前記複数の撮像装置は、対象物の可動範囲を囲む複数の面上に設置されることを特徴とする請求項に記載の情報処理システム。
  9. 前記ローカル情報生成装置は、自装置のプロセス時間と前記情報処理装置のプロセス時間との関係を、信号が往復する時間に基づき測定することにより、タイムスタンプの変換パラメータを取得し、前記カメラ座標系における対象物の位置姿勢情報を前記情報処理装置に送信する際、当該変換パラメータを用いて生成した、前記情報処理装置のプロセス時間におけるタイムスタンプを付加することを特徴とする請求項からのいずれかに記載の情報処理システム。
  10. 前記情報処理装置は、
    前記対象物が備えるIMUセンサの出力値を取得するセンサ値取得部と、
    当該出力値を前記ローカル情報生成装置に送信するセンサ値送信部と、をさらに備え、
    前記ローカル情報生成部および前記ローカル情報生成装置は、前記画像を解析することにより得られた位置姿勢情報と、前記IMUセンサの出力値とを統合することにより、前記カメラ座標系における対象物の位置姿勢情報を取得することを特徴とする請求項からのいずれかに記載の情報処理システム。
  11. ヘッドマウントディスプレイと、
    前記ヘッドマウントディスプレイを異なる視点から所定のレートで撮影する複数の撮像装置と、
    前記撮像装置に接続され、対応する撮像装置が撮影した画像を解析することにより、当該撮像装置のカメラ座標系における前記ヘッドマウントディスプレイの位置姿勢情報を取得するローカル情報生成装置と、
    自装置に接続された撮像装置が撮影した画像を解析することにより、当該撮像装置のカメラ座標系における前記ヘッドマウントディスプレイの位置姿勢情報を取得するローカル情報生成部、前記ローカル情報生成部が取得した位置姿勢情報と前記ローカル情報生成装置から取得した位置姿勢情報のいずれかを座標変換することにより、撮像装置に共通のワールド座標系での位置姿勢情報を生成する位置姿勢情報生成部、および、当該位置姿勢情報を用いて表示画像を生成し前記ヘッドマウントディスプレイに出力する出力データ生成部、を備えた情報処理装置と、
    を備えたことを特徴とする情報処理システム。
  12. 複数の撮像装置が、異なる視点から所定のレートで対象物を撮影するステップと、
    前記撮像装置に接続されたローカル情報生成装置が、対応する撮像装置が撮影した画像を解析することにより、当該撮像装置のカメラ座標系における対象物の位置姿勢情報を取得するステップと、
    情報処理装置が、
    自装置に接続された撮像装置が撮影した画像を解析することにより、当該撮像装置のカメラ座標系における対象物の位置姿勢情報を取得するステップと、
    当該位置姿勢情報と、前記ローカル情報生成装置から取得した位置姿勢情報のいずれかを座標変換することにより、撮像装置に共通のワールド座標系での位置姿勢情報を生成し出力するステップと、
    を含むことを特徴とする対象物情報取得方法。
  13. 複数の撮像装置が所定のレートで異なる視点から対象物を撮影した画像それぞれ解析することにより個別に取得された、当該撮像装置のカメラ座標系における対象物の位置姿勢情報を、前記撮像装置に接続された他の装置から取得する機能と、
    自コンピュータに接続された撮像装置が撮影した画像を解析することにより、当該撮像装置のカメラ座標系における対象物の位置姿勢情報を取得する機能と、
    当該位置姿勢情報と、前記他の装置から取得した位置姿勢情報のいずれかを座標変換することにより、撮像装置に共通のワールド座標系での位置姿勢情報を生成し出力する機能と、
    をコンピュータに実現させることを特徴とするコンピュータプログラム。
JP2019545466A 2017-09-27 2017-09-27 情報処理システムおよび対象物情報取得方法 Active JP6859447B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/035066 WO2019064399A1 (ja) 2017-09-27 2017-09-27 情報処理システムおよび対象物情報取得方法

Publications (2)

Publication Number Publication Date
JPWO2019064399A1 JPWO2019064399A1 (ja) 2020-07-02
JP6859447B2 true JP6859447B2 (ja) 2021-04-14

Family

ID=65901150

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019545466A Active JP6859447B2 (ja) 2017-09-27 2017-09-27 情報処理システムおよび対象物情報取得方法

Country Status (3)

Country Link
US (1) US20200279401A1 (ja)
JP (1) JP6859447B2 (ja)
WO (1) WO2019064399A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2584122B (en) * 2019-05-22 2024-01-10 Sony Interactive Entertainment Inc Data processing
EP4138655A1 (en) * 2020-04-24 2023-03-01 Essilor International Method of determining an attitude of an eyewear
CN113256773B (zh) * 2021-05-10 2022-10-28 青岛小鸟看看科技有限公司 表面网格扫描及显示方法、系统及装置
CN115297315A (zh) * 2022-07-18 2022-11-04 北京城市网邻信息技术有限公司 用于环拍时拍摄中心点的矫正方法、装置及电子设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6915008B2 (en) * 2001-03-08 2005-07-05 Point Grey Research Inc. Method and apparatus for multi-nodal, three-dimensional imaging
US6972787B1 (en) * 2002-06-28 2005-12-06 Digeo, Inc. System and method for tracking an object with multiple cameras
JP2009047642A (ja) * 2007-08-22 2009-03-05 Katsunori Shimomura 3次元画像データ生成システムおよび生成方法
JP2010271949A (ja) * 2009-05-21 2010-12-02 Canon Inc 位置計測システムおよび方法
JP6152888B2 (ja) * 2014-12-25 2017-06-28 キヤノンマーケティングジャパン株式会社 情報処理装置、その制御方法、及びプログラム、並びに、情報処理システム、その制御方法、及びプログラム
US9691151B1 (en) * 2015-08-25 2017-06-27 X Development Llc Using observations from one or more robots to generate a spatio-temporal model that defines pose values for a plurality of objects in an environment
JP6723743B2 (ja) * 2015-12-28 2020-07-15 キヤノン株式会社 情報処理装置、情報処理方法、およびプログラム
US11164378B1 (en) * 2016-12-08 2021-11-02 Out of Sight Vision Systems LLC Virtual reality detection and projection system for use with a head mounted display
JP2018122376A (ja) * 2017-01-31 2018-08-09 セイコーエプソン株式会社 画像処理装置、ロボット制御装置、及びロボット

Also Published As

Publication number Publication date
WO2019064399A1 (ja) 2019-04-04
US20200279401A1 (en) 2020-09-03
JPWO2019064399A1 (ja) 2020-07-02

Similar Documents

Publication Publication Date Title
JP6514089B2 (ja) 情報処理装置、情報処理システム、および情報処理方法
KR102448284B1 (ko) 헤드 마운트 디스플레이 추적 시스템
JP6860488B2 (ja) 複合現実システム
US10410562B2 (en) Image generating device and image generating method
US10269139B2 (en) Computer program, head-mounted display device, and calibration method
JP6353214B2 (ja) 画像生成装置および画像生成方法
JP6859447B2 (ja) 情報処理システムおよび対象物情報取得方法
JP6732617B2 (ja) 情報処理装置および画像生成方法
JP6721550B2 (ja) 情報処理装置および位置情報取得方法
US11195293B2 (en) Information processing device and positional information obtaining method
JP6216398B2 (ja) 画像生成装置および画像生成方法
CN110969706B (zh) 增强现实设备及其图像处理方法、系统以及存储介质
JP7330159B2 (ja) 情報処理装置および位置情報取得方法
JP2007221179A (ja) 画像表示装置および画像表示方法
US11694409B1 (en) Augmented reality using a split architecture
WO2023068087A1 (ja) ヘッドマウントディスプレイ、情報処理装置および情報処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200804

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201002

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210325

R150 Certificate of patent or registration of utility model

Ref document number: 6859447

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150