(57)【特許請求の範囲】
【請求項１】
視点が異なる複数の画像を用いて、少なくとも２つの指定点間の距離を算出する画像処理装置であって、
前記複数の画像のうち少なくとも１つの画像における複数の指定点を指定する指定手段と、
前記複数の画像のうち、いずれか１つの画像を基準画像とし、それ以外の画像を参照画像とし、前記基準画像における前記指定点それぞれに対応する、前記参照画像における対応点を探索する探索手段と、
前記探索手段による探索結果に基づいて前記基準画像に前記参照画像を重ね合わせた合成画像を生成する生成手段と、
前記合成画像をユーザーに提示する提示手段と
を有し、
前記生成手段は、前記複数の指定点のうち第１の指定点と第２の指定点について、前記基準画像における前記第１の指定点を基準として前記参照画像を重ね合わせた第１の合成画像と、前記基準画像における前記第２の指定点を基準として前記参照画像を重ね合わせた第２の合成画像を生成し、
前記提示手段は、前記第１の合成画像と前記第２の合成画像を並列して提示することを特徴とする画像処理装置。
【請求項２】
前記探索手段は、前記基準画像における前記指定点に対応する、前記参照画像における対応点をブロックマッチング法により探索し、
前記生成手段は、探索された前記対応点を前記指定点に位置合わせるよう前記参照画像をシフトし、シフトした前記参照画像と前記基準画像とを重みづけ加算することにより、前記合成画像を生成することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記複数の画像それぞれに対応する視点パラメータに基づいて、前記複数の画像が平行ステレオ画像であるか否かを判定し、前記複数の画像が平行ステレオ画像でないと判定した場合に、前記基準画像の視点パラメータを基準に前記参照画像を平行ステレオ変換する変換手段をさらに有し、
前記参照画像が前記変換手段により平行ステレオ変換された場合に、前記生成手段は、変換された前記参照画像を用いて前記合成画像を生成することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記合成画像における前記参照画像のシフト量を調整するために前記ユーザーが入力した、各前記参照画像のシフト量を制御する共通のスカラー値を受け取る受け取り手段をさらに有し、
前記受け取り手段が前記スカラー値を受け取ることに応じて、前記生成手段は、前記スカラー値と前記基準画像および前記参照画像の視点パラメータとに基づいて各前記参照画像のシフト量を算出し、算出したシフト量に従ってシフトした前記参照画像と前記基準画像とを重みづけ加算することにより、調整された合成画像を生成し、
前記提示手段は、前記調整された合成画像を前記ユーザーに提示することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記提示手段は、前記スカラー値を調整するスライドバーを、前記調整された合成画像と共に前記ユーザーに提示し、
前記受け取り手段は、前記ユーザーにより調整された前記スライドバーのステータスに応じた前記スカラー値を取得することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記スカラー値により制御された前記参照画像のシフト量と、前記基準画像および前記参照画像の視点パラメータと、前記基準画像における前記指定点の座標とに基づいて、前記指定点に対応する前記参照画像における対応点の座標を算出する対応点算出手段をさらに有することを特徴とする請求項４または５に記載の画像処理装置。
【請求項７】
前記基準画像における２つの指定点に対応する、前記参照画像における対応点の座標が前記対応点算出手段により算出され、当該算出された対応点の座標と前記２つの指定点の座標と前記基準画像および前記参照画像の視点パラメータとに基づいて、前記２つの指定点間の物理的な距離を算出する距離算出部をさらに有することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記指定手段は、前記基準画像における指定点をユーザーから受け取り、ユーザーから入力された座標に基づいて、当該座標の周辺領域を拡大して表示することを特徴とする請求項１乃至７のいずれか１項に記載の画像処理装置。
【請求項９】
撮像手段の位置および向きを含む視点パラメータが異なる複数視点の画像のうち、いずれか１つの画像を基準画像とし、それ以外の画像を参照画像とし、前記基準画像における指定点を基準に前記参照画像をシフトして前記基準画像に重ね合わせた合成画像を生成する生成手段と、
前記合成画像をユーザーに提示する提示手段と、
前記複数視点の画像の視点パラメータに基づいて、前記複数視点の画像が平行ステレオ画像であるか否かを判定し、前記複数視点の画像が平行ステレオ画像でないと判定した場合に、前記基準画像の視点パラメータを基準に前記参照画像を平行ステレオ変換する変換手段と、
前記合成画像における前記参照画像のシフト量を調整するために前記ユーザーが入力した、各前記参照画像のシフト量を制御する共通のスカラー値を受け取る受け取り手段と、
前記スカラー値により制御された前記参照画像のシフト量と、前記基準画像および前記参照画像の視点パラメータと、前記基準画像における前記指定点の座標とに基づいて、前記指定点に対応する前記参照画像における対応点の座標を算出する対応点算出手段と
を有し、
前記参照画像が前記変換手段により平行ステレオ変換された場合に、前記生成手段は、変換された前記参照画像を用いて前記合成画像を生成し、
前記受け取り手段が前記スカラー値を受け取ることに応じて、前記生成手段は、前記スカラー値と前記基準画像および前記参照画像の視点パラメータとに基づいて各前記参照画像のシフト量を算出し、算出したシフト量に従ってシフトした前記参照画像と前記基準画像とを重みづけ加算することにより、調整された合成画像を生成し、
前記提示手段は、前記調整された合成画像を前記ユーザーに提示する
ことを特徴とする画像処理装置。
【請求項１０】
撮像手段の位置および向きを含む視点パラメータが異なる複数視点の画像のうち、いずれか１つの画像を基準画像とし、それ以外の画像を参照画像とし、前記基準画像における指定点を基準に前記参照画像をシフトして前記基準画像に重ね合わせた合成画像を生成する生成手段と、
前記合成画像をユーザーに提示する提示手段と、
前記複数視点の画像の視点パラメータに基づいて、前記複数視点の画像が平行ステレオ画像であるか否かを判定し、前記複数視点の画像が平行ステレオ画像でないと判定した場合に、前記基準画像の視点パラメータを基準に前記参照画像を平行ステレオ変換する変換手段と、
前記合成画像における前記参照画像のシフト量を調整するために前記ユーザーが入力した、各前記参照画像のシフト量を制御する共通のスカラー値を受け取る受け取り手段と、
前記スカラー値により制御された前記参照画像のシフト量と、前記基準画像および前記参照画像の視点パラメータと、前記基準画像における前記指定点の座標とに基づいて、前記指定点に対応する前記参照画像における対応点の座標を算出する対応点算出手段と
を有し、
前記参照画像が前記変換手段により平行ステレオ変換された場合に、前記生成手段は、変換された前記参照画像を用いて前記合成画像を生成し、
前記受け取り手段が前記スカラー値を受け取ることに応じて、前記生成手段は、前記スカラー値と前記基準画像および前記参照画像の視点パラメータとに基づいて各前記参照画像のシフト量を算出し、算出したシフト量に従ってシフトした前記参照画像と前記基準画像とを重みづけ加算することにより、調整された合成画像を生成し、
前記提示手段は、前記調整された合成画像および前記スカラー値を調整するスライドバーを共に前記ユーザーに提示し、
前記受け取り手段は、前記ユーザーにより調整された前記スライドバーのステータスに応じた前記スカラー値を取得する
ことを特徴とする画像処理装置。
【請求項１１】
視点が異なる複数の画像を用いて、少なくとも２つの指定点間の距離を算出する画像処理方法であって、
前記複数の画像のうち少なくとも１つの画像における複数の指定点を指定する指定工程と、
前記複数の画像のうち、いずれか１つの画像を基準画像とし、それ以外の画像を参照画像とし、前記基準画像における前記指定点それぞれに対応する、前記参照画像における対応点を探索する探索工程と、
前記探索工程による探索結果に基づいて前記基準画像に重ね合わせた合成画像を生成する生成工程と、
前記合成画像をユーザーに提示する提示工程と
を含み、
前記生成工程は、前記複数の指定点のうち第１の指定点と第２の指定点について、前記基準画像における前記第１の指定点を基準として前記参照画像を重ね合わせた第１の合成画像と、前記基準画像における前記第２の指定点を基準として前記参照画像を重ね合わせた第２の合成画像を生成し、
前記提示工程は、前記第１の合成画像と前記第２の合成画像を並列して提示することを特徴とする画像処理方法。
【請求項１２】
撮像手段の位置および向きを含む視点パラメータが異なる複数視点の画像のうち、いずれか１つの画像を基準画像とし、それ以外の画像を参照画像とし、前記基準画像における指定点を基準に前記参照画像をシフトして前記基準画像に重ね合わせた合成画像を生成する生成工程と、
前記合成画像をユーザーに提示する提示工程と、
前記複数視点の画像の視点パラメータに基づいて、前記複数視点の画像が平行ステレオ画像であるか否かを判定し、前記複数視点の画像が平行ステレオ画像でないと判定した場合に、前記基準画像の視点パラメータを基準に前記参照画像を平行ステレオ変換する変換工程と、
前記合成画像における前記参照画像のシフト量を調整するために前記ユーザーが入力した、各前記参照画像のシフト量を制御する共通のスカラー値を受け取る受け取り工程と、
前記スカラー値により制御された前記参照画像のシフト量と、前記基準画像および前記参照画像の視点パラメータと、前記基準画像における前記指定点の座標とに基づいて、前記指定点に対応する前記参照画像における対応点の座標を算出する対応点算出工程と
を有し、
前記参照画像が前記変換工程により平行ステレオ変換された場合に、前記生成工程は、変換された前記参照画像を用いて前記合成画像を生成し、
前記受け取り工程が前記スカラー値を受け取ることに応じて、前記生成工程は、前記スカラー値と前記基準画像および前記参照画像の視点パラメータとに基づいて各前記参照画像のシフト量を算出し、算出したシフト量に従ってシフトした前記参照画像と前記基準画像とを重みづけ加算することにより、調整された合成画像を生成し、
前記提示工程は、前記調整された合成画像を前記ユーザーに提示する
ことを特徴とする画像処理方法。
【請求項１３】
撮像手段の位置および向きを含む視点パラメータが異なる複数視点の画像のうち、いずれか１つの画像を基準画像とし、それ以外の画像を参照画像とし、前記基準画像における指定点を基準に前記参照画像をシフトして前記基準画像に重ね合わせた合成画像を生成する生成工程と、
前記合成画像をユーザーに提示する提示工程と、
前記複数視点の画像の視点パラメータに基づいて、前記複数視点の画像が平行ステレオ画像であるか否かを判定し、前記複数視点の画像が平行ステレオ画像でないと判定した場合に、前記基準画像の視点パラメータを基準に前記参照画像を平行ステレオ変換する変換工程と、
前記合成画像における前記参照画像のシフト量を調整するために前記ユーザーが入力した、各前記参照画像のシフト量を制御する共通のスカラー値を受け取る受け取り工程と、
前記スカラー値により制御された前記参照画像のシフト量と、前記基準画像および前記参照画像の視点パラメータと、前記基準画像における前記指定点の座標とに基づいて、前記指定点に対応する前記参照画像における対応点の座標を算出する対応点算出工程と
を有し、
前記参照画像が前記変換工程により平行ステレオ変換された場合に、前記生成工程は、変換された前記参照画像を用いて前記合成画像を生成し、
前記受け取り工程が前記スカラー値を受け取ることに応じて、前記生成工程は、前記スカラー値と前記基準画像および前記参照画像の視点パラメータとに基づいて各前記参照画像のシフト量を算出し、算出したシフト量に従ってシフトした前記参照画像と前記基準画像とを重みづけ加算することにより、調整された合成画像を生成し、
前記提示工程は、前記調整された合成画像および前記スカラー値を調整するスライドバーを共に前記ユーザーに提示し、
前記受け取り工程は、前記ユーザーにより調整された前記スライドバーのステータスに応じた前記スカラー値を取得する
ことを特徴とする画像処理方法。
【請求項１４】
コンピュータを請求項１乃至１０のいずれか１項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数視点の画像間に点の対応付けを行うための方法に関する。
【背景技術】
【０００２】
従来、建築現場等などの写真測量では、写真から被写体の長さを測る手法として、撮像手段の位置および／または向きが異なる複数視点の画像を用いる三角測量が知られている。三角測量では、あらかじめカメラ位置およびカメラの向き（以下、カメラパラメータ）が既知の複数台のカメラを用いて撮像を行う。ディスプレイに映し出された画像において、作業者がマウス等を用いて、計測の対象となる被写体上で２点以上の計測点を指定する。そして、作業者がディスプレイに映し出された画像を目視しながら、計測点の対応付けを行う。または、特許文献１に開示された方法のように、各視点のカメラパラメータおよび各視点の画像データに基づいて、自動で計測点の対応付けを行う。計測点に対応する対応点の座標が取得されると、計測点の座標および対応点の座標に基づいて所定の演算処理が実行され、計測点間の長さ（物理的な距離）が算出される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３８９８９４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、作業者が画像を目視しながら計測点の対応付けを行う方法では、作業者の負担が大きく、対応付けの精度は各作業者の熟練度に左右される。一方、特許文献１の方法では、計測点の対応付けを自動で行うことで、作業者の負担を軽減することができるが、対応付けに誤りが発生する可能性があり、その有無を確認するためには、作業者が１枚１枚画像を確認する必要がある。また、誤対応が発生している場合に、作業者が１枚１枚修正する必要がある。
【０００５】
そこで、本発明の目的は、複数視点の画像のうち１つの画像における指定点を基準に他の画像をシフトして重ね合わせた合成画像を作業者に提示することにより、作業者が計測点の対応付けを容易に確認することを可能にする方法を提供することにある。
【課題を解決するための手段】
【０００６】
本発明の画像処理装置は、視点が異なる複数の画像を用いて、少なくとも２つの指定点間の距離を算出する画像処理装置であって、前記複数の画像のうち少なくとも１つの画像における複数の指定点を指定する指定手段と、前記複数の画像のうち、いずれか１つの画像を基準画像とし、それ以外の画像を参照画像とし、前記基準画像における前記指定点それぞれに対応する、前記参照画像における対応点を探索する探索手段と、前記探索手段による探索結果に基づいて前記基準画像に前記参照画像を重ね合わせた合成画像を生成する生成手段と、前記合成画像をユーザーに提示する提示手段とを有し、前記生成手段は、前記複数の指定点のうち第１の指定点と第２の指定点について、前記基準画像における前記第１の指定点を基準として前記参照画像を重ね合わせた第１の合成画像と、前記基準画像における前記第２の指定点を基準として前記参照画像を重ね合わせた第２の合成画像を生成し、前記提示手段は、前記第１の合成画像と前記第２の合成画像を並列して提示する。
【発明の効果】
【０００７】
本発明によれば、作業者が複数視点の画像間における計測点の対応付けを容易に確認することを可能にする。
【図面の簡単な説明】
【０００８】
【図１】実施例１に係る画像処理装置の機能構成を示す図である。
【図２】実施例１における画像処理部の処理フローを図である。
【図３】計測点を指定するためのＵＩの例を示す図である。
【図４】多眼カメラで取得した画像から生成した合成画像を説明するための図である。
【図５】計測点と対応点の対応関係を確認するためのＵＩの例を示す図である。
【図６】計測点間の距離を算出する方法を説明するための図である。
【図７】計測点間の距離算出結果を表示するＵＩの例を示す図である。
【図８】実施例１の効果を説明するための図である。
【図９】実施例２に係る画像処理装置の機能構成を示す図である。
【図１０】計測点を指定するためのＵＩの例を示す図である。
【発明を実施するための形態】
【０００９】
［実施例１］
図１（ａ）は、本実施例に係る画像処理装置の機能構成を示す図である。本実施例に係る画像処理装置は、撮像部１０１、画像処理部１００および表示部１０８を含む。
【００１０】
撮像部１０１は、ズームレンズ、フォーカスレンズ、ぶれ補正レンズ、絞り、シャッター、光学ローパスフィルタ、ＩＲカットフィルタ、カラーフィルタ、及び、ＣＭＯＳやＣＣＤなどの撮像素子（センサ）などを含み、被写体を撮像する。なお、本実施例における撮像部１０１は、異なる視点から複数の画像を同時に取得可能である多眼カメラであってもよいし、複数台のカメラであってもよい。また、１台のカメラを用いて複数回撮像を行ってもよい。複数視点の画像を同時、または複数回の撮像により取得できるならば、上記のカメラ形態に限らない。以下では、多眼カメラで画像を取得する場合を例に説明を行い、多眼カメラを構成する個々のカメラを小型カメラと呼称する。
【００１１】
画像処理部１００は撮像部１０１から複数視点の画像データを受け取り、受け取った画像データに基づいてユーザーが指定した２点以上の計測点間の距離を算出する。本実施例における画像処理部１００は、画像受け取り部１０２、計測点指定部１０３、対応点探索部１０４、合成画像生成部１０５、対応点算出部１０６および距離算出部１０７を含む。
【００１２】
画像受け取り部１０２は、撮像部１０１から複数視点の画像データを受け取る。
【００１３】
計測点指定部１０３は、複数視点の画像のうち１枚の画像を表示部１０８に表示し、ユーザーがマウスなどを用いて指定した計測点（指定点）の座標を取得する。
【００１４】
対応点探索部１０４は、計測点指定部１０３が取得した計測点に対応する各視点の画像における対応点を、ブロックマッチング法などを用いて自動的に求める。
【００１５】
合成画像生成部１０５は、計測点の情報とその対応点の情報に基づいて合成画像を生成し、表示部１０８に表示する。
【００１６】
対応点算出部１０６はユーザーが制御した画像合成時の画像シフト量、カメラパラメータ、および計測点指定部１０３で指定された計測点の座標に基づいて、各視点の画像における計測点の対応点の座標を算出する。ここで、カメラパラメータ（視点パラメータ）は、複数視点の画像に対応した撮像時のカメラの位置情報および向き情報を含む。多眼カメラの場合に、多眼カメラを構成する小型カメラの向きはほぼ平行であるので、カメラパラメータは小型カメラの位置情報となる。
【００１７】
距離算出部１０７は、計測点の座標、対応点の座標およびカメラパラメータに基づいて、ユーザーが指定した計測点間の物理的な長さ（２つの指定点間の物理的な距離）を算出する。
【００１８】
表示部１０８（提示手段）は例えば、液晶ディスプレイが用いられ、画像を表示する。
【００１９】
図１（ｂ）は画像処理部１００の内部構成をより詳細に述べた図である。
【００２０】
中央処理装置（ＣＰＵ）１１１は、画像処理部１００における各部を統括的に制御する。ＲＡＭ１１２は、ＣＰＵ１１１の主メモリ、ワークエリア等として機能する。ＲＯＭ１１３は、ＣＰＵ１１１で実行される制御プログラム等を格納している。バス１１４は各種データの転送経路であり、例えば、Ａ／Ｄ変換部によってデジタルデータに変換された撮像データはこのバス１１４を介して所定の処理部に送られる。
【００２１】
表示制御部１１５は、表示部１０８に表示される画像や文字の表示制御を行う。デジタル信号処理部１１６は、バス１１４を介して受け取ったデジタルデータに対し、ホワイトバランス処理、ガンマ処理、ノイズ低減処理などの各種処理を行う。エンコーダ部１１７は、デジタルデータをＪＰＥＧやＭＰＥＧなどのファイルフォーマットに変換する処理を行う。外部メモリ制御部１１８は、ＰＣやその他のメディア（例えば、ハードディスク、メモリーカード、ＣＦカード、ＳＤカード、ＵＳＢメモリ）に繋ぐためのインターフェースである。入力部１１９は、キーボードやマウスなどの入力デバイス１２０を接続する、例えばＵＳＢやＩＥＥＥ１３９４等のシリアルバスインタフェイスである。
【００２２】
なお、画像処理部１００は撮像部１０１の内部に構成されてもよい。
【００２３】
図２は本実施例における画像処理部の処理フローを示す図である。
【００２４】
ステップＳ２０１において、画像受け取り部１０２が撮像部１０１から多視点画像データを受け取る。
【００２５】
ステップＳ２０２において、ユーザーが１つの画像上で計測点を指定し、計測点指定部１０３が計測点の座標を取得する。
【００２６】
図３は計測点指定部１０３のＵＩの例を示す図である。図３において、表示画面３００は、計測点指定部１０３において計測点を指定する場合の画面を表示部１０８に表示したものである。ここでは多眼カメラで取得した複数視点の画像のうちの１枚を表示部１０８に表示している。
【００２７】
ユーザーが入力デバイス１２０（例えばマウス）をドラッグするとマウスのカーソル３０３の位置が移動し、ユーザーが被写体３０１上で計測したい点（計測点）をクリックすると、計測点のマーカー３０２が現れる。計測点の指定方法としては、これに限らず、矢印３０４で指定してもよい。矢印３０４で計測点を指定する場合は、マウスをクリックして１点目の計測点を選択し、マウスをドラッグすることで矢印３０４を引き、２点目の計測点でマウスをリリースすると矢印３０４の範囲が決定される。
【００２８】
ステップＳ２０３において、対応点探索部１０４が各視点の画像における計測点の対応点を探索する。
【００２９】
ステップＳ２０４において、合成画像生成部１０５が、ステップＳ２０２で指定された計測点の座標、およびステップＳ２０３で算出された対応点の座標に基づいて、画像合成時の画像シフト量を算出する。算出した画像シフト量に従って画像をそれぞれシフトして合成する。
【００３０】
本実施例において、合成画像生成部１０５は、小型カメラが同一平面上に配置されている多眼カメラにより取得した複数視点の画像をそれぞれシフトして平均化した画像を生成する。
【００３１】
図４（ａ）は本実施例における多眼カメラ４００の配置例を表す図である。図４（ａ）において、多眼カメラ４００は縦横に５台ずつ小型カメラ４０１が正方格子状に配置されるように構成されている。小型カメラ４０１の番号は中心の小型カメラを(0,0)とし、左上から右下に向かって(-2,-2)、(-1,-2)、・・・・(1,2)、(2,2)と番号が付けられているものとする。ここでは多眼カメラは正方格子状に配置するとしたが、この配置に限らない。
【００３２】
図４（ｂ）は、２×２の多眼カメラを用いて撮像した画像を合成したものを示す図である。図４（ｂ）において、被写体４０２、４０３、４０４は、番号の順に多眼カメラに対し手前から奥に向かって並んでいる。多眼カメラから被写体までの距離がそれぞれ異なるため、それぞれの被写体は視差量が異なり、例えば被写体４０３にピントが合うように画像をシフトして重ねると、被写体４０２、４０４は多重像になる。
【００３３】
以下ではＮ×Ｎの多眼カメラの場合に、合成画像を生成する手法を説明する。
【００３４】
小型カメラ４０１の番号を(m,n)、(m,n)番目の小型カメラ４０１が取得した画像をIm,n(x,y)とする。また、計測点のマーカー３０２の座標を(0,0)番目の小型カメラで取得した画像上で指定すると仮定し、計測点の座標を(xM,yM)、(m,n)番目の画像における計測点の対応点の座標を(xM_m,n,yM_m,n)とする。このとき、合成画像生成部１０５は合成画像Isyn(x,y)を式（１）に従って生成する。
【００３５】
【数１】
0006624880.tif 000002
【００３６】
式（１）は計測点とその対応点を位置合わせして画像を加算平均することを意味している。なお、ここでは、合成画像は各視点の画像をシフトして加算平均をとったものとしたが、各視点の画像をシフトして重みづけ加算をとったものとしてもよい。または、各視点の画像をシフトしてシースルーで重ねるように表示してもよい。
【００３７】
以上は多眼カメラの場合を例に説明を行ったが、カメラパラメータが既知の複数台のカメラを用いて撮像を行う場合は、カメラの向き情報を用いて、各視点の画像に射影変換を施し、カメラの向きが平行な状態で撮像された画像群に変換する。次に、カメラの位置情報を利用して、画像の倍率を調整し、同一平面状にカメラが配置された状態で撮像された画像群に変換する。すなわち、カメラの向きが平行でカメラの位置が同一平面状になる状態で撮像したのと同様になるように、いわゆる平行ステレオ変換処理を行い、平行ステレオ画像を取得する。その変換に必要なパラメータは、公知のキャリブレーション手法により求めることができる。キャリブレーション手法は例えば「佐藤淳、コンピュータビジョン―視覚の幾何学―、コロナ社」に記載されている。変換後の画像の合成処理は多眼カメラの場合と同様である。
【００３８】
なお、１台のカメラで複数回撮像することで複数視点の画像を取得する場合は、複数視点の画像を用いてカメラパラメータを推定する。推定されたカメラパラメータを用いることで、複数台のカメラで撮像する場合と同様にして画像を変換し、画像の合成処理を行う。
【００３９】
なお、本実施形態の画像処理部１００は、カメラパラメータに基づいて複数視点の画像が平行ステレオ画像であるか否かを判定し、判定結果によって平行ステレオ変換を行うか否かを決定する仕組みを備えてもよい。すなわち、複数視点の画像が平行ステレオ画像である場合に、平行ステレオ変換を行わない。例えば、多眼カメラで撮像した場合に、取得した画像は平行ステレオ画像であるので、平行ステレオ変換を行わない。複数視点の画像が平行ステレオ画像でない場合に、複数視点の画像のうち、いずれか１つの画像を基準画像とし、それ以外の画像を参照画像とし、基準画像のカメラパラメータを基に参照画像を平行ステレオ変換する。
【００４０】
ステップＳ２０５において、合成画像生成部１０５が合成画像を表示部１０８に表示する。表示される合成画像において、計測点と同じ位置に示される各視点の画像の点は、ステップＳ２０３で探索された対応点である。
【００４１】
ステップＳ２０６において、ユーザーが１つの計測点を着目して、当該計測点と対応点の対応に誤りがあるか否かを確認し、誤りがない場合は、処理はステップＳ２１０に進み、誤りがある場合は、処理はステップＳ２０７に進む。
【００４２】
図５、合成画像生成部１０５のＵＩの例を示す図である。図５（ａ）の表示画面５００は計測点の対応点探索ミスがない場合に、合成画像生成部１０５が生成した合成画像を表示部１０８に表示したものである。表示画面５００には、左半分に表示されているウィンドウ５０１、および右半分に表示されているウィンドウ５０２が含まれる。また、画像合成時の画像シフト量を制御するスライドバー５０３、５０４、および計測点のマーカー５０５、５０６が示される。
【００４３】
ウィンドウ５０１において、計測点のマーカー５０５上で被写体３０１のピントが合っており、ウィンドウ５０２では計測点のマーカー５０６上で被写体３０１のピントが合っている。合成画像生成部１０５は、計測点とその対応点を位置合わせして画像を合成するので、計測点の位置で被写体３０１のピントが合っていることは、対応点は正しく探索されていることを意味している。ユーザーは計測点のマーカー５０５、５０６上で被写体３０１のピントが合っていることを確認し、ボタン５０７をクリックする。ボタン５０７をクリックすると、対応点算出部１０６に計測点の座標と、計測点に対応する対応点の座標が送られる。
【００４４】
ステップＳ２０７において、ユーザーがスライドバー５０３、５０４を調整することで画像合成時の画像シフト量を制御する。合成画像生成部がスライドバー５０３、５０４のステータスに応じたスカラー値を取得し、取得したスカラー値およびカメラパラメータに基づいて、画像合成時の画像シフト量を算出する。
【００４５】
ここで、夫々の画像のシフト量は、共通のスカラー値により制御することができる。その原因は以下となる。シフトされる画像は平行ステレオ画像であり、シフト量は夫々の画像間にカメラパラメータによって決まった比率関係がある。例えば、小型カメラが等間隔で並んでいるように構成された多眼カメラにより取得された複数視点の画像を例にすると、(0,0)番目の小型カメラの画像を基準とした夫々の画像のシフト量は次の関係がある。すなわち、(m,n)番目の小型カメラの画像のシフト量は、(1,1)番目の小型カメラの画像のシフト量に比べて、ｘ方向においてm倍、ｙ方向においてn倍になっている。このような関係は、合成画像生成部などによりカメラパラメータから算出される。そのため、ユーザーが共通のスカラー値を最適値に調整することで、夫々の画像シフト量を最適に制御することができる。
【００４６】
ステップＳ２０８において、合成画像生成部１０５がユーザーが制御した画像シフト量に基づき、画像をシフトして加算平均することで、合成画像を生成する。
【００４７】
ステップＳ２０９において、合成画像生成部１０５が合成画像を表示部１０８に表示する。なお、ここでは表示部１０８に表示する際に、画面をウィンドウ５０１、５０２のように左右に分割して表示したが、１枚ずつ切り替えて表示してもよい。
【００４８】
図５（ｂ）の表示画面５１０は計測点の対応点に探索ミスがある場合に、合成画像生成部１０５が生成した画像を表示部１０８に表示したものである。表示画面５１０には、左半分に表示されているウィンドウ５１１、右半分に表示されているウィンドウ５１２が含まれる。
【００４９】
ウィンドウ５１２において、計測点のマーカー５０６上で被写体３０１のピントが合っていない。これは対応点探索部１０４において、計測点の対応点が正しく探索されなかったことを意味している。この場合、ユーザーはウィンドウ５１２において、計測点のマーカー上で被写体３０１のピントを合わせる（すなわち、ウィンドウ５０２で示された状態になる）ように、スライドバー５０４を調整する。
【００５０】
ステップＳ２１０において、対応点算出部１０６が画像シフト量、計測点の座標、カメラパラメータに基づき、計測点に対応する対応点の座標を算出する。
【００５１】
本実施例では、ユーザーがスライドバー５０３、５０４で制御した画像シフト量、計測点指定部１０３で指定した計測点の座標およびカメラパラメータに基づいて計測点に対応する対応点の座標を算出する。小型カメラが等間隔で並んでいるように構成された多眼カメラにより取得された複数視点の画像の場合に、対応点算出部１０６は式（２）に従って対応点の座標を算出する。スライドバー５０３、５０４で制御された(1,1)番目の小型カメラの画像のシフト量をs[pixel]、計測点の座標を(xM,yM)[pixel]とすると、(m,n)番目の小型カメラの画像における計測点の対応点の座標は式（２）で示すものとなる。
【００５２】
【数２】
0006624880.tif 000003
【００５３】
なお、小型カメラが等間隔で並んでいない場合は、式（２）においてm,nの替わりに小型カメラの間隔を反映する数値を設定すれば、類似の方法で対応点の座標を算出することができる。
【００５４】
また、複数台のカメラを用いる場合や、複数回撮像する場合に関しては、まず、類似の方法で平行ステレオ変換後された画像における対応点の座標を算出する。そして、算出した対応点の座標およびカメラパラメータから変換前の画像における対応点の座標を算出する。すなわち、平行ステレオ変換前に逆変換することで、変換前の画像における対応点の座標を算出する。
【００５５】
ステップＳ２１１において、ユーザーが全ての計測点について対応点の確認が終了しているか否かを判断する。対応点の確認が終了していない計測点がある場合はステップＳ２０６に戻る。全ての計測点について対応点の確認が終了している場合は、ユーザーが図５のボタン５０７をクリックすると、処理はステップＳ２１２に進む。
【００５６】
ステップＳ２１２において、計測点とそれに対応する対応点の座標を基に距離算出部１０７が計測点間の距離を算出して表示部１０８に表示し、画像処理部１００の動作を終了する。
【００５７】
以下、距離算出部１０７の動作をより詳細に説明する。距離算出部１０７は基本的には三角測量の手法を用いて、計測点間の距離を算出する。
【００５８】
図６は計測点間の距離を算出する方法を説明するための図である。図６において、ワールド座標６０１、カメラ座標６０２、被写体６０３、および被写体像６０５が示されている。画像平面６０４は小型カメラ４０１をピンホールカメラとみなしたときの、撮像素子に対応する平面である。カメラ座標６０２の原点は、小型カメラ４０１の中心位置であり、被写体像６０５は被写体６０３と小型カメラの中心位置を結んだ直線と、画像平面６０４の交点になる。被写体６０３の位置ベクトルをXobj、カメラ座標６０２を張る単位ベクトルをi、j、k、ワールド座標を張る単位ベクトルをX、Y、Z、カメラの中心位置を表すベクトルをXcとする。また、小型カメラ４０１の中心位置から見た画像平面６０４上の被写体像の位置ベクトルをXscreen、画像平面６０４上の被写体像６０５の位置を(u,v)、小型カメラの焦点距離をfとする。(u,v)は画像上の被写体の位置に相当する。
【００５９】
図６より、式（３）、（４）が成り立つ。
【００６０】
【数３】
0006624880.tif 000004
【００６１】
【数４】
0006624880.tif 000005
【００６２】
ここで、sは適当なスカラー値であり、スケール変換を表している。ベクトルXobjを式（５）、ベクトルXcを式（６）と表すものとすると、式（３）を式（４）に代入し、ベクトルX、Y、Zの内積をとることにより、式（７）となる。
【００６３】
【数５】
0006624880.tif 000006
【００６４】
【数６】
0006624880.tif 000007
【００６５】
【数７】
0006624880.tif 000008
【００６６】
ここで、
【００６７】
【数８】
0006624880.tif 000009
【００６８】
であり、Rはカメラの向きの回転行列を表している。式（７）は被写体の画像上の座標(u,v)、小型カメラの中心位置(xc,yc,zc)、被写体の座標(x,y,z)の関係を表している。式（７）に小型カメラの位置番号を表す添え字(m,n)をつけると、式（９）が各カメラについて成り立つ。
【００６９】
【数９】
0006624880.tif 000010
【００７０】
式（９）において、(x,y,z)は(m,n)に依らず共通の値なので、ここでは以下の関数を最小化するようにsm,nを決める。
【００７１】
【数１０】
0006624880.tif 000011
【００７２】
ここで、
【００７３】
【数１１】
0006624880.tif 000012
【００７４】
とした。
【００７５】
Vをsm,nに関して偏微分し、0とおくと、式（１２）となる。
【００７６】
【数１２】
0006624880.tif 000013
【００７７】
ここで、N2は小型カメラの台数であり、
【００７８】
【数１３】
0006624880.tif 000014
【００７９】
【数１４】
0006624880.tif 000015
【００８０】
と置くと、式（１２）は式（１４）と変形できる。
【００８１】
【数１５】
0006624880.tif 000016
【００８２】
M,vは被写体の画像上での位置、カメラの回転行列（向き）、カメラの位置が分かれば求めることができるので、式（１４）をsm,nについて解くと、各視点画像におけるスケール変換値を求めることができる。
【００８３】
最後に、ある視点画像のスケール変換値sと式（７）を用いることにより、計測点間の距離を
【００８４】
【数１６】
0006624880.tif 000017
【００８５】
と求めることができる。ここで、s1、s2は計測点１、２のスケール変換値であり、Xobj,1、Xobj,2は計測点１、２の空間座標である。距離算出部１０７は式（１４）、式（１５）に従って、画像上の２点の計測点間の距離を算出する。
【００８６】
以上が距離算出部１０７の動作原理である。  図７は、距離算出部１０７が算出した距離を表示部１０８に表示した画像を示す図である。図７において、表示画面７００は(0,0)番目の小型カメラの画像を表示したものであり、ユーザーが指定した計測点７０１、７０２を結ぶ矢印７０３、および計測点７０１，７０２間の距離を示すウィンドウ７０４が表示されている。ユーザーは表示画面７００を見ることで、指定した計測点間の距離を知ることができる。
【００８７】
図８は、本実施例に係る画像処理を施した場合の効果を説明するための図である。
【００８８】
図８（ａ）は従来手法によって計測点と対応点の対応に誤りがあるか否かを確認する画面を表したものである。表示画面８００は３×３の９視点の画像を表示したものであり、ユーザーは９個に分割された画面の一枚一枚を見て対応に誤りがあるか否かを確認する。図８（ａ）の場合は、一番右下の画像において、対応点に誤対応が発生しているので、ユーザーは一番右下の画面において、対応点の座標を修正する。
【００８９】
図８（ｂ）は、本実施例を適用し、合成画像上で計測点と対応点の対応に誤りがあるか否かを確認する画面を表したものである。表示画面８１０は３×３の９視点の画像を、計測点と対応点を位置合わせするように合成したものであり、ユーザーは左右２枚の画像を見て、それぞれの計測点と対応点の対応に誤りがあるか否かを確認する。ウィンドウ８０１では、計測点８０３の対応点は正しく求められているが、ウィンドウ８０２では計測点８０４上で被写体３０１のピントが合っていないため、対応点に誤対応が発生している。ユーザーはウィンドウ８０２において、計測点８０４上で被写体３０１のピントが合うようにスライドバー５０４を調整する。
【００９０】
従来手法の場合は、各視点画像が小さくなってしまい、誤対応の有無を確認することが困難である。また、１枚１枚切り替えて表示して確認する手法も考えられるが、視点数分の画像を確認する必要がある。また、誤対応が複数視点において発生している場合は、ユーザーが１枚１枚対応点を修正する必要がある。
【００９１】
一方、本実施例の場合は、表示画面８１０で示したように大きな画面で一目で誤対応の有無を確認することが可能である。また、本実施例では、複数視点の画像が平行ステレオ画像でない場合に、複数視点の画像を平行ステレオ変換し、変換された画像に基づいて合成画像を生成する。このように生成された合成画像は、誤対応の有無を容易にかつ精度高く確認することを可能にする。また、誤対応が発生している場合も、従来手法のように１枚１枚修正する必要がなく、合成画像上において共通のスカラー値を調整することで誤対応を修正することが可能になる。
【００９２】
以上のように、本実施例によれば、計測点の対応点に誤対応がないかを一目で判断することができ、誤対応がある場合も、簡易な操作で誤対応を修正することが可能になる。
【００９３】
［実施例２］
実施例１ではユーザーは表示画面５００上で、計測点のマーカー５０５、５０６の指定を行ったが、本実施例では計測点のマーカー５０６の指定領域付近を拡大して表示部１０８に表示する場合について説明する。
【００９４】
図９は本実施例に係る画像処理装置の機能構成を示す図である。
【００９５】
画像処理部９００は撮像部１０１から複数視点の画像データを受け取り、受け取った画像データに基づいてユーザーが指定した２点以上の計測点間の距離を算出する。ここでは、図１との差異のみを説明する。
【００９６】
領域拡大部９０１はマウスポインタの座標を取得し、マウスポインタの周辺領域を拡大して表示部１０８に表示する。本実施例では、周辺領域の拡大手法は、バイキュービック法などの補間によるものとするが、これに限らず、画像を拡大できる手法であれば超解像などほかの手法を用いてもよい。
【００９７】
計測点指定部９０２は領域拡大部９０１の情報を受け取り、マウスポインタの周辺領域を拡大して表示部１０８に表示する。
【００９８】
図１０は計測点指定部９０２のＵＩの例を示す図である。計測点指定部９０２のＵＩは基本的には表示画面５００と同様であり、表示画面１０００は右半分のウィンドウを切り出したものである。
【００９９】
ウィンドウ１００１は合成画像におけるマウス座標の周辺領域を領域拡大部９０１が拡大し、計測点指定部９０２が表示部１０８に表示したものである。
【０１００】
以上のように本実施例によれば、計測点を指定したい領域付近を拡大して表示することで、ユーザーがより精度よく計測点を指定し、より詳細に誤対応の有無を確認することが可能になる。
【０１０１】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
0006624880.tif 000018
【図２】
0006624880.tif 000019
【図３】
0006624880.tif 000020
【図４】
0006624880.tif 000021
【図５】
0006624880.tif 000022
【図６】
0006624880.tif 000023
【図７】
0006624880.tif 000024
【図８】
0006624880.tif 000025
【図９】
0006624880.tif 000026
【図１０】
0006624880.tif 000027