CN117437451B - 图像匹配方法、装置、设备及存储介质 - Google Patents

图像匹配方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN117437451B
CN117437451B CN202311766317.1A CN202311766317A CN117437451B CN 117437451 B CN117437451 B CN 117437451B CN 202311766317 A CN202311766317 A CN 202311766317A CN 117437451 B CN117437451 B CN 117437451B
Authority
CN
China
Prior art keywords
preset
matching
point set
feature
characteristic 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.)
Active
Application number
CN202311766317.1A
Other languages
English (en)
Other versions
CN117437451A (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.)
Xi'an Xintong Semiconductor Technology Co ltd
Original Assignee
Xi'an Xintong Semiconductor Technology 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 Xi'an Xintong Semiconductor Technology Co ltd filed Critical Xi'an Xintong Semiconductor Technology Co ltd
Priority to CN202311766317.1A priority Critical patent/CN117437451B/zh
Publication of CN117437451A publication Critical patent/CN117437451A/zh
Application granted granted Critical
Publication of CN117437451B publication Critical patent/CN117437451B/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/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
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请公开了一种图像匹配方法、装置、设备及存储介质,本方案通过使用新一代的GPU图形和计算接口Vulkan,实现了基于特征的图像匹配的并行加速计算,使基于特征的图像匹配利用GPU并行加速有了新的方式;另外,Vulkan作为新一代的图形和计算接口,相对于其他接口具有更高的性能、更好的可扩展性、更好的控制权、更少的开销和更好的多线程支持等优点;同时,Vulkan做为一个标准接口,为图像匹配利用显卡实现并行加速提供了更好的通用性;并且,Vulkan作为图形处理与计算统一的接口,在进行图像相关处理和并行计算时只需要使用一套接口就可以完成,从而提高了进行特征匹配加速计算时的灵活性。

Description

