JP2017211960A - ユーザインターフェース装置およびユーザインターフェースプログラム - Google Patents

ユーザインターフェース装置およびユーザインターフェースプログラム Download PDF

Info

Publication number
JP2017211960A
JP2017211960A JP2016106855A JP2016106855A JP2017211960A JP 2017211960 A JP2017211960 A JP 2017211960A JP 2016106855 A JP2016106855 A JP 2016106855A JP 2016106855 A JP2016106855 A JP 2016106855A JP 2017211960 A JP2017211960 A JP 2017211960A
Authority
JP
Japan
Prior art keywords
user interface
speed
pass filter
low
operator
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
Application number
JP2016106855A
Other languages
English (en)
Inventor
渉 岸本
Wataru Kishimoto
渉 岸本
アレクシィ ゼログ
Zerroug Alexis
アレクシィ ゼログ
前田 泰久
Yasuhisa Maeda
泰久 前田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EXVISION Inc
Original Assignee
EXVISION Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by EXVISION Inc filed Critical EXVISION Inc
Priority to JP2016106855A priority Critical patent/JP2017211960A/ja
Publication of JP2017211960A publication Critical patent/JP2017211960A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Analysis (AREA)

Abstract

【課題】ジェスチャ認識を用いたユーザインターフェースにおいて、追従性と位置精度との両立を図る。【解決手段】対象物検出部3bは、センサによって時系列的に取得されたフレーム単位のセンサ画像のそれぞれにおいて、操作者の手を検出する。ローパスフィルタ3cは、手の検出位置に基づき特定される位置データを時間的に遅延させながら、位置データの現在値および少なくとも一つの遅延値のそれぞれにフィルタ係数を乗じた上で加算するローパスフィルタ処理を行い、デバイスの操作領域上における操作子の指示位置として出力する。速度算出部3eは、ローパスフィルタ処理が施される前の位置データのフレーム間の変化に基づいて、対象物の速度を算出する。フィルタ設定部3fは、速度算出部3eによって算出された速度に応じて、ローパスフィルタ処理のカットオフ周波数が変化するように、ローパスフィルタ3cのフィルタ係数を可変に設定する。【選択図】図2

Description

