14日間で4つのAIカロリートラッカーを徹底比較
Nutrola、Cal AI、Foodvisor、SnapCalorieの4つのアプリを使い、14日間にわたり同時にすべての食事を記録しました。精度、速度、ストレスポイント、最終的に最も信頼できる食事ログを生成するアプリについての評価をまとめました。
14日間、4つの異なるAIカロリートラッカーで毎食を同時に記録しました。 同じ食事、同じ写真、同じタイミングで。Nutrola、Cal AI、Foodvisor、SnapCalorieの4つを、14日間にわたり並行して使用しました。自宅で調理した食事はすべてキッチンスケールで計量し、USDA FoodData Centralの基準値を用いて実際のカロリーを算出しました。
目的はシンプルです:現実的な2週間の期間において、どのアプリが最も信頼できる食事ログを生成するかを見極めることです。完璧な照明や単一の食材を用いたデモではなく、実生活—自宅での料理、レストランの食事、パッケージスナック、コーヒーを買いに行く時、そして時折の「写真を撮り忘れた」瞬間を含めて。
ここでの結果をお伝えします。
セットアップと基本ルール
デバイス: iPhone 15 Pro(SnapCalorieのLiDAR用)に4つのアプリをインストールし、ログイン済み。
計量プロトコル: 自宅で調理した食事はすべて0.1g精度のキッチンスケールで計量。カロリーの基準値はUSDA FoodData Centralの値を使用。レストランの食事は、類似の料理に基づくUSDAの値を用いて推定(これは固有の制限であり、レストランの基準値は常に近似的です)。
写真撮影: 同じ写真を4つのアプリに提出。各食事ごとに上から撮影した写真を、利用可能な照明の下で撮影しました(アプリに最適化はしていません)。
修正プロトコル: 各アプリで、明らかなエラーを修正するために最大30秒を費やしました。これは、ユーザーが間違いに気づいたが、修正に何分もかけたくない場合をシミュレートしています。
追跡内容: ログにかかった時間(ストップウォッチ)、初期のAIカロリー推定、修正後の最終ログカロリー、基準値との日次合計、顕著なストレスポイント、意味のある違いをもたらした機能などを記録しました。
1週目: 1日目〜7日目
1日目(月曜日):通常の家庭料理の日
朝食: オーバーナイトオーツ(80gのオーツ、200mlの全乳、1本のバナナ、1 tbspの蜂蜜、15gのアーモンド)。基準値: 520 cal。
| アプリ | 初期推定 | 修正後 | 時間 | メモ |
|---|---|---|---|---|
| Cal AI | 340 cal | 340 cal | 4秒 | 蜂蜜とアーモンドを完全に見逃した。追加方法がない。 |
| SnapCalorie | 365 cal | 365 cal | 6秒 | 3Dでのポーション推定は良好だが、隠れた成分は見逃した。 |
| Foodvisor | 380 cal | 420 cal | 15秒 | オーツとバナナを特定。蜂蜜は手動で検索。 |
| Nutrola | 410 cal | 505 cal | 18秒 | AIがオーツとバナナを特定。音声で「蜂蜜1 tbspとアーモンド15g」を追加。データベースが両方に一致。 |
昼食: スーパーマーケットのパッケージギリシャサラダ(バーコードあり)。基準値: 340 cal(ラベル通り)。
| アプリ | 初期推定 | 修正後 | 時間 | メモ |
|---|---|---|---|---|
| Cal AI | 280 cal | 280 cal | 5秒 | バーコードオプションなし。写真推定が低かった(ドレッシングを見逃した)。 |
| SnapCalorie | 295 cal | 295 cal | 7秒 | 同様の問題。バーコードなし。 |
| Foodvisor | 340 cal | 340 cal | 4秒 | バーコードスキャンが完璧に一致。 |
| Nutrola | 340 cal | 340 cal | 3秒 | バーコードスキャン。完全一致。今日の最速ログ。 |
夕食: 自家製チキン炒め(200gの鶏もも肉、150gのブロッコリー、100gのパプリカ、200gのご飯、1.5 tbspのごま油、2 tbspの醤油)。基準値: 785 cal。
| アプリ | 初期推定 | 修正後 | 時間 | メモ |
|---|---|---|---|---|
| Cal AI | 490 cal | 490 cal | 5秒 | 調理油を完全に見逃した。295 cal不足。 |
| SnapCalorie | 520 cal | 520 cal | 8秒 | 3Dがご飯のボリュームに役立ったが、油は見えなかった。 |
| Foodvisor | 530 cal | 580 cal | 20秒 | 炒め物を特定。油は手動で追加したが、「植物油」しか見つからなかった。 |
| Nutrola | 560 cal | 755 cal | 22秒 | AIがチキン炒めとご飯を特定。音声で「ごま油1.5 tbsp」を追加。データベースに正確なエントリーがあった。基準値に近い。 |
1日目合計:
| アプリ | ログ合計 | 基準値 | エラー | エラー率 |
|---|---|---|---|---|
| Cal AI | 1,576 cal | 2,105 cal | -529 cal | -25.1% |
| SnapCalorie | 1,648 cal | 2,105 cal | -457 cal | -21.7% |
| Foodvisor | 1,808 cal | 2,105 cal | -297 cal | -14.1% |
| Nutrola | 2,058 cal | 2,105 cal | -47 cal | -2.2% |
1日目は、テスト全体で繰り返されるパターンを示しました。調理油のギャップだけで、写真のみのアプリでのエラーの大半を占めていました。
3日目(水曜日):レストランランチの日
レストランの食事は最も示唆に富んだテストでした。インド料理店でチキンティッカマサラとナン、ご飯を注文しました。この食事は計量できませんでしたが、USDAの類似レストランポーションに基づいて基準値を約950カロリーと推定しました。
| アプリ | 推定値 | メモ |
|---|---|---|
| Cal AI | 620 cal | 大幅に不足。提供されたよりも小さいポーションとして扱った。 |
| SnapCalorie | 680 cal | より良いポーション推定だが、まだ低い。ソースのクリーム/バターを見逃した。 |
| Foodvisor | 740 cal | 近い。ティッカマサラを特定し、より良いデータを引き出した。 |
| Nutrola | 890 cal | AIがティッカマサラを特定。レストランスタイルのティッカマサラのデータベースエントリーには典型的なクリーム/バターの内容が含まれていました。「大盛り」と確認しました。 |
5日目(金曜日):スムージーとコーヒーチャレンジ
朝のスムージー(バナナ、アーモンドミルク、ピーナッツバター、ホエイプロテイン、ほうれん草 — 不透明なボトルに入れて)。基準値: 450 cal。午後のラテ(オートミルク、大サイズ、バニラ2ポンプ)。基準値: 約290 cal。
スムージーの結果:
| アプリ | 推定値 | メモ |
|---|---|---|
| Cal AI | 180 cal | 暗いボトルを見て推測。 |
| SnapCalorie | 210 cal | 3Dでボトルのボリュームを測定したが、中身を特定できず。 |
| Foodvisor | 195 cal | 同様の制限。容器を見たが、中身は見えなかった。 |
| Nutrola | 435 cal | レシピを音声でログ。データベースがすべての成分に一致。写真は役に立たなかった(撮影を省略)。 |
ラテの結果:
| アプリ | 推定値 | メモ |
|---|---|---|
| Cal AI | 130 cal | 一般的に「コーヒー」として特定。 |
| SnapCalorie | 150 cal | カップのボリュームを測定し、「ラテ」と推測。 |
| Foodvisor | 160 cal | 「ラテ」として特定したが、通常のミルクの仮定を使用。 |
| Nutrola | 275 cal | 「大きなオートミルクラテ、バニラ2ポンプ」と音声でログ。データベースにスターバックススタイルのオートミルクラテのエントリーがあった。 |
この日は、音声ログの重要性を浮き彫りにしました。写真ベースのトラッカーは、飲み物や不透明な容器には基本的に盲目的でした。
1週目のまとめ
| 指標 | Cal AI | SnapCalorie | Foodvisor | Nutrola |
|---|---|---|---|---|
| 平均日次ログカロリー | 1,640 cal | 1,720 cal | 1,870 cal | 2,145 cal |
| 平均日次基準値 | 2,180 cal | 2,180 cal | 2,180 cal | 2,180 cal |
| 平均日次エラー | -540 cal | -460 cal | -310 cal | -35 cal |
| 平均日次エラー率 | -24.8% | -21.1% | -14.2% | -1.6% |
| 平均食事あたりの時間 | 5.2秒 | 7.1秒 | 16.4秒 | 17.8秒 |
| バーコードが利用可能な食事数 | 8 | 8 | 8 | 8 |
| バーコードが使用された食事数 | 0 | 0 | 8 | 8 |
| フラストレーションの瞬間 | 12 | 9 | 5 | 2 |
1週目の観察:
Cal AIは常に最速でしたが、常に最も不正確でもありました。スピードは瞬間的には良いと感じましたが、日次合計は意味のある間違いでした — 毎日540カロリーの過小評価は、典型的な体重減少の赤字を完全に消し去ることになります。
SnapCalorieの3Dスキャンは、盛り付けられた食事のポーションサイズに役立ちましたが、見えない成分(油、隠れた成分、飲み物)の根本的な問題には対処できませんでした。
Foodvisorのバーコードスキャンは、パッケージ食品に対してCal AIやSnapCalorieよりも大きな利点でした。栄養士機能は存在しましたが、リアルタイムで使用することはありませんでした。フィードバックの遅延が日常的な意思決定には実用的ではなかったからです。
Nutrolaの音声ログとバーコードスキャンの組み合わせは、見えない成分とパッケージ食品という2つの大きな精度ギャップをカバーしました。Cal AIに比べて1食あたりの12秒の追加時間は、実際にはほとんど気になりませんでした。
2週目: 8日目〜14日目
8日目(月曜日):ミールプレップの日
5日分のランチを一度に調理しました:鶏むね肉、サツマイモ、インゲン。全く同じ食事、同じポーションを毎日記録しました。
これは一貫性のテストです。同じ食事を5回ログすることで、同じカロリー数が5回得られるはずです。
| アプリ | 8日目 | 9日目 | 10日目 | 11日目 | 12日目 | 範囲 |
|---|---|---|---|---|---|---|
| Cal AI | 445 | 410 | 465 | 425 | 455 | 55 calのばらつき |
| SnapCalorie | 430 | 440 | 420 | 445 | 435 | 25 calのばらつき |
| Foodvisor | 480 | 480 | 485 | 480 | 480 | 5 calのばらつき |
| Nutrola | 495 | 495 | 495 | 495 | 495 | 0 calのばらつき |
基準値(計量して計算):490 cal。
Cal AIの55カロリーの範囲は、AIのみのアーキテクチャの直接的な結果です — 異なる写真が異なる推定をもたらしました。SnapCalorieの3Dスキャンはばらつきを減少させました。Foodvisorのデータベースのサポートにより、ほぼ一定でした。Nutrolaは、8日目以降に同じデータベースエントリーをログしたため、完全に一貫していました(ミールテンプレートとして保存)。
11日目(木曜日):ソーシャルディナー
友人の家でのディナー。複数の料理があり、共同で提供され、食事を計量することができませんでした。これは、どのカロリートラッカーにとっても最も難しい現実のシナリオです。
料理には、カルボナーラ、シーザーサラダ、ガーリックブレッド、ティラミスが含まれていました。自分のポーションを視覚的に推定し、基準値を約1,200カロリーと粗く計算しました。
| アプリ | 推定値 | メモ |
|---|---|---|
| Cal AI | 680 cal | 一度だけ皿の写真を撮影。AIは中程度のパスタの食事として扱った。デザートを見逃した(思い出す前に食べてしまった)。 |
| SnapCalorie | 720 cal | 同じ皿の写真。3Dがパスタのボリュームに役立ったが、デザートを見逃した。 |
| Foodvisor | 810 cal | 皿の写真を撮影し、その後データベースからティラミスを手動で追加した。 |
| Nutrola | 1,080 cal | 皿の写真を撮影。AIがカルボナーラとサラダを特定。音声で「ガーリックブレッド2枚、バター付き」と「ティラミス1切れ、約150g」を追加。すべてデータベースから。 |
ソーシャルディナーは、写真のみのワークフローの脆弱性を露呈しました。一つのコース(デザート)の写真を撮り忘れると、200-400カロリーのギャップが生じ、写真のみのアプリでは回復できませんでした。Nutrolaの音声ログは、後から見逃したコースを追加することを可能にしました。
14日目(日曜日):ブランチとスナックの日
大きなブランチ(スモークサーモンのエッグベネディクト、ホームフライ、フルーツサラダ、オレンジジュース、カプチーノ)と午後の間に複数の小さなスナックがある日。
スナックは特に示唆に富んでいました。手のひらサイズのトレイルミックス(推定180 cal)、プロテインバー(バーコード:210 cal)、リンゴ(95 cal)、ダークチョコレート(150 cal)。これらのクイックスナックは、スキップしたり、誤って推定したりしやすいです。
| アプリ | ブランチ推定 | スナック合計 | 日合計 | 基準値 | エラー |
|---|---|---|---|---|---|
| Cal AI | 580 cal | 320 cal | 1,890 cal | 2,450 cal | -560 cal |
| SnapCalorie | 620 cal | 340 cal | 1,960 cal | 2,450 cal | -490 cal |
| Foodvisor | 710 cal | 485 cal | 2,185 cal | 2,450 cal | -265 cal |
| Nutrola | 820 cal | 615 cal | 2,380 cal | 2,450 cal | -70 cal |
ブランチのホランデーズソースが大きな差を生み出しました — Cal AIとSnapCalorieはほとんど考慮していませんでした。プロテインバーのバーコードスキャンは、FoodvisorとNutrolaに正確なデータを提供しました。トレイルミックスは、音声での説明(「手のひらサイズのトレイルミックス、約40g」)が必要でした。
2週目のまとめ
| 指標 | Cal AI | SnapCalorie | Foodvisor | Nutrola |
|---|---|---|---|---|
| 平均日次ログカロリー | 1,580 cal | 1,680 cal | 1,910 cal | 2,190 cal |
| 平均日次基準値 | 2,220 cal | 2,220 cal | 2,220 cal | 2,220 cal |
| 平均日次エラー | -640 cal | -540 cal | -310 cal | -30 cal |
| 平均日次エラー率 | -28.8% | -24.3% | -14.0% | -1.4% |
| 平均食事あたりの時間 | 5.0秒 | 6.8秒 | 15.8秒 | 16.2秒 |
2週目のエラーは、AIのみのアプリにとっては1週目よりもわずかに悪化しました。より複雑な食事(レストラン、ソーシャルディナー、ブランチ)が登場したためです。Nutrolaの精度は、音声ログの使い方に慣れ、保存した食事のライブラリを構築するにつれて、実際には改善しました。
14日間の総合結果
| 指標 | Cal AI | SnapCalorie | Foodvisor | Nutrola |
|---|---|---|---|---|
| 14日間の総ログカロリー | 22,540 | 23,800 | 26,460 | 30,345 |
| 総基準値カロリー | 30,800 | 30,800 | 30,800 | 30,800 |
| 総カロリーエラー | -8,260 | -7,000 | -4,340 | -455 |
| 平均日次エラー率 | -26.8% | -22.7% | -14.1% | -1.5% |
| エラーの方向性 | 一貫して不足 | 一貫して不足 | 一貫して不足 | ランダム(過剰も不足もあり) |
| 最悪の単日エラー | -780 cal | -650 cal | -420 cal | -95 cal |
| 最良の単日エラー | -320 cal | -280 cal | -140 cal | +15 cal |
| 平均食事あたりの時間 | 5.1秒 | 7.0秒 | 16.1秒 | 17.0秒 |
| 総日次追跡時間 | ~25秒 | ~35秒 | ~80秒 | ~85秒 |
| 使用したバーコードスキャン数 | 0 | 0 | 16 | 16 |
| 使用した音声ログ数 | 0 | 0 | 0 | 38 |
| 写真を撮り忘れた食事数 | 4 | 4 | 4 | 0(後から音声でログ) |
主な発見
1. 過小評価バイアスは実在し、一貫している
すべてのアプリが総カロリー摂取量を過小評価しましたが、その大きさは大きく異なりました。Cal AIの14日間での8,260カロリーの過小評価は、体脂肪2.4ポンドに相当します — Cal AIに依存して体重減少の赤字を計算しているユーザーは、実際よりも2.4ポンド多く減少したと考えることになります。
過小評価は系統的であり、ランダムではありません。最も一般的なAIの失敗(見えない調理油、隠れた成分、ソースの過小評価)は、過少計算を引き起こすものであり、過剰計算を引き起こすものではありません。
2. 音声ログはカロリートラッキングで最も過小評価されている機能
音声ログは14日間で38エントリーを記録しました — 主に調理油、スムージー、コーヒー飲料、写真を撮り忘れた食事です。これら38の音声ログは、写真のみのアプリでは欠落していたか、著しく過小評価されていた約5,200カロリーを表しています。
3. バーコードスキャンは最も簡単な精度向上
14日間で16回のバーコードスキャンを行いました。各スキャンは2-3秒かかり、99%以上の精度を実現しました。Cal AIとSnapCalorieは、これらのパッケージ製品すべてに対して写真推定を強制しました — 99%以上の精度の方法が利用可能であるのに、85-92%の精度の方法を使用していました。
4. 実際のスピードの違いは無視できる
Cal AI(1日あたり25秒)とNutrola(1日あたり85秒)の違いは60秒 — 精度が25パーセントポイント向上するための、1日あたりの追加の努力は1分です。言い換えれば:1日あたりの追加1分で、2週間で8,000カロリーのエラーを排除しました。
5. 一貫性はトレンド分析に重要
Nutrolaのデータベースに基づくエントリーは、14日間で滑らかで信頼できるカロリートレンドを生み出しました。Cal AIの変動する推定値は、実際の食事パターンの変化ではなく、AI推定の変動によって支配されるノイズの多いトレンドを作り出しました。週末の食習慣が平日と異なるかどうかを特定しようとする場合、一貫した平日ベースラインが必要です — そしてAIのみのトラッカーはそれを提供できません。
結論
Cal AIは本当に速く、印象的にシンプルです。摩擦を全く感じたくない人や、正確な数字が必要ない人には、意識を持つためのツールとして機能します。しかし、26.8%の平均日次エラーは、正確なデータを必要とする目標には不適切です。速くてクリーンな体験は、ログの数字が大幅に間違っているという事実によって損なわれています。
SnapCalorieは、テストした中で最も技術的に興味深いアプリです。3Dスキャンは単なるギミックではなく、見える盛り付け食事のポーション推定を実際に改善しました。しかし、改善は控えめでした(Cal AIの26.8%に対して22.7%のエラー) — 最大のエラーは、見えない成分から来るものであり、ポーションの誤計算ではありません。写真のみのアプリに対してプレミアム価格($9-15/月)は正当化しがたいです。
Foodvisorは、合理的な中間地点を占めています。バーコードスキャンと部分的なデータベースのサポートにより、AIのみのアプリに比べてエラーが大幅に減少します。ヨーロッパの食品に最も適しており、プロフェッショナルな印象を与えます。栄養士機能はユニークな提供ですが、遅延があるため、リアルタイムトラッキングには実用的ではありません。
Nutrolaは、圧倒的に最も正確な食事ログを生成しました — 平均エラー1.5%に対して、競合は14-27%でした。この精度は、AIが見逃すものをキャッチする検証済みのデータベース、写真では捉えられないものをカバーする音声ログ、パッケージ製品に対して正確なデータを提供するバーコードスキャンによるものです。€2.50/月の無料トライアル後、広告なしで、Nutrolaはすべてのアプリよりも安価です。
追加の1分は正直なトレードオフです。Nutrolaは最速のアプリではありません。食事あたり数秒の追加時間と、データベースエントリーの確認や隠れた成分の音声ログを必要とします。しかし、その結果は、実際に食べたものを反映した食事ログです — これがカロリートラッキングの全目的です。
14日間の並行テストの結果、結論は明確です:最も信頼できるAIカロリートラッカーは、最も印象的なAIを持つものではありません。AIが不十分であることを知り、検証済みのデータベース、音声ログ、バーコードスキャンでギャップを埋める準備ができているアプリです。このテストでそのアプリはNutrolaでした。