(57)【要約】      （修正有）【課題】１台の撮像装置によって取得された画像から、精度良く被写体までの距離を推定する画像処理装置を提供する。【解決手段】撮像手段により被写体を撮像することで得られた画像におけるエッジ部の情報を含む第１の画像データを生成するエッジ検出手段３０２と、画像を周波数帯域ごとに分割することによって第２の画像データを生成する周波数解析手段３０３と、第１の画像データと第２の画像データとに基づいて、撮像手段から上記画像の被写体までの距離情報を出力する出力手段３０６と、を有する。【選択図】図２
2016109489.tif 000002
【特許請求の範囲】
【請求項１】
撮像手段により被写体を撮像することで得られた画像におけるエッジ部の情報を含む第１の画像データを生成するエッジ検出手段と、
前記画像を周波数帯域ごとに分割することによって第２の画像データを生成する周波数解析手段と、
前記第１の画像データと前記第２の画像データとに基づいて、前記撮像手段から前記画像の被写体までの距離情報を出力する出力手段と、を有することを特徴とする画像処理装置。
【請求項２】
前記第１の画像データと前記第２の画像データとの間で演算処理を行う演算手段を更に有し、
前記出力手段は、前記演算処理によって得られた演算値に基づいて、前記撮像手段から前記画像の被写体までの距離情報を出力することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画像は、光学系の条件を変えて撮像された複数の画像であり、
前記エッジ検出手段および前記周波数解析手段は、前記複数の画像の各々について前記第１の画像データと前記第２の画像データとを生成し、
前記出力手段は、前記複数の画像間の前記演算値の比に対応する前記撮像手段から前記画像の被写体までの距離情報を出力することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記演算値の比と前記撮像手段から被写体までの距離との関係を予め保存した記憶手段を更に有し、
前記出力手段は、前記記憶手段を参照して、前記演算値の比に対応する、前記撮像手段から前記画像の被写体までの距離情報を出力することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記エッジ検出手段は、画素間の輝度勾配を算出することで前記第１の画像データを生成することを特徴とする請求項１から４のうちいずれか１項に記載の画像処理装置。
【請求項６】
前記エッジ検出手段は、前記エッジ部について有限インパルス応答のコンボリューション演算を行うことで前記第１の画像データを生成することを特徴とする請求項１から５のうちいずれか１項に記載の画像処理装置。
【請求項７】
前記エッジ検出手段は、前記エッジ部について２値化処理を行うことで前記第１の画像データを生成することを特徴とする請求項１から６のうちいずれか１項に記載の画像処理装置。
【請求項８】
前記第２の画像データは、前記画像の高周波帯域の画像情報であることを特徴とする請求項１から７のうちいずれか１項に記載の画像処理装置。
【請求項９】
前記演算手段は、画素ごとに前記第１の画像データと前記第２の画像データとの積を求め、求められた当該積の平均を前記演算値として出力することを特徴とする請求項２から８のうちいずれか１項に記載の画像処理装置。
【請求項１０】
前記第２の画像データは、前記画像を周波数帯域ごとに分割することで得られた複数の画像情報を有し、
前記演算手段は、前記複数の画像情報の各々に対して前記第１の画像データとの前記演算処理を行い、
前記出力手段は、前記演算処理から得られた複数の演算値について大小判定を行い、当該大小判定により決定された演算値に基づいて、前記撮像手段から前記画像の被写体までの距離情報を出力することを特徴とする請求項２から９のうちいずれか１項に記載の画像処理装置。
【請求項１１】
撮像手段により被写体を撮像することで得られた画像におけるエッジ部の情報を含む第１の画像データを算出し、
前記画像を周波数帯域ごとに分割することによって第２の画像データを算出し、
前記第１の画像データと前記第２の画像データとに基づいて、前記撮像手段から前記画像の被写体までの距離情報を出力することを特徴とする画像処理方法。
【請求項１２】
請求項１１に記載の画像処理方法をコンピュータに実行させるプログラム。
【請求項１３】
請求項１２に記載のプログラムを記憶した、コンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像した画像から被写体までの距離を推定する技術に関する。
【背景技術】
【０００２】
近年、デジタルカメラにおける画像加工、顕微鏡画像の解析、監視カメラやＩＴＳ（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｔｒａｎｓｐｏｒｔ  Ｓｙｓｔｅｍｓ）などにおいて距離推定技術が用いられる。これらの技術の実用化においては、距離情報を取得するシステムをコンパクトかつ低コストにすること、付随する画像処理に要する時間とハードウェアのコストを低減することが重要である。さらには、撮影環境の変化や多様な用途があることを踏まえて、撮影シーンに依存しない高精度な距離分布計測が行えることが望ましい。これらの要求を満たすためには、１台の撮像システムのみによって取得された画像から受動的に距離分布を計測すること、および従来の撮像システムの装置構造を変えないことが理想的である。
【０００３】
Ｄｅｐｔｈ  ｆｒｏｍ  Ｄｅｆｏｃｕｓ（ＤＦＤ）によれば、取得画像のぼけの度合いを定量化することで距離を推定できる。また、ＤＦＤは上述の要求を満たすだけでなく、距離を推定するために必要とする撮像枚数が少ないというメリットを有する。特許文献１、特許文献２、非特許文献１、非特許文献２は、ＤＦＤによる距離情報の取得について説明している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４４０３４７７号
【特許文献２】米国特許第５５３４９２４号
【非特許文献】
【０００５】
【非特許文献１】Ｍｕｒａｌｉ  Ｓｕｂｂａｒａｏ  ａｎｄ  Ｇｏｐａｌ  Ｓｕｒｙａ，”Ｄｅｐｔｈ ｆｒｏｍ ｄｅｆｏｃｕｓ： Ａ ｓｐａｔｉａｌｄｏｍａｉｎ ａｐｐｒｏａｃｈ“，Ｉｎｔｅｒｎａｔｉｏｎａｌ Ｊｏｕｒｎａｌ ｏｆ Ｃｏｍｐｕｔｅｒ Ｖｉｓｉｏｎ, １３, ３, ｐｐ．２７１−２９４，１９９４．
【非特許文献２】Ｍｕｈａｍｍａｄ Ａｓｉｆ ａｎｄＴａｅ−Ｓｕｎ Ｃｈｏｉ，”Ｄｅｐｔｈ ｆｒｏｍ Ｄｅｆｏｃｕｓ Ｕｓｉｎｇ Ｗａｖｅｌｅｔ Ｔｒａｎｓｆｏｒｍ“，ＩＥＩＣＥ Ｔｒａｎｓａｃｔｉｏｎｓ ｏｎ Ｉｎｆｏｒｍａｔｉｏｎ ａｎｄ Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ，Ｖｏｌ．Ｅ８７−Ｄ，Ｎｏ．１，ｐｐ．２５０−２５３，Ｊａｎｕａｒｙ ２００４．
【非特許文献３】白井敬一郎，野村和史，池原雅章，“ウェーブレット変換による合焦画像の作成，”電子通信学会論文誌，Ｖｏｌ．Ｊ８８−Ａ，Ｎｏ．１０，ｐｐ．１１５４−１１６２，Ｏｃｔｏｂｅｒ ２００５．
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１、非特許文献１および非特許文献２では、焦点の異なる２枚以上の画像を用いて幾何光学に基づいて被写体距離の推定を行っている。そのため、レンズの駆動が必要であり、また、幾何光学に基づいていることに起因する誤差が生じうる。また、フーリエ変換を用いると、取得画像を分割して処理する場合に分割に起因するノイズが発生し、距離推定の精度が悪化する。
【０００７】
特許文献２では、撮像素子が２つ必要になるため、撮像装置の構造を従来から大きく変えなければならない。
【０００８】
そこで、本発明は、従来と同様の構造を有する１台の撮像装置によって取得された画像から、精度良く被写体までの距離を推定する技術を提供することを例示的な目的とする。
【課題を解決するための手段】
【０００９】
本発明の一側面としての画像処理装置は、撮像手段により被写体を撮像することで得られた画像におけるエッジ部の情報を含む第１の画像データを生成するエッジ検出手段と、画像を周波数帯域ごとに分割することによって第２の画像データを生成する周波数解析手段と、第１の画像データと第２の画像データとに基づいて、撮像手段から上記画像の被写体までの距離情報を出力する出力手段とを有することを特徴とする。
【００１０】
本発明の別側面としての画像処理方法は、撮像手段により被写体を撮像することで得られた画像におけるエッジ部の情報を含む第１の画像データを算出し、画像を周波数帯域ごとに分割することによって第２の画像データを算出し、第１の画像データと第２の画像データとに基づいて、撮像手段から上記画像の被写体までの距離情報を出力することを特徴とする。
【発明の効果】
【００１１】
本発明は、従来と同様の構造を有する１台の撮像装置によって取得された画像から、精度良く被写体までの距離を推定する技術を提供できる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態における撮像装置のブロック図である。
【図２】本実施形態における距離推定装置のブロック図である。
【図３】本実施形態におけるフローチャートである。
【図４】本実施形態における原画像、重みマップおよび多重解像度解析の結果を示す図である。
【図５】本実施形態における距離とスコアの関係図である。
【発明を実施するための形態】
【００１３】
以下に、本発明の好ましい実施の形態を、添付の図面に基づいて詳細に説明する。
【００１４】
図１は、本実施形態における撮像装置のブロック図である。図１において撮像装置１００は、撮像光学系１０１、可動絞り１０２、絞り駆動部１０３、撮像素子１０４、画像処理部１０５、制御部１０６、記憶部１０７を有する。
【００１５】
撮像光学系１０１は、複数のレンズから構成され、入射光を撮像素子１０４上に結像する。撮像光学系１０１は、単焦点レンズであってもズームレンズであってもよい。
【００１６】
可動絞り１０２は、撮像光学系１０１の中に配置され、絞り駆動部１０３によってＦ値を調節することができる。制御部１０６は、画像を取得するべき光学系の条件（以下、単に光学条件という）を決定し、決定された条件となるように絞り駆動部１０３に指示を送り、可動絞り１０２を制御する。なお、画像を取得すべき光学条件を設定する構成として、可動絞りでなく、例えば複数の開口数が異なる光学系を併設して複数の画像を同時もしくは逐次的に取得する構成を用いてもよい。光学条件が開口数またはＦ値の場合には、複数の条件間で値の差が大きい方が距離推定精度の点で望ましい。以降、単に距離又は被写体距離と呼ぶ場合には撮像光学系の瞳面と被写体の間の距離を指す。
【００１７】
撮像素子１０４は、受光画素が２次元的に配置されたＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）またはＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ−ｏｘｉｄｅ Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）等のエリアセンサである。撮像素子１０４は、撮像光学系１０１によって集光された光の強度分布を電気信号に変換して、画像処理部１０５に伝送する。図１に示す構成では、被写体１０８の像が撮像光学系１０１によって撮像素子１０４上に形成されることなり、当該像の電気信号が画像処理部１０５へと伝送される。本実施形態において、撮像素子１０４は、制御部１０６からの指示に応じて、異なる光学条件で複数の画像を取得する。
【００１８】
画像処理部１０５は、撮像素子１０４から伝送された画像信号に対し、必要に応じてγ補正、現像、圧縮、ノイズ除去、平滑化、エッジ強調、鮮鋭化などの処理を加える。距離の推定をこれらの処理に加えて行うが、その順序は用途によって最適な選択を行えばよい。画像処理部１０５は、必ずしも上記の全ての処理を行わなくともよい。
【００１９】
また、撮像装置１００は、図１の画像処理部１０５の代わりに、単に撮像素子１０４からの画像信号を蓄積するメモリを配置してもよい。その場合には、撮像装置１００の外部に画像処理部１０５を有する演算装置（不図示）を設け、メモリに蓄積された画像データを、当該演算装置に転送し前述の処理を行い、必要に応じて表示装置（不図示）に出力する。また、推定される距離の分布に基づき、取得画像に加工を加えてもよい。例えば、ポートレート写真に対して、相対的に距離が大きい背景部分だけに選択的にぼけを付加し、被写体の鮮鋭さを強調する処理を行ってもよい。
【００２０】
本実施形態において、画像処理部１０５は、取得画像から距離情報を推定するために用いる後述のデータベースを保管するためのメモリやストレージ等の記憶部１０７に接続されている。この記憶部１０７は、撮像装置１００の外部に設けられてもよい。
【００２１】
次に、画像処理部１０５の具体的な構成について説明する。
【００２２】
図２に示すように、画像処理部１０５は、領域選択部３０１、エッジ検出部３０２、周波数解析部３０３、演算処理部３０４、大小判定部３０５、距離情報出力部３０６を有している。
【００２３】
領域選択部３０１は、撮像素子１０４によって取得された各画像の中から被写体距離を推定する領域を選択する。これにより、非一様な距離分布を有する画像についても、局所的な距離の推定を行うことができる。また、撮影シーンに応じて距離分布に対応した領域分割を前もって行えば、距離の推定精度を向上させることができる。ユーザが撮影後に入力装置（不図示）によって指定した領域を選択してもよいし、予め設定された領域を選択してもよい。また、取得画像に応じて自動的に決定してもよい。例えば、取得画像に対し、グラフカットやレベルセットといった画像セグメンテーション手法を用いて自動的に領域分割を行ってもよい。
【００２４】
エッジ検出部３０２は、領域選択部３０１によって選択された領域内について、撮像素子１０４によって取得された画像のエッジ部分を特定する。エッジ部分とは画像の明るさが鋭敏に変化している部分をいう。エッジ検出を行うことで、画像における被写体の輪郭を抽出することができる。本実施形態では、隣接画素間の画素値の差分をとって輝度勾配を算出することで画像中のエッジ近傍が相対的に大きい値を有するように重み付けをし、重みマップ（第１の画像データ）を生成する。また、本実施形態では水平方向の微分、すなわち隣接画素値の差分を上記領域内の全ての画素について算出する。画像端部については周期境界条件を仮定し、画像の左右端の画素の隣接画素は同一行の逆の端にある画素とする。
【００２５】
その他、ラプラシアンなどのフィルタによるコンボリューション演算、テンプレートマッチングによる輪郭抽出、より高度なパターン識別の手法等によって重みマップを生成してもよい。また必要に応じて、フィルタ処理として有限インパルス応答のコンボリューション演算によってエッジ部分をぼけさせてもよいし、２値化処理を行ってもよい。フィルタ処理により、後述の周波数解析部３０３による多重解像度解析の結果を反映させる割合を適切に設定することができ、距離推定の精度と安定性が向上する。エッジ検出が不完全な場合にもその近傍まで拡張して考慮することとすれば、距離情報をより多く取得できるためである。また、２値化処理によれば、ノイズの影響を排除することやエッジ近傍を等価に扱いエッジ検出方法や被写体への依存性を低減することができ、距離推定の精度と安定性を向上させることができる。例えば、被写体が変化しても安定した重みマップを得ることができ、距離推定に反映させる領域を適切に選択することができる。
【００２６】
また、エッジ検出部３０２は、重みマップを生成する際に、周波数解析部３０３から出力されるサブバンド画像と解像度を一致させるために、ダウンサンプリングを行う。本実施形態において、ダウンサンプリングは、各画素の近傍４画素で平均値をとり垂直方向・水平方向とも１画素おきに画素を間引く。近傍４画素は、正方形領域内の４画素としてもよい。
【００２７】
周波数解析部３０３は、撮像素子１０４によって取得された画像の多重解像度解析を行う。多重解像度解析とは、ｗａｖｅｌｅｔ変換やｃｏｎｔｏｕｒｌｅｔ変換などの処理を繰り返すことにより、画像データを周波数帯域ごとに複数の低解像度の画像データ（第２の画像データ）に分割する処理を指す。以降では、この変換によって分割された低解像度の各画像をサブバンド画像（画像情報）、サブバンド画像の各画素値を変換係数と呼ぶ。
【００２８】
多重解像度解析によれば、特定の周波数帯域における輝度の空間分布が得られる。変換係数は、各画素における当該周波数帯域の画素情報を示す。一般的に、多重解像度解析における高周波帯域の変換係数は、被写体が撮像装置の光学系の焦点位置からずれ取得画像がぼけるにつれて減衰するという性質を有する。このことは例えば非特許文献３に記載されている。なお、非特許文献３は、合焦判定に関してのみ記述しており、ｗａｖｅｌｅｔ係数と被写体距離との定量的な関係については言及していない。
【００２９】
演算処理部３０４は、エッジ検出部３０２によって生成された重みマップと周波数解析部３０３により得られたサブバンド画像とに基づき、１枚のサブバンド画像内の領域選択部３０１によって選択された領域ごとに指標値（演算値）を算出する。本実施形態では、対応する画素ごとに重みマップの値と変換係数との積を算出し、領域選択部３０１により選択された領域内の全画素数で割ることで得られた平均値を指標値とする。なお、この演算は重みマップの値を変換係数に反映させることで距離の推定精度を向上させることが目的であり、積算に限定されない。また、平均値でなくとも分散などの統計値であればよい。これにより、周波数解析部３０３によって抽出した距離情報からノイズを除去し、領域選択部３０１によって選択された領域ごとに距離情報をまとめることができる。
【００３０】
本実施形態において、演算処理部３０４は更に、撮像素子１０４によって異なる光学条件で取得された複数の画像間で互いに対応する領域の指標値の比を算出する。以降、この指標値の比をスコアと呼ぶ。例えば、撮像素子１０４によって光学条件が異なる２枚の画像を取得した場合には、一方の画像における指標値を他方の画像における指標値で除する。なお、この演算は距離の推定精度を１枚の画像だけを用いる場合よりも向上させることが目的であり、光学条件が異なる複数の画像における指標値の関係を反映させたものであれば、指標値の比に限定されない。例えば、異なる光学条件で取得された複数の画像の指標値の平均をスコアとしてもよい。
【００３１】
大小判定部３０５は、周波数解析部３０３により複数のサブバンド画像から演算処理部３０４によって得られた複数のスコアの大小判定を行う。本実施形態では、大きい方のスコアを出力することとしている。
【００３２】
距離情報出力部３０６は、あらかじめ取得し記憶部１０７に保存されたデータベースとスコアを照合し、スコアに対応する値を当該スコアを求めた領域における被写体までの距離として出力する。
【００３３】
データベースは、距離が既知の単一または複数の被写体に対して複数の光学条件で画像を取得し、取得された複数枚の画像を用いてスコアを算出することで、距離とスコアの関係を格納したものでもよい。同一の距離において被写体に応じて複数のスコアがばらついて得られた場合は、平均値などの代表値を抽出することで距離とスコアとが１対１に対応させる。また、同一の距離に対してばらついて得られたスコアのデータをそのまま用いて、距離情報出力部３０６による出力を１つの領域に対する距離範囲としてもよい。
【００３４】
また、距離情報出力部３０６は、データベースとスコア照合する構成に限定されず、例えば、予め計測された距離とスコアのデータに基づいて導出された関係式を用いてスコアに対応する距離を算出してもよい。
【００３５】
距離情報出力部３０６から出力された距離分布情報は、記憶部１０７に保存される。また、距離情報出力部３０６は、距離分布情報を表示装置（不図示）に出力してもよい。さらには、取得した複数枚の画像の中の１つに対し、もしくは複数を合成した画像に対し、距離分布情報に従って予め設定された処理を行うこととしてもよい。
【００３６】
以下、距離推定に用いるデータをシミュレーションにより取得する方法、およびシミュレーションにより得られたデータを用いて任意の画像から距離分布を出力する方法を詳細に説明する。
【００３７】
本実施形態においては、計測条件として、波長を５８８．９７５ｎｍ、光学系の２種類のＦ値を４および１２、焦点距離を１５．１８ｍｍに設定する。また、被写体側の合焦位置は光学系の瞳面から光軸に沿って３．５ｍ離れた位置に固定したものとする。計測条件はこれに限定されるものではないが、２種類のＦ値の差は大きいほど距離推定精度を向上することができる。
【００３８】
まず、図３（ａ）のフロー図を用いてシミュレーションの方法を説明する。
【００３９】
ステップＳ１０１では、複数の光学条件から一つを設定し、予め用意した複数枚の原画像のうちから１枚を選択し、原画像と光学系の瞳面との距離を所定の値に設定する。本実施形態においては、光学条件としてのＦ値を４と１２のいずれかに設定し、図４（ａ）に示すような予め用意した２０枚の３２０×４８０画素の自然画像の一枚を原画像として選択する。
【００４０】
ステップＳ１０２では、ステップＳ１０１によって設定された条件における原画像の画像を波動光学に基づいた結像計算により取得する。また、ステップＳ１０２において、実際に撮像素子によって画像の取得することとしてもよい。これを全てのＦ値、原画像、原画像と光学系の瞳面の距離との組み合わせで行う。本実施形態においては、原画像と光学系の瞳面の距離は３．５ｍから１０ｍまで０．５ｍ間隔で変化させる。ステップＳ１０３では、全ての条件での画像の取得が完了したかを判定する。画像取得が全ての条件で完了していなければステップＳ１０１に戻り、完了していればステップＳ１０４に進む。
【００４１】
次に、ステップＳ１０４において、上述の複数の原画像（被写体）のうちの一枚に対してステップＳ１０２で取得された画像群を選択する。ステップＳ１０５では、取得画像内の１の領域を設定する。例えば、画像を任意の方法で分割したうちの１の領域であってもよいし、画像内の複数の既定領域のうちの１の領域であってその他の部分をトリミングしたものであってもよい。本実施形態では、３２０×４８０画素の画像全体を１の領域と設定する。
【００４２】
次に、ステップＳ１０６では、ステップＳ１０４で選択した画像群のうち一枚におけるステップＳ１０５で設定した領域に対し、エッジ検出部３０２と同様の方法でエッジ検出または輪郭抽出を行う。
【００４３】
また、ステップＳ１０６では、エッジ検出部３０２で説明した手法によりダウンサンプリングを行う。次のステップで多重解像度解析から得られる各サブバンド画像が取得画像の整数分の１の解像度になるので、このサブバンド画像と重みマップの画素数を一致させる必要があるためである。
【００４４】
さらに、必要があれば、後述のフィルタ処理または処理済の画像に対する２値化の処理を加えてもよい。フィルタ処理として、有限インパルス応答のコンボリューション演算を用いてもよい。有限インパルス応答には、一般にガウス関数や矩形関数をはじめとして多数の関数が用いられる。本実施形態では、標準偏差０．５画素、領域３×３画素のガウス関数を用いる。これにより、特定したエッジまたは輪郭をぼけさせ、後述の多重解像度変換係数を考慮する領域を広げ、距離推定精度を向上させることができる。また、２値化処理によれば、ノイズの影響を排除することやエッジ近傍を等価に扱いエッジ検出方法や被写体への依存性を低減することができ、距離推定の精度と安定性を向上させることができる。例えば、被写体が変化しても安定した重みマップを得ることができ、距離推定に反映させる領域を適切に選択することができる。本実施形態では、変換係数の最大値の３０％を閾値として、変換係数の絶対値が閾値以下の場合は０、その他の場合は１に置き換える２値化を行う。
【００４５】
図４（ｂ）は、以上の処理によりステップＳ１０６によって生成された重みマップの一例を示す。この一例に示されるように、重みマップは被写体のエッジ部分に局在した分布を表したものとなる。
【００４６】
次に、ステップＳ１０７において、ステップＳ１０４で選択した画像群のうちの一枚に対し多重解像度解析を行い、サブバンド画像を出力する。ここで、図３（ａ）では取得画像からステップＳ１０５で設定された領域を抽出した後で多重解像度解析を行っているが、取得画像の全体に対し多重解像度解析を行った後にステップＳ１０５で設定された領域をサブバンド画像から抽出してもよい。
【００４７】
多重解像度解析にｗａｖｅｌｅｔ変換を用いる場合、予め指定された回数Ｌ（以降ではレベルと呼ぶ）だけピラミッドアルゴリズムに従いｗａｖｅｌｅｔ変換を繰り返し、最終的に３×Ｌ＋１枚のサブバンド画像を得る。１回のｗａｖｅｌｅｔ変換で４枚のサブバンド画像が出力され、それらは低周波帯域（近似画像）のＬＬサブバンドと、高周波帯域のＨＬ，ＬＨ，ＨＨサブバンドとして分類される。このうちＨＬ，ＬＨの２つのサブバンドが特に距離推定には有用であるため本実施形態ではＨＬおよびＬＨサブバンドだけを用いるが、ＬＬまたはＨＨサブバンドを用いてもよい。
【００４８】
また本実施形態では、多重解像度解析をＬ＝１のＨａａｒのスケーリング関数による離散ｗａｖｅｌｅｔ変換とした。スケーリング関数としては他にＤａｕｂｅｃｈｉｅｓなどがあり、変換としては他にｃｏｎｔｏｕｒｌｅｔやｃｕｒｖｅｌｅｔなどがある。これらを代わりに用いてもよい。
【００４９】
図４（ｃ）に、多重解像度解析の結果の一例を示す。この４分割された画像のうち、左上がＬＬ、右上がＨＬ、左下がＬＨ、右下がＨＨのサブバンド画像であり、各々のサブバンド画像のサイズは図４（ｂ）の画像のサイズと等しい。図４（ｃ）ではＨＨサブバンドに階調の範囲を合わせているため、ＬＬサブバンドは表示の上値が飽和している。なお、図４（ａ）から図４（ｃ）の縦・横軸の数値は画素数を表す。
【００５０】
次に、図３（ａ）のステップＳ１０８において、取得画像ごとにステップＳ１０５で設定された領域の指標値を算出する。本実施形態では、１の変換画像の画素値に対して、画素ごとに重みマップとの積をとり、全画素の平均値を指標値として出力する。これを上述のＨＬおよびＬＨサブバンドの両方に対して行う。
【００５１】
ステップＳ１０９では、ステップ１０６からステップＳ１０８までの処理を全ての光学条件に対して行われたか否かを判定する。全ての光学条件に対して行われていなければステップＳ１０６に戻り、行われていればステップＳ１１０に進む。
【００５２】
次に、ステップＳ１１０において、異なる光学条件で取得した画像から得られた指標値について、その取得画像間の比（スコア）を算出する。本実施形態では、Ｆ値が１２で取得した画像から算出した指標値を、Ｆ値が４で取得した画像から算出した指標値で除算しスコアを出力する。指標値をＨＬとＬＨの２個のサブバンドから得ているので、スコアも２つ出力される。
【００５３】
ステップＳ１１１において、複数のサブバンド画像から得られた複数のスコアの大小の判定し大きい方を出力する。本実施形態では、ＨＬおよびＬＨの２個のサブバンドの指標値から得られた２個のスコアのうち、大きい方を出力する。
【００５４】
ステップＳ１１２では、ステップＳ１０５からステップＳ１１１までの処理を全ての領域で行われたか否かを判定する。全ての領域で行われていなければステップＳ１０５に戻り、行われていればステップＳ１１３に進む。
【００５５】
ステップＳ１１３では、ステップＳ１０４からステップＳ１１２までの処理を全ての被写体に対して行われたか否かを判定する。全ての被写体に対して行われていなければステップＳ１０４に戻り、行われていればステップＳ１１４に進む。
【００５６】
ステップＳ１１４では、選択された原画像と設定された領域別に、被写体距離とスコアとの関係を格納した、距離推定に用いるデータベースを作成する。距離推定において画像内の１つの位置に１つの距離推定値を出力する場合には、スコアと距離とが１対１で対応しているデータベースが必要である。そのため、１つの既知の距離に対して原画像別や領域別に複数のスコアが得られている場合には、平均値等の代表値に置き換える。一方で、距離推定において画像内の１つの位置に距離の推定範囲を出力する場合には、データベースにおいてスコアと距離とが１対１で対応している必要はない。
【００５７】
以上の図３（ａ）の一連の処理の結果、スコアから距離を推定するためのデータベースが作成される。図５（ａ）および図５（ｂ）に、本実施形態において、２０枚の原画像を用い画像全体を１の領域として作成したデータベースを示す。図５（ａ）では、原画像によって輝度分布とその統計性が異なることに起因して、１つの距離（横軸）に対してスコア（縦軸）はばらついている。図５（ｂ）は、距離推定において１つの位置に１つの距離推定値を出力するためにスコアの平均値を求めたものであり、１つの距離（横軸）に対してスコア（縦軸）が１対１で対応している。
【００５８】
次に、本実施例における撮像装置１００によって距離が未知の被写体を光学条件を変えて撮影した複数枚の画像から、画像処理部１０５によって距離を推定するために行われる処理を図３（ｂ）のフロー図を用いて説明する。なお、図３（ｂ）で示されたフローは、撮像装置１００の内部に設けられた制御部１０６において行われてもよいし、撮像装置１００の外部に設けられた制御部（不図示）や画像処理部１０５の内部によって行われるものであってもよい。
【００５９】
まず、ステップＳ２０１では、複数の光学条件のうちから１つを設定する。本実施形態では、Ｆ値を４と１２のいずれかに設定する。ステップＳ２０２では、ステップＳ２０１によって設定された光学条件になるように絞り駆動部１０３に指示を送り、撮像素子１０４により被写体を撮像し画像を取得する。ステップＳ２０３では、全ての光学条件での画像の取得が完了したかを判定する。画像の取得が全ての光学条件で完了していなければステップＳ２０１に戻り、完了していればステップＳ２０４に進む。
【００６０】
次に、ステップＳ２０４では、ステップＳ１０５と同様に、領域選択部３０１によって取得画像の中の１の領域を設定する。本実施形態では、３２０×４８０画素の画像全体を１個の領域と設定する。
【００６１】
ステップＳ２０５〜２０８では、エッジ検出部３０２、周波数解析部３０３、演算処理部３０４によって、ステップＳ２０４で選択した領域ごとにステップＳ１０６〜１０９と同様の方法で処理する。本実施形態ではこの結果として、２枚の取得画像に対応した２個の指標値がＨＬおよびＬＨの２個のサブバンドの各々から出力される。つまり、合計４個の指標値が出力される。
【００６２】
ステップＳ２０９では、演算処理部３０４によって、ステップＳ１１０と同様に異なる光学条件で取得した画像から得られた指標値について、その取得画像間の比（スコア）を算出する。本実施形態では、Ｆ値が１２で取得した画像から算出した指標値を、Ｆ値が４で取得した画像から算出した指標値で除算しスコアを出力する。指標値をＨＬとＬＨの２個のサブバンドから得ているので、スコアも２つ出力される。
【００６３】
ステップＳ２１０では、大小判定部３０５によって、複数のサブバンド画像から得られた複数のスコアの大小の判定し一方を出力する。本実施形態では、ＨＬおよびＬＨの２個のサブバンドの指標値から得られた２個のスコアのうち、大きい方を出力する。
【００６４】
ステップＳ２１１では、距離情報出力部３０６によって、ステップＳ１１４で作成されたデータベースを参照し、ステップＳ２０９で得られたスコアに対応する距離推定値を出力する。例えば、距離７．００ｍで被写体を撮影してステップＳ２０９までの処理により０．６３のスコアが得られた場合には、ステップＳ２１０においてスコアが０．６３に対応する距離推定値をスプライン補間を用いて求めると６．９１ｍとなる。この被写体の真の距離は７．００ｍであるので、距離推定の誤差は０．０９ｍである。
【００６５】
ステップＳ２１２では、ステップＳ２０４からステップＳ２１１までの処理を全ての領域で行われたか否かを判定する。全ての領域で行われていなければステップＳ２０４に戻り、行われていれば処理を終了する。これにより、取得画像を複数の領域に分割した場合には、全ての領域の処理を完了するまでステップＳ２０４からステップＳ２１１を繰り返し、各領域について距離を推定することで距離マップを作成することができる。
【００６６】
また、以下のような方法で距離マップを得てもよい。例えば、取得画像において距離マップの解像度に従った移動幅で一定の大きさの矩形領域を走査し、その矩形領域を移動する度にステップＳ２０４からステップＳ２１１の処理を行う。矩形領域を移動する度に矩形領域の中心位置に対応する画素にステップＳ２１０で推定された距離の値を代入することを繰り返せば、矩形領域の走査が終了した時点で距離マップが得られる。これにより、取得画像全体で被写体の距離が一様でない場合にも、非一様な距離マップを得ることができる。距離マップを得る方法はこれに限られることはなく、また矩形領域の大きさや走査の移動幅は任意に設定してよい。
【００６７】
以上、上述の実施形態によれば、従来と同様の構造を有する１台の撮像装置によって取得された画像から、精度良く被写体までの距離を推定できる。また、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【００６８】
また、上述の実施形態の機能を実現するための手順が記述されたソフトウェアのプログラムを、記録媒体から直接、或いは有線／無線通信を用いてプログラムを実行可能なコンピュータを有するシステム又は装置に供給する場合も本発明に含む。また、そのプログラムを該コンピュータに実行させる場合も本発明に含む。
【００６９】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。
【００７０】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００７１】
プログラムを供給するための記録媒体としては、例えば、ハードディスク、磁気テープ等の磁気記録媒体、光／光磁気記憶媒体、不揮発性の半導体メモリでもよい。
【００７２】
また、プログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムを記憶し、接続のあったクライアントコンピュータはがコンピュータプログラムをダウンロードしてプログラムするような方法も考えられる。
【産業上の利用可能性】
【００７３】
本発明は、デジタルカメラ、顕微鏡、監視カメラ、ＩＴＳ等の被写体距離の推定を伴う装置に応用できる。
【符号の説明】
【００７４】
１０４  撮像素子
１０５  画像処理部
１０８  被写体
３０２  エッジ検出部
３０３  周波数解析部
３０４  演算処理部
３０６  距離情報出力部
【図１】
2016109489.tif 000003
【図２】
2016109489.tif 000004
【図３】
2016109489.tif 000005
【図４】
2016109489.tif 000006
【図５】
2016109489.tif 000007