JP6733789B2 - 入力装置、入力操作検出方法及び入力操作検出用コンピュータプログラム - Google Patents

入力装置、入力操作検出方法及び入力操作検出用コンピュータプログラム Download PDF

Info

Publication number
JP6733789B2
JP6733789B2 JP2019141459A JP2019141459A JP6733789B2 JP 6733789 B2 JP6733789 B2 JP 6733789B2 JP 2019141459 A JP2019141459 A JP 2019141459A JP 2019141459 A JP2019141459 A JP 2019141459A JP 6733789 B2 JP6733789 B2 JP 6733789B2
Authority
JP
Japan
Prior art keywords
finger
predetermined
image
tip
real space
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.)
Expired - Fee Related
Application number
JP2019141459A
Other languages
English (en)
Other versions
JP2019204539A (ja
Inventor
源太 鈴木
源太 鈴木
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2019141459A priority Critical patent/JP6733789B2/ja
Publication of JP2019204539A publication Critical patent/JP2019204539A/ja
Application granted granted Critical
Publication of JP6733789B2 publication Critical patent/JP6733789B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

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

Description

本発明は、例えば、画像に写った指先の位置に応じた入力操作を検出する入力装置、及び、そのような入力装置で利用される入力操作検出方法及び入力操作検出用コンピュータプログラムに関する。
近年、人間の動作を検知して、その動作に応じた入力信号を生成するユーザインタフェースが研究されている。そのようなユーザインターフェースの一例として、予め設定された特定の物体を入力装置として、その入力装置に対する操作者の動作に依存して制御対象装置を操作する遠隔操作装置が提案されている(例えば、特許文献1を参照)。
特許文献1に開示された遠隔操作装置は、入力装置に対する操作動作を検出し、検出した操作動作の内容と、予め設定されている操作動作の内容と制御対象装置を操作する内容との対応関係とに基づいて、対応する制御対象装置への操作の内容を求める。この遠隔操作装置は、例えば、並行配置した二台のカメラによる撮影画像に対してステレオマッチングを行って、カメラ間で対応する点が撮影画像上でどれだけ離れているかを求め、その算出結果から操作者の手までの距離を求める。そしてこの遠隔操作装置は、その距離と、入力装置までの距離との比較により、操作者の手が入力装置に接触したか否かを判定し、その判定結果を利用して操作動作を検出する。
上記のように、カメラから操作者の手までの距離と、カメラから対象物までの距離との比較で操作者が対象物に接触したか否かを判定するためには、予めカメラから対象物までの距離を測定しておくことが求められる。そこで、上記の遠隔操作装置では、ステレオマッチングによりカメラから対象物までの距離が求められる。また、複数のコード化された各光パターンで被計測物体をそれぞれ照射し、その照射された被計測物体を異なる位置で撮像して得た画像を解析することで、被計測物体の位置を求める方法が知られている(例えば、特許文献2を参照)。
特開2013−172211号公報 特開昭60−152903号公報
特許文献2に開示された方法では、対象物までの距離を測定するために、その対象物を、コード化された光で走査することが行われる。そのため、そのような走査を実行することを、ユーザが入力装置に対して指示しない場合には、対象物までの距離が求められず、ユーザの手がその対象物に接触したか否かを判定できないことがある。また、そのような走査にはある程度の時間が掛かるため、例えば、対象物が本であり、ユーザがその本のページをめくりながら何かの操作を行う場合のように、カメラから対象物までの距離が頻繁に変わると、その走査をユーザが指示することは煩雑である。また、対象物の表面が光を反射し易い物質で形成されていたり、あるいは、光の吸収率が高い物体で形成されていると、対象物に投影されたコード化された光を読み取ることが困難となり、正確に対象物までの距離を測定できないおそれがある。
一方、ステレオマッチングを利用する場合、対象物の表面に、その対象物を撮影して得られる画像上で検出が容易な特徴が無い場合、例えば、対象物の表面が無模様である場合、カメラから対象物までの距離を正確に測定することは困難である。特に、対象物と対象物が載置されるテーブルが同じ色でかつともに無模様である場合、画像上で対象物を識別することが非常に困難となる。そのため、カメラから対象物までの距離を正確に測定することは困難となる。
そこで本明細書は、ユーザが入力操作を行う際に接触する対象物までの距離が不明な場合でも、入力操作を検出可能な入力装置を提供することを目的とする。
一実施形態によれば、入力装置が提供される。この入力装置は、所定の撮影周期ごとに、指を撮影してその指が表された第1の画像を生成する第1の撮像部と、第1の撮像部と所定間隔離して配置され、かつ、所定の撮影周期ごとに、指を撮影してその指が表された第2の画像を生成する第2の撮像部と、投影装置と、所定の撮影周期ごとに、第1の画像において指の先端に相当する指先位置を検出する指領域検出部と、所定の撮影周期ごとに、指先位置に対応する第2の画像上の対応点を求め、第1の画像上の指先位置と第2の画像上の対応点とに基づいて、指の先端の実空間での位置を算出する指先位置算出部と、所定期間中に算出された指の先端の実空間での位置のそれぞれに基づいて、指の動作を表す特徴量を算出し、その特徴量が指で対象物に触れる動作を表す条件を満たすか否かを判定する接触動作判定部と、特徴量がその条件を満たす場合、投影装置に所定の位置へ所定のマークを投影させ、投影後の一定期間内の何れかの時点で指の先端の実空間での位置がマークの投影位置に応じた高さ方向を含む所定範囲内に含まれる場合に入力操作が行われたと判定する確認動作判定部とを有する。
本発明の目的及び利点は、請求項において特に指摘されたエレメント及び組み合わせにより実現され、かつ達成される。
上記の一般的な記述及び下記の詳細な記述の何れも、例示的かつ説明的なものであり、請求項のように、本発明を限定するものではないことを理解されたい。
本明細書に開示された入力装置は、ユーザが入力操作を行う際に接触する対象物までの距離が不明な場合でも、入力操作を検出できる。
第1の実施形態による入力装置の一構成例を示す概略斜視図である。 図1に示された入力装置のハードウェア構成図である。 高さマップの一例を示す図である。 第1の実施形態による制御部の機能ブロック図である。 カメラ座標系と世界座標系の位置関係の一例を示す図である。 (a)及び(b)は、それぞれ、ユーザが指先を対象物に触れる動作を行っている場合における、テーブルからの指の高さの時間変化の測定結果の一例を示す図である。 (a)及び(b)は、それぞれ、ユーザが指先を空中で静止させる動作を行っている場合における、テーブルからの指の高さの時間変化の測定結果の一例を示す図である。 入力処理の動作フローチャートである。 第2の実施形態による制御部の機能ブロック図である。 (a)及び(b)は、それぞれ、操作確認用のボタンの一例を示す図である。 (a)は、指先位置が対象物の表面に位置している場合における、対象物とボタンの関係の一例を示す図である。(b)は、指先位置が空中に位置している場合における、対象物とボタンの関係の一例を示す図である。 第2の実施形態による入力処理の動作フローチャートである。
以下、図面を参照しつつ、入力装置について説明する。この入力装置は、二つのカメラのそれぞれでユーザの指を撮影して得られる二つの画像から、指先の実空間での位置を求め、その位置におけるカメラから指先までの距離とカメラから対象物までの距離の比較結果により、指先が対象物に接触したか否かを判定する。その際、この入力装置は、距離の比較結果からは、指先が対象物に接触したことを検知できない場合に、直近の一定期間内の指の動作を表す特徴量を求めることで、指の動作が対象物に接触しようとする接触動作か否かを判定する。そしてこの入力装置は、ユーザの指の動作が接触動作であると判定した場合、ユーザの指が対象物に接触したとみなして、その指の位置に応じた入力操作に対応する処理を実行する。
図1は、第1の実施形態による入力装置の概略斜視図である。図2は、図1に示された入力装置のハードウェア構成図である。入力装置1は、投影装置2と、ミラー3と、二つのカメラ4−1、4−2と、通信部5と、記憶部6と、制御部7とを有する。入力装置1が有するこれらの各部は、側面から見て縦方向にコの字型をした筐体10に収容される。なお、以下では説明の都合上、ユーザに面する側を正面と呼ぶ。
投影装置2は、例えば、液晶プロジェクタであり、筐体10の正面側に、表示面を上方へ向けて配置される。投影装置2は、制御部7から受け取った映像信号に従って映像をその表示面に表示することで、映像を投影する。投影装置2から投影された映像は、正面側へ突出した筐体10の天頂部10aの下側に設けられたミラー3により反射されて、例えば、ユーザの指先が接触したか否かの判定対象となる対象物8が載置される基準面となる、テーブル面などに投影される。なお、対象物8は、例えば、本、雑誌、ペーパーなどとすることができるが、そのような物体に限定されない。また、対象物8は、入力装置1が載置されるテーブルそのものであってもよい。
二つのカメラ4−1、4−2は、それぞれ、撮像部の一例であり、天頂部10aに、ミラー3を挟んで所定間隔だけ離して下方に向けて配置される。なお、テーブル面からカメラ4−1、4−2までの高さは、対象物8がカメラ4−1とカメラ4−2の両方の撮影範囲に含まれ、かつ、対象物8の近傍に位置する指先を画像上で識別できるように、例えば、600mmに設定される。そしてカメラ4−1、4−2は、それぞれ、所定の撮影周期(例えば、10msec〜50msec)でその撮影範囲が写った画像を生成する。本実施形態では、カメラ4−1、4−2により生成される画像は、RGB表色系により表されるカラー画像である。また、本実施形態では、カメラ4−1とカメラ4−2間の視差方向は、各カメラにより生成された画像において水平方向となる。カメラ4−1、4−2は、画像を生成する度に、その画像を制御部7へ出力する。
通信部5は、入力装置1を他の機器と接続するためのインタフェース及びその制御回路を有する。そして通信部5は、例えば、他の機器から受け取った映像信号を制御部7へ渡す。あるいは、通信部5は、制御部7から受け取った、ユーザの入力に応じた入力信号を他の機器へ出力する。
記憶部6は、例えば、揮発性又は不揮発性の半導体メモリ回路を有する。そして記憶部6は、投影装置2により投影される映像を表す映像信号及びユーザの操作入力を検出するために利用される各種の情報を記憶する。ユーザの操作入力を検出するために利用される情報には、例えば、カメラ4−1とカメラ4−2間の間隔、カメラ4−1、4−2の焦点距離、指先位置の検出または指の動作の検出に利用する各種のパラメータなどが含まれる。さらに、ユーザの操作入力を検出するために利用される情報には、テーブルと平行な面の位置ごとにおける、テーブルから対象物8の表面までの高さを表す高さマップが含まれてもよい。さらに、記憶部6は、カメラ4−1またはカメラ4−2から得られた画像を記憶してもよい。
図3は、高さマップの一例を示す図である。高さマップ300は、テーブルの表面に平行な面における、世界座標系の水平方向の座標X及び垂直方向の座標Yごとに、テーブルから対象物8の表面までの高さZを格納する。例えば、高さマップ300は、座標(0,0)の位置における高さが0mmであり、座標(249,159)の位置における高さが23mmであることを示している。
制御部7は、一つまたは複数のプロセッサ及びその周辺回路を有する。そして制御部7は、投影装置2、カメラ4−1、4−2、通信部5及び記憶部6と信号線を介して接続されており、入力装置1全体を制御する。
また制御部7は、カメラ4−1及びカメラ4−2のそれぞれから受け取った画像上での指先の位置を求めることで、ユーザの指先の実空間での位置(すなわち、三次元位置)を特定する。そして制御部7は、指先の実空間での位置に基づいて、ユーザによる入力操作が行われたか否かを判定し、入力操作が行われたと判定した場合、指先の位置に応じた処理を実行する。
以下、制御部7により実行される、入力処理に関する構成要素の詳細について説明する。
図4は、制御部7の機能ブロック図である。制御部7は、指領域検出部11と、指先位置算出部12と、接触判定部13と、接触動作判定部14と、更新部15と、入力処理部16とを有する。
制御部7が有するこれらの各部は、例えば、制御部7が有するプロセッサ上で実行されるコンピュータプログラムによって実現される機能モジュールとして実装されてもよい。なお、これらの各部は、それぞれ、別個の回路として、制御部7とは別個に入力装置1に実装されてもよく、あるいはこれらの各部の機能を実現する一つの集積回路として、制御部7とは別個に入力装置1に実装されてもよい。
指領域検出部11は、カメラ4−1及びカメラ4−2のそれぞれから制御部7が画像を取得する度に、何れか一方のカメラから取得した画像上で指が写っている領域である指領域を検出する。以下の説明では、指領域検出部11は、カメラ4−1から得られた画像上の指領域を検出するものとする。
本実施形態では、指領域検出部11は、画像上で肌色に相当する色を持つ領域を、指領域として抽出する。そのために、指領域検出部11は、画像の各画素の値を、次式に従って、RGB表色系で表される値からHSV表色系で表される値に変換する。
ここで、R、G、Bは、それぞれ、変換前の画素の赤色成分、緑色成分、青色成分を表す。またMAX、MINは、それぞれ、変換前の画素の赤色成分、緑色成分、青色成分のうちの最大値及び最小値を表す。そしてH、V、Sは、それぞれ、変換後の画素の色相、明度、彩度を表す。ただし、Hの値に関しては、(1)式により得られた値が負の場合、その値に360を加えた値が色相の値となる。
この例では、明度V及び彩度Sは、それぞれ、0〜255の範囲内の値を取る。また、色相Hは、0〜359の値を取る。
指領域検出部11は、各画素の値がHSV表色系で表された画像から、次式の条件を満たす画素を肌色を持つ画素として抽出する。
指領域検出部11は、抽出された肌色を持つ画素(以下、便宜上、肌色画素と呼ぶ)に対してラベリング処理を実行することにより、肌色画素同士が連結された領域を指領域とする。さらに、指領域検出部11は、肌色画素同士が連結された領域に対してモルフォロジーの膨張収縮演算を行って得られた領域を指領域としてもよい。また、肌色画素同士が連結された領域が複数存在する場合、指領域検出部11は、それら複数の領域のうち、輪郭線の長さが最大となる領域を指領域としてもよい。なお、指領域検出部11は、画像から指領域を検出する様々な方法の何れか、例えば、特開2003−346162号公報に開示されている方法にしたがって指領域を検出してもよい。
指領域が検出されると、指領域検出部11は、指領域の先端を、その画像上での指先の位置として検出する。例えば、画像上では指の根元が上側に位置し、指先が下側に位置することが想定される場合、指領域検出部11は、指領域の輪郭上に位置する画素のうち、垂直方向の座標が最も下方となる画素の位置を指先位置とする。あるいは、指領域検出部11は、画像上での指先位置を検出する様々な方法の何れかにしたがって画像上の指先位置を検出してもよい。
指領域検出部11は、画像上での指領域及び指先位置を指先位置算出部12へ通知する。
指先位置算出部12は、指領域検出部11から指領域及び指先位置が通知される度に、画像上の指先位置と、他方の画像上の対応点とから、実空間での指先位置を算出する。なお、本実施形態では、カメラ4−2による得られた画像のうち、指先位置が検出された画像の撮影時刻と最も近い撮影時刻の画像を他方の画像とする。
そのために、指先位置算出部12は、指領域及び指先位置が検出されたカメラ4−1による画像に対して、カメラ4−2による他方の画像とのマッチングに利用するテンプレートを設定する。テンプレートは、例えば、指先位置を含む、指領域の先端側の一部分が含まれるように設定されることが好ましい。
なお、指先位置算出部12は、テンプレート内の指領域以外の画素の値によるテンプレートマッチングへの影響を低下させるために、テンプレート内の指領域以外の各画素の値を所定値(例えば、0)に書き換えてもよい。
指先位置算出部12は、テンプレートと他方の画像との間でテンプレートマッチングを実行する。その際、指先位置算出部12は、例えば、他方の画像に対するテンプレートの相対的な位置を水平方向(すなわち、カメラ4−1とカメラ4−2間の視差方向)にずらしながら、テンプレートと他方の画像間の正規化相互相関値を算出する。なお、指先位置算出部12は、他方の画像に対するテンプレートの相対的な位置を、垂直方向にもずらしてもよい。そして指先位置算出部12は、正規化相互相関値が最大となったときの他方の画像上でのテンプレートの位置を求める。指先位置算出部12は、テンプレートを正規化相互相関値が最大となったときの他方の画像上の位置に位置合わせしたときのテンプレート内の指先位置に対応する、他方の画像上の点を、指先位置の対応点とする。
本実施形態では、各カメラの設置位置、画角及び解像度が分かっているので、指先位置算出部12は、三角測量に基づいて、一方の画像上での指先位置と、他方の画像上での対応点の位置とから、指先の実空間での位置を求めることができる。例えば、指先位置算出部12は、次式に従って、カメラ4−1の撮像光学系の前側主点を原点とするカメラ座標系における、指先の位置の三次元座標(XC,YC,ZC)を算出する。ただし、カメラ座標系では、カメラ4−1の撮像光学系の前側主点からカメラ4−2の撮像光学系の前側主点へ向かう方向をX軸方向とし、カメラ4−1の撮像光学系の光軸に平行な方向をZ軸方向とする。そしてX軸方向及びZ軸方向と直交する方向をY軸方向とする。
ここで、(xc1,yc1)は、カメラ4−1による画像上の指先位置の座標であり、(xc2,yc2)は、カメラ4−2による画像上の対応点の座標である。Dは、カメラ4−1の撮像光学系の前側主点とカメラ4−2の撮像光学系の前側主点間の距離、すなわち基線長(mm)である。Wは、各画像の水平方向の画素数である。Hは、各画像の垂直方向の画素数である。θは、カメラ4−1、4−2の対角方向の視野角である。
指先位置算出部12は、テーブルに載置された対象物8に指先が接触しているか否かの判定を容易にするため、指先位置の実空間の座標を、カメラ座標系から、テーブル上の任意の点を原点とする世界座標系の座標に変換することが好ましい。
図5は、カメラ座標系と世界座標系の位置関係の一例を示す図である。カメラ座標系500では、上述したように、カメラ4−1の撮像光学系の前側主点が原点に設定される。そしてカメラ4−1の撮像光学系の前側主点からカメラ4−2の撮像光学系の前側主点へ向かう方向がX軸方向となり、カメラ4−1の撮像光学系の光軸に平行な方向がZ軸方向となり、X軸方向及びZ軸方向と直交する方向がY軸方向となる。
一方、世界座標系501では、対象物8が載置されるテーブル502上に原点が設定される。この例では、投影装置2からの映像が投影される領域のコーナーのうちの一つが原点とされる。そして、テーブル502の表面と平行な面において、カメラ4−1の撮像光学系の前側主点とカメラ4−2の撮像光学系の前側主点とを結ぶ線と平行となるように世界座標系501のX軸方向が設定される。また、テーブル502の表面と平行な面において、X軸方向と直交する方向にY軸方向が設定される。そしてテーブル502の表面の法線方向が世界座標系501のZ軸方向となる。
指先位置算出部12は、次式に従って、カメラ座標系における指先の位置の座標P=t(XC,YC,ZC)を、世界座標系における座標P'=t(Xf,Yf,Zf)に変換する。
ここで、Rは、カメラ座標系と世界座標系間の回転量を表す回転行列であり、Tは、カメラ座標系の原点と世界座標系の原点間の平行移動量を表す平行移動ベクトルである。図5に示されるように、カメラ座標系と世界座標系とが配置される場合、カメラ座標系のX軸を回転軸として、カメラ座標系と世界座標系とは、角度θ回転した関係になっているため、回転行列Rは次式で表される。
特に、カメラ4−1の撮像光学系の光軸が対象物8が載置されたテーブルの法線と平行となるようにカメラ4−1が設置されている場合、θ=180°となる。
また、カメラ座標系の原点と世界座標系の原点間の各軸における差が、それぞれ、Da、Db、Dcである場合、平行移動ベクトルTは次式で表される。
なお、回転行列R及び平行移動ベクトルTは、カメラ4−1及びカメラ4−2の設置位置、及び投影装置2の投影範囲に基づいて予め求められ、記憶部6に記憶される。
(4)式〜(6)式より、世界座標系における、指先の位置の座標P'= t(Xf,Yf,Zf)は、次式に従って算出される。
指先位置算出部12は、世界座標系における、指先位置の座標P'を、その算出に用いられた画像についての撮影時刻と対応付けて記憶部6に記憶する。例えば、カメラ4−1及びカメラ4−2の撮影周期が1/60秒である場合、直近の2秒間において、最大120組の指先位置の座標P'が記憶部6に記憶される。
接触判定部13は、ユーザの入力操作を検出するために、ユーザの指先が対象物8に接触したか否かを判定する。そして接触判定部13は、ユーザの指先が対象物8に接触している場合、その接触位置に応じた入力操作が行われたと判定する。
接触判定部13は、記憶部6の高さマップから、指先位置P'のうちのX方向及びY方向の座標(Xf,Yf)に対応する、対象物8の高さZtを読み込む。この高さZtも、世界座標系で表される。そして接触判定部13は、指先位置P'のZ方向の座標であるZfと対象物8の高さZtとが下記の条件を満たす場合、すなわち、ZfとZtとの差が所定の許容範囲内である場合、指先は対象物8と接触したと判定する。一方、下記の条件が満たされない場合には、接触判定部13は、指先は対象物8と接触していないと判定する。
ここで、FHは、例えば、指先部分における指の厚みに相当する値であり、例えば、10mmに設定される。また、Mzは、接触判定の際に、人による指の厚みの違い、あるいは、対象物8への指の触り方による指の高さの違いを考慮したマージンであり、例えば、5mmに設定される。Mzが大きくなるほど、指先が対象物8に実際には接触していない場合でも、接触したと判定され易くなる。
なお、接触判定部13は、直近の所定期間に各カメラにより得られた画像から検出された指先位置P'に基づいて、指先が対象物8に接触したか否かを判定してもよい。例えば、接触判定部13は、直近の所定期間(例えば、5フレーム分)の指先位置P'の平均値(Xfave, Yfave, Zfave)を算出してもよい。そして接触判定部13は、その平均値における、Z座標の値Zfaveが(Zt+FH+Mz)以下である場合、指先が対象物8に接触したと判定してもよい。
接触判定部13は、指先が対象物8に接触したと判定した場合、指先位置P'を入力処理部16へ通知する。一方、接触判定部13は、指先が対象物8に接触していないと判定した場合、その旨を接触動作判定部14へ通知する。
接触動作判定部14は、接触判定部13が指先が対象物8に接触していないと判定した場合、直近の所定期間中に求められた指先位置のそれぞれに基づいて、指の動作を表す特徴量を算出する。そして接触動作判定部14は、その特徴量が、指先を対象物8に触れようとする接触動作に相当する条件を満たすか否か判定する。その特徴量がその条件を満たす場合、接触動作判定部14は、ユーザの指先は対象物8に接触したと判定する。
ここで、一般に、ユーザが対象物8に指先を接触させているにもかかわらず、入力装置1が何の反応も示さない場合にユーザが取り得る接触動作として、以下の2通りの動作が想定される。
(1)対象物に指を接触させたまま、指を動かさずに静止させる
(2)対象物の同一場所を指先で触れる動作を繰り返す。すなわち、対象物の同一場所を下端として、指を上下に繰り返し移動させる
図6(a)は、ユーザが上記の(1)の動作を行っている場合における、テーブルからの指の高さの時間変化の測定結果の一例を示す図である。また図6(b)は、ユーザが上記の(2)の動作を行っている場合における、テーブルからの指の高さの時間変化の測定結果の一例を示す図である。図6(a)及び図6(b)において、横軸は時間を表し、縦軸はテーブルからの高さを表す。そしてグラフ600は、ユーザが上記の(1)の動作を行っている場合における、時間経過と指先の高さの関係を表す。また、グラフ601は、ユーザが上記の(2)の動作を行っている場合における、時間経過と指先の高さの関係を表す。
ユーザが上記(1)及び(2)の何れかの動作を行ったとする。この場合、グラフ600及びグラフ601に示されるように、その動作中における指先位置の下端、すなわち、その動作中における、指先とテーブル間の距離の極小値(言い換えれば、カメラ4−1から指先までの距離の極大値)は、ほぼ一定となる。これは、ユーザの指が、その下端位置において対象物8と接触し、それ以上、テーブルへ近づける方向へ指を動かせないためである。
これに対して、図7(a)は、ユーザが指を下方へ移動させ、何かの物体に指が触れるよりも前に指を静止させた場合における、テーブルからの指の高さの時間変化の測定結果の一例を示す図である。図7(a)において、横軸は時間を表し、縦軸はテーブルからの高さを表す。そしてグラフ700は、ユーザが上記の動作を行っている場合における、時間経過と指先の高さの関係を表す。また図7(b)は、ユーザが指を下方へ移動させ、何かの物体に指が触れるよりも前に指を静止させる動作を繰り返した場合における、テーブルからの指の高さの時間変化の測定結果の一例を示す図である。図7(b)において、横軸は時間を表し、縦軸はテーブルからの高さを表す。そしてグラフ701は、ユーザがその動作を繰り返した場合における、時間経過と指先の高さの関係を表す。
ユーザが指を空中で静止させる場合、グラフ700及びグラフ701に示されるように、その動作中における、指先の位置の下端はばらつく。これは、その下端の位置で指が接触する物体が無いため、ユーザが同じ位置で指を静止させることが困難なためである。
そこで、接触動作判定部14は、直近の所定期間(例えば、2秒間)中に求められた、実空間での指先位置のそれぞれから、上記の(1)または(2)の動作を行っているか否かを判定するために利用される、指の動作を表す特徴量を算出する。
例えば、接触動作判定部14は、上記の(1)の動作を行っているか否かを判定するための特徴量として、所定期間における、実空間での指先位置のバラツキ度合いを表す指標を算出する。そのような指標として、例えば、接触動作判定部14は、世界座標系の各軸ごとの指先位置(Xf,Yf,Zf)の最大値と最小値の差XD=|Xfmax-Xfmin|、YD=|Yfmax-Yfmin|、ZD=|Zfmax-Zfmin|を算出する。なお、Xfmax、Yfmax、Zfmaxは、異なるタイミングで得られた指先位置の座標値であってもよい。同様に、Xfmin、Yfmin、Zfminも、異なるタイミングで得られた指先位置の座標値であってもよい。
この場合、接触動作判定部14は、特徴量(XD,YD,ZD)が下記の条件を満たす場合、ユーザは上記の(1)の動作を行ったと判定する。
ここで、Mxdiff、Mydiff、Mzdiffは、指先の位置が静止しているとみなせる指先位置の移動量の最大値であり、例えば、Mxdiff=Mydiff=Mzdiff=2mmに設定される。
また、接触動作判定部14は、上記の(2)の動作を行っているか否かを判定するための特徴量として、所定期間中に求められた指先位置の高さZfのうち、その最小値Zfminとの差ZDがMzdiff以下となった回数NumZminを算出する。なお、指先位置の高さの最小値Zfminは、カメラ4−1から指先位置までの距離の最大値に対応する。この場合、接触動作判定部14は、NumZminが所定回数ThNum以上となる条件を満たす場合に、ユーザは上記の(2)の動作を行ったと判定する。なお、所定回数ThNumは、例えば、所定期間中の指先位置の測定回数に0.5〜0.7を乗じた値に設定される。例えば、上記のように、所定期間が2秒間で、カメラ4−1及びカメラ4−2の撮影周期が60フレーム/秒である場合、所定期間中に指先位置が120回測定される。この場合、所定回数ThNumは、例えば、80回に設定される。さらに、接触動作判定部14は、NumZminが所定回数ThNum以上となることに加えて、所定期間中にZD=(Zf-Zfmin)がMzdiffよりも大きくなった回数が所定回数ThNum2以上となったことを、ユーザが上記の(2)の動作を行ったと判定する条件としてもよい。この場合ThNum2は、例えば、(ThNum+ThNum2)が所定期間中の指先位置の測定回数以下となり、かつ、その測定回数に0.2〜0.4を乗じた値に設定される。
なお、接触動作が行われたか否かの判定に用いる特徴量は、上記の例に限られない。例えば、接触動作判定部14は、上記の(1)の動作判定に用いられる、指先位置のバラツキ度合いの他の指標、例えば、所定期間中での、世界座標系の各軸ごとの指先位置の標準偏差または分散を、特徴量として算出してもよい。そして接触動作判定部14は、軸ごとの指先位置の標準偏差または分散が、何れも所定の閾値以下となる場合に、上記の(1)の動作を行っていると判定してもよい。さらにまた、接触動作判定部14は、指先位置のバラツキ度合いの指標を特徴量とする場合、高さ方向についてのみ、座標の最大値と最小値の差、標準偏差または分散を求めてもよい。
また、ユーザが上記の(2)の動作を行う場合、指先で繰り返し対象物8の同じ位置に触れると想定される。そのため、(2)の動作の実行中において、指先位置が下端に達する度に、テーブルの表面と平行な面(すなわち、水平面)における指先位置はほぼ同一となると想定される。そこで、接触動作判定部14は、上記の(2)の動作判定用の特徴量として、所定期間における、指先位置の高さが極小値となるときの指先位置のバラツキ度合いの指標を特徴量として算出してもよい。その指標は、例えば、指先位置の高さが極小値となるときの指先位置のテーブル面に平行な面の座標(Xf,Yf)の各軸の最大値と最小値の差の絶対値(XD,YD)、分散または標準偏差とすることができる。そして接触動作判定部14は、軸ごとの特徴量が何れも所定の閾値以下となる場合に上記の(2)の動作を行っていると判定してもよい。
なお、接触動作判定部14は、上記の(1)の動作及び(2)の動作のうちの何れか一方についてのみ、対応する特徴量を算出し、その特徴量が接触動作に対応する条件を満たすか否かを判定してもよい。
接触動作判定部14は、所定期間においてユーザが対象物8への接触動作を行ったと判定した場合、その所定期間中において指先位置の高さが最小となるときの指先位置をP'として、更新部15及び入力処理部16へ通知する。
更新部15は、登録部の一例であり、接触動作判定部14により、ユーザが接触動作を行ったと判定された場合、高さマップを更新する。これは、少なくとも、ユーザが接触動作を行ったと判定された場合における、指先位置P'では、高さマップに登録されている対象物8の高さが不正確であるためである。
例えば、更新部15は、通知された指先位置P'(Xf,Yf,Zf)のうち、テーブルの表面に平行な面上の座標であるX方向及びY方向の座標(Xf,Yf)に対応する、地図マップに登録された対象物8の高さZtを次式で更新する。
なお、Ztnewは、更新後の対象物8の高さである。またFHは、(8)式におけるFHと同様に、指の厚さの想定値である。
なお、更新部15は、座標(Xf,Yf)だけでなく、高さマップに登録されている全ての位置について、対象物8の高さをZtnewに更新してもよい。あるいは、更新部15は、対象物8が載置される可能性がある範囲が予め分かっている場合、その範囲に含まれる各位置について、対象物8の高さをZtnewに更新してもよい。
また、通知された指先位置P'における指先の高さZfが、その位置(Xf,Yf)における、高さマップに登録された対象物8の高さZtよりも低い場合、すなわち、次式が満たされる場合、一旦高さマップに登録された対象物が除去された可能性が高い。
そこでこの場合、更新部15は、その位置(Xf,Yf)における、対象物8の高さZtnewをテーブル面と同じ高さ、すなわち0に更新してもよい。あるいは、更新部15は、(11)式が満たされる場合、高さマップに登録されている、全ての位置、あるいは、対象物8が載置される可能性がある範囲に含まれる各位置について、対象物8の高さZtnewを0としてもよい。
なお、(11)式が満たされる場合には、更新部15は、接触動作判定部14による、指先は対象物8に接触したとの判定結果を取り消すことを入力処理部16に通知してもよい。
入力処理部16は、ユーザの指先が対象物8と接触した位置P'に応じた入力処理を、例えば、制御部7で動作中のアプリケーションプログラムに応じて実行する。例えば、入力処理部16は、投影装置2に、その位置P'を中心とする所定の色かつ所定のサイズの円を含む映像を投影させる。
この場合、入力処理部16は、世界座標系での位置P'に相当する投影装置2の表示画面上の位置を特定する。そのために、入力処理部16は、世界座標系での位置P'の座標を、投影装置2の表示画面の中心を原点とする座標系(以下、便宜上、プロジェクタ座標系と呼ぶ)での座標P''=t(Xp, Yp, Zp)に変換する。世界座標系からプロジェクタ座標系への座標の変換は、(4)式と同様の式により計算される。その際、回転行列Rは、世界座標系からプロジェクタ座標系への回転量を表し、平行移動ベクトルTは、世界座標系の原点からプロジェクタ座標系の原点への移動量を表す。そして入力処理部16は、プロジェクタ座標系での位置P''の座標を、対応する投影装置2の表示画面上の二次元座標(xp, yp)に変換する。例えば、入力処理部16は、投影装置2の表示画面上の二次元座標(xp, yp)を、次式に従って算出する。
ここで、fpは、投影装置2の投影光学系の焦点距離である。pimageWは、投影装置2の水平方向の表示画素数である。pimageHは、投影装置2の垂直方向の表示画素数である。なお、投影装置2に、位置P'を中心とする所定の半径を持つ円を投影させるために、入力処理部16は、対象物8が載置されるテーブル上でのその円に接する正方形の四隅の点の世界座標系での座標を求める。そして入力処理部16は、その各点の座標を、投影装置2の表示画面上の二次元座標に変換する。そして入力処理部16は、その各点を4隅とする正方形に内接する円を投影装置2の表示画面に描画させればよい。
入力処理部16は、上記の処理に限られず、指先が対象物8に接触した位置P'に応じた様々な入力処理を実行できる。例えば、入力処理部16は、位置P'に応じたアプリケーションを起動したり、位置P'に応じて投影装置2が投影する映像を変化させてもよい。また入力処理部16は、位置P'の時間的な変化に応じた入力処理を実行してもよい。例えば、入力処理部16は、位置P'の移動方向に沿って、投影装置2が投影する映像をスクロールさせたり、拡大あるいは縮小させてもよい。
図8は、制御部7により実行される入力操作検出処理の動作フローチャートである。
指領域検出部11は、カメラ4−1から得られた画像上で指が写っている指領域を検出する(ステップS101)。そして指領域検出部11は、指領域の先端を画像上での指先位置として検出する(ステップS102)。
指先位置算出部12は、カメラ4−1から得られた画像上での指先位置に対する、カメラ4−2から得られた画像上の対応点を特定する(ステップS103)。そして指先位置算出部12は、画像上での指先位置とその対応点とに基づいて、実空間での指先位置P'(Xf,Yf,Zf)を算出する(ステップS104)。
接触判定部13は、実空間での指先位置P'における、テーブルから指先までの高さZfが(8)式の接触判定条件を満たすか否か判定する(ステップS105)。高さZfが(8)式の接触判定条件を満たさない場合(ステップS105−No)、接触動作判定部14は、直近の所定期間中に求められた実空間での指先位置のそれぞれから、指の動作を表す特徴量を算出する(ステップS106)。そして接触動作判定部14は、その特徴量が接触動作の実行に相当する条件を満たすか否か判定する(ステップS107)。
その特徴量が接触動作の実行に相当する条件を満たさない場合(ステップS107−No)、接触動作判定部14は、ユーザは接触動作を行っていないと判定する。そして制御部7は、入力処理を終了する。
一方、その特徴量が接触動作の実行に相当する条件を満たす場合(ステップS107−Yes)、接触動作判定部14は、ユーザは接触動作を行ったと判定する。そして更新部15は、所定期間中の指先の高さの最小値に対応する指先位置を改めてP'とし、そのP'に基づいて高さマップを更新する(ステップS108)。
ステップS108の後、あるいは、ステップS105にて、高さZfが(8)式の接触判定条件を満たす場合(ステップS105−Yes)、入力処理部16は、その指先位置P'に応じた処理を実行する(ステップS109)。そして制御部7は、入力処理を終了する。
以上に説明してきたように、この入力装置は、二つのカメラからの画像によって求めた指先のテーブルからの高さによって、指先が対象物に接触したことを検知できない場合、所定期間中のその指先の位置から、指の動作を表す特徴量を算出する。そしてこの入力装置は、その特徴量が接触動作に相当する条件を満たした場合、指先が対象物に接触したと判定する。そのため、この入力装置は、テーブルからの対象物の高さが不明であったり、あるいは、不正確である場合にも、ユーザが指先で対象物に触れるという入力操作を検出できる。
他の実施形態によれば、指の動作を表す特徴量が接触動作に相当する条件を満たした場合、制御部は、確認用に投影装置を介してボタンを表示させてもよい。そして制御部は、ユーザがそのボタンに触れる動作を行った場合に、ユーザが入力操作を行ったと判定してもよい。
図9は、第2の実施形態による制御部の機能ブロック図である。第2の実施形態による制御部71は、指領域検出部11と、指先位置算出部12と、接触判定部13と、接触動作判定部14と、更新部15と、入力処理部16と、確認動作判定部17とを有する。
第2の実施形態による制御部71は、第1の実施形態による制御部7と比較して、確認動作判定部17を有する点で異なる。そこで以下では、確認動作判定部17及びその関連部分について説明する。入力装置1のその他の構成要素については上記の実施形態の対応する構成要素の説明を参照されたい。
接触動作判定部14は、ユーザが接触動作を行ったと判定すると、ユーザの指先位置P'を、確認動作判定部17へ通知する。
確認動作判定部17は、接触動作判定部14によりユーザが接触動作を行ったと判定された場合に、投影装置2により、操作確認用のマークの一例であるボタンをテーブル面へ向けて投影させる。
図10(a)及び図10(b)は、それぞれ、操作確認用のボタンの一例を示す図である。図10(a)に示されたボタン1000は、指先位置P'(Xf,Yf,Zf)よりも右側に投影される。この場合、例えば、ボタン1000の中心の位置BC(Xb,Yb,Zb)は、Xb=Xf+30mm、Yb=Yf、Zb=Zf-FHに設定され、ボタン1000の半径Rcbは、例えば、15mmに設定される。
また、図10(b)に示されたボタン1001は、指先位置P'(Xf,Yf,Zf)と重なるように投影される。この場合、例えば、ボタン1001の中心の位置BC(Xb,Yb,Zb)は、Xb=Xf、Yb=Yf、Zb=Zf-FHに設定され、ボタン1000の半径Rcbは、例えば、15mmに設定される。
なお、確認動作判定部17は、投影面での操作確認用のボタンの位置及び範囲に対応する、投影装置2の表示画面上の位置及び範囲を、上記の実施形態における、入力処理部16が円を投影するときと同様に決定すればよい。
また、操作確認用のボタンの形状及びサイズは、上記の例に限られない。例えば、ボタンは三角形、四角形または六角形でもよい。また、ボタンのサイズは、上記の例によるボタンのサイズよりも小さくてもよい。
図11(a)は、接触動作判定部14により求められた指先位置P'が対象物8の表面に位置している場合における、対象物8とボタンの関係の一例を示す図である。一方、図11(b)は、接触動作判定部14により求められた指先位置P'が空中に位置している場合における、対象物8とボタンの関係の一例を示す図である。
図11(a)に示されるように、指先が対象物8に触れている場合、すなわち、指先位置P'が対象物8の表面に位置している場合には、ボタン1100は、対象物8の表面に投影される。そのため、ボタン1100は意図した高さの位置に表示され、かつ、意図したサイズ(上記の例では、直径略30mm)となる。一方、図11(b)に示されるように、指先位置P'には、実際には対象物は存在せず、接触動作が誤検出されている場合には、ボタン1101は、意図した高さの位置よりも低い位置、例えばテーブル上に表示される。そのため、ボタン1101は意図したサイズよりも大きく(上記の例では、直径略37mm)となる。さらに、ボタンの投影方向が鉛直下方に対して斜め向きとなる場合には、その投影方向に応じてボタンの位置もずれる。
なお、確認動作判定部17は、ボタンの投影位置を、指先位置P'とは無関係に設定してもよい。例えば、確認動作判定部17は、ボタンを、投影装置2による投影範囲の中央、あるいは、投影範囲の左端または右端に投影してもよい。ただしこの場合には、ユーザがボタンに触れたときの指先位置の情報は、高さマップの更新には利用されない。
確認動作判定部17は、ボタンが投影された後、一定の待ち時間(例えば、1秒間)を経過した時点から所定期間(例えば、1〜2秒間)内に得られた指先位置Pr(Xf',Yf',Zf')の何れかが、ボタンの投影位置に応じた許容範囲内に含まれるか否かを判定する。そして確認動作判定部17は、指先位置Prがその許容範囲に含まれると判定した場合、ユーザは、指でボタンに触れる動作、すなわち、確認動作を行ったと判定する。この場合、確認動作判定部17は、ユーザは、接触動作判定部14から受け取った指先位置P'にて対象物8に触れる入力操作を行ったと判定する。そして確認動作判定部17は、その指先位置P'を更新部15及び入力処理部16へ渡す。
なお、許容範囲は次式で表される。
ここで、Mzは高さ方向の許容範囲であり、例えば、5mmに設定される。(13)式に示されるように、許容範囲は、意図されたボタンの位置及びサイズに基づいて決定される。そのため、接触動作が誤検出され、その結果としてボタンの投影位置が意図した位置からずれている場合には、ユーザの指が実際に表示されているボタンの位置にあったとしても、(13)式が満たされる可能性は低くなる。
確認動作判定部17は、ユーザが確認動作を行ったと判定した場合、投影装置2にボタンの投影を停止させる。すなわち、確認動作判定部17は、ボタンが表示されないようにする。あるいは、確認動作判定部17は、ユーザが確認動作を行ったと判定した場合、投影装置2に、ボタンの色を変更させた後、ボタンの投影を停止させてもよい。
一方、確認動作判定部17は、所定期間を経過してもユーザが確認動作を行ったと判定されない場合も、投影装置2にボタンの投影を停止させる。あるいは、確認動作判定部17は、所定期間を経過してもユーザが確認動作を行ったと判定されない場合、投影装置2に、「ボタンに触れて下さい」などのメッセージを表示させたり、ボタンの色を変更させてもよい。そして確認動作判定部17は、そのメッセージ表示後、あるいは、ボタンの色の変更後、さらに所定期間が経過した時点で投影装置2にボタンの投影を停止させてもよい。
さらに、確認動作判定部17は、ボタン表示後に、ユーザが一旦指を上げてから、その後に指でボタンに触れる動作(すなわち、タップ動作)を行ったことを検知した場合に、ユーザが確認動作を行ったと判定してもよい。例えば、確認動作判定部17は、指先位置Prが(13)式の条件を満たした時点の直前の1〜2秒間の間に求められた指先位置のテーブルからの高さのそれぞれを、指先位置Prでのテーブルからの高さZf'と比較する。そして確認動作判定部17は、指先位置の何れかが、Zf'よりも所定のオフセット(例えば、5mm〜10mm)以上高い場合に、ユーザが一旦指を上げてから、その後に指でボタンに触れる動作を行ったと判定してもよい。これにより、ユーザが指をボタンに触れることを意図していない場合に、確認動作判定部17は、ユーザが確認動作を行ったと誤判定することを抑制できる。
図12は、第2の実施形態による入力処理の動作フローチャートである。第2の実施形態による入力処理は、第1の実施形態による入力処理と比較して、ステップS106よりも後の処理が異なる。そこで以下では、ステップS106の後に実行される処理について説明する。
ステップS106にて、指の動作を表す特徴量が算出されると、接触動作判定部14は、その特徴量が接触動作の実行に相当する条件を満たすか否か判定する(ステップS201)。
その特徴量が接触動作の実行に相当する条件を満たさない場合(ステップS201−No)、接触動作判定部14は、ユーザは接触動作を行っていないと判定する。そして制御部71は、入力処理を終了する。
一方、その特徴量が接触動作の実行に相当する条件を満たす場合(ステップS201−Yes)、確認動作判定部17は、投影装置2に、テーブル面へ向けてボタンを投影させる(ステップS202)。そして確認動作判定部17は、ボタン投影後の一定期間に求められた指先の実空間の位置Prがボタンの投影位置に応じた許容範囲に含まれるか否かを判定する(ステップS203)。
ボタン投影後の一定期間が経過しても、指先の実空間の位置Prが許容範囲に含まれることがない場合(ステップS203−No)、確認動作判定部17は、ユーザは確認動作を行っていないと判定する。そして制御部71は、入力処理を終了する。
一方、ボタン投影後の一定期間内の何れかの時点で指先の実空間の位置Prが許容範囲に含まれた場合(ステップS203−Yes)、確認動作判定部17は、ユーザは確認動作を行ったと判定する。そして更新部15は、接触動作判定における所定期間中の指先の高さの最小値に対応する指先位置をP'とし、そのP'に基づいて高さマップを更新する(ステップS204)。そして入力処理部16は、指先位置P'に応じた処理を実行する(ステップS205)。そして制御部71は、入力処理を終了する。
第2の実施形態によれば、入力装置は、接触動作を検出した後に表示させたボタンに指先が触れたことを条件として、入力操作が行われたと判定するので、接触動作を誤検出したとしても、ユーザが意図しない入力操作を誤検出することを抑制できる。
なお、変形例によれば、更新部15は、接触動作判定部14の処理と確認動作判定部17の処理とを、互いに異なる複数個所(好ましくは、3ヵ所以上)で実行することで、複数個所のそれぞれでのテーブルから対象物8の表面までの高さを求めてもよい。そして更新部15は、その各点を通る平面あるいは曲面を、例えば、最小二乗法を用いて求め、その平面または曲面により、対象物8の表面を近似的に表してもよい。
例えば、更新部15は、次式で表される平面の式に対して、最小二乗法を適用することで、平面を規定するパラメータa,b,c,dを求めることができる。
そして更新部15は、対象物8の表面を近似的に表す平面または曲面に従って、テーブルと平行な面の位置ごとにおける、テーブルから対象物8の表面までの高さを求めることで高さマップを更新してもよい。
また他の変形例によれば、入力装置は、ユーザが接触動作を行ったと判定した場合、あるいはユーザが接触動作を行い、かつ、確認動作を行ったと判定した場合にのみ、入力操作が行われたと判定してもよい。この場合には、対象物の高さの情報は利用されないので、記憶部は、高さマップを記憶しなくてもよい。また、制御部で行われる処理のうち、接触判定部の処理及び更新部の処理が省略されてもよい。
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
1 入力装置
2 投影装置
3 ミラー
4−1、4−2 カメラ
5 通信部
6 記憶部
7 制御部
8 対象物
11 指領域検出部
12 指先位置算出部
13 接触判定部
14 接触動作判定部
15 更新部
16 入力処理部
17 確認動作判定部

Claims (12)

  1. 所定の撮影周期ごとに、指を撮影して当該指が表された第1の画像を生成する第1の撮像部と、
    前記第1の撮像部と所定間隔離して配置され、かつ、前記所定の撮影周期ごとに、前記指を撮影して前記指が表された第2の画像を生成する第2の撮像部と、
    投影装置と、
    前記所定の撮影周期ごとに、前記第1の画像において前記指の先端に相当する指先位置を検出する指領域検出部と、
    前記所定の撮影周期ごとに、前記指先位置に対応する前記第2の画像上の対応点を求め、前記第1の画像上の前記指先位置と前記第2の画像上の前記対応点とに基づいて、前記指の先端の実空間での位置を算出する指先位置算出部と、
    所定期間中に算出された前記指の先端の実空間での位置のそれぞれに基づいて、前記指の動作を表す特徴量を算出し、前記特徴量が指で対象物に触れる動作を表す条件を満たすか否かを判定する接触動作判定部と、
    前記特徴量が前記条件を満たす場合、前記投影装置に所定の位置へ所定のマークを投影させ、該投影後の一定期間内の何れかの時点で前記指の先端の実空間での位置が前記マークの投影位置に応じた高さ方向を含む所定範囲内に含まれる場合に入力操作が行われたと判定する確認動作判定部と、
    を有し、
    前記接触動作判定部は、前記所定期間中に算出された前記指の先端の実空間の位置のうち、前記所定期間中で前記第1の撮像部から最も遠い前記指の先端の実空間での位置からの距離が所定値以下となる回数を前記特徴量として算出し、前記回数が前記所定期間中に算出された前記指の先端の実空間での位置の総数に対する所定割合以上となる場合に、前記特徴量は前記条件を満たすと判定する、入力装置。
  2. 所定の撮影周期ごとに、指を撮影して当該指が表された第1の画像を生成する第1の撮像部と、
    前記第1の撮像部と所定間隔離して配置され、かつ、前記所定の撮影周期ごとに、前記指を撮影して前記指が表された第2の画像を生成する第2の撮像部と、
    投影装置と、
    前記所定の撮影周期ごとに、前記第1の画像において前記指の先端に相当する指先位置を検出する指領域検出部と、
    前記所定の撮影周期ごとに、前記指先位置に対応する前記第2の画像上の対応点を求め、前記第1の画像上の前記指先位置と前記第2の画像上の前記対応点とに基づいて、前記指の先端の実空間での位置を算出する指先位置算出部と、
    所定期間中に算出された前記指の先端の実空間での位置のそれぞれに基づいて、前記指の動作を表す特徴量を算出し、前記特徴量が指で対象物に触れる動作を表す条件を満たすか否かを判定する接触動作判定部と、
    前記特徴量が前記条件を満たす場合、前記投影装置に所定の位置へ所定のマークを投影させ、該投影後の一定期間内の何れかの時点で前記指の先端の実空間での位置が前記マークの投影位置に応じた高さ方向を含む所定範囲内に含まれる場合に入力操作が行われたと判定する確認動作判定部と、
    を有し、
    前記接触動作判定部は、前記所定期間中に算出された前記指の先端の実空間の位置のバラツキ度合いを表す指標を前記特徴量として算出し、前記バラツキ度合いが所定値以下となる場合に、前記特徴量は前記条件を満たすと判定する、入力装置。
  3. 所定の撮影周期ごとに、指を撮影して当該指が表された第1の画像を生成する第1の撮像部と、
    前記第1の撮像部と所定間隔離して配置され、かつ、前記所定の撮影周期ごとに、前記指を撮影して前記指が表された第2の画像を生成する第2の撮像部と、
    投影装置と、
    前記所定の撮影周期ごとに、前記第1の画像において前記指の先端に相当する指先位置を検出する指領域検出部と、
    前記所定の撮影周期ごとに、前記指先位置に対応する前記第2の画像上の対応点を求め、前記第1の画像上の前記指先位置と前記第2の画像上の前記対応点とに基づいて、前記指の先端の実空間での位置を算出する指先位置算出部と、
    所定期間中に算出された前記指の先端の実空間での位置のそれぞれに基づいて、前記指の動作を表す特徴量を算出し、前記特徴量が指で対象物に触れる動作を表す条件を満たすか否かを判定する接触動作判定部と、
    前記特徴量が前記条件を満たす場合、前記投影装置に所定の位置へ所定のマークを投影させ、該投影後の一定期間内の何れかの時点で前記指の先端の実空間での位置が前記マークの投影位置に応じた高さ方向を含む所定範囲内に含まれる場合に入力操作が行われたと判定する確認動作判定部と、
    を有し、
    前記接触動作判定部は、前記所定期間中に算出された前記指の先端の実空間の位置のうち、前記第1の撮像部からの距離が極大値となる位置のバラツキ度合いを表す指標を前記特徴量として算出し、前記バラツキ度合いが所定値以下となる場合に、前記特徴量は前記条件を満たすと判定する入力装置。
  4. 前記確認動作判定部は、前記特徴量が前記条件を満たすと判定されたときの前記指の先端の実空間での位置よりも所定距離低い位置を前記所定の位置とし、前記所定の範囲を、高さ方向に関して前記所定のマークの高さから前記所定距離高い位置を含むように設定する、請求項1〜3の何れか1項に記載の入力装置。
  5. 前記確認動作判定部は、前記所定期間中で前記第1の撮像部から最も遠い前記指の先端の実空間での位置に応じて前記マークの投影位置を設定する、請求項1〜4の何れか一項に記載の入力装置。
  6. 前記マーク投影後の前記一定期間内において前記指の先端の実空間での位置が前記所定範囲内に含まれた場合に、前記所定期間中で前記第1の撮像部から最も遠い前記指の先端の実空間の位置における、基準面からの前記指の先端の高さを当該位置における対象物の高さとして記憶部に記憶させる登録部と、
    前記第1の画像上の前記指先位置と前記第2の画像上の前記対応点とに基づいて算出された前記指の先端の実空間での位置における、前記基準面からの前記指の先端の高さと前記記憶部に記憶されている当該位置での前記対象物の高さとの差が所定の許容範囲内である場合に入力操作が行われたと判定する接触判定部をさらに有し、
    前記接触動作判定部は、前記差が前記所定の許容範囲に含まれない場合に、前記特徴量が前記条件を満たすか否かを判定する、請求項1〜5の何れか一項に記載の入力装置。
  7. 所定の撮影周期ごとに第1の撮像部が指を撮影することにより生成した、当該指が表された第1の画像において前記指の先端に相当する指先位置を検出し、
    前記所定の撮影周期ごとに、前記第1の撮像部と所定間隔離して配置された第2の撮像部が前記指を撮影することにより生成した第2の画像上で前記指先位置に対応する対応点を求め、前記第1の画像上の前記指先位置と前記第2の画像上の前記対応点とに基づいて、前記指の先端の実空間での位置を算出し、
    所定期間中に算出された前記指の先端の実空間での位置のそれぞれに基づいて、前記指の動作を表す特徴量を算出し、前記特徴量が指で対象物に触れる動作を表す条件を満たすか否かを判定し、
    前記特徴量が前記条件を満たす場合、投影装置に所定の位置へ所定のマークを投影させ、該投影後の一定期間内の何れかの時点で前記指の先端の実空間での位置が前記マークの投影位置に応じた高さ方向を含む所定範囲内に含まれる場合に入力操作が行われたと判定
    前記特徴量が前記条件を満たすか否かを判定することは、前記所定期間中に算出された前記指の先端の実空間の位置のうち、前記所定期間中で前記第1の撮像部から最も遠い前記指の先端の実空間での位置からの距離が所定値以下となる回数を前記特徴量として算出し、前記回数が前記所定期間中に算出された前記指の先端の実空間での位置の総数に対する所定割合以上となる場合に、前記特徴量は前記条件を満たすと判定することを含む入力操作検出方法。
  8. 所定の撮影周期ごとに第1の撮像部が指を撮影することにより生成した、当該指が表された第1の画像において前記指の先端に相当する指先位置を検出し、
    前記所定の撮影周期ごとに、前記第1の撮像部と所定間隔離して配置された第2の撮像部が前記指を撮影することにより生成した第2の画像上で前記指先位置に対応する対応点を求め、前記第1の画像上の前記指先位置と前記第2の画像上の前記対応点とに基づいて、前記指の先端の実空間での位置を算出し、
    所定期間中に算出された前記指の先端の実空間での位置のそれぞれに基づいて、前記指の動作を表す特徴量を算出し、前記特徴量が指で対象物に触れる動作を表す条件を満たすか否かを判定し、
    前記特徴量が前記条件を満たす場合、投影装置に所定の位置へ所定のマークを投影させ、該投影後の一定期間内の何れかの時点で前記指の先端の実空間での位置が前記マークの投影位置に応じた高さ方向を含む所定範囲内に含まれる場合に入力操作が行われたと判定
    前記特徴量が前記条件を満たすか否かを判定することは、前記所定期間中に算出された前記指の先端の実空間の位置のバラツキ度合いを表す指標を前記特徴量として算出し、前記バラツキ度合いが所定値以下となる場合に、前記特徴量は前記条件を満たすと判定することを含む入力操作検出方法。
  9. 所定の撮影周期ごとに第1の撮像部が指を撮影することにより生成した、当該指が表された第1の画像において前記指の先端に相当する指先位置を検出し、
    前記所定の撮影周期ごとに、前記第1の撮像部と所定間隔離して配置された第2の撮像部が前記指を撮影することにより生成した第2の画像上で前記指先位置に対応する対応点を求め、前記第1の画像上の前記指先位置と前記第2の画像上の前記対応点とに基づいて、前記指の先端の実空間での位置を算出し、
    所定期間中に算出された前記指の先端の実空間での位置のそれぞれに基づいて、前記指の動作を表す特徴量を算出し、前記特徴量が指で対象物に触れる動作を表す条件を満たすか否かを判定し、
    前記特徴量が前記条件を満たす場合、投影装置に所定の位置へ所定のマークを投影させ、該投影後の一定期間内の何れかの時点で前記指の先端の実空間での位置が前記マークの投影位置に応じた高さ方向を含む所定範囲内に含まれる場合に入力操作が行われたと判定
    前記特徴量が前記条件を満たすか否かを判定することは、前記所定期間中に算出された前記指の先端の実空間の位置のうち、前記第1の撮像部からの距離が極大値となる位置のバラツキ度合いを表す指標を前記特徴量として算出し、前記バラツキ度合いが所定値以下となる場合に、前記特徴量は前記条件を満たすと判定することを含む入力操作検出方法。
  10. 所定の撮影周期ごとに第1の撮像部が指を撮影することにより生成した、当該指が表された第1の画像において前記指の先端に相当する指先位置を検出し、
    前記所定の撮影周期ごとに、前記第1の撮像部と所定間隔離して配置された第2の撮像部が前記指を撮影することにより生成した第2の画像上で前記指先位置に対応する対応点を求め、前記第1の画像上の前記指先位置と前記第2の画像上の前記対応点とに基づいて、前記指の先端の実空間での位置を算出し、
    所定期間中に算出された前記指の先端の実空間での位置のそれぞれに基づいて、前記指の動作を表す特徴量を算出し、前記特徴量が指で対象物に触れる動作を表す条件を満たすか否かを判定し、
    前記特徴量が前記条件を満たす場合、投影装置に所定の位置へ所定のマークを投影させ、該投影後の一定期間内の何れかの時点で前記指の先端の実空間での位置が前記マークの投影位置に応じた高さ方向を含む所定範囲内に含まれる場合に入力操作が行われたと判定する、ことをコンピュータに実行させるための入力操作検出用コンピュータプログラムであって、
    前記特徴量が前記条件を満たすか否かを判定することは、前記所定期間中に算出された前記指の先端の実空間の位置のうち、前記所定期間中で前記第1の撮像部から最も遠い前記指の先端の実空間での位置からの距離が所定値以下となる回数を前記特徴量として算出し、前記回数が前記所定期間中に算出された前記指の先端の実空間での位置の総数に対する所定割合以上となる場合に、前記特徴量は前記条件を満たすと判定することを含む、入力操作検出用コンピュータプログラム。
  11. 所定の撮影周期ごとに第1の撮像部が指を撮影することにより生成した、当該指が表された第1の画像において前記指の先端に相当する指先位置を検出し、
    前記所定の撮影周期ごとに、前記第1の撮像部と所定間隔離して配置された第2の撮像部が前記指を撮影することにより生成した第2の画像上で前記指先位置に対応する対応点を求め、前記第1の画像上の前記指先位置と前記第2の画像上の前記対応点とに基づいて、前記指の先端の実空間での位置を算出し、
    所定期間中に算出された前記指の先端の実空間での位置のそれぞれに基づいて、前記指の動作を表す特徴量を算出し、前記特徴量が指で対象物に触れる動作を表す条件を満たすか否かを判定し、
    前記特徴量が前記条件を満たす場合、投影装置に所定の位置へ所定のマークを投影させ、該投影後の一定期間内の何れかの時点で前記指の先端の実空間での位置が前記マークの投影位置に応じた高さ方向を含む所定範囲内に含まれる場合に入力操作が行われたと判定する、ことをコンピュータに実行させるための入力操作検出用コンピュータプログラムであって、
    前記特徴量が前記条件を満たすか否かを判定することは、前記所定期間中に算出された前記指の先端の実空間の位置のバラツキ度合いを表す指標を前記特徴量として算出し、前記バラツキ度合いが所定値以下となる場合に、前記特徴量は前記条件を満たすと判定することを含む入力操作検出用コンピュータプログラム。
  12. 所定の撮影周期ごとに第1の撮像部が指を撮影することにより生成した、当該指が表された第1の画像において前記指の先端に相当する指先位置を検出し、
    前記所定の撮影周期ごとに、前記第1の撮像部と所定間隔離して配置された第2の撮像部が前記指を撮影することにより生成した第2の画像上で前記指先位置に対応する対応点を求め、前記第1の画像上の前記指先位置と前記第2の画像上の前記対応点とに基づいて、前記指の先端の実空間での位置を算出し、
    所定期間中に算出された前記指の先端の実空間での位置のそれぞれに基づいて、前記指の動作を表す特徴量を算出し、前記特徴量が指で対象物に触れる動作を表す条件を満たすか否かを判定し、
    前記特徴量が前記条件を満たす場合、投影装置に所定の位置へ所定のマークを投影させ、該投影後の一定期間内の何れかの時点で前記指の先端の実空間での位置が前記マークの投影位置に応じた高さ方向を含む所定範囲内に含まれる場合に入力操作が行われたと判定する、ことをコンピュータに実行させるための入力操作検出用コンピュータプログラムであって、
    前記特徴量が前記条件を満たすか否かを判定することは、前記所定期間中に算出された前記指の先端の実空間の位置のうち、前記第1の撮像部からの距離が極大値となる位置のバラツキ度合いを表す指標を前記特徴量として算出し、前記バラツキ度合いが所定値以下となる場合に、前記特徴量は前記条件を満たすと判定することを含む入力操作検出用コンピュータプログラム。
JP2019141459A 2019-07-31 2019-07-31 入力装置、入力操作検出方法及び入力操作検出用コンピュータプログラム Expired - Fee Related JP6733789B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019141459A JP6733789B2 (ja) 2019-07-31 2019-07-31 入力装置、入力操作検出方法及び入力操作検出用コンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019141459A JP6733789B2 (ja) 2019-07-31 2019-07-31 入力装置、入力操作検出方法及び入力操作検出用コンピュータプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2015065337A Division JP2016184362A (ja) 2015-03-26 2015-03-26 入力装置、入力操作検出方法及び入力操作検出用コンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2019204539A JP2019204539A (ja) 2019-11-28
JP6733789B2 true JP6733789B2 (ja) 2020-08-05

Family

ID=68727147

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019141459A Expired - Fee Related JP6733789B2 (ja) 2019-07-31 2019-07-31 入力装置、入力操作検出方法及び入力操作検出用コンピュータプログラム

Country Status (1)

Country Link
JP (1) JP6733789B2 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013061552A (ja) * 2011-09-14 2013-04-04 Ricoh Co Ltd プロジェクタ装置および操作検出方法
JP6127564B2 (ja) * 2013-02-15 2017-05-17 コニカミノルタ株式会社 タッチ判定装置、タッチ判定方法、およびタッチ判定プログラム
JP2014179032A (ja) * 2013-03-15 2014-09-25 Ricoh Co Ltd 仮想キー入力装置
JP6146094B2 (ja) * 2013-04-02 2017-06-14 富士通株式会社 情報操作表示システム、表示プログラム、および、表示方法
JP6201379B2 (ja) * 2013-04-02 2017-09-27 富士通株式会社 位置算出システム、位置算出プログラム、および、位置算出方法
US20140375539A1 (en) * 2013-06-19 2014-12-25 Thaddeus Gabara Method and Apparatus for a Virtual Keyboard Plane
JP6202942B2 (ja) * 2013-08-26 2017-09-27 キヤノン株式会社 情報処理装置とその制御方法、コンピュータプログラム、記憶媒体

Also Published As

Publication number Publication date
JP2019204539A (ja) 2019-11-28

Similar Documents

Publication Publication Date Title
JP2016184362A (ja) 入力装置、入力操作検出方法及び入力操作検出用コンピュータプログラム
US9535538B2 (en) System, information processing apparatus, and information processing method
US9024901B2 (en) Interactive whiteboards and programs
TWI498580B (zh) 長度量測方法與長度量測裝置
JP5949319B2 (ja) 視線検出装置及び視線検出方法
US20160266722A1 (en) Operation detection device, operation detection method and projector
US9342189B2 (en) Information processing apparatus and information processing method for obtaining three-dimensional coordinate position of an object
JP6723814B2 (ja) 情報処理装置、その制御方法、プログラム、及び記憶媒体
JP6146094B2 (ja) 情報操作表示システム、表示プログラム、および、表示方法
JP2016091457A (ja) 入力装置、指先位置検出方法及び指先位置検出用コンピュータプログラム
US9727171B2 (en) Input apparatus and fingertip position detection method
US20160259402A1 (en) Contact detection apparatus, projector apparatus, electronic board apparatus, digital signage apparatus, projector system, and contact detection method
JP2017146938A (ja) 書籍検出装置、書籍検出方法及び書籍検出用コンピュータプログラム
JP2012187178A (ja) 視線検出装置及び視線検出方法
KR101330531B1 (ko) 3차원 카메라를 이용한 가상 터치 방법 및 장치
JPWO2018154634A1 (ja) 投写型表示装置、投写型表示装置の制御方法、及びプログラム
JP2012185631A (ja) 投影装置
JP6733789B2 (ja) 入力装置、入力操作検出方法及び入力操作検出用コンピュータプログラム
JP2017004438A (ja) 入力装置、指先位置検出方法及び指先位置検出用コンピュータプログラム
JP6390163B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP2018049498A (ja) 画像処理装置、操作検出方法、コンピュータプログラム、及び記憶媒体
JP2018055685A (ja) 情報処理装置、その制御方法、プログラム、および記憶媒体
US20240069647A1 (en) Detecting method, detecting device, and recording medium
JP2019164221A (ja) プロジェクター、プロジェクションシステム、及び、指示体を検出する方法
US20240070889A1 (en) Detecting method, detecting device, and recording medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200311

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200507

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200609

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200622

R150 Certificate of patent or registration of utility model

Ref document number: 6733789

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees