説明

撮像装置、撮像方法、及びプログラム

【課題】被写体までの距離とともに、被写体の肌領域を精度良く算出する。
【解決手段】第1のLEDは、被写体に対して、第1の波長の光を照射し、第2のLEDは、被写体に対して、第1の波長とは異なる第2の波長の光を照射し、距離画像センサは、被写体からの反射光を受光する。そして、肌検出部は、被写体からの反射光として第1の波長の光が受光されることにより得られる第1の画像と、被写体からの反射光として第2の波長の光が受光されることにより得られる第2の画像に基づいて、被写体の肌を表す肌領域を検出し、距離画像センサは、第1の波長の光が被写体に照射されたときから、被写体からの反射光として受光されるまでの第1の往復時間を算出し、算出した第1の往復時間に基づいて、被写体までの距離を算出する。本開示は、例えば、被写体の撮像により、距離画像を生成する撮像装置等に適用できる。

【発明の詳細な説明】
【技術分野】
【0001】
本開示は、撮像装置、撮像方法、及びプログラムに関し、特に、例えば、撮像により、被写体までの距離とともに、被写体の撮像により得られる撮像画像上の肌領域を精度良く算出できるようにした撮像装置、撮像方法、及びプログラムに関する。
【背景技術】
【0002】
予め決められた撮像範囲を撮像することにより、その撮像範囲内の被写体までの距離を画素値として有する距離画像を生成する距離画像カメラが存在する。
【0003】
また、例えば、距離画像カメラから出力される距離画像を用いて、撮像範囲内に被写体として存在するユーザのジェスチャ(動作)やポスチャ(姿勢)を検出する検出技術が存在する(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2011−27707号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、上述の検出技術において、ジェスチャやポスチャをより正確に検出するためには、ユーザまでの距離の他、画像上のユーザの顔や手等を表す肌領域にも基づいて、ユーザのジェスチャやポスチャ等の検出を行なうことが望ましい。
【0006】
しかしながら、上述の距離画像カメラでは、被写体までの距離を、距離画像として算出(生成)できるものの、被写体の肌領域を算出することはできない。
【0007】
本開示は、このような状況に鑑みてなされたものであり、被写体までの距離とともに、被写体の肌領域を精度良く算出できるようにするものである。
【課題を解決するための手段】
【0008】
本開示の一側面の撮像装置は、被写体に対して、第1の波長の光を照射する第1の照射部と、前記被写体に対して、前記第1の波長とは異なる第2の波長の光を照射する第2の照射部と、前記被写体からの反射光を受光する受光部と、前記被写体からの反射光として前記第1の波長の光が受光されることにより得られる第1の画像と、前記被写体からの反射光として前記第2の波長の光が受光されることにより得られる第2の画像に基づいて、前記被写体の肌を表す肌領域を検出する肌検出部と、前記第1の波長の光が前記被写体に照射されたときから、前記被写体からの反射光として受光されるまでの第1の往復時間を算出する往復時間算出部と、前記第1の往復時間に基づいて、前記被写体までの距離を算出する距離算出部とを含む撮像装置である。
【0009】
前記受光部は、予め決められた受光期間毎に、前記被写体からの反射光を受光するものであり、前記第1の照射部による点灯と消灯が所定間隔毎に交互に繰り返される第1の前記受光期間において、前記第1の受光期間を構成する複数の前記所定間隔のうち、奇数番目の前記所定間隔内に前記被写体からの反射光を受光する第1のセルと、前記第1の受光期間を構成する前記複数の所定間隔のうち、偶数番目の前記所定間隔内に前記被写体からの反射光を受光する第2のセルとを有し、前記往復時間算出部では、前記第1のセルで前記第1の受光期間内に受光された前記反射光の受光光量と、前記第2のセルで前記第1の受光期間内に受光された前記反射光の受光光量に基づいて、前記第1の往復時間を算出することができる。
【0010】
前記第1のセルでは、前記第1の照射部及び前記第2の照射部が消灯される第2の前記受光期間において、前記第2の受光期間を構成する複数の前記所定間隔のうち、奇数番目の前記所定間隔内に前記被写体からの反射光も受光し、前記第2のセルでは、前記第2の受光期間を構成する前記複数の所定間隔のうち、偶数番目の前記所定間隔内に前記被写体からの反射光も受光し、前記往復時間算出部では、前記第1のセルで前記第2の受光期間内に受光された前記反射光の受光光量と、前記第2のセルで前記第2の受光期間内に受光された前記反射光の受光光量にも基づいて、前記第1の往復時間を算出することができる。
【0011】
前記第1のセルでは、前記第2の照射部による点灯と消灯が所定間隔毎に交互に繰り返される前記第3の受光期間において、前記第3の受光期間を構成する複数の前記所定間隔のうち、奇数番目の前記所定間隔内に前記被写体からの反射光も受光し、前記第2のセルでは、前記第3の受光期間を構成する前記複数の所定間隔のうち、偶数番目の前記所定間隔内に前記被写体からの反射光も受光し、前記肌検出部では、前記第1のセル及び前記第2のセルで前記第1の受光期間内に受光された前記反射光により生成される前記第1の画像と、前記第1のセル及び前記第2のセルで前記第3の受光期間内に受光された前記反射光により生成される前記第2の画像に基づいて、前記肌領域を検出することができる。
【0012】
前記第1の波長の光及び前記第2の波長の光は、それぞれ、所定の周期で光の強度が変化する光であり、前記受光部では、予め決められたタイミングで前記被写体からの反射光を受光し、前記第1の波長の光の照射中に前記タイミングで受光された前記反射光の受光光量に基づいて、前記タイミングにおける前記反射光の受光強度を算出する強度算出部と、前記反射光の受光強度に基づいて、前記第1の波長の光と前記反射光との位相差を算出する位相差算出部とをさらに設けることができ、前記往復時間算出部では、前記位相差に基づいて、前記第1の往復時間を算出することができる。
【0013】
前記肌検出部では、前記第1の波長の光の照射中に受光された前記反射光の振幅から生成される前記第1の画像と、前記第2の波長の光の照射中に受光された前記反射光の振幅から生成される前記第2の画像に基づいて、前記肌領域を検出することができる。
【0014】
前記往復時間算出部では、前記第2の波長の光が前記被写体に照射されたときから前記被写体からの反射光として受光されるまでの第2の往復時間も算出し、前記距離算出部では、前記第1の往復時間及び前記第2の往復時間に基づいて、前記被写体までの距離を算出することができる。
【0015】
前記距離算出部では、前記第1の往復時間及び前記第2の往復時間に基づいて、前記第1の往復時間に基づき算出される第1の距離と、前記第2の往復時間に基づき算出される第2の距離との平均を、前記被写体までの距離として算出することができる。
【0016】
前記距離算出部では、複数の前記受光部毎に算出される前記第1の往復時間に基づいて、前記被写体までの距離を、前記複数の受光部にそれぞれ対応する各画素毎に算出することができる。
【0017】
前記受光部では、少なくとも前記第1及び第2の波長について人間の肌と類似する分光反射特性を有する擬似肌装着具を装着した前記被写体からの反射光を受光することができる。
【0018】
前記第1の波長又は前記第2の波長のうち、一方の波長λ1と他方の波長λ2は、
640nm ≦ λ1 ≦ 1000nm
900nm ≦ λ2 ≦ 1100nm
を満たすようにすることができる。
【0019】
前記第1の照射部では、前記第1の波長λ1の不可視光を照射し、前記第2の照射部では、前記第2の波長λ2の不可視光を照射することができる。
【0020】
前記受光部に入射される可視光を遮断する可視光カットフィルタをさらに設けることができる。
【0021】
本開示の一側面の撮像方法は、被写体に対して、第1の波長の光を照射する第1の照射部と、前記被写体に対して、前記第1の波長とは異なる第2の波長の光を照射する第2の照射部と、前記被写体からの反射光を受光する受光部とを有する撮像装置の撮像方法であって、前記撮像装置による、前記被写体からの反射光として前記第1の波長の光が受光されることにより得られる第1の画像と、前記被写体からの反射光として前記第2の波長の光が受光されることにより得られる第2の画像に基づいて、前記被写体の肌を表す肌領域を検出する肌検出ステップと、前記第1の波長の光が前記被写体に照射されたときから、前記被写体からの反射光として受光されるまでの第1の往復時間を算出する往復時間算出ステップと、前記第1の往復時間に基づいて、前記被写体までの距離を算出する距離算出ステップとを含む撮像方法である。
【0022】
本開示の一側面のプログラムは、被写体に対して、第1の波長の光を照射する第1の照射部と、前記被写体に対して、前記第1の波長とは異なる第2の波長の光を照射する第2の照射部と、前記被写体からの反射光を受光する受光部とを有する撮像装置のコンピュータを、前記被写体からの反射光として前記第1の波長の光が受光されることにより得られる第1の画像と、前記被写体からの反射光として前記第2の波長の光が受光されることにより得られる第2の画像に基づいて、前記被写体の肌を表す肌領域を検出する肌検出部と、前記第1の波長の光が前記被写体に照射されたときから、前記被写体からの反射光として受光されるまでの第1の往復時間を算出する往復時間算出部と、前記第1の往復時間に基づいて、前記被写体までの距離を算出する距離算出部として機能させるためのプログラムである。
【0023】
本開示によれば、前記被写体からの反射光として前記第1の波長の光が受光されることにより得られる第1の画像と、前記被写体からの反射光として前記第2の波長の光が受光されることにより得られる第2の画像に基づいて、前記被写体の肌を表す肌領域が検出され、前記第1の波長の光が前記被写体に照射されたときから、前記被写体からの反射光として受光されるまでの第1の往復時間が算出され、前記第1の往復時間に基づいて、前記被写体までの距離が算出される。
【発明の効果】
【0024】
本開示によれば、被写体までの距離とともに、被写体の肌領域を精度良く算出することが可能となる。
【図面の簡単な説明】
【0025】
【図1】第1の実施の形態である撮像装置の構成例を示すブロック図である。
【図2】距離画像センサの詳細な構成例を示すブロック図である。
【図3】計測期間における処理の一例を示す図である。
【図4】距離画像センサ及び肌検出部による出力タイミングの一例を示す図である。
【図5】距離画像センサ及び肌検出部による出力タイミングの他の一例を示す図である。
【図6】人間の肌に対する分光反射特性を示す図である。
【図7】図1の撮像装置が行う第1のTOF計測処理を説明するためのフローチャートである。
【図8】図7のステップS19における肌検出処理を説明するためのフローチャートである。
【図9】計測期間における処理の他の一例を示す図である。
【図10】距離画像センサ及び肌検出部による出力タイミングのさらに他の一例を示す図である。
【図11】第2の実施の形態である撮像装置の構成例を示すブロック図である。
【図12】図11の距離画像センサの詳細な構成例を示すブロック図である。
【図13】位相差及び振幅を算出する算出方法の一例を示す図である。
【図14】LEDの発光タイミング等の一例を示す図である。
【図15】LEDの発光タイミング等の他の一例を示す図である。
【図16】図11の撮像装置が行う第2のTOF計測処理を説明するためのフローチャートである。
【図17】被写体が、擬似肌装着具を装着する場合の一例を示す図である。
【図18】2値化肌画像の一例を示す図である。
【図19】コンピュータの構成例を示すブロック図である。
【発明を実施するための形態】
【0026】
以下、本開示における実施の形態(以下、実施の形態という)について説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態(時間差を用いて、往復飛行時間を算出するときの一例)
2.第2の実施の形態(位相差を用いて、往復飛行時間を算出するときの一例)
3.変形例
【0027】
<1.第1の実施の形態>
[撮像装置1の構成例]
図1は、第1の実施の形態である撮像装置1の構成例を示している。
【0028】
なお、この撮像装置1は、人間などの被写体2を対象として撮像を行い、その撮像により、距離画像Id、輝度画像Iλ1、及び輝度画像Iλ2を生成するものである。
【0029】
そして、撮像装置1は、生成した輝度画像Iλ1及び輝度画像Iλ2から、2値化肌画像Isを生成し、距離画像Idとともに、例えばゲーム機器3に供給するものである。
【0030】
ここで、距離画像Idとは、被写体2を撮像して得られる画像であり、距離画像Idを構成する各画素毎に、対応する被写体2(画素に表示される被写体2)までの距離を画素値として有する画像をいう。
【0031】
また、2値化肌画像Isとは、被写体2の肌を表す肌領域と、肌領域とは異なる非肌領域からなる画像をいう。
【0032】
ゲーム機器3は、2値化肌画像Isを用いて、被写体2の手等を検出し、距離画像Idを用いて、検出した被写体2の手までの距離を算出する。そして、ゲーム機器3は、算出した被写体2の手までの距離に応じた表示を、図示せぬモニタに表示させる。
【0033】
撮像装置1は、LED(light-emitting diode)21a、LED21b、LEDドライバ22、タイミング制御部23、レンズ24、距離画像センサ25、及び肌検出部26から構成される。
【0034】
LED21aは、LEDドライバ22からの制御にしたがって、点灯又は消灯する。すなわち、LED21aは、LEDドライバ22からの制御にしたがって、波長λ1の光(例えば、波長λ1の赤外線)を照射し、又は波長λ1の光の照射を停止する。
【0035】
具体的には、例えば、LED21aは、LEDドライバ22からの制御にしたがって、所定間隔t0毎に、照射と照射の停止を交互に繰り返すパルス発光を行う。
【0036】
LED21bは、LEDドライバ22からの制御にしたがって、点灯又は消灯する。すなわち、LED21bは、LEDドライバ22からの制御にしたがって、波長λ1よりも長波長である波長λ2の光(例えば、波長λ2の赤外線)を照射し、又は波長λ2の光の照射を停止する。
【0037】
具体的には、例えば、LED21bは、LEDドライバ22からの制御にしたがって、LED21aと同様のパルス発光を行う。
【0038】
なお、LED21a及びLED21bは、少なくとも、撮像装置1(距離画像センサ25)の撮像範囲に対して、照射光を照射する。
【0039】
また、LED21aの個数、及びLED21bの個数は、それぞれ、1個に限定されず、必要に応じて複数個とされる。すなわち、LED21aの個数、及びLED21bの個数は、波長λ1及びλ2に対する反射率が同一である被写体(例えば、反射率100[%]の鏡面等)に対して、波長λ1又はλ2のいずれの光を照射した場合にも、距離画像センサ25の撮像により得られる輝度画像の対応する画素どうしの輝度値が同一となる個数とされている。
【0040】
波長λ1と波長λ2との組み合わせ(λ1,λ2)は、例えば、人間の肌に対する分光反射特性に基づいて予め決定される。なお、分光反射特性については、図6を参照して詳述する。
【0041】
LEDドライバ22は、タイミング制御部23からの照射パルス信号に基づいて、LED21a及びLED21bを制御し、LED21aやLED21bの消灯及び点灯を制御する。ここで、照射パルス信号とは、LED21aやLED21bの照射タイミングを表す。なお、点灯及び消灯のタイミングは、図3を参照して詳述する。
【0042】
タイミング制御部23は、照射パルス信号を生成し、LEDドライバ22に供給する。また、タイミング制御部23は、距離画像センサ25において電荷を蓄積するタイミングを表す蓄積パルス信号を生成し、距離画像センサ25に供給する。
【0043】
レンズ24は、被写体2からの反射光を集光し、集光した反射光を、距離画像センサ25の受光面に入射させる。
【0044】
距離画像センサ25の前面には、レンズ24が設けられている。距離画像センサ25は、タイミング制御部23からの蓄積パルス信号にしたがって、被写体2からの反射光を受光して電荷を蓄積する。
【0045】
距離画像センサ25は、レンズ24を介して入射される反射光に基づいて、距離画像Idを生成し、例えば、ゲーム機器3等に供給する。
【0046】
また、距離画像センサ25は、レンズ24を介して入射される反射光に基づいて、輝度画像Iλ1及び輝度画像Iλ2を生成し、肌検出部26に供給する。
【0047】
ここで、距離画像センサ25の前面には、レンズ24の他、可視光をカット(遮断)する可視光カットフィルタを設けるように構成することができる。これにより、可視光等の外光により、被写体2までの距離や肌検出の精度が低下する事態を防止できる。
【0048】
なお、距離画像センサ25は、後述する図2を参照して詳述する。
【0049】
肌検出部26は、距離画像センサ25からの輝度画像Iλ1及び輝度画像Iλ2に基づいて、2値化肌画像Isを生成し、生成した2値化肌画像Isから肌領域を検出する。そして、肌検出部26は、検出した肌領域(を表す情報)を、例えばゲーム機器3に供給する。なお、肌検出部26における2値化肌画像Isの生成方法は、図6を参照して詳述する。
【0050】
[距離画像センサ25の詳細]
次に、図2は、距離画像センサ25の詳細な構成例を示している。
【0051】
この距離画像センサ25は、距離画像センサ25の表面に設けられた受光素子411乃至41N、及び算出部42から構成される。
【0052】
受光素子41n(n=1,2,…,N)は、セル41an及びセル41bnにより構成されている。セル41anは、LED21a又はLED21bのパルス発光が行われるパルス発光期間に、タイミング制御部23からの蓄積パルス信号に基づいて、レンズ24を介して入射される反射光を受光して電荷を蓄積し、蓄積した電荷(反射光の受光光量)に応じた電圧V1を、算出部42に供給する。
【0053】
また、セル41anは、LED21a及びLED21bが消灯される発光停止期間に、タイミング制御部23からの蓄積パルス信号にしたがって、レンズ24を介して入射される反射光を受光して電荷を蓄積し、蓄積した電荷(反射光の受光光量)に応じた電圧V1'を、算出部42に供給する。
【0054】
セル41bnは、パルス発光期間に、タイミング制御部23からの蓄積パルス信号にしたがって、レンズ24を介して入射される反射光を受光して電荷を蓄積し、蓄積した電荷(反射光の受光光量)に応じた電圧V2を、算出部42に供給する。
【0055】
また、セル41bnは、発光停止期間に、タイミング制御部23からの蓄積パルス信号にしたがって、レンズ24を介して入射される反射光を受光して電荷を蓄積し、蓄積した電荷(反射光の受光光量)に応じた電圧V2'を、算出部42に供給する。
【0056】
なお、受光素子41nは、距離画像Id、輝度画像Iλ1、輝度画像Iλ2それぞれの各画素の画素値を生成するためのものであり、従って、受光素子41nの総数が、距離画像Id、輝度画像Iλ1、輝度画像Iλ2それぞれの画素の総数となる。
【0057】
算出部42は、受光素子41nからの電圧V1,V2,V1'及びV2'に基づいて、受光素子41nに対応する、距離画像Id上の画素の画素値を算出する。
【0058】
すなわち、例えば、算出部42は、受光素子41nからの電圧V1及びV2を用いて、パルス発光期間においてセル41an及びセル41bから得られる電圧の合計(加算値)を表す電圧A(=V1+V2)を算出する。なお、電圧Aは、被写体2に照射される光のうち、LED21a及びLED21bからの照射光以外の外光の成分(以下、外光成分という)と暗電流成分とを含むものである。
【0059】
また、算出部42は、受光素子41nからの電圧V1'及びV2'を用いて、発光停止期間においてセル41an及びセル41bから得られる電圧の合計を表す電圧B(=V1'+V2')を算出する。なお、電圧Bは、外光成分と暗電流成分に対応する電圧である。
【0060】
さらに、算出部42は、受光素子41nからの電圧V1及びV1'を用いて、電圧C(=V1-V1')を算出する。なお、電圧Cは、外光成分及び暗電流成分を含む電圧V1から、外光成分及び暗電流成分に対応する電圧V1'を減算して得られる電圧である。したがって、電圧Cは、外光成分及び暗電流成分が除去された電圧といえる。
【0061】
また、算出部42は、受光素子41nからの電圧V2及びV2'を用いて、電圧D(=V2-V2')を算出する。なお、電圧Dは、外光成分及び暗電流成分を含む電圧V2から、外光成分及び暗電流成分に対応する電圧V2'を減算して得られる電圧である。したがって、電圧Dは、外光成分及び暗電流成分が除去された電圧といえる。
【0062】
さらに、算出部42は、算出した電圧A及びBを用いて、電圧E(=A-B)を算出する。なお、電圧Eは、外光成分と暗電流成分とを含む電圧Aから、外光成分及び暗電流成分に対応する電圧Bを減算して得られる電圧である。したがって、電圧Eは、外光成分及び暗電流成分が除去された電圧といえる。
【0063】
算出部42は、算出した電圧C,D,E、及び所定時間t0から、次式(1)を用いて、LED21a又はLED21bから照射された照射光の往復飛行時間tdを算出する。
td = (t0/2) × [1+{(D-C)/E}] ・・・(1)
【0064】
ここで、往復飛行時間tdとは、撮像装置1から照射光が照射されたときから、被写体1に反射して撮像装置1に戻ってくるまでの飛行時間をいう。より具体的には、往復飛行時間tdとは、照射光が照射されたときから、被写体2からの反射光として、受光素子41nにより受光されるまでの時間をいう。
【0065】
算出部42は、往復飛行時間tdの算出に悪影響を及ぼす外光成分及び暗電流成分が除去された電圧C,D,Eを用いるようにして、往復飛行時間tdを算出するようにしているので、比較的、正確な往復飛行時間tdを算出することが可能となる。
【0066】
なお、算出部42は、外光成分及び暗電流成分が無視できる程に小さい場合には、電圧C,D,Eに代えて、電圧C'(=V1),D'(=V2),E'(=V1+V2=A)を用いるようにして、往復飛行時間tdを算出してもよい。
【0067】
この場合、電圧V1'及びV2'を得るために必要な発行停止期間Toffを省略できるようになるので、より迅速に往復飛行時間tdを算出できるようになる。
【0068】
算出部42は、往復飛行時間tdと光の速さvとを乗算して、撮像装置1と被写体2との間を往復した往復距離(td×v)を算出し、往復距離(td×v)を1/2にして得られる距離{(td×v)/2}を、被写体2までの距離Dとして算出する。
【0069】
これにより、算出部42は、距離Dを、受光素子41nに対応する、距離画像Id上の画素の画素値として算出する。
【0070】
また、算出部42は、算出した電圧Eに応じた輝度値(外光成分及び暗電流成分が除去された輝度値)を、例えば0乃至255までの値とされる輝度値にスケーリング(階調化)し、スケーリング後の輝度値の輝度画像Iλ1(又はIλ2)を生成し、肌検出部26に供給する。したがって、肌検出部26は、外光成分及び暗電流成分が除去された輝度画像Iλ1及びIλ2に基づいて、肌領域を検出することとなるため、比較的正確に肌領域を検出することが可能となる。
【0071】
なお、輝度画像Iλ1の輝度値は、パルス発光期間Tλ1(図3)で受光素子41n(セル41an及び41bn)により受光された反射光の受光光量(電圧Aに対応)から、パルス発光期間Tλ1の次の発光停止期間Toff(図3)で受光素子41nにより受光された反射光の受光光量(電圧Bに対応)を減算して得られる受光光量(電圧Eに対応)に対応するものとなる。このことは、輝度画像Iλ2の輝度値についても同様である。
【0072】
また、電圧C',D',E'を用いるようにして、往復飛行時間tdを算出する場合、算出部42は、電圧E'(=A)に応じた輝度値を、例えば0乃至255までの値とされる輝度値にスケーリングし、スケーリング後の輝度値の輝度画像Iλ1又はIλ2を生成することとなる。
【0073】
この場合、輝度画像Iλ1の輝度値は、パルス発光期間Tλ1で受光素子41nにより受光された反射光の受光光量(電圧Aに対応)に対応するものとなる。このことは、輝度画像Iλ2の輝度値についても同様である。
【0074】
[照射等のタイミングについて]
次に、図3は、距離画像Id等を計測(生成)する計測期間における処理の一例を示している。
【0075】
計測期間T1は、図3に示されるように、パルス発光期間Tλ1及び発光停止期間Toffからなる。計測期間T1では、距離画像Id及び輝度画像Iλ1の計測(生成)が行われる。
【0076】
すなわち、例えば、計測期間T1のパルス発光期間Tλ1では、LED21aは、LEDドライバ22からの制御にしたがって、パルス発光を行う。いまの場合、LEDドライバ22は、図3A上側に示されるような、タイミング制御部23からの照射パルス信号にしたがって、LED21aにパルス発光を行わせる。
【0077】
具体的には、例えば、LED21aは、計測期間T1のパルス発光期間Tλ1において、時刻ts1から時刻ts1'までの受光期間内に、予め決められた所定間隔(パルス幅)t0で照射(照射パルス信号においてHとされる期間で点灯)、及び照射の停止(照射パルス信号においてLとされる期間で消灯)を交互に繰り返す。なお、受光期間とは、受光素子41nにおいて、被写体2からの反射光を受光する期間をいう。また、受光期間は、図3Dに示されるように、リセット信号に立ち上がりエッジが生じたとき(例えば、時刻ts1)から、読み出し信号に立ち上がりエッジが生じるまで(例えば、時刻ts1'まで)の期間とされる。
【0078】
ここで、照射パルス信号の周波数(1秒間に生じるパルスの個数)は、MHz以上とされる。しかしながら、図3では、図面が煩雑になるのを避けるために、例えば、パルス発光期間Tλ1における照射パルス信号のパルスの個数を4個として記載するようにしている。このことは、後述する図面についても同様である。
【0079】
なお、計測期間T1のパルス発光期間Tλ1において、LED21bは、LEDドライバ22からの制御にしたがって消灯する。いまの場合、LEDドライバ22は、図3A下側に示されるような、タイミング制御部23からの照射パルス信号(パルス発光期間Tλ1においてLとされる信号)にしたがって、LED21aを消灯させる。
【0080】
パルス発光期間Tλ1において、受光素子41n(セル41an及び41bn)は、図3Bに示されるように、時刻ts1から往復飛行時間tdが経過したときに、LED21aから照射された波長λ1の光を、被写体2からの反射光として受光する。
【0081】
パルス発光期間Tλ1では、LED21aから波長λ1の光が照射される。したがって、パルス発光期間Tλ1において、往復飛行時間tdとは、LED21aから、波長λ1の光が照射されたときから、被写体2からの反射光として、受光素子41nにより受光されるまでの時間をいう。
【0082】
なお、受光素子41nは、上述のように、セル41an及び41bnにより構成されている。
【0083】
したがって、セル41anは、図3C上側に示されるような、タイミング制御部23からの蓄積パルス信号にしたがって、時刻ts1から時刻ts1'までの受光期間内に、所定間隔t0で露光(蓄積パルス信号がHとされる期間)及び非露光(蓄積パルス信号がLとされる期間)を交互に繰り返す。すなわち、例えば、セル41anは、時刻ts1から時刻ts1'までの受光期間を構成する複数の所定間隔t0のうち、奇数番目の所定間隔t0において露光を行う。
【0084】
ここで、露光とは、反射光を受光し、受光した反射光の受光光量に応じた電荷を蓄積することを表す。また、非露光とは、反射光の受光光量に拘らず、電荷の蓄積を行わないことを表す。
【0085】
なお、パルス発光期間Tλ1において、セル41anを制御するための蓄積パルス信号(図3C上側)と、LEDドライバ22を介してLED21aを制御するための照射パルス信号(図3A上側)とは、同相とされる。
【0086】
また、セル41bnは、図3C下側に示されるような、タイミング制御部23からの蓄積パルス信号にしたがって、時刻ts1から時刻ts1'までの受光期間内に、所定間隔t0で非露光(蓄積パルス信号がLとされる期間)及び露光(蓄積パルス信号がHとされる期間)を交互に繰り返す。すなわち、例えば、セル41bnは、時刻ts1から時刻ts1'までの受光期間を構成する複数の所定間隔t0のうち、偶数番目の所定間隔t0において露光を行う。
【0087】
なお、パルス発光期間Tλ1において、セル41bnを制御するための蓄積パルス信号(図3C下側)と、LEDドライバ22を介してLED21aを制御するための照射パルス信号(図3A上側)とは、逆相とされる。
【0088】
そして、セル41anは、パルス発光期間Tλ1において、図3D上側に示されるように、タイミング制御部23からの読み出し信号に立ち上がりエッジが生じるタイミング(時刻ts1')で、パルス発光期間Iλ1においてセル41anに蓄積された電荷の蓄積電荷量に対応する電圧V1を、算出部42に出力する。
【0089】
また、セル41bnは、パルス発光期間Tλ1において、図3D上側に示されるように、タイミング制御部23からの読み出し信号に立ち上がりエッジが生じるタイミング(時刻ts1')で、パルス発光期間Iλ1においてセル41bnに蓄積された電荷の蓄積電荷量に対応する電圧V2を、算出部42に出力する。
【0090】
セル41an及びセル41bnでは、パルス発光期間Tλ1の次の発光停止期間Toffにおいて、図3D下側に示されるように、タイミング制御部23からのリセット信号に立ち上がりエッジが生じるタイミングで、パルス発光期間Iλ1においてセル41an及びセル41bnにそれぞれ蓄積された電荷の電荷量が0にリセットされる。なお、電荷量は、受光される反射光の受光光量に対応する量である。
【0091】
次に、計測期間T1の発光停止期間Toffでは、LED21a及びLED21bは、LEDドライバ22からの制御にしたがって消灯する。いまの場合、LEDドライバ22は、図3A上側及び下側に示されるような、タイミング制御部23からの照射パルス信号(発光停止期間ToffにおいてLとされる信号)にしたがって、LED21a及びLED21bを消灯させる。
【0092】
計測期間T1の発光停止期間Toffにおいて、セル41anは、図3C上側に示されるような蓄積パルス信号にしたがって、パルス発光期間Iλ1の場合と同様にして、時刻ts2から時刻ts2'までの受光期間内に、所定間隔t0で露光及び非露光を交互に繰り返す。すなわち、例えば、セル41anは、時刻ts2から時刻ts2'までの受光期間を構成する複数の所定間隔t0のうち、奇数番目の所定間隔t0において露光を行う。
【0093】
また、セル41bnは、図3C下側に示されるような蓄積パルス信号にしたがって、パルス発光期間Iλ1の場合と同様にして、時刻ts2から時刻ts2'までの受光期間内に、所定間隔t0で非露光及び露光を交互に繰り返す。すなわち、例えば、セル41bnは、時刻ts2から時刻ts2'までの受光期間を構成する複数の所定間隔t0のうち、偶数番目の所定間隔t0において露光を行う。
【0094】
なお、発光停止期間Toffにおいて、LED21a及びLED21bは消灯しているため、セル41an及びセル41bnは、図3Bに示されるように、LED21a及びLED21bからの照射光を、被写体2からの反射光として受光することはない。つまり、発光停止期間Toffにおいて、セル41an及びセル41bnは、LED21a及びLED21bからの照射光以外の外光を、被写体2からの反射光として受光することとなる。
【0095】
そして、セル41anは、計測期間T1の発光停止期間Toffのうち、タイミング制御部23からの読み出し信号に立ち上がりエッジが生じるタイミングで、発光停止期間Toffにおいてセル41anに蓄積された電荷の蓄積電荷量に対応する電圧V1'を、算出部42に出力する。
【0096】
また、セル41bnは、計測期間T1の発光停止期間Toffのうち、タイミング制御部23からの読み出し信号に立ち上がりエッジが生じるタイミングで、発光停止期間Toffにおいてセル41bnに蓄積された電荷の蓄積電荷量に対応する電圧V2'を、算出部42に出力する。
【0097】
セル41an及びセル41bnでは、発光停止期間Toffの次のパルス発光期間Iλ2のうち、タイミング制御部23からのリセット信号に立ち上がりエッジが生じるタイミングで、発光停止期間Toffにおいてセル41an及びセル41bnにそれぞれ蓄積された電荷の電荷量が0にリセットされる。
【0098】
算出部42は、セル41an及びセル41bnから供給される電圧V1,V2,V1',V2'に基づいて、上述したようにして電圧A,B,C,D,Eを算出する。
【0099】
また、算出部42は、算出した電圧C,D,E、及び所定時間t0から、式(1)を用いて、LED21aから照射される波長λ1の光の往復飛行時間tdを算出する。そして、算出部42は、往復飛行時間tdと光の速さvとを乗算して、往復距離(td×v)を算出し、往復距離(td×v)を1/2として得られる距離{(td×v)/2}を、被写体2までの距離Dとして算出する。
【0100】
これにより、算出部42は、計測期間T1において、距離Dを画素値とする距離画像Idを生成し、ゲーム機器3に出力する。
【0101】
また、算出部42は、算出した電圧Eに応じた輝度値を、例えば0乃至255までの値とされる輝度値にスケーリングし、スケーリング後の輝度値の輝度画像Iλ1を生成し、肌検出部26に供給する。
【0102】
計測期間T2は、図3に示されるように、パルス発光期間Tλ2及び発光停止期間Toffからなる。計測期間T2では、計測期間T1で生成された距離画像Idとは異なる距離画像Id'、及び輝度画像Iλ2の計測が行われる。
【0103】
すなわち、計測期間T2は、パルス発光期間Tλ2において、LED21bが、LEDドライバ22からの制御にしたがって、パルス発光を行う。いまの場合、LEDドライバ22は、図3A下側に示されるような、タイミング制御部23からの照射パルス信号にしたがって、LED21bにパルス発光を行わせる。
【0104】
また、計測期間T2は、パルス発光期間Tλ2において、LED21aが、LEDドライバ22からの制御にしたがって、消灯する。いまの場合、LEDドライバ22は、図3A上側に示されるような、タイミング制御部23からの照射パルス信号にしたがって、LED21aを消灯させる。それ以外は、計測期間T1における場合と同様である。
【0105】
なお、計測期間T2では、LED21bから波長λ2の照射光が照射されたときから、被写体2からの反射光として、受光素子41nにより受光されるまでの時間が、往復飛行時間tdとされる。
【0106】
算出部42は、計測期間T1の場合と同様にして、距離画像Id'を生成し、ゲーム機器3に出力される。また、算出部42は、計測期間T1において輝度画像Iλ1を生成した場合と同様にして、電圧Eから、各画素の輝度値を算出して得られる輝度画像Iλ2を生成し、肌検出部26に供給する。
【0107】
肌検出部26は、算出部42からの輝度画像Iλ1及び輝度画像Iλ2に基づいて、2値化肌画像Isを生成し、生成した2値化肌画像Isに基づいて、肌領域を検出する。そして、肌検出部26は、検出した肌領域(を表す情報)を、ゲーム機器3に出力する。
【0108】
次に、図4は、距離画像センサ25及び肌検出部26における画像の生成タイミングの一例を示している。
【0109】
例えば、距離画像センサ25は、各計測期間Tn(nは整数を表す)において、図4Aに示されるように、距離画像Id(n)を生成して、例えばゲーム機器3に出力する。
【0110】
また、例えば、距離画像センサ25は、奇数番目の計測期間Tnodd(noddは奇数を表す)において、図4Bに示されるように、輝度画像Iλ1(nodd)を生成して、肌検出部26に出力する。
【0111】
さらに、例えば、距離画像センサ25は、偶数番目の計測期間Tneven(nevenは偶数を表す)において、図4Cに示されるように、輝度画像Iλ2(neven)を生成して、肌検出部26に出力する。
【0112】
そして、肌検出部26は、図4Dに示されるように、計測期間Tnoddにおいて生成された輝度画像Iλ1(nodd)、及び計測期間Tnoddの次の計測期間Tnevenにおいて生成された輝度画像Iλ2(neven)を用いて、2値化肌画像Is(nodd,neven)を生成して、例えばゲーム機器3に出力する。
【0113】
なお、肌検出部26は、図4Dに示したように、例えば、輝度画像Iλ1(1)及び輝度画像Iλ2(2)を用いて2値化肌画像Is(1,2)を生成し、輝度画像Iλ1(3)及び輝度画像Iλ2(4)を用いて、2値化肌画像Is(3,4)を生成するようにしている。
【0114】
しかしながら、その他、例えば、肌検出部26は、図5Dに示されるように、輝度画像Iλ1(1)及び輝度画像Iλ2(2)を用いて2値化肌画像Is(1,2)を生成し、輝度画像Iλ2(2)及び輝度画像Iλ1(3)を用いて2値化肌画像Is(2,3)を生成し、輝度画像Iλ1(3)及び輝度画像Iλ2(4)を用いて2値化肌画像Is(3,4)を生成するようにしてもよい。なお、図5A乃至図5Cは、図4A乃至図4Dと同様である。
【0115】
図5Dに示されるようにして2値化肌画像Isを生成するようにした場合には、図4Dに示されるような場合と比較して、2倍の速さで2値化肌画像Isを生成することが可能となる。
【0116】
[分光反射特性]
次に、図6は、人間の肌に対する分光反射特性を示している。
【0117】
なお、この分光反射特性は、人間の肌の色の違い(人種の違い)や状態(日焼け等)に拘らず、一般性があるものである。
【0118】
図6において、横軸は、人間の肌に照射される照射光の波長を示しており、縦軸は、人間の肌に照射された照射光の反射率を示している。
【0119】
人間の肌に照射された照射光の反射率は、800[nm]付近をピークとして、900[nm]付近から急激に減少し、1000[nm]付近を極小値として再び上昇することが知られている。
【0120】
具体的には、例えば、図6に示されるように、人間の肌に対して、赤外線としての870[nm]の光を照射して得られる反射光の反射率は約63パーセントである。また、赤外線としての950[nm]の光を照射して得られる反射光の反射率は約50パーセントである。
【0121】
これは、人間の肌について特有のものであり、人間の肌以外の物体(例えば、衣服等)では、800乃至1000[nm]付近において、反射率の変化は緩やかになっている。また波長の周波数が高くなるほど、少しずつ大きくなることが多い。
【0122】
第1の実施の形態では、例えば、組み合わせ(λ1,λ2)=(870,950)とされる。この組み合わせは、人間の肌に対して、波長λ1の光を照射したときの反射率が、波長λ2の光を照射したときの反射率よりも大きくなる組み合わせである。
【0123】
したがって、輝度画像Iλ1上の肌領域を構成する輝度値は比較的大きな値となり、輝度画像Iλ2上の肌領域を構成する輝度値は比較的小さな値となる。
【0124】
このため、差分画像Idiff(={(Iλ1 - Iλ2)/(Iλ1)}×100)上の肌領域の輝度値は、比較的大きな正の値αとなる。なお、差分画像Idiff={(Iλ1 - Iλ2)/(Iλ1)}×100における乗数100は、値100に限定されず、任意の値(例えば、255など)を採用することができるが、乗数は100であるものとして以下説明する。
【0125】
また、組み合わせ(λ1,λ2)=(870,950)は、人間の肌以外のものに対して、波長λ1の光を照射したときの反射率が、波長λ2の光を照射したときの反射率よりも大きくならない組み合わせである。
【0126】
このため、差分画像Idiff(={(Iλ1 - Iλ2)/(Iλ1)}×100)上の非肌領域の輝度値は、比較的小さな正または負の値βとなる。
【0127】
よって、肌検出部26は、差分画像Idiffを、予め決められた2値化用の閾値(例えば、αよりも小であり、βよりも大である閾値)で2値化するようにして、2値化肌画像Isを生成し、生成した2値化肌画像Isに基づいて、肌領域を検出するようにしている。
【0128】
ここで、組み合わせ(λ1,λ2)は、(λ1,λ2)=(870,950)に限定されず、反射率の差が十分に大きくなる組み合わせ(λ1,λ2)であれば、どのような組み合わせでもよい。
【0129】
なお、正確に肌検出を行うためには、概ね、波長λ1の値は640[nm]乃至1000[nm]の範囲内で、波長λ2の値は900[nm]から1100[nm]の範囲内で、それぞれ設定することが望ましいことが、本発明者が予め行なった実験によりわかっている。ただし波長λ1が可視光領域では、操作者に眩しさを感じさせることなどから、波長λ1の値は不可視光領域の800[nm]以上とすることが望ましい。
【0130】
すなわち、例えば、上述の範囲内で、波長λ1の値は800[nm]以上900[nm]未満とし、波長λ2の値は900[nm]以上とすることができる。
【0131】
[撮像装置1の動作説明]
次に、図7のフローチャートを参照して、撮像装置1が行う第1のTOF(time of flight(光の飛行時間))計測処理について説明する。
【0132】
なお、この第1のTOF計測処理は、例えば、撮像装置1の電源がオンされたときに開始される。
【0133】
ステップS1において、LED21aは、LEDドライバ22からの制御にしたがって、計測期間Tnoddのパルス発光期間Tλ1において、パルス発光を行う。なお、この場合、LED21bは消灯している。
【0134】
ステップS2では、セル41anは、計測期間Tnoddのパルス発光期間Tλ1において、タイミング制御部23からの蓄積パルス信号にしたがって、所定時間t0で露光(Hとされる期間)及び非露光(Lとされる期間)を交互に繰り返す。
【0135】
そして、セル41anは、タイミング制御部23からの読み出し信号に立ち上がりエッジが生じるタイミングで、セル41anに蓄積された電荷の蓄積電荷量に対応する電圧V1を、算出部42に出力する。
【0136】
ステップS3では、セル41bnは、計測期間Tnoddのパルス発光期間Tλ1において、所定間隔t0で非露光(Lとされる期間)及び露光(Hとされる期間)を交互に繰り返す。
【0137】
そして、セル41bnは、タイミング制御部23からの読み出し信号に立ち上がりエッジが生じるタイミングで、セル41bnに蓄積された電荷の蓄積電荷量に対応する電圧V2を、算出部42に出力する。
【0138】
ステップS4では、LED21aは、計測期間Tnoddの発光停止期間Toffにおいて、LEDドライバ22からの制御にしたがって、消灯する。これにより、LED21a及びLED21bは、計測期間Tnoddの発光停止期間Toffにおいて、いずれも消灯しているものとなる。
【0139】
ステップS5において、セル41anは、計測期間Tnoddの発光停止期間Toffにおいて、所定間隔t0で露光及び非露光を交互に繰り返す。
【0140】
そして、セル41anは、タイミング制御部23からの読み出し信号に立ち上がりエッジが生じるタイミングで、セル41anに蓄積された電荷の蓄積電荷量に対応する電圧V1'を、算出部42に出力する。
【0141】
ステップS6において、セル41bnは、計測期間Tnoddの発光停止期間Toffにおいて、所定間隔t0で非露光及び露光を交互に繰り返す。
【0142】
そして、セル41bnは、タイミング制御部23からの読み出し信号に立ち上がりエッジが生じるタイミングで、セル41bnに蓄積された電荷の蓄積電荷量に対応する電圧V2'を、算出部42に出力する。
【0143】
なお、セル41an及びセル41bnでは、タイミング制御部23からのリセット信号に立ち上がりエッジが生じるタイミングで、セル41an及びセル41bnにそれぞれ蓄積された電荷の電荷量が0にリセットされる。
【0144】
ステップS7において、算出部42は、セル41anからの電圧V1及びV1'、並びにセル41bnからの電圧V2及びV2'に基づいて、電圧C,D,Eを算出する。また、算出部42は、算出した電圧C,D,E及び所定間隔t0に基づいて、式(1)により、波長λ1の光における往復飛行時間tdを算出する。
【0145】
ステップS8において、算出部42は、算出した往復飛行時間tdに基づいて、距離D(=(td×v)/2)を算出する。そして、算出部42は、距離Dを画素値として有する距離画像Idを生成し、ゲーム機器3に供給する。
【0146】
ステップS9において、算出部42は、ステップS7の処理で算出した電圧Eに応じた輝度値を、例えば0乃至255までの値とされる輝度値にスケーリングし、スケーリング後の輝度値を有する輝度画像Iλ1を生成し、肌検出部26に供給する。
【0147】
ステップS10において、LED21bは、計測期間Tnoddの次の計測期間Tnevenにおけるパルス発光期間Tλ2において、LEDドライバ22からの制御にしたがって、パルス発光を行う。なお、この場合、LED21aは消灯している。
【0148】
ステップS11では、セル41anは、計測期間Tnevenのパルス発光期間Tλ2において、タイミング制御部23からの蓄積パルス信号にしたがって、所定時間t0で露光(Hとされる期間)及び非露光(Lとされる期間)を交互に繰り返す。
【0149】
そして、セル41anは、タイミング制御部23からの読み出し信号に立ち上がりエッジが生じるタイミングで、セル41anに蓄積された電荷の蓄積電荷量に対応する電圧V1を、算出部42に出力する。
【0150】
なお、ステップS11において、セル41anから算出部42に出力される電圧V1は、ステップS2において出力される電圧V1とは、一般的に異なるものであるが、説明の便宜上、同一の記号で表すようにしている。このことは、ステップS12における電圧V2、ステップS14における電圧V1'、及びステップS15における電圧V2'についても同様である。
【0151】
ステップS12では、セル41bnは、計測期間Tnevenのパルス発光期間Tλ2において、所定間隔t0で非露光(Lとされる期間)及び露光(Hとされる期間)を交互に繰り返す。
【0152】
そして、セル41bnは、タイミング制御部23からの読み出し信号に立ち上がりエッジが生じるタイミングで、セル41bnに蓄積された電荷の蓄積電荷量に対応する電圧V2を、算出部42に出力する。
【0153】
ステップS13において、LED21bは、LEDドライバ22からの制御にしたがって、消灯する。これにより、LED21a及びLED21bは、計測期間Tnoddの発光停止期間Toffにおいて、いずれも消灯しているものとなる。
【0154】
ステップS14において、セル41anは、計測期間Tnoddの発光停止期間Toffにおいて、所定間隔t0で露光及び非露光を交互に繰り返す。
【0155】
そして、セル41anは、タイミング制御部23からの読み出し信号に立ち上がりエッジが生じるタイミングで、セル41anに蓄積された電荷の蓄積電荷量に対応する電圧V1'を、算出部42に出力する。
【0156】
ステップS15において、セル41bnは、計測期間Tnoddの発光停止期間Toffにおいて、所定間隔t0で非露光及び露光を交互に繰り返す。
【0157】
そして、セル41bnは、タイミング制御部23からの読み出し信号に立ち上がりエッジが生じるタイミングで、セル41bnに蓄積された電荷の蓄積電荷量に対応する電圧V2'を、算出部42に出力する。
【0158】
なお、セル41an及びセル41bnでは、タイミング制御部23からのリセット信号に立ち上がりエッジが生じるタイミングで、セル41an及びセル41bnにそれぞれ蓄積された電荷の電荷量が0にリセットされる。
【0159】
ステップS16において、算出部42は、セル41anからの電圧V1及びV1'、並びにセル41bnからの電圧V2及びV2'に基づいて、電圧C,D,Eを算出する。また、算出部42は、算出した電圧C,D,E及び所定間隔t0に基づいて、式(1)により、波長λ2の光における往復飛行時間td'を算出する。
【0160】
ステップS17において、算出部42は、算出した往復飛行時間td'に基づいて、距離D'(=(td'×v)/2)を算出する。そして、算出部42は、距離D'を画素値として有する距離画像Id'を生成し、ゲーム機器3に供給する。
【0161】
ステップS18において、算出部42は、ステップS16の処理で算出した電圧Eに応じた輝度値を、例えば0乃至255までの値とされる輝度値にスケーリングし、スケーリング後の輝度値を有する輝度画像Iλ2を生成し、肌検出部26に供給する。
【0162】
ステップS19において、肌検出部26は、算出部42からの輝度画像Iλ1及び輝度画像Iλ2に基づいて、被写体2の肌を表す肌領域を検出する肌検出処理を行う。なお、肌検出処理の詳細は、図8のフローチャートを参照して詳述する。
【0163】
ステップS19において、肌検出部26は、肌検出処理により検出された肌領域(を表す情報)を、ゲーム機器3に供給して、処理はステップS1に戻り、それ以降、同様の処理が繰り返される。
【0164】
なお、この第1のTOF計測処理は、例えば、撮像装置1の電源がオフされたときに終了される。
【0165】
[肌検出処理の詳細]
次に、図8のフローチャートを参照して、図7のステップS19における肌検出処理の詳細を説明する。
【0166】
ステップS31において、肌検出部26は、距離画像センサ25の算出部42から供給される輝度画像Iλ1及びIλ2に対して、LPF(low pass filter)を用いた平滑化を行う。また、肌検出部26は、各画素ごとに、輝度画像Iλ1の輝度値Y(λ1)から、輝度画像Iλ2の輝度値Y(λ2)を減算して得られる差分(Y(λ1) - Y(λ2))を算出する。
【0167】
さらに、肌検出部26は、輝度画像Iλ1又は輝度画像Iλ2の少なくとも一方に基づく値として、例えば輝度値Y(λ1)で、差分(Y(λ1) - Y(λ2))を正規化(除算)する。
【0168】
そして、肌検出部26は、正規化後の差分(Y(λ1) - Y(λ2))/Y(λ1)に所定の値(例えば、100)を乗算して得られる差分画像Idiff(=((Iλ1 - Iλ2)/Iλ1)×100)を算出する。なお、所定の値は、値100に限定されず、任意の値(例えば、255など)を採用することができる。
【0169】
ステップS32において、肌検出部26は、差分画像Idiffを、予め決められた2値化用の閾値で2値化して、2値化肌画像Isを算出する。
【0170】
なお、差分画像Idiffは、撮像画像Iλ1の輝度値が、撮像画像Iλ2の輝度値に対して、何パーセント高いものであるかを表す。また、2値化用の閾値としては、例えば、10パーセントを用いることができる。
【0171】
肌検出部26は、算出した2値化肌画像Isに基づいて、被写体2の肌を表す肌領域を検出して、処理は、図7のステップS19にリターンされる。
【0172】
以上説明したように、第1のTOF計測処理によれば、人間の分光反射特性に基づいて、被写体2の肌領域を表す2値化肌画像Isを算出するようにした。このため、被写体2を照らす照明の明るさに拘らず、被写体2の肌領域を精度良く検出することが可能となる。
【0173】
また、第1のTOF計測処理によれば、往復飛行時間tdに基づいて、距離画像Idの各画素毎に、ユーザまでの距離Dを算出するようにした。このため、例えば、被写体2の肌領域の大きさ等から、被写体2までの距離を算出する場合と比較して、より正確な距離Dを算出することが可能となる。
【0174】
なお、第1の実施の形態では、図3乃至図5に示したように、計測期間Tnoddにおいて、距離画像Id(nodd)及び輝度画像Iλ1(nodd)を計測し、計測期間Tnevenにおいて、距離画像Id(neven)及び輝度画像Iλ2(neven)を計測するようにした。
【0175】
しかしながら、その他、例えば、図9に示されるように、パルス発光期間Tλ1、パルス発光期間Tλ2、及び発光停止期間Toffを、計測期間Tn'とし、計測期間Tn'において、距離画像Id、輝度画像Iλ1、及び輝度画像Iλ2を計測するようにしてもよい。
【0176】
この場合、計測期間Tn'のパルス発光期間Tλ1では、セル41anにおいて電圧V1_λ1が得られ、セル41bnにおいて電圧V2_λ1が得られ、それぞれ、算出部42に供給される。
【0177】
また、計測期間Tn'のパルス発光期間Tλ2では、セル41anにおいて電圧V1_λ2が得られ、セル41bnにおいて電圧V2_λ2が得られ、それぞれ、算出部42に供給される。
【0178】
さらに、計測期間Tn'の発光停止期間Toffでは、セル41anにおいて電圧V1'が得られ、セル41bnにおいて電圧V2'が得られ、それぞれ、算出部42に供給される。
【0179】
よって、算出部42は、セル41anからの電圧V1_λ1,V1'、及びセル41bnからの電圧V2_λ1,V2'に基づいて、電圧A_λ1(=V1_λ1+V2_λ1)、電圧B(=V1'+V2')、電圧C_λ1(=V1_λ1-V1')、電圧D_λ1(=V2_λ1-V2')を算出する。
【0180】
また、算出部42は、算出した電圧A_λ1及び電圧Bに基づいて、電圧E_λ1(=A_λ1-B)を算出する。
【0181】
そして、算出部42は、算出した電圧C_λ1,D_λ1,E_λ1、及び所定間隔t0に基づいて、往復飛行時間td1(=(t0/2) × [1+{(D_λ1-C_λ1)/E_λ1}])を算出する。ここで、往復飛行時間td1とは、波長λ1の光が照射されたときから、被写体2からの反射光として、受光素子41nにより受光されるまでの時間をいう。
【0182】
さらに、算出部42は、セル41anからの電圧V1_λ2,V1'、及びセル41bnからの電圧V2_λ2,V2'に基づいて、電圧A_λ2(=V1_λ2+V2_λ2)、電圧C_λ2(=V1_λ2-V1')、電圧D_λ2(=V2_λ2-V2')を算出する。
【0183】
また、算出部42は、算出した電圧A_λ2及び電圧Bに基づいて、電圧E_λ2(=A_λ2-B)を算出する。
【0184】
そして、算出部42は、算出した電圧C_λ2,D_λ2,E_λ2、及び所定間隔t0に基づいて、往復飛行時間td2(=(t0/2) × [1+{(D_λ2-C_λ2)/E_λ2}])を算出する。ここで、往復飛行時間td2とは、波長λ2の光が照射されたときから、被写体2からの反射光として、受光素子41nにより受光されるまでの時間をいう。
【0185】
算出部42は、算出した往復飛行時間td1及びtd2の平均を、最終的な往復飛行時間td(=(td1+td2)/2)として算出する。また、算出部42は、往復飛行時間tdに基づいて、往復飛行時間td1に基づき算出される距離D1(=(td1×v)/2)と、往復飛行時間td2に基づき算出される距離D2(=(td2×v)/2)との平均を表す距離D(=(td×v)/2)を算出する。そして、算出部42は、算出した距離Dを画素値として有する距離画像Idを、ゲーム機器3に出力する。
【0186】
なお、算出部42は、往復飛行時間td1又はtd2の一方に基づいて、距離Dを算出し、距離Dを画素値として有する距離画像Idを、ゲーム機器3に出力するようにしてもよい。
【0187】
算出部42は、算出した電圧E_λ1に応じた輝度値を、例えば0乃至255までの値とされる輝度値にスケーリングし、スケーリング後の輝度値の輝度画像Iλ1を生成し、肌検出部26に出力する。
【0188】
また、算出部42は、算出した電圧E_λ2に応じた輝度値を、例えば0乃至255までの値とされる輝度値にスケーリングし、スケーリング後の輝度値の輝度画像Iλ2を生成し、肌検出部26に出力する。
【0189】
次に、図10は、計測期間Tn'において、距離画像センサ25及び肌検出部26の画像の生成タイミングの一例を示している。
【0190】
例えば、距離画像センサ25は、各計測期間Tn'(nは整数を表す)において、図10Aに示されるように、距離画像Id(n)を生成して、例えばゲーム機器3に出力する。
【0191】
また、例えば、距離画像センサ25は、各計測期間Tn'において、図10Bに示されるように、輝度画像Iλ1(n)及び輝度画像Iλ2(n)を生成して、肌検出部26に出力する。
【0192】
肌検出部26は、図4Cに示されるように、計測期間Tn'において生成された輝度画像Iλ1(n)輝度画像Iλ2(n)を用いて、2値化肌画像Is(n)を生成する。
【0193】
ところで、第1の実施の形態では、LED21a又はLED21bから照射光を照射したときから受光されるまでの時間差に基づいて、往復飛行時間tdを算出するようにしたが、往復飛行時間tdの算出方法は、これに限定されない。
【0194】
すなわち、例えば、往復飛行時間tdは、照射光と反射光との位相差に基づいて、往復飛行時間tdを算出することができる。
【0195】
<2.第2の実施の形態>
[撮像装置61の構成例]
次に、図11は、第2の実施の形態である撮像装置61の構成例を示している。
【0196】
この撮像装置61は、照射光と反射光との位相差に基づいて、往復飛行時間tdを算出するものである。なお、図11では、図1の撮像装置1と同様に構成される部分については、同一の符号を付すようにしているので、それらの説明は、以下、適宜、省略する。
【0197】
すなわち、この撮像装置61は、図1のLED21a、LED21b、タイミング制御部23、及び距離画像センサ25に代えて、それぞれ、LED81a、LED81b、タイミング制御部82、及び距離画像センサ83が設けられている他は、図1の場合と同様に構成される。
【0198】
LED81aは、LEDドライバ22からの制御にしたがって、例えば、正弦波に変調された波長λ1の変調光(例えば、波長λ1の赤外線)を照射し、又は波長λ1の変調光の照射を停止する。
【0199】
LED81bは、LEDドライバ22からの制御にしたがって、例えば、正弦波に変調された波長λ2の変調光(例えば、波長λ2の赤外線)を照射し、又は波長λ2の変調光の照射を停止する。
【0200】
なお、波長λ1の変調光、及び波長λ2の変調光の周波数は、それぞれ、MHz以上の周波数とされる。
【0201】
また、LED81a及びLED81bは、少なくとも、撮像装置61(距離画像センサ83)の撮像範囲に対して、照射光を照射する。
【0202】
さらに、波長λ1と波長λ2との組み合わせ(λ1,λ2)は、例えば、人間の肌に対する分光反射特性(図6)に基づいて予め決定される。
【0203】
タイミング制御部82は、LEDドライバ22を制御して、LED81aやLED81bの点灯又は消灯のタイミングを制御する。また、タイミング制御部82は、距離画像センサ83を制御して、反射光を受光して電荷を蓄積するタイミングを制御する。
【0204】
距離画像センサ83は、その表面に、複数の受光素子を有し、距離画像Id、輝度画像Iλ1、及び輝度画像Iλ2を生成する。距離画像センサ83は、生成した距離画像Idをゲーム機器3に出力し、生成した輝度画像Iλ1及び輝度画像Iλ2を、肌検出部26に出力する。なお、距離画像センサ83の前面には、レンズ24の他、可視光をカット(遮断)する可視光カットフィルタを設けるように構成することができる。
【0205】
[距離画像センサ83の詳細]
次に、図12は、距離画像センサ83の詳細な構成例を示している。
【0206】
この距離画像センサ83は、距離画像センサ83の表面に設けられた複数の受光素子1011乃至101N、及び算出部102から構成される。
【0207】
受光素子101n(n=1,2,…,N)は、LED81aの点灯時に、タイミング制御部82からの制御にしたがって、LED81aからの波長λ1の変調光が、位相0(0度),π/2(90度),π(180度),3π/2(270度)それぞれのタイミングで照射されるときに受光される反射光の受光光量に応じた電荷を蓄積する。
【0208】
受光素子101nは、波長λ1の変調光が位相0で照射されるときに受光される反射光により、電荷を蓄積する。そして、受光素子101nは、電荷を蓄積して得られた電圧Va1を、算出部102に供給する。
【0209】
また、受光素子101nは、波長λ1の変調光が位相π/2で照射されるときに受光される反射光により、電荷を蓄積する。そして、受光素子101nは、電荷を蓄積して得られた電圧Va2を、算出部102に供給する。
【0210】
さらに、受光素子101nは、波長λ1の変調光が位相πで照射されるときに受光される反射光により、電荷を蓄積する。そして、受光素子101nは、電荷を蓄積して得られた電圧Va3を、算出部102に供給する。
【0211】
また、受光素子101nは、波長λ1の変調光が位相3π/2で照射されるときに受光される反射光により、電荷を蓄積する。そして、受光素子101nは、電荷を蓄積して得られた電圧Va4を、算出部102に供給する。
【0212】
算出部102は、受光素子101nからの電圧Va1に基づいて、波長λ1の変調光が位相0で照射されるときに受光される反射光の受光強度A1を算出する。
【0213】
また、同様にして、算出部102は、受光素子101nからの電圧Va2に基づいて、波長λ1の変調光が位相π/2で照射されるときに受光される反射光の受光強度A2を算出する。さらに、算出部102は、受光素子101nからの電圧Va3に基づいて、波長λ1の変調光が位相πで照射されるときに受光される反射光の受光強度A3を算出する。また、算出部102は、受光素子101nからの電圧Va4に基づいて、波長λ1の変調光が位相3π/2で照射されるときに受光される反射光の受光強度A4を算出する。
【0214】
算出部102は、反射光の受光強度A1乃至A4に基づいて、波長λ1の変調光と反射光との位相差φ、及び反射光の振幅aを、それぞれ算出する。
【0215】
なお、受光素子101nは、LED81bの点灯時に、タイミング制御部82からの制御にしたがって、LED81bからの波長λ2の変調光が、位相0,π/2,π,3π/2それぞれのタイミングで照射されるときに受光される反射光に応じた電荷を蓄積する。
【0216】
そして、受光素子101nは、LED81aの点灯時における場合と同様にして、電荷を蓄積して得られる各電圧Va1',Va2',Va3',Va4'を、算出部102に供給する。
【0217】
また、算出部102は、上述した場合と同様に、受光素子101nからの各電圧Va1',Va2',Va3',Va4'に基づいて、波長λ2の光を照射したときの反射光の受光強度A1'乃至A4'を算出する。そして、算出部102は、反射光の受光強度A1'乃至A4'に基づいて、波長λ2の変調光と反射光との位相差φ'、及び反射光の振幅a'を、それぞれ算出する。
【0218】
このように、LED81aの点灯時と、LED81bの点灯時とで同様の処理が行われるため、以下では、主に、LED81aの点灯時における処理を説明する。
【0219】
[位相差φ及び振幅aの算出方法]
次に、図13を参照して、算出部102が、LED81aから波長λ1の変調光が照射されたときの反射光の受光強度A1乃至A4に基づいて、位相差φ及び振幅aを算出する場合の一例を説明する。
【0220】
図13は、LED81aからの照射光(波長λ1の変調光)と、受光素子101nで受光される反射光との一例を示している。
【0221】
図13において、照射光は、関数g(t)=A×sin(ωt) + Bにより表される。また、図13において、反射光は、関数f(t)=a×sin(ωt-φ) + bにより表される。
【0222】
なお、Aはg(t)の振幅を表し、ωは角速度を表す。aはf(t)の振幅を表し、φは関数g(t)と関数f(t)との位相差を表す。
【0223】
また、関数f(t)は、関数g(t)よりも、位相差φに対応するΔtだけ遅れている。このΔtは、往復飛行時間tdとなる。
【0224】
算出部102は、図13に示されるように、照射光を表す関数g(t)の位相ωtが、それぞれ、0,π/2,π,3π/2である場合の反射光の受光強度f(t)を、受光強度A1乃至A4として、受光素子101nからの電圧Va1乃至Va4それぞれから算出する。
【0225】
算出部102は、算出した受光強度A1乃至A4に基づいて、次式(2)により、位相差φを算出する。なお、式(2)において、arctanは、tanの逆関数を表す。
φ = ωΔt = arctan[(A2-A0)/(A1-A3)] ・・・(2)
【0226】
算出部102は、算出した位相差φから、往復飛行時間tdとしてのΔt=φ/ω(φとωは既知)を算出する。また、算出部102は、算出したΔt(往復飛行時間td)と光の速さvとを乗算して、撮像装置61と被写体2との間を往復した往復距離(Δt×v)を算出する。さらに、算出部102は、往復距離(Δt×v)を1/2として得られる距離{(Δt×v)/2}を、被写体2までの距離Dとして算出する。
【0227】
そして、算出部102は、算出した距離Dを画素値として有する距離画像Idを生成し、ゲーム機器3に出力する。
【0228】
また、算出部102は、算出した位相差φに応じて、例えば、次式(3)により、距離Dを算出するようにしてもよい。式(3)において、fmodは、波長λ1の変調光の周波数を表し、cは定数を表す。
D = cφ/4πfmod ・・・(3)
【0229】
なお、式(3)を用いて、距離Dを算出する算出方法は、「Thorsten Ringbeckほか著,A 3D TIME OF FLIGHT CAMERA FOR OBJECT DETECTION(8th Conference on. Optical 3-D Measurement Techniques 予稿),July 2007」に記載されている。
【0230】
また、算出部102は、算出した受光強度A1乃至A4に基づいて、次式(4)により、振幅aを算出する。
a = {√((A2-A0)2+(A1-A3)2)}/2 ・・・(4)
【0231】
算出部102は、算出した振幅aに応じた輝度値を有する輝度画像Iλ1を生成し、肌検出部26に供給する。なお、この輝度画像Iλ1の輝度値は、LED81aから、波長λ1の変調光が照射されているときに、被写体2からの反射光として受光する受光光量に対応する。
【0232】
また、算出部102において、LED81bから、波長λ2の変調光が照射される場合において、受光素子101nから電圧Va1'乃至Va4'が供給されるときには、同様にして、受光強度A1'乃至A4'を算出する。そして、算出部102は、算出した受光強度A1'乃至A4'に基づいて、同様にして位相差φ'及び振幅a'を算出する。
【0233】
算出部102は、算出した位相差φ'に基づいて、距離画像Id'を算出し、振幅a'に基づいて、輝度画像Iλ1に代えて、輝度画像Iλ2を生成することとなる。なお、この輝度画像Iλ2の輝度値は、LED81bから、波長λ2の変調光が照射されているときに、被写体2からの反射光として受光する受光光量に対応する。
【0234】
[出力タイミングの一例]
次に、図14は、LED81a及びLED81bの照射タイミング、受光素子101nの受光タイミング、算出部102の算出タイミング、並びに肌検出部26の肌検出タイミング等の一例を示している。
【0235】
LED81a及びLED81bは、図14Aに示されるように、LED81aの点灯、LED81aの消灯、LED81bの点灯、LED81bの消灯、LED81aの点灯、LED81aの消灯…を繰り返す。
【0236】
すなわち、例えば、LED81aは、予め決められた時間だけ点灯し続け、波長λ1の変調光を被写体2に照射する。その後、LED81aは消灯する。LED81aの消灯から、所定の時間の経過後に、LED81bは、予め決められた時間だけ点灯し続け、波長λ1の変調光を被写体2に照射する。その後、LED81bは消灯する。
【0237】
そして、LED81bの消灯から、所定の時間の経過後に、LED81aは、予め決められた時間だけ点灯し続け、波長λ1の変調光を被写体2に照射し、消灯する。このようにして、LED81a及びLED81bの点灯及び消灯が繰り返される。
【0238】
受光素子101nは、図14Bに示されるように、LED81aの点灯中(「正弦波変調光連続照射(λ1)」に対応)に、タイミング制御部82からの制御にしたがって、波長λ1の変調光の位相が0,π/2,π,3π/2となるタイミングで、反射光を受光する。受光素子101nは、反射光を受光して得られる電圧Va1,Va2,Va3,Va4を、算出部102に供給する。
【0239】
そして、算出部102は、受光素子101nからの電圧Va1,Va2,Va3,Va4に基づいて、図14Bに示されるように、位相差φ及び振幅aの計算(算出)を行う。さらに、算出部102は、位相差φに基づいて、図14Cに示されるような距離画像Id(1)を算出して、ゲーム機器3に出力する。
【0240】
また、算出部102は、振幅aに基づいて、図14Dに示されるような輝度画像Iλ1(1)を算出して、肌検出部26に出力する。
【0241】
なお、算出部102による位相差φ及び振幅aの計算と、距離画像Id(1)及び輝度画像Iλ1(1)の出力は、LED81aの消灯中(「発光停止」に対応)に行われる。
【0242】
しかしながら、距離画像センサ83が、電荷の蓄積と、位相差φ及び振幅aの計算とを並行して行える場合には、LED81a及びLED81bのいずれも消灯する発光停止期間を省略することができる。
【0243】
また、受光素子101nは、図14Bに示されるように、LED81bの点灯中(「正弦波変調光連続照射(λ2)」に対応)に、タイミング制御部82からの制御にしたがって、波長λ2の変調光の位相が0,π/2,π,3π/2となるタイミングで、反射光を受光する。受光素子101nは、反射光を受光して得られる電圧Va1',Va2',Va3',Va4'を、算出部102に供給する。
【0244】
そして、算出部102は、受光素子101nからの電圧Va1',Va2',Va3',Va4'に基づいて、図14Bに示されるように、位相差φ'及び振幅a'の計算(算出)を行う。さらに、算出部102は、位相差φ'に基づいて、図14Cに示されるような距離画像Id(2)を算出して、ゲーム機器3に出力する。
【0245】
また、算出部102は、振幅a'に基づいて、図14Dに示されるような輝度画像Iλ2(2)を算出して、肌検出部26に出力する。
【0246】
なお、算出部102による位相差φ'及び振幅a'の計算と、距離画像Id(2)及び輝度画像Iλ1(2)の出力は、LED81aの消灯中(「発光停止」に対応)に行われる。
【0247】
肌検出部26は、図14Eに示されるように、算出部102から輝度画像Iλ1(1)及び輝度画像Iλ2(2)が供給されたことに対応して、算出部102からの輝度画像Iλ1(1)及び輝度画像Iλ2(2)に基づいて、2値化肌画像Is(1,2)を生成する。
【0248】
そして、肌検出部26は、算出した2値化肌画像Is(1,2)に基づいて、被写体2の肌領域を検出し、ゲーム機器3に出力する。
【0249】
それ以降、同様にして、図14Cに示されるように、距離画像Id(3)及びId(4)等が生成される。また、図14Dに示されるように、輝度画像Iλ1(3)及び輝度画像Iλ2(4)等が生成される。そして、図14Eに示されるように、生成された輝度画像Iλ1(3)及び輝度画像Iλ2(4)に基づいて、2値化肌画像Is(3,4)が生成される。
【0250】
なお、第2の実施の形態において、肌検出部26は、図14Eに示したように、例えば、輝度画像Iλ1(1)及び輝度画像Iλ2(2)を用いて肌画像Is(1,2)を生成し、輝度画像Iλ1(3)及び輝度画像Iλ2(4)を用いて、肌画像Is(3,4)を生成するようにした。
【0251】
しかしながら、その他、例えば、肌検出部26は、図15Dに示されるように、輝度画像Iλ1(1)及び輝度画像Iλ2(2)を用いて肌画像Is(1,2)を生成し、輝度画像Iλ2(2)及び輝度画像Iλ1(3)を用いて肌画像Is(2,3)を生成し、輝度画像Iλ1(3)及び輝度画像Iλ2(4)を用いて肌画像Is(3,4)を生成するようにしてもよい。なお、図15A乃至図15Dは、図14A乃至図14Dと同様である。
【0252】
図15Eに示されるようにして肌画像Isを生成するようにした場合には、図14Eに示されるような場合と比較して、2倍の速さで2値化肌画像Isを生成することが可能となる。
【0253】
[撮像装置61の動作説明]
次に、図16のフローチャートを参照して、撮像装置61が行う第2のTOF計測処理について説明する。
【0254】
なお、この第2のTOF計測処理は、例えば、撮像装置61の電源がオンされたときに開始される。
【0255】
ステップS51において、LED81aは、LEDドライバ22からの制御にしたがって点灯し、波長λ1の変調光を照射する。なお、LED81bは消灯されている。
【0256】
ステップS52では、受光素子101nは、LED81aの点灯中に、タイミング制御部82からの制御にしたがって、LED81aから照射される波長λ1の変調光の位相が0,π/2,π,3π/2となるタイミングで、反射光を受光する。
【0257】
そして、受光素子101nは、波長λ1の変調光の位相が0,π/2,π,3π/2となるタイミングで、それぞれ受光した反射光の受光光量に応じて得られる電圧Va1乃至Va4を、算出部102に供給する。
【0258】
算出部102は、受光素子101nからの電圧Va1乃至Va4に基づいて、それぞれ、受光強度A1乃至A4を算出する。
【0259】
ステップS53では、算出部102は、受光強度A1乃至A4に基づいて、式(2)により位相差φを、式(4)により振幅aを、それぞれ算出する。なお、ステップS54において、LED81aは、ステップS51の処理で点灯したときから、所定の時間の経過後に消灯する。
【0260】
ステップS55では、算出部102は、算出した位相差φに基づいて、Δt(=φ/ω)を、往復飛行時間tdとして算出する。
【0261】
ステップS56では、算出部102は、算出した往復飛行時間tdに基づいて、距離D(=(td×v)/2)を算出する。そして、算出部42は、距離Dを画素値として有する距離画像Idを生成し、ゲーム機器3に供給する。
【0262】
ステップS57では、算出部102は、算出した振幅aに応じた輝度値を有する輝度画像Iλ1を生成し、肌検出部26に供給する。
【0263】
ステップS58では、LED81bは、LEDドライバ22からの制御にしたがって点灯し、波長λ2の変調光を照射する。なお、LED81aは消灯されている。
【0264】
ステップS59では、受光素子101nは、LED81bの点灯中に、タイミング制御部82からの制御にしたがって、LED81bから照射される波長λ2の変調光の位相が0,π/2,π,3π/2となるタイミングで、反射光を受光する。
【0265】
そして、受光素子101nは、波長λ2の変調光の位相が0,π/2,π,3π/2となるタイミングで、それぞれ受光した反射光の受光光量に応じて得られる電圧Va1'乃至Va4'を、算出部102に供給する。
【0266】
算出部102は、受光素子101nからの電圧Va1'乃至Va4'に基づいて、それぞれ、受光強度A1'乃至A4'を算出する。
【0267】
ステップS60では、算出部102は、受光強度A1'乃至A4'に基づいて、式(2)により位相差φ'を、式(4)により振幅a'を、それぞれ算出する。なお、ステップS61において、LED81bは、ステップS58の処理で点灯したときから、所定の時間の経過後に消灯する。
【0268】
ステップS62では、算出部102は、算出した位相差φ'に基づいて、Δt'(=φ'/ω)を、往復飛行時間td'として算出する。
【0269】
ステップS63では、算出部102は、算出した往復飛行時間td'に基づいて、距離D'(=(td'×v)/2)を算出する。そして、算出部42は、距離D'を画素値として有する距離画像Id'を生成し、ゲーム機器3に供給する。
【0270】
ステップS64では、算出部102は、算出した振幅a'に応じた輝度値を有する輝度画像Iλ2を生成し、肌検出部26に供給する。
【0271】
ステップS65では、肌検出部26は、算出部102からの輝度画像Iλ1及び輝度画像Iλ2に基づいて、肌検出処理を行い、その結果得られる肌領域を、ゲーム機器3に出力して、処理は、ステップS51に戻り、それ以降、同様の処理が繰り返される。
【0272】
なお、この第2のTOF計測処理は、例えば、撮像装置61の電源がオフされたときに終了される。
【0273】
以上説明したように、第2のTOF計測処理によれば、人間の分光反射特性に基づいて、被写体2の肌領域を表す2値化肌画像Isを算出するようにした。このため、被写体2を照らす照明の明るさに拘らず、被写体2の肌領域を精度良く検出することが可能となる。
【0274】
また、第2のTOF計測処理によれば、往復飛行時間tdに基づいて、距離画像Idの各画素毎に、ユーザまでの距離Dを算出するようにした。このため、例えば、被写体2の肌領域の大きさ等から、被写体2までの距離を算出する場合と比較して、より正確な距離Dを算出することが可能となる。
【0275】
ところで、撮像装置1(61)の肌検出部26では、図17に示されるように、被写体2において、露出された肌部分(例えば、顔部分2a、右手部分2b、及び左手部分2c)を肌領域として検出している。そして、検出した肌領域を、ゲーム機器3に対して入力するようにしている。
【0276】
ゲーム機器3では、被写体2の肌部分として、顔部分2a、右手部分2b、及び左手部分2cの他、被写体2の足部分も用いることができることが望ましい。
【0277】
しかしながら、被写体2が靴下などを履いている場合には、撮像装置1において、被写体2の足部分を肌領域として検出することができない。
【0278】
この場合、被写体2は、自身の足部分に、人間の肌と同様の分光反射特性を有する擬似肌装着具121a及び121bを装着するようにして、撮像装置1の前で、ジェスチャ等を行うようにする。
【0279】
これにより、撮像装置1の肌検出部26は、図18に示されるような2値化肌画像Isを生成することができるようになる。このため、撮像装置1の肌検出部26は、顔部分(首を含む)2a、右手部分2b、及び左手部分2cの他、擬似肌装着具121a及び121bを、被写体2の肌領域(図18の黒色で示される部分)として検出できるようになる。なお、図18に示されるような2値化肌画像Isは、撮像装置1が、被写体2を正面から撮像したとき(例えば、図17に示される被写体2を、図17の図面の法線方向から撮像したとき)に生成される2値化肌画像である。
【0280】
なお、擬似肌装着具121a及び121bは、波長λ1及びλ2における分光反射特性が、少なくとも人間の肌と同様であればよく、それ以外の波長については、人間の肌と異なるものであってもよい。
【0281】
また、擬似装着具121a及び121bは、足部分の他、異なる部位に装着させることができる。擬似装着具を、被写体2の各部位のうち、検出したい部位に装着させるようにすれば、肌が露出していなくても、所望の部位を検出できるようになる。
【0282】
なお、擬似肌装着具121a及び121bは、装着を想定される部位に応じて様々な形状とされる。具体的には、例えば、足首等に装着させることを想定して、バンド(輪)のような形状とされたり、頭に装着させることを想定して、帽子のような形状とされる。また、擬似肌装着具は、シールとして、被写体2の部位に貼ることができるようにしてもよい。
【0283】
<3.変形例>
第1及び第2の実施の形態では、肌検出部26は、検出した肌領域(を表す情報)を、ゲーム機器3に出力するようにしているが、その他、例えば、肌領域に代えて、2値化肌画像Isを出力するようにしてもよい。
【0284】
また、例えば、肌検出部26は、ゲーム機器3を出力先として、肌領域等を出力するようにしているが、出力先の対象機器としては、ゲーム機器3に限定されず、その他、例えば、テレビジョン受像機などのAV機器を採用することができる。
【0285】
撮像装置1又は61が接続されたAV機器において、被写体2が、メニュー画面から所定の項目をポインタ等で選択するジェスチャ操作等を行う場合には、肌領域等に代えて、2値化肌画像Isから計算された指先等の特徴点の座標情報を、出力するようにしてもよい。
【0286】
この場合、肌検出部26は、生成した2値化肌画像Is上の肌領域に基づいて、被写体2の指先等の特徴点を検出する処理等を行うこととなる。さらに、肌検出部26は、肌領域とともに、検出した特徴点の座標情報を出力するようにしてもよい。
【0287】
また、撮像装置1又は61は、携帯電話機等の、比較的小型の電子機器等に内蔵させることができる。この場合、電子機器では、内蔵の撮像装置1又は61から出力される情報に基づいて、各種の制御が行われることとなるので、電子機器を、ジェスチャやポスチャ等により操作できるようになる。
【0288】
ところで、第2の実施の形態では、LED81a及びLED81bは、それぞれ、LEDドライバ22からの制御にしたがって、正弦波とされた変調光を照射するようにした。
【0289】
しかしながら、その他、例えば、撮像装置61に、LEDから照射される光として、所定の波を発生させ、発生させた波を正弦波に変調(変換)する変調部を設けるようにすることができる。
【0290】
この場合、例えば、変調部は、所定の間隔毎にHighとLowを交互に繰り返す矩形波を発生させる。また、変調部は、発生させた矩形波をLPF(low pass filter)によりなまらせるようにして正弦波に変調(変換)する。そして、LED81a及びLED81bは、それぞれ、変調部により正弦波とされた光を、変調光として照射することとなる。
【0291】
なお、撮像装置61には、LED81a及びLED81b用として1個の変調部を設ける他、LED81a用とLED81b用とで別々の変調部を設けるようにしてもよい。
【0292】
また、例えば、矩形波をLPFによりなまらせるようにして得られる波形は、実際には、完全な正弦波にならず、正弦波に近い波形(基本波に対して若干の高調波を含んだような波形)となることが多い。
【0293】
したがって、LED81a及びLED81bから照射される変調光の波形は、完全な正弦波に限定されず、正弦波に近い波形なども含むものとなる。すなわち、例えば、LED81a及びLED81bから照射される変調光の波形は、所定の周期で光の強度が変化するものであれば、どのような波形であってもよい。
【0294】
なお、本技術は以下のような構成もとることができる。
(1)被写体に対して、第1の波長の光を照射する第1の照射部と、前記被写体に対して、前記第1の波長とは異なる第2の波長の光を照射する第2の照射部と、前記被写体からの反射光を受光する受光部と、前記被写体からの反射光として前記第1の波長の光が受光されることにより得られる第1の画像と、前記被写体からの反射光として前記第2の波長の光が受光されることにより得られる第2の画像に基づいて、前記被写体の肌を表す肌領域を検出する肌検出部と、前記第1の波長の光が前記被写体に照射されたときから、前記被写体からの反射光として受光されるまでの第1の往復時間を算出する往復時間算出部と、前記第1の往復時間に基づいて、前記被写体までの距離を算出する距離算出部とを含む撮像装置。
(2)前記受光部は、予め決められた受光期間毎に、前記被写体からの反射光を受光するものであり、前記第1の照射部による点灯と消灯が所定間隔毎に交互に繰り返される第1の前記受光期間において、前記第1の受光期間を構成する複数の前記所定間隔のうち、奇数番目の前記所定間隔内に前記被写体からの反射光を受光する第1のセルと、前記第1の受光期間を構成する前記複数の所定間隔のうち、偶数番目の前記所定間隔内に前記被写体からの反射光を受光する第2のセルとを有し、前記往復時間算出部は、前記第1のセルで前記第1の受光期間内に受光された前記反射光の受光光量と、前記第2のセルで前記第1の受光期間内に受光された前記反射光の受光光量に基づいて、前記第1の往復時間を算出する前記(1)に記載の撮像装置。
(3)前記第1のセルは、前記第1の照射部及び前記第2の照射部が消灯される第2の前記受光期間において、前記第2の受光期間を構成する複数の前記所定間隔のうち、奇数番目の前記所定間隔内に前記被写体からの反射光も受光し、前記第2のセルは、前記第2の受光期間を構成する前記複数の所定間隔のうち、偶数番目の前記所定間隔内に前記被写体からの反射光も受光し、前記往復時間算出部は、前記第1のセルで前記第2の受光期間内に受光された前記反射光の受光光量と、前記第2のセルで前記第2の受光期間内に受光された前記反射光の受光光量にも基づいて、前記第1の往復時間を算出する前記(2)に記載の撮像装置。
(4)前記第1のセルは、前記第2の照射部による点灯と消灯が所定間隔毎に交互に繰り返される前記第3の受光期間において、前記第3の受光期間を構成する複数の前記所定間隔のうち、奇数番目の前記所定間隔内に前記被写体からの反射光も受光し、前記第2のセルは、前記第3の受光期間を構成する前記複数の所定間隔のうち、偶数番目の前記所定間隔内に前記被写体からの反射光も受光し、前記肌検出部は、前記第1のセル及び前記第2のセルで前記第1の受光期間内に受光された前記反射光により生成される前記第1の画像と、前記第1のセル及び前記第2のセルで前記第3の受光期間内に受光された前記反射光により生成される前記第2の画像に基づいて、前記肌領域を検出する前記(2)に記載の撮像装置。
(5)前記第1の波長の光及び前記第2の波長の光は、それぞれ、所定の周期で光の強度が変化する光であり、前記受光部は、予め決められたタイミングで前記被写体からの反射光を受光し、前記第1の波長の光の照射中に前記タイミングで受光された前記反射光の受光光量に基づいて、前記タイミングにおける前記反射光の受光強度を算出する強度算出部と、前記反射光の受光強度に基づいて、前記第1の波長の光と前記反射光との位相差を算出する位相差算出部とをさらに含み、前記往復時間算出部は、前記位相差に基づいて、前記第1の往復時間を算出する前記(1)に記載の撮像装置。
(6)前記肌検出部は、前記第1の波長の光の照射中に受光された前記反射光の振幅から生成される前記第1の画像と、前記第2の波長の光の照射中に受光された前記反射光の振幅から生成される前記第2の画像に基づいて、前記肌領域を検出する前記(5)に記載の撮像装置。
(7)前記往復時間算出部は、前記第2の波長の光が前記被写体に照射されたときから前記被写体からの反射光として受光されるまでの第2の往復時間も算出し、
前記距離算出部は、前記第1の往復時間及び前記第2の往復時間に基づいて、前記被写体までの距離を算出する前記(1)に記載の撮像装置。
(8)前記距離算出部は、前記第1の往復時間及び前記第2の往復時間に基づいて、前記第1の往復時間に基づき算出される第1の距離と、前記第2の往復時間に基づき算出される第2の距離との平均を、前記被写体までの距離として算出する前記(7)に記載の撮像装置。
(9)前記距離算出部は、複数の前記受光部毎に算出される前記第1の往復時間に基づいて、前記被写体までの距離を、前記複数の受光部にそれぞれ対応する各画素毎に算出する前記(1)乃至(6)に記載の撮像装置。
(10)前記受光部は、少なくとも前記第1及び第2の波長について人間の肌と類似する分光反射特性を有する擬似肌装着具を装着した前記被写体からの反射光を受光する前記(1)乃至(6)に記載の撮像装置。
(11)前記第1の波長又は前記第2の波長のうち、一方の波長λ1と他方の波長λ2は、
640nm ≦ λ1 ≦ 1000nm
900nm ≦ λ2 ≦ 1100nm
を満たす前記(1)乃至(6)に記載の撮像装置。
(12)前記第1の照射部は、前記第1の波長λ1の不可視光を照射し、前記第2の照射部は、前記第2の波長λ2の不可視光を照射する前記(11)に記載の撮像装置。
(13)前記受光部に入射される可視光を遮断する可視光カットフィルタをさらに含む前記(1)乃至(6)に記載の撮像装置。
【0295】
ところで、上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、又は、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のコンピュータなどに、プログラム記録媒体からインストールされる。
【0296】
[コンピュータの構成例]
図19は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示している。
【0297】
CPU(Central Processing Unit)141は、ROM(Read Only Memory)142、又は記憶部148に記憶されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)143には、CPU141が実行するプログラムやデータ等が適宜記憶される。これらのCPU141、ROM142、及びRAM143は、バス144により相互に接続されている。
【0298】
CPU141にはまた、バス144を介して入出力インタフェース145が接続されている。入出力インタフェース145には、キーボード、マウス、マイクロホン等よりなる入力部146、ディスプレイ、スピーカ等よりなる出力部147が接続されている。CPU141は、入力部146から入力される指令に対応して各種の処理を実行する。そして、CPU141は、処理の結果を出力部147に出力する。
【0299】
入出力インタフェース145に接続されている記憶部148は、例えばハードディスクからなり、CPU141が実行するプログラムや各種のデータを記憶する。通信部149は、インターネットやローカルエリアネットワーク等のネットワークを介して外部の装置と通信する。
【0300】
また、通信部149を介してプログラムを取得し、記憶部148に記憶してもよい。
【0301】
入出力インタフェース145に接続されているドライブ150は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等のリムーバブルメディア151が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータ等を取得する。取得されたプログラムやデータは、必要に応じて記憶部148に転送され、記憶される。
【0302】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを記録(記憶)する記録媒体は、図19に示すように、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini-Disc)を含む)、もしくは半導体メモリ等よりなるパッケージメディアであるリムーバブルメディア151、又は、プログラムが一時的もしくは永続的に格納されるROM142や、記憶部148を構成するハードディスク等により構成される。記録媒体へのプログラムの記録は、必要に応じてルータ、モデム等のインタフェースである通信部149を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線又は無線の通信媒体を利用して行われる。
【0303】
なお、本明細書において、上述した一連の処理を記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0304】
また、本開示における実施の形態は、上述した第1及び第2の実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【0305】
1 撮像装置, 21a,21b LED, 22 LEDドライバ, 23 タイミング制御部, 24 レンズ, 25 距離画像センサ, 26 肌検出部, 411乃至41N 受光素子, 41a1乃至41aN,41b1乃至41bN セル, 42 算出部, 61 撮像装置, 81a,81b LED, 82 タイミング制御部, 83 距離画像センサ, 1011乃至101N 受光素子, 102 算出部, 121a,121b 擬似肌装着具

【特許請求の範囲】
【請求項1】
被写体に対して、第1の波長の光を照射する第1の照射部と、
前記被写体に対して、前記第1の波長とは異なる第2の波長の光を照射する第2の照射部と、
前記被写体からの反射光を受光する受光部と、
前記被写体からの反射光として前記第1の波長の光が受光されることにより得られる第1の画像と、前記被写体からの反射光として前記第2の波長の光が受光されることにより得られる第2の画像に基づいて、前記被写体の肌を表す肌領域を検出する肌検出部と、
前記第1の波長の光が前記被写体に照射されたときから、前記被写体からの反射光として受光されるまでの第1の往復時間を算出する往復時間算出部と、
前記第1の往復時間に基づいて、前記被写体までの距離を算出する距離算出部と
を含む撮像装置。
【請求項2】
前記受光部は、予め決められた受光期間毎に、前記被写体からの反射光を受光するものであり、
前記第1の照射部による点灯と消灯が所定間隔毎に交互に繰り返される第1の前記受光期間において、前記第1の受光期間を構成する複数の前記所定間隔のうち、奇数番目の前記所定間隔内に前記被写体からの反射光を受光する第1のセルと、
前記第1の受光期間を構成する前記複数の所定間隔のうち、偶数番目の前記所定間隔内に前記被写体からの反射光を受光する第2のセルと
を有し、
前記往復時間算出部は、前記第1のセルで前記第1の受光期間内に受光された前記反射光の受光光量と、前記第2のセルで前記第1の受光期間内に受光された前記反射光の受光光量に基づいて、前記第1の往復時間を算出する
請求項1に記載の撮像装置。
【請求項3】
前記第1のセルは、前記第1の照射部及び前記第2の照射部が消灯される第2の前記受光期間において、前記第2の受光期間を構成する複数の前記所定間隔のうち、奇数番目の前記所定間隔内に前記被写体からの反射光も受光し、
前記第2のセルは、前記第2の受光期間を構成する前記複数の所定間隔のうち、偶数番目の前記所定間隔内に前記被写体からの反射光も受光し、
前記往復時間算出部は、前記第1のセルで前記第2の受光期間内に受光された前記反射光の受光光量と、前記第2のセルで前記第2の受光期間内に受光された前記反射光の受光光量にも基づいて、前記第1の往復時間を算出する
請求項2に記載の撮像装置。
【請求項4】
前記第1のセルは、前記第2の照射部による点灯と消灯が所定間隔毎に交互に繰り返される前記第3の受光期間において、前記第3の受光期間を構成する複数の前記所定間隔のうち、奇数番目の前記所定間隔内に前記被写体からの反射光も受光し、
前記第2のセルは、前記第3の受光期間を構成する前記複数の所定間隔のうち、偶数番目の前記所定間隔内に前記被写体からの反射光も受光し、
前記肌検出部は、前記第1のセル及び前記第2のセルで前記第1の受光期間内に受光された前記反射光により生成される前記第1の画像と、前記第1のセル及び前記第2のセルで前記第3の受光期間内に受光された前記反射光により生成される前記第2の画像に基づいて、前記肌領域を検出する
請求項2に記載の撮像装置。
【請求項5】
前記第1の波長の光及び前記第2の波長の光は、それぞれ、所定の周期で光の強度が変化する光であり、
前記受光部は、予め決められたタイミングで前記被写体からの反射光を受光し、
前記第1の波長の光の照射中に前記タイミングで受光された前記反射光の受光光量に基づいて、前記タイミングにおける前記反射光の受光強度を算出する強度算出部と、
前記反射光の受光強度に基づいて、前記第1の波長の光と前記反射光との位相差を算出する位相差算出部と
をさらに含み、
前記往復時間算出部は、前記位相差に基づいて、前記第1の往復時間を算出する
請求項1に記載の撮像装置。
【請求項6】
前記肌検出部は、前記第1の波長の光の照射中に受光された前記反射光の振幅から生成される前記第1の画像と、前記第2の波長の光の照射中に受光された前記反射光の振幅から生成される前記第2の画像に基づいて、前記肌領域を検出する
請求項5に記載の撮像装置。
【請求項7】
前記往復時間算出部は、前記第2の波長の光が前記被写体に照射されたときから前記被写体からの反射光として受光されるまでの第2の往復時間も算出し、
前記距離算出部は、前記第1の往復時間及び前記第2の往復時間に基づいて、前記被写体までの距離を算出する
請求項1に記載の撮像装置。
【請求項8】
前記距離算出部は、前記第1の往復時間及び前記第2の往復時間に基づいて、前記第1の往復時間に基づき算出される第1の距離と、前記第2の往復時間に基づき算出される第2の距離との平均を、前記被写体までの距離として算出する
請求項7に記載の撮像装置。
【請求項9】
前記距離算出部は、複数の前記受光部毎に算出される前記第1の往復時間に基づいて、前記被写体までの距離を、前記複数の受光部にそれぞれ対応する各画素毎に算出する
請求項1に記載の撮像装置。
【請求項10】
前記受光部は、少なくとも前記第1及び第2の波長について人間の肌と類似する分光反射特性を有する擬似肌装着具を装着した前記被写体からの反射光を受光する
請求項1に記載の撮像装置。
【請求項11】
前記第1の波長又は前記第2の波長のうち、一方の波長λ1と他方の波長λ2は、
640nm ≦ λ1 ≦ 1000nm
900nm ≦ λ2 ≦ 1100nm
を満たす請求項1に記載の撮像装置。
【請求項12】
前記第1の照射部は、前記第1の波長λ1の不可視光を照射し、
前記第2の照射部は、前記第2の波長λ2の不可視光を照射する
請求項11に記載の撮像装置。
【請求項13】
前記受光部に入射される可視光を遮断する可視光カットフィルタをさらに含む
請求項1に記載の撮像装置。
【請求項14】
被写体に対して、第1の波長の光を照射する第1の照射部と、前記被写体に対して、前記第1の波長とは異なる第2の波長の光を照射する第2の照射部と、前記被写体からの反射光を受光する受光部とを有する撮像装置の撮像方法において、
前記撮像装置による、
前記被写体からの反射光として前記第1の波長の光が受光されることにより得られる第1の画像と、前記被写体からの反射光として前記第2の波長の光が受光されることにより得られる第2の画像に基づいて、前記被写体の肌を表す肌領域を検出する肌検出ステップと、
前記第1の波長の光が前記被写体に照射されたときから、前記被写体からの反射光として受光されるまでの第1の往復時間を算出する往復時間算出ステップと、
前記第1の往復時間に基づいて、前記被写体までの距離を算出する距離算出ステップと
を含む撮像方法。
【請求項15】
被写体に対して、第1の波長の光を照射する第1の照射部と、前記被写体に対して、前記第1の波長とは異なる第2の波長の光を照射する第2の照射部と、前記被写体からの反射光を受光する受光部とを有する撮像装置のコンピュータを、
前記被写体からの反射光として前記第1の波長の光が受光されることにより得られる第1の画像と、前記被写体からの反射光として前記第2の波長の光が受光されることにより得られる第2の画像に基づいて、前記被写体の肌を表す肌領域を検出する肌検出部と、
前記第1の波長の光が前記被写体に照射されたときから、前記被写体からの反射光として受光されるまでの第1の往復時間を算出する往復時間算出部と、
前記第1の往復時間に基づいて、前記被写体までの距離を算出する距離算出部と
して機能させるためのプログラム。

【図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

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate


【公開番号】特開2013−96941(P2013−96941A)
【公開日】平成25年5月20日(2013.5.20)
【国際特許分類】
【出願番号】特願2011−242197(P2011−242197)
【出願日】平成23年11月4日(2011.11.4)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】