日本ソフトウェア科学会第 34 回大会 (2017 年度) 講演論文集

自律ロボットの目標物認識能力の獲得について
兼松 明未

小松 芙美子

新出 尚之

我々は、人間の行為選択を模したエージェントモデルである BDI エージェントを用いて、実世界において自律的に目的を達成するロボットの実現を目指している. そのようなロボットに必要な能力の一つとして、目標物を認識してそこに到達する行動が挙げられる. 従来研究では、目標物に関する大量の学習データの収集の困難さなどの制約のもとで、認識率を上げることが課題であった. そこで我々は、学習方法の検討により認識率を上げることを目指し、ディープラーニングを用いて物体を認識する能力の獲得を行うとともに、この能力を BDI エージェントが用いて行為決定を行うためのライブラリの実装を行った. これにより、ロボットが複数の経由地を経て目標物に到達するなどのプランで行動することが可能となることを示す.

ことを試みた.

1 はじめに2 つ目は、ロボットが行為の失敗を認識することが近年、自律的に目的を達成するロボットが普及しつできなかったということである. ロボットが行為の失つある中で、ロボットにも人間と同様に周囲の状況に敗を認識することができなければ、いつまでも同じ行応じて適切な行動をとる能力が求められている. その動を繰り返してしまい、一向に目標を達成することがようなロボットには、自ら思考して、目的を決め、そできない. しかし、行為の失敗を認識することができれを達成するための手段を選択して行動する能力がるようになれば、失敗を回復するめのプランに切り替必要となる. 我々はそのようなロボットの基本行為のえて行動することができるようになり、目標を達成す一つとして目標物を認識してそこに到達する能力のることが可能となる. このように、ロボットが状況に獲得を目指しており、この能力を持つ BDI エージェ

応じて柔軟にプランを切り替えて行動するためには、ントの構築を行ってきた.

行為の失敗を認識する能力が重要となるため、これをしかし、従来研究 [5] ではいくつかの課題があった.

1 つ目は、ロボットの目標物認識能力が低かったことである. 従来の学習方法では、しばしば目標物を誤っ実装しようと試みた.
本論文では、以上 2 点の解決によるロボットの目標到達能力の向上について述べるて認識してしまっていたため、途中で目標を見失うことがあった. それにより、目標にたどり着くまでに遠回りをして時間を費やすことや、別の地点に到達してしまうことさえあった. そこで、認識率を上げるため

2 目標物認識法
本節では、ロボットの目標物認識能力として利用するために用いた 2 種類の学習方法について述べる.に、ディープラーニングによる物体認識法を利用する

2. 1 OpenCV による物体検出
Acquisition of object recognition ability of autonomous robot.
Akemi Kanematsu, Fumiko Komatsu, Naoyuki Nide,
奈 良 女 子 大 学 人 間 文 化 研 究 科, Nara Women’sUniversity.

画像認識に用いられる機械学習のアルゴリズムにはいくつかの種類がある [6]. 従来研究 [3] [5] では、目標物認識の足がかりとしてオープンソースの画像処理ライブラリである OpenCV を用いて機械学習を行う方法を採用した [2]. なお、言語には Python を用いてい目標物到達行動の検証実験を行った. この実験の結果

る. OpenCV では、識別する画像の特徴をとらえる特は、10 回中 8 回の到達率となり、達成率を向上させ徴量として、Haar-like 特徴・LBP 特徴・HOG 特徴ることに成功した.の 3 つから選択することが可能で、我々は Haar-like特徴量を用いて学習を行った. その仕組みは、さまざ

2. 2 ディープラーニング

まな特徴を持った Haar-like フィルタと学習サンプル

目標物の認識率を高め、更に到達率を上げることをを Adaboost に投入することで、どの特徴量を用いる目指して、我々は従来の学習方法を検討し直した. そとよいかを決定するというものである．

して、画像認識の分野において非常に高精度の性能[3] [5] では、学習によって作成した学習器を用いてを発揮し、注目が高まっているディープラーニングを目標物の認識実験を行った. すると、目標物でない物

利用することを試みた [4]. なお、本研究で行ったのは体を認識してしまう誤認識が多く見られ、認識率は約ニューラルネットワークによるディープラーニングで60%程度にとどまった. さらに、この学習器をロボッある.

トの目標物認識能力として利用し、ロボットが目標地

2. 2. 1 Caﬀe による画像分類点への到達行動を試みる検証実験を行った. この実験

