説明

情報処理装置、情報処理方法、プログラム、及び電子装置

【課題】情報処理装置とユーザとの距離に拘らず、違和感なく情報処理装置を操作できるようにする。
【解決手段】肌領域検出部61は、画像上からユーザの肌を表す肌領域を検出し、特徴点抽出部62は、肌領域の特徴点を抽出し、距離算出部63は、肌領域に基づいて、ユーザまでの距離を算出し、座標変換部46は、距離に応じて、特徴点を所定の座標空間上の座標点に変換するための変換係数を決定し、決定した変換係数に基づいて、特徴点を所定の座標空間上の座標点に変換する。本発明は、例えば、撮像された画像から、ユーザの肌領域を検出する検出装置に適用できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、プログラム、及び電子装置に関し、特に、例えば、ユーザの動き等を入力操作として受け付ける情報処理装置を違和感なく操作できるようにした情報処理装置、情報処理方法、プログラム、及び電子装置に関する。
【背景技術】
【0002】
ユーザの3次元位置を検出する位置検出技術が存在する。この位置検出技術では、例えば、2台のカメラを用いたステレオカメラ処理により、ユーザの3次元位置を検出したり(例えば、特許文献1を参照)、専用の指示具をユーザに保持させ、専用の指示具の3次元位置を、ユーザの3次元位置として検出する(例えば、特許文献2を参照)。
【0003】
位置検出技術によれば、例えば、ユーザの3次元位置に基づいて、所定の時間内におけるユーザの手の移動距離を算出し、算出した移動距離に応じて、ディスプレイ上のポインタ等を移動させることができる。
【0004】
また、カメラの撮像により得られる撮像画像上から、ユーザの顔や手などのように肌が露出している領域(以下、肌領域という)を検出する肌検出技術が存在する。
【0005】
この肌検出技術によれば、例えば、検出したユーザの手に対応する肌領域に基づいて、ユーザの手の3次元位置を算出する。そして、算出した3次元位置に基づいて、撮像画像上におけるユーザの手の移動量を算出し、算出した移動量に対応して、ディスプレイ上のポインタ等を移動させることができる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2004−258837号公報
【特許文献2】特開2004−062658号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上述の位置検出技術において、2台のカメラを用いて3次元位置を検出する場合、非常に大掛かりな装置となってしまう。また、専用の指示具を保持させて3次元位置を検出する場合には、専用の指示具をユーザに持たせる必要があり非常に煩わしい。
【0008】
さらに、上述の肌検出技術では、同一の移動距離で指先を移動させるようにしても、カメラから手までの距離に応じて、撮像画像上におけるユーザの手の移動量が異なるものとなってしまう。
【0009】
このため、同一の移動距離で指先を移動させたとしても、カメラから手までの距離に応じてポインタの移動量が変化していた。
【0010】
具体的には、例えば、ユーザが、同一の移動距離で手を移動させるようにしても、手までの距離が近いときには、撮像画像上において移動する手の移動量が大きなものとなり、手までの距離が遠いときには、撮像画像上において移動する指先の移動量が小さなものとなる。
【0011】
このため、肌検出技術では、同一の移動距離で手を移動させたとしても、距離に応じて、撮像画像上における手の移動量が異なるものとなってしまい、その結果、ポインタが移動する移動量が異なるものとなってしまっていた。したがって、ユーザの操作において、非常に違和感のあるものとなっていた。
【0012】
本発明は、このような状況に鑑みてなされたものであり、情報処理装置とユーザとの距離に拘らず、違和感なく情報処理装置を操作するようにするものである。
【課題を解決するための手段】
【0013】
本発明の第1の側面の情報処理装置は、画像上からユーザの肌を表す肌領域を検出する検出手段と、前記肌領域の特徴点を抽出する抽出手段と、前記肌領域に基づいて、前記ユーザまでの距離を算出する算出手段と、前記距離に応じて、前記特徴点を所定の座標空間上の座標点に変換するための変換係数を決定する変換係数決定手段と、前記変換係数に基づいて、前記特徴点を所定の座標空間上の座標点に変換する座標変換手段とを含む情報処理装置である。
【0014】
前記変換係数決定手段には、前記距離のα乗(0<α≦1)に比例する値を前記変換係数に決定させることができる。
【0015】
前記変換係数決定手段には、前記距離が所定の閾値以上である場合、前記距離に拘らず同一の値を前記変換係数に決定させることができる。
【0016】
前記変換係数決定手段には、前記距離に応じて段階的に変化する値を前記変換係数に決定させることができる。
【0017】
前記画像上の全領域のうち、前記座標変換手段により変換される前記特徴点が存在する範囲とされる有効範囲を決定する有効範囲決定手段をさらに設けることができる。
【0018】
前記有効範囲内の前記特徴点をオフセット値だけオフセットするオフセット手段をさらに設けることができ、前記座標変換手段には、オフセットされた前記特徴点を所定の座標空間上の座標点に変換させることができる。
【0019】
前記有効範囲決定手段には、複数の前記肌領域が検出された場合、前記複数の肌領域のうち、前記距離が最も遠い肌領域の特徴点に基づいて、前記有効範囲を決定させ、前記オフセット手段には、前記複数の肌領域のうち、前記距離が最も遠い肌領域の特徴点を前記オフセット値として、前記有効範囲内の前記特徴点をオフセットさせることができる。
【0020】
前記有効範囲決定手段には、前記検出手段により最初に検出された前記肌領域の特徴点に基づいて、前記有効範囲を決定させ、前記オフセット手段には、前記検出手段により最初に検出された前記肌領域の特徴点に基づき決定される前記オフセット値を用いて、前記有効範囲内の前記特徴点をオフセットさせることができる。
【0021】
第1の波長の光を前記ユーザに照射する第1の照射手段と、前記第1の波長よりも長波長である第2の波長の光を前記ユーザに照射する第2の照射手段と、前記第1の波長の光が前記ユーザに照射されているときに入射される前記ユーザからの反射光に基づいて第1の画像を生成するとともに、前記第2の波長の光が前記ユーザに照射されているときに入射される前記ユーザからの反射光に基づいて第2の画像を生成する生成手段とをさらに設けることができ、前記検出手段には、生成された前記第1及び第2の画像に基づいて、前記ユーザの前記肌領域を検出させることができる。
【0022】
本発明の第1の側面の情報処理方法は、画像上におけるユーザの肌を表す肌領域から特徴点を抽出する情報処理装置の情報処理方法であって、前記情報処理装置は、検出手段と、抽出手段と、算出手段と、変換係数決定手段と、座標変換手段とを含み、前記検出手段が、画像上からユーザの肌を表す肌領域を検出し、前記抽出手段が、前記肌領域の特徴点を抽出し、前記算出手段が、前記肌領域に基づいて、前記ユーザまでの距離を算出し、前記変換係数決定手段が、前記距離に応じて、前記特徴点を所定の座標空間上の座標点に変換するための変換係数を決定し、前記座標変換手段が、前記変換係数に基づいて、前記特徴点を所定の座標空間上の座標点に変換するステップを含む情報処理方法である。
【0023】
本発明の第1の側面のプログラムは、コンピュータを、画像上からユーザの肌を表す肌領域を検出する検出手段と、前記肌領域の特徴点を抽出する抽出手段と、前記肌領域に基づいて、前記ユーザまでの距離を算出する算出手段と、前記距離に応じて、前記特徴点を所定の座標空間上の座標点に変換するための変換係数を決定する変換係数決定手段と、前記変換係数に基づいて、前記特徴点を所定の座標空間上の座標点に変換する座標変換手段として機能させるためのプログラムである。
【0024】
本発明の第1の側面によれば、画像上からユーザの肌を表す肌領域が検出され、検出された前記肌領域の特徴点が抽出され、前記肌領域に基づいて、前記ユーザまでの距離が算出され、算出された前記距離に応じて、前記特徴点を所定の座標空間上の座標点に変換するための変換係数が決定される。そして、決定された前記変換係数に基づいて、前記特徴点が所定の座標空間上の座標点に変換される。
【0025】
本発明の第2の側面の電子装置は、画像上からユーザの肌を表す肌領域を検出する検出手段と、前記肌領域の特徴点を抽出する抽出手段と、前記肌領域に基づいて、前記ユーザまでの距離を算出する算出手段と、前記距離に応じて、前記特徴点を所定の座標空間上の座標点に変換するための変換係数を決定する変換係数決定手段と、前記変換係数に基づいて、前記特徴点を所定の座標空間上の座標点に変換する座標変換手段と、前記座標点に応じて所定の処理を実行する実行手段とを含む電子装置である。
【0026】
本発明の第2の側面によれば、画像上からユーザの肌を表す肌領域が検出され、検出された前記肌領域の特徴点が抽出され、前記肌領域に基づいて、前記ユーザまでの距離が算出され、算出された前記距離に応じて、前記特徴点を所定の座標空間上の座標点に変換するための変換係数が決定される。そして、決定された前記変換係数に基づいて、前記特徴点が所定の座標空間上の座標点に変換され、変換された前記座標点に応じて所定の処理が実行される。
【発明の効果】
【0027】
本発明によれば、情報処理装置とユーザとの距離に拘らず、違和感なく情報処理装置を操作することが可能となる。
【図面の簡単な説明】
【0028】
【図1】本発明を適用した検出装置の第1の構成例を示すブロック図である。
【図2】距離に応じて異なる移動量が算出される場合の一例を示す図である。
【図3】本発明の概要を説明するための図である。
【図4】座標変換部が行う処理を説明するための図である。
【図5】距離と有効画素範囲との関係を示す第1の図である。
【図6】検出装置が行なう座標変換処理を説明するためのフローチャートである。
【図7】距離と有効画素範囲との関係を示す第2の図である。
【図8】距離と有効画素範囲との関係を示す第3の図である。
【図9】距離と移動距離との関係を示す第1の図である。
【図10】距離と有効画素範囲との関係を示す第4の図である
【図11】距離と移動距離との関係を示す第2の図である。
【図12】オフセット値を決定する場合の一例を示す図である。
【図13】本発明を適用した検出装置の第2の構成例を示すブロック図である。
【図14】本発明を適用した検出装置の第3の構成例を示すブロック図である。
【図15】コンピュータの構成例を示すブロック図である。
【発明を実施するための形態】
【0029】
以下、発明を実施するための形態(以下、本実施の形態という)について説明する。なお、説明は以下の順序で行う。
1.本実施の形態(ユーザの位置を表す座標を、ポインタの位置を表す座標を定義する座標軸上にマッピングする場合の一例)
2.変形例
【0030】
<1.本実施の形態>
[検出装置21の構成例]
図1は、本実施の形態である検出装置21の構成例を示している。
【0031】
この検出装置21は、撮像した画像から被写体の肌領域(例えば、顔、手、指先など)を検出するものである。そして、検出した肌領域に基づいて、その肌領域の3次元位置(x,y,z)を算出し、肌領域までの距離zに依存しない座標系に変換するものである。
【0032】
なお、3次元位置(x,y,z)は、例えば、カメラ43の集光レンズの光軸方向をZ軸とし、カメラ43の水平方向をX軸とし、カメラ43の垂直方向をY軸とするXYZ座標軸上に定義される。
【0033】
検出装置21は、制御部41、LED(Light Emitting Diode)ドライバ42、カメラ43、LED44a及び44b、画像処理部45、座標変換部46、及びフィルタ処理部47から構成される。
【0034】
制御部41は、LEDドライバ42、カメラ43、及び画像処理部45等を制御する。具体的には、例えば、制御部41は、カメラ43の撮像タイミング、輝度増幅のゲインなどを制御する。
【0035】
LEDドライバ42は、制御部41からの制御に従い、LED44a及び44bの点灯タイミング、消灯タイミング、出力レベルを制御する。
【0036】
カメラ43は、集光レンズと、CCD、CMOSなどの撮像素子とを内蔵しており、制御部41からの制御に従い、被写体からの反射光を受光して画像を生成する。なお、LED44aが、発光スペクトルのピーク波長がλ1である光(以下、波長λ1の光という)を発光しているときに生成される画像を第1の画像とし、LED44bが、発光スペクトルのピーク波長がλ2である光(以下、波長λ2の光という)を発光しているときに生成される画像を第2の画像とする。
【0037】
カメラ43は、被写体からの反射光を受光して生成した第1及び第2の画像を、画像処理部45に供給する。
【0038】
LED44aは、LEDドライバ42の制御に従い、波長λ1の光を発光する。LED44bは、LEDドライバ42の制御に従い、波長λ2の光を発光する。
【0039】
なお、波長λ1及びλ2の値は、人間の肌の反射特性に依存して決定される。すなわち、波長λ1,λ2は、人の肌に照射したときの反射率が異なり、かつ、人の肌以外(例えば、髪の毛、衣服など)に照射したときの反射率がほぼ等しいものに決定されている。
【0040】
具体的には、例えば、波長λ1の値は640nmから1000nm、波長λ1よりも長波長側の波長λ2の値は900nmから1100nmとされる。
【0041】
画像処理部45は、カメラ43から供給される第1の画像及び第2の画像に基づいて、被写体の肌領域を検出する。そして、画像処理部45は、検出した肌領域に基づいて、第1及び第2の画像上における肌領域の位置を表す特徴点(xin,yin)と、被写体からカメラ43までの距離zを算出し、座標変換部46に供給する。
【0042】
すなわち、画像処理部45は、肌領域検出部61、特徴点抽出部62、及び距離算出部63により構成される。
【0043】
肌領域検出部61には、カメラ43から、第1及び第2の画像が供給される。肌領域検出部61は、カメラ43からの第1の画像と第2の画像との対応する画素の輝度値Y1,Y2の差分S=Y1−Y2を算出し、その差分Sを所定の閾値と比較することにより2値化し、2値の一方の領域(所定の閾値以上となる差分Sに対応する領域)を肌領域として検出する。
【0044】
そして、肌領域検出部61は、検出した肌領域を、特徴点抽出部62及び距離算出部63に供給する。
【0045】
特徴点抽出部62は、肌領域検出部61からの肌領域に基づいて、肌領域から特徴点(xin,yin)を抽出して座標変換部46に供給する。すなわち、例えば、特徴点抽出部62は、肌領域検出部61からの肌領域の重心を算出し、特徴点(xin,yin)として座標変換部46に供給する。
【0046】
距離算出部63は、肌領域検出部61からの肌領域の大きさに基づいて、被写体までの距離zを算出し、座標変換部46及びフィルタ処理部47に供給する。
【0047】
なお、距離算出部63では、被写体までの距離zが短い程に、肌領域の大きさは大きくなることを利用して、被写体までの距離zを算出している。
【0048】
また、距離算出部63は、LED44a及びLED44bから被写体までの距離が短い程に、肌領域の輝度値(例えば、平均輝度値等)は大きくなることを利用して、被写体までの距離zを算出するようにしてもよい。
【0049】
座標変換部46は、距離算出部63からの距離zに基づいて、特徴点抽出部62からの特徴点(xin,yin)を、図示せぬディスプレイに表示されるポインタの位置を表す特徴点(xout,yout)に変換し、フィルタ処理部47に供給する。
【0050】
フィルタ処理部47は、例えば、時間方向のフィルタリング処理として、座標変換部46からの特徴点(xout,yout)に対して、ノイズ除去のためのフィルタリング処理、又は手振れ除去のためのフィルタリング処理の少なくとも一方を行う。
【0051】
具体的には、例えば、フィルタ処理部47は、座標変換部46からの特徴点(xout,yout)に対して、FIR(finite impulse response)フィルタやIIR(infinite impulse response)フィルタを用いて、ノイズ除去のためのフィルタリング処理を行なったり、非線形フィルタ処理を用いて、手振れ除去のためのフィルタリング処理(例えば、移動量が微小の場合は前回の特徴点(xout,yout)を、今回の特徴点(xout,yout)として扱うようにする処理)を行う。
【0052】
フィルタ処理部47は、フィルタリング処理後の特徴点(xout,yout)を、アプリケーションに出力する。
【0053】
また、フィルタ処理部47は、距離算出部63からの距離zを、アプリケーションに出力する。
【0054】
これにより、アプリケーション側では、例えば、フィルタ処理部47からの特徴点(xout,yout)に対応する位置に、図示せぬディスプレイ上のポインタを移動させるようにしたり、フィルタ処理部47からの距離zの変化に応じて、ポインタが指し示す位置を選択するクリック操作が行なわれたか否か等が判断される。
【0055】
なお、本実施の形態では、検出装置21に座標変換部46が設けられている点が発明のポイント部分である。よって、次に、図2を参照して、座標変換部46により座標変換を行う必要性について説明し、図3乃至図5を参照して、座標変換部46が行う処理の詳細について説明する。
【0056】
以下において、検出装置21は、被写体の指先に対応する肌領域に基づいて、被写体の指先の3次元位置(x,y,z)を算出するものとして説明する。
【0057】
[距離z毎に算出される移動量が異なる場合の一例]
図2は、同一の移動距離で指先を移動させたにも拘らず、距離z毎に算出される、第1及び第2の画像上における指先の移動量が異なるものとなってしまう場合の一例を示している。
【0058】
なお、図2に示されるように、カメラ43から被写体までの距離zに応じて、カメラ43により撮像される撮像範囲(図中、太い実線及び点線で示す)が異なるものとなる。また、カメラ34の撮像により得られる第1及び第2の画像は、例えば、横×縦が640×480画素である画像とする。さらに、カメラ43における水平方向の画角は60度であり、垂直方向の画角は47度であるものとする。
【0059】
例えば、図2に示されるように、カメラ43からの被写体までの距離zが0.2m(=20cm)である場合、第1及び第2の画像上において、指先を、第1及び第2の画像の水平方向の総画素数である640画素分だけ移動させるためには、実際に指先を水平方向に移動距離L=0.231m(=23.1cm)だけ移動させる必要がある。
【0060】
これに対して、例えば、カメラ43からの距離z=1mである場合、第1及び第2の画像上において、指先を、640画素分だけ移動させるためには、実際に指先を水平方向に移動距離L=1.15mだけ移動させる必要がある。
【0061】
また、例えば、カメラ43からの距離z=2mである場合、第1及び第2の画像上において、指先を、640画素分だけ移動させるためには、実際に指先を水平方向に移動距離L=2.31mだけ移動させる必要がある。
【0062】
したがって、いずれの距離zにおいて同一の移動距離Lにより指先を移動させた場合でも、カメラ43の撮像により得られる第1及び第2の画像上における指先は、第1及び第2の画像上において同一の画素数だけ移動するものとはならない。
【0063】
すなわち、例えば、カメラ43から被写体までの距離zが0.2mである場合において、指先を移動距離Qmだけ移動させた場合、指先の移動を開始したときの特徴点(xin,yint-1から、指先の移動を終了したときの特徴点(xin,yintまでのX方向の移動量は、p画素分の移動量になるものとする。なお、特徴点(xin,yintは、肌領域から連続してt番目に抽出された特徴点(xin,yin)を表す。
【0064】
これに対して、カメラ43から被写体までの距離zが1mである場合において、特徴点(xin,yint-1から特徴点(xin,yintまでのX方向の移動量は、p/5画素分の距離となる。
【0065】
したがって、カメラ43から被写体までの距離zが0.2mである場合、移動量がp画素分であると認識される一方、カメラ43から被写体までの距離zが1mである場合、移動量がp/5画素分であると認識されることとなる。
【0066】
このため、例えば、カメラ43から得られる第1及び第2の画像上において移動する指先の移動量に応じて、ポインタを移動させるようにした場合、同一の移動距離Qmだけ指先を移動させたにも拘らず、距離zに応じて、図示せぬディスプレイ上に表示されるポインタの移動量が異なるものとなってしまう。
【0067】
そこで、本発明では、例えば、指先を移動距離Qmだけ移動させた場合には、距離zに拘らず、X方向の移動量がp画素分であると認識されるようにしている。
【0068】
このようにして、本発明では、距離zに拘らず、同一の移動距離Qmで、ディスプレイ上のポインタを同じ移動量だけ移動させることができるようにしている。
【0069】
次に、図3は、本発明の概要を示している。
【0070】
図3Aに示されるように、カメラ43から被写体までの距離zが0.2m(=20cm)である場合、第1及び第2の画像上において、水平方向に端から端までの移動量である640画素分の移動量だけ指先を移動させるために必要な移動距離Lは0.231m(=23.1cm)となっている。なお、第1及び第2の画像は、例えば、横×縦が640×480画素の画像であるものとする。
【0071】
本実施の形態において、アプリケーション側では、例えば、カメラ43から被写体までの距離zが0.2mである場合において、第1及び第2の画像上の指先が移動する移動量を、そのまま、ポインタの移動量とするものとする。
【0072】
すなわち、いずれの距離zにおいても、指先を移動距離L=0.231mだけ移動させた場合、第1及び第2の画像上の指先が移動する移動量が、640画素分の移動量となるように、座標変換部46において座標変換をするものとする。
【0073】
カメラから被写体までの距離zが0.2mである場合に、指先を移動距離Qmだけ移動させたときには、特徴点(xin,yint-1から特徴点(xin,yintまでのX方向の移動量はp画素となる。
【0074】
したがって、座標変換部46は、特徴点抽出部62からの特徴点(xin,yintを、そのまま、特徴点(xout,youttとしてフィルタ処理部47を介してアプリケーション側に出力する。
【0075】
アプリケーション側は、フィルタ処理部47からの特徴点(xout,youttに基づいて、被写体の指先の移動量をp画素分の移動量として認識し、ポインタをX方向にp画素だけ移動させる。
【0076】
また、カメラから被写体までの距離zが0.4m(=40cm)である場合に、指先を移動距離Qmだけ移動させたときには、特徴点(xin,yint-1から特徴点(xin,yintまでのX方向の移動量はp/2画素となる。
【0077】
したがって、例えば、座標変換部46は、図3Bに示されるように、特徴点(xin,yint-1及び特徴点(xin,yintを含む有効画素範囲として、X方向の有効画素数X_valid=320となる有効画素範囲を決定する。
【0078】
これにより、カメラ43から被写体までの距離zが0.4mである場合、第1及び第2の画像上において決定された有効画素範囲において、水平方向に端から端まで指先を移動させるために必要な移動距離Lは0.231mとなる。
【0079】
なお、有効画素範囲は、X_valid×Y_valid(横×縦)の画素数からなる領域であり、Y_validは、Y方向の有効画素数を表すものとなるが、Y_validはX_validに比例する値であるため、X_validのみを説明するようにしている。
【0080】
座標変換部46は、決定した有効画素範囲を、画素の補間等により、有効画素数X_valid=640となる画像、すなわち、第1及び第2の画像と同一の大きさの画像に変換する。これにより、有効画素範囲内の特徴点(xin,yint-1及び特徴点(xin,yintは、それぞれ、変換後の画像上の特徴点(xout,youtt-1及び特徴点(xout,youttに変換される。
【0081】
この場合、変換後の画像において、特徴点(xout,youtt-1から特徴点(xout,youttまでのX方向の移動量は、p画素となる。したがって、アプリケーション側において、フィルタ処理部47からの特徴点(xout,youttに基づいて、被写体の指先の移動量はp画素分の距離であるものとして認識され、ポインタはX方向にp画素だけ移動するものとなる。
【0082】
また、カメラから被写体までの距離zが1mである場合において、特徴点(xin,yint-1から特徴点(xin,yintまでのX方向の移動量はp/5画素分の距離となる。
【0083】
したがって、例えば、座標変換部46は、図3Cに示されるように、特徴点(xin,yint-1及び特徴点(xin,yintを含む有効画素範囲として、X方向の有効画素数X_valid=128となる有効画素範囲を決定する。
【0084】
これにより、カメラ43から被写体までの距離zが1mである場合、第1及び第2の画像上において決定された有効画素範囲において、水平方向に端から端まで指先を移動させるために必要な移動距離Lは0.231mとなる。
【0085】
また、座標変換部46は、決定した有効画素範囲(X_valid=128)を、有効画素数X_valid=640となる画像に変換する。これにより、有効画素範囲内の特徴点(xin,yint-1及び特徴点(xin,yintは、それぞれ、変換後の画像上の特徴点(xout,youtt-1及び特徴点(xout,youttに変換される。この場合、特徴点(xout,youtt-1から特徴点(xout,youttまでのX方向の移動距離は、p画素分の距離となる。したがって、アプリケーション側において、フィルタ処理部47からの特徴点(xout,youttに基づいて、被写体の指先の移動量はp画素であるものとして認識され、ポインタもp画素だけ移動される。
【0086】
さらに、カメラから被写体までの距離zが2mである場合において、特徴点(xin,yint-1から特徴点(xin,yintまでのX方向の移動量はp/10画素となる。
【0087】
したがって、例えば、座標変換部46は、図3Dに示されるように、特徴点(xin,yint-1及び特徴点(xin,yintを含む有効画素範囲として、X方向の有効画素数X_valid=64となる有効画素範囲を決定する。
【0088】
これにより、カメラ43から被写体までの距離zが2mである場合、第1及び第2の画像上において決定された有効画素範囲において、水平方向に端から端まで指先を移動させるために必要な移動距離Lは0.231mとなる。
【0089】
また、座標変換部46は、決定した有効画素範囲(X_valid=64)を、有効画素数X_valid=640となる画像に変換する。これにより、有効画素範囲内の特徴点(xin,yint-1及び特徴点(xin,yintは、それぞれ、変換後の画像上の特徴点(xout,youtt-1及び特徴点(xout,youttに変換される。この場合、特徴点(xout,youtt-1から特徴点(xout,youttまでのX方向の移動距離は、p画素分の距離となる。したがって、アプリケーション側において、フィルタ処理部47からの特徴点(xout,youttに基づいて、被写体の指先の移動量はp画素であるものとして認識され、ポインタもp画素だけ移動される。
【0090】
このように、検出装置21では、有効画素範囲内の特徴点(xin,yint-1及び特徴点(xin,yintではなく、変換後に得られる特徴点(xout,youtt-1及び特徴点(xout,youttに基づいて、第1及び第2の画像上における指先の移動量を求め、その指先の移動量に応じて、ポインタが移動されるようにしている。
【0091】
次に、図4を参照して、座標変換部46が行う処理について説明する。
【0092】
座標変換部46は、図4に示されるように、距離算出部63からの距離zに応じて、有効画素範囲を決定する。
【0093】
すなわち、例えば、座標変換部46は、図4の左上に示されるように、距離算出部63からの距離zに応じて、有効画素範囲Rの大きさ、すなわち、有効画素範囲Rの横×縦=X_valid×Y_validの画素数を決定する。なお、有効画素範囲Rの大きさを決定する決定方法については、図5を参照して後述する。
【0094】
また、座標変換部46は、特徴点抽出部62からの特徴点(xin,yin1を重心として、決定した有効画素範囲を第1又は第2の画像上に設定する。
【0095】
なお、有効画素範囲は、距離算出部63からの距離zが変化する毎に、新たに決定される。そして、有効画素範囲の重心は、距離が変化した後に、最初に抽出された特徴点(xin,yin1の重心とされる。
【0096】
なお、アプリケーションにおいて、例えば、設定した有効画素範囲が、第1及び第2の画像の大きさである640×480の範囲に変換されて得られる画像データを必要としている場合には、座標変換部46は、設定した有効画素範囲を、第1及び第2の画像の大きさである640×480の範囲に変換し、その結果得られる画像データを、フィルタ処理部47を介してアプリケーションに供給するようにしてもよい。
【0097】
また、座標変換部46は、特徴点抽出部62からの特徴点(xin,yintを、次式(1)及び(1)'を用いて、特徴点(xout,youttに変換する。
xout = (xin - x_offset1)×z/0.2 + x_offset2・・・(1)
yout = (yin - y_offset1)×z/0.2 + y_offset2・・・(1)'
【0098】
なお、式(1)において、x_offset1は、有効画素範囲の中心位置(x,y)のうちのxを表し、例えば特徴点(xin,yin1のうちのxinとされる。また、x_offset2は、第1及び第2の画像上における中心位置(x,y)のx座標を表し、例えば、変換後の特徴点(xout,yout1のうちのxoutとされる。さらに、式(1)'において、y_offset1は、有効画素範囲の中心位置(x,y)のうちのyを表し、例えば特徴点(xin,yin1のうちのyinとされる。また、y_offset2は、第1及び第2の画像上における中心位置(x,y)のy座標を表し、例えば、変換後の特徴点(xout,yout1のうちのyoutとされる。
【0099】
また、式(1)において、(xin - x_offset1)と乗算される変換係数z/0.2は、xinをxoutに変換するために乗算される係数である。さらに、式(1)'において、(yin - y_offset1)と乗算される変換係数z/0.2は、yinをyoutに変換するために乗算される係数である。いまの場合、距離zが0.2mである場合に得られる特徴点(xin,yin)を基準としているため、変換係数は、距離zを、基準となる距離z=0.2mで除算して得られる値とされている。
【0100】
これにより、有効画素範囲の中心(重心)を表す特徴点(xin,yin1を原点とするXY座標上の特徴点(xin,yintを、480×640からなる第1及び第2の画像の中心を原点とするXY座標上の特徴点(xout,youttに変換することができる。なお、式(1)'は、式(1)と同様であるため、以下において、式(1)のみを説明し、式(1)'の説明は適宜省略する。
【0101】
なお、図4の左下に示されるように、特徴点(xin,yin1の位置に応じて、異なる位置に有効画素範囲が設定されるものとなる。
【0102】
座標変換部46は、設定された有効画素範囲内で抽出された特徴点(xin,yintを、特徴点(xout,youttに変換してフィルタ処理部47に供給する。
【0103】
また、図4の右上に示されるように、設定される有効画素範囲すべてが、第1及び第2の画像に含まれない場合には、有効画素範囲すべてが含まれるように、設定する有効画素範囲の重心をずらすようにする。
【0104】
すなわち、例えば、図4の右上に示されるように、有効画素範囲の一部が、撮像画像に含まれない場合(有効画素範囲の一部が欠落している場合)、座標変換部46は、特徴点(xin,yin1のxinであるx_offset1に所定の値を加算するようにして、有効画素範囲の中心(xin,yin1のxin(=x_offset1)をずらすようにしてもよい。
【0105】
この場合、有効画素範囲が撮像画像内に含まれることとなるので、有効画素範囲を、第1及び第2の画像の大きさに拡大してアプリケーション側に渡された場合に、有効画素範囲に対応する画像の一部分が欠落する事態を防止できる。
【0106】
なお、x_offset1について説明したが、これらのことは、Y軸におけるy_offset1についても同様のことがいえる。
【0107】
[有効画素範囲の大きさの決定方法]
次に、図5を参照して、座標変換部46が、有効画素範囲の大きさを決定する処理について説明する。図5は、距離zと有効画素範囲との関係を示している。
【0108】
座標変換部46は、図5に示されるように、距離算出部63からの距離zに基づいて、有効画素範囲のX方向の有効画素数X_validを決定する。また同様にして、座標変換部46は、距離算出部63からの距離zに基づいて、有効画素範囲のY方向の有効画素数Y_validとを決定する。
【0109】
なお、有効画素数X_validと有効画素数Y_validとは、それぞれ同様の方法で決定されるため、図5以降の図面では、有効画素数X_validを決定する場合についてのみ説明し、有効画素数Y_validを決定する場合の説明は省略する。以降の説明についても同様である。
【0110】
また、座標変換部46は、距離zと、有効画素数x_validを対応付けて保持するテーブルや、距離zを変数として有効画素数x_validを算出する関数等に基づいて、図5に示されるような対応関係で、有効画素範囲のX方向の有効画素数X_validを決定する。
【0111】
なお、距離zが近距離になる程に、肌領域検出部61により検出される肌領域の大きさや輝度値は大きなものとなる。したがって、座標変換部46は、距離算出部63からの距離zではなく、肌領域検出部61により検出される肌領域の大きさや輝度値を用いて、有効画素範囲のX方向の有効画素数X_validを決定するようにしてもよい。
【0112】
具体的には、例えば、座標変換部46は、肌領域の大きさや輝度値と、有効画素数x_validを対応付けて保持するテーブルや、肌領域の大きさや輝度値を変数として有効画素数x_validを算出する関数等に基づいて、図5に示されるような対応関係で、有効画素範囲のX方向の有効画素数X_validを決定するようにしてもよい。このことは、後述する図7,図8及び図10についても同様である。
【0113】
図5において、横軸は距離zを表しており、縦軸は、X方向の有効画素数X_validを表している。そして、X方向の有効画素数X_validは次式(2)により表される。
X_valid = 640 × 0.2/z ・・・(2)
【0114】
なお、式(2)において、X方向の画素数640は、アプリケーション側に供給される画像におけるX方向の画素数を表す。また、変換係数z/0.2の逆数であるスケーリングゲイン0.2/zは、X方向の有効画素数X_validを算出するために用いられるものである。具体的には、例えば、スケーリングゲイン0.2/zは、式(2)に示されるように、アプリケーション側に供給される画像におけるX方向の画素数640と乗算される。
【0115】
座標変換部46は、図5に示されるように、距離算出部63からの距離zに対応するX方向の有効画素数X_validを算出する。また、座標変換部46は、同様にして、距離算出部63からの距離zに対応するY方向の有効画素数Y_validを算出する。
【0116】
そして、座標変換部46は、算出したX_valid×Y_valid(横×縦)の画素数からなる有効画素範囲Rを、図4を参照して説明したように、特徴点(xin,yin1を重心とする位置に設定する。そして、座標変換部46は、有効画素範囲R内に存在する特徴点(xin,yintのみを、特徴点(xout,youttに変換する。
【0117】
[検出装置21の動作説明]
次に、図6のフローチャートを参照して、検出装置21が行う座標変換処理について説明する。
【0118】
この座標変換処理は、例えば、検出装置21の電源がオンされたときに開始される。
【0119】
このとき、例えば、LED44aは、LEDドライバ42からの制御に従って、波長λ1の光を被写体に照射する。この照射光は外光とともに被写体により反射され、カメラ43に入射される。カメラ43は、制御部41からの制御に従って、入射された光を光電変換することにより第1の画像を生成し、肌領域検出部61に供給する。
【0120】
次に、LED44bは、LEDドライバ42からの制御に従って、波長λ2の光を被写体に照射する。この照射光は外光とともに被写体により反射され、カメラ43に入射される。カメラ43は、制御部41からの制御に従って、入射された光を光電変換することにより第2の画像を生成し、肌領域検出部61に供給する。
【0121】
そして、ステップS1において、肌領域検出部61は、カメラ43から供給されてくる第1及び第2の画像を取得する。
【0122】
ステップS2において、肌領域検出部61は、取得した第1の画像と第2の画像との対応する画素の輝度値Y1,Y2の差分S=Y1−Y2を算出し、その差分Sを所定の閾値と比較することにより2値化する。そして、肌領域検出部61は、2値化により得られる2値に基づいて、肌領域の検出を試みる。
【0123】
肌領域検出部61は、2値の領域のうち、2値の一方の領域(所定の閾値以上となる差分Sに対応する領域)が存在する場合には、その領域を、肌領域として検出する。
【0124】
ステップS3において、肌領域検出部61は、ステップS2の処理による処理結果に基づいて、肌領域を検出できたか否かを判定し、肌領域を検出できなかったと判定した場合、処理をステップS1に戻し、それ以降同様の処理を行なう。
【0125】
ステップS3において、肌領域検出部61は、ステップS2の処理による処理結果に基づいて、肌領域を検出できたと判定した場合、処理をステップS4に進める。
【0126】
ステップS4では、肌領域検出部61は、ステップS2の処理による処理結果に基づいて、複数の肌領域を検出したか否かを判定し、複数の肌領域を検出したと判定した場合、処理をステップS5に進める。
【0127】
そして、肌領域検出部61は、複数の肌領域の大きさや輝度値等に基づいて、複数の肌領域のうち、最も短い距離zに存在する肌領域を、注目肌領域として選択し、特徴点抽出部62及び距離算出部63に供給して、処理をステップS6に進める。
【0128】
なお、肌領域検出部61は、距離zが近距離である程に、対応する肌領域の大きさや輝度値(例えば、平均輝度値等)は大きなものとなることを利用して、複数の肌領域のうち、最も短い距離zに存在する肌領域を、注目肌領域として選択するようにしている。
【0129】
また、ステップS4において、肌領域検出部61は、ステップS2の処理による処理結果に基づいて、複数の肌領域を検出していない、すなわち、1つの肌領域を検出したと判定した場合、検出した1つの肌領域を、注目肌領域として選択し、特徴点抽出部62及び距離算出部63に供給して、処理をステップS6に進める。
【0130】
ステップS6では、特徴点抽出部62は、肌領域検出部61からの注目肌領域に基づいて、注目肌領域の特徴点(xin,yintを抽出し、座標変換部46に供給する。
【0131】
ステップS7において、距離算出部63は、肌領域検出部61からの注目肌領域の大きさや輝度値に基づいて、検出装置21から注目肌領域に対応する被写体までの距離ztを算出し、座標変換部46及びフィルタ処理部47に供給する。なお、距離ztは、肌領域から連続してt番目に算出された距離zを表す。
【0132】
ステップS8において、座標変換部46は、例えば、距離算出部63から距離zt(又は特徴点抽出部62から特徴点(xin,yint)が連続して供給されているか否かに基づいて、検出された肌領域に連続性があるか否か(肌領域が連続して検出されているか否か)を判定する。そして、座標変換部46は、検出された肌領域に連続性があると判定した場合(t≧2である場合)、処理をステップS9に進める。なお、tは連続して検出された回数を表す。
【0133】
座標変換部46は、前回のステップS7の処理で算出された距離zprev、すなわち、距離算出部63により算出された距離zt-1を用いて、特徴点抽出部62からの特徴点(xin,yin)tを、特徴点(xout,yout)tに変換してフィルタ処理部47に供給する。
【0134】
また、ステップS8において、座標変換部46は、検出された肌領域に連続性がないと判定した場合(t=1である場合)、処理をステップS10に進め、距離算出部63からの距離z1を用いて、特徴点抽出部62からの特徴点(xin,yin)1を、特徴点(xout,yout)1に変換してフィルタ処理部47に供給する。
【0135】
ステップS11において、フィルタ処理部47は、座標変換部46からの特徴点(xout,yout)tに対して、例えば、FIRフィルタやIIRフィルタを用いて、ノイズ除去のためのフィルタリング処理を行なったり、非線形フィルタ処理を用いて、手振れ除去のためのフィルタリング処理(例えば、移動量が微小の場合は前回の特徴点(xout,yout)t-1を、今回の特徴点(xout,yout)tとして扱うようにする処理)を行う。
【0136】
ステップS12において、フィルタ処理部47は、フィルタリング処理後の特徴点(xout,youttと、距離算出部63からの距離ztとを、注目肌領域に対応する被写体の3次元位置(xout,yout,z)tとして、アプリケーションに出力する。そして、処理はステップS1に戻り、それ以降同様の処理が行なわれる。なお、座標変換処理は、例えば、検出装置21の電源がオフされたときに終了される。
【0137】
以上説明したように、座標変換処理によれば、有効画素範囲内の特徴点(xin,yint-1及び特徴点(xin,yintを、特徴点(xout,youtt-1及び特徴点(xout,youttに変換するようにしている。
【0138】
したがって、例えば、距離zに拘らず、特徴点(xout,youtt-1及び特徴点(xout,youttに基づいて、指先の移動距離に応じた移動量を検出できる。このため、例えば、距離zに拘らず、指先の移動距離に応じた移動量でポインタを移動させるようにすることができる。
【0139】
<2.変形例>
[有効画素数X_validの決定方法]
本実施の形態では、座標変換部46は、図5に示されるように、有効画素数X_validを決定するようにしたが、その他、例えば、図7に示されるように、距離算出部63からの距離zが所定の距離以上である場合には、有効画素数X_validを一定値に固定するようにしてもよい。
【0140】
具体的には、例えば、図7に示されるように、距離算出部63からの距離zが1m以上である場合、式(1)は、xout = (xin - x_offset1)×1/0.2 + x_offset2となり、式(2)は、X_valid = 640 × 0.2/1 = 128となるようにしてもよい。
【0141】
図7では、距離zが所定の距離(例えば、1m)以上であっても、有効画素範囲の有効画素数X_validは128に維持されるため、有効画素範囲を構成する画素数が少なくなり過ぎたために、分解能が低下する事態を防止できる。これにより、指先の移動量の検出精度が低下する事態を防止することが可能となる。
【0142】
また、例えば、図8に示されるように、有効画素数X_validが、距離zの平方根におおむね反比例する値となるようにしてもよい。この場合、例えば、距離zが0.4mである場合、有効画素数X_valid=320となるように、有効画素数X_validは、次式(3)に示されるように、画素数640に、スケーリングゲイン{1/2 × √(0.4/z)}を乗算して得られるものとなる。
X_valid = 640 × 1/2 × √(0.4/z) ・・・(3)
【0143】
式(3)により有効画素数X_validを決定する場合、xoutは次式(4)に表されるものとなる。
xout = (xin - x_offset1)× 2 × √(z/0.4)+ x_offset2・・・(4)
【0144】
なお、式(4)において、スケーリングゲインの逆数である変換係数は、2 × √(z/0.4)とされる。これは、X方向の有効画素数X_valid=320 × √(0.4/z)の有効画素範囲内におけるxinを、X方向の画素数が640画素となる画像内におけるxoutに変換するためのものである。
【0145】
この場合、図9に示されるように、第1及び第2の画像上において、端から端までポインタを移動させるために、指先を移動させる必要がある移動距離は、距離z0.2乃至2mにおいて、16.3乃至51.6cmとなる。
【0146】
このように、距離zの平方根に応じて、指先を移動させる必要がある移動距離が大きくなるようにしている。したがって、例えば、距離zの平方根に応じて移動距離が大きくなるように、指先を移動させるユーザ等においては、ポインタ等を移動させるときにより自然な操作感を得ることができる。
【0147】
なお、図8においては、式(3)に示されるように、距離zの-1/2乗に応じて、有効画素数X_validが変化するようにしたがこれに限定されない。すなわち、例えば、距離zの-α乗(0<α≦1)に応じて、有効画素数X_validが変化するようにしてもよい。
【0148】
この場合、ユーザ毎に、より自然な操作感を実現できるαの値を決定すれば、ユーザそれぞれに合わせた自然な操作感を実現することができるようになる。
【0149】
また、図8では、距離zが遠距離となっても、図5に示される場合と比較して、有効画素範囲の有効画素数X_validの減少は抑えられるため、有効画素範囲を構成する画素数が少なくなり過ぎたために、分解能が低下する事態を防止できる。
【0150】
さらに、図10に示されるように、距離zに応じて、段階的に有効画素数X_validを変更させるようにしてもよい。この場合、xoutは次式(5)に表されるものとなる。
xout = (xin - x_offset1)× (640/X_valid) + x_offset2・・・(5)
【0151】
なお、式(5)において、変換係数は(640/X_valid)とされる。いまの場合、図10に示されるように、距離zに応じて、有効画素数X_validが段階的に変化するものとなっている。したがって、段階的に変化する有効画素数X_validを変数として有する変換係数(640/X_valid)も、段階的に変化するものとなる。
【0152】
また、例えば、変換係数(640/X_valid)が、1.5,2,2.5,3又は4等の切りの良い値となるように、有効画素数X_validを段階的に変化させるようにすれば、式(5)における演算速度をより早くすることができるようになる。
【0153】
さらに、図10のようにした場合、第1及び第2の画像上において、端から端までポインタを移動させるために、指先を移動させる必要がある移動距離は、図11に示されたように変化するものとなる。
【0154】
図10に示されたようにする場合、例えば図5等のように連続的に有効画素数X_validを変化させる場合と比較して、有効画素数X_validが変化する頻度が少なくなるので、有効画素数X_validを決定する処理を軽減することができ、より迅速に処理を行うことが可能となる。
【0155】
[x_offset1の決定方法]
本実施の形態では、図4に示されるように、x_offset1を、特徴点(xin,yin1のうちのxinとしたが、x_offset1はこれに限定されない。
【0156】
次に、図12は、x_offset1を決定する場合の他の例を示している。
【0157】
座標変換部46は、特徴点(xin,yin1が、第1及び第2の画像上の領域1乃至5のいずれに存在するか否かを判定し、その判定結果に基づいて、x_offset1を、座標81乃至85のいずれかのx値とする。
【0158】
すなわち、例えば、座標変換部46は、特徴点(xin,yin1が領域1に存在すると判定した場合、x_offset1を、座標81のx値とし、特徴点(xin,yin1が領域2に存在すると判定した場合、x_offset1を、座標82のx値とし、特徴点(xin,yin1が領域3に存在すると判定した場合、x_offset1を、座標83のx値とする。
【0159】
また、例えば、座標変換部46は、特徴点(xin,yin1が領域4に存在すると判定した場合、x_offset1を、座標84のx値とし、特徴点(xin,yin1が領域5に存在すると判定した場合、x_offset1を、座標85のx値とするようにする。
【0160】
この場合、図4の右上に示されるように、有効画素範囲が、第1及び第2の画像からはみ出るような事態を防止できるようになる。
【0161】
したがって、図4の右上に示されるような事態は生じないので、有効画素範囲が撮像画像内に含まれるようにするために、x_offset1を所定の値だけシフトする処理等を行なう必要がなくなる。このため、特徴点の変換を行なうアルゴリズムを単純化でき、より迅速に特徴点の変換を行なうことが可能となる。
【0162】
また、例えば、x_offset1は、顔に対応する肌領域に基づいて、決定するようにしてもよい。なお、例えば、肌領域検出部61は、複数の肌領域を検出した場合、複数の肌領域のうち、距離zが最も遠い肌領域を、顔に対応する肌領域として検出するものとする。
【0163】
すなわち、例えば、座標変換部46は、検出された複数の肌領域のうち、距離zが最も遠い肌領域を、顔に対応する領域として認識し、顔に対応する肌領域の特徴点に所定の値を加算し、その結果得られるユーザの首や胸付近に存在する点のxを、x_offset1とすればよい。このことは、y_offset1についても同様である。これにより、(x_offset1,y_offset1)を中心とする有効画素範囲は、ユーザの首や胸付近の範囲を表すものとなる。なお、Y方向におけるy_offset1についても、x_offset1と同様に決定される。
【0164】
ユーザがポインタ等を移動させるために、ユーザの指先(手)を移動させる場合には、ユーザの首や胸の前で、指先を移動させたりすることが最も自然な姿勢であると考えられる。したがって、顔に対応する肌領域の特徴点に基づいて、有効画素範囲の中心(x_offset1,y_offset1)を求める場合、ユーザは、自然な姿勢でポインタなどを操作することが可能となり、ユーザによる操作感が向上するものとなる。
【0165】
なお、座標変換部46は、図5,図7,図8,図10に示されるように、距離算出部63からの距離に基づいて、有効画素数x_validを決定するようにしたが、これに限定されない。
【0166】
すなわち、例えば、距離zに代えて、肌領域の大きさや輝度値等と、有効画素数x_validとを対応付けるようにすれば、座標変換部46は、肌領域検出部61から特徴点抽出部62を介して供給される肌領域の大きさや輝度値に基づいて、有効画素数x_validを決定することができる。この場合、有効画素数x_validを決定するために、距離zを算出する必要がなくなり、より簡易な構成とすることができる。
【0167】
なお、本実施の形態では、画像処理部45が、カメラ43からの第1及び第2の画像から肌領域を検出するようにしたが、肌領域の検出方法は、これに限定されない。
【0168】
[検出装置91の構成例]
次に、図13は、外光からの光が照射されている被写体からの反射光に基づいて得られる外光画像に基づいて、肌領域を検出するようにした検出装置91の構成例を示している。
【0169】
なお、検出装置91において、本実施の形態である検出装置21と対応する部分については、同一の符号を付しているので、それらの説明は適宜省略する。
【0170】
すなわち、この検出装置91は、LEDドライバ42、カメラ43、LED44a及びLED44bに代えてカメラ101が設けられているとともに、画像処理部45に代えて画像処理部102が設けられている他は、検出装置21と同様に構成されている。
【0171】
カメラ101は、制御部41からの制御に従って、被写体を撮像して得られる外光画像を、画像処理部102に供給する。
【0172】
画像処理部102は、カメラ101からの外光画像に基づいて、肌領域を検出する。そして、画像処理部102は、画像処理部45と同様にして、特徴点(xin,yint及び距離ztを算出して出力する。
【0173】
なお、画像処理部102は、肌領域検出部61に代えて、形式変換部121、肌部分抽出部122、及びパターンマッチング123が設けられている他は、図1の画像処理部45と同様に構成されている。
【0174】
形式変換部121には、カメラ101から外光画像が供給される。形式変換部121は、カメラ101からの外光画像を、RGB(red,green,blue)値からなる画素値のRGB画像から、HSV(hue,saturation,value)値からなる画素値のHSV画像に変換して、肌色部分抽出部122に供給する。
【0175】
肌部分抽出部122は、形式変換部121からの外光画像としてのHSV画像上から、肌色の部分により構成される肌色部分領域を抽出し、パターンマッチング部123に供給する。
【0176】
パターンマッチング123は、パターンマッチングにより、肌部分抽出部122からの肌色部分領域から、肌領域を検出して、特徴点抽出部62及び距離算出部63に供給する。
【0177】
なお、パターンマッチングとしては、例えば、肌色部分領域を構成する各領域の特徴を表す特徴量それぞれと、人間の指先等の特徴を表す特徴量とを比較し、人間の指先等の特徴を表す特徴量と最も類似する特徴量を有する領域を、肌領域として検出するマッチング方法が考えられる。
【0178】
[検出装置131の構成例]
次に、図14は、波長λ1の光が照射されている被写体からの反射光に基づいて得られる第1の画像に基づいて、肌領域を検出するようにした検出装置131の構成例を示している。
【0179】
なお、検出装置131において、本実施の形態である検出装置21と対応する部分については、同一の符号を付しているので、それらの説明は適宜省略する。
【0180】
すなわち、この検出装置131は、LED44a及びLED44bを有するカメラ43に代えて、LED44aを有するカメラ141が設けられているとともに、画像処理部45に代えて画像処理部142が設けられている他は、検出装置21と同様に構成されている。
【0181】
なお、LED44aは、LEDドライバ42からの制御に従って、点灯及び消灯を繰り返すものとする。
【0182】
カメラ141は、LED44aが点灯している場合、波長λ1の光が照射されている被写体からの反射光に基づいて、照明画像を生成して画像処理部142に供給する。また、カメラ141は、LED44aが消灯している場合、外光のみが照射されている被写体からの反射光に基づいて、無照明画像を生成して画像処理部142に供給する。
【0183】
画像処理部142は、カメラ43からの照明画像及び無照明画像に基づいて、肌領域を検出する。そして、画像処理部142は、画像処理部45と同様にして、特徴点(xin,yint及び距離ztを算出して出力する。
【0184】
なお、画像処理部142は、肌領域検出部61に代えて、背景除去部161、形状抽出部162、及びパターンマッチング163が設けられている他は、図1の画像処理部45と同様に構成されている。
【0185】
背景除去部161には、カメラ141から照明画像及び無照明画像が供給される。背景除去部161は、供給された照明画像の画素値から、その画素値に対応する、同じく供給された無照明画像の画素値を差し引いて得られる差分値を算出する。
【0186】
そして、背景除去部161は、算出した差分値が所定の閾値以上であるか否かに基づいて、照明画像から背景を除去する。すなわち、例えば、背景除去部161は、差分値が所定の閾値未満となる差分値に対応する領域を背景として除去し、差分値が所定の閾値以上となる差分値に対応する領域を非背景領域として、パターンマッチング部163に供給する。
【0187】
形状抽出部162は、背景除去部161からの非背景領域から、肌部分の領域の形状を抽出し、その形状からなる肌色部分領域を、パターンマッチング部163に供給する。
【0188】
パターンマッチング部163は、形状抽出部162からの肌色部分領域に対して、図13のパターンマッチング部123と同様の処理を行い、その結果得られる肌領域を、特徴点抽出部62及び距離算出部63に供給する。
【0189】
上述した検出装置21は、例えば、テレビジョン受像機等に内蔵するように構成することができる。この場合、テレビジョン受像機において、内蔵された検出装置21により出力される特徴点(xout,youttや距離zt等に対応して、所定の処理が行われる。このことは、検出装置91及び131についても同様である。
【0190】
ところで、上述した一連の処理は、専用のハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、いわゆる組み込み型のコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【0191】
[コンピュータの構成例]
図15は、上述した一連の処理をプログラムにより実行するコンピュータの構成例を示すブロック図である。
【0192】
CPU(Central Processing Unit)201は、ROM(Read Only Memory)202、または記憶部208に記憶されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)203には、CPU201が実行するプログラムやデータなどが適宜記憶される。これらのCPU201、ROM202、およびRAM203は、バス204により相互に接続されている。
【0193】
CPU201にはまた、バス204を介して入出力インタフェース205が接続されている。入出力インタフェース205には、キーボード、マウス、マイクロホンなどよりなる入力部206、ディスプレイ、スピーカなどよりなる出力部207が接続されている。CPU201は、入力部206から入力される指令に対応して各種の処理を実行する。そして、CPU201は、処理の結果を出力部207に出力する。
【0194】
入出力インタフェース205に接続されている記憶部208は、例えばハードディスクからなり、CPU201が実行するプログラムや各種のデータを記憶する。通信部209は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
【0195】
また、通信部209を介してプログラムを取得し、記憶部208に記憶してもよい。
【0196】
入出力インタフェース205に接続されているドライブ210は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア211が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部208に転送され、記憶される。
【0197】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを記録する記録媒体は、図15に示すように、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini-Disc)を含む)、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア211、または、プログラムが一時的もしくは永続的に記録されるROM202や、記憶部208を構成するハードディスクなどにより構成される。記録媒体へのプログラムの記録は、必要に応じてルータ、モデムなどのインタフェースである通信部209を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【0198】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0199】
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【0200】
21 検出装置, 41 制御部, 42 LEDドライバ, 43 カメラ, 44a,44b LED, 45 画像処理部, 46 座標変換部, 47 フィルタ処理部, 91 検出装置, 101 カメラ, 102 画像処理部, 121 形式変換部, 122 肌色部分抽出部, 123 パターンマッチング部, 131 検出装置, 141 カメラ, 142 画像処理部, 161 背景除去部, 162 形状抽出部, 163 パターンマッチング部,

【特許請求の範囲】
【請求項1】
画像上からユーザの肌を表す肌領域を検出する検出手段と、
前記肌領域の特徴点を抽出する抽出手段と、
前記肌領域に基づいて、前記ユーザまでの距離を算出する算出手段と、
前記距離に応じて、前記特徴点を所定の座標空間上の座標点に変換するための変換係数を決定する変換係数決定手段と、
前記変換係数に基づいて、前記特徴点を所定の座標空間上の座標点に変換する座標変換手段と
を含む情報処理装置。
【請求項2】
前記変換係数決定手段は、前記距離のα乗(0<α≦1)に比例する値を前記変換係数に決定する
請求項1に記載の情報処理装置。
【請求項3】
前記変換係数決定手段は、前記距離が所定の閾値以上である場合、前記距離に拘らず同一の値を前記変換係数に決定する
請求項2に記載の情報処理装置。
【請求項4】
前記変換係数決定手段は、前記距離に応じて段階的に変化する値を前記変換係数に決定する
請求項1に記載の情報処理装置。
【請求項5】
前記画像上の全領域のうち、前記座標変換手段により変換される前記特徴点が存在する範囲とされる有効範囲を決定する有効範囲決定手段を
さらに含む請求項1に記載の情報処理装置。
【請求項6】
前記有効範囲内の前記特徴点をオフセット値だけオフセットするオフセット手段をさらに含み、
前記座標変換手段は、オフセットされた前記特徴点を所定の座標空間上の座標点に変換する
請求項5に記載の情報処理装置。
【請求項7】
前記有効範囲決定手段は、複数の前記肌領域が検出された場合、前記複数の肌領域のうち、前記距離が最も遠い肌領域の特徴点に基づいて、前記有効範囲を決定し、
前記オフセット手段は、前記複数の肌領域のうち、前記距離が最も遠い肌領域の特徴点を前記オフセット値として、前記有効範囲内の前記特徴点をオフセットする
請求項6に記載の情報処理装置。
【請求項8】
前記有効範囲決定手段は、前記検出手段により最初に検出された前記肌領域の特徴点に基づいて、前記有効範囲を決定し、
前記オフセット手段は、前記検出手段により最初に検出された前記肌領域の特徴点に基づき決定される前記オフセット値を用いて、前記有効範囲内の前記特徴点をオフセットする
請求項6に記載の情報処理装置。
【請求項9】
第1の波長の光を前記ユーザに照射する第1の照射手段と、
前記第1の波長よりも長波長である第2の波長の光を前記ユーザに照射する第2の照射手段と、
前記第1の波長の光が前記ユーザに照射されているときに入射される前記ユーザからの反射光に基づいて第1の画像を生成するとともに、前記第2の波長の光が前記ユーザに照射されているときに入射される前記ユーザからの反射光に基づいて第2の画像を生成する生成手段と
をさらに含み、
前記検出手段は、生成された前記第1及び第2の画像に基づいて、前記ユーザの前記肌領域を検出する
請求項1に記載の情報処理装置。
【請求項10】
画像上におけるユーザの肌を表す肌領域から特徴点を抽出する情報処理装置の情報処理方法において、
前記情報処理装置は、
検出手段と、
抽出手段と、
算出手段と、
変換係数決定手段と、
座標変換手段と
を含み、
前記検出手段が、画像上からユーザの肌を表す肌領域を検出し、
前記抽出手段が、前記肌領域の特徴点を抽出し、
前記算出手段が、前記肌領域に基づいて、前記ユーザまでの距離を算出し、
前記変換係数決定手段が、前記距離に応じて、前記特徴点を所定の座標空間上の座標点に変換するための変換係数を決定し、
前記座標変換手段が、前記変換係数に基づいて、前記特徴点を所定の座標空間上の座標点に変換する
ステップを含む情報処理方法。
【請求項11】
コンピュータを、
画像上からユーザの肌を表す肌領域を検出する検出手段と、
前記肌領域の特徴点を抽出する抽出手段と、
前記肌領域に基づいて、前記ユーザまでの距離を算出する算出手段と、
前記距離に応じて、前記特徴点を所定の座標空間上の座標点に変換するための変換係数を決定する変換係数決定手段と、
前記変換係数に基づいて、前記特徴点を所定の座標空間上の座標点に変換する座標変換手段と
して機能させるためのプログラム。
【請求項12】
画像上からユーザの肌を表す肌領域を検出する検出手段と、
前記肌領域の特徴点を抽出する抽出手段と、
前記肌領域に基づいて、前記ユーザまでの距離を算出する算出手段と、
前記距離に応じて、前記特徴点を所定の座標空間上の座標点に変換するための変換係数を決定する変換係数決定手段と、
前記変換係数に基づいて、前記特徴点を所定の座標空間上の座標点に変換する座標変換手段と、
前記座標点に応じて所定の処理を実行する実行手段と
を含む電子装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2012−43181(P2012−43181A)
【公開日】平成24年3月1日(2012.3.1)
【国際特許分類】
【出願番号】特願2010−183876(P2010−183876)
【出願日】平成22年8月19日(2010.8.19)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】