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

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

Info

Publication number
JP6009502B2
JP6009502B2 JP2014154242A JP2014154242A JP6009502B2 JP 6009502 B2 JP6009502 B2 JP 6009502B2 JP 2014154242 A JP2014154242 A JP 2014154242A JP 2014154242 A JP2014154242 A JP 2014154242A JP 6009502 B2 JP6009502 B2 JP 6009502B2
Authority
JP
Japan
Prior art keywords
space
subject
slice
gravity vector
information processing
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
JP2014154242A
Other languages
English (en)
Other versions
JP2016031673A (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
Priority to JP2014154242A priority Critical patent/JP6009502B2/ja
Priority to US14/791,831 priority patent/US10175765B2/en
Publication of JP2016031673A publication Critical patent/JP2016031673A/ja
Application granted granted Critical
Publication of JP6009502B2 publication Critical patent/JP6009502B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/271Image signal generators wherein the generated image signals comprise depth maps or disparity maps

Description

本発明は、撮影画像に基づいた処理を行う情報処理装置、および当該装置が行う情報処理方法に関する。
近年、パーソナルコンピュータやゲーム機などにカメラを搭載し、ユーザの姿を撮像して様々な形で利用することが一般的に行われるようになってきた。例えばテレビ電話、ビデオチャットなど、ユーザの画像を、ネットワークを介してそのまま相手に伝送するものや、画像解析によってユーザの動きを認識してゲームや情報処理の入力情報とするものなどが実用化されている(例えば特許文献1参照)。近年ではさらに、奥行き方向を含む3次元空間における対象物の動きを精度よく検出することにより、より臨場感のあるゲームや画像表現を実現できるようになってきた。
WO 2007/050885 A2公報
多様な物が存在する空間を撮影し、その画像から所望の対象物のみを判別したり動きを追跡したりするには様々な課題が存在する。例えばステレオ画像法や赤外線反射を用いた一般的な位置検出技術では、撮影画像中の像を離散的な点の集合でとらえ、それらの3次元空間での位置を取得する。そのため物がどのような向きに、どのような位置関係で存在するか、といった幾何的、構造的な情報を正確に取得するのが困難な場合がある。結果として、床や壁に接した人の動きに応じて情報処理を行ったり、コンピュータグラフィックスで描画した3次元オブジェクトが、実写した床やテーブルに存在するように画像加工する仮想現実(AR)を実現したりするのに十分な精度が得られないことがある。
本発明はこのような課題に鑑みてなされたものであり、その目的は、3次元空間における対象物の位置検出を高精度に行うことのできる技術を提供することにある。
本発明のある態様は情報処理装置に関する。この情報処理装置は、カメラで撮影した被写体の3次元空間における位置を検出する情報処理装置であって、カメラからの奥行き方向における被写体の距離を画素値として画像平面上に表した奥行き画像を取得する奥行き画像取得部と、奥行き画像の画素を3次元空間に逆射影してなる座標点の、重力ベクトルの方向を基準とした分布に基づき、被写体表面のうち重力ベクトルと所定角度をなす面を表す座標点集合を検出することにより、当該面の位置を特定する空間構造特定部と、面の位置に基づき所定の対象物の位置情報を生成し出力する対象物抽出部と、を備えたことを特徴とする。
本発明の別の態様は情報処理方法に関する。この情報処理方法は、情報処理装置が、カメラで撮影した被写体の3次元空間における位置を検出する情報処理方法であって、カメラからの奥行き方向における被写体の距離を画素値として画像平面上に表した奥行き画像を取得しメモリに格納するステップと、メモリより読み出した奥行き画像の画素を3次元空間に逆射影してなる座標点の、重力ベクトルの方向を基準とした分布に基づき、被写体表面のうち重力ベクトルと所定角度をなす面を表す座標点集合を検出することにより、当該面の位置を特定するステップと、面の位置に基づき所定の対象物の位置情報を生成し出力するステップと、を含むことを特徴とする。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、コンピュータプログラムを記録した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
本発明によると、撮影画像中の対象物の位置や動きに基づく情報処理を高精度に実現することができる。
本実施の形態を適用できる情報処理システムの構成例を示す図である。 本実施の形態における情報処理装置の内部回路構成を示す図である。 本実施の形態における撮像装置と情報処理装置の機能ブロックの構成を示す図である。 本実施の形態における情報処理システムによってなされる情報処理の基本的な手順を示すフローチャートである。 本実施の形態で用いる、ステレオ画像における視差と被写体の奥行き方向の位置の関係を説明するための図である。 本実施の形態で用いる、奥行き画像における画素とワールド座標系における座標点の関係を模式的に示す図である。 本実施の形態において座標点が定義されるワールド座標系と実際の撮影空間との関係を説明するための図である。 本実施の形態において実際にプロットした座標点の様子を例示する図である。 本実施の形態における空間構造特定部の詳細な機能ブロック構成を示す図である。 本実施の形態におけるスライス空間評価部が、座標点をプロットした3次元空間を分割してスライス空間を生成する様子を模式的に示す図である。 本実施の形態におけるスライス空間評価部が水平物を含むスライス空間を抽出する手法を説明するための図である。 本実施の形態において実際の座標点の分布とそれに対し付与されたスコアの分布を例示する図である。 本実施の形態においてカメラがおよそ垂直下向きにある状態における撮影画像と座標点の分布を示す図である。 本実施の形態においてカメラが水平物の方向を向いているときのスコアの分布例を示す図である。 本実施の形態において重力ベクトルの計測誤差により生じる位置ずれの例を示す図である。 座標点の分布を用いて水平物を詳細に特定する手法を説明するための図である。 図4のS16において位置情報生成部の空間構造特定部が行う水平物の特定手順を示すフローチャートである。 本実施の形態において3次元空間における壁の角度を特定する手法を説明するための図である。 本実施の形態において壁の向きを特定するためにスライス空間に付与したスコアの変化例を示す図である。 本実施の形態において壁の向きを特定したあと、その位置を特定する手法を説明するための図である。 本実施の形態において足を対象物とした場合に対象物分離部が足の位置情報を床から分離する様子を例示する図である。
図1は本実施の形態を適用できる情報処理システムの構成例を示す。情報処理システム2は、ユーザ1などの対象物を撮影する2つのカメラを搭載した撮像装置12、撮影した画像に基づき、ユーザの要求に応じた情報処理を行う情報処理装置10、情報処理装置10が処理した結果得られた画像データを出力する表示装置16を含む。情報処理装置10はインターネットなどのネットワークと接続可能としてもよい。
情報処理装置10と、撮像装置12、表示装置16とは、有線ケーブルで接続されてよく、また無線LAN(Local Area Network)などにより無線接続されてもよい。撮像装置12、情報処理装置10、表示装置16のうちいずれか2つ、または全てが組み合わされて一体的に装備されていてもよい。また、撮像装置12は必ずしも表示装置16の上に設置されていなくてもよい。さらに被写体の数や種類は限定されない。
撮像装置12は、それぞれがCCD(Charge Coupled Device)またはCMOS(Complementary Metal Oxide Semiconductor)等の撮像素子を備えた2つのデジタルビデオカメラを既知の間隔で左右に配置した構成を有する。2つのデジタルビデオカメラはそれぞれ、同一空間に存在する被写体を左右の位置から所定のフレームレートで撮影する。以後、このように撮影されたフレームの対を「ステレオ画像」とも呼ぶ。
情報処理装置10は、画像平面およびカメラからの奥行き方向を含む3次元空間における被写体の位置を検出する。検出結果は、被写体の位置や動きを入力情報として用いる後段の処理に利用する。例えば被写体であるユーザ1の手や足の動きに反応する仮想オブジェクトを撮影画像上に描画するようなAR(拡張現実)を実現するのに用いる。あるいはユーザ1の動きをトラッキングしてゲームの画像に反映させたり情報処理のコマンド入力に変換したりしてもよい。このように本実施の形態で得られる被写体の位置に係る情報の使用目的は特に限定されない。
表示装置16は、情報処理装置10が行った処理の結果を、必要に応じて画像として表示する。表示装置16は、画像を出力するディスプレイおよび音声を出力するスピーカを有するテレビであってよく、例えば液晶テレビ、プラズマテレビ、PCディスプレイ等である。上述のとおり情報処理装置10が最終的に実行する処理内容や表示すべき画像はその使用目的によって特に限定されるものではないため、以後は情報処理装置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やスピーカなどの出力装置へデータを出力する出力部36、キーボード、マウス、撮像装置12、マイクロホンなどの入力装置からデータを入力する入力部38、磁気ディスク、光ディスクまたは半導体メモリなどのリムーバブル記録媒体を駆動する記録媒体駆動部40が接続される。
CPU22は、記憶部34に記憶されているオペレーティングシステムを実行することにより情報処理装置10の全体を制御する。CPU22はまた、リムーバブル記録媒体から読み出されてメインメモリ26にロードされた、あるいは通信部32を介してダウンロードされた各種プログラムを実行する。GPU24は、ジオメトリエンジンの機能とレンダリングプロセッサの機能とを有し、CPU22からの描画命令に従って描画処理を行い、図示しないフレームバッファに表示画像を格納する。そしてフレームバッファに格納された表示画像をビデオ信号に変換して出力部36などに出力する。
図3は撮像装置12と情報処理装置10の機能ブロックの構成を示している。図3および後述する図9に示す各機能ブロックは、ハードウェア的には、図2に示したCPU、GPU、RAM、各種プロセッサなどの構成で実現でき、ソフトウェア的にはデータ入力機能、データ保持機能、画像解析機能、描画機能などの諸機能を発揮するプログラムで実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
撮像装置12は第1カメラ13a、第2カメラ13bを含む。各カメラはそれぞれ、既知の幅を隔てた左右の位置から所定のフレームレートで被写体を撮影する。撮影して得られるステレオ画像は情報処理装置10からの要求により一般的な手法で随時、情報処理装置10へ送信される。撮像装置12はさらに、重力加速度を計測する加速度センサ41を含む。加速度センサ41から出力される情報により、実空間の鉛直方向に対する撮像装置12の傾き、ひいては撮影画像が表す像と実空間での水平面との角度の関係を特定する。
情報処理装置10は、撮像装置12からステレオ画像を取得する画像取得部42、ユーザからの指示入力を取得する入力情報取得部44、撮影画像に基づき対象物の位置情報を生成する位置情報生成部46、対象物の位置に基づき必要な処理を行い出力情報を生成する出力情報生成部50、撮像装置12から入力されたステレオ画像および、位置情報生成部46が取得した奥行き画像などの各種中間データを記憶する画像データ記憶部48を含む。
入力情報取得部44は、処理の開始や終了、撮像装置12による撮影以外の手段によるユーザからの指示入力を受け付け、それに応じた処理要求信号をその他の機能ブロックに送信する。入力情報取得部44は、ボタン、キーボード、マウス、トラックボール、タッチパネルなど一般的な入力装置と、当該入力装置になされた操作内容を解釈して処理要求信号を生成するCPU22などの協働により実現する。
画像取得部42は、入力情報取得部44からの要求に従い撮像装置12からステレオ画像等の画像データを取得し、画像データ記憶部48に格納する。取得する画像は出力情報生成部50が後段で実施する処理や出力する情報に応じて様々であってよい。例えば第1カメラ13aが撮影した画像のみを撮影時のフレームレートで取得し、それより低いレートすなわち頻度で第1カメラ13a、第2カメラ13bが撮影したステレオ画像を取得するなどでよい。つまり第1カメラ13aが撮影した画像と第2カメラ13bが撮影した画像の取得レートは独立に設定できるようにしてもよい。
画像取得部42はさらに、ステレオ画像のデータとともに、加速度センサ41による重力加速度の計測結果を取得し、画像データ記憶部48に格納する。画像取得部42は、図2で示した入力部38、入出力インターフェース28、およびCPU22などの協働により実現する。
位置情報生成部46は図2で示したCPU22、GPU24などにより実現し、画像データ記憶部48に格納されたステレオ画像のデータに基づき、被写体の3次元空間での位置を検出する。位置情報生成部46は、奥行き画像取得部52、空間構造特定部54、対象物抽出部56を含む。奥行き画像取得部52は、ステレオ画像を用いて、撮像装置12の視野内に存在する被写体の奥行き方向の位置分布を表す奥行き画像を生成する。被写体の奥行き方向の位置分布は、ステレオ画像法など一般的な技術によって求められる。ここでステレオ画像法は、ステレオ画像を構成する左右の画像上で同一の被写体が写っている位置を特定し、その視差から当該被写体の撮像装置12からの距離を算出する一般的な手法である。
また奥行き画像は、各被写体の撮像装置12からの奥行き方向の距離を、撮影画像平面上の画素値として表した画像である。したがって奥行き画像には、人など主たる被写体のほか、床、テーブル、壁、天井、家具など撮影対象の空間に存在する各種物体の奥行き方向の位置が、その像の形状を伴って表される。なお撮像装置12に奥行き画像を生成する機能を設けてもよい。この場合、画像取得部42が奥行き画像のデータを撮像装置12から取得して画像データ記憶部48に格納し、奥行き画像取得部52がそれを読み出す。
なお被写体の奥行き方向の位置を検出する手法はステレオ画像法に限らない。例えば撮像装置12に、赤外線センサや参照光照射型のカメラなどを設け、被写体に照射した赤外線や参照光の反射時間等を解析することにより被写体の奥行き方向の位置分布を取得し、それに基づき奥行き画像を生成してもよい。いずれの場合も、奥行き画像取得部52は、生成あるいは取得した奥行き画像を空間構造特定部54に供給する。あるいは画像データ記憶部48に格納し、そのデータの識別情報を空間構造特定部54に通知する。
空間構造特定部54は、被写体のうち床、テーブル上面、天井など、実空間で水平面を構成する物を、奥行き画像が表す情報を用いて特定する。具体的には、奥行き画像の各画素を、画素値が表す3次元の位置情報に基づき、仮想の3次元空間に座標点としてプロットする。この際、撮像装置12の加速度センサ41が計測した重力の方向に基づき、3次元空間の水平面を実際の水平面と一致させる。そして当該3次元空間における座標点の重力ベクトル方向の分布に基づき、水平をなす物体の表面を構成する座標点を抽出し、撮像装置12の視野における当該水平な表面の位置および傾きを特定する。以下、水平をなす物体の表面を「水平物」と呼び、重力の方向に垂直な2次元の空間を表す「水平面」と区別する。
撮影画像において床やテーブル上面などの水平物の像がどこに存在するかは、ARを実現する際、描画する3次元オブジェクトを現実世界と融合させるのに重要な情報である。つまり3次元オブジェクトが歩いたり飛来したりする場所が実際の水平物と一致しているほど、実際にそこにいるかのような臨場感のある画像となる。また人の足や手などの動きに応じた情報処理を行う態様においても、それらの情報は有用である。つまり、像が連続しており区別しづらい、床とその上にある足、テーブルとその上に乗せた手、などを、床やテーブルの位置情報を用いて分離することにより、人の動きのみを正確に追跡できるようになる。空間構造特定部54の処理については後に詳述する。
対象物抽出部56は、情報処理の目的に応じた対象物の位置情報を抽出する。上記の例で、テーブル上に飛来する3次元オブジェクトを描画する場合は、空間構造特定部54が特定した情報のうち、テーブル上面の位置情報を抽出する。床に立つユーザの足の動きから、仮想のボールを蹴ったり仮想世界を歩いたりする画像を表示する場合は、床面から分離した足のみの位置情報を抽出する。上述のように、奥行き画像において連続した像として得られる足と床のうち、床を表す画素を除外することにより、足先の微妙な動きも認識できるようになる。このように、対象物抽出部56が抽出する対象は、空間構造特定部54が特定した水平物のいずれかでもよいし、当該水平物を除外した後に残された物でもよい。抽出した位置情報は、画像データ記憶部48に格納するか、出力情報生成部50に直接、供給する。
出力情報生成部50は、図2で示したCPU22、GPU24などにより実現し、位置情報生成部46が生成した、対象物の位置に係る情報に基づき、画像データ記憶部48から読み出した撮影画像にさらに描画処理を施すなど、使用目的に応じた処理を適宜行う。上述のとおりここで行う処理は特に限定されず、入力情報取得部44が受け付けたユーザからの指示や実行するプログラムなどに応じて適宜切り替えてよい。処理の結果得られた画像のデータは、表示装置16に出力され表示される。あるいはネットワークを介して別の装置へ送信してもよい。出力情報生成部50はさらに、被写体の動きに応じた音声データを生成し、スピーカから出力するようにしてもよい。
次に、上記構成によって実現される情報処理システムの動作を説明する。図4は情報処理システム2によってなされる情報処理の基本的な手順を示すフローチャートである。まずユーザが、情報処理装置10の入力情報取得部44に対し処理の開始を指示すると、画像取得部42を介した撮影開始要求により、撮像装置12は被写体の撮影を開始する(S10)。情報処理装置10の画像取得部42は、そのようにして撮影された動画像のフレームデータを順次取得し、画像データ記憶部48に格納する(S12)。このデータには所定のレートでステレオ画像のデータ、および重力ベクトルの方向に係るデータが含まれる。
次に位置情報生成部46の奥行き画像取得部52は、画像データ記憶部48に格納されたステレオ画像のデータを用いて、被写体の奥行き方向の位置分布を画素値とした奥行き画像を生成する(S14)。上述のとおり撮像装置12が奥行き画像を生成する機能を含む場合は、画像データ記憶部48に当該奥行き画像のデータが格納されるため、S14で奥行き画像を生成する代わりに当該データを読み出す。次に位置情報生成部46の空間構造特定部54は、奥行き画像により表される座標点のうち水平物を構成する座標点を特定することにより、床やテーブル等、実際の水平物の位置情報を取得する(S16)。なお床、テーブル、天井などの水平物は、実空間での水平面を定義するとともに、被写空間の大まかな構造を決定づけるものであるため、図4のフローチャートではそれらの位置情報を「空間構造情報」と表記している。
次に位置情報生成部46の対象物抽出部56は、S16の処理で得られた水平物の位置情報に基づき、表示画像の生成に必要な対象物の位置情報を取得する(S18)。上述のとおり対象物は、床やテーブル等、水平物そのものでもよいし、床やテーブル等を分離して得られる、手や足など人の体の一部でもよい。出力情報生成部50は、対象物の3次元空間での位置情報に基づき、使用目的に応じた画像加工処理や画像解析処理などを実施し、必要に応じて処理結果を表す表示画像を生成、出力する(S20)。
ユーザが処理の終了を指示するまで、所定のレートでS12〜S20の処理を繰り返すことにより、対象物の位置や動きに対応する動画像等を出力し続け(S22のN)、処理の終了指示に応じて全ての処理を終了する(S22のY)。なおS20の表示画像出力処理は、S12からS18までの位置検出処理とは独立した周期で行ってよい。例えば表示画像は、撮像装置12が撮影した動画のフレームレートと同等のレートで出力し、位置検出処理はそれより小さいレートで行ってもよい。またS16における空間構造情報の取得処理とS18の対象物の位置情報取得処理の周期も異なっていてよい。例えば撮像装置12が固定であり、水平物も動かないことが明らかな状況においては、S16の処理は初期に一度のみ行うなどでもよい。
次に奥行き画像取得部52が生成する奥行き画像について説明する。ここで長さの単位は記載がない限りメートル等で揃えているものとする。図5はステレオ画像における視差と被写体の奥行き方向の位置の関係を説明するための図である。第1カメラ13a、第2カメラ13bは距離Lを隔てた平行な光軸を有するように設置される。このようなステレオカメラに対し、被写体は奥行き方向に距離Z離れた右端の矢印の位置に存在するとする。
各カメラが撮影した画像の1画素が表す実空間での幅Δxは、距離Zに比例して次のように表される。
Δx=Z×w/W (1)
ここでWはカメラの横方向の画素数、wは距離Zが1のときの実空間の横方向の視野範囲であり視角によって定まる。
距離Lだけ離れた2つのカメラで撮影された同一の被写体は、その画像上でおよそ下記のような画素数上の視差D(画素)を有する。
D=L/Δx=L×(W/w)×(1/Z)=C/Z (2)
ここでCはカメラおよびそのセッティングにより定まる値であり、運用時は定数とみなせる。
ステレオ画像を構成する左右の撮影画像のうち、数画素単位の所定サイズの領域ごとにブロックマッチングを行うなどして視差Dを求めれば、式(2)により、その像に対応する被写体の奥行き方向の位置Zが当該微少領域ごとに得られる。すなわち奥行き画像は、左右いずれかの撮影画像において位置座標(X,Y)に像が表れる被写体の奥行き方向の位置Zを、当該位置座標の画素値として表した画像として取得される。
本実施の形態では、この奥行き画像が有する位置情報を3次元空間における座標点として表し、それを用いて水平物の位置を特定する。そのため奥行き画像を、カメラの視野に基づき3次元のワールド座標系へ逆射影変換する。図6は奥行き画像における画素とワールド座標系における座標点の関係を模式的に示している。
ここで奥行き画像80は第1カメラ13aの視野に対し作成されたとする。図示するように第1カメラ13aの光軸との交差する奥行き画像80の中心を原点としたときの位置座標(X,Y)の画素値がZであるとすると、その画素が表す像のワールド座標系での位置、すなわち第1カメラ13aからの距離がZの平面82上での位置座標は、((Z/Z0)X,(Z/Z0)Y)となる。このようにして奥行き画像における各画素が表す情報(X,Y,Z)は、3次元のワールド座標系における座標点に変換できる。
ここでZ0はカメラの視野(Field of View)によって定まる定数であり、第1カメラ13a固有の値に合わせることにより、ワールド座標系を実空間と一致させることができる。ただし上述した座標変換による((Z/Z0)X,(Z/Z0)Y,Z)の3次元空間は、そのままでは実空間における水平面との対応が規定されない。すなわちカメラの向きが変化しても座標点の分布は影響を受けない。
図7は座標点が定義されるワールド座標系と実際の撮影空間との関係を説明するための図であり、撮影空間を右側から見た様子を示している。同図の例では、撮像装置12は人などの被写体を撮影しているが、その光軸は水平面より下を向いている。この場合、カメラからの距離Zも図示するように下向きの軸を有するため、実空間の水平面と一致しない。このようなことは、撮像装置12の設置状況に依存して発生するほか、ユーザがカメラを把持して自由な方向から被写体を撮影する態様においては定常的に発生し得る。
そこで本実施の形態では、別途、重力ベクトル(図中、「g」と表記)の方向を取得することにより、座標点を重力ベクトルgとそれに垂直な平面がなす3次元空間に対しプロットする。具体的には、撮像装置12の加速度センサ41からの出力値に基づき、奥行き画像が表す(X,Y,Z)の軸と重力ベクトルgとがなす角度を特定し、上述の座標変換後の位置座標をさらに座標変換すればよい。そして重力ベクトルgの軸方向に、それと垂直な平面、すなわち水平面における座標点の分布を探索していくことにより、水平物を形成する座標点を抽出する。
図8はこのようにして実際にプロットした座標点の様子を例示している。同図左側は第1カメラ13aによる撮影画像84である。当該撮影画像84と第2カメラ13bによる撮影画像とを用いステレオ画像法などにより奥行き画像を生成し、その画素を3次元空間に逆射影してなる座標点の分布を略右斜め前から見た状態が画像86である。図示するように画像86に示された座標点は、撮影画像84に写る被写体の表面を表す点集合を構成する。このうち床やテーブル上面など水平物を構成する座標点を、3次元空間を水平方向に分割したときの分布に基づき特定、抽出する。
図9は空間構造特定部54の詳細な機能ブロック構成を示している。空間構造特定部54は、重力方向取得部60、スライス空間評価部62、および平面特定部64を含む。重力方向取得部60は、撮像装置12のセンサ面と重力ベクトルgの方向とがなす角度を取得する。角度のデータは、撮像装置12から送信されステレオ画像のデータと対応づけて画像データ記憶部48に格納されているものを読み出す。ただし角度の取得方法はこれに限らない。
例えば重力方向取得部60は、撮像装置12による撮影画像をリアルタイムに表示装置16に表示させたうえ、重力ベクトルの正しい向きを指定するための矢印を重畳して表示する。ユーザは撮影画像を見ながら入力装置を操作し、実際の重力ベクトルと合致するように、すなわち実空間での下向きを示すように撮影画像上の矢印の方向を変化させ確定させる。重力方向取得部60は確定された矢印の方向に基づき画像平面と重力ベクトルの角度を取得する。あるいは撮像装置12の前でユーザに物を落下させたところを動画撮影し、重力方向取得部60が当該動画を画像解析することにより、画像中、物が落下していく方向を重力ベクトルの方向としてもよい。
取得した角度の情報は、スライス空間評価部62に通知する。スライス空間評価部62は、上述のように奥行き画像を用いて座標点をプロットした3次元空間を、重力ベクトルの軸と垂直な平面、すなわち実空間における水平面を断面として所定の間隔で分割し、複数の分割空間(以後、「スライス空間」と呼ぶ)を生成する。分割面の間隔が小さいほど、スライス空間は面に近くなる。したがって定性的には、そのような薄い空間内に多くの座標点が存在するとき、当該座標点集合は水平物を表しているといえる。スライス空間評価部62は、そのような観点で複数のスライス空間を座標点の数等に基づき評価し、水平物を含むスライス空間を抽出する。
平面特定部64は、スライス空間評価部62が抽出したスライス空間に属する座標点集合を用いて、当該座標点集合が形成する水平物の位置および向きを正確に特定する。スライス空間は、重力方向取得部60が取得した重力ベクトルの軸に垂直に空間を分割したものであるため、原理的には水平物とスライス空間の断面は平行である。一方、重力ベクトルの取得手法によらず、その角度には多少なりとも誤差が含まれることが考えられる。そのためスライス空間評価部62は、スライス空間の厚みを最適化することで、スライス空間の分割面に微小な傾き誤差があっても1つのスライス空間に水平物を構成する座標点集合が入るようにする。そして平面特定部64は、抽出されたスライス空間に属する座標点集合に基づき、正しい水平物の位置と角度を決定する。
図10は、スライス空間評価部62が、座標点をプロットした3次元空間を分割してスライス空間を生成する様子を模式的に示している。同図において奥行き画像106は、テーブルと人の像を、カメラからの距離Zを画素値として表している。奥行き画像106の各画素を、上述した逆射影変換により3次元空間にプロットすることにより座標点集合108が得られる。このとき上述のとおり、重力ベクトルgとそれに平行な平面によって構成される3次元空間に対し、各座標点の位置座標を取得する。
このような3次元空間を重力ベクトルgに垂直な複数の面110a〜110hで分割する。これによりスライス空間A0〜A6が生成される。スライス空間を過度に薄くすると、重力ベクトルgの角度誤差や座標点の位置座標の誤差に起因し、一つの水平物を構成する座標点集合が別のスライス空間に分割されてしまう可能性がある。一方、過度に厚くすると、水平物を含むスライス空間に、それ以外の物の座標点が含まれる可能性が大きくなる。したがって座標点の総数、重力ベクトルgや座標点の位置座標の誤差範囲、求められる位置特定精度、画像の使用目的などに応じて、スライス空間の厚さを最適化しておく。
なお図10では座標点およびスライス空間を模式的に示しているが、実際には座標点の数は数万個のオーダーであり、それに対し数百個単位のスライス空間を生成する。また分割する空間の上限(面110h)および下限(面110a)は、例えば、重力ベクトルgの軸方向で上端および下端にある座標点の位置とする。あるいは全座標点の平均位置を導出し、当該位置から上下方向に実距離で1メートルなど所定距離に設定してもよい。後者の場合、座標点の位置座標に異常値があっても分割空間の無為な広がりを抑えることができる。
図11は、スライス空間評価部62が水平物を含むスライス空間を抽出する手法を説明するための図である。同図左側が、図10で示したような3次元空間における座標点を水平方向から見た分布例110である。スライス空間評価部62は、各スライス空間A0〜A6に属する座標点を数えたうえ、それに基づきスライス空間に所定の規則でスコアを付与する。同図右側の棒グラフは、各スライス空間A0〜A6に付与されたスコアの例を示している。
最も単純には、座標点の数をそのままスコアとする。あるいはカメラから近い座標点ほど高い係数で重み付けをしたうえでその合計をスコアとする。これは、カメラから近い座標点ほどその位置が正確に特定されていることを考慮した計算方法である。すなわちステレオ画像法においては、撮影画像は画素単位でデータを持つため、視差Dも画素単位で得られる。図5を再び参照すると、視差は実空間においてΔx単位で得られるため、奥行き方向の距離が得られる間隔Δzは次のようになる。
Δz=Δx×Z/L=Z×(w/W)×(1/L) (3)
すなわちカメラからの距離Zの分解能は、距離Zの2乗に比例して低下する。したがって重み係数を1/Zとし、次の式でスコアを計算する。
ここでSiはi番目のスライス空間のスコア、Niは当該スライス空間に属する座標点の数、Znは当該座標点のうちn番目の座標点のカメラからの距離Zの値である。このようにすることで、位置の誤差が小さい座標点ほどスコアへの寄与が大きくなり、ひいては水平物の検出精度をより向上させることができる。ただし重み付けはこれに限らず、1画素が表す実空間での幅Δxが距離Zに比例することから重み付け係数を1/Zとしてもよいし、撮影環境によっては、座標点のX座標、Y座標をさらに利用してもよい。また赤外線センサなどステレオ画像法以外の手法で奥行き画像を取得する場合は、用いるセンサの精度特性に応じてスコアの計算方法を適宜決定してよい。
そしてスライス空間評価部62は、そのように付与したスコアに対しあらかじめ設定されたしきい値Th1を用いてしきい値判定を行い、しきい値Th1を越えるスコアが得られたスライス空間を抽出する。図11の例では、スライス空間A3が抽出される。しきい値Th1は座標点の総数などに応じて典型的な値を設定しておくほか、屋内/屋外などの撮影環境、想定される照度などに応じて最適値を準備しておき、実際の状況に応じて適応的に選択してもよい。
例えば床のテクスチャと照度の典型的な組み合わせに対し、いくつかのしきい値を準備しておき、ユーザが、実際の床のテクスチャと照度に近い組み合わせを選択することにより一のしきい値を決定してもよい。同じ部屋で同様の照明でゲームをする場合などは、同一のしきい値を用いることができるため、初期設定で決定したあとは、その値を採用してもよい。
床を検出する場合、図11のスライス空間A0からA6の方向、すなわち分割空間の下限から重力ベクトルgと逆方向にスライス空間のしきい値判定を行っていき、最初にしきい値を超えたスライス空間を検出する。床を検出すれば、それ以外の水平物はその上に存在することが保証されているため、さらに上に探索していき、しきい値を超えるスライス空間を検出する。このとき用いるしきい値は、床を検出するために設定したしきい値と同じでもよいし異なっていてもよい。
定性的には物の表面のテクスチャによって、座標点の位置に含まれる誤差の大きさが異なるため、例えば実際にある物の材質等をユーザが選択し、それに応じたしきい値を設定することにより、検出精度をより高くすることができる。天井が視野に含まれる場合は、床面を含むスライス空間を検出するのと逆の方向、すなわち図11のスライス空間A6からA0のように、重力ベクトルgと同方向にスライス空間のしきい値判定を行っていき、最初にしきい値を超えたスライス空間を検出してもよい。このように対象物によって探索方向を定めることにより、処理効率を向上させることができるとともに、検出した水平物が何であるかを位置に応じて推定することができる。
図12は実際の座標点の分布とそれに対し付与されたスコアの分布を例示している。同図において黒い微小な四角は3次元空間にプロットされた座標点を表し、点線の楕円で囲まれた領域120には、3次元空間の対応する位置にあるスライス空間のスコアを棒グラフで示している。上述のように重力ベクトルと逆方向(図の下から上)に、各スコアをしきい値判定する。このときまず、床に対し設定されたしきい値Th1でしきい値判定することで、矢印122の位置でスライス空間が検出される。次に、テーブルに対し設定されたしきい値Th1’でしきい値判定を継続することにより、矢印124の位置でスライス空間が検出される。この結果、矢印122の位置に床があり、矢印124の位置にテーブルの上面があることを推定できる。
本実施の形態は、重力ベクトルgの角度を取得することにより実空間での水平面を常時認識できているため、撮像装置12のカメラの向きがどのようであっても、同様の手法で水平物を含むスライス空間を抽出できる。その極端な例として、カメラが垂直上向き、あるいは垂直下向きにある場合を考える。図13はカメラがおよそ垂直下向きにある状態における撮影画像と座標点の分布を示している。
この例ではカメラは床の方向を向いているため、撮影画像130における大部分が床の模様を表している。このような場合、奥行き画像の大部分は同じ画素値を有するため、それを3次元空間における座標点としてプロットすると、画像132のように、重力ベクトルgの軸に対し一つの位置に座標点が集中することになる。このことは、カメラを床に向けた場合に限らず、あまり物の置かれていないテーブルの上面や天井に向けた場合も同様となる。このような場合、スコアも、あるスライス空間で突出して高くなる。
図14はこのように、カメラが水平物の方向を向いているときのスコアの分布例を示している。同図の例では、スライス空間A3が当該水平物を含むとしており、その結果、スライス空間A3のスコアが突出している。ここで上述のようにしきい値判定をする場合、画像のノイズや座標点の位置の誤差の関係で偶然、しきい値Th1を越えるスコアを有するスライス空間(図14の例ではスライス空間A1)が出現し、スライス空間A3より早く検出されると、それを床などとして決定してしまう恐れがある。
スコア全体を見た場合、座標点の集中の度合いから、スライス空間A3が水平物を含む確度が高いことは明らかであるが、上述のように方向を定めてしきい値判定をした場合、スライス空間A1が先に検出されることにより床の位置を誤検出したり、スライス空間A1、A3の双方に水平物が含まれるとしてしまったりすることが考えられる。このような場合を含め、水平物を含むスライス空間をより高精度に検出するため、第2のしきい値Th2によるしきい値判定を導入してもよい。
この場合、まずスコアが第1のしきい値Th1を越えるスライス空間を、全てのスライス空間を探索することにより検出する。同図の場合、スライス空間A1およびA3が検出される。次に第2のしきい値Th2を用いたしきい値判定を、第1のしきい値Th1を越えたスライス空間A1、A3に対して実施する。第2のしきい値Th2は、このような極端なスコアを有するスライス空間を検出する目的で設定するため、座標点の総数の80%程度など、高い値を設定する。
そしてしきい値Th2より大きいスコアを有するスライス空間がある場合は、それを水平物を含むスライス空間とし、それ以外の抽出結果を廃棄する。同図の場合、スライス空間A3が最終的に検出される。もしスライス空間A3のようにスコアが突出するスライス空間がなければ、カメラは垂直上向きや下向きではなく、図12で示したように座標点が3次元空間全体に分布していることを意味する。したがって第1のしきい値Th1を用いたしきい値判定で抽出した複数のスライス空間にそれぞれ水平物が存在すると結論づけることができる。
平面特定部64は、このようにして抽出したスライス空間内の座標点の分布をさらに解析することにより、実際の水平物を高精度に特定する。上述のとおりスライス空間は、別途特定した重力ベクトルgに垂直な断面を有するため、その断面はおよそ実空間での水平面と一致する。しかしそれに含まれる僅かな角度誤差であっても、水平物の面積が広いほど、その端での上下方向の位置ずれが大きくなる。結果としてARを実現する場合などに、抽出したスライス空間を基準にすると、描画した3次元オブジェクトと実物の像に不自然な位置ずれが生じてしまう可能性がある。
図15は実際に生じる位置ずれの例を示している。画像136は、白い点で表された座標点の3次元空間での分布をおよそ水平方向から見た状態を表している。ここでスライス空間評価部62が、点線で囲まれたスライス空間138を抽出したとする。一方、実際に水平物を表すと考えられる座標点集合は、抽出されたスライス空間138近傍に連続した帯140として分布するものの、スライス空間138とは微妙に傾きが異なる。結果として、画像136の左端では看過できない程度の位置ずれが生じている。
したがって平面特定部64は、座標点の分布に基づき水平面の傾きを補正することにより、真の水平物を特定する。図16は座標点の分布を用いて水平物を詳細に特定する手法を説明するための図である。まず平面特定部64は、スライス空間評価部62が抽出したスライス空間Aに属する座標点集合142を抽出する。さらにそのうち3つの座標点の組み合わせをランダムに抽出し、それぞれの組み合わせによって形成される三角形T(r)の法線ベクトルn(r)を算出する。ここでrは組み合わせの識別番号であり、組み合わせの抽出数をRとしたとき0≦i≦R−1なる自然数である。そして次の式により、個々の法線ベクトルn(r)を平均したベクトルnaveを、水平物の法線ベクトルとする。
なお平均に組み入れる法線ベクトルn(r)は、所定のしきい値以上の面積を有する三角形T(r)の値のみとすることにより誤差を小さくできる。また法線ベクトルn(r)と重力ベクトルgの軸がなす鋭角が所定のしきい値を越える場合は、当該法線ベクトルn(r)を無効とする。これによりノイズによる異常値や、水平物以外の物を表す座標点の影響を除外することができる。組み合わせの抽出数は、対象のスライス空間に属する座標点の数に応じて決定し、例えば当該座標点の数の半数程度とする。水平物の位置(高さ)は、抽出したスライス空間Aの厚さを2等分する位置Levとしてもよいし、それに属する座標点集合の平均位置としてもよい。このようにして法線ベクトルと位置を決定することにより、水平物の平面を高精度に定義でき、ARなど後段の処理を精密に実施できる。
図17は、図4のフローチャート中、S16において位置情報生成部46の空間構造特定部54が行う水平物の特定手順を示すフローチャートである。まず重力方向取得部60が、重力ベクトルgの方向を取得する(S30)。次にスライス空間評価部62は、奥行き画像を逆射影変換することにより座標点を3次元空間にプロットし、当該空間を重力ベクトルと垂直な平面で所定数のスライス空間に分割する(S32)。そして各スライス空間に属する座標点に基づき、所定の規則でスライス空間にスコアを付与する(S34)。
次にスライス空間評価部62は、スライス空間を所定の方向にしきい値判定していくことにより、しきい値を超えるスコアを有するスライス空間を抽出する(S36)。しきい値は上述のように、想定される対象物のテクスチャ等に応じて切り替えてよい。また第1のしきい値Th1と第2のしきい値Th2により2段階で抽出を行うことにより、カメラが垂直上向きや下向きの状態にあることを座標点の集中の度合いから検出し、その場合はカメラが向いている水平物のみを抽出できるようにしてもよい。
次に平面特定部64は、S36で抽出したスライス空間ごとに、それに含まれる座標点の組み合わせで形成される複数の面の法線ベクトルの平均を水平物の法線ベクトルとし、スライス空間の中心または座標点の平均位置を水平物の位置とすることで、水平物の面を詳細に特定する(S38)。S36で抽出した全てのスライス空間について特定処理が終わるまでS38の処理を繰り返し(S40のN)。全てのスライス空間に対し水平物が特定できたら処理を終了する(S40のY)。
これまで述べた例は、被写体のうち床、テーブル、天井など水平面を構成する物の位置を特定する手法であったが、これを応用して、壁の位置を特定してもよい。水平物は、常に重力ベクトルgと垂直の関係にあるため、微小の補正量を除けばその法線ベクトルは重力ベクトルgから確定できる。一方、壁の向きは部屋の構造などによって自由に設けられるため、その法線ベクトルは、重力ベクトルgと垂直であるという拘束条件を除いて不確定となる。そのため壁の位置を特定するためには、まずその向きを特定する必要がある。
次に述べる手法は、撮像装置12の周囲360°に対し奥行き方向の位置が得られている場合を想定している。例えば撮像装置12を重力ベクトルgの軸周りに一周させながら各方位に対し奥行き画像を生成していき、それを共通の3次元空間に逆射影変換することにより、全方位に対する座標点を得る。このとき魚眼レンズのように画角の広いカメラを利用することにより、一度に広範囲の情報を得ることができ効率がよい。あるいは多視点カメラなど、一度に360°の方位に対し奥行き方向の距離を取得することが可能な装置を利用してもよい。
図18は3次元空間における壁の角度を特定する手法を説明するための図である。図18において示した黒丸、白丸は、撮像装置12の周囲の3次元空間にプロットされた座標点の分布を、重力ベクトルgと同一の視線、すなわち鉛直下向きに見た様子を示している。ここで撮像装置12は白抜きの四角で示した位置160にある。また矩形162の4辺が特定対象の壁であるとする。当然、壁の位置には座標点が分布する。このような環境において壁の角度を特定するため、スライス空間評価部62は、重力ベクトルgと平行、あるいは先に求めた水平物と垂直で、所定の厚さを有するスライス空間を、撮像装置12の位置160を中心に微小角度ずつ変化させて所定個数、配置する。
図中、符号a、a、・・・、a、・・・が付された細長い矩形が、様々な角度におけるスライス空間を表している。ただし図示したスライス空間はその一部であり、実際には所定の基準方向Sとのなす角度θが0≦θ<180°となる範囲で均等に配置する。なお角度θの刻み幅はスライス空間の厚さ、要求される位置特定精度、座標点の数などに応じて決定する。図17で示した処理手順により床などの水平物が正確に特定できていれば、スライス空間a、a、・・・、a、・・・は真の垂直面に設定することができる。
そしてスライス空間a、a、・・・、aのそれぞれについて、それに属する座標点を抽出してスコアを付与する。ただしこの場合は、矩形162で示される部屋の壁の向きを特定するため、スコアの算出手法は水平面の位置を検出する場合とは異なる。具体的には、図示するような矩形の部屋の場合、向かい合う壁の最短距離を表す線分は、両者と垂直に交わる直線上にあることを利用する。
図18の例で、スライス空間aが壁と垂直に交わっているとすると、当該スライス空間aにおいて最も離れた2つの座標点(白丸で示した座標点P1、P2)は、スライス空間aなどその周囲の角度に配置されたスライス空間において最も離れた2つの座標点よりその距離が小さい。同様に、スライス空間aが壁と垂直に交わっているとすると、当該スライス空間aにおいて最も離れた2つの座標点(白丸で示した座標点P3、P4)も、その周囲の角度に配置されたスライス空間において最も離れた2つの座標点よりその距離が小さい。
このように、内部に属する座標点のうち最も離れた2つの座標点の距離が周囲より小さいスライス空間は、壁とおよそ垂直に交わっていると考えられるため、当該スライス空間を抽出すれば壁の法線ベクトルを特定できる。そこで各スライス空間に属する座標点のうち鉛直方向から見て最も離れた2つの座標点の距離をdとしたとき1/dを当該スライス空間のスコアとする。ただし本実施の形態をこれに限る趣旨ではなく、1/dをスコア値としてもよい。また2点の座標点の距離に限らず、スライス空間に属する座標点のうち水平方向で両端近傍にある所定数の座標点の平均位置の距離をスコア算出に用いる距離dとしてもよい。
図19は壁の向きを特定するためにスライス空間に付与したスコアの変化例を示している。同図縦軸に示すように、スライス空間a、a、・・・、a、・・・は、基準方向Sとのなす角度θで定義される。上記の通り、各スライス空間に属する座標点のうち最も離れた2点間の距離dの逆数をスコアとした場合、壁に垂直な角度のスライス空間でスコアが極大となる。同図の例では、スライス空間aおよびaで極大となっている。これらのスライス空間の角度θを取得すれば、上述の原理により、その角度が壁の法線ベクトルと一致することになる。
このようにして法線ベクトルを得たら、当該法線ベクトルと垂直な平面が壁となるため、その位置を特定する。この処理は、重力ベクトルgに垂直な面を水平面として水平物を特定した上述の処理と同様に実現できる。図20は図18で表した座標点の分布に対し壁の向きを特定したあと、その位置を特定する手法を説明するための図である。この図では、図18、19の例で抽出されたスライス空間a、aのうち、スライス空間aの方向θnに法線ベクトルnを有する、向かい合う壁の位置を特定している。
まず水平物を特定する場合と同様、法線ベクトルnと垂直な面で空間を分割することにより、所定数のスライス空間A1〜A8を生成する。ただしこの場合、壁の方向を特定するための処理において、壁上の座標点と想定される2つの座標点(白丸で示した座標点P3、P4)を抽出しているため、法線ベクトルnの軸方向で当該座標点の位置の近傍のみにスライス空間を生成することにより処理効率を上げられる。同図の場合、座標点P3の近傍にスライス空間A1〜A4を、座標点P4の近傍にスライス空間A5〜A8を生成している。
そして属する座標点の数に基づき、所定の規則でスライス空間にスコアを付与し、しきい値を越えるスコアを有するスライス空間を抽出する。このときも床面などの特定と同様に、壁のテクスチャや照度などの条件に応じてしきい値を切り替えることが望ましい。さらに、図16を参照して説明したように、抽出したスライス空間に属する座標点の組み合わせにより形成される複数の面の法線ベクトルを平均することにより、壁の法線ベクトルを正確に求める。壁の位置は抽出したスライス空間の厚さを2等分する位置、あるいはそれに属する座標点集合の平均位置とする。これにより、水平物のみならず壁の面を高精度に特定することができる。
図21は、足を対象物とした場合に対象物抽出部56が足の位置情報を床から分離する様子を例示している。同図左側の画像180は、床に立つ人の足部分の撮影画像から得られる座標点の分布を正面から見た様子を示している。この画像180において、足先は領域182に存在するが、床と連続しているため明確な位置がわからない。同図右側の画像184は、本実施の形態によって床面を特定し、その部分の座標点を除外したものである。このように床面部分の情報を除外することにより、領域186において足先の像が明確に表れ、ひいてはその位置情報が正確に得られる。結果として足先の細かい動きを高精度に追跡できる。
以上述べた本実施の形態によれば、被写体の3次元空間での位置情報を表す奥行き画像を、カメラの視野と対応する3次元空間に逆射影変換して座標点を分布させる。そして当該3次元空間を、別途取得した重力ベクトルの方向と垂直な平面で分割して複数のスライス空間を生成し、それらに属する座標点の分布に基づき、水平面を構成する物の位置を特定する。これにより、単なる点の羅列である座標点分布に、床、テーブル、天井など面を構成している、という情報を与えることができる。またカメラを自由に動かしてもそれらの面を特定しつづけられる。結果として、ARにおける3次元オブジェクトをそれらの位置に合わせて描画したり、人の体をそれらの物から分離して動きを正確に追跡したりすることができる。
スライス空間の厚さを計算条件や撮影条件によって最適化することにより、重力ベクトルの計測誤差や被写体の位置座標の算出誤差があっても、1つのスライス空間で1つの水平物をおよそ包含でき、簡易な評価により水平物に対応するスライス空間を抽出できる。そのようにして抽出したスライス空間に属する座標点に再度着目し、それらが形成する水平面を最終的な検出結果とすることにより、上記のような誤差があっても厳密に水平物を特定できる。また奥行き画像の取得方法やその解像度、あるいは撮影条件が変化しても、しきい値を調整するのみで同様の処理手順を適用できる。さらに、生成技術が十分に確立している奥行き画像を利用するため、導入障壁が低く応答性への影響も最小限に抑えられる。
さらにスライス空間の抽出に際し、2つのしきい値を用いて2段階で判定を行うことにより、カメラの正面に水平物がありそれのみを検出すべき状況を検知し、最も確からしい水平物を特定することができる。また水平面に垂直なスライス空間を配置し、それに対して評価を行うことにより、水平物のみならず部屋の壁の角度や位置も特定する。この際、まず撮像装置12を中心として複数の角度でスライス空間を配置し、各スライス空間において水平方向に最も離れた座標点の距離の近さに基づき、壁の法線方向のスライス空間を抽出する。次に当該法線方向と垂直なスライス空間を配置し、それらに属する座標点の分布に基づき壁の位置を特定する。これにより、水平物のみならず壁の位置に合わせて3次元オブジェクトを描画したり、壁近傍の人の体のみを壁から分離して動きを正確に追跡したりすることができる。
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
例えば本実施の形態では、重力ベクトルの方向に垂直な面で3次元空間を分割することにより、実世界に多く存在する水平な面を検出した。一方、分割面は重力ベクトルに垂直でなくてもよい。つまり重力ベクトルと所定角度の傾きを有する面で3次元空間を分割しスライス空間を生成すれば、本実施の形態と同様の処理手順により、当該傾きを有する平面物体を容易に検出することができる。
2 情報処理システム、 10 情報処理装置、 12 撮像装置、 16 表示装置、 13a 第1カメラ、 13b 第2カメラ、 22 CPU、 24 GPU、 26 メインメモリ、 42 画像取得部、 44 入力情報取得部、 46 位置情報生成部、 48 画像データ記憶部、 50 出力情報生成部、 52 奥行き画像取得部、 54 空間構造特定部、 56 対象物抽出部。

Claims (13)

  1. カメラで撮影した被写体の3次元空間における位置を検出する情報処理装置であって、
    前記カメラからの奥行き方向における被写体の距離を画素値として画像平面上に表した奥行き画像を取得する奥行き画像取得部と、
    重力ベクトルの軸を含む3次元空間に、前記奥行き画像の画素を逆射影することにより座標点を発生させ前記重力ベクトルを基準として前記3次元空間に生成した、所定厚さの複数のスライス空間のそれぞれに属する前記座標点の数を評価することにより、重力ベクトルと所定角度をなす被写体の面を表す座標点集合を検出して、当該面の位置を特定する空間構造特定部と、
    前記被写体の面の位置に基づき所定の対象物の位置情報を生成し出力する対象物抽出部と、
    を備えたことを特徴とする情報処理装置。
  2. 前記空間構造特定部は、重力ベクトルと前記所定角度をなす複数の面で前記3次元空間を分割してなる前記スライス空間のうち、前記被写体の面を表す座標点集合が属するスライス空間を検出することにより、当該面の位置を特定することを特徴とする請求項1に記載の情報処理装置。
  3. 前記空間構造特定部は、各スライス空間に属する座標点を、カメラからの距離に応じた重み付けを行ったうえで合計した値で評価することにより、前記被写体の面を表す座標点集合が属するスライス空間を検出することを特徴とする請求項2に記載の情報処理装置。
  4. 前記空間構造特定部は、前記合計した値が所定のしきい値を超えたスライス空間を、前記被写体の面を表す座標点集合が属するスライス空間として検出し、当該しきい値を、当該面のテクスチャに応じて切り替えることを特徴とする請求項3に記載の情報処理装置。
  5. 前記空間構造特定部は、
    重力ベクトルの軸を中心とした複数の回転角で、当該重力ベクトルと平行な前記スライス空間を生成し、各スライス空間に属する座標点のうち、水平方向に最も離れた座標点の距離に基づき、前記被写体の面のうち重力ベクトルと平行かつ、平行に向かい合う2つの面の法線ベクトルを特定し、
    さらに当該法線ベクトルと垂直な複数の面で前記3次元空間を分割することにより、前記スライス空間を生成し、各スライス空間に属する座標点の数に基づき、前記2つの面を表す座標点集合が属するスライス空間を検出することにより、当該2つの面の位置を特定することを特徴とする請求項1に記載の情報処理装置。
  6. 前記空間構造特定部は、検出した前記座標点集合から複数回抽出した座標点の組み合わせにより形成される複数の面の法線ベクトルの平均を、前記被写体の面の法線ベクトルとすることを特徴とする請求項1から5のいずれかに記載の情報処理装置。
  7. 前記空間構造特定部は、前記カメラに内蔵された加速度センサからの出力信号に基づき、画像平面に対する重力ベクトルの方向を取得することを特徴とする請求項1から6のいずれかに記載の情報処理装置。
  8. 前記空間構造特定部は、表示装置に表示させた撮影画像に対する重力ベクトルの方向を指定するユーザからの入力に基づき、画像平面に対する重力ベクトルの方向を取得することを特徴とする請求項1から6のいずれかに記載の情報処理装置。
  9. 前記空間構造特定部は、ユーザが物を落下させた様子を撮影した動画像を前記カメラから取得し、カメラの視野における物の落下方向に基づき、画像平面に対する重力ベクトルの方向を取得することを特徴とする請求項1から6のいずれかに記載の情報処理装置。
  10. 前記対象物抽出部は、前記被写体の面を表す座標点を除外することにより、当該面に接する対象物の位置情報を生成することを特徴とする請求項1から9のいずれかに記載の情報処理装置。
  11. 情報処理装置が、カメラで撮影した被写体の3次元空間における位置を検出する情報処理方法であって、
    前記カメラからの奥行き方向における被写体の距離を画素値として画像平面上に表した奥行き画像を取得しメモリに格納するステップと、
    重力ベクトルの軸を含む3次元空間に、前記メモリより読み出した前記奥行き画像の画素を逆射影することにより座標点を発生させ前記重力ベクトルを基準として前記3次元空間に生成した、所定厚さの複数のスライス空間のそれぞれに属する前記座標点の数を評価することにより、重力ベクトルと所定角度をなす被写体の面を表す座標点集合を検出して、当該面の位置を特定するステップと、
    前記被写体の面の位置に基づき所定の対象物の位置情報を生成し出力するステップと、
    を含むことを特徴とする情報処理方法。
  12. カメラで撮影した被写体の3次元空間における位置を検出する機能をコンピュータに実現させるコンピュータプログラムであって、
    前記カメラからの奥行き方向における被写体の距離を画素値として画像平面上に表した奥行き画像を取得する機能と、
    重力ベクトルの軸を含む3次元空間に、前記奥行き画像の画素を逆射影することにより座標点を発生させ前記重力ベクトルを基準として前記3次元空間に生成した、所定厚さの複数のスライス空間のそれぞれに属する前記座標点の数を評価することにより、重力ベクトルと所定角度をなす被写体の面を表す座標点集合を検出して、当該面の位置を特定する機能と、
    前記被写体の面の位置に基づき所定の対象物の位置情報を生成し出力する機能と、
    をコンピュータに実現させることを特徴とするコンピュータプログラム。
  13. カメラで撮影した被写体の3次元空間における位置を検出する機能をコンピュータに実現させるコンピュータプログラムであって、
    前記カメラからの奥行き方向における被写体の距離を画素値として画像平面上に表した奥行き画像を取得する機能と、
    重力ベクトルの軸を含む3次元空間に、前記奥行き画像の画素を逆射影することにより座標点を発生させ前記重力ベクトルを基準として前記3次元空間に生成した、所定厚さの複数のスライス空間のそれぞれに属する前記座標点の数を評価することにより、重力ベクトルと所定角度をなす被写体の面を表す座標点集合を検出して、当該面の位置を特定する機能と、
    前記被写体の面の位置に基づき所定の対象物の位置情報を生成し出力する機能と、
    をコンピュータに実現させるコンピュータプログラムを記録したことを特徴とするコンピュータにて読み取り可能な記録媒体。
JP2014154242A 2014-07-29 2014-07-29 情報処理装置および情報処理方法 Active JP6009502B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014154242A JP6009502B2 (ja) 2014-07-29 2014-07-29 情報処理装置および情報処理方法
US14/791,831 US10175765B2 (en) 2014-07-29 2015-07-06 Information processing device, information processing method, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014154242A JP6009502B2 (ja) 2014-07-29 2014-07-29 情報処理装置および情報処理方法

Publications (2)

Publication Number Publication Date
JP2016031673A JP2016031673A (ja) 2016-03-07
JP6009502B2 true JP6009502B2 (ja) 2016-10-19

Family

ID=55179988

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014154242A Active JP6009502B2 (ja) 2014-07-29 2014-07-29 情報処理装置および情報処理方法

Country Status (2)

Country Link
US (1) US10175765B2 (ja)
JP (1) JP6009502B2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9609242B2 (en) * 2015-06-25 2017-03-28 Intel Corporation Auto-correction of depth-sensing camera data for planar target surfaces
CN107436679B (zh) * 2016-05-27 2020-08-07 富泰华工业(深圳)有限公司 手势控制系统及方法
US10388027B2 (en) * 2016-06-01 2019-08-20 Kyocera Corporation Detection method, display apparatus, and detection system
CN107958446B (zh) * 2016-10-17 2023-04-07 索尼公司 信息处理设备和信息处理方法
US10089758B1 (en) * 2017-03-29 2018-10-02 Carestream Health, Inc. Volume image reconstruction using projection decomposition
US10692230B2 (en) * 2018-05-30 2020-06-23 Ncr Corporation Document imaging using depth sensing camera
WO2020037524A1 (zh) * 2018-08-22 2020-02-27 深圳市大疆创新科技有限公司 可移动平台的控制方法、可移动平台及可读存储介质
US10715784B2 (en) * 2018-08-24 2020-07-14 Verizon Patent And Licensing Inc. Methods and systems for preserving precision in compressed depth data representative of a scene
CN111340759B (zh) * 2020-02-17 2024-04-05 江南大学 一种纱线三维模型的外观检测方法
CN111539964B (zh) * 2020-04-02 2023-11-07 浙江科技学院 基于深度图像的植株冠层表面积获取方法、装置、计算机设备和存储介质
CN113643414B (zh) * 2020-05-11 2024-02-06 北京达佳互联信息技术有限公司 一种三维图像生成方法、装置、电子设备及存储介质
CN111998829B (zh) * 2020-10-30 2021-01-29 四川写正智能科技有限公司 一种基于传感器判定读写姿态的方法
CN112686178B (zh) * 2020-12-30 2024-04-16 中国电子科技集团公司信息科学研究院 一种多视角目标轨迹生成方法、装置和电子设备
WO2022201786A1 (ja) * 2021-03-22 2022-09-29 ソニーグループ株式会社 情報処理装置、情報処理方法、及び、プログラム
CN113096151B (zh) * 2021-04-07 2022-08-09 地平线征程(杭州)人工智能科技有限公司 对目标的运动信息进行检测的方法和装置、设备和介质
CN115619750B (zh) * 2022-10-27 2023-09-22 拓微摹心数据科技(南京)有限公司 一种以无冠窦为基准的tavr术中造影投照角度的计算方法
CN115661668B (zh) * 2022-12-13 2023-03-31 山东大学 一种辣椒花待授粉花朵识别方法、装置、介质及设备

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05280941A (ja) * 1992-03-31 1993-10-29 Matsushita Electric Ind Co Ltd 3次元形状入力装置
JP3525896B2 (ja) * 1999-03-19 2004-05-10 松下電工株式会社 3次元物体認識方法および同方法を使用したビンピッキングシステム
US6556199B1 (en) * 1999-08-11 2003-04-29 Advanced Research And Technology Institute Method and apparatus for fast voxelization of volumetric models
JP2002245098A (ja) * 2001-02-16 2002-08-30 Hitachi Ltd 六面体メッシュ生成方法および装置
US8062126B2 (en) 2004-01-16 2011-11-22 Sony Computer Entertainment Inc. System and method for interfacing with a computer program
EP2140919B1 (en) * 2008-06-30 2018-09-05 Nintendo Co., Ltd. Orientation calculation apparatus, storage medium having orientation calculation program stored therein, game apparatus, and storage medium having game program stored therein
JP2010152870A (ja) * 2008-11-25 2010-07-08 Sony Corp 画像処理装置、画像処理方法および画像処理プログラム
JP2012060517A (ja) * 2010-09-10 2012-03-22 Canon Inc 画像処理装置、画像処理方法
JP2013078433A (ja) * 2011-10-03 2013-05-02 Panasonic Corp 監視装置、プログラム
EP2615580B1 (en) * 2012-01-13 2016-08-17 Softkinetic Software Automatic scene calibration
JP6066562B2 (ja) * 2012-01-26 2017-01-25 キヤノン株式会社 計測装置、計測方法及びプログラム
JP6022834B2 (ja) * 2012-07-13 2016-11-09 株式会社日本自動車部品総合研究所 位置検出装置、および位置検出プログラム
JP2014095624A (ja) * 2012-11-09 2014-05-22 Casio Comput Co Ltd 測定装置及び測定方法並びにプログラム
JP6080642B2 (ja) * 2013-03-25 2017-02-15 株式会社ジオ技術研究所 3次元点群解析方法

Also Published As

Publication number Publication date
US10175765B2 (en) 2019-01-08
US20160034040A1 (en) 2016-02-04
JP2016031673A (ja) 2016-03-07

Similar Documents

Publication Publication Date Title
JP6009502B2 (ja) 情報処理装置および情報処理方法
US8624962B2 (en) Systems and methods for simulating three-dimensional virtual interactions from two-dimensional camera images
WO2015122079A1 (ja) 情報処理装置および情報処理方法
CN104380338B (zh) 信息处理器以及信息处理方法
CN108293103B (zh) 活跃发言者位置检测
US9628755B2 (en) Automatically tracking user movement in a video chat application
TWI442311B (zh) 在遊戲中使用三維環境模型
JP5039808B2 (ja) ゲーム装置、ゲーム装置の制御方法、及びプログラム
US20120056982A1 (en) Depth camera based on structured light and stereo vision
CN110291564B (zh) 图像生成设备和图像生成方法
CN104243951A (zh) 图像处理设备、图像处理系统以及图像处理方法
JP2018041277A (ja) 情報処理装置および対象物認識方法
JP6799155B2 (ja) 情報処理装置、情報処理システム、および被写体情報特定方法
EP2395454A2 (en) Image generation system, shape recognition method, and information storage medium
JP5320332B2 (ja) ゲーム装置、ゲーム装置の制御方法、及びプログラム
JP6799154B2 (ja) 情報処理装置および材質特定方法
JP2011215968A (ja) プログラム、情報記憶媒体及び物体認識システム
CN113474816A (zh) 弹性动态投影映射系统和方法
JP6300560B2 (ja) 情報処理装置および情報処理方法
JP2018032111A (ja) 情報処理装置、情報処理システム、操作用オブジェクト、および情報処理方法
Piérard et al. I-see-3d! an interactive and immersive system that dynamically adapts 2d projections to the location of a user's eyes
US11468653B2 (en) Image processing device, image processing method, program, and display device
WO2017054115A1 (zh) 具有增强现实效果的投影方法及系统
JP2017162192A (ja) 画像処理プログラム、画像処理装置、画像処理システム、及び画像処理方法
Rafighi et al. Automatic and adaptable registration of live RGBD video streams

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160729

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160914

R150 Certificate of patent or registration of utility model

Ref document number: 6009502

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250