マルチカメラを用いた 3 次元シーンフロー推定に関する研究
画像認識講座水野 宏基

1. はじめに近年，ユビキタス社会におけるユザビリティの向上として，人の自然動作に近いインターフェイスであるジェスチャ認識の実現が期待されている．本研究では，ジェスチャ認識に応用が可能である技術として，3 次元シーンフローを用いたモーション推定法を提案する．

2. 提案手法の流れ
対象とする 3 次元シーンフローは，複数の画像中のオプティカルフローから求められる [1]. 一般に 2 次元オプティカルフローは多くのノイズやアウトライアが含まれる．そのため，復元される 3 次元シーンフローにも多くのノイズが含まれ，アウトライアが発生する．そこで，本研究では物体の運動が短時間では剛体であると仮定し，Subspace 拘束を用いた 3 次元シーンフローの修正を行う．次に，復元した 3 次元シーンフローから物体のモーションパラメータを推定する．図 1 に本手法の流れを示す．

図 1 : 提案手法の流れ

3.

3 次元シーンフローの復元

運動モデルと観測行列 シーン内の運動が剛体であると仮定した場合，ある時刻 j における対象物体中の点 xi のシーンフロー v ij は，次式のように，平行移動ベクトル tj と，回転速度ベクトル ω j を用いて表現することができる．
v ij = tj + ω j × xi
(1)
v ij = [vxij , vyij , vzij ]T
xi = [Xxi , Xyi , Xzi ]Ttj=

[txj , tyj , tzj ]TT:

平行移動ベクトル:

回転速度ベクトルωj=[ωxj , ωyj , ωzj ]i:

座標番号 j : フレーム番号

式 (1) を展開すると次式となる．

"
#sxj
vxijvyij=  syj vzijszj

q i(6×1)

syj=[0, tyj , 0, ωzj , 0, −ωxj ]szj=

[0, 0, tzj , −ωyj , ωxj , 0]

qi=

[1, 1, 1, Xxi , Xyi , Xzi ]T(2)Q(6×N ) = [q 1 , . . . , q N ] = 





sx1
S x= ...  ,sxM





sy1
S y= ...  ,syM

D0 = 
d1
000000d2
0
...
...
...

...
0
d3
...
...
...

...
...
00
...
...

...
...
...
...
...
...

000000
(3M ×N )= U 1 D 0 U T2

(5)

(3M ×N )得られた新しい観測行列 [V 0x /V 0y /V 0z ]0 は，ランクが 3 の行列となり，式 (1) に示す運動モデルに従うシーンフローに修正することができる．
シーン内のある点 xi における運動 v ij が得られた場合，時刻 j における式 (1) は次式のように変形できる．

v ij =

Q(6×N )

(3)

(3M ×6)

1...
1...
1...
Xx1 . . .
Xy1 . . .
Xz1 . . .

(4)

U 1 は 3M × 3M の直交行列，U 2 は N × N の直交行列，D は特別な対角行列であり．D の対角要素は特異値と呼ばれ，ベクトル d = [d1 , d2 , . . . , d3M ]T で表す．ここで，観測行列のランクを 3 に制限するには対角成分がd0 = [d1 , d2 , d3 , 0, . . . , 0]T となる行列 D 0 を次式のように求める．

· V 0 ¸0Sx=  Sy Sz

= U 1 DU T2(3M ×N )この D から，U 1 と U 2 用いて新しい観測行列を以下のように計算する．

ここで，式 (2) は単位時間の空間中の一点のみの運動を表現した式である．N 点 M フレームの情報を扱うために式(2) を以下のように拡張する．

(3M ×N )x

VyVz

4. シーンフローを用いたモーション推定[txj , 0, 0, 0, −ωzj , ωyj ]· V ¸x=

