説明

投光制御プログラム、投光制御装置および投光制御方法

【課題】簡易なシステム構成で、作業者に事前作業の負担を強いることなく、投光装置から被写体上の所望の位置に高精度で投光させることを可能にする。
【解決手段】補正値演算部11は、被写体20に投光された投光点21〜23の撮像画像における位置と、撮像画像における投光点21の目標投光位置と、投光装置31による投光方向の中心軸に垂直な投光平面における投光点21〜23の位置とに基づいて、撮像画像における投光点21の位置が目標投光位置に近づくように投光平面における投光点21の位置を補正する補正値を演算する。投光位置補正部12は、投光装置31による投光点21の投光方向を制御して、投光平面における投光点21の位置を補正値に基づいて変化させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、投光制御プログラム、投光制御装置および投光制御方法に関する。
【背景技術】
【0002】
近年、ネットワーク技術や画像符号化技術などの発達に伴い、遠隔地において撮像された画像の信号をネットワークを通じて受信することで、その画像をリアルタイムに閲覧することが可能になっている。このような技術は、例えば、電子会議システムなどに利用されている。
【0003】
また、遠隔地にある被写体の画像を会議室などの指令センタで表示するとともに、指令センタからポインティング位置を指定することで、被写体の所望の位置をポインティングデバイスによってポインティングすることを可能にしたシステムも考えられている。このシステムは“遠隔ポインティングシステム”などと呼ばれ、例えば、遠隔地にいる作業者に対して指令センタから作業の指示を与える場合などに利用可能である。
【0004】
遠隔ポインティングシステムでは、被写体が存在する遠隔地に、被写体を撮像するカメラと、被写体に対して所定の画像を投写する投写装置とが設置される。投写装置としては、例えばプロジェクタが使用される。カメラで撮像された画像は、ネットワークを通じて指令センタ側の処理装置に送信され、撮像された画像がモニタに表示される。また、指令センタの指令者が、表示された画像上の任意の位置をマウスなどを用いてポインティングすると、ポインティング位置を示す位置情報が遠隔地側の処理装置に送信される。遠隔地側の処理装置は、プロジェクタを制御して、受信した位置情報に対応する被写体上の位置に所定のポインティング画像を投写させる。
【0005】
このような遠隔ポインティングシステムでは、指令センタ側から被写体上に指定される目標ポインティング位置と、実際に被写体にポインティング画像が投写される位置とをどのように一致させるかが課題となる。この課題を解決する方法としては、例えば、次の図9または図10に示す2つの方法が考えられる。
【0006】
図9は、目標ポインティング位置と実際のポインティング位置とを一致させる第1の方法を説明する図である。
図9に示すように、被写体810を撮像するカメラ820と、被写体810に画像を投写するプロジェクタ830とは、それぞれの位置が同じにはならない。このため、カメラ820で撮像された画像を基に指令センタ側から指定された目標ポインティング位置と、その位置情報を基にプロジェクタ830が被写体にポインティング画像を投写した投写点811の位置との間に、ズレが生じる。
【0007】
これに対して、プロジェクタ830の投写方向を制御する処理装置が、カメラ820とプロジェクタ830との相対座標、カメラ820から目標ポインティング位置までの距離などを取得する方法が考えられる。この場合には、処理装置は、三角法などを用いた演算により、実際の投写点811の位置が指令センタ側から指定された目標ポインティング位置に一致するように、プロジェクタ830の投写方向を調整できるようになる。
【0008】
しかし、この方法では、カメラ820から目標ポインティング位置までの正確な距離を計測する構成が必要になるため、システム構成が複雑になるという問題がある。なお、カメラ820から目標ポインティング位置までの距離を計測する方法としては、例えば、カメラの自動焦点機構から得られる距離情報や、カメラのズーム機能から得られる焦点距離などを利用する方法が考えられる。
【0009】
また、カメラ820から目標ポインティング位置までの距離が得られたとしても、この距離と相対座標とを基にプロジェクタ830の投写方向をあらかじめ調整する“キャリブレーション”と呼ばれる作業が必要となり、作業が面倒であるという問題もある。
【0010】
図10は、目標ポインティング位置と実際のポインティング位置とを一致させる第2の方法を説明する図である。
図10では、カメラ820およびプロジェクタ830と、被写体810との間に、ハーフミラー840を配置したシステムを示している。このシステムでは、カメラ820はハーフミラー840を介して被写体810を撮像する。一方、プロジェクタ830からの投写画像は、ハーフミラー840で反射されて被写体810に投写される。このようなシステムでは、カメラ820から被写体810への光軸と、プロジェクタ830からの投写画像がハーフミラー840に反射された反射光の光軸とを一致させることで、目標ポインティング位置と実際の投写点811の位置とが一致する。
【0011】
しかし、このシステムでは、ハーフミラー840を配置する必要があるとともに、ハーフミラー840とカメラ820およびプロジェクタ830との相対位置を高精度に設定する必要があり、システム構成が複雑になるという問題がある。また、カメラ820がハーフミラー840を介して撮像するため、撮像された画像の画質が低下するという問題もある。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特開平9−46776号公報
【特許文献2】特開2003−37840号公報
【非特許文献】
【0013】
【非特許文献1】伊與田哲男、外5名、“テクニカルレポートNo.16/2006、実物ベース遠隔コラボレーション支援システムLightCollabo”、[online]、富士ゼロックス、[平成21年11月2日検索]、インターネット<http://www.fujixerox.co.jp/company/technical/tr/16/download/pdf/t_1.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0014】
前述のように、遠隔ポインティングシステムでは、指令センタ側から被写体上に指定する目標ポインティング位置と、実際に被写体にポインティング画像が投写される位置とのズレが生じるという問題があった。そして、この位置ズレを解消する技術には、システム構成が複雑になる、面倒なキャリブレーション作業が必要になる、撮像した画像の画質が劣化するなどといった問題があった。
【0015】
本発明はこのような点に鑑みてなされたものであり、簡易なシステム構成で、作業者に事前作業の負担を強いることなく、被写体上の所望の位置に高精度で投光することが可能な投光制御プログラム、装置および方法を提供することを目的とする。
【課題を解決するための手段】
【0016】
上記目的を達成するために、投光制御プログラムが提供される。投光制御プログラムを実行したコンピュータは、投光装置から被写体に投光された第1の投光点および複数の第2の投光点のそれぞれについての、前記被写体を撮像した撮像画像における位置と、前記撮像画像における前記第1の投光点の目標投光位置と、前記投光装置による投光方向の中心軸に垂直な投光平面における前記第1の投光点および前記第2の投光点のそれぞれの位置とに基づいて、前記撮像画像における前記第1の投光点の位置が前記目標投光位置に近づくように前記投光平面における前記第1の投光点の位置を補正する補正値を演算し、前記投光装置による前記第1の投光点の投光方向を制御して、前記投光平面における前記第1の投光点の位置を前記補正値に基づいて変化させる。
【0017】
また、上記目的を達成するために、上記の投光制御プログラムを実行したコンピュータと同様の処理を行う投光制御装置および投光制御方法が提供される。
【発明の効果】
【0018】
上記の投光制御プログラム、投光制御装置および投光制御方法によれば、簡易なシステム構成で、作業者に事前作業の負担を強いることなく、投光装置から被写体上の所望の位置に高精度で投光させることが可能になる。
【図面の簡単な説明】
【0019】
【図1】第1の実施の形態に係る投光制御装置の構成を示す図である。
【図2】補正ベクトルの演算に使用されるベクトルの例を示す図である。
【図3】第2の実施の形態に係る遠隔ポインティングシステムのシステム構成を示す図である。
【図4】制御装置のハードウェア構成例を示す図である。
【図5】各制御装置が備える機能を示すブロック図である。
【図6】ポインティング画像の位置および目標ポインティング位置のそれぞれの座標の例を示す図である。
【図7】補正ベクトルを基にポインティング画像の投写位置を補正する処理手順を示すフローチャートである。
【図8】ポインティング画像の投写位置補正の処理手順の変形例を示すフローチャートである。
【図9】目標ポインティング位置と実際のポインティング位置とを一致させる第1の方法を説明する図である。
【図10】目標ポインティング位置と実際のポインティング位置とを一致させる第2の方法を説明する図である。
【発明を実施するための形態】
【0020】
以下、実施の形態を図面を参照して詳細に説明する。
〔第1の実施の形態〕
図1は、第1の実施の形態に係る投光制御装置の構成を示す図である。
【0021】
投光制御装置10は、被写体20に対して光を投光する投光装置31を制御する機能を備える。また、投光制御装置10には、被写体20を撮像する撮像装置32と、撮像装置32によって撮像された画像を表示する表示装置41と、オペレータからの入力操作を受け付ける入力装置42とが接続されている。
【0022】
投光装置31は、例えば、被写体20に対して画像を投写するプロジェクタである。この場合、被写体20上の投光点には、例えば点状や矢印状などの所定の形状を有する指示画像が表示される。また、投光装置31は、例えば、投光制御装置10からの制御の下で投光方向が可変とされた1つまたは複数のレーザポインタであってもよい。
【0023】
後述するように、本実施の形態では、被写体20に対して3つ以上の投光点が投光されるが、投光装置31が、プロジェクタまたは3つ以上のレーザポインタである場合、これらの3つの投光点を被写体20に対して同時に投光することが可能である。一方、投光装置31が1つのレーザポインタである場合には、例えば、3つ以上の投光点が順次投光されればよい。
【0024】
表示装置41および入力装置42は、例えば、被写体20が配置された場所から離れた場所に配置される。表示装置41および入力装置42と被写体20とが離れている場合、投光制御装置10は、例えば、被写体20に近い場所に配置されてもよいし、表示装置41および入力装置42に近い場所に配置されてもよい。前者の場合、投光装置31または撮像装置32の少なくとも一方は、投光制御装置10と一体化されていてもよく、また、表示装置41および入力装置42は、コンピュータなどを介して投光制御装置10に接続されていてもよい。一方、後者の場合、表示装置41または入力装置42の少なくとも一方は、投光制御装置10と一体化されていてもよい。
【0025】
入力装置42を操作するオペレータは、被写体20や、被写体20に対して投光装置31から投光された投光点を、表示装置41を介して視認する。オペレータは、表示装置41を介して被写体20を視認した状態で、投光装置31から被写体20に投光させる1つの投光点の位置を、入力装置42を操作することで指定できる。このとき、オペレータによって指定された投光点の位置が、例えば指示画像などとして表示装置41に表示される。ここで、オペレータにより指定される、撮像画像上の投光点の位置を、“目標投光位置”と呼ぶ。目標投光位置は、表示装置41に表示された画像を視認したオペレータの操作により決定されるので、撮像装置32による撮像画像の座標系における位置情報を有する。
【0026】
投光制御装置10は、入力装置42から目標投光位置の指定を受けると、投光装置31を制御して、被写体20における目標投光位置に対応する位置に、光を照射させる。しかしながら、投光装置31と撮像装置32は異なる位置に配置されていることから、表示装置41に表示される画像においては、オペレータが指定した目標投光位置と、実際に被写体20に投光された投光点の位置との間にズレが生じる場合がある。
【0027】
投光制御装置10は、このような位置ズレを補正する処理機能として、補正値演算部11および投光位置補正部12を有している。なお、これらの処理機能は、例えば、投光制御装置10が備えるCPU(Central Processing Unit)によって所定のプログラムが実行されることで実現される。また、これらの処理機能の少なくとも一部が、個別のハードウェアによって実現されてもよい。
【0028】
投光位置補正部12は、投光装置31を制御して、被写体20上の3カ所以上の位置に光を照射させ、これらの投光点のうち1つの投光点を、位置ズレの補正対象とする。ここでは、補正対象とした投光点を“主投光点”と呼び、その他の投光点を“副投光点”と呼ぶ。なお、副投光点は、副投光点同士を接続した直線上に主投光点が存在しないような位置に設定される。
【0029】
補正値演算部11は、撮像装置32による撮像画像の信号を基に、これらの3つ以上の投光点を認識し、各投光点の撮像画像における位置を検出する。ここで、補正値演算部11は、被写体20に投光された3つ以上の投光点を、それぞれ区別して認識する。これらの投光点の識別を可能とするために、例えば、各投光点にはそれぞれ異なる色の光が照射される。あるいは、各投光点がそれぞれ異なる周波数で点滅されてもよい。あるいは、各投光点において、それぞれ異なる形状の光が照射されてもよい。また、各投光点に光が同時に投光されず、1つずつ順次光が投光される場合には、補正値演算部11は、例えば、光が投光されたタイミングを基に各投光点を識別できる。
【0030】
また、補正値演算部11は、各投光点の投光平面における位置を、例えば投光位置補正部12から取得する。ここで、投光平面は、投光装置31による投光方向の中心軸に垂直な、仮想的な平面であり、例えば、投光装置31による投光方向を制御する際の基準座標として利用されるものである。投光装置31がプロジェクタである場合、投光平面は、プロジェクタから出力される投写画像に相当する。
【0031】
補正値演算部11は、撮像画像における各投光点と主投光点の目標投光位置との相対的な位置関係を基に、投光平面における各投光点と、投光平面での目標投光位置に対応する投光位置との相対的な位置関係を推定する。具体的には、補正値演算部11は、3つ以上の投光点の撮像画像上の位置と、指定された目標投光位置と、3つ以上の投光点の投光平面上の位置とを基に、投光平面における主投光点の位置を補正する補正値を演算する。この補正値は、主投光点の撮像画像における位置が目標投光位置に近づくように、主投光点の投光平面における位置、すなわち、主投光点の投光装置31からの投光方向を、補正するものである。
【0032】
投光位置補正部12は、演算された補正値に基づいて投光装置31を制御し、補正対象の投光点の位置を補正する。これにより、オペレータが表示装置41において視認する撮像画像において、主投光点が目標投光位置に近づけられる。
【0033】
このような投光制御装置10によれば、被写体20に実際に投光された投光点の撮像画像における位置と目標投光位置とのズレ量を、簡易な構成で低減することができる。例えば、撮像装置32から被写体20までの距離を計測するための構成が必要とならない。また、投光装置31の投光方向の中心軸と撮像装置32の光軸とを一致させるための構成も必要とならない。また、撮像装置32と被写体20との間に光軸合わせのためのハーフミラーが必要とならないので、撮像画像の画質を良好に保つことができる。さらに、位置ズレを事前に補正するキャリブレーション作業も必要とならないため、オペレータなどの作業効率が向上する。
【0034】
ところで、補正値演算部11で算出される補正値は、例えば、投光平面における主投光点の補正方向を示す補正ベクトルとして出力されてもよい。この場合、補正値演算部11は、例えば、次の3種類のベクトルを基に補正ベクトルを演算する。第1のベクトルは、撮像画像における主投光点の位置と複数の副投光点の位置との接続線にそれぞれ沿った複数のベクトルである。第2のベクトルは、撮像画像における主投光点の位置と目標投光位置との接続線に沿ったベクトルである。第3のベクトルは、投光平面における主投光点の位置と上記の複数の副投光点の位置との接続線にそれぞれ沿った複数のベクトルである。
【0035】
このような補正ベクトルを算出することで、少なくとも、主投光点の位置を補正する方向を決定することができる。また、例えば、補正ベクトルの大きさを調整することで、主投光点の位置を本来投光すべき位置に移動させる際の1回の移動量を調整することができる。この場合、例えば、被写体20の投光面の形状に応じて、主投光点の位置の移動量を調整することができる。
【0036】
以下、補正ベクトルの具体的な演算手順の例について説明する。ここでは例として、図1に示したように、被写体20に3つの投光点21〜23を投光し、このうち投光点21を主投光点、投光点22,23を副投光点とした場合を想定する。
【0037】
図2は、補正ベクトルの演算に使用されるベクトルの例を示す図である。図2(A)は、撮像画像の座標系を示し、図2(B)は、投光平面の座標系を示す。
図2(A)において、投光点21a〜23aは、それぞれ、撮像画像上に映し出された投光点21〜23である。また、目標投光位置24aは、オペレータにより入力装置42を通じて指定されたポインティング位置である。
【0038】
一方、図2(B)において、投光点21b〜23bは、それぞれ、投光平面の座標における投光点21〜23の位置を示す。また、目標投光位置24bは、投光点21bの位置補正後の目標位置である。この目標投光位置24bは、撮像画像において、補正後の投光点21の位置が目標投光位置24aと一致するような、投光平面上の位置を示している。そして、ここでは、投光点21bから目標投光位置24bへのベクトルを補正ベクトルc’とする。
【0039】
図2(A)に示すように、撮像画像の座標において、投光点21aから投光点22aへのベクトルをa、投光点21aから投光点23aへのベクトルをb、投光点21aから目標投光位置24aへのベクトルをcとする。このとき、ベクトルcは、ベクトルa,bを用いて次の式(1)のように表される。
c=s(a/|a|)+t(b/|b|) ・・・(1)
式(1)において、s,tはともにスカラ量であり、それぞれ次の式(2),式(3)によって表される。
s=(a/|a|)・c ・・・(2)
t=(b/|b|)・c ・・・(3)
一方、図2(B)に示すように、投光平面の座標において、投光点21bから投光点22bへのベクトルをa’、投光点21bから投光点23bへのベクトルをb’とする。このとき、投光点21aから目標投光位置24bへの補正ベクトルをc’は、上記のs,tおよびベクトルb’,c’を用いて、次の式(4)によって求められる。
c’=s(a’/|a’|)+t(b’/|b’|) ・・・(4)
投光位置補正部12は、投光点21の位置が、投光平面上で補正ベクトルc’の方向および大きさの分だけ移動するように、投光装置31による投光点21の投光方向を制御する。これにより、撮像画像において、投光点21aが目標投光位置24aの位置まで移動される。特に、被写体20の投光面が1つの平面である場合には、補正ベクトルc’の方向および大きさを投光方向の制御にそのまま用いることで、主投光点の位置を高精度に補正できる。また、被写体20の投光面が1つの平面のみで構成されない場合には、例えば、補正ベクトルc’に所定の定数を乗じて大きさを調整したベクトルを基に、主投光点の位置を補正してもよい。
【0040】
なお、上記の式(1)や式(4)では、ベクトルa,b,a’,b’の方向をそれぞれ逆方向としてもよい。
また、上記の例では副投光点を2つとしたが、3つ以上の副投光点を利用して演算を行ってもよい。例えば、副投光点を3点とした場合、撮像画像における主投光点と3つの副投光点のそれぞれとの間のベクトルを用いて、撮像画像における主投光点と目標投光位置とのベクトルを表す。具体的には、例えば、撮像画像における主投光点と3つの副投光点のそれぞれとの間をa,b,dとすると、撮像画像における主投光点と目標投光点とのベクトルcは、s(a/|a|)+t(b/|b|)+u(d/|d|)と表すことができる。補正値演算部11は、投光平面における主投光点から目標投光点への補正ベクトルを、投光平面における主投光点と3つの副投光点との間のベクトルと、上記の係数s,t,uとを基に演算する。
【0041】
〔第2の実施の形態〕
次に、投光装置として、画像を投写するプロジェクタを用いた場合の実施の形態について説明する。
【0042】
図3は、第2の実施の形態に係る遠隔ポインティングシステムのシステム構成を示す図である。
本実施の形態では、撮像およびポインティングの対象となる被写体100が配置された場所を“遠隔作業地200”と称し、被写体100に対するポインティング位置を操作する指令者が存在する場所を“指令センタ300”と称する。
【0043】
遠隔作業地200には、制御装置201と、被写体100に画像を投写するプロジェクタ部202と、被写体100を撮像するカメラ部203とが配置されている。プロジェクタ部202およびカメラ部203は、ともに制御装置201に接続されている。制御装置201は、カメラ部203からの撮像画像信号と、指令センタ300に配置された制御装置301からの信号とを基に、プロジェクタ部202による画像の投写動作を制御する。なお、例えば、プロジェクタ部202またはカメラ部203の少なくとも一方は、制御装置201と一体に設けられてもよい。
【0044】
指令センタ300には、制御装置301が配置され、この制御装置301には、モニタ302とマウス303とが接続されている。なお、モニタ302は、例えば、制御装置301と一体に設けられていてもよい。また、制御装置301には、マウス303以外のポインティングデバイスが接続されていてもよい。
【0045】
制御装置201と制御装置301とは、ネットワーク400を介して互いに接続されている。制御装置201は、カメラ部203からの撮像画像信号を、ネットワーク400を介して制御装置301に送信する。制御装置301は、受信した撮像画像信号に基づく画像をモニタ302に表示させる。指令センタ300に存在する指令者は、被写体100をモニタ302を介して視認する。
【0046】
また、指令者は、モニタ302に表示された被写体100を視認しながら、マウス303を用いて、表示された被写体100の任意の位置に対するポインティング動作を要求する入力操作を行う。制御装置301は、指令者の入力操作によって指定されたポインティング位置を示す位置情報を、ネットワーク400を介して制御装置201に送信する。制御装置201は、受信した位置情報に基づいて、プロジェクタ部202に投写させるポインティング画像の位置を制御する。
【0047】
制御装置201は、モニタ302に表示された画像において、実際にプロジェクタ部202から投写されたポインティング画像の位置が、指令者が意図するポインティング位置と一致するように、プロジェクタ部202による画像の投写動作を制御する。この制御の際に、制御装置201は、被写体100の3カ所以上の位置にポインティング画像を投写するように、プロジェクタ部202を制御する。
【0048】
本実施の形態では、制御装置201は、被写体100の3カ所にポインティング画像101〜103を投写するようにプロジェクタ部202を制御する。そして、ポインティング画像101の投写位置を、指令者が意図するポインティング位置に近づけるように補正する。なお、ポインティング画像101〜103のそれぞれは、異なる色で表示されるものとする。
【0049】
図4は、制御装置のハードウェア構成例を示す図である。
制御装置201は、例えば、図4に示すようなコンピュータとして実現される。このコンピュータは、CPU211、RAM(Random Access Memory)212、HDD(Hard Disk Drive)213、グラフィック処理部214、入力インタフェース(I/F)215、書き込み/読み取り部216、ネットワークインタフェース(I/F)217および外部機器インタフェース(I/F)218を備えており、これらの各部はバス219によって相互に接続されている。
【0050】
CPU211は、HDD213などの記憶媒体に記憶された各種プログラムを実行することにより、このコンピュータ全体を統括的に制御する。RAM212は、CPU211に実行させるプログラムの少なくとも一部や、このプログラムによる処理に必要な各種データを一時的に記憶する。HDD213は、CPU211により実行されるプログラムやその実行に必要な各種のデータなどを記憶する。
【0051】
グラフィック処理部214には、例えば、モニタ214aが接続されている。このグラフィック処理部214は、CPU211からの命令に従って、モニタ214aの画面上に画像を表示させる。入力インタフェース215には、例えば、キーボード215aやマウス215bが接続されている。入力インタフェース215は、キーボード215aやマウス215bからの信号を、バス219を介してCPU211に送信する。
【0052】
書き込み/読み取り部216は、CPU211からバス219を介して受け取ったデータを、可搬型記憶媒体216aに書き込む。また、可搬型記憶媒体216aからデータを読み取り、バス219を介してCPU211に送信する。なお、可搬型記憶媒体216aとしては、例えば、光ディスク、フレキシブルディスク、USB(Universal Serial Bus)インタフェースなどを介して接続される半導体メモリなどを適用可能である。
【0053】
ネットワークインタフェース217は、ネットワーク400を介して、制御装置301などの外部装置との間でデータの送受信を行う。外部機器インタフェース218は、プロジェクタ部202やカメラ部203などの外部機器との間でデータの送受信を行う。
【0054】
なお、制御装置301についても、図4に示した制御装置201と同様のハードウェア構成によって実現可能である。この場合、図3に示したモニタ302、マウス303は、図4に示したモニタ214a、マウス215bにそれぞれ対応する。
【0055】
図5は、各制御装置が備える機能を示すブロック図である。
指令センタ300に配置された制御装置301は、表示処理部321および目標ポインティング位置演算部322を備えている。なお、これらの各機能は、例えば、制御装置301が備えるCPUが、所定のプログラムを実行することで実現される。また、これらの機能のうちの少なくとも一部が、専用のハードウェア回路によって実現されてもよい。
【0056】
表示処理部321は、制御装置201から撮像画像信号を受信し、受信した撮像画像信号を基に表示画像信号を生成して、モニタ302に出力する。また、例えば、制御装置201からの撮像画像信号が圧縮符号化されていた場合、表示処理部321は、受信した撮像画像信号を伸張復号化する。
【0057】
目標ポインティング位置演算部322は、マウス303からの入力情報を基に、指令者から指定された、撮像画像の座標における目標ポインティング位置を演算し、制御装置201に送信する。
【0058】
一方、遠隔作業地200に配置された制御装置201は、画像送信処理部221、投写位置認識部222、補正ベクトル演算部223、投写位置演算部224および投写制御部225を備えている。なお、これらの各機能は、例えば、制御装置201が備えるCPU211が、所定のプログラムを実行することで実現される。また、これらの機能のうちの少なくとも一部が、専用のハードウェア回路によって実現されてもよい。さらに、これらの機能のうちの少なくとも一部が、プロジェクタ部202またはカメラ部203に設けられてもよい。
【0059】
画像送信処理部221は、カメラ部203からの撮像画像信号を所定のデータ形式に変換して、制御装置301に送信する。例えば、画像送信処理部221は、撮像画像信号に対する圧縮符号化処理などを行う。
【0060】
投写位置認識部222は、撮像画像信号を基に画像処理を行い、被写体100に投写されたポインティング画像101〜103の、撮像画像の座標における位置を検出する。このとき、投写位置認識部222は、ポインティング画像101〜103のそれぞれを、色の違いを基に識別する。
【0061】
補正ベクトル演算部223は、ポインティング画像101の投写位置を、指令者が意図するポインティング位置に近づくように補正するための補正ベクトルを演算する。補正ベクトル演算部223は、例えば、制御装置301の目標ポインティング位置演算部322からの目標ポインティング位置が更新されると、補正ベクトルの演算を実行する。このとき、補正ベクトル演算部223は、目標ポインティング位置と、投写位置認識部222から取得した位置と、投写位置演算部224から出力される、投写画像におけるポインティング画像101〜103の位置とを基に、補正ベクトルを演算する。
【0062】
投写位置演算部224は、補正ベクトル演算部223により演算された補正ベクトルを基に、補正後のポインティング画像101の投写画像における位置を演算し、その位置を投写制御部225および補正ベクトル演算部223に出力する。また、投写位置演算部224は、補正ベクトルを基に、補正後のポインティング画像102,103の投写画像における位置も演算し、その位置を投写制御部225および補正ベクトル演算部223に出力する。
【0063】
投写制御部225は、投写位置演算部224により演算された位置にポインティング画像101〜103をそれぞれ表示した投写画像の信号を生成し、プロジェクタ部202に出力して投写画像を投写させる。
【0064】
図6は、ポインティング画像の位置および目標ポインティング位置のそれぞれの座標の例を示す図である。図6(A)は、撮像画像の座標系を示し、この座標系はモニタ302に表示される画像の座標系と同じである。一方、図6(B)は、投写画像の座標系を示す。
【0065】
図6(A)において、p1は、ポインティング画像101の撮像画像における位置を示し、その座標は(x1,y1)である。p2は、ポインティング画像102の撮像画像における位置を示し、その座標は(x2,y2)である。p3は、ポインティング画像103の撮像画像における位置を示し、その座標は(x3,y3)である。ptは、制御装置301から制御装置201に送信される目標ポインティング位置を示し、その座標は(xt,yt)である。
【0066】
一方、図6(B)において、p1’は、ポインティング画像101の投写画像における位置を示し、その座標は(x1’,y1’)である。p2’は、ポインティング画像102の投写画像における位置を示し、その座標は(x2’,y2’)である。p3’は、ポインティング画像103の投写画像における位置を示し、その座標は(x3’,y3’)である。pt’は、撮像画像において、補正後のp1’が目標ポインティング位置ptと一致するような、投写画像における位置を示す。
【0067】
ここで、p1からp2,p3,ptにそれぞれ向かうベクトルをa,b,cとし、p1’からp2’,p3’にそれぞれ向かうベクトルをa’,b’とする。この場合、補正ベクトル演算部223は、p1’からpt’に向かう補正ベクトルc’を、上記の式(4)に従って演算する。
【0068】
ただし、本実施の形態では、補正ベクトル演算部223は、補正ベクトルc’にゲイン定数λを乗じたベクトルを、最終的な補正ベクトルとして出力する。ゲイン定数λは、0より大きく1以下の数とされる。これにより、被写体100の投写面が、例えば曲面など、1つの平面のみで構成される面ではない場合に、ポインティング画像101の補正後の位置が、目的とする位置の近傍を通り過ぎて大きく逸れてしまう可能性を低減できる。
【0069】
図7は、補正ベクトルを基にポインティング画像の投写位置を補正する処理手順を示すフローチャートである。
[ステップS11]補正ベクトル演算部223は、制御装置301から出力される目標ポインティング位置ptの値を監視し、その値が更新されたか否かを判定する。目標ポインティング位置ptが更新された場合には、ステップS12の処理が実行される。
【0070】
[ステップS12]補正ベクトル演算部223は、ゲイン定数λに初期値を設定する。この初期値としては、例えば、1が設定される。あるいは、0.5以上1未満といった1に近い値が設定されてもよい。
【0071】
なお、ゲイン定数λの初期値は、例えば、指令者の入力操作に応じて制御装置301から設定可能であってもよい。この場合、ゲイン定数λの初期値を1より大きくしてもよい。例えば、指令者が被写体の形状を認識していて、ポインティング画像101の位置補正量を大きくした方がよいと判断した場合に、指令者の入力操作によりゲイン定数λが1より大きい値に設定される。
【0072】
[ステップS13]補正ベクトル演算部223は、投写位置演算部224に対して、3つのポインティング画像101〜103を投写するように要求する。
この処理では、例えば、補正ベクトル演算部223は、制御装置301から指定された目標ポインティング位置ptの座標を、投写位置演算部224に通知する。投写位置演算部224は、通知された目標ポインティング位置ptの座標を、ポインティング画像101に対応する位置p1’の座標として設定する。これとともに、位置p1’の座標に所定の値を加算することで、ポインティング画像102,103のそれぞれの位置p2’,p3’の座標として設定する。ここで、ポインティング画像102,103のそれぞれの位置p2’,p3’は、それぞれを接続した直線上にポインティング画像101の位置p1’が存在しないように設定される。
【0073】
なお、ポインティング画像101,102,103の位置p1’、p2’、p3’は、例えば、目標ポインティング位置ptの座標に関係なく、あらかじめ決められた位置とされてもよい。また、さらに別の方法として、目標ポインティング位置ptの撮像画像上の領域と、ポインティング画像101,102,103の位置p1’、p2’、p3’の初期設定座標とが、テーブルにあらかじめ対応づけられ、そのテーブルがHDD213などに記憶されていてもよい。この場合、入力された目標ポインティング位置ptの座標に応じて、ポインティング画像101,102,103の位置p1’、p2’、p3’の座標が決定される。
【0074】
投写位置演算部224は、上記の手順で設定したポインティング画像101,102,103の位置p1’、p2’、p3’の各座標を、投写制御部225および補正ベクトル演算部223に通知する。そして、投写制御部225に対して、ポインティング画像101〜103を投写するように要求する。これにより、被写体100に対してポインティング画像101〜103が投写される。
【0075】
なお、上記のステップS11〜S13が実行された段階ですでにポインティング画像101〜103が投写されている場合には、ステップS13では、ポインティング画像101〜103の位置があらためて設定されなくてもよい。ただし、例えば、現在投写されているポインティング画像101の撮像画像における位置p1と、新たに入力された目標ポインティング位置ptとが、所定の距離以上離れている場合には、ポインティング画像101〜103の位置があらためて設定されてもよい。この場合、p1−pt間の距離は補正ベクトル演算部223によって判定されればよい。
【0076】
[ステップS14]投写位置認識部222は、撮像画像信号を基に、ポインティング画像101,102,103の撮像画像における位置p1,p2,p3の座標を検出する。補正ベクトル演算部223は、ポインティング画像101,102,103の位置p1,p2,p3の座標を、投写位置認識部222から取得する。
【0077】
[ステップS15]補正ベクトル演算部223は、目標ポインティング位置ptの座標と、ステップS14で取得した位置p1の座標とを基に、ベクトルcを次の式(5)に従って演算する。
c=pt−p1=(xt−x1,yt−y1) ・・・(5)
[ステップS16]補正ベクトル演算部223は、ベクトルcの大きさが所定のしきい値thより小さいか否かを判定する。ベクトルcの大きさがしきい値th以上である場合には、ステップS17の処理が実行される。一方、ベクトルcの大きさがしきい値thより小さい場合には、ポインティング画像101の位置が目標とする位置とほぼ一致すると判断され、処理が終了される。
【0078】
なお、ステップS15の次にステップS16が実行された場合には、ステップS16で適用されるベクトルcの値は、ステップS15で演算された値となる。一方、ステップS22の次にステップS16が実行された場合には、ステップS16で適用されるベクトルcの値は、ステップS21で演算された値となる。
【0079】
[ステップS17]補正ベクトル演算部223は、演算されたベクトルcを一時記憶値c_tmpに設定する。また、位置p1,p2,p3,p1’,p2’,p3’の各座標を、RAM212などに一時的に記憶する。
【0080】
なお、ステップS15の次にステップS16が実行された場合には、ステップS17で適用される位置p1,p2,p3の座標は、ステップS14で検出された値となる。また、ステップS17で適用される位置p1’,p2’,p3’の座標は、ステップS13で設定された値となる。
【0081】
一方、ステップS22の次にステップS16が実行された場合には、ステップS17で適用される位置p1,p2,p3の座標は、ステップS20で検出された値となる。また、ステップS17で適用される位置p1’,p2’,p3’の座標は、ステップS19またはステップS25で設定された値となる。
【0082】
[ステップS18]補正ベクトル演算部223は、位置p1,p2,p3,p1’,p2’,p3’の各座標を基に、次の式(6)に従ってλ・c’を演算し、投写位置演算部224に通知する。
λ・c’=λ・{s(a’/|a’|)+t(b’/|b’|)} ・・・(6)
ただし、係数sはc・(a/|a|)、係数tはc・(b/|b|)と計算され、ベクトルa,b,a’,b’は、それぞれ次の式(7),式(8),式(9),式(10)に従って演算される。
a=p2−p1=(x2−x1,y2−y1) ・・・(7)
b=p3−p1=(x3−x1,y3−y1) ・・・(8)
a’=p2’−p1’=(x2’−x1’,y2’−y1’) ・・・(9)
b’=p3’−p1’=(x3’−x1’,y3’−y1’) ・・・(10)
[ステップS19]投写位置演算部224は、現在設定されている位置p1’、p2’、p3’の座標のx成分,y成分に、補正ベクトル演算部223から通知されたλ・c’のx成分、y成分をそれぞれ加算する。そして、加算後の位置p1’,p2’,p3’の座標を投写制御部225および補正ベクトル演算部223に通知する。
【0083】
投写制御部225は、投写位置演算部224から通知された新たな位置p1’,p2’,p3’の座標に基づいて、プロジェクタ部202によるポインティング画像101,102,103のそれぞれの投写位置を更新する。これにより、被写体100におけるポインティング画像101〜103の位置が変更される。
【0084】
[ステップS20]投写位置認識部222は、撮像画像信号を基に、ポインティング画像101,102,103の撮像画像における位置p1,p2,p3の座標を検出する。補正ベクトル演算部223は、ポインティング画像101,102,103の位置p1,p2,p3の座標を、投写位置認識部222から取得する。
【0085】
[ステップS21]補正ベクトル演算部223は、目標ポインティング位置ptの座標と、ステップS20で取得した位置p1の座標とを基に、ベクトルcを前述した式(5)に従って演算する。
【0086】
[ステップS22]補正ベクトル演算部223は、ステップS21で演算したベクトルcの大きさと、ステップS17で設定された、ベクトルcの一時記憶値c_tmpの大きさとを比較する。
【0087】
ベクトルcの大きさが一時記憶値c_tmpの大きさより小さい場合には、ポインティング画像101の位置が目標とする位置に近づいたと考えられ、ステップS16の処理が実行される。この場合、ステップS16において、補正後のポインティング画像101の位置が目標とする位置とほぼ一致すると判定された場合には、処理が終了される。一方、ステップS16において、ポインティング画像101のさらなる位置補正が必要と判定された場合には、ステップS18において、あらためて位置補正の方向および大きさが決定される。
【0088】
また、ステップS22において、ベクトルcの大きさが一時記憶値c_tmpの大きさ以上の場合には、ポインティング画像101の位置が、元の位置から、目標とする位置の近傍を大きく通り越した位置に移ったと推定される。この場合、ステップS23の処理が実行される。
【0089】
[ステップS23]補正ベクトル演算部223は、ゲイン定数λに0.5を乗算する。なお、このステップS23での乗算値は、0より大きく1より小さい任意の値とされてもよい。
【0090】
[ステップS24]補正ベクトル演算部223は、ステップS17で一時記憶された位置p1,p2,p3,p1’,p2’,p3’の各座標を上記の式(5)〜式(10)に適用することにより、λ・c’を演算し、投写位置演算部224に通知する。ただし、補正ベクトルc’の値はステップS18で算出されたものと同じであるので、ステップS24では、ステップS18で算出された補正ベクトルc’に、ステップS23で更新されたゲイン定数λが乗算されればよい。
【0091】
[ステップS25]投写位置演算部224は、ステップS17で一時記憶された位置p1’、p2’、p3’の座標のx成分,y成分に、ステップS24で補正ベクトル演算部223から通知されたλ・c’のx成分,y成分をそれぞれ加算する。そして、加算後の位置p1’,p2’,p3’の座標を投写制御部225および補正ベクトル演算部223に通知する。
【0092】
投写制御部225は、投写位置演算部224から通知された新たな位置p1’,p2’,p3’の座標に基づいて、プロジェクタ部202によるポインティング画像101,102,103のそれぞれの投写位置を更新する。この後、ステップS20の処理が実行される。
【0093】
上記のステップS23〜S25の処理では、ステップS19において位置補正される前のポインティング画像101〜103の投写画像における位置が、ステップS18で算出されたλ・c’と方向が同じで大きさが縮小されたベクトルの分だけ補正される。すなわち、ポインティング画像101は、補正前の位置から、同じ方向に対してより小さい補正量分だけ移動される。また、ステップS23〜S25の処理が繰り返される度に、補正量がさらに小さくされる。
【0094】
このような補正処理によれば、ポインティング画像101の補正後の位置が、目標とする位置の近傍を通り過ぎて大きく逸れてしまった場合に、補正後のポインティング画像101の位置を目標とする位置に近づくように戻すことができる。従って、例えば、被写体100の投写面が、曲面など、1つの平面のみで構成される面ではない場合でも、ポインティング画像101の位置を目標とする位置に効率よく近づけることができる。
【0095】
以上説明した第2の実施の形態では、被写体100に実際に投写されたポインティング画像101の撮像画像における位置と、指令者から指定された目標ポインティング位置とのズレを、簡易な構成で低減することができる。特に、補正ベクトルc’にゲイン定数λを乗じた値を用いて位置補正を行うとともに、ステップS22〜S25の処理を加えたことで、被写体100の投写面の形状に関係なく、より高精度にポインティング位置のズレを補正できるようになる。そして、このような位置ズレの補正を、指令者や遠隔作業地200における作業者などによる事前作業を行うことなく、実行することが可能になる。
【0096】
ところで、上記の図7の処理では、ポインティング画像101の位置を補正したとき、ポインティング画像102,103の位置についても、ポインティング画像101と同じ方向および大きさの分だけ補正していた。しかし、この場合には、位置補正後のポインティング画像102,103の少なくとも一方が、撮像画像内に写り込む領域の外に移動してしまう場合がある。そこで、例えば、図7の処理を、次の図8のように変形してもよい。
【0097】
図8は、ポインティング画像の投写位置補正の処理手順の変形例を示すフローチャートである。
まず、図7に示したステップS22において、ベクトルcの大きさが一時記憶値c_tmpの大きさより小さい場合に、次のステップS31が実行される。
【0098】
[ステップS31]補正ベクトル演算部223は、ステップS16の処理と同様に、ベクトルcの大きさが所定のしきい値thより小さいか否かを判定する。ベクトルcの大きさがしきい値th以上である場合には、ステップS32の処理が実行され、ベクトルcの大きさがしきい値thより小さい場合には、処理が終了される。
【0099】
[ステップS32]補正ベクトル演算部223は、ステップS20の処理で、ポインティング画像102,103の位置p2,p3の両方を検出できたか否かを判定する。位置p2,p3を両方とも検出できた場合には、ステップS17の処理が実行される。一方、位置p2,p3の少なくとも一方が検出できなかった場合には、ステップS33の処理が実行される。
【0100】
[ステップS33]補正ベクトル演算部223は、ポインティング画像102,103の投写画像における位置p2’,p3’を再度演算し、投写制御部225および補正ベクトル演算部223に通知する。
【0101】
この処理では、補正ベクトル演算部223は、例えば、ポインティング画像102,103の位置p2’,p3’を、ポインティング画像101の位置p1’を中心として所定の角度だけ回転させる。回転角度は、例えば、90度とされる。
【0102】
位置p2’,p3’の位置回転処理は、例えば次の手順で実行される。まず、補正ベクトル演算部223は、直前に演算されたλ・c’の方向を90度回転させた新たな補正ベクトルを演算する。次に、補正ベクトル演算部223は、ステップS17で一時記憶された位置p2’,p3’の座標のx成分,y成分に、新たな補正ベクトルのx成分,y成分をそれぞれ加算する。加算後の位置p2’,p3’の座標は、投写制御部225および補正ベクトル演算部223に通知される。
【0103】
投写制御部225は、投写位置演算部224から通知された新たな位置p2’,p3’の座標に基づいて、プロジェクタ部202によるポインティング画像102,103のそれぞれの投写位置を更新する。この後、ステップS34の処理が実行される。
【0104】
[ステップS34]投写位置認識部222は、撮像画像信号に基づいて、被写体100に投写されたポインティング画像102,103の位置p2,p3を検出する。補正ベクトル演算部223は、検出された位置p2,p3を取得する。この後、ステップS32の処理が再度実行され、位置p2,p3の両方が検出できたか否かが判定される。
【0105】
以上の図8の処理によれば、ポインティング画像101の位置を補正したとき、ポインティング画像102,103の投写位置を、撮像画像に写り込む領域内に確実に移動させることができる。従って、ポインティング画像101の位置補正処理を続行することができる。
【0106】
なお、上記の各実施の形態で示した装置(例えば、投光制御装置10、制御装置201,301)が有する機能は、コンピュータによって実現することができる。その場合には、上記機能の処理内容を記述したプログラムが提供される。そして、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。
【0107】
プログラムを流通させる場合には、例えば、そのプログラムが記録された光ディスクなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、そのプログラムを、サーバコンピュータからネットワークを介して他のコンピュータに転送することもできる。
【0108】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、そのプログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0109】
以上の各実施の形態に関し、さらに以下の付記を開示する。
(付記1) コンピュータに、
投光装置から被写体に投光された第1の投光点および複数の第2の投光点のそれぞれについての、前記被写体を撮像した撮像画像における位置と、前記撮像画像における前記第1の投光点の目標投光位置と、前記投光装置による投光方向の中心軸に垂直な投光平面における前記第1の投光点および前記第2の投光点のそれぞれの位置とに基づいて、前記撮像画像における前記第1の投光点の位置が前記目標投光位置に近づくように前記投光平面における前記第1の投光点の位置を補正する補正値を演算し、
前記投光装置による前記第1の投光点の投光方向を制御して、前記投光平面における前記第1の投光点の位置を前記補正値に基づいて変化させる、
処理を実行させることを特徴とする投光制御プログラム。
【0110】
(付記2) 前記補正値は、前記投光平面における前記第1の投光点の補正方向を示す補正ベクトルとして出力され、
前記補正ベクトルは、前記撮像画像における前記第1の投光点の位置と前記第2の投光点のそれぞれの位置との接続線に沿った複数のベクトルと、前記撮像画像における前記第1の投光点の位置と前記目標投光位置との接続線に沿ったベクトルと、前記投光平面における前記第1の投光点の位置と前記第2の投光点のそれぞれの位置との接続線に沿った複数のベクトルとを基に演算される、
ことを特徴とする付記1記載の投光制御プログラム。
【0111】
(付記3) 前記撮像画像における前記第1の投光点の位置と前記第2の投光点のうち一の投光点の位置との接続線に沿った単位ベクトルをAとし、前記撮像画像における前記第1の投光点の位置と前記第2の投光点のうち前記一の投光点以外の他の投光点の位置との接続線に沿った単位ベクトルをBとし、前記撮像画像における前記第1の投光点の位置と前記目標投光位置とを接続して生成されるベクトルをcとし、前記投光平面における前記第1の投光点の位置と前記投光平面における前記一の投光点の位置との接続線に沿った単位ベクトルをA’とし、前記投光平面における前記第1の投光点の位置と前記他の投光点の位置との接続線に沿った単位ベクトルをB’とし、前記補正ベクトルをc’とすると、前記補正ベクトルc’は式(1)によって演算されることを特徴とする付記2記載の投光制御プログラム。
c’=(c・A)・A’+(c・B)・B’ ・・・(1)
(付記4) 前記投光装置を制御して、前記投光平面における前記第1の投光点の位置を、演算された前記補正ベクトルに従って変化させた後、位置変化後の前記第1の投光点の前記撮像画像における位置と前記目標投光位置との距離が、位置変化前の前記第1の投光点の前記撮像画像における位置と前記目標投光位置との距離より大きい場合には、前記投光装置を制御して、前記投光平面における前記第1の投光点の位置を、位置変化前の前記第1の投光点の位置を前記補正ベクトルの大きさを減少させたベクトルに従って移動した位置に変化させることを特徴とする付記2または3記載の投光制御プログラム。
【0112】
(付記5) 前記補正値は、前記補正ベクトルに所定の定数を乗算したベクトルとして出力されることを特徴とする付記2または3記載の投光制御プログラム。
(付記6) 前記定数は、0より大きく1以下の値に設定されることを特徴とする付記4記載の投光制御プログラム。
【0113】
(付記7) 前記投光装置を制御して、前記投光平面における前記第1の投光点の位置を前記補正値に基づいて変化させるとともに、前記投光平面における前記第2の投光点の位置を前記補正値に基づいて変化させ、
位置変化後の前記第2の投光点が、前記被写体を撮像した前記撮像画像に映っていない場合には、前記投光装置を制御して、前記投光平面における前記第2の投光点の位置を、前記第1の投光点の位置を中心として回転させることを特徴とする付記1記載の投光制御プログラム。
【0114】
(付記8) 投光装置から被写体に投光された第1の投光点および複数の第2の投光点のそれぞれについての、前記被写体を撮像した撮像画像における位置と、前記撮像画像における前記第1の投光点の目標投光位置と、前記投光装置による投光方向の中心軸に垂直な投光平面における前記第1の投光点および前記第2の投光点のそれぞれの位置とに基づいて、前記撮像画像における前記第1の投光点の位置が前記目標投光位置に近づくように前記投光平面における前記第1の投光点の位置を補正する補正値を演算する補正値演算部と、
前記投光装置による前記第1の投光点の投光方向を制御して、前記投光平面における前記第1の投光点の位置を前記補正値に基づいて変化させる投光位置補正部と、
を有することを特徴とする投光制御装置。
【0115】
(付記9) 投光制御装置が、
投光装置から被写体に投光された第1の投光点および複数の第2の投光点のそれぞれについての、前記被写体を撮像した撮像画像における位置と、前記撮像画像における前記第1の投光点の目標投光位置と、前記投光装置による投光方向の中心軸に垂直な投光平面における前記第1の投光点および前記第2の投光点のそれぞれの位置とに基づいて、前記撮像画像における前記第1の投光点の位置が前記目標投光位置に近づくように前記投光平面における前記第1の投光点の位置を補正する補正値を演算し、
前記投光装置による前記第1の投光点の投光方向を制御して、前記投光平面における前記第1の投光点の位置を前記補正値に基づいて変化させる、
ことを特徴とする投光制御方法。
【符号の説明】
【0116】
10 投光制御装置
11 補正値演算部
12 投光位置補正部
20 被写体
21〜23 投光点
31 投光装置
32 撮像装置
41 表示装置
42 入力装置

