CN114936119A - 页面元素定位方法、装置、计算机设备及存储介质 - Google Patents
页面元素定位方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN114936119A CN114936119A CN202210505269.XA CN202210505269A CN114936119A CN 114936119 A CN114936119 A CN 114936119A CN 202210505269 A CN202210505269 A CN 202210505269A CN 114936119 A CN114936119 A CN 114936119A
- Authority
- CN
- China
- Prior art keywords
- small
- graph
- image
- feature
- feature point
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/263—Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
-
- 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/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
-
- 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/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
-
- 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/761—Proximity, similarity or dissimilarity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及软件测试领域,公开了一种页面元素定位方法、装置、计算机设备及存储介质,其方法包括:获取小图和大图;其中,小图包括页面元素;大图大于小图;从小图提取小图特征数据,小图特征数据包括第一个数的小图特征点;判断第一个数是否大于第一阈值;若第一个数大于第一阈值,从大图提取大图特征数据;对小图特征数据和大图特征数据进行特征匹配,以获得第二个数的匹配点;判断第二个数是否大于第二阈值;若第二个数大于第二阈值,根据匹配点在大图中的位置确定页面元素在大图中的位置。本发明可以降低页面测试的成本,提高页面测试的效率。
Description
技术领域
本发明涉及软件测试领域,尤其涉及一种页面元素定位方法、装置、计算机设备及存储介质。
背景技术
目前,较为成熟的页面元素定位为XPATH(XML Path Language)。XPATH是一种用来确定页面元素在XML文档中位置的语言。XPATH基于XML的树状结构,提供在数据结构树中寻找节点的能力。
然而,受限于应用系统的差异,跨系统的页面元素定位存在困难。而且,对于一些特殊页面,如H5页面、小程序页面,并无法获取XPATH,使得页面元素定位变得不可行。
因而,需要寻找一种新的页面元素定位方法,以适用不同的页面测试场景,提高测试效率。
发明内容
基于此,有必要针对上述技术问题,提供一种页面元素定位方法、装置、计算机设备及存储介质,以实现页面元素的精准定位。
一种页面元素定位方法,包括:
获取小图和大图;其中,所述小图包括页面元素;所述大图大于所述小图;
从所述小图提取小图特征数据,所述小图特征数据包括第一个数的小图特征点;
判断所述第一个数是否大于第一阈值;
若所述第一个数大于第一阈值,从所述大图提取大图特征数据;
对所述小图特征数据和所述大图特征数据进行特征匹配,以获得第二个数的匹配点;
判断所述第二个数是否大于第二阈值;
若所述第二个数大于第二阈值,根据所述匹配点在所述大图中的位置确定所述页面元素在所述大图中的位置。
一种页面元素定位装置,包括:
获取模块,用于获取小图和大图;其中,所述小图包括页面元素;所述大图大于所述小图;
提取小图特征模块,用于从所述小图提取小图特征数据,所述小图特征数据包括第一个数的小图特征点;
第一判断模块,用于判断所述第一个数是否大于第一阈值;
提取大图特征模块,用于若所述第一个数大于第一阈值,从所述大图提取大图特征数据;
特征匹配模块,用关于对所述小图特征数据和所述大图特征数据进行特征匹配,以获得第二个数的匹配点;
第二判断模块,用于判断所述第二个数是否大于第二阈值;
第一确定位置模块,用于若所述第二个数大于第二阈值,根据所述匹配点在所述大图中的位置确定所述页面元素在所述大图中的位置。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现上述页面元素定位方法。
一个或多个存储有计算机可读指令的可读存储介质,所述计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行如上述页面元素定位方法。
上述页面元素定位方法、装置、计算机设备及存储介质,通过截取包含页面元素的图像,然后利用图片识别的方法识别出页面元素在大图中的位置。利用页面元素在大图中的位置,可以满足用户自动化测试的需求,而不需要特别地针对每一种手机系统开发用于获取页面元素位置的代码。因而,本发明可以降低页面测试的成本,提高页面测试的效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中页面元素定位方法的一应用环境示意图;
图2是本发明一实施例中页面元素定位方法的一流程示意图;
图3是本发明一实施例中页面元素定位装置的一结构示意图;
图4是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例提供的页面元素定位方法,可应用在如图1的应用环境中,其中,客户端与服务端进行通信。其中,客户端包括但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种页面元素定位方法,以该方法应用在图1中的服务端为例进行说明,包括如下步骤S10-S70。
S10、获取小图和大图;其中,所述小图包括页面元素;所述大图大于所述小图。
可理解地,手机APP页面中的页面元素一般为文字和图片,且以图片为主。页面元素可以是一些常用的图标,如“×”号、设置的齿轮等。小图指的是包含页面元素的图片。一般情况下,小图只包含一个页面元素。在一些情况下,小图是通过截图的方式获得,因而,可能包含部分页面元素周边的区域。大图可以是手机APP页面。在大图中,可以包括若干页面元素。需要注意的是,在此处,大图和小图是成对出现的,“大小”只表示一种相对关系,并不是对大图和小图本身的尺寸进行限定。大图大于小图,指的是大图的尺寸大于小图。或者说,大图的长不小于小图的长,大图的宽不小于小图的宽,且至少大图的长或宽中的一个,大于小图对应的长或宽。
在一些示例中,输入的参数还包括设置参数。在常用的手机APP中,每个操作按键都在其对应的位置,这样并不需要对整张大图进行检索,只需要根据小图截取的位置(可根据image_s_coordinate_x、image_s_coordinate_y、image_o_size_x、image_o_size_y参数来计算小图截取位置),再对小图的宽高做一些扩展,从而在大图中得到一个检索框。为了保证检索框内准确地包含小图,可以检索框的设置参数(通过alternative_x和alternative_y来调节检索框),由使用者调节该设置参数,来保证检索框内包含小图,这样即可完成在大图中寻找小图的任务。
在人工智能算法中需要考虑数据的准确率和召回率,而在手机APP测试中,无法给一个符合所有场景的准确率参数,为了满足各种场景,满足使用时的准确率和召回率,故设置准确率(similarity)。准确率由使用者根据使用情况,来调节准确率(准确率默认值为0.9)。在一些情况下,设置参数包括上述准确率。
S20、从所述小图提取小图特征数据,所述小图特征数据包括第一个数的小图特征点。
在此处,可采用特征点检测学习算法(SIFT算法)从小图提取小图特征数据。小图特征数据包括若干SIFT特征。
SIFT特征是基于物体上的一些局部外观的兴趣点而与影像的大小和旋转无关。对于光线、噪声、微视角改变的容忍度也相当高。基于这些特性,它们是高度显著而且相对容易撷取,在基数庞大的特征数据库中,很容易辨识物体而且鲜有误认。使用SIFT特征对于部分物体遮蔽的侦测率也相当高,甚至只需要3个以上的SIFT特征就足以计算出位置与方位。在现今的技术水平下,辨识速度可接近即时运算。SIFT特征的信息量大,适合在海量数据库中快速准确匹配。
SIFT算法具有如下一些特点:1、SIFT特征是图像的局部特征,其对旋转、尺度缩放、亮度变化保持不变性,对视角变化、仿射变换、噪声也保持一定程度的稳定性;2、区分性(Distinctiveness)好,信息量丰富,适用于在海量特征数据库中进行快速、准确的匹配;3、多量性,即使少数的几个物体也可以产生大量的SIFT特征向量;4、高速性,经优化的SIFT匹配算法甚至可以达到实时的要求;5、可扩展性,可以很方便的与其他形式的特征向量进行联合。
在使用SIFT算法从小图提取小图特征数据的过程中,可采用相应的SIFT特征检测方法。SIFT特征检测方法的主要检测步骤包括:1、尺度空间极值检测:搜索所有尺度上的图像位置,通过高斯微分函数来识别潜在的对于尺度和旋转不变的兴趣点;2、关键点定位:在每个候选的位置上,通过一个拟合精细的模型来确定位置和尺度,关键点的选择依据于它们的稳定程度;3、方向确定:基于图像局部的梯度方向,分配给每个关键点位置一个或多个方向,所有后面的对图像数据的操作都相对于关键点的方向、尺度和位置进行变换,从而提供对于这些变换的不变性;4、关键点描述:在每个关键点周围的邻域内,在选定的尺度上测量图像局部的梯度,这些梯度被变换成一种表示,这种表示允许比较大的局部形状的变形和光照变化。
小图特征点即为从小图中识别出的关键点。第一个数即为小图特征点的个数。
S30、判断所述第一个数是否大于第一阈值。
可理解地,第一阈值可以根据实际需要进行设置,如可以是40。在一些示例中,设置参数可以包括第一阈值。
S40、若所述第一个数大于第一阈值,从所述大图提取大图特征数据。
可理解地,当第一个数大于第一阈值时,说明小图的小图特征点较多,可以与大图的大图特征点进行特征匹配。此时,可以从大图提取大图特征数据。大图特征数据的提取方法同样适用SIFT算法,在此不再赘述。
S50、对所述小图特征数据和所述大图特征数据进行特征匹配,以获得第二个数的匹配点。
可理解地,可以生成了大图的描述子(如可以是k1*128维)和小图的描述子(如可以是k2*128维),将两图中各个特征点(也即关键点,或scale)的描述子进行匹配,匹配上128维,即可表示两个特征点相互匹配,互为匹配点。第二个数可以指匹配点的对数。
为了增强匹配的稳健性,对每个特征点使用4×4共16个种子点来描述,这样对于一个特征点就可以产生128个数据,即,最终形成128维的SIFT特征向量。此时的SIFT特征向量已经去除了尺度变化、旋转等几何变形因素的影响,再继续将特征向量的长度归一化,则可以进一步去除光照变化的影响。
在生成大图和小图的SIFT特征向量之后,下一步采用特征向量的欧式距离来判断两幅图像中特征点的相似性。取大图中的某个关键点,并找出其与小图中欧式距离最近的前两个关键点。在这两个关键点中,如果最近的距离除以次近的距离少于某个比例阈值,则接受这一对匹配点。降低这个比例阈值,匹配点数目会减少,但更加稳定。
S60、判断所述第二个数是否大于第二阈值。
S70、若所述第二个数大于第二阈值,根据所述匹配点在所述大图中的位置确定所述页面元素在所述大图中的位置。
可理解地,第二阈值可以根据实际需要进行设置,如可以是5。在一些示例中,设置参数可以包括第二阈值。
在第二个数大于第二阈值时,说明已经在大图中找到相应的页面元素,因而,可以基于匹配点在大图中的位置确定页面元素在大图中的位置。
本实施例提供的页面元素定位方法,通过截取包含页面元素的图像,然后利用图片识别的方法识别出页面元素在大图中的位置。利用页面元素在大图中的位置,可以满足用户自动化测试的需求,而不需要特别地针对每一种手机系统开发用于获取页面元素位置的代码,因而,本实施例提供的方法,可以降低页面测试的成本,提高页面测试的效率。
可选的,步骤S60之后,即所述判断所述第二个数是否大于第二阈值之后,还包括:
S71、若所述第二个数小于或等于所述第二阈值,则对所述小图进行尺寸转换,生成小图转换图像,对所述大图进行尺寸转换,生成大图转换图像;
S72、通过Hog算法处理所述小图转换图像,获得小图轮廓梯度特征;通过Hog算法处理所述大图转换图像,获得大图轮廓梯度特征;
S73、计算所述小图轮廓梯度特征与所述大图轮廓梯度特征之间的相似度;
S74、若所述相似度大于相似度阈值,则输出所述页面元素在所述大图中的位置。
可理解地,若第二个数小于或等于第二阈值,则可以对小图进行尺寸转换,例如按照最短边将小图转换为预设尺寸的图片,即为小图转换图像。大图可参照小图的变换方式对大图进行尺寸转换,生成大图转换图像。
可以通过Hog算法处理小图转换图像,获得小图轮廓梯度特征。通过Hog算法处理大图转换图像,获得大图轮廓梯度特征。
在使用Hog算法计算图像的轮廓梯度特征时,先计算图像梯度。对于数字图像而言,每个像素水平和垂直方向的梯度,可以通过kernels计算,计算公式如下:
G(x,y)=dx(x,y)+dy(x,y)
dx(x,y)=I(x+1,y)-I(x,y)
dy(x,y)=I(x,y+1)-I(x,y)
其中,G(x,y)表示梯度,dx(x,y)表示x方向的微分,dy(x,y)表示y方向的微分,I(x,y)是图像在点(x,y)处的像素值,其他参量表示的意义参照I(x,y),在此不再赘述。
每个像素梯度大小和方向可表示为:
图像梯度移除了原图像中的不必要信息,但是高亮了轮廓线。在每一个像素上,梯度都有大小和方向。对于彩色图像,3个通道(RGB)的梯度都将被计算出来。彩色图像的梯度值为3个通道中最大的梯度值,角度也是3个通道中最大的角度。
在计算图像梯度之后,还可以设置HOG算法的检测窗口(win)、块(block)和单元(cell)。假设图像中检测窗口的尺寸为64×64,假设给出块的尺寸为16×16,块步长为(8,8),经过计算,检测窗口中共滑动7×7=49个block。在一个块中选择细胞单元不再滑动,给出细胞单元的尺寸为(8,8),所以一个块中一共有2×2=4个cell。
可以在cell中构建方向梯度直方图。bins(箱)的个数决定了方向的范围。假设采用9个bin的直方图来统计这8×8个像素cell的梯度信息,即将cell的梯度方向0~180度(或0~360度,考虑了正负,signed)分成9个方向块。如果这个像素的梯度方向是20-40度,直方图第2个bin即的计数就加1,这样,对cell内每个像素用梯度方向在直方图中进行加权投影,将其映射到对应的角度范围块内,就可以得到这个cell的梯度方向直方图了,就也即是该cell对应的9维特征向量(因为有9个bin)。
加权投影所用的权值为当前点的梯度幅值。例如说:某个像素的梯度方向是20-40度,其梯度幅值是4,那么直方图第2个bin的计数就不是加1了,而是加4。这样就得到关于梯度方向的一个加权直方图。需要注意的是,cell的中方向范围的个数由bins来决定,还是以9为例:所以,一个cell中的向量为9个。例如,在一个尺寸为64×64的检测窗中,描述子的维数就应该为:9×4×49=1764。其中4为一个block中cell的个数,49为一个win中block的个数。
在分别计算出小图轮廓梯度特征和大图轮廓梯度特征之后,可以计算出它们之间的相似度。在此处,相似度可以指余弦相似度。
相似度阈值可以根据实际需要进行设置,如可以是90%。在一些示例中,设置参数可以包括相似度阈值。
在计算出的相似度大于相似度阈值,说明检测框中的图像包含页面元素,可以基于检测框的位置输出页面元素在大图中的位置。需要注意的是,在此处,页面元素在大图中的位置,并不一定指的是页面元素的中心在大图中的坐标,可以基于用户的偏好设置用于指向页面元素位置的坐标值,如可以是页面元素的中心的坐标偏上,也可以是页面元素的中心的坐标偏下。
本实施例可以在匹配点不足时,使用HOG算法确定页面元素在大图中的位置。
可选的,步骤S73之后,即所述计算所述小图轮廓梯度特征与所述大图轮廓梯度特征之间的相似度之后,还包括:
S75、若所述相似度小于或等于所述相似度阈值,则输出提示信息,所述提示信息用于提示所述大图不包含所述页面元素。
可理解地,若相似度小于或等于相似度阈值,则说明在大图这种查找不到小图中的页面元素,此时可以输出提示信息。提示信息可以用于提示大图不包含页面元素。
本实施例可以输出识别失败的结果。
可选的,步骤S30之后,即所述判断所述第一个数是否大于第一阈值之后,还包括:
S31、若所述第一个数小于或等于所述第一阈值,则计算所述小图的第一哈希编码,计算所述大图的第二哈希编码;
S32、根据所述第一哈希编码和所述第二哈希编码计算所述大图与所述小图之间的汉明距离;
S33、若所述汉明距离小于距离阈值,则输出所述页面元素在所述大图中的位置。
可理解地,当第一个数小于或等于第一阈值时,说明小图的小图特征点较少,无法与大图的大图特征点进行特征匹配。此时可以通过哈希算法计算大图和小图的哈希编码,即第一哈希编码和第二哈希编码。
需要注意的是,此处大图的第二哈希编码指的是通过滑窗从大图截取出的滑窗图像的哈希编码。通过哈希编码计算两个图片之间的汉明距离,若汉明距离小于距离阈值,则可以确定当前滑窗图像包含页面元素,因而可以基于当前滑窗图像的位置输出页面元素在大图中的位置。
在使用哈希算法计算哈希编码时,可采用如下步骤。1、缩小尺寸,将图片缩小到指定大小,如8x8px,总共64个像素。这一步的作用是去除图片的细节,只保留结构、明暗等基本信息,摒弃不同尺寸、比例带来的图片差异。2、简化色彩,将缩小后的图片转化为指定级数的灰度图像,如可以是64级灰度。然后计算所有像素(即64个像素)的灰度平均值。然后将每个像素的灰度,与平均值进行比较。大于或等于平均值,记为1;小于平均值,记为0。
将上一步的比较结果,组合在一起,就构成了一个64位的整数,这就是这张图片的特征。组合的次序并不重要,只要保证所有图片都采用同样次序就行了。得到特征以后,就可以对比大图和小图,看看64位中有多少位是不一样的。汉明距离(Hamming distance)可以指这64位整数中存在差异的数位的个数。如果不相同的数据位的个数不超过距离阈值,就说明两张图片相似。距离阈值可以根据实际需要进行设置,如可以是7。
若汉明距离小于距离阈值,则说明当前检索框中的包含页面元素,因而,可以根据当前检索框在大图的位置输出页面元素在大图中的位置。
可选的,步骤S32之后,即所述根据所述第一哈希编码和所述第二哈希编码计算所述大图与所述小图之间的汉明距离之后,还包括:
S34、若所述汉明距离大于或等于距离阈值,则输出提示信息,所述提示信息用于提示所述大图不包含所述页面元素。
可选的,步骤S20,即所述从所述小图提取小图特征数据,所述小图特征数据包括第一个数的小图特征点,包括:
S201、构建所述小图的尺度空间;
S202、在所述尺度空间检测若干极值点;
S203、对所述极值点进行校验,将通过校验的极值点确定为所述小图特征点,并生成所述小图特征点的第一描述信息。
可理解地,尺度空间用于描述图像数据的多尺度特征。高斯核是唯一可以产生多尺度空间的核。图像的尺度空间,L(x,y,σ),定义为原始图像I(x,y)与一个可变尺度的2维高斯函数G(x,y,σ)卷积运算。其中G(x,y,σ)是尺度可变高斯函数(x,y)是空间坐标,即尺度坐标。σ大小决定图像的平滑程度,大尺度对应图像的概貌特征,小尺度对应图像的细节特征。大的σ值对应粗糙尺度(低分辨率),反之,对应精细尺度(高分辨率)。
在可以在尺度空间寻找极值点,每一个采样点要和它所有的相邻点比较,看其是否比它的图像域和尺度域的相邻点大或者小。在一些示例中,中间的检测点和它同尺度的8个相邻点和上下相邻尺度对应的9×2个点共26个点比较,以确保在尺度空间和二维图像空间都检测到极值点。一个点如果在DOG尺度空间本层以及上下两层的26个领域中是最大或最小值时,就认为该点是图像在该尺度下的一个特征点。
由于DoG值对噪声和边缘较敏感,因此,在DoG尺度空间中检测到局部极值点,还要经过进一步的校验才能精确定位为特征点(若从小图提取,则为小图特征点,若从大图提取,则为大图特征点)。为了提高关键点的稳定性,需要对尺度空间DoG函数进行曲线拟合。在已经检测到的特征点中,要去掉低对比度的特征点和不稳定的边缘响应点。
可选的,步骤S50,即所述对所述小图特征数据和所述大图特征数据进行特征匹配,以获得第二个数的匹配点,包括:
S501、从所述小图特征数据中提取所述小图特征点的第一描述信息,并根据所述第一描述信息生成第一SIFT特征向量;
S502、从所述大图特征数据中提取大图特征点的第二描述信息,并根据所述第二描述信息生成第二SIFT特征向量;
S5031、确定与目标小图特征点最近的第一大图特征点,以及与所述目标小图特征点次近的第二大图特征点;
S5032、根据所述目标小图特征点的第一SIFT特征向量和所述第一大图特征点的第二SIFT特征向量计算所述目标小图特征点与所述第一大图特征点之间的第一距离;根据所述目标小图特征点的第一SIFT特征向量和所述第二大图特征点的第二SIFT特征向量计算所述目标小图特征点与所述第二大图特征点之间的第二距离;
S5033、计算所述第一距离与所述第二距离之间的第一比值;
S5034、若所述第一比值小于预设比例阈值,判定所述目标小图特征点与所述第一大图特征点互为匹配点;或,
S5041、确定与目标大图特征点最近的第一小图特征点,以及与所述目标大图特征点次近的第二小图特征点;
S5042、根据所述目标大图特征点的第二SIFT特征向量和所述第一小图特征点的第一SIFT特征向量计算所述目标大图特征点与所述第一小图特征点之间的第三距离;根据所述目标大图特征点的第二SIFT特征向量和所述第二小图特征点的第一SIFT特征向量计算所述目标大图特征点与所述第二小图特征点之间的第四距离;
S5043、计算所述第三距离与所述第四距离之间的第二比值;
S5044、若所述第二比值小于所述预设比例阈值,判定所述目标大图特征点与所述第一小图特征点互为匹配点。
可理解地,在获得小图特征数据和大图特征数据之后,可以从小图特征数据提取小图特征点的第一描述信息,可以从大图特征数据提取大图特征点的第二描述信息。小图特征点使用4×4共16个种子点来描述,这样对于一个小图特征点就可以产生128维的第一SIFT特征向量。同样的,大图特征点可以产生128维的第二SIFT特征向量。
在生成两个图像的SIFT特征向量之后,可以取小图中的目标小图特征点(可以是任意一个小图特征点),并找出其与大图中欧式距离最近的前两个特征点,在这两个特征点中,如果最近的距离(目标小图特征点与最近的大图特征点的距离,即根据两者的坐标差计算欧式距离)除以次近的距离(目标小图特征点与次近的大图特征点的距离)少于某个预设比例阈值,则判定目标大图特征点与第一小图特征点互为匹配点。降低这个比例阈值,匹配点数目会减少,但更加稳定,准确性越高。
同样的,也可以取大图中的目标大图特征点(可以是任意一个大图特征点),采用与目标小图特征点相同的匹配方式,确定大图与小图之间的匹配点。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种页面元素定位装置,该页面元素定位装置与上述实施例中页面元素定位方法一一对应。如图3所示,该页面元素定位装置包括获取模块10、提取小图特征模块20、第一判断模块30、提取大图特征模块40、特征匹配模块50、第二判断模块60和第一确定位置模块70。各功能模块详细说明如下:
获取模块10,用于获取小图和大图;其中,所述小图包括页面元素;所述大图大于所述小图;
提取小图特征模块20,用于从所述小图提取小图特征数据,所述小图特征数据包括第一个数的小图特征点;
第一判断模块30,用于判断所述第一个数是否大于第一阈值;
提取大图特征模块40,用于若所述第一个数大于第一阈值,从所述大图提取大图特征数据;
特征匹配模块50,用关于对所述小图特征数据和所述大图特征数据进行特征匹配,以获得第二个数的匹配点;
第二判断模块60,用于判断所述第二个数是否大于第二阈值;
第一确定位置模块70,用于若所述第二个数大于第二阈值,根据所述匹配点在所述大图中的位置确定所述页面元素在所述大图中的位置。
可选的,页面元素定位装置还包括:
预处理模块,用于若所述第二个数小于或等于所述第二阈值,则对所述小图进行尺寸转换,生成小图转换图像,对所述大图进行尺寸转换,生成大图转换图像;
梯度特征提取模块,用于通过Hog算法处理所述小图转换图像,获得小图轮廓梯度特征;通过Hog算法处理所述大图转换图像,获得大图轮廓梯度特征;
相似度计算模块,用于计算所述小图轮廓梯度特征与所述大图轮廓梯度特征之间的相似度;
第二确定位置模块,用于若所述相似度大于相似度阈值,则输出所述页面元素在所述大图中的位置。
可选的,页面元素定位装置还包括:
第一提示模块,用于若所述相似度小于或等于所述相似度阈值,则输出提示信息,所述提示信息用于提示所述大图不包含所述页面元素。
可选的,页面元素定位装置还包括:
哈希编码计算模块,用于若所述第一个数小于或等于所述第一阈值,则计算所述小图的第一哈希编码,计算所述大图的第二哈希编码;
汉明距离计算模块,用于根据所述第一哈希编码和所述第二哈希编码计算所述大图与所述小图之间的汉明距离;
第三确定位置模块,用于若所述汉明距离小于距离阈值,则输出所述页面元素在所述大图中的位置。
可选的,页面元素定位装置还包括:
第二提示模块,用于若所述汉明距离大于或等于距离阈值,则输出提示信息,所述提示信息用于提示所述大图不包含所述页面元素。
可选的,提取小图特征模块20包括:
构建尺度空间单元,用于构建所述小图的尺度空间;
检测极值点单元,用于在所述尺度空间检测若干极值点;
确定小图特征点单元,用于对所述极值点进行校验,将通过校验的极值点确定为所述小图特征点,并生成所述小图特征点的第一描述信息。
可选的,特征匹配模块50包括:
生成第一向量单元,用于从所述小图特征数据中提取所述小图特征点的第一描述信息,并根据所述第一描述信息生成第一SIFT特征向量;
生成第二向量单元,用于从所述大图特征数据中提取大图特征点的第二描述信息,并根据所述第二描述信息生成第二SIFT特征向量;
选取大图特征点单元,用于确定与目标小图特征点最近的第一大图特征点,以及与所述目标小图特征点次近的第二大图特征点;
第一二距离单元,用于根据所述目标小图特征点的第一SIFT特征向量和所述第一大图特征点的第二SIFT特征向量计算所述目标小图特征点与所述第一大图特征点之间的第一距离;根据所述目标小图特征点的第一SIFT特征向量和所述第二大图特征点的第二SIFT特征向量计算所述目标小图特征点与所述第二大图特征点之间的第二距离;
第一比值单元,用于计算所述第一距离与所述第二距离之间的第一比值;
第一判定匹配点单元,用于若所述第一比值小于预设比例阈值,判定所述目标小图特征点与所述第一大图特征点互为匹配点;或,
选取小图特征点单元,用于确定与目标大图特征点最近的第一小图特征点,以及与所述目标大图特征点次近的第二小图特征点;
第三四距离单元,用于根据所述目标大图特征点的第二SIFT特征向量和所述第一小图特征点的第一SIFT特征向量计算所述目标大图特征点与所述第一小图特征点之间的第三距离;根据所述目标大图特征点的第二SIFT特征向量和所述第二小图特征点的第一SIFT特征向量计算所述目标大图特征点与所述第二小图特征点之间的第四距离;
第二比值单元,用于计算所述第三距离与所述第四距离之间的第二比值;
第二判定匹配点单元,用于若所述第二比值小于所述预设比例阈值,判定所述目标大图特征点与所述第一小图特征点互为匹配点。
关于页面元素定位装置的具体限定可以参见上文中对于页面元素定位方法的限定,在此不再赘述。上述页面元素定位装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括可读存储介质、内存储器。该可读存储介质存储有操作系统、计算机可读指令和数据库。该内存储器为可读存储介质中的操作系统和计算机可读指令的运行提供环境。该计算机设备的数据库用于存储页面元素定位方法所涉及的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机可读指令被处理器执行时以实现一种页面元素定位方法。本实施例所提供的可读存储介质包括非易失性可读存储介质和易失性可读存储介质。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令,处理器执行计算机可读指令时实现以下步骤:
获取小图和大图;其中,所述小图包括页面元素;所述大图大于所述小图;
从所述小图提取小图特征数据,所述小图特征数据包括第一个数的小图特征点;
判断所述第一个数是否大于第一阈值;
若所述第一个数大于第一阈值,从所述大图提取大图特征数据;
对所述小图特征数据和所述大图特征数据进行特征匹配,以获得第二个数的匹配点;
判断所述第二个数是否大于第二阈值;
若所述第二个数大于第二阈值,根据所述匹配点在所述大图中的位置确定所述页面元素在所述大图中的位置。
在一个实施例中,提供了一个或多个存储有计算机可读指令的计算机可读存储介质,本实施例所提供的可读存储介质包括非易失性可读存储介质和易失性可读存储介质。可读存储介质上存储有计算机可读指令,计算机可读指令被一个或多个处理器执行时实现以下步骤:
获取小图和大图;其中,所述小图包括页面元素;所述大图大于所述小图;
从所述小图提取小图特征数据,所述小图特征数据包括第一个数的小图特征点;
判断所述第一个数是否大于第一阈值;
若所述第一个数大于第一阈值,从所述大图提取大图特征数据;
对所述小图特征数据和所述大图特征数据进行特征匹配,以获得第二个数的匹配点;
判断所述第二个数是否大于第二阈值;
若所述第二个数大于第二阈值,根据所述匹配点在所述大图中的位置确定所述页面元素在所述大图中的位置。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一非易失性可读取存储介质或易失性可读存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种页面元素定位方法,其特征在于,包括:
获取小图和大图;其中,所述小图包括页面元素;所述大图大于所述小图;
从所述小图提取小图特征数据,所述小图特征数据包括第一个数的小图特征点;
判断所述第一个数是否大于第一阈值;
若所述第一个数大于第一阈值,从所述大图提取大图特征数据;
对所述小图特征数据和所述大图特征数据进行特征匹配,以获得第二个数的匹配点;
判断所述第二个数是否大于第二阈值;
若所述第二个数大于第二阈值,根据所述匹配点在所述大图中的位置确定所述页面元素在所述大图中的位置。
2.如权利要求1所述的页面元素定位方法,其特征在于,所述判断所述第二个数是否大于第二阈值之后,还包括:
若所述第二个数小于或等于所述第二阈值,则对所述小图进行尺寸转换,生成小图转换图像,对所述大图进行尺寸转换,生成大图转换图像;
通过Hog算法处理所述小图转换图像,获得小图轮廓梯度特征;通过Hog算法处理所述大图转换图像,获得大图轮廓梯度特征;
计算所述小图轮廓梯度特征与所述大图轮廓梯度特征之间的相似度;
若所述相似度大于相似度阈值,则输出所述页面元素在所述大图中的位置。
3.如权利要求2所述的页面元素定位方法,其特征在于,所述计算所述小图轮廓梯度特征与所述大图轮廓梯度特征之间的相似度之后,还包括:
若所述相似度小于或等于所述相似度阈值,则输出提示信息,所述提示信息用于提示所述大图不包含所述页面元素。
4.如权利要求1所述的页面元素定位方法,其特征在于,所述判断所述第一个数是否大于第一阈值之后,还包括:
若所述第一个数小于或等于所述第一阈值,则计算所述小图的第一哈希编码,计算所述大图的第二哈希编码;
根据所述第一哈希编码和所述第二哈希编码计算所述大图与所述小图之间的汉明距离;
若所述汉明距离小于距离阈值,则输出所述页面元素在所述大图中的位置。
5.如权利要求4所述的页面元素定位方法,其特征在于,所述根据所述第一哈希编码和所述第二哈希编码计算所述大图与所述小图之间的汉明距离之后,还包括:
若所述汉明距离大于或等于距离阈值,则输出提示信息,所述提示信息用于提示所述大图不包含所述页面元素。
6.如权利要求1所述的页面元素定位方法,其特征在于,所述从所述小图提取小图特征数据,所述小图特征数据包括第一个数的小图特征点,包括:
构建所述小图的尺度空间;
在所述尺度空间检测若干极值点;
对所述极值点进行校验,将通过校验的极值点确定为所述小图特征点,并生成所述小图特征点的第一描述信息。
7.如权利要求1所述的页面元素定位方法,其特征在于,所述对所述小图特征数据和所述大图特征数据进行特征匹配,以获得第二个数的匹配点,包括:
从所述小图特征数据中提取所述小图特征点的第一描述信息,并根据所述第一描述信息生成第一SIFT特征向量;
从所述大图特征数据中提取大图特征点的第二描述信息,并根据所述第二描述信息生成第二SIFT特征向量;
确定与目标小图特征点最近的第一大图特征点,以及与所述目标小图特征点次近的第二大图特征点;
根据所述目标小图特征点的第一SIFT特征向量和所述第一大图特征点的第二SIFT特征向量计算所述目标小图特征点与所述第一大图特征点之间的第一距离;根据所述目标小图特征点的第一SIFT特征向量和所述第二大图特征点的第二SIFT特征向量计算所述目标小图特征点与所述第二大图特征点之间的第二距离;
计算所述第一距离与所述第二距离之间的第一比值;
若所述第一比值小于预设比例阈值,判定所述目标小图特征点与所述第一大图特征点互为匹配点;或,
确定与目标大图特征点最近的第一小图特征点,以及与所述目标大图特征点次近的第二小图特征点;
根据所述目标大图特征点的第二SIFT特征向量和所述第一小图特征点的第一SIFT特征向量计算所述目标大图特征点与所述第一小图特征点之间的第三距离;根据所述目标大图特征点的第二SIFT特征向量和所述第二小图特征点的第一SIFT特征向量计算所述目标大图特征点与所述第二小图特征点之间的第四距离;
计算所述第三距离与所述第四距离之间的第二比值;
若所述第二比值小于所述预设比例阈值,判定所述目标大图特征点与所述第一小图特征点互为匹配点。
8.一种页面元素定位装置,其特征在于,包括:
获取模块,用于获取小图和大图;其中,所述小图包括页面元素;所述大图大于所述小图;
提取小图特征模块,用于从所述小图提取小图特征数据,所述小图特征数据包括第一个数的小图特征点;
第一判断模块,用于判断所述第一个数是否大于第一阈值;
提取大图特征模块,用于若所述第一个数大于第一阈值,从所述大图提取大图特征数据;
特征匹配模块,用关于对所述小图特征数据和所述大图特征数据进行特征匹配,以获得第二个数的匹配点;
第二判断模块,用于判断所述第二个数是否大于第二阈值;
第一确定位置模块,用于若所述第二个数大于第二阈值,根据所述匹配点在所述大图中的位置确定所述页面元素在所述大图中的位置。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时实现如权利要求1至7中任一项所述页面元素定位方法。
10.一个或多个存储有计算机可读指令的可读存储介质,所述计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1至7中任一项所述页面元素定位方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210505269.XA CN114936119A (zh) | 2022-05-10 | 2022-05-10 | 页面元素定位方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210505269.XA CN114936119A (zh) | 2022-05-10 | 2022-05-10 | 页面元素定位方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114936119A true CN114936119A (zh) | 2022-08-23 |
Family
ID=82865238
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210505269.XA Pending CN114936119A (zh) | 2022-05-10 | 2022-05-10 | 页面元素定位方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114936119A (zh) |
-
2022
- 2022-05-10 CN CN202210505269.XA patent/CN114936119A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Escalera et al. | Blurred shape model for binary and grey-level symbol recognition | |
CN110956171A (zh) | 铭牌自动识别方法、装置、计算机设备和存储介质 | |
CN109343920B (zh) | 一种图像处理方法及其装置、设备和存储介质 | |
US11714921B2 (en) | Image processing method with ash code on local feature vectors, image processing device and storage medium | |
CN112418278A (zh) | 一种多类物体检测方法、终端设备及存储介质 | |
CN111783770B (zh) | 图像的矫正方法、装置和计算机可读存储介质 | |
CN112613506A (zh) | 图像中的文本识别方法、装置、计算机设备和存储介质 | |
CN112396047B (zh) | 训练样本生成方法、装置、计算机设备和存储介质 | |
CN114898357B (zh) | 缺陷识别方法、装置、电子设备及计算机可读存储介质 | |
CN111179270A (zh) | 基于注意力机制的图像共分割方法和装置 | |
CN110942473A (zh) | 一种基于特征点网格化匹配的运动目标跟踪检测方法 | |
CN113111880A (zh) | 证件图像校正方法、装置、电子设备及存储介质 | |
JP2017129990A (ja) | 画像認識装置、画像認識方法、及び画像認識プログラム | |
CN109961103B (zh) | 特征提取模型的训练方法、图像特征的提取方法及装置 | |
CN113704276A (zh) | 地图更新方法、装置、电子设备及计算机可读存储介质 | |
CN115797291B (zh) | 回路端子的识别方法、装置、计算机设备和存储介质 | |
CN113536875A (zh) | 证件图像识别方法、装置、计算机设备和存储介质 | |
CN112348008A (zh) | 证件信息的识别方法、装置、终端设备及存储介质 | |
Climer et al. | Local lines: A linear time line detector | |
CN111552751A (zh) | 三维地标控制点生成及应用方法、生成及应用装置 | |
CN114220103B (zh) | 图像识别方法、装置、设备及计算机可读存储介质 | |
CN108304838B (zh) | 一种图片信息识别方法及终端 | |
CN114936119A (zh) | 页面元素定位方法、装置、计算机设备及存储介质 | |
Wang et al. | Oil tank detection via target-driven learning saliency model | |
CN112287763A (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 |