摘要
对于融入人们生活方方面面的移动应用来说,图形用户界面往往能给用户直观的应用程序使用体验,因而逐渐发挥着举足轻重的作用。在GUI设计过程中设计人员需要严格参照平台或者企业的界面设计指南进行设计,并通过评估人员检测图形界面是否存在设计违规才能进行下一步的界面开发工作。然而随着互联网技术的迅速发展,平台的技术更新迭代逐渐加快,设计指南的更新速度也逐渐加快,设计指南通常包含了众多细致的条款,设计人员难以在短时间内完全掌握。并且在传统的设计违规检测时,GUI设计师需要对照每一个图形界面,并查阅设计文档,比对图形界面的组件设计、颜色设计是否符合设计文档的要求,如果出现设计违规需要进行报告并提出改进方案。得益于近年来人工智能技术的蓬勃发展,让设计违规自动化检测成为可能,让设计人员直接通过工具查找到设计违规的位置成为可能,降低了设计人员学习设计指南的时间成本,降低了企业的研发成本。因此,研究如何让设计违规检测自动化,具有重要的学术意义和应用价值。已有研究将计算机视觉技术应用于设计违规检测领域,UIS-Hunter作为一种面向Android平台移动应用的UI设计违规自动化检测工具,检测主要分为两个阶段,首先使用计算机视觉的方法自动地从UI截图中提取出UI组件的信息,即界面的文字排版、颜色、图标信息etal,其后使用这些数据对设计指南转换成的一阶逻辑表达式进行判断代替人手工的检测。在第一个阶段UI原子信息的漏检与错检,会导致后续设计指南的漏检与错检。而在第二个阶段中设计指南的过多的人工工作则会影响整个工具的适用性与高效性。于是,本文对这两个阶段进行研究,所做的主要工作如下: (1)基于PSENet模型的文本元素检测。现有UI自动化检测工具使用的文本元素检测方法,在对GUI界面上的相邻文本行进行检测时,预测的文本框重合区域较大,导致在文本框融合时不能很好的区分密集文本的文本行。本文提出使用PSENet模型来提高原工具检测密集文本的检测效果,PSENet模型使用广度优先算法的思想将GUI界面在不同尺寸下的文本框预测结果进行整合,排除了预测文本框重合区域较大的情况。实验证明,本文使用的方法相较于EAST模型在文本元素的检测精度上提高了6%,相较于改进前UI设计违规检测工具的检测精度提高了3%。 (2)基于ResNet-50的非文本元素检测。现有非文本元素检测方法在进行组件区域分割时为了防止组件信息的缺失往往会扩大截取范围,导致了无关区域的增加,对这些无关区域特征的提取会影响模型的决策。于是本文提出了一种融合了ResNet50和CoordinateAttention注意力模块的模型作为非文本元素的检测模型,加入CoordinateAttention注意力模块为模型提供长依赖和精确的位置信息,使模型更加关注组件截图当中的组件所在的位置。通过实验表明,本文提出的方法相较于改进前非文本元素的检测精确度上提高了11%,相较于改进前UI设计违规检测工具的检测精度提高了5%。 (3)基于LSTM的设计指南自动解析。现有研究需要研究人员根据经验将所有设计指南依次手动标注成一阶逻辑表达式,这需要手工标注人员具有相关的知识,这既导致了现有研究中设计违规检测工具的适用性降低又导致了使用该工具的时间成本增加。针对上述问题,本文提出了一种利用LSTM作为编解码器将自然语言句子自动解析为一阶逻辑表达式的方法,编码器将输入设计指南编码为一个固定长度的向量,随后解码器将固定长度的向量解码为一阶逻辑表达式。提高了原工具的使用效率与适用性,同时,构建了包含设计指南与一阶逻辑表达式语对的数据集,为将来的研究提供帮助。实验表明,模型的解析准确率达到了53%。此外本文还通过实验证明了本文解析方法的可用性。