谷歌AR工具Google Lens登陆全球Google Go市场,带来更好的理解能力
已经登陆全球范围内的Play Store
(映维网 2019年09月06日)谷歌在今年五月举行的I/O大会宣布将视觉AR工具Lens纳入至Google Go。但Google Go最初只支持Android Go设备,并且只登陆了特定市场的Google Play。然而,谷歌已于最近将这一工具带到全球范围内的Play Store。
在全世界范围内,有数以百万计的人是首次上网,而他们很多都是全球8亿多名不具备读写能力的成年人中的一员,或者刚刚搬到陌生城市或城镇的新居民。作为一款基于智能手机摄像头的工具,Google Lens具备帮助所述人群的潜力。Lens主要利用了计算机视觉,机器学习和谷歌Knowledge Graph,并能够将现实世界的所见之物放到视觉搜索栏,从而识别相关的对象,或者将现实世界的文本复制粘贴至智能手机。
谷歌指出:“为了帮助更多的人群,我们需要创建一个能够支持更多基础机型的版本。所以在2019 I/O大会中,我们发布了一款面向Google Go的Lens版本,支持基本的入门设备。我们同时纳入了旨在帮助存在阅读挑战和其他语言挑战的用户的全新功能。”
谷歌在一篇博文中指出,为了支持所述的读写功能,Google Go版本的Lens需要在一系列的设备中捕获高质量的文本,然后识别文本,理解其结构,翻译并进行叠加,最后再诵读出来。
1. 图像捕获
入门级设备的图像捕获相当具有挑战性,因为你需要兼容一系列不同的设备,而它们大多数都不具备旗舰机的性能。为了构建一个能够以最小延迟可靠捕获高质量图像的通用工具,谷歌将Google Go中的Lens变成了一个全新Android支持库的早期采用者:CameraX。包含在Jetpack(一套针对Android开发者的库,工具和指南)的CameraX是Android Camera2 API的抽象层,可解决设备兼容性问题,所以开发者无需编写自己的设备专用代码。
为了平衡捕获延迟和性能影响,谷歌利用CameraX实现了两种捕获策略。对于高端手机,它们足以提供恒定的高分辨率帧,所以系统能够瞬间完成捕获。对于相对低端的设备,由于CPU性能有限,流式传输所述帧可能会导致摄像头滞后,所以谷歌是在用户点击捕获时处理帧,并生成单个按需高分辨率图像。
2. 文本识别
当Google Go中的Lens捕获图像后,它需要理解相关的形状,及构成单词,句子和段落的字母。所以,图像将按比例缩小并传送到Lens服务器,然后执行处理。接下来,应用光学字符识别(Optical Character Recognition;OCR),后者利用Region Proposal Network来检测可以合并成用于文本识别的行的字符级边界框。
将字符框合并为单词是一个分为两步的顺序过程。第一步是应用Hough Transform;第二步是利用Text Flow。无论是直的,弯的,还是两者混合,这个过程将可以确保系统识别和处理具有各种分布的文本。
由于Google Go的Lens所捕获的图像可能包含标牌,手写字符或文档等来源,所以这可能会出现一系列的其他挑战。例如,文本可以被遮挡,而图像可以是模糊的。所有这些问题都可能导致OCR引擎误解每个单词中的各种字符。为了纠正错误并提高单词准确性,Google Go中的Lens利用周围单词的情景进行更正。它同时利用Knowledge Graph提供情景线索,例如单词是不是专有名词,所以不应进行拼写纠正。
从脚本检测到方向识别,再到文本识别,所有这些步骤都是由单独的卷积神经网络和一个额外的量化LSTM网络(Long Short-Term Memory)来执行。另外,从ReCaptcha到Google Books的扫描图像。模型接受了各种来源的数据训练。
3. 理解结构
一旦识别出单个单词,Lens必须确定如何将它们组合在一起。人类在现实世界中遇到的文本以多种不同的方式展示。例如,一份报纸的文章包括标题,文章和广告。同时,公交时刻表中一列是目的地,另一列则有时间。尽管理解文本结构对人类来说非常自然,但计算机则不然。Lens使用卷积神经网络来检测连贯的文本块,如列,或文本的一致样式或颜色。然后,在每个块中,它利用文本对齐,语言和段落的几何关系等信号来确定其最终阅读顺序。
检测文档结构的另一个挑战是,我们会从不同的角度拍摄文本,并且通常是翘曲的视角。这意味着我们无法恢复依赖于现成的检测器,而是必须普遍化系统,从而使其能够处理单应性失真。
4. 情景翻译
为了向用户提供最有用的信息,翻译必须精确且具有情景上下文。Lens利用了神经机器翻译算法。另外,为了提高翻译的效用,这需要在原始文本的情景上下文中进行。例如,当翻译ATM的指令时,重要的是要知道哪些按钮对应于哪些指令。
挑战的一部分是,翻译后的文本可能比原文短得多或长得多。例如,德语句子往往比英语句子长。为了实现这种无缝叠加,Lens将译文重新分配到相似长度的行中,并选择适当的字体大小进行匹配。它同时能够匹配翻译的颜色及其背景。Lens可以分类像素是表示背景还是文本,然后从这两个区域中采样平均颜色,从而确保翻译文本与原始文本匹配。
5. 诵读文本
Google Go的Lens的最后一个挑战是大声诵读文本。系统利用谷歌的文本转语音(TTS)技术来生成高保真音频(一种应用机器学习来消除歧义的服务),并使用它来生成基于DeepMind WaveNet的真实语音。
当与屏幕配对时,它们将变得更具情景性和实用性。Lens利用来自TTS服务的定时注释来标记每个单词的开头,从而在诵读时突出显示屏幕的每个单词,就类似于卡拉OK机。例如,用户可以捕获不同按钮有着不同标签的ATM屏幕图像。这种卡拉OK效果将允许用户知道哪个标签适用于哪个按钮。它同时可以帮助用户学习如何发音相关单词。
6. 展望未来
谷歌表示:“我们希望这些功能可以对数百万人的日常生活产生积极影响。展望未来,我们将继续对这些阅读功能进行更新,包括改进文本结构理解(例如多列文本)和识别印度语脚本。在我们解决这些文本挑战时,我们继续寻找集合机器学习和智能手机摄像头的新方式,从而帮助改善人们的生活质量。”