JP2014010684A - 情報処理装置 - Google Patents
情報処理装置 Download PDFInfo
- Publication number
- JP2014010684A JP2014010684A JP2012147522A JP2012147522A JP2014010684A JP 2014010684 A JP2014010684 A JP 2014010684A JP 2012147522 A JP2012147522 A JP 2012147522A JP 2012147522 A JP2012147522 A JP 2012147522A JP 2014010684 A JP2014010684 A JP 2014010684A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- feature point
- display
- pointer
- distance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Position Input By Displaying (AREA)
Abstract
【課題】撮像装置と操作者との距離に関わらずポインタを表示画面内の総ての位置に移動できる。
【解決手段】3次元カメラ1からの画像により3次元計測部2で距離画像を生成し、人物検出部3で上記距離画像から人物部分をスケルトンモデルとして検出し、特徴点検出部4で上記スケルトンモデルから特徴点とその3次元カメラ1までの距離とを検出する。ポインタ位置演算部5で、表示部7の中央を原点とする2次元座標を設定し、特徴点「右手」の上記原点からの相対的な上記2次元座標上の座標値を算出し、この座標値を上記距離に応じて表示部7内の全てが「右手」の可動範囲内になるように補正する。そして、表示制御部6で、上記補正座標値により表示部7にポインタを表示させる。こうして、操作者がジェスチャで操作を行なう際に、3次元カメラ1と操作者との距離に関わらずポインタを表示部7内の総ての位置に移動可能にする。
【選択図】図1
【解決手段】3次元カメラ1からの画像により3次元計測部2で距離画像を生成し、人物検出部3で上記距離画像から人物部分をスケルトンモデルとして検出し、特徴点検出部4で上記スケルトンモデルから特徴点とその3次元カメラ1までの距離とを検出する。ポインタ位置演算部5で、表示部7の中央を原点とする2次元座標を設定し、特徴点「右手」の上記原点からの相対的な上記2次元座標上の座標値を算出し、この座標値を上記距離に応じて表示部7内の全てが「右手」の可動範囲内になるように補正する。そして、表示制御部6で、上記補正座標値により表示部7にポインタを表示させる。こうして、操作者がジェスチャで操作を行なう際に、3次元カメラ1と操作者との距離に関わらずポインタを表示部7内の総ての位置に移動可能にする。
【選択図】図1
Description
この発明は、ユーザのジェスチャを認識して機器の制御を行うユーザインターフェースに適用される情報処理装置に関する。
近年、テレビジョン(以下、単にTVと言う)やゲーム機あるいはパソコン等の情報機器の操作を行う場合に、ユーザが自身の手足を動かすジェスチャ動作で機器に対する操作を指示する方法が提案されている。この方法を用いることによって、従来のインターフェースであるリモコン,操作パッド,キーボードおよびマウス等を必要とせずに機器を遠隔的に操作することができる。
このようなジェスチャで機器操作を指示するインターフェースによれば、遠隔操作用の機器が手元に無い場合であっても目的の機器の操作ができるという利便性が得られ、今後発展して行くと考えられる。
ジェスチャによる機器の操作方法は、様々提案されている。例えば、TVを操作するのに、操作者をカメラで動画撮影し、右手を挙げると音量を大きくする一方、左手を挙げると音量を小さくする等の、ジェスチャそのものに機器動作の意味を持たせる方法がある。但し、このような方法の場合には、ジェスチャの種類を増やすと、紛らわしい動きと混同して誤動作する懸念がある。
別の操作方法として、操作者の手の位置をカメラで読取って、手の動きに追従するポインタあるいはカーソルを機器操作用の画面上に表示し、この画面に同時に表示される目的のアイコン上にポインタを移動させて、例えば一定時間ポインタをアイコン上に留めておくことによって、そのアイコンの機能を動作させるという機器制御方法がある。この操作方法は、上述したジェスチャそのものに機器動作の意味を持たせる方法に比べて、所望の動作をアイコンという形で選ぶことができるため、多くの操作をアイコンとして準備することができる。
上記ジェスチャとポインタとによる機器操作については、特開2012‐64233号公報(特許文献1)に開示されている。
上記特許文献1に開示された情報処理装置では、カメラで撮影した画像からユーザの手の位置を検出し、手の位置および手の位置の周辺領域に手が存在する確率から求めた評価値に基づいて、ディスプレイの画像上における手が存在する確率が最も高い箇所にポインタを移動させるようにしている。ここで、「手の位置の周辺領域に手が存在する確率」とは、検出された手の位置は真の手の位置を中心とした正規分布を取ると仮定した場合に、検出された手の位置が真の手の位置である確率のことである。
しかしながら、上記従来の情報処理装置においては、上記カメラによる撮影画像内におけるユーザが手を動かせる範囲は、カメラとユーザとの距離によって変化する。したがって、ユーザの手を動かせる範囲に応じてディスプレイの画像上におけるポインタの動かせる範囲も変わることとなり、場合によっては所望の位置にポインタを移動することができず、操作性が良くないという問題がある。
そこで、この発明の課題は、撮像装置と操作者との距離に関わらずポインタを表示画面内の総ての位置に移動させることができ、ポインタによる機器の操作性が良好な情報処理装置を提供することにある。
上記課題を解決するため、この発明の情報処理装置は、
撮像部と、
上記撮像部によって取得された画像を、距離情報を含む画像として認識する3次元処理部と、
上記3次元処理部によって認識された画像から人物部分を検出する人物検出部と、
上記人物検出部によって検出された人物部分から少なくとも1つの特徴点を検出すると共に、上記3次元処理部によって認識された画像に基づいて上記特徴点と上記撮像部との間の距離を検出する特徴点検出部と、
上記特徴点検出部によって検出された上記特徴点で指定される位置にポインタを表示する表示部と、
上記表示部の表示領域上に2次元座標を設定すると共に、上記3次元処理部で認識された画像上における上記特徴点の位置に対応する上記2次元座標上の座標値を演算し、この座標値を上記特徴点と上記撮像部との間の距離に基づいて補正し、得られた補正座標値を上記表示領域上における上記ポインタの位置とするポインタ位置演算部と、
上記ポインタ位置演算部によって算出された補正座標値に基づいて、上記表示部の表示領域上に上記ポインタを表示させる表示制御部と
を備えたことを特徴としている。
撮像部と、
上記撮像部によって取得された画像を、距離情報を含む画像として認識する3次元処理部と、
上記3次元処理部によって認識された画像から人物部分を検出する人物検出部と、
上記人物検出部によって検出された人物部分から少なくとも1つの特徴点を検出すると共に、上記3次元処理部によって認識された画像に基づいて上記特徴点と上記撮像部との間の距離を検出する特徴点検出部と、
上記特徴点検出部によって検出された上記特徴点で指定される位置にポインタを表示する表示部と、
上記表示部の表示領域上に2次元座標を設定すると共に、上記3次元処理部で認識された画像上における上記特徴点の位置に対応する上記2次元座標上の座標値を演算し、この座標値を上記特徴点と上記撮像部との間の距離に基づいて補正し、得られた補正座標値を上記表示領域上における上記ポインタの位置とするポインタ位置演算部と、
上記ポインタ位置演算部によって算出された補正座標値に基づいて、上記表示部の表示領域上に上記ポインタを表示させる表示制御部と
を備えたことを特徴としている。
上記構成によれば、上記ポインタ位置演算部は、上記表示部の表示領域上に設定した2次元座標上の座標値を演算し、この座標値を上記特徴点と上記撮像部との間の距離に基づいて補正して、上記表示領域上における上記ポインタの位置を表す補正座標値を得るようにしている。したがって、上記補正を、上記特徴点と上記撮像部との間の距離に応じて、上記3次元処理部で認識された画像上における上記特徴点の可動範囲が上記画像の表示範囲内の総ての領域になるように行うことによって、操作者がジェスチャにより対象機器を操作する場合に、上記撮像部と操作者との距離に拘わらず、上記表示部上の2次元座標内の総ての位置に上記ポインタを移動させることが可能になる。
また、1実施の形態の情報処理装置では、
上記ポインタ位置演算部によって行われる上記補正座標値の演算は、上記3次元処理部により認識された画像上に上記特徴点の可動範囲を設定し、この設定された上記可動範囲と、上記特徴点と上記撮像部との間の距離とに基づいて行われる。
上記ポインタ位置演算部によって行われる上記補正座標値の演算は、上記3次元処理部により認識された画像上に上記特徴点の可動範囲を設定し、この設定された上記可動範囲と、上記特徴点と上記撮像部との間の距離とに基づいて行われる。
この実施の形態によれば、上記可動範囲を、上記3次元処理部により認識された画像上の全領域になるように設定することによって、操作者がジェスチャにより対象機器を操作する場合に、上記撮像部と操作者との距離に拘わらず、上記表示部上の2次元座標内の総ての位置に上記ポインタを移動させることが可能になる。
また、1実施の形態の情報処理装置では、
上記可動範囲は、上記3次元処理部によって認識された画像における垂直方向の画素数および水平方向の画素数のうちの大きい方の画素数以上である。
上記可動範囲は、上記3次元処理部によって認識された画像における垂直方向の画素数および水平方向の画素数のうちの大きい方の画素数以上である。
この実施の形態によれば、上記可動範囲を、上記3次元処理部によって認識された画像における垂直方向の画素数および水平方向の画素数のうちの大きい方の画素数以上に設定するので、上記3次元処理部によって認識された画像上における上記特徴点の可動範囲を上記画像上の全領域にすることができる。したがって、操作者がジェスチャにより対象機器を操作する場合に、上記撮像部と操作者との距離に拘わらず、上記表示部上の2次元座標内の総ての位置に上記ポインタを移動させることが可能になる。
また、1実施の形態の情報処理装置では、
上記特徴点検出部によって検出される上記特徴点は、上記人物検出部によって検出された人物部分の片方の手である。
上記特徴点検出部によって検出される上記特徴点は、上記人物検出部によって検出された人物部分の片方の手である。
この実施の形態によれば、操作者がジェスチャによって対象物の操作を行なう場合に通常用いる右手あるいは左手を上記特徴点として検出するので、上記手の特徴点を上記ポインタの位置となる特徴点とすることができ、操作性の向上を図ることができる。
また、1実施の形態の情報処理装置では、
上記特徴点検出部は、複数の特徴点、および、上記各特徴点と上記撮像部との間の距離を検出するようになっており、
上記ポインタ位置演算部は、上記特徴点検出部により検出された上記複数の特徴点の一つを原点とする仮想領域座標を設定すると共に、他の特徴点の上記仮想領域座標上の原点に対する相対位置に対応する上記2次元座標上の座標値を演算し、この座標値を上記他の特徴点と上記撮像部との間の距離に基づいて補正し、得られた補正座標値を上記表示領域上における上記ポインタの位置とするようになっている。
上記特徴点検出部は、複数の特徴点、および、上記各特徴点と上記撮像部との間の距離を検出するようになっており、
上記ポインタ位置演算部は、上記特徴点検出部により検出された上記複数の特徴点の一つを原点とする仮想領域座標を設定すると共に、他の特徴点の上記仮想領域座標上の原点に対する相対位置に対応する上記2次元座標上の座標値を演算し、この座標値を上記他の特徴点と上記撮像部との間の距離に基づいて補正し、得られた補正座標値を上記表示領域上における上記ポインタの位置とするようになっている。
この実施の形態によれば、操作者がジェスチャにより対象機器を操作する場合に、上記3次元処理部によって認識された画像上における人物(操作者)部分の一つの特徴点を原点とする上記表示部の2次元座標上における他の特徴点の位置であって、且つ上記他の特徴点と上記撮像部との間の距離に基づいて補正された位置に、上記ポインタを表示することが可能になる。すなわち、上記ポインタの表示範囲を常に操作者を原点として設定することができる。
したがって、上記撮像部と操作者との距離に拘わらず、上記表示部上の2次元座標内の総ての位置に上記ポインタを移動させることが可能になることに加えて、上記2次元座標上における原点の周囲に上記ポインタを表示することができ、上記ポインタの表示位置が上記表示部の表示領域内における一方に偏ることを低減できるのである。
また、1実施の形態の情報処理装置では、
上記撮像部は、2次元カメラを2個用いたステレオカメラである。
上記撮像部は、2次元カメラを2個用いたステレオカメラである。
この実施の形態によれば、通常3次元カメラとしてよく使用されるステレオカメラを用いることによって、上記3次元処理部が容易に上記距離情報を含む画像として認識を行うことができる画像を簡単に精度よく取得することができる。
以上より明らかなように、この発明の情報処理装置は、上記人物検出部によって検出された人物(操作者)部分の特徴点の位置に対応する、上記表示部の表示領域上に設定された上記2次元座標上の位置であって、上記特徴点と上記撮像部との間の距離に基づいて補正された位置に、上記ポインタを表示するようにしている。
したがって、上記補正を、上記特徴点と上記撮像部との間の距離に応じて、上記3次元処理部で認識された画像上における上記特徴点の可動範囲が上記画像上の全領域になるように行うことによって、操作者がジェスチャにより対象機器を操作する場合に、上記撮像部と操作者との距離に拘わらず、上記表示部上の2次元座標内の総ての位置に上記ポインタを移動させることが可能になる。
すなわち、この発明によれば、ポインタによる機器の操作性を向上させることができるのである。
以下、この発明を図示の実施の形態により詳細に説明する。尚、以下の説明では、同一の機能および作用を示す物については同一の符号を付して説明は省略する。
・第1実施の形態
図1は、本実施の形態の情報処理装置におけるブロック図である。図1において、3次元カメラ1は、撮影範囲の画像を3次元的に捉えることができるカメラであり、例えば2次元カメラを左右2個配置して構成されたステレオカメラを用いる。尚、上記ステレオカメラによる3次元計測原理については文献が多くあるので、ここでは説明を省略する。
図1は、本実施の形態の情報処理装置におけるブロック図である。図1において、3次元カメラ1は、撮影範囲の画像を3次元的に捉えることができるカメラであり、例えば2次元カメラを左右2個配置して構成されたステレオカメラを用いる。尚、上記ステレオカメラによる3次元計測原理については文献が多くあるので、ここでは説明を省略する。
3次元計測部2は、上記ステレオカメラ1からの画像に基づいて、例えば左カメラ画像を元画像にした距離画像を生成する。距離画像とは、左カメラ画像内の各画素値を距離の値に置き換えて表示したものであり、基本的にはグレースケール画像である。例えば、上記ステレオカメラ1から近い位置にある物体は明るく(白く)表示し、上記ステレオカメラ1から遠い位置にある物体は暗く(黒く)表示することで、距離を表現する。
人物検出部3は、上記3次元計測部2で得られた距離画像から人物部分を検出する。ここで、人物検出部3として、後に詳述するような人体部位の識別器に相当するものを組み込んでおけば、3次元計測部2でリアルタイムに生成された距離画像から上記人物部分をスケルトンモデルとして検出することができる。ここで、上記スケルトンモデルとは、人物の関節および各関節間を線分(ボーン)でつないだ擬似的な骨格モデルを指すものとする(図4(c)参照)。
特徴点検出部4は、上記人物検出部3によって得られた上記スケルトンモデルから、指定した特徴点を検出する部分である。例えば、第1特徴点として「右手」を、第2特徴点として「頭」を予め指定しておくことによって、上記第1特徴点と上記第2特徴点とを検出する。後に詳述するように、上記スケルトンモデルでは人物の左右各関節および関節間ボーンが認識されているので、上記指定した特徴点に該当する部分を検出することは容易である。
さらに、上記特徴点検出部4は、3次元計測部2で得られた距離画像と人物検出部3によって得られた上記スケルトンモデルとから、3次元カメラ1から上記第1特徴点および上記第2特徴点までの距離を検出する。
ポインタ位置演算部5は、中央を原点とする2次元座標を設定し、上記特徴点検出部4によって検出された特徴点の一つの上記2次元座標上の位置を上記原点に対する座標値で相対的に算出する。演算方法は、後に詳細に説明する。
表示制御部6は、上記ポインタ位置演算部5によって得られた相対座標値に基づいて、表示部7にポインタを表示させる表示制御を行なう。
表示部7は、例えば液晶ディスプレイ等の表示ディスプレイである。
以下、上記人物検出部3によって行われる上記距離画像から上記人物部分を検出する方法について説明する。上記距離画像から上記人物部分を検出する処理を実行する方法として、例えば以下のようなものがある。
マイクロソフト社から出されている3次元カメラ「キネクト(Kinect)」と処理ソフトである「オープンNI(OpenNI:Open Natural Interaction)フレームワーク」とを用いて、撮像画像内から人物部分を検出する。より正確には、上記人物のスケルトンモデルを生成する。
上記人物のスケルトンモデルの生成は、夫々異なった形やサイズで夫々異なった姿勢を持った大量の人間のサンプル画像をコンピュータに学習させることによって、上記コンピュータに、ユーザーの体の一部分を別の一部分と区別させることによって行う。この方法によれば、大量の人物パターンを大量に機械学習させておくことによって、どのような人の形や姿勢でも識別できるような上記人体部位の識別器ができるのである。
上記キネクトのカメラは距離情報を計測できるので、遠くに居る背の高いユーザーと近くに居る背の低いユーザーを区別することができる。したがって、上記「キネクト」および「オープンNIフレームワーク」を用いることによって、リアルタイムに、手,頭,足のような人間の各部位の3次元空間上の位置を認識でき、人間のスケルトンモデル生成が実行できるのである。
上記キネクトと人体部位の識別器とを用いた処理の流れとしては、キネクトのカメラから各フレーム毎の距離画像を取得し、次に、各フレーム毎に体の推定各部位が各部位の何れに相当するのかの識別を識別器によって行う。そして、各フレーム毎に検出された各部位を用いて、運動力学的な拘束と時間的な一貫性とが保たれるように、3次元での各部位の配置(関節結合)を抽出する。最後に、得られた関節結合の仮説から、実際の人間の骨組み(スケルトン)の動きを推定する。そして、各仮説から確率的に一番尤もらしい3次元配置を計算し、人物のスケルトンの推定を確定するのである。
以上のことより、上記3次元計測部2で得られる距離画像とオープンNIフレームワークとによって、リアルタイムな人物スケルトンモデルが得られるのである。尚、キネクトおよびオープンNIフレームワークに関しては、インターネット等で情報が公開されているため、ここでは詳細な説明を省略する。
次に、本実施の形態におけるジェスチャによるポインタ表示および機器操作について説明する。操作対象の例として、液晶テレビジョンの操作を考える。
図2は、上記操作対象としての液晶TV(以下、単にTVと言う)と操作者との位置関係を示す。図2において、TV9の下部には、3次元カメラ1が設置されている。尚、3次元カメラ1はTV9と一体に構成されていても差し支えない。操作者8は、3次元カメラ1の撮影画角内に位置しているものとする。
上記TV9の表示部7には、図3に示すような、アイコン11およびサムネイル12等が表示されているものとする。アイコン11には本TV9が有するアプリケーションが割り当てられており、例えば「写真」アイコンを実行するとメモリ(図示せず)に保存された写真の一覧が表示される等の写真アプリケーションが立ち上がる。また、登録されたTVチャンネルの放送中の各画像がサムネイル12として表示されており、選択されたサムネイル12の拡大画像が選択画像13として表示されている。
上記TV9の操作者8がTV9を操作する場合には、表示画面上にポインタ14を表示させ、そのポインタ14を所望のアイコン11あるいはサムネイル12上に移動させて、例えばポインタ14をアイコン11上に一定時間留めておくことによって、実行動作を行なうことで実現できる。
上記3次元カメラ1で撮像された画像に基づいて3次元計測部2から得られた距離画像から、人物検出部3によって上記人物スケルトンモデルが得られることは上述した通りである。図4に、上記距離画像から上記スケルトンモデルが生成されるまでの過程を例示する。例えば、図4(a)のような距離画像が得られたとする。この距離画像には背景に壁や天井も含まれているが、この距離画像の中から上記距離データ等に基づいて、図4(b)の人物抽出および図4(c)のスケルトンモデル生成が行なわれる。
そうすると、次に、上記特徴点検出部4によって、上記スケルトンモデル内から指定した特徴点を検出する。例えば、人物の「右手」および「頭」が図4(c)に示すように定義されており、第1特徴点として「右手」を指定し、第2特徴点として「頭」を指定しておいた場合、上記したようにスケルトンモデル生成時には、図4(c)に示すように、人物の左右各関節および関節間ボーン15が認識されているので、容易に指定した特徴点に相当する点を検出することができるのである。
また、図4(a)に示す上記距離画像と図4(c)に示すスケルトンモデルとを対応付けることによって、3次元カメラ1から操作者8上の上記特徴点までの距離をも得ることができる。そこで、例えば、図5において、操作者スケルトン16上における第2特徴点18である「頭」までの距離を上記距離画像から得、この得られた距離Zを3次元カメラ1と操作者8との距離とすることができるのである。尚、17は、第1特徴点「右手」である。
次に、上記ポインタ位置演算部5によって、TV画面上に表示するポインタ14の位置が演算される。図6および図7は、ポインタ14の位置の算出方法を示す。
上記特徴点検出部4によって検出された両特徴点の座標は、3次元計測部2から得られた距離画像(カメラ画像)の画素単位で定義される中央を原点とする距離画像座標で表される。図6は、上記距離画像座標上における上記スケルトンモデルであり、第1特徴点17である「右手」の座標(x1,y1)が得られているとする。
一方において、上記TV9の表示部7で表示するため、表示画素単位で定義される表示用の座標系を考える。この表示座標は、図7に示すように、縦が「2Ym」画素であり、横が「2Xm」画素である表示範囲を有し、この表示範囲の中央を原点とする。
ここで、上記ポインタ14の動きを、図6に示す距離画像座標上における第1特徴点17である「右手」の上記原点に対する動きに追従させるようにする。この場合、ポインタ14を表示する座標は、図6に示す距離画像座標から図7に示す表示座標に変換する必要がある。
今、図6に示すように、上記距離画像座標での表示範囲が、縦2ym画素×横2xm画素であるとする。これに対して、上述したように、上記表示座標での表示範囲は、縦2Ym画素×横2Xm画素である。したがって、以下のように、上記距離画像座標と上記表示座標とを関係付けることができる。
2xm=K・2Xm (Kは実数)
2ym=L・2Ym (Lは実数)
2xm=K・2Xm (Kは実数)
2ym=L・2Ym (Lは実数)
これらの式から、第1特徴点17である「右手」の表示座標系での座標(X1,Y1)は、次式で求められる。
X1=x1/K …(1)
Y1=y1/L …(2)
X1=x1/K …(1)
Y1=y1/L …(2)
図7に示すように、この座標(X1,Y1)を上記表示座標上の座標としてポインタ14を表示した場合には、操作者8が遠くに居る際には、上記距離画像中における操作者スケルトン16のサイズが小さくなり、上記距離画像中の「右手」の移動範囲が上記距離画像の画面上の隅々までをカバーできなくなる。そのために、表示部7の表示画面上のポインタ14も上記表示画面の隅々までカバーできなくなり、上記表示画面の四隅付近に配置されたアイコン11を操作することが不可能になる。
そこで、上記特徴点検出部4によって上記距離画像から得られた3次元カメラ1と操作者8との距離を用いて、上記座標(X1,Y1)を以下のごとく補正するのである。
すなわち、上記3次元カメラ1と操作者8との距離をzとし、距離zの関数f(z)を考える。そして、関数f(z)を用いて、上記表示座標上の座標値X1,Y1を以下のように書き換える。
X1'=f(z1)・X1 …(3)
Y1'=f(z2)・Y1 …(4)
X1'=f(z1)・X1 …(3)
Y1'=f(z2)・Y1 …(4)
ここで、図8に示すように、上記3次元カメラ1の水平画角をθとすると、距離zの位置における水平方向の撮影長さHは、
H=2・z・tan(θ/2) …(5)
となる。
H=2・z・tan(θ/2) …(5)
となる。
その場合における上記距離画像の横方向の表示画素単位で定義される長さは2xmであるから上記距離画像上における1画素当たりの撮影長さhは、
h=H/(2xm) …(6)
となる。
h=H/(2xm) …(6)
となる。
また、人間の手の可動範囲を例えば人間の頭を中心に概略半径Rと設定すると、上記距離画像上における「右手」の水平方向への可動画素数Rmは、
Rm=2・R/h …(7)
となる。
Rm=2・R/h …(7)
となる。
ここで、Rm≧2xmであれば、上記距離画像上において、「右手」の水平方向への可動画素数が水平方向の画素数に等しいかあるいは上回っており、上記距離画像内における水平方向の全てが「右手」の水平方向への可動範囲内にあることを示している。
これに対し、Rm<2xmであれば、上記距離画像上において、「右手」の水平方向への可動画素数が水平方向の画素数を下回っており、「右手」の水平方向への可動範囲は上記距離画像内における水平方向に対して不足していることを示している。このことは、表示部7の表示画面上のポインタ14が、上記表示画面を水平方向の端までカバーできないことを示している。
尚、Rm<2xmの場合には、上記表示部7の表示画面上のポインタ14が、上記表示画面を水平方向の端までカバーできるようにするには、表示座標系での座標(X1,Y1)を夫々2xm/Rm倍してやれば良い。
そこで、本実施の形態においては、Rm≧2xmの場合であるか、Rm<2xmの場合であるかに拘わらす、以下の式(8)のごとく、表示座標系でのX座標「X1」を2xm/Rm倍して補正座標X1'を得るのである。
X1'=X1・2xm/Rm …(8)
X1'=X1・2xm/Rm …(8)
こうすることによって、上記距離画像上において、「右手」の水平方向への可動画素数は常に水平方向の画素数以上となり、上記距離画像内における水平方向の全てが「右手」の水平方向への可動範囲内にあることになる。すなわち、表示部7の表示画面上のポインタ14も上記表示画面の隅々までカバーできることになる。
以上のことより、上記式(3)と上記式(8)とから、関数f(z1)が式(9)のように定まる。
f(z1)=2xm/Rm …(9)
さらに、上記式(7)を用いて上記式(9)の関数f(z1)を式(10)のごとく変形できる。
f(z1)=2xm/(2・R/h)
=h・xm/R …(10)
但し、h=2・z・tan(θ/2)/(2xm)
f(z1)=2xm/Rm …(9)
さらに、上記式(7)を用いて上記式(9)の関数f(z1)を式(10)のごとく変形できる。
f(z1)=2xm/(2・R/h)
=h・xm/R …(10)
但し、h=2・z・tan(θ/2)/(2xm)
このようにして、上記式(10)と上記式(3)とから、次式(11)のごとく上記表示座標上の表示X座標の補正座標X1'が得られるのである。
X1'=(h・xm/R)・X1 …(11)
X1'=(h・xm/R)・X1 …(11)
図9に示すように、上記得られた補正座標X1'を上記表示座標上の表示X座標としてポインタ14を表示することによって、ポインタ14は、上記表示座標上において、操作者8の手の概略水平移動範囲内で水平方向に移動させることができるのである。
以上においては、上記表示座標上の表示X座標の補正座標X1'について述べたが、表示Y座標の補正座標Y1'についても同様に求めることができる。
すなわち、上記3次元カメラ1の垂直画角をθ'とし、距離zの位置における垂直方向の撮影長さをH'とすると、
H'=2・z・tan(θ'/2) …(12)
となる。
H'=2・z・tan(θ'/2) …(12)
となる。
その場合における上記距離画像の縦方向の表示画素単位で定義される長さは2ymであるから上記距離画像上における1画素当たりの撮影長さh'は、
h'=H'/(2ym) …(13)
となる。
h'=H'/(2ym) …(13)
となる。
以後、上記補正座標X1'算出時における3次元カメラ1の水平画角θを、垂直画角θ'に置き換え、距離zの位置における水平方向の撮影長さHを、垂直方向の撮影長さH'に置き換え、上記距離画像の横方向の表示画素単位での長さ2xmを、縦方向の表示画素単位での長さ2ymに置き換えることにより、上記式(4)〜上記式(11)から、関数f(z2)が次式(14)のごとく得られ、
f(z2)=2ym/(2・R/h')
=h'・ym/R …(14)
但し、h'=2・z・tan(θ'/2)/(2ym)
上記表示座標上の表示Y座標の補正座標Y1'が次式(15)のごとく得られる。
Y1'=(h'・ym/R)・Y1 …(15)
f(z2)=2ym/(2・R/h')
=h'・ym/R …(14)
但し、h'=2・z・tan(θ'/2)/(2ym)
上記表示座標上の表示Y座標の補正座標Y1'が次式(15)のごとく得られる。
Y1'=(h'・ym/R)・Y1 …(15)
図9に示すように、上記得られた補正座標Y1'を上記表示座標上の表示Y座標としてポインタ14を表示することによって、ポインタ14は、上記表示座標上において、操作者8の手の概略垂直移動範囲内で垂直方向に移動させることができるのである。
以上のことより、上記式(11)および上記(15)によって得られた上記表示座標上の補正座標(X1',Y1')の位置にポインタ14を表示すれば、表示部7の表示画面上における全ての位置にポインタ14を移動させることができるのである。
但し、上記式での計算結果の補正座標(X1',Y1')は、上記TV9の表示部7における画素位置に相当するので、整数に丸める必要がある。
上記ポインタ位置演算部5は、上記各式での演算を行って表示座標系での補正座標値を算出する。そして、表示制御部6によって、図9に示すように、上記得られた表示座標系での補正座標値に基づいて、TV9の表示部7における補正座標(X1',Y1')の位置にポインタ14を表示するのである。この場合におけるポインタ14の形状として「矢印」や「指」の形を用いる場合には、矢印および指の先端の点をポインタ14の位置とすることができる。
したがって、上記TV9を、図3に示すようなアイコン11およびサムネイル12を有するインターフェース上において、操作者8がジェスチャによって操作を行なう場合に、上記距離画像上における操作者8の「右手」の相対位置に対応する、TV9の表示部7上における原点に対する相対位置であって、3次元カメラ1と操作者8との距離に応じて表示画像内における全ての方向が「右手」の可動範囲内にあるように補正された位置に、ポインタ14を表示することが可能になる。
すなわち、上記実施の形態によれば、3次元カメラ1に対する操作者8の操作距離に関わらず表示部7上における全ての表示範囲にポインタ14を表示できることになり、ポインタ14で表示画面の隅々を指示できなくなることを低減できる。したがって、ポインタ14によるTV9の操作性を向上させることができるのである。
・第2実施の形態
本実施の形態の情報処理装置は、上記第1実施の形態における図1に示すブロック図と同様の構成を有している。したがって、各構成部には、上記第1実施の形態における図1と同じ番号を付して、詳細な説明は省略する。
本実施の形態の情報処理装置は、上記第1実施の形態における図1に示すブロック図と同様の構成を有している。したがって、各構成部には、上記第1実施の形態における図1と同じ番号を付して、詳細な説明は省略する。
但し、ポインタ位置演算部5は、その動作内容において、上記第1実施の形態とは異なる。そこで、以下においては、主にポインタ位置演算部5の動作について説明する。
3次元計測部2は、上記3次元カメラであるステレオカメラ1からの画像に基づいて図4(a)のような距離画像を得、この距離画像の上記距離データ等に基づいて、人物検出部3によって、図4(b)の人物抽出および図4(c)のスケルトンモデル生成を行う。
特徴点検出部4は、上記人物検出部3で生成された上記スケルトンモデルから、指定した特徴点を検出する。例えば、第1特徴点として「右手」を、第2特徴点として「頭」を予め指定しておくことによって、上記第1特徴点と上記第2特徴点とを検出する。既に述べたように、上記スケルトンモデルでは人物の左右各関節および関節間ボーンが認識されているので、上記指定した特徴点に該当する部分を検出することは容易である。さらに、上記特徴点検出部4は、3次元カメラ1から上記第1特徴点および上記第2特徴点までの距離を検出する。ここまでは、上記第1実施の形態の場合と同様である。
ポインタ位置演算部5は、上記特徴点検出部4によって検出された特徴点の一つを原点とした仮想領域座標を設定して、他の特徴点の位置を上記設定した原点に対する座標値で相対的に算出する。ここで、上記仮想領域座標として、例えば、図11に示すように、第2特徴点22である「頭」を原点とした、画素数が、縦2ym×横2xmである上記距離画像座標と同じ座標を考える。
そして、図10に示すように、上記3次元計測部2で得られた上記距離画像座標上における第1特徴点21である「右手」の座標(x1,y1)および第2特徴点22である「頭」の座標(x0,y0)を、図11に示す仮想領域座標上の座標に変換するのである。
その場合、上記距離画像座標上の第1特徴点21である「右手」の上記仮想領域座標上での座標(x2,y2)は、次式で求められる。
x2=(x1−x0)
y2=(y1−y0)
y2=(y1−y0)
以下、図11に示す仮想領域座標を、上記第1実施の形態における上記距離画像座標と見なすことによって、上記第1実施の形態の場合と同様にして、補正座標(X1',Y1')を求めるのである。
具体的には、上記第1実施の形態の図6における上記距離画像座標上の第1特徴点17である「右手」の座標(x1,y1)を、上記仮想領域座標上の座標(x2,y2)に置き換える。そうした後、上記第1実施の形態における上記式(1)〜上記(15)を演算するのである。
こうすることによって、上記距離画像上における操作者8の「頭」に対する「右手」の相対位置に対応する、TV9の表示部7上における原点に対する相対位置であって、且つ3次元カメラ1と操作者8との距離に応じて表示画像内における全ての方向が「右手」の可動範囲内にあるように補正された位置に、ポインタ14を表示することが可能になる。
すなわち、本第2実施の形態によれば、上記表示部7上における原点の周囲にポインタ14が表示されることになり、ポインタ14の表示位置が表示部7の表示画面内における一方に偏ることを低減できるのである。
ここで、第2実施の形態おいては、上記第2特徴点22である「頭」を上記表示座標の原点としている。その理由は、上記第1特徴点21である「手」(すなわち、ポインタ14の表示の元となるもの)の位置は概略人間の頭を中心に移動すると考えられ、「頭」を原点にすることによって、表示画面上でのポインタ14の位置は概略表示画面の中央部付近を中心とする位置になる。したがって、ポインタ14の位置が表示画面上で偏らず、視認性および操作性を良好にできるためである。
尚、上述の説明では、説明が煩雑になるために省略しているが、上記ポインタ位置演算部5は、上記表示座標の原点となる第2特徴点22「頭」の上記距離画像座標上での位置が移動した場合には、移動した後の上記距離画像座標上での位置に基づいて、上記仮想領域座標における新たな原点を設定するようになっている。
こうすることにより、ジェスチャを行っている操作者8の体が揺れたり、立ち位置が多少ずれたりしても、それに連れて表示部7に表示されるポインタ14の位置がずれることを抑制することができる。したがって、意図しないポインタ14の位置ずれを修正する必要性を少なくし、操作性を大幅に向上させることができる。
以上のごとく、上記各実施の形態においては、上記撮像部の一例としての3次元カメラ1で撮像した画像を、上記3次元処理部の一例としての3次元計測部2によって距離情報を含む画像として認識して(所謂3次元的に認識して)距離画像を生成する。そして、人物検出部3によって上記距離画像から人物部分をスケルトンモデルとして検出し、特徴点検出部4によって上記スケルトンモデル(人物部分)から、少なくとも1つの特徴点(特徴点「右手」)を検出すると共に、上記距離画像に基づいて上記特徴点「右手」と3次元カメラ1との距離を検出する。
そして、上記ポインタ位置演算部5によって、表示部7の表示範囲における中央を原点とすると共に、表示部7の表示画素単位で定義された2次元座標を設定し、上記距離画像上における上記特徴点「右手」の位置に対応する上記2次元座標上の座標値を演算し、この座標値を上記特徴点「右手」と3次元カメラ1との距離に基づいて補正する。そうした後、表示制御部6によって、上記得られた補正座標値に基づいて、表示部7にポインタ14を表示させる表示制御を行なうようにしている。
したがって、上記ポインタ位置演算部5によって、上記演算された座標値を、上記距離画像上に設定された上記特徴点「右手」の可動範囲と、上記特徴点「右手」と3次元カメラ1との距離とに基づいて補正することによって、TV9を、図3に示すようなアイコン11およびサムネイル12を有するインターフェースによって操作者8がジェスチャによって操作する場合に、3次元カメラ1と操作者8との距離に拘わらず、TV9の表示部7上における上記距離画像の上記可動範囲に対応する領域にポインタ14を移動させることができる。すなわち、上記実施の形態によれば、図3における表示部7の右上角の「TV電話」アイコンや、右下角の「テーブル」アイコンや、左上角の「1ch」サムネイルの位置に、ポインタ14を移動させることが可能になり、ポインタ14によるTV9の操作性を向上させることができるのである。
また、上記各実施の形態においては、上記ポインタ位置演算部は、演算した上記2次元座標上の座標値を、上記距離画像上に上記特徴点「右手」の可動範囲を設定し、この設定された上記可動範囲と、上記特徴点「右手」と3次元カメラ1との距離とに基づいて補正するようにしている。したがって、上記可動範囲を、上記距離画像上に設定された距離画像座標における水平方向(>垂直方向)への画素数以上になるように設定することにより、3次元カメラ1と操作者8との距離に拘わらず、TV9の表示部7上における全ての位置にポインタ14を移動させることが可能になる。
また、上記各実施の形態においては、上記特徴点検出部4は、上記人物検出部3によって検出された上記スケルトンモデル(人物部分)のうちの片方の手の位置を、上記特徴点として検出するようにしている。したがって、操作者8がジェスチャによって操作を行なう場合に通常用いる右手あるいは左手を、上記特徴点の一つとして検出することによって、操作性の向上を図ることができる。
また、上記第2実施の形態においては、上記特徴点検出部4によって複数の特徴点(第1特徴点「右手」と第2特徴点「頭」)を検出する。そして、ポインタ位置演算部5によって、上記特徴点の一つ(第2特徴点「頭」)を原点とする仮想領域座標を設定し、上記他の特徴点(第1特徴点「右手」)の上記仮想領域座標上の原点に対する相対位置に対応する上記2次元座標上の座標値を演算し、この座標値を上記特徴点「右手」と3次元カメラ1との距離に基づいて補正する。そうした後に、表示制御部6によって、上記得られた補正座標値に基づいて、表示部7にポインタ14を表示させる表示制御を行なうようにしている。
したがって、上記距離画像上における操作者8の「頭」に対する「右手」の相対位置に対応する、TV9の表示部7上における原点に対する相対位置であって、且つ3次元カメラ1と操作者8との距離に応じて補正された位置に、ポインタ14を表示することができる。
すなわち、本第2実施の形態によれば、上記表示部7上における原点の周囲にポインタ14が表示されることになり、ポインタ14の表示位置が表示部7の表示画面内における一方に偏ることを低減できるのである。
また、上記各実施の形態においては、上記3次元カメラ1として、2次元カメラを2個用いたステレオカメラを用いている。したがって、通常3次元カメラとしてよく使用されるステレオカメラを用いることによって、3次元カメラ1を簡単に精度よく構成することができる。
尚、上記各実施の形態においては、上記表示部7の表示画面上のポインタ14が上記表示画面を水平方向の端までカバーできるようにするため、表示座標系での座標(X1,Y1)を夫々2xm/Rm倍にする補正を行うようにしている。これは、上記距離画像の表示範囲が、垂直方向よりも水平方向への長さが大きいことに起因している。したがって、上記距離画像の表示範囲が、水平方向よりも垂直方向への長さが大きい場合には、表示座標系での座標(X1,Y1)を夫々2ym/Rm倍に補正する必要がある。
要は、上記距離画像上に設定された上記距離画像座標において、上記「縦2ym画素」と「横2xm画素」とのうちの値が大きい方の画素数(つまり上記距離画像座標における垂直方向の幅と水平方向の幅とのうちの大きい方の幅)をRmで割った値を、座標値X1,Y1の夫々に乗ずればよいのである。
1…3次元カメラ、
2…3次元計測部、
3…人物検出部、
4…特徴点検出部、
5…ポインタ位置演算部、
6…表示制御部、
7…表示部、
8…操作者、
9…TV、
11…アイコン、
12…サムネイル、
13…選択画像、
14…ポインタ、
16…操作者スケルトン、
17,21…第1特徴点、
18,22…第2特徴点。
2…3次元計測部、
3…人物検出部、
4…特徴点検出部、
5…ポインタ位置演算部、
6…表示制御部、
7…表示部、
8…操作者、
9…TV、
11…アイコン、
12…サムネイル、
13…選択画像、
14…ポインタ、
16…操作者スケルトン、
17,21…第1特徴点、
18,22…第2特徴点。
Claims (6)
- 撮像部と、
上記撮像部によって取得された画像を、距離情報を含む画像として認識する3次元処理部と、
上記3次元処理部によって認識された画像から人物部分を検出する人物検出部と、
上記人物検出部によって検出された人物部分から少なくとも1つの特徴点を検出すると共に、上記3次元処理部によって認識された画像に基づいて上記特徴点と上記撮像部との間の距離を検出する特徴点検出部と、
上記特徴点検出部によって検出された上記特徴点で指定される位置にポインタを表示する表示部と、
上記表示部の表示領域上に2次元座標を設定すると共に、上記3次元処理部で認識された画像上における上記特徴点の位置に対応する上記2次元座標上の座標値を演算し、この座標値を上記特徴点と上記撮像部との間の距離に基づいて補正し、得られた補正座標値を上記表示領域上における上記ポインタの位置とするポインタ位置演算部と、
上記ポインタ位置演算部によって算出された補正座標値に基づいて、上記表示部の表示領域上に上記ポインタを表示させる表示制御部と
を備えたことを特徴とする情報処理装置。 - 請求項1に記載の情報処理装置において、
上記ポインタ位置演算部によって行われる上記補正座標値の演算は、上記3次元処理部により認識された画像上に上記特徴点の可動範囲を設定し、この設定された上記可動範囲と、上記特徴点と上記撮像部との間の距離とに基づいて行われる
ことを特徴とする情報処理装置。 - 請求項2に記載の情報処理装置において、
上記可動範囲は、上記3次元処理部によって認識された画像における垂直方向の画素数および水平方向の画素数のうちの大きい方の画素数以上である
ことを特徴とする情報処理装置。 - 請求項1から請求項3までの何れか一つに記載の情報処理装置において、
上記特徴点検出部によって検出される上記特徴点は、上記人物検出部によって検出された人物部分の片方の手である
ことを特徴とする情報処理装置。 - 請求項1から請求項4までの何れか一つに記載の情報処理装置において、
上記特徴点検出部は、複数の特徴点、および、上記各特徴点と上記撮像部との間の距離を検出するようになっており、
上記ポインタ位置演算部は、上記特徴点検出部により検出された上記複数の特徴点の一つを原点とする仮想領域座標を設定すると共に、他の特徴点の上記仮想領域座標上の原点に対する相対位置に対応する上記2次元座標上の座標値を演算し、この座標値を上記他の特徴点と上記撮像部との間の距離に基づいて補正し、得られた補正座標値を上記表示領域上における上記ポインタの位置とするようになっている
ことを特徴とする情報処理装置。 - 請求項1から請求項5までの何れか一つに記載の情報処理装置において、
上記撮像部は、2次元カメラを2個用いたステレオカメラである
ことを特徴とする情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012147522A JP2014010684A (ja) | 2012-06-29 | 2012-06-29 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012147522A JP2014010684A (ja) | 2012-06-29 | 2012-06-29 | 情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014010684A true JP2014010684A (ja) | 2014-01-20 |
Family
ID=50107325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012147522A Pending JP2014010684A (ja) | 2012-06-29 | 2012-06-29 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014010684A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019200502A (ja) * | 2018-05-15 | 2019-11-21 | Kddi株式会社 | ユーザの注視点を推定する注視点推定装置、プログラム及び方法 |
-
2012
- 2012-06-29 JP JP2012147522A patent/JP2014010684A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019200502A (ja) * | 2018-05-15 | 2019-11-21 | Kddi株式会社 | ユーザの注視点を推定する注視点推定装置、プログラム及び方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5762892B2 (ja) | 情報表示システム、情報表示方法、及び情報表示用プログラム | |
JP5936155B2 (ja) | 3次元ユーザインタフェース装置及び3次元操作方法 | |
US8350896B2 (en) | Terminal apparatus, display control method, and display control program | |
US8861797B2 (en) | Calibrating vision systems | |
US11029766B2 (en) | Information processing apparatus, control method, and storage medium | |
US20150262002A1 (en) | Gesture recognition apparatus and control method of gesture recognition apparatus | |
KR20140136943A (ko) | 정보 처리 장치, 정보 처리 시스템, 및 정보 처리 방법 | |
US10168773B2 (en) | Position locating method and apparatus | |
EP2947549A1 (en) | Apparartus and method for navigating through volume image | |
JP2017191492A (ja) | 情報処理装置、情報処理方法および映像生成システム | |
JP2020068513A5 (ja) | 画像処理装置およびその制御方法、プログラム | |
JPWO2017057106A1 (ja) | 入力装置、入力方法、及びプログラム | |
JP2012238293A (ja) | 入力装置 | |
CN114047831B (zh) | 直接三维指向的计算系统和追踪指向/输入装置的方法 | |
KR101426378B1 (ko) | 깊이 정보를 이용한 프레젠테이션 이벤트 처리 장치 및 방법 | |
JPWO2018150569A1 (ja) | ジェスチャー認識装置、ジェスチャー認識方法、ジェスチャー認識装置を備えたプロジェクタおよび映像信号供給装置 | |
WO2011096571A1 (ja) | 入力装置 | |
JP2010272078A (ja) | 電子情報ボードシステム、電子情報ボード制御装置およびカーソル制御方法 | |
JP2013257830A (ja) | 情報処理装置 | |
JP2014010684A (ja) | 情報処理装置 | |
US20140043443A1 (en) | Method and system for displaying content to have a fixed pose | |
JP2018055685A (ja) | 情報処理装置、その制御方法、プログラム、および記憶媒体 | |
JP2013109538A (ja) | 入力方法及び入力装置 | |
JP2017049662A (ja) | 情報処理装置、その制御方法、プログラム、及び記憶媒体 | |
JP6373546B2 (ja) | 情報処理装置、情報処理方法、及びプログラム |