(57)【要約】【課題】撮像装置と操作者との距離に関わらずポインタを表示画面内の総ての位置に移動できる。【解決手段】３次元カメラ１からの画像により３次元計測部２で距離画像を生成し、人物検出部３で上記距離画像から人物部分をスケルトンモデルとして検出し、特徴点検出部４で上記スケルトンモデルから特徴点とその３次元カメラ１までの距離とを検出する。ポインタ位置演算部５で、表示部７の中央を原点とする２次元座標を設定し、特徴点「右手」の上記原点からの相対的な上記２次元座標上の座標値を算出し、この座標値を上記距離に応じて表示部７内の全てが「右手」の可動範囲内になるように補正する。そして、表示制御部６で、上記補正座標値により表示部７にポインタを表示させる。こうして、操作者がジェスチャで操作を行なう際に、３次元カメラ１と操作者との距離に関わらずポインタを表示部７内の総ての位置に移動可能にする。【選択図】図１
2014010684.tif 000002
【特許請求の範囲】
【請求項１】
撮像部と、
上記撮像部によって取得された画像を、距離情報を含む画像として認識する３次元処理部と、
上記３次元処理部によって認識された画像から人物部分を検出する人物検出部と、
上記人物検出部によって検出された人物部分から少なくとも１つの特徴点を検出すると共に、上記３次元処理部によって認識された画像に基づいて上記特徴点と上記撮像部との間の距離を検出する特徴点検出部と、
上記特徴点検出部によって検出された上記特徴点で指定される位置にポインタを表示する表示部と、
上記表示部の表示領域上に２次元座標を設定すると共に、上記３次元処理部で認識された画像上における上記特徴点の位置に対応する上記２次元座標上の座標値を演算し、この座標値を上記特徴点と上記撮像部との間の距離に基づいて補正し、得られた補正座標値を上記表示領域上における上記ポインタの位置とするポインタ位置演算部と、
上記ポインタ位置演算部によって算出された補正座標値に基づいて、上記表示部の表示領域上に上記ポインタを表示させる表示制御部と
を備えたことを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置において、
上記ポインタ位置演算部によって行われる上記補正座標値の演算は、上記３次元処理部により認識された画像上に上記特徴点の可動範囲を設定し、この設定された上記可動範囲と、上記特徴点と上記撮像部との間の距離とに基づいて行われる
ことを特徴とする情報処理装置。
【請求項３】
請求項２に記載の情報処理装置において、
上記可動範囲は、上記３次元処理部によって認識された画像における垂直方向の画素数および水平方向の画素数のうちの大きい方の画素数以上である
ことを特徴とする情報処理装置。
【請求項４】
請求項１から請求項３までの何れか一つに記載の情報処理装置において、
上記特徴点検出部によって検出される上記特徴点は、上記人物検出部によって検出された人物部分の片方の手である
ことを特徴とする情報処理装置。
【請求項５】
請求項１から請求項４までの何れか一つに記載の情報処理装置において、
上記特徴点検出部は、複数の特徴点、および、上記各特徴点と上記撮像部との間の距離を検出するようになっており、
上記ポインタ位置演算部は、上記特徴点検出部により検出された上記複数の特徴点の一つを原点とする仮想領域座標を設定すると共に、他の特徴点の上記仮想領域座標上の原点に対する相対位置に対応する上記２次元座標上の座標値を演算し、この座標値を上記他の特徴点と上記撮像部との間の距離に基づいて補正し、得られた補正座標値を上記表示領域上における上記ポインタの位置とするようになっている
ことを特徴とする情報処理装置。
【請求項６】
請求項１から請求項５までの何れか一つに記載の情報処理装置において、
上記撮像部は、２次元カメラを２個用いたステレオカメラである
ことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ユーザのジェスチャを認識して機器の制御を行うユーザインターフェースに適用される情報処理装置に関する。
【背景技術】
【０００２】
近年、テレビジョン(以下、単にＴＶと言う)やゲーム機あるいはパソコン等の情報機器の操作を行う場合に、ユーザが自身の手足を動かすジェスチャ動作で機器に対する操作を指示する方法が提案されている。この方法を用いることによって、従来のインターフェースであるリモコン,操作パッド,キーボードおよびマウス等を必要とせずに機器を遠隔的に操作することができる。
【０００３】
このようなジェスチャで機器操作を指示するインターフェースによれば、遠隔操作用の機器が手元に無い場合であっても目的の機器の操作ができるという利便性が得られ、今後発展して行くと考えられる。
【０００４】
ジェスチャによる機器の操作方法は、様々提案されている。例えば、ＴＶを操作するのに、操作者をカメラで動画撮影し、右手を挙げると音量を大きくする一方、左手を挙げると音量を小さくする等の、ジェスチャそのものに機器動作の意味を持たせる方法がある。但し、このような方法の場合には、ジェスチャの種類を増やすと、紛らわしい動きと混同して誤動作する懸念がある。
【０００５】
別の操作方法として、操作者の手の位置をカメラで読取って、手の動きに追従するポインタあるいはカーソルを機器操作用の画面上に表示し、この画面に同時に表示される目的のアイコン上にポインタを移動させて、例えば一定時間ポインタをアイコン上に留めておくことによって、そのアイコンの機能を動作させるという機器制御方法がある。この操作方法は、上述したジェスチャそのものに機器動作の意味を持たせる方法に比べて、所望の動作をアイコンという形で選ぶことができるため、多くの操作をアイコンとして準備することができる。
【０００６】
上記ジェスチャとポインタとによる機器操作については、特開２０１２‐６４２３３号公報(特許文献１)に開示されている。
【０００７】
上記特許文献１に開示された情報処理装置では、カメラで撮影した画像からユーザの手の位置を検出し、手の位置および手の位置の周辺領域に手が存在する確率から求めた評価値に基づいて、ディスプレイの画像上における手が存在する確率が最も高い箇所にポインタを移動させるようにしている。ここで、「手の位置の周辺領域に手が存在する確率」とは、検出された手の位置は真の手の位置を中心とした正規分布を取ると仮定した場合に、検出された手の位置が真の手の位置である確率のことである。
【０００８】
しかしながら、上記従来の情報処理装置においては、上記カメラによる撮影画像内におけるユーザが手を動かせる範囲は、カメラとユーザとの距離によって変化する。したがって、ユーザの手を動かせる範囲に応じてディスプレイの画像上におけるポインタの動かせる範囲も変わることとなり、場合によっては所望の位置にポインタを移動することができず、操作性が良くないという問題がある。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１２‐６４２３３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
そこで、この発明の課題は、撮像装置と操作者との距離に関わらずポインタを表示画面内の総ての位置に移動させることができ、ポインタによる機器の操作性が良好な情報処理装置を提供することにある。
【課題を解決するための手段】
【００１１】
上記課題を解決するため、この発明の情報処理装置は、
撮像部と、
上記撮像部によって取得された画像を、距離情報を含む画像として認識する３次元処理部と、
上記３次元処理部によって認識された画像から人物部分を検出する人物検出部と、
上記人物検出部によって検出された人物部分から少なくとも１つの特徴点を検出すると共に、上記３次元処理部によって認識された画像に基づいて上記特徴点と上記撮像部との間の距離を検出する特徴点検出部と、
上記特徴点検出部によって検出された上記特徴点で指定される位置にポインタを表示する表示部と、
上記表示部の表示領域上に２次元座標を設定すると共に、上記３次元処理部で認識された画像上における上記特徴点の位置に対応する上記２次元座標上の座標値を演算し、この座標値を上記特徴点と上記撮像部との間の距離に基づいて補正し、得られた補正座標値を上記表示領域上における上記ポインタの位置とするポインタ位置演算部と、
上記ポインタ位置演算部によって算出された補正座標値に基づいて、上記表示部の表示領域上に上記ポインタを表示させる表示制御部と
を備えたことを特徴としている。
【００１２】
上記構成によれば、上記ポインタ位置演算部は、上記表示部の表示領域上に設定した２次元座標上の座標値を演算し、この座標値を上記特徴点と上記撮像部との間の距離に基づいて補正して、上記表示領域上における上記ポインタの位置を表す補正座標値を得るようにしている。したがって、上記補正を、上記特徴点と上記撮像部との間の距離に応じて、上記３次元処理部で認識された画像上における上記特徴点の可動範囲が上記画像の表示範囲内の総ての領域になるように行うことによって、操作者がジェスチャにより対象機器を操作する場合に、上記撮像部と操作者との距離に拘わらず、上記表示部上の２次元座標内の総ての位置に上記ポインタを移動させることが可能になる。
【００１３】
また、１実施の形態の情報処理装置では、
上記ポインタ位置演算部によって行われる上記補正座標値の演算は、上記３次元処理部により認識された画像上に上記特徴点の可動範囲を設定し、この設定された上記可動範囲と、上記特徴点と上記撮像部との間の距離とに基づいて行われる。
【００１４】
この実施の形態によれば、上記可動範囲を、上記３次元処理部により認識された画像上の全領域になるように設定することによって、操作者がジェスチャにより対象機器を操作する場合に、上記撮像部と操作者との距離に拘わらず、上記表示部上の２次元座標内の総ての位置に上記ポインタを移動させることが可能になる。
【００１５】
また、１実施の形態の情報処理装置では、
上記可動範囲は、上記３次元処理部によって認識された画像における垂直方向の画素数および水平方向の画素数のうちの大きい方の画素数以上である。
【００１６】
この実施の形態によれば、上記可動範囲を、上記３次元処理部によって認識された画像における垂直方向の画素数および水平方向の画素数のうちの大きい方の画素数以上に設定するので、上記３次元処理部によって認識された画像上における上記特徴点の可動範囲を上記画像上の全領域にすることができる。したがって、操作者がジェスチャにより対象機器を操作する場合に、上記撮像部と操作者との距離に拘わらず、上記表示部上の２次元座標内の総ての位置に上記ポインタを移動させることが可能になる。
【００１７】
また、１実施の形態の情報処理装置では、
上記特徴点検出部によって検出される上記特徴点は、上記人物検出部によって検出された人物部分の片方の手である。
【００１８】
この実施の形態によれば、操作者がジェスチャによって対象物の操作を行なう場合に通常用いる右手あるいは左手を上記特徴点として検出するので、上記手の特徴点を上記ポインタの位置となる特徴点とすることができ、操作性の向上を図ることができる。
【００１９】
また、１実施の形態の情報処理装置では、
上記特徴点検出部は、複数の特徴点、および、上記各特徴点と上記撮像部との間の距離を検出するようになっており、
上記ポインタ位置演算部は、上記特徴点検出部により検出された上記複数の特徴点の一つを原点とする仮想領域座標を設定すると共に、他の特徴点の上記仮想領域座標上の原点に対する相対位置に対応する上記２次元座標上の座標値を演算し、この座標値を上記他の特徴点と上記撮像部との間の距離に基づいて補正し、得られた補正座標値を上記表示領域上における上記ポインタの位置とするようになっている。
【００２０】
この実施の形態によれば、操作者がジェスチャにより対象機器を操作する場合に、上記３次元処理部によって認識された画像上における人物(操作者)部分の一つの特徴点を原点とする上記表示部の２次元座標上における他の特徴点の位置であって、且つ上記他の特徴点と上記撮像部との間の距離に基づいて補正された位置に、上記ポインタを表示することが可能になる。すなわち、上記ポインタの表示範囲を常に操作者を原点として設定することができる。
【００２１】
したがって、上記撮像部と操作者との距離に拘わらず、上記表示部上の２次元座標内の総ての位置に上記ポインタを移動させることが可能になることに加えて、上記２次元座標上における原点の周囲に上記ポインタを表示することができ、上記ポインタの表示位置が上記表示部の表示領域内における一方に偏ることを低減できるのである。
【００２２】
また、１実施の形態の情報処理装置では、
上記撮像部は、２次元カメラを２個用いたステレオカメラである。
【００２３】
この実施の形態によれば、通常３次元カメラとしてよく使用されるステレオカメラを用いることによって、上記３次元処理部が容易に上記距離情報を含む画像として認識を行うことができる画像を簡単に精度よく取得することができる。
【発明の効果】
【００２４】
以上より明らかなように、この発明の情報処理装置は、上記人物検出部によって検出された人物(操作者)部分の特徴点の位置に対応する、上記表示部の表示領域上に設定された上記２次元座標上の位置であって、上記特徴点と上記撮像部との間の距離に基づいて補正された位置に、上記ポインタを表示するようにしている。
【００２５】
したがって、上記補正を、上記特徴点と上記撮像部との間の距離に応じて、上記３次元処理部で認識された画像上における上記特徴点の可動範囲が上記画像上の全領域になるように行うことによって、操作者がジェスチャにより対象機器を操作する場合に、上記撮像部と操作者との距離に拘わらず、上記表示部上の２次元座標内の総ての位置に上記ポインタを移動させることが可能になる。
【００２６】
すなわち、この発明によれば、ポインタによる機器の操作性を向上させることができるのである。
【図面の簡単な説明】
【００２７】
【図１】この発明の情報処理装置におけるブロック図である。
【図２】ＴＶと操作者との位置関係を示す図である。
【図３】ＴＶの表示部に表示されているアイコンおよびサムネイルの図である。
【図４】距離画像からスケルトンモデルが生成されるまでの過程を示す図である。
【図５】操作者スケルトン上における第２特徴点までの距離を示す図である。
【図６】距離画像座標での表示範囲と特徴点の座標とを示す図である。
【図７】表示座標での表示範囲と補正前のポインタの座標とを示す図である。
【図８】３次元カメラの水平画角と３次元カメラから操作者までの距離と水平方向の撮影長さとの関係を示す図である。
【図９】ＴＶの表示部における補正後の位置に表示されたポインタを示す図である。
【図１０】図６とは異なる距離画像座標での表示範囲と特徴点の座標とを示す図である。
【図１１】仮想領域座標での表示範囲と特徴点の座標とを示す図である。
【発明を実施するための形態】
【００２８】
以下、この発明を図示の実施の形態により詳細に説明する。尚、以下の説明では、同一の機能および作用を示す物については同一の符号を付して説明は省略する。
【００２９】
・第１実施の形態
図１は、本実施の形態の情報処理装置におけるブロック図である。図１において、３次元カメラ１は、撮影範囲の画像を３次元的に捉えることができるカメラであり、例えば２次元カメラを左右２個配置して構成されたステレオカメラを用いる。尚、上記ステレオカメラによる３次元計測原理については文献が多くあるので、ここでは説明を省略する。
【００３０】
３次元計測部２は、上記ステレオカメラ１からの画像に基づいて、例えば左カメラ画像を元画像にした距離画像を生成する。距離画像とは、左カメラ画像内の各画素値を距離の値に置き換えて表示したものであり、基本的にはグレースケール画像である。例えば、上記ステレオカメラ１から近い位置にある物体は明るく(白く)表示し、上記ステレオカメラ１から遠い位置にある物体は暗く(黒く)表示することで、距離を表現する。
【００３１】
人物検出部３は、上記３次元計測部２で得られた距離画像から人物部分を検出する。ここで、人物検出部３として、後に詳述するような人体部位の識別器に相当するものを組み込んでおけば、３次元計測部２でリアルタイムに生成された距離画像から上記人物部分をスケルトンモデルとして検出することができる。ここで、上記スケルトンモデルとは、人物の関節および各関節間を線分(ボーン)でつないだ擬似的な骨格モデルを指すものとする(図４(c)参照)。
【００３２】
特徴点検出部４は、上記人物検出部３によって得られた上記スケルトンモデルから、指定した特徴点を検出する部分である。例えば、第１特徴点として「右手」を、第２特徴点として「頭」を予め指定しておくことによって、上記第１特徴点と上記第２特徴点とを検出する。後に詳述するように、上記スケルトンモデルでは人物の左右各関節および関節間ボーンが認識されているので、上記指定した特徴点に該当する部分を検出することは容易である。
【００３３】
さらに、上記特徴点検出部４は、３次元計測部２で得られた距離画像と人物検出部３によって得られた上記スケルトンモデルとから、３次元カメラ１から上記第１特徴点および上記第２特徴点までの距離を検出する。
【００３４】
ポインタ位置演算部５は、中央を原点とする２次元座標を設定し、上記特徴点検出部４によって検出された特徴点の一つの上記２次元座標上の位置を上記原点に対する座標値で相対的に算出する。演算方法は、後に詳細に説明する。
【００３５】
表示制御部６は、上記ポインタ位置演算部５によって得られた相対座標値に基づいて、表示部７にポインタを表示させる表示制御を行なう。
【００３６】
表示部７は、例えば液晶ディスプレイ等の表示ディスプレイである。
【００３７】
以下、上記人物検出部３によって行われる上記距離画像から上記人物部分を検出する方法について説明する。上記距離画像から上記人物部分を検出する処理を実行する方法として、例えば以下のようなものがある。
【００３８】
マイクロソフト社から出されている３次元カメラ「キネクト(Kinect)」と処理ソフトである「オープンＮＩ(OpenNI：Open Natural Interaction)フレームワーク」とを用いて、撮像画像内から人物部分を検出する。より正確には、上記人物のスケルトンモデルを生成する。
【００３９】
上記人物のスケルトンモデルの生成は、夫々異なった形やサイズで夫々異なった姿勢を持った大量の人間のサンプル画像をコンピュータに学習させることによって、上記コンピュータに、ユーザーの体の一部分を別の一部分と区別させることによって行う。この方法によれば、大量の人物パターンを大量に機械学習させておくことによって、どのような人の形や姿勢でも識別できるような上記人体部位の識別器ができるのである。
【００４０】
上記キネクトのカメラは距離情報を計測できるので、遠くに居る背の高いユーザーと近くに居る背の低いユーザーを区別することができる。したがって、上記「キネクト」および「オープンＮＩフレームワーク」を用いることによって、リアルタイムに、手,頭,足のような人間の各部位の３次元空間上の位置を認識でき、人間のスケルトンモデル生成が実行できるのである。
【００４１】
上記キネクトと人体部位の識別器とを用いた処理の流れとしては、キネクトのカメラから各フレーム毎の距離画像を取得し、次に、各フレーム毎に体の推定各部位が各部位の何れに相当するのかの識別を識別器によって行う。そして、各フレーム毎に検出された各部位を用いて、運動力学的な拘束と時間的な一貫性とが保たれるように、３次元での各部位の配置(関節結合)を抽出する。最後に、得られた関節結合の仮説から、実際の人間の骨組み(スケルトン)の動きを推定する。そして、各仮説から確率的に一番尤もらしい３次元配置を計算し、人物のスケルトンの推定を確定するのである。
【００４２】
以上のことより、上記３次元計測部２で得られる距離画像とオープンＮＩフレームワークとによって、リアルタイムな人物スケルトンモデルが得られるのである。尚、キネクトおよびオープンＮＩフレームワークに関しては、インターネット等で情報が公開されているため、ここでは詳細な説明を省略する。
【００４３】
次に、本実施の形態におけるジェスチャによるポインタ表示および機器操作について説明する。操作対象の例として、液晶テレビジョンの操作を考える。
【００４４】
図２は、上記操作対象としての液晶ＴＶ(以下、単にＴＶと言う)と操作者との位置関係を示す。図２において、ＴＶ９の下部には、３次元カメラ１が設置されている。尚、３次元カメラ１はＴＶ９と一体に構成されていても差し支えない。操作者８は、３次元カメラ１の撮影画角内に位置しているものとする。
【００４５】
上記ＴＶ９の表示部７には、図３に示すような、アイコン１１およびサムネイル１２等が表示されているものとする。アイコン１１には本ＴＶ９が有するアプリケーションが割り当てられており、例えば「写真」アイコンを実行するとメモリ(図示せず)に保存された写真の一覧が表示される等の写真アプリケーションが立ち上がる。また、登録されたＴＶチャンネルの放送中の各画像がサムネイル１２として表示されており、選択されたサムネイル１２の拡大画像が選択画像１３として表示されている。
【００４６】
上記ＴＶ９の操作者８がＴＶ９を操作する場合には、表示画面上にポインタ１４を表示させ、そのポインタ１４を所望のアイコン１１あるいはサムネイル１２上に移動させて、例えばポインタ１４をアイコン１１上に一定時間留めておくことによって、実行動作を行なうことで実現できる。
【００４７】
上記３次元カメラ１で撮像された画像に基づいて３次元計測部２から得られた距離画像から、人物検出部３によって上記人物スケルトンモデルが得られることは上述した通りである。図４に、上記距離画像から上記スケルトンモデルが生成されるまでの過程を例示する。例えば、図４(a)のような距離画像が得られたとする。この距離画像には背景に壁や天井も含まれているが、この距離画像の中から上記距離データ等に基づいて、図４(b)の人物抽出および図４(c)のスケルトンモデル生成が行なわれる。
【００４８】
そうすると、次に、上記特徴点検出部４によって、上記スケルトンモデル内から指定した特徴点を検出する。例えば、人物の「右手」および「頭」が図４(c)に示すように定義されており、第１特徴点として「右手」を指定し、第２特徴点として「頭」を指定しておいた場合、上記したようにスケルトンモデル生成時には、図４(c)に示すように、人物の左右各関節および関節間ボーン１５が認識されているので、容易に指定した特徴点に相当する点を検出することができるのである。
【００４９】
また、図４(a)に示す上記距離画像と図４(c)に示すスケルトンモデルとを対応付けることによって、３次元カメラ１から操作者８上の上記特徴点までの距離をも得ることができる。そこで、例えば、図５において、操作者スケルトン１６上における第２特徴点１８である「頭」までの距離を上記距離画像から得、この得られた距離Ｚを３次元カメラ１と操作者８との距離とすることができるのである。尚、１７は、第１特徴点「右手」である。
【００５０】
次に、上記ポインタ位置演算部５によって、ＴＶ画面上に表示するポインタ１４の位置が演算される。図６および図７は、ポインタ１４の位置の算出方法を示す。
【００５１】
上記特徴点検出部４によって検出された両特徴点の座標は、３次元計測部２から得られた距離画像(カメラ画像)の画素単位で定義される中央を原点とする距離画像座標で表される。図６は、上記距離画像座標上における上記スケルトンモデルであり、第１特徴点１７である「右手」の座標(ｘ1,ｙ1)が得られているとする。
【００５２】
一方において、上記ＴＶ９の表示部７で表示するため、表示画素単位で定義される表示用の座標系を考える。この表示座標は、図７に示すように、縦が「２Ｙm」画素であり、横が「２Ｘm」画素である表示範囲を有し、この表示範囲の中央を原点とする。
【００５３】
ここで、上記ポインタ１４の動きを、図６に示す距離画像座標上における第１特徴点１７である「右手」の上記原点に対する動きに追従させるようにする。この場合、ポインタ１４を表示する座標は、図６に示す距離画像座標から図７に示す表示座標に変換する必要がある。
【００５４】
今、図６に示すように、上記距離画像座標での表示範囲が、縦２ｙm画素×横２ｘm画素であるとする。これに対して、上述したように、上記表示座標での表示範囲は、縦２Ｙm画素×横２Ｘm画素である。したがって、以下のように、上記距離画像座標と上記表示座標とを関係付けることができる。
２ｘm＝Ｋ・２Ｘm  (Ｋは実数)
２ｙm＝Ｌ・２Ｙm  (Ｌは実数)
【００５５】
これらの式から、第１特徴点１７である「右手」の表示座標系での座標(Ｘ1,Ｙ1)は、次式で求められる。
Ｘ1＝ｘ1/Ｋ          …（１）
Ｙ1＝ｙ1/Ｌ          …（２）
【００５６】
図７に示すように、この座標(Ｘ1,Ｙ1)を上記表示座標上の座標としてポインタ１４を表示した場合には、操作者８が遠くに居る際には、上記距離画像中における操作者スケルトン１６のサイズが小さくなり、上記距離画像中の「右手」の移動範囲が上記距離画像の画面上の隅々までをカバーできなくなる。そのために、表示部７の表示画面上のポインタ１４も上記表示画面の隅々までカバーできなくなり、上記表示画面の四隅付近に配置されたアイコン１１を操作することが不可能になる。
【００５７】
そこで、上記特徴点検出部４によって上記距離画像から得られた３次元カメラ１と操作者８との距離を用いて、上記座標(Ｘ1,Ｙ1)を以下のごとく補正するのである。
【００５８】
すなわち、上記３次元カメラ１と操作者８との距離をｚとし、距離ｚの関数ｆ(z)を考える。そして、関数ｆ(z)を用いて、上記表示座標上の座標値Ｘ1,Ｙ1を以下のように書き換える。
Ｘ1'＝ｆ(ｚ1)・Ｘ1    …（３）
Ｙ1'＝ｆ(ｚ2)・Ｙ1    …（４）
【００５９】
ここで、図８に示すように、上記３次元カメラ１の水平画角をθとすると、距離ｚの位置における水平方向の撮影長さＨは、
Ｈ＝２・ｚ・tan(θ/２)  …（５）
となる。
【００６０】
その場合における上記距離画像の横方向の表示画素単位で定義される長さは２ｘmであるから上記距離画像上における１画素当たりの撮影長さｈは、
ｈ＝Ｈ/(２ｘm)        …（６）
となる。
【００６１】
また、人間の手の可動範囲を例えば人間の頭を中心に概略半径Ｒと設定すると、上記距離画像上における「右手」の水平方向への可動画素数Ｒmは、
Ｒm＝２・Ｒ/ｈ         …（７）
となる。
【００６２】
ここで、Ｒm≧２ｘmであれば、上記距離画像上において、「右手」の水平方向への可動画素数が水平方向の画素数に等しいかあるいは上回っており、上記距離画像内における水平方向の全てが「右手」の水平方向への可動範囲内にあることを示している。
【００６３】
これに対し、Ｒm＜２ｘmであれば、上記距離画像上において、「右手」の水平方向への可動画素数が水平方向の画素数を下回っており、「右手」の水平方向への可動範囲は上記距離画像内における水平方向に対して不足していることを示している。このことは、表示部７の表示画面上のポインタ１４が、上記表示画面を水平方向の端までカバーできないことを示している。
【００６４】
尚、Ｒm＜２ｘmの場合には、上記表示部７の表示画面上のポインタ１４が、上記表示画面を水平方向の端までカバーできるようにするには、表示座標系での座標(Ｘ1,Ｙ1)を夫々２ｘm/Ｒm倍してやれば良い。
【００６５】
そこで、本実施の形態においては、Ｒm≧２ｘmの場合であるか、Ｒm＜２ｘmの場合であるかに拘わらす、以下の式(８)のごとく、表示座標系でのＸ座標「Ｘ1」を２ｘm/Ｒm倍して補正座標Ｘ1'を得るのである。
Ｘ1'＝Ｘ1・２ｘm/Ｒm    …（８）
【００６６】
こうすることによって、上記距離画像上において、「右手」の水平方向への可動画素数は常に水平方向の画素数以上となり、上記距離画像内における水平方向の全てが「右手」の水平方向への可動範囲内にあることになる。すなわち、表示部７の表示画面上のポインタ１４も上記表示画面の隅々までカバーできることになる。
【００６７】
以上のことより、上記式(３)と上記式(８)とから、関数ｆ(ｚ1)が式(９)のように定まる。
ｆ(ｚ1)＝２ｘm/Ｒm          …（９）
さらに、上記式(７)を用いて上記式(９)の関数ｆ(ｚ1)を式(１０)のごとく変形できる。
ｆ(ｚ1)＝２ｘm/(２・Ｒ/ｈ)
＝ｈ・ｘm/Ｒ          …（１０）
但し、ｈ＝２・ｚ・tan(θ/２)/(２ｘm)
【００６８】
このようにして、上記式(１０)と上記式(３)とから、次式(１１)のごとく上記表示座標上の表示Ｘ座標の補正座標Ｘ1'が得られるのである。
Ｘ1'＝(ｈ・ｘm/Ｒ)・Ｘ1      …（１１）
【００６９】
図９に示すように、上記得られた補正座標Ｘ1'を上記表示座標上の表示Ｘ座標としてポインタ１４を表示することによって、ポインタ１４は、上記表示座標上において、操作者８の手の概略水平移動範囲内で水平方向に移動させることができるのである。
【００７０】
以上においては、上記表示座標上の表示Ｘ座標の補正座標Ｘ1'について述べたが、表示Ｙ座標の補正座標Ｙ1'についても同様に求めることができる。
【００７１】
すなわち、上記３次元カメラ１の垂直画角をθ'とし、距離ｚの位置における垂直方向の撮影長さをＨ'とすると、
Ｈ'＝２・ｚ・tan(θ'/２)  …（１２）
となる。
【００７２】
その場合における上記距離画像の縦方向の表示画素単位で定義される長さは２ｙmであるから上記距離画像上における１画素当たりの撮影長さｈ'は、
ｈ'＝Ｈ'/(２ｙm)        …（１３）
となる。
【００７３】
以後、上記補正座標Ｘ1'算出時における３次元カメラ１の水平画角θを、垂直画角θ'に置き換え、距離ｚの位置における水平方向の撮影長さＨを、垂直方向の撮影長さＨ'に置き換え、上記距離画像の横方向の表示画素単位での長さ２ｘmを、縦方向の表示画素単位での長さ２ｙmに置き換えることにより、上記式(４)〜上記式(１１)から、関数ｆ(ｚ2)が次式(１４)のごとく得られ、
ｆ(ｚ2)＝２ｙm/(２・Ｒ/ｈ')
＝ｈ'・ｙm/Ｒ            …（１４）
但し、ｈ'＝２・ｚ・tan(θ'/２)/(２ｙm)
上記表示座標上の表示Ｙ座標の補正座標Ｙ1'が次式(１５)のごとく得られる。
Ｙ1'＝(ｈ'・ｙm/Ｒ)・Ｙ1        …（１５）
【００７４】
図９に示すように、上記得られた補正座標Ｙ1'を上記表示座標上の表示Ｙ座標としてポインタ１４を表示することによって、ポインタ１４は、上記表示座標上において、操作者８の手の概略垂直移動範囲内で垂直方向に移動させることができるのである。
【００７５】
以上のことより、上記式(１１)および上記(１５)によって得られた上記表示座標上の補正座標(Ｘ1',Ｙ1')の位置にポインタ１４を表示すれば、表示部７の表示画面上における全ての位置にポインタ１４を移動させることができるのである。
【００７６】
但し、上記式での計算結果の補正座標(Ｘ1',Ｙ1')は、上記ＴＶ９の表示部７における画素位置に相当するので、整数に丸める必要がある。
【００７７】
上記ポインタ位置演算部５は、上記各式での演算を行って表示座標系での補正座標値を算出する。そして、表示制御部６によって、図９に示すように、上記得られた表示座標系での補正座標値に基づいて、ＴＶ９の表示部７における補正座標(Ｘ1',Ｙ1')の位置にポインタ１４を表示するのである。この場合におけるポインタ１４の形状として「矢印」や「指」の形を用いる場合には、矢印および指の先端の点をポインタ１４の位置とすることができる。
【００７８】
したがって、上記ＴＶ９を、図３に示すようなアイコン１１およびサムネイル１２を有するインターフェース上において、操作者８がジェスチャによって操作を行なう場合に、上記距離画像上における操作者８の「右手」の相対位置に対応する、ＴＶ９の表示部７上における原点に対する相対位置であって、３次元カメラ１と操作者８との距離に応じて表示画像内における全ての方向が「右手」の可動範囲内にあるように補正された位置に、ポインタ１４を表示することが可能になる。
【００７９】
すなわち、上記実施の形態によれば、３次元カメラ１に対する操作者８の操作距離に関わらず表示部７上における全ての表示範囲にポインタ１４を表示できることになり、ポインタ１４で表示画面の隅々を指示できなくなることを低減できる。したがって、ポインタ１４によるＴＶ９の操作性を向上させることができるのである。
【００８０】
・第２実施の形態
本実施の形態の情報処理装置は、上記第１実施の形態における図１に示すブロック図と同様の構成を有している。したがって、各構成部には、上記第１実施の形態における図１と同じ番号を付して、詳細な説明は省略する。
【００８１】
但し、ポインタ位置演算部５は、その動作内容において、上記第１実施の形態とは異なる。そこで、以下においては、主にポインタ位置演算部５の動作について説明する。
【００８２】
３次元計測部２は、上記３次元カメラであるステレオカメラ１からの画像に基づいて図４(a)のような距離画像を得、この距離画像の上記距離データ等に基づいて、人物検出部３によって、図４(b)の人物抽出および図４(c)のスケルトンモデル生成を行う。
【００８３】
特徴点検出部４は、上記人物検出部３で生成された上記スケルトンモデルから、指定した特徴点を検出する。例えば、第１特徴点として「右手」を、第２特徴点として「頭」を予め指定しておくことによって、上記第１特徴点と上記第２特徴点とを検出する。既に述べたように、上記スケルトンモデルでは人物の左右各関節および関節間ボーンが認識されているので、上記指定した特徴点に該当する部分を検出することは容易である。さらに、上記特徴点検出部４は、３次元カメラ１から上記第１特徴点および上記第２特徴点までの距離を検出する。ここまでは、上記第１実施の形態の場合と同様である。
【００８４】
ポインタ位置演算部５は、上記特徴点検出部４によって検出された特徴点の一つを原点とした仮想領域座標を設定して、他の特徴点の位置を上記設定した原点に対する座標値で相対的に算出する。ここで、上記仮想領域座標として、例えば、図１１に示すように、第２特徴点２２である「頭」を原点とした、画素数が、縦２ｙm×横２ｘmである上記距離画像座標と同じ座標を考える。
【００８５】
そして、図１０に示すように、上記３次元計測部２で得られた上記距離画像座標上における第１特徴点２１である「右手」の座標(ｘ1,ｙ1)および第２特徴点２２である「頭」の座標(ｘ0,ｙ0)を、図１１に示す仮想領域座標上の座標に変換するのである。
【００８６】
その場合、上記距離画像座標上の第１特徴点２１である「右手」の上記仮想領域座標上での座標(ｘ2,ｙ2)は、次式で求められる。
【００８７】
ｘ2＝(ｘ1−ｘ0)
ｙ2＝(ｙ1−ｙ0)
【００８８】
以下、図１１に示す仮想領域座標を、上記第１実施の形態における上記距離画像座標と見なすことによって、上記第１実施の形態の場合と同様にして、補正座標(Ｘ1',Ｙ1')を求めるのである。
【００８９】
具体的には、上記第１実施の形態の図６における上記距離画像座標上の第１特徴点１７である「右手」の座標(ｘ1,ｙ1)を、上記仮想領域座標上の座標(ｘ2,ｙ2)に置き換える。そうした後、上記第１実施の形態における上記式(１)〜上記(１５)を演算するのである。
【００９０】
こうすることによって、上記距離画像上における操作者８の「頭」に対する「右手」の相対位置に対応する、ＴＶ９の表示部７上における原点に対する相対位置であって、且つ３次元カメラ１と操作者８との距離に応じて表示画像内における全ての方向が「右手」の可動範囲内にあるように補正された位置に、ポインタ１４を表示することが可能になる。
【００９１】
すなわち、本第２実施の形態によれば、上記表示部７上における原点の周囲にポインタ１４が表示されることになり、ポインタ１４の表示位置が表示部７の表示画面内における一方に偏ることを低減できるのである。
【００９２】
ここで、第２実施の形態おいては、上記第２特徴点２２である「頭」を上記表示座標の原点としている。その理由は、上記第１特徴点２１である「手」(すなわち、ポインタ１４の表示の元となるもの)の位置は概略人間の頭を中心に移動すると考えられ、「頭」を原点にすることによって、表示画面上でのポインタ１４の位置は概略表示画面の中央部付近を中心とする位置になる。したがって、ポインタ１４の位置が表示画面上で偏らず、視認性および操作性を良好にできるためである。
【００９３】
尚、上述の説明では、説明が煩雑になるために省略しているが、上記ポインタ位置演算部５は、上記表示座標の原点となる第２特徴点２２「頭」の上記距離画像座標上での位置が移動した場合には、移動した後の上記距離画像座標上での位置に基づいて、上記仮想領域座標における新たな原点を設定するようになっている。
【００９４】
こうすることにより、ジェスチャを行っている操作者８の体が揺れたり、立ち位置が多少ずれたりしても、それに連れて表示部７に表示されるポインタ１４の位置がずれることを抑制することができる。したがって、意図しないポインタ１４の位置ずれを修正する必要性を少なくし、操作性を大幅に向上させることができる。
【００９５】
以上のごとく、上記各実施の形態においては、上記撮像部の一例としての３次元カメラ１で撮像した画像を、上記３次元処理部の一例としての３次元計測部２によって距離情報を含む画像として認識して(所謂３次元的に認識して)距離画像を生成する。そして、人物検出部３によって上記距離画像から人物部分をスケルトンモデルとして検出し、特徴点検出部４によって上記スケルトンモデル(人物部分)から、少なくとも１つの特徴点(特徴点「右手」)を検出すると共に、上記距離画像に基づいて上記特徴点「右手」と３次元カメラ１との距離を検出する。
【００９６】
そして、上記ポインタ位置演算部５によって、表示部７の表示範囲における中央を原点とすると共に、表示部７の表示画素単位で定義された２次元座標を設定し、上記距離画像上における上記特徴点「右手」の位置に対応する上記２次元座標上の座標値を演算し、この座標値を上記特徴点「右手」と３次元カメラ１との距離に基づいて補正する。そうした後、表示制御部６によって、上記得られた補正座標値に基づいて、表示部７にポインタ１４を表示させる表示制御を行なうようにしている。
【００９７】
したがって、上記ポインタ位置演算部５によって、上記演算された座標値を、上記距離画像上に設定された上記特徴点「右手」の可動範囲と、上記特徴点「右手」と３次元カメラ１との距離とに基づいて補正することによって、ＴＶ９を、図３に示すようなアイコン１１およびサムネイル１２を有するインターフェースによって操作者８がジェスチャによって操作する場合に、３次元カメラ１と操作者８との距離に拘わらず、ＴＶ９の表示部７上における上記距離画像の上記可動範囲に対応する領域にポインタ１４を移動させることができる。すなわち、上記実施の形態によれば、図３における表示部７の右上角の「ＴＶ電話」アイコンや、右下角の「テーブル」アイコンや、左上角の「１ch」サムネイルの位置に、ポインタ１４を移動させることが可能になり、ポインタ１４によるＴＶ９の操作性を向上させることができるのである。
【００９８】
また、上記各実施の形態においては、上記ポインタ位置演算部は、演算した上記２次元座標上の座標値を、上記距離画像上に上記特徴点「右手」の可動範囲を設定し、この設定された上記可動範囲と、上記特徴点「右手」と３次元カメラ１との距離とに基づいて補正するようにしている。したがって、上記可動範囲を、上記距離画像上に設定された距離画像座標における水平方向(＞垂直方向)への画素数以上になるように設定することにより、３次元カメラ１と操作者８との距離に拘わらず、ＴＶ９の表示部７上における全ての位置にポインタ１４を移動させることが可能になる。
【００９９】
また、上記各実施の形態においては、上記特徴点検出部４は、上記人物検出部３によって検出された上記スケルトンモデル(人物部分)のうちの片方の手の位置を、上記特徴点として検出するようにしている。したがって、操作者８がジェスチャによって操作を行なう場合に通常用いる右手あるいは左手を、上記特徴点の一つとして検出することによって、操作性の向上を図ることができる。
【０１００】
また、上記第２実施の形態においては、上記特徴点検出部４によって複数の特徴点(第１特徴点「右手」と第２特徴点「頭」)を検出する。そして、ポインタ位置演算部５によって、上記特徴点の一つ(第２特徴点「頭」)を原点とする仮想領域座標を設定し、上記他の特徴点(第１特徴点「右手」)の上記仮想領域座標上の原点に対する相対位置に対応する上記２次元座標上の座標値を演算し、この座標値を上記特徴点「右手」と３次元カメラ１との距離に基づいて補正する。そうした後に、表示制御部６によって、上記得られた補正座標値に基づいて、表示部７にポインタ１４を表示させる表示制御を行なうようにしている。
【０１０１】
したがって、上記距離画像上における操作者８の「頭」に対する「右手」の相対位置に対応する、ＴＶ９の表示部７上における原点に対する相対位置であって、且つ３次元カメラ１と操作者８との距離に応じて補正された位置に、ポインタ１４を表示することができる。
【０１０２】
すなわち、本第２実施の形態によれば、上記表示部７上における原点の周囲にポインタ１４が表示されることになり、ポインタ１４の表示位置が表示部７の表示画面内における一方に偏ることを低減できるのである。
【０１０３】
また、上記各実施の形態においては、上記３次元カメラ１として、２次元カメラを２個用いたステレオカメラを用いている。したがって、通常３次元カメラとしてよく使用されるステレオカメラを用いることによって、３次元カメラ１を簡単に精度よく構成することができる。
【０１０４】
尚、上記各実施の形態においては、上記表示部７の表示画面上のポインタ１４が上記表示画面を水平方向の端までカバーできるようにするため、表示座標系での座標(Ｘ1,Ｙ1)を夫々２ｘm/Ｒm倍にする補正を行うようにしている。これは、上記距離画像の表示範囲が、垂直方向よりも水平方向への長さが大きいことに起因している。したがって、上記距離画像の表示範囲が、水平方向よりも垂直方向への長さが大きい場合には、表示座標系での座標(Ｘ1,Ｙ1)を夫々２ｙm/Ｒm倍に補正する必要がある。
【０１０５】
要は、上記距離画像上に設定された上記距離画像座標において、上記「縦２ｙm画素」と「横２ｘm画素」とのうちの値が大きい方の画素数(つまり上記距離画像座標における垂直方向の幅と水平方向の幅とのうちの大きい方の幅)をＲmで割った値を、座標値Ｘ1,Ｙ1の夫々に乗ずればよいのである。
【符号の説明】
【０１０６】
１…３次元カメラ、
２…３次元計測部、
３…人物検出部、
４…特徴点検出部、
５…ポインタ位置演算部、
６…表示制御部、
７…表示部、
８…操作者、
９…ＴＶ、
１１…アイコン、
１２…サムネイル、
１３…選択画像、
１４…ポインタ、
１６…操作者スケルトン、
１７,２１…第１特徴点、
１８,２２…第２特徴点。
【図１】
2014010684.tif 000003
【図６】
2014010684.tif 000004
【図７】
2014010684.tif 000005
【図８】
2014010684.tif 000006
【図１０】
2014010684.tif 000007
【図１１】
2014010684.tif 000008
【図２】
2014010684.tif 000009
【図３】
2014010684.tif 000010
【図４】
2014010684.tif 000011
【図５】
2014010684.tif 000012
【図９】
2014010684.tif 000013