(57)【要約】【課題】形状が変化可能な投影対象に、適切に画像を投影する。【解決手段】画像処理装置１は、画素間対応データ１１での処理対象画素間の対応関係と、補正後画像データ２３および撮影画像データ２４との各処理対象領域間の対応関係のずれ量について、複数のずれ量の候補を生成するずれ量候補生成部４１と、画素間対応データ１１での処理対象画素の対応関係を、複数のずれ量の候補のそれぞれについてずらした対応関係のそれぞれに基づいて、応答関数を用いて、複数のずれ量の候補のそれぞれに対応する反射率を算出する反射率算出部４２と、複数のずれ量の候補のそれぞれに対応する反射率を比較して、複数のずれ量の候補から、撮影画像データ２４におけるずれ量と反射率を選択するずれ量選択部４３を備える。【選択図】      図１
2019029789.tif 000002
【特許請求の範囲】
【請求項１】
形状が変化可能な投影対象に、画像を投影する画像処理装置であって、
プロジェクタに入力される画像データの領域と、形状変化していない投影対象に前記画像データが投影された状態をカメラが撮影する画像データの領域とを対応づけた領域間対応データと、
前記領域間対応データにおいて対応づけられた領域について、前記プロジェクタに入力される画像データの値、形状が変化可能な投影対象の反射率、および前記投影対象に前記画像データが投影された状態を前記カメラが撮影した画像データの値との関係を示す応答関数に関する応答関数データを記憶する記憶装置と、
元画像データを、前記応答関数を用いて光学的補正を行い、補正後画像データを生成する光学的補正部と、
前記補正後画像データを、前記プロジェクタに入力する投影画像出力部と、
前記形状が変化可能な投影対象に前記プロジェクタが前記補正後画像データを投影した状態を、前記カメラが撮影した撮影画像データを、取得する撮影画像取得部と、
前記領域間対応データでの処理対象領域間の対応関係と、前記補正後画像データおよび前記撮影画像データとの各処理対象領域間の対応関係のずれ量および前記処理対象領域の反射率を決定するずれ量決定部と、
前記ずれ量決定部が決定したずれ量および前記処理対象領域の反射率に従って、前記応答関数と領域間対応データを更新する応答関数更新部を備え、
前記ずれ量決定部は、
前記ずれ量について、複数のずれ量の候補を生成するずれ量候補生成部と、
前記領域間対応データでの前記処理対象領域の対応関係を、前記複数のずれ量の候補のそれぞれについてずらした対応関係のそれぞれに基づいて、前記応答関数を用いて、前記複数のずれ量の候補のそれぞれに対応する反射率を算出する反射率算出部と、
前記複数のずれ量の候補のそれぞれに対応する反射率を比較して、前記複数のずれ量の候補から、前記撮影画像データにおけるずれ量と反射率を選択するずれ量選択部を備える
ことを特徴とする画像処理装置。
【請求項２】
前記元画像データから、前記カメラで撮影された状態の目標となる目標画像データを生成する目標画像生成部をさらに備え、
前記処理対象領域は、前記撮影画像データの所定領域の値と、前記領域間対応データにおいて前記所定領域に対応する前記目標画像データの領域の値とを比較して、所定の閾値以上の差分のある前記所定領域である
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記ずれ量候補生成部は、前記撮影画像データにおける前記処理対象領域を通るエピポーラ線上での、前記複数のずれ量の候補を生成し、
前記反射率算出部は、前記エピポーラ線上で、前記複数のずれ量の候補のそれぞれについてずらした対応関係のそれぞれに基づいて、前記複数のずれ量の候補のそれぞれに対応する反射率を算出する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記ずれ量選択部は、前記複数のずれ量の候補のそれぞれに対応する反射率から、前記処理対象領域に対応する領域を含む近傍領域における反射率の分散が最も小さい反射率を選択し、選択された反射率に対応するずれ量を、適切なずれ量として選択する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記応答関数は、式１であることを特徴とする請求項１に記載の画像処理装置。
【数１】
2019029789.tif 000008
【請求項６】
前記撮影画像取得部、前記ずれ量決定部および前記応答関数更新部の処理を繰り返す場合、
前記反射率算出部は、式２により前記反射率を算出することを特徴とする請求項５に記載の画像処理装置。
【数２】
2019029789.tif 000009
【請求項７】
前記元画像データが、映像データの一つのフレームデータであり、前記ずれ量決定部が、前記映像データの複数のフレームデータについて逐次ずれ量を決定する場合、
前記反射率算出部は、式２により前記反射率を算出することを特徴とする請求項５に記載の画像処理装置。
【数３】
2019029789.tif 000010
【請求項８】
形状が変化可能な投影対象に、画像を投影する画像処理方法であって、
コンピュータが、プロジェクタに入力される画像データの領域と、形状変化していない投影対象に前記画像データが投影された状態をカメラが撮影する画像データの領域とを対応づけた領域間対応データを記憶装置に記憶するステップと、
前記コンピュータが、前記領域間対応データにおいて対応づけられた領域について、前記プロジェクタに入力される画像データの値、形状が変化可能な投影対象の反射率、および前記投影対象に前記画像データが投影された状態を前記カメラが撮影した画像データの値との関係を示す応答関数に関する応答関数データを前記記憶装置に記憶するステップと、
前記コンピュータが、元画像データを、前記応答関数を用いて光学的補正を行い、補正後画像データを生成するステップと、
前記コンピュータが、前記補正後画像データを、前記プロジェクタに入力するステップと、
前記コンピュータが、前記形状が変化可能な投影対象に前記プロジェクタが前記補正後画像データを投影した状態を、前記カメラが撮影した撮影画像データを、取得するステップと、
前記コンピュータが、前記領域間対応データでの処理対象領域間の対応関係と、前記補正後画像データおよび前記撮影画像データとの各処理対象領域間の対応関係のずれ量および前記処理対象領域の反射率を決定するステップと、
前記コンピュータが、決定したずれ量および前記処理対象領域の反射率に従って、前記応答関数と領域間対応データを更新するステップを備え、
前記決定するステップは、
前記ずれ量について、複数のずれ量の候補を生成するステップと、
前記領域間対応データでの前記処理対象領域の対応関係を、前記複数のずれ量の候補のそれぞれについてずらした対応関係のそれぞれに基づいて、前記応答関数を用いて、前記複数のずれ量の候補のそれぞれに対応する反射率を算出するステップと、
前記複数のずれ量の候補のそれぞれに対応する反射率を比較して、前記複数のずれ量の候補から、前記撮影画像データにおけるずれ量と反射率を選択するステップを備える
ことを特徴とする画像処理方法。
【請求項９】
コンピュータに、請求項１ないし請求項７のいずれか１項に記載の画像処理装置として機能させるための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、形状が変化可能な投影対象に、画像を投影する画像処理装置、画像処理方法および画像処理プログラムに関する。
【背景技術】
【０００２】
一般的に、画像データをプロジェクタが投影対象に投影した状態をカメラで撮影し、プロジェクタに入力された画像データと、カメラで撮影された画像データとを比較して、画像データを補正するＰｒｏｊｅｃｔｏｒ−Ｃａｍｅｒａ（ＰｒｏＣａｍ）システムが知られている。ＰｒｏＣａｍシステムにおいては、プロジェクタに入力された画像データの画素と、カメラで撮影された画像データの画素とを対応づけることにより、各画素に対して色を補正して、適切な光学的補正を行うことができる。
【０００３】
またＰｒｏＣａｍシステムを用いて、投影面の反射特性や投影面の動的な変化に対応できるような光学的補正を行う方法がある（例えば特許文献１参照。）。特許文献１に記載された方法では、投影映像ごとの各色成分の輝度値から応答関数を求めると共に、基準点からの輝度の変化率を示す配光マップを使用して、色補正を行う。これにより特許文献１は、スクリーンに模様があるなど、一面が白色でないスクリーンに画像データが投影された場合でも、スクリーンの模様の影響を受けないように画像を表示することが可能になる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５５９０６６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら一般的には、投影対象の形状が変化すると、適切に補正を行うことができない場合がある。例えば、カーテンなどの固定されていない投影対象に画像を投影する際、投影対象が揺れ、投影対象の形状が変化する場合がある。カーテンの揺れにより投影対象の形状が変化すると、プロジェクタの投影による結像までの距離が変化する。プロジェクタに入力された画像データの画素と、カメラで撮影された画像データの画素との対応関係が壊れてしまい、各画素に対して、適切な光学補正を行うことができず、形状が変化可能な投影対象に、適切に画像を投影できない問題がある。
【０００６】
従って本発明の目的は、形状が変化可能な投影対象に、適切に画像を投影する画像処理装置、画像処理方法および画像処理プログラムを提供することである。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の第１の特徴は、形状が変化可能な投影対象に、画像を投影する画像処理装置に関する。本発明の第１の特徴に係る画像処理装置は、プロジェクタに入力される画像データの領域と、形状変化していない投影対象に画像データが投影された状態をカメラが撮影する画像データの領域とを対応づけた領域間対応データと、領域間対応データにおいて対応づけられた領域について、プロジェクタに入力される画像データの値、形状が変化可能な投影対象の反射率、および投影対象に画像データが投影された状態をカメラが撮影した画像データの値との関係を示す応答関数に関する応答関数データを記憶する記憶装置と、元画像データを、応答関数を用いて光学的補正を行い、補正後画像データを生成する光学的補正部と、補正後画像データを、プロジェクタに入力する投影画像出力部と、形状が変化可能な投影対象にプロジェクタが補正後画像データを投影した状態を、カメラが撮影した撮影画像データを、取得する撮影画像取得部と、領域間対応データでの処理対象領域間の対応関係と、補正後画像データおよび撮影画像データとの各処理対象領域間の対応関係のずれ量および処理対象領域の反射率を決定するずれ量決定部と、ずれ量決定部が決定したずれ量および処理対象領域の反射率に従って、応答関数と領域間対応データを更新する応答関数更新部を備える。ずれ量決定部は、ずれ量について、複数のずれ量の候補を生成するずれ量候補生成部と、領域間対応データでの処理対象領域の対応関係を、複数のずれ量の候補のそれぞれについてずらした対応関係のそれぞれに基づいて、応答関数を用いて、複数のずれ量の候補のそれぞれに対応する反射率を算出する反射率算出部と、複数のずれ量の候補のそれぞれに対応する反射率を比較して、複数のずれ量の候補から、撮影画像データにおけるずれ量と反射率を選択するずれ量選択部を備える。
【０００８】
元画像データから、カメラで撮影された状態の目標となる目標画像データを生成する目標画像生成部をさらに備え、処理対象領域は、撮影画像データの所定領域の値と、領域間対応データにおいて所定領域に対応する目標画像データの領域の値とを比較して、所定の閾値以上の差分のある所定領域であっても良い。
【０００９】
ずれ量候補生成部は、撮影画像データにおける処理対象領域を通るエピポーラ線上での、複数のずれ量の候補を生成し、反射率算出部は、エピポーラ線上で、複数のずれ量の候補のそれぞれについてずらした対応関係のそれぞれに基づいて、複数のずれ量の候補のそれぞれに対応する反射率を算出しても良い。
【００１０】
ずれ量選択部は、複数のずれ量の候補のそれぞれに対応する反射率から、処理対象領域に対応する領域を含む近傍領域における反射率の分散が最も小さい反射率を選択し、選択された反射率に対応するずれ量を、適切なずれ量として選択しても良い。
【００１１】
応答関数は、式１であっても良い。
【数１】
2019029789.tif 000003
【００１２】
撮影画像取得部、ずれ量決定部および応答関数更新部の処理を繰り返す場合、反射率算出部は、式２により反射率を算出しても良い。
【数２】
2019029789.tif 000004
【００１３】
元画像データが、映像データの一つのフレームデータであり、ずれ量決定部が、映像データの複数のフレームデータについて逐次ずれ量を決定する場合、反射率算出部は、式２により反射率を算出しても良い。
【数３】
2019029789.tif 000005
【００１４】
本発明の第２の特徴は、形状が変化可能な投影対象に、画像を投影する画像処理方法に関する。本発明の第２の糖朝にかかる画像処理方法は、コンピュータが、プロジェクタに入力される画像データの領域と、形状変化していない投影対象に画像データが投影された状態をカメラが撮影する画像データの領域とを対応づけた領域間対応データを記憶装置に記憶するステップと、コンピュータが、領域間対応データにおいて対応づけられた領域について、プロジェクタに入力される画像データの値、形状が変化可能な投影対象の反射率、および投影対象に画像データが投影された状態をカメラが撮影した画像データの値との関係を示す応答関数に関する応答関数データを記憶装置に記憶するステップと、コンピュータが、元画像データを、応答関数を用いて光学的補正を行い、補正後画像データを生成するステップと、コンピュータが、補正後画像データを、プロジェクタに入力するステップと、コンピュータが、形状が変化可能な投影対象にプロジェクタが補正後画像データを投影した状態を、カメラが撮影した撮影画像データを、取得するステップと、コンピュータが、領域間対応データでの処理対象領域間の対応関係と、補正後画像データおよび撮影画像データとの各処理対象領域間の対応関係のずれ量および処理対象領域の反射率を決定するステップと、コンピュータが、決定したずれ量および処理対象領域の反射率に従って、応答関数と領域間対応データを更新するステップを備える。決定するステップは、ずれ量について、複数のずれ量の候補を生成するステップと、領域間対応データでの処理対象領域の対応関係を、複数のずれ量の候補のそれぞれについてずらした対応関係のそれぞれに基づいて、応答関数を用いて、複数のずれ量の候補のそれぞれに対応する反射率を算出するステップと、複数のずれ量の候補のそれぞれに対応する反射率を比較して、複数のずれ量の候補から、撮影画像データにおけるずれ量と反射率を選択するステップを備える。
【００１５】
本発明の第３の特徴は、コンピュータに、本発明の第１の特徴に記載の画像処理装置として機能させるための画像処理プログラムに関する。
【発明の効果】
【００１６】
本発明によれば、形状が変化可能な投影対象に、適切に画像を投影する画像処理装置、画像処理方法および画像処理プログラムを提供することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態に係る画像処理装置のハードウエア構成および機能ブロックを説明する図である。
【図２】本発明の実施の形態に係る画像処理装置が用いられる画像処理システムを説明する図である。
【図３】本発明の実施の形態に係る画像処理装置の処理に関連する画像を説明する図である。
【図４】本発明の実施の形態に係る画像処理装置の処理を説明するフローチャートである。
【図５】本発明の実施の形態に係る光学的補正部による光学的補正処理を説明するフローチャートである。
【図６】エピポーラ幾何におけるエピポーラ線を説明する図である。
【図７】本発明の実施の形態に係る光学的補正部が、ずれを探索する方向を説明する図である。
【図８】本発明の実施の形態に係る応答関数のパラメータを説明する図である。
【図９】本発明の実施の形態に係る光学的補正部が、最適なずれを選択する処理の一例を説明する図である。
【発明を実施するための形態】
【００１８】
次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一または類似の部分には同一または類似の符号を付している。
【００１９】
（概要）
図１に示す本発明の実施の形態に係る画像処理装置１は、形状が変化可能な投影対象に、形状変化の影響を抑制可能な画像を投影する。画像処理装置１は、プロジェクタ２に、元画像データ２２を光学的補正して補正後画像データ２３を生成し、補正後画像データ２３をプロジェクタ２に入力し、プロジェクタ２が補正後画像データ２３を投影した状態をカメラ３が撮影した撮影画像データ２４を、カメラ３から取得する。画像処理装置１は、投影対象の形状変化に伴う画素間対応のずれを推定し、推定された画素間対応のずれを考慮して投影対象の形状変化の影響を抑制した補正後画像データ２３を生成し、補正後画像データ２３をプロジェクタ２に入力する。これにより本発明の実施の形態に係る画像処理装置１は、投影対象の形状変化の影響を抑制して投影することが可能になる。
【００２０】
本発明の実施の形態においては、プロジェクタ２が静止画に光学的補正を施して投影する場合を説明するが、これに限られない。例えば、プロジェクタ２が映像を投影する場合に、本発明の実施の形態に係る光学的補正を、映像のフレームデータに適用して、先行するフレームで得られた光学的補正を、後続のフレームに適用しても良い。
【００２１】
図２を参照して、本発明の実施の形態に係る画像処理装置１が用いられる画像処理システム９を説明する。画像処理システム９は、図１に示す画像処理装置１のほか、プロジェクタ２、カメラ３および投影対象４を備える。プロジェクタ２は、光学的補正により得られた補正後画像データ２３を、投影対象４に投影する。カメラ３は、プロジェクタ２の投影により投影対象４で結像された状態を撮影し、撮影で得られた撮影画像データ２４を、画像処理装置１に入力する。画像処理装置１は、入力された撮影画像データ２４に基づいて適切に応答関数と画素間対応を更新して、更新された応答関数と画素間対応を用いて光学的補正を行い、光学的補正の結果得られた補正後画像データ２３を、プロジェクタ２に投影させる。
【００２２】
本発明の実施の形態において投影対象４は、形状変化するものであって、例えば、カーテンである。一般的にカーテンは、上端がレールからつり下げられ、下端は、何ら固定されず解放される。従って、風や接触などの影響を受けて、カーテンは、揺れて形状が変化する場合があり、形状の変化は、下方ほど顕著に観察される。
【００２３】
例えば、図３（ａ）に示す画像データを、プロジェクタ２がカーテンに投影する場合を説明する。図３（ｂ）は、形状変化していないカーテンに投影された状態をカメラ３が撮影した画像示し、図３（ａ）の画像データが、適切に投影されている。
【００２４】
図３（ｃ）は、左側において、カーテンが揺れて形状変化が生じた投影対象４に投影された状態を示し、右側において、本発明の実施の形態に係る画像処理装置１によって光学的補正された画像が投影された状態を示す。左側においては、下方に縞模様が形成されており、下方ほど形状変化が生じやすいカーテンの特性と一致する。一方右側においては、左側で生じたような縞模様は観察されず、投影対象４の形状変化による影響が抑制されていることがわかる。
【００２５】
また図３（ｄ）は、図３（ｃ）と同様に、形状変化が生じた投影対象４に投影された状態と、画像処理装置１によって補正された画像が投影された状態を示すが、図３（ｃ）と比べて、投影対象４がさらに大きく形状変化している点が異なる。図３（ｄ）の左側において、下方のみならず、全体的に縞模様が形成される。一方、右側において、図３（ｃ）と同様に、左側で生じたような縞模様は観察されず、投影対象４の形状変化による影響が抑制されていることがわかる。
【００２６】
投影対象４が形状変化すると、図３（ｃ）および（ｄ）の左側のように一般的に縞模様が観察される原因としては、図３（ａ）に示す、プロジェクタ２に入力された画像の画素と、図３（ｂ）に示す、カメラ３が撮影した画像の画素との対応づけがくずれることが考えられる。
【００２７】
一般的な光学的補正においては、プロジェクタ２に入力される画像とカメラ３が出力する画像とで座標系が異なるため、予め、図３（ａ）に示すプロジェクタ２に入力された画像の画素と、図３（ｂ）に示す、カメラ３が撮影した画像の画素との対応付けである、画素間対応が行われる。その後、図３（ｂ）に示す、カメラ３によって撮影された画像を参照して、補正対象の画素を特定する。予め算出した画素間対応に基づいて、図３（ａ）に示す、プロジェクタ２に入力される画像における、補正対象の画素を特定し、その特定された画素を補正する。
【００２８】
投影対象４の形状変化が発生しない場合、プロジェクタ２およびカメラ３の位置も変わらないので、予め算出された画素間対応が維持される。従って、プロジェクタ２、カメラ３および投影対象４の位置関係が決まった状態で、画素間対応を特定し、その特定された画素間対応を用いて光学的補正を行えば良い。
【００２９】
しかしながら投影対象４の形状に変化が生じると、プロジェクタ２と投影対象４上の結像との距離、およびカメラ３と投影対象４上の結像との距離が変更されてしまう。その結果、投影対象４上の色（反射率）が変更し、投影対象４が形状変化しない状態で算出された画素間対応から変更が生じる。従って、投影対象４の形状が変化したにもかかわらず、投影対象４の形状が変化していない状態で算出された画素間対応を用いて補正を行うと、補正対象の画素とは異なる画素を補正することになる。
【００３０】
その結果、例えば、プロジェクタ２に入力される画像の所定画素について明るくなるように補正をしたつもりが、他の画素について明るくなるように補正をすることになり、その所定画素が適切に補正されず、暗いままの状態になり、明るくする必要のない画素がさらに明るく補正される。同様に、プロジェクタ２に入力される画像の所定画素について暗くなるように補正をしたつもりが、他の画素について暗くなるように補正をすることになり、その所定画素が適切に補正されず、明るいままの状態になり、暗くする必要のない画素がさらに暗く補正される。従って、図３（ｃ）および図３（ｄ）の左側に示すように、明暗が明確に形成され、縞模様が観察される。
【００３１】
そこで本発明の実施の形態に係る画像処理装置１は、投影対象４の形状変化に応じて、画素間対応が変更されても、変更後の画素間対応を推測し、推測された画素間対応に従って応答関数と画素間対応を更新し、更新された応答関数と画素間対応を用いて光学的補正を行う。これにより図３（ｃ）および（ｄ）の右側に示すように、本発明の実施の形態に係る画像処理装置１は、形状変化が生じた投影対象に投影した場合でも、投影対象４の形状変化に伴う影響を抑制することができる。
【００３２】
一般的に、プロジェクタ２による投影対象４は、形状変化の生じない壁や、張られたスクリーンなどが用いられていたが、本発明の実施の形態に係る画像処理装置１によれば、カーテンなど形状変化が生じるものでも投影対象４とすることが可能になる。従って本発明の実施の形態に係る画像処理装置１によれば、投影対象４の選択肢を広げることができ、様々なシーンでプロジェクタ２による投影を実現することが可能になる。
【００３３】
（処理の概要）
図４を参照して、本発明の実施の形態に係る画像処理方法の処理の概要を説明する。
【００３４】
まずステップＳ１において、画像処理装置１は、前処理として、光学的補正に必要なデータを予め算出する。プロジェクタ２、カメラ３および投影対象４の設置が完了した時点で、プロジェクタ２、カメラ３および投影対象４の位置関係が決まり、画像処理方法の処理中において、この位置関係は変更しない。そこで、画像処理装置１は、ステップＳ１において、この位置関係に基づいて、画素間対応データ（領域間対応データ）１１、エピポーラ線データ１２および応答関数データ１３などを生成する。
【００３５】
ステップＳ１においては、各データを算出するために適切なテスト画像データが投影される。例えば、画素間対応データ１１を算出するために、パターン画像が投影される。また応答関数データ１３を算出するために、例えば、特許文献１に記載の方法が用いられる。
【００３６】
画素間対応データ１１は、プロジェクタ２に入力される画像データの領域（画素）と、形状変化していない投影対象に画像データが投影された状態をカメラ３が撮影する画像データの領域とを対応づけるデータである。ステップＳ１の前処理において、プロジェクタ２にパターン画像が投影されることによって、画素間対応データ１１は、生成される。
【００３７】
エピポーラ線データ１２は、エピポーラ幾何に基づくエピポーラ線Ｅのデータである。前処理において、各画素のエピポーラ線Ｅが算出され、エピポーラ線データ１２として記憶される。
【００３８】
応答関数データ１３は、所定の画素についての、プロジェクタ２に入力される画像データの値、投影対象の反射率、およびカメラ３が撮影した画像データの値との関係を示す応答関数に関するデータである。ステップＳ１の前処理は、例えば特許文献１に記載の方法等で、投影対象４の模様等を考慮して、初期の応答関数を生成する。なお、応答関数データ１３と画素間対応データ１１は、後続の処理において、投影対象４の形状変化に応じて適宜更新される。
【００３９】
前処理が終了すると、ステップＳ２において画像処理装置１は、理想的な応答関数（図示せず）を使って、元画像データ２２から目標画像データ２１を生成する。ステップＳ３において画像処理装置１は、応答関数で、元画像データ２２から補正後画像データ２３を生成する。理想的な応答関数は、プロジェクタ２の光量および出力可能な色の範囲等内で、生成される。
【００４０】
ステップＳ４において画像処理装置１は、ステップＳ３で生成した補正後画像データ２３をプロジェクタ２に入力し、プロジェクタ２は補正後画像データ２３を投影対象４に投影する。カメラ３は、補正後画像データ２３が投影対象４に投影された状態を撮影し、ステップＳ５において画像処理装置１は、カメラ３から補正後画像データ２３を取得する。
【００４１】
次に、ステップＳ６において画像処理装置１は、撮影画像データ２４の処理対象の画素と、目標画像データ２１の処理対象の画素について、画素値の差異が所定の閾値以上であるか否かを判定する。ステップＳ６において画像処理装置１が、画素値の差異が所定の閾値以上であると判定すると、ステップＳ７に進む。各画素値の差が所定の閾値以上であれば、画像処理装置１は、この画素において、投影対象４の形状変化により画素間対応に変更が生じている、より具体的には、投影対象４の対応位置において形状変化が生じていると判断する。画像処理装置１は、ステップＳ７において、処理対象の画素について、変更が生じた画素間対応と反射率を推定して、ステップＳ８において、応答関数と画素間対応を更新する。
【００４２】
各画素値の差が所定の閾値以内であれば、この画素において、画素間対応の変更が生じていない、より具体的には、投影対象４の対応位置において形状変化が生じていないと判断し、次の画素について、ステップＳ６ないしステップＳ８の処理を行う。
【００４３】
各画素について、ステップＳ６ないしステップＳ８の処理が終了すると、画像処理装置１は、ステップＳ９において終了条件を満たすか否かを判定する。終了条件は、例えば、画像データを表示する時間または回数であっても良いし、入力装置（図示せず）等から入力される終了指示である。
【００４４】
終了条件を満たさないと判定された場合、ステップＳ３に戻り、画像処理装置１は、応答関数と画素間対応で、元画像データ２２から補正後画像データ２３を生成する。ステップＳ３で用いられる応答関数と画素間対応は、最初のステップＳ３での処理に用いたステップＳ１で生成した初期の応答関数と画素間対応とは異なり、ステップＳ８において、更新された応答関数と画素間対応である場合がある。
【００４５】
ステップＳ４において画像処理装置１は、ステップＳ３で生成した補正後画像データ２３をプロジェクタ２に入力し、プロジェクタ２は補正後画像データ２３を投影対象４に投影する。カメラ３は、補正後画像データ２３が投影対象４に投影された状態を撮影し、ステップＳ５において画像処理装置１は、カメラ３から補正後画像データ２３を取得し、各画素について、ステップＳ６ないしステップＳ８を繰り返す。
【００４６】
なお、先に記載したステップＳ６、すなわち最初に実行するステップＳ６では、風などの影響を受けずに形状変化が生じていない投影対象４について生成された、初期の応答関数を使って投影された補正後画像データ２３の撮影画像データ２４と、目標画像データ２１を比較している。
【００４７】
これに対し、投影対象４に形状変化が生じた画素において応答関数と画素間対応が更新された後のステップＳ６の処理では、直近に応答関数と画素間対応が更新された際の投影対象４の形状と、今回処理する際の投影対象４の形状との差分の程度に応じて、判定される。直近に更新された応答関数と画素間対応を使って投影される補正後画像データ２３に対応する撮影画像データ２４が、目標画像データ２１と差異がない場合、応答関数と画素間対応更新時の投影対象４の形状と、撮影画像データ２４撮影時の投影対象４の形状に差異がなく、適切に補正されていると判定される。
【００４８】
一方、直近に更新された応答関数と画素間対応を使って投影される補正後画像データ２３に対応する撮影画像データ２４が、目標画像データ２１と差異がある場合、撮影画像データ２４の撮影時において、直近で応答関数と画素間対応を更新した時から、投影対象４の形状に変化が生じ、画素間対応および反射率にずれが生じたと考えられる。このような場合、画像処理装置１は、ステップＳ７およびステップＳ８において、直近に更新された応答関数と画素間対応をさらに更新して、元画像データ２２が適切に補正される応答関数と画素間対応を探索する。
【００４９】
このような本発明の実施の形態においては、形状変化が可能な投影対象４に投影する場合でも、応答関数と画素間対応の更新と、更新された応答関数と画素間対応を用いて補正された画像データの投影とを繰り返す。これにより、投影対象４の形状変化に追従して応答関数と画素間対応を逐次更新することができるので、投影対象４の形状変化の影響を受けにくい光学的補正を実現することができる。
【００５０】
（画像処理装置）
図１を参照して、本発明の実施の形態に係る画像処理装置１を説明する。
【００５１】
画像処理装置１は、記憶装置１０、処理装置３０および入出力インタフェース５０を備える一般的なコンピュータである。一般的なコンピュータが所定の処理を実行する画像処理プログラムを実行することにより、図１に示す機能を実現する。
【００５２】
記憶装置１０は、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random access memory）、ハードディスク等であって、処理装置３０が処理を実行するための入力データ、出力データおよび中間データなどの各種データを記憶する。処理装置３０は、ＣＰＵ（Central Processing Unit）であって、記憶装置１０に記憶されたデータを読み書きしたり、入出力インタフェース５０とデータを入出力したりして、画像処理装置１における処理を実行する。本発明の実施の形態においては特に、画像に関する処理について、処理装置３０としてＧＰＵ（Graphics Processing Unit）が用いられても良い。この際、OpenGL（登録商標）などによる三次元グラフィックスライブラリを利用し、GLSL（OpenGL（登録商標） Shading Language）などを用いて、シェーダ上で演算を行っても良い。
【００５３】
記憶装置１０は、所定の処理を実行する画像処理プログラムを記憶するとともに、画素間対応データ１１、エピポーラ線データ１２、応答関数データ１３、目標画像データ２１、元画像データ２２、補正後画像データ２３、撮影画像データ２４、ずれ候補データ２５、反射率データ２６および選択ずれデータ２７を記憶する。
【００５４】
画素間対応データ１１、エピポーラ線データ１２および応答関数データ１３は、後述する前処理部３１によって、プロジェクタ２、カメラ３および投影対象４の位置が決まった際に、予め算出されるデータである。
【００５５】
元画像データ２２は、画像処理装置１の処理対象の画像データである。元画像データ２２を光学的補正した補正後画像データ２３を、プロジェクタ２に入力し、投影させる。目標画像データ２１および補正後画像データ２３は、元画像データ２２から生成されるデータである。撮影画像データ２４は、補正後画像データ２３をプロジェクタ２が投影した状態を、カメラ３が撮影した画像データである。ずれ候補データ２５、反射率データ２６および選択ずれデータ２７は、後述のずれ量決定部３６により出力されるデータである。
【００５６】
処理装置３０は、前処理部３１、目標画像生成部３２、光学的補正部３３、投影画像出力部３４、撮影画像取得部３５、ずれ量決定部３６および応答関数更新部３７を備える。
【００５７】
前処理部３１は、プロジェクタ２、カメラ３および投影対象４の位置が決まった際に、画素間対応データ１１、エピポーラ線データ１２および応答関数データ１３予め算出する。
【００５８】
画素間対応データ１１は、プロジェクタ２に入力される画像データの画素（領域）と、形状変化していない投影対象４に画像データが投影された状態をカメラ３が撮影する画像データの画素（領域）とを対応づけたデータである。プロジェクタ２とカメラ３のそれぞれで用いる画像の座標系が異なるため、前処理部３１は、画素間対応データ１１を生成して、これらの異なる座標系における画素の変換を可能とする。画素間対応データ１１は、具体的には、プロジェクタ２に入力される画像データの各画素について、この画像データの画素の識別子と、カメラ３が撮影する画像データにおいて対応する画素の識別子とを対応づける。ここで、画素の識別子は、例えば、各画像データにおける画素の座標である。本発明の実施の形態において画素間対応データ１１は、投影対象４の形状が変化に伴って、逐次更新される。
【００５９】
前処理部３１は、例えば、テスト画像データをプロジェクタ２に入力して、テスト画像データと、カメラ３が撮影した画像データを対比して、画素間対応データ１１を生成する。なお、前処理部３１は、投影対象４の形状は変化しない状態で、画素間対応データ１１を生成する。
【００６０】
エピポーラ線データ１２は、カメラ３が撮影した画像データにおいて、エピポーラ幾何に基づいて算出されるエピポーラ線Ｅの情報である。前処理部３１は、画素間対応データ１１において対応づけられた各画素についてエピポーラ線Ｅを算出し、各画素のエピポーラ線Ｅの情報を含むエピポーラ線データ１２を生成する。
【００６１】
応答関数データ１３は、画素間対応データ１１において対応づけられた画素について、プロジェクタ２に入力される画像データの値、形状が変化可能な投影対象４の反射率、および投影対象４に画像データが投影された状態をカメラ３が撮影した画像データの値との関係を示す応答関数に関するデータである。応答関数データ１３で用いられる画像データの値は、ＲＧＢで表現される画素値であっても良いし、ＲＧＢの画素値から算出される輝度の値であっても良い。
【００６２】
応答関数データ１３は、プロジェクタ２の特性と投影対象４の模様等を考慮して、元画像データ２２を、プロジェクタ２に入力する補正後画像データ２３に変換するための応答関数のデータである。前処理部３１は、例えば特許文献１などに記載の方法によって応答関数データ１３を生成する。前処理部３１において生成される応答関数は、例えば投影対象４に模様がある場合、その模様による影響を抑制する補正後画像データ２３を生成するために用いられる。本発明の実施の形態において応答関数データ１３は、投影対象４の形状が変化に伴って、逐次更新される。
【００６３】
目標画像生成部３２は、元画像データ２２から、カメラ３で撮影された状態の目標となる目標画像データ２１を生成する。目標画像生成部３２は、元画像データ２２を、プロジェクタ２の特性を考慮した理想的な応答関数に基づいて、目標画像データ２１を生成する。
【００６４】
目標画像データ２１は、カメラ３が撮影した撮影画像データ２４において、適切に光学的補正がなされているか否かを比較する際の比較対象となる。目標画像データ２１は、カメラ３が撮影する画像と同様の座標系で生成される。
【００６５】
光学的補正部３３は、元画像データ２２を、応答関数を用いて光学的補正を行い、補正後画像データ２３を生成する。光学的補正部３３は、応答関数データ１３が特定する応答関数を用いる。具体的には、光学的補正部３３は、まず、前処理部３１が生成した初期の応答関数に基づいて補正後画像データ２３を生成する。その後、投影対象４の形状変化に伴って応答関数と画素間対応が更新されると、更新された応答関数と画素間対応を用いて、元画像データ２２から補正後画像データ２３を生成する。
【００６６】
投影画像出力部３４は、光学的補正部３３が出力した補正後画像データ２３を、プロジェクタ２に入力する。プロジェクタ２は、入力された補正後画像データ２３を投影対象４に投影する。
【００６７】
撮影画像取得部３５は、形状が変化可能な投影対象４にプロジェクタ２が補正後画像データ２３を投影した状態を、カメラ３が撮影した撮影画像データ２４を、取得する。補正後画像データ２３がプロジェクタ２に入力されると、プロジェクタ２は、投影対象４に補正後画像データ２３を投影する。カメラ３は、プロジェクタ２によって投影対象４に撮影された状態を撮影して、撮影画像データ２４を生成する、撮影画像取得部３５は、カメラ３から撮影画像データ２４を取得し、撮影画像データ２４を、記憶装置１０に記憶する。
【００６８】
ずれ量決定部３６は、画素間対応データ１１での処理対象画素の対応関係と、補正後画像データ２３および撮影画像データ２４との各処理対象画素間の対応関係のずれ量および処理対象領域の反射率を決定する。処理対象画素は、補正後画像データ２３のすべての画素であっても良いし、一部の画素であっても良い。処理対象画素が補正後画像データ２３の一部の画素である場合、一部の画素は、撮影画像データ２４の所定画素の値と、画素間対応データ１１において所定画素に対応する目標画像データ２１の領域の値とを比較して、所定の閾値以上の差分のある所定画素である。
【００６９】
直近で応答関数と画素間対応を更新した後、投影対象４の形状が変化しない場合、所定画素について、目標画像データ２１と撮影画像データ２４とで大きな差異は生じない。一方、直近で応答関数と画素間対応を更新した後、投影対象４の形状が変化すると、画素間対応がくずれることにより、所定画素について、目標画像データ２１と撮影画像データ２４とで大きな差異が生じてしまう。本発明の実施の形態においてずれ量決定部３６は、目標画像データ２１と撮影画像データ２４とで、画素値の差異が大きい画素が、投影対象４の形状の変化の影響を受けたと判断して、その画素について、画素間対応を変更して光学的補正を行う。これにより、画像処理装置１の処理負荷を軽減し、効率的に適切な応答関数を算出することが可能になる。
【００７０】
応答関数更新部３７は、ずれ量決定部３６が決定したずれ量および処理対象画素の反射率に従って、応答関数と画素間対応を更新する。応答関数更新部３７は、ずれ量決定部３６が決定したずれ量および処理対象画素の反射率に基づいて、応答関数データ１３の応答関数と、画素間対応データ１１の画素間対応を更新する。その後、光学的補正部３３は、更新された応答関数と画素間対応に従って、元画像データ２２から補正後画像データ２３を生成し、補正後画像データ２３がプロジェクタ２に入力される。
【００７１】
（ずれ量決定部）
本発明の実施の形態に係るずれ量決定部３６の処理の概要を、図５を参照して説明する。
【００７２】
まずステップＳ１１においてずれ量決定部３６は、画素間対応データ１１における画素間対応について、撮影画像データ２４における画素をエピポーラ線Ｅ方向にずらすための、複数のずれ量の候補を生成する。例えば、画素間対応データ１１における対応付けに対して、エピポーラ線Ｅの左側方向に３画素ずらす、０画素ずらす（ずらさない）、右側方向に３画素ずらすなどと、複数のずれ量の候補を生成する。
【００７３】
ステップＳ１２においてずれ量決定部３６は、ステップＳ１１で生成した複数のずれ量の候補のそれぞれについて、応答関数データ１３を参照して反射率を算出する。ステップＳ１１において３つのずれ量の候補を生成した場合、ずれ量決定部３６は、３つのずれ量の候補に対して３つの反射率を算出する。
【００７４】
ステップＳ１３においてずれ量決定部３６は、ステップＳ１２において算出された各ずれ量の候補に対応する反射率から、尤もらしい反射率のずれ量を選択する。ずれ量決定部３６は、例えば、処理対象の画素を含む近傍領域の各画素について、反射率を算出する処理を、各ずれ量の候補について行い、各ずれ量の候補について、近傍領域の各画素の反射率を比較して、最も反射率の分散の少ないずれ量の候補を、尤もらしい反射率のずれ量と推定する。
【００７５】
ずれ量決定部３６は、ステップＳ１３において選択されたずれ量を、補正後画像データ２３および撮影画像データ２４との各処理対象画素間の対応関係のずれ量として、出力する。またステップＳ１２で算出された反射率のうち、決定されたずれ量に対応する反射率も、ずれ量決定部３６は出力する。出力されたずれ量および反射率は、応答関数更新部３７によって処理される。
【００７６】
ずれ量決定部３６は、図１に示すように、ずれ量候補生成部４１、反射率算出部４２、およびずれ量選択部４３を備える。図５のステップＳ１１ないしＳ１３の処理は、それぞれ、ずれ量候補生成部４１、反射率算出部４２およびずれ量選択部４３の処理に対応する。
【００７７】
なお、ずれ量決定部３６の処理は、ＣＰＵを用いても良いが、ＧＰＵを用いても良い。ＧＰＵで並列処理を行うことにより、処理の更なる高速化が期待できるので、通常のＣＰＵを用いる場合と比べて、効果的に処理することが可能になる。
【００７８】
ずれ量候補生成部４１は、補正後画像データ２３および撮影画像データ２４との各処理対象画素間の対応関係のずれ量について、複数のずれ量の候補を生成する。ずれ量候補生成部４１は、撮影画像データ２４における処理対象画素を通るエピポーラ線Ｅ上での、複数のずれ量の候補を生成する。
【００７９】
投影対象４の形状が変化することによって、目標画像データ２１における処理対象の画素と、撮影画像データ２４における画素の対応にずれが生じ、画素間対応データ１１における対応関係に変更が生じてしまう。目標画像データ２１における処理対象画素に対応する撮影画像データ２４における画素は、エピポーラ線Ｅ上でずれることが知られているが、そのずれ量は不明である。そこでずれ量候補生成部４１は、目標画像データ２１の処理対象画素と、撮影画像データ２４の処理対象画素に対応する、複数の画素のずれ量の候補を作成する。ずれ量候補生成部４１は、生成したずれ量の候補の情報を含むずれ候補データ２５を生成し、記憶装置１０に記憶する。
【００８０】
ここで図６を参照して、エピポーラ線Ｅを説明する。エピポーラ幾何において、プロジェクタ２が投影する画像座標のある点ｐは、Ｘ、Ｘ’、Ｘ’’などのいずれで結像されても、カメラ３が撮影した撮影画像データ２４に射影した点ｃ、ｃ’、ｃ’’は、特定の線上で観察されることが知られている。具体的には、プロジェクタ２が投影する画像座標の点ｐによる結像が、ＸからＸ’に変更されると、カメラ３が撮影した撮影画像データ２４への射影は、点ｃからｃ’に変更される。このように、点ｃ、ｃ’、ｃ’’を結ぶことで得られる特定の線を、エピポーラ線Ｅと称する。なお、エピポーラ線Ｅ上の各座標において観察される色は、それぞれ異なる結像位置に対応するので、互いに異なる。なお、カメラ３から見たプロジェクタ２の位置を、エピポーラ点と称する。エピポーラ点は、カメラ３とプロジェクタ２を結んだ直線と画像平面の交点である。
【００８１】
エピポーラ線Ｅは、プロジェクタ２およびカメラ３の位置関係に依存する。投影対象４の形状が変化した場合であっても、処理対象画素は、撮影画像データ２４のエピポーラ線Ｅ上のいずれかの点にずれる。そこで本発明の実施の形態においては、図７に示すように、撮影画像データ２４のエピポーラ線Ｅ上を探索すれば、処理対象画素がずれた位置を特定できることを利用している。
【００８２】
投影対象４の形状が変化することによって、処理対象の画素は、エピポーラ線Ｅ上のいずれかの画素にずれるので、目標画像データ２１における画素と、撮影画像データ２４における画素とにずれが生じ、画素間対応データ１１における画素間対応をそのまま用いることができなくなる。撮影画像データ２４における画素は、エピポーラ線Ｅ上でずれるが、そのずれ量は不明である。そこでずれ量候補生成部４１は、目標画像データ２１の処理対象画素と、処理対象画素に対応する撮影画像データ２４の画素とのずれ量の候補をいくつか生成する。ずれ量候補生成部４１は、生成したずれ量の候補の情報を含むずれ候補データ２５を記憶装置１０に記憶する。ずれ量決定部３６は、各ずれ量の候補が正しいと仮定して処理をする過程で、最も確度の高いずれ量の候補を適切なずれ量として確定する。
【００８３】
ずれ量候補生成部４１は、例えば、同様の光学系および投影対象４で計測されたずれ量に基づいて、ずれ量の候補を生成しても良いし、ランダムにずれ量の候補を生成しても良い。なお、撮影画像データ２４のエピポーラ線Ｅ上でずれが生じるので、ずれ量候補生成部４１は、水平方向および垂直方向の両方向についてのずれ量を特定する必要はなく、所定の方向におけるずれ量についてのみ候補を生成すれば良い。
【００８４】
なお本発明の実施の形態においては、３つのずれ量の候補を生成する場合を説明するがこれに限られない。例えば、画像処理装置１のリソースに余裕があり、プロジェクタ２およびカメラ３との転送速度にも余裕がある場合、さらに多くのずれ量の候補を生成しても良い。また、画像処理装置１のリソース、プロジェクタ２およびカメラ３との転送速度との兼ね合いから、ずれ量候補生成部４１が生成するずれ量の候補の数が任意に設定されても良い。
【００８５】
反射率算出部４２は、画素間対応データ１１での処理対象画素の対応関係を、複数のずれ量の候補のそれぞれについてずらした対応関係のそれぞれに基づいて、応答関数を用いて、複数のずれ量の候補のそれぞれに対応する反射率を算出する。反射率算出部４２は複数のずれ量の候補のそれぞれについて算出した反射率を含む反射率データ２６を、記憶装置１０に記憶する。
【００８６】
ここで反射率算出部４２は、撮影画像データ２４の処理対象画素を通るエピポーラ線Ｅ上で、複数のずれ量の候補のそれぞれについてずらした対応関係のそれぞれに基づいて、複数のずれ量の候補のそれぞれに対応する反射率を算出する。
【００８７】
本発明の実施の形態に係る応答関数は、（式１）である。
【数４】
2019029789.tif 000006
【００８８】
（式１）におけるＰおよびＣの関係を、図８に示す。Ｐは、プロジェクタ２への入力に関し、Ｃは、プロジェクタ２への入力画像を投影対象４に投影した状態を、カメラ３が撮影した際の、カメラ３の出力に関する。
【００８９】
ここで、前処理部３１が応答関数を予め算出するので、プロジェクタ出力特性Ｌは、既知である。投影対象４の形状が変化することに伴い、処理対象画素は、エピポーラ線Ｅ上にずれて色が変わるので、（式１）の応答関数において、反射率Ｋｕ，ｖおよび画素対応ｕ，ｖが変更されることになる。ここで、画素対応ｕ，ｖは、ずれ量候補生成部４１により生成されたずれ量の候補により仮定されるので、（式１）の応答関数から、各ずれ量候補に対する反射率Ｋｕ，ｖを算出することができる。
【００９０】
ここで、撮影画像取得部３５、ずれ量決定部３６および応答関数更新部３７の処理を繰り返す場合、（式２）に示すように、逐次最小二乗法（Recursive Least Square Algorithm： RLS）により、直前の処理で用いた算出結果を用いることにより、精度高く、反射率を算出することが可能になる。（式２）は、所定の元画像データ２２を補正して補正後画像データ２３を生成し、補正後画像データ２３をプロジェクタ２に入力して新たな補正後画像データ２３を生成するように、フィードバックを繰り返す場合に好適である。
【数５】
2019029789.tif 000007
【００９１】
逐次最小二乗法は、他の適応アルゴリズムに比べ、目標までの収束が早い特徴を有するので、逐次最小二乗法により反射率を適切に計算することが可能になる。また（式２）では、直前の処理で用いたＲｔおよびＳｔのみを保持すれば足り、過去の結果を全て保持する必要がない。従って、逐次最小二乗法により、精度向上を実現するとともに、メモリ消費を抑制し、高速処理を実現することが可能になる。
【００９２】
また本発明の実施の形態に係る画像処理装置１は、プロジェクタ２およびカメラ３間のフィードバックを繰り返し、逐次最小二乗法を用いて光学的補正を繰り返す。従って、一度の光学的補正では効果が弱い部分があっても、光学的補正を繰り返すことにより、補正効果の向上が期待できる。
【００９３】
ずれ量候補生成部４１によって生成された複数のずれ量の候補のそれぞれについて、反射率算出部４２は、各ずれ量の候補に従って画素間対応データ１１を変更した画素間対応に基づいて、それぞれ反射率を算出する。
【００９４】
ずれ量選択部４３は、反射率算出部４２による結果に基づいて、ずれ量候補生成部４１が生成した複数のずれ量の候補から、撮影画像データ２４におけるずれ量を選択する。ずれ量選択部４３は、複数のずれ量の候補のそれぞれに対応する反射率を比較して、複数のずれ量の候補から、撮影画像データ２４におけるずれ量を選択する。ずれ量選択部４３は、選択されたずれ量の情報を含む選択ずれデータ２７を生成して、記憶装置１０に記憶する。ずれ量選択部４３が選択するずれ量は、実際のずれ量とは異なる場合もあるが、少なくともずれ量候補生成部４１が生成したずれ量の候補のうち、最も実際のずれ量に近いと推測される。
【００９５】
ずれ量選択部４３が、適切なずれ量を選択する方法はいくつか考えられる。例えば、撮影画像データ２４における近傍画素の各反射率の分散の小さい画像を出力できるずれ量を、適切なずれ量として選択する方法と、各ずれ量から生成された補正画像を比較して、適切なずれ量として選択する方法がある。
【００９６】
まず、複数のずれ量の候補から尤もらしいずれ量を選択する際、反射率の分散を利用する方法を説明する。ずれ量選択部４３は、複数のずれ量の候補のそれぞれに対応する反射率から、処理対象画素に対応する画素を含む近傍領域における反射率の分散が最も小さい反射率を選択し、選択された反射率に対応するずれ量を、適切なずれ量として選択する。
【００９７】
ずれ量選択部４３は、反射率算出部４２が算出した複数のずれ量の候補のそれぞれに対応する反射率から、処理対象画素に対応する画素を含む近傍領域における反射率の分散が最も小さい反射率を選択し、選択された反射率に対応するずれ量を、適切なずれ量として選択する。これは、画素間の対応が正しくない場合、反射率（色）の分散が大きくなることを利用している。例えば、図９（ａ）ないし（ｃ）に示す各画像における各画素の色（反射率）の分散は、図９（ａ）が最も小さい。従って、図９に示す例の場合、ずれ量選択部４３は、―４画素のずれが、投影対象４の形状変化により生じたと判断することができる。
【００９８】
なお、反射率を用いてずれ量を選択する方法を採用する場合、反射率算出部４２は、処理対象画素の反射率のみならず、周辺領域の各画素の反射率も算出するのが好ましい。あるいは、反射率算出部４２が、処理対象画素の反射率のみを算出し、ずれ量選択部４３が、処理対象画素の周辺領域の各画素の反射率を算出しても良い。
【００９９】
次に、各ずれ量から生成された補正画像を比較して、適切なずれ量として選択する方法を説明する。ずれ量選択部４３は、ずれ量候補生成部４１が生成した各ずれ量候補について、反射率算出部４２で算出された各反射率を用いて、補正画像を生成する。ずれ量選択部４３は、各ずれ量候補に対応する補正画像を比較する。ずれ量選択部４３は、図３（ｃ）および（ｄ）で観察される縞模様が観察されてない、あるいは縞模様が少ない補正画像に対応するずれ量候補を、適切なずれ量として選択する。
【０１００】
反射率の分散を利用する方法は、各ずれ量から生成された補正画像を比較して、適切なずれ量を選択する方法と比べて、処理量を抑制できるメリットがある。各ずれ量から生成された補正画像を比較して、適切なずれ量を選択する方法では、算出した反射率を反映した画像データを、ずれ候補の数だけ作成する必要があり、画像処理装置１に負担が生じる場合がある。これに対し反射率の分散を利用する方法は、ずれ候補ごとに、算出した反射率の分散を比較すればよく、補正画像を生成するも必要ないので、画像処理装置１に生じる負担が軽減される。
【０１０１】
このように、ずれ量決定部３６の処理によって、（式１）における応答関数の各パラメータのうち、反射率Ｋｕ，ｖ、プロジェクタ出力特性Ｌおよび画素対応ｕ，ｖが求まり、応答関数更新部３７により、応答関数データ１３と画素間対応データ１１が更新される。従って、光学的補正部３３は、カメラ観測値Ｃｕ，ｖに、目標となる画像の値を設定して、プロジェクタ入力値Ｐｕ，ｖを算出することができる。ここでカメラ観測値Ｃｕ，ｖに設定される、目標となる画像の値は、目標画像データ２１の値であって、カメラ座標系の座標で表現される。このように算出されたプロジェクタ入力値Ｐｕ，ｖは、光学的補正部３３が出力する補正後画像データ２３の画素の値を形成する。
【０１０２】
このように本発明の実施の形態に係る画像処理装置１は、投影対象４の形状が変化し、画素間対応がずれた場合であっても、画素間対応のずれ量の候補を作成し、各候補について反射率を算出して評価する。これにより画像処理装置１は、ずれ量の候補から、尤もらしいずれ量を決定して補正後画像データ２３を出力できるので、投影対象４の形状の変化を抑制した画像を表示することができる。
【０１０３】
（第１の変形例）
本発明の実施の形態において、画像処理装置１が、画素単位で、プロジェクタに入力される画像データの領域と、形状変化していない投影対象に画像データが投影された状態をカメラが撮影する画像データを対応づけて、補正する場合を説明したがこれに限られない。例えば画像処理装置１が、２画素×２画素、８画素×８画素など、複数の画素で構成される複数画素単位で対応づけて、補正しても良い。
【０１０４】
このように、本発明の実施の形態において、画像処理装置１による処理単位となる領域は、１画素で構成されても良いし、複数画素で構成されても良い。
【０１０５】
画素単位で補正する場合、高精細な補正画像を得ることができ、複数の画素単位で補正する場合、処理の高速化が期待できる。画像処理装置１は、画像処理装置１、プロジェクタ２およびカメラ３などの各種機器の性能、元画像データ２２の特性、または投影対象４の特性、画像処理装置１とプロジェクタ２およびカメラ３との接続環境などに応じて、適宜、処理単位となる領域の大きさを設定しても良い。
【０１０６】
（第２の変形例）
本発明の実施の形態においては、プロジェクタ２が静止画を投影する場合を説明したが、映像の各フレームデータについても適用することができる。本発明の実施の形態に係る元画像データ２２が、映像データの一つのフレームデータに対応し、光学的補正部３３が、映像データの複数のフレームデータについて補正を逐次行う処理に適用することができる。
【０１０７】
この場合、光学的補正部３３は、先行するフレームについて算出したずれ量を、後続のフレームに適用して、補正後の後続のフレームを、プロジェクタ２に入力する。また光学的補正部３３は、（式２）におけるＲｔおよびＳｔに、先行のフレームに関する処理結果を適用して、後続のフレームについてＲｔ＋１およびＳｔ＋１を算出する。
【０１０８】
このように本発明の実施の形態に係る画像処理装置１は、静止画を投影対象４に投影中に投影対象４の形状が変化した場合のみならず、映像を投影対象４に投影中に投影対象４の形状が変化した場合にも適用することができる。
【０１０９】
（第３の変形例）
本発明の実施の形態においては、画素間対応データ１１が、プロジェクタ２に入力される画像データの各画素について、この画像データの画素の識別子と、カメラ３が撮影する画像データにおいて対応する画素の識別子とを対応づける場合を説明したが、これに限られない。例えば、画素間対応データ１１は、前処理部３１が算出した画素間対応と、ずれ量決定部３６が決定したずれ量の履歴を含むデータであっても良い。また画素間対応データ１１は、ずれ量決定部３６が決定したずれ量が反映された画素間対応を表す変換関数に関するデータであっても良い。画素間対応データ１１は、前処理部３１が画素間対応データ１１を算出した後に、最新の画素間対応を把握できれば、どのような形式であっても良い。
【０１１０】
（その他の実施の形態）
上記のように、本発明の実施の形態とその第１ないし第３の変形例によって記載したが、この開示の一部をなす論述および図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例および運用技術が明らかとなる。
【０１１１】
例えば、本発明の実施の形態に記載した画像処理装置は、図１に示すように一つのハードウエア上に構成されても良いし、その機能や処理数に応じて複数のハードウエア上に構成されても良い。また、他の処理を行うコンピュータ上に実現されても良い。
【０１１２】
本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【符号の説明】
【０１１３】
１  画像処理装置
２  プロジェクタ
３  カメラ
４  投影対象
９  画像処理システム
１０  記憶装置
１１  画素間対応データ
１２  エピポーラ線データ
１３  応答関数データ
２１  目標画像データ
２２  元画像データ
２３  補正後画像データ
２４  撮影画像データ
２５  ずれ候補データ
２６  反射率データ
２７  選択ずれデータ
３０  処理装置
３１  前処理部
３２  目標画像生成部
３３  光学的補正部
３４  投影画像出力部
３５  撮影画像取得部
３６  ずれ量決定部
３７  応答関数更新部
４１  ずれ量候補生成部
４２  反射率算出部
４３  ずれ量選択部
【図１】
2019029789.tif 000011
【図２】
2019029789.tif 000012
【図３】
2019029789.tif 000013
【図４】
2019029789.tif 000014
【図５】
2019029789.tif 000015
【図６】
2019029789.tif 000016
【図７】
2019029789.tif 000017
【図８】
2019029789.tif 000018
【図９】
2019029789.tif 000019