ASLens

インスピレーション

ASLens は AWS DeepLens を使用して、アメリカ手話のアルファベットをスピーチに翻訳します。

機能

AWS DeepLens は動画をキャプチャし、AWS SageMaker を使用して構築された深層学習モデルをそれぞれのフレームに対して実行します。ASL アルファベットの文字が認識されると、AWS DeepLens がその文字を AWS Polly によって生成された MP3 ファイルを使って再生します。

ASLens は AWS DeepLens 上でローカルに実行されるため、インターネット接続は必要ありません。これによりネットワーク間のホップがなくなり、帯域幅の問題が解消され、スピードが向上します。

作成者: Chris Coombs

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

構築方法

ASLens 深層学習モデルは AWS SageMaker を使って作成されました。画像転送学習の例を使用して、トレーニングデータから最初のモデルに 1 時間以内に移行できました。

まず、Lambda 関数が AWS SageMaker モデルを AWS DeepLens GPU での実行用に最適化し、その後それぞれのフレームをトリミングおよびスケーリングします。サイズが変更されるとそのモデルに対して動画のフレームが実行され、ASL アルファベットが検出されると対応する MP3 ファイルが再生されます。

課題

アルファベット J および Z を含む動きは、トレーニングセットから除外しました。

AWS Polly MP3 を AWS DeepLens で再生できるようにするため、かなりの時間を費やし試行錯誤を重ねました。この問題に直面している方のためにまとめて言うと、オーディオグループへの ggc_user の追加と、Greengrass グループ (およびその中にある Lambda 関数) へのリソースの追加を、すべてのデプロイ後に繰り返したのです。

成果

私の努力が実を結びました。 まるで魔法のようです。 このアイデアは妻のものでしたが、私にはそのアイデアは大きすぎると思っていました。AWS DeepLens ハードウェアをマスターすることに関しては自信がありましたが、適切なモデルを作成するには私には経験が足りないのではないかという心配がありました。ありがたいことに、Amazon SageMaker がすべての機械学習の面倒な処理を担当してくれたおかげで、私はトレーニングデータの照合と、AWS DeepLens デバイスで再生するオーディオの取得に集中することができました。

学んだこと

AWS DeepLens がバックグラウンドで AWS Greengrass を使用しているため、このサービスについてたくさんのことを学びました。さらに、このプロジェクトがきっかけとなり、Amazon SageMaker の使用方法にカスタムアルゴリズムを取り込めるようにするため、深層学習のオンラインコースを再び受講することとなりました。

DeepLens ASLens の次のステップ

現在、ASLens は ASL アルファベットに限定されており、静的ではない J および Z は除外されています。引き続き、動きや表現を含む、ASLens の単語の認識の向上に取り組んでいきたいと考えています。

使用したもの

アマゾン ウェブ サービス
SageMaker
Lambda
DeepLens
Polly

試してみる