【特許請求の範囲】
【請求項1】
コンピュータに、
投光装置から被写体に投光された第1の投光点および複数の第2の投光点のそれぞれについての、前記被写体を撮像した撮像画像における位置と、前記撮像画像における前記第1の投光点の目標投光位置と、前記投光装置による投光方向の中心軸に垂直な投光平面における前記第1の投光点および前記第2の投光点のそれぞれの位置とに基づいて、前記撮像画像における前記第1の投光点の位置が前記目標投光位置に近づくように前記投光平面における前記第1の投光点の位置を補正する補正値を演算し、
前記投光装置による前記第1の投光点の投光方向を制御して、前記投光平面における前記第1の投光点の位置を前記補正値に基づいて変化させる、
処理を実行させることを特徴とする投光制御プログラム。
【請求項2】
前記補正値は、前記投光平面における前記第1の投光点の補正方向を示す補正ベクトルとして出力され、
前記補正ベクトルは、前記撮像画像における前記第1の投光点の位置と前記第2の投光点のそれぞれの位置との接続線に沿った複数のベクトルと、前記撮像画像における前記第1の投光点の位置と前記目標投光位置との接続線に沿ったベクトルと、前記投光平面における前記第1の投光点の位置と前記第2の投光点のそれぞれの位置との接続線に沿った複数のベクトルとを基に演算される、
ことを特徴とする請求項1記載の投光制御プログラム。
【請求項3】
前記撮像画像における前記第1の投光点の位置と前記第2の投光点のうち一の投光点の位置との接続線に沿った単位ベクトルをAとし、前記撮像画像における前記第1の投光点の位置と前記第2の投光点のうち前記一の投光点以外の他の投光点の位置との接続線に沿った単位ベクトルをBとし、前記撮像画像における前記第1の投光点の位置と前記目標投光位置とを接続して生成されるベクトルをcとし、前記投光平面における前記第1の投光点の位置と前記投光平面における前記一の投光点の位置との接続線に沿った単位ベクトルをA’とし、前記投光平面における前記第1の投光点の位置と前記他の投光点の位置との接続線に沿った単位ベクトルをB’とし、前記補正ベクトルをc’とすると、前記補正ベクトルc’は式(1)によって演算されることを特徴とする請求項2記載の投光制御プログラム。
c’=(c・A)・A’+(c・B)・B’ ・・・(1)
【請求項4】
前記投光装置を制御して、前記投光平面における前記第1の投光点の位置を、演算された前記補正ベクトルに従って変化させた後、位置変化後の前記第1の投光点の前記撮像画像における位置と前記目標投光位置との距離が、位置変化前の前記第1の投光点の前記撮像画像における位置と前記目標投光位置との距離より大きい場合には、前記投光装置を制御して、前記投光平面における前記第1の投光点の位置を、位置変化前の前記第1の投光点の位置を前記補正ベクトルの大きさを減少させたベクトルに従って移動した位置に変化させることを特徴とする請求項2または3記載の投光制御プログラム。
【請求項5】
前記投光装置を制御して、前記投光平面における前記第1の投光点の位置を前記補正値に基づいて変化させるとともに、前記投光平面における前記第2の投光点の位置を前記補正値に基づいて変化させ、
位置変化後の前記第2の投光点が、前記被写体を撮像した前記撮像画像に映っていない場合には、前記投光装置を制御して、前記投光平面における前記第2の投光点の位置を、前記第1の投光点の位置を中心として回転させることを特徴とする請求項1記載の投光制御プログラム。
【請求項6】
投光装置から被写体に投光された第1の投光点および複数の第2の投光点のそれぞれについての、前記被写体を撮像した撮像画像における位置と、前記撮像画像における前記第1の投光点の目標投光位置と、前記投光装置による投光方向の中心軸に垂直な投光平面における前記第1の投光点および前記第2の投光点のそれぞれの位置とに基づいて、前記撮像画像における前記第1の投光点の位置が前記目標投光位置に近づくように前記投光平面における前記第1の投光点の位置を補正する補正値を演算する補正値演算部と、
前記投光装置による前記第1の投光点の投光方向を制御して、前記投光平面における前記第1の投光点の位置を前記補正値に基づいて変化させる投光位置補正部と、
を有することを特徴とする投光制御装置。
【請求項7】
投光制御装置が、
投光装置から被写体に投光された第1の投光点および複数の第2の投光点のそれぞれについての、前記被写体を撮像した撮像画像における位置と、前記撮像画像における前記第1の投光点の目標投光位置と、前記投光装置による投光方向の中心軸に垂直な投光平面における前記第1の投光点および前記第2の投光点のそれぞれの位置とに基づいて、前記撮像画像における前記第1の投光点の位置が前記目標投光位置に近づくように前記投光平面における前記第1の投光点の位置を補正する補正値を演算し、
前記投光装置による前記第1の投光点の投光方向を制御して、前記投光平面における前記第1の投光点の位置を前記補正値に基づいて変化させる、
ことを特徴とする投光制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2011−118713(P2011−118713A)
【公開日】平成23年6月16日(2011.6.16)
【国際特許分類】
【出願番号】特願2009−276026(P2009−276026)
【出願日】平成21年12月4日(2009.12.4)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】