图像匹配方法、装置、设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及图像匹配方法、装置、设备及存储介质。
背景技术
图像匹配是将两幅图像中具有相同或相似属性的内容进行像素上的识别与对齐。一般而言,待匹配的两幅图像通常取自相同或相似的场景或目标,从而具有一定的可匹配性。目前,基于特征的图像匹配方法得到了广泛研究,该方法主要包括特征提取、特征匹配以及匹配筛选三个过程,具体地,是通过分别提取两幅图像中的特征点后得到两组特征点集,然后对这两组特征点集做特征匹配,最终从特征匹配的结果中筛选出正确匹配的特征点。
相关技术中,由于上述特征匹配过程的计算量较大,从而会影响图像匹配的速度,因此,需要对特征匹配的过程进行加速处理。传统地,均是利用并行计算架构(ComputeUnified Device Architecture,简称CUDA)、开放计算语言(Open Computing Language,简称OpenCL)接口等方式实现的。
但是,采用上述方式进行特征匹配时均存在灵活性较差的问题。
发明内容
本申请旨在至少解决现有技术中存在的技术问题,为此,本申请第一方面提出一种图像匹配方法,该方法包括:
将待检测的目标图像对应的第一特征点集及源图像对应的第二特征点集输入至Vulkan特征点匹配加速模块中进行特征匹配处理,生成特征匹配结果;
基于特征匹配结果,生成目标图像及源图像的图像匹配结果。
在一种可能的实施方式中,Vulkan特征点匹配加速模块包括匹配接口,将待检测的目标图像对应的第一特征点集及源图像对应的第二特征点集输入至Vulkan特征点匹配加速模块中进行特征匹配处理,生成特征匹配结果,包括:
将待检测的目标图像对应的第一特征点集及源图像对应的第二特征点集输入至匹配接口中,通过预设匹配算法对第一特征点集及第二特征点集进行特征匹配处理,生成特征匹配结果。
在一种可能的实施方式中,第一特征点集中包括多个第一特征点,第二特征点集中包括多个第二特征点,将待检测的目标图像对应的第一特征点集及源图像对应的第二特征点集输入至匹配接口中,通过预设匹配算法对第一特征点集及第二特征点集进行特征匹配处理,生成特征匹配结果,包括:
将待检测的目标图像对应的第一特征点集及源图像对应的第二特征点集输入至匹配接口中,并将第一特征点集及第二特征点集拷贝至预设存储缓冲区中;
将预设命令缓冲区中的多种操作命令提交至预设队列中,并基于预设队列中的多种操作命令调度预设计算管线中绑定的预设匹配算法;
通过预设描述符获取预设存储缓冲区中的第一特征点集及第二特征点集;
并发执行目标并发数量的预设匹配算法对多个第一特征点及多个第二特征点进行多次匹配计算,生成特征匹配结果。
在一种可能的实施方式中,基于预设队列中的多种操作命令调度预设计算管线中绑定的预设匹配算法,包括:
通过预设描述符获取预设存储缓冲区中的预设标记信息;
基于预设队列中的多种操作命令调度预设计算管线中绑定的与预设标记信息对应的预设匹配算法。
在一种可能的实施方式中,该方法还包括:
获取第一特征点集对应的第一维数信息及第二特征点集对应的第二维数信息;
基于第一维数信息及第二维数信息,确定并发执行预设匹配算法的目标并发数量。
在一种可能的实施方式中,Vulkan特征点匹配加速模块还包括初始化接口,该方法还包括:
通过初始化接口预先创建队列对象、描述符集对象、计算管线对象、预设命令缓冲区以及预设存储缓冲区;其中,队列对象用于提供多个预设队列;描述符集对象用于提供预设描述符集,预设描述符集中包括多个预设描述符;计算管线对象用于绑定预设计算着色器中编译的预设匹配算法;预设命令缓冲区用于预先录制多种操作命令;预设存储缓冲区用于预先拷贝第一特征点集及第二特征点集、保存预设标记信息以及保存特征匹配结果。
在一种可能的实施方式中,Vulkan特征点匹配加速模块还包括清理接口,该方法还包括:
在获取到匹配结束指令后,通过清理接口对队列对象、描述符集对象、计算管线对象、预设命令缓冲区以及预设存储缓冲区进行清理。
本申请第二方面提出一种图像匹配装置,该装置包括:
匹配模块,用于将待检测的目标图像对应的第一特征点集及源图像对应的第二特征点集输入至Vulkan特征点匹配加速模块中进行特征匹配处理,生成特征匹配结果;
生成模块,用于基于特征匹配结果,生成目标图像及源图像的图像匹配结果。
在一种可能的实施方式中,Vulkan特征点匹配加速模块包括匹配接口,上述匹配模块具体用于:
将待检测的目标图像对应的第一特征点集及源图像对应的第二特征点集输入至匹配接口中,通过预设匹配算法对第一特征点集及第二特征点集进行特征匹配处理,生成特征匹配结果。
在一种可能的实施方式中,第一特征点集中包括多个第一特征点,第二特征点集中包括多个第二特征点,上述匹配模块还用于:
将待检测的目标图像对应的第一特征点集及源图像对应的第二特征点集输入至匹配接口中,并将第一特征点集及第二特征点集拷贝至预设存储缓冲区中;
将预设命令缓冲区中的多种操作命令提交至预设队列中,并基于预设队列中的多种操作命令调度预设计算管线中绑定的预设匹配算法;
通过预设描述符获取预设存储缓冲区中的第一特征点集及第二特征点集;
并发执行目标并发数量的预设匹配算法对多个第一特征点及多个第二特征点进行多次匹配计算,生成特征匹配结果。
在一种可能的实施方式中,上述匹配模块还用于:
通过预设描述符获取预设存储缓冲区中的预设标记信息;
基于预设队列中的多种操作命令调度预设计算管线中绑定的与预设标记信息对应的预设匹配算法。
在一种可能的实施方式中,上述图像匹配装置还用于:
获取第一特征点集对应的第一维数信息及第二特征点集对应的第二维数信息;
基于第一维数信息及第二维数信息,确定并发执行预设匹配算法的目标并发数量。
在一种可能的实施方式中,Vulkan特征点匹配加速模块还包括初始化接口,上述图像匹配装置还用于:
通过初始化接口预先创建队列对象、描述符集对象、计算管线对象、预设命令缓冲区以及预设存储缓冲区;其中,队列对象用于提供多个预设队列;描述符集对象用于提供预设描述符集,预设描述符集中包括多个预设描述符;计算管线对象用于绑定预设计算着色器中编译的预设匹配算法;预设命令缓冲区用于预先录制多种操作命令;预设存储缓冲区用于预先拷贝第一特征点集及第二特征点集、保存预设标记信息以及保存特征匹配结果。
在一种可能的实施方式中,Vulkan特征点匹配加速模块还包括清理接口,上述图像匹配装置还用于:
在获取到匹配结束指令后,通过清理接口对队列对象、描述符集对象、计算管线对象、预设命令缓冲区以及预设存储缓冲区进行清理。
本申请第三方面提出一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如第一方面所述的图像匹配方法。
本申请第四方面提出一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如第一方面所述的图像匹配方法。
本申请实施例具有以下有益效果:
本申请实施例提供的图像匹配方法,该方法包括:将待检测的目标图像对应的第一特征点集及源图像对应的第二特征点集输入至Vulkan特征点匹配加速模块中进行特征匹配处理,生成特征匹配结果,基于特征匹配结果,生成目标图像及源图像的图像匹配结果。本方案通过使用新一代的GPU图形和计算接口Vulkan,实现了基于特征的图像匹配的并行加速计算,使基于特征的图像匹配利用GPU并行加速有了新的方式;另外,Vulkan作为新一代的图形和计算接口,相对于其他接口具有更高的性能、更好的可扩展性、更好的控制权、更少的开销和更好的多线程支持等优点;同时,Vulkan做为一个标准接口,为图像匹配利用显卡实现并行加速提供了更好的通用性;并且,Vulkan作为图形处理与计算统一的接口,在进行图像相关处理和并行计算时只需要使用一套接口就可以完成,从而提高了进行特征匹配加速计算时的灵活性。
附图说明
图1为本申请实施例提供的一种计算机设备的框图;
图2为本申请实施例提供的一种图像匹配方法的步骤流程图;
图3为本申请实施例提供的一种生成特征匹配结果的步骤流程图;
图4为本申请实施例提供的一种调度预设匹配算法的步骤流程图;
图5为本申请实施例提供的一种确定目标并发数量的步骤流程图;
图6为本申请实施例提供的一种图像匹配方法的整体框架图;
图7为本申请实施例提供的图像匹配装置的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图像匹配是将两幅图像中具有相同或相似属性的内容进行像素上的识别与对齐。一般而言,待匹配的两幅图像通常取自相同或相似的场景或目标,从而具有一定的可匹配性。目前,基于特征的图像匹配方法得到了广泛研究,该方法主要包括特征提取、特征匹配以及匹配筛选三个过程,具体地,是通过分别提取两幅图像中的特征点后得到两组特征点集,然后对这两组特征点集做特征匹配,最终从特征匹配的结果中筛选出正确匹配的特征点。
相关技术中,由于上述特征匹配过程的计算量较大,从而会影响图像匹配的速度,因此,需要对特征匹配的过程进行加速处理。目前现有的方案包括通过优化算法的方式提升匹配速度,但是这种方式对速度提升较少,而且很多优化后的算法会导致匹配的精度不稳定。
还可以利用多线程的并行计算的方式提升匹配速度,但一般CPU的多线程数量很少,目前市场上配置高一点的服务器也只能达到60多个线程的配置,因此,利用多线程的并行计算来加速,理论上最大会有五六十倍的加速,存在速度提升有限的问题。
还可以通过并行计算架构(Compute Unified Device Architecture,简称CUDA)的方式提升匹配速度,其是利用GPU的并行计算来现实对匹配速度的提升,由于GPU的内核数量较多,目前市场上配置高一点的GPU会有好几千个计算单元。虽然GPU的并行加速要比CPU多线程并行加速快很多,但是CUDA必须在安装特定显卡的机器上运行,因此存在通用性、灵活性较差的问题。
还可以利用开放计算语言(Open Computing Language,简称OpenCL)接口的方式提升匹配速度,其也是利用GPU的并行计算来现实对匹配速度的提升,但是如果想要在图像匹配的应用程序中使用GPU做一些其他图像相关的处理,例如绘图处理、高斯模糊处理等,则需使用其他的GPU图像接口。因此,也存在使用灵活性较差的问题。
有鉴于此,本申请提出了一种图像匹配方法,通过使用新一代的GPU图形和计算接口Vulkan,实现了基于特征的图像匹配的并行加速计算,使基于特征的图像匹配利用GPU并行加速有了新的方式;另外,Vulkan作为新一代的图形和计算接口,相对于其他接口具有更高的性能、更好的可扩展性、更好的控制权、更少的开销和更好的多线程支持等优点;同时,Vulkan做为一个标准接口,为图像匹配利用显卡实现并行加速提供了更好的通用性;并且,Vulkan作为图形处理与计算统一的接口,在进行图像相关处理和并行计算时只需要使用一套接口就可以完成,从而提高了进行特征匹配加速计算时的灵活性。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本公开实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。另外,“基于”或“根据”的使用意味着开放和包容性,因为“基于”或“根据”一个或多个所述条件或值的过程、步骤、计算或其他动作在实践中可以基于额外条件或超出所述的值。
本申请提供的图像匹配方法可以应用于计算机设备(电子设备)中,计算机设备可以是服务器,也可以是终端,其中,服务器可以为一台服务器也可以为由多台服务器组成的服务器集群,本申请实施例对此不作具体限定,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。
以计算机设备是服务器为例,图1示出了一种服务器的框图,如图1所示,服务器可以包括通过系统总线连接的处理器和存储器。其中,该服务器的处理器用于提供计算和控制能力。该服务器的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序以及数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机程序被处理器执行时以实现一种图像匹配方法。
本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,可选地服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
需要说明的是,本申请实施例的执行主体可以是计算机设备,也可以是图像匹配装置,下述方法实施例中就以计算机设备为执行主体进行说明。
图2为本申请实施例提供的一种图像匹配方法的步骤流程图。如图2所示,该方法包括以下步骤:
步骤202、将待检测的目标图像对应的第一特征点集及源图像对应的第二特征点集输入至Vulkan特征点匹配加速模块中进行特征匹配处理,生成特征匹配结果。
其中,源图像可以为一张图像,也可以为多张图像。在源图像为多张图像的情况下,可以分别将目标图像与各张源图像进行图像匹配。
在进行图像匹配时,可以先对目标图像及源图像进行特征提取,从而得到目标图像对应的第一特征点集及源图像对应的第二特征点集。其中,特征提取可以包括特征点检测及特征点描述两个过程,特征点检测就是提取出显著并且具有可区分性和可匹配性的点结构,常见的特征点一般为图像内容中的角点、交叉点、闭合区域中心点等具有一定物理结构的点。特征点描述就是用数学向量对特征点进行描述,其主要保证不同的向量和不同的特征点之间具有对应关系,即一个特征点对应一个向量。
可选地,可以采用预设特征提取算法进行特征提取,预设特征提取算法可以为尺度不变特征转换算法(Scale-Invariant Feature Transform,简称SIFT)、加速稳健特征算法(Speeded-Up Robust Features,简称SURF)、快速特征点提取和描述算法(OrientedFAST and Rotated BRIEF,简称ORB)等,当然也可以为其他类型的预设特征提取算法,本申请实施例对预设特征提取算法的类型不作具体限定。另外,本申请实施例中特征提取的过程可以参考现有的实现过程,在此不再赘述。
在得到第一特征点集及第二特征点集后,可以对这两组特征点集做特征匹配,特征匹配实际上就是特征向量之间的相似度计算,从而确定出相似度最高的特征点对,即为匹配的特征点对。
由于本申请中采用Vulkan对特征匹配的过程进行加速,从而,在对这两组特征点集做特征匹配时,可以将待检测的目标图像对应的第一特征点集及源图像对应的第二特征点集输入至Vulkan特征点匹配加速模块中进行特征匹配处理,生成特征匹配结果。这里的特征匹配结果即为所有匹配的特征点对。
其中,Vulkan特征点匹配加速模块是使用Vulkan实现特征匹配加速计算的模块。Vulkan是一个跨平台的GPU图形和计算接口,最早由科纳斯组织 (Khronos Group)在2015年游戏开发者大会(GDC)上发表。Vulkan针对实时3D程序(如电子游戏)设计,旨在提供更低的CPU开销与更直接的GPU控制。
在一些可选地实施例中,Vulkan特征点匹配加速模块可以包括初始化接口init、匹配接口match及清理接口clean。
其中,初始化接口init用于实现Vulkan特征点匹配加速模块中各种资源对象的初始化创建工作。可选地,通过初始化接口可以先建立Vulkan实例对象,这相当于是Vulkan应用程序的起始。接着,可以选择确定可用的至少一个物理设备即GPU,并根据选择的至少一个物理设备创建逻辑设备对象以及队列对象。需要说明的是,Vulkan支持对多个物理设备的操作,Vulkan特征点匹配加速模块必须对每一个使用的物理设备创建单独的逻辑设备对象。
另外,上述物理设备通常是计算机系统的一部分,计算机系统里有固定数量的物理设备,每个物理设备都有自己的一组固定的功能。逻辑设备是物理设备的软件抽象,通常在创建逻辑设备对象之前,必须查找连接的物理设备。
上述队列对象用于提供多个预设队列,待执行的多种操作命令需要提交至预设队列中才能够执行。
还可以通过初始化接口预先创建描述符集对象、计算管线对象、预设命令缓冲区以及预设存储缓冲区。其中,描述符集对象用于提供预设描述符集,预设描述符集中包括多个预设描述符。描述符集对象是连接预设计算着色器和预设存储缓冲区的桥梁,预设计算着色器用于编译并实现预设匹配算法。
计算管线对象用于绑定预设计算着色器中编译的预设匹配算法,即可以现在预设计算着色器中编译预设匹配算法,然后再将编译好的预设匹配算法绑定到计算管线对象中,计算管线对象提供了并行计算的功能。
预设命令缓冲区用于预先录制多种操作命令,即Vulkan的所有操作命令需要提前录制到预设命令缓冲区中,例如,绑定计算管线命令、绑定描述符集命令、调度命令、资源同步相关的命令等。在需要执行这些操作命令时将预设命令缓冲区中的多种操作命令提交至队列对象中。
预设存储缓冲区用于预先拷贝第一特征点集及第二特征点集及保存特征匹配结果。其中,预设存储缓冲区这一对象提供了主机和计算着色器对数据交互的载体,即可以将输入的第一特征点集及第二特征点集拷贝至预设存储缓冲区中,从而在计算着色器中可以通过预设描述符访问到该输入数据,并在通过计算着色器中的预设匹配算法计算完成之后,将特征匹配结果再保存到预设存储缓冲区中,最终就可以从预设存储缓冲区中取出该特征匹配结果。
在初始化创建工作完成之后,需要通过匹配接口match进行具体地匹配处理,可选地,可以将待检测的目标图像对应的第一特征点集及源图像对应的第二特征点集输入至匹配接口中,通过预设匹配算法对第一特征点集及第二特征点集进行特征匹配处理,生成特征匹配结果。换言之,可以将第一特征点集及第二特征点集作为匹配接口match的输入参数,输出参数即为特征匹配结果。
在一些可选地实施例中,第一特征点集中包括多个第一特征点,第二特征点集中包括多个第二特征点,在通过匹配接口进行特征匹配时,如图3所示,图3为本申请实施例提供的一种生成特征匹配结果的步骤流程图,包括:
步骤302、将待检测的目标图像对应的第一特征点集及源图像对应的第二特征点集输入至匹配接口中,并将第一特征点集及第二特征点集拷贝至预设存储缓冲区中。
步骤304、将预设命令缓冲区中的多种操作命令提交至预设队列中,并基于预设队列中的多种操作命令调度预设计算管线中绑定的预设匹配算法。
步骤306、通过预设描述符获取预设存储缓冲区中的第一特征点集及第二特征点集。
步骤308、并发执行目标并发数量的预设匹配算法对多个第一特征点及多个第二特征点进行多次匹配计算,生成特征匹配结果。
其中,第一特征点集及第二特征点集作为匹配接口的输入参数并输入进去后,会先将第一特征点集及第二特征点集拷贝至预设存储缓冲区中。并且,为了能够执行相应的操作命令来调度预设匹配算法对输入数据进行匹配处理,还需要将预设命令缓冲区中的多种操作命令提交至预设队列中,并基于预设队列中的多种操作命令调度预设计算管线中绑定的预设匹配算法。
在一些可选地实施例中,预设匹配算法可以预先设置多种,例如可以为欧式距离算法、汉明距离算法、余弦相似度算法等。当然也可以为其他类型的预设匹配算法,本申请实施例对此不作具体限定。在实际应用中,可以根据向量的维度大小、特征点的类型等属性信息来选取合适的预设匹配算法,从而提高特征匹配的准确性。另外,需要说明的是,针对第一特征点集及第二特征点集中的所有特征点,需要使用同一种预设匹配算法进行特征匹配处理。在获取到新的第一特征点集及新的第二特征点集时,可以重新选择相应的预设匹配算法。
其中,欧式距离算法是最常见的一种距离度量方式,衡量的是多维空间中两个点之间的绝对距离,如果距离为零,则说明两个多维空间的点是完全相同的。两个n维向量和向量/>之间的欧式距离/>可以通过公式(1)计算得到。
(1)
从而在采用欧式距离算法进行特征匹配处理时,可以针对第一特征点集中的各第一特征点,计算该第一特征点分别与第二特征点集中的所有第二特征点之间的欧式距离,欧式距离越小,则认为两个特征点越相似,即为匹配的特征点对。
汉明距离算法可以用来计算长度相等两个向量的相似度。其中,汉明距离的计算方式为两个比较向量的每一位是否相同,若不同则汉明距离加1,这样即可得到汉明距离。向量相似度越高,对应的汉明距离越小。
从而在采用汉明距离算法进行特征匹配处理时,可以针对第一特征点集中的各第一特征点,计算该第一特征点分别与第二特征点集中的所有第二特征点之间的汉明距离,欧式距离越小,则认为两个特征点越相似,即为匹配的特征点对。
余弦相似度算法是利用两个向量之间的夹角的余弦值来衡量两个向量之间的相似度。两个向量越相似夹角越小,余弦值越接近1。在n维空间中,对于向量的余弦值/>可以通过公式(2)计算得到。余弦相似度的取值范围为[-1,1],越接近于1表示相似度越高。
(2)
从而在采用余弦相似度算法进行特征匹配处理时,可以针对第一特征点集中的各第一特征点,计算该第一特征点分别与第二特征点集中的所有第二特征点之间的余弦相似度,余弦相似度越接近1,则认为两个特征点越相似,即为匹配的特征点对。
由于预设匹配算法预先可以设置多种,从而在调度预设匹配算法时,如图4所示,图4为本申请实施例提供的一种调度预设匹配算法的步骤流程图,包括:
步骤402、通过预设描述符获取预设存储缓冲区中的预设标记信息。
步骤404、基于预设队列中的多种操作命令调度预设计算管线中绑定的与预设标记信息对应的预设匹配算法。
其中,上述多种预设匹配算法可以采用着色语言(OpenGL Shading Language,简称GLSL)或者高级着色器语言(High Level Shading Language,简称HLSL)编写,并且需要在预设存储缓冲区中预先传入每一种预设匹配算法对应的预设标记信息,本申请实施例对预设标记信息的具体类型不作限定。从而在调度执行预设匹配算法时,需要先通过预设描述符获取预设存储缓冲区中的预设标记信息,再基于预设队列中的多种操作命令调度预设计算管线中绑定的与预设标记信息对应的预设匹配算法。
另外,需要说明的是,在Vulkan特征点匹配加速模块中执行预设匹配算法时,其所需要的中间二进制语言(Standard Portable Intermediate Representation-V,简称SPIR-V)无法直接进行编写,因此需要使用GLSL语言或者HLSL语言编写后,再转换为SPIR-V格式,具体地转换过程可以参考现有技术,在此不再赘述。
本实施例中,通过提供多种预设匹配算法,可以灵活地调度相应的预设匹配算法,从而提高了特征匹配的准确性;另外,通过预先设置的预设标记信息来调度对应的预设匹配算法,提高了调度的便捷性及效率,进而提高了进行特征匹配的效率。
在调度相应的预设匹配算法后,就可以通过预设描述符获取预设存储缓冲区中的第一特征点集及第二特征点集,并且可以并发执行目标并发数量的预设匹配算法对多个第一特征点及多个第二特征点进行多次匹配计算,生成特征匹配结果。
其中,若第一特征点集中有m个第一特征点,第二特征点集中有n个第二特征点,由于针对每一个第一特征点,都要分别与n个第二特征点进行相似度计算,从而总共就会有m×n次的相似度计算,而每一次的相似度计算都是一次预设匹配算法的执行。并且,m×n次的相似度计算在GPU中是可以并发执行的。
从而,需要确定目标并发数量,可选地,如图5所示,图5为本申请实施例提供的一种确定目标并发数量的步骤流程图,包括:
步骤502、获取第一特征点集对应的第一维数信息及第二特征点集对应的第二维数信息。
步骤504、基于第一维数信息及第二维数信息,确定并发执行预设匹配算法的目标并发数量。
其中,可以预先在计算着色器中设置第一特征点集对应的第一维数信息及第二特征点集对应的第二维数信息,还可以设置第一特征点集中的每个第一特征点对应的第一访问下标信息,及第二特征点集中的每个第二特征点对应的第二访问下标信息。
第一维数信息用于表征第一特征点的数量,第二维数信息用于表征第二特征点的数量,从而基于第一维数信息及第二维数信息,就可以确定并发执行预设匹配算法的目标并发数量。可选地,可以直接根据第一维数信息及第二维数信息的乘积来确定目标并发数量。例如,第一维数信息为m,第二维数信息为n,那么目标并发数量就可以为m×n。
另外,在并发执行预设匹配算法时,每一个执行的预设匹配算法所计算的具体的第一特征点及第二特征点可以根据第一访问下标信息及第二访问下标信息来确定。
本实施例中,通过根据第一维数信息及第二维数信息来确定并发执行预设匹配算法的目标并发数量,这样可以准确地并发执行所有的相似度计算的任务,从而提高了进行特征匹配的速度。
步骤204、基于特征匹配结果,生成目标图像及源图像的图像匹配结果。
其中,在特征匹配完成后,其中匹配得到的特征点对可能是错误的,例如,在该特征点的位置不准确或图像存在噪声的情况下。因此,为了提高匹配精度,需要使用相关算法进行过滤,从而筛选出正确匹配的特征点对。例如,可以采用外点去除算法(RandomSampleConsensus,简称RANSAC)来筛选出正确匹配的特征点对,当然也可以采用其他算法筛选出正确匹配的特征点对,本申请实施例对此不作具体限定。
因此,可以先对特征匹配结果进行过滤,从而得到目标特征匹配结果。由于该目标特征匹配结果中包含了正确匹配的特征点对,从而就可以基于该目标特征匹配结果生成目标图像及源图像的图像匹配结果。生成图像匹配结果的具体过程可以参考现有技术,例如,可以根据目标特征匹配结果得到图像空间坐标转换参数,从而基于坐标转换参数得到图像匹配结果。
在一些可选地实施例中,Vulkan特征点匹配加速模块还可以包括清理接口,从而,在获取到匹配结束指令后,通过清理接口对队列对象、描述符集对象、计算管线对象、预设命令缓冲区以及预设存储缓冲区进行清理。
其中,在Vulkan特征点匹配加速模块不需要继续进行特征匹配处理时,即可以根据获取到的匹配结束指令来执行清理。从而可以通过清理接口对初始化创建工作中的所有资源对象全部释放掉。
本申请实施例中,该方法包括:将待检测的目标图像对应的第一特征点集及源图像对应的第二特征点集输入至Vulkan特征点匹配加速模块中进行特征匹配处理,生成特征匹配结果,基于特征匹配结果,生成目标图像及源图像的图像匹配结果。本方案通过使用新一代的GPU图形和计算接口Vulkan,实现了基于特征的图像匹配的并行加速计算,使基于特征的图像匹配利用GPU并行加速有了新的方式;另外,Vulkan作为新一代的图形和计算接口,相对于其他接口具有更高的性能、更好的可扩展性、更好的控制权、更少的开销和更好的多线程支持等优点;同时,Vulkan做为一个标准接口,为图像匹配利用显卡实现并行加速提供了更好的通用性;并且,Vulkan作为图形处理与计算统一的接口,在进行图像相关处理和并行计算时只需要使用一套接口就可以完成,从而提高了进行特征匹配加速计算时的灵活性。
图6为本申请实施例提供的一种图像匹配方法的整体框架图,通过使用新一代的GPU图形和计算接口Vulkan,实现了基于特征的图像匹配的并行加速计算,使基于特征的图像匹配利用GPU并行加速有了新的方式;另外,Vulkan作为新一代的图形和计算接口,相对于其他接口具有更高的性能、更好的可扩展性、更好的控制权、更少的开销和更好的多线程支持等优点;同时,Vulkan做为一个标准接口,为图像匹配利用显卡实现并行加速提供了更好的通用性;并且,Vulkan作为图形处理与计算统一的接口,在进行图像相关处理和并行计算时只需要使用一套接口就可以完成,从而提高了进行特征匹配加速计算时的灵活性。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
图7为本申请实施例提供的一种图像匹配装置的结构框图。
如图7所示,该图像匹配装置700包括:
匹配模块702,用于将待检测的目标图像对应的第一特征点集及源图像对应的第二特征点集输入至Vulkan特征点匹配加速模块中进行特征匹配处理,生成特征匹配结果。
生成模块704,用于基于特征匹配结果,生成目标图像及源图像的图像匹配结果。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。上述图像匹配装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块的操作。
在本申请的一个实施例中,提供了一种计算机设备,该计算机设备包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
将待检测的目标图像对应的第一特征点集及源图像对应的第二特征点集输入至Vulkan特征点匹配加速模块中进行特征匹配处理,生成特征匹配结果;
基于特征匹配结果,生成目标图像及源图像的图像匹配结果。
在本申请的一个实施例中,Vulkan特征点匹配加速模块包括匹配接口,处理器执行计算机程序时还实现以下步骤:
将待检测的目标图像对应的第一特征点集及源图像对应的第二特征点集输入至匹配接口中,通过预设匹配算法对第一特征点集及第二特征点集进行特征匹配处理,生成特征匹配结果。
在本申请的一个实施例中,第一特征点集中包括多个第一特征点,第二特征点集中包括多个第二特征点,处理器执行计算机程序时还实现以下步骤:
将待检测的目标图像对应的第一特征点集及源图像对应的第二特征点集输入至匹配接口中,并将第一特征点集及第二特征点集拷贝至预设存储缓冲区中;
将预设命令缓冲区中的多种操作命令提交至预设队列中,并基于预设队列中的多种操作命令调度预设计算管线中绑定的预设匹配算法;
通过预设描述符获取预设存储缓冲区中的第一特征点集及第二特征点集;
并发执行目标并发数量的预设匹配算法对多个第一特征点及多个第二特征点进行多次匹配计算,生成特征匹配结果。
在本申请的一个实施例中,处理器执行计算机程序时还实现以下步骤:
通过预设描述符获取预设存储缓冲区中的预设标记信息;
基于预设队列中的多种操作命令调度预设计算管线中绑定的与预设标记信息对应的预设匹配算法。
在本申请的一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取第一特征点集对应的第一维数信息及第二特征点集对应的第二维数信息;
基于第一维数信息及第二维数信息,确定并发执行预设匹配算法的目标并发数量。
在本申请的一个实施例中,Vulkan特征点匹配加速模块还包括初始化接口,处理器执行计算机程序时还实现以下步骤:
通过初始化接口预先创建队列对象、描述符集对象、计算管线对象、预设命令缓冲区以及预设存储缓冲区;其中,队列对象用于提供多个预设队列;描述符集对象用于提供预设描述符集,预设描述符集中包括多个预设描述符;计算管线对象用于绑定预设计算着色器中编译的预设匹配算法;预设命令缓冲区用于预先录制多种操作命令;预设存储缓冲区用于预先拷贝第一特征点集及第二特征点集、保存预设标记信息以及保存特征匹配结果。
在本申请的一个实施例中,Vulkan特征点匹配加速模块还包括清理接口,处理器执行计算机程序时还实现以下步骤:
在获取到匹配结束指令后,通过清理接口对队列对象、描述符集对象、计算管线对象、预设命令缓冲区以及预设存储缓冲区进行清理。
本申请实施例提供的计算机设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
在本申请的一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
将待检测的目标图像对应的第一特征点集及源图像对应的第二特征点集输入至Vulkan特征点匹配加速模块中进行特征匹配处理,生成特征匹配结果;
基于特征匹配结果,生成目标图像及源图像的图像匹配结果。
在本申请的一个实施例中,Vulkan特征点匹配加速模块包括匹配接口,计算机程序被处理器执行时还实现以下步骤:
将待检测的目标图像对应的第一特征点集及源图像对应的第二特征点集输入至匹配接口中,通过预设匹配算法对第一特征点集及第二特征点集进行特征匹配处理,生成特征匹配结果。
在本申请的一个实施例中,第一特征点集中包括多个第一特征点,第二特征点集中包括多个第二特征点,计算机程序被处理器执行时还实现以下步骤:
将待检测的目标图像对应的第一特征点集及源图像对应的第二特征点集输入至匹配接口中,并将第一特征点集及第二特征点集拷贝至预设存储缓冲区中;
将预设命令缓冲区中的多种操作命令提交至预设队列中,并基于预设队列中的多种操作命令调度预设计算管线中绑定的预设匹配算法;
通过预设描述符获取预设存储缓冲区中的第一特征点集及第二特征点集;
并发执行目标并发数量的预设匹配算法对多个第一特征点及多个第二特征点进行多次匹配计算,生成特征匹配结果。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:
通过预设描述符获取预设存储缓冲区中的预设标记信息;
基于预设队列中的多种操作命令调度预设计算管线中绑定的与预设标记信息对应的预设匹配算法。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取第一特征点集对应的第一维数信息及第二特征点集对应的第二维数信息;
基于第一维数信息及第二维数信息,确定并发执行预设匹配算法的目标并发数量。
在本申请的一个实施例中,Vulkan特征点匹配加速模块还包括初始化接口,计算机程序被处理器执行时还实现以下步骤:
通过初始化接口预先创建队列对象、描述符集对象、计算管线对象、预设命令缓冲区以及预设存储缓冲区;其中,队列对象用于提供多个预设队列;描述符集对象用于提供预设描述符集,预设描述符集中包括多个预设描述符;计算管线对象用于绑定预设计算着色器中编译的预设匹配算法;预设命令缓冲区用于预先录制多种操作命令;预设存储缓冲区用于预先拷贝第一特征点集及第二特征点集、保存预设标记信息以及保存特征匹配结果。
在本申请的一个实施例中,Vulkan特征点匹配加速模块还包括清理接口,计算机程序被处理器执行时还实现以下步骤:
在获取到匹配结束指令后,通过清理接口对队列对象、描述符集对象、计算管线对象、预设命令缓冲区以及预设存储缓冲区进行清理。
本实施例提供的计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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 (7)

