JP2023117800A - 情報処理装置および代表座標導出方法 - Google Patents
情報処理装置および代表座標導出方法 Download PDFInfo
- Publication number
- JP2023117800A JP2023117800A JP2022020558A JP2022020558A JP2023117800A JP 2023117800 A JP2023117800 A JP 2023117800A JP 2022020558 A JP2022020558 A JP 2022020558A JP 2022020558 A JP2022020558 A JP 2022020558A JP 2023117800 A JP2023117800 A JP 2023117800A
- Authority
- JP
- Japan
- Prior art keywords
- image
- processing unit
- marker
- unit
- pixels
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000009795 derivation Methods 0.000 title claims abstract description 33
- 230000010365 information processing Effects 0.000 title claims description 56
- 238000012545 processing Methods 0.000 claims abstract description 149
- 239000003550 marker Substances 0.000 claims abstract description 114
- 238000000605 extraction Methods 0.000 claims abstract description 94
- 239000000284 extract Substances 0.000 claims abstract description 27
- 238000003384 imaging method Methods 0.000 description 36
- 230000008569 process Effects 0.000 description 25
- 238000004891 communication Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 12
- 230000003287 optical effect Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 6
- 238000013519 translation Methods 0.000 description 6
- 210000003811 finger Anatomy 0.000 description 5
- 230000036544 posture Effects 0.000 description 5
- 238000000926 separation method Methods 0.000 description 5
- 210000003128 head Anatomy 0.000 description 4
- 201000004569 Blindness Diseases 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 210000000887 face Anatomy 0.000 description 2
- 238000011835 investigation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 210000003813 thumb Anatomy 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000003705 background correction Methods 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 210000005069 ears Anatomy 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 239000011347 resin Substances 0.000 description 1
- 229920005989 resin Polymers 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
【課題】撮影画像におけるマーカ像を適切に検出するための技術を提供する。【解決手段】撮影画像取得部212は、イメージセンサから上下反転して読み出された画像データを取得する。第1抽出処理部234は、イメージセンサから上下反転して読み出された画像データから、画素が連続する連結成分を抽出する。代表座標導出部238は、第1抽出処理部234が抽出した連結成分の画素にもとづいて、マーカ像の代表座標を導出する。【選択図】図8
Description
本発明は、撮影画像に含まれるマーカ像を検出するための技術に関する。
特許文献1は、複数のマーカを備えたデバイスを撮影した画像からマーカ像の代表座標を特定し、マーカ像の代表座標を用いてデバイスの位置情報および姿勢情報を導出する情報処理装置を開示する。特許文献1に開示された情報処理装置は、撮影画像において第1輝度以上の画素が連続する領域を囲む第1境界ボックスを特定するとともに、第1境界ボックス内において第1輝度よりも高い第2輝度以上の画素が連続する領域を囲む第2境界ボックスを特定し、第1境界ボックス内または第2境界ボックス内の画素にもとづいてマーカ像の代表座標を導出する。
特許文献2は、複数の発光部と複数の操作部材とを設けられた入力デバイスを開示する。入力デバイスの発光部は、ヘッドマウンティングデバイスに設けられたカメラにより撮影され、検知された発光部の位置にもとづいて、入力デバイスの位置と姿勢が算出される。
近年、デバイスの位置や姿勢をトラッキングし、VR空間の3Dモデルに反映させる情報処理技術が普及している。情報処理装置が、ゲーム空間のプレイヤキャラクタやゲームオブジェクトの動きを、トラッキング対象となるデバイスの位置や姿勢の変化に連動させることで、ユーザによる直観的な操作が実現される。
デバイスの位置および姿勢を推定することを目的として、複数の点灯マーカがデバイスに設けられ、情報処理装置は、デバイスを撮影した画像に含まれる複数のマーカ像の代表座標を特定し、当該デバイスの3次元モデルにおける複数のマーカの3次元座標と照らし合わせることで、実空間におけるデバイスの位置および姿勢を推定できる。デバイスの位置および姿勢を高精度に推定するためには、撮影画像における各マーカ像を適切に検出できることが必要となる。
そこで本発明は、撮影画像におけるマーカ像を適切に検出するための技術を提供することを目的とする。なおデバイスは操作部材を有する入力デバイスであってよいが、操作部材を有しない単にトラッキングの対象となるデバイスであってもよい。
上記課題を解決するために、本発明のある態様の情報処理装置は、複数のマーカを備えたデバイスを撮影した画像を取得する撮影画像取得部と、撮影画像におけるマーカ像にもとづいて、デバイスの位置情報および姿勢情報を推定する推定処理部とを備える。推定処理部は、撮影画像からマーカ像の代表座標を特定するマーカ像座標特定部と、マーカ像の代表座標を用いて、デバイスの位置情報および姿勢情報を導出する位置姿勢導出部とを有する。撮影画像取得部は、イメージセンサから上下反転して読み出された画像データを取得し、マーカ像座標特定部は、イメージセンサから上下反転して読み出された画像データから、画素が連続する連結成分を抽出する抽出処理部と、抽出処理部が抽出した連結成分の画素にもとづいて、マーカ像の代表座標を導出する代表座標導出部とを有する。
本発明の別の態様は、代表座標の導出方法であって、複数のマーカを備えたデバイスを撮影したイメージセンサから、上下反転して読み出された画像データを取得するステップと、画像データから、画素が連続する連結成分を抽出するステップと、抽出した連結成分の画素にもとづいて、マーカ像の代表座標を導出するステップとを有する。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、コンピュータプログラムを読み取り可能に記録した記録媒体、データ構造などの間で変換したものもまた、本発明の態様として有効である。
図1は、実施例における情報処理システム1の構成例を示す。情報処理システム1は情報処理装置10と、記録装置11と、ヘッドマウントディスプレイ(HMD)100と、ユーザが手指で操作する入力デバイス16と、画像および音声を出力する出力装置15とを備える。出力装置15はテレビであってよい。情報処理装置10は、アクセスポイント(AP)17を介して、インターネットなどの外部のネットワーク2に接続される。AP17は無線アクセスポイントおよびルータの機能を有し、情報処理装置10はAP17とケーブルで接続してもよく、既知の無線通信プロトコルで接続してもよい。
記録装置11は、システムソフトウェアや、ゲームソフトウェアなどのアプリケーションを記録する。情報処理装置10は、コンテンツサーバからネットワーク2経由で、ゲームソフトウェアを記録装置11にダウンロードしてよい。情報処理装置10はゲームソフトウェアを実行して、ゲームの画像データおよび音声データをHMD100に供給する。情報処理装置10とHMD100とは既知の無線通信プロトコルで接続されてもよく、またケーブルで接続されてもよい。
HMD100は、ユーザが頭部に装着することによりその眼前に位置する表示パネルに画像を表示する表示装置である。HMD100は、左目用表示パネルに左目用の画像を、右目用表示パネルに右目用の画像を、それぞれ別個に表示する。これらの画像は左右の視点から見た視差画像を構成し、立体視を実現する。ユーザは光学レンズを通して表示パネルを見るため、情報処理装置10は、レンズによる光学歪みを補正した視差画像データをHMD100に供給する。
HMD100を装着したユーザにとって出力装置15は必要ないが、出力装置15を用意することで、別のユーザが出力装置15の表示画像を見ることができる。情報処理装置10は、HMD100を装着したユーザが見ている画像と同じ画像を出力装置15に表示させてもよいが、別の画像を表示させてもよい。たとえばHMDを装着したユーザと、別のユーザとが一緒にゲームをプレイするような場合、出力装置15からは、当該別のユーザのキャラクタ視点からのゲーム画像が表示されてもよい。
情報処理装置10と入力デバイス16とは既知の無線通信プロトコルで接続されてよく、またケーブルで接続されてもよい。入力デバイス16は操作ボタンなどの複数の操作部材を備え、ユーザは入力デバイス16を把持しながら、手指で操作部材を操作する。情報処理装置10がゲームを実行する際、入力デバイス16はゲームコントローラとして利用される。入力デバイス16は、3軸の加速度センサおよび3軸のジャイロセンサを含む姿勢センサ(IMU:Inertial Measurement Unit)を備え、所定の周期(たとえば800Hz)でセンサデータを情報処理装置10に送信する。
実施例のゲームは、入力デバイス16の操作部材の操作情報だけでなく、入力デバイス16の位置、姿勢、動きなどを操作情報として取り扱って、仮想3次元空間内におけるプレイヤキャラクタの動きに反映する。たとえば操作部材の操作情報は、プレイヤキャラクタを移動させるための情報として利用され、入力デバイス16の位置、姿勢、動きなどの操作情報は、プレイヤキャラクタの腕を動かすための情報として利用されてよい。ゲーム内の戦闘シーンにおいて、入力デバイス16の動きが、武器をもつプレイヤキャラクタの動きに反映されることで、ユーザの直観的な操作が実現され、ゲームへの没入感が高められる。
入力デバイス16の位置および姿勢をトラッキングするために、入力デバイス16には、HMD100に搭載された撮像装置14によって撮影可能な複数のマーカ(光出射部)が設けられる。情報処理装置10は、入力デバイス16を撮影した画像を解析して、実空間における入力デバイス16の位置情報および姿勢情報を推定し、推定した位置情報および姿勢情報をゲームに提供する。
HMD100には、複数の撮像装置14が搭載される。複数の撮像装置14は、それぞれの撮影範囲を足し合わせた全体の撮影範囲がユーザの視野の全てを含むように、HMD100の前面の異なる位置に異なる姿勢で取り付けられる。撮像装置14は、入力デバイス16の複数のマーカの像を取得できるイメージセンサを備える。たとえばマーカが可視光を出射する場合、撮像装置14はCCD(Charge Coupled Device)センサやCMOS(Complementary Metal Oxide Semiconductor)センサなど、一般的なデジタルビデオカメラで利用されている可視光センサを有する。マーカが非可視光を出射する場合、撮像装置14は非可視光センサを有する。複数の撮像装置14は同期したタイミングで、ユーザの前方を所定の周期(たとえば120フレーム/秒)で撮影し、入力デバイス16を撮影した画像データを情報処理装置10に送信する。
情報処理装置10は、撮影画像に含まれる入力デバイス16の複数のマーカ像の位置を特定する。なお1つの入力デバイス16が同じタイミングで複数の撮像装置14に撮影されることもあるが、撮像装置14の取付位置および取付姿勢は既知であるため、情報処理装置10は複数の撮影画像を合成して、マーカ像の位置を特定してよい。
入力デバイス16の3次元形状と、その表面に配置された複数のマーカの位置座標は既知であり、情報処理装置10は、撮影画像内のマーカ像の分布にもとづいて、入力デバイス16の位置座標および姿勢を推定する。入力デバイス16の位置座標は、基準位置を原点とした3次元空間における位置座標であってよく、基準位置はゲーム開始前に設定した位置座標(緯度、経度)であってよい。
実施例の情報処理装置10は、入力デバイス16の姿勢センサが検出したセンサデータを用いて、入力デバイス16の位置座標および姿勢を推定する機能を有する。そこで実施例の情報処理装置10は、撮像装置14で撮影した撮影画像にもとづく推定結果と、センサデータにもとづく推定結果を用いて、高精度に入力デバイス16のトラッキング処理を実施してよい。この場合、情報処理装置10は、カルマンフィルタを用いた状態推定技術を適用して、撮影画像にもとづく推定結果と、センサデータにもとづく推定結果を統合することで、現在時刻における入力デバイス16の位置座標および姿勢を高精度に特定してよい。
図2は、HMD100の外観形状の例を示す。HMD100は、出力機構部102および装着機構部104から構成される。装着機構部104は、ユーザが被ることにより頭部を一周してHMD100を頭部に固定する装着バンド106を含む。装着バンド106はユーザの頭囲に合わせて長さの調節が可能な素材または構造をもつ。
出力機構部102は、HMD100をユーザが装着した状態において左右の目を覆う形状の筐体108を含み、内部には装着時に目に正対する表示パネルを備える。表示パネルは液晶パネルや有機ELパネルなどであってよい。筐体108内部にはさらに、表示パネルとユーザの目との間に位置し、ユーザの視野角を拡大する左右一対の光学レンズが備えられる。HMD100はさらに、ユーザの耳に対応する位置にスピーカーやイヤホンを備えてよく、外付けのヘッドホンが接続されるように構成されてもよい。
筐体108の前方側外面には、複数の撮像装置14a、14b、14c、14dが備えられる。ユーザの顔正面方向を基準として、撮像装置14aは、カメラ光軸が右斜め上を向くように前方側外面の右上隅に取り付けられ、撮像装置14bは、カメラ光軸が左斜め上を向くように前方側外面の左上隅に取り付けられ、撮像装置14cは、カメラ光軸が右斜め下を向くように前方側外面の右下隅に取り付けられ、撮像装置14dは、カメラ光軸が左斜め下を向くように前方側外面の左下隅に取り付けられる。このように複数の撮像装置14が設置されることで、それぞれの撮影範囲を足し合わせた全体の撮影範囲がユーザの視野の全てを含む。このユーザの視野は、3次元仮想空間におけるユーザの視野であってよい。
HMD100は、姿勢センサが検出したセンサデータおよび撮像装置14が撮影した画像データを情報処理装置10に送信し、また情報処理装置10で生成されたゲーム画像データおよびゲーム音声データを受信する。
図3は、HMD100の機能ブロックを示す。制御部120は、画像データ、音声データ、センサデータなどの各種データや、命令を処理して出力するメインプロセッサである。記憶部122は、制御部120が処理するデータや命令などを一時的に記憶する。姿勢センサ124は、HMD100の動きに関するセンサデータを取得する。姿勢センサ124は、少なくとも3軸の加速度センサおよび3軸のジャイロセンサを含む。姿勢センサ124は、所定の周期(たとえば800Hz)で各軸成分の値(センサデータ)を検出する。
通信制御部128は、ネットワークアダプタまたはアンテナを介して、有線または無線通信により、制御部120から出力されるデータを外部の情報処理装置10に送信する。また通信制御部128は、情報処理装置10からデータを受信し、制御部120に出力する。
制御部120は、ゲーム画像データやゲーム音声データを情報処理装置10から受け取ると、表示パネル130に供給して表示させ、また音声出力部132に供給して音声出力させる。表示パネル130は、左目用表示パネル130aと右目用表示パネル130bから構成され、各表示パネルに一対の視差画像が表示される。また制御部120は、姿勢センサ124からのセンサデータ、マイク126からの音声データ、撮像装置14からの撮影画像データを、通信制御部128から情報処理装置10に送信させる。
図4(a)は、左手用の入力デバイス16aの形状を示す。左手用の入力デバイス16aは、ケース体20と、ユーザが操作する複数の操作部材22a、22b、22c、22d(以下、特に区別しない場合は「操作部材22」と呼ぶ)と、ケース体20の外部に光を出射する複数のマーカ30とを備える。マーカ30は断面円形の出射面を有してよい。操作部材22は、傾動操作するアナログスティック、押下式ボタンなどを含んでよい。ケース体20は、把持部21と、ケース体頭部とケース体底部とを連結する湾曲部23を有し、ユーザは湾曲部23に左手を入れて、把持部21を把持する。ユーザは把持部21を把持した状態で、左手の親指を用いて、操作部材22a、22b、22c、22dを操作する。
図4(b)は、右手用の入力デバイス16bの形状を示す。右手用の入力デバイス16bは、ケース体20と、ユーザが操作する複数の操作部材22e、22f、22g、22h(以下、特に区別しない場合は「操作部材22」と呼ぶ)と、ケース体20の外部に光を出射する複数のマーカ30とを備える。操作部材22は、傾動操作するアナログスティック、押下式ボタンなどを含んでよい。ケース体20は、把持部21と、ケース体頭部とケース体底部とを連結する湾曲部23を有し、ユーザは湾曲部23に右手を入れて、把持部21を把持する。ユーザは把持部21を把持した状態で、右手の親指を用いて、操作部材22e、22f、22g、22hを操作する。
図5は、右手用の入力デバイス16bの形状を示す。入力デバイス16bは、図4(b)で示した操作部材22e、22f、22g、22hに加えて、操作部材22i、22jを有する。ユーザは把持部21を把持した状態で、右手の人差し指を用いて操作部材22iを操作し、中指を用いて操作部材22jを操作する。以下、入力デバイス16aと入力デバイス16bとを特に区別しない場合、「入力デバイス16」と呼ぶ。
入力デバイス16に設けられた操作部材22は、押さなくても、触れるだけで指を認識するタッチセンス機能を搭載する。右手用の入力デバイス16bに関して言えば、操作部材22f、22g、22jが、静電容量式タッチセンサを備えてよい。なおタッチセンサは他の操作部材22に搭載されてもよいが、入力デバイス16をテーブルなどに載置した際に、載置面に接触することのない操作部材に搭載されることが好ましい。
マーカ30は、ケース体20の外部に光を出射する光出射部であり、ケース体20の表面において、LED(Light Emitting Diode)素子などの光源からの光を外部に拡散出射する樹脂部を含む。マーカ30は撮像装置14により撮影されて、入力デバイス16の位置および姿勢の推定処理に利用される。撮像装置14は所定の周期(たとえば120フレーム/秒)で空間を撮影するため、マーカ30は、撮像装置14の周期的な撮影タイミングに同期して光を出射し、撮像装置14による非露光期間には消灯して無用な電力消費を抑えることが好ましい。
実施例において撮像装置14による撮影画像は、入力デバイス16のトラッキング処理と、HMD100のトラッキング処理(SLAM)のために利用される。そのため60フレーム/秒で撮影される画像が、入力デバイス16のトラッキング処理に利用され、60フレーム/秒で撮影される別の画像が、HMD100の自己位置推定および環境地図作成を同時実行する処理に利用されてよい。
図6は、入力デバイス16を撮影した画像の一部の例を示す。この画像は、右手で把持された入力デバイス16bの撮影画像であり、光を出射する複数のマーカ30の像が含まれる。HMD100において、通信制御部128は、撮像装置14が撮影した画像データを所定の周期で情報処理装置10に送信する。
図7は、入力デバイス16の機能ブロックを示す。制御部50は、操作部材22に入力された操作情報を受け付け、また姿勢センサ52により取得されたセンサデータを受け付ける。姿勢センサ52は、入力デバイス16の動きに関するセンサデータを取得し、少なくとも3軸の加速度センサおよび3軸のジャイロセンサを含む。姿勢センサ52は、所定の周期(たとえば800Hz)で各軸成分の値(センサデータ)を検出する。制御部50は、受け付けた操作情報およびセンサデータを通信制御部54に供給する。通信制御部54は、ネットワークアダプタまたはアンテナを介して、有線または無線通信により、制御部50から出力される操作情報およびセンサデータを情報処理装置10に送信する。また通信制御部54は、情報処理装置10から発光指示を取得する。
入力デバイス16は、複数のマーカ30を点灯するための複数の光源58を備える。光源58は、所定の色で発光するLED素子であってよい。制御部50は、情報処理装置10から取得した発光指示にもとづいて光源58を発光させ、マーカ30を点灯させる。なお図7に示す例では、1つのマーカ30に対して1つの光源58が設けられているが、1つの光源58が、複数のマーカ30を点灯させてもよい。
図8は、情報処理装置10の機能ブロックを示す。情報処理装置10は、処理部200および通信部202を備え、処理部200は、取得部210、ゲーム実行部220、画像信号処理部222、推定処理部230およびマーカ情報保持部250を備える。通信部202は、入力デバイス16から送信される操作部材22の操作情報およびセンサデータを受信し、取得部210に供給する。また通信部202は、HMD100から送信される撮影画像データおよびセンサデータを受信し、取得部210に供給する。
取得部210は、撮影画像取得部212、センサデータ取得部214および操作情報取得部216を備える。推定処理部230は、マーカ像座標特定部232、マーカ像座標抽出部240および位置姿勢導出部242を備え、マーカ像座標特定部232は、第1抽出処理部234、第2抽出処理部236および代表座標導出部238を有する。推定処理部230は、撮影画像に含まれるマーカ像にもとづいて、入力デバイス16の位置情報および姿勢情報を推定する。なお実施例では説明を省略するが、推定処理部230は、撮影画像に含まれるマーカ像から推定される入力デバイス16の位置情報および姿勢情報と、入力デバイス16で検出されるセンサデータから推定される入力デバイス16の位置情報および姿勢情報とをカルマンフィルタに入力することで、入力デバイス16の位置情報および姿勢情報を高精度に推定してもよい。推定処理部230は、推定した入力デバイス16の位置情報および姿勢情報をゲーム実行部220に供給する。
情報処理装置10はコンピュータを備え、コンピュータがプログラムを実行することによって、図8に示す様々な機能が実現される。コンピュータは、プログラムをロードするメモリ、ロードされたプログラムを実行する1つ以上のプロセッサ、補助記憶装置、その他のLSIなどをハードウェアとして備える。プロセッサは、半導体集積回路やLSIを含む複数の電子回路により構成され、複数の電子回路は、1つのチップ上に搭載されてよく、または複数のチップ上に搭載されてもよい。図8に示す機能ブロックは、ハードウェアとソフトウェアとの連携によって実現され、したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
撮影画像取得部212は、複数のマーカ30を備えた入力デバイス16を撮影した画像データを取得し、画像信号処理部222に供給する。画像信号処理部222は、画像データにノイズ低減や光学補正(シェーディング補正)などの画像信号処理を行い、高画質化した撮影画像データを推定処理部230に供給する。
撮影画像取得部212は、画像の水平方向のラインデータを、1ラインずつ画像信号処理部222に供給する。実施例の画像信号処理部222はハードウェアで構成されて、画像データの数ライン分をラインバッファに記憶し、ラインバッファに記憶した数ライン分の画像データに対して高画質化処理を実施し、高画質化したラインデータを推定処理部230に供給する。
センサデータ取得部214は、入力デバイス16およびHMD100から送信されるセンサデータを取得し、推定処理部230に供給する。操作情報取得部216は、入力デバイス16から送信される操作情報を取得し、ゲーム実行部220に供給する。ゲーム実行部220は、操作情報および入力デバイス16の位置姿勢情報にもとづいて、ゲームを進行する。
マーカ像座標特定部232は、撮影画像に含まれるマーカ30の像を代表する2次元座標(以下、「マーカ像座標」とも呼ぶ)を特定する。マーカ像座標特定部232は、所定値以上の輝度値をもつ画素が連続する領域を特定し、その画素領域の重心座標を算出して、マーカ像の代表座標としてよい。マーカ像座標特定部232による代表座標の導出手法については後述する。
3次元の形状および大きさが既知である物体の撮影画像から、それを撮影した撮像装置の位置および姿勢を推定する手法として、PNP(Perspective n-Point)問題を解く方法が知られている。実施例でマーカ像座標抽出部240は、撮影画像におけるN(Nは3以上の整数)個の2次元マーカ像座標を抽出し、位置姿勢導出部242は、マーカ像座標抽出部240により抽出されたN個のマーカ像座標と、入力デバイス16の3次元モデルにおけるN個のマーカの3次元座標から、入力デバイス16の位置情報および姿勢情報を導出する。位置姿勢導出部242は、以下の(式1)を用いて撮像装置14の位置および姿勢を推定し、その推定結果をもとに入力デバイス16の3次元空間の位置情報および姿勢情報を導出する。
ここで(u,v)は撮影画像におけるマーカ像座標であり、(X,Y,Z)は、入力デバイス16の3次元モデルが基準位置および基準姿勢にあるときのマーカ30の3次元空間での位置座標である。なお3次元モデルは、入力デバイス16と完全に同一の形状および大きさをもち、マーカを同一位置に配置したモデルである。マーカ情報保持部250は、基準位置および基準姿勢にある3次元モデルにおける各マーカの3次元座標を保持しており、位置姿勢導出部242は、マーカ情報保持部250から各マーカの3次元座標を読み出して、(X,Y,Z)を取得する。
(fx、fy)は撮像装置14の焦点距離、(cx、cy)は画像主点であり、いずれも撮像装置14の内部パラメータである。r11~r33、t1~t3を要素とする行列は、回転・並進行列である。(式1)において(u,v)、(fx、fy)、(cx、cy)、(X,Y,Z)は既知であり、位置姿勢導出部242は、N個のマーカ30について方程式を解くことにより、それらに共通の回転・並進行列を求める。位置姿勢導出部242は、この行列によって表される角度および並進量に基づいて、入力デバイス16の位置情報および姿勢情報を導出する。実施例では、入力デバイス16の位置姿勢を推定する処理をP3P問題を解くことで実施し、したがって位置姿勢導出部242は、3個のマーカ像座標と、入力デバイス16の3次元モデルにおける3個の3次元マーカ座標を用いて、入力デバイス16の位置および姿勢を導出する。情報処理装置10は、3次元の現実空間のワールド座標をSLAM技術により生成しており、したがって位置姿勢導出部242は、ワールド座標系における入力デバイス16の位置および姿勢を導出する。
図9は、推定処理部230による位置姿勢推定処理を示すフローチャートである。撮影画像取得部212は、入力デバイス16を撮影した画像のラインデータを順次取得し(S10)、画像信号処理部222に供給する。なお位置姿勢推定処理の計算負荷を下げるために、撮影画像取得部212は、取得した2つのラインデータをビニング処理(4画素を1画素にまとめる処理)して、画像信号処理部222に供給してもよい。画像信号処理部222は、数ライン分のラインデータをラインバッファに記憶して、ノイズ低減や光学補正などの画像信号処理を行う(S12)。画像信号処理部222は、画像信号処理したラインデータをマーカ像座標特定部232に供給し、マーカ像座標特定部232は、撮影画像に含まれる複数のマーカ像の代表座標を特定する(S14)。画像信号処理されたラインデータおよび特定したマーカ像の代表座標は、メモリ(図示せず)に一時記憶される。
マーカ像座標抽出部240は、マーカ像座標特定部232により特定された複数のマーカ像座標の中から、任意の3個のマーカ像座標を抽出する。マーカ情報保持部250は、基準位置および基準姿勢にある入力デバイス16の3次元モデルにおける各マーカの3次元座標を保持している。位置姿勢導出部242は、マーカ情報保持部250から3次元モデルにおけるマーカの3次元座標を読み出し、(式1)を用いてP3P問題を解く。位置姿勢導出部242は、抽出された3個のマーカ像座標に共通する回転・並進行列を特定すると、抽出した3個のマーカ像座標以外の入力デバイス16のマーカ像座標を用いて再投影誤差を算出する。
マーカ像座標抽出部240は、3個のマーカ像座標の組合せを所定数抽出する。位置姿勢導出部242は、抽出された3個のマーカ像座標のそれぞれの組合せに対して回転・並進行列を特定し、それぞれの再投影誤差を算出する。それから位置姿勢導出部242は、所定数の再投影誤差の中から最小の再投影誤差となる回転・並進行列を特定して、入力デバイス16の位置情報および姿勢情報を導出する(S16)。位置姿勢導出部242は、導出した入力デバイス16の位置情報および姿勢情報をゲーム実行部220に供給する。
位置姿勢推定処理は、入力デバイス16のトラッキング用画像の撮像周期(60フレーム/秒)で実施される(S18のN)。ゲーム実行部220がゲームを終了すると、推定処理部230による位置姿勢推定処理は終了する(S18のY)。
以下、複数のフローチャートを用いて、マーカ像座標特定部232が、マーカ像の代表座標を導出する手法について説明する。実施例の撮影画像はグレースケール画像であり、各画素の輝度は8ビットで表現されて、0~255の輝度値をとる。撮影画像においてマーカ像は、図6に示すように高輝度をもつ像として撮影される。
図10は、第1抽出処理部234が撮影画像から8近傍の画素の連結成分を抽出する処理を示すフローチャートである。第1抽出処理部234は、画像信号処理部222から、画像信号処理されたラインデータを取得する(S20)。第1抽出処理部234は、撮影画像から、8近傍の画素の連結成分を抽出する処理を実施する(S22)。
図11は、撮影されたフレーム画像の一例を示す。画像下方に含まれる高輝度の物体は、発光したマーカ30である。画像信号処理部222は、フレーム画像の水平方向のラインデータを、垂直方向の上から順に第1抽出処理部234に供給する。画像信号処理部222から供給されるラインデータは、メモリ(図示せず)に順次記憶されてよい。
図12は、画像のラインデータの読み出しの順番を説明するための図である。第1抽出処理部234は、フレーム画像の水平方向のラインデータを上から順に受け取り、8近傍の画素の連結成分を抽出する処理を実施する。
図13(a)は、8近傍の画素を説明するための図である。CCL(Connected-component labeling)アルゴリズムにおいて、1つの画素Pを中心として、その周り(上下左右方向と4つの斜め方向)に存在する画素を「8近傍の画素」と呼ぶ。2値画像において、同じ値をもつ2つの画素が互いに8近傍に存在するとき、当該2つの画素は「8隣接」しているといい、複数の画素が8隣接により連結している集合を、本実施例では「第1連結成分」と呼ぶ。第1抽出処理部234はハードウェアにより構成され、画像信号処理部222から2つまたは3つのラインデータが入力されると、8近傍の画素の連結成分を抽出する処理を実施する。
一方、後述するように、実施例の第2抽出処理部236はソフトウェア演算により、4近傍の画素の連結成分を抽出する処理を実施する。
図13(b)は、4近傍の画素を説明するための図である。1つの画素Pを中心として、その上下左右方向に存在する画素を「4近傍の画素」と呼ぶ。4近傍の画素は、斜め方向に存在する画素を含まない。2値画像において、同じ値をもつ2つの画素が互いに4近傍に存在するとき、当該2つの画素は「4隣接」しているといい、複数の画素が4隣接により連結している集合を、本実施例では「第2連結成分」と呼ぶ。第2抽出処理部236の処理機能はDSPによるソフトウェア演算により実現され、実施例において第2抽出処理部236は、第1抽出処理部234が抽出した連結成分に対して、4近傍の画素の連結成分を抽出する処理を実施する。
図13(b)は、4近傍の画素を説明するための図である。1つの画素Pを中心として、その上下左右方向に存在する画素を「4近傍の画素」と呼ぶ。4近傍の画素は、斜め方向に存在する画素を含まない。2値画像において、同じ値をもつ2つの画素が互いに4近傍に存在するとき、当該2つの画素は「4隣接」しているといい、複数の画素が4隣接により連結している集合を、本実施例では「第2連結成分」と呼ぶ。第2抽出処理部236の処理機能はDSPによるソフトウェア演算により実現され、実施例において第2抽出処理部236は、第1抽出処理部234が抽出した連結成分に対して、4近傍の画素の連結成分を抽出する処理を実施する。
1枚の同じフレーム画像から、8近傍の画素の連結成分と、4近傍の画素の連結成分とを独立して別個に抽出する場合、8近傍の連結成分は斜め方向に連結する画素も含むため、8近傍の連結成分のサイズは4近傍の連結成分のサイズ以上となり、8近傍の連結成分の抽出数は、4近傍の連結成分の抽出数以下となる。
図10に戻って、第1抽出処理部234による8近傍の画素の第1連結成分の抽出処理(S22)について説明する。第1抽出処理部234は、撮影画像において第1輝度以上の画素が8近傍で連結する領域を探索する。たとえば第1輝度は輝度値128であってよい。第1抽出処理部234が、8近傍の画素の連結成分を抽出することで、4近傍の画素の連結成分を抽出する場合と比較すると、抽出する連結成分の個数を少なくでき、後段のマーカ像代表座標の導出処理にかかる負荷を低減できる。
図14は、撮影画像における複数の画素の例を示す。実際に撮影されたグレースケール画像において、最高の輝度値255をもつ画素は白、最低の輝度値0をもつ画素は黒で表現されるが、以下の図14~図16、図20~図22では、見やすさを優先して、各画素の輝度表現を反転(白黒を反転)させている。したがって図14~図16、図20~図22で黒は輝度値255(最高の輝度値)を、白は輝度値0(最低の輝度値)を表現する。第1抽出処理部234は、第1輝度以上の画素が8近傍で連結する領域を見つけると、8近傍の画素の第1連結成分として抽出し(S22)、第1連結成分を囲む境界ボックスを特定する(S24)。
図15は、抽出された8近傍の画素の第1連結成分78aを囲む境界ボックス80aを示す。境界ボックス80aは、8近傍の画素の第1連結成分78aを囲む最小の矩形として特定される。なお第1抽出処理部234は、第1連結成分の抽出処理を画像のラインデータごとに実施するため、第1連結成分78aを抽出したときには、その下方に図示される別の第1連結成分の存在を認識していない。第1抽出処理部234は、境界ボックス80aを特定すると、境界ボックス80aの座標情報(境界ボックス情報)をメモリ(図示せず)に出力して、記憶するs(S26)。
ここで第1抽出処理部234は、抽出した第1連結成分の個数が所定の上限数以内であるか判定する(S28)。たとえば上限数は256個に設定されていてよい。実施例において位置姿勢推定処理は、入力デバイス16のトラッキング用画像の撮像周期(60フレーム/秒)で実施されるため、抽出した第1連結成分の個数が膨大になると、位置姿勢推定処理を撮像周期内に完了することが困難となる。そこで第1抽出処理部234が抽出する第1連結成分の個数には上限数が設定され、第1抽出処理部234は、抽出した第1連結成分の個数が上限数を超えると(S28のN)、第1連結成分の抽出処理を強制的に終了する。
抽出した第1連結成分の個数が所定の上限数以内である場合(S28のY)、撮影画像の1フレーム分の処理が終了するまで(S30のN)、S20~S26のステップが繰り返し実施される。
図16は、S22で抽出された別の第1連結成分78bを囲む境界ボックス80bを示す。境界ボックス80bは、8近傍の画素の第1連結成分78bを囲む最小の矩形として特定される。第1抽出処理部234は、境界ボックス80bの座標情報をメモリに出力する。撮影画像の1フレーム分の処理が終了すると(S30のY)、第1抽出処理部234は、次のフレーム画像の処理を開始する。
図16は、S22で抽出された別の第1連結成分78bを囲む境界ボックス80bを示す。境界ボックス80bは、8近傍の画素の第1連結成分78bを囲む最小の矩形として特定される。第1抽出処理部234は、境界ボックス80bの座標情報をメモリに出力する。撮影画像の1フレーム分の処理が終了すると(S30のY)、第1抽出処理部234は、次のフレーム画像の処理を開始する。
図17は、撮影画像において抽出した境界ボックスの例を示す。第1抽出処理部234は、撮影画像から、8近傍画素の複数の第1連結成分を抽出して、複数の第1連結成分のそれぞれを囲む境界ボックスの情報をメモリに出力して記憶する。図17に示す例では、撮影画像の下側でマーカ像の境界ボックスが特定されており、撮影画像の上側では、照明光などの光源像の境界ボックスが特定されている。
図17に示す例では、ユーザが入力デバイス16を、HMD100から近い位置で操作しているため、撮影画像の下側において、大きなマーカ像を取り囲む境界ボックスが特定されている。しかしながら、たとえばユーザが手を前方にいっぱいに伸ばした位置で入力デバイス16を操作すると、入力デバイス16と撮像装置14の距離が遠くなることで撮影されるマーカ像は小さくなり、複数の小さいマーカ像が近接する場合には、第1抽出処理部234が、複数のマーカ像を1つの第1連結成分として誤抽出することがある。
図18は、2つのマーカ像を1つの第1連結成分として誤抽出した例を示す。図18に示す例では、2つの小さなマーカ像が8近傍で連結していることで、第1抽出処理部234は、2つのマーカ像を1つの第1連結成分として抽出して、2つのマーカ像を囲む境界ボックスを特定している。そこで実施例の第2抽出処理部236は、第1抽出処理部234が特定した境界ボックスに含まれる複数のマーカ像を分離処理する機能を備える。
図19は、第2抽出処理部236が境界ボックスに含まれる第1連結成分から、複数の4近傍の画素の第2連結成分を抽出する処理を示すフローチャートである。第2抽出処理部236は、第1抽出処理部234が抽出した第1連結成分を、複数の4近傍の画素の第2連結成分に分離できるかどうか調査し、分離できる場合には、元の第1連結成分を破棄して分離後の複数の第2連結成分に置き換え、分離できない場合には、元の第1連結成分を維持する。
第2抽出処理部236は、第1抽出処理部234が特定した境界ボックス情報(座標情報)をメモリから取得する(S40)。このとき第2抽出処理部236は、当該境界ボックスおよびその周辺を含む撮影画像データも、撮影画像データを記憶したメモリから取得する(S42)。
図20は、境界ボックス80aの領域を含む撮影画像の例を示す。取得する撮影画像領域の横幅および縦幅は、境界ボックス80aの横幅および縦幅の略2倍であって、画像領域の中心位置が境界ボックス80aの中心位置と略一致するように設定される。第2抽出処理部236は、第1抽出処理部234が特定した境界ボックス80aとその周囲とのコントラストを確認する(S44)。境界ボックス80aがマーク像を含んでいれば、境界ボックス80a内の平均輝度は高く、一方で、境界ボックス80aの外部の平均輝度は相対的に低くなる。そこで第2抽出処理部236は、境界ボックス80a内の平均輝度と、取得した画像領域のうち境界ボックス80aの外部の領域内の平均輝度を算出し、輝度比を求める。
第2抽出処理部236は、境界ボックス80a内の画素の平均輝度B1と、境界ボックス80aの外側の画像領域内の画素の平均輝度B2を算出する。輝度比(B1/B2)が所定値未満である場合(S44のN)、第2抽出処理部236は、境界ボックス80aに含まれる第1連結成分は分離対象ではないことを判断して、当該第1連結成分の分離処理を中止する。所定値は、たとえば3であってよい。このとき第2抽出処理部236は、境界ボックス80aがマーカ像を含んでいないことを判定して、境界ボックス80aを破棄してもよい。
輝度比が所定値以上である場合(S44のY)、第2抽出処理部236は、境界ボックス80aの大きさおよび形状が所定の条件を満たしているか調べる(S46)。具体的に第2抽出処理部236は、水平方向のピクセル数xと、垂直方向のピクセル数yとが、以下の条件1~4を満たしているか否かを判定する。
(条件1)Xmin ≦ x ≦ Xmax
(条件2)Ymin ≦ y ≦ Ymax
(条件3)x/y ≦ Aspect_Thresh
(条件4)y/x ≦ Aspect_Thresh
(条件1)Xmin ≦ x ≦ Xmax
(条件2)Ymin ≦ y ≦ Ymax
(条件3)x/y ≦ Aspect_Thresh
(条件4)y/x ≦ Aspect_Thresh
条件1,2は、境界ボックス80aの大きさが所定の範囲内にあること、つまり境界ボックス80aが大きすぎず且つ小さすぎないことを規定した条件である。複数のマーカ像が1つの第1連結成分として誤抽出されるとき、各マーカ像は必ず小さいため(各マーカ像が大きければ、複数のマーカ像が1つの第1連結成分として抽出されることはない)、ピクセル数xとピクセル数yとが、それぞれXmax、Ymax以下の境界ボックス80aを調査対象としている。また境界ボックス80aが小さすぎる場合には、マーカ像を含んでいる可能性が低いため、ピクセル数xとピクセル数yとが、それぞれXmin、Ymin以上の境界ボックス80aを調査対象としている。条件3,4は、細長い境界ボックス80aを調査対象外とするための条件である。第2抽出処理部236は、境界ボックス80aの大きさおよび形状が条件1~4のいずれかを満たしていないことを判定すると(S46のN)、境界ボックス80aに含まれる第1連結成分は分離対象ではないことを判断して、当該第1連結成分の分離処理を中止する。
第2抽出処理部236は、境界ボックス80aの大きさおよび形状が条件1~4の全てを満たしていることを判定すると(S46のY)、境界ボックス80aに含まれる第1連結成分を分離するための処理を実施する。具体的に第2抽出処理部236は、第1連結成分から、4近傍で連結する領域を探索して、4近傍の画素の第2連結成分を抽出する。
図21は、4近傍の画素の第2連結成分を抽出する対象領域を示す。この対象領域は、境界ボックス80aを1画素ずつ水平方向の両側および垂直方向の両側に広げた領域となる。第2連結成分の抽出処理において、第2抽出処理部236は、第2輝度以上の画素が4近傍で連結する領域を探索する。第2輝度は、第1輝度と同じであってよいが、第1輝度より高くてよく、たとえば第2輝度は、輝度値160であってよい。
第2抽出処理部236は、第2輝度以上の画素が4近傍で連結する領域を見つけると、4近傍の画素の第2連結成分として抽出し(S48)、第2連結成分を囲む境界ボックスを特定する(S50)。第2抽出処理部236は、第1連結成分から複数の第2連結成分を抽出しない場合(S52のN)、境界ボックス80aに含まれる第1連結成分は分離対象ではないことを判断して、当該第1連結成分の分離処理を中止する。一方、第2抽出処理部236は、第1連結成分から複数の第2連結成分を抽出した場合(S52のY)、境界ボックス80aに含まれていた第1連結成分78aを、複数の第2連結成分に分離する(S54)。
図22は、抽出された4近傍の画素の第2連結成分を囲む境界ボックスを示す。この例で第2抽出処理部236は、図21に示す対象領域から、3つの第2連結成分82a、82b、82cを抽出して、各第2連結成分を囲む境界ボックス84a、84b、84cを特定する。なお図22において第2抽出処理部236は、CCLアルゴリズムにしたがって、第2連結成分82aにラベル値1を、第2連結成分82bにラベル値2を、第2連結成分82cにラベル値3を付与している。ここでラベル値3を付した第2連結成分82cは、境界ボックス80aの外部の画素を含んで構成されているため、第2抽出処理部236は、第2連結成分82cは第1連結成分78aから分離したものではないことを認識して、処理対象から除外する。
この例では、8近傍で連結していた第1連結成分78aが、4近傍の第2連結成分82aと第2連結成分82bに分離されている。第2抽出処理部236は、第2連結成分82aおよび第2連結成分82bが所定の条件を満たす場合に、第1抽出処理部234が抽出した第1連結成分78aを、第2連結成分82aおよび第2連結成分82bに置き換える。具体的に第2抽出処理部236は、第2連結成分82aおよび第2連結成分82bのそれぞれの画素数が所定値以上であることを条件に、第1連結成分78aを破棄して、第2連結成分82aおよび第2連結成分82bに置き換えてよい。この処理により、1つの第1連結成分78aとして誤抽出されていた2つのマーカ像を分離することが可能となる。なお第2抽出処理部236は、第1連結成分78aが所定数(たとえば3または4個)以上に分離された場合には、当該分離処理が適切でないことを判定して、第1連結成分78aを維持してよい。
第2抽出処理部236は、第1抽出処理部234が特定した全ての境界ボックスについて、分離できる第1連結成分が含まれているか調査する(S56のN)。第2抽出処理部236が全ての境界ボックスについての調査を終了すると(S56のY)、代表座標導出部238は、第1抽出処理部234が抽出した第1連結成分の画素および/または第2抽出処理部236が抽出した第2連結成分の画素にもとづいて、マーカ像の代表座標を導出する処理を実施する。
図23は、代表座標の導出処理を示すフローチャートを示す。代表座標導出部238は、第1抽出処理部234が特定した境界ボックスと、第2抽出処理部236が特定した境界ボックスとを用いて、マーカ像の代表座標を導出する。実施例において代表座標導出部238は、いくつかの基準に照らし合わせて、第1抽出処理部234および第2抽出処理部236が特定した境界ボックスに、マーカ像が含まれているか調べる。まず代表座標導出部238は境界ボックス情報を取得して(S60)、境界ボックスの大きさが所定の範囲内にあるか調べる(S62)。境界ボックスが大きすぎる場合(S62のN)、当該境界ボックスに含まれる第1連結成分または第2連結成分は、マーカ30を撮影した像ではない。そのため代表座標導出部238は、大きすぎる当該境界ボックスを破棄する。
境界ボックスの大きさが所定の範囲内にある場合(S62のY)、第2抽出処理部236は、境界ボックス内に含まれる高輝度画素の連結成分の形状が長尺形状であるか調べる(S64)。マーカ30は断面円形の出射面を有するため、マーカ像は丸に近い形状を有し、長尺形状になることはない。高輝度画素の連結成分の形状が長尺形状である場合(S64のY)、当該境界ボックスに含まれる高輝度点灯体はマーカ30でないため、代表座標導出部238は、長尺形状の当該境界ボックスを破棄する。
高輝度画素の連結部分の形状が長尺形状でない場合(S64のN)、代表座標導出部238は、特定した境界ボックスとその周囲とのコントラストを確認する(S66)。このコントラストの確認処理は、たとえば図19のS44に示した処理と同様の処理であってよい。境界ボックス内の平均輝度と、境界ボックスの外部の所定領域内の平均輝度との比が所定値未満である場合(S66のN)、代表座標導出部238は、当該境界ボックスを破棄する。
輝度比が所定値以上である場合(S66のY)、代表座標導出部238は、当該境界ボック内にマーカ像が含まれていることを認識し、境界ボックス内の第3輝度以上の画素にもとづいて、マーカ像の代表座標を導出する(S68)。この代表座標は、重心座標であってよい。第3輝度は、第1輝度よりも低く、たとえば輝度値64であってよい。代表座標導出部238は、X軸方向とY軸方向において輝度平均位置を算出し、代表座標(u,v)を導出する。このとき代表座標導出部238は、第3輝度以上の各画素の画素値を加味して輝度重心位置を求めて、代表座標(u,v)を導出することが好ましい。
上記した実施例では、図10のS28に関連して、第1抽出処理部234が抽出できる第1連結成分の個数に上限が設定されていることを説明した。なお第1抽出処理部234は、抽出した第1連結成分の個数が上限数に達すると、第1連結成分の抽出処理を強制終了するが、第2抽出処理部236は、抽出された上限数の第1連結成分に対して上記した分離処理を実施してよい。
図24は、撮影画像において第1抽出処理部234が抽出した境界ボックスの例を示す。この撮影画像には、日よけや目隠しなどの目的で窓の内側に付けられるブラインドが含まれている。ここで撮影されているブラインドは、上下方向に複数の横長羽根(スラット)を並べたベネシャンブラインド(Venetian blind)であり、オフィスなどでよく使われるタイプのブラインドである。
実施例の第1抽出処理部234は、画像のラインデータを順次取得して、8近傍の画素の第1連結成分を抽出するハードウェアによって構成されている。図24に示す矢印は、撮像装置14のイメージセンサから画像のラインデータを読み出す順番を示しており、第1抽出処理部234は、読み出されたラインデータにもとづいて、第1連結成分の抽出処理を実施する。図24に示す例では、第1抽出処理部234が撮影画像の上から下に向けて、順番に第1連結成分の抽出処理を実施した結果、全ての画像データの処理を終了する前に、抽出した第1連結成分の個数が上限数(256個)に達して、第1連結成分の抽出処理が強制終了している。図24の撮影画像に示されるように、入力デバイス16のマーカ30を撮影したマーカ像は画像左下に存在しているが、第1連結成分の抽出数が上限数に達したことで、マーカ像は抽出されていない。
図17にも示したように、入力デバイス16は、HMD100に搭載された撮像装置14のイメージセンサによって撮影されるため、ユーザが普通にゲームプレイしている状況下では、入力デバイス16は画角内の下側に撮影される。そこでHMD100において制御部120は、撮像装置14のイメージセンサから上下反転して画像データを読み出し、読み出した画像データを通信制御部128から情報処理装置10に送信してよい。
情報処理装置10において、撮影画像取得部212は、イメージセンサから上下反転して読み出された画像データを取得する。したがって撮影画像取得部212は、撮影画像のラインデータを、画像の最下部から順番に取得して、画像信号処理部222を介して推定処理部230に供給する。これにより第1抽出処理部234は、イメージセンサから上下反転して読み出された画像データから、所定輝度以上の画素が連続する第1連結成分を抽出でき、抽出した第1連結成分の個数が上限数に到達する前に、撮影画像の下側に存在するマーカ像に対応する第1連結成分を抽出する可能性を高めることができる。
以上、本発明を実施例をもとに説明した。上記実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。実施例では推定処理を情報処理装置10が実施したが、情報処理装置10の機能がHMD100に設けられて、HMD100が推定処理を実施してもよい。つまりHMD100が、情報処理装置10であってもよい。
実施例では、操作部材22を備えた入力デバイス16における複数マーカ30の配置について説明したが、トラッキングの対象となるデバイスは、必ずしも操作部材22を備えていなくてよい。実施例では撮像装置14がHMD100に取り付けられているが、撮像装置14は、マーカ像を撮影できればよく、HMD100以外の別の位置に取り付けられてもよい。
1・・・情報処理システム、10・・・情報処理装置、14・・・撮像装置、16a,16b・・・入力デバイス、20・・・ケース体、21・・・把持部、22・・・操作部材、23・・・湾曲部、30・・・マーカ、50・・・制御部、52・・・姿勢センサ、54・・・通信制御部、58・・・光源、100・・・HMD、102・・・出力機構部、104・・・装着機構部、106・・・装着バンド、108・・・筐体、120・・・制御部、122・・・記憶部、124・・・姿勢センサ、126・・・マイク、128・・・通信制御部、130・・・表示パネル、132・・・音声出力部、200・・・処理部、202・・・通信部、210・・・取得部、212・・・撮影画像取得部、214・・・センサデータ取得部、216・・・操作情報取得部、220・・・ゲーム実行部、222・・・画像信号処理部、230・・・推定処理部、232・・・マーカ像座標特定部、234・・・第1抽出処理部、236・・・第2抽出処理部、238・・・代表座標導出部、240・・・マーカ像座標抽出部、242・・・位置姿勢導出部、250・・・マーカ情報保持部。
Claims (7)
- 複数のマーカを備えたデバイスを撮影した画像を取得する撮影画像取得部と、
撮影画像におけるマーカ像にもとづいて、前記デバイスの位置情報および姿勢情報を推定する推定処理部と、を備え、
前記推定処理部は、
撮影画像からマーカ像の代表座標を特定するマーカ像座標特定部と、
マーカ像の代表座標を用いて、前記デバイスの位置情報および姿勢情報を導出する位置姿勢導出部と、を有し、
前記撮影画像取得部は、イメージセンサから上下反転して読み出された画像データを取得し、
前記マーカ像座標特定部は、
イメージセンサから上下反転して読み出された画像データから、画素が連続する連結成分を抽出する抽出処理部と、
前記抽出処理部が抽出した連結成分の画素にもとづいて、マーカ像の代表座標を導出する代表座標導出部と、を有する、
ことを特徴とする情報処理装置。 - 前記抽出処理部は、所定の上限数の範囲内で、複数の前記連結成分を抽出する、
ことを特徴とする請求項1に記載の情報処理装置。 - 前記抽出処理部は、抽出した前記連結成分の数が所定の上限数に達すると、前記連結成分の抽出処理を終了する、
ことを特徴とする請求項2に記載の情報処理装置。 - 前記抽出処理部はハードウェアで構成されて、前記イメージセンサから上下反転して読み出された画像のラインデータから、前記連結成分を抽出する、
ことを特徴とする請求項1から3のいずれかに記載の情報処理装置。 - 前記イメージセンサは、ヘッドマウントディスプレイに搭載されている、
ことを特徴とする請求項1から4のいずれかに記載の情報処理装置。 - 複数のマーカを備えたデバイスを撮影したイメージセンサから、上下反転して読み出された画像データを取得するステップと、
前記画像データから、画素が連続する連結成分を抽出するステップと、
抽出した連結成分の画素にもとづいて、マーカ像の代表座標を導出するステップと、
を有することを特徴とする代表座標導出方法。 - コンピュータに、
複数のマーカを備えたデバイスを撮影したイメージセンサから、上下反転して読み出された画像データを取得する機能と、
前記画像データから、画素が連続する連結成分を抽出する機能と、
抽出した連結成分の画素にもとづいて、マーカ像の代表座標を導出する機能と、
を実現させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022020558A JP2023117800A (ja) | 2022-02-14 | 2022-02-14 | 情報処理装置および代表座標導出方法 |
PCT/JP2022/047377 WO2023153093A1 (ja) | 2022-02-14 | 2022-12-22 | 情報処理装置および代表座標導出方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022020558A JP2023117800A (ja) | 2022-02-14 | 2022-02-14 | 情報処理装置および代表座標導出方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023117800A true JP2023117800A (ja) | 2023-08-24 |
Family
ID=87564272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022020558A Pending JP2023117800A (ja) | 2022-02-14 | 2022-02-14 | 情報処理装置および代表座標導出方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2023117800A (ja) |
WO (1) | WO2023153093A1 (ja) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4450532B2 (ja) * | 2001-07-18 | 2010-04-14 | 富士通株式会社 | 相対位置計測装置 |
GB2569785B (en) * | 2017-12-20 | 2022-07-13 | Sony Interactive Entertainment Inc | Data processing |
JP7248490B2 (ja) * | 2019-04-24 | 2023-03-29 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置、デバイスの位置および姿勢の推定方法 |
-
2022
- 2022-02-14 JP JP2022020558A patent/JP2023117800A/ja active Pending
- 2022-12-22 WO PCT/JP2022/047377 patent/WO2023153093A1/ja unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023153093A1 (ja) | 2023-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7248490B2 (ja) | 情報処理装置、デバイスの位置および姿勢の推定方法 | |
US20190236404A1 (en) | Image processing apparatus image processing method and storage medium for lighting processing on image using model data | |
CN114895471B (zh) | 具有内-外位置跟踪、用户身体跟踪和环境跟踪的用于虚拟现实和混合现实的头戴式显示器 | |
US10304164B2 (en) | Image processing apparatus, image processing method, and storage medium for performing lighting processing for image data | |
JP2019522851A (ja) | 3次元空間内の姿勢推定 | |
JP6768933B2 (ja) | 情報処理装置、情報処理システム、および画像処理方法 | |
JP7367689B2 (ja) | 情報処理装置、情報処理方法、及び記録媒体 | |
CN110152293B (zh) | 操控对象的定位方法及装置、游戏对象的定位方法及装置 | |
JP2017208707A (ja) | 情報処理装置、情報処理システム、撮像装置、ヘッドマウントディスプレイ、および情報処理方法 | |
JP7198149B2 (ja) | 情報処理装置およびデバイス情報導出方法 | |
WO2020189450A1 (ja) | 複数のマーカを備えたデバイス | |
JP6499993B2 (ja) | 情報処理装置、情報処理システム、および情報処理方法 | |
WO2023153093A1 (ja) | 情報処理装置および代表座標導出方法 | |
WO2023153094A1 (ja) | 情報処理装置および代表座標導出方法 | |
JP7288792B2 (ja) | 情報処理装置およびデバイス情報導出方法 | |
WO2023157499A1 (ja) | 情報処理装置およびデバイス位置推定方法 | |
WO2023157498A1 (ja) | 情報処理装置、デバイス速度推定方法およびデバイス位置推定方法 | |
JP6930011B2 (ja) | 情報処理装置、情報処理システム、および画像処理方法 | |
WO2023157338A1 (ja) | 情報処理装置およびデバイス位置推定方法 | |
US20240257391A1 (en) | Information processing apparatus and device information derivation method | |
US20230014562A1 (en) | Image processing apparatus, image processing method, and image processing program | |
US20230305793A1 (en) | Control device, control method, and control program | |
US20220327666A1 (en) | Imaging systems and methods for correcting visual artifacts caused by camera straylight | |
JP2023019059A (ja) | 撮像装置及び撮像システム | |
JP2000098870A (ja) | 仮想画像立体合成装置、仮想画像立体合成方法、ゲーム装置及び記録媒体 |