AIはどうやって食事を認識しているか|写真からカロリーとPFCまで
結論から: 皿を撮影すると、アプリは4つの段階を順に実行します。食べ物を背景から切り分け、それぞれに名前を付け、量を推定し、その量の栄養素を照合します。最初の2段階は現在とても安定しています。3段階目、平面の画像から分量を推定するところに誤差の大部分が住んでいます。4段階目は背後のデータベースの質にすべてがかかっています。「鶏むね肉、150gくらい、ご飯と一緒」といった数語の文脈は、2段階目と3段階目を同時に直すため、最終的な誤差をおよそ半分にします。
見た目より難しい理由
皿を見た人間も、同じ4つのことを無意識に行い、たいてい間違えます。2000人を対象とした研究では、平均的な人がカロリーを20%以内で当てられたのは20回中5回でした。訓練を受けた評価者も同じでした。問題は賢さではなく、1枚の画像に本当に十分な情報がないことです。奥行き、密度、隠れた油とソース、全脂と低脂肪の違い。どれもカメラには見えません。
AIによる認識はこれを解決しません。推定を速く、ぶれにくく、直しやすくするだけです。
段階1:領域分割 — 食べ物を見つける
モデルはまず画像を領域に分けます。皿、テーブル、手、そして個々の食品。最近の領域分割は重なった食べ物でもうまく扱いますが、要素が隣り合っているのではなく混ざっている場合 — シチュー、カレー、具が中に入ったブリトー — に精度が落ちます。ご飯の輪郭を引けなければ、ご飯を測ることもできません。
うまくいかない条件: 暗い場所、ブレ、急な角度からの撮影、要素が混ざり合った料理。
段階2:分類 — 見つけたものに名前を付ける
各領域を、数百万枚のラベル付き食事画像で学習したモデルと照合します。よくある食品 — 焼いた鶏肉、白米、ブロッコリー、目玉焼き — では精度が高くなります。誤りは似たものどうしに集中します。
- もも肉とむね肉(脂質量が違います)
- 白米とリゾットとカリフラワーライス
- 全脂ヨーグルトと低脂肪ヨーグルト
- バターとマーガリンとオリーブオイル系スプレッド
- 加糖と無糖の飲み物
- モデルがあまり見ていない地域の料理
2026年の多くのアプリは、この段階を食品専用の分類器ではなく大規模なマルチモーダルモデルで実行しています。珍しい料理や地域料理の網羅性は上がりましたが、似たものどうしの問題は解決していません。脂質量はやはり見えないからです。
うまくいかない条件: 見た目の似た食品、なじみの薄い料理、ソースや飾りに隠れた食べ物。
段階3:分量の推定 — どれだけあるか
ここが難しい部分であり、誤差の主な出どころです。モデルは基準となる物差しのない2次元画像から、3次元の体積を推し量らなければなりません。皿の大きさ、フォーク、手、よくある盛り付けの形といった手がかりを使いますが、器のご飯は上から見れば150gでも300gでも同じに見えます。
分量推定の研究は一貫して、この段階が誤差に最も寄与すると示しています。あるクラウドソーシング研究では、クレジットカードのような基準物を置くと人間の推定はかえって悪くなりました。体積がいかに直感に反するかを物語っています。
助けになるのは二つです。
- 1枚の写真ではなく動画。 2秒ほどのパンで複数の角度が得られ、奥行きについて推論できるようになります。CalMePleaseが動画入力に対応しているのはこのためです。
- 量を言うこと。 「1カップくらい」や「150g」は、推測そのものを取り除きます。
うまくいかない条件: 深い器、積み上げた盛り付け、真上からの撮影、モデルの想定より多い分量。
段階4:栄養素の照合 — 食品と量を数字にする
特定された食品と推定重量を栄養データベースと突き合わせ、カロリー、たんぱく質、炭水化物、脂質、そして計測するアプリなら食物繊維、糖、塩分などに展開します。
この段階はデータベースの質がすべてです。「チキンカレー」は生クリーム、油、砂糖の量によってまったく違う項目に当たります。利用者が作るデータベースには誤った項目があり、精査されたデータベースには欠けている項目があります。良いアプリは検証済みの土台を使い、見えたもの(脂っこい、クリーミー、あっさり)に応じてモデルに調整させます。
うまくいかない条件: ばらつきの大きい料理の一般的な項目、脂と砂糖が隠れた外食、本来スキャンすべきだった市販品。
誤差はどう積み重なるか
各段階が誤差を次に渡します。分量で10%外し、似たものへの取り違えで脂質が30%ずれ、データベースの項目が一般的なものだと、最終的な数字は30〜40%外れます。同じ皿を見た二つのアプリが3分の1違う理由がこれです。
処理全体について公表されている数字は、実際の食事の画像のみの推定で平均15〜30%、短い説明を添えると約14%です。単品の簡単な食べ物は下限側、混ざった料理は上限側に来ます。
一文の文脈がこれほど効く理由
短いテキストや音声のメモは、最も弱い2つの段階を一度に直します。
- 「鶏むね肉」は分類を確定させます(もも肉ではない)
- 「150gくらい」は分量を確定させます
- 「オリーブオイルで」は見えない脂質を足します
写真は皿の上のすべてを見つける仕事を続けます。文はそのうち、写真に見えない2つを直します。CalMePleaseが写真だけでなく写真と母語の音声メモを前提に作られているのはこのためです。研究が言うところ、この組み合わせが計量なしでの実用的な精度の上限です。
数字の先:アプリはそれをどうするか
認識は段階4で終わります。その先で各アプリは分かれます。
多くのアプリはカロリーを1日の合計に足してそこで止まります。CalMePleaseは10項目すべて — 多くの写真アプリが省く食物繊維、糖、塩分を含めて — をAIコーチに渡し、1日全体を読んだうえで次に何を食べるかを伝えます。認識の処理は入力で、アドバイスが製品です。20%外れていても「たんぱく質が足りません、夕食で足しましょう」につながる推定のほうが、誰も行動に移さない完璧な数字より役に立ちます。
端末の中だけで認識できますか
一部のアプリは処理の一部を端末上で実行しており、その場合は写真が端末から出ません。2026年時点でのその代償は精度です。端末上のモデルは小さく、珍しい食べ物に弱くなります。CalMePleaseを含む多くのアプリは画像をサーバーで処理し、できあがった履歴を端末に保存します。プライバシーで重要なのは何が残るかです。CalMePleaseは食事履歴、体重、統計を端末内に保持し、データの販売も共有も行いません。
よくある質問
写真からどうやってカロリーが分かるのですか。 各食品を特定し、画像から重量を推定し、1グラムあたりのカロリーをデータベースで照合します。3つとも推定であり、最も不確かなのが重量です。
同じ写真で2つのアプリのカロリーが違うのはなぜですか。 分類モデルが違い、分量の推し量り方が違い、データベースが違うからです。各段階の誤差が足し合わさります。
自炊の料理でも認識できますか。 できます。データベース検索より向いています。ひとつずつ探すはめになる構成要素にAIが名前を付けてくれるからです。油やソースについて一言添えると、より近い数字になります。
動画から食事を認識できますか。 できます。動画は複数の角度を与えるため、分量の推定が良くなります。CalMePleaseは短い動画を入力として受け付けます。
ダイエットに使える精度ですか。 記録を続けるという意味では十分です。ランダムな誤差は1週間で平均化されます。大事なのは毎食記録し、明らかな取り違えを直すことです。写真からのカロリー計算はどこまで正確かもご覧ください。
関連記事: 音声で食事を記録する · カロリーのためのバーコード読み取り|表示が語らないこと
CalMePleaseは写真・動画・音声・バーコードで食事を記録し、1食あたり10項目を計測します。App Storeで無料。