特許第6811244号(P6811244)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧
特許6811244画像処理装置、ステレオカメラ装置及び画像処理方法
<>
  • 特許6811244-画像処理装置、ステレオカメラ装置及び画像処理方法 図000004
  • 特許6811244-画像処理装置、ステレオカメラ装置及び画像処理方法 図000005
  • 特許6811244-画像処理装置、ステレオカメラ装置及び画像処理方法 図000006
  • 特許6811244-画像処理装置、ステレオカメラ装置及び画像処理方法 図000007
  • 特許6811244-画像処理装置、ステレオカメラ装置及び画像処理方法 図000008
  • 特許6811244-画像処理装置、ステレオカメラ装置及び画像処理方法 図000009
  • 特許6811244-画像処理装置、ステレオカメラ装置及び画像処理方法 図000010
  • 特許6811244-画像処理装置、ステレオカメラ装置及び画像処理方法 図000011
  • 特許6811244-画像処理装置、ステレオカメラ装置及び画像処理方法 図000012
  • 特許6811244-画像処理装置、ステレオカメラ装置及び画像処理方法 図000013
  • 特許6811244-画像処理装置、ステレオカメラ装置及び画像処理方法 図000014
  • 特許6811244-画像処理装置、ステレオカメラ装置及び画像処理方法 図000015
  • 特許6811244-画像処理装置、ステレオカメラ装置及び画像処理方法 図000016
  • 特許6811244-画像処理装置、ステレオカメラ装置及び画像処理方法 図000017
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6811244
(24)【登録日】2020年12月16日
(45)【発行日】2021年1月13日
(54)【発明の名称】画像処理装置、ステレオカメラ装置及び画像処理方法
(51)【国際特許分類】
   G06T 1/00 20060101AFI20201228BHJP
   G06T 7/593 20170101ALI20201228BHJP
   G01C 3/06 20060101ALI20201228BHJP
【FI】
   G06T1/00 315
   G06T7/593
   G01C3/06 110V
   G01C3/06 140
