(57)【特許請求の範囲】
【請求項１】
複数の距離画像センサ、
腕を使ったジェスチャを距離画像センサ毎に認識する認識手段、
前記腕を使ったジェスチャの認識に利用した距離画像センサを記憶する記憶手段、
前記記憶手段によって記憶された距離画像センサから、前記腕を使ったジェスチャを適切に認識したときに利用された距離画像センサを特定する特定手段、および
前記特定手段によって特定された距離画像センサを利用して認識された腕を使ったジェスチャを、認識結果として登録する登録手段を備える、ジェスチャ管理システム。
【請求項２】
前記距離画像センサは、距離画像を出力し、
前記特定手段は、前記距離画像センサから出力される距離画像における、腕を使ったジェスチャを行う人間の大きさに基づいて、腕を使ったジェスチャを適切に認識したときに利用された距離画像センサを特定する、請求項１記載のジェスチャ管理システム。
【請求項３】
前記人間の大きさは、距離画像のピクセル数によって示される、請求項２記載のジェスチャ管理システム。
【請求項４】
前記腕を使ったジェスチャの認識に利用されていない距離画像センサのうち、そのジェスチャを観察可能な距離画像センサを検索する検索手段をさらに備え、
前記登録手段は、前記検索手段によって前記腕を使ったジェスチャを観察可能な距離画像センサが発見されないとき、前記特定手段によって特定された距離画像センサを利用して認識された腕を使ったジェスチャを、認識結果として登録する、請求項１ないし３のいずれかに記載のジェスチャ管理システム。
【請求項５】
前記腕を使ったジェスチャは、指さしジェスチャを含み、
前記登録手段は、前記指さしジェスチャにおける指さし方向を登録する、請求項１ないし４のいずれかに記載のジェスチャ管理システム。
【請求項６】
複数の距離画像センサを有する、ジェスチャ管理システムのプロセッサを、
腕を使ったジェスチャを距離画像センサ毎に認識する認識手段、
前記腕を使ったジェスチャの認識に利用した距離画像センサを記憶する記憶手段、
前記記憶手段によって記憶された距離画像センサから、前記腕を使ったジェスチャを適切に認識したときに利用された距離画像センサを特定する特定手段、および
前記特定手段によって特定された距離画像センサを利用して認識された腕を使ったジェスチャを、認識結果として登録する登録手段として機能させる、ジェスチャ管理プログラム。
【請求項７】
複数の距離画像センサを有する、ジェスチャ管理システムにおけるジェスチャ管理方法であって、前記ジェスチャ管理システムのプロセッサが、
腕を使ったジェスチャを距離画像センサ毎に認識する認識ステップ、
前記腕を使ったジェスチャの認識に利用した距離画像センサを記憶する記憶ステップ、
前記記憶ステップによって記憶された距離画像センサから、前記腕を使ったジェスチャを適切に認識したときに利用された距離画像センサを特定する特定ステップ、および
前記特定ステップによって特定された距離画像センサを利用して認識された腕を使ったジェスチャを、認識結果として登録する登録ステップを実行する、ジェスチャ管理方法。
【請求項８】
距離画像を出力する距離画像センサ、
人間が存在する空間の距離画像に基づいて、体の特徴点を抽出する第１抽出手段、
前記特徴点に基づいて、前記距離画像から候補点を抽出する第２抽出手段、
前記特徴点と前記候補点とを含む領域があるとき、その領域を腕領域として記憶する第１記憶手段、および
前記特徴点と前記腕領域に含まれる候補点とに基づいて、指さし方向を記憶する第２記憶手段を備える、指さし認識装置。
【請求項９】
前記第１記憶手段は、前記特徴点と前記候補点とを含む領域が、腕としての特徴を有しているとき、その領域を腕領域として記憶する、請求項８記載の指さし認識装置。
【請求項１０】
前記第２記憶手段は、前記腕領域と前記人間とに基づく角度が所定角度範囲内のとき、前記特徴点と前記腕領域に含まれる候補点とに基づいて、指さし方向を記憶する、請求項８または９記載の指さし認識装置。
【請求項１１】
前記第２抽出手段は、前記特徴点に基づいて、前記距離画像から複数の候補点を抽出し、
前記第１記憶手段によって３つ以上の腕領域が記憶されたとき、前記第２記憶手段によって記憶されている指さし方向を削除する削除手段をさらに備える、請求項８ないし１０のいずれかに記載の指さし認識装置。
【請求項１２】
前記削除手段は、前記第１記憶手段によって新たな腕領域が記憶され、かつ前記第２記憶手段によってすでに指さし方向が記憶されているとき、前記第２記憶手段によって記憶されている指さし方向を削除する、請求項１１記載の指さし認識装置。
【請求項１３】
前記特徴点は、前記人間の頭部位置および肩位置を含み、
前記第２抽出手段は、前記頭部位置に基づいて前記距離画像から候補点を抽出し、
前記第１記憶手段は、前記肩位置と前記候補点とを含む領域があるとき、その領域を腕領域として記憶し、
前記第２記憶手段は、前記頭部位置および前記肩位置の中点と、前記腕領域に含まれる候補点とに基づいて、指さし方向を記憶する、請求項８ないし１２のいずれかに記載の指さし認識装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ジェスチャ管理システム、ジェスチャ管理プログラム、ジェスチャ管理方法および指さし認識装置に関し、特にたとえば、腕を使ったジェスチャを認識する、ジェスチャ管理システム、ジェスチャ管理プログラム、ジェスチャ管理方法および指さし認識装置に関する。
【背景技術】
【０００２】
背景技術の一例が特許文献１に開示されている。この特許文献１の計測装置では、複数の３次元距離計測センサを利用して、人の位置および頭部の向きをリアルタイムに計測することが出来る。
【０００３】
また、特許文献２のジェスチャスイッチでは、検知対象エリア内に所定のジェスチャによる入力を受け付けるための入力空間が設定されている。人が入力空間の近傍で所定のジェスチャを行うと、そのジェスチャが認識される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2012-215555号公報[G01S 17/89, G01S 17/66, G01C 3/06, G06T 7/20, G06T 7/60]
【特許文献２】特開2006-99749号公報[G06F 3/033, G06T 7/20, G01B 11/00,G01B 11/24]
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところが、特許文献１の計測装置では、人間の位置などを計測することはできるが、指さしなどの腕を使ったジェスチャを認識することはできない。また、特許文献２のジェスチャスイッチは検知対象エリア内に設定されている入力空間の近傍でなければ、所定のジェスチャを認識することが出来ない。つまり、このジェスチャスイッチでは、人間などが移動する空間において、任意の位置で行なわれる腕を使ったジェスチャを認識することができない。
【０００６】
それゆえに、この発明の主たる目的は、新規な、ジェスチャ管理システム、ジェスチャ管理プログラム、ジェスチャ管理方法、指さし認識装置を提供することである。
【０００７】
この発明の他の目的は、任意の位置で行われる腕を使ったジェスチャを適切に認識することができる、ジェスチャ管理システム、ジェスチャ管理プログラムおよびジェスチャ管理方法を提供することである。
【０００８】
この発明のその他の目的は、指さしを適切に認識することが出来る、指さし認識装置を提供することである。
【課題を解決するための手段】
【０００９】
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、この発明の理解を助けるために記述する実施形態との対応関係を示したものであって、この発明を何ら限定するものではない。
【００１０】
第１の発明は、複数の距離画像センサ、腕を使ったジェスチャを距離画像センサ毎に認識する認識手段、腕を使ったジェスチャの認識に利用した距離画像センサを記憶する記憶手段、記憶手段によって記憶された距離画像センサから、腕を使ったジェスチャを適切に認識したときに利用された距離画像センサを特定する特定手段、および特定手段によって特定された距離画像センサを利用して認識された腕を使ったジェスチャを、認識結果として登録する登録手段を備える、ジェスチャ管理システムである。
【００１１】
第１の発明では、ジェスチャ管理システム（１００：実施例において対応する部分を例示する参照符号。以下、同じ。）は、たとえば複数の距離画像センサ（１２）が天井に設けられる空間で利用される。認識手段（６０，Ｓ１）は、複数の距離画像センサに対応付けて腕を使ったジェスチャに認識する。記憶手段（６０，Ｓ５）は、たとえば複数の距離画像センサのうち、腕を使ったジェスチャの認識に利用した距離画像センサの識別情報を記憶する。特定手段（６０，Ｓ７）は、腕を使ったジェスチャの認識に利用した距離画像センサの中から、腕を使ったジェスチャを適切に認識したときに利用した距離画像センサを特定する。登録手段（６０，Ｓ１５）は、たとえば特定された距離画像センサを利用して認識した腕を使ったジェスチャを、認識結果として登録する。
【００１２】
第１の発明によれば、たとえば人間が空間内の任意の位置で腕を使ったジェスチャを行っても、腕を使ったジェスチャを適切に認識している距離画像センサを特定することが出来る。したがって、空間内の任意の位置で人間が腕を使ったジェスチャを行っても、そのジェスチャを適切に認識することが出来る。
【００１３】
第２の発明は、第１の発明に従属し、距離画像センサは、距離画像を出力し、特定手段は、距離画像センサから出力される距離画像における、腕を使ったジェスチャを行う人間の大きさに基づいて、腕を使ったジェスチャを適切に認識したときに利用された距離画像センサを特定する。
【００１４】
第２の発明では、複数の距離画像センサはそれぞれ距離画像を出力する。出力された距離画像における人間の大きさに基づいて、腕を使ったジェスチャを適切に認識したときに利用した距離画像センサが特定される。
【００１５】
第３の発明は、第２の発明に従属し、人間の大きさは、距離画像のピクセル数によって示される。
【００１６】
第３の発明では、たとえば、複数の距離画像センサはそれぞれ異なる位置に設けられている。そのため、各距離画像センサから出力される距離画像では、人間の大きさを示すピクセル数は異なる。
【００１７】
第２の発明または第３の発明によれば、距離画像における人間の大きさを利用することで、距離画像センサを特定するまでの時間を短縮することが出来る。
【００１８】
第４の発明は、第１の発明ないし第３の発明のいずれかに従属し、腕を使ったジェスチャの認識に利用されていない距離画像センサのうち、そのジェスチャを観察可能な距離画像センサを検索する検索手段をさらに備え、登録手段は、検索手段によって腕を使ったジェスチャを観察可能な距離画像センサが発見されないとき、特定手段によって特定された距離画像センサを利用して認識された腕を使ったジェスチャを、認識結果として登録する。
【００１９】
第４の発明では、検索手段（６０，Ｓ１１）は、腕を使ったジェスチャの認識に利用されていない距離画像センサの中から、そのジェスチャを観察可能な距離画像センサを検索する。検索手段によって腕を使ったジェスチャを観察可能な距離画像センサが発見されなければ、登録手段は、特定された距離画像センサによって認識された腕を使ったジェスチャを、認識結果として登録する。たとえば、腕を使ったジェスチャを観察可能な距離画像センサが発見された場合は、腕を使ったジェスチャを誤認識している可能性が高い。つまり、検索によって腕を使ったジェスチャが誤認識されていないかを確認することができる。
【００２０】
第４の発明によれば、腕を使ったジェスチャの認識結果を統合する前に腕を使ったジェスチャが誤認識されていないかを確認することで、認識結果を統合する精度を高めることが出来る。
【００２１】
第５の発明は、第１の発明ないし第４の発明のいずれかに従属し、腕を使ったジェスチャは、指さしジェスチャを含み、登録手段は、指さしジェスチャにおける指さし方向（Ｐｘ）を登録する。
【００２２】
第５の発明によれば、指さしジェスチャの認識結果として指さし方向を登録することができる。
【００２３】
第６の発明は、複数の距離画像センサを有する、ジェスチャ管理システムのプロセッサを、腕を使ったジェスチャを距離画像センサ毎に認識する認識手段、腕を使ったジェスチャの認識に利用した距離画像センサを記憶する記憶手段、記憶手段によって記憶された距離画像センサから、腕を使ったジェスチャを適切に認識したときに利用された距離画像センサを特定する特定手段、および特定手段によって特定された距離画像センサを利用して認識された腕を使ったジェスチャを、認識結果として登録する登録手段として機能させる、ジェスチャ管理プログラムである。
【００２４】
第６の発明でも、第１の発明と同様の効果を得ることが出来る。
【００２５】
第７の発明は、複数の距離画像センサを有する、ジェスチャ管理システムにおけるジェスチャ管理方法であって、ジェスチャ管理システムのプロセッサが、腕を使ったジェスチャを距離画像センサ毎に認識する認識ステップ、腕を使ったジェスチャの認識に利用した距離画像センサを記憶する記憶ステップ、記憶ステップによって記憶された距離画像センサから、腕を使ったジェスチャを適切に認識したときに利用された距離画像センサを特定する特定ステップ、および特定ステップによって特定された距離画像センサを利用して認識された腕を使ったジェスチャを、認識結果として登録する登録ステップを実行する、ジェスチャ管理方法である。
【００２６】
第７の発明でも、第１の発明と同様の効果を得ることが出来る。
【００２７】
第８の発明は、距離画像を出力する距離画像センサ、人間が存在する空間の距離画像に基づいて、体の特徴点を抽出する第１抽出手段、特徴点に基づいて、距離画像から候補点を抽出する第２抽出手段、特徴点と候補点とを含む領域があるとき、その領域を腕領域として記憶する第１記憶手段、および特徴点と腕領域に含まれる候補点とに基づいて、指さし方向を記憶する第２記憶手段を備える、指さし認識装置である。
【００２８】
第８の発明では、指さし認識装置（１０）の複数の距離画像センサ（１２）は、たとえば人間が存在する空間の天井に設けられる。第１抽出手段（６０，Ｓ３３）は、たとえば距離画像センサの検出範囲に人間がいる場合、その距離画像センサが出力する距離画像から、人間の体の特徴点を複数抽出する。第２抽出手段（６０，Ｓ３５）は、たとえば特徴点から一定距離以上離れた特徴点（Ｘ）を、距離画像から抽出する。たとえば、特徴点から最も離れた候補点と略同じ距離の周囲の点を結合した結果の領域に特徴点が含まれている場合、第１記憶手段（６０，Ｓ５１）は結合結果の領域を腕領域として記憶する。第２記憶手段（６０，Ｓ５９）は、たとえば腕領域に含まれる、特徴点から最も離れた候補点と特徴点とによって示されるベクトルを指さし方向として記憶する。
【００２９】
第８の発明によれば、人間の特徴点を利用することで、その人間が行う指さしジェスチャの指さし方向を適切に検出することが出来る。
【００３０】
第９の発明は、第８の発明に従属し、第１記憶手段は、特徴点と候補点とを含む領域が、腕としての特徴を有しているとき、その領域を腕領域として記憶する。
【００３１】
第９の発明では、腕（領域）としての特徴とは、たとえば結合結果の領域が細長い形状をしており、かつ一定の長さを有していることである。そして、特徴点と候補点とを含む領域が上述の特徴を有しているとき、その領域が腕領域として記憶される。
【００３２】
第９の発明によれば、特徴点と候補点とを含む領域が腕の特徴を有しているかを判断することで、指さしジェスチャを認識する際の信頼性を高めることが出来る。
【００３３】
第１０の発明は、第８の発明または第９の発明に従属し、第２記憶手段は、腕領域と人間とに基づく角度が所定角度範囲内のとき、特徴点と腕領域に含まれる候補点とに基づいて、指さし方向を記憶する。
【００３４】
第１０の発明では、たとえば所定角度範囲は、指さしジェスチャを行うときの腕の角度が含まれる範囲である。そして、たとえば腕領域と人間とに基づく角度が所定角度範囲内のとき、特徴点と腕領域に含まれる候補点とに基づいて、指さし方向が記憶される。
【００３５】
第１０の発明によれば、腕領域と人間とに基づく角度が所定範囲角度内を判断することで、指さしジェスチャを行っていない腕によって指さしジェスチャが誤認識される可能性を低くしている。
【００３６】
第１１の発明は、第８の発明ないし第１０の発明のいずれかに従属し、第２抽出手段は、特徴点に基づいて、距離画像から複数の候補点を抽出し、第１記憶手段によって３つ以上の腕領域が記憶されたとき、第２記憶手段によって記憶されている指さし方向を削除する削除手段をさらに備える。
【００３７】
第１１の発明では、第２抽出手段は、特徴点に基づいて、距離画像から複数の候補点を抽出する。３つ以上の腕領域が記憶された場合、削除手段（６０，Ｓ６３）は記憶されている指さし方向を削除する。
【００３８】
第１２の発明は、第１１の発明に従属し、削除手段は、第１記憶手段によって新たな腕領域が記憶され、かつ第２記憶手段によってすでに指さし方向が記憶されているとき、第２記憶手段によって記憶されている指さし方向を削除する。
【００３９】
第１２の発明では、たとえば他の腕領域を利用して指さし方向が既に記憶されている場合、既に記憶されている指さし方向が削除される。
【００４０】
第１１の発明または第１２の発明によれば、誤認識されている可能性が高い指さしジェスチャの認識結果を取り消すことが出来る。
【００４１】
第１３の発明は、第８の発明ないし第１２の発明のいずれかに従属し、特徴点は、人間の頭部位置および肩位置を含み、第２抽出手段は、肩位置に基づいて距離画像から候補点を抽出し、第１記憶手段は、肩位置と候補点とを含む領域があるとき、その領域を腕領域として記憶し、第２記憶手段は、頭部位置および肩位置の中点と、腕領域に含まれる候補点とに基づいて、指さし方向を記憶する。
【００４２】
第１３の発明では、特徴点は、人間の頭部位置を示す頭頂部（ＨＴ）と２つの肩位置（Ｓｎ）と含む。たとえば頭頂部に基づいて距離画像から候補点が抽出される。たとえば、候補点と略同じ距離の周囲の点を結合した領域に、肩位置と候補点とが含まれていれば、その領域が腕領域として記憶される。たとえば頭頂部および肩位置の中点と、腕領域に含まれる候補点とに基づいて、指さし方向が記憶される。
【００４３】
第１３の発明によれば、人間の頭部位置および肩位置を利用して、指さし方向を記憶することが出来る。
【発明の効果】
【００４４】
この発明によれば、任意の位置で行われる腕を使ったジェスチャを適切に認識することができる。
【００４５】
また、人間の特徴点を利用することで、その人間が行う指さしジェスチャの指さし方向を適切に検出することが出来る。
【００４６】
この発明の上述の目的、その他の目的、特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００４７】
【図１】図１はこの発明の一実施例のジェスチャ管理システムの概要を示す図解図である。
【図２】図２は図１に示すジェスチャ管理システムが利用される空間の平面図の一例を示す図解図である。
【図３】図３は図１に示す距離画像センサの検出範囲の一例を示す図解図である。
【図４】図４は図１に示すジェスチャ管理システムの構成の一例を示す図解図である。
【図５】図５は図４に示す距離画像センサの電気的な構成の一例を示すブロック図である。
【図６】図６は図４に示す中央制御装置の電気的な構成の一例を示すブロック図である。
【図７】図７は図１に示す人間の体の特徴点および指さし方向の一例を示す図解図であり、図７（Ａ）は人間の上半身の一例を示し、図７（Ｂ）は図７（Ａ）に示す人間の体の特徴点およびその特徴点に基づく指さし方向の一例を示す図解図である。
【図８】図８は図４に示す距離画像センサから出力された距離画像の一例を示す図解図である。
【図９】図９は図８に示す距離画像から指さし方向を検出する処理の流れの一例を示す図解図であり、図９（Ａ）は図８に示す距離画像から体の特徴点が検出された状態の一例を示し、図９（Ｂ）は図９（Ａ）に示す体の特徴点に基づいて検出された指さし方向の一例を示す図解図である。
【図１０】図１０は図１に示す複数の距離画像センサから出力された距離画像の一例を示す図解図であり、図１０（Ａ）は或る距離画像センサから出力された距離画像の一例を示し、図１０（Ｂ）は図１０（Ａ）に示す距離画像において体の特徴点が検出された状態の一例を示し、図１０（Ｃ）は他の或る距離画像センサから出力された距離画像の一例を示し、図１０（Ｄ）は図１０（Ｃ）に示す距離画像において指さし方向が検出された状態の一例を示し、図１０（Ｅ）はその他の或る距離画像センサから出力された距離画像の一例を示し、図１０（Ｆ）は図１０（Ｅ）に示す距離画像において体の特徴点が検出された状態の一例を示す。
【図１１】図１１は図４に示す距離画像センサおよび人間を結ぶベクトルと指さし方向のベクトルとがなす角度の一例を示す図解図である。
【図１２】図１２は図６に示す中央制御装置のメモリのメモリマップの一例を示す図解図である。
【図１３】図１３は図６に示す中央制御装置のプロセッサの指さし方向管理処理の一例を示すフロー図である。
【図１４】図１４は図６に示す中央制御装置のプロセッサの指さし認識処理の一部の一例を示すフロー図である。
【図１５】図１５は図６に示す中央制御装置のプロセッサの指さし認識処理の他の一部の一例であって図１４に後続するフロー図である。
【発明を実施するための形態】
【００４８】
図１を参照して、実施例のジェスチャ管理システム１００は、人間Ｈが自由に行き来するショッピングモールや、博物館、展示会場などの空間（環境）で利用される。たとえば、空間内の人間Ｈは、指さしジェスチャなどの腕を使ったジェスチャを行うと、そのジェスチャがジェスチャ管理システム１００によって認識される。
【００４９】
また、腕を使ったジェスチャを認識するために、空間内の天井には、空間内で人間Ｈの位置やその身体の向きを検出するための複数の距離画像センサ１２（１２ａ，…）が設けられている。複数の距離画像センサ１２は、後述する中央制御装置１０（図４参照）にそれぞれ接続される。
【００５０】
なお、本実施例の空間内にいる人間Ｈは１人だけだが、他の実施例ではさらに多くの人間Ｈが空間内にいてもよい。また、人間Ｈだけに限らず、自立行動するロボットなどが空間内にいてもよい。
【００５１】
図２はこのような空間の平面的な位置を示す平面図（地図）である。図２を参照して、空間には、複数の距離画像センサ１２（この実施例では１４個）が設けられている。これらの距離画像センサ１２は、空間の端に設けられているもの（１２ａ，１２ｂ，１２ｍ，１２ｎ）以外は、２個で１セットとされている。図１も合わせて参照して、たとえば距離画像センサ１２ｃおよび距離画像センサ１２ｄなどが１セットとされている。１セットの距離画像センサ１２では、センサ面がお互いの方を向き、かつ下側にセンサ面が鉛直下向きから一定角度（たとえば、１０°程）傾くようにされている。これはセンサ面を真下に向けた場合よりも、センサ面を傾けた方が、距離画像センサ１２の検出範囲が広くなるからである。また、センサ面を傾けた場合、お互いの検出範囲が大きく重複して非効率な検出とならないようにするために、１セットの距離画像センサ１２は、センサ面が相手の方に傾けられている。さらに、１セットの距離画像センサ１２における検出範囲が他のセットの距離画像センサ１２と大きく重複して非効率な検出とならないようにするために、各セットの距離画像センサ１２の水平方向の位置はズラして設けられている。
【００５２】
また、空間の端に設けられている距離画像センサ１２は、空間の内側にセンサ面が向くように設けられている。
【００５３】
なお、このような空間において、人間Ｈが距離画像センサ１２ｋおよび距離画像センサ１２ｌの略下側に居る場合、平面図上では図２に示すように人間Ｈの位置と体の向きなどが示される。また、他の実施例では、空間に設けられる複数の距離画像センサ１２は１３個以下であってもよいし、１５個以上であってもよい。
【００５４】
図３を参照して、１つの距離画像センサ１２は地面から約３．０ｍの位置に設けられている。また、センサ面が鉛直下向きから一定角度傾いているため検出範囲は略楕円形となる。この検出範囲において、楕円形の長軸に相当する部分では約６．０ｍとなり、楕円形の短軸に相当する部分では約４．５ｍとなる。そして、本実施例では、図３に示す検出範囲が大きく重複して非効率な検出とならないように、複数の距離画像センサ１２を設ける位置が調整されている。
【００５５】
図４を参照して、ジェスチャ管理システム１００の中央制御装置１０には、複数の距離画像センサ１２が接続される。中央制御装置１０は、一定時間毎に距離画像センサ１２が出力する距離画像を取得する。そして、中央制御装置１０は、取得した各距離画像から、人間Ｈの位置情報などを検出する。なお、本実施例では、中央制御装置１０によって指さしジェスチャを認識する処理が実行されるため、中央制御装置１０を「指さし認識装置」と言うことがある。
【００５６】
図５は距離画像センサ１２の電気的な構成を示すブロック図である。図５を参照して、距離画像センサ１２は制御ＩＣ３０などを含む。制御ＩＣ３０には、Ａ／Ｄ変換器３２、カメラ３６、深度センサ３８、深度カメラ４０およびＩ／Ｏ４２などが接続される。
【００５７】
制御ＩＣ３０は、キャッシュメモリなどを有し、距離画像センサ１２の動作を制御する。たとえば、制御ＩＣ３０は、中央制御装置１０からの命令に従って動作し、検出した結果（距離画像）を中央制御装置１０に送信する。
【００５８】
Ａ／Ｄ変換器３２にはマイク３４が接続され、マイク３４からの音声信号はＡ／Ｄ変換器３２でディジタル音声信号に変換され、制御ＩＣ３０に入力される。また、マイク３４によって集音された音は、空間内の雑音などの音量を計測するために利用されることもある。
【００５９】
カメラ３６は、距離画像センサ１２が設置された空間のＲＧＢ情報、つまりカラー画像を撮影するためのカメラである。また、カメラ３６は、後述する深度カメラ４０が撮影している空間と略同じ空間を撮影することが可能なように、距離画像センサ１２に設けられている。
【００６０】
深度センサ３８は、たとえば赤外線プロジェクタであり、深度カメラ４０は、たとえば赤外線カメラである。深度センサ３８は、たとえば赤外線によるレーザ光を距離画像センサ１２の正面に照射する。空間には照射されたレーザ光によって特殊なパターンが描画され、深度カメラ４０は描画されたパターンを撮影する。そして、撮影された画像は制御ＩＣ３０に入力され、制御ＩＣ３０はその画像を解析することで、レーザ光が照射された空間の奥行(depth)情報を計測する。
【００６１】
Ｉ／Ｏ４２は、入力／出力の制御が可能なディジタルポートであり、出力ポートからは音声信号や、ＲＧＢ情報および奥行情報を含む距離画像が出力され、中央制御装置１０に与えられる。一方、中央制御装置１０からは制御信号が出力され、入力ポートに与えられる。
【００６２】
なお、距離画像センサ１２は、ＲＧＢ情報および奥行情報を出力することからＲＧＢ−Ｄセンサと言われることもある。
【００６３】
また、本実施例の距離画像センサ１２には、Ｍｉｃｒｏｓｏｆｔ（登録商標）社製のＫｉｎｅｃｔ（登録商標）センサと呼ばれる製品が採用されている。ただし、他の実施例では、ＡＳＵＳ（登録商標）社製のＸｔｉｏｎ、パナソニック（登録商標）社製のＤ−ＩＭａｇｅｒ（登録商標）などが距離画像センサ１２として採用されてもよい。
【００６４】
図６は中央制御装置１０の電気的な構成を示すブロック図である。図６を参照して、中央制御装置１０は、距離画像センサ１２およびプロセッサ６０などを含む。プロセッサ６０は、マイクロコンピュータ或いはＣＰＵと呼ばれることもある。プロセッサ６０には、複数の距離画像センサ１２、メモリ６２、出力装置６４および入力装置６６などが接続される。
【００６５】
距離画像センサ１２は、上述したように距離画像などを出力する。この距離画像に含まれる奥行情報には、空間に居る人間Ｈの形状および人間Ｈまでの距離が含まれている。たとえば、人間Ｈが天井に設けられた距離画像センサ１２によってセンシングされると、人間Ｈの体の特徴点である頭頂部ＨＴ（頭部位置）、前頭部ＨＦおよび２つの肩位置Ｓｎまでの距離と、その特徴点を含む人間Ｈの３次元形状（たとえば、頭部および両肩の形状）とが得られる。
【００６６】
また、空間には１４個の距離画像センサ１２が所定の位置（既知）に設置されており、プロセッサ６０は、各々から距離画像を取得して、空間（ワールド座標系）における人間Ｈの位置（たとえば、重心などの位置座標）および向き（角度）を計算することが出来る。
【００６７】
なお、人間Ｈの体の特徴点、３次元形状、位置および向きを求める具体的な手法については、本明細書の特許文献１（特開2012 - 215555号公報）を参照されたい。
【００６８】
また、距離画像センサ１２はマイク３４を有するため、中央制御装置１０では、音情報が入力される距離画像センサ１２の位置から、音の発生源を推定することも出来る。
【００６９】
また、他の実施例では、距離画像センサ１２ではなく、３次元のレーザレンジファインダ（ＬＲＦ）が利用されてもよい。
【００７０】
プロセッサ６０は中央制御装置１０の動作を制御し、日時情報を出力するＲＴＣを含む。メモリ６２は、記憶手段とも呼ばれ、ＲＯＭ，ＨＤＤおよびＲＡＭを含む。ＲＯＭおよびＨＤＤには、中央制御装置１０の動作を制御するための制御プログラムなどが予め記憶される。また、ＲＡＭは、プロセッサ６０のワークメモリやバッファメモリとして用いられる。
【００７１】
出力装置６４は、たとえばディスプレイなどであり、入力装置６６は、たとえばマウスやキーボードである。そして、ジェスチャ管理システム１００の管理者は、中央制御装置１０の状態を、出力装置６４および入力装置６６を利用して確認および利用することが出来る。
【００７２】
図７（Ａ）および図７（Ｂ）を参照して、人間Ｈが指さしジェスチャを行っているときの指さし方向Ｐｘについて説明する。図７（Ａ）のように右手で指さしジェスチャを行っている人間Ｈに対して、上述した、頭頂部ＨＴ、前頭部ＨＦおよび２つの肩位置Ｓｎを決めると共に、指さしジェスチャの先端、つまり指先Ｐの位置を決める。次に、頭頂部ＨＴおよび指さしジェスチャを行う腕の肩位置Ｓｎの中点Ｃが求められる。この中点Ｃは人間Ｈの目の近くの位置となるため、中点Ｃと指先Ｐとを結ぶ線上に、人間Ｈが指さす対象物が存在すると考えられる。そのため、本実施例では、中点Ｃと指先Ｐとを結ぶベクトルを指さし方向Ｐｘとする。以下、空間内にいる人間Ｈに対して、これらの位置を求めることで、腕を使ったジェスチャ、つまり指さしジェスチャの指さし方向Ｐｘが認識（検出）される。
【００７３】
図８は或る距離画像センサ１２から出力された距離画像の一例を示す図解図である。図８を参照して、或る距離画像センサ１２によって指さしジェスチャを行う人間Ｈが捉えられており、距離画像の略中央右側には指さしジェスチャを行う人間Ｈを示す領域が含まれている。そして、本実施例では、このような距離画像から図７に示す各部位の位置を検出し、人間Ｈの指さし方向Ｐｘが検出される。なお、実際の距離画像では、検出されている距離に応じて白黒の濃淡が変化するようにしてあるが、図８の距離画像では図示の簡単のため距離を示す濃淡の描画は省略している。
【００７４】
図９（Ａ）を参照して、或る距離画像センサ１２から出力される距離画像において、人間Ｈを示す領域が検出されると、人間Ｈを示す領域において、頭頂部ＨＴ、前頭部ＨＦおよび２つの肩位置Ｓｎがそれぞれ示される。
【００７５】
次に、頭頂部ＨＴから一定距離以上離れている点Ｘが抽出され、候補点リストに記憶される。候補点リストに記憶される点Ｘの中から、指さしジェスチャの先端部分（指先Ｐ）となっている点Ｘが求められる。具体的には、まず、頭頂部ＨＴから最も遠い点Ｘを特定し、最も遠い点Ｘと略同じ距離の周囲の点を結合（クラスタリング）する。そして、周囲の点の結合が終了すると、結合結果にどちらか一方の肩位置Ｓｎが含まれているかが判断される。
【００７６】
肩位置Ｓｎを含む結合結果が得られた場合は、結合結果が腕領域の特徴を有しているかが判断される。このように、指さしジェスチャを行う腕を示す領域が腕領域の特徴を有しているかを判断することで、指さしジェスチャを認識する際の信頼性を高めることが出来る。また、腕領域の特徴とは、領域が細長い形状をしており、かつ一定の長さを有していることである。結合結果の領域が上述の腕領域の特徴を有している場合、他の腕領域が２つ以上検出されていないかが判断される。つまり、腕が誤認識されていないかが判断される。
【００７７】
また、腕が誤認識されていなければ、腕領域と人間Ｈとに基づく角度、つまり腕領域に含まれる指先Ｐおよび肩位置Ｓｎの線分と人間Ｈの鉛直方向の線分との角度（以下、腕の角度と言う。）が所定角度範囲（たとえば、６０°から１８０°）内であるかが判断される。つまり、腕の角度が指さしジェスチャを行う腕として想定される範囲内であるかが判断される。そして、腕の角度が所定角度範囲内のときに、既に他の指さし方向Ｐｘが検出されていなければ、腕領域に含まれる点Ｘ、つまり指先Ｐと上述の中点Ｃとを結ぶベクトルが、指さし方向Ｐｘとして検出される。このように、腕の角度が所定範囲角度内を判断することで、指さしジェスチャを行っていない腕によって指さしジェスチャが誤認識される可能性を低くしている。
【００７８】
図９（Ｂ）を参照して、腕領域における点Ｘを指先Ｐとし、上述したように頭頂部ＨＴと、指先Ｐとつながる肩位置Ｓｎとの中点Ｃが求められる。そして、中点Ｃに対する指先Ｐの方向が指さし方向（指さしベクトル）Ｐｘとして検出され、距離画像センサ１２の識別情報と共に指さし方向Ｐｘが記憶される。
【００７９】
また、結合結果に肩位置Ｓｎが含まれていない場合、結合結果が腕領域の特徴を有していない場合または腕の角度が所定角度範囲外である場合、指さし方向Ｐｘが検出されるまで他の点Ｘを選択し直して、上述の処理を繰り返す。ただし、候補点リストに記憶されている全ての点Ｘにおいて、指さし方向Ｐｘを検出することが出来ない場合は、指さしジェスチャが行われていない可能性が高いため、指さし方向Ｐｘを検出する処理は終了する。
【００８０】
さらに、他の腕領域が２つ以上検出されている場合または指さし方向Ｐｘが既に記憶されている場合は、記憶されている指さし方向Ｐｘおよび腕領域を削除すると共に、候補点リストに含まれる点Ｘも全て削除される。
【００８１】
たとえば、３本目の腕が検出された場合は、人間Ｈに対する指さしジェスチャが正しく認識されていない可能性が高い。同様に、指さし方向Ｐｘが記憶されている状態で新たに指さし方向Ｐｘが検出された場合は、人間Ｈが２か所を同時に指すことは通常では考えられないので、人間Ｈは指さしジェスチャを行っていない可能性が高い。そのため、記憶されている指さし方向Ｐｘおよび腕領域を削除することで、誤認識されている可能性が高い指さしジェスチャの認識結果が取り消される。
【００８２】
以上の説明から分かるように、特に人間Ｈの位置および方向を検出するための人間Ｈの頭部位置および肩位置Ｓｎなどの特徴点を利用することで、その人間Ｈが行う指さしジェスチャの指さし方向Ｐｘを適切に検出することが出来る。
【００８３】
なお、図９（Ａ）および図９（Ｂ）では、人間Ｈを示す領域では、距離を示す濃淡が描画されている。また、距離画像中の人間Ｈを示す領域は、体の特徴点と略同じ距離の周囲の点を結合（クラスタリング）することで検出される。ただし、他の実施例では、他の手法を用いて距離画像から人間Ｈを示す領域が検出されてもよい。
【００８４】
このように、各距離画像センサ１２を利用して指さしジェスチャの認識が行われると、各認識結果が統合される。具体的には、指さしジェスチャを認識した距離画像センサ１２の中から、指さしジェスチャを最も適切に認識したときに利用された距離画像センサ１２が特定される。そして、距離画像センサ１２が特定されると、その特定された距離画像センサ１２を利用して検出した指さし方向Ｐｘが、認識結果として登録される。
【００８５】
まず、指さしジェスチャを最も適切に認識したときに利用された距離画像センサ１２を特定する手順について説明する。指さしジェスチャを認識するために利用された距離画像センサ１２が複数ある場合、距離画像における指さしジェスチャを行う人間Ｈの大きさに基づいて、１つの距離画像センサ１２が特定される。そして、この実施例では、人間Ｈを示す領域を構成するピクセル数が最も多い距離画像を出力している距離画像センサが、指さしジェスチャを最も適切に認識したときに利用された距離画像センサ１２として特定される。このように、距離画像における人間Ｈの大きさを利用することで、距離画像センサ１２を特定するまでの時間を短縮することが出来る。
【００８６】
たとえば、図２に示す人間Ｈが指さしジェスチャを行っているときに、距離画像センサ１２ａ，１２ｅ，１２ｍから出力された距離画像を図１０（Ａ）−図１０（Ｆ）に示す。図１０（Ａ）は距離画像センサ１２ｂから出力された距離画像を示し、図１０（Ｂ）は距離画像センサ１２ｂから出力された距離画像において体の特徴点が検出された状態を示す。また、図１０（Ｂ）の距離画像から分かるように、この距離画像には指さしジェスチャを行う腕領域が含まれておらず、指さし方向Ｐｘは検出されていない。
【００８７】
また、図１０（Ｃ）は距離画像センサ１２ｅから出力された距離画像を示し、図１０（Ｄ）は距離画像センサ１２ｅから出力された距離画像において体の特徴点が検出された状態を示す。また、図１０（Ｄ）の距離画像から分かるように、この距離画像には指さしジェスチャを行う腕領域が含まれており、指さし方向Ｐｘが検出されている。
【００８８】
さらに、図１０（Ｅ）は距離画像センサ１２ａから出力された距離画像を示し、図１０（Ｆ）は距離画像センサ１２ａから出力された距離画像において体の特徴点が検出された状態を示す。また、図１０（Ｆ）の距離画像から分かるように、この距離画像には指さしジェスチャを行う腕領域が含まれておらず、指さし方向Ｐｘは検出されていない。
【００８９】
そして、他の距離画像センサ１２でも指さしジェスチャが認識されていなければ、図１０（Ｃ）および図１０（Ｄ）の距離画像を出力する距離画像センサ１２ｅが特定される。ただし、他にも指さしジェスチャを認識している距離画像センサ１２がある場合は、距離画像中の人間Ｈを示す領域の大きさによって、距離画像センサ１２が特定される。
【００９０】
次に、距離画像センサ１２が特定されると、指さしジェスチャが誤認識されていないかを確認する。具体的には、指さしジェスチャの認識に利用されていない距離画像センサ１２において、人間Ｈが行う指さしジェスチャの指さし方向Ｐｘ（腕）を観察可能な距離画像センサ１２が検索される。
【００９１】
図１１を参照して、指さし方向Ｐｘを観察可能な距離画像センサ１２とは、距離画像センサ１２と人間Ｈとの位置を結ぶベクトルＳＨと、指さし方向Ｐｘを示すベクトルとがなす角度θが所定値（たとえば、１５°）以下の場合、その距離画像センサ１２は指さし方向Ｐｘが観察できないと判断される。つまり、２つのベクトルがなす角度θが所定値より大きい場合は、その距離画像センサ１２は指さし方向Ｐｘを観察できるとして判断される。
【００９２】
そして、指さしジェスチャの認識に利用されていない距離画像センサ１２において、指さし方向Ｐｘを観察可能な距離画像センサ１２が発見されなかった場合は、指さし方向Ｐｘが指さし方向テーブルに登録される。つまり、検出された指さし方向Ｐｘが人間Ｈが行った指さしジェスチャの認識結果とされる。このように、指さしジェスチャの認識結果を統合する前に指さしジェスチャが誤認識されていないかを確認することで、認識結果を統合する精度を高めることが出来る。また、指さしジェスチャの認識結果として指さし方向Ｐｘを登録することが出来る。
【００９３】
また、指さし方向Ｐｘが登録された状態となると、指さし方向Ｐｘが活用される。たとえば、空間内に案内を行うロボットが設置されている場合は、人間Ｈの指さし方向Ｐｘを利用して、人間Ｈが指さしジェスチャによって指している対象物などを特定することが出来る。また、指さしジェスチャを行うことが可能なロボットが空間内に設置されている場合は、そのロボットによる指さしジェスチャの指さし方向Ｐｘを認識することで、ロボットが指さしジェスチャによって正しく対象物を指しているかを確認することが出来る。
【００９４】
以上の説明から分かるように、人間Ｈが空間内の任意の位置で指さしジェスチャを行っても、指さしジェスチャを適切に認識している距離画像センサ１２を特定することが出来る。したがって、空間内の任意の位置で人間Ｈが指さしジェスチャを行っても、そのジェスチャを適切に認識することが出来る。
【００９５】
上述では本実施例の特徴を概説した。以下では、図１２に示す中央制御装置１０のメモリ６２のメモリマップおよび図１３−図１５に示すフロー図を用いて本実施例について詳細に説明する。
【００９６】
図１２は図６に示す中央制御装置１０のメモリ６２のメモリマップの一例を示す図解図である。図１２に示すように、メモリ６２はプログラム記憶領域３０２およびデータ記憶領域３０４を含む。プログラム記憶領域３０２には、中央制御装置１０を動作させるためのプログラムとして、複数の距離画像センサ１２によって認識された指さしジェスチャ（腕を使ったジェスチャ）の認識結果を統合するための指さし方向管理プログラム３１０および各距離画像センサ１２によって指さしジェスチャを認識するための指さし認識プログラム３１２などが記憶される。なお、図示は省略するが、中央制御装置１０を動作させるためのプログラムには、平面図データ３４０を編集するためのプログラムなども含まれる。
【００９７】
データ記憶領域３０４には、指さし方向バッファ３３０、候補点リストバッファ３３２、腕候補点リストバッファ３３４、腕領域バッファ３３６および仮指さし方向バッファ３３８などが設けられる。また、データ記憶領域３０４には、平面図データ３４０、距離画像センサテーブル３４２および指さし方向テーブル３４４などが記憶される。
【００９８】
指さし方向バッファ３３０には、特定された距離画像センサ１２によって認識された指さしジェスチャの指さし方向Ｐｘが一時的に記憶される。候補点リストバッファ３３２には、頭頂部ＨＴから一定距離以上離れている点Ｘを含む候補点リストが一時的に記憶される。腕候補点リストバッファ３３４には、点Ｘの周辺の点が結合された結果を含む腕候補点リストが一時的に記憶される。腕領域バッファ３３６には、腕領域を示す情報が一時的に記憶される。仮指さし方向バッファ３３８には、各距離画像センサ１２の識別情報と対応付けた指さし方向Ｐｘが一時的に記憶される。
【００９９】
平面図データ３４０は、たとえば図２に示す平面図を示すデータである。距離画像センサテーブル３４２は、指さしジェスチャを認識した距離画像を示す識別情報が記憶されるテーブルである。指さし方向テーブル３４４には、特定された距離画像センサ１２によって認識された指さしジェスチャの指さし方向Ｐｘが時系列順に記憶（登録）されるテーブルである。なお、指さし方向テーブル３４４に記憶されている複数の指さし方向Ｐｘは、人間Ｈが行う指さしジェスチャの指さし方向Ｐｘが変化する様子を表す。
【０１００】
なお、図示は省略するが、データ記憶領域３０４には、様々な計算の結果を一時的に格納するバッファや、中央制御装置１０の動作に必要な他のカウンタやフラグなども設けられる。
【０１０１】
中央制御装置１０のプロセッサ６０は、Ｌｉｎｕｘ（登録商標）ベースのＯＳや、その他のＯＳの制御下で、図１３に示す指さし方向管理処理および図１４、図１５に示す指さし認識処理などを含む、複数のタスクを処理する。
【０１０２】
図１３は指さし方向管理処理のフロー図である。中央制御装置１０の電源がオンにされ、指さし方向管理処理の実行命令が出されると、指さし方向管理処理が実行される。なお、指さし方向管理処理の実行命令は一定周期毎に出される。
【０１０３】
指さし方向管理処理が実行されると、プロセッサ６０はステップＳ１で、距離画像センサ１２毎に指さし認識処理を実行する。つまり、各距離画像センサ１２から出力された距離画像に対して後述の指さし認識処理が加えられる。なお、ステップＳ１の処理を実行するプロセッサ６０は認識手段として機能する。
【０１０４】
続いて、ステップＳ３でプロセッサ６０は、指さしジェスチャを認識した距離画像センサ１２があるか否かを判断する。たとえば、仮指さし方向バッファ３３８に指さし方向Ｐｘが記憶されているかが判断される。ステップＳ３で“ＮＯ”であれば、つまり指さしジェスチャの認識に利用された距離画像センサ１２が無ければ、プロセッサ６０は指さし方向管理処理を終了する。
【０１０５】
一方、ステップＳ３で“ＹＥＳ”であれば、たとえば図１０（Ｄ）に示すように、距離画像センサ１２ｅが出力した距離画像から指さし方向Ｐｘが検出されていれば、ステップＳ５でプロセッサ６０は、指さしジェスチャを認識している距離画像センサ１２を距離画像センサテーブル３４２に記憶する。つまり、プロセッサ６０は、仮指さし方向バッファ３３８に記憶されている、距離画像センサ１２の識別情報が対応付けられた指さし方向Ｐｘを距離画像センサテーブル３４２に記憶する。なお、ステップＳ５の処理を実行するプロセッサ６０は記憶手段として機能する。
【０１０６】
続いて、ステップＳ７でプロセッサ６０は、指さしジェスチャを最も適切に認識している距離画像センサ１２を特定する。つまり、指さし方向Ｐｘを検出した距離画像において、人間Ｈと対応する領域が最も大きく描画されている距離画像が特定される。そして、特定された距離画像と対応する距離画像センサ１２が、ステップＳ７では特定された距離画像センサ１２とされる。なお、ステップＳ７の処理を実行するプロセッサ６０は特定手段として機能する。
【０１０７】
続いて、ステップＳ９でプロセッサ６０は、特定された距離画像センサ１２と対応する指さし方向Ｐｘを指さし方向バッファ３３０に記憶する。たとえば、距離画像センサ１２ｅが特定されている場合、仮指さし方向バッファ３３８から距離画像センサ１２ｅの識別情報が対応付けられた指さし方向Ｐｘが読み出され、指さし方向バッファ３３０に記憶される。
【０１０８】
続いて、ステップＳ１１でプロセッサ６０は、指さしジェスチャを認識していない距離画像センサ１２から、指さし方向Ｐｘを観察可能な距離画像センサ１２を検索する。つまり、指さしジェスチャが誤認識されていないかが確認される。なお、ステップＳ１１の処理を実行するプロセッサ６０は検索手段として機能する。
【０１０９】
続いて、ステップＳ１３でプロセッサ６０は、観察可能な距離画像センサ１２が発見されたか否かを判断する。つまり、指さしジェスチャを認識可能な距離画像センサ１２によって指さしジェスチャが認識されていない状態であるかが判断される。ステップＳ１３で“ＹＥＳ”であれば、つまり指さしジェスチャが誤認識されている可能性があれば、プロセッサ６０は指さし方向管理処理を終了する。
【０１１０】
一方、ステップＳ１３で“ＮＯ”であれば、つまり指さしジェスチャが誤認識されている可能性がなければ、ステップＳ１５でプロセッサ６０は、指さし方向バッファ３３０に記憶されている指さし方向Ｐｘを指さし方向テーブル３４４に登録する。つまり、検出された指さし方向Ｐｘが、指さしジェスチャの認識結果とされる。そして、ステップＳ１５の処理が終了すると、プロセッサ６０は指さし方向管理処理を終了する。
【０１１１】
なお、ステップＳ１５の処理を実行するプロセッサ６０は登録手段として機能する。また、ステップＳ１５の処理が終了すると、各バッファは初期化される。
【０１１２】
図１４および図１５は指さし認識処理のフロー図である。図１３に示す指さし管理処理で、距離画像センサ１２毎に指さし認識処理を実行させるステップＳ１が実行されると、指さし認識処理が実行される。なお、この認識処理は実行されてから、たとえば約１／３０秒で終了する。
【０１１３】
たとえば、距離画像センサ１２ｅに対応して指さし認識処理が実行されると、プロセッサ６０はステップＳ３１で、距離画像を取得する。たとえば、距離画像センサ１２ｅから出力された距離画像が取得される。続いて、ステップＳ３３でプロセッサ６０は、体の特徴点を抽出する。つまり、取得された距離画像から、体の特徴点として、頭頂部ＨＴ、前頭部ＨＦおよび２つの肩位置Ｓｎが抽出される。続いて、ステップＳ３５でプロセッサ６０は、平面座標上の頭部位置から一定距離以上の点Ｘを抽出する。たとえば、頭頂部ＨＴから一定距離以上離れており、人間Ｈと略同じ距離にある点Ｘが抽出される。なお、ステップＳ３３の処理を実行するプロセッサ６０は第１抽出手段として機能する。また、ステップＳ３５の処理を実行するプロセッサ６０は第２抽出手段として機能する。
【０１１４】
続いて、ステップＳ３７でプロセッサ６０は、抽出した点Ｘを候補点リストに記憶する。つまり、候補点リストバッファ３３２に記憶されている候補点リストに、ステップＳ３５の処理で抽出された点Ｘが記憶される。なお、点Ｘが抽出されていない場合は、候補点リストには何も記憶されない。
【０１１５】
続いて、ステップＳ３９でプロセッサ６０は、候補点リストに点Ｘが記憶されているか否かを判断する。たとえば、人間Ｈの頭頂部ＨＴの近くに腕候補となる領域が存在するかが判断される。ステップＳ３９で“ＮＯ”であれば、たとえばステップＳ３５の処理で点Ｘが抽出されなかったり、後述の処理で候補点リストから点Ｘが全て削除されたりすると、プロセッサ６０は指さし認識処理を終了する。
【０１１６】
一方、ステップＳ３９で“ＹＥＳ”であれば、たとえばステップＳ３５の処理で抽出された点Ｘが候補点リストに記憶されていれば、ステップＳ４１でプロセッサ６０は、頭部位置から最も遠い点Ｘを候補点リストから読み出す。たとえば、頭頂部ＨＴから最も遠い点Ｘが候補点リストから読み出される。続いて、ステップＳ４３でプロセッサ６０は、読み出された点Ｘと略同じ距離の周囲の点を結合する。つまり、頭部位置から最も遠い点Ｘにおいて、略同じ距離の周囲の点が結合（クラスタリング）される。続いて、ステップＳ４５でプロセッサ６０は、結合結果を腕候補点リストに記憶する。つまり、腕候補点リストバッファ３３４に記憶されている腕候補点リストに、ステップＳ４３の処理で結合された全ての点（領域）が記憶される。
【０１１７】
続いて、ステップＳ４７でプロセッサ６０は、結合結果に肩位置Ｓｎが含まれるか否かを判断する。つまり、腕候補点リストの中に、人間Ｈの２つの肩位置Ｓｎのうちいずれか１つが含まれているかが判断される。また、ステップＳ４７で“ＹＥＳ”であれば、つまり結合結果の領域に肩位置Ｓｎが含まれていれば、ステップＳ４９でプロセッサ６０は、結合結果は腕領域の特徴を有しているか否かを判断する。たとえば、腕候補点リストに記憶される結合結果の領域が、細長い形状をしており、かつ一定の長さを有しているかが判断される。ステップＳ４９で“ＹＥＳ”であれば、つまり結合結果が腕領域の特徴を有していれば、ステップＳ５１でプロセッサ６０は、結合結果を腕領域として記憶する。つまり、腕候補点リストに記憶されている各点Ｘに基づいて腕領域が定義され、その腕領域が腕領域バッファ３３６に記憶される。なお、ステップＳ５１の処理を実行するプロセッサ６０は第１記憶手段として機能する。
【０１１８】
続いて、ステップＳ５３でプロセッサ６０は、記憶されている腕領域が３つか否かを判断する。つまり、腕が誤認識されているかが判断される。ステップＳ５３で“ＮＯ”であれば、つまり認識されている腕が２本以下であれば、ステップＳ５５でプロセッサ６０は、腕の角度が所定角度範囲内か否かを判断する。つまり、人間Ｈの腕の角度が指さしジェスチャを行っていると考えられる角度であるかが判断される。ステップＳ５５で“ＮＯ”であれば、つまり人間Ｈの腕の角度が指さしジェスチャを行っているとは考えられない角度であれば、プロセッサ６０はステップＳ６１の処理に進む。つまり、認識された腕で指さしジェスチャが行われていないと判断されたため、他の点Ｘに基づく腕領域を検索するために、プロセッサ６０はステップＳ６１の処理に進む。
【０１１９】
同様に、結合された点の集まり（領域）に肩位置Ｓｎが含まれておらずステップＳ４７で“ＮＯ”であるか、結合結果が腕領域の特徴を有しておらずステップＳ４９で“ＮＯ”であれば、プロセッサ６０はステップＳ６１の処理に進む。つまり、結合結果の領域が人間Ｈの腕ではないと判断された場合も、他の点Ｘに基づく腕領域を検索するために、プロセッサ６０はステップＳ６１の処理に進む。
【０１２０】
また、ステップＳ５５で“ＹＥＳ”であれば、つまり腕の角度が指さしジェスチャを行っていると考えられる状態であれば、ステップＳ５７でプロセッサ６０は、指さし方向Ｐｘが既に記憶されているか否かを判断する。つまり、他の腕によって行われた指さしジェスチャが既に認識されている状態かが判断される。具体的には、仮指さし方向バッファ３３８に指さし方向Ｐｘが既に記憶されているかが判断される。
【０１２１】
ステップＳ５７で“ＮＯ”であれば、つまり他の腕による指さしジェスチャが認識されていなければ、ステップＳ５９でプロセッサ６０は、体の特徴点と腕領域とに基づいて指さし方向Ｐｘを記憶する。つまり腕領域における点Ｘを指先Ｐとすると共に上述の中点Ｃが求められ、中点Ｃに対する指先Ｐの方向が指さし方向Ｐｘとして記憶（検出）される。なお、ステップＳ５９の処理を実行するプロセッサ６０は第２記憶手段として機能する。
【０１２２】
続いて、ステップＳ６１でプロセッサ６０は、候補点リストから結合結果と対応する点を削除する。つまり、腕候補点リストに記憶される結合結果(腕領域)が候補点リストから削除される。そして、ステップＳ６１の処理が終了すると、プロセッサ６０はステップＳ３９の処理に戻る。なお、他の実施例では、指さし方向Ｐｘが検出（記憶）されると、指さし認識処理が終了するようにしてもよい。
【０１２３】
また、腕領域が検出されていてステップＳ５３で“ＹＥＳ”と判断されるか、指さし方向Ｐｘが既に検出されていてステップＳ５７で“ＹＥＳ”と判断されると、プロセッサ６０は、ステップＳ６３で記憶されている腕領域と指さし方向Ｐｘとを削除し、ステップＳ６５で候補点リストに記憶されている点Ｘを全て削除する。つまり、指さしジェスチャが誤認識されている可能性が高いため、認識されている腕領域および検出された指さし方向Ｐｘが削除される。また、他の腕領域を検出する必要もないため、候補点リストから点Ｘが全て削除される。そして、ステップＳ６５の処理が終了すると、プロセッサ３９の処理に戻る。このとき、ステップＳ３９では“ＮＯ”と判断されるため、プロセッサ６０は指さし認識処理が終了する。また、ステップＳ６３の処理を実行するプロセッサ６０は削除手段として機能する。
【０１２４】
なお、他の実施例では、指さしジェスチャを適切に認識している距離画像センサ１２を特定する際には、人間Ｈと距離画像センサ１２との距離に基づいて判断されてもよい。
【０１２５】
また、その他の実施例では、腕を使ったジェスチャには、指さしジェスチャだけではなく、手のひらを広げて対象物を指し示すようなジェスチャも含まれる。
【０１２６】
また、さらにその他の実施例では、腕を使ったジェスチャを行っている時間を利用して、そのジェスチャが正しく行われているかを判断するようにしてもよい。たとえば、腕を使ったジェスチャを行っている時間が閾値（たとえば、２秒）より長い場合に、腕を使ったジェスチャが行われていると判断される。
【０１２７】
また、本実施例では、人間Ｈと略同じ外観のロボットであっても、体の特徴点を抽出することが出来る。
【０１２８】
また、上述の実施例では、閾値（所定値）などに対して「より大きい」などの言葉を用いたが「閾値より大きい」とは「閾値以上」の意味も含まれる。同様に「閾値よりも小さい」とは「閾値以下」および「閾値未満」の意味も含まれる。
【０１２９】
また、本実施例で説明した複数のプログラムは、データ配信用のサーバのHDDに記憶され、ネットワークを介して本実施例と同等の構成のシステムに配信されてもよい。また、CD, DVD, BD (Blu-ray（登録商標） Disc)などの光学ディスク、USBメモリおよびメモリカードなどの記憶媒体にこれらのプログラムを記憶させた状態で、その記憶媒体が販売または配布されてもよい。そして、上記したサーバや記憶媒体などを通じてダウンロードされた、上記複数のプログラムが、本実施例と同等の構成のシステムに適用された場合、本実施例と同等の効果が得られる。
【０１３０】
そして、本明細書中で挙げた、具体的な数値は、いずれも単なる一例であり、製品の仕様変更などに応じて適宜変更可能である。
【符号の説明】
【０１３１】
１０  …中央制御装置
１２ａ−１２ｎ  …距離画像センサ
６０  …プロセッサ
６２  …メモリ
１００  …ジェスチャ管理システム
【図１】
0006303918.tif 000002
【図２】
0006303918.tif 000003
【図３】
0006303918.tif 000004
【図４】
0006303918.tif 000005
【図５】
0006303918.tif 000006
【図６】
0006303918.tif 000007
【図７】
0006303918.tif 000008
【図８】
0006303918.tif 000009
【図９】
0006303918.tif 000010
【図１０】
0006303918.tif 000011
【図１１】
0006303918.tif 000012
【図１２】
0006303918.tif 000013
【図１３】
0006303918.tif 000014
【図１４】
0006303918.tif 000015
【図１５】
0006303918.tif 000016