Plateknow 初期テストに参加

Plateknow

写真でカロリーを出すアプリは、実際どう動いているのか

更新日

やりたいことはこうです。弁当に向けて一枚撮る。それがこの一食のカロリーをだいたい教えてくれる。そういうアプリは実際に存在しますし、思っているより使えます——ただし、その数字のどこが測られたもので、どこが推測なのかを知っていれば、という条件つきで。

私たちはまさにそういうアプリを作っているので、このページの立場は割り引いて読んでください。ただし以下はすべて自分で確かめられることですし、技術的に弱いところは先に書きます。二週目には自分で気づくことだからです。

シャッターのあとに起きている4つのこと

このカテゴリのアプリはどれも同じ4段階を通ります。違うのは各段階の精度と、どこまで見せてくれるかだけです。

一皿を切り分ける

モデルはまず写真を食品の領域に分割します。ここがごはん、ここが唐揚げ、ここがほうれん草。この2年でいちばん進んだのがこの段階で、食べものが視覚的に分かれてさえいれば、今はかなりよくできます。

それぞれが何かを当てる

各領域に名前と確信度がつきます。「焼き鮭」は簡単で、「茶色いタレのようなもの」は難しい。そしてタレ一杯のカロリーは、かかっている肉より高いことがよくあります。

分量を見積もる——いちばん難しい段階

各食品が何グラムあるかを推定します。写真は平面で奥行きの情報がないので、体積は表面積と、器の大きさを物差しにすることと、「この料理は普通このくらい」という知識から導かれます。誤差のほぼ全部がここで生まれます。

グラムをカロリーに換える

「焼き鮭165グラム」と分かってしまえば、あとは表を引くだけで不確かさはほとんどありません。不確かさは3段階目で使い切られています。

いちばん覚えておく価値のある一文:推定しているのはカロリーではなく、グラム数です。アプリが「412 kcal」と言うとき、実際に言っているのは「たぶん鮭が165グラム」です。確かめるべきはその165のほうです。

よく当たるとき

  • 包装があって表示が読めるもの。それは推定ではなく参照です。
  • 食品が分かれている皿:肉、ごはん、副菜がくっついていない状態。
  • 形と密度が安定しているもの:卵一個、食パン一枚、バナナ一本、鶏むね一枚。
  • よく食べるもの。一度直したあとは、よくできたアプリなら同じ食事で二度は間違えないはずです。
  • 一週間の傾向。各食に誤差があっても、一週間の方向はたいてい合っています——そして多くの人が本当に知りたいのは、その方向のほうです。

外れるとき、そしてその理由

  • 油。 写真にはまったく写らないのに、カロリーは非常に高い。同じ野菜炒めでも、厨房が使った油の量で200 kcal 以上変わり得ますし、カメラにそれは見えません。
  • タレ、あん、煮汁。 丼もののカロリーはタレの量と脂の比率でほぼ決まりますが、そこが写真からいちばん判断しにくい部分です。
  • 混ざった料理。 カレー、丼、あんかけ、汁物。切り分けには見える境界が要りますが、汁物に境界はありません。
  • 器の深さ。 ラーメンを真上から撮ると見えるのは表面で、深さではありません。同じに見える二杯で分量はかなり違います。
  • 学習データにない料理。 欧米の皿を中心に学習したモデルは、定食の一汁三菜やコンビニ弁当、丼ものでぶれます。これは物理の問題ではなくデータの問題です——直せますが、そのアプリがあなたの食べるもので学習していれば、の話です。

日本の食事が特に難しい点

意地悪をしているわけではなく、この数種類が上の弱点をいくつも同時に踏むからです。これは実測データではなく、この仕事をしている私たちの工学的判断です。

