CN107301618B - 基于gpu并行加速的基础矩阵和单应矩阵估计方法和系统 - Google Patents

基于gpu并行加速的基础矩阵和单应矩阵估计方法和系统 Download PDF

Info

Publication number
CN107301618B
CN107301618B CN201710478041.5A CN201710478041A CN107301618B CN 107301618 B CN107301618 B CN 107301618B CN 201710478041 A CN201710478041 A CN 201710478041A CN 107301618 B CN107301618 B CN 107301618B
Authority
CN
China
Prior art keywords
matrix
candidate
homography
image
pair
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
CN201710478041.5A
Other languages
English (en)
Other versions
CN107301618A (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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201710478041.5A priority Critical patent/CN107301618B/zh
Publication of CN107301618A publication Critical patent/CN107301618A/zh
Application granted granted Critical
Publication of CN107301618B publication Critical patent/CN107301618B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种基于GPU并行加速的基础矩阵和单应矩阵估计方法和系统,其中方法的实现包括:对多个图像,基于特征点利用匹配算法得到每个图像对的匹配列表,匹配列表包含图像对特征点的匹配信息;由于显存容量限制,每次只选取M个图像对进行并行计算,对此M个图像对中的特征点匹配对进行并行随机采样;根据采样结果并行地计算得到对应的候选基础矩阵或候选单应矩阵和相应的内点数;然后在属于同一个图像对的多个候选基础矩阵或候选单应矩阵中获取内点数最大的候选矩阵进行优化得到最终的基础矩阵或单应矩阵。本发明可以大幅度减少基础矩阵和单应矩阵计算时间。

Description

基于GPU并行加速的基础矩阵和单应矩阵估计方法和系统
技术领域
本发明属于计算机视觉领域,更具体地,涉及一种基于GPU并行加速的基础矩阵和单应矩阵估计方法和系统。
背景技术
三维重建是在计算机中建立表达客观世界的虚拟现实的关键技术。近几年来,三维重建已经越来越成为一门比较热门的课题。而在其中对于无序图像的重建也渐渐成为很多人关注的重点,对无序图像的重建最经典的方法要属增量式Structure from Motion(SfM)。该方法的过程主要包括:提取图像特征点;建立图像对之间特征点匹配关系;计算图像之间的双视图几何关系;根据匹配估计稀疏三维点云和相机参数。双视图几何关系中主要是计算图像之间的基础矩阵和单应矩阵,基础矩阵可以用于剔除图像之间的错误匹配,提高重建精度;单应矩阵的内点率可以反映图像之间是否存在平面场景以及推测图像之间基线的大小,可用于选择合适的重建起点,因此两者对于重建都有比较重要的作用。
但是在SfM中,基础矩阵和单应矩阵的计算主要还是在CPU上完成。其往往需要与随机采样一致性算法(RANSAC)结合,才能得到比较鲁棒的结果,但是利用RANSAC算法需要多次采样并重复计算,因而是比较耗时的,特别是在大规模图像的三维重建中,基础矩阵和单应矩阵计算时间的问题将会更加突出。
由此可见,现有的基础矩阵和单应矩阵估计方法中存在计算时间长,效率低的技术问题。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于GPU并行加速的基础矩阵和单应矩阵估计方法和系统,由此解决现有的基础矩阵和单应矩阵估计方法中存在计算时间长,效率低的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种基于GPU并行加速的基础矩阵和单应矩阵估计方法,包括:
(1)对多个图像,提取每个图像的特征点,基于特征点利用匹配算法得到每个图像对的匹配列表,匹配列表包含图像对之间特征点的匹配信息,定义图像对的匹配列表中相互匹配的1对特征点为匹配对,根据每个图像对匹配列表中匹配对数量构建索引,得到索引编号,以便于查找;
(2)从具有匹配关系的所有图像对中选取M个图像对进行并行计算,在选取的每个图像对的匹配列表中采集C*N个匹配对,此时C表示计算一个基础矩阵或单应矩阵需要的匹配对数量,N为矩阵原始算法中RANSAC的最大迭代次数,对于M个图像对,利用GPU并行产生M*N组随机采样序列,每组随机采样序列包含C个随机数,每个随机数为相应图像对中匹配对的索引编号;
(3)对于每组随机采样序列,基于索引编号对应的匹配对得到候选基础矩阵或候选单应矩阵和相应的内点数量,利用GPU并行得到M*N个候选基础矩阵或M*N个候选单应矩阵和相应的M*N个内点数;
(4)在属于同一个图像对的N个候选基础矩阵或N个候选单应矩阵中获取内点数最大的矩阵为初始基础矩阵或初始单应矩阵,则M*N个候选基础矩阵中得到M个初始基础矩阵,M*N个候选单应矩阵中得到M个初始单应矩阵,对M个初始基础矩阵或M个初始单应矩阵进行优化得到最终的基础矩阵或最终的单应矩阵。
进一步的,步骤(3)的具体实现方式为:
对于每组随机采样序列,基于索引编号对应的匹配对利用归一化八点法得到候选基础矩阵,并计算候选基础矩阵相应的内点数,利用GPU并行得到M*N个候选基础矩阵和M*N个相应的内点数量;对于每组随机采样序列,基于索引编号对应的匹配对利用双视图几何中平面的单应性得到候选单应矩阵,并通过计算匹配对的投影误差得到候选单应矩阵相应的内点数量,利用GPU并行得到M*N个候选基础矩阵和M*N个相应的内点数量。
进一步的,步骤(4)的具体实现方式为:
在属于同一个图像对的N个候选基础矩阵或N个候选单应矩阵中获取内点数最大的矩阵为初始基础矩阵或初始单应矩阵,则M*N个候选基础矩阵中得到M个初始基础矩阵,M*N个候选单应矩阵中得到M个初始单应矩阵,利用cminpack库中的lmdif非线性最小二乘法对这M个初始基础矩阵进行并行优化,得到图像对最终的基础矩阵,利用cminpack库中的dgelsy线性最小二乘法优化多个图像对的初始单应矩阵,得到优化单应矩阵;然后利用cminpack库中的lmdif非线性最小二乘法对多个图像对的优化单应矩阵进行并行优化,得到图像对最终的单应矩阵。
按照本发明的另一方面,提供了一种基于GPU并行加速的基础矩阵和单应矩阵估计系统,包括:
第一模块,用于对多个图像,提取每个图像的特征点,基于特征点利用匹配算法得到每个图像对的匹配列表,匹配列表包含图像对之间特征点的匹配信息,定义图像对的匹配列表中相互匹配的1对特征点为匹配对,根据每个图像对匹配列表中匹配对数量构建索引,得到索引编号,以便于查找;
第二模块,用于从具有匹配关系的所有图像对中选取M个图像对进行并行计算,在选取的每个图像对的匹配列表中采集C*N个匹配对,此时C表示计算一个基础矩阵或单应矩阵需要的匹配对数量,N为矩阵原始算法中RANSAC的最大迭代次数,对于M个图像对,利用GPU并行产生M*N组随机采样序列,每组随机采样序列包含C个随机数,每个随机数为相应图像对中匹配对的索引编号;
第三模块,用于对于每组随机采样序列,基于索引编号对应的匹配对得到候选基础矩阵或候选单应矩阵和相应的内点数量,利用GPU并行得到M*N个候选基础矩阵或M*N个候选单应矩阵和相应的M*N个内点数;
第四模块,用于在属于同一个图像对的N个候选基础矩阵或N个候选单应矩阵中获取内点数最大的矩阵为初始基础矩阵或初始单应矩阵,则M*N个候选基础矩阵中得到M个初始基础矩阵,M*N个候选单应矩阵中得到M个初始单应矩阵,对M个初始基础矩阵或M个初始单应矩阵进行优化得到最终的基础矩阵或最终的单应矩阵。
进一步的,第三模块的具体实现方式为:
对于每组随机采样序列,基于索引编号对应的匹配对利用归一化八点法得到候选基础矩阵,并计算候选基础矩阵相应的内点数,利用GPU并行得到M*N个候选基础矩阵和M*N个相应的内点数量;对于每组随机采样序列,基于索引编号对应的匹配对利用双视图几何中平面的单应性得到候选单应矩阵,并通过计算匹配对的投影误差得到候选单应矩阵相应的内点数量,利用GPU并行得到M*N个候选基础矩阵和M*N个相应的内点数量。
进一步的,第四模块的具体实现方式为:
在属于同一个图像对的N个候选基础矩阵或N个候选单应矩阵中获取内点数最大的矩阵为初始基础矩阵或初始单应矩阵,则M*N个候选基础矩阵中得到M个初始基础矩阵,M*N个候选单应矩阵中得到M个初始单应矩阵,利用cminpack库中的lmdif非线性最小二乘法对这M个初始基础矩阵进行并行优化,得到图像对最终的基础矩阵,利用cminpack库中的dgelsy线性最小二乘法优化多个图像对的初始单应矩阵,得到优化单应矩阵;然后利用cminpack库中的lmdif非线性最小二乘法对多个图像对的优化单应矩阵进行并行优化,得到图像对最终的单应矩阵。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)本发明基于特征点利用匹配算法得到每个图像对的匹配列表,然后根据显存大小选取M个预计算的图像对,对此M个图像对中的特征点匹配对进行并行随机采样,根据采样结果并行地计算得到对应的候选矩阵和相应的内点数,进而选取每个图像对中内点数最大的候选矩阵进行优化得到最终的基础矩阵或单应矩阵,最终达到大幅度减少基础矩阵和单应矩阵计算时间的目的。
(2)优选的,本发明利用线性同余算法并行地产生M*N组随机采样序列,优化过程中,基础矩阵利用cminpack库中的lmdif非线性最小二乘法对这M个初始基础矩阵进行并行优化,减少了基础矩阵的计算时间,单应矩阵利用cminpack库中的dgelsy线性最小二乘法优化多个图像对的初始单应矩阵,得到优化单应矩阵;然后利用cminpack库中的lmdif非线性最小二乘法对多个图像对的优化单应矩阵进行并行优化,得到每个图像对最终的单应矩阵,减少了单应矩阵的计算时间。
附图说明
图1是本发明实施例提供的一种基于GPU并行加速的基础矩阵和单应矩阵估计方法的流程图;
图2是本发明实施例1提供一种基于GPU并行加速的基础矩阵估计方法的流程图;
图3是本发明实施例1提供的特征点匹配的流程图;
图4是本发明实施例1提供的一种基于GPU并行加速的单应矩阵估计的流程图;
图5是本发明实施例1提供的单应矩阵计算中优化得到最终单应矩阵的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
如图1所示,一种基于GPU并行加速的基础矩阵和单应矩阵估计方法,包括:
(1)对多个图像,提取每个图像的特征点,基于特征点利用匹配算法得到每个图像对的匹配列表,匹配列表包含图像对之间特征点的匹配信息,定义图像对的匹配列表中相互匹配的1对特征点为匹配对,根据每个图像对匹配列表中匹配对数量构建索引,得到索引编号,以便于查找;
(2)从具有匹配关系的所有图像对中选取M个图像对进行并行计算,在选取的每个图像对的匹配列表中采集C*N个匹配对,此时C表示计算一个基础矩阵或单应矩阵需要的匹配对数量,N为矩阵原始算法中RANSAC的最大迭代次数,对于M个图像对,利用GPU并行产生M*N组随机采样序列,每组随机采样序列包含C个随机数,每个随机数为相应图像对中匹配对的索引编号;
(3)对于每组随机采样序列,基于索引编号对应的匹配对得到候选基础矩阵或候选单应矩阵和相应的内点数量,利用GPU并行得到M*N个候选基础矩阵或M*N个候选单应矩阵和相应的M*N个内点数;
(4)在属于同一个图像对的N个候选基础矩阵或N个候选单应矩阵中获取内点数最大的矩阵为初始基础矩阵或初始单应矩阵,则M*N个候选基础矩阵中得到M个初始基础矩阵,M*N个候选单应矩阵中得到M个初始单应矩阵,对M个初始基础矩阵或M个初始单应矩阵进行优化得到最终的基础矩阵或最终的单应矩阵。
实施例1
如图2所示,一种基于GPU并行加速的基础矩阵估计方法,包括:
(1)对多个图像,提取每个图像的特征点,基于特征点利用匹配算法得到每个图像对的匹配列表,匹配列表包含图像对之间特征点的匹配信息,定义图像对匹配列表中相互匹配的1对特征点为匹配对,根据每个图像对匹配列表中匹配对数量构建索引,得到索引编号,以便于查找;
(2)由于显存容量的限制,每次只从具有匹配关系的所有图像对中选取M个图像对进行并行计算,对于M个图像对并行产生M*2048(此时N=2048)组随机采样序列,每组随机采样序列包含8(此时C=8)个随机数,每个随机数为相应图像对匹配列表中匹配对的索引编号;
(3)对于每组随机采样序列,基于索引编号对应的匹配对利用归一化八点法得到候选基础矩阵,并计算候选基础矩阵相应的内点数,最终得到M*2048个候选基础矩阵和M*2048个相应的内点数量;
(4)在属于同一个图像对的2048个候选基础矩阵中获取内点数最大的矩阵为初始基础矩阵,则在这M*2048个候选基础矩阵中可以获取M个初始基础矩阵,对这M个初始基础矩阵进行优化得到图像对最终的基础矩阵。
进一步的,如图3所示,步骤(1)还包括:
(1-1)对多个图像,利用SIFT算法提取每个图像的特征点;
(1-2)基于特征点利用Hash匹配算法构建图像对之间特征点的对应关系,生成每个图像对的匹配列表,匹配列表包含图像对之间特征点的匹配信息;
(1-3)具有匹配关系的图像对存储时会按照一定的顺序排列,排列规则为先对图像对中的左边图像进行升序排列,若左边图像序号相同,则对图像对中的右边图像进行升序排列;
(1-4)按照图像对的排列顺序依次将每个图像对匹配列表中特征点位置信息存储为一维数组,图像对匹配列表中相互匹配的1对特征点为匹配对,根据每个图像对的匹配列表中匹配对数量构建索引,得到索引编号。
进一步的,步骤(1-4)的具体实现方式为:
以单个图像对(i,j)为例,其匹配列表Mij中的每一个元素都表示一个匹配对(如元素(p,k),表示图像i中的第p个特征点与图像j中的第k个特征点相互匹配),此时,在建立的一维数组L和R中,按照匹配列表中元素的排列顺序将左边图像(即图像i)和右边图像(即图像j)的特征点位置分别存入数组L和R,当所有图像对的匹配列表按此方式都依次存储到L和R中后,再根据每个图像对的特征点匹配对数量构建索引,得到索引编号,以便于查找。
进一步的,步骤(2)还包括:
(2-1)因为计算机显存容量的限制,在大规模的图像匹配数据中所有图像对的并行计算可能不能一次性完成,在此可以根据显存的大小每次选取M个图像对进行并行计算,在每个图像对的匹配列表中采集8*2048个匹配对,8为利用归一化八点法计算基础矩阵时需要的匹配对数量,2048为此时随机采样一致性算法(RANSAC)的最大迭代次数,利用线性同余算法并行地产生M*2048组随机采样序列,每组随机采样序列包含8个随机数。具体的实现方法是在GPU上分配M*2048个线程,每个线程以线程id为起点利用线性同余算法产生一组随机采样序列,则M*2048个线程共产生M*2048组随机采样序列,每组随机采样序列包含8个随机数,每个随机数为相应图像对匹配列表中匹配对的索引编号,属于同一组随机采样序列的8个随机数均不相同。
(2-2)将所有的随机采样序列按照图像对的排列顺序线性存储。
进一步的,步骤(3)包括:
(3-1)在GPU中分配M*2048个线程,每个线程获取一组随机采样序列基于索引编号对应的匹配对;
(3-2)根据M*2048组随机序列对应的匹配对,并行地利用归一化八点法计算得到M*2048个候选基础矩阵,其中每2048个候选基础矩阵对应于同一个图像对;
(3-3)遍历候选基础矩阵所对应图像对的匹配列表,并行地计算图像对匹配列表中匹配对的对称对极点距离,并将对称对极点距离与预先设定的阈值比较后得到每个候选基础矩阵的内点数量,最终得到M*2048个候选基础矩阵和相应的M*2048个内点数量。
进一步的,所述步骤(4)包括:
(4-1)根据步骤(3)每个图像对得到2048个候选基础矩阵及对应的2048个内点数量,在属于同一个图像对的2048个候选基础矩阵中获取内点数量最大的矩阵为初始基础矩阵;
(4-2)M*2048个候选基础矩阵中可以获取M个初始基础矩阵,这M个初始基础矩阵与M个图像对一一对应,在GPU上通过计算匹配对对称对极点距离的方法并行地获取这M个初始基础矩阵的内点;
(4-3)在各自内点上利用cminpack库中的lmdif非线性最小二乘法对这M个初始基础矩阵进行并行优化,得到图像对最终的基础矩阵。
如图4所示,一种基于GPU并行加速的单应矩阵估计方法,包括:
(1)对多个图像,提取每个图像的特征点,基于特征点利用匹配算法得到每个图像对的匹配列表,匹配列表包含图像对之间特征点的匹配信息,定义图像对匹配列表中相互匹配的1对特征点为匹配对,根据每个图像对匹配列表中匹配对数量构建索引,得到索引编号,以便于查找;
(2)由于显存容量的限制,每次只从具有匹配关系的所有图像对中选取M个图像对进行并行计算,对于M个图像对并行产生M*256(此时N=256)组随机采样序列,每组随机采样序列包含4(此时C=4)个随机数,每个随机数为相应图像对中匹配对的索引编号;
(3)对于每组随机采样序列,基于索引编号对应的匹配对利用双视图几何中平面的单应性(即Hx=x′,为一个匹配对)得到候选单应矩阵,并通过计算匹配对的投影误差得到候选单应矩阵相应的内点数量,最终得到M*256个候选基础矩阵和M*256个相应的内点数量;
(4)在属于同一个图像对的256个候选单应矩阵中获取内点数量最大的候选矩阵为初始单应矩阵,这样,从M*256个候选矩阵中可以获取M个初始单应矩阵,对这M个初始单应矩阵进行优化得到图像对最终的单应矩阵。
进一步的,步骤(1)还包括:
(1-1)对多个图像,利用SIFT算法提取每个图像的特征点;
(1-2)基于特征点利用Hash匹配算法构建图像对之间特征点的对应关系,生成每个图像对的匹配列表,匹配列表包含图像对之间特征点的匹配信息;
(1-3)具有匹配关系的图像对存储时会按照一定的顺序排列,排列规则为先对图像对中的左边图像进行升序排列,若左边图像序号相同,则对图像对中的右边图像进行升序排列;
(1-4)按照图像对的排列顺序依次将每个图像对匹配列表中特征点位置信息存储为一维数组,根据每个图像对匹配列表中匹配对数量构建索引,得到索引编号。
进一步的,步骤(1-4)的具体实现方式为:
以单个图像对(i,j)为例,其匹配列表Mij中的每一个元素都表示一个匹配对(如元素(p,k),表示图像i中的第p个特征点与图像j中的第k个特征点相互匹配),此时,在建立的一维数组L和R中,按照匹配列表中元素的排列顺序将左边图像(即图像i)和右边图像(即图像j)的特征点位置分别存入数组L和R,当所有图像对的匹配列表按此方式都依次存储到L和R中后,再根据每个图像对匹配列表中特征点匹配对数量构建索引,得到索引编号,以便于查找。
进一步的,步骤(2)还包括:
(2-1)因为计算机显存容量的限制,在大规模的图像匹配数据中所有图像对的并行计算可能不能一次性完成,在此可以根据显存的大小每次从图像对列表中选取M个图像对进行并行计算,在每个图像对中采集4*256个匹配对,4为利用双视图几何中平面的单应性计算单应矩阵时需要的匹配对数量,256为此时随机采样一致性算法(RANSAC)的最大迭代次数,利用线性同余算法并行地产生M*256组随机采样序列,每组随机采样序列包含4个随机数。具体的实现方法是在GPU上分配M*256个线程,每个线程以线程id为起点利用线性同余算法产生一组随机采样序列,则M*256个线程共产生M*256组随机采样序列,每组随机采样序列包含4个随机数,每个随机数为相应图像对中匹配对的索引编号,属于同一组随机采样序列的4个随机数均不相同。
(2-2)将所有的随机采样序列按照图像对的排列顺序线性存储。
进一步的,步骤(3)包括:
(3-1)在GPU中分配M*256个线程,每个线程获取一组随机采样序列基于索引编号对应的匹配对;
(3-2)根据M*256组随机序列对应的匹配对,并行地利用双视图几何中平面的单应性得到M*256个候选单应矩阵,其中每256个候选单应矩阵对应于同一个图像对;
(3-3)遍历候选单应矩阵所对应图像对的匹配列表,并行地计算图像对匹配列表中匹配对的投影误差,并将投影误差与预先设定的阈值比较后得到每个候选单应矩阵的内点数量,最终得到M*256个候选单应矩阵和M*256个相应的内点数量。
进一步的,如图5所示,所述步骤(4)包括:
(4-1)根据步骤(3)每个图像对得到256个候选单应矩阵及对应的256个内点数,在属于同一个图像对的256个矩阵模型中获取内点数最大的候选单应矩阵为初始单应矩阵;
(4-2)从M*256个候选单应矩阵中可以获取M个初始单应矩阵,这M个初始单应矩阵与M个图像对一一对应,在GPU上通过计算投影误差的方法并行地获取这M个初始单应矩阵的内点;
(4-3)先在各自内点上利用cminpack库中的dgelsy线性最小二乘法优化多个图像对的初始单应矩阵,得到优化单应矩阵;
(4-4)然后在各自内点上利用cminpack库中的lmdif非线性最小二乘法对多个图像对的优化单应矩阵进行并行优化,得到每个图像对最终的单应矩阵。
本发明涉及到SIFT特征点提取算法、Hash匹配算法、线性同余算法、RANSAC算法、归一化八点法、线性最小二乘法dgelsy和非线性最小二乘法lmdif,在计算基础矩阵和单应矩阵的过程中根据GPU的并行计算特点,转换匹配数据的存储结构,并对计算流程加以优化,其中包括用并行地计算多个随机采样序列所对应的矩阵来替代经典的RANSAC算法中多次随机采样计算矩阵、对基础矩阵和单应矩阵计算以及非线性最小二乘优化三个过程进行并行加速,最终达到大幅度减少基础矩阵和单应矩阵计算时间的目的。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种基于GPU并行加速的基础矩阵和单应矩阵估计方法,其特征在于,包括以下步骤:
(1)对多个图像,提取每个图像的特征点,基于特征点利用匹配算法得到每个图像对的匹配列表,匹配列表包含图像对之间特征点的匹配信息,定义图像对的匹配列表中相互匹配的1对特征点为匹配对,根据每个图像对匹配列表中匹配对数量构建索引,得到索引编号,以便于查找;
(2)从具有匹配关系的所有图像对中选取M个图像对进行并行计算,在选取的每个图像对的匹配列表中采集C*N个匹配对,此时C表示计算一个基础矩阵或单应矩阵需要的匹配对数量,N为矩阵原始算法中RANSAC的最大迭代次数,对于M个图像对,利用GPU并行产生M*N组随机采样序列,每组随机采样序列包含C个随机数,每个随机数为相应图像对中匹配对的索引编号;
(3)对于每组随机采样序列,基于步骤(2)中索引编号对应的匹配对得到候选基础矩阵或候选单应矩阵和相应的内点数量,利用GPU并行得到M*N个候选基础矩阵或M*N个候选单应矩阵和相应的M*N个内点数;
(4)在属于同一个图像对的N个候选基础矩阵或N个候选单应矩阵中获取内点数最大的矩阵为初始基础矩阵或初始单应矩阵,则M*N个候选基础矩阵中得到M个初始基础矩阵,M*N个候选单应矩阵中得到M个初始单应矩阵,对M个初始基础矩阵或M个初始单应矩阵进行优化得到最终的基础矩阵或最终的单应矩阵。
2.如权利要求1所述的一种基于GPU并行加速的基础矩阵和单应矩阵估计方法,其特征在于,所述步骤(3)的具体实现方式为:
对于每组随机采样序列,基于索引编号对应的匹配对利用归一化八点法得到候选基础矩阵,并计算候选基础矩阵相应的内点数,利用GPU并行得到M*N个候选基础矩阵和M*N个相应的内点数量;对于每组随机采样序列,基于索引编号对应的匹配对利用双视图几何中平面的单应性得到候选单应矩阵,并通过计算匹配对的投影误差得到候选单应矩阵相应的内点数量,利用GPU并行得到M*N个候选基础矩阵和M*N个相应的内点数量。
3.如权利要求1所述的一种基于GPU并行加速的基础矩阵和单应矩阵估计方法,其特征在于,所述步骤(4)的具体实现方式为:
在属于同一个图像对的N个候选基础矩阵或N个候选单应矩阵中获取内点数最大的矩阵为初始基础矩阵或初始单应矩阵,则M*N个候选基础矩阵中得到M个初始基础矩阵,M*N个候选单应矩阵中得到M个初始单应矩阵,利用cminpack库中的lmdif非线性最小二乘法对这M个初始基础矩阵进行并行优化,得到图像对最终的基础矩阵,利用cminpack库中的dgelsy线性最小二乘法优化多个图像对的初始单应矩阵,得到优化单应矩阵;然后利用cminpack库中的lmdif非线性最小二乘法对多个图像对的优化单应矩阵进行并行优化,得到图像对最终的单应矩阵。
4.一种基于GPU并行加速的基础矩阵和单应矩阵估计系统,其特征在于,包括:
第一模块,用于对多个图像,提取每个图像的特征点,基于特征点利用匹配算法得到每个图像对的匹配列表,匹配列表包含图像对之间特征点的匹配信息,定义图像对的匹配列表中相互匹配的1对特征点为匹配对,根据每个图像对匹配列表中匹配对数量构建索引,得到索引编号,以便于查找;
第二模块,用于从具有匹配关系的所有图像对中选取M个图像对进行并行计算,在选取的每个图像对的匹配列表中采集C*N个匹配对,此时C表示计算一个基础矩阵或单应矩阵需要的匹配对数量,N为矩阵原始算法中RANSAC的最大迭代次数,对于M个图像对,利用GPU并行产生M*N组随机采样序列,每组随机采样序列包含C个随机数,每个随机数为相应图像对中匹配对的索引编号;
第三模块,用于对于每组随机采样序列,基于第二模块中索引编号对应的匹配对得到候选基础矩阵或候选单应矩阵和相应的内点数量,利用GPU并行得到M*N个候选基础矩阵或M*N个候选单应矩阵和相应的M*N个内点数;
第四模块,用于在属于同一个图像对的N个候选基础矩阵或N个候选单应矩阵中获取内点数最大的矩阵为初始基础矩阵或初始单应矩阵,则M*N个候选基础矩阵中得到M个初始基础矩阵,M*N个候选单应矩阵中得到M个初始单应矩阵,对M个初始基础矩阵或M个初始单应矩阵进行优化得到最终的基础矩阵或最终的单应矩阵。
5.如权利要求4所述的一种基于GPU并行加速的基础矩阵和单应矩阵估计系统,其特征在于,所述第三模块的具体实现方式为:
对于每组随机采样序列,基于索引编号对应的匹配对利用归一化八点法得到候选基础矩阵,并计算候选基础矩阵相应的内点数,利用GPU并行得到M*N个候选基础矩阵和M*N个相应的内点数量;对于每组随机采样序列,基于索引编号对应的匹配对利用双视图几何中平面的单应性得到候选单应矩阵,并通过计算匹配对的投影误差得到候选单应矩阵相应的内点数量,利用GPU并行得到M*N个候选基础矩阵和M*N个相应的内点数量。
6.如权利要求4所述的一种基于GPU并行加速的基础矩阵和单应矩阵估计系统,其特征在于,所述第四模块的具体实现方式为:
在属于同一个图像对的N个候选基础矩阵或N个候选单应矩阵中获取内点数最大的矩阵为初始基础矩阵或初始单应矩阵,则M*N个候选基础矩阵中得到M个初始基础矩阵,M*N个候选单应矩阵中得到M个初始单应矩阵,利用cminpack库中的lmdif非线性最小二乘法对这M个初始基础矩阵进行并行优化,得到图像对最终的基础矩阵,利用cminpack库中的dgelsy线性最小二乘法优化多个图像对的初始单应矩阵,得到优化单应矩阵;然后利用cminpack库中的lmdif非线性最小二乘法对多个图像对的优化单应矩阵进行并行优化,得到图像对最终的单应矩阵。
CN201710478041.5A 2017-06-21 2017-06-21 基于gpu并行加速的基础矩阵和单应矩阵估计方法和系统 Active CN107301618B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710478041.5A CN107301618B (zh) 2017-06-21 2017-06-21 基于gpu并行加速的基础矩阵和单应矩阵估计方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710478041.5A CN107301618B (zh) 2017-06-21 2017-06-21 基于gpu并行加速的基础矩阵和单应矩阵估计方法和系统

Publications (2)

Publication Number Publication Date
CN107301618A CN107301618A (zh) 2017-10-27
CN107301618B true CN107301618B (zh) 2019-11-22

Family

ID=60135859

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710478041.5A Active CN107301618B (zh) 2017-06-21 2017-06-21 基于gpu并行加速的基础矩阵和单应矩阵估计方法和系统

Country Status (1)

Country Link
CN (1) CN107301618B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108428249A (zh) * 2018-01-30 2018-08-21 哈尔滨工业大学深圳研究生院 一种基于光流跟踪和双几何模型的初始位姿估计方法
CN110059651B (zh) * 2019-04-24 2021-07-02 北京计算机技术及应用研究所 一种相机实时跟踪注册方法
CN111898589B (zh) * 2020-08-26 2023-11-14 中国水利水电科学研究院 一种基于gpu+特征识别的无人机影像快速配准方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120038762A (ko) * 2010-10-14 2012-04-24 경북대학교 산학협력단 휴대용 3차원 스캐너 및 그것의 3차원 형상 복원 방법
CN103077509A (zh) * 2013-01-23 2013-05-01 天津大学 利用离散立方体全景图实时合成连续平滑全景视频的方法
CN105245841A (zh) * 2015-10-08 2016-01-13 北京工业大学 一种基于cuda的全景视频监控系统
CN105407278A (zh) * 2015-11-10 2016-03-16 北京天睿空间科技股份有限公司 一种全景视频交通态势监控系统及方法
CN106530297A (zh) * 2016-11-11 2017-03-22 北京睿思奥图智能科技有限公司 基于点云配准的物体抓取区域定位方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9002099B2 (en) * 2011-09-11 2015-04-07 Apple Inc. Learning-based estimation of hand and finger pose
DE102013219737B4 (de) * 2013-09-30 2019-05-09 Siemens Healthcare Gmbh Angiographisches Untersuchungsverfahren eines Gefäßsystems

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120038762A (ko) * 2010-10-14 2012-04-24 경북대학교 산학협력단 휴대용 3차원 스캐너 및 그것의 3차원 형상 복원 방법
CN103077509A (zh) * 2013-01-23 2013-05-01 天津大学 利用离散立方体全景图实时合成连续平滑全景视频的方法
CN105245841A (zh) * 2015-10-08 2016-01-13 北京工业大学 一种基于cuda的全景视频监控系统
CN105407278A (zh) * 2015-11-10 2016-03-16 北京天睿空间科技股份有限公司 一种全景视频交通态势监控系统及方法
CN106530297A (zh) * 2016-11-11 2017-03-22 北京睿思奥图智能科技有限公司 基于点云配准的物体抓取区域定位方法

Also Published As

Publication number Publication date
CN107301618A (zh) 2017-10-27

Similar Documents

Publication Publication Date Title
CN109948029B (zh) 基于神经网络自适应的深度哈希图像搜索方法
CN107301618B (zh) 基于gpu并行加速的基础矩阵和单应矩阵估计方法和系统
CN109658445A (zh) 网络训练方法、增量建图方法、定位方法、装置及设备
CN103745498B (zh) 一种基于图像的快速定位方法
CN108961390A (zh) 基于深度图的实时三维重建方法
CN101739721B (zh) 基于时变和无序多图像的四维场景建模方法
CN110211223A (zh) 一种增量式多视图三维重建方法
CN110287942A (zh) 年龄估计模型的训练方法、年龄估计方法以及对应的装置
CN104199986A (zh) 基于hbase和geohash的矢量数据空间索引方法
CN106897295B (zh) 一种基于Hadoop的输电线路监控视频分布式检索方法
CN102682103A (zh) 一种面向海量激光雷达点云模型的三维空间索引方法
CN111723947A (zh) 一种联邦学习模型的训练方法及装置
CN109979008A (zh) 一种基于属性的点云条带划分方法
CN104699946B (zh) 一种游戏场景的管理方法及装置
CN109697731A (zh) 基于点云数据的植物冠层体积计算方法、系统及相关设备
CN114020953B (zh) 外观设计产品的多图检索方法及装置
CN105957149A (zh) 一种适用于高效渲染的城市三维模型数据预处理方法
CN111553296B (zh) 一种基于fpga实现的二值神经网络立体视觉匹配方法
CN110097581B (zh) 基于点云配准icp算法构建k-d树的方法
CN107316324A (zh) 基于cuda实现的实时立体匹配及优化的方法
CN110019625B (zh) 文本标准地址空间化方法和装置、计算机可读存储介质
CN109190450A (zh) 基于分布式计算平台的人工智能遥感影像数据提取方法
CN117216591A (zh) 三维模型匹配、多模态特征映射模型的训练方法及装置
CN106408654A (zh) 一种三维地图的创建方法及系统
CN101894267A (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