JP2016076167A - 情報処理装置および情報処理方法 - Google Patents

情報処理装置および情報処理方法 Download PDF

Info

Publication number
JP2016076167A
JP2016076167A JP2014207406A JP2014207406A JP2016076167A JP 2016076167 A JP2016076167 A JP 2016076167A JP 2014207406 A JP2014207406 A JP 2014207406A JP 2014207406 A JP2014207406 A JP 2014207406A JP 2016076167 A JP2016076167 A JP 2016076167A
Authority
JP
Japan
Prior art keywords
image
target area
depth image
information processing
block
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
Application number
JP2014207406A
Other languages
English (en)
Inventor
直紀 沼口
Naoki Numaguchi
直紀 沼口
アレクシー アンドレ
Andre Alexis
アレクシー アンドレ
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
Sony Corp
Original Assignee
Sony Corp
Sony Computer 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 Corp, Sony Computer Entertainment Inc filed Critical Sony Corp
Priority to JP2014207406A priority Critical patent/JP2016076167A/ja
Priority to US15/516,182 priority patent/US10279249B2/en
Priority to PCT/JP2015/074168 priority patent/WO2016056317A1/ja
Publication of JP2016076167A publication Critical patent/JP2016076167A/ja
Pending legal-status Critical Current

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/215Input arrangements for video game devices characterised by their sensors, purposes or types comprising means for detecting acoustic signals, e.g. using a microphone
    • 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/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • 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/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/65Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • G06F3/0317Detection arrangements using opto-electronic means in co-operation with a patterned surface, e.g. absolute position or relative movement detection for an optical mouse or pen positioned with respect to a coded surface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/285Analysis of motion using a sequence of stereo image pairs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/56Extraction of image or video features relating to colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • G06T2207/10021Stereoscopic video; Stereoscopic image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/215Motion-based segmentation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)

Abstract

【課題】実物体を利用した情報処理を容易かつ高精度に行う。【解決手段】実空間に設定されたプレイフィールド20上に、それを底面とする所定高さhの対象領域102を仮想的に設定する。対象領域102を撮像面からの距離を画素値として画像平面上に表した対象領域画像を生成し、実際の撮影画像100に対応する奥行き画像と比較することにより、対象領域102内部にあるブロック3c、3bの像のみを抽出し、検出や追跡の対象とする。【選択図】図4

Description

