(57)【特許請求の範囲】
【請求項１】
画像上からユーザの肌を表す肌領域を検出する検出手段と、
前記肌領域の特徴点を抽出する抽出手段と、
前記肌領域に基づいて、前記ユーザまでの距離を算出する算出手段と、
前記距離に応じて、前記特徴点を所定の座標空間上の座標点に変換するための変換係数を決定する変換係数決定手段と、
前記変換係数に基づいて、前記特徴点を所定の座標空間上の座標点に変換する座標変換手段と
を含む情報処理装置。
【請求項２】
前記変換係数決定手段は、前記距離のα乗（0<α≦1）に比例する値を前記変換係数に決定する
請求項１に記載の情報処理装置。
【請求項３】
前記変換係数決定手段は、前記距離が所定の閾値以上である場合、前記距離に拘らず同一の値を前記変換係数に決定する
請求項２に記載の情報処理装置。
【請求項４】
前記変換係数決定手段は、前記距離に応じて段階的に変化する値を前記変換係数に決定する
請求項１に記載の情報処理装置。
【請求項５】
前記画像上の全領域のうち、前記座標変換手段により変換される前記特徴点が存在する範囲とされる有効範囲を決定する有効範囲決定手段を
さらに含む請求項１に記載の情報処理装置。
【請求項６】
前記有効範囲内の前記特徴点をオフセット値だけオフセットするオフセット手段をさらに含み、
前記座標変換手段は、オフセットされた前記特徴点を所定の座標空間上の座標点に変換する
請求項５に記載の情報処理装置。
【請求項７】
前記有効範囲決定手段は、複数の前記肌領域が検出された場合、前記複数の肌領域のうち、前記距離が最も遠い肌領域の特徴点に基づいて、前記有効範囲を決定し、
前記オフセット手段は、前記複数の肌領域のうち、前記距離が最も遠い肌領域の特徴点を前記オフセット値として、前記有効範囲内の前記特徴点をオフセットする
請求項６に記載の情報処理装置。
【請求項８】
前記有効範囲決定手段は、前記検出手段により最初に検出された前記肌領域の特徴点に基づいて、前記有効範囲を決定し、
前記オフセット手段は、前記検出手段により最初に検出された前記肌領域の特徴点に基づき決定される前記オフセット値を用いて、前記有効範囲内の前記特徴点をオフセットする
請求項６に記載の情報処理装置。
【請求項９】
第１の波長の光を前記ユーザに照射する第１の照射手段と、
前記第１の波長よりも長波長である第２の波長の光を前記ユーザに照射する第２の照射手段と、
前記第１の波長の光が前記ユーザに照射されているときに入射される前記ユーザからの反射光に基づいて第１の画像を生成するとともに、前記第２の波長の光が前記ユーザに照射されているときに入射される前記ユーザからの反射光に基づいて第２の画像を生成する生成手段と
をさらに含み、
前記検出手段は、生成された前記第１及び第２の画像に基づいて、前記ユーザの前記肌領域を検出する
請求項１に記載の情報処理装置。
【請求項１０】
画像上におけるユーザの肌を表す肌領域から特徴点を抽出する情報処理装置の情報処理方法において、
前記情報処理装置は、
検出手段と、
抽出手段と、
算出手段と、
変換係数決定手段と、
座標変換手段と
を含み、
前記検出手段が、画像上からユーザの肌を表す肌領域を検出し、
前記抽出手段が、前記肌領域の特徴点を抽出し、
前記算出手段が、前記肌領域に基づいて、前記ユーザまでの距離を算出し、
前記変換係数決定手段が、前記距離に応じて、前記特徴点を所定の座標空間上の座標点に変換するための変換係数を決定し、
前記座標変換手段が、前記変換係数に基づいて、前記特徴点を所定の座標空間上の座標点に変換する
ステップを含む情報処理方法。
【請求項１１】
コンピュータを、
画像上からユーザの肌を表す肌領域を検出する検出手段と、
前記肌領域の特徴点を抽出する抽出手段と、
前記肌領域に基づいて、前記ユーザまでの距離を算出する算出手段と、
前記距離に応じて、前記特徴点を所定の座標空間上の座標点に変換するための変換係数を決定する変換係数決定手段と、
前記変換係数に基づいて、前記特徴点を所定の座標空間上の座標点に変換する座標変換手段と
して機能させるためのプログラム。
【請求項１２】
画像上からユーザの肌を表す肌領域を検出する検出手段と、
前記肌領域の特徴点を抽出する抽出手段と、
前記肌領域に基づいて、前記ユーザまでの距離を算出する算出手段と、
前記距離に応じて、前記特徴点を所定の座標空間上の座標点に変換するための変換係数を決定する変換係数決定手段と、
前記変換係数に基づいて、前記特徴点を所定の座標空間上の座標点に変換する座標変換手段と、
前記座標点に応じて所定の処理を実行する実行手段と
を含む電子装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、プログラム、及び電子装置に関し、特に、例えば、ユーザの動き等を入力操作として受け付ける情報処理装置を違和感なく操作できるようにした情報処理装置、情報処理方法、プログラム、及び電子装置に関する。
【背景技術】
【０００２】
ユーザの３次元位置を検出する位置検出技術が存在する。この位置検出技術では、例えば、２台のカメラを用いたステレオカメラ処理により、ユーザの３次元位置を検出したり（例えば、特許文献１を参照）、専用の指示具をユーザに保持させ、専用の指示具の３次元位置を、ユーザの３次元位置として検出する（例えば、特許文献２を参照）。
【０００３】
位置検出技術によれば、例えば、ユーザの３次元位置に基づいて、所定の時間内におけるユーザの手の移動距離を算出し、算出した移動距離に応じて、ディスプレイ上のポインタ等を移動させることができる。
【０００４】
また、カメラの撮像により得られる撮像画像上から、ユーザの顔や手などのように肌が露出している領域（以下、肌領域という）を検出する肌検出技術が存在する。
【０００５】
この肌検出技術によれば、例えば、検出したユーザの手に対応する肌領域に基づいて、ユーザの手の３次元位置を算出する。そして、算出した３次元位置に基づいて、撮像画像上におけるユーザの手の移動量を算出し、算出した移動量に対応して、ディスプレイ上のポインタ等を移動させることができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−２５８８３７号公報
【特許文献２】特開２００４−０６２６５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述の位置検出技術において、２台のカメラを用いて３次元位置を検出する場合、非常に大掛かりな装置となってしまう。また、専用の指示具を保持させて３次元位置を検出する場合には、専用の指示具をユーザに持たせる必要があり非常に煩わしい。
【０００８】
さらに、上述の肌検出技術では、同一の移動距離で指先を移動させるようにしても、カメラから手までの距離に応じて、撮像画像上におけるユーザの手の移動量が異なるものとなってしまう。
【０００９】
このため、同一の移動距離で指先を移動させたとしても、カメラから手までの距離に応じてポインタの移動量が変化していた。
【００１０】
具体的には、例えば、ユーザが、同一の移動距離で手を移動させるようにしても、手までの距離が近いときには、撮像画像上において移動する手の移動量が大きなものとなり、手までの距離が遠いときには、撮像画像上において移動する指先の移動量が小さなものとなる。
【００１１】
このため、肌検出技術では、同一の移動距離で手を移動させたとしても、距離に応じて、撮像画像上における手の移動量が異なるものとなってしまい、その結果、ポインタが移動する移動量が異なるものとなってしまっていた。したがって、ユーザの操作において、非常に違和感のあるものとなっていた。
【００１２】
本発明は、このような状況に鑑みてなされたものであり、情報処理装置とユーザとの距離に拘らず、違和感なく情報処理装置を操作するようにするものである。
【課題を解決するための手段】
【００１３】
本発明の第１の側面の情報処理装置は、画像上からユーザの肌を表す肌領域を検出する検出手段と、前記肌領域の特徴点を抽出する抽出手段と、前記肌領域に基づいて、前記ユーザまでの距離を算出する算出手段と、前記距離に応じて、前記特徴点を所定の座標空間上の座標点に変換するための変換係数を決定する変換係数決定手段と、前記変換係数に基づいて、前記特徴点を所定の座標空間上の座標点に変換する座標変換手段とを含む情報処理装置である。
【００１４】
前記変換係数決定手段には、前記距離のα乗（0<α≦1）に比例する値を前記変換係数に決定させることができる。
【００１５】
前記変換係数決定手段には、前記距離が所定の閾値以上である場合、前記距離に拘らず同一の値を前記変換係数に決定させることができる。
【００１６】
前記変換係数決定手段には、前記距離に応じて段階的に変化する値を前記変換係数に決定させることができる。
【００１７】
前記画像上の全領域のうち、前記座標変換手段により変換される前記特徴点が存在する範囲とされる有効範囲を決定する有効範囲決定手段をさらに設けることができる。
【００１８】
前記有効範囲内の前記特徴点をオフセット値だけオフセットするオフセット手段をさらに設けることができ、前記座標変換手段には、オフセットされた前記特徴点を所定の座標空間上の座標点に変換させることができる。
【００１９】
前記有効範囲決定手段には、複数の前記肌領域が検出された場合、前記複数の肌領域のうち、前記距離が最も遠い肌領域の特徴点に基づいて、前記有効範囲を決定させ、前記オフセット手段には、前記複数の肌領域のうち、前記距離が最も遠い肌領域の特徴点を前記オフセット値として、前記有効範囲内の前記特徴点をオフセットさせることができる。
【００２０】
前記有効範囲決定手段には、前記検出手段により最初に検出された前記肌領域の特徴点に基づいて、前記有効範囲を決定させ、前記オフセット手段には、前記検出手段により最初に検出された前記肌領域の特徴点に基づき決定される前記オフセット値を用いて、前記有効範囲内の前記特徴点をオフセットさせることができる。
【００２１】
第１の波長の光を前記ユーザに照射する第１の照射手段と、前記第１の波長よりも長波長である第２の波長の光を前記ユーザに照射する第２の照射手段と、前記第１の波長の光が前記ユーザに照射されているときに入射される前記ユーザからの反射光に基づいて第１の画像を生成するとともに、前記第２の波長の光が前記ユーザに照射されているときに入射される前記ユーザからの反射光に基づいて第２の画像を生成する生成手段とをさらに設けることができ、前記検出手段には、生成された前記第１及び第２の画像に基づいて、前記ユーザの前記肌領域を検出させることができる。
【００２２】
本発明の第１の側面の情報処理方法は、画像上におけるユーザの肌を表す肌領域から特徴点を抽出する情報処理装置の情報処理方法であって、前記情報処理装置は、検出手段と、抽出手段と、算出手段と、変換係数決定手段と、座標変換手段とを含み、前記検出手段が、画像上からユーザの肌を表す肌領域を検出し、前記抽出手段が、前記肌領域の特徴点を抽出し、前記算出手段が、前記肌領域に基づいて、前記ユーザまでの距離を算出し、前記変換係数決定手段が、前記距離に応じて、前記特徴点を所定の座標空間上の座標点に変換するための変換係数を決定し、前記座標変換手段が、前記変換係数に基づいて、前記特徴点を所定の座標空間上の座標点に変換するステップを含む情報処理方法である。
【００２３】
本発明の第１の側面のプログラムは、コンピュータを、画像上からユーザの肌を表す肌領域を検出する検出手段と、前記肌領域の特徴点を抽出する抽出手段と、前記肌領域に基づいて、前記ユーザまでの距離を算出する算出手段と、前記距離に応じて、前記特徴点を所定の座標空間上の座標点に変換するための変換係数を決定する変換係数決定手段と、前記変換係数に基づいて、前記特徴点を所定の座標空間上の座標点に変換する座標変換手段として機能させるためのプログラムである。
【００２４】
本発明の第１の側面によれば、画像上からユーザの肌を表す肌領域が検出され、検出された前記肌領域の特徴点が抽出され、前記肌領域に基づいて、前記ユーザまでの距離が算出され、算出された前記距離に応じて、前記特徴点を所定の座標空間上の座標点に変換するための変換係数が決定される。そして、決定された前記変換係数に基づいて、前記特徴点が所定の座標空間上の座標点に変換される。
【００２５】
本発明の第２の側面の電子装置は、画像上からユーザの肌を表す肌領域を検出する検出手段と、前記肌領域の特徴点を抽出する抽出手段と、前記肌領域に基づいて、前記ユーザまでの距離を算出する算出手段と、前記距離に応じて、前記特徴点を所定の座標空間上の座標点に変換するための変換係数を決定する変換係数決定手段と、前記変換係数に基づいて、前記特徴点を所定の座標空間上の座標点に変換する座標変換手段と、前記座標点に応じて所定の処理を実行する実行手段とを含む電子装置である。
【００２６】
本発明の第２の側面によれば、画像上からユーザの肌を表す肌領域が検出され、検出された前記肌領域の特徴点が抽出され、前記肌領域に基づいて、前記ユーザまでの距離が算出され、算出された前記距離に応じて、前記特徴点を所定の座標空間上の座標点に変換するための変換係数が決定される。そして、決定された前記変換係数に基づいて、前記特徴点が所定の座標空間上の座標点に変換され、変換された前記座標点に応じて所定の処理が実行される。
【発明の効果】
【００２７】
本発明によれば、情報処理装置とユーザとの距離に拘らず、違和感なく情報処理装置を操作することが可能となる。
【図面の簡単な説明】
【００２８】
【図１】本発明を適用した検出装置の第１の構成例を示すブロック図である。
【図２】距離に応じて異なる移動量が算出される場合の一例を示す図である。
【図３】本発明の概要を説明するための図である。
【図４】座標変換部が行う処理を説明するための図である。
【図５】距離と有効画素範囲との関係を示す第１の図である。
【図６】検出装置が行なう座標変換処理を説明するためのフローチャートである。
【図７】距離と有効画素範囲との関係を示す第２の図である。
【図８】距離と有効画素範囲との関係を示す第３の図である。
【図９】距離と移動距離との関係を示す第１の図である。
【図１０】距離と有効画素範囲との関係を示す第４の図である
【図１１】距離と移動距離との関係を示す第２の図である。
【図１２】オフセット値を決定する場合の一例を示す図である。
【図１３】本発明を適用した検出装置の第２の構成例を示すブロック図である。
【図１４】本発明を適用した検出装置の第３の構成例を示すブロック図である。
【図１５】コンピュータの構成例を示すブロック図である。
【発明を実施するための形態】
【００２９】
以下、発明を実施するための形態（以下、本実施の形態という）について説明する。なお、説明は以下の順序で行う。
１．本実施の形態（ユーザの位置を表す座標を、ポインタの位置を表す座標を定義する座標軸上にマッピングする場合の一例）
２．変形例
【００３０】
＜１．本実施の形態＞
[検出装置２１の構成例]
図１は、本実施の形態である検出装置２１の構成例を示している。
【００３１】
この検出装置２１は、撮像した画像から被写体の肌領域（例えば、顔、手、指先など）を検出するものである。そして、検出した肌領域に基づいて、その肌領域の３次元位置（x,y,z）を算出し、肌領域までの距離ｚに依存しない座標系に変換するものである。
【００３２】
なお、３次元位置（x,y,z）は、例えば、カメラ４３の集光レンズの光軸方向をZ軸とし、カメラ４３の水平方向をX軸とし、カメラ４３の垂直方向をY軸とするXYZ座標軸上に定義される。
【００３３】
検出装置２１は、制御部４１、LED(Light Emitting Diode)ドライバ４２、カメラ４３、LED４４a及び４４b、画像処理部４５、座標変換部４６、及びフィルタ処理部４７から構成される。
【００３４】
制御部４１は、LEDドライバ４２、カメラ４３、及び画像処理部４５等を制御する。具体的には、例えば、制御部４１は、カメラ４３の撮像タイミング、輝度増幅のゲインなどを制御する。
【００３５】
LEDドライバ４２は、制御部４１からの制御に従い、LED４４a及び４４bの点灯タイミング、消灯タイミング、出力レベルを制御する。
【００３６】
カメラ４３は、集光レンズと、CCD、CMOSなどの撮像素子とを内蔵しており、制御部４１からの制御に従い、被写体からの反射光を受光して画像を生成する。なお、LED４４aが、発光スペクトルのピーク波長がλ１である光（以下、波長λ１の光という）を発光しているときに生成される画像を第１の画像とし、LED４４bが、発光スペクトルのピーク波長がλ２である光（以下、波長λ２の光という）を発光しているときに生成される画像を第２の画像とする。
【００３７】
カメラ４３は、被写体からの反射光を受光して生成した第１及び第２の画像を、画像処理部４５に供給する。
【００３８】
LED４４aは、LEDドライバ４２の制御に従い、波長λ１の光を発光する。LED４４bは、LEDドライバ４２の制御に従い、波長λ２の光を発光する。
【００３９】
なお、波長λ１及びλ２の値は、人間の肌の反射特性に依存して決定される。すなわち、波長λ１，λ２は、人の肌に照射したときの反射率が異なり、かつ、人の肌以外（例えば、髪の毛、衣服など）に照射したときの反射率がほぼ等しいものに決定されている。
【００４０】
具体的には、例えば、波長λ１の値は640nmから1000nm、波長λ１よりも長波長側の波長λ２の値は900nmから1100nmとされる。
【００４１】
画像処理部４５は、カメラ４３から供給される第１の画像及び第２の画像に基づいて、被写体の肌領域を検出する。そして、画像処理部４５は、検出した肌領域に基づいて、第１及び第２の画像上における肌領域の位置を表す特徴点（xin,yin）と、被写体からカメラ４３までの距離zを算出し、座標変換部４６に供給する。
【００４２】
すなわち、画像処理部４５は、肌領域検出部６１、特徴点抽出部６２、及び距離算出部６３により構成される。
【００４３】
肌領域検出部６１には、カメラ４３から、第１及び第２の画像が供給される。肌領域検出部６１は、カメラ４３からの第１の画像と第２の画像との対応する画素の輝度値Ｙ１，Ｙ２の差分Ｓ＝Ｙ１−Ｙ２を算出し、その差分Ｓを所定の閾値と比較することにより２値化し、２値の一方の領域（所定の閾値以上となる差分Ｓに対応する領域）を肌領域として検出する。
【００４４】
そして、肌領域検出部６１は、検出した肌領域を、特徴点抽出部６２及び距離算出部６３に供給する。
【００４５】
特徴点抽出部６２は、肌領域検出部６１からの肌領域に基づいて、肌領域から特徴点（xin,yin）を抽出して座標変換部４６に供給する。すなわち、例えば、特徴点抽出部６２は、肌領域検出部６１からの肌領域の重心を算出し、特徴点（xin,yin）として座標変換部４６に供給する。
【００４６】
距離算出部６３は、肌領域検出部６１からの肌領域の大きさに基づいて、被写体までの距離ｚを算出し、座標変換部４６及びフィルタ処理部４７に供給する。
【００４７】
なお、距離算出部６３では、被写体までの距離ｚが短い程に、肌領域の大きさは大きくなることを利用して、被写体までの距離ｚを算出している。
【００４８】
また、距離算出部６３は、LED４４a及びLED４４bから被写体までの距離が短い程に、肌領域の輝度値（例えば、平均輝度値等）は大きくなることを利用して、被写体までの距離ｚを算出するようにしてもよい。
【００４９】
座標変換部４６は、距離算出部６３からの距離ｚに基づいて、特徴点抽出部６２からの特徴点（xin,yin）を、図示せぬディスプレイに表示されるポインタの位置を表す特徴点（xout,yout）に変換し、フィルタ処理部４７に供給する。
【００５０】
フィルタ処理部４７は、例えば、時間方向のフィルタリング処理として、座標変換部４６からの特徴点(xout,yout)に対して、ノイズ除去のためのフィルタリング処理、又は手振れ除去のためのフィルタリング処理の少なくとも一方を行う。
【００５１】
具体的には、例えば、フィルタ処理部４７は、座標変換部４６からの特徴点(xout,yout)に対して、FIR（finite impulse response）フィルタやIIR（infinite impulse response）フィルタを用いて、ノイズ除去のためのフィルタリング処理を行なったり、非線形フィルタ処理を用いて、手振れ除去のためのフィルタリング処理（例えば、移動量が微小の場合は前回の特徴点(xout,yout)を、今回の特徴点(xout,yout)として扱うようにする処理）を行う。
【００５２】
フィルタ処理部４７は、フィルタリング処理後の特徴点(xout,yout)を、アプリケーションに出力する。
【００５３】
また、フィルタ処理部４７は、距離算出部６３からの距離ｚを、アプリケーションに出力する。
【００５４】
これにより、アプリケーション側では、例えば、フィルタ処理部４７からの特徴点（xout,yout）に対応する位置に、図示せぬディスプレイ上のポインタを移動させるようにしたり、フィルタ処理部４７からの距離ｚの変化に応じて、ポインタが指し示す位置を選択するクリック操作が行なわれたか否か等が判断される。
【００５５】
なお、本実施の形態では、検出装置２１に座標変換部４６が設けられている点が発明のポイント部分である。よって、次に、図２を参照して、座標変換部４６により座標変換を行う必要性について説明し、図３乃至図５を参照して、座標変換部４６が行う処理の詳細について説明する。
【００５６】
以下において、検出装置２１は、被写体の指先に対応する肌領域に基づいて、被写体の指先の３次元位置（x,y,z）を算出するものとして説明する。
【００５７】
[距離ｚ毎に算出される移動量が異なる場合の一例]
図２は、同一の移動距離で指先を移動させたにも拘らず、距離ｚ毎に算出される、第１及び第２の画像上における指先の移動量が異なるものとなってしまう場合の一例を示している。
【００５８】
なお、図２に示されるように、カメラ４３から被写体までの距離ｚに応じて、カメラ４３により撮像される撮像範囲（図中、太い実線及び点線で示す）が異なるものとなる。また、カメラ４３の撮像により得られる第１及び第２の画像は、例えば、横×縦が640×480画素である画像とする。さらに、カメラ４３における水平方向の画角は６０度であり、垂直方向の画角は４７度であるものとする。
【００５９】
例えば、図２に示されるように、カメラ４３からの被写体までの距離zが0.2m(=20cm)である場合、第１及び第２の画像上において、指先を、第１及び第２の画像の水平方向の総画素数である640画素分だけ移動させるためには、実際に指先を水平方向に移動距離L=0.231m(=23.1cm)だけ移動させる必要がある。
【００６０】
これに対して、例えば、カメラ４３からの距離z=1mである場合、第１及び第２の画像上において、指先を、640画素分だけ移動させるためには、実際に指先を水平方向に移動距離L=1.15mだけ移動させる必要がある。
【００６１】
また、例えば、カメラ４３からの距離z=2mである場合、第１及び第２の画像上において、指先を、640画素分だけ移動させるためには、実際に指先を水平方向に移動距離L=2.31mだけ移動させる必要がある。
【００６２】
したがって、いずれの距離ｚにおいて同一の移動距離Lにより指先を移動させた場合でも、カメラ４３の撮像により得られる第１及び第２の画像上における指先は、第１及び第２の画像上において同一の画素数だけ移動するものとはならない。
【００６３】
すなわち、例えば、カメラ４３から被写体までの距離ｚが0.2mである場合において、指先を移動距離Qmだけ移動させた場合、指先の移動を開始したときの特徴点（xin,yin）t-1から、指先の移動を終了したときの特徴点（xin,yin）tまでのＸ方向の移動量は、p画素分の移動量になるものとする。なお、特徴点（xin,yin）tは、肌領域から連続してt番目に抽出された特徴点（xin,yin）を表す。
【００６４】
これに対して、カメラ４３から被写体までの距離ｚが1mである場合において、特徴点（xin,yin）t-1から特徴点（xin,yin）tまでのＸ方向の移動量は、p/5画素分の距離となる。
【００６５】
したがって、カメラ４３から被写体までの距離ｚが0.2mである場合、移動量がp画素分であると認識される一方、カメラ４３から被写体までの距離ｚが1mである場合、移動量がp/5画素分であると認識されることとなる。
【００６６】
このため、例えば、カメラ４３から得られる第１及び第２の画像上において移動する指先の移動量に応じて、ポインタを移動させるようにした場合、同一の移動距離Qmだけ指先を移動させたにも拘らず、距離ｚに応じて、図示せぬディスプレイ上に表示されるポインタの移動量が異なるものとなってしまう。
【００６７】
そこで、本発明では、例えば、指先を移動距離Qmだけ移動させた場合には、距離ｚに拘らず、Ｘ方向の移動量がp画素分であると認識されるようにしている。
【００６８】
このようにして、本発明では、距離ｚに拘らず、同一の移動距離Qmで、ディスプレイ上のポインタを同じ移動量だけ移動させることができるようにしている。
【００６９】
次に、図３は、本発明の概要を示している。
【００７０】
図３Aに示されるように、カメラ４３から被写体までの距離ｚが0.2m(=20cm)である場合、第１及び第２の画像上において、水平方向に端から端までの移動量である640画素分の移動量だけ指先を移動させるために必要な移動距離Lは0.231m(=23.1cm)となっている。なお、第１及び第２の画像は、例えば、横×縦が640×480画素の画像であるものとする。
【００７１】
本実施の形態において、アプリケーション側では、例えば、カメラ４３から被写体までの距離ｚが0.2mである場合において、第１及び第２の画像上の指先が移動する移動量を、そのまま、ポインタの移動量とするものとする。
【００７２】
すなわち、いずれの距離ｚにおいても、指先を移動距離L=0.231mだけ移動させた場合、第１及び第２の画像上の指先が移動する移動量が、640画素分の移動量となるように、座標変換部４６において座標変換をするものとする。
【００７３】
カメラから被写体までの距離ｚが0.2mである場合に、指先を移動距離Qmだけ移動させたときには、特徴点（xin,yin）t-1から特徴点（xin,yin）tまでのＸ方向の移動量はp画素となる。
【００７４】
したがって、座標変換部４６は、特徴点抽出部６２からの特徴点（xin,yin）tを、そのまま、特徴点（xout,yout）tとしてフィルタ処理部４７を介してアプリケーション側に出力する。
【００７５】
アプリケーション側は、フィルタ処理部４７からの特徴点（xout,yout）tに基づいて、被写体の指先の移動量をｐ画素分の移動量として認識し、ポインタをＸ方向にｐ画素だけ移動させる。
【００７６】
また、カメラから被写体までの距離ｚが0.4m(=40cm)である場合に、指先を移動距離Qmだけ移動させたときには、特徴点（xin,yin）t-1から特徴点（xin,yin）tまでのＸ方向の移動量はp/2画素となる。
【００７７】
したがって、例えば、座標変換部４６は、図３Bに示されるように、特徴点（xin,yin）t-1及び特徴点（xin,yin）tを含む有効画素範囲として、Ｘ方向の有効画素数X_valid=320となる有効画素範囲を決定する。
【００７８】
これにより、カメラ４３から被写体までの距離ｚが0.4mである場合、第１及び第２の画像上において決定された有効画素範囲において、水平方向に端から端まで指先を移動させるために必要な移動距離Lは0.231mとなる。
【００７９】
なお、有効画素範囲は、X_valid×Y_valid（横×縦）の画素数からなる領域であり、Y_validは、Ｙ方向の有効画素数を表すものとなるが、Y_validはX_validに比例する値であるため、X_validのみを説明するようにしている。
【００８０】
座標変換部４６は、決定した有効画素範囲を、画素の補間等により、有効画素数X_valid=640となる画像、すなわち、第１及び第２の画像と同一の大きさの画像に変換する。これにより、有効画素範囲内の特徴点（xin,yin）t-1及び特徴点（xin,yin）tは、それぞれ、変換後の画像上の特徴点（xout,yout）t-1及び特徴点（xout,yout）tに変換される。
【００８１】
この場合、変換後の画像において、特徴点（xout,yout）t-1から特徴点（xout,yout）tまでのＸ方向の移動量は、p画素となる。したがって、アプリケーション側において、フィルタ処理部４７からの特徴点（xout,yout）tに基づいて、被写体の指先の移動量はｐ画素分の距離であるものとして認識され、ポインタはＸ方向にｐ画素だけ移動するものとなる。
【００８２】
また、カメラから被写体までの距離ｚが1mである場合において、特徴点（xin,yin）t-1から特徴点（xin,yin）tまでのＸ方向の移動量はp/5画素分の距離となる。
【００８３】
したがって、例えば、座標変換部４６は、図３Cに示されるように、特徴点（xin,yin）t-1及び特徴点（xin,yin）tを含む有効画素範囲として、Ｘ方向の有効画素数X_valid=128となる有効画素範囲を決定する。
【００８４】
これにより、カメラ４３から被写体までの距離ｚが1mである場合、第１及び第２の画像上において決定された有効画素範囲において、水平方向に端から端まで指先を移動させるために必要な移動距離Lは0.231mとなる。
【００８５】
また、座標変換部４６は、決定した有効画素範囲（X_valid=128）を、有効画素数X_valid=640となる画像に変換する。これにより、有効画素範囲内の特徴点（xin,yin）t-1及び特徴点（xin,yin）tは、それぞれ、変換後の画像上の特徴点（xout,yout）t-1及び特徴点（xout,yout）tに変換される。この場合、特徴点（xout,yout）t-1から特徴点（xout,yout）tまでのＸ方向の移動距離は、p画素分の距離となる。したがって、アプリケーション側において、フィルタ処理部４７からの特徴点（xout,yout）tに基づいて、被写体の指先の移動量はｐ画素であるものとして認識され、ポインタもｐ画素だけ移動される。
【００８６】
さらに、カメラから被写体までの距離ｚが2mである場合において、特徴点（xin,yin）t-1から特徴点（xin,yin）tまでのＸ方向の移動量はp/10画素となる。
【００８７】
したがって、例えば、座標変換部４６は、図３Dに示されるように、特徴点（xin,yin）t-1及び特徴点（xin,yin）tを含む有効画素範囲として、Ｘ方向の有効画素数X_valid=64となる有効画素範囲を決定する。
【００８８】
これにより、カメラ４３から被写体までの距離ｚが2mである場合、第１及び第２の画像上において決定された有効画素範囲において、水平方向に端から端まで指先を移動させるために必要な移動距離Lは0.231mとなる。
【００８９】
また、座標変換部４６は、決定した有効画素範囲（X_valid=64）を、有効画素数X_valid=640となる画像に変換する。これにより、有効画素範囲内の特徴点（xin,yin）t-1及び特徴点（xin,yin）tは、それぞれ、変換後の画像上の特徴点（xout,yout）t-1及び特徴点（xout,yout）tに変換される。この場合、特徴点（xout,yout）t-1から特徴点（xout,yout）tまでのＸ方向の移動距離は、p画素分の距離となる。したがって、アプリケーション側において、フィルタ処理部４７からの特徴点（xout,yout）tに基づいて、被写体の指先の移動量はｐ画素であるものとして認識され、ポインタもｐ画素だけ移動される。
【００９０】
このように、検出装置２１では、有効画素範囲内の特徴点（xin,yin）t-1及び特徴点（xin,yin）tではなく、変換後に得られる特徴点（xout,yout）t-1及び特徴点（xout,yout）tに基づいて、第１及び第２の画像上における指先の移動量を求め、その指先の移動量に応じて、ポインタが移動されるようにしている。
【００９１】
次に、図４を参照して、座標変換部４６が行う処理について説明する。
【００９２】
座標変換部４６は、図４に示されるように、距離算出部６３からの距離ｚに応じて、有効画素範囲を決定する。
【００９３】
すなわち、例えば、座標変換部４６は、図４の左上に示されるように、距離算出部６３からの距離ｚに応じて、有効画素範囲Rの大きさ、すなわち、有効画素範囲Rの横×縦=X_valid×Y_validの画素数を決定する。なお、有効画素範囲Rの大きさを決定する決定方法については、図５を参照して後述する。
【００９４】
また、座標変換部４６は、特徴点抽出部６２からの特徴点（xin,yin）1を重心として、決定した有効画素範囲を第１又は第２の画像上に設定する。
【００９５】
なお、有効画素範囲は、距離算出部６３からの距離ｚが変化する毎に、新たに決定される。そして、有効画素範囲の重心は、距離が変化した後に、最初に抽出された特徴点（xin,yin）1の重心とされる。
【００９６】
なお、アプリケーションにおいて、例えば、設定した有効画素範囲が、第１及び第２の画像の大きさである640×480の範囲に変換されて得られる画像データを必要としている場合には、座標変換部４６は、設定した有効画素範囲を、第１及び第２の画像の大きさである640×480の範囲に変換し、その結果得られる画像データを、フィルタ処理部４７を介してアプリケーションに供給するようにしてもよい。
【００９７】
また、座標変換部４６は、特徴点抽出部６２からの特徴点（xin,yin）tを、次式（１）及び（１）'を用いて、特徴点（xout,yout）tに変換する。
xout = (xin - x_offset1)×z/0.2 + x_offset2・・・（１）
yout = (yin - y_offset1)×z/0.2 + y_offset2・・・（１）'
【００９８】
なお、式（１）において、x_offset1は、有効画素範囲の中心位置（x,y）のうちのxを表し、例えば特徴点（xin,yin）1のうちのxinとされる。また、x_offset2は、第１及び第２の画像上における中心位置（x,y）のx座標を表し、例えば、変換後の特徴点（xout,yout）1のうちのxoutとされる。さらに、式（１）'において、y_offset1は、有効画素範囲の中心位置（x,y）のうちのyを表し、例えば特徴点（xin,yin）1のうちのyinとされる。また、y_offset2は、第１及び第２の画像上における中心位置（x,y）のy座標を表し、例えば、変換後の特徴点（xout,yout）1のうちのyoutとされる。
【００９９】
また、式（１）において、(xin - x_offset1)と乗算される変換係数z/0.2は、xinをxoutに変換するために乗算される係数である。さらに、式（１）'において、(yin - y_offset1)と乗算される変換係数z/0.2は、yinをyoutに変換するために乗算される係数である。いまの場合、距離ｚが0.2mである場合に得られる特徴点（xin,yin）を基準としているため、変換係数は、距離ｚを、基準となる距離ｚ=0.2mで除算して得られる値とされている。
【０１００】
これにより、有効画素範囲の中心（重心）を表す特徴点（xin,yin）1を原点とするXY座標上の特徴点（xin,yin）tを、480×640からなる第１及び第２の画像の中心を原点とするXY座標上の特徴点（xout,yout）tに変換することができる。なお、式（１）'は、式（１）と同様であるため、以下において、式（１）のみを説明し、式（１）'の説明は適宜省略する。
【０１０１】
なお、図４の左下に示されるように、特徴点（xin,yin）1の位置に応じて、異なる位置に有効画素範囲が設定されるものとなる。
【０１０２】
座標変換部４６は、設定された有効画素範囲内で抽出された特徴点（xin,yin）tを、特徴点（xout,yout）tに変換してフィルタ処理部４７に供給する。
【０１０３】
また、図４の右上に示されるように、設定される有効画素範囲すべてが、第１及び第２の画像に含まれない場合には、有効画素範囲すべてが含まれるように、設定する有効画素範囲の重心をずらすようにする。
【０１０４】
すなわち、例えば、図４の右上に示されるように、有効画素範囲の一部が、撮像画像に含まれない場合（有効画素範囲の一部が欠落している場合）、座標変換部４６は、特徴点（xin,yin）1のxinであるx_offset1に所定の値を加算するようにして、有効画素範囲の中心（xin,yin）1のxin（=x_offset1）をずらすようにしてもよい。
【０１０５】
この場合、有効画素範囲が撮像画像内に含まれることとなるので、有効画素範囲を、第１及び第２の画像の大きさに拡大してアプリケーション側に渡された場合に、有効画素範囲に対応する画像の一部分が欠落する事態を防止できる。
【０１０６】
なお、x_offset1について説明したが、これらのことは、Y軸におけるy_offset1についても同様のことがいえる。
【０１０７】
[有効画素範囲の大きさの決定方法]
次に、図５を参照して、座標変換部４６が、有効画素範囲の大きさを決定する処理について説明する。図５は、距離ｚと有効画素範囲との関係を示している。
【０１０８】
座標変換部４６は、図５に示されるように、距離算出部６３からの距離ｚに基づいて、有効画素範囲のＸ方向の有効画素数X_validを決定する。また同様にして、座標変換部４６は、距離算出部６３からの距離ｚに基づいて、有効画素範囲のＹ方向の有効画素数Y_validとを決定する。
【０１０９】
なお、有効画素数X_validと有効画素数Y_validとは、それぞれ同様の方法で決定されるため、図５以降の図面では、有効画素数X_validを決定する場合についてのみ説明し、有効画素数Y_validを決定する場合の説明は省略する。以降の説明についても同様である。
【０１１０】
また、座標変換部４６は、距離ｚと、有効画素数x_validを対応付けて保持するテーブルや、距離ｚを変数として有効画素数x_validを算出する関数等に基づいて、図５に示されるような対応関係で、有効画素範囲のＸ方向の有効画素数X_validを決定する。
【０１１１】
なお、距離ｚが近距離になる程に、肌領域検出部６１により検出される肌領域の大きさや輝度値は大きなものとなる。したがって、座標変換部４６は、距離算出部６３からの距離ｚではなく、肌領域検出部６１により検出される肌領域の大きさや輝度値を用いて、有効画素範囲のＸ方向の有効画素数X_validを決定するようにしてもよい。
【０１１２】
具体的には、例えば、座標変換部４６は、肌領域の大きさや輝度値と、有効画素数x_validを対応付けて保持するテーブルや、肌領域の大きさや輝度値を変数として有効画素数x_validを算出する関数等に基づいて、図５に示されるような対応関係で、有効画素範囲のＸ方向の有効画素数X_validを決定するようにしてもよい。このことは、後述する図７,図８及び図１０についても同様である。
【０１１３】
図５において、横軸は距離ｚを表しており、縦軸は、Ｘ方向の有効画素数X_validを表している。そして、Ｘ方向の有効画素数X_validは次式（２）により表される。
X_valid = 640 × 0.2/ｚ                        ・・・（２）
【０１１４】
なお、式（２）において、Ｘ方向の画素数640は、アプリケーション側に供給される画像におけるＸ方向の画素数を表す。また、変換係数ｚ/0.2の逆数であるスケーリングゲイン0.2/ｚは、Ｘ方向の有効画素数X_validを算出するために用いられるものである。具体的には、例えば、スケーリングゲイン0.2/ｚは、式（２）に示されるように、アプリケーション側に供給される画像におけるＸ方向の画素数640と乗算される。
【０１１５】
座標変換部４６は、図５に示されるように、距離算出部６３からの距離ｚに対応するＸ方向の有効画素数X_validを算出する。また、座標変換部４６は、同様にして、距離算出部６３からの距離ｚに対応するＹ方向の有効画素数Y_validを算出する。
【０１１６】
そして、座標変換部４６は、算出したX_valid×Y_valid（横×縦）の画素数からなる有効画素範囲Rを、図４を参照して説明したように、特徴点（xin,yin）1を重心とする位置に設定する。そして、座標変換部４６は、有効画素範囲R内に存在する特徴点（xin,yin）tのみを、特徴点（xout,yout）tに変換する。
【０１１７】
[検出装置２１の動作説明]
次に、図６のフローチャートを参照して、検出装置２１が行う座標変換処理について説明する。
【０１１８】
この座標変換処理は、例えば、検出装置２１の電源がオンされたときに開始される。
【０１１９】
このとき、例えば、LED４４aは、LEDドライバ４２からの制御に従って、波長λ１の光を被写体に照射する。この照射光は外光とともに被写体により反射され、カメラ４３に入射される。カメラ４３は、制御部４１からの制御に従って、入射された光を光電変換することにより第１の画像を生成し、肌領域検出部６１に供給する。
【０１２０】
次に、LED４４bは、LEDドライバ４２からの制御に従って、波長λ２の光を被写体に照射する。この照射光は外光とともに被写体により反射され、カメラ４３に入射される。カメラ４３は、制御部４１からの制御に従って、入射された光を光電変換することにより第２の画像を生成し、肌領域検出部６１に供給する。
【０１２１】
そして、ステップＳ１において、肌領域検出部６１は、カメラ４３から供給されてくる第１及び第２の画像を取得する。
【０１２２】
ステップＳ２において、肌領域検出部６１は、取得した第１の画像と第２の画像との対応する画素の輝度値Ｙ１，Ｙ２の差分Ｓ＝Ｙ１−Ｙ２を算出し、その差分Ｓを所定の閾値と比較することにより２値化する。そして、肌領域検出部６１は、２値化により得られる２値に基づいて、肌領域の検出を試みる。
【０１２３】
肌領域検出部６１は、２値の領域のうち、２値の一方の領域（所定の閾値以上となる差分Ｓに対応する領域）が存在する場合には、その領域を、肌領域として検出する。
【０１２４】
ステップＳ３において、肌領域検出部６１は、ステップＳ２の処理による処理結果に基づいて、肌領域を検出できたか否かを判定し、肌領域を検出できなかったと判定した場合、処理をステップＳ１に戻し、それ以降同様の処理を行なう。
【０１２５】
ステップＳ３において、肌領域検出部６１は、ステップＳ２の処理による処理結果に基づいて、肌領域を検出できたと判定した場合、処理をステップＳ４に進める。
【０１２６】
ステップＳ４では、肌領域検出部６１は、ステップＳ２の処理による処理結果に基づいて、複数の肌領域を検出したか否かを判定し、複数の肌領域を検出したと判定した場合、処理をステップＳ５に進める。
【０１２７】
そして、肌領域検出部６１は、複数の肌領域の大きさや輝度値等に基づいて、複数の肌領域のうち、最も短い距離ｚに存在する肌領域を、注目肌領域として選択し、特徴点抽出部６２及び距離算出部６３に供給して、処理をステップＳ６に進める。
【０１２８】
なお、肌領域検出部６１は、距離ｚが近距離である程に、対応する肌領域の大きさや輝度値（例えば、平均輝度値等）は大きなものとなることを利用して、複数の肌領域のうち、最も短い距離ｚに存在する肌領域を、注目肌領域として選択するようにしている。
【０１２９】
また、ステップＳ４において、肌領域検出部６１は、ステップＳ２の処理による処理結果に基づいて、複数の肌領域を検出していない、すなわち、１つの肌領域を検出したと判定した場合、検出した１つの肌領域を、注目肌領域として選択し、特徴点抽出部６２及び距離算出部６３に供給して、処理をステップＳ６に進める。
【０１３０】
ステップＳ６では、特徴点抽出部６２は、肌領域検出部６１からの注目肌領域に基づいて、注目肌領域の特徴点（xin,yin）tを抽出し、座標変換部４６に供給する。
【０１３１】
ステップＳ７において、距離算出部６３は、肌領域検出部６１からの注目肌領域の大きさや輝度値に基づいて、検出装置２１から注目肌領域に対応する被写体までの距離ｚtを算出し、座標変換部４６及びフィルタ処理部４７に供給する。なお、距離ｚtは、肌領域から連続してｔ番目に算出された距離ｚを表す。
【０１３２】
ステップＳ８において、座標変換部４６は、例えば、距離算出部６３から距離zt（又は特徴点抽出部６２から特徴点（xin,yin）t）が連続して供給されているか否かに基づいて、検出された肌領域に連続性があるか否か（肌領域が連続して検出されているか否か）を判定する。そして、座標変換部４６は、検出された肌領域に連続性があると判定した場合（t≧２である場合）、処理をステップＳ９に進める。なお、tは連続して検出された回数を表す。
【０１３３】
座標変換部４６は、前回のステップＳ７の処理で算出された距離zprev、すなわち、距離算出部６３により算出された距離zt-1を用いて、特徴点抽出部６２からの特徴点(xin,yin)tを、特徴点(xout,yout)tに変換してフィルタ処理部４７に供給する。
【０１３４】
また、ステップＳ８において、座標変換部４６は、検出された肌領域に連続性がないと判定した場合(t=1である場合)、処理をステップＳ１０に進め、距離算出部６３からの距離z1を用いて、特徴点抽出部６２からの特徴点(xin,yin)1を、特徴点(xout,yout)1に変換してフィルタ処理部４７に供給する。
【０１３５】
ステップＳ１１において、フィルタ処理部４７は、座標変換部４６からの特徴点(xout,yout)tに対して、例えば、FIRフィルタやIIRフィルタを用いて、ノイズ除去のためのフィルタリング処理を行なったり、非線形フィルタ処理を用いて、手振れ除去のためのフィルタリング処理（例えば、移動量が微小の場合は前回の特徴点(xout,yout)t-1を、今回の特徴点(xout,yout)tとして扱うようにする処理）を行う。
【０１３６】
ステップＳ１２において、フィルタ処理部４７は、フィルタリング処理後の特徴点（xout,yout）tと、距離算出部６３からの距離ｚtとを、注目肌領域に対応する被写体の３次元位置（xout,yout,z）tとして、アプリケーションに出力する。そして、処理はステップＳ１に戻り、それ以降同様の処理が行なわれる。なお、座標変換処理は、例えば、検出装置２１の電源がオフされたときに終了される。
【０１３７】
以上説明したように、座標変換処理によれば、有効画素範囲内の特徴点（xin,yin）t-1及び特徴点（xin,yin）tを、特徴点（xout,yout）t-1及び特徴点（xout,yout）tに変換するようにしている。
【０１３８】
したがって、例えば、距離ｚに拘らず、特徴点（xout,yout）t-1及び特徴点（xout,yout）tに基づいて、指先の移動距離に応じた移動量を検出できる。このため、例えば、距離ｚに拘らず、指先の移動距離に応じた移動量でポインタを移動させるようにすることができる。
【０１３９】
＜２．変形例＞
[有効画素数X_validの決定方法]
本実施の形態では、座標変換部４６は、図５に示されるように、有効画素数X_validを決定するようにしたが、その他、例えば、図７に示されるように、距離算出部６３からの距離ｚが所定の距離以上である場合には、有効画素数X_validを一定値に固定するようにしてもよい。
【０１４０】
具体的には、例えば、図７に示されるように、距離算出部６３からの距離ｚが1m以上である場合、式（１）は、xout = (xin - x_offset1)×1/0.2 + x_offset2となり、式（２）は、X_valid = 640 × 0.2/1 = 128となるようにしてもよい。
【０１４１】
図７では、距離ｚが所定の距離（例えば、１m）以上であっても、有効画素範囲の有効画素数X_validは128に維持されるため、有効画素範囲を構成する画素数が少なくなり過ぎたために、分解能が低下する事態を防止できる。これにより、指先の移動量の検出精度が低下する事態を防止することが可能となる。
【０１４２】
また、例えば、図８に示されるように、有効画素数X_validが、距離ｚの平方根におおむね反比例する値となるようにしてもよい。この場合、例えば、距離ｚが0.4mである場合、有効画素数X_valid=320となるように、有効画素数X_validは、次式（３）に示されるように、画素数640に、スケーリングゲイン{1/2 × √（0.4/z）}を乗算して得られるものとなる。
X_valid = 640 × 1/2 × √（0.4/z）                ・・・（３）
【０１４３】
式（３）により有効画素数X_validを決定する場合、xoutは次式（４）に表されるものとなる。
xout = (xin - x_offset1)× 2 × √（z/0.4）+ x_offset2・・・（４）
【０１４４】
なお、式（４）において、スケーリングゲインの逆数である変換係数は、2 × √（z/0.4）とされる。これは、Ｘ方向の有効画素数X_valid=320 × √（0.4/z）の有効画素範囲内におけるxinを、Ｘ方向の画素数が640画素となる画像内におけるxoutに変換するためのものである。
【０１４５】
この場合、図９に示されるように、第１及び第２の画像上において、端から端までポインタを移動させるために、指先を移動させる必要がある移動距離は、距離ｚ0.2乃至2mにおいて、16.3乃至51.6cmとなる。
【０１４６】
このように、距離ｚの平方根に応じて、指先を移動させる必要がある移動距離が大きくなるようにしている。したがって、例えば、距離ｚの平方根に応じて移動距離が大きくなるように、指先を移動させるユーザ等においては、ポインタ等を移動させるときにより自然な操作感を得ることができる。
【０１４７】
なお、図８においては、式（３）に示されるように、距離ｚの-1/2乗に応じて、有効画素数X_validが変化するようにしたがこれに限定されない。すなわち、例えば、距離ｚの-α乗（0<α≦1）に応じて、有効画素数X_validが変化するようにしてもよい。
【０１４８】
この場合、ユーザ毎に、より自然な操作感を実現できるαの値を決定すれば、ユーザそれぞれに合わせた自然な操作感を実現することができるようになる。
【０１４９】
また、図８では、距離ｚが遠距離となっても、図５に示される場合と比較して、有効画素範囲の有効画素数X_validの減少は抑えられるため、有効画素範囲を構成する画素数が少なくなり過ぎたために、分解能が低下する事態を防止できる。
【０１５０】
さらに、図１０に示されるように、距離ｚに応じて、段階的に有効画素数X_validを変更させるようにしてもよい。この場合、xoutは次式（５）に表されるものとなる。
xout = (xin - x_offset1)× （640/X_valid） + x_offset2・・・（５）
【０１５１】
なお、式（５）において、変換係数は（640/X_valid）とされる。いまの場合、図１０に示されるように、距離ｚに応じて、有効画素数X_validが段階的に変化するものとなっている。したがって、段階的に変化する有効画素数X_validを変数として有する変換係数（640/X_valid）も、段階的に変化するものとなる。
【０１５２】
また、例えば、変換係数（640/X_valid）が、１．５,２,２.５,３又は４等の切りの良い値となるように、有効画素数X_validを段階的に変化させるようにすれば、式（５）における演算速度をより早くすることができるようになる。
【０１５３】
さらに、図１０のようにした場合、第１及び第２の画像上において、端から端までポインタを移動させるために、指先を移動させる必要がある移動距離は、図１１に示されたように変化するものとなる。
【０１５４】
図１０に示されたようにする場合、例えば図５等のように連続的に有効画素数X_validを変化させる場合と比較して、有効画素数X_validが変化する頻度が少なくなるので、有効画素数X_validを決定する処理を軽減することができ、より迅速に処理を行うことが可能となる。
【０１５５】
[x_offset1の決定方法]
本実施の形態では、図４に示されるように、x_offset1を、特徴点（xin,yin）1のうちのxinとしたが、x_offset1はこれに限定されない。
【０１５６】
次に、図１２は、x_offset1を決定する場合の他の例を示している。
【０１５７】
座標変換部４６は、特徴点（xin,yin）1が、第１及び第２の画像上の領域１乃至５のいずれに存在するか否かを判定し、その判定結果に基づいて、x_offset1を、座標８１乃至８５のいずれかのx値とする。
【０１５８】
すなわち、例えば、座標変換部４６は、特徴点（xin,yin）1が領域１に存在すると判定した場合、x_offset1を、座標８１のx値とし、特徴点（xin,yin）1が領域２に存在すると判定した場合、x_offset1を、座標８２のx値とし、特徴点（xin,yin）1が領域３に存在すると判定した場合、x_offset1を、座標８３のx値とする。
【０１５９】
また、例えば、座標変換部４６は、特徴点（xin,yin）1が領域４に存在すると判定した場合、x_offset1を、座標８４のx値とし、特徴点（xin,yin）1が領域５に存在すると判定した場合、x_offset1を、座標８５のx値とするようにする。
【０１６０】
この場合、図４の右上に示されるように、有効画素範囲が、第１及び第２の画像からはみ出るような事態を防止できるようになる。
【０１６１】
したがって、図４の右上に示されるような事態は生じないので、有効画素範囲が撮像画像内に含まれるようにするために、x_offset1を所定の値だけシフトする処理等を行なう必要がなくなる。このため、特徴点の変換を行なうアルゴリズムを単純化でき、より迅速に特徴点の変換を行なうことが可能となる。
【０１６２】
また、例えば、x_offset1は、顔に対応する肌領域に基づいて、決定するようにしてもよい。なお、例えば、肌領域検出部６１は、複数の肌領域を検出した場合、複数の肌領域のうち、距離ｚが最も遠い肌領域を、顔に対応する肌領域として検出するものとする。
【０１６３】
すなわち、例えば、座標変換部４６は、検出された複数の肌領域のうち、距離ｚが最も遠い肌領域を、顔に対応する領域として認識し、顔に対応する肌領域の特徴点に所定の値を加算し、その結果得られるユーザの首や胸付近に存在する点のxを、x_offset1とすればよい。このことは、y_offset1についても同様である。これにより、（x_offset1,y_offset1）を中心とする有効画素範囲は、ユーザの首や胸付近の範囲を表すものとなる。なお、Y方向におけるy_offset1についても、x_offset1と同様に決定される。
【０１６４】
ユーザがポインタ等を移動させるために、ユーザの指先（手）を移動させる場合には、ユーザの首や胸の前で、指先を移動させたりすることが最も自然な姿勢であると考えられる。したがって、顔に対応する肌領域の特徴点に基づいて、有効画素範囲の中心（x_offset1,y_offset1）を求める場合、ユーザは、自然な姿勢でポインタなどを操作することが可能となり、ユーザによる操作感が向上するものとなる。
【０１６５】
なお、座標変換部４６は、図５,図７,図８,図１０に示されるように、距離算出部６３からの距離に基づいて、有効画素数x_validを決定するようにしたが、これに限定されない。
【０１６６】
すなわち、例えば、距離ｚに代えて、肌領域の大きさや輝度値等と、有効画素数x_validとを対応付けるようにすれば、座標変換部４６は、肌領域検出部６１から特徴点抽出部６２を介して供給される肌領域の大きさや輝度値に基づいて、有効画素数x_validを決定することができる。この場合、有効画素数x_validを決定するために、距離ｚを算出する必要がなくなり、より簡易な構成とすることができる。
【０１６７】
なお、本実施の形態では、画像処理部４５が、カメラ４３からの第１及び第２の画像から肌領域を検出するようにしたが、肌領域の検出方法は、これに限定されない。
【０１６８】
[検出装置９１の構成例]
次に、図１３は、外光からの光が照射されている被写体からの反射光に基づいて得られる外光画像に基づいて、肌領域を検出するようにした検出装置９１の構成例を示している。
【０１６９】
なお、検出装置９１において、本実施の形態である検出装置２１と対応する部分については、同一の符号を付しているので、それらの説明は適宜省略する。
【０１７０】
すなわち、この検出装置９１は、LEDドライバ４２、カメラ４３、LED４４a及びLED４４bに代えてカメラ１０１が設けられているとともに、画像処理部４５に代えて画像処理部１０２が設けられている他は、検出装置２１と同様に構成されている。
【０１７１】
カメラ１０１は、制御部４１からの制御に従って、被写体を撮像して得られる外光画像を、画像処理部１０２に供給する。
【０１７２】
画像処理部１０２は、カメラ１０１からの外光画像に基づいて、肌領域を検出する。そして、画像処理部１０２は、画像処理部４５と同様にして、特徴点（xin,yin）t及び距離ｚtを算出して出力する。
【０１７３】
なお、画像処理部１０２は、肌領域検出部６１に代えて、形式変換部１２１、肌色部分抽出部１２２、及びパターンマッチング部１２３が設けられている他は、図１の画像処理部４５と同様に構成されている。
【０１７４】
形式変換部１２１には、カメラ１０１から外光画像が供給される。形式変換部１２１は、カメラ１０１からの外光画像を、RGB(red,green,blue)値からなる画素値のRGB画像から、HSV(hue,saturation,value)値からなる画素値のHSV画像に変換して、肌色部分抽出部１２２に供給する。
【０１７５】
肌色部分抽出部１２２は、形式変換部１２１からの外光画像としてのHSV画像上から、肌色の部分により構成される肌色部分領域を抽出し、パターンマッチング部１２３に供給する。
【０１７６】
パターンマッチング部１２３は、パターンマッチングにより、肌色部分抽出部１２２からの肌色部分領域から、肌領域を検出して、特徴点抽出部６２及び距離算出部６３に供給する。
【０１７７】
なお、パターンマッチングとしては、例えば、肌色部分領域を構成する各領域の特徴を表す特徴量それぞれと、人間の指先等の特徴を表す特徴量とを比較し、人間の指先等の特徴を表す特徴量と最も類似する特徴量を有する領域を、肌領域として検出するマッチング方法が考えられる。
【０１７８】
[検出装置１３１の構成例]
次に、図１４は、波長λ１の光が照射されている被写体からの反射光に基づいて得られる第１の画像に基づいて、肌領域を検出するようにした検出装置１３１の構成例を示している。
【０１７９】
なお、検出装置１３１において、本実施の形態である検出装置２１と対応する部分については、同一の符号を付しているので、それらの説明は適宜省略する。
【０１８０】
すなわち、この検出装置１３１は、LED４４a及びLED４４bを有するカメラ４３に代えて、LED４４aを有するカメラ１４１が設けられているとともに、画像処理部４５に代えて画像処理部１４２が設けられている他は、検出装置２１と同様に構成されている。
【０１８１】
なお、LED４４aは、LEDドライバ４２からの制御に従って、点灯及び消灯を繰り返すものとする。
【０１８２】
カメラ１４１は、LED４４aが点灯している場合、波長λ１の光が照射されている被写体からの反射光に基づいて、照明画像を生成して画像処理部１４２に供給する。また、カメラ１４１は、LED４４aが消灯している場合、外光のみが照射されている被写体からの反射光に基づいて、無照明画像を生成して画像処理部１４２に供給する。
【０１８３】
画像処理部１４２は、カメラ１４１からの照明画像及び無照明画像に基づいて、肌領域を検出する。そして、画像処理部１４２は、画像処理部４５と同様にして、特徴点（xin,yin）t及び距離ｚtを算出して出力する。
【０１８４】
なお、画像処理部１４２は、肌領域検出部６１に代えて、背景除去部１６１、形状抽出部１６２、及びパターンマッチング部１６３が設けられている他は、図１の画像処理部４５と同様に構成されている。
【０１８５】
背景除去部１６１には、カメラ１４１から照明画像及び無照明画像が供給される。背景除去部１６１は、供給された照明画像の画素値から、その画素値に対応する、同じく供給された無照明画像の画素値を差し引いて得られる差分値を算出する。
【０１８６】
そして、背景除去部１６１は、算出した差分値が所定の閾値以上であるか否かに基づいて、照明画像から背景を除去する。すなわち、例えば、背景除去部１６１は、差分値が所定の閾値未満となる差分値に対応する領域を背景として除去し、差分値が所定の閾値以上となる差分値に対応する領域を非背景領域として、パターンマッチング部１６３に供給する。
【０１８７】
形状抽出部１６２は、背景除去部１６１からの非背景領域から、肌部分の領域の形状を抽出し、その形状からなる肌色部分領域を、パターンマッチング部１６３に供給する。
【０１８８】
パターンマッチング部１６３は、形状抽出部１６２からの肌色部分領域に対して、図１３のパターンマッチング部１２３と同様の処理を行い、その結果得られる肌領域を、特徴点抽出部６２及び距離算出部６３に供給する。
【０１８９】
上述した検出装置２１は、例えば、テレビジョン受像機等に内蔵するように構成することができる。この場合、テレビジョン受像機において、内蔵された検出装置２１により出力される特徴点（xout,yout）tや距離ｚt等に対応して、所定の処理が行われる。このことは、検出装置９１及び１３１についても同様である。
【０１９０】
ところで、上述した一連の処理は、専用のハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、いわゆる組み込み型のコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０１９１】
[コンピュータの構成例]
図１５は、上述した一連の処理をプログラムにより実行するコンピュータの構成例を示すブロック図である。
【０１９２】
CPU（Central Processing Unit）２０１は、ROM（Read Only Memory）２０２、または記憶部２０８に記憶されているプログラムに従って各種の処理を実行する。RAM（Random Access Memory）２０３には、CPU２０１が実行するプログラムやデータなどが適宜記憶される。これらのCPU２０１、ROM２０２、およびRAM２０３は、バス２０４により相互に接続されている。
【０１９３】
CPU２０１にはまた、バス２０４を介して入出力インタフェース２０５が接続されている。入出力インタフェース２０５には、キーボード、マウス、マイクロホンなどよりなる入力部２０６、ディスプレイ、スピーカなどよりなる出力部２０７が接続されている。CPU２０１は、入力部２０６から入力される指令に対応して各種の処理を実行する。そして、CPU２０１は、処理の結果を出力部２０７に出力する。
【０１９４】
入出力インタフェース２０５に接続されている記憶部２０８は、例えばハードディスクからなり、CPU２０１が実行するプログラムや各種のデータを記憶する。通信部２０９は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
【０１９５】
また、通信部２０９を介してプログラムを取得し、記憶部２０８に記憶してもよい。
【０１９６】
入出力インタフェース２０５に接続されているドライブ２１０は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア２１１が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部２０８に転送され、記憶される。
【０１９７】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを記録する記録媒体は、図１５に示すように、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む）、光磁気ディスク（ＭＤ（Mini-Disc）を含む）、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア２１１、または、プログラムが一時的もしくは永続的に記録されるROM２０２や、記憶部２０８を構成するハードディスクなどにより構成される。記録媒体へのプログラムの記録は、必要に応じてルータ、モデムなどのインタフェースである通信部２０９を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【０１９８】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１９９】
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０２００】
２１  検出装置，  ４１  制御部，  ４２  LEDドライバ，  ４３  カメラ，  ４４a，４４b  LED，  ４５  画像処理部，  ４６  座標変換部，  ４７  フィルタ処理部，  ９１  検出装置，  １０１  カメラ，  １０２  画像処理部，  １２１  形式変換部，  １２２  肌色部分抽出部，  １２３  パターンマッチング部，  １３１  検出装置，  １４１  カメラ，  １４２  画像処理部，  １６１  背景除去部，  １６２  形状抽出部，  １６３  パターンマッチング部，
【図１】
0005521888.tif 000002
【図２】
0005521888.tif 000003
【図３】
0005521888.tif 000004
【図４】
0005521888.tif 000005
【図５】
0005521888.tif 000006
【図６】
0005521888.tif 000007
【図７】
0005521888.tif 000008
【図８】
0005521888.tif 000009
【図９】
0005521888.tif 000010
【図１０】
0005521888.tif 000011
【図１１】
0005521888.tif 000012
【図１２】
0005521888.tif 000013
【図１３】
0005521888.tif 000014
【図１４】
0005521888.tif 000015
【図１５】
0005521888.tif 000016