問題タブ [activity-recognition]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
737 参照

java - 精度を上げるには?- 連続隠れマルコフ モデルを使用したアクティビティ認識 (Jahm​​m)

私は HMM の初心者ですが、UCI Human Activity Recognition データ セット用に Jahmm を使用してコードを作成しようとしました。このデータ セットには 561 の特徴と 7352 行があり、加速度計とジャイロスコープの両方の xyz 慣性値も含まれており、主に 6 つのアクティビティを認識するためのものです: 歩く、上を歩く、下を歩く、座る、立つ、横になる。これまでのところ、次のことを試しました。

xyz 慣性値を使用すると、次のようになります。

  1. 6 つのアクティビティのそれぞれについて、対応する HMM のアクティビティ トレイン データのみを使用して、各軸 (加速度計とジャイロスコープの両方) に対して 6 つの HMM をトレーニングしました。各アクティビティについても、すべての軸の確率に等しい重みを適用し (つまり、テスト データに適用した場合)、それらをすべて加算して各アクティビティの合計を求めました。最大の確率は、選ばれたものになります。(私はこれに運がありませんでした。他のものでは同時に超低精度のアクティビティがあります。) 注: 「ObservationReal」を使用し、6 つの状態 (実際には 2 ~ 10 の状態を試しました) を均等に分割しました。 HMM の初期値。一部のアクティビティで NaN 値を取得することがあります。
  2. また、最初に R でデータをスケーリング (z スコア) してから、上記の方法を適用しようとしましたが、それでも役に立ちませんでした。
  3. また、「ObservationVector」で慣性値をコーディングしようとしましたが、最初の Opdfs を設定する方法がわかりませんでした (正定行列でなければならないと言われています)。

特徴値を使用すると、次のようになります。

  1. 機能セットが大きすぎて Jahmm で実行できないことがわかったので、スケーリングされたデータを使用します (正規化されていますが、すぐに使用できるデータでは適切な結果が得られなかったためです [-1,1])。 、PCA と相関のために R でデータのトレーニングとテストを実行してから、Jahmm コード (6 つの 6 状態 HMM で構成され、各アクティビティごとに、テスト データで最大確率を取得します) に入力しました。結果は次のとおりです。まだあまり良くありません。特に座っているアクティビティは、常に約 20% の精度が得られます。(上記「備考」と同じパラメータ)
  2. R で同じデータ (mtry=8) を使用して randomForest を実行し、重要度の値を取得しました。最初に移動活動と静的活動を 119 の変数で分離し、次に移動活動 (歩行、2 階に移動、2 階に移動) を 89 の特徴 (RF 重要度値に基づく) で分類し、静的活動 (座る、立つ、横になる) を 5 の特徴で分類しました。変数。運動活動と静的活動を分離するのは簡単ですが (2 つの状態、100%)、HMM パラメーターを調整したこの方法では、全体の精度は 86% しか得られませんでした。(第 2 レベルには 3 状態 HMM を使用)
  3. 6 つの状態 (1 つの論文で読んだように、1 つのアクティビティに対応) で、すべてのアクティビティに対して 1 つの HMM をトレーニングしました。しかし、その後のビタビの使い方がわかりませんでした。Viterbi には List<Observation O>テスト シーケンスが必要であることがわかりますが、明らかに List<List<ObservationReal>>テスト データが必要です。

RでHMMパッケージも試しました:

  1. depmixS4 - ビタビがなく、テスト データで事後確率を取得する方法がわかりません (トレーニング データのみで確率が得られます)。パッケージの作成者に連絡してみましたが、彼は私を助けようとしましたが、彼が試すように言ったコードでエラーが発生しました (私はまだ彼にメールで返信していません)。
  2. RHmm - 最初は魔法のように機能します。すべてのトレーニング データを使用して 6 状態の HMM を 1 つだけトレーニングしましたが、nan が生成され、テスト データで不適切なビタビ シーケンスが発生しました。

これまで HMM について読んだことによると、これらの結果は HMM には低すぎます。私は何か間違ったことをしていますか?上記の手法を使用する前に、さらに前処理を行う必要がありますか? HMM/Jahmm にはデータが大きすぎますか? 私はそれを過剰に適合させていますか?私は今立ち往生していますが、私のプロジェクトではアクティビティ認識と HMM を実行する必要があります。Jahmm と R を連続 HMM で既に試した人からの提案やフィードバックをいただければ幸いです。それが最終的に機能することを意味する場合、私は他の言語を勉強することにもオープンです。

0 投票する
1 に答える
1775 参照

r - 境界で推定された確率は何を意味しますか? depmixS4 パッケージを使用した R の隠れマルコフ モデル

私は隠れマルコフモデルを初めて使用し、現在、連続HMMを使用して、RのUCIヒューマンアクティビティ認識データセット(加速度計とジャイロスコープの値で構成される)で6つのアクティビティを予測しようとしています。トレーニングデータとテストデータの両方があります。全部で 561 個の機能があります。いくつかの論文でそれを読んだ後、私は単一の 6 状態 HMM を作成し、私が持っているトレーニング データを使用してそれをトレーニングしました。状態は分類される 1 つのアクティビティを表していると仮定します。その後、ビタビを使用して、テスト データに適用されたときに HMM の最も可能性の高いシーケンスを予測しました。HMM 用の depmixS4 パッケージを使用して、これらのコードを入力しようとしました。

