説明

画像処理装置、撮像装置およびプログラム

【課題】 演算負荷を抑制しつつも複数画像間の位置ズレ検出を比較的精度よく行う技術を提供する。
【解決手段】 画像処理装置は、第1画像および第2画像を取得する取得部と、位置ズレ演算部とを備える。位置ズレ演算部は、第1画像および第2画像の位置ズレを、対称行列である高次の逆行列を用いた第1幾何変換モデルで求める。そして、位置ズレ演算部は、各々が逆行列よりも低次の正方行列をなすように逆行列を複数に等分割し、複数の正方行列の組み合わせで第1幾何変換モデルの演算を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、撮像装置およびプログラムに関する。
【背景技術】
【0002】
画像合成の基盤技術として、従来から複数画像間の位置合わせの手法が種々提案されている。その一例として、明度勾配法などで動きをモデル化して画像の位置合わせを行う手法が公知である。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第3914973号
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、上記の動きをモデル化して画像の位置合わせを行う場合、モデルの係数の種類が多くなると高次の行列演算が要求されるので、演算負荷が非常に大きくなる。
【0005】
上記事情に鑑み、演算負荷を抑制しつつも複数画像間の位置ズレ検出を比較的精度よく行う技術を提供する。
【課題を解決するための手段】
【0006】
一の態様に係る画像処理装置は、第1画像および第2画像を取得する取得部と、位置ズレ演算部とを備える。位置ズレ演算部は、第1画像および第2画像の位置ズレを、対称行列である高次の逆行列を用いた第1幾何変換モデルで求める。そして、位置ズレ演算部は、各々が逆行列よりも低次の正方行列をなすように逆行列を複数に等分割し、複数の正方行列の組み合わせで第1幾何変換モデルの演算を行う。
【0007】
上記の一の態様において、位置ズレ演算部は、第1幾何変換モデルよりも変数の少ない第2幾何変換モデルで第1画像および第2画像の位置調整を実行してもよい。そして、位置ズレ演算部は、位置調整の後に第1幾何変換モデルで第1画像および第2画像の位置ズレを求めてもよい。
【0008】
このとき、位置ズレ演算部は、第1画像の低解像度画像および第2画像の低解像度画像を用いて位置調整を実行してもよい。あるいは、位置ズレ演算部は、位置調整のときに第2幾何変換モデルでの演算を繰り返し実行してもよい。
【0009】
なお、上記の画像処理装置を撮像部とともに備える撮像装置や、コンピュータを上記の画像処理装置として動作させるプログラムや、当該プログラムを記憶した記憶媒体や、上記の画像処理装置の動作を方法のカテゴリで表現したものは、いずれも本発明の具体的態様として有効である。
【発明の効果】
【0010】
第1画像および第2画像の位置ズレを対称行列である高次の逆行列を用いた幾何変換モデルで求めるときに、各々が逆行列よりも低次の正方行列をなすように逆行列を複数に等分割し、複数の正方行列の組み合わせで演算を行う。これにより、高次の逆行列演算による幾何変換モデルを低次の行列演算で処理できるので、演算負荷を抑制しつつ複数画像間の位置ズレ検出を比較的精度よく行うことができる。
【図面の簡単な説明】
【0011】
【図1】一の実施形態での画像処理装置の構成例を示す図
【図2】一の実施形態での画像処理装置の動作例を示す流れ図
【図3】他の実施形態での撮像装置の構成例を示す図
【発明を実施するための形態】
【0012】
<一の実施形態の説明>
図1は、一の実施形態での画像処理装置の構成例を示す図である。一の実施形態での画像処理装置は、複数の画像の合成処理を実行する画像処理プログラムがインストールされたパーソナルコンピュータである。
【0013】
図1に示すコンピュータ11は、データ読込部12、記憶装置13、CPU14、メモリ15および入出力I/F16、バス17を有している。データ読込部12、記憶装置13、CPU14、メモリ15および入出力I/F16は、バス17を介して相互に接続されている。さらに、コンピュータ11には、入出力I/F16を介して、入力デバイス18(キーボード、ポインティングデバイスなど)とモニタ19とがそれぞれ接続されている。なお、入出力I/F16は、入力デバイス18からの各種入力を受け付けるとともに、モニタ19に対して表示用のデータを出力する。
【0014】
データ読込部12は、画像のデータや、プログラムを外部から読み込むときに用いられる。例えば、データ読込部12は、着脱可能な記憶媒体からデータを取得する読込デバイス(光ディスク、磁気ディスク、光磁気ディスクの読込装置など)や、公知の通信規格に準拠して外部の装置と通信を行う通信デバイス(USBインターフェース、LANモジュール、無線LANモジュールなど)である。
【0015】
記憶装置13は、例えば、ハードディスクや、不揮発性の半導体メモリなどの記憶媒体で構成される。この記憶装置13には、画像処理プログラムが記録される。なお、記憶装置13には、データ読込部12から読み込んだ画像のデータや、画像処理プログラムで合成された画像のデータを記憶しておくこともできる。
【0016】
CPU14は、コンピュータ11の各部を統括的に制御するプロセッサである。このCPU14は、画像処理プログラムの実行によって、位置ズレ演算部21、画像処理部22として動作する(位置ズレ演算部21および画像処理部22の各動作については後述する)。
【0017】
メモリ15は、画像処理プログラムでの各種演算結果を一時的に記憶する。このメモリ15は、例えば揮発性のSDRAMである。
【0018】
次に、図2の流れ図を参照しつつ、一の実施形態での画像処理装置による画像合成処理の動作例を説明する。この図2の流れ図の処理は、ユーザからのプログラム実行指示に応じてCPU14が開始する。
【0019】
ステップ#101:CPU14は、位置合わせの対象となる第1画像のデータをデータ読込部12から取得する。そして、CPU14は、第1画像のデータを記憶装置13に記録する。
【0020】
ステップ#102:CPU14は、位置合わせの対象となる第2画像のデータをデータ読込部12から取得する。そして、CPU14は、第2画像のデータを記憶装置13に記録する。
【0021】
ここで、第1画像および第2画像は、画像間で被写体の位置関係がほぼ同じであることが前提となる。一例として、第1画像および第2画像は、動画撮影または連写撮影で得られた一連の画像群から抽出された2つの画像である。
【0022】
また、第1画像および第2画像は、同じ画像サイズ(解像度)で同形式のものであればその種類は問われない。例えば、第1画像および第2画像は、色補間処理が施される前のベイヤ配列構造のRAW画像であってもよく、RAW画像に画像処理を施すことで色再現がなされた画像(RGB画像、YCbCr画像、JPEG画像等)であってもよい。
【0023】
ステップ#103:CPU14は、第2画像(#102)の微分画像を生成する。このとき、CPU14は、第2画像の各画素で隣接画素とのx方向(画像の横方向)の差分を求めて、x方向の微分画像を生成する。また、CPU14は、第2画像の各画素で隣接画素とのy方向(画像の縦方向)の差分を求めて、y方向の微分画像を生成する。
【0024】
なお、上記の微分画像は、標本点(演算対象となる画素)での画素値の情報があれば足りる。そのため、#103でのCPU14は、隣接する標本点間で差分を求めて微分画像を生成すればよい。
【0025】
ステップ#104:位置ズレ演算部21は、変数の少ない簡易的な幾何変換モデルで第1画像および第2画像の位置調整を実行する。
【0026】
一例として、#104の位置ズレ演算部21は、式(1)に示す3軸の幾何変換モデルで画像間の位置調整を行う。なお、式(1)は、画像の座標(x,y)が3変数(p0〜p2)の幾何変換モデルによって座標変換される形式で、画像の位置ズレ量を表現している。
【0027】
【数1】

