JP2001084372A - 画像処理方法及び装置 - Google Patents

画像処理方法及び装置

Info

Publication number
JP2001084372A
JP2001084372A JP25579599A JP25579599A JP2001084372A JP 2001084372 A JP2001084372 A JP 2001084372A JP 25579599 A JP25579599 A JP 25579599A JP 25579599 A JP25579599 A JP 25579599A JP 2001084372 A JP2001084372 A JP 2001084372A
Authority
JP
Japan
Prior art keywords
value
correlation
image
area
correlation operation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP25579599A
Other languages
English (en)
Inventor
Satoshi Kagami
聡 加賀美
Masayuki Inaba
雅幸 稲葉
Hironobu Inoue
博允 井上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Tokyo NUC
Original Assignee
University of Tokyo NUC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Tokyo NUC filed Critical University of Tokyo NUC
Priority to JP25579599A priority Critical patent/JP2001084372A/ja
Publication of JP2001084372A publication Critical patent/JP2001084372A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Analysis (AREA)

Abstract

(57)【要約】 【課題】二次元再帰相関演算によるアルゴリズムの効率
化を図ることにより、安価な汎用の計算機(CPU)で
も実時間での相関演算を可能とする。 【解決手段】第1、第2画像間の相関を判断する相関演
算のため、第1画像の小領域101を第2画像の探索範
囲201内において対応させて画素を一部ずらしながら
順次移動し、各移動位置で対応する画素の相関演算を行
う際、前回と今回でオーバーラップする領域(2、3、
4)の相関演算値は、相関演算の冗長性を除くために、
前回の値をそのまま共通値として用い、今回新たに加わ
った領域(5)の相関演算値を共通値に足し込み、今回
非オーバーラップとなった領域(1)の相関演算値は切
り捨てる処理を行い、各位置の相関演算値から前記小領
域が前記探索範囲内で類似している領域を検出する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、例えばロボット
の視覚システム、画像データの圧縮システム、ヒューマ
ンインターフェース等に用いて有効な画像処理方法及び
装置に関するものであり、特に二次元再帰相関演算によ
る実時間オプティカルフロー計算方法に特徴を有する。
【0002】
【従来の技術】実世界で自律的に行動するロボットにと
って、環境や自己の動きを知覚できるオプティカルフロ
ーは、認識と行動のために本質的に重要である。特に小
さな動きや動いている対象物の形状までを検出可能にす
るためには、密度の高いオプティカルフロー生成を高速
で行えるシステムが要望される。オプティカルフローを
実時間で得ることができれば、より上位の認識処理を行
いながら行動するロボットを実現することが可能であ
る。
【0003】
【発明が解決しようとする課題】しかし従来の画像処理
装置によると、演算方法が複雑であるため、高速化する
ために装置自体が大型化すること、また、独自に開発し
たハードウエアを搭載する方式にすると非常に高価にな
ってしまうという問題がある。
【0004】そこでこの発明では、二次元再帰相関演算
によるアルゴリズムの効率化を図ることにより、安価な
汎用の計算機(CPU)でも実時間での相関演算を行う
ことができる画像処理方法及び装置を提供することを目
的とする。
【0005】
【課題を解決するための手段】この発明は、上記の目的
を達成するために、第1、第2画像間の相関を判断する
相関演算のために、第1画像の小領域を、第2画像の探
索範囲内に対応させて画素を一部ずらしながら順次移動
させて、各移動位置で対応する画素を用いた相関演算を
行う際に、前回と今回の移動位置間で、オーバーラップ
する領域の相関演算値は、相関演算の冗長性を除くため
に、前回の移動位置での値をそのまま共通値として活用
し、今回の移動位置で新たに加わった領域の相関演算値
を共通値に足し込み、今回の移動のために非オーバーラ
ップとなった領域の相関演算値は切り捨てる処理を行
い、各位置での相関演算値から、前記小領域が前記探索
範囲内で類似している領域を検出することを特徴とする
ものである。
【0006】上記の手法を用いることにより、小領域を
探索範囲内で順次移動させて、相関演算値を求めるとき
の演算処理は、上記のオーバーラップ部分の処理が削減
されるために大幅な処理速度の向上を得ることができ
る。
【0007】
【発明の実施の形態】以下、この発明の実施の形態を図
面を参照して説明する。
【0008】(A)まず、本発明で着目しているオプテ
ィカルフローについて説明する。
【0009】オプティカルフローは、多くの場合は1つ
のカメラから得られた連続する2つの画像中の各点の対
応点を探索することである。これまでは、画像の微分か
らフローの方向を得る手法と、相関演算により近似的に
局所領域を対比し、似ている領域を見つけ出しフローの
方向を得る手法とがある。
【0010】いずれの手法も、連続する画像間では対応
する領域は、あまり離間していないという仮定のもとで
探索を行っている。
【0011】上記相関演算による手法の画像処理工程を
述べると次のようになる。
【0012】(a1)画像のノイズ除去、正規化等の前
処理を行う。
【0013】(a2)各小領域に対して可能な探索範囲
で対応する各小領域毎に相関演算を行う。
【0014】(a3)それらの中から適切な対応点を選
択する。
【0015】(a4)サブピクセルレベルでフローを推
定する。
【0016】本発明では、視差画像を高速に計算するた
めに提案された再帰相関演算手法を2次元に拡張するこ
とにより、上記(a2)の相関演算を左右−右左・一致
チェック法(Left-to-Right Right-to-Left Consistenc
y Checking(LR-Check)法)を応用し、上記(a3)の適
切な対応点を選択する。そして、実時間で密度の高いオ
プティカルフローの生成が可能なとなるように、次に述
べるような3段階の高速化を行った。
【0017】(b1)二次元再帰相関演算によるアルゴ
リズムの効率化処理 (b2)キャッシュを意識したアルゴリズムの展開処理 (b3)MMX命令による高速化処理 上記(b1)、(b2)の処理命令は、C言語で、上記
(b3)の処理命令は、MMXのアセンブラにより記述
した。
【0018】(B)次に、二次元再帰相関演算による対
応点探索について説明する。
【0019】(B0) まず相関の評価式の例を説明す
る。
【0020】画像中の各点の明るさをIn(x,y)と
おくと、画像I1の点(x、y)から縦横Wの領域と、
画像I2のそれぞれ点(x+y,y+l)からWの領域
での相関値は、相関の評価式を差の絶対値の総和、ある
は積の総和とおいたとき、以下の式のCまたはC
書くことができる。そして、もっとも相関度の高い領域
は、それぞれO11,O22の式を満たす(k,l)で
与えられる。
【0021】 C11(x,y,k,l) =Σ Σ {|I(x+i,y+j)−I
(x+i+k,y+j+l)|} C22(x,y,k,l) =Σ Σ {I(x+i,y+j)×I(x+
i+k,y+j+l)}O11(x,y)=min
k,l{C(x,y,k,l)} O22(x,y)=maxk,l{C(x,y,k,
l)} 上記の相間演算を隙間なく行うと、相関の評価式の計算
をW×W回冗長に行うことになる。
【0022】この冗長性を除くために、これから述べる
ような演算手法が採用されている。
【0023】以下の説明では、C(x,y,k,l)
で示した式(差の絶対値を得る)に基づいてオプティカ
ルフローを得る例を説明する。差の絶対値を得る式の場
合には、最も相関度の高い領域は、探索範囲内の全ての
相関値が最小となる。
【0024】(B1) 相関演算による対応点探索 オプティカルフローを計測するためには、連続する2枚
の画像において、一方の画像(第1画面)の各小領域に
対して、もう一方の画像(第2画面)の対応する小領域
を求める必要がある。
【0025】各小領域の対応を計算するためには局所領
域の相関値を求める相関演算を用いる。画像の各小領域
の輝度値の平均が等しいと仮定すると、例えば式(1)
のような正規化項を含んだ形が、また、画像の各小領域
の輝度値の分散が等しいと仮定し、式を簡略化すると例
えば式(2)の相関演算(SAD)を利用することがで
きる。
【0026】
【数1】
【0027】ただし、画素(x,y)での輝度値をI
(x,y),I(x,y),x,yの値域を0x,
y<Nとする。また、相関演算のウインドウサイズをW
×Wとし、その値域を0i,j<Wとする。さらに探
索範囲を探索範囲k,lの値域を0k,l<Dとす
る。x,yの値を固定したときに最も相関度の高い視差
k,lは、式(2)では最も値の小さいもの、式(1)
では最も値の大きいものとして与えられる。
【0028】(B2) 二次元再帰相関演算アルゴリズ
ムについて説明する。
【0029】再帰相関演算と呼ばれるアルゴリズムが視
差画像を高速に計算する手法として知られている。
【0030】本発明では、この方法を2次元に拡張する
ものであり、オプティカルフローの相関演算の計算量を
O(N)からO(N)とすることが可
能である。
【0031】以下そのアルゴリズムを説明する。
【0032】 P(x,y,k,l)=|I(x,y)−I(x+k,y+l)| (3) とすると、式(2)に基づく相関演算(SAD)は、 O(x,y)=mink,l{C(x,y,k,l)} C(x,y,k,l) =Σi=0 w−1Σj=0 w−1P(x+i,y+j,k,l) (4) と書ける。ここで、 Q1(x,y,k,l)=Σj=0 w−1P(x,y+j,k,l) Q2(x,y,k,l)=Σi=0 w−1P(x+i,y,k,l) (5) とすると、C(x+1,y+1,k,l)は、 C(x+1,y+1,k,l) =C(x,y,k,l) +Q1(x+W,y,k,l)−Q1(x,y,k,l) +Q2(x,y+W,k,l)−Q2(x,y,k,l) +P(x,y,k,l)+P(x+W,y+W,k,l) −P(x+W,y,k,l)−P(x,y+W,k,l) (6) と計算できる。更にQ1(x,y,k,l),Q2
(x,y,k,l)自身も同様に再帰的に計算できる。
【0033】 Q1(x,y+1,k,i) =Q1(x,y,k,l)+P(x,y+W,k,l)
−P(x,y,k,l)Q2(x+1,y,k,i) =Q2(x,y,k,l)+P(x+W,y,k,l)
−P(x,y,k,l) 次に、上記の処理内容を図面を参照して説明する。
【0034】図1は、上記の処理の内容を分かりやすく
するために、単純化して、一部を示している。
【0035】図1(A)に示すように、時間t1の第1
画像100に小領域101があり、時間t2の第2画像
200に探索範囲201がある。小領域101の画素
1,2,3,4と探索範囲201の画素1,2,3,4
とを用いた演算が行われ、第1の相関値N1が得られる
(図1(B))。
【0036】次のステップでは、探索範囲201におい
て例えば垂直方向へ1画素分ずれた位置の領域と、第1
画像の小領域との相関演算が行われる。但しこの場合
は、互いの領域の全ての画素についての計算が行われる
のではなく、領域がオーバーラップする前回の位置での
計算値(図の例では画素2,3,4に関する値)は、そ
のまま共通値として活用し、今回の移動位置で新たに加
わった領域に関する相関演算値を前記共通値に足し込
み、今回の移動のために非オーバーラップとなった領域
の相関演算値は切り捨てる処理を行い、第2の相関値N
2を得る。さらに次のステップにおいても、同様に、領
域がオーバーラップする前回の移動位置での計算値は、
そのまま共通値として活用し、今回の移動位置で新たに
加わった領域に関する相関演算値を前記共通値に足し込
み、今回の移動のために非オーバーラップとなった領域
の相関演算値は切り捨てる処理を行い、第3の相関値N
3を得る。
【0037】上記の例では、原理を理解し易くするため
に、小領域101を1列で示し、探索範囲内で垂直方法
へ1画素ずつ移動させて、相関演算を行った。しかし、
実際には、小領域は2次元でありW×W画素を単位とし
て構成される。
【0038】図2には、時刻t1における画像と、時刻
t2における画像との間でW×W画素を単位として相関
演算を行う場合の一般式を模式的に示している。
【0039】図2(A)の式は、小領域を2次元で示し
ている。図2(B)の式は、小領域に対する比較対称と
なる領域を、探索範囲内で水平、垂直方向へ1画素分ず
らした例である。
【0040】図2(C)の式は、比較領域がずれたとき
に、すでに計算されている相関値から差し引く値(水平
方向成分)を求める式である。図2(D)の式は、比較
領域がずれたときに、すでに計算されている相関値に対
して新たに足し込む値(水平方向成分)を求める式であ
る。
【0041】図2(E)の式は、比較領域がずれたとき
に、すでに計算されている相関値から差し引く値(垂直
方向成分)を求める式である。図2(F)の式は、比較
領域がずれたときに、すでに計算されている相関値に対
して新たに足し込む値(水平方向成分)を求める式であ
る。また図3(A),図3(B),図3(C)、図3
(D)は、W×Wの領域の4つの隅部の相関値を求める
式である。各相関値の符号(+,−)は、図2の計算値
の符号との関係から、式(6)に示したようになる。
【0042】上記の二次元再帰相関演算のオプティカル
フロー計算を要約すると、以下のようになる。
【0043】(1)第1画像I1に対して探索範囲内に
ある画像I2の各ピクセルとの間で評価式を計算する。
【0044】(2)各点で項目(1)で計算した評価式
の値を用いてウインドウサイズW個、縦一列または横一
列、または双方の列のそれぞれの和を計算する。
【0045】(3)ある点での相関値は、以下の方法を
用いて計算される(縦一列或いは横一列の値は項目
(2)で計算したものを用いる)。
【0046】その点の左上の相関値から、左側の縦の一
列の和と上側の横の一列の和を除き、その点を含む横と
縦の一列の和をそれぞれ加え、冗長に計算した左上、右
下の点の評価式の値を除き、計算されていない右上と左
下の評価式を加えたもの。
【0047】これにより冗長性を取り除くことができ
る。
【0048】なお、上記項目(3)の計算では、次の
(a),(b)の方法を採用してもよい。
【0049】(a)その左の点の相関値から左側の縦の
一列の和を除き、その点を含む縦の一列の和を加えたも
の。
【0050】(b)その上の点の相関値から上側の横の
一列の和を除き、その点を含む横の一列の和を加えたも
の。
【0051】(B3) 次に二次元再帰相関演算による
オプティカルフロー計算について更に説明する。
【0052】式(2)に基づくオプティカルフローの計
算は、以下のように書くことができる。
【0053】 O(x,y)=mink,l{C(x,y,k,l)} C(x,y,k,l)=Σi,j|I(x,y,k,l) −I(x+i+k,y+j+l)| (7) ここでは、W×W回の乗算が冗長となる。すなわち、C
(x,y,k,l)は、再帰相関演算アルゴリズムを
用いることで、以下のように再帰的に計算できる。
【0054】 P(x,y,k,l)=|I(x,y)−I(x+k,y+l)| Q1(x,0,k,l)=ΣP(x,j,k,l) Q1(x,y+1,k,l)=Q1(x,y,d) +P(x,y+W,k,l)−P(x,y,k,l) Q2(0,y,k,l)=ΣP(i,y,k,l) Q2(x+1,y,k,l)=Q2(x,y,d) +P(x+W,y,k,l)−P(x,y,k,l) C=(0,y,k,l)=ΣQ1(i,y,k,l) C=(x,0,k,l)=ΣQ2(x,j,k,l) C(x+1,y+1,k,l) =C(x,y,k,l) +Q1(x+W,y,k,l)−Q1(x,y,k,l) +Q2(x,y+W,k,l)−Q2(x,y,k,l) +P(x,y,k,l)+P(x+W,y+W,k,l) −P(x+W,y,k,l)−P(x,y+W,k,l) (8) (B4)次に、別の相関演算の手法として、分散による
正規化相関演算がある。
【0055】分散による正規化は第1画像Iがk、l
に因らないことから画像Iの分散項を分母におくこと
により、以下のように置くことができる。
【0056】
【数2】
【0057】Cを例に取った場合の高速化計算法は、 P(x、y、k、l)=|I(x,y)−I(x+k,y+l)| Q(x,0,k,l)=Σ(x,j,k,l) Q(x,y+1,k,l)=Q(x,y,k,l) +P(x,y+W,k,l)−P(x,y,k,l) Q(0,y,k,l)=Σ(j,y,k,l) Q(x+1,y,k,l)=Q(x,y,k,l) +P(x+W,y,k,l)−P(x,y,k,l) 分母は、 R(x,y)=I(x,y)×I(x,y) S(x,0)=ΣR(x,j) S(x,y+1)=S(x,y)+R(x,y+W)−R(x,y) T(0,y)=Σ(i,y) T(x+1,y)=T(x,y)+S(x+W,y)−S(x,y) となり、
【0058】
【数3】
【0059】と表わせる。
【0060】上記の処理手順をまとめると次のようにな
る。
【0061】(1)画像I1に対して探索範囲内にある
画像I2の各ピクセルとの間で評価式を計算する。
【0062】(2)各点で項目(1)で計算した評価式
の値を用いてウインドウサイズW個、縦一列または横一
列、または双方、それぞれ和を計算する。
【0063】(3)ある点での相関値の分子の値は、以
下の方法で計算したものとなる(縦一列または横一列の
値は項目(2)で計算したものを用いる)。
【0064】その左の点の相関値から左側の縦の一列の
和を除き、その点を含む縦の一列の和を加えたもの。
【0065】(4)画像Iに関する値の二乗を計算す
る。
【0066】(5)各点で項目(4)で計算した値を用
いて、ウインドウサイズW個、縦一列、横一列、または
双方、それぞれ和を計算する。
【0067】(6)ある点での分散の値は、以下の方法
で計算したものとなる(縦一列あるいは横一列の値は、
項目(5)で計算したものを用いる)。
【0068】その点の左上の相関値から、左側の縦の一
列の和と上側の横の一列の和を除き、その点を含む横と
縦の一列の和をそれぞれ加え、冗長に計算した左上、右
下の点の評価式の値を除き、計算されていない右上と左
下の評価値を加える。
【0069】(7)ある点での相関値は、(3)求めた
値を(6)で求めた値の二乗根で割った値で与えられ
る。
【0070】なお上記した項目(3)においては、次の
(a),(b)で述べるような計算を利用してもよい。
【0071】(a)その左の点の相関値から左側の縦の
一列の和を除き、その点を含む縦の一列の和を加えたも
の。
【0072】(b)その上の点の相関値から上側の横の
一列の和を除きその点を含む横の一列の和を加えたも
の。
【0073】また上記の項目(6)においては、次の
(a),(b)で述べるような計算を利用してもよい。
【0074】(a)その左の点の分散値から左側の縦の
一列を和を除き、その点を含む縦の一列の和を加えたも
の。
【0075】(b)その上の点の分散値から上側の横の
一列の和を除き、その点を含む横の一列の和を加えたも
の。
【0076】(B5) 次に、キャッシュを意識したア
ルゴリズムの高速化について説明する。
【0077】実時間で密なオプティカルフローを生成す
るために、前述の再帰相関演算をキャッシュを意識した
形で高速化し、次にMMX命令による高速化について述
べる。
【0078】図4(a)は、式(2)を単純に実現した
ものでであり、図4(b)は再帰相関演算を単純に実現
した際のループの構成法を示している。
【0079】しかし全画面の対応点を計算するために
は、再帰相関演算の式をx,y,k,lの4重のループ
として計算することになるが、単純の式の通りに実装す
るとキャッシュを利用できず、計算速度はCPUの演算
速度ではなく、メインメモリの読み出し/書き込み速度
に依存することになってしまう。
【0080】そこでこの発明に係るシステムでは、キャ
ッシュの利用効率を最大にするために演算途中に使用す
るP,Q1,Q2を計算する際にNの同時計算すること
にする。この様子を表わしたのが図4(c)である。こ
れにより、単純なインプリメントによりP,Q1,Q
2,Nは、N×N×D×Dの配列サイズをもつことにな
っていたが、図4(c)の方法では、P,Q1,Q2
は、N×W×D×D、Nは、N×D×D×Dの配列サイ
ズで良いことになる。
【0081】先に延べたアルゴリズムに必要なメモリ領
域は、N=64,W=16,D=8,各ピクセルのデー
タ量を8ビットとすると、Pのデータ幅は、8ビットと
なり、Q1,Q2,Nのデータ幅は16ビットとなるこ
とから、約3.1MBとなるが、この方法により約65
5KBまで低減することができる。
【0082】(B6)次に、MMX命令について説明す
る。
【0083】ここまでは、C言語によるオプティカルフ
ロー生成の高速化について述べてきた。本節では、最も
計算時間を要している再帰相関演算の一層の高速化を図
るためにPentiumのMMX命令を利用する。
【0084】MMX命令は、マルチメディア命令で1ク
ロックで64ビット長のMMXレジスタ上(あるいはメ
モリ上)におかれたデータ配列の和、積、積和、論理演
算などを行う、いわゆるSIMD(Single Instruction
Multi Data )な命令であり、積以外は1クロックで実
行される。ただし割り算命令を持っていないことと、積
は16ビット×16ビットまでしかできないといった制
約がある。
【0085】(B7) MMX命令による実現例 式(8)のP(x,y,k,l)はMMX命令を用い
て、たとえば図5のように実現される。ここでは8ビッ
ト整数の画像配列をレジスタに移した後、16ビット整
数に拡張し、4ビットずつまとめてお互いに差をとり、
2つの結果の論理和をとることにより条件分岐を行わず
に差の絶対値を計算し、Pに代入している。このコード
はC言語で書いたものに比べて約2倍早く実行される。
また、Q1,Q2、Nの計算もMMX命令により実装可
能である。
【0086】(C)一貫性評価法に基づく信頼度評価法 (C1) 一貫性評価法 ここまで述べてきたのは、高速な相関演算を行う手法で
あるが、オプティカルフローを生成するためには相関演
算の結果から、適切な動きベクトルを検出する機構をオ
プティカルフロー生成システムに組み込む必要がある。
【0087】相関演算による対応点の探索のための相関
度の計算は、最も似ている領域の検出が行われるだけで
あり、オクリュージョンのように実際には対応転が存在
しなかったり、輝度が均一な平面で対応が原理的に計算
できない場合がある。実際に単純な相関演算の結果から
得られるオプティカルフローは、非常に信頼性が薄い。
【0088】これを解決するために種々な研究が行われ
ているが、本発明では、対応点探索における相関演算の
信頼度評価に、視差画像を求める手法として開発され
た”LRチック”を応用するものである。
【0089】これは1つの画像の点に対応する反対側の
画像上の点からの対応点が、最初の点に一致する場合の
み、その対応が信頼できるという法則を取り決めたもの
であり、図で示すと、図6に示すように表わせる。
【0090】この方法により対応点がとれない場所がは
っきり区別できるようになる。アルゴリズムは以下の通
りである。このアルゴリズムを一貫性評価法と呼ぶ。
【0091】(1)古い画像の局所領域を参照領域(領
域1)とし、新しい画像を探索し最も相関の高い局所領
域を領域1に対応する領域(領域2)とする。
【0092】(2)領域2を参照領域とし、古い画像を
探索し最も相関の高い局所領域を領域2に対応する領域
(領域3)とする。
【0093】(3)領域1と領域3が同じ局所領域であ
れば、領域1と領域2とは2枚の連続する画像中の対応
する領域とする。
【0094】(C2) 次に、一貫性評価法の再帰相関
演算への組み込みについて説明する。
【0095】一貫性評価法は、キャッシュを意識した高
速アルゴリズムのループに組み込むことにより、メモリ
使用量、計算時間を増やすことなく信頼性のあるオプテ
ィカルフローの計算を高速で行うことができるようにな
る。
【0096】まず2枚の画像の信頼度の計算を行う際に
は、対応点探索のための相関度の計算を古いものからの
新しいもの、新しいものから古いものの相法で行う必要
はなく、相関演算は一度行うのみで、対応点探索だけを
両側で行えばよい。
【0097】従って一貫性評価法は、図4(c)のxの
ループの計算中に行うことができ、計算時間は数%から
十数%程度増加する程度でよい。
【0098】(D)サブピクセル法によるオプティカル
フローの推定本発明に係るシステムでは、更なるオプテ
ィカルフローの精度を高めるために二次元補間に基づく
サブピクセル法を適用してもよい。サブピクセルの補正
項をは次の式で求められる。
【0099】
【数4】
【0100】ここで、N(x,y,k,l)は、画素
(x,y)と画素(x+k,y+l)との相関値であ
る。これを用いることで、オプティカルフローは、上記
のオプティカルフロー推定式で示すように推定される。
【0101】(E)次に、この発明が応用された分野と
して、ロボット搭載オプティカルフロー生成システムに
ついて説明する。
【0102】パーソナルコンピュータ(PC)をロボッ
トに搭載し、サーボループなど低次の処理から画像処理
や行動制御など高次の処理までを一台のPCで行うこと
で、コンパクトなロボットシステムを実現できる。画像
取り込み装置は、画像取り込みICを用いたキャプチャ
ーカードを利用する。このハードウエアはリアルタイム
で画像をCPUのメモリ空間にDMA転送する機能をも
ち、Linux用のデバイスドライバが公開されていること
から、容易に実時間画像処理システムを構築することが
できる。
【0103】実験は、PentiumII-450MHZ(外部バス10
0MHz)を用いて、linux 2.0.35上で行った。
C言語はすべてgcc−2.7.2.3を用いて、MM
Xはgcc上でインラインアセンブラを用いた。
【0104】(E1) SADの相関演算、一貫性評価
法、サブピクセル法を用いてオプティカルフローを生成
するに際して、図4で述べたように、a)普通に(Simp
le Correlation)、b)再帰相関演算手法による高速ア
ルゴリズム(Recursive Correlation)、c)キャッシュ
を意識したメモリ利用効率化アルゴリズム(Cashe Optim
al Correlation)、d)MMX命令を用いた高速化(MMX
Implementation)、のそれぞれの場合において、一貫性
評価を行わない場合(without CC)、一貫性評価を行う場
合(with CC)、一貫性評価法とサブピクセル法を行う場
合(sub-pixel)、の各場合のバージョンのソフトウエア
について計算時間を計測したものを、次の表に示してい
る。テーブルにおいてCCは一貫性評価(Consistency Ch
ecking)である。
【0105】
【表1】
【0106】信頼度評価を行いサブピクセル法によりオ
プティカルフローを推定することで信頼度の高いオプテ
ィカルフローを生成する計算が、二次元再帰相関演算を
MMXにより実装することで、実時間(33mmsec
以内)で行えることを確認できる。
【0107】(E2) オプティカルフロー生成実験 上記のシステムを用いて、実環境中のシーンにおけるオ
プティカルフローの生成実験を行った結果、本発明の効
果は十分に得られた。
【0108】(F) 上記したように、本発明では、画
像処理の分野で行われている再帰的相関演算手法を二次
元に拡張し、連続する二枚の画像で高速な対応点探索を
行うアルゴリズムを、Pentium プロセッサのマルチメ
ディア命令(MMX命令)を用いて最適化し、市販のP
C部品を用いて実時間でオプティカルフローを生成する
ことが可能であることを示した。
【0109】また、相関演算は、SADを主に説明した
が、実環境で活動するロボットに適用する相関演算手法
として、先に説明した正規化相関演算を用いても良いこ
とは勿論のことである。MMX命令では命令セットとデ
ータ長の制約から正規化相関演算手法を実装することが
できないが、PentiumuIIIに搭載されたマルチメディア
命令SSEでは、正規化相関演算手法を採用可能であ。
【0110】上記の説明は、オプティカルフロー計算に
よるオプティカルフローの情報を得ることを述べたが、
これにさらに左右画像から得られる距離情報を合せるこ
とにより、三次元(3D)情報を簡単に得ることがで
き、被写体の三次元的な動きを直接的、実時間で認識す
るための情報を得ることができる。
【0111】図7にはこの発明を応用した装置の例を示
している。
【0112】図7(A)は例えばロボットに適用された
例を示している。カメラ700から取り込まれた画像信
号は、前処理部701を介してフレーム(またはフィー
ルド)メモリ703、704に交互に取り込まれる。オ
プティカルフロー情報取得部705は、本発明の方法を
利用してオプティカルフローを計算して、フロー情報を
取得し、これをシステム制御信号出力部706に供給す
る。システム制御信号出力部706は、オプティカルフ
ロー情報に応じて、例えば被写体を追跡、或いは回避す
るように、ロボットの駆動部に制御信号を伝送する。モ
ニタ707は、メモリ703からの画像情報を表示して
いる。
【0113】図7(B)は、例えば画像情報の伝送装置
に本発明が適用された例を示している。カメラ700か
ら取り込まれた画像信号は、前処理部701を介してフ
レーム(またはフィールド)メモリ703、704に交
互に取り込まれる。オプティカルフロー情報取得部70
5は、本発明の方法を利用してオプティカルフローを計
算して、フロー情報を取得している。メモリ703、7
04の画像情報は、圧縮及び伝送処理部721に供給さ
れる。この圧縮及び伝送処理部721は、オプティカル
フロー情報を、いわゆる被写体の動き情報として採用
し、動きベクトルを生成し、画像圧縮時の予測信号生成
などに利用している。また、この装置が立体情報を伝送
するものであれば、オプティカルフロー情報そのものを
伝送するように構成されている。
【0114】
【発明の効果】以上説明したようにこの発明によれば、
二次元再帰相関演算によるアルゴリズムの効率化を図る
ことにより、安価な汎用の計算機(CPU)でも実時間
での相関演算を行うことができる。
【図面の簡単な説明】
【図1】この発明に係る画像処理方法の一実施形態の相
関演算の基本的な考え方を説明するために示した説明
図。
【図2】同じくこの発明に係る画像処理方法の一実施形
態において、相関演算の計算のアルゴリズムを説明する
ために示した説明図。
【図3】同じくこの発明に係る画像処理方法の一実施形
態において、相関演算の計算のアルゴリズムを説明する
ために示した説明図。
【図4】この発明に係る画像処理方法の一実施形態にお
いて、キャッシュを意識したアルゴリズムの高速化を説
明するために示した説明図。
【図5】この発明に係る画像処理方法の一実施形態にお
いて、MMX命令の一部を説明するために示した図。
【図6】この発明に係る画像処理方法の一実施形態にお
いて採用されたLRチェック法を説明するために示した
図。
【図7】この発明に係る画像処理方法を利用した装置の
例を示す図。
【符号の説明】
100…第1画像、101…小領域、200…第2画
像、202…探索範囲。

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 第1、第2画像間の相関を判断する相関
    演算のために、第1画像の小領域を、第2画像の探索範
    囲内に対応させて画素を一部ずらしながら順次移動させ
    て、各移動位置で対応する画素を用いた相関演算を行う
    際に、前回と今回の移動位置間で、オーバーラップする
    領域の相関演算値は、相関演算の冗長性を除くために、
    前回の移動位置での値をそのまま共通値として活用し、
    今回の移動位置で新たに加わった領域の相関演算値を共
    通値に足し込み、今回の移動のために非オーバーラップ
    となった領域の相関演算値は切り捨てる処理を行い、各
    位置での相関演算値から、前記小領域が前記探索範囲内
    で類似している領域を検出することを特徴とする画像処
    理方法。
  2. 【請求項2】 上記の相関演算は、第1画像の画素と第
    2の画像の画素の差の絶対値または積をとる方式の演算
    であることを特徴とする請求項1記載の画像処理方法。
  3. 【請求項3】 上記の相関演算は、分散による正規化相
    関演算を採用していることを特徴とする請求項1記載の
    画像処理方法。
  4. 【請求項4】 第1、第2画像間の相関を判断する相関
    演算のために、第1画像の小領域を、第2画像の探索範
    囲内に対応させて画素を一部ずらしながら順次移動させ
    て、各移動位置で対応する画素を用いた相関演算を行う
    画像処理装置において、 前記小領域を前記探索範囲内に対応させた前回と今回の
    移動位置間で、オーバーラップする領域の相関演算値
    は、相関演算の冗長性を除くために、前回の移動位置で
    の値をそのまま共通値として活用し、今回の移動位置で
    新たに加わった領域の相関演算値を共通値に足し込み、
    今回の移動のために非オーバーラップとなった領域の相
    関演算値は切り捨てる処理を行い、各位置での相関演算
    値を得る相関演算手段と、 各位置での前記相関演算値から、前記小領域が前記探索
    範囲内で類似している領域を検出するオプティカルフロ
    ー検出手段とを具備することを特徴とする画像処理装
    置。
  5. 【請求項5】 上記相関演算手段は、キャッシュを用い
    た演算を実行することを特徴とする請求項4記載の画像
    処理装置。
  6. 【請求項6】 上記オプティカルフロー検出手段は、上
    記類似している領域を判断するために信頼性向上のため
    に一貫性評価法で動作する手段を採用していることを特
    徴とする請求項5記載の画像処理装置。
  7. 【請求項7】 さらにまた上記オプティカルフロー検出
    手段は、上記移動の要素となる画素の補間位置の相関値
    を得るサブピクセル法を実行する手段を備えていること
    を特徴とする請求項6記載の画像処理装置。
