(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-20
(45)【発行日】2023-09-28
(54)【発明の名称】プロジェクションシステム、プロジェクション制御装置、プロジェクション制御プログラム、及びプロジェクションシステムの制御方法
(51)【国際特許分類】
H04N 13/327 20180101AFI20230921BHJP
H04N 13/39 20180101ALI20230921BHJP
G09G 5/00 20060101ALI20230921BHJP
G03B 21/00 20060101ALI20230921BHJP
G03B 21/14 20060101ALI20230921BHJP
【FI】
H04N13/327
H04N13/39
G09G5/00 510B
G09G5/00 510V
G09G5/00 550C
G03B21/00 D
G03B21/14 Z
(21)【出願番号】P 2019108015
(22)【出願日】2019-06-10
【審査請求日】2022-06-09
(73)【特許権者】
【識別番号】519011485
【氏名又は名称】株式会社アブストラクトエンジン
(74)【代理人】
【識別番号】100180275
【氏名又は名称】吉田 倫太郎
(74)【代理人】
【識別番号】100161861
【氏名又は名称】若林 裕介
(74)【代理人】
【識別番号】100194836
【氏名又は名称】長谷部 優一
(72)【発明者】
【氏名】真鍋 大度
(72)【発明者】
【氏名】石橋 素
(72)【発明者】
【氏名】花井 裕也
【審査官】佐野 潤一
(56)【参考文献】
【文献】特開2003-270719(JP,A)
【文献】特表2013-520751(JP,A)
【文献】特開2000-352761(JP,A)
【文献】特開2016-081497(JP,A)
【文献】国際公開第2015/170680(WO,A1)
【文献】特開2005-326247(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 13/00
H04N 5/74
H04N 9/31
G03B 21/00
G09G 5/00
(57)【特許請求の範囲】
【請求項1】
3D座標空間に設置された複数のプロジェクタと、前記プロジェクタを制御するプロジェクション制御装置と
、前記3D座標空間内に存在するマーカの位置を検知するマーカ検知手段と、前記3D座標空間内を撮像するセンサカメラとを備えるプロジェクションシステムに
であって、
前記プロジェクション制御装置は、
それぞれの前記プロジェクタについて、キャリブレーションを行った結果取得されるプロジェクタキャリブレーションパラメータを取得し、それぞれの前記プロジェクタについて、プロジェクタキャリブレーションパラメータを用いて、前記3D座標空間上の3D画像を、それぞれの前記プロジェクタ用の2D画像に変換して取得する画像変換手段と、
それぞれの前記プロジェクタに、前記画像変換手段が取得した2D画像の画像光を前記3D座標空間内に照射させるプロジェクタ制御手段と、
前記3D座標空間内に配置された投影面が設けられた被投影体と複数のマーカを有する第1のキャリブレーションオブジェクトを含む空間に対して、前記第1のキャリブレーションオブジェクトに所定のキャリブレーション動画像を投影させている間、前記センサカメラに前記第1のキャリブレーションオブジェクトを撮像させると共に前記マーカ検知手段に前記第1のキャリブレーションオブジェクトのマーカを検知させ、前記センサカメラが撮像した撮像画像と前記マーカ検知手段の検知結果に基づいて、それぞれの前記プロジェクタの2D座標と3D座標の対応関係のサンプルを取得し、取得したサンプルに基づいて、それぞれの前記プロジェクタのプロジェクタキャリブレーションパラメータを取得する第1のキャリブレーション手段とを有する
ことを特徴とするプロジェクションシステム。
【請求項2】
前記プロジェクション制御装置は、
前記3D座標空間内に配置されたチェッカー画像が形成されたチェッカーボードと複数のマーカとを有する第2のキャリブレーションオブジェクトを前記センサカメラに撮像させると共に、前記マーカ検知手段に前記第2のキャリブレーションオブジェクトのマーカを検知させ、前記センサカメラが撮像した撮像画像と前記マーカ検知手段の検知結果に基づいて、前記センサカメラが撮像する2D画像の2D座標と3D座標の対応関係のサンプルを取得し、取得したサンプルに基づいて、前記センサカメラについてキャリブレーション処理を行ってカメラキャリブレーションパラメータを取得する第2のキャリブレーション手段をさらに有する
ことを特徴とする請求項
1に記載のプロジェクションシステム。
【請求項3】
3D座標空間に設置された複数のプロジェクタと、前記プロジェクタを制御するプロジェクション制御装置と
、前記3D座標空間内に存在するマーカの位置を検知するマーカ検知手段と、前記3D座標空間内を撮像するセンサカメラとを備えるプロジェクションシステムを構成する前記プロジェクション制御装置において、
それぞれの前記プロジェクタについて、キャリブレーションを行った結果取得されるプロジェクタキャリブレーションパラメータを取得し、それぞれの前記プロジェクタについて、プロジェクタキャリブレーションパラメータを用いて、前記3D座標空間上の3D画像を、それぞれの前記プロジェクタ用の2D画像に変換して取得する画像変換手段と、
それぞれの前記プロジェクタに、前記画像変換手段が取得した2D画像の画像光を前記3D座標空間内に照射させるプロジェクタ制御手段と、
前記3D座標空間内に配置された投影面が設けられた被投影体と複数のマーカを有する第1のキャリブレーションオブジェクトを含む空間に対して、前記第1のキャリブレーションオブジェクトに所定のキャリブレーション動画像を投影させている間、前記センサカメラに前記第1のキャリブレーションオブジェクトを撮像させると共に前記マーカ検知手段に前記第1のキャリブレーションオブジェクトのマーカを検知させ、前記センサカメラが撮像した撮像画像と前記マーカ検知手段の検知結果に基づいて、それぞれの前記プロジェクタの2D座標と3D座標の対応関係のサンプルを取得し、取得したサンプルに基づいて、それぞれの前記プロジェクタのプロジェクタキャリブレーションパラメータを取得する第1のキャリブレーション手段と
を有することを特徴とするプロジェクション制御装置。
【請求項4】
3D座標空間に設置された複数のプロジェクタと、前記プロジェクタを制御するプロジェクション制御装置と
、前記3D座標空間内に存在するマーカの位置を検知するマーカ検知手段と、前記3D座標空間内を撮像するセンサカメラとを備えるプロジェクションシステムを構成する前記プロジェクション制御装置に搭載されたコンピュータを、
それぞれの前記プロジェクタについて、キャリブレーションを行った結果取得されるプロジェクタキャリブレーションパラメータを取得し、それぞれの前記プロジェクタについて、プロジェクタキャリブレーションパラメータを用いて、前記3D座標空間上の3D画像を、それぞれの前記プロジェクタ用の2D画像に変換して取得する画像変換手段と、
それぞれの前記プロジェクタに、前記画像変換手段が取得した2D画像の画像光を前記3D座標空間内に照射させるプロジェクタ制御手段と
前記3D座標空間内に配置された投影面が設けられた被投影体と複数のマーカを有する第1のキャリブレーションオブジェクトを含む空間に対して、前記第1のキャリブレーションオブジェクトに所定のキャリブレーション動画像を投影させている間、前記センサカメラに前記第1のキャリブレーションオブジェクトを撮像させると共に前記マーカ検知手段に前記第1のキャリブレーションオブジェクトのマーカを検知させ、前記センサカメラが撮像した撮像画像と前記マーカ検知手段の検知結果に基づいて、それぞれの前記プロジェクタの2D座標と3D座標の対応関係のサンプルを取得し、取得したサンプルに基づいて、それぞれの前記プロジェクタのプロジェクタキャリブレーションパラメータを取得する第1のキャリブレーション手段として機能させる
ことを特徴とするプロジェクション制御プログラム。
【請求項5】
3D座標空間に設置された複数のプロジェクタ
と、前記プロジェクタを制御するプロジェクション制御装置と、前記3D座標空間内に存在するマーカの位置を検知するマーカ検知手段と、前記3D座標空間内を撮像するセンサカメラとを備えるプロジェクションシステムの制御方法において、
前記プロジェクション制御装置は、画像変換手
段、プロジェクタ制御手段
及び第1のキャリブレーション手段を備え、
前記画像変換手段は、それぞれの前記プロジェクタについて、キャリブレーションを行った結果取得されるプロジェクタキャリブレーションパラメータを取得し、それぞれの前記プロジェクタについて、プロジェクタキャリブレーションパラメータを用いて、前記3D座標空間上の3D画像を、それぞれの前記プロジェクタ用の2D画像に変換して取得し、
前記プロジェクタ制御手段は、それぞれの前記プロジェクタに、前記画像変換手段が取得した2D画像の画像光を前記3D座標空間内に照射させ
、
前記第1のキャリブレーション手段は、前記3D座標空間内に配置された投影面が設けられた被投影体と複数のマーカを有する第1のキャリブレーションオブジェクトを含む空間に対して、前記第1のキャリブレーションオブジェクトに所定のキャリブレーション動画像を投影させている間、前記センサカメラに前記第1のキャリブレーションオブジェクトを撮像させると共に前記マーカ検知手段に前記第1のキャリブレーションオブジェクトのマーカを検知させ、前記センサカメラが撮像した撮像画像と前記マーカ検知手段の検知結果に基づいて、それぞれの前記プロジェクタの2D座標と3D座標の対応関係のサンプルを取得し、取得したサンプルに基づいて、それぞれの前記プロジェクタのプロジェクタキャリブレーションパラメータを取得する
ことを特徴とするプロジェクションシステムの制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プロジェクションシステム、プロジェクション制御装置、プロジェクション制御プログラム、及びプロジェクションシステムの制御方法に関し、例えば、プロジェクションシステムのキャリブレーションに適用し得る。
【背景技術】
【0002】
従来、プロジェクタを用いて映像を投影面に投影する際には、投射面上の投射画像の歪みを抑制するためのキャリブレーションが行われる。
【0003】
従来、プロジェクタの投影画像をキャリブレーションする技術としては、特許文献1、2の記載技術が存在する。特許文献1、2の記載技術では、プロジェクタにより投影された投射画像(輪郭が矩形の投影画像)の四隅の点を移動させることで、投影画像の輪郭を正確な矩形とすることで投影画像の歪みを抑制している。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2003-304552号公報
【文献】特開2019-078845号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来のプロジェクタのキャリブレーションでは、あくまで、画像を投影面に投影することが前提となっているため、映像を3D空間上に投影(例えば、発煙装置で煙を充満させた空間への映像投影)して、3D空間上に所望の3D画像を結像させることについてまでは想定されていない。
【0006】
そのため、プロジェクタを用いて3D空間上に所望の3D画像を結像させることができるプロジェクションシステム、プロジェクション制御装置、プロジェクション制御プログラム、及びプロジェクションシステムの制御方法が望まれている。
【課題を解決するための手段】
【0007】
第1の本発明は、3D座標空間に設置された複数のプロジェクタと、前記プロジェクタを制御するプロジェクション制御装置と、前記3D座標空間内に存在するマーカの位置を検知するマーカ検知手段と、前記3D座標空間内を撮像するセンサカメラとを備えるプロジェクションシステムにであって、前記プロジェクション制御装置は、それぞれの前記プロジェクタについて、キャリブレーションを行った結果取得されるプロジェクタキャリブレーションパラメータを取得し、それぞれの前記プロジェクタについて、プロジェクタキャリブレーションパラメータを用いて、前記3D座標空間上の3D画像を、それぞれの前記プロジェクタ用の2D画像に変換して取得する画像変換手段と、それぞれの前記プロジェクタに、前記画像変換手段が取得した2D画像の画像光を前記3D座標空間内に照射させるプロジェクタ制御手段と、前記3D座標空間内に配置された投影面が設けられた被投影体と複数のマーカを有する第1のキャリブレーションオブジェクトを含む空間に対して、前記第1のキャリブレーションオブジェクトに所定のキャリブレーション動画像を投影させている間、前記センサカメラに前記第1のキャリブレーションオブジェクトを撮像させると共に前記マーカ検知手段に前記第1のキャリブレーションオブジェクトのマーカを検知させ、前記センサカメラが撮像した撮像画像と前記マーカ検知手段の検知結果に基づいて、それぞれの前記プロジェクタの2D座標と3D座標の対応関係のサンプルを取得し、取得したサンプルに基づいて、それぞれの前記プロジェクタのプロジェクタキャリブレーションパラメータを取得する第1のキャリブレーション手段をさらに有することを特徴とする。
【0008】
第2の本発明は、3D座標空間に設置された複数のプロジェクタと、前記プロジェクタを制御するプロジェクション制御装置と、前記3D座標空間内に存在するマーカの位置を検知するマーカ検知手段と、前記3D座標空間内を撮像するセンサカメラを備えるプロジェクションシステムを構成する前記プロジェクション制御装置において、それぞれの前記プロジェクタについて、キャリブレーションを行った結果取得されるプロジェクタキャリブレーションパラメータを取得し、それぞれの前記プロジェクタについて、プロジェクタキャリブレーションパラメータを用いて、前記3D座標空間上の3D画像を、それぞれの前記プロジェクタ用の2D画像に変換して取得する画像変換手段と、それぞれの前記プロジェクタに、前記画像変換手段が取得した2D画像の画像光を前記3D座標空間内に照射させるプロジェクタ制御手段と、前記3D座標空間内に配置された投影面が設けられた被投影体と複数のマーカを有する第1のキャリブレーションオブジェクトを含む空間に対して、前記第1のキャリブレーションオブジェクトに所定のキャリブレーション動画像を投影させている間、前記センサカメラに前記第1のキャリブレーションオブジェクトを撮像させると共に前記マーカ検知手段に前記第1のキャリブレーションオブジェクトのマーカを検知させ、前記センサカメラが撮像した撮像画像と前記マーカ検知手段の検知結果に基づいて、それぞれの前記プロジェクタの2D座標と3D座標の対応関係のサンプルを取得し、取得したサンプルに基づいて、それぞれの前記プロジェクタのプロジェクタキャリブレーションパラメータを取得する第1のキャリブレーション手段とを有することを特徴とする。
【0009】
第3の本発明のプロジェクション制御プログラムは、3D座標空間に設置された複数のプロジェクタと、前記プロジェクタを制御するプロジェクション制御装置と、前記3D座標空間内に存在するマーカの位置を検知するマーカ検知手段と、前記3D座標空間内を撮像するセンサカメラとを備えるプロジェクションシステムの制御方法において、前記プロジェクション制御装置は、画像変換手段プロジェクタ制御手段及び第1のキャリブレーション手段を備え、前記画像変換手段は、それぞれの前記プロジェクタについて、キャリブレーションを行った結果取得されるプロジェクタキャリブレーションパラメータを取得し、それぞれの前記プロジェクタについて、プロジェクタキャリブレーションパラメータを用いて、前記3D座標空間上の3D画像を、それぞれの前記プロジェクタ用の2D画像に変換して取得し、前記プロジェクタ制御手段は、それぞれの前記プロジェクタに、前記画像変換手段が取得した2D画像の画像光を前記3D座標空間内に照射させ前記3D座標空間内に配置された投影面が設けられた被投影体と複数のマーカを有する第1のキャリブレーションオブジェクトを含む空間に対して、前記第1のキャリブレーションオブジェクトに所定のキャリブレーション動画像を投影させている間、前記センサカメラに前記第1のキャリブレーションオブジェクトを撮像させると共に前記マーカ検知手段に前記第1のキャリブレーションオブジェクトのマーカを検知させ、前記センサカメラが撮像した撮像画像と前記マーカ検知手段の検知結果に基づいて、それぞれの前記プロジェクタの2D座標と3D座標の対応関係のサンプルを取得し、取得したサンプルに基づいて、それぞれの前記プロジェクタのプロジェクタキャリブレーションパラメータを取得する第1のキャリブレーション手段として機能させることを特徴とする。
【0010】
第4の本発明は、3D座標空間に設置された複数のプロジェクタと、前記プロジェクタを制御するプロジェクション制御装置と、前記3D座標空間内に存在するマーカの位置を検知するマーカ検知手段と、前記3D座標空間内を撮像するセンサカメラとを備えるプロジェクションシステムの制御方法において、前記プロジェクション制御装置は、画像変換手段、プロジェクタ制御手段及び第1のキャリブレーション手段を備え、前記画像変換手段は、それぞれの前記プロジェクタについて、キャリブレーションを行った結果取得されるプロジェクタキャリブレーションパラメータを取得し、それぞれの前記プロジェクタについて、プロジェクタキャリブレーションパラメータを用いて、前記3D座標空間上の3D画像を、それぞれの前記プロジェクタ用の2D画像に変換して取得し、前記プロジェクタ制御手段は、それぞれの前記プロジェクタに、前記画像変換手段が取得した2D画像の画像光を前記3D座標空間内に照射させ、前記第1のキャリブレーション手段は、前記3D座標空間内に配置された投影面が設けられた被投影体と複数のマーカを有する第1のキャリブレーションオブジェクトを含む空間に対して、前記第1のキャリブレーションオブジェクトに所定のキャリブレーション動画像を投影させている間、前記センサカメラに前記第1のキャリブレーションオブジェクトを撮像させると共に前記マーカ検知手段に前記第1のキャリブレーションオブジェクトのマーカを検知させ、前記センサカメラが撮像した撮像画像と前記マーカ検知手段の検知結果に基づいて、それぞれの前記プロジェクタの2D座標と3D座標の対応関係のサンプルを取得し、取得したサンプルに基づいて、それぞれの前記プロジェクタのプロジェクタキャリブレーションパラメータを取得することを特徴とする。
【発明の効果】
【0011】
本発明によれば、プロジェクタを用いて3D空間上に所望の3D画像を結像させることができる。
【図面の簡単な説明】
【0012】
【
図1】実施形態に係るプロジェクションシステムの全体構成を示すブロック図である。
【
図2】実施形態に係るプロジェクションシステムで3D画像を結像させる3D座標空間の斜視図である。
【
図3】実施形態に係るプロジェクションシステムで3D画像を結像させる3D座標空間の正面図である。
【
図4】実施形態に係るプロジェクションシステムにおける各装置の配置位置の例について示した図である。
【
図5】実施形態に係るフレームに設置される各装置(モーションキャプチャカメラ、プロジェクタ)の位置を示した図である。
【
図6】実施形態に係る3D座標空間において、原点P0を中心とする床面周辺に設置される各装置(プロジェクタ、デジタルフィルムカメラ、発煙装置)の位置を示した図である。
【
図7】実施形態に係るキャリブレーション用ワンドの構成について示す図(斜視図)である。
【
図8】実施形態に係るキャリブレーション用ボードの構成を示す図(平面図)である。
【
図9】実施形態に係るキャリブレーションオブジェクトの構成を示す図(斜視図と平面図)である。
【
図10】実施形態に係るキャリブレーションオブジェクトの個体識別に関する説明図である。
【
図11】実施形態に係るキャリブレーション用ボードについて検知対象となる位置(認識位置)について示した図である。
【
図12】実施形態に係るキャリブレーション用ボード上で検知される検知位置について示した説明図である。
【
図13】実施形態に係るキャリブレーションオブジェクトについて認識対象となる認識位置について示した図である。
【
図14】実施形態に係るプロジェクションシステムにおいて行われるキャリブレーション処理の基本的な流れについて示したフローチャートである。
【
図15】実施形態に係るモーションキャプチャシステムのキャリブレーション方法について示した説明図である。
【
図16】実施形態に係るデジタルフィルムカメラのキャリブレーション方法について示した説明図である。
【
図17】実施形態に係るモーションキャプチャ処理部による各デジタルフィルムカメラのキャリブレーションの処理の流れについて示したフローチャートである。
【
図18】実施形態に係る各デジタルフィルムカメラに関するキャリブレーション処理について示した図である。
【
図19】実施形態に係る3D座標空間内に、キャリブレーションオブジェクトが設置された状態について示した図(斜視図)である。
【
図20】実施形態に係るキャリブレーションオブジェクトにグレイコードパターンが投影された状態で示す図である。
【
図21】実施形態に係るプロジェクションシステムにおいて、3Dモデル(3Dモデルシーケンス)に基づく3D画像を3D座標空間CSに結像させる処理について示したフローチャートである。
【
図22】実施形態に係るプロジェクションシステムで3D座標空間に3Dモデル(3Dモデルシーケンス)に基づく3D画像が結像された状態について示した図である。
【
図23】実施形態に係るプロジェクションシステムにおいて、3D座標空間内にインタラクティブ3D画像結像させる処理について示したフローチャートである。
【
図24】実施形態に係るプロジェクションシステムにおいて、3D座標空間内にインタラクティブ3D画像結像させた状態について示した図である。
【発明を実施するための形態】
【0013】
(A)主たる実施形態
以下、本発明によるプロジェクションシステム、プロジェクション制御装置、プロジェクション制御プログラム、及びプロジェクションシステムの制御方法の一実施形態を、図面を参照しながら詳述する。
【0014】
(A-1)実施形態の構成
図1は、この実施形態のプロジェクションシステム1の全体構成を示すブロック図である。
【0015】
プロジェクションシステム1は、全体の各装置を制御するプロジェクション制御装置10、28台のモーションキャプチャカメラ20(20-1~20-28)、2台のデジタルフィルムカメラ30(30-1、20-3)、24台のプロジェクタ40(40-1~40-24)、及び4台の発煙装置50(50-1~50-4)を有している。なお、プロジェクションシステム1を構成する各装置の数は
図1の例に限定されないものである。
【0016】
モーションキャプチャカメラ20は、光学式のモーションキャプチャシステムに用いられるカメラ(センサ)である。
【0017】
デジタルフィルムカメラ30は、後述するキャリブレーション用動画像(後述するグレイコードパターン)を検知するためのセンサカメラとして機能する装置である。デジタルフィルムカメラ30は、センサカメラとして機能する種々のカメラ装置やイメージセンサに置き換えることができる。
【0018】
プロジェクタ40は、供給される2D画像の映像信号に基づいた光(投影光)を発光する投影装置である。プロジェクタ40としては、種々のプロジェクタを適用することができる。
【0019】
プロジェクションシステム1は、プロジェクタ40を用いて、3D空間である3D座標空間CS内に、3D画像を結像させるシステムである。3D座標空間CSは、
図1に示すように、互いに直交する3つの軸(X軸、Y軸、Z軸)の座標(以下、「3D座標」と呼ぶ)により位置が定まる3D空間である。以下では、3D座標空間CS内の各3D座標の画素を「3D画素」と呼ぶものとする。また、以下では、プロジェクタ40やデジタルフィルムカメラ30等2D画像の投影や撮像を行う装置において処理される画素を「2D画素」と呼ぶものとする。
【0020】
図1に示すように、3D座標空間CS内には、プロジェクタ40により映像を投影する投影面は存在しない。プロジェクションシステム1では、3D座標空間CS内で複数のプロジェクタ40から照射される光をレンダリングすることで3D画像(3D画素)を結像させる。言い換えると、プロジェクションシステム1では、3D画素を結像させたい位置に、複数のプロジェクタ40の光を交差させることで3D座標空間CS内における3D画素を結像させることができる。
【0021】
本来、プロジェクタ40は、主に投影面に2D画像を投影することを目的とした装置である。3D座標空間CS内に結像させたい3D画像(3Dモデル)を、2D画像(各プロジェクタ40から当該3D画像(3Dモデル)を見た場合の2D画像)に変換して、各プロジェクタ40から3D座標空間CS内に投影する。すなわち、プロジェクションシステム1では、複数のプロジェクタ40から照射される2D画像を、3D座標空間CS内でレンダリングすることで3D画像(3D画像を構成する各3D画素)を結像させる。そのためには、3D画像を結像させたい空間の周囲にプロジェクタ40を多数配置することで、3D画像を結像させる際に、プロジェクタ40からの死角がより少ない状態とすることが望ましい。
【0022】
また、複数のプロジェクタ40から照射される2D画像を、3D座標空間CS内で高精度にレンダリングさせるためには、各プロジェクタ40が3D座標空間CS内に光を照射する際の制御(例えば、キャリブレーション等)が高精度になされている必要がある。そのため、プロジェクションシステム1では、各プロジェクタ40に対する制御を行うためのセンサとして、モーションキャプチャカメラ20及びデジタルフィルムカメラ30を複数備えている。また、この実施形態では、発煙装置50を用いて、3D座標空間CS内に発煙装置50から発煙する煙(例えば、フォグ、ヘイズ)を充満させることで、プロジェクタ40の光を煙(煙の分子)に反射させて3D画素をより鮮明に結像させるようにしている。発煙装置50としては、スモークマシン、フォグマシン、ヘイズマシン等の種々の舞台効果用の発煙装置を適用することができるため、詳しい説明については省略する。なお、煙がなくても3D画像が十分鮮明に結像できる環境である場合には、発煙装置50を除外するようにしてもよい。
【0023】
次に、この実施形態の例における3D座標空間CSの構成について
図2、
図3を用いて説明する。
【0024】
図2は、3D座標空間CSの斜視図である。
図3は、3D座標空間CSの正面図である。
【0025】
図2、
図3に示すように、3D座標空間CSでは、床面FRに設定された原点P0を基準とする座標系が設定されている。3D座標空間CSでは、原点P0を基準として、
図2の方向から見て右方向が+X方向、左方向が-X方向、手前方向が-Y方向、奥行き方向が+Y方向、上方向が+Z方向、下方向が-Z方向となっている。以下では、3D座標空間CS内の座標を示す場合(X,Y,Z)の形式で示すものとする。例えば、X軸の位置が1、Y軸の位置が1、Z軸の位置が1の座標は(1,1,1)と表されるものとする。したがって、原点P0の座標は(0,0,0)となる。3D座標空間CSの各3D座標に対応する実際の位置(原点P0からの物理的な距離(実寸))は、3D座標空間CSにおける3D画像の解像度(各3D画素の実寸)に応じた位置となる。例えば、各3D画素のX軸方向の実寸が5mmであった場合、座標(1,0,0)に対応する物理的な位置は、原点P0から右方向に5mmの位置ということになる。以上のように、3D座標空間CSの各座標は原点P0を基点とする実際の位置と対応付けられる。
【0026】
そして、この実施形態では、説明を簡易とするため、原点P0の周辺に3D画像が結像されるものとする。したがって、この実施形態では、原点P0の周囲に各装置が配置されることになる。そこで、
図2、
図3では、各装置を設置する際の目安として、原点P0を底面の中心とする直方空間CBを点線で図示している。直方空間CBは、原点P0を底面の中心として幅(X軸方向)10m(3D座標空間CSでは2k)、奥行き(Y軸方向)10m(座標空間では2k)、高さ(Z軸方向)5m(座標空間ではk)の直方体形状となっている。
図2、
図3では、直方空間CBの各頂点の位置をP101~P104、P201~P204と図示している。
【0027】
図4は、プロジェクションシステム1における各装置(プロジェクション制御装置10を除く)の配置位置の例について示した図(原点P0の周辺の斜視図)である。
【0028】
図4では、直方空間CBの上面の位置に断面が矩形の角環形状のフレームFWが配置されている。フレームFWは、例えば、アルミニウム等の金属製の棒(フレーム)の集合体により形成することができる。フレームFWは、下面が直方空間CBの上面に接する位置に支持・固定されているものとする。フレームFWを固定する方法は限定されないものである。
【0029】
また、
図4では、直方空間CBの奥側の床面FRに左右方向(X軸方向)を長手方向とする直方体形状の台STが配置されている。
図4の例では、台STの長手方向の一辺が直方空間CBの奥側床面FR上の一辺(位置P103-P104の線)とほぼ接するように配置されている。
【0030】
この実施形態では、プロジェクションシステム1を構成するモーションキャプチャカメラ20及びプロジェクタ40は、それぞれフレームFW又は台STに支持・固定されるものとするが、各装置を支持・固定する方法は上記の例に限定されず種々の方法を適用することができる。
【0031】
図5は、フレームFWに設置される各装置(モーションキャプチャカメラ20、プロジェクタ40)の位置を示した図である。
図5では、フレームFW(フレームFWに取り付けされた装置を含む)を上方向から見た場合の図となっている。
図5では、フレームFWを上方向から見た場合において、フレームFWの上面でモーションキャプチャカメラ20が設置される部分を実線で図示し、フレームFWの下面でプロジェクタ40が設置される部分を点線で図示し、フレームFWの下面でデジタルフィルムカメラ30が設置される部分を一点鎖線で図示している。
【0032】
図6は、原点P0を中心とする床面FR周辺(台STを含む)に設置される各装置(プロジェクタ40、及び発煙装置50)の位置を示した図である。
図6では、原点P0を中心とする床面FR周辺を上方向からみた図となっている。
【0033】
図4~
図6に示すように、28台のモーションキャプチャカメラ20-1~20-28は、フレームFWの上面で原点P0の周りを囲うように配置されている。具体的には、角環形状のフレームFWの各辺の上面に、概ね等間隔でそれぞれ7台ずつモーションキャプチャカメラ20が配置されている。
【0034】
また、
図4~
図6に示すように、24台のプロジェクタ40-1~40-24のうち、16台のプロジェクタ40-1~40-16がそれぞれフレームFWの下面に支持・固定されており、8台のプロジェクタ40-17~40-24がそれぞれ台STの上に設置されている。16台のプロジェクタ40-1~40-16は、フレームFWの下面で原点P0の周りを囲うように配置(固定)されている。具体的には、角環形状のフレームFWの各辺の下面に、概ね等間隔でそれぞれ4台ずつプロジェクタ40が配置されている。そして、残りの8台のプロジェクタ40-17~40-24は、台STで、左右方向(X軸方向)に概ね等間隔に並べて配置されている。
【0035】
さらに、
図4~
図6に示すように、2台のデジタルフィルムカメラ30-1、30-2は、それぞれFWの下面で手前側の辺と奥側の辺に配置されている。デジタルフィルムカメラ30-1、30-2のX方向の位置は概ね原点P0(3D画像を結像する際の中心)と一致しているものとする。なお、ここでは、各モーションキャプチャカメラ20、各デジタルフィルムカメラ30、及び各プロジェクタ40の光軸が、概ね原点P0に向けるように設置されているものとする。
【0036】
さらにまた、
図4~
図6に示すように、4台の発煙装置50-1~50-4は、それぞれ直方空間CBの右側と左側に2台ずつ分けて配置されている。
【0037】
この実施形態の例では、
図4~
図6に示すように、3D画像を結像する際の基準(中心)である原点P0を囲うように、各装置(モーションキャプチャカメラ20、デジタルフィルムカメラ30、プロジェクタ40、発煙装置50)を設置(直方空間CBの境界周辺に設置)しているが、各装置の位置は後述するキャリブレーションにより認識される要素である。したがって、各装置の設置数や位置は、
図4~
図6の例に限定されないものであり、結像される3D画像の位置や形状に応じた種々の設置パターンを適用することが望ましい。
【0038】
次に、プロジェクションシステム1における各装置のキャリブレーションの際に基準として用いられるオブジェクト(以下、「キャリブレーションオブジェクト」と呼ぶ)について説明する。
【0039】
まず、各モーションキャプチャカメラ20のキャリブレーションに用いられるキャリブレーションオブジェクトであるキャリブレーション用ワンド70の構成について説明する。
【0040】
図7は、キャリブレーション用ワンド70の構成について示す図(斜視図)である。
【0041】
図7に示すように、キャリブレーション用ワンド70には、棒形状のワンド部71と、ワンド部71に付けられた棒形状の支持部材73(73-1~73-3)と、それぞれの支持部材73(73-1~73-3)に支持されている再帰性反射マーカ72(72-1~73-3)を有している。また、ワンド部71には、オペレータが把持するための把手部材71aが取り付けられている。キャリブレーション用ワンド70については、種々のモーションキャプチャカメラのキャリブレーションに用いられるキャリブレーションオブジェクトと同様の物を適用することができるため、詳しい説明については省略する。
【0042】
次に、各デジタルフィルムカメラ30のキャリブレーションに用いられるキャリブレーションオブジェクトであるキャリブレーション用ボード80の構成について説明する。
【0043】
図8は、キャリブレーション用ボード80の構成を示す図(平面図)である。
【0044】
キャリブレーション用ボード80は、矩形の板面にチェック模様(市松模様)の画像が形成(印刷)されたチェッカーボード81と、チェッカーボード81に付けられた支持部材83(83-1~83-3)と、それぞれの支持部材83(83-1~83-3)に支持されている再帰性反射マーカ82(82-1~83-3)を有している。
【0045】
各再帰性反射マーカ82は、表面が再帰性反射材料(シートあるいは塗料など)で覆われた球形状の部材である。再帰性反射マーカ82の芯材は限定されないものであるが例えば、種々の金属、樹脂、ラバー等の材料を用いることができる。再帰性反射マーカ82は、例えば、球形状の芯材を再帰性反射材料の層が形成されたフィルムで覆うことにより構成することができる。再帰性反射マーカ82を構成する球形の寸法(例えば、直径)は限定されないものであるが、例えば、直径3~5cm程度の球形状を適用することができる。
【0046】
この実施形態のチェッカーボード81の形状は限定されないものである。チェッカーボード81としては、例えば、約60cm×85cmの矩形(いわゆるA1用紙程度のサイズ)を適用することができる。また、チェッカーボード81に形成されるチェック模様(市松模様)を構成する各グリッド(マス目)の寸法は限定されないものであるが、例えば、7.5cm×7.5cmの正方形を適用することができる。支持部材83の長さについても限定されないものである。支持部材83の長さは、例えば、3cm~5cm程度としてもよい。
【0047】
キャリブレーション用ボード80では、チェッカーボード81の短手方向の一方の辺に1つの再帰性反射マーカ82-1が支持部材83-1を用いて取り付けされており、チェッカーボード81の短手方向の他方の辺に2つの再帰性反射マーカ82-2、82-3が支持部材83-2、83-3を用いて取り付けされている。すなわち、キャリブレーション用ボード80では、対向する2辺(例えば、短手方向又は長手方向で対抗する2辺)に取り付ける再帰性反射マーカ82の数を異なる数とすることで、キャリブレーションの際にチェッカーボード81の各辺や姿勢を識別することを容易としている。例えば、キャリブレーション用ボード80において、チェッカーボード81の短手方向の一方の端に2つの再帰性反射マーカ82を取り付け、他方の端に3つの再帰性反射マーカ82を取り付けるようにしてもよい。また、例えば、キャリブレーション用ボード80において、長手方向の各辺にそれぞれ数の異なる再帰性反射マーカ82を取り付けるようにしてもよい。
【0048】
次に、各プロジェクタ40のキャリブレーションに用いられるキャリブレーションオブジェクト90の構成について説明する。
【0049】
図9は、キャリブレーションオブジェクト90の構成を示す図(斜視図と平面図)である。
【0050】
図9(a)は、キャリブレーションオブジェクト90の斜視図であり、
図9(b)は、キャリブレーションオブジェクト90の平面図(上側から見た図)である。
【0051】
図9に示すように、キャリブレーションオブジェクト90は、被投影オブジェクト91と、被投影オブジェクト91の上面に付けられた4つの支持部材93(93-1~93-4)と、各支持部材93(93-1~93-4)に支持されている4つの再帰性反射マーカ92(92-1~92-4)とを有している。
【0052】
この実施形態では、被投影オブジェクト91は、三角柱の形状であるものとする。被投影オブジェクト91の形状は三角柱に限定されず、他の多面体の形状(例えば、四角柱、五角柱等)を適用することもできる。また、被投影オブジェクト91の上面及び下面の形状や各辺の寸法は限定されないものとする。この実施形態の例では、被投影オブジェクト91の高さを180cm、三角柱の上面/下面の三角形の一辺の寸法が90cmであるものとする。この実施形態では、被投影オブジェクト91の上面及び下面の形状は正三角形であるものとして説明するが、正三角形に限らず種々の三角形(例えば、二等辺三角形等)に変更してもよい。なお、被投影オブジェクト91を三角柱の形状とすることで変形を抑制し、精度の高いキャリブレーションに寄与することができる。被投影オブジェクト91の材料は限定されないものであるが、変形しにくく(高剛性)かつ軽量な材料であることが望ましい。被投影オブジェクト91の材料としては、例えば、木や樹脂等を材料とする板を適用することができる。また、被投影オブジェクト91では、下面及び又は上面の板を除外するようにしてもよい。すなわち、被投影オブジェクト91は、筒形状としてもよい。
【0053】
なお、被投影オブジェクト91の各投影面(各側面)は、白色であることが望ましい。
【0054】
被投影オブジェクト91の上面の多角形(この実施形態では三角形)の各頂点には、それぞれ再帰性反射マーカ92-1~92-3が配置(立設)されている。また、被投影オブジェクト91の上面の多角形には、キャリブレーションの際に各辺を識別するためにいずれかの1辺にもう一つの再帰性反射マーカ92-4が立設されている。もう一つの再帰性反射マーカ92-4を配置する辺については限定されないものであるが、この実施形態では、再帰性反射マーカ92-1と再帰性反射マーカ92-3の間の辺に配置されているものとする。
【0055】
また、この実施形態では、キャリブレーションオブジェクト90が一つでもプロジェクタ40のキャリブレーションは可能であるが、効率性を上げるために(1度のキャリブレーションでより多くのサンプルを取得することで、キャリブレーションに要する時間短縮するために)複数のキャリブレーションオブジェクト90を用いることが望ましい。
【0056】
その場合、キャリブレーションの際に、各キャリブレーションオブジェクト90を識別(個体識別)するための構成については限定されないものである。この実施形態の例では、キャリブレーションオブジェクト90ごとに、もう1つ(4つ目)の再帰性反射マーカ92-4の位置を変化させることで、キャリブレーションの際に、各キャリブレーションオブジェクト90の個体識別を可能としている。
【0057】
例えば、
図10に示すように、再帰性反射マーカ92-1と再帰性反射マーカ92-3の間で、再帰性反射マーカ92-4を配置する位置を変化させることで、各キャリブレーションオブジェクト90の個体識別を行うことが可能な構成とすることができる。ここでは、プロジェクタ40のキャリブレーションに、2つのキャリブレーションオブジェクト90(90-1、90-2)を用いるものとする。
図10(a)は、キャリブレーションオブジェクト90-1の平面図であり、
図10(b)はキャリブレーションオブジェクト90-2の平面図である。
【0058】
ここで、キャリブレーションオブジェクト90(90-1、90-2)において、再帰性反射マーカ92-1と再帰性反射マーカ92-3との間(各再帰性反射マーカ92の中心位置の間)の距離をL301、再帰性反射マーカ92-3と再帰性反射マーカ92-4との間(各再帰性反射マーカ92の中心位置の間)の距離をL302とする。
【0059】
ここでは、
図10に示すように、キャリブレーションオブジェクト90-1では、L301とL302との比率(以下、「設置位置比率」と呼ぶ)が3対1(L301/L302=3/1)となっており、キャリブレーションオブジェクト90-2では、設置位置比率が4対1(L301/L302=4/1)となっている。すなわち、キャリブレーションの際、各キャリブレーションオブジェクト90(90-1、90-2)におけるもう1つの再帰性反射マーカ92-4の位置に応じたパラメータ(例えば、設置位置比率)を用いて、各キャリブレーションオブジェクト90(90-1、90-2)の個体識別が可能となる。
【0060】
次に、プロジェクション制御装置10の内部構成について説明する。
【0061】
図1では、プロジェクション制御装置10の機能的構成のブロック図も図示されている。
【0062】
図1に示すようにプロジェクション制御装置10は、機能的には、モーションキャプチャ処理部110、キャリブレーション制御部120、ビジュアル制御部130、ビジュアル処理部140、及び発煙制御部150を有している。
【0063】
プロジェクション制御装置10を構成する各要素は、それぞれコンピュータを用いてソフトウェア的に構成するようにしてもよいし、一部又は全部をハードウェア(例えば、専用の半導体チップ)を用いて構成するようにしてもよい。この実施形態では、プロジェクション制御装置10は1又は複数のコンピュータにプログラム(実施形態に係るプロジェクション制御プログラム)を用いて構成されているものとする。すなわち、プロジェクション制御装置10を構成するハードウェア(コンピュータ)の数は限定されないものであり、複数のハードウェア群で構成される場合もあり得るものとする。
【0064】
モーションキャプチャ処理部110は、各モーションキャプチャカメラ20を制御し、各モーションキャプチャカメラ20の検知結果を処理して、再帰性反射マーカ(各モーションキャプチャカメラ20の視野内で検知された再帰性反射マーカ)の位置を検知する処理を行う。この実施形態では、各モーションキャプチャカメラ20は、センサ光(例えば、赤外線光)を発光して、再帰性反射マーカで反射された反射光を検知する等の処理を行うものであるものとする。すなわち、この実施形態では、各モーションキャプチャカメラ20とモーションキャプチャ処理部110により、3D座標空間CS内におけるマーカ(この実施形態では、再帰性反射マーカ)の位置を認識することができるシステム(以下、「モーションキャプチャシステム」と呼ぶ)が構成されている。この実施形態では、上記のような光学的なセンサとしてのモーションキャプチャカメラ20を用いたモーションキャプチャシステムが適用されるものとして説明するが、モーションキャプチャシステムの具体的な方式は限定されないものであり、光学式以外にも電磁波等その他の手段を用いてキャプチャ対象のマーカの位置を検知する方式を適用するようにしてもよい。その場合、モーションキャプチャするマーカについても検知方式に応じた構成とする必要がある。
【0065】
モーションキャプチャ処理部110は、リアルタイムに3D座標空間CS内の再帰性反射マーカの位置を検知して、その検知結果(3D座標等)を出力する(以下、このリアルタイムな検知結果の出力を単に「ストリーム」とも呼ぶ)。
【0066】
キャリブレーション制御部120は、各プロジェクタ40に対してキャリブレーションする機能、及び各デジタルフィルムカメラ30に対してキャリブレーションする機能等を担っている。
【0067】
具体的には、キャリブレーション制御部120は、モーションキャプチャ処理部110から供給されるストリームと、各デジタルフィルムカメラ30で撮像される画像(各プロジェクタ40によりキャリブレーションオブジェクト90に投影されたキャリブレーション用パターンを撮像した画像)に基づいて、各プロジェクタ40をキャリブレーションする処理等を行う。また、キャリブレーション制御部120は、モーションキャプチャ処理部110から供給されるストリームと、各デジタルフィルムカメラ30で撮像される画像(キャリブレーション用ボード80のチェッカーボード81に形成されたキャリブレーション用画像としてのチェッカー画像)に基づいて、各デジタルフィルムカメラ30をキャリブレーションする処理を行う。キャリブレーション制御部120による各プロジェクタ40に対するキャリブレーション処理、及び各デジタルフィルムカメラ30のキャリブレーション処理の具体例については後述する。また、キャリブレーション制御部120は、各デジタルフィルムカメラ30に対してキャリブレーション処理に基づく制御処理(例えば、焦点距離、光軸方向等の種々のパラメータに基づく制御処理)を行う。
【0068】
ここでは、キャリブレーション制御部120には、予めキャリブレーション用ボード80の構成情報(以下、「ボード構成情報」と呼ぶ)及びキャリブレーションオブジェクト90の構成情報(以下、「オブジェクト構成情報」と呼ぶ)が設定されているものとする。
【0069】
まず、ボード構成情報について説明する。
【0070】
ボード構成情報には、キャリブレーション用ボード80上で検知対象となる各位置(以下、「認識位置」と呼ぶ)の相対的な位置関係に関する情報が含まれている。
【0071】
図11は、キャリブレーション用ボード80について検知対象となる位置(以下、「認識位置」と呼ぶ)について示した図である。
【0072】
図11では、キャリブレーション用ボード80上の認識位置として、再帰性反射マーカ82-1~82-3の中心位置PM101~PM103と、チェッカーボード81に形成されたチェッカー画像における各交点の位置PC01~PC70が図示されている。
【0073】
キャリブレーション制御部120では、モーションキャプチャシステムのストリームに基づいて、3D座標空間CSにおける認識位置PM101~PM103(例えば、再帰性反射マーカ82-1~82-3の中心位置)を認識することができる。また、キャリブレーション制御部120では、デジタルフィルムカメラ30で撮像される画像上で、認識位置PC01~PC70(チェッカー画像上の各交点の位置)を認識することができる。
【0074】
したがって、この実施形態のボード構成情報には、キャリブレーション用ボード80における各認識位置PM101~PM103、PC01~PC70の相対的な位置に関する情報(以下、「相対的位置情報」と呼ぶ)が含まれていることになる。
【0075】
相対的位置情報としては、例えば、3D座標空間CS上における認識位置PM101~PM103(再帰性反射マーカ82-1~82-3の中心位置の3D座標)に基づいて、3D座標空間CS上における認識位置PC01~PC70(チェッカー画像上の各交点の位置の3D座標)を算出することができるデータであれば、具体的なデータ形式は限定されないものである。
【0076】
例えば、キャリブレーション用ボード80の構成を、
図12のように調整することで、相対的位置情報を用いた認識位置PC01~PC70(チェッカー画像上の各交点の位置の3D座標)の算出処理を効率的に行うことができる。
【0077】
図12に示すキャリブレーション用ボード80では、長手方向で対向する再帰性反射マーカ82-1の中心位置(PM101)と、再帰性反射マーカ82-2の中心位置(PM102)とを通る線Axがチェッカー画像のいずれかの長手方向に並んだ各交点(
図12では、PC01~PC10)を通るように、再帰性反射マーカ82-1、82-2の取付位置が調整されている。また、
図12に示すキャリブレーション用ボード80では、短手方向で対向する再帰性反射マーカ82-2の中心位置(PM102)と、再帰性反射マーカ83-3の中心位置(PM103)とを通る線Ayがチェッカー画像の短手方向の各交点を結ぶ線(例えば、PC10、PC20、PC30、PC40、PC50、PC60、PC70を結ぶ線)と並行となるように、再帰性反射マーカ82-2、82-3の取付位置が調整されている。言い換えると、キャリブレーション用ボード80において、各再帰性反射マーカ82からチェッカーボード81までのオフセット距離(各支持部材83の長さ)は、同一に調整されていることが望ましい。
【0078】
図12に示すように、キャリブレーション用ボード80における各再帰性反射マーカ82の位置を調整することで、線Ax上に必ず認識位置P01~P10が存在することや、線Ax及び線Ayに並行な線上にチェッカー画像上の各認識位置(PC01~PC70)が並べて配置されていることが特定できるので、より少ない数の再帰性反射マーカ82で、かつ、より少ない処理量でチェッカー画像上の各認識位置(PC01~PC70の3D座標)の算出を行うことができる。例えば、
図12に示すように、キャリブレーション用ボード80における各再帰性反射マーカ82の位置を調整することで、ボード構成情報として各再帰性反射マーカ82の位置からチェッカー画像までの距離(例えば、チェッカー画像上で最も近い交点までの距離(例えば、PM101とPC01との間の距離);以下「オフセット距離」とも呼ぶ)や、チェッカー画像の各マス目の距離(縦方向及び横方向の距離)を登録しておけば良いことになる。
【0079】
なお、再帰性反射マーカ82の数が増えると、キャリブレーション用ボード80自体の製作や調整が難しくなり、精度が落ちやすくなるため、再帰性反射マーカ82の数は可能な限り抑制する方が望ましい。
【0080】
次に、キャリブレーションオブジェクト90に関するオブジェクト構成情報について説明する。
【0081】
キャリブレーションオブジェクト90のオブジェクト構成情報には、キャリブレーションオブジェクト90上の各認識位置の相対的な位置関係に関する情報が含まれている。
【0082】
図13は、キャリブレーションオブジェクト90について認識対象となる認識位置について示した図である。
【0083】
図13では、キャリブレーションオブジェクト90上の認識位置として、再帰性反射マーカ92-1~92-4の中心位置PM201~PM204と、被投影オブジェクト91の各頂点(三角柱の各頂点)の位置PH01~PH06が図示されている。
【0084】
キャリブレーション制御部120では、モーションキャプチャシステムのストリームに基づいて、3D座標空間CSにおける認識位置PM201~PM204(再帰性反射マーカ92-1~92-4の中心位置)を認識することができる。
【0085】
この実施形態のオブジェクト構成情報には、キャリブレーションオブジェクト90における各認識位置PM201~PM204、PH01~PH06の相対的な位置に関する情報がオブジェクト構成情報に含まれている必要がある。
【0086】
オブジェクト構成情報としては、例えば、3D座標空間CS上における認識位置PM201~PM204(再帰性反射マーカ92-1~92-4の中心位置の3D座標)に基づいて、3D座標空間CS上における認識位置PH01~PH06(被投影オブジェクト91の各頂点の位置の3D座標)を算出することができるデータであれば、具体的なデータ形式は限定されないものである。
【0087】
例えば、ここでは、再帰性反射マーカ92-1~92-3の中心位置(認識位置PM201~PM203)の直下に、被投影オブジェクト91の各頂点(認識位置PH01~PH06)が位置するように、再帰性反射マーカ92-1~92-3の位置が調整されているものとする。そうすると、再帰性反射マーカ92-1~92-3の中心位置(認識位置PM201~PM203)の水平方向の座標(X軸及びY軸の座標)が、直下の被投影オブジェクト91の各頂点(認識位置PH01~PH06)と一致することになる。例えば、再帰性反射マーカ92-1の中心位置(認識位置PM201)と、その直下の頂点の位置(認識位置PH01、PH04)の水平方向の座標が一致することになる。この場合、オブジェクト構成情報に、再帰性反射マーカ92-1~92-3の中心位置(認識位置PM201~PM203)と、その直下の被投影オブジェクト91の各頂点(認識位置PH01~PH06)の位置までの距離が登録されていれば良いことになる。具体的には例えば、再帰性反射マーカ92-1の中心位置(認識位置PM201)と、直下の頂点の位置(認識位置PH01、PH04)への距離がオブジェクト構成情報に含まれることになる。なお、再帰性反射マーカ92-1の中心位置(認識位置PM201)と認識位置PH01の位置の距離(オフセット距離)と、被投影オブジェクト91(三角柱)の高さの情報がオブジェクト構成情報に含まれていれば、再帰性反射マーカ92-1の中心位置(認識位置PM201)に基づいて、その直下の認識位置PH01、PH04の3D座標を算出することができることになる。
【0088】
さらに、上述の通り、キャリブレーションオブジェクト90では、再帰性反射マーカ92-1(PM201)と再帰性反射マーカ92-3(PM203)とを通る線上にだけ再帰性反射マーカ92-4(PM204)が存在する。したがって、ビジュアル制御部130では、まず1直線上に並んだ3つの再帰性反射マーカ92-1、92-4、92-3(PM201、PM204、PM203)を検出することで、キャリブレーションオブジェクト90自体及び中間にある再帰性反射マーカ92-4(PM204)の位置を検出することができる。
【0089】
例えば、キャリブレーション制御部120では、キャリブレーションオブジェクト90上の再帰性反射マーカ92-4(PM204)の位置を検出することで、その他の再帰性反射マーカ92-1~92-3(PM201~PM203)も個別に認識することができる。また、上述の通り、各キャリブレーションオブジェクト90では、再帰性反射マーカ92-4の位置に特徴があるので、ビジュアル制御部130は、再帰性反射マーカ92-4の位置に応じて、各キャリブレーションオブジェクト90の個体を識別することができる。
【0090】
ビジュアル処理部140は、各プロジェクタ40を制御する機能を担っている。ビジュアル処理部140は、例えば、各プロジェクタ40に投影させる2D画像を生成して映像信号に変換して各プロジェクタ40に供給する処理を行う。また、ビジュアル処理部140は、各プロジェクタ40に対する各種制御処理(例えば、明るさ、焦点距離等の種々のパラメータに基づく制御処理)を行う。
【0091】
発煙制御部150は、各発煙装置50を制御する機能を担っている。発煙制御部150は、各発煙装置50を制御して、3D座標空間CS(直方空間CBを含む空間)内に煙(例えば、フォグ、ヘイズ等)を放出させる処理等を行う。発煙制御部150としては、種々のスモークマシン(例えば、フォグマシンやヘイズマシン等)を制御するアプリケーションを適用することができるため詳しい説明を省略する。
【0092】
ビジュアル処理部140は、プロジェクション制御装置10の全体を制御する機能(メインコントロール機能)を担っている。ビジュアル処理部140は、各要素に対してキャリブレーションに必要な処理実行の指示や、3D画像の結像を指示する処理等を行う。
【0093】
(A-2)実施形態の動作
次に、以上のような構成を有するこの実施形態におけるプロジェクションシステム1の動作(実施形態に係るプロジェクション制御方法)について説明する。
【0094】
図14は、プロジェクションシステム1において行われるキャリブレーション処理の基本的な流れについて示したフローチャートである。
【0095】
ここでは、まず、プロジェクションシステム1を構成する各装置が、
図4に示すように原点P0を囲うように配置された状態で、プロジェクション制御装置10においてキャリブレーションの処理が開始されたものとする。この実施形態のプロジェクション制御装置10では、ビジュアル処理部140が全体のキャリブレーションの流れ(例えば、
図14のフローチャートの各プロセスの制御)を行うものとする。
【0096】
ビジュアル処理部140は、キャリブレーション処理を開始すると、まず、モーションキャプチャ処理部110を制御して、各モーションキャプチャカメラ20のキャリブレーション(モーションキャプチャシステム単体のキャリブレーション)の処理を実行させる(S101)。
【0097】
このとき、
図15に示すように、各モーションキャプチャカメラ20の視野内(原点P0の周辺)で、オペレータがキャリブレーション用ワンド70を持って振り回す動作を繰り返すことで、各モーションキャプチャカメラ20により、各再帰性反射マーカ72-11~73-3からの反射光(センサ光を反射した光)が受光される。モーションキャプチャ処理部110が、各モーションキャプチャカメラ20を制御してキャリブレーション(キャリブレーション用ワンド70に対する検知結果に基づくキャリブレーション)する処理については、種々のモーションキャプチャカメラ(モーションキャプチャセンサ)のキャリブレーションと同様の処理を適用することができるため、詳しい説明を省略する。
【0098】
また、モーションキャプチャ処理部110は、原点P0の位置を認識・登録する処理を行う。このとき、原点P0の位置に、キャリブレーション用ワンド70の所定の再帰性反射マーカ72(例えば、中央の再帰性反射マーカ73-2)が原点P0に設置されている必要がある。この実施形態の例では、モーションキャプチャ処理部110が、原点P0を登録する処理を行う際に、オペレータにより、キャリブレーション用ワンド70の再帰性反射マーカ72が設置されるものとして説明する。なお、最初から原点P0に再帰性反射マーカを設置しておくようにしてもよい。
【0099】
以上の処理により、モーションキャプチャ処理部110において、各モーションキャプチャカメラ20のキャリブレーション及び原点P0の認識・登録が行われる。
【0100】
次に、ビジュアル処理部140は、モーションキャプチャ処理部110とキャリブレーション制御部120を制御して、各デジタルフィルムカメラ30のキャリブレーションの処理を行う(S102)。
【0101】
このとき、
図16に示すように、オペレータがキャリブレーション用ボード80を持ち、原点P0を中心とした直方空間CB内で、キャリブレーション用ボード80を様々な位置で、様々な姿勢に傾けることを繰り返すことで、モーションキャプチャシステムにキャリブレーション用ボード80の各再帰性反射マーカ82の位置を検知させると同時に、各デジタルフィルムカメラ30にキャリブレーション用ボード80のチェッカーボード81に形成されたチェッカー画像を撮像させることができる。このとき、ビジュアル処理部140は、キャリブレーション制御部120に対して、各デジタルフィルムカメラ30に対するキャリブレーションを指示すると共に、モーションキャプチャシステムのストリームを供給する。そして、キャリブレーション制御部120は、ビジュアル制御部130の制御に従って、モーションキャプチャシステムのストリームと、各デジタルフィルムカメラ30で撮像された映像に基づいて、各デジタルフィルムカメラ30のキャリブレーション処理を行う。
【0102】
図17は、モーションキャプチャ処理部110による各デジタルフィルムカメラ30のキャリブレーションの処理の流れについて示したフローチャートである。
【0103】
図18では、各デジタルフィルムカメラ30に関するキャリブレーション処理について図示している。
【0104】
まず、キャリブレーション制御部120は、各デジタルフィルムカメラ30で撮像された画像に基づいてデジタルフィルムカメラ30の内部パラメータに関するキャリブレーションを行う(S201)。デジタルフィルムカメラ30において、キャリブレーション対象となる内部パラメータとしては、例えば、焦点距離、主点(光学的な中心位置〉、ゆがみ係数が挙げられる。このとき、オペレータは、例えば、キャリブレーション対象のデジタルフィルムカメラ30にキャリブレーション用ボード80を向けて、P101~P204の空間上のポイントを満遍なく取得するように上下左右に移動させたり、傾けたりする等行い、デジタルフィルムカメラ30で数十枚のパターン(20~30パターン程度)の画像が撮像されることが望ましい。そして、キャリブレーション制御部120は、このときデジタルフィルムカメラ30で撮像されたキャリブレーション用ボード80の画像(チェッカー画像を撮像した画像)に基づいて、内部パラメータのキャリブレーションを行う。
【0105】
例えば、デジタルフィルムカメラ30で
図18に示すような画像が撮像された場合を想定する。
【0106】
図18では、説明の都合上、キャリブレーション用ボード80上の各認識位置(PM101~PM103、PC01~PC70)の位置を示す符号及び目印を付している。
【0107】
デジタルフィルムカメラ30で
図18に示すような画像が撮像されたものとする。そして、キャリブレーション制御部120は、モーションキャプチャシステムのストリームに基づいて、認識位置PM101~PM103の3D座標を取得する。そして、キャリブレーション制御部120は、取得した認識位置PM101~PM103の3D座標とボード構成情報とに基づいて、認識位置PC01~PC70(チェッカ-画像の各交点)の3D座標を算出する。また、キャリブレーション制御部120は、デジタルフィルムカメラ30で撮像された2D画像(
図18に示す画像)におけるチェッカー画像の各交点の位置を、認識位置PC01~PC70の2D座標として取得する。これにより、キャリブレーション制御部120は、デジタルフィルムカメラ30で、
図18に示す画像が撮像された時点における認識位置PC01~PC70の3D座標と、当該デジタルフィルムカメラ30が撮像した2D画像における2D座標との対応関係のサンプル(リスト)を得ることができる。キャリブレーション制御部120は、複数の撮像画像(デジタルフィルムカメラ30における撮像画像)について、上記のような処理を繰り返すことで、3D座標空間CS内の多数の3D座標に対応する2D座標のサンプルが得られることになる。
【0108】
キャリブレーション制御部120は、このとき得られた3D座標に対応する2D座標(以下、「サンプル座標」と呼ぶ)に基づいて、デジタルフィルムカメラ30のキャリブレーション(座標空間CSを撮像する際に必要なキャリブレーション)を行う。このようなデジタルフィルムカメラ30のキャリブレーションについては種々の方式を適用することができる。デジタルフィルムカメラ30等のカメラモデルにおいて、座標サンプルに基づき内部パラメータ及び外部パラメータを取得際には、既存の理論やオープンソースの環境(ライブラリ)を用いたプログラムによる処理を適用することができる。カメラモデルにおいて座標サンプルに基づいたキャリブレーションを行うことが可能なオープンソースの環境としては、例えば、OpenCV(Open Source Computer Vision Library)等を適用することができる。
【0109】
以下では、デジタルフィルムカメラ30の内部パラメータ取得には、このOpenCVのカメラモデルを適用するものとして説明する。OpenCVのカメラモデルには、キャリブレーション処理用の関数として、calibrateCamera関数等が用意されており、デジタルフィルムカメラ30の内部パラメータ取得にも適用することができる。
【0110】
一般的なカメラモデルでは、内部パラメータは、いわゆるカメラ行列を構成する焦点距離[fx,fy]、主点[cx,cy]、及び歪み係数[k1,・・・,k6,p1,p2,s1,・・・,s4]で表現される。
【0111】
例えば、このOpenCVの、calibrateCamera関数に、キャリブレーション用ボード80を撮像する処理で得られた座標サンプルのリスト、デジタルフィルムカメラ30の解像度、内部パラメータの初期値(例えば、デジタルフィルムカメラ30のスペックに基づく所定値)を入力して所定の処理を行うことで、求めるべき内部パラメータ(焦点距離、主点、及び歪み係数)を得ることができる。
【0112】
次に、キャリブレーション制御部120は、モーションキャプチャシステムのストリームと、各デジタルフィルムカメラ30で撮像された画像に基づいてデジタルフィルムカメラ30の外部パラメータのキャリブレーションを行う(S202)。このとき、オペレータは、例えば、キャリブレーション対象のデジタルフィルムカメラ30にキャリブレーション用ボード80を向けて、P101~P204の空間上のポイントを満遍なく取得するように上下左右に移動させたり、傾けたりする等行い、デジタルフィルムカメラ30で数十パターン(20~30パターン程度)の画像が撮像されることが望ましい。
【0113】
キャリブレーション制御部120は、外部パラメータとして、各デジタルフィルムカメラ30の位置及び姿勢を取得する。一般的なカメラモデルにおいて、位置はt、姿勢(回転)はRと表される。一般的なカメラモデルにおいて、座標サンプルに基づき外部パラメータ(位置t及び回転R)を取得する方法としては、例えば、Perspective-n-Point(以下、「PnP」と呼ぶ)問題の解法を利用する方法が挙げられる。PnP問題とは、3D空間中にある点群と,2D画像上にある点群の関係からカメラの位置姿勢を推定する問題であり種々の解法が存在する。すなわち、キャリブレーション制御部120は、キャリブレーション用ボード80を撮像する処理で得られたサンプルのリスト(3D座標のリスト、及び当該3D座標のリストに対応する2D座標のリスト)を、このPnP問題の解法に当てはめることにより、デジタルフィルムカメラ30の外部パラメータ(位置t及び回転R)を得ることができる。PnP問題の解法について種々の方式を適用することができるため、ここでは詳しい説明を省略する。
【0114】
以上のように、キャリブレーション制御部120は、各デジタルフィルムカメラ30に対するキャリブレーション処理(内部パラメータ及び外部パラメータの取得)を行う。以下では、デジタルフィルムカメラ30のキャリブレーションで処理されるパラメータ(内部パラメータ及び外部パラメータを含むパラメータ)を総称して「カメラキャリブレーションパラメータ」と呼ぶ。
【0115】
ステップS201、S202に処理において、キャリブレーション制御部120は、キャリブレーション用ボード80が静止しているタイミングで座標サンプルを取得することが望ましい。オペレータがキャリブレーション用ボード80の静止を継続しなければならない最低限の時間(以下、「最低静止時間」と呼ぶ)については限定されないものであるが、キャリブレーション制御部120がサンプル取得をするのに十分な時間が確保されている必要がある。オペレータがキャリブレーション用ボード80のポジションを変更するタイミングについては、オペレータの判断で成されるようにし、キャリブレーション制御部120がそれに追随するように座標サンプルを取得するようにしてもよい。また、キャリブレーション制御部120が、オペレータに対して、キャリブレーション用ボード80のポジション変更(静止の終了)に適切なタイミングを促す所定の出力(例えば、図示しないディスプレイやスピーカによる所定の出力)を行うようにしてもよい。また、キャリブレーション制御部120は、十分な数のサンプル座標がえられたときに、座標サンプルの取得が終了したことを通知する所定の出力(例えば、図示しないディスプレイやスピーカによる所定の出力)を行うようにしてもよい。
【0116】
ここで再び上述の
図14のフローチャートの説明に戻る。
【0117】
次に、
図19に示すように、オペレータにより、3D座標空間CS内(原点P0の周辺)に、2つのキャリブレーションオブジェクト90(90-1、90-2)が設置され、ビジュアル制御部130により、キャリブレーションオブジェクト90-1、90-2を認識・登録する処理(以下、「剛体登録処理」と呼ぶ)が行われたものとする(S103)。
【0118】
図19は、3D座標空間CS内に、キャリブレーションオブジェクト90-1、90-2が設置された状態について示した図(斜視図)である。
【0119】
上述の通り、ビジュアル制御部130は、モーションキャプチャシステムのストリームに基づいて、複数のキャリブレーションオブジェクト90を検出し、各キャリブレーションオブジェクト90の個体識別し、さらに各キャリブレーションオブジェクト90の各再帰性反射マーカ92の位置(PM201~PM204の3D座標)に基づいて、各キャリブレーションオブジェクト90を構成する被投影オブジェクト91の位置及び向き(例えば、各被投影オブジェクト91を構成する各側面の4隅の3D座標)を認識・登録することができる。以後、ビジュアル制御部130では、モーションキャプチャシステムのストリームに基づいて、各キャリブレーションオブジェクト90の動きを検出することができる。すなわち、ビジュアル制御部130では、以後、各キャリブレーションオブジェクト90がオペレータ等により動かされた場合(ポジション変更された場合)でも、リアルタイムに各キャリブレーションオブジェクト90を構成する被投影オブジェクト91の各側面の3D座標(各側面の4隅の3D座標)を認識することができる。
【0120】
以上のように、ビジュアル制御部130では、各キャリブレーションオブジェクト90の剛体登録処理が行われる。
【0121】
次に、ビジュアル制御部130は、剛体登録した各キャリブレーションオブジェクト90を用いて、各プロジェクタ40のキャリブレーションをする処理に移行する。この実施形態では、キャリブレーションオブジェクト90を複数のポジションに変更して各プロジェクタ40のキャリブレーションに必要なサンプル取得処理を行うものとする。以下では、キャリブレーションオブジェクト90の1つのポジションについて各プロジェクタ40のキャリブレーションを行う処理を「1ターン」と数えるものとする。すなわち、ここでは、複数ターンにわたって各プロジェクタ40のサンプル取得処理が行われるものとする。実施するターンの数については限定されないものであるが、ここでは、ビジュアル制御部130は、3ターンのサンプル取得処理を行うものとして説明する。
【0122】
まず、ビジュアル制御部130は、キャリブレーション対象になるプロジェクタ40(今回のターンで未選択のプロジェクタ40)を選択する(S104)。
【0123】
次に、ビジュアル制御部130は、ビジュアル処理部140を介して、今回選択したプロジェクタ40からグレイコードパターンの動画像(キャリブレーション用の動画像)の照射を開始させる(S105)。これにより、
図20に示すように、剛体登録されたキャリブレーションオブジェクト90-1、90-2に、キャリブレーション対象のプロジェクタ40から照射されたグレイコードパターンが投影されることになる。なお、
図20(a)では、キャリブレーションオブジェクト90-1のみを抜き出して図示している。ビジュアル処理部140は、例えば、予めプロジェクタ40の仕様(解像度等)に合うグレイコードパターンの動画像データを保持しておき、その動画像データに基づく映像信号をプロジェクタ40に供給するようにしてもよいし、グレイコードパターンを生成するためのパラメータを保持しておいて、プロジェクタ40の仕様に合わせたグレイコードパターンの動画像(映像信号)を生成(例えば、種々のグレイコードパターン生成プログラムを用いて生成)してプロジェクタ40に供給するようにしてもよい。グレイコードパターンの動画像の形式自体は限定されないものであり、種々のグレイコードパターン(例えば、3D計測や3Dプロジェクションマッピング等で用いられるグレイコードパターン)を適用することができるため、ここでは、グレイコードパターン自体及びグレイコードパターン生成処理の詳細についての説明は省略する。
【0124】
そして、ビジュアル制御部130は、キャリブレーション制御部120を介して、各デジタルフィルムカメラ30を制御し、キャリブレーションオブジェクト90-1、90-2に投影されたグレイコードパターンを撮像させる(S106)。
【0125】
キャリブレーション制御部120は、グレイコードパターンが投影される各平面に投影されたグレイコードパターンに基づいて、キャリブレーション対象のプロジェクタ40における2D画像(以下、「プロジェクタ画像」とも呼ぶ)を構成する2D画素(以下、「プロジェクタ画素」とも呼ぶ)の2D座標と、3D座標の対応付けのサンプル(以下、このサンプルについても「座標サンプル」と呼ぶ)を取得する(S107)。ここでは、キャリブレーション制御部120は、キャリブレーションオブジェクト90-1、90-2の各面だけでなく、床面FRに投影されたグレイコードパターンも含めて解析対象とするものとする。
【0126】
したがって、キャリブレーション処理を行う際には、床面FRは、グレイコードパターンを鮮明に投影するために、白色の状態となっていることが望ましい。例えば、キャリブレーション処理を行う際にのみ、床面FRを白色のシートで覆った状態とするようにしてもよい。また、可能であれば、床面FRを最初から白色に着色しておくようにしてもよい。
【0127】
具体的には、キャリブレーション制御部120は、キャリブレーションオブジェクト90-1、90-2及び床面FRに投影されたグレイコードパターンを解析して、3D座標ごとのグレイコード(時系列的で変化するビットパターン)を認識する。
【0128】
上述の通り、各キャリブレーションオブジェクト90(90-1、90-2)について剛体登録がなされていることから、各キャリブレーションオブジェクト90(被投影オブジェクト91)を構成する各平面(側面)の形状及び向きは明らかとなっている。キャリブレーション制御部120は、剛体登録の結果と、各キャリブレーションオブジェクト90の各再帰性反射マーカ92の位置(モーションキャプチャシステムのストリーム)に基づいて、各キャリブレーションオブジェクト90(被投影オブジェクト91)の各平面の位置及び向きをリアルタイムに認識することができる。また、床面FRの位置及び向きは座標空間CSの構成から既知である。そして、キャリブレーション制御部120は、各デジタルフィルムカメラ30の視点から、各キャリブレーションオブジェクト90を見た場合に表を向いている平面以外をマスク(グレイコードパターン解析対象から除外)する処理を行う。以下では、任意のデジタルフィルムカメラ30の視点から見て、表を向いている平面を「表面」と呼び、そうでない平面を「非表面」と呼ぶものとする。
【0129】
このとき、キャリブレーション制御部120は、例えば、各デジタルフィルムカメラ30視線ベクトル(外部パラメータにおける位置tを基点とした姿勢(回転)R方向へのベクトル)と、各キャリブレーションオブジェクト90の平面(側面)の法線ベクトルとの内積を求め、その内積に応じて各デジタルフィルムカメラ30の視点から、各キャリブレーションオブジェクト90を見た場合の表面と非表面を確認する。任意のデジタルフィルムカメラ30の視線ベクトルと、任意のキャリブレーションオブジェクト90の任意の平面の法線ベクトルとの内積が所定値以上(例えば、0以上)の平面については、当該デジタルフィルムカメラ30から見える表面としてもよい。以上のように、キャリブレーション制御部120は、各デジタルフィルムカメラ30について、グレイコードパターンを解析する対象となる表面と非表面を確認し、非表面をマスクする。
【0130】
そして、キャリブレーション制御部120は、各デジタルフィルムカメラ30について、表面であっても、視点から重なって見える領域(以下、「重複領域」と呼ぶ)についてもマスクする処理を行う。例えば、キャリブレーション制御部120は、各デジタルフィルムカメラ30について、重複領域がある場合、当該領域については、視点から近い方の平面の領域を残して、視点からより遠い方の平面の領域をマスクする。
【0131】
そして、キャリブレーション制御部120は、重複領域についてマスクする処理を行った後、さらに、各平面について、輪郭周辺の領域をマスクする処理(以下、「輪郭処理」と呼ぶ)を行う。これは、各平面の輪郭周辺については、隣接する平面と誤認識する可能性があるため、キャリブレーションの精度を低下させるおそれがあるためである。
【0132】
例えば、デジタルフィルムカメラ30-1から、キャリブレーションオブジェクト90-1を見た場合の画像が
図20(a)のような内容であったものとする。このとき、デジタルフィルムカメラ30-1から見てPO111、PO112、PO122、PO121の4点を頂点とする矩形の平面SR1は表面となっている。そして、
図20(b)は、この平面SR1を抜き出して輪郭周辺をマスクする処理について示した図となっている。
図20(b)では、平面SR1の実際の輪郭形状(矩形)よりも少々小さ目の形状(矩形)をSW1、平面SR1の実際の輪郭形状(矩形)よりも少々大き目の形状(矩形)をSB1と図示している。キャリブレーション制御部120は、SR1の輪郭処理において、このSB1とSW1により囲われた帯状の領域(以下、「輪郭周辺領域」と呼ぶ;
図20(b)では斜線で図示した領域)をマスクする処理を行う。
【0133】
具体的には、キャリブレーション制御部120は、SB1をブラックマスク領域として設定し、SW1をホワイトマスク領域として設定することで
図20(b)に示すような、SR1の輪郭に沿った帯状のマスク領域を設定することができる。SR1の輪郭とSB1の輪郭との差分(オフセット量)、及びSR1の輪郭とSW1の輪郭との差分(オフセット量)の設定方法(すなわち、輪郭周辺領域を構成する帯の幅の設定方法)については限定されないものである。例えば、SB1の輪郭にSR1の輪郭の形状を所定倍率(例えば、倍率102%程度;オフセット量は+2%)で拡大した領域を適用し、SW1の輪郭にSR1の輪郭の形状を所定倍率(例えば、倍率98%程度;オフセット量は-2%)で縮小した領域を適用するようにしてもよい。
【0134】
また、キャリブレーション制御部120は、各デジタルフィルムカメラ30について、視点から見て、床面FR上で、各キャリブレーションオブジェクト90の各平面のブラックマスク領域で囲われる領域(視点から見て床面FR上でブラックマスク領域と重なる領域)をマスクする処理を行う。
【0135】
以上の処理により、各デジタルフィルムカメラ30について、グレイコードパターン解析の対象とする平面の領域(以下、「解析対象領域」と呼ぶ)を抽出する処理を行うことができる。
【0136】
そして、キャリブレーション制御部120は、各デジタルフィルムカメラ30について、解析対象領域の各3D画素(以下、「解析対象3D画素」と呼ぶ)を認識し、さらに、各デジタルフィルムカメラ30で撮像された2D画像から、それぞれの解析対象3D画素に投影されるグレイコード(時系列的なビットパターン;投影したプロジェクタ40上の2D座標に対応するグレイコード)を認識することができる。
【0137】
グレイコードパターンの動画像では、2D画素ごとに異なるグレイコードが設定されていることから、キャリブレーション制御部120では、解析対象3D画素ごとのグレイコード(時系列ごとのビットパターン)を解析することで、3D座標と2D座標(キャリブレーション対象のプロジェクタ40上の2D座標)とを対応付けた座標サンプルを得ることができる。
【0138】
次に、ビジュアル制御部130は、今回のターンでサンプル取得処理が未実施のプロジェクタの有無を確認し(S108)、未実施のプロジェクタ40がある場合には上述のステップS104に移行して次のプロジェクタ40のキャリブレーション処理に移行し、未実施のプロジェクタ40が無い場合には、今回のターンの処理を終了して後述のステップS109の処理に移行する。
【0139】
1つのターンの処理が終了すると、ビジュアル制御部130は、今までに実行したターン数が閾値(例えば、3)に達したか否かを確認し(S109)、閾値に達した場合には後述するステップS111の処理に移行し、閾値未満の場合には後述するステップS110の処理に移行して次のターンへの移行の準備を行う。
【0140】
次のターンの処理に移行する場合、ビジュアル制御部130は、オペレータによりキャリブレーションオブジェクト90-1、90-2のポジション変更がなされるまで待機し(S110)、上述のステップS104の処理に戻って次のターンの処理に移行する。
【0141】
例えば、ビジュアル制御部130は、オペレータからポジション変更が終了したことを示す所定の入力(例えば、図示しないキーボードやGUIを用いた所定の操作入力)が行われるまで待機するようにしてもよいし、モーションキャプチャシステムからのストリームに基づいてキャリブレーションオブジェクト90-1、90-2の移動(例えば、所定以上の移動量の移動)及び静止(例えば、移動した後の所定時間以上連続した静止)があるまで待機するようにしてもよい。
【0142】
上述のステップS109で、所定回数のターンの処理が完了したと判断された場合、ビジュアル制御部130は、キャリブレーション制御部120を制御して、上述のステップS107で取得した座標サンプルに基づいて、各プロジェクタ40について、キャリブレーション処理を行う。具体的には、ビジュアル制御部130は、キャリブレーション制御部120を制御して、内部パラメータ及び外部パラメータ(プロジェクタ40に、デジタルフィルムカメラ30と同様のカメラモデルを適用した場合の内部パラメータ及び外部パラメータ)を算出する処理を実行し(S111)、一連のキャリブレーションの処理を終了する。
【0143】
各プロジェクタ40について、上述のステップS107で取得した座標サンプルを用いて、内部パラメータ及び外部パラメータを算出する処理については、基本的に上述のデジタルフィルムカメラ30のキャリブレーションと同様の処理を適用することができるため、詳しい説明を省略する。
【0144】
ただし、各プロジェクタ40の内部パラメータを算出する際に設定する初期値(calibrateCamera関数に設定する内部パラメータの初期値)については以下のように設定することが望ましい。一般的にプロジェクタは歪み(歪み係数)が無視できるほど小さいため、必要な精度によっては初期値を0と置いて処理するほうが効率的である。そのため、各プロジェクタ40の内部パラメータを算出する際に設定する内部パラメータのうち歪み係数に係る全てのパラメータ(k1,・・・,k6,p1,p2,s1,・・・,s4)の初期値については、を0に設定することが望ましい。また、焦点距離[fx,fy]の初期値は、プロジェクタ40のスペックに基づき計算した値を初期値とすることが望ましい。さらに、主点[cx,cy]の初期値については、[0.5w,0.5h]を設定することが望ましい。以下では、プロジェクタ40のキャリブレーションで処理されるパラメータ(内部パラメータ及び外部パラメータを含むパラメータ)を総称して「プロジェクタキャリブレーションパラメータ」と呼ぶ。
【0145】
以上のように、プロジェクションシステム1では、各装置のキャリブレーション処理が行われる。
【0146】
次に、上述のキャリブレーション処理が行われた後、プロジェクションシステム1で、3D座標空間CS(例えば、原点P0周辺)に3D画像を結像させる処理の例について説明する。
【0147】
図21は、動作する3Dモデル(3Dモデルシーケンス)に基づく3D画像を3D座標空間CSに結像させる処理(以下、「3D画像結像処理」と呼ぶ)について示したフローチャートである。
【0148】
ここでは、例として、
図22に示すように、ダンス等の動作を行う人型の3Dモデルに基づく3D画像を3D座標空間CSに結像させる処理について説明する。
【0149】
ここでは、まず、ビジュアル制御部130には、
図22に示すようなダンスの動作を行う人型の3Dモデルのシーケンス(3D動画像)を示すデータ(以下、「3Dモデルシーケンスデータ」と呼ぶ)が保持されているものとする。3Dモデルシーケンスデータの具体的な形式は限定されないものであるが、例えば、
図22に示すような人型の3Dモデルの基本データ(例えば、骨格のモデルやテクスチャのデータ)と、当該3Dモデルのモーションのデータ(例えば、骨格の動作等)の組み合わせでも良いし、時系列ごとの3D画像(各3D画素の画素値の集合体)を合わせた3D動画像のデータであってもよい。すなわち、3Dモデルシーケンスデータは、3D座標空間CSにおける時系列的な3D画像(3D動画像)を生成できるデータであれば良い。
【0150】
そして、ビジュアル制御部130は、3D画像結像処理を開始すると、まず、キャリブレーション制御部120が取得したキャリブレーション処理の結果(プロジェクタ40ごとのプロジェクタキャリブレーションパラメータ等)をロードして、ビジュアル処理部140に設定する(S301)。
【0151】
また、ビジュアル制御部130は、3D画像結像処理を開始するにあたって、発煙制御部150を介して発煙装置50-1~50-4を制御し発煙を開始させる(S302)。
【0152】
次に、ビジュアル制御部130は、3Dモデルシーケンスデータに基づいて、時系列ごと(1フレームのタイミングごと)に、3D画像(各3D画素の画素値)を取得して、ビジュアル処理部140に供給する。
【0153】
ビジュアル処理部140は、ビジュアル制御部130から供給された時系列ごと(1フレームのタイミングごと)の3D画像(3D座標の画素)を、各プロジェクタ40のプロジェクタキャリブレーションパラメータ(内部パラメータ及び外部パラメータ)に基づき、各プロジェクタ40の2D画像(プロジェクタ画像)に変換する処理を行って取得する。そして、ビジュアル処理部140は、時系列ごと(1フレームのタイミングごと)に、各プロジェクタ40について取得した2D画像に基づく映像信号を生成して、各プロジェクタ40に供給する(S303)。
【0154】
これにより、各プロジェクタ40から、それぞれのプロジェクタ40のプロジェクタキャリブレーションパラメータに基づき取得された2D画像(プロジェクタ画像)が、3D座標空間CS内にレンダリング(照射)され、3D画像として結像されることになる。
【0155】
図23は、3D座標空間CS内の再帰性反射マーカのモーション(動き)に合わせた3D画像(以下、「インタラクティブ3D画像」と呼ぶ)を3D座標空間CS内に結像させる処理(以下、「インタラクティブ3D画像結像処理」と呼ぶ)について示したフローチャートである。
【0156】
ここでは、例として、
図23に示すように、3D座標空間CS内に再帰性反射マーカTMを手に持った人がいた場合、その再帰性反射マーカTMを基準とした3D画像を3D座標空間CSに結像させる処理について説明する。
【0157】
そして、ビジュアル制御部130は、インタラクティブ3D画像結像処理を開始すると、まず、キャリブレーション制御部120が取得したキャリブレーション処理の結果(プロジェクタ40ごとのプロジェクタキャリブレーションパラメータ等)をロードして、ビジュアル処理部140に設定する(S401)。
【0158】
また、ビジュアル制御部130は、インタラクティブ3D画像結像処理を開始するにあたって、発煙制御部150を介して発煙装置50-1~50-4を制御し発煙を開始させる(S402)。
【0159】
次に、ビジュアル制御部130は、モーションキャプチャ処理部110を制御して、モーションキャプチャシステムのストリーム供給を開始させる(S403)。
【0160】
次に、ビジュアル制御部130は、モーションキャプチャシステムからのストリームに基づいて、3D座標空間CS内における再帰性反射マーカTMの位置(3D座標)をリアルタイムに認識し、認識した再帰性反射マーカTMの位置(3D座標)に応じた3D画像を生成して、ビジュアル処理部140に供給する。
【0161】
このとき、ビジュアル制御部130が生成する3D画像は、再帰性反射マーカTMの位置(3D座標)に応じた3D画像であればその具体的な構成は限定されないものである。例えば、
図24のように、人間が手に持っている再帰性反射マーカTM自体(例えば、再帰性反射マーカTMの中心)やその周囲(再帰性反射マーカTMを中心とする球状の空間)に対して所定の色(例えば、白色等)の画素値の3D画素を描画する3D画像を生成するようにしてもよい。
【0162】
ビジュアル処理部140は、ビジュアル制御部130から供給された3D画像(3D座標の画素)を、各プロジェクタ40のプロジェクタキャリブレーションパラメータ(内部パラメータ及び外部パラメータ)に基づき、各プロジェクタ40の2D画像(プロジェクタ画像)に変換する処理を行って取得する。そして、ビジュアル処理部140は、各プロジェクタ40について取得した2D画像に基づく映像信号を生成して、各プロジェクタ40に供給する(S404)。
【0163】
これにより、各プロジェクタ40から、それぞれのプロジェクタ40のプロジェクタキャリブレーションパラメータに基づき取得された2D画像が、3D座標空間CS内にレンダリング(照射)され、3D画像として結像されることになる。
【0164】
(A-3)実施形態の効果
この実施形態によれば、以下のような効果を奏することができる。
【0165】
この実施形態のプロジェクションシステム1では、3D画像(3D画素)を各プロジェクタ40用の2D画像(2D画素)に変換して取得し、取得した2D画像を各プロジェクタ40から照射させて3D座標空間CS内でレンダリングすることで、3D座標空間CS内に3D画像を結像させることができる。
【0166】
また、この実施形態のプロジェクションシステム1では、モーションキャプチャシステム、デジタルフィルムカメラ30、及びキャリブレーションオブジェクト90を用いることで、高精度かつ効率的に、各プロジェクタ40のキャリブレーション(プロジェクタキャリブレーションパラメータの取得)を行うことができる。
【0167】
さらに、この実施形態のプロジェクションシステム1では、モーションキャプチャシステム及びキャリブレーション用ボード80を用いることで、高精度かつ効率的に、各デジタルフィルムカメラ30のキャリブレーション(内部パラメータ及び外部パラメータの取得)を行うことができる。
【0168】
(B)他の実施形態
本発明は、上記の各実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
【0169】
(B)上記の実施形態では、プロジェクション制御装置10を、各装置のキャリブレーションの制御処理と、3D画像結像の処理の両方を行う装置として説明したが、キャリブレーションのみ行う装置として構成し、3D画像結像の処理については別の装置で行うようにしてもよい。すなわち、キャリブレーションの制御処理と、3D画像結像の制御処理については別装置(別プログラム)として構成するようにしてもよいことは当然である。
【符号の説明】
【0170】
1…プロジェクションシステム、10…プロジェクション制御装置、110…モーションキャプチャ処理部、120…キャリブレーション制御部、130…ビジュアル制御部、140…ビジュアル処理部、150…発煙制御部、20、20-1~20-28…モーションキャプチャカメラ、30、30-1、30-2…デジタルフィルムカメラ、40、40-1~40-24…プロジェクタ、50、50-1~50-4…発煙装置、70…キャリブレーション用ワンド、71…ワンド部、71a…把手部材、71、72-1~73-3…再帰性反射マーカ、73、73-1~73-3…支持部材、80…キャリブレーション用ボード、81…チェッカーボード、82、82-1~82-3…再帰性反射マーカ、83、83-1~83-3…支持部材、90、90-1、90-2…キャリブレーションオブジェクト、91…被投影オブジェクト、92、92-1~92-4…再帰性反射マーカ、93、93-1~93-4…支持部材。