䣔䣕䣌䢴䢲䢲䢻䣃䣅䢳䣎䢳䢯䢲䢷

ロボットの動作生成のための画像特徴の獲得○岡本太一 (東京農工大学) 小林祐一 (東京農工大学 / 理研 RTC) 大西正輝 (産総研)

Acquisition of image feature on collision for robot motion generation*Taichi OKAMOTO (Tokyo University of Agriculture and Technology),
Yuichi KOBAYASHI (Tokyo University of Agriculture and Technology / RIKEN RTC),
Masaki ONISHI (National Institute of Advanced Industrial Science and Technology (AIST))
Abstract— It is important for robots that act in human-centered environments to build image processing
in a bottom-up manner. This paper proposes a method to autonomously acquire image feature extractionthat is suitable for motion generation while moving in unknown environment. The proposed method extracts
low level features without specifying image processing for robot body and obstacles. The position of bodyis acquired in image by clustering of SIFT features with motion information and state transition model
is generated. Based on a learning model of adaptive addition of state transition model, collision relevant
features are detected. The proposed framework is evaluated with real images of the manipulator and an
obstacle in obstacle avoidance.
Key Words: Feature extraction, Robot motion learning, Obstacle avoidance

1.

はじめにロボットが人間社会に存在する全ての物体のデータを保持していれば認識能力は上昇するが，これは現実的ではない．人間社会でロボットが活躍するためには，未知の環境から自律的に環境の情報を獲得していく必要があると考えられる．この課題として，視覚情報の処理能力の向上が挙げられる．Minato et al. はロボットの知能の発達において，視覚入力や自らの運動に基づいて特徴抽出器を生成する能力が重要であると考えている [1]．この研究では，画像入力と行動により定義されたエントロピーを最大化することによって，画像処理フィルタを自律的に獲得しているが，望ましい行動は教師信号として与えられている．特徴抽出学習において動作生成と結びつけて考えることにより，ロボットの学習能力は向上することが期待される．
一方，動作生成を行う観点から，未知の環境で動作するために，必要な視覚情報だけを選びボトムアップに獲得していくアプローチが考えられる．Fitzpatrick
et al. は，自己の身体像と対象物をボトムアップに獲得する手法を提案している [2]．この研究では，画像内で最初に動いた物体をロボットの腕と認識し，対象物をロボットアームで押し操作する．この押し操作によって対象物は移動し，差分法を用いると対象物を抽出することができる．また，Stoytchev は TV 上での身体の位置を発見し，異なるスケール間の画像の同次変換を獲得する手法を提案しており，ロボットアームにマーカーを付け，運動指令を出したときに画像上で動いたものを身体として扱っている [3]．この手法は画像の回転や拡大にも適用できるが，マーカーを付けて抽出しやすくしているため抽出対象に特化している．[2][3] では身体像の獲得を行っているが，行動生成への適用が十分に論じられていない．差分などのシンプルな処理だけでなく，より低次の視覚特徴を動作生成と関係させながらボトムアップに学習できれば，より適用範囲の広い画像処理法の構築につながることが期待できる．

➨䢴䢹ᅇ᪥ᮏ兑兀儧儬Ꮫ఍Ꮫ⾡ㅮ₇఍凚䢴䢲䢲䢻ᖺ䢻᭶䢳䢷᪥ࠥ䢳䢹᪥凛