本発明は、実世界の物体の認識や追跡を行う情報処理装置および情報処理方法に関する。
従来、複数のブロックや部品を接続することにより立体物を組み立てることのできる玩具が知られている。例えばユーザの発想に応じて自由に組み立てられるような、立方体や直方体など基本的な形状を有するブロックや、あらかじめ想定された立体物を設計図に従い組み立てるために形成された専用のブロックや部品などが広く普及している。また、実空間における物体の動きや形状変化をコンピュータが認識し、何らかの情報処理を行う技術は、玩具や学習用教材などへの応用が見込まれている(例えば特許文献1、非特許文献1参照)。
特開2008−73256号公報
Posey: Instrumenting a Poseable Hub and Strut Construction Toy, Michael Philetus Weller, Ellen Yi-Luen Do, Mark D Gross, Proceedings of the Second International Conference on Tangible and Embedded Interaction, 2008, pp 39-46
ブロックのようにより簡易な物体のみを用いた遊びや学習には、その発展性に限界がある。そこで上述のように、物体をコンピュータが認識することにより、より高度な情報処理を実現する技術が提案されている。しかし物体の動きや形状を入力情報として情報処理を行う場合、当該物体そのものを他と区別したり認識したりする必要がある。物体を検出/認識する手法として、形状や特徴点など物体自体の特徴に基づく場合や、物体にマーカーをつける場合などがある。
前者の手法は、あらかじめ形状や特徴点に係る情報をデータベースに登録しておく必要があり、登録されていない物は対象外となってしまう。また物体の検出、認識、追跡などの処理の精度が、周囲の明るさや対象物以外の物の存在など、撮影環境に依存して変化しやすい。後者の手法は、マーカーという本来不必要な物を取り付けることにより、ユーザが取り扱いに煩わしさを感じたり、破損の要因が増えたりする。
本発明はこのような課題に鑑みてなされたものであり、その目的は、実物体を利用した様々な情報処理を容易かつ高精度に実現できる技術を提供することにある。
上記課題を解決するために、本発明のある態様は情報処理装置に関する。この情報処理装置は、撮像装置の視野に存在する物体の、撮像装置からの距離を、撮影画像平面に画素値として表した奥行き画像を取得する奥行き画像取得部と、視野内の空間に3次元の対象領域を仮想的に設定し、撮像装置と同じ視点から見た対象領域の画像を、奥行き画像と同じ形式で生成する対象領域設定部と、奥行き画像と対象領域の画像を比較することにより、奥行き画像のうち対象領域内にある物の像を抽出する対象物検出部と、抽出結果に基づき画像および音声の少なくともいずれかのデータを出力する出力部と、を備えたことを特徴とする。
本発明の別の態様は情報処理方法に関する。この情報処理方法は、撮像装置の視野に存在する物体の、撮像装置からの距離を、撮影画像平面に画素値として表した奥行き画像を取得しメモリに格納するステップと、視野内の空間に3次元の対象領域を仮想的に設定し、撮像装置と同じ視点から見た対象領域の画像を、奥行き画像と同じ形式で生成するステップと、メモリから読み出した奥行き画像と対象領域の画像を比較することにより、奥行き画像のうち対象領域内にある物の像を抽出するステップと、抽出結果に基づき画像および音声の少なくともいずれかのデータを出力するステップと、を含むことを特徴とする。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
本発明によると、実物体を用いた遊びやゲームなどを容易に多様化させることができる。
本実施の形態を適用できる情報処理システムの構成例を示す図である。 本実施の形態における情報処理装置の内部回路構成を示す図である。 本実施の形態における情報処理装置の機能ブロックの構成を示す図である。 本実施の形態における対象領域を説明するための図である。 本実施の形態における対象領域画像の例を模式的に示す図である。 本実施の形態において対象物検出部が対象領域に存在するブロックの像を抽出する様子を模式的に示す図である。 本実施の形態において情報処理装置がブロックの検出、追跡、それらの結果に応じた出力を行う処理手順を示すフローチャートである。 図7のフローチャートのうちS24において、ユーザが声で指定した名前をラベルとして付与する様子を模式的に示す図である。 図7のフローチャートのうちS28において、ラベルが付与されたブロックが所定の条件を満たすことにより音声が出力される様子を模式的に示す図である。 図7のフローチャートのうちS28において、ラベルが付与されたブロックが所定の条件を満たすことにより画像が表示/更新される様子を模式的に示す図である。 本実施の形態における、場所によって高さが異なるプレイフィールドの外観例を示す図である。
図1は本実施の形態を適用できる情報処理システムの構成例を示す。情報処理システム1は、実世界においてユーザ5が動かしたり組み立てたりすることができるブロック3a、3b、3c、3d、それらのブロックの状態に応じた情報処理を行う情報処理装置10、情報処理装置10に対するユーザ操作を受け付ける入力装置14、周囲の音声を入力情報として取得するマイクロフォン15、ブロックの動きなどに応じた画像および音声を出力する表示装置16およびスピーカー18を含む。情報処理システム1はさらに、ブロックを置くプレイフィールド20と、プレイフィールド20を含む実空間を撮影する撮像装置12を含む。
情報処理装置10は、たとえばゲーム装置やパーソナルコンピュータであってよく、必要なアプリケーションプログラムをロードすることで情報処理機能を実現してもよい。表示装置16は液晶ディスプレイ、プラズマディスプレイ、有機ELディスプレイなど一般的なディスプレイでよい。またスピーカー18は音声信号を音として出力するスピーカーのほか、ブザー、チャイムなどのいずれでもよく、その数やチャンネル数も限定されない。表示装置16とスピーカー18とを一体的に形成したテレビとしてもよい。なお表示装置16およびスピーカー18は、場合によってはその一方がなくてもよい。
撮像装置12は、既知の間隔を有する左右の位置から同一の空間を撮影する2つのカメラからなるステレオカメラであり、それぞれがCCD(Charge Coupled Device)またはCMOS(Complementary Metal Oxide Semiconductor)等の撮像素子を備えている。あるいは単眼のビデオカメラと、撮像面からの被写体の距離を取得できるセンサとで撮像装置12を構成してもよい。被写体の距離を取得できるセンサとして、赤外線などの参照光を対象物に照射しその反射光を検出する装置を利用してもよい。
入力装置14は、ユーザ5が操作することにより、処理の開始、終了、機能の選択などの要求を受け付け、情報処理装置10に電気信号として供給する。入力装置14は、ゲームコントローラ、キーボード、マウス、ジョイスティック、表示装置16の画面上に設けたタッチパッドなど、一般的な入力装置のいずれか、またはいずれかの組み合わせでよい。マイクロフォン15はユーザ5などが発する音声を取得し、それを電気信号に変換して情報処理装置10に供給する、一般的なマイクロフォンでよい。
プレイフィールド20は、布、ビニール、板などで作成され平面に敷いたり置いたりできるマットであり、ブロック3bなどが置かれる面を構成するとともに、処理対象の空間を規定する。プレイフィールド20の形は限定されず、図示するような四角形を含む多角形の他、円や楕円など曲線で囲まれた形でもよい。ブロック3a、3b、3c、3dは、図示するように球、直方体、円柱などの単純な形状の物でもよいし、人形やミニカーなど現実世界にある物のミニチュアやその部品、ゲームの駒など、より複雑な形状の物でもよい。またブロック3a、3b、3c、3dのサイズ、材質、色、個数は限定されない。さらに、ユーザによって組み立てられる構造としてもよいし、完成物であってもよい。
情報処理装置10は、プレイフィールド20によって規定される空間内に存在するブロックを検出したり追跡したりする。具体的には情報処理装置10は、プレイフィールド20が示す領域を底面とし所定の高さを有する領域を、3次元の実空間に対し仮想的に設定する。そしてユーザがその内部に入れたブロックに限定して検出や追跡を行う。このようにすることで、ユーザが意図して置いたり動かしたりしているブロックを、周囲に存在する物や人と区別することが容易になる。
結果として検出/追跡処理の精度を向上させつつ処理の負荷を軽減できる。またユーザ自身も、プレイフィールド20の上へ移動させる、という平易な動作で、情報処理装置10に認識させるべきブロックを指定することができる。以後、このように情報処理装置10が3次元空間に設定する仮想的な領域を「対象領域」と呼ぶ。
情報処理装置10と、撮像装置12、入力装置14、マイクロフォン15、表示装置16、スピーカー18との接続は、有線、無線を問わず、また種々のネットワークを介していてもよい。あるいはそれらのうちいずれか2つ、または全てが組み合わされて一体的に装備されていてもよい。なお図1の例では、ブロック3a、3b、3c、3dのうちプレイフィールド20上にあるブロック3b、3cが処理対象となり、鏡に映っているような画像を表示装置16に表示している。ただし表示する画像はこれに限らず、情報処理装置10が行う処理内容に応じて適宜決定してよい。
例えば情報処理装置10が、ブロックの位置に応じて進捗する電子ゲームを実行する場合、表示装置16には当該ゲームの画面を表示する。情報処理装置10が、ブロックの組み立て方に係る情報を提供する場合、表示装置16には現状のブロックの状況に応じ、次の組み立て手順を表した画像を表示する。上述の通り、画像表示を伴わない情報処理を行ってもよい。このように情報処理装置10がブロックの検出結果や追跡結果に基づき行う情報処理の内容は特に限定されないため、以後はブロックの検出や追跡に係る処理に主眼を置いて説明する。
図2は情報処理装置10の内部回路構成を示している。情報処理装置10は、CPU(Central Processing Unit)22、GPU(Graphics Processing Unit)24、メインメモリ26を含む。CPU22は、オペレーティングシステムやアプリケーションなどのプログラムに基づいて、情報処理装置10内部の構成要素における処理や信号伝送を制御する。GPU24は画像処理を行う。メインメモリ26はRAM(Random Access Memory)により構成され、処理に必要なプログラムやデータを記憶する。
これらの各部は、バス30を介して相互に接続されている。バス30にはさらに入出力インターフェース28が接続されている。入出力インターフェース28には、USBやIEEE1394などの周辺機器インターフェースや、有線又は無線LANのネットワークインターフェースからなる通信部32、ハードディスクドライブや不揮発性メモリなどの記憶部34、表示装置16やスピーカー18などの出力装置へデータを出力する出力部36、撮像装置12、入力装置14、およびマイクロフォン15からデータを入力する入力部38、磁気ディスク、光ディスクまたは半導体メモリなどのリムーバブル記録媒体を駆動する記録媒体駆動部40が接続される。
CPU22は、記憶部34に記憶されているオペレーティングシステムを実行することにより情報処理装置10の全体を制御する。CPU22はまた、リムーバブル記録媒体から読み出されてメインメモリ26にロードされた、あるいは通信部32を介してダウンロードされた各種プログラムを実行する。GPU24は、ジオメトリエンジンの機能とレンダリングプロセッサの機能とを有し、CPU22からの描画命令に従って描画処理を行い、表示画像を図示しないフレームバッファに格納する。そしてフレームバッファに格納された表示画像をビデオ信号に変換して出力部36に出力する。
図3は情報処理装置10の機能ブロックの構成を示している。図3に示す各機能ブロックは、ハードウェア的には、図2に示したCPU22、GPU24、メインメモリ26、出力部36、入力部38などで実現でき、ソフトウェア的には記憶部34や、記録媒体駆動部40を介して記録媒体からメインメモリ26にロードされたプログラムなどで実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
本実施の形態は主に、対象領域を設定する処理と、当該対象領域を利用してブロックを検出/追跡する処理とで構成される。情報処理装置10は、入力装置14が受け付けたユーザ操作に係る情報を取得する入力情報取得部52、撮像装置12から撮影画像のデータを取得する撮影画像取得部54、撮影画像を用いて奥行き画像を生成する奥行き画像取得部56、対象領域を設定し奥行き画像として表す対象領域設定部58、ブロックの検出、追跡を行う対象物検出部60を含む。
情報処理装置10はさらに、検出したブロックにラベル付けを行うラベリング部62、マイクロフォン15が取得した音声を認識する音声認識部66、ブロックのラベル、位置、動きなどに応じて出力データを生成する出力データ取得部70、撮影画像、奥行き画像など処理に用いる画像のデータを格納する画像データ記憶部72、および、ブロックに係る情報や出力データを生成するために必要な情報を格納する対象物情報記憶部64を含む。
入力情報取得部52は、入力装置14を介してユーザが行った操作の内容を、各機能ブロックへ適宜、通知する。この操作には、ゲームなどの情報処理の開始および終了要求や、処理の途中におけるコマンド入力などが含まれる。処理の開始/終了要求は撮影画像取得部54を介して撮像装置12にも通知することで、撮像装置12における動画撮影の開始/終了を制御する。
撮影画像取得部54は、撮影の結果得られた動画像のフレームデータを所定のレートで取得する。当該フレームデータは左右の視点から同一空間を撮影したステレオ画像である。また所定のレートとは、撮像装置12が撮影する動画像のフレームレートでもよいし、それより小さいレートでもよい。撮影画像取得部54は、取得したステレオ画像のデータを画像データ記憶部72に格納する。
奥行き画像取得部56は、画像データ記憶部72からステレオ画像のデータを読み出し、奥行き画像を生成する。奥行き画像は、ステレオカメラの一方の撮影画像に写る被写体の、撮像面からの距離を、当該撮影画像の平面に画素値として表した画像である。ステレオカメラが左右の異なる視点から撮影した画像における視差を利用し、三角測量の原理によって被写体の距離を取得する技術は広く知られているためここでは説明を省略する。
奥行き画像の生成は、ステレオ画像の取得と同じレートで行ってもよいし、それより小さいレートで行ってもよい。奥行き画像取得部56は生成した奥行き画像を、フレーム番号などの識別情報を付与して画像データ記憶部72に順次、格納したうえ、その旨を識別情報とともに対象物検出部60に通知する。なお撮像装置12を単眼のカメラと被写体の距離を取得できるセンサとした場合は、例えばTOF(Time Of Flight)の手法でセンサが生成した奥行き画像をそのまま利用してもよい。
この場合、撮影画像取得部54は、撮像装置12から撮影画像と奥行き画像のデータを取得し、画像データ記憶部72に格納すればよい。奥行き画像の生成にはその他、実用化できるいかなる手法を用いてもよい。なお以後の説明では、ステレオカメラのうち一方が撮影したカラー画像、あるいは単眼カメラが撮影したカラー画像を総称して「撮影画像」と呼ぶことがある。
対象領域設定部58は、画像データ記憶部72に格納された撮影画像に基づき対象領域を設定する。そして当該対象領域を奥行き画像として表す。この奥行き画像は、プレイフィールド20を底面とし所定の高さを有する、対象領域を表す仮想的な立体のうち少なくとも2つ以上の側面と、プレイフィールド20の底面の、撮像面からの距離を、当該撮像装置12の視野平面上の画素値として表した画像である。以後、このような仮想的な奥行き画像を「対象領域画像」と呼ぶ。対象領域画像の作成において、撮影画像のほか、奥行き画像取得部56が生成した、実際の奥行き画像を利用してもよい。対象領域設定部58は、生成した対象領域画像のデータを対象物検出部60に供給する。
対象物検出部60は、奥行き画像が所定レートで生成される都度、画像データ記憶部72から当該データを読み出し、対象領域設定部58から取得した対象領域画像と比較することにより、対象領域内にあるブロックの検出および追跡を行う。仮想的に設定する対象領域を、プレイフィールド20の位置や姿勢に基づき、実世界の撮影画像から生成される奥行き画像と同じ視点からの奥行き画像として表すことで、両画像の画像平面上の位置は対応していることになる。これにより奥行き画像における物の像の、対象領域に対する内外判定を、画素ごとに行える。
そして対象領域の外にある像を処理対象から除外し、さらに対象領域の内部にあるブロックの像をプレイフィールド20の像から分離する。その結果、対象領域内のブロックの像のみを表した奥行き画像を取得できるため、そのようなブロックの存在を検出できるうえ、それを所定レートで繰り返すことにより位置の変化を追跡できる。なお追跡に際しては、ブロックの像を抽出するのに加え、その他の特徴を用いて前のフレームとの連続性を確認することで、別のブロックとの混同を防止してもよい。
ここで利用できる特徴として、撮影画像における像の色やテクスチャなど表面の特徴、エッジ画像から得られる輪郭などの幾何学的特徴、移動量や移動方向など時間方向の特徴、画素値の分布など統計モデルとしての特徴、などを利用できる。ブロックに2次元バーコードなどのマーカーを貼付したり、姿勢センサを取り付けたりして、それらから得られる情報と統合することにより、さらに追跡精度を高めてもよい。
ブロックが対象領域に新たに入ったことを検出したとき、対象物検出部60はその旨を、当該ブロックの位置情報とともにラベリング部62に通知する。また対象物検出部60は、検出したブロックの追跡結果、すなわちフレームごとの位置情報を、当該ブロックが対象領域を出るまで出力データ取得部70に順次、供給する。
ラベリング部62は、検出されたブロックに対し、その動きや位置などに応じて出力すべきデータを決定づける「ラベル」を付与する。「ラベル」とは典型的には物の名前である。例えばブロックに「クルマ」という名前をつけることにより、ブロックの動きに反応して車が走っているような効果音を発生させたり表示を行ったりする。2つのブロックにそれぞれ「ヒーロー」と「怪獣」という名前をつけることにより、それらのブロックが交錯する動きに反応して、戦闘中であることを表現する効果音を発生させたり表示を行ったりする。
ただし「ラベル」は物の名前に限らない。ゲームの駒として使用する場合など、ブロックを何らかの物に見立てる必要がない状況においては、「ラベル」を識別番号などとしてもよい。いずれにしろ対象物情報記憶部64には、「ラベル」と、その位置や動きに応じて出力すべきデータとを対応づけた出力内容情報を格納しておき、ラベリング部62は、そのうちの1つのラベルを、検出されたブロックに付与する。付与するラベルは、ブロックの形状、サイズ、色、模様などの外観上の特徴に基づき決定してもよいし、ユーザがその場で指定してもよい。
前者の場合、対象物情報記憶部64にはさらに、ブロックの外観上の特徴とラベルとを対応づけたブロック特徴情報を格納しておく。ラベリング部62は、画像データ記憶部72から読み出した撮影画像を用いて、対象物検出部60から通知された位置に存在するブロックの外観上の特徴を取得する。そしてブロック特徴情報を参照することにより、当該特徴に対応づけられたラベルを特定し付与する。後者の場合、ユーザがその場で言った名前や入力装置14を用いて入力した名前をラベルとして付与する。ラベリング部62は、ブロックに付与したラベルと、付与した時点でのブロックの位置情報とを出力データ取得部70に通知する。
音声認識部66は、マイクロフォン15が取得したユーザの音声を言葉として認識する。音声認識の技術としては様々な手法が広く実用化されており、ここではそのいずれを採用してもよい。認識した言葉の情報がラベリング部62に通知されることにより、その言葉、ここでは物の名前などが、ブロックにラベルとして付与される。
音声認識部66はさらに、認識した言葉の情報を出力データ取得部70にも通知することで、言葉に反応して何らかの出力がなされるようにしてもよい。例えば新たなブロックを対象領域内に置いたうえ、ユーザが「クルマ」と言うと、当該ブロックに「クルマ」のラベルが付与されるとともに、エンジンをふかす音が出力されるようにする。音声に反応した出力は、ラベル付与以外のタイミングでもよい。さらに、音声認識部66が認識した言葉をボイスコマンドとして利用してもよい。この場合、音声認識部66が当該言葉の情報を入力情報取得部52に通知することで、処理の開始、終了等、各種ユーザ操作を入力装置14からの入力と同等に受け付ける。
出力データ取得部70は、ラベル付けがなされたブロックの位置や動きに応じて、出力すべき音声や画像のデータを取得し、スピーカー18や表示装置16へ出力する。そのため出力データ取得部70は、対象物検出部60から対象領域内にあるブロックの位置情報を継続して取得しつづけ、そのブロックのラベルや動きなどに応じた出力データを、対象物情報記憶部64の出力内容情報に基づき決定する。出力内容情報は基本的に、ブロックのラベルと、そのブロックの位置、動き、他のブロックとの位置関係などに課した条件と、当該条件を満たしたとき出力すべき音声のデータや画像のデータと、を対応づけた情報である。
出力内容情報に設定された条件が満たされたとき、出力データ取得部70が、出力すべきデータをスピーカー18および表示装置16に適宜供給することにより、音声が出力されたり表示画像が更新されたりする。出力内容情報には、出力データとして音声や画像のデータを対応づけるほか、なすべき情報処理を記述したプログラムを対応づけてもよい。この場合、出力データ取得部70は、設定された条件が満たされたら当該情報処理を実行し、その結果生成した音声や画像のデータを、スピーカー18や表示装置16に出力してもよい。なお出力すべき音声や画像のデータ、実行すべきプログラム、表示に用いるオブジェクトモデルのデータなども対象物情報記憶部64に格納しておく。
図4は、本実施の形態における対象領域を説明するための図であり、図1の撮影環境における撮影画像100を例示している。ただし点線で示された立体は対象領域102であり、実際の撮影画像には表れない。対象領域設定部58は、撮影画像100からプレイフィールド20の像を抽出し、それを底面とし所定の高さhを有する対象領域102を設定する。高さhは撮像装置12の視野に収まる範囲内で決定し、例えば50cmなどとする。
プレイフィールド20の各辺の長さが既知であれば、画像上で高さhを表す画素数を、プレイフィールド20の辺の長さを表す画素数との比により求められる。プレイフィールド20のサイズが未知の場合も、キャリブレーションにより、被写体の実際のサイズと撮影画像におけるその像のサイズ(画素数)との比の、撮像面からの距離に対する変化を取得しておけば、プレイフィールド20の各頂点の撮像面からの距離に基づき、各位置における高さhを表す画像上の長さが判明する。
同図に示した撮影空間では、撮像装置12の視野に4つのブロック3a、3b、3c、3dが存在し、そのうち2つのブロック3bおよび3cがプレイフィールド20上に置かれている。対象物検出部60は、撮影画像100に対応する奥行き画像のうち、対象領域102の外側にある物の像を除外し、さらに対象領域102の底面、すなわちプレイフィールド20の像を除外することにより、ブロック3c、3bの像のみを残す。これにより、ユーザが意図して置いたブロックのみを効率的に検出したり追跡したりできる。
図5は、対象領域設定部58が生成する対象領域画像の例を模式的に示している。対象領域画像104は上述のとおり、対象領域の底面および側面を奥行き画像として表したものであり、同図の例は、図4で示した対象領域102に対応している。またこの奥行き画像は、撮像面から離れるほど小さい輝度とするフォーマットを有するが、奥行き画像のフォーマットをこれに限る趣旨ではない。
対象領域設定部58は例えば、ブロックが対象領域内に置かれていない状態の撮影画像におけるプレイフィールド20の像の領域を、色情報やマット上に印刷されたマーカなどに基づき抽出し、実際の奥行き画像における対応する領域を特定する。そして当該領域のみからなる奥行き画像を生成し、中間画像とする。さらに上述の手法により所定の高さhの画像上の長さを決定し、撮像装置12から見て左右の側面および奥の側面(背面)を、奥行き画像の形式で中間画像に表すことにより対象領域画像を完成させる。
左右の側面の奥行き方向の位置はプレイフィールド20の左右の辺の奥行き方向の位置と対応させる。背面の位置はプレイフィールド20の奥の辺の位置と対応させる。このように3方の面と底面を規定することにより、下段の説明図106に示すように対象領域の断面(例えば断面108)が規定される。したがって例えば実際の奥行き画像の画素ごとに、撮像面からの距離が同じ位置における断面に対し内外判定を行えば、対象領域外にある画素を特定、除外することができる。
なお実際には、プレイフィールド20と撮像装置12の光軸とのなす角度によって、対象領域の側面がカメラ座標系の各軸と直交しているとは限らない。そこで当該角度を、撮影画像におけるプレイフィールド20の像の形状などに基づき取得することで、プレイフィールド20の面とそれに垂直な面の、カメラ座標系における方向を導出する。これにより、プレイフィールド20から垂直に立ち上がる対象領域の側面および背面を、撮像装置12に対応する視点から描画できる。この場合も画素の内外判定については上述と同様である。
ただし側面の厳密な垂直が要求されない状況にあっては、光軸と垂直な面を対象領域の背面の方向、光軸と平行な面を対象領域の側面の方向、として設定してもよい。また図5はプレイフィールド20が四角形の場合を示しているが、円形や四角形以外の多角形であっても、その断面形状が撮像面からの距離に対して規定できるように側面を形成すれば、その他の処理は同様である。
図6は対象物検出部60が対象領域に存在するブロックの像を抽出する様子を模式的に示している。同図左上は図5で示した対象領域画像104である。右上は、奥行き画像取得部56が取得する奥行き画像110を例示しており、図4で示した撮影画像100と対応している。対象物検出部60は両者を比較し、上述のように画素ごとに対象領域に対する内外判定を行うことにより、対象領域内部の像だけを残す(画像112)。
さらに対象領域の底面、すなわちプレイフィールド20の像と、画像112との差分をとることにより、プレイフィールド20の像を除いたブロックの像のみからなる画像114を取得できる。なお同図は説明のため中間画像である画像112を示しているが、実際には、対象領域の外側の像を除外する処理とプレイフィールド20の像を除外する処理を、画素ごとに同時に実施すれば、一度の走査で画像114を取得できる。
またプレイフィールド20を除外する際、撮影画像のカラー情報を利用し精度を上げてもよい。この場合、プレイフィールド20の色とブロックの色が異なるほど、高い精度でブロックの像を残すことができる。そのため情報処理装置10は初期段階でプレイフィールド20の色を取得し、ユーザに対し用いるブロックの色を制限する通知を行ってもよい。
次に、これまで述べた構成によって実現する情報処理装置10の動作について説明する。図7は情報処理装置10がブロックの検出、追跡、それらの結果に応じた出力を行う処理手順を示すフローチャートである。ここで示す処理は、ユーザが入力装置14などを介して情報処理装置10に処理の開始を要求したときに開始される。また撮影画像である動画のフレームが得られるタイミングを時刻t=0、1、2、・・・としている。
まず初期の時刻t=0において撮影画像取得部54は、撮像装置12が撮影したステレオ画像の取得を開始する(S10、S12)。すると対象領域設定部58は、そのうち一方の撮影画像からプレイフィールド20の像を抽出し、その3辺に側面をつけた立体物を奥行き画像の形式で表すことにより対象領域画像を生成する(S14)。なおプレイフィールド20の像を高精度に抽出し、対象領域画像を正確に生成するため、対象領域画像を生成するまでは対象領域内にブロックを入れないようユーザに通知することが望ましい。ただし事前にプレイフィールド20等の色情報を取得しておいたり、マット等を対象領域画像を生成するための領域とその他の領域に分けておいたりすることにより、ブロックを入れた状態でもプレイフィールド20の抽出を精度よく行える。
対象領域内にブロックのない状態の画像を撮影することにより、撮影環境の明るさやプレイフィールド20の色、模様などを正確に取得しておけば、(1)露出時間やホワイトバランスなどの撮影条件の調整、(2)画像解析中のノイズ除去や画像補正に用いるパラメータの調整、(3)プレイフィールド20の像とその上のブロックの像との分離、といったことも高精度に行える。さらにこのようにシンプルな構図で撮影することにより光源の位置を高精度に推定できる。
これにより、後述するようにブロックを3Dモデルに置き換えて表示する場合であっても、実際の光源の位置を反映した臨場感のあるシェーディングが可能となる。さらに、光の反射の影響などを推定して、ブロックに対する環境光の影響を除外することも可能となる。一方、奥行き画像取得部56は時刻t=0のステレオ画像を用いて、実空間に対応する奥行き画像を生成する(S16)。続いて対象物検出部60は、S14で生成された対象領域画像と、S16で生成された実空間の奥行き画像を上述のように比較することにより、対象領域内に存在するブロックの像を抽出する(S18)。
このとき何らかの像が抽出されたら(S20のY)、それをブロックと認定し、ラベリング部62がラベルを付与する(S22のY、S24)。この処理は上述のように、抽出された像の外観上の特徴に基づきラベリング部62自体が付与するラベルを決定する場合と、ユーザがその場で指定する場合がある。前者は、一度外に出たブロックが再度、対象領域内に入ったときに、以前に付与したラベルを復活させる処理を含む。次に出力データ取得部70は、付与したラベルに対応づけて設定された、何らかの出力をすべき条件を出力内容情報から抽出し、検出したブロックがいずれかの条件を満たすか否かを判定する(S26)。
条件を満たす場合(S26のY)、当該条件に対応づけられた出力データを取得し、スピーカー18や表示装置16から適宜出力する(S28)。ブロックの像が抽出されない場合(S20のN)、および出力内容情報に設定されたいずれの条件をも満たさない場合(S26のN)はそのままの状態を維持する。ユーザから処理の終了要求がない限り(S30のN)、後続の時刻t=1、2、・・・に得られたステレオ画像を用いて、同様の処理を繰り返す(S32、S16〜S28)。
なおt=0では、検出されたブロックは全て新しいブロックとしてラベルを付与したが、以後の時刻では、前の時刻での検出結果と比較し、新たなブロックが検出されたらラベルを付与する(S22のY、S24)。新たなブロックがなければラベル付与の処理をスキップする(S22のN)。ユーザが入力装置14などを介し、処理の終了を要求したら全ての処理を終了する(S30のY)。S18の処理により、図6の画像114のような、ブロックの像のみを表す奥行き画像が、撮影された動画のフレームごとに得られる。当該奥行き画像はブロックの3次元空間での位置を表しているため、その時間変化を追跡することにより、3次元空間での動きや位置に応じた出力を実現できる。
なおこれまでに説明した図では理解を容易にするため、対象領域内にはブロックのみが存在する状態を示していたが、ユーザがブロックを持って動かす態様においては、ユーザの手や腕も対象領域内に存在することが考えられる。このとき、対象物検出部60は手の像も抽出することになるが、ラベルを付与した時点における像を対象として微小時間間隔で位置の変化を追跡することにより、手の有無が処理に与える影響は小さくなる。
例えば、手で把持していないブロックを検出してラベルを付与したら、その後の時間でユーザがそれを把持することにより像の形状が変化しても、位置の連続性やブロック部分の外観上の特徴などから、当該ブロックのラベルを維持したまま追跡が可能である。また形状が変化したことをきっかけとして、手で把持されたことを検出できる。手で把持した状態のブロックを検出し、ユーザの指定などによりラベルを付与した場合は、手とブロックとが連結した状態の像が、当該ラベルに対応づけられるが、例えばその先端の位置をブロックの位置とするなどの位置導出規則を設けることにより、これまでの説明と同様に処理できる。
この場合も、ユーザが途中で手を離すことにより像の形状が変化しても、位置の連続性やブロックの外観上の特徴などから、残ったブロックがラベルを引き継ぐことで、継続した追跡が可能である。また形状が変化したことをきっかけとして、手が離れたことを検出できる。なお、より厳密にブロックの像のみを検出、追跡するために、ユーザの手の像をブロックの像から分離してもよい。例えば色、形状、テクスチャなど人の手の外観上の特徴を対象物情報記憶部64に登録しておき、抽出した像のうち手の像と考えられる部分を除外する。
あるいは腕は、対象領域外にあるユーザの胴体とつながっているため対象領域の内外にまたがっている、という特性を利用し、対象領域の側面または上面で途切れている像を手の像としてもよい。この場合、例えば対象領域の面を基点として連続しているテクスチャまたは輪郭を辿ることで手の像のみを特定し、除外できる。なお対象領域は上面も規定しているため、プレイフィールド20の上方からブロックを入れても、対象領域の高さ以下になった時点で検出/追跡対象となる。
このように、ユーザが把持することによりブロックが中に浮いた状態であっても、対象領域内に存在する限りは検出/追跡対象とすることができる。またブロックの初回登録時は、プレイフィールド20上の所定の位置にブロックを置くよう表示装置16等からユーザに指示を出すことで、当該ブロックの形状等に係る情報を対象物情報記憶部64に正確に登録できる。追跡に失敗した場合も、所定の位置に置き直させるなどの手続きによって再認識するようにすれば、追跡を再開できる。
これらの処理を様々に組み合わせることにより、例えば次に示すような状況を検出できる。ひいては、単純な構成でも状況に応じた多様な情報処理を実現できる。
(1)対象領域に何もないこと
(2)対象領域にブロックのみが置かれていること
(3)対象領域内でブロックがユーザなどにより動かされていること
(4)手のみが対象領域に入った/対象領域から出たこと
(5)手がブロックを把持した/ブロックを放したこと
(6)把持されたブロックが対象領域に入った/対象領域から出たこと
次に上記構成によって実現できる態様の具体例を説明する。図8は、図7のフローチャートのうちS24において、ユーザが声で指定した名前をラベルとして付与する様子を模式的に示している。まず上段に示した対象領域120aのように、ユーザがブロック122を置いたとする。対象物検出部60がブロック122の像を抽出することにより、対象領域内にブロックが存在することおよびその位置が特定される。そこで対象物検出部60は例えばテーブル124に示すように、検出したブロックに識別番号「00」を付与するとともにその位置情報(x0,y0,z0)を対応づけてラベリング部62に通知する。
なおここで表す位置情報は例えば、ブロックの像を表す領域の重心位置を、画像上の位置座標と撮像面からの距離z0とで表したものでもよいし、当該画像上の位置座標を距離z0を用いて3次元空間に逆射影変換して得た、ワールド座標系における位置座標でもよい。また重心位置に限らず、像全体の位置を画像で表したものでもよいし、像に外接する四角形の位置およびサイズなどでもよい。位置座標に加え、色やサイズなどの特徴情報を対応づけてもよい。厳密にはブロック122は、対象領域外から持ち込まれ図示する位置に置かれるため、その間、対象物検出部60はテーブル124の位置情報を更新していく。
またブロック122が置かれず動かされつづけている場合も、位置情報を随時更新する。ここでユーザが、ブロック122へのラベルとして「CASTLE(城)!」と言ったとすると、音声認識部66はその言葉をラベリング部62に通知する。そしてラベリング部は、テーブル126に示すように、対象物検出部60から通知されたテーブル124の情報に、さらに「CASTLE」というラベルを対応づける。そして当該テーブル126の情報を、出力データ取得部70に通知する。
続いてユーザが、下段に示した対象領域120bのように、ブロック128を置いたとする。この場合も対象物検出部60がその像を抽出することにより、対象領域内にブロック122以外のブロックが存在することおよびその位置が特定される。そこで対象物検出部60は、例えばテーブル130に示すように、検出したブロックに識別番号「01」を付与するとともにその位置情報(x1,y1,z1)を対応づけてラベリング部62に通知する。ここで通知する情報は新たに検出されたブロックに係るもののみでもよい。
ここでユーザが、ブロック128へのラベルとして「DRAGON(ドラゴン)!」と言ったとすると、音声認識部66はその言葉をラベリング部62に通知する。そしてラベリング部は、テーブル132に示すように、対象物検出部60から通知された情報に、さらに「DRAGON」というラベルを対応づける。そして当該テーブル132の情報を、出力データ取得部70に通知する。このような構成により、任意の形状を有するブロックであっても、ユーザが見立てたい物の名前を言うのみで、情報処理装置10側でそのように認識することができる。
出力データ取得部70はテーブル132のような構造の情報を保持し、そのうちの位置情報を、対象物検出部60が実施している追跡結果に応じて更新する。これにより、検出されたブロックのラベルに対し設定された、何らかのデータを出力すべき条件を満たすか否かを監視できる。ブロックのいずれかが対象領域から出たことが対象物検出部60により検出されたら、出力データ取得部70はテーブルから該当するブロックのエントリを削除することで、データ出力のための監視対象から除外する。
図9は、図7のフローチャートのうちS28において、ラベルが付与されたブロックが所定の条件を満たすことにより音声が出力される様子を模式的に示している。図示した例は、図8で示した「CASTLE」および「DRAGON」のラベルに対し、下表のような出力内容情報が対象物情報記憶部64に格納されている場合を想定している。
まず図9の(a)は、「DRAGON」のブロックをユーザが上下に振っている様子を示している。このとき上に示した出力内容情報の2行目に記載された条件、すなわち「DRAGON」が「上下方向に振動」している状況を満たしたとする。すると出力データ取得部70は、出力すべき音声として設定されている「羽ばたき」の音声データをスピーカー18から出力する。なお「上下方向の振動」は、実際には振動回数、振動周波数、振動方向など、より詳細な基準を設けてよい。これにより、あたかもドラゴンが飛んでいるような状況を演出できる。
図9の(b)は、ユーザが「DRAGON」のブロックを「CASTLE」のブロックに近づけている様子を示している。そして上に示した出力内容情報の3行目に記載された条件、すなわち「DRAGON」と「CASTLE」の距離がしきい値以下である状況を満たしたとする。すると出力データ取得部70は、出力すべき音声として設定されている「HELP(助けて)!」と叫ぶ人の音声データをスピーカー18から出力する。なお実際には距離のしきい値として具体的な数値を設定する。また、近づく方向に対し条件を設定してもよい。これにより、ドラゴンの襲来により城の中にいる人が助けを求めているような状況を演出できる。
図9の(c)は、ユーザが「FIRE DRAGON(ドラゴン撃て)!」と言った様子を示している。このとき上に示した出力内容情報の4行目に記載された条件を満たしているとして、出力データ取得部70は、出力すべき音声として設定されている「咆哮」の音声データをスピーカー18から出力する。この処理は「DRAGON」のブロックの位置や動きとは別の、ユーザによる音声をきっかけにしているが、「DRAGON」のブロックが存在することが前提のため、上記の表では「ラベル」を「DRAGON」としている。このようにユーザの音声など各種入力情報に基づいても効果音などを発生させることにより、直感的な動作に基づく様々な演出を実現できる。
図10は、図7のフローチャートのうちS28において、ラベルが付与されたブロックが所定の条件を満たすことにより画像が表示/更新される様子を模式的に示している。この図は、図1で示したのと同様の配置で表示装置16、撮像装置12、プレイフィールド20が含まれる実空間を、撮像装置12や表示装置16と正対する方向から見た様子を示している。また図示した例は、図8で示した「CASTLE」および「DRAGON」のラベルに対し、下表のような出力内容情報が対象物情報記憶部64に格納されている場合を想定している。
上表の場合、「DRAGON」および「CASTLE」のブロックが対象領域内に存在することを条件としている。したがって対象領域に入ったブロックに「DRAGON」、「CASTLE」のラベルが付与された時点から、当該ブロックが対象領域の外に出るまでの期間はすべて条件に合致していることになる。そこで出力データ取得部70は、各ラベルに対応づけられた「DRAGON MODEL」、「CASTLE MODEL」の3Dモデルのデータを取得し、表示画像として描画する。撮影画像における像からブロックの前後の向きを特定できる場合は、描画するオブジェクトの向きに反映させてもよい。
また上表のように「描画位置」を、撮影画像における像の位置から「左右反転」させることにより、図示するように、各ブロックに対応する3Dオブジェクトが鏡に映っているような表示を実現できる。本実施の形態では各時刻の奥行き画像を生成しているため、奥行き方向の位置を含めた3次元空間でのブロックの位置を表示画像に正確に反映させられる。したがって出力データ取得部70は、実空間でのブロックの位置の変化に対応するように、表示画像上の3Dオブジェクトが移動する動画像を表示できる。
結果として、実空間のブロックを動かすことによって、表示画像上の仮想空間におけるオブジェクトを動かすことができる。また上記の音声出力の場合と同様、個々のブロックの動きや距離、ユーザの声などに応じて、画像に何らかの変化を生じさせてもよい。さらに音声出力と組み合わせることにより、より臨場感のある表現が可能となる。なお仮想世界を表示するばかりでなく、実空間に近い画像を表示してもよい。例えば撮像装置12による撮影画像を左右反転させた画像を表示してもよい。
あるいは、そのような撮影画像のうち対象領域内にあるブロックの像のみに2D、または3Dのオブジェクトモデルを重ねて表示してもよい。これにより、ブロックが多数存在する場合などに、どのブロックを何に見立てたかをユーザが容易に把握できる。このように、ブロックをメインとして遊ぶ場合の参考情報として画像表示を利用することもできる。同様に、ユーザがブロックを把持したら、表示上のブロックが光っているような画像加工を行うなど強調表示してもよい。
また対象領域に入っていないブロックも含め撮影画像全体を表示させ、対象領域に入ったときのみ画像上で光らせたり色を変化させたりして強調表示してもよい。把持したブロックや対象領域に入れたブロックが強調表示されることにより、それらの動作に対する情報処理装置10の反応を確認することができ、ユーザは自分が着目しているブロックが情報処理装置に認識されているという安心感をもって、以後の作業を進めることができる。これらの態様も、上表のような出力内容情報に各条件とそれに対応してなすべき画像加工の内容などを記述しておけば、容易に実現できる。
以上、述べた本実施の形態によれば、ユーザが実物体を動かして遊ぶような環境において、撮像装置12の視野内に、有限の領域を有するプレイフィールド20を導入する。そして当該プレイフィールド20を底面とする、所定高さの仮想的な立体内の空間を対象領域として設定し、対象領域内にある実物体の像を検出/追跡対象とする。これによりユーザが着目している実物体を容易に特定できる。ユーザにとっては対象領域に入れる、という簡単な動作で、利用する実物体を指定できる。
また、実物体そのものより画像中の「像」に着眼した処理であるため、その場でのラベル付けが可能となる。結果として、全方向から見た実物体の形状を事前に登録するなど、登録作業の複雑な手続きを省略できる。またマーカーが貼付されている物、形状が登録済みの物、といった制限がなく、自由な形状の実物体を用いることができる。また周囲に存在する人や物の像を初期段階で除外するため、撮影画像に写り込んでいても、着目している実物体の像と混同する可能性が低くなり、処理効率および追跡精度の双方を向上させることができる。
さらに対象領域を3次元空間で設定し、奥行き画像に基づき対象領域に対する内外判定を行うため、撮像装置からの奥行き方向の距離を含めた3次元空間での実物体の位置も同時に取得できる。これにより、対象領域内に存在する実物体同士の位置関係も、3次元空間で取得でき、距離や方向といった細かい変数を利用した多様な情報処理や出力が可能となる。さらにマイクロフォンを用いてユーザの声を取得できるようにしたことにより、声によるラベル指定や出力データの制御を実現できる。これにより、幼児などでも簡単に実物体を用いた多様な遊びを行える。また、用いるブロックは内部に回路等を持たない簡素な構造で十分なため安価な導入が可能である。
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
例えば本実施の形態では、プレイフィールド20をマットのように領域全面を占める物としていた。例えば形、サイズ、テクスチャが既知のマットを利用すれば、対象領域の側面の像の方向設定、側面の像の高さ設定、ブロックからの分離、といった処理を効率的かつ精度よく行える。またマットを敷くのみで遊びを開始できるためユーザの手間も軽減される。一方、マットがない場合であっても本実施の形態は実現可能である。
すなわちプレイフィールドは、ブロックが置かれる面を構成するとともに、処理対象の空間を規定するための平面領域であり、情報処理装置10がそれを認識できれば、床やテーブルなど広い平面上の一部、または全体の領域であってもよい。当該一部の領域を、マットを用いず指定する例として、実空間を撮影した画像を表示装置16に表示させ、ユーザが当該画面上で領域を指定するようにしてもよい。例えばユーザは、床やテーブルなどブロックを置く面の一点を画面上で指定する。それに応じて情報処理装置10は、当該一点を中心とする所定半径の円あるいは多角形を、プレイフィールドとして決定する。
またマットに代えて、プレイフィールドの頂点としたい位置にブロックなど所定の物を置くことによりプレイフィールドを指定してもよい。この場合、情報処理装置10は、頂点を結んでできる線に囲まれた領域をプレイフィールドとして決定する。頂点の指定は上述のように、表示させた撮影画像における位置指定の入力によって行ってもよい。あるいはブロックを置く代わりに、ユーザが頂点の位置を指で示しながら「ここ」など、所定の言葉を発したとき、当該位置を頂点の位置として受け付けてもよい。この場合、ユーザの様子を撮影しながら、マイクロフォン15を介して声を取得することにより、「ここ」と言った時点で指が示している位置を撮影画像から取得すればよい。紐などで囲んだ領域をプレイフィールド20としてもよい。このような態様によって、場所や状況を選ぶことなく実物体を用いた遊びなどを開始できる。
またプレイフィールドは平面に限らず、場所によって高さが異なる構造を有していてもよい。図11は場所によって高さが異なるプレイフィールドの外観例を示している。プレイフィールド150は、図示するように場所によって厚さの異なる1枚のマットでもよいし、様々な厚さのマット状の物を連結したものでもよい。あるいはさらに複雑な、市街や自然の風景を模したジオラマなどでもよい。この場合、対象領域画像を生成する過程で、プレイフィールド150のみを撮像してその凹凸を奥行き画像として取得する。
そしてそれに基づき対象領域画像を本実施の形態と同様に生成する。撮像装置12をプレイフィールド150の直上に移動させて撮影することにより、より正確にプレイフィールドの場所と厚さの関係を取得してもよい。この場合、そのように撮影して得られる奥行き画像を、運用時の撮像装置12の位置に対応する視点から見た状態に座標変換することにより、対象領域画像の底面領域を表してもよい。これにより、プレイフィールド150とその上に置かれたブロックとを、上述した本実施の形態と同様に分離できる。また、凹凸が時間によって変化するプレイフィールド150であっても、変化する都度、対象領域画像を作成し直すことにより、ブロックの像の抽出は同様に行える。
また本実施の形態ではプレイフィールドを1つとしていたが、複数のプレイフィールドを設け、それぞれに対し同様の処理を行ってもよい。例えば複数のユーザを複数のプレイフィールドに振り分け、各ユーザは自分に割り当てられたプレイフィールド上でのみ作業するようにする。情報処理装置10が、ユーザとプレイフィールドの対応情報を記録しておけば、撮像装置の視野にある腕がどのユーザのものであるかを特定しなくても、プレイフィールドを介して、その上のブロックの状態とユーザとを対応づけることができる。この態様は、互いのブロックが交錯しない対戦ゲームなどにおいて特に有効である。
1 情報処理システム、 3a ブロック、 10 情報処理装置、 12 撮像装置、 14 入力装置、 15 マイクロフォン、 16 表示装置、 22 CPU、 24 GPU、 26 メインメモリ、 52 入力情報取得部、 54 撮影画像取得部、 56 奥行き画像取得部、 58 対象領域設定部、 60 対象物検出部、 62 ラベリング部、 64 対象物情報記憶部、 66 音声認識部、 70 出力データ取得部。

