CN116883698A - 一种图像对比方法及相关装置 - Google Patents

一种图像对比方法及相关装置 Download PDF

Info

Publication number
CN116883698A
CN116883698A CN202311150661.8A CN202311150661A CN116883698A CN 116883698 A CN116883698 A CN 116883698A CN 202311150661 A CN202311150661 A CN 202311150661A CN 116883698 A CN116883698 A CN 116883698A
Authority
CN
China
Prior art keywords
image
data
pixel
feature
determining
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
Application number
CN202311150661.8A
Other languages
English (en)
Other versions
CN116883698B (zh
Inventor
钟子意
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202311150661.8A priority Critical patent/CN116883698B/zh
Publication of CN116883698A publication Critical patent/CN116883698A/zh
Application granted granted Critical
Publication of CN116883698B publication Critical patent/CN116883698B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/32Normalisation of the pattern dimensions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation 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/757Matching configurations of points or features

Abstract

本申请实施例公开了一种图像对比方法及相关装置,所述方法包括:获取待对比的第一图像和第二图像;根据第一图像中各像素的通道数据和第二图像中各像素的通道数据,确定第一图像与第二图像的像素级对比数据;像素级对比数据用于表征第一图像与第二图像在像素级别的相似度;根据第一图像对应的第一描述特征和第二图像对应的第二描述特征,确定第一图像与第二图像的特征级对比数据;特征级对比数据用于表征第一图像与第二图像在特征级别的相似度;基于像素级对比数据和特征级对比数据,确定第一图像与第二图像的相似性对比结果。本申请能够从像素维度和特征维度对第一图像和第二图像进行细致、准确的对比,提高图像对比的准确性。

Description

一种图像对比方法及相关装置
技术领域
本申请涉及计算机技术领域,尤其涉及一种图像对比方法及相关装置。
背景技术
如今,在很多业务中均需要执行图像对比任务,通过对比两张图像是否相似,来为相关业务提供反馈信息。例如,在应用程序的自动化测试业务中,可以对所测试的应用程序执行自动化操作,获取执行完该操作后的界面截图,然后将该界面截图与该操作对应的标准界面图像进行对比,根据该对比结果确定所测试的应用程序是否存在问题。
相关技术中目前用于进行图像对比的方法普遍性能较差,对于图像中的细节性差异通常无法准确地判断,相应地,往往难以得出准确的图像相似性对比结果。
发明内容
本申请实施例提供了一种图像对比方法及相关装置,能够从像素维度和特征维度对第一图像和第二图像进行细致、准确的对比,提高图像对比的准确性。
有鉴于此,本申请第一方面提供了一种图像对比方法,所述方法包括:
获取待对比的第一图像和第二图像;
根据所述第一图像中各像素的通道数据和所述第二图像中各像素的通道数据,确定所述第一图像与所述第二图像的像素级对比数据;所述像素级对比数据用于表征所述第一图像与所述第二图像在像素级别的相似度;
根据所述第一图像对应的第一描述特征和所述第二图像对应的第二描述特征,确定所述第一图像与所述第二图像的特征级对比数据;所述特征级对比数据用于表征所述第一图像与所述第二图像在特征级别的相似度;
基于所述像素级对比数据和所述特征级对比数据,确定所述第一图像与所述第二图像的相似性对比结果。
本申请第二方面提供了一种图像对比装置,所述装置包括:
图像获取模块,用于获取待对比的第一图像和第二图像;
像素对比模块,用于根据所述第一图像中各像素的通道数据和所述第二图像中各像素的通道数据,确定所述第一图像与所述第二图像的像素级对比数据;所述像素级对比数据用于表征所述第一图像与所述第二图像在像素级别的相似度;
特征对比模块,用于根据所述第一图像对应的第一描述特征和所述第二图像对应的第二描述特征,确定所述第一图像与所述第二图像的特征级对比数据;所述特征级对比数据用于表征所述第一图像与所述第二图像在特征级别的相似度;
结果确定模块,用于基于所述像素级对比数据和所述特征级对比数据,确定所述第一图像与所述第二图像的相似性对比结果。
本申请第三方面提供了一种计算机设备,所述设备包括处理器和存储器:
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序,执行如上述第一方面所述的方法的步骤。
本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述第一方面所述的方法的步骤。
本申请第五方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述第一方面所述的方法的步骤。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例提供了一种图像对比方法,在该图像对比方法中,首先获取待对比的第一图像和第二图像,并根据该第一图像中各像素的通道数据和第二图像中各像素的通道数据,确定第一图像与第二图像的像素级对比数据,通过像素级对比数据表征第一图像与第二图像在像素级别的相似度;根据第一图像的第一描述特征、第二图像的第二描述特征,来确定第一图像与第二图像的特征级对比数据,通过该特征级对比数据表征第一图像与第二图像在特征级别的相似度;然后基于像素级对比数据和特征级对比数据这两个维度的数据,最终确定第一图像与第二图像的相似性对比结果。在上述图像对比方法中,充分利用图像中不同维度的特征数据,通过第一图像和第二图像的像素级对比数据和特征级对比数据两个维度的对比数据,来确定第一图像与第二图像是否相似,其中,基于像素级对比数据能够在第一图像和第二图像之间进行像素级别的细致对比,基于特征级对比数据能够准确对比第一图像和第二图像中的图像特征,因此通过本申请提供的图像对比方法,分别从像素维度和特征维度对第一图像和第二图像进行细致、准确的对比,能够获得准确的图像相似性对比结果,满足了对图像对比准确性的需求,提高了图像对比的准确性。
附图说明
图1为本申请实施例提供的一种图像对比方法的应用场景示意图;
图2为本申请实施例提供的一种图像对比方法的方法流程图;
图3为本申请实施例提供的图像预处理效果图;
图4为本申请实施例提供的特征匹配示意图;
图5为本申请实施例提供的像素级对比效果示意图;
图6为本申请实施例提供的特征级对比效果示意图;
图7为本申请场景实施例提供的图像对比方法的方法流程图;
图8为本申请实施例提供的界面图像显示效果图;
图9为本申请实施例提供的一种图像对比装置的结构示意图;
图10为本申请实施例提供的终端设备的结构示意图;
图11为本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、预训练模型技术、操作/交互系统、机电一体化等。其中,预训练模型又称大模型、基础模型,经过微调后可以广泛应用于人工智能各大方向下游任务。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
计算机视觉技术(Computer Vision,CV)是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。大模型技术为计算机视觉技术发展带来重要变革,swin-transformer,ViT,V-MOE,MAE等视觉领域的预训练模型经过微调(finetune)可以快速、广泛适用于下游具体任务。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
本申请实施例提供的方案涉及人工智能的计算机视觉技术,具体通过如下实施例进行说明:
相关技术中,通常使用单一的特征数据进行图像对比,但是这种图像对比的方法普遍性能较差,无法对图像中的一些细节差异进行准确地判断,这种基于单一特征数据对比所获得的图像对比结果的准确性较差。
为了解决上述问题,本申请实施例提供了一种图像对比方法,在该图像对比方法中,首先获取待对比的第一图像和第二图像,并根据该第一图像中各像素的通道数据和第二图像中各像素的通道数据,确定第一图像与第二图像的像素级对比数据,通过像素级对比数据表征第一图像与第二图像在像素级别的相似度;根据第一图像的第一描述特征、第二图像的第二描述特征,来确定第一图像与第二图像的特征级对比数据,通过该特征级对比数据表征第一图像与第二图像在特征级别的相似度;然后基于像素级对比数据和特征级对比数据这两个维度的数据,最终确定第一图像与第二图像的相似性对比结果。在上述图像对比方法中,充分利用图像中不同维度的特征数据,通过第一图像和第二图像的像素级对比数据和特征级对比数据两个维度的对比数据,来确定第一图像与第二图像是否相似,其中,基于像素级对比数据能够在第一图像和第二图像之间进行像素级别的细致对比,基于特征级对比数据能够准确对比第一图像和第二图像中的图像特征,因此通过本申请提供的图像对比方法,分别从像素维度和特征维度对第一图像和第二图像进行细致、准确的对比,能够获得准确的图像相似性对比结果,满足了对图像对比准确性的需求,提高了图像对比的准确性。
本申请实施例所提供的图像对比方法可以通过计算机设备实施,该计算机设备可以是终端设备或服务器。终端设备包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端等。服务器可以是独立的物理服务器,也可以是由多个物理服务器构成的服务器集群或者分布式系统,还可以是云服务器。终端设备可以通过有线或无线通信方式与服务器进行直接或间接地连接,本申请在此不做限制。
为了便于理解本申请实施例提供的图像对比方法,下面以图像对比方法的执行主体为终端设备为例,对该图像对比方法的应用场景进行示例性介绍。
参见图1,图1为本申请实施例提供的一种图像对比方法的应用场景示意图。在图1所示的场景中,以终端设备100作为前述用于执行本申请实施例提供的图像对比方法的计算机设备为例进行说明。
在实际应用时,图像对比可以用于终端设备的应用程序测试场景中。为了对终端设备中的应用程序进行自动化测试,对该应用程序执行自动化操作,获取执行完成该操作后该应用程序的界面截图,然后将该界面截图与该操作对应的标准界面图像进行对比,根据两张图像的对比结果,确定目标应用是否成功执行自动化测试中的操作,并以此来判断所测试的应用程序是否存在问题。参见图1所示,在进行图像对比之前,首先从终端设备100中,获得所测试的应用程序执行自动化操作后的界面截图,以及该自动化操作对应的标准界面图像。
如图1所示,当针对所测试的应用程序执行的自动化操作为进入工作台界面时,在该应用程序执行完成进入工作台界面这一操作后,截取此时终端设备100中所显示的图像,获得该应用程序执行完成该自动化操作后的应用截图。同时,获取该应用程序中该自动化操作对应的标准界面图像,在应用程序测试场景中,往往会将所测试的应用程序在正确执行各个自动化操作后的界面保存为标准界面图像,若界面截图与标准界面图像相同或相似程度较高,那么就可以确定该应用程序正确执行了对应的自动化操作。那么,为了确定前述界面截图与标准界面图像是否相同,需要对界面截图和标准界面图像进行图像对比,以此来判断所测试的应用程序是否正确执行了进入工作台界面这一操作。
将前述界面截图和标准界面图像分别作为图像对比的第一图像和第二图像,形成此次图像对比所使用的图像对。在此次图像对比过程中,图像对中的第一图像、第二图像互为参照进行对比,以确定第一图像与第二图像是否相似。
在获取图像对后,从该图像对中的第一图像和第二图像中分别提取用于图像对比的数据。在本申请实施例中,提供了像素维度和特征维度两种不同维度的特征数据。在像素维度中,获取第一图像、第二图像各自对应的通道数据,并从第一图像、第二图像中分别提取各个像素所对应的通道数据,根据第一图像和第二图像中所有像素的通道数据,生成第一图像与第二图像的像素级对比数据。
在特征级别上,根据第一图像中的第一描述特征和第二图像中的第二描述特征,来确定第一图像与第二图像的特征级对比数据。其中,第一描述特征和第二描述特征用于描述第一图像与第二图像中的图像特征,例如图像的颜色特征、纹理特征、形状特征和空间关系特征。在图1所示的第一图像和第二图像中,工作台界面中包括多个功能模块,并且各个功能模块都有对应的文字或图标来描述各个功能模块对应的功能,这些功能模块以及功能模块中的文字、图标的颜色、纹理、形状、位置关系、连接关系等,皆为第一图像和第二图像中的图像特征。
获得像素级对比数据和特征级对比数据这两种维度的对比数据后,通过像素级对比数据,来对比第一图像与第二图像像素之间的差异,当第一图像与第二图像像素之间的差异越小时,第一图像与第二图像的相似程度越高;通过特征级对比数据,来对比第一图像与第二图像中各个图像特征之间的差异,当第一图像与第二图像中出现的相同的图像特征越多时,第一图像与第二图像之间的相似程度也越高。通过像素级对比数据和特征级对比数据,确定此次图像对比的图像对中,第一图像与第二图像之间的相似度结果。若该相似度结果表示第一图像与第二图像相似,那么就可以确定所测试的应用程序能够正确执行进入工作台界面的操作;否则,确定所测试的应用程序无法正确执行进入工作台界面的操作。
也就是说,在终端设备100中,通过采集需要进行图像对比的第一图像和第二图像,生成此次图像对比的图像对,从图像对中分别提取第一图像图像和第二图像的像素级对比数据、特征级对比数据,基于这两者不同维度的数据进行细致、准确的图像对比,获得了更加准确的相似度对比结果,提高了图像对比的准确性。
需要说明的是,本申请实施例提供的图像对比方法除了可以应用在上述应用程序测试场景外,也可以应用在其他需要进行图像对比的场景中,本申请实施例对此不做限定。
参见图2,图2为本申请实施例提供的一种图像对比方法的方法流程图,该方法可以由终端设备作为前述计算机设备执行。如图2所示,所述图像渲染方法具体包括如下步骤:
步骤201:获取待对比的第一图像和第二图像。
第一图像和第二图像是此次图像对比过程中互为参照的两个图像。在本申请实施例中,将第一图像和第二图像放在一起,用比较的方法加以描述和说明,来确定第一图像和第二图像中是否描述了相同的内容。
在进行图像对比时,首先需要获取用于此次图像对比的第一图像和第二图像。在终端设备中,获取图像的方式多种多样,例如,从存储数据的数据库中调取存储的图像,直接在终端设备中进行屏幕截图获取当前屏幕中显示的图像,根据终端设备中应用程序的运行数据生成图像等等。本申请实施例中,第一图像和第二图像可以是通过直接从终端设备中进行屏幕截图获得的,也可以是根据终端设备中应用程序的运行数据生成的,还可以通过其他方式获得第一图像和第二图像,本申请对此不做具体限定。
另外,在终端设备中执行本申请实施例提供的图像对比方法时,第一图像和第二图像的获取方式可以相同也可以不同,例如,在测试应用程序的场景中,第一图像可以通过屏幕截图的方式获得,而第二图像可以直接从数据库中获得。
在一种可能的实现方式中,步骤201可以通过如下方式实现:
步骤11:获取第一原始图像和第二原始图像。
步骤12:在所述第一原始图像和所述第二原始图像中确定一个原始图像作为基础图像,并确定另一个原始图像作为待修正图像。
步骤13:基于所述基础图像对所述待修正图像进行预处理,得到修正后图像。
第一原始图像和第二原始图像是需要进行图像对比的两张图像的初始状态。在进行图像对比时,首先获得需要进行对比的两张原始图像,即第一原始图像和第二原始图像。其中,第一原始图像和第二原始图像的获取可以参照前述第一图像和第二图像的获取方式,也可以采取其他获取方式,本申请对此不做具体限定。
由于图像对比之前,获取到的第一原始图像与第二原始图像中,尺寸、颜色、位置等各项参数可能不同,所以为了便于图像对比,需要通过图像预处理的方式,对第一原始图像与第二原始图像的各项参数进行预处理,使得处理后的两张图像为尺寸、颜色、位置等参数均相同的图像。在图像对比时,相较于参数不同的两张图像,对参数相同的两张图像进行对比时,可以直接基于两张图像中相同位置的像素、图像特征进行准确对比,图像对比的效率会更高。
因此,为了将第一原始图像和第二原始图像调整为参数相同的两张图像,以第一原始图像和第二原始图像中的一个作为基础图像,以另外一个作为待修正图像,以基础图像的各项参数作为基准,对待修正图像进行预处理,将待修正图像的各项参数调整至与基础图像的各项参数相同,获得修正后图像。其中,修正后图像的尺寸、颜色、位置等参数均与基础图像相同。
具体地,在基于基础图像对待修正图像进行处理时,可以从图像尺寸、图像通道和图像位置三个方面进行处理,此时,步骤13可以通过如下方式实现:
步骤21:当所述待修正图像与所述基础图像尺寸不同时,对所述待修正图像进行空间重采样处理,将所述待修正图像的尺寸调整为所述基础图像的尺寸。
由于不同终端设备的显示屏幕尺寸可能不同,所以从不同终端设备获得动第一原始图像和第二原始图像的尺寸也可能不同;从第一原始图像和第二原始图像中确定出基础图像和待修正图像后,基础图像与待修正图像的尺寸可能不同,因此,需要基于基础图像的尺寸,对待修正图像的进行尺寸一致化调整。
具体地,对于待修正图像尺寸的转换,可以使用cv2.resize()函数以指定的插值方法对待修正图像进行空间重采样处理,将待修正图像的宽和高调整成与基础图像的宽和高相同。
步骤22:当所述待修正图像与所述基础图像颜色通道不同时,采用颜色通道转换算法,对所述待修正图像进行通道转换处理,将所述待修正图像的颜色通道调整为所述基础图像的颜色通道。
由于基础图像和待修正图像中的颜色可能不同,那么基础图像与待修正图像各自对应的颜色通道也可能不同,例如,当基础图像为RGB图像,而待修正图像为灰度图像时,在基础图像中各像素的通道数据包括红、绿、蓝三个颜色通道承载的颜色值,而待修正图像中各像素的通道数据仅包括一个颜色通道承载的颜色值,这样,在进行图像对比时,还需要将基础图像中各像素的通道数据与待修正图像中各像素的通道数据转换为同一种数据才能进行对比,图像对比效率较低。因此,为了提高图像对比的效率,可以在图像预处理阶段对待修正图像进行通道转换处理,将待修正图像转换为与基础图像的颜色通道相同的图像。
具体地,当待修正图像与基础图像颜色通道不同时,可以使用cv2.cvtColor()函数对待修正图像进行通道转换。
步骤23:基于尺寸相同且颜色通道相同的所述待修正图像和所述基础图像,确定图像变换矩阵;利用所述图像变换矩阵对所述待修正图像进行像素位置变换处理,得到所述修正后图像。
当待修正图像与基础图像的尺寸、颜色通道均相同时,以应用程序测试的场景为例,当待修正图像与基础图像对应的终端设备界面中存在滑动区域时,由于自动化操作执行过程中,对于滑动区域的执行的滑动距离可能都不相同,即使待修正图像与基础图像都对应于所测试应用程序的相同界面,二者所显示的各个图标、文字、符号等的位置可能并不相同。因此对于尺寸相同且颜色通道相同的待修正图像和基础图像,还需要进行图像对齐处理。
在图像对齐处理的过程中,根据待修正图像和基础图像中各个符号、文字、图标等的位置,确定出图像变换矩阵,基于该图像变换矩阵对待修正图像进行像素位置变换处理,将待修正图像中出现的各个特征与基础图像中的对应特征一一对齐,得到修正后的图像。在修正后的图像中,不仅图像的尺寸、颜色通道与基础图像相同,图像中所出现的用于识别的各个特征的位置也与基础图像中对应特征的位置相同。
参见图3,图3为本申请实施例提供的图像预处理效果图。
首先,从获取到的第一原始图像和第二原始图像中确定出基础图像和待修正图像,在图3中,以第一原始图像作为基础图像,第二原始图像作为待修正图像。由于基础图像与待修正图像的尺寸并不相同,所以基于基础图像对待修正图像进行尺寸一致化处理,使得待修正图像的尺寸与基础图像的尺寸相同。
然后,由于基础图像为RGB图像,其中各个像素的通道数据都承载了三个颜色通道的颜色值,而待修正图像为灰度图像,其中各个像素的通道数据仅承载有一个颜色通道的颜色值,所以基于基础图像中各像素的通道数据,将待修正图像的颜色通道转换为与基础图像相同的颜色通道。
当基础图像与待修正图像的尺寸、通道均相同后,由于待修正图像中,工作台界面中的各个功能模块以及图标的位置,与基础图像中各个功能模块及图标的位置并不相同,所以需要基于基础图像确定待修正图像的图像变换矩阵,并利用该图像变换矩阵对待修正图像进行像素位置变换处理,将待修正图像的各个像素整体向下平移,获得修正后图像,使得修正后图像中的各个功能模块及图标的位置与基础图像中各个功能模块及图标的位置相同。
基于基础图像,对待修正图像的尺寸、颜色通道、像素位置进行调整,使得修正后图像与修正图像的尺寸、颜色通道均相同,并且使得修正后图像中的各个特征的位置也与基础图像中对应特征的位置相同,以提高后续基于修正后图像和基础图像进行图像对比的准确性。
在一种可能的实现方式中,步骤23中的图像变换矩阵可以通过如下方式确定:
步骤31:通过ORB特征检测器,对所述基础图像和所述待修正图像进行检测处理,得到所述基础图像中的各第三关键点及其各自对应的点特征、以及所述待修正图像中的各第四关键点及其各自对应的点特征;
步骤32:根据各所述第三关键点及其各自对应的点特征、以及各所述第四关键点及其各自对应的点特征,确定匹配关键点对;
步骤33:基于所述匹配关键点对包括的所述第三关键点和所述第四关键点,确定所述图像变换矩阵。
其中,ORB(Oriented FAST and Rotated BRIEF)是一种快速特征点提取和描述的算法。通过ORB特征提取器,在图像中所提取出的关键点是图像中灰度变化较大的点,也就是图像中各区域的边界点,并且,通过ORB特征提取器从图像中提取出的关键点不会随图像的尺寸或角度发生变化。使用ORB特征检测器对基础图像和待修正图像进行特征检测,从中提取出基础图像中各第三关键点及其各自对应的点特征,以及待修正图像中的各第四关键点及其各自对应的点特征。
根据基础图像中的各第三关键点及其各自对应的点特征,以及待修正图像中的各第四关键点及其各自对应的点特征,进行关键点的匹配,确定各个第三关键点和各个第四关键点之间的匹配关系,将满足预设匹配条件的第三关键点和第四关键点确定为相互匹配的关键点,并将相互匹配的第三关键点和第四关键点确定为一个匹配关键点对。在匹配关键点对中,包括一个第三关键点和一个第四关键点,并且,一个匹配关键点对中的第三关键点和第四关键点各自对应的点特征之间满足预设匹配条件。其中,预设匹配条件是根据第三关键点对应的点特征和第四关键点对应的点特征,将第三关键点与第四关键点进行匹配的匹配条件。举例来说,当点特征为特征值时,通过预设匹配条件,将特征值相同或相近的第三关键点和第四关键点进行匹配,对于一个第三关键点,可能确定出多个与其相同或相似的第四关键点,那么将各个对应的第四关键点按照其与该第三关键的匹配度进行排序,利用预设匹配条件,从多个第四关键点中筛选出匹配度最高的一个,与第三关键点组成匹配关键点对。
基于匹配关键点对中,第三关键点在基础图像中的位置和第四关键点在待修正图像中的位置,计算通过何种位置变换方法,能够使得第四关键点在待修正图像中的位置与第三关键点在基础图像中的位置相同,并基于这种位置变换方法生成对待修正图像进行像素位置变换的图像变换矩阵。
参见图4,图4为本申请实施例提供的特征匹配示意图。以对基础图像和待修正图像中的文字进行检测并匹配为例,通过ORB检测器,分别检测基础图像和待修正图像中工作台界面各功能模块中的文字,提取出基础图像中文字对应的各第三关键点及其各自对应的点特征,以及待修正图像中文字对应的各第四关键点及其各自对应的点特征。根据预设匹配条件,将各个第三关键点和各个第四关键点进行匹配,当一个第三关键点与多个第四关键点匹配时,例如图4中,基础图像中“客服”功能模块中的“服”对应的第三关键点,既与待修正图像中“客服”功能模块中的“服”对应的第四关键点匹配,又与待修正图像中“服务”功能模块中的“服”对应的第四关键点匹配,那么此时则将这两个第四关键点按照与该第三关键点之间的匹配度进行排列,利用预设匹配条件,从中筛选出与第三关键点之间匹配度最高的第四关键点,即,将待修正图像中“客服”功能模块中的“服”对应的第四关键点与该第三关键点进行匹配,生成匹配关键点对,并根据第三关键点在基础图像中的位置调整对应第四关键点在待修正图像中的位置,基于这一调整过程,确定针对待修正图像进行调整的图像变换矩阵。
通过ORB特征提取器提取出基础图像中各第三关键点及其各自对应的点特征,以及待修正图像中的各第四关键点及其各自对应的点特征,并进行第三特征点和第四特征点的匹配,获得针对待修正图像的图像变换矩阵,能够将待修正图像中第四特征点的位置与基础图像中第三特征点的位置进行准确对应,有利于提高图像对比的对比效率和准确性。
步骤14:将所述基础图像和所述修正后图像作为所述第一图像和所述第二图像。
经过前述图像预处理步骤,获得修正后图像之后,基础图像与修正后图像的各个参数已经被调整为相同值,此时可以将基础图像和修正后图像作为进行图像对比的第一图像和第二图像,启动对于第一图像和第二图像的图像对比操作。
通过图像预处理,以第一原始图像和第二原始图像中的一个作为基础图像,来调整另外一个待修正图像,使得修正后图像与基础图像的各项参数均相同,基于参数相同的两张图像进行图像对比,能够提高后续图像对比过程的效率和准确性。
步骤202:根据所述第一图像中各像素的通道数据和所述第二图像中各像素的通道数据,确定所述第一图像与所述第二图像的像素级对比数据。
其中,像素级对比数据用于表征所述第一图像与所述第二图像在像素级别的相似度。像素是图像显示的基本单位,每个像素都是对图像的一个抽象的取样。像素通常通过点或方块的形式进行显示,这些点或方块组合在一起,形成一幅完整的图像,但是当图像中的像素足够多时,图像中的像素可以在视觉感受上看起来并不是分离的点或者方块。本申请实施例中的第一图像和第二图像均由多个像素组成,每个像素都有各自的颜色值,这些颜色值可以通过图像通道数据来承载。
在数字图像处理中,图像通道是指一个图像中的颜色信息被分离为不同的颜色分量,常见的图像通道包括RGB通道、灰度通道等。以RGB通道的图像为例,在RGB图像中,各个像素的颜色是根据红色(Red,R)、绿色(Green,G)和蓝色(Blue,B)红色、绿色和蓝色三个颜色分量来确定的,每一个像素中都保存有红色、绿色和蓝色三个颜色通道的通道数据,这三个颜色通道的通道数据共同组成一个像素对应的通道数据。由于一幅完整的RGB图像是由多个像素组成的,所以RGB图像中各个像素的通道数据共同构成了该图像的通道数据。
在本申请实施例中,为了对比第一图像与第二图像,就可以根据第一图像中各个像素的通道数据和第二图像中各个像素的通道数据,来确定第一图像与第二图像的像素级对比数据。在该像素级对比数据中,将第一图像与第二图像相同位置的像素进行对应,根据相同位置的像素中所存储的通道数据之间的差异,来确定相同位置的像素是否相同,进而根据第一图像与第二图像中各对位置相同的像素之间的差异,来综合确定第一图像与第二图像在像素维度的相似程度。
在一种可能的实现方式中,步骤202可以通过如下方式实现:
步骤41:针对所述第一图像和所述第二图像中的每个像素,根据所述像素的各个颜色通道数据,确定所述像素对应的代表通道数据。
在获得第一图像和第二图像后,根据第一图像中各像素的通道数据和第二图像中各像素的通道数据,可以确定各个像素对应的颜色通道数据,然后针对第一图像和第二图像中的每个像素,都基于其对应的颜色通道数据来计算该像素所对应的代表通道数据。由于第一图像和第二图像中的颜色通道可能相同、也可能不同,所以为了便于进行图像处理,以代表通道数据来描述第一图像和第二图像中的各像素的颜色通道数据。
代表通道数据是一个单通道数据,用于描述第一图像中各像素通道数据和第二图像中各像素通道数据的一个综合数据。也就是说,若第一图像为RGB图像,而第二图像为灰度图像,那么需要根据第一图像中各像素在R、G、B三个颜色通道所承载的颜色值,综合计算出各像素的代表通道所承载的颜色值,作为各像素的代表通道数据;其中,代表通道所承载的颜色值,可以是各像素在三个颜色通道所承载颜色值的均值。而对于第二图像来说,由于灰度图像本身就是单通道图像,所以可以直接将第二图像中个像素的通道数据作为其代表通道数据。换句话说,在确定第一图像和第二图像中各像素对应的代表通道数据时,可以将第一像素和第二像素分别转换为灰度图像,并将转换后灰度图像所对应的单通道数据,作为代表通道数据。
步骤42:根据所述第一图像中各像素各自对应的代表通道数据和所述第二图像中各像素各自对应的代表通道数据,确定峰值信噪比数据和结构一致性数据中的至少一种,作为所述像素级对比数据。
峰值信噪比(Peak Signal to Noise Ratio,PSNR)是一个表示信号最大可能功率和影响信号表示精度的破坏性噪声功率的比值的工程术语。峰值信噪比是基于图像像素灰度值进行统计分析,并基于对应像素之间的差异来衡量图像间的相似度,当峰值信噪比越大时,图像越相似。在本申请实施例中,基于第一图像中各像素各自对应的代表通道数据和第二图像中各像素各自对应的代表通道数据计算峰值信噪比,确定第一图像与第二图像中各对位置相同的像素之间的差异。当第一图像与第二图像中各对位置相同的像素之间的差异越小时,计算出的峰值信噪比越大,第一图像与第二图像越相似。
结构一致性(Structural Similarity,SSIM)是一种衡量两幅图像相似度的指标,其原理是将两张图像通过亮度、对比度和结构三个维度进行对比,来计算两张图像的相似度。其中,结构一致性的值的范围为0至1,当两张图像的相似程度越高时,结构一致性的值越接近1,当两张图像完全相同时,结构一致性的值等于1。
峰值信噪比和结构一致性都是针对图像相似度在像素级别的评价指标,那么在确定第一图像与第二图像的像素级对比数据时,可以根据第一图像中各像素各自对应的代表通道数据和第二图像中各像素各自对应的代表通道数据,将第一图像与第二图像之间的峰值信噪比数据和结构一致性数据中的一种或多种,作为第一图像与第二图像的像素级对比数据。即,本申请实施例中,既可以将第一图像与第二图像之间的峰值信噪比数据作为第一图像与第二图像的像素级对比数据,也可以将第一图像与第二图像之间的结构一致性数据作为第一图像与第二图像的像素级对比数据,还可以将前述峰值信噪比数据和结构一致性数据同时作为第一图像与第二图像的像素级对比数据,本申请实施例对此不做具体限定。
基于第一图像中各像素对应的代表通道数据和第二图像中的各像素对应的代表通道数据,确定峰值信噪比数据和结构一致性数据中的至少一种作为像素级对比数据,在像素级别实现了对图像之间各个像素的细致对比,提高了第一图像与第二图像在像素级别对比的准确性。
作为一种实施例,所述峰值信噪比数据可以通过以下方式确定:
步骤51:根据所述第一图像中各像素各自对应的代表通道数据和所述第二图像中各像素各自对应的代表通道数据,计算均方误差;
步骤52:根据每个所述像素的比特数和所述均方误差,计算所述峰值信噪比数据。
在确定峰值信噪比数据的过程中,第一图像中各像素各自对应的代表通道数据和第二图像中各像素各自对应的代表通道数据之间的均方误差(Mean Square Error,MSE)可以通过如下公式计算:
其中,为上述均方误差,/>分别为两张单色图像(即灰度图像)的高度、宽度,/>分别为用于图像对比的第一图像和第二图像,/>用于描述图像中各个像素的位置。
在获得均方误差后,再根据第一图像、第二图像中每个像素的比特数和该均方误差,来计算第一图像和第二图像之间的峰值信噪比数据,具体计算公式如下式所示:
其中,为第一图像和第二图像之间的峰值信噪比数据,/>为每个像素的比特数,一般取值为8,即像素灰阶数/>为256。
通过计算第一图像与第二图像的峰值信噪比数据,来衡量第一图像和第二图像中对应像素之间的差异,进而能够在像素级别衡量第一图像与第二图像的相似程度,提高图像对比的准确性。
作为一种实施例,所述结构一致性数据可以通过以下方式确定:
步骤61:根据所述第一图像中各像素各自对应的代表通道数据的均值、以及所述第二图像中各像素各自对应的代表通道数据的均值,计算亮度对比数据。
根据第一图像中各像素各自对应的代表通道数据,可以计算出第一图像中各像素各自对应的代表通道数据的均值;同理,根据第二图像中各像素各自对应的代表通道数据,也可以计算出第二图像中各像素各自对应的代表通道数据的均值;基于前述两张图像的代表通道数据的均值,计算第一图像与第二图像的亮度对比数据,具体计算公式如下式所示:
其中,分别为第一图像中各像素各自对应的代表通道数据的均值、第二图像中各像素各自对应的代表通道数据的均值,/>为第一图像与第二图像的亮度对比数据,/>为常数,其目的是防止上述公式中的分母为0。
步骤62:根据所述第一图像中各像素各自对应的代表通道数据的方差、以及所述第二图像中各像素各自对应的代表通道数据的方差,计算对比度对比数据。
根据第一图像中各像素各自对应的代表通道数据,可以计算出第一图像中各像素各自对应的代表通道数据的方差;同理,根据第二图像中各像素各自对应的代表通道数据,也可以计算出第二图像中各像素各自对应的代表通道数据的方差;基于前述两张图像的代表通道数据的方差,计算第一图像与第二图像的对比度对比数据,具体计算公式如下式所示:
其中,分别为第一图像中个像素各自对应的代表通道数据的方差、第二图像中各像素各自对应的代表通道数据的方差,/>为第一图像与第二图像的对比度对比数据,/>为常数,其目的是防止上述公式中的分母为0。
步骤63:根据所述第一图像中各像素各自对应的代表通道数据和所述第二图像中各像素各自对应的代表通道数据,计算所述第一图像与所述第二图像之间的协方差;根据所述协方差、所述第一图像中各像素各自对应的代表通道数据的方差、以及所述第二图像中各像素各自对应的代表通道数据的方差,计算结构对比数据。
根据第一图像中各像素各自对应的代表通道数据和第二图像中各像素各自对应的代表通道数据,可以计算出第一图像与第二图像之间的协方差;在此基础上,基于第一图像与第二图像之间的协方差、第一图像中各像素各自对应的代表通道数据的方差和第二图像中各像素各自对应的代表通道数据的方差,计算第一图像与第二图像的结构对比数据,具体计算公式如下式所示:
其中,为第一图像与第二图像之间的协方差,/>为常数,其目的是防止上述公式中的分母为0。
步骤64:基于所述亮度对比数据、所述对比度对比数据以及所述结构对比数据,确定所述结构一致性数据。
由于结构一致性的原理是将两张图像通过亮度、对比度和结构三个维度来计算二者之间的相似度,那么在步骤61至步骤63中分别计算获得的亮度对比数据、对比度对比数据和结构对比数据后,使用这些数据进行综合计算,确定第一图像与第二图像的结构一致性数据,根据该结构一致性数据,可以确定第一图像与第二图像的相似程度。
结构一致性数据的具体计算公式如下式所示:
在上述公式中,为亮度对比数据,/>为对比度对比数据,/>为结构对比数据,分别为第一图像、第二图像,/>均为超参数值,通常设置为1。
根据第一图像与第二图像的亮度对比数据、对比度对比数据、结构对比数据,综合确定第一图像与第二图像的结构一致性数据,使用该结构一致性数据能够在像素级别上从亮度、对比度、结构三个维度确定第一图像与第二图像的相似程度,进而能够提高图像对比的准确性。
参见图5,图5为本申请实施例提供的像素级对比效果示意图。通过计算第一图像与第二图像之间的峰值信噪比数据,获得第一图像与第二图像之间的峰值信噪比数据为37.3dB,通过计算第一图像与第二图像之间的结构一致性数据,获得第一图像与第二图像之间的结构一致性数据为0.99,由于第一图像与第二图像之间的峰值信噪比数据较大,且第一图像与第二图像之间的结构一致性数据接近1,所以第一图像与第二图像在像素级别的对比结果可以认为是相似的。
步骤203:根据所述第一图像对应的第一描述特征和所述第二图像对应的第二描述特征,确定所述第一图像与所述第二图像的特征级对比数据。
特征级对比数据用于表征所述第一图像与所述第二图像在特征级别的相似度。在本申请实施例中,第一描述特征用于描述第一图像中的图像特征,第二描述特征用于描述第二图像中的图像特征。图像特征主要包括图像的颜色特征、纹理特征、形状特征和空间关系特征。其中,颜色特征和纹理特征是一种全局特征,用于描述图像或图像区域所对应事物的颜色、纹理对应的表面性质;形状特征包括轮廓特征和区域特征,图像的轮廓特征主要描述图像中事物的外边界,而图像的区域特征则描述了图像中事物对应的整个形状区域;空间关系特征是指图像中分割出来的多个事物之间的空间位置或相对方向关系,如连接关系、交叠关系和包含关系等。
为了对比第一图像和第二图像,基于第一描述特征和第二描述特征共同确定第一图像与第二图像的特征级对比数据。在特征级对比数据中,包括第一图像和第二图像中的所有图像特征,基于图像特征的对比,将第一图像、第二图像中相同位置的图像特征进行对应,通过确定第一图像与第二图像在相同位置上的图像特征之间的差异,来综合确定第一图像与第二图像在图像特征这一维度的相似程度。
在一种可能的实现方式中,步骤203可以通过如下方式实现:
步骤71:通过ORB特征检测器,对所述第一图像和所述第二图像进行检测处理,得到所述第一图像中的各第一关键点及其各自对应的点特征、以及所述第二图像中的各第二关键点及其各自对应的点特征;根据所述第一关键点及其对应的点特征和所述第二关键点及其对应的点特征,确定ORB相似数据,作为所述特征级对比数据。
本申请实施例在对第一图像和第二图像进行特征级别的图像对比时,首先通过ORB特征检测器对第一图像和第二图像进行特征检测,从而确定第一图像与第二图像中用于特征识别的各个关键点及对应的点特征,从而获得第一图像中的各第一关键点及各个第一关键点对应的点特征,以及获得第二图像中的各第二关键点和各个第二关键点对应的点特征。其中,在特征识别时,各个关键点所对应的点特征可以为该关键点对应的特征值。在使用ORB特征检测器提取关键点时,可以首先使用cv2.ORB_create()函数初始化ORB特征检测器,再通过orb.detectAndCompute()函数从第一图像、第二图像中检测各个关键点。
具体地,在步骤71中,ORB相似数据可以通过如下方式确定:
步骤81:根据各所述第一关键点及其各自对应的点特征、以及各所述第二关键点及其各自对应的点特征,构建多个候选关键点对。
其中,候选关键点对包括一个第一关键点和一个第二关键点,属于同一所述候选关键点对的第一关键点和第二关键点各自对应的点特征之间满足第一距离条件。
在使用ORB特征提取器从第一图像中提取出各第一关键点及其各自对应的点特征后,使用BFMatch()函数计算第一图像中各第一关键点与各第二关键点之间的汉明距离,通过汉明距离描述第一关键点与第二关键点之间的相似度。同时,根据预设的第一距离条件,使用满足该第一距离条件的第一关键点和第二关键点构建候选关键点对。在本申请实施例中,第一距离条件是用于确定与第一关键点距离最近的第二关键点的筛选条件。
步骤82:在所述多个候选关键点对中确定目标关键点对。
其中,所述目标关键点对中的所述第一关键点和所述第二关键点各自对应的点特征之间满足第二距离条件。以第一图像中的一个第一关键点为例,根据第一距离条件,可以从第二图像中的所有第二关键点中确定出与该第一关键点距离最近的一个第二关键点,构建出候选关键点对,但是第一距离条件只是用于从多个第二关键点中为该第一关键点确定出距离最近的一个关键点,当所有第二关键点与该第一关键点的相似程度都较低时,也会确定出一个对应的第二关键点。也就是说,第一距离条件是一个相对筛选条件,通过第一距离条件筛选出的与该第一关键点组成候选关键点对的第二关键点,可能与第二关键点的相似程度较低,但是相对于其他第二关键点来说更与该第一关键点相似,是一个相对相似的第二关键点,并不能说明第一关键点与该第二关键点真正相似。因此,为了从多个候选关键点对中确定真正相似的目标关键点对,引入了第二距离条件。
第二距离条件是用于从多个候选关键点对中筛选出距离小于一定阈值的关键点对的筛选条件,相对于第一距离条件这一相对筛选条件而言,第二距离条件是一个绝对距离条件。具体地,可以使用bf.knnMatch()函数从多个候选关键点中筛选出符合第二距离条件的目标关键点。经过第二距离条件的筛选后,确定出的符合第二距离条件的目标关键点对中所包括的第一关键点与第二关键点之间的相似程度足够高,能够认为目标关键点中的第一关键点与第二关键点是真正相似的。
步骤83:根据各个所述目标关键点对包括的所述第一关键点和所述第二关键点的数量、以及所述第一图像中所述第一关键点的总数量、所述第二图像中所述第二关键点的总数量,确定所述ORB相似数据。
ORB相似数据是以目标关键点对中关键点的数量与第一图像、第二图像中所有关键点的总数的比值来描述第一图像与第二图像相似度的数据。由于目标关键点对中包括一个第一关键点和一个第二关键点,所以目标关键点对中关键点的数量即为目标关键点对数量的两倍,也就是第一图像和第二图像中相似关键点的数量;第一图像与第二图像中所有关键点的总数为第一关键点数量与第二关键点数量之和,ORB相似数据则通过相似关键点的数量占两张图像所有关键点数量的比例,来描述第一图像与第二图像的相似度,当第一图像和第二图像中相似的关键点越多时,该ORB相似数据对应的值越大,第一图像与第二图像的相似度越高。
基于ORB特征检测器提取出的各第一关键点及其各自对应的点特征、以及各第二关键点及其各自对应的点特征,利用第一距离条件、第二距离条件确定出第一图像和第二图像中真正相似的目标关键点对,计算ORB相似数据,在特征维度实现了对图像之间关键点的匹配,提高了第一图像与第二图像在特征级别匹配的准确性。
步骤72:通过图像特征提取网络,对所述第一图像和所述第二图像进行特征提取处理,得到所述第一图像对应的第一深层图像特征、以及所述第二图像对应的第二深层图像特征;根据所述第一深层图像特征和所述第二深层图像特征,确定感知损失数据,作为所述特征级对比数据。
通过图像特征提取网络从第一图像中提取出其对应的第一深层图像特征,从第二图像中提取出其对应的第二深层图像特征,并根据第一深层图像特征和第二深层图像特征确定第一图像与第二图像之间的感知损失数据。其中,第一深层图像特征为图像特征提取网络从第一图像中提取的中间特征图,第二深层图像特征为图像特征提取网络从第二图像中提取的中间特征图。
感知损失数据(Perception Loss)是在计算低层的特征损失(像素颜色,边缘等)的基础上,通过对原始图像的卷积输出和生成图像的卷积输出进行对比,并计算损失。在本申请实施例中,利用图像特征提取网络,通过对第一图像的卷积输出和第二图像的卷积输出进行对比,计算二者之间的损失,以此作为特征级对比数据,来确定第一图像与第二图像之间的差异,当感知损失数据对应的值越小时,第一图像与第二图像之间的差异越小,也就是说第一图像与第二图像越相似。
具体地,在进行图像特征提取时,可以使用卷积神经网络VGG19网络对第一图像和第二图像进行特征提取处理。VGG19网络是卷积神经网络中的一个物体识别网络,在VGG19网络中,每一层神经网络都会利用上一层的输出来进一步提取更加复杂的特征,直到能被用来识别物体位置。VGG19网络是一种在计算机视觉领域广泛应用的深度学习模型,其中具体包括16个卷积层,5个池化层以及3个全连接层。VGG19网络能够采用连续的3×3卷积核堆叠的方式来替代以往卷积神经网络中较大卷积核(例如5×5和7×7的卷积核),从而在保持感受相同的同时能够降低网络中的参数数量以及计算成本,适用于提取图像的特征信息。此时,第一深层图像特征则为使用VGG19网络针对第一图像在前16层卷积得到的特征图像;第二深层图像特征则为使用VGG19网络针对第二图像在前16层卷积得到的特征图像。
将ORB相似数据、感知损失数据作为第一图像与第二图像的特征级对比数据,能够从图像特征的维度,准确对比第一图像与第二图像之间的差异,提高图像对比的准确性。
具体地,针对于第一图像和第二图像中的各个像素来说,所述第一深层图像特征包括所述第一图像中各像素各自对应的像素深层特征,所述第二深层图像特征包括所述第二图像中各像素各自对应的像素深层特征。
此时,步骤72可以通过如下方式实现:
步骤91:针对每个像素对,根据所述像素对中两个像素各自对应的像素深层特征,确定所述像素对对应的像素感知损失。
在计算感知损失数据的过程中,可以通过图像特征提取网络从第一图像和第二图像中提取的中间特征图进行像素级比较,将第一图像中的各个像素与第二图像中的各个像素按照位置关系进行对应,并确定第一图像中各个像素与第二图像中各个像素所构成的像素对。其中,像素对中包括一个属于第一图像的像素和一个属于第二图像的像素,属于同一像素对的两个像素在所述第一图像和所述第二图像中处于相同位置。
步骤92:根据各个所述像素对各自对应的像素感知损失,确定所述感知损失数据。
通过第一图像和第二图像中各个像素对各自对应像素感知损失,共同确定出第一图像和第二图像之间整体的感知损失数据,具体计算公式如下式所示:
其中,为第一图像和第二图像之间的感知损失数据,/>为一张图像中像素点的总数,/>为图像特征提取网络从图像中提取的中间特征图,具体可以为VGG19网络前16层卷积得到的特征图像,/>分别为第一图像、第二图像中各个像素各自对应的像素感知损失。当第一图像与第二图像中相同位置像素各自对应的像素感知损失越小时,第一图像与第二图像之间的感知损失数据越小,第一图像与第二图像之间的相似程度越高。
将第一图像和第二图像中相同位置的像素组成像素对进行像素级别的对比,通过各个像素对各自对应的像素感知损失确定第一图像与第二图像之间的感知损失数据,实现了对于第一图像和第二图像中相同位置对应像素深层特征的准确对比,提高了图像对比的准确性。
参见图6,图6为本申请实施例提供的特征级对比效果示意图。通过计算第一图像与第二图像之间的ORB相似数据,获得第一图像与第二图像之间的ORB相似数据为0.45,通过计算第一图像与第二图像之间的感知损失数据,获得第一图像与第二图像之间的感知损失数据为0.189,可以看出,第一图像与第二图像中,大约有一半的关键点能够符合第二距离条件,并且第一图像与第二图像之间的差异较小。
步骤204:基于所述像素级对比数据和所述特征级对比数据,确定所述第一图像与所述第二图像的相似性对比结果。
相似性对比结果是用于描述第一图像与第二图像相似程度的参数。在本申请实施例中,相似性对比结果可以采用多种表现形式,例如数值、文字描述等,本申请对此不做具体限定。
由于在像素级对比数据中,包括第一图像和第二图像中各个像素的通道数据,因此,可以通过像素级对比数据逐一对比第一图像与第二图像中各个像素点的异同,使得图像对比更加细致,进而能够对第一图像与第二图像之间的一些细节差异进行准确地判断。同时,在特征级对比数据中包括第一图像和第二图像中的所有图像特征,那么通过该特征级对比数据,就可以准确确定第一图像与第二图像中相同或相似的图像特征,以提高相似性对比结果的准确性。
基于像素级对比数据和特征级对比数据两个不同的对比维度,来共同确定第一图像与第二图像的相似性对比结果,在该相似性对比结果中,包括第一图像与第二图像在像素维度逐个像素的对比情况,以及第一图像与第二图像在图像特征维度逐个图像特征的对比情况,所以,该相似性对比结果相较于相关技术中获得的对比结果,更加细致、准确。
因此,在本申请实施例中,使用像素级对比数据和特征级对比数据两种不同维度的数据对比第一图像和第二图像,能够提高图像对比的细致性和准确性。
在一种可能的实现方式中,当像素级对比数据包括峰值信噪比数据和结构一致性数据,特征级对比数据包括ORB相似数据和感知损失数据时,可以通过设定合适的阈值,使用上述峰值信噪比数据、结构一致性数据、ORB相似数据和感知损失数据来综合确定第一图像与第二图像之间的相似度,通过在图像相似判定算法中输入上述四种数据以及设定的阈值,直接通过算法输出突显个相似判定结果。
那么上述步骤204具体可以通过如下步骤来实现:
步骤A1:当所述峰值信噪比数据属于第一信噪比区间时,确定所述相似性对比结果为不相似。
具体地,可以将第一信噪比区间设置为0~20dB,当峰值信噪比数据的值小于或等于20dB时,判定第一图像与第二图像不相似。
步骤A2:当所述感知损失数据小于预设感知阈值时,确定所述相似性对比结果为相似。
具体地,可以将预设感知阈值设置为0.2,当感知损失数据的值小于0.2时,判定第一图像与第二图像相似。
步骤A3:当所述峰值信噪比数据属于第二信噪比区间时,若所述结构一致性数据小于等于预设结构性阈值,或者所述ORB相似数据小于等于预设ORB相似阈值,则确定所述相似性对比结果为不相似;反之,则确定所述相似性对比结果为相似;所述第二信噪比区间包括的峰值信噪比值大于所述第一信噪比区间包括的峰值信噪比值。
具体地,将峰值信噪比数据大于20dB且小于等于25dB的取值范围设置为第二信噪比区间,将预设结构性阈值和预设ORB相似阈值均设置为0.9。
当峰值信噪比数据的取值大于20dB且小于等于25dB时,若结构一致性数据的取值小于等于0.9或ORB相似数据的取值小于等于0.9,则判定第一图像与第二图像不相似;反之,若结构一致性数据的取值大于0.9且ORB相似数据的取值大于0.9,则判定第一图像与第二图像相似。
步骤A4:当所述峰值信噪比数据属于第三信噪比区间时,若所述结构一致性数据小于等于所述预设结构性阈值,且所述ORB相似数据小于等于所述预设ORB相似阈值,则确定所述相似性对比结果为不相似;反之,则确定所述相似性对比结果为相似;所述第三信噪比区间包括的峰值信噪比值大于所述第二信噪比区间包括的峰值信噪比值。
具体地,可以将峰值信噪比数据大于26dB且小于等于30dB的取值范围设置为第三信噪比区间,将预设结构性阈值和预设ORB相似阈值均设置为0.9。
当峰值信噪比数据的取值大于26dB且小于等于30dB时,若结构一致性数据的取值小于等于0.9且ORB相似数据的取值小于等于0.9,则判定第一图像与第二图像不相似;反之,若结构一致性数据的取值大于0.9或ORB相似数据的取值大于0.9,则判定第一图像与第二图像相似。
步骤A5:当所述峰值信噪比数据属于第四信噪比区间时,确定所述相似性对比结果为相似;所述第四信噪比区间包括的峰值信噪比值大于所述第三信噪比区间包括的峰值信噪比值。
具体地,可以将峰值信噪比数据大于30dB的取值范围设置为第四信噪比区间,当峰值信噪比数据的取值大于30dB时,判定第一图像与第二图像相似。
通过从第一图像和第二图像中确定的四种特征数据:峰值信噪比数据、结构一致性数据、ORB相似数据和感知损失数据,来综合确定第一图像与第二图像之间的相似度,从不同维度确定第一图像与第二图像是否相似,能够有效提高图像相似性对比结果的准确性。
综上所述,通过本申请实施例提供的图像对比方法,首先获取待对比的第一图像和第二图像,并根据该第一图像中各像素的通道数据和第二图像中各像素的通道数据,确定第一图像与第二图像的像素级对比数据,通过像素级对比数据表征第一图像与第二图像在像素级别的相似度;根据第一图像的第一描述特征、第二图像的第二描述特征,来确定第一图像与第二图像的特征级对比数据,通过该特征级对比数据表征第一图像与第二图像在特征级别的相似度;然后基于像素级对比数据和特征级对比数据这两个维度的数据,最终确定第一图像与第二图像的相似性对比结果。在上述图像对比方法中,充分利用图像中不同维度的特征数据,通过第一图像和第二图像的像素级对比数据和特征级对比数据两个维度的对比数据,来确定第一图像与第二图像是否相似,其中,基于像素级对比数据能够在第一图像和第二图像之间进行像素级别的细致对比,基于特征级对比数据能够准确对比第一图像和第二图像中的图像特征,因此通过本申请提供的图像对比方法,分别从像素维度和特征维度对第一图像和第二图像进行细致、准确的对比,能够获得准确的图像相似性对比结果,满足了对图像对比准确性的需求,提高了图像对比的准确性。
根据上述实施例,本申请还提供了一个图像对比方法的场景实施例,该场景实施例基于终端设备的应用程序测试场景,流程图如图7所示,主要分为获取图像、图像预处理、图像相似指标计算和图像相似度判定四个步骤。
在获取图像时,分别获取针对所测试应用程序执行自动化操作后的界面图像和该自动化操作对应的标准界面图像,将界面图像和标准界面图像分别作为第一原始图像和第二原始图像,组成图像对。
在图像预处理过程中,从图像对中确定一个图像为基础图像、另外一个图像为待修正图像,按照基础图像的尺寸、颜色通道数量分别调整待修正图像的尺寸和颜色通道数据,并根据基础图像中各个关键点的位置,调整待修正图像中对应关键点的位置,使得基础图像中的各个关键点与待修正图像中对应关键点的位置相同,获得修正后图像。在修正后图像中,图像的尺寸、颜色通道数据和各个关键点的位置均与基础图像相同。将基础图像和待修正图像再分别作为此次图像对比的第一图像和第二图像。
在图像相似指标计算过程中,在像素级别,根据第一图像中各像素的通道数据和第二图像中各像素的通道数据,确定第一图像与第二图像的像素级对比数据,该像素级对比数据包括峰值信噪比数据和结构一致性数据;在特征级别,根据第一图像的第一描述特征、第二图像的第二描述特征,来确定第一图像与第二图像的特征级对比数据,该特征级对比数据包括ORB相似数据和感知损失数据。
在进行图像相似度判定时,使用图像相似判定算法对图像相似指标计算过程中确定的四种数据进行分析,根据预设的阈值判定条件来判定第一图像与第二图像是否相似,输出图像相似或图像不相似的判定结果。
另外,在终端设备的应用程序测试场景中,可以使用猴子测试(Monkey)来执行针对所测试的应用程序的自动化操作。Monkey工具可以运行在模拟器或实际设备中,通过向系统发送伪随机用户事件流(如按键输入、触摸屏输入、手势输入等),实现对应用程序的压力测试。通过本申请实施例提供的图像对比方法,能够将自动化操作执行后终端设备所显示的界面图像与该自动化操作对应的标准界面图像进行对比,来确定应用程序是否正确执行了该自动化操作。例如,当该自动化操作为进入工作台界面时,终端设备中可能显示的界面图像如图8所示,其中,当该自动化操作正确执行时,界面图像对应的正确执行图;当使用Monkey执行自动化操作发生错误时,界面图像可能对应为动作错误图;当所测试的应用程序发生闪退时,终端设备返回桌面,界面图像可能对应为意外退出图;当所测试的应用程序发生卡顿时,无法响应自动化操作,那么此时终端设备所显示的界面图像可能对应白屏图。当然,除了上述情况外,在应用程序测试场景中还可能出现其他不符合预期的界面图像,此时,通过本申请实施例提供的图像对比方法,将自动化操作执行后的界面图像与该自动化操作对应的标准界面图像进行对比,可以确定应用程序中自动化操作是否成功执行,进而提高对于应用程序测试的效率。
参见图9,图9为本申请实施例提供的一种图像对比装置900的结构示意图。所述装置包括:图像获取模块901,像素对比模块902,特征对比模块903,结果确定模块904。
图像获取模块901,用于获取待对比的第一图像和第二图像;
像素对比模块902,用于根据所述第一图像中各像素的通道数据和所述第二图像中各像素的通道数据,确定所述第一图像与所述第二图像的像素级对比数据;所述像素级对比数据用于表征所述第一图像与所述第二图像在像素级别的相似度;
特征对比模块903,用于根据所述第一图像对应的第一描述特征和所述第二图像对应的第二描述特征,确定所述第一图像与所述第二图像的特征级对比数据;所述特征级对比数据用于表征所述第一图像与所述第二图像在特征级别的相似度;
结果确定模块904,用于基于所述像素级对比数据和所述特征级对比数据,确定所述第一图像与所述第二图像的相似性对比结果。
在一种可能的实现方式中,像素对比模块902具体用于:
针对所述第一图像和所述第二图像中的每个像素,根据所述像素的各个颜色通道数据,确定所述像素对应的代表通道数据;
根据所述第一图像中各像素各自对应的代表通道数据和所述第二图像中各像素各自对应的代表通道数据,确定峰值信噪比数据和结构一致性数据中的至少一种,作为所述像素级对比数据。
在一种可能的实现方式中,像素对比模块902具体用于:
根据所述第一图像中各像素各自对应的代表通道数据和所述第二图像中各像素各自对应的代表通道数据,计算均方误差;
根据每个所述像素的比特数和所述均方误差,计算所述峰值信噪比数据。
在一种可能的实现方式中,像素对比模块902具体用于:
根据所述第一图像中各像素各自对应的代表通道数据的均值、以及所述第二图像中各像素各自对应的代表通道数据的均值,计算亮度对比数据;
根据所述第一图像中各像素各自对应的代表通道数据的方差、以及所述第二图像中各像素各自对应的代表通道数据的方差,计算对比度对比数据;
根据所述第一图像中各像素各自对应的代表通道数据和所述第二图像中各像素各自对应的代表通道数据,计算所述第一图像与所述第二图像之间的协方差;根据所述协方差、所述第一图像中各像素各自对应的代表通道数据的方差、以及所述第二图像中各像素各自对应的代表通道数据的方差,计算结构对比数据;
基于所述亮度对比数据、所述对比度对比数据以及所述结构对比数据,确定所述结构一致性数据。
在一种可能的实现方式中,特征对比模块903具体用于:
通过ORB特征检测器,对所述第一图像和所述第二图像进行检测处理,得到所述第一图像中的各第一关键点及其各自对应的点特征、以及所述第二图像中的各第二关键点及其各自对应的点特征;根据所述第一关键点及其对应的点特征和所述第二关键点及其对应的点特征,确定ORB相似数据,作为所述特征级对比数据;
通过图像特征提取网络,对所述第一图像和所述第二图像进行特征提取处理,得到所述第一图像对应的第一深层图像特征、以及所述第二图像对应的第二深层图像特征;根据所述第一深层图像特征和所述第二深层图像特征,确定感知损失数据,作为所述特征级对比数据。
在一种可能的实现方式中,特征对比模块903具体用于:
根据各所述第一关键点及其各自对应的点特征、以及各所述第二关键点及其各自对应的点特征,构建多个候选关键点对;所述候选关键点对包括一个所述第一关键点和一个所述第二关键点,所属于同一所述候选关键点对的所述第一关键点和所述第二关键点各自对应的点特征之间满足第一距离条件;
在所述多个候选关键点对中确定目标关键点对;所述目标关键点对中的所述第一关键点和所述第二关键点各自对应的点特征之间满足第二距离条件;
根据各个所述目标关键点对包括的所述第一关键点和所述第二关键点的数量、以及所述第一图像中所述第一关键点的总数量、所述第二图像中所述第二关键点的总数量,确定所述ORB相似数据。
在一种可能的实现方式中,所述第一深层图像特征包括所述第一图像中各像素各自对应的像素深层特征,所述第二深层图像特征包括所述第二图像中各像素各自对应的像素深层特征;特征对比模块903具体用于:
针对每个像素对,根据所述像素对中两个像素各自对应的像素深层特征,确定所述像素对对应的像素感知损失;所述像素对中包括一个属于所述第一图像的像素和一个属于所述第二图像的像素,所属于同一所述像素对的两个像素在所述第一图像和所述第二图像中处于相同位置;
根据各个所述像素对各自对应的像素感知损失,确定所述感知损失数据。
在一种可能的实现方式中,当所述像素级对比数据包括峰值信噪比数据和结构一致性数据,所述特征级对比数据包括ORB相似数据和感知损失数据时,结果确定模块904具体用于:
当所述峰值信噪比数据属于第一信噪比区间时,确定所述相似性对比结果为不相似;
当所述感知损失数据小于预设感知阈值时,确定所述相似性对比结果为相似;
当所述峰值信噪比数据属于第二信噪比区间时,若所述结构一致性数据小于等于预设结构性阈值,或者所述ORB相似数据小于等于预设ORB相似阈值,则确定所述相似性对比结果为不相似;反之,则确定所述相似性对比结果为相似;所述第二信噪比区间包括的峰值信噪比值大于所述第一信噪比区间包括的峰值信噪比值;
当所述峰值信噪比数据属于第三信噪比区间时,若所述结构一致性数据小于等于所述预设结构性阈值,且所述ORB相似数据小于等于所述预设ORB相似阈值,则确定所述相似性对比结果为不相似;反之,则确定所述相似性对比结果为相似;所述第三信噪比区间包括的峰值信噪比值大于所述第二信噪比区间包括的峰值信噪比值;
当所述峰值信噪比数据属于第四信噪比区间时,确定所述相似性对比结果为相似;所述第四信噪比区间包括的峰值信噪比值大于所述第三信噪比区间包括的峰值信噪比值。
在一种可能的实现方式中,图像获取模块901具体用于:
获取第一原始图像和第二原始图像;
在所述第一原始图像和所述第二原始图像中确定一个原始图像作为基础图像,并确定另一个原始图像作为待修正图像;
基于所述基础图像对所述待修正图像进行预处理,得到修正后图像;
将所述基础图像和所述修正后图像作为所述第一图像和所述第二图像。
在一种可能的实现方式中,图像获取模块901具体用于:
当所述待修正图像与所述基础图像尺寸不同时,对所述待修正图像进行空间重采样处理,将所述待修正图像的尺寸调整为所述基础图像的尺寸;
当所述待修正图像与所述基础图像颜色通道不同时,采用颜色通道转换算法,对所述待修正图像进行通道转换处理,将所述待修正图像的颜色通道调整为所述基础图像的颜色通道;
基于尺寸相同且颜色通道相同的所述待修正图像和所述基础图像,确定图像变换矩阵;利用所述图像变换矩阵对所述待修正图像进行像素位置变换处理,得到所述修正后图像。
在一种可能的实现方式中,图像获取模块901具体用于:
通过ORB特征检测器,对所述基础图像和所述待修正图像进行检测处理,得到所述基础图像中的各第三关键点及其各自对应的点特征、以及所述待修正图像中的各第四关键点及其各自对应的点特征;
根据各所述第三关键点及其各自对应的点特征、以及各所述第四关键点及其各自对应的点特征,确定匹配关键点对;所述匹配关键点对包括一个所述第三关键点和一个所述第四关键点,所属于同一所述匹配关键点对的所述第三关键点和所述第四关键点各自对应的点特征之间满足预设匹配条件;
基于所述匹配关键点对包括的所述第三关键点和所述第四关键点,确定所述图像变换矩阵。
本申请实施例还提供了一种计算机设备,该设备具体可以是终端设备或者服务器,下面将从硬件实体化的角度对本申请实施例提供的终端设备和服务器进行介绍。
参见图10,图10是本申请实施例提供的终端设备的结构示意图。如图10所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端可以为包括手机、平板电脑、个人数字助理(Personal DigitalAssistant,PDA)、销售终端(Point of Sales,POS)、车载电脑等任意终端设备,以终端为计算机为例:
图10示出的是与本申请实施例提供的终端相关的计算机的部分结构的框图。参考图10,计算机包括:射频(Radio Frequency,RF)电路1210、存储器1220、输入单元1230(其中包括触控面板1231和其他输入设备1232)、显示单元1240(其中包括显示面板1241)、传感器1250、音频电路1260(其连接有扬声器1261和传声器1262)、无线保真(wireless fidelity,WiFi)模块1270、处理器1280、以及电源1290等部件。本领域技术人员可以理解,图10中示出的计算机结构并不构成对计算机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储器1220可用于存储软件程序以及模块,处理器1280通过运行存储在存储器1220的软件程序以及模块,从而执行计算机的各种功能应用以及数据处理。存储器1220可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1220可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器1280是计算机的控制中心,利用各种接口和线路连接整个计算机的各个部分,通过运行或执行存储在存储器1220内的软件程序和/或模块,以及调用存储在存储器1220内的数据,执行计算机的各种功能和处理数据。可选地,处理器1280可包括一个或多个处理单元;优选的,处理器1280可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1280中。
在本申请实施例中,该终端所包括的处理器1280还具有以下功能:
获取待对比的第一图像和第二图像;
根据所述第一图像中各像素的通道数据和所述第二图像中各像素的通道数据,确定所述第一图像与所述第二图像的像素级对比数据;所述像素级对比数据用于表征所述第一图像与所述第二图像在像素级别的相似度;
根据所述第一图像对应的第一描述特征和所述第二图像对应的第二描述特征,确定所述第一图像与所述第二图像的特征级对比数据;所述特征级对比数据用于表征所述第一图像与所述第二图像在特征级别的相似度;
基于所述像素级对比数据和所述特征级对比数据,确定所述第一图像与所述第二图像的相似性对比结果。
可选地,所述处理器1280还用于执行本申请实施例提供的图像对比方法的任意一种实现方式的步骤。
参见图11,图11为本申请实施例提供的一种服务器1300的结构示意图。该服务器1300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)1322(例如,一个或一个以上处理器)和存储器1332,一个或一个以上存储应用程序1342或数据1344的存储介质1330(例如一个或一个以上海量存储设备)。其中,存储器1332和存储介质1330可以是短暂存储或持久存储。存储在存储介质1330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1322可以设置为与存储介质1330通信,在服务器1300上执行存储介质1330中的一系列指令操作。
服务器1300还可以包括一个或一个以上电源1326,一个或一个以上有线或无线网络接口1350,一个或一个以上输入输出接口1358,和/或,一个或一个以上操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM, LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图11所示的服务器结构。
其中,CPU 1322用于执行如下步骤:
获取待对比的第一图像和第二图像;
根据所述第一图像中各像素的通道数据和所述第二图像中各像素的通道数据,确定所述第一图像与所述第二图像的像素级对比数据;所述像素级对比数据用于表征所述第一图像与所述第二图像在像素级别的相似度;
根据所述第一图像对应的第一描述特征和所述第二图像对应的第二描述特征,确定所述第一图像与所述第二图像的特征级对比数据;所述特征级对比数据用于表征所述第一图像与所述第二图像在特征级别的相似度;
基于所述像素级对比数据和所述特征级对比数据,确定所述第一图像与所述第二图像的相似性对比结果。
可选地,CPU 1322还可以用于执行本申请实施例提供的图像对比方法的任意一种实现方式的步骤。
本申请实施例还提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序用于执行前述各个实施例所述的一种图像对比方法中的任意一种实施方式。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前述各个实施例所述的一种图像对比方法中的任意一种实施方式。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储计算机程序的介质。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (15)