【0028】
ここで、第1画像Aと第2画像Bとの位置ズレ量の演算は、式(2)の評価値ΔEを最小化する問題と捉えることができる。
【0029】
【数2】

【0030】
上記の式(2)では、一方の画像(第1画像A)の座標(x,y)を幾何変換して得た画素値と、他方の画像(第2画像B)の座標(x,y)の画素値との差の二乗和によって、評価値ΔEを求めている。上記の評価値ΔEが小さいほど、2画像間の合致度は高くなる。なお、本明細書において、「n」は画像A,Bの差を求める標本点の数を示す。例えば、式(2)の演算を全ての画素で行った場合には、nの値は全画素の数となる。
【0031】
【数3】

【0032】
【数4】

【0033】
なお、本明細書において、「dx」は第2画像Bのx方向の微分画像を示し、「dy」は第2画像Bのy方向の微分画像を示す。また、下付の添字nは、各画像における標本点nの座標であることを示している。
【0034】
【数5】

【0035】
ステップ#105:位置ズレ演算部21は、#104よりも変数の多い高精度な幾何変換モデルによって第1画像および第2画像の位置ズレを求める。
一例として、#105での位置ズレ演算部21は、式(5)に示す6軸のアフィン変換モデルで画像間の位置調整を行う。なお、式(1)と式(5)では変数の数が異なっており、変数の数が多い式(5)のモデルの方がより複雑な位置ズレを表現できる。もっとも、変数の数が増加する分、演算負荷は式(5)のモデルの方が大きくなる。
【0036】
【数6】

