(57)【要約】  モーションセンサ２による検出結果から操作者の特徴点の位置を検出する操作者検出部３１と、操作者検出部３１により検出された操作者の特徴点のうち、動作点及び基点となる特徴点の位置を抽出する特徴点抽出部３１と、特徴点抽出部３１により抽出された動作点及び基点の位置を結ぶ線分と、基準軸とのなす水平方向及び垂直方向の角度を算出する角度算出部３２と、角度算出部３２により算出された角度を、カーソルの位置に変換する変換部３３とを備えた。
2016051520.tif 000002
【特許請求の範囲】
【請求項１】
特徴点検出センサにより検出された３次元空間内における人の特徴点の位置を用いて、モニタに表示された画面上のカーソルの位置を制御するカーソル制御装置において、
前記特徴点検出センサによる検出結果から操作者の特徴点の位置を検出する操作者検出部と、
前記操作者検出部により検出された操作者の特徴点のうち、動作点及び基点となる特徴点の位置を抽出する特徴点抽出部と、
前記特徴点抽出部により抽出された動作点及び基点の位置を結ぶ線分と、基準軸とのなす水平方向及び垂直方向の角度を算出する角度算出部と、
前記角度算出部により算出された角度を、前記カーソルの位置に変換する変換部とを備えた
ことを特徴とするカーソル制御装置。
【請求項２】
前記角度算出部により算出された今回の角度が、前の角度に対して閾値内である場合に、当該今回の角度を当該前の角度に置き換えるフィルタ部を備えた
ことを特徴とする請求項１記載のカーソル制御装置。
【請求項３】
前記特徴点抽出部は、前記基点の位置が抽出できなくなった場合に、当該基点が前記動作点に重なったと判断して当該基点の位置を推定する
ことを特徴とする請求項１記載のカーソル制御装置。
【請求項４】
前記特徴点抽出部は、基点となる特徴点の位置を複数抽出し、
前記変換部は、前記角度算出部により算出された複数組の角度のうち、角度変化の大きい角度を用いる
ことを特徴とする請求項１記載のカーソル制御装置。
【請求項５】
特徴点検出センサにより検出された３次元空間内における人の特徴点の位置を用いて、モニタに表示された画面上のカーソルの位置を制御するカーソル制御方法において、
操作者検出部が、前記特徴点検出センサによる検出結果から操作者の特徴点の位置を検出する操作者検出ステップと、
特徴点抽出部が、前記操作者検出部により検出された操作者の特徴点のうち、動作点及び基点となる特徴点の位置を抽出する特徴点抽出ステップと、
角度算出部が、前記特徴点抽出部により抽出された動作点及び基点の位置を結ぶ線分と、基準軸とのなす水平方向及び垂直方向の角度を算出する角度算出ステップと、
変換部が、前記角度算出部により算出された角度を、前記カーソルの位置に変換する変換ステップとを有する
ことを特徴とするカーソル制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、特徴点検出センサにより検出された３次元空間内における人の特徴点の位置を用いて、モニタに表示された画面上のカーソルの位置を制御するカーソル制御装置及びカーソル制御方法に関するものである。
【背景技術】
【０００２】
従来から、モニタ（例えば展示会向けの大型ディスプレイ）に表示された画面に対し、操作者がジェスチャを行うことで、当該画面上のカーソルを動かして操作を行うシステムが知られている（例えば特許文献１参照）。【０００３】
このシステムでは、例えばモーションセンサ（特徴点検出センサ）を用い、ある決められた３次元空間において、操作者の特徴点（例えば手）の位置（空間座標値）を検出している。そして、この手の空間座標値を、モニタに表示された画面上の２次元座標（モニタ座標）に対応させることで、カーソルの位置を設定している。具体的には、例えば図８に示すように、ｘ座標については、空間座標の最小値ｘ１をモニタ座標の最小値ｘｍｉｎに対応させ、空間座標の最大値ｘ２をモニタ座標の最大値ｘｍａｘに対応させる。また、ｙ座標についても同様に、空間座標の最小値ｙ１をモニタ座標の最小値ｙｍｉｎに対応させ、空間座標の最大値ｙ２をモニタ座標の最大値ｙｍａｘに対応させる。このようにしてカーソルの位置を設定することで、操作者が手を動かすことにより、モニタに表示された画面上のカーソルを動かすことができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１４３１４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述したように、従来技術では、操作者の手の空間座標値をモニタ座標に対応させている。よって、操作者の手の水平方向、垂直方向における移動量に応じて、画面上のカーソルが移動することになる。しかしながら、この場合には、操作者の体格によって操作負担が異なるという課題があった。すなわち、体格の小さい操作者の場合には、体格の大きい操作者に対して、より大きなジェスチャが必要となり、身体的負担が大きくなる。【０００６】
この発明は、上記のような課題を解決するためになされたもので、操作者の体格差に依存することなく、カーソルの位置を制御することができるカーソル制御装置及びカーソル制御方法を提供することを目的としている。
【課題を解決するための手段】
【０００７】
この発明に係るカーソル制御装置は、特徴点検出センサによる検出結果から操作者の特徴点の位置を検出する操作者検出部と、操作者検出部により検出された操作者の特徴点のうち、動作点及び基点となる特徴点の位置を抽出する特徴点抽出部と、特徴点抽出部により抽出された動作点及び基点の位置を結ぶ線分と、基準軸とのなす水平方向及び垂直方向の角度を算出する角度算出部と、角度算出部により算出された角度を、カーソルの位置に変換する変換部とを備えたものである。【０００８】
この発明に係るカーソル制御方法は、操作者検出部が、特徴点検出センサによる検出結果から操作者の特徴点の位置を検出する操作者検出ステップと、特徴点抽出部が、操作者検出部により検出された操作者の特徴点のうち、動作点及び基点となる特徴点の位置を抽出する特徴点抽出ステップと、角度算出部が、特徴点抽出部により抽出された動作点及び基点の位置を結ぶ線分と、基準軸とのなす水平方向及び垂直方向の角度を算出する角度算出ステップと、変換部が、角度算出部により算出された角度を、カーソルの位置に変換する変換ステップとを有するものである。
【発明の効果】
【０００９】
この発明によれば、上記のように構成したので、操作者の体格差に依存することなく、カーソルの位置を制御することができる。
【図面の簡単な説明】
【００１０】
【図１】この発明の実施の形態１に係るカーソル制御装置を含むシステム全体の構成を示す図である。
【図２】この発明の実施の形態１に係るカーソル制御装置の動作を示すフローチャートである。
【図３】この発明の実施の形態１に係るカーソル制御装置の動作を説明する図であり、（ａ）水平方向の角度θｘ＝０の場合を示す図であり、（ｂ）垂直方向の角度θｙ＝０の場合を示す図であり、（ｃ）（ａ），（ｂ）の場合における画面上のカーソル位置を示す図である。
【図４】この発明の実施の形態１に係るカーソル制御装置の動作を説明する図であり、（ａ）水平方向の角度θｘ＝θｘ１の場合を示す図であり、（ｂ）垂直方向の角度θｙ＝０の場合を示す図であり、（ｃ）（ａ），（ｂ）の場合における画面上のカーソル位置を示す図である。
【図５】この発明の実施の形態１に係るカーソル制御装置の動作を説明する図であり、（ａ）水平方向の角度θｘ＝θｘ１の場合を示す図であり、（ｂ）垂直方向の角度θｙ＝−θｙ１の場合を示す図であり、（ｃ）（ａ），（ｂ）の場合における画面上のカーソル位置を示す図である。
【図６】この発明の実施の形態１に係るカーソル制御装置の効果を説明する図である。
【図７】この発明の実施の形態１に係るカーソル制御装置における座標オフセットを説明する図である。
【図８】従来のカーソル制御を説明する図であり、（ａ）空間座標を示す図であり、（ｂ）モニタ座標を示す図である。
【発明を実施するための形態】
【００１１】
以下、この発明の実施の形態について図面を参照しながら詳細に説明する。
実施の形態１．
図１はこの発明の実施の形態１に係るカーソル制御装置３を含むシステム全体の構成を示す図である。
図１に示すシステムでは、モニタ１、モーションセンサ（特徴点検出センサ）２及びカーソル制御装置３が設けられている。
【００１２】
モニタ１は、各種コンテンツ（画面）を表示するものである。
モーションセンサ２は、所定のサンプリング間隔で、３次元空間内における人の特徴点の位置（空間座標値）を検出するものであり、モニタ１に表示された画面を操作する操作者を検出することができる場所に設置される。このモーションセンサ２は、予め決められた空間内を撮像してカラー画像を取得するカメラと、上記空間内に存在する物体の深度を検出する深度センサとを有している。また、人のシルエットに対して各特徴点（頭部、肩、手、腰、足等）の位置を示すモデルを保持するデータベースも有している。そして、モーションセンサ２では、カメラにより撮像されたカラー画像と深度センサによる検出結果から上記空間内に存在する物体のシルエットを抽出する。そして、このシルエットをデータベースに保持されたモデルとマッチングさせることで、人を検出し、当該人の特徴点の位置を検出する。
【００１３】
カーソル制御装置３は、モーションセンサ２により検出された３次元空間内における人の特徴点の位置を用いて、モニタ１に表示された画面上のカーソルの位置を制御するものである。このカーソル制御装置３は、図１に示すように、操作者検出部３１、特徴点抽出部３２、角度算出部３３及び変換部３４を有している。なお、カーソル制御装置３は、ソフトウェアに基づくＣＰＵを用いたプログラム処理によって実行される。
【００１４】
操作者検出部３１は、モーションセンサ２による検出結果から操作者の特徴点の位置を検出するものである。なお、操作者検出部３１は、検出した操作者の特徴点の位置を逐一記憶する機能を有している。
【００１５】
また、例えば展示会で本システムを用いる場合には、モーションセンサ２が検出を行う空間内には多くの人が存在することが想定される。そこで、操作者検出部３１は、操作者と認識した人のみを追従する機能を有している。
この機能では、上記空間内の所定位置（例えば真ん中）に来た人を操作者と認識して追従する。具体的には、まず、操作者を検出する範囲を上記空間の一部の範囲（例えば真ん中）に限定する。そして、この検出範囲内に入った人を操作者として認識する。その後、検出範囲を上記空間全体に広げ、当該操作者の動きを追従し続ける。以後、他の人が検出範囲内に入ったとしても、操作者が検出範囲内にいる限りは、操作権を譲渡しない。その後、操作者が検出範囲の外に出た場合には、操作権を放棄したものとみなす。そして、再び検出範囲を狭め、新たな操作者の認識を待つ。
【００１６】
また、上記検出範囲内で他の人に操作権を譲渡する機能を付加してもよい。この場合、操作者を認識後に他の人が検出範囲に入り、双方が予め決められたジェスチャ（握手、手を振る等）を行う。これにより、操作権の譲渡を認める。
【００１７】
特徴点抽出部３２は、操作者検出部３１により検出された操作者の特徴点のうち、動作点となる特徴点（画面上のカーソルに対応する特徴点）の位置と、基点となる特徴点（動作点に対して軸となる特徴点）の位置とを抽出するものである。
【００１８】
角度算出部３３は、特徴点抽出部３２により抽出された動作点及び基点の位置を結ぶ線分と、基準軸とのなす水平方向及び垂直方向の角度を算出するものである。なお、基準軸は、動作点及び基点とは独立に設定してもよいし、関連させてもよい。
【００１９】
変換部３４は、角度算出部３３により算出された角度を、カーソルの位置に変換するものである。
【００２０】
次に、上記のように構成されたカーソル制御装置３の動作について、図２〜５を参照しながら説明する。なお以下では、操作者がモーションセンサ２の前で手を動かすことで、モニタ１に表示された画面上のカーソルを移動させる場合を例に説明を行う。また、モーションセンサ２は、所定のサンプリング間隔で、３次元空間内における人の特徴点の位置を検出している。
【００２１】
カーソル制御装置３の動作では、図２に示すように、まず、操作者検出部３１は、モーションセンサ２による検出結果から操作者の特徴点の位置を検出する（ステップＳＴ１、操作者検出ステップ）。
【００２２】
次いで、特徴点抽出部３２は、操作者検出部３１により検出された操作者の特徴点のうち、動作点及び基点となる特徴点の位置を抽出する（ステップＳＴ２、特徴点抽出ステップ）。図３〜５では、動作点は操作者の手であり、基点は操作者の頭部としている。
【００２３】
次いで、角度算出部３３は、特徴点抽出部３２により抽出された動作点及び基点の位置を結ぶ線分と、基準軸とのなす水平方向及び垂直方向の角度を算出する（ステップＳＴ３〜５、角度算出ステップ）。例えば図３〜５では、操作者の頭部とモーションセンサ２のセンサ位置とを結ぶ線（Ｚ軸）を基準軸としている。そして、角度算出部３３は、手と頭部の位置を結ぶ線分と基準軸とのなす水平方向（ＸＺ成分）の角度θｘ及び垂直方向（ＹＺ成分）の角度θｙを算出する。
【００２４】
次いで、変換部３４は、角度算出部３３により算出された角度を、カーソルの位置に変換する（ステップＳＴ６、変換ステップ）。この際、図３〜５に示すように、変換部３４は、例えば水平方向の角度θｘ＝０の場合をモニタ座標の中心値ｘｃに対応させ、予め決められた正方向（図の右側）の最大角度θｘ＝θｘ１をモニタ座標の最大値ｘｍａｘに対応させ、予め決められた負方向（図の左側）の最大角度θｘ＝−θｘ１をモニタ座標の最小値ｘｍｉｎに対応させる。同様に、例えば、垂直方向の角度θｙ＝０の場合をモニタ座標の中心値ｙｃに対応させ、予め決められた負方向（図の下側）の最大角度θｙ＝−θｙ１をモニタ座標の最大値ｙｍａｘに対応させ、予め決められた正方向（図の上側）の最大角度θｙ＝θｙ２をモニタ座標の最小値ｙｍｉｎに対応させる。なお、最大角度以上に手を動かした場合にはモニタ座標の極値（最大値、最小値）に対応させる。なお図３は、手と頭部とを結ぶ線分と基準軸とのなす角度がθｘ＝０，θｙ＝０の場合でのカーソル１０１の位置を示している。また図４は、上記角度がθｘ＝θｘ１，θｙ＝０の場合でのカーソル１０１の位置を示している。また図５は、上記角度がθｘ＝θｘ１，θｙ＝−θｙ１の場合でのカーソル１０１の位置を示している。
【００２５】
次に、本発明の効果について、図６を用いて従来技術の場合と比較しながら説明する。以下では、操作者が手を水平方向に動かして、モニタ１に表示された画面上のカーソルを横に移動させる場合を例に説明を行う。
【００２６】
まず、従来技術の場合には、モーションセンサ２により検出された手の空間座標値をモニタ座標に変換している。
この手法では、図６に示すように、腕の長さがＬ１の場合には、ある角度θｘだけ手を動かすと、手の水平方向の移動距離はＸ１となり、次式（１）よりカーソルの移動量はＭ１となる。なお、αは係数である。
Ｍ１＝αＸ１      （１）
【００２７】
一方、腕の長さがＬ２（＞Ｌ１）の場合には、ある角度θｘだけ手を動かすと、手の水平方向の移動距離はＸ２（＞Ｘ１）となり、次式（２）よりカーソルの移動量はＭ２（＞Ｍ１）となる。
Ｍ２＝αＸ２      （２）
したがって、操作者の体格によってカーソルの移動量が変わり、操作負担が変わることになる。
【００２８】
これに対し、本発明の場合には、モーションセンサ２により検出された動作点（手）と基点（頭部）とを結ぶ線分と、基準軸とのなす水平方向及び垂直方向の角度を、モニタ座標に変換している。
この手法では、図６に示すように、手を動かす角度θｘによってカーソルの移動量Ｍ３が決まるため、腕の長さがＬ１であってもＬ２であってもカーソルの移動量Ｍ３は変化せず、操作負担は変わらない。なお、この場合でのカーソルの移動量Ｍ３は次式（３）となる。ここで、Ｄは手を動かす最大角度であり、Ｐは画面上の最大距離のピクセル数である。
Ｍ３＝（θｘ／Ｄ）×Ｐ      （３）
【００２９】
以上のように、この実施の形態１によれば、モーションセンサ２による検出結果から操作者の特徴点の位置を検出する操作者検出部３１と、操作者検出部３１により検出された操作者の特徴点のうち、動作点及び基点となる特徴点の位置を抽出する特徴点抽出部３２と、特徴点抽出部３２により抽出された動作点及び基点の位置を結ぶ線分と、基準軸とのなす水平方向及び垂直方向の角度を算出する角度算出部３３と、角度算出部３３により算出された角度を、カーソルの位置に変換する変換部３４とを備えたので、操作者の体格差に依存することなく画面上のカーソル位置を制御することができ、どんな操作者でも同じ操作体験を得ることができる。
【００３０】
なお上記では、動作点を操作者の手とした場合について示したが、これに限るものではなく、操作者の他の特徴点（指先等）であってもよい。また上記では、基点を操作者の頭部とした場合について示したが、これに限るものではなく、動作点に対して軸となる点であればよく、操作者の他の特徴点（肩、肘、首の付け根、腕の付け根等）であってもよい。
【００３１】
また、例えば、モーションセンサ２により操作者の手（動作点）と肩（基点）の位置を検出する場合、手の位置によっては肩が手で隠れてしまい、肩の位置を検出できない場合がある。そこで、このような場合に、特徴点抽出部３２が、肩が手に重なったと判断して当該肩の位置を推定するようにしてもよい。この際の推定方法としては、例えば、肩が手に重なる直前の肩の位置から推定する方法や、肩が手に重なる前後の肩の位置からその中心位置とする方法、手と重ならない操作者の他の特徴点（例えば頭部等）の位置からデータベースに保持されたモデルに従い肩の位置を推定する方法等が考えられる。
【００３２】
また、特徴点抽出部３２は、操作者検出部３１により操作者が認識された際に、その操作者の各特徴点（頭部、手、肘、肩、腰等）の位置関係から、隣接する特徴点を結ぶ線分の長さを記憶する。その後、各特徴点の動きを処理毎（１フレーム毎）に記憶する。そして、いずれかの特徴点が認識できない場合に、直前の数フレームでの各特徴点の位置を示す変化と、初めに記憶した各特徴点を結ぶ線分の長さから、その特徴点の位置を推定するようにしてもよい。
【００３３】
また上記では、特徴点抽出部３２が１つの基点の位置を抽出する場合を示した。しかしながら、これに限るものではなく、複数の基点の位置を抽出するようにしてもよい。複数の基点の位置を抽出することで、操作者の障害や癖、操作疲れ等を考慮してカーソル制御を行うことができる。
例えば、手を前方に動かす場合、肩を軸にして手を動かす人の他に、肘を軸にして手を動かす人もいる。そのため、手と肩の位置のみを抽出する場合、肘を軸にして手を動かす人については、操作者が意図する角度変化より検出結果が小さくなる場合がある。そこで、特徴点抽出部３２が複数の基点の位置を抽出し、変換部３４が、角度算出部３３により算出された複数組の角度のうち、角度変化の大きい角度を用いるように構成してもよい。
【００３４】
また、ジェスチャによるカーソル制御では、操作者の手を静止させることが難しいため、カーソルを静止させることは難しい。そこで、カーソル制御装置３にフィルタ部を追加し、角度算出部３３により算出された今回の角度が、前の角度（１〜数フレーム前の角度等）に対して閾値内である場合に、当該今回の角度を当該前の角度に置き換えるようにしてもよい。これにより、手のブレ等の閾値内の動作については、ノイズであるとして除外し、カーソルを静止させることができる。
【００３５】
また上記では、特徴点検出センサとしてモーションセンサ２を用いた場合について示した。しかしながら、これに限るものではなく、３次元空間における人の特徴点の位置を検出することができるセンサであればよい。
【００３６】
また、角度算出部３３による処理において、特徴点、基準軸の位置をオフセットさせてもよい。これにより、例えば、操作者の障害や癖、操作疲れ等を考慮することができ、操作性が向上する。図７の例では、何らかの要因により手を大きく上側に動かせない操作者のため、基点（頭部）及び基準軸の位置を下方向にオフセットした場合を示している。符号１０２がオフセット後の仮想の頭部の位置を示し、破線の軸がオフセット後の仮想の基準軸の位置を示している。なお、このオフセット設定は、画面操作を開始する前に設定してもよいし、画面操作中に変更するようにしてもよい。
【００３７】
また上記では、展示会向けの大型ディスプレイ（モニタ１）の画面に対し、操作者がジェスチャを行うことで、画面上のカーソルを動かして操作を行うシステムを想定して説明を行った。しかしながら、これに限るものではなく、モニタ１に表示される画面に対し、操作者がジェスチャを行うことで、画面上のカーソルを動かして操作を行うシステムであれば、本発明を適用可能であり、同様の効果を得ることができる。
例えば、工場で作業員が作業手袋をはめたままパソコン上の作業手順書を確認する場合、キーボードに触れることができないため、ジェスチャにより操作する方法が考えられる。このような場合にも本発明を適用でき、例えば動作点を指先とし、基点を掌とすることで、同様の効果を得ることができる。
【００３８】
また、本願発明はその発明の範囲内において、実施の形態の任意の構成要素の変形、もしくは実施の形態の任意の構成要素の省略が可能である。
【産業上の利用可能性】
【００３９】
この発明に係るカーソル制御装置は、操作者の体格差に依存しない操作性を実現することができ、特徴点検出センサにより検出された３次元空間における人の特徴点の位置を用いて、モニタに表示された画面上のカーソルの位置を制御するカーソル制御装置等に用いるのに適している。
【符号の説明】
【００４０】
１  モニタ、２  モーションセンサ（特徴点検出センサ）、３  カーソル制御装置、３１  操作者検出部、３２  特徴点抽出部、３３  角度算出部、３４  変換部。
【図１】
2016051520.tif 000003
【図２】
2016051520.tif 000004
【図３】
2016051520.tif 000005
【図４】
2016051520.tif 000006
【図５】
2016051520.tif 000007
【図６】
2016051520.tif 000008
【図７】
2016051520.tif 000009
【図８】
2016051520.tif 000010
【国際調査報告】
2016051520.tif 000011
2016051520.tif 000012
2016051520.tif 000013
2016051520.tif 000014