deeplens-asl

インスピレーション

キーボードやマウスに将来はありません。今後数年間でコンピュータ操作の主流が音声になることには誰もが同意します。Siri、Cortana、Google Home そしてもちろん Alexa (および Alexa for Business) などはすべて、今後の展望を示す例です。Werner Vogels 氏は、音声操作がコンピュータ操作の新たな標準になるであろうと考えていました (2017 年 11 月)。

とはいえ、ほぼすべての人がコンピュータと話せるようになり、読み書き (キーボードを使用するために必須) が必要なくなったとしても、社会の一部の人々は取り残されてしまいます。話すことができない人たちです。ろうあ者や該当する言語を正確に理解していない人 (外国人、移民など) は、対話型エージェントを操作できません。

DeepLens とアメリカ手話 (または他の手話) を組み合わせると、話すことができない人がコンピュータを操作するための助けになる可能性があります。ビデオフローの処理や深層学習モデルでは、Deeplens を新しいインターフェイスとして活用し、ASL を文字や音声にリアルタイムで変換することで、ろうあ者によるコンピュータ操作を実現できます。

機能

今回の AWS DeepLens チャレンジへの参加からわかるように、ASL アルファベットを理解すれば、ろうあ者によるコンピュータ操作を実現できます。ASL アルファベットを採用した理由は、それが主に静止した手の形によって構成されているためです。モデルは SageMaker ビジョンモデルに基づいて手作りしたもので、チャレンジ期間中に作成したデータセットを使って細かくトレーニングされています。"j" と "z" は動きが必要なために削除し、特別な指文字が追加されました (動画を参照)。

作成者: Benjamin Meudre

構築方法

データセットは、DeepLens で実行される特定の Lamda 関数によって作成されました (詳細については、「スナップショットサブプロジェクト」を参照)。
アルファベットの各文字 ("j" と "z" を除く) ならびに特別な動作のために、さまざまな人のさまざまな写真を撮りました。
トレーニングは、Amazon SageMaker を使用し、18 層の SqueezeNet による転送学習を使って行いました。4 エポックで満足のいく結果にまとまりました。

使用方法:

デプロイ: モデルはモデルフォルダにあり、Lamda 関数ハンドラーは Lamda フォルダにあります。AWS ドキュメントのステップ 4 以降に記載されているものと同じ手順を実行すれば、使用できます。
DeepLens でデプロイした後は、推論結果を確認して文を作成するために、Project Stream を開く必要があります。

インターフェイス: 実際に検出された文字は左上に表示されます (文字および信頼度)。何も表示されないときは、40% を超える信頼度で文字が認識されなかったことを意味しています。
画像の下部にはメッセージが文字で表示されます。一定の時間内に同じ文字が認識されると、その文字が表示されます。
空白文字の入力: 何も認識されない状態で数秒待ってください。メッセージのリセット: さらに待ってください。

注意:

  • 背景が白っぽく、DeepLens の視野に他に何もなければ、認識結果が向上します。
  • 視野内に手話のみが入るようにしてください (顔や体などが入らないようにしてください)。
  • 動作とカメラのフィードバックの間にはわずかな遅延があります。

スナップショットサブプロジェクト
このプロジェクトでは、DeepLens を使用してデータセットを生成します。ユーザーがボタンをクリックしてスナップショットを撮ると、カメラがそれに応答し、その場で画像を分類します。
S3 でホストされているフロントエンドを使用し、Cognito で認証して、IoT トピックにより DeepLens と通信します。画像が S3 に届くと、SageMaker のトレーニングジョブ用に自動的に最適化されます。

構築に使用したもの

Python
アマゾン ウェブ サービス

試してみる