Open3
pri: ウェブテクノロジ(社名)の歩数計アルゴリズム特許
昔のAndroidでは歩数計の搭載が強く推奨されていなかったため、歩数計アプリは歩数の計測を加速度センサを使用して行っていた。OPTPiX等で知られるWebTechnologyも過去に受託で歩数計を作っていたらしく、blogに記述がある:
で、このアルゴリズムは特許したらしいので見てみることにした。
特許に記述されているアルゴリズム
特許にフローチャートが記載されており、記述としてはショックセンサ法となっている。つまり、3軸加速度から鉛直方向の加速度の大きさを求め、適当な閾値およびカウントをアルゴリズムによって決定する。これは機械的な歩数計から続く伝統的なやりかたと言える。
近代的な歩数計はHMMのような機械学習アルゴリズムを使用してセンサ値をフィルタリングするため、それらと比べると素朴な方法で、これでどの程度の精度でカウントできるのかは興味深いところと言える。
Android CDDの記述
Android CDD https://source.android.com/docs/compatibility/14/android-14-cdd?hl=ja では以下のように歩数計の実装が推奨されている。
デバイス実装は: [C-SR-1] 3 軸加速度計を含めることが強く推奨されます。
3 軸加速度計が含まれる場合、デバイス実装は ...
TYPE_STEP_COUNTER
を実装すべきです
このため、市場のセンサチップではチップ側に歩数計機能を実装しているものが多い。