最新AI論文をキャッチアップ

ロボットが未知の物体を扱う!! キット組み立てタスクの汎用化の方法とは?

ロボットが未知の物体を扱う!! キット組み立てタスクの汎用化の方法とは?

ロボティクス

3つの要点
✔️ キット組み立てタスクをShape matchingの問題として解く
✔️ 未知の物体、キットに対しても高い確率で組み立てに成功

✔️ 学習データをキットの解体をすることでself-supervisedな方法で効率的に収集

Form2Fit: Learnng Shape Priors for Generalizable Assembly from Disassembly
written by Kevin ZakkaAndy ZengJohnny LeeShuran Song
(Submitted on 30 October 2020)

Comments: Published by ICRA2020
Subjects: Robotics (cs.RO), Computer Vision and Pattern Recognition (cs.CV), Machine Learning (cs.LG)

はじめに

ICRA2020の国際会議ベストペーパーとして選ばれた論文を紹介します。ロボティクスの分野において重要な課題である"未知の物体に対してもタスクを解くことがきでるような汎用的な方策を学習できるか?"、において、本研究は特に"キットの組み立て"に対してアプローチをした論文です。例えば、小売店などではシーズンごとに並べる商品が変わることが多く、ロボットがそのような未知の商品に対して、正しく積み上げて棚に並べることが求められるなど、非常に重要な分野と考えられます。

このような問題に対して、今までは物体のposeを推定することで解く手法が多かったですが、3D CADモデルやその特定のタスクに対する幅広い学習データない場合は、新しい物体に対して汎用的に解くことが出来ない問題点があります。本研究では、このキットの組立タスクを、物体のShape matchingの問題とみなし、物体と置く場所の形の幾何学的な一致性を学習するshape descriptorを獲得することで、未知の物体に対してもキットの組立のタスクを解くことが出来るようにするというものです。また、本論文では、学習データを完成したキットの分解から獲得するself-supervised data-collection pipelineを提案しました。

手法 

本論文で提案されたモデルは主に3つ; Suction Module, Place Module, Matching Moduleに分けられます。このモデルの入力となる画像は2種類で、配置する物体に関する画像を$I_{obj}$、配置されるキットに関する画像を$I_{kit}$とし、それぞれグレースケールの深度を表したヒートマップになっています。実験で利用されるロボットは、UR5eと呼ばれるもので、エンドエフェクタには吸引機能を用いて物体を持ち上げることが出来るものを利用しています。この章ではそれぞれのmoduleと、各moduleの情報を統合して最終的な出力を決定するPlannerについて詳しく説明していきます。

Suction Module: 物体のどこを掴むかの学習

物体を掴むには、まず物体のどこの部分を掴むかを学習しなければなりません。Suction Moduleは、物体に関するヒートマップ$I_{obj}$を受け取り、各ピクセルが、どこを掴むと安定して物体を掴むことができるかの確率を表すConfidence map $S$を出力します。

Place Module

物体をキットに対して配置する際に、配置する順番が重要になる場合があります。例えば、下図の例では初めに、キットの一番下の段に物体を配置しなければなりません。よってPlace Moduleは現在のキットの状態から、次の配置がどこが最適かを推定し、より最適な場所にあたるピクセルの確率が高くなるようなConfidence map $P$が出力されます。

Matching Module

Matching Moduleでは、Suction Moduleと Place Moduleから得られた情報から、対応するshapeを紐付けなければなりません。そのうえで、実際に組み立てる際に物体を回転させる必要があるため、どの程度物体を回転させる必要があるかも予測する必要があります。Matching ModuleはSiamse Networkを利用しており、これは2つのストリーム、つまり2つの入力層とそれぞれに続くレイヤーで成り立っており、Neural Networkのweightは共有しています。このネットワークの目的は最終的に物体とキットのそれぞれのヒートマップ$I$からd次元のdescriptor spaceへの写像を行う関数fを学習することです。この特徴量が似ているほど、物体とキットのshapeに関して幾何学的に一致性が高いことを表しています。

ではより詳しく説明していきます。まず、1つ目のNeural Networkのストリームは物体についてのヒートマップ$I_{obj}$を入力とし、物体のdense object descriptor map $\mu_{obj}$を出力します。もう一つのストリームは、18度ずつ画像を回転させた計20枚のヒートマップの画像を入力として、20のkit descriptor $\mu_{kit}$を出力します。そして、この中のうちの一つが、物体のorientationと一番近くなり、その際kitを回転させた角度$\theta$がキット組み立ての際に、物体をどの程度回転させなければならないかを示します。よって、20のkit descriptorのうちどの角度に回転させたものが一番合うかは$\theta = \frac{360}{20} \times \text{argmin}_{ij} ||\mu_{kit} - \mu_{obj}||^{2}_{2}$で求められます。これにより、matching networkは幾何学的な物体とキットの形の一致性だけではなく、どの程度物体を回転させなければならないのかも学習します。

学習はcontrastive lossを用いて学習され、物体に対して形が一致する正しい回転がされたkitのdescriptorをより物体のdescriptorに近くなるように、逆に正しくない回転がされたdescriptorが物体のdescriptorから、より遠くなるように学習されます。

