計測自動制御学会東北支部 第 232 回研究集会 (2006.11.24)
資料番号 232-10

能動視覚のためのフロー分布の統計を利用したオプティカルフロー推定法
Optical Flow Estimation for Active Vision
Using Flow Spatial Statistics○芳賀赳史，岡谷貴之，出口光一郎○ Takeshi Haga, Takayuki Okatani,
Koichiro Deguchi
東北大学大学院情報科学研究科

Graduate School of Information Sciences, Tohoku University.
キーワード :

オプティカルフロー (optical ﬂow)，能動視覚 (active vision), 事前知識 (prior knowledge)

連絡先 : 〒 980-8579 宮城県仙台市青葉区荒巻字青葉 6-6-01 東北大学大学院
情報科学研究科 システム情報科学専攻 出口・岡谷研究室
芳賀赳史，Tel.: (022)795-7017，Fax.: (022)795-7017，E-mail: haga@fractal.is.tohoku.ac.jp

1.

はじめにオプティカルフローとは，各時刻での画像上の各点でのシーンの見た目の速度を表したベクトル場である．カメラの運動，撮影対象の運動によって発生し，その大きさは運動の速度と，シーンのFig. 1

能動視覚での対象の認識

奥行きによって決まるため，画像を用いた空間の認識，カメラ運動の推定に利用できる．
オプティカルフローは，移動するロボットや車両に搭載されたカメラを用いた画像処理にも応用できる．運動するカメラで取得した画像から推定したオプティカルフローは，撮影対象の認識，追跡のほか，障害物の検出といった進行方向の状況認識，相対的な距離の推定などに利用でき，画像による自律移動体の制御に幅広く利用することがFig. 2可能である（Fig. 1，2）．
通常のオプティカルフロー推定法には，いくつ自律走行車での画像を用いた進路の検出や距離の推定–1–

かの問題点がある，オプティカルフロー推定は画多くなる．

像の明るさの変化にもとづいて行われるため，明以上で述べたような，事前知識を利用することるさの変化が小さい領域では誤差が生じやすい．

によって，能動視覚に特化したオプティカルフロー

また，局所領域での明るさやオプティカルフロー推定法を実現し，シミュレーション実験によっての変化が小さいことを拘束条件として用いるため手法の有効性を検証する．に，物体の境界など変化が大きくなる部分では誤差が生じる．
このような問題点に対し Roth らは，学習によっ

2.

原理

2.1

オプティカルフローの推定の原理てオプティカルフローの事前確率のパラメータを決める Fields-of-Experts モデルを提案し，フロー明るさに微小な変化が生じた２枚の画像を考えベクトルの分布を事前知識として導入することにる．時刻 t に１枚目の画像の位置 (x, y) に投影されよって，精度が向上することを示した 1) ．この手ていた点が，時刻t + ∆tに２枚目の画像の位置 (x +法での拘束条件は，物体の境界などでのオプティ∆x, y + ∆y) に投影されたとき，点の明るさ I が変カルフローの変化を考慮したモデルから導かれる化していないと仮定すると，ため，以前の推定法に対して物体の境界での誤差I(x, y, t) = I(x + ∆x, y + ∆y, t + ∆t),(1)が少なくなる．
自律移動体に取り付けられたカメラでのオプティカルフローを考えると，加えて，推定の際に運動や空間的な事前知識が利用できる．本研究では，と表せる．右辺を１次の項までテイラー展開すると，

I(x, y, t) = I(x, y, t) +Fields-of-Experts モデルにもとづいた推定法 1) に，

∂I
∂I
∂I
∆x +
∆y +∆t. (2)
∂x
∂y
∂t

運動の事前知識と自然画像での空間的な事前知識

このとき，水平方向，垂直方向の移動量をu, v ，∂I/∂x =を取り入れたオプティカルフロー推定法を考える．

Ix ，∂I/∂y = Iy ，∂I/∂t = It とおいて式を整理す

運動の事前知識としては，カメラの制御に用いると，ある時刻での位置 x, y の明るさと速度はた運動の知識を利用することができる．カメラのIx u + Iy v + It = 0,(3)運動方向が既知の場合，対象が静止している領域に生じるオプティカルフローの方向は運動によっと表せる．式 (3) には u, v という２つの未知数があて決まるため，画像上での空間分布はカメラの運る，これを一意に求めることはできない．オプティ

動方向とは逆向きの方向の要素が多い偏った分布

カルフロー u, v の推定を行うためには，u, v に対すとなる．

