AWS DeepLens ハッカソン準優勝作品:

Dee – DeepLens Educating Entertainer

インスピレーション

小さな子供や、特別な学習を要する一部の大人にとって、電子機器との対話はときに難しいものです。タブレットのスクリーンを読む、コンピュータのキーボードを使う、問題なく音声認識されるように明瞭に話す、といったことが困難な場合もあるかもしれません。しかし、このような問題は、動画認識によって解決されます。テクノロジーは、今や子供たちの世界を把握したうえで、物を拾う、アクションするなどの動作が行われたことを認識できます。これにより、まったく新しい対話方法が生まれます。

DeepLens では、深層学習モデルをオフラインで実行できるため、子供向けの対話用にうってつけです。言い換えれば、デバイスをどこでも利用でき、追加のコストも発生せず、子供たちのデータに関するプライバシーの心配もないということです。

機能

Dee (DeepLens Educating Entertainer) は、質問を音声で伝えます。Dee は参加者に質問し、そして何かを見せてくれるようにお願いします。拡張が簡単な JSON ファイル形式の質問は、4 種類の動物 (鳥、牛、馬、羊)、または 4 種類の乗り物 (飛行機、自転車、バス、バイク) のうちのどれか 1 つが答えとなっています。正しい答えが 1 つのみの質問もあれば (例えば、「モーと鳴くのは?」)、複数の答えがある質問もあります (例えば、「車輪があるのは?」)。正解すると称賛が、不正解の場合は正答を導くためのわかりやすいヒントが与えられます(これこそが対話と積極性の訓練であり、難しいクイズであってはいけません)。

参加者は、答えとして適切な写真を Dee に見せることで質問に回答します。GitHub リポジトリには、印刷可能な回答用の写真が PDF 形式で用意されています。

作成者: Matthew Clark

Matthew と DEE のプロジェクトの詳細については、AWS Machine Learning のブログ記事をご覧ください。

作品の成り立ち

事前定義された DeepLens モデル、deeplens-object-detection が Dee にうまく機能してくれました。そのため、新しくモデルを作成する必要はありませんでした。つまり、Lambda のロジックに、より多くの時間を注ぐことができたのです。

対話を処理するのは、DeepLens デバイス上で (もちろん Greengrass によって) 実行される Lambda 関数です。Lambda 関数では、質問をランダムに選択し、それを発音してから、ユーザーの回答を認識するためにモデル回答を分析します。「もっとやってみましょう」や「すばらしいチョイスです」といった数多くのメッセージが、参加者を鼓舞し、このゲームに参加する気持ちを高めます。

Dee は、Wi-Fi へのアクセスを必要としない設計になっています (ネット接続、コスト、プライバシーに関する心配はいりません)。テキストの読み上げには Amazon Polly を使用するため、このような設計を実現することは困難でした。この問題を克服するために、必要なすべてのフレーズを取得して、それらをローカルで保存するようにスクリプトが作成されています。そのため、Lambda には 69 個の MP3 ファイルが含まれています。

課題

最初は、子供が Dee に見せるものは、写真ではなくおもちゃにしたかったのです。例えば、おもちゃの飛行機や羊のぬいぐるみを取り上げて見せることは、紙切れで同じことをするよりもエキサイティングな体験になったでしょう。ですが、テストでは、オブジェクト検出モデルが、おもちゃをそのモチーフと同一のものと認識しなかったのです。単純に、おもちゃの飛行機は、現実の飛行機とはあまりにもかけ離れているようです。もちろん、おもちゃでも機能するようにモデルをトレーニングすれば、この問題は解決するでしょう。ですが、十分に良質で大きなトレーニングデータセットを見つけることができませんでした。これは今後の課題となります。

成果

この対話形式が実際に機能するさまを見て、私は感動しています。YouTube のビデオでご覧のとおり、私の 3 歳になる息子で試してみたところ、息子は Dee に夢中になりました。Dee でもっと遊びたいと言っています。Dee はプロトタイプといえるかもしれませんが、子供が使用するには十分なものです。

また、Dee による積極性の訓練という側面が、自閉症、またはアスペルガー症候群を患う子供にどれほど役立つかを考えると興奮します。

学んだこと

このプロジェクトを通じて、深層学習という概念、そして深層学習モデルを (SageMaker と GreenGrass によって) 管理および実行する AWS のアプローチの最先端を学ぶことができました。

技術的な話は別にしても、人間の世界をどんどん理解していくテクノロジーの潜在能力に気付かされました。インテリジェントな動画認識により、ゲームの遊び方や新しい物事の学び方について、あらゆる新しい可能性が拓かれます。

Dee の次のステップ

Dee には大きなポテンシャルが秘められています。Dee が認識できる物体の範囲が広がれば、たずねることができる質問のセットもバラエティーに富んだものになるでしょう。例えば、こんな具合に。

「指を 3 本立ててくれますか?」(数える能力のテスト用)
「一番の笑顔を見せてくれますか?」
「手足を広げてジャンプできますか?」
「A の文字はどれですか?」
「お気に入りのおもちゃを見せてくれますか?」

もちろん、こうしたことの実現には、新しいモデルのトレーニングが鍵となるでしょう。トレーニングをより直接的なものにする、SageMaker などのサービスを利用すれば、エンドユーザーが自身のモデルをトレーニングできるようになる可能性も見えてきます。例えば、教室内の特定のオブジェクトを認識するように、教師が Dee をトレーニングすることもできるでしょう。あるいは、ある自閉症患者にとって重要な意味を持つ特定のオブジェクトに反応するように、介護職員が Dee をトレーニングすることも考えられます。

最後に、ロジックにも数多くの改善点があります。Dee が時間の経過とともにユーザーの進歩を記録し、アルファベットといった学習の度合いを報告できたらどうでしょうか? Dee が人を見分けて、その人ごとに異なる質問を設定できたらどうでしょうか? 可能性は尽きません。

使用したもの

DeepLens
Lambda
Greengrass
Python
Polly

試してみる