IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アポロ精工株式会社の特許一覧 ▶ テクノホライゾン株式会社の特許一覧

特許7628433画像合成装置、画像合成方法、及び、プログラム
<>
  • 特許-画像合成装置、画像合成方法、及び、プログラム 図1
  • 特許-画像合成装置、画像合成方法、及び、プログラム 図2
  • 特許-画像合成装置、画像合成方法、及び、プログラム 図3
  • 特許-画像合成装置、画像合成方法、及び、プログラム 図4
  • 特許-画像合成装置、画像合成方法、及び、プログラム 図5
  • 特許-画像合成装置、画像合成方法、及び、プログラム 図6
  • 特許-画像合成装置、画像合成方法、及び、プログラム 図7
  • 特許-画像合成装置、画像合成方法、及び、プログラム 図8
  • 特許-画像合成装置、画像合成方法、及び、プログラム 図9
  • 特許-画像合成装置、画像合成方法、及び、プログラム 図10
  • 特許-画像合成装置、画像合成方法、及び、プログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-31
(45)【発行日】2025-02-10
(54)【発明の名称】画像合成装置、画像合成方法、及び、プログラム
(51)【国際特許分類】
   G06T 3/4038 20240101AFI20250203BHJP
【FI】
G06T3/4038
【請求項の数】 5
(21)【出願番号】P 2021011147
(22)【出願日】2021-01-27
(65)【公開番号】P2022114734
(43)【公開日】2022-08-08
【審査請求日】2024-01-25
(73)【特許権者】
【識別番号】000101606
【氏名又は名称】アポロ精工株式会社
(73)【特許権者】
【識別番号】521126427
【氏名又は名称】テクノホライゾン株式会社
(74)【代理人】
【識別番号】100095407
【弁理士】
【氏名又は名称】木村 満
(74)【代理人】
【識別番号】100132883
【弁理士】
【氏名又は名称】森川 泰司
(74)【代理人】
【識別番号】100148149
【弁理士】
【氏名又は名称】渡邉 幸男
(74)【代理人】
【識別番号】100148633
【弁理士】
【氏名又は名称】桜田 圭
(72)【発明者】
【氏名】石井 均
(72)【発明者】
【氏名】小俣 孝夫
【審査官】秦野 孝一郎
(56)【参考文献】
【文献】特開2019-041188(JP,A)
【文献】特開2004-145592(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00-1/40
G06T 3/00-5/94
(57)【特許請求の範囲】
【請求項1】
第1画像と、該第1画像と少なくとも一部が重複する画像であって、該第1画像の位置から所定の移動量移動させた位置の画像である第2画像と、を合成する画像合成装置であって、
前記第1画像からn個(nは2以上の整数)のテンプレート領域を決定する決定手段と、
前記第1画像における各テンプレート領域と対応するテンプレート対応領域を、前記第2画像から検出する検出手段と、
各テンプレート領域から前記検出手段が検出したテンプレート対応領域への移動量を取得する取得手段と、
前記取得手段が取得した移動量が所定範囲内のテンプレート領域をグループ化するグループ化手段と、
前記グループ化手段がグループ化したグループから、含まれるテンプレート領域の数に基づいてグループを選出するグループ選出手段と、
前記グループ選出手段が選出したグループに含まれる各テンプレート領域からテンプレート対応領域への移動量に基づいて、前記第1画像の位置から前記第2画像の位置への移動量を特定する移動量特定手段と、
前記移動量特定手段が特定した移動量に基づいて、前記第1画像と前記第2画像とを合成する画像合成手段と、
を備え
前記画像合成手段は、
前記第1画像と前記第2画像と含む複数の画像それぞれに画像合成用の0以上1以下の係数を設定する係数設定手段と、
各画像の画素値と各画像に設定された係数とを掛け合わせて重み付けをし、前記複数の画像を合成する合成する合成手段と、を備え、
前記係数設定手段は、
前記複数の画像について、合成方向に対し、各画像の中心が1、端が0となるように減少関数の係数を設定し、
合成方向に対し、前記複数の画像のうちの一の画像の端より中心寄りに前記複数の画像のうちの他の画像の中心が位置する場合、該一の画像における該他の画像の中心に対応する位置の係数が0となるように該一の画像の係数を再設定し、
合成方向に対する各合成位置における各画像の係数を、該合成位置における全画像の係数の総和に対して正規化することで各画像の係数を再設定する
ことを特徴とする画像合成装置。
【請求項2】
前記検出手段は、前記第2画像において、各テンプレート領域と画像の相関値が所定値以上の領域を前記テンプレート対応領域として検出する
ことを特徴とする請求項1に記載の画像合成装置。
【請求項3】
前記グループ選出手段は、
前記グループ化手段がグループ化したグループから、含まれるテンプレート領域の数が最大のグループを選出し、
含まれるテンプレート領域の数が最大のグループが複数ある場合、グループ内の各テンプレート領域の画像と各テンプレート対応領域の画像との相関値が最も高いグループを選出する
ことを特徴とする請求項1または2に記載の画像合成装置。
【請求項4】
第1画像と、該第1画像と少なくとも一部が重複する画像であって、該第1画像の位置から所定の移動量移動させた位置の画像である第2画像と、を合成する画像合成装置における画像合成方法であって、
前記第1画像からn個(nは2以上の整数)のテンプレート領域を決定する決定ステップと、
前記第1画像における各テンプレート領域と対応するテンプレート対応領域を、前記第2画像から検出する検出ステップと、
各テンプレート領域から前記検出ステップで検出したテンプレート対応領域への移動量を取得する取得ステップと、
前記取得ステップで取得した移動量が所定範囲内のテンプレート領域をグループ化するグループ化ステップと、
前記グループ化ステップでグループ化したグループから、含まれるテンプレート領域の数に基づいてグループを選出するグループ選出ステップと、
前記グループ選出ステップで選出したグループに含まれる各テンプレート領域からテンプレート対応領域への移動量に基づいて、前記第1画像の位置から前記第2画像の位置への移動量を特定する移動量特定ステップと、
前記移動量特定ステップで特定した移動量に基づいて、前記第1画像と前記第2画像とを合成する画像合成ステップと、
を備え
前記画像合成ステップは、
前記第1画像と前記第2画像と含む複数の画像それぞれに画像合成用の0以上1以下の係数を設定する係数設定ステップと、
各画像の画素値と各画像に設定された係数とを掛け合わせて重み付けをし、前記複数の画像を合成する合成する合成ステップと、を備え、
前記係数設定ステップでは、
前記複数の画像について、合成方向に対し、各画像の中心が1、端が0となるように減少関数の係数を設定し、
合成方向に対し、前記複数の画像のうちの一の画像の端より中心寄りに前記複数の画像のうちの他の画像の中心が位置する場合、該一の画像における該他の画像の中心に対応する位置の係数が0となるように該一の画像の係数を再設定し、
合成方向に対する各合成位置における各画像の係数を、該合成位置における全画像の係数の総和に対して正規化することで各画像の係数を再設定する
ことを特徴とする画像合成方法。
【請求項5】
コンピュータを、
第1画像と、該第1画像と少なくとも一部が重複する画像であって、該第1画像の位置から所定の移動量移動させた位置の画像である第2画像と、を合成する画像合成装置として機能させるプログラムであって、
前記第1画像からn個(nは2以上の整数)のテンプレート領域を決定する決定手段、
前記第1画像における各テンプレート領域と対応するテンプレート対応領域を、前記第2画像から検出する検出手段、
各テンプレート領域から前記検出手段が検出したテンプレート対応領域への移動量を取得する取得手段、
前記取得手段が取得した移動量が所定範囲内のテンプレート領域をグループ化するグループ化手段、
前記グループ化手段がグループ化したグループから、含まれるテンプレート領域の数に基づいてグループを選出するグループ選出手段、
前記グループ選出手段が選出したグループに含まれる各テンプレート領域からテンプレート対応領域への移動量に基づいて、前記第1画像の位置から前記第2画像の位置への移動量を特定する移動量特定手段、
前記移動量特定手段が特定した移動量に基づいて、前記第1画像と前記第2画像とを合成する画像合成手段、
として機能させ
前記画像合成手段は、
前記第1画像と前記第2画像と含む複数の画像それぞれに画像合成用の0以上1以下の係数を設定する係数設定手段と、
各画像の画素値と各画像に設定された係数とを掛け合わせて重み付けをし、前記複数の画像を合成する合成する合成手段と、を備え、
前記係数設定手段は、
前記複数の画像について、合成方向に対し、各画像の中心が1、端が0となるように減少関数の係数を設定し、
合成方向に対し、前記複数の画像のうちの一の画像の端より中心寄りに前記複数の画像のうちの他の画像の中心が位置する場合、該一の画像における該他の画像の中心に対応する位置の係数が0となるように該一の画像の係数を再設定し、
合成方向に対する各合成位置における各画像の係数を、該合成位置における全画像の係数の総和に対して正規化することで各画像の係数を再設定する
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像合成装置、画像合成方法、及び、プログラムに関する。
【背景技術】
【0002】
2枚目の画像中に検出された1枚目の画像の特徴点の座標データを取出し、1枚目の画像と、2枚目の画像とを、1枚目の画像データとともに記憶された特徴点の座標と、2枚目の画像データ中に検出された特徴点の座標とが一致するように合成し、パノラマ画像を生成する技術が提案されている(例えば特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開平11-282100号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載の技術では、例えば2枚目の画像に繰り返しパターンなどが存在した場合等には、適切に特徴点を検出でず、適切な合成画像が生成されないおそれがあった。
【0005】
本発明は、上記実状に鑑みてなされたものであり、好適に画像を合成できる画像合成装置等を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明の画像合成装置は、
第1画像と、該第1画像と少なくとも一部が重複する画像であって、該第1画像の位置から所定の移動量移動させた位置の画像である第2画像と、を合成する画像合成装置であって、
前記第1画像からn個(nは2以上の整数)のテンプレート領域を決定する決定手段と、
前記第1画像における各テンプレート領域と対応するテンプレート対応領域を、前記第2画像から検出する検出手段と、
各テンプレート領域から前記検出手段が検出したテンプレート対応領域への移動量を取得する取得手段と、
前記取得手段が取得した移動量が所定範囲内のテンプレート領域をグループ化するグループ化手段と、
前記グループ化手段がグループ化したグループから、含まれるテンプレート領域の数に基づいてグループを選出するグループ選出手段と、
前記グループ選出手段が選出したグループに含まれる各テンプレート領域からテンプレート対応領域への移動量に基づいて、前記第1画像の位置から前記第2画像の位置への移動量を特定する移動量特定手段と、
前記移動量特定手段が特定した移動量に基づいて、前記第1画像と前記第2画像とを合成する画像合成手段と、
を備え
前記画像合成手段は、
前記第1画像と前記第2画像と含む複数の画像それぞれに画像合成用の0以上1以下の係数を設定する係数設定手段と、
各画像の画素値と各画像に設定された係数とを掛け合わせて重み付けをし、前記複数の画像を合成する合成する合成手段と、を備え、
前記係数設定手段は、
前記複数の画像について、合成方向に対し、各画像の中心が1、端が0となるように減少関数の係数を設定し、
合成方向に対し、前記複数の画像のうちの一の画像の端より中心寄りに前記複数の画像のうちの他の画像の中心が位置する場合、該一の画像における該他の画像の中心に対応する位置の係数が0となるように該一の画像の係数を再設定し、
合成方向に対する各合成位置における各画像の係数を、該合成位置における全画像の係数の総和に対して正規化することで各画像の係数を再設定する。
【0007】
前記検出手段は、前記第2画像において、各テンプレート領域と画像の相関値が所定値以上の領域を前記テンプレート対応領域として検出するようにしてもよい。
【0008】
前記グループ選出手段は、
前記グループ化手段がグループ化したグループから、含まれるテンプレート領域の数が最大のグループを選出し、
含まれるテンプレート領域の数が最大のグループが複数ある場合、グループ内の各テンプレート領域の画像と各テンプレート対応領域の画像との相関値が最も高いグループを選出するようにしてもよい。
【0010】
また、本発明の画像合成方法は、
第1画像と、該第1画像と少なくとも一部が重複する画像であって、該第1画像の位置から所定の移動量移動させた位置の画像である第2画像と、を合成する画像合成装置における画像合成方法であって、
前記第1画像からn個(nは2以上の整数)のテンプレート領域を決定する決定ステップと、
前記第1画像における各テンプレート領域と対応するテンプレート対応領域を、前記第2画像から検出する検出ステップと、
各テンプレート領域から前記検出ステップで検出したテンプレート対応領域への移動量を取得する取得ステップと、
前記取得ステップで取得した移動量が所定範囲内のテンプレート領域をグループ化するグループ化ステップと、
前記グループ化ステップでグループ化したグループから、含まれるテンプレート領域の数に基づいてグループを選出するグループ選出ステップと、
前記グループ選出ステップで選出したグループに含まれる各テンプレート領域からテンプレート対応領域への移動量に基づいて、前記第1画像の位置から前記第2画像の位置への移動量を特定する移動量特定ステップと、
前記移動量特定ステップで特定した移動量に基づいて、前記第1画像と前記第2画像とを合成する画像合成ステップと、
を備え
前記画像合成ステップは、
前記第1画像と前記第2画像と含む複数の画像それぞれに画像合成用の0以上1以下の係数を設定する係数設定ステップと、
各画像の画素値と各画像に設定された係数とを掛け合わせて重み付けをし、前記複数の画像を合成する合成する合成ステップと、を備え、
前記係数設定ステップでは、
前記複数の画像について、合成方向に対し、各画像の中心が1、端が0となるように減少関数の係数を設定し、
合成方向に対し、前記複数の画像のうちの一の画像の端より中心寄りに前記複数の画像のうちの他の画像の中心が位置する場合、該一の画像における該他の画像の中心に対応する位置の係数が0となるように該一の画像の係数を再設定し、
合成方向に対する各合成位置における各画像の係数を、該合成位置における全画像の係数の総和に対して正規化することで各画像の係数を再設定する。
【0011】
また、本発明のプログラムは、
コンピュータを、
第1画像と、該第1画像と少なくとも一部が重複する画像であって、該第1画像の位置から所定の移動量移動させた位置の画像である第2画像と、を合成する画像合成装置として機能させるプログラムであって、
前記第1画像からn個(nは2以上の整数)のテンプレート領域を決定する決定手段、
前記第1画像における各テンプレート領域と対応するテンプレート対応領域を、前記第2画像から検出する検出手段、
各テンプレート領域から前記検出手段が検出したテンプレート対応領域への移動量を取得する取得手段、
前記取得手段が取得した移動量が所定範囲内のテンプレート領域をグループ化するグループ化手段、
前記グループ化手段がグループ化したグループから、含まれるテンプレート領域の数に基づいてグループを選出するグループ選出手段、
前記グループ選出手段が選出したグループに含まれる各テンプレート領域からテンプレート対応領域への移動量に基づいて、前記第1画像の位置から前記第2画像の位置への移動量を特定する移動量特定手段、
前記移動量特定手段が特定した移動量に基づいて、前記第1画像と前記第2画像とを合成する画像合成手段、
として機能させ
前記画像合成手段は、
前記第1画像と前記第2画像と含む複数の画像それぞれに画像合成用の0以上1以下の係数を設定する係数設定手段と、
各画像の画素値と各画像に設定された係数とを掛け合わせて重み付けをし、前記複数の画像を合成する合成する合成手段と、を備え、
前記係数設定手段は、
前記複数の画像について、合成方向に対し、各画像の中心が1、端が0となるように減少関数の係数を設定し、
合成方向に対し、前記複数の画像のうちの一の画像の端より中心寄りに前記複数の画像のうちの他の画像の中心が位置する場合、該一の画像における該他の画像の中心に対応する位置の係数が0となるように該一の画像の係数を再設定し、
合成方向に対する各合成位置における各画像の係数を、該合成位置における全画像の係数の総和に対して正規化することで各画像の係数を再設定する。
【発明の効果】
【0012】
本発明によれば、好適に画像を合成できる。
【図面の簡単な説明】
【0013】
図1】実施の形態に係る画像合成装置の構成の一例を示すブロック図である。
図2】画像合成処理の一例を示すフローチャートである。
図3】移動量特定処理の一例を示すフローチャートである。
図4】合成前画像データの一例を示す図である。
図5】(A)~(D)は、対象範囲、テンプレート領域、検索範囲の決定例を示す図である。
図6】(A)、(B)は、グループ化処理の具体例を示す図である。
図7】特定した移動量に基づく第1画像及び第2画像の合成位置を示す図である。
図8】合成処理の一例を示すフローチャートである。
図9】画像を合成する際の重み付け用の係数の設定例を示す図である。
図10】画像を合成する際の重み付け用の係数の設定例を示す図である。
図11】(A)~(C)は、画像を合成する際の重み付け用の係数の設定例を示す図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態に係る画像合成装置について図面を参照しながら説明する。
【0015】
図1は、本発明の実施の形態に係る画像合成装置10の構成の一例を示すブロック図である。画像合成装置10は、複数の画像を合成して一の合成画像(パノラマ画像)を生成する装置である。画像合成装置10は、例えば、ディスプレイ11と、操作受付部12と、通信インタフェース13と、CPU(Central Processing Unit)14と、ROM(Read Only Memory)15と、RAM(Read Only Memory)16と、補助記憶装置17と、を備える。
【0016】
ディスプレイ11は、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ等の表示デバイスを含んで構成される。ディスプレイ11は、CPU14の制御の下、各種の画像(合成前画像、合成画像等)や画像合成のための操作画面等を表示する。
【0017】
操作受付部12は、キーボード、マウス、タッチパネル等の入力デバイスにより構成され、ユーザからの操作入力を受け付け、受け付けた操作に係る信号をCPU14に送出する。
【0018】
通信インタフェース13は、インターネット等のネットワークを介して通信するためのハードウェアであり、例えば、有線または無線LAN(Local Area Network)モジュールである。
【0019】
CPU14は、画像合成装置10を統括的に制御する。ROM15は、CPU14が実行する動作プログラムや各種のデータを記憶する。RAM16は、CPU14の作業領域として使用される。
【0020】
補助記憶装置17は、HDD(Hard Disk Drive)、SSD(Solid State Drive)といった記憶装置や、読み書き可能な不揮発性の半導体メモリで構成される。読み書き可能な不揮発性の半導体メモリは、例えば、EEPROM(Electrically Erasable Programmable Read-Only Memory)、フラッシュメモリ等である。補助記憶装置17には、複数の画像を合成して一の合成画像(パノラマ画像)を生成するためのプログラムが記憶される。即ち、補助記憶装置17には、パーソナルコピュータ等の情報処理装置を、本実施の形態の画像合成装置10として機能させるためのプログラムが記憶される。なお、画像合成装置10として機能させるためのプログラムは、ROM15に記憶されてもよい。
【0021】
なお、情報処理装置を、本実施の形態の画像合成装置10として機能させるためのプログラムは、ネットワークを介してダウンロードできるようにしてもよいし、CD(Compact Disc)-ROM、DVD(Digital Versatile Disc)、光磁気ディスク、USB(Universal Serial Bus)メモリ、メモリカード、HDD、SSD等のコンピュータ読み取り可能な記録媒体に格納して配布することも可能である。
【0022】
また、補助記憶装置17には、複数の合成前画像データ171が記憶される。複数の合成前画像データ171は、パノラマ合成前の画像データであり、撮影位置を所定方向に移動させながら共通の撮影対象を連続的に撮影した画像の画像データである。そのため、隣り合う合成前画像データ171は、少なくとも一部が重複する画像データであり、所定距離または所定角度ずれた位置における画像データとなっている。
【0023】
複数の合成前画像データ171は、CPU14により実行される画像合成処理により、パノラマ合成され、一の合成画像データ172が生成される。画像合成処理が実行されると、補助記憶装置17に合成画像データ172が記憶される。
【0024】
なお、合成前画像データ171は、USBメモリ、メモリカードを介して補助記憶装置17に記憶されてもよいし、通信インタフェース13を介して補助記憶装置17に記憶されてもよい。また、画像合成装置10がイメージセンサ等で構成される撮像手段を備えるようにして、合成前画像データ171は、撮像手段により連続的に撮像した画像データであってもよい。撮像手段は、連続的に撮像可能なデジタルカメラであってもよく、口腔カメラ、レントゲンカメラ、内視鏡等であってもよい。
【0025】
なお、図1に示した画像合成装置の構成は一例であり、構成が追加されてもよいし、一部の構成が省略されてもよい。
【0026】
また、画像合成装置10は、画像合成装置10として機能させるためのプログラムが格納された、汎用の情報処理装置(パーソナルコンピュータ、スマートフォン、タブレット等)で構成されてもよいし、専用のハードウェアであってもよい。
【0027】
続いて、画像合成装置10の動作について説明する。図2は、画像合成装置10のCPU14が実行する画像合成処理の一例を示すフローチャートである。CPU14は、補助記憶装置17に記憶されるプログラムに基づいて画像合成処理を実行する。画像合成処理では、先ず、CPU14は、補助記憶装置17から合成前画像データ171を取得する(ステップS1)。ステップS1では、例えばユーザによる操作受付部12の操作により指定された複数の合成前画像データ171を取得する。複数の合成前画像データ171は、図4に示すように、撮影位置を所定方向に移動させながら共通の撮影対象を連続的に撮影した画像(図4では第1画像、第2画像及び第3画像)の画像データであり、隣り合う合成前画像データ171は、少なくとも一部が重複している。また、複数の合成前画像データ171は、第N番目の合成前画像データ171である第1画像からの撮影順序が特定可能になっている。複数の合成前画像データ171は、サイズが異なっていてもよいし、図4に示すように垂直位置(上下方向の位置)がずれていてもよい。
【0028】
次に、CPU14は、合成前画像データ171に基づいて、各画像間の撮影位置の移動量を特定するための移動量特定処理を実行する(ステップS2)。複数の画像を合成してパノラマ画像を生成するためには、隣り合う画像間の撮影位置の移動量の特定の精度が重要になる。この実施の形態の画像合成装置10では、各画像にテンプレート領域を設定し、該テンプレート領域の移動量に基づいて、隣り合う画像間の移動量を特定する。
【0029】
図3は、ステップS2で実行される移動量特定処理の一例を示すフローチャートである。移動量特定処理では、CPU14は、先ず、画像番号に対応したNに1をセットする(ステップS201)。
【0030】
そして、CPU14は、第N番目の合成前画像データ171(第N画像)の対象範囲を決定する(ステップS202)。対象範囲とは、合成前画像データ171において、後述するテンプレート領域を決定する範囲である。対象範囲は、第N画像における少なくとも一部の領域であればよく、予め定められた位置、第N画像を分割した所定部分、第N画像の外縁部を除く所定部分、あるいは第N画像の全範囲等であればよい。また、第N画像の内容(なめらかさ、色の数等)に応じて対象範囲を自動で決定するようにしてもよい。
【0031】
第N画像における対象範囲を決定した後、CPU14は、対象範囲からn個のテンプレート領域を決定する(ステップS203)。テンプレート領域は、第N画像と第N+1番目の合成前画像データ171(第N+1画像)との間において、画像の相関(一致箇所)を比較する領域である。例えば、対象範囲における予め定められた位置のn個の領域がテンプレート領域に決定される。n個は予め定められた2以上の整数(例えば5)であればよい。
【0032】
図5(A)は、合成前画像データ171としての第1画像の対象範囲と、5個のテンプレート領域と、を示す図である。図5(A)に示すように合成前画像データ171(ここでは第1画像)の所定部分が対象範囲に決定され、対象範囲内において予め定められた配置(例えば図5(A)に示す配置)に5個のテンプレート領域(テンプレート1~5とする)が決定されればよい。
【0033】
なお、第N画像の画質(なめらかさ、解像度、色の数等)に応じてnの数や、テンプレート領域の位置が変化するようにしてもよい。
【0034】
このように、この実施の形態では、合成前画像データ171(第N画像)において対象範囲を決定してから、該対象範囲からテンプレート領域を決定する。これにより、合成前画像データ171の全範囲からテンプレート領域を決定する場合に比べて、処理負担を軽減でき、処理速度の向上が図れる。
【0035】
第N画像においてテンプレート領域を決定した後、CPU14は、第N+1画像において、各テンプレート領域に対応したテンプレート対応領域の検索範囲を決定する(ステップS204)。この実施の形態では、第N+1画像からテンプレート領域と相関の高いテンプレート対応領域を検索(検出)し、テンプレート領域からテンプレート対応領域の移動量に基づいて、第N画像の位置から第N+1画像の位置の移動量(単に第N画像から第N+1画像の移動量ともいう)を特定するようになっている。ステップS204では、第N+1画像からテンプレート対応領域を検索する検索範囲を決定している。検索範囲は、第N+1画像において、テンプレート対応領域が検出される蓋然性が高い領域であればよく、例えば、各テンプレート領域の位置に対応した位置に決定されればよい。検索範囲は、合成前画像データ171の撮影間隔(フレームレート)や画像の画質に応じて異なるようにしてもよい。例えば、撮影間隔が長い程、移動量が大きいと予想されるので、検索範囲が広くなるようにしてもよい。
【0036】
例えば、図5(A)に示す第1画像のテンプレート領域(テンプレート1、2、5)の配置に対して、図5(B)に示す第2画像の左上の所定部分がテンプレート1の検索範囲、図5(C)に示す第2画像の左下の所定部分がテンプレート2の検索範囲、図5(D)に示す第2画像の右下の所定部分がテンプレート5の検索範囲にそれぞれ決定される。テンプレート3、4の検索範囲も同様に決定されればよい。
【0037】
テンプレート領域の検索範囲を決定した後、CPU14は、第N+1画像における、各テンプレート領域の検索範囲から、テンプレート領域と対応するテンプレート対応領域を検索する(ステップS205)。ステップS205では、検索範囲において、テンプレート領域と画像(各画素の画素値)が一致する領域または相関値が予め定められた所定値(0.95等)以上の領域を、テンプレート対応領域として検出すればよい。テンプレート対応領域として検出する相関値の閾値(所定値)は、撮影間隔(フレームレート)が長い程、撮影対象が変化する可能性があるため、低くするようにしてもよい。
【0038】
このように、この実施の形態では、第N+1画像においてテンプレート領域を検索する検索範囲を決定してから、該検索範囲からテンプレート対応領域を検索する。これにより、第N+1画像の全範囲からテンプレート対応領域を検索する場合に比べて、処理負担を軽減でき、処理速度の向上が図れる。
【0039】
各テンプレート領域と対応するテンプレート対応領域を検索した後、CPU14は、各テンプレート領域からテンプレート対応領域への移動量(水平方向及び垂直方法の移動距離)を算出する(ステップS206)。
【0040】
そして、CPU14は、各テンプレート領域の移動量に基づいて、テンプレート領域のグループ化処理を実行する(ステップS207)。ステップS207のテンプレート領域のグループ化処理では、テンプレート領域の移動量(移動方向、移動距離)の相関値が所定範囲のテンプレート領域をグループ化する。例えば、テンプレート1~5のテンプレート領域の移動量が、図6(A)に示すような移動量であった場合、移動量の相関値が高いテンプレート2~4がグループ化される。結果として、図6(B)に示すように、テンプレート1がグループA、テンプレート2~4がグループB、テンプレート5がグループCとなる。
【0041】
テンプレート領域のグループ化処理を実行した後、CPU14は、グループ内のテンプレート領域の数が最大である最大グループが2以上あるか否かを判定する(ステップS208)。
【0042】
最大グループが1つである場合(ステップS208;No)、その最大グループを、移動量を特定するためのグループに選出する(ステップS209)。
【0043】
最大グループが2以上ある場合(ステップS208;Yes)、グループ内のテンプレート領域のテンプレート対応領域との相関値の平均(又は中央値等)が最も高いグループ
を、移動量を特定するためのグループに選出する(ステップS210)。
【0044】
ここで、相関値の中央値等とは、グループ内の相関値の中央値の他、グループ内多数決で決定した値、グループ内で相関値の最大及び最小の値を除く平均値、グループ内からランダムで選出したテンプレート領域の相関値等、グループ選出の根拠とできる代表値であればよい。
【0045】
ステップS209またはステップS210にてグループを選出した後、CPU14は、選出されたグループ内のテンプレート領域の移動量平均(又は中央値等)を第N画像から第N+1画像への移動量として保存する(ステップS211)。このように、選出されたグループのテンプレート領域の移動量に基づいて、第N画像から第N+1画像への移動量が特定される。
【0046】
第1画像から第2画像への移動量として、図6(B)に示すグループBの移動量平均が保存された場合、第1画像に対する第2画像の合成位置は、図7に示すように、第1画像から該移動量平均分、移動した位置となる。
【0047】
なお、ステップS211におけるグループ内のテンプレート領域の移動量中央値等とは、グループ内のテンプレート領域の移動量の中央値の他、グループ内多数決で決定した値、グループ内のテンプレート領域の移動量の最大及び最小の値を除く平均値、グループ内からランダムで選出したテンプレート領域の移動量等、テンプレート領域の移動量特定の根拠とできる代表値であればよい。図7では、第1画像に対する第2画像の合成位置は、第1画像から該移動量平均分、移動した位置となっていたが、グループBの移動量の代表値分、移動した位置としてもよい。
【0048】
続いて、CPU14は、Nに1加算し(ステップS212)、1加算後の第N画像が最後の画像であるか判定する(ステップS213)。第N画像が最後の画像でなければ(ステップS213;No)、ステップS202の処理に戻り、ステップS202~S212の処理(第N画像から第N+1画像への移動量の特定処理)を繰り返す。第N画像が最後の画像であれば(ステップS213;Yes)、移動量特定処理を終了する。
【0049】
このように、複数のテンプレート領域を移動量に基づいてグループ化して、グループを選出し、選出したグループのテンプレート領域の移動量に基づいて合成前画像データ171の移動量を特定するので、誤検出されたテンプレート対応領域を含むグループといったノイズを除去しつつ、好適に移動量を特定できる。そして、隣り合う合成前画像データ171間の撮影位置の移動量の特定の精度が向上し、結果として好適に合成前画像データ171を合成でき、好適に合成画像データ172を生成できる。
【0050】
移動量特定処理を終了すると、図2に戻り、CPU14は、特定した移動量に基づいて、合成対象の全ての合成前画像データ171を合成位置(例えば図7)に配置する(ステップS3)。
【0051】
そして、CPU14は、合成前画像データ171を合成して合成画像データ172を生成するための合成処理を実行する(ステップS4)。
【0052】
図8は、ステップS4で実行される合成処理の一例を示すフローチャートである。合成処理では、CPU14は、先ず、画像番号に対応したNに1をセットする(ステップS401)。
【0053】
そして、CPU14は、第N画像の合成方向(X軸方向)に対する中心を1、端(両端)を0とした減少関数による係数を設定する(ステップS402)。具体的には、図9に示すように、合成方向に対して、画像中心が1、画像の両端が0となるように線形の係数を設定する。なお、線形の係数に限定されず、画像中心から端に対して、曲線の減少関数となるように係数を設定するようにしてもよい。この係数は、複数の合成前画像データ171を合成する際の重み付け用の係数であり、0~1の値をとる。画像合成時には、各合成前画像データ171の画素値に、その位置(合成方向に対するX座標)に設定された係数を掛けて重み付けをして、画像合成を行う。
【0054】
なお、この実施の形態では、説明の簡単のため、合成方向がX軸方向(第1画像を基準に水平方向)である例について説明するが、合成方向がY軸方向(第1画像を基準に垂直方向)やXY軸方向(第1画像を基準に斜め方向)であってもよい。これらの場合、Y軸方向に関しても重み付け用の係数を設定して、合成前画像データ171の画素値に、その位置(合成方向に対するXY座標)に設定された係数を掛けて重み付けをして、画像合成を行うようにすればよい。
【0055】
続いて、CPU14は、第N画像が最後の画像であるか判定する(ステップS403)。第N画像が最後の画像でなければ(ステップS403;No)、CPU14は、Nに1加算し(ステップS404)、ステップS402の処理に戻り、ステップS402の処理を繰り返して全ての合成前画像に係数を初期設定する。
【0056】
第N画像が最後の画像であれば(ステップS403;Yes)、CPU14は、画像番号に対応したNに再度1をセットする(ステップS405)。
【0057】
そして、CPU14は、合成位置において、第N+1画像の中心が第N画像の端よりも内側(中心寄り)に位置しているか否かを判定する(ステップS406)。第N+1画像の中心が第N画像の端よりも内側に位置している場合(ステップS406;Yes)、第N画像における第N+1画像の中心に対応する位置の係数を0に再設定する(ステップS407)。第N画像の中心と、係数を0に再設定した位置との間については、中心を1、再設定位置を0とした減少関数による係数を再設定する。
【0058】
第N+1画像の中心が第N画像の端よりも内側に位置していない場合(ステップS406;No)や、ステップS407の処理を実行した後は、合成位置において、第N-1画像の中心が第N画像の端よりも内側(中心寄り)に位置しているか否かを判定する(ステップS408)。第N-1画像の中心が第N画像の端よりも内側に位置している場合(ステップS408;Yes)、第N画像における第N-1画像の中心に対応する位置の係数を0に再設定する(ステップS409)。第N画像の中心と、係数を0に再設定した位置との間については、中心を1、再設定位置を0とした減少関数による係数を再設定する。
【0059】
図10は、第N画像の一例として第2画像の配置による係数の再設定例を示す図である。図10の点線は再設定前の係数を示している。図10に示すように、第3画像の画像中心が第2画像の右側の端よりも内側に位置している場合、第2画像における第3画像の中心に対応する位置の係数を0に再設定し、第2画像の中心と、係数を0に再設定した位置との間については、中心を1、再設定位置を0とした減少関数による係数を再設定する。一方、第1画像の画像中心は第2画像の左側の端よりも外側に位置しているので、第2画像の中心より左側の係数の再設定は行わない。
【0060】
第N-1画像の中心が第N画像の端よりも内側に位置していない場合(ステップS408;No)や、ステップS409の処理を実行した後は、CPU14は、Nに1加算し(ステップS410)、1加算後の第N画像が最後の画像であるか判定する(ステップS2411)。第N画像が最後の画像でなければ(ステップS411;No)、ステップS406の処理に戻り、ステップS406~S410の処理(各画像の配置による係数再設定)を繰り返す。
【0061】
第N画像が最後の画像であれば(ステップS411;Yes)、CPU14は、画像番号に対応したNに再度1をセットする(ステップS412)。
【0062】
そして、CPU14は、第N画像の係数に、全画像の係数総和に対して正規化した係数を再設定する(ステップS413)。即ち、合成方向(X軸方法)に対する合成位置(X座標)における全画像の係数合計が1となるように、各画像の係数を正規化する。具体的には、各合成位置において、第N画像の係数を全画像の係数総和で除算し、その値を該第N画像の係数に再設定する。
【0063】
図11(A)~(C)は、第1画像、第2画像及び第3画像の係数の正規化による再設定例を示す図である。図11(A)~(C)は、第1画像、第2画像及び第3画像の合成位置(配置)を示している。正規化前(配置による再設定後)に、図11(B)に示すような係数が設定されている場合、図11(C)に示すように、各画像の係数が正規化される。具体的には、合成方向(X軸方法)に対する合成位置(X座標)において、他の画像の係数が設定されていない場合(合成位置に他の画像がない場合)、その合成位置における係数が1となり、合成位置(X座標)において、他の係数が設定されている場合、一の画像の係数を全画像の係数総和で割った値が該一の画像の係数として再設定される。
【0064】
なお、係数の正規化方法は、係数総和に対する除算に限定されず、所定の計算式等により係数を正規化するようにしてもよい。
【0065】
ステップS413の処理を実行した後は、CPU14は、第N画像が最後の画像であるか判定する(ステップS414)。第N画像が最後の画像でなければ(ステップS414;No)、CPU14は、Nに1加算し(ステップS415)、ステップS413の処理に戻り、ステップS413の処理を繰り返して全ての合成前画像データ171の係数を正規化して再設定する。
【0066】
第N画像が最後の画像であれば(ステップS414;Yes)、CPU14は、合成方向に対して各合成前画像データ171の画素値に各合成前画像データ171に設定された係数を掛けて各合成前画像データ171を重み付けして、全合成前画像データ171を合成し、合成画像データ172を生成する(ステップS416)。生成された合成画像データ172は、補助記憶装置17に記憶されればよい。その後、合成処理を終了する。合成処理(ステップS4)を終了すると、図2に示す画像合成処理を終了する。
【0067】
なお、合成画像データ172を生成した後、合成画像データ172をディスプレイ11に表示するようにしてもよい。この場合、合成画像データ172を所定の形状(例えば方形のパノラマ画像)に整えてディスプレイ11に表示するようにしてもよい。また、ユーザが操作受付部12を操作することで、表示形式、出力形式を指定できるようにしてもよい。その他、画像合成処理の実行時に、ディスプレイ11に、合成前画像データ171、合成前画像データ171の移動量の特定結果、合成位置の情報等の画像合成処理に関する表示を適宜表示するようにしてもよい。
【0068】
以上説明したように、上記実施の形態の画像合成装置10によれば、第N画像にテンプレート領域を設定し、第N+1画像から該テンプレ-ト領域に対応するテンプレート対応領域を検索する。そして、テンプレ-ト領域からテンプレート対応領域への移動量に基づいて、テンプレ-ト領域をグループ化し、第N画像からN+1画像への移動量を特定するためのグループを選出する。その後、選出したグループ内のテンプレート領域の移動量に基づいて、第N画像からN+1画像への移動量を特定する。テンプレート領域のグループ化及びグループの選出により、繰り返しパターンの存在等による誤検出を排除することができるので、好適に画像の移動量を特定することができる。
【0069】
また、画像合成装置10によれば、そのようにして特定された移動量(各画像の配置)に応じて、各合成前画像データ171に係数を設定し、正規化した係数に基づいて合成画像データ172を生成するので、好適に画像を合成して、パノラマ画像を生成することができる。
【0070】
なお本発明は、上記実施の形態に限定されず、種々の変形や応用が可能であり、更に特徴を追加してもよい。例えば、上記実施の形態に示した処理内容や判定方法等は一例であって、上記実施の形態と同様の作用、効果を奏することができれば任意でよい。また、上記実施の形態で説明した構成は、その全てが必須構成ではなく、その一部が欠けていてもよい。
【0071】
上記実施の形態では、図3に示す移動量特定処理に基づいて、複数の合成前画像データ171における隣り合う画像間の移動量を特定し、図8に示す合成処理を実行することで、合成画像データ172を生成するようになっていたが、好適に画像を合成できれば、合成処理は図8に示す処理方法(各画像に係数の設定して合成する方法)に限定されず、任意の処理方法を採用してもよい。
【0072】
また、好適に隣り合う画像の移動量を特定できれば、移動量特定処理は図3に示す処理方法(テンプレート領域を用いた移動量特定方法)に限定されず、任意の処理方法を採用してもよい。
【0073】
即ち、本発明の他の観点の画像合成装置は、
複数の画像を所定の合成方向に沿って合成する画像合成装置であって、
前記複数の画像それぞれに画像合成用の0以上1以下の係数を設定する係数設定手段と、
各画像の画素値と各画像に設定された係数とを掛け合わせて重み付けをし、前記複数の画像を合成する合成する合成手段と、を備え、
前記係数設定手段は、
前記複数の画像について、合成方向に対し、各画像の中心が1、端が0となるように減少関数の係数を設定し、
合成方向に対し、前記複数の画像のうちの一の画像の端より中心寄りに前記複数の画像のうちの他の画像の中心が位置する場合、該一の画像における該他の画像の中心に対応する位置の係数が0となるように該一の画像の係数を再設定し、
合成方向に対する各合成位置における各画像の係数を、該合成位置における全画像の係数の総和に対して正規化することで各画像の係数を再設定するようにしてもよい。
【0074】
また、画像の合成を行わず、画像間の移動量の特定のみを実行できるようにしてもよい。例えば、ユーザによる操作受付部12の操作により、図2に示すステップS4の処理を省略して、ステップS1~S3の処理のみを実行できるようにしてもよい。この場合、ステップS3の処理に代えて、各画像間の移動量を出力するようにしてもよい。このようにすることで、ユーザ所望の処理を実行させることができ、画像間の移動量を把握できる。また、画像合成装置10は、カメラ等からによる合成前画像データの入力に応じて、各画像間の移動量の特定結果や合成画像データのみを出力するようにしてもよい。この場合、ディスプレイ11、操作受付部12、補助記憶装置17は省略してもよい。
【0075】
なお、上記実施の形態では、合成前画像データ171(第N画像)において対象範囲を決定してから、該対象範囲からテンプレート領域を決定するようになっていた。これに限定されず、合成前画像データ171(第N画像)において対象領域を決定せずにテンプレート領域を決定してもよい。
【0076】
なお、上記実施の形態では、第N+1画像においてテンプレート領域を検索する検索範囲を決定してから、該検索範囲からテンプレート対応領域を検索するようになっていた。これに限定されず、検索範囲を決定せずに第N+1画像の全体から各テンプレート領域に対応するテンプレート対応領域を検索するようにしてもよい。
【0077】
上記実施の形態では、合成前画像データ171において合成方向に係数を設定して、各合成前画像データ171の画素値に、その位置に設定された係数を掛けて重み付けをして、画像合成を行うようになっていたが、他の画像と重複しない部分については、係数による重み付けをせずそのまま合成するようにしてもよい。
【0078】
上記実施の形態では、合成前画像データ171において水平方向(X軸方向)に係数を設定して、各合成前画像データ171の画素値に、その位置(X座標)に設定された係数を掛けて重み付けをして、画像合成を行うようになっていたが、垂直方向(Y軸方向)にも係数を設定して、垂直方向についても係数による重み付けをして画像合成を行うようにしてもよい。即ち、合成方向が第1画像を基準に水平方向(X軸方向)となっていたが、合成方向が第1画像を基準にXY軸方向であってもよい。言い換えると、合成方向は一次元方向に限定されず、二次元方向であってもよい。
【0079】
この場合、各合成前画像データ171について、垂直方向(Y軸方向)についても図8のステップS401~S411と同様の処理を実行することで係数を設定する。そして、ステップS413では、合成方向(XY軸方向)に対する合成位置(XY座標)における全画像の係数合計が1となるように、各画像の係数を正規化(合成位置の各画像の係数の全画像の係数総和による除算等)すればよい。このようにすることで、合成方向(XY軸方向)に対する合成位置(XY座標)の係数を設定できる。その後、ステップS416の処理にて、各合成前画像データ171の画素値に各合成前画像データ171に設定された係数を掛けて各合成前画像データ171を重み付けして、全合成前画像データ171を合成し、合成画像データ172を生成すればよい。
【0080】
即ち、前記係数設定手段は、
前記複数の画像について、合成方向(X軸方向、Y軸方向それぞれ)に対し、各画像の中心が1、端が0となるように減少関数の係数を設定し、
合成方向(X軸方向、Y軸方向それぞれ)に対し、前記複数の画像のうちの一の画像の端より中心寄りに前記複数の画像のうちの他の画像の中心が位置する場合、該一の画像における該他の画像の中心に対応する位置の係数が0となるように該一の画像の係数を再設定し、
合成方向に対する各合成位置(XY座標)における各画像の係数を、該合成位置における全画像の係数の総和に対して正規化することで各画像の係数を再設定するようにしてもよい。
【符号の説明】
【0081】
10 画像合成装置
11 ディスプレイ
12 操作受付部
13 通信インタフェース
14 CPU
15 ROM
16 RAM
17 補助記憶装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11