(57)【特許請求の範囲】
【請求項１】
第１の色が付された第１の領域と、前記第１の色と異なる第２の色が付された第２の領域とが設けられた指示装置の所定部分の位置に応じた入力処理を行う入力装置であって、
前記指示装置を撮影して前記指示装置が写った第１の画像を生成する第１の撮像部と、
前記第１の画像上で前記第１の色を持つ画素の集合を前記第１の領域が表されている可能性がある候補領域として検出する候補領域検出部と、
前記候補領域に対して前記第１の領域と前記第２の領域間の位置関係と同じ位置関係となる探索範囲内に前記第２の色を持つ画素が所定数以上存在するか否かを判定する相対位置判定部と、
前記探索範囲内に前記第２の色を持つ画素が所定数以上存在する場合、前記候補領域に基づいて前記第１の画像上での前記指示装置の前記所定部分の位置を特定する位置特定部と、
を有する入力装置。
【請求項２】
前記指示装置の前記所定部分で触れる対象となる対象物の実空間での位置を記憶する記憶部と、
前記第１の撮像部と異なる位置に配置され、前記指示装置を撮影して前記指示装置が写った第２の画像を生成する第２の撮像部と、
前記第１の画像上での前記指示装置の前記所定部分の位置と、前記第２の画像上での前記指示装置の前記所定部分の位置とに基づいて、実空間における前記指示装置の前記所定部分の位置を特定する実空間位置特定部と、
実空間における前記指示装置の前記所定部分の位置と、実空間での前記対象物の位置とに応じて、前記指示装置の前記所定部分が前記対象物に接触したか否かを判定する接触判定部と、
前記指示装置の前記所定部分が前記対象物に接触したと判定された場合に、前記指示装置の前記所定部分の位置に応じた処理を実行する入力処理部と、
をさらに有する、請求項１に記載の入力装置。
【請求項３】
前記第１の画像上で前記第１の色を持つ画素の集合の形状が前記第１の領域の形状と一致する場合に当該集合を前記候補領域とする形状判定部をさらに有する、請求項１または２に記載の入力装置。
【請求項４】
前記指示装置は、前記第１の領域と前記第２の領域の周囲を囲み、前記第１の色及び前記第２の色と異なる第３の色が付された第３の領域をさらに有し、
前記探索範囲内に前記第２の色を持つ画素が所定数以上存在する前記候補領域が複数存在する場合に、当該複数の候補領域のそれぞれに対して前記第１の領域と前記第３の領域間の位置関係と同じ位置関係となる位置に複数の第２の探索範囲を設定し、当該複数の候補領域のうち、前記第３の色を持つ画素が含まれる前記第２の探索範囲の数が最大となる候補領域を特定する選択部をさらに有し、
前記位置特定部は、前記第３の色を持つ画素が含まれる前記第２の探索範囲の数が最大となる前記候補領域に基づいて前記第１の画像上での前記指示装置の前記所定部分の位置を特定する、請求項１〜３の何れか一項に記載の入力装置。
【請求項５】
前記選択部は、前記第３の色を持つ画素が含まれる前記第２の探索範囲の数が最大となる前記候補領域が複数存在する場合、当該複数の候補領域のそれぞれに対して、前記候補領域の輪郭を近似する線と前記第１の領域と前記第３の領域間の境界線との類似度合いを求め、当該複数の候補領域のうち、前記類似度合いが最大となる候補領域を特定し、
前記位置特定部は、前記類似度合いが最大となる前記候補領域に基づいて前記第１の画像上での前記指示装置の前記所定部分の位置を特定する、請求項４に記載の入力装置。
【請求項６】
前記選択部は、前記第３の色を持つ画素が含まれる前記第２の探索範囲の数が最大となる前記候補領域が複数存在する場合、当該複数の候補領域のそれぞれに対して、前記候補領域内の色のばらつき度合いを求め、当該複数の候補領域のうち、前記色のばらつき度合いが最小となる候補領域を特定し、
前記位置特定部は、前記色のばらつき度合いが最小となる前記候補領域に基づいて前記第１の画像上での前記指示装置の前記所定部分の位置を特定する、請求項４に記載の入力装置。
【請求項７】
第１の色が付された第１の領域と、前記第１の色と異なる第２の色が付された第２の領域とが設けられた指示装置の所定部分の位置に応じた入力処理を行う入力方法であって、
第１の撮像部により生成された第１の画像上で前記第１の色を持つ画素の集合を前記第１の領域が表されている可能性がある候補領域として検出し、
前記候補領域に対して前記第１の領域と前記第２の領域間の位置関係と同じ位置関係となる探索範囲内に前記第２の色を持つ画素が所定数以上存在するか否かを判定し、
前記探索範囲内に前記第２の色を持つ画素が所定数以上存在する場合、前記候補領域に基づいて前記第１の画像上での前記指示装置の前記所定部分の位置を特定する、
ことを含む入力方法。
【請求項８】
第１の色が付された第１の領域と、前記第１の色と異なる第２の色が付された第２の領域とが設けられた指示装置の所定部分の位置に応じた入力処理を行う入力方法であって、
第１の撮像部により生成された第１の画像上で前記第１の色を持つ画素の集合を前記第１の領域が表されている可能性がある候補領域として検出し、
前記候補領域に対して前記第１の領域と前記第２の領域間の位置関係と同じ位置関係となる探索範囲内に前記第２の色を持つ画素が所定数以上存在するか否かを判定し、
前記探索範囲内に前記第２の色を持つ画素が所定数以上存在する場合、前記候補領域に基づいて前記第１の画像上での前記指示装置の前記所定部分の位置を特定する、
ことをコンピュータに実行させるための入力処理用コンピュータプログラム。
【請求項９】
第１の色が付された第１の領域と、前記第１の色と異なる第２の色が付された第２の領域とが設けられた指示装置と、前記指示装置の所定部分の位置に応じた入力処理を行う入力装置とを有する入力システムであって、
前記入力装置は、
前記指示装置を撮影して前記指示装置が写った第１の画像を生成する第１の撮像部と、
前記第１の画像上で前記第１の色を持つ画素の集合を前記第１の領域が表されている可能性がある候補領域として検出する候補領域検出部と、
前記候補領域に対して前記第１の領域と前記第２の領域間の位置関係と同じ位置関係となる探索範囲内に前記第２の色を持つ画素が所定数以上存在するか否かを判定する相対位置判定部と、
前記探索範囲内に前記第２の色を持つ画素が所定数以上存在する場合、前記候補領域に基づいて前記第１の画像上での前記指示装置の前記所定部分の位置を特定する位置特定部と、
を有する入力システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、対象物を撮影することにより得られた画像に基づいて入力操作を検出する入力装置、入力方法及び入力処理用コンピュータプログラムならびに入力システムに関する。
【背景技術】
【０００２】
近年、手または指といった人体の部位を撮影して得られた画像によりその部位の位置を検出し、その検出結果に応じた処理を実行する装置が提案されている（例えば、特許文献１〜５を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−２０３１７４号公報
【特許文献２】特開２０１４−２０３１７６号公報
【特許文献３】特開２０１４−２０４１９６号公報
【特許文献４】特開２０１４−２０２５４０号公報
【特許文献５】特開２０１４−１９４６８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、上記のような装置において、人体の部位の代わりに、タッチペンといった指示用の道具を画像上で検出して、その道具が接触した場所を特定することで、入力操作を実現することが好ましいこともある。例えば、接触する対象となる対象物が汚れている場合など、衛生上の問題により人がその対象物に直接接触できない場合には、そのような道具が利用される。また、対象物の表面が人体の部位に類似した特徴を持つ場合、画像上で対象物と人体の部位を区別することが困難となる。このような場合にも、指示用の道具が利用されることがある。
【０００５】
しかしながら、対象物の表面に、指示用の道具と類似した模様があることがある。このような場合、画像上でその模様と指示用の道具を区別することが困難となり、その模様が指示用の道具として誤検出されてしまうおそれがある。一方、指示用の道具の識別を容易とするために、その道具の表面に、バーコードまたはＱＲコード（登録商標）といった特有のパターンを設けることが考えられる。しかし、指示用の道具がある程度速く移動していると、画像上でそのパターンがボケてしまい、そのパターンを正確に検出することが困難となることもある。また、画像に写ったこのようなパターンを正確に検出するためには、画像上でそのパターンが識別できる程度の解像度を持つカメラを利用することが必要となる。このことは、装置全体としてのコストを増加させる要因となり、好ましくない。
【０００６】
そこで、本明細書は、画像に写った指示装置の位置を正確に検出できる入力装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
一つの実施形態によれば、第１の色が付された第１の領域と、第１の色と異なる第２の色が付された第２の領域とが設けられた指示装置の所定部分の位置に応じた入力処理を行う入力装置が提供される。この入力装置は、指示装置を撮影してその指示装置が写った第１の画像を生成する第１の撮像部と、第１の画像上で第１の色を持つ画素の集合を第１の領域が表されている可能性がある候補領域として検出する候補領域検出部と、候補領域に対して第１の領域と第２の領域間の位置関係と同じ位置関係となる探索範囲内に第２の色を持つ画素が所定数以上存在するか否かを判定する相対位置判定部と、探索範囲内に第２の色を持つ画素が所定数以上存在する場合、その候補領域に基づいて第１の画像上での指示装置の所定部分の位置を特定する位置特定部とを有する。
【０００８】
本発明の目的及び利点は、請求項において特に指摘されたエレメント及び組み合わせにより実現され、かつ達成される。
【０００９】
上記の一般的な記述及び下記の詳細な記述の何れも、例示的かつ説明的なものであり、請求項のように、本発明を限定するものではないことを理解されたい。
【発明の効果】
【００１０】
本明細書に開示された操作表示システムは、画像に写った指示装置の位置を正確に検出できる。
【図面の簡単な説明】
【００１１】
【図１】操作表示システムが有する入力装置の概略斜視図である。
【図２】図１に示された入力装置のハードウェア構成図である。
【図３】（ａ）は、入力装置による検出対象となる指示装置の外観図であり、（ｂ）は、ユーザにより把持された状態の指示装置を示す図である。
【図４】彩度が互いに異なる緑系の６種類の色について、それらの色で着色された領域に光が当たらない状態から、投影される光の色を赤、青、緑、白と変化させたときに、その着色領域の色相の測定値の変化を表すグラフである。
【図５】指示装置のマーカ部のサイズ仕様の一例を示す図である。
【図６】指示装置とテーブル上に載置された対象物とを撮影して得られた画像の一例を示す図である。
【図７】制御部の機能ブロック図である。
【図８】図６に示された画像から検出された（２）式の条件を満たす画素を表す２値画像の一例を示す図である。
【図９】図６に示された画像から検出された候補領域の一例を示す図である。
【図１０】（ａ）は、候補領域がベースカラー部を表している場合の近似楕円の長軸と候補領域の輪郭との交点の一例を示す図である。（ｂ）は、候補領域がベースカラー部でない場合の近似楕円の長軸と候補領域の輪郭との交点の一例を示す図である。
【図１１】形状の対称性の判定方法を説明するための候補領域を表す図である。
【図１２】第１のサブカラー部の色に相当する色を持つ画素の探索範囲の一例を示す図である。
【図１３】第１の画像上でのベースカラー部と指示装置の先端との位置関係の一例を示す図である。
【図１４】カメラ座標系と世界座標系の位置関係の一例を示す図である。
【図１５】入力処理の動作フローチャートである。
【図１６】変形例による、制御部の機能ブロック図である。
【図１７】ベースカラー領域の周囲に設定される縁部の探索範囲の一例を示す図である。
【図１８】第２のスコアの算出基準となる、ベースカラー領域の輪郭線を示す図である。
【図１９】第２のスコアが低くなるベースカラー領域の例を示す図である。
【発明を実施するための形態】
【００１２】
以下、図を参照しつつ、一つの実施形態による、入力装置が実装された操作表示システムについて説明する。この操作表示システムは、指示装置と、入力装置とを有し、入力装置が、ユーザが指示装置を対象物に接触させた位置に応じた入力処理を実行する。そのために、この入力装置は、２台のカメラによりその指示装置を撮影して得られる２枚の画像のそれぞれから指示装置を検出し、各画像上の指示装置の先端位置から指示装置の先端の実空間上の位置を特定する。これにより、この入力装置は、指示装置が対象物に接触したか否かを判定する。さらに、この操作表示システムでは、各画像での指示装置の識別性を向上するため、指示装置の先端側の表面に、所定の色と所定の形状を持つベースカラー部と、その所定の色と異なる色を持つ１以上のサブカラー部とが設けられる。一方、入力装置は、各画像上で、ベースカラー部の色及び形状に相当する色及び形状を持つ領域を検出する。そして入力装置は、検出した領域に対してベースカラー部とサブカラー部の位置関係と同じ位置関係となる位置にサブカラー部の色に相当する色を持つ画素が所定数以上有るか否かを調べることで、指示装置の先端の位置を特定する。
【００１３】
図１は、入力システムの一例である操作表示システム１００が有する入力装置の概略斜視図である。図２は、図１に示された入力装置１のハードウェア構成図である。操作表示システム１００は、入力装置１と、指示装置２０とを有する。入力装置１は、投影装置２と、ミラー３と、二つのカメラ４−１、４−２と、通信部５と、記憶部６と、制御部７とを有する。入力装置１が有するこれらの各部は、側面から見て縦方向にコの字型をした筐体１０に収容される。なお、以下では、説明の便宜上、ユーザに面する側の面を正面と呼ぶ。
【００１４】
投影装置２は、例えば、液晶プロジェクタであり、筐体１０の正面側に、表示面を上方へ向けて配置される。投影装置２は、制御部７から受け取った映像信号に従って映像をその表示面に表示することで、映像を投影する。投影装置２から投影された映像は、正面側へ突出した筐体１０の天頂部１０ａの下側に設けられたミラー３により反射されて、例えば、指示装置２０が接触したか否かの判定対象となる対象物３０が載置されたテーブル面などに投影される。
【００１５】
対象物３０は、例えば、シート状の物体とすることができるが、そのような物体に限定されない。
【００１６】
なお、投影装置２は、テーブルの上方に所定距離（例えば、500mm）だけ離れた位置に表示面を鉛直下方へ向けて配置されてもよい。この場合には、ミラー３は省略されてもよい。
【００１７】
二つのカメラ４−１、４−２は、それぞれ、撮像部の一例であり、天頂部１０ａに、ミラー３を挟んで所定間隔だけ離して鉛直下方に向けて配置される。なお、テーブル面からカメラ４−１、４−２までの高さは、対象物３０がカメラ４−１とカメラ４−２の両方の撮影範囲に含まれ、かつ、対象物３０の近傍に位置する指示装置２０の表面のパターンを画像上で識別できるように、例えば、400mmに設定される。そしてカメラ４−１、４−２は、それぞれ、所定の撮影周期（例えば、10msec〜50msec）でその撮影範囲が写った画像を生成する。カメラ４−１、４−２は、画像を生成する度に、その画像を制御部７へ出力する。
【００１８】
通信部５は、入力装置１を他の機器と接続するためのインターフェース及びその制御回路を有する。そして通信部５は、例えば、他の機器から受け取った映像信号を制御部７へ渡す。あるいは、通信部５は、制御部７から受け取った、ユーザの入力に応じた入力信号を他の機器へ出力する。
【００１９】
記憶部６は、例えば、揮発性又は不揮発性の半導体メモリ回路を有する。そして記憶部６は、投影装置２により投影される映像を表す映像信号及びユーザの操作入力を検出するために利用される各種の情報を記憶する。ユーザの操作入力を検出するために利用される情報には、例えば、カメラ４−１とカメラ４−２間の間隔、カメラ４−１、４−２の焦点距離、テーブルの表面から対象物３０の表面までの位置ごとの高さ、指示装置２０の検出に利用する各種の閾値などが含まれる。さらに、記憶部６は、カメラ４−１またはカメラ４−２から得られた画像を記憶してもよい。
【００２０】
制御部７は、一つまたは複数のプロセッサ及びその周辺回路を有する。そして制御部７は、投影装置２、カメラ４−１、４−２、通信部５及び記憶部６と信号線を介して接続されており、入力装置１全体を制御する。
また制御部７は、カメラ４−１またはカメラ４−２から受け取った画像を解析することにより、指示装置２０の先端の実空間での位置を検出する。そして制御部７は、指示装置２０の先端の位置に基づいて、ユーザによる入力を検出し、その入力に応じた処理を実行する。
【００２１】
図３（ａ）は、入力装置１による検出対象となる指示装置２０の外観図であり、図３（ｂ）は、ユーザにより把持された状態の指示装置２０を示す図である。指示装置２０は、略円柱状の形状を有しており、その先端側の一部が指示装置２０の中心軸に沿って平行な平面となるように形成されたマーカ部２１となっている。また、マーカ部２１以外の、略円柱状の部分は、ユーザが指示装置２０を把持する把持部２２となっている。
【００２２】
マーカ部２１の平面には、指示装置２０の長手方向に沿った略長方形で、かつ指示装置２０の先端側が半円状となったベースカラー部２３が設けられている。さらに、マーカ部２１の平面には、ベースカラー部２３の把持部２２側に隣接する第１のサブカラー部２４と、第１のサブカラー部２４の把持部２２側に隣接する第２のサブカラー部２５とが設けられている。ベースカラー部２３、第１のサブカラー部２４及び第２のサブカラー部２５は、それぞれ、互いに異なる色で着色されている。そしてマーカ部２１の平面における、ベースカラー部２３、第１のサブカラー部２４及び第２のサブカラー部２５の周囲の縁部２６は、ベースカラー部２３、第１のサブカラー部２４及び第２のサブカラー部２５の何れとも異なる色に着色される。本実施形態では、ベースカラー部２３、第１のサブカラー部２４及び第２のサブカラー部２５は、それぞれ、マーカ部２１と他の物体との区別が付き易いように、青色(色相値200°)、紫色(色相値280°)、緑色(色相値120°)に着色される。さらに、縁部２６は白色である。
【００２３】
なお、指示装置２０は、一つ又は三つ以上サブカラー部を有してもよい。指示装置２０が互いに異なる色を持つ複数の領域を有することにより、何れか一つの領域の色と似た色を持つ物体が指示装置２０の周囲に存在する場合でも、指示装置２０が写った画像から指示装置２０を正確に検出することが容易となる。
【００２４】
指示装置２０で対象物３０に接触する際、指示装置２０上に投影装置２からの映像が投影されることがある。そのため、ベースカラー部２３、第１のサブカラー部２４及び第２のサブカラー部２５の色は、投影装置２から投影された映像が重なっても、カメラ４−１またはカメラ４−２から見てあまり変わらないように見える色であることが好ましい。
【００２５】
図４は、彩度が互いに異なる緑系の６種類の色について、それらの色で着色された領域に光が当たらない状態から、投影される光の色を赤、青、緑、白と変化させたときに、その着色領域の色相の測定値の変化を表すグラフである。図４において、横軸は彩度を表し、縦軸は、色相の変化量を表す。そして曲線４００は、彩度が異なる各色についての色相の測定値の変化から求めた、彩度と色相の変化量間の関係を表す近似曲線である。なお、実験に利用した緑系の６種類の色は、それらの色の彩度のうちの最大値が、彩度としての最大値となるように、RGB表色系におけるR（赤色）またはB（青色）の成分が0となる色とした。
【００２６】
図４に示されるように、彩度が高いほど、投影される光の色の変化による、色相の変化量が少なくなることが分かる。そこで、ベースカラー部２３、第１のサブカラー部２４及び第２のサブカラー部２５の色は、できるだけ彩度が高い色、例えば、彩度が200以上となる色とすることが好ましい。
【００２７】
図５は、指示装置２０のマーカ部２１のサイズ仕様の一例を示す図である。マーカ部２１に含まれる各部のサイズは、例えば、カメラ４−１及びカメラ４−２の解像度に基づいて決定される。例えば、カメラ４−１及びカメラ４−２が有するイメージセンサの画素数が、640×360画素であり、対象物３０が載置されたテーブル面上でカメラ４−１及びカメラ４−２の撮影範囲が640×360mmであるとする。この場合、カメラ４−１及びカメラ４−２は、1mm2あたり1画素の解像度で撮影できる。マーカ部２１がテーブルよりもカメラ４−１、４−２に近づくほど、カメラ４−１、４−２により生成される画像上でマーカ部２１が写る範囲が大きくなる。そこで、テーブル上に指示装置２０が載置されたとして、画像上でマーカ部２１に含まれる各部を検出できるサイズを以下に検討する。
【００２８】
指示装置２０の長手方向と直交する方向における、ベースカラー部２３、第１のサブカラー部２４及び第２のサブカラー部２５の長さ、すなわち幅BASEWは、例えば、撮影時のマーカ部２１の動きによるぼけを考慮しても最低５画素以上あればよい。また、縁部２６の幅QZLENは３画素以上あれば、縁部２６は検出可能とする。この場合、BASEWは5mm以上、QZLENは3mm以上となる。また、指示装置２０の長手方向に沿った、第１のサブカラー部２４の長さSUBLEN1及び第２のサブカラー部２５の長さSUBLEN2は、BASEWと同様に画像上で最低５画素あればよいとすると、SUBLEN1及びSUBLEN2は5mm以上となる。マーカ部２１の各部のサイズが上記のような条件を満たすことで、カメラ４−1及びカメラ４−２が、640×360画素といった少ない画素数の画像を生成する場合でも、入力装置１は、その画像から指示装置２０を検出できる。
【００２９】
図５に示される例では、BASEWは10mmである。また、BASELENは、BASEWよりも長く、43mmである。また、SUBLEN1及びSUBLEN2は、それぞれ、6mm、5mmであり、QZLENは5mmである。
【００３０】
以下、制御部７により実行される、入力処理に関する詳細について説明する。なお、以下では、説明の便宜上、カメラ４−１により生成された画像を第１の画像と呼び、カメラ４−２により生成された画像を第２の画像と呼ぶ。
【００３１】
図６は、指示装置２０とテーブル上に載置された対象物３０とを撮影して得られた画像６００の一例を示す。対象物３０には、ベースカラー部２３の色と類似する色を持つ領域６０１も含まれるものの、領域６０１は、ベースカラー部２３と異なる形状を有している。さらに、領域６０１に対して、ベースカラー部２３と各サブカラー部間の相対的な位置関係と同一の位置関係となる位置に、各サブカラー部と類似した色を持つ領域が存在する可能性は低い。そこで本実施形態では、制御部７は、先ず、ベースカラー部２３の色に相当する色を持つ画素の集合をベースカラー部２３が写っている可能性が有る候補領域として検出する。制御部７は、候補領域のうち、画像上で想定されるベースカラー部の形状及びサイズと一致する形状及びサイズを持つ候補領域を選択する。そして制御部７は、選択した候補領域に対してベースカラー部２３と各サブカラー部間の相対的な位置関係と同一の位置関係となる位置に、各サブカラー部の色に相当する色を持つ画素がある場合に、その候補領域をベースカラー部として検出する。そして制御部７は、検出したベースカラー部から、画像上での指示装置２０の先端の位置を検出する。制御部７は、撮影タイミングがほぼ同時となる第１の画像及び第２の画像の両方について同様の処理を行って、第１の画像及び第２の画像のそれぞれにおける指示装置２０の先端の位置を検出することで、三角測量により、実空間でのその先端の位置を求める。そして制御部７は、実空間での指示装置２０の先端の位置と、対象物３０間の距離が互いに接触しているとみなせるほど短い場合に、指示装置２０が対象物３０に接触していると判定し、その接触位置に応じた入力処理を実行する。
【００３２】
図７は、制御部７の機能ブロック図である。制御部７は、候補領域検出部１１と、形状判定部１２と、相対位置判定部１３と、先端検出部１４と、先端位置決定部１５と、接触判定部１６と、入力処理部１７とを有する。
【００３３】
制御部７が有するこれらの各部は、例えば、制御部７が有するプロセッサ上で実行されるコンピュータプログラムによって実現される機能モジュールとして実装されてもよい。なお、これらの各部は、それぞれ、別個の回路として、制御部７とは別個に入力装置１に実装されてもよく、あるいはこれらの各部の機能を実現する一つの集積回路として、制御部７とは別個に入力装置１に実装されてもよい。
【００３４】
候補領域検出部１１は、制御部７がカメラ４−１から第１の画像を取得する度に、その第１の画像上でベースカラー部２３が持つ色に相当する色を持つ画素の集合を、ベースカラー部２３が写っている可能性がある候補領域として検出する。同様に、候補領域検出部１１は、制御部７が第２のカメラ４−２から第２の画像を取得する度に、その第２の画像上でベースカラー部２３が持つ色に相当する色を持つ画素の集合を、ベースカラー部２３が写っている可能性がある候補領域として検出する。なお、候補領域検出部１１は、第１の画像及び第２の画像に対して同一の処理を実行するので、以下では、第１の画像に対する処理を例として説明する。
【００３５】
候補領域検出部１１は、第１の画像からベースカラー部２３に相当する色を持つ画素を検出する。例えば、候補領域検出部１１は、第１の画像の各画素の色がＲＧＢ表色系で表されている場合、次式に従って、第１の画像の各画素の値をHSV(Hue, Saturation, Brightness)表色系の値に変換する。
【数１】
0006398755.tif 000002
ここで、R、G、Bは、それぞれ、変換前の画素の赤色成分、緑色成分、青色成分を表す。またMAX、MINは、それぞれ、変換前の画素の赤色成分、緑色成分、青色成分のうちの最大値及び最小値を表す。そしてH、V、Ｓは、それぞれ、変換後の画素の色相、明度、彩度を表す。ただし、Hの値に関しては、（１）式により得られた値が負の場合、その値に360を加えた値が色相の値となる。この例では、明度V及び彩度Sは、それぞれ、0〜255の範囲内の値を取る。また、色相Hは、0〜359の値を取る。なお、第１の画像の各画素の値が元々HSV表色系で表されている場合には、上記の変換処理は省略されてよい。
【００３６】
候補領域検出部１１は、第１の画像内の各画素について、その画素のHSV値がベースカラー部２３の色に相当する色の範囲に含まれるか否か判定する。なお、ベースカラー部２３の色に相当する色の範囲は、例えば、次式で表される。
【数２】
0006398755.tif 000003
ここで、Hbmax及びHbminは、ベースカラー部２３の色に相当する色相の上限値及び下限値を表す。本実施形態では、ベースカラー部２３の色相の値が200°である。この場合、投影装置２から指示装置２０上に投影される映像による色相の変化量が±20°であるとすると、Hbmax=220°、Hbmin＝180°に設定される。また、Sbmax及びSbminは、ベースカラー部２３の色に相当する彩度の上限値及び下限値を表す。さらに、Vbmax及びVbminは、ベースカラー部２３の色に相当する明度の上限値及び下限値を表す。Sbmax、Sbmin、Vbmax及びVbminも、Hbmax及びHbminと同様に、投影装置２から指示装置２０上に投影される映像を様々に変化させて明度及び彩度の変化範囲を測定し、その変化範囲の上限及び下限の値に設定されればよい。
【００３７】
候補領域検出部１１は、第１の画像上で（２）式の条件を満たす画素と（２）式の条件を満たさない画素とが互いに異なる画素値を持つ２値画像を、ベースカラー部２３の色に相当する色を持つ画素を表す情報として生成する。例えば、候補領域検出部１１は、第１の画像上で（２）式の条件を満たす画素に対応する位置の２値画像上の画素の値を'255'とする。一方、候補領域検出部１１は、第１の画像上で（２）式の条件を満たさない画素に対応する位置の２値画像上の画素の値を'0'とする。
【００３８】
図８は、図６に示された画像から検出された（２）式の条件を満たす画素を表す２値画像の一例を示す図である。２値画像８００では、（２）式の条件を満たす画素が白で表され、一方、（２）式の条件を満たさない画素が黒で表されている。図８に示されるように、２値画像８００では、指示装置２０のベースカラー部２３だけでなく、対象物３０上でベースカラー部２３の色に相当する色を持つ画素も検出されていることが分かる。
【００３９】
第１の画像から、ベースカラー部２３の色に相当する色を持つ画素を検出すると、候補領域検出部１１は、その検出された画素、すなわち、２値画像上で、'255'の画素を持つ画素に対してラベリング処理を実行する。これにより、候補領域検出部１１は、ベースカラー部２３の色に相当する色を持つ画素が互いに連結された、その色を持つ画素の集合を検出できる。
【００４０】
候補領域検出部１１は、ベースカラー部２３の色に相当する色を持つ画素の集合ごとに、その集合に含まれる画素の数が、第１の画像上でのベースカラー部２３のサイズの下限値AreaMinからそのサイズの上限値AreaMaxの範囲に含まれるか否かを判定する。そして候補領域検出部１１は、画素の数が下限値AreaMin以上、かつ、上限値AreaMax以下となる画素の集合を候補領域とする。
【００４１】
なお、テーブル上に指示装置２０が載置されたとき、すなわち、カメラ４−１から指示装置２０までの距離が最も離れているときの第１の画像上でのベースカラー部２３の面積が150画素である場合、下限値AreaMinは、150画素に設定される。あるいは、下限値AreaMinは、150画素から所定のマージンを減じた値、例えば、130画素に設定されてもよい。同様に、カメラ４−１と指示装置２０間の距離が、その想定される距離の最小値である場合に、第１の画像上でのベースカラー部２３の面積が1500画素であれば、上限値AreaMaxは、1500画素に設定される。あるいは、上限値AreaMaxは、1500画素に所定のマージンを加算した値、例えば、1550画素に設定されてもよい。
【００４２】
図９は、図６に示された画像から検出された候補領域の一例を示す図である。この例では、５個の候補領域９０１〜９０５が検出されている。
【００４３】
候補領域検出部１１は、検出された候補領域ごとに、その候補領域を識別する情報を生成し、その情報を形状判定部１２へわたす。なお、候補領域を識別する情報は、例えば、第１の画像と同じサイズを持ち、かつ、候補領域ごとに、その候補領域に含まれる画素の値がその候補領域の識別番号（例えば、ラベリング処理により設定される）となる画像とすることができる。
【００４４】
形状判定部１２は、候補領域検出部１１から、第１の画像から検出されたベースカラー部２３の候補領域についての情報を受け取る度に、各候補領域について、候補領域の形状がベースカラー部２３の形状と一致するか否か判定する。同様に、形状判定部１２は、候補領域検出部１１から、第２の画像から検出されたベースカラー部２３の候補領域についての情報を受け取る度に、各候補領域について、候補領域の形状がベースカラー部２３の形状と一致するか否か判定する。なお、形状判定部１２は、第１の画像及び第２の画像に対して同一の処理を実行するので、以下では、第１の画像に対する処理を例として説明する。
【００４５】
本実施形態では、ベースカラー部２３は、一端側が半円状に形成された、略長方形の形状を有している。そのため、形状判定部１２は、第１の画像上でベースカラー部２３が写っている領域を楕円で近似できる。そこで、形状判定部１２は、ベースカラー部２３の候補領域ごとに、その候補領域に対して以下の慣性等価楕円式を適用することで、その候補領域を楕円近似したときの長軸方向を求める。
【数３】
0006398755.tif 000004
ここで、座標(xG,yG)は、候補領域の重心座標である。M2,0、M0,2、M1,1は、それぞれ、正規化された重心二次モーメントである。thetaは、第１の画像上での水平方向（すなわち、x軸）に対する、候補領域を近似した楕円の長軸方向の角度を表す。またRは、候補領域を表す。
【００４６】
候補領域が、ベースカラー部２３か否かを判定するために、形状判定部１２は、候補領域を近似する楕円（以下、単に近似楕円と呼ぶ）の長軸と候補領域の輪郭との交点の数をカウントする。
【００４７】
図１０（ａ）は、候補領域がベースカラー部２３を表している場合の近似楕円の長軸と候補領域の輪郭との交点の一例を示す。上記のように、ベースカラー部２３は、一端側が半円状に形成された、略長方形の形状を有している。そのため、候補領域１０００がベースカラー部２３を表している場合、近似楕円の長軸１００１と、候補領域１０００の輪郭との交点（点１００２、１００３）の数は２となる。
【００４８】
一方、図１０（ｂ）は、候補領域がベースカラー部２３でない場合の近似楕円の長軸と候補領域の輪郭との交点の一例を表す。図１０（ｂ）に示されるように、候補領域１０１０がベースカラー部２３でない場合には、近似楕円の長軸１０１１と、候補領域１０１０の輪郭との交点（点１０１２〜１０１５）の数は、２よりも多くなることがある。
【００４９】
そこで、形状判定部１２は、候補領域ごとに、重心座標(xG,yG)を通り、かつ、x軸となす角がthetaの直線をその候補領域の近似楕円の長軸として求める。そして形状判定部１２は、長軸と、候補領域の輪郭との交点の数をカウントする。なお、形状判定部１２は、候補領域に含まれる画素のうち、隣接する何れかの画素が候補領域に含まれない画素を、候補領域の輪郭に位置する画素とすることができる。
【００５０】
形状判定部１２は、候補領域の輪郭と長軸との交点の数が２よりも多い場合、その候補領域はベースカラー部２３とは異なると判定する。そして形状判定部１２は、その候補領域をベースカラー部２３か否かの判定対象から外す。一方、形状判定部１２は、候補領域の輪郭と長軸との交点の数が２個である場合、その候補領域は、ベースカラー部２３を表している可能性があると判定する。そして形状判定部１２は、その候補領域に対して、後述する、ベースカラー部２３の形状に関する他の判定基準を適用して、その候補領域がベースカラー部２３を表しているか否かをさらに判定する。
【００５１】
ベースカラー部２３は、指示装置２０の長手方向に沿った中心線に対して線対称な形状を有している。このことは、ユーザが指示装置２０をテーブルに対して傾けて把持した場合であっても、第１の画像上でのベースカラー部２３の形状が台形になるだけで、その形状が線対称であることに変わりはない。さらに、指示装置２０の周囲に、ベースカラー部２３の色と類似する色の領域があったとしても、ベースカラー部２３とその周囲とは、縁部２６によって分離されているため、第１の画像上でのベースカラー部２３の形状は線対称であると想定される。そこで、形状判定部１２は、候補領域の輪郭と近似楕円の長軸との交点の数が２個である候補領域に対して、近似楕円の長軸に対する形状の対称性を判定する。
【００５２】
図１１は、形状の対称性の判定方法を説明するための候補領域を表す図である。本実施形態では、形状判定部１２は、候補領域１１００の近似楕円の長軸１１０１と候補領域１１００の輪郭との二つの交点１１０２、１１０３間を、長軸１１０１に沿って6等分したときの長軸１１０１上の等分点を求める。そして形状判定部１２は等分点ごとに、その等分点をとおり、かつ長軸１１０１と直交する法線と候補領域１１００の輪郭との交点１１０４〜１１１３を求める。図１１に示されるように、候補領域１１００がベースカラー部２３を表している場合、各法線について、２個の交点、合計１０個の交点が検出されるはずである。そこで形状判定部１２は、各法線と候補領域の輪郭との交点の数が１１個以上となる場合、候補領域はベースカラー部２３を表していないと判定し、その候補領域をベースカラー部２３か否かの判定対象から外す。一方、各法線と候補領域の輪郭との交点の数が10個である場合、形状判定部１２は、法線ごとに、その法線と候補領域の輪郭との二つの交点のそれぞれから長軸までの距離を算出する。そして形状判定部１２は、各法線について、その二つの交点から長軸までの距離の差が所定の許容範囲（例えば、2画素）以内であれば、候補領域は、ベースカラー部２３を表している可能性が有ると判定する。一方、何れかの法線について、その二つの交点から長軸までの距離の差が所定の許容範囲から外れていれば、形状判定部１２は、その候補領域はベースカラー部２３を表していないと判定し、その候補領域をベースカラー部２３か否かの判定対象から外す。
【００５３】
なお、形状判定部１２は、各法線と候補領域の輪郭との各交点から長軸までの距離の最大値と最小値を求め、その最大値と最小値の差が所定の許容範囲から外れていれば、その候補領域はベースカラー部２３を表していないと判定してもよい。
【００５４】
候補領域が近似楕円の長軸に対して線対称であると判定された場合、ベースカラー部２３の長辺と短辺は既知のため、形状判定部１２は、その候補領域のアスペクト比がベースカラー部２３のアスペクト比に相当する範囲内に含まれるか否か判定する。例えば、形状判定部１２は、候補領域の輪郭とその近似楕円の長軸との二つの交点（xi1, yi1）と（xi2, yi2）間の距離を候補領域の長辺の長さLen1として算出する。また、形状判定部１２は、長軸に対する上記の各法線について、その法線と候補領域の輪郭との二つの交点間の距離を算出し、その距離の平均値を候補領域の短辺の長さLen2とする。そして形状判定部１２は、候補領域のアスペクト比(Len1/Len2)が次式を満たすか否か判定する。
【数４】
0006398755.tif 000005
ここで、アスペクト比の下限値Amin及び上限値Amaxは、例えば、 (BASELEN+SUBLEN1+SUBLEN2)/BASEWを基準値として、指示装置２０の把持の仕方によるアスペクト比の変化を考慮した値に設定され、例えば、Amin=2.5、Amax=6.5に設定される。
【００５５】
形状判定部１２は、（４）式を満たさない候補領域は、ベースカラー部２３を表していないと判定し、ベースカラー部２３の判定対象から除外する。一方、形状判定部１２は、（４）式を満たす候補領域を表す情報を、相対位置判定部１３へ渡す。
【００５６】
相対位置判定部１３は、形状判定部１２から受け取った、第１の画像及び第２の画像のそれぞれについての候補領域を表す情報に基づいて、その候補領域がベースカラー部２３か否か判定する。その際、相対位置判定部１３は、候補領域に対して、ベースカラー部２３と各サブカラー部との相対的な位置関係と同じ位置関係にある領域に、そのサブカラー部の色に相当する色を持つ画素が含まれる場合、候補領域にベースカラー部２３が写っていると判定する。なお、相対位置判定部１３は、第１の画像及び第２の画像に対して同一の処理を実行するので、以下では、第１の画像に対する処理を例として説明する。
【００５７】
相対位置判定部１３は、候補領域に対して、ベースカラー部２３と第１のサブカラー部２４間の相対的な位置関係と同じ位置関係となる領域を、第１のサブカラー部２４の色に相当する色を持つ画素の探索範囲に設定する。
【００５８】
本実施形態では、図３（ａ）に示されるように、第１のサブカラー部２４は、指示装置２０の長手方向に沿って、すなわち、ベースカラー部２３の長手方向に沿って、ベースカラー部２３の把持部２２側に隣接している。そこで、相対位置判定部１３は、候補領域の長手方向の両端近傍に、それぞれ、探索範囲を設定する。
【００５９】
図１２は、第１のサブカラー部２４の色に相当する色を持つ画素の探索範囲の一例を示す図である。探索範囲１２０１は、形状判定部１２で求めた候補領域１２００の近似楕円の長軸１２１０と候補領域１２００の輪郭との一方の交点(xi1, yi1)から、長軸１２１０に沿って候補領域１２００から離れる方向へ所定距離だけ離れた位置までの範囲に設定される。一方、探索範囲１２０２は、長軸１２１０と候補領域１２００の輪郭との他方の交点(xi2, yi2)から、長軸１２１０に沿って候補領域１２００から離れる方向へ所定距離だけ離れた位置までの範囲に設定される。所定距離は、二つの交点(xi1, yi1)と(xi2, yi2)間の距離Len1に、ベースカラー部２３の長さBASELENに対する第１のサブカラー部２４の長さSUBLEN1の比を乗じた値（Len1*SUBLEN1/BASELEN）とすることができる。
【００６０】
相対位置判定部１３は、探索範囲ごとに、その探索範囲に含まれ、かつ、長軸上に位置する各画素のHSV値を取得する。そして相対位置判定部１３は、探索範囲ごとに、その探索範囲内の各画素のうち、HSV値が下記の条件を満たす画素の数が所定数（例えば、1〜3）以上となるか否か判定する。
【数５】
0006398755.tif 000006
何れかの探索範囲について、HSV値が（５）式の条件を満たす画素が所定数以上存在する場合、相対位置判定部１３は、その探索範囲が第１のサブカラー部２４を表している可能性があると判定する。
なお、Hsmax1及びHsmin1は、第１のサブカラー部２４の色に相当する色相の上限値及び下限値を表す。本実施形態では、第１のサブカラー部２４の色相の値が280°である。そこで、投影装置２から指示装置２０上に投影される映像による色相の変化量を考慮して、例えば、Hsmax1=300°、Hsmin1＝260°に設定される。また、Ssmax1及びSsmin1は、第１のサブカラー部２４の色に相当する彩度の上限値及び下限値を表す。さらに、Vsmax1及びVsmin1は、第１のサブカラー部２４の色に相当する明度の上限値及び下限値を表す。Ssmax1、Ssmin1、Vsmax1及びVsmin1も、Hsmax1及びHsmin1と同様に、投影装置２から指示装置２０上に投影される映像を様々に変化させて第１のサブカラー部２４の色の明度及び彩度の変化範囲を測定し、その変化範囲の上限及び下限の値に設定されればよい。
【００６１】
何れの探索範囲についても、第１のサブカラー部２４の色に相当する色を持つ画素が所定数未満しか検出されなかった場合、相対位置判定部１３は、候補領域はベースカラー部２３を表していないと判定し、その候補領域をベースカラー部２３の判定対象から外す。一方、何れかの探索範囲において、第１のサブカラー部２４の色に相当する色を持つ画素が所定数以上検出された場合、相対位置判定部１３は、第２のサブカラー部２５の色に相当する色を持つ画素を探索する第２の探索範囲を設定する。
【００６２】
第２の探索範囲は、第１のサブカラー部２４の色に相当する色を持つ画素が所定数以上検出された探索範囲を基準として設定される。すなわち、相対位置判定部１３は、その探索範囲に対して、候補領域が隣接する側と反対側の端部に隣接し、かつ、候補領域の近似楕円の長軸に沿って、第１の画像上での第２のサブカラー部２５の長さSUBLEN2に相当する範囲を第２の探索範囲に設定する。すなわち、相対位置判定部１３は、長軸に沿った第２の探索範囲の長さをLen1*SUBLEN2/BASELENとすればよい。
【００６３】
相対位置判定部１３は、第２の探索範囲に含まれ、かつ、長軸上に位置する各画素のHSV値を取得する。そして相対位置判定部１３は、第２の探索範囲内の各画素のうち、HSV値が下記の条件を満たす画素の数が所定数（例えば、1〜3）以上となるか否か判定する。
【数６】
0006398755.tif 000007
HSV値が（６）式の条件を満たす画素の数が所定数以上である場合、相対位置判定部１３は、候補領域は、第１の画像上でベースカラー部２３を表しているベースカラー領域であると判定する。一方、HSV値が（６）式の条件を満たす画素の数が所定数未満である場合、相対位置判定部１３は、候補領域はベースカラー部２３を表していないと判定する。
【００６４】
なお、Hsmax2及びHsmin2は、第２のサブカラー部２５の色に相当する色相の上限値及び下限値を表す。本実施形態では、第２のサブカラー部２５の色相の値が120°である。そこで、投影装置２から指示装置２０上に投影される映像による色相の変化量を考慮して、例えば、Hsmax2=140°、Hsmin2＝100°に設定される。また、Ssmax2及びSsmin2は、第２のサブカラー部２５の色に相当する彩度の上限値及び下限値を表す。さらに、Vsmax2及びVsmin2は、第２のサブカラー部２５の色に相当する明度の上限値及び下限値を表す。Ssmax2、Ssmin2、Vsmax2及びVsmin2も、Hsmax2及びHsmin2と同様に、投影装置２から指示装置２０上に投影される映像を様々に変化させて第２のサブカラー部２５の色の明度及び彩度の変化範囲を測定し、その変化範囲の上限及び下限の値に設定されればよい。
【００６５】
相対位置判定部１３は、候補領域がベースカラー領域であると判定した場合、ベースカラー領域に関する情報を先端検出部１４に通知する。例えば、相対位置判定部１３は、ベースカラー領域に関する情報として、ベースカラー領域の近似楕円の長軸を表す式、及び、その長軸と候補領域の輪郭との二つの交点(xi1, yi1)、(xi2, yi2)の座標を先端検出部１４に通知する。さらに、相対位置判定部１３は、その二つの交点のうち、各サブカラー部の色に相当する色を持つ画素が検出された探索範囲に近い方を示す情報を、ベースカラー領域に関する情報として先端検出部１４に通知する。
【００６６】
先端検出部１４は、位置特定部の一例であり、第１の画像について、相対位置判定部１３から、ベースカラー領域に関する情報が通知されると、その情報に基づいて第１の画像上での指示装置２０の先端位置を検出する。同様に、先端検出部１４は、第２の画像について、相対位置判定部１３から、ベースカラー領域に関する情報が通知されると、その情報に基づいて第２の画像上での指示装置２０の先端位置を検出する。なお、先端検出部１４は、第１の画像及び第２の画像に対して同一の処理を実行するので、以下では、第１の画像に対する処理を例として説明する。
【００６７】
先端検出部１４は、ベースカラー領域の近似楕円の長軸と候補領域の輪郭との二つの交点(xi1, yi1),(xi2, yi2)のうち、各サブカラー部に相当する色を持つ画素が検出された探索範囲に近い方を、把持部２２側のベースカラー部２３の端部の中心点(xb, yb)とする。一方、先端検出部１４は、その二つの交点のうち、各サブカラー部の色に相当する色を持つ画素が検出された探索範囲から遠い方を、指示装置２０の先端側のベースカラー部２３の端点(xt, yt)とする。
【００６８】
図１３は、第１の画像上でのベースカラー部２３と指示装置２０の先端との位置関係の一例を示す図である。指示装置２０の先端(xc, yc)は、ベースカラー部２３を表すベースカラー領域の近似楕円の長軸１３０１に沿って、ベースカラー部２３の先端(xt, yt)から、第１の画像上での縁部２６の幅だけ離れた位置にあると推定される。そのため、先端検出部１４は、例えば、次式に従って、指示装置２０の先端(xc, yc)を求める。
【００６９】
【数７】
0006398755.tif 000008
ここで、QZLENは、縁部２６の幅の長さであり、BASELENは、ベースカラー部２３の長手方向の長さである。
【００７０】
先端検出部１４は、第１の画像上で求められた指示装置２０の先端の座標と、第２の画像上で求められた指示装置２０の先端の座標とを、先端位置決定部１５へ通知する。なお、説明の便宜上、以下では、第１の画像上での指示装置２０の先端の座標を(xc1, xc1)と表記し、第２の画像上での指示装置２０の先端の座標を(xc2, xc2)と表記する。また、(xc1, xc1)は、カメラ４−１の撮像光学系の光軸に対応する画像上の点、すなわち、第１の画像の中心を原点とする座標系での座標である。同様に、(xc2, xc2)も、カメラ４−２の撮像光学系の光軸に対応する画像上の点、すなわち、第２の画像の中心を原点とする座標系での座標である。
【００７１】
先端位置決定部１５は、実空間位置特定部の一例であり、最新の第１の画像と第２の画像の組について、それぞれ、指示装置２０の先端の座標が検出されている場合、実空間における指示装置２０の先端の位置を求める。
【００７２】
本実施形態では、先端位置決定部１５は、三角測量の原理に基づいて、第１の画像上の先端の座標(xc1, xc1)と、第２の画像上の先端の座標(xc2, xc2)から、実空間での指示装置２０の先端の位置を求める。例えば、先端位置決定部１５は、次式に従って、指示装置２０の先端のカメラ４−１の撮像光学系の前側主点を原点とするカメラ座標系における、指示装置２０の先端の位置の三次元座標(XC,YC,ZC)を算出する。ただし、カメラ座標系では、カメラ４−１の撮像光学系の前側主点からカメラ４−２の撮像光学系の前側主点へ向かう方向をX軸方向とし、カメラ４−１の撮像光学系の光軸に平行な方向をZ軸方向とする。そしてX軸方向及びZ軸方向と直交する方向をY軸方向とする。
【００７３】
【数８】
0006398755.tif 000009
ここで、Dは、カメラ４−１の撮像光学系の前側主点と第２のカメラ４−２の撮像光学系の前側主点間の距離、すなわち基線長(mm)である。Wは、第１及び第２の画像の水平方向の画素数である。Hは、第１及び第２の画像の垂直方向の画素数である。θは、カメラ４−１、４−２の対角方向の視野角である。
【００７４】
先端位置決定部１５は、テーブルに載置された対象物３０に指示装置２０の先端が接触しているか否かの判定を容易にするため、指示装置２０の先端の座標を、カメラ座標系から、テーブル上の任意の点を原点とする世界座標系の座標に変換することが好ましい。
【００７５】
図１４は、カメラ座標系と世界座標系の位置関係の一例を示す図である。カメラ座標系１４００では、上述したように、カメラ４−１の撮像光学系の前側主点が原点に設定される。そしてカメラ４−１の撮像光学系の前側主点からカメラ４−２の撮像光学系の前側主点へ向かう方向がX軸方向となり、カメラ４−１の撮像光学系の光軸に平行な方向がZ軸方向となり、X軸方向及びZ軸方向と直交する方向がY軸方向となる。
【００７６】
一方、世界座標系１４０１では、対象物３０が載置されるテーブル１４０２上に原点が設定される。この例では、投影装置２からの映像が投影される領域のコーナーのうちの一つが原点とされる。そして、テーブル１４０２の表面と平行な面において、カメラ４−１の撮像光学系の前側主点とカメラ４−２の撮像光学系の前側主点とを結ぶ線と平行となるように世界座標系１４０１のX軸方向が設定される。また、テーブル１４０２の表面と平行な面において、X軸方向と直交する方向にY軸方向が設定される。そしてテーブル１４０２の表面の法線方向が世界座標系１４０１のZ軸方向となる。
【００７７】
先端位置決定部１５は、次式に従って、カメラ座標系における指示装置２０の先端の位置の座標P=t(XC,YC,ZC)を、世界座標系における座標P'= t(Xf,Yf,Zf)に変換する。
【数９】
0006398755.tif 000010
ここで、Rは、カメラ座標系と世界座標系間の回転量を表す回転行列であり、Tは、カメラ座標系の原点と世界座標系の原点間の平行移動量を表す平行移動ベクトルである。図１４に示されるように、カメラ座標系と世界座標系とが配置される場合、カメラ座標系のX軸を回転軸として、カメラ座標系と世界座標系とは、角度θ回転した関係になっているため、回転行列Rは次式で表される。
【数１０】
0006398755.tif 000011
【００７８】
特に、カメラ４−１の撮像光学系の光軸が対象物３０が載置されたテーブルの法線と平行となるようにカメラ４−１が設置されている場合、θ=180°となる。
【００７９】
また、カメラ座標系の原点と世界座標系の原点間の各軸における差が、それぞれ、Da、Db、Dcである場合、平行移動ベクトルTは次式で表される。
【数１１】
0006398755.tif 000012
なお、回転行列R及び平行移動ベクトルTは、カメラ４−１及びカメラ４−２の設置位置、及び投影装置２の投影範囲に基づいて予め求められ、記憶部６に記憶される。
【００８０】
（９）式〜１１（式）より、世界座標系における、指示装置２０の先端の位置の座標P'= t(Xf,Yf,Zf)は、次式に従って算出される。
【数１２】
0006398755.tif 000013
【００８１】
先端位置決定部１５は、世界座標系における、指示装置２０の先端の位置の座標P'を、その算出に用いられた第１の画像または第２の画像の生成時刻と対応付けて記憶部６に記憶する。例えば、カメラ４−１及びカメラ４−２の撮影周期が１/60秒である場合、直近の2秒間において、最大120組の指示装置２０の先端の座標P'が記憶部６に記憶される。
【００８２】
接触判定部１６は、指示装置２０を用いた入力操作を検出するために、指示装置２０の先端が対象物３０に接触したか否かを判定する。そして接触判定部１６は、指示装置２０の先端が対象物３０に接触している場合、その接触位置に応じた入力操作が行われたと判定する。
【００８３】
接触判定部１６は、記憶部６から、指示装置２０の先端の位置P'のうちのX方向及びY方向の座標(Xf,Yf)に対応する、対象物３０の高さZtを読み込む。この高さZtも、世界座標系で表される。そして接触判定部１６は、指示装置２０の先端の位置P'のZ方向の座標であるZfと対象物３０の高さZtとが下記の条件を満たす場合、指示装置２０の先端は対象物３０と接触したと判定する。一方、下記の条件が満たされない場合には、接触判定部１６は、指示装置２０の先端は対象物３０と接触していないと判定する。
【数１３】
0006398755.tif 000014
ここで、FHは、例えば、指示装置２０の先端部分における厚みに相当する値であり、例えば、10mmに設定される。あるいは、FHは、指示装置２０の先端部分における厚みに2〜3mm程度のマージンを加算した値、例えば、12〜13mmに設定されてもよい。
【００８４】
なお、接触判定部１６は、直近の所定期間（例えば、1/12秒）の第１及び第２の画像から検出された指示装置２０の先端の位置P'に基づいて、指示装置２０の先端が対象物３０に接触したか否かを判定してもよい。例えば、接触判定部１６は、過去の所定期間（例えば、5フレーム分）の指示装置２０の先端の位置P'の平均値(Xfave, Yfave, Zfave)における、Z座標の値Zfaveが≦(Zt+FH)以下である場合、指示装置２０の先端が対象物３０に接触したと判定してもよい。
【００８５】
接触判定部１６は、指示装置２０の先端が対象物３０に接触したと判定した場合、その先端の位置P'を入力処理部１７へ通知する。
【００８６】
入力処理部１７は、指示装置２０の先端が対象物３０に接触した位置、すなわち、先端が対象物３０に接触したと判定されたときのその先端の位置P'に応じた入力処理を、例えば、制御部７で動作中のアプリケーションプログラムに応じて実行する。例えば、入力処理部１７は、投影装置２に、その位置P'を中心とする所定の色かつ所定のサイズの円を含む映像を投影させる。
【００８７】
この場合、入力処理部１７は、世界座標系での位置P'に相当する投影装置２の表示画面上の位置を特定する。そのために、入力処理部１７は、世界座標系での位置P'の座標を、投影装置２の表示画面の中心を原点とする座標系(以下、便宜上、プロジェクタ座標系と呼ぶ)での座標P''=t(Xp, Yp, Zp)に変換する。世界座標系からプロジェクタ座標系への座標の変換は、（９）式と同様の式により計算される。その際、回転行列Rは、世界座標系からプロジェクタ座標系への回転量を表し、平行移動ベクトルTは、世界座標系の原点からプロジェクタ座標系の原点への移動量を表す。そして入力処理部１７は、プロジェクタ座標系での位置P''の座標に対応する、投影装置２の表示画面上の二次元座標(xp, yp)に変換する。例えば、入力処理部１７は、投影装置２の表示画面上の二次元座標(xp, yp)を、次式に従って算出する。
【数１４】
0006398755.tif 000015
ここで、fpは、投影装置２の投影光学系の焦点距離である。pimageWは、投影装置２の水平方向の表示画素数である。pimageHは、投影装置２の垂直方向の表示画素数である。なお、投影装置２に、位置P'を中心とる所定の半径を持つ円を投影させるために、入力処理部１７は、対象物３０が載置されるテーブル上でのその円に接する正方形の四隅の点の世界座標系での座標を求め、その各点の座標に対応する、投影装置２の表示画面上の二次元座標に変換する。そして入力処理部１７は、その各点を４隅とする正方形に内接する円を投影装置２の表示画面に描画させればよい。
【００８８】
入力処理部１７は、上記の処理に限られず、指示装置２０の先端が対象物３０に接触した位置P'に応じた様々な入力処理を実行できる。例えば、入力処理部１７は、位置P'に応じたアプリケーションを起動したり、位置P'に応じて投影装置２が投影する映像を変化させてもよい。また入力処理部１７は、位置P'の時間的な変化に応じた入力処理を実行してもよい。例えば、入力処理部１７は、位置P'の移動方向に沿って、投影装置２が投影する映像をスクロールさせたり、拡大あるいは縮小させてもよい。
【００８９】
図１５は、入力装置１の制御部７により実行される、入力処理の動作フローチャートである。制御部７は、カメラ４−１、４−２から、第１及び第２の画像を受け取る度に、下記の動作フローチャートに従って入力処理を実行する。
【００９０】
候補領域検出部１１は、カメラ４−１で生成された第１の画像及び第２のカメラ４−２で生成された第２の画像のそれぞれから、ベースカラー部の色に相当する色を持つ領域を、ベースカラー部の候補領域として検出する（ステップＳ１０１）。形状判定部１２は、第１の画像及び第２の画像のそれぞれについて、各候補領域のうち、ベースカラー部の形状と一致する形状を持つ候補領域を選択する（ステップＳ１０２）。
【００９１】
相対位置判定部１３は、第１の画像及び第２の画像のそれぞれについて、選択された候補領域に対して、ベースカラー部と各サブカラー部間の相対的な位置関係と同じ位置関係となる位置に探索範囲を設定する。そして相対位置判定部１３は、選択された候補領域のうち、その探索範囲内に、対応するサブカラー部の色に相当する色を持つ画素が所定数以上ある候補領域を、ベースカラー部が表されたベースカラー領域とする（ステップＳ１０３）。なお、ステップＳ１０１〜Ｓ１０３の何れかにて、該当する候補領域またはベースカラー領域が検出されない場合、制御部７は、入力処理を終了する。
【００９２】
先端検出部１４は、第１の画像及び第２の画像のそれぞれについて、ベースカラー領域に対して、ベースカラー部２３と指示装置２０の先端間の相対的な位置関係に対応する位置関係となる位置を、指示装置２０の先端の画像上での位置とする（ステップＳ１０４）。先端位置決定部１５は、第１の画像上の指示装置２０の先端の位置と、第２の画像上の指示装置の先端の位置とから、実空間での指示装置２０の先端の位置、すなわち、世界座標系でのその先端の位置P'=(Xf, Yf, Zf)を特定する（ステップＳ１０５）。
【００９３】
接触判定部１６は、指示装置２０の先端の位置P'の高さZfが、位置(Xf, Yf)における、対象物３０の高さZtにオフセットFHを加えた高さ以下か否か判定する（ステップＳ１０６）。高さZfが(Zt+FH)以下である場合（ステップＳ１０６−Ｙｅｓ）、接触判定部１６は、指示装置２０の先端が対象物３０に接触したと判定する。そして入力処理部１７は、その接触位置(Xf, Yf)に応じた入力操作を実行する（ステップＳ１０７）。ステップＳ１０７の後、あるいは、ステップＳ１０６にて高さZfが(Zt+FH)よりも高い場合（ステップＳ１０６−Ｎｏ）、制御部７は、入力処理を終了する。
【００９４】
以上に説明してきたように、この操作表示システムでは、入力装置が、各カメラにより生成された画像から、指示装置のベースカラー部に相当する色を持つ領域を候補領域として検出する。そして入力装置は、その候補領域について、形状及び候補領域の周囲に指示装置のサブカラー部に相当する色を持つ画素が存在するか否かにより、候補領域がベースカラー部を表しているか否か判定する。これにより、この入力装置は、画像上での指示装置が写っている領域を正確に検出できる。そしてこの入力装置は、各画像上での指示装置の先端の位置から、実空間での指示装置の先端の位置を求めて対象物か否かを判定するので、指示装置が対象物に接触したか否かを正確に判定できる。そのため、この入力装置は、指示装置を用いるユーザの意図に応じた入力処理を正確に実行できる。
【００９５】
なお、相対位置判定部１３により、同一の画像上でベースカラー領域が複数検出される可能性がある。この場合、何れのベースカラー領域がベースカラー部を表しているかが特定されない。そこで変形例によれば、制御部は、ベースカラー領域が複数検出された場合、ベースカラー領域ごとに、指示装置２０の特徴を表す度合いであるスコアを算出し、そのスコアが最大となるベースカラー領域に基づいて、指示装置２０の先端の位置を求めてもよい。
【００９６】
図１６は、この変形例による、制御部７１の機能ブロック図である。制御部７１は、候補領域検出部１１と、形状判定部１２と、相対位置判定部１３と、先端検出部１４と、先端位置決定部１５と、接触判定部１６と、入力処理部１７と、スコア算出部１８とを有する。この変形例による制御部７１は、上記の実施形態による制御部７と比較して、スコア算出部１８を有する点で異なる。そこで以下では、スコア算出部１８と、その関連部分について説明する。制御部７１が有するその他の構成要素の詳細については、上記の実施形態における対応する構成要素の説明を参照されたい。
【００９７】
スコア算出部１８は、選択部の一例であり、第１の画像または第２の画像において、ベースカラー領域が複数検出された場合、複数のベースカラー領域のそれぞれごとに、指示装置２０の特徴を表す度合いであるスコアを算出する。そしてスコア算出部１８は、そのスコアに基づいて、ベースカラー部２３が表されているベースカラー領域を特定する。なお、スコア算出部１８は、第１の画像及び第２の画像に対して同一の処理を実行するので、以下では、第１の画像に対する処理を例として説明する。
【００９８】
本実施形態では、スコア算出部１８は、最初に、各ベースカラー領域について、そのベースカラー領域の周囲に、指示装置２０の縁部２６に相当する色を持つ領域が有るか否か判定する。
【００９９】
図３（ａ）に示されるように、縁部２６は、ベースカラー部２３の周囲を囲うように設けられている。そこでスコア算出部１８は、ベースカラー領域ごとに、そのベースカラー領域の周囲に、縁部２６の色に相当する色を持つ画素を探索する探索範囲を設定する。
【０１００】
図１７は、ベースカラー領域の周囲に設定される縁部２６の探索範囲の一例を示す図である。この例では、スコア算出部１８は、ベースカラー領域１７００の近似楕円の長軸１７０１とベースカラー領域１７００の輪郭との二つの交点間の線分を６等分する位置のそれぞれについて、長軸に対する法線を算出する。そしてスコア算出部１８は、各法線について、ベースカラー領域の輪郭との交点１７１１〜１７２０を求める。
【０１０１】
同様に、スコア算出部１８は、各サブカラー部に相当する第１の画像上の領域（すなわち、相対位置判定部１３により設定される探索範囲）内でも、長軸１７０１に対する法線を算出する。スコア算出部１８は、その法線に沿って、長軸１７０１から離れる方向に、順次画素の色を調べる。そしてスコア算出部１８は、サブカラー領域の色に相当する色を持つ画素のうちの長軸１７０１から最も離れた画素を、第１の画像上でのサブカラー部が写っている領域の輪郭とその法線との交点１７２１〜１７２４とする。
【０１０２】
スコア算出部１８は、各法線について、その法線上のベースカラー領域の輪郭またはサブカラー部が写っている領域の輪郭との交点から、長軸１７０１から離れる方向に所定距離の範囲を探索範囲とする。なお、所定距離は、第１の画像上での縁部２６の幅に相当する長さであり、例えば、Len1*QZLEN/BASELENに設定される。さらに、スコア算出部１８は、長軸１７０１に沿って、第２のサブカラー部２５の色に相当する色を持つ範囲のうち、ベースカラー領域１７００から最も遠い位置を、第２のサブカラー部２５が写っている領域の輪郭と長軸１７０１との交点１７２５とする。そしてスコア算出部１８は、その交点１７２５から、長軸１７０１に沿ってベースカラー領域１７００から離れる方向に所定距離の範囲も探索範囲としてよい。
【０１０３】
スコア算出部１８は、各探索範囲について、法線または長軸１７０１に沿った画素のうち、縁部２６の色に相当する色を持つ画素を検出する。
例えば、スコア算出部１８は、HSV値が下記の条件を満たす画素を、縁部２６の色に相当する色を持つ画素として検出する。
【数１５】
0006398755.tif 000016
ここで、Hqmax及びHqminは、縁部２６の色に相当する色相の上限値及び下限値を表す。また、Sqmax及びSqminは、縁部２６の色に相当する彩度の上限値及び下限値を表す。さらに、Vqmax及びVqminは、縁部２６の色に相当する明度の上限値及び下限値を表す。
【０１０４】
スコア算出部１８は、各ベースカラー領域について、各探索範囲のうち、縁部２６の色に相当する色を持つ画素が検出された探索範囲の数を第１のスコアとして算出する。スコア算出部１８は、第１のスコアが所定数（例えば、8）以上有る場合、対応するベースカラー領域に、ベースカラー部２３が表されている可能性が有ると判定する。一方、スコア算出部１８は、第１のスコアが所定数未満のベースカラー領域は、ベースカラー部２３を表していないと判定する。
【０１０５】
スコア算出部１８は、第１のスコアが所定数以上となるベースカラー領域が一つだけである場合、そのベースカラー領域は、ベースカラー部２３を表していると判定する。一方、スコア算出部１８は、第１のスコアが所定数以上となるベースカラー領域が複数有る場合、それら複数のベースカラー領域の第１のスコアのうちの最大値を求める。そしてスコア算出部１８は、第１のスコアが最大値となるベースカラー領域が一つだけである場合、そのベースカラー領域がベースカラー部２３を表していると判定する。
【０１０６】
一方、第１のスコアが最大値となるベースカラー領域が複数存在する場合、スコア算出部１８は、第１のスコアが最大値となる各ベースカラー領域について、ベースカラー領域の輪郭の直線性を第２のスコアとして算出する。
【０１０７】
図１８は、第２のスコアの算出基準となる、ベースカラー領域の輪郭線を示す図である。スコア算出部１８は、ベースカラー領域１８００の近似楕円の長軸１８０１とベースカラー領域１８００の輪郭との二つの交点間の線分を６等分する各位置での長軸１８０１に対する法線とベースカラー領域１８００の輪郭との交点１８１１〜１８２０を求める。そしてスコア算出部１８は、長軸１８０１に対して一方の側に存在する５個の交点１８１１〜１８１５の近似直線１８２１を、例えば最小二乗法により算出する。またスコア算出部１８は、長軸１８０１に対して他方の側に存在する５個の交点１８１６〜１８２０の近似直線１８２２を、例えば最小二乗法により算出する。
【０１０８】
スコア算出部１８は、各ベースカラー領域について、次式に従って第２のスコアLScoreを算出する。
【数１６】
0006398755.tif 000017
ここでDmaxは、交点１８１１〜１８１５から近似直線１８２１までの距離の最大値と、交点１８１６〜１８２０から近似直線１８２２までの距離の最大値のうちの大きい方の値である。なお、（１６）式において、ベースカラー部２３の幅BASEWの代わりに、各法線について求められた二つの輪郭点間の距離の平均値が利用されてもよい。
【０１０９】
第２のスコアLScoreは、ベースカラー領域の長手方向に沿った輪郭が直線らしいほど、高い値となる。すなわち、第２のスコアLScoreは、近似直線１８２１、１８２２と、ベースカラー部２４と縁部２６間の境界との類似度合いが高いほど、高い値となる。
【０１１０】
図１９は、第２のスコアLScoreが低くなるベースカラー領域の例を示す図である。ベースカラー領域１９００に示されるように、長手方向に沿ったベースカラー領域の輪郭が曲線の組み合わせとなっている場合、Dmaxが比較的大きな値となるため、第２のスコアLScoreは小さくなる。また、ベースカラー領域１９０１に示されるように、長手方向に沿ったベースカラー領域の輪郭が折れ線状に形成される場合も、Dmaxが比較的大きな値となるため、第２のスコアLScoreは小さくなる。
【０１１１】
スコア算出部１８は、各ベースカラー領域の第２のスコアのうちの最大値を求める。そしてスコア算出部１８は、第２のスコアが最大値となるベースカラー領域が一つだけである場合、そのベースカラー領域がベースカラー部２３を表していると判定する。
【０１１２】
一方、第２のスコアが最大値となるベースカラー領域が複数存在する場合、スコア算出部１８は、第２のスコアが最大値となる各ベースカラー領域について、ベースカラー領域内の色のバラツキ度合いを第３のスコアとして算出する。
【０１１３】
スコア算出部１８は、各ベースカラー領域について、そのベースカラー領域内の全ての画素、あるいはそのベースカラー領域内で近似楕円の長軸上の各画素の赤色(R)成分、緑色(G)成分、青色(B)成分のそれぞれについて標準偏差を算出する。そしてスコア算出部１８は、その標準偏差を用いて、次式に従って第３のスコアCScoreを算出する。
【数１７】
0006398755.tif 000018
ここで、関数max(a,b,c)は、変数{a,b,c}のうちの最大値を出力する関数である。またσr、σg、σbは、それぞれ、赤色成分、緑色成分、青色成分についての標準偏差である。
【０１１４】
第３のスコアCScoreは、各色の成分について、色のばらつきが少ないほど高くなる。したがって、ベースカラー領域内に文字が含まれていたり、ベースカラー領域内の色がグラデーション状に変化する場合には、第３のスコアCScoreは低くなる。本実施形態では、ベースカラー部２３は、単色で着色されているので、ベースカラー領域がベースカラー部２３を表している場合、色のバラツキ度合いは小さくなる。そこでスコア算出部１８は、第２のスコアが最大値となる各ベースカラー領域のうち、第３のスコアCScoreが最大となるベースカラー領域が、ベースカラー部２３を表していると判定する。
【０１１５】
なお、スコア算出部１８は、第１のスコア〜第３のスコアの算出順序を入れ替えてもよい。例えば、スコア算出部１８は、第３のスコアが最大となるベースカラー領域が複数存在する場合に、その複数のベースカラー領域に対して第２のスコアを算出し、第２のスコアが最大となるベースカラー領域にベースカラー部２３が表されていると判定してもよい。
【０１１６】
以上に説明してきたように、この変形例によれば、入力装置は、指示装置の周囲に、ベースカラー部と各サブカラー部の色及び相対的な位置関係と似たパターンが存在する場合でも、各画像上で指示装置が写っている領域を正確に検出できる。
【０１１７】
また、他の変形例によれば、操作表示システムは、二つのカメラの代わりに、一つのカメラと、画素ごとに、その画素に写っている被写体までの距離を画素値として表す距離画像を生成するデプスカメラとを有していてもよい。この場合には、入力装置は、一つのカメラにより生成された画像上で指示装置のベースカラー部及び各サブカラー部が写っている領域と、指示装置の先端の位置を検出する。入力装置は、距離画像上でベースカラー部及び各サブカラー部が写っている領域と最も一致する領域を検出することで、距離画像上での指示装置の先端の位置を特定する。そして入力装置は、その特定された位置における画素の値に基づいて、指示装置の先端の世界座標系での座標を求めてもよい。
【０１１８】
さらに他の変形例によれば、指示装置のマーカ部に含まれるベースカラー部と各サブカラー部は、同一の方向から見える位置に付されていれば、上記の実施形態と異なる配列に従って設けられていてもよい。例えば、指示装置の長手方向に沿って、ベースカラー部よりも先端側に、一つ以上のサブカラー部が設けられていてもよい。あるいは、サブカラー部のうちの少なくとも一つが、指示装置の長手方向と直交する方向に沿ってベースカラー部と並ぶように、ベースカラー部と各サブカラー部は配列されていてもよい。あるいはまた、ベースカラー部と各サブカラー部とは、互いに隣接していなくてもよい。
【０１１９】
上記の実施形態または変形例による入力装置の制御部が有する各機能をコンピュータに実現させるコンピュータプログラムは、コンピュータによって読取り可能な媒体、例えば、磁気記録媒体、光記録媒体、または半導体メモリに記憶された形で提供されてもよい。
【０１２０】
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【符号の説明】
【０１２１】
１００    操作表示システム
１    入力装置
２    投影装置
３    ミラー
４−１、４−２    カメラ
５    通信部
６    記憶部
７、７１    制御部
１０    筐体
２０    指示装置
２１    マーカ部
２２    把持部
２３    ベースカラー部
２４    第１のサブカラー部
２５    第２のサブカラー部
２６    縁部
３０    対象物
１１    候補領域検出部
１２    形状判定部
１３    相対位置判定部
１４    先端検出部
１５    先端位置決定部
１６    接触判定部
１７    入力処理部
１８    スコア算出部
【図１】
0006398755.tif 000019
【図２】
0006398755.tif 000020
【図３】
0006398755.tif 000021
【図４】
0006398755.tif 000022
【図５】
0006398755.tif 000023
【図６】
0006398755.tif 000024
【図７】
0006398755.tif 000025
【図８】
0006398755.tif 000026
【図９】
0006398755.tif 000027
【図１０】
0006398755.tif 000028
【図１１】
0006398755.tif 000029
【図１２】
0006398755.tif 000030
【図１３】
0006398755.tif 000031
【図１４】
0006398755.tif 000032
【図１５】
0006398755.tif 000033
【図１６】
0006398755.tif 000034
【図１７】
0006398755.tif 000035
【図１８】
0006398755.tif 000036
【図１９】
0006398755.tif 000037