Caﬀe はオープンソースで提供されているディープの結果は、10 回中 4 回の到達率となった.

ラーニングのフレームワークである. 特徴としては、

2. 1. 1 色情報を用いた認識の補完

柔軟なアーキテクチャを保持していることで簡単に動達成率が低い要因は、誤認識の多さによってロボッ作させることができる点や、GPU を利用した高速なトが別の物体を追跡してしまうことにあった. 学習器計算処理が可能である点などが挙げられる. また、従の性能を上げるために最も単純な方法は、学習に用い来研究と同様の Python 言語を使用して、容易にコーるデータ量を増やすことである. しかし、手作業でのドを拡張することができる.

撮影では大量の学習データを収集することが困難な

本研究では、Caﬀe がサポートしている CNN によ

上に、学習に用いるデータ量が増大すると学習時間がる多クラス分類を利用した. ネットワークの構成は、増え、さらに学習結果を利用する際の処理時間も大きCaﬀe に付属の CIFAR-10 と呼ばれるデータセットをくなってしまうためロボットの軽快な動きに影響を与参考にしている. CIFAR-10 は、10 クラスの画像分える。以上からこの方法は現実的ではなかった.

類を行うデータセットで、2 層構造の畳み込みニュー

そこで我々は、色情報を用いて認識を補完することを考えた. 本研究で利用した Haar-like 特徴量とは、ラルネットワークである.
本研究ではまず、6 クラスの画像分類器を作成した.

画像の一部分を切り出して局所的な明暗差の組み合選択した 6 つのオブジェクトの画像をそれぞれ約 600わせにより画像を判別するアルゴリズムである. その枚ずつ収集し、オブジェクトの領域を切り出して約ため、判別する画像は二値画像として処理されてお900 枚ずつの画像データを収集した. さらに、認識精り、色の情報が失われてしまう. この色情報を用いて度を高める手法として有効であることが知られている認識を補完することで、最も目標物に近い物体を選「データ拡張」を行った. データ拡張とは、学習データ出することができるはずである. 手順としては、まずに反転、回転、拡大・縮小、輝度値の調整などさまざ

事前に目標物の一部を切り出した画像を用意する. つまな加工を施すことによって学習データ量を簡単にづいて、先の学習器を用いて物体検出を行い、検出さ増幅させる手法である. これによって、各オブジェクれた複数の領域のそれぞれについてカラーヒストグ

トの画像データは 6 クラス合計で 34026 枚となった.

ラムを計算する. そして、カラーヒストグラムが最もこれを学習用とテスト用に分け、その合計枚数は学習目標物に近似している領域を認識領域として判定し、用が 29170 枚、テスト用が 4856 枚となった．これらロボットに伝達する.の学習データを用いて画像分類器の学習を行った．

色情報による補間を行って、先と同じロボットの作成した画像分類器を用いて画像の分類テストを行い、学習に用いるパラメータの調整を重ねた. そのその合計枚数は学習用が 33799 枚、テスト用が 5627

結果、この画像分類器の分類精度は、約 99.67%の精枚となった．

度を上げることができた.

こうして作成した 7 クラスの画像分類器を使用して画像の分類テストを行ったところ、98.2%の高い精クラス番号

収集枚数

サンプル数拡張数

度を上げることができた. そして、この画像分類器を

01000

10006000

使用することによって、誤認識領域を取り除いて物体

16058615166

検出を行うことが可能となった. さらに、入力画像と2600

9295574

して与えられるロボットに搭載したカメラの映像を 2

3800

10256150分の 1 サイズに変換して処理を行うことによって、処46009135478

理の高速化を行うことができるようになった. 今後、

57809435658

この物体検出法をロボットの目標物認識能力として合計

4385

567134026

利用し、ロボットが目標物到達行動を行う検証実験を

表16 クラス分類の画像データ枚数

行う.

クラス番号

収集枚数

サンプル数

拡張数

0100010006000

2. 3 ディープラーニングと物体検出

16058615166

物体検出を行うためには、与えられた画像から物体26009295574の位置を特定し、クラス分類を行う必要がある. そこ

3800

10256150

でまず、入力画像から候補領域の抽出を行わなければ4600

9135478ならない. これにはディープラーニングを用いる方法

5780

9435658もあるが、本研究では従来研究で利用した OpevCV

65400

54005400の traincascade を用いることにした. 6 つのオブジェ

合計

97851107139426