ロボットが未知の環境で動作するときには，予測通りに動作しない場合がある．このようなときには，ロボットが新たな予測を獲得していくことが重要になる．
Haruno et al. は非線形・非定常なタスクの制御則をモジュール構造を用いて学習させる MOSAIC(ModularSelection and Identiﬁcation for Control) を提案している [4]．この手法は環境の予測性に基づいて，予測を正しく行うモジュールに制御を行わせるものである．
本研究では，画像から行動生成のために必要な低次元視覚特徴をボトムアップに獲得し，2 関節マニピュレータの障害物回避行動を行うことを目的とする．特徴抽
出には SIFT(Scale Invariant Feature Transform) を用いる．SIFT とは，Lowe によって提案された画像中に存在する特徴を記述する手法の一つである [5]．SIFT
は，回転・スケール変化等に不変な特徴量を記述するため，イメージモザイク等の画像のマッチングや物体認識に用いられる．この SIFT 特徴のみを用いて，マニピュレータの形状および視覚特徴が未知の状態から，マニピュレータの色や形状といった特徴に左右されないマニピュレータの身体特徴，身体の状態遷移予測モデル，さらに行動に必要な画像特徴を自律的に獲得する手法を提案する．身体の形状，色などに左右されない運動情報との相関関係を用いた身体抽出を行うことで，異なるマニピュレータにも適用できる．提案手法
は [4] のように複数の状態遷移予測モデルを生成するだけでなく，画像特徴の認識に拡張したモデルの生成を行っている．また，動作生成には強化学習を用いる．
強化学習は，環境とエージェントの相互作用を通して行動を学習する [6]．環境やロボット自身の前提知識を必要とせずに，ロボットが自律的に試行錯誤を通じて環境に適した行動を獲得することができる．本研究では，画像座標系での強化学習を用いた動作生成を行う．
画像座標系を用いることにより，目標位置が画像から抽出された特徴で与えられたときに扱いやすくなる．
以下では，まず本研究の実験システムを説明する．次に提案手法を述べ，実験結果を示す．

䣔䣕䣌䢴䢲䢲䢻䣃䣅䢳䣎䢳䢯䢲䢷
Stereo camera

Manipulator

q2viq1cluster of body C *j

Ethernet
Fig.2 Clustering to extract body relevant features

Camera Server

Motion Generator

Fig.1 Experimental system

2.

実験システム本研究では，Fig.1 のような 2 関節マニピュレータとステレオカメラにそれぞれ接続された 2 台の PC を用いる．ステレオカメラにより得られた 2 次元画像と距離画像を利用する．本実験ではステレオカメラを用いたシミュレーションを行い，オフラインで様々な姿勢の画像を撮影している．距離画像中で干渉が生じた場合には，衝突とみなしマニピュレータが止まるようにシミュレーションを構成している．
本ロボットシステムに 2 つのタスクを設定する．1 つ目は，身体を 2 次元画像中の目標位置に動かすことである．ここで，画像中のどこに身体があるかは事前に与えない．2 つ目は，障害物を避けながら身体を目標位置まで動かすことである．障害物の位置も事前に与えない．

3.

障害物回避における特徴獲得

まず，行動するためには画像中での身体の位置を知らなければならない．本研究では，マニピュレータを動かしたときの運動情報を用いることで身体を抽出する．運動情報の獲得には，SIFT の対応点探索を用いる．
このとき障害物との衝突の生じない画像を用いる．身体と運動情報を用いてヤコビ行列を求めることにより，マニピュレータの状態遷移予測モデルを生成することができる．
障害物回避行動の実現のためには，一般的には障害物の位置・形状を知る必要がある．本研究では障害物そのものを抽出するのではなく，障害物との衝突を表す特徴を獲得する．ここでは障害物を設置した画像を用いる．障害物との衝突を表す特徴を用い，障害物回避行動を行う．動作生成には強化学習の一つである動的計画法を用いる．
3·1 身体特徴の抽出
マニピュレータに運動指令を出したときに 2 次元画像中で動いた特徴を身体を表す特徴として抽出する．ここでは衝突のない動きを考え，ロボットの運動と関係なく動く物体は画像中には存在しないとする．基準となる姿勢と，そこから関節角度を少し変化させた姿勢の 2 枚の画像を用いて，SIFT による対応点探索を行う．各特徴は 128 次元のベクトルで表される．そのベクトル情報を使って，異なる画像間での特徴の対応をとる．対応の判別には，ユークリッドノルムを用いる．
運動指令を出す前の時刻 t の画像を I(t)，動指令を出した後の画像を I(t + ∆t) とする．それぞれの画像で対応の取れた n 個の特徴の位置を pi (t) ∈ R2 , pi (t+∆t) ∈➨䢴䢹ᅇ᪥ᮏ兑兀儧儬Ꮫ఍Ꮫ⾡ㅮ₇఍凚䢴䢲䢲䢻ᖺ䢻᭶䢳䢷᪥ࠥ䢳䢹᪥凛

