はじめまして。前回の記事で紹介いただいた千葉工業大学チームCITBrainsの関と申します。
紹介があったようにロボカップは「2050年までにサッカーワールドチャンピオンチームにロボットで勝つ」ことを目的としたランドマークプロジェクトです。CITBrainsは7/24-7/30に名古屋で行われたRoboCup2017ヒューマノイドリーグKIDサイズに参加しました。成績は惜しくも中国チームZJUDancerに1点差で敗れましたが、世界3位という結果を残せました。
△図1 入賞の記念撮影
△図2 シャチホコモチーフ(?)のトロフィー
この記事では、我々が今年度初めて導入した「深層学習を用いたリアルタイムサッカー物体認識」について世界大会での実践結果を書き連ねさせていただきます。
IDCFクラウドを使う理由
今年度、私達は学習用GPUサーバーとしてIDCFクラウドを利用いたしました。というのも、ロボカップでは2015年以来、毎年大会直前まで使用されるボールが明らかになりません。
△図3 大会ごとに変化するボール
ディープラーニングに限った話ではないですが、物体認識には未知の環境や異なる模様の物体を識別できない可能性がつきまといます。
そんな背景から、現地で集めた訓練データを学習することを視野にいれ、リモート接続可能でありマシンパワーに優れているIDCFクラウドを利用しました。IDCFクラウドのGPUの性能について触れている前記事もぜひご覧ください。
ディープラーニングの試み
さて、今年度のシステムの本命であるディープラーニングについてです。前記事でも説明されているとおり、目的は物体認識です。今年度はボールとゴールの検出にディープラーニングを用いました。 世界大会に備えての訓練画像はCITBrainsが活動拠点としている千葉工業大学・新習志野キャンパスにある人工芝フィールド上で集めました。もちろん上で述べたとおり、この訓練画像で世界大会の環境に適応できるかこの時点では分かりません。
△図4 訓練画像
世界大会の環境は...
まずは私達のロボット「Accelite」の視点で会場の環境をご覧ください。
△図5 ロボットから見た会場
事前の訓練画像との違いとして、白い壁や明るさの違いなどフィールド外に懸念点が多くありました。また、幸か不幸か今年度は昨年と同じ模様のボールでした。運営の新しいボールの選定にミスがあり、変更が間に合わなかったみたいです。新しいボールでどれだけ検出できるか試したい気持ちの反面、今まで学習してきたボールと同じでラッキーという気持ちです。
実践結果
会場で発見された誤検出です。やはり、懸念していたフィールド外に反応しました。
△図6 誤検出している画面
中には意外なものも誤検出されていました。ポイ捨てはいけませんね。
△図7 こんなものも誤検出の対象に
とはいえ集めた画像の内から、誤検出を探すほうが苦労するほど問題なく検出できていました。なかなかの性能です。しかし、本番である以上、不安な点は取り除いておきたいところです。
こういうときこそIDCFクラウドの出番です。現地で集めた500枚程度の画像を、以前の訓練画像に加えて学習させました。
学習を更新させた結果
IDCFクラウドのGPUサーバーは、大学のサーバーより2時間以上早く学習が終わるというデータを得ていましたが、この2時間にどれだけ助けられたことか。会場の閉館までにロボットを動かしながら、更新した学習済みモデルで貴重なデータを取ることができました。
現地の訓練画像を混ぜることで、検出対象の物体らしさが大きく向上しました。これによって誤検出との切り分けができるようになります。
△図8 訓練画像の学習によりボール認識率が向上
試合では大会中1,2を争うボール認識率だったと自負しています。けれども、ご存知のとおりサッカーはボールが見えるだけでは勝てません。来年度はこの認識率を活かせるといいかなと思います。
こんなトラブルもありました
ロボカップをやっていると毎年本番に不測の事態はつきものなのですが、そんな不測の事態がGPUマシンに起きたのが、RoboCup2017でした。Adultサイズという私達とは別リーグに参加していたチームメンバーが大学のGPUサーバーにアクセスできなくなったというのです。
その場は私達が使っていたIDCFクラウドを貸与することで解決しました。後にわかった原因は、大学職員が親元のルータの配線を変更したためだそうです。サーバーの管理がずさんな学生ならではの問題かもしれませんが、ネットワークの配線が他者にいじられるような環境にサーバーがあると不安ですね。こういう面での安心感はクラウドサービスのメリットと言えるのではないでしょうか。
展望
ディープラーニングによる物体認識はサッカーを行うために十分な性能を発揮できていたと試合を見て強く思いました。これから学習を経てゆくごとに高精度な検出器ができるのではという可能性を感じています。
GPUサーバーが身近に存在するようになった今、さらなる機械学習の発展に期待しています。