Google Lens 结合了计算机视觉、机器学习和基于云的处理,来分析视觉输入并提供上下文信息。它的核心是使用在海量数据集上训练的卷积神经网络 (CNN),来识别图像中的物体、文本和场景。例如,当您将相机对准植物时,Google Lens 会通过将视觉模式与已知植物图像的数据库进行比较来识别它。该系统还集成了光学字符识别 (OCR),以从图像中提取文本,从而实现翻译标牌或复制手写笔记等功能。这些模型针对移动设备进行了优化,以平衡速度和准确性,通常利用设备上的处理来完成基本任务,同时依靠云 API 来完成复杂的查询。
该技术堆栈包括用于对象检测、分割和分类的预训练模型,这些模型使用迁移学习针对特定用例进行微调。 例如,在识别产品条形码时,Google Lens 可能会首先检测条形码的位置(对象检测),将其隔离(分割),然后对其进行解码(分类)。该系统还会交叉引用来自 Google 知识图谱和其他服务(如地图或搜索)的数据,以添加上下文。例如,将 Lens 对准餐厅菜单可能会通过将提取的文本链接到 Google 的业务数据库来显示评论或饮食信息。实时处理通过框架优化(例如用于移动设备的 TensorFlow Lite)以及通过现代智能手机中的 GPU 或 NPU 进行硬件加速来实现。
开发人员可以通过 Google 的 Cloud Vision API 或 ML Kit 与类似技术进行交互,它们为标签检测、人脸识别或地标识别等任务提供预构建的端点。 例如,应用程序可以使用 Vision API 扫描名片并自动填写联系方式。 Google Lens 还采用联邦学习来改进模型,而不会损害用户隐私——来自匿名交互的数据用于迭代地重新训练模型。 虽然最终用户体验看起来很顺畅,但后端涉及多个系统的协调:图像预处理、模型推理和后处理以过滤和排列结果。 这种模块化设计允许 Google 独立更新组件,例如改进低光图像的文本识别,而无需重新训练整个管道。