(57)【特許請求の範囲】
【請求項１】
投影機が投影像を投影する投影面の手前に存在する指示手段の形状を取得する指示手段形状取得装置であって、
前記投影機が投影する前記投影像と、前記投影面の手前に存在する指示手段とを撮像した撮像画像を取得する撮像画像取得部と、
前記投影像の情報に基づいて、前記投影面に投影されると推定される推定画像を生成する推定画像生成部と、
前記撮像画像と前記推定画像との差分が所定値よりも大きい領域を抽出する領域抽出部と、
前記投影像のうち前記領域抽出部により抽出された領域に対応する部分の色が前記指示手段の表面に投影され反射したときに得られる前記指示手段の表面投影色を推定する表面投影色推定部と、
前記投影像のうち前記領域抽出部により抽出された領域の色と、当該領域に対応する表面投影色と、の比較結果に基づいて、前記指示手段の形状を取得する指示手段形状取得部と、を備える指示手段形状取得装置。
【請求項２】
投影面に投影像を投影する投影機と、
前記投影像と前記投影面の手前に存在する指示手段とを撮像する撮像機と、
請求項１に記載の指示手段形状取得装置と、
前記指示手段形状取得装置により取得された指示手段形状に基づいて、前記投影機による投影を制御する制御装置と、を備える投影システム。
【請求項３】
投影機が投影像を投影する投影面の手前に存在する指示手段の形状を取得する指示手段形状取得プログラムであって、
前記投影機が投影する前記投影像と、前記投影面の手前に存在する指示手段とを撮像した撮像画像を取得し、
前記投影像の情報に基づいて、前記投影面に投影されると推定される推定画像を生成し、
前記撮像画像と前記推定画像との差分が所定値よりも大きい領域を抽出し、
前記投影像のうち抽出された前記領域に対応する部分の色が前記指示手段の表面に投影され反射したときに得られる前記指示手段の表面投影色を推定し、
前記投影像のうち抽出された前記領域の色と、当該領域に対応する表面投影色と、の比較結果に基づいて、前記指示手段の形状を取得する処理をコンピュータに実行させることを特徴とする指示手段形状取得プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、指示手段形状取得装置及び指示手段形状取得プログラム、並びに投影システムに関する。
【背景技術】
【０００２】
オフィスや学校、イベント会場などにおいて、多数の人に対し、同時に同一の情報を提示するための手段として、投影機（プロジェクタ）が利用されている。投影機を利用して情報を提示する場合、情報を提示する者は、レーザポインタや指差し、あるいはマウスポインタの移動により、注目すべき情報を特定することが多い（例えば、特許文献１参照）。また、近年においては、ユーザインタフェースとして手や指でのジェスチャを認識し、当該ジェスチャに対応した指示を、投影機が投影する情報に反映させる方法も開発されつつある。（例えば、特許文献２参照）。
【０００３】
このような技術では、投影面の前に存在する手を検出して手や指の形状を認識するときに、投影面に投影すべき情報が手や指に投影されてしまう。このため、特許文献２のように、撮像機（カメラ）に撮像された肌色の領域の情報のみから手や指を検出することとすると、手や指の形状の認識精度が低下するおそれがある。このような課題に対し、人間にとって不可視な赤外線の反射を利用して手の形状を検出したり（例えば、特許文献３参照）、照度を弱めたりする（例えば、特許文献４参照）などの様々な対策が講じられている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−８６１９３号公報
【特許文献２】特開２００１−５６８６１号公報
【特許文献３】特開２００１−２８２４５６号公報
【特許文献４】特開２００８−２５０４８２号公報
【特許文献５】特開２００６−２５９６２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献３のような赤外線のカメラを用意することができない環境は、現状において多く存在するとともに、赤外線のカメラを用意することが経済的に大きな負担となるおそれがある。また、特許文献４のように照度を弱めてしまうと、投影像自体の視認性が低下するおそれがある。
【０００６】
一方、特許文献５のように、投影する情報（投影電子情報）を予め保持しておき、投影面に投影された画像と投影電子情報に対して適切な幾何学的変換、色彩変換を施し、それらの差分を計算することで障害物を抽出する方法がある。しかるに、障害物が投影面の前に存在すると、障害物の影も差分として検出されるため、指の形状を正確に検出できないおそれがある。
【０００７】
そこで本件は上記の課題に鑑みてなされたものであり、投影面の手前に位置する指示手段の形状を高精度に取得することが可能な指示手段形状取得装置及び指示手段形状取得プログラムを提供することを目的とする。また、本件は、投影面の手前に位置する指示手段の形状に基づいた投影像の表示制御を高精度に行うことが可能な投影システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本明細書に記載の指示手段形状取得装置は、投影機が投影像を投影する投影面の手前に存在する指示手段の形状を取得する指示手段形状取得装置であって、前記投影機が投影する前記投影像と、前記投影面の手前に存在する指示手段とを撮像した撮像画像を取得する撮像画像取得部と、前記投影像の情報に基づいて、前記投影面に投影されると推定される推定画像を生成する推定画像生成部と、前記撮像画像と前記推定画像との差分が所定値よりも大きい領域を抽出する領域抽出部と、前記投影像のうち前記領域抽出部により抽出された領域に対応する部分の色が前記指示手段の表面に投影され反射したときに得られる前記指示手段の表面投影色を推定する表面投影色推定部と、前記投影像のうち前記領域抽出部により抽出された領域の色と、当該領域に対応する表面投影色と、の比較結果に基づいて、前記指示手段の形状を取得する指示手段形状取得部と、を備える指示手段形状取得装置である。
【０００９】
本明細書に記載の投影システムは、投影面に投影像を投影する投影機と、前記投影像と前記投影面の手前に存在する指示手段とを撮像する撮像機と、本明細書に記載の指示手段形状取得装置と、前記指示手段形状取得装置により取得された指示手段形状に基づいて、前記投影機による投影を制御する制御装置と、を備える投影システムである。
【００１０】
本明細書に記載の指示手段形状取得プログラムは、投影機が投影像を投影する投影面の手前に存在する指示手段の形状を取得する指示手段形状取得プログラムであって、前記投影機が投影する前記投影像と、前記投影面の手前に存在する指示手段とを撮像した撮像画像を取得し、前記投影像の情報に基づいて、前記投影面に投影されると推定される推定画像を生成し、前記撮像画像と前記推定画像との差分が所定値よりも大きい領域を抽出し、前記投影像のうち抽出された前記領域に対応する部分の色が前記指示手段の表面に投影され反射したときに得られる前記指示手段の表面投影色を推定し、前記投影像のうち抽出された前記領域の色と、当該領域に対応する表面投影色と、の比較結果に基づいて、前記指示手段の形状を取得する処理をコンピュータに実行させる。
【発明の効果】
【００１１】
本明細書に記載の指示手段形状取得装置及び指示手段形状取得プログラムは、投影面の手前に位置する指示手段の形状を高精度に取得することができるという効果を奏する。また、本明細書に記載の投影システムは、投影面の手前に位置する指示手段の形状に基づいた投影像の表示制御を高精度に行うことできるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】一実施形態に係る投影システム１００の構成を概略的に示す図である。
【図２】ＰＣのハードウェア構成図である。
【図３】ＰＣの機能を示す機能ブロック図である。
【図４】一実施形態にかかる処理の概念図である。
【図５】ＰＣの処理を示すフローチャートである。
【図６】図５のステップＳ１８の具体的処理を示すフローチャートである。
【図７】投影像の４つの頂点を示す図である。
【図８】図５のステップＳ２０の具体的処理を示すフローチャートである。
【図９】図５のステップＳ２２の具体的処理を示すフローチャートである。
【図１０】Ｌａｍｂｅｒｔ反射について示す図である。
【図１１】図１１（ａ）〜図１１（ｃ）は、図９のステップＳ１２２、Ｓ１２４を説明するための図（その１）である。
【図１２】図１２（ａ）、図１２（ｂ）は、図９のステップＳ１２２、Ｓ１２４を説明するための図（その２）である。
【図１３】変形例を示す図である。
【発明を実施するための形態】
【００１３】
以下、投影システムの一実施形態について、図１〜図１２に基づいて詳細に説明する。図１には、一実施形態に係る投影システム１００の構成が概略的に示されている。図１に示すように、投影システム１００は、プロジェクタ（投影機）６０と、動画撮影が可能なカメラ（撮像機）５０と、プロジェクタ６０及びカメラ５０が接続されたＰＣ（Personal Computer）１０と、投影面としてのスクリーン７０と、を備える。
【００１４】
プロジェクタ６０は、ＰＣ１０から入力される投影像の情報に基づいて、投影像をスクリーン７０上に投影する。カメラ５０は、スクリーン７０に投影される投影像や、スクリーン７０の手前に存在する指示手段としての人の手や指を撮像する。カメラ５０としては、３ＣＣＤカメラ等を用いることができる。
【００１５】
図２にはＰＣ１０のハードウェア構成が示されている。図２に示すように、ＰＣ１０は、ＣＰＵ（Central Processing Unit）９０、ＲＯＭ（Read Only Memory）９２、ＲＡＭ（Random Access Memory）９４、記憶部（ここではＨＤＤ（Hard Disk Drive））９６、入出力部９７等を備えており、ＰＣ１０の構成各部は、バス９８に接続されている。入出力部９７には、図１のプロジェクタ６０やカメラ５０、及びＰＣ１０を構成する表示装置（ディスプレイ）や入力インタフェース（キーボードやマウス等）などが接続されている。また、入出力部９７には、図２に示すように可搬型記憶媒体用ドライブ９８も接続されている。ＰＣ１０では、ＲＯＭ９２あるいはＨＤＤ９６に格納されているプログラム、又は可搬型記憶媒体用ドライブ９８が可搬型記憶媒体９１から読み出したプログラムをＣＰＵ９０が実行することにより、図３の各部の機能が実現される。
【００１６】
図３は、ＰＣ１０のＣＰＵ９０がプログラムを実行することにより実現される機能を示す機能ブロック図である。図３に示すように、ＰＣ１０は、画像投影制御部２０と、指示手段形状取得装置としての手形状取得処理部１２と、指示特定部１４と、して機能する。
【００１７】
画像投影制御部２０は、投影画像情報記憶部４０に記憶されている投影像の情報を読み出し、プロジェクタ６０を介してスクリーン７０に投影像を投影する（図４の処理Ａ参照）。
【００１８】
手形状取得処理部１２は、撮像画像取得部２２と、推定画像生成部２６と、領域抽出部２８と、表面投影色推定部としての肌投影色推定部３０と、指示手段形状取得部としての手形状取得部３２と、を有する。なお、手形状取得処理部１２は、投影画像情報記憶部４０（ＨＤＤ９６の記憶領域により実現される）も有している。
【００１９】
撮像画像取得部２２は、カメラ５０が撮像する画像（撮像画像）を取得する（図４の処理Ｂ参照）。
【００２０】
推定画像生成部２６は、投影画像情報記憶部４０に記憶されている投影像の情報を読み出し、当該投影像の情報に基づいて、スクリーン７０上に投影される投影像を推定し、推定画像を生成する（図４の処理Ｃ参照）。この推定は、特許文献５（特開２００６−２５９６２７号公報）に開示されている方法で投影像の情報を補正することにより行われる。
【００２１】
領域抽出部２８は、撮像画像取得部２２により取得された撮像画像と、推定画像生成部２６により生成された推定画像との差分をとり、当該差分に基づいて、人の手などを含む領域を抽出する（図４の処理Ｄ参照）。なお、人の手などを含む領域とは、人の手や指のほか、洋服の袖や、手や指の影が撮像されている領域を意味する。
【００２２】
肌投影色推定部３０は、投影画像情報記憶部４０に記憶されている投影像の情報を読み出し、当該投影像の情報に基づいて、肌に投影された投影像の色（各画素の色）が反射したときに得られる色（肌投影色）を推定する。
【００２３】
手形状取得部３２は、領域抽出部２８で抽出された領域に含まれる各画素の色と、肌投影色とを比較し、当該比較結果に基づいて、手及び指の形状（以下、手形状と呼ぶ）を取得する。
【００２４】
指示特定部１４は、手形状取得部３２で取得された手形状から、投影像の表示状態を変更するための指示を特定する。指示特定部１４は、特定した指示を画像投影制御部２０に送信する。画像投影制御部２０は、受信した指示に基づいて、投影像の拡大や縮小、ページ送り、ページ戻りなどの表示制御を行う。
【００２５】
次に、上記のように構成されるＰＣ１０の処理について、図５〜図１２に基づいて詳細に説明する。図５には、ＰＣ１０における一連の処理の流れがフローチャートにて示されている。なお、処理の前提として、ＰＣ１０には、図１に示すようにプロジェクタ６０やカメラ５０が接続されているものとし、各装置の電源が既に投入されているものとする。
【００２６】
まず、図５のステップＳ１０では、画像投影制御部２０が、ジェスチャによる表示制御の開始コマンドを受け付けたか否かを判断する。この場合、ユーザが、ＰＣ１０の入力インタフェースを介して開始コマンドを入力し、当該コマンドを画像投影制御部２０が受け取った段階で、ステップＳ１０の判断が肯定される。ステップＳ１０の判断が肯定されると、ステップＳ１２に移行する。
【００２７】
ステップＳ１２に移行した場合、画像投影制御部２０は、プロジェクタ６０を介して投影画像を投影面に投影する（図４の処理Ａ）。次いで、ステップＳ１４では、撮像画像取得部２２が、カメラ５０から撮像画像を取得する（図４の処理Ｂ）。ここで、カメラ５０は、スクリーン７０を撮像している。このため、スクリーン７０上に投影される投影像はもちろん、スクリーン７０の手前に人の手や指が存在している場合には、当該人の手や指も、カメラ５０によって撮影されることになる。
【００２８】
次いで、ステップＳ１６では、推定画像生成部２６が、投影画像情報記憶部４０に記憶されている投影像の情報に基づいて、推定画像を生成する（図４の処理Ｃ）。ここでは、投影像の情報に基づいて、投影像に対して幾何学的なキャリブレーション及び色彩上のキャリブレーションを行うことで、推定画像を生成する。なお、キャリブレーション方法については、上記特許文献５に開示されている方法と同様の方法を用いることができる。なお、上記のようにキャリブレーションを行うこととしているのは、プロジェクタ６０とカメラ５０とは、通常異なる位置に設置されるため、プロジェクタ６０の投影の焦点とカメラ５０の撮像の焦点が、異なる位置に配される可能性が高いからである。なお、プロジェクタ６０とカメラ５０とが上記のように異なる位置に配置される場合、手などが邪魔となり、プロジェクタ５０の焦点から見えない箇所がカメラ５０で撮像されることがある。かかる場合、投影面に影ができてしまい、カメラ５０は当該影を撮像してしまうことになる。この影は、撮像画像から手だけを正しく抽出するには不要な領域であるため、影の存在を理由に、ユーザのジェスチャによる指示が特定できない可能性がある。
【００２９】
次いで、ステップＳ１８では、領域抽出部２８が、撮像画像と推定画像の差分をとり、仮の手領域を抽出する処理（図４の処理Ｄ）を実行する。より具体的には、ステップＳ１８では、領域抽出部２８が、図６のフローチャートに沿った処理を実行する。
【００３０】
図６の処理では、まず、ステップＳ４０において、領域抽出部２８が、撮像画像取得部２２から、投影像が投影されている領域（投影領域）の４つの頂点の座標を取得する。具体的には、領域抽出部２８は、図７に示す４つの頂点ｐ１，ｐ２，ｐ３，ｐ４の座標（ｘｐ１，ｙｐ１）、（ｘｐ２，ｙｐ２）、（ｘｐ３，ｙｐ３）、（ｘｐ４，ｙｐ４）を取得する。
【００３１】
次いで、ステップＳ４２では、領域抽出部２８が、推定画像生成部２６から推定画像Ｅを取得する。また、次のステップＳ４４では、領域抽出部２８が、撮像画像取得部２２から撮像画像Ｆを取得する。次いで、領域抽出部２８は、ステップＳ４６において、画素のｙ座標の変数ｉを０に設定するとともに、ステップＳ４８において、画素のｘ座標の変数ｊを０に設定する。
【００３２】
次いで、ステップＳ５０では、領域抽出部２８は、座標（ｊ，ｉ）が、投影像が投影された四角形の内部に属しているか否かを判断する。この場合、頂点ｐ１と頂点ｐ２を結ぶ直線の方程式をｅ１２、頂点ｐ２と頂点ｐ３を結ぶ直線の方程式をｅ２３、頂点ｐ３と頂点ｐ４を結ぶ直線の方程式をｅ３４、頂点ｐ４と頂点ｐ１を結ぶ直線の方程式をｅ４１とすると、各直線は、次式（１）〜（４）にて表すことができる。
ｅ１２：  ａ１２・ｘ＋ｂ１２・ｙ=１      …（１）
ｅ２３：  ａ２３・ｘ＋ｂ２３・ｙ=１      …（２）
ｅ３４：  ａ３４・ｘ＋ｂ３４・ｙ=１      …（３）
ｅ４１：  ａ４１・ｘ＋ｂ４１・ｙ=１      …（４）
【００３３】
なお、定数ａ１２、ｂ１２は、上式（１）のｘ，ｙに（ｘｐ１， ｙｐ１），（ｘｐ２， ｙｐ２）を代入した連立方程式から求めることができる。また、定数ａ２３、ｂ２３、ａ３４、ｂ３４、ａ４１、ｂ４１も、同様に、上式（２）〜（４）と、頂点の座標から求めることができる。
【００３４】
そして、領域抽出部２８は、 座標（ｊ，ｉ）が、
ａ１２・ｘ＋ｂ１２・ｙ＞１かつａ３４・ｘ＋ｂ３４・ｙ≦１
又は、
ａ１２・ｘ＋ｂ１２・ｙ≦1かつａ３４・ｘ＋ｂ３４・ｙ＞１
を満足し、かつ、
ａ２３・ｘ＋ｂ２３・ｙ＞１かつａ４１・ｘ＋ｂ４１・ｙ≦１
又は、
ａ２３・ｘ＋ｂ２３・ｙ≦１かつａ４１・ｘ＋ｂ４１・ｙ＞１
を満足する場合に、座標（ｊ，ｉ）が４つの頂点に内包される画素であると判断する。
【００３５】
ここでの判断が否定された場合には、ステップＳ５６に移行するが、判断が肯定された場合には、ステップＳ５２に移行する。
【００３６】
ステップＳ５２に移行した場合、推定画像Ｅと撮像画像Ｆとの距離が閾値（Ｔ０）よりも大きいか否かを判断する。ここで、座標（ｊ，ｉ）における推定画像Ｅから得られた色（赤をＲ、緑をＧ、青をＢで表す）を（Ｒ１（ｊ，ｉ），Ｇ１（ｊ，ｉ），Ｂ１（ｊ，ｉ））とする。また、座標（ｊ，ｉ）における撮像画像Ｆから得られた色を、（Ｒ２（ｊ，ｉ），Ｇ２（ｊ，ｉ），Ｂ２（ｊ，ｉ））とする。
【００３７】
領域抽出部２８は、各画素において両画像の色の差分をとり、差分画像を生成する。具体的には、式（５）〜（７）に基づいて、差分画像の各画素の色（Ｒｄ（ｊ，ｉ），Ｇｄ（ｊ，ｉ），Ｂｄ（ｊ，ｉ））を算出する。
Ｒｄ（ｊ，ｉ）＝Ｒ２（ｊ，ｉ）−Ｒ１（ｊ，ｉ）      …（５）
Ｇｄ（ｊ，ｉ）＝Ｇ２（ｊ，ｉ）−Ｇ１（ｊ，ｉ）      …（６）
Ｂｄ（ｊ，ｉ）＝Ｂ２（ｊ，ｉ）−Ｂ１（ｊ，ｉ）      …（７）
【００３８】
なお、Ｒｄ（ｊ，ｉ），Ｇｄ（ｊ，ｉ），Ｂｄ（ｊ，ｉ）は正負の値をとりうるが、通常の場合、スクリーン７０の手前に人の手などの障害物が無ければ、Ｒｄ（ｊ，ｉ）、Ｇｄ（ｊ，ｉ）、Ｂｄ（ｊ，ｉ）はほぼ０になる。すなわち、逆に言えば、Ｒｄ（ｊ，ｉ），Ｇｄ（ｊ，ｉ），Ｂｄ（ｊ，ｉ）の絶対値が大きい場合には、スクリーン７０の手前の座標（ｊ，ｉ）の位置に人の手などの障害物が存在していると推定できる。したがって、本実施形態では、次式（８）に基づいて、推定画像Ｅと撮像画像Ｆとの距離を求め、当該距離がＴ０より大きい場合に、スクリーン７０の手前の座標（ｊ，ｉ）の位置に人の手などの障害物が存在していると判断する。
（Ｒｄ（ｊ，ｉ）2＋Ｇｄ（ｊ，ｉ）2＋Ｂｄ（ｊ，ｉ）2）1/2＞Ｔ０  …（８）
【００３９】
ステップＳ５２の判断が否定された場合には、ステップＳ５６に移行するが、判断が肯定された場合には、ステップＳ５４に移行する。ステップＳ５４に移行した場合、すなわち、座標（ｊ，ｉ）に障害物が存在していた場合には、領域抽出部２８は、座標（ｊ，ｉ）の画素を、仮の手領域に含まれる画素として決定する。
【００４０】
その後は、ステップＳ５６でｊを１ずつインクリメントしながら、ｊが撮像画像又は推定画像のｘ方向に関する画像幅ＤＸよりも大きくなるまで（ステップＳ５８の判断が肯定されるまで）、ステップＳ５０〜Ｓ５４を繰り返す。そして、ステップＳ５８の判断が肯定されると、ステップＳ６０に移行して、ｉを１インクリメントするとともに、ステップＳ４８においてｊを０に戻す。その後は、上記と同様の処理を繰り返し、ｉが撮像画像又は推定画像のｙ方向に関する画像幅ＤＹよりも大きくなった段階（ステップＳ６２の判断が肯定された段階）で、図６の全処理を終了する。なお、図６の全処理が終了した段階では、手や指、人の体、洋服、及びこれらの影を含む領域が、仮の手領域として決定される。図６の処理が終了すると、図５のステップＳ２０に移行する。
【００４１】
図５のステップＳ２０では、肌投影色推定部３０が、肌領域識別処理を実行する。具体的には、肌投影色推定部３０は、図８の処理を実行する。
【００４２】
図８の処理では、まず、ステップＳ７２において、肌投影色推定部３０が、推定画像生成部２６から推定画像Ｅを取得する。次いで、ステップＳ７４では、肌投影色推定部３０が、領域抽出部２８から、仮の手領域を取得する。次いで、ステップＳ７６では、肌投影色推定部３０が、肌投影色算出数ｎを０に設定する。次いで、肌投影色推定部３０は、ステップＳ７８においてｙ座標変数ｉを０に設定するとともに、ステップＳ８０においてｘ座標変数ｊを０に設定する。
【００４３】
次いで、ステップＳ８２では、肌投影色推定部３０が、座標（ｊ，ｉ）が仮の手領域に属するか否かを判断する。このステップＳ８２の判断が否定されるとステップＳ８８に移行するが、ステップＳ８２の判断が肯定された場合には、ステップＳ８４に移行する。
【００４４】
ステップＳ８４に移行した場合には、肌投影色推定部３０は、肌投影色を算出し、当該肌投影色をＲｓｋｉｎ（ｎ）、Ｇｓｋｉｎ（ｎ）、Ｂｓｋｉｎ（ｎ）とする。具体的には、以下の処理を行う。
【００４５】
例えば、座標（ｊ，ｉ）に投影されるはずの推定画像の色（Ｒ１（ｊ，ｉ），Ｇ１（ｊ，ｉ），Ｂ１（ｊ，ｉ））が肌で反射したときに、観測される色（肌投影色）を（Ｒ１ｓｋｉｎ（ｎ），Ｇ１ｓｋｉｎ（ｎ），Ｂ１ｓｋｉｎ（ｎ））とする。この場合、（Ｒ１ｓｋｉｎ（ｎ），Ｇ１ｓｋｉｎ（ｎ），Ｂ１ｓｋｉｎ（ｎ））は、次式（９）にて算出することができる。
【００４６】
【数１】
0005644421.tif 000002
【００４７】
ここで、Ｖは３×３の行列を表す。なお、行列Ｖは予め求めておく。例えば、三つの色ｃ１＝（ｒ１，ｇ１，ｂ１），ｃ２＝（ｒ２，ｇ２，ｂ２），ｃ３＝（ｒ３，ｇ３，ｂ３）を肌に投影する。そして、肌で反射した光を撮像した結果、それぞれの画像の中で最も明るい色をｃ１’＝（ｒ１’，ｇ１’，ｂ１’），ｃ２’＝（ｒ２’，ｇ２’，ｂ２’），ｃ３’＝（ｒ３’，ｇ３’，ｂ３’)とする。この場合、次式（１０）が成り立つ。
【００４８】
【数２】
0005644421.tif 000003
【００４９】
したがって、本実施形態では、上式（１０）から得られる次式（１１）を用いて、Ｖを予め求めておくことができる。
【００５０】
【数３】
0005644421.tif 000004
【００５１】
なお、式（１１）の−１は逆行列を表す。上式（９）と上式（１１）とを用いて、肌投影色（Ｒ１ｓｋｉｎ（ｎ），Ｇ１ｓｋｉｎ（ｎ），Ｂ１ｓｋｉｎ（ｎ））が算出された後は、ステップＳ８６に移行する。ステップＳ８６では、肌投影色推定部３０が、ｎを１インクリメントする（ｎ←ｎ＋１）。
【００５２】
ステップＳ８６の後、又はステップＳ８２の判断が否定された後に行われるステップＳ８８では、肌投影色推定部３０が、ｊを１インクリメントする（ｊ←ｊ＋１）。
【００５３】
その後は、ステップＳ８８においてｊを１ずつインクリメントしながら、ｊが推定画像Ｅのｘ方向に関する画像幅ＤＸよりも大きくなるまで（ステップＳ９０の判断が肯定されるまで）、ステップＳ８２〜Ｓ８８を繰り返す。そして、ステップＳ９０の判断が肯定されると、ステップＳ９２に移行して、ｉを１インクリメントするとともに、ステップＳ８０においてｊを０に戻す。その後は、上記と同様の処理を繰り返し、ｉが推定画像のｙ方向に関する画像幅ＤＹよりも大きくなった段階（ステップＳ９４の判断が肯定された段階）で、図８の全処理を終了する。なお、図８の全処理が終了した段階では、仮の手領域に含まれる画素の色が肌に投影されて反射したときの色（肌投影色）をｎ個取得したことになる。以上の処理が終了すると、図５のステップＳ２２に移行する。
【００５４】
図５のステップＳ２２では、手形状取得部３２が、手形状を取得する処理を実行する。このステップＳ２２の処理では、手形状取得部３２が、図９のフローチャートに沿った処理を実行する。
【００５５】
図９の処理では、まず、ステップＳ１００において、手形状取得部３２が、撮像画像取得部２２から撮像画像Ｆを取得する。次いで、ステップＳ１０２では、手形状取得部３２が、仮の手領域の全画素の値を０に設定する（初期化）。次いで、ステップＳ１０４では、手形状取得部３２が、肌投影色推定部３０から肌投影色算出数ｎを取得する。
【００５６】
次いで、ステップＳ１０６では、手形状取得部３２が、肌投影色推定部３０から、全ての肌投影色（Rskin(0)、Gskin(0)、Bskin(0)）〜（Rskin(n)、Gskin(n)、Bskin(n)）を取得する。次いで、ステップＳ１０８では、手形状取得部３２が、撮像画像Ｆから、スクリーン７０のうち投影像が投影されていない部分の色（背景色（Ｒｂａｃｋ，Ｇｂａｃｋ，Ｂｂａｃｋ））を取得する。
【００５７】
次いで、ステップＳ１１０では、手形状取得部３２が、閾値Ｔｍｉｎ，Ｔｍａｘ，Ｔ１を取得する。なお、閾値Ｔｍｉｎ，Ｔｍａｘ，Ｔ１については、後述する。
【００５８】
次いで、手形状取得部３２は、ステップＳ１１２において、ｙ座標変数ｉを０に設定するとともに、ステップＳ１１４において、ｘ座標変数ｊを０に設定する。ステップＳ１１６では、手形状取得部３２が、判定回数ｎｎを０に設定する。
【００５９】
次いで、ステップＳ１１８では、手形状取得部３２が、座標（ｊ，ｉ）が仮の手領域に属するか否かを判断する。このステップＳ１１８の判断が否定された場合には、ステップＳ１３２に移行するが、肯定された場合には、ステップＳ１２０に移行する。
【００６０】
座標（ｊ，ｉ）が仮の手領域に属しており、ステップＳ１１８の判断が肯定された場合には、ステップＳ１２０において、手形状取得部３２が、撮像画像Ｆの画素（ｊ，ｉ）の色（Ｒ２(ｊ，ｉ)，Ｇ２(ｊ，ｉ)，Ｂ２(ｊ，ｉ))を取得する。
【００６１】
次いで、ステップＳ１２２では、手形状取得部３２が、ｈ（ｎ）、ｄ（ｎ）（図１２（ａ）、図１２（ｂ）参照）を算出する。以下、ステップＳ１２２の処理について具体的に説明する。
【００６２】
前提として、肌での反射が図１０に示すようなＬａｍｂｅｒｔ反射に従うときには、最も明るい色が観測される肌部分（プロジェクタ６０に正対する肌部分）１０２での反射から、傾き（θ）に応じて反射が小さくなる肌部分１０４での反射までを、肌での反射として識別する必要がある。すなわち、Ｖの算出時（式（１１）参照）に用いた最も明るい色から背景色までの範囲で、肌の向きに応じた色が観測されることになる。
【００６３】
この場合、図１１（ａ）〜図１１（ｃ）に示すように、ＲＧＢ空間においては、背景色ｂを頂点とし、肌投影色（ここでは、３色Ｐ１，Ｐ２，Ｐ３とする）を底面の中心とする円錐型の範囲が、肌で反射された色として観測される色の範囲と仮定することができる。また、図１２（ａ）に示すように、円錐の頂点（背景色（Ｒｂ，Ｇｂ，Ｂｂ））からｎ番目の肌投影色（円錐の底面の中心）を通るベクトルｅ１（ｎ）は、次式（１２）にて表すことができる。
ｅ１（ｎ）
＝（Ｒ１skin(n)−Ｒｂ，Ｇ１skin(n)−Ｇｂ，Ｂ１skin(n)−Ｂｂ）T
…（１２）
ここで、Ｔはベクトルの転置を表す。
【００６４】
また、円錐の頂点から観測された画像の任意の画素の色（Ｒ２，Ｇ２，Ｂ２）までのベクトルをｅ２とし、ベクトルｅ２をｅ１（ｎ）へ射影したときのベクトルの長さｈ（ｎ）は、次式（１３）となる。
ｈ（ｎ）＝（ｅ２，ｅ１（ｎ））／｜ｅ１（ｎ）｜      …（１３）
【００６５】
なお、上式（１３）において、（ｅ２，ｅ１（ｎ））はベクトルｅ２とベクトルｅ１（ｎ）の内積を表し、｜ｅ１（ｎ）｜はベクトルｅ１（ｎ）の大きさを意味する。ここで、座標（Ｒ２，Ｇ２，Ｂ２）からｅ１上の垂線の足までの距離ｄ（ｎ）は、三平方の定理より、ｈ（ｎ）を用いて、次式（１４）にて求めることができる。
ｄ（ｎ）
＝｛｜Rb-R2(j,i)，Gb-G2(j,i)，Bb-B2(j,i)｜2−h(n)2｝1/2  …（１４）
【００６６】
したがって、図９のステップＳ１２２では、上式（１３）、（１４）を用いて、ｈ（ｎ）とｄ（ｎ）を求めることになる。
【００６７】
なお、底面の半径がｒの円錐内部に入る条件は、
ｈ（ｎ）＞０  かつ
ｈ（ｎ）＜｜ｅ１（ｎ）｜  かつ
ｄ（ｎ）＜ｒ×ｈ（ｎ）／｜ｅ１（ｎ）｜              …（１５）
となる。この条件を満たす領域は図１２（ｂ）に推定画像の肌投影色を底面とし、背景色を頂点とする円錐領域である。
【００６８】
また、背景色に近い色を背景色とみなし閾値Ｔｍｉｎで与え、さらに底面の位置を閾値Ｔｍａｘで与え、円錐の底面の半径を閾値Ｔ１で与えると、図１２（ｂ）の該当領域であたえられる円錐の頂点部分が切断され、Ｔｍａｘに応じて底面が突き出た形状
ｈ（ｎ）＞Ｔｍｉｎ×｜ｅ１（ｎ）｜  かつ
ｈ（ｎ）＜Ｔｍａｘ×｜ｅ１（ｎ）｜  かつ 
ｄ（ｎ）＜Ｔ１×ｈ（ｎ）／｜ｅ１（ｎ）｜               …（１６）
となるので、この条件を満足する場合には、座標（ｊ，ｉ）を肌（人の手や指）の領域と判別することができる。また、上記条件を満足しない場合には、座標（ｊ，ｉ）は人の手や指の領域ではないと判定することができる。
【００６９】
したがって、図９のステップＳ１２４では、手形状取得部３２が、上式（１６）を満足するか否かを判断する。ここでの判断が肯定された場合には、ステップＳ１２６に移行して、座標（ｊ，ｉ）の画素の値を１にする。その後は、ステップＳ１３２に移行する。
【００７０】
一方、ステップＳ１２４の判断が否定された場合には、ステップＳ１２８に移行する。すなわち、上式（１６）を満たさない場合には、座標（ｊ，ｉ）の値を０のまま（ステップＳ１０２参照）維持する。
【００７１】
なお、閾値Ｔｍｉｎ、Ｔｍａｘ、Ｔ１は、例えば、Ｔｍｉｎ＝０．０５，Ｔｍａｘ＝１．１，Ｔ１＝１５などとすることができる。この場合、肌の色の変化が大きな場合にはＴ１を大きくすることで円錐の径が大きくなり、変化の大きな色についても肌の領域として抽出することができる。
【００７２】
ステップＳ１２８に移行した場合、手形状取得部３２は、ｎｎを１インクリメントする（ｎｎ←ｎｎ＋１）。そして、次のステップＳ１３０では、手形状取得部３２が、ｎｎがｎであるか否かを判断する。ここでの判断が否定された場合、すなわち、全ての肌投影色について、ステップＳ１２２、Ｓ１２４の処理、判断を行っていない場合には、ステップＳ１２２に戻る。一方、ステップＳ１３０の判断が肯定された場合には、ステップＳ１３２に移行する。
【００７３】
すなわち、座標（ｊ，ｉ）の値が１になった場合、又は座標（ｊ，ｉ）の値が０のままｎ個の肌投影色全ての処理が完了した場合には、ステップＳ１３２に移行し、肌投影色推定部３０は、ｊを１インクリメントする（ｊ←ｊ＋１）。
【００７４】
その後は、ステップＳ１３２においてｊを１ずつインクリメントしながら、ｊが推定画像Ｅのｘ方向に関する画像幅ＤＸよりも大きくなるまで（ステップＳ１３４の判断が肯定されるまで）、ステップＳ１１８〜Ｓ１３０の処理を繰り返す。そして、ステップＳ１３４の判断が肯定されると、ステップＳ１３６に移行して、ｉを１インクリメントするとともに、ステップＳ１１４においてｊを０に戻す。その後は、上記と同様の処理を繰り返し、ｉが推定画像のｙ方向に関する画像幅ＤＹよりも大きくなった段階（ステップＳ１３８の判断が肯定された段階）で、図９の全処理を終了する。なお、図９の全処理が終了した段階では、仮の手領域のうち、人の手や指に相当する部分の座標の値が１に設定され、その他の仮の手領域（影部分等）の座標の値が０に設定される。以上の処理が終了すると、図５のステップＳ２４に移行する。
【００７５】
図５のステップＳ２４では、指示特定部１４が、手形状に基づいて指示を特定する。具体的には、座標の値が１に設定されている部分の全体形状に基づいて、人がどのような指示を出しているのかを特定する。
【００７６】
次いで、ステップＳ２６では、画像投影制御部２０が、ステップＳ２４で特定された指示に従って、投影画像を表示する。次いで、ステップＳ２８では、画像投影制御部２０が、ジェスチャによる表示制御の終了コマンドを受け付けたか否かを判断する。このステップＳ２８の判断が否定されると、ステップＳ１２に戻り、ステップＳ１２〜Ｓ２６の処理を繰り返し実行するが、ステップＳ２８の判断が肯定された場合には、図５の全処理を終了する。
【００７７】
なお、これまでの説明から分かるように、画像投影制御部２０と、指示特定部１４と、を含んで、手形状取得処理部１２により取得された手形状に基づいて、プロジェクタ６０による投影を制御する制御装置が実現されている。
【００７８】
以上、詳細に説明したように、本実施形態の手形状取得処理部１２によると、プロジェクタ６０が投影する投影像と、スクリーン７０の手前に存在する手とを撮像した撮像画像を取得する撮像画像取得部２２と、投影像に含まれる色が肌に投影され反射したときに得られる肌投影色を推定する肌投影色推定部３０と、撮像画像の色と肌投影色との比較結果に基づいて、手の形状を取得する手形状取得部３２と、を備えている。このように肌投影色に基づいて手の形状を取得することで、スクリーン７０の手前に位置する人の手の形状を手の影などの影響を受けずに、高精度に取得することができる。
【００７９】
また、本実施形態の手形状取得処理部１２は、投影像の情報に基づいて、スクリーン７０に投影されると推定される推定画像Ｅを生成する推定画像生成部２６と、撮像画像Ｆと推定画像Ｅとの差分が所定値（Ｔ０）よりも大きい領域（仮の手領域）を抽出する領域抽出部２８と、とを有しており、肌投影色推定部３０は、投影像のうち仮の手領域に対応する部分の肌投影色を推定し、手形状取得部３２は、投影像のうち領域抽出部２８により抽出された領域の色と、当該領域に対応する肌投影色と、の比較結果に基づいて、手の形状を取得する。したがって、領域抽出部２８が、撮像画像Ｆと推定画像Ｅとの差分が大きい領域（仮の手領域）を抽出し、当該領域の範囲内で、肌投影色推定部３０と手形状取得部３２とが上述した処理を行うことから、処理範囲が一部に限定されるので、処理の簡素化を図ることが可能となる。
【００８０】
また、本実施形態の投影システム１００によると、高精度に手の形状を取得することが可能な手形状取得処理部１２を有しているので、当該手の形状に基づいて、高精度に投影像の表示制御を行うことが可能となる。
【００８１】
なお、上記実施形態では、手形状取得処理部１２に、推定画像生成部２６と領域抽出部２８の機能を持たせることで、処理の簡素化を図る場合について説明したが、これに限られるものではない。手形状取得処理部１２には、推定画像生成部２６と領域抽出部２８の機能を持たせなくてもよい。この場合、撮像画像の全ての領域に属する画素と、肌投影色との比較を行って、手形状を取得するようにしてもよい。
【００８２】
なお、上記実施形態では、ＲＧＢ空間を用いる場合について説明したが、これに限られるものではなく、ＨＳＶ空間（色相（Ｈ）、彩度（Ｓ）、明度（Ｖ）を用いることとしてもよい。ＨＳＶ空間は、図１３に示すようなＨが極座標系を持つ円柱型の色空間を形成する。
【００８３】
ここで、Ｈはラジアンで記述されるものとし、また、推定画像（Ｒ１，Ｇ１，Ｂ１）に代えて（Ｈ１，Ｓ１，Ｖ１）が用いられ、推定画像の肌投影色（Ｒ１ｓｋｉｎ（ｎ），Ｇ１ｓｋｉｎ（ｎ），Ｂ１ｓｋｉｎ（ｎ））に代えて（Ｈ１ｓｋｉｎ（ｎ），Ｓ１ｓｋｉｎ（ｎ），Ｖ１ｓｋｉｎ（ｎ））が用いられ、撮像画像（Ｒ２，Ｇ２，Ｂ２）に代えて、（Ｈ２，Ｓ２，Ｖ２）が用いられるものとする。この場合、極座標系からユークリッド座標の要素（Ｒ’，Ｇ’，Ｂ’）への変換を以下の式（１７）〜（２４）で行う。
Ｒ１’＝Ｖ１
Ｇ１’＝Ｓ１・ｓｉｎ（Ｈ１）                                …（１７）
Ｂ１’＝Ｓ１・ｃｏｓ（Ｈ１）                                …（１８）
Ｒ１ｓｋｉｎ’（ｎ）＝Ｖ１ｓｋｉｎ                          …（１９）
Ｇ２ｓｋｉｎ’（ｎ）＝Ｓ・ｓｉｎ（Ｈ１ｓｋｉｎ（ｎ））      …（２０）
Ｂ２ｓｋｉｎ’（ｎ）＝Ｓ・ｃｏｓ（Ｈ１ｓｋｉｎ（ｎ））      …（２１）
Ｒ２’＝Ｖ２                                                …（２２）
Ｇ２’＝Ｓ２・ｓｉｎ（Ｈ２）                                …（２３）
Ｂ２’＝Ｓ２・ｃｏｓ（Ｈ２）                                …（２４）
【００８４】
上記のような変換を行い、上記実施形態で用いた式に適用することで、ＨＳＶ空間でも上記実施形態と同様の処理が可能となる。なお、Ｒ’，Ｇ’，Ｂ’は赤、緑、青を与えるものではなく、ユークリッド座標系を与えるためだけのものである。したがって、色とは無関係であり、分かりやすさのために、ＨＳＶ空間の各軸としてＲ’，Ｇ’，Ｂ’の符合を利用しているにすぎない。
【００８５】
なお、上記実施形態では、指示手段が人の手や指であり、指示手段の表面が肌である場合について説明したが、これに限られるものではない。例えば、指示手段が手に装着される手袋であり、指示手段の表面が手袋の表面（例えば布など）であってもよい。また、指示手段としては形状が変化するその他の手段を採用することもできる。
【００８６】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。
【００８７】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ（Digital Versatile Disc）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００８８】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【００８９】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【００９０】
なお、以上の説明に関して更に以下の付記を開示する。
（付記１）  投影機が投影像を投影する投影面の手前に存在する指示手段の形状を取得する指示手段形状取得装置であって、前記投影機が投影する前記投影像と、前記投影面の手前に存在する指示手段とを撮像した撮像画像を取得する撮像画像取得部と、前記投影像に含まれる色が前記指示手段の表面に投影され反射したときに得られる前記指示手段の表面投影色を推定する表面投影色推定部と、前記撮像画像の色と前記表面投影色との比較結果に基づいて、前記指示手段の形状を取得する指示手段形状取得部と、を備える指示手段形状取得装置。
（付記２）  前記投影像の情報に基づいて、前記投影面に投影されると推定される推定画像を生成する推定画像生成部と、前記撮像画像と前記推定画像との差分が所定値よりも大きい領域を抽出する領域抽出部と、を更に備え、前記表面投影色推定部は、前記投影像のうち前記領域抽出部により抽出された領域に対応する部分の表面投影色を推定し、前記指示手段形状取得部は、前記投影像のうち前記領域抽出部により抽出された領域の色と、当該領域に対応する表面投影色と、の比較結果に基づいて、前記指示手段の形状を取得することを特徴とする付記１に記載の指示手段形状取得装置。
（付記３）  投影面に投影像を投影する投影機と、前記投影像と前記投影面の手前に存在する指示手段とを撮像する撮像機と、付記１又は２に記載の指示手段形状取得装置と、前記指示手段形状取得装置により取得された指示手段形状に基づいて、前記投影機による投影を制御する制御装置と、を備える投影システム。
（付記４）  投影機が投影像を投影する投影面の手前に存在する指示手段の形状を取得する指示手段形状取得プログラムであって、前記投影機が投影する前記投影像と、前記投影面の手前に存在する指示手段とを撮像した撮像画像を取得し、前記投影像に含まれる色が前記指示手段の表面に投影され反射したときに得られる前記指示手段の表面投影色を推定し、前記撮像画像の色と前記表面投影色との比較結果に基づいて、前記指示手段の形状を取得する処理をコンピュータに実行させることを特徴とする指示手段形状取得プログラム。
（付記５）  前記投影像の情報に基づいて、前記投影面に投影されると推定される推定画像を生成し、前記撮像画像と前記推定画像との差分が所定値よりも大きい領域を抽出する処理を、コンピュータに更に実行させ、前記表面投影色を推定する処理では、前記投影像のうち前記領域を抽出する処理により抽出された領域に対応する部分の表面投影色を推定させ、前記指示手段形状を取得する処理では、前記投影像のうち前記領域を抽出する処理により抽出された領域の色と、当該領域に対応する表面投影色と、の比較結果に基づいて、前記指示手段の形状を取得させることを特徴とする付記４に記載の指示手段形状取得プログラム。
【符号の説明】
【００９１】
１２  手形状取得処理部（指示手段形状取得装置）
１４  指示特定部（制御装置の一部）
２０  画像投影制御部（制御装置の一部）
２２  撮像画像取得部
２６  推定画像生成部
２８  領域抽出部
３０  肌投影色推定部（表面投影色推定部）
３２  手形状取得部（指示手段形状取得部）
５０  カメラ（撮像機）
６０  プロジェクタ（投影機）
７０  スクリーン（投影面）
【図１】
0005644421.tif 000005
【図２】
0005644421.tif 000006
【図３】
0005644421.tif 000007
【図４】
0005644421.tif 000008
【図５】
0005644421.tif 000009
【図６】
0005644421.tif 000010
【図７】
0005644421.tif 000011
【図８】
0005644421.tif 000012
【図９】
0005644421.tif 000013
【図１０】
0005644421.tif 000014
【図１１】
0005644421.tif 000015
【図１２】
0005644421.tif 000016
【図１３】
0005644421.tif 000017