视觉障碍者的卡路里追踪:AI与语音如何让这一切成为可能
传统的卡路里追踪应用是为有视力的人设计的。AI图像识别和语音界面终于让每个人都能轻松进行营养追踪。
马库斯42岁,是一名数据库管理员,由于视网膜色素变性,他在二十多岁时就开始逐渐失去视力。他能感知光线和形状,但在没有显著辅助技术的情况下,无法在屏幕上阅读小字。多年来,他一直想追踪自己的卡路里。医生和营养师都建议他这样做。他尝试过——真的尝试过——至少四款不同的应用,但每一款都在一周内让他感到沮丧。
“讽刺的是,我整天都在处理数据。我热爱数字,热爱模式。卡路里追踪本该是我的强项。但我尝试的每个应用都像是只为视力完好的人设计的。”马库斯告诉我们。
马库斯并不孤单。根据世界卫生组织的数据,全球至少有22亿人存在近视或远视障碍。在美国,约有1200万人年满40岁以上,存在某种形式的视力障碍,其中100万人是盲人。这些数字并不小。然而,卡路里追踪行业历史上一直将无障碍性视为事后考虑——如果考虑过的话。
本文将探讨传统卡路里追踪应用对视觉障碍者所带来的具体障碍,如何利用AI图像识别和语音输入等新兴技术改变这一现状,以及像马库斯这样的用户使用Nutrola的实际体验。我们将诚实地讨论哪些方面有效,哪些仍然不足,以及行业下一步需要做什么。
障碍:传统卡路里追踪为何无法满足视觉障碍用户
要理解这个问题,首先需要明白卡路里追踪对用户的实际要求。这并不是一个单一的动作,而是一系列精确且视觉密集的微任务,每天多次重复。对于有视力的用户来说,每一步都是微不足道的;而对于视力低下或失明的用户来说,每一步都可能是一个障碍。
小字和密集界面
大多数卡路里追踪应用在单个屏幕上显示大量的数字数据。每日卡路里总量、宏观营养素分解、每餐小计、进度条、百分比指示、目标比较等。这些信息通常以小字体和细线条呈现,且常常使用低对比度的颜色组合——例如,浅灰色在白色背景上,或绿色文字在稍微不同色调的绿色背景上。
对于依赖屏幕放大功能的用户来说,导航这样的界面意味着需要不断地在屏幕上移动,随着每次滑动而失去空间感。信息架构假设用户可以一眼看到整个仪表板,而当用户只能看到一小部分时,心理模型就会崩溃。
对于依赖屏幕阅读器如VoiceOver或TalkBack的用户来说,问题虽然不同,但同样严重。许多卡路里追踪应用使用自定义UI组件——圆形进度图、动画环、拖动调整滑块——这些组件并未设置适当的无障碍标签。屏幕阅读器遇到进度环时会宣布“图像”,或者更糟,什么也不说。用户在应该听到卡路里总量的地方听到的是沉默。
搜索与选择的问题
在传统应用中手动记录食物需要搜索数据库。你输入“鸡胸肉”,应用返回一系列结果:“鸡胸肉,烤制,无皮,4盎司”和“鸡胸肉,烤制,带皮,100克”和“鸡胸肉嫩肉,裹面包屑,冷冻,泰森”等等,每个条目在准备方法、品牌和份量上都有所不同。选择正确的条目需要阅读和比较多行小字。
对于使用屏幕阅读器的用户来说,这意味着需要逐一听取每个结果,保持记忆中的差异,并来回导航进行比较。对于有视力的用户来说,四秒钟能完成的事情,屏幕阅读器用户可能需要两分钟。将这一过程乘以每餐的每种食物,每天的重复,认知负担和时间压力就变得难以承受。
条形码扫描:简单性的虚假承诺
许多应用将条形码扫描宣传为最简单的输入方法。将手机对准条形码,食物就会立即记录。听起来简单,对吧?
但如果你看不见条形码呢?
条形码扫描需要精确的视觉对齐。用户必须找到包装上的条形码,将手机摄像头定位在特定区域内,保持手机稳定,等待扫描注册。大多数应用在此过程中没有提供音频或触觉反馈。没有随着对齐而升高的音调,也没有条形码进入画面的震动。用户被期望查看屏幕,判断条形码是否对齐。
对于视力低下的人来说,这有时可以通过努力和耐心来管理。但对于盲人来说,没有视力的帮助,这几乎是不可行的。
份量估算
即使在选择了食物项目后,用户还必须指定数量。传统应用将其呈现为文本字段或选择器——“1杯”,“4盎司”,“1个中等大小”。这些控件通常对屏幕阅读器的标签不够友好。选择器尤其难以与VoiceOver一起使用,因为每次滚动增量都必须在用户决定是否继续滚动之前被宣布。
更根本的是,份量估算本身通常依赖于视觉比较。“这是一个中等大小的苹果还是一个大苹果?”“这看起来是一杯米饭还是一杯半?”有视力的用户在这些判断上已经感到困难,而对于视力有限或完全失明的用户来说,估算的准确性更是大打折扣,应用也没有提供替代方法。
累积效应
这些障碍中的任何一个单独来看都不一定难以克服,只要有足够的耐心和决心。但卡路里追踪并不是一次性的任务,而是一个需要在每餐中重复的日常习惯。小字、复杂的导航、无障碍控件的缺失以及依赖视觉输入的方法的累积摩擦,意味着即使是最有动力的视觉障碍用户最终也会放弃这个过程。不是因为他们不关心自己的营养,而是因为这些工具并不是为他们设计的。
马库斯直言不讳地描述了这种体验:“这就像试图阅读一本用我几乎能理解但又不能完全理解的语言印刷的教科书。我能得到一些片段,但为了获得完整的画面所需的努力是如此耗人心力,以至于不值得。所以我停止了。然后我又为停止而感到内疚,这本身就是一种伤害。”
AI图像识别如何改变游戏规则
AI驱动的食物识别的出现,代表了自智能手机问世以来卡路里追踪在无障碍性方面的重大飞跃。其原理很简单:用户不再需要搜索数据库、阅读结果和选择正确的条目,而是拍摄食物的照片。AI识别盘子上的食物,估算份量,并返回卡路里和宏观营养素的分解。
对于有视力的用户来说,这是一种便利;而对于视觉障碍者来说,这则是一次变革。
为什么照片记录对视力低下和失明用户有效
拍摄照片并不需要像条形码扫描那样精确的视觉对齐。盘子上的食物是一个较大的目标。用户只需将手机指向盘子上方约一英尺的位置。现代AI模型足够强大,可以处理从不完美角度拍摄的照片,适应不同的光线条件,而无需精确的构图。
iOS和Android都提供了相机无障碍功能,可以在框架内检测到人脸或物体时发出提示。Nutrola在此基础上,提供了拍摄食物照片后处理的音频确认。用户会听到确认音,接着屏幕阅读器会朗读AI的识别结果:“识别到:烤鸡胸肉,约六盎司;棕色米饭,约一杯;蒸西兰花,约一杯;估算总计:520卡路里。”
用户随后可以确认、调整或添加项目——所有操作都通过屏幕阅读器可访问的界面,或越来越多地通过语音进行。
AI在减少视觉依赖中的作用
传统的卡路里追踪将数据解释的负担放在用户的眼睛上,而AI则将这一负担转移到了模型上。用户的角色变成了提供输入——一张照片——并审阅输出——可以通过声音传递的总结。搜索、比较和选择的复杂中间步骤由AI处理。
这并不是一个小的工作流程改进,而是对追踪过程中视觉需求的根本重新设计。视觉不再是每一步都必需的,而是几乎不再需要。
语音输入:第二个突破
如果说AI图像识别是无障碍卡路里追踪的第一支柱,那么语音输入就是第二支柱。
语音记录允许用户说:“我吃了一个全麦火鸡三明治,上面有生菜、番茄和芥末,还有一个小苹果。”应用会将这句话解析为结构化的营养数据。无需打字,无需搜索,无需导航复杂的菜单。用户只需说话,应用便将语音转换为食物记录条目。
对于视觉障碍用户而言,语音输入消除了追踪过程中的大部分交互步骤。它用一句话替代了多步骤的视觉工作流程。应用随后会读出它所理解的内容,用户确认或纠正后,条目便被记录。
Nutrola的语音记录设计旨在处理自然、对话式的描述。用户不需要使用特定格式或精确的数据库术语。“一大碗意大利面,配红酱和一些帕尔马干酪”都是有效输入。AI会解析描述,将其映射到营养数据,并提供估算供用户审核。
语音作为导航工具
除了食物记录,语音交互还可以解决我们之前提到的导航障碍。用户可以问:“我今天摄入了多少卡路里?”或“我这周的蛋白质摄入量是多少?”并获得语音回应。
这种与营养数据的对话式互动改变了用户与应用之间的关系。应用不再是需要导航的视觉界面,而更像是一个可以咨询的助手。对于视觉障碍用户来说,这意味着不再是与工具抗争,而是与工具合作。
VoiceOver和TalkBack兼容性:基础
AI和语音功能固然重要,但它们建立在一个更基本的要求之上:应用本身必须与视觉障碍用户每天依赖的平台屏幕阅读器完全兼容。
在iOS上,这个屏幕阅读器是VoiceOver;在Android上,则是TalkBack。这些并不是可选的附加功能。对于盲人用户来说,它们是与手机上任何应用互动的主要方式。
完全的屏幕阅读器兼容性意味着:
- 每个交互元素都有描述性的无障碍标签。 记录餐食的按钮被宣布为“记录餐食按钮”,而不是“按钮”或什么都没有。
- 每个信息元素都传达其内容。 卡路里总量读作“今天已摄入1450卡路里,目标2200卡路里”,而不是“进度条,66%”或仅仅是“图像”。
- 导航顺序合理且可预测。 在界面中滑动时,元素的顺序应符合语义逻辑,而不是由视觉布局决定的任意顺序。
- 自定义控件是可访问的。 如果应用使用自定义滑块调整份量,该滑块应能与VoiceOver手势配合使用,并宣布其当前值和范围。
- 状态变化会被宣布。 当食物项目成功记录时,屏幕阅读器会宣布确认;当发生错误时,屏幕阅读器会宣布错误。用户不会在沉默中困惑于发生了什么。
Nutrola将屏幕阅读器兼容性视为核心工程要求,而非发布后的补丁。每个新功能在发布前都会与VoiceOver和TalkBack进行测试。无障碍标签是设计规范的一部分,而不是在视觉设计完成后再进行的补充。
这并不意味着体验是完美的。它并不是。还有一些粗糙的地方,我们将在本文后面诚实地讨论。但基础已经建立,并在每次更新中得到维护。
马库斯与Nutrola的一天
为了让这一切更具体,这里是马库斯——我们在文章开头介绍的那位低视力的数据库管理员——的典型一天。他已经使用Nutrola大约四个月。
早晨
马库斯醒来,准备早餐:两个炒鸡蛋、一片涂了黄油的全麦吐司和一杯黑咖啡。他通过主屏幕上的应用快捷方式打开Nutrola——这个快捷方式位于左下角,他的肌肉记忆让他习惯了这个位置。VoiceOver在他点击时宣布“Nutrola”。
他使用语音命令:“记录早餐。两个炒鸡蛋,一片涂了黄油的全麦吐司,黑咖啡。”
Nutrola处理输入并读出:“早餐已记录。两个炒鸡蛋,180卡路里;一片全麦吐司加一汤匙黄油,165卡路里;黑咖啡,5卡路里;早餐总计:350卡路里。”
马库斯确认。整个互动大约花费十五秒。
上午
在工作中,马库斯从休息室拿了一个零食——一根香蕉和一把杏仁。他快速拍了一张照片。无需完美构图,他将手机大致放在食物上方,点击捕捉按钮(VoiceOver会宣布),然后等待处理音。
“识别到:一根中等香蕉和约一盎司的杏仁。估算总计:270卡路里。”
马库斯知道,根据经验,AI通常会稍微低估他的杏仁份量,因为他的手比较大,抓的份量比较多。他告诉应用:“把杏仁调整为一又二分之一盎司。”条目更新后,他确认。
午餐
马库斯的工作餐厅带来了一个常见的挑战:混合菜肴,个别成分难以分开。今天他点了一份鸡肉炒饭。他拍摄了照片,让AI处理。
“识别到:鸡肉炒饭,配混合蔬菜和白米。估算总计:680卡路里;蛋白质:35克;碳水化合物:72克;脂肪:24克。”
马库斯认为米饭的份量比AI估算的要大。他调整道:“把米饭从一杯改为一又二分之一杯。”总计更新并读出给他。
下午
马库斯询问Nutrola的状态:“我今天的情况如何?”
应用回答:“你今天已摄入1340卡路里。你的每日目标是2100卡路里。你还有760卡路里可摄入。到目前为止,你的蛋白质摄入量是78克,目标是140克。”
这只花了三秒钟。无需视觉扫描,无需仪表板导航。只需提问和回答。
晚餐
在家,马库斯准备了一份三文鱼排,配烤红薯和一份沙拉。他拍摄了盘子的照片。AI识别出每个成分。他确认了条目。
晚餐后,他询问每日总结。Nutrola读出他的总摄入量,按餐分解,并提供他的宏观营养素总量以及与目标的比较。马库斯摄入了2050卡路里,132克蛋白质,碳水化合物略有超标。
“在四个月前,我无法在任何一天内告诉你我摄入了多少卡路里,误差在500卡路里以内。”马库斯说。“现在我知道在合理的误差范围内。这不是一件小事。我的医生在我上次的血液检查中注意到了变化。我的A1C下降了。这是实实在在的。”
马库斯最看重的是什么
当被问及体验中最重要的是什么时,马库斯没有提到某个具体功能,而是提到了持续性。“无障碍性不仅仅是技术上是否可行,而是是否可持续。我可以在一餐中与一个无障碍应用斗争,也许两餐可以。但每天三到五餐,持续几个月?这就是一切崩溃的地方。Nutrola是第一个让我觉得所需努力足够低,以至于我可以继续使用的应用。”
视觉障碍用户开始卡路里追踪的实用技巧
根据马库斯和我们社区中其他视觉障碍用户的反馈,以下是一些实用的策略,帮助你开始卡路里追踪。
1. 从第一天就设置语音记录
不要从手动输入开始,然后“计划稍后切换到语音”。从语音开始。这为努力程度设定了正确的期望,防止早期的挫败感影响你对整个过程的看法。
2. 学习拍照技巧
将手机保持在盘子上方约12到18英寸的位置,大致居中。你不需要查看屏幕。听取捕捉确认音。如果AI错误识别了某个东西,可以通过语音纠正。经过几天,你将形成一个几乎每次都有效的可靠技巧。
3. 使用一致的菜肴和份量
这对任何人来说都是个好建议,但对视觉障碍用户尤其有帮助。如果你每天都用同一个碗吃早餐,你会对碗的满度和其对应的卡路里有一个身体上的感觉。减少变量意味着对AI估算的调整更少。
4. 建立记录的例行程序
每餐后立即记录,而不是在进行下一项活动之前。这减少了忘记一餐的可能性,并消除了稍后需要回忆份量和成分的需求。
5. 定期使用语音总结
每天至少两次通过语音检查你的每日总量——一次在中午,一次在晚餐后。这让你与数据保持联系,而无需进行任何视觉界面的交互。
6. 保持屏幕阅读器更新
VoiceOver和TalkBack会定期更新,以提高性能和兼容性。保持手机操作系统的最新状态,确保你获得最佳的屏幕阅读器体验。
7. 提供反馈
如果你遇到无障碍问题——一个没有标签的按钮,一个没有正确宣布的屏幕,一个反复出现的AI错误识别——请报告。Nutrola的无障碍性基于真实用户的反馈不断改进,视觉障碍用户的报告在我们的开发队列中优先处理。
仍需改进的地方
如果我们将当前的情况呈现为一个解决了的问题,那将对我们的视觉障碍用户不公。事实并非如此。仍然存在显著的差距,我们希望对此保持透明。
AI在复杂和混合菜肴中的准确性
AI食物识别效果很好,但并不完美。它对明显分开的食物——一块烤鸡肉旁边是一堆米饭,旁边是蒸蔬菜——的处理要比对混合菜肴、砂锅菜、炖菜或成分被层叠或隐藏的食物要好得多。卷饼尤其具有挑战性,因为AI无法看到玉米饼内部的内容。
对于无法视觉检查AI猜测的视觉障碍用户来说,这一限制更为重要。有视力的用户可能会瞥一眼AI的估算,立即注意到三明治上缺少了奶酪。而视觉障碍用户可能不会发现这个错误,除非他们主动通过听取完整的分解来审核每个成分。
我们正在努力改进AI提示,提出澄清性问题——“这个菜肴里有奶酪吗?”“上面有酱汁吗?”——以填补相机无法看到的空白。
入门和初始设置
初始设置过程——创建账户、输入身体指标、设定卡路里和宏观目标——比日常使用更复杂,涉及更多的表单字段、下拉菜单和多步骤流程。虽然这些都是屏幕阅读器兼容的,但体验并不像我们希望的那样流畅。我们正在重新设计入门流程,将无障碍性作为主要设计约束,而不是次要考虑。
餐厅和外卖餐食
外出就餐对所有用户来说都是挑战,但对视觉障碍用户尤其如此。餐厅菜肴的摆盘方式往往会遮挡份量,酱汁可能在食物下面而不是上面,而餐厅的环境光线可能会降低AI照片的准确性。语音记录在这里有帮助——描述你点的食物通常比在昏暗的餐厅拍照更准确——但这个过程仍然不如家常菜的记录精确。
社区和社交功能
许多卡路里追踪应用包含社交功能:分享餐食、与朋友比较进展、参与挑战。这些功能通常是任何应用中最不易无障碍的部分,严重依赖视觉布局、图像和自定义UI组件。Nutrola的社交功能仍在开发中,我们致力于从一开始就以无障碍的方式构建它们,而不是事后进行改造。
区域和文化食物识别
AI食物识别模型是基于数据集训练的。这些数据集偏向西方菜肴。这意味着AI在识别汉堡时更准确,而在识别焦米饭、薄饼或因杰拉时则不那么准确。这是AI训练数据中的系统性偏见,整个行业都需要解决。Nutrola正在积极扩展其训练数据,以包括更广泛的全球菜肴,但这项工作仍在进行中,今天的差距依然存在。
更大的图景:营养是一项权利,而非特权
在技术行业中,往往将无障碍性视为一种功能——为小众受众添加到产品中的东西。这种看法是错误的。无障碍性关系到一个人是否能够管理自己健康的基本方面。
营养影响一切:能量、慢性疾病风险、心理健康、身体表现和寿命。卡路里和营养素追踪是改善饮食习惯的最有证据支持的工具之一。当追踪工具无法无障碍使用时,视觉障碍者不仅仅是错过了一种便利。他们被排除在一种经过验证的健康干预之外。
《美国残疾人法案》、《欧洲无障碍法案》和世界各地类似的立法规定,数字服务应对残疾人无障碍。但法律合规只是最低要求,而非最高标准。目标应是提供一种不仅在技术上可用,而且真正良好的体验——一种视觉障碍用户愿意推荐给朋友的体验,而不是因为没有更好的选择而勉强接受的体验。
马库斯用一句话让我们印象深刻:“我不想要一个在我的残疾下仍能工作的应用。我想要一个在我的残疾面前依然能工作的应用。这是有区别的。第一个感觉像是施舍,第二个则感觉像是良好的工程。”
常见问题解答
完全失明的人可以使用Nutrola进行卡路里追踪吗?
可以。Nutrola设计为与iOS上的VoiceOver和Android上的TalkBack完全兼容。所有核心功能——通过照片记录食物、通过语音记录食物、查看每日总结、调整条目和设定营养目标——都可以通过屏幕阅读器访问。你不需要任何可用的视力来操作应用,尽管在初始设置时,视力正常的帮助可能会很有用。
AI图像识别在卡路里追踪中的准确性如何?
AI图像识别是一个强大的估算工具,而不是精确仪器。对于明显可见、分开的食物,准确性通常在实际卡路里含量的10%到15%以内。对于混合菜肴,准确性会降低。我们建议在拍照后使用语音纠正来提高准确性——例如,指定你添加了在照片中可能不可见的奶酪或油。
语音记录是否适用于口音和非母语英语使用者?
Nutrola的语音识别使用先进的语音转文本处理,能够处理多种口音和语音模式。如果你能在手机上使用语音输入发短信,你就应该能够在Nutrola中使用语音记录。解析食物描述的AI旨在理解对话和非正式语言,因此你不需要使用精确或技术性的术语。
Nutrola对视觉障碍用户是免费的吗?
Nutrola的定价对所有用户都是相同的。我们没有为视觉障碍用户设立单独的收费等级,因为无障碍性是核心产品的一部分,而不是限制在高级计划后面的功能。免费等级包括语音记录和照片记录。高级功能如高级宏观追踪、每周报告和趋势分析则通过订阅提供。
我可以使用盲文显示器与Nutrola吗?
可以。因为Nutrola与VoiceOver和TalkBack完全兼容,所以它可以与连接到手机的盲文显示器一起使用。屏幕阅读器宣布的所有文本内容,包括食物描述、卡路里总量和宏观营养素分解,都会输出到盲文显示器。
如果我无法视觉估算份量,Nutrola如何处理?
这是一个诚实的挑战。Nutrola的AI通过照片估算份量,这有帮助,但并不总是精确。我们建议在家准备食物时使用简单的测量工具——厨房秤、量杯。随着时间的推移,你会逐渐对标准份量的感觉和重量有一个身体上的认识,这将改善你的估算能力以及纠正AI错误的能力。
如果我在应用中遇到无障碍问题该怎么办?
通过应用内反馈功能报告,使用VoiceOver和TalkBack都可以访问。你也可以直接给我们的支持团队发送电子邮件。无障碍错误报告在我们的开发过程中被标记和优先处理。我们非常感谢每一份报告,因为它帮助我们发现和解决我们内部测试可能遗漏的问题。
每周和每月报告是否可访问?
是的。所有报告屏幕都设计有适当的无障碍标签,并为屏幕阅读器提供逻辑阅读顺序。总结也可以通过语音访问——询问“给我我的每周总结”将返回你过去七天的平均每日卡路里、宏观营养素趋势和一致性率的口头概述。
向前迈进
卡路里追踪应用对用户的要求与视觉障碍用户能够舒适提供的能力之间的差距已经存在很长时间。AI图像识别和语音输入大幅缩小了这一差距。虽然还没有完全消除,但确实缩小了。
剩下的工作并不光鲜。需要对无障碍标签进行细致的关注。需要扩展AI训练数据,以包括更多的菜肴。需要在每个新功能发布前进行屏幕阅读器测试。需要倾听像马库斯这样的用户,了解什么有效,什么无效。
马库斯最近告诉我们,他现在已经连续追踪了四个月的餐食——这是他在任何健康应用中保持的最长记录。“四个月听起来不算长,”他说。“但当你尝试做某件事六年却每次都失败时,四个月就像是证明这终于是可能的。”
这确实是可能的。而且早该如此。技术早已存在。缺失的只是为每个用户而非仅为行业最容易设计的用户服务的承诺。
我们还没有完成。但我们也不会停止。