特許第6223899号(P6223899)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 株式会社東芝の特許一覧

特許6223899動きベクトル検出装置、距離検出装置および動きベクトル検出方法
<>
  • 特許6223899-動きベクトル検出装置、距離検出装置および動きベクトル検出方法 図000011
  • 特許6223899-動きベクトル検出装置、距離検出装置および動きベクトル検出方法 図000012
  • 特許6223899-動きベクトル検出装置、距離検出装置および動きベクトル検出方法 図000013
  • 特許6223899-動きベクトル検出装置、距離検出装置および動きベクトル検出方法 図000014
  • 特許6223899-動きベクトル検出装置、距離検出装置および動きベクトル検出方法 図000015
  • 特許6223899-動きベクトル検出装置、距離検出装置および動きベクトル検出方法 図000016
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6223899
(24)【登録日】2017年10月13日
(45)【発行日】2017年11月1日
(54)【発明の名称】動きベクトル検出装置、距離検出装置および動きベクトル検出方法
(51)【国際特許分類】
   G06T 7/207 20170101AFI20171023BHJP
   G06T 7/269 20170101ALI20171023BHJP
   H04N 19/53 20140101ALI20171023BHJP
【FI】
   G06T7/207
   G06T7/269
   H04N19/53
【請求項の数】10
【全頁数】15
(21)【出願番号】特願2014-90111(P2014-90111)
(22)【出願日】2014年4月24日
(65)【公開番号】特開2015-210562(P2015-210562A)
(43)【公開日】2015年11月24日
【審査請求日】2016年9月12日
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】110002147
【氏名又は名称】特許業務法人酒井国際特許事務所
(72)【発明者】
【氏名】山本 琢麿
(72)【発明者】
【氏名】三島 直
【審査官】 佐田 宏史
(56)【参考文献】
【文献】 特開平8−265778(JP,A)
【文献】 特開2005−128619(JP,A)
【文献】 高林 将範、外2名,“勾配法に基づく動きベクトル検出の高速化”,映像情報メディア学会技術報告,日本,(社)映像情報メディア学会,2001年 9月14日,Vol.25, No.59,pp.1-6
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00−7/90
H04N 19/53
(57)【特許請求の範囲】
【請求項1】
所定の解像度である注目解像度の第1入力画像におけるブロック毎に、前記注目解像度の第2入力画像と相関が高い領域を探索して、前記注目解像度の動きベクトルの集合である第1フローを生成する探索部と、
前記注目解像度より低い解像度の動きベクトルの集合を高解像度化して、前記注目解像度の動きベクトルの集合である第2フローを生成する解像度変換部と、
勾配法の評価関数を最適化するように前記第1フローに含まれる動きベクトルおよび前記第2フローに含まれる動きベクトルを組み合わせて、前記注目解像度の動きベクトルの集合である第3フローを生成する合成部と、
前記第3フローが初期値として設定された勾配法の評価関数を最適化して、前記注目解像度の動きベクトルの集合を生成する修正部と、
を備える動きベクトル検出装置。
【請求項2】
解像度が異なる複数の前記第1入力画像と、複数の前記第1入力画像と同一の解像度の複数の前記第2入力画像とを出力する階層化部をさらに備え、
前記探索部、前記解像度変換部、前記合成部および前記修正部は、複数の前記第1入力画像における最も低い解像度から最も高い解像度までを順次に前記注目解像度として選択して、解像度毎に処理を実行し、
前記解像度変換部は、前記注目解像度より1階層低い解像度の動きベクトルの集合を前記修正部から取得して、前記注目解像度の前記第2フローを生成する
請求項1に記載の動きベクトル検出装置。
【請求項3】
前記解像度変換部は、最も低い解像度において処理を実行せず、
前記合成部は、最も低い解像度において、前記第1フローを前記第3フローとして出力する
請求項2に記載の動きベクトル検出装置。
【請求項4】
前記探索部は、最も低い解像度において、動きベクトルが全て0の前記第1フローを出力し、
前記修正部は、動きベクトルが全て0の前記第3フローを初期値として設定された勾配法の評価関数を最適化する
請求項3に記載の動きベクトル検出装置。
【請求項5】
前記合成部は、算出すべき動きベクトルの集合により補正した後の前記第1入力画像から、前記第2入力画像を減じた画像に応じた第1評価値と、算出すべき動きベクトルの集合の勾配に応じた第2評価値とを加算する評価関数を最小化して、前記第3フローを生成する
請求項1から4の何れか1項に記載の動きベクトル検出装置。
【請求項6】
前記修正部は、算出すべき動きベクトルの集合により補正した後の前記第2入力画像から、前記第1入力画像を減じた画像に応じた第1評価値と、算出すべき動きベクトルの集合の勾配に応じた第2評価値とを加算する評価関数を最小化して、前記注目解像度の動きベクトルの集合を生成する
請求項1から5の何れか1項に記載の動きベクトル検出装置。
【請求項7】
前記修正部は、前記第1評価値および前記第2評価値の少なくとも一方の算出式にL1ノルムを含む前記評価関数を用いる
請求項6に記載の動きベクトル検出装置。
【請求項8】
前記探索部は、処理対象のブロックの周辺において検出済みの動きベクトル、前記第1入力画像および前記第2入力画像よりも時間的に過去または未来の画像において検出済みの動きベクトル、または、前記注目解像度より低い解像度の処理において検出済みの動きベクトルのうち何れか1つから計算される動きベクトルを、前記処理対象のブロックの動きベクトルとして検出する
請求項1から7の何れか1項に記載の動きベクトル検出装置。
【請求項9】
異なる位置から同一の被写体を撮像した2つの画像間の動きベクトルを検出する、請求項1に記載の動きベクトル検出装置と、
前記動きベクトル検出装置により検出された前記動きベクトルに基づき、前記被写体までの距離を算出する距離算出部と、
を備える距離検出装置。
【請求項10】
所定の解像度である注目解像度の第1入力画像におけるブロック毎に、前記注目解像度の第2入力画像と相関が高い領域を探索して、前記注目解像度の動きベクトルの集合である第1フローを生成する探索ステップと、
前記注目解像度より低い解像度の動きベクトルの集合を高解像度化して、前記注目解像度の動きベクトルの集合である第2フローを生成する解像度変換ステップと、
勾配法の評価関数を最適化するように前記第1フローに含まれる動きベクトルおよび前記第2フローに含まれる動きベクトルを組み合わせて、前記注目解像度の動きベクトルの集合である第3フローを生成する合成ステップと、
前記第3フローが初期値として設定された勾配法の評価関数を最適化して、前記注目解像度の動きベクトルの集合を生成する修正ステップと、
を実行する動きベクトル検出方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、動きベクトル検出装置、距離検出装置および動きベクトル検出方法に関する。
【背景技術】
【0002】
従来より、動きベクトルの検出方法として、ブロックマッチングベースの方法と、勾配法ベースの方法とが知られている。ブロックマッチングベースの方法では、例えば、基準画像内のブロック毎に対象画像における画素の最も相関の高い領域を探索して、ブロック毎の動きベクトルを検出する。ブロックマッチングベースの方法は、比較的に大きな動きを安定して検出することができるが、画素毎に動きベクトルを検出できなかった。
【0003】
勾配法ベースの方法では、勾配法の評価関数を最小化するような動きベクトルを算出する。勾配法ベースの方法は、画素毎に動きベクトルを検出できるが、大きな動きを検出することができなかった。
【0004】
また、勾配法ベースの方法の欠点を補う方法として、ブロックマッチングベースの方法で算出した動きベクトルが初期値として設定された評価関数を用いて、勾配法ベースの動きベクトルを算出する方法も知られている。しかしながら、勾配法ベースの方法では、一定以上の大きな動きを検出できない。従って、この方法では、ブロックマッチングベースの方法により検出した動きベクトルを微修正しかできない。このため、1つのブロック内に一定以上の大きな動きの変化が含まれていた場合、この方法では、ブロック内の動きの変化が潰れてしまい、精度良く動きベクトルが検出できなかった。
【0005】
また、低解像度の画像から高解像度の画像へと段階的に動きベクトルを検出していく階層探索において、ブロックマッチングベースの方法で算出した動きベクトルが初期値として設定された評価関数を用いて、勾配法ベースの動きベクトルを算出する方法も知られている。この方法では、1つ低い解像度の階層での処理結果を、ブロックマッチングベースの方法での動きベクトルの探索の初期値として用いる。しかしながら、この方法では、1つ低い解像度の階層において誤検出をしていた場合、次の階層で誤りを修正することが困難であった。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】国際公開第2011/074121号
【特許文献2】特開平8−265778号公報
【非特許文献】
【0007】
【非特許文献1】B.Horn and B.Schunck, “Determining optical flow”, Artificial Intelligence, 16:185-203, Aug.1981
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明が解決しようとする課題は、画素単位で精度良く動きベクトルを検出し、さらに低い解像度の動きベクトルの誤りが発生しても正しい動きベクトルを検出することにある。
【課題を解決するための手段】
【0009】
実施形態の動きベクトル検出装置は、探索部と、解像度変換部と、合成部と、修正部とを備える。前記探索部は、所定の解像度である注目解像度の第1入力画像におけるブロック毎に、前記注目解像度の第2入力画像と相関が高い領域を探索して、前記注目解像度の動きベクトルの集合である第1フローを生成する。前記解像度変換部は、前記注目解像度より低い解像度の動きベクトルの集合を高解像度化して、前記注目解像度の動きベクトルの集合である第2フローを生成する。前記合成部は、勾配法の評価関数を最適化するように前記第1フローに含まれる動きベクトルおよび前記第2フローに含まれる動きベクトルを組み合わせて、前記注目解像度の動きベクトルの集合である第3フローを生成する。前記修正部は、前記第3フローが初期値として設定された勾配法の評価関数を最適化して、前記注目解像度の動きベクトルの集合を生成する。
【図面の簡単な説明】
【0010】
図1】実施形態に係る動きベクトル検出装置を示す図。
図2】実施形態に係る動きベクトル検出装置の処理の流れを示す図。
図3】各ステップでの動きベクトルの集合を示す図。
図4】画像補間装置を示す図。
図5】距離検出装置を示す図。
図6】実施形態に係る動きベクトル検出装置のハードウェア構成を示す図。
【発明を実施するための形態】
【0011】
以下、図面を参照しながら実施形態に係る動きベクトル検出装置について詳細に説明する。本実施形態に係る動きベクトル検出装置は、画素単位で精度良く動きベクトルを検出し、さらに低い解像度の動きベクトルの誤りが発生しても正しい動きベクトルを検出することを目的としている。
【0012】
図1は、実施形態に係る動きベクトル検出装置10を示す図である。動きベクトル検出装置10は、階層化部21と、探索部22と、解像度変換部23と、合成部24と、修正部25とを備える。
【0013】
階層化部21は、第1被写体画像および第2被写体画像を取得する。第1被写体画像および第2被写体画像は、時間的に異なるタイミングで撮像された2つの画像、または、異なる位置から同一の被写体を撮像した2つの画像等であってよい。より具体的には、第1被写体画像および第2被写体画像は、動画像データの連続するフレーム等、または、ステレオカメラ等により撮像されたステレオ画像等であってよい。
【0014】
階層化部21は、第1被写体画像を、解像度が異なる複数の第1入力画像に変換する。階層化部21は、第1被写体画像に対して、ガウシアンフィルタとサブサンプリングを繰り返して、解像度が異なる複数の第1入力画像を生成してよい。階層化部21は、ガウシアンフィルタに代えて、平均値フィルタ等のぼかしフィルタを用いてもよい。また、階層化部21は、サブサンプリングに代えて、線形補間またはバイキュービック補間等の補間処理をして画像を縮小してもよい。なお、階層化部21は、最も解像度が高い第1入力画像を、第1被写体画像としてもよい。
【0015】
また、階層化部21は、第2被写体画像を、複数の第1入力画像と同一の解像度の複数の第2入力画像に変換する。階層化部21は、複数の第1入力画像を生成する方法と同一の方法で、複数の第2入力画像を生成してよい。そして、階層化部21は、複数の第1入力画像および複数の第2入力画像を、探索部22、合成部24および修正部25へと出力する。
【0016】
探索部22、解像度変換部23、合成部24および修正部25は、複数の第1入力画像(および複数の第2入力画像)における最も低い解像度から最も高い解像度までを順次に注目解像度として選択して、解像度毎に処理を実行する。
【0017】
探索部22は、階層化部21から、注目解像度の第1入力画像および注目解像度の第2入力画像を入力する。探索部22は、注目解像度の第1入力画像におけるブロック毎に、注目解像度の第2入力画像と相関が高い領域を探索して、注目解像度の動きベクトルの集合である第1フローを生成する。
【0018】
探索部22は、テンプレートマッチングにより第1フローを生成してよい。すなわち、探索部22は、ブロックの画素値のパターンの相関、または、ブロック内の画素値に基づき算出される特徴量の相関を検出してよい。ブロックの画素値のパターンの相関を検出して、動きベクトルを検出する方法は、ブロックマッチングによる動きベクトルの探索方法に相当する。
【0019】
ブロック内の画素値に基づき算出される特徴量は、一例として、SIFT(Scale-Invariant Feature Transform)特徴量またはHOG(Histograms of Oriented Gradients)特徴量等である。このような特徴量に限らず、他の画像特徴量であってもよい。
【0020】
また、ブロックは、どのような大きさおよび形状であってもよい。ブロックは、例えば画像全体であってもよい。ブロックが画像全体である場合、探索部22は、画像全体の動き、すなわち、グローバルモーションを検出する。
【0021】
また、探索部22は、処理対象のブロックの周辺において検出済みの動きベクトル、第1入力画像および第2入力画像よりも時間的に過去または未来の画像において検出済みの動きベクトル、または、注目解像度より低い解像度の処理において検出済みの動きベクトルのうち何れか1つから計算される動きベクトルを、処理対象のブロックの動きベクトルとして検出してもよい。
【0022】
探索部22は、これらの検出済みの動きベクトルから何れか1つの動きベクトルを検出する場合には、例えば、過去に検出済みの動きベクトルをメモリ等に保存しておき、予め定められたアルゴリズムで最適な動きベクトルを選択し、選択した動きベクトルをその処理対象のブロックの動きベクトルとする。なお、検出済みの動きベクトルの中から最適な動きベクトルを選択する方法は、例えば、特許第3147893号公報および国際公開第2011/074121号に記載されている。なお、探索部22は、最も低い解像度において、すなわち、注目解像度が最も低い解像度である場合、動きベクトルが全て0の第1フローを出力してもよい。
【0023】
解像度変換部23は、注目解像度より1階層低い解像度の動きベクトルの集合を修正部25から取得する。そして、解像度変換部23は、取得した注目解像度より1階層低い解像度の動きベクトルの集合を高解像度化して、注目解像度の動きベクトルの集合である第2フローを生成する。なお、解像度変換部23は、最も低い解像度において、すなわち、注目解像度が最も低い解像度である場合、処理を実行しない。
【0024】
より具体的には、まず、解像度変換部23は、1階層低い解像度の動きベクトルの集合を、注目解像度と同一の解像度となるように補間する。解像度変換部23は、線形補間またはバイキュービック補間等により動きベクトルを補間してよい。
【0025】
続いて、解像度変換部23は、それぞれの動きベクトルの大きさを、予め定められた拡大比率で拡大する。例えば、拡大率をkとし、1階層低い解像度の動きベクトルの集合を補間した後の動きベクトルの集合をw^expandとした場合、解像度変換部23は、下記の式(1)を算出して、第2フロー(wexpand)を生成する。
【数1】
【0026】
ここで、拡大率kは、変換前の動きベクトルの集合の解像度に対する、変換後の動きベクトルの集合の解像度(注目解像度)の比率である。例えば、変換前の動きベクトルの集合の解像度が10×10dpiであり、注目解像度が30×30dpiであれば、拡大率kは、30/10=3となる。なお、解像度変換部23は、拡大処理をした後に、補間処理を実行してもよい。
【0027】
合成部24は、探索部22から注目解像度の第1フローを入力し、解像度変換部23から注目解像度の第2フローを入力する。さらに、合成部24は、階層化部21から、注目解像度の第1入力画像および注目解像度の第2入力画像を入力する。そして、合成部24は、勾配法の評価関数を最適化するように第1フローに含まれる動きベクトルおよび第2フローに含まれる動きベクトルを組み合わせて、注目解像度の動きベクトルの集合である第3フローを生成する。なお、合成部24は、最も低い解像度において、すなわち、注目解像度が最も低い解像度である場合、第1フローを第3フローとして出力する。
【0028】
合成部24は、一例として、算出すべき動きベクトルの集合により補正した後の第1入力画像から、第2入力画像を減じた画像に応じた第1評価値と、算出すべき動きベクトルの集合の勾配に応じた第2評価値とを加算する評価関数を最小化して、第3フローを生成してよい。この場合、合成部24は、第1評価値および第2評価値の少なくとも一方の算出式にL1ノルムを含む評価関数を用いてよい。なお、合成部24において用いられる評価関数についての詳細は後述する。
【0029】
修正部25は、合成部24から注目解像度の第3フローを入力する。さらに、修正部25は、階層化部21から、注目解像度の第1入力画像および注目解像度の第2入力画像を入力する。そして、修正部25は、第3フローが初期値として設定された勾配法の評価関数を最適化して、注目解像度の動きベクトルの集合を生成する。
【0030】
修正部25は、一例として、算出すべき動きベクトルの集合により補正した後の第2入力画像から、第1入力画像を減じた画像に応じた第1評価値と、算出すべき動きベクトルの集合の勾配に応じた第2評価値とを加算する評価関数を最小化して、注目解像度の動きベクトルの集合を生成してよい。この場合、修正部25は、第1評価値および第2評価値の少なくとも一方の算出式にL1ノルムを含む評価関数を用いてよい。なお、修正部25において用いられる評価関数についての詳細は後述する。
【0031】
修正部25は、最も高い解像度の処理以外の処理において、すなわち、注目解像度が最も高い解像度ではない場合、生成した動きベクトルの集合を解像度変換部23へと出力する。そして、修正部25は、最も高い解像度の処理において、すなわち、注目解像度が最も高い解像度である場合、生成した動きベクトルの集合を外部へと出力する。
【0032】
図2は、実施形態に係る動きベクトル検出装置10の処理の流れを示す図である。図3は、各ステップでの動きベクトルの集合を示す図である。
【0033】
まず、S11において、階層化部21は、第1被写体画像および第2被写体画像を取得する。続いて、S12において、階層化部21は、第1被写体画像から、解像度が異なる複数の第1入力画像を生成する。続いて、S13において、階層化部21は、第2被写体画像から、解像度が異なる複数の第2入力画像を生成する。
【0034】
続いて、動きベクトル検出装置10は、複数の第1入力画像(および複数の第2入力画像)における最も低い解像度から最も高い解像度までを順次に注目解像度として選択して、S15からS18までの処理を、解像度毎に繰り返して実行する(S14とS19との間のループ)。なお、S14とS19との間のループ内の各ステップについては、図3も参照しながら、所定の解像度(注目解像度)に対する処理を説明する。
【0035】
S15において、探索部22は、注目解像度の第1入力画像(I)におけるブロック毎に、注目解像度の第2入力画像(I)と相関が高い領域を探索して、注目解像度の動きベクトルの集合である第1フロー(Wsearch)を生成する。
【0036】
続いて、S16において、解像度変換部23は、注目解像度より1階層低い解像度の動きベクトルの集合(Wh−1)を高解像度化して、注目解像度の動きベクトルの集合である第2フロー(Wexpand)を生成する。ここで、注目解像度より1階層低い解像度の動きベクトルの集合(Wh−1)は、1ループ前のS18において得られた動きベクトルの集合である。また、解像度変換部23は、最も低い解像度において、すなわち、最初のループにおいて、S16の処理を実行しない。
【0037】
続いて、S17において、合成部24は、勾配法の評価関数を最適化するように第1フロー(Wsearch)に含まれる動きベクトルおよび第2フロー(Wexpand)に含まれる動きベクトルを組み合わせて、注目解像度の動きベクトルの集合である第3フロー(W)を生成する。合成部24は、最も低い解像度において、すなわち、最初のループにおいて、注目解像度の第1フロー(Wsearch)をそのまま、注目解像度の第3フロー(W)として出力する。
【0038】
続いて、S18において、修正部25は、第3フロー(W)が初期値として設定された勾配法の評価関数を最適化して、注目解像度の動きベクトルの集合(W)を生成する。
【0039】
続いて、S19において、動きベクトル検出装置10は、最も高い解像度の処理以外の処理において、処理をS15に戻して、1つ高い解像度の階層について処理を実行させる。動きベクトル検出装置10は、最も高い解像度までの処理が終了すると、処理をS20に進める。
【0040】
そして、S20において、動きベクトル検出装置10は、最も高い解像度の動きベクトルの集合(W)を外部へと出力する。
【0041】
なお、探索部22は、最も低い解像度において、すなわち、最初のループにおいて、動きベクトルが全て0の第1フローを出力してもよい。この場合、修正部25は、動きベクトルが全て0の第3フローを初期値として設定された勾配法の評価関数を最適化する。これにより、動きベクトル検出装置10は、第1入力画像および第2入力画像の解像度が低く十分に画像全体の動きを勾配法による動き検出でカバーできる場合には、探索部22による動きベクトルの検出処理を省略して処理を簡単にすることができる。
【0042】
つぎに、合成部24(S17)において用いられる評価関数、および、この評価関数を最適化する方法について説明する。合成部24は、下記の式(2)に示される勾配法の評価関数E(w)を最小化するように、第1フロー(Wsearch)に含まれる動きベクトルおよび第2フロー(Wexpand)に含まれる動きベクトルを画素単位で組み合わせて、注目解像度の動きベクトルの集合である第3フロー(W)を生成する。
【数2】
【0043】
なお、式(2)において、wは、下記の式(3)に示されるように、第1フロー(Wsearch)または第2フロー(Wexpand)の何れか一方の動きベクトルが、画素単位で選択された動きベクトルの集合(フロー)を表す。
【数3】
【0044】
また、式(2)において、Ωは、画像に含まれる各画素の位置ベクトルの集合を表す。
【0045】
また、式(2)において、I(p+w)は、算出すべき動きベクトルの集合(w)により補正した後の第1入力画像を表す。式(2)において、I(p)は、第2入力画像を表す。従って、式(2)において、(I(p+w)−I(p))は、算出すべき動きベクトルの集合(w)で補正した後の第1入力画像から、第2入力画像を減じた差分画像を表す。
【0046】
式(2)において、Ψ()およびΨ()は、差分値を、コストを表すスカラー値に変換するコスト関数である。Ψ()およびΨ()は、一例として、L1ノルムであってよい。また、Ψ()およびΨ()は、L2ノルムであってもよいし、Charbonnier関数等のロバスト関数であってもよい。なお、Ψ()とΨ()とは、互いに異なる関数であってよい。式(2)において、αは、設計者により任意に設定されるパラメータである。
【0047】
従って、式(2)において、Ψ(I(p+w)−I(p))は、算出すべき動きベクトルの集合(w)で補正した後の第1入力画像から、第2入力画像を減じた差分画像を、コスト関数Ψ()によりスカラー化した値(第1評価値)を表す。また、式(2)において、αΨ(∇w)は、算出すべき動きベクトルの集合の勾配を、コスト関数Ψ()によりスカラー化した値(第2評価値)を表す。
【0048】
従って、式(2)の評価関数E(w)は、第1評価値と第2評価置とを加算した値を、全ての画素について加算した値を表している。
【0049】
合成部24は、このような評価関数E(w)が最小となるように、第1フロー(Wsearch)の動きベクトルおよび第2フロー(Wexpand)の動きベクトルを組み合わせる。このような評価関数E(w)を最小化する問題は、いわゆるラベル決定問題となる。従って、合成部24は、例えばグラフカット法または確率伝搬法等を用いて、評価関数E(w)を最小化するような動きベクトルの集合(フロー)を算出することができる。
【0050】
つぎに、修正部25(S18)において用いられる評価関数、および、この評価関数を最適化する方法について説明する。修正部25は、第3フロー(W)が初期値として設定された、下記の式(4)に示される勾配法の評価関数を最小化するように、注目解像度の動きベクトルの集合(W)を生成する。
【数4】
【0051】
式(4)において、wは、[u,v]で表される。u,vは、ベクトルの要素を表す。
【0052】
また、式(4)において、Ω、Ψ()、Ψ()およびαは、式(2)と同様である。ただし、Ψ()、Ψ()およびαは、式(2)と異なる関数または値であってもよい。
【0053】
また、式(4)において、I(p+w)は、算出すべき動きベクトルの集合(w)により補正した後の第2入力画像を表す。式(4)において、I(p)は、第1入力画像を表す。従って、式(4)において、{I(p+w)−I(p)}は、算出すべき動きベクトルの集合(w)により補正した後の第2入力画像から、第1入力画像を減じた差分画像を表す。
【0054】
すなわち、式(4)において、Ψ(I(p+w)−I(p))は、算出すべき動きベクトルの集合(w)で補正した後の第2入力画像から、第1入力画像を減じた差分画像を、コスト関数Ψ()によりスカラー化した値(第1評価値)を表す。また、式(4)において、αΨ(∇w)は、算出すべき動きベクトルの集合の勾配を、コスト関数Ψ()によりスカラー化した値(第2評価値)を表す。
【0055】
ここで、式(4)は、非凸関数であり、簡単に最小値を得ることができない。そこで、動きベクトルを、固定値wと、微小増分dw(=[du,dv])との式に分解すると、式(4)は、下記の式(5)のように変形される。
【数5】
【0056】
式(5)の第1項は非線形関数である。従って、式(5)の第1項をテーラー展開して、2次項以降を削除した式に置き換えると、下記の式(6)となる。
【数6】
【0057】
式(6)のI(p),I(p),I(p)は、下記の式(7−1)、式(7−2)および式(7−3)のように表される。
【数7】
【0058】
式(6)は、凸関数である。従って、修正部25は、第3フロー(W)を初期値として式(6)に代入して、∂E/∂w=0を解けば、評価関数の最小値を得ることができる。より具体的には、式(6)は連立1次方程式となるので、修正部25は、例えば、SOR(Successive Over Relaxation)法または共役勾配法等を用いて、∂E/∂w=0を解き、評価関数の最小値を得ることができる。
【0059】
以上のように、本実施形態に係る動きベクトル検出装置10は、勾配法を用いて動きベクトルを検出する。従って、動きベクトル検出装置10によれば、動きベクトルを画素毎に精度良く検出することができる。
【0060】
さらに、動きベクトル検出装置10は、テンプレートマッチングにより検出した動きベクトルの集合を勾配法の評価関数の初期値として用いる。従って、動きベクトル検出装置10によれば、勾配法により検出可能な範囲より大きな動きベクトルを検出することができる。
【0061】
また、さらに、動きベクトル検出装置10は、テンプレートマッチングにより検出した動きベクトルの集合(第1フロー)と、1階層低い解像度において検出した動きベクトルの集合を高解像度化した動きベクトルの集合(第2フロー)とを、勾配法の評価関数が最適となるように合成する。そして、動きベクトル検出装置10は、合成した動きベクトルの集合(第3フロー)を勾配法の評価関数の初期値として用いる。
【0062】
これにより、動きベクトル検出装置10は、1階層低い解像度の動きベクトルの集合に誤った動きベクトルが含まれている場合であっても、その誤った動きベクトルをテンプレートマッチングにより検出した動きベクトルにより置き換えることができる。従って、動きベクトル検出装置10によれば、低い解像度の動きベクトルの誤りが発生しても正しい動きベクトルを検出することができる。
【0063】
図4は、実施形態に係る動きベクトル検出装置10が適用された画像補間装置40を示す図である。動きベクトル検出装置10は、例えば、テレビジョン映像等の動画像データのフレームを補間する画像補間装置40に適用することができる。
【0064】
画像補間装置40は、動きベクトル検出装置10と、補間部41とを備える。本例において、動きベクトル検出装置10は、動画像データを入力して、連続する2つの画像の間の動きベクトルを検出する。より具体的には、動きベクトル検出装置10は、ある時刻tのフレーム(画像)Iと、次の時刻t+1のフレーム(画像)It+1との間の動きベクトルの集合wを検出する。
【0065】
補間部41は、動きベクトル検出装置10により検出された動きベクトルの集合を用いて2つの画像間を補間して、新たな画像を生成する。本例においては、補間部41は、動画像データを入力して、動きベクトル検出装置10により生成された動きベクトルの集合wを用いて連続する2つのフレームを補間して新たなフレームを生成する。そして、補間部41は、生成した新たなフレームを、動画像データにおける連続する2つのフレームの間に挿入して、高レート化された動画像データを出力する。
【0066】
より具体的には、補間部41は、ある時刻tのフレームIと、次の時刻t+1のフレームIt+1とのフレーム間に挿入すべき、時刻t+0.5のフレームIt+0.5を生成する。補間部41は、フレームIt+0.5の各画素の値I´(p)を下記の式(8)により生成する。
【数8】
【0067】
なお、式(8)において、W´()の定義は下記の式(9)に示す通りである。
【数9】
【0068】
図5は、実施形態に係る動きベクトル検出装置10が適用された距離検出装置50を示す図である。動きベクトル検出装置10は、例えば、物体までの距離を検出する距離検出装置50に適用することができる。
【0069】
距離検出装置50は、右側カメラ51と、左側カメラ52と、動きベクトル検出装置10と、距離算出部53とを備える。
【0070】
右側カメラ51と左側カメラ52とは、水平方向に予め定められた距離(基線長)離れた位置に配置される。右側カメラ51および左側カメラ52は、同一の被写体に対して焦点を合わせて被写体を撮像する。
【0071】
動きベクトル検出装置10は、右側カメラ51により撮像された画像および左側カメラ52により撮像された画像を、第1被写体画像および第2被写体画像として入力して、被写体の動きベクトルを検出する。
【0072】
距離算出部53は、動きベクトル検出装置10により検出された動きベクトルの集合に基づき、被写体までの距離を算出する。より具体的には、距離算出部53は、基線長および動きベクトルの長さ等に基づき、三角測量の原理を用いて、撮像位置から被写体までの距離を算出する。そして、距離算出部53は、算出した距離を表す距離情報を出力する。
【0073】
図6は、動きベクトル検出装置10のハードウェア構成を示す図である。動きベクトル検出装置10は、CPU(Central Processing Unit)201と、操作部202と、表示部203と、ROM(Read Only Memory)204と、RAM(Random Access Memory)205と、記憶部206とを備える。これらの各部は、バス210により接続される。
【0074】
CPU201は、プログラムに従って演算処理および制御処理等を実行するプロセッサである。CPU201は、RAM205の所定領域を作業領域としてROM204または記憶部206に予め記憶された各種プログラムとの協働により各種処理を実行し、動きベクトル検出装置10を構成する階層化部21、探索部22、解像度変換部23、合成部24および修正部25の機能を実装させる。
【0075】
操作部202は、マウスやキーボード等の入力デバイスであって、ユーザから操作入力された情報を指示信号として受け付け、その指示信号をCPU201に出力する。
【0076】
表示部203は、LCD(Liquid Crystal Display)等の表示装置である。表示部203は、CPU201からの表示信号に基づいて、各種情報を表示する。例えば、表示部203は、動きベクトル検出装置10が出力する動きベクトルを表示してよい。
【0077】
ROM204は、動きベクトル検出装置10の制御に用いられるプログラムおよび各種設定情報等を書き換え不可能に記憶する。RAM205は、SDRAM(Synchronous Dynamic Random Access Memory)等の揮発性の記憶媒体である。RAM205は、CPU201の作業領域として機能する。具体的には、動きベクトル検出装置10が用いる各種変数およびパラメータ等を一時記憶するバッファ等として機能する。
【0078】
記憶部206は、フラッシュメモリ等の半導体による記憶媒体、磁気的または光学的に記録可能な記憶媒体等の書き換え可能な記録装置である。記憶部206は、動きベクトル検出装置10の制御に用いられるプログラムおよび各種設定情報等を記憶する。また、記憶部206は、例えば、操作部202および通信装置等を介して取得された画像信号等のデータを記憶する。
【0079】
なお、動きベクトル検出装置10は、このような構成に限らず、階層化部21、探索部22、解像度変換部23、合成部24および修正部25の少なくとも一部をハードウェア回路(例えば半導体集積回路)により実装する構成であってもよい。
【0080】
また、本実施形態の動きベクトル検出装置10で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、フレキシブルディスク、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【0081】
また、本実施形態の動きベクトル検出装置10で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態の動きベクトル検出装置10で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。また、本実施形態の動きベクトル検出装置10で実行されるプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
【0082】
本実施形態の動きベクトル検出装置10で実行されるプログラムは、上述した動きベクトル検出装置10の各部(階層化部21、探索部22、解像度変換部23、合成部24および修正部25)を含むモジュール構成となっており、CPU201(プロセッサ)が記憶媒体等からプログラムを読み出して実行することにより上記各部がRAM205上にロードされ、動きベクトル検出装置10(階層化部21、探索部22、解像度変換部23、合成部24および修正部25)がRAM205上に生成されるようになっている。
【0083】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0084】
10 動きベクトル検出装置
21 階層化部
22 探索部
23 解像度変換部
24 合成部
25 修正部
40 画像補間装置
41 補間部
50 距離検出装置
51 右側カメラ
52 左側カメラ
53 距離算出部
201 CPU
202 操作部
203 表示部
204 ROM
205 RAM
206 記憶部
210 バス
図1
図2
図3
図4
図5
図6