実施の形態1
図1は本実施の形態における情報処理システムの構成例を示している。この情報処理システムは、対象物8を所定のフレームレートで撮影する撮像装置12、その撮影画像のデータを取得し所定の情報処理を行う情報処理装置10a、および情報処理の結果を出力する表示装置16を含む。情報処理システムにはさらに、情報処理装置10aに対する操作をユーザから受け付ける入力装置が含まれていてもよい。情報処理装置10aはさらに、インターネットなどのネットワークに接続することでサーバなど外部の装置と通信可能としてもよい。
情報処理装置10aと撮像装置12および表示装置16とは、有線ケーブルで接続されてよく、また無線LAN(Local Area Network)などにより無線接続されてもよい。また情報処理装置10a、撮像装置12、表示装置16のいずれか2つ以上を組み合わせて一体的な装置としてもよい。例えばそれらを装備したカメラや携帯端末などで情報処理システムを実現してもよい。あるいは表示装置16を、ユーザが頭部に装着することで眼前に画像を表示させるヘッドマウントディスプレイとし、当該ヘッドマウントディスプレイに、ユーザの視線に対応する画像を撮影するように撮像装置12を設けてもよい。いずれにしろ情報処理装置10a、撮像装置12、表示装置16の外観形状は図示するものに限らない。
このようなシステムにおいて情報処理装置10aは、撮像装置12が所定のフレームレートで撮影した画像のデータを順次取得し、それを解析することにより、対象物8の実空間における位置や姿勢を特定する。対象物8が弾性体など、形状が可変であればその形状も特定する。そして特定した結果に対応するように情報処理を実施し、表示画像や音声のデータを生成して表示装置16に出力する。対象物8の状態に対応させて実施する情報処理の内容は特に限定されず、それによって対象物8も様々であってよい。
例えば対象物8をゲームのコントローラとし、ユーザが把持して動かすことでゲームに対する操作がなされるようにしてもよい。この場合、ゲーム世界を表す画像がコントローラの動きに応じて変化したり、ユーザを写した撮影画像上でコントローラが仮想オブジェクトに置換された画像を表示させたりすることができる。あるいはヘッドマウントディスプレイを装着したユーザの視線に対応する視野で、ユーザの手とインタラクションする仮想オブジェクトを表した画像を当該ヘッドマウントディスプレイに表示させることもできる。
このように対象物8の状態を利用してなされる情報処理については様々に考えられるため、以後は、撮影画像から対象物8の位置、姿勢、形状を効率的かつ詳細に特定する手法に主眼を置き説明する。以後、対象物の位置、姿勢、形状を「対象物の状態」と総称するが、常にその全てを特定する主旨ではなく、少なくともそのうちの1つを必要に応じて特定すればよい。この目的において本実施の形態における撮像装置12は、少なくとも被写空間の偏光画像を撮影する。そして情報処理装置10aは、偏光画像から得られる対象物8の法線情報を取得し、それを利用して対象物8の状態を詳細に特定する。
図2は撮像装置12が備える撮像素子の構造例を示している。なお同図は素子断面の機能的な構造を模式的に示しており、層間絶縁膜や配線などの詳細な構造は省略している。撮像素子110はマイクロレンズ層112、ワイヤグリッド型偏光子層114、カラーフィルター層116、および光検出層118を含む。ワイヤグリッド型偏光子層114は、複数の線状の導体部材を入射光の波長より小さい間隔でストライプ状に配列させた偏光子を含む。マイクロレンズ層112により集光された光がワイヤグリッド型偏光子層114に入射すると、偏光子のラインと平行な方位の偏光成分は反射され、垂直な偏光成分のみが透過する。
透過した偏光成分を光検出層118で検出することにより偏光画像が取得される。光検出層118は一般的なCCD(Charge Coupled Device)イメージセンサやCMOS(Complementary Metal Oxide Semiconductor)イメージセンサなどの半導体素子構造を有する。ワイヤグリッド型偏光子層114は、光検出層118における電荷の読み取り単位、すなわち画素単位、あるいはそれより大きな単位で主軸角度が異なるような偏光子の配列を含む。同図右側には、ワイヤグリッド型偏光子層114を上面から見たときの偏光子配列120を例示している。
同図において網掛けされたラインが偏光子を構成する導体(ワイヤ)である。なお点線の矩形はそれぞれ一主軸角度の偏光子の領域を表しており、点線自体は実際に形成されるものではない。図示する例では、4通りの主軸角度の偏光子が2行2列の4つの領域122a、122b、122c、122dに配置されている。図中、対角線上にある偏光子はその主軸角度が直交しており、隣り合う偏光子は45°の差を有する。すなわち45°おきの4つの主軸角度の偏光子を設けている。
各偏光子はワイヤの方向に直交する方向の偏光成分を透過する。これにより、下に設けた光検出層118においては、4つの領域122a、122b、122c、122dに対応する各領域で、45°おきの4方位の偏光情報を得ることができる。このような4つの主軸角度の偏光子配列をさらに縦方向、横方向に所定数、配列させ、電荷読み出しのタイミングを制御する周辺回路を接続することにより、4種類の偏光情報を2次元データとして同時に取得するイメージセンサを実現できる。
同図に示す撮像素子110では、ワイヤグリッド型偏光子層114と光検出層118の間にカラーフィルター層116を設けている。カラーフィルター層116は、例えば各画素に対応させて赤、緑、青の光をそれぞれ透過するフィルタの配列を含む。これにより、上下に位置するワイヤグリッド型偏光子層114における偏光子の主軸角度とカラーフィルター層116におけるフィルタの色の組み合わせに応じて、偏光情報が色別に得られる。すなわち同一方位かつ同一色の偏光情報が画像平面上で離散的に得られるため、それを適宜補間することにより、方位ごとおよび色ごとの偏光画像が得られる。
また同一色の偏光画像どうしを演算することにより、無偏光のカラー画像を再現することもできる。ワイヤグリッド型偏光子を用いた画像取得技術については、例えば特開2012−80065号公報などにも開示されている。ただし本実施の形態における撮像装置12の素子構造は図示するものに限らない。例えば本実施の形態における対象物の状態の特定には基本的に偏光輝度画像を用いるため、その他の用途でカラー画像が必要なければカラーフィルター層116を省略することもできる。また偏光子はワイヤグリッド型に限らず、線二色性偏光子など実用化されているもののいずれでもよい。あるいは一般的なカメラの前面に主軸角度が変更可能な偏光板を配置した構造としてもよい。
図3は情報処理装置10aの内部回路構成を示している。情報処理装置10aは、CPU(Central Processing Unit)23、GPU(Graphics Processing Unit)24、メインメモリ26を含む。これらの各部は、バス30を介して相互に接続されている。バス30にはさらに入出力インターフェース28が接続されている。入出力インターフェース28には、USBやIEEE1394などの周辺機器インターフェースや、有線又は無線LANのネットワークインターフェースからなる通信部32、ハードディスクドライブや不揮発性メモリなどの記憶部34、表示装置16へデータを出力する出力部36、撮像装置12や図示しない入力装置からデータを入力する入力部38、磁気ディスク、光ディスクまたは半導体メモリなどのリムーバブル記録媒体を駆動する記録媒体駆動部40が接続される。
CPU23は、記憶部34に記憶されているオペレーティングシステムを実行することにより情報処理装置10aの全体を制御する。CPU23はまた、リムーバブル記録媒体から読み出されてメインメモリ26にロードされた、あるいは通信部32を介してダウンロードされた各種プログラムを実行する。GPU24は、ジオメトリエンジンの機能とレンダリングプロセッサの機能とを有し、CPU23からの描画命令に従って描画処理を行い、図示しないフレームバッファに表示画像のデータを格納する。そしてフレームバッファに格納された表示画像をビデオ信号に変換して出力部36に出力する。メインメモリ26はRAM(Random Access Memory)により構成され、処理に必要なプログラムやデータを記憶する。
図4は本実施の形態の情報処理装置10aの機能ブロックの構成を示している。図4および後述する図14、15に示す各機能ブロックは、ハードウェア的には、図3に示したCPU、GPU、各種メモリ、データバスなどの構成で実現でき、ソフトウェア的には、記録媒体などからメモリにロードした、データ入力機能、データ保持機能、演算機能、画像処理機能、通信機能などの諸機能を発揮するプログラムで実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
情報処理装置10aは、撮像装置12から撮影画像のデータを取得する撮影画像取得部50、取得した画像のデータを格納する画像データ記憶部52、撮影画像を利用して対象物の状態を特定する対象物認識部54、および、対象物の状態に基づき出力すべきデータを生成する出力データ生成部56を含む。撮影画像取得部50は図3の入力部38、CPU23などで実現され、撮像装置12から偏光画像などのデータを所定のレートで取得する。
上述のとおり対象物の状態を取得するため、撮影画像取得部50は少なくとも偏光画像を取得するが、情報処理装置10aが実施する情報処理の内容や表示すべき画像によって、無偏光(自然光)の画像データをさらに取得してよい。画像データ記憶部52はメインメモリ26で実現され、撮影画像取得部50が取得した撮影画像のデータを順次格納する。このとき撮影画像取得部50は必要に応じて、カラー画像から輝度画像を生成するなど、後段の処理に必要な画像データも生成して格納する。
対象物認識部54はCPU23、GPU24などで実現され、画像データ記憶部52に格納された画像データを用いて対象物の状態を特定する。本実施の形態では所定の対象物に着目して解析を行うことにより処理を効率化させるとともに、偏光画像から得られる情報の信頼性を高める。具体的には対象物の3次元モデルを登録しておき、偏光画像から時々刻々得られる対象物の法線ベクトルの分布に対応するように3次元モデルの状態を調整していく。
詳細には対象物認識部54は、領域抽出部60、法線分布取得部62、モデルデータ記憶部64、およびモデル調整部66を含む。領域抽出部60は、撮影画像において対象物の像が写る領域を抽出する。登録された3次元モデルにより対象物の形状や特徴量を既知とした場合、一般的なテンプレートマッチングにより領域抽出が可能である。撮影画像としてカラー画像を取得した場合は色の情報も利用できる。
あるいは、3次元の被写空間のうち所定範囲にある物を奥行き画像から特定し、その像を含む領域を抽出してもよい。奥行き画像は被写体の撮像面からの距離を、撮影画像における画素値として表した画像である。奥行き画像は例えば、既知の間隔を有する左右の視点から被写空間を撮影するステレオカメラを撮像装置12に設け、撮影されたステレオ画像における対応点の視差から、各像が表す物の距離を三角測量の原理に基づき算出することによって得られる。
あるいは赤外線などの参照光を被写空間に照射しその反射光を検出する機構を撮像装置12に設け、TOF(Time of Flight)方式で距離を求めてもよい。いずれにしろ奥行き画像の生成には一般的な技術を適用でき、それに応じて撮像装置12の構成を適宜決定してよい。例えばステレオカメラを導入する場合、自然光の画像を撮影する一般的なステレオカメラを、図2で示したような撮像素子構造を有する偏光カメラとは別に設けてもよいし、ステレオカメラの一方あるいは双方を偏光カメラとしてもよい。奥行き画像を用いた場合、向きによって形状が様々に変化する対象物でも、像の領域を比較的精度よく抽出できる。
また一般的な顔検出処理により人の頭部の像の領域を特定するなど、従来実用化されている、対象物に適した抽出手法を適宜採用してよい。さらに、頭部に対する相対的な可動範囲から手の領域を抽出するなど、基準となる像を抽出したあとにそれとの位置関係により本来の対象物の像を抽出してもよい。いずれにしろ本実施の形態では、偏光画像を用いて取得した法線ベクトルの分布と3次元モデルとのフィッティング処理によって、より詳細な情報が得られるため、ここでの領域抽出は比較的粗い分解能でもよい。領域抽出に必要な対象物の基礎データはモデルデータ記憶部64に格納しておく。
法線分布取得部62は、領域抽出部60が抽出した領域の偏光情報に基づき、対象物表面の法線ベクトル分布を取得する。偏光強度の方位に対する振る舞いが被写体からの光の反射角度に依存することを利用して、偏光子の角度変化に対する偏光画像の輝度の変化に基づき被写体表面の法線を求める手法は一般的に知られている。ただし被写体表面の色や材質によって、反射光に含まれる鏡面反射成分と拡散反射成分の割合が異なり、それに応じて偏光特性と被写体の法線との関係が変化する。
そのため従来、観測された偏光を鏡面反射成分と拡散反射成分に分離して評価する手法が様々に研究されてきたが、精度や処理の負荷の観点で課題が多い。本実施の形態では、色や材質が限定的な物体であれば、その表面からの反射光の偏光特性に大きな変化はなく法線が安定的に得られる、という独特の知見に基づき、対象物を限定して法線ベクトルの分布を求める。例えば対象物の色や材質に基づき鏡面反射モデル、拡散反射モデルのどうちらかを選択的に用いる。
また領域抽出部60が抽出する領域情報を利用したり、モデル調整部66による3次元モデルの状態調整の結果を再帰的に利用したりすることにより、反射成分を正確に分離しなくとも法線ベクトルの分布を精度よく取得できるようにする。対象物の色や材質などの基礎データはモデルデータ記憶部64に格納しておく。
モデル調整部66は、対象物を表す3次元モデルを、画像平面に対応するカメラ座標系が設定された仮想的な3次元空間に配置し、その状態を撮影画像に合致するように決定する。具体的には、法線分布取得部62が取得した、対象物の法線ベクトル分布に適合するように、当該3次元モデルを移動させたり回転させたりして位置や姿勢を調整する。またユーザが力を加えるなどして変形可能な物であればその形状も調整する。
法線ベクトルの分布は、対象物のうち撮影画像に結像している面に対して得られるため、個々の法線ベクトルのみならずその集合が表す領域の形状も考慮して調整することにより、撮像装置と対象物の関係を、仮想空間でより正確に再現できる。対象物の3次元モデルのデータはモデルデータ記憶部64に格納しておく。仮想空間におけるオブジェクトとカメラに係る幾何学的な計算については、一般的なコンピュータグラフィクスの技術を応用できる。
出力データ生成部56はCPU23、GPU24、出力部36などで実現し、対象物認識部54が特定した対象物の状態に基づき所定の情報処理を実施して、表示画像や音声など出力すべきデータを生成する。上述したようにここで実施する情報処理の内容は特に限定されない。例えば撮影画像上に、対象物と接するように仮想オブジェクトを描画する場合、出力データ生成部56は画像データ記憶部52から撮影画像のデータを読み出し、対象物認識部54が特定した対象物の状態に対応するようにオブジェクトを描画する。出力データ生成部56は、そのようにして生成した表示画像などの出力データを表示装置16に送信する。
図5は、本実施の形態において対象物認識部54が対象物の法線ベクトルの分布を取得するまでの流れを説明するための図である。まず撮像装置12から取得した撮影画像150には、対象物8を含む被写体が写っている。領域抽出部60はそのうち、対象物8の像の領域を抽出する(矢印a)。同図においては抽出結果を、抽出した領域を白抜きとした画像152で表している。対象物の領域抽出には上述のとおり、対象物の外観に基づく種々の検出処理を実施してもよいし、奥行き画像が表す対象物の位置情報に基づいてもよい。また、それまでの画像フレームで得られた対象物の状態に係る情報を利用してもよい。あるいはそれらを適宜組み合わせてもよい。
次に法線分布取得部62は、抽出された領域を対象として偏光画像を解析し、対象物の法線ベクトルを取得する(矢印b、c)。上述のとおり偏光画像154は、偏光子の複数(例えば4つ)の主軸角度に対しそれぞれ得られている。法線分布取得部62はそれを利用し、偏光方位に対する輝度変化を画素ごとに求め、所定の計算式により当該画素が表す対象物表面の法線ベクトルを取得する。なお領域抽出部60が対象物8の像の領域を求めるのに使用する撮影画像150は、偏光画像154であっても、別途撮影した一般的な画像であってもよい。
偏光画像を利用して被写体の様々な情報を取得する技術は従来、研究が進められている。被写体表面の法線ベクトルを求める方法についても、例えば、Gary Atkinson and Edwin R. Hancock, "Recovery of Surface Orientation from Diffuse Polarization", IEEE Transactions on Image Processing, June 2006, 15(6), pp.1653-1664、特開2009−58533号公報などに開示されており、本実施の形態ではそれを適用してよい。以下、概要を説明する。
まず偏光子を介して観察される光の輝度は、偏光子の主軸角度θpolに対し次の式のように変化する。
ここでImax、Iminはそれぞれ、観測される輝度の最大値、最小値であり、φは偏光位相である。上述のとおり4通りの主軸角度θpolに対し偏光画像を取得した場合、同じ位置にある画素の輝度Iは、各主軸角度θpolに対し式1を満たすことになる。したがって、それらの座標(I,θpol)を通る曲線を、最小二乗法等を用いて余弦関数に近似することにより、Imax、Imin、φを求めることができる。そのように求めたImax、Iminを用いて、次の式により偏光度ρが求められる。
対象物表面の法線は、光の入射面(拡散反射の場合は出射面)の角度を表す方位角αと、当該面上での角度を表す天頂角θで表現できる。また二色性反射モデルによれば、反射光のスペクトルは、鏡面反射と拡散反射のスペクトルの線形和で表される。ここで鏡面反射は物体の表面で正反射する光であり、拡散反射は物体を構成する色素粒子により散乱された光である。上述の方位角αは、鏡面反射の場合は式1において最小輝度Iminを与える主軸角度であり、拡散反射の場合は式1において最大輝度Imaxを与える主軸角度である。
天頂角θは、鏡面反射の場合の偏光度ρs、拡散反射の場合の偏光度ρdと、それぞれ次のような関係にある。
ここでnは対象物の屈折率である。式2で得られる偏光度ρを式3のρs、ρdのどちらかに代入することにより天頂角θが得られる。こうして得られた方位角α、天頂角θにより、法線ベクトル(px,py,pz)は次のように得られる。
このように偏光画像の各画素が表す輝度Iと偏光子の主軸角度θpolとの関係から当該画素に写る対象物の法線ベクトルが求められ、像全体として法線ベクトル分布を得ることができる。ただし上述のとおり、観測された光には鏡面反射成分と拡散反射成分が含まれ、それによって法線ベクトルの算出手法が異なる。本実施の形態では材質や色が既知の物に処理を限定することにより、鏡面反射と拡散反射のうち適切なモデルをあらかじめ選択する。観測された光に他方の成分が含まれていても、同じ対象物の表面であればその割合は安定的と考えられるため、後段の処理として3次元モデルで近似することにより、その誤差の影響を小さくできる。
図6はモデルデータ記憶部64に格納される、対象物の基礎データの構造例を示している。対象物データ160は、識別情報欄162a、形状欄162b、色欄162c、および材質欄162dを含む。識別情報欄162aには対象物を識別する番号を設定する。例えばコントローラを用いるゲームにおいて当該コントローラの状態を取得する必要があるとき、プログラム内で識別番号を指定することにより、対象物認識部54は当該コントローラを対象物として認識する。
形状欄162bには、対象物のモデル形状を指定する。図示する例では「コントローラ」、「手」、「顔」、「眼球」といった物の名称が記載されているが、実際にはそれぞれの物の3次元形状を表すポリゴンモデルなどを作成し紐付けておく。色欄162cおよび材質欄162dには対象物の色および材質を指定する。これらの欄における書式も図示するものに限らず、より詳細なデータとしてもよい。色や材質が箇所によって変化する場合は、色や材質に対応させて位置情報を指定してもよい。
領域抽出部60は、形状欄162bや色欄162cが示す対象物の見かけの形状や色に基づき、撮影画像から対象物の像の領域を抽出できる。また対象物データ160で指定された情報と直接照合するばかりでなく、形状欄162bで示される物の属性に対し利用できるテンプレート画像や特徴量データを紐付けておき、マッチング処理により領域を抽出してもよい。
法線分布取得部62は、色欄162cおよび材質欄162dが示す対象物の色や材質に基づき、鏡面反射モデルを用いるか拡散反射モデルを用いるかを決定する。これにより輝度成分を分離したり推定したりすることなく、実態に近い法線ベクトルを効率的に得ることができる。またモデル調整部66により、法線ベクトルの分布全体としてより近い状態が得られるように対象物の3次元モデルの状態が調整されるため、成分差により定常的に含まれる誤差や局所的な誤差が結果に与える影響を抑えることができる。
このときモデル調整部66は、形状欄162bが示す対象物の3次元モデルを用いて調整を行う。なお法線ベクトル算出に使用するモデルを決定するためのデータは図示するものに限らない。すなわち色と材質のどちらか一方でもよいし、それ以外の属性を利用したりそれらを適宜組み合わせたりしてもよい。
図7は、図5で示したように求められた法線ベクトルの分布に基づき、モデル調整部66が対象物の3次元モデルの状態を調整する処理を説明するための図である。モデル調整部66は、カメラ座標系172が設定されたワールド座標系に対象物の3次元モデル170を配置し、それを移動、回転、変形させることにより、法線分布取得部62が取得した法線ベクトルの分布により適合する状態を求める。
法線分布取得部62は、撮影画像の画素を最小単位として法線ベクトルを取得できるため、3次元モデル170の対応する位置の法線ベクトルと比較して適合性を評価することで、対象物の状態を高精度に求められる。例えば、3次元モデル170のi番目の位置の法線ベクトルをMi、法線分布取得部62が取得した対応する位置の法線ベクトルをpi、比較する法線ベクトルの総数をNとしたとき、次のような評価値Eが最小になるように3次元モデル170の状態を調整する。
このとき、画像平面に対応するカメラ座標系172に投影される3次元モデル170の像のサイズおよび形状が、領域抽出部60が抽出した領域と近くなることを同時に評価基準としてもよい。式5において、比較する法線ベクトルの総数Nが多いほど、局所的な誤差やノイズの影響が抑えられ、対象物全体としての状態が正確に得られやすい。一方、対象物の箇所によって、偏光画像から求められる法線ベクトルの信頼性に差があることが判明している場合、信頼度によって評価値Eへの影響を制御するように重み付けを行ったり、信頼性の高い部分のみでフィッティングを行ったりしてもよい。
図8は偏光画像から求められる法線ベクトルの信頼性に差が生じる例を示している。図示するように対象物180の表面に垂直な方向から撮影するような状態においては、撮像装置12の光軸Ao上の位置mに近いほど、偏光輝度の方位依存性が小さくなり、算出する法線ベクトルpiがノイズの影響を受けやすくなる。結果として、位置mに近い法線ベクトルほど信頼性が低くなる。このような場合に、位置mからの距離が大きいほどその法線ベクトルに対し大きい重みを与えて評価値Eを算出することで、3次元モデルのフィッティング精度を高くする。
ここでkiはi番目の法線ベクトルの比較結果に与える重み係数であり、対象物の形状と撮像装置12の相対位置に基づき決定できる。kiは特異点たる位置mで最小値をとりそこから離れるほど単調に増加する分布としてもよいし、位置mを含む所定の範囲とそれ以外の領域に対し、それぞれ異なる値を設定してもよい。
あるいは位置mを含む所定の範囲で係数kiを0とすることにより、当該範囲の法線ベクトルをフィッティング処理の対象から除外してもよい。ここで「所定の範囲」は、面積に基づき決定してもよいし、撮像装置12の光軸Aoと、算出された法線ベクトル、あるいはそれより前の画像フレームで得られた3次元モデルの法線ベクトルとのなす角度がしきい値以下の範囲などでもよい。
なお係数kiを導入する態様は、同図に示す対象物の形状と撮像装置12の位置関係に限らない。例えば色、材質、形状など、対象物が元来有する外観的特徴に起因して、一つの対象物であっても偏光画像からの法線ベクトルの取得精度に差が生じる部分があれば、それに応じた係数kiの分布を適用する。この場合、係数kiは対象物の表面上の位置に対応づけて決定できるため、その分布をあらかじめ作成してモデルデータ記憶部64に格納しておく。運用時にはさらに、撮像装置12の位置関係を加味して最終的な係数分布を決定してもよい。
さらに係数kiの分布を、法線ベクトルの取得精度以外の観点から決定してもよい。例えば対象物が所定形状、所定色のマーカーを有するなど、撮影画像中の像のサイズや形状に基づき3次元空間での位置や姿勢が高精度に求められる部位を含む場合、当該部位の法線ベクトルの重みが他より大きくなるように係数kiの分布を決定してもよい。このような観点と、法線ベクトルの取得精度とを組み合わせた評価基準により係数kiの分布を決定してもよい。
3次元モデルとのフィッティングの結果、一旦、対象物8の状態が求められれば、領域抽出部60は以後の処理において抽出すべき領域をより正確に絞り込める。また、法線分布取得部62にも結果をフィードバックすれば、以後の法線ベクトルの算出において、適用したモデルと実際の輝度成分の差などによる誤差を修正することも可能である。対象物が撮像装置12から離れた場所に位置したり、サイズが小さかったりして領域抽出の精度が十分でなかったとしても、法線ベクトルの分布と3次元モデルとのフィッティングにより、位置や姿勢、変形量などを画素単位で高精度に求めることができる。
次に、以上述べた構成によって実現される情報処理装置の動作を説明する。図9は、本実施の形態の情報処理装置10aが、偏光画像を用いて対象物の状態を取得し、出力データを生成、出力する処理手順を示すフローチャートである。このフローチャートは、情報処理装置10aに対しユーザが処理の開始を要求し、それに応じて撮像装置12が対象物の撮影を開始したときに開始される。
まず撮影画像取得部50は、撮像装置12から撮影画像のデータを取得する(S10)。当該データには複数の主軸角度に対応する偏光画像のほか、自然光の画像が含まれていてよい。自然光の画像はステレオカメラが撮影した左右の視点からのステレオ画像でもよい。あるいはステレオ画像のうち少なくともどちらかが偏光画像であってもよい。撮像装置12または情報処理装置10aが、偏光画像どうしを演算することにより自然光の画像を作り出すようにしてもよい。
次に対象物認識部54の領域抽出部60は、撮影画像のうち対象物の像が表れている領域を抽出する(S12)。この処理は上述のように、対象物の色、形状、特徴点などに基づき自然光の画像または偏光画像からマッチング処理などにより行ってもよいし、ステレオ画像から生成した奥行き画像の位置情報に基づき行ってもよい。あるいはそれらを適宜組み合わせてもよい。また後続の画像フレームについては、前の画像フレームで特定された状態情報を利用してもよい。
次に法線分布取得部62は、抽出された対象物の像の領域について、偏光画像を用いて法線ベクトルの分布を取得する(S14)。このとき好適には、対象物の色や材質などに応じて鏡面反射モデルおよび拡散反射モデルのどちらかを選択することにより、ベクトル算出手法を適正化する。次にモデル調整部66は、偏光画像から得られた法線ベクトルの分布に対応するように、対象物の3次元モデルの状態を仮想空間で調整する(S16)。このとき同時に、撮影画像における対象物の像の領域のサイズや形状も考慮してよい。
モデル調整部66はこのようにして、対象物の3次元空間での状態を最終的に決定し、それを所定の書式で表した状態情報を生成する(S18)。出力データ生成部56は当該情報を取得し、それに基づきゲームを進捗させたり撮影画像上に仮想オブジェクトを描画したりして、表示画像や音声の出力データを生成し、表示装置16に出力する(S20)。
ユーザ操作などにより処理を停止させる必要がない期間は(S22のN)、後続の画像フレームに対しS10〜S20の処理を繰り返す。これにより、対象物の動きに応じたゲーム画面や情報処理の結果が動画として表示される。ユーザ操作などにより処理を停止させる必要が生じたら全ての処理を終了させる(S22のY)。
図10〜13は本実施の形態で得られる法線ベクトルの分布を例示している。これらの図では法線ベクトルを示す矢印を、撮影画像のうち、ある画素列上の分布として表している。ただし運用時に法線ベクトルを取得する範囲をこれに限定する主旨ではない。すなわち使用目的に応じて、法線ベクトルをそのように1次元の分布として得てもよいし、2次元の分布として得てもよい。また分布の粗密も、対象物の属性やサイズ、使用目的などによって最適化してよい。
まず図10は卓球のラケットを対象物としており、ラケットの面の法線ベクトルの分布を表している。上段の画像200aと下段の画像200bのどちらにおいても、法線ベクトルは面に対して一様に得られており、ノイズや局所的な誤差が抑えられていることがわかる。また双方の画像におけるラケットの面の向きの変化に応じて、法線ベクトルも正確に変化している。このように面の向きを正確に取得することにより、当該面と仮想オブジェクトとをインタラクションさせたり、卓球ゲームのコントローラとして実際のラケットを利用したりすることができる。
図11は人の顔を対象物としている。画像202a、202bに示すように、水平方向、垂直方向の双方で、顔面のような複雑な曲面を含む対象物であっても、その法線を正確に取得できる。さらに画像202b、202cに示すように、表情筋の変化も法線ベクトルの分布によって正確に捉えることができる。したがって、人物認識や表情認識、頭部を用いたジェスチャコマンドなどに利用できる。
対象物を目、鼻、口などさらに細かい単位としてもよい。例えばある程度の大きさで目の部分を撮影し、画素ごとなど細かい粒度で法線ベクトルを取得すれば、眼球の3次元モデルとのフィッティングも可能である。これにより眼球の向きを取得すれば、撮影対象であるユーザの注視点検出にも利用できる。
図12はゲームコントローラと人の手を対象物としている。画像204a、204bに示すように、コントローラと手では色や材質が異なるものの、手指がかかっている箇所とその周囲のコントローラ表面とで、凹凸を反映した連続的な法線分布が得られている。また画像204cに示すように、コントローラが備えるボタンやジョイスティックなどの複雑な形状も捉えられる。すなわち複雑な形状を有する対象物を認識できるとともに、それに対する手指の動きも特定できるため、多くのハードウェアキーを装備しなくとも操作が可能なコントローラを実現できる。
また、コントローラ自体の動きをゲームなどに反映させる場合、これまでは所定色で発光するマーカーをコントローラに設け、撮影画像上でその像を追跡するといった手法がとられてきた。この場合、基本的にはマーカーを常時点灯させておく必要がある。本実施の形態によれば、そのようなマーカーに頼ることなくコントローラの動きやユーザの手指との関係を取得できるため、マーカー点灯に必要な電力を節約できる。なお本実施の形態においても発光マーカーを備えるコントローラを導入し、一時的にマーカーを点灯させて像の領域をより正確に抽出するのに利用してもよい。
図13はゴムボールと人の手を対象物としている。画像206a、206bに示すように、ゴムボールの表面と手指の表面で、その凹凸を反映した連続的な法線分布が得られている。またゴムボール表面のうち手で押されてへこんだ部分についてもそれを反映するような法線ベクトルが得られている。このように人の手などにより変形可能な物であっても、その微妙な形状変化を詳細に捉えることができる。したがって、弾性体をコントローラとしたり、柔らかい実物体と仮想オブジェクトがインタラクションする画像を表現したりすることができる。
以上述べた本実施の形態によれば、偏光画像のうち対象物の像の領域に対し法線ベクトルの分布を取得し、それに対応するように3次元モデルの状態を調整することにより、対象物の位置、姿勢、形状を特定する。画像中の限定的な範囲を処理対象とすることにより、当該範囲内で一様かつ安定的に法線ベクトルを求めることができる。結果として、色、材質、照明、撮像装置との位置関係など、偏光特性に変化をもたらす様々な要因が解析結果に与える影響を小さくできる。また限定的な範囲を処理対象とするため効率が向上する。
また法線ベクトルは画素単位で得られるため、対象物のサイズが小さかったり撮像装置から離れた位置にあったりして撮影画像上での像が小さくても、また細かい構造を有していても、それらを捉えることができる。したがって、詳細な構造をも正確に表した3次元モデルと高い親和性でフィッティングが可能である。フィッティングまでの多くの処理は画素単位、ポリゴン単位などで並列に実施できるため、効率よく詳細に対象物の状態を特定できる。
このようにして得られた状態情報を、視覚追跡や奥行き画像生成などの従来技術と適宜組み合わせれば、特徴量の少なさから誤差が生じやすい対象物であっても、高精度に処理結果を出すことができる。また、法線ベクトルの信頼性をフィッティング評価に反映させることにより、偏光画像を利用することによって生じる可能性のある誤差の影響を極力排除することができる。
実施の形態2
実施の形態1では、偏光画像から得られる法線ベクトルの分布と、対象物の3次元モデルとをフィッティングさせることにより、対象物の状態を詳細に特定した。本実施の形態では、偏光画像またはそれから得られる法線情報を利用して、対象物の位置や大きさを特定し、その結果を情報処理に利用する。図14は本実施の形態の情報処理装置10bの機能ブロックの構成を示している。なお情報処理装置10bを含む情報処理システムの構成例や情報処理装置10bの内部回路構成は、実施の形態1で情報処理装置10aについて説明したのと同様でよい。以後、図4で示した情報処理装置10aと同じ機能を有するブロックについては同じ符号を付し、その説明を適宜省略する。
情報処理装置10bは、撮影画像取得部50、画像データ記憶部52、対象物認識部254、および出力データ生成部56を含む。撮影画像取得部50、画像データ記憶部52、出力データ生成部56の機能は、図4で示した各ブロックの機能と同様でよい。対象物認識部254はCPU23、GPU24などで実現され、対象物検出部260およびモデルデータ記憶部264を含む。対象物検出部260は、撮像装置12から得られた各方位の偏光画像のいずれか、または実施の形態1で述べた手法により偏光画像から求めた、法線ベクトルの各要素を画素値とする画像に対し、何らかの検出処理を施すことにより対象物の像を検出する。
例えばあらかじめ準備したテンプレート画像を用いてマッチング処理を施すことにより、対象物の像を検出する。あるいはエッジ強調フィルタを用いてエッジ画像を生成し、あらかじめ準備した輪郭線の形状データとのマッチングにより対象物の像を検出する。テンプレート画像とのマッチングや輪郭形状とのマッチングには、従来、自然光の撮影画像に対し用いられてきた手法のいずれを採用してもよい。モデルデータ記憶部264には、マッチングに用いるテンプレート画像や輪郭線の形状を表す画像のデータを格納しておく。
対象物検出部260は、前の画像フレームで得られた検出結果を利用して、可動範囲や動きベクトルを推定しながらマッチング処理を施すことにより視覚追跡を行ってもよい。この場合、像の形状の時間変化についても推定すれば、向きによって見かけの形状が異なる対象物であっても検出が可能である。そして対象物検出部260は、対象物の状態に係る必要なデータを生成し、出力データ生成部56に出力する。例えば検出した像の画像平面での位置や見かけ上のサイズに基づき、実空間での対象物の位置を特定し、その情報を出力する。向きによって見かけの形状が異なる対象物であれば、像の形状に基づき向きを特定し、その情報を出力してもよい。その他、画像平面上での像の位置、サイズ、形状に基づき生成できる情報であればその内容は特に限定されない。
実施の形態1で述べたように、色や材質が限定的な一つの対象物について観測される偏光成分は、その表面形状に沿って滑らかに変化する。すなわち、偏光画像や法線ベクトルを画素値とする画像においては、対象物単位での像が明確に表れやすく、マッチング処理に適している。対象物の色や特徴点に基づく一般的なマッチング処理と比較しても、照明の明るさや色、対象物が有する特徴点の量といった外的要因によらず、安定した検出が可能である。結果として、撮影環境や対象物が変化しても、対象物の状態に応じた情報処理を安定的に行える。
実施の形態3
実施の形態1、2では、あらかじめ準備した対象物のモデルや画像と、偏光画像から得られる情報とを照合することにより、対象物の状態を特定した。本実施の形態では、法線ベクトルの分布に基づき画像平面を領域分割する。この実施形態でも、一つの被写体の面を表す偏光特性が類似の振る舞いを見せることを利用する。すなわち偏光画像から得られる法線ベクトルは、一つの被写体の像においてばらつきが少なくその位置的な変化に連続性がある。つまり法線ベクトルの分布が安定的であるといえる。このように、集合としての安定性の観点から法線ベクトルを評価することにより、形状モデルを準備せずとも、前景として写る被写体の像、その周囲の空間(後景)、といった領域を区別する。
図15は本実施の形態の情報処理装置10cの機能ブロックの構成を示している。なお情報処理装置10cを含む情報処理システムの構成例や情報処理装置10cの内部回路構成は実施の形態1で情報処理装置10aについて説明したのと同様でよい。以後、図4で示した情報処理装置10aと同じ機能を有するブロックについては同じ符号を付し、その説明を適宜省略する。情報処理装置10cは、撮影画像取得部50、画像データ記憶部52、領域分割部310、および出力データ生成部56を含む。
撮影画像取得部50、画像データ記憶部52、出力データ生成部56の機能は、図4で示した各ブロックの機能と同様でよい。領域分割部310は、法線分布取得部362および領域判定部312を含む。法線分布取得部362は、図4で示した法線分布取得部62と同様の計算により、複数方位の偏光画像を用いて法線ベクトルの分布を取得する。ただし本実施の形態では、画像平面を領域分割することに主眼を置いているため、基本的には画像平面全体に対し法線ベクトルを取得する。
領域判定部312は、安定性を示す所定の基準により法線ベクトルを分類して画像平面を領域分割する。具体的には、法線ベクトルのばらつきや位置に対する変化が、一つの被写体表面のものと見なされる範囲内にあるか否かを判定する。ばらつきが所定範囲内であったり、位置に対する変化に連続性があったりした場合、そのような法線ベクトル群が得られる領域を、前景たる被写体の像の領域とし、その他の領域と区別する。詳細は後に述べる。領域判定部312は、そのようにして領域分割した結果を、画像平面上に区別して表した画像などを領域分割情報として生成し、出力データ生成部56に出力する。
この場合、出力データ生成部56は、別の手法によって対象物の像を検出し、領域分割の結果と統合することにより、より詳細に対象物の状態を特定してもよい。この処理には、偏光画像または自然画像を用いたマッチング処理や、奥行き画像の生成処理が含まれていてもよい。例えば領域分割により法線ベクトルに連続性があるとされた領域について、奥行き画像が表す位置情報を参照することにより、各被写体の位置を取得したり特定の対象物の像を判別したりするなどの統合処理を行う。
そのほか、前景として抽出された領域に顔認識処理を施し人物を特定するなど、画像を領域分割した結果を用いてなされる情報処理が様々に考えられることは当業者には理解されるところである。当然、実施の形態1で述べたように、取得した対象物の情報を用いて、ゲームを進捗させたり撮影画像に仮想オブジェクトを描画したりする情報処理や出力データの生成をさらに実施してもよい。
図16、17は、本実施の形態において法線ベクトルの分布に基づき画像平面を領域分割する原理を説明するための図である。図16は画像平面370a、370bを水平方向から見たときに、各位置で得られた法線ベクトル372a、372bを矢印で例示している。同図ではさらに、同じ方向から見た被写体374a、374bの様子を、それが写る画像平面370a、370b上の位置に対応させて示している。上述したとおり一つの被写体ではそこから反射された光がおよそ同様の成分を含むため、法線ベクトルの相対的な変化は、純粋に表面の傾きを反映したものに近くなる。
換言すれば、様々な材質、色、形状の物が存在し得る周辺領域と比較し、一つの被写体の像の領域では、法線ベクトルのばらつきが小さくなる。図示するような平面状の被写体374a、374bの場合、(a)に示すように画像平面370aと平行でも、(b)に示すように画像平面370bに対し傾きを有していても、その像の領域における法線ベクトル378a、378bはおよそ同じ方向に揃う。
一方、被写体374a、374bの周辺領域では上述のとおり、そこに像として表れる別の被写体の材質、色、向きの違いにより、法線ベクトルが異なる方向を示したりばらつきが大きくなったりする。被写体と被写体の間には影が形成される場合も多く、それにより偏光度の方位依存性が有意に得られない場合、ノイズの影響により法線ベクトルの分布がばらつくこともある。したがって領域判定部312は、ばらつきの小ささから法線ベクトル378a、378bのグループを抽出し、当該法線ベクトルを示す領域Aとそれ以外の領域Bとを区別することで領域分割情報とする。
図17も図16と同様、画像平面380a、380bを水平方向から見たときに、各位置で得られた法線ベクトル382a、382bを矢印で示しているが、この例では、被写体384a、384bを曲面形状としている。この場合、(a)および(b)に示すように、その像の領域における法線ベクトル388a、388bは曲面を反映した方向に変化する。しかしながら材質や色が大きく変化しない限り、被写体384a、384b自体の傾きによらず、法線ベクトル388a、388bの変化の範囲は限定的であり、かつその変化は連続性を有する。したがってこの場合も領域判定部312は、ばらつきの小ささから法線ベクトル388a、388bのグループを抽出し、当該法線ベクトルを示す領域Aとそれ以外の領域Bとを区別することで領域分割情報とする。
図18は、領域判定部312が法線ベクトルの分布から画像平面を領域分割する具体的な手法の例を説明するための図である。ここで(a)、(b)、(c)に示す画像は、円形の天板を有するテーブルを撮影した偏光画像から法線分布取得部362が取得した法線ベクトルを、撮影画像平面の画素値としたものである。この手法では、まず(a)に示すように、画像平面に対し所定サイズの探索窓390を設定する。そして次式に示すように、当該探索窓390内の法線ベクトルの平均ベクトルと、探索窓390の中心に位置し探索窓を390より小さい所定サイズの基準領域392内の法線ベクトルの平均ベクトルとの差dを、法線ベクトルのばらつきを表す指標として取得する。
ここで、法線分布取得部362が取得した法線ベクトルのうち探索窓390内の法線ベクトルをpi、探索窓390内で得られた法線ベクトルの数をN、基準領域392内の法線ベクトルをp’i、基準領域392内で得られた法線ベクトルの数をnとしている。領域判定部312は、探索窓390を画像全体にわたり移動させながら式7を計算していくことにより、法線ベクトルのばらつきを表す指標dの分布を画像平面に対し取得する。
図18の場合、(a)、(b)、(c)に示すように、探索窓390のうちテーブルの像にかかる部分の面積が増えるほど法線ベクトルの向きが揃っていく。そして探索窓390全体がテーブルの像に含まれた(c)の状態においては、その内部の法線ベクトルがおよそ一定の方向に揃う。このような変化を、探索窓の各位置に対する指標dの変化として表すと、例えば同図右側に示すグラフのようになる。グラフ中、黒丸で示した座標がそれぞれ(a)、(b)、(c)の位置における指標dの算出結果を例示している。領域判定部312は、指標dに対し設定された所定のしきい値Thdより小さい指標dが得られるときの探索窓の中心の位置座標の集合を、被写体の領域、すなわち図16、17で示した領域Aとして抽出する。
探索窓390全体が被写体の像に含まれたときに到達する指標dの最小値は、被写体の形状や傾きによって異なる。したがって好適には、設定する探索窓のサイズや想定される対象物の形状などに応じて、しきい値Thdの最適値を実験などにより適宜取得しておく。あるいは前の画像フレームにおける指標dの最小値や推定される被写体の向きなどに応じて、しきい値Thdを適応的に設定してもよい。ただし法線ベクトルのばらつきを評価する手法はこれに限らず、標準偏差など統計的な観点から評価してもよい。また、そのように分割してなる領域内で、法線ベクトルの向きに係る特性をさらに評価することにより、より小さい領域に分割してもよい。
図19は、実際の画像において法線ベクトルの分布に基づき区別される領域の例を示している。ここで(a)、(b)に示す画像は、矩形のテーブル上に様々な形状の立体が存在する空間を撮影したものであり、それぞれ着目する部分における法線ベクトルを矢印で重畳表示している。まず(a)は、ゲームコントローラとその周辺の法線ベクトルの分布を表している。
このうち、テーブルの上面は平面形状のため、法線ベクトルが略同一方向を示す領域400がコントローラの像の領域と区別される。ユーザがテーブル上の物を動かす態様においては、前の画像フレームからの変化のなさによってもテーブルの像の領域400を特定できる。またコントローラの像のうち、持ち手の部分に対応する領域402は、画像の一方向における法線ベクトルの放射状の分布が、それと垂直方向における一定の範囲で同様に得られる、という、略楕円体を表す規則性から、他の部分と区別できる。
このように法線ベクトルのばらつきが小さい領域を、当該法線ベクトルの方向や規則性などの特性に応じてさらに分類することができる。特性を得る際は上述同様、探索窓内の法線ベクトルの平均値を用いてもよいし、個々の法線ベクトルが表す成分を3次元の位置座標としてプロットしたときの点の分布などから別途、判定してもよい。例えば領域400であれば、3次元空間の略同一の位置座標にプロットした点が集中する。領域402であれば、プロットした点が被写体の曲面に応じた形状で広がりをもって分布する。
このようにして領域を抽出していくと、残った領域は例えば領域404のように、法線ベクトルのばらつきが大きい領域となる。同図の例では、領域404はコントローラの影になる部分であり、ノイズの影響により法線ベクトルが不安定となる。一方(b)は、直方体や球体などとその周辺の法線ベクトルの分布を表している。このうち直方体を構成する2面に対応する領域408、410は、それぞれ法線ベクトルが略同一方向であり、かつ領域ごとにその方向が異なるため、別々の領域として区別される。また球体表面に対応する領域406は、法線ベクトルが画像の二方向で放射状に得られる、という、球体を表す規則性により他と区別される。
領域406、408、410の周辺の、法線ベクトルが略同一方向を示す領域は、(a)の領域400と同様、テーブルの上面に対応し、その上に乗っている立体の像の領域と区別される。そして、そのように抽出された領域以外の領域として残った、法線ベクトルのばらつきが大きい領域408は、(a)の領域404と同様、立体の影になる部分である。なお直方体の各面、テーブルの上面、および球体の像の領域の区別は、上述のとおり、ばらつきが小さい領域についてさらに法線ベクトルを評価することにより区別する。
これまでの説明における画像の領域分割では主に、法線ベクトルのばらつきの大きさに基づく基準を用いたが、それ以外の観点で分割基準を設定してもよい。図20は、領域分割に用いることのできる基準の例を説明するための図である。同図の2つの画像は、同じ半球体を動画撮影した際の、異なるタイミングの画像フレームを示している。これまで述べたように、半球体の表面では、観測される法線ベクトルのばらつきが小さいため、その像の領域420a、420bは、その周囲の領域422a、424a、422b、424bと区別できる。この特徴は画像フレームによらず同様である。
また半球体の像の領域420a、420bでは、半球体表面の傾きの変化に沿って、法線ベクトルの向きが徐々に変化するのに対し、その周囲の領域422a、424a、422b、424bでは法線ベクトルの向きが不規則に変化している。したがって、法線ベクトルの変化が連続的か否か、という基準で領域を区別することもできる。例えば隣接する法線ベクトルの差分の変化を、画像平面での位置に対して取得し、それが所定のしきい値より小さい範囲で単調に減少または増加する領域を抽出し、その他の領域と区別する。この特徴も画像フレームによらず同様である。
また領域422a、424a、422b、424bのように、分布が不規則な法線ベクトルは時間的にも安定しない傾向となる。図20に示した2つの画像フレームにおいても、領域420a、420bにおける法線ベクトルはほぼ変化していないのに対し、領域422aと422b、領域424aと424bでは、法線ベクトルに変化が見られる。これも影や材質などの影響により法線ベクトルの算出精度が低くなることに起因する。したがって、法線ベクトルの時間変化の大小や不規則性を基準として領域を区別することもできる。
例えば所定の微小時間で前後する画像フレームにおいて、同じ位置の探索窓に対し取得した平均ベクトルの変化量が所定のしきい値より小さい領域、あるいは大きい領域を抽出したり、平均ベクトルが不規則に変化する領域を抽出したりして、その他の領域と区別する。意図的に被写体を動かした場合と区別するため、画像平面において動きが観測されない領域について当該基準を導入してもよいし、探索窓内の法線ベクトルの標準偏差を監視し、その変化が大きい領域を時間的な不安定性有りと判定してもよい。以上例示した、領域を分割する基準をまとめると次のようになる。
この表において、「第1領域」は前景を構成する被写体、すなわち対象物の像と考えられる領域、「第2領域」はそれ以外の領域である。基本的には、画像平面から第1領域を抽出することにより領域分割とし、後の情報処理に利用することが考えられるが、場合によってはまず第2領域を抽出し、残った領域を第1領域として利用してもよい。また、上記の基準はいずれか一つを導入してもよいし、2つ以上の基準を組み合わせてもよい。
例えば複数の基準でそれぞれ領域を分割し、その積集合あるいは和集合により第1領域を最終的に決定したり、複数の基準のそれぞれに対し第1領域である可能性を示すスコアを算出し、その総合スコアや重み付け平均で領域分割したりしてもよい。また上表では各基準に対ししきい値を1つ設定することにより2つの領域に分けたが、しきい値を2つ以上設定することにより3つ以上の領域に分け、その結果を統合して最終的な分割領域を決定してもよい。
図21は、領域判定部312が法線ベクトルの分布から画像平面を領域分割する手法の別の例を説明するための図である。この例で領域判定部312はまず、法線分布取得部362が画素単位で取得した法線ベクトルのうち、設定された法線ベクトルと方向が一致する、あるいは一致するとみなせる程度に差分が小さい法線ベクトルを抽出し、その画素の位置座標を特定する。そして抽出した画素を基点とし、その周囲で変化に連続性があると考えられる法線ベクトルが得られる範囲を探索していくことにより、対象物の像の領域を抽出する。
ここで連続性がある法線ベクトルとは、図20の例と同様、隣接する法線ベクトルとの差分が所定のしきい値より小さく、その差分が位置に対して単調に減少または増加している法線ベクトルなどである。あるいは個々の法線ベクトルが表す成分を3次元の位置座標としてプロットしたときの点の分布が所定範囲にあるなど、連続性を統計的に評価してもよい。
図21の左側には、抽出したい法線ベクトル450の設定例を示している。設定に際しては、対象物の形状的な特性や動きの特性などを考慮し、他の被写体と区別しやすい代表的な法線ベクトルを決定することが望ましい。同図の場合、対象物として人の頭部を想定し、その表面形状から得られるであろう法線ベクトルのうち、頭部に特徴的であり他の被写体では表れる可能性が低いような向きの法線ベクトル450が1つ設定されている。なお法線ベクトル450は実際には、3次元のベクトルの成分などで設定してよい。
前の画像フレームで頭部の像の領域が得られている場合、当該領域において実際に得られた法線ベクトルから代表的なものを所定の基準に基づき選択し、当該法線ベクトルのそれまでの動きに基づき現画像フレームにおける法線ベクトルを予測し、その値を設定に用いてもよい。この処理は、輪郭線や特徴点などに基づき行っていた従来の追跡処理を、法線ベクトルに基づき行っていることに他ならない。
領域判定部312は、このようにして静的あるいは動的に設定した法線ベクトル450に基づき、実際の撮影画像452上で得られた法線ベクトルの分布を検索する。そして法線ベクトル450と方向が一致すると見なされる法線ベクトルを検出し、それが得られている画素454の位置を特定する。次に領域判定部312は、画素454を基点とする周囲の画素について、法線ベクトルの連続性を順次、評価していく。上述のとおり同じ対象物の表面であれば法線ベクトルの変化には連続性があるため、基本的には、画素454から領域を拡げていき連続性が失われる直前までの領域が対象物の像の領域となる。
さらに、対象物の形状が既知であれば、基点とされた位置からの法線ベクトルの変化の仕方も既知となる。例えば対象物が頭部の場合、楕円体表面の法線ベクトルを想定すれば、基点とされた画素からの方向および距離によって、得られるべき法線ベクトルはおよそ定まる。したがって領域判定部312は、画素454を囲む画素、さらにその周囲の画素、と領域を拡げていくなどして、同一楕円体表面の法線ベクトルを示す画素集合を特定する。
同図では、頭部の像を含む領域456を抜き出して示し、そのうち頭部の領域に対し得られている法線ベクトルを矢印で示している。領域判定部312は、連続性があり楕円体表面の法線ベクトルと同様の変化を示している法線ベクトルの範囲を探索により特定することで、対象物である頭部の像の領域を抽出する。設定された法線ベクトル450と方向が同一と見なされる法線ベクトルが、撮影画像452上の頭部以外の像で検出されたとしても、このような形状に基づく探索によれば、その像が頭部か否かを判定できる。
なお図示する法線ベクトルはあくまで模式的なものであり、実際にはより細かい画素の単位で法線ベクトルが得られる。形状が既知の対象物であれば、その形状によらず同様の手順で像の領域を抽出できる。なお対象物が球体や楕円体であれば、上述のように基点を囲むように探索領域を拡げていくことが考えられるが、領域の探索方向はこれに限らず、形状によって適切なものを選択してよい。
例えば腕など円筒形に近い形状の対象物の場合、領域458に抜き出して示したように、設定された法線ベクトルと方向が一致すると見なせる法線ベクトルが得られる画素が、線状の画素集合460として得られる。このため矢印に示すように、当該画素集合460の各画素を基点として、画像上の左右の方向に探索領域を拡げていく。この場合も、円筒形の表面形状を想定すれば、法線ベクトルの変化の仕方は既知となるため、それに従う変化から逸脱する直前までの領域が腕の像の領域となる。なお図示するように画像上で横方向に領域を拡げる場合のほか、画素集合460を表す線に垂直な方向に探索領域を拡げることも考えられる。
本実施の形態では画素単位で法線の分布を取得するため、設定された法線ベクトルとの比較により、着目する対象物の像に含まれる画素、あるいは画素集合を容易かつ精度よく特定できる。さらに同一の対象物では法線ベクトルが安定的な変化を示す。これらの特性を利用し、基点とする画素を見つけてそこから領域を拡げていくことによって、効率的に像の領域を抽出できる。さらに、対象物の移動や回転など時間的な変化を加味して、抽出する法線ベクトルを前の画像フレームから発展的に設定することにより、上述のとおり、輪郭や特徴点の代わりに、法線ベクトルに基づく視覚追跡を実現できる。
次に、本実施の形態に係る上記の構成によって実現される情報処理装置の動作を説明する。図22は、本実施の形態の情報処理装置10cが、偏光画像を用いて画像平面を領域分割し、出力データを生成、出力する処理手順を示すフローチャートである。このフローチャートは、情報処理装置10cに対しユーザが処理の開始を要求し、それに応じて撮像装置12が対象物の撮影を開始したときに開始される。
まず撮影画像取得部50は、撮像装置12から撮影画像のデータを取得する(S30)。当該データには複数の主軸角度に対応する偏光画像のほか、自然光の画像が含まれていてよい。次に領域分割部310の法線分布取得部362は、偏光画像を用いて画像平面に対する法線ベクトルの分布を取得する(S32)。着目する対象物の色や材質などが限定的であれば、好適にはそれに応じて鏡面反射モデルおよび拡散反射モデルのどちらかを選択することにより、ベクトル算出手法を適正化する。
ただし鏡面反射成分、拡散反射成分が混合する状況であっても、被写体表面における法線ベクトルの相対的なばらつきや変化の連続性、時間変化には大きな影響を与えないため、被写体ごとにモデルを切り替えたり成分を分離したりする必要はない。次に領域判定部312は、法線ベクトルのばらつきに基づき画像平面を領域分割する(S34)。例えば図18を参照して説明したように、所定サイズの探索窓を移動させながら、ばらつきの指標dを算出し、それをしきい値Thdと比較することにより、前景を構成する被写体の像の領域とそれ以外の領域を区別する。この領域分割には、上表に示した別の基準を採用したり複数の基準を組み合わせたりしてもよい。
あるいは図21を参照して説明したように、特定の法線ベクトルを示す画素を基点として条件を満たす法線ベクトルが得られる範囲を探索することにより、対象物の像の領域とそれ以外の領域を区別する。次に領域判定部312は必要に応じて、個々の分割領域について法線ベクトルの特性を評価することにより、さらに小さい領域に分割する(S36)。例えば上述のように、各法線ベクトルの成分を3次元座標にプロットしてなる点の分布を、被写体の形状ごとにあらかじめ設定した条件と比較することにより、異なる方向の平面の像を区別したり、形状の異なる部位ごとに像を区別したりする。
そして領域判定部312は、分割した結果を表した画像など、所定の分割領域情報を生成する(S38)。S34、S36の処理において、影の部分か否か、被写体が平面か曲面か、面の向いている方向などを特定した場合は、該当領域にそれらの情報を対応づけてもよい。出力データ生成部56は生成された情報を取得し、さらに対象物の像の特定、位置の特定、ゲームの進捗、仮想オブジェクトの描画、といった処理を適宜行い、表示画像や音声の出力データを生成して表示装置16に出力する(S40)。
ユーザ操作などにより処理を停止させる必要がない期間は(S42のN)、後続の画像フレームに対しS30〜S40の処理を繰り返す。これにより、対象物の位置や動きに応じたゲーム画面や情報処理の結果が動画として表示される。ユーザ操作などにより処理を停止させる必要が生じたら全ての処理を終了させる(S42のY)。
以上述べた本実施の形態によれば、偏光画像を用いて取得した法線ベクトルの分布の安定性に基づき画像平面を領域分割する。具体的には、法線ベクトルの空間的あるいは時間的なばらつきや、変化の連続性などの観点から、前景を構成する被写体の像の領域とそれ以外の領域を区別する。これにより、照明などに起因して見かけの色が変化したり像の輪郭が明確でなかったりしても、また表面に特徴点が少ない被写体でも、像の領域を精度よく取得できる。
また、法線ベクトルを集合体としてまとめて評価することにより、算出した法線ベクトルの絶対値に誤差が含まれていても、領域分割の精度への影響が小さい。したがって、被写体によって計算に用いるモデルを切り替えたり、輝度の成分を分離したりする必要がない。結果として、処理の負荷を抑えながら正確に各被写体の像の領域を特定でき、後段の情報処理を低いレイテンシで精度よく行える。
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
例えば実施の形態1、2では主に、ユーザが対象物を動かしたり変形させたりすることでゲームや情報処理に対する操作を可能とする態様について述べたが、対象物自体の状態が変化しなくてもよい。例えば撮像装置をヘッドマウントディスプレイに設けた場合、対象物が周囲の床、壁、家具など動かない物であっても、撮像装置側が動くことにより、相対的に状態が変化することになる。この場合も本実施の形態と同様にして、撮像面に対する対象物の位置や傾きを精度よく取得できる。この情報をSLAM(Simultaneous Localization And Mapping)などの従来技術に適用すれば、ユーザの頭部の位置や姿勢を特定し、ヘッドマウントディスプレイに表示させる画像をユーザの視野に対応させることもできる。
また実施の形態3では、複数の方位の偏光画像を用いて法線ベクトルの分布を取得し、それを用いて画像平面を領域分割したが、法線ベクトルの代わりに偏光度を用いてもよい。すなわち本実施の形態では、鏡面反射、拡散反射の厳密な切り分けを必要としないため、モデルを適用する前の段階で得られる偏光度を代わりに用いても、ばらつきや分布の連続性に基づく同様の原理で領域分割が可能である。
さらに実施の形態3では、情報処理装置に設けられた領域分割部が、撮像装置から取得した画像を用い、法線ベクトル分布の連続性に基づく領域分割を行ったが、当該機能を撮像装置に設けてもよい。つまり撮像装置において、自らが撮影した偏光画像を用いて領域分割を行う。この場合、情報処理装置には、撮影画像のデータとともに領域分割の結果に係る情報を送信してもよいし、法線ベクトルに連続性を有する前景や被写体の像の領域を含む部分的な領域の撮影画像のデータのみを送信してもよい。
後者の場合、撮影された動画像のフレームによって、送信対象を部分的とするか否かを切り替えてもよい。あるいは同じフレームについて、自然光の撮影画像全体と偏光画像の部分的なデータ送信するようにしてもよい。これらの場合も情報処理装置は、奥行き画像や対象物認識結果との統合や、各種情報処理を適宜行うことにより、その結果を出力データとして生成する。撮像装置から送信するデータを部分的とすることにより、伝送帯域を節約できるとともに、伝送処理による遅延を少なくすることができる。