• 検索結果がありません。

アルゴリズムの高速化・高精度化

ドキュメント内 Mthesis_yamazaki.dvi (ページ 39-46)

第 4 章 対象物の発見

4.4 アルゴリズムの高速化・高精度化

前述したアルゴ リズムは 、高速性を重視し 構築されているが 、この中で計算コストの高い 処理の一つに非線形最小化がある。そこで、非線形最小化の処理に入力するデータや、処理 自体に工夫を加えることで、処理の効率や精度をさらに向上する[50]。以下では 、改良した 点について詳細を説明する。

カメラの角度成分の補正

画像 動作モデル 画像特徴点 特徴点の3次元位置 カメラ位置・姿勢

床面特徴点の除去

モーションステレオ

(暫定)

特徴点の3次元位置 モーションステレオの

結果が悪い特徴点除去 進行方向に移動 が少ない点除去

非線形最小化

(高精度)

特徴点の3次元位置

(高精度)

カメラの位置・姿勢

クラスタリング

対象物の正確な位置 大まかな大きさ L*a*b*表色系

に変換

   (暫定)

カメラの位置・姿勢

図4.6: 発見処理とデータの流れ

非線形最小化に入力する初期値に対し 、まず角度成分を補正した後に最小化に移行する ことで、処理の成功率を向上し 計算コストを削減する。

非線形最小化には初期値が必要であり、式(4.2)においては 、ロボットの動作モデルか ら推定するカメラの位置・姿勢と特徴点の3次元位置がそれに当たる。しかしこのカメ ラの位置・姿勢には誤差が含まれることは、前述したとおりである。非線形最小化をお こなう際、初期値が真値から離れている、すなわちロボットの動作モデルから推定する カメラの位置・姿勢の誤差が大きい場合には、最適化処理が収束しなかったり、収束ま での時間と計算コストを浪費する結果となる。

一方で、3次元復元の精度は、カメラの位置・姿勢の誤差、特に角度成分の影響を大き く受けることが図4.4で示されている。対象物の発見処理では、ロボットは直進走行す るため、推定位置が10mmずれることはあまりないが、角度が1度程度ずれるような事 態は頻繁に発生する。

これらより、処理の高速化・ロバスト化を、非線形最小化に入力する角度成分をなるべ く真値に近くすることで実現する。具体的には、カメラ姿勢のピッチ角・ヨー角それぞ れに対して、初期値の周囲2度の範囲を0.1度ごとに探索し 、非線形関数の評価値を求

める。この評価値が一番小さくなるような角度を新たな初期値とし 、非線形最小化をお こなう。この手法で選び出すカメラの位置・姿勢の初期値は真値に近く、非線形最小化 は高速に収束する。

入力する特徴点の選択

追跡の信頼性が高い特徴点のみを選択して非線形最小化へ入力することで、変数の行列 サイズを小さくする。

特徴点の抽出・追跡には、KLT-Trackerを利用している。このTrackerにより、画像中の 特徴点の推移が得られるが 、ここで得られる特徴点には、追跡ミスしたものや、カメラ から遠いものが含まれる。これらの点は3次元復元処理に悪影響を及ぼすため、以下の 条件を基に特徴点のスコア付けをおこない、評価値の高い点を非線形関数に入力する。

KLT-Trackerから得られる特徴の強さを示す値

画像間での特徴点の移動量

特徴点の画像内の位置

特徴が強い点ほど 画像間での追跡が正確である可能性が高い。また、画像間で移動の多 い特徴点は、カメラから近い位置にある可能性が高く、視差も大きいため復元精度も高 くなる。さらに、カメラは俯角を付けた状態で床面を見下ろすように設置されているた め、画像の下側にはカメラから近い部分が 、上側にはカメラから遠い部分が映り込んで いると想定できる。

特徴点を選択して非線形最小化をおこなう利点を述べる。非線形最小化には勾配法の一 種であるニュートン法を用いており、反復計算によって変数の更新を繰り返しながら最 適解を探索する。手順としては、変数の数に応じたヘッセ行列( 関数の二次微分を並べ た正則行列)を作成し 、その逆行列ともとの変数を掛け合わせることによって更新量を 求め、変数の更新をおこなう。この際、逆行列を求める処理は特に計算コストを必要と する上、変数の数が多くなるほど 計算コストが増大する。すなわち信頼度の高い少数の 特徴点のみを非線形最小化に入力することで、逆行列を求める際の計算コストを大幅に 削減し 、かつ誤差を含む特徴点によって最小化処理が収束しなかったり局所解に落ちる ことを防ぐ 。