561 のすべての機能を使用したときに、これらのコードが 100% の精度を示したことに驚きました (Jahm​​m を使用した場合、約 80% の精度しか得られませんでしたが、ハングするため、561 の機能をすべて使用することはできませんでした)。私は実際に depmixS4 の開発者と連絡を取り合っており、彼はコードに問題がないことを確認しましたが、「以下の近似モデルは実際には観測または通常のマルコフ モデルであり、隠れマルコフ モデルではないことに注意してください。確率は境界で推定されます。」「応答確率は境界で推定される」とはどういう意味ですか? どういう意味なのかネットで調べてみましたがだめでした。

また、ビタビを使用するということは、それが実際に隠れマルコフ モデルであることを意味するのではないでしょうか? 私はそれを間違っていますか?

「viterbi()」関数は、パッケージではまだ公開されていない関数であることに注意してください (開発者は、私が考えていることを試すことができるように親切に教えてくれました)。

0 投票する
1 に答える
389 参照

android - Android 起動 ActivityRecognition 手動で

私の Android アプリは、現在のアクティビティ (ランニング、ウォーキングなど) を検出する必要があります。

Android Dev Page の指示に従いました: http://developer.android.com/reference/com/google/android/gms/location/ActivityRecognitionClient.html

そして、私のIntent-Serviceでは:

ここに私の問題があります:私は自分で活動認識を開始したいです。Android Dev Page のコードは、それを行うことになっているようです。しかし、サービスを AndroidManifest に追加しないと、何もしません。onConnected() メソッドは呼び出されますが、onHandleIntent() は呼び出されません。

そのため、マニフェストに追加する必要があるかもしれないと考えました。現在はアクティビティを受け取りますが、常に受け取ります。これも私が望むものではありません。私は何を間違っていますか?

前もってありがとう、ステフ

0 投票する
1 に答える
661 参照

android - Android アクティビティ認識のサンプル バグ

そこで、Android Web サイトhttp://developer.android.com/training/location/activity-recognition.htmlで「ユーザーの現在のアクティビティを認識する」ためのサンプル アプリをダウンロードしました。

私が抱えている問題は、[更新の開始] ボタンを押してから [更新の停止] ボタンを押してから、[更新の開始] ボタンをもう一度押しても、2 回目は更新が開始されないことです。

私はオンラインで検索しましたが、トピックに関する多くの資料を見つけることができなかったので、デバッグも試みましたが、onDisconnected() メソッド呼び出し (ConnectionCallbacks インターフェイス経由) がどちらの DetectionRemover でも呼び出されていないことがわかりました。 java または DetectionRequester.java ファイル。

なぜこれが起こっているのか誰かが知っているなら、私は本当に理由を知りたいです. 調べたところ、サンプル コードには何もないようで、Google サービス側の問題ではないかと思います。

PS私はGoogle Play Services rev 16を使用しています.Samsung galaxy s2 androidバージョン4.1.2とともに

0 投票する
1 に答える
1318 参照

android - Android Activity Recognition Parcelable プロトコルには Parcelable.Creator が必要です

アクティビティ認識に問題があり、次のエラーが表示されます。

クラスは Google Play ServicesのActivityRecognitionResultものですが、このエラーを修正するにはどうすればよいですか?

0 投票する
1 に答える
1765 参照

android - Activity Recognition PendingIntent 停止が深夜に呼び出されました

私のアプリケーションは、Activity Recognition の検出されたアクティビティ データを定期的に収集します。ドキュメントに記載されているとおりに実装しましたが、1 分間隔で実装しました。

ユーザーがログインしている限り、アプリケーションは に登録され、PendingIntentGoogle Play プロセスからアップデートを受信します。

私の問題と関係がない限り、1分ごとに更新を要求することから生じるバッテリーの使用、ネットワーク、およびパフォーマンスの問題について私に教えないでください:

問題: 一部のデバイス (Nexus 5 で最も多く発生) では、真夜中に 5 ~ 6 時間、 IntentService電話がかかってきました。

よくわかりませんが、発生する可能性のあるドキュメントに記載されているように、Google の最適化と、重要なモーション センサーがアクティビティ認識メカニズムに入るモーションを検出せず、一種のアイドル モードになっていることが関係していると思われます。

私のアプリにとって、現在のアクティビティがほぼ同じであるか、長時間アイドル状態であっても、毎分何があるかを知ることが重要です..

私の質問:

  • 重大なモーション センサーまたはその他の理由により、定期的なアクティビティ認識が呼び出されなくなったかどうかを知るにはどうすればよいですか?
  • 何らかの方法でGoogleプレイプロセスに強制的にアクティビティの更新を実行させる方法はありますか?
0 投票する
1 に答える
595 参照

android - Google のアクティビティ認識は、8 以上の API をサポートするすべての Android デバイスで動作しますか?

Android ActivityRecognition の例を起動しようとしていますが、数日経っても成功しません。Google サービスをインストールし、LocationServices クライアントに正常に接続し、最新の SDK をインストールし、アプリにインテント サービスを配置し、デバイスの設定で位置情報サービスをオンにしましたが、更新も onHandleIntent の呼び出しもありません (ところで、インテント サービスのコンストラクターであり、アプリケーションがそこに来ないようです:それは正常ですか?)。
私のデバイスは XPERIA M です。Android 開発者ガイドから次のコードを試しました: http://developer.android.com/shareables/training/ActivityRecognition.zip およびここから: https://github.com/diegofigueroa/activity-recognition -サンプル

メタデータ タグを追加することを除いて、すべてのコードは影響を受けずに使用されました。