よくある食事と、写真に見えるもの・見えないもの。
食事写真に見えるもの難しい点
コンビニ弁当主菜、副菜、ごはんの表面積比較的扱いやすい。主な変数はごはんの量と主菜の調理法
定食(一汁三菜)器が分かれていて切り分けやすい切り分けは問題ない。難しいのは各小鉢の油と味付けの差
丼もの一杯のごはんと上の具タレの量と脂の比率で決まるが、そこが見えない
ラーメン、うどん一杯の汁と麺境界がなく、深さも見えない。スープを飲むかどうかでも変わる
揚げもの個数と大きさは見積もれる吸油量の差が大きく、同じ重さでもかなり違う
タピオカなど加糖飲料色のついた液体一杯糖分はまったく見えない。これだけは自分で入力するしかない
加糖飲料は甘さを手で入力してください。どのアプリが劣っているという話ではありません——糖は水に溶けていて、光学的に見えないのです。一杯撮るだけで糖まで分かると謳うアプリがあれば、そこは信じなくて大丈夫です。

選ぶ前に確かめておくこと

  1. どう認識したかを見せてくれるか。 数字だけ投げてくるなら、鶏肉を豆腐と取り違えたことに気づきようがありません。認識過程が見えるのは飾りではなく、唯一の監査記録です。
  2. 分量をひとつ直すのに何タップか。 最初の一食で試してください。修正が手入力より面倒なら、そのアプリは解決すると謳った問題を解決していません。
  3. 1/3、1/2を指定できるか。 「三分の二くらい食べた」は現実で最も多い修正で、「1人前」しか選べないアプリには毎日いらいらします。
  4. 無料の範囲は具体的に何か。 「無料ダウンロード」は無料プランではありません。ひと晩かけて設定する前に、「課金せずに何回スキャンできるか」という数字を見つけてください。
  5. 登録せずに試せるか。 結果をひとつも見ないうちにアカウントを作らせるなら、その製品が優先しているのは登録数であって、あなたではありません。

私たちが作っているもの

Plateknow は iOS アプリ(Android も続きます)で、上の4段階をやり、2段階目を見せます。一皿がひとつずつ切り出されていくのが見えます——それが数字を信じられるものにしている部分です。結果カードには常に見える修正ボタンがあり、編集モードの奥ではありません。分量は分数で指定できます。目標をまったく設定しないモードもあります。多くの人はただ自分が何を食べたかを見たいだけで、数字を割り当てられたいわけではないからです。

そして数時間後、ひとつだけ質問が来ます——あとで体調はどうでしたか。答えはその一食の隣に残ります。数字はすべて消せます。消しても記録は残ります。

未リリース。12月の審査提出を予定していて、少人数の初期テスターを募集中です。

少人数の グループ

最初のテストグループへ。ついでに、何を作るべきか教えてください。

TestFlight での先行利用。ベータ期間中の料金はかかりません。

任意ですが、いただけるものの中でいちばん役に立ちます。

TestFlight の招待で1通、リリース時に1通。それだけです。メルマガも、アドレスの共有もありません。 取り扱いについて

写真でのカロリー推定に通信は必要ですか?

多くの場合必要です。モデルが端末ではなくサーバーで動くからです。これはプライバシー上の意味を持ちます:食事の写真が端末から出ていくということです。この種のアプリは、出ていくのかどうか、どれだけ保持するのかを明確に伝えるべきです。

メニューや栄養成分表示を撮ってもいいですか?

文字も読むアプリがあり、包装の成分表示にはとても有効です。飲食店のメニューにはあまり効きません——メニューは料理名を教えてくれますが、分量も、厨房が使った油の量も教えてくれません。

バーコードのほうが正確ですか?

包装食品なら当然そうです。バーコードは厳密な照合ですから。写真が扱うのはバーコードのないもので、多くの人にとってはそれが食事の大部分です。

出たカロリーを医療的な根拠にできますか?

できません。この種のアプリは計測機器ではありませんし、そう扱うべきでもありません。医療上の必要があれば管理栄養士か医師に相談してください。