本発明は、ユーザインターフェース装置およびユーザインターフェースプログラムに係り、特に、ジェスチャ認識を用いたユーザインターフェースに関する。
従来より、ジェスチャ認識を用いた様々なユーザインターフェースが提案されている。例えば、特許文献1には、CCDカメラによって撮像された画像に基づき操作者の片手を認識し、認識された片手の動き(手振り)に応じて、カーソルにてアイコン選択を行うインターフェース装置が開示されている。また、特許文献2には、カメラによって操作者の両手を撮像し、撮像画像より認識された両手の動きに応じて、カーソルの移動やオブジェクトの選択といった操作を行う情報入力装置が開示されている。具体的には、選択領域内における一方の手の指の動きに応じてカーソルを移動させ、他方の手のひらの開閉によって、このカーソルによって選択されたアイコンのクリック等が行われる。
また、操作者によって操作される物体の位置、姿勢および形状を推定する手法には様々なものが存在するが、いずれの手法でも推定結果には誤差が発生する。このような推定誤差を除去するための手法の一つとして、線形IIRフィルタをはじめとする、構成要素に再帰的構造を持つデジタルフィルタリングを行う方法が知られている。
特開2004−078977号公報 特開2014−071672号公報
ところで、ジェスチャ認識では、操作者の操作に対する追従性が高いことと、操作者の操作を精度よく推定できることとが求められる。前者については、操作者が実際に手などを動かしてから、操作子(カーソルなど)が応答するまでの遅延時間が短いほど、操作者は素早さや快適さを感じることからも明らかなように、ユーザインターフェースの操作性に大きな影響を及ぼす要因となる。また、後者については、例えば、操作者が自由空間上で手などを静止させている場合、実際には意図しない微少な動きが存在しても操作子を静止させ続けることが、操作者の意図に即した動作となる。特に、表示画面上に並んでいる選択可能なオブジェクトが小さくなるほど、操作者の意図を適切に推定し、高い精度で操作子の位置決めを行うことが重要になる。しかしながら、追従性と位置精度とはトレードオフの関係にあるので、両者を両立させることは容易ではない。
本発明は、かかる事情に鑑みてなされたものであり、その目的は、ジェスチャ認識を用いたユーザインターフェースにおいて、追従性と位置精度との両立を図ることである。
かかる課題を解決すべく、第1の発明は、デバイスを操作する操作子の動きを、自由空間上における操作者のジェスチャに追従させるユーザインターフェース装置を提供する。このユーザインターフェース装置は、対象物検出部と、ローパスフィルタと、速度算出部と、フィルタ設定部とを有する。対象物検出部は、センサによって時系列的に取得されたフレーム単位のセンサ画像のそれぞれにおいて、操作者によって操作される所定の対象物を検出する。ローパスフィルタは、対象物検出部によって検出された対象物の検出位置に基づき特定される位置データにFIRフィルタまたはIIRフィルタによるローパスフィルタ処理を行い、デバイスの操作領域上における操作子の指示位置として出力する。速度算出部は、対象物の速度を算出する。フィルタ設定部は、速度算出部によって算出された対象物の速度に応じて、ローパスフィルタ処理のカットオフ周波数が連続的に変化するように、ローパスフィルタのフィルタ係数を可変に設定する。
ここで、第1の発明において、上記カットオフ周波数は、対象物の速度が大きくなるに従って連続的に増加することが好ましい。この場合、上記カットオフ周波数は、対象物の速度が第1の値以下の場合、所定の下限値に維持されると共に、対象物の速度が第2の値以上の場合、所定の上限値に維持されることが好ましい。また、上記速度算出部は、ローパスフィルタ処理が施される前の位置データとして、対象物検出部によって検出された対象物の検出位置に含まれるノイズ成分をフィルタ処理によって除去したデータを用いることが望ましい。
第1の発明において、上記速度算出部は、ローパスフィルタ処理が施される前の位置データのフレーム間の変化に基づいて、対象物の速度を算出することが好ましい。また、上記対象物検出部は、対象物の形状の変化を検出すると共に、対象物検出部によって検出された対象物の形状の変化に応じて、操作子の指示位置における操作内容を指示する操作指示部をさらに設けてもよい。さらに、上記センサ画像は、センサとしてのカメラによって撮像された撮像画像であってもよい。
第2の発明は、デバイスを操作する操作子の動きを、自由空間上における操作者のジェスチャに追従させるユーザインターフェースプログラムを提供する。このユーザインターフェースプログラムは、以下の第1から第4までのステップを有する処理をコンピュータに実行させる。まず、第1のステップでは、コンピュータが、センサによって時系列的に取得されたフレーム単位のセンサ画像のそれぞれにおいて、操作者によって操作される所定の対象物を検出する。第2のステップでは、コンピュータが、対象物の検出位置に基づき特定される位置データにFIRフィルタまたはIIRフィルタによるローパスフィルタ処理を行い、デバイスの操作領域上における操作子の指示位置として出力する。第3のステップでは、コンピュータが、対象物の速度を算出する。そして、第4のステップでは、コンピュータが、対象物の速度に応じて、ローパスフィルタ処理のカットオフ周波数が連続的に変化するように、ローパスフィルタのフィルタ係数を可変に設定する。
ここで、第2の発明において、上記カットオフ周波数は、対象物の速度が大きくなるに従って連続的に増加することが好ましい。この場合、上記カットオフ周波数は、対象物の速度が第1の値以下の場合、所定の下限値に維持されると共に、対象物の速度が第2の値以上の場合、所定の上限値に維持されることが好ましい。また、上記第3のステップは、ローパスフィルタ処理が施される前の位置データとして、対象物検出部によって検出された対象物の検出位置に含まれるノイズ成分をフィルタ処理によって除去したデータを用いるステップであることが望ましい。
第2の発明において、上記第3のステップは、ローパスフィルタ処理が施される前の位置データのフレーム間の変化に基づいて、対象物の速度を算出するステップであってもよい。また、上記第1のステップによって検出された対象物の形状の変化に応じて、操作子の指示位置における操作内容を指示する第5のステップをさらに設けてもよい。さらに、上記センサ画像は、センサとしてのカメラによって撮像された撮像画像であってもよい。
本発明によれば、位置データにローパスフィルタ処理を施すローパスフィルタのフィルタ係数を、対象物の速度に応じて可変に設定する。このように、ローパスフィルタのフィルタ特性に速度依存性を持たせることで、対象物の速度に最適なフィルタ特性を柔軟に設定でき、ユーザインターフェースとしての追従性と位置精度との両立を図ることができる。また、フィルタ係数の変更は、ローパスフィルタのカットオフ周波数が連続的に変化するように行われる。これにより、フィルタ係数を変更しても、フィルタ特性が急激に変化することがないので、操作者に違和感を与えることがない。
ジェスチャ認識システムの全体構成図 ユーザインターフェース装置のブロック図 ユーザインターフェース処理のフローチャート ユーザインターフェース処理のフローチャート センサ画像の一例を示す図 センサ画像上に設定される検索領域の説明図 センサ画像上に設定される仮想操作領域の説明図 ローパスフィルタ処理の詳細なフローチャート 速度vとカットオフ周波数fとの関係を示すフィルタ特性図 左右の手の動きに追従したカーソルの移動を示す図
図1は、本実施形態に係るジェスチャ認識システムの全体構成図である。このジェスチャ認識システム1は、カメラ2と、ユーザインターフェース装置3と、コンピュータ4と、表示装置5とを主体に構成されている。イメージセンサであるカメラ2は、操作者Uと向き合うように配置されており、少なくとも操作者Uの上半身を含むセンサ空間(撮像空間)を所定のフレーム間隔で撮像する。ユーザインターフェース装置3は、カメラ2によって時系列的に取得された一連のセンサ画像(撮像画像)に基づき、操作者Uのジェスチャ、具体的には、操作者Uの左右の手の挙動を検出・認識し、これらの挙動に追従するように、表示装置5の画面上に表示された複数のカーソル(ポインタ)を制御する。コンピュータ4は、オペレーティングシステムやアプリケーションプログラムが実行されている状態において、ユーザインターフェース装置3からの指示に基づいて、表示画面上のカーソルの移動や各種の操作を実行する。
操作者Uは、表示装置5の表示画面を見ながら、カメラ2に左右の手のひらを向けた状態で、左右の手を動かしたり、左右の手の形状を変化させたりする。左手に割り当てられたカーソル(左手カーソル)は、左手の動きに追従して表示画面上を移動すると共に、左手の形状の変化に応じて、このカーソルの指示位置における所定の操作が行われる。また、右手に割り当てられたカーソル(右手カーソル)は、右手の動きに追従して表示画面上を移動すると共に、右手の形状の変化に応じて、このカーソルの指示位置における所定の操作が行われる。
なお、図1の構成では、ユーザインターフェース装置3をカメラ2およびコンピュータ4とは別個のユニットとして例示しているが、インターフェース装置3にカメラ2を内蔵してもよい。また、ユーザインターフェース装置3の機能をコンピュータ4に担わせてもよく、この場合、コンピュータ4自体が「ユーザインターフェース装置」となる。すなわち、本発明において、図示したユーザインターフェース装置3の機能を備えるユニットが「ユーザインターフェース装置」に相当する。
図2は、ユーザインターフェース装置3のブロック図である。このユーザインターフェース装置3は、フレームメモリ3aと、対象物検出部3bと、ローパスフィルタ3cと、操作指示部3dと、速度算出部3eと、フィルタ設定部3fとを有する。フレームメモリ3aには、カメラ2によって時系列的に取得された一連のセンサ画像がフレーム単位で格納・更新される。
対象物検出部3bは、フレームメモリ3aからセンサ画像をフレーム単位で読み出し、このセンサ画像において、操作者Uの右手と左手とを検出する。本実施形態において、対象物検出部3bは、左右の手を検出する両手検出部3hの他に、顔検出部3gを含んでいる。顔検出部3gは、操作者Uの顔を検出する。両手検出部3hは、センサ画像における顔の検出位置を基準に検索領域を設定し、その上で、検索領域内における左右の手の検出を行う。操作者Uを正面から撮影した場合、センサ画像における顔の位置および両手の位置には関連性がある。そこで、左右の手を検索する検索領域を顔の位置を基準に設定し、その範囲を限定すれば、センサ画像全体を検索する場合と比較して、演算量を有効に低減できる。検索領域を限定することは、センサ画像のフレームレートを上げて、カーソルの応答性を高める上で有利である。ただし、演算量や時間的制約を考慮する必要がなければ、顔の検出を行うことなく、センサ画像全体を検索して左右の手の検出を行ってもよい。また、対象物検出部3bは、操作者Uの左右の手の形状の変化も併せて検出する。
対象物検出部3bは、左右の手の仮想操作領域に関する設定位置を保持する。左手の仮想操作領域は、左手の動きが左手カーソルの動きとして反映される範囲に相当し、右手の仮想操作領域は、右手の動きが右手カーソルの動きとして反映される範囲に相当する。後述するように、これらの仮想操作領域は、カーソルが実際に移動する同一の実操作領域に対応付けられている。実操作領域上における左手カーソルの指示位置(座標)は、左手の仮想操作領域の設定位置に基づき、左手の検出位置を座標変換することによって特定される。それとともに、実操作領域上における右手カーソルの指示位置(座標)は、右手の仮想操作領域の設定位置に基づき、右手の検出位置を座標変換することによって特定される。仮想操作領域上の座標と、実操作領域上の座標とは、一対一の位置的関係にあり、手の検出位置が仮想操作領域内にあることを前提として、手の検出位置からカーソルの指示位置が一義的に特定される。
ローパスフィルタ3cは、対象物検出部3bによって検出された左右の手の位置データのそれぞれにローパスフィルタ処理を行い、操作対象となるデバイスであるコンピュータ4に対して、実操作領域上における左手カーソルの指示位置と、右手カーソルの指示位置とを出力・指示する。ローパスフィルタ3cとしては、FIRフィルタ(有限インパルス応答フィルタ)またはIIRフィルタ(無限インパルス応答フィルタ)を用いることができるが、本実施形態では、再帰的構造を有するIIRフィルタを用いる。ローパスフィルタ処理としては、まず、遅延器にて、位置データを時間的に遅延させ、乗算器にて、位置データの現在値および少なくとも一つの遅延値のそれぞれにフィルタ係数を乗じた上で、加算器にて、これらの乗算値を加算して出力するといった流れになる。なお、ローパスフィルタ処理の入力となる位置データは、センサ画像の座標系における左右の手の検出位置(座標)であってもよいし、上述した座標変換により特定されたカーソルの指示位置であってもよい。
速度算出部3eは、ローパスフィルタ3cにおけるローパスフィルタ処理が施される前の位置データのフレーム間(すなわち、時系列的に前後する複数のフレーム)の変化に基づいて、左右の手の速度を個別に算出する。また、フィルタ設定部3fは、速度算出部3eによって算出された速度に応じて、ローパスフィルタ3cのフィルタ係数を可変に設定する。
操作指示部3dは、対象物検出部3bによって検出された右手の形状の変化に応じて、右手カーソルによって指示された位置における操作内容を特定する。それとともに、操作指示部3dは、対象物検出部3bによって検出された左手の形状の変化に応じて、左手カーソルによって指示された位置における操作内容を特定する。例えば、手を開いた状態から親指を残して手を閉じた状態に変えると、カーソルの指示位置においてオブジェクトのクリック操作が行われるといった如くである。このような操作者Uのジェスチャと、実行されるアクションとの対応関係は、システム上、予め設定されている。操作指示部3dによって特定された操作内容は、コンピュータ4に出力・指示される。
つぎに、図3および図4に示すフローチャートを参照しつつ、ユーザインターフェース装置3において実行される処理について詳述する。同図に示した一連の処理は、カメラ2によって取得された各フレームのセンサ画像を対象に行われ、所定のフレーム間隔で繰り返される。また、処理対象となるセンサ画像の一例として、図5に示すように、表示装置5の表示画面を見ている1名の操作者Uが、カメラ2に向かって左右の手L,R(手のひら)をかざしている状態を想定する。
まず、ステップ1において、対象物検出部3bは、センサ画像の座標系において、左右の手の仮想操作領域が設定済みであるか否かを判定する。仮想操作領域が設定済みでない場合とは、典型的には、システム起動直後の初期状態や、設定済みの仮想操作領域が途中で解除された直後の状態である。この場合、ステップ1の判断からステップ2に進み、仮想操作領域の設定と、左右の手の動きに追従したカーソルの位置の指示とが行われる(ステップ2〜9)。一方、仮想操作領域が設定済みの場合、すなわち、一旦設定された仮想操作領域が解除されることなく維持されている状態では、ステップ1の判断からステップ10に進み、センサ画像の座標系に仮想操作領域を固定・維持したままで、左右の手の動きに追従したカーソルの位置の指示が行われる(ステップ10〜13)
つぎに、ステップ2において、顔検出部3gは、センサ画像を検索することによって、操作者Uの顔O(図5参照)の検出を行う。顔Oの検出を含めた物体検出手法そのものは、デジタルカメラやスマートフォン等でも広く実装されているように、古くから研究が行われている周知技術であり、トラッキングや物体認識の任意の手法を広く採用することができる。例えば、ユーザーによる探索領域指定、トラッキングを行うことによる探索空間の削減、深度画像取得を利用した三次元形状取得や背景除去といったセンサデータ自体の高度化、画像の色や輝度の分布やWaveletやFFT画像といった画像全体を特徴量とする手法、二値化画像の輪郭の凹凸パターンなどの形状要素を特徴量とする手法、Log-Polar変換画像を併用するFFT画像などのアフィン変換不変特徴量を使用する手法、SIFTなどに代表される種々の局所画像特徴量と様々な統計的機械学習手法を併用する特定物体認識、特徴量の表現方法をバイナリ化やハッシュなどにより簡素化したりカーネル関数を用いることで計算量を削減する手法、局所的な画像の誤差を許容するテンプレートマッチング手法を用いた特定物体認識、三次元形状モデルやスケルトンモデルなどの形状モデルや運動モデルとセンサデータのデータ融合、認識対象物体の個々の要素への分解と再構築を用いる手法、Haar-likeやHoG(Histograms of Oriented Gradients)やそれらのJoint特徴量などの画像認識のために人為的に設計された特徴量と不要特徴量削減を含めた各種の統計的機械学習手法を併用する一般物体認識手法、Deep Learningをはじめとする特徴量の自動生成と物体認識を行う一般物体認識手法、といった如くである。また、このステップ2において、顔Oが検出された場合、センサ画像上における顔Oの位置および縦横の大きさ(顔の横幅および顔の長さ)も併せて特定される。
ステップ3において、顔検出部3gは、センサ画像上に顔Oが検出されたか否かを判断する。顔Oが検出されなかった場合、今回のサイクルにおける処理を終了し、次回のサイクルにおける処理の開始を待つ。これに対して、顔Oが検出された場合、ステップ4に進む。
ステップ4において、両手検出部3hは、左手の検索領域Slと、右手の検索領域Srとをセンサ画面上に個別に設定する。図6は、センサ画像上に設定される検索領域Sl,Srの説明図である。通常、センサ画像における左右の手L,Rは顔Oよりも低い位置に左右対称で、かつ、同じ高さに存在するので、そのような位置に検索領域Sl,Srが設定される。ただし、左右の手の具体的な位置は、操作者Uの体格(大人・子供、体の大きさ)によって異なる。そこで、顔Oの検出領域Soの中心から横幅に比例した位置に検索領域Sr,Slが設定される。両手検出部3hは、顔検出部3gによって検出された顔Oの大きさに応じて、検索領域Sl,Srのサイズを可変に設定する。すなわち、検索領域Sl,Srの縦横の大きさは、顔の検出領域Soの縦横の大きさに比例する。
なお、検索領域Sl,Srの設定位置や大きさは、目的や用途に応じて可変に設定できるようにしてもよい。これにより、センサ画像上の特定の位置で左右の手を操作させるなどの調整が可能となる。また、第2の実施形態で述べるように、演算量や時間的制約を考慮する必要がなければ、ステップ2〜4を省略し、部分的な検索領域Sl,Srを設定することなく、センサ画像全体を対象として左右の手の検出を行ってもよい。
本実施形態において、左右の手の検索領域Sl,Srは、水平方向において十分に離れていることが条件となる。ここで、「十分に離れている」とは、操作者Uが検索領域Sl,Sr内でどのように両手をかざしたとしても(ワーストケースとして、両手を最も近づけた場合)、あるいは、後述する仮想操作領域Vl,Vrをどのような大きさに設定したとしても(ワーストケースとして、最大サイズに設定した場合)、仮想操作領域Vl,Vrが互いにオーバーラップしないことを保証できる程度の距離をいう。
ステップ5において、操作者Uに対して両手をかざすことを促した上で、両手検出部3hは、センサ画像に設定されたそれぞれの検索領域Sl,Sr内を検索し、左右の手L,Rの検出を行う。顔Oと同様、左右の手L,Rの検出についても、周知の物体検出手法を広く採用することができる。なお、検出すべき左右の手L,Rは、ステップ2で検出された顔Oの大きさに対応したものとする。そして、ステップ6において、両手検出部3hは、検索領域Sl,Sr内において左右の手L,Rが検出されたか否かを判断する。左右の手L,Rが検出されなかった場合、今回のサイクルにおける処理を終了する。これに対して、左右の手L,Rが検出された場合、ステップ7に進む。
ステップ7において、両手検出部3hは、左手の仮想操作領域Vlと、右手の仮想操作領域Vrとをセンサ画面上に個別に設定する。図7は、センサ画像上に設定される仮想操作領域Vl,Vrの説明図である。左手の仮想操作領域Vlは、センサ画像における左手の検出位置(例えば左手の中心)を基準に設定され、所定の大きさを有する。また、右手の仮想操作領域Vrは、センサ画像における右手の検出位置(例えば右手の中心)を基準に設定され、左手の仮想操作領域Vlと同じ大きさを有する。これらの仮想操作領域Vl,Vrは、センサ画面における高さが一致しており、左右どちらか先に検出された手の仮想操作領域と同じ高さに、残りの手(検出されたことが条件とされる。)の仮想操作領域が設定される。
仮想操作領域Vl,Vrの設定に関しては、以下の2つの条件を満たすことが要求される。
(1)同一の実操作領域に対応付けられていること
(2)センサ画像の座標系において、互いにオーバーラップ(部分的なオーバーラップを含む。)しないこと
条件(1)により、仮想操作領域Vl,Vrに対応付けられた実操作領域が、左手カーソルおよび右手カーソルによって共有された単一の操作領域となる。ここで、実操作領域とは、カーソル(操作子)による操作を行うことができる範囲をいい、この範囲内において、カーソルの移動が行われる。カーソルの画面表示を行う場合、実操作領域は、画面に表示されたカーソルが移動する表示画面領域に相当する。この表示画面領域は、表示画面全体であってもよいし、表示画面の一部であってもよい。ただし、実操作領域上の位置が指示されたカーソルを表示すべきではない状況や必須ではない状況が考えられるので、カーソルの画面表示が常に行われることは、本発明の必須事項ではない。その意味において、本実施形態では、実操作領域を表示画面領域そのものとする例について説明しているが、実操作領域は表示画面領域に限られるものではなく、また、「指示位置」という用語も実操作領域上の位置(必ずしも表示画面領域上の位置に限定されない。)という意味で用いるものとする。表示を伴わないケースとしては、例えば、VR(Virtual Reality)やMR(Mixed Reality)の分野において、手や操作体が視界にあり、カーソルを表示する必要がない場合や表示すべきでない場合がある。また、手や操作体で円を描くなどのジェスチャ操作により、特定の機能(例えば、映像の再生や停止)への割り当てを行う場合には、カーソルが非表示でも機能を果たすことができる。
また、条件(1)の「対応付けられる」とは、仮想操作領域Vl,Vr上の位置と、実操作領域上の位置とが一対一の関係にあることをいう。この関係から、座標変換によって、仮想操作領域Vl,Vr上の位置(座標)および実操作領域上の位置(座標)の一方から他方が一義的に特定される。
また、条件(2)により、実操作領域上において、左手カーソルと、右手カーソルとがどのような位置的関係にあろうとも、操作者Uが自身の顔の手前で両手を重ねたり、両腕を交差させたりする必要はない。本実施形態において、検索領域Sl,Srは、互いにオーバーラップしないように、センサ画像の水平方向にある程度離れて設定され、その範囲内で左右の手L,Rの検出が行われる。したがって、検索領域Sl,Srを離すことをもって、仮想操作領域Vl,Vrがオーバーラップしないことが保証される。
なお、仮想操作領域Vl,Vrの大きさは可変に設定できるようにしてもよい。これにより、左右の手L,Rの動きに対するカーソルの移動量を調整することができる。例えば、手L,Rの動きに対してカーソルの動きが大きすぎる場合、仮想操作領域Vl,Vrを現在のサイズよりも大きくする。逆に、手L,Rの動きに対してカーソルの動きが小さすぎるすぎる場合、仮想操作領域Vl,Vrを現在のサイズよりも小さくする。これにより、操作者Uによって扱い易い最適な状態を個別に設定することができる。このような仮想操作領域Vl,Vrの調整は、オペレーティングシステムやアプリケーションプログラムの指示に基づいて、行うことができる。
ステップ8において、両手検出部3hは、左右の手の検出位置として、図7に示した操作点pl,prを設定する。操作点pl,prは、手のひらの特定の位置、例えば、手のひらの中心として特定される。
ステップ9において、ステップ8で算出された操作点pl,prにローパスフィルタ処理が施される。図8は、ローパスフィルタ処理の詳細なフローチャートである。まず、ステップ20において、速度算出部3eは、左右の手の速度(変化量)を個別に算出する。画像ベースで速度を算出する場合、ローパスフィルタ3cによるローパスフィルタ処理が施される前の位置データを対象として、時系列的に前後するフレーム間の位置変化に基づいて、速度の算出が行われる。ただし、手などの対象物の速度は、カメラ2以外のセンサを用いて検出することも可能である。なお、速度算出部3eは、ローパスフィルタ処理が施される前の位置データとして、対象物検出部3bによって検出された左右の手の検出位置(操作点pl,prの元データ)に含まれるノイズ成分をフィルタ処理(ノイズ除去フィルタによる)によって部分的に除去したデータを用いることが好ましい。これにより、ノイズがローパスフィルタ3cのフィルタ特性に悪影響を及ぼすことを有効に防止できる。
つぎに、ステップ21において、フィルタ設定部3fは、ステップ20で算出された左右の手の速度に応じて、ローパスフィルタ3cのフィルタ係数群を左右の手個別に、あるいは、両手共通で設定する。図9は、速度v(絶対値)とカットオフ周波数fとの関係を示すフィルタ特性図である。基本的な特性として、カットオフ周波数fは、速度vが大きくなるに従って「連続的に変化」(増加)する。ただし、速度vが第1の値v1以下の場合、カットオフ周波数fは所定の下限値flowに維持され、速度vが第2の値v2以上の場合、カットオフ周波数fは所定の上限値fhighに維持される。ここで、「連続的に変化」とは、下限値flowと上限値fhighとの間でステップ的または非連続的に変化するのではなく、これらの間に存在する複数の中間値によって断絶することなく変化することをいう。
カットオフ周波数fは、フィルタ設計上の基本事項であり、これ以下の低域は通過し、それより上の高域は遮断される。周知のように、カットオフ周波数fとフィルタ係数との関係は数式にて表現でき、カットオフ周波数fと望ましいフィルタ特性とが決まれば、ローパスフィルタ3cのフィルタ係数群の値も特定される。例えば、2次のバタワース特性の場合、数式1の定義式を有するIIRフィルタにおけるそれぞれのフィルタ係数a(j),b(i)は、以下の数式2にて特定できる。
Figure 2017211960
Figure 2017211960
ここで、fcutoffはカットオフ周波数(手の動きの速さにもとづいて可変にする値)、fsamplingはサンプリング周波数、fcは正規化カットオフ周波数である。一般的な傾向としては、カットオフ周波数fが低くなるほど、位置データの現在値の重み付けが相対的に小さくなり(フィルタ係数=小)、遅延値の重み付けが相対的に大きくなる(フィルタ係数=大)。その結果、カットオフ周波数fが低い低速時(停止時を含む。)におけるカーソルの挙動としては、操作者の動きに対する追従性よりも位置決め精度(手ぶれ防止)の方が優先されることになる。逆に、カットオフ周波数fが高くなるほど、位置データの現在値の重み付けが相対的に大きくなり(フィルタ係数=大)、遅延値の重み付けが相対的に小さくなる(フィルタ係数=小)。その結果、カットオフ周波数fが高い高速時におけるカーソルの挙動としては、位置決め精度よりも追従性の方が優先されることになる。また、低速から高速に移行する場合には、位置決め精度から追従性が徐々に優先されていき、高速から低速に移行する場合には、追従性から位置決め精度が徐々に優先されていくことになる。
このようなカットオフ周波数fの特性になるように、ローパスフィルタ3cのフィルタ係数群を予め特定しておき、例えば、速度vとフィルタ係数群との関係をフィルタ係数テーブルとしてシステム内に記憶しておく。これにより、テーブルの参照によって、速度v(入力)に対応したフィルタ係数群(出力)が可変的に設定される。その際、出力値であるフィルタ係数に連続性を持たせるために、テーブル参照による離散的な参照値を補間することで、実際に適用するフィルタ係数を連続値として算出する。また、このようなテーブル参照に代えて、速度v(入力)に対するフィルタ係数(出力)の特性を数式化し、この数式に基づいてフィルタ係数をリアルタイムで算出してもよい。さらに、追従性を優先するモードおよび位置精度を優先するモードといった如く複数のモードを設け、速度v―フィルタ係数の入出力特性をテーブルや数式としてモード毎に用意しておき、アプリケーションプログラム等からの指示に応じて、モードに応じた入出力特性を選択してもよい。
ステップ22において、ローパスフィルタ3cは、位置データ(操作点pl,pr)に対して、ステップ21で設定されたフィルタ特性(フィルタ係数群)を有するローパスフィルタ処理を行う。そして、ステップ23において、ローパスフィルタ3cは、ローパスフィルタ処理が施された操作点pl,pr、または、これを更に座標変換した指示位置Pl,Pr(実操作領域上の指示点)をコンピュータ4に出力する。以上をもって、今回のサイクルにおける処理を終了する。
一方、仮想操作領域Vl,Vrが設定された次回以降のサイクルでは、図3のステップ1の判定結果を経て、図4のステップ10に進む。ステップ10において、両手検出部3hは、センサ画像における左右の手の検出を行う。ただし、前後のフレーム間における手の変化量は少ないので、前フレームで検出された手の位置を基準とした狭い範囲内で手の検索を行えばよい。そして、ステップ11において、両手検出部3hは、左右の手L,Rが検出されたか否かを判断する。左右の手L,Rが検出されなかった場合、設定済みの仮想操作領域Vl,Vrを解除した上で(ステップ14)、今回のサイクルにおける処理を終了する。これにより、次回のサイクルにおいて、仮想操作領域Vl,Vrの設定が再度行われる。一方、左右の手L,Rが検出された場合、ステップ12に進む。
ステップ12において、両手検出部3hは、ステップ8と同様、左右の手の検出位置として、操作点pl,prを設定する。そして、ステップ13において、ステップ9と同様のローパスフィルタ処理が行われる。以上をもって、今回のサイクルにおける処理を終了する。
図10は、左右の手の動きに追従したカーソルの移動を示す図である。図3および図4に示した処理が繰り返し実行されることで、実操作領域に表示された2つのカーソルPl,Prは、仮想操作領域Vl,Vr内における左右の手の動きに追従しながら移動する。具体的には、タイミングt1において、左右の手の仮想操作領域Vl,Vrが設定されると共に、操作点pl,prに対応した実操作領域上の位置にカーソルPl,Prが表示される。それ以降、タイミングt2,t3・・・と時間が経過するにつれて、固定された仮想操作領域Vl,Vr内で操作点pl,prが移動すると、これらに追従して、実操作領域上のカーするPl,Prも経時的に移動していく。
このように、本実施形態によれば、位置データにローパスフィルタ処理を施すローパスフィルタ3cのフィルタ係数を、操作者Uの手の速度に応じて可変に設定する。ローパスフィルタ3cのフィルタ特性に速度依存性を持たせることで、手の速度に最適なフィルタ特性を柔軟に設定でき、ユーザインターフェースとしての追従性と位置精度との両立を図ることができる。また、フィルタ係数の変更は、カットオフ周波数fが連続的に変化するように行われる。これにより、フィルタ係数を変更しても、フィルタ特性が急激に変化することがないので、操作者に違和感を与えることがない。
また、本実施形態によれば、同一の実操作領域に対応付けられた左右の手の仮想操作領域Vl,Vrを個別に設定し、それぞれの仮想操作領域Vl,Vrにおける左右の手の位置、すなわち、操作点pl,prに基づき、実操作領域におけるカーソルPl,Prの指示位置が決められる。これにより、同一の実操作領域において、左右の手に割り当てられたカーソルPl,Prを、それぞれの手の動きに追従して、高い自由度で別々に移動させることができる。
なお、上述した実施形態では、操作者Uが操作する対象として、カーソル(ポインタ)を例に説明したが、本発明はこれに限定されるものではなく、操作者Uによって表示画面上を移動可能な、所定の操作を行うための「操作子」に対して広く適用することができる。例えば、ピアノを演奏するアプリケーションプログラムにおいて、画面上に表示されたピアノのキーを、手の形をした操作子で押し下げることで、両手で演奏するといった如くである。
また、上述した実施形態では、操作者Uのジェスチャとして、操作者Uの左右の手そのものを認識する例について説明したが、ジェスチャの認識対象は、本発明はこれに限定されるものではなく、片方の手、あるいは、手によって操作される物体であってもよい。例えば、手のそれぞれに握られた刀や杖を認識するといった如くである。ユーザインターフェース装置3によって認識される対象物(手や物体)を予め定めておき、その形状的な特徴と、形状の変化パターンとを適切に設定しておけば、認識対象が物体であっても、本実施形態と同様のユーザインターフェースを実現できる。
また、上述した実施形態では、操作者Uのジェスチャを認識するためのセンサとして、単眼カメラを用いているが、ステレオカメラやマルチカメラ、一台もしくは複数台の深度画像を取得できるセンサを用いてもよい。ただし、本発明は、単眼カメラにも適用し得ることから、不要なコストアップを避ける観点からは、単眼カメラを用いた方が好適である。また、カメラに代えてレーザを用い、レーザ画像(レーザの反射強度の二次元的な分布)をセンサ画像とすることも可能である。さらに、カメラやレーザ等のセンサの配置位置は、操作者Uと向き合うように位置に限定されるものではなく、例えば、操作者Uの頭部に装着されたヘッドマウントディスプレイ(HMD)の内蔵カメラによって、操作者Uの両手(手の甲)を撮像してもよいし、天井に設置されたカメラによって、上方から操作者Uの両手を撮像してもよい。
さらに、上述したユーザインターフェース装置3の機能をコンピュータ4に担わせる場合、図3および図4は、コンピュータプログラムにおける一連の手順を示すフローチャートとしても捉えることができる。
1 ジェスチャ認識システム
2 カメラ
3 ユーザインターフェース装置
3a フレームメモリ
3b 対象物検出部
3c ローパスフィルタ
3d 操作指示部
3e 速度算出部
3f フィルタ設定部
3g 顔検出部
3h 両手検出部
4 コンピュータ
5 表示装置

