(57)【要約】  ステレオカメラが撮影した一方の画像データと他方の画像データの視差を、設定された視差算出用パラメータを使った演算処理で算出する。このとき、算出した視差情報に基づいて、１フレーム内の画素または画素領域ごとに、視差算出用パラメータを変更する。このように視差算出用パラメータを変更することで、処理負荷の増大を抑制しつつ、物体の認識に最適な精度の視差を算出できる。
2018037479.tif 000002
【特許請求の範囲】
【請求項１】
ステレオカメラが撮影した一方の画像データと他方の画像データの視差を、設定された視差算出用パラメータを使った演算処理で算出する視差算出部と、
前記視差算出部が算出した視差情報に基づいて、１フレーム内の画素または画素領域ごとに、前記視差算出用パラメータを変更するパラメータ変更部と、
を備える画像処理装置。
【請求項２】
前記パラメータ変更部は、入力した画像データに対して、第１の視差算出用パラメータを前記視差算出部に設定して視差を算出した後、前記第１の視差算出用パラメータよりも詳細な視差を算出する第２の視差算出用パラメータを前記視差算出部に設定して、同じ画像データに対して再度視差を算出するようにした
請求項１に記載の画像処理装置。
【請求項３】
前記パラメータ変更部が、算出した視差情報を用いて画像データから計測対象が含まれる領域を抽出し、各領域の視差情報に基づき前記視差算出部での視差算出用パラメータを変更する
請求項１に記載の画像処理装置。
【請求項４】
前記パラメータ変更部が、過去の計測対象の情報、パラメータの変更履歴情報、画像処理装置の処理リソース情報、画像データ情報、及びユーザの設定情報の少なくとも１つ以上を用いて、視差算出用パラメータを変更する
請求項１に記載の画像処理装置。
【請求項５】
過去の計測対象の情報が、計測対象の過去の位置情報から推定した計測対象の予測位置を含む
請求項４に記載の画像処理装置。
【請求項６】
前記パラメータ変更部は、パラメータの変更履歴情報の中で、信頼性の高いパラメータを抽出して、前記視差算出部に設定する
請求項４に記載の画像処理装置。
【請求項７】
前記パラメータ変更部は、前記視差算出部の現在の処理リソース情報に基づいて、処理リソースが最適となるようにパラメータ値を配分する
請求項４に記載の画像処理装置。
【請求項８】
前記パラメータ変更部は、前記視差算出部の現在の処理リソース情報に基づいて、視差を算出する優先度が低い領域に対して、視差算出が実施されないようパラメータを変更する
請求項４に記載の画像処理装置。
【請求項９】
前記パラメータ変更部により変更される視差算出用のパラメータは、ブロックマッチングのウィンドウサイズ、最大探索幅、及び視差算出領域の少なくとも１つ以上である
請求項１に記載の画像処理装置。
【請求項１０】
所定の距離離れて配置された一方及び他方のカメラと、
前記一方のカメラが撮影した一方の画像データと前記他方のカメラが撮影した他方の画像データの視差を、設定された視差算出用パラメータを使った演算処理で算出する視差算出部と、
前記視差算出部が算出した視差情報に基づいて、１フレーム内の画素または画素領域ごとに、前記視差算出用パラメータを変更するパラメータ変更部とを備える
ステレオカメラ装置。
【請求項１１】
ステレオカメラが撮影した一方の画像データと他方の画像データの視差を、設定された視差算出用パラメータを使った演算処理で算出する視差算出処理工程と、
前記視差算出処理工程により算出した視差情報に基づいて、１フレーム内の画素または画素領域ごとに、前記視差算出用パラメータを変更するパラメータ変更処理工程とを含む
画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、ステレオカメラ装置及び画像処理方法に関する。
【背景技術】
【０００２】
近年、計測装置が計測した情報により、物体を検出する物体認識技術へのニーズが高まっている。計測装置としては、監視カメラ、距離センサ、レーザレーダ、赤外線タグなどが活用されている。特に、監視カメラは、既設の装置を利用でき、装置を新設するための導入コストが掛からないため好ましい。そのため、監視カメラから取得した画像に基づいて、物体を検出する技術開発が進められている。【０００３】
カメラが撮影した画像から物体を認識する技術としては、従来から各種方法が開発されている。例えば、認識したい物体の大量のサンプルデータ(サンプル画像)をデータベースに予め保存しておき、画像中にサンプルデータと類似した部分が存在するか否かを検索する方法が一般的に用いられる。しかし、この認識方法では、照明条件などにより物体の見え方がサンプルデータと大きく異なる場合には、物体を認識することが困難となる。【０００４】
そこで、複数のカメラにより物体を撮像し、物体の三次元形状を計測することで、物体を高精度に認識する技術に注目が集まっている。このような技術として、例えば、ステレオカメラを用いた物体認識技術が挙げられる。この技術では、ステレオカメラが撮像した左右一対のカメラ画像を比較して算出した視差により、ステレオカメラから物体までの距離情報を取得することで、物体の三次元形状を計測する。しかし、視差の算出は処理負荷の増大に繋がるため、一定時間内に処理できる画像の枚数が少なくなってしまう。また処理負荷が大きい高度なアルゴリズムを適応することは、視差を算出した後に、物体を認識する場合には困難となる。そのため、処理負荷の増大を抑えて効率的に視差を算出する技術が要求されている。例えば、特許文献１には、画像特徴量から物体の検出と追跡を実施した場合の結果により、映像の中から視差を算出するフレームを選定することで、処理負荷の増大を抑える手法が記載されている。また、特許文献２には、画像中から物体が存在する領域を抽出して、その領域の範囲内のみの視差を計算することで処理量を削減する手法が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２３６６４２号公報
【特許文献２】特開２０１３−１６１２４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載された手法では、検出フレームを間引くため処理負荷は削減できるが、視差を算出して物体の形状を計測できる画像の枚数が少なくなるため、連続した画像の情報から物体を認識する場合に認識精度が低下してしまう。【０００７】
一方、特許文献２に記載された手法では、物体が存在する領域のみの視差を算出するため、処理負荷の増大を抑えつつ、映像中の全てのフレームにおいて物体の視差を算出できる。しかしながら、全ての物体の視差を一律のパラメータにて計算するため、例えば精度の低いパラメータを設定した場合には、物体の認識に必要な精度の視差が求められないという問題がある。逆に、精度の高いパラメータを設定した場合には、物体の認識には充分過ぎる精度の視差を算出して処理負荷を無駄に増大させてしまう。【０００８】
本発明は、ステレオカメラから得た画像から視差を算出する場合に、処理負荷の増大を可能な限り抑制しつつ、物体の認識に最適な精度の視差の算出ができるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
本発明の画像処理装置は、視差算出部と、パラメータ変更部とを備える。
視差算出部は、ステレオカメラが撮影した一方の画像データと他方の画像データの視差を、設定された視差算出用パラメータを使った演算処理で算出する。
パラメータ変更部は、視差算出部が算出した視差情報に基づいて、１フレーム内の画素または画素領域ごとに、視差算出用パラメータを変更する。【００１０】
本発明のステレオカメラ装置は、所定の距離離れて配置された一方及び他方のカメラと、視差算出部と、パラメータ変更部とを備える。
視差算出部は、一方のカメラが撮影した一方の画像データと他方のカメラが撮影した他方の画像データの視差を、設定された視差算出用パラメータを使った演算処理で算出する。
パラメータ変更部は、視差算出部が算出した視差情報に基づいて、１フレーム内の画素または画素領域ごとに、視差算出用パラメータを変更する。【００１１】
本発明の画像処理方法は、視差算出処理工程と、パラメータ変更処理工程とを含む。
視差算出処理工程では、ステレオカメラが撮影した一方の画像データと他方の画像データの視差が、設定された視差算出用パラメータを使った演算処理で算出される。
パラメータ変更処理工程では、視差算出処理工程で算出された視差情報に基づいて、１フレーム内の画素または画素領域ごとに、視差算出用パラメータが変更される。
【発明の効果】
【００１２】
本発明によれば、視差算出のための処理負荷の増大を抑制しつつ、物体の認識に最適な精度の視差を算出できる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施の形態例のシステム構成例を示す全体図である。
【図２】本発明の第１の実施の形態例の画像処理装置に適用されるコンピュータの構成例を示すブロック図である。
【図３】本発明の第１の実施の形態例による初期視差算出処理状態を示す図である。
【図４】本発明の第１の実施の形態例による視差算出用パラメータの一例を示す図である。
【図５】本発明の第１の実施の形態例によるパラメータ変更処理例を示すフローチャートである。
【図６】本発明の第１の実施の形態例による視差画像の作成処理及び視差画像の領域分割の例を示す図である。
【図７】本発明の第１の実施の形態例による視差算出用パラメータの決定処理の例を説明する図である。
【図８】本発明の第１の実施の形態例により変更された視差算出用パラメータの一例を示す図である。
【図９】本発明の第１の実施の形態例の最終視差算出部により出力された視差結果の一例を示す図である。
【図１０】本発明の第２の実施の形態例のシステム構成例を示す全体図である。
【図１１】本発明の第２の実施の形態例による初期視差算出判定処理時の各フレームの画像と予測物体領域の例を示す図である。
【図１２】本発明の第２の実施の形態例によるパラメータ調整部での処理例を示すフローチャートである。
【図１３】本発明の第２の実施の形態例による初期視差算出領域と予測物体領域の分割例を説明する図である。
【図１４】本発明の第２の実施の形態例による予測物体領域ごとに視差算出パラメータを決定する例を説明する図である。
【発明を実施するための形態】
【００１４】
＜１．第１の実施の形態例＞
以下、図１〜図９を参照して、本発明の第１の実施の形態例のシステムを説明する。
［１−１．システム全体の構成例］
図１は、第１の実施の形態例の画像処理システムの全体構成例を示す図である。
画像処理システム１００は、２台のカメラ１０１Ｌ，１０１Ｒと、画像処理装置１１０とを備える。２台のカメラ１０１Ｌ，１０１Ｒは、水平方向に所定距離だけ離して配置され、２台のカメラ１０１Ｌ，１０１Ｒで撮影した画像からステレオ画像を得る。
【００１５】
それぞれのカメラ１０１Ｌ，１０１Ｒは、所定の時間周期で取得した可視光を、撮像素子を介して変換した電気信号をデジタル変換し、デジタル画像データを生成する。撮像素子としては、例えばＣＣＤ(Charge Coupled Device)イメージャやＣＭＯＳ(Complementary Metal Oxide Semiconductor)素子が使用される。
画像処理装置１１０は、２台のカメラ１０１Ｌ，１０１Ｒで撮影して得た画像データを処理して、画像間の視差を算出する処理を行う。画像処理装置１１０が算出した視差情報は、画像から認識した物体の距離を算出する装置（不図示）に供給し、例えば算出した距離に応じて、侵入者の警告、物体の接近の警告などの処理を行う。
【００１６】
画像処理装置１１０は、画像取得部１１１ａ，１１１ｂと、初期視差算出部１１２と、パラメータ変更部１１３と、最終視差算出部１１４と、視差出力部１１５と、視差算出用パラメータ記憶部１２１とを備える。これらの画像処理装置１１０の各部１１１ａ，１１１ｂ，１１２，１１３，１１４，１１５，１２１は、各カメラ１０１Ｌ，１０１Ｒに内蔵または外部に用意されたコンピュータ装置により実現される。コンピュータ装置の構成例については後述する。
【００１７】
画像処理装置１１０で行われる処理の概要を説明すると、２つの画像取得部１１１ａ，１１１ｂは、各カメラ１０１Ｌ，１０１Ｒから画像データを取得する。初期視差算出部１１２は、視差算出用パラメータ記憶部１２１から取得した初期のパラメータ値にて、２つの画像取得部１１１ａ，１１１ｂが取得した画像間の視差を算出する。パラメータ変更部１１３は、初期視差算出部１１２が算出した視差に応じて、視差算出用パラメータの値を変更する演算処理を行う。最終視差算出部１１４は、パラメータ変更部１１３が変更したパラメータにより、画像間の視差を再度計算する処理を行う。視差出力部１１５は、最終視差算出部１１４が算出した視差情報を出力する。
なお、以下の説明では、画像取得部１１１ａ，１１１ｂがカメラ１０１Ｌ，１０１Ｒから取得するデジタル画像データを「撮像画像」と呼ぶ。
【００１８】
［１−２．コンピュータ装置の構成例］
図２は、画像処理装置１１０を構成するコンピュータ装置Ｃの一例を示す図である。
コンピュータ装置Ｃは、ＣＰＵ（Central Processing Unit：中央処理装置）Ｃ１、ＲＯＭ（Read Only Memory）Ｃ２、ＲＡＭ（Random Access Memory）Ｃ３、不揮発性ストレージＣ５、及び入出力部Ｃ６を備える。これら各部Ｃ１，Ｃ２，Ｃ３，Ｃ５，Ｃ６は、バスラインＣ４によりデータ転送可能に接続されている。
【００１９】
ＣＰＵ  Ｃ１は、画像処理装置１１０を構成する各部の機能を実現するソフトウェアのプログラムコードをＲＯＭ  Ｃ２から読み出して実行する。ＲＡＭ  Ｃ３には、演算処理の途中に発生した変数やパラメータ等が一時的に書き込まれる。
【００２０】
不揮発性ストレージＣ５としては、例えば、ＨＤＤ（Hard disk drive）、ＳＳＤ（Solid State Drive）、その他の各種記憶媒体が用いられる。この不揮発性ストレージＣ５には、ＯＳ（Operating System）、各種のパラメータの他に、コンピュータ装置Ｃを画像処理装置１１０として機能させるためのプログラムが記録されている。
【００２１】
入出力部Ｃ６は、ＬＡＮ（Local Area Network）、専用線等を介して各種のデータを外部の装置と送受信する。例えば、入出力部Ｃ６は、カメラ１０１Ｌ、１０１Ｒが撮影した撮影画像を取り込み、算出した視差情報を外部に出力する。
【００２２】
［１−３．初期視差の算出処理］
次に、画像処理装置１１０の各部での処理の詳細について説明する。
図３は、初期視差算出部１１２での初期視差の算出処理を説明する図である。
初期視差算出部１１２では、ブロックマッチングと称される方法により初期視差を算出する。すなわち、図３に示すように、被写体２１が撮影されている状況下において、一方のカメラ１０１Ｌ(左カメラ)から取得した撮像画像を基準画像２０ａ、他方のカメラ１０１Ｒ(右カメラ)から取得した撮像画像を比較画像２０ｂとする。そして、基準画像２０ａからある小領域２２ａを決定する。ここでは小領域２２ａに被写体２１の一部が含まれている。
【００２３】
そして、比較画像２０ｂにおいて、探索ウィンドウ２３を、小領域２２ａと同じ位置から矢印２４の水平方向に走査することで、小領域２２ａと相違度が最小となる小領域２２ｂを探索し、その探索幅２５を視差として算出する。なお、図３は、視差を算出する原理を示すものであり、実際の基準画像２０ａと比較画像２０ｂで生じる被写体２１の位置変化は、図３に示すような大きなものではない。
【００２４】
２つの小領域２２ａ，２２ｂの相違度を計算する方法としては、例えば［数１］式に示すＳＡＤ(sum of squared difference)法がある。
【００２５】
【数１】
2018037479.tif 000003
【００２６】
［数１］式において、Ｔ１は小領域２２ａの輝度値、Ｔ２は小領域２２ｂの輝度値、Ｍは探索ウィンドウ２３の横幅、Ｎは探索ウィンドウ２３の縦幅である。また、（ｉ，ｊ）は、探索ウィンドウ２３内の各画素の座標位置を示し、左上の座標（０，０）から、右下の座標（Ｍ−１，Ｎ−１）までの値である。
なお、［数１］式に示す相違度ＳＡＤの計算方法は一例であり、その他の計算方法で相違度を計算してもよい。
【００２７】
なお、視差算出を行う撮像画像は、基準画像２０ａと比較画像２０ｂの間に平行化と称される前処理が施されており、初期視差算出部１１２では、探索ウィンドウ２３を水平方向（矢印２４の方向）にのみ走査する。但し、平行化処理が施されていない画像の場合には、探索ウィンドウ２３内を垂直方向や斜め方向に走査すれば良く、水平方向の走査に限定されるものではない。
【００２８】
ブロックマッチングにより視差を算出する場合に使用する一般的なパラメータとしては、以下に示すものがある。すなわち、探索ウィンドウのサイズ、水平方向に走査する最大探索幅、視差を算出する領域、スペックルフィルタと呼ばれる誤マッチングを除去するフィルタの強度などが、パラメータとして挙げられる。
【００２９】
本実施の形態例では、視差を算出する際の計算量に大きく影響するパラメータである、探索ウィンドウのサイズ、最大探索幅、視差算出領域の３つのパラメータを扱う。一般的に探索ウィンドウのサイズは、大きい値ほど精度の高い視差を求められる反面、計算量が増大するという特徴を持つ。なお、精度の高い視差を求めることで詳細な３次元情報を取得できるため、領域内に計測対象が存在する場合その認識精度を向上させることができる。最大探索幅は、小さい値である程、計算量は抑えられるものの、正確な小領域を探索できる精度が低下する。また、視差算出領域は、少ない領域である程、全体の計算量は低減する。
【００３０】
なお、本実施の形態例で初期視差算出時に使用するパラメータは、これら３つのパラメータに限定されるものではない。例えば、探索ウィンドウのサイズは固定値として、最大探索幅と視差算出領域のみ変更する場合や、スペックルフィルタの強度の値を変更するパラメータの１つとして扱ってもよい。
【００３１】
［１−４．視差算出用パラメータの具体例］
図４は、視差算出用パラメータ３０の例を示し、探索ウィンドウのサイズ、探索ウィンドウの最大探索幅３１、探索の始点座標、探索の終点座標を示す。ここでは、２つの視差算出領域３２ａ，３２ｂの例を示す。
【００３２】
これらの視差算出用パラメータ３０で示される視差算出領域３２ａ，３２ｂは、基準画像２０ａに対して設定され、視差算出領域３２ａ，３２ｂから探索ウィンドウと同一サイズの小領域２２ａが抽出される。また、各領域３２ａ，３２ｂに対して探索ウィンドウのサイズと最大探索幅３１のパラメータが保持されている。なお、図４では２つの視差算出領域３２ａ，３２ｂを設定した例を示すが、実際に設定される視差算出領域の数は２つに限定されない。
【００３３】
初期視差算出部１１２は、例えば視差算出領域を１つのみ設定し、始点座標と終点座標は基準画像２０ａが全て含まれる値とし、探索ウィンドウのサイズ及び最大探索幅を取得する。探索ウィンドウのサイズ及び最大探索幅としては、予め定めた視差算出用のパラメータが取得され、このパラメータを用いて視差が計算される。なお、探索ウィンドウのサイズ及び最大探索幅の値は、共に値が小さい程計算量を少なくできること、及びＣＰＵの処理リソースなどを考慮してユーザが決定することもできる。
【００３４】
また、視差算出領域を１つのみに設定するだけではなく、予め取得した背景画像と基準画像との差分を取ることで、計測対象が含まれていると予想される領域を判定し、その領域を視差算出領域として設定するようにしてもよい。さらに、ＧＵＩなどでのユーザ操作で指定した領域のみを視差算出領域として設定するようにしてもよい。
【００３５】
［１−５．パラメータの変更処理］
図５は、パラメータ変更部１１３で実行されるパラメータの変更処理例を示すフローチャートである。
図５に従ってパラメータ変更処理を説明すると、まずパラメータ変更部１１３は、初期視差算出部１１２により計算した視差情報より視差画像を作成する（ステップＳ１）。次に、パラメータ変更部１１３は、視差値に応じて視差画像を複数の領域に分割し（ステップＳ２）、分割した領域ごとに平均視差を算出する（ステップＳ３）。そして、ステップＳ３で算出した平均値に応じて視差算出用パラメータを決定する（ステップＳ４）。このステップＳ３及びＳ４の平均視差の算出と視差算出用パラメータの決定は、分割した領域数Ａだけ繰り返す。
そして、パラメータ変更部１１３は、視差算出用パラメータを、ステップＳ４で決定した視差算出用パラメータに変更する（ステップＳ５）。
【００３６】
図６は、図５のフローチャートのステップＳ１及びＳ２における処理の例を示す。
ステップＳ１では、図６に示すように、パラメータ変更部１１３は、基準画像２０ａの全ての画素に対応する視差を算出して、視差画像４０を作成する。図６に示す視差画像４０では、分割した領域ごとの平均視差の値を示す。この例では、平均視差値「５」の領域と、平均視差値「１５」の領域と、平均視差値「２５」の領域とが存在している。
【００３７】
そして、ステップＳ２では、視差画像４０を類似した視差の値を示す画素が同じグループとなるように領域分割して、領域分割画像４１を得る。領域分割画像４１を得る方法としては、一般的なクラスタリング手法を利用すればよく、特定の方法には限定されない。また、全ての画素を領域分割する必要はなく、例えば視差が閾値以上あるいは閾値未満の画素は無視する処理や、同じグループと判定された領域内の画素の数が閾値以上あるいは閾値未満である領域は考慮しない処理などを加えてもよい。
【００３８】
図６の例では、領域分割画像４１は、基準画像２０ａと比較画像２０ｂとの平均視差値が「５」以下の画素を無視して、視差画像４０を複数の領域４２ａ，４２ｂに分割した結果を示す。このようにして平均視差値から領域４２ａ，４２ｂを得ることで、撮像画像内の一定の大きさを持つ物体が存在する領域を抽出することができる。図６の例では、被写体２１ａが領域４２ａに、被写体２１ｂが領域４２ｂに対応する。なお、図６の例では、各領域４２ａ，４２ｂ内の平均視差値は同じ値であるが、一定範囲内であれば、１つの領域内の平均視差値が相違してもよい。
【００３９】
図７は、図５のフローチャートのステップＳ４での処理の例を示す。
ステップＳ４では、図７に示すように、パラメータ変更部１１３は、分割した領域ごとに算出した平均値に応じて視差算出用パラメータを決定する。
まず、図７に示すように、パラメータ変更部１１３は、基準画像２０ａ内に矩形領域５０ａ，５０ｂを設定する。この矩形領域５０ａ，５０ｂは、ステップＳ２で設定した分割領域４２ａ，４２ｂを覆う最小の大きさの矩形形状の領域とする。これらの矩形領域５０ａ，５０ｂを設定する際には、図７に示すように、各矩形領域５０ａ，５０ｂの始点座標５１ａ，５１ｂと終点座標５２ａ，５２ｂを設定する。
【００４０】
そして、パラメータ変更部１１３は、視差と視差算出用の各パラメータを対応付ける行列５３を利用して、平均視差値から視差算出用パラメータを領域ごとに決定する。行列５３としては、平均視差値ごとに、探索ウィンドウサイズと最大探索幅を決める。行列５３は、画像処理装置１１０が予め記憶する。
図７の下側には、矩形領域５０ａ，５０ｂのそれぞれで決定した視差算出用パラメータ５４の例を示す。
【００４１】
例えば、平均視差２５の領域５０ａでは、探索ウィンドウサイズが１５ピクセル×１５ピクセルであり、最大探索幅が２５ピクセルになる。また、平均視差１５の領域５０ｂでは、探索ウィンドウサイズ２５ピクセル×２５ピクセルであり、最大探索幅が１５ピクセルになる。
【００４２】
なお、視差と視差算出用パラメータとの対応付け方法は、行列５３を利用する以外に、線形関数などを利用してもよく、また対応付けられる視差算出用パラメータの値も図７の例に限定されない。
【００４３】
図８は、パラメータ変更部１１３により変更された視差算出用パラメータの一例を示す。
図８に示すように、初期視差算出部１１２にて使用するパラメータ６２では、視差算出領域１は画像全体の１つのみであるため、始点座標６０ａと終点座標６０ｂは、画像２０ａの左上端６０と右下端６１になる。この初期視差算出用のパラメータ６２では、探索ウィンドウ２３のサイズと最大探索幅は、計算量がなるべく低減される値とし、初期視差算出で簡易的な探索が行われるようにする。
【００４４】
これに対して、変更後の視差算出用パラメータ６３は、計測対象が含まれる２つの領域５０ａ，５０ｂのみを視差算出領域１，２とすることで、計算量を低減する代わりに、探索ウィンドウ２３のサイズは大きい値に設定する。図８に示す変更後の視差算出用パラメータ６３は、図７に示す視差算出用パラメータ５４と同じである。
【００４５】
変更後の視差算出用パラメータ６３では、計算量を増やして高精度の視差を求めることができる。一方、最大探索幅については、視差算出領域の平均視差値が小さい程、探索幅の値を小さくすることで計算量を削減することができる。このような最大探索幅の設定の仕方は、カメラ遠方に存在する計測対象であれば探索幅を小さくてもよいことを利用したものである。
【００４６】
なお、パラメータ変更部１１３により視差算出用パラメータを変更する際に、ＣＰＵへの処理負荷を考慮して視差算出用の最大演算量を予め決めておくことで、パラメータを最適に変更することができる。
例えば、［数２］式によりパラメータ変更後の探索ウィンドウ２３のサイズ、最大探索幅、及び視差算出領域から合計の演算量を求め、予め決定した最大演算量とほぼ同等になるようにパラメータを最適化する。［数２］式において、Ｍは探索ウィンドウの横幅、Ｎは探索ウィンドウの縦幅、Ｄは最大探索幅である。
【００４７】
【数２】
2018037479.tif 000004
【００４８】
このようにパラメータを最適化することで、ＣＰＵの処理リソースを効率的に使用することができる。すなわち、パラメータ変更部１１３は、視差算出部１１２，１１４での現在の処理リソース情報に基づいて、処理リソースが最適となるようにパラメータ値を配分することで、ＣＰＵの処理リソースを効率的に使用できるようになる。
また、一定の範囲の間に収まる視差を持つ領域を優先して［数２］式から合計の演算量を算出し、最大演算量を上回った時点で残りの領域は視差算出の範囲対象外としてもよい。すなわち、パラメータ変更部１１３は、視差算出部１１２，１１４での現在の処理リソース情報に基づいて、視差を算出する優先度が低い領域に対して、視差算出が実施されないようパラメータを変更して、効率化を図ることも可能である。
【００４９】
最終視差算出部１１４は、パラメータ変更部１１３から出力された視差算出用パラメータを用いて視差を算出する。
図９は、最終視差算出部１１４により出力される視差の結果の一例である。図９において、基準画像２０ａ，比較画像２０ｂ，被写体２１ａ，２１ｂは、図６のものと同一である。
【００５０】
図９に示す視差画像４３は、出力される最終の視差の結果である。また、視差画像４４は、視差画像４３に対して、図５のフローチャートのステップＳ２のような領域分割を実施した結果を示す。視差画像４４内の領域４５ａ，４５ｂは、被写体２１ａ，２１ｂに対応する分割領域を示す。最終視差算出部１１４により出力される視差画像４３は、図６に示す初期視差画像４０と比べて、被写体が存在する領域で詳細な視差画像となる。なお、最終視差算出部１１４で視差を算出する方法は、初期視差算出部１１２と同じアルゴリズムのブロックマッチングを使用する代わりに、ＣＰＵの処理リソースに余裕があれば高精度な視差を算出できる手法に変更してもよい。
このようにして最終視差算出部１１４で得られた最終的な視差の結果は、視差出力部１１５から出力される。
【００５１】
［１−６．第１の実施の形態例の効果］
以上説明したように、本実施の形態例では、画像全体において算出した大まかな視差の値に基づき画像を複数の領域に分割し、分割した領域ごとに物体の認識に最適な視差が算出できるパラメータを求めるようにした。そして、その求めたパラメータの値にて、再度該当する領域の視差を算出することで、処理負荷の増大を可能な限り抑制しつつ、物体の認識に必要な精度の視差を算出することができる。
【００５２】
［１−７．第１の実施の形態例の変形例］
なお、パラメータ変更部１１３によって出力される視差算出用パラメータの値が全て「０」となる場合には、最終視差算出部１１４において再度の視差計算を実施しないようにしてもよい。例えば、計測対象が撮像画像内に存在せず閾値範囲内に収まる大きさの視差算出領域が存在しない場合には、最終視差算出部１１４の視差計算を省略する。このようにすることで、ＣＰＵへの処理負荷が削減されるため、画像処理装置１１０の消費電力を効率的に制御することができる。
【００５３】
また、カメラの遠方や近傍に計測対象が存在する場合の計算量を比較すると、カメラ遠方の計測対象はパラメータ変更部１１３により高精度な視差を算出するパラメータに変更されやすいため計算量は多くなる。逆に、近傍の計測対象に対する視差算出の計算量は少なくなる。そのため、主にカメラ近傍に計測対象が存在するようステレオカメラを設置することで、従来と比べて消費電力が低減する画像処理装置を実現することができる。
【００５４】
また、第１の実施の形態例では、具体的な視差値として、整数精度の視差を算出する方法を示したが、小数(サブピクセル)精度の視差を算出する方法を利用してもよい。例えば、使用する視差算出用パラメータとして、小数精度の視差を求めるか否かといったフラグ型のパラメータを用意する。そして、パラメータ変更部１１３により、計測対象に応じてフラグを切り替えるようにする。このようにすることで、カメラ近傍に存在する計測対象に対しては整数精度の視差を、カメラ遠方に存在する計測対象に対しては小数精度の視差を算出するといった方法を適用できるようになる。
【００５５】
＜２．第２の実施の形態例＞
図１０〜図１４を参照して、本発明の第２の実施の形態例のシステムを説明する。この第２の実施の形態例を説明する図１０〜図１４において、第１の実施の形態例で説明した図１〜図９と同一箇所には同一符号を付す。
【００５６】
［２−１．システム全体の構成例］
図１０は、第２の実施の形態例の画像処理システムの全体構成例を示す図である。
この第２の実施の形態例では、連続した撮像画像（フレーム）において、前フレームにて使用した視差算出用パラメータと、算出した視差から次のフレームにおける計測対象が存在すると予測される領域情報を利用するものである。このように予測される領域情報を利用することで、第２の実施の形態例では、処理負荷を低減させつつ、より効率的に高精度な視差を算出できるようなる。
にしたものである。
【００５７】
図１０に示す構成について説明すると、第２の実施の形態例の画像処理システム１００′では、２台のカメラ１０１Ｌ，１０１Ｒからの撮影画像は、画像処理装置１１０′で処理されて、視差情報が得られる。
画像処理装置１１０′の画像取得部１１１ａ，１１１ｂが取得した基準画像及び比較画像は、初期視差算出判定部１３１に供給される。初期視差算出判定部１３１は、予測物体情報記憶部１２２に記憶されている予測物体情報に基づいて、現在のフレームにおいて大まかな初期視差を算出するか否かを判定する処理を行う。なお、予測物体情報とは、後述する物体予測部１１６より出力され、予め予測物体情報記憶部１２２に記憶される情報である。そして、この初期視差算出判定部１３１での判定結果が、初期視差算出部１１２に供給される。
【００５８】
初期視差算出部１１２は、初期視差算出判定部１３１から大まかな初期視差を算出する判定結果が供給されると、視差算出パラメータ記憶部１２１に記憶されている視差算出パラメータにより、初期視差を算出する。
初期視差算出部１１２が算出した視差情報は、パラメータ調整部１３２に供給される。パラメータ調整部１３２では、視差算出用パラメータを調整する。この調整では、予測物体情報記憶部１２２に記憶されている予測物体情報と、初期視差算出部１１２により取得された大まかな視差と、予めパラメータ調整結果情報記憶部１２３に蓄積されているパラメータ調整結果情報とを利用する。なお、パラメータ調整部１３２でのパラメータ調整結果情報は、パラメータ調整結果情報記憶部１２３に記憶される。
【００５９】
そして、パラメータ調整部１３２で調整された視差算出用パラメータを使って、最終視差算出部１１４が最終的な視差情報を算出し、得られた視差情報が視差出力部１１５から出力される。さらに、最終視差算出部１１４で算出された視差情報や視差算出に使用した画像（基準画像）が、物体移動予測部１１６に供給される。物体移動予測部１１６は、視差情報の変化から、画像内の被写体（物体）の移動状態を予測する。なお、物体移動予測部１１６は、基準画像そのものから直接、被写体の移動状態を予測するようにしてもよい。
物体移動予測部１１６で得られた物体移動予測情報は、予測物体情報記憶部１２２に記憶される。
【００６０】
［２−２．予測物体情報の例］
次に、本実施の形態例での視差情報の算出処理例について説明する。
図１１は、初期視差算出判定処理時の各フレームの画像と予測物体領域の例を示す。
図１１に示す３枚の画像８０ａ，８０ｂ，８０ｃは、時刻Ｔ，Ｔ＋１，Ｔ＋２の３つフレームを時系列順に取得した基準画像である。各基準画像８０ａ，８０ｂ，８０ｃでは、被写体８１の位置が左から右に変化している。
【００６１】
ここで、時刻Ｔの画像８０ａを取得したとき、それ以前での被写体８１の動きから、被写体８１の位置を予測した予測物体領域８３ａが含まれる予測物体情報８２ａを得る。さらに、時刻Ｔ＋１の画像８０ｂを取得したとき、それ以前での被写体８１の動きから、被写体８１の位置を予測した予測物体領域８３ｂが含まれる予測物体情報８２ｂを得る。予測物体情報や予測物体領域の算出方法については、後述する。
【００６２】
そして、初期視差算出判定部１３１では、予測物体領域の大きさが一定以上であれば初期視差を算出しないと判定し、予測物体領域８３ａ，８３ｂの大きさが一定未満であれば初期視差を算出すると判定する。
【００６３】
［２−３．予測物体情報を使った視差算出用パラメータの決定処理の例］
図１２は、パラメータ調整部１３２での処理を示すフローチャートである。
パラメータ調整部１３２は、初期視差算出部１１２によって算出された視差を含む領域と、予測物体情報記憶部１２２に記憶された予測物体情報に基づいて、基準画像を予測物体領域に分割する（ステップＳ１０）。そして、パラメータ調整部１３２は、初期視差算出部１１２によって算出された初期視差算出領域ごとに、視差算出用パラメータを決定する（ステップＳ１１）。また、パラメータ調整部１３２は、予測物体情報から取得した予測物体領域に対しても、視差算出用パラメータを決定する（ステップＳ１２）。
【００６４】
そして、決定した視差算出パラメータをパラメータ調整結果情報としてパラメータ調整結果情報記憶部１２３に蓄積し（ステップＳ１３）、パラメータ調整部１３２は、蓄積したパラメータ値を最終視差算出部１１４に出力する（ステップＳ１４）。
【００６５】
図１３は、図１２のフローチャートのステップＳ１０の処理により、基準画像８２ａが領域分割された結果の一例である。画像９１では、予測物体領域８３ａの部分以外の領域９０ａは、初期視差算出部１１２により大まかな視差が算出されている。
また、画像９２では、初期視差算出部１１２により視差を計算する際に、背景差分により予め保持した背景画像と入力の撮像画像との間の輝度値に差分があった領域のみ大まかな視差を算出する。このように背景画像と撮像画像の輝度差を利用して予め大まかな視差を算出することで、初期視差算出部５により求める視差値は、領域８３ａ以外の全ての領域ではなく、一部の領域９０ｂのみにすることができる。
【００６６】
すなわち、画像９２の例のように、背景差分などの前処理を利用することで、視差を算出する範囲をより効率的に限定することができる。
図１２のフローチャートのステップＳ１１では、領域ごとに図５のフローチャートのステップＳ３及びＳ４の処理を繰り返すことで、視差算出用パラメータを決定することができる。
【００６７】
図１４は、視差算出用パラメータの決定処理の具体例を示す。
ここでは、図１４に示す基準画像１０３は、現時刻をＴとした場合に時刻Ｔ−１のフレームにおいて処理された基準画像である。この基準画像１０３を使って、ステップＳ１３での処理で蓄積される視差算出用パラメータ１０４が得られる。
視差算出用パラメータ１０４としては、領域１００の始点座標１０１及び終点座標１０２が設定され、平均視差値「１５」と、探索ウィンドウ２３のサイズ及び最大探索幅が設定される。
【００６８】
ステップＳ１２では、パラメータ調整部１３２は、予測物体領域１０６と、前フレームについてのステップＳ１３での処理により蓄積された視差算出用パラメータの矩形領域１０７との、重複領域１０８が存在するか否かを探索する。
そして、パラメータ調整部１３２は、重複領域１０８が確認された場合に、予測物体領域１０６にて使用する視差算出用パラメータを領域１０７のパラメータ値に決定する。
【００６９】
なお、探索に利用する視差算出用パラメータとしては前フレームに蓄積されたものに特に限定はせず、蓄積された全ての視差算出用パラメータを探索対象として利用してもよい。また、ここでは予測物体領域と視差算出用パラメータの対応付け方法として、領域の重複の有無による判定を利用したが、その他の判定を行うようにしてもよい。
例えば、重複領域１０８の面積が最も多い視差算出用パラメータを対応付ける方法や、予測物体領域と視差算出用パラメータの矩形領域との重心位置が最も近いものを対応付ける方法を適用してもよい。あるいはまた、直近に蓄積された視差算出用パラメータを優先して対応付ける方法や、予め予測物体領域に予想される視差情報などを付随させておくことで平均視差により対応付ける方法を適用してもよい。
【００７０】
ステップＳ１３では、ステップＳ１１とステップＳ１２によって決定された視差算出用パラメータを、パラメータ調整結果情報記憶部１２３に保存する。なお、情報の容量が画像処理装置１１０′が内部に持つ記憶装置などの容量より多い場合は、最も古く蓄積された視差算出用パラメータを削除する。あるいは、予測物体領域と対応付けられた回数が多い視差算出用パラメータを信頼性が高いものとして判定し、信頼性が低い視差算出用パラメータを削除するようにしてもよい。さらに、座標情報などが類似した視差算出用パラメータは、直近に蓄積されたパラメータのみ残すよういにしてもよい。さらにまた、算出したパラメータの平均値を蓄積して、詳細なパラメータを削除するようにしてもよい。
【００７１】
ステップＳ１４では、ステップＳ１１とステップＳ１２によって決定された視差算出用パラメータを最終の視差算出用パラメータとして出力する。
【００７２】
物体移動予測部１１６は、最終視差算出部１１４によって出力される視差情報から計測対象の３次元情報を取得し、次に取得する撮像画像において計測対象が存在すると予測される画像中の範囲（領域）を出力する。
計測対象が存在すると予測される領域は、物体を追跡して作成した軌跡情報から進行方向や移動幅を推定することで算出することができる。物体追跡は、既に知られた一般的な手法を利用すればよい。例えば、計測対象を人とした場合、３次元情報を解析して人物の頭部を抽出して同一の頭部を追跡すればよい。また、オプティカルフローなどの画像特徴量を解析して追跡するようにしてもよい。また、顔などの情報から推定した人物の身体の向きなどを追跡に利用してもよい。
【００７３】
［２−４．第２の実施の形態例の効果・変形例］
以上説明した第２の実施の形態例によると、第１の実施の形態例を超える効果が得られる。すなわち、計測対象が存在する可能性が高い領域に対して過去に使用した視差算出用パラメータから視差を算出することで、より処理負荷の増大を抑制しつつ、物体の認識に必要な精度の視差を効率的に算出することができる。
【００７４】
なお、このように過去に使用した視差算出用パラメータを使用する場合には、パラメータの変更履歴情報の中で、信頼性の高いパラメータを抽出して、その抽出したパラメータを使用し、信頼性の低いものは使用しないようにしてもよい。
【００７５】
＜３．その他の変形例＞
なお、本発明は上記した各実施の形態例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施の形態例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態例の構成の一部を他の実施の形態例や変形例の構成に置き換えることが可能であり、また、ある実施の形態例の構成に他の実施の形態例や変形例の構成に置き換えることも可能である。また、実施の形態例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００７６】
例えば、パラメータ変更部１１３が、視差算出用パラメータを変更する際には、ここまで説明した全ての要件を使って視差算出用パラメータを変更してもよい。これに対して、パラメータ変更部１１３は、過去の計測対象の情報、パラメータの変更履歴情報、処理リソース情報、画像データ情報、及びユーザの設定情報の少なくともいずれか１つ以上を用いて、視差算出用パラメータを変更してもよい。
【００７７】
また、パラメータ変更部により変更される視差算出用のパラメータとしては、ブロックマッチングのウィンドウサイズ、最大探索幅、視差算出領域の３つを示した。これに対して、ブロックマッチングのウィンドウサイズ、最大探索幅、視差算出領域の少なくとも１つのパラメータだけを変更するようにしてもよい。あるいは、その他のパラメータと組み合わせるようにしてもよい。
【００７８】
また、上述した各実施の形態例では、初期視差算出部１１２と最終視差算出部１１４の２つの視差算出部で視差算出処理工程を行うようにした。これに対して、画像処理装置１１０又は１１０′が、１つの視差算出部だけを備えるようして、その１つの視差算出部の切り替えで、初期視差算出処理工程と最終視差算出処理工程の双方を行うようにしてもよい。
また、初期視差算出と最終視差算出の２つの視差算出処理は、同じ画像に対して施すのが好ましいが、あるフレームの画像から初期視差算出処理で得た結果で、次以降のフレームの画像に対して最終視差算出処理を行うようにしてもよい。
【００７９】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能などは、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Solid State Drive）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【００８０】
１００，１００′…画像処理システム、１０１Ｌ，１０１Ｒ…カメラ、１１０，１１０′…画像処理装置、１１１ａ，１１１ｂ…画像取得部、１１２…初期視差算出部、１１３…パラメータ変更部、１１４…最終視差算出部、１１５…視差出力部、１１６…物体移動予測部、１２１…視差算出用パラメータ記憶部、１２２…予測物体情報記憶部、１２３…パラメータ調整結果情報記憶部、１３１…初期視差算出判定部、１３２…パラメータ調整部、Ｃ…コンピュータ装置、Ｃ１…ＣＰＵ、Ｃ２…ＲＯＭ、Ｃ３…ＲＡＭ、Ｃ４…バスライン、Ｃ５…不揮発性ストレージ、Ｃ６…入出力部
【図１】
2018037479.tif 000005
【図２】
2018037479.tif 000006
【図３】
2018037479.tif 000007
【図４】
2018037479.tif 000008
【図５】
2018037479.tif 000009
【図６】
2018037479.tif 000010
【図７】
2018037479.tif 000011
【図８】
2018037479.tif 000012
【図９】
2018037479.tif 000013
【図１０】
2018037479.tif 000014
【図１１】
2018037479.tif 000015
【図１２】
2018037479.tif 000016
【図１３】
2018037479.tif 000017
【図１４】
2018037479.tif 000018
【国際調査報告】
2018037479.tif 000019
2018037479.tif 000020
2018037479.tif 000021
2018037479.tif 000022