1.一种图像对比方法,其特征在于,所述方法包括:
获取待对比的第一图像和第二图像;
根据所述第一图像中各像素的通道数据和所述第二图像中各像素的通道数据,确定所述第一图像与所述第二图像的像素级对比数据;所述像素级对比数据用于表征所述第一图像与所述第二图像在像素级别的相似度;
根据所述第一图像对应的第一描述特征和所述第二图像对应的第二描述特征,确定所述第一图像与所述第二图像的特征级对比数据;所述特征级对比数据用于表征所述第一图像与所述第二图像在特征级别的相似度;
基于所述像素级对比数据和所述特征级对比数据,确定所述第一图像与所述第二图像的相似性对比结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一图像中各像素的通道数据和所述第二图像中各像素的通道数据,确定所述第一图像与所述第二图像的像素级对比数据,包括:
针对所述第一图像和所述第二图像中的每个像素,根据所述像素的各个颜色通道数据,确定所述像素对应的代表通道数据;
根据所述第一图像中各像素各自对应的代表通道数据和所述第二图像中各像素各自对应的代表通道数据,确定峰值信噪比数据和结构一致性数据中的至少一种,作为所述像素级对比数据。
3.根据权利要求2所述的方法,其特征在于,所述峰值信噪比数据通过以下方式确定:
根据所述第一图像中各像素各自对应的代表通道数据和所述第二图像中各像素各自对应的代表通道数据,计算均方误差;
根据每个所述像素的比特数和所述均方误差,计算所述峰值信噪比数据。
4.根据权利要求2所述的方法,其特征在于,所述结构一致性数据通过以下方式确定:
根据所述第一图像中各像素各自对应的代表通道数据的均值、以及所述第二图像中各像素各自对应的代表通道数据的均值,计算亮度对比数据;
根据所述第一图像中各像素各自对应的代表通道数据的方差、以及所述第二图像中各像素各自对应的代表通道数据的方差,计算对比度对比数据;
根据所述第一图像中各像素各自对应的代表通道数据和所述第二图像中各像素各自对应的代表通道数据,计算所述第一图像与所述第二图像之间的协方差;根据所述协方差、所述第一图像中各像素各自对应的代表通道数据的方差、以及所述第二图像中各像素各自对应的代表通道数据的方差,计算结构对比数据;
基于所述亮度对比数据、所述对比度对比数据以及所述结构对比数据,确定所述结构一致性数据。
5.根据权利要求1所述的方法,其特征在于,所述根据所述第一图像对应的第一描述特征和所述第二图像对应的第二描述特征,确定所述第一图像与所述第二图像的特征级对比数据,包括以下至少一种:
通过ORB特征检测器,对所述第一图像和所述第二图像进行检测处理,得到所述第一图像中的各第一关键点及其各自对应的点特征、以及所述第二图像中的各第二关键点及其各自对应的点特征;根据所述第一关键点及其对应的点特征和所述第二关键点及其对应的点特征,确定ORB相似数据,作为所述特征级对比数据;
通过图像特征提取网络,对所述第一图像和所述第二图像进行特征提取处理,得到所述第一图像对应的第一深层图像特征、以及所述第二图像对应的第二深层图像特征;根据所述第一深层图像特征和所述第二深层图像特征,确定感知损失数据,作为所述特征级对比数据。
6.根据权利要求5所述的方法,其特征在于,所述根据所述第一关键点及其对应的点特征和所述第二关键点及其对应的点特征,确定ORB相似数据,包括:
根据各所述第一关键点及其各自对应的点特征、以及各所述第二关键点及其各自对应的点特征,构建多个候选关键点对;所述候选关键点对包括一个所述第一关键点和一个所述第二关键点,所属于同一所述候选关键点对的所述第一关键点和所述第二关键点各自对应的点特征之间满足第一距离条件;
在所述多个候选关键点对中确定目标关键点对;所述目标关键点对中的所述第一关键点和所述第二关键点各自对应的点特征之间满足第二距离条件;
根据各个所述目标关键点对包括的所述第一关键点和所述第二关键点的数量、以及所述第一图像中所述第一关键点的总数量、所述第二图像中所述第二关键点的总数量,确定所述ORB相似数据。
7.根据权利要求5所述的方法,其特征在于,所述第一深层图像特征包括所述第一图像中各像素各自对应的像素深层特征,所述第二深层图像特征包括所述第二图像中各像素各自对应的像素深层特征;所述根据所述第一深层图像特征和所述第二深层图像特征,确定感知损失数据,包括:
针对每个像素对,根据所述像素对中两个像素各自对应的像素深层特征,确定所述像素对对应的像素感知损失;所述像素对中包括一个属于所述第一图像的像素和一个属于所述第二图像的像素,所属于同一所述像素对的两个像素在所述第一图像和所述第二图像中处于相同位置;
根据各个所述像素对各自对应的像素感知损失,确定所述感知损失数据。
8.根据权利要求1至7任一项所述的方法,其特征在于,当所述像素级对比数据包括峰值信噪比数据和结构一致性数据,所述特征级对比数据包括ORB相似数据和感知损失数据时,所述基于所述像素级对比数据和所述特征级对比数据,确定所述第一图像与所述第二图像的相似性对比结果,包括:
当所述峰值信噪比数据属于第一信噪比区间时,确定所述相似性对比结果为不相似;
当所述感知损失数据小于预设感知阈值时,确定所述相似性对比结果为相似;
当所述峰值信噪比数据属于第二信噪比区间时,若所述结构一致性数据小于等于预设结构性阈值,或者所述ORB相似数据小于等于预设ORB相似阈值,则确定所述相似性对比结果为不相似;反之,则确定所述相似性对比结果为相似;所述第二信噪比区间包括的峰值信噪比值大于所述第一信噪比区间包括的峰值信噪比值;
当所述峰值信噪比数据属于第三信噪比区间时,若所述结构一致性数据小于等于所述预设结构性阈值,且所述ORB相似数据小于等于所述预设ORB相似阈值,则确定所述相似性对比结果为不相似;反之,则确定所述相似性对比结果为相似;所述第三信噪比区间包括的峰值信噪比值大于所述第二信噪比区间包括的峰值信噪比值;
当所述峰值信噪比数据属于第四信噪比区间时,确定所述相似性对比结果为相似;所述第四信噪比区间包括的峰值信噪比值大于所述第三信噪比区间包括的峰值信噪比值。
9.根据权利要求1所述的方法,其特征在于,所述获取待对比的第一图像和第二图像,包括:
获取第一原始图像和第二原始图像;
在所述第一原始图像和所述第二原始图像中确定一个原始图像作为基础图像,并确定另一个原始图像作为待修正图像;
基于所述基础图像对所述待修正图像进行预处理,得到修正后图像;
将所述基础图像和所述修正后图像作为所述第一图像和所述第二图像。
10.根据权利要求9所述的方法,其特征在于,所述基于所述基础图像对所述待修正图像进行预处理,得到修正后图像,包括:
当所述待修正图像与所述基础图像尺寸不同时,对所述待修正图像进行空间重采样处理,将所述待修正图像的尺寸调整为所述基础图像的尺寸;
当所述待修正图像与所述基础图像颜色通道不同时,采用颜色通道转换算法,对所述待修正图像进行通道转换处理,将所述待修正图像的颜色通道调整为所述基础图像的颜色通道;
基于尺寸相同且颜色通道相同的所述待修正图像和所述基础图像,确定图像变换矩阵;利用所述图像变换矩阵对所述待修正图像进行像素位置变换处理,得到所述修正后图像。
11.根据权利要求10所述的方法,其特征在于,所述基于尺寸相同且颜色通道相同的所述待修正图像和所述基础图像,确定图像变换矩阵,包括:
通过ORB特征检测器,对所述基础图像和所述待修正图像进行检测处理,得到所述基础图像中的各第三关键点及其各自对应的点特征、以及所述待修正图像中的各第四关键点及其各自对应的点特征;
根据各所述第三关键点及其各自对应的点特征、以及各所述第四关键点及其各自对应的点特征,确定匹配关键点对;所述匹配关键点对包括一个所述第三关键点和一个所述第四关键点,所属于同一所述匹配关键点对的所述第三关键点和所述第四关键点各自对应的点特征之间满足预设匹配条件;
基于所述匹配关键点对包括的所述第三关键点和所述第四关键点,确定所述图像变换矩阵。
12.一种图像对比装置,其特征在于,所述装置包括:
图像获取模块,用于获取待对比的第一图像和第二图像;
像素对比模块,用于根据所述第一图像中各像素的通道数据和所述第二图像中各像素的通道数据,确定所述第一图像与所述第二图像的像素级对比数据;所述像素级对比数据用于表征所述第一图像与所述第二图像在像素级别的相似度;
特征对比模块,用于根据所述第一图像对应的第一描述特征和所述第二图像对应的第二描述特征,确定所述第一图像与所述第二图像的特征级对比数据;所述特征级对比数据用于表征所述第一图像与所述第二图像在特征级别的相似度;
结果确定模块,用于基于所述像素级对比数据和所述特征级对比数据,确定所述第一图像与所述第二图像的相似性对比结果。
13.一种计算机设备,其特征在于,所述设备包括处理器及存储器;
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序执行权利要求1至11中任一项所述的图像对比方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序被计算机设备执行时实现权利要求1至11中任一项所述的图像对比方法。
15.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1至11中任一项所述的图像对比方法。
CN202311150661.8A 2023-09-07 2023-09-07 一种图像对比方法及相关装置 Active CN116883698B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311150661.8A CN116883698B (zh) 2023-09-07 2023-09-07 一种图像对比方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311150661.8A CN116883698B (zh) 2023-09-07 2023-09-07 一种图像对比方法及相关装置