Claims (13)

  1. 撮像装置の視野に存在する物体の、撮像装置からの距離を、撮影画像平面に画素値として表した奥行き画像を取得する奥行き画像取得部と、
    前記視野内の空間に3次元の対象領域を仮想的に設定し、前記撮像装置と同じ視点から見た前記対象領域の画像を、前記奥行き画像と同じ形式で生成する対象領域設定部と、
    前記奥行き画像と前記対象領域の画像を比較することにより、前記奥行き画像のうち前記対象領域内にある物の像を抽出する対象物検出部と、
    抽出結果に基づき画像および音声の少なくともいずれかのデータを出力する出力部と、
    を備えたことを特徴とする情報処理装置。
  2. 前記対象領域設定部は、実空間において設定された2次元の領域を底面とし、所定の高さを有する仮想的な立体の内部の領域を前記対象領域とすることを特徴とする請求項1に記載の情報処理装置。
  3. 前記対象領域設定部は、実空間において敷かれたマットを前記2次元の領域とすることを特徴とする請求項2に記載の情報処理装置。
  4. 前記対象領域設定部は、前記対象領域の境界を表す面のうちの一部を前記奥行き画像と同じ形式で表した画像を前記対象領域の画像として生成することを特徴とする請求項1から3のいずれかに記載の情報処理装置。
  5. 前記奥行き画像取得部は、撮影中の動画像の各フレームに対応する奥行き画像を取得し、
    前記対象物検出部による像の抽出により前記対象領域内に新たに物が入ったことが検出されたら、当該物の像に対し、出力するデータを決定づけるラベルを付与するラベリング部をさらに備えたことを特徴とする請求項1から4のいずれかに記載の情報処理装置。
  6. ユーザが発した音声信号をマイクロフォンから取得しその言葉を認識する音声認識部をさらに備え、
    前記ラベリング部は、前記対象領域内に物を入れると共にユーザが発した物の名前を、当該物のラベルとして付与することを特徴とする請求項5に記載の情報処理装置。
  7. 前記出力部は、前記対象物検出部が抽出した像に付与されたラベルに対応づけて設定された条件を満たしたとき、当該条件に対応づけて設定されたデータを出力することを特徴とする請求項5に記載の情報処理装置。
  8. ユーザが発した音声信号をマイクロフォンから取得しその言葉を認識する音声認識部をさらに備え、
    前記出力部は、前記対象物検出部が抽出した像に付与されたラベルに対応づけて設定された言葉をユーザが発したとき、当該言葉に対応づけられたデータを出力することを特徴とする請求項7に記載の情報処理装置。
  9. 前記奥行き画像取得部は、撮影中の動画像の各フレームに対応する奥行き画像を取得し、
    前記対象物検出部は、各フレームに対応する抽出結果を像ごとに管理することにより当該像の動きを追跡し、
    前記出力部は、追跡結果が、当該像の動きに対し課せられた条件を満たしたとき、当該条件に対応づけて設定されたデータを出力することを特徴とする請求項1から4のいずれかに記載の情報処理装置。
  10. 前記出力部は、前記対象物検出部による抽出結果に基づき、前記対象領域内にある物の3次元空間での位置を特定し、前記対象領域内にある複数の物の位置関係が所定の条件を満たしたとき、当該条件に対応づけて設定されたデータを出力することを特徴とする請求項9に記載の情報処理装置。
  11. 撮像装置の視野に存在する物体の、撮像装置からの距離を、撮影画像平面に画素値として表した奥行き画像を取得しメモリに格納するステップと、
    前記視野内の空間に3次元の対象領域を仮想的に設定し、前記撮像装置と同じ視点から見た前記対象領域の画像を、前記奥行き画像と同じ形式で生成するステップと、
    前記メモリから読み出した前記奥行き画像と前記対象領域の画像を比較することにより、前記奥行き画像のうち前記対象領域内にある物の像を抽出するステップと、
    抽出結果に基づき画像および音声の少なくともいずれかのデータを出力するステップと、
    を含むことを特徴とする、情報処理装置による情報処理方法。
  12. 撮像装置の視野に存在する物体の、撮像装置からの距離を、撮影画像平面に画素値として表した奥行き画像を取得する機能と、
    前記視野内の空間に3次元の対象領域を仮想的に設定し、前記撮像装置と同じ視点から見た前記対象領域の画像を、前記奥行き画像と同じ形式で生成する機能と、
    前記奥行き画像と前記対象領域の画像を比較することにより、前記奥行き画像のうち前記対象領域内にある物の像を抽出する機能と、
    抽出結果に基づき画像および音声の少なくともいずれかのデータを出力する機能と、
    をコンピュータに実現させることを特徴とするコンピュータプログラム。
  13. 撮像装置の視野に存在する物体の、撮像装置からの距離を、撮影画像平面に画素値として表した奥行き画像を取得する機能と、
    前記視野内の空間に3次元の対象領域を仮想的に設定し、前記撮像装置と同じ視点から見た前記対象領域の画像を、前記奥行き画像と同じ形式で生成する機能と、
    前記奥行き画像と前記対象領域の画像を比較することにより、前記奥行き画像のうち前記対象領域内にある物の像を抽出する機能と、
    抽出結果に基づき画像および音声の少なくともいずれかのデータを出力する機能と、
    をコンピュータに実現させるコンピュータプログラムを記録したことを特徴とするコンピュータにて読み取り可能な記録媒体。