る何らかの拘束条件が必要である．

空間的な事前知識としては，能動カメラから得式 (3) に局所領域での明るさの変化は小さいとられる画像の特徴に関する知識を利用することがいう拘束を取り入れてオプティカルフロー推定をできる．屋外環境における風景を撮影したような行う方法は，Lucas-Kanade の方法として知られて画像は一般に自然画像と呼ばれる．ロボットや車おり，両に搭載されたカメラで撮影された自然画像は，ELK (u, v) = Kσ ∗ (Ix u + Iy v + It )2 ,画像面と地面が垂直に近い関係で設置されること(4)が多いため，画像の上の領域に空や遠くの景色，を最小にする u, v を求めることによって推定を行下の領域に地面や近くの物体が投影されることがう．ここで，Kσ は，範囲 σ に適用される２次元ガ–2–ウス関数であり，式 (4) の畳み込み演算は，近傍領と表記すると，式 (9) は以下のように表せる．

∫域での明るさの変化が最小となるような (u, v)を求ECLG (w) =めることを意味するため，この手法はノイズの影(ρD (√w⊤ Kσ (I)w)Ω+λρS (| ▽w |))dw.

響を受けにくい．

(9)

また，式 (3) にフローベクトルの変化は少ないという拘束を取り入れてオプティカルフロー推定を2.2行う方法は，Horn-Schunck の方法として知られてオプティカルフローの事前確率モデル

CLG 法でのオプティカルフロー推定では，式 (3)おり，∫EHS (u, v) =の第２項では，フローベクトルの変化が少ないと((Ix u + Iy v + It )2Ω2+α(| ∇u | + | ∇v | ))dxdy,2

いう拘束条件を用いた．しかし，画像では一様にフ(5)を最小化することによって推定を行う．ここで Ωは画像全体の領域，α は近傍とのフローベクトルの変化をどの程度許容するかを調整するための重みを表す．この手法は，各画素ごとに推定を行うため密なフローベクトル場を得ることができる．

Lucas-Kanadeの方法とHorn-Schunckの方法を組み合わせた方法として，Combined Local-Global(CLG)法がある．CLG 法は画像の明るさに関して局所的な拘束を使用した式 (4) と，画像全体での最小化問

ローベクトルの変化が少ないわけではない．画像
上でのフローベクトルの変化を考えると，物体の表面などでは奥行きが一定か，もしくは奥行きの変化が少ない部分がほとんどであるため，多くの領域では変化が少ないが，異なる物体の境界などでは奥行きや運動の違いによってフローベクトルに変化が生じる．画像中の奥行きや運動にはさまざまなものがあるので，多数の画像を用意して一般的な画像でのフローベクトルの変化の分布を調べると，裾の広い分布になることが知られている．
オプティカルフローの分布に注目した方法とし題である式 (5) を組みあわせたもので，∫ECLG (u, v) =て，Fields-of-Experts(FoE) モデルを用いたオプテ√(ρD ( Kσ ∗ (Ix u + Iy v + It )2 )ィカルフロー推定法がある．この手法は，近傍領Ω+λρS (| ∇u | + | ∇v |))dxdy, (6)を最小にする w を求めることによって，オプティカルフローの推定を行う方法である．ここで，λはフローベクトルの変化をどの程度重視するかを決める重みである．ρD ，ρS は，明るさ I についての外れ値の影響を抑えるための関数であり，ρ(x) =log(1 + 21 ( σx )2 ) などを用いる 2) ．
二つの拘束式を組み合わせることによって，ノイズの影響を受けにくく，密なフローベクトル場を得ることができる．以降での式の扱いを簡単に

域内でのフローベクトルの各要素の分布が裾の広い分布になることを仮定して, 正しいフローベクトルが入力されたときの分布のパラメータを学習することによって，事前確率を定めて推定に使用する方法である．

FoE モデルでは，各画素のフローベクトルの確率は，大きさ m × m の局所領域のフローベクトルによって決まると仮定する．位置 k の画素と，それを中心とする近傍領域のフローベクトルのある方向成分を並べたベクトル x(k) ，分布を表す関数 ψ を用いて，するため1 ∏ψ(x(k) )，ZKw=(u, v, 1)p(x) =(7)Kσ (I) = Kσ ∗ ((Ix , Iy , It )⊤ (Ix , Iy , It )), (8)k=1と表すことができる．