のランクは全て 1 以下となるため，行列 [S x /S y /S z ] のランクは 3 以下となる．観測行列 [V x /V y /V z ] は行列 Q と行列 [S x /S y /S z ] の積で表現されており，小さい方のランクに制限される．よって，観測行列のランクは 3 以下となる．
Subspace 拘束を用いたシーンフローの修正 2 次元オプ
ティカルフローにノイズやアウトライアが含まれる場合，シーンフローから得られる観測行列のランクは 3 以上となる．そこで復元されたシーンフローに対し，Subspace 拘束によるランク制限を施すことで精度を向上させる．
Suspace 拘束を用いてランク制限を施すために，複数フレームのシーンフローの成分を vx ，vy ，vz それぞれ観測行列に当てはめる．次に，観測行列に対し，特異値分解を行い次式を得る．

Vy 0
Vz 0

sxj

Vx Vy Vz

藤吉 弘亘

0(3×6)



指導教授



1
11
XxN
XyNXzN





sz1
S z= ... szM

ここで，[V x /V y /V z ] を観測行列と呼ぶ．瞬間的な物体の運動は等速であると仮定した場合，S x ，S y ，S z 各行列£−[xi ]×[xi ]× : xi の歪対称行列,I (3×3)

¤·

ωjtj

¸I (3×3) : 3 × 3 の単位行列

これを N 点に拡張すると次式を得る．







−[x1 ]× I 1(3×3) ·v 1j¸ωj ..   ..
.
..
 t
 . = .
j−[xN ]× I N (3×3)
vN j(6)

ここで，未知数は ω j = [ωxj , ωyj , ωzj ]T と tj = [txj , tyj , tzj ]Tの 6 つとなる．式 (6) からは，3 × N の式を得ることができるが，歪対称行列 [xi ]× のランクは 2 であるため，N = 2の場合，式 (6) は一意に解を決定することができない．よって，3 点以上の v ij と xi の組から最小二乗法を用いることで，剛体運動の各パラメータを推定する．
2 節で述べた Subspace 拘束により修正した 3 次元シーンフローは，運動モデルのランクに従った運動となる．このとき，Subspace 拘束ではシーンフローの大きさと方向を修正することは可能であるが，本来存在しないところに得られたシーンフローを除去することはできない．そこで，このようなアウトライアを除去してパラメータを推定するために，本研究では RANSAC を用いる．

5. 実験

5.3. 実画像を用いた実験

提案手法の評価実験として，シミュレーションと実画像を用い，3 次元シーンフロー復元とモーション推定を行う．
また，本実験では，基準フレームから前後 1 フレームのシーンフローから観測行列を作成し，シーンフローの復元と修正を行う (M = 2)．

実画像を用いた実験を行う．実験環境は，図 4(a) に示すように，3 次元空間中に配置した 5 台のカメラを用いる．対象とする物体は，図 4(b) に示すように，ルービックキューブを持った人間の腕部とする．オプティカルフローの計算にはブロックマッチング法を用い，Vedula らの手法 [1] を用いてシーンフローを復元する．本実験では，y 軸方向に 1秒間に約 15cm 平行移動した場合と，x 軸を中心に約 180度回転した場合の 2 つのシーケンスを対象とする．図 4(c)のオプティカルフローを入力とした際のシーンフロー復元
例を図 5 に示す． 図 5(a) では分散しているシーンフロー

5.1. シミュレーションによるシーンフロー復元実験
シミュレーションでは，立方体，球，任意の形状の 3 種類の物体に対し，平行移動，回転運動，平行移動と回転が同時に発生した場合の計 9 シーケンスのシーンフローを対象とする．シーンフローの大きさと方向に対し，正規乱数を用いてノイズを与え，シーンフローの存在位置に対し，10 点に 1 点の確率でアウトライアを生成する．シミュレーションにより生成したシーンフローと，Subspace 拘束を用いた修正シーンフローの例を図 2 に示す． 図 2(a) では

図 4 : 実験環境と入力データ

