0

ユーザーが最初にコマンドを記録し、後でシステムがそれらを認識しようとする小さなコマンド認識システムがあります。フロントエンドの特徴ベクトルは MFCC の係数です。バックエンドは、DTW を使用してこれらの特徴ベクトルを整列させ、スコアを出力することを使用して認識を行います (0 -> コマンドは等しい)。このセットアップの問題は、コマンド (ユーザーが記録したもの) を他の単語と区別することです。コマンドが認識されるしきい値として最大スコアを選択しても、良い結果は得られません。記録された特徴をより分離可能な別の特徴空間に投影する目的で、LDA と PCA を調べました。記録された各コマンドは、そのコマンドのフレームに関連付けられたフロントエンドからの特徴ベクトルをサンプルとして持つクラスです。それから、LDA に必要な変換を計算し、その変換を結果の MFCC 係数の各セットに適用しました。これでは、記録されたコマンドと urecorded コマンドを分離できませんでした。

私の質問は次のとおりです。

  • LDAを適用するアプローチは間違っていますか?
  • 私のセットアップに適した他の方法はありますか (MFCC + DTW)?

どんな助けや指導も大歓迎です。

ありがとうございました

4

1 に答える 1

1

このセットアップの問題は、記録されていないコマンドを区別することです。

おそらく、探しているキーワードを他のすべての可能な単語から分離したいということをより適切に表現したいと思うでしょう。「記録されていない」とは何を意味するのか明確ではありません

LDAを適用するアプローチは間違っていますか?

それは間違っていません、それは無意味です。PCA はさまざまな特性を最適化しますが、決して分離を改善することはできません。

コマンドが認識されるしきい値として最大スコアを選択しても、良い結果は得られません。

このアプローチは最善の方法ではありませんが、比較的うまく機能するはずです。それは長い年月をかけて証明されました。おそらく、実装またはテストで間違いを犯したか、他のバグがあります。再訪することをお勧めします。

知っておく必要がある唯一のことは、しきい値がテンプレート キーワードに依存する必要があるということです。したがって、異なるテンプレート キーワードのしきい値は異なる必要があります。単一のしきい値では機能しません。

于 2013-04-24T14:32:18.010 に答える