–3–(10)大きさ m × m の近傍領域においてフローベクト拘束を置き換えたことによって単に周囲のフロールがN 個の１次元t分布の積で表される分布に従う成分の変化が少ないという拘束ではなく，周囲のと仮定すると，事前確率を)−αi
K N (1 ∏∏1 ⊤2p(x) =,1 + (Ji x(k) )Z2フロー成分の分布によって事前確率が大きくなる(11)ような w を求めることができる．ここで，λ は学習による項の影響の大きさを調節するための重みでk=1 i=1と表すことができる．ここで，(x ∈ u, v) である．

ある．

分布のパラメータJi , αi は，学習によって決定する．

実際のオプティカルフロー推定の方法は，式(14)FoE モデルにおいて，画像を小領域に分けて扱を最小化するのが困難であるため，エネルギー関うのはある画素フローベクトルを小領域内の要素数の勾配を用いた局所最適化のみによって決定されると仮定することによって，∇Ew = 0,入力画像の大きさに依存せず，平行移動に対しても不変なモデルを実現するためである．

によって求める．

分布のパラメータ Ji , αi は式 (11) のエネルギー関式 (14) の１項目 ED の位置 i における勾配は，)(√∂
ED (w) = ρ̃Dwi Ki wi⊤ (K1i wi ),∂ui(√)∂ED (w) = ρ̃Dwi Ki wi⊤ (K2i wi ),∂vi数

EFoE (x)= − log p(x)= −)−αi1 ⊤2log 1 + (Ji x(k) )) (12),2i=1K ∑i∑k=1(15)(にもとづいて学習する．

(16)(17)

ここで ρ̃(x)D = ρ′ (x)D /x，Kji は，位置 i での行列Kσ (I) の j 行目を取り出したベクトルを表す．

学習は contrastive divergence 法によって行い，(⟨⟩⟨⟩ )∂EF oE∂EF oE
Θ=Θ+η−, (13)
∂Θ
∂Θ
p0

また EFoE (x) の各要素の勾配を求め x を分離したもの 1) を∇EFoE (x) = AFoE (x)x,として Θ を更新することによって求める．このとき Θ = (Ji , αi ) であり，⟨·⟩p は，p 回目に分布のパラと表記する．

メータ Θ にもとづいて発生させた入力値 x での平均を表す 3) ．η は更新の速さを調節するための重(18)式 (16) と，式 (18) を係数 w について並べ式 (15) へ代入すると，みである．

[AD + AFoE (w)] w = 0.

2.3

事前確率モデルに基づくオプティカ
ルフロー推定(19)AD の定数項を移項すると，[学習したパラメータを用いてオプティカルフロー]ÃD + AFoE (w) w = b.

(20)

推定を行うために，CLG 法の式 (9) の第２項を式

w は１組の画像間でのフローのすべての成分を並(12) で置き換える．

べたベクトルなので，A は入力画素数分の行と列をもつ疎行列である．

E(w) = ED + λEFoE(√)∫⊤=ρDw Kσ (I)wΩ−λ式(20)はAF oE (w)の項に非線形な要素を含むが，)−αi(1 ⊤2
log 1 + (Ji w(k) )) (14).
2i=1

適当な初期値 w(0) から初めて，K ∑i∑
k=1–4–[]ÃD + AFoE (wk−1 ) wk = b.

(21)

として，方程式を繰り返し解いて，w の値を更新していくことによって画像全体のフローベクトルを求める．

3.

運動の事前知識と空間分割に

p ( x | v1 )p( x | v2 )よる学習領域の限定
Fig. 3
Fields-of-Expertsモデルを用いたフロー推定で提運動によって入力データを分けて学習する場合の分類の例

案されているのは，ランダムなカメラ運動，画像のランダムな領域のフローベクトルをもとに学習を行う方法である．これに対し能動カメラでのオプティカルフロー推定を考えた場合，事前知識としてカメラの運動パラメータが使用できる．また，入力する画像が自然画像であれば，画像の中段かp( x | R1 )ら上が遠景で，下が近景といったように領域ごとの距離に特徴があり，フローベクトルの分布が空間的に偏っていることが利用できる可能性がある．

p ( x | R2 )p( x | R3 )p ( x | R4 )Fig. 4 領域によって入力データを分けて学習する場合の分類の例

本研究では，学習時にカメラ運動に関する事前知識と画像中の領域に関する事前知識を使用して，ラメータを決定することにつながり，より確実な入力とするフローベクトルを分類する．また，推推定を実現することができると期待される．また，定時には，カメラ運動または領域によって使用す学習に利用する領域を限定することは自然画像でる事前分布を切り替える．それぞれの事前知識にのフローベクトルの分布の偏りを考慮することにもとづいた分類がフローベクトルの推定精度にどあたり，能動カメラによって得られる画像からののように影響するかを示すために，推定を行う場合には有用である．

