スマホはスクワットをどう数えているのか

加速度センサーと判定アルゴリズムの中身

数字が1つ増えるとき、スマホは何を見ているのか

スクワットを1回すると、画面の数字が1つ増えます。

カメラは向いていない。ボタンも押していない。それでもアプリは「いまのは1回」と判断しています。

これはどうやっているのか。答えは、運動の知識ではなく、スマホのセンサーと判定のアルゴリズムの側にあります。この記事では、足鍛帳が実際にどうスクワットを数えているのかを、開発した本人が順番に解説します。


測っているのは「加速度」

足鍛帳が見ているのは、映像でも歩数でもなく、加速度です。

iPhoneには加速度センサーが入っていて、端末がどう動いたかを1秒間に何十回も感じ取れます。足鍛帳はこれを1秒あたり50回読み取っています。

ただし、生の加速度をそのまま使うわけではありません。iPhoneは動きの加速度と、常にかかっている重力を分けて教えてくれます。この2つを分けて扱えることが、後の話の土台になります。


向きが変わっても「上下」が分かる

ここが、いちばん大事で、いちばん誤解されやすいところです。

スマホは、手に持つ人もいれば、ポケットに入れる人もいます。角度はバラバラです。にもかかわらず、しゃがむ・立ち上がるという上下の動きだけを取り出せる。なぜでしょうか。

やっているのは、動きの加速度を重力の向きへ射影することです。

重力は必ず真下を指しています。だから、動きの加速度のうち「重力と同じ向きの成分」を取り出せば、それがそのまま垂直方向の動きになります。スマホがどんな角度でも、真下という基準は変わらないので、向きに依存せず上下を読めるわけです。

スマホの向きが変わっても、重力射影で上下の動きを取り出せることを示す図

足鍛帳では、この垂直成分が正のときを「しゃがむ」、負のときを「立ち上がる」として扱っています。ポケットでも手持ちでも同じ軸で読めるのは、この射影のおかげです。


「揺れ」と「スクワット」をどう区別するか

上下の動きが読めても、まだ問題が残ります。歩いても、かがんでも、スマホを持ち直しても、上下の値は動きます。その中からスクワットだけを1回として取り出す必要があります。

足鍛帳は、固定のしきい値を使いません。人によって動きの大きさは違うし、場面によってノイズも違うからです。代わりに、直近の動きから基準を作ります

  • 直近3秒ほどの動きから、平均と「ばらつきの大きさ(標準偏差)」を計算する
  • 平均を中心に、ばらつきに応じた幅の「ノイズ帯」を引く
  • この帯の中に収まる小さな揺れは、はじめから無視する

そのうえで、帯を大きく越える動きだけを候補として、次の順番をたどれたときに初めて1回と数えます。

待機 → 沈む → 底 → 上がる → カウント

直近の動きから作ったノイズ帯を基準に、沈む・底・上がるの順に進んだときだけ1回と数える様子を示す図

それぞれの段階には最短の時間があります。ほんの一瞬の揺れは「沈む」を満たせず、途中で崩れれば待機へ戻ります。底では、いちばん深く沈んだところを追いかけ、そこからちゃんと戻ってきたか(反転したか)まで見ます。こうして、ハーフスクワットや小刻みな揺れが1回として数えられないようにしています。

しきい値の幅はユーザーの感度設定でも調整できます。数えすぎると感じたら厳しく、数え漏れると感じたら緩く、という具合です。


使うほど、あなたのペースに合う

スクワットの速さは人それぞれです。ゆっくり深く沈む人もいれば、テンポよく刻む人もいます。

足鍛帳は、最初の数回のスクワットから、沈む・底・上がるにかかった時間を少しずつ学習します。そして、判定の最短時間をその人のペースへ寄せていきます。

学習は緩める方向にだけ働きます。基準を勝手に厳しくして数え漏れを増やすことはせず、「あなたはこのくらいのテンポだから、この速さまでは1回として認める」という調整だけを行います。学習した内容は端末内に保存され、次に開いたときにも引き継がれます。

だから、使い始めより少し使い込んだあとのほうが、自分の動きになじんできます。


それでも間違えるとき

正直に書きます。自動カウントは完璧ではありません。

スクワットに似た大きな上下動をすれば、近い動きとして拾ってしまうことはあります。逆に、極端に浅い・速いスクワットは、揺れとの区別がつきにくくなります。

足鍛帳は、こうした誤りをできるだけ減らすために、いくつかの仕掛けを持っています。

  • ポケットへの出し入れのような強い衝撃を感じたら、その瞬間はカウントを止めて基準を作り直す
  • スクワット中の激しい値でノイズ帯を汚さないよう、落ち着いているときだけ基準を更新する
  • どこかの段階で長く止まったら、状態をリセットして待機へ戻す

それでも、動きには個人差があり、環境にもばらつきがあります。だからこそ、感度設定で自分に合わせられるようにしています。「絶対に間違えない魔法」ではなく、「あなたの動きに寄せながら、できるだけ正確に数える道具」だと思ってください。


実際に、数えてみる

仕組みが分かると、数字の増え方の見え方が少し変わるかもしれません。

足鍛帳 は、ここで説明した加速度センサーと判定アルゴリズムで、スクワットを自動で数えるアプリです。手を止めて回数をメモする必要がないので、動きに集中できます。数えた回数は、その日の達成や連続記録として積み上がっていきます。

そもそも「なぜ回数を記録すると続くのか」から知りたい人は、スクワットが続かない人に足りないのは、やる気より記録かもしれない を先に読むとつながりやすいです。


まとめ

スマホがスクワットを1回と数えるまでには、いくつもの判断があります。

  • 見ているのは映像ではなく加速度(1秒に50回)
  • 動きの加速度を重力へ射影して、向きに依存せず上下を読む
  • 直近の動きからノイズ帯を作り、帯を越えて沈む→底→上がると進んだときだけ数える
  • 最初の数回で、あなたのペースに合わせて学習する
  • 強い衝撃や不安定な値は、意図的に無視して基準を守る

運動としてのスクワットは単純です。でも、それを機械が正しく1回と数えるには、こうした地味な工夫が積み重なっています。

スクワットそのものの始め方や続け方から知りたい人は、スクワットまとめ から関連記事へ進めます。

足鍛帳

スクワットを、数えて続けやすく

足鍛帳は、スクワットを自動で数えながら、記録・連続達成・ヒートマップ・旧国制覇で続ける理由を見える形にするアプリです。