一种基于多级元素融合的APP界面模式识别方法技术

技术编号:22502479 阅读:14 留言:0更新日期:2019-11-09 02:42
一种基于多级元素融合的APP界面模式识别方法,包括以下步骤:(1)定义模式;(2)对APP内截图做模式识别。本发明专利技术给出了APP基于视觉的模式定义;可以通过截图甚至摄像头拍摄的方式确认画面或者APP的主要模式,进行进一步的自动信息提取与分析;允许独立于模式以外的元素存在,具有较高的鲁棒性。

A pattern recognition method of APP interface based on multi-level element fusion

An app interface pattern recognition method based on multi-level element fusion includes the following steps: (1) defining the pattern; (2) pattern recognition of APP screenshots. The invention provides the definition of APP vision based mode; it can confirm the screen or the main mode of APP through screenshots or even camera shooting, and carry out further automatic information extraction and analysis; it allows elements independent of the mode to exist, with high robustness.

【技术实现步骤摘要】
一种基于多级元素融合的APP界面模式识别方法
本专利技术涉及图像处理

技术介绍
自动测试行业相关技术的欠缺是制约该行业发展的主要因素之一,以手机自动测试为例,测试主体为人时,需要大量的知识体系与学习背景才能顺畅的进行手机操控,进而做手机测试。以测试人员的测试流程为基础,以人的思维模式为学习目标,是无法通过端对端的基于视觉方法完成的,对该过程进行技术拆分,其中有一项关键的自动化技术就是界面模式自动识别。这里的模式是指相对应APP的界面组成元素的组合,这种组合在开发领域多体现为一个控件集,包含:按钮、画布、编辑框、静态文本等,在同界面中会以较高的频率出现,如图1所示。模式自动识别的基础上,可以进而做信息提取与分析,判断画面迁移,构建相关知识图谱。现阶段还没有相关技术涉及APP模式的定义、检测与识别,与之相近的算法(勉强算接近)是图像分割算法,分割目标是界面中的背景、图标、文字或者按钮。做模式自动识别的过程,元素分割是必不可少的,但是仅通过定位页面内的元素位置信息无法获知目标间的关系,也就无法预知。
技术实现思路
为了实现APP模式的定义、检测与识别,本专利技术提供了一种基于多级元素融合的APP界面模式识别方法。本专利技术为实现上述目的所采用的技术方案是:一种基于多级元素融合的APP界面模式识别方法,包括以下步骤:(1)定义模式,包括以下步骤:1-1.对APP内可能出现的元素做属性划分;1-2.当分析对象为APP内多幅截图时,按照图像匹配的方式,将多个截图拼成整个画面的图;1-3.当分析对象为APP单张截图或多幅截图的拼接画面时,利用划分的元素定义,对图像做超像素级的分割;1-4.一个APP的控件模式包括两个信息,一个是不同种类的元素排列组合;一个是排列方向;(2)对APP内截图做模式识别,输入是步骤1-3分割后含有类别信息的分割图,包括以下步骤:2-1.对分割图做形态学处理;2-2.根据做完处理的分割图,提取不同种类的分割结果,结果包括每个类别图像的独立闭包区域,区域的中心、大小;2-3.按照区域大小对干扰区域做剔除,具体方法是:规定最小区域限制△,假如某个区域大小小于△,认为是干扰区域;2-4.选择其中一类作为基准类,然后计算该类的任意区域与其他任何类别的区域中心的空间距离,做排序,找到与该区域最近区域的类别信息、排列位置信息;2-5.对基准类的所有区域进行步骤2-4的信息计算,得到所有区域的最接近类别信息与位置信息,对所有子模式做分布统计,取有更多分布的子模式做主模式;2-6.对上一级的独立主模式区域做合并,形成新的分割结果,形成下一级的输入,包括主模式区域、未做融合的元素分割区域;2-7.对给定的本级输入,按照步骤2-2的计算方法,统计不同类别的区域信息,将主模式作为参考模式,按照主方向、基于区域边界将图像分为多个搜索区间,竖直方向为主方向则以区域的宽为参考划分搜索区间,水平方向为主方向则以区域的高为参考划分搜索区间;2-8.按照空间排列,保留区域几乎在区间范围内的整体模式;2-9.对范围内的整体模式做重复性判定,假定整体模式中仅存在上一级主模式,则认为一级主模式即为界面模式,完成模式识别,否则进行步骤2-10;2-10.在主方向上取下一个非主模式,组成本级主模式,假如所有区域都不存在非主模式,认为完成模式识别,否则给出一个空模式来代替其他非主模式,统计所有区间的本级主模式,主模式组成用步骤2-5的方法,给出本级主模式的定义,以上级方向为主方向作为本级主方向;2-11.重复步骤2-6~2-10,直到整体模式中仅有一种模式,或者主方向上不存在任何非主模式,将给出的主模式作为最终模式。所述步骤1-2中,拼接的方法为LK光流法。所述步骤1-3中,分割的结果中包括背景、文字与图像,分割的方法为Unet分割方法或用模板特征做SVM分类。所述步骤2-1中,形态学处理方法为开运算。所述步骤2-4中,类别信息与基准类可以形成包含两个元素的子模式,排列位置信息有4种,即在基准类上、在基准类下、在基准类左、在基准类右,判定方法是:计算最近区域中心到该区域中心的方向向量,当方向向量更接近(-1,0)时,为在基准类左,更接近(1,0)时,为在基准类右,更接近(0,-1)时,为在基准类上,其他为在基准类下。本专利技术的基于多级元素融合的APP界面模式识别方法,给出了APP(包括安卓界面)基于视觉的模式定义;可以通过截图甚至摄像头拍摄的方式确认画面或者APP的主要模式,进行进一步的自动信息提取与分析;允许独立于模式以外的元素存在,具有较高的鲁棒性。附图说明图1是APP界面模式示意图。图2是拼接画面示意图。图3是APP元素构成示意图。图4是按照主模式的宽分区示意图。具体实施方式本专利技术针对自动测试中模式识别与后续分析的需求,旨在提供具体模式的视觉定义与规范;提供合理的方法可以完成针对APP页面内连续截图的自动模式识别方法。本专利技术的基于多级元素融合的APP界面模式识别方法,包括以下步骤:(1)对模式做出定义:1-1、对APP内可能出现的元素做属性划分,比如划分为2类(文字、图像),分别用A类、B类来表示;1-2、当分析对象为APP内多幅截图时,按照图像匹配的方式,将多个截图拼成整个画面的图,如图2所示,拼接的方法可以参考LucasKanade的LK光流法;1-3、当分析对象为APP单张截图时,或者提供多幅截图的拼接画面时,利用划分的两类元素定义,对图像做超像素级的分割,分割的结果中,包括背景、文字与图像(或者其他,分割的方法一致),分割的方法可以采用pixel2pixel的Unet分割方法,或者用模板特征做SVM分类;1-4、一个APP的控件模式,包括两个主要信息,一个是不同种类的元素排列组合,比如{A,B,B,A},代表模式的组成方式,一个是排列方向,这里假设APP设计方式是非游戏或者3D交互方式,排列方向主要有横、纵两个方向,每个APP内是包括模式控件与其他控件的,如图3所示。(2)具体对APP内截图做模式识别的方法,输入是1-3分割后含有类别信息的分割图:2-1.对分割图做形态学处理,建议做开运算;2-2.根据做完处理的分割图,提取不同种类的分割结果,结果包括每个类别图像的独立闭包区域,区域的中心、大小等;2-3.按照区域大小对干扰区域做剔除,具体方法是:规定最小区域限制△,假如某个区域大小小于△,认为是干扰区域,剔除,这里△∈(0,+∞],建议取值为10左右;2-4.选择其中一类作为基准类,然后计算该类的任意区域与其他任何类别的区域中心的空间距离,做排序,找到与该区域最近区域的类别信息、排列位置信息;这里的类别信息与基准类可以形成包含两个元素的子模式,即AB或者AA;排列位置信息只有4种,即在基准类上、在基准类下、在基准类左、在基准类右,这里的判定方法是计算最近区域中心到该区域中心的方向向量,当方向向量更接近(-1,0)时,为在基准类左,更接近(1,0)时,为在基准类右,更接近(0,-1)时,为在基准类上,其他为在基准类下;2-5.对基准类的所有区域进行2-4的信息计算,得到所有区域的最接近类别信息与位置信息,对所有子模式做分布统计,取有更多分布的子模式做主模式(数量相等时以不同模式组合子模式为主模式),比如:AB模式的本文档来自技高网...