1.一种图像匹配方法,其特征在于,所述方法包括:
将待检测的目标图像对应的第一特征点集及源图像对应的第二特征点集输入至Vulkan特征点匹配加速模块中的匹配接口中,并将所述第一特征点集及所述第二特征点集拷贝至预设存储缓冲区中;所述第一特征点集中包括多个第一特征点,所述第二特征点集中包括多个第二特征点;
将预设命令缓冲区中的多种操作命令提交至预设队列中,并基于所述预设队列中的多种操作命令调度预设计算管线中绑定的预设匹配算法;
通过预设描述符获取所述预设存储缓冲区中的所述第一特征点集及所述第二特征点集;
获取所述第一特征点集对应的第一维数信息及所述第二特征点集对应的第二维数信息;基于所述第一维数信息及所述第二维数信息的乘积,确定并发执行所述预设匹配算法的目标并发数量;
并发执行所述目标并发数量的所述预设匹配算法对所述多个第一特征点及所述多个第二特征点进行多次匹配计算,生成所述特征匹配结果;
基于所述特征匹配结果,生成所述目标图像及所述源图像的图像匹配结果。
2.根据权利要求1所述的方法,其特征在于,所述基于所述预设队列中的多种操作命令调度预设计算管线中绑定的所述预设匹配算法,包括:
通过所述预设描述符获取所述预设存储缓冲区中的预设标记信息;
基于所述预设队列中的多种操作命令调度预设计算管线中绑定的与所述预设标记信息对应的所述预设匹配算法。
3.根据权利要求1或2所述的方法,其特征在于,所述Vulkan特征点匹配加速模块还包括初始化接口,所述方法还包括:
通过所述初始化接口预先创建队列对象、描述符集对象、计算管线对象、预设命令缓冲区以及预设存储缓冲区;其中,所述队列对象用于提供多个预设队列;所述描述符集对象用于提供预设描述符集,所述预设描述符集中包括多个预设描述符;所述计算管线对象用于绑定预设计算着色器中编译的所述预设匹配算法;所述预设命令缓冲区用于预先录制多种操作命令;所述预设存储缓冲区用于预先拷贝所述第一特征点集及所述第二特征点集、保存预设标记信息以及保存所述特征匹配结果。
4.根据权利要求3所述的方法,其特征在于,所述Vulkan特征点匹配加速模块还包括清理接口,所述方法还包括:
在获取到匹配结束指令后,通过所述清理接口对所述队列对象、所述描述符集对象、所述计算管线对象、所述预设命令缓冲区以及所述预设存储缓冲区进行清理。
5.一种图像匹配装置,其特征在于,所述装置包括:
匹配模块,用于将待检测的目标图像对应的第一特征点集及源图像对应的第二特征点集输入至Vulkan特征点匹配加速模块中的匹配接口中,并将所述第一特征点集及所述第二特征点集拷贝至预设存储缓冲区中;所述第一特征点集中包括多个第一特征点,所述第二特征点集中包括多个第二特征点;将预设命令缓冲区中的多种操作命令提交至预设队列中,并基于所述预设队列中的多种操作命令调度预设计算管线中绑定的预设匹配算法;通过预设描述符获取所述预设存储缓冲区中的所述第一特征点集及所述第二特征点集;获取所述第一特征点集对应的第一维数信息及所述第二特征点集对应的第二维数信息;基于所述第一维数信息及所述第二维数信息的乘积,确定并发执行所述预设匹配算法的目标并发数量;并发执行所述目标并发数量的所述预设匹配算法对所述多个第一特征点及所述多个第二特征点进行多次匹配计算,生成所述特征匹配结果;
生成模块,用于基于所述特征匹配结果,生成所述目标图像及所述源图像的图像匹配结果。
6.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1-4任一项所述的图像匹配方法。
7.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1-4任一项所述的图像匹配方法。
CN202311766317.1A 2023-12-21 2023-12-21 图像匹配方法、装置、设备及存储介质 Active CN117437451B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311766317.1A CN117437451B (zh) 2023-12-21 2023-12-21 图像匹配方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311766317.1A CN117437451B (zh) 2023-12-21 2023-12-21 图像匹配方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN117437451A CN117437451A (zh) 2024-01-23
CN117437451B true CN117437451B (zh) 2024-04-16