Publications (2)

Publication Number Publication Date
CN116883698A true CN116883698A (zh) 2023-10-13
CN116883698B CN116883698B (zh) 2023-12-26

Family

ID=88264864

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311150661.8A Active CN116883698B (zh) 2023-09-07 2023-09-07 一种图像对比方法及相关装置

Country Status (1)

Country Link
CN (1) CN116883698B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117632772A (zh) * 2024-01-25 2024-03-01 鱼快创领智能科技(南京)有限公司 一种ui自动化测试的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017111654A (ja) * 2015-12-17 2017-06-22 富士通株式会社 画像処理システム、画像類似判定方法および画像類似判定プログラム
CN110009027A (zh) * 2019-03-28 2019-07-12 腾讯科技(深圳)有限公司 图像的比对方法、装置、存储介质及电子装置
CN110458232A (zh) * 2019-08-13 2019-11-15 腾讯科技(深圳)有限公司 一种确定图像风格相似度的方法及设备
CN111046893A (zh) * 2018-10-12 2020-04-21 富士通株式会社 图像相似性确定方法和装置、图像处理方法和装置
WO2023142753A1 (zh) * 2022-01-27 2023-08-03 华为技术有限公司 图像相似性度量方法及其装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017111654A (ja) * 2015-12-17 2017-06-22 富士通株式会社 画像処理システム、画像類似判定方法および画像類似判定プログラム
CN111046893A (zh) * 2018-10-12 2020-04-21 富士通株式会社 图像相似性确定方法和装置、图像处理方法和装置
CN110009027A (zh) * 2019-03-28 2019-07-12 腾讯科技(深圳)有限公司 图像的比对方法、装置、存储介质及电子装置
CN110458232A (zh) * 2019-08-13 2019-11-15 腾讯科技(深圳)有限公司 一种确定图像风格相似度的方法及设备
WO2023142753A1 (zh) * 2022-01-27 2023-08-03 华为技术有限公司 图像相似性度量方法及其装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117632772A (zh) * 2024-01-25 2024-03-01 鱼快创领智能科技(南京)有限公司 一种ui自动化测试的方法
CN117632772B (zh) * 2024-01-25 2024-04-16 鱼快创领智能科技(南京)有限公司 一种ui自动化测试的方法

