分享

通过图标检测提高移动应用程序的可访问性

 雨夜的博客 2021-09-27

视频介绍:通过图标检测提高移动应用程序的可访问性

语音访问使用户能够免提控制他们的 Android 设备,只需使用口头命令。为了正常运行,它需要屏幕用户界面 (UI) 元素具有可靠的辅助功能标签,这些标签通过辅助功能树提供给操作系统的辅助功能服务。不幸的是,在许多应用程序中,并不总是为 UI 元素提供足够的标签,例如图像和图标,从而降低了语音访问的可用性。

file

解决这一挑战需要一个系统,该系统可以仅使用屏幕上显示的像素值自动检测图标,而不管图标是否已被赋予合适的可访问性标签。关于这个主题的研究很少,通常使用分类器,有时结合语言模型从 UI 元素推断类和属性。然而,这些分类器仍然依赖可访问性树来获取 UI 元素的边界框,并且在不存在适当标签时失败。

在这里,我们将介绍 IconNet,这是一种基于视觉的对象检测模型,它可以自动检测屏幕上的图标,这种方式与正在使用的应用程序的底层结构无关,作为最新版本的 Voice Access 的一部分推出。IconNet 仅根据 UI 截图就可以检测 31 种不同的图标类型(即将扩展到 70 多种类型)。IconNet 经过优化,可在移动环境的设备上运行,具有紧凑的尺寸和快速的推理时间,可实现无缝的用户体验。当前的 IconNet 模型在 Pixel 3A 上以 9 FPS 运行时达到了94.2% 的平均精度(mAP)。

检测屏幕截图中的图标

从技术角度来看,检测应用程序屏幕上的图标的问题类似于经典的对象检测,因为模型会用它们的位置和大小标记各个元素。但是,在其他方面,它是完全不同的。图标通常是较小的对象,具有相对基本的几何形状和有限的颜色范围,应用程序屏幕与自然图像有很大不同,因为它们更加结构化和几何化。

开发用于语音访问的设备上 UI 元素检测器的一个重大挑战是,它必须能够在具有各种性能表现能力的各种手机上运行,同时保护用户的隐私。为了获得快速的用户体验,需要具有低推理延迟的轻量级模型。因为语音访问需要使用标签来响应用户的话语(例如,“点击相机”或“显示标签”)推理时间需要很短(在 Pixel 3A 上 <150 毫秒),并且模型尺寸更小超过 10 MB。

IconNet

IconNet 基于新颖的CenterNet架构,它从输入图像中提取特征,然后预测合适的边界框中心和大小(以热图的形式)。CenterNet 在这里特别适合,因为 UI 元素由简单、对称的几何形状组成,与自然图像相比,更容易识别它们的中心。使用的总损失是图标大小的标准L1 损失和中心预测的修改后的CornerNet Focal 损失的组合,后者解决了常见图标之间的图标类别不平衡(例如,向后箭头、菜单、更多和星)和代表性不足的图标(结束通话、删除、启动应用程序等)。

在对多个主干网络(MobileNet、ResNet、UNet 等)进行试验后,我们选择了最有前途的服务器端架构——Hourglass— 作为设计为图标和 UI 元素检测量身定制的主干的起点。虽然这种架构非常适合服务器端模型,但 vanilla Hourglass 主干不是将在移动设备上运行的模型的选项,因为它们的尺寸大且推理时间慢。我们将设备端网络设计限制在单个堆栈,并大幅减少了主干网的宽度。此外,由于图标的检测依赖于更多的局部特征(与真实物体相比),我们可以进一步减少主干的深度,而不会对性能产生不利影响。消融研究使我们相信跳过连接和高分辨率特征的重要性。例如,在最后一层修剪跳过连接使 mAP 降低了 1.5%,

file

模型改进

一旦选择了主干架构,我们就使用神经架构搜索(NAS) 来探索网络架构的变化,并发现一组优化的训练和模型参数,以平衡模型性能 (mAP) 与延迟 (FLOP)。此外,我们使用细粒度随机架构搜索(FiGS) 来进一步完善主干设计。FiGS 是一种可微架构搜索技术,它通过修剪候选架构并丢弃不必要的连接来发现稀疏结构。这种技术使我们能够在不损失任何性能的情况下将模型大小减少 20%,并在 mAP 仅略有下降 0.3% 的情况下减少 50%。

提高训练数据集的质量在提高模型性能方面也发挥了重要作用。我们收集并标记了超过 70 万张屏幕截图,在此过程中,我们通过使用启发式和辅助模型来识别稀有图标来简化数据收集。我们还通过使用不常见的图标丰富现有屏幕截图来利用数据增强技术。

为了缩短推理时间,我们修改了模型以在许多手机上可用的各种高通 DSP上使用神经网络 API (NNAPI)运行。为此,我们将模型转换为使用 8 位整数量化,这提供了减少模型尺寸的额外好处。经过一些实验,我们使用量化感知训练来量化模型,同时匹配服务器端浮点模型的性能。与未量化模型相比,量化模型的速度提高了 6 倍(700 毫秒对 110 毫秒)和 50% 的尺寸减小,同时仅损失了约 0.5% 的 mAP。

结果

我们使用传统的对象检测指标(例如,mAP)来衡量模型性能。此外,为了更好地捕捉语音控制用户操作的用例,我们定义了一个误报 (FP) 检测的修改版本,我们对屏幕上出现的图标类的更多不正确检测进行惩罚。为了将检测结果与地面实况进行比较,我们使用感兴趣区域中心(CIROI),这是我们为此工作开发的另一个指标,当检测到的边界框的中心位于地面实况边界框内时,该指标以正匹配返回。这更好地捕获了操作的语音访问模式,其中通过点击感兴趣的 UI 元素区域中的任何位置来执行操作。

我们将 IconNet 模型与其他各种移动兼容对象检测器进行了比较,包括MobileNetEdgeTPU和SSD MobileNet v2。实验表明,对于固定延迟,IconNet 在我们内部评估集的 mAP@CIROI 方面优于其他模型。

模型 地图@CIROI

IconNet(沙漏) 96%

图标网 (HRNet) 89%

MobilenetEdgeTPU (AutoML) 91%

SSD Mobilenet v2 88%

在考虑量化模型和固定延迟预算的模型时,IconNet 的性能优势仍然存在。

模型(量化) 地图@CIROI 型号尺寸 延迟*

IconNet(目前已部署) 94.20% 8.5 MB 107 毫秒

图标网 (XS) 92.80% 2.3 MB 102 毫秒

IconNet (S) 91.70% 4.4 MB 45 毫秒

MobilenetEdgeTPU (AutoML) 88.90% 7.8 MB 26 毫秒

结论和未来工作

我们一直致力于改进 IconNet。除此之外,我们有兴趣增加 IconNet 支持的元素范围以包括任何通用 UI 元素,例如图像、文本或按钮。我们还计划扩展 IconNet 以通过识别它们的功能来区分外观相似的图标。在应用程序方面,我们希望通过在构建应用程序时增加开发人员工具来建议不同 UI 元素的内容描述,从而增加具有有效内容描述的应用程序的数量。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多