R2 (i = 1, 2, · · · , n) とすると，i 番目の特徴 pi の変位
量 v i は，
v i = pi (t + ∆t) − pi (t),i = 1, 2, · · · , n(1)と表せる．特徴の変位量 v i と位置 pi の 4 次元ベクトル [v Ti , pTi ]T ∈ R4 を用いた mean shift[7] によるクラスタリングを行い，次式によって最も大きな変位量 v iを持つクラスタを身体の特徴とする．
1 ∑j ∗ = argmax∥ vi ∥(2)
|Cj |
ji∈Cj

ただし，j = 1, 2, · · · , m はクラスタ番号を表し，Cj はj 番目のクラスタの集合を表す．身体の特徴を獲得するクラスタリングの考えを Fig.2 に示す．Fig.2 中の青い円が特徴を表している (円の大きさは特徴の持つスケールを表している)．赤い楕円の部分が身体クラスタ
Cj ∗ として抽出される．この処理を，複数のパターンの基準姿勢に対し，マニピュレータの 2 つの関節角度(q1 , q2 ) をそれぞれ正負の方向に少し動かした 4 通りの変化をさせて行う．

3·2 状態遷移予測モデルの生成
3·1 で得られた運動情報 (変位量) を基に，ヤコビ行列を推定する．運動学の一般式は以下のように定義される．
ẋ = J q q̇(3)ẋ は位置の変化量，q̇ は関節角度の変化量，J q はヤコビ行列を表す．q の同じ初期姿勢からの l 通りの変位を表す行列を ∆q 1 , ∆q 2 , · · · , ∆q l ∈ R2 とする．Q = [∆q 1 , ∆q 2 , · · · , ∆q l ] とし，そのときの画像座標系での身体特徴の変位量を表す行列を X =[∆x1 , ∆x2 , · · · , ∆xl ] と定義する．ヤコビ行列 J q は
X = J q Q の両辺の二乗誤差を最小にする J q を求めることで推定する．
J q = X(QT Q)−1 QT(4)

ただし q1 , q2 を n1 × n2 に離散化し，各 (q1 , q2 ) の組に対して J q を近似する．

3·3 衝突特徴の獲得
マニピュレータと障害物との衝突を表す特徴を獲得する．衝突特徴の獲得には，3·1 と同様にマニピュレータを動かすが，障害物を設置した画像を用いる．マニ
ピュレータの状態遷移は 3·2 で生成したヤコビ行列を状態遷移予測モデルとして用い，以下のように推定できる．
x̂(t + ∆t) = x(t) + J q ∆q(t)(5)

䣔䣕䣌䢴䢲䢲䢻䣃䣅䢳䣎䢳䢯䢲䢷collision
relevant
featureobstacle

obstacle
movableimmovable(a) example1(b) example2

Fig.5 Example of acquisition of body relevant feature(a) free(b) collision

Fig.3 Acquisition of collision relevant features
Learning agent
State transition model 1

f (t)

x(t)

State transition model 2
・・・

Featureextractor

State transition model Nq(t)Switcher of statetransition modelsxˆ (t + ∆t)

Planning & Control(a) patterns of collision (b) all collision relevant features∆q(t)Fig.6 All acquired collision relevant features
Robot & Environment

Fig.4 Selection of state transition model

しかし，障害物に衝突するとマニピュレータは予測通りに遷移せず，実際は式 (6) のようになる．

x̂(t + ∆t) = x(t)(6)

既存の状態遷移予測モデルでの推定が十分に行えない
ときは，新たに状態遷移予測モデルを生成する．また，この状態遷移予測モデルを選択するために，既存のモデルで推定できない状況になったときに初めて現われた特徴を用いる．Fig.3 の (a) では状態遷移予測モデル通り動くが，(b) では障害物があるために状態遷移予測モデル通りに動かない．このとき現われた特徴を衝突特徴としてモデルの切り替えに利用する．赤い円は対応の取れなかった特徴を表し，青い円が対応の取れた特徴を表す．Fig.3 の赤い円のような，障害物と接触したときに対応の取れなかった特徴を獲得する．
この特徴を用いて状態遷移予測モデルを選択することにより，状況に応じた行動を行うことができる (Fig.4)．

