CN112507999A - 基于视觉特征的非侵入式用户界面输入项识别方法 - Google Patents
基于视觉特征的非侵入式用户界面输入项识别方法 Download PDFInfo
- Publication number
- CN112507999A CN112507999A CN202011293626.8A CN202011293626A CN112507999A CN 112507999 A CN112507999 A CN 112507999A CN 202011293626 A CN202011293626 A CN 202011293626A CN 112507999 A CN112507999 A CN 112507999A
- Authority
- CN
- China
- Prior art keywords
- input
- area
- input item
- prompt
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000000007 visual effect Effects 0.000 title claims abstract description 16
- 238000001514 detection method Methods 0.000 claims abstract description 37
- 239000013598 vector Substances 0.000 claims abstract description 19
- 238000001914 filtration Methods 0.000 claims abstract description 12
- 238000012549 training Methods 0.000 claims description 18
- 239000011159 matrix material Substances 0.000 claims description 13
- 230000002093 peripheral effect Effects 0.000 claims description 6
- 239000003086 colorant Substances 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 238000012360 testing method Methods 0.000 abstract description 20
- 238000012706 support-vector machine Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000002790 cross-validation Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000016776 visual perception Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/22—Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/50—Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/56—Extraction of image or video features relating to colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/751—Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于视觉特征的非侵入式用户界面输入项识别方法,属于计算机软件开发领域。该方法包括如下步骤:首先,在界面图像上通过直线检测算法和轮廓检测算法获得潜在输入项的列表;然后,获取候选输入项的关键字匹配特征、输入位置背景颜色特征、输入区域字体颜色特征以及其它关于输入区域图片颜色、位置和大小的特征,并把这些特征转换成特征向量传入到预先训练好的SVM分类器模型中进行判定,并过滤得到真正的输入项列表;最后,提取输入项的多维度信息以供构造测试用例。本发明无需获取应用内部的信息,即可从外部图像出发,以非侵入式方式自动地进行输入项的识别,为受限场景下测试用例的生成创造了条件。
Description
技术领域
本发明涉及一种基于视觉特征的非侵入式用户界面输入项识别方法,属于计算机软件开发领域。
背景技术
可视化测试技术(例如工具AirTest,Sikuli)近年来得到快速发展,该技术通过视觉感知实现自动化测试。识别应用界面中的输入项并为其自动构造测试数据可以帮助提高测试的自动化程度。但是在可视化测试背景下,信息获取主要从视觉图像出发,输入项的识别存在困难,没有办法从界面中直接获得输入项基本信息。
当前输入项识别主要有两种方法。一种是访问界面结构信息,从界面内部数据结构信息出发,获取输入项位置以及其它特征。例如,通过安卓的AccessibilityService服务可以获取界面结构详情,对其解析可以获取输入项信息。Wanwarang等人利用手机界面的结构化信息实现对输入区域的识别定位,并为其构造测试用例。Darab等人首先获取界面结构信息,然后对其解析得到关于输入参数的控件,并提取出搜索关键字标识符,最后利用在线的正则表达式库获取测试用例。上述输入识别方法都具有局限性,其使用前提是可以访问应用的内部结构信息,在无法访问界面结构信息时,这些方法则无法应用。例如,某些游戏终端机上游戏应用无法获取界面内部结构信息,因此无法识别界面中的输入项。另一种是使用Sikuli等工具手动截取输入项的位置,从而获取输入项信息。但是该方法需要耗费大量的人工代价,无法真正实现测试自动化。
发明内容
为解决上述问题,本发明面向测试数据自动生成,提出了一种基于视觉特征的非侵入式用户界面输入项识别方法,从外部摄像头等非侵入式途径获得的应用界面图片出发,基于视觉特征,利用支持向量机(SVM)模型来对输入项进行识别,实现非侵入式场景下的输入项识别能力。本发明只需要获取用户界面图像,就可以进行输入项的识别,无需访问待测系统内部信息,适用范围更广。
本发明为解决其技术问题采用如下技术方案:
一种基于视觉特征的非侵入式用户界面输入项识别方法,包括以下步骤:
(1)对应用程序的每一个用户界面图像,通过直线检测算法和轮廓检测算法获取图像中潜在输入项列表;
(2)逐个处理列表中的潜在输入项,获得关键字匹配特征、输入区域背景颜色丰富度特征、输入提示文字的字体颜色特征以及其它关于输入区域图片大小、位置、颜色特征,将这些特征转换成特征向量传入到训练好的SVM分类器模型中,利用SVM分类器模型判断候选区域是否是真正的输入项,进而得到真正的输入项列表;
(3)对输入项以及输入项周边区域进行基于文字和图片的识别,得到关于输入项的多维度信息。
步骤(1)的具体过程如下:
步骤101:利用直线检测算法检测图片中的直线,基于直线相对宽度过滤掉不符合输入项长度特征的直线,对检测到的所有直线分别向上方进行扫描扩展使得到的区域有机会覆盖对应的提示文字信息,得到每条直线向上方进行扩展所对应的候选输入区域;
步骤102:应用轮廓检测算法检测图片中所有的轮廓,基于轮廓相对面积过滤掉不符合要求的轮廓,对剩余所有轮廓分别获取轮廓的外接矩形,得到每个轮廓对应的候选输入区域,合并步骤101由直线检测获得的候选输入区域和轮廓检测获得的候选输入区域,得到潜在输入项列表。
步骤(2)的具体过程如下:
步骤201:首先对候选输入区域进行OCR文字识别,获取待测区域包含的提示文字信息,判断获取到的文字是否包含指定的输入提示关键字,得到是否包含提示关键字的特征;并判断获取到的文字是否包含指定的非输入提示关键字,得到是否包含非输入提示关键字的特征;
步骤202:通过输入区域图片计算该区域的颜色丰富度,得到颜色丰富度特征;并通过该区域的灰度共生矩阵计算图像熵特征值;
步骤203:通过对输入区域图片进行轮廓检测,检测到输入区域图片中所有的字体,然后计算字体轮廓内部的RGB平均值,得到输入提示字体颜色的特征,并基于文字块的轮廓信息计算输入提示字体的大小特征;
步骤204:通过候选输入区域的外接矩形得到候选输入区域的宽度特征,基于外接矩形坐标得到输入区域是否关于用户界面图片纵向中心线对称特征;
步骤205:通过计算输入区域图片颜色的直方图特征,以及计算其它的关于输入区域的色调、饱和度和亮度特征,以及输入区域图片RGB三个通道平均值特征;
步骤206:针对所选定的特征,在已有的界面图像数据集上采集输入区域的特征数据和非输入区域的特征数据,打上各自对应的标签,以此为训练数据,训练出用于判别输入项的SVM模型;
步骤207:计算候选输入项的各项特征值,把得到的特征向量传入到预先按照同样特征在给定的训练案例集上学习好的SVM分类器模型,利用模型判断该候选输入项是否是真实的输入项。
步骤(3)的具体过程如下:
步骤301:根据步骤201中获得的输入项的提示文字信息,删除输入项列表中的重复的输入项,剔除冗余;
步骤302:根据输入项的区域位置信息,计算两个输入项的区域交叉重复程度,当两个输入项交叉程度超过给定阈值,则删除重复的输入项,其中优先删除通过步骤101直线检测得到的候选输入项;
步骤303:依据输入项的坐标信息,计算得到输入项的周边描述区域,通过OCR算法获取该描述区域的文本信息,即外部描述标签;
步骤304:建立预设的常用输入项图标集合,通过视觉模板匹配算法对输入区域和描述区域进行扫描,判断输入项相关区域中是否存在常用的提示图标,如存在,即获得输入项的内外图标;
步骤305:整合上述方法得到的各类信息,最终得到输入项的三元组信息,具体包括:外部描述标签、内部提示字符、内外图标,以此完成最终的输入项识别。
本发明的有益效果如下:
(1)本发明的方法在无法访问待测系统源代码、获得应用内部信息的非侵入式场景下也可以正常使用,应用限制更少,更具有通用性。
(2)本发明可以用于专用嵌入式设备测试、接口封闭的游戏设备、多媒体设备测试等特色场合,克服了现有技术在上述场合无法应用的局限。
附图说明
图1是本发明的方法流程图。
图2(a)是实施例中包含输入项的界面原图,图2(b)是直线检测得到的候选输入项示意图。
图3是实施例中轮廓检测结果示意图。
图4(a)是实施例中用户登录界面原图,图4(b)是提示文字的字符轮廓外接矩形示意图。
图5是本发明的识别字体颜色的流程图。
图6是实施例中计算提示信息字体大小示意图。
具体实施方式
以下将结合附图,对本发明的技术方案进行详细说明。
本发明的基本思想是,通过直线检测算法和轮廓检测算法获得应用界面图像潜在的输入项列表,基于视觉特征利用SVM模型进行过滤得到真正的输入项,并获取关于输入项的多维度信息用于构造测试用例。
如图1所示,本发明提出的基于视觉特征的非侵入式用户界面输入项识别方法,步骤如下:
步骤1:对应用程序的每一个用户界面图像,通过直线检测算法和轮廓检测算法获取图像中潜在输入项列表;
步骤2:逐个处理列表中的潜在输入项,获得关键字匹配特征、输入区域背景颜色丰富度特征、输入提示文字的字体颜色特征以及其它关于输入区域图片大小、位置、颜色特征,将这些特征转换成特征向量传入到训练好的SVM分类器模型中,利用SVM分类器模型判断候选区域是否是真正的输入项,进而得到真正的输入项列表;
步骤3:对输入项以及输入项周边区域进行基于文字和图片的识别,得到关于输入项的多维度信息。
(一)步骤1:潜在输入项列表获取
在本实施中,首先基于直线检测和轮廓识别粗略提取应用界面上可能是输入项的元素。可以采用如下优选方案实现上述步骤1:
101、利用累计概率霍夫变换等直线检测算法检测图片中的直线,返回的每条直线用(x1,y1,x2,y2)表示,其中(x1,y1)表示线段的起点,(x2,y2)表示线段的终点。基于直线相对宽度,记为相对宽度=(x2-x1)/W,其中W为图片的宽度,过滤掉长度相对屏幕宽度过短,不符合一般输入项长度特征的直线。对检测到的所有直线分别向上方进行扫描扩展使得得到的区域有机会覆盖对应的提示文字信息,得到每条直线向上方进行扩展所对应的区域图片信息、区域位置信息。其中,直线向上扩展的距离为distance,向上方扩展的距离有机会刚好可以覆盖到提示的文本信息。具体得到的输入项矩形框区域图片信息如下所示,其中imageRegion为区域图片信息,x1,y1-distance分别为裁剪区域左上角的x起点和y起点,x2,y2分别为裁剪区域右下角的x终点和y终点,区域图片信息也就是通过在image上裁剪的ROI(感兴趣区域):
imageRegion=image[y1-distance:y2,x1:x2]
对不符合一般输入项长度特征的直线的过滤通过设置恰当的阈值实现。例如,对图2的界面图像,其中图2中(a)为原图,输入位置是在原图里面的直线上方输入邮箱和密码信息,通过对该图像按照上述方法进行直线检测并过滤掉不符合输入项长度的直线。并对得到的直线向上方进行扫描,得到的候选输入区域列表结果如附图2中(b)所示,矩形框圈出的位置即为候选输入区域。对检测到的直线另外可以基于直线倾斜度、直线间距、直线上下两部分色彩差异等进行过滤,去除不符合要求的直线和冗余的直线,具体过滤方法如附表1所示。
表1是本发明的过滤直线的方法说明
102、应用轮廓检测方法提取图像中的轮廓信息(例如使用OpenCV的findContours函数可检测图片中所有的轮廓),基于轮廓相对面积过滤掉不符合要求的轮廓,对剩余所有轮廓分别获取轮廓的外接矩形,得到每个轮廓对应的区域图片、区域位置信息。具体而言,设contour为检测到的轮廓,获取轮廓的外接矩形,得到x,y,w,h为对应外接矩形的起点x,起点y,宽度w和高度h。轮廓检测算法得到的输入区域图片信息如下所示,其中boundingRect()为获得轮廓的外接矩形函数,image为读取的图片信息,imageRegion为区域图片信息即对image裁剪得到的ROI(感兴趣区域):
x,y,w,h=boundingRect(contour)
imageRegion=image[y:y+h,x:x+w]
以图3为例,界面中需要输入评论信息,构成一个输入项,如图3中粗黑框所示。输入框是一个有轮廓的区域,这里的“写评论”输入区域可以按照所述方法进行轮廓检测,框选出来的区域就是区域图片信息,即潜在的输入项区域。
对开始检测得到的所有轮廓,不仅可以通过轮廓相对面积进行过滤,而且可以通过轮廓在图像中的位置、轮廓的外接矩形大小、轮廓重叠程度过滤掉不符合要求的和冗余的轮廓,具体过滤方法如附表2所示。
表2是本发明的过滤轮廓的方法说明
合并步骤101由直线检测获得的候选输入区域和轮廓检测获得的候选输入区域,得到潜在输入项列表。
(二)步骤2:潜在输入项列表判断
在本实施中,采用基于特征向量的机器学习来判断候选输入项是否是一个真实输入项,而不是按钮、文字标签等。可以采用如下优选方案实现上述步骤2:
201、首先对候选输入区域进行OCR(文字检测算法)文字识别,获取待测区域包含的提示文字信息,判断获取到的文字是否包含指定的输入提示关键字,得到是否包含提示关键字的特征,用fhint表示。fhint=1表示包含输入关键字,例如提示信息里包含“搜索”、“请输入”等关键词的情况,fhint=0表示无输入提示关键字。具体方法为,令A={α1,α2,…,αn}为输入项提示文字分词后的集合,B={β1,β2,…,βm}为预定义的输入提示关键字集合。若A集合中包含B中的元素,则认为输入项提示信息包含输入关键字,则fhint=1,反之fhint=0。
判断获取到的文字是否包含指定的非输入框提示关键字,得到是否包含非输入提示关键字的特征,用fforbid表示。fforbid=1表示包含非输入关键字,例如提示信息里面包含“登陆”、“发送”等动作关键词的情况,fforbid=0表示无非输入关键字,方法和计算输入提示关键字特征的方法同理;
202、通过输入区域图片计算该区域的颜色丰富度,得到颜色丰富度特征。由于输入项大都是浅色的背景色,所以可以通过对一张图片的色彩丰富度进行量化,用其作为一个判断输入项的特征。对一张RGB通道的彩色图片计算色彩丰富度的公式如下所示,其中R是输入区域图片的红色通道矩阵,G是绿色通道矩阵,B是蓝色通道矩阵,rg为红色通道与绿色通道的差值,yb为红色通道矩阵加上绿色通道矩阵的一半减去蓝色通道矩阵的值,表示rg和yb矩阵的标准差,μrg、μyb表示rg和yb矩阵的平均值,表示和的平方和的平方根,μrgyb表示μrg和μyb的平方和的平方根。计算得到色彩丰富度,该特征用fm表示:
rg=R-G
另一方面,纹理是图像的重要特征之一,常用于图像的分类任务中。纹理特征刻画象素的邻域灰度空间分布规律,而输入区域从纹理特征的角度看也呈现一定的规律性,例如输入区域的背景纹理通常比较简洁。并且灰度共生矩阵是一种常用的通过灰度的空间相关特性来描述纹理的方法,可用灰度共生矩阵上的熵表达图片的纹理复杂程度,所以把图片的熵作为一个输入项特征。计算熵特征fent的公式如下所示,其中G为生成的灰度共生矩阵,k为灰度共生矩阵的行数和列数值,行数和列数值相等,G(i,j)表示灰度共生矩阵中根据下标对应位置元素的值,fent表示求得的熵;
203、对输入区域图片进行轮廓检测,检测到输入区域图片中所有的字体,然后计算字体轮廓内部的RGB平均值,得到输入提示字体颜色的特征。例如图4中的(a)为用户登录界面,对于密码输入框,首先得到“Password”的单个字符的轮廓,然后对每个字符轮廓取外接矩形,如图4中(b)所示。对每个外接矩形进行逐行扫描,判断扫描的点是否在对应的文字轮廓内部,获取字符内部的像素值,据此计算字体颜色的RGB平均值。该特征用ffontR,ffontG,ffontB表示,分别代表RGB三个不同通道的数值。由于大多数的输入提示信息文字颜色都具有一定的规律,例如是浅色的提示文字,所以可以把字体的颜色作为一个特征,具体计算字体颜色的流程图如图5所示。
同时,基于文字块的轮廓信息计算输入提示信息字体的大小特征。以图6搜索界面举例,利用OCR文字检测算法可以获取图像中所有的文字内容和文字位置信息,位置信息用bounding=(x,y,w,h)表示。其中,bounding为框选中文字块的矩形框位置信息,x,y,w,h分别为矩形框左上角的行坐标值、矩形框左上角的列坐标值,矩形框的宽,矩形框的高。使用公式fontSize=(w*h)/L,其中L为字母的个数,即可计算字体大小的特征,该特征用ffontSize表示。因为输入提示信息的字体一般大小适中,太大或者太小的文字不符合常规输入提示文字表征,所以使用提示信息字体大小作为其中一个特征;
204、通过候选输入区域的外接矩形得到候选输入区域的宽度特征,该特征用fw表示。基于外接矩形坐标得到输入区域是否关于用户界面图片纵向中心线对称特征,该特征用fsym表示,计算方式为比较输入区域中心点的横坐标与图像中心点的横坐标,两者之间相差距离小于给定阈值则认为是对称,否则不对称;
205、统计输入区域不同颜色区间像素值的个数,获得输入区域的图片颜色直方图,将其转换为一维的向量,构成子特征集,与其它特征共同组合,形成关于输入项的特征向量。颜色直方图反应了图像的色彩分布,例如偏白还是偏黑,直方图特征用Fhist表示。
同时,计算其它的关于输入区域的色调、饱和度和亮度特征,三个特征值分别用fh,fs,fv表示,基于HSV(色调、饱和度、亮度)颜色模型计算。
由于大部分输入区域的背景色以浅色为主,所以取输入区域图片RGB三个通道平均值作为背景颜色特征,三个特征值分别用fr,fg,fb表示RGB不同通道的特征值。
结合所有选择的特征组成关于候选输入区域的特征向量,使用F表示,其中f1代表第1个特征的特征值,f2代表第2个特征的特征值,fn代表第n个特征的特征值。
F=(f1,f2,…,fn)
关于输入区域总的特征详细描述如表3所示。
表3是本发明的SVM模型的特征描述
206、针对所选定的特征,在已有的界面图像数据集上采集输入区域的特征数据和非输入区域的特征数据,打上各自对应的标签,以此为训练数据,训练出用于判别输入项的SVM模型。训练数据集从多张图片中生成,并且每张图片中有输入项和非输入项两种类别的候选输入区域,总的训练数据记为{s1,s2,…,sm},每个候选输入项对应的特征向量记为F(s),特征向量对应的标签记为γ,且γ∈{0,1},得到的T为训练输入项判断模型的训练数据。其中,F(si)为第i个训练数据的特征向量,γi为第i个训练数据的标签,fij为第i个训练数据的第j个特征值,其中i取值为1到m之间,j取值为1到n之间;
训练SVM模型的方法是利用SVM在采集到的数据上进行二分类的模型训练,对于候选超参数的所有组合情况全部进行一次训练预测,也就是利用网格搜索的方式确定模型的最佳参数,通过K折交叉验证的方式评价模型优劣并选定最终的模型;
207、计算待提取输入项的界面图片中候选输入项的各项特征值,把得到的特征向量传入到预先按照同样特征在给定的训练案例集上学习好的SVM分类器模型,利用模型判断该输入项是否是真实的输入项。设训练好的模型为R,候选输入项对应的特征向量为(f1,f2,…,fn),则判断输入项类别的过程通过如下函数表示:
Y=R(f1,f2,…,fn)。
(三)步骤3:输入项的多维度信息获取
在本实施中,在获得输入项后,为各个输入项提取多元信息,作为生成测试数据的基础。可以采用如下优选方案实现上述步骤3:
301、根据步骤201中获得的输入项的提示文字信息,删除输入项列表中的重复的输入项,剔除冗余;
302、根据输入项的区域位置信息,计算两个输入项的区域交叉重复程度,当两个输入项交叉程度超过给定阈值,则删除重复的输入项,其中优先删除通过步骤101直线检测得到的候选输入项;
303、依据输入项的坐标信息,计算得到输入项的周边描述区域,通过OCR算法获取该描述区域的文本信息,即外部描述标签;
304、建立预设的常用输入项图标集合,例如搜索图标(放大镜)、手机图标、地址图标等。通过视觉模板匹配算法对输入区域和描述区域进行扫描,判断输入项相关区域中是否存在常用的提示图标,如存在,即获得输入项的内外图标;
305、最后,整合上述步骤得到的各类信息,得到输入项的描述三元组。设D为外部描述标签,T为内部提示字符,I内外图标,最终得到的输入项描述为:K=(D,T,I)。
根据该文字和图标描述,可以采用现有的基于知识库等的测试数据生成方法来生成测试数据。
在实验过程中,共对微信、支付宝、知乎等10种不同的应用采集了50个不同的测试用界面图片,覆盖到社交、网购、问答等多个应用领域。经过实际检验,测试图片中90%的输入项都可以被正确地识别,并且关于输入项的多维度信息也可以有效获取,表明本发明所提出的技术可以解决非侵入式测试场景下的输入项识别问题,且具有良好的识别效果。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (4)
1.一种基于视觉特征的非侵入式用户界面输入项识别方法,其特征在于,包括以下步骤:
(1)对应用程序的每一个用户界面图像,通过直线检测算法和轮廓检测算法获取图像中潜在输入项列表;
(2)逐个处理列表中的潜在输入项,获得关键字匹配特征、输入区域背景颜色丰富度特征、输入提示文字的字体颜色特征以及其它关于输入区域图片大小、位置、颜色特征,将这些特征转换成特征向量传入到训练好的SVM分类器模型中,利用SVM分类器模型判断候选区域是否是真正的输入项,进而得到真正的输入项列表;
(3)对输入项以及输入项周边区域进行基于文字和图片的识别,得到关于输入项的多维度信息。
2.根据权利要求1所述的基于视觉特征的非侵入式用户界面输入项识别方法,其特征在于,步骤(1)的具体过程如下:
步骤101:利用直线检测算法检测图片中的直线,基于直线相对宽度过滤掉不符合输入项长度特征的直线,对检测到的所有直线分别向上方进行扫描扩展使得到的区域有机会覆盖对应的提示文字信息,得到每条直线向上方进行扩展所对应的候选输入区域;
步骤102:应用轮廓检测算法检测图片中所有的轮廓,基于轮廓相对面积过滤掉不符合要求的轮廓,对剩余所有轮廓分别获取轮廓的外接矩形,得到每个轮廓对应的候选输入区域,合并步骤101由直线检测获得的候选输入区域和轮廓检测获得的候选输入区域,得到潜在输入项列表。
3.根据权利要求2所述的基于视觉特征的非侵入式用户界面输入项识别方法,其特征在于,步骤(2)的具体过程如下:
步骤201:首先对候选输入区域进行OCR文字识别,获取待测区域包含的提示文字信息,判断获取到的文字是否包含指定的输入提示关键字,得到是否包含提示关键字的特征;并判断获取到的文字是否包含指定的非输入提示关键字,得到是否包含非输入提示关键字的特征;
步骤202:通过输入区域图片计算该区域的颜色丰富度,得到颜色丰富度特征;并通过该区域的灰度共生矩阵计算图像熵特征值;
步骤203:通过对输入区域图片进行轮廓检测,检测到输入区域图片中所有的字体,然后计算字体轮廓内部的RGB平均值,得到输入提示字体颜色的特征,并基于文字块的轮廓信息计算输入提示字体的大小特征;
步骤204:通过候选输入区域的外接矩形得到候选输入区域的宽度特征,基于外接矩形坐标得到输入区域是否关于用户界面图片纵向中心线对称特征;
步骤205:计算输入区域图片颜色的直方图特征,以及计算其它的关于输入区域的色调、饱和度和亮度特征,以及输入区域图片RGB三个通道平均值特征;
步骤206:针对所选定的特征,在已有的界面图像数据集上采集输入区域的特征数据和非输入区域的特征数据,打上各自对应的标签,以此为训练数据,训练出用于判别输入项的SVM模型;
步骤207:计算候选输入项的各项特征值,把得到的特征向量传入到预先按照同样特征在给定的训练案例集上学习好的SVM分类器模型,利用模型判断该候选输入项是否是真实的输入项。
4.根据权利要求3所述的基于视觉特征的非侵入式用户界面输入项识别方法,其特征在于,步骤(3)的具体过程如下:
步骤301:根据步骤201中获得的输入项的提示文字信息,删除输入项列表中的重复的输入项,剔除冗余;
步骤302:根据输入项的区域位置信息,计算两个输入项的区域交叉重复程度,当两个输入项交叉程度超过给定阈值,则删除重复的输入项,其中优先删除通过步骤101直线检测得到的候选输入项;
步骤303:依据输入项的坐标信息,计算得到输入项的周边描述区域,通过OCR算法获取该描述区域的文本信息,即外部描述标签;
步骤304:建立预设的常用输入项图标集合,通过视觉模板匹配算法对输入区域和描述区域进行扫描,判断输入项相关区域中是否存在常用的提示图标,如存在,即获得输入项的内外图标;
步骤305:整合上述步骤得到的各类信息,最终得到输入项的三元组信息,具体包括:外部描述标签、内部提示字符、内外图标,以此完成最终的输入项识别。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011293626.8A CN112507999B (zh) | 2020-11-18 | 2020-11-18 | 基于视觉特征的非侵入式用户界面输入项识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011293626.8A CN112507999B (zh) | 2020-11-18 | 2020-11-18 | 基于视觉特征的非侵入式用户界面输入项识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112507999A true CN112507999A (zh) | 2021-03-16 |
CN112507999B CN112507999B (zh) | 2024-04-05 |
Family
ID=74956813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011293626.8A Active CN112507999B (zh) | 2020-11-18 | 2020-11-18 | 基于视觉特征的非侵入式用户界面输入项识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112507999B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002017220A1 (fr) * | 2000-08-22 | 2002-02-28 | Akira Kurematsu | Procede d'extraction de zones de caracteres dans une image |
CN106648308A (zh) * | 2016-11-17 | 2017-05-10 | 北京小度信息科技有限公司 | 界面显示方法、信息输入方法和装置 |
CN108804659A (zh) * | 2018-06-08 | 2018-11-13 | 北京嘀嘀无限科技发展有限公司 | 一种候选项显示、确定方法和系统 |
CN111243700A (zh) * | 2020-01-15 | 2020-06-05 | 创业慧康科技股份有限公司 | 一种电子病历输入方法及装置 |
CN111433786A (zh) * | 2017-11-30 | 2020-07-17 | 三星电子株式会社 | 计算设备和计算设备的信息输入方法 |
-
2020
- 2020-11-18 CN CN202011293626.8A patent/CN112507999B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002017220A1 (fr) * | 2000-08-22 | 2002-02-28 | Akira Kurematsu | Procede d'extraction de zones de caracteres dans une image |
CN106648308A (zh) * | 2016-11-17 | 2017-05-10 | 北京小度信息科技有限公司 | 界面显示方法、信息输入方法和装置 |
CN111433786A (zh) * | 2017-11-30 | 2020-07-17 | 三星电子株式会社 | 计算设备和计算设备的信息输入方法 |
CN108804659A (zh) * | 2018-06-08 | 2018-11-13 | 北京嘀嘀无限科技发展有限公司 | 一种候选项显示、确定方法和系统 |
CN111243700A (zh) * | 2020-01-15 | 2020-06-05 | 创业慧康科技股份有限公司 | 一种电子病历输入方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112507999B (zh) | 2024-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Matzen et al. | Data visualization saliency model: A tool for evaluating abstract data visualizations | |
CN110503054B (zh) | 文本图像的处理方法及装置 | |
CN108090511B (zh) | 图像分类方法、装置、电子设备及可读存储介质 | |
US8542951B2 (en) | Image retrieval device and computer program for image retrieval applicable to the image retrieval device | |
CN110728687B (zh) | 文件图像分割方法、装置、计算机设备和存储介质 | |
CN111368682B (zh) | 一种基于faster RCNN台标检测与识别的方法及系统 | |
CN112149570B (zh) | 多人活体检测方法、装置、电子设备及存储介质 | |
CN112926601A (zh) | 基于深度学习的图像识别方法、装置、设备及存储介质 | |
CN110222660B (zh) | 一种基于动态与静态特征融合的签名鉴伪方法及系统 | |
CN111738252B (zh) | 图像中的文本行检测方法、装置及计算机系统 | |
CN110737687A (zh) | 数据查询方法、装置、设备及存储介质 | |
CN112507999B (zh) | 基于视觉特征的非侵入式用户界面输入项识别方法 | |
CN116912827A (zh) | 基于大模型的可交互式标注方法及系统 | |
CN114758384A (zh) | 人脸检测方法、装置、设备及存储介质 | |
CN115565193A (zh) | 问卷信息录入方法、装置、电子设备及存储介质 | |
CN114882511A (zh) | 基于amnn和汉字结构字典的手写汉字识别方法、系统、设备和存储介质 | |
CN111783737B (zh) | 一种数学公式的识别方法和识别装置 | |
CN111046883B (zh) | 一种基于古钱币图像的智能评估方法及系统 | |
CN111582148A (zh) | 京剧人物识别方法、设备、存储介质及装置 | |
CN111652119A (zh) | 一种结合位置信息的人脸特征提取方法 | |
CN114202761B (zh) | 一种基于图片信息聚类的信息批量提取方法 | |
JP5402417B2 (ja) | 画像処理装置 | |
CN112465904A (zh) | 图像目标定位方法、装置、计算机设备和存储介质 | |
CN116823761A (zh) | 基于细胞分割的信息处理方法、装置、设备及存储介质 | |
CN114373192A (zh) | 根据动物视觉特征分类识别的方法、系统及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |