画像合成装置及びプログラム
【課題】処理時間の浪費の防止を図るとともに、合成精度や画像品質の低下を抑制する。
【解決手段】撮像装置100であって、複数の画像のうち、何れか一の基準画像と対象画像を合成する画像合成処理と、画像の撮影状況に関連した撮影状況関連情報を特定する処理と、特定された撮影状況に基づいて、前記画像合成処理の内容を設定する処理とを行うCPU71を備える。
【解決手段】撮像装置100であって、複数の画像のうち、何れか一の基準画像と対象画像を合成する画像合成処理と、画像の撮影状況に関連した撮影状況関連情報を特定する処理と、特定された撮影状況に基づいて、前記画像合成処理の内容を設定する処理とを行うCPU71を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の画像を合成する画像合成装置及びプログラムに関する。
【背景技術】
【0002】
近年、連続して撮影された複数の画像に対して特徴点の抽出及び追跡を行い、その移動量から射影変換行列Hを求め、この射影変換行列Hを用いて位置合せを行って重ね合わせることで1枚の合成画像を作り出す方法が開発されている(例えば、特許文献1参照)。
【0003】
具体的には、先ず、連続して撮影された複数の画像のうち、合成基準画像から特徴点を抽出し、それらを他の画像で追跡する。ここで、特徴点の追跡は、連続画像を所定回数サブサンプリングして低解像度の階層を作った後(ピラミッド化)、低解像度の画像から順番に反復法を用いて行う。
そして、特徴点の追跡が終了すると、RANSACを行う。画像間の複数の特徴点の対応の中からランダムに4組選択して、射影変換に用いるH行列を計算する。計算されたH行列について、サポートする特徴点の個数をそのH行列の得点として、一定以上の得点を持つH行列が求まるまで上記の作業を繰り返す。
そして、RANSACにより最終的に求まったH行列を用いて射影変換を行い、2枚の画像を合成する。これらの工程を所定枚数分繰り返して全ての画像を加算合成する。
これにより、通常の1枚撮影画像に比べてランダムに生じるノイズが平均化されたS/Nの良い画像を作り出すことができる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2005−94614号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記の画像合成にあっては、例えば、撮影している環境の明るさ、手ぶれ量、撮影画像の特徴量、被写体等の撮影状況を考慮せずに、一意的に設定した条件で行っていた。このため、撮影状況に適した画像合成処理を行えず、処理時間を浪費したり、合成精度や画像品質が落ちてしまうといった問題があった。
【0006】
そこで、本発明の課題は、処理時間の浪費の防止を図るとともに、合成精度や画像品質の低下を抑制することができる画像合成装置及びプログラムを提供することである。
【課題を解決するための手段】
【0007】
請求項1に記載の発明の画像合成装置は、
複数の画像のうち、何れか一の基準画像と対象画像を合成する画像合成処理を行う画像合成手段と、
前記画像の撮影の際の明るさを予め区分された何れかの明るさとして検出する検出手段と、
前記検出手段による検出結果に基づいて、前記画像合成手段による前記画像合成処理の内容を設定する合成処理設定手段と、
を備え、
前記画像合成手段は、
前記基準画像内から特徴点を抽出する特徴点抽出手段を含み、
前記合成処理設定手段は、前記検出手段による検出結果として暗いと区分された方のあかるさで検出した場合、前記特徴点抽出手段による前記特徴点の抽出数をより多い数とし、
前記画像合成手段は、
前記複数の画像の解像度を段階的に低減させて低解像度画像を作成する画像作成手段を含み、
前記合成処理設定手段は、前記検出手段による検出結果として暗いと区分された方のあかるさで検出した場合、前記画像作成手段による前記解像度の低減に係る段階数をより多い数とする
ことを特徴としている。
【0008】
請求項2に記載の発明のプログラムは、
コンピュータに、
複数の画像のうち、何れか一の基準画像と対象画像を合成する画像合成処理を行う合成機能と、
前記画像の撮影の際の明るさを予め区分された何れかの明るさとして検出する検出機能と、
前記検出機能による検出結果に基づいて、前記画像合成処理の内容を設定する設定機能と、
を実現させるためのプログラムであって、
前記合成機能は、
前記基準画像内から特徴点を抽出する抽出機能を含み、
前記設定機能は、前記検出機能による検出結果として暗いと区分された方の明るさで検出した場合、前記抽出機能による前記特徴点の抽出数をより多い数とし、
前記合成機能は、
前記複数の画像の解像度を段階的に低減させて低解像度画像を作成する作成機能を含み、
前記設定機能は、前記検出機能による検出結果として暗いと区分された方の明るさで検
出した場合、前記作成機能による前記解像度の低減に係る段階数をより多い数とする
ことを特徴としている。
【発明の効果】
【0009】
本発明によれば、撮影状況に応じて無駄な処理を行わない、即ち、撮影状況に応じて必要な処理を行うことにより処理時間の浪費を防止して処理速度の向上を図ることができるとともに、合成精度や画像品質の低下を抑制することができる。
【図面の簡単な説明】
【0010】
【図1】本発明を適用した実施形態1の撮像装置の概略構成を示すブロック図である。
【図2】図1の撮像装置に備わる映像信号処理部を模式的に示した図である。
【図3】図1の撮像装置による画像処理に係る処理内容と明るさとの対応関係を模式的に示す図である。
【図4】図1の撮像装置による画像合成処理に係る処理内容と明るさとの対応関係を模式的に示す図である。
【図5】図1の撮像装置による撮像処理に係る動作の一例を示すフローチャートである。
【図6】本発明を適用した実施形態2の撮像装置の概略構成を示すブロック図である。
【図7】図6の撮像装置による画像合成処理に係る処理内容とずれ量との対応関係を模式的に示す図である。
【図8】図6の撮像装置による画像処理に係る処理内容とずれ量との対応関係を模式的に示す図である。
【図9】図6の撮像装置による撮像処理に係る動作の一例を示すフローチャートである。
【図10】本発明を適用した実施形態3の撮像装置の概略構成を示すブロック図である。
【図11】図10の撮像装置による画像合成処理に係る処理内容と特徴量との対応関係を模式的に示す図である。
【図12】図10の撮像装置による画像処理に係る処理内容と特徴量との対応関係を模式的に示す図である。
【図13】図10の撮像装置による撮像処理に係る動作の一例を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下に、本発明について、図面を用いて具体的な態様を説明する。ただし、発明の範囲は、図示例に限定されない。
【0012】
[実施形態1]
図1は、本発明を適用した実施形態1の撮像装置100の概略構成を示すブロック図である。また、図2は、撮像装置100の映像信号処理部13を模式的に示した図である。
【0013】
実施形態1の撮像装置100は、画像撮影時の明るさに応じて、基準画像と対象画像を合成する画像合成処理の内容や合成される複数の被合成画像に対する画像処理の内容を設定する。
具体的には、撮像装置100は、図1に示すように、撮像部1と、撮像補助部2と、表示部3、操作部4と、記録媒体5と、USB端子6と、制御部7等を備えて構成されている。
【0014】
撮像部1は、撮像手段として、被写体を連続して撮像して複数の画像フレームを生成する。具体的には、撮像部1は、撮像レンズ群11と、電子撮像部12と、映像信号処理部13と、画像メモリ14と、撮影制御部15等を備えている。
【0015】
撮像レンズ群11は、複数の撮像レンズから構成されている。
電子撮像部12は、撮像レンズ群11を通過した被写体像を二次元の画像信号に変換するCCD(Charge Coupled Device)やCMOS(Complementary Metal-oxide Semiconductor)等の撮像素子から構成されている。
【0016】
映像信号処理部13は、電子撮像部12から出力される画像信号に対して所定の画像合成処理や画像処理を施すものである。具体的には、映像信号処理部13は、図2に示すように、合成される複数の画像に係る画像信号のピラミッド階層化、所定画像からの特徴点の抽出、抽出された特徴点の追跡(トラック)等を行うオプティカルフロー検出部131と、特徴点どうしが対応付けられた特徴点対応表からランダムに所定数の特徴点を選択して、これらの特徴点を用いた射影変換(H計算)及び他の特徴点を用いたサポート計算等を行うRANSAC部132、画素どうしが対応する位置を計算して画像信号を加算(合成)する画像合成部133を備えている。
【0017】
また、映像信号処理部13は、画像処理手段として、複数の画像に対して固定ノイズの消去処理や色の再現処理等の所定の画像処理を行う。
固定ノイズの消去は、予め撮像装置ごとに固定ノイズ値を測定しておき、連続撮影した画像からその値を差分することにより行う。
色の再現処理は、色彩分布を引き伸ばしたり、コントラストがでるような補正を行う。
【0018】
画像メモリ14は、画像処理後の画像信号を一時的に記憶する。
撮影制御部15は、CPU71の制御下にて、電子撮像部12及び映像信号処理部13を制御する。具体的には、撮影制御部15は、電子撮像部12に所定の露出時間で被写体を撮像させ、当該電子撮像部12の撮像領域から画像信号を所定のフレームレートで読み出す処理の実行を制御する。
【0019】
撮像補助部2は、撮像部1による被写体の撮像の際に駆動するものであり、フォーカス駆動部21と、ズーム駆動部22等を備えている。
【0020】
フォーカス駆動部21は、撮像レンズ群11に接続されたフォーカス機構部(図示略)を駆動させる。
ズーム駆動部22は、撮像レンズ群11に接続されたズーム機構部(図示略)を駆動させる。
なお、フォーカス駆動部21及びズーム駆動部22は、撮影制御部15に接続され、撮影制御部15の制御下にて駆動する。
【0021】
表示部3は、撮像部1により撮像された画像を表示するものである。具体的には、表示部3は、表示制御部31と、画像表示部32等を備えている。
表示制御部31は、CPU71から適宜出力される表示データを一時的に保存するビデオメモリ(図示略)を備えている。
画像表示部32は、表示制御部31からの出力信号に基づいて所定の画像を表示する液晶モニタ等を備えている。
【0022】
操作部4は、当該撮像装置100の所定操作を行うためのものであり、操作入力部41と、入力回路42等を備えている。
【0023】
操作入力部41は、撮像部1による被写体の撮像を指示するシャッターボタン41aを備えている。シャッターボタン41aは、被写体の連続撮影処理にて、ユーザにより押圧操作されている間、映像信号処理部13による画像合成処理を実行させる指示をCPU71に出力する。
【0024】
入力回路42は、操作入力部41から出力され入力された操作信号をCPU71に入力するためのものである。
【0025】
記録媒体5は、例えば、カード型の不揮発性メモリ(フラッシュメモリ)やハードディスク等により構成され、撮像部1により撮像された画像の画像データを複数記憶する。
【0026】
USB端子6は、外部機器との接続用の端子であり、USBケーブル(図示略)等を介してデータの送受信を行う。
【0027】
制御部7は、撮像装置100の各部を制御するものであり、例えば、CPU71と、プログラムメモリ72と、データメモリ73等を備えている。
【0028】
CPU71は、プログラムメモリ72に記憶された撮像装置100用の各種処理プログラムに従って各種の制御動作を行うものである。
【0029】
データメモリ73は、例えば、フラッシュメモリ等により構成され、CPU71によって処理されるデータ等を一時記憶する。
【0030】
プログラムメモリ72は、CPU71の動作に必要な各種プログラムやデータを記憶するものである。具体的には、プログラムメモリ72は、画像合成プログラム72a、明るさ検出プログラム72b、第1の画像処理設定プログラム72c、第1の合成処理設定プログラム72d等を記憶している。
【0031】
画像合成プログラム72aは、CPU71の制御下にて、映像信号処理部13に、電子撮像部1により連続的に撮像された複数の画像のうち、何れか一の基準画像(例えば1枚目の画像)内から抽出した特徴点を対象画像(例えば2枚目以降の画像)内で追跡し、当該追跡結果に基づいて基準画像と対象画像を合成する画像合成処理に係る機能を実現させるためのプログラムである。
具体的には、CPU71が画像合成プログラム72aを実行することで、映像信号処理部13のオプティカルフロー検出部131は、低解像度画像作成手段として、入力された複数の画像信号に基づいて、例えば画像の縦横の画素を順次1/2倍ずつすることで解像度を段階的に低減させた低解像度画像を作成する(ピラミッド化)。また、オプティカルフロー検出部131は、特徴点抽出手段として、複数の画像のうち、何れか一の画像を基準画像として、基準画像から所定数の特徴点(特徴の高いブロック領域)を選択して抽出する。そして、オプティカルフロー検出部131は、対象画像に対する特徴点追跡手段として、特徴点を最も解像度の低い画像から解像度が高い方に順次追跡する。
そして、RANSAC部132は、基準画像と対象画像における複数の特徴点の対応の中からランダムに4点選択して仮の射影変換行列Hを計算し、そのサポート数で求めた射影変換行列Hを評価し、その作業を繰り返してより信頼性の高い射影変換行列Hを算出する。
その後、画像合成部133は、射影変換行列Hを用いて対象画像の画素を基準画像の座標系に射影変換して、当該対象画像と基準画像を合成する。
なお、画像合成処理にあっては、基準画像の画素を対象画像の座標系に射影変換するようにしても良い。
ここで、CPU71と映像信号処理部13は、基準画像と対象画像を合成する画像合成処理を行う画像合成手段として機能する。
【0032】
明るさ検出プログラム72bは、CPU71の制御下にて、映像信号処理部13に、電子撮像部1により撮像された画像の画像信号に基づいて所定領域の画素の輝度を測定させて当該画像の撮影の際の明るさ(撮影状況関連情報)を検出する明るさ検出処理に係る機能を実現させるためのプログラムである。
即ち、CPU71が明るさ検出プログラム72bを実行することで、映像信号処理部13は、被写体のプレビュー画像(スルー画像)の画像信号に基づいて所定領域の画素の輝度を測定して当該画像の明るさを検出する。具体的には、例えば、「十分に明るい環境」、「やや暗い環境」、「暗い環境」、「暗闇な環境」の4パターンの明るさに区分して検出する。
「十分に明るい環境」とは、例えば、日中の屋外や明るい照明下で撮影するような環境に相当し、「やや暗い環境」とは、例えば、夕方やくもりの日、照明の弱い室内で撮影するような環境に相当し、「暗い環境」とは、例えば、夜間や照明がかなり暗い室内などフラッシュを使って撮影するような環境に相当し、「暗闇な環境」とは、夜の森の中や照明が全くない室内など光源が存在しないような環境に相当する。
ここで、CPU71と映像信号処理部13は、画像の撮影の際の明るさを検出する明るさ検出手段として機能する。また、CPU71と映像信号処理部13は、画像の撮影状況に関連した撮影状況関連情報を特定する撮影状況特定手段として機能する。
【0033】
第1の画像処理設定プログラム72cは、CPU71を明るさ画像処理設定手段として機能させるものである。即ち、第1の画像処理設定プログラム72cは、明るさ検出処理による明るさの検出結果に基づいて、第1の画像処理内容設定テーブルT1(図3参照)に従って、映像信号処理部13による基準画像や対象画像(被合成画像)に対する画像処理の内容を設定する処理に係る機能をCPU71に実現させるためのプログラムである。
具体的には、明るさ検出処理にて「やや暗い環境」であると検出されると、CPU71が第1の画像処理設定プログラム72cを実行することで、映像信号処理部13に固定ノイズの消去及び色の再現処理を実行させないように設定する。また、明るさ検出処理にて「暗い環境」であると検出されると、CPU71が第1の画像処理設定プログラム72cを実行することで、映像信号処理部13に固定ノイズの消去及び色の再現処理を行わせるように設定する。即ち、撮影環境が著しく暗い場合、連続撮影した画像1枚毎の色彩分布が狭くなったり、変化してしまうという問題が生じる。色彩成分が狂ってしまった画像は、単純に加算合成しても、色やコントラストが再現できないため、色の再現処理を行う必要があるためである。さらに、「暗い環境」では、画像成分が小さいために、カメラ固有で特定の画素に現れる固定ノイズの影響が無視できなくなる。つまり、画像信号が固定ノイズと比較しても小さな値となり、このような環境での画像合成においては、固定ノイズを無視することはできないため、固定ノイズの除去を行う必要があるためである。
【0034】
第1の合成処理設定プログラム72dは、CPU71を明るさ合成処理設定手段として機能させるものである。即ち、第1の合成処理設定プログラム72dは、明るさ検出処理による明るさの検出結果に基づいて、第1の合成処理内容設定テーブルT2(図4参照)に従って、映像信号処理部13による画像合成処理の内容を設定する処理に係る機能をCPU71に実現させるためのプログラムである。
具体的には、明るさ検出処理にて「やや暗い環境」であると検出されると、CPU71が第1の合成処理設定プログラム72dを実行することで、映像信号処理部13のオプティカルフロー検出部131による特徴点の抽出数及びピラミッドの階層数を通常数とするように設定する。また、明るさ検出処理にて「暗い環境」であると検出されると、CPU71が第1の合成処理設定プログラム72dを実行することで、オプティカルフロー検出部131による特徴点の抽出数及びピラミッドの階層数を通常よりも多い数に変更するように設定する。即ち、撮影環境が著しく暗い場合、各画素の画像信号か著しく小さいため、特徴点がノイズに埋もれてしまうことから、特徴点の抽出・トラッキングは非常に困難になる。そこで、「暗い環境」では、明るい環境での画像合成よりも多くの特徴点を抽出したり、トラッキングを多くしたりして精度を高める必要があるためである。
【0035】
また、プログラムメモリ72には、第1の画像処理内容設定テーブルT1(図3参照)と、第1の合成処理内容設定テーブルT2(図4参照)が記憶されている。
【0036】
第1の画像処理内容設定テーブルT1は、図3に示すように、画像処理の処理内容(「固定ノイズの消去処理」、「色の再現処理」)と明るさ(「十分に明るい環境」、「やや暗い環境」、「暗い環境」、「暗闇な環境」)とを対応付けて記憶している。具体的には、処理内容として「固定ノイズの消去処理」は、「やや暗い環境」では「行わない」が対応付けられ、「暗い環境」では「行う」が対応付けられている。また、処理内容として「色の再現処理」は、「やや暗い環境」では「行わない」が対応付けられ、「暗い環境」では「行う」が対応付けられている。
【0037】
第1の合成処理内容設定テーブルT2は、図4に示すように、画像合成処理の処理内容(「特徴点の抽出処理」、「ピラミッドの階層化処理」)と明るさ(「十分に明るい環境」、「やや暗い環境」、「暗い環境」、「暗闇な環境」)とを対応付けて記憶している。具体的には、処理内容として「特徴点の抽出処理」は、「やや暗い環境」では「通常数」が対応付けられ、「暗い環境」では「通常よりも多い」が対応付けられている。また、処理内容として「ピラミッドの階層化処理」は、「やや暗い環境」では「通常数」が対応付けられ、「暗い環境」では「通常よりも多い」が対応付けられている。
【0038】
次に、実施形態1の撮像装置100による撮像処理について図5を参照して説明する。
図5は、撮像処理に係る動作の一例を示すフローチャートである。
【0039】
図5に示すように、撮像部1による被写体の撮像が開始されると、CPU71は、プログラムメモリ72内の明るさ検出プログラム72bを実行して、映像信号処理部13に被写体のプレビュー画像(スルー画像)の画像信号に基づいて所定領域の画素の輝度を測定して当該画像の明るさを検出させる(ステップS1)。
続けて、CPU71は、明るさ検出処理の検出結果に応じて、撮影モードを通常撮影モードと連写撮影モードに設定する分岐を行う(ステップS2)。具体的には、明るさ検出処理にて「十分に明るい環境」や「暗闇な環境」と検出されると、CPU71は、撮影モードを通常撮影モードに設定し、一方、明るさ検出処理にて「やや暗い環境」や「暗い環境」と検出されると、CPU71は、撮影モードを連写撮影モードに設定する。
【0040】
明るさ検出処理にて「十分に明るい環境」と検出され、ステップS2にて撮影モードが通常撮影モードに設定されると、CPU71は、ユーザによるシャッターボタン41aの押圧操作に基づいて、撮像部1により通常の撮影条件で被写体を撮影させる(ステップS3)。
【0041】
また、明るさ検出処理にて「暗闇な環境」と検出され、ステップS2にて撮影モードが通常撮影モードに設定されると、CPU71は、連写撮影された複数枚の画像を合成して一の画像を得る画像合成処理が実行不可であることを表す「合成不可」を画像表示部32に表示させる(ステップS4)。その後、CPU71は、ユーザによるシャッターボタン41aの押圧操作に基づいて、撮像部1により通常の撮影条件で被写体を撮影させる(ステップS5)。
【0042】
一方、明るさ検出処理にて「やや暗い環境」や「暗い環境」と検出され、ステップS2にて撮影モードが連写撮影モードに設定されると、CPU71は、プログラムメモリ72内の第1の画像処理設定プログラム72cを実行して、第1の画像処理内容設定テーブルT1に従って映像信号処理部13による画像処理の内容を設定するとともに、プログラムメモリ72内の第1の合成処理設定プログラム72dを実行して、第1の合成処理内容設定テーブルT2に従って映像信号処理部13による画像合成処理の内容を設定する(ステップS6)。
【0043】
続けて、ユーザによるシャッターボタン41aの押圧操作に基づいて撮像部1による被写体の連続した撮影が開始されると(ステップS7)、明るさ検出処理の検出結果の「やや暗い環境」及び「暗い環境」に応じて分岐して(ステップS8)、明るさ検出処理の検出結果が「やや暗い環境」の場合には、CPU71は、プログラムメモリ72内の画像合成プログラム72aを実行して、映像信号処理部13のオプティカルフロー検出部131に、基準画像及び対象画像に対して階層数を通常数としてピラミッド階層化処理を行わせるとともに、基準画像に対しては抽出数を通常数として特徴点の抽出を行わせ、対象画像に対しては抽出された特徴点の追跡を行わせる(ステップS9)。
【0044】
一方、ステップS8にて、明るさ検出処理の検出結果が「暗い環境」の場合には、CPU71は、映像信号処理部13に、基準画像及び対象画像に対して固定ノイズの消去及び色の再現処理を行わせた後(ステップS10)、プログラムメモリ72内の画像合成プログラム72aを実行して、映像信号処理部13のオプティカルフロー検出部131に、基準画像及び対象画像に対して階層数を通常よりも多い数としてピラミッド階層化処理を行わせるとともに、基準画像に対しては抽出数を通常よりも多い数として特徴点の抽出を行わせ、対象画像に対しては抽出された特徴点の追跡を行わせる(ステップS11)。
【0045】
その後、CPU71は、映像信号処理部13のRANSAC部132に、基準画像と対象画像における複数の特徴点どうしが対応付けられた特徴点対応表に基づいて、射影変換行列Hを算出させ、画像合成部133に、射影変換行列Hを用いて対象画像の画素を基準画像の座標系に射影変換させて当該対象画像と基準画像を合成させる(ステップS12)。勿論、ステップS12の画像合成を行うためには、その時点で基準画像と少なくとも1つの対象画像の撮影が完了している必要があるので、撮影が完了していない場合にはステップS12の画像合成をスキップすることになる。
【0046】
次に、CPU71は、ユーザによるシャッターボタン41aの押圧操作の解除に基づいて被写体の連続撮影の終了が指示されているか否かを判定する(ステップS13)。ここで、被写体の連続撮影の終了が指示されていると判定されると(ステップS13;YES)、CPU71は、合成画像に対して所定の画像処理を施して(ステップS14)、当該撮像処理を終了する。
【0047】
なお、ステップS13にて、被写体の連続撮影の終了が指示されていないと判定されると(ステップS13;NO)、ステップS8に移行して、入力される複数の画像信号に対して映像信号処理部13による画像合成処理及び画像処理が行われる。
【0048】
以上のように、実施形態1の撮像装置100によれば、画像の撮影状況関連情報として画像の撮影の際の明るさを検出し、明るさの検出結果に基づいて、画像処理における基準画像や対象画像に対する画像処理の内容や画像合成処理における画像合成処理の内容を設定することができる。
即ち、「十分に明るい環境」では、通常撮影で十分綺麗に撮影できるため、画像合成で得られる画像に対する処理時間などのデメリットの方が目立ってしまう場合が多くなる。このため、画像合成処理を行わずに通常の1枚撮影を行う。これにより、撮影環境の明るさによって画像合成を行うか行わないかの選択を自動で切替えることになるので、ユーザにとってはその手間が省略できる。
また、「やや暗い環境」では、通常撮影でもある程度明るく撮影することができるため、特徴点の抽出及びトラッキングに関しては、それほど慎重に行わなくても十分な精度を得ることができる。また、各画素の画像信号も十分あるので固定ノイズの影響も受け難く、色彩分布もそれほど狭くならないため、それらを補正する処理は行わなくても十分な品質を確保することができるので、その分、処理時間を短縮することができる。
また、「暗い環境」では、画像合成が失敗し易いので、「やや暗い環境」よりも慎重に合成を行う必要があるため、特徴点の抽出数やピラミッドの階層数を増やすようにする。また、画像信号成分が小さいので固定ノイズの影響を非常に受け、色彩分布も狭く色の再現性も悪いため、固定ノイズを消去する処理や、色を再現するための処理を行う。
また、「暗闇な環境」では、画像合成を行うための特徴点の抽出及びトラッキングが非常に困難になり、画像合成が成功する可能性は非常に低くなるため、画像合成処理を行わずに、ユーザの立場を考えて「合成不可」の報知を行った後、通常の1枚撮影を行う。
【0049】
このように、「暗い環境」での画像合成は、画像の精度・品質にかかわる問題が多く発生し、それを解決するためにいくつもの処理を行わなければならないが、それらの処理は明るい環境で合成する場合は必要とせず、むしろ処理時間の浪費になってしまったり、画像品質を下げてしまう可能性もある。
そこで、連続撮影画像の合成において、それぞれの明るさに相応しい合成処理や画像処理を行うことで、無駄な処理を行わないことにより処理時間の浪費を抑えて全体的な処理速度の向上を図ることができる。さらに、必要な場合には慎重に合成を行うことで合成成功率の向上及び適切なパラメータを使うことで出力画像の画質の向上を図ることができる。
また、自動的に撮影状況の明るさに最適な撮影ができるので、ユーザビリティの向上を図ることもできる。
【0050】
なお、上記実施形態1では、映像信号処理部13は、明るさ検出処理にて検出された4パターンの明るさ(「十分に明るい環境」、「やや暗い環境」、「暗い環境」、「暗闇な環境」)に応じて所定の画像処理を実行するか否かとしたが、これに限られるものではなく、例えば、明るさの検出パターンをより細かく区分して、当該区分に応じて画像処理の内容をより細かく制御するようにしても良い。例えば、「やや暗い環境」と「暗い環境」の中間の環境を設定して、当該環境では、固定ノイズの消去か色の再現処理の何れか一方のみを行うようにしても良いし、固定ノイズの消去及び色の再現処理の程度(強度)を変更するようにしても良い。
【0051】
また、上記実施形態1では、画像処理内容の設定にて固定ノイズの消去及び色の再現処理の両方の処理内容を設定するようにしたが、必ずしも両方を設定する必要はなく、固定ノイズの消去及び色の再現処理のうち、少なくとも何れか一方の設定を行うようにしても良い。
さらに、画像合成処理内容の設定にて特徴点の抽出数及びピラミッドの階層数の両方の処理内容を設定するようにしたが、必ずしも両方を設定する必要はなく、特徴点の抽出数及びピラミッドの階層数のうち、少なくとも何れか一方の設定を行うようにしても良い。
加えて、設定される画像処理の内容は、固定ノイズの消去及び色の再現処理に限られるものではなく、また、設定される画像合成処理の内容は、特徴点の抽出数及びピラミッドの階層数に限られるものではなく、出力画像の画質の向上を図ることができる処理であれば如何なるものであっても良い。
【0052】
また、上記実施形態1にあっては、「十分に明るい環境」では、画像合成処理を行わずに通常の1枚撮影を行うようにしたが、これに限られるものではなく、手ぶれや被写体ぶれを検出した場合には、画像合成処理を行ってぶれを補正するようにしても良い。
また、上記実施形態1において、シャッターボタン41aを半押し操作と全押し操作とが可能な2段押しボタンとし、シャッターボタン41aの半押し操作が行われた際に明るさ測定を行い(ステップS1)、その後、シャッターボタン41aの全押し操作が行われると、通常撮影(ステップS3、S5)や連続撮影(ステップS7)を開始するようにしてもよい。
【0053】
[実施形態2]
以下に、実施形態2の撮像装置200について図6〜図9を参照して説明する。
ここで、図6は、本発明を適用した実施形態2の撮像装置200の概略構成を示すブロック図である。
実施形態2の撮像装置200は、基準画像と対象画像のずれ量に基づいて、画像合成処理の内容や合成画像に対する画像処理の内容を設定する。
なお、実施形態2の撮像装置200は、画像合成処理の内容や画像処理の内容を変更する以外の点では、実施形態1におけるものと略同様であり、その詳細な説明については省略するものとする。
【0054】
図6に示すように、プログラムメモリ72は、画像合成プログラム72aに加えて、ずれ量検出プログラム72e、第2の合成処理設定プログラム72f、第2の画像処理設定プログラム72g等を記憶している。
【0055】
ずれ量検出プログラム72eは、CPU71の制御下にて、映像信号処理部13に、基準画像と対象画像のずれ量(撮影状況関連情報)を検出する処理に係る機能を実現させるためのプログラムである。
即ち、CPU71がずれ量検出プログラム72eを実行することで、ピラミッド化した最も解像度の低い画像に対して特徴点追跡を行わずに、基準画像と対象画像間の全体の動き量を検出して、その値をずれ量とする。具体的には、例えば、「ずれ量小」、「ずれ量中」、「ずれ量大」の3パターンのずれ量に区分して検出する。
「ずれ量小」とは、例えば、基準画像と対象画像のずれ量が所定値t1よりも小さい場合であり、「ずれ量中」とは、基準画像と対象画像のずれ量が所定値t1以上であり、且つ所定値t2よりも小さい場合(t1<t2)であり、「ずれ量大」とは、基準画像と対象画像のずれ量が所定値t2以上である場合である。
ここで、CPU71と映像信号処理部13は、基準画像と対象画像のずれ量を検出するずれ量検出手段として機能する。また、CPU71と映像信号処理部13は、画像の撮影状況に関連した撮影状況関連情報を特定する撮影状況特定手段として機能する。
【0056】
第2の合成処理設定プログラム72fは、CPU71をずれ合成処理設定手段として機能させるものである。即ち、第2の合成処理設定プログラム72fは、ずれ量検出処理によるずれ量の検出結果に基づいて、第2の合成処理内容設定テーブルT3(図7参照)に従って、映像信号処理部13による画像合成処理の内容を設定する処理に係る機能をCPU71に実現させるためのプログラムである。
具体的には、CPU71が第2の合成処理設定プログラム72fを実行することで、ずれ量検出処理により検出されたずれ量の大きさに応じて、オプティカルフロー検出部131による特徴点追跡における対象画像内の探索範囲(追跡範囲)の大きさを変更する。例えば、ずれ量検出処理にて、ずれ量が「ずれ量小」であると検出されると、特徴点の探索範囲を通常のサイズとし、また、ずれ量が「ずれ量中」であると検出されると、特徴点の探索範囲を通常よりも大きいサイズとする。即ち、通常、特徴点の探索範囲は画像サイズから決められ、この探索範囲のサイズは、直接的に処理時間に影響を与えることになるが、大きなずれが生じることを考慮して、探索範囲のサイズをある程度大きくとらなければならない。これに対して、ずれ量が小さかった場合には、探索範囲のサイズを大きくした分の処理時間は無駄となる。そこで、基準画像と対象画像のずれ量が大きくなるほど、より慎重にトラッキングを行う必要が生じるためである。
なお、探索範囲からはみ出てしまうくらいのずれが生じて、ずれ量が「ずれ量大」であると検出された場合には、ずれ量が小さい場合に比べて画像中の似たような画素に誤って追跡してしまう可能性が大きくなってしまうため、その時点で、対象画像を画像合成処理に用いずに破棄するようになっている。
【0057】
第2の画像処理設定プログラム72gは、CPU71をずれ画像処理設定手段として機能させるものである。即ち、第2の画像処理設定プログラム72gは、ずれ量検出処理によるずれ量の検出結果に基づいて、第2の画像処理内容設定テーブルT4(図8参照)に従って、映像信号処理部13による合成画像に対する画像処理の内容を設定する処理に係る機能をCPU71に実現させるためのプログラムである。
具体的には、CPU71が第2の画像処理設定プログラム72gを実行することで、ずれ量検出処理により検出されたずれ量の大きさに応じて、映像信号処理部13による合成画像に対するシャープネス処理の強さを変更する。例えば、ずれ量検出処理にて、ずれ量が「ずれ量小」であると検出されると、シャープネスフィルタの強さを通常のものとし、また、ずれ量が「ずれ量中」であると検出されると、シャープネスフィルタの強さを通常よりも強いものとる。即ち、基準画像と対象画像のずれ量が大きくなるほど、合成時に視差の影響が大きくなり、合成精度が落ちて撮影画像がぼやっとしたり、さらにずれ量が大きくなれば、部分的に二重写りが生じた失敗画像が発生することもある。そこで、基準画像と対象画像のずれ量が大きく合成画像がぼやっとするような撮影環境では、それを解消するためにシャープネス処理を施す必要があるためである。
なお、シャープネス処理の強さの程度は、シャープネスフィルタをかけ過ぎると画像の品質が悪化するため、連続撮影中の位相のずれの最大値に応じてシャープネスフィルタの強さを設定するのが好ましい。
【0058】
また、プログラムメモリ72には、第2の合成処理内容設定テーブルT3(図7参照)と、第2の画像処理内容設定テーブルT4(図8参照)が記憶されている。
【0059】
第2の合成処理内容設定テーブルT3は、図7に示すように、画像合成処理の処理内容としての特徴点追跡における「探索範囲の大きさ」とずれ量(「ずれ量小」、「ずれ量中」、「ずれ量大」)とを対応付けて記憶している。具体的には、「探索範囲の大きさ」は、「ずれ量小」では「通常」が対応付けられ、「ずれ量中」では「通常よりも大きい」が対応付けられている。
【0060】
第2の画像処理内容設定テーブルT4は、図8に示すように、画像処理の処理内容としての合成画像に対する「シャープネスフィルタの強さ」とずれ量(「ずれ量小」、「ずれ量中」、「ずれ量大」)とを対応付けて記憶している。具体的には、「シャープネスフィルタの強さ」は、「ずれ量小」では「通常」が対応付けられ、「ずれ量中」では「通常よりも強い」が対応付けられている。
【0061】
次に、実施形態2の撮像装置200による撮像処理について図9を参照して説明する。
図9は、撮像処理に係る動作の一例を示すフローチャートである。
【0062】
図9に示すように、ユーザによるシャッターボタン41aの押圧操作に基づいて撮像部1による被写体の連続した撮影が開始されると(ステップS21)、CPU71は、プログラムメモリ72内のずれ量検出プログラム72eを実行して、映像信号処理部13に、基準画像と対象画像のずれ量を検出させる(ステップS22)。ここで、1枚目の画像を基準画像、2枚目以降の画像を対象画像とした場合は、ステップS21により連続撮影が開始された後、2枚目の画像の撮影が完了した後にステップS22に移行してずれ量検出処理が開始され、以後、画像の撮影が完了する度にステップS22のずれ量検出処理が行われることになる。
続けて、CPU71は、ずれ量検出処理の検出結果に応じて、合成される対象画像を画像合成処理の対象とするか否かの分岐を行い(ステップS23)、「ずれ量大」と検出されると、CPU71は、合成される対象画像を破棄した後(ステップS24)、ステップS22に移行する。
【0063】
一方、ステップS23にて「ずれ量小」か「ずれ量中」と検出されると、CPU71は、当該対象画像を画像合成処理の対象とし、プログラムメモリ72内の第2の合成処理設定プログラム72fを実行して、第2の合成処理内容設定テーブルT3に従って映像信号処理部13による画像合成処理の内容を設定するとともに、プログラムメモリ72内の第2の画像処理設定プログラム72gを実行して、第2の画像処理内容設定テーブルT4に従って映像信号処理部13による画像処理の内容を設定する(ステップS25)。ここで、第2の画像処理設定プログラム72gを実行して、第2の画像処理内容設定テーブルT4に従って映像信号処理部13による画像処理の内容を設定する場合、設定しようとしている画像処理の内容の強度(通常よりも強い)が現在設定されている画像処理の内容(通常)よりも高い場合にのみ更新設定するものとする。なお、画像処理の内容の強度が同じ場合は更新設定するようにしてもいいし、更新設定しないようにしてもよい
【0064】
続けて、CPU71は、プログラムメモリ72内の画像合成プログラム72aを実行して、映像信号処理部13のオプティカルフロー検出部131に、基準画像及び対象画像に対してピラミッド階層化処理を行わせるとともに、基準画像に対しては特徴点の抽出を行わせ、対象画像に対しては抽出された特徴点の追跡をずれ量に応じて設定された探索範囲で行わせる(ステップS26)。
その後、CPU71は、映像信号処理部13のRANSAC部132に、基準画像と対象画像における複数の特徴点どうしが対応付けられた特徴点対応表に基づいて、射影変換行列Hを算出させ、画像合成部133に、射影変換行列Hを用いて対象画像の画素を基準画像の座標系に射影変換させて当該対象画像と基準画像を合成させる(ステップS27)。
【0065】
次に、CPU71は、ユーザによるシャッターボタン41aの押圧操作の解除に基づいて被写体の連続撮影の終了が指示されているか否かを判定する(ステップS28)。ここで、被写体の連続撮影の終了が指示されていると判定されると(ステップS28;YES)、CPU71は、映像信号処理部13に、連続撮影中における最大ずれ量に応じて設定されたシャープネスフィルタの強さで合成画像に対してシャープネス処理を施して(ステップS29)、当該撮像処理を終了する。
【0066】
なお、ステップS28にて、被写体の連続撮影の終了が指示されていないと判定されると(ステップS28;NO)、ステップS22に移行して、入力される複数の画像信号に対して映像信号処理部13による画像合成処理の対象とするか否かの設定が行われる。
【0067】
以上のように、実施形態2の撮像装置200によれば、画像の撮影状況関連情報として基準画像と対象画像のずれ量を検出し、ずれ量の検出結果に基づいて、画像合成処理における画像合成処理の内容や画像処理における合成画像に対する画像処理の内容を設定することができる。
即ち、手ぶれ等が生じた場合に、基準画像と対象画像のずれ量の大きさに応じて特徴点追跡時における特徴点の探索範囲のサイズを設定して、当該サイズでトラッキングを行うことで、無駄な処理時間の浪費を抑えることができる。また、ずれ量が大きくなるほど、画像合成時に視差の影響が大きくなって合成精度が落ちて撮影画像がぼやっとしたり、さらにずれが大きくなれば、部分的に二重写りが生じた失敗画像が発生することもある。そこで、基準画像と対象画像のずれ量が大きく合成画像がぼやっとするような撮影環境の場合には、それを解消するためにシャープネス処理を施すようにする。さらに、基準画像と対象画像のずれ量が著しく大きい場合には、画像合成が失敗する可能性か高いので、その時点で撮影画像を破棄する。
【0068】
このように、基準画像と対象画像のずれ量の大きさは、画像合成処理や画像処理に対して影響を与えるため、ずれ量の大きさを考慮せずに一意的な画像合成処理や画像処理を行うことは処理が過不足になってしまう。
そこで、連続撮影画像の合成において、基準画像と対象画像のずれ量の大きさに相応しい画像合成処理や画像処理を行うことで、無駄な処理を行わないことにより処理時間の浪費を抑えて全体的な処理速度の向上を図ることができる。さらに、必要な場合には慎重に合成を行うことで合成成功率の向上及び適切なパラメータを使うことで出力画像の画質の向上を図ることができる。
【0069】
なお、上記実施形態2では、基準画像と対象画像のずれ量の検出にて、基準画像と対象画像間の動き量をずれ量とするようにしたが、これに限られるものではなく、例えば、加速度センサを用いて連続撮影間のカメラの移動距離を測定して、当該移動距離をずれ量とするようにしても良い。
【0070】
また、上記実施形態2では、設定される画像処理の内容をシャープネス処理としたが、設定される画像処理の内容は、シャープネス処理に限られるものではなく、さらに、設定される画像合成処理の内容は、特徴点の探索範囲の大きさの変更に限られるものではなく、出力画像の画質の向上を図ることができる処理であれば如何なるものであっても良い。
【0071】
[実施形態3]
以下に、実施形態3の撮像装置300について図10〜図13を参照して説明する。
ここで、図10は、本発明を適用した実施形態3の撮像装置300の概略構成を示すブロック図である。
実施形態3の撮像装置300は、特徴点の特徴量の測定結果に基づいて、画像合成処理の内容や合成画像に対する画像処理の内容を設定する。
なお、実施形態3の撮像装置300は、画像合成処理の内容や画像処理の内容の変更以外の点では、実施形態1におけるものと略同様であり、その詳細な説明については省略するものとする。
【0072】
図10に示すように、プログラムメモリ72は、画像合成プログラム72aに加えて、特徴量検出プログラム72h、第3の合成処理設定プログラム72i、第3の画像処理設定プログラム72j等を記憶している。
【0073】
特徴量検出プログラム72hは、CPU71の制御下にて、映像信号処理部13に、基準画像内から抽出した特徴点の特徴量(撮影状況関連情報)を検出する処理に係る機能を実現させるためのプログラムである。
即ち、CPU71が特徴量検出プログラム72hを実行することで、基準画像内から抽出した特徴点の広がり具合や均一度合から特徴量を検出する。具体的には、「特徴量小」、「特徴量中」、「特徴量大」の3パターンの特徴量に区分して検出する。
「特徴量大」とは、例えば、特徴点が画像内にて広範囲に略均一に分布している場合であり、「特徴量中」とは、特徴点が画像内にて広範囲に分布しているが、分布が均一でない場合であり、「特徴量小」とは、特徴点が画像内にて広範囲に分布しておらず、且つ、分布も均一でない場合であり、具体的には、特徴となるものがない一様に白い壁や空の画像を撮影した場合に特徴量が小さくなる。
ここで、CPU71と映像信号処理部13は、基準画像内から抽出した特徴点の特徴量を測定する特徴量測定手段として機能する。また、CPU71と映像信号処理部13は、画像の撮影状況に関連した撮影状況関連情報を特定する撮影状況特定手段として機能する。
【0074】
第3の合成処理設定プログラム72iは、CPU71を特徴合成処理設定手段として機能させるものである。即ち、第3の合成処理設定プログラム72iは、特徴量検出処理による特徴量の検出結果に基づいて、第3の合成処理内容設定テーブルT5(図11参照)に従って、映像信号処理部13による画像合成処理の内容を設定する処理に係る機能をCPU71に実現させるためのプログラムである。
具体的には、CPU71が第3の合成処理設定プログラム72iを実行することで、特徴量検出処理により検出された特徴量の大きさに応じて、オプティカルフロー検出部131による特徴点の抽出数、追跡の反復回数及びピラミッドの階層数を変更する。例えば、特徴量検出処理にて、特徴量が「特徴量大」であると検出されると、特徴点の抽出数、追跡の反復回数及びピラミッドの階層数を通常数とし、また、特徴量が「特徴量中」であると検出されると、特徴点の抽出数、追跡の反復回数及びピラミッドの階層数を通常よりも多い数とし、また、特徴量が「特徴量小」であると検出されると、特徴点の抽出数、追跡の反復回数及びピラミッドの階層数を最も多い数(特徴量が「特徴量中」の場合よりも多い数)とする。即ち、最も良好に画像合成が行える状況は、特徴量が画像中の広範囲に均一に分布していて、特徴量も大きい場合である。これに対して、特徴点の特徴量が小さい場合は、類似特徴を持つ画素に誤追跡し、トラッキングが失敗し易いといった問題がある。そこで、特徴量が小さい場合には、特徴点の抽出個数を増やしたり、トラッキングの反復回数を増やしたり、ピラミッドの階層数を増やすなどの処理を追加して、より慎重に画像合成処理を行う必要が生じるためである。
【0075】
第3の画像処理設定プログラム72jは、CPU71を特徴画像処理設定手段として機能させるものである。即ち、第3の画像処理設定プログラム72jは、特徴量検出処理による特徴量の検出結果に基づいて、第3の画像処理内容設定テーブルT6(図12参照)に従って、映像信号処理部13による合成画像に対する画像処理の内容を設定する処理に係る機能をCPU71に実現させるためのプログラムである。
具体的には、CPU71が第3の画像処理設定プログラム72jを実行することで、特徴量検出処理により検出された特徴量の大きさに応じて、映像信号処理部13による合成画像に対するシャープネス処理の強さを変更する。例えば、特徴量検出処理にて、特徴量が「特徴量大」であると検出されると、シャープネスフィルタの強さを通常のものとし、また、特徴量が「特徴量中」であると検出されると、シャープネスフィルタの強さを通常よりも強いものとし、また、特徴量が「特徴量小」であると検出されると、シャープネスフィルタの強さを最も強い(特徴量が「特徴量中」の場合よりも強い)ものとする。即ち、特徴量が小さくなるほど、トラッキング精度が落ちて撮影画像がぼやっとしてしまう。そこで、特徴量が小さければ小さいほど合成画像に対してかけるシャープネスフィルタを強めるようにすれば、合成精度に応じたシャープネスフィルタをかけることができ、結果的に画像の品質の向上を図ることができるためである。
【0076】
また、プログラムメモリ72には、第3の合成処理内容設定テーブルT5(図11参照)と、第3の画像処理内容設定テーブルT6(図12参照)が記憶されている。
【0077】
第3の合成処理内容設定テーブルT5は、図11に示すように、画像合成処理の処理内容(「特徴点の抽出処理」、「追跡の反復処理」、「ピラミッドの階層化処理」)と特徴点の特徴量(「特徴量小」、「特徴量中」、「特徴量大」)とを対応付けて記憶している。具体的には、処理内容として「特徴点の抽出処理」は、「特徴量大」では「通常数」が対応付けられ、「特徴量中」では「通常より多い」が対応付けられ、「特徴量小」では「最も多い」が対応付けられている。また、処理内容として「追跡の反復処理」は、「特徴量大」では「通常数」が対応付けられ、「特徴量中」では「通常より多い」が対応付けられ、「特徴量小」では「最も多い」が対応付けられている。また、処理内容として「ピラミッドの階層化処理」は、「特徴量大」では「通常数」が対応付けられ、「特徴量中」では「通常より多い」が対応付けられ、「特徴量小」では「最も多い」が対応付けられている。
【0078】
第3の画像処理内容設定テーブルT6は、図12に示すように、画像処理の処理内容としての合成画像に対する「シャープネスフィルタの強さ」と特徴点の特徴量(「特徴量小」、「特徴量中」、「特徴量大」)とを対応付けて記憶している。具体的には、「シャープネスフィルタの強さ」は、「特徴量大」では「通常」が対応付けられ、「特徴量中」では「通常より強い」が対応付けられ、「特徴量小」では「最も強い」が対応付けられている。
【0079】
次に、実施形態3の撮像装置300による撮像処理について図13を参照して説明する。
図13は、撮像処理に係る動作の一例を示すフローチャートである。なお、撮像処理に係る動作を開始する時点において、画像処理の処理内容(シャープネスフィルタの強さ)として、特徴量が「特徴量大」であると検出された場合に設定される「通常」がデフォルト設定されているものとする。また、同様に、撮像処理に係る動作を開始する時点において、画像合成処理の処理内容(「特徴点の抽出処理」、「追跡の反復処理」、「ピラミッドの階層化処理」)として、特徴量が「特徴量大」であると検出された場合に設定される「通常数」がデフォルト設定されているものとする。
【0080】
図13に示すように、ユーザによるシャッターボタン41aの押圧操作に基づいて撮像部1による被写体の連続した撮影が開始されると(ステップS41)、CPU71は、プログラムメモリ72内の画像合成プログラム72aを実行して、映像信号処理部13のオプティカルフロー検出部131に、基準画像に対してデフォルト設定されている「通常数」のピラミッド階層化処理及びを特徴点の抽出処理を行わせる(ステップS42)。ここで、1枚目の画像を基準画像、2枚目以降の画像を対象画像とした場合は、ステップS41により連続撮影が開始された後、1枚目の画像の撮影が完了した後にステップS42に移行して特徴点抽出処理が行われることになる。
【0081】
次に、CPU71は、抽出された特徴点の数が所定値以上であるか否かを判定する(ステップS43)。ここで、特徴点の数が所定値以上でないと判定されると(ステップS43;NO)、CPU71は、連写撮影された複数枚の画像を合成して一の画像を得る画像合成処理の実行に必要な特徴点が不足していることを表す「特徴点不足」を画像表示部32に表示させた後(ステップS44)、撮像部1により通常の撮影条件で被写体を撮影させる(ステップS45)。
【0082】
一方、ステップS43にて、特徴点の数が所定値以上であると判定されると(ステップS43;YES)、CPU71は、プログラムメモリ72内の特徴量検出プログラム72hを実行して、基準画像内から抽出した特徴点の広がり具合や均一度合から特徴量を検出する(ステップS46;特徴量検出処理)。
続けて、CPU71は、特徴量検出処理の検出結果に応じて、設定されている画像合成処理及び画像処理の内容の再設定を行うか否かの分岐を行い(ステップS47)、「特徴量中」か「特徴量小」と検出されると、CPU71は、プログラムメモリ72内の第3の合成処理設定プログラム72iを実行して、第3の合成処理内容設定テーブルT5に従って映像信号処理部13による画像合成処理の内容を再設定するとともに、プログラムメモリ72内の第3の画像処理設定プログラム72jを実行して、第3の画像処理内容設定テーブルT6に従って映像信号処理部13による画像処理の内容を再設定する(ステップS48)。つまり、画像合成処理の内容としてデフォルト設定されている「通常数」を、「通常より多い」(特徴量中)又は「最も多い」(特徴量小)に変更設定するとともに、画像処理の内容としてデフォルト設定されている「通常」を、「通常より強い」(特徴量中)又は「最も強い」(特徴量小)に変更設定する。
その後、CPU71は、プログラムメモリ72内の画像合成プログラム72aを実行して、映像信号処理部13のオプティカルフロー検出部131に、基準画像に対して、ピラミッド階層化処理を特徴量に応じて再設定された数で行わせ、特徴点の再抽出を特徴量に応じて設定された数で行わせ(ステップS49)、特徴量に応じて設定された数のピラミッド階層化処理及び追跡の反復処理を行わせることにより抽出された特徴点の追跡を行わせる(ステップS50)。
【0083】
一方、ステップS47の特徴量検出処理にて「特徴量大」と検出されると、ステップS50に移行して、CPU71は、映像信号処理部13のオプティカルフロー検出部131に、対象画像に対して、デフォルト設定されている「通常数」のピラミッド階層化処理及び追跡の反復処理を行わせることにより抽出された特徴点の追跡を行わせる(ステップS50)。
【0084】
その後、CPU71は、映像信号処理部13のRANSAC部132に、基準画像と対象画像における複数の特徴点どうしが対応付けられた特徴点対応表に基づいて、射影変換行列Hを算出させ、画像合成部133に、射影変換行列Hを用いて対象画像の画素を基準画像の座標系に射影変換させて当該対象画像と基準画像を合成させる(ステップS51)。
【0085】
次に、CPU71は、ユーザによるシャッターボタン41aの押圧操作の解除に基づいて被写体の連続撮影の終了が指示されているか否かを判定する(ステップS52)。ここで、被写体の連続撮影の終了が指示されていると判定されると(ステップS52;YES)、CPU71は、映像信号処理部13に、デフォルト設定されているシャープネスフィルタの強さ、あるいは特徴量に応じて再設定されたシャープネスフィルタの強さで合成画像に対してシャープネス処理を施して(ステップS53)、当該撮像処理を終了する。
【0086】
なお、ステップS52にて、被写体の連続撮影の終了が指示されていないと判定されると(ステップS52;NO)、ステップS50に移行して、入力される複数の画像信号に対して映像信号処理部13によるピラミッド階層化処理及び追跡の反復処理を行わせることにより抽出された特徴点の追跡を行わせる。
【0087】
以上のように、実施形態3の撮像装置300によれば、画像の撮影状況関連情報として特徴点の特徴量を検出し、特徴量の検出結果に基づいて、画像合成処理における画像合成処理の内容や画像処理における合成画像に対する画像処理の内容を設定することができる。
即ち、特徴量が小さければ小さいほど、特徴点の抽出個数を増やしたり、トラッキングの反復回数を増やしたり、ピラミッドの階層数を増やすなどの処理を追加してより慎重に画像合成処理を行う。また、特徴量が小さければ小さいほど合成画像に対してかけるシャープネスフィルタを強めるようにすれば、合成精度に応じたシャープネスフィルタをかけることができる。さらに、特徴量が小さすぎて基準画像から特徴点が規定個数抽出できない場合には、画像合成が失敗する可能性が非常に高いので、画像合成処理を行わずに、ユーザの立場を考えて「特徴点不足」の報知を行った後、通常の1枚撮影が行われる。
【0088】
このように、特徴量の大きさは、画像の精度・品質にかかわる問題が多く発生し、それを解決するためにいくつもの処理を行わなければならないが、それらの処理は特徴量が十分大きい画像を合成する場合は必要とせず、むしろ処理時間の浪費になってしまったり、画像品質を下げてしまう可能性もある。
そこで、連続撮影画像の合成において、それぞれの特徴量に相応しい合成処理や画像処理を行うことで、無駄な処理を行わないことにより処理時間の浪費を抑えて全体的な処理速度の向上を図ることができる。さらに、必要な場合には慎重に合成を行うことで合成成功率の向上及び適切なパラメータを使うことで出力画像の画質の向上を図ることができる。
【0089】
また、上記実施形態3では、画像合成処理内容の設定にて特徴点の抽出数、追跡の反復回数及びピラミッドの階層数の全ての処理内容を設定するようにしたが、必ずしも全てを設定する必要はなく、特徴点の抽出数、追跡の反復回数及びピラミッドの階層数のうち、少なくとも何れか一の設定を行うようにしても良い。
加えて、設定される画像処理の内容は、シャープネス処理に限られるものではなく、また、設定される画像合成処理の内容は、特徴点の抽出数、追跡の反復回数及びピラミッドの階層数に限られるものではなく、出力画像の画質の向上を図ることができる処理であれば如何なるものであっても良い。
【0090】
なお、本発明は、上記実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲において、種々の改良並びに設計の変更を行っても良い。
【0091】
また、上記実施形態1〜3にあっては、画像の撮影状況に応じて画像合成処理や画像処理の内容を設定するようにしたが、これに限られるものではなく、例えば、撮影状況関連情報として特定された「明るさ」や「基準画像と対象画像のずれ量の大きさ」や「特徴点の特徴量」に応じて、露光時間や絞りや感度等を変更して撮影した後、画像合成処理を行うようにしても、全体的な処理速度の向上を図ることができるとともに、出力画像の画質の向上を図るができる。
【0092】
さらに、撮像装置100、200、300の構成は、上記実施形態に例示したものは一例であり、これに限られるものではない。
【0093】
また、画像合成装置として撮像装置100、200、300を例示したが、これに限られるものではなく、撮像部1により取得した複数の画像をUSB端子6を介して接続されたパソコン等の外部機器に出力して、当該外部機器にて画像合成処理に係る撮影状況特定処理、明るさ検出処理、ずれ量検出処理、特徴量検出処理、低解像度画像作成処理、特徴点抽出処理、特徴点追跡処理、合成処理設定処理、画像処理設定処理等を行うようにしても良い。
【0094】
加えて、上記実施形態では、撮影状況特定手段、明るさ検出手段、ずれ量検出手段、特徴量検出手段、低解像度画像作成手段、特徴点抽出手段、特徴点追跡手段、合成処理設定手段、明るさ合成処理設定手段、ずれ合成処理設定手段、特徴合成処理設定手段、画像処理設定手段、明るさ画像処理設定手段、ずれ画像処理設定手段、特徴画像処理設定手段としての機能を、CPU71によって所定のプログラム等が実行されることにより実現される構成としたが、これに限られるものではなく、例えば、各種機能を実現するためのロジック回路等から構成しても良い。
【符号の説明】
【0095】
100、200、300 撮像装置(画像合成装置)
13 映像信号処理部(画像合成手段、画像処理手段)
131 オプティカルフロー検出部(低解像度画像作成手段、特徴点抽出手段、特徴点追跡手段)
132 RANSAC部
133 画像合成部
71 CPU(撮影状況特定手段、明るさ検出手段、ずれ量検出手段、特徴量検出手段、低解像度画像作成手段、特徴点抽出手段、特徴点追跡手段、合成処理設定手段、明るさ合成処理設定手段、ずれ合成処理設定手段、特徴合成処理設定手段、画像処理設定手段、明るさ画像処理設定手段、ずれ画像処理設定手段、特徴画像処理設定手段)
【技術分野】
【0001】
本発明は、複数の画像を合成する画像合成装置及びプログラムに関する。
【背景技術】
【0002】
近年、連続して撮影された複数の画像に対して特徴点の抽出及び追跡を行い、その移動量から射影変換行列Hを求め、この射影変換行列Hを用いて位置合せを行って重ね合わせることで1枚の合成画像を作り出す方法が開発されている(例えば、特許文献1参照)。
【0003】
具体的には、先ず、連続して撮影された複数の画像のうち、合成基準画像から特徴点を抽出し、それらを他の画像で追跡する。ここで、特徴点の追跡は、連続画像を所定回数サブサンプリングして低解像度の階層を作った後(ピラミッド化)、低解像度の画像から順番に反復法を用いて行う。
そして、特徴点の追跡が終了すると、RANSACを行う。画像間の複数の特徴点の対応の中からランダムに4組選択して、射影変換に用いるH行列を計算する。計算されたH行列について、サポートする特徴点の個数をそのH行列の得点として、一定以上の得点を持つH行列が求まるまで上記の作業を繰り返す。
そして、RANSACにより最終的に求まったH行列を用いて射影変換を行い、2枚の画像を合成する。これらの工程を所定枚数分繰り返して全ての画像を加算合成する。
これにより、通常の1枚撮影画像に比べてランダムに生じるノイズが平均化されたS/Nの良い画像を作り出すことができる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2005−94614号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記の画像合成にあっては、例えば、撮影している環境の明るさ、手ぶれ量、撮影画像の特徴量、被写体等の撮影状況を考慮せずに、一意的に設定した条件で行っていた。このため、撮影状況に適した画像合成処理を行えず、処理時間を浪費したり、合成精度や画像品質が落ちてしまうといった問題があった。
【0006】
そこで、本発明の課題は、処理時間の浪費の防止を図るとともに、合成精度や画像品質の低下を抑制することができる画像合成装置及びプログラムを提供することである。
【課題を解決するための手段】
【0007】
請求項1に記載の発明の画像合成装置は、
複数の画像のうち、何れか一の基準画像と対象画像を合成する画像合成処理を行う画像合成手段と、
前記画像の撮影の際の明るさを予め区分された何れかの明るさとして検出する検出手段と、
前記検出手段による検出結果に基づいて、前記画像合成手段による前記画像合成処理の内容を設定する合成処理設定手段と、
を備え、
前記画像合成手段は、
前記基準画像内から特徴点を抽出する特徴点抽出手段を含み、
前記合成処理設定手段は、前記検出手段による検出結果として暗いと区分された方のあかるさで検出した場合、前記特徴点抽出手段による前記特徴点の抽出数をより多い数とし、
前記画像合成手段は、
前記複数の画像の解像度を段階的に低減させて低解像度画像を作成する画像作成手段を含み、
前記合成処理設定手段は、前記検出手段による検出結果として暗いと区分された方のあかるさで検出した場合、前記画像作成手段による前記解像度の低減に係る段階数をより多い数とする
ことを特徴としている。
【0008】
請求項2に記載の発明のプログラムは、
コンピュータに、
複数の画像のうち、何れか一の基準画像と対象画像を合成する画像合成処理を行う合成機能と、
前記画像の撮影の際の明るさを予め区分された何れかの明るさとして検出する検出機能と、
前記検出機能による検出結果に基づいて、前記画像合成処理の内容を設定する設定機能と、
を実現させるためのプログラムであって、
前記合成機能は、
前記基準画像内から特徴点を抽出する抽出機能を含み、
前記設定機能は、前記検出機能による検出結果として暗いと区分された方の明るさで検出した場合、前記抽出機能による前記特徴点の抽出数をより多い数とし、
前記合成機能は、
前記複数の画像の解像度を段階的に低減させて低解像度画像を作成する作成機能を含み、
前記設定機能は、前記検出機能による検出結果として暗いと区分された方の明るさで検
出した場合、前記作成機能による前記解像度の低減に係る段階数をより多い数とする
ことを特徴としている。
【発明の効果】
【0009】
本発明によれば、撮影状況に応じて無駄な処理を行わない、即ち、撮影状況に応じて必要な処理を行うことにより処理時間の浪費を防止して処理速度の向上を図ることができるとともに、合成精度や画像品質の低下を抑制することができる。
【図面の簡単な説明】
【0010】
【図1】本発明を適用した実施形態1の撮像装置の概略構成を示すブロック図である。
【図2】図1の撮像装置に備わる映像信号処理部を模式的に示した図である。
【図3】図1の撮像装置による画像処理に係る処理内容と明るさとの対応関係を模式的に示す図である。
【図4】図1の撮像装置による画像合成処理に係る処理内容と明るさとの対応関係を模式的に示す図である。
【図5】図1の撮像装置による撮像処理に係る動作の一例を示すフローチャートである。
【図6】本発明を適用した実施形態2の撮像装置の概略構成を示すブロック図である。
【図7】図6の撮像装置による画像合成処理に係る処理内容とずれ量との対応関係を模式的に示す図である。
【図8】図6の撮像装置による画像処理に係る処理内容とずれ量との対応関係を模式的に示す図である。
【図9】図6の撮像装置による撮像処理に係る動作の一例を示すフローチャートである。
【図10】本発明を適用した実施形態3の撮像装置の概略構成を示すブロック図である。
【図11】図10の撮像装置による画像合成処理に係る処理内容と特徴量との対応関係を模式的に示す図である。
【図12】図10の撮像装置による画像処理に係る処理内容と特徴量との対応関係を模式的に示す図である。
【図13】図10の撮像装置による撮像処理に係る動作の一例を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下に、本発明について、図面を用いて具体的な態様を説明する。ただし、発明の範囲は、図示例に限定されない。
【0012】
[実施形態1]
図1は、本発明を適用した実施形態1の撮像装置100の概略構成を示すブロック図である。また、図2は、撮像装置100の映像信号処理部13を模式的に示した図である。
【0013】
実施形態1の撮像装置100は、画像撮影時の明るさに応じて、基準画像と対象画像を合成する画像合成処理の内容や合成される複数の被合成画像に対する画像処理の内容を設定する。
具体的には、撮像装置100は、図1に示すように、撮像部1と、撮像補助部2と、表示部3、操作部4と、記録媒体5と、USB端子6と、制御部7等を備えて構成されている。
【0014】
撮像部1は、撮像手段として、被写体を連続して撮像して複数の画像フレームを生成する。具体的には、撮像部1は、撮像レンズ群11と、電子撮像部12と、映像信号処理部13と、画像メモリ14と、撮影制御部15等を備えている。
【0015】
撮像レンズ群11は、複数の撮像レンズから構成されている。
電子撮像部12は、撮像レンズ群11を通過した被写体像を二次元の画像信号に変換するCCD(Charge Coupled Device)やCMOS(Complementary Metal-oxide Semiconductor)等の撮像素子から構成されている。
【0016】
映像信号処理部13は、電子撮像部12から出力される画像信号に対して所定の画像合成処理や画像処理を施すものである。具体的には、映像信号処理部13は、図2に示すように、合成される複数の画像に係る画像信号のピラミッド階層化、所定画像からの特徴点の抽出、抽出された特徴点の追跡(トラック)等を行うオプティカルフロー検出部131と、特徴点どうしが対応付けられた特徴点対応表からランダムに所定数の特徴点を選択して、これらの特徴点を用いた射影変換(H計算)及び他の特徴点を用いたサポート計算等を行うRANSAC部132、画素どうしが対応する位置を計算して画像信号を加算(合成)する画像合成部133を備えている。
【0017】
また、映像信号処理部13は、画像処理手段として、複数の画像に対して固定ノイズの消去処理や色の再現処理等の所定の画像処理を行う。
固定ノイズの消去は、予め撮像装置ごとに固定ノイズ値を測定しておき、連続撮影した画像からその値を差分することにより行う。
色の再現処理は、色彩分布を引き伸ばしたり、コントラストがでるような補正を行う。
【0018】
画像メモリ14は、画像処理後の画像信号を一時的に記憶する。
撮影制御部15は、CPU71の制御下にて、電子撮像部12及び映像信号処理部13を制御する。具体的には、撮影制御部15は、電子撮像部12に所定の露出時間で被写体を撮像させ、当該電子撮像部12の撮像領域から画像信号を所定のフレームレートで読み出す処理の実行を制御する。
【0019】
撮像補助部2は、撮像部1による被写体の撮像の際に駆動するものであり、フォーカス駆動部21と、ズーム駆動部22等を備えている。
【0020】
フォーカス駆動部21は、撮像レンズ群11に接続されたフォーカス機構部(図示略)を駆動させる。
ズーム駆動部22は、撮像レンズ群11に接続されたズーム機構部(図示略)を駆動させる。
なお、フォーカス駆動部21及びズーム駆動部22は、撮影制御部15に接続され、撮影制御部15の制御下にて駆動する。
【0021】
表示部3は、撮像部1により撮像された画像を表示するものである。具体的には、表示部3は、表示制御部31と、画像表示部32等を備えている。
表示制御部31は、CPU71から適宜出力される表示データを一時的に保存するビデオメモリ(図示略)を備えている。
画像表示部32は、表示制御部31からの出力信号に基づいて所定の画像を表示する液晶モニタ等を備えている。
【0022】
操作部4は、当該撮像装置100の所定操作を行うためのものであり、操作入力部41と、入力回路42等を備えている。
【0023】
操作入力部41は、撮像部1による被写体の撮像を指示するシャッターボタン41aを備えている。シャッターボタン41aは、被写体の連続撮影処理にて、ユーザにより押圧操作されている間、映像信号処理部13による画像合成処理を実行させる指示をCPU71に出力する。
【0024】
入力回路42は、操作入力部41から出力され入力された操作信号をCPU71に入力するためのものである。
【0025】
記録媒体5は、例えば、カード型の不揮発性メモリ(フラッシュメモリ)やハードディスク等により構成され、撮像部1により撮像された画像の画像データを複数記憶する。
【0026】
USB端子6は、外部機器との接続用の端子であり、USBケーブル(図示略)等を介してデータの送受信を行う。
【0027】
制御部7は、撮像装置100の各部を制御するものであり、例えば、CPU71と、プログラムメモリ72と、データメモリ73等を備えている。
【0028】
CPU71は、プログラムメモリ72に記憶された撮像装置100用の各種処理プログラムに従って各種の制御動作を行うものである。
【0029】
データメモリ73は、例えば、フラッシュメモリ等により構成され、CPU71によって処理されるデータ等を一時記憶する。
【0030】
プログラムメモリ72は、CPU71の動作に必要な各種プログラムやデータを記憶するものである。具体的には、プログラムメモリ72は、画像合成プログラム72a、明るさ検出プログラム72b、第1の画像処理設定プログラム72c、第1の合成処理設定プログラム72d等を記憶している。
【0031】
画像合成プログラム72aは、CPU71の制御下にて、映像信号処理部13に、電子撮像部1により連続的に撮像された複数の画像のうち、何れか一の基準画像(例えば1枚目の画像)内から抽出した特徴点を対象画像(例えば2枚目以降の画像)内で追跡し、当該追跡結果に基づいて基準画像と対象画像を合成する画像合成処理に係る機能を実現させるためのプログラムである。
具体的には、CPU71が画像合成プログラム72aを実行することで、映像信号処理部13のオプティカルフロー検出部131は、低解像度画像作成手段として、入力された複数の画像信号に基づいて、例えば画像の縦横の画素を順次1/2倍ずつすることで解像度を段階的に低減させた低解像度画像を作成する(ピラミッド化)。また、オプティカルフロー検出部131は、特徴点抽出手段として、複数の画像のうち、何れか一の画像を基準画像として、基準画像から所定数の特徴点(特徴の高いブロック領域)を選択して抽出する。そして、オプティカルフロー検出部131は、対象画像に対する特徴点追跡手段として、特徴点を最も解像度の低い画像から解像度が高い方に順次追跡する。
そして、RANSAC部132は、基準画像と対象画像における複数の特徴点の対応の中からランダムに4点選択して仮の射影変換行列Hを計算し、そのサポート数で求めた射影変換行列Hを評価し、その作業を繰り返してより信頼性の高い射影変換行列Hを算出する。
その後、画像合成部133は、射影変換行列Hを用いて対象画像の画素を基準画像の座標系に射影変換して、当該対象画像と基準画像を合成する。
なお、画像合成処理にあっては、基準画像の画素を対象画像の座標系に射影変換するようにしても良い。
ここで、CPU71と映像信号処理部13は、基準画像と対象画像を合成する画像合成処理を行う画像合成手段として機能する。
【0032】
明るさ検出プログラム72bは、CPU71の制御下にて、映像信号処理部13に、電子撮像部1により撮像された画像の画像信号に基づいて所定領域の画素の輝度を測定させて当該画像の撮影の際の明るさ(撮影状況関連情報)を検出する明るさ検出処理に係る機能を実現させるためのプログラムである。
即ち、CPU71が明るさ検出プログラム72bを実行することで、映像信号処理部13は、被写体のプレビュー画像(スルー画像)の画像信号に基づいて所定領域の画素の輝度を測定して当該画像の明るさを検出する。具体的には、例えば、「十分に明るい環境」、「やや暗い環境」、「暗い環境」、「暗闇な環境」の4パターンの明るさに区分して検出する。
「十分に明るい環境」とは、例えば、日中の屋外や明るい照明下で撮影するような環境に相当し、「やや暗い環境」とは、例えば、夕方やくもりの日、照明の弱い室内で撮影するような環境に相当し、「暗い環境」とは、例えば、夜間や照明がかなり暗い室内などフラッシュを使って撮影するような環境に相当し、「暗闇な環境」とは、夜の森の中や照明が全くない室内など光源が存在しないような環境に相当する。
ここで、CPU71と映像信号処理部13は、画像の撮影の際の明るさを検出する明るさ検出手段として機能する。また、CPU71と映像信号処理部13は、画像の撮影状況に関連した撮影状況関連情報を特定する撮影状況特定手段として機能する。
【0033】
第1の画像処理設定プログラム72cは、CPU71を明るさ画像処理設定手段として機能させるものである。即ち、第1の画像処理設定プログラム72cは、明るさ検出処理による明るさの検出結果に基づいて、第1の画像処理内容設定テーブルT1(図3参照)に従って、映像信号処理部13による基準画像や対象画像(被合成画像)に対する画像処理の内容を設定する処理に係る機能をCPU71に実現させるためのプログラムである。
具体的には、明るさ検出処理にて「やや暗い環境」であると検出されると、CPU71が第1の画像処理設定プログラム72cを実行することで、映像信号処理部13に固定ノイズの消去及び色の再現処理を実行させないように設定する。また、明るさ検出処理にて「暗い環境」であると検出されると、CPU71が第1の画像処理設定プログラム72cを実行することで、映像信号処理部13に固定ノイズの消去及び色の再現処理を行わせるように設定する。即ち、撮影環境が著しく暗い場合、連続撮影した画像1枚毎の色彩分布が狭くなったり、変化してしまうという問題が生じる。色彩成分が狂ってしまった画像は、単純に加算合成しても、色やコントラストが再現できないため、色の再現処理を行う必要があるためである。さらに、「暗い環境」では、画像成分が小さいために、カメラ固有で特定の画素に現れる固定ノイズの影響が無視できなくなる。つまり、画像信号が固定ノイズと比較しても小さな値となり、このような環境での画像合成においては、固定ノイズを無視することはできないため、固定ノイズの除去を行う必要があるためである。
【0034】
第1の合成処理設定プログラム72dは、CPU71を明るさ合成処理設定手段として機能させるものである。即ち、第1の合成処理設定プログラム72dは、明るさ検出処理による明るさの検出結果に基づいて、第1の合成処理内容設定テーブルT2(図4参照)に従って、映像信号処理部13による画像合成処理の内容を設定する処理に係る機能をCPU71に実現させるためのプログラムである。
具体的には、明るさ検出処理にて「やや暗い環境」であると検出されると、CPU71が第1の合成処理設定プログラム72dを実行することで、映像信号処理部13のオプティカルフロー検出部131による特徴点の抽出数及びピラミッドの階層数を通常数とするように設定する。また、明るさ検出処理にて「暗い環境」であると検出されると、CPU71が第1の合成処理設定プログラム72dを実行することで、オプティカルフロー検出部131による特徴点の抽出数及びピラミッドの階層数を通常よりも多い数に変更するように設定する。即ち、撮影環境が著しく暗い場合、各画素の画像信号か著しく小さいため、特徴点がノイズに埋もれてしまうことから、特徴点の抽出・トラッキングは非常に困難になる。そこで、「暗い環境」では、明るい環境での画像合成よりも多くの特徴点を抽出したり、トラッキングを多くしたりして精度を高める必要があるためである。
【0035】
また、プログラムメモリ72には、第1の画像処理内容設定テーブルT1(図3参照)と、第1の合成処理内容設定テーブルT2(図4参照)が記憶されている。
【0036】
第1の画像処理内容設定テーブルT1は、図3に示すように、画像処理の処理内容(「固定ノイズの消去処理」、「色の再現処理」)と明るさ(「十分に明るい環境」、「やや暗い環境」、「暗い環境」、「暗闇な環境」)とを対応付けて記憶している。具体的には、処理内容として「固定ノイズの消去処理」は、「やや暗い環境」では「行わない」が対応付けられ、「暗い環境」では「行う」が対応付けられている。また、処理内容として「色の再現処理」は、「やや暗い環境」では「行わない」が対応付けられ、「暗い環境」では「行う」が対応付けられている。
【0037】
第1の合成処理内容設定テーブルT2は、図4に示すように、画像合成処理の処理内容(「特徴点の抽出処理」、「ピラミッドの階層化処理」)と明るさ(「十分に明るい環境」、「やや暗い環境」、「暗い環境」、「暗闇な環境」)とを対応付けて記憶している。具体的には、処理内容として「特徴点の抽出処理」は、「やや暗い環境」では「通常数」が対応付けられ、「暗い環境」では「通常よりも多い」が対応付けられている。また、処理内容として「ピラミッドの階層化処理」は、「やや暗い環境」では「通常数」が対応付けられ、「暗い環境」では「通常よりも多い」が対応付けられている。
【0038】
次に、実施形態1の撮像装置100による撮像処理について図5を参照して説明する。
図5は、撮像処理に係る動作の一例を示すフローチャートである。
【0039】
図5に示すように、撮像部1による被写体の撮像が開始されると、CPU71は、プログラムメモリ72内の明るさ検出プログラム72bを実行して、映像信号処理部13に被写体のプレビュー画像(スルー画像)の画像信号に基づいて所定領域の画素の輝度を測定して当該画像の明るさを検出させる(ステップS1)。
続けて、CPU71は、明るさ検出処理の検出結果に応じて、撮影モードを通常撮影モードと連写撮影モードに設定する分岐を行う(ステップS2)。具体的には、明るさ検出処理にて「十分に明るい環境」や「暗闇な環境」と検出されると、CPU71は、撮影モードを通常撮影モードに設定し、一方、明るさ検出処理にて「やや暗い環境」や「暗い環境」と検出されると、CPU71は、撮影モードを連写撮影モードに設定する。
【0040】
明るさ検出処理にて「十分に明るい環境」と検出され、ステップS2にて撮影モードが通常撮影モードに設定されると、CPU71は、ユーザによるシャッターボタン41aの押圧操作に基づいて、撮像部1により通常の撮影条件で被写体を撮影させる(ステップS3)。
【0041】
また、明るさ検出処理にて「暗闇な環境」と検出され、ステップS2にて撮影モードが通常撮影モードに設定されると、CPU71は、連写撮影された複数枚の画像を合成して一の画像を得る画像合成処理が実行不可であることを表す「合成不可」を画像表示部32に表示させる(ステップS4)。その後、CPU71は、ユーザによるシャッターボタン41aの押圧操作に基づいて、撮像部1により通常の撮影条件で被写体を撮影させる(ステップS5)。
【0042】
一方、明るさ検出処理にて「やや暗い環境」や「暗い環境」と検出され、ステップS2にて撮影モードが連写撮影モードに設定されると、CPU71は、プログラムメモリ72内の第1の画像処理設定プログラム72cを実行して、第1の画像処理内容設定テーブルT1に従って映像信号処理部13による画像処理の内容を設定するとともに、プログラムメモリ72内の第1の合成処理設定プログラム72dを実行して、第1の合成処理内容設定テーブルT2に従って映像信号処理部13による画像合成処理の内容を設定する(ステップS6)。
【0043】
続けて、ユーザによるシャッターボタン41aの押圧操作に基づいて撮像部1による被写体の連続した撮影が開始されると(ステップS7)、明るさ検出処理の検出結果の「やや暗い環境」及び「暗い環境」に応じて分岐して(ステップS8)、明るさ検出処理の検出結果が「やや暗い環境」の場合には、CPU71は、プログラムメモリ72内の画像合成プログラム72aを実行して、映像信号処理部13のオプティカルフロー検出部131に、基準画像及び対象画像に対して階層数を通常数としてピラミッド階層化処理を行わせるとともに、基準画像に対しては抽出数を通常数として特徴点の抽出を行わせ、対象画像に対しては抽出された特徴点の追跡を行わせる(ステップS9)。
【0044】
一方、ステップS8にて、明るさ検出処理の検出結果が「暗い環境」の場合には、CPU71は、映像信号処理部13に、基準画像及び対象画像に対して固定ノイズの消去及び色の再現処理を行わせた後(ステップS10)、プログラムメモリ72内の画像合成プログラム72aを実行して、映像信号処理部13のオプティカルフロー検出部131に、基準画像及び対象画像に対して階層数を通常よりも多い数としてピラミッド階層化処理を行わせるとともに、基準画像に対しては抽出数を通常よりも多い数として特徴点の抽出を行わせ、対象画像に対しては抽出された特徴点の追跡を行わせる(ステップS11)。
【0045】
その後、CPU71は、映像信号処理部13のRANSAC部132に、基準画像と対象画像における複数の特徴点どうしが対応付けられた特徴点対応表に基づいて、射影変換行列Hを算出させ、画像合成部133に、射影変換行列Hを用いて対象画像の画素を基準画像の座標系に射影変換させて当該対象画像と基準画像を合成させる(ステップS12)。勿論、ステップS12の画像合成を行うためには、その時点で基準画像と少なくとも1つの対象画像の撮影が完了している必要があるので、撮影が完了していない場合にはステップS12の画像合成をスキップすることになる。
【0046】
次に、CPU71は、ユーザによるシャッターボタン41aの押圧操作の解除に基づいて被写体の連続撮影の終了が指示されているか否かを判定する(ステップS13)。ここで、被写体の連続撮影の終了が指示されていると判定されると(ステップS13;YES)、CPU71は、合成画像に対して所定の画像処理を施して(ステップS14)、当該撮像処理を終了する。
【0047】
なお、ステップS13にて、被写体の連続撮影の終了が指示されていないと判定されると(ステップS13;NO)、ステップS8に移行して、入力される複数の画像信号に対して映像信号処理部13による画像合成処理及び画像処理が行われる。
【0048】
以上のように、実施形態1の撮像装置100によれば、画像の撮影状況関連情報として画像の撮影の際の明るさを検出し、明るさの検出結果に基づいて、画像処理における基準画像や対象画像に対する画像処理の内容や画像合成処理における画像合成処理の内容を設定することができる。
即ち、「十分に明るい環境」では、通常撮影で十分綺麗に撮影できるため、画像合成で得られる画像に対する処理時間などのデメリットの方が目立ってしまう場合が多くなる。このため、画像合成処理を行わずに通常の1枚撮影を行う。これにより、撮影環境の明るさによって画像合成を行うか行わないかの選択を自動で切替えることになるので、ユーザにとってはその手間が省略できる。
また、「やや暗い環境」では、通常撮影でもある程度明るく撮影することができるため、特徴点の抽出及びトラッキングに関しては、それほど慎重に行わなくても十分な精度を得ることができる。また、各画素の画像信号も十分あるので固定ノイズの影響も受け難く、色彩分布もそれほど狭くならないため、それらを補正する処理は行わなくても十分な品質を確保することができるので、その分、処理時間を短縮することができる。
また、「暗い環境」では、画像合成が失敗し易いので、「やや暗い環境」よりも慎重に合成を行う必要があるため、特徴点の抽出数やピラミッドの階層数を増やすようにする。また、画像信号成分が小さいので固定ノイズの影響を非常に受け、色彩分布も狭く色の再現性も悪いため、固定ノイズを消去する処理や、色を再現するための処理を行う。
また、「暗闇な環境」では、画像合成を行うための特徴点の抽出及びトラッキングが非常に困難になり、画像合成が成功する可能性は非常に低くなるため、画像合成処理を行わずに、ユーザの立場を考えて「合成不可」の報知を行った後、通常の1枚撮影を行う。
【0049】
このように、「暗い環境」での画像合成は、画像の精度・品質にかかわる問題が多く発生し、それを解決するためにいくつもの処理を行わなければならないが、それらの処理は明るい環境で合成する場合は必要とせず、むしろ処理時間の浪費になってしまったり、画像品質を下げてしまう可能性もある。
そこで、連続撮影画像の合成において、それぞれの明るさに相応しい合成処理や画像処理を行うことで、無駄な処理を行わないことにより処理時間の浪費を抑えて全体的な処理速度の向上を図ることができる。さらに、必要な場合には慎重に合成を行うことで合成成功率の向上及び適切なパラメータを使うことで出力画像の画質の向上を図ることができる。
また、自動的に撮影状況の明るさに最適な撮影ができるので、ユーザビリティの向上を図ることもできる。
【0050】
なお、上記実施形態1では、映像信号処理部13は、明るさ検出処理にて検出された4パターンの明るさ(「十分に明るい環境」、「やや暗い環境」、「暗い環境」、「暗闇な環境」)に応じて所定の画像処理を実行するか否かとしたが、これに限られるものではなく、例えば、明るさの検出パターンをより細かく区分して、当該区分に応じて画像処理の内容をより細かく制御するようにしても良い。例えば、「やや暗い環境」と「暗い環境」の中間の環境を設定して、当該環境では、固定ノイズの消去か色の再現処理の何れか一方のみを行うようにしても良いし、固定ノイズの消去及び色の再現処理の程度(強度)を変更するようにしても良い。
【0051】
また、上記実施形態1では、画像処理内容の設定にて固定ノイズの消去及び色の再現処理の両方の処理内容を設定するようにしたが、必ずしも両方を設定する必要はなく、固定ノイズの消去及び色の再現処理のうち、少なくとも何れか一方の設定を行うようにしても良い。
さらに、画像合成処理内容の設定にて特徴点の抽出数及びピラミッドの階層数の両方の処理内容を設定するようにしたが、必ずしも両方を設定する必要はなく、特徴点の抽出数及びピラミッドの階層数のうち、少なくとも何れか一方の設定を行うようにしても良い。
加えて、設定される画像処理の内容は、固定ノイズの消去及び色の再現処理に限られるものではなく、また、設定される画像合成処理の内容は、特徴点の抽出数及びピラミッドの階層数に限られるものではなく、出力画像の画質の向上を図ることができる処理であれば如何なるものであっても良い。
【0052】
また、上記実施形態1にあっては、「十分に明るい環境」では、画像合成処理を行わずに通常の1枚撮影を行うようにしたが、これに限られるものではなく、手ぶれや被写体ぶれを検出した場合には、画像合成処理を行ってぶれを補正するようにしても良い。
また、上記実施形態1において、シャッターボタン41aを半押し操作と全押し操作とが可能な2段押しボタンとし、シャッターボタン41aの半押し操作が行われた際に明るさ測定を行い(ステップS1)、その後、シャッターボタン41aの全押し操作が行われると、通常撮影(ステップS3、S5)や連続撮影(ステップS7)を開始するようにしてもよい。
【0053】
[実施形態2]
以下に、実施形態2の撮像装置200について図6〜図9を参照して説明する。
ここで、図6は、本発明を適用した実施形態2の撮像装置200の概略構成を示すブロック図である。
実施形態2の撮像装置200は、基準画像と対象画像のずれ量に基づいて、画像合成処理の内容や合成画像に対する画像処理の内容を設定する。
なお、実施形態2の撮像装置200は、画像合成処理の内容や画像処理の内容を変更する以外の点では、実施形態1におけるものと略同様であり、その詳細な説明については省略するものとする。
【0054】
図6に示すように、プログラムメモリ72は、画像合成プログラム72aに加えて、ずれ量検出プログラム72e、第2の合成処理設定プログラム72f、第2の画像処理設定プログラム72g等を記憶している。
【0055】
ずれ量検出プログラム72eは、CPU71の制御下にて、映像信号処理部13に、基準画像と対象画像のずれ量(撮影状況関連情報)を検出する処理に係る機能を実現させるためのプログラムである。
即ち、CPU71がずれ量検出プログラム72eを実行することで、ピラミッド化した最も解像度の低い画像に対して特徴点追跡を行わずに、基準画像と対象画像間の全体の動き量を検出して、その値をずれ量とする。具体的には、例えば、「ずれ量小」、「ずれ量中」、「ずれ量大」の3パターンのずれ量に区分して検出する。
「ずれ量小」とは、例えば、基準画像と対象画像のずれ量が所定値t1よりも小さい場合であり、「ずれ量中」とは、基準画像と対象画像のずれ量が所定値t1以上であり、且つ所定値t2よりも小さい場合(t1<t2)であり、「ずれ量大」とは、基準画像と対象画像のずれ量が所定値t2以上である場合である。
ここで、CPU71と映像信号処理部13は、基準画像と対象画像のずれ量を検出するずれ量検出手段として機能する。また、CPU71と映像信号処理部13は、画像の撮影状況に関連した撮影状況関連情報を特定する撮影状況特定手段として機能する。
【0056】
第2の合成処理設定プログラム72fは、CPU71をずれ合成処理設定手段として機能させるものである。即ち、第2の合成処理設定プログラム72fは、ずれ量検出処理によるずれ量の検出結果に基づいて、第2の合成処理内容設定テーブルT3(図7参照)に従って、映像信号処理部13による画像合成処理の内容を設定する処理に係る機能をCPU71に実現させるためのプログラムである。
具体的には、CPU71が第2の合成処理設定プログラム72fを実行することで、ずれ量検出処理により検出されたずれ量の大きさに応じて、オプティカルフロー検出部131による特徴点追跡における対象画像内の探索範囲(追跡範囲)の大きさを変更する。例えば、ずれ量検出処理にて、ずれ量が「ずれ量小」であると検出されると、特徴点の探索範囲を通常のサイズとし、また、ずれ量が「ずれ量中」であると検出されると、特徴点の探索範囲を通常よりも大きいサイズとする。即ち、通常、特徴点の探索範囲は画像サイズから決められ、この探索範囲のサイズは、直接的に処理時間に影響を与えることになるが、大きなずれが生じることを考慮して、探索範囲のサイズをある程度大きくとらなければならない。これに対して、ずれ量が小さかった場合には、探索範囲のサイズを大きくした分の処理時間は無駄となる。そこで、基準画像と対象画像のずれ量が大きくなるほど、より慎重にトラッキングを行う必要が生じるためである。
なお、探索範囲からはみ出てしまうくらいのずれが生じて、ずれ量が「ずれ量大」であると検出された場合には、ずれ量が小さい場合に比べて画像中の似たような画素に誤って追跡してしまう可能性が大きくなってしまうため、その時点で、対象画像を画像合成処理に用いずに破棄するようになっている。
【0057】
第2の画像処理設定プログラム72gは、CPU71をずれ画像処理設定手段として機能させるものである。即ち、第2の画像処理設定プログラム72gは、ずれ量検出処理によるずれ量の検出結果に基づいて、第2の画像処理内容設定テーブルT4(図8参照)に従って、映像信号処理部13による合成画像に対する画像処理の内容を設定する処理に係る機能をCPU71に実現させるためのプログラムである。
具体的には、CPU71が第2の画像処理設定プログラム72gを実行することで、ずれ量検出処理により検出されたずれ量の大きさに応じて、映像信号処理部13による合成画像に対するシャープネス処理の強さを変更する。例えば、ずれ量検出処理にて、ずれ量が「ずれ量小」であると検出されると、シャープネスフィルタの強さを通常のものとし、また、ずれ量が「ずれ量中」であると検出されると、シャープネスフィルタの強さを通常よりも強いものとる。即ち、基準画像と対象画像のずれ量が大きくなるほど、合成時に視差の影響が大きくなり、合成精度が落ちて撮影画像がぼやっとしたり、さらにずれ量が大きくなれば、部分的に二重写りが生じた失敗画像が発生することもある。そこで、基準画像と対象画像のずれ量が大きく合成画像がぼやっとするような撮影環境では、それを解消するためにシャープネス処理を施す必要があるためである。
なお、シャープネス処理の強さの程度は、シャープネスフィルタをかけ過ぎると画像の品質が悪化するため、連続撮影中の位相のずれの最大値に応じてシャープネスフィルタの強さを設定するのが好ましい。
【0058】
また、プログラムメモリ72には、第2の合成処理内容設定テーブルT3(図7参照)と、第2の画像処理内容設定テーブルT4(図8参照)が記憶されている。
【0059】
第2の合成処理内容設定テーブルT3は、図7に示すように、画像合成処理の処理内容としての特徴点追跡における「探索範囲の大きさ」とずれ量(「ずれ量小」、「ずれ量中」、「ずれ量大」)とを対応付けて記憶している。具体的には、「探索範囲の大きさ」は、「ずれ量小」では「通常」が対応付けられ、「ずれ量中」では「通常よりも大きい」が対応付けられている。
【0060】
第2の画像処理内容設定テーブルT4は、図8に示すように、画像処理の処理内容としての合成画像に対する「シャープネスフィルタの強さ」とずれ量(「ずれ量小」、「ずれ量中」、「ずれ量大」)とを対応付けて記憶している。具体的には、「シャープネスフィルタの強さ」は、「ずれ量小」では「通常」が対応付けられ、「ずれ量中」では「通常よりも強い」が対応付けられている。
【0061】
次に、実施形態2の撮像装置200による撮像処理について図9を参照して説明する。
図9は、撮像処理に係る動作の一例を示すフローチャートである。
【0062】
図9に示すように、ユーザによるシャッターボタン41aの押圧操作に基づいて撮像部1による被写体の連続した撮影が開始されると(ステップS21)、CPU71は、プログラムメモリ72内のずれ量検出プログラム72eを実行して、映像信号処理部13に、基準画像と対象画像のずれ量を検出させる(ステップS22)。ここで、1枚目の画像を基準画像、2枚目以降の画像を対象画像とした場合は、ステップS21により連続撮影が開始された後、2枚目の画像の撮影が完了した後にステップS22に移行してずれ量検出処理が開始され、以後、画像の撮影が完了する度にステップS22のずれ量検出処理が行われることになる。
続けて、CPU71は、ずれ量検出処理の検出結果に応じて、合成される対象画像を画像合成処理の対象とするか否かの分岐を行い(ステップS23)、「ずれ量大」と検出されると、CPU71は、合成される対象画像を破棄した後(ステップS24)、ステップS22に移行する。
【0063】
一方、ステップS23にて「ずれ量小」か「ずれ量中」と検出されると、CPU71は、当該対象画像を画像合成処理の対象とし、プログラムメモリ72内の第2の合成処理設定プログラム72fを実行して、第2の合成処理内容設定テーブルT3に従って映像信号処理部13による画像合成処理の内容を設定するとともに、プログラムメモリ72内の第2の画像処理設定プログラム72gを実行して、第2の画像処理内容設定テーブルT4に従って映像信号処理部13による画像処理の内容を設定する(ステップS25)。ここで、第2の画像処理設定プログラム72gを実行して、第2の画像処理内容設定テーブルT4に従って映像信号処理部13による画像処理の内容を設定する場合、設定しようとしている画像処理の内容の強度(通常よりも強い)が現在設定されている画像処理の内容(通常)よりも高い場合にのみ更新設定するものとする。なお、画像処理の内容の強度が同じ場合は更新設定するようにしてもいいし、更新設定しないようにしてもよい
【0064】
続けて、CPU71は、プログラムメモリ72内の画像合成プログラム72aを実行して、映像信号処理部13のオプティカルフロー検出部131に、基準画像及び対象画像に対してピラミッド階層化処理を行わせるとともに、基準画像に対しては特徴点の抽出を行わせ、対象画像に対しては抽出された特徴点の追跡をずれ量に応じて設定された探索範囲で行わせる(ステップS26)。
その後、CPU71は、映像信号処理部13のRANSAC部132に、基準画像と対象画像における複数の特徴点どうしが対応付けられた特徴点対応表に基づいて、射影変換行列Hを算出させ、画像合成部133に、射影変換行列Hを用いて対象画像の画素を基準画像の座標系に射影変換させて当該対象画像と基準画像を合成させる(ステップS27)。
【0065】
次に、CPU71は、ユーザによるシャッターボタン41aの押圧操作の解除に基づいて被写体の連続撮影の終了が指示されているか否かを判定する(ステップS28)。ここで、被写体の連続撮影の終了が指示されていると判定されると(ステップS28;YES)、CPU71は、映像信号処理部13に、連続撮影中における最大ずれ量に応じて設定されたシャープネスフィルタの強さで合成画像に対してシャープネス処理を施して(ステップS29)、当該撮像処理を終了する。
【0066】
なお、ステップS28にて、被写体の連続撮影の終了が指示されていないと判定されると(ステップS28;NO)、ステップS22に移行して、入力される複数の画像信号に対して映像信号処理部13による画像合成処理の対象とするか否かの設定が行われる。
【0067】
以上のように、実施形態2の撮像装置200によれば、画像の撮影状況関連情報として基準画像と対象画像のずれ量を検出し、ずれ量の検出結果に基づいて、画像合成処理における画像合成処理の内容や画像処理における合成画像に対する画像処理の内容を設定することができる。
即ち、手ぶれ等が生じた場合に、基準画像と対象画像のずれ量の大きさに応じて特徴点追跡時における特徴点の探索範囲のサイズを設定して、当該サイズでトラッキングを行うことで、無駄な処理時間の浪費を抑えることができる。また、ずれ量が大きくなるほど、画像合成時に視差の影響が大きくなって合成精度が落ちて撮影画像がぼやっとしたり、さらにずれが大きくなれば、部分的に二重写りが生じた失敗画像が発生することもある。そこで、基準画像と対象画像のずれ量が大きく合成画像がぼやっとするような撮影環境の場合には、それを解消するためにシャープネス処理を施すようにする。さらに、基準画像と対象画像のずれ量が著しく大きい場合には、画像合成が失敗する可能性か高いので、その時点で撮影画像を破棄する。
【0068】
このように、基準画像と対象画像のずれ量の大きさは、画像合成処理や画像処理に対して影響を与えるため、ずれ量の大きさを考慮せずに一意的な画像合成処理や画像処理を行うことは処理が過不足になってしまう。
そこで、連続撮影画像の合成において、基準画像と対象画像のずれ量の大きさに相応しい画像合成処理や画像処理を行うことで、無駄な処理を行わないことにより処理時間の浪費を抑えて全体的な処理速度の向上を図ることができる。さらに、必要な場合には慎重に合成を行うことで合成成功率の向上及び適切なパラメータを使うことで出力画像の画質の向上を図ることができる。
【0069】
なお、上記実施形態2では、基準画像と対象画像のずれ量の検出にて、基準画像と対象画像間の動き量をずれ量とするようにしたが、これに限られるものではなく、例えば、加速度センサを用いて連続撮影間のカメラの移動距離を測定して、当該移動距離をずれ量とするようにしても良い。
【0070】
また、上記実施形態2では、設定される画像処理の内容をシャープネス処理としたが、設定される画像処理の内容は、シャープネス処理に限られるものではなく、さらに、設定される画像合成処理の内容は、特徴点の探索範囲の大きさの変更に限られるものではなく、出力画像の画質の向上を図ることができる処理であれば如何なるものであっても良い。
【0071】
[実施形態3]
以下に、実施形態3の撮像装置300について図10〜図13を参照して説明する。
ここで、図10は、本発明を適用した実施形態3の撮像装置300の概略構成を示すブロック図である。
実施形態3の撮像装置300は、特徴点の特徴量の測定結果に基づいて、画像合成処理の内容や合成画像に対する画像処理の内容を設定する。
なお、実施形態3の撮像装置300は、画像合成処理の内容や画像処理の内容の変更以外の点では、実施形態1におけるものと略同様であり、その詳細な説明については省略するものとする。
【0072】
図10に示すように、プログラムメモリ72は、画像合成プログラム72aに加えて、特徴量検出プログラム72h、第3の合成処理設定プログラム72i、第3の画像処理設定プログラム72j等を記憶している。
【0073】
特徴量検出プログラム72hは、CPU71の制御下にて、映像信号処理部13に、基準画像内から抽出した特徴点の特徴量(撮影状況関連情報)を検出する処理に係る機能を実現させるためのプログラムである。
即ち、CPU71が特徴量検出プログラム72hを実行することで、基準画像内から抽出した特徴点の広がり具合や均一度合から特徴量を検出する。具体的には、「特徴量小」、「特徴量中」、「特徴量大」の3パターンの特徴量に区分して検出する。
「特徴量大」とは、例えば、特徴点が画像内にて広範囲に略均一に分布している場合であり、「特徴量中」とは、特徴点が画像内にて広範囲に分布しているが、分布が均一でない場合であり、「特徴量小」とは、特徴点が画像内にて広範囲に分布しておらず、且つ、分布も均一でない場合であり、具体的には、特徴となるものがない一様に白い壁や空の画像を撮影した場合に特徴量が小さくなる。
ここで、CPU71と映像信号処理部13は、基準画像内から抽出した特徴点の特徴量を測定する特徴量測定手段として機能する。また、CPU71と映像信号処理部13は、画像の撮影状況に関連した撮影状況関連情報を特定する撮影状況特定手段として機能する。
【0074】
第3の合成処理設定プログラム72iは、CPU71を特徴合成処理設定手段として機能させるものである。即ち、第3の合成処理設定プログラム72iは、特徴量検出処理による特徴量の検出結果に基づいて、第3の合成処理内容設定テーブルT5(図11参照)に従って、映像信号処理部13による画像合成処理の内容を設定する処理に係る機能をCPU71に実現させるためのプログラムである。
具体的には、CPU71が第3の合成処理設定プログラム72iを実行することで、特徴量検出処理により検出された特徴量の大きさに応じて、オプティカルフロー検出部131による特徴点の抽出数、追跡の反復回数及びピラミッドの階層数を変更する。例えば、特徴量検出処理にて、特徴量が「特徴量大」であると検出されると、特徴点の抽出数、追跡の反復回数及びピラミッドの階層数を通常数とし、また、特徴量が「特徴量中」であると検出されると、特徴点の抽出数、追跡の反復回数及びピラミッドの階層数を通常よりも多い数とし、また、特徴量が「特徴量小」であると検出されると、特徴点の抽出数、追跡の反復回数及びピラミッドの階層数を最も多い数(特徴量が「特徴量中」の場合よりも多い数)とする。即ち、最も良好に画像合成が行える状況は、特徴量が画像中の広範囲に均一に分布していて、特徴量も大きい場合である。これに対して、特徴点の特徴量が小さい場合は、類似特徴を持つ画素に誤追跡し、トラッキングが失敗し易いといった問題がある。そこで、特徴量が小さい場合には、特徴点の抽出個数を増やしたり、トラッキングの反復回数を増やしたり、ピラミッドの階層数を増やすなどの処理を追加して、より慎重に画像合成処理を行う必要が生じるためである。
【0075】
第3の画像処理設定プログラム72jは、CPU71を特徴画像処理設定手段として機能させるものである。即ち、第3の画像処理設定プログラム72jは、特徴量検出処理による特徴量の検出結果に基づいて、第3の画像処理内容設定テーブルT6(図12参照)に従って、映像信号処理部13による合成画像に対する画像処理の内容を設定する処理に係る機能をCPU71に実現させるためのプログラムである。
具体的には、CPU71が第3の画像処理設定プログラム72jを実行することで、特徴量検出処理により検出された特徴量の大きさに応じて、映像信号処理部13による合成画像に対するシャープネス処理の強さを変更する。例えば、特徴量検出処理にて、特徴量が「特徴量大」であると検出されると、シャープネスフィルタの強さを通常のものとし、また、特徴量が「特徴量中」であると検出されると、シャープネスフィルタの強さを通常よりも強いものとし、また、特徴量が「特徴量小」であると検出されると、シャープネスフィルタの強さを最も強い(特徴量が「特徴量中」の場合よりも強い)ものとする。即ち、特徴量が小さくなるほど、トラッキング精度が落ちて撮影画像がぼやっとしてしまう。そこで、特徴量が小さければ小さいほど合成画像に対してかけるシャープネスフィルタを強めるようにすれば、合成精度に応じたシャープネスフィルタをかけることができ、結果的に画像の品質の向上を図ることができるためである。
【0076】
また、プログラムメモリ72には、第3の合成処理内容設定テーブルT5(図11参照)と、第3の画像処理内容設定テーブルT6(図12参照)が記憶されている。
【0077】
第3の合成処理内容設定テーブルT5は、図11に示すように、画像合成処理の処理内容(「特徴点の抽出処理」、「追跡の反復処理」、「ピラミッドの階層化処理」)と特徴点の特徴量(「特徴量小」、「特徴量中」、「特徴量大」)とを対応付けて記憶している。具体的には、処理内容として「特徴点の抽出処理」は、「特徴量大」では「通常数」が対応付けられ、「特徴量中」では「通常より多い」が対応付けられ、「特徴量小」では「最も多い」が対応付けられている。また、処理内容として「追跡の反復処理」は、「特徴量大」では「通常数」が対応付けられ、「特徴量中」では「通常より多い」が対応付けられ、「特徴量小」では「最も多い」が対応付けられている。また、処理内容として「ピラミッドの階層化処理」は、「特徴量大」では「通常数」が対応付けられ、「特徴量中」では「通常より多い」が対応付けられ、「特徴量小」では「最も多い」が対応付けられている。
【0078】
第3の画像処理内容設定テーブルT6は、図12に示すように、画像処理の処理内容としての合成画像に対する「シャープネスフィルタの強さ」と特徴点の特徴量(「特徴量小」、「特徴量中」、「特徴量大」)とを対応付けて記憶している。具体的には、「シャープネスフィルタの強さ」は、「特徴量大」では「通常」が対応付けられ、「特徴量中」では「通常より強い」が対応付けられ、「特徴量小」では「最も強い」が対応付けられている。
【0079】
次に、実施形態3の撮像装置300による撮像処理について図13を参照して説明する。
図13は、撮像処理に係る動作の一例を示すフローチャートである。なお、撮像処理に係る動作を開始する時点において、画像処理の処理内容(シャープネスフィルタの強さ)として、特徴量が「特徴量大」であると検出された場合に設定される「通常」がデフォルト設定されているものとする。また、同様に、撮像処理に係る動作を開始する時点において、画像合成処理の処理内容(「特徴点の抽出処理」、「追跡の反復処理」、「ピラミッドの階層化処理」)として、特徴量が「特徴量大」であると検出された場合に設定される「通常数」がデフォルト設定されているものとする。
【0080】
図13に示すように、ユーザによるシャッターボタン41aの押圧操作に基づいて撮像部1による被写体の連続した撮影が開始されると(ステップS41)、CPU71は、プログラムメモリ72内の画像合成プログラム72aを実行して、映像信号処理部13のオプティカルフロー検出部131に、基準画像に対してデフォルト設定されている「通常数」のピラミッド階層化処理及びを特徴点の抽出処理を行わせる(ステップS42)。ここで、1枚目の画像を基準画像、2枚目以降の画像を対象画像とした場合は、ステップS41により連続撮影が開始された後、1枚目の画像の撮影が完了した後にステップS42に移行して特徴点抽出処理が行われることになる。
【0081】
次に、CPU71は、抽出された特徴点の数が所定値以上であるか否かを判定する(ステップS43)。ここで、特徴点の数が所定値以上でないと判定されると(ステップS43;NO)、CPU71は、連写撮影された複数枚の画像を合成して一の画像を得る画像合成処理の実行に必要な特徴点が不足していることを表す「特徴点不足」を画像表示部32に表示させた後(ステップS44)、撮像部1により通常の撮影条件で被写体を撮影させる(ステップS45)。
【0082】
一方、ステップS43にて、特徴点の数が所定値以上であると判定されると(ステップS43;YES)、CPU71は、プログラムメモリ72内の特徴量検出プログラム72hを実行して、基準画像内から抽出した特徴点の広がり具合や均一度合から特徴量を検出する(ステップS46;特徴量検出処理)。
続けて、CPU71は、特徴量検出処理の検出結果に応じて、設定されている画像合成処理及び画像処理の内容の再設定を行うか否かの分岐を行い(ステップS47)、「特徴量中」か「特徴量小」と検出されると、CPU71は、プログラムメモリ72内の第3の合成処理設定プログラム72iを実行して、第3の合成処理内容設定テーブルT5に従って映像信号処理部13による画像合成処理の内容を再設定するとともに、プログラムメモリ72内の第3の画像処理設定プログラム72jを実行して、第3の画像処理内容設定テーブルT6に従って映像信号処理部13による画像処理の内容を再設定する(ステップS48)。つまり、画像合成処理の内容としてデフォルト設定されている「通常数」を、「通常より多い」(特徴量中)又は「最も多い」(特徴量小)に変更設定するとともに、画像処理の内容としてデフォルト設定されている「通常」を、「通常より強い」(特徴量中)又は「最も強い」(特徴量小)に変更設定する。
その後、CPU71は、プログラムメモリ72内の画像合成プログラム72aを実行して、映像信号処理部13のオプティカルフロー検出部131に、基準画像に対して、ピラミッド階層化処理を特徴量に応じて再設定された数で行わせ、特徴点の再抽出を特徴量に応じて設定された数で行わせ(ステップS49)、特徴量に応じて設定された数のピラミッド階層化処理及び追跡の反復処理を行わせることにより抽出された特徴点の追跡を行わせる(ステップS50)。
【0083】
一方、ステップS47の特徴量検出処理にて「特徴量大」と検出されると、ステップS50に移行して、CPU71は、映像信号処理部13のオプティカルフロー検出部131に、対象画像に対して、デフォルト設定されている「通常数」のピラミッド階層化処理及び追跡の反復処理を行わせることにより抽出された特徴点の追跡を行わせる(ステップS50)。
【0084】
その後、CPU71は、映像信号処理部13のRANSAC部132に、基準画像と対象画像における複数の特徴点どうしが対応付けられた特徴点対応表に基づいて、射影変換行列Hを算出させ、画像合成部133に、射影変換行列Hを用いて対象画像の画素を基準画像の座標系に射影変換させて当該対象画像と基準画像を合成させる(ステップS51)。
【0085】
次に、CPU71は、ユーザによるシャッターボタン41aの押圧操作の解除に基づいて被写体の連続撮影の終了が指示されているか否かを判定する(ステップS52)。ここで、被写体の連続撮影の終了が指示されていると判定されると(ステップS52;YES)、CPU71は、映像信号処理部13に、デフォルト設定されているシャープネスフィルタの強さ、あるいは特徴量に応じて再設定されたシャープネスフィルタの強さで合成画像に対してシャープネス処理を施して(ステップS53)、当該撮像処理を終了する。
【0086】
なお、ステップS52にて、被写体の連続撮影の終了が指示されていないと判定されると(ステップS52;NO)、ステップS50に移行して、入力される複数の画像信号に対して映像信号処理部13によるピラミッド階層化処理及び追跡の反復処理を行わせることにより抽出された特徴点の追跡を行わせる。
【0087】
以上のように、実施形態3の撮像装置300によれば、画像の撮影状況関連情報として特徴点の特徴量を検出し、特徴量の検出結果に基づいて、画像合成処理における画像合成処理の内容や画像処理における合成画像に対する画像処理の内容を設定することができる。
即ち、特徴量が小さければ小さいほど、特徴点の抽出個数を増やしたり、トラッキングの反復回数を増やしたり、ピラミッドの階層数を増やすなどの処理を追加してより慎重に画像合成処理を行う。また、特徴量が小さければ小さいほど合成画像に対してかけるシャープネスフィルタを強めるようにすれば、合成精度に応じたシャープネスフィルタをかけることができる。さらに、特徴量が小さすぎて基準画像から特徴点が規定個数抽出できない場合には、画像合成が失敗する可能性が非常に高いので、画像合成処理を行わずに、ユーザの立場を考えて「特徴点不足」の報知を行った後、通常の1枚撮影が行われる。
【0088】
このように、特徴量の大きさは、画像の精度・品質にかかわる問題が多く発生し、それを解決するためにいくつもの処理を行わなければならないが、それらの処理は特徴量が十分大きい画像を合成する場合は必要とせず、むしろ処理時間の浪費になってしまったり、画像品質を下げてしまう可能性もある。
そこで、連続撮影画像の合成において、それぞれの特徴量に相応しい合成処理や画像処理を行うことで、無駄な処理を行わないことにより処理時間の浪費を抑えて全体的な処理速度の向上を図ることができる。さらに、必要な場合には慎重に合成を行うことで合成成功率の向上及び適切なパラメータを使うことで出力画像の画質の向上を図ることができる。
【0089】
また、上記実施形態3では、画像合成処理内容の設定にて特徴点の抽出数、追跡の反復回数及びピラミッドの階層数の全ての処理内容を設定するようにしたが、必ずしも全てを設定する必要はなく、特徴点の抽出数、追跡の反復回数及びピラミッドの階層数のうち、少なくとも何れか一の設定を行うようにしても良い。
加えて、設定される画像処理の内容は、シャープネス処理に限られるものではなく、また、設定される画像合成処理の内容は、特徴点の抽出数、追跡の反復回数及びピラミッドの階層数に限られるものではなく、出力画像の画質の向上を図ることができる処理であれば如何なるものであっても良い。
【0090】
なお、本発明は、上記実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲において、種々の改良並びに設計の変更を行っても良い。
【0091】
また、上記実施形態1〜3にあっては、画像の撮影状況に応じて画像合成処理や画像処理の内容を設定するようにしたが、これに限られるものではなく、例えば、撮影状況関連情報として特定された「明るさ」や「基準画像と対象画像のずれ量の大きさ」や「特徴点の特徴量」に応じて、露光時間や絞りや感度等を変更して撮影した後、画像合成処理を行うようにしても、全体的な処理速度の向上を図ることができるとともに、出力画像の画質の向上を図るができる。
【0092】
さらに、撮像装置100、200、300の構成は、上記実施形態に例示したものは一例であり、これに限られるものではない。
【0093】
また、画像合成装置として撮像装置100、200、300を例示したが、これに限られるものではなく、撮像部1により取得した複数の画像をUSB端子6を介して接続されたパソコン等の外部機器に出力して、当該外部機器にて画像合成処理に係る撮影状況特定処理、明るさ検出処理、ずれ量検出処理、特徴量検出処理、低解像度画像作成処理、特徴点抽出処理、特徴点追跡処理、合成処理設定処理、画像処理設定処理等を行うようにしても良い。
【0094】
加えて、上記実施形態では、撮影状況特定手段、明るさ検出手段、ずれ量検出手段、特徴量検出手段、低解像度画像作成手段、特徴点抽出手段、特徴点追跡手段、合成処理設定手段、明るさ合成処理設定手段、ずれ合成処理設定手段、特徴合成処理設定手段、画像処理設定手段、明るさ画像処理設定手段、ずれ画像処理設定手段、特徴画像処理設定手段としての機能を、CPU71によって所定のプログラム等が実行されることにより実現される構成としたが、これに限られるものではなく、例えば、各種機能を実現するためのロジック回路等から構成しても良い。
【符号の説明】
【0095】
100、200、300 撮像装置(画像合成装置)
13 映像信号処理部(画像合成手段、画像処理手段)
131 オプティカルフロー検出部(低解像度画像作成手段、特徴点抽出手段、特徴点追跡手段)
132 RANSAC部
133 画像合成部
71 CPU(撮影状況特定手段、明るさ検出手段、ずれ量検出手段、特徴量検出手段、低解像度画像作成手段、特徴点抽出手段、特徴点追跡手段、合成処理設定手段、明るさ合成処理設定手段、ずれ合成処理設定手段、特徴合成処理設定手段、画像処理設定手段、明るさ画像処理設定手段、ずれ画像処理設定手段、特徴画像処理設定手段)
【特許請求の範囲】
【請求項1】
複数の画像のうち、何れか一の基準画像と対象画像を合成する画像合成処理を行う画像合成手段と、
前記画像の撮影の際の明るさを予め区分された何れかの明るさとして検出する検出手段と、
前記検出手段による検出結果に基づいて、前記画像合成手段による前記画像合成処理の内容を設定する合成処理設定手段と、
を備え、
前記画像合成手段は、
前記基準画像内から特徴点を抽出する特徴点抽出手段を含み、
前記合成処理設定手段は、前記検出手段による検出結果として暗いと区分された方のあかるさで検出した場合、前記特徴点抽出手段による前記特徴点の抽出数をより多い数とし、
前記画像合成手段は、
前記複数の画像の解像度を段階的に低減させて低解像度画像を作成する画像作成手段を含み、
前記合成処理設定手段は、前記検出手段による検出結果として暗いと区分された方のあかるさで検出した場合、前記画像作成手段による前記解像度の低減に係る段階数をより多い数とする
ことを特徴とする画像合成装置。
【請求項2】
コンピュータに、
複数の画像のうち、何れか一の基準画像と対象画像を合成する画像合成処理を行う合成機能と、
前記画像の撮影の際の明るさを予め区分された何れかの明るさとして検出する検出機能と、
前記検出機能による検出結果に基づいて、前記画像合成処理の内容を設定する設定機能と、
を実現させるためのプログラムであって、
前記合成機能は、
前記基準画像内から特徴点を抽出する抽出機能を含み、
前記設定機能は、前記検出機能による検出結果として暗いと区分された方の明るさで検出した場合、前記抽出機能による前記特徴点の抽出数をより多い数とし、
前記合成機能は、
前記複数の画像の解像度を段階的に低減させて低解像度画像を作成する作成機能を含み、
前記設定機能は、前記検出機能による検出結果として暗いと区分された方の明るさで検出した場合、前記作成機能による前記解像度の低減に係る段階数をより多い数とする
プログラム。
【請求項1】
複数の画像のうち、何れか一の基準画像と対象画像を合成する画像合成処理を行う画像合成手段と、
前記画像の撮影の際の明るさを予め区分された何れかの明るさとして検出する検出手段と、
前記検出手段による検出結果に基づいて、前記画像合成手段による前記画像合成処理の内容を設定する合成処理設定手段と、
を備え、
前記画像合成手段は、
前記基準画像内から特徴点を抽出する特徴点抽出手段を含み、
前記合成処理設定手段は、前記検出手段による検出結果として暗いと区分された方のあかるさで検出した場合、前記特徴点抽出手段による前記特徴点の抽出数をより多い数とし、
前記画像合成手段は、
前記複数の画像の解像度を段階的に低減させて低解像度画像を作成する画像作成手段を含み、
前記合成処理設定手段は、前記検出手段による検出結果として暗いと区分された方のあかるさで検出した場合、前記画像作成手段による前記解像度の低減に係る段階数をより多い数とする
ことを特徴とする画像合成装置。
【請求項2】
コンピュータに、
複数の画像のうち、何れか一の基準画像と対象画像を合成する画像合成処理を行う合成機能と、
前記画像の撮影の際の明るさを予め区分された何れかの明るさとして検出する検出機能と、
前記検出機能による検出結果に基づいて、前記画像合成処理の内容を設定する設定機能と、
を実現させるためのプログラムであって、
前記合成機能は、
前記基準画像内から特徴点を抽出する抽出機能を含み、
前記設定機能は、前記検出機能による検出結果として暗いと区分された方の明るさで検出した場合、前記抽出機能による前記特徴点の抽出数をより多い数とし、
前記合成機能は、
前記複数の画像の解像度を段階的に低減させて低解像度画像を作成する作成機能を含み、
前記設定機能は、前記検出機能による検出結果として暗いと区分された方の明るさで検出した場合、前記作成機能による前記解像度の低減に係る段階数をより多い数とする
プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2012−150826(P2012−150826A)
【公開日】平成24年8月9日(2012.8.9)
【国際特許分類】
【出願番号】特願2012−52903(P2012−52903)
【出願日】平成24年3月9日(2012.3.9)
【分割の表示】特願2007−340377(P2007−340377)の分割
【原出願日】平成19年12月28日(2007.12.28)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
【公開日】平成24年8月9日(2012.8.9)
【国際特許分類】
【出願日】平成24年3月9日(2012.3.9)
【分割の表示】特願2007−340377(P2007−340377)の分割
【原出願日】平成19年12月28日(2007.12.28)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
[ Back to top ]