Also Published As

Publication number Publication date
CN116883698B (zh) 2023-12-26

Similar Documents

Publication Publication Date Title
CN111028213B (zh) 图像缺陷检测方法、装置、电子设备及存储介质
CN110399890B (zh) 图像识别方法、装置、电子设备及可读存储介质
WO2016062159A1 (zh) 图像匹配方法及手机应用测试平台
KR101165359B1 (ko) 이미지와 이미지 또는 이미지와 동영상 사이의 상호 관계 분석 장치 및 방법
TW202139183A (zh) 基於人工智慧的物體檢測方法、裝置、設備及儲存媒體
CN112052186B (zh) 目标检测方法、装置、设备以及存储介质
CN116883698B (zh) 一种图像对比方法及相关装置
US10866984B2 (en) Sketch-based image searching system using cell-orientation histograms and outline extraction based on medium-level features
US11908183B2 (en) Image analysis and processing pipeline with real-time feedback and autocapture capabilities, and visualization and configuration system
CN111222548A (zh) 相似图像检测方法、装置、设备及存储介质
CN110427746A (zh) 滑块验证码验证方法、装置、存储介质和计算机设备
AU2018202767A1 (en) Data structure and algorithm for tag less search and svg retrieval
CN110807110A (zh) 结合局部和全局特征的图片搜索方法、装置及电子设备
JP2011014152A (ja) 異常領域検出装置および異常領域検出方法
CN114374760A (zh) 图像测试方法、装置、计算机设备及计算机可读存储介质
CN114445268A (zh) 一种基于深度学习的服装风格迁移方法及系统
CN108960012B (zh) 特征点检测方法、装置及电子设备
KR20110066011A (ko) 이미지 특성 추출을 이용한 유사 쉐이더 검색장치 및 방법
CN114548218A (zh) 图像匹配方法、装置、存储介质和电子装置
CN114782822A (zh) 电力设备的状态检测方法、装置、电子设备及存储介质
Zhou et al. Saliency detection based on weighted saliency probability
CN113822871A (zh) 基于动态检测头的目标检测方法、装置、存储介质及设备
Shen et al. A holistic image segmentation framework for cloud detection and extraction
Bergevin et al. Detection and characterization of junctions in a 2D image
Pul et al. Automatic Functionality Verification of Hybrid Set-Top Boxes With Dynamic User Interface

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