CarbCam:工作原理是什么?
CarbCam 是如何工作的?
CarbCam 获取你的照片,将其发送给 AI 服务,接收对各成分的估算结果, 将数值与标准营养数据库进行校验,然后将结果展示给你。
流程详解
1 拍照与本地图像裁剪
照片最初完全保留在你的设备上。你可以裁剪、旋转,或重新拍摄。 在你点击“分析”之前不会上传任何内容。
2 服务器缓存查询(预检查)
在图片被发送给 AI 之前,应用会通过 SHA-512 哈希和感知哈希 检查服务器缓存中是否已存在相同或非常相似的照片。如果命中,你会立即得到 已保存的结果,无需再次调用 AI。 随后的确认步骤会将该缓存条目标记为已消耗(计入额度)。
3 上传给 AI 分析
如果没有命中缓存,(已裁剪的)照片会被发送到我们的分析端点。 该端点会调用视觉模型(Gemini、Claude 或 OpenAI,取决于你在应用设置中的选择)来描述图像,标注各个成分,并估算大致分量。
4 后台校验(仅在置信度较低时)
如果 AI 估算结果报告置信度较低,服务器会在后台 对营养数据库(USDA FoodData Central、Open Food Facts)进行交叉核查。校正后的数值 会写入缓存,下次匹配到相同或相似照片时,你会看到 改进后的结果。对于置信度较高的扫描,此步骤会被跳过。
但对于条形码,Open Food Facts / USDA 的比对始终会直接执行, 因为生产商营养标签在这里是主要数据来源。
5 由你编辑
你可以覆盖任意数值:分量、碳水、卡路里、FPE、成分。 保存时使用的是你的数值,而不是 AI 的估算值。 应用会将你的总碳水校正值(用户:X 克,AI:Y 克)作为差值保存,用于统计目的。
6 保存与 Nightscout 同步
本地保存在 SQLite 数据库中。也可选择通过Nightscout 同步写入你的 Nightscout 实例,但仅作为治疗记录表中的备注
(标签为 CarbCam),不作为主动的碳水/胰岛素治疗。
你的 Loop/AAPS/iAPS 计算不受 CarbCam 保存操作的影响,这一餐仅以备注形式可见。
如果你使用ns.10be.de 的托管 Nightscout,设置会格外简单:输入 Nightscout 网址和 API 密钥即可,完成。
如果你希望碳水数据主动作为治疗记录,请在扫描结果中使用分享按钮, 它会通过深度链接将碳水数值发送给 AAPS/AndroidAPS、Loop、iAPS 或 Trio,或打开系统分享菜单。
什么是 FPE?
FPE 代表 脂肪蛋白质单位。 它描述了脂肪和蛋白质中的能量以延迟的方式对血糖产生的影响。
1 个 FPE 大约相当于 100 千卡来自脂肪和蛋白质的能量。示例:
- 30 克脂肪 + 20 克蛋白质 = (270 + 80) ÷ 100 = 3.5 FPE
胰岛素泵用户常用 FPE 来设置延时大剂量参数(例如方波或双波)。 笔用户可以将 FPE 作为粗略指标,用于判断是否需要延迟加餐校正或小幅下午校正。
CarbCam 在结果卡片中以黄色标签显示 FPE。 营养数值配色如下:
- Carbs 碳水化合物
- kcal 卡路里
- FPE 脂肪蛋白质单位
- Fat 脂肪
- Protein 蛋白质
餐食下方的血糖曲线
当配置了 Nightscout 后,CarbCam 会从你的 Nightscout 实例加载血糖数据, 并在历史标签页中每餐下方展示血糖曲线。 时间窗口因平台而异,会自动围绕这一餐进行选择。 结合 Nightscout,CarbCam 能够实现有针对性的餐后血糖追踪。
血糖曲线(Nightscout 数据)的功能特点:
- 围绕这一餐的时间窗口(因平台而异)
- 用餐时间的标记
- 用颜色突出显示的峰值点(红/黄/绿,取决于数值高低)
- 上升幅度和结束数值作为关键指标
- IOB / COB 作为可选叠加线
准确性
准确度因餐食类型而异:
| 餐食类型 | 典型偏差 | 示例 |
|---|---|---|
| 清晰的分量 | ±20% | 米饭、意面、面包 |
| 复杂餐食 | ±30% | 炖菜、焗菜 |
| 非常不常见 | ±40% 或更高 | 陌生的地区性菜肴 |
| 包装食品 | ±5% | 自动条形码识别(通过 Open Food Facts 获取生产商数值) |
有助于提升准确度的做法:
- 良好的光线与清晰的照片:不要让阴影遮住餐盘
- 所有成分都清晰可见:不要让酱汁把意面完全淹没
- 比例参照物:将盘子边缘、餐具或手放进画面中
- 常见菜品:AI 对广为人知的菜品识别效果更好
会降低准确度的因素:
- 自助餐盘上摆放着许多小份食物
- 被酱汁大量覆盖的成分
- 没有明确参考数据库的非常不常见的地区性菜肴
- 从侧面斜角拍摄且没有比例参照物
这对你的大剂量意味着什么:
- 对于普通餐食:将估算值作为起点,结合你自己的经验,必要时在保存前调整数值
- 对于关键性的大剂量决策(极高碳水、低血糖风险):始终参考你自己的经验、数据库或包装信息
- 使用胰岛素泵:积累经验,了解你的餐食通常会偏差多少,然后用你的个人系数校正估算值
离线时会发生什么?
没有网络连接时,以下功能可以正常使用:
- 浏览和筛选历史记录
- 手动创建和编辑条目
- 查看统计标签页
- 导出数据(CSV/JSON)
- 拍照并加入队列,稍后进行分析
以下功能需要网络连接:
- AI 分析(照片会被发送给提供商)
- 自动条形码查询(Open Food Facts)
- Nightscout 同步(血糖曲线、治疗记录上传)