【技术保护点】
1.一种基于多级元素融合的APP界面模式识别方法,其特征在于:包括以下步骤:(1)定义模式,包括以下步骤:1‑1.对APP内可能出现的元素做属性划分;1‑2.当分析对象为APP内多幅截图时,按照图像匹配的方式,将多个截图拼成整个画面的图;1‑3.当分析对象为APP单张截图或多幅截图的拼接画面时,利用划分的元素定义,对图像做超像素级的分割;1‑4.一个APP的控件模式包括两个信息,一个是不同种类的元素排列组合;一个是排列方向;(2)对APP内截图做模式识别,输入是步骤1‑3分割后含有类别信息的分割图,包括以下步骤:2‑1.对分割图做形态学处理;2‑2.根据做完处理的分割图,提取不同种类的分割结果,结果包括每个类别图像的独立闭包区域,区域的中心、大小;2‑3.按照区域大小对干扰区域做剔除,具体方法是:规定最小区域限制△,假如某个区域大小小于△,认为是干扰区域;2‑4.选择其中一类作为基准类,然后计算该类的任意区域与其他任何类别的区域中心的空间距离,做排序,找到与该区域最近区域的类别信息、排列位置信息;2‑5.对基准类的所有区域进行步骤2‑4的信息计算,得到所有区域的最接近类别信息与位置信息,对所有子模式做分布统计,取有更多分布的子模式做主模式;2‑6.对上一级的独立主模式区域做合并,形成新的分割结果,形成下一级的输入,包括主模式区域、未做融合的元素分割区域;2‑7.对给定的本级输入,按照步骤2‑2的计算方法,统计不同类别的区域信息,将主模式作为参考模式,按照主方向、基于区域边界将图像分为多个搜索区间,竖直方向为主方向则以区域的宽为参考划分搜索区间,水平方向为主方向则以区域的高为参考划分搜索区间;2‑8.按照空间排列,保留区域几乎在区间范围内的整体模式;2‑9.对范围内的整体模式做重复性判定,假定整体模式中仅存在上一级主模式,则认为一级主模式即为界面模式,完成模式识别,否则进行步骤2‑10;2‑10.在主方向上取下一个非主模式,组成本级主模式,假如所有区域都不存在非主模式,认为完成模式识别,否则给出一个空模式来代替其他非主模式,统计所有区间的本级主模式,主模式组成用步骤2‑5的方法,给出本级主模式的定义,以上级方向为主方向作为本级主方向;2‑11.重复步骤2‑6~2‑10,直到整体模式中仅有一种模式,或者主方向上不存在任何非主模式,将给出的主模式作为最终模式。...