最後に、実際にキット組み立てを行うためのPlannerについて説明します。

Planner

Plannerは、今まで説明した3つのmoduleを統合します。まず、Suction Moduleの出力$S$からtop-kの掴む物体の候補を選び、同じくPlace Moduleの出力からも20のすべての回転されたものからtop-kの置き場所を選びます。そのうえで、それぞれのペアのdense discriptorのL2距離を図り、一番小さいペアを選び最終的に操作する物体の位置と、物体を置く位置、そして物体の回転を出力し、ロボットを動かします。

Data Collection

本論文は、学習に必要なデータを生成するために、ロボットがキット内の物体を空にする、つまり解体して軌跡(trajectory) $\{T_{1}, T_{2}, \dots, T_{N}\}$を得た後、得られた軌跡のデータをリバースした$\{T_{N}, T_{N-1}, \dots T_{1}\}$を実行し、キットの組み立てを行うプロセスを連続的に行うことでデータを集めていくself-resetting closed-loopシステムを提案しました。これにより、人間の手で環境をリセットする必要がなく、自動でデータを集めることを可能としました。

実験

本実験では主に以下の目的について実験を行います。

1) 提案された手法が他のベースライン手法に対してより良い結果を出すか
2) 様々な回転や並行移動に対してロバストであるか
3) 複数のキットを配置するなど新しい配置に対しても解くことができるか
4) 未知の物体やキットに対してもshape descripterを学習することができるか

上記の4つを確かめる実験を行っています。実験で利用する物体、キットは以下の図にまとめられています。この章では順番に実際にどのような実験を行い、どのような結果が出たのかを紹介していきます。

Pose Estimationを用いた手法との比較

まずはじめに、提案手法と、pose estimationを利用した手法であるOPB-PEと呼ばれるPose Estimationを利用した手法と比較をしました。本論文で提案されたForm2Fitの手法は、物体と最終的なキット内でのポジション間の剛体変化を生成します。それに対して、OPB-PEは観測された物体と以前に観測された物体との剛体変化を求めます(ただし、以前に観測された物体とキット内でのポジション間の変換はあらかじめ分かっているとします)。その上で、この実験では生成された剛体変化が正解ラベルの剛体変化とどの程度近いかで評価されます。実際の評価はaverage distance metricと呼ばれる手法を用いてarea under the accuracy-threshold curveを求め、その結果が以下のテーブルにまとめられています。下の結果から、基本的に提案された手法であるForm2Fitがより高いmean area under the curveを示していることがわかります。

新たな設定に対する汎用性

 本実験では、テスト時に新しい設定、つまり複数のキットを用いた実験や、未知の回転と平行移動がなされた物体とキットに対しての実験を行うことにより、学習されたモデルがロバストであるかを確かめた実験です。評価指標としては、各物体に対して、何回かの試行を行いどの程度成功したかのパーセンテージの平均で表されます。以下のTABLE Ⅱは、学習時にキットと物体のポジションを固定にして学習し、テスト時に物体とキットの初期配置を新しいものにしたときの結果になります。テーブルの結果が示すように基本的に成功率が90%を超えています。しかしfruitsに関しては、レモンとイチゴが幾何学的に似ているために失敗が多く、65%、60%という成功率が低い結果になりました。

TABLE Ⅲは、学習時は2種類のキットそれぞれ個別に学習したものに対して、テスト時に、下の図Figure 6 (c)と(d)のように複数の同じキットもしくは、組み合わせの設定で実験を行った際の実験結果を表します。テーブルが表すように提案手法は高い確率で、新しい設定に対してキットの組立に成功していることがわかります。

最後に、未知のキット、物体に対する実験を行い、86%の成功率を出したと論文では主張しています。

特徴量の可視化

最後に、学習されたdense descriptorをより理解するために、t-SNEを用いて可視化をしました。下図から、(A, C, D, E)や(H, F)のように物体の向きが違う場合に、違うdense descriptionが学習されていることから、dense descriptorが回転を考慮して学習していることがわかります。またその上で、物体が同じ向きの場合、物体上の同じ座標のdescriptionが似ていることがAとBから分かります。さらに、fruitsやzoo animals (下図の右側2つ)はそれぞれ違う物体を表しており、同様ににdense descriptionもユニークなものとなっています。

まとめ

本記事では、如何にして未知の座標や物体、キットに対して、キット組み立てタスクを解くかという問題に対して取り組んだ論文を紹介しました。現状、幾何学的に似たような物体の場合、失敗することが多いなど、現実世界で利用するにはまだまだ解決しなければならないことがありますが、ロボットのキット組み立てタスクをshape matchingの問題とすることで、未知の物体に対しても高い確率で成功したことはとても興味深いと思います。今後もロボットの汎用化に関する論文にとても期待しています。 

記事の内容等について改善箇所などございましたら、
お問い合わせフォームよりAI-SCHOLAR編集部の方にご連絡を頂けますと幸いです。
どうぞよろしくお願いします。

お問い合わせする