【請求項の数】8
【全頁数】20
(21)【出願番号】特願2018-535962(P2018-535962)
(86)(22)【出願日】2016年8月23日
(86)【国際出願番号】JP2016074514
(87)【国際公開番号】WO2018037479
(87)【国際公開日】20180301
【審査請求日】2018年11月19日
【前置審査】
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000925
【氏名又は名称】特許業務法人信友国際特許事務所
(72)【発明者】
【氏名】笹谷 聡
(72)【発明者】
【氏名】伊藤 誠也
(72)【発明者】
【氏名】倉田 謙一郎
(72)【発明者】
【氏名】三木 亮祐
【審査官】 ▲広▼島 明芳
(56)【参考文献】
【文献】 特開平09−185720(JP,A)
【文献】 特開2013−242854(JP,A)
【文献】 特開2016−152027(JP,A)
【文献】 特開2014−089498(JP,A)
【文献】 特表2015−536057(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00 − 7/90
G01C 3/06
(57)【特許請求の範囲】
【請求項1】
ステレオカメラが撮影した一方の画像データと他方の画像データの視差を、設定された視差算出用パラメータを使った演算処理で算出する視差算出部と、
前記視差算出部が算出した視差情報に基づいて、1フレーム内の画素または画素領域ごとに、前記視差算出用パラメータを変更するパラメータ変更部とを備え、
前記視差算出用のパラメータは、ブロックマッチングのウィンドウサイズ、最大探索幅、及び視差算出領域であり、
前記パラメータ変更部は、入力した画像データに対して、第1の視差算出用パラメータを前記視差算出部に設定し、
前記視差算出部は、設定された前記第1の視差算出用パラメータを使用して、初期視差を算出し、前記初期視差を用いて画像データから計測対象が含まれる領域を抽出し、
前記パラメータ変更部は、抽出された各領域の平均視差を算出し、各領域の前記平均視差に基づいて、それぞれ各領域に設定する第2の視差算出用パラメータを決定し、当該第2の視差算出用パラメータを決定する際に、各領域の前記平均視差に対応付けられた前記ブロックマッチングのウィンドウサイズ及び前記最大探索幅をそれぞれ、各領域に対応する前記第2の視差算出用パラメータの前記ブロックマッチングのウィンドウサイズ及び前記最大探索幅として前記視差算出部に設定し、
前記視差算出部は、各領域に設定された前記第2の視差算出用パラメータを使用して、それぞれ各領域の最終的な視差を算出する
画像処理装置。
【請求項2】
前記パラメータ変更部が、過去の計測対象の情報、パラメータの変更履歴情報、画像処理装置の処理リソース情報、画像データ情報、及びユーザの設定情報の少なくとも1つ以上を用いて、視差算出用パラメータを変更する
請求項1に記載の画像処理装置。
【請求項3】
過去の計測対象の情報が、計測対象の過去の位置情報から推定した計測対象の予測位置を含む
請求項2に記載の画像処理装置。
【請求項4】
前記パラメータ変更部は、パラメータの変更履歴情報の中で、信頼性の高いパラメータを抽出して、前記視差算出部に設定する
請求項2に記載の画像処理装置。
【請求項5】
前記パラメータ変更部は、前記視差算出部の現在の処理リソース情報に基づいて、処理リソースが最適となるようにパラメータ値を配分する
請求項2に記載の画像処理装置。
【請求項6】
前記パラメータ変更部は、前記視差算出部の現在の処理リソース情報に基づいて、視差を算出する優先度が低い領域に対して、視差算出が実施されないようパラメータを変更する
請求項2に記載の画像処理装置。
【請求項7】
所定の距離離れて配置された一方及び他方のカメラと、
前記一方のカメラが撮影した一方の画像データと前記他方のカメラが撮影した他方の画像データの視差を、設定された視差算出用パラメータを使った演算処理で算出する視差算出部と、
前記視差算出部が算出した視差情報に基づいて、1フレーム内の画素または画素領域ごとに、前記視差算出用パラメータを変更するパラメータ変更部とを備え、
前記視差算出用のパラメータは、ブロックマッチングのウィンドウサイズ、最大探索幅、及び視差算出領域であり、
前記パラメータ変更部は、入力した画像データに対して、第1の視差算出用パラメータを前記視差算出部に設定し、
前記視差算出部は、設定された前記第1の視差算出用パラメータを使用して、初期視差を算出し、前記初期視差を用いて画像データから計測対象が含まれる領域を抽出し、
前記パラメータ変更部は、抽出された各領域の平均視差を算出し、各領域の前記平均視差に基づいて、それぞれ各領域に設定する第2の視差算出用パラメータを決定し、当該第2の視差算出用パラメータを決定する際に、各領域の前記平均視差に対応付けられた前記ブロックマッチングのウィンドウサイズ及び前記最大探索幅をそれぞれ、各領域に対応する前記第2の視差算出用パラメータの前記ブロックマッチングのウィンドウサイズ及び前記最大探索幅として前記視差算出部に設定し、
前記視差算出部は、各領域に設定された前記第2の視差算出用パラメータを使用して、それぞれ各領域の最終的な視差を算出する
ステレオカメラ装置。
【請求項8】
ステレオカメラが撮影した一方の画像データと他方の画像データの視差を、設定された視差算出用パラメータを使った演算処 理で算出する視差算出処理工程と、
前記視差算出処理工程により算出した視差情報に基づいて、1フレーム内の画素または画素領域ごとに、前記視差算出用パラメータを変更するパラメータ変更処理工程とを含み、
前記視差算出用のパラメータは、ブロックマッチングのウィンドウサイズ、最大探索幅、及び視差算出領域であり、
前記パラメータ変更処理工程では、入力した画像データに対して、第1の視差算出用パラメータが設定され、
前記視差算出処理工程では、設定された前記第1の視差算出用パラメータを使用して、初期視差が算出され、前記初期視差を用いて画像データから計測対象が含まれる領域が抽出され、
前記パラメータ変更処理工程では、抽出された各領域の平均視差が算出され、各領域の前記平均視差に基づいて、それぞれ各領域に設定する第2の視差算出用パラメータが決定され、当該第2の視差算出用パラメータが決定される際に、各領域の前記平均視差に対応付けられた前記ブロックマッチングのウィンドウサイズ及び前記最大探索幅がそれぞれ、各領域に対応する前記第2の視差算出用パラメータの前記ブロックマッチングのウィンドウサイズ及び前記最大探索幅として設定され、
前記視差算出処理工程では、各領域に設定された前記第2の視差算出用パラメータを使用して、それぞれ各領域の最終的な視差が算出され
画像処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、ステレオカメラ装置及び画像処理方法に関する。
【背景技術】
【0002】
近年、計測装置が計測した情報により、物体を検出する物体認識技術へのニーズが高まっている。計測装置としては、監視カメラ、距離センサ、レーザレーダ、赤外線タグなどが活用されている。特に、監視カメラは、既設の装置を利用でき、装置を新設するための導入コストが掛からないため好ましい。そのため、監視カメラから取得した画像に基づいて、物体を検出する技術開発が進められている。
【0003】
カメラが撮影した画像から物体を認識する技術としては、従来から各種方法が開発されている。例えば、認識したい物体の大量のサンプルデータ(サンプル画像)をデータベースに予め保存しておき、画像中にサンプルデータと類似した部分が存在するか否かを検索する方法が一般的に用いられる。しかし、この認識方法では、照明条件などにより物体の見え方がサンプルデータと大きく異なる場合には、物体を認識することが困難となる。
【0004】
そこで、複数のカメラにより物体を撮像し、物体の三次元形状を計測することで、物体を高精度に認識する技術に注目が集まっている。このような技術として、例えば、ステレオカメラを用いた物体認識技術が挙げられる。この技術では、ステレオカメラが撮像した左右一対のカメラ画像を比較して算出した視差により、ステレオカメラから物体までの距離情報を取得することで、物体の三次元形状を計測する。しかし、視差の算出は処理負荷の増大に繋がるため、一定時間内に処理できる画像の枚数が少なくなってしまう。また処理負荷が大きい高度なアルゴリズムを適応することは、視差を算出した後に、物体を認識する場合には困難となる。そのため、処理負荷の増大を抑えて効率的に視差を算出する技術が要求されている。例えば、特許文献1には、画像特徴量から物体の検出と追跡を実施した場合の結果により、映像の中から視差を算出するフレームを選定することで、処理負荷の増大を抑える手法が記載されている。また、特許文献2には、画像中から物体が存在する領域を抽出して、その領域の範囲内のみの視差を計算することで処理量を削減する手法が記載されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−236642号公報
【特許文献2】特開2013−161241号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1に記載された手法では、検出フレームを間引くため処理負荷は削減できるが、視差を算出して物体の形状を計測できる画像の枚数が少なくなるため、連続した画像の情報から物体を認識する場合に認識精度が低下してしまう。
【0007】
一方、特許文献2に記載された手法では、物体が存在する領域のみの視差を算出するため、処理負荷の増大を抑えつつ、映像中の全てのフレームにおいて物体の視差を算出できる。しかしながら、全ての物体の視差を一律のパラメータにて計算するため、例えば精度の低いパラメータを設定した場合には、物体の認識に必要な精度の視差が求められないという問題がある。逆に、精度の高いパラメータを設定した場合には、物体の認識には充分過ぎる精度の視差を算出して処理負荷を無駄に増大させてしまう。
【0008】
本発明は、ステレオカメラから得た画像から視差を算出する場合に、処理負荷の増大を可能な限り抑制しつつ、物体の認識に最適な精度の視差の算出ができるようにすることを目的とする。
【課題を解決するための手段】
【0009】
本発明の画像処理装置は、視差算出部と、パラメータ変更部とを備える。
視差算出部は、ステレオカメラが撮影した一方の画像データと他方の画像データの視差を、設定された視差算出用パラメータを使った演算処理で算出する。
パラメータ変更部は、視差算出部が算出した視差情報に基づいて、1フレーム内の画素または画素領域ごとに、視差算出用パラメータを変更する。
視差算出用のパラメータは、ブロックマッチングのウィンドウサイズ、最大探索幅、及び視差算出領域である。
パラメータ変更部は、入力した画像データに対して、第1の視差算出用パラメータを視差算出部に設定する。
視差算出部は、設定された第1の視差算出用パラメータを使用して、初期視差を算出し、初期視差を用いて画像データから計測対象が含まれる領域を抽出する。
パラメータ変更部は、抽出された各領域の平均視差を算出し、各領域の平均視差に基づいて、それぞれ各領域に設定する第2の視差算出用パラメータを決定し、当該第2の視差算出用パラメータを決定する際に、各領域の平均視差に対応付けられたブロックマッチングのウィンドウサイズ及び最大探索幅をそれぞれ、各領域に対応する第2の視差算出用パラメータのブロックマッチングのウィンドウサイズ及び最大探索幅として視差算出部に設定する。
視差算出部は、各領域に設定された第2の視差算出用パラメータを使用して、それぞれ各領域の最終的な視差を算出する
【0010】
本発明のステレオカメラ装置は、所定の距離離れて配置された一方及び他方のカメラと、視差算出部と、パラメータ変更部とを備える。
視差算出部は、一方のカメラが撮影した一方の画像データと他方のカメラが撮影した他方の画像データの視差を、設定された視差算出用パラメータを使った演算処理で算出する。
パラメータ変更部は、視差算出部が算出した視差情報に基づいて、1フレーム内の画素または画素領域ごとに、視差算出用パラメータを変更する。
視差算出用のパラメータは、ブロックマッチングのウィンドウサイズ、最大探索幅、及び視差算出領域である。
パラメータ変更部は、入力した画像データに対して、第1の視差算出用パラメータを視差算出部に設定する。
視差算出部は、設定された第1の視差算出用パラメータを使用して、初期視差を算出し、初期視差を用いて画像データから計測対象が含まれる領域を抽出する。
パラメータ変更部は、抽出された各領域の平均視差を算出し、各領域の平均視差に基づいて、それぞれ各領域に設定する第2の視差算出用パラメータを決定し、当該第2の視差算出用パラメータを決定する際に、各領域の平均視差に対応付けられたブロックマッチングのウィンドウサイズ及び最大探索幅をそれぞれ、各領域に対応する第2の視差算出用パラメータのブロックマッチングのウィンドウサイズ及び最大探索幅として視差算出部に設定する。
視差算出部は、各領域に設定された第2の視差算出用パラメータを使用して、それぞれ各領域の最終的な視差を算出する
【0011】
本発明の画像処理方法は、視差算出処理工程と、パラメータ変更処理工程とを含む。
視差算出処理工程では、ステレオカメラが撮影した一方の画像データと他方の画像データの視差が、設定された視差算出用パラメータを使った演算処理で算出される。
パラメータ変更処理工程では、視差算出処理工程で算出された視差情報に基づいて、1フレーム内の画素または画素領域ごとに、視差算出用パラメータが変更される。
視差算出用のパラメータは、ブロックマッチングのウィンドウサイズ、最大探索幅、及び視差算出領域である。
パラメータ変更処理工程では、入力した画像データに対して、第1の視差算出用パラメータが設定される。
視差算出処理工程では、設定された第1の視差算出用パラメータを使用して、初期視差が算出され、初期視差を用いて画像データから計測対象が含まれる領域が抽出される。
パラメータ変更処理工程では、抽出された各領域の平均視差が算出され、各領域の平均視差に基づいて、それぞれ各領域に設定する第2の視差算出用パラメータが決定され、当該第2の視差算出用パラメータが決定される際に、各領域の平均視差に対応付けられたブロックマッチングのウィンドウサイズ及び最大探索幅がそれぞれ、各領域に対応する第2の視差算出用パラメータのブロックマッチングのウィンドウサイズ及び最大探索幅として設定される。
視差算出処理工程では、各領域に設定された第2の視差算出用パラメータを使用して、それぞれ各領域の最終的な視差が算出される
【発明の効果】
【0012】
本発明によれば、視差算出のための処理負荷の増大を抑制しつつ、物体の認識に最適な精度の視差を算出できる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0013】
図1】本発明の第1の実施の形態例のシステム構成例を示す全体図である。
図2】本発明の第1の実施の形態例の画像処理装置に適用されるコンピュータの構成例を示すブロック図である。
図3】本発明の第1の実施の形態例による初期視差算出処理状態を示す図である。
図4】本発明の第1の実施の形態例による視差算出用パラメータの一例を示す図である。
図5】本発明の第1の実施の形態例によるパラメータ変更処理例を示すフローチャートである。
図6】本発明の第1の実施の形態例による視差画像の作成処理及び視差画像の領域分割の例を示す図である。
図7】本発明の第1の実施の形態例による視差算出用パラメータの決定処理の例を説明する図である。
図8】本発明の第1の実施の形態例により変更された視差算出用パラメータの一例を示す図である。
図9】本発明の第1の実施の形態例の最終視差算出部により出力された視差結果の一例を示す図である。
図10】本発明の第2の実施の形態例のシステム構成例を示す全体図である。
図11】本発明の第2の実施の形態例による初期視差算出判定処理時の各フレームの画像と予測物体領域の例を示す図である。
図12】本発明の第2の実施の形態例によるパラメータ調整部での処理例を示すフローチャートである。
図13】本発明の第2の実施の形態例による初期視差算出領域と予測物体領域の分割例を説明する図である。
図14】本発明の第2の実施の形態例による予測物体領域ごとに視差算出パラメータを決定する例を説明する図である。
【発明を実施するための形態】
【0014】
<1.第1の実施の形態例>
以下、図1図9を参照して、本発明の第1の実施の形態例のシステムを説明する。
[1−1.システム全体の構成例]
図1は、第1の実施の形態例の画像処理システムの全体構成例を示す図である。
画像処理システム100は、2台のカメラ101L,101Rと、画像処理装置110とを備える。2台のカメラ101L,101Rは、水平方向に所定距離だけ離して配置され、2台のカメラ101L,101Rで撮影した画像からステレオ画像を得る。
【0015】
それぞれのカメラ101L,101Rは、所定の時間周期で取得した可視光を、撮像素子を介して変換した電気信号をデジタル変換し、デジタル画像データを生成する。撮像素子としては、例えばCCD(Charge Coupled Device)イメージャやCMOS(Complementary Metal Oxide Semiconductor)素子が使用される。
画像処理装置110は、2台のカメラ101L,101Rで撮影して得た画像データを処理して、画像間の視差を算出する処理を行う。画像処理装置110が算出した視差情報は、画像から認識した物体の距離を算出する装置(不図示)に供給し、例えば算出した距離に応じて、侵入者の警告、物体の接近の警告などの処理を行う。
【0016】
画像処理装置110は、画像取得部111a,111bと、初期視差算出部112と、パラメータ変更部113と、最終視差算出部114と、視差出力部115と、視差算出用パラメータ記憶部121とを備える。これらの画像処理装置110の各部111a,111b,112,113,114,115,121は、各カメラ101L,101Rに内蔵または外部に用意されたコンピュータ装置により実現される。コンピュータ装置の構成例については後述する。
【0017】
画像処理装置110で行われる処理の概要を説明すると、2つの画像取得部111a,111bは、各カメラ101L,101Rから画像データを取得する。初期視差算出部112は、視差算出用パラメータ記憶部121から取得した初期のパラメータ値にて、2つの画像取得部111a,111bが取得した画像間の視差を算出する。パラメータ変更部113は、初期視差算出部112が算出した視差に応じて、視差算出用パラメータの値を変更する演算処理を行う。最終視差算出部114は、パラメータ変更部113が変更したパラメータにより、画像間の視差を再度計算する処理を行う。視差出力部115は、最終視差算出部114が算出した視差情報を出力する。
なお、以下の説明では、画像取得部111a,111bがカメラ101L,101Rから取得するデジタル画像データを「撮像画像」と呼ぶ。
【0018】
[1−2.コンピュータ装置の構成例]
図2は、画像処理装置110を構成するコンピュータ装置Cの一例を示す図である。
コンピュータ装置Cは、CPU(Central Processing Unit:中央処理装置)C1、ROM(Read Only Memory)C2、RAM(Random Access Memory)C3、不揮発性ストレージC5、及び入出力部C6を備える。これら各部C1,C2,C3,C5,C6は、バスラインC4によりデータ転送可能に接続されている。
【0019】
CPU C1は、画像処理装置110を構成する各部の機能を実現するソフトウェアのプログラムコードをROM C2から読み出して実行する。RAM C3には、演算処理の途中に発生した変数やパラメータ等が一時的に書き込まれる。
【0020】
不揮発性ストレージC5としては、例えば、HDD(Hard disk drive)、SSD(Solid State Drive)、その他の各種記憶媒体が用いられる。この不揮発性ストレージC5には、OS(Operating System)、各種のパラメータの他に、コンピュータ装置Cを画像処理装置110として機能させるためのプログラムが記録されている。
【0021】
入出力部C6は、LAN(Local Area Network)、専用線等を介して各種のデータを外部の装置と送受信する。例えば、入出力部C6は、カメラ101L、101Rが撮影した撮影画像を取り込み、算出した視差情報を外部に出力する。
【0022】
[1−3.初期視差の算出処理]
次に、画像処理装置110の各部での処理の詳細について説明する。
図3は、初期視差算出部112での初期視差の算出処理を説明する図である。
初期視差算出部112では、ブロックマッチングと称される方法により初期視差を算出する。すなわち、図3に示すように、被写体21が撮影されている状況下において、一方のカメラ101L(左カメラ)から取得した撮像画像を基準画像20a、他方のカメラ101R(右カメラ)から取得した撮像画像を比較画像20bとする。そして、基準画像20aからある小領域22aを決定する。ここでは小領域22aに被写体21の一部が含まれている。
【0023】
そして、比較画像20bにおいて、探索ウィンドウ23を、小領域22aと同じ位置から矢印24の水平方向に走査することで、小領域22aと相違度が最小となる小領域22bを探索し、その探索幅25を視差として算出する。なお、図3は、視差を算出する原理を示すものであり、実際の基準画像20aと比較画像20bで生じる被写体21の位置変化は、図3に示すような大きなものではない。
【0024】
2つの小領域22a,22bの相違度を計算する方法としては、例えば[数1]式に示すSAD(sum of squared difference)法がある。
【0025】
【数1】
【0026】
[数1]式において、Tは小領域22aの輝度値、Tは小領域22bの輝度値、Mは探索ウィンドウ23の横幅、Nは探索ウィンドウ23の縦幅である。また、(i,j)は、探索ウィンドウ23内の各画素の座標位置を示し、左上の座標(0,0)から、右下の座標(M−1,N−1)までの値である。
なお、[数1]式に示す相違度SADの計算方法は一例であり、その他の計算方法で相違度を計算してもよい。
【0027】
なお、視差算出を行う撮像画像は、基準画像20aと比較画像20bの間に平行化と称される前処理が施されており、初期視差算出部112では、探索ウィンドウ23を水平方向(矢印24の方向)にのみ走査する。但し、平行化処理が施されていない画像の場合には、探索ウィンドウ23内を垂直方向や斜め方向に走査すれば良く、水平方向の走査に限定されるものではない。
【0028】
ブロックマッチングにより視差を算出する場合に使用する一般的なパラメータとしては、以下に示すものがある。すなわち、探索ウィンドウのサイズ、水平方向に走査する最大探索幅、視差を算出する領域、スペックルフィルタと呼ばれる誤マッチングを除去するフィルタの強度などが、パラメータとして挙げられる。
【0029】
本実施の形態例では、視差を算出する際の計算量に大きく影響するパラメータである、探索ウィンドウのサイズ、最大探索幅、視差算出領域の3つのパラメータを扱う。一般的に探索ウィンドウのサイズは、大きい値ほど精度の高い視差を求められる反面、計算量が増大するという特徴を持つ。なお、精度の高い視差を求めることで詳細な3次元情報を取得できるため、領域内に計測対象が存在する場合その認識精度を向上させることができる。最大探索幅は、小さい値である程、計算量は抑えられるものの、正確な小領域を探索できる精度が低下する。また、視差算出領域は、少ない領域である程、全体の計算量は低減する。
【0030】
なお、本実施の形態例で初期視差算出時に使用するパラメータは、これら3つのパラメータに限定されるものではない。例えば、探索ウィンドウのサイズは固定値として、最大探索幅と視差算出領域のみ変更する場合や、スペックルフィルタの強度の値を変更するパラメータの1つとして扱ってもよい。
【0031】
[1−4.視差算出用パラメータの具体例]
図4は、視差算出用パラメータ30の例を示し、探索ウィンドウのサイズ、探索ウィンドウの最大探索幅31、探索の始点座標、探索の終点座標を示す。ここでは、2つの視差算出領域32a,32bの例を示す。
【0032】
これらの視差算出用パラメータ30で示される視差算出領域32a,32bは、基準画像20aに対して設定され、視差算出領域32a,32bから探索ウィンドウと同一サイズの小領域22aが抽出される。また、各領域32a,32bに対して探索ウィンドウのサイズと最大探索幅31のパラメータが保持されている。なお、図4では2つの視差算出領域32a,32bを設定した例を示すが、実際に設定される視差算出領域の数は2つに限定されない。
【0033】
初期視差算出部112は、例えば視差算出領域を1つのみ設定し、始点座標と終点座標は基準画像20aが全て含まれる値とし、探索ウィンドウのサイズ及び最大探索幅を取得する。探索ウィンドウのサイズ及び最大探索幅としては、予め定めた視差算出用のパラメータが取得され、このパラメータを用いて視差が計算される。なお、探索ウィンドウのサイズ及び最大探索幅の値は、共に値が小さい程計算量を少なくできること、及びCPUの処理リソースなどを考慮してユーザが決定することもできる。
【0034】
また、視差算出領域を1つのみに設定するだけではなく、予め取得した背景画像と基準画像との差分を取ることで、計測対象が含まれていると予想される領域を判定し、その領域を視差算出領域として設定するようにしてもよい。さらに、GUIなどでのユーザ操作で指定した領域のみを視差算出領域として設定するようにしてもよい。
【0035】
[1−5.パラメータの変更処理]
図5は、パラメータ変更部113で実行されるパラメータの変更処理例を示すフローチャートである。
図5に従ってパラメータ変更処理を説明すると、まずパラメータ変更部113は、初期視差算出部112により計算した視差情報より視差画像を作成する(ステップS1)。次に、パラメータ変更部113は、視差値に応じて視差画像を複数の領域に分割し(ステップS2)、分割した領域ごとに平均視差を算出する(ステップS3)。そして、ステップS3で算出した平均値に応じて視差算出用パラメータを決定する(ステップS4)。このステップS3及びS4の平均視差の算出と視差算出用パラメータの決定は、分割した領域数Aだけ繰り返す。
そして、パラメータ変更部113は、視差算出用パラメータを、ステップS4で決定した視差算出用パラメータに変更する(ステップS5)。
【0036】
図6は、図5のフローチャートのステップS1及びS2における処理の例を示す。
ステップS1では、図6に示すように、パラメータ変更部113は、基準画像20aの全ての画素に対応する視差を算出して、視差画像40を作成する。図6に示す視差画像40では、分割した領域ごとの平均視差の値を示す。この例では、平均視差値「5」の領域と、平均視差値「15」の領域と、平均視差値「25」の領域とが存在している。
【0037】
そして、ステップS2では、視差画像40を類似した視差の値を示す画素が同じグループとなるように領域分割して、領域分割画像41を得る。領域分割画像41を得る方法としては、一般的なクラスタリング手法を利用すればよく、特定の方法には限定されない。また、全ての画素を領域分割する必要はなく、例えば視差が閾値以上あるいは閾値未満の画素は無視する処理や、同じグループと判定された領域内の画素の数が閾値以上あるいは閾値未満である領域は考慮しない処理などを加えてもよい。
【0038】
図6の例では、領域分割画像41は、基準画像20aと比較画像20bとの平均視差値が「5」以下の画素を無視して、視差画像40を複数の領域42a,42bに分割した結果を示す。このようにして平均視差値から領域42a,42bを得ることで、撮像画像内の一定の大きさを持つ物体が存在する領域を抽出することができる。図6の例では、被写体21aが領域42aに、被写体21bが領域42bに対応する。なお、図6の例では、各領域42a,42b内の平均視差値は同じ値であるが、一定範囲内であれば、1つの領域内の平均視差値が相違してもよい。
【0039】
図7は、図5のフローチャートのステップS4での処理の例を示す。
ステップS4では、図7に示すように、パラメータ変更部113は、分割した領域ごとに算出した平均値に応じて視差算出用パラメータを決定する。
まず、図7に示すように、パラメータ変更部113は、基準画像20a内に矩形領域50a,50bを設定する。この矩形領域50a,50bは、ステップS2で設定した分割領域42a,42bを覆う最小の大きさの矩形形状の領域とする。これらの矩形領域50a,50bを設定する際には、図7に示すように、各矩形領域50a,50bの始点座標51a,51bと終点座標52a,52bを設定する。
【0040】
そして、パラメータ変更部113は、視差と視差算出用の各パラメータを対応付ける行列53を利用して、平均視差値から視差算出用パラメータを領域ごとに決定する。行列53としては、平均視差値ごとに、探索ウィンドウサイズと最大探索幅を決める。行列53は、画像処理装置110が予め記憶する。
図7の下側には、矩形領域50a,50bのそれぞれで決定した視差算出用パラメータ54の例を示す。
【0041】
例えば、平均視差25の領域50aでは、探索ウィンドウサイズが15ピクセル×15ピクセルであり、最大探索幅が25ピクセルになる。また、平均視差15の領域50bでは、探索ウィンドウサイズ25ピクセル×25ピクセルであり、最大探索幅が15ピクセルになる。
【0042】
なお、視差と視差算出用パラメータとの対応付け方法は、行列53を利用する以外に、線形関数などを利用してもよく、また対応付けられる視差算出用パラメータの値も図7の例に限定されない。
【0043】
図8は、パラメータ変更部113により変更された視差算出用パラメータの一例を示す。
図8に示すように、初期視差算出部112にて使用するパラメータ62では、視差算出領域1は画像全体の1つのみであるため、始点座標60aと終点座標60bは、画像20aの左上端60と右下端61になる。この初期視差算出用のパラメータ62では、探索ウィンドウ23のサイズと最大探索幅は、計算量がなるべく低減される値とし、初期視差算出で簡易的な探索が行われるようにする。
【0044】
これに対して、変更後の視差算出用パラメータ63は、計測対象が含まれる2つの領域50a,50bのみを視差算出領域1,2とすることで、計算量を低減する代わりに、探索ウィンドウ23のサイズは大きい値に設定する。図8に示す変更後の視差算出用パラメータ63は、図7に示す視差算出用パラメータ54と同じである。
【0045】
変更後の視差算出用パラメータ63では、計算量を増やして高精度の視差を求めることができる。一方、最大探索幅については、視差算出領域の平均視差値が小さい程、探索幅の値を小さくすることで計算量を削減することができる。このような最大探索幅の設定の仕方は、カメラ遠方に存在する計測対象であれば探索幅を小さくてもよいことを利用したものである。
【0046】
なお、パラメータ変更部113により視差算出用パラメータを変更する際に、CPUへの処理負荷を考慮して視差算出用の最大演算量を予め決めておくことで、パラメータを最適に変更することができる。
例えば、[数2]式によりパラメータ変更後の探索ウィンドウ23のサイズ、最大探索幅、及び視差算出領域から合計の演算量を求め、予め決定した最大演算量とほぼ同等になるようにパラメータを最適化する。[数2]式において、Mは探索ウィンドウの横幅、Nは探索ウィンドウの縦幅、Dは最大探索幅である。
【0047】
【数2】
【0048】
このようにパラメータを最適化することで、CPUの処理リソースを効率的に使用することができる。すなわち、パラメータ変更部113は、視差算出部112,114での現在の処理リソース情報に基づいて、処理リソースが最適となるようにパラメータ値を配分することで、CPUの処理リソースを効率的に使用できるようになる。
また、一定の範囲の間に収まる視差を持つ領域を優先して[数2]式から合計の演算量を算出し、最大演算量を上回った時点で残りの領域は視差算出の範囲対象外としてもよい。すなわち、パラメータ変更部113は、視差算出部112,114での現在の処理リソース情報に基づいて、視差を算出する優先度が低い領域に対して、視差算出が実施されないようパラメータを変更して、効率化を図ることも可能である。
【0049】
最終視差算出部114は、パラメータ変更部113から出力された視差算出用パラメータを用いて視差を算出する。
図9は、最終視差算出部114により出力される視差の結果の一例である。図9において、基準画像20a,比較画像20b,被写体21a,21bは、図6のものと同一である。
【0050】
図9に示す視差画像43は、出力される最終の視差の結果である。また、視差画像44は、視差画像43に対して、図5のフローチャートのステップS2のような領域分割を実施した結果を示す。視差画像44内の領域45a,45bは、被写体21a,21bに対応する分割領域を示す。最終視差算出部114により出力される視差画像43は、図6に示す初期視差画像40と比べて、被写体が存在する領域で詳細な視差画像となる。なお、最終視差算出部114で視差を算出する方法は、初期視差算出部112と同じアルゴリズムのブロックマッチングを使用する代わりに、CPUの処理リソースに余裕があれば高精度な視差を算出できる手法に変更してもよい。
このようにして最終視差算出部114で得られた最終的な視差の結果は、視差出力部115から出力される。
【0051】
[1−6.第1の実施の形態例の効果]
以上説明したように、本実施の形態例では、画像全体において算出した大まかな視差の値に基づき画像を複数の領域に分割し、分割した領域ごとに物体の認識に最適な視差が算出できるパラメータを求めるようにした。そして、その求めたパラメータの値にて、再度該当する領域の視差を算出することで、処理負荷の増大を可能な限り抑制しつつ、物体の認識に必要な精度の視差を算出することができる。
【0052】
[1−7.第1の実施の形態例の変形例]
なお、パラメータ変更部113によって出力される視差算出用パラメータの値が全て「0」となる場合には、最終視差算出部114において再度の視差計算を実施しないようにしてもよい。例えば、計測対象が撮像画像内に存在せず閾値範囲内に収まる大きさの視差算出領域が存在しない場合には、最終視差算出部114の視差計算を省略する。このようにすることで、CPUへの処理負荷が削減されるため、画像処理装置110の消費電力を効率的に制御することができる。
【0053】
また、カメラの遠方や近傍に計測対象が存在する場合の計算量を比較すると、カメラ遠方の計測対象はパラメータ変更部113により高精度な視差を算出するパラメータに変更されやすいため計算量は多くなる。逆に、近傍の計測対象に対する視差算出の計算量は少なくなる。そのため、主にカメラ近傍に計測対象が存在するようステレオカメラを設置することで、従来と比べて消費電力が低減する画像処理装置を実現することができる。
【0054】
また、第1の実施の形態例では、具体的な視差値として、整数精度の視差を算出する方法を示したが、小数(サブピクセル)精度の視差を算出する方法を利用してもよい。例えば、使用する視差算出用パラメータとして、小数精度の視差を求めるか否かといったフラグ型のパラメータを用意する。そして、パラメータ変更部113により、計測対象に応じてフラグを切り替えるようにする。このようにすることで、カメラ近傍に存在する計測対象に対しては整数精度の視差を、カメラ遠方に存在する計測対象に対しては小数精度の視差を算出するといった方法を適用できるようになる。
【0055】
<2.第2の実施の形態例>
図10図14を参照して、本発明の第2の実施の形態例のシステムを説明する。この第2の実施の形態例を説明する図10図14において、第1の実施の形態例で説明した図1図9と同一箇所には同一符号を付す。
【0056】
[2−1.システム全体の構成例]
図10は、第2の実施の形態例の画像処理システムの全体構成例を示す図である。
この第2の実施の形態例では、連続した撮像画像(フレーム)において、前フレームにて使用した視差算出用パラメータと、算出した視差から次のフレームにおける計測対象が存在すると予測される領域情報を利用するものである。このように予測される領域情報を利用することで、第2の実施の形態例では、処理負荷を低減させつつ、より効率的に高精度な視差を算出できるようなる。
にしたものである。
【0057】
図10に示す構成について説明すると、第2の実施の形態例の画像処理システム100′では、2台のカメラ101L,101Rからの撮影画像は、画像処理装置110′で処理されて、視差情報が得られる。
画像処理装置110′の画像取得部111a,111bが取得した基準画像及び比較画像は、初期視差算出判定部131に供給される。初期視差算出判定部131は、予測物体情報記憶部122に記憶されている予測物体情報に基づいて、現在のフレームにおいて大まかな初期視差を算出するか否かを判定する処理を行う。なお、予測物体情報とは、後述する物体予測部116より出力され、予め予測物体情報記憶部122に記憶される情報である。そして、この初期視差算出判定部131での判定結果が、初期視差算出部112に供給される。
【0058】
初期視差算出部112は、初期視差算出判定部131から大まかな初期視差を算出する判定結果が供給されると、視差算出パラメータ記憶部121に記憶されている視差算出パラメータにより、初期視差を算出する。
初期視差算出部112が算出した視差情報は、パラメータ調整部132に供給される。パラメータ調整部132では、視差算出用パラメータを調整する。この調整では、予測物体情報記憶部122に記憶されている予測物体情報と、初期視差算出部112により取得された大まかな視差と、予めパラメータ調整結果情報記憶部123に蓄積されているパラメータ調整結果情報とを利用する。なお、パラメータ調整部132でのパラメータ調整結果情報は、パラメータ調整結果情報記憶部123に記憶される。
【0059】
そして、パラメータ調整部132で調整された視差算出用パラメータを使って、最終視差算出部114が最終的な視差情報を算出し、得られた視差情報が視差出力部115から出力される。さらに、最終視差算出部114で算出された視差情報や視差算出に使用した画像(基準画像)が、物体移動予測部116に供給される。物体移動予測部116は、視差情報の変化から、画像内の被写体(物体)の移動状態を予測する。なお、物体移動予測部116は、基準画像そのものから直接、被写体の移動状態を予測するようにしてもよい。
物体移動予測部116で得られた物体移動予測情報は、予測物体情報記憶部122に記憶される。
【0060】
[2−2.予測物体情報の例]
次に、本実施の形態例での視差情報の算出処理例について説明する。
図11は、初期視差算出判定処理時の各フレームの画像と予測物体領域の例を示す。
図11に示す3枚の画像80a,80b,80cは、時刻T,T+1,T+2の3つフレームを時系列順に取得した基準画像である。各基準画像80a,80b,80cでは、被写体81の位置が左から右に変化している。
【0061】
ここで、時刻Tの画像80aを取得したとき、それ以前での被写体81の動きから、被写体81の位置を予測した予測物体領域83aが含まれる予測物体情報82aを得る。さらに、時刻T+1の画像80bを取得したとき、それ以前での被写体81の動きから、被写体81の位置を予測した予測物体領域83bが含まれる予測物体情報82bを得る。予測物体情報や予測物体領域の算出方法については、後述する。
【0062】
そして、初期視差算出判定部131では、予測物体領域の大きさが一定以上であれば初期視差を算出しないと判定し、予測物体領域83a,83bの大きさが一定未満であれば初期視差を算出すると判定する。
【0063】
[2−3.予測物体情報を使った視差算出用パラメータの決定処理の例]
図12は、パラメータ調整部132での処理を示すフローチャートである。
パラメータ調整部132は、初期視差算出部112によって算出された視差を含む領域と、予測物体情報記憶部122に記憶された予測物体情報に基づいて、基準画像を予測物体領域に分割する(ステップS10)。そして、パラメータ調整部132は、初期視差算出部112によって算出された初期視差算出領域ごとに、視差算出用パラメータを決定する(ステップS11)。また、パラメータ調整部132は、予測物体情報から取得した予測物体領域に対しても、視差算出用パラメータを決定する(ステップS12)。
【0064】
そして、決定した視差算出パラメータをパラメータ調整結果情報としてパラメータ調整結果情報記憶部123に蓄積し(ステップS13)、パラメータ調整部132は、蓄積したパラメータ値を最終視差算出部114に出力する(ステップS14)。
【0065】
図13は、図12のフローチャートのステップS10の処理により、基準画像82aが領域分割された結果の一例である。画像91では、予測物体領域83aの部分以外の領域90aは、初期視差算出部112により大まかな視差が算出されている。
また、画像92では、初期視差算出部112により視差を計算する際に、背景差分により予め保持した背景画像と入力の撮像画像との間の輝度値に差分があった領域のみ大まかな視差を算出する。このように背景画像と撮像画像の輝度差を利用して予め大まかな視差を算出することで、初期視差算出部5により求める視差値は、領域83a以外の全ての領域ではなく、一部の領域90bのみにすることができる。
【0066】
すなわち、画像92の例のように、背景差分などの前処理を利用することで、視差を算出する範囲をより効率的に限定することができる。
図12のフローチャートのステップS11では、領域ごとに図5のフローチャートのステップS3及びS4の処理を繰り返すことで、視差算出用パラメータを決定することができる。
【0067】
図14は、視差算出用パラメータの決定処理の具体例を示す。
ここでは、図14に示す基準画像103は、現時刻をTとした場合に時刻T−1のフレームにおいて処理された基準画像である。この基準画像103を使って、ステップS13での処理で蓄積される視差算出用パラメータ104が得られる。
視差算出用パラメータ104としては、領域100の始点座標101及び終点座標102が設定され、平均視差値「15」と、探索ウィンドウ23のサイズ及び最大探索幅が設定される。
【0068】
ステップS12では、パラメータ調整部132は、予測物体領域106と、前フレームについてのステップS13での処理により蓄積された視差算出用パラメータの矩形領域107との、重複領域108が存在するか否かを探索する。
そして、パラメータ調整部132は、重複領域108が確認された場合に、予測物体領域106にて使用する視差算出用パラメータを領域107のパラメータ値に決定する。
【0069】
なお、探索に利用する視差算出用パラメータとしては前フレームに蓄積されたものに特に限定はせず、蓄積された全ての視差算出用パラメータを探索対象として利用してもよい。また、ここでは予測物体領域と視差算出用パラメータの対応付け方法として、領域の重複の有無による判定を利用したが、その他の判定を行うようにしてもよい。
例えば、重複領域108の面積が最も多い視差算出用パラメータを対応付ける方法や、予測物体領域と視差算出用パラメータの矩形領域との重心位置が最も近いものを対応付ける方法を適用してもよい。あるいはまた、直近に蓄積された視差算出用パラメータを優先して対応付ける方法や、予め予測物体領域に予想される視差情報などを付随させておくことで平均視差により対応付ける方法を適用してもよい。
【0070】
ステップS13では、ステップS11とステップS12によって決定された視差算出用パラメータを、パラメータ調整結果情報記憶部123に保存する。なお、情報の容量が画像処理装置110′が内部に持つ記憶装置などの容量より多い場合は、最も古く蓄積された視差算出用パラメータを削除する。あるいは、予測物体領域と対応付けられた回数が多い視差算出用パラメータを信頼性が高いものとして判定し、信頼性が低い視差算出用パラメータを削除するようにしてもよい。さらに、座標情報などが類似した視差算出用パラメータは、直近に蓄積されたパラメータのみ残すよういにしてもよい。さらにまた、算出したパラメータの平均値を蓄積して、詳細なパラメータを削除するようにしてもよい。
【0071】
ステップS14では、ステップS11とステップS12によって決定された視差算出用パラメータを最終の視差算出用パラメータとして出力する。
【0072】
物体移動予測部116は、最終視差算出部114によって出力される視差情報から計測対象の3次元情報を取得し、次に取得する撮像画像において計測対象が存在すると予測される画像中の範囲(領域)を出力する。
計測対象が存在すると予測される領域は、物体を追跡して作成した軌跡情報から進行方向や移動幅を推定することで算出することができる。物体追跡は、既に知られた一般的な手法を利用すればよい。例えば、計測対象を人とした場合、3次元情報を解析して人物の頭部を抽出して同一の頭部を追跡すればよい。また、オプティカルフローなどの画像特徴量を解析して追跡するようにしてもよい。また、顔などの情報から推定した人物の身体の向きなどを追跡に利用してもよい。
【0073】
[2−4.第2の実施の形態例の効果・変形例]
以上説明した第2の実施の形態例によると、第1の実施の形態例を超える効果が得られる。すなわち、計測対象が存在する可能性が高い領域に対して過去に使用した視差算出用パラメータから視差を算出することで、より処理負荷の増大を抑制しつつ、物体の認識に必要な精度の視差を効率的に算出することができる。
【0074】
なお、このように過去に使用した視差算出用パラメータを使用する場合には、パラメータの変更履歴情報の中で、信頼性の高いパラメータを抽出して、その抽出したパラメータを使用し、信頼性の低いものは使用しないようにしてもよい。
【0075】
<3.その他の変形例>
なお、本発明は上記した各実施の形態例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施の形態例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態例の構成の一部を他の実施の形態例や変形例の構成に置き換えることが可能であり、また、ある実施の形態例の構成に他の実施の形態例や変形例の構成に置き換えることも可能である。また、実施の形態例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0076】
例えば、パラメータ変更部113が、視差算出用パラメータを変更する際には、ここまで説明した全ての要件を使って視差算出用パラメータを変更してもよい。これに対して、パラメータ変更部113は、過去の計測対象の情報、パラメータの変更履歴情報、処理リソース情報、画像データ情報、及びユーザの設定情報の少なくともいずれか1つ以上を用いて、視差算出用パラメータを変更してもよい。
【0077】
また、パラメータ変更部により変更される視差算出用のパラメータとしては、ブロックマッチングのウィンドウサイズ、最大探索幅、視差算出領域の3つを示した。これに対して、ブロックマッチングのウィンドウサイズ、最大探索幅、視差算出領域の少なくとも1つのパラメータだけを変更するようにしてもよい。あるいは、その他のパラメータと組み合わせるようにしてもよい。
【0078】
また、上述した各実施の形態例では、初期視差算出部112と最終視差算出部114の2つの視差算出部で視差算出処理工程を行うようにした。これに対して、画像処理装置110又は110′が、1つの視差算出部だけを備えるようして、その1つの視差算出部の切り替えで、初期視差算出処理工程と最終視差算出処理工程の双方を行うようにしてもよい。
また、初期視差算出と最終視差算出の2つの視差算出処理は、同じ画像に対して施すのが好ましいが、あるフレームの画像から初期視差算出処理で得た結果で、次以降のフレームの画像に対して最終視差算出処理を行うようにしてもよい。
【0079】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能などは、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【0080】
100,100′…画像処理システム、101L,101R…カメラ、110,110′…画像処理装置、111a,111b…画像取得部、112…初期視差算出部、113…パラメータ変更部、114…最終視差算出部、115…視差出力部、116…物体移動予測部、121…視差算出用パラメータ記憶部、122…予測物体情報記憶部、123…パラメータ調整結果情報記憶部、131…初期視差算出判定部、132…パラメータ調整部、C…コンピュータ装置、C1…CPU、C2…ROM、C3…RAM、C4…バスライン、C5…不揮発性ストレージ、C6…入出力部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14