案例研究 Lose It! 使用机器学习套件
从营养成分标签中提取数据,
从而改善用户体验
从营养成分标签中提取数据,
从而改善用户体验
![](https://developers.google.cn/static/ml-kit/images/case-studies/lose-it/lose_it-1.png?authuser=0&%3Bhl=sr&hl=sr)
自 2008 年以来,Lose It! 已经帮助超过 3000 万人减掉超过 5000 万磅。这款应用通过尽可能简化饮食记录来帮助用户管理自己的饮食,产品团队也在不断寻找让生活变得更轻松的新方法。
Lose It! 背后的团队率先推出了 Snap It,它是一种对象识别算法,旨在帮助用户仅通过拍照就可以记录自己喜爱的食物。但是,这种算法的计算开销很高,因此必须使用 GPU 服务器,这意味着它们无法实时提供体验。
与此同时,该团队还希望添加营养标签扫描功能,但服务器分析时间比用户自行输入信息要快得多。此外,由于可变的移动网络速度和信号可能会造成或破坏用户体验,因此无法保证性能一致。
Lose It! 团队知道用户一定会喜欢这两项功能,但前提是他们要让该功能足够快,从而提供实时体验。那么,他们可以采取哪些措施来加快开发速度呢?
![](https://developers.google.cn/static/ml-kit/images/case-studies/lose-it/lose_it-2.png?authuser=0&%3Bhl=sr&hl=sr)
策略
该团队借助机器学习套件解决了速度问题。“事实证明,机器学习套件使用压缩的量化 TF Lite 模型部署我们的食物识别功能 Snap It 非常有用,”Edward W. Lowe, Jr. Dr. 博士Lose It 的数据科学和 AI 总监!以前,Snap It 算法部署在服务器上,因此需要将食品图片传输到服务器进行推理。“但通过机器学习套件托管的自定义模型,我们得以在设备上无缝实现量化的 Snap It 模型,让我们的用户能够实时使用此功能,而且无需数据连接,”Lowe 说。“通过利用设备端文本识别 API,我们显著缩短了图像分析时间来提取营养标签。”
“重要的是,机器学习套件让我们可以在 Firebase 中托管模型。”Lowe 补充道。“这使我们能够在不更新应用的情况下无缝更新设备上的模型,缩减应用大小,并且让我们能够对模型版本进行 A/B 测试。通过取消模型部署与应用版本的关联,我们能够快速应对不断变化的用户行为,并更好地应对偏移。”
![](https://developers.google.cn/static/ml-kit/images/vision/case_study-lose_it.png?authuser=0&%3Bhl=sr&hl=sr)
结果
得益于机器学习套件,Lose It! 推出了一款覆盖广泛、高性能的营养标签读卡器。现在,用户只需扫描一个营养成分标签,便可立即填写任何新食品的营养信息。营养成分扫描仪能通过多数情况下识别出识别出的信息。用户甚至无需拍照,应用可以直接在相机视图中实时提取信息。