(57)【特許請求の範囲】
【請求項１】
距離センサから得た、対象物体と前記距離センサ間の距離を画素値で表した距離画像上で、前記対象物体が写っている物体領域を検出する物体領域検出部と、
前記物体領域内の前記対象物体に対応する各画素について、当該画素に写っている前記対象物体の実空間での位置を算出する実空間位置算出部と、
前記物体領域に対応する前記対象物体について、実空間での位置を投影面上の位置にシフトし、シフト後の位置に対応する、プロジェクタの表示面上の位置を算出することで、前記対象物体に対応する前記プロジェクタの前記表示面上の表示領域を算出する表示領域算出部と、
前記プロジェクタの前記表示面上の前記表示領域に、前記対象物体の像を表示させることで、前記投影面に前記対象物体の像を投影する投影制御部と、
を有し、
前記投影制御部は、前記距離画像の撮影時における、前記投影面から前記対象物体までの距離に応じて、前記プロジェクタの前記表示面上に表示される前記対象物体の像を、前記投影面上に投影された前記対象物体の像のサイズが前記対象物体の実際のサイズとなるように変化させることを特徴とする投影装置。
【請求項２】
前記投影制御部は、さらに、前記距離に応じて前記対象物体の像の色、輝度及び透過度の少なくとも一つを変化させる、請求項１に記載の投影装置。
【請求項３】
前記対象物体の撮影時における、所定の物体の第１の位置と、前記対象物体の像を投影するときの前記所定の物体の第２の位置とを検出する位置検出部と、
前記対象物体の撮影時における、前記第１の位置と前記対象物体との位置関係と、前記第２の位置とに応じて、前記投影面での前記対象物体の像の位置を決定する位置合わせ部をさらに有し、
前記表示領域算出部は、前記投影面での前記対象物体の像の位置に応じて前記プロジェクタの前記表示面上の前記表示領域を決定する、請求項１または２に記載の投影装置。
【請求項４】
前記投影制御部は、前記表示領域内の画素ごとに、当該画素の値を、前記撮像時において前記対象物体をカメラが撮影して得られた画像上で対応する画素の値に設定する、請求項１〜３の何れか一項に記載の投影装置。
【請求項５】
前記実空間での位置は、座標軸X、Y、Zを用いた座標値(XW,YW,ZW)で表わされ、かつ、前記座標軸Zは、前記投影面の法線方向と平行に設定され、
前記表示領域算出部は、前記Z軸方向の座標値ZWを、前記投影面に相当する値である0に置換することで、前記実空間での位置を前記投影面上の位置にシフトする、請求項１〜４の何れか一項に記載の投影装置。
【請求項６】
距離センサから得た、対象物体と前記距離センサ間の距離を画素値で表した距離画像上で前記対象物体が写っている物体領域を検出し、
前記物体領域内の前記対象物体に対応する各画素について、当該画素に写っている前記対象物体の実空間での位置を算出し、
前記物体領域に対応する前記対象物体について、実空間での位置を投影面上の位置にシフトし、シフト後の位置に対応する、プロジェクタの表示面上の位置を算出することで、前記対象物体に対応する前記プロジェクタの前記表示面上の表示領域を算出し、
前記プロジェクタの前記表示面上の前記表示領域に、前記対象物体の像を、前記距離画像の撮影時における前記投影面から前記対象物体までの距離に応じて前記投影面上に投影された前記対象物体の像のサイズが前記対象物体の実際のサイズとなるように変化させて表示させることで、前記投影面に前記対象物体の像を投影する、
ことを含む投影方法。
【請求項７】
距離センサから得た、対象物体と前記距離センサ間の距離を画素値で表した距離画像上で前記対象物体が写っている物体領域を検出し、
前記物体領域内の前記対象物体に対応する各画素について、当該画素に写っている前記対象物体の実空間での位置を算出し、
前記物体領域に対応する前記対象物体について、実空間での位置を投影面上の位置にシフトし、シフト後の位置に対応する、プロジェクタの表示面上の位置を算出することで、前記対象物体に対応する前記プロジェクタの前記表示面上の表示領域を算出し、
前記プロジェクタの前記表示面上の前記表示領域に、前記対象物体の像を、前記距離画像の撮影時における前記投影面から前記対象物体までの距離に応じて前記投影面上に投影された前記対象物体の像のサイズが前記対象物体の実際のサイズとなるように変化させて表示させることで、前記投影面に前記対象物体の像を投影する、
ことをコンピュータに実行させるための投影用コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、物体の像を所定の投影面に投影する投影装置、及び、そのような投影装置で利用される投影方法及び投影用コンピュータプログラムに関する。
【背景技術】
【０００２】
近年、拡張現実感（Augmented Reality, AR）を利用した、作業支援システムが提案されている（例えば、非特許文献１を参照）。非特許文献１に開示されたAR支援システムでは、ユーザが作業する対象の前でカメラをかざすと、その対象を写した映像に対して教師ビデオが重畳表示される。その際、このAR支援システムは、カメラと操作対象の位置関係に応じて、教師ビデオの視線を、カメラで撮影された映像の視線と合わせるために、教師ビデオを適宜変形し、変形された教師ビデオをカメラの映像上に重畳表示する。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】後藤他、「作業空間への教師ビデオ重畳表示によるＡＲ支援システム」、画像電子学会誌、第３９巻、第６号、pp.1108-1120、2010年
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、教師ビデオを、プロジェクタを用いて所定の投影面に投影することを考える。この場合、非特許文献１に記載の技術のような教師ビデオの変形では、教師ビデオに写っている指導者の手、工具、あるいは部品といった投影対象物体の像が、投影対象物体の実際のサイズよりも大きなサイズで投影面に投影されることがある。これは、教師ビデオを撮影したカメラと投影対象物体間の距離とプロジェクタと投影面間の距離の違い、または、カメラの視野角とプロジェクタの視野角の違いなどによる。そして投影対象物体の像が実際の投影対象物体のサイズよりも大きなサイズで投影面に投影されると、ユーザは、投影された投影対象物体の像のサイズが、投影対象物体の実際のサイズと誤認識するおそれがある。
【０００５】
一つの側面では、本発明は、予め撮影された投影対象物体の像を所定の面上に投影して、その投影対象物体の実際のサイズをユーザに視認させることが可能な投影装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
一実施形態によれば、投影装置が提供される。この投影装置は、距離センサから得た、対象物体と距離センサ間の距離を画素値で表した距離画像上で、対象物体が写っている物体領域を検出する物体領域検出部と、物体領域内の対象物体に対応する各画素について、その画素に写っている対象物体の実空間での位置を算出する実空間位置算出部と、物体領域に対応する対象物体について、実空間での位置を投影面上の位置にシフトし、シフト後の位置に対応する、プロジェクタの表示面上の位置を算出することで、対象物体に対応するプロジェクタの表示面上の表示領域を算出する表示領域算出部と、プロジェクタの表示面上の表示領域に、対象物体の像を表示させることで、投影面に対象物体の像を投影する投影制御部とを有する。
【発明の効果】
【０００７】
予め撮影された投影対象物体の像を所定の面上に投影して、その投影対象物体の実際のサイズをユーザに視認させることができる。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態による投影装置のハードウェア構成図である。
【図２】第１の実施形態による投影装置の距離センサ及びプロジェクタと投影対象物体の像が投影される投影面の位置関係の一例を示す図である。
【図３】第１の実施形態による制御部の機能ブロック図である。
【図４】距離センサ座標系と世界座標系の関係を示す図である。
【図５】（ａ）は、相対的に投影面の近くに投影対象物体が位置する場合における、距離画像、プロジェクタの表示画像及び投影像の一例を示す図である。（ｂ）は、相対的に投影面から離れた位置に投影対象物体が位置する場合における、距離画像、プロジェクタの表示画像及び投影像の一例を示す図である。
【図６】投影処理の動作フローチャートである。
【図７】第２の実施形態による投影装置のハードウェア構成図である。
【図８】第２の実施形態による投影装置の各部と作業台の表面及び作業対象物体の関係の一例を示す図である。
【図９】第２の実施形態による制御部の機能ブロック図である。
【図１０】位置合わせ処理の動作フローチャートである。
【図１１】第２の実施形態による、投影処理の動作フローチャートである。
【図１２】（ａ）は、変形例による、撮像時における投影対象物体の作業台の表面からの高さが相対的に低い場合における、投影対象物体の像の一例を示す図である。（ｂ）は、変形例による、撮像時における投影対象物体の作業台の表面からの高さが相対的に高い場合における、投影対象物体の像の他の一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照しつつ、投影装置について説明する。この投影装置は、検知範囲内に位置する物体までの距離を測定可能な距離センサで、プロジェクタによりその像が投影される対象物体（以下、投影対象物体と呼ぶ）を撮影して得られる距離画像から、その投影対象物体の実空間での位置を求める。そしてこの投影装置は、投影対象物体の実空間での位置を仮想的に投影面上にシフトし、シフト後の投影対象物体に対応するプロジェクタの表示画面上の投影対象物体の像の表示領域を決定する。これにより、この投影装置は、投影対象物体の像が投影面上で投影対象物体の実際のサイズとなるように、投影対象物体の像を投影することを可能とする。
【００１０】
図１は、第１の実施形態による投影装置のハードウェア構成図である。図２は、第１の実施形態による投影装置の距離センサ及びプロジェクタと投影対象物体の像が投影される投影面の位置関係の一例を示す図である。投影装置１は、距離センサ１１と、プロジェクタ１２と、記憶部１３と、制御部１４とを有する。そして距離センサ１１、プロジェクタ１２、及び記憶部１３は、それぞれ、制御部１４と信号線を介して接続される。また、投影装置１は、投影装置１を他の機器と接続するための通信インターフェース（図示せず）をさらに有していてもよい。
【００１１】
距離センサ１１は、距離測定部の一例であり、図２に示されるように、例えば、ユーザが作業する作業台の表面である投影面１００の少なくとも一部が検知範囲に含まれるように、プロジェクタ１２の投影方向へ向けて取り付けられる。距離センサ１１は、一定の周期（例えば、30フレーム／秒〜60フレーム／秒）ごとに、検知範囲の距離画像を生成する。そして距離センサ１１は、生成した距離画像を制御部１４へ出力する。そのために、距離センサ１１は、例えば、デプスカメラとすることができる。距離画像は、例えば、画素ごとに、その画素の値により、距離センサ１１からその画素に写っている投影対象物体１０１の点までの距離を表す。例えば、距離センサ１１から距離画像中の画素に写っている投影対象物体１０１の点までの距離が近いほど、その画素の値は大きくなる。
【００１２】
プロジェクタ１２は、投影部の一例であり、図２に示されるように、投影面１００へ向けて映像を投影するように設置される。本実施形態では、投影面１００は、作業台の表面なので、プロジェクタ１２は、その作業台の上方に、鉛直下方へ向けて取り付けられる。
プロジェクタ１２は、例えば、液晶プロジェクタであり、制御部１４から受け取った映像信号に従って映像をその表示面に表示することで、映像を投影する。本実施形態では、プロジェクタ１２は、投影対象物体１０１の像を投影面１００に投影する。
【００１３】
記憶部１３は、例えば、揮発性又は不揮発性の半導体メモリ回路を有する。そして記憶部１３は、距離センサ１１により得られた距離画像、プロジェクタ１２により投影される映像を表す映像信号などを記憶する。さらに、記憶部１３は、投影処理で利用される様々な情報、例えば、世界座標系における、距離センサ１１の設置位置及び向き、距離画像に含まれる画素数、距離センサ１１の対角視野角などを記憶する。さらに、記憶部１３は、世界座標系における、プロジェクタ１２の設置位置及び向き、表示面の画素数及び対角視野角などを記憶する。
【００１４】
制御部１４は、一つまたは複数のプロセッサ及びその周辺回路を有する。そして制御部１４は、投影装置１全体を制御する。
【００１５】
以下、制御部１４により実行される、投影処理に関する構成要素の詳細について説明する。
図３は、制御部１４の機能ブロック図である。制御部１４は、物体領域検出部２１と、実空間位置算出部２２と、表示領域算出部２３と、投影制御部２４とを有する。
制御部１４が有するこれらの各部は、例えば、制御部１４が有するプロセッサ上で実行されるコンピュータプログラムによって実現される機能モジュールとして実装される。あるいは、これらの各部の機能を実現する一つまたは複数の集積回路が、制御部１４とは別個に投影装置１に実装されてもよい。
【００１６】
本実施形態では、制御部１４は、投影面の上で一連の作業を指導者が実行する間に撮影された複数の距離画像のそれぞれから、指導者の手を投影対象物体として検出する。そして制御部１４は、各距離画像について、その距離画像から検出された手の像を投影面に投影したときに、手の像のサイズが手の実際のサイズとなるように、プロジェクタ１２の表示面上でのその手の表示領域を決定する。そして、ユーザにその作業を指導する際に、制御部１４は、教師ビデオとして、距離画像の取得順序に従って、各距離画像から検出された手の像をプロジェクタ１２により投影面に順次投影する。なお、指導者による一連の作業についての距離センサ１１による撮影の実行時を、以下では、単に撮像時と呼び、プロジェクタ１２による投影の実行時を、以下では、単に投影時と呼ぶ。
【００１７】
本実施形態では、撮像時においては、制御部１４は、距離センサ２から距離画像を取得する度に、その取得した距離画像を記憶部１３に保存する。そして制御部１４は、投影時において、各距離画像に対して、投影処理を実行する。制御部１４が個々の距離画像に対して実行する投影処理は同一とすることができるので、以下では、一つの距離画像に対する処理について説明する。
【００１８】
物体領域検出部２１は、距離センサ１１から制御部１４が取得した距離画像から、投影対象物体が写っている領域である物体領域を検出する。例えば、物体領域検出部２１は、距離画像上の各画素について、その画素の値と、距離センサ１１により投影面を撮影した場合に得られる基準距離画像上の対応画素の値とを比較する。なお、基準距離画像は、予め記憶部１３に保存される。物体領域検出部２１は、距離画像の画素の値と基準距離画像の対応画素の値の差の絶対値が所定の閾値以上となる画素を抽出する。なお、所定の閾値は、例えば、1cm〜2cmに相当する距離画像上の画素値とすることができる。
【００１９】
物体領域検出部２１は、抽出された画素に対して、例えば、ラベリング処理を実行して、抽出された画素をグループ化することで、それぞれが抽出された画素を含み、かつ、互いに分離した１以上の候補領域を求める。そして物体領域検出部２１は、１以上の候補領域のうち、その候補領域に含まれる画素数が最大となる候補領域を物体領域とする。なお、指導者の両方の手が距離画像に写っていることもあるので、物体領域検出部２１は、その候補領域に含まれる画素数が多い方から順に二つの候補領域を、それぞれ、物体領域としてもよい。あるいはまた、物体領域検出部２１は、含まれる画素数が所定の画素数以上となる候補領域が存在しない場合には、距離画像には物体領域が含まれない、すなわち、距離画像に投影対象物体が写っていないと判定してもよい。
【００２０】
物体領域検出部２１は、距離画像上の物体領域を実空間位置算出部２２へ通知する。
【００２１】
実空間位置算出部２２は、物体領域に含まれる各画素について、その画素に写っている投影対象物体の点の実空間での位置を算出する。
【００２２】
実空間位置算出部２２は、先ず、物体領域に含まれる各画素について、その画素に写っている投影対象物体の点の距離センサ座標系での位置を算出する。距離センサ座標系は、距離センサ１１を基準とする、実空間での座標系である。そして実空間位置算出部２２は、距離センサ座標系で表された、各画素に対応する投影対象物体の点の座標を、投影面を基準とする世界座標系の座標に変換する。
【００２３】
図４は、距離センサ座標系と世界座標系の関係を示す図である。距離センサ座標系４００では、Zd軸は、距離センサ１１の光軸と平行な方向に設定され、Xd軸及びYd軸は、Zd軸と直交する面、すなわち、距離センサ１１のセンサ面と平行な面において、互いに直交するように設定される。例えば、Xd軸は、距離画像における水平方向に対応する方向に設定され、Yd軸は、距離画像における垂直方向に対応する方向に設定される。そして距離センサ座標系４００の原点は、距離センサ１１のセンサ面の中心、すなわわち、センサ面と光軸とが交差する点に設定される。
【００２４】
一方、世界座標系４１０は、投影面１００上に、互いに直交する二つの軸Xw軸、Yw軸が設定され、Zw軸は、投影面１００の法線方向と平行となるように設定される。また世界座標系４１０の原点は、例えば、投影面１００上で、プロジェクタ１２の投影範囲の一端、あるいは、投影範囲の中心に設定される。なお、距離センサ１１と投影面１００の位置関係は既知である。すなわち、距離センサ座標系４００上の任意の点の座標は、アフィン変換によって世界座標系４１０の座標に変換可能である。
【００２５】
実空間位置算出部２２は、物体領域に含まれる各画素について、その画素に写っている投影対象物体の点の距離センサ座標系での座標(Xd,Yd,Zd)を、次式に従って算出する。
【数１】
0006645151.tif 000002
（１）式は、ピンホールカメラモデルに従った式であり、fdは、距離センサ１１の焦点距離を表し、DW及びDHは、それぞれ、距離画像の水平方向画素数及び垂直方向画素数を表す。またDfovDは、距離センサ１１の対角視野角を表す。そして(xd,yd)は、距離画像上での水平方向の位置及び垂直方向の位置を表す。また、Zdは、距離画像上の画素(xd,yd) に対応する位置にある投影対象物体の点と距離センサ１１間の距離であり、その画素(xd,yd)の値に基づいて算出される。
【００２６】
さらに、実空間位置算出部２２は、物体領域に含まれる各画素について、その画素に写っている投影対象物体の点の距離センサ座標系での座標を、次式に従って世界座標系での座標(XW,YW,ZW)に変換する。
【数２】
0006645151.tif 000003
ここでRDWは、距離センサ座標系から世界座標系へのアフィン変換に含まれる、回転量を表す回転行列であり、tDWは、そのアフィン変換に含まれる平行移動量を表す平行移動ベクトルである。そしてDLocX、DLocY、DLocZは、それぞれ、世界座標系のXw軸方向、Yw軸方向、Zw軸方向における、距離センサ１１のセンサ面の中心の座標、すなわち、距離センサ座標系の原点の座標である。またDRotX、DRotY、DRotZは、それぞれ、Xw軸、Yw軸、Zw軸に対する、距離センサ１１の光軸方向の回転角度を表す。
【００２７】
このように、実空間位置算出部２２は、物体領域に含まれる各画素に写っている投影対象物体の点の実空間での位置を算出することで、その投影対象物体の実空間での実際のサイズに応じた範囲及び位置を求めることができる。
実空間位置算出部２２は、物体領域に対応する投影対象物体の各点の世界座標系での座標を表示領域算出部２３へ通知する。
【００２８】
表示領域算出部２３は、プロジェクタ１２により、投影対象物体の像を投影面に投影する際の、プロジェクタ１２の表示面上での投影対象物体の像の範囲を表す表示領域を算出する。
【００２９】
本実施形態では、プロジェクタ１２は、投影面上での投影対象物体の像のサイズが投影対象物体の実際のサイズと一致するように投影対象物体の像を投影する。そこで、表示領域算出部２３は、物体領域に対応する投影対象物体の各点について、その点の実空間での位置を表す世界座標系での座標(XW,YW,ZW)のうち、Zw軸方向の座標値ZWをZW'(=0)に置換する。これにより、仮想的に、投影対象物体が投影面上にシフトされる。
【００３０】
そして表示領域算出部２３は、シフト後の投影対象物体の各点について、その点の世界座標系での座標(XW,YW,ZW')に相当するプロジェクタ１２の表示面上の座標を算出する。ここで、プロジェクタ１２と投影面の位置関係も既知である。そのため、世界座標系上の任意の点の座標は、アフィン変換により、プロジェクタ１２を基準とするプロジェクタ座標系上の座標に変換可能である。なお、プロジェクタ座標系は、例えば、距離センサ座標系と同様に、プロジェクタ１２の表示面の中心を原点とし、プロジェクタ１２の光軸方向、及び、光軸方向と直交する平面上で互いに直交する二つの方向を、それぞれ軸とする座標系とすることができる。
【００３１】
表示領域算出部２３は、投影対象物体の各点について、その点の世界座標系での座標(XW,YW,ZW')を、次式に従って、プロジェクタ座標系上の座標(XP,YP,ZP)に変換する。
【数３】
0006645151.tif 000004
ここでRWPは、世界座標系からプロジェクタ座標系へのアフィン変換に含まれる、回転量を表す回転行列であり、tWPは、そのアフィン変換に含まれる平行移動量を表す平行移動ベクトルである。PLocX、PLocY、PLocZは、それぞれ、世界座標系のXw軸方向、Yw軸方向、Zw軸方向における、プロジェクタ１２の表示面の中心の座標、すなわち、プロジェクタ座標系の原点の座標である。またPRotX、ProtY、ProtZは、それぞれ、Xw軸、Yw軸、Zw軸に対する、プロジェクタ１２の光軸方向の回転角度を表す。なお、本実施形態では、プロジェクタ１２は、鉛直下方へ向けて取り付けられているので、回転行列RWPは、対角成分のみが'1'の値を持ち、他の成分が'0'の値を持つ行列となる。
【００３２】
さらに、表示領域算出部２３は、投影対象物体の各点について、ピンホールモデルに従って、その点のプロジェクタ座標系での座標(XP,YP,ZP)に対応する、プロジェクタ１２の表示面上での座標(xp,yp)を、次式に従って算出する。
【数４】
0006645151.tif 000005
ここで、fpは、プロジェクタ１２の焦点距離を表し、PW及びPHは、それぞれ、表示面の水平方向画素数及び垂直方向画素数を表す。またPfovDは、プロジェクタ１２の対角視野角を表す。
【００３３】
図５（ａ）は、相対的に距離センサ１１から遠い位置、すなわち、投影面の近くに投影対象物体が位置する場合における、距離画像、プロジェクタ１２の表示画像及び投影像の一例を示す図である。一方、図５（ｂ）は、相対的に距離センサ１１に近い位置、すなわち、投影面から離れた位置に投影対象物体が位置する場合における、距離画像、プロジェクタ１２の表示画像及び投影像の一例を示す図である。
【００３４】
図５（ａ）に示される、距離画像５００上の投影対象物体５０１と比較して、図５（ｂ）に示される、距離画像５５０上では、投影対象物体５０１は大きくなっている。これは、図５（ａ）に示される場合よりも、図５（ｂ）に示される場合の方が、投影対象物体５０１が距離センサ１１に近いためである。
【００３５】
しかし、図５（ａ）に示される表示画像５１０上での投影対象物体の像５０２のサイズと、図５（ｂ）に示される表示画像５６０上での投影対象物体の像５１２のサイズは、略一致する。そのため、図５（ａ）に示される投影面上での投影対象物体の像５０３のサイズと、図５（ｂ）に示される投影面上での投影対象物体の像５１３のサイズも、略一致する。さらに、投影対象物体の像５０３のサイズ、及び、投影対象物体の像５１３のサイズの何れも、実際の投影対象物体５０１のサイズと略一致している。このように、投影装置１は、撮像時における投影対象物体の投影面からの高さによらず、その投影対象物体の像のサイズが投影対象物体の実際のサイズと一致するように、投影面上に、投影対象物体の像を投影できていることが分かる。
【００３６】
投影制御部２４は、プロジェクタ１２の表示面上の表示領域に投影対象物体の像を表示することで、投影面に投影対象物体の像を投影する。その際、投影制御部２４は、例えば、表示領域内の各画素の値を、予め設定された所定の値とする。
【００３７】
ただし、プロジェクタ１２による投影像は、投影面上に半透過の２次元画像として投影されるので、投影面上にある実際の物の高さと投影対象物体の高さの差がユーザにとって認知し難い。そのため、ユーザは、投影対象物体が、投影面上にある物に触れているか否か、あるいは、投影対象物体が空中にあるのか否かを識別することは困難なことがある。
【００３８】
そこで、変形例によれば、投影制御部２４は、撮像時における、距離センサ１１から投影対象物体までの距離、あるいは、投影面１００から投影対象物体までの高さに応じて、プロジェクタ１２の表示領域内の画素の値を調節してもよい。例えば、投影制御部２４は、プロジェクタ１２が投影対象物体をグレースケールで表示する場合、表示領域内の各画素の輝度値を、次式に従って決定してもよい。
【数５】
0006645151.tif 000006
ここで、Zwは、表示領域内の着目する画素に対応する、投影対象物体の点の投影面からの高さ（例えば、mm単位の値）を表し、Lvは、着目する画素の輝度値を表す。あるいは、投影制御部２４は、（５）の代わりに、次式に従って、表示領域内の各画素の輝度値を決定してもよい。
【数６】
0006645151.tif 000007
ここで、Zmaxは、投影面１００に対する投影対象物体の高さの想定される最大値を表す。
【００３９】
なお、投影制御部２４は、投影対象物体の像を、プロジェクタ１２によりカラーで投影させてもよい。この場合には、投影制御部２４は、例えば、表示領域内の各画素について、赤(R)、緑(G)、青(B)のうちの何れか一色または二色について、（５）式または（６）式で算出された値とし、他の色については、一定値としてもよい。
【００４０】
撮像時における、投影面から実際の投影対象物体までの高さに応じて、投影時における、プロジェクタ１２により投影される投影対象物体の像の色または輝度を変えることで、ユーザは、撮像時における実際の投影対象物体の高さを認知することが容易となる。そのため、ユーザは、投影対象物体の像に基づいて、投影対象物体が、投影面上にある物に触れているか否か、あるいは、投影対象物体が空中にあるのか否かを識別することが容易となる。
【００４１】
図６は、制御部１４により実行される投影処理の動作フローチャートである。制御部１４は、一連の作業を指導者が実行する間に撮影された複数の距離画像のそれぞれに対して、下記の動作フローチャートに従って投影処理を実行する。
【００４２】
物体領域検出部２１は、距離センサ１１から得られた距離画像上で投影対象物体が写っている物体領域を検出する（ステップＳ１０１）。そして物体領域検出部２１は、物体領域を実空間位置算出部２２へ通知する。
【００４３】
実空間位置算出部２２は、物体領域内の各画素について、その画素に写っている投影対象物体の点の世界座標系における座標を算出することで、投影対象物体の実空間における位置を算出する（ステップＳ１０２）。そして実空間位置算出部２２は、物体領域に対応する投影対象物体の各点の世界座標系での座標を表示領域算出部２３へ通知する。
【００４４】
表示領域算出部２３は、投影対象物体の各点について、その点の世界座標系での投影面からの高さを0に置換し、プロジェクタ１２の表示面上の対応画素の座標を算出することで、表示面上の表示領域を算出する（ステップＳ１０３）。
【００４５】
投影制御部２４は、プロジェクタ１２の表示面上の表示領域内の各画素について、その画素の色または輝度を、その画素に対応する投影対象物体の点の投影面からの高さに応じた値に設定する（ステップＳ１０４）。そして投影制御部２４は、表示領域内の各画素の色または輝度が設定した値となるように、投影対象物体の像をプロジェクタ１２の表示面に表示させることで、投影対象物体の像を投影面に投影する（ステップＳ１０５）。そして制御部１４は、投影処理を終了する。
【００４６】
なお、制御部１４は、各距離画像について、ステップＳ１０１〜Ｓ１０２の処理を、撮像時において距離画像が得られる度に実行し、物体領域に対応する投影対象物体の各点の世界座標系での座標を記憶部１３に保存しておいてもよい。これにより、制御部１４は、投影時における演算量を削減できる。
【００４７】
以上に説明してきたように、この投影装置は、撮像時における、投影対象物体の実空間での位置を、距離センサで投影対象物体を撮影した距離画像に基づいてもとめる。そしてこの投影装置は、実空間における投影対象物体の位置を仮想的に投影面上へシフトしたときの、プロジェクタの表示面上で対応する表示領域を求め、その表示領域に投影対象物体の像を表示させる。そのため、この投影装置は、撮像時において投影対象物体が投影面よりも高い位置にあっても、投影面上での投影対象物体の像のサイズが投影対象物体の実際のサイズと一致するように、投影対象物体の像を投影できる。さらに、この投影装置は、撮像時における、投影面から投影対象物体の各点までの高さに応じて、投影時における、その各点の色または輝度を設定できる。そのため、ユーザは、投影された投影対象物体の像に基づいて、撮像時における、投影面から投影対象物体の各点までの高さを容易に認識できる。
【００４８】
なお、撮像時と、投影時とで、投影対象物体の作業対象となる物体の位置が異なることがある。このような場合、投影時において、投影対象物体の像の位置が、作業対象となる物体の位置に対して位置合わせされることが好ましい。
【００４９】
そこで第２の実施形態によれば、投影装置は、投影対象物体の像が投影される位置を作業対象物体に位置合わせする。なお、この実施形態では、作業対象物体の表面、あるいは、作業対象物体が載置される作業台の表面が、投影対象物体の像が投影される面となる。また、作業台の表面を基準として、世界座標系が設定されるものとする。
【００５０】
図７は、第２の実施形態による投影装置のハードウェア構成図である。図８は、第２の実施形態による投影装置の各部と投影面の関係の一例を示す図である。投影装置２は、距離センサ１１と、プロジェクタ１２と、記憶部１３と、制御部１４と、カメラ１５とを有する。そして距離センサ１１、プロジェクタ１２、記憶部１３及びカメラ１５は、それぞれ、制御部１４と信号線を介して接続される。また、投影装置２は、投影装置２を他の機器と接続するための通信インターフェース（図示せず）をさらに有していてもよい。
【００５１】
図９は、第２の実施形態による制御部の機能ブロック図である。第２の実施形態による制御部１４は、物体領域検出部２１と、実空間位置算出部２２と、表示領域算出部２３と、投影制御部２４と、位置検出部２５と、位置合わせ部２６とを有する。
第２の実施形態による投影装置２は、第１の実施形態による投影装置１と比較して、カメラ１５を有する点と、制御部１４が位置検出部２５及び位置合わせ部２６を有する点で相違する。そこで以下では、カメラ１５、位置検出部２５及び位置合わせ部２６及びその関連部分について説明する。投影装置２のその他の構成要素については第１の実施形態による投影装置１の対応する構成要素の説明を参照されたい。
【００５２】
カメラ１５は、撮像部の一例である。図８に示されるように、カメラ１５は、例えば、作業台の表面２００、投影対象物体２０１及び作業台の表面２００に載置された作業対象物体２０２がカメラ１５の撮影範囲に含まれるように、プロジェクタ１２の投影方向へ向けて取り付けられる。カメラ１５は、投影対象物体の撮像時（例えば、指導者の一連の作業中）において、一定の周期（例えば、30フレーム／秒〜60フレーム／秒）ごとに、画像を生成する。そしてカメラ１５は、画像を生成する度に、その生成した画像を制御部１４へ出力する。なお、カメラ１５により生成される画像はグレー画像であってもよく、あるいは、カラー画像であってもよい。本実施形態では、カメラ１５は、カラー画像を生成するものとする。また、距離センサ１１及びプロジェクタ１２も、第１の実施形態と同様に、上方から作業台の表面２００の方へ向けて取り付けられる。
【００５３】
以下、制御部１４の各部の処理を、撮像時と投影時とに分けて説明する。
（撮像時）
物体領域検出部２１は、第１の実施形態と同様に、撮像時に得られる各距離画像から、投影対象物体が写っている物体領域を検出する。そして物体領域検出部２１は、各距離画像についての物体領域を実空間位置算出部２２へ通知する。
【００５４】
実空間位置算出部２２は、第１の実施形態と同様に、撮像時に得られる各距離画像について、物体領域内の各画素における、その画素に写っている投影対象物体の点の実空間位置を算出する。その際、実空間位置算出部２２は、各距離画像について、物体領域内の各画素に対応する投影対象物体の各点のうち、作業台の表面に最も近い点のその表面からの高さZwminも求める。
【００５５】
さらに、実空間位置算出部２２は、距離センサ１１の検知範囲内に投影対象物体が存在しない場合の距離画像、すなわち、作業台の表面及び作業対象物体が写っている距離画像から、作業台の表面及び作業対象物体の各点について実空間位置を算出する。この場合、実空間位置算出部２２は、距離画像に含まれる各画素について、物体領域内の各画素に対する処理と同様の処理を実行して、各点の世界座標系の座標を算出すればよい。なお、作業台の表面における、プロジェクタ１２の投影可能範囲が、作業台の表面における、距離センサ１１の検知範囲よりも狭い場合、実空間位置算出部２２は、その投影可能範囲について、作業台の表面及び作業対象物体の各点の実空間位置を算出すればよい。
【００５６】
実空間位置算出部２２は、各距離画像に対応する、投影対象物体の各点の実空間位置及び作業台の表面から投影対象物体までの最小距離Zwminを記憶部１３に保存する。また実空間位置算出部２２は、作業台の表面及び作業対象物体の各点の実空間位置を記憶部１３に保存する。
【００５７】
位置検出部２５は、カメラ１５の撮影範囲に投影対象物体が存在しない場合の画像から、作業対象物体の位置を検出する。そのために、位置検出部２５は、例えば、作業対象物体に設けられたマーカの複数の特徴点、例えば、マーカの４角の点を検出する。例えば、位置検出部２５は、マーカを表すテンプレートと、画像とのテンプレートマッチングにより、画像上でのマーカの各特徴点の位置を検出する。また位置検出部２５は、例えば、そのマーカの重心位置、あるいは、何れかの特徴点を基準点とする。そして位置検出部２５は、検出したマーカの複数の特徴点に基づいてカメラ座標系と作業対象物体を基準とする対象物体座標系間の変換を表すアフィン変換パラメータを算出する。その際、位置検出部２５は、例えば、加藤他、「マーカー追跡に基づく拡張現実感システムとそのキャリブレーション」、日本バーチャルリアリティ学会論文誌、4(4)、pp.607-616、1999年12月に記載されている手法にしたがって、そのアフィン変換パラメータを算出できる。
なお、位置検出部２５は、画像に対して、Harrisフィルタといったコーナー検出フィルタを適用して、作業対象物体の複数のコーナーを検出し、検出された複数のコーナーに基づいて、カメラ座標系と対象物体座標系間の変換を表すアフィン変換パラメータを算出してもよい。この場合、位置検出部２５は、検出された何れかのコーナーを基準点としてもよい。
【００５８】
なお、変形例によれば、位置検出部２５は、距離画像に基づいて、作業対象物体の複数の特徴点及び基準点を検出してもよい。この場合、例えば、位置検出部２５は、作業台の表面及び作業対象物体が写っている距離画像において、作業台の表面に対して最も高い点を基準点として検出してもよい。あるいは、位置検出部２５は、作業台の表面及び作業対象物体が写っている距離画像から、作業台の表面よりも距離センサ１１に近いことを表す値を持つ画素の集合の重心を、作業対象物体の基準点としてもよい。さらに、位置検出部２５は、距離画像から作業対象物体の複数の特徴点、例えば、上記の集合の上下左右の各端点を検出し、その複数の特徴点に基づいて、距離センサ座標系と対象物体座標系間の変換を表すアフィン変換パラメータを算出してもよい。位置検出部２５は、作業対象物体の基準点の距離画像または画像上の座標値と、カメラ座標系または距離センサ座標系と対象物体座標系間の変換を表すアフィン変換パラメータを記憶部１３に保存する。
【００５９】
（投影時）
次に、投影時の処理について説明する。投影時において、制御部１４は、作業対象物体の位置を特定するために、投影の開始前に、カメラ１５に、作業台の表面及び作業対象物体が写っている画像を生成させる。あるいは、制御部１４は、距離センサ１１に、作業台の表面及び作業対象物体が写っている距離画像を生成させてもよい。
そして位置検出部２５は、撮像時と同様に、投影の開始前に得られた、作業台の表面及び作業対象物体が写っている画像または距離画像から、作業対象物体の基準点を検出する。また位置検出部２５は、作業対象物体を基準とする対象物体座標系とカメラ座標系間のアフィン変換パラメータを算出する。そして位置検出部２５は、画像または距離画像上での基準点の座標、及び、対象物体座標系とカメラ座標系間のアフィン変換パラメータを位置合わせ部２６に通知する。
【００６０】
位置合わせ部２６は、撮像時における、作業対象物体の位置と投影対象物体の位置関係と、投影時における作業対象物体の位置とに基づいて、投影面上での投影対象物体の像の位置を決定する。
【００６１】
図１０は、位置合わせ処理の動作フローチャートである。位置合わせ部２６は、撮像時に得られる各距離画像について、同様の処理を実行するので、以下では、一つの距離画像に対する処理について説明する。
位置合わせ部２６は、距離画像から検出された物体領域内の投影対象物体の各点の実空間の位置の座標を、世界座標系の座標からカメラ座標系の座標に変換する（ステップＳ２０１）。その際、位置合わせ部２６は、投影対象物体の各点について、その点の世界座標系での座標(XW,YW,ZW)を、次式に従って、カメラ座標系上の座標 (XC,YC,ZC)に変換する。
【数７】
0006645151.tif 000008
ここでRWCは、世界座標系からカメラ座標系へのアフィン変換に含まれる、回転量を表す回転行列であり、tWCは、そのアフィン変換に含まれる平行移動量を表す平行移動ベクトルである。また、RCWは、カメラ座標系から世界座標系へのアフィン変換に含まれる回転行列であり、tCWは、そのアフィン変換に含まれる平行移動量を表す平行移動ベクトルである。CLocX、CLocY、CLocZは、それぞれ、世界座標系のXw軸方向、Yw軸方向、Zw軸方向における、カメラ１５のイメージセンサの中心の座標、すなわち、カメラ座標系の原点の座標である。またCRotX、CRotY、CRotZは、それぞれ、Xw軸、Yw軸、Zw軸に対する、カメラ１５の光軸方向の回転角度を表す。なお、この例では、Yw軸及びZw軸に対する、カメラ１５の光軸方向の回転角は0である。
【００６２】
次に、位置合わせ部２６は、距離画像から検出された物体領域内の投影対象物体の各点の実空間の位置の座標を、カメラ座標系の座標(XC,YC,ZC)から、撮像時における作業対象物体基準の座標系の座標(XO1,YO1,ZO1)に変換する（ステップＳ２０２）。なお、以下では、撮像時における作業対象物体基準の座標系を、第１の対象物体座標系と呼ぶ。位置合わせ部２６は、投影対象物体の各点について、その点のカメラ座標系での座標(XC,YC,ZC)を、次式に従って、第１の対象物体座標系上の座標(XO1,YO1,ZO1)に変換する。
【数８】
0006645151.tif 000009
ここでRCO1は、カメラ座標系から第１の対象物体座標系へのアフィン変換に含まれる、回転量を表す回転行列であり、tCO1は、そのアフィン変換に含まれる平行移動量を表す平行移動ベクトルである。そしてCLocX1、CLocY1、CLocZ1は、それぞれ、第１の対象物体座標系のXo1軸方向、Yo1軸方向、Zo1軸方向における、カメラ座標系の原点の座標である。またCO1RotX、CO1RotY、CO1RotZは、それぞれ、Xo1軸、Yo1軸、Zo1軸に対する、カメラ１５の光軸方向の回転角度を表す。
【００６３】
次に、位置合わせ部２６は、距離画像から検出された物体領域内の投影対象物体の各点の実空間の位置の座標を、投影時における作業対象物体基準の座標系の座標(XO1,YO1,ZO1)からカメラ座標系の座標(XC2,YC2,ZC2)に変換する（ステップＳ２０３）。なお、以下では、投影時における作業対象物体基準の座標系を、第２の対象物体座標系と呼ぶ。撮像時における作業対象物体に対する投影対象物体の相対的な位置関係と、投影時における作業対象物体に対する投影対象物体の像の相対的な位置関係を同じとする場合、投影対象物体の位置は、第１及び第２の対象物体座標系の何れについても同じである。ただし、第１の対象物体座標系とカメラ座標系の位置関係と、第２の対象物体座標系とカメラ座標系の位置関係とは、撮像時における作業対象物体の位置及び投影時における作業対象物体の位置の差により、異なる可能性がある。そこで、位置合わせ部２６は、投影対象物体の各点について、その点の第２（第１）の対象物体座標系での座標(XO1,YO1,ZO1)を、次式に従って、カメラ座標系上の座標(XC2,YC2,ZC2)に変換する。
【数９】
0006645151.tif 000010
ここでROC2は、第２の対象物体座標系からカメラ座標系へのアフィン変換に含まれる、回転量を表す回転行列であり、tOC2は、そのアフィン変換に含まれる平行移動量を表す平行移動ベクトルである。そしてCLocX2、CLocY2、CLocZ2は、それぞれ、第２の対象物体座標系のXo2軸方向、Yo2軸方向、Zo2軸方向における、カメラ座標系の原点の座標である。またCO2RotX、CO2RotY、CO2RotZは、それぞれ、Xo2軸、Yo2軸、Zo2軸に対する、カメラ１５の光軸方向の回転角度を表す。
【００６４】
これにより、カメラ１５から見た、投影時における投影対象物体の位置がもとめられる。
【００６５】
次に、位置合わせ部２６は、距離画像から検出された物体領域内の投影対象物体の各点の実空間の位置の座標を、カメラ座標系の座標(XC2,YC2,ZC2)から世界座標系の座標(XW2,YW2,ZW2)に変換する（ステップＳ２０４）。その際、位置合わせ部２６は、投影対象物体の各点について、その点のカメラ座標系での座標(XC2,YC2,ZC2)を、次式に従って、世界座標系上の座標(XW2,YW2,ZW2)に変換する。
【数１０】
0006645151.tif 000011
【００６６】
これにより、作業対象物体に位置合わせされた、世界座標系での、投影時における投影対象物体の位置がもとめられる。
【００６７】
位置合わせ部２６は、位置ずらし表示モードが設定されているか否か判定する（ステップＳ２０５）。位置ずらし表示モードは、投影対象物体の像の投影位置を、作業対象物体に対して位置合わせされた位置から、所定距離だけずらすモードであり、例えば、投影装置２のユーザインターフェース（図示せず）を介して予め設定される。作業対象物体上に投影対象物体の像を投影すると、作業対象物体及び投影対象物体の像の何れかが見難くなることがある。そこで位置ずらし表示モードが設定されることにより、作業対象物体に対して所定の位置関係だけずれた位置に投影対象物体の像が投影されることで、投影装置２は、作業対象物体及び投影対象物体の像の両方を見易くすることができる。なお、位置ずらし表示モードが設定されているか否かは、例えば、記憶部１３に保存される位置ずらし表示モードの設定有無を表すフラグにより表される。
【００６８】
位置ずらし表示モードが設定されている場合（ステップＳ２０５−Ｙｅｓ）、位置合わせ部２６は、投影対象物体の各点の世界座標系のXw軸の座標値XW2及びYw軸の座標値YW2の少なくとも一方に、所定のオフセット値を加算する（ステップＳ２０６）。なお、所定のオフセット値は、例えば、1cm〜5cmに相当する値とすることができる。
【００６９】
ステップＳ２０６の後、あるいは、ステップＳ２０５にて位置ずらし表示モードが設定されていない場合（ステップＳ２０５−Ｎｏ）、位置合わせ部２６は、位置合わせ処理を終了する。そして位置合わせ部２６は、位置合わせ後の投影対象物体の各点の座標値を記憶部１３に保存する。
【００７０】
なお、変形例によれば、位置合わせ部２６は、ステップＳ２０２にて求められた、第１の対象物体座標系における、投影対象物体の各点の座標(XO1,YO1,ZO1)を、第２の対象物体座標系から世界座標系へ変換するアフィン変換式に従って移動してもよい。これにより、位置合わせ部２６は、投影対象物体の各点の座標(XO1,YO1,ZO1)を世界座標系上の座標(XW2,YW2,ZW2)に変換できる。
【００７１】
表示領域算出部２３は、撮像時に得られた各距離画像について、その距離画像から検出され、かつ、作業対象物体に位置合わせされた投影対象物体の各点に対応する、プロジェクタ１２の表示面上の座標を算出することで表示領域を算出する。
【００７２】
本実施形態では、投影対象物体の像が作業対象物体に位置合わせされているので、投影対象物体の像が作業対象物体上に投影される。そこで表示領域算出部２３は、投影対象物体の各点における、高さ方向の値ZW2を、投影時における作業対象物体の高さZW2'に設定する。例えば、表示領域算出部２３は、投影対象物体の各点における、高さ方向の値ZW2を、投影時における基準点の実空間での高さの値ZW2'に置換する。あるいは、表示領域算出部２３は、投影対象物体の各点における、高さ方向の値ZW2を、その点のXwYw平面における位置(XW2,YW2)における、作業対象物体の高さを、ZW2'としてもよい。これにより、投影対象物体の位置が、仮想的に作業対象物体の表面にシフトされる。なお、位置ずらしモードが設定されている場合には、表示領域算出部２３は、ZW2'を、作業台の表面の高さ、すなわち、0に設定してもよい。
【００７３】
そして表示領域算出部２３は、第１の実施形態と同様に、投影対象物体の各点について、その点の世界座標系での座標(XW2,YW2,ZW2')を、（３）式に従って、プロジェクタ座標系上の座標値に変換する。
【００７４】
さらに、表示領域算出部２３は、第１の実施形態と同様に、投影対象物体の各点について、プロジェクタ座標系での座標に対応する、プロジェクタ１２の表示面上での座標を、（４）式に従って算出すればよい。
【００７５】
投影制御部２４は、第１の実施形態と同様に、撮像時に得られた各距離画像について、その距離画像から検出された物体領域に対応する、プロジェクタ１２の表示面における表示領域に投影対象物体の像を表示する。これにより、投影制御部２４は、投影面（作業対象物体または作業台の表面）上に投影対象物体の像を投影する。本実施形態では、投影制御部２４は、表示領域内の各画素の値を、その画素に対応する投影対象物体の点が写った、カメラ１５による画像上の画素の値とする。
【００７６】
そこで、投影制御部２４は、各距離画像について、その距離画像から検出された投影対象物体の各点に対応する、カメラ座標系での座標(XC,YC,ZC)に対応する、カメラ１５により得られる画像上の画素の座標(xc,yc)を、次式に従って特定する。
【数１１】
0006645151.tif 000012
ここで、fcは、カメラ１５の焦点距離を表し、CW及びCHは、それぞれ、カメラ１５により得られる画像の水平方向画素数及び垂直方向画素数を表す。またCfovDは、カメラ１５の対角視野角を表す。
【００７７】
投影制御部２４は、距離画像の取得時に最も近い時刻に取得された画像において、その距離画像から検出された投影対象物体の各点に対応する(xc,yc)における画素の値を求める。そして投影制御部２４は、その画素の値を、投影対象物体のその点に対応する、プロジェクタ１２の表示面上の画素の値とする。これにより、投影制御部２４は、カメラ１５により得られた投影対象物体の像を投影できる。
【００７８】
図１１は、第２の実施形態による、投影処理の動作フローチャートである。
【００７９】
物体領域検出部２１は、撮像時において、距離センサ１１から得られた各距離画像上で投影対象物体が写っている物体領域を検出する（ステップＳ３０１）。そして物体領域検出部２１は、物体領域を実空間位置算出部２２へ通知する。
【００８０】
実空間位置算出部２２は、各距離画像の物体領域に対応する投影対象物体の各点の世界座標系における座標を算出することで、投影対象物体の実空間における位置を算出する（ステップＳ３０２）。そして実空間位置算出部２２は、各距離画像について、投影対象物体の各点の世界座標系での座標を記憶部１３に保存する。
さらに、実空間位置算出部２２は、作業対象物体及び作業台の表面が写っている距離画像の各画素に写っている点についての世界座標系における座標を算出し、記憶部１３に保存する（ステップＳ３０３）。
【００８１】
さらに、位置検出部２５は、撮像時に得られた、作業対象物体及び作業台の表面が写っている距離画像またはカメラ１５による画像から、作業対象物体の基準点を検出し、記憶部１３に保存する（ステップＳ３０４）。
【００８２】
同様に、位置検出部２５は、投影時に得られた、作業対象物体及び作業台の表面が写っている距離画像またはカメラ１５による画像から、作業対象物体の基準点を検出し、記憶部１３に保存する（ステップＳ３０５）。
【００８３】
位置合わせ部２６は、撮像時に得られた各距離画像について、その距離画像から検出された投影対象物体の実空間での位置を、投影時の作業対象物体に位置合わせする（ステップＳ３０６）。
【００８４】
表示領域算出部２３は、撮像時に得られた各距離画像について、その距離画像から検出された投影対象物体の各点について、その点の世界座標系での作業台の表面からの高さを作業対象物体の高さに置換する。そして表示領域算出部２３は、撮像時に得られた各距離画像について、その距離画像から検出された投影対象物体の各点に対応するプロジェクタ１２の表示面上の対応画素の座標を算出することで、表示面上の表示領域を算出する（ステップＳ３０７）。
【００８５】
投影制御部２４は、撮像時に得られた各距離画像について、その距離画像から検出された投影対象物体の各点について、その点に対応する、カメラ１５による画像上の画素の値を、プロジェクタ１２の対応画素の値に設定する（ステップＳ３０８）。そして投影制御部２４は、距離画像の撮影順序に従って、順次、距離画像に対応する、設定された各画素の値で表される投影対象物体の像をプロジェクタ１２の表示領域に表示させる。これにより、投影制御部２４は、投影対象物体の像を作業対象物体あるいは作業台の表面に投影する（ステップＳ３０９）。そして制御部１４は、投影処理を終了する。なお、制御部１４は、第１の実施形態と同様に、撮像時においては、各距離画像を記憶部１３に保存するのみとし、投影時において、ステップＳ３０１〜Ｓ３０４の処理も併せて実行してもよい。
【００８６】
以上に説明してきたように、第２の実施形態によれば、投影装置は、撮像時と投影時とで、作業対象物体の位置が異なっていても、投影対象物体の像をその作業対象物体に位置合わせして投影することができる。そしてこの投影装置は、投影対象物体の実空間の位置を作業対象物体の高さに合わせてから表示領域を算出するので、作業対象物体上に投影された投影対象物体の像のサイズと投影対象物体の実際のサイズとが一致するように投影対象物体の像を投影できる。さらに、この投影装置は、カメラにより撮影された投影対象物体の像を作業対象物体上に投影するので、投影された投影対象物体の像のリアリティ性を向上できる。
【００８７】
なお、上記の各実施形態についての変形例によれば、投影制御部２４は、撮像時における、作業台の表面から投影対象物体までの高さに応じて、投影時における、投影対象物体の像の輪郭の色を変更してもよい。
【００８８】
この場合、投影制御部２４は、撮像時に得られた各距離画像について、その距離画像から検出された投影対象物体に対応する、プロジェクタ１２の表示面上の表示領域の輪郭を検出する。なお、投影制御部２４は、表示領域に含まれる各画素のうち、隣接する画素の何れかが表示領域に含まれない画素を、輪郭上の画素とすることができる。そして投影制御部２４は、輪郭上の各画素についての値を、(R,G,B)=(255-Zwmin,0,Zmin)に設定する。なお、Zminは、上述したように、投影対象物体において作業台の表面から最も近い点の作業台の表面からの高さである。このように輪郭上の各画素の値を設定することで、撮像時において投影対象物体が作業台の表面に近いほど、投影時において、投影対象物体の像の輪郭の色が赤くなる。逆に、撮像時において投影対象物体が作業台の表面から離れるほど、投影時において、投影対象物体の像の輪郭の色が青くなる。
【００８９】
なお、投影制御部２４は、表示領域の輪郭を太くしてもよい。この場合には、投影制御部２４は、例えば、表示領域の輪郭上の画素の集合に対して、モルフォロジー演算の膨張演算を所定回繰り返せばよい。
【００９０】
また、他の変形例によれば、投影制御部２４は、撮像時における、作業台の表面から投影対象物体までの高さに応じて、投影時における、投影対象物体の像の輪郭のサイズを変更してもよい。例えば、投影制御部２４は、作業台の表面から投影対象物体までの高さが高いほど、投影対象物体の像の輪郭のサイズを大きくしてもよい。
【００９１】
この場合、投影制御部２４は、例えば、プロジェクタ１２の表示面上での垂直方向座標ごとに、水平方向座標が最小となる輪郭上の画素（以下、左画素と呼ぶ）と水平方向座標が最大となる輪郭上の画素（以下、右画素と呼ぶ）とを求める。そして投影制御部２４は、プロジェクタ１２の表示面上での垂直方向座標ごとに、その垂直方向座標における左画素を水平方向に沿ってZwmin/10だけ左方向にシフトさせ、その垂直方向座標における右画素を水平方向に沿ってZwmin/10だけ右方向にシフトさせる。
【００９２】
あるいは、投影制御部２４は、投影対象物体の各点について、その点の世界座標系での座標(XW2,YW2,ZW2)をそのまま（３）式に従ってプロジェクタ座標系上の座標に変換し、変換後の座標から、（４）式に従ってプロジェクタ１２の表示面上の座標を求めてもよい。これにより、撮像時における、作業台の表面から投影対象物体の高さに応じた、表示面上の投影対象物体の範囲が求められる。そして投影制御部２４は、上記の表示領域とともに、その範囲の輪郭上の各画素の値を、所定の色で表示してもよい。この場合、投影される輪郭のサイズは、撮像時における、距離センサ１１から見た、投影対象物体のサイズとなる。
【００９３】
図１２（ａ）は、この変形例による、撮像時における投影対象物体の作業台の表面からの高さが相対的に低い場合における、投影対象物体の像の一例を示す図である。図１２（ｂ）は、この変形例による、撮像時における投影対象物体の作業台の表面からの高さが相対的に高い場合における、投影対象物体の像の他の一例を示す図である。
【００９４】
図１２（ａ）では、投影対象物体の像１２００に沿ってその輪郭１２０１が表示されている。これに対して、図１２（ｂ）では、投影対象物体の像１２００よりも、輪郭１２０１の方が、水平方向に拡がって表示されている。そのため、ユーザは、投影対象物体の輪郭により、撮像時における投影対象物体の高さを認知することができる。
【００９５】
なお、この変形例でも、投影制御部２４は、輪郭上の各画素の色を、撮像時における、作業台の表面から投影対象物体までの高さに応じて変更してもよい。
【００９６】
また、距離センサの画素数よりも、プロジェクタの表示面の画素数の方が多いことがある。この場合、表示領域に含まれる、投影対象物体の各点に対応する、プロジェクタ１２の表示面上の点は、離散的となる。そこで他の変形例によれば、表示領域算出部２３は、投影対象物体の各点に対応する、プロジェクタ１２の表示面上の座標を求めた後、表示領域に対してモルフォロジーの膨張収縮演算を所定回数（例えば、1〜2回）実行することで、表示領域を補間してもよい。
【００９７】
また、第２の実施形態による投影制御部２４は、第１の実施形態と同様に、プロジェクタ１２の表示面上の表示領域内の画素の値を、予め設定された所定値、あるいは、（５）式または（６）式により求められる値としてもよい。あるいはまた、投影制御部２４は、プロジェクタ１２の表示面上の表示領域内の画素の値を、次式に従って設定してもよい。
【数１２】
0006645151.tif 000013
ここでR,G,Bは、それぞれ、画素の赤色成分、緑色成分、青色成分の値である。またAは、透明度を表すアルファ値である。またZwは、その画素に対応する、投影対象物体の点の世界座標系での作業台表面からの高さを表す。そしてZaveWは、物体領域のYw軸方向の先端、すなわち、投影対象物体の先端から、Yw軸方向に沿って所定範囲（例えば、150mm）内に存在する投影対象物体の各点の世界座標系での作業台表面からの高さの平均値を表す。またZsurfaceWは、物体領域のYw軸方向の先端から、Yw軸方向に沿って所定範囲（例えば、150mm）内となる、物体領域内の各点のXw軸方向の平均値及びYw軸方向の平均値における、投影面（例えば、作業対象物体の表面）の高さを表す。そしてα、βは、それぞれ、定数であり、例えば、α=1.2、β=128に設定される。そしてこの場合には、カメラ１５は省略されてもよい。そして位置合わせ部２６は、ステップＳ２０１及びＳ２０３において、投影対象物体の各点の座標を、カメラ座標系に変換する代わりに、プロジェクタ座標系あるいは距離センサ座標系に変換してもよい。これにより、投影対象物体の像において、その形状は濃淡で表され、かつ、投影面からの投影対象物体の高さが透明度で表される。
さらに、（１２）式において、R、G、Bそれぞれにおけるβは、その画素に対応する、カメラ１５による画像上の対応画素の赤色成分値、緑色成分値、青色成分値であってもよい。この場合には、投影制御部２４は、投影対象物体の像において、その投影対象物体の色の情報を保ったまま、投影面から投影対象物体までの高さに応じて投影対象物体の像の明るさを変化させることができる。
【００９８】
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【００９９】
以上説明した実施形態及びその変形例に関し、更に以下の付記を開示する。
（付記１）
距離センサから得た、対象物体と前記距離センサ間の距離を画素値で表した距離画像上で、前記対象物体が写っている物体領域を検出する物体領域検出部と、
前記物体領域内の前記対象物体に対応する各画素について、当該画素に写っている前記対象物体の実空間での位置を算出する実空間位置算出部と、
前記物体領域に対応する前記対象物体について、実空間での位置を投影面上の位置にシフトし、シフト後の位置に対応する、プロジェクタの表示面上の位置を算出することで、前記対象物体に対応する前記プロジェクタの前記表示面上の表示領域を算出する表示領域算出部と、
前記プロジェクタの前記表示面上の前記表示領域に、前記対象物体の像を表示させることで、前記投影面に前記対象物体の像を投影する投影制御部と、
を有する投影装置。
（付記２）
前記投影制御部は、前記距離画像の撮影時における、前記投影面から前記対象物体までの高さに応じて、前記プロジェクタの前記表示面上に表示される前記対象物体の像を変化させる、付記１に記載の投影装置。
（付記３）
前記投影制御部は、前記距離画像の撮影時における、前記投影面から前記対象物体までの高さに応じて、前記プロジェクタの前記表示面上に表示される前記対象物体の像の色、輝度及び透過度の少なくとも一つを変化させる、付記２に記載の投影装置。
（付記４）
前記投影制御部は、前記距離画像の撮影時における、前記投影面から前記対象物体までの高さに応じて、前記プロジェクタの前記表示面上に表示される前記対象物体の像の輪郭のサイズを変化させる、付記２に記載の投影装置。
（付記５）
前記対象物体の撮影時における、所定の物体の第１の位置と、前記対象物体の像を投影するときの前記所定の物体の第２の位置とを検出する位置検出部と、
前記対象物体の撮影時における、前記第１の位置と前記対象物体との位置関係と、前記第２の位置とに応じて、前記投影面での前記対象物体の像の位置を決定する位置合わせ部をさらに有し、
前記表示領域算出部は、前記投影面での前記対象物体の像の位置に応じて前記プロジェクタの前記表示面上の前記表示領域を決定する、付記１〜４の何れか一項に記載の投影装置。
（付記６）
前記位置合わせ部は、前記第１の位置と前記対象物体との位置関係と、前記第２の位置と前記投影面での前記対象物体の像との位置関係が同一となるように、前記投影面での前記対象物体の像の位置を決定する、付記５に記載の投影装置。
（付記７）
前記位置合わせ部は、前記第１の位置に対する前記対象物体の位置ずれ量だけ前記第２の位置から移動した位置に対して所定のオフセット量だけずらした位置を、前記投影面での前記対象物体の像の位置とする、付記５に記載の投影装置。
（付記８）
前記投影制御部は、前記表示領域内の画素ごとに、当該画素の値を、前記撮像時において前記対象物体をカメラが撮影して得られた画像上で対応する画素の値に設定する、付記１〜７の何れか一項に記載の投影装置。
（付記９）
距離センサから得た、対象物体と前記距離センサ間の距離を画素値で表した距離画像上で前記対象物体が写っている物体領域を検出し、
前記物体領域内の前記対象物体に対応する各画素について、当該画素に写っている前記対象物体の実空間での位置を算出し、
前記領域に対応する前記対象物体について、実空間での位置を投影面上の位置にシフトし、シフト後の位置に対応する、プロジェクタの表示面上の位置を算出することで、前記対象物体に対応する前記プロジェクタの前記表示面上の表示領域を算出し、
前記プロジェクタの前記表示面上の前記表示領域に、前記対象物体の像を表示させることで、前記投影面に前記対象物体の像を投影する、
ことを含む投影方法。
（付記１０）
距離センサから得た、対象物体と前記距離センサ間の距離を画素値で表した距離画像上で前記対象物体が写っている物体領域を検出し、
前記物体領域内の前記対象物体に対応する各画素について、当該画素に写っている前記対象物体の実空間での位置を算出し、
前記領域に対応する前記対象物体について、実空間での位置を投影面上の位置にシフトし、シフト後の位置に対応する、プロジェクタの表示面上の位置を算出することで、前記対象物体に対応する前記プロジェクタの前記表示面上の表示領域を算出し、
前記プロジェクタの前記表示面上の前記表示領域に、前記対象物体の像を表示させることで、前記投影面に前記対象物体の像を投影する、
ことをコンピュータに実行させるための投影用コンピュータプログラム。
【符号の説明】
【０１００】
１、２    投影装置
１１    距離センサ
１２    プロジェクタ
１３    記憶部
１４    制御部
１５    カメラ
１００    投影面
１０１    投影対象物体
２００    作業台表面
２０１    投影対象物体
２０２    作業対象物体
２１    物体領域検出部
２２    実空間位置算出部
２３    表示領域算出部
２４    投影制御部
２５    位置検出部
２６    位置合わせ部
【図１】
0006645151.tif 000014
【図２】
0006645151.tif 000015
【図３】
0006645151.tif 000016
【図４】
0006645151.tif 000017
【図５】
0006645151.tif 000018
【図６】
0006645151.tif 000019
【図７】
0006645151.tif 000020
【図８】
0006645151.tif 000021
【図９】
0006645151.tif 000022
【図１０】
0006645151.tif 000023
【図１１】
0006645151.tif 000024
【図１２】
0006645151.tif 000025