クトをまとめて学習すると、2.1 節と同様に物体検出器が作成される. この物体検出器で検出された複数の表27 クラス分類の画像データ枚数領域のそれぞれを、2.2.1 節で作成した画像分類器にかけることによって、検出物体の特定を行うことができる.

3 BDI エージェントの構築

しかし、6 種の類似性の低いオブジェクトを 1 つBDI エージェントとは、信念 (Belief)、願望 (De-の物体検出器で学習させたことによって、1 種のオブsire)、意図 (Intention) の 3 つの心的状態を用いて熟ジェクトを学習させた従来の学習器よりはるかに誤認考し、目標達成のためのプランを選択し、行動決定を識の多い結果となった. そこで、Caﬀe で作成した画行うエージェントである. これは、人間の行動決定方像分類器に 7 つ目のクラスとして「6 つのオブジェク式を模倣したモデルであるため、人間同様の柔軟な思トのいずれでもない不正解のオブジェクト」というカ考を可能とする.

テゴリを設けて、再度画像分類器の学習を行うことに

BDI エージェントでは、信念や願望から最終的にした. ここで、このクラスの学習データには、物体検達成したい目標を持つと、いくつかの途中に達成する出器で検出された誤認識領域を画像データとして保副目標が生成され、これをサブゴールと呼ぶ. このサ存して収集した 5400 枚を使用することとした. そし

ブゴールを達成するための手段としてプランを用意て、先の学習器と同様に、このデータを拡張して得らしておく. そして、周囲の環境から知覚を得ると、これた 39426 枚の画像を学習用とテスト用に分けると、れらのプランの中から状況に応じた最適なプランを選択して行動する. このとき、意図が形成される. 選の概念について、定義を行う必要がある.

択したプランが失敗した場合も、失敗を回復するため

従来研究では、ロボットが目標物を認識している間のプランを選び直すことが可能である. こうしてサブは目標物への接近行動を行い、目標物を認識していなゴールを順に達成していくことによって最終目標の達い間は探索行動を行っていた. しかし、この探索行動成を目指すものである.

は非常に単純なもので、単にその場で反時計回りに回我々は、自律型のロボットエージェントを構築する転を行うというものであった. そのため、目標物が見にあたり、BDI の構築プラットフォームである Jason

つけられない場合はロボットがいつまでも同じ地点を使用した [1].

を回り続けてしまっていた. このような事態を避けるために、ロボットに搭載したコンパスセンサと呼ばれ3. 1 Jason

るセンサを利用することにした. コンパスセンサは地Jason は AgentSpeak のインタプリタである. Ja-

磁気を読み取ってロボットが向いている方角を検出す

son で記述するプランはトリガリングイベント、コンるセンサである. このセンサを用いて、探索を開始すテキスト、ボディで構成されている. 論理型プログラる際の最初の方向を記憶しておく. そして、探索行動

ミング言語である Prolog と同様の記述方式を用いて、を繰り返したのちに、ロボットが 360 度回転したこ条件を組み合わせて複雑なプランを生成することがとを検知すると、その地点において目標物の認識にできる. そのため、動的な環境に応じたさざまなプラ

失敗したと判断し、行為の失敗をエージェントに伝えンを用意しておくことで、目標達成に向けた幾多のアる. これに加えて、時間がかかりすぎる行為についてプローチが可能となる.

も失敗とみなすことにした. これには、Jason の内部本研究において実装した「目標物に到達する」といアクションを利用して時間計測を行い、行為を開始しう目標もサブゴールのひとつである. このプランに失て一定時間が過ぎるとその行為に失敗したと判断す

敗した際に、あらかじめ用意した失敗回復のためのプる. なお、失敗と判断するまでの時間は任意に設定すランを選択することによって、ロボットが目標地点へることができる.の到達行動を達成することができるようになる. 以降

これらによって、「方位」と「所要時間」の側面かの節では、そのために実装した目標物到達行動の失敗

らエージェントが行為の失敗を認識することができるの定義や、回復行動をとるために用意したプランなどようになった.

について述べる.
目標物

3. 2 失敗の概念の追加
ロボットが目標物への到達行動を試みても、失敗すロボットの向きる可能性がある. 失敗が起こっても効率的に行為を遂

障害物ロボット行するために、まずロボットエージェントは行為の失敗を認識する必要がある. では、到達行動に失敗する

ロボットの目標物認識圏

