第 4 章 ジャイロセンサを併用したハイブリッド トラッキング手法の導入トラッキング手法の導入
4.2 提案するハイブリッドトラッキング手法
本研究では、図4.2に示すように、マルチカメラユニットにInertiaCube3を取り付 け、カメラの回転角度を得ることで、バーコードマーカが必要数認識できない場合に トラッキングを補助する。また、マルチカメラによるトラッキングが行えている場合
も、InertiaCube3の出力を元にその誤差を軽減する。
本研究でのハイブリッドトラッキングは、マルチカメラによるトラッキング結果の うちの回転成分のみを、ジャイロセンサによって得られた回転角度情報から補正する ものである。この処理の流れを図4.3に示す。
まず、マルチカメラによるトラッキング結果が1フレーム得られるたびにInertiaCube3 から回転角度情報を得る。このとき、マルチカメラの場合、トラッキング結果(6自由
カメラに取り付けた ジャイロセンサ
バーコードマーカ マルチカメラ
ユニット
バーコードマーカの 画像上の位置から カメラ位置・姿勢を推定 ジャイロセンサで得た
カメラの回転角度から カメラ位置・姿勢の 推定を補助・精度を向上
図 4.2: 本研究で提案するハイブリッドトラッキング手法の概略
度)をもとに、誤差情報(推定されたカメラ位置・姿勢から求めた画面上のバーコード 位置と、実際に検出された画面上のバーコード位置の差)を計算する。InertiaCube3の 出力にも誤差情報を付加する。これは事前にInertiaCube3の精度を計測しておき、固 定値として設定しておく。InertiaCube3のデータは、世界座標系とは異なった座標系に おける回転角度となっている。そこで、前フレームまでに計算された世界座標との差 分の回転行列を乗じて、世界座標系に直す。そして、誤差情報をもとに、誤差の自乗の 逆数を重みとして両方式の回転行列の重み付き平均をとり、これを最終的なトラッキ ング結果の回転成分とする。このとき、その結果の誤差σ0は、各結果の誤差をσ1, σ2
とすると、
σ02 = 1
1 σ12 +σ12
2
(4.1)
で与えられる。
バーコードマーカを2本以上認識できずマルチカメラによるトラッキング結果が得 られない場合は、マルチカメラの誤差は無限大とする。この場合、回転成分はジャイ ロセンサの情報で完全に上書きされる。カメラの現在位置は前フレームから変化して いないものと仮定すれば、トラッキング結果を得ることができる。
ただし、カメラの位置が移動していた場合には、ジャイロセンサの結果が正しい場 合でもトラッキング結果は平行移動分だけずれるため、重畳されるオブジェクトは平 行移動分だけずれて表示されることになる。これを軽減するため、1本でもバーコード
マルチカメラの トラッキング結果
の回転成分と その誤差情報
ハイブリッド トラッキングの結果 InertiaCube3の
トラッキング結果 とその誤差情報
InertiaCube3の 絶対方向との差分
とその誤差情報
× 重み付き平均
図 4.3: ハイブリッドトラッキングのデータフロー
マルチカメラの トラッキング結果
の回転成分と その誤差情報
InertiaCube3の トラッキング結果
とその誤差情報
InertiaCube3の 絶対方向との差分
とその誤差情報
× 差分
× 誤差に基づく係数 更新(乗算)
図 4.4: 差分情報の更新時のデータフロー
マーカが認識できている場合は次の処理によって位置を求める。
まず推定位置・姿勢の初期値として、位置を前フレームのトラッキング結果と同じ 位置、姿勢をジャイロセンサで得た値とする。そして、認識されたバーコードマーカ のスクリーン座標を用いて3.2.5項で述べた誤差関数の非線形最小化を行い、その結果 を最終的な推定位置・姿勢とする。
逆にマルチカメラによるトラッキング結果の誤差が少ないと推定された場合、世界 座標との差分の回転行列を更新する。この処理の流れを図4.4に示す。マルチカメラか ら得た結果と、InertiaCube3から得た結果(世界座標系)の差分を計算し、この差分 にマルチカメラから得た結果の誤差の自乗の逆数を重みとして乗算した後、差分成分 に掛け戻すことによって更新する。このように重みを加えて更新することで、マルチ カメラによるトラッキング結果の誤差が大きいときには差分情報は少ししか変化しな いため、トラッキング結果のノイズに対するロバスト性が向上すると考えられる。