(58)【調査した分野】(Int.Cl.,DB名)
前記位置決定手段は、前記所定領域の明るさおよび大きさに基づいて、前記赤外線画像の取得先である撮像部の撮像方向における前記被写体の奥行位置を決定する、請求項1〜7のいずれか1項に記載の画像処理プログラム。
前記位置決定手段は、前記奥行位置を決定するとともに、前記赤外線画像内の前記所定領域の位置に基づいて、前記被写体の前記撮像方向と直交する面上の位置を決定する、請求項8に記載の画像処理プログラム。
【発明を実施するための形態】
【0022】
本実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【0023】
<A.適用例>
まず、本実施の形態の画像処理プログラムの適用例について説明する。
図1は、本実施の形態の画像処理プログラムの適用例を示す模式図である。
図1を参照して、本実施の形態の画像処理プログラムは、情報処理装置1において実行され、被写体を撮像して得られた画像に対して後述するような処理を実行することで、当該被写体の位置を決定する。本実施の形態においては、被写体からの赤外線の情報を主として含む赤外線画像(以下、「IR(Infrared)画像」と記す場合がある。)が取得され、その赤外線画像に対して処理が実行される。本明細書において、赤外線画像は、被写体で反射されて生じる赤外線、および被写体自体が発生する赤外線の少なくともいずれかの情報を含む。さらに、主として赤外線の情報を含むものであればよく、赤外線の情報とともに可視光線の情報を含む画像を排除するものではない。
【0024】
適用例の一つとして、
図1に示すように、被写体としてユーザの体の一部(例えば、手や指)を撮像するとともに、そのユーザの体の一部について、その位置を所定周期またはイベント毎に決定する。決定される位置としては、予め定められた位置を基準とした被写体の相対位置であってもよいし、情報処理装置1(厳密には、撮像部4)からの絶対位置であってもよい。
【0025】
情報処理装置1の典型例としては、携帯型の情報処理装置(
図1には、スマートフォンの例を示す)に加えて、据置型の情報処理装置(例えば、パーソナルコンピュータやテレビジョン装置)、カメラなどが挙げられる。情報処理装置1は、被写体の赤外光を撮像する撮像部4を含む。撮像部4は、赤外線画像に加えて、非赤外線画像を取得可能であってもよい。さらに、後述するような各種処理を実行する処理部と撮像部4とを独立した筐体として構成し、両者を組み合わせることで情報処理システムとして実装することもできる。
【0026】
非赤外線画像とは、被写体からの赤外線とは異なる波長の光の情報を主として含む画像を意味し、典型的には、被写体からの可視光線の情報を主として含む可視光画像が挙げられる。可視光画像は、RGB画像、グレイスケール画像、2値化(モノクロ)画像として出力されてもよい。非赤外線画像として、被写体からの紫外線の情報を主として含む紫外線画像が用いられてもよい。
【0027】
図1に示す情報処理装置1は、ディスプレイ2が実装されており、決定された被写体の位置の情報や、当該決定された位置を用いたアプリケーションの実行状態が表示される。決定された位置は、ユーザのジェスチャを示す情報として入力されてもよいし、決定された位置をそのまま入力値としてゲーム処理などに用いられてもよい。
【0028】
<B.構成例>
次に、情報処理装置1の構成例について説明する。
図2は、本実施の形態の情報処理装置1の構成例を示す模式図である。
図2を参照して、情報処理装置1は、典型的なコンポーネントとして、ディスプレイ2と、撮像部4と、入力部6と、通信部8と、CPU(Central Processing Unit)10と、DRAM(Dynamic Random Access Memory)12と、フラッシュメモリ14とを含む。
【0029】
撮像部4は、被写体からの光を受光して、当該被写体を示す画像を出力する。本実施の形態においては、撮像部4は、被写体の赤外線画像を出力する。赤外線画像は、被写体からの赤外線の情報を主として含む。加えて、撮像部4は、被写体からの赤外線とは異なる波長の光の情報を主として含む非赤外線画像を出力するようにしてもよい。すなわち、被写体の赤外光と、当該被写体からの赤外線とは異なる波長の光とを撮像する撮像部4を採用してもよい。
【0030】
ディスプレイ2は、各種情報をユーザに通知するデバイスであり、LCD(Liquid Crystal Display)や有機EL(ElectroLuminescence)ディスプレイなどを用いて実装される。
【0031】
入力部6は、ユーザなどからの指示や操作を受付けるデバイスであり、情報処理装置1の筐体に設けられる各種ボタンやスイッチとして実装されてもよいし、ディスプレイ2と一体的に配置されるタッチパネルとして実装されてもよい。
【0032】
通信部8は、他の装置との通信を仲介するデバイスであり、LTE(Long Term Evolution)や3G(third generation)といったモバイル通信コンポーネントや、IEEE802.11nの規格に準拠した無線LAN、Bluetooth(登録商標)、IRDA(Infrared Data Association)などの近距離通信コンポーネントなどを用いて実装される。
【0033】
CPU10は、各種プログラムを実行するプロセッサの一例であり、処理部の主たる部分を構成する。DRAM12は、CPU10が各種プログラムを実行するために必要なデータを一次的に保持するワーキングメモリとして機能する。フラッシュメモリ14は、各種データを不揮発的に保持する記憶デバイスであり、典型的には、画像処理プログラム16および各種のアプリケーションプログラム18を格納する。これらのプログラムは、読み出されてDRAM12に展開された上で、CPU10により実行される。
【0034】
情報処理装置1を構成するハードウェアおよびソフトウェアは、
図2に示すものに限定されない。例えば、情報処理装置1の機能の全部または一部を、外部サーバ装置が有していてもよい。すなわち、単一の情報処理装置1に代えて、端末と1つ以上のサーバとからなる情報処理システムが用いられてもよい。この場合、情報処理システムの各手段は、端末のプロセッサによる処理、外部サーバ装置のプロセッサによる処理、または、端末のプロセッサと外部サーバ装置のプロセッサとによる協働処理により実現される。処理の分担は当業者の技術常識により適宜設計することができる。
【0035】
情報処理装置1において実行される画像処理プログラム16は、記憶媒体により提供されるものに限定されず、インターネット等のネットワークを介したダウンロードにより提供されてもよい。
【0036】
<C.位置決定処理の概要>
次に、本実施の形態の画像処理プログラムにより実行される位置決定処理の概要について説明する。本実施の形態の位置決定処理は、取得された赤外線画像に含まれる被写体を示す画像(representation)の情報から、当該被写体(の注目する部分)の位置を決定する。位置を決定する対象となる被写体のする部分(現実の物体)を、以下では「オブジェクト」と称し、赤外線画像内の「オブジェクト」に対応する領域を「オブジェクト領域」と称す。
【0037】
撮像部4でオブジェクトを撮像して得られる赤外線画像内のオブジェクト領域の明るさ(照度)および大きさは、以下のようなファクターとの間に相関関係を有する。より具体的には、オブジェクト領域の明るさは、以下のファクターに比例する。
【0038】
・被写体に照射される赤外線の明るさ(照度/強度)
・撮像部の露光時間
・オブジェクトの表面反射率
・(撮像部4からオブジェクトまでの距離)
−2
また、オブジェクト領域の大きさ(サイズ)は、撮像部4からオブジェクトまでの距離に反比例する。
【0039】
本実施の形態の位置決定処理は、このような物理的関係性を利用して、赤外線画像内における被写体の所定領域の明るさおよび大きさに基づいて、赤外線画像に含まれるオブジェクト(被写体)の位置を決定する。所定領域は、オブジェクトを表現する領域(すなわち、オブジェクト領域)の少なくとも一部を含む領域に相当し、被写体(オブジェクト)が固有に有する形状の少なくとも一部に基づいて特定することができる。
【0040】
本実施の形態においては、被写体からの赤外線の情報を主として含む赤外線画像を用いることで、被写体からの可視光線の情報を主として含む可視光画像を用いる場合に比較して、より高い精度で位置を決定することができる。
【0041】
図3および
図4は、本実施の形態の画像処理プログラムにより実行される位置決定処理の概要を説明するための図である。
図3および
図4には、一例として、ユーザの手をオブジェクトとした場合に取得される赤外線画像の例を示す。
図3に示すように、撮像部4からオブジェクトまでの距離が相対的に近い場合には、赤外線画像内のオブジェクト領域は相対的に明るくなり(照度が高くなり)、かつその範囲は相対的に大きく(広く)なる。これに対して、撮像部4からオブジェクトまでの距離が相対的に遠い場合には、赤外線画像内のオブジェクト領域は相対的に暗くなり(照度が低くなり)、かつその範囲は相対的に小さく(狭く)なる。
【0042】
このような赤外線画像に現れるオブジェクト領域の明るさ(照度/強度)と大きさ(サイズ)とに基づいて、オブジェクトが予め定められた位置を基準として、近付いたか、あるいは遠くなったかを判断する。以下では、典型例として、基準状態において位置決めされたオブジェクト(被写体)の位置(基準位置)を基準として、撮像部4とオブジェクトとの間の距離(相対距離)を算出する方法について説明する。
【0043】
図4には、オブジェクトが基準状態にあるときに撮像された赤外線画像の一例を示す図である。
図4を参照して、ユーザにその手を通常の操作で使用するであろう位置に配置してもらうとともに、何らかのトリガーを受けて、赤外線画像を取得する。このトリガーとしては、ユーザが直接入力するようにしてもよいし、赤外線画像を繰返し取得するとともに、何らかの画像処理を行なって、その結果が予め定められた条件を満たしたことをトリガーとしてもよい。
【0044】
基準状態における赤外線画像が取得されると、その赤外線画像からオブジェクト領域(
図4の例では、手の輪郭)が特定される。当該特定されたオブジェクト領域に応じて所定領域30が設定される。所定領域30に含まれるそれぞれの画素の照度から、基準位置における照度の代表値(初期値)が決定される。所定領域30に含まれる全画素の照度の平均値を、代表値(初期値)として算出することができる。代表値の算出において、所定領域30に含まれる照度の異常値を除外してもよい。
【0045】
図4に示すような処理を含む、基準位置およびそれに関連する初期情報(例えば、代表値)を取得する手順を、以下では「キャリブレーション」とも称す。
【0046】
例えば、
図4に示す赤外線画像32内の所定領域30について、撮像部4からオブジェクトまでの距離を「1」と設定する。このとき、算出された明るさの平均値が「100」であり、所定領域30の大きさ(サイズ)が「100×100」画素であるとする。
【0047】
図3に示す赤外線画像34(近い場合)は、赤外線画像32(
図4)の撮像時における撮像部4からオブジェクトまでの距離に対して「0.7」倍の距離にある位置に手を配置した場合に得られた赤外線画像であり、このとき、所定領域30の大きさ(サイズ)は「160×160」画素と算出され、明るさの平均値は「204」と算出された。
【0048】
一方、
図3に示す赤外線画像36(遠い場合)は、赤外線画像32(
図4)の撮像時における撮像部4からオブジェクトまでの距離に対して「2.0」倍の距離にある位置に手を配置した場合に得られた赤外線画像であり、このとき、所定領域30の大きさ(サイズ)は「60×60」画素と算出され、明るさの平均値は「25」と算出された。
【0049】
図5は、本実施の形態の画像処理プログラムにより提供される位置決定処理の処理手順を示すフローチャートである。
図5に示す各ステップは、典型的には、CPU10が画像処理プログラム16(
図2)を実行することで実現される。
【0050】
図5を参照して、まず、ステップS2〜S10に示されるキャリブレーションが実行される。具体的には、CPU10は、被写体の赤外線画像を取得する(ステップS2)。このとき、位置決定の対象となるオブジェクト(被写体)は、基準状態にあるとする。赤外線画像の取得は、CPU10が撮像部4(
図2)に指令を与えることで実現される。
【0051】
続いて、CPU10は、赤外線画像からオブジェクト領域(被写体の領域)を特定し(ステップS4)、当該特定したオブジェクト領域に応じて所定領域を設定する(ステップS6)。CPU10は、特定した所定領域に含まれる各画素の照度から、照度の代表値を算出する(ステップS8)。この照度の代表値が基準位置における照度の初期値として格納される。そして、CPU10は、算出した照度の代表値(所定領域の明るさ)および所定領域の大きさをキャリブレーションの結果として格納する(ステップS10)。
【0052】
キャリブレーションでは、オブジェクト(被写体)の基準状態における位置(基準位置)に対応する所定領域の明るさおよび大きさが決定され、この基準状態における位置を基準として、オブジェクトの相対位置が順次決定される。すなわち、以下のような手順に従って、CPU10は、赤外線画像内の所定領域の明るさおよび大きさに基づいて、赤外線画像に含まれる被写体の位置を決定する。
【0053】
具体的には、CPU10は、新たな赤外線画像を取得する(ステップS12)。そして、CPU10は、新たに赤外線画像からオブジェクト領域(被写体の領域)を特定し(ステップS14)、当該特定したオブジェクト領域に応じて所定領域を設定する(ステップS16)。続いて、CPU10は、ステップS16において特定した所定領域に含まれる各画素の照度から、所定領域の照度の代表値(所定領域の明るさ)を算出し(ステップS18)、算出された所定領域の明るさおよび大きさが所定の条件を満たしているか否かを判断する(ステップS20)。
【0054】
所定領域の明るさおよび大きさが所定の条件を満たしている場合(ステップS20においてYESの場合)には、CPU10は、キャリブレーションにおいて取得された所定領域の明るさに基づいて、算出された所定領域の明るさからオブジェクトの位置を決定する(ステップS22)。続いて、CPU10は、決定されたオブジェクトの位置に応じて、予め定められた後処理を実行する(ステップS24)。すなわち、情報処理装置1の位置決定機能は、所定領域の明るさと所定領域の大きさとが所定の関係を満たしているときに、オブジェクト(被写体)の位置を決定する。
【0055】
これに対して、所定領域の明るさおよび大きさが所定の条件を満たしていない場合(ステップS20においてNOの場合)には、CPU10は、エラー処理を実行する(ステップS26)。
【0056】
CPU10は、位置決定処理の終了が指示されているか否かを判断する(ステップS28)。位置決定処理の終了が指示されていない場合(ステップS28においてNOの場合)には、ステップS12以下の処理が繰返される。これに対して、位置決定処理の終了が指示されている場合(ステップS28においてYESの場合)には、位置決定処理は終了する。
【0057】
<D.赤外線画像の取得処理および取得機構>
次に、赤外線画像を取得する処理およびそれに用いられる機構について説明する。
【0058】
(d1:撮像素子)
図6は、本実施の形態の情報処理装置1の撮像部4のいくつかの構成例を示す模式図である。
図6(a)には、IRフィルタを含むベイヤー配列の撮像素子を用いた構成例を示し、
図6(b)には、赤外線画像(IR画像)および非赤外線画像(RGB画像)をそれぞれ生成する撮像素子を個別に設けた構成例を示す図である。
【0059】
図6(a)に示す撮像素子は、一般的なベイヤー配列の撮像素子において、4つのカラーフィルター(R+G×2+B)のうち、1つのGフィルタをIRフィルタに置換したものである。IRフィルタは、赤外線に対して透過特性を有しており、被写体からの赤外線は、IRフィルタに関連付けられた検出素子に入射し、その照度が検出される。また、R,G,Bの各フィルタに関連付けられたそれぞれの検出素子は、被写体からの可視光線の照度を検出する。IRフィルタに関連付けられたそれぞれの検出素子からの情報に基づいてIR画像が生成され、R,G,Bの各フィルタに関連付けられたそれぞれの検出素子からの情報に基づいてRGB画像が生成される。
【0060】
すなわち、
図6(a)に示す構成例においては、情報処理装置1は、IRフィルタを含むベイヤー配列の撮像素子から赤外線画像および非赤外線画像を取得する。
【0061】
一方、
図6(b)に示す構成例では、複眼式の光学系が用いられる。すなわち、被写体からの反射光は、レンズ41および42を通じて、それぞれ撮像素子43および44へ導かれる。撮像素子43には、図示しないIRフィルタが関連付けられており、撮像素子44には、図示しないカラー(RGB)フィルタが関連付けられているとする。これによって、撮像素子43は、赤外線画像(IR画像)を生成し、撮像素子44は、非赤外線画像(RGB画像)を生成する。
【0062】
別の構成例として、R,G,B毎に独立した撮像素子を配置する構成を採用してもよい。この場合には、R,G,B,IRの合計4つの撮像素子が配置される。なお、レンズを共通化して、複数の撮像素子が配置してもよい。
【0063】
上述したいずれかの構成を採用することで、同一の被写体から赤外線画像および非赤外線画像(典型的には、RGB画像)を同時に取得できる。
【0064】
(d2:赤外線の投光機能)
次に、赤外線の投光機能について説明する。赤外線画像は、主として、被写体からの赤外線の情報から生成されるが、一般的な使用環境において、被写体に入射する赤外線の量が十分でないことも多い。そのため、撮像部4の機能として、赤外線の投光機能を搭載することが好ましい。すなわち、情報処理装置1の画像取得機能としては、被写体に赤外線を照射しつつ撮像される赤外線画像を取得することが好ましい。
【0065】
図7は、本実施の形態の情報処理装置1の赤外線の投光機能を搭載した撮像部4の構成例を示す模式図である。
図7を参照して、被写体からの光を撮像素子43へ導くレンズ41に加えて、被写体に対して赤外線を照射する照射部45が設けられている。照射部45は、赤外線LEDや赤外線ランプなどの赤外線の発生部を有しており、発生した赤外線を被写体に向けて照射する。撮像素子43による露光タイミングと、照射部45による発光タイミングとは、同期されている。
【0066】
このような投光機能を搭載すること撮像条件を安定化できるので、オブジェクトの位置の決定精度を高めることができる。
【0067】
なお、照射部45は、赤外線だけではなく、一般的なフラッシュと同様の機能が付加されていてもよい。つまり、照射部45は、赤外線および可視光線を同時に被写体に照射するように構成されていてもよい。
【0068】
(d3:撮像部からオブジェクトまでの距離に依存した制御)
図8は、撮像条件を一定とした場合の撮像部4からオブジェクトまでの距離と撮像部4で検出される赤外線の明るさとの関係を示す図である。なお、距離および明るさの単位は任意単位である。上述したように、赤外線画像内のオブジェクト領域の明るさは、(撮像部4からオブジェクトまでの距離)の二乗に反比例するので、
図8に示すように、オブジェクトが撮像部4から離れるに従って、撮像部4で検出される赤外線の明るさは漸減する。また、検出される明るさの単位当たりの変化に相当する距離変化は、距離が大きくなるほど大きくなる。これは、オブジェクトが撮像部4から離れるに従って、距離の算出感度(すなわち、分解能)が低下することを意味する。
図8に示す特性例においては、距離が20未満である場合には、0.5程度の分解能があり、距離が20〜40である場合には、1程度の分解能があるが、距離が40以上である場合には、2.5程度の分解能しか得られない。
【0069】
また、撮像部4での赤外線の明るさの検出可能範囲は、有限の階調値(典型的には、0〜255階調)に制限されるので、撮像部4での露光時間(シャタースピード)、ならびに、照射部45から照射する赤外線の明るさおよび/または時間を、撮像部4からオブジェクトまでの距離に依存して変化させることが好ましい。例えば、公知の自動露光(AE:Auto Exposure)機能を用いることができる。
【0070】
より具体的には、情報処理装置1の画像取得機能(CPU10)は、被写体までの距離が遠くなるほど、より強い赤外線を照射するように照射部45に制御指令を与える。つまり、撮像部4からオブジェクトまでの距離が相対的に遠い場合には、撮像部4に入射する赤外線の明るさが相対的に小さくなるので、より強い赤外線を照射する。
【0071】
また、情報処理装置1の画像取得機能(CPU10)は、被写体までの距離が長くなるほど、赤外線画像を取得するための撮像部の露光時間が長くなるように制御指令を与える。つまり、撮像部4からオブジェクトまでの距離が相対的に遠い場合には、撮像部4に入射する赤外線の明るさが相対的に小さくなるので、より長い時間にわたって赤外線が入射するように撮像部4での露光時間を制御する。
【0072】
なお、撮像部4からオブジェクトまでの距離は、過去のオブジェクトの距離の決定結果を用いて判断することができる。典型的には、1つ前の演算周期において決定された距離を用いて、撮像条件(赤外線の照射時間/照射強度および露光時間)を決定してもよい。
【0073】
(d4:撮像部4の露光方法)
撮像部4の露光方法としては、ローリングシャッター方式およびグローバルシャッター方式のいずれを用いてもよい。ローリングシャッター方式は、順次走査であるため、消費電力が相対的に少なく、携帯型の情報処理装置に好適である。一方、グローバルシャッター方式は、露光時間が相対的に短いので、動きの激しい被写体をより適切に撮像することができる。
【0074】
<E.位置決定処理の詳細>
(e1:オブジェクト領域(被写体の領域)の特定(ステップS4,S14))
オブジェクト領域の特定方法としては、例えば、赤外線画像内の照度分布の特徴点(例えば、照度が大きく変化するエッジ点)などから外形を抽出する方法、赤外線画像に含まれる他の特徴量に基づいて領域または外形を抽出する方法、および被写体(オブジェクト)が固有に有する形状の少なくとも一部に基づいて抽出する方法などを用いることができる。
【0075】
上述の
図3および
図4に示す例では、手(手のひら)をオブジェクトとしているので、手が有する固有の形状(例えば、5本の指をそれぞれ示す部分など)を探索することで、オブジェクト領域を特定することができる。すなわち、赤外線画像内の特徴量から手の輪郭(または、外形)を特定することができる。
【0076】
(e2:オブジェクト領域に応じた所定領域の設定(ステップS6,S16))
特定された手に対応するオブジェクト領域に応じて、所定領域が設定される。所定領域としては、矩形に限られることなく、特徴量を示す外形(オブジェクト領域)をそのまま用いてもよいし、オブジェクトの形状が既知である場合には、その既知の形状に相似な形状を用いてもよい。さらに、オブジェクト領域外の領域を含むように所定領域を設定してもよい。
【0077】
図3および
図4に示す例では、ユーザの手のひらに相当する領域を所定領域30として設定することが好ましい。すなわち、ユーザの手の指を所定領域30から除外することが好ましい。手の指は、時間的な動きが比較的大きく、算出される照度が安定しないため、これらを除外することが好ましい。また、被写体から反射される赤外線の明るさは、被写体表面の反射率に依存することになるが、手の指は、動くため反射率が比較的大きく変化することも、位置決定に用いるには不適である。そのため、位置決定の精度を高めるためには、このような動きの激しい部分を除外することが好ましい。
【0078】
(e3:所定領域の明るさおよび所定領域の大きさの妥当性(ステップS20))
本実施の形態の位置決定処理においては、基本的には、所定領域に含まれる画素の照度から算出される代表値に基づいて、オブジェクトの位置が決定される。この際、赤外線画像に注目するオブジェクト以外の物体が写っているような場合もあり、このような物体により生じる部分画像によって位置を誤って決定する可能性もある。そのため、以下のような条件を用いて、このような誤った位置の決定を回避する。なお、以下の条件のすべてを用いてもよいし、一部のみを用いてもよい。
【0079】
(1)所定領域の明るさと所定領域の大きさとが所定の関係を満たすこと
一つの条件として、所定領域の明るさと所定領域の大きさとが所定の関係を満たしているか否かを判断し、所定の関係を満たしているときに、所定領域の明るさに基づいて、被写体の位置を決定するようにしてもよい。
【0080】
上述したように、オブジェクト領域の明るさは、撮像部4からオブジェクトまでの距離の二乗に反比例し、オブジェクト領域の大きさは、撮像部4からオブジェクトまでの距離に反比例する。そのため、本来的に、オブジェクト領域に応じて設定される所定領域の明るさと所定領域の大きさとは、所定の関係を維持する。
【0081】
図9は、所定領域の明るさと所定領域の大きさとの関係を示す図である。
図9(a)には、撮像部4からオブジェクトが離れる状態を適切に検出できた場合の結果を概念的に示し、
図9(b)には、撮像部4からオブジェクトが離れる状態を適切に検出できなかった場合の結果を概念的に示す。
【0082】
図9(a)に示すように、撮像部4からオブジェクトが離れる場合には、所定領域の明るさおよび所定領域の大きさは、いずれも減少することになる。一方、オブジェクトが撮像部4に近付く場合には、所定領域の明るさおよび所定領域の大きさは、いずれも増加することになる。一方で、赤外線画像に何らかの誤差要因が生じると、
図9(b)に示すように、本来の変化とは異なる変化が検出される。
【0083】
このような所定領域の明るさと所定領域の大きさとの関係を利用して、適切な検出ができているか否かを判断することが好ましい。
【0084】
より具体的には、所定領域の明るさの時間的変化と、所定領域の大きさの時間的変化とが所定の関係が維持されているか否かを判断して、所定の関係が維持されているときに、オブジェクトの位置を決定してもよい。すなわち、所定領域の明るさの変化方向(増加/減少)と、所定領域の大きさの時間的変化(増加/減少)とが互いに一致しているか否かを判断し、一致していれば、適切に検出されているとして、オブジェクトの位置を算出する。言い換えれば、所定領域の明るさの時間的変化と、所定領域の大きさの時間的変化との間の符号(変化方向)の一致/不一致に基づいて、適切な検出ができているか否かを判断することができる。
【0085】
あるいは、所定領域の輝度の時間的変化の大きさと、所定領域の大きさの時間的変化の大きさとが所定の関係を維持されているか否かを判断して、所定の関係が維持されているときに、オブジェクトの位置を決定してもよい。すなわち、所定領域の明るさの単位時間当たりの変化量(増加分/減少分)と、所定領域の大きさの単位時間当たりの変化量(増加分/減少分)との比が所定の範囲内にあるか否かを判断し、所定の範囲内にあれば、適切に検出されているとして、オブジェクトの位置を算出する。つまり、所定領域の明るさの単位時間当たりの変化量と、所定領域の大きさの単位時間当たりの変化量との間の値の乖離状態に基づいて、適切な検出ができているか否かを判断することができる。
【0086】
(2)所定領域の大きさが所定条件を満たすこと
上述のような所定領域の明るさと所定領域の大きさとの相対的な関係に着目する方法に代えて/加えて、所定領域の大きさそのものが所定の条件を満たしているか否かを判断し、所定の条件を満たしているときに、所定領域の明るさに基づいて、被写体の位置を決定するようにしてもよい。
【0087】
より具体的には、キャリブレーションにおいて取得された所定領域の大きさ(基準値)に比較して、検出された所定領域の大きさが大きすぎたり、小さすぎたりしていないかを判断することで、適切な検出ができているか否かを判断できる。すなわち、キャリブレーションにおいて取得された所定領域の大きさ(基準値)に対して、検出された所定領域の大きさの比または差が所定の範囲内にあるか否かを判断し、所定の範囲内にある場合に限って、適切に検出されているとして、オブジェクトの位置を算出してもよい。
【0088】
(e4:距離算出および平面上の位置(ステップS22))
所定領域の明るさは、撮像部4からオブジェクトまでの距離の二乗に反比例するので、ある時点で所定領域の明るさがBであると算出されると、そのときの撮像部4とオブジェクトとの間の距離Lは、以下のように示すことができる。
【0089】
L=L0×√(B0/B)
但し、L0は、キャリブレーションによって取得された撮像部4とオブジェクトとの間の距離であり、B0は、キャリブレーションによって取得された所定領域の明るさである。
【0090】
ここで、L0=1とすれば、キャリブレーションによって取得された所定領域の明るさB0を用いて、撮像部4とオブジェクトとの間の相対距離を算出できる。この相対距離は、撮像部4の撮像方向(カメラ方向:z方向)における奥行位置を示す。また、赤外線画像内の所定領域が存在する位置は、撮像部4の撮像方向と直交する面上の位置(x座標およびy座標)を示す。このように、本実施の形態においては、所定領域の明るさおよび大きさに基づいて、赤外線画像の取得先である撮像部4の撮像方向におけるオブジェクトの奥行位置を決定する。すなわち、奥行位置を決定するとともに、赤外線画像内の所定領域の位置に基づいて、オブジェクトの撮像方向と直交する面上の位置を決定する。
【0091】
最終的に、撮像部4の視点を基準とした座標系で定義される、オブジェクトのx座標,y座標,z座標が演算周期毎に出力される。
【0092】
(e5:連続出力(ステップS24))
上述したように、情報処理装置1は、演算周期毎にオブジェクトの3次元座標を算出し、これらの時系列で出力される3次元座標からオブジェクトの時間的な挙動を取得する。すなわち、情報処理装置1は、オブジェクトの位置の時間的変化を出力する。このような位置の時間的変化を用いて、ユーザの行なうジェスチャを判断したり、各種のゲーム処理などを進行することができる。
【0093】
<F.キャリブレーション>
オブジェクト(被写体)を基準状態にしてキャリブレーションを行なう必要がある。基準状態は、どのような状態であってもよいが、オブジェクトが撮像部4に近すぎる場合、または撮像部4から遠すぎる場合には、位置決定の精度が低下するので、オブジェクトが動き得る範囲の中間地点でキャリブレーションすることが好ましい。そのため、このようなキャリブレーションを支援するようなユーザインターフェイスを提供するようにしてもよい。
【0094】
図10は、本実施の形態の情報処理装置1が提供するキャリブレーションのためのユーザインターフェイスの一例を示す図である。
図10を参照して、情報処理装置1のディスプレイ2上には、被写体を基準状態に位置決めするためのガイド70が表示されており、ユーザは、撮像された手がガイド70に収まるように、ユーザ自身および/または自身の手と撮像部4との位置関係を調整する。ユーザの手がガイド70に収まれば、ユーザは、ディスプレイ2上に表示されるOKボタン72を他方の手で操作することで、キャリブレーション用の赤外線画像が取得され、キャリブレーションが実行される。
【0095】
このようなガイドを表示することで、キャリブレーションをより適切かつ簡単に実行することができる。
【0096】
<G.絶対位置の算出処理>
上述の説明では、基準状態における位置を基準として、オブジェクトの相対位置を順次決定する処理例について説明した。基準状態における絶対位置(絶対距離)を取得できれば、相対位置ではなく、絶対位置を疑似的に算出できる。
【0097】
基準状態における絶対位置(絶対距離)を取得する手法の一つとして、情報処理装置1の撮像部4を用いて、赤外線画像に現れるオブジェクト領域の大きさと絶対位置との関係を予め取得しておき、この関係を用いる方法がある。具体的には、撮像部4を用いて、予め既知の大きさを有するサンプルを複数の位置に配置して撮像することで得られる赤外線画像から、オブジェクト領域の大きさと撮像部4からの絶対距離との関係を定義できる。キャリブレーションにおいて、大きさが既知のサンプル(例えば、情報処理装置1に装着されているスタイラスなど)を撮像し、その撮像されたサンプルの赤外線画像内での大きさを評価することで、撮像時の絶対距離を決定できる。
【0098】
ユーザの手などをオブジェクトとする場合には、平均的な大きさが予め判っているので、その平均値を用いてキャリブレーション時の絶対距離を疑似的に決定してもよい。
【0099】
図11は、本実施の形態の絶対位置の算出処理の一例を説明するための図である。
図11を参照して、赤外線画像内の特徴量から手の輪郭を特定して、手の大きさを算出することで、予め取得しておいた赤外線画像に現れるオブジェクト領域の大きさと絶対位置との関係を参照し、当該手の存在する位置(奥行位置)を算出するようにしてもよい。
【0100】
<H.赤外線画像の補正>
上述したオブジェクトの位置を決定する処理においては、赤外線画像内のオブジェクト領域を特定し、所定領域を設定する(
図5のステップS4,S6,S14,S16)。このような処理において、オブジェクトのみが写った赤外線画像を取得することが好ましい。しかしながら、オブジェクトの撮像時に当該オブジェクトの背景に赤外線を放射する物体があったような場合には、そのような物体からの赤外線がノイズとして赤外線画像内に入り込む。このような場合には、赤外線画像に何らかの補正(前処理)を行なった上で、オブジェクト領域を特定することが好ましい。
【0101】
以下では、このような赤外線画像の補正処理として、非赤外線画像を用いる場合の処理について説明する。すなわち、本実施の形態の情報処理装置1は、オブジェクト(被写体)からの赤外線の情報を主として含む赤外線画像と、オブジェクト(被写体)からの赤外線とは異なる波長の光の情報を主として含む非赤外線画像とを取得する画像取得機能と、非赤外線画像の特徴量に基づいて、赤外線画像を補正する補正機能とを有している。
【0102】
図12は、本実施の形態の赤外線画像の補正処理の一例を説明するための図である。
図12を参照して、オブジェクトを撮像して赤外線画像60を取得する際に、非赤外線画像の一例であるRGB画像50を取得する。後述するように、RGB画像50と赤外線画像60との間で、画像を重ね合わせるような処理が必要になるので、上述の
図6(a)に示すような、IRフィルタを含むベイヤー配列の撮像素子を用いて、これら2つの画像を取得することが好ましい。
図6(b)に示すような複眼式の構成を採用してもよいが、この場合には、光学系間に存在する視差に応じた補正が必要になる。
【0103】
非赤外線画像としては、RGB画像に限られることなく、紫外線画像を用いてもよいし、R,G,Bのいずれかの色のみに着目したグレイ画像(単色画像)を用いてもよい。
【0104】
図12のRGB画像50および赤外線画像60に示されるように、検出する波長の相違によって、取得できるオブジェクトの輝度情報は互いに異なったものになっている。このような取得される輝度情報の違いを利用して、オブジェクトの情報のみを抽出できるような補正を実行する。
【0105】
まず、非赤外線画像からオブジェクトを反映した特徴量が算出される。非赤外線画像がRGB画像50であり、オブジェクトがユーザの手であれば、例えば、肌色検出処理を用いることができる。すなわち、RGB画像50に含まれる肌色の領域を特定する。結果画像52は、RGB画像50に対して肌色検出が実行された後の結果を示す。結果画像52は、肌色であると判断された画素を「1」(白)に変換し、それ以外の画素を「0」(黒)に変換したものである。すなわち、赤外線画像の補正処理では、非赤外線画像を2値化することにより特徴量を得る。
【0106】
図13は、肌色領域の特定処理の一例を説明するための図である。
図13を参照して、肌色領域を特定するために、RGB画像の色座標系をRGB座標系からYUV座標系に変換する。そして、YUV座標系に変換されたYUV画像から、予め定義された「肌色」とみなすことのできる色座標系上の領域(空間)に存在している画像を抽出する。YUV座標系を用いる方が「肌色」をより正確に判断できる。
【0107】
このように、情報処理装置1の補正処理は、RGB画像からオブジェクト(被写体)の肌色領域を特定し、当該肌色領域に基づいて、赤外線画像60を補正する処理を含む。
【0108】
再度
図12を参照して、赤外線画像60についても、所定の明るさをしきい値として用いて2値化処理を行なうことで、2値化された赤外線画像62を生成する。最終的に、結果画像52と2値化された赤外線画像62との間で、対応する画素毎に積を計算することで、補正後の赤外線画像64を生成する。すなわち、補正処理として、2値化された非赤外線画像(結果画像52)の各画素値を赤外線画像の各画素値に乗じる処理が実行される。この処理は、2値化された赤外線画像62を構成する画素のうち、結果画像52内の対応する画素が「1」(肌色領域)である画素のみを有効な画素として出力することを意味する。
【0109】
なお、赤外線画像60については、必ずしも2値化する必要なく、結果画像52を一種のマスク画像として用いて、赤外線画像60の各画素値に乗じることで、赤外線画像60を補正することができる。
【0110】
上述したように、情報処理装置1は、非赤外線画像(RGB画像50)の特徴量(
図12に示す例では、肌色領域)に基づいて、赤外線画像60を補正する。非赤外線画像の特徴量は、基本的には、赤外線画像からは得られない特徴量である。
【0111】
赤外線画像60に対する補正処理は、赤外線画像60のオブジェクト(被写体)が存在する領域以外を無視する処理を含む。言い換えれば、赤外線画像60に対する補正手段は、赤外線画像60のオブジェクト(被写体)が存在する領域だけを抽出する処理を含む。一連の補正処理は、非赤外線画像(RGB画像50)から画像内においてオブジェクトが存在する領域を特定し、その特定した領域に応じて、赤外線画像60に含まれるオブジェクト(被写体)を示す有効な情報を選択的に用いることを意味する。このように、赤外線画像60に含まれるオブジェクト(被写体)を示す有効な情報を選択的に用いることで、赤外線画像内のオブジェクト領域をより正確に特定できる。
【0112】
さらに、
図12に示すRGB画像50および/または結果画像52を用いて、オブジェクトが有する固有の形状を探索することで、オブジェクト領域を特定する処理をさらに実行してもよい。すなわち、上述したような画像内の特徴量から手の輪郭(または、外形)や指の位置を特定してもよい。このような、非赤外線画像(RGB画像50および/または結果画像52)に含まれるオブジェクト(被写体)の形状を特定する形状特定処理をさらに実行することで、非赤外線画像に移り込んでいるノイズとなり得る成分(
図12のRGB画像50では、背景にある照明からの明かり)を除去することができる。
【0113】
このような形状特定処理をさらに付加することで、赤外線画像60に含まれるオブジェクト(被写体)を示す有効な情報をより正確に選択し、赤外線画像内のオブジェクト領域をより正確に特定できる。すなわち、情報処理装置1の補正処理は、非赤外線画像(RGB画像50および/または結果画像52)に含まれる被写体の形状を特定する形状特定処理を含み、特定された形状における特徴量に基づいて、赤外線画像60を補正する。
【0114】
補正後の赤外線画像64を用いて、補正前の赤外線画像60および/またはRGB画像50に別の補正を行なった上で、各種処理を実行してもよい。例えば、補正後の赤外線画像64からオブジェクト領域を特定し、当該特定したオブジェクト領域に対応する赤外線画像60またはRGB画像50内の領域の画像(情報)を用いて、オブジェクトに関する情報のみを抽出するようにしてもよい。このように、補正処理により補正された赤外線画像の情報を、補正前の赤外線画像または非赤外線画像に反映するような機能を情報処理装置1に実装することもできる。
【0115】
図14は、本実施の形態の画像処理プログラムにより提供される赤外線画像の補正処理の処理手順を示すフローチャートである。
図14に示す各ステップは、典型的には、CPU10が画像処理プログラム16(
図2)を実行することで実現される。
【0116】
図14を参照して、まず、CPU10は、被写体の赤外線画像および非赤外線画像を取得する(ステップS100)。このとき、
図6(a)に示すようなベイヤー配列の撮像素子を用いた撮像部4を用いる場合には、撮像部4に対して撮像指令を与えることで、赤外線画像および非赤外線画像を同時に取得できる。これに対して、
図6(b)に示すような撮像素子を個別に設けた撮像部4を用いる場合には、それぞれの撮像素子に対して撮像指令を与えることで、赤外線画像および非赤外線画像を取得する。
【0117】
続いて、CPU10は、非赤外線画像からオブジェクトを反映した特徴量を算出する(ステップS102)。典型的には、CPU10は、非赤外線画像の一例であるRGB画像50に対して、肌色検出処理をして実行して肌色領域を特定する。CPU10は、ステップS102の処理と並行して、赤外線画像60に対して2値化処理を行なうことで、2値化された赤外線画像62を生成する(ステップS104)。
【0118】
そして、CPU102は、ステップS102において算出された特徴量を2値化された赤外線画像62の各画素に乗じることで、補正後の赤外線画像64を生成する(ステップS106)。ステップS106において生成された補正後の赤外線画像64を用いて、
図5に示す位置決定処理が実行されてもよい。
【0119】
<I.利点>
本実施の形態では、赤外線画像内のオブジェクトを表現するオブジェクト領域を特定し、オブジェクト領域に応じて所定領域を設定する。この設定された所定領域の明るさおよび大きさに基づいて、赤外線画像に含まれるオブジェクトの位置を決定するので、1つの撮像部があれば十分であり、実装コストを低減できる。また、フレーム毎に取得される赤外線画像内の所定領域の明るさおよび大きさを利用するので、距離算出に要する演算量を低減でき、より高速な処理を実現できる。
【0120】
本実施の形態では、非赤外線画像を用いて、赤外線画像の中からオブジェクト以外の物体に係る情報を除去/低減して、オブジェクトの位置や動きを検出する。これにより、オブジェクト以外の物体の情報によりオブジェクトの位置などが誤って決定されてしまうことを抑制できる。
【0121】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。