Family

ID=89548410

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311766317.1A Active CN117437451B (zh) 2023-12-21 2023-12-21 图像匹配方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN117437451B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103345382A (zh) * 2013-07-15 2013-10-09 郑州师范学院 一种cpu+gpu群核超算系统及sift特征匹配并行计算方法
CN104732221A (zh) * 2015-03-30 2015-06-24 郑州师范学院 一种基于OpenCL并行加速的SIFT特征匹配方法
CN111191612A (zh) * 2019-12-31 2020-05-22 深圳云天励飞技术有限公司 视频图像匹配方法、装置、终端设备及可读存储介质
CN112163588A (zh) * 2020-10-09 2021-01-01 西安微电子技术研究所 基于智能进化的异源图像目标检测方法、存储介质及设备
CN112508037A (zh) * 2020-11-23 2021-03-16 北京配天技术有限公司 图像模板匹配方法、装置及存储装置
CN113256481A (zh) * 2021-06-21 2021-08-13 腾讯科技(深圳)有限公司 图形处理器中的任务处理方法、装置、电子设备及存储介质
CN113920337A (zh) * 2021-10-21 2022-01-11 北京航空航天大学杭州创新研究院 一种基于dsp的舰船模板匹配加速方法及系统
CN114494546A (zh) * 2020-11-13 2022-05-13 华为技术有限公司 一种数据处理方法、装置和电子设备
WO2022100685A1 (zh) * 2020-11-13 2022-05-19 华为技术有限公司 一种绘制命令处理方法及其相关设备
CN114528090A (zh) * 2020-11-06 2022-05-24 华为技术有限公司 基于Vulkan实现图形渲染的方法及相关装置
CN117149665A (zh) * 2023-10-31 2023-12-01 芯瞳半导体技术(山东)有限公司 持续集成方法、控制设备、持续集成系统及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10255652B2 (en) * 2017-01-18 2019-04-09 Amazon Technologies, Inc. Dynamic and application-specific virtualized graphics processing
CN111309479B (zh) * 2020-02-14 2023-06-06 北京百度网讯科技有限公司 一种任务并行处理的实现方法、装置、设备和介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103345382A (zh) * 2013-07-15 2013-10-09 郑州师范学院 一种cpu+gpu群核超算系统及sift特征匹配并行计算方法
CN104732221A (zh) * 2015-03-30 2015-06-24 郑州师范学院 一种基于OpenCL并行加速的SIFT特征匹配方法
CN111191612A (zh) * 2019-12-31 2020-05-22 深圳云天励飞技术有限公司 视频图像匹配方法、装置、终端设备及可读存储介质
CN112163588A (zh) * 2020-10-09 2021-01-01 西安微电子技术研究所 基于智能进化的异源图像目标检测方法、存储介质及设备
CN114528090A (zh) * 2020-11-06 2022-05-24 华为技术有限公司 基于Vulkan实现图形渲染的方法及相关装置
CN114494546A (zh) * 2020-11-13 2022-05-13 华为技术有限公司 一种数据处理方法、装置和电子设备
WO2022100685A1 (zh) * 2020-11-13 2022-05-19 华为技术有限公司 一种绘制命令处理方法及其相关设备
CN112508037A (zh) * 2020-11-23 2021-03-16 北京配天技术有限公司 图像模板匹配方法、装置及存储装置
CN113256481A (zh) * 2021-06-21 2021-08-13 腾讯科技(深圳)有限公司 图形处理器中的任务处理方法、装置、电子设备及存储介质
CN113920337A (zh) * 2021-10-21 2022-01-11 北京航空航天大学杭州创新研究院 一种基于dsp的舰船模板匹配加速方法及系统
CN117149665A (zh) * 2023-10-31 2023-12-01 芯瞳半导体技术(山东)有限公司 持续集成方法、控制设备、持续集成系统及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Meyer, J..Evaluation of modern GPGPU technologies for image processing.《IWOCL '20: Proceedings of the International Workshop on OpenCL》.2021,第1-2页. *
杨冠男 ; 袁杰 ; .多核并行运算加速图像处理.现代电子技术.2013,(02),第44-46页. *

