CarbCam: 仕組みを解説

CarbCamはどのように動作しますか?

CarbCamはあなたの写真を受け取り、AIサービスに送信し、成分の推定値を受け取り、 標準の栄養データベースと照合して値を検証し、結果を表示します。

処理の流れ

すべての解析は最大6つのステップを経ます。

1
撮影
2
トリミング
3
事前チェック
4
AI解析
5
検証
6
保存

流れを図解しました。比較のために実際のスクリーンショットも掲載します。

CarbCam、スキャンタブ

1. スキャンタブ

CarbCam、AI解析

2. AI解析

CarbCam、結果

3. 結果

処理の詳細

1 撮影とローカルでの画像トリミング

写真は最初、完全にあなたの端末内にとどまります。トリミング、回転、撮り直しができます。 “解析する”をタップするまでは何もアップロードされません。

2 サーバーキャッシュ照会(事前チェック)

画像がAIに送信される前に、アプリはSHA-512ハッシュと知覚ハッシュを使って、 同一または非常によく似た写真がすでにサーバーキャッシュに存在するかを確認します。ヒットした場合は、 AIを再度呼び出すことなく、保存済みの結果が即座に返されます。 続く確定ステップでキャッシュエントリは消費済みとしてマークされます(クォータのカウント)。

3 AI解析へのアップロード

キャッシュにヒットしない場合、(トリミング済みの)写真が当社の解析エンドポイントに送信されます。 そこでビジョンモデル(アプリ設定での選択に応じてGemini、Claude、またはOpenAI)が呼び出され、画像の内容を説明し、個々の構成要素に名前を付け、おおよその分量を推定します。

プライバシー: 写真はモデルの学習には使用されません。 詳しくはプライバシーポリシーをご覧ください。
4 バックグラウンド検証(信頼度が低い場合のみ)

AIの推定値の信頼度が低い場合、サーバーは栄養データベース(USDA FoodData Central、Open Food Facts)に対する バックグラウンドの照合を開始します。補正された値はキャッシュに反映され、 次に同じまたは似た写真が一致した際には、改善された結果が表示されます。信頼度が高いスキャンではこのステップはスキップされます。

ただしバーコードの場合は、製造者の栄養成分表が主な情報源となるため、 Open Food Facts / USDAとの照合は常に直接実行されます。

5 あなたによる編集

分量、炭水化物、kcal、FPE、構成要素など、どの値も上書きできます。 保存時にはAIの推定値ではなくあなたの値が使用されます。 アプリは統計目的で、炭水化物の合計に対するあなたの補正(ユーザー: Xg 対 AI: Yg)を差分として保存します。

6 保存とNightscout同期

ローカルのSQLiteデータベースに保存されます。オプションで、あなたのNightscoutインスタンスへのNightscout同期も可能ですが、これはトリートメントテーブル内のメモとしてのみ (タグCarbCam付き)反映され、アクティブな炭水化物/インスリントリートメントとしては扱われません。 CarbCamの保存によってあなたのLoop/AAPS/iAPSの計算に影響が出ることはなく、食事はメモとしてのみ表示されます。 ns.10be.deのマネージドNightscoutを利用している場合、設定は特に簡単です。NightscoutのURLとAPIシークレットを入力するだけで完了します。

炭水化物をアクティブなトリートメントとして扱いたい場合は、スキャン結果の共有ボタンを使ってください。 炭水化物の値をディープリンク経由でAAPS/AndroidAPS、Loop、iAPS、Trioに送信するか、システムの共有シートを開きます。

FPEとは何ですか?

FPE脂肪タンパク単位(Fat-Protein Units)の略です。 脂質とタンパク質由来のエネルギーが、遅れて血糖値に影響を与える度合いを表します。

FPE = (脂質 × 9 + タンパク質 × 4) ÷ 100

1 FPEはおおよそ脂質・タンパク質由来の100 kcalに相当します。例。

  • 脂質30 g + タンパク質20 g = (270 + 80) ÷ 100 = 3.5 FPE

ポンプ利用者は、延長ボーラスのパラメーター(スクエアウェーブやデュアルウェーブなど)を設定する際にFPEをよく利用します。 ペン利用者は、FPEを遅めの補正おやつや午後の少量補正の目安として利用できます。

CarbCamは結果カードでFPEを黄色のチップとして表示します。 栄養価の色分けは以下の通りです。

  • Carbs 炭水化物
  • kcal カロリー
  • FPE 脂肪タンパク単位
  • Fat 脂質
  • Protein タンパク質

食事の下に表示されるBG曲線

Nightscoutが設定されている場合、CarbCamはあなたのNightscoutインスタンスからBGデータを読み込み、 履歴タブの各食事の下に血糖値の曲線を表示します。 時間範囲はプラットフォームに依存し、食事を中心に自動的に選択されます。 Nightscoutと組み合わせることで、CarbCamは食後の的確なBGトラッキングを実現します。

BG曲線(Nightscoutデータ)の機能。

  • 食事を中心とした時間範囲(プラットフォームに依存)
  • 食事時刻のマーカー
  • 色分けされたピークポイントの強調表示(レベルに応じて赤/黄/緑)
  • 主要指標としての上昇幅と終値
  • オプションのオーバーレイラインとしてのIOB / COB
この曲線は学びに役立ちます。パスタには体はどう反応するか? ピザには? 寿司には? (履歴内の)比較機能を使えば、複数の曲線を重ねて表示できます。
BG曲線を表示するには、Nightscoutとの接続が正常に機能している必要があります。Nightscoutがない場合、このセクションは表示されません。 まだNightscoutをお持ちでない方は、NS10BEマネージドNightscoutホスティングを設定すれば、すぐにCarbCamと接続できます。

精度

精度は食事の種類によって異なります。

食事タイプ別の精度
食事の種類 典型的な誤差
明確な分量 ±20 % ご飯、パスタ、パン
複雑な料理 ±30 % シチュー、グラタン
非常に珍しい料理 ±40 % 以上 なじみのない地域料理
包装済み製品 ±5 % 自動バーコード検出(Open Food Facts経由の製造者値)
精度を高める要因
  • 良い照明と鮮明な写真:皿の上に影が落ちないようにする
  • すべての構成要素が見えている:パスタをソースで覆い隠さない
  • サイズの基準物:皿の縁、カトラリー、手などをフレームに入れておく
  • 一般的な料理:AIはよく知られた料理を得意とします
精度を下げる要因
  • 小さな盛り付けが多いビュッフェ皿
  • ソースで大きく覆われた構成要素
  • 明確な参照データベースがない非常に珍しい地域料理
  • サイズの基準物なしで横から斜めに撮影
ボーラスへの影響
  • 通常の食事:推定値を出発点として使い、自分自身の知識を適用し、必要に応じて保存前に値を調整してください
  • 重要なボーラス判断(非常に多い炭水化物、低血糖リスクなど)の場合:常に自分自身の知識/データベース/パッケージを確認してください
  • ポンプ利用者の場合:あなたの食事が通常どの程度ずれるかの経験を積み、その上で自分専用の係数で推定値を補正してください

オフライン時はどうなりますか?

インターネット接続がなくても、以下の機能は利用できます。

  • 履歴の閲覧とフィルタリング
  • エントリの手動作成と編集
  • 統計タブの閲覧
  • データのエクスポート(CSV/JSON)
  • 写真の撮影と後で解析するためのキューへの追加

以下は接続が必要です。

  • AI解析(写真がプロバイダーに送信されます)
  • 自動バーコード検索(Open Food Facts)
  • Nightscout同期(BG曲線、トリートメントのアップロード)