盲人用手机"看"世界,最大的麻烦是什么?不是技术不够强,是用起来太打断。
现在的视觉辅助应用——Be My Eyes、Seeing AI、Envision——功能都不错,但有个共同毛病:你得掏出手机、点亮屏幕、戳几下、等云端返回结果。对依赖声音导航的视障者来说,这套动作就像走路时突然被人捂住耳朵。
一位开发者做了件不一样的事。AccessLens,一个基于Gemma 4的Android应用,把Pixel 8变成挂在脖子上的"第三只眼"。后摄像头朝前,骨传导耳机入耳,手机持续描述周围世界——而且记得你昨天、上周来过这里。
三个物理按键解决所有交互。音量上键:朗读眼前文字,逐字逐句。音量下键:描述这个房间,结合今天早些时候、甚至前几天的记忆。长按:调用历史记忆让Gemma给出更丰富的场景解读。还有个陀螺仪触发的SettleTrigger——当你停下脚步,自动播报前方环境。
记忆系统是这个项目的狠活。每次操作生成一个SessionEvent,写入SQLCipher数据库。每晚Gemma 4后台任务把当天压缩成DailySummary,周日汇总成WeeklyMemory。长按查询时,这些历史被拼接进提示词,模型于是知道"这是你家客厅,周三下午三点,沙发位置没变"。
隐私是硬底线。100%设备端运行——图像、音频、嵌入向量、位置信息,全部不出手机。SQLCipher配合Android KeyStore,AES-256-GCM封装SecureRandom生成的数据库密钥。首次启动的SelfTest会故意用错误密钥打开探测数据库,验证读取失败后才报告加密状态正常。
人脸识别同样谨慎。MediaPipe FaceLandmarker生成192维L2归一化特征向量,识别时只把匹配到的名字注入Gemma提示词——模型永远看不到人脸截图或原始嵌入,代码审查可验证这一点。
性能数据:Pixel 8,Tensor G3芯片。单击操作端到端延迟≤14秒,双击随文本长度浮动,长按因检索记忆更慢。语音填充词("我正在看…""还在看…")覆盖预生成等待期,用户听到的是进度提示,不是死寂。模型首次推送后,全程可开飞行模式。
骨传导耳机的设计很关键——耳朵保持开放,环境声不被阻断。这是"辅助"而非"替代"的哲学:技术填补视觉缺口,但不剥夺用户原有的听觉导航能力。
这个项目的启示在于:端侧大模型的真正落地场景,可能不是替代云端,而是解决"没网、要隐私、不能打断"的硬需求。视障辅助是个极端测试场——容错极低,交互必须极简,信任必须绝对。能通过这个场景的技术,迁移到工业巡检、野外作业、隐私敏感场景,逻辑是通的。
代码已开源。项目名AccessLens,挂在hassaninnovate账号下。描述写得很直接:"A blind person's lanyard, powered by Gemma 4 E2B on a Pixel 8."
热门跟贴