(57)【要約】  画像処理装置（３０００）は、入力部（３０２０）及び提示部（３０４０）を有する。入力部（３０２０）は、カメラによって撮影された撮像画像に対して、当該カメラの位置及び姿勢を表す所定のカメラパラメータの基で重畳された、実空間上における所定形状及び所定サイズが定められた対象オブジェクトを表す第１画像に対する、撮像画像上における移動の操作の入力を受け付ける。提示部（３０４０）は、上記カメラパラメータの基で、上記移動後の撮像画像上の位置に対応する見え方で、上記対象オブジェクトを表す第１画像を提示する。
2016042926.tif 000002
【特許請求の範囲】
【請求項１】
カメラによって撮影された撮像画像に対して、当該カメラの位置及び姿勢を表す所定のカメラパラメータの基で重畳された、実空間上における所定形状及び所定サイズが定められた対象オブジェクトを表す第１画像に対する、前記撮像画像上における移動の操作の入力を受け付ける入力手段と、
前記カメラパラメータの基で、前記移動後の前記撮像画像上の位置に対応する見え方で前記対象オブジェクトを表す第１画像を提示する提示手段と、
を有する画像処理装置。
【請求項２】
前記入力手段は、前記撮像画像上の第１位置の指定を繰り返し受け付けることで前記移動の操作を受け付け、
前記提示手段は、或る第１位置が指定された際、前記カメラパラメータ、前記対象オブジェクトの実空間上における所定形状及び所定サイズ、並びに前記第１位置に対応する実空間上の第２位置に基づいて、前記対象オブジェクトを前記第２位置に置いた場合に前記カメラパラメータによって定まるカメラに写る前記撮像画像上の前記対象オブジェクトを表す第１画像を生成して、前記撮像画像上の前記第１位置に提示する請求項１に記載の画像処理装置。
【請求項３】
前記提示手段は、
前記第２位置の高さ情報を取得し、
前記カメラパラメータ、前記第１位置、及び前記第２位置の高さ情報に基づいて、前記第２位置を算出する請求項２に記載の画像処理装置。
【請求項４】
前記提示手段は、前記第２位置の高さ情報として、実空間における地表面の高さを示す情報を取得する請求項３に記載の画像処理装置。
【請求項５】
前記提示手段は、前記第２位置の高さ情報として、前記撮像画像上における複数の領域毎に異なる高さの情報を取得する請求項３に記載の画像処理装置。
【請求項６】
前記対象オブジェクトは、平面形状である請求項１乃至５いずれか一項に記載の画像処理装置。
【請求項７】
前記撮像画像に対する点又は線の入力を受け付ける第２入力手段と、
前記カメラパラメータ、前記点又は線の前記撮像画像上の位置、及び前記点又は線の実空間上の高さ情報に基づいて、地表面と平行な面上にマッピングした場合の前記点又は線を表す第２画像を表示する第２表示手段と、
を有する請求項１乃至６いずれか一項に記載の画像処理装置。
【請求項８】
撮像画像上の第１位置の指定を受け付ける入力手段と、
カメラの位置及び姿勢を表す所定のカメラパラメータ、対象オブジェクトの実空間上における所定形状及び所定サイズ、並びに前記第１位置に対応する実空間上の第２位置に基づいて、前記対象オブジェクトを前記第２位置に置いた場合に前記カメラパラメータによって定まるカメラに写る前記撮像画像上の前記対象オブジェクトを表す第１画像を、前記撮像画像上の前記第１位置に提示する提示手段と、
を有する画像処理装置。
【請求項９】
前記入力手段は、複数の第１位置の指定を受け付け、
前記提示手段は、前記複数の第１位置に対応する複数の対象オブジェクトを表す第１画像を、前記撮像画像上で各々対応する第１位置に提示する請求項８に記載の画像処理装置。
【請求項１０】
前記入力手段は、前記第１位置の指定を繰り返し受け付け
前記提示手段は、或る第１位置が指定された時、その第１位置に対応する実空間上の第２位置に置かれた前記対象オブジェクトを表す第１画像を生成して、前記撮像画像上のその第１位置に提示する請求項８又は９に記載の画像処理装置。
【請求項１１】
カメラによって撮影された撮像画像に対する点又は線の入力を受け付ける入力手段と、
カメラの位置及び姿勢を表す所定のカメラパラメータ、前記点又は線の前記撮像画像上の位置、及び前記点又は線の実空間上の高さ情報に基づいて、地表面と平行な面上にマッピングした場合の前記点又は線を表す第１画像を表示する表示手段と、
を有する画像処理装置。
【請求項１２】
コンピュータによって実行される画像処理方法であって、
カメラによって撮影された撮像画像に対して、当該カメラの位置及び姿勢を表す所定のカメラパラメータの基で重畳された、実空間上における所定形状及び所定サイズが定められた対象オブジェクトを表す第１画像に対する、前記撮像画像上における移動の操作の入力を受け付ける入力ステップと、
前記カメラパラメータの基で、前記移動後の前記撮像画像上の位置に対応する見え方で前記対象オブジェクトを表す第１画像を提示する提示ステップと、
を有する画像処理方法。
【請求項１３】
コンピュータによって実行される画像処理方法であって、
撮像画像上の第１位置の指定を受け付ける入力ステップと、
カメラの位置及び姿勢を表す所定のカメラパラメータ、対象オブジェクトの実空間上における所定形状及び所定サイズ、並びに前記第１位置に対応する実空間上の第２位置に基づいて、前記対象オブジェクトを前記第２位置に置いた場合に前記カメラパラメータによって定まるカメラに写る前記撮像画像上の前記対象オブジェクトを表す第１画像を、前記撮像画像上の前記第１位置に提示する提示ステップと、
を有する画像処理方法。
【請求項１４】
コンピュータによって実行される画像処理方法であって、
カメラによって撮影された撮像画像に対する点又は線の入力を受け付ける入力ステップと、
カメラの位置及び姿勢を表す所定のカメラパラメータ、前記点又は線の前記撮像画像上の位置、及び前記点又は線の実空間上の高さ情報に基づいて、地表面と平行な面上にマッピングした場合の前記点又は線を表す第１画像を表示する表示ステップと、
を有する画像処理方法。
【請求項１５】
コンピュータを、請求項１乃至１１いずれか一項に記載の画像処理装置として動作させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理技術に関する。
【背景技術】
【０００２】
施設等を監視する方法の一つとして、その施設等に設置された監視カメラの映像を利用する方法がある。ここで、監視カメラの映像に写っている人又は物の実際のサイズや位置は、カメラの位置及び姿勢に関する情報（以下、カメラパラメータ）とその映像（画像）に写っている人又は物の画像上のサイズや位置を用いて計算することができる。このような計算により、例えば監視カメラの映像に重要人物（事件の犯人など）が写っている場合に、監視カメラの映像を用いてその人物の身長などを把握することが可能となる。【０００３】
上述の目的等で利用するカメラパラメータは、例えばキャリブレーションによって推定される。非特許文献１は、カメラでキャリブレーションパターンを撮影し、実世界におけるキャリブレーションパターンの３次元座標と、撮像した画像上におけるキャリブレーションパターンの２次元座標との対応関係から、カメラの位置及び姿勢を示すカメラパラメータ（カメラの回転と並進）を推定する方法を開示している。【０００４】
また、推定済みのカメラパラメータを入手して利用する場合もある。例えば、過去に対象のカメラについてキャリブレーションを行って算出しておいたカメラパラメータを入手したり、そのカメラを設置した際の位置及び姿勢などの情報に基づいて定義されたカメラパラメータを入手したりすることがある。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】徐剛、辻三郎、「３次元ビジョン」、共立出版、pp.79-82、1998年
【発明の概要】
【発明が解決しようとする課題】
【０００６】
カメラパラメータが対象のカメラの位置及び姿勢などを適切に表せているとは限らない。例えばキャリブレーションによってカメラパラメータを算出する方法では、対応点の入力誤差やレンズ歪み等の原因により、実際のカメラの位置又は姿勢とは異なる位置及び姿勢を表すカメラパラメータが算出されうる。また推定済みのカメラパラメータを入手する場合も、そのカメラパラメータが適切なものであるか否かは分からない。例えば、時間の経過に伴ってカメラの位置や姿勢が変化してしまう可能性があるため、過去に推定したカメラパラメータと現在のカメラの位置又は姿勢とは異なっている場合がある。【０００７】
カメラパラメータが対象のカメラの位置及び姿勢などを正しく表せていないと、例えば前述した監視カメラの映像に写っている重要人物の身長などを算出する場合に算出結果に誤りが生じるといった問題がある。【０００８】
本発明の目的は、以上の課題に鑑みてなされたものである。本発明の目的は、カメラパラメータが適切であるか否かを容易に確認できる技術を提供することである。
【課題を解決するための手段】
【０００９】
本発明が提供する第１の画像処理装置は、カメラによって撮影された撮像画像に対して、当該カメラの位置及び姿勢を表す所定のカメラパラメータの基で重畳された、実空間上における所定形状及び所定サイズが定められた対象オブジェクトを表す第１画像に対する、前記撮像画像上における移動の操作の入力を受け付ける入力手段と、前記カメラパラメータの基で、前記移動後の前記撮像画像上の位置に対応する見え方で前記対象オブジェクトを表す第１画像を提示する提示手段と、を有する。【００１０】
本発明が提供する第２の画像処理装置は、カメラによって撮像された撮像画像を表示する表示手段と、カメラの位置及び姿勢を表すカメラパラメータを取得するパラメータ取得手段と、前記撮像画像上の第１位置の指定を受け付ける入力手段と、前記カメラパラメータ、対象オブジェクトの実空間上における所定形状及び所定サイズ、並びに前記第１位置に対応する実空間上の第２位置に基づいて、前記対象オブジェクトを前記第２位置に置いた場合に前記カメラパラメータによって定まるカメラに写る前記撮像画像上の前記対象オブジェクトを表す第１画像を、前記撮像画像上の前記第１位置に提示する提示手段と、を有する。【００１１】
本発明が提供する第３の画像処理装置は、カメラによって撮像された撮像画像を表示する第１表示手段と、カメラの位置及び姿勢を表すカメラパラメータを取得するパラメータ取得手段と、前記撮像画像に対する点又は線の入力を受け付ける入力手段と、前記カメラパラメータ、前記点又は線の前記撮像画像上の位置、及び前記点又は線の実空間上の高さ情報に基づいて、地表面と平行な面上にマッピングした場合の前記点又は線を表す第１画像を表示する第２表示手段と、を有する。【００１２】
本発明が提供する第１の画像処理方法は、コンピュータによって実行される。当該画像処理方法は、カメラによって撮影された撮像画像に対して、当該カメラの位置及び姿勢を表す所定のカメラパラメータの基で重畳された、実空間上における所定形状及び所定サイズが定められた対象オブジェクトを表す第１画像に対する、前記撮像画像上における移動の操作の入力を受け付ける入力ステップと、前記カメラパラメータの基で、前記移動後の前記撮像画像上の位置に対応する見え方で前記対象オブジェクトを表す第１画像を提示する提示ステップと、を有する。【００１３】
本発明が提供する第２の画像処理方法は、コンピュータによって実行される。当該画像処理方法は、カメラによって撮像された撮像画像を表示する表示ステップと、カメラの位置及び姿勢を表すカメラパラメータを取得するパラメータ取得ステップと、前記撮像画像上の第１位置の指定を受け付ける入力ステップと、前記カメラパラメータ、対象オブジェクトの実空間上の所定形状及び所定サイズ、並びに前記第１位置に対応する実空間上の第２位置に基づいて、前記対象オブジェクトを前記第２位置に置いた場合に前記カメラパラメータによって定まるカメラに写る前記撮像画像上の前記対象オブジェクトを表す第１画像を、前記撮像画像上の前記第１位置に提示する提示ステップと、を有する。【００１４】
本発明が提供する第３の画像処理方法は、コンピュータによって実行される。当該画像処理方法は、カメラによって撮像された撮像画像を表示する第１表示ステップと、カメラの位置及び姿勢を表すカメラパラメータを取得するパラメータ取得ステップと、前記撮像画像に対する点又は線の入力を受け付ける入力ステップと、前記カメラパラメータ、前記点又は線の前記撮像画像上の位置、及び前記点又は線の実空間上の高さ情報に基づいて、地表面と平行な面上にマッピングした場合の前記点又は線を表す第１画像を表示する第２表示ステップと、を有する。【００１５】
本発明が提供するプログラムは、コンピュータを、本発明が提供する第１の画像処理装置、第２の画像処理装置、又は第３の画像処理装置として動作させる。
【発明の効果】
【００１６】
本発明によれば、カメラパラメータが適切であるか否かを容易に確認できる技術が提供される。
【図面の簡単な説明】
【００１７】
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。【００１８】
【図１】実施形態１に係る画像処理装置を例示するブロック図である。
【図２】画像処理装置が所定オブジェクトを撮像画像上に提示した様子を例示する図である。
【図３】実施形態１の画像処理装置が実行する処理の流れを例示するフローチャートである。
【図４】提示部によって第１画像が提示された撮像画像を例示する図である。
【図５】画像処理装置のハードウエア構成を例示するブロック図である。
【図６】平面形状の対象オブジェクトを表す第１画像が撮像画像上に提示されている様子を例示する図である。
【図７】実施形態２に係る画像処理装置を例示するブロック図である。
【図８】第２入力部を介して線が入力された撮像画像を例示する図である。
【図９】地表面を表す平面にマッピングした点線をその平面に対して垂直な方向から見た様子を表す画像を例示する図である。
【図１０】図９（ａ）で示した投影線と共にカメラの位置及び視界が提示された画像を例示する図である。
【図１１】実施形態２の画像処理装置が実行する処理の流れを例示するフローチャートである。
【図１２】撮像画像上に誤差情報が提示される様子を例示する図である。
【図１３】ユーザが撮像画像上で対象オブジェクトを移動させる様子を例示する図である。
【図１４】高さが異なる複数の領域をまたいで対象オブジェクトを移動させる様子を例示する図である。
【図１５】実施形態３に係る画像処理装置を例示するブロック図である。
【図１６】実施形態３の画像処理装置が実行する処理の流れを例示するフローチャートである。
【図１７】図９（ａ）で説明した地表面を表す平面上に、撮像画像上に提示された対象オブジェクトの投影線を例示する図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【００２０】
［実施形態１］
図１は、実施形態１に係る画像処理装置２０００を例示するブロック図である。図１において、矢印は情報の流れを表している。さらに、図１において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
【００２１】
画像処理装置２０００は、表示部２０２０、パラメータ取得部２０４０、入力部２０６０、及び提示部２０８０を有する。
【００２２】
表示部２０２０は、カメラによって撮像された撮像画像を表示する。パラメータ取得部２０４０は、カメラの位置及び姿勢などを表すカメラパラメータを取得する。なお、カメラパラメータにはカメラの位置及び姿勢以外のパラメータが含まれてもよい。カメラの位置及び姿勢以外のカメラパラメータについては後述する。
【００２３】
入力部２０６０は、撮像画像上の第１位置の指定を受け付ける。提示部２０８０は、第１位置に対応する実空間上の第２位置に対象オブジェクトを置いた場合に上記カメラパラメータによって定まるカメラに写る、撮像画像上の対象オブジェクトを表す第１画像を生成する。言い換えれば、第１画像は、上記カメラパラメータによって定まるカメラの視点から見て、対象オブジェクトがどのように見えるのかを表す画像である。また、実空間上の第２位置は、カメラパラメータと第１位置と第２位置の高さ情報から求めることができる。ここで、「対象オブジェクトを第２位置に置く」とは、対象オブジェクトが、撮像画像上の第１位置に対応する実空間上の位置（第２位置）に存在すると仮定することを意味する。提示部２０８０は、上記カメラパラメータ、対象オブジェクトの実空間上における所定形状及び所定サイズ、並びに第２位置を用いて第１画像を生成する。さらに、提示部２０８０は、生成した第１画像を撮像画像上の第１位置に提示する。対象オブジェクトは、平面形状又は立体形状を有する仮想物である。対象オブジェクトに設定される所定サイズ及び所定形状は、現実世界を想定したサイズ及び形状である。これら所定サイズ及び所定形状は、ユーザにより入力されてもよいし、予め画像処理装置２０００の内部又は外部に記憶されていてもよい。
【００２４】
図２を用いて具体的に説明する。図２は、画像処理装置２０００が所定オブジェクトを撮像画像上に提示した様子を例示する図である。図２において、所定オブジェクトは直方体２０である。図２（ａ）は、直方体２０を適当な角度から見た様子を表している。図２（ａ）に示すように、直方体２０のサイズは、横及び縦の長さが 30cm であり、高さが 170cm である。本例における直方体２０は、平均的な人の形状及びサイズを簡略化したオブジェクトである。
【００２５】
図２（ｂ）は、画像処理装置２０００が直方体２０を撮像画像１０上に提示した図である。第１位置３０は、入力部２０６０に対して入力された第１位置を表す。提示部２０８０は、第１位置３０に第１画像４０を提示する。第１画像４０は、実世界における第１位置３０に相当する位置に置かれた直方体２０をカメラパラメータによって定まるカメラによって撮像した場合に、そのカメラに写る直方体２０を擬似的に表す画像である。
【００２６】
＜処理の流れ＞
図３は、実施形態１の画像処理装置２０００が実行する処理の流れを例示するフローチャートである。ステップＳ１０２において、表示部２０２０は、カメラによって撮像された撮像画像を表示する。ステップＳ１０４において、入力部２０６０は、撮像画像上の第１位置の指定を受け付ける。ステップＳ１０６において、パラメータ取得部２０４０は、カメラの位置及び姿勢などを表すカメラパラメータを取得する。ステップＳ１０８において、提示部２０８０は第１画像を生成する。前述したように、第１画像は、第２位置に置いた場合に上記カメラパラメータによって定まるカメラに写るときの、撮像画像上における対象オブジェクトを表す。そしてステップＳ１１０において、提示部２０８０は、生成した第１画像を撮像画像上の第１位置に提示する。
【００２７】
なお、図３に示した処理の流れは一例であり、画像処理装置２０００が実行する処理の流れは図３に示した流れに限定されない。例えば、第１位置の入力を受け付ける処理（ステップＳ１０４）よりも先にカメラパラメータを取得する処理（ステップＳ１０６）が行われてもよい。
【００２８】
＜作用・効果＞
本実施形態によれば、提示部２０８０によって提示されるオブジェクトを画像処理装置２０００のユーザが見ることにより、カメラパラメータが、表示部２０２０よって表示される撮像画像を撮像したカメラ（以下、実カメラ）の位置及び姿勢などを適切に表しているか否かを容易に確かめることができる。以下、図４を用いて詳しく説明する。
【００２９】
図４は、提示部２０８０によって第１画像が提示された撮像画像を例示する図である。図４（ａ）は、パラメータ取得部２０４０によって取得されたカメラパラメータが実カメラの位置及び姿勢と近似する位置及び姿勢を表している場合の図である。一方、図４（ｂ）は、パラメータ取得部２０４０によって取得されたカメラパラメータが実カメラの位置及び姿勢と異なる位置及び姿勢を表している場合の図である。なお図４における対象オブジェクトは、図２の場合と同様に、高さが 170cm、かつ縦及び横の長さがいずれも 30cm である直方体である。
【００３０】
提示部２０８０によって提示される第１画像は、撮像画像に写っている場所に置かれた対象オブジェクトが、カメラパラメータによって表される位置及び姿勢で設置されているカメラによって撮像されたかのように、撮像画像上に提示される。そのため、カメラパラメータが実カメラの位置及び姿勢と近似する位置及び姿勢を表している場合、撮像画像上に写っている人や物などと第１画像を見比べた場合に、大きさや角度による見え方などに違和感がない。例えば、対象オブジェクトの高さは 170cm であるため、対象オブジェクトと人とを比較した場合に、大体同じ程度の高さになると考えられる。
【００３１】
図４では、撮像画像１０に写っている人の横が第１位置として指定されているため、人の横に第１画像４０が提示されている。そして、図４（ａ）では、いずれの位置においても、人と第１画像４０が表す直方体とのサイズがほぼ同じであり、違和感がない。また、図４（ａ）では、人や壁などが、正面斜め上から見下ろされて写っているのと同様に、各第１画像４０によって表される直方体も正面斜め上から見下ろされているようになっており、各直方体の角度による見え方についても違和感が無い。
【００３２】
これに対し、図４（ｂ）では、第１画像４０によって表される直方体のサイズや角度による見え方について違和感がある。例えば、第１画像４０−１０が表す直方体の高さは人の２倍近い高さになっており、第１画像４０−１０は撮像画像１０−２に写っている場所に置かれた高さ 170cm のオブジェクト（直方体２０）を表しているとは言えない。また、撮像画像１０−１に提示されている各第１画像４０が表す直方体と異なり、撮像画像１０−２では全ての直方体について上面が見えており、近くから見下ろしたような見え方となっている。このように、第１画像４０によって表される各直方体のサイズ及び角度から、図４（ｂ）におけるカメラパラメータによって表されるカメラの視線方向の俯角は、実カメラの視線方向の俯角よりも大きくなってしまっていると予想できる。
【００３３】
なお、図４に示すように、ユーザは複数の第１位置を指定して、複数の対象オブジェクトを一つの撮像画像内に配置することができる。
【００３４】
以上のように、本実施形態の画像処理装置２０００によれば、画像処理装置２０００を利用するユーザが提示部２０８０によって提示された第１画像と撮像画像を見比べることにより、パラメータ取得部２０４０によって取得されたカメラパラメータが、撮像画像を撮像したカメラの位置及び姿勢と近似する位置及び姿勢を表しているか否かを容易に把握することができる。撮像画像を撮像したカメラの位置及び姿勢と近似する位置及び姿勢を表していることが確認できれば、ユーザは、そのカメラパラメータと監視カメラの映像との組み合わせを利用してよいと判断できる。逆に、撮像画像を撮像したカメラの位置及び姿勢と近似する位置及び姿勢を表していないことが確認できれば、カメラパラメータの推定を再度行ったり、実カメラの位置や姿勢を修正したりするなどといった対処を行うことができる。
【００３５】
以下、本実施形態の画像処理装置２０００について、さらに詳細に説明する。
【００３６】
＜ハードウエア構成例＞
画像処理装置２０００の各機能構成部は、各機能構成部を実現するハードウエア構成要素（例：ハードワイヤードされた電子回路など）で実現されてもよいし、ハードウエア構成要素とソフトウエア構成要素との組み合わせ（例：電子回路とそれを制御するプログラムの組み合わせなど）で実現されてもよい。
【００３７】
図５は、画像処理装置２０００のハードウエア構成を例示するブロック図である。画像処理装置２０００は、バス１０２０、プロセッサ１０４０、メモリ１０６０、ストレージ１０８０、及び入出力インタフェース１１００を有する。バス１０２０は、プロセッサ１０４０、メモリ１０６０、ストレージ１０８０、及び入出力インタフェース１１００が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ１０４０などを互いに接続する方法は、バス接続に限定されない。プロセッサ１０４０は、例えば CPU (Central Processing Unit) や GPU (Graphics Processing Unit) などの演算処理装置である。メモリ１０６０は、例えば RAM (Random Access Memory) や ROM (Read Only Memory) などのメモリである。ストレージ１０８０は、例えばハードディスク、SSD (Solid State Drive)、又はメモリカードなどの記憶装置である。また、ストレージ１０８０は、RAM や ROM 等のメモリであってもよい。入出力インタフェース１１００は、画像処理装置２０００が入力デバイスや外部の装置等との間でデータを送受信するための入出力インタフェースである。例えば画像処理装置２０００は、入出力インタフェース１１００を介して、撮像画像や第１位置などを取得する。また例えば画像処理装置２０００は、入出力インタフェースを介して、第１画像を提示した撮像画像を出力する。
【００３８】
ストレージ１０８０は、画像処理装置２０００の機能を実現するためのプログラムを記憶している。具体的には、表示部２０２０、パラメータ取得部２０４０、入力部２０６０、及び提示部２０８０の機能をそれぞれ実現するプログラムモジュールを記憶している。プロセッサ１０４０は、これら各プログラムモジュールを実行することで、表示部２０２０、パラメータ取得部２０４０、入力部２０６０、及び提示部２０８０の機能をそれぞれ実現する。ここでプロセッサ１０４０は、上記各モジュールを実行する際、これらのモジュールをメモリ１０６０上に読み出してから実行してもよいし、メモリ１０６０上に読み出さずに実行してもよい。
【００３９】
画像処理装置２０００のハードウエア構成は図５に示した構成に限定されない。例えば、各プログラムモジュールはメモリ１０６０に格納されてもよい。この場合、画像処理装置２０００は、ストレージ１０８０を備えていなくてもよい。
【００４０】
＜カメラパラメータの詳細＞
前述したように、カメラパラメータは、カメラの位置及び姿勢以外のパラメータを含んでもよい。例えばカメラパラメータには、焦点距離、レンズ歪み、又は画像中心の座標など、カメラの内部的な特徴を表す内部パラメータが含まれる。なお、カメラの位置及び姿勢は、カメラの外部的な特徴を表す外部パラメータである。カメラパラメータは、撮像画像上の２次元座標と、実空間上の３次元座標とを対応づけることにより算出できる。
【００４１】
カメラパラメータを用いることにより、撮像画像上の２次元座標と、実空間上の３次元座標とを相互に変換することができる。ただし、撮像画像上の２次元座標だけでは、その２次元座標に対応する実空間上の３次元座標が一意に定まらない。撮像画像上の２次元座標に対応する実空間上の３次元座標を一意に定めるためには、例えばこの３次元座標の x 座標、y 座標、又は z 座標のいずれかを特定する必要がある。本実施形態の画像処理装置２０００では、実空間上の第２位置の高さ情報（ z 座標）を特定することにより、撮像画像上の第１位置に対応する実空間上の第２位置を一意に定めている。なお本実施形態では、カメラ真下の地表面に実空間上の原点を設定し、地表面と並行な横方向、縦方向に x 座標、y 座標を設定し、地表面と垂直な方向に z 座標を設定して説明を進めている。ここで、カメラパラメータを用いて画像上の座標と実空間上の座標とを相互に変換する技術は既知の技術であり、例えば非特許文献１に記載されている。そのため、この技術に関するこれ以上の詳細な説明は省略する。
【００４２】
なお、パラメータ取得部２０４０がカメラパラメータを取得する方法は様々である。例えばパラメータ取得部２０４０は、外部の装置から送信されるカメラパラメータを受信する。また例えば、パラメータ取得部２０４０は、手動によるカメラパラメータの入力を受け付ける。さらに例えば、パラメータ取得部２０４０は、カメラパラメータを記憶している記憶装置からカメラパラメータを読み出す。
【００４３】
＜表示部２０２０の詳細＞
表示部２０２０は、ディスプレイ等の表示画面に撮像画像を表示する。ここで、この表示画面は据え置き型のディスプレイであってもよいし、携帯端末等に備えられている可搬型のディスプレイであってもよい。
【００４４】
＜第１位置の入力方法の詳細＞
入力部２０６０は、撮像画像上の位置を特定できる様々な方法で、第１位置の指定を受け付けることができる。例えば、入力部２０６０は、マウス等の入力デバイスによって撮像画像上の任意の位置を指定する操作（クリック操作など）を受け付ける。また、撮像画像がタッチパネル上に表示されている場合、入力部２０６０は、撮像画像上の任意の位置に対するタッチ入力等を受け付ける。また入力部２０６０は、撮像画像上の位置を表す座標の入力を受け付けてもよい。
【００４５】
＜対象オブジェクトの詳細＞
対象オブジェクトは、例えば予め定められた実空間上のサイズ及び形状を持つオブジェクトである。例えば前述した、「高さ 170cm、かつ縦及び横の長さが 30cm である直方体」という所定の対象オブジェクトを定義する情報が画像処理装置２０００の内部又は外部に予め格納されている。この場合、提示部２０８０は、この所定の対処オブジェクトを利用する。
【００４６】
また画像処理装置２０００は、対象オブジェクトを定義する情報の入力を受け付ける機能を有していてもよい。この場合、対象オブジェクトの実空間上の形状及びサイズの双方を表す情報を受け付けてもよいし、形状又はサイズのいずれかのみを表す情報を受け付けてもよい。後者の場合、例えば対象オブジェクトの形状は予め直方体という形状に定めておき、サイズ（縦及び横の長さ、並びに高さ）の指定をユーザから受け付ける。
【００４７】
なお対象オブジェクトの形状は、直方体に限定されない。例えば対象オブジェクトは錐体や球体であってもよい。また対象オブジェクトは、アバタなど、人や動物などの形状を表すオブジェクトであってもよい。
【００４８】
また、対象オブジェクトは平面形状でもよい。図６は、平面形状の対象オブジェクトを表す第１画像４０を撮像画像１０上に提示する様子を例示する図である。この場合、例えばユーザは、平面の縦及び横の長さを指定する。カメラパラメータが実カメラの位置及び姿勢などを適切に表している場合、提示部２０８０によって提示される第１画像は地表面と平行になる。ユーザは、提示部２０８０によって提示される第１画像４０と撮像画像１０に写っている地表面とを比較し、第１画像４０によって表されている平面が地表面と平行になっているか否かを見ることで、カメラパラメータが実カメラの位置及び姿勢などを適切に表しているか否かを容易に確認できる。また、平面のサイズを指定している為、撮影画像内に写り込む既知のサイズの物体等と、画像上の見えやサイズを比較して違和感を確かめることで、カメラパラメータが実カメラの位置及び姿勢などを適切に表しているか否かを容易に確認できる。
【００４９】
＜提示部２０８０の詳細＞
前述したように、提示部２０８０は、第２位置に置いた場合の対象オブジェクトが、上記カメラパラメータによって定まるカメラに写るときの、撮像画像上の対象オブジェクトを表す画像を生成する。例えば提示部２０８０は、以下のような処理を行う。
【００５０】
まず提示部２０８０は、対象画像上の第１位置に対応する、実空間上の第２位置を算出する。ここで前述したように、対象画像上の第１位置（２次元座標）だけでは、第１位置に対応する実空間上の第２位置（３次元座標）が一意に定まらない。そこで提示部２０８０は、第２位置の高さを表す情報（第２位置の z 座標）を取得する。例えば第２位置の高さ情報は、実空間上における地表面の高さ（z = 0）を表す。このように第２位置の高さ情報を特定することで、対象画像上の第１位置に対応する実空間上の位置が一意に定まる。ここで、提示部２０８０は、第１位置を表す２次元座標、第２位置の高さ情報、及びカメラパラメータを用いることで、第２位置の３次元座標を算出する。前述したように、これらの情報を用いることで、撮像画像上の２次元座標を実空間上の３次元座標に変換することができる。なお、第２位置の高さ情報は、予め提示部２０８０に与えられていてもよいし、外部から入力されてもよい。または、第２位置の高さ情報は、対象画像内における複数の領域毎に異なる高さとして設定されてもよい。
【００５１】
次に提示部２０８０は、撮像画像上に提示する対象オブジェクトを表す第１画像を生成する。例えば対象オブジェクトが直方体や錐体の場合、提示部２０８０は、第１画像を生成するために、撮像画像上に提示する対象オブジェクトの各頂点の座標を算出する。具体的には、提示部２０８０は、カメラパラメータを用いて、対象オブジェクトを実空間上の第２位置に置いた場合における各頂点の３次元座標を、撮像画像上における各頂点の２次元座標に変換する。そして、提示部２０８０は、各頂点を直線などで結ぶことにより、第１画像を生成する。
【００５２】
なお、実空間に置く対象オブジェクトの角度は任意である。例えば提示部２０８０は、実空間を表す xyz 空間において、対象オブジェクトの横の辺が x 軸と平行であり、縦の辺が y 軸と平行であり、高さ方向の辺が z 軸と平行であるように、対象オブジェクトが第２位置に置かれたとみなす。これらの辺の方向は、予め定められていてもよいし、ユーザによる指定を受け付けてもよい。例えば、図６の撮像画像１０において、平面形状の対象オブジェクトを利用する場合、縦方向の辺を地表面上のラインに合わせるようにすることで、対象オブジェクトと地表面とが平行であるか否かの判断をより容易に行えるようになる。このほか、例えば、対象オブジェクトに実空間上における所定幅の格子が描かれている場合、対象オブジェクトの縦方向の辺を大きさが既知な床面のタイルのラインなどに合わせることでタイルの大きさを測ることができる。大きさを確認することで判断をより容易に行えるようになる。そこで例えば、画像処理装置２０００は、ユーザが、マウス等を用いて撮像画像１０上に提示している対象オブジェクトを回転できるようにする。例えば画像処理装置２０００は、撮像画像１０上に提示されている対象オブジェクト又はその周辺がマウス等でドラッグされた場合、そのドラッグの向きに応じて、対象オブジェクトを回転させる向きを決定する。例えば左方向にドラッグされた場合の回転方向を時計回りとし、右方向にドラッグされた場合の回転方向を反時計回りとする。また画像処理装置２０００は、そのドラッグの距離に応じて、対象オブジェクトを回転させる角度を決定する。この場合、ドラッグの距離と回転させる角度との関係を予め定義しておく。そして、画像処理装置２０００は、第２位置を通る直線（例えば z 軸に平行な直線）を回転軸とし、決定した向き及び角度で対象オブジェクトを回転させる。そしてユーザは、対象オブジェクトの縦の辺が地表面上のラインに沿うようにした後、撮像画像１０上の対象オブジェクトと地表面とを比較する。なお、第２位置は、対象オブジェクトの内部の点に限定されず、外部にあってもよい。
【００５３】
さらに提示部２０８０は、対象オブジェクトを撮像画像１０上で移動させる操作を受け付けてもよい。例えばユーザは、「マウスの右ボタンで撮像画像１０上をドラッグする」などの操作により、撮像画像１０上で対象オブジェクトを移動させる。このとき入力部２０６０は、移動するマウスポインタの位置を、前述の第１位置として繰り返し取得する。例えばこの取得は、所定の時間間隔で行われる。提示部２０８０は、入力部２０６０によって新たに取得された撮像画像１０上の第１位置に、その第１位置及び固定的に得られるカメラパラメータ及び第２位置の高さ情報に基づいて新たに生成された第１画像４０を提示する。さらに提示部２０８０は、この第１位置よりも前に取得された第１位置に提示していた第１画像４０を撮像画像１０上から削除する。こうすることでユーザの視点からは、撮像画像１０に写っている空間上を対象オブジェクトが移動しているように見える。
【００５４】
図１３は、ユーザが撮像画像１０上で対象オブジェクトを移動させる様子を例示する図である。図１３において、軌跡１７０は、ユーザが対象オブジェクトを移動させた軌跡を表す。第１位置３０−１から第１位置３０−５はそれぞれ、軌跡１７０上の位置を表す。第１画像４０−１から第１画像４０−５はそれぞれ、第１位置３０−１から第１位置３０−５において提示される第１画像４０を表す。ここで、点線で描かれている第１画像４０は、既に撮像画像１０上から消えている第１画像４０を表し、実線で描かれている第１画像４０は、現在提示されている第１画像４０を表す。図１３において、現在指定されている第１位置３０は第１位置３０−５であるため、第１画像４０−５が提示されており、第１画像４０−１から第１画像４０−４は消えている。
【００５５】
例えば図１３に表されているように、ユーザは、撮像画像１０上に写っている人物などの横を通るように対象オブジェクトを移動させることで、対象オブジェクトの見え方に違和感がないかどうかを確認する。図１３の場合、どの人物の横に対象オブジェクトを移動させても対象オブジェクトの大きさや向きについて違和感がなければ、パラメータ取得部２０４０によって取得されたカメラパラメータが撮像画像１０を撮像したカメラの位置及び姿勢と近似する位置及び姿勢を表していると考えられる。このような移動操作が提供されることにより、ユーザは、対象オブジェクトの見え方に違和感がないかどうかを、撮像画像１０上の様々な位置について容易に検証できる。特に連続的に移動して対象オブジェクトの見え方を提供することにより、人間の視覚による正当性や違和感がより強調され、検証に対して有効に機能する。
【００５６】
また、例えば図１４に表されているように、階段のように段差のある領域を映した撮影画像において、段差のある領域毎に高さ情報を設定してもよい。その場合、図１４に軌跡を示すように、画像上で対象オブジェクトを移動させることで、ユーザは、段差を含めてシームレスに対象オブジェクトの見え方に違和感がないかどうかを、容易に検証できる。
【００５７】
［実施形態２］
図７は、実施形態２に係る画像処理装置２０００を例示するブロック図である。図７において、矢印は情報の流れを表している。さらに図７において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
【００５８】
実施形態２の画像処理装置２０００は、表示部２０２０、パラメータ取得部２０４０、第２入力部２１００、及び第２表示部２１２０を有する。本実施形態の表示部２０２０、パラメータ取得部２０４０が持つ機能はそれぞれ、実施形態１で説明した表示部２０２０、パラメータ取得部２０４０が持つ機能と同様である。
【００５９】
第２入力部２１００は、表示部２０２０によって表示された撮像画像に対する点又は線の入力を受け付ける。第２表示部２１２０は、カメラパラメータ、入力された点又は線の撮像画像上の位置、及び入力された点又は線の実空間上の高さ情報に基づいて、地表面と平行な平面上にマッピングした場合における上記点又は線を表す画像を表示する。言い換えれば、第２表示部２１２０は、その入力された撮像画像内の点又は線がその撮像画像を撮像したカメラの視界内に存在すると仮定した場合に、そのカメラの視界内に存在すると仮定された点又は線を地表面と平行な平面にマッピングした画像を表示する。第２表示部２１２０は、表示部２０２０によって撮像画像が表示されているディスプレイ等と同じディスプレイ等に対して表示を行ってもよいし、異なるディスプレイ等に対して表示を行ってもよい。
【００６０】
入力された点又は線の実空間上の高さ情報は、予め第２表示部２１２０に与えられていてもよいし、これら点又は線と共に第２入力部２１００に対して入力されてもよい。入力された点又は線の実空間上の高さ情報を予め第２表示部２１２０に与えておく場合、例えばこの高さ情報を実空間上における地面の高さ（例えば、高さ情報（ z 座標）＝０）とする。
【００６１】
前述したように、第２表示部２１２０は、撮像画像上における点又は線を、実空間上における地表面と平行な平面上にマッピングする。まず、点のマッピング方法について説明する。第２表示部２１２０は、撮像画像上の点の２次元座標を、実空間上の３次元座標に変換する。ここで前述したように、撮像画像上の２次元座標に対応する実空間上の３次元座標は一意に定まらない。そこで第２表示部２１２０は、入力された点の高さ情報を利用する。具体的には、入力された点の実空間上における高さ情報を、与えられた高さ情報であるとする。これにより、第２表示部２１２０は、撮像画像上の２次元座標を、実空間上の３次元座標に一意に変換できる。実空間上における地表面と平行な平面上における入力された点の位置は、算出した３次元座標のうち、横方向の座標と縦方向の座標（高さを示す z 座標を除く、x 座標とy 座標）で表される。
【００６２】
なお実施形態１で説明したように、カメラパラメータ、撮像画像上の点の２次元座標、及びその点の実空間上における高さ情報に基づいてその２次元座標に対応する実空間上の３次元座標を算出する技術は、既知の技術である。そのため、この技術に関する詳細な説明は省略する。
【００６３】
撮像画像上に入力された線を、実空間上における地表面と平行な平面上にマッピングする処理の原理は、上述した点をマッピングする処理の原理と同様である。例えば第２表示部２１２０は、入力された線上にある２つ以上の点（例えば両端の点）をそれぞれ、実空間上における地表面と平行な平面上にマッピングする。そして、第２表示部２１２０は、マッピングされたこれらの点を直線などの線で結ぶ。このようにすることで、撮像画像上に入力された線が、実空間上における地表面と平行な平面上にマッピングされる。
【００６４】
以下、実施形態２の画像処理装置２０００の利用方法を説明する。
【００６５】
例えば画像処理装置２０００のユーザは、実世界上における模様や、壁と地表面との境目などをなぞった線を第２入力部２１００に対して入力する。図８は、第２入力部２１００を介して線が入力された撮像画像１０を例示する図である。点線９０は、第２入力部２１００に対して入力された線を表す。模様１００は、撮像画像に写っている実世界上において地表面に引かれているラインである。模様１００−１と模様１００−２は、実世界上において互いに平行なラインである。境目１１０は、撮像画像に写っている実世界上における壁と地表面との境目である。境目１１０−１と境目１１０−２は、実世界上において互いに垂直に交わっている。
【００６６】
第２表示部２１２０は、点線９０を地表面と平行な平面上にマッピングする。そして、第２表示部２１２０は、地表面と平行な平面上にマッピングした点線９０を、その平面に対して垂直な方向から見た様子を表示する。図９は、地表面を表す平面にマッピングした点線９０をその平面に対して垂直な方向から見た様子を表す画像を例示する図である。ここで、図９（ａ）は、カメラパラメータが実カメラの位置及び姿勢と近似する位置及び姿勢を表している場合の図である。ここで前述したように、実世界において（撮像画像に写っている場所において）、模様１００−１と模様１００−２は互いに平行に引かれたラインである。そのため、カメラパラメータが実カメラの位置及び姿勢と近似する位置及び姿勢を表している図９（ａ）において、点線９０−１を地表面を表す平面上にマッピングした投影線１２０−１と、点線９０−２を地表面を表す平面上にマッピングした投影線１２０−２とは、互いに平行又は平行に近くなる。また前述したように、実世界において（撮像画像に写っている場所において）、境目１１０−３と境目１１０−４は互いに垂直に交わる。そのため図９（ａ）において、点線９０−３を地表面を表す平面上にマッピングした投影線１２０−３と、点線９０−４を地表面を表す平面上にマッピングした投影線１２０−４とは、互いに垂直又は垂直に近い角度で交わる。
【００６７】
一方、図９（ｂ）は、カメラパラメータが実カメラの位置及び姿勢と異なる位置及び姿勢を表している場合の図である。この場合、投影線１２０−１と投影線１２０−２とが平行又は平行に近い関係にならなかったり、投影線１２０−３と投影線１２０−４とが垂直又は垂直に近い関係にならなかったりする。
【００６８】
このように、図８に示した撮像画像を用いるユーザは、実世界上における関係が既知又は予測しやすい模様１００や境目１１０などを利用し、これらが第２表示部２１２０によって表示された結果を見ることで、カメラパラメータが実カメラの位置及び姿勢などを適切に表しているか否かを容易に確認することができる。
【００６９】
なお、地表面上の模様などを利用する方法は、上述の方法に限定されない。例えば、模様１００−１上に複数の点を入力し、これら複数の点が直線上に配置されているか否かを確認したりする方法が考えられる。
【００７０】
また、本実施形態の画像処理装置２０００は、実施形態１において撮像画像上に提示されている対象オブジェクトを、上記平面上にマッピングして提示してもよい。図１７は、図９（ａ）で説明した地表面を表す平面上に、撮像画像上に提示された対象オブジェクトの投影線１８０を例示する図である。図１７（ａ）は、静止している対象オブジェクトを表す第１画像が撮像画像上に提示されている場合（例：図２（ｂ））に、その対象オブジェクトの投影線１８０を提示するケースである。一方、図１７（ｂ）は、対象オブジェクトを移動させる操作が行われている場合（例：図１３）において、撮像画像上における対象オブジェクトの移動に合わせて、その対象オブジェクトの投影線１８０を移動させるケースである。ここで、軌跡１９０は、投影線１８０の移動の軌跡を表している。
【００７１】
さらに、撮像画像の地表面に本来の形状が分かるもの（マンホールなど）が写っている場合、第２入力部２１００に対してその形状をなぞる線を入力してもよい。カメラパラメータが実カメラの位置及び姿勢と近似する位置及び姿勢を表している場合、第２表示部２１２０によって表示される線の形状は、なぞった物の本来の形状に近い形状を表す。例えば撮像画像上に写っているマンホールをなぞるように線を入力した場合、第２表示部２１２０によって表示される線の形状は正円又は正円に近い形状となる。一方、カメラパラメータが実カメラの位置及び姿勢と異なる位置及び姿勢を表している場合、第２表示部２１２０によって提示される線の形状は、正円とは異なる形状（例えば楕円形）になる。
【００７２】
また、第２表示部２１２０は、地表面と平行な平面上にマッピングされた点や線と共に、カメラの位置や視界を画像上に提示してもよい。図１０は、図９（ａ）で示した投影線と共にカメラの位置及び視界が提示された画像を例示する図である。図１０において、カメラ位置１５０はカメラの位置を表しており、視界１６０はカメラの視界を表している。
【００７３】
実施形態２の画像処理装置２０００を扱うシステム設定者等は、地表面と平行な平面上にマッピングされた点や線の位置関係を見ることで、カメラパラメータが実カメラの位置及び姿勢などを適切に表しているか否かを確認する。ここで、図１０のように、地表面と平行な平面上にマッピングされた点や線と共にカメラの位置や視界を提示すると、システム設定者等は、マッピングされた点や線とカメラの位置や視界との位置関係とをさらに把握できるようになる。そのため、システム設定者等は、カメラパラメータが実カメラの位置及び姿勢などを適切に表しているか否かをより容易かつ正確に確認できるようになる。
【００７４】
＜処理の流れ＞
図１１は、実施形態２の画像処理装置２０００が実行する処理の流れを例示するフローチャートである。なお、ステップＳ１０２及びＳ１０６で行われる処理は、図３のステップＳ１０２及びＳ１０６で行われる処理と同様の処理である。ステップＳ２０２において、第２入力部２１００は、表示部２０２０によって表示された撮像画像に対する点又は線の入力を受け付ける。ステップＳ２０４において、第２表示部２１２０は、地表面と平行な平面上にマッピングした場合における上記点又は線を表す画像を表示する。
【００７５】
＜作用・効果＞
本実施形態の画像処理装置２０００によれば、ユーザは撮像画像に対して本来の形状や位置関係が特定しやすい線などを入力し、第２表示部２１２０によって表示される線などが本来の形状や位置関係を満たしているか否かを見ることで、カメラパラメータが実カメラの位置及び姿勢などを適切に表しているか否かを容易に確認することができる。
【００７６】
［実施形態３］
図１５は、実施形態３に係る画像処理装置３０００を例示するブロック図である。図１５において、矢印は情報の流れを表している。さらに図１５において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
【００７７】
実施形態３の画像処理装置３０００は、入力部３０２０及び提示部３０４０を有する。入力部３０２０は、カメラによって撮像された撮像画像上に提示されている第１画像を移動させる操作の入力を受け付ける。第１画像は、上記カメラの位置及び姿勢を表す所定のカメラパラメータに基づき、実空間上における所定形状及び所定サイズが定められた対象オブジェクトを撮像画像上に重畳した画像である。例えば第１画像が提示されている撮像画像上の位置を位置Ａとおくと、この第１画像は、実施形態１の画像処理装置２０００において、位置Ａを第１位置として指定した場合に提示部２０８０によって提示される第１画像に相当する。なお、実施形態３における対象オブジェクトは、実施形態１で説明した対象オブジェクトと同様である。また、実施形態３における所定のカメラパラメータは、実施形態１で説明したカメラパラメータと同様である。
【００７８】
提示部３０４０は、上記カメラパラメータの基で、移動後の撮像画像上の位置に対応する見え方で、対象オブジェクトを表す第１画像を提示する。提示部３０４０が移動される対象オブジェクトに対応する第１画像を提示する方法は、実施形態１で説明した「提示部２０８０が、撮像画像１０上で移動される対象オブジェクトに対応する第１画像４０を提示する方法」と同様である。
【００７９】
画像処理装置３０００のハードウエア構成は、画像処理装置２０００のハードウエア構成と同様である。
【００８０】
＜処理の流れ＞
図１６は、実施形態３の画像処理装置３０００が実行する処理の流れを例示するフローチャートである。ステップＳ３０２において、入力部３０２０は、撮像画像上に重畳された第１画像に対する移動の操作の入力を受け付ける。ステップＳ３０４において、提示部３０４０は、カメラパラメータの基で、移動後の撮像画像上の位置に対応する見え方で前記対象オブジェクトを表す第１画像を提示する。
【００８１】
なお、図１６に示した処理の流れは一例であり、画像処理装置３０００が実行する処理の流れは図１６に示した流れに限定されない。
【００８２】
＜作用・効果＞
本実施形態によれば、例えば図１３や図１４に表されているように、ユーザは、撮像画像１０上に写っている人物などの横を通るように対象オブジェクトを移動させることで、対象オブジェクトの見え方に違和感がないかどうかを容易に確認できる。特に、連続的に移動して対象オブジェクトの見え方を提供することにより、人間の視覚による正当性や違和感がより強調され、検証に対して有効に機能する。
【００８３】
［変形例］
画像処理装置２０００は、次のような機能を有していてもよい。以下の機能を有する画像処理装置２０００を変形例１の画像処理装置２０００と表記する。なお、変形例１の画像処理装置２０００は、上述した実施形態１や２の画像処理装置２０００が有する機能を有していてもよいし、有していなくてもよい。
【００８４】
前述したように、カメラパラメータの推定には、「カメラでキャリブレーションパターン又はそれに相当するものを撮影し、実世界におけるキャリブレーションパターンの３次元座標と、撮像した画像上におけるキャリブレーションパターンの２次元座標との対応関係に基づいて推定する」といった手法が利用される（非特許文献１）。具体的には、推定したカメラパラメータを用いて実世界におけるキャリブレーションパターンの３次元座標を撮像画像上に投影した場合の２次元座標と、撮像画像に写っているキャリブレーションパターンの２次元座標との間の誤差（再投影誤差）を小さくするように、カメラパラメータを算出する。例えば、誤差の二乗和が最小になるようにカメラパラメータの推定値を算出する方法などがある。
【００８５】
通常、画像処理装置２０００を扱うシステム設定者等が上述のキャリブレーションを利用してカメラパラメータを推定する作業を行う場合、システム設定者等が見るのは推定結果であるカメラパラメータのみであり、途中経過である上記誤差を見ることはない。しかし、途中経過である上記誤差をシステム設定者等に見せることで、カメラパラメータの推定の精度を高めることができると考えられる。例えば誤差が大きい位置が撮像画像の端の方に集中している場合、対応点の入力誤差やレンズ歪みが原因で誤差が大きくなっていると考えられる。このような場合、画像の端から所定距離以内の位置で撮像されたキャリブレーションパターンをカメラパラメータの推定に利用しないようにキャリブレーションパターンの選び方を変更することで、カメラパラメータの精度を上げることができる。
【００８６】
そこで画像処理装置２０００は、キャリブレーションパターンを撮像した位置それぞれについて、その位置に対応する撮像画像上の位置の周辺に、その位置で撮像したキャリブレーションパターンについての上記誤差を提示する。図１２は、撮像画像上に誤差を表す情報（誤差情報１４０）が提示される様子を例示する図である。図１２では、キャリブレーションパターンを得るために人が利用されている。具体的には、ほぼ直立した人の足下と頭を結ぶ線１３０がキャリブレーションパターンとして用いられている。そして、線１３０の横に提示されている誤差情報１４０は、その線１３０に対応する再投影誤差を示している。
【００８７】
なお画像処理装置２０００は、実施形態２で説明した手法により、上記キャリブレーションパターンを地表面上にマッピングし、地表面上にマッピングしたキャリブレーションパターンに対応付けて上記誤差を表示してもよい。
【００８８】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
【００８９】
以下、参考形態の例を付記する。
１．  カメラによって撮影された撮像画像に対して、当該カメラの位置及び姿勢を表す所定のカメラパラメータの基で重畳された、実空間上における所定形状及び所定サイズが定められた対象オブジェクトを表す第１画像に対する、前記撮像画像上における移動の操作の入力を受け付ける入力手段と、
前記カメラパラメータの基で、前記移動後の前記撮像画像上の位置に対応する見え方で前記対象オブジェクトを表す第１画像を提示する提示手段と、
を有する画像処理装置。
２．  前記入力手段は、前記撮像画像上の第１位置の指定を繰り返し受け付けることで前記移動の操作を受け付け、
前記提示手段は、或る第１位置が指定された際、前記カメラパラメータ、前記対象オブジェクトの実空間上における所定形状及び所定サイズ、並びに前記第１位置に対応する実空間上の第２位置に基づいて、前記対象オブジェクトを前記第２位置に置いた場合に前記カメラパラメータによって定まるカメラに写る前記撮像画像上の前記対象オブジェクトを表す第１画像を生成して、前記撮像画像上の前記第１位置に提示する１．に記載の画像処理装置。
３．  前記提示手段は、
前記第２位置の高さ情報を取得し、
前記カメラパラメータ、前記第１位置、及び前記第２位置の高さ情報に基づいて、前記第２位置を算出する２．に記載の画像処理装置。
４．  前記提示手段は、前記第２位置の高さ情報として、実空間における地表面の高さを示す情報を取得する３．に記載の画像処理装置。
５．  前記提示手段は、前記第２位置の高さ情報として、前記撮像画像上における複数の領域毎に異なる高さの情報を取得する３．に記載の画像処理装置。
６．  前記対象オブジェクトは、平面形状である１．乃至５．いずれか一つに記載の画像処理装置。
７．  前記撮像画像に対する点又は線の入力を受け付ける第２入力手段と、
前記カメラパラメータ、前記点又は線の前記撮像画像上の位置、及び前記点又は線の実空間上の高さ情報に基づいて、地表面と平行な面上にマッピングした場合の前記点又は線を表す第２画像を表示する第２表示手段と、
を有する１．乃至６．いずれか一つに記載の画像処理装置。
８．  撮像画像上の第１位置の指定を受け付ける入力手段と、
カメラの位置及び姿勢を表す所定のカメラパラメータ、対象オブジェクトの実空間上における所定形状及び所定サイズ、並びに前記第１位置に対応する実空間上の第２位置に基づいて、前記対象オブジェクトを前記第２位置に置いた場合に前記カメラパラメータによって定まるカメラに写る前記撮像画像上の前記対象オブジェクトを表す第１画像を、前記撮像画像上の前記第１位置に提示する提示手段と、
を有する画像処理装置。
９．  前記入力手段は、複数の第１位置の指定を受け付け、
前記提示手段は、前記複数の第１位置に対応する複数の対象オブジェクトを表す第１画像を、前記撮像画像上で各々対応する第１位置に提示する８．に記載の画像処理装置。
１０．  前記入力手段は、前記第１位置の指定を繰り返し受け付け
前記提示手段は、或る第１位置が指定された時、その第１位置に対応する実空間上の第２位置に置かれた前記対象オブジェクトを表す第１画像を生成して、前記撮像画像上のその第１位置に提示する８．又は９．に記載の画像処理装置。
１１．  カメラによって撮影された撮像画像に対する点又は線の入力を受け付ける入力手段と、
カメラの位置及び姿勢を表す所定のカメラパラメータ、前記点又は線の前記撮像画像上の位置、及び前記点又は線の実空間上の高さ情報に基づいて、地表面と平行な面上にマッピングした場合の前記点又は線を表す第１画像を表示する表示手段と、
を有する画像処理装置。
１２．  コンピュータによって実行される画像処理方法であって、
カメラによって撮影された撮像画像に対して、当該カメラの位置及び姿勢を表す所定のカメラパラメータの基で重畳された、実空間上における所定形状及び所定サイズが定められた対象オブジェクトを表す第１画像に対する、前記撮像画像上における移動の操作の入力を受け付ける入力ステップと、
前記カメラパラメータの基で、前記移動後の前記撮像画像上の位置に対応する見え方で前記対象オブジェクトを表す第１画像を提示する提示ステップと、
を有する画像処理方法。
１３．  前記入力ステップは、前記撮像画像上の第１位置の指定を繰り返し受け付けることで前記移動の操作を受け付け、
前記提示ステップは、或る第１位置が指定された際、前記カメラパラメータ、前記対象オブジェクトの実空間上における所定形状及び所定サイズ、並びに前記第１位置に対応する実空間上の第２位置に基づいて、前記対象オブジェクトを前記第２位置に置いた場合に前記カメラパラメータによって定まるカメラに写る前記撮像画像上の前記対象オブジェクトを表す第１画像を生成して、前記撮像画像上の前記第１位置に提示する１２．に記載の画像処理方法。
１４．  前記提示ステップは、
前記第２位置の高さ情報を取得し、
前記カメラパラメータ、前記第１位置、及び前記第２位置の高さ情報に基づいて、前記第２位置を算出する１３．に記載の画像処理方法。
１５．  前記提示ステップは、前記第２位置の高さ情報として、実空間における地表面の高さを示す情報を取得する１４．に記載の画像処理方法。
１６．  前記提示ステップは、前記第２位置の高さ情報として、前記撮像画像上における複数の領域毎に異なる高さの情報を取得する１４．に記載の画像処理方法。
１７．  前記対象オブジェクトは、平面形状である１２．乃至１６．いずれか一つに記載の画像処理方法。
１８．  前記撮像画像に対する点又は線の入力を受け付ける第２入力ステップと、
前記カメラパラメータ、前記点又は線の前記撮像画像上の位置、及び前記点又は線の実空間上の高さ情報に基づいて、地表面と平行な面上にマッピングした場合の前記点又は線を表す第２画像を表示する第２表示ステップと、
を有する１２．乃至１７．いずれか一つに記載の画像処理方法。
１９．  コンピュータによって実行される画像処理方法であって、
撮像画像上の第１位置の指定を受け付ける入力ステップと、
カメラの位置及び姿勢を表す所定のカメラパラメータ、対象オブジェクトの実空間上における所定形状及び所定サイズ、並びに前記第１位置に対応する実空間上の第２位置に基づいて、前記対象オブジェクトを前記第２位置に置いた場合に前記カメラパラメータによって定まるカメラに写る前記撮像画像上の前記対象オブジェクトを表す第１画像を、前記撮像画像上の前記第１位置に提示する提示ステップと、
を有する画像処理方法。
２０．  前記入力ステップは、複数の第１位置の指定を受け付け、
前記提示ステップは、前記複数の第１位置に対応する複数の対象オブジェクトを表す第１画像を、前記撮像画像上で各々対応する第１位置に提示する１９．に記載の画像処理方法。
２１．  前記入力ステップは、前記第１位置の指定を繰り返し受け付け
前記提示ステップは、或る第１位置が指定された時、その第１位置に対応する実空間上の第２位置に置かれた前記対象オブジェクトを表す第１画像を生成して、前記撮像画像上のその第１位置に提示する１９．又は２０．に記載の画像処理方法。
２２．  コンピュータによって実行される画像処理方法であって、
カメラによって撮影された撮像画像に対する点又は線の入力を受け付ける入力ステップと、
カメラの位置及び姿勢を表す所定のカメラパラメータ、前記点又は線の前記撮像画像上の位置、及び前記点又は線の実空間上の高さ情報に基づいて、地表面と平行な面上にマッピングした場合の前記点又は線を表す第１画像を表示する表示ステップと、
を有する画像処理方法。
２３．  コンピュータを、１．乃至１１．いずれか一つに記載の画像処理装置として動作させるプログラム。
【００９０】
この出願は、２０１４年９月１９日に出願された日本出願特願２０１４−１９１４８０号、及び２０１４年１２月１９日に出願された日本出願特願２０１４−２５７１３７号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
2016042926.tif 000003
【図２】
2016042926.tif 000004
【図３】
2016042926.tif 000005
【図４】
2016042926.tif 000006
【図５】
2016042926.tif 000007
【図６】
2016042926.tif 000008
【図７】
2016042926.tif 000009
【図８】
2016042926.tif 000010
【図９】
2016042926.tif 000011
【図１０】
2016042926.tif 000012
【図１１】
2016042926.tif 000013
【図１２】
2016042926.tif 000014
【図１３】
2016042926.tif 000015
【図１４】
2016042926.tif 000016
【図１５】
2016042926.tif 000017
【図１６】
2016042926.tif 000018
【図１７】
2016042926.tif 000019
【国際調査報告】
2016042926.tif 000020
2016042926.tif 000021
2016042926.tif 000022
2016042926.tif 000023