3·4 動作生成
動作生成には強化学習の一つである動的計画法を用いる．制御対象は 3·1 で得られた身体特徴のクラスタの重心 (以下，身体位置) とする．状態は 2 次元画像上での身体位置であり，身体位置の取り得る範囲で画像座標系の x, y 軸方向にそれぞれ N 分割した離散状態を扱う．各格子の価値の更新には以下の式を用いる．
∑aa′
V (s) = max
Pss(7)′ [Rss′ + γV (s )]aQ(s, a) =s′∑aa′
Pss′ [Rss′ + γV (s )](8)s′V (s) は状態 s の価値，V (s′ ) は次状態 s′ の価値を表し，a は行動で画像中の離散格子の上下左右の状態に遷移する 4 パターンを考える．Q(s, a) は状態 s で行動 a をaとったときの価値である．Pss′ は状態遷移確率を表す．
γ は割引率を表し，R は報酬である．初期設定として➨䢴䢹ᅇ᪥ᮏ兑兀儧儬Ꮫ఍Ꮫ⾡ㅮ₇఍凚䢴䢲䢲䢻ᖺ䢻᭶䢳䢷᪥ࠥ䢳䢹᪥凛

障害物を考慮せずに状態遷移確率を設定し，価値反復を行う．
推定したヤコビ行列を用い，q1 , q2 をそれぞれ一定値動かしたとき，最も身体位置が目的位置に近づくような q1 , q2 に動かす．このとき画像に現れた特徴と衝突特徴を比較し，衝突特徴が存在しなければ式 (5) の推定に基づいた行動を行う．衝突特徴が存在すれば式 (6)の推定に基づいた価値反復により，衝突する行動は回避される．このように，特徴を基にした衝突判定を行い障害物に衝突する度に価値を更新し，障害物回避行動を行う．

4.

実験結果

本章では，提案手法により得られた障害物回避行動の結果について述べる．

4·1 身体特徴の抽出
初めに身体特徴の獲得結果を述べる．SIFT の対応点探索により求めた特徴の位置と変位量を用い，meanshift によるクラスタリングをし抽出した身体特徴の結果を Fig.5 に示す．この処理を，q1 を 0 ∼ 50◦ の間で5◦ 刻み，q2 を 50 ∼ 150◦ の間で 10◦ 刻みの 11 × 11 =121 パターンの基準姿勢に対し，q1 を +5◦ , −5◦ ，q2 を+10◦ , −10◦ 動かした 4 通りの変化をさせて行う．
4·2 衝突特徴の獲得獲得された衝突特徴を全て書き出したものを Fig.6 に示す．Fig.6 の (a) のように，様々な角度からマニピュレータを障害物に衝突させてデータをとった．Fig.6 の(b) に障害物まわりに障害物特徴が取れているのを示す．Fig.6 の (b) の障害物の左下の方は衝突に関係ないにも関わらず衝突特徴として抽出されている．望ましくない衝突特徴が抽出されるのは，対応点探索に誤りが含まれていることが一因である．
4·3 障害物回避行動
得られた身体特徴の重心を身体位置とし，動的計画法により行動生成した．障害物回避行動と比較するために，障害物が存在しないときのリーチングの結果をFig.7 に示す．図中の緑色の円は身体位置を表し，黒い䣔䣕䣌䢴䢲䢲䢻䣃䣅䢳䣎䢳䢯䢲䢷

(1)

(2)

Fig.9 Collision relevant features
(3)

(4)

Fig.7 Result of reaching

(1)

(2)

(3)

(4)