図 2 : シミュレーション実験結果の例
分散しているシーンフローが，Subspace 拘束により，同一の方向へ修正されていることが分かる．シーンフローの精度の評価として，シーンフローの真値 v t と復元されたシーンフロー v との方向の類似度を式 (7) より，また大きさに対する評価を式 (8) より計算する．
v・v t方向に対する類似度 : cos θ =(7)||v|| ||v t ||大きさの差のノルム:| ||v|| − ||v t || |||v t ||(8)

図 3 に，9 シーケンスに対し，角度，大きさに対する真値との類似度を平均した結果を示す． 図 3(a) はシーンフロー

図 5 : 平行移動における 3 次元シーンフローの例
が，Subspace 拘束により，同一の方向へ修正されていることが分かる．表 2 に，平行移動と回転運動のモーション推定結果に示す． 平行移動では，最も数値の高いパラメー
表 2 : モーション推定結果
ωx[deg/f]ωy[deg/f]ωz[deg/f]tx[mm/f]

ty[mm/f]

tz[mm/f]

平行移動-0.4940.380-0.2440.818-4.523-0.078回転運動-5.490-0.1140.978-0.246

5.901

2.197

f : frame

図 3 : 類似度のヒストグラムの方向の類似度のヒストグラムであり，修正前は，誤差 10度以内のシーンフローが全体の 56.7% であるのに対し，修正後は 94.2% まで向上した．図 3(b) は大きさに対するヒストグラムであり，修正前は，誤差 10% 以内のシーンフ
ローが全体の 46.3% であるのに対し，修正後は，58.3% まで向上した．

5.2. シミュレーションによるモーション推定実験
シミュレーションで復元された 3 次元シーンフローからモーション推定の実験を行う．修正前のシーンフローの全点から推定した結果と比較する．それぞれの運動に対し，推定されたモーションパラメータの誤差の平均を表 1 に示
す． Subspace 拘束により修正したシーンフローに対し，
表 1 : モーション推定誤差

タは y 軸方向の移動であり，1frame(1/30sec) で約 4.5mm移動と推定された．これは，1 秒間で 13.5cm の平行移動となり，高い精度で移動量を推定ができていることが分かる．次に回転運動では，x 軸周りの回転が 1frame で約 5.5度と推定された．実験に用いたシーケンスの真値は 6 度であり，高い精度でモーションが推定できていることが分かる．しかし，平行移動していないにもかかわらず，ty 成分が高い値を示している．これは，上方からこの運動を観測するため，その表面の運動が ty 成分の運動として観測されることが原因である．この問題はカメラの台数を増やすことで解消できると考えられる．

6. おわりに本研究では，Subspace 拘束により修正した 3 次元シーンフローから物体のモーションを推定する手法を提案し，その有効性を確認した．今後は，モーションセグメンテー
ションを用いた複数物体への対応を検討する予定である．

修正前

修正前

修正後

全点

RANSACRANSAC

平行移動

1.21E-04

1.16E-03

4.79E-04

回転運動

1.86E-02

8.34E-04

3.70E-04[1] S. Vedula, S. Baker, P. Rander, R. Collins, T. Kanade,“Three-Dimensional Scene Flow”, Proceedings of the 7thInternational Conference on Computer Vision, Vol. 2,
September, pp. 722 - 729, 1999.

平行移動 + 回転運動

1.05E-02

2.20E-03

1.21E-03

研究業績

RANSAC を用いた場合に最も良い精度でパラメータを推定できていることが分かる．これは修正を行うことで，シーンフローに含まれるノイズの影響を低減することができ，RANSAC によりアウトライアを削除することができたと考えられる．

参考文献[1] 水野宏基, 藤吉弘亘, 岩堀祐之. ”マルチカメラを用いた 3 次
元シーンフローによるモーション推定”, 画像の認識・理解シンポジウム (MIRU2006), p 529 - 534, 2006.
(他 研究会技術報告 1 件, 学会口頭発表 2 件)