Claims (14)

  1. デバイスを操作する操作子の動きを、自由空間上における操作者のジェスチャに追従させるユーザインターフェース装置において、
    センサによって時系列的に取得されたフレーム単位のセンサ画像のそれぞれにおいて、操作者によって操作される所定の対象物を検出する対象物検出部と、
    前記対象物検出部によって検出された前記対象物の検出位置に基づき特定される位置データにFIRフィルタまたはIIRフィルタによるローパスフィルタ処理を行い、デバイスの操作領域上における操作子の指示位置として出力するローパスフィルタと、
    前記対象物の速度を算出する速度算出部と、
    前記速度算出部によって算出された前記速度に応じて、前記ローパスフィルタ処理のカットオフ周波数が連続的に変化するように、前記ローパスフィルタの前記フィルタ係数を可変に設定するフィルタ設定部と
    を有することを特徴とするユーザインターフェース装置。
  2. 前記カットオフ周波数は、前記速度が大きくなるに従って連続的に増加することを特徴とする請求項1に記載されたユーザインターフェース装置。
  3. 前記カットオフ周波数は、前記速度が第1の値以下の場合、所定の下限値に維持されると共に、前記速度が第2の値以上の場合、所定の上限値に維持されることを特徴とする請求項2に記載されたユーザインターフェース装置。
  4. 前記速度算出部は、前記ローパスフィルタ処理が施される前の前記位置データとして、前記対象物検出部によって検出された前記対象物の検出位置に含まれるノイズ成分をフィルタ処理によって除去したデータを用いることを特徴とする請求項1から3のいずれかに記載されたユーザインターフェース装置。
  5. 前記速度算出部は、前記ローパスフィルタ処理が施される前の前記位置データのフレーム間の変化に基づいて、前記速度を算出することを特徴とする請求項1から4のいずれかに記載されたユーザインターフェース装置。
  6. 前記対象物検出部は、前記対象物の形状の変化を検出し、
    前記対象物検出部によって検出された前記対象物の形状の変化に応じて、前記操作子の指示位置における操作内容を指示する操作指示部をさらに有することを特徴とする請求項1から5のいずれかに記載されたユーザインターフェース装置。
  7. 前記センサ画像は、前記センサとしてのカメラによって撮像された撮像画像であることを特徴とする請求項1から6のいずれかに記載されたユーザインターフェース装置。
  8. デバイスを操作する操作子の動きを、自由空間上における操作者のジェスチャに追従させるユーザインターフェースプログラムにおいて、
    コンピュータが、センサによって時系列的に取得されたフレーム単位のセンサ画像のそれぞれにおいて、操作者によって操作される所定の対象物を検出する第1のステップと、
    コンピュータが、前記対象物の検出位置に基づき特定される位置データにFIRフィルタまたはIIRフィルタによるローパスフィルタ処理を行い、デバイスの操作領域上における操作子の指示位置として出力する第2のステップと、
    コンピュータが、前記対象物の速度を算出する第3のステップと、
    コンピュータが、前記速度に応じて、前記ローパスフィルタ処理のカットオフ周波数が連続的に変化するように、前記ローパスフィルタの前記フィルタ係数を可変に設定する第4のステップと
    を有する処理をコンピュータに実行させることを特徴とするユーザインターフェースプログラム。
  9. 前記カットオフ周波数は、前記速度が大きくなるに従って連続的に増加することを特徴とする請求項8に記載されたユーザインターフェースプログラム。
  10. 前記カットオフ周波数は、前記速度が第1の値以下の場合、所定の下限値に維持されると共に、前記速度が第2の値以上の場合、所定の上限値に維持されることを特徴とする請求項9に記載されたユーザインターフェースプログラム。
  11. 前記第3のステップは、前記ローパスフィルタ処理が施される前の前記位置データとして、前記対象物検出部によって検出された前記対象物の検出位置に含まれるノイズ成分をフィルタ処理によって除去したデータを用いるステップであることを特徴とする請求項8から10のいずれかに記載されたユーザインターフェースプログラム。
  12. 前記第3のステップは、前記ローパスフィルタ処理が施される前の前記位置データのフレーム間の変化に基づいて、前記速度を算出するステップであることを特徴とする請求項8から11のいずれかに記載されたユーザインターフェースプログラム。
  13. 前記第1のステップによって検出された前記対象物の形状の変化に応じて、前記操作子の指示位置における操作内容を指示する第5のステップをさらに有することを特徴とする請求項8から12のいずれかに記載されたユーザインターフェースプログラム。
  14. 前記センサ画像は、前記センサとしてのカメラによって撮像された撮像画像であることを特徴とする請求項8から13のいずれかに記載されたユーザインターフェースプログラム。
