(57)【要約】  画像処理装置は、第１の画像と第２の画像を含む複数の画像を取得する画像取得部１１０と、第１〜第Ｎのバンドパスフィルタに基づいて、第１〜第Ｎの周波数帯域成分を抽出するフィルタ処理部１２０と、第１の画像の第ｉの周波数帯域成分と、第２の画像の第ｉの周波数帯域成分との相関演算を行って、注目画素での第１〜第Ｎの相関演算結果を求める相関演算部１３０と、各相関演算結果の信頼度を求める信頼度算出部１４０と、信頼度に基づいて、各相関演算結果に対する重みを設定する重み設定部１５０と、重みと第１〜第Ｎの相関演算結果に基づいて視差量を求める視差量演算部１６０を含む。
2016194177.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも第１の画像と第２の画像を含む複数の画像を取得する画像取得部と、
第１〜第Ｎ（Ｎは２以上の整数）の周波数帯域を通過帯域とする第１〜第Ｎのバンドパスフィルタに基づいて、前記第１の画像及び前記第２の画像のそれぞれから、第１〜第Ｎの周波数帯域成分を抽出するフィルタ処理部と、
前記第１の画像の第ｉ（ｉは１≦ｉ≦Ｎを満たす整数）の周波数帯域成分と、前記第２の画像の前記第ｉの周波数帯域成分との相関演算を行って、注目画素での第ｉの相関演算結果を求めることで、第１〜第Ｎの相関演算結果を求める相関演算部と、
求められた前記第１〜第Ｎの相関演算結果の各相関演算結果の信頼度を求める信頼度算出部と、
前記信頼度に基づいて、前記第１〜第Ｎの相関演算結果の各相関演算結果に対する重みを設定する重み設定部と、
設定された前記重みと、前記第１〜第Ｎの相関演算結果に基づいて、前記注目画素での前記第１の画像と前記第２の画像との間の視差量を求める視差量演算部と、
を含むことを特徴とする画像処理装置。
【請求項２】
請求項１において、
前記相関演算部は、
前記第１の画像の前記注目画素に対して、設定されたシフト量だけシフトした画素である前記第２の画像の対応画素を求め、
前記第１の画像の前記第ｉの周波数帯域成分のうちの、前記注目画素に対応する情報と、前記第２の画像の前記第ｉの周波数帯域成分のうちの、前記対応画素に対応する情報とに基づいて、前記注目画素での前記第ｉの相関演算結果を求めることを特徴とする画像処理装置。
【請求項３】
請求項２において、
前記第１〜第Ｎの相関演算結果は第１〜第Ｎのコスト関数であり、前記第１〜第Ｎのコスト関数の各コスト関数は、前記シフト量に対して、前記相関演算により算出されるコスト値が対応づけられた情報であることを特徴とする画像処理装置。
【請求項４】
請求項３において、
前記視差量演算部は、
前記第１〜第Ｎのコスト関数に対して、前記重み設定部により設定された前記重みを用いた重みづけ加算処理を行って、合成コスト関数を求め、前記合成コスト関数に基づいて、前記視差量を求めることを特徴とする画像処理装置。
【請求項５】
請求項２において、
前記第１〜第Ｎの相関演算結果は第１〜第Ｎの視差量であり、前記第１〜第Ｎの視差量の各視差量は、前記シフト量に対して前記相関演算により算出されるコスト値が対応づけられたコスト関数に基づき求められた、各周波数帯域成分での視差量であることを特徴とする画像処理装置。
【請求項６】
請求項５において、
前記視差量演算部は、
前記第１〜第Ｎの視差量に対して、前記重み設定部により設定された前記重みを用いて重みづけ加算処理を行って、前記視差量を求めることを特徴とする画像処理装置。
【請求項７】
請求項３乃至６のいずれかにおいて、
前記信頼度算出部は、
前記コスト値の極小値のうち、値が最小となる第１極小値と、前記第１極小値の次に値が小さい第２極小値との差分情報もしくは比率情報、又は、
前記コスト値の極大値のうち、値が最大となる第１極大値と、前記第１極大値の次に値が大きい第２極大値との差分情報もしくは比率情報に基づいて、前記信頼度を求めることを特徴とする画像処理装置。
【請求項８】
請求項３乃至６のいずれかにおいて、
前記信頼度算出部は、
前記コスト値の極大値又は極小値を含む所与のシフト量範囲における、前記シフト量の変化に対する前記コスト値の変化の急峻度に基づいて、前記信頼度を求めることを特徴とする画像処理装置。
【請求項９】
請求項１乃至８のいずれかにおいて、
前記第１〜第Ｎのバンドパスフィルタの各バンドパスフィルタの共振周波数ｆ１〜ｆＮが、ｆｋ＜ｆｋ＋１（ｋは１≦ｋ≦Ｎ−１を満たす整数）を満たし、
前記第１〜第Ｎのバンドパスフィルタのうちの、第ｋのバンドパスフィルタの上側のカットオフ周波数をｆＨｋとし、第ｋ＋１のバンドパスフィルタの下側のカットオフ周波数をｆＬｋ＋１とした場合に、
ｆＨｋ≧ｆＬｋ＋１であることを特徴とする画像処理装置。
【請求項１０】
請求項１乃至９のいずれかにおいて、
前記第１〜第Ｎの相関演算結果の全ての相関演算結果の前記信頼度が所与の閾値よりも小さいと判定された場合は、
前記視差量演算部は、
前記注目画素とは異なる画素から求められた前記視差量に基づいて、前記注目画素での前記視差量を求めることを特徴とする画像処理装置。
【請求項１１】
請求項１乃至１０のいずれかにおいて、
前記重み設定部は、
前記第１〜第Ｎの相関演算結果のうち、前記信頼度が所与の閾値よりも小さいと判定された相関演算結果に対する前記重みを０に設定することを特徴とする画像処理装置。
【請求項１２】
請求項１乃至１１のいずれかに記載の画像処理装置を含むことを特徴とする内視鏡装置。
【請求項１３】
請求項１２において、
前記第１の画像及び前記第２の画像は、生体内画像であることを特徴とする内視鏡装置。
【請求項１４】
少なくとも第１の画像と第２の画像を含む複数の画像を取得する処理を行い、
第１〜第Ｎ（Ｎは２以上の整数）の周波数帯域を通過帯域とする第１〜第Ｎのバンドパスフィルタに基づいて、前記第１の画像及び前記第２の画像のそれぞれから、第１〜第Ｎの周波数帯域成分を抽出し、
前記第１の画像の第ｉ（ｉは１≦ｉ≦Ｎを満たす整数）の周波数帯域成分と、前記第２の画像の前記第ｉの周波数帯域成分との相関演算を行って、注目画素での第ｉの相関演算結果を求めることで、第１〜第Ｎの相関演算結果を求め、
求められた前記第１〜第Ｎの相関演算結果の各相関演算結果の信頼度を求め、
前記信頼度に基づいて、前記第１〜第Ｎの相関演算結果の各相関演算結果に対する重みを設定し、
設定された前記重みと、前記第１〜第Ｎの相関演算結果に基づいて、前記注目画素での前記第１の画像と前記第２の画像との間の視差量を求める、
ことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、内視鏡装置及び画像処理方法等に関する。
【背景技術】
【０００２】
画像に基づいてデプス（奥行き情報、距離情報）を求める手法としてステレオマッチングが広く知られている。さらに、非特許文献１に開示されているように、ステレオマッチングにおいて、元画像に対して何らかの処理を行うことで取得される情報を用いて、相関演算を行う手法が知られている。【０００３】
非特許文献１では、元画像の画素値（輝度信号）を用いて相関演算を行った結果と、元画像のグラディエント信号を用いて相関演算を行った結果を求め、その２つの結果を組み合わせて１つのコストを算出する手法が開示されている。【０００４】
また、特許文献１や特許文献２には、相関演算により求められるコスト関数の信頼度を求める手法が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−１６５８０号公報
【特許文献２】特開２００３−２６９９１７号公報
【非特許文献】
【０００６】
【非特許文献１】C. Rhemann, A. Hosni, M. Bleyer, C. Rother, M. Gelautz: "Fast Cost-Volume Filtering for Visual Correspondence and Beyond"; Talk: IEEE Conference on Computer Vision and Pattern Recognition (CVPR) 2011, Colorado Springs; 06-21-2011 - 06-23-2011; in: "IEEE Computer Vision and Pattern Recognition", (2011), 8 pages
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記非特許文献１では、輝度信号及びグラディエント信号を用いてそれぞれ相関演算を行って、最終的な視差量を決定している。しかし、画像に撮像される被写体によって特徴が異なるため、必ずしもグラディエント信号が視差量を求めるに当たって適切な信号であるとは限らないという課題がある。【０００８】
また、特許文献１や特許文献２は、コスト関数の信頼度を求める手法を開示しているものの、元画像に含まれる情報（元画像から抽出可能な情報）のうち、視差量の演算に適した情報を処理に用いることを考慮したものではない。【０００９】
本発明の幾つかの態様によれば、信頼度を用いることで、画像に含まれる複数の周波数帯域成分のうち、適切な成分を適切な重みで視差量の演算処理に反映させる画像処理装置、内視鏡装置及び画像処理方法等を提供できる。
【課題を解決するための手段】
【００１０】
本発明の一態様は、少なくとも第１の画像と第２の画像を含む複数の画像を取得する画像取得部と、第１〜第Ｎ（Ｎは２以上の整数）の周波数帯域を通過帯域とする第１〜第Ｎのバンドパスフィルタに基づいて、前記第１の画像及び前記第２の画像のそれぞれから、第１〜第Ｎの周波数帯域成分を抽出するフィルタ処理部と、前記第１の画像の第ｉ（ｉは１≦ｉ≦Ｎを満たす整数）の周波数帯域成分と、前記第２の画像の前記第ｉの周波数帯域成分との相関演算を行って、注目画素での第ｉの相関演算結果を求めることで、第１〜第Ｎの相関演算結果を求める相関演算部と、求められた前記第１〜第Ｎの相関演算結果の各相関演算結果の信頼度を求める信頼度算出部と、前記信頼度に基づいて、前記第１〜第Ｎの相関演算結果の各相関演算結果に対する重みを設定する重み設定部と、設定された前記重みと、前記第１〜第Ｎの相関演算結果に基づいて、前記注目画素での前記第１の画像と前記第２の画像との間の視差量を求める視差量演算部と、を含む画像処理装置に関係する。【００１１】
本発明の一態様では、入力画像のそれぞれから複数の周波数帯域成分を抽出し、各周波数帯域成分を用いて、入力画像間の相関演算結果を求め、信頼度に基づき設定される重みと当該相関演算結果に基づいて、視差量を求める。このようにすれば、視差量を求める処理において重みが大きい（寄与度が高い）周波数帯域成分を適切に設定することができる。そのため、被写体の特徴が変化しやすい場合等、適切な周波数帯域を事前に設定することが難しい場合であっても、汎用性の高いステレオマッチングを行うことが可能になる。【００１２】
また、本発明の一態様では、前記相関演算部は、前記第１の画像の前記注目画素に対して、設定されたシフト量だけシフトした画素である前記第２の画像の対応画素を求め、前記第１の画像の前記第ｉの周波数帯域成分のうちの、前記注目画素に対応する情報と、前記第２の画像の前記第ｉの周波数帯域成分のうちの、前記対応画素に対応する情報とに基づいて、前記注目画素での前記第ｉの相関演算結果を求めてもよい。【００１３】
これにより、第１の画像の所与の周波数帯域成分と、当該第１の画像に対して相対的に画素シフトが行われた第２の画像の所与の周波数帯域成分と間で、相関演算を行うことが可能になる。【００１４】
また、本発明の一態様では、前記第１〜第Ｎの相関演算結果は第１〜第Ｎのコスト関数であり、前記第１〜第Ｎのコスト関数の各コスト関数は、前記シフト量に対して、前記相関演算により算出されるコスト値が対応づけられた情報であってもよい。【００１５】
これにより、相関演算結果として、コスト関数を求めることが可能になる。【００１６】
また、本発明の一態様では、前記視差量演算部は、前記第１〜第Ｎのコスト関数に対して、前記重み設定部により設定された前記重みを用いた重みづけ加算処理を行って、合成コスト関数を求め、前記合成コスト関数に基づいて、前記視差量を求めてもよい。【００１７】
これにより、相関演算結果であるコスト関数を合成することで、視差量を求めることが可能になる。【００１８】
また、本発明の一態様では、前記第１〜第Ｎの相関演算結果は第１〜第Ｎの視差量であり、前記第１〜第Ｎの視差量の各視差量は、前記シフト量に対して前記相関演算により算出されるコスト値が対応づけられたコスト関数に基づき求められた、各周波数帯域成分での視差量であってもよい。【００１９】
これにより、相関演算結果として、各周波数帯域での視差量を求めることが可能になる。【００２０】
また、本発明の一態様では、前記視差量演算部は、前記第１〜第Ｎの視差量に対して、前記重み設定部により設定された前記重みを用いて重みづけ加算処理を行って、前記視差量を求めてもよい。【００２１】
これにより、相関演算結果である各周波数帯域での視差量を合成することで、視差量を求めることが可能になる。【００２２】
また、本発明の一態様では、前記信頼度算出部は、前記コスト値の極小値のうち、値が最小となる第１極小値と、前記第１極小値の次に値が小さい第２極小値との差分情報もしくは比率情報、又は、前記コスト値の極大値のうち、値が最大となる第１極大値と、前記第１極大値の次に値が大きい第２極大値との差分情報もしくは比率情報に基づいて、前記信頼度を求めてもよい。【００２３】
これにより、コスト関数（コスト値）の極小値や極大値の差分情報、比率情報に基づいて信頼度を求めることが可能になる。【００２４】
また、本発明の一態様では、前記信頼度算出部は、前記コスト値の極大値又は極小値を含む所与のシフト量範囲における、前記シフト量の変化に対する前記コスト値の変化の急峻度に基づいて、前記信頼度を求めてもよい。【００２５】
これにより、コスト関数（コスト値）の急峻度に基づいて、信頼度を求めることが可能になる。【００２６】
また、本発明の一態様では、前記第１〜第Ｎのバンドパスフィルタの各バンドパスフィルタの共振周波数ｆ１〜ｆＮが、ｆｋ＜ｆｋ＋１（ｋは１≦ｋ≦Ｎ−１を満たす整数）を満たし、前記第１〜第Ｎのバンドパスフィルタのうちの、第ｋのバンドパスフィルタの上側のカットオフ周波数をｆＨｋとし、第ｋ＋１のバンドパスフィルタの下側のカットオフ周波数をｆＬｋ＋１とした場合に、ｆＨｋ≧ｆＬｋ＋１であってもよい。【００２７】
これにより、複数のバンドパスフィルタの通過帯域を重複させること等が可能になる。【００２８】
また、本発明の一態様では、前記第１〜第Ｎの相関演算結果の全ての相関演算結果の前記信頼度が所与の閾値よりも小さいと判定された場合は、前記視差量演算部は、前記注目画素とは異なる画素から求められた前記視差量に基づいて、前記注目画素での前記視差量を求めてもよい。【００２９】
これにより、所与の注目画素に関する相関演算結果が信頼できない場合でも、他の画素の情報を用いることで、当該注目画素での視差量を適切に求めること等が可能になる。【００３０】
また、本発明の一態様では、前記重み設定部は、前記第１〜第Ｎの相関演算結果のうち、前記信頼度が所与の閾値よりも小さいと判定された相関演算結果に対する前記重みを０に設定してもよい。【００３１】
これにより、信頼度が低い相関演算結果（周波数帯域成分）を視差量の演算に用いないことができ、精度の高い視差量の演算等が可能になる。【００３２】
また、本発明の他の態様は、上記の画像処理装置を含む内視鏡装置に関係する。【００３３】
また、本発明の他の態様では、前記第１の画像及び前記第２の画像は、生体内画像であってもよい。【００３４】
これにより、被写体の特徴が変化しやすい生体内画像を対象とした場合にも、汎用性、ロバスト性の高いステレオマッチングを行うこと等が可能になる。【００３５】
また、本発明の他の態様は、少なくとも第１の画像と第２の画像を含む複数の画像を取得する処理を行い、第１〜第Ｎ（Ｎは２以上の整数）の周波数帯域を通過帯域とする第１〜第Ｎのバンドパスフィルタに基づいて、前記第１の画像及び前記第２の画像のそれぞれから、第１〜第Ｎの周波数帯域成分を抽出し、前記第１の画像の第ｉ（ｉは１≦ｉ≦Ｎを満たす整数）の周波数帯域成分と、前記第２の画像の前記第ｉの周波数帯域成分との相関演算を行って、注目画素での第ｉの相関演算結果を求めることで、第１〜第Ｎの相関演算結果を求め、求められた前記第１〜第Ｎの相関演算結果の各相関演算結果の信頼度を求め、前記信頼度に基づいて、前記第１〜第Ｎの相関演算結果の各相関演算結果に対する重みを設定し、設定された前記重みと、前記第１〜第Ｎの相関演算結果に基づいて、前記注目画素での前記第１の画像と前記第２の画像との間の視差量を求める画像処理方法に関係する。
【図面の簡単な説明】
【００３６】
【図１】図１は、本実施形態に係る画像処理装置の構成例。
【図２】図２は、本実施形態の処理を表す模式図。
【図３】図３は、第１の実施形態に係る画像処理装置の構成例。
【図４】図４は、画像シフト処理の説明図。
【図５】図５は、コスト関数を求める処理の説明図。
【図６】図６（Ａ）〜図６（Ｅ）はコスト関数の形状と信頼度の関係を説明する図。
【図７】図７（Ａ）、図７（Ｂ）はコスト関数の形状と信頼度の関係を説明する図。
【図８】図８は、複数の尺度から信頼度を求める手法の説明図。
【図９】図９は、信頼度から重みを設定する処理の例。
【図１０】図１０は、コスト関数から視差量を求める処理の説明図。
【図１１】図１１は、第１の実施形態の処理を表す模式図。
【図１２】図１２は、第１の実施形態の処理を説明するフローチャート。
【図１３】図１３は、複数のバンドパスフィルタの通過帯域の関係例。
【図１４】図１４は、第２の実施形態に係る画像処理装置の構成例。
【図１５】図１５は、第２の実施形態の処理を表す模式図。
【図１６】図１６は、第２の実施形態の処理を説明するフローチャート。
【発明を実施するための形態】
【００３７】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００３８】
１．本実施形態の手法
まず本実施形態の手法について説明する。上述したように、非特許文献１では、元画像（入力画像、撮像画像）の輝度信号を用いた相関演算と、当該元画像のグラディエント信号を用いた相関演算を行い、その２つの演算結果を用いて視差量を求める。グラディエント信号は、元画像のうち、比較的高い空間周波数に対応する成分が抽出された信号となる。そのため、被写体の特徴が高周波数帯域（高域）に現れる場合等では、元画像そのものだけ（輝度信号だけ）を用いた処理に比べて、精度よく視差量を求めることができると考えられる。なお、以下の本明細書等では、断りなく「周波数」という語を用いた場合、当該周波数は空間周波数を表すものとする。
【００３９】
しかし、例えば入力画像が高域強調された画像の場合、ノイズも持ち上がることから、輝度信号の相関演算結果も、グラディエント信号の相関演算結果も持ち上がったノイズの影響を受け、マッチング精度が著しく低下するという課題がある。また被写体によって特徴が異なるため、必ずしもグラディエント信号が視差量を求めるに当たって適切な信号であるとは限らないという課題がある。
【００４０】
つまり、視差量を求める演算に用いる信号（情報、空間周波数帯域）は、被写体の特徴がよく現れるもの、或いはノイズの影響が小さいものとすることが望ましいところ、非特許文献１で用いているグラディエント信号は、望ましい信号であるかどうかは保証されていない。具体的に言えば、被写体の特徴が高域に現れる場合には適切な処理（精度の高いステレオマッチング）が可能であるが、比較的空間周波数が低い帯域（低域、中域）に被写体の特徴が現れる場合や、高域にノイズが多い場合等では適切な処理が難しい。
【００４１】
だからといって、広い周波数帯域の成分を含む信号を処理対象としても精度向上は難しい。処理対象の信号に含まれる周波数帯域が広ければ、当該信号は確かに被写体の特徴がよく現れる周波数帯域成分を含む可能性が高いが、同時に被写体の特徴が現れない周波数帯域成分まで含んでしまう可能性も高く、被写体の特徴が埋もれてしまう。極端な例で言えば、入力画像から全周波数帯域を抽出した（いずれの帯域も除外しない）信号を用いて相関演算を行っても、それは入力画像そのもの（輝度信号）を対象とした相関演算に過ぎず、視差量演算の精度向上に寄与しないことは容易に理解可能である。
【００４２】
以上を踏まえれば、入力画像から適切な周波数帯域の成分を抽出し、当該周波数帯域成分を対象として相関演算を行えば、視差量を精度よく求めることが可能であると言える。しかし、この「適切な周波数帯域」は、上述したように被写体の特徴に依存する。そのため、撮像対象である被写体が変化すれば抽出すべき周波数帯域は変化するし、同じ被写体であっても、光源の状態が変化した場合、或いはレンズ系や撮像素子等の光学的な条件が変化した場合等でも抽出すべき周波数帯域は変化する。
【００４３】
よって、所定の入力画像から視差量を求める場合に、当該入力画像に適した周波数帯域を事前に設定することは困難である。仮に、入力画像から抽出する周波数帯域を所与の帯域に固定した場合、非特許文献１の例と同様に、それにより精度よく視差量を求められる場合もあれば、精度のよい視差量演算が困難な場合もあり、汎用性に欠けるものとなる。
【００４４】
よって本出願人は、視差量の演算に用いる（より正確には当該演算における重みを大きくする）周波数帯域を、状況に応じて適応的に変更する手法を提案する。具体的には、本実施形態に係る画像処理装置は図１に示したように、少なくとも第１の画像と第２の画像を含む複数の画像を取得する画像取得部１１０と、第１〜第Ｎ（Ｎは２以上の整数）の周波数帯域を通過帯域とする第１〜第ＮのバンドパスフィルタＢＰＦ１〜ＢＰＦＮに基づいて、第１の画像及び第２の画像のそれぞれから、第１〜第Ｎの周波数帯域成分を抽出するフィルタ処理部１２０と、第１の画像の第ｉ（ｉは１≦ｉ≦Ｎを満たす整数）の周波数帯域成分と、第２の画像の前記第ｉの周波数帯域成分との相関演算を行って、注目画素での第ｉの相関演算結果を求めることで、第１〜第Ｎの相関演算結果を求める相関演算部１３０と、求められた第１〜第Ｎの相関演算結果の各相関演算結果の信頼度を求める信頼度算出部１４０と、信頼度に基づいて、第１〜第Ｎの相関演算結果の各相関演算結果に対する重みを設定する重み設定部１５０と、設定された重みと、第１〜第Ｎの相関演算結果に基づいて、注目画素での第１の画像と第２の画像との間の視差量を求める視差量演算部１６０を含む。
【００４５】
ここで、画像取得部１１０が取得する複数の画像は、その画像間で視差を有する視差画像である。具体的には、第１の画像は視差量を算出する時の基準となる基準画像であり、第２の画像は、基準画像に対して何ピクセルずれているかというずれ量を探索する対象となる探索画像であってもよい。
【００４６】
図２は本実施形態の手法の模式図である。図２に示したように、本実施形態では入力画像である第１、第２の画像に対してＮ個のバンドパスフィルタＢＰＦ１〜ＢＰＦＮを適用することで、各画像からＮ個の周波数帯域成分を抽出し、それぞれについて相関演算を行ってＮ個の相関演算結果を求める。そして、Ｎ個の相関演算結果を適切に重みづけして合成して、最終的な視差量を求める。
【００４７】
この際、信頼度の高い周波数帯域の重みを大きくすれば、特徴のある周波数帯域での相関演算結果が大きい重みで（高い寄与度で）合成されることになる。そのため、処理開始時に被写体の特徴が未知であり、適切な周波数帯域についても未知であったとしても、実際にＮ個の周波数帯域成分について相関演算結果を求め、そのうちの適切なものを選択する（正確には重みを大きくする）ことが可能になり、精度の高い処理を汎用的に実現することが可能になる。言い換えれば、被写体の特徴が変化する場合にも、ロバスト性の高いステレオマッチングを実現することが可能になる。
【００４８】
なお、以下の第１，第２の実施形態では画像処理装置について説明を行うが、本実施形態の手法はこれに限定されず、当該画像処理装置を含む内視鏡装置に適用することができる。この場合、第１の画像及び第２の画像を含む複数の画像は、生体の内部を撮像した生体内画像であってもよい。
【００４９】
内視鏡装置では、撮像部（挿入部）を撮像対象の内部に挿入するため、太陽光や室内の照明光等を光源とすることが難しく、撮像部の先端等に設けられる光源部から照射される光を用いた撮像を行うことになる。そのため、内視鏡画像は光源の状態（例えば光源と被写体との相対位置姿勢）の影響を受けやすく、被写体の特徴が現れる周波数帯域が変動しやすい。
【００５０】
また、内視鏡装置が医療用の内視鏡装置であり、第１，第２の画像が生体内画像である場合には、特に被写体の特徴が現れる周波数帯域が変動しやすい。具体的には、生体内画像では血管や、内蔵の壁面、病変領域、泡、残差等、種々の被写体が撮像されることが多く、それぞれについて特徴的な周波数帯域が異なるため、被写体の特徴が現れる周波数帯域は一定となりにくい。
【００５１】
さらに、被写体表面が液体でぬれていれば被写体の特徴は異なるものとなるし、ユーザー（医師）による観察を補助する目的で色素散布を行った場合にも特徴は変化する。或いは、一般的な白色光であるＲＧＢに比べて狭い帯域の光を用いた狭帯域光観察（Narrow Band Imaging，ＮＢＩ）では、ＲＧＢを用いた場合に比べて被写体の色味が変化するため、やはり特徴的な周波数帯域が変化する。このように、生体内画像では同一の被写体を撮像する際にも、その視認性を高める等の目的から画像上での特徴を意図的に変化させることも多く、ステレオマッチングに適した周波数帯域の変化が大きい。
【００５２】
つまり、内視鏡装置において生体内画像を対象とした場合、適切な周波数帯域を事前に設定することが非常に難しいものとなるため、本実施形態に係る汎用性（ロバスト性）の高い手法を用いる利点が大きいと言える。
【００５３】
また、本実施形態の手法は画像処理方法（画像処理装置の作動方法、制御方法）に適用することもできる。具体的には、本実施形態の手法を、画像取得部１１０が、少なくとも第１の画像と第２の画像を含む複数の画像を取得する処理を行い、フィルタ処理部１２０が、第１〜第Ｎ（Ｎは２以上の整数）の周波数帯域を通過帯域とする第１〜第Ｎのバンドパスフィルタに基づいて、第１の画像及び前記第２の画像のそれぞれから、第１〜第Ｎの周波数帯域成分を抽出し、相関演算部１３０が、第１の画像の第ｉ（ｉは１≦ｉ≦Ｎを満たす整数）の周波数帯域成分と、第２の画像の第ｉの周波数帯域成分との相関演算を行って、注目画素での第ｉの相関演算結果を求めることで、第１〜第Ｎの相関演算結果を求め、信頼度算出部１４０が、求められた第１〜第Ｎの相関演算結果の各相関演算結果の信頼度を求め、重み設定部１５０が、信頼度に基づいて、第１〜第Ｎの相関演算結果の各相関演算結果に対する重みを設定し、視差量演算部１６０が、設定された重みと、第１〜第Ｎの相関演算結果に基づいて、注目画素での第１の画像と第２の画像との間の視差量を求める画像処理方法（画像処理装置の作動方法、制御方法）に適用してもよい。
【００５４】
以下、第１，第２の実施形態について具体的に説明する。第１の実施形態と第２の実施形態は、各周波数帯域成分から求められる相関演算結果が異なるものであり、具体的な手法についてはそれぞれ後述するが、第１の実施形態はコスト関数を相関演算結果とし、第２の実施形態は視差量（最終的な視差量ではなく、各周波数帯域成分での視差量）を相関演算結果とする。
【００５５】
２．第１の実施形態
図３に第１の実施形態に係る画像処理装置の構成例を示す。画像処理装置は、画像取得部１１０と、前処理部１１５と、フィルタ処理部１２０と、相関演算部１３０と、信頼度算出部１４０と、重み設定部１５０と、視差量演算部１６０を含む。
【００５６】
そして、フィルタ処理部１２０は、第１〜第Ｎのフィルタ処理部１２０−１〜１２０−Ｎを含む。相関演算部１３０は、画像シフト部１３１と、相関演算処理部１３３と、コスト関数算出部１３５を含む。視差量演算部１６０は、コスト関数合成部１６１と、視差量算出部１６３を含む。ただし、画像処理装置は、図３の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００５７】
以下、各部の詳細とともに本実施形態に係るステレオマッチング処理（視差量を求める処理）の流れを説明する。画像取得部１１０は、２枚以上の視差を持つ入力画像（視差画像）を取得する。なお、以下では説明を簡略化するために入力画像は２枚であり、当該２枚の画像間での視差量を求める手法について説明するが、３枚以上の画像を処理対象としてもよい。入力画像が３枚以上の場合、その内１枚を基準画像と定め、残りの複数の入力画像と当該基準画像とで相関演算を行い、その結果を合成して視差算出を行なってもよい。
【００５８】
前処理部１１５は、入力画像に対して前処理を行う。例えば、前処理部１１５は、入力画像に含まれるノイズが多い場合には、前処理としてノイズ低減処理を行なってもよい。なお、ステレオマッチングを行う場合には、カメラキャリブレーションなどによって、事前に各画像のエピポーララインを合わせておくとよい。このようにすれば、後述する探索範囲を１つの方向（水平方向）に限定することができるため、計算量を削減することが可能である。前処理部１１５では、必要に応じてカメラキャリブレーションにより取得されたパラメータを用いた補正処理等を行ってもよい。
【００５９】
フィルタ処理部１２０は、画像取得部１１０に入力された入力画像（必要に応じて前処理部１１５による前処理が行われた入力画像）に対してバンドパスフィルタを用いたフィルタ処理を行う。フィルタ処理部１２０は、少なくとも２つ以上の異なる帯域を通過するフィルタ（バンドパスフィルタ）で構成される。ここでは、フィルタ処理部１２０は、それぞれ異なる帯域を通過する第１〜第ＮのバンドパスフィルタＢＰＦ１〜ＢＰＦＮを有し、第ｉ（ｉは１≦ｉ≦Ｎを満たす整数）のフィルタ処理部１２０−ｉは、入力画像に対して第ｉのバンドパスフィルタを適用する。
【００６０】
なお、複数のバンドパスフィルタは、通過帯域の重複があってもよい。また、各バンドパスフィルタの帯域幅は全てのフィルタで同じでなくともよい。また、バンドパスフィルタは帯域通過フィルタに限定されず、帯域強調フィルタを用いてもよい。すなわち、通過域におけるゲインは１である必要はなく、１より大きい値（場合によっては１より小さい値）であってもよい。その他、各バンドパスフィルタの構成については種々の変形実施が可能である。
【００６１】
第１の画像及び第２の画像に対して、第１〜第Ｎのバンドパスフィルタが適用されることで、第１の画像について第１〜第Ｎの周波数帯域成分が抽出されるとともに、第２の画像についても第１〜第Ｎの周波数帯域成分が抽出される。つまり、フィルタ処理部１２０の出力として、（入力画像の枚数）×（バンドパスフィルタの数）だけの信号が出力されることになる。
【００６２】
以下の処理では、第１の画像の第１の周波数帯域成分と第２の画像の第１の周波数帯域成分を組とした処理、第１の画像の第２の周波数帯域成分と第２の画像の第２の周波数帯域成分を組とした処理、・・・第１の画像の第Ｎの周波数帯域成分と第２の画像の第Ｎの周波数帯域成分を組とした処理が行われる。具体的には、相関演算部１３０、信頼度算出部１４０、及び重み設定部１５０の各部の処理は、各周波数帯域成分を対象として、同様の処理が周波数帯域成分の数（バンドパスフィルタの数）だけ実行される。
【００６３】
以下では、説明を簡略化するために、所与の１つの周波数帯域成分を対象として説明を行う。
【００６４】
相関演算部１３０は、２つの画像（第１の画像の第ｉの周波数帯域成分と、第２の画像の第ｉの周波数帯域成分）の間での相関演算を行う。以下、相関演算部１３０に含まれる画像シフト部１３１、相関演算処理部１３３、コスト関数算出部１３５で行われる処理について詳細に説明する。
【００６５】
相関演算部１３０は、一方の画像（第１の画像）の注目画素を基準として、他方の画像（第２の画像）のうちの探索範囲Ｄ１〜Ｄ２の範囲で相関演算を行う。画像シフト部１３１は、第２の画像を設定されたシフト量ｋだけシフトさせる。本実施形態では、画像シフト部１３１は、探索画像である第２の画像をＤ１〜Ｄ２の範囲において、所与の間隔（例えば１画素間隔）でシフトさせればよい。なお、具体的なシフト手法は１つに限定されるものではない。例えば図４に示すように、画素毎に計算領域（後述するように相関演算の対象となる領域）をシフトさせてもよいし、画像全体をシフトさせてもよい。また図４では、探索範囲を視差の方向の＋方向と−方向の両方に設定している（Ｄ１＜０＜Ｄ２）が、いずれか一方だけに限定してもよい。
【００６６】
相関演算処理部１３３は、注目画素ｉを中心とする第１の画像上での計算領域と、注目画素に対して探索範囲内の画素ｉ＋ｋ（ｋは上述したようにシフト量）を中心とする第２の画像上での計算領域とで、相関演算を行う。相関演算処理部１３３で行われる相関演算では、種々の手法を用いることができる。例えば、差分の絶対値の総和（ＳＡＤ）を求めてもよいし、正規化相互相関（ＺＮＣＣ）を求めてもよいし、センサス変換後のハミング距離を求めてもよい。相関演算処理部１３３での演算処理により、１つのシフト量に対して、１つの演算値が求められる。本実施形態では、相関演算処理部１３３で求められる１つの演算値をコスト値と表現する。ここでのコスト（コスト値）とは、比較する２つの領域の相関性を表す指標である。以下ではコスト値が小さいほど２つの領域の相関が高いことを想定して説明を行うが、用いるマッチング手法によっては（例えばＺＮＣＣ）、コスト値が大きいほど相関が高いこともある。
【００６７】
コスト関数算出部１３５は、図５に示されるように、相関演算処理部１３３で得られた演算結果を用いて注目画素毎にコスト関数を取得する。具体的には注目画素ｉに対して探索範囲内で算出した相関演算結果のデータ列を注目画素ｉのコスト関数とする。この処理は、シフト量ｋに対して、当該シフト量ｋに対応するコスト値を対応付ける処理であると捉えることもできる。なお、コスト関数算出部１３５では、算出したコスト関数に対して平滑処理を行なってもよい。その場合、例えば非特許文献１に挙げられるGuided Filter等を用いればよい。
【００６８】
本実施形態では、コスト関数算出部１３５で求められたコスト関数を相関演算結果として出力する。なお上述したように、相関演算部１３０の処理は、各周波数帯域成分を対象として行われるため、第１〜第Ｎの周波数帯域成分を対象とすることで、第１〜第Ｎのコスト関数が相関演算結果として出力されることになる。
【００６９】
信頼度算出部１４０は、各相関演算結果の信頼度を算出する。本実施形態であれば、第１〜第Ｎのコスト関数のそれぞれの信頼度を求めることになる。言い換えれば、フィルタ処理部１２０のフィルタの数（少なくとも２つ）だけ信頼度が算出される。本実施形態では、信頼度はコスト関数から（狭義にはその形状から）算出する。例えば特許文献１のように、コスト関数（ＳＡＤ）の最小値と第２極小値の差分を信頼度としてもよい。或いは、特許文献２のように、コスト関数の最小値付近における横軸方向の幅やコスト関数の急峻度を信頼度としてもよい。また、信頼度算出部１４０での信頼度算出手法はこれに限定されず、他にもエッジの強度などを信頼度として定めてもよい。
【００７０】
つまり、図６（Ａ）、図６（Ｂ）に示すように、最小値が一意に決まるようなコスト関数を持つ周波数帯域成分では、信頼度を高くするような信頼度算出方法を用いる。一方、図６（Ｃ）〜図６（Ｅ）に示すように、平坦領域で得られるような著しく突出した最小値がないようなコスト関数を持つ周波数帯域成分では信頼度を低くする。また、図７（Ａ）、図７（Ｂ）のように、コスト値が単調減少又は単調増加となる場合には、対象としている注目画素での視差量は、探索範囲から外れていると考えられる。例えば、図７（Ａ）の例であれば、求めるべき視差量は探索範囲の最もプラス方向側（Ｄ２）よりもさらにプラス方向側にあると考えられるし、逆に図７（Ｂ）の例であれば、求めるべき視差量はＤ１よりもさらにマイナス方向側にあると考えられる。つまり、図７（Ａ）や図７（Ｂ）のようなコスト関数では、適切な視差量を求めることができないため、信頼度は低く設定するとよい。
【００７１】
また、信頼度の算出は、上述した手法のうちのいずれか１つを用いるものに限定されず、複数の手法を組み合わせてもよい。例えば、コスト関数の最小値（第１極小値）と第２極小値の差分を第１の信頼度ｒ１とし、コスト関数の急峻度を第２の信頼度ｒ２とし、エッジ強度を第３の信頼度ｒ３とし、ｒ１〜ｒ３に基づいて、対象のコスト関数の信頼度ｒを求めてもよい。
【００７２】
つまり信頼度算出部１４０は、第ｉの周波数帯域成分についての信頼度ｒ（ｉ）を下式（１）に示すように重みづけ加算により算出してもよい。下式（１）において、ｉは周波数帯域成分を表し、ｊは各信頼度算出手法を表し、ｗｒは重みを表す。
【数１】
2016194177.tif 000003
【００７３】
図８は、上式（１）の処理を説明する模式図である。このように、複数の手法を用いて信頼度を求めてもよい。
【００７４】
重み設定部１５０は、信頼度算出部１４０で算出された信頼度に基づいて、各周波数帯域成分に対する重みを設定（算出）する。つまり重みについても、周波数帯域成分の数だけ、すなわちフィルタ処理部１２０のフィルタの数だけ算出される。
【００７５】
具体的には、算出された信頼度が高いほど重みを大きく設定し、信頼度が低いほど重みを小さく設定する。一例としては、信頼度を所与の係数を用いて定数倍した値を重みとして設定してもよい。或いは、下式（２）に示すように、全周波数帯域成分での信頼度の総和（右辺分母のΣｒ）により正規化を行ってもよい。
【数２】
2016194177.tif 000004
【００７６】
このような場合、図９のＡ１に示すように、信頼度と重みとの関係は線形となる。なお、上式（２）の例であれば直線の傾きは各周波数帯域で求められた信頼度の総和によって変化することになる。
【００７７】
ただし信頼度から重みを求める手法はこれに限定されない。例えば、信頼度が所与の閾値よりも小さい周波数帯域成分については、当該周波数帯域成分の重み（当該周波数成分から求められたコスト関数の重み）を０としてもよい。この場合、信頼度が低い周波数帯域成分（コスト関数）は、視差量を求める処理に利用されないことになる。ここでの信頼度の閾値をｒｔｈとすれば、信頼度と重みとの関係は図９のＡ２のようになる。なお、Ａ２では閾値以上の信頼度では重みを信頼度の定数倍としているが、これとは異なる手法を用いてもよい。或いは、信頼度が最も高い周波数帯域成分だけを用いてもよい。この処理は、最も信頼度が高い周波数帯域成分以外の重みを０にすることに相当する。
【００７８】
視差量演算部１６０は、相関演算結果（本実施形態では第１〜第Ｎのコスト関数）と重みに基づいて、注目画素での視差量を求める。
【００７９】
具体的には、コスト関数合成部１６１は、コスト関数算出部１３５で算出した第１〜第Ｎのコスト関数Ｃ１〜ＣＮと、重み設定部１５０で算出した各周波数帯域成分での重みｗ１〜ｗＮを用いて、シフト量毎に重み付け合成を行う。具体的には、下式（３）を用いて、所与のシフト量ｋでの合成コスト値Ｃｔｏｔａｌ（ｋ）を求める。なお、下式（３）において、ａは任意の係数、ｋはシフト量、ｉは各周波数帯域を表す。つまり、Ｗｉは第ｉの周波数帯域成分に対して設定された重みであり、Ｃｉ（ｋ）が第ｉのコスト関数におけるシフト量ｋでのコスト値である。
【数３】
2016194177.tif 000005
【００８０】
上式（３）の演算を、シフト量ｋを変化させつつ、探索範囲Ｄ１〜Ｄ２について行うことで、探索範囲Ｄ１〜Ｄ２での各合成コスト値が求められる。言い換えれば、上式（３）により、第１〜第Ｎのコスト関数を重みづけ加算した合成コスト関数Ｃｔｏｔａｌを求めることができる。合成コスト関数Ｃｔｏｔａｌは、第１〜第Ｎのコスト関数の各コスト関数と同様に、シフト量ｋに対して各シフト量に対応するコスト値（合成コスト値）が対応付けられた情報となり、例えば図１０に示した情報となる。
【００８１】
視差量算出部１６３は、図１０に示すようにコスト関数合成部１６１において得られた合成コスト関数のうち、最も相関の高いコスト値（合成コスト値）を持つシフト量ｋを、当該注目画素の視差量として算出する。図１０の例であれば、ｄが視差量として求められる。なお、「相関の高いコスト値」は、相関演算としてどのような演算を行うかによって異なるものであり、例えば相関演算がＳＡＤの場合は最も小さいコストを持つシフト量が視差量として選択されるし、ＺＮＣＣの場合は最も大きいコストを持つシフト量が視差量として選択される。
【００８２】
また、この視差を算出する際、パラボラフィッティングやスプライン補間などを行うことで、サブピクセル精度での視差量を算出してもよい。第１〜第Ｎのコスト関数は、シフト量の変化幅（例えば１ピクセル）を単位として演算される。そのため、合成コスト関数も、１ピクセルごとに合成コスト値が対応付けられた情報となり、そのまま最小値を求めた場合、１ピクセル単位で視差量が決定されることになる。しかし、実際の視差量は１ピクセルよりも細かい（サブピクセル単位）こともあるため、１ピクセルを単位とすることで十分な精度で視差量を求められない場合も考えられる。その点、所与の補間処理を行うことで、サブピクセル単位で視差量を求めることができ、視差量演算の精度を向上させることが可能である。
【００８３】
また、以上で説明した処理は基準画像（第１の画像）に設定された１つの注目画素についての処理である。実際には、注目画素を変化させつつ、上記の処理を複数の画素を対象として行ってもよい。狭義には、第１の画像上の全画素を注目画素とすることで、第１の画像の全画素に対して、それぞれ視差量を求めることができる。その場合、本実施形態に係る画像処理装置の出力は、例えば基準画像の各画素に対して、当該画素での視差量が対応付けられた情報（視差マップ）や、視差マップに基づく情報となる。
【００８４】
図１１は以上で説明した本実施形態の処理を表す模式図である。図２に示した模式図と比較すればわかるように、本実施形態では相関演算結果としてコスト関数を求めており、視差量演算部１６０における合成処理は、コスト関数を合成し合成コスト関数を求める処理となる。
【００８５】
図１２に本実施形態の処理を説明するフローチャートを示す。この処理が開始されると、まず画像取得部１１０により複数の入力画像が取得される（Ｓ１０１）。取得した入力画像に対しては、必要に応じてノイズ低減等の前処理が行われる（Ｓ１０２）。
【００８６】
次に、複数の入力画像の各入力画像に対して、バンドパスフィルタを用いたフィルタ処理が行われる（Ｓ１０３）。Ｓ１０３の処理は、図１１、図１２に示したように、第１のフィルタ処理部１２０−１による第１のバンドパスフィルタＢＰＦ１を用いた処理（Ｓ１０３−１）、第２のフィルタ処理部１２０−２による第２のバンドパスフィルタＢＰＦ２を用いた処理（Ｓ１０３−２）、・・・、第Ｎのフィルタ処理部１２０−Ｎによる第ＮのバンドパスフィルタＢＰＦＮを用いた処理（Ｓ１０３−Ｎ）により実現される。
【００８７】
Ｓ１０３−ｉにより、各入力画像の第ｉの周波数帯域成分が求められたら、探索範囲Ｄ１〜Ｄ２の間で、シフト量ｋを変化させながら相関演算を行う（Ｓ１０４−ｉ，Ｓ１０５−ｉ）。全探索範囲での処理が終わると、Ｓ１０４−ｉでＮｏと判定され、Ｓ１０６−ｉに移行する。具体的には、各シフト量ｋで求められたコスト値に基づいて、コスト関数を求め（Ｓ１０６−ｉ）、求めたコスト関数の形状から当該コスト関数（周波数帯域成分）の信頼度を算出する（Ｓ１０７−ｉ）。
【００８８】
Ｓ１０４−ｉ〜Ｓ１０７−ｉと同様の処理が、各周波数帯域成分を対象として行われることで、第１〜第Ｎのコスト関数及び、各周波数帯域成分についての信頼度が算出される。
【００８９】
Ｓ１０７−１〜Ｓ１０７−Ｎの終了後、算出された信頼度に基づいて、各周波数帯域成分の重みを設定する。なお、ここでは上式（２）等のように、全ての信頼度を用いて各周波数帯域成分の重みを設定することを想定したため、Ｓ１０８の処理はＳ１０７−１〜Ｓ１０７−Ｎの終了後とした。しかし例えば重みを信頼度の定数倍とするように、所与の周波数帯域成分の重みを設定する際に、他の周波数帯域成分の信頼度を参照する必要がない場合であれば、Ｓ１０８の処理を周波数帯域成分ごとに独立して行うことも可能である。
【００９０】
Ｓ１０８までで第１〜第Ｎのコスト関数と、それぞれに対する重みが求められるため、視差量演算部１６０では、それらを用いて合成コスト関数を求め（Ｓ１０９）、合成コスト関数から視差量を求める（Ｓ１１０）。以上の処理により１つの注目画素についての視差量が求められるため、視差量を求めたい画素が複数ある場合には、当該画素数分だけ図１２に示した処理を繰り返せばよい。一例としては、基準画像の全画素数分だけ、図１２に示した処理を繰り返す。
【００９１】
以上のように、信頼度の高い周波数帯域の重みを大きくしてコスト関数を合成することにより、被写体のうち、特に特徴のある周波数帯域でのコスト関数が高い寄与率で全体コスト（合成コスト関数）に合成される。これにより、合成コスト関数から視差量が一意的に決まりやすく、より高精度な視差量を算出できる。
【００９２】
なお、本実施形態の手法は上述したものには限定されず、いくつかの変形例を考えることができる。
【００９３】
例えば、フィルタ処理部１２０で全帯域を網羅する必要はない。対象被写体がある程度限定される場合や事前に特徴を把握している場合には、フィルタ処理部１２０で抽出する帯域を限定してもよい。一例としては、第１〜第Ｎのバンドパスフィルタは設けておくが、そのうちの一部を適用しない（第１〜第Ｎのフィルタ処理部１２０−１〜１２０−Ｎの一部を動作させない）ものとしてもよい。このようにすれば、計算コストを削減することができる。
【００９４】
また、視差量算出部１６３で得られた視差マップをそのまま出力としてもよいがこれに限定されず、求められた視差マップに対して何らかの後処理を行ってもよい。例えば、視差マップに対して平滑化フィルタ等のフィルタ処理を行い、その結果を出力してもよい。
【００９５】
また、合成コスト関数が求められた段階で、当該合成コスト関数の情報を前工程にフィードバックしてもよい。例えば、合成コスト関数が異なるシフト量でピークを複数持つ場合には、前工程における処理条件を変更してもよい。例えば、相関演算時の計算領域を狭める等のフィードバックを行ってもよい。
【００９６】
また、信頼度算出部１４０で各周波数帯域成分について信頼度を求めた結果、どの周波数帯域の信頼度も閾値以下であった場合には、当該注目画素を平坦部とし、当該注目画素の視差量を他の画素で算出した視差量から推定、補間してもよい。一例としては、視差マップにおいて、注目画素の周辺に位置する画素での視差量に基づいて、注目画素での視差量を補間してもよい。
【００９７】
また、上記補間処理において、視差マップだけでなく入力画像の情報を用いてもよい。例えば、入力画像の所与の領域が、同一被写体の同一領域を撮像したものであると推定される場合には、当該領域に含まれる各画素は同じ視差量を持つものと推定できる。よって、入力画像の色情報等に基づいて、注目画素と同一被写体、同一領域であると判定された周辺画素の視差量に基づいて、注目画素の視差量を補間してもよい。
【００９８】
なお、上記処理での閾値は、種々の手法により設定することが可能であるが、例えば事前に平坦な物体を撮影し、当該撮像画像から求められた信頼度等を用いて算出、設定しておくとよい。このようにすれば、当該閾値は注目画素が平坦部か否かを判定する閾値、すなわち視差量を精度よく求められるか否かを判別する閾値となるため、視差量が精度よく求められない場合に、他の画素の情報を用いて補間処理を実行することが可能になる。
【００９９】
以上の本実施形態では、相関演算部１３０は、第１の画像の注目画素に対して、設定されたシフト量だけシフトした画素である第２の画像の対応画素を求め、第１の画像の第ｉの周波数帯域成分のうちの、注目画素に対応する情報と、第２の画像の第ｉの周波数帯域成分のうちの、対応画素に対応する情報とに基づいて、注目画素での第ｉの相関演算結果を求める。
【０１００】
ここで、シフト量とは、基準画像中（第１の画像中）の注目領域に対応する領域を、探索画像中（第２の画像中）から探す際に、探索領域が注目領域に対して何画素分水平方向にずれているかを示す値である。つまり注目画素（ｉ，ｊ）を中心とした領域に対してシフト量ｋ画素の探索領域は（ｉ＋ｋ，ｊ）を中心した領域となる。つまり、注目領域に対応する情報とは、注目画素（ｉ，ｊ）を中心とした計算領域であり、対応画素に対応する情報とは、対応画素（ｉ＋ｋ，ｊ）を中心した計算領域である。
【０１０１】
このようにすれば、所与のシフト量ｋが設定された場合に、相関演算に用いる第１の画像に基づく情報と、第２の画像に基づく情報を適切に設定して、相関演算を実行することが可能になる。
【０１０２】
また、第１〜第Ｎの相関演算結果は第１〜第Ｎのコスト関数であり、第１〜第Ｎのコスト関数の各コスト関数は、シフト量ｋに対して、相関演算により算出されるコスト値が対応づけられた情報である。そして、視差量演算部１６０は、第１〜第Ｎのコスト関数に対して、重み設定部１５０により設定された重みを用いた重みづけ加算処理を行って、合成コスト関数Ｃｔｏｔａｌを求め、合成コスト関数に基づいて、視差量を求める。
【０１０３】
このようにすれば、相関演算結果としてコスト関数を求め、当該コスト関数を重みづけして合成することで視差量を求めることができる。コスト関数は探索範囲Ｄ１〜Ｄ２において所定幅で（例えば１ピクセル単位で）求められる情報であるため、合成コスト関数についても同様の詳細度となる。よって、後述する第２の実施形態のように各周波数帯域での視差量を合成する場合に比べて情報量が多く、求められる視差量の精度を高くすること等が可能である。
【０１０４】
また、信頼度算出部１４０は、コスト値の極小値のうち、値が最小となる第１極小値と、第１極小値の次に値が小さい第２極小値との差分情報もしくは比率情報に基づいて信頼度を求めてもよい。或いは、コスト値の極大値のうち、値が最大となる第１極大値と、第１極大値の次に値が大きい第２極大値との差分情報もしくは比率情報に基づいて、信頼度を求めてもよい。
【０１０５】
或いは、信頼度算出部１４０は、コスト値の極大値又は極小値を含む所与のシフト量範囲における、シフト量の変化に対するコスト値の変化の急峻度に基づいて、信頼度を求めてもよい。
【０１０６】
このようにすれば、種々の手法により信頼度を求めることが可能になる。また、上述したように信頼度を求める手法はこれに限定されず他の手法を用いてもよいし、複数の手法を任意に組み合わせることも可能である。
【０１０７】
また、第１〜第ＮのバンドパスフィルタＢＰＦ１〜ＢＰＦＮの各バンドパスフィルタの共振周波数ｆ１〜ｆＮが、ｆｋ＜ｆｋ＋１（ｋは１≦ｋ≦Ｎ−１を満たす整数）を満たし、第１〜第ＮのバンドパスフィルタＢＰＦ１〜ＢＰＦＮのうちの、第ｋのバンドパスフィルタＢＦＰｋの上側のカットオフ周波数をｆＨｋとし、第ｋ＋１のバンドパスフィルタＢＰＦｋ＋１の下側のカットオフ周波数をｆＬｋ＋１とした場合に、ｆＨｋ≧ｆＬｋ＋１であってもよい。
【０１０８】
このようにすれば、図１３に示すように周波数帯域が隣り合う２つのバンドパスフィルタの通過帯域を重なるように（少なくともカットオフ周波数が一致するように）設定することが可能になる。これにより、任意の周波数（周波数帯域）がいずれかのバンドパスフィルタの通過帯域に含まれることなるため、被写体の特徴がよく現れる周波数帯域がどのような値となったとしても、当該周波数帯域を視差量の演算に用いることができる。言い換えれば、周波数帯域の抜けを抑止できるため、より汎用性の高いステレオマッチングを実現することが可能になる。
【０１０９】
また、第１〜第Ｎの相関演算結果の全ての相関演算結果の信頼度が所与の閾値よりも小さいと判定された場合は、視差量演算部１６０は、注目画素とは異なる画素から求められた視差量に基づいて、注目画素での視差量を求めてもよい。
【０１１０】
これにより、所与の注目画素が例えば平坦領域に含まれることで精度よく視差量を求められない場合に、他の画素の情報を用いるため、信頼度の低い情報を無理に用いることがなくなり、適切に（ある程度の精度で）当該注目画素での視差量を求めることが可能になる。なお、ここでの「注目画素とは異なる画素」とは、例えば視差マップ上で（第１の画像上で）、注目画素の近傍の画素であり、具体的には注目画素との距離が所与の閾値以下となる画素であってもよい。或いは上述したように、第１の画像上で被写体認識を行い、注目画素と同一被写体且つ同一領域を撮像していると判定された画素を用いてもよい。
【０１１１】
また、重み設定部１５０は、第１〜第Ｎの相関演算結果のうち、信頼度が所与の閾値よりも小さいと判定された相関演算結果に対する重みを０に設定してもよい。
【０１１２】
このようにすれば、信頼度の低い相関演算結果（本実施形態ではコスト関数）を、その後の処理から除外することができるため、精度よく視差量を求めることや、計算量を削減すること等が可能になる
【０１１３】
３．第２の実施形態
図１４に第２の実施形態に係る画像処理装置の構成例を示す。画像処理装置は、画像取得部１１０と、前処理部１１５と、フィルタ処理部１２０と、相関演算部１３０と、信頼度算出部１４０と、重み設定部１５０と、視差量演算部１６０を含む。フィルタ処理部１２０、信頼度算出部１４０、重み設定部１５０については、第１の実施形態と同様であるため、詳細な説明は省略する。
【０１１４】
第２の実施形態の相関演算部１３０は、画像シフト部１３１と、相関演算処理部１３３と、コスト関数算出部１３５と、周波数帯域視差量算出部１３７を含む。視差量演算部１６０は、視差量合成部（視差量算出部）１６２を含む。ただし、画像処理装置は、図１４の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【０１１５】
相関演算部１３０の、画像シフト部１３１、相関演算処理部１３３、コスト関数算出部１３５については第１の実施形態と同様である。本実施形態では、コスト関数算出部１３５で求められた周波数帯域成分ごとのコスト関数を相関演算結果とするのではなく、当該コスト関数に基づいて周波数帯域成分ごとに視差量を求め、当該視差量を相関演算結果とする。
【０１１６】
具体的な手法は、第１の実施形態で合成コスト関数から視差量を求める場合と同様であり、コスト関数が最小値（最大値）となるシフト量を視差量ｄとすればよい。周波数帯域視差量算出部１３７では、第１〜第Ｎのコスト関数のそれぞれから視差量を求めることで、第１〜第Ｎの視差量を求める。相関演算部１３０は、求めた第１〜第Ｎの視差量を相関演算結果として出力する。
【０１１７】
信頼度算出部１４０及び重み設定部１５０では第１の実施形態と同様の処理が行われ、周波数帯域ごとに重みが設定される。本実施形態では、設定される重みは第１〜第Ｎの視差量の各視差量に対する重みとなる。
【０１１８】
視差量演算部１６０では、第１〜第Ｎの視差量と、設定された重みに基づいて、視差量を求める。具体的には、視差量合成部１６２は、周波数帯域視差量算出部１３７で算出した第１〜第Ｎの視差量ｄ１〜ｄＮと、重み設定部１５０で設定した重みｗ１〜ｗＮを用いて、重み付き平均を行う。具体的には、下式（４）を演算すればよい。
【数４】
2016194177.tif 000006
【０１１９】
上式（４）を上式（３）と比較すればわかるように、本実施形態ではシフト量ｋごとに演算を行う必要はなく、上式（４）を演算することで直接的に最終的な視差量（合成視差量ｄｔｏｔａｌ）を求めることができる。
【０１２０】
このように本実施形態では、各周波数帯域で視差量を求めてから信頼度に基づく重み付き平均することにより、全ての周波数帯域のコスト関数を保持することなく、視差量を算出することができる。全ての周波数帯域のコスト関数を保持する必要がないため、計算コストや使用メモリを抑えることができる。
【０１２１】
図１５は以上で説明した本実施形態の処理を表す模式図である。図２、図１１に示した模式図と比較すればわかるように、本実施形態では相関演算結果として各周波数帯域での視差量を求めており、視差量演算部１６０における合成処理は、視差量を合成して最終的な視差量を求める処理となる。
【０１２２】
図１６に本実施形態の処理を説明するフローチャートを示す。Ｓ２０１〜Ｓ２０７については図１２のＳ１０１〜Ｓ１０７と同様であるため詳細な説明は省略する。本実施形態では、周波数帯域ごとの処理として、Ｓ２０６（Ｓ２０６−１〜Ｓ２０６−Ｎ）で求められたコスト関数に基づいて、視差量を求める処理Ｓ２０８（Ｓ２０８−１〜Ｓ２０８−Ｎ）が追加される。
【０１２３】
重みの設定（Ｓ２０９）については、図１２のＳ１０８と同様である。また、重み設定処理を、周波数帯域ごとに行う変形実施が可能な点も同様である。
【０１２４】
そして、Ｓ２０８で求められた第１〜第Ｎの視差量ｄ１〜ｄＮと、Ｓ２０９で求められた重みｗ１〜ｗＮに基づいて、視差量の合成処理を行う（Ｓ２１０）。具体的には、上式（４）により合成視差量ｄｔｏｔａｌを求める処理を行えばよい。また、視差量を求めたい画素が複数ある場合には、当該画素数分だけ図１６に示した処理を繰り返せばよい点は第１の実施形態と同様であり、一例としては、基準画像の全画素数分だけ、図１６に示した処理を繰り返してもよい。
【０１２５】
以上の本実施形態では、第１〜第Ｎの相関演算結果は第１〜第Ｎの視差量ｄ１〜ｄＮであり、第１〜第Ｎの視差量ｄ１〜ｄＮの各視差量は、コスト関数に基づき求められた、各周波数帯域成分での視差量である。ここでのコスト関数は、上述したようにシフト量ｋに対して、相関演算により算出されるコスト値が対応づけられた情報である。そして、視差量演算部１６０は、第１〜第Ｎの視差量ｄ１〜ｄＮに対して、重み設定部により設定された重みｗ１〜ｗＮを用いて重みづけ加算処理を行って、視差量（合成視差量ｄｔｏｔａｌ）を求める。
【０１２６】
このようにすれば、相関演算結果として周波数帯域ごとの視差量を求め、当該視差量を重みづけして合成することで最終的な視差量を求めることができる。視差量は少ないデータ量により（例えば単純なスカラーとして）表現できるため、本実施形態では相関演算結果の保持に必要なメモリ量が非常に少なくて済む。つまり第１の実施形態と比較した場合、計算コストや使用メモリを抑えることが可能である。
【０１２７】
なお、本実施形態でも第１の実施形態で上述した種々の変形例を適用することが可能である。例えば、重み設定部１５０は、第１〜第Ｎの相関演算結果のうち、信頼度が所与の閾値未満であると判定された相関演算結果に対する重みを０に設定してもよい。
【０１２８】
このようにすれば、信頼度の低い相関演算結果（本実施形態では各周波数帯域での視差量）を、最終的な視差量（ｄｔｏｔａｌ）の演算から除外することができる。本実施形態の手法では、第１の実施形態のようにコスト関数を合成する場合に比べて、たとえ重みが小さくとも結果に与える影響が大きい。なぜなら、コスト関数を合成する場合、合成後に合成コスト関数の最小値（最大値）を求めるステップがあるのに対して、本実施形態ではそのような後段のステップがなく上式（４）により直接的に視差量が求められるためである。したがって、信頼度が閾値よりも小さい周波数帯域での視差量に対する重みを０にしたり、信頼度の最も高い周波数帯域の視差量のみ採用するように、信頼度の低い周波数帯域を処理から除外することで、視差量の演算精度を高めること等が可能になる。
【０１２９】
以上、本発明を適用した２つの実施の形態１〜２およびその変形例について説明したが、本発明は、各実施の形態１〜２やその変形例そのままに限定されるものではなく、実施段階では、発明の要旨を逸脱しない範囲内で構成要素を変形して具体化することができる。また、上記した各実施の形態１〜２や変形例に開示されている複数の構成要素を適宜組み合わせることによって、種々の発明を形成することができる。例えば、各実施の形態１〜２や変形例に記載した全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態や変形例で説明した構成要素を適宜組み合わせてもよい。また、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。このように、発明の主旨を逸脱しない範囲内において種々の変形や応用が可能である。
【符号の説明】
【０１３０】
ＢＰＦ１〜ＢＰＦＮ  バンドパスフィルタ、１１０  画像取得部、
１１５  前処理部、１２０  フィルタ処理部、１３０  相関演算部、
１３１  画像シフト部、１３３  相関演算処理部、１３５  コスト関数算出部、
１３７  周波数帯域視差量算出部、１４０  信頼度算出部、１５０  重み設定部、
１６０  視差量演算部、１６１  コスト関数合成部、１６２  視差量合成部、
１６３  視差量算出部
【図１】
2016194177.tif 000007
【図２】
2016194177.tif 000008
【図３】
2016194177.tif 000009
【図４】
2016194177.tif 000010
【図５】
2016194177.tif 000011
【図６】
2016194177.tif 000012
【図７】
2016194177.tif 000013
【図８】
2016194177.tif 000014
【図９】
2016194177.tif 000015
【図１０】
2016194177.tif 000016
【図１１】
2016194177.tif 000017
【図１２】
2016194177.tif 000018
【図１３】
2016194177.tif 000019
【図１４】
2016194177.tif 000020
【図１５】
2016194177.tif 000021
【図１６】
2016194177.tif 000022
【国際調査報告】
2016194177.tif 000023
2016194177.tif 000024