場合とはどのようなものが想定されるか. 例えば、ロボットと目標物の間に障害物が存在していたり、目標(a)目標物がロボットの認識圏外にある(b)目標物とロボットの間に障害物がある物がロボットの認識可能圏内にないことが原因で、ロボットが目標物を見つけられない場合がある. また、ロボットが目標物を見つけても、目標物までの移動経路を乗り越えられない場合もある. さらに、ロボット自体の故障や不具合によって身動きがとれない場合などもある. このようにしてさまざまに起こりうる失敗

図1

ロボットがある地点で目標物認識に失敗する

3. 3 目標物認識の効率化

のちに同じ地点で再び探索行動を開始する．

2.1 節でも述べた通り、従来の目標物認識法は精度

このようにして失敗からの回復行動をとることがが低かったため、一度目標物を検出しても、ロボットできるようになった結果、効率的な目標物到達行動をが目標物への接近行動を行っている間に目標物を見実現することが可能となった．

失ってしまうことがあった. 一度目標物を見失うと、ロボットは目標物の方向から反れて探索行動を繰り返してしまうため、再発見できる可能性は低い. そのため、その地点での行為の失敗をエージェントに伝えることになる. そこで、一度見失った目標物を再発見する可能性を高めるために、探索行動の改善を行った.
その内容は、先述のコンパスセンサを用いてロボットが以前目標物を認識した地点付近に戻って再探索を行うというものである. これによって、ロボットの目標物再発見率を高めることができるようになった.

ロボットが目標物の認識に失敗する
図3

地点を変えて再探索を行う

ロボットが別の地点に移動して目標物の再探索を行う

4 まとめと今後の課題
本研究では、ロボットが自律的に目標物に到達する能力をより汎用的なものにするために、ディープ目標物を認識する

見失って通り過ぎる

以前認識した地点に戻るラーニングを取り入れた目標物認識能力の高精度化と BDI ロボットエージェントの改良を行った. 新規図2

ロボットの目標物再認識を効率化に獲得した能力を組み込んだ検証実験は未実施ではあるものの、各部で行ったテストでは好成績を上げている．ゆえに、ロボットの目標物到達行動の達成率も3. 4 失敗からの回復行動向上することが予測される．

3.2 節で定義した行為の失敗を検知したとしても、今後の課題としては、さらに目標物の検出率ならまだ目標を達成できないわけではない. 3.1 節で述べ

びに認識率を向上させることによって、より正確な物た Jason の失敗回復行動をとるために、失敗回復の体認識を行うこと. さまざまな状況に対応できるようプランを 2 つ作成した. 1 つ目は、ロボットが目標物にロボットエージェントのプランをより複雑に構成すの探索行動を行った際にまったく目標物を認識せずることなどが挙げられる．また、目標物到達行動以外に到達に失敗した場合に選択される. この場合、そのの能力を順次獲得させることによって、自律ロボット地点には目標物が存在しない可能性が高いため、ロの実用性を高めていくことができる. 更なる発展を加ボットは別地点へ移動し、再び探索行動を開始する．

え、より実世界に近い環境で目的を達成する自律ロ

2 つ目は、ロボットが目標物の探索行動を行った際にボットの実現を目指していく．

目標物を認識した記録がある場合に選択される. この謝辞 本論文の執筆にあたって、熱心にご指導いた

場合、目標物とロボットの間に障害物が生じたり、目だいた新出尚之准教授と新出研究室の皆様に深く感

標物認識能力の精度不足で目標物を途中で見失ってし謝の意を表す.

まった可能性が高い. したがって、一定期間待機した参 考 文 献[1] Bordini, R. H., Hübner, J. F., and Wooldridge,
M.: programming multi-agent systems in AgentSpeak using Jason, Wiley, 2007.
[2] 桑井博之, 豊沢聡, 永田雅人: 実践 OpenCV2.4 forPython 映像処理&解析, 株式会社カットシステム, 2014.
[3] 兼松明未: ROS によるロボットの目標地点の到達行動の実現について, 2015 年度卒業論文, 奈良女子大学理学部情報科学科, 2016.

[4] 斎藤康毅: ゼロから作る Deep Learning Python で学ぶディープラーニングの理論と現実, オライリー・ジャパン, 2016.
[5] 樽井志織, 兼松明未, 新出尚之: 目標物到達機構を持
つ自律的な小型ロボットの制御を行う BDI エージェン
トの構築, 日本ソフトウェア科学会第 33 回大会, 2016.
[6] 藤吉弘亘, 堀修, 三田雄志, 山内悠嗣他: ディジタル画
像処理 [ 改訂新版 ], 公益財団法人 画像情報教育振興協会, 2015.