JP2014207406A 2014-10-08 2014-10-08 情報処理装置および情報処理方法 Pending JP2016076167A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014207406A JP2016076167A (ja) 2014-10-08 2014-10-08 情報処理装置および情報処理方法
US15/516,182 US10279249B2 (en) 2014-10-08 2015-08-27 Information processing device and information processing method
PCT/JP2015/074168 WO2016056317A1 (ja) 2014-10-08 2015-08-27 情報処理装置および情報処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014207406A JP2016076167A (ja) 2014-10-08 2014-10-08 情報処理装置および情報処理方法

Publications (1)

Publication Number Publication Date
JP2016076167A true JP2016076167A (ja) 2016-05-12

Family

ID=55652941

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014207406A Pending JP2016076167A (ja) 2014-10-08 2014-10-08 情報処理装置および情報処理方法

Country Status (3)

Country Link
US (1) US10279249B2 (ja)
JP (1) JP2016076167A (ja)
WO (1) WO2016056317A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018059890A (ja) * 2016-10-07 2018-04-12 萬里科技股▲ふん▼有限公司 二次元の撮影映像に用いられる長さ測定方法
KR20190027863A (ko) 2016-08-04 2019-03-15 주식회사 소니 인터랙티브 엔터테인먼트 정보 처리 장치, 정보 처리 방법, 및 정보 매체

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6712453B2 (ja) * 2015-10-16 2020-06-24 富士フイルム株式会社 拡張現実提供システム及び方法、情報処理装置、並びにプログラム
JP7278795B2 (ja) * 2019-02-21 2023-05-22 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
US11023763B2 (en) * 2019-03-19 2021-06-01 Boston Dynamics, Inc. Detecting boxes
CN111458693A (zh) * 2020-02-01 2020-07-28 上海鲲游光电科技有限公司 直接测距tof分区探测方法及其系统和电子设备
CN112138378A (zh) * 2020-09-22 2020-12-29 网易(杭州)网络有限公司 2d游戏中闪光效果的实现方法、装置、设备及存储介质
US20230241491A1 (en) * 2022-01-31 2023-08-03 Sony Interactive Entertainment Inc. Systems and methods for determining a type of material of an object in a real-world environment
WO2024108528A1 (zh) * 2022-11-25 2024-05-30 毕振名 物理物体和计算机相结合的显示系统及出题系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4331190B2 (ja) 2006-09-21 2009-09-16 株式会社ソニー・コンピュータエンタテインメント ゲーム装置、ゲーム制御方法、及びゲーム制御プログラム
US9082035B2 (en) * 2011-08-29 2015-07-14 Qualcomm Incorporated Camera OCR with context information
JP5791434B2 (ja) * 2011-08-31 2015-10-07 任天堂株式会社 情報処理プログラム、情報処理システム、情報処理装置および情報処理方法
KR101283262B1 (ko) * 2011-10-21 2013-07-11 한양대학교 산학협력단 영상 처리 방법 및 장치
JP5877725B2 (ja) * 2012-01-26 2016-03-08 セコム株式会社 画像監視装置
WO2014064870A1 (ja) * 2012-10-22 2014-05-01 株式会社ソニー・コンピュータエンタテインメント 画像処理装置および画像処理方法
JP2015061579A (ja) * 2013-07-01 2015-04-02 株式会社東芝 動作情報処理装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190027863A (ko) 2016-08-04 2019-03-15 주식회사 소니 인터랙티브 엔터테인먼트 정보 처리 장치, 정보 처리 방법, 및 정보 매체
EP3795226A1 (en) 2016-08-04 2021-03-24 Sony Interactive Entertainment Inc. Information medium
US11567499B2 (en) 2016-08-04 2023-01-31 Sony Interactive Entertainment Inc. Information processing apparatus, information processing method, and information medium
JP2018059890A (ja) * 2016-10-07 2018-04-12 萬里科技股▲ふん▼有限公司 二次元の撮影映像に用いられる長さ測定方法

