(57)【要約】【課題】  投影対象物と投影装置との位置関係に対応して投影光を制御するための画像処理装置、映像投影システム、およびプログラムを提供すること。【解決手段】  本画像処理装置１００は、画像内の複数の点の距離を測定し、３次元点群を計算する測距手段１０６と、投影対象とする３次元形状の指定を受ける対象形状指定手段１０８と、３次元点群から、投影対象の３次元形状に対応した対象３次元点群を特定する対象形状特定手段（１０８，１１０）と、対象３次元点群から投影対象の近似面を推定する面推定手段１１２と、近似面上の投影領域へ投影する投影光を規定する制御データを計算する制御データ計算手段１１６とを含む。【選択図】  図２
2014060611.tif 000002
【特許請求の範囲】
【請求項１】
画像内の複数の点の距離を測定し、３次元点群を計算する測距手段と、
投影対象とする３次元形状の指定を受ける対象形状指定手段と、
前記３次元点群から、前記投影対象の３次元形状に対応した対象３次元点群を特定する対象形状特定手段と、
前記対象３次元点群から前記投影対象の近似面を推定する面推定手段と、
前記近似面上の投影領域へ投影する投影光を規定する制御データを計算する制御データ計算手段と
を含む、画像処理装置。
【請求項２】
前記対象形状特定手段は、
前記投影対象の３次元形状を構成する３次元点群から該投影対象の３次元形状を近似する対象形状近似曲面を推定する手段と、
場面の３次元点群から該場面の３次元形状を近似する場面近似曲面を推定する手段と、
前記対象形状近似曲面と前記場面近似曲面の部分とを照合して、マッチングの程度を評価する評価関数が最大化される場面の対応部分の位置を推定する手段と、
前記対応部分の位置に基づき、前記場面の対応部分に関連付けられる３次元点群を前記対象３次元点群として特定する手段と
を含む、請求項１に記載の画像処理装置。
【請求項３】
前記対象形状指定手段は、
前記投影対象の３次元形状を構成する３次元点群が含まれる画像領域の指定、
場面の３次元点群を分類して構成された１以上のクラスタの中からの前記投影対象の３次元形状を構成するクラスタの指定、または、
テンプレート画像にマッチングした画像領域に含まれる３次元点群が前記投影対象の３次元形状を構成するものとして該テンプレート画像の指定
を受け付ける、請求項１または２に記載の画像処理装置。
【請求項４】
前記測距手段は、
投影されるコンテンツ画像から複数の特徴点を抽出する手段と、
それぞれ前記コンテンツ画像の少なくとも一部が写り込んだ複数の撮像画像からそれぞれ複数の特徴点を抽出する手段と、
前記コンテンツ画像の特徴点および前記複数の撮像画像各々の特徴点との対応付けに基づいて、前記撮像画像間におけるステレオ対応点となる複数の特徴点を探索する手段と、
前記ステレオ対応点各々の画像間の視差に基づき、前記ステレオ対応点各々の３次元位置を計算する手段と
を含む、請求項１〜３のいずれか１項に記載の画像処理装置。
【請求項５】
前記対象形状特定手段は、前記投影対象の３次元形状を構成するものとして指定された第１の時点における対象３次元点群をテンプレートとして、第２の時点における前記場面とのマッチングを計算することによって、前記第２の時点における前記投影対象の３次元形状を構成する対象３次元点群を特定するとともに、前記第２の時点における前記対象３次元点群を次回のテンプレートとして用いることを特徴とする、請求項１〜４のいずれか１項に記載の画像処理装置。
【請求項６】
第１の時点の場面に基づく第１の近似面と、第２の時点の場面に基づく第２の近似面とを比較して、前記第２の近似面の前記第１の近似面からのずれ量を算出する手段と、
前記ずれ量が所定の閾値を超えるか否かを判定する手段と
をさらに含み、
前記制御データ計算手段は、前記ずれ量が前記所定の閾値を超えた場合に、更新された制御データを計算することを特徴とする、請求項１〜５のいずれか１項に記載の画像処理装置。
【請求項７】
前記制御データ計算手段は、
前記対象３次元点群を、前記近似面に対し法線方向に位置する仮想的な法線カメラから視た法線カメラ画像上の２次元点群に変換する手段と、
前記２次元点群を凸包する凸包図形と包含関係を有した補正図形を計算する手段と、
前記法線カメラ画像上で補正図形に包含される２次元点群と、該２次元点群に対応する投影画像上の対応点群とに基づいて、前記法線カメラ画像上の補正図形の構成点を投影画像上に変換する手段と、
前記投影画像上に変換された補正図形内に収まるようにコンテンツ画像を変換する補正データを前記制御データとして計算する手段と
を含む、請求項１〜６のいずれか１項に記載の画像処理装置。
【請求項８】
前記画像処理装置は、前記凸包図形の外側に対応する領域に光が投影されないようにマスク処理が施された投影画像を生成する投影画像生成手段をさらに備える、請求項７に記載の画像処理装置。
【請求項９】
コンテンツ画像を投影する投影手段と、
投影されたコンテンツ画像の少なくとも一部を写して撮像する撮像手段と、
撮像された画像内の複数の点の距離を測定し、３次元点群を計算する測距手段と、
投影対象とする投影対象の３次元形状の指定を受ける対象形状指定手段と、
前記３次元点群から、前記投影対象の３次元形状に対応した対象３次元点群を特定する対象形状特定手段と、
前記対象３次元点群から投影対象の近似面を推定する面推定手段と、
前記近似面上の投影領域へ投影する投影光を規定する制御データを計算する制御データ計算手段と
前記制御データを用いて投影画像を生成する投影画像生成手段と
を含む、映像投影システム。
【請求項１０】
コンピュータを、
画像内の複数の点の距離を測定し、３次元点群を計算する測距手段、
投影対象とする投影対象の３次元形状の指定を受ける対象形状指定手段、
前記３次元点群から、前記投影対象の３次元形状に対応した対象３次元点群を特定する対象形状特定手段、
前記対象３次元点群から投影対象の近似面を推定する面推定手段、および
前記近似面上の投影領域へ投影する投影光を規定する制御データを計算する制御データ計算手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、映像投影システムおよびプログラムに関し、より詳細には、投影対象物と投影装置との位置関係に対応して投影光を制御するための画像処理装置、映像投影システム、および該画像処理装置を実現するためのプログラムに関する。
【背景技術】
【０００２】
近年、プロジェクタに単眼カメラまたはステレオカメラを組み合わせて、スクリーンなどの投影対象物までの離間距離を測距して、投影する画像に補正をかける技術が知られている。
【０００３】
例えば、特許第３８８０５８２号公報（特許文献１）は、フォーカス調整やあおり投射や投射対象物の表面の形状により生ずる投射画像の歪みの補正を行うことを目的としたプロジェクタを開示する。特許文献１のプロジェクタは、投射対象物の画像を撮像可能な複数のカメラを有し、所定のパターンである複数の対象点を投射対象物上に面状に投射して測距し、投射画像を補正する機能を備える。上記プロジェクタにおいては、ズーム位置に基づいて投射レンズからの距離に応じた投射範囲が算出され、複数のカメラの撮像画面と投射範囲とから、複数のカメラの撮像画面内の同一の対象点を対応させて対象点の３次元位置が検知され、対象点までの距離が検出される。そして、上記プロジェクタは、算出された平均距離に基づいて、投射レンズのフォーカスを調整する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一方、プロジェクタが投影する投影面は、スクリーンのような広い平面だけでなく、人の手や車体、中央部にくぼみを有する壁など、所定の大きさを有し、略平面と見なせる任意の対象物に投影したいという要望がある。このような任意の対象物には、スクリーンの特徴として用いられる黒枠が通常存在しない。このため、任意の対象物に投影しようとする場合、上述したような従来技術の投影対象物がスクリーンであることを前提としたシステムでは、上記任意の対象物は、投影対象物として認識されず、上述した補正技術を適用することが困難な場合があった。
【０００５】
本発明は、上記従来技術における問題点に鑑みたものであり、利用者が指定した任意形状の投影対象物に対して、投影対象物に合わせた投影光制御を行うことを可能とする画像処理装置、映像投影システムおよびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明では、上記課題を解決するために、下記特徴を有する、画像処理装置を提供する。本画像処理装置は、画像内の複数の点の距離を測定し、３次元点群を計算する測距手段と、投影対象とする３次元形状の指定を受ける対象形状指定手段と、計算された上記３次元点群から、上記投影対象の３次元形状に対応した対象３次元点群を特定する対象形状特定手段と、特定された上記対象３次元点群から投影対象の近似面を推定する面推定手段と、上記近似面上の投影領域へ投影する投影光を規定する制御データを計算する制御データ計算手段とを含む。
【発明の効果】
【０００７】
上記構成によれば、利用者が指定した任意形状の投影対象物に対して、投影対象物に合わせた投影光制御を行うことが可能となる。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態によるプロジェクタの概略構成図。
【図２】第１の実施形態によるプロジェクタにおける機能ブロックおよびデータフローを説明する図。
【図３】第１の実施形態によるプロジェクタが実行する、投影画像補正制御を示すフローチャート。
【図４】第１の実施形態において測距部が実行する、測距処理を示すフローチャート。
【図５】本実施形態によるステレオ画像間のステレオ対応点の探索処理を説明する図。
【図６】第１の実施形態による対象形状指定部が実行する、対象形状指定処理を示すフローチャート。
【図７】測距部によって計算されたシーンの３次元点群を表す模式図。
【図８】第１の実施形態において、シーンの３次元点群から、所望の投影対象の３次元形状を指定する方法を説明する図。
【図９】第１の実施形態による対象形状探索部が実行する、対象形状探索処理を示すフローチャート。
【図１０】投影対象物の対象３次元形状に対応した対象３次元点群を、シーン中の３次元点群の中から探索する処理を説明する図。
【図１１】第１の実施形態による平面推定部が実行する、平面推定処理を示すフローチャート。
【図１２】第１の実施形態による補正計算部が実行する、補正計算処理を示すフローチャート。
【図１３】投影対象物の対象３次元形状を近似する近似平面および近似平面の法線方向に位置する法線カメラの関係を説明する図。
【図１４】３次元点群を透視投影変換により法線カメラ画像上の２次元点群に変換する処理を説明する図。
【図１５】法線カメラ画像上の投影対象物の形状を表す２次元点群から補正矩形を得る処理を説明する図。
【図１６】法線カメラ画像ＩＶ上の２次元点群と、投影するプロジェクタ画像ＩＰ上の特徴点群との対応関係を説明する図。
【図１７】射影変換行列ＨＶＰおよび射影変換行列ＨＰＰによる幾何変換を説明する図。
【図１８】（Ａ）射影変換行列ＨＰＰによるコンテンツ画像の台形補正処理と、（Ｂ）補正された実際に投影される投影画像を説明する図。
【図１９】投影対象物の回転に追随して投影画像補正をかける利用態様を例示する図。
【図２０】くぼんだ形状を有する壁面を投影対象物として使用する利用態様を例示する図。
【図２１】第２の実施形態において、所望の投影対象の３次元形状を指定する方法を説明する図。
【図２２】投影対象物の形状に合わせて投影光を投影するよう制御する第３の実施形態を説明する図。
【図２３】第４の実施形態におる映像投影システムの概略構成図。
【図２４】第５の実施形態におる映像投影システムの概略構成図。
【図２５】短焦点プロジェクタおよび外部測距センサを用いて構成された映像投影システムを例示する図。
【発明を実施するための形態】
【０００９】
以下、本発明について実施形態をもって説明するが、本発明は、後述する実施形態に限定されるものではない。
【００１０】
（第１の実施形態）
なお、以下に説明する第１の実施形態では、画像処理装置および映像投影システムの一例として、ステレオ画像方式の測距センサを備えたプロジェクタ１００を用いて説明する。
【００１１】
［全体構成］
図１は、第１の実施形態によるプロジェクタ１００の概略構成を示す。プロジェクタ１００は、本プロジェクタ１００の全体制御を行う制御部１０２と、ステレオ画像方式の測距センサを構成する撮像部１０４と、ステレオ画像方式による視差演算を行う測距部１０６と、フォーカス調整部１２０と、投影部１２２とを備える。
【００１２】
撮像部１０４は、複数のカメラを含み構成される。カメラは、それぞれ、ＣＭＯＳ（Complementary Metal Oxide Semiconductor）センサなどの固体撮像素子と、該固体撮像素子上に結像するためレンズなどの結像光学系とを含む。説明する実施形態では、撮像部１０４は、水平方向または垂直方向に平行等位に並べられた２つのカメラを含む。複数の固体撮像素子間の距離は、基線長を規定し、測距精度を向上するために高度に位置制御されている。
【００１３】
投影部１２２は、液晶方式、ＣＲＴ（Cathode Ray Tube）方式、ＤＬＰ（Digital Light Processing）方式、ＬＣＯＳ（Liquid Crystal On Silicon）方式などの投影装置を含み構成される。投影部１２２は、本プロジェクタ１００に入力された、またはプロジェクタ１００がファイルから生成したコンテンツ画像を投影装置から投影対象物へ向けて投影する。フォーカス調整部１２０は、投影装置から投影対象物までの離間距離の測定結果に基づき、投影装置のフォーカスを調整する。
【００１４】
本実施形態によるプロジェクタ１００は、上記測距部１０６による測距結果に基づき、撮像部１０４のカメラによって撮像されたシーン中の投影対象物の位置および形状を認識し、その投影対象物の領域へコンテンツ画像を補正して投影する機能を備える。従来技術では、認識可能な投影対象物が、スクリーンといった、画角内に写っている領域中における比較的広い平面に限定されており、人の体、人の手、中央部がくぼんだ壁などの物体を投影対象として認識することが難しかった。これに対し、本実施形態によるプロジェクタ１００は、利用者が指定できる任意形状の物体を投影対象物として投影光を制御する、投影光制御機能を実現する。
【００１５】
本実施形態によるプロジェクタ１００は、上記投影光制御機能を実現するべく、さらに、上述した任意形状の投影対象物を指定するための対象形状指定部１０８と、ある時点で撮像されたシーン（場面）から、指定された投影対象物に対応した３次元形状（以下、対象３次元形状という。）を探索する対象形状探索部１１０とを含む。さらに、プロジェクタ１００は、探索された対象３次元形状の近似平面を推定する平面推定部１１２と、近似平面の変化を判定する位置変化判定部１１４と、推定された近似平面から補正データを計算する補正計算部１１６と、計算された補正データを用いてコンテンツ画像に対し画像補正を施す投影画像補正部１１８とを含む。
【００１６】
以下、図２を参照しながら、上記投影光制御機能に関し、上記各機能部のはたらきについて説明する。図２は、第１の実施形態によるプロジェクタ１００における機能ブロックおよびデータフローを説明する図である。
【００１７】
撮像部１０４は、制御部１０２からの撮像指令に応答して、投影部１２２によって投影された投影画像の少なくとも一部が写り込んだシーンを２つのカメラで略同時に撮像し、ステレオ画像の画像データを出力する。ステレオ画像方式においては、一方のカメラを基準カメラと参照し、他方を参照カメラと参照することがあるが、説明する実施形態では、２つのカメラは、水平方向に並べられており、右カメラを基準カメラとし、左カメラを参照カメラとしている。左右のカメラの位置関係は、平行等位であり、実３次元空間における３次元座標を（Ｘ，Ｙ，Ｚ）で表すと、基準カメラおよび参照カメラのＸ軸が同一となり、Ｙ軸が平行となり、（３）Ｚ軸も平行となる。また、説明する実施形態では、左右カメラのセンサ光軸が平行となる平行撮影を行うものとする。
【００１８】
測距部１０６は、撮像部１０４からのステレオ画像データの入力を受けて、ステレオ画像内において観測されたステレオ対応点の視差量を測定する。測距部１０６は、測定された視差量から、三角測量の原理に基づき、画像内の各対応点の距離を計算し、撮像されたシーンを構成する３次元点群を求め、測距データとして出力する。説明する実施形態では、詳細を後述する処理により、各ステレオ画像から特徴点を抽出し、ステレオ画像間で対応付けがなされた特徴点をステレオ対応点として用いる。また、好適な実施形態では、各ステレオ画像の特徴点と、投影しているコンテンツ画像から抽出された特徴点との対応付けを介在させることによって、ステレオ画像間の特徴点の対応付けを高精度かつ高速に行うことができる。ステレオ対応点各々の視差量から実３次元空間におけるステレオ対応点の３次元座標が復元され、これら複数のステレオ対応点に対応した複数の３次元座標点が、シーンの３次元点群を構成する。
【００１９】
対象形状指定部１０８は、撮像部１０４により撮像されたシーンにおいて、ユーザによる所望の投影対象物の指定を受け付ける。なお、本実施形態において、投影対象物は、スクリーン、平坦な壁面、ホワイトボードなどの平面に限定されず、人の体、人の手、車、くぼみのある壁面といった任意の３次元形状を有する物体を指定することが可能とされている。対象形状指定部１０８は、特定の実施形態では、撮像部１０４からの画像データの入力を受けて、ステレオ画像の一方を表示装置上に表示する。そして、マウスやタッチパネルなどの入力装置に対するユーザからの操作に応答して、投影対象物（掌や、くぼんだ奥の壁面など）に対応した画像領域の指定が行われる。対象形状指定部１０８は、ユーザからの画像領域の指定を受けると、測距部１０６から入力される測距データを用いて、指定された画像領域内に含まれる３次元点群を抽出し、対象３次元形状を構成する３次元点群（以下、対象３次元点群という。）として記録し、対象形状データを出力する。
【００２０】
なお、上記表示装置および入力装置は、特に限定されず、それぞれ、プロジェクタ１００が備えていてもよく、プロジェクタ１００に接続されたものを利用してもよく、プロジェクタ１００と通信するパーソナル・コンピュータやタブレット端末などが備えるものを利用してもよい。
【００２１】
対象形状探索部１１０は、ある時点のシーンに基づいて指定された投影対象物に関し、異なる時点のシーンから、指定の投影対象物の３次元形状にマッチする対象３次元点群を探索し、対象形状３次元データとして出力する。上述したように、ユーザ指定された投影対象物は、ある時点のシーンにおける測距データを用いて、その３次元形状が特定される。一方、投影対象物は、時間の経過とともにその位置を変化させる可能性がある。対象形状探索部１１０は、このような投影対象物の位置の経時変化に対応する手段である。
【００２２】
平面推定部１１２は、投影対象物の指定がされ、または探索された３次元形状を構成する対象３次元点群の３次元座標から、実３次元空間における投影対象物を近似する近似面を推定し、近似面データを出力する。近似面は、説明する実施形態では、近似平面とするが、他の実施形態では、円柱のような湾曲したスクリーンに対応するべく近似曲面としてもよい。平面推定部１１２は、さらに、対象３次元点群の重心を計算し、重心データをフォーカス調整部１２０に出力する。フォーカス調整部１２０は、平面推定部１１２から重心データの入力を受けて、投影装置から近似平面の重心までの離間距離に応じてフォーカスを調整する。
【００２３】
補正計算部１１６は、測距部１０６からの測距データ、対象形状探索部１１０からの対象形状３次元データ、および平面推定部１１２からの近似平面データの入力を受けて、投影光を制御するための制御データを計算し、投影画像補正部１１８に出力する。投影装置からコンテンツ画像を投影する場合、投影装置の光軸に垂直な平面を基準とした投影対象物の投影面の水平方向および垂直方向のあおり角によって、投影画像に台形歪みが生じ得る。説明する実施形態において、投影光制御としては、このような台形歪みを相殺する台形歪み補正（投影画像補正）を一例に説明する。したがって、本実施形態における補正計算部１１６は、近似平面上の投影対象物に対応する範囲に収まるようにコンテンツ画像に対し施す、幾何補正処理を規定する補正データを計算する。
【００２４】
なお、説明する実施形態では、台形歪み補正を一例として説明するが、種々の投影光制御に対して適用することができる。他の実施形態では、円柱のような湾曲したスクリーンに対応して、推定された近似曲面にコンテンツ画像を投影した場合に観察者によって自然に見えるようにするための画像補正としてもよい。
【００２５】
投影画像補正部１１８は、補正計算部１１６から入力された補正データに基づき、当該入力または生成されたコンテンツ画像に対し補正処理を施す。投影部１２２は、投影画像補正部１１８により補正された投影画像を投影装置から投影する。位置変化判定部１１４は、従前のシーンに基づく近似平面と、現在のシーンに基づく近似平面とを比較して、近似平面の経時変化を検知し、上記補正計算部１１６による補正計算の更新の要否を判定する。例えば一定以上の位置関係の変化があったことが検知されると、補正計算部１１６に対し、上記補正データを再計算させることができる。
【００２６】
以下、図３を参照して、第１の実施形態によるプロジェクタ１００が実行する投影画像補正制御の全体的な流れについて説明する。図３は、第１の実施形態によるプロジェクタ１００が実行する、投影画像補正制御を示すフローチャートである。図３に示す制御は、例えばプロジェクタ１００の起動とともにステップＳ１００から開始される。ステップＳ１０１では、プロジェクタ１００は、起動後のフォーカス調整を行い、ステップＳ１０２では、校正開始の信号に応答して校正処理を開始させる。
【００２７】
ステップＳ１０３では、プロジェクタ１００は、投影部１２２によりコンテンツ画像を投影し、ステップＳ１０４では、撮像部１０４により、投影されている投影画像の少なくとも一部を含むシーンを、基準カメラおよび参照カメラで略同時に撮像し、ステレオ画像を得る。ステップＳ１０５では、プロジェクタ１００は、測距部１０６により、図４および図５を参照して後述する測距処理を実行し、ステレオ画像内におけるステレオ対応点の距離を計算し、撮像されたシーンを構成する３次元点群を計算する。ステップＳ１０６では、プロジェクタ１００は、初回校正時のフローであるか、２回目以降の校正時のフローであるかに応じて制御を分岐させる。
【００２８】
ステップＳ１０６で、初回校正である場合（ＹＥＳ）は、ステップＳ１０７へ制御が分岐される。ステップＳ１０７では、プロジェクタ１００は、対象形状指定部１０８により、図６〜図８を参照して後述する対象形状指定処理を実行し、ユーザからの投影対象物の指定を受け、対象３次元形状を取得する。初回校正時は、対象形状指定部１０８が、本実施形態における対象形状特定手段としてはたらく。ステップＳ１０８では、プロジェクタ１００は、平面推定部１１２により、図１１および図１３を参照して後述する平面推定処理を実行し、対象３次元形状の３次元座標点から投影対象物の近似平面および重心を推定し、後述する位置変化の比較のため記録する。ステップＳ１０９では、プロジェクタ１００は、フォーカス調整部１２０により、平面推定処理によって求められた重心にフォーカスを調整する。
【００２９】
ステップＳ１１０では、プロジェクタ１００は、推定された近似平面に基づき、図１２〜図１７を参照して後述する補正計算処理を実行し、コンテンツ画像に幾何補正をかけるための補正データを計算する。ステップＳ１１１では、プロジェクタ１００は、投影画像補正部１１８により、計算された補正データに基づいて、投影すべきコンテンツ画像に対し台形歪み補正を施す。プロジェクタ１００は、ステップＳ１１２で、所定のインターバル時間が経過するのを待機し、ステップＳ１１３で、本プロジェクタ１００の使用が終了されたか否かを判定する。ステップＳ１１３で、未だ使用中であると判定された場合（ＮＯ）は、ステップＳ１０３へループされる。これによって、投影部１２２により投影された投影画像は、投影対象物の大きさ、位置およびあおり角度に応じて適切に補正されたものとなる。一方、ステップＳ１１３で、使用が終了されたと判定された場合（ＹＥＳ）は、プロジェクタ１００は、ステップＳ１１７へ分岐させて、本制御を終了する。
【００３０】
再びステップＳ１０６を参照すると、ステップＳ１０６で、２回目以降の校正時のフローであり、初回校正ではない場合（ＮＯ）は、ステップＳ１１４へ制御が分岐される。ステップＳ１１４では、プロジェクタ１００は、対象形状探索部１１０により、図９および１０を参照して後述する対象形状探索処理を実行し、２回目以降の校正時点の測距データに基づき、初回校正時において指定された対象３次元形状にマッチする対象３次元点群を探索する。２回目以降の校正時では、対象形状探索部１１０が、本実施形態における対象形状特定手段としてはたらく。ステップＳ１１５では、プロジェクタ１００は、平面推定部１１２により、上記平面推定処理を実行して、投影対象物の近似平面を再度推定する。
【００３１】
ステップＳ１１６では、プロジェクタ１００は、位置変化判定部１１４により、従前の近似平面と、新たに推定された近似平面とを比較し、事前設定された閾値以上の変化があるか否かを判定する。変化は、近似平面の重心の移動量および水平方向および垂直方向のあおり角の変化量として検出される。上記閾値は、例えば、本プロジェクタ１００のベンダ側で、数値計算や実験結果等に基づいて設定した値としてもよいし、また、ユーザに対し所望の閾値を選択させてもよい。ステップＳ１１６で、位置変化が閾値未満であると判定された場合（ＹＥＳ）は、ステップＳ１１２へ直接分岐させる。この場合は、補正データが再計算されず、ステップＳ１０３で、前回計算された補正データに基づき、コンテンツ画像が投影されることになる。
【００３２】
一方、有意な位置変化があり、変化が閾値を超えると判定された場合（ＮＯ）は、ステップＳ１０９へ制御が分岐される。このとき、再度計算された近似平面は、次回以降の比較のため記録することができる。この場合、ステップＳ１０９では、フォーカス調整が行われ、ステップＳ１１０では、補正計算処理が再度行われ、ステップＳ１１１では、更新された補正データに基づき投影画像が補正されることになる。これにより、投影対象物の位置変化に追随して適切に補正することが可能となる。
【００３３】
以下、図４〜図１８を参照しながら、上述したステップＳ１０５の測距処理、ステップＳ１０７の対象形状指定処理、ステップＳ１１４の対象形状探索処理、ステップＳ１０８，Ｓ１１５の平面推定処理、およびステップＳ１１０補正計算処理のそれぞれについて詳細を説明する。
【００３４】
［測距処理］
まず、図４および図５を参照しながら、本実施形態における測距処理の詳細を説明する。図４は、第１の実施形態において測距部１０６が実行する、測距処理を示すフローチャートである。図５は、本実施形態によるステレオ画像間のステレオ対応点の探索処理を説明する図である。
【００３５】
上述したように、本実施形態において測距部１０６は、各ステレオ画像から特徴点を抽出し、ステレオ画像間で対応付けがなされた特徴点をステレオ対応点として用いる。ステレオ画像間のステレオ対応点の探索手法は種々あるが、好適な実施形態では、投影しているコンテンツ画像から抽出された特徴点と、このコンテンツ画像の少なくとも一部を写して撮像された各ステレオ画像の特徴点との対応付けを経由させることによって行うことができる。図４は、このようなコンテンツ画像および左右ステレオ画像の特徴点の対応付けを行って、ステレオ対応点を求め、その３次元座標を計算する処理を示している。
【００３６】
図４に示す処理は、図３におけるステップＳ１０５の呼び出しに応答して、ステップＳ２００から開始される。測距部１０６は、ステップＳ２０１で、撮像部１０４からステレオ画像データを取得し、ステップＳ２０２で、投影するコンテンツ画像データを取得する。以下、ステレオ画像のうち、基準カメラ（右カメラ）で撮像された右ステレオ画像をＩＲで参照し、参照カメラ（左カメラ）で撮像された左ステレオ画像をＩＬで参照し、コンテンツ画像をＩＣで参照する。
【００３７】
ステップＳ２０３では、測距部１０６は、コンテンツ画像ＩＣおよびステレオ画像ＩＲ，ＩＬ各々から特徴点を抽出する。特徴点の抽出は、好適な実施形態では、ＳＩＦＴ（Scale-Invariant Feature Transform）と呼ばれるアルゴリズムを適用して行うことができる。ＳＩＦＴは、画像から特徴点を検出し、検出した特徴点に対して、画像の回転、スケール変化、照明変化などに不変な特徴量を記述するアルゴリズムである。アルゴリズムについて概略を説明すると、アルゴリズムでは、まず、ＤｏＧ（Difference of Gaussian）処理により、スケールスペースで極値探索を行い、特徴点の候補の位置およびスケールを決定する。検出された特徴点の候補点のうち、コントラストが小さい点やエッジ上の点などノイズ等の影響を受けやすく特徴点として向かない点を除去する。そして、回転に不変な特徴を記述するべく特徴点のオリエンテーションを求め、この求められたオリエンテーションに基づき特徴量を記述する。
【００３８】
ここで、コンテンツ画像ＩＣから抽出されたＮＣ個の特徴点群をＶＣ＝｛ｖｉＣ｜ｉ＝１，…，ＮＣ｝で表し、右ステレオ画像ＩＲから抽出されたＮＲ個の特徴点群をＶＲ＝｛ｖｉＲ｜ｉ＝１，…，ＮＲ｝で表し、左ステレオ画像ＩＬから抽出されたＮＬ個の特徴点群をＶＬ＝｛ｖｉＬ｜ｉ＝１，…ＮＬ｝で表す。各特徴点に対しては、各画像内における位置座標と、所定数の特徴量の要素からなる特徴ベクトルが求められる。標準的なＳＩＦＴアルゴリズムでは、特徴量の記述において、特徴点を中心に、決定されたスケールを半径とした円領域を定義し、この周辺領域を４×４ブロックに分割し、ブロックごとに８方向の勾配ヒストグラムが計算される。このため、特徴量ベクトルは、１２８次元のベクトルとなる。
【００３９】
ステップＳ２０４〜ステップＳ２１３のループでは、各ステレオ画像ＩＬ，ＩＲ毎に処理が行われる。ステップＳ２０５〜ステップＳ２１２のループでは、所定のステレオ画像ＩＲまたはＩＬについて、コンテンツ画像ＩＣの各特徴点ｖｉＣ（ｉ＝１，…，ＮＣ）と対応関係を形成する特徴点ｖｊ＊Ｒまたはｖｊ＊Ｌが求められる。以下、右ステレオ画像に対する処理を代表して説明する。ステップＳ２０６〜ステップＳ２０８のループにおいて、測距部１０６は、ステップＳ２０７で、所定のステレオ画像ＩＲから抽出された各特徴点ｖｊＲ（ｊ＝１，…，ＮＲ）について、コンテンツ画像ＩＣのｉ番目の特徴点ｖｉＣとの特徴点間距離ｄ（ｖｉＣ，ｖｊＲ）を計算する。ここで、ｖｉ，ｋＣ、ｖｊ，ｋＲを、それぞれ特徴点ｖｉＣ、ｖｊＲの特徴量ベクトルにおけるｋ番目の要素とすると、特徴点間距離ｄは、下記式（１）により算出することができる。
【００４０】
【数１】
2014060611.tif 000003
【００４１】
ステップＳ２０９では、測距部１０６は、ステップＳ２０６〜ステップＳ２０８で計算されたすべての特徴点間距離ｄ（ｖｉＣ，ｖｊＲ）（ｊ＝１，…，ＮＲ）のうちから、下記式（２）により、最小の距離を有するステレオ画像ＩＲの特徴点ｖｊ＊Ｒとの特徴点間距離ｄ（ｖｉＣ，ｖｊ＊Ｒ）を計算する。「ｊ＊」は、下記式（２）で特徴点間距離を最小化する特徴点を識別する。
【００４２】
【数２】
2014060611.tif 000004
【００４３】
ステップＳ２１０では、測距部１０６は、計算された特徴点間距離ｄ（ｖｉＣ，ｖｊ＊Ｒ）が、所定の閾値（Ｔ）未満であるか否かを判定する。ステップＳ２１０で、所定の閾値未満であると判定された場合（ＹＥＳ）は、ステップＳ２１１で、最小かつ閾値Ｔ未満の距離を有するステレオ画像ＩＲの特徴点ｖｊ＊Ｒを、対応点ペア＜ｖｉＣ，ｖｉＲ＞として登録する。
【００４４】
コンテンツ画像ＩＣの各特徴点と、右および左のステレオ画像ＩＲ，ＩＬそれぞれの各特徴点との対応付けが両方完了すると、ポイントＡを介して、ステップＳ２１４へ処理が進められる。図５は、コンテンツ画像ＩＣの特徴点を経由した、右左ステレオ画像ＩＲ，ＩＬの特徴点の対応付けを説明している。図５に示すように、コンテンツ画像の特徴点ｖｉＣに対し対応ペアとして登録された特徴点ｖｊ＊Ｒおよび特徴点ｖｊ＊Ｌの両方が存在するとき、この特徴点ｖｊ＊Ｒおよび特徴点ｖｊ＊Ｌは、ステレオ対応点として検出される。ステップＳ２１４〜ステップＳ２１８のループでは、コンテンツ画像のｉ番目の特徴点ｖｉＣについて、左右のステレオ画像の両方の対応点ペアの取得を試みて（ステップＳ２１５）、両方が見出されるか否かを判定し（ステップＳ２１６）、両方の対応点ペアが見出された場合（ステップＳ２１６でＹＥＳ）に、ｋ番目のステレオ対応点＜ｖｋＲ，ｖｋＬ，＞として登録する。
【００４５】
続いてステップＳ２１９〜ステップＳ２２１のループでは、測距部１０６は、対応付けがとれたＮＳ個のステレオ対応点＜ｖｋＲ，ｖｋＬ，＞に対し、視差に基づき実３次元空間における座標点ｐｋＳを算出する。
【００４６】
ここで、基準カメラのステレオ画像上にあるステレオ対応点の座標をｍＲ＝（ｘＲ，ｙＲ）とし、参照カメラのステレオ画像上にあるステレオ対応点の座標をｍＬ＝（ｘＬ，ｙＬ）とし、このステレオ対応点に対応する実３次元空間中の３次元点をｐ＝（Ｘ，Ｙ，Ｚ）で表す。この場合、３次元点ｐは、基準カメラを基準として、下記式（３）〜（５）で計算することができる。なお、上述したようにカメラは、平行等位に配置されるため、ｙＲ＝ｙＬが前提となる。下記式中、ｘＬ−ｘＲは、水平方向の視差を表し、Ｂは、左右カメラ間の距離に相当する基線長を表し、ｆは、左右のカメラの同一の焦点距離を表す。
【００４７】
【数３】
2014060611.tif 000005
【００４８】
ステップＳ２２２では、測距部１０６は、ＮＳ個のステレオ対応点＜ｖｋＲ，ｖｋＬ＞について、その画像上の特徴点の座標ｍｋＲ，ｍｋＬおよび対応する３次元点ｐｋＳ（ｋ＝１，…，ＮＳ）をセットで測距データとして記録し、ステップＳ２２３で、本処理を終了し、図３に示した元の処理に戻す。
【００４９】
なお、上述では、好適な実施形態として、コンテンツ画像の特徴点およびステレオ画像各々の特徴点との対応付けに基づいて、ステレオ画像間におけるステレオ対応点を探索し、対応点各々の画像間の視差に基づき、その３次元座標を計算するものとして説明した。この好適な実施形態は、演算の高速性および精度の点で優れている。しかしながら、ステレオ対応点の探索方法は、他の実施形態では、少なくとも一部の対応点について、コンテンツ画像の特徴点を経由させず、ステレオ画像の特徴点間の特徴点間距離に基づいて、直接対応付けをおこなってもよい。また、ＳＩＦＴによる特徴ベクトルを用いずに、ステレオ画像を構成する画素ブロックを直接テンプレート・マッチングなどによって比較して対応付けてステレオ対応点を探索してもよい。
【００５０】
さらに、説明する実施形態では、測距方式として、基線長が定義された２つの異なる視点からの撮像画像を用いる、いわゆるステレオ画像方式を採用している。しかしながら、他の実施形態では、３以上の異なる視点からの撮像画像を用いてもよく、ステレオ画像方式における１つの撮像画像を、プロジェクタ等の投影装置からの投影画像に置き換えたアクティブステレオ方式としてもよい。
【００５１】
［対象形状指定処理］
以下、図６〜図８を参照しながら、本実施形態における対象形状指定処理の詳細について説明する。図６は、第１の実施形態による対象形状指定部１０８が実行する、対象形状指定処理を示すフローチャートである。図７は、測距部１０６によって計算されたシーンの３次元点群を模式的に表す図である。図８は、第１の実施形態において、シーンの３次元点群から、所望の投影対象の３次元形状を指定する方法を説明する図である。
【００５２】
図６に示す処理は、図３におけるステップＳ１０７で呼び出されて、ステップＳ３００から開始される。ステップＳ３０１では、対象形状指定部１０８は、測距部１０６が出力する測距データを読み出し、測距データから３次元点群ＰＳ｛ｐｋＳ｜ｋ＝１，…，ＮＳ｝および、たとえばその右ステレオ画像上の特徴点の座標ｍｋＲを取得する。
【００５３】
図７（Ａ）および（Ｂ）は、初回校正時の投影画像を撮像したシーンに基づき復元された３次元点群ＰＳを図示し、図７（Ａ）は、その正面図を示し、図７（Ｂ）は、その上面図を示す。図７においては、シーンの３次元点群ＰＳは、その奥行き（Ｚ座標）に応じて「○」、「△」および「×」の記号で便宜上表現されている。「○」は、中間に位置するスクリーンに対応した点群１５４であり、「×」は、スクリーンの奥の背景に対応した点群１５０，１５２であり、「△」は、スクリーンの手前の登壇者に対応した点群１５６である。
【００５４】
ステップＳ３０２では、対象形状指定部１０８は、ディスプレイなどの表示装置に、投影対象の形状を選択するためのユーザ・インタフェース（ＵＩ）を表示させる。ＵＩは、説明する実施形態では、図８（Ｂ）に示すようなカメラ画像（例えば右カメラで撮像された画像）を表示し、この画像に対する画像領域１６２の指定を受け付けるよう構成される。画像領域の指定方法としては、図８（Ｂ）に示すようにマウス操作によって選択矩形を画定したり、タッチパネル操作により所望の画像領域を塗りつぶしたりすることによって行われる。また、上記ＵＩにおいては、ユーザが特徴点を識別しやすいように、特徴点を可視化し、カメラ画像に重ねて表示してもよい。
【００５５】
また、投影対象物の指定方法としては、上述した画像領域の指定に限定されない。他の実施形態では、画像領域１６２の指定に代えて、図８（Ｃ）で示すように、表示されたクラスタ１７２Ａ〜１７２Ｄの中から投影対象物の３次元形状に構成するクラスタ１７２Ａの指定を受け付けることとしてもよい。上記クラスタは、シーンの３次元点群ＰＳを座標に基づいてクラスタリングし、構成される。
【００５６】
ステップＳ３０３では、ユーザによる指定を受領したか否かを判定し、指定を受け付けるまで、ステップＳ３０３をループさせる。ステップＳ３０４では、対象領域指定部１０８は、ＵＩ上で選択された画像領域に含まれる３次元点群ＰＯ｛ｐｋＯ｜ｋ＝１，…，ＮＯ｝を算出する。上述したように、３次元点ｐｋＳに対応して右カメラ画像上の座標点ｍｋＲが取得されている。したがって、図８（Ａ）に示すように、シーン全体の３次元点群ＰＳのうちの、指定画像領域内に座標点ｍｋＲが包含される一部の３次元点群ｐｋＯが特定される。ステップＳ３０５では、対象形状指定部１０８は、取得された３次元点群ＰＯ｛ｐｋＯ｜ｋ＝１，…，ＮＯ｝を、対象３次元形状を構成する対象３次元点群として記録し、ステップＳ３０６で、本処理を終了し、図３に示した元の処理に戻す。
【００５７】
［対象形状探索処理］
以下、図９および図１０を参照しながら、本実施形態における対象形状探索処理の詳細について説明する。図９は、第１の実施形態による対象形状探索部１１０が実行する、対象形状探索処理を示すフローチャートである。図１０は、投影対象物の対象３次元形状に対応した対象３次元点群を、シーン中の３次元点群の中から探索する処理を説明する図である。
【００５８】
図１０に示すように、対象形状探索部１１０は、２回目以降の校正時のシーン中において、初回校正時に指定された対象３次元形状にマッチする対象３次元点群の探索を行う。対象３次元点群の探索は、好適な実施形態では、指定された対象３次元形状をテンプレートとした、最小二乗マッチングにより行うことができる。最小二乗マッチングの数値解法としては、ガウス−ニュートン法、最急降下法、レーベンバーグ−マーカート法など挙げることができる。なお、以下説明する実施形態では、非線形最小二乗問題の有効な解法であるレーベンバーグ−マーカート法を一例に説明する。
【００５９】
図９に示す処理は、図３におけるステップＳ１１４で呼び出されて、ステップＳ４００から開始される。対象形状探索部１１０は、ステップＳ４０１で、測距部１０６が出力する測距データを取得し、ステップＳ４０２で、測距データからシーンの３次元点群ＰＳ｛ｐｋＳ｜ｋ＝１，…，ＮＳ｝を取得し、ステップＳ４０３で、対象形状の３次元点群ＰＯ｛ｐｋＯ｜ｋ＝１，…，ＮＯ｝を取得する。
【００６０】
ステップＳ４０４では、対象形状探索部１１０は、取得したシーンの３次元点群ＰＳから、シーンの３次元形状を近似するシーン近似曲面を推定するとともに、取得した投影対象の対象３次元点群ＰＯから、該対象形状を近似する対象形状近似曲面を推定する。シーン近似曲面および対象形状近似曲面の推定方法は、特に限定されるものではないが、３次元点群ＰＳおよび３次元点群ＰＯの各座標点をそれぞれ標本点とした、最小二乗法による曲面フィッティングなどにより計算することができる。なお、近似曲面の表現方法任意であり、多項式曲面、ペジエ曲面、スプライン曲面など任意の表現形式を採用することができる。ここでは、シーン近似曲面をＺ＝Ｉ（Ｘ，Ｙ）で表し、対象形状近似曲面をＺ＝Ｔ（Ｘ，Ｙ）で表す。測距処理による３次元座標には誤差が存在するため、このように近似曲面を推定することにより、良好にマッチングを行うことが可能となる。
【００６１】
ステップＳ４０５〜ステップＳ４０８では、レーベンバーグ−マーカート法に基づく反復計算により、対象形状近似曲面Ｚ＝Ｔ（Ｘ，Ｙ）をシーン近似曲面Ｚ＝Ｉ（Ｘ，Ｙ）における部分領域と照合し、その誤差が小さくなる方向にパラメータの改良を繰り返し、最終的な解を得る。レーベンバーグ−マーカート法は、下記式（６）により表現することができる。
【００６２】
【数４】
2014060611.tif 000006
【００６３】
式中、χ＝｛χ１，…，χｎ｝は、求めるべき未知のパラメータのセットを表し、テンプレートである対象近似曲面を、並進、変形および回転などの幾何変形を含めてシーン近似曲面の部分領域に対応付ける関数ｆのパラメータである。上記式（６）中、行列Ｊ（χ）は、ヤコビ行列であり、下記式（７）で表され、上記関数ｆの所定のパラメータχに関する勾配を表す行ベクトルから構成される。上記式中ｅ（χ）は、所定のパラメータχにおいて、対象近似曲面Ｔ（Ｘ，Ｙ）と、シーン近似曲面の対応付けられる部分領域ｆ（Ｉ（Ｘ，Ｙ），χ）との残差二乗和であり、小さい方がマッチングの程度が高く、すなわち最小化すべき評価関数である。λは、減衰パラメータであり、各反復処理毎に変更され得る。Ｉは、単位行列である。Δχは、反復処理における、パラメータχの補正量を表す。
【００６４】
【数５】
2014060611.tif 000007
【００６５】
ステップＳ４０５では、対象形状探索部１１０は、まず、未知パラメータの初期値χ０を設定する。ステップＳ４０６では、対象形状探索部１１０は、所与のパラメータχｔ（ここで、ｔは、反復回数を表し、初回は０である。）において、対象近似曲面をテンプレートとして、シーン近似曲面の部分領域と照合し、その誤差が小さくなるようなパラメータの補正量Δχを算出する。上記レーベンバーグ−マーカート法において、上記式（７）のヤコビ行列Ｊ（χ）が計算されると、上記式（６）からパラメータの補正量Δχを求めることができる。補正量Δχは、パラメータ空間において、誤差ｅ（χ）を減少させる改良方向を示す。ステップＳ４０７では、未知パラメータχｔを、Δχだけ改良し、更新された未知パラメータχｔ＋１を得る。ステップＳ４０８では、これまでの反復演算により、所定の収束条件が成立したか否かを判定する。収束条件は、例えば、誤差ｅ（χ）が所定閾値以下となったこと、誤差ｅ（χ）の変化量が所定閾値以下となったこと、またはパラメータ補正量Δχが閾値以下となったことを条件とすることができる。
【００６６】
ステップＳ４０８で、収束条件が成立していないと判定された場合（ＮＯ）は、ステップＳ４０６へループさせて、反復改良処理を繰り返す。ステップＳ４０８で、収束条件が成立したと判定された場合（ＹＥＳ）は、ステップＳ４０９へ処理を進める。図１０に示すように、反復演算によってシーン中の部分領域とのマッチングを行い、最終的に得られたパラメータの解χｔから、シーン近似曲面中の対象形状近似曲面に対応する部分領域が特定される。ステップＳ４０９では、対象形状探索部１１０は、得られたパラメータχｔに基づき、当該シーン中の３次元点群ＰＳの中から、対象形状に対応する対象３次元点群ＰＳ’｛ｐｋＳ’｜ｋ＝１，…，ＮＳ’｝を抽出し、ステップＳ４１０で、本処理を終了し、図３に示した元の処理に戻す。
【００６７】
なお、上述した実施形態では、テンプレートとする投影対象物の対象３次元形状（対象３次元点群）は、初回校正時に指定されたものを固定的に用いるものとして説明した。しかしながら、他の実施形態では、対象形状探索部１１０は、ある時点においてマッチングによって特定された対象３次元形状を、その後行われる校正時のテンプレートとして用いることもできる。この実施形態は、テンプレートとなる形状が最新のものに逐次更新されるため、例えば、カーテンなど、位置や形状が連続的に変化する投影対象物に対して良好に追従することが可能となる。
【００６８】
［平面推定処理］
以下、図１１および図１３を参照しながら、本実施形態における平面推定処理の詳細について説明する。図１１は、第１の実施形態による平面推定部１１２が実行する、平面推定処理を示すフローチャートである。図１３は、投影対象物の対象３次元形状を近似する近似平面および近似平面の法線方向に位置する法線カメラの関係を説明する図である。
【００６９】
図１１に示す処理は、図３におけるステップＳ１０８およびステップＳ１１５で呼び出されて、ステップＳ５００から開始される。ステップＳ５０１では、平面推定部１１２は、対象形状探索部１１０が出力する対象形状３次元データから、当該シーンにおける投影対象物に対応する対象３次元点群ＰＳ’｛ｐｋＳ’｜ｋ＝１，…，ＮＳ’｝を取得する。ステップＳ５０２では、平面推定部１１２は、取得した対象形状の３次元点群ＰＳ’から、回帰平面Ｚ＝Ｒ（Ｘ，Ｙ）を算出する。回帰平面は、下記式（８）により表され、３次元点群ＰＳ’の座標値の数値組を用いて最小二乗法により、係数ａ，ｂ，ｃを求めることができる。なお、下記式（８）のような近似関数を用いた最小二乗法は、正規方程式による解法が周知であるので、ここでは、詳細な説明は割愛する。
【００７０】
【数６】
2014060611.tif 000008
【００７１】
ステップＳ５０２で算出された回帰平面をそのまま投影対象の近似平面としてもよいが、説明する実施形態では、ステップＳ５０３〜ステップＳ５０６により、回帰平面から大きくはずれる３次元点ｐｉＳ’を回帰平面の計算から除外しながら、回帰平面を改良する。ステップＳ５０３では、平面推定部１１２は、３次元点ｐｋＳ’の回帰平面からの距離を計算し、最も離れた３次元点ｐｉＳ’を抽出する。ステップＳ５０４では、平面推定部１１２は、上記距離が閾値以下であるか否かを判定し、閾値を超えている場合（ＮＯ）は、その最も離れた３次元点を除外し、ステップＳ５０２へループさせ、再度回帰平面を計算する。
【００７２】
一方、ステップＳ５０４で、距離が閾値以下であると判定された場合（ＮＯ）は、ステップＳ５０６へ処理を分岐させる。ステップＳ５０６では、平面推定部１１２は、現在の回帰平面が、投影対象に対応する３次元形状を近似する近似平面であるとして、上記式（８）の係数ａ，ｂ，ｃ、対象３次元形状の重心Ｇを記録し、ステップＳ５０７で、本処理を終了し、図３に示した元の処理に戻す。図１３には、対象３次元形状として抽出された対象３次元点群ＰＳ’と近似平面Ｚ＝Ｒ（Ｘ，Ｙ）と、重心Ｇとの関係が表されている。
【００７３】
［補正計算処理］
以下、図１２〜図１７を参照しながら、本実施形態における補正計算処理の詳細について説明する。図１２は、第１の実施形態による補正計算部１１６が実行する、補正計算処理を示すフローチャートである。図１３は、上述したとおりであり、近似平面の法線方向に位置する仮想的な法線カメラを説明する図である。
【００７４】
図１２に示す処理は、図３に示したステップＳ１１０で呼び出されて、ステップＳ６００から開始される。ステップＳ６０１では、補正計算部１１６は、対象形状探索部１１０から出力される対象形状３次元データを読み出し、当該シーン中の投影対象物の対象３次元点群ＰＳ’｛ｐｋＳ’｜ｋ＝１，…，ＮＳ’｝を取得する。ステップＳ６０２では、補正計算部１１６は、平面推定部１１２から出力される近似平面データを読み出し、近似平面Ｚ＝Ｒ（Ｘ，Ｙ）の係数ａ，ｂ，ｃを取得する。
【００７５】
ステップＳ６０３では、補正計算部１１６は、実３次元空間上の３次元点を画像上の２次元点に変換する透視投影変換行列Ｂを算出する。透視投影変換行列Ｂは、実３次元空間上の３次元点を、近似平面に対し法線方向に位置させた仮想的な法線カメラ１３０から視た法線カメラ画像上の点に変換するものである。法線カメラ１３０は、図１３に示すように、推定された近似平面Ｚ＝Ｒ（Ｘ，Ｙ）における対象３次元点群ＰＳ’の重心Ｇの位置から、その近似平面の法線方向に仮想的に配置されたカメラを意味する。そして、法線カメラ画像とは、この法線カメラの位置から仮想的に撮像した場合の仮想的な画像データである。法線カメラ画像は、色情報が無く、点の幾何変換の過程で使用される。以下、法線カメラ画像をＩＶと参照する。
【００７６】
透視投影変換行列Ｂは、下記式（９）で与えられる。下記式中、行列Ａは、カメラの光軸座標、焦点距離、レンズの歪みを表す内部パラメータ行列（３×３）である。行列Ｒは、基準カメラ（右カメラ）１０４から法線カメラ１３０までの回転を表す回転行列（３×３）である。ベクトルｔは、基準カメラ（右カメラ）１０４から法線カメラ１３０までの並進移動ベクトル（３×１）である。
【００７７】
【数７】
2014060611.tif 000009
【００７８】
ステップＳ６０４では、補正計算部１１６は、上記算出された透視投影変換行列Ｂを用いて、シーンにおける対象３次元点群ＰＳ’を法線カメラ画像ＩＶ上の２次元点群ＱＳ’｛ｑｋＳ’｜ｋ＝１，…，ＮＳ’｝に変換する。図１４は、３次元点群を透視投影変換により法線カメラ画像上の２次元点群に変換する処理を説明する図である。図１４に示すように、投影対象物１８０の３次元形状を構成する対象３次元点群ＰＳ’は、法線カメラ画像ＩＶ上の２次元点群ＱＳ’に投影され、２次元点群ＱＳ’は、法線カメラ画像上での投影対象物の形状１８２を表す。
【００７９】
ステップＳ６０５では、補正計算部１１６は、得られた法線カメラ画像ＩＶ上の２次元点群ＱＳ’を包み込む凸包多角形１８４を計算する。図１５は、法線カメラ画像上の投影対象物の形状を表す２次元点群から補正矩形を得る処理を説明する図である。この凸包多角形１８４は、法線カメラ画像ＩＶ上でスクリーンとみなされる領域を画定する。ステップＳ６０６では、補正計算部１１６は、得られた凸包多角形１８４に内包され、コンテンツ画像と同一アスペクト比を有する、最大の補正図形を算出する。補正図形は、説明する実施形態では、補正矩形であり、この補正矩形１８６は、法線カメラ画像ＩＶ上で、コンテンツ画像が投影される領域を画定する。
【００８０】
なお、説明する実施形態では、投影対象物から投影画像がはみ出さないことを優先し、補正図形は、凸包多角形１８４に内包される補正矩形としている。しかしながら、凸包多角形１８４から任意の関係を有する補正図形を求めることができる。他の実施形態では、補正計算部１１６は、包含関係を変更し、凸包多角形１８４を内包し、コンテンツ画像と同一アスペクト比を有する、最小の補正矩形を算出してもよい。
【００８１】
ステップＳ６０７では、補正計算部１１６は、すべての２次元点群ＱＳ’のうちから、得られた補正矩形（投影対象物１８６）内に含まれる２次元点群ＱＳ’’｛ｑｋＳ’’｜ｋ＝１，…，ＮＳ’’｝を選択する。図１６は、法線カメラ画像ＩＶ上の２次元点群と、投影するプロジェクタ画像ＩＰ上の特徴点群との対応関係を説明する図である。セクション［測距処理］で説明した処理と同様に、プロジェクタ画像から特徴点を抽出することができる。そして、上記２次元点ｑｋＳ’’（ステレオ対応点に対応付けることができる。）に関連付けられる特徴量ベクトルと、プロジェクタ画像から抽出された特徴点の特徴点ベクトルとを用いて、図１６に示すような対応関係を求めることができる。ステップＳ６０８では、補正計算部１１６は、プロジェクタ画像から、２次元点群ｑｋＳ’’｛ｋ＝１，…，ＮＳ’’｝に対応するプロジェクタ画像上の特徴点群ｑｋＰ（ｋ＝１，…，ＮＳ’’）を取得する。
【００８２】
ステップＳ６０９では、補正計算部１１６は、補正矩形内に含まれる２次元点群ＱＳ’’｛ｑｋＳ’’｜ｋ＝１，…，ＮＳ’’｝およびプロジェクタ画像上の対応する特徴点群ＱＰ｛ｑｋＰ｜ｋ＝１，…，ＮＳ’’｝のペアのうちの、４以上の対応点ペアを用いて、法線カメラ画像上の点からプロジェクタ画像上の点へと変換する射影変換行列ＨＶＰを計算する。射影変換行列ＨＶＰは、法線カメラ画像上の座標をｍＶ＝（ｘＶ，ｙＶ）、プロジェクタ画像上の座標をｍＰ＝（ｘＰ，ｙＰ）とすると、下記式（１０）を用いて表される。なお、下記式中ｈ１〜ｈ８は、未知パラメータである。
【００８３】
【数８】
2014060611.tif 000010
【００８４】
そして、スケール係数で割ることにより、下記式（１１）が得られ、上記式（１０）中の未知パラメータｈ１〜ｈ８が求められれば、法線カメラ画像上の任意の座標点（ｘＶ，ｙＶ）について、プロジェクタ画像上の対応する座標点（ｘＰ，ｙＰ）が求められることになる。
【００８５】
【数９】
2014060611.tif 000011
【００８６】
法線カメラ画像ＩＶおよびプロジェクタ画像ＩＰにおける対応点ペア１つにつき、最小二乗法における１つの拘束式が得られるので、４以上の対応点ペアがあれば、最小二乗法を適用することにより、上記８つの未知パラメータｈ１〜ｈ８が得られる。
【００８７】
図１７は、射影変換行列ＨＶＰおよび射影変換行列ＨＰＰによる幾何変換を説明する図である。ステップＳ６１０では、補正計算部１１６は、得られた射影変換行列ＨＶＰを用いて、上記得られた補正矩形１８６の四隅の座標点を変換することにより、プロジェクタ画像上の該補正矩形１８６の四隅に対応する補正台形１８８の四隅を計算する。ステップＳ６１１では、補正計算部１１６は、さらに、プロジェクタ画像ＩＰ上の補正台形１８８の四隅と、コンテンツ画像ＩＣの四隅との４点を用いて、上述した処理と同様に最小二乗法を適用して、コンテンツ画像上の点からプロジェクタ画像上の点へと変換する射影変換行列ＨＰＰを計算する。射影変換行列ＨＰＰは、平均的な台形歪みを相殺し、コンテンツ画像を投影画像上に変換された補正図形内に収まるように幾何変換を規定する補正データとなる。
【００８８】
［投影補正処理］
図１８は、（Ａ）射影変換行列ＨＰＰによるコンテンツ画像の台形補正処理と、（Ｂ）補正された実際に投影される投影画像を説明する図である。投影画像補正部１１８は、補正計算部１１６から入力された補正データ（射影変換行列ＨＰＰ）に基づき、入力または生成されたコンテンツ画像に対し幾何変換を適用して台形歪み補正処理を施す。これにより、投影装置から実際に投影させるプロジェクタ画像ＩＰ’が生成される。射影変換行列ＨＰＰにより補正されたプロジェクタ画像ＩＰ’は、ユーザが指定した任意形状の投影対象物の形状１８０に収まるように投影され、適切なコンテンツ投影像１９０が得られるようになる。
【００８９】
［第１の実施形態の作用効果］
以上説明した第１の実施形態によれば、利用者が指定した任意形状の投影対象物に対して、投影対象物に合わせた投影画像補正制御を行うことが可能となる。また、上記制御は、所定時間毎に繰り返し行われ、投影対象物の位置関係の変化が認識されて補正データが再計算されることになる。したがって、プロジェクタ１００を利用中、プロジェクタ１００と投影対象物の位置関係に変化が発生した場合でも、プロジェクタ１００の利用を中断することなく、略リアルタイムでその位置変化を検出し、任意形状の投影対象物を認識しつづけ、その物体に補正した投影光を投影しつづけることが可能となる。また、利用者がプレゼン等で使用しているコンテンツ画像を用いて、ステレオ対応点の抽出および３次元座標の計測が可能であるので、利用中に再度補正が必要となった場合でも、プロジェクタ１００の利用が妨げられない。
【００９０】
図１９および図２０は、第１の実施形態によるプロジェクタ１００の好適な利用態様を例示する。図１９は、投影対象物１８０の回転に追随して投影画像補正をかける利用態様を例示する。図１９（Ａ）に示すように、ある時点において、投影画像１９０ＯＬＤは、ユーザが指定した投影対象物１８０が画定する投影面内に収まるよう投影画像補正がかけられている。ところが、図１９（Ｂ）に示すように投影対象物が回転すると、投影画像の一部１９０ａ，１９０ｂが投影対象物からはみ出てしまうことになる。
【００９１】
このとき、そのはみ出た部分の特徴点は、投影対象物の奥行きから大きくはなれてしまう。プロジェクタ１００は、投影対象物の対象３次元形状の位置および形状の変化を検知し、補正データの再計算を行う。これにより、図１９（Ｃ）に示すように、指定の投影対象物の回転により補正矩形が小さく再計算され、新しく計算された補正データにより、傾いた投影対象物に投影画像１９０ＮＥＷが収まるように補正がかけられる。図１９に示すように、上記構成によれば、投影対象物の位置変化を略リアルタイムで検出し、任意形状の投影対象物を認識しつづけ、その物体に対し適切に補正した投影光を投影することができる。
【００９２】
図２０は、くぼんだ形状を有する壁面を投影対象物として使用する利用態様を例示する図である。従来技術においては、撮像されたシーン中の広い平面を投影対象物と認識してしまうため、図２０に示すような特殊な形状の壁面に投影すると、壁面における手前の部分が投影対象物として認識されてしまう。
【００９３】
これに対して、上記第１の実施形態によるプロジェクタ１００では、ＵＩにおいて、くぼんだ奥の壁面に対応する画像領域１６２を、投影対象物として指定することができる。奥の壁面が投影対象物として指定されると、プロジェクタ１００は、くぼんだ奥の壁面部分に投影画像１９０ＮＥＷが収まるように補正データを計算する。したがって、上記第１の実施形態によるプロジェクタ１００は、人や手などの複雑な形状や、中央部が凹んだ壁などの任意形状の物体に対して好適に適用することができるといえる。
【００９４】
以下、上述した第１の実施形態の変形例の実施形態について説明する。
【００９５】
（第２の実施形態）
上記第１の実施形態では、ユーザがＵＩ画面上を用いて、カメラ画像上の画像領域またはクラスタ指定を行うことによって、投影対象とする対象３次元形状が指定されていた。しかしながら、投影対象物の指定方法は、上述した実施形態に限定されるものではない。第２の実施形態では、テンプレート画像の入力によって、投影対象物の指定を行うことができる。なお、第２の実施形態によるプロジェクタ１００の構成は、対象形状指定部１０８の構成を除き、第１の実施形態の構成と同一であるため、以下、相違点を説明する。
【００９６】
第２の実施形態では、対象形状指定部１０８は、図２１に示すように、入力された画像をテンプレート画像ＩＴとして、例えば右カメラ画像ＩＲ上の部分画像とのテンプレート・マッチングを行うことにより、投影対象物に対応する画像領域を特定する。画像領域が特定されると、第１の実施形態と同様に、３次点群ＰＳのうちの、入力テンプレート画像ＩＴにマッチした画像領域に含まれる３次元点群が、投影対象物の３次元形状を構成する対象３次元点群として抽出される。
【００９７】
上記第２の実施形態によれば、ユーザがＵＩ上で投影対象物に対応した画像領域を指定しなくても、投影対象物の画像を入力するだけで、簡便に投影対象物を指定することが可能となる。例えば、人を投影対象としたい場合、別途撮像しておいた同一人物の画像を入力することによって、プロジェクタ１００にその人を投影対象として認識させることが可能となる。また、種々の投影対象物を予め登録しておくことにより、所望の投影対象物を選択するだけで、投影対象を指定することが可能となる。また、テンプレート画像の入力方法としては、ファイルとしてプロジェクタ１００に与えてもよいし、プロジェクタ１００が備える撮像部１０４を用いて、テンプレート撮像モードを設けて、撮像してもよい。
【００９８】
（第３の実施形態）
上記第１の実施形態では、コンテンツ画像に対し台形歪み補正をかける投影画像補正機能を一例として説明した。しかしながら、投影光制御は、コンテンツ画像に対する幾何補正機能に限定されるものではない。第３の実施形態では、投影対象物の形状に合わせて投影光を投影するよう制御する機能を備える。なお、第３の実施形態によるプロジェクタ１００の構成は、補正計算部１１６および投影画像補正部１１８を除き、第１の実施形態の構成と同一であるため、以下、相違点を説明する。
【００９９】
第１の実施形態では、補正計算処理において、凸包図形に内包される補正矩形を投影面とし、この投影面全体にコンテンツ画像を投影するものとした。第３の実施形態による補正計算部１１６は、図２２（Ａ）に示すように、例えば登壇者に対応する３次元形状の凸包図形１８４を計算し、凸包図形１８４を包含する任意の大きさの補正矩形を計算する。そして、補正計算部１１６は、法線カメラ画像上の補正矩形にコンテンツ画像の四隅を変換する射影変換行列ＨＰＰを計算し、コンテンツ画像を投影画像上に変換された補正矩形内に収まるように幾何変換を規定する補正データを得る。投影画像補正部１１８は、図２２に示すように、法線カメラ画像上の凸包図形に対応する領域１９２を演算し、例えば白色プレーン画像に対し、演算された領域１９２以外の部分をマスクして、図２２（Ｂ）に示すようなコンテンツ画像を生成する。すなわち、凸包図形の外側に対応する領域に光が投影されないようにマスク処理が施された投影画像が生成される。
【０１００】
図２２（Ｂ）に示すようなマスク画像に対し射影変換行列ＨＰＰをかけることにより、ユーザが指定した登壇者の形状に収まるように投影光が投影される。第３の実施形態によれば、指定した投影対象物に投影光を追従させて、投影対象物に追従するスポットライト１９４として利用することができる。
【０１０１】
（第４の実施形態）
上記第１の実施形態では、画像処理装置および映像投影システムの一例として、ステレオ画像方式の測距センサを備えたプロジェクタ１００を用いて説明した。しかしながら、図１に示す各機能部が単一の装置内に設けられることは必ずしも要さず、一部の演算処理を外部のコンピュータ・システムで行うよう構成してもよい。
【０１０２】
図２３は、第４の実施形態におる映像投影システム２００の概略構成を示す図である。図２３に示す映像投影システム２００は、ステレオ画像方式の測距センサを備えたプロジェクタ２１０と、外部コンピュータ・システム２３０とを含み構成される。プロジェクタ２１０は、制御部２１２、フォーカス調整部２１６、撮像部２１４および投影部２１８に加えて、ＮＩＣ（ネットワーク・インタフェース・カード）などのネットワーク通信部２２０を備える。一方、外部コンピュータ・システム２３０は、プロジェクタ２１０と通信するためのネットワーク通信部２３２と、測距部２３４と、対象形状指定部２３６と、対象形状探索部２３８と、平面推定部２４０と、位置変化判定部２４２と、補正計算部２４４と、投影画像補正部２４６とを含む。この場合、ネットワーク通信部２２０により、ステレオ画像データを外部コンピュータ・システム２３０に送信し、外部コンピュータ・システム２３０から演算結果として、重心データや補正されたプロジェクタ画像データを受信することができる。
【０１０３】
図２３に示すように外部コンピュータ・システム２３０側に主要な演算機能を実装することによって、プロジェクタ２１０に要求される演算性能に対する要件を緩和することができる。なお、外部コンピュータ・システム２３０は、単一のコンピュータ装置であってもよいし、仮想コンピュータであってもよいし、複数のコンピュータから構成され分散演算を行うコンピュータ・システムであってもよい。また、プロジェクタ２１０と外部コンピュータ・システム２３０との間における機能部を分担させる態様は、図２３に示す例に限定されず、任意の態様で行うことができる。
【０１０４】
（第５の実施形態）
上記第１の実施形態および第４の実施形態では、ステレオ画像方式の測距センサを備えたプロジェクタ１００，２１０を用いて説明した。しかしながら、測距センサは、必ずしもプロジェクタに備えられていなくともよい。
【０１０５】
図２４は、第５の実施形態におる映像投影システム３００の概略構成を示す図である。図２４に示す映像投影システム３００は、プロジェクタ３１０と、外部接続されるステレオ測距センサ３４０とを含み構成される。プロジェクタ３１０は、制御部３１２、測距部３１４、対象形状指定部３１６、対象形状探索部３１８、平面推定部３２０、位置変化判定部３２２、補正計算部３２４、投影画像補正部３２６、フォーカス調整部３２８、投影部３３０に加えて、ＵＳＢ（Universal Serial Bus）などのインタフェース部３２２を備える。一方、ステレオ測距センサ３４０は、インタフェース部３４２と、撮像部３４４とを備える。
【０１０６】
図２４に示すように投影部３３０と、撮像部３４４とを分離した装置３１０，３４０に設けることによって、プロジェクタ３１０の焦点距離と、ステレオ測距センサ３４０の焦点距離とが大きく解離する場合でも、好適に上述した投影光制御を行うことが可能となる。図２５は、短焦点プロジェクタ３１０と、ステレオ測距センサ３４０とを分離して構成した撮像システムを例示する。
【０１０７】
以上説明したように、本発明の実施形態によれば、利用者が指定した任意形状の投影対象物に対して、投影対象物に合わせた投影光制御を行うことを可能とする画像処理装置、映像投影システムおよびプログラムを提供することができる。
【０１０８】
なお、上記機能部は、アセンブラ、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）などのレガシープログラミング言語やオブジェクト指向プログラミング言語などで記述されたコンピュータ実行可能なプログラムにより実現でき、ＲＯＭ、ＥＥＰＲＯＭ、ＥＰＲＯＭ、フラッシュメモリ、フレキシブルディスク、ＣＤ−ＲＯＭ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ブルーレイディスク、ＳＤカード、ＭＯなど装置可読な記録媒体に格納して、あるいは電気通信回線を通じて頒布することができる。また、上記機能部の一部または全部は、例えばフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）などのプログラマブル・デバイス（ＰＤ）上に実装することができ、あるいはＡＳＩＣ（特定用途向集積）として実装することができ、上記機能部をＰＤ上に実現するためにＰＤにダウンロードする回路構成データ（ビットストリームデータ）、回路構成データを生成するためのＨＤＬ（Hardware Description Language）、ＶＨＤＬ（VHSIC（Very High Speed Integrated Circuits） Hardware Description Language））、Ｖｅｒｉｌｏｇ−ＨＤＬなどにより記述されたデータとして記録媒体により配布することができる。
【０１０９】
これまで本発明の実施形態について説明してきたが、本発明の実施形態は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【０１１０】
１００…プロジェクタ、１０２…制御部、１０４…撮像部、１０６…測距部、１０８…対象形状指定部、１１０…対象形状探索部、１１２…平面推定部、１１４…位置変化判定部、１１６…補正計算部、１１８…投影画像補正部、１２０…フォーカス調整部、１２２…投影部、１５０…点群、１５２…点群、１５４…点群、１５６…点群、１６０…ＵＩ画面、１６２…画像領域、１７０…ＵＩ画面１７０、１７２…クラスタ、１８０…投影対象物、１８０…投影対象物、１８４…凸包図形、１８６…補正矩形、１９０…投影画像、１９２…凸包図形に対応する領域、１９４…スポットライト、２００…映像投影システム、２１０…プロジェクタ、２１２…制御部、２１４…撮像部、２１６…フォーカス調整部、２１８…投影部、２２０…ネットワーク通信部、２３０…外部コンピュータ・システム、２３２…ネットワーク通信部、２３４…測距部、２３６…対象形状指定部、２３８…対象形状探索部、２４０…平面推定部、２４２…位置変化判定部、２４４…補正計算部、２４６…投影画像補正部、３００…映像投影システム、３１０…短焦点プロジェクタ、３１２…制御部、３１４…測距部、３１６…対象形状指定部、３１８…対象形状探索部、３２０…平面推定部、３２２…位置変化判定部、３２４…補正計算部、３２６…投影画像補正部、３２８…フォーカス調整部、３３０…ステレオ測距センサ、３３０…投影部、３３２…ネットワーク通信部、３４２…ネットワーク通信部、３４４…撮像部
【先行技術文献】
【特許文献】
【０１１１】
【特許文献１】特許第３８８０５８２号公報
【図１】
2014060611.tif 000012
【図２】
2014060611.tif 000013
【図３】
2014060611.tif 000014
【図４】
2014060611.tif 000015
【図５】
2014060611.tif 000016
【図６】
2014060611.tif 000017
【図７】
2014060611.tif 000018
【図８】
2014060611.tif 000019
【図９】
2014060611.tif 000020
【図１０】
2014060611.tif 000021
【図１１】
2014060611.tif 000022
【図１２】
2014060611.tif 000023
【図１３】
2014060611.tif 000024
【図１４】
2014060611.tif 000025
【図１５】
2014060611.tif 000026
【図１６】
2014060611.tif 000027
【図１７】
2014060611.tif 000028
【図１８】
2014060611.tif 000029
【図１９】
2014060611.tif 000030
【図２０】
2014060611.tif 000031
【図２１】
2014060611.tif 000032
【図２２】
2014060611.tif 000033
【図２３】
2014060611.tif 000034
【図２４】
2014060611.tif 000035
【図２５】
2014060611.tif 000036