は，身体位置獲得の不安定性である．クラスタリングを行っているため，クラスタリング結果に依存して抽出される身体特徴にばらつきが生じる (Fig.7，Fig.8)．
身体特徴にばらつきが出ると，その重心値である身体位置にも影響が出る．また，推定したヤコビ行列にも影響が出る．
2 つ目は，衝突特徴の不安定な獲得である．Fig.8 の(2) は障害物に衝突していると判定されている．このとき現れた衝突特徴を Fig.9 に示す．Fig.9 の赤色の円が衝突特徴を表している．青い円は SIFT によって現れた特徴である．Fig.9 より，衝突特徴はマニピュレータと障害物の接近位置周辺に現れていることがわかるが，マニピュレータと障害物の間だけに特徴が現われることが望ましい．

5.

(5)

(6)

(7)

(8)

Fig.8 Result of avoidance obstacles

円が目標位置を表す．行動するときに，マニピュレータの関節角度は q1 , q2 をそれぞれ ±5◦ , ±10◦ ずつ動かすこととする．状態は身体位置の取り得る範囲で画像座標系の x, y 軸方向にそれぞれ 10 分割した離散状態を扱う．割引率 γ は 0.9 とした．報酬 R はゴールで 0，それ以外の状態で −1 とした．障害物が存在するときの障害物回避行動の結果を Fig.8 に示す．報酬以外の条件は障害物の存在しないリーチング行動のときと同じである．報酬 R の初期値としてゴールで 0，それ以外の状態で −1 とした．
Fig.7 と Fig.8 に初期姿勢と目標位置を同様に設定することによって，障害物を回避している様子を示す．
ゴール時の身体位置と目標位置には誤差があるが，これはゴールの状態に身体位置が存在すれば行動を終了するようにしたためである．また，衝突特徴を獲得した
ときと障害物回避行動を行ったときでは，障害物の位置を 150[mm] ほど移動している．これにより，学習時と多少設定が異なっていても動作することを確認した．

4·4 考察Fig.8 では障害物回避行動に成功したが，失敗する場合もある．これには 2 つの理由が考えられる．1 つ目➨䢴䢹ᅇ᪥ᮏ兑兀儧儬Ꮫ఍Ꮫ⾡ㅮ₇఍凚䢴䢲䢲䢻ᖺ䢻᭶䢳䢷᪥ࠥ䢳䢹᪥凛

おわりに

本論文では，画像から SIFT を用いてボトムアップに必要な特徴を抽出し，2 関節マニピュレータの障害物回避行動を行った．身体を表す特徴を自律的に発見し，身体の状態遷移予測モデル，障害物との衝突を表す特徴を獲得した．障害物回避行動には強化学習の一つである動的計画法を用い，オンラインで状態遷移予測モデルを更新することにより達成した．今回は簡単な障害物回避行動を扱っているため，判別特徴は衝突特徴，状態遷移予測モデルも衝突しているときとしていない
ときの 2 つだが，この枠組みはそれ以上のモデルにも拡張可能である．今後の課題として，障害物回避行動だけでなく様々なタスクを考え，行動に応じて注意するべき特徴を自律的に抽出することがあげられる．
[1] T. Minato and M. Asada: “Towards Selective Attention: Generating Image Features by Learning aVisuo-Motor Map,” Robotics and Autonomous Systems, vol.45, pp.211–221, 2003.
[2] P. Fitzpatrick, G. Metta, L. Natalc, S. Rao, G. Sandini: “Learning about objects through action - initialsteps towards artiﬁcial cognition,” Proc. of IEEE International Conference on Robotics and Automation,
pp.3140–3145, 2003.
[3] A. Stoytchev: “Toward Video-Guided Robot Behaviors,” Proceedings of the 7th International Conference
on Epigenetic Robotics. pp. 165– 172. 2007.
[4] M. Haruno, D.M. Wolpert and M. Kawato: “Mosaic
model for sensorimotor learning and control,” NeuralComputation, vol. 13, pp. 2201–2220, 2002.
[5] D. G. Lowe: “Object Recognition from Local ScaleInvariant Features,” Proc. of IEEE International Conference on Computer Vision, pp.1150–1157, 1999.
[6] R. S. Sutton: “Reinforcement learning,” MIT Press,
1998.
[7] D. Comaniciu and P. Meer: “Mean Shift: A Robust Approach toward Feature Space Analysis,” IEEETrans. Pattern Anal. Machine Intell., vol. 24, no. 5,
pp. 603–619, 2002.