• 入力画像を撮影したときのカメラ運動と同じ種類のカメラ運動から学習した分布のパ4.

ラメータを用いて推定を行う．

実験

運動ごとに分けて学習を行ったパラメータ，画• 入力画像での領域と同じ領域から学習した像を４つの領域に分割してそれぞれの領域ごとに分布のパラメータを用いて推定を行う．

学習を行ったパラメータを用いて，オプティカルフロー推定実験を行った．という２種類の方法についてそれぞれ実験を行った．運動による種類分けの例を Fig. 3，領域を分推定したオプティカルフローの評価には，フローベクトルの角度誤差 4)

ける場合の例を Fig. 4 に示す．

(角度誤差) =事前知識から得られる運動方向を利用すること

acos(ve · vc ),(22)

によって，学習に利用する運動方向を限定するこの画像全体での平均値を使用した．ここで，ve は推とは，関係のない運動でのフローが学習対象から定したフローベクトルの要素，vc は正しいフロー除外されることにより，特定の運動に特化したパ–5–ベクトルである．v は，フローベクトルの水平方ンダムに6400個取り出して学習の入力画像とした．

向成分 u，垂直方向成分 v を用いて，フローの水平方向成分，垂直方向成分に対してそv=(u, v, 1)⊤,
u2 + v 2 + 1

れぞれに対して8個のパラメータを式(13)の学習に(23)より決定した．反復回数は 2000 回，更新時の重みは η = 0.001 とした．と表されるベクトルである．

4.2

学習用データの作成と学習

4.1

運動方向によって学習データを分ける場合

事前確率に基づくオプティカルフロー推定において，学習に用いるオプティカルフローデータは運動ごとに分けてパラメータの学習を行いオプノイズを含まない正確なものであることが望ましティカルフローを推定する実験を行った．実験にい．また，推定したオプティカルフローの評価をは，空間的に特徴のあるカメラ運動として (1) 画像行うために実験用の画像に対して，観測される正面に平行な方向への並進，(2) カメラの光軸方向へしいフローベクトルの方向を得る必要がある．しの前進，(3)(1) と (2) をランダムに混ぜて行う運動

かし，オプティカルフローは画像上の見た目の移の３パターンを扱うこととした．
それぞれの運動パターンから生じるフローベク動ベクトルなので，直接計測することは不可能でトルについて，(1) の運動は画像面方向への運動なある．
本実験では，３次元空間での物体の配置とカメので一定の方向を向いたフローベクトルが発生し，ラ運動を入力として，カメラで撮影した画像と画(2)の運動は画像面に垂直な方向への運動なので運像上に生じるオプティカルフローを生成するシミュ動によって発生するフローベクトルは放射状で一レーション環境を作成し，学習用のオプティカル定の変化を持つという特徴がある．

フローおよび実験用の入力画像を合成することにオプティカルフロー推定は (1) と (2) の運動からよって得たデータを，正しいオプティカルフロー生じるフローベクトルの特徴を考慮して，左方向のデータとして使用した．

への並進，前進の２パターンの画像系列についてシミュレーション環境には複数の物体を配置し，背景や他の物体との境界でフローの変化が生じる行った．推定する画像列のフレーム数は 10 フレー
ム，画像サイズは 40 × 40 ピクセルである．
推定には式(21)を用い，推定時の重みはλ = 0.01，ようにした．物体の面は画像面に対して傾けて配置して奥行きの異なるフローが生じるようにした方程式の反復回数は 10 回に固定した．
推定したオプティカルフローの一例を Fig. 6，(Fig.5)．

Fig. 9，対応する真値を Fig. 7，Fig. 10，画像系列全体での角度誤差を Table 1，Table 2 に示す．

Table 1 学習データごとの角度誤差 (左並進)
学習データ
平均角度誤差 標準偏差Fig. 55.734◦

1.077◦(2) 前進5.919◦

1.008◦(3) ランダム

5.901◦

1.013◦(1) 横移動

生成したフローベクトルの例

大きさ 240 × 240 ピクセルのフローベクトル場 30
フレームから，大きさ 3 × 3 ピクセルの小領域をラ–6–

10000(1)parallel(2)forward(3)random

1000