Also Published As

Publication number Publication date
WO2016056317A1 (ja) 2016-04-14
US10279249B2 (en) 2019-05-07
US20170296913A1 (en) 2017-10-19

Similar Documents

Publication Publication Date Title
WO2016056317A1 (ja) 情報処理装置および情報処理方法
JP6276882B1 (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
TWI469813B (zh) 在動作擷取系統中追踪使用者群組
US9804696B2 (en) User-input control device toggled motion tracking
US20110305398A1 (en) Image generation system, shape recognition method, and information storage medium
US9071808B2 (en) Storage medium having stored information processing program therein, information processing apparatus, information processing method, and information processing system
JP6900575B2 (ja) ゲームプレイを介して環境の詳細データセットを生成する方法およびシステム
CN103517742B (zh) 手动且基于相机的化身控制
US8998718B2 (en) Image generation system, image generation method, and information storage medium
JP2014523258A (ja) 手動およびカメラ・ベースのゲーム制御
US20140045593A1 (en) Virtual joint orientation in virtual skeleton
KR20150086278A (ko) 주체와 객체의 연관
JP2011258158A (ja) プログラム、情報記憶媒体及び画像生成システム
JP2011215968A (ja) プログラム、情報記憶媒体及び物体認識システム
JP2015156131A (ja) 情報処理装置および情報処理方法
JP5536510B2 (ja) プログラム及び画像生成システム
JP2012095884A (ja) ゲーム装置、ゲーム装置の制御方法、及びプログラム
JP2017086542A (ja) 画像変更システム、方法、及びプログラム
WO2021029164A1 (ja) 画像処理装置、および画像処理方法、並びにプログラム
JP5213913B2 (ja) プログラム及び画像生成システム
KR101527188B1 (ko) 단일의 모션센서를 이용한 다중 플레이어 게임 제공 방법
TW201517963A (zh) 環場虛擬射擊遊戲系統
Bilban et al. AN APPROACH TO 3D MODEL APPLICATION WITH KINECT
JP2018195287A (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム