JP6428694B2 - 投影制御装置、プログラム、及び投影システム - Google Patents

投影制御装置、プログラム、及び投影システム Download PDF

Info

Publication number
JP6428694B2
JP6428694B2 JP2016066267A JP2016066267A JP6428694B2 JP 6428694 B2 JP6428694 B2 JP 6428694B2 JP 2016066267 A JP2016066267 A JP 2016066267A JP 2016066267 A JP2016066267 A JP 2016066267A JP 6428694 B2 JP6428694 B2 JP 6428694B2
Authority
JP
Japan
Prior art keywords
projection
projector
coordinates
camera
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016066267A
Other languages
English (en)
Other versions
JP2017183919A (ja
Inventor
敏行 幡田
敏行 幡田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2016066267A priority Critical patent/JP6428694B2/ja
Publication of JP2017183919A publication Critical patent/JP2017183919A/ja
Application granted granted Critical
Publication of JP6428694B2 publication Critical patent/JP6428694B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Controls And Circuits For Display Device (AREA)
  • Projection Apparatus (AREA)
  • Transforming Electric Information Into Light Information (AREA)

Description

本発明は、複数方向にある投影面に画像を投影する投影システムの技術分野に関する。
従来、投影面中に複数平面が存在する場合においても、情報提示位置を自動決定し、歪みの少ない観測像を情報提示するシステムが知られている。例えば特許文献1に開示された平面投影装置は、投影面をカメラにより撮像した画像の撮像画像点を空間中の平面毎にクラスタリングしてクラスタリングされた撮像画像点から投影領域を決定する。より詳細には、平面毎に異なる濃度を割り当てた階層画像を作成し、1つの領域濃度内に留まる面積最大の縦横サイズを投影領域として決定する。そして、決定された投影領域に歪み無く投影するよう投影像に幾何変換を施してプロジェクタから投影出力するように構成されている。
特開2007−142495号公報
プロジェクタは、特許文献1に記載の平面投影装置のように、1つの平面に画像を投影する使用方法が一般的である。しかしながら、境界を挟んで隣接する複数の平面に、複数のプロジェクタを用いて、それぞれの平面に対応する各プロジェクタから画像を投影する場合がある。この場合、複数のプロジェクタから、隣接する複数の平面に隙間なく画像を投影させるため、複数の平面の境界周辺の領域では、複数のプロジェクタによる異なる方向からの複数の画像が重複して投影されてしまう。このため、複数の平面の境界周辺の領域に投影された画像の見栄えが悪くなってしまうことがある。
本発明は、以上の点に鑑みてなされたものであり、複数のプロジェクタによる異なる方向からの複数の画像が重複して投影される場合であっても、投影された画像の見栄えを良くすることが可能な投影制御装置、プログラム、及び投影システムを提供する。
上記課題を解決するために、請求項1に記載の発明は、連続する複数の平面に画像を投影するプロジェクタと、前記画像が投影される前記複数の平面を含む投影範囲を撮像するカメラと、を一組の投影装置として、前記プロジェクタの前記投影範囲が他の前記プロジェクタの前記投影範囲と重複するように配置される複数組の投影装置を含む投影システムにおける投影制御装置であって、複数の前記プロジェクタにより投影される前記投影範囲が重複する重複投影領域を、前記カメラにより撮像された画像から特定する特定手段と、前記重複投影領域において異なるタイミングで、且つ異なる位置に仮想線を複数回設定する設定手段と、前記重複投影領域において前記仮想線を挟んで隣接する第1領域と第2領域であって、前記第1領域において前記カメラの座標と前記プロジェクタの座標との対応関係が所定条件を満たす座標点の数である第1対応座標数と、前記第2領域において前記カメラの座標と前記プロジェクタの座標との対応関係が所定条件を満たす座標点の数である第2対応座標数とを、前記仮想線ごとに算出する算出手段と、前記仮想線ごとにおける前記第1対応座標数と前記第2対応座標数とを用いて、いずれかの前記仮想線を、前記重複投影領域に対応する前記複数の平面の境界線として決定する決定手段と、複数の前記プロジェクタにより投影される各画像の前記重複投影領域に該当する領域のうち、前記決定手段により決定された境界線から特定される投影制限領域について、前記プロジェクタにより投影される画像を補正する補正手段と、を備えることを特徴とする。
請求項2に記載の発明は、請求項1に記載の投影制御装置において、前記算出手段は、前記仮想線ごとに、前記第1領域において前記プロジェクタの座標から前記カメラの座標へ射影変換する第1ホモグラフィ行例を計算し、且つ、前記第2領域において前記プロジェクタの座標から前記カメラの座標へ射影変換する第2ホモグラフィ行例を計算し、前記第1領域において前記プロジェクタの座標と前記カメラの座標との組合せが前記第1ホモグラフィ行例と適合する第1適合数を前記第1対応座標数として算出し、且つ、前記第2領域において前記プロジェクタの座標と前記カメラの座標との組合せが前記第2ホモグラフィ行例と適合する第2適合数を前記2対応座標数として算出し、前記決定手段は、前記仮想線ごとにおける前記第1適合数と前記第2適合数とを用いて、いずれかの前記仮想線を、前記重複投影領域に対応する前記複数の平面の境界線として決定することを特徴とする。
請求項3に記載の発明は、請求項2に記載の投影制御装置において、前記算出手段は、前記仮想線ごとに、さらに、前記第1領域において前記プロジェクタの座標と前記カメラの座標との組合せが前記第2ホモグラフィ行例と適合する第3適合数を算出し、且つ、前記第2領域において前記プロジェクタの座標と前記カメラの座標との組合せが前記第1ホモグラフィ行例と適合する第4適合数を算出し、前記決定手段は、前記仮想線ごとにおける前記第1適合数と前記第2適合数とに加えて、前記第3適合数と前記第4適合数とを用いて、いずれかの前記仮想線を、前記重複投影領域に対応する前記複数の平面の境界線として決定することを特徴とする。
請求項4に記載の発明は、請求項1に記載の投影制御装置において、前記算出手段は、前記仮想線ごとに、前記第1領域において前記プロジェクタの座標から前記カメラの座標へ射影変換する第1ホモグラフィ行例を計算し、且つ、前記第2領域において前記プロジェクタの座標から前記カメラの座標へ射影変換する第2ホモグラフィ行例を計算し、前記第1領域において前記プロジェクタの座標と前記カメラの座標との組合せが前記第2ホモグラフィ行例と適合する第3適合数を前記第1対応座標数として算出し、且つ、前記第2領域において前記プロジェクタの座標と前記カメラの座標との組合せが前記第1ホモグラフィ行例と適合する第4適合数を前記第1対応座標数として算出し、前記決定手段は、前記仮想線ごとにおける前記第3適合数と前記第4適合数とを用いて、いずれかの前記仮想線を、前記重複投影領域に対応する前記複数の平面の境界線として決定することを特徴とする。
請求項5に記載の発明は、請求項2に記載の投影制御装置において、前記決定手段は、前記第1領域における前記第1適合数と、前記第2領域における前記第2適合数との総和が最も大きい仮想線を、前記重複投影領域に対応する前記複数の平面の境界線として決定することを特徴とする。
請求項6に記載の発明は、請求項3に記載の投影制御装置において、前記決定手段は、前記第1領域における前記第1適合数と、前記第2領域における前記第2適合数と、前記第1領域において前記プロジェクタの座標と前記カメラの座標との組合せの総数から前記第3適合数を減算した数と、前記第2領域において前記プロジェクタの座標と前記カメラの座標との組合せの総数から前記第4適合数を減算した数との総和が最も大きい仮想線を、前記重複投影領域に対応する前記複数の平面の境界線として決定することを特徴とする。
請求項7に記載の発明は、請求項4に記載の投影制御装置において、前記決定手段は、前記第1領域において前記プロジェクタの座標と前記カメラの座標との組合せの数から前記第3適合数を減算した数と、前記第2領域において前記プロジェクタの座標と前記カメラの座標との組合せの数から前記第4適合数を減算した数との総和が最も大きい仮想線を、前記重複投影領域に対応する前記複数の平面の境界線として決定することを特徴とする。
請求項8に記載の発明は、連続する複数の平面に画像を投影するプロジェクタと、前記画像が投影される前記複数の平面を含む投影範囲を撮像するカメラと、を一組の投影装置として、前記プロジェクタの前記投影範囲が他の前記プロジェクタの前記投影範囲と重複するように配置される複数組の投影装置を含む投影システムにおけるコンピュータに、複数の前記プロジェクタにより投影される前記投影範囲が重複する重複投影領域を、前記カメラにより撮像された画像から特定する特定ステップと、前記重複投影領域において異なるタイミングで、且つ異なる位置に仮想線を複数回設定する設定ステップと、前記重複投影領域において前記仮想線を挟んで隣接する第1領域と第2領域であって、前記第1領域において前記カメラの座標と前記プロジェクタの座標との対応関係が所定条件を満たす座標点の数である第1対応座標数と、前記第2領域において前記カメラの座標と前記プロジェクタの座標との対応関係が所定条件を満たす座標点の数である第2対応座標数とを、前記仮想線ごとに算出する算出ステップと、前記仮想線ごとにおける前記第1対応座標数と前記第2対応座標数とを用いて、いずれかの前記仮想線を、前記重複投影領域に対応する前記複数の平面の境界線として決定する決定ステップと、複数の前記プロジェクタにより投影される各画像の前記重複投影領域に該当する領域のうち、前記決定ステップにより決定された境界線から特定される投影制限領域について、前記プロジェクタにより投影される画像を補正する補正ステップと、を実行させることを特徴とする。
請求項9に記載の発明は、連続する複数の平面に画像を投影するプロジェクタと、前記画像が投影される前記複数の平面を含む投影範囲を撮像するカメラと、を一組の投影装置として、前記プロジェクタの前記投影範囲が他の前記プロジェクタの前記投影範囲と重複するように配置される複数組の投影装置を含む投影システムであって、複数の前記プロジェクタにより投影される前記投影範囲が重複する重複投影領域を、前記カメラにより撮像された画像から特定する特定手段と、前記重複投影領域において異なるタイミングで、且つ異なる位置に所定方向に延びる仮想線を複数回設定する設定手段と、前記重複投影領域において前記仮想線を挟んで隣接する第1領域と第2領域であって、前記第1領域において前記カメラの座標と前記プロジェクタの座標との対応関係が所定条件を満たす座標点の数である第1対応座標数と、前記第2領域において前記カメラの座標と前記プロジェクタの座標との対応関係が所定条件を満たす座標点の数である第2対応座標数とを、前記仮想線ごとに算出する算出手段と、前記仮想線ごとにおける前記第1対応座標数と前記第2対応座標数とを用いて、いずれかの前記仮想線を、前記重複投影領域に対応する前記複数の平面の境界線として決定する決定手段と、複数の前記プロジェクタにより投影される各画像の前記重複投影領域に該当する領域のうち、前記決定手段により決定された境界線から特定される投影制限領域について、前記プロジェクタにより投影される画像を補正する補正手段と、を備えることを特徴とする。
請求項1,8及び9に記載の発明によれば、複数のプロジェクタによる異なる方向からの複数の画像が重複して投影される場合であっても、投影された画像の見栄えを良くすることができる。
請求項2,5に記載の発明によれば、実空間における平面の境界に合った最も精度の高い境界線を決定することができる。
請求項3,6に記載の発明によれば、実空間における平面の境界に合った比較的精度の高い境界線を決定することができる。
請求項4,7に記載の発明によれば、実空間における平面の境界に合った比較的精度の高い境界線を決定することができる。
本実施形態の投影システムSの概要構成例を示す図である。 投影システムSが利用される部屋内に配置されたプロジェクタP1〜P3とカメラC1〜C3の位置関係の一例を示す図である。 (A)は、元画像の一例を示す図であり、(B)は、元画像に含まれるプロジェクタ画像Pi1〜Pi3における重複投影領域Pov1,Pov2の一例を示す図である。 プロジェクタ画像Pi1〜Pi3を分離して示す図である。 カメラ画像Ci1及びCi2における重複投影領域Cov1に設定される仮想線KLの一例を示す図である。 プロジェクタ画像Pi1〜Pi3における境界線の一例を示す図である。 (A)は、制御部4により実行される事前処理の一例を示すフローチャートである。(B),(C)は、カメラ画像Ci1及びCi2における重複投影領域Cov1に設定される直線Lの一例を示す図である。 制御部4により実行される画像補正処理1の一例を示すフローチャートである。 (A)は、制御部4の画像補正処理2の一例を示すフローチャートである。(B)〜(E)は、カメラ画像Ci1及びCi2において特定される各座標点の一例を示す図である。 (A)は、制御部4により実行される画像補正処理3の一例を示すフローチャートである。(B)は、プロジェクタ座標毎にホモグラフィ行列Vsが記録される例を示す図である。 制御部4により実行される画像補正処理4の一例を示すフローチャートである。 制御部4により実行される投影制御処理の一例を示すフローチャートである。
以下、本発明の実施形態を図面に基づいて説明する。
[1.投影システムの構成及び動作概要]
はじめに、図1及び図2等を参照して、本実施形態の投影システムSの構成及び動作概要について説明する。投影システムSは、図1に示すように、プロジェクタP1〜P3、カメラC1〜C3、及び投影制御装置CO等を備えて構成される。プロジェクタP1〜P3は、それぞれ、有線または無線を介して投影制御装置COと接続される。カメラC1〜C3は、それぞれ、有線または無線を介して投影制御装置COと接続される。なお、投影システムSは、例えばカラオケ店舗等のアミューズメント施設における部屋において利用される。投影システムSがカラオケ店舗の部屋に適用される場合、部屋内にはカラオケ用の楽曲再生装置(コマンダ)等が設置される。
また、投影システムSは、1つのプロジェクタと1つのカメラとを一組の投影装置として、複数組の投影装置を含む。図1の例では、投影システムSは、プロジェクタP1とカメラC1の組と、プロジェクタP2とカメラC2の組と、プロジェクタP3とカメラC3の組との計3組の投影装置を含む。ただし、投影装置が2組以上あれば本発明を適用することができる。各組の投影装置におけるプロジェクタとカメラとは、部屋内において、図2(A)に示すように近づけて設置されてもよいし、図2(B)に示すように遠ざけて設置されてもよい。
プロジェクタP1〜P3は、それぞれ、投影制御装置COから出力された画像信号に応じた光を発光部から発光することにより、連続する複数の平面に画像(以下、「プロジェクタ画像」という)を投影する。プロジェクタ画像は、2次元平面の画像である。プロジェクタP1〜P3から出力される各プロジェクタ画像は、本実施形態では図3(A)に示すように元画像から分割された画像とするが、元画像から分割された画像ではなく、それぞれが独立した画像であってもよい。また、各プロジェクタ画像が投影される平面は、本実施形態では部屋の壁面とするが、部屋の天井面や床面であってもよい。図2(A),(B)の例では、プロジェクタP1は、投影角Θ1に収まる投影範囲内の壁面W1及び壁面W2にプロジェクタ画像を投影する。例えば、図3(B),図4に示すように元画像から分割されたプロジェクタ画像Pi1がプロジェクタP1から出力されて投影される。壁面W1と壁面W2とは、境界B1を挟んで隣接している。境界B1は、壁面W1と壁面W2との間の角(かど)である。プロジェクタP2は、投影角Θ2に収まる投影範囲内の壁面W1、壁面W2及び壁面W3にプロジェクタ画像を投影する。例えば、図3(B),図4に示すように元画像から分割されたプロジェクタ画像Pi2がプロジェクタP2から出力されて投影される。壁面W2と壁面W3とは、境界B2を挟んで隣接している。境界B2は、壁面W2と壁面W3との間の角(かど)である。プロジェクタP3は、投影角Θ3に収まる投影範囲内の壁面W2及び壁面W3にプロジェクタ画像を投影する。例えば、図3(B),図4に示すように元画像から分割されたプロジェクタ画像Pi2がプロジェクタP3から出力されて投影される。
このように、それぞれのプロジェクタP1〜P3は、それぞれの投影範囲が他のプロジェクタの投影範囲と重複するように配置される。例えば、プロジェクタP1の投影範囲とプロジェクタP2の投影範囲とは、境界B1を挟んで壁面W1の右端部領域と壁面W2の左端部領域において重複している。このように投影範囲が重複する領域を「重複投影領域」(オーバーラップ領域)という。プロジェクタP1とプロジェクタP2の投影範囲が重複する重複投影領域には、図3(B),図4に示すように、プロジェクタ画像Pi1とプロジェクタ画像Pi2とが重複する部分Pov1の画像が投影されることになる。また、プロジェクタP2の投影範囲とプロジェクタP3の投影範囲とは、境界B2を挟んで壁面W2の右端部領域と壁面W3の左端部領域において重複している。プロジェクタP2とプロジェクタP3の投影範囲が重複する重複投影領域には、図3(B),図4に示すように、プロジェクタ画像Pi2とプロジェクタ画像Pi3とが重複する部分Pov2の画像が投影されることになる。なお、図2(A),(B)の例では、境界B1の角度は、90度であるが、90度より小さい鋭角であってもよいし、90度より大きい鈍角であってもよい。
カメラC1〜C3は、それぞれ、プロジェクタ画像が投影される複数の壁面を含む投影範囲を撮像し、撮像した画像(以下、「カメラ画像」という)を投影制御装置COへ出力する。なお、カメラ画像は、2次元平面の画像であるが、3次元空間中の複数の2次元平面(例えば、壁面)が映り込んだ画像である。図2(A),(B)の例では、カメラC1は、画角θ1に収まる撮像範囲内であって、プロジェクタP1によりプロジェクタ画像が投影される壁面W1及び壁面W2を含む投影範囲を撮像する。ここで、カメラC1の撮像範囲は、プロジェクタP1の投影範囲よりも広い範囲である。カメラC2は、画角θ2に収まる撮像範囲内であって、プロジェクタP2によりプロジェクタ画像が投影される壁面W1、壁面W2及び壁面W3を含む投影範囲を撮像する。ここで、カメラC2の撮像範囲は、プロジェクタP2の投影範囲よりも広い範囲である。カメラC3は、画角θ3に収まる撮像範囲内であって、プロジェクタP3によりプロジェクタ画像が投影される壁面W2及び壁面W3を含む投影範囲を撮像する。ここで、カメラC3の撮像範囲は、プロジェクタP3の投影範囲よりも広い範囲である。
投影制御装置COは、プロジェクタ画像の投影制御を行う。投影制御装置COは、図1に示すように、IF1a〜1f、記憶部2、操作部3、及び制御部4を備える。IF1a〜1f、記憶部2、操作部3、及び制御部4は、バス5に接続されている。IF1a〜1cは、それぞれ、カメラC1〜C3とのインターフェースである。IF1d〜1fは、それぞれ、プロジェクタP1〜P3とのインターフェースである。記憶部2は、例えばハードディスクドライブにより構成される。記憶部2には、OS(Operating System)、及びアプリケーションプログラム(本発明のプログラムを含む)等が記憶される。アプリケーションプログラムは、OS上で後述する画像補正処理及び投影制御処理等を制御部4のCPUに実行させるプログラムである。また、記憶部2には、元画像の画像データ等が記憶される。元画像には、後述するパターン画像、及びコンテンツ画像が含まれる。操作部3は、オペレータからの操作指示を受け付け、その操作指示に応じた信号を制御部4へ出力する。制御部4は、コンピュータとしてのCPU(Central Processing Unit)、ROM(Read Only Memory)、及びRAM(Random Access Memory)等により構成される。制御部4は、本発明の特定手段、設定手段、算出手段、決定手段、及び補正手段として、画像補正処理の中で特徴的な処理を行う。
ここで、画像補正処理の中で行われる特徴的な処理について、図5及び図6を参照して説明する。この特徴的な処理では、先ず、制御部4は、プロジェクタP1〜P3により投影される投影範囲が重複する重複投影領域を、カメラC1〜C3により撮像されたカメラ画像から特定する。重複投影領域は、プロジェクタP1〜P3のうち、投影するプロジェクタを1台ずつ順次切り換え、いずれかのプロジェクタにより投影された画像を、カメラC1〜C3により撮像することにより特定される。具体的には、複数台のプロジェクタを順に切り換え、投影されるプロジェクタの各々による投影範囲が、投影されるプロジェクタごとにカメラで撮像される。そして、撮像されたカメラ画像から、投影されたプロジェクタそれぞれの投影範囲が特定される。特定された各プロジェクタによって異なる投影範囲を比較することにより、複数台のプロジェクタでの重複投影領域が特定される。図5(A)の例では、カメラC1〜C3により撮像されたカメラ画像Ci1〜Ci2において、重複投影領域Cov1と重複投影領域Cov2とが特定される。図5の例は、カメラC1〜C3に共通するカメラ座標系にカメラ画像Ci1〜Ci3を配置した例を示している。次に、制御部4は、特定した重複投影領域Cov1において、図5(A),(B)に示すように、異なるタイミングで、且つ異なる位置に仮想線KLを複数回(少なくとも2回)設定する。仮想線KLは、例えば鉛直方向に重複投影領域Cov1の下端から上端まで延びる直線である。複数回設定される仮想線KLは、いずれも同一の軌跡で、重複投影領域Cov1の所定方向の一端から他端まで延びる線である。仮想線KLは、重複投影領域Cov1において、x軸方向に1座標(1ドット)ずつ移動(シフト)された位置に設定されるとよい。なお、図5(A)の例では、重複投影領域Cov1にのみ仮想線KLが設定されているが、重複投影領域Cov2においても別のタイミングで仮想線KLが設定されることになる。本実施形態では、水平方向に隣り合う壁面W1及び壁面W2に投影するプロジェクタ画像に対し、鉛直方向の仮想線を設定したがこれに限らない。例えば、鉛直方向に隣り合う2つの壁面に投影するプロジェクタ画像に対し、仮想線を設定する場合には、水平方向の仮想線を設定してもよい。また、2つの壁面の間の角の形状が予め判っている場合には、仮想線に、角の形状に合う傾きを持つ直線や曲線を設定してもよい。
次に、制御部4は、重複投影領域Cov1において仮想線KLを挟んで隣接する左側領域Al1(第1領域の一例)と右側領域Ar1(第2領域の一例)とを特定する。なお、本実施形態では、第1領域及び第2領域の一例として左側領域及び右側領域を特定したが、例えば仮想線を水平方向に設定してもよく、この場合、上側領域及び下側領域を特定することになる。制御部4は、左側領域A11においてカメラの座標(以下、「カメラ座標」という)とプロジェクタの座標(以下、「プロジェクタ座標」という)との対応関係が所定条件を満たす座標点(ドット)の数である左側対応座標数(第1対応座標数)と、右側領域Ar1においてカメラ座標とプロジェクタ座標との対応関係が所定条件を満たす座標点の数である右側対応座標数(第2対応座標数の一例)とを、図5(A),(B)に示すような異なる位置の仮想線KLごとに算出する。ここで、カメラ座標とは、例えば、カメラC1〜C3のそれぞれのカメラ座標系におけるカメラ画像上の座標(2次元座標)である。一方、プロジェクタ座標とは、例えば、プロジェクタP1〜P3のそれぞれのプロジェクタ座標系におけるプロジェクタ画像上の座標(2次元座標)である。なお、それぞれの座標系は、例えば、それぞれの画像の左上端を原点(0,0)とする座標系である。また、所定条件は、例えば、プロジェクタ画像Pi1の平面と、カメラ画像Ci1に映り込んだ平面(例えば、壁面W1)との対応関係を表す関係式に適合するという条件である。そして、制御部4は、仮想線KLごとに算出した右側対応座標数と左側対応座標数とを用いて後述するようにスコアを算出することで、異なるタイミングで設定されたいずれかの仮想線KLを重複投影領域Cov1に対応する複数の平面(壁面W1と壁面W2)の境界線として決定する。なお、図5の例の場合、重複投影領域Cov2においても上記と同様に右側対応座標数と左側対応座標数とを用いて境界線が決定される。
次に、制御部4は、決定された境界線からプロジェクタP1〜P3により投影されるプロジェクタ画像Pi1〜Pi3の投影制限領域を特定し、特定された投影制限領域に基づいてこの投影制限領域の投影を制限するようにプロジェクタ画像Pi1〜Pi3を補正する。図6の例では、プロジェクタ画像Pi1における重複投影領域Pov1内の境界線からプロジェクタ画像Pi1の右端までの投影制限領域を黒で塗りつぶす補正が行われている。なお、図6の例に示す境界線は、便宜上、プロジェクタ画像の底辺に垂直な直線になっているが、垂直な直線になるとは限らない。また、図6の例では、プロジェクタ画像Pi2における重複投影領域Pov1内の境界線からプロジェクタ画像Pi2の左端までの投影制限領域と、プロジェクタ画像Pi2における重複投影領域Pov2内の境界線からプロジェクタ画像Pi2の右端までの投影制限領域とを黒で塗りつぶす補正が行われている。また、図6の例では、プロジェクタ画像Pi3における重複投影領域Pov2内の境界線からプロジェクタ画像Pi3の左端までの投影制限領域を黒で塗りつぶす補正が行われている。このような補正により、例えばプロジェクタP2の正面にある壁面W2にプロジェクタ画像Pi2のうちの意味のある画像(例えば、パターン画像やコンテンツ画像)を投影させ、正面以外の壁面W1及び壁面W3にはそのプロジェクタ画像Pi2のうちの黒画像を投影させることができる。つまり、間延びなどの見栄えの良くない正面以外の壁面W1及び壁面W3に黒画像を投影させることができる。そして、この黒画像が投影される部分には、プロジェクタP1とプロジェクタP3により意味のあるプロジェクタ画像Pi1,Pi3を投影(つまり、暗い壁面に画像を投影)させることができる。なお、図6の例では、投影制限領域を黒で塗りつぶす補正を行っているが、投影制限領域の透過度を高くする補正を行ってもよい。
[2.投影システムSの動作]
次に、本実施形態の投影システムSで実施される動作例について説明する。
(2−1.事前処理)
先ず、図7を参照して、画像補正処理の前段階で実行される事前処理について説明する。図7(A)に示す事前処理は、オペレータによる操作部3の操作にしたがって開始される。図7(A)に示す事前処理が開始されると、制御部4は、カメラの歪み補正を行う(ステップS1)。ここで、カメラの歪み補正は、Zhengyou Zhang による“A Flexible New Technique for Camera Calibration”に記載された方法を用いるとよい。図1に示す構成では、カメラC1〜C3のうちの全部または一部の歪み補正が行われる。なお、精度の良いカメラを使用する場合、ステップS1の処理は行われなくてもよい。
次いで、制御部4は、プロジェクタとカメラとの全ての組合せについて、プロジェクタ座標とカメラ座標との対応付けを行う(ステップS2)。つまり、投影装置を構成するプロジェクタとカメラとの組以外の組合せについてもプロジェクタ座標とカメラ座標との対応付けが行われる。プロジェクタ座標とカメラ座標との対応付けは、例えばJ.BATTLEらによる “RECENT PROGRESS IN CODED STRUCTURED LIGHT AS A TECHNIQUE TO SOLVE THE CORRESPONDENCE PROBLEM: A SURVEY”に記載された方法を用いるとよい。
図1に示す構成では、プロジェクタP1〜P3により投影されたプロジェクタ画像Pi1〜Pi3と、カメラC1〜C3により撮像されたカメラ画像Ci1〜Ci3とが用いられる。ここで用いられるプロジェクタ画像は、後述する画像補正処理4で求められるマップMを作成するためのパターン画像(サンプル画像)である。そして、プロジェクタP1とカメラC1との組合せと、プロジェクタP1とカメラC2との組合せと、プロジェクタP1とカメラC3との組合せと、プロジェクタP2とカメラC1との組合せと、プロジェクタP2とカメラC2との組合せと、プロジェクタP2とカメラC3との組合せと、プロジェクタP3とカメラC1との組合せと、プロジェクタP3とカメラC2との組合せと、プロジェクタP3とカメラC3との組合せと、のそれぞれについて、プロジェクタ座標とカメラ座標との対応付けが行われる。例えば、プロジェクタP1とカメラC1との組合せについてのプロジェクタ座標とカメラ座標との対応付けでは、プロジェクタP1により投影されたプロジェクタ画像Pi1とカメラC1により撮像されたカメラ画像Ci1とが用いられる。なお、カメラ座標に対応するプロジェクタ座標がない場合もある。
次いで、制御部4は、ステップS3〜S8のループ処理を、プロジェクタのインデックスを示す変数mが1〜M(投影装置の組数)まで繰り返し行う。図1に示す構成では、Mは3であるため、ループ処理は3回繰り返された後に終了する。このループ処理は、カメラの傾きに起因するカメラ画像中の被写体の傾きを補正するための処理である。例えばカメラC1が多少傾いた状態で正面の壁面W1を撮像しても、その傾きはカメラ画像中の壁面W1の傾きには影響しない(壁面W1が傾いていない状態で映る)。しかし、例えばカメラC1が多少傾いた状態で正面の壁面W1以外の壁面W2を撮像すると、その傾きはカメラ画像中の壁面W2の傾きには影響してしまう(壁面W2が傾いた状態で映る)。ループ処理によれば、カメラ画像中の傾いた壁面W2の部分を計算上傾いていないように補正することで、後に行われる画像補正処理における仮想線の決定精度を高めることができる。
ステップS3では、制御部4は、カメラ画像Cimとカメラ画像Cim+1のそれぞれのカメラ座標に対応付けられたプロジェクタ座標中より共通のプロジェクタ座標を持つ重複投影領域Covmを特定する。次いで、制御部4は、図7(B)に示すように、カメラ画像Cimにおける重複投影領域Covmに鉛直の直線Lを設定する(ステップS4)。
次いで、制御部4は、図7(C)に示すように、カメラ画像Cim+1における重複投影領域Covmにおいて直線Lに対応する直線L’を特定する(ステップS5)。この直線L’は、直線Lが鉛直であっても、上述した理由で傾く(つまり、90度ではない)ことがある。制御部4は、直線 L’の傾きの逆数を最小化する3次元回転行列Rを求める(ステップS6)。ここで、直線 L’の傾きaの逆数(1/a)を最小化する(つまり、0にする)ことは、直線 L’の傾きaの最大化する(つまり、90度にする)ことに等しい。
次いで、制御部4は、カメラ画像Cim+1における重複投影領域Covmに3次元回転行列Rを適用する(ステップS7)。これにより、直線 L’が鉛直になるように、カメラ画像Cim+1における重複投影領域Covmが回転される。次いで、制御部4は、変数mを1インクリメントし(ステップS8)、ループ処理を繰り返す場合にはステップS3に戻る。
(2−2.画像補正処理1)
次に、図8を参照して、画像補正処理1について説明する。図8に示す画像補正処理1は、重複投影領域における複数の平面の境界線を決定するための処理である。図8に示す画像補正処理1は、図7に示す事前処理が行われた後、自動的に開始、またはオペレータによる操作部3の操作にしたがって開始される。図8に示す画像補正処理1が開始されると、制御部4は、ステップS11〜S23のループ処理を、変数mが1〜Mまで繰り返し行う。図1に示す構成では、Mは3であるため、ループ処理は3回繰り返された後に終了する。
ステップS11では、制御部4は、カメラ画像Cimとカメラ画像Cim+1のそれぞれのカメラ座標に対応付けられたプロジェクタ座標中より共通のプロジェクタ座標を持つ重複投影領域Covmを特定する。次いで、制御部4は、ステップS12〜S19のループ処理を仮想線KLが重複投影領域の左端から右端に移動(x軸方向にシフト)するまで繰り返し行う。
ステップS12では、制御部4は、重複投影領域Covmにおいて仮想線KLを設定する。最初の設定では、重複投影領域Covmの左端の位置に仮想線KLが設定される。次いで、制御部4は、重複投影領域Covmにおいて仮想線KLを挟んで隣接する左側領域Almと右側領域Armとを特定する(ステップS13)。
次いで、制御部4は、左側領域AlmにおいてプロジェクタPmとカメラCmの座標対応関係を表すホモグラフィ行列H1を計算する(ステップS14)。ここで、ホモグラフィ行列H1の計算は、例えば、Hartley, Zissermanによる“Multiple View Geometry in Computer Vision second edtion”のP109に記載の方法を用いるとよい。ホモグラフィ行列H1は、左側領域Almにおいてプロジェクタ座標からカメラ座標へ射影変換する3×3行列である。ホモグラフィ行列H1は、例えば左側領域Al1においてプロジェクタ画像Pimの平面とカメラ画像Cimに映り込んだ平面(つまり、壁面Wm)とを関係付ける。カメラ画像Cimに映り込んだ平面は、例えば、プロジェクタP1〜P3とカメラC1〜C3との組合せにおけるプロジェクタ座標とカメラ座標との対応付けから抽出することができる。左側領域Almにおいて、プロジェクタ画像Pim上の座標点をp1、カメラ画像Cim上の座標点をc1とすると、p1とc1との対応関係は、下記(1)に示す関係式で表される。
c1=H1×p1 ・・・(1)
ただし、ホモグラフィ行列は、あくまでも2つの平面を1対1で対応付けるものである。また、ホモグラフィ行列には順序関係がある。変換元の座標点p1と変換先の座標点c1を逆にした対応関係もまた、ホモグラフィ行列で表すことができ、これは、下記(2)に示す関係式で表されるように、ホモグラフィ行列H1の逆行列inv(H1)が用いられる。
p1=inv(H1)×c1・・・(2)
次いで、制御部4は、右側領域ArmにおいてプロジェクタPmとカメラCmの座標対応関係を表すホモグラフィ行列H2を計算する(ステップS15)。ホモグラフィ行列H2は、右側領域Armにおいてプロジェクタ座標からカメラ座標へ射影変換する3×3行列である。ホモグラフィ行列H2は、右側領域Armにおいてプロジェクタ画像Pimの平面とカメラ画像Cimに映り込んだ平面(つまり、壁面Wm+1)とを関係付ける。右側領域Armにおいて、プロジェクタ画像Pim上の座標点をp2、カメラ画像Cim上の座標点をc2とすると、p2とc2との対応関係は、下記(3)に示す関係式で表される。
c2=H2×p2 ・・・(3)
また、変換元の座標点p2と変換先の座標点c2を逆にした対応関係は、下記(4)に示す関係式で表される。
p2=inv(H2)×c2・・・(4)
次いで、制御部4は、左側領域Almにおいてカメラ座標とプロジェクタ座標との対応関係が所定条件を満たす座標点の数である左側対応座標数を算出する(ステップS16)。所定条件とは、例えば、カメラ画像上の座標点と、ステップS15において計算されたホモグラフィ行列とプロジェクタ画像上の座標点との関係を定めるものである。言い換えると、所定条件は、カメラ画像上の座標点と、ホモグラフィ行列とプロジェクタ画像上の座標点との一致度を求めるものであればよい。この所定条件として、例えば、下記(5)に示す条件が適用される。
NORM(c1−H1×p1)≦閾値 ・・・(5)
ここで、閾値は0、または0から誤差を数%考慮した値である。NORMはベクトルの大きさを測る計算であり、ベクトル解析学でいう2−ノルムの計算である。上記(5)に示す条件を満たす座標点の数である左側対応座標数は、左側領域Almにおいてプロジェクタ座標とカメラ座標との組合せ(つまり、座標点p1と座標点c1との組合せ)がホモグラフィ行例H1と適合する適合数n11(第1適合数の一例)である。なお、左側領域Almにおいてプロジェクタ座標とカメラ座標との組合せの総数は左側対応総数n1として算出することができる。仮想線KLが部屋内の境界B1の境界線とほぼ一致するとき、適合数n11≒左側対応総数n1となる。
また、上記(5)に示す条件に代えて、或いは上記(5)に示す条件と共に、下記(6)に示す条件が適用されてもよい。
NORM(c1−H2×p1)≦閾値 ・・・(6)
ここで、閾値は(5)に示す条件と同様であり、NORMは(5)に示す計算と同様にベクトルの大きさを測る計算である。上記(6)に示す条件を満たす座標点の数である左側対応座標数は、左側領域Almにおいてプロジェクタ座標とカメラ座標との組合せがホモグラフィ行例H2と適合する適合数n21(第3適合数の一例)である。仮想線KLが部屋内の境界B1の境界線とほぼ一致するとき、適合数n21≒0となる。
次いで、制御部4は、右側領域Armにおいてカメラ座標とプロジェクタ座標との対応関係が所定条件を満たす右側対応座標数を算出する(ステップS17)。この所定条件として、例えば、下記(7)に示す条件が適用される。
NORM(c2−H2×p2)≦閾値 ・・・(7)
ここで、閾値は(5)に示す条件と同様であり、NORMは(5)に示す計算と同様にベクトルの大きさを測る計算である。上記(7)に示す条件を満たす座標点の数である右側対応座標数は、右側領域Armにおいてプロジェクタ座標とカメラ座標との組合せがホモグラフィ行例H2と適合する適合数n22(第2適合数の一例)である。なお、右側領域Armにおいてプロジェクタ座標とカメラ座標との組合せの総数は右側対応総数n2として算出することができる。仮想線KLが部屋内の境界B1の境界線とほぼ一致するとき、適合数n22≒右側対応総数n2となる。
また、上記(7)に示す条件に代えて、或いは上記(7)に示す条件と共に、下記(8)に示す条件が適用されてもよい。
NORM(c2−H1×p2)≦閾値 ・・・(8)
ここで、閾値は(5)に示す条件と同様であり、NORMは(5)に示す計算と同様にベクトルの大きさを測る計算である。上記(8)に示す条件を満たす座標点の数である右側対応座標数は、右側領域Armにおいてプロジェクタ座標とカメラ座標との組合せがホモグラフィ行例H1と適合する適合数n12(第4適合数の一例)である。仮想線KLが部屋内の境界B1の境界線とほぼ一致するとき、適合数n12≒0となる。
次いで、制御部4は、ステップS16で算出された右側対応座標数と、ステップS17で算出された左側対応座標数とを用いてスコアを算出する(ステップS18)。このスコアを算出するために、例えば、下記(9)〜(11)の何れか1つ適用される。
スコア=n11+n22+(n1−n21)+(n2−n12)・・・(9)
スコア=n11+n22・・・(10)
スコア=(n1−n21)+(n2−n12) ・・・(11)
ここで、(9)に示すスコア算出式を適用する場合、制御部4は、適合数n11と適合数n22とに加えて、適合数n21と適合数n12とを用いて、ステップS20で境界線を決定することになる。これにより、実空間における平面の境界に合った最も精度の高い境界線を決定することができる。一方、(10)に示すスコア算出式を適用する場合、制御部4は、適合数n11と適合数n22とを用いて、ステップS20で境界線を決定することになる。これによっても、実空間における平面の境界に合った比較的精度の高い境界線を決定することができる。一方、(11)に示すスコア算出式を適用する場合、制御部4は、適合数n21と適合数n12とを用いて、ステップS20で境界線を決定することになる。これによっても、実空間における平面の境界に合った比較的精度の高い境界線を決定することができる。なお、プロジェクタ座標とカメラ座標との組合せが、ホモグラフィ行例H1とホモグラフィ行例H2との双方に適合してしまう場合(例えば、境界の角度が鈍角で大きくなるような場合)がある。このため、上記(9),(11)式に示すように、(n1−n21)と(n2−n12)とをスコアの計算要素として組み込むことで、ホモグラフィ行例H1とホモグラフィ行例H2との双方に適合する組合せ(つまり、信頼度の低い組合せ)を除外したスコアを算出することができる。
次いで、制御部4は、仮想線KLの位置を1座標だけ右側にシフトし(ステップS19)、ステップS12に戻り、シフトされた位置に仮想線KLを設定する。
そして、ステップS12〜S19のループ処理が終了すると、制御部4は、異なる位置の仮想線KLのうち、算出されたスコアが最大となった仮想線KLを重複投影領域Covmに対応する複数の平面の境界線(例えば、部屋内の境界B1の境界線)として決定する(ステップS20)。つまり、(9)に示すスコア算出式が適用された場合、制御部4は、適合数n11と、適合数n22と、左側対応総数n1から適合数n21を減算した数と、右側対応総数n2から適合数n12を減算した数との総和(スコア)が最も大きい仮想線KLを、重複投影領域Covmに対応する複数の平面の境界線として決定する。これにより、実空間における平面の境界に合った最も精度の高い境界線を決定することができる。一方、(10)に示すスコア算出式が適用された場合、制御部4は、適合数n11と、適合数n22との総和(スコア)が最も大きい仮想線KLを、重複投影領域Covmに対応する複数の平面の境界線として決定する。これによっても、実空間における平面の境界に合った比較的精度の高い境界線を決定することができる。一方、(11)に示すスコア算出式が適用された場合、制御部4は、左側対応総数n1から適合数n21を減算した数と、右側対応総数n2から適合数n12を減算した数との総和(スコア)が最も大きい仮想線KLを、重複投影領域Covmに対応する複数の平面の境界線として決定する。これによっても、実空間における平面の境界に合った比較的精度の高い境界線を決定することができる。
次いで、制御部4は、上述したプロジェクタ座標とカメラ座標との対応関係に基づいて、ステップS20で決定された境界線からプロジェクタ画像Pimとプロジェクタ画像Pim+1における境界線を特定する(ステップS21)。次いで、制御部4は、境界線上の座標をプロジェクタ画像Pimの右端座標(これを、右端補正座標という)に設定し、且つ、境界線上の座標をプロジェクタ画像Pim+1の左端座標(これを、左端補正座標という)に設定する(ステップS22)。次いで、制御部4は、変数mを1インクリメントし(ステップS23)、ループ処理を繰り返す場合にはステップS11に戻る。
(2−3.画像補正処理2)
次に、図9を参照して、画像補正処理2について説明する。図9(A)に示す画像補正処理2は、例えば図9(B)に示すように、カメラ画像Ci2がカメラ画像Ci1及びCi3に対してy軸方向(縦方向)にずれている場合に、このずれを解消するための処理である。図9(A)に示す画像補正処理2は、画像補正処理1が行われた後、自動的に開始、またはオペレータによる操作部3の操作にしたがって開始される。図9(A)に示す画像補正処理2が開始されると、制御部4は、3×3行列U[m](m=1,2・・・)を単位行列(つまり、座標変換をしない行列)で初期化する(ステップS31)。
次いで、制御部4は、ステップS32〜S43のループ処理を変数mが1〜M−1まで(偶数のみ)繰り返し行う。図1に示す構成では、Mは3であるため、ループ処理は1回だけ行われた後に終了する。このループ処理の中で、制御部4は、ステップS32〜S41のループ処理を変数Yが0〜「カメラ画像Cimの高さ(y軸方向の高さ)−1」まで繰り返し行う。
ステップS11では、制御部4は、上述したプロジェクタ座標とカメラ座標との対応関係に基づいて、カメラ画像Cimにおける重複投影領域Covm-1内の境界線(画像補正処理1で決定された境界線)上でy座標がYである座標点c11に対応する座標点p11であって、プロジェクタ画像Pim上の座標点p11を特定する(ステップS32)。次いで、制御部4は、図9(C)に示すように、プロジェクタ画像Pim上の座標点p11に対応する座標点c10であって、カメラ画像Cim-1上の座標点c10を特定する(ステップS33)。次いで、制御部4は、カメラ画像Cim-1上の座標点c10に対応する座標点p10であって、プロジェクタ画像Pim-1上の座標点p10を特定する(ステップS34)。次いで、制御部4は、図9(C)に示すように、プロジェクタ画像Pim-1上の座標点p10に対応する座標点c11'であって、カメラ画像Cim上の座標点c11'を特定する(ステップS35)。
次いで、制御部4は、カメラ画像Cimにおける重複投影領域Covm内の境界線上でy座標がYである座標点c21に対応する座標点p21であって、プロジェクタ画像Pim上の座標点p21を特定する(ステップS36)。次いで、制御部4は、図9(D)に示すように、プロジェクタ画像Pim上の座標点p21に対応する座標点c22であって、カメラ画像Cim+1上の座標点c22を特定する(ステップS37)。次いで、制御部4は、カメラ画像Cim+1上の座標点c22に対応する座標点p22であって、プロジェクタ画像Pim+1上の座標点p22を特定する(ステップS38)。次いで、制御部4は、図9(D)に示すように、プロジェクタ画像Pim+1上の座標点p22に対応する座標点c21'であって、カメラ画像Cim上の座標点c21'を特定する(ステップS39)。
次いで、制御部4は、カメラ画像Cim上の座標点c11とカメラ画像Cim上の座標点c11'との対応関係と、カメラ画像Cim上の座標点c21とカメラ画像Cim上の座標点c21'との対応関係とをメモリに保存する(ステップS40)。次いで、制御部4は、変数Yを1インクリメントし(ステップS41)、ループ処理を繰り返す場合にはステップS32に戻る。
そして、ステップS32〜S41のループ処理が終了すると、制御部4は、メモリに保存された対応関係よりホモグラフィ行列U[m]を計算する(ステップS42)。このホモグラフィ行列U[m]は、図9(B)に示すカメラ画像Ci2上の座標点を、図9(E)に示すカメラ画像Ci2上の座標点に変換することでy軸方向のずれを補正するための行列である。ホモグラフィ行列U[m]により、c11とc11'との対応関係は、下記(12)に示す関係式で表され、例えば、c21とc21'との対応関係は、下記(13)に示す関係式で表される。
c11'=U[m]×c11・・・(12)
c21'=U[m]×c21・・・(13)
次いで、制御部4は、変数mを2インクリメントし(ステップS43)、ループ処理を繰り返す場合にはステップS32に戻る。
(2−4.画像補正処理3)
次に、図10を参照して、画像補正処理3について説明する。図10(A)に示す画像補正処理3は、プロジェクタ画像が投影される平面に凹凸等がある場合に、この凹凸等に起因する投影画像の歪みを低減するための処理である。図10(A)に示す画像補正処理3は、図7に示す事前処理が行われた後、自動的に開始、またはオペレータによる操作部3の操作にしたがって開始される。なお、画像補正処理3は、画像補正処理2とは独立して行われてもよい。図10(A)に示す画像補正処理3が開始されると、制御部4は、ステップS51〜S56のループ処理を変数mが1〜Mまで繰り返し行う。図1に示す構成では、Mは3であるため、ループ処理は3回繰り返された後に終了する。
ステップS51では、制御部4は、上述したプロジェクタPmとカメラCmの座標対応関係を集合Wとして設定する。つまり、プロジェクタPmのプロジェクタ座標とカメラCmのプロジェクタ座標との組合せである対応関係を要素とする集合Wが求められる。
次いで、制御部4は、ステップS52〜S55のループ処理を集合Wの要素数が所定値に達するまで繰り返し行う。つまり、ループ処理は、集合Wから要素が減っていき所定値に達するまで繰り返される。ここで、所定値は、理想的には0である。この場合、集合Wの要素が全て無くなるまでループ処理が繰り返される。しかし、対応関係の中にはノイズとなる対応関係も含まれているため集合Wの要素が全て無くなるとは限らず、また、処理時間の短縮が必要な場合もある。このため、所定値は0より大きい値に設定されるとよい。
ステップS52では、制御部4は、RANSAC(Random Sample Consensus)を用いて、集合Wからランダムに抽出した対応関係よりプロジェクタ座標からカメラ座標を対応させるホモグラフィ行列Vsを計算する。ここで、ホモグラフィ行列Vsを計算する(換言すると、ある平面sを求める)ためには、ランダムに抽出される対応関係は少なくとも4点以上必要である。ここで、sは、計算により得られたホモグラフィ行列を識別する番号である。なお、RANSACでは、面積が広い平面に対応するホモグラフィ行列Vsから求まっていくことになる。
次いで、制御部4は、集合Wからホモグラフィ行列Vsに適合する対応関係を検索する(ステップS53)。例えば、対応関係におけるプロジェクタ座標(座標点)をp0、カメラ座標(座標点)をc0とすると、下記(14)に示す条件を満たす対応関係がホモグラフィ行列Vsに適合する対応関係である。
NORM(c0−Vs×p0)≦閾値 ・・・(14)
ここで、閾値は、0より大きい値であり、プロジェクタ座標の変換先が属する平面や点であって異なる複数の平面や点を同一平面とみなす投影誤差が考慮されて決定される。NORMはベクトルの大きさを測る計算であり、ベクトル解析学でいう2−ノルムの計算である。
次いで、制御部4は、ステップS53の検索で発見された対応関係に含まれるプロジェクタ座標に対応付けてホモグラフィ行列Vsを記録する(ステップS54)。図10(A)の例では、ループ処理の繰り返し過程でプロジェクタ座標(x,y)に、ホモグラフィ行列V1、V2、V3が記録されている。ホモグラフィ行列が異なれば、プロジェクタ座標の変換先が属する平面は異なる。
次いで、制御部41は、集合Wを現在のWとVsの差集合に更新する(ステップS55)。つまり、ホモグラフィ行列Vsに適合する対応関係は集合Wから取り出され、残りの対応関係を要素とする集合Wに更新される。そして、制御部4は、ループ処理を繰り返す場合にはステップS52に戻る。
ステップS56では、制御部4は、変数mを1インクリメントし、ループ処理を繰り返す場合にはステップS51に戻る。
(2−5.画像補正処理4)
次に、図11を参照して、画像補正処理4について説明する。図11に示す画像補正処理4は、画像補正処理1〜3の処理結果を利用してプロジェクタ画像を補正するための処理である。図11に示す画像補正処理4は、画像補正処理1〜3が行われた後、自動的に開始、またはオペレータによる操作部3の操作にしたがって開始される。図10(A)に示す画像補正処理3が開始されると、制御部4は、プロジェクタP1〜P3からプロジェクタ画像を投影するための座標配列を規定するマップM[x,y]を(-1,-1,-1)で初期化する(ステップS61)。マップM[x,y]は、プロジェクタ画像の各座標点を壁面のどの位置に投影するかを規定するものである。
ここで、[x,y]は2次元平面上の座標であるが、[x,y,w]というように同次座標系で表しており、実際の座標値は、[x/w,y/w]となる(wは通常の場合は1)。マップM[x,y]を(-1,-1,-1)で初期化するのは、以下の処理で座標の対応関係が求まらない場合、その座標については、後述する投影制御処理においてエラーとして処理(後述する投影制御処理では、投影制限領域の投影を制限する処理として利用)するためである。これにより、対応関係が求まらない座標に対応するピクセル(つまり、色情報を含む画素)は黒(最小輝度)とする補正がなされる。
次いで、制御部4は、x軸の位置を示す変数offsetに0を代入する(ステップS62)。次いで、ステップS63〜S68のループ処理を変数mが1〜Mまで繰り返し行う。図1に示す構成では、Mは3であるため、ループ処理は3回行われた後に終了する。このループ処理の中で、制御部4は、ステップS63〜S66のループ処理を座標yが0〜「プロジェクタ画像Pimの高さ−1」まで繰り返し行う。さらに、このループ処理の中で、制御部4は、ステップS63〜S65のループ処理を座標xが0〜「プロジェクタ画像Pimの幅−1」まで繰り返し行う。
ここで、座標x=0は、プロジェクタ画像Pimの左端座標(プロジェクタ画像Pi1が該当)、または上記ステップS22で設定された左端補正座標(プロジェクタ画像Pi2,Pi3)が該当)を示す。つまり、プロジェクタ画像Pi2,Pi3のx座標の開始座標は、上述した境界線上の座標となる。そのため、実際の左端座標から開始座標までは投影制限領域として、この投影制限領域のM[x,y]は対応関係が求まらないので(-1,-1,-1)のままとなる。その結果、投影制限領域のピクセルは黒とする補正がなされる。また、プロジェクタ画像Pimの幅は、左端座標(または左端補正座標)から右端座標(または右端補正座標)までの長さである。
また、座標x=「プロジェクタ画像Pimの幅−1」は、プロジェクタ画像Pimの右端座標(プロジェクタ画像Pi3が該当)、または上記ステップS22で設定された右端補正座標(プロジェクタ画像Pi1,Pi2)が該当)を示す。つまり、プロジェクタ画像Pi1,Pi1のx座標の終了座標は、上述した境界線上の座標となる。そのため、終了座標から実際の右端座標までは投影制限領域として、この投影制限領域のM[x,y]は対応関係が求まらないので(-1,-1,-1)のままとなる、その結果、投影制限領域のピクセルは黒とする補正がなされる。
ステップS63では、制御部4は、ステップS42で求められたホモグラフィ行列U[m]の逆行列と、ステップS54で記録されたホモグラフィ行列Vsとを用いて、下記式(15)に示すように、プロジェクタ座標(x,y)の座標変換を行ってTを決定する。
T←inv(U[m])×Vs[x,y]×t([x,y,1])・・・(15)
ここで、Tには、ホモグラフィ行列U[m]とVs[x, y]によって2つの座標変換を行った後の値が格納される。tは、転置演算を意味する。t([x,y,1])は、行ベクトル(x,y,1)を転置した列ベクトルである。
ステップS64では、制御部4は、ステップS63で決定されたTを用いて、下記式(16)に示すように、マップM[x+offset, y] を作成する。
マップM[x+offset , y]←(m, T.x/T.w, T.y/T.w)・・・(16)
ここで、Tの座標は、同次座標系で表現されており、通常の平面座標系に変換するために、wで除算される。また、マップMには、全カメラ画像を統合した座標毎にプロジェクタのインデックスm、及びカメラ座標の対応関係が格納される。
ステップS65では、制御部4は、座標xを1インクリメントし、ループ処理を繰り返す場合にはステップS63に戻る。ステップS66では、制御部4は、座標yを1インクリメントし、ループ処理を繰り返す場合にはステップS63に戻る。
そして、ステップS63〜S66のループ処理が終了すると、制御部4は、x軸の位置を示す変数offsetに、プロジェクタ画像Pimにおける右側の境界線上の座標xを代入する(ステップS67)。これにより、例えばプロジェクタ画像Pi2の開始座標は、右側境界線上の座標xとなる。次いで、制御部4は、変数mを1インクリメントし(ステップS68)、ループ処理を繰り返す場合にはステップS63に戻る。そして、ステップS63〜S68のループ処理が終了すると、制御部4は、上述したように作成されたマップMを記憶部2に保存し(ステップS69)、処理を終了する。こうして、パターン画像であるプロジェクタ画像を用いて生成されたマップMは、様々なコンテンツ画像を投影する際に使いまわすことができる。ここで、コンテンツ画像とは、部屋の利用者に提示する表示画像である。なお、上述した処理では、パターン画像をプロジェクタ画像として用いてマップMを作成したが、コンテンツ画像をプロジェクタ画像として用いてマップMを作成してもよい。
(2−6.投影制御処理)
次に、図12を参照して、投影制御処理について説明する。図12に示す投影制御処理は、上述したように作成されたマップMを用いて、プロジェクタPmによりコンテンツ画像を投影するための処理である。図12に示す投影制御処理は、画像補正処理1〜4が行われた後、自動的に開始、またはオペレータによる操作部3の操作にしたがって開始される。図12に示す投影制御処理が開始されると、制御部4は、マップMを記憶部2から読み込む(ステップS71)。
次いで、制御部4は、ステップS72〜S77のループ処理を終了信号が受信(検知)されるまで繰り返し行う。例えば、制御部4は、オペレータが電源OFFの操作を指示したときに操作部3から出力された終了信号を受信する。次いで、制御部4は、全プロジェクタの出力画像上のピクセル座標 (px, py) のピクセルを黒で初期化する(ステップS72)。出力画像は、上述したプロジェクタ画像に対応する。ピクセル座標 (px, py)は、色情報を含むピクセルを保持するための四角状の領域の座標である。次いで、制御部4は、ステップS73〜S76のループ処理を座標yが0〜「コンテンツ画像の高さ−1」まで繰り返し行う。さらに、このループ処理の中で、制御部4は、ステップS73〜S75のループ処理を座標xが0〜「コンテンツ画像の幅−1」まで繰り返し行う。
ステップS73では、制御部4は、ステップS71で読み込まれたマップMを、各プロジェクタPmの出力画像上のピクセル座標 (px, py) で表すように置き換える。このとき、マップMにおいて(-1,-1)の座標に対応するピクセル座標 (px, py)には(-1,-1)が対応付けられる。
次いで、制御部11は、各プロジェクタPmの出力画像上のピクセル座標 (px, py) のピクセルをコンテンツ画像の座標(x, y)に対応するピクセルに設定する。つまり、制御部4は、出力画像上のピクセル座標 (px, py)にコンテンツ画像のピクセルを埋めていく。このとき、(-1,-1)を表すピクセル座標(px, py)はエラーとして除外されるので、このピクセル座標(px, py)にはコンテンツ画像のピクセルが埋まらず、初期化された黒を表すピクセルとなる。その結果、プロジェクタPmから出力される出力画像の投影制限領域は、黒として投影されることになる。
ステップS75では、制御部4は、座標xを1インクリメントし、ループ処理を繰り返す場合にはステップS73に戻る。ステップS76では、制御部4は、座標yを1インクリメントし、ループ処理を繰り返す場合にはステップS73に戻る。
そして、ステップS73〜S76のループ処理が終了すると、制御部4は、コンテンツ画像の投影制御処理を行う(ステップS77)。投影制御処理では、制御部4は、ステップS73〜S76のループ処理で求められた、各プロジェクタPmの出力画像(図1の構成では、プロジェクタP1〜P3)に応じた画像信号を各プロジェクタPmへ出力する。これにより、プロジェクタPmは、それぞれ、制御部4からの画像信号に応じた光を発光部から発光することにより、連続する複数の平面にコンテンツ画像を投影することになる。
以上説明したように、上記実施形態によれば、投影制御装置COは、複数のプロジェクタにより投影される投影範囲が重複する重複投影領域において異なるタイミングで、且つ異なる位置に仮想線を複数回設定する。そして、投影制御装置COは、仮想線を挟んで隣接する左側領域と右側領域のそれぞれにおいて、カメラ座標とプロジェクタ座標との対応関係が所定条件を満たす左側対応座標数と、カメラ座標とプロジェクタ座標との対応関係が所定条件を満たす右側対応座標数とを、仮想線ごとに算出する。そして、投影制御装置COは、仮想線ごとにおける左側対応座標数と右側対応座標数とを用いて、いずれかの仮想線を重複投影領域に対応する複数の平面の境界線として決定し、複数のプロジェクタにより投影される各画像の重複投影領域に該当する領域のうち、決定された境界線から特定される投影制限領域についてプロジェクタにより投影される画像を補正するように構成したので、複数のプロジェクタによる異なる方向からの複数の画像が、実空間における複数の平面の境界周辺の領域に重複して投影される場合であっても、投影された画像の見栄えを良くすることができる。
C1〜C3 カメラ
P1〜P3 プロジェクタ
CO 投影制御装置
S 投影システム

Claims (9)

  1. 連続する複数の平面に画像を投影するプロジェクタと、前記画像が投影される前記複数の平面を含む投影範囲を撮像するカメラと、を一組の投影装置として、前記プロジェクタの前記投影範囲が他の前記プロジェクタの前記投影範囲と重複するように配置される複数組の投影装置を含む投影システムにおける投影制御装置であって、
    複数の前記プロジェクタにより投影される前記投影範囲が重複する重複投影領域を、前記カメラにより撮像された画像から特定する特定手段と、
    前記重複投影領域において異なるタイミングで、且つ異なる位置に所定方向に延びる仮想線を複数回設定する設定手段と、
    前記重複投影領域において前記仮想線を挟んで隣接する第1領域と第2領域であって、前記第1領域において前記カメラの座標と前記プロジェクタの座標との対応関係が所定条件を満たす座標点の数である第1対応座標数と、前記第2領域において前記カメラの座標と前記プロジェクタの座標との対応関係が所定条件を満たす座標点の数である第2対応座標数とを、前記仮想線ごとに算出する算出手段と、
    前記仮想線ごとにおける前記第1対応座標数と前記第2対応座標数とを用いて、いずれかの前記仮想線を、前記重複投影領域に対応する前記複数の平面の境界線として決定する決定手段と、
    複数の前記プロジェクタにより投影される各画像の前記重複投影領域に該当する領域のうち、前記決定手段により決定された境界線から特定される投影制限領域について、前記プロジェクタにより投影される画像を補正する補正手段と、
    を備えることを特徴とする投影制御装置。
  2. 前記算出手段は、前記仮想線ごとに、前記第1領域において前記プロジェクタの座標から前記カメラの座標へ射影変換する第1ホモグラフィ行例を計算し、且つ、前記第2領域において前記プロジェクタの座標から前記カメラの座標へ射影変換する第2ホモグラフィ行例を計算し、前記第1領域において前記プロジェクタの座標と前記カメラの座標との組合せが前記第1ホモグラフィ行例と適合する第1適合数を前記第1対応座標数として算出し、且つ、前記第2領域において前記プロジェクタの座標と前記カメラの座標との組合せが前記第2ホモグラフィ行例と適合する第2適合数を前記2対応座標数として算出し、前記決定手段は、前記仮想線ごとにおける前記第1適合数と前記第2適合数とを用いて、いずれかの前記仮想線を、前記重複投影領域に対応する前記複数の平面の境界線として決定することを特徴とする請求項1に記載の投影制御装置。
  3. 前記算出手段は、前記仮想線ごとに、さらに、前記第1領域において前記プロジェクタの座標と前記カメラの座標との組合せが前記第2ホモグラフィ行例と適合する第3適合数を算出し、且つ、前記第2領域において前記プロジェクタの座標と前記カメラの座標との組合せが前記第1ホモグラフィ行例と適合する第4適合数を算出し、
    前記決定手段は、前記仮想線ごとにおける前記第1適合数と前記第2適合数とに加えて、前記第3適合数と前記第4適合数とを用いて、いずれかの前記仮想線を、前記重複投影領域に対応する前記複数の平面の境界線として決定することを特徴とする請求項2に記載の投影制御装置。
  4. 前記算出手段は、前記仮想線ごとに、前記第1領域において前記プロジェクタの座標から前記カメラの座標へ射影変換する第1ホモグラフィ行例を計算し、且つ、前記第2領域において前記プロジェクタの座標から前記カメラの座標へ射影変換する第2ホモグラフィ行例を計算し、前記第1領域において前記プロジェクタの座標と前記カメラの座標との組合せが前記第2ホモグラフィ行例と適合する第3適合数を前記第1対応座標数として算出し、且つ、前記第2領域において前記プロジェクタの座標と前記カメラの座標との組合せが前記第1ホモグラフィ行例と適合する第4適合数を前記第1対応座標数として算出し、
    前記決定手段は、前記仮想線ごとにおける前記第3適合数と前記第4適合数とを用いて、いずれかの前記仮想線を、前記重複投影領域に対応する前記複数の平面の境界線として決定することを特徴とする請求項1に記載の投影制御装置。
  5. 前記決定手段は、前記第1領域における前記第1適合数と、前記第2領域における前記第2適合数との総和が最も大きい仮想線を、前記重複投影領域に対応する前記複数の平面の境界線として決定することを特徴とする請求項2に記載の投影制御装置。
  6. 前記決定手段は、前記第1領域における前記第1適合数と、前記第2領域における前記第2適合数と、前記第1領域において前記プロジェクタの座標と前記カメラの座標との組合せの総数から前記第3適合数を減算した数と、前記第2領域において前記プロジェクタの座標と前記カメラの座標との組合せの総数から前記第4適合数を減算した数との総和が最も大きい仮想線を、前記重複投影領域に対応する前記複数の平面の境界線として決定することを特徴とする請求項3に記載の投影制御装置。
  7. 前記決定手段は、前記第1領域において前記プロジェクタの座標と前記カメラの座標との組合せの数から前記第3適合数を減算した数と、前記第2領域において前記プロジェクタの座標と前記カメラの座標との組合せの数から前記第4適合数を減算した数との総和が最も大きい仮想線を、前記重複投影領域に対応する前記複数の平面の境界線として決定することを特徴とする請求項4に記載の投影制御装置。
  8. 連続する複数の平面に画像を投影するプロジェクタと、前記画像が投影される前記複数の平面を含む投影範囲を撮像するカメラと、を一組の投影装置として、前記プロジェクタの前記投影範囲が他の前記プロジェクタの前記投影範囲と重複するように配置される複数組の投影装置を含む投影システムにおけるコンピュータに、
    複数の前記プロジェクタにより投影される前記投影範囲が重複する重複投影領域を、前記カメラにより撮像された画像から特定する特定ステップと、
    前記重複投影領域において異なるタイミングで、且つ異なる位置に仮想線を複数回設定する設定ステップと、
    前記重複投影領域において前記仮想線を挟んで隣接する第1領域と第2領域であって、前記第1領域において前記カメラの座標と前記プロジェクタの座標との対応関係が所定条件を満たす座標点の数である第1対応座標数と、前記第2領域において前記カメラの座標と前記プロジェクタの座標との対応関係が所定条件を満たす座標点の数である第2対応座標数とを、前記仮想線ごとに算出する算出ステップと、
    前記仮想線ごとにおける前記第1対応座標数と前記第2対応座標数とを用いて、いずれかの前記仮想線を、前記重複投影領域に対応する前記複数の平面の境界線として決定する決定ステップと、
    複数の前記プロジェクタにより投影される各画像の前記重複投影領域に該当する領域のうち、前記決定ステップにより決定された境界線から特定される投影制限領域について、前記プロジェクタにより投影される画像を補正する補正ステップと、
    を実行させることを特徴とするプログラム。
  9. 連続する複数の平面に画像を投影するプロジェクタと、前記画像が投影される前記複数の平面を含む投影範囲を撮像するカメラと、を一組の投影装置として、前記プロジェクタの前記投影範囲が他の前記プロジェクタの前記投影範囲と重複するように配置される複数組の投影装置を含む投影システムであって、
    複数の前記プロジェクタにより投影される前記投影範囲が重複する重複投影領域を、前記カメラにより撮像された画像から特定する特定手段と、
    前記重複投影領域において異なるタイミングで、且つ異なる位置に仮想線を複数回設定する設定手段と、
    前記重複投影領域において前記仮想線を挟んで隣接する第1領域と第2領域であって、前記第1領域において前記カメラの座標と前記プロジェクタの座標との対応関係が所定条件を満たす座標点の数である第1対応座標数と、前記第2領域において前記カメラの座標と前記プロジェクタの座標との対応関係が所定条件を満たす座標点の数である第2対応座標数とを、前記仮想線ごとに算出する算出手段と、
    前記仮想線ごとにおける前記第1対応座標数と前記第2対応座標数とを用いて、いずれかの前記仮想線を、前記重複投影領域に対応する前記複数の平面の境界線として決定する決定手段と、
    複数の前記プロジェクタにより投影される各画像の前記重複投影領域に該当する領域のうち、前記決定手段により決定された境界線から特定される投影制限領域について、前記プロジェクタにより投影される画像を補正する補正手段と、
    を備えることを特徴とする投影システム。
JP2016066267A 2016-03-29 2016-03-29 投影制御装置、プログラム、及び投影システム Active JP6428694B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016066267A JP6428694B2 (ja) 2016-03-29 2016-03-29 投影制御装置、プログラム、及び投影システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016066267A JP6428694B2 (ja) 2016-03-29 2016-03-29 投影制御装置、プログラム、及び投影システム

Publications (2)

Publication Number Publication Date
JP2017183919A JP2017183919A (ja) 2017-10-05
JP6428694B2 true JP6428694B2 (ja) 2018-11-28

Family

ID=60006422

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016066267A Active JP6428694B2 (ja) 2016-03-29 2016-03-29 投影制御装置、プログラム、及び投影システム

Country Status (1)

Country Link
JP (1) JP6428694B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112004073B (zh) * 2020-08-07 2021-11-02 山东金东数字创意股份有限公司 基于window平台异面融合影像互动系统和方法
CN114449234B (zh) * 2020-10-30 2024-01-09 扬智科技股份有限公司 投影装置与其投影画面校正方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4615519B2 (ja) * 2004-09-15 2011-01-19 三菱電機株式会社 画像投影システム及び画像幾何補正装置
DE102009046114B4 (de) * 2009-10-28 2011-09-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren und Vorrichtung zum Erzeugen einer kalibrierten Projektion
JP6037375B2 (ja) * 2012-05-29 2016-12-07 国立大学法人豊橋技術科学大学 画像投影装置および画像処理方法
KR101515368B1 (ko) * 2013-08-26 2015-04-27 씨제이씨지브이 주식회사 투사 장치 클러스터링 방법, 이를 이용한 관리 장치 및 관리 시스템
JP2016014720A (ja) * 2014-07-01 2016-01-28 ソニー株式会社 情報処理装置および方法

Also Published As

Publication number Publication date
JP2017183919A (ja) 2017-10-05

Similar Documents

Publication Publication Date Title
JP7291244B2 (ja) プロジェクタの台形補正方法、装置、システム及び読み取り可能な記憶媒体
JP6764533B2 (ja) キャリブレーション装置、キャリブレーション用チャート、チャートパターン生成装置、およびキャリブレーション方法
US11592732B2 (en) Camera-assisted arbitrary surface characterization and correction
US8350850B2 (en) Using photo collections for three dimensional modeling
KR101187500B1 (ko) 광 투영 장치, 조명 장치
JP5453000B2 (ja) 対象物を3dデジタル化するための方法及び装置
US8441477B2 (en) Apparatus and method of enhancing ray tracing speed
US20030210407A1 (en) Image processing method, image processing system and image processing apparatus
US20120177284A1 (en) Forming 3d models using multiple images
KR20150050450A (ko) 장면의 깊이 맵을 생성하기 위한 방법 및 장치
JP2003085586A (ja) 画像表示装置、画像表示方法、情報記憶媒体および画像表示プログラム
JP2008102931A (ja) 調整方法、システム、およびチップ
KR101713875B1 (ko) 프로젝터 투사 환경하에서의 사용자 시점을 고려한 가상공간 구현 방법 및 시스템
US9342868B2 (en) Image display device, image display method, and image display program
JP2007142495A (ja) 平面投影装置、及び平面投影プログラム
BR102019007720A2 (pt) aparelho de processamento de imagem e método de controle de aparelho de processamento de imagem
WO2020075252A1 (ja) 情報処理装置、プログラム及び情報処理方法
JP6428694B2 (ja) 投影制御装置、プログラム、及び投影システム
CN116524022B (zh) 偏移数据计算方法、图像融合方法、装置及电子设备
JP6851089B2 (ja) 適応的三次元空間生成方法及びそのシステム
JP2008204318A (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP2017123589A (ja) 情報処理装置、情報処理方法および映像投影システム
Ibrahim et al. Real-time seamless multi-projector displays on deformable surfaces
TW202010996A (zh) 用於3d掃描的結構光影像產生方法及系統、數位程式產品及數位計算設備
JP2004133556A (ja) 三次元形状抽出方法及び三次元形状抽出プログラム及び三次元形状抽出プログラムを格納した記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170831

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180626

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180713

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181002

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181015

R150 Certificate of patent or registration of utility model

Ref document number: 6428694

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150