【0037】
上記の式(5)は、画像の座標(x,y)が6変数(p0〜p5)の幾何変換モデルによって座標変換される形式で、画像の位置ズレ量を表現している。また、#105での位置ズレ演算部21は、式(5)に含まれる2行3列の行列が、式(1)に含まれる2行3列の行列と等しくなるようにp0〜p5の値を決定すればよい。
【0038】
ここで、式(1)と同様の考え方で式(5)を変形すると、式(6)を得ることができる。
【0039】
【数7】

【0040】
上記の式(6)の解を求めるときには、6×6の逆行列の演算が必要となる。高次の逆行列について公知の演算手法は、演算量が多いため演算負荷が大きく、また除算の回数が多いことから丸め誤差などの誤差も発生しやすい。そこで、一の実施形態の位置ズレ演算部21は、6×6の逆行列が対称行列であることを利用して、6×6の逆行列を低次の正方行列に等分割し、分割された正方行列の組み合わせで演算を行う。
【0041】
【数8】

【0042】
【数9】

【0043】
【数10】

【0044】
【数11】

【0045】
ステップ#106:画像処理部22は、#105で求めた位置ズレ量を用いて、第1画像および第2画像の合成を行う。例えば、画像処理部22は、適正露出よりも露光期間を短くして連写撮影された第1画像および第2画像を合成することで、手ブレの補正された合成画像を生成することができる。また、画像処理部22は、露光条件を変化させて取得した第1画像および第2画像を合成することで、ダイナミックレンジの広い合成画像を生成することができる。そして、CPU14は、上記の合成画像のデータを記憶装置13に記録する。以上で、図2の流れ図の説明を終了する。
【0046】
一の実施形態での位置ズレ演算部21は、第1画像Aおよび第2画像Bの位置ズレを、対称行列である6×6の逆行列を用いた6軸の幾何変換モデル(式(5)〜(6))で求める(#105)。このとき、位置ズレ演算部21は、幾何変換モデルの高次の逆行列を3×3の低次の正方行列で複数に等分割するとともに、複数の正方行列の組み合わせで高次の逆行列の演算を行う(式(7)〜(9))。これにより、一の実施形態では、6軸の幾何変換モデルの演算において、6×6の逆行列演算を3×3の行列演算の組み合わせで求めるので演算規模および除算回数を少なくできる。したがって、一の実施形態の画像処理装置は、演算負荷を抑制しつつ複数画像間の位置ズレ検出を比較的精度よく行うことができる。
【0047】
また、一の実施形態での位置ズレ演算部21は、6軸の幾何変換モデルで位置ズレを求める(#105)ときに、予め3軸の幾何変換モデルで第1画像および第2画像の位置調整を実行する(#104)。これにより、一の実施形態の画像処理装置では、演算負荷の少ない幾何変換モデルで画像間の粗調整をした後に、6軸の幾何変換モデルで画像間の位置ズレを精密に求めるので、処理全体の負荷を小さくできる。
【0048】
<他の実施形態の説明>
図3は、他の実施形態での撮像装置の構成例を示す図である。他の実施形態は、一の実施形態の画像処理装置を電子カメラ31に実装した例であって、電子カメラ31の撮像部33から画像処理装置が第1画像および第2画像を取得する。
【0049】
電子カメラ31は、撮影レンズ32と、撮像部33と、画像処理エンジン34と、第1メモリ35および第2メモリ36と、記録I/F37と、操作部38とを備えている。ここで、撮像部33、第1メモリ35、第2メモリ36、記録I/F37および操作部38は、それぞれ画像処理エンジン34と接続されている。
【0050】
撮像部33は、撮影レンズ32によって結像された被写体の像を撮像(撮影)するモジュールである。例えば、撮像部33は、光電変換を行う撮像素子と、アナログ信号処理を行うアナログフロントエンド回路と、A/D変換およびデジタル信号処理を行うデジタルフロントエンド回路とを含んでいる。
【0051】
画像処理エンジン34は、電子カメラ31の動作を統括的に制御するプロセッサである。例えば、画像処理エンジン34は、撮影モードにおいて、ユーザの撮影指示入力に応じて、第1画像および第2画像を撮像部33に連写撮影させる。また、画像処理エンジン34は、プログラムの実行により、一の実施形態のCPU14(位置ズレ演算部21および画像処理部22)と同様に動作することができる。
【0052】
第1メモリ35は、第1画像および第2画像のデータを一時的に記憶するメモリであって、例えば揮発性の記憶媒体であるSDRAMで構成される。また、第2メモリ36は、画像処理エンジン34の実行するプログラムを記憶するメモリであって、例えばフラッシュメモリ等の不揮発性メモリで構成される。
【0053】
記録I/F37は、不揮発性の記憶媒体を接続するためのコネクタを有している。そして、記録I/F37は、コネクタに接続された記憶媒体39に対して画像のデータの書き込み/読み込みを実行する。上記の記憶媒体39は、例えば、ハードディスクや、半導体メモリを内蔵したメモリカードである。なお、図3では記憶媒体の一例としてメモリカードを図示する。
【0054】
操作部38は、ユーザの操作を受け付ける複数のスイッチを有している。この操作部38は、例えば、記録用の静止画像の撮影指示を受け付けるレリーズ釦などを含む。
【0055】
以下、他の態様における電子カメラ31の動作例を簡単に説明する。他の態様の電子カメラ31では、ユーザの撮影指示入力に応じて、撮像部33が第1画像および第2画像を連続的に撮影する。これにより、図2の#101,#102の処理に相当する第1画像および第2画像の取得が行われる。なお、位置合わせの対象となる画像は、動画像(構図確認用のいわゆるスルー画像を含む)の一部のフレームであっても良い。
【0056】
そして、画像処理エンジン34は、撮像部33の取得した第1画像および第2画像を用いて、図2の#103〜#105と同様の手法で画像の位置ズレ量を検出する。その後、画像処理エンジン34は、図2の#106と同様に位置ズレ量を用いて画像合成処理を実行し、手ブレの補正された合成画像やダイナミックレンジの広い合成画像を生成する。その後、合成画像は記録I/F37を介して記憶媒体39に記録される。また、画像処理エンジン34は、不図示の表示部に合成画像を表示してもよい。かかる他の実施形態においても、一の実施形態とほぼ同様の効果を得ることができる。
【0057】
<実施形態の補足事項>
(a)上記実施形態で説明した位置合わせの手法はあくまで一例にすぎない。例えば、上記実施形態では評価値を最小二乗法で算出する方法を基に記述したが、評価値の設定やモデル化の手法によっては行列の算出方法は異なるため、式(4)や式(6)の形はこの限りではない。また、上記実施形態で適用した2つの幾何変換モデルは、変数の数が異なるモデルの組み合わせに適宜変更することもできる。
【0058】
(b)上記実施形態の#105で説明した逆行列の演算手法は、高次の対称行列を等分割して低次の正方行列で表現できる形式であれば、変数の数が異なる幾何変換モデルにも広く応用することができる。例えば、上記実施形態で説明した6つの変数(p0〜p5)に代えて、8つの変数による射影変換を実現する幾何変換モデルにおいても、本発明の演算手法を同様に適用できる。
【0059】
(c)上記実施形態の位置ズレ演算部21は、#104の処理のときに、第1画像の低解像度画像および第2画像の低解像度画像を用いて位置調整を実行してもよい。この場合には、#104の処理の演算量が少なくなるので、画像合成処理の効率をより高めることができる。
【0060】
ただし、この場合には#104で用いる第1画像および第2画像と、#105で用いる第1画像および第2画像との解像度が異なるので、#104、#105の各演算においてそれぞれ微分画像を生成する必要がある。また、位置ズレ演算部21は、#104で求めた位置ズレ量を用いて#105の初期パラメータを決定するときに、解像度の変化に合わせてチューニングを行う必要がある。
【0061】
(d)上記実施形態では、画像処理装置の各機能をプログラムによってソフトウエア的に実現する例を説明した。しかし、本発明では、ASICを用いて位置ズレ演算部21や画像処理部22の機能をハードウエア的に実現してもかまわない。
【0062】
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲が、その精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図する。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずであり、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物によることも可能である。
【符号の説明】
【0063】
11…コンピュータ,12…データ読込部,13…記憶装置,14…CPU,21…位置ズレ演算部,22…画像処理部,31…電子カメラ,33…撮像部,34…画像処理エンジン

【特許請求の範囲】
【請求項1】
第1画像および第2画像を取得する取得部と、
前記第1画像および前記第2画像の位置ズレを、対称行列である高次の逆行列を用いた第1幾何変換モデルで求める位置ズレ演算部と、を備え、
前記位置ズレ演算部は、各々が前記逆行列よりも低次の正方行列をなすように前記逆行列を複数に等分割し、複数の前記正方行列の組み合わせで前記第1幾何変換モデルの演算を行う画像処理装置。
【請求項2】
請求項1に記載の画像処理装置において、
前記位置ズレ演算部は、前記第1幾何変換モデルよりも変数の少ない第2幾何変換モデルで前記第1画像および前記第2画像の位置調整を実行し、前記位置調整の後に前記第1幾何変換モデルで前記第1画像および前記第2画像の位置ズレを求める画像処理装置。
【請求項3】
請求項2に記載の画像処理装置において、
前記位置ズレ演算部は、前記第1画像の低解像度画像および前記第2画像の低解像度画像を用いて前記位置調整を実行する画像処理装置。
【請求項4】
請求項2または請求項3に記載の画像処理装置において、
前記位置ズレ演算部は、前記位置調整のときに前記第2幾何変換モデルでの演算を繰り返し実行する画像処理装置。
【請求項5】
第1画像および第2画像を撮像する撮像部と、
請求項1から請求項4のいずれか1項に記載の画像処理装置と、
を備える撮像装置。
【請求項6】
コンピュータに、
第1画像および第2画像を取得する取得処理と、
前記第1画像および前記第2画像の位置ズレを、対称行列である高次の逆行列を用いた第1幾何変換モデルで求める位置ズレ演算処理と、を実行させ、
前記位置ズレ演算処理では、各々が前記逆行列よりも低次の正方行列をなすように前記逆行列を複数に等分割し、複数の前記正方行列の組み合わせで前記第1幾何変換モデルの演算を行うプログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2012−123652(P2012−123652A)
【公開日】平成24年6月28日(2012.6.28)
【国際特許分類】
【出願番号】特願2010−274326(P2010−274326)
【出願日】平成22年12月9日(2010.12.9)
【出願人】(000004112)株式会社ニコン (12,601)
【Fターム(参考)】