【技术特征摘要】
1.一种基于多级元素融合的APP界面模式识别方法,其特征在于:包括以下步骤:(1)定义模式,包括以下步骤:1-1.对APP内可能出现的元素做属性划分;1-2.当分析对象为APP内多幅截图时,按照图像匹配的方式,将多个截图拼成整个画面的图;1-3.当分析对象为APP单张截图或多幅截图的拼接画面时,利用划分的元素定义,对图像做超像素级的分割;1-4.一个APP的控件模式包括两个信息,一个是不同种类的元素排列组合;一个是排列方向;(2)对APP内截图做模式识别,输入是步骤1-3分割后含有类别信息的分割图,包括以下步骤:2-1.对分割图做形态学处理;2-2.根据做完处理的分割图,提取不同种类的分割结果,结果包括每个类别图像的独立闭包区域,区域的中心、大小;2-3.按照区域大小对干扰区域做剔除,具体方法是:规定最小区域限制△,假如某个区域大小小于△,认为是干扰区域;2-4.选择其中一类作为基准类,然后计算该类的任意区域与其他任何类别的区域中心的空间距离,做排序,找到与该区域最近区域的类别信息、排列位置信息;2-5.对基准类的所有区域进行步骤2-4的信息计算,得到所有区域的最接近类别信息与位置信息,对所有子模式做分布统计,取有更多分布的子模式做主模式;2-6.对上一级的独立主模式区域做合并,形成新的分割结果,形成下一级的输入,包括主模式区域、未做融合的元素分割区域;2-7.对给定的本级输入,按照步骤2-2的计算方法,统计不同类别的区域信息,将主模式作为参考模式,按照主方向、基于区域边界将图像分为多个搜索区间,竖直方向为主方向则以区域的宽为参考划分搜索区间,水平方向为主方向则以区域的高为参考划分搜索区间...

【专利技术属性】
技术研发人员:董波王道宁张亚东陶亮廖志梁
申请(专利权)人:易诚高科大连科技有限公司
类型:发明
国别省市:辽宁,21

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1