(57)【要約】【課題】確実に指先及び手のひらを認識して誤検出を防止することを可能とした画像投影方法、情報入力装置及びプログラムを提供する。【解決手段】画像投影方法は、投影部（３１）により画像を投影可能な空間（４０）内において、深度センサ（２２）を用いて投影部から空間内の物体までの距離を示す深度データを取得し、深度データから空間内の物体の輪郭を抽出し、抽出された輪郭の曲率から、空間内の物体の先端部分が指であるか否かを判定し、指と判定された物体の先端部分から一定距離離れたその物体上の点を含み、その物体上に収まる任意の図形領域を手のひらとして検出し、投影部により手のひらに画像を投影するステップを有する。【選択図】図５
2015094828.tif 000002
【特許請求の範囲】
【請求項１】
投影部により画像を投影可能な空間内において、深度センサを用いて当該投影部から当該空間内の物体までの距離を示す深度データを取得し、
前記深度データから前記空間内の物体の輪郭を抽出し、
抽出された輪郭の曲率から、前記空間内の物体の先端部分が指であるか否かを判定し、
指と判定された前記物体の先端部分から一定距離離れた当該物体上の点を含み、当該物体上に収まる任意の図形領域を手のひらとして検出し、
前記投影部により前記手のひらに画像を投影する、
ステップを有することを特徴とする画像投影方法。
【請求項２】
前記指を判定するステップにより、前記手のひらの上に指が移動したか否かを判定し、
前記手のひらと当該手のひら上に移動した指との深度差に基づき、当該手のひらに投影された画像に対する当該移動した指による操作を情報入力操作として検出するステップをさらに有する、請求項１に記載の画像投影方法。
【請求項３】
前記指を判定するステップにより、前記手のひらの上に、当該手のひらと同じ手の指が移動したか否かを判定する、請求項２に記載の画像投影方法。
【請求項４】
前記指を判定するステップでは、抽出された輪郭の曲率により定まる当該輪郭の先端から当該輪郭に沿って一方向に予め定められた距離ずつ離れた点列と、当該先端から逆方向に予め定められた距離ずつ離れた点列との対応する２点間の距離が、指の幅に応じて定められた閾値以内であるときに、当該輪郭の先端と当該２つの点列により囲まれる物体の先端部分を指であると判定する、請求項１〜３の何れか一項に記載の画像投影方法。
【請求項５】
前記手のひらを検出するステップでは、先端部分が指と判定された物体上で、前記２つの点列により定まる当該指の付け根から一定距離離れた点を含み、当該物体上に収まる最大の矩形領域を手のひらとして検出する、請求項４に記載の画像投影方法。
【請求項６】
抽出された物体の輪郭を含む一定範囲内における深度分布の立上りと立下りの間の距離が、指の幅に応じて定められた閾値以内であるときに、当該物体の先端部分が指であると判定するステップをさらに有する、請求項１〜５の何れか一項に記載の画像投影方法。
【請求項７】
画像を投影する投影部と、
前記投影部により画像を投影可能な空間内において、当該投影部から当該空間内の物体までの距離を示す深度データを取得する深度センサと、
前記投影部を制御して画像を投影し、投影された画像に対する入力操作を検出する制御部と、を有し、
前記制御部は、
前記深度データから前記空間内の物体の輪郭を抽出し、
抽出された輪郭の曲率から、前記空間内の物体の先端部分が指であるか否かを判定し、
指と判定された前記物体の先端部分から一定距離離れた当該物体上の点を含み、当該物体上に収まる任意の図形領域を手のひらとして検出し、
前記投影部により前記手のひらに画像を投影させる、
ことを特徴とする情報入力装置。
【請求項８】
前記深度センサは、赤外線照射部及び赤外線カメラを有し、当該赤外線照射部により前記空間内の物体に投影された画像を当該赤外線カメラにより撮像することで前記深度データを取得する、請求項７に記載の情報入力装置。
【請求項９】
画像を投影する投影部を有する装置を制御するコンピュータに、
前記投影部により画像を投影可能な空間内において、深度センサにより測定された当該投影部から当該空間内の物体までの距離を示す深度データを取得する機能と、
前記深度データから前記空間内の物体の輪郭を抽出する機能と、
抽出された輪郭の曲率から、前記空間内の物体の先端部分が指であるか否かを判定する機能と、
指と判定された前記物体の先端部分から一定距離離れた当該物体上の点を含み、当該物体上に収まる任意の図形領域を手のひらとして検出する機能と、
前記投影部により前記手のひらに画像を投影させる機能と、
を実現させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの手のひらに画像を投影する画像投影方法、その画像を用いた情報入力装置及びプログラムに関する。
【背景技術】
【０００２】
例えば、テレビ、ビデオ等を操作するための情報入力を行うには、リモコン等の情報入力装置を利用することが一般的である。しかしながら、いざ利用しようとすると、リモコン等の置き場所が不明であったりして、利用したいときに利用できないといった不具合があった。このため、情報入力機器自体を操作することなく、シンプルで分かり易く、且つ大多数の人が直感的に操作できるような情報入力装置が求められていた。
【０００３】
ところで、映像投射装置から複数の入力キーを有する操作部を示す映像を投影し、この映像上における指の動きを画像認識処理により検出して、入力キーに対する押下げ操作がなされたか否かを判別する情報入力装置が知られている（例えば、特許文献１を参照）。特許文献１に記載の情報入力装置では、撮像部で読取った映像から、エッジ検出によって指を判別した上で、指の上から下への動き、即ち映像が投影されている面に対する指の接触を検出する。
【０００４】
また、ユーザがプロジェクタを身に着け、プロジェクタが投影するダイアルパッドを手のひらで受け、手のひらに投影されたダイアルパッドをユーザの指先に装着された器具で指し示すと、指し示されたダイアルパッドに対応した入力がなされる、装着可能なジェスチャーインタフェイスが知られている（例えば、特許文献２を参照）。特許文献２に記載のジェスチャーインタフェイスでは、カメラが撮像した画像をコンピュータが画像解析して、ユーザの指先に装着された器具の動きを追跡し、ダイアルパッドに対応した入力があるか否かが判断される。また、プロジェクタからの画像は、ミラーで反射されてから投影されるため、ミラーの位置をユーザがマニュアルで変更することによって、投影場所を変更することができる。
【０００５】
さらに、画像を投影可能な所定の領域内で手のひらを検出し、検出した手のひらに画像を投影するシステムが知られている（例えば、特許文献３及び非特許文献１を参照）。特許文献３に記載の情報提示装置は、撮影画像に写っている人物の重心を求め、人物の胴体の領域を除去した後、最初に求めた重心から一番遠い重心位置をもつ領域を掌として検出して、その領域に詳細情報を提示する。また、非特許文献１に記載のシステムでは、プロジェクタの投影方向は固定され、常に所定領域全体に投影が行われており、検出された手のひらの部分にのみ画像が表示される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−９５８９５号公報（図１）
【特許文献２】米国公開２０１０／０１９９２３２号公報（図１０）
【特許文献３】特許第４２５６８５０号公報（図４、図５）
【非特許文献】
【０００７】
【非特許文献１】「手のひらインタフェース：画像処理を用いた公共空間におけるパーソナルな情報提示システム」、情報処理学会論文誌  ｖｏｌ．４９、Ｎｏ．７  ２５２８−２５３８、２００８年７月
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、映像のエッジを検出して指の動きを判断したり、画像中の物体の重心位置により手のひらの位置を検出したりすると、人間の指や手のひら以外の物体を誤って認識したり、物を持っている場合に持っている物の先を指や手のひらと誤って認識したりするという不具合があった。
【０００９】
また、特許文献２に記載のジェスチャーインタフェイスでは、ユーザがプロジェクタ等を含む装置を身に着けなければならず、通常のリモコンと比較しても、操作が煩わしいという不具合があった。
【００１０】
さらに、特許文献２に記載のジェスチャーインタフェイスでは、プロジェクタが固定されているため、ミラーによって投影位置はマニュアルで変更することはできるが、投影位置に手のひらを持っていかなければ手のひらにダイアルパッドを投影することができないという不具合もあった。
【００１１】
また、非特許文献１に記載のシステムでは、プロジェクタの投影方向が固定されているので、検出された手のひらに画像を表示するためには、所定の領域全体を投影可能な大型プロジェクタを利用しなければならなかった。
【００１２】
そこで、本発明は、確実に指先及び手のひらを認識して誤検出を防止することが可能な画像投影方法を提供することを目的とする。また、本発明は、ユーザの手のひらの位置を追尾して、その手のひらに情報入力画像を表示することが可能な画像投影方法を提供することを目的とする。また、本発明は、特定の装置を身に着けることなく、簡単且つ容易に情報入力を行うことが可能な情報入力装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明に係る画像投影方法は、投影部により画像を投影可能な空間内において、深度センサを用いて投影部から空間内の物体までの距離を示す深度データを取得し、深度データから空間内の物体の輪郭を抽出し、抽出された輪郭の曲率から、空間内の物体の先端部分が指であるか否かを判定し、指と判定された物体の先端部分から一定距離離れた物体上の点を含み、物体上に収まる任意の図形領域を手のひらとして検出し、投影部により手のひらに画像を投影するステップを有することを特徴とする。
【００１４】
上記の画像投影方法では、指を判定するステップにより、手のひらの上に指が移動したか否かを判定し、手のひらと手のひら上に移動した指との深度差に基づき、手のひらに投影された画像に対する移動した指による操作を情報入力操作として検出するステップをさらに有することが好ましい。
【００１５】
上記の画像投影方法では、指を判定するステップにより、手のひらの上に、手のひらと同じ手の指が移動したか否かを判定することが好ましい。
【００１６】
上記の画像投影方法では、指を判定するステップでは、抽出された輪郭の曲率により定まる輪郭の先端から輪郭に沿って一方向に予め定められた距離ずつ離れた点列と、先端から逆方向に予め定められた距離ずつ離れた点列との対応する２点間の距離が、指の幅に応じて定められた閾値以内であるときに、輪郭の先端と２つの点列により囲まれる物体の先端部分を指であると判定することが好ましい。
【００１７】
上記の画像投影方法では、手のひらを検出するステップでは、先端部分が指と判定された物体上で、２つの点列により定まる指の付け根から一定距離離れた点を含み、物体上に収まる最大の矩形領域を手のひらとして検出することが好ましい。
【００１８】
上記の画像投影方法では、抽出された物体の輪郭を含む一定範囲内における深度分布の立上りと立下りの間の距離が、指の幅に応じて定められた閾値以内であるときに、物体の先端部分が指であると判定するステップをさらに有することが好ましい。
【００１９】
また、本発明に係る情報入力装置は、画像を投影する投影部と、投影部により画像を投影可能な空間内において、投影部から空間内の物体までの距離を示す深度データを取得する深度センサと、投影部を制御して画像を投影し、投影された画像に対する入力操作を検出する制御部とを有し、制御部は、深度データから空間内の物体の輪郭を抽出し、抽出された輪郭の曲率から、空間内の物体の先端部分が指であるか否かを判定し、指と判定された物体の先端部分から一定距離離れた物体上の点を含み、物体上に収まる任意の図形領域を手のひらとして検出し、投影部により手のひらに画像を投影させることを特徴とする。
【００２０】
上記の情報入力装置では、深度センサは、赤外線照射部及び赤外線カメラを有し、赤外線照射部により空間内の物体に投影された画像を赤外線カメラにより撮像することで深度データを取得することが好ましい。
【００２１】
また、本発明に係るプログラムは、画像を投影する投影部を有する装置を制御するコンピュータに、投影部により画像を投影可能な空間内において、深度センサにより測定された投影部から空間内の物体までの距離を示す深度データを取得する機能と、深度データから空間内の物体の輪郭を抽出する機能と、抽出された輪郭の曲率から、空間内の物体の先端部分が指であるか否かを判定する機能と、指と判定された物体の先端部分から一定距離離れた物体上の点を含み、物体上に収まる任意の図形領域を手のひらとして検出する機能と、投影部により手のひらに画像を投影させる機能とを実現させることを特徴とする。
【発明の効果】
【００２２】
本発明によれば、確実に指先及び手のひらを認識して誤検出を防止することが可能となる。また、本発明によれば、ユーザの手のひらの位置を追尾して、その手のひらに情報入力画像を表示することが可能となる。また、本発明によれば、ユーザが特定の装置を身に着けることなく、簡単且つ容易に情報入力を行うことが可能となる。
【００２３】
また、一度に投影する面積に必要な最小限の光出力でよいため、装置を小型化、低消費電力化することが可能となる。さらに、手のひらや指先の検出が例えば８３０ｎｍ等の近赤外光によって行われることから、人の目では暗い部屋等であっても装置が対象物を検出できるため、ユーザは部屋の照明を点灯させることなく情報入力を行うことができる。
【図面の簡単な説明】
【００２４】
【図１】情報入力装置１の外観を示す斜視図である。
【図２】情報入力装置１の概略ブロック図である。
【図３】初期設定処理の一例を示すフローチャートである。
【図４】ＲＧＢカラー映像認識用カメラ２１により撮像されディスプレイ上に表示された画像の一例を示す図である。
【図５】画像投影処理の一例を示すフローチャートである。
【図６】情報入力画像７０の例と、情報入力画像７０が手のひら１００に投影された状態を示す図である。
【図７】カーブ検出処理の一例を示すフローチャートである。
【図８】カーブ検出処理について説明するための図である。
【図９】手のひら検出処理の一例を示すフローチャートである。
【図１０】手のひら検出処理について説明するための図である。
【図１１】手のひら領域とする最大の正方形を決定する処理の一例を示すフローチャートである。
【図１２】最大の正方形を決定する処理について説明するための図である。
【図１３】手のひら追尾処理の一例を示すフローチャートである。
【図１４】勾配検出処理の一例を示すフローチャートである。
【図１５】勾配検出処理について説明するための図である。
【図１６】情報入力処理の一例を示すフローチャートである。
【図１７】手のひらに投影された画像に対する情報入力操作の例を示す図である。
【図１８】手のひらに投影された画像に対する情報入力操作の別の例を示す図である。
【図１９】パンティルト架台１０及びレーザプロジェクタ３０の構成例を示す図である。
【図２０】レーザプロジェクタ３０の出射部３１及び赤外線センサ２２の構成例を示す断面図である。
【発明を実施するための形態】
【００２５】
以下、図面を参照して、画像投影方法、情報入力装置及びプログラムについて説明する。ただし、本発明の技術的範囲はそれらの実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶ点に留意されたい。なお、図面の説明において、同一の要素には同一の符号を付し、重複する説明は省略する。また、説明のため、部材の縮尺は適宜変更している。
【００２６】
図１は、情報入力装置１の外観を示す斜視図である。また、図２は、情報入力装置１の概略ブロック図である。
【００２７】
情報入力装置１は、パンティルト架台１０、検知部２０、レーザプロジェクタ３０、制御部５０等を含む。情報入力装置１は、少なくとも床４１、天井４２及び壁４３を有する空間４０に配置されている。空間４０は、完全に閉じられた空間であっても、開放的な空間であってもよい。図１において、壁４３には、被操作装置６０の一例として、ビデオ機能付き壁掛け型の液晶ＴＶが配置されている。
【００２８】
パンティルト架台１０は、天井４２に固定されており、基部１１、第１回転部１２、第２回転部１３等を含む。第１回転部１２は第１モータ１５によってθ方向に回転し、第２回転部１３は第２モータ１６によってψ方向に回転する。
【００２９】
検知部２０は、不図示の架台に固定されており、ＲＧＢカラー映像認識用カメラ２１、赤外線センサ２２等を含む。ＲＧＢカラー映像認識用カメラ２１は、空間４０内の画像を撮像し、撮像した画像の画素毎の位置座標（ｘ，ｙ）データ及びＲＧＢデータを出力する。赤外線センサ２２は、深度画像を取得する深度センサの一例であり、赤外線カメラ及び赤外線照射部等で構成される。赤外線照射部は、空間４０内に赤外線を照射し、赤外線カメラは、空間４０内に存在する物体及び空間４０を構成する部材（床４１、壁４３等）からの反射光を受光して撮像する。赤外線センサ２２は、赤外線照射部により空間４０内の物体に投影された画像を赤外線カメラにより撮像することで、撮像した画像（深度画像）から、各画素の位置座標（ｘ，ｙ）データに対応する深度データ（ｒ）を出力する。深度データは、赤外線センサ２２から深度画像の画素に対応する物体までの距離を示すデータである。なお、ＲＧＢカラー映像認識用カメラ２１と赤外線センサ２２は、同じ検知範囲及び解像度を有するものとする。
【００３０】
レーザプロジェクタ３０は、ＲＧＢ各色の発光レーザ、各色レーザ光を導く光ファイバ、及び超小型の出射部３１を含む。出射部３１は、パンティルト架台１０の第２回転部１３に取り付けられている。レーザプロジェクタ３０は、制御部５０から受信した画像データに応じて、被投影面である手のひらの上に情報入力画像７０を投影する。出射部３１は小型且つ軽量に構成されているので、大掛かりな駆動架台を用いずに素早く投影画像を移動させることができる。また、レーザプロジェクタ３０は、レーザ光により画像を投影するため、被投影面と出射部３１の間の距離に拘わらず良好な画像を被投影面上に結像することができるというフォーカスフリー特性を有する。なお、情報入力画像を投影することが可能であれば、ＲＧＢ各色の発光レーザを用いたプロジェクタ以外の投影装置を利用してもよい。
【００３１】
出射部３１には、ＳＬＭ（Spatial Light Modulator：空間光位相変調器）として例えばＬＣＯＳ（Liquid Crystal on Silicon）を用いる。なお、ＭＥＭＳ（Micro Electro Mechanical System）ミラーを用いたスポット走査型の出射部、又はファイバ走査型の出射部を用いて、出射部３１を一層小型化することもできる。
【００３２】
制御部５０は、ＣＰＵ５１、ＲＡＭ５２、ＲＯＭ５３、Ｉ／Ｏ５４等を含む。Ｉ／Ｏ５４は、パンティルト架台１０、検知部２０、レーザプロジェクタ３０及び被操作装置６０との間でデータの送受信を行うためのインタフェースである。なお、制御部５０は、ＨＤ等の他の記録媒体を含んでもよい。制御部５０は、レーザプロジェクタ３０により例えばユーザの左手８０の手のひら上に情報入力画像７０を投影させ、投影された情報入力画像７０が例えばユーザの右手９０の指先でタッチされたことを検出し、そのタッチ操作による情報入力データを被操作装置６０へ出力する。
【００３３】
制御部５０は、例えばユーザの左手８０の手のひらを検出すると、制御データに基づいて第１モータ１５及び第２モータ１６を制御して、情報入力画像７０をユーザの左手８０の手のひら上に投影させる。第１モータ１５により第１回転部１２をθ方向に回転させると、情報入力画像７０は矢印Ａの方向に移動する。第２モータ１６により第２回転部１３をψ方向に回転させると、情報入力画像７０は矢印Ｂの方向に移動する。
【００３４】
被操作装置６０は、エアコン、ネットワークへのアクセス装置、ＰＣ、テレビ、ラジオ、ＣＤ、ＤＶＤ又はＢＤ等の各種記録媒体の記録再生装置等であってよく、情報入力データに基づいて各種の処理を実行する。図１の例では、前述したように、ビデオ機能付き壁掛け型の液晶ＴＶを被操作装置６０としている。情報入力装置１は、空間４０内で利用することができるこのような様々な機器のユーザインタフェイス（ＵＩ）又はバーチャルコントローラとして機能する。
【００３５】
はじめに、レーザプロジェクタ３０により投影されるＲＧＢからなる可視光画像の位置と、手のひらを検出するための深度データの位置とを合わせるための工程について説明する。図３は、初期設定処理の一例を示すフローチャートである。図３に示す制御フローは、制御部５０のＲＯＭ５３に予め記憶されたプログラムに従って、制御部５０のＣＰＵ５１がパンティルト架台１０、検知部２０及びレーザプロジェクタ３０を制御することにより実行される。
【００３６】
予め、不図示のディスプレイ及び操作部（キーボード及びマウス）を、Ｉ／Ｏ５４を介して制御部５０に取り付けておく。そして、制御部５０は、検知部２０からのＲＧＢデータに基づく画像をディスプレイ上に表示させ、ユーザが空間４０内の基準位置を指定する操作を受け付ける（Ｓ１０）。指定された基準位置を示す位置座標（ｘ，ｙ）データは、ＲＡＭ５２等に記録される。
【００３７】
図４は、ＲＧＢカラー映像認識用カメラ２１により撮像されディスプレイ上に表示された画像の一例を示す図である。例えば、図４のＣ１〜Ｃ４の４点を指定することによって、床４１の領域が指定される。なお、基準位置は、床４１の四隅に限定されず、他の箇所でもよい。
【００３８】
次に、制御部５０は、例えば８３０ｎｍの近赤外画像投影による三角測量法に基づき検知部２０により計測された深度データを取得する（Ｓ１１）。そして、制御部５０は、基準位置Ｃ１〜Ｃ４により指定された領域（以下、「基準領域」という）に含まれる画素毎の深度データをＲＡＭ５２に記憶する（Ｓ１２）。検知部２０の直下にある床４１上の点と検知部２０から離れた位置にある床４１上の点とでは、同じ床４１上でありながら検知部２０からの深度データに差が出てしまうため、制御部５０は、基準領域（例えば床４１）の全ての画素について、位置座標データ及び深度データを予め取得して記憶する。
【００３９】
次に、制御部５０は、レーザプロジェクタ３０に画像データを送信して基準投影画像７１を基準領域に投影させ、パンティルト架台１０に制御データを送信して基準投影画像７１を移動させる（Ｓ１３）。基準投影画像７１は、例えば、図４に示すように円形の枠内に表示された５つの黒点である。なお、基準投影画像７１として他の画像を利用してもよい。また、図４における基準投影画像７１−１は、パンティルト架台１０の直下であって、本例における基準位置に投影されたものである。なお、パンティルト架台１０と被投影面との位置関係及び投影画像の基準位置等は、状況に応じて適宜定めることができる。
【００４０】
次に、制御部５０は、検知部２０から位置座標データ及びＲＧＢデータを取得する（Ｓ１４）。そして、制御部５０は、５つの黒点を利用して基準投影画像７１の位置を特定し、パンティルト架台１０へ送信した制御データと特定された基準投影画像７１の位置座標データとの関係を、ＲＡＭ５２上に構成されたデータテーブルに記憶する（Ｓ１５）。
【００４１】
制御部５０は、上述したステップＳ１３〜Ｓ１５を、所定の間隔毎に基準投影画像７１を移動させながら、基準領域全体をカバーするように繰り返し行う（Ｓ１６）。なお、図４における基準投影画像７１−２〜７１−１０は一例であって、位置を特定するために基準投影画像７１を移動させる１回の移動量等は適宜定めることができる。
【００４２】
制御部５０は、ステップＳ１３〜Ｓ１５を所定回数繰り返すことによって、基準領域（例えば床４１）全体について、投影画像の位置座標（ｘ，ｙ）データ及び深度データ（ｒ）と制御データとの対応関係を表すデータテーブルを完成させる（Ｓ１７）。以上で、制御部５０は初期設定の処理を終了する。制御部５０は、後述する方法により空間４０で手のひらを認識した場合、その位置データ（ｘ，ｙ）と深度データ（ｒ）からその手のひらの空間座標（ｘ，ｙ，ｚ）を割り出し、上記のデータテーブルを利用して、手のひら位置に投影画像が投影されるようにパンティルト架台１０を制御する。
【００４３】
図５は、画像投影処理の一例を示すフローチャートである。制御部５０は、図５に示すフローを、予め定められた時間間隔で（例えば１秒毎に）実行する。なお、図５に示す制御フローは、制御部５０のＲＯＭ５３に予め記憶されたプログラムに従って、制御部５０のＣＰＵ５１がパンティルト架台１０、検知部２０及びレーザプロジェクタ３０を制御することにより実行される。
【００４４】
最初に、制御部５０は、８３０ｎｍ等の近赤外画像投影による検知部２０からの深度データ（深度画像）を取得する（Ｓ２０）。そして、制御部５０は、取得された深度画像に対し、深度値をもとに公知のラベリング処理を行い、近赤外線の深度画像に写っている物体の輪郭を抽出する（Ｓ２１）。ラベリング処理により、各物体の像がグループ分けされ、それぞれにラベルが割り当てられる。
【００４５】
次に、制御部５０は、輪郭が抽出された各物体について、輪郭線上の各点で曲率を計算し、その値から「一時的な指先」を検出する（Ｓ２２）。その際、制御部５０は、曲率が指先判定のための閾値以上である点の個数をカウントし、さらにその点の個数が閾値以上であるときに、最も曲率が高い点を一時的な指先として検出する。そして、制御部５０は、後述するカーブ検出処理により、一時的な指先が実際の指先であるか否かを判定し、その指先を含む指のカーブを検出する（Ｓ２３）。
【００４６】
続いて、制御部５０は、ステップＳ２３で定まる指先及び指の付け根を用いて、後述する手のひら検出処理により、手のひらを検出する（Ｓ２４）。そして、制御部５０は、ステップＳ２４で検出された手のひらの位置座標データ及び深度データをセットにして、ＲＡＭ５２等に記憶する（Ｓ２５）。
【００４７】
次に、制御部５０は、ステップＳ２４で検出された手のひらの中心点の位置データ（ｘ，ｙ）と深度データ（ｒ）から、空間４０における中心点の空間座標（ｘ，ｙ，ｚ）を割り出す。そして、制御部５０は、図３のステップＳ１７で作成したデータテーブルを利用し、パンティルト架台１０を制御して、手のひら上に情報入力画像７０を投影させる（Ｓ２６）。以上で、制御部５０は画像投影処理を終了する。
【００４８】
図６（ａ）は、情報入力画像７０の例を示す図である。この情報入力画像７０は、ビデオの再生ボタン７２、早送りボタン７３、巻戻しボタン７４、チャンネルアップボタン７５及びチャンネルダウンボタン７６を含む。後述するように、例えばそれぞれ点線で囲まれた領域に指先がある場合に、情報入力画像７０が投影されている手のひらとその上の指先との深度差に基づいて、各ボタンに対応した情報入力がなされたか否かが判定される。なお、図６（ａ）に示す情報入力画像７０は一例であって、レーザプロジェクタ３０は、制御部５０からの画像データに基づいて、様々な種類の情報入力画像を投影することができる。
【００４９】
図６（ｂ）は、情報入力画像７０が手のひら１００に投影された状態を示す図である。なお、投影画像の大きさはレーザプロジェクタ３０と手のひら１００との距離によって決まるので、同じ大きさの画像を投影すると、手のひら１００内に情報入力画像７０が収まらないことがあり得る。そこで、制御部５０は、丁度手のひら１００内に情報入力画像７０が収まるように、手のひら１００の中心点の深度データに基づいて、投影画像自体を拡大又は縮小する。
【００５０】
制御部５０は、レーザプロジェクタ３０へ送信する画像データに基づいて、情報入力画像に含まれる入力ボタンの種類及び情報入力画像内の配置位置を判断する。さらに、制御部５０は、パンティルト架台１０へ送信した制御データ及び図３のステップＳ１７で作成したデータテーブルに基づいて、情報入力画像の手のひら１００上の位置を判断する。したがって、制御部５０は、レーザプロジェクタ３０へ送信する画像データ及びパンティルト架台１０へ送信する制御データに基づいて、各入力ボタンの位置を特定することができる。
【００５１】
図７は、カーブ検出処理の一例を示すフローチャートである。また、図８（ａ）〜図８（ｃ）は、カーブ検出処理について説明するための図である。
【００５２】
カーブ検出処理は、ラベリング処理により得られた輪郭上の一時的な指先が実際の指先であるか否かを判定し、その指先を含む指のカーブを検出する処理であり、検知部２０が深度画像を取得するたびに（即ち、各フレームで）実行される。また、カーブ検出処理は、制御部５０のＲＯＭ５３に予め記憶されたプログラムに従って、制御部５０のＣＰＵ５１により実行される。
【００５３】
まず、制御部５０は、図８（ａ）に示すように、図５のステップＳ２２で検出された一時的な指先Ｐから、輪郭双方向に予め定められた距離だけ移動した２点Ａ，Ｂをとる（Ｓ１００）。点Ａと点Ｂの幅Ｗが指の幅に関する幅判定閾値を超える場合（Ｓ１０１でＮｏ）、制御部５０は、一時的な指先Ｐは実際の指先ではないと判定し、処理を終了する。
【００５４】
一方、幅Ｗが幅判定閾値以内であれば（Ｓ１０１でＹｅｓ）、制御部５０は、図８（ｂ）に示すように、一時的な指先Ｐの点とＡＢ間の中点Ｍを結ぶ線分の向きを算出し、その向きを基準角とする（Ｓ１０２）。
【００５５】
次に、制御部５０は、点Ａと点Ｂから輪郭双方向にさらに予め定められた距離だけ進んだ次の点Ａｍと点Ｂｍをとる（Ｓ１０３）。最初は、ｍ＝１として、図８（ｂ）に示すように、点Ａ１と点Ｂ１をとる。そして、制御部５０は、点Ａｍと点Ｂｍの幅Ｗｍが上記の幅判定閾値以内であり、点Ａから点Ａｍへの向き（Ａの角度）と基準角の差が角度判定閾値以内（例えば、±４５度未満）であり、且つ点Ｂから点Ｂｍへの向き（Ｂの角度）と基準角との差もその角度判定閾値以内であるか否かを判定する（Ｓ１０４）。
【００５６】
この判定基準を満たすならばステップＳ１０３に戻って、制御部５０は、さらに次の点Ａｍと点Ｂｍをとる。即ち、最初は、点Ａ１と点Ｂ１から輪郭双方向にさらに予め定められた距離だけ進んだ点Ａ２と点Ｂ２（不図示）をとる。このようにして、制御部５０は、幅又は角度がステップＳ１０４の判定基準外となるまでステップＳ１０３とＳ１０４の処理を繰り返し、輪郭の先端から輪郭に沿って一方向に予め定められた距離ずつ離れた点列Ａ，Ａ１，Ａ２，・・・と、その先端から逆方向に予め定められた距離ずつ離れた点列Ｂ，Ｂ１，Ｂ２，・・・をとる。
【００５７】
そして、制御部５０は、ステップＳ１０３とＳ１０４の処理を基準回数（例えば３回）以上繰り返すことができなければ（Ｓ１０５でＮｏ）、一時的な指先Ｐは実際の指先ではないと判定し、処理を終了する。一方、制御部５０は、ステップＳ１０３とＳ１０４の処理を基準回数以上繰り返すことができれば（Ｓ１０５でＹｅｓ）、一時的な指先Ｐは実際の指先であると判定する（Ｓ１０６）。
【００５８】
これにより、制御部５０は、図８（ｃ）に示すように、最終的な点Ａｎと点Ｂｎ（ｎは反復回数に応じて決まる）を指の根元と認識し、ＡｎＢｎ間の中点Ｍｎを指の付け根と認識する。そして、指の付け根と指先の座標が決定したことにより、指の付け根から指先へ向かう線分の向き（指の角度）も決定する。まとめると、カーブ検出処理により検出された指について、指先の座標、付け根の座標、指の角度、指が属する輪郭のラベル、及び指先の深度が得られる。制御部５０は、これらの値をＲＡＭ５２等に記憶して（Ｓ１０７）、処理を終了する。
【００５９】
図９は、手のひら検出処理の一例を示すフローチャートである。また、図１０（ａ）及び図１０（ｂ）は、手のひら検出処理について説明するための図である。
【００６０】
手のひら検出処理は、カーブ検出処理により指先と判定された物体（以下、ラベリングともいう）の先端から一定距離離れたその物体上の点を含み、その物体上に収まる最大の矩形領域を手のひらとして検出する処理であり、１本以上の指が検出されているラベルに対して各フレームで実行される。また、手のひら検出処理は、制御部５０のＲＯＭ５３に予め記憶されたプログラムに従って、制御部５０のＣＰＵ５１により実行される。
【００６１】
まず、制御部５０は、対象の指の付け根を中心としその指先までを半径とする円を作成する（Ｓ１２０）。例えば、対象の指が薬指である場合には、図１０（ａ）に示すように、その付け根１１０を中心とし指先１１１までを半径とした円１１２を作成する。
【００６２】
そして、制御部５０は、その円とラベリングとの重なり部分のうち、最も長い弧の中心を暫定的な手のひら座標とする（Ｓ１２１）。例えば、図１０（ａ）の例では、３個ある重なり部分の弧１１３ａ〜１１３ｃのうち、最も長い弧１１３ａの中心１１４を暫定的な手のひら座標とする。
【００６３】
続いて、制御部５０は、後述する方法によりラベリング内で暫定的な手のひら座標を含む最大の矩形領域を作成し、これを手のひら領域とする（Ｓ１２２）。例えば、制御部５０は、後述する手順により、図１０（ｂ）に示すように、中心１１４を有しラベリング内に含まれる最大の正方形１１５を作成する。
【００６４】
ここで、制御部５０は、ステップＳ１２２で得られた矩形領域の対角線の長さを実空間上の距離に変換して、手のひら領域のサイズを算出する（Ｓ１２３）。算出されたサイズが例えば６０〜１５０ｍｍの範囲外であった場合（Ｓ１２４でＮｏ）、制御部５０は、手のひらでないものを手のひらと誤認したと判断し、処理を終了する。ステップＳ１２４における判定の基準範囲は、人の手のひらの大きさとして自然な範囲内で適宜設定される。
【００６５】
一方、ステップＳ１２４で算出されたサイズが６０〜１５０ｍｍの範囲内である場合（Ｓ１２４でＹｅｓ）には、制御部５０は、ステップＳ１２２で得られた矩形領域を正式に手のひらであると判定し、その中心を正式な手のひら座標とする（Ｓ１２５）。制御部５０は、正式な手のひら座標と手のひら領域の大きさをＲＡＭ５２等に記憶して（Ｓ１２６）、処理を終了する。
【００６６】
なお、対象のラベルが複数の指を持っている場合には、制御部５０は、全ての指について図９の処理を行ってもよい。それにより手のひらが複数作成できた場合には、制御部５０は、全ての正式な手のひら座標から中心座標を算出し、その中心座標に最も近い手のひら座標を、最終的な手のひら座標として採用する。また、対象のラベルで手のひらが１つも検出できなかった場合には、制御部５０は、別のラベルで再度図９の処理を行う。
【００６７】
基準領域内に２つ以上の手のひらが存在した場合でも、制御部５０は、各フレームで１つの手のひらのみを検出し、最初に検出したもの以外は無視してもよい。また、制御部５０は、一度手のひらを検出すると、後述する手のひら追尾処理により以後のフレームではその手のひらを追尾し続け、追尾できなくなったら再度上記の手のひら検出処理により新しい手のひらを検出する。
【００６８】
また、制御部５０は、情報入力装置１が手のひらに画像を投影するときの天地設定用に、検出された手のひらの角度を予め定められた時間間隔で求める。その際、制御部５０は、例えば手のひらが保持する指の角度の平均を、その手のひらの角度として求める。角度の算出は、上記の手のひら検出処理の中で行ってもよいし、手のひら検出処理とは別に行ってもよい。制御部５０は、算出した手のひらの角度をＲＡＭ５２等に記憶する。
【００６９】
ただし、親指だけで角度を算出すると急激な角度変化が生じる可能性があるため、制御部５０は、指が２本以上認識されていることを角度算出の条件としてもよい。また、手のひらが他の物体と接触している場合も正しく角度を算出できない可能性があるため、制御部５０は、手のひらのラベルが他のラベルと接触していないことも角度算出の条件としてもよい。手のひらのラベルが他のラベルと接触しているか否かは、例えば、手のひらのラベルの面積が一定割合（例えば１．５倍）以上増えたか否かを基準に判定される。
【００７０】
次に、図９に示した手のひら検出処理のステップＳ１２２において、ラベリング内で暫定的な手のひら座標を含む最大の矩形領域を作成する手順について説明する。ここでは、矩形領域として正方形を作成する例を説明する。
【００７１】
図１１は、手のひら領域とする最大の正方形を決定する処理の一例を示すフローチャートである。また、図１２（ａ）〜図１２（ｆ）は、最大の正方形を決定する処理について説明するための図である。なお、図１１に示す制御フローは、制御部５０のＲＯＭ５３に予め記憶されたプログラムに従って、制御部５０のＣＰＵ５１により実行される。
【００７２】
まず、制御部５０は、対象のラベルを白黒の２値化画像に変換する（Ｓ１４０）。図１２（ａ）は、白黒に２値化された対象のラベルの例である。以下の図では、便宜的に黒色領域を斜線により表す。図中の白色領域１２０が手のひらと思われる物体（ラベリング）に相当し、白と黒の境界画素がその物体の輪郭である。図１２（ａ）では、図９のステップＳ１２１で得られた暫定的な手のひら座標を「▲」で示している。
【００７３】
そして、制御部５０は、暫定的な手のひら座標から上下左右の方向で白から黒に変わるところの境界画素を見つけ（Ｓ１４１）、これら４つの画素を境界上に含む正方形に含まれない画素を削除する（Ｓ１４２）。図１２（ｂ）では、上下左右方向の境界画素を「＋」で示し、削除される画素を「×」で示している。
【００７４】
さらに、制御部５０は、その画素と手のひら周辺座標とを頂点とする正方形が対象の白色領域１２０に含まれないような画素があれば、その画素も削除する（Ｓ１４３）。即ち、制御部５０は、白色領域１２０に凹みを与えている画素を削除して、凹みのない領域を作成する。例えば、図１２（ｃ）に「×」で示した画素は、正方形１２１が白色領域１２０に含まれないため、削除される。
【００７５】
次に、制御部５０は、不要な画素が削除された、図１２（ｄ）に示すような白色領域１２２において、「＋」で示した境界画素のうちの１つを選択する（Ｓ１４４）。そして、制御部５０は、白色領域１２２内で、選択された境界画素と暫定的な手のひら座標の両方が含まれる最大の正方形を作成し、それを正方形リストに記憶する（Ｓ１４５）。例えば、白色領域１２２の左上にある「●」で示す境界画素が選択されたときは、その境界画素と暫定的な手のひら座標の両方が含まれる正方形には、図１２（ｅ）の正方形１２３と図１２（ｆ）の正方形１２４がある。この場合は、大きい方の正方形１２４が正方形リストに記憶される。
【００７６】
そして、他に未選択の境界画素があれば（Ｓ１４６でＹｅｓ）、ステップＳ１４４に戻る。一方、未選択の境界画素がない場合（Ｓ１４６でＮｏ）には、制御部５０は、正方形リストの中から、面積が最大で、且つ中心座標が暫定的な手のひら座標に最も近い正方形を最終的な最大正方形として決定し、手のひら領域とする（Ｓ１４７）。以上で、手のひら領域を決定する処理は終了する。
【００７７】
なお、手のひら領域は、正方形に限らず、長方形、ひし形、正多角形、又は円等の任意の図形でもよい。ただし、凹みのない図形であることが好ましい。
【００７８】
図１３は、手のひら追尾処理の一例を示すフローチャートである。制御部５０は、手のひら検出後の各フレームにおいて、急速な手のひらの移動がない限り、指を認識していなくても手のひらを追尾し続ける。手のひら追尾処理は、前フレームでの手のひらラベル（手のひら検出処理により手のひらと判定されたラベル）を現フレームにおけるどのラベルとリンクさせる（同一物体とする）かを判定する処理である。手のひら追尾処理は、制御部５０のＲＯＭ５３に予め記憶されたプログラムに従って、制御部５０のＣＰＵ５１により実行される。
【００７９】
まず、制御部５０は、現フレームに含まれるラベルのうち、前フレームに手のひらラベルが存在していた箇所と重なりがあるものを抽出する（Ｓ１６０）。そして、制御部５０は、ステップＳ１６０で抽出されたラベルのうち、深度情報を用いて、前フレームの手のひらとの深度差が閾値（例えば１０ｃｍ）以内のものを選択する（Ｓ１６１）。次に、制御部５０は、ステップＳ１６１で選択されたラベルのうち、前フレームの手のひらラベルとの重なり部分が最も多いものを、現フレームでの手のひらラベル（リンクラベル）とする（Ｓ１６２）。
【００８０】
ここで、手のひらの微小な動きによる変動の影響を除くために、制御部５０は、前フレームの手のひら領域と同じ中心座標をもつ、大きさがやや（例えば１０％）小さい処理正方形を作成する（Ｓ１６３）。次に、制御部５０は、現フレームで処理正方形と重なりがあるラベルを特定する（Ｓ１６４）。処理正方形と重なるラベルが１つもない場合（Ｓ１６５でＮｏ）には、制御部５０は、前フレームの手のひらは消失したと判断して、手のひら追尾処理を終了し、再び上記の手のひら検出処理を行う。
【００８１】
一方、処理正方形と重なるラベルがある場合（Ｓ１６５でＹｅｓ）には、制御部５０は、手のひら領域の再計算が必要か否かを判定する（Ｓ１６６）。例えば、処理正方形内のラベルがリンクラベルのみの場合か、又は他のラベルが含まれていてもそれらが全てリンクラベルの上にいる場合には、制御部５０は、手のひらは移動しておらず手のひら領域の再計算は不要と判定する。ただし、これらの場合であっても、処理正方形内における背景画素の割合が一定割合（例えば２％）を超えたときには、制御部５０は、手のひら領域の再計算が必要と判定してもよい。
【００８２】
また、処理正方形内にリンクラベルと他のラベルが含まれていて、他のラベルがリンクラベルの下にある場合には、制御部５０は、手のひら領域の再計算が必要と判定する。
【００８３】
また、処理正方形内にリンクラベルがない場合か、又は処理正方形内のリンクラベルが現フレームで急激に減った場合（例えば、手のひらラベルの面積が前フレームと比べて２／３未満になった場合）には、制御部５０は、手のひら領域の再計算が必要と判定する。この場合、制御部５０は、処理正方形内の中にあるラベルのうち、最も大きいものをリンクラベルに置き換える。
【００８４】
手のひら領域の再計算が必要と判定された場合（Ｓ１６６でＹｅｓ）には、制御部５０は、前フレームの手のひらの正方形とリンクラベルとを用いて、手のひら領域を再計算する（Ｓ１６７）。その際、制御部５０は、リンクラベル内で、前フレームの手のひら座標を含む最大の正方形を作成する。
【００８５】
前フレームの手のひら座標を含む正方形を作成できない場合には、制御部５０は、例えば、深度画像上で４５度ずつに８分割された各方向のうち、前々フレームから前フレームにかけて手のひら座標がどの方向に移動したかを判定する。そして、制御部５０は、前フレームの手のひら領域の頂点と各辺の中点との計８点のうち、判定された移動方向に相当する点を、新たな手のひら座標とする。そして、制御部５０は、その新たな手のひら座標を含む、リンクラベル内で最大の正方形を作成する。なお、これでも正方形が作成できない場合には、制御部５０は、前フレームの手のひらは消失したと判断して、手のひら追尾処理を終了し、再び上記の手のひら検出処理を行う。
【００８６】
リンクラベル内で最大の正方形を作成できたら、制御部５０は、その正方形に対し、図９の手のひら検出処理におけるステップＳ１２４と同様のサイズ判定を行って、その正方形が手のひらか否かを判定する（Ｓ１６８）。
【００８７】
手のひら領域の再計算が不要と判定された場合（Ｓ１６６でＮｏ）か、又はステップＳ１６８のサイズ判定にて正式に手のひらと判定された場合には、制御部５０は、手のひら追尾処理の最後に、手のひらの整合判定を行う（Ｓ１６９）。整合判定では、制御部５０は、例えば次の各条件が全て満たされているか否かを判定する。
条件１：手のひらラベルで認識されている指が２本〜５本であり、且つそれらの指が他のラベルと非接触と判断されている。
条件２：手のひらラベルで認識されている指（例えば、見つかった順に２本）の付け根と手のひら座標との距離が、いずれも閾値（例えば１００ｍｍ）以下である。
【００８８】
上記の何れかの条件を満たさない場合（Ｓ１６９でＮｏ）、制御部５０は、現在のリンクラベルに対して手のひら検出処理を行って、手のひら領域の情報を更新する（Ｓ１７０）。一方、上記の条件を全て満たす場合（Ｓ１６９でＹｅｓ）には、制御部５０は、対象のリンクラベルを正式に手のひらと判定する（Ｓ１７１）。以上で、手のひら追尾処理は終了する。
【００８９】
図１４は、勾配検出処理の一例を示すフローチャートである。また、図１５（ａ）〜図１５（ｃ）は、勾配検出処理について説明するための図である。
【００９０】
カーブ検出処理により認識されていた指又はその手のひら一部が何らかの物体にタッチすると、その指又は手のひらは正しくラベリングできなくなることがある。前フレームまで検出されていた指を現フレームではカーブ検出処理で検出できない（このような指のことを「消失した指」という）場合、制御部５０は、図７のカーブ検出処理とは別の指検出方法である以下の勾配検出処理により指を検出する。なお、勾配検出処理は、制御部５０のＲＯＭ５３に予め記憶されたプログラムに従って、制御部５０のＣＰＵ５１により実行される。
【００９１】
まず、制御部５０は、消失した指の指先座標を中心として、既に検出されている手のひらを含む一定の大きさの処理領域を設定する（Ｓ１８０）。そして、制御部５０は、深度画像から得られる処理領域の深度データに対して公知の平滑化処理を行って、平滑済みデータを取得する（Ｓ１８１）。
【００９２】
次に、制御部５０は、処理領域において、水平方向に深度グラフを作成する（Ｓ１８２）。例えば、図１５（ａ）に示す手１３０の指を検出する場合には、水平方向について、直線ｈ１，ｈ２のように複数の深度グラフを作成する。図１５（ｂ）は、図１５（ａ）の直線ｈ１，ｈ２に沿った深度グラフである。
【００９３】
そして、制御部５０は、その深度のグラフにおける立上りと立下りを検出し、その間の距離が幅判定閾値以内であるか否かを判定する（Ｓ１８３）。立上りと立下りの間の距離が幅判定閾値を超えている場合（Ｓ１８３でＮｏ）には、制御部５０は、立上りと立下りの間の画素を指の画素ではないと判定し、処理を終了する。
【００９４】
一方、検出された立上りと立下りの間の距離が幅判定閾値以内である場合（Ｓ１８３でＹｅｓ）には、制御部５０は、処理領域において、垂直方向にも深度のグラフを作成する（Ｓ１８４）。そして、制御部５０は、その深度のグラフにおける立上りと立下りを検出し、その間の距離が幅判定閾値以内であるか否かを判定する（Ｓ１８５）。立上りと立下りの間の距離が幅判定閾値を超えている場合（Ｓ１８５でＮｏ）には、制御部５０は、立上りと立下りの間の画素を指の画素ではないと判定し、処理を終了する。
【００９５】
一方、検出された立上りと立下りの間の距離が幅判定閾値以内である場合（Ｓ１８５でＹｅｓ）、制御部５０は、立上りと立下りの間の画素を指の画素であると判定し、指と判定された画素を含む図１５（ｃ）のような最小矩形１３１を作成する（Ｓ１８６）。そして、制御部５０は、その最小矩形の２つの短辺と重なる輪郭部分のうち、最も中心に近い点を指先座標の候補Ａ，Ｂとして、最小矩形の中心から点Ａ、点Ｂにそれぞれ向かう線分の向き（角度）を求める（Ｓ１８７）。
【００９６】
その角度と前フレームにおける指の角度との差が閾値以内でなければ（Ｓ１８８でＮｏ）、制御部５０は、検出されたものは消失した指ではないと判定し、処理を終了する。一方、ステップＳ１８７で求めた角度と前フレームにおける指の角度との差が閾値以内であれば（Ｓ１８８でＹｅｓ）、制御部５０は、前フレームにおける指先に近い方の点を現フレームにおける消失した指の指先位置と判定する（Ｓ１８９）。このとき、制御部５０は、指先の座標、指の角度、指が属する輪郭のラベル等をＲＡＭ５２等に記憶して（Ｓ１９０）、処理を終了する。
【００９７】
また、前フレーム検出された指Ａと現フレームで検出された指Ｂを関連付けるには、制御部５０は、それらの指の角度差が閾値以内（例えば±６０度未満）であるか否かを判定する。また、制御部５０は、指Ａの指先と指Ｂの指先との距離差が閾値以内であるか否かを判定する。そして、制御部５０は、上記の角度差と距離差が両方とも閾値以内である場合に、指Ａと指Ｂは同じ指であると判定し、これらの指を関連付ける（リンクさせる）。一方、制御部５０は、上記の角度差と距離差の何れか一方でも閾値範囲外である場合には、指Ａと指Ｂは異なる指であると判定し、これらの指をリンクさせない。
【００９８】
なお、各フレーム上で複数の指先が検出されている場合は、制御部５０は、距離差が閾値以内であり最も近いもの同士を同じ指であると判定し、互いにリンクさせる。そして、リンクできない指が残った場合、制御部５０は、その指を、新たに検出した指か又は消失した指であると判定する。
【００９９】
図１６は、情報入力処理の一例を示すフローチャートである。また、図１７（ａ）及び図１７（ｂ）は、手のひらに投影された画像に対する情報入力操作の例を示す図である。図１６に示す制御フローは、制御部５０のＲＯＭ５３に予め記憶されたプログラムに従って、制御部５０のＣＰＵ５１がパンティルト架台１０、検知部２０及びレーザプロジェクタ３０を制御することにより実行される。
【０１００】
最初に、制御部５０は、ユーザの手のひらが認識されているか否かを判定し（Ｓ３０）、手のひらが認識されている場合にのみ、以下のステップに進む。
【０１０１】
手のひらが認識されている場合、制御部５０は、レーザプロジェクタ３０へ送信した画像データ及びパンティルト架台１０へ送信した制御データを取得する（Ｓ３１）。次に、制御部５０は、検知部２０からＲＧＢデータ及び深度データを取得する（Ｓ３２）。なお、ステップＳ３１とＳ３２の順番は逆であってもよい。
【０１０２】
続いて、制御部５０は、図１７（ａ）に示すように、認識されている手のひら領域１４１を含む円等の一定範囲１４２内に指が侵入してきたか否かを、上記のカーブ検出処理又は勾配検出処理により判定する（Ｓ３３）。なお、例えば認識されている手のひらに指がタッチした場合、カーブ検出処理では正しく指を検出できないことがあるため、その場合は、制御部５０は、勾配検出処理により指を検出する。このような指の侵入が検出されると、カーブ検出処理又は勾配検出処理により、その指先の位置も求められる。
【０１０３】
指の侵入が検出された場合には、制御部５０は、検出された指が情報入力操作を行っているか否かを判定する（Ｓ３４）。図１７（ｂ）は、情報入力画像７０が投影された左手８０の手のひら１００と、その上にかざされた右手９０を示す図である。このように手のひら１００上に別の手である右手９０が存在したとしても、情報入力操作が意図されていない場合もあり得る。そこで、制御部５０は、指先位置が手のひら１００上にあり、手のひら１００と手のひらの上にある指先位置Ｆ５の深度差が閾値以内（例えば１０ｍｍ以内）であれば、右手９０の指先位置Ｆ５が情報入力操作を行っていると判定する。
【０１０４】
なお、チャタリング等によって、指先位置Ｆ５の深度データが短い期間で変動する可能がある。したがって、誤検知を防止するために、所定時間（例えば１秒）以上連続して手のひら１００と指先位置Ｆ５の深度差が閾値以内である場合に、情報入力があったと判定してもよい。
【０１０５】
ステップＳ３４において、指先位置Ｆ５が情報入力操作を意図したものであると判断された場合、制御部５０は、レーザプロジェクタ３０へ送信した画像データ及びパンティルト架台１０へ送信した制御データに基づいて、情報入力画像７０に含まれる各入力ボタンの手のひら１００中の位置を特定する（Ｓ３５）。
【０１０６】
次に、制御部５０は、ステップＳ３３で特定された指先位置Ｆ５と、ステップＳ３５で特定された各入力ボタンの手のひら１００内での位置に基づいて、情報入力内容を特定する（Ｓ３６）。例えば、制御部５０は、指先位置Ｆ５の座標が、図６（ａ）の再生ボタン７２の範囲内にある場合には、情報入力内容が「再生」であると特定する。また、制御部５０は、指先位置Ｆ５と一致する入力ボタンが存在しない場合には、情報入力内容が存在しないと特定してもよい。
【０１０７】
次に、制御部５０は、ステップＳ３６で特定された情報入力内容に対応した処理を実行して（Ｓ３７）、一連の処理を終了する。例えば、特定された情報入力の内容が「再生」である場合には、制御部５０は、接続されている被操作装置６０に「再生」のための信号を送信する。なお、ステップＳ３４において情報入力ではないと判断された場合にも、一連の処理を終了する。
【０１０８】
図１８は、手のひらに投影された画像に対する情報入力操作の別の例を示す図である。図１７（ｂ）では情報入力画像７０が投影された手とは別の手により情報入力操作が行われる例を示したが、図１８では、情報入力画像７０が投影された手と同じ手により情報入力操作が行われる例を示す。上記の通り、制御部５０は、情報入力画像７０が投影される手のひらと、その情報入力画像７０を操作する指とを深度データから検出する。このため、制御部５０は、例えば、情報入力画像７０が投影されている手の親指１５１とその手のひら１５２が重なっていても、両者がタッチしているか否かを判定可能である。したがって、ユーザは、例えばスマートフォンを片手で操作するように、手のひらに投影された情報入力画像７０を操作することが可能になる。
【０１０９】
なお、制御部５０は、手のひら領域内の各画素の深度データから、検出された手のひら領域が手のひらと手の甲の何れであるかを識別することも可能である。例えば、制御部５０は、上記のように手のひらの角度を算出してその角度で手のひら領域上に平面をとり、この平面を基準として手のひら領域内の各画素が赤外線センサ２２に近いか否かを判定する。そして、例えば、制御部５０は、手のひら領域の中央部が赤外線センサ２２から見て凹状であればその手のひら領域は手のひらであり、逆に中央部が赤外線センサ２２から見て凸状であれば手の甲であると判定する。
【０１１０】
このため、情報入力装置１では、例えば、手のひらと手の甲のどちらが検出されたかに応じて異なる情報入力画像を投影し、両者に異なる機能をもたせることも可能である。手のひらに投影された情報入力画像はどちらの手でも操作可能であるが、手の甲に投影された情報入力画像については、ユーザは原則として逆の手の指で操作することになる。
【０１１１】
図１６に示す制御フローが実行されることにより、手のひら１００に投影されている情報入力画像７０の何れかの入力ボタンにユーザが指先で触れることで、リモコン等の機器を利用することなく、その入力ボタンに対応する情報入力を行うことが可能となる。
【０１１２】
なお、以上説明してきた制御部５０の各機能を実現するプログラムは、通信手段により提供してもよいし、ＣＤ−ＲＯＭ等の記録媒体に格納して提供してもよい。
【０１１３】
図１９は、パンティルト架台１０及びレーザプロジェクタ３０の構成例を示す図である。なお、図１９に示したパンティルト架台１０及びレーザプロジェクタ３０は一例であって、これらに限定されるものではない。
【０１１４】
雲台１０は、レーザプロジェクタ３０の出射部３１を固定したチルト用の第２回転部１３、第２回転部１３を保持したパン用の第１回転部１２、第１回転部１２を保持する基部１１等を有する。
【０１１５】
第２回転部１３は、第２モータ１６に付属された第１ギア１３−１及び第１ギア１３−１と噛み合わされた第２ギア１３−２等の稼動部材によって、φ方向に回転自在にレーザプロジェクタ３０の出射部３１を保持している。また、第１回転部１２は、第１モータ１５によって回転台１２−１を移動させ、θ方向に回転自在に第２回転部１３を保持している。
【０１１６】
レーザプロジェクタ３０は、ＲＧＢレーザ光用ファイバを固定するファイバピグテイルモジュール３４、ＲＧＢレーザ光用ファイバからの光を合成するＲＧＢファイバコンバイナ３３、可視シングルモードファイバ３２、及び出射部３１等で構成される。可視シングルモードファイバ３２は、ＲＧＢファイバコンバイナ３３で合成された光を、第２回転部１３に保持された出射部３１へ導く機能を有する。ファイバピグテイルモジュール３４は、ＲＧＢ各色の発光レーザ（不図示）に接続されている。
【０１１７】
図２０は、レーザプロジェクタ３０の出射部３１及び赤外線センサ２２の構成例を示す断面図である。図２０に示すように、赤外線センサ２２は、例えばレーザプロジェクタ３０の下部に取り付けられている。赤外線センサ２２をこのように配置することにより、赤外線センサ２２は、レーザプロジェクタ３０により画像を投影可能な空間内において、出射部３１からその空間内の物体までの距離を示す深度データを取得することができる。
【符号の説明】
【０１１８】
１    情報入力装置
１０    パンティルト架台
２０    検知部
２２    赤外線センサ
３０    レーザプロジェクタ
３１    出射部
４０    空間
５０    制御部
７０    情報入力画像
１００    手のひら
【図１】
2015094828.tif 000003
【図２】
2015094828.tif 000004
【図３】
2015094828.tif 000005
【図４】
2015094828.tif 000006
【図５】
2015094828.tif 000007
【図６】
2015094828.tif 000008
【図７】
2015094828.tif 000009
【図８】
2015094828.tif 000010
【図９】
2015094828.tif 000011
【図１０】
2015094828.tif 000012
【図１１】
2015094828.tif 000013
【図１２】
2015094828.tif 000014
【図１３】
2015094828.tif 000015
【図１４】
2015094828.tif 000016
【図１５】
2015094828.tif 000017
【図１６】
2015094828.tif 000018
【図１７】
2015094828.tif 000019
【図１８】
2015094828.tif 000020
【図１９】
2015094828.tif 000021
【図２０】
2015094828.tif 000022