4.5 基礎実験

4.5.1 実験方法

実際の環境を図4.7に示す。ロボットの前方の床面に直方体の箱をひとつ設置し 、その周囲 には机、椅子、棚など の他の物体が存在している。この環境に対し 、ロボットに搭載したカ メラの俯角を下向き20度とし 、初期姿勢とする。画像間での視差が十分小さく特徴点の追跡

camera

object chair

parts box

shelf 1200mm

2500mm 4300mm

robot

図4.7: 対象物の発見の実験環境

が容易になるよう、ロボットが20mm走行する毎に画像を取得し 、全ての画像間で特徴点の 抽出・追跡する。画像間の距離が200mmに達したところで、最初と現在の2枚の画像から環 境の3次元情報を獲得し 、提案するアルゴ リズムにより対象物の発見処理をおこなう。取得 された画像の例と特徴点の抽出・追跡結果を図4.8に示す。多くの物体が存在する実環境から は、対象物の部分以外からも特徴点が抽出されていることが判る。この画像列に対し 、オフ ライン・オンラインで実験をおこない、それぞれで対象物の発見が可能なことを確認した。

4.5.2 評価

オフライン・オンラインそれぞれでの処理方法と処理時間について述べたのち、実際に得 られたデータについて評価する。得られたデータは 、オフライン・オンラインで同一である。

オフラインでの実験

前述の方法で取得した11枚の画像列に対し 、デ スクトップ PC( Pentium4 , 2.8GHz) を用いて 、対象物の発見処理をオフラインで実行した。画像の解像度は640×480pixel であった。処理時間については、最初の画像から特徴点を抽出する処理に500msec、後 の画像列において特徴点を追跡する処理に300msec、最後の画像取得後におこなうモー ションステレオ・非線形最小化には、15msec、クラスタリングによる対象物の特定には 10msecを要した。

オンラインでの実験

ロボットを10mm/secで走行させながら、対象物の発見処理をおこなった。ロボットの 位置・姿勢をデスクトップPC( Pentium3 , 800MHz)上で観察し 、20mm毎に画像を取 得し 、特徴点の抽出・追跡をおこなった。処理時間については 、画像取得に100msec、 特徴点の追跡処理に800msecであった。すなわち、画像を取得する毎に要する処理時間

は約900msecである。200mm走行後におこなうモーションステレオ・非線形最小化処

理の処理時間は40msec、クラスタリング処理には30msecであった。以上より、対象物

原画像 特徴点抽出

1枚目

5枚目

10枚目

図4.8:取得画像と特徴点抽出

発見の全ての処理はロボットの走行中におこなうことが可能である。

図4.9は、オド メトリから得たカメラの位置・姿勢を用いてモーションステレオをおこなっ た結果である。視点は床面から垂直な向きである。ここでは 、特徴点の除去処理を一切おこ なわない結果を示した。カメラの位置・姿勢に誤差が含まれるため、復元結果は歪んでおり、

実際には存在しない位置に特徴点の3次元位置が求まっていることが判る。

図4.9:モーションステレオによる結果

実際の処理では 、モーションステレオの前に特徴点の除去処理をおこなっている。前述し た条件をもとに、3次元復元処理や対象物の特定処理に悪影響を与える特徴点を除去した場 合の結果を図4.10に示す。

図4.10:不要な特徴点を除去した結果

ここまでの処理で残っている特徴点は、特徴点追跡の精度が良く、画像間での視差も大きい。

これらの特徴点から、スコア付けにより選び出した少数の特徴点を用いて、カメラの位置・

姿勢と特徴点の3次元位置を非線形最小化により補正する。結果を図4.11に示す。

Parts Box Object

Robot

図4.11:非線形最小化により補正した結果

正確に求まった特徴点の3次元情報を床面に平行な2次元平面に射影し 、クラスタリング をおこなうことで対象物を特定する。本実験では 、平面を一辺40mmの格子に分けている。

この処理によって特定された対象物の特徴点集団は図4.12の通りである。

図4.12:クラスタリングにより対象物が発見された結果

以上の処理により、床面上に存在する対象物を特定することができ、ロボットと対象物の 正確な位置関係が求まる。

この対象物に対し 、形状モデリングをおこなっていく。

ドキュメント内 Mthesis_yamazaki.dvi (ページ 39-46)