Also Published As

Publication number Publication date
CN117437451A (zh) 2024-01-23

Similar Documents

Publication Publication Date Title
US10877757B2 (en) Binding constants at runtime for improved resource utilization
Van den Braak et al. Fast hough transform on GPUs: Exploration of algorithm trade-offs
US9207919B2 (en) System, method, and computer program product for bulk synchronous binary program translation and optimization
JP2015007972A (ja) 画像照合方法、画像照合装置、モデルテンプレート生成方法、モデルテンプレート生成装置、およびプログラム
EP3137993B1 (en) Combining compute tasks for a graphics processing unit
Codreanu et al. GPU-ASIFT: A fast fully affine-invariant feature extraction algorithm
US10152310B2 (en) Fusing a sequence of operations through subdividing
CN117437451B (zh) 图像匹配方法、装置、设备及存储介质
Palossi et al. Gpu-shot: Parallel optimization for real-time 3d local description
Akhtar et al. Parallel processing of image segmentation data using Hadoop
Rymut et al. Real‐time multiview human pose tracking using graphics processing unit‐accelerated particle swarm optimization
WO2023093260A1 (zh) 指令处理装置、方法、计算机设备及存储介质
US9081560B2 (en) Code tracing processor selection
Cavus et al. Gpu based parallel image processing library for embedded systems
US11354130B1 (en) Efficient race-condition detection
Wang et al. Opencl optimization and best practices for qualcomm adreno gpus
Piao et al. Improving performance on object recognition for real-time on mobile devices
Kim et al. Dynamic load balancing of parallel SURF with vertical partitioning
Chen et al. CUDA-accelerated fast Sauvola’s method on Kepler architecture
CN111383164A (zh) 图形处理单元、计算系统及其操作方法
Wang et al. CLSIFT: An optimization study of the scale invariance feature transform on GPUs
US10209920B2 (en) Methods and apparatuses for generating machine code for driving an execution unit
Tramnitzke et al. GPU based affine linear image registration using normalized gradient fields
Kushsairy et al. Embedded vision: Enhancing embedded platform for face detection system
Graves GPU-accelerated feature tracking

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