(57)【要約】【課題】キャリブレーション処理を不要とし、ユーザビリティを向上させること。【解決手段】手と対象物体までの距離を示す距離画像内の手領域を算出し、前記対象物体の移動を検出し、前記対象物体の移動が検出されない場合、前記手領域を削除した画像の前記手領域を過去に生成した前記対象物体までの距離を示す対象領域画像を用いて補完することにより補完画像を生成し、前記対象物体の移動が検出されない場合、前記対象領域画像を前記補完画像で更新し、前記対象物体の移動が検出された場合、前記対象領域画像を前記手領域を削除した画像で更新する。【選択図】図３
2018005628.tif 000002
【特許請求の範囲】
【請求項１】
過去に生成した対象物体までの距離を示す対象領域画像を記憶する記憶部と、
手と前記対象物体までの距離を示し、前記対象領域画像の生成よりも後に取得された距離画像内の手領域を算出する手領域算出部と、
前記距離画像から前記手領域を削除した画像と前記対象領域画像とを比較して、前記対象物体の移動を検出する移動検出部と、
前記対象物体の移動が検出されない場合、前記手領域を削除した画像の前記手領域を前記対象領域画像を用いて補完することにより補完画像を生成する補完部と、
前記対象物体の移動が検出されない場合、前記対象領域画像を前記補完画像で更新し、前記対象物体の移動が検出された場合、前記対象領域画像を前記手領域を削除した画像で更新する更新部と、
を備える情報処理装置。
【請求項２】
前記補完部は、前記距離画像の前記手領域以外の第１の領域を前記第１の対象領域画像の前記第１の領域に対応する第２の領域と前記第２の領域の平均化回数に基づいて平均化することより前記補完画像を生成すること特徴とする請求項１記載の情報処理装置。
【請求項３】
前記平均化回数に基づいてマージンを算出し、前記手領域の指先の高さと前記対象物体の高さとの差分が前記マージンより小さい場合に、前記対象物体に対するタッチを検出するタッチ検出部をさらに備える請求項２記載の情報処理装置。
【請求項４】
前記マージンは、前記平均化回数が多いほど小さくなることを特徴とする請求項３記載の情報処理装置。
【請求項５】
過去に生成した対象物体までの距離を示す対象領域画像を記憶する情報処理装置が実行するインタラクション方法であって、
手と前記対象物体までの距離を示し、前記対象領域画像の生成よりも後に取得された距離画像内の手領域を算出し、
前記距離画像から前記手領域を削除した画像と前記対象領域画像とを比較して、前記対象物体の移動を検出し、
前記対象物体の移動が検出されない場合、前記手領域を削除した画像の前記手領域を前記対象領域画像を用いて補完することにより補完画像を生成し、
前記対象物体の移動が検出されない場合、前記対象領域画像を前記補完画像で更新し、前記対象物体の移動が検出された場合、前記対象領域画像を前記手領域を削除した画像で更新する、
処理を備えるインタラクション方法。
【請求項６】
過去に生成した対象物体までの距離を示す対象領域画像を記憶するコンピュータに、
手と前記対象物体までの距離を示し、前記対象領域画像の生成よりも後に取得された距離画像内の手領域を算出し、
前記距離画像から前記手領域を削除した画像と前記対象領域画像とを比較して、前記対象物体の移動を検出し、
前記対象物体の移動が検出されない場合、前記手領域を削除した画像の前記手領域を前記対象領域画像を用いて補完することにより補完画像を生成し、
前記対象物体の移動が検出されない場合、前記対象領域画像を前記補完画像で更新し、前記対象物体の移動が検出された場合、前記対象領域画像を前記手領域を削除した画像で更新する、
処理を実行させるインタラクションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、インタラクション方法、およびインタラクションプログラムに関する。
【背景技術】
【０００２】
昨今、Augmented Reality（ＡＲ）やInternet of Things（ＩｏＴ）など、現実世界と仮想情報を連携させ、インタラクションを実現する技術開発が盛んである。距離センサにより実物体と手指の位置を特定し、実物体と手指のインタラクションを可能にするインターフェース装置が開発されている。実物体と手指のインタラクションとは、実物体への手指のタッチやなぞる等の操作を意味する。
【０００３】
また、ユーザの操作によって入力画像に含まれるオブジェクトが動かされる環境においても、ユーザの手による操作や指示位置の誤検出を低減する技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−２２６２４号公報
【特許文献２】特開２００１−２８２４５６号公報
【非特許文献】
【０００５】
【非特許文献１】渡邉 航、他３名、「プロジェクタとデプスカメラを用いた投影面タッチＵＩの開発と操作性向上」、第21回画像センシングシンポジウム、2015年6月
【発明の概要】
【発明が解決しようとする課題】
【０００６】
実物体（対象物体）と手指のインタラクションを行う場合、対象物体を設置し、あらかじめキャリブレーション処理を行う。キャリブレーション処理とは、対象物体を置き、距離センサの撮影範囲から手を除いた状態で対象物体の位置、例えば距離センサからの対象物体の距離を登録する処理である。また、対象物体が移動した場合にもキャリブレーション処理を行っている。
【０００７】
対象物体の設置や移動のたびに、キャリブレーション処理を行うのは、非常に煩雑であり、ユーザビリティを損なうという問題がある。
【０００８】
本発明は、キャリブレーション処理を不要とし、ユーザビリティを向上させることを目的とする。
【課題を解決するための手段】
【０００９】
実施の形態に係る情報処理装置は、記憶部、手領域算出部、移動検出部、補完部、および更新部を備える。
【００１０】
前記記憶部は、過去に生成した対象物体までの距離を示す対象領域画像を記憶する。
前記手領域算出部は、手と前記対象物体までの距離を示し、前記対象領域画像の生成よりも後に取得された距離画像内の手領域を算出する。
【００１１】
前記移動検出部は、前記距離画像から前記手領域を削除した画像と前記対象領域画像とを比較して、前記対象物体の移動を検出する。
【００１２】
前記補完部は、前記対象物体の移動が検出されない場合、前記手領域を削除した画像の前記手領域を前記対象領域画像を用いて補完することにより補完画像を生成する。
【００１３】
前記更新部は、前記対象物体の移動が検出されない場合、前記対象領域画像を前記補完画像で更新し、前記対象物体の移動が検出された場合、前記対象領域画像を前記手領域を削除した画像で更新する。
【発明の効果】
【００１４】
実施の形態に係る情報処理装置によれば、キャリブレーション処理が不要となり、ユーザビリティが向上する。
【図面の簡単な説明】
【００１５】
【図１】実施の形態に係る距離センサを備える情報処理装置の使用例である。
【図２】実施の形態に係るインタラクティブプロジェクタを備える情報処理装置の使用例である
【図３】実施の形態に係る情報処理装置の構成図である。
【図４】実施の形態に係るインタラクション処理のフローチャートである。
【図５】実施の形態に係るインタラクション処理を説明する図である。
【図６】タッチ検出を説明する図である。
【図７】他の実施の形態に係る情報処理装置の構成図である。
【図８】他の実施の形態に係るインタラクション処理のフローチャートである。
【図９】他の実施の形態に係るインタラクション処理を説明する図である。
【図１０】情報処理装置（コンピュータ）の構成図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照しながら実施の形態について説明する。
図１は、実施の形態に係る距離センサを備える情報処理装置の使用例である。
【００１７】
図１において、対象物体２０１がテーブルの上に置かれており、距離センサ２２は、対象物体２０１および手３０１の上方に設置されており、対象物体２０１および手３０１までの距離を測定し、測定結果を情報処理装置２１に出力する。
【００１８】
情報処理装置２１は、測定結果に基づいて、ユーザの手３０１の指先の対象物体２０１へのタッチやなぞる等の動作を検出し、検出した動作に対応する処理を行う。情報処理装置２１は、例えば、パーソナルコンピュータ（ＰＣ）等である。
【００１９】
図２は、実施の形態に係るインタラクティブプロジェクタを備える情報処理装置の使用例である。
【００２０】
図２において、対象物体２０１がテーブルの上に置かれており、インタラクティブプロジェクタ２３は、対象物体２０１および手３０１の近くに設置されている。
【００２１】
インタラクティブプロジェクタ２３は、ミラーを備え、所定の画像を映すための投影光をミラーに照射する。投影光はミラーにより反射し、対象物体２０１に照射され、対象物体上に所定の画像が映し出される。
【００２２】
また、インタラクティブプロジェクタ２３は、距離センサを備え、距離センサと対象物体２０１や手３０１との間の距離を測定し、測定結果を情報処理装置２１に出力する。
【００２３】
情報処理装置２１は、測定結果に基づいて、ユーザの手３０１の指先の対象物体２０１へのタッチやなぞる等の動作を検出し、検出した動作に対応する処理を行う。
【００２４】
図３は、実施の形態に係る情報処理装置の構成図である。
情報処理装置１０１は、距離画像取得部１１１、手領域算出部１２１、対象物体領域算出部１３１、対象物体移動検出部１４１、対象物体領域補完部１５１、登録部１６１、インタラクション検出部１７１、および記憶部１８１を備える。
【００２５】
情報処理装置１０１は、例えば、ＰＣ等のコンピュータである。情報処理装置１０１は、図１および図２の情報処理装置２１に相当する。
【００２６】
距離画像取得部１１１は、距離画像取得部１１１と撮影範囲に含まれる物体との間の距離を測定し、測定した距離を所定の範囲（例えば、０から２５５）の値に変換し、変換した値を画素値とする距離画像（デプスマップ）を生成する。距離画像は、測定した距離を濃淡で表したグレースケール画像であり、例えば、各画素の画素値は０から２５５の範囲の値となる。距離画像において、距離が近いほど黒く（濃く）表示され、画素値は小さくなり、距離が遠いほど白く（淡く）表示され、画素値は大きくなる。距離画像取得部１１１は、例えば、距離センサである。距離画像取得部１１１は、図１の距離センサ２２およびインタラクティブプロジェクタ２３に含まれる距離センサに相当する。
【００２７】
手領域算出部１２１は、距離画像から手の領域（手領域）を算出する。手領域算出部１２１は、例えば、距離画像の画素値で示される距離に基づいて、手領域を算出する。例えば、図１のように、距離センサが対象物体２０１の上方に設置されている場合、手は対象物体よりも距離センサに近い位置にあると考えられる。そこで、手領域算出部１２１は、距離画像の画素の画素値が閾値以内の領域を手領域として算出する。また、手領域算出部１２１は、距離画像内の手領域の指先の位置（座標）を算出する。手領域算出部１２１は、手領域に含まれる全ての指先の位置を算出しても良いし、所定の指（例えば、人差し指）の指先の位置のみを算出してよい。
【００２８】
対象物体領域算出部１３１は、距離画像から手領域を削除する。以下、距離画像から手領域が削除された画像を手領域削除画像と称する。
【００２９】
対象物体移動検出部１４１は、対象物体の移動を検出する。詳細には、対象物体移動検出部１４１は、手領域削除画像と過去に作成した対象領域画像１８２と比較し、対象物体が移動しているか否か判定する。過去に作成した対象領域画像１８２は、前回のインタラクション処理の実行時に記憶部１８１に格納した対象領域画像１８２である。
【００３０】
対象物体領域補完部１５１は、手領域を削除した画像の手領域の部分を過去に作成した対象領域画像１８２を用いて補完した補完画像を作成する。
【００３１】
登録部１６１は、対象物体の移動を検出しなかった場合、補完画像を新たな対象領域画像１８２として記憶部１８１に格納（登録）する。詳細には、登録部１６１は、現在、記憶部１８１に格納されている過去に作成した対象領域画像１８２を補完画像に更新する。また、登録部１６１は、対象物体の移動を検出した場合、手領域削除画像を新たな対象領域画像１８２として記憶部１８１に格納（登録）する。詳細には、登録部１６１は、現在、記憶部１８１に格納されている過去に作成した対象領域画像１８２を手領域削除画像に更新する。登録部１６１は、更新部の一例である。
【００３２】
インタラクション検出部１７１は、基準高さＺｒｅｆ、指先の高さＺ、およびマージンαに基づいて、対象物体に対するタッチを検出する。
【００３３】
記憶部１８１は、情報処理装置１０１で使用されるプログラムやデータ等を記憶する記憶装置である。記憶部１８１は、対象領域画像１８２を記憶する。
【００３４】
図４は、実施の形態に係るインタラクション処理のフローチャートである。
図５は、実施の形態に係るインタラクション処理を説明する図である。
【００３５】
実施の形態において、テーブルの上に直方体の物体（対象物体）２０１が置かれており、距離画像取得部１１１は、対象物体２０１の上方に設置されているものとする。また、ユーザは、対象物体２０１に対して手の指先でタッチ等の操作を行い、情報処理装置１０１は操作を検出して、操作に対応する処理を実行する。
【００３６】
ステップＳ５０１において、距離画像取得部１１１は距離画像４０１を取得する。図５において、距離画像４０１には、対象物体２０１と手３０１が含まれている。
【００３７】
ステップＳ５０２において、手領域算出部１２１は、距離画像４０１から手３０１の領域（手領域）を算出する。また、手領域算出部１２１は、手領域の指先の位置を算出する。実施の形態において、指先の位置として人差し指の指先の位置を検出する。
【００３８】
ステップＳ５０３において、対象物体領域算出部１３１は、距離画像４０１から手領域を削除し、手領域削除画像４０２を生成する。
【００３９】
ステップＳ５０４において、対象物体移動検出部１４１は、手領域削除画像４０２の各画素の画素値と記憶部１８１に格納されている過去の対象領域画像１８２の各画素の画素値との差分を算出する。対象物体移動検出部１４１は、算出した複数の差分のうち、閾値a以上である差分の数を評価値として算出する。過去の対象領域画像１８２は、前回のインタラクション処理の実行時に記憶部１８１に格納した対象領域画像である。
【００４０】
対象物体移動検出部１４１は、評価値を閾値ｂと比較し、比較結果に基づいて、対象物体２０１が移動したか否か判定する。詳細には、対象物体移動検出部１４１は、評価値が閾値ｂ以下の場合、対象物体２０１は移動していないと判定し、制御はステップＳ５０５に進む。対象物体移動検出部１４１は、評価値が閾値ｂより大きい場合、対象物体２０１は移動したと判定し、制御はステップＳ５０７に進む。
【００４１】
対象物体２０１が前回のインタラクション処理を実行したときから移動している場合、評価値は閾値ｂより大きくなる。また、対象物体２０１が前回のインタラクション処理を実行したときと同じ位置にあれば、評価値は閾値ｂ以下となる。
【００４２】
ステップＳ５０５において、対象物体領域補完部１５１は、手領域削除画像４０２の手領域の部分を過去に作成した対象領域画像１８２を用いて補完し、補完画像４０３を作成する。
【００４３】
ステップＳ５０６において、補完画像４０３を新たな対象領域画像１８２として記憶部１８１に格納（登録）する。詳細には、登録部１６１は、現在、記憶部１８１に格納されている過去に作成した対象領域画像１８２を補完画像４０３に更新する。
【００４４】
ステップＳ５０７において、登録部１６１は、手領域削除画像４０２を新たな対象領域画像１８２として記憶部１８１に格納（登録）する。詳細には、登録部１６１は、現在、記憶部１８１に格納されている過去に作成した対象領域画像１８２を手領域削除画像４０２に更新する。
【００４５】
ステップＳ５０８において、インタラクション検出部１７１は、手領域の指先の位置における対象領域画像１８２の高さが測定されているか判定する。インタラクション検出部１７１は、手領域の指先の位置に対応する対象領域画像１８２の位置の画素値がある場合、指先の位置における対象領域画像１８２の高さが測定されていると判定し、制御はステップＳ５０９に進む。インタラクション検出部１７１は、手領域の指先の位置に対応する対象領域画像１８２の位置の画素値がない場合、指先の位置における対象領域画像１８２の高さが測定されていないと判定し、制御はステップＳ５１１に進む。
【００４６】
ステップＳ５０９において、インタラクション検出部１７１は、距離画像４０１における手３０１の指先の位置の高さ（画素値）Ｚが基準高さＺｒｅｆからマージンαを減算した値より大きいか否か判定する。基準高さＺｒｅｆは、距離画像４０１における指先の位置に対応する対象領域画像１８２の位置の高さ（画素値）である。Ｚ＞Ｚｒｅｆ−αである場合（すなわち、基準高さＺｒｅｆと指先の高さＺとの差分がマージンαより小さい場合）、制御はステップＳ５１０に進む。Ｚ≦Ｚｒｅｆ−αである場合、インタラクション検出部１７１は、タッチ非検出と判定し、処理は終了する。
【００４７】
図６は、タッチ検出を説明する図である。
図６において、指の高さＺや基準高さＺｒｅｆは、対象物体２０１の上方に備えられた距離画像取得部１１１（不図示）からの距離を示し、指の高さＺや基準高さＺｒｅｆは、距離画像４０１および対象領域画像１８２の画素の画素値である。
【００４８】
図６において、指３１１の指先は、対象物体２０１の上方、すなわち距離画像４０１において対象物体２０１の領域内に存在している。このとき、基準高さＺｒｅｆは、対象物体２０１の高さ、すなわち対象領域画像１８２の対象物体２０１の領域内の指先の位置に対応する画素の画素値Ｚｒｅｆ２となる。また、指先が距離画像４０１において対象物体２０１の領域外に存在している場合、基準高さＺｒｅｆは、テーブルの高さ、すなわち対象領域画像１８２の対象物体２０１の領域外の指先の位置に対応する画素の画素値Ｚｒｅｆ１となる。
【００４９】
指３１１の指先が対象物体２０１の上面からマージンα以上離れた位置にあり、このときの指先の高さはＺ１であるとする。このとき、Ｚ１≦Ｚｒｅｆ２−αとなり、タッチは検出されない。
【００５０】
指３１１の指先が対象物体２０１の上面からマージンα離れた位置より近い位置にあり、このときの指先の高さはＺ２であるとする。このとき、Ｚ２＞Ｚｒｅｆ２−αとなり、インタラクション検出部１７１はタッチを検出する。
【００５１】
ステップＳ５１０において、インタラクション検出部１７１は、タッチを検出する。インタラクション検出部１７１は、指先の位置が対象領域画像１８２の対象物体２０１の領域内にあれば、指先が対象物体２０１にタッチしたと判定する。また、インタラクション検出部１７１は、指先の位置が対象領域画像１８２の対象物体２０１の領域外にあれば、指先がテーブルにタッチしたと判定する。そして、インタラクション検出部１７１は、対象物体２０１またはテーブルへのタッチの検出に対応する所定の処理を実行する。
【００５２】
ステップＳ５１１において、インタラクション検出部１７１は、前フレームのインタラクションを継続する。すなわち、インタラクション検出部１７１は、前回のインタラクション処理においてタッチを検出した場合、今回のインタラクション処理においてもタッチを検出したと判定し、タッチの検出に対応する所定の処理を実行する。またインタラクション検出部１７１は、前回のインタラクション処理においてタッチを検出していない場合、今回のインタラクション処理においてもタッチを検出していない判定する。
【００５３】
実施の形態のインタラクション処理は、短い間隔（例えば、６０分の１秒〜３０分の１秒）で繰り返し実行される。それにより、対象物体２０１の位置を示す対象領域画像１８２は、対象物体２０１を設置または移動すると即座に登録される。また、手により隠れている部分の対象物体２０１の高さの情報を過去の対象領域画像１８２で補完することにより、従来のようなキャリブレーション処理が不要となる。
【００５４】
実施の形態に係る情報処理装置によれば、対象物体を設置または移動した場合に、即座にインタラクションが可能となる。
【００５５】
実施の形態に係る情報処理装置によれば、対象物体を設置または移動した場合に、従来のようなキャリブレーション処理を行う必要が無く、ユーザビリティが向上する。
【００５６】
また、実施の形態に係る情報処理装置によれば、特許文献２に記載のような対象物体の３次元形状を特定するためのマーカ（バーコード）の付与の必要が無くユーザビリティが向上する。
【００５７】
図７は、他の実施の形態に係る情報処理装置の構成図である。
情報処理装置６０１は、距離画像取得部６１１、手領域算出部６２１、対象物体領域算出部６３１、対象物体移動検出部６４１、対象物体領域補完部６５１、登録部６６１、インタラクション検出部６７１、および記憶部６８１を備える。
【００５８】
情報処理装置６０１は、例えば、ＰＣ等のコンピュータである。情報処理装置６０１は、図１および図２の情報処理装置２１に相当する。
【００５９】
距離画像取得部６１１は、距離画像取得部６１１と撮影範囲に含まれる物体との間の距離を測定し、測定した距離を所定の範囲（例えば、０から２５５）の値に変換し、変換した値を画素値とする距離画像（デプスマップ）を生成する。距離画像は、測定した距離を濃淡で表したグレースケール画像であり、例えば、各画素の画素値は０から２５５の範囲の値となる。距離画像において、距離が近いほど黒く（濃く）表示され、画素値は小さくなり、距離が遠いほど白く（淡く）表示され、画素値は大きくなる。距離画像取得部６１１は、例えば、距離センサである。距離画像取得部６１１は、図１の距離センサ２２およびインタラクティブプロジェクタ２３に含まれる距離センサに相当する。
【００６０】
手領域算出部６２１は、距離画像から手の領域（手領域）を算出する。手領域算出部６２１は、例えば、距離画像の画素値で示される距離に基づいて、手領域を算出する。例えば、図１のように、距離センサが対象物体２０１の上方に設置されている場合、手３０１は対象物体２０１よりも距離センサに近い位置にあると考えられる。そこで、手領域算出部６２１は、距離画像の画素の画素値が閾値以内の領域を手領域として算出する。また、手領域算出部６２１は、距離画像内の手領域の指先の位置（座標）を算出する。手領域算出部６２１は、手領域に含まれる全ての指先の位置を算出しても良いし、所定の指（例えば、人差し指）の指先の位置のみを算出してよい。
【００６１】
対象物体領域算出部６３１は、距離画像から手領域を削除する。以下、距離画像から手領域が削除された画像を手領域削除画像と称する。
【００６２】
対象物体移動検出部６４１は、対象物体の移動を検出する。詳細には、対象物体移動検出部６４１は、手領域削除画像と過去に作成した対象領域画像６８２と比較し、対象物体が移動しているか否か判定する。過去に作成した対象領域画像６８２は、前回のインタラクション処理の実行時に記憶部６８１に格納した対象領域画像６８２である。
【００６３】
対象物体領域補完部６５１は、手領域を削除した画像の手領域の部分を過去に作成した対象領域画像６８２を用いて補完し、さらに手領域以外の領域を対象領域画像６８２と画素毎の平均化回数を用いて平均化し、補完画像を作成する。
【００６４】
登録部６６１は、対象物体の移動を検出しなかった場合、補完画像を新たな対象領域画像６８２として記憶部６８１に格納（登録）する。詳細には、登録部６６１は、現在、記憶部６８１に格納されている過去に作成した対象領域画像６８２を補完画像に更新する。登録部６６１は、対象領域画像６８２の画素毎の平均化回数を更新する。
【００６５】
登録部６６１は、対象物体の移動を検出した場合、手領域削除画像を新たな対象領域画像６８２として記憶部６８１に格納（登録）する。詳細には、登録部６６１は、現在、記憶部６８１に格納されている過去に作成した対象領域画像６８２を手領域削除画像に更新する。登録部６６１は、対象領域画像６８２の画素毎の平均化回数を初期化する。登録部６６１は、更新部の一例である。
【００６６】
インタラクション検出部６７１は、基準高さＺｒｅｆ、指先の高さＺ、およびマージンαに基づいて、対象物体に対するタッチを検出する。
【００６７】
記憶部６８１は、情報処理装置６０１で使用されるプログラムやデータ等を記憶する記憶装置である。記憶部６８１は、対象領域画像６８２を記憶する。また、記憶部６８１は、対象領域画像６８２の各画素の平均化回数を記憶する。ある画素の平均化回数は、当該画素の画素値の算出に用いられた画素値の数である。また、平均化回数は、当該画素の画素値のために行われた平均化処理の回数を示し、平均化処理の回数に１加算した値となる。
【００６８】
図８は、他の実施の形態に係るインタラクション処理のフローチャートである。
図９は、他の実施の形態に係るインタラクション処理を説明する図である。
【００６９】
他の実施の形態において、テーブルの上に直方体の物体（対象物体）２０１が置かれており、距離画像取得部６１１は、対象物体２０１の上方に設置されているものとする。また、ユーザは、対象物体２０１に対して手の指先でタッチ等の操作を行い、情報処理装置６０１は操作を検出して、操作に対応する処理を実行する。
【００７０】
ステップＳ７０１において、距離画像取得部６１１は距離画像４０１を取得する。図９において、距離画像４０１には、対象物体２０１と手３０１が含まれている。
【００７１】
ステップＳ７０２において、手領域算出部６２１は、距離画像４０１から手３０１の領域（手領域）を算出する。また、手領域算出部６２１は、手領域の指先の位置を算出する。実施の形態において、指先の位置として人差し指の指先の位置を検出する。
【００７２】
ステップＳ７０３において、対象物体領域算出部６３１は、距離画像４０１から手領域を削除し、手領域削除画像４０２を生成する。
【００７３】
ステップＳ７０４において、対象物体移動検出部６４１は、手領域削除画像４０２の各画素の画素値と記憶部６８１に格納されている過去の対象領域画像６８２の各画素の画素値との差分を算出する。対象物体移動検出部１４１は、算出した複数の差分のうち、閾値a以上である差分の数を評価値として算出する。過去の対象領域画像６８２は、前回のインタラクション処理の実行時に記憶部６８１に格納した対象領域画像である。
【００７４】
対象物体移動検出部６４１は、評価値を閾値ｂと比較し、比較結果に基づいて、対象物体２０１が移動したか否か判定する。詳細には、対象物体移動検出部６４１は、評価値が閾値ｂ以下の場合、対象物体２０１は移動していないと判定し、制御はステップＳ７０５に進む。対象物体移動検出部６４１は、評価値が閾値ｂより大きい場合、対象物体２０１は移動したと判定し、制御はステップＳ７０８に進む。
【００７５】
対象物体２０１が前回のインタラクション処理を実行したときから移動している場合、評価値は閾値ｂより大きくなる。また、対象物体２０１が前回のインタラクション処理を実行したときと同じ位置にあれば、評価値は閾値ｂ以下となる。
【００７６】
ステップＳ７０５において、対象物体領域補完部６５１は、手領域削除画像４０２の手領域を過去に作成した対象領域画像６８２を用いて補完する。さらに、対象物体領域補完部６５１は、手領域削除画像４０２の手領域以外の第１の領域の各画素を第１の領域に対応する過去の対象領域画像６８２の第２の領域の各画素と第２の領域の各画素の平均化回数を用いて平均化し、補完画像４０４を作成する。ただし、第２の領域において、距離が測定されていない箇所、すなわち画素値が存在しない箇所は、当該箇所に対応する第１の領域の画素の画素値をそのまま用いて、補完画像４０４を作成する。
【００７７】
例えば、手領域削除画像４０２の第１の領域の画素ｐ（ｘ，ｙ）の画素値がｖ（ｘ，ｙ）であり、対象領域画像６８２の第２の領域の画素ｐ’（ｘ，ｙ）の画素値がｖ’（ｘ，ｙ）とする。また、画素ｐ’（ｘ，ｙ）の平均化回数をｎｘｙとする。このとき、補完画像４０４の画素ｐ’’（ｘ，ｙ）の画素値ｖ’’（ｘ，ｙ）は、ｖ’’（ｘ，ｙ）＝（ｖ（ｘ，ｙ）＋ｎｘｙ＊ｖ’（ｘ，ｙ））／（ｎｘｙ＋１）となる。
【００７８】
登録部６６１は、対象領域画像６８２の第２の領域の各画素の平均化回数を１加算する。
【００７９】
ステップＳ７０６において、登録部６６１は、補完画像４０４を新たな対象領域画像６８２として記憶部６８１に格納（登録）する。詳細には、登録部６６１は、現在、記憶部６８１に格納されている過去に作成した対象領域画像６８２を補完画像４０３に更新する。
【００８０】
ステップＳ７０７において、インタラクション検出部６７１は、対象領域画像６８２の各画素のマージンαを各画素の平均化回数に基づいて変更する。対象領域画像６８２の画素ｐ（ｘ，ｙ）のマージンαｘｙは、画素ｐ（ｘ，ｙ）の平均化回数をｎｘｙとすると下式で算出される。
αｘｙ＝（１＊β）／（ｎｘｙ）＊α０
【００８１】
α０は初期マージンであり、βは任意の定数（ただし、０＜β≦１）であり、距離画像取得部６１１の測定精度に応じて予め設定されている。βは、平均化回数ｎｘｙをどの程度考慮させるかを示す定数である。上式のように、平均化回数ｎｘｙが大きくなるとマージンαｘｙは小さくなる。
【００８２】
ステップＳ７０８において、登録部６６１は、手領域削除画像４０２を新たな対象領域画像６８２として記憶部６８１に格納（登録）する。詳細には、登録部６６１は、現在、記憶部６８１に格納されている過去に作成した対象領域画像１８２を手領域削除画像４０２に更新する。登録部６６１は、対象領域画像６８２の各画素の平均化回数を初期化する。詳細には、登録部６６１は、対象領域画像６８２のうち手領域の画素の平均化回数を０にし、対象領域画像６８２のうち手領域以外の領域の画素の平均化回数を１にする。
【００８３】
ステップＳ７０９において、インタラクション検出部６７１は、手領域の指先の位置における対象領域画像６８２の高さが測定されているか判定する。インタラクション検出部１７１は、手領域の指先の位置に対応する対象領域画像６８２の位置の画素値がある場合、指先の位置における対象領域画像６８２の高さが測定されていると判定し、制御はステップＳ７１０に進む。インタラクション検出部６７１は、手領域の指先の位置に対応する対象領域画像１８２の位置の画素値がない場合、指先の位置における対象領域画像１８２の高さが測定されていないと判定し、制御はステップＳ７１２に進む。
【００８４】
ステップＳ７１０において、インタラクション検出部６７１は、距離画像４０１における手３０１の指先の位置ｐ（ｘ，ｙ）の高さ（画素値）Ｚが基準高さＺｒｅｆから指先の位置に対応するマージンαｘｙを減算した値より大きいか否か判定する。Ｚ＞Ｚｒｅｆ−αｘｙである場合（すなわち、基準高さＺｒｅｆと指先の高さＺとの差分がマージンαｘｙより小さい場合）、制御はステップＳ７１１に進む。基準高さＺｒｅｆは、距離画像４０１における指先の位置に対応する対象領域画像６８２の位置の高さ（画素値）である。Ｚ≦Ｚｒｅｆ−αｘｙである場合、インタラクション検出部６７１は、タッチ非検出と判定し、処理は終了する。
【００８５】
ステップＳ７１１において、インタラクション検出部６７１は、タッチを検出する。インタラクション検出部６７１は、指先の位置が対象領域画像６８２の対象物体２０１の領域内にあれば、指先が対象物体２０１にタッチしたと判定する。また、インタラクション検出部１７１は、指先の位置が対象領域画像６８２の対象物体２０１の領域外にあれば、指先がテーブルにタッチしたと判定する。そして、インタラクション検出部１７１は、対象物体２０１またはテーブルへのタッチの検出に対応する所定の処理を実行する。
【００８６】
ステップＳ７１２において、インタラクション検出部６７１は、前フレームのインタラクションを継続する。すなわち、インタラクション検出部６７１は、前回のインタラクション処理においてタッチを検出した場合、今回のインタラクション処理においてもタッチを検出したと判定し、タッチの検出に対応する所定の処理を実行する。またインタラクション検出部６７１は、前回のインタラクション処理においてタッチを検出していない場合、今回のインタラクション処理においてもタッチを検出していない判定する。
【００８７】
他の実施の形態のインタラクション処理は、短い間隔（例えば、６０分の１秒〜３０分の１秒）で繰り返し実行される。それにより、対象物体２０１の位置を示す対象領域画像６８２は、対象物体２０１を設置または移動すると即座に登録される。また、手により隠れている部分の対象物体２０１の高さの情報を過去の対象領域画像１８２で補完することにより、従来のようなキャリブレーション処理が不要となる。
【００８８】
他の実施の形態に係る情報処理装置によれば、対象物体を設置または移動した場合に、即座にインタラクションが可能となる。
【００８９】
他の実施の形態に係る情報処理装置によれば、対象物体２０１の位置を示す対象領域画像を過去の対象領域画像の平均を用いて算出することで、精度が向上し、誤判定の可能性が低減する。
【００９０】
他の実施の形態に係る情報処理装置によれば、対象物体を設置または移動した場合に、従来のようなキャリブレーション処理を行う必要が無く、ユーザビリティが向上する。
【００９１】
また、他の実施の形態に係る情報処理装置によれば、特許文献２に記載のような対象物体の３次元形状を特定するためのマーカ（バーコード）の付与の必要が無くユーザビリティが向上する。
【００９２】
図１０は、情報処理装置（コンピュータ）の構成図である。
実施の形態の情報処理装置１０１、６０１は、例えば、図１０に示すような情報処理装置（コンピュータ）１によって実現可能である。
【００９３】
情報処理装置１は、ＣＰＵ２、メモリ３、入力装置４、出力装置５、記憶部６、記録媒体駆動部７、及びネットワーク接続装置８を備え、それらはバス９により互いに接続されている。
【００９４】
ＣＰＵ２は、情報処理装置１全体を制御する中央処理装置である。ＣＰＵ２は、手領域算出部１２１，６２１、対象物体領域算出部１３１，６３１、対象物体移動検出部１４１，６４１、対象物体領域補完部１５１，６５１、登録部１６１，６６１、およびインタラクション検出部１７１，６７１として動作する。
【００９５】
メモリ３は、プログラム実行の際に、記憶部６（あるいは可搬記録媒体１０）に記憶されているプログラムあるいはデータを一時的に格納するRead Only Memory(ＲＯＭ)やRandom Access Memory(ＲＡＭ)等のメモリである。ＣＰＵ２は、メモリ３を利用してプログラムを実行することにより、上述した各種処理を実行する。
【００９６】
この場合、可搬記録媒体１０等から読み出されたプログラムコード自体が実施の形態の機能を実現する。
【００９７】
入力装置４は、ユーザ又はオペレータからの指示や情報の入力、情報処理装置１で用いられるデータの取得等に用いられる。入力装置４は、例えば、キーボード、マウス、タッチパネル、カメラ、または距離センサ等である。入力装置４は、距離画像取得部１１１に対応する。
【００９８】
出力装置５は、ユーザ又はオペレータへの問い合わせや処理結果を出力したり、ＣＰＵ２による制御により動作する装置である。出力装置５は、例えば、ディスプレイ、またはプリンタ等である。
【００９９】
記憶部６は、例えば、磁気ディスク装置、光ディスク装置、テープ装置等である。情報処理装置１は、記憶部６に、上述のプログラムとデータを保存しておき、必要に応じて、それらをメモリ３に読み出して使用する。メモリ３および記憶部６は、記憶部１８１，６８１に対応する。
【０１００】
記録媒体駆動部７は、可搬記録媒体１０を駆動し、その記録内容にアクセスする。可搬記録媒体としては、メモリカード、フレキシブルディスク、Compact Disk Read Only Memory(ＣＤ−ＲＯＭ)、光ディスク、光磁気ディスク等、任意のコンピュータ読み取り可能な記録媒体が用いられる。ユーザは、この可搬記録媒体１０に上述のプログラムとデータを格納しておき、必要に応じて、それらをメモリ３に読み出して使用する。
【０１０１】
ネットワーク接続装置８は、Local Area Network（ＬＡＮ）やWide Area Network（ＷＡＮ）等の任意の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インターフェースである。ネットワーク接続装置８は、通信ネットワークを介して接続された装置へデータの送信または通信ネットワークを介して接続された装置からデータを受信する。
【０１０２】
以上の実施の形態に関し、さらに以下の付記を開示する。
（付記１）
過去に生成した対象物体までの距離を示す対象領域画像を記憶する記憶部と、
手と前記対象物体までの距離を示し、前記対象領域画像の生成よりも後に取得された距離画像内の手領域を算出する手領域算出部と、
前記距離画像から前記手領域を削除した画像と前記対象領域画像とを比較して、前記対象物体の移動を検出する移動検出部と、
前記対象物体の移動が検出されない場合、前記手領域を削除した画像の前記手領域を前記対象領域画像を用いて補完することにより補完画像を生成する補完部と、
前記対象物体の移動が検出されない場合、前記対象領域画像を前記補完画像で更新し、前記対象物体の移動が検出された場合、前記対象領域画像を前記手領域を削除した画像で更新する更新部と、
を備える情報処理装置。
（付記２）
前記補完部は、前記距離画像の前記手領域以外の第１の領域を前記第１の対象領域画像の前記第１の領域に対応する第２の領域と前記第２の領域の平均化回数に基づいて平均化することより前記補完画像を生成すること特徴とする付記１記載の情報処理装置。
（付記３）
前記平均化回数に基づいてマージンを算出し、前記手領域の指先の高さと前記対象物体の高さとの差分が前記マージンより小さい場合に、前記対象物体に対するタッチを検出するタッチ検出部をさらに備える付記２記載の情報処理装置。
（付記４）
前記マージンは、前記平均化回数が多いほど小さくなることを特徴とする付記３記載の情報処理装置。
（付記５）
過去に生成した対象物体までの距離を示す対象領域画像を記憶する情報処理装置が実行するインタラクション方法であって、
手と前記対象物体までの距離を示し、前記対象領域画像の生成よりも後に取得された距離画像内の手領域を算出し、
前記距離画像から前記手領域を削除した画像と前記対象領域画像とを比較して、前記対象物体の移動を検出し、
前記対象物体の移動が検出されない場合、前記手領域を削除した画像の前記手領域を前記対象領域画像を用いて補完することにより補完画像を生成し、
前記対象物体の移動が検出されない場合、前記対象領域画像を前記補完画像で更新し、前記対象物体の移動が検出された場合、前記対象領域画像を前記手領域を削除した画像で更新する、
処理を備えるインタラクション方法。
（付記６）
前記補完画像を生成する処理において、前記距離画像の前記手領域以外の第１の領域を前記第１の対象領域画像の前記第１の領域に対応する第２の領域と前記第２の領域の平均化回数に基づいて平均化すること特徴とする付記５記載のインタラクション方法。
（付記７）
前記平均化回数に基づいてマージンを算出し、前記手領域の指先の高さと前記対象物体の高さとの差分が前記マージンより小さい場合に、前記対象物体に対するタッチを検出する処理をさらに備える付記６記載のインタラクション方法。
（付記８）
前記マージンは、前記平均化回数が多いほど小さくなることを特徴とする付記７記載のインタラクション方法。
（付記９）
過去に生成した対象物体までの距離を示す対象領域画像を記憶するコンピュータに、
手と前記対象物体までの距離を示し、前記対象領域画像の生成よりも後に取得された距離画像内の手領域を算出し、
前記距離画像から前記手領域を削除した画像と前記対象領域画像とを比較して、前記対象物体の移動を検出し、
前記対象物体の移動が検出されない場合、前記手領域を削除した画像の前記手領域を前記対象領域画像を用いて補完することにより補完画像を生成し、
前記対象物体の移動が検出されない場合、前記対象領域画像を前記補完画像で更新し、前記対象物体の移動が検出された場合、前記対象領域画像を前記手領域を削除した画像で更新する、
処理を実行させるインタラクションプログラム。
（付記１０）
前記補完画像を生成する処理において、前記距離画像の前記手領域以外の第１の領域を前記第１の対象領域画像の前記第１の領域に対応する第２の領域と前記第２の領域の平均化回数に基づいて平均化すること特徴とする付記９記載のインタラクションプログラム。
（付記１１）
前記平均化回数に基づいてマージンを算出し、前記手領域の指先の高さと前記対象物体の高さとの差分が前記マージンより小さい場合に、前記対象物体に対するタッチを検出する処理をさらに備える付記１０記載のインタラクションプログラム。
（付記１２）
前記マージンは、前記平均化回数が多いほど小さくなることを特徴とする付記１１記載のインタラクションプログラム。
【符号の説明】
【０１０３】
２１    情報処理装置
２２    距離センサ
２３    インタラクティブプロジェクタ
１０１    情報処理装置
１１１    距離画像取得部
１２１    手領域算出部
１３１    対象物体領域算出部
１４１    対象物体移動検出部
１５１    対象物体領域補完部
１６１    登録部
１７１    インタラクション検出部
１８１    記憶部
１８２    対象領域画像
２０１    対象物体
３０１    手
６０１    情報処理装置
６１１    距離画像取得部
６２１    手領域算出部
６３１    対象物体領域算出部
６４１    対象物体移動検出部
６５１    対象物体領域補完部
６６１    登録部
６７１    インタラクション検出部
６８１    記憶部
６８２    対象領域画像
【図１】
2018005628.tif 000003
【図２】
2018005628.tif 000004
【図３】
2018005628.tif 000005
【図４】
2018005628.tif 000006
【図５】
2018005628.tif 000007
【図６】
2018005628.tif 000008
【図７】
2018005628.tif 000009
【図８】
2018005628.tif 000010
【図９】
2018005628.tif 000011
【図１０】
2018005628.tif 000012