10010Fig. 6 左方向並進の画 Fig. 7 左方向並進の画像での推定値
像の真値

1010000

Fig. 11(1)parallel(2)forward(3)random

1000

1234
log angular error[deg]56角度誤差のヒストグラム (前進)推定結果を比較すると，カメラの運動方向と同じ方向のフローから学習した分布を用いて推定し100たフローが角度誤差が少ない．これは，学習に使10用した運動から得られるフローベクトルの空間分布と，推定時の運動から得られるフローベクトル

10Fig. 81234log angular error[deg]56の空間分布が最も近いためと考えられる．

4.3

角度誤差のヒストグラム (左並進)

領域ごとにフローベクトルを学習した場合

画像を分割し，分割した領域ごとにパラメータの学習を行いオプティカルフローを推定する実験を行った．この実験では，屋外で撮影した自然画像のように，画像の中央より上と下の部分でフローの分布が大きく異なる状況を再現するため，学習の入力画像には Fig. 5 の左の図のように，画像のFig. 9

前進画像での推 Fig. 10定値前進画像での真値

中央よりやや上の部分まで近くに物体があるようなシーンを用いた．画像の領域をを４等分し，各領域について個別に分布のパラメータを学習した．

Table 2

入力画像には Fig. 12 のシーンにおいてカメラが運動ごとに分けて学習したときの角度誤右方向に並進したときの画像系列を使用した．学差 (前進)

習時の条件，推定時の反復回数は 4.2 の実験と同じ
学習データ

平均角度誤差標準偏差(1) 横移動

1.803◦

0.525◦

である．学習に使用する小領域は並進と前進がラ(2) 前進

1.668◦

0.288◦

ンダムに入った入力画像のランダムな位置から取◦◦(3) ランダム

1.909

0.667

り出した．
学習に使用した領域ごとに，分布のパラメータ–7–

知識とする運動をどのように選択するかが重要になってくると考えられる．限られた種類の学習データを切り替えて任意のカメラ運動に対応できるような方法を実現する必要がある．また，画像の分割を行う実験では，単純なシーンを使用し，単にFig. 12

画像を４等分することによって領域ごとにフロー実験に使用したシーンを学習していた．しかし，自然画像での応用を考を切り替えて推定を行った．比較対象として，4.2の実験で使用した，ランダムな運動から学習した学習データを使用して，同じ入力画像からオプティカルフロー推定を行い角度誤差の変化を調べた．

領域ごとにパラメータを切り替えて学習した場合と切り替えずに学習した場合の角度誤差
平均角度誤差対象の奥行きや運動によって事前分布を切り替えて推定を行うことである．シーンに応じて分割する領域を変更するような仕組みを考えることも今後の課題である．

画像系列全体での角度誤差を Table 3 に示す．

Table 3

えた場合，領域を分割して学習することの目的は，

参考文献
1) Stefan Roth and Michael J. Black : On the Spatial Statistics of Optical Flow, ICCV ’05: Proceedings of the Tenth IEEE International Conferenceon Computer Vision (ICCV’05) Volume 1, 2005

標準偏差分割なし

2.758◦

0.6156◦

領域分割2.119◦

0.7496◦

結果を見ると，角度誤差が減少しているのがわ

2) Bruhn, A. and Weickert, J. and Schnörr, C. : Lucas/Kanade Meets Horn/Schunck: Combining Local and Global Optic Flow Methods, International
Journal of Computer Vision, 61-3, 211/231, 2005

かる．画像上でのフローベクトルの空間分布に注目して画像を領域分割してそれぞれの領域に近い分布から学習したパラメータを使用して推定することによってフローの角度誤差が減少したと考えられる．

5.

3) Max Welling, Geoﬀrey E. Hinton, Simon Osindero : Learning Sparse Topographic Representations with Products of Student-t Distributions,
Advances in Neural Information Processing Systems, 15, 1359/1366, 2003
4) Barron, J.L., Fleet, D.J., and Beauchemin, S. :Performance of optical ﬂow techniques, International Journal of Computer Vision, 12-1, 43/77,
1994

おわりに学習によってフローベクトルの事前分布を定めるFields-of-Expertsモデルにもとづくオプティカル
フロー推定法において，運動ごと，領域ごとに分けて事前分布のパラメータを求めることによってオプティカルフローの角度誤差が減少することが確認できた．
運動については，フローの空間分布に特徴のある運動を選んで比較実験を行ったが，入力画像が任意のカメラ運動によって撮影された場合，事前–8–