JP25579599A 1999-09-09 1999-09-09 画像処理方法及び装置 Pending JP2001084372A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25579599A JP2001084372A (ja) 1999-09-09 1999-09-09 画像処理方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25579599A JP2001084372A (ja) 1999-09-09 1999-09-09 画像処理方法及び装置

Publications (1)

Publication Number Publication Date
JP2001084372A true JP2001084372A (ja) 2001-03-30

Family

ID=17283748

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25579599A Pending JP2001084372A (ja) 1999-09-09 1999-09-09 画像処理方法及び装置

Country Status (1)

Country Link
JP (1) JP2001084372A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006092328A (ja) * 2004-09-24 2006-04-06 National Institute Of Advanced Industrial & Technology 動画像時間分割処理方法および装置
JP2009282762A (ja) * 2008-05-22 2009-12-03 Konica Minolta Holdings Inc 対応点探索装置
JP2013088336A (ja) * 2011-10-20 2013-05-13 Ricoh Co Ltd 速度検出装置、移動部材搬送ユニット、及び、画像形成装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006092328A (ja) * 2004-09-24 2006-04-06 National Institute Of Advanced Industrial & Technology 動画像時間分割処理方法および装置
JP4660736B2 (ja) * 2004-09-24 2011-03-30 独立行政法人産業技術総合研究所 動画像時間分割処理方法および装置
JP2009282762A (ja) * 2008-05-22 2009-12-03 Konica Minolta Holdings Inc 対応点探索装置
JP2013088336A (ja) * 2011-10-20 2013-05-13 Ricoh Co Ltd 速度検出装置、移動部材搬送ユニット、及び、画像形成装置

