私はプロジェクトで活動認識を使用して、ユーザーが「車内」であることを検出しようとしています(運転中)問題は、ほとんどのProbableActivityが "IN-VEHICLE"たとえ私が長い間机の上に座っていたとしても、私の家の中を歩いていても。 APIがこれをどのように結論付けるかを知ることは非常にうれしいでしょう。アクティビティ認識APIが信頼できませんか?
この機能には大きな可能性があると思いますが、今のところ明らかに機能していません。
これは、30秒ごとに取得したMostProbableActivityのログで、私の意味を示しています。私の机の上に座って、4分後に電話を数回鳴らすと、「最も可能性の高いIN-VEHICLE」という結果になります。
私はさまざまな電話機を試しましたが、結果は同じです。だから私はそれがハードウェアに関連しているとは思わない。
public class ActivitiesIntentService extends IntentService {
private static final String TAG = "ActivitiesIntentService";
public ActivitiesIntentService() {
super(TAG);
}
@Override
protected void onHandleIntent(Intent intent) {
ActivityRecognitionResult result = ActivityRecognitionResult.extractResult(intent);
Intent i = new Intent(Constants.STRING_ACTION);
DetectedActivity mostProbableActivity = result.getMostProbableActivity();
i.putExtra("MOST_PROBABLE_ACTIVITY",mostProbableActivity);
LocalBroadcastManager.getInstance(this).sendBroadcast(i);
Log.e(TAG, String.valueOf(mostProbableActivity));
}
}
このリンクから:
DetectedActivity [type=STILL, confidence=43]
DetectedActivity [type=STILL, confidence=54]
DetectedActivity [type=STILL, confidence=100]
DetectedActivity [type=STILL, confidence=100]
DetectedActivity [type=STILL, confidence=69]
DetectedActivity [type=STILL, confidence=100]
DetectedActivity [type=STILL, confidence=92]
DetectedActivity [type=TILTING, confidence=100]
DetectedActivity [type=IN_VEHICLE, confidence=49]
DetectedActivity [type=TILTING, confidence=100]
DetectedActivity [type=STILL, confidence=51]
DetectedActivity [type=STILL, confidence=100]
DetectedActivity [type=STILL, confidence=100]
DetectedActivity [type=STILL, confidence=85]
DetectedActivity [type=STILL, confidence=100]
DetectedActivity [type=STILL, confidence=66]
DetectedActivity [type=STILL, confidence=100]
これは、コード、そこに何も特別である
私は他の人が同じような経験を持っていますが、いくつかのクレームがそのそれをすることを見ることができますOKです。
これはAPIの信頼アルゴリズムのバグだと思います。電話機がどの方向にも、道路上でも動いていないと結論付けるのは簡単なことです。明らかに、自動車では「最も確からしい」ものではありません。
誰でもこの問題を確認できますか、それとも間違った方法で使用できますか?それは常にデバイスのセンサーを見てすることはできませんので、これは、非常に低エネルギー消費のサービスであることを念頭に置いて
敬具
トーマス
正しい方法で使用しています。問題は、GPSをサンプリングしてバッテリを放電させなければ、運転活動を検出することが非常に難しいことです。おそらく、Googleはセンサーデータ(加速度計、ジャイロ、磁力計など)をいくつかの時期に追跡し、運転パターン(非常に類似していますがユニークな振動があります)を探します。場合によっては、アルゴリズムが正確ではない場合もあります。 – MikeL