第 5 章 対象物の形状モデリング
5.5 基礎実験
5.5.1 実験方法
床面上に設定した対象物に対し 、ロボットが1500mm手前で対象物を発見したという前提 を置き、ロボットに対象物を中心とした半径800mmの円経路を与えた。ロボットが20mm走 行する毎に画像を取得することで合計229枚程度の画像列を得た。ここでの対象物は 、直径
220mmの球体( サッカーボール )とし 、形状モデ リングは、この画像列に対し 、オフライン
でおこなった。初期フェーズを最初の25枚の画像で、その結果を初期値として残りの204枚 の画像に対して逐次フェーズをおこなった。最終フェーズでは 、全周囲の画像列のうち3ヶ 所から、30枚ずつ画像を選んで処理をおこない、最終的な形状を得た。
1500mm
800mm Robot
Trajectory
Sequential Phase
Preliminary Phase
図5.13:ロボットの走行経路
実験に用いたシステムの構成図を図5.14に示す。画像取得には、HITACHI製の画像処理モ
ジュールIP7500を用いる。画像のサイズは512×440pixelである。カメラのパン・チルト角と
車体の行動制御は、シリアル通信を用いてノートPC(CPU Celeron 1.1GHz)上でおこなう。
画像取得の命令は 、ノートPCからシリアル通信を介してIP7500へ出力される。
5.5.2 カメラの注視制御
提案する形状モデリングを実現するためには、移動ロボット上に搭載したカメラによって、
対象物の全周囲の画像を取得しなければならない。このとき問題となる事柄は、大きく分け ると以下の2つになる。
1. 対象物の全体像を復元できるような画像を、適当な視点から得られているか
IP7500 Camera
Robot
NotePC
シリアル通信
パン・チルト角制御 画像取得命令 オドメトリ情報取得 映像信号
Celeron 1.1GHz Celeron 1.1GHz
図5.14:システム構成
2. 取得した連続画像から、特徴点の抽出、追跡が可能であるか
項目1.については 、ロボットの経路計画の問題となるが 、本実験では対象物の形状が複雑 ではないため、単純な円経路で対応し 、対象物の形状が複雑であった場合のロボットの軌道 生成については今後の課題としておく。一方、項目2は 、画像列を用いた処理が可能か否か に関係する基本的な事柄である。具体的には 、連続した2枚の画像間での視差が 、特徴点追 跡が可能な程度に小さくなっていることや、画像が「ぶれ 」や「ぼやけ」を含まない状態で 安定して取得できていることが画像列への条件となる。本実験では、視差の問題については、
ロボットが20mm走行する毎に画像を取得すれば十分であると経験から判断した。安定した 画像列の取得に関しては 、対象物が画像の中央に常に映り込むように 、ロボットのオド メト リ情報と合わせたパン・チルトカメラの視点を決定することで対応した。以下で、オド メト リ情報に基づくカメラの角度の算出法について述べる。
注視すべき点の3次元位置がP= (X, Y, Z)であったとき、オド メトリから、ロボットの位 置T= (xr, yr)と角度αが得られたとする。図5.15中のdはロボットの中心からカメラまで の距離、hは床面からのカメラの高さである。これらより、カメラのパン角θとチルト角ψを 求める。まずカメラの位置をC= (xr+dcosα, yr+dsinα, h)として、
a=X−xr−dcosα
b=Y −yr−dsinα (5.8)
とするとき、それぞれの値は次のように求まる。
θ= cos−1 dacosα+dbsinα da2+b2 ψ= tan−1 h−Z
a2+b2
(5.9)
これにより、カメラの注視制御をおこなう。
camera
robot
d
h Target Point
Target Point Side ViewS
Top View
α θ
図5.15:ロボットの走行経路
5.5.3 評価
移動ロボット上から取得した画像列の例を図5.16に、特徴点の抽出例を図5.17に示す。初 期フェーズに利用する画像列では 、複数枚の画像間で追跡され続ける特徴点を処理に用いる ため、最初の画像から150点の特徴点を抽出し 、その後複数枚にわたって追跡のみをおこなっ た。逐次フェーズに利用する画像列では 、特徴点を1点毎に処理するため、画像内の特徴点 が常に150点となるように設定し 、追跡可能な特徴点についてはそのまま処理を続け、追跡 不可能になった特徴点は特徴点リストから消去し 、別の部分に新たな特徴点を抽出すること とした。
以下で、各フェーズ毎でデータを示しつつ、評価をおこなっていく。
(1)
(2)
(3)
(4) (8)
(7) (6) (5)
図5.16:全周囲画像の例
(1)
(2)
(3)
(4) (8)
(7) (6) (5)
図5.17:特徴点の抽出・追跡
初期フェーズ
初期フェーズでは、25枚の画像全てで追跡が続いた特徴点の推移情報を用いて、カメラ の位置・姿勢と特徴点の3次元位置を同時に復元する。図5.18は、初期フェーズで用い る最初の画像と、最後の画像の特徴点の追跡結果を示している。ここでは、最初に150 点の特徴点を抽出したが 、最終的に追跡され続けた特徴点は80個程度であった。さら に、これらの特徴点の中には追跡ミスを起こしている点もあるため、前述したRANSAC の枠組みを用いて 、40個の特徴点から 、カメラの位置・姿勢と特徴点の3次元位置を 推定した。処理時間については、1枚の画像特徴点の追跡処理に平均300msec、因子分 解法、非線形最小化を一度おこなうのに50msecを要した。
図5.18:初期フェーズでの特徴点追跡結果
逐次フェーズ
逐次フェーズでは、初期フェーズの結果を初期値とし 、カメラの位置・姿勢と特徴点の 3次元位置を逐次的に求める。このフェーズでは、視点の移動により対象物の見え方が 大きく変化するため、追跡不可能になった特徴点の消失に伴い、特徴点の追加抽出をお こなう。図5.19は、特徴点を抽出・追跡した過程で、何点の特徴点が新たに抽出された かを示すグラフである。横軸が画像番号、縦軸が新たに抽出された特徴点数を表す。ほ とんど 全ての画像において 、数個の特徴点の入れ替わりが起きていることが判る。
逐次フェーズでは 、KLT-Trackerを改良することで特徴点のオクルージョンに対処し 、
RANSACの枠組みを用いることで特徴点追跡ミスへ対処していることは前述した通り
である。以下では、この改良の有効性について実データと共に示す。
このフェーズでは、RANSACの枠組みを用いることが不可欠である。なぜなら、本実験 で用いているような、移動ロボットに搭載したカメラから得る画像列に対しては、
KLT-Trackerはしばしば追跡ミスを起こす。これらの特徴点を基にカメラの位置・姿勢を求
めようとすると、ほとんどの場合非線形最小化が収束せず、処理が破綻する。また、画 像のセルフオクルージョンに対しKLT-Trackerを改良したことは2節で述べたが 、この
図5.19:特徴点の入れ替わり
改良無しに復元をおこなった場合、直接には処理の破綻につながらないが 、復元精度が 著しく低下する。
図5.20、図5.21は、KLT-Trackerの改良の有無について、復元結果の比較を示したもの である。視点は床面と垂直な方向であり、各軸の単位はmmである。改良前には 、ロ ボットに与えた経路を復元できず、カメラの位置・姿勢と物体の形状の誤差が相互に蓄 積していく。改良をおこなった場合には、半径800mmの円経路を正確に復元しており、
カメラの位置・姿勢を推定するのに必要な3次元位置が既知の特徴点が 、全ての画像で 一定個数以上観察できている。
図5.22は 、逐次フェーズによるカメラの位置・姿勢と特徴点の3次元位置の復元結果 である。円錐がカメラを表し 、円錐の底面がカメラの向きである。全てのカメラ姿勢 が 、対象物の方向を向く形で復元され、位置についてもロボットに与えた円経路が得ら れていることが判る。カメラの位置・姿勢については190ヶ所、特徴点の3次元位置に ついては1300点を復元している。カメラの位置・姿勢を求める処理で用いるRANSAC については、最大500回を上限としたが、非線形最小化によるの関数の評価値が所定の 閾値より小さな値に収束した時点で、処理を終了するよう設定した。処理時間について は 、1枚の画像から特徴点の抽出・追跡処理に400msec、204枚の画像から特徴点の3 次元位置を求める処理に7sec、80ペアの画像からアフィン不変量を用いた復元をおこ
なうのに15secであった。すなわち、画像1枚に要する処理時間の平均は700msec以下
である。
改良後
改良前
Target Object
X Y
図5.20: 形状モデリングの改良(1)
Tracker改良後
Tracker改良前
画像枚数 信頼できる特徴点の数
図5.21: 形状モデリングの改良( 2)
(1)
(2)
(3)
(3)
(5)
(6)
図5.22: カメラ位置・姿勢と特徴点の3次元位置
最終フェーズ
最終フェーズでは、逐次フェーズで得られたカメラの位置・姿勢を用いて、アフィン不 変量を利用した密な復元の結果を初期値としたSpace Carvingをおこなう。本実験では、
voxelの一辺の長さは2mmとし 、最終的に60000個のvoxelによって対象物の密な形状
を表現した。処理時間は、180secを要した。
復元結果を図に示す。実際の対象物の大きさをほぼ正確に再現できており、実測値との 誤差は最大10mm程度であった。ただし 、本来あるべきでない場所にvoxelが残ってし まう現象が見られており、この部分の改良は今後の課題である。
以上の処理により、対象物の形状モデリングを実現した。他のモデリング例を図5.24、図 5.25に示す。
図5.23:最終フェーズの結果
図5.24:対象物(グローブ )の画像列
図5.25:対象物(グローブ )のモデリング結果