Similar Documents

Publication Publication Date Title
CN111465962B (zh) 用于手持式用户设备的增强现实的运动深度
Giachetti Matching techniques to compute image motion
US11610331B2 (en) Method and apparatus for generating data for estimating three-dimensional (3D) pose of object included in input image, and prediction model for estimating 3D pose of object
JP5243529B2 (ja) 拡張リアリティイメージのためのカメラポーズ推定装置および方法
Humenberger et al. A fast stereo matching algorithm suitable for embedded real-time systems
KR102070562B1 (ko) 이벤트 기반 이미지 처리 장치 및 그 장치를 이용한 방법
US10818018B2 (en) Image processing apparatus, image processing method, and non-transitory computer-readable storage medium
US8363902B2 (en) Moving object detection method and moving object detection apparatus
CN112561978B (zh) 深度估计网络的训练方法、图像的深度估计方法、设备
CN113711276A (zh) 尺度感知单目定位和地图构建
JP4941565B2 (ja) 対応点探索装置および対応点探索方法
Almatrafi et al. Davis camera optical flow
JP7082713B2 (ja) ローリングシャッター画像/ビデオのsfm/slamに対するアプリケーションで畳み込みニューラルネットワークを用いる画像/ビデオにおけるローリングシャッター補正
JP5062531B2 (ja) 画像処理装置および画像処理方法
US9872011B2 (en) High-speed depth sensing with a hybrid camera setup
Stumpp et al. Harms: A hardware acceleration architecture for real-time event-based optical flow
Al Ismaeil et al. Real-time enhancement of dynamic depth videos with non-rigid deformations
JP2001084372A (ja) 画像処理方法及び装置
Banz et al. Instruction set extension for high throughput disparity estimation in stereo image processing
Di Stefano et al. Real-time stereo within the VIDET project
Zhou et al. DecoupledPoseNet: Cascade decoupled pose learning for unsupervised camera ego-motion estimation
Ingemars A feature based face tracker using extended kalman filtering
CN113761965A (zh) 动作捕捉方法、装置、电子设备和存储介质
JP2002063578A (ja) 動き情報検知装置及び動き情報検知方法及び動き情報検知プログラムを記録した記録媒体
JPH11110566A (ja) 画像認識方法及び装置