以下、図面を参照しながら、本発明のいくつかの実施形態について詳細に説明する。なお、複数の図面において対応する要素には同一の符号を付す。
図1は、例示的な作業支援システム100を示す図である。作業支援システム100は、情報処理装置101、表示装置102、及び撮像装置103を含む。情報処理装置101は、表示装置102、及び撮像装置103とそれぞれ接続されており、それぞれの動作を制御する。表示装置102は、例えば、作業台105の作業面上にユーザ110に対するガイドの情報を含む画像などの表示情報を投影するプロジェクタなどの装置である。撮像装置103は、作業台105の作業面が画角に収まるように画像を撮像するカメラなどの装置である。
図2は、例示的な検出対象物201への表示情報210の表示を例示する図である。例えば、情報処理装置101は、撮像装置103で撮像された画像データから検出対象物201に含まれるマーカ202を検出する。そして、情報処理装置101は、検出したマーカの種類から検出対象物201の種類を特定する。また、情報処理装置101は、検出したマーカに含まれる基準点の位置と、マーカに含まれる他の特徴点との配置から検出した傾きとに基づいて、画像内での検出対象物201のサイズ、位置、及び向きなどの画像内での検出対象物201の配置を特定する。一例では、情報処理装置101は、マーカの種類、マーカ内の複数の特徴点間の距離、及び複数の特徴点の配置などの情報から、検出対象物201の種類と、検出対象物201が置かれた位置、向き、及びサイズなどの検出対象物201の配置とを特定してよい。
そして、情報処理装置101は、特定した検出対象物201の配置に基づいて、検出対象物201に対する所定の相対位置に(例えば、所定の領域に合わせて)、その所定の領域と対応する表示情報210を表示装置102に投影させる。例えば、図2(a)では、電話番号の携帯の記入欄を示す枠と、英語で携帯電話を示す「Mobile phone」が、表示情報210として表示されている。そのため、例えば、日本語表記を読めない外国人などのユーザであっても、表示情報210により記入欄の位置と内容を把握して検出対象物201に記入を行うことが可能である。
しかしながら、例えば、撮像装置103で撮像した画像を解析して検出対象物201の配置を特定する場合、撮像装置103の撮像素子の熱雑音や、撮像環境の光の揺らぎなど、さまざま要因に起因して検出対象物201の配置に誤差が発生することがある。その結果、例えば、検出対象物201が静止しており動いていないにも関わらず、撮像装置103で順次撮像されるそれぞれの画像に写るマーカ202から検出対象物201の配置を推定すると、異なる配置で検出されることがある。そして、情報処理装置101が、検出した異なる配置に合わせて表示情報210を表示すると、図2(b)に示す様に、検出対象物201の記入対象の欄からズレた場所に、表示情報210を表示してしまうことがある。さらに、こうした検出対象物201の配置の誤差が繰り返し発生すると、表示情報210の揺れとなって現れ、ユーザに不快感を与えることがある。
このような時系列の誤差の影響を緩和する手法として、時間軸でデータを平滑化することがあげられる。例えば、マーカの実際の検出位置や傾きの時系列のデータを入力とし、それに対して表示情報210の表示に用いるマーカの位置や傾きを出力とした場合に、入力に対する出力の時定数を小さくなるように調節することで、揺れを減らすことができる。しかしながら、この場合、実際にユーザが検出対象物201を移動させた際のレスポンスが遅くなり、ユーザの操作に対する表示の追従性が悪くなる。この様に、揺れの低減と、検出対象物201の移動への追従性はトレードオフの関係にあり、両方を解決することのできる技術の提供が望まれている。
ここで、検出対象物201に移動や向きの変化などの動きが発生するのは、人為的な操作が行われる時であること多い。すなわち、人が検出対象物201に触れている時は、検出対象物201に移動や向きの変化などの動きが発生する可能性が高く、人が検出対象物201に触れていなければ、検出対象物201に移動や向きの変化などの動きが発生する可能性は低いと考えられる。なお、検出対象物201が、風や振動などその他の要因で動くことも起こり得るが、そうした事象が起こるのはマレであると考えられるため、無視しても影響はでにくい。
そこで、以下で述べる実施形態では、情報処理装置101は、人の動きを検出するセンサでユーザが、検出対象物201に触れているか否かを判定する。そして、例えば、検出対象物201に人が触れていると推定される状況では、検出対象物201が動かされる可能性があるため、時定数が小さくなるように平滑化のパラメータを調節する。それにより、追従性が高くなり、ユーザが検出対象物201を動かした場合にも表示情報210を直ぐに追従させることができる。即ち、追従の際の反応速度が速くすることができる。一方、例えば、検出対象物201に人が触れていないと推定される状況では、検出対象物201が動かされる可能性は低いと考えられるため、情報処理装置101は、平滑化のパラメータを高くし、揺れ等を抑えるようにする。
以上で述べた様に、実施形態によればユーザが検出対象物201に触れているか否かに応じて、平滑化のパラメータを調整する。そのため、例えば、検出対象物201が動かされた場合には、表示情報210を検出対象物201に素早く追従させつつも、検出対象物201が静止している状況では、表示情報210の揺れを抑えることができる。以下、実施形態をさらに詳細に説明する。
図3は、実施形態に係る作業支援システム300を示す図である。作業支援システム300は、例えば、情報処理装置301、表示装置302、撮像装置303、及びタッチセンサ304を含む。情報処理装置301は、表示装置302、撮像装置303、及びタッチセンサ304とそれぞれ接続されており、それぞれの動作を制御する。表示装置302は、作業台305の作業面上にユーザ310に対するガイドの情報を含む画像などの表示情報を投影する例えばプロジェクタなどの装置である。撮像装置303は、作業台305の作業面が画角に収まるように画像を撮像するカメラなどの装置である。タッチセンサ304は、例えば、ユーザ310が申請書や書類などの検出対象物201に記入などの作業を行う作業台305の作業面に設置されていてよい。
図4は、実施形態に係る情報処理装置301のブロック構成を例示する図である。情報処理装置301は、例えば、制御部401、記憶部402、及び入出力部403を含んでいる。制御部401は、例えば、表示制御部411、調節部412、特定部413、及び検出部414などを含む。記憶部402は、例えば、後述する平滑化パラメータ情報500,700,1500、種別情報1800、更新頻度情報1900などの情報を記憶していてよい。入出力部403は、例えば、表示装置302、撮像装置303、及びタッチセンサ304と接続されてよく、制御部401の指示に従って表示装置302、撮像装置303、及びタッチセンサ304と情報をやり取りする。これらの各部の詳細及び記憶部402に格納されている情報の詳細については後述する。
続いて、実施形態に係る検出対象物201の動きに対して表示情報210を追従させる反応速度の調整について述べる。反応速度の調整の仕方には複数の方法が考えられ、例えば、入力の変化に対する出力の応答時間の目安を与える時定数を利用することが考えられる。検出対象物201の動きに対する表示情報210を追従させる時定数の調整の仕方について述べる。例えば、撮像画像から検出された検出対象物201の配置(例えば、マーカの基準点の位置や傾き)を入力とし、表示装置302から表示情報210を投影する場所の決定に用いる検出対象物201の配置を出力とする。この場合に、その入力と出力の時定数を調整するために、様々手法を用いることが可能である。以下では、例として、IIR(無限インパルス応答)フィルタを用いる場合を説明する。しかしながら、実施形態はこれに限定されるものではない。例えば、別の実施形態では、FIR(有限インパルス応答)フィルタなどを用いたり、或いは、表示装置302による撮像画像の描画の更新頻度を調節したりすることで、反応速度が調節されてもよい。
IIRフィルタを用いて平滑化を行い、時定数を調節する場合、制御部401は、以下の数式により平滑化を行ってよい。
出力=前出力×R+入力×(1-R) ・・・式1
なお、ここでは、例えば、撮像装置303による撮像画像を取得するインターバルは、1/60秒であるものとする。また、Rは、調整対象のパラメータであり、前回の出力に対して今回の入力データをどれくらい寄与させるかを表すパラメータである。なお、フィルタの数式は、上述のように数1に限定されるものでは無く、FIRフィルタなどその他のフィルタが用いられてもよく、用いるフィルタに応じてパラメータの設定値は異なってよい。
そして、実施形態では、ユーザが、検出対象物201に触れているか否かや、検出対象物201を動かしているか否かなどの状態に応じて、パラメータを設定する。状態の種類としては、以下の状態を例示する。
(1)非接触:ユーザが検出対象物201に触れていない状態
(2)接触後の動き小:ユーザが検出対象物201に触れているが、動かしていないか又は動きが小さい状態
(3)判定困難:例えば、ユーザが検出対象物201に触れたばかりの状態など、検出対象物201を動かしているか否かの判定がつかない状態
(4)接触後の動き大:ユーザが検出対象物201に触れて大きく動かしている状態
なお、状態はこれに限られるものでは無く、さらに多くの状態を含んでもよいし、或いは、より少ない数の状態を含んでもよい。また、以下では、反応速度を調整するための時定数を表す表現として、入力された移動量の~%を移動するのに~秒かかるという表現を用いる。
(1)非接触:ユーザが検出対象物201に触れていない状態では、90%移動するのに0.3秒~かかるように時定数が調整されてよい。この時定数は、例えば、ユーザが検出対象物201に触れていない場合には、検出対象物201が動く可能性がほとんどないと推定されるため、撮像画像から検出された検出対象物201の位置の誤差に起因する揺れ等を十分に抑制できるように値が設定されている。例えば、上述の式1では、Rの値を0.89~に調節すると、90%移動するのに0.3秒~かかるようにフィルタが調節される。そのため、(1)非接触:ユーザが検出対象物201に触れていない状態のパラメータRの値として、0.89を用いることができる。
同様に、(2)接触後の動き小:ユーザが検出対象物201に触れているが、動かしていないか又は動きが小さい状態では、90%移動するのに0.2秒~0.15秒かかるように時定数が調整されてよい。この場合、例えば、ユーザが検出対象物201に触れていているが、検出対象物201をほぼ動かしていないことが推定される。そのため、時定数は、非接触時よりは追従性を高めるが、それでも、撮像画像から検出された検出対象物201の位置の誤差に起因する揺れ等をある程度抑制できるように値が設定されている。例えば、上述の式1では、Rの値を0.84~0.975に調節すると、90%移動するのに0.2秒~0.15秒かかるようにフィルタが調節される。そのため、(2)接触後の動き小:ユーザが検出対象物201に触れているが、動かしていないか又は動きが小さい状態のパラメータRの値として、0.84~0.975を用いることができる。
(3)判定困難:ユーザが検出対象物201に触れたばかりの状態など、検出対象物201を動かしているか否かの判定がまだできない状態にある場合、90%移動するのに0.1秒~0.08秒かかるように時定数が調整されてよい。この場合、例えば、ユーザが検出対象物201に触れたばかりであり、ユーザが検出対象物201を動かしているか否かの判定がまだできない。そのため、ユーザが検出対象物201を動かしても追従できるように、ある程度の時定数が小さい値に設定されるが、それでも、揺れ等によるユーザに与える不快感が許容範囲に収まるような値に設定されていてよい。例えば、上述の式1では、Rの値を0.72~0.955に調節すると、90%移動するのに0.1秒~0.08秒かかるようにフィルタが調節される。そのため、(3)判定困難:検出対象物201を動かしているか否かの判定ができない状態のパラメータRの値として、0.72~0.955を用いることができる。
(4)接触後の動き大:ユーザが検出対象物201に触れて大きく動かしている状態にある場合、90%移動するのに~0.06秒かかるように時定数が調整されてよい。この場合、例えば、ユーザは、検出対象物201を大きく動かしているため、ユーザによる検出対象物201の大きな動きを追従できるように、時定数が小さい値に設定されてよい。時定数を小さい値にすることで、時定数が大きい値である場合と比較して、検出対象物201に対する追従性が良くなる。即ち、反応速度を早くできる。例えば、上述の式1では、Rの値を~0.94に調節すると、90%移動するのに~0.06秒かかるようにフィルタが調節される。そのため、(4)接触後の動き大:ユーザが検出対象物201に触れて大きく動かしている状態のパラメータRの値として、~0.94を用いることができる。
なお、以上で述べた状態(1)から状態(4)の4つの状態の時定数は、状態(1)>状態(2)>状態(3)>状態(4)となるように値が設定されていてよい。
図5は、実施形態に係る平滑化パラメータ情報500を例示する図である。図5の例では、平滑化パラメータ情報500は、上記のIIRフィルタを用いた場合における各状態と、その状態毎のパラメータの設定値が示されている。平滑化パラメータ情報500には、設定値が範囲で示されているが、実際にはエントリに示される範囲内で他のエントリの値と重ならない所定の値が登録されていてよい。
なお、上記の例では、1/60秒のタイミングで式1により出力を調整しており、そのインターバルに合わせてパラメータRの値を設定している。例えば、1/30秒のタイミングでというように別のタイミングで式1により出力を調整する場合には、そのインターバルに合わせて別のパラメータRの値が設定されてよい。以下、IIRフィルタを用いる場合を例に、平滑化パラメータ情報500を用いた時定数の調整の例を説明する。
図6は、第1の実施形態に係る平滑化パラメータ調整処理の動作フローを例示する図である。制御部401は、例えば、ユーザへの支援の開始指示が入力されると、図6の平滑化パラメータ調整処理を開始してよい。
ステップ601(以降、ステップを“S”と記載し、例えば、S601と表記する)において制御部401は、ユーザが検出対象物201に触れているか否かを判定する。一実施形態においては、制御部401は、まず、撮像装置303で撮像された画像から、検出対象物201に含まれるマーカ202を検出し、検出したマーカ202の位置、サイズ、向きから、作業台305上での検出対象物201の配置を特定する。続いて、制御部401は、ユーザの手等が作業台305に触れた位置をタッチセンサ304で検出する。そして、制御部401は、撮像画像から検出された検出対象物201の配置と、タッチセンサ304で検出した接触位置とが重なるか否かにより、検出対象物201にユーザが触れているか否かを判定してよい。
なお、撮像装置303が撮像した画像中の作業台305における位置と、表示装置302が作業台に表示する位置と、タッチセンサ304で検出された作業台305上の位置とは、例えば、キャリブレーション処理により予め対応付けられていてよい。キャリブレーション処理では、例えば、制御部401は、作業台305上にキャリブレーションに用いるためのポイントを数個、表示装置302で表示する。そして、制御部401は、例えば、ユーザに表示したポイントをタッチさせて、その際にタッチセンサ304で検出された座標を取得する。また、制御部401は、撮像装置303で撮像した画像から、表示装置302で表示したポイントを検出する。そして、制御部401は、表示装置302で表示したポイントと、撮像装置303で撮像した撮像画像におけるポイントの位置と、ユーザのタッチが検出されたタッチセンサ304の検出位置とを対応付ける。制御部401は、これらの対応付けられたポイントを用いて、表示装置302の表示位置、撮像装置303で撮像された画像内での位置、タッチセンサ304の検出位置を互いに変換してよい。
そして、S601においてユーザが検出対象物201に触れていない場合(S601がNo)、フローはS602に進む。S602において制御部401は、平滑化パラメータ情報500を参照し、非接触と対応する0.89~の範囲の値に、上述の式1の平滑化のパラメータRを設定し、フローはS601に戻る。
一方、S601でユーザが検出対象物201に触れている場合(S601がYes)、フローはS603に進む。S603において制御部401は、直前(例えば、所定のT1秒前)にも検出対象物201にユーザが接触していたか否かを判定する。なお、T1としては、例えば、0.2~0.8秒の範囲の値、一例として0.5秒などを用いることができる。
S603において直前(例えば、所定のT1秒前)に検出対象物201にユーザが接触していなかった場合(S603がNo)、フローはS604に進む。この場合、ユーザ310が検出対象物201に触れはじめた直後の状態であり、まだユーザが検出対象物201を動かすつもりなのか否かが判定が難しい状況にある。そのため、制御部401は、平滑化パラメータ情報500を参照し、判定困難と対応する0.72~0.955の範囲の値に、上述の式1の平滑化のパラメータRを設定し、フローはS601に戻る。
一方、S603において直前(例えば、所定のT1秒前)にも検出対象物201にユーザが接触していた場合(S603がYes)、フローはS605に進む。S605において制御部401は、直前のタッチの接触位置からの位置変化があるか否かを判定する。例えば、制御部401は、直前のタッチの接触位置からの接触位置の変化量が第1の距離(例えば、1.0mm~5.0mm、一例では2mmなど)を超えた場合に直前のタッチの接触位置からの位置変化があると判定してよい。なお、以下では、タッチの接触位置を、タッチ位置と呼ぶことがある。
S605において直前のタッチ位置からの位置変化がない場合(S605がNo)、フローはS606に進む。この場合、タッチ位置の位置変化が小さいため、検出対象物201はほぼ静止している状況にあると考えられる。そのため、制御部401は、平滑化パラメータ情報500を参照し、接触後の動き小と対応する0.84~0.975の範囲の値に、上述の式1の平滑化のパラメータRを設定し、フローはS601に戻る。
一方、S605において直前のタッチ位置からの位置変化がある場合(S605がYes)、フローはS607に進む。この場合、検出対象物201の動きが大きいため、ユーザが検出対象物201を意図的に動かしていることが推定される状況にある。そのため、制御部401は、平滑化パラメータ情報500を参照し、接触後の動き大と対応する~0.94の範囲の値に、上述の式1の平滑化のパラメータRを設定し、フローはS601に戻る。
以上で述べた様に、制御部401は、ユーザが検出対象物201に触れていないと推定される状況よりも、触れていると推定される状況において、検出対象物201の移動に対して表示情報210の表示位置を追従させる時定数を小さくするように調整する。そのため、ユーザが検出対象物201に触れておらず検出対象物201が静止している状況では、制御部401は、時定数を大きな値に設定して、撮像画像からの検出対象物201の位置検出の誤差に起因する表示情報210の揺れを抑制することができる。一方で、ユーザが検出対象物201に触れている状況では、制御部401は、時定数を小さな値に設定して、ユーザが検出対象物201を動かした際の反応速度を速めることができる。
なお、以上においては、時定数(平滑化のパラメータ)を4段階で調節する例を述べているが、実施形態はこれに限定されるものではなく、さらに多段階で時定数を制御しても、より少ない段階で時定数を制御してもよい。
(第1の変形例)
上述の実施形態に加えて、第1の変形例では更に、タッチ位置の変化量が、第1の距離よりも長い第2の距離以上動いたか否かにより、時定数(平滑化のパラメータ)を調節する。
図7は、実施形態に係る平滑化パラメータ情報700を例示する図である。図7の平滑化パラメータ情報700の例では、平滑化パラメータ情報500の場合よりも接触後の動き大の状態が2つに分かれており、5段階の状態で調節する場合を例示している。平滑化パラメータ情報700には、設定値が範囲で示されているが、実際にはエントリに示される範囲内の所定の値が登録されていてよい。接触後の動き大の小さめで設定される設定値よりも、接触後の動き大の大きめで設定される設定の方が小さい値であってよい。
図8は、第1の変形例に係る平滑化パラメータ調整処理の動作フローを例示する図である。制御部401は、例えば、ユーザへの支援の開始指示が入力されると、図8の平滑化パラメータ調整処理を開始してよい。
なお、図8のS801からS806までの処理は、例えば、図6のS601からS606までの処理と対応しており、制御部401は、図6のS601からS606までの処理と同様の処理を実行してよい。
そして、S805において直前のタッチ位置からの位置変化がある場合(S805がYes)、フローはS807に進む。S807において制御部401は、例えば、直前のタッチ位置から大きな位置変化があったか否かを判定する。例えば、制御部401は、直前(例えば、所定のT1秒前)のタッチ位置からの変化量が第2の距離を超えているか否かを判定してよい。なお、第2の距離は、例えば、0.7mm~20mmなどのユーザが指などの接触物を大きく動かしたか否かを推定できる値に設定されてよく、一例では、10mmである。
S807において直前のタッチ位置から大きな位置変化がない場合(S807がNo)、フローはS808に進む。S808において制御部401は、平滑化パラメータ情報500を参照し、接触後の動き大の小さめと対応する値に、上述の式1の平滑化のパラメータRを設定し、フローはS801に戻る。
一方、S807において直前のタッチ位置から大きな位置変化がある場合(S807がYes)、フローはS809に進む。S809において制御部401は、平滑化パラメータ情報500を参照し、接触後の動き大の大きめと対応する値に、上述の式1の平滑化のパラメータRを設定し、フローはS801に戻る。なお、S808で設定される小さめの値よりも、S809で設定される大きめの値は、小さな値であってよい。従って、S808で調整される入力に対する出力の時定数よりも、S809で設定される入力に対する出力の時定数は小さくなる。
以上で述べた様に、第1の変形例では、制御部401は、S805においてユーザがタッチ位置を動かしていると判定された場合に(S805がYES)、その移動量が大きいほど、時定数が小さくなるように平滑化のパラメータを設定している。そのため、例えば、ユーザがタッチ位置を大きな距離で動かした場合に、より追従性の高いパラメータを設定することができる。
(第2の変形例)
第2の変形例では、タッチ位置の移動速度が、所定の速度よりも速いか否かにより、時定数(平滑化のパラメータ)を調節する。図9は、第2の変形例に係る平滑化パラメータ調整処理の動作フローを例示する図である。制御部401は、例えば、ユーザへの支援の開始指示が入力されると、図9の平滑化パラメータ調整処理を開始してよい。
なお、図9のS901からS906までの処理は、例えば、図6のS601からS606までの処理と対応しており、制御部401は、図6のS601からS606までの処理と同様の処理を実行してよい。
S905において直前のタッチ位置からの位置変化がある場合(S905がYes)、フローはS907に進む。S907において制御部401は、速い速度の位置変化があるか否かを判定する。例えば、制御部401は、直前(例えば、所定のT1秒前)から現在までタッチ位置の移動速度が、所定の速度よりも速いか否かを判定してよい。一例では、制御部401は、直前(例えば、所定のT1秒前)から現在までの時間区間を所定の単位時間で区切り、各区間でのタッチ位置の移動量が所定の距離を越えているかを判定することで、速度が所定の速度よりも速いか否かを判定してよい。なお、所定の単位時間としては、例えば、0.05秒~0.2秒などの微小時間が用いられてよく、一例では、0.1秒である。
S907において速い速度の位置変化がない場合(S907がNo)、フローはS908に進む。S908において制御部401は、平滑化パラメータ情報500を参照し、接触後の動き大の小さめと対応する値に、上述の式1の平滑化のパラメータRを設定し、フローはS901に戻る。
一方、速い速度の位置変化がある場合(S907がYes)、フローはS909に進む。S909において制御部401は、平滑化パラメータ情報500を参照し、接触後の動き大の大きめと対応する値に、上述の式1の平滑化のパラメータRを設定し、フローはS901に戻る。なお、S908で設定される接触後の動き大の小さめの値よりも、S909で設定される接触後の動き大の大きめの値は、小さな値であってよい。従って、S908で調整される入力に対する出力の時定数よりも、S909で設定される入力に対する出力の時定数は小さくなる。
以上で述べた様に、第2の変形例では、制御部401は、S905においてユーザがタッチ位置を動かしていると判定された場合に(S905がYES)、その移動速度が速いほど、時定数が小さくなるように平滑化のパラメータを設定している。そのため、例えば、ユーザがタッチ位置を速い速度で動かした場合に、より追従性の高いパラメータを設定することができる。
(第3の変形例)
上述の実施形態では、タッチセンサ304でタッチ位置の動きを検出した場合に、検出対象物201が移動したものと推定し判定を行っている。第3の変形例では、タッチ位置の動きを検出した場合に、撮像装置303で撮像された撮像画像中の検出対象物201に含まれるマーカの位置の移動を検出することで、検出対象物201が本当に動いているのか検証する。なお、タッチ位置の動きは、例えば、タッチ位置の移動量や移動速度で表されてよい。
図10は、実施形態に係る検出対象物201の移動と回転を説明する図である。例えば、ユーザが指1001で検出対象物201に触れ、矢印1002に示す方向に動かしたとする。この場合に、検出対象物201には矢印1003に示す併進成分と、矢印1004で示す回転成分の動きが生じ得る。この検出対象物201の動きは、撮像装置303で撮像された撮像画像中の検出対象物201に含まれるマーカ202の位置と向き変化から特定することができる。そこで、第3の変形例では、制御部401は、タッチセンサ304でタッチ位置の動きが検出された場合に、撮像画像から検出対象物201の併進成分と、回転成分とを取得し、検出対象物201が実際に動いているかを検証する。
図11は、第3の変形例に係る平滑化パラメータ調整処理の動作フローを例示する図である。制御部401は、例えば、ユーザへの支援の開始指示が入力されると、図11の平滑化パラメータ調整処理を開始してよい。
なお、図11のS1101からS1106までの処理は、例えば、図6のS601からS606までの処理と対応しており、制御部401は、図6のS601からS606までの処理と同様の処理を実行してよい。
S1105において直前のタッチ位置からの位置変化がある場合(S1105がYes)、フローはS1107に進む。S1107において制御部401は、撮像画像において検出対象物201に動きがあるか否かを判定する。例えば、制御部401は、直前(例えば、所定のT1秒前)と、現在の撮像画像におけるマーカの位置の移動から、検出対象物201が所定の閾値以上の大きさで動いているか否かを判定してよい。例えば、制御部401は、直前の検出対象物201のマーカの位置と、現在の検出対象物201のマーカの位置とから、検出対象物201の移動の併進成分と、回転成分を特定する。そして、制御部401は、特定した併進成分が所定の閾値以上の大きさであるか、または回転成分が所定の角度以上の大きさである場合に、検出対象物201が所定の閾値以上の大きさで動いていると判定してよい。なお、併進成分に対して設定される所定の閾値は、例えば、5mmから30mmなどの範囲の値であってよく、一例では、10mmが用いられてよい。また、回転成分に対する閾値である所定の角度は、例えば、1度~10度などの範囲の角度であってよく、一例では、3度が用いられてよい。
撮像画像において検出対象物201に動きがない場合(S1107がNo)、フローはS1108に進む。この場合、タッチセンサ304で検出されたタッチ位置の移動量に対して、マーカで検出された検出対象物201の移動量や回転角が小さく、タッチ位置の移動量に対して、マーカで検出された検出対象物201の移動量や回転角が整合していない。そのため、検出ミスの可能性もあり、ユーザが検出対象物201を本当に動かしているのか判断が難しい状況にある。そのため、S1108では制御部401は、平滑化パラメータ情報500を参照し、例えば、判定困難と対応する0.72~0.955の範囲の値に、上述の式1の平滑化のパラメータRを設定し、フローはS1101に戻る。なお、S1108ではS1104と同じ平滑化のパラメータRの設定値を流用しているが、別の実施形態では、S1108でS1104と異なる平滑化のパラメータRを設定値に設定してもよい。
また、S1107で、撮像画像において検出対象物201に動きがある場合(S1107がNo)、フローはS1109に進む。この場合、タッチセンサ304で検出されたタッチ位置の移動量に対して、マーカで検出された検出対象物201の移動量や回転角も十分に大きい。従って、タッチ位置の移動量に対して、マーカで検出された検出対象物201の移動量や回転角の変化が整合していると考えられる。そのため、S1109において制御部401は、平滑化パラメータ情報500を参照し、接触後の動き大と対応する~0.94の範囲の値に、上述の式1の平滑化のパラメータRを設定し、フローはS1101に戻る。
以上で述べた様に、第3の変形例では、制御部401は、タッチセンサ304でタッチ位置の動きが検出された場合に、撮像画像で検出対象物201が本当に動いているかを検証している。そのため、例えば、ユーザが検出対象物201を移動させずに、検出対象物201上で指を動かしたような場合に、時定数を小さくし過ぎてしまい、表示する表示情報210に揺れ等が発生してしまうことを抑制できる。
(第4の変形例)
上述の第3の変形例では、タッチセンサ304でタッチ位置の動きが検出された場合に、撮像画像で検出対象物201が本当に動いているかを検証したが、第4の変形例では、撮像画像で検出した検出対象物201の移動方向が一致しているかを検証する。
図12は、実施形態に係る検出対象物201の移動方向の特定について説明する図である。図12(a)に示す様に、例えば、ユーザが指1201で検出対象物201に触れ、矢印1202に示す方向に動かしたとする。この場合に、検出対象物201には矢印1203に示す併進成分(xs,ys)と、矢印1204で示す回転成分t度の動きが生じる。この検出対象物201の動きは、撮像装置303で撮像された撮像画像中の検出対象物201に含まれるマーカの位置と向き変化から特定することができる。
図12(b)は、マーカの動きの回転成分を、ユーザのタッチ位置における併進成分に変換する処理を説明する図である。例えば、マーカ内に設定されている基準点を原点とし、検出対象物201の表面を含む平面上に2次元座標系を設定する。例えば、図12(b)の例では、移動前の検出対象物201の横辺を横軸とし、縦辺を縦軸とする直交座標系が設定されてよい。そして、設定した直交座標系において、移動前の原点(マーカ内に設定されている基準点)からのユーザのタッチ位置の座標が(xd,yd)であったとする。
この場合に、以下の式2及び式3により、回転成分tを、座標(xd,yd)における併進成分に変換した成分1204を、移動の併進成分(xs,ys)に加算して、タッチ位置における検出対象物201の移動成分1205(x,y)を計算することができる。
まず、式2によりx成分が計算できる。
x=xs+xd*cos(t)-yd*sin(t) ・・・式2
また、式3によりy成分が計算できる。
y=ys+yd*sin(t)+xd*cos(t) ・・・式3
続いて、図12(c)に示す様に、以上で求めた移動成分1205(x,y)を、タッチセンサ304に入力されたユーザの指の移動成分と比較する。それより、タッチセンサ304で検出されたタッチ位置の移動と、マーカを用いて求めた検出対象物201の移動との、移動方向の一致及び移動量の一致を検証することが可能である。
図13は、第4の変形例に係る平滑化パラメータ調整処理の動作フローを例示する図である。制御部401は、例えば、ユーザへの支援の開始指示が入力されると、図13の平滑化パラメータ調整処理を開始してよい。
なお、図13のS1301からS1306までの処理は、例えば、図6のS601からS606までの処理と対応しており、制御部401は、図6のS601からS606までの処理と同様の処理を実行してよい。
S1305において直前のタッチ位置からの位置変化がある場合(S1305がYes)、フローはS1307に進む。S1307において制御部401は、検出対象物201の動きを併進成分で表す。例えば、制御部401は、上述の図12を参照して述べた様に、直前(例えば、所定のT1秒前)からの現在までのマーカの位置の移動から、検出対象物201の動きの併進成分と回転成分を取得する。そして、制御部401は、上述の式2及び式3を用いて、回転成分をタッチ位置における併進成分に変換して、検出対象物201の動きを併進成分で表す。
S1308において制御部401は、タッチセンサ304で検出したタッチ位置の動きと、S1307で求めた併進成分で表した検出対象物201の動きとを比較し、動きの差が所定の閾値以内か否かを判定する。なお、動きの差としては、例えば、タッチセンサ304で検出したタッチ位置の移動と、S1307で求めた併進成分で表した検出対象物201の動きとの2つのベクトルの差のベクトルの大きさを用いることができる。また、所定の閾値としては、例えば、0.5cm~3.0cmの範囲の値を用いてよく、一例では1.0cm以内であってよい。
S1308において動きの差が所定の閾値以内でない場合(S1308がNO)、フローはS1309に進む。この場合、タッチセンサ304で検出されたタッチ位置の移動量と、併進成分で表した検出対象物201の動きとの差が大きく整合していないと考えられる。そのため、検出ミスの可能性もあり、ユーザが検出対象物201を本当に動かしているのか判断が難しい状況にある。この場合、S1309では制御部401は、平滑化パラメータ情報500を参照し、例えば、判定困難と対応する0.72~0.955の範囲の値に、上述の式1の平滑化のパラメータRを設定し、フローはS1301に戻る。なお、S1309では、S1304で用いる平滑化のパラメータRの設定値を流用している。しかしながら、別の実施形態では、S1309でS1304と異なる設定値に平滑化のパラメータRを設定してもよい。
S1308において動きの差が所定の閾値以内である場合(S1308がYES)、フローはS1310に進む。この場合、タッチセンサ304で検出されたタッチ位置の移動量と、併進成分で表した検出対象物201の動きとの差が整合していると考えられる。そのため、S1310において制御部401は、平滑化パラメータ情報500を参照し、接触後の動き大と対応する~0.94の範囲の値に、上述の式1の平滑化のパラメータRを設定し、フローはS1301に戻る。
以上の第4の変形例では、制御部401は、タッチセンサ304でタッチ位置の移動が検出された場合に、撮像画像を用いて検出対象物201の移動の方向と大きさが合致しているかを検証しているため、第3の変形例よりも正確に整合を判定することができる。
(第2の実施形態)
上述の実施形態では、ユーザ310が検出対象物201に触れているか否かの判定にタッチセンサ304を用いる例を述べたが、実施形態はこれに限定されるものではない。例えば、別の実施形態では、タッチセンサ304を用いずに判定が行われてもよい。第2の実施形態では、制御部401は、撮像装置303の撮像画像に基づいて、ユーザが検出対象物201に触れているか否かを推定する場合を例示する。
例えば、検出対象物201に記載された説明欄の位置を大まかに示す場合など、表示情報210の表示位置に精密な精度が要求されない状況がある。例えば、こうした状況で、タッチセンサ304を用いずに、撮像装置303で撮像した画像中で、検出対象物201上にユーザの手などが重なった場合に、ユーザ310が検出対象物201に触れているものと推定し、平滑化のパラメータを調整してもよい。
図14は、第2の実施形態に係る作業支援システム1400を例示する図である。作業支援システム1400は、情報処理装置1401、表示装置1402、及び撮像装置1403を含む。情報処理装置1401は、表示装置1402、及び撮像装置1403とそれぞれ接続されており、それぞれの動作を制御する。表示装置1402は、例えば、作業台1405の作業面上にユーザ1410に対するガイドの情報を含む画像などの表示情報210を投影するプロジェクタなどの装置である。撮像装置1403は、作業台1405の作業面が画角に収まるように画像を撮像するカメラなどの装置である。
図15は、第2の実施形態に係る平滑化パラメータ情報1500を例示する図である。図15の例では、平滑化パラメータ情報1500は、上記のIIRフィルタを用いた場合における各状態と、その状態毎のパラメータの設定値が示されている。図15の例では、ユーザが検出対象物201に触れていない非接触の状態に対する設定値を示すエントリと、ユーザが検出対象物201に触れていることが推定される接触状態に対する設定値を示すエントリとが登録されている。なお、平滑化パラメータ情報1500には、設定値が範囲で示されているが、実際にはエントリに示される範囲内の所定の値が登録されていてよい。また、図15の例では、1/60秒のタイミングで式1により出力を調整しており、そのインターバルに合わせたパラメータRの値が設定されている。例えば、1/30秒のタイミングでというように別のタイミングで式1により出力を調整する場合には、そのインターバルに合わせて別のパラメータRの値が設定されてよい。
図16は、第2の実施形態に係る平滑化パラメータ調整処理の動作フローを例示する図である。制御部401は、例えば、ユーザへの支援の開始指示が入力されると、図16の平滑化パラメータ調整処理を開始してよい。
S1601において制御部401は、撮像装置1403で撮像された撮像画像から状態を検出する。例えば、制御部401は、撮像装置1403で撮像された画像から、検出対象物201に含まれるマーカ202を検出し、検出したマーカ202の位置、サイズ、向きから、作業台1405上での検出対象物201の配置を特定する。また、制御部401は、撮像装置1403で撮像された画像からユーザの手などの身体の一部を検出する。一実施形態においては、制御部401は、例えば、撮像画像の肌色成分から手の輪郭を抽出して指先を検出するなどの既存技術を適用することで、撮像画像から身体の一部の位置を検出してよい。
S1602において制御部401は、ユーザが検出対象物201に接触しているか否かを判定する。例えば、制御部401は、S1601で検出した検出対象物201の配置に、手などのユーザの身体の一部が重なっているか否かを判定し、重なっている場合に接触していると判定してよい。
S1602においてユーザが、検出対象物201に接触していると判定された場合(S1602がYes)、フローはS1603に進む。この場合、ユーザが検出対象物201に触れており、検出対象物201を動かす可能性がある。そのため、平滑化パラメータ情報1500を参照し、接触している状態と対応する0.72~0.955の範囲の値に上述の式1の平滑化のパラメータRを設定し、フローはS1601に戻る。
一方、S1602においてユーザが、検出対象物201に接触していないと判定された場合(S1602がNo)、フローはS1604に進む。この場合、ユーザが検出対象物201に接触していないことが推定されるため、平滑化パラメータ情報1500を参照し、非接触の状態と対応する0.89~の範囲の値に上述の式1の平滑化のパラメータRを設定し、フローはS1601に戻る。
以上で述べた様に、第2の実施形態によれば、タッチセンサ304を用いなくても、実施形態を実装することができる。なお、撮像装置1403に、3次元センサを用いることで、撮像装置1403で取得した画像データから距離の情報も取得可能になる。その場合、画像から推定した距離に基づいて、ユーザの手が検出対象物201から浮いているか、検出対象物201に接触しているかも判定することが可能である。この様な場合には、第2の実施形態において、第1の実施形態の例えば、図6で例示する4段階で状態を検出して調節する処理のように、2段階よりも多い段階で時定数を調整する処理も実行することが可能である。
(第3の実施形態)
第1の実施形態及びその変形例と、第2の実施形態とは組み合わせられて実行されてもよい。例えば、第3の実施形態では、或る状況では、第1の実施形態及びその変形例の平滑化パラメータ調整処理を実行し、別の状況では、第2の実施形態の平滑化パラメータ調整処理を実行するというように状況に応じて異なる処理を実行する。
図17は、第3の実施形態に係る状況判定処理を例示する図である。制御部401は、例えば、ユーザへの支援の開始指示が入力されると、図17の状況判定処理を開始してよい。
S1701において制御部401は、状況を判定する。一実施形態においてはこの判定は、ユーザがタッチセンサ304に触れている状態(ケース1)と、触れていない状態(ケース2)であってよい。この場合、ユーザがタッチセンサ304に触れている状態(ケース1)では、フローはS1702に進み、制御部401は、図6、図8、図9、図11、図13のいずれかの第1の実施形態に係る平滑化パラメータ調整処理を第1の調整処理として実行してよい。一方、S1701においてユーザがタッチセンサ304に触れておらず、ユーザの手や指が空中にある状態(ケース2)の場合、フローはS1703に進む。S1703において、制御部401は、図16で例示した第2の実施形態に係る平滑化パラメータ調整処理9000を第2の調整処理として実行してよい。
また、別の実施形態では、S1701の判定は、検出対象物201の種別を判定する処理であってよい。例えば、制御部401は、検出対象物201に含まれるマーカから種別の情報を読み取り、種別と対応するケースの処理を実行してよい。
図18は、第3の実施形態に係る種別情報1800を例示する図である。種別情報1800には、検出対象物201の種別と、実行するケースとが対応付けられている。例えば、検出対象物201の種別が、A,B,Cのいずれかであれば、制御部401は、S1701でケース1と判定し、フローをS1702に進めてよい。また、例えば、検出対象物201の種別が、D,Eのいずれかであれば、制御部401は、S1701でケース2と判定し、フローをS1703に進めてよい。
例えば、検出対象物201の種別によっては、表示情報210を精密に位置合わせしなくても、大まかに場所が示せればよい場合もある。一例として、何らかの説明を記載する幅の広い領域を、表示情報210で示す場合、表示情報210の位置を精密に検出対象物201に合わせなくても、ユーザにとって十分であることがある。例えば、こうした精密な位置合わせをしなくてもよい情報のみを含む検出対象物201の種別を、種別情報1800においてケース2に登録しておくことで、細かな時定数の調節を行わなくても簡易的な処理で済ませることができる。
なお、例えば、表示装置1402で選択項目の表示情報210を表示し、ユーザ1410に検出対象物201のどの欄に入力するかを選択させて、撮像装置1403でユーザの選択を検出することで、制御部401は、入力が行われる欄を特定することができる。そのため、別の実施形態では、図18の例において、検出対象物201の欄と対応する表示情報210の種類ごとに、第1の調整処理と第2の調整処理にケースを分けてもよい。
以上において、実施形態を例示したが、実施形態はこれに限定されるものではない。例えば、上述の動作フローは例示であり、実施形態はこれに限定されるものではない。可能な場合には、動作フローは、処理の順番を変更して実行されてもよく、別に更なる処理を含んでもよく、又は、一部の処理が省略されてもよい。例えば、上述の実施形態及び変形例の処理は、組み合わせられて実行されてよい。例えば、第1の変形例の図8のS807の移動量を用いた判定において、第2の変形例の図9のS907の速度を用いた判定も実行されてもよい。
また、上述の実施形態では、時定数の調節するために平滑化のパラメータを調節する場合の例を述べたが実施形態は、これに限定されるものではない。例えば、別の実施形態では、制御部401は、表示情報210の表示を更新する更新頻度を高くすることで、時定数が小さくなるように調節してもよい。また、同様に、制御部401は、表示情報210の表示を更新する更新頻度を低くすることで、時定数が大きくなるように調節してもよい。
図19は、別の実施形態に係る更新頻度情報1900を例示しており、例えば、制御部401は、上述の実施形態において、平滑化パラメータ情報500の代わりに、更新頻度情報1900を用いて処理を実行してもよい。例えば、R=0.72とした場合、表示情報210の表示内容を更新する更新頻度を、図19に示すように設定してよい。例えば、非接触の状態では、R=0.72において更新間隔は、概ね1/20秒~に設定されてよい。接触後の動き小の状態では、R=0.72において更新間隔は、概ね1/30秒~1/4秒に設定されてよい。判定困難の状態では、R=0.72において更新間隔は、概ね1/60秒~2/15秒に設定されてよい。接触後の動き大の状態では、R=0.72において更新間隔は、概ね~1/10秒に設定されてよい。なお、更新頻度情報1900では、範囲で設定値を示しているが、実際には他のエントリと値が重ならない所定の値に設定されていてよい。また、図19の例では、上段よりも下段のエントリの更新の間隔が短くなるように値が設定されていてよい。
なお、Rの値を調節することで、更新間隔を変更することも可能である。例えば、1/60秒での画像入出力に対して、R=0.9としたとする。この場合に、1/30秒での画像更新に合わせる場合は時間が2倍なので、Rを0.9^2=0.81とすればよく、1/20の秒での画像更新に合わせる場合は時間が3倍なので、Rを0.9^3=0.729とすればよい。つまり、時間の倍数を、指数にして換算すればRを変更することで更新間隔を調節することが可能である。
また、図20は、実施形態に係る表示制御処理を例示する図である。制御部401は、例えば、ユーザへの支援の開始指示が入力されると、図20の表示制御処理を開始してよい。
S2001において制御部401は、撮像装置303,1403が撮像した撮像画像から、検出対象物201の位置を検出する。そして、S2002において制御部401は、例えば、上述の図6、図8、図9、図11、図13、図16のいずれかで設定されたパラメータに従って、検出対象物201の配置に対する所定の相対位置に表示情報210を表示し、フローはS2001に戻る。
図20の動作フローによれば、制御部401は、検出対象物201が静止している際の表示情報210の揺れを抑制しつつ、検出対象物201が動いた際に高い追従性で表示情報210を表示させることができる。従って、表示情報210の表示位置の精度を向上させることができる。
なお、上述の実施形態において、S2001からS2002の処理では、制御部401は、表示制御部411として動作する。また、図6、図8、図9、図11、図13、図16のS1602~S1604の処理では、制御部401は、調節部412として動作する。S1701において、制御部401は、特定部413として動作する。S1601の処理では、制御部401は、検出部414として動作する。
図21は、実施形態に係る情報処理装置301,1401を実現するためのコンピュータ2100のハードウェア構成を例示する図である。図21のコンピュータ2100のハードウェア構成は、例えば、プロセッサ2101、メモリ2102、記憶装置2103、読取装置2104、及び入出力インタフェース2107を備える。なお、プロセッサ2101、メモリ2102、記憶装置2103、読取装置2104、入出力インタフェース2107は、例えば、バス2108を介して互いに接続されている。
プロセッサ2101は、例えば、シングルプロセッサであっても、マルチプロセッサやマルチコアであってもよい。プロセッサ2101は、メモリ2102を利用して例えば上述の動作フローの手順を記述したプログラムを実行することにより、上述した制御部401の一部または全部の機能を提供する。例えば、プロセッサ2101は、記憶装置2103に格納されているプログラムを読み出して実行することで、表示制御部411、調節部412、特定部413、及び検出部414として動作してよい。
メモリ2102は、例えば半導体メモリであり、RAM領域及びROM領域を含んでいてよい。記憶装置2103は、例えばハードディスク、フラッシュメモリ等の半導体メモリ、又は外部記憶装置である。なお、RAMは、Random Access Memoryの略称である。また、ROMは、Read Only Memoryの略称である。
読取装置2104は、プロセッサ2101の指示に従って着脱可能記憶媒体2105にアクセスする。着脱可能記憶媒体2105は、例えば、半導体デバイス(USBメモリ等)、磁気的作用により情報が入出力される媒体(磁気ディスク等)、光学的作用により情報が入出力される媒体(CD-ROM、DVD等)などにより実現される。なお、USBは、Universal Serial Busの略称である。CDは、Compact Discの略称である。DVDは、Digital Versatile Diskの略称である。
上述の記憶部402は、例えばメモリ2102、記憶装置2103、及び着脱可能記憶媒体2105を含んでよい。記憶装置2103には、例えば、平滑化パラメータ情報500,700,1500、種別情報1800、及び更新頻度情報1900などの情報が格納されていてよい。
入出力インタフェース2107は、例えば、入力装置及び出力装置との間のインタフェースであってよい。上述の入出力部403は、例えば、入出力インタフェース2107を含む。例えば、入出力インタフェース2107は、表示装置302,1402、撮像装置303,1403、及びタッチセンサ304などと接続されている。入出力インタフェース2107は、プロセッサ2101の指示に従って、表示装置302,1402、撮像装置303,1403、タッチセンサ304と情報を通信してよい。また、入出力インタフェース2107は、例えば、ユーザからの指示を受け付けるキーボードやマウスなどの入力デバイス及びディスプレーやスピーカなどの出力装置と接続されていてもよい。
実施形態に係る各プログラムは、例えば、記憶装置2103に予めインストールされている、着脱可能記憶媒体2105により提供される、または、プログラムサーバなどのサーバから提供されるなどの形態でコンピュータ2100に提供されてよい。なお、プログラムが、プログラムサーバなどのサーバから提供される場合、コンピュータ2100は通信装置を備えていてよい。
また、図21を参照して述べたコンピュータ2100のハードウェア構成は、例示であり、実施形態はこれに限定されるものではない。例えば、上述の機能部の一部または全部の機能がFPGA及びSoCなどによるハードウェアとして実装されてもよい。なお、FPGAは、Field Programmable Gate Arrayの略称である。SoCは、System-on-a-chipの略称である。
以上において、いくつかの実施形態が説明される。しかしながら、実施形態は上記の実施形態に限定されるものではなく、上述の実施形態の各種変形形態及び代替形態を包含するものとして理解されるべきである。例えば、各種実施形態は、その趣旨及び範囲を逸脱しない範囲で構成要素を変形して具体化できることが理解されよう。また、前述した実施形態に開示されている複数の構成要素を適宜組み合わせることにより、種々の実施形態が実施され得ることが理解されよう。更には、実施形態に示される全構成要素からいくつかの構成要素を削除して又は置換して、或いは実施形態に示される構成要素にいくつかの構成要素を追加して種々の実施形態が実施され得ることが当業者には理解されよう。
以上の実施形態1~3を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
タッチセンサを含む領域を撮像する撮像装置で撮像された撮像画像から検出した検出対象物の配置に合わせて、前記タッチセンサを含む領域上にある前記検出対象物に対する所定の相対位置に表示情報を投影するように表示装置を制御する表示制御部と、
前記検出対象物の動きに対する前記表示情報を追従させる反応速度を、前記タッチセンサで検出された接触位置が前記撮像画像から検出された前記検出対象物の配置と重ならない場合よりも、前記タッチセンサで検出された接触位置が前記撮像画像から検出された前記検出対象物の配置と重なる場合に、より早くなるように調節する調節部と、
を含む、情報処理装置。
(付記2)
前記調節部は、更に、前記タッチセンサで検出された接触位置が、前記撮像画像から検出された前記検出対象物の配置と重なっている状態において、前記検出対象物の動きに対する前記表示情報を追従させる反応速度を、前記接触位置が所定の速度未満で動いた場合よりも、前記タッチセンサで検出された接触位置が所定の速度以上で動いた場合に、より早くなるように調節する、ことを特徴とする付記1に記載の情報処理装置。
(付記3)
前記調節部は、更に、前記タッチセンサで検出された接触位置が、前記撮像画像から検出された前記検出対象物の配置と重なっている状態において、前記検出対象物の動きに対する前記表示情報を追従させる反応速度を、前記接触位置が所定の移動量未満で動いた場合よりも、前記タッチセンサで検出された接触位置が所定の移動量以上で動いた場合に、より早くなるように調節する、ことを特徴とする付記1に記載の情報処理装置。
(付記4)
前記調節部は、前記タッチセンサで検出された前記接触位置が前記撮像画像から検出された前記検出対象物の配置と重ならない場合よりも、前記タッチセンサで検出された前記接触位置が前記撮像画像から検出された前記検出対象物の配置と重なる場合における前記表示装置で投影する前記表示情報の更新頻度を高くすることで、前記検出対象物の動きに対する前記表示情報を追従させる反応速度を、より早くなるように調節する、ことを特徴とする付記1から3のいずれかに記載の情報処理装置。
(付記5)
前記調節部は、更に、前記タッチセンサで検出された前記接触位置が動いた場合に、前記撮像装置で撮像した撮像画像から検出した前記検出対象物の動きが所定の閾値以上であれば、前記撮像装置で撮像した撮像画像から検出した前記検出対象物の動きが所定の閾値未満である場合よりも、前記検出対象物の動きに対する前記表示情報を追従させる反応速度を、より早くなるように調節する、ことを特徴とする付記1に記載の情報処理装置。
(付記6)
前記調節部は、更に、前記タッチセンサで検出された前記接触位置が動いた場合に、前記撮像装置で撮像した撮像画像から検出した前記検出対象物の動きと、前記タッチセンサで検出された前記接触位置の動きとが、所定の閾値以下で一致していれば、前記所定の閾値以上で異なる場合よりも、前記検出対象物の動きに対する前記表示情報を追従させる反応速度を、より早くなるように調節する、ことを特徴とする付記1に記載の情報処理装置。
(付記7)
前記撮像画像に写る前記検出対象物の画像から前記検出対象物の種別を特定する特定部と、
前記撮像画像に写るユーザの身体の一部を検出する検出部と、を更に含み、
前記調節部は、前記検出対象物の種別が所定の種別である場合、前記撮像画像から検出した前記検出対象物に前記身体の一部が重なれば、前記撮像画像に写る前記検出対象物に前記身体の一部が重ならない場合よりも、前記検出対象物の動きに対する前記表示情報を追従させる反応速度を、より早くなるように調節する、付記1に記載の情報処理装置。
(付記8)
タッチセンサを含む領域を撮像する撮像装置で撮像された撮像画像から検出した検出対象物の配置に合わせて、前記タッチセンサを含む領域上にある前記検出対象物に対する所定の相対位置に表示情報を投影するように表示装置を制御し、
前記検出対象物の動きに対する前記表示情報を追従させる反応速度を、前記タッチセンサで検出された接触位置が前記撮像画像から検出された前記検出対象物の配置と重ならない場合よりも、前記タッチセンサで検出された接触位置が前記撮像画像から検出された前記検出対象物の配置と重なる場合に、より早くなるように調節する、
処理を情報処理装置に実行させるためのプログラム。
(付記9)
タッチセンサを含む領域を撮像する撮像装置で撮像された撮像画像から検出した検出対象物の配置に合わせて、前記タッチセンサを含む領域上にある前記検出対象物に対する所定の相対位置に表示情報を投影するように表示装置を制御し、
前記検出対象物の動きに対する前記表示情報を追従させる反応速度を、前記タッチセンサで検出された接触位置が前記撮像画像から検出された前記検出対象物の配置と重ならない場合よりも、前記タッチセンサで検出された接触位置が前記撮像画像から検出された前記検出対象物の配置と重なる場合に、より早くなるように調節する、
ことを含む、情報処理装置に実行させる処理方法。
(付記10)
作業領域を画角内に含む撮像装置で撮像された撮像画像から検出した検出対象物の配置に合わせて、前記作業領域上にある前記検出対象物に対する所定の相対位置に表示情報を投影するように表示装置を制御する表示制御部と、
前記撮像画像に写るユーザの身体の一部を検出する検出部と、
前記検出対象物の動きに対する前記表示情報を追従させる反応速度を、前記撮像画像から検出した前記検出対象物に前記身体の一部が重ならない場合よりも、前記撮像画像から検出した前記検出対象物に前記身体の一部が重なる場合に、前記検出対象物の動きに対する前記表示情報を追従させる反応速度を、より早くなるように調節する調節部と、
を含む、情報処理装置。