TensorFlow勉強会(4)に「唐揚を掴むロボット」が登場!

13509844_10210176576477080_1286218686_o

TensorFlow勉強会(4)に、株式会社アールティの中川さんが登壇され、「TensorFlow唐揚サーバーロボット」が披露されました。


13524034_10210176576517081_837244638_o
行われたのは、WEBカメラ・トルク指令型のロボットアーム「NEKONOTE」・Linux PC(画像処理・ROS)を組み合わせたデモです。


tensor-flow-rev1-14-638

画像:Slide Share「Tensor flow唐揚サーバーロボット rev1」より引用

唐揚げロボットの流れは、お皿が置かれたのを認識して、「selective search」を開始、唐揚げの位置を特定して、アームが掴み、お皿に載せるという流れです。


karaage-01

カメラで画像認識をし、唐揚げを判別。XY座標を受け取る

karaage-03

唐揚げを崩さないようにつかむ

karaage-04

隣の皿に移す。落とさずにしっかりと置いています

これらのデモの様子は以下の動画の2時間20分あたりから御覧ください。



tensor-flow-rev1-16-638

画像:Slide Share「Tensor flow唐揚サーバーロボット rev1」より引用

唐揚げを判定する部分には、TensorFlowで構築したニューラルネットワークが使われています。

そのためには、まず、学習データ(唐揚げの画像)を与える必要がありますが、ネットで画像検索しても、大抵はお更に盛られた画像ばかりで、唐揚げ単品の画像は皆無。そこで、無ければ作るしかないという事で、中川さん宅の食卓には毎週土曜日に唐揚げが並んでいたそうです。

「なぜ “唐揚げ” を選んだのか」という問いには、「特に意味は無かった」と回答されていました。ただ、食品を掴むというのは、柔らかく、潰れてはいけないので「最後に残されたフロンティア」と言われるくらい難しいとのこと。

掴む部分の素材は、食品を扱う時に使う普通のゴム手袋。つまり、唐揚げをつかんだのは、ロボットアーム自体の性能によるところが大きいようです。このロボットアーム「NEKONOTE」は、JSONで手軽に制御することができます。


13515212_10210176576597083_1702633992_n
ご興味がある方は、当日のスライドが公開されていますので、ご参照ください。

このように、いつもギークなお話が聞けて面白い「TensorFlow勉強会」。今回は、旬ということで、DQN(deep Q-network)の話が多かったように思います。ご興味がある方は、こちらに動画がありますので、ぜひご覧ください。

※唐揚げはスタッフで美味しく頂きました。

About the author / 

鹿田 貴史
鹿田 貴史

携帯検索サイト立ち上げ、サーチテリア広告立ち上げ、トランスコスモスにてAskモバイル立ち上げ、アパンドールCTOを経て、現在ロボットスタート株式会社CTO。将来の夢はバスの運転士。

連載・コラム