最近は対戦相手の影響でIngressの活動エリアが広がり自転車で走り回ることが多くなっている。お陰で運動不足にはならないが歩数は稼げないのでスマホからは運動不足と注意されることがある。
自転車利用時はiPhone 13 miniは腰のスマホケースに、Google Pixel 6はGoogle Mapのナビとしてカゴに入れてある。iPhoneはペダルを漕ぐ動きを歩数としてカウントしてくれるがPixel 6は自転車の振動を歩数とは勘違いすることはない。
また歩いてプレイしている時もPixel 6はグリフハック等で手に持っている時間が長いため歩数が少なくなってしまう。歩数不足でアプリのノルマに達せず困った時は立ってテレビを見ながら両手を振りその場で足踏み運動して何とかクリアしている。
1週間でiPhoneとPixel 6の歩数の差が1.5万歩にも広がると足踏み運動時間が長くなり単なる歩数稼ぎも苦痛だ。そこでアナログ歩数計みたくスマホを上下に揺すれば歩数としてカウントしてくれるのか試してみた。
このブログを打ちながら貧乏ゆすりをしてその太腿の上にiPhoneとPixel 6を置き歩数が増えるか確認した。iPhoneは騙されなかったが、Pixel 6はあっさり騙されてくれた。
こんな方法で騙されて良いのかとAIチャットにスマホの歩数カウントの手法を尋ねてみた。
1. 加速度センサーの利用
スマホには、デバイスの動きを感知する加速度センサーが搭載されています。このセンサーは、スマホがどの方向にどのくらいの速度で動いているかを3次元で測定します。歩く際に発生する体の動き(上下、前後、左右の揺れ)が検知されます。
2. 歩行パターンの検出
歩くときの体の動きは一定のリズムやパターンを持っており、特に足を上下させることでスマホが揺れます。加速度センサーはこの特定のリズムや揺れのパターンを解析し、歩行と判定します。スマホのアルゴリズムがこれらの動きを識別し、歩数としてカウントします。
3. ノイズの除去
日常の活動には多くの動きが含まれますが、すべてが歩行とは限りません。たとえば、スマホを持って座った状態で手を振ったり、車で移動したりするときにも加速度センサーは動きを検知します。そこで、歩数計アプリやスマホのアルゴリズムはこれらの動きを歩行と区別するために、一定のパターンや基準を使ってノイズを除去し、正確な歩数だけをカウントします。
4. ジャイロセンサーの補助
一部のスマホにはジャイロセンサーも搭載されています。このセンサーは、デバイスの回転や向きの変化を感知し、加速度センサーだけでは捉えきれない微妙な動きの違いを補足して、より正確な歩数の計測をサポートします。
iPhoneはノイズ除去ロジックで貧乏ゆすりを正しく除外しているが、Pixel 6は除去出来ず歩数としてカウントしていると考えられる。自転車の揺れはカウントしないので不思議だが、加速度センサーの除外閾値が微妙なのだろうか?
取り敢えずPixel 6はこの方法が使えることが分かった。あとは簡単にスマホを足に固定する方法があれば良いのだが…。(^_^;;