(57)【特許請求の範囲】
【請求項１】
複数の画像を入力する入力工程と、
前記複数の画像を用いて、複数の合成方法のうち少なくとも１つの合成方法に基づいた画像合成を評価する評価工程と、
前記評価に応じて、前記複数の合成方法の中から適切な合成方法を選択する選択工程とを有する画像処理方法。
【請求項２】
前記複数の画像が有する重複領域内において対応点を抽出する抽出工程を有することを特徴とする請求項１記載の画像処理方法。
【請求項３】
前記評価工程は、前記対応点に基づいて画像合成した場合に生じる合成誤差を計算し、前記合成誤差を所定値と比較することによって合成方法を評価することを特徴とする請求項２記載の画像処理方法。
【請求項４】
前記評価工程は、前記対応点に基づいて、少なくとも２種類の合成方法それぞれを用いて画像合成した場合の合成誤差を計算し、それぞれの前記合成誤差の大小を比較することによって合成方法を評価することを特徴とする請求項２記載の画像処理方法。
【請求項５】
前記複数の合成方法は、少なくとも撮影方向を変えずに撮影位置を変えて撮影する並進撮影と、撮影位置を変えずに撮影方向を変えて撮影するパンニング撮影とに対応した合成方法であることを特徴とする請求項１記載の画像処理方法。
【請求項６】
前記パンニング撮影に応じた合成方法は、前記複数の画像を撮影焦点距離を半径とする仮想円筒面上、又は仮想球面上に座標変換した変換画像を用いることを特徴とする請求項５記載の画像処理方法。
【請求項７】
前記パンニング撮影に応じた合成方法が３６０゜パノラマ画像を生成する場合、合成画像の両端を合成して３６０゜パノラマ画像を生成する際に生じる画像のずれを、前記合成画像を全体的に歪ませることによって補正する補正工程を有することを特徴とする請求項５記載の画像処理方法。
【請求項８】
複数の画像を入力する入力工程と、
前記複数の画像を用いて、複数の合成方法のうち少なくとも１つの合成方法に基づいた画像合成を評価する評価工程と、
前記評価に応じて、前記複数の合成方法の中から適切な合成方法を選択する選択工程とを実行させるプログラムを、コンピュータで読み取り可能に記録する記録媒体。
【請求項９】
前記プログラムが前記複数の画像が有する重複領域内において対応点を抽出する抽出工程を実行させるプログラムであることを特徴とする請求項８記載の記録媒体。
【請求項１０】
前記評価工程は、前記対応点に基づいて、画像合成した場合に生じる合成誤差を計算し、前記合成誤差を所定値と比較することによって合成方法を評価することを特徴とする請求項９記載の記録媒体。
【請求項１１】
前記評価工程は、前記対応点に基づいて、少なくとも２種類の合成誤差を計算し、それぞれの前記合成誤差の大小を比較することによって合成方法を評価することを特徴とする請求項９記載の記録媒体。
【請求項１２】
前記複数の合成方法は、少なくとも撮影方向を変えずに撮影位置を変えて撮影する並進撮影と、撮影位置を変えずに撮影方向を変えて撮影するパンニング撮影とに対応した合成方法であることを特徴とする請求項８記載の記録媒体。
【請求項１３】
前記パンニング撮影に応じた合成方法は、前記複数の画像を撮影焦点距離を半径とする仮想円筒面上、又は仮想球面上に座標変換した変換画像を用いることを特徴とする請求項１２記載の記録媒体。
【請求項１４】
前記プログラムは、前記パンニング撮影に応じた合成方法が３６０゜パノラマ画像を生成する場合、合成画像の両端を合成して３６０゜パノラマ画像を生成する際に生じる画像のずれを、前記合成画像を全体的に歪ませることによって補正する補正工程を実行させるプログラムであることを特徴とする請求項１２記載の記録媒体。
【請求項１５】
複数の画像を入力する入力手段と、
前記複数の画像を用いて、複数の合成方法のうち少なくとも１つの合成方法に基づいた画像合成を評価する評価手段と、
前記評価に応じて、前記複数の合成方法の中から適切な合成方法を選択する選択手段とを有する画像処理装置。
【請求項１６】
前記複数の画像が有する重複領域内において対応点を抽出する抽出手段を有することを特徴とする請求項１５記載の画像処理装置。
【請求項１７】
前記評価手段は、前記対応点に基づいて画像合成した場合に生じる合成誤差を計算し、前記合成誤差を所定値と比較することによって合成方法を評価することを特徴とする請求項１６記載の画像処理装置。
【請求項１８】
前記評価手段は、前記対応点に基づいて、少なくとも２種類の合成方法それぞれを用いて画像合成した場合の合成誤差を計算し、それぞれの前記合成誤差の大小を比較することによって合成方法を評価することを特徴とする請求項１６記載の画像処理装置。
【請求項１９】
前記複数の合成方法は、少なくとも撮影方向を変えずに撮影位置を変えて撮影する並進撮影と、撮影位置を変えずに撮影方向を変えて撮影するパンニング撮影とに対応した合成方法であることを特徴とする請求項１５記載の画像処理装置。
【請求項２０】
前記パンニング撮影に応じた合成方法は、前記複数の画像を撮影焦点距離を半径とする仮想円筒面上、又は仮想球面上に座標変換した変換画像を用いることを特徴とする請求項１９記載の画像処理装置。
【請求項２１】
前記パンニング撮影に応じた合成方法が３６０゜パノラマ画像を生成する場合、合成画像の両端を合成して３６０゜パノラマ画像を生成する際に生じる画像のずれを、前記合成画像を全体的に歪ませることによって補正する補正手段を有することを特徴とする請求項１９記載の画像処理装置。
【請求項２２】
複数の画像を入力する入力工程と、
前記複数の画像が有する重複領域内において対応点を抽出する抽出工程と、
前記対応点に基づいて、複数の合成方法のうち少なくとも１つの合成方法に基づいた画像合成を評価する評価工程と、
前記評価に応じて、前記複数の合成方法の中から適切な合成方法を選択する選択工程とを有する画像処理方法。
【請求項２３】
前記複数の合成方法は、少なくとも撮影方向を変えずに撮影位置を変えて撮影する並進撮影と、撮影位置を変えずに撮影方向を変えて撮影するパンニング撮影とに対応した合成方法であることを特徴とする請求項２２記載の画像処理方法。
【請求項２４】
前記評価工程は、円筒写像変換又は球面写像変換を利用することを特徴とする請求項２２記載の画像処理方法。
【請求項２５】
前記合成方法は、アフィン変換又はプロジェクション変換を利用することを特徴とする請求項２２記載の画像処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像の一部が重複している複数の画像を合成してパノラマ画像あるいは高精細画像を生成する画像処理方法、装置および記録媒体に関する。
【０００２】
【従来の技術】
複数の画像を合成してパノラマ画像などを生成する場合、撮影方式に応じて適切な合成処理方式を設定することが重要である。ここで言う合成処理方式とは、アフィン変換、プロジェクション変換、円筒写像変換などである。
【０００３】
撮影方式を設定する方法として、従来では、合成の際に撮影方式を操作者が入力する方法、ジャイロなどのハードウェアをカメラに装着してジャイロの出力情報を用いて撮影方式を推定する方法があった。
【０００４】
【発明が解決しようとする課題】
しかしながら、前者の設定方法では、合成処理に際して操作者が撮影方式を入力する必要があり、撮影時の状況を覚えておかなければならず、負荷が大きかった。また、後者の設定方法ではカメラにジャイロなどの検出装置を装着する必要があり、カメラが大型化してしまうというデメリットがあり、さらにオフラインで合成処理を行う場合、ジャイロ出力情報等を何らかの方法で保持する必要があった。
【０００５】
そこで、本発明は、上記問題点を鑑みてなされたものであり、画像だけを利用して自動的に合成方法を選択することができる画像処理方法、装置および記録媒体を提供することを目的とする。
【０００６】
本発明の他の目的は、画像を用いて撮影方法を判別し、撮影方法に応じた画像合成を行うことにより、撮影方法に応じてより高精度な画像合成を行うことである。
【０００７】
本発明の更に別の目的は、複数の合成方法のうち少なくとも１つの合成方法に基づいた画像合成を評価して、適切な合成方法を選択することである。
【０００８】
本発明の更に別の目的は、複数の画像が有する重複領域内において対応点を抽出してより正確に合成方法を選択することである。
【０００９】
本発明の更に別の目的は、円筒写像変換や球面写像変換を用いることにより、並進撮影かパンニング撮影かの判別をより容易にすることができるようにすることである。
【００１０】
本発明の更に別の目的は、３６０゜パノラマ画像をより高精度に、かつ自動的に合成できるようにすることである。
【００１１】
【課題を解決するための手段】
上記目的を達成するために、本発明の画像処理方法は、複数の画像を入力する入力工程と、前記複数の画像を用いて、複数の合成方法のうち少なくとも１つの合成方法に基づいた画像合成を評価する評価工程と、前記評価に応じて、前記複数の合成方法の中から適切な合成方法を選択する選択工程とを有する。
【００１９】
本発明の記録媒体は、複数の画像を入力する入力工程と、前記複数の画像を用いて、複数の合成方法のうち少なくとも１つの合成方法に基づいた画像合成を評価する評価工程と、前記評価に応じて、前記複数の合成方法の中から適切な合成方法を選択する選択工程とを実行させるプログラムを、コンピュータで読み取り可能に記録する。
【００２７】
本発明の画像処理装置は、複数の画像を入力する入力手段と、前記複数の画像を用いて、複数の合成方法のうち少なくとも１つの合成方法に基づいた画像合成を評価する評価手段と、前記評価に応じて、前記複数の合成方法の中から適切な合成方法を選択する選択手段とを有する。
【００３５】
本発明の画像処理方法は、複数の画像を入力する入力工程と、前記複数の画像が有する重複領域内において対応点を抽出する抽出工程と、前記対応点に基づいて、複数の合成方法のうち少なくとも１つの合成方法に基づいた画像合成を評価する評価工程と、前記評価に応じて、前記複数の合成方法の中から適切な合成方法を選択する選択工程とを有する。
【００４１】
【発明の実施の形態】
本発明の画像処理方法、装置および記録媒体の実施の形態について説明する。
【００４２】
［第１の実施形態］
図１は第１の実施形態における画像処理装置の構成を示すブロック図である。図において、１は画像合成処理部、１００は撮影した画像を入力する画像入力部、１０４は入力した画像を一時保持する画像メモリ、１０１は画像メモリ１０４に保持された画像間の対応点情報を抽出する対応点抽出部である。
【００４３】
１０２は抽出された対応点情報を基に撮影時の撮影方式を判別する撮影方式判別部、１０３は判別された撮影方式に応じて、各々の画像を適切に合成する合成処理部、１０５は合成された画像を保持する合成画像メモリである。
【００４４】
撮影方式判別部１０２で判別される撮影方式としては、撮影方向を変えずに撮影位置を変えて撮影する並進撮影と、撮影位置を変えずに撮影方向を変えて撮影するパンニング撮影などがある。図２は原稿画像などを撮影する場合の並進撮影を示す図である。カメラを位置１で撮影した後に位置２に移動して再度撮影する。位置１から位置２に移動する際の主な変化には、並進（△ｘ，△ｙ）、回転（θ）および倍率差（ここでは、被写体までの距離ｍとしている）がある。この撮影を並進撮影と呼ぶものとする。
【００４５】
図３は風景等を撮影する場合のパンニング撮影を示す図である。カメラを位置１、位置２および位置３に設定して撮影する。この際の主な変化には、ＸＹＺ各軸回りの回転（ψ，φ，θ）がある。特に、カメラを横方向に回転させながら逐次撮影しているので、Ｙ軸回りの回転φが支配的な変化要因となる。これをパンニング撮影と呼ぶものとする。
【００４６】
撮影方式判別部１０２は、本実施形態では撮影方式として並進撮影であるかパンニング撮影であるかを判別する。
【００４７】
つぎに、上記構成を有する画像合成装置の動作について説明する。図４は画像合成装置の画像合成処理手順を示すフローチャートである。まず、画像入力部１００により画像データを入力する（ステップＳ１）。入力される画像データとしては、カメラにより撮影された画像をＡ／Ｄ変換によりデジタル化したものが用いられるが、カメラで撮影された画像に限らず、記録媒体あるいは記憶素子等に保持された画像を読み込んでもよい。
【００４８】
画像入力部１００により入力した画像を画像メモリ１０４に一時保持する（ステップＳ２）。２つの画像を入力しているか否かを判別する（ステップＳ３）。２つの画像を入力している場合、入力した２つの画像を用いて対応点抽出処理を実行する（ステップＳ４）。図５は対応点抽出処理を概略的に示す図である。画像メモリ１０４内の画像２００Ｌおよび２００Ｒを用い、次の手順で対応点を抽出する。
（１）基準画像２００Ｌ上の点Ｐ１Ｌを中心としてｐ×ｐ画素からなるテンプレート２０１を設定する。
（２）参照画像２００Ｒ上に設定したサーチエリア２０２内でテンプレート２０１を移動させながら各移動点における相関値Ｚｍｎを数式（１）により生成する。
【００４９】
【数１】
0004174122.tif 000002
【００５０】
（３）参照画像２００Ｒ上の各移動点における相関値Ｚｍｎを比較して最大値を与える点を抽出する。
（４）最大の相関値を与える移動量を（ｍ’ｎ’）とすると、点Ｐ１Ｌの座標を（ｉ，ｊ）として対応点の座標（ｉ’，ｊ’）はｉ’＝ｉ−ｍ’，ｊ’＝ｊ−ｎ’の式より定まる。
【００５１】
対応点抽出部１０１では、図５の画像２００Ｌに複数のテンプレートを設定して各テンプレートに対する対応点を上記（１）から（４）の手順により抽出する。抽出した対応点は図示しないメモリに保持される。
【００５２】
ステップＳ４で抽出された対応点情報を基に撮影方式判別部１０２は撮影方式の判別を行う（ステップＳ５）。つづいて、撮影方式の判別について説明する。
【００５３】
図６は並進撮影およびパンニング撮影により得られる画像間の対応点を模式的に示す図である。同図（Ａ）に示す対応点の座標間の関係は数式（２）に示すアフィン変換により記述できる。
【００５４】
【数２】
ｘ’＝Ａｘ＋Ｂｙ＋Ｃ
ｙ’＝−Ｂｘ＋Ａｙ＋Ｄ
ここで、（ｘ，ｙ）は同図（Ａ）の画像３００Ｌ上の座標であり、（ｘ’，ｙ’）は画像３００Ｒ上の座標を示す。また、同図（Ｂ）に示す対応点の座標間の関係は数式（３）に示すプロジェクション変換により記述できる。
【００５５】
【数３】
0004174122.tif 000003
【００５６】
図７は撮影方式判別部１０２における撮影方式判別処理手順を示すフローチャートである。まず、対応点抽出部１０１で得られた対応点情報を図示しないメモリより読み込む（ステップＳ１１）。
【００５７】
読み込んだ対応点を用いて上記数式（２）および数式（３）により示される各々の変換式を基に最小二乗法による演算処理を行って、画像合成が良好に行われたかを評価するために合成誤差を計算する（ステップＳ１２）。最小二乗法による評価式を以下に示す。アフィン変換の場合、数式（４）の誤差Ｅ２を最小にするパラメータＡ，Ｂ，ＣおよびＤを算出する。
【００５８】
【数４】
0004174122.tif 000004
【００５９】
また、プロジェクション変換の場合、数式（５）の誤差Ｅ３を最小にするパラメータｍ1〜ｍ8を算出する。
【００６０】
【数５】
0004174122.tif 000005
【００６１】
ステップＳ１２で得られる誤差Ｅ２を数式（６）により比較する（ステップＳ１３）。
【００６２】
【数６】
Ｅ２＜Ｔｈ
即ち、誤差Ｅ２が予め設定したしきい値Ｔｈより小さい場合、アフィン変換つまり撮影方式が並進撮影であると判別する（ステップＳ１５）。一方、誤差Ｅ２が予め設定したしきい値Ｔｈ以上である場合、誤差Ｅ２を数式（７）により誤差Ｅ３と比較する（ステップＳ１４）。
【００６３】
【数７】
Ｅ２≦Ｅ３
即ち、誤差Ｅ２が誤差Ｅ３以下の場合、アフィン変換つまり並進撮影であると判別し（ステップＳ１５）、誤差Ｅ３が誤差Ｅ２より小さい場合、プロジェクション変換つまりパンニング撮影であると判別する（ステップＳ１６）。判別結果はパラメータと共に合成処理部１０３に与えられる。
【００６４】
ステップＳ５の判別結果に基づいて合成処理を行う（ステップＳ６）。図８は合成画像メモリ１０５を展開した合成処理を示す図である。同図（Ａ）は並進撮影と判別された場合の合成処理を示し、同図（Ｂ）はパンニング撮影と判別された場合の合成処理を示している。
【００６５】
合成処理部１０３は次の手順で合成処理を行う。
（１）合成パラメータを基に画像間のつなぎ目位置Ｓを設定する。
（２）画像メモリ１０４より画像２００Ｌを読み出し、つなぎ目Ｓの左側の領域を合成画像メモリ１０５に書き込む。
（３）画像２００Ｒを基につなぎ目位置Ｓの右側の領域を合成画像メモリ１０５に書き込む。同図（Ａ）の点Ｐ１（ｘ，ｙ）に対応する画像２００Ｒ上の座標（ｘ’，ｙ’）を数式（２）により算出する。また、同図（Ｂ）の点Ｐ２（ｘ，ｙ）に対応する画像２００Ｒ上の座標を数式（３）により算出する。
（４）対応する画像２００Ｒ上の座標（ｘ’，ｙ’）における画素値を前記点Ｐ１（ｘ，ｙ）あるいは点Ｐ２（ｘ，ｙ）の画素値として書き込む。これにより合成処理が実行される。
【００６６】
尚、上記（３）の手順で対応する座標（ｘ’，ｙ’）が小数点を含む場合、公知の補間処理を用いて画素値を生成してもよい。
【００６７】
図４のステップＳ１〜Ｓ６の処理が完了すると、図８に示すように合成画像が合成画像メモリ１０５に書き込まれる。
【００６８】
第１の実施形態の画像合成装置によれば、撮影方式を画像だけから判別し、判別結果に基づいて最適な合成処理を施すので、ユーザーが撮影方式を記憶する必要がなく、しかも常に高画質の合成画像を得ることができる。
【００６９】
尚、合成方法が撮影方式と対応していなくても、合成誤差が十分に小さい場合、その合成方法によって画像合成されることになるが、この場合も適切な合成方法を選択しているので、何ら問題はない。
【００７０】
又、合成パラメータの生成等においては、一方の画像を他方に対して一画素ずつずらしたり、又は変形させることにより重なり部分の相関値を計算して求めることもできる。さらに、対応点の抽出を行って、対応点の情報を利用した方が計算が少なくて済むので、処理時間の短縮を図ることができる。
【００７１】
［第２の実施形態］
図９は第２の実施形態における画像処理装置の構成を示すブロック図である。前記第１の実施形態と同一の構成要素については同一の符号を付してその説明を省略する。
【００７２】
第２の実施形態の画像処理装置において特徴的部分は、焦点距離入力部１０６、画像変換部１０９、撮影方式判別部１０７および合成処理部１０８である。
【００７３】
焦点距離入力部１０６は撮影時の焦点距離を入力するものである。焦点距離の入力は、ユーザーが数値をキーボード等で入力することにより行ってもよいし、複数の値の中から選択してもよい。また、撮影時に画像と共に焦点距離情報を記録し、記録した情報を焦点距離入力部１０６が読み込むようにしてもよい。
【００７４】
画像変換部１０９は焦点距離を用いて画像データを変換する。変換は円筒写像変換処理である。対応点抽出部１０１０、１０１１は、画像間の対応点を抽出する。抽出処理方式は前記第１の実施形態と同様である。
【００７５】
撮影方式判別部１０７は前記第１の実施形態と同様に撮影方式として、並進撮影かパンニング撮影かを判別する。但し、評価方式が前記第１の実施形態とは異なる。合成処理部１０８は判別された撮影方式に基づいて画像を合成する。
【００７６】
上記構成を有する第２の実施形態における画像処理装置の動作について説明する。前記第１の実施形態と同様の処理については同一の符号を付すことによりその説明を省略する。
【００７７】
画像変換部１０９は画像メモリ１０４に記憶された画像データを焦点距離入力部１０６により得られる焦点距離を基に円筒写像変換する。図１０は画像変換部１０９における円筒写像変換処理を示す図である。
【００７８】
図において、２００は画像メモリ１０４より読み込んだオリジナル画像であり、２０１は円筒写像変換後の画像である。円筒写像前の座標を（ｘ，ｙ）とし、円筒写像後の座標を（φ，ｖ）とすると、数式（８）に示す関係となる。
【００７９】
【数８】
0004174122.tif 000006
【００８０】
画像変換部１０９では、数式（８）にしたがって画像を変換する。図１１は変換後の画像を概略的に示す図である。第２の実施形態における画像合成装置の画像合成処理部２は、オリジナル画像間の対応点抽出処理を対応点抽出部１０１０で行い、円筒写像変換画像を用いた対応点抽出処理を対応点抽出部１０１１で実行する。従って、２組の対応点ペアが生成される。
【００８１】
撮影方式判別部１０７では、対応点抽出部１０１０、１０１１において生成された対応点情報を用いて撮影方式の判別を行う。
【００８２】
図１２は撮影方式判別部１０７における撮影方式判別処理手順を示すフローチャートである。まず、対応点抽出部１０１０、１０１１において得られた対応点情報を図示しないメモリから読み込む（ステップＳ２１）。
【００８３】
読み込んだ対応点を用いて上記数式（２）により示される各々の変換式を基に最小二乗法による演算処理を行う（ステップＳ２２）。
【００８４】
尚、ここで数式（２）たけを用いる理由は、パンニング撮影で撮影された画像であっても、円筒写像変換した画像はアフィン変換で座標変換するためである。つまり、円筒写像変換した画像としない画像とを用意し、それぞれの合成誤差を数式（２）を用いて計算すれば、適切な合成方法を選択できるのである。
【００８５】
第２の実施形態の処理では、画像変換部１０９において円筒写像変換した画像を用いているため、並進撮影およびパンニング撮影のいずれの場合も数式（２）のアフィン変換で座標変換を表すことができる。
【００８６】
最小二乗法による評価式を数式（９）に示す。オリジナル画像間の対応点抽出で得られた対応点ペアを（ｘ0，ｙ0）−（ｘ0’，ｙ0’）とし、円筒写像変換画像間の対応点抽出で得られた対応点ペアを（ｘs，ｙs）−（ｘs’，ｙs’）として、数式（９）の誤差Ｅ４およびＥ５を最小にするパラメータＡ0，Ｂ0，Ｃ0，Ｄ0およびＡs，Ｂs，Ｃs，Ｄsを算出する。
【００８７】
【数９】
0004174122.tif 000007
【００８８】
次に、ステップＳ２２で得られる誤差Ｅ４がしきい値Ｔｈより小さいか否かの比較（Ｅ４＜Ｔｈ）を行う（ステップＳ２３）。即ち、誤差Ｅ４が予め設定したしきい値Ｔｈより小さい場合、撮影方式が並進撮影であると判別して並進撮影に対応した合成方法を選択する（ステップＳ２５）。
【００８９】
次に、誤差Ｅ４がしきい値Ｔｈ以上である場合、誤差Ｅ４が誤差Ｅ５以下であるか否かの比較（Ｅ４＜＝Ｅ５）を行う（ステップＳ２４）。そして、誤差Ｅ４が誤差Ｅ５以下の場合、並進撮影であると判別し（ステップＳ２５）、誤差Ｅ５が誤差Ｅ４より小さい場合、パンニング撮影であると判別とし、それぞれの判別に応じた合成方法を選択して（ステップＳ２６）、処理を終了する。判別結果はパラメータと共に合成処理部１０８に与えられる。
【００９０】
合成処理部１０８の動作は基本的には前記第１の実施形態と同様である。前記第１の実施形態と異なる動作として、撮影方式判別部１０７は、パンニング撮影と判別された場合、画像メモリ１０４からオリジナルの画像を読み込み、画像変換部１０９と同様の処理により円筒写像変換画像に変換した後、上記パラメータＡs，Ｂs，Ｃs，Ｄsを用いて合成画像メモリ１０５に画素値を書き込む。
【００９１】
図１３はパンニング撮影であると判別された場合の合成画像を示す図である。ここで、画像合成の際に再度円筒写像変換処理を実行しているが、画像変換部１０９は生成した合成画像を画像メモリ１０４に保持しておき、合成処理部１０８が保持されている円筒写像変換画像を読み出して合成することも可能である。
【００９２】
尚、パンニング撮影での合成画像の画角があまり大きくない場合、第１の実施形態のプロジェクション変換をして画像を合成した方が良好な場合がある。このような場合には、パンニング撮影の判定の後に、画角に応じて合成方法を切り換えてもよい。
【００９３】
また、これまではパンニング撮影時に一方向（例えば左右方向）のみで撮影方向を変えていたが、二方向以上（例えば上下左右方向）で撮影方向を変えた場合には、周知の球面写像変換を利用する方が好ましく、このような場合でも、合成方法を切り換えるようにしてもよい。
【００９４】
［第３の実施形態］
図１４は第３の実施形態における画像処理装置の構成を示すブロック図である。第３の実施形態ではｎ枚画像の合成に対応した処理を行うことに特徴を有する。尚、第３の実施形態における画像合成処理部は前記第１の実施形態の画像合成処理部１と同様の構成を有する。
【００９５】
図において、１１１はｎ画像統合部であり、ｎ枚の画像を合成するための各種情報を演算により生成して保持する。１１２は焦点距離推定部であり、焦点距離の推定を行う。したがって、第３実施形態では焦点距離が未知の場合でも対応可能である。但し、焦点距離が既知である場合、別途入力手段を設けて焦点距離の値を入力してもよい。１１３はメイン画像メモリであり、ｎ枚の画像情報を保持している。１１４はｎ画像合成部であり、ｎ枚の画像を合成して１枚のパノラマ画像を生成する。
【００９６】
図１５および図１６は第３の実施形態における画像合成処理手順を示すフローチャートである。まず、メイン画像メモリ１１３より２つの画像を画像合成処理部１に読み込む（ステップＳ３１）。尚、画像枚数は図示しない手段によりｎ画像統合部１１１が保持しているものとする。
【００９７】
画像合成処理部１は前記第１の実施形態と同様の方式により２つの画像を合成する（ステップＳ３２）。ここで、合成画像メモリ１０５に保持されている合成画像を図示しない表示部に表示し、ユーザが合成結果を確認するようにすることも可能である。また、各画像間の対応点座標データ、合成パラメータおよび撮影方式に関する情報はｎ画像統合部１１１に保持される。
【００９８】
ｎ枚の画像間の合成処理が終了したか否かを判別する（ステップＳ３３）。ｎ枚の画像間の合成処理が終了していない場合、ステップＳ３１に戻って処理を繰り返す。一方、ｎ枚の画像間の合成処理が終了している場合、ｎ画像統合部１１１に保持されているｎ−１個の撮影方式の判別結果情報をチェックし、多数決によりｎ枚の画像間の撮影方式を並進撮影であるかパンニングであるか決定する（ステップＳ３４）。
【００９９】
ステップＳ３４で決定した撮影方式の判別結果を判別する（ステップＳ３５）。即ち、並進撮影であると判別された場合、ｎ画像統合部１１１に保持している各画像間の対応点情報を順次読み出し、数式（２）にしたがって最小二乗法によりアフィン変換パラメータＡi，Ｂi，Ｃi，Ｄiを算出する（ステップＳ３６）。
【０１００】
算出したアフィン変換パラメータを、画像１を基準とした合成パラメータＡi’，Ｂi’，Ｃi’，Ｄi’に変換する（ステップＳ３７）。図１７は合成パラメータの変換の後、ｎ枚の画像を繋げた様子を示す図である。
【０１０１】
変換した合成パラメータＡi’，Ｂi’，Ｃi’，Ｄi’を用いて、ｎ画像合成部１１４により図１７に示すように数式（２）の座標変換に基づいて各点の画素値を生成してメイン画像メモリ１１３に書き込む（ステップＳ３８）。画素値の生成方式は前記第１の実施形態と同様である。
【０１０２】
一方、ステップＳ３５でパンニング撮影であると判別された場合、３６０度合成であるかを確認するメッセージを図示しない表示部に表示する（ステップＳ３９）。３６０度合成であるか否かを判別する（ステップＳ４０）。３６０度合成でない場合、焦点距離推定部１１２において以下の方式により焦点距離を推定する（ステップＳ４１）。
【０１０３】
図３に示すようにパンニング撮影はＸＹＺ軸回りの回転（ψ，φ，θ）により視野を変えて撮影する。したがって、各画像間の座標変換マトリクスＭは、数式（１０）により表される。
【０１０４】
【数１０】
0004174122.tif 000008
【０１０５】
数式（３）にしたがって座標変換マトリクスを記述すると、数式（１１）に示すようになる。
【０１０６】
【数１１】
0004174122.tif 000009
【０１０７】
そして、数式（１０）および数式（１１）より数式（１２）に示す関係が成り立つ。
【０１０８】
【数１２】
0004174122.tif 000010
【０１０９】
したがって、焦点距離推定部１１２においては数式（１２）を用いて焦点距離を推定する。この場合のパラメータｍ1〜ｍ7は、ｎ画像統合部１１１に保持されているパンニング撮影と判別された場合のパラメータを用いる。また、パラメータの組は複数存在するので、各パラメータにより得られる焦点距離ｆkの中央値を用いる。推定された焦点距離ｆはｎ画像統合部１１１に保持される。
【０１１０】
生成されたパラメータｆを用いてｎ画像合成部１１４は合成画像を生成する（ステップＳ４２）。第２の実施形態に示すように、合成画像を円筒写像変換画像に変換し、図１３に示すようにｎ画像の合成画像を生成してメイン画像メモリ１１３に書き込む。
【０１１１】
一方、ステップＳ４０で３６０度合成である場合、１枚目とｎ枚目の画像が重複することになるので、１枚目の画像とｎ枚目の画像間の座標変換パラメータ推定を実行する（ステップＳ４３）。これは、メイン画像メモリ１１３より１枚目およびｎ枚目の画像を読み出し、合成画像処理部１で前述した処理を実行することにより得られる。生成されるパラメータ等の情報はｎ画像統合部１１１に保持される。
【０１１２】
焦点距離推定部１１２で焦点距離を推定する（ステップＳ４４）。図１８は各画像における視野角を示す図である。各画像における視野角をωkとすると、数式（１３）により視野角ωkは得られる。
【０１１３】
【数１３】
ωk＝ｔａｎ-1（ｘk／ｆ）
ここで、ｘkは画像間の重複領域の中心線Ｓを求めることにより得られる。図１９は画像間の重複領域の中心線Ｓを示す図である。したがって、ｎ画像統合部１１１において各画像間の重複領域を座標変換パラメータを基に算出し、上記ｘkを求める。
【０１１４】
ｎ枚の画像で３６０度の視野をカバーしているので、図１８に示すようにω1からωnで３６０度（２π）となる。これを表すと数式（１４）が得られる。
【０１１５】
【数１４】
0004174122.tif 000011
【０１１６】
数式１４をニュートン法等を用いて解くことにより焦点距離ｆを推定する。推定した焦点距離ｆは、ｎ画像統合部１１１に保持する。また、ｎ画像統合部１１１は各画像間の対応点座標を焦点距離ｆを基に円筒写像変換し、変換した対応点座標を用いて数式（２）にしたがってパラメータを生成する。さらに生成したパラメータを基準画像（例えば画像１）を基にした値に変換して全画像合成に用いる。
【０１１７】
以上により、第２の実施形態の焦点距離ｆの値も画像情報のみから自動的に得ることができる。
【０１１８】
３６０度合成の結果、１枚目とｎ枚目のつなぎ目が滑らかとなるような変換処理を行う（ステップＳ４５）。図２０は変換処理前の合成画像を示す図である。変換処理を行わないと、１枚目の画像とｎ枚目の画像の夫々の画像において設定される基準線がずれたままとなる。
【０１１９】
図２１は変換処理後の合成画像を示す図である。１枚目の画像とｎ枚目の画像の夫々の画像において設定される基準線が一致するように変換されている。図２２は変換処理を概略的に示す図である。
【０１２０】
図２２に示すように、全周の始点Ｐ1と終点ＰNを設定し、点ＰNにおいて画像１の基準線と画像ｎの基準線が一致するように画像を変換する。この場合、点ＰNにおける基準線のズレはＤであり、始点Ｐ1と終点ＰN間はＨ画素であるので、始点Ｐ1を合成画像における水平方向の始点とすると、数式（１５）により得られる値ｄｖ（ｘ）分だけ垂直方向の書き込み座標をシフトする。
【０１２１】
【数１５】
0004174122.tif 000012
【０１２２】
ｎ画像統合部１１１は数式（１５）の係数Ｄ／Ｈを生成して保持する。ｎ画像統合部１１４は合成画像の生成を行う（ステップＳ４６）。合成画像生成の際、数式（８）により円筒写像変換処理および数式（１５）の変換処理を実行しながら合成画像の画素値を生成し、メイン画像メモリ１１３に書き込む。
【０１２３】
このように、パンニング方向に対して一定の割合で画像を歪ませることにより、全体的に画像を歪ませてずれを目立たなくすることができる。
【０１２４】
図２３は生成される合成画像を概略的に示す図である。合成画像は図示しない表示部に表示される。また、上記処理を施すことにより、円筒状にずれのない３６０度全周画像が自動的にマッピングされた画像が生成される。図２４は円筒状に３６０度全周画像がマッピングされた画像の生成を示す図である。
【０１２５】
［第４の実施形態］
図２５は第４の実施形態における画像処理装置が実現されるコンピュータシステムの構成を示すブロック図である。第４の実施形態では、前記第１実施形態における画像合成処理の内容をプログラム化して記録媒体に記録し、コンピュータシステム上で動作するようにされている。
【０１２６】
図において、１２０は各種データを保持するメモリ、１２１はＣＰＵ、１２２は記録媒体の情報を再生する再生部、１２３は表示部、１２４は記録媒体である。
【０１２７】
図２６は第４の実施形態における画像合成処理手順を示すフローチャートである。この処理プログラムは記録媒体１２４に格納されており、ＣＰＵ１２１によって実行される。まず、ユーザが合成に用いる画像を選択する（ステップＳ５１）。各画像間の配置をユーザにより設定する（ステップＳ５２）。配置に基づいて隣接する２つの画像をメモリ１２０に読み込む（ステップＳ５３）。
【０１２８】
読み込んだ画像間の対応点を抽出する（ステップＳ５４）。対応点情報に基づいて撮影方式を判別する（ステップＳ５５）。判別された撮影方式に基づいて最適な合成処理方式を設定し、合成パラメータを生成する（ステップＳ５６）。
【０１２９】
合成パラメータに基づいて２つの画像を合成する（ステップＳ５７）。合成した画像を表示する（ステップＳ５８）。隣接する２画像間の合成が終了したか否かを判別する（ステップＳ５９）。
【０１３０】
２画像間の合成が終了していない場合、ステップＳ５３に戻って２画像の合成処理を繰り返す。一方、２画像間の合成処理が終了している場合、各パラメータを基準画像に対する値に変換する。変換した合成パラメータに基づいて全画像を合成する（ステップＳ６１）。尚、各ステップの処理内容は前述した各実施形態と同様である。
【０１３１】
尚、記録媒体としては、ＲＯＭなどのメモリに限らず、例えばフロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ、磁気テープ、不揮発性のメモリカードなどを用いることができる。
【０１３２】
また、本発明は、上記実施形態に限らず、特許請求の範囲に記載された範囲内で様々な変形、応用が可能である。
【０１３３】
【発明の効果】
本発明によれば、画像だけを利用して自動的に合成方法を選択することができる。また、画像を用いて撮影方法を判別し、撮影方法に応じた画像合成を行うことにより、撮影方法に応じてより高精度な画像合成を行うことができる。さらに、複数の合成方法のうち少なくとも１つの合成方法に基づいた画像合成を評価して、適切な合成方法を選択することができる。また、複数の画像が有する重複領域内において対応点を抽出してより正確に合成方法を選択することができる。さらに、円筒写像変換や球面写像変換を用いることにより、並進撮影かパンニング撮影かの判別をより容易にすることができる。また、３６０゜パノラマ画像をより高精度に、かつ自動的に合成できる。
【図面の簡単な説明】
【図１】第１の実施形態における画像処理装置の構成を示すブロック図である。
【図２】原稿画像などを撮影する場合の並進撮影を示す図である。
【図３】風景等を撮影する場合のパンニング撮影を示す図である。
【図４】画像合成装置の画像合成処理手順を示すフローチャートである。
【図５】対応点抽出処理を概略的に示す図である。
【図６】並進撮影およびパンニング撮影により得られる画像間の対応点を模式的に示す図である。
【図７】撮影方式判別部１０２における撮影方式判別処理手順を示すフローチャートである。
【図８】合成画像メモリ１０５を展開した合成処理を示す図である。
【図９】第２の実施形態における画像処理装置の構成を示すブロック図である。
【図１０】画像変換部１０９における円筒写像変換処理を示す図である。
【図１１】変換後の画像を概略的に示す図である。
【図１２】撮影方式判別部１０７における撮影方式判別処理手順を示すフローチャートである。
【図１３】パンニング撮影であると判別された場合の合成画像を示す図である。
【図１４】第３の実施形態における画像処理装置の構成を示すブロック図である。
【図１５】第３の実施形態における画像合成処理手順を示すフローチャートである。
【図１６】図１５につづく第３の実施形態における画像合成処理手順を示すフローチャートである。
【図１７】合成パラメータの変換の後、ｎ枚の画像を繋げた様子を示す図である。
【図１８】各画像における視野角を示す図である。
【図１９】画像間の重複領域の中心線Ｓを示す図である。
【図２０】変換処理前の合成画像を示す図である。
【図２１】変換処理後の合成画像を示す図である。
【図２２】変換処理を概略的に示す図である。
【図２３】生成される合成画像を概略的に示す図である。
【図２４】円筒状に３６０度全周画像がマッピングされた画像の生成を示す図である。
【図２５】第４の実施形態における画像処理装置が実現されるコンピュータシステムの構成を示すブロック図である。
【図２６】第４の実施形態における画像合成処理手順を示すフローチャートである。
【符号の説明】
１  第１の実施形態の画像合成処理部
２  第２の実施形態の画像合成処理部
１００  画像入力部
１０１、１０１０、１０１１  対応点抽出部
１０２、１０７  撮影方式判別部
１０３  合成処理部
１０４  画像メモリ
１０５  合成画像メモリ
１０６  焦点距離入力部
１０９  画像変換部
１１１  ｎ画像統合部
１１２  焦点距離推定部
１１３  メイン画像メモリ
１１４  ｎ画像合成部
１２１  ＣＰＵ
１２４  記録媒体
【図１】
0004174122.tif 000013
【図２】
0004174122.tif 000014
【図３】
0004174122.tif 000015
【図４】
0004174122.tif 000016
【図５】
0004174122.tif 000017
【図６】
0004174122.tif 000018
【図７】
0004174122.tif 000019
【図８】
0004174122.tif 000020
【図９】
0004174122.tif 000021
【図１０】
0004174122.tif 000022
【図１１】
0004174122.tif 000023
【図１２】
0004174122.tif 000024
【図１３】
0004174122.tif 000025
【図１４】
0004174122.tif 000026
【図１５】
0004174122.tif 000027
【図１６】
0004174122.tif 000028
【図１７】
0004174122.tif 000029
【図１８】
0004174122.tif 000030
【図１９】
0004174122.tif 000031
【図２０】
0004174122.tif 000032
【図２１】
0004174122.tif 000033
【図２２】
0004174122.tif 000034
【図２３】
0004174122.tif 000035
【図２４】
0004174122.tif 000036
【図２５】
0004174122.tif 000037
【図２６】
0004174122.tif 000038