JP2016106855A 2016-05-27 2016-05-27 ユーザインターフェース装置およびユーザインターフェースプログラム Pending JP2017211960A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016106855A JP2017211960A (ja) 2016-05-27 2016-05-27 ユーザインターフェース装置およびユーザインターフェースプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016106855A JP2017211960A (ja) 2016-05-27 2016-05-27 ユーザインターフェース装置およびユーザインターフェースプログラム

Publications (1)

Publication Number Publication Date
JP2017211960A true JP2017211960A (ja) 2017-11-30

Family

ID=60474760

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016106855A Pending JP2017211960A (ja) 2016-05-27 2016-05-27 ユーザインターフェース装置およびユーザインターフェースプログラム

Country Status (1)

Country Link
JP (1) JP2017211960A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190102124A (ko) * 2018-02-24 2019-09-03 링크플로우 주식회사 사용자 장치의 사용자 인터페이스 구현 방법 및 이러한 방법을 수행하는 장치
JPWO2021171686A1 (ja) * 2020-02-28 2021-09-02
US11416080B2 (en) 2018-09-07 2022-08-16 Samsung Electronics Co., Ltd. User intention-based gesture recognition method and apparatus
JP7182324B1 (ja) 2022-03-14 2022-12-02 mirrorX株式会社 プログラム、情報処理装置及び方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6373386A (ja) * 1986-09-17 1988-04-02 Nec Corp 手書文字認識装置
EP0789317A1 (en) * 1996-02-09 1997-08-13 Symbios Logic Inc. Method and apparatus for reducing noise in an electrotatic digitizing tablet
JPH09325860A (ja) * 1996-06-04 1997-12-16 Alps Electric Co Ltd 座標入力装置
EP0837418A2 (en) * 1996-10-18 1998-04-22 Kabushiki Kaisha Toshiba Method and apparatus for generating information input using reflected light image of target object
JPH10177449A (ja) * 1996-10-18 1998-06-30 Toshiba Corp 情報入力装置及び情報入力方法及び補正データ生成装置及び固体撮像装置
JP2010237765A (ja) * 2009-03-30 2010-10-21 Toshiba Corp 情報処理装置、フォーカス移動制御方法及びフォーカス移動制御プログラム
US20100315334A1 (en) * 2009-06-10 2010-12-16 Samsung Electronics Co., Ltd. Filtering apparatus and filtering method for adaptively adjusting filtering coefficient according to motion data and method and apparatus for processing motion data using the same
US20100315337A1 (en) * 2009-06-16 2010-12-16 Bran Ferren Optical capacitive thumb control with pressure sensor

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6373386A (ja) * 1986-09-17 1988-04-02 Nec Corp 手書文字認識装置
EP0789317A1 (en) * 1996-02-09 1997-08-13 Symbios Logic Inc. Method and apparatus for reducing noise in an electrotatic digitizing tablet
JPH09311752A (ja) * 1996-02-09 1997-12-02 Symbios Logic Inc 静電式デジタイジング・パネル及び静電式デジタイジング・パネルにおけるノイズ低減方法
JPH09325860A (ja) * 1996-06-04 1997-12-16 Alps Electric Co Ltd 座標入力装置
US6028594A (en) * 1996-06-04 2000-02-22 Alps Electric Co., Ltd. Coordinate input device depending on input speeds
EP0837418A2 (en) * 1996-10-18 1998-04-22 Kabushiki Kaisha Toshiba Method and apparatus for generating information input using reflected light image of target object
JPH10177449A (ja) * 1996-10-18 1998-06-30 Toshiba Corp 情報入力装置及び情報入力方法及び補正データ生成装置及び固体撮像装置
JP2010237765A (ja) * 2009-03-30 2010-10-21 Toshiba Corp 情報処理装置、フォーカス移動制御方法及びフォーカス移動制御プログラム
US20100315334A1 (en) * 2009-06-10 2010-12-16 Samsung Electronics Co., Ltd. Filtering apparatus and filtering method for adaptively adjusting filtering coefficient according to motion data and method and apparatus for processing motion data using the same
US20100315337A1 (en) * 2009-06-16 2010-12-16 Bran Ferren Optical capacitive thumb control with pressure sensor
JP2012530320A (ja) * 2009-06-16 2012-11-29 インテル・コーポレーション 圧力センサを用いた光学的容量性の親指コントロール

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190102124A (ko) * 2018-02-24 2019-09-03 링크플로우 주식회사 사용자 장치의 사용자 인터페이스 구현 방법 및 이러한 방법을 수행하는 장치
KR102163825B1 (ko) * 2018-02-24 2020-10-13 링크플로우 주식회사 사용자 장치의 사용자 인터페이스 구현 방법 및 이러한 방법을 수행하는 장치
US11416080B2 (en) 2018-09-07 2022-08-16 Samsung Electronics Co., Ltd. User intention-based gesture recognition method and apparatus
JPWO2021171686A1 (ja) * 2020-02-28 2021-09-02
WO2021171686A1 (ja) * 2020-02-28 2021-09-02 富士フイルム株式会社 ジェスチャー認識装置、ジェスチャー認識装置の作動方法、ジェスチャー認識装置の作動プログラム
JP7182324B1 (ja) 2022-03-14 2022-12-02 mirrorX株式会社 プログラム、情報処理装置及び方法
JP2023133885A (ja) * 2022-03-14 2023-09-27 mirrorX株式会社 プログラム、情報処理装置及び方法

