ジェスチャー認識システムでのRNN(LSTM)の使用


10

私はASL(アメリカ手話)ジェスチャーを分類するためのジェスチャー認識システムを構築しようとしているので、入力はカメラまたはビデオファイルからの一連のフレームであると想定されており、シーケンスを検出して対応するものにマッピングしますクラス(睡眠、助け、食べる、走るなど)

問題は、私がすでに同様のシステムを構築したことですが、静止画像(モーションは含まれません)の場合、手があまり動かず、CNNの構築が単純なタスクであるアルファベットの翻訳にのみ役立ちました。データセットの構造も私がケラスを使用していて、おそらくそうするつもりだったので管理可能でした(すべてのフォルダーには特定の標識の画像のセットが含まれており、フォルダーの名前はこの標識のクラス名です:A、B、C 、..)

ここでの私の質問、データセットを整理してケラのRNNに入力できるようにするにはどうすればよいですか?モデルと必要なパラメーターを効果的にトレーニングするためにどの特定の関数を使用すればよいですか?TimeDistributedクラスの使用を提案した人もいますが私の好みに合わせてそれを使用する方法について明確なアイデアを持ち、ネットワーク内のすべてのレイヤーの入力形状を考慮に入れます。

また、私のデータセットが画像で構成されることを考えると、たぶん畳み込み層が必要になるでしょう。どのようにしてconv層をLSTM層に組み合わせることが実現可能でしょうか(つまり、コードの観点から)。

たとえば、私は私のデータセットがこのようなものであると想像します

データセット構造

「Run」という名前のフォルダーには3つのフォルダー1、2、3が含まれ、各フォルダーはシーケンスのフレームに対応しています

ここに画像の説明を入力してください ここに画像の説明を入力してください ここに画像の説明を入力してください

だからRUN_1は、最初のフレームの画像のいくつかのセットが含まれます、RUN_2は、 2フレーム目のためにRun_3第三のために、私のモデルの目的は、単語を出力する。このシーケンスで訓練されるファイル名を指定して実行


ASLにはどのデータセットを使用していますか?
サムジョンソン

申し訳ありませんが、私たちは独自のデータセットを記録し、それを公にリリースすることに成功しませんでした。
Anasovich

それは確かに実行可能であり、下記の記事からの余分なコーディングのようには見えませんが、これまでに使用したことのないアーキテクチャではないため、経験から言っているわけではありません。うまくいけば、この記事があなたを正しい方向に導く
Ollie Graham

回答:


2

私の理解に基づいて、これは多クラスの分類問題(最終的には単語/記号に対応する手のジェスチャーの各セット/シーケンス)に要約されるようです。RNN / LSTM / GRUアーキテクチャは、始めるのに最適な場所ですが、計算コストが高く、トレーニングに時間がかかります。ただし、これらの1つ以上が絶対に必要かどうかは、データの構造と、画像をシーケンスではなくセットとして扱うことで問題を解決できるかどうかによって異なります。

考えられるアイデアは次のとおりです。

  1. まず、各「RUN_ *」フォルダーごとに、dropoutおよび/またはflattening各レイヤー間にCNNレイヤーを設定します 。

  2. シーケンスのすべてのステージを表す単一の長いベクトルを設定することから始め、次に、dropoutおよび/ を使用して、CNNのレイヤーをいくつか追加し flatteningます。

これは、何が最適に機能するかを確認するために、いくつかの調査と調整を行い、最適化する評価指標(精度/再現率など)を選択する必要があります。

CNNを提案している理由は、CNNがリカレントモデルと同様のパフォーマンスを提供できる場合があるためです。残念ながら、データに関する情報がほとんどまたはまったくない状態で伝えるのは困難です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.