Press "Enter" to skip to content

基于目标检测的图标检测模型: 全面提升APP的语音控制接入能力

From: Google;编译: T.R

 

当人们不方便手动操作时,语音接入功能辅助人们用语音命令控制设备操作。有关这背后的技术原理,除了要拥有高精度的语音识别外,还需要为界面上的操作区域提供适用于语音操作的标签,通过这些标签来接入系统以进行需要的操作。

 

但遗憾的是, 很多APP中UI元素的接入标签并不充足,无法为用户进行语音控制提供有效的交互提示 。 要解决这一问题,需要依据屏幕上显示的像素自动识别出对应的按钮图标,而不是依赖于APP内部定义的元素树。

 

为了解决这一问题,本文研究人员提出了一种 基于目标检测的图标检测方法IconNet ,它可以自动检测手机屏幕上运行APP的图标,而不用依赖其他信息。

 

 

语音接入功能可以利用元素树抽取按钮对应的标签,并在界面上显示提示信息。但有些APP中元素标签的缺失使得这一功能的应用受到了限制。

 

目前,这一领域的研究还不充分。一部分研究人员使用分类器直接预测图标,有的研究还结合语言模型来推理图标的属性。然而,这些分类器还是依赖于元素树来得到UI元素的位置,当标签不存在时则无法进行定位。

 

本文研究人员提出的 基于目标检测的图标检测方法 IconNet ,目前可以检测31种不同类型的UI元素,将在不久后升级到70种 。 同时,它还针对移动端进行了大量的优化,模型更为紧致、推理速度更快。

 

现阶段,该方法可以在Pixel 3A上实现9FPS速度和94.2%的精度。 在下面的视频里,我们一起来看看IconNet模型的检测效果:

 

 

IconNet可以自动检测到APP界面内的各种操作图标位置和标签。

 

从屏幕显示检测出图标

 

从技术的角度来说,从手机屏幕显示上检测图标的问题可被视为经典的目标检测问题,其目的是获取每一个操作图标的位置和标签。但这与传统的目标检测有着很大的差异,不仅仅是因为手机屏幕上的按钮都是一些简单几何形状构成的小图标,同时也因为这些图标与自然图像有着截然不同的结构和几何特征。

另一个需要克服的重要挑战是:IconNet图标检测模型

需要在各种品牌、屏幕大小、分辨率、颜色空间的手机上稳定运
行,
同时还要
有效保护用户隐
私。

此外, 顺滑的用户体验 需要轻量级的模型,每个图标的接入功能需要基于标签响应用户的语音指令(小于10M的模型、小于150ms的延时)。

 

IconNet

 

IconNet基于新颖的目标检测架构CenterNet而建, 可以从输入图像中抽取特征并预测目标的包围框中心和尺寸(以热力图的形式)。

 

由于图标简洁、几何对称、中心易于识别,CenterNet十分适合于手机操作图标的检测。在实际训练中,研究人员选择了图标尺寸的L1损失以及改造过的CenterNet中心损失来共同约束模型的学习过程。后一个损失函数能有效提升模型在标签类别不平衡情况下的性能。

 

在大量的试验后(对比了MobileNet、ResNet、Unet等),研究人员选择了 Hourglass作为服务端架构, 并以此作为基础架构来优化对图标和UI元素的检测过程。

 

 

Hourglass 架构

 

虽然这一模型十分适合于服务端,但它的大体量和较长的推理时间使它不适用于移动端的推理过程。

 

为了更适合于移动端的运行,研究人员将原始架构削减成了单个堆叠,同时大幅度减小了模型的宽度。此外,由于模型检测图标主要集中于局部特征的信息,模型的深度也被进一步压缩。实验同时发现,跳接层对于模型的性能十分重要,所以对此进行了针对性的保留。

 

 

IcoNet分析屏幕上的像素来识别图标中心,并生成对应的热力图,提供了图标对应的位置和类别。这使得程序可以通过操作图标的标签来找到用户想要的操作。

 

模型改进

在基础模型选定后,研究人员选择了
自动网络搜索
来探索最优的网络结构。同时,还使用了细粒度的
架构搜索方法FiGS

优化主干设计。FiGS是一种可差分的架构搜索技术,可通过裁剪候选架构和非必须连接来发现稀疏结构。

此外,

训练数据也得到了完善

,进一步提升了模型性能。这一研究收集了超过70万个截频图像,并通过启发式和辅助模型来识别罕见图标,简化了数据收集流程。研究还利用了先进的数据增强技术和出现较少的图标来丰富现有的截图数据集。

为了提升推理速度,模型优化后可以直接利用不同DSP芯片的神经网络API直接运行操作,同时将模型转换为了8bit的整数量化模型来进一步缩减空间。

量化后的模型可以实现近6x的速度提升和50%的模型压缩,
相对于未量化压缩的模型,仅仅付出了不到0.5%的精度损失。

实验结果

 

为了定量分析模型的性能,研究人员使用了目标检测领域常见的检测指标,同时针对语音控制任务还特别提出了假阳性检测指标进行评测,用于惩罚屏幕图标检测不正确的结果。

 

在于GT值进行比较的过程中, 研究人员 使用了感兴趣区域的中心值(center in region of interest, CIROI)。 值得一提的是,如果预测框的中心位于GT框中心内,就会将其视为正样本。 这与对屏幕进行真实触碰操作时很类似,在触碰操作图标内的任意区域都能触发操作。

 

IconNet与其他移动端检测器进行了对比,在固定延时的情况下比较了各个模型的mAP@CIROI差异。

 

 

同时也比较了量化后IconNet模型的性能:

 

 

研究人员表示,未来将会持续改进IconNet检测UI元素的范围,使其通过相似的图标来识别其功能划分。

 

ref:
https://chunyang-chen.github.io/publication/ui2code.pdf
https://arxiv.org/abs/2003.00380
https://arxiv.org/pdf/1603.06937.pdf
https://arxiv.org/abs/1904.07850
https://developer.android.google.cn/reference/android/view/accessibility/AccessibilityEvent
https://en.wikipedia.org/wiki/Neural_architecture_search
https://arxiv.org/abs/2006.09581

 

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注