Similar Documents

Publication Publication Date Title
CN106846403B (zh) 一种三维空间中手部定位的方法、装置及智能设备
KR101688355B1 (ko) 다수의 지각 감지 입력의 상호작용
US9734393B2 (en) Gesture-based control system
US8648808B2 (en) Three-dimensional human-computer interaction system that supports mouse operations through the motion of a finger and an operation method thereof
CN103970264B (zh) 手势辨识与控制方法及其装置
WO2017049817A1 (zh) 一种手势操控无人机的方法和装置
JP2017211960A (ja) ユーザインターフェース装置およびユーザインターフェースプログラム
KR101815020B1 (ko) 인터페이스 제어 장치 및 방법
JP6618276B2 (ja) 情報処理装置、その制御方法、プログラム、及び記憶媒体
CN105589553A (zh) 一种智能设备的手势控制方法和系统
JP6711817B2 (ja) 情報処理装置、その制御方法、プログラム、及び記憶媒体
KR20120068253A (ko) 사용자 인터페이스의 반응 제공 방법 및 장치
TW201514830A (zh) 互動式操作方法
TWI479430B (zh) 以自然影像進行的手勢辨識方法
WO2020080107A1 (ja) 情報処理装置、情報処理方法、及びプログラム
WO2013149475A1 (zh) 一种用户界面的控制方法及装置
KR101654311B1 (ko) 사용자 모션 인식 방법 및 장치
KR102147930B1 (ko) 포즈 인식 방법 및 장치
CN112488059B (zh) 一种基于深度学习模型级联的空间手势控制方法
JP2010152557A (ja) 画像処理装置および画像処理方法
JP4559375B2 (ja) 対象物位置追跡方法、装置、およびプログラム
JP6425299B2 (ja) 手指動作検出装置、手指動作検出方法、手指動作検出プログラム、及び仮想物体処理システム
KR101731935B1 (ko) 손 동작 인식을 이용한 3차원 가상 컨트롤러 인터페이스 제공 장치 및 방법
Siam et al. Human computer interaction using marker based hand gesture recognition
KR101909326B1 (ko) 얼굴 모션 변화에 따른 삼각 매쉬 모델을 활용하는 사용자 인터페이스 제어 방법 및 시스템

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190507

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200127

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20200317

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200720