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

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

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

解决这一挑战需要一个系统,该系统可以仅使用屏幕上显示的像素值自动检测图标,而不管图标是否已被赋予合适的可访问性标签。关于这个主题的研究很少,通常使用分类器,有时结合语言模型从 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%,

模型改进

一旦选择了主干架构,我们就使用神经架构搜索(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)

相关推荐

  • Android应用程序----UI用户界面介绍

    用户界面基础 用户界面(User Interface,UI)是系统和用户之间进行信息交换的媒介,实现信息的内部形式与人类可以接受形式之间的转换 在计算机出现早期,批处理界面(1945-1968)和命令 ...

  • Windows 10 全新界面要来了:焕然一新!

    来自扩展迷 据外媒最新报道称,备受期待的 Windows 10 全新界面设计将在近期到来. 据悉,微软将在 2021 年的 21H2 更新中启用全新的 UI 界面.新界面的风格看起来更加清爽.简洁,整 ...

  • Adobe国际认证,Photoshop工作区基础知识

    了解如何导航和使用 Adobe Photoshop 工作区. 注意: 如果您想知道 Photoshop 和 Lightroom 是不是能满足您要求的合适应用程序,本文将帮助您做出决定:选择合适的照片应 ...

  • 提升UI设计效果的6个小技巧

    在进行 UI 设计的时候,很多小技巧能够恰到好处地提升界面的设计视觉效果.用户体验.这篇来自Mark Andrew 的文章梳理了 6 个实用性很强的 UI 效果提升小技巧,是系列文章的第三篇,原文最早 ...

  • 优漫动游教育拟物化设计的回归

    以扁平化设计风格为主导的设计在当今的UI设计领域已经是无可争辩的事实.平面应用除了提高用户获取信息的效率外,对于设计者来说也是大大降低了设计的难度. 一种界面的UI视觉元素,仅需图片素材.矢量图标.几 ...

  • UI系列干货 - 详解UI设计规范,入门必读

    作者:JIN石为KAI 01.设计规范综述 1.1 定义 作为一个B端产品,为了应对公司快速迭代开拓市场和一部分购买者的定制化需求,与此同时还要保障产品间的用户体验一致性,近年来设计规范这一解决方案不 ...

  • 【老孟Flutter】如何提高Flutter应用程序的性能

    首先 Flutter 是一个非常高性能的框架,因此大多时候不需要开发者做出特殊的处理,只需要避免常见的性能问题即可获得高性能的应用程序. 重建最小化原则 在调用 setState() 方法重建组件时, ...

  • 七下数学三角形检测提高题

    七下数学三角形检测提高题

  • 位置蒸馏:针对目标检测提高定位精度的知识蒸馏

    论文链接:https://arxiv.org/abs/2102.12252 项目链接:https://github.com/HikariTJU/LD 论文作者来自天津大学.哈尔滨工业大学.       ...

  • 如何运用IDM提高下载软件程序的速度?

    在下载程序来安装软件的时候,如果程序比较大,网速又比较慢的情况下,势必要花不少时间.这个时候,如果能提高下载速度,无疑帮了一个大忙!现在给大家推荐一款可以提高下载速度的软件--Internet Dow ...

  • 电脑开机无图标 显示svchost.exe应用程序错误该怎么办?

    有一段时间没有用电脑了,发现一开机会出现这个界面,确定后桌面一片空白且只有壁纸.现在来说明这个问题的解决方案 1.出现这个问题一般等几分钟后,会出现桌面图标的.系统程序加载的慢造成的原因,这样的小问题 ...

  • 【戒毒百科】毒品检测一般有哪些程序?

    如何判断一个人是否吸毒?首先是在行为.精神上进行观察.如:一些人生活规律突然改变,连续几天不睡觉,兴奋话多:焦虑,性格变得比较暴躁:与情人亲情淡薄,与亲人沟通少:行为冲动:工作主动性下降.懒散,抑郁, ...

  • 提高RTOS应用程序稳定可靠的几点技巧

    我们在编写RTOS应用程序的过程中,经常会遇到这些困难,包括正确确定系统中有多少任务.如何设置优先级.协调任务行为.避免常见陷阱,有时只是为了让应用程序正常工作,而忽略一些问题. 如今,近三分之二的嵌 ...

  • 手机空号检测提高营销工作效率

    手机空号检测,说白了就是对于号码进行过滤,筛选出一些空号.停机号等,从而有效降低成本,提高工作效率. 手机空号检测作用 空号检测作用,简单来说就是把号码当前的状态筛选开来,一般会筛选成3个包:一个是实 ...

  • 这四种最简单的电脑截图快捷键,我保证没有人全部知道,赶快学起来,能够高效提高办公效率##程序员 #编...

    这四种最简单的电脑截图快捷键,我保证没有人全部知道,赶快学起来,能够高效提高办公效率##程序员 #编...