CN116704152A - 图像处理方法和电子设备 - Google Patents

图像处理方法和电子设备 Download PDF

Info

Publication number
CN116704152A
CN116704152A CN202211582172.5A CN202211582172A CN116704152A CN 116704152 A CN116704152 A CN 116704152A CN 202211582172 A CN202211582172 A CN 202211582172A CN 116704152 A CN116704152 A CN 116704152A
Authority
CN
China
Prior art keywords
image
sub
block
images
target
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
CN202211582172.5A
Other languages
English (en)
Other versions
CN116704152B (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.)
Honor Device Co Ltd
Original Assignee
Honor Device 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 Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202211582172.5A priority Critical patent/CN116704152B/zh
Publication of CN116704152A publication Critical patent/CN116704152A/zh
Application granted granted Critical
Publication of CN116704152B publication Critical patent/CN116704152B/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
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/08Indexing scheme for image data processing or generation, in general involving all processing steps from image acquisition to 3D model generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)

Abstract

本申请提供了一种图像处理方法和电子设备,有利于提高三维重建的成功率,提高用户体验。该方法包括:基于目标对象的多个图像,对多个图像进行特征点提取和分块,得到特征数据集和多个子块;基于多个子块中每个子块中的图像的编号,从每个子块中确定目标图像对,并确定目标图像对中每个图像的图像位姿和目标图像对所匹配的特征点对应的三维点坐标;基于特征数据集、目标图像对中每个图像的图像位姿和目标图像对所匹配的特征点对应的三维点坐标,确定每个子块中除目标图像对之外的剩余图像的图像位姿和剩余图像对应的三维点坐标;基于多个子块中每个子块的图像的图像位姿和三维点坐标,对多个子块进行融合,得到目标对象的三维模型。

Description

图像处理方法和电子设备
技术领域
本申请涉及图像技术领域,尤其涉及一种图像处理方法和电子设备。
背景技术
大场景三维重建在数字世界构建、高精地图构建、以及AR导航等诸多场景中都有着广泛的应用。
目前,大场景三维重建一般包括图像处理与分块、子块重建、以及子块融合三个阶段。其中,在子块重建阶段,电子设备在选择目标种子点时,会选择匹配的特征点的个数较多的图像匹配对作为目标种子点进行重建。这样会导致子块重建产生较大的累积误差,进而导致三维重建失败或者三维重建效果较差,影响用户体验。
发明内容
本申请提供了一种图像处理的方法和电子设备,有利于减小图像处理的累积误差,有利于提高三维重建的成功率,能够获得效果更好的三维重建模型,进而提高用户体验。
第一方面,提供了一种图像处理方法,包括:基于目标对象的多个图像,对多个图像进行特征点提取和分块,得到特征数据集和多个子块,多个子块中每两个子块均存在共有图像,特征数据集为包括多个图像中匹配的特征点的标识的集合;基于多个子块中每个子块中的图像的编号,从每个子块中确定目标图像对,并确定目标图像对中每个图像的图像位姿和目标图像对所匹配的特征点对应的三维点坐标,目标图像对是基于每个子块中编号位于每个子块中间的图像确定的;基于特征数据集、目标图像对中每个图像的图像位姿和目标图像对所匹配的特征点对应的三维点坐标,确定每个子块中除目标图像对之外的剩余图像的图像位姿和剩余图像对应的三维点坐标;基于多个子块中每个子块的图像的图像位姿和三维点坐标,对多个子块进行融合,得到目标对象的三维模型。
本申请实施例通过对目标对象的多个图像进行特征点提取和分块,将每个子块中编号位于每个子块中间的图像确定为目标图像对,基于目标图像对确定每个子块中各个图像的图像位姿和各个图像的特征点对应的三维点,最后对子块中的各个图像的图像位姿和各个图像的特征点对应的三维点进行融合,得到目标对象的三维模型。这样,电子设备可以从每个子块中间的图像开始重建,有利于提高子块中的各个图像的图像位姿和各个图像的特征点对应的三维点的计算精度,减小图像处理的累积误差,进而有利于提高三维重建的成功率,能够获得效果更好的三维重建模型,提高用户体验。
应理解,电子设备可以对多个图像进行编号。本申请实施例中图像的编号也可以理解为图像的标识或索引。编号位于每个子块中间的图像是指:将图像的编号按照由小到大或者由大到小的顺序排序之后,排序后的图像序列中位于子块的中间位置的图像。例如,一个子块中的图像在按照编号由小到大的顺序排序之后,包括:编号为1的图像、编号为2的图像、编号为5的图像、编号为7的图像、以及编号为8的图像,编号位于该子块中间的图像是编号为5的图像。
电子设备可以通过多种方式基于每个子块中的图像的编号的中间值确定目标图像对。
以第一子块为例,在一种可能的实现方式中,电子设备可以在第一子块中查找与上述中间值的编号相邻的两个图像,将该两个图像中的任一图像对应的任一图像匹配对作为目标图像对。
应理解,图像匹配对为将上述多个图像中的图像进行两两匹配组成的图像对。
在另一可能的实现方式中,电子设备可以查找与上述中间值的编号相邻的两个图像,将该两个图像的图像编号与中间值的图像编号分别作差得到两个差值,在两个差值大小不同的情况下,将差值较小的图像对应的图像匹配对中的任一个图像匹配对作为目标图像对。在两个差值大小相同的情况下,电子设备可以将这两个图像中的任一图像对应的任一图像匹配对作为目标图像对。
结合第一方面,在第一方面的某些实现方式中,基于目标对象的多个图像,对多个图像进行特征点提取和分块,得到特征数据集和多个子块,包括:获取多个图像,多个图像分别是在不同视角下对目标对象进行拍摄得到的;提取多个图像中每个图像的特征点;基于上述多个图像,确定多个图像匹配对,多个图像匹配对中的每个图像匹配对包括两个图像;基于多个图像匹配对和每张图像的特征点,对每个图像匹配对中的图像进行特征点匹配,得到多个图像匹配对的匹配结果,匹配结果包括用于表示特征点之间的匹配关系的信息;基于多个图像匹配对的匹配结果,确定特征数据集;基于多个图像匹配对的匹配结果,对多个图像进行分块,得到多个子块。
应理解,电子设备可以通过配置在本设备上的摄像头拍摄并获取到包括目标对象的多个图像。电子设备也可以获取到其他设备拍摄的包括有目标对象的多个图像。本申请对多个图像的来源不做限制。包括目标对象的多个图像也可以称为图像数据集。
应理解,特征点可以是图像中的角点、边缘点、暗区的亮点及亮区的暗点,图像的目标、目标之间的关系等特征点。
在本申请实施例中,电子设备可以通过下列多种方式确定多个图像匹配对。
在一种可能的实现方式中,若上述多个图像为不同时间拍摄到的图像,图像数据集中还包括多个图像中每个图像的时间信息(例如时间戳)。可选地,电子设备可以将图像数据集中的图像按照时间信息进行排序,按照排序结果对图像依次进行编号,并且按照编号将多个图像分为预设数量的组,将不同组的图像两两遍历组合,确定多个图像匹配对。
应理解,上述按照时间信息的排序可以是按照时间信息对应的时刻从早到晚进行排序,或者按照时间信息对应的时刻从晚到早进行排序,本申请实施例对此不做限定。
在另一种可能的实现方式中,电子设备可以首先确定第一图像,第一图像可以是图像数据集中的任一帧图像。然后,电子设备确定第一图像的位置信息,该位置信息可以包括第一图像的经纬度信息。接着,电子设备基于第一图像的位置信息,在图像数据集搜索与第一图像的经纬度差值在第一预设阈值内的图像作为第一图像的邻近图像。若邻近图像的个数为1,则电子设备可以直接将第一图像和该邻近图像确定为一个图像匹配对;若邻近图像的个数为多个,则电子设备可以将第一图像和该多个邻近图像中的每一帧图像,分别作为一个图像匹配对,从而得到多个图像匹配对。
在又一种可能的实现方式中,电子设备可以对上述图像数据集中的图像进行两两匹配,得到多个图像匹配对。
应理解,利用时间信息或者位置信息对图像进行匹配,能够减少图像匹配对的数量,从而有利于降低后续数据处理的复杂度,提高三维重建的效率,且能够降低电子设备功耗。
还应理解,特征数据集为包括多个图像中匹配的特征点的标识的集合。一个特征点的标识为一个特征数据集中的一个元素。电子设备可以将对应于空间中的同一个三维点的多个不同图像中的特征点的标识确定为一个特征数据集,即一个特征数据集对应一个三维点。
结合第一方面,在第一方面的某些实现方式中,从每个子块中确定目标图像对,包括:获取第一子块中的图像对应的至少一个图像匹配对和至少一个图像匹配对的匹配结果,至少一个图像匹配对包括的图像均属于第一子块;从至少一个图像匹配对中选择部分图像匹配对作为候选图像对;基于第一子块中图像的编号,确定编号位于第一子块中间的图像;基于编号位于第一子块中间的图像,从候选图像对中选择目标图像对。
从至少一个图像匹配对中选择部分图像匹配对作为候选图像对可以采用下列方式。
在一种可能的实现方式中,可以将部分图像匹配对对应的匹配特征点的个数大于或等于第二预设阈值的图像匹配对确定为候选图像对。
在另一种可能的实现方式中,可以选择部分图像匹配对对应的匹配特征点的个数数量排序靠前的预设数量个图像匹配对确定为候选图像对。
应理解,在上述第一种方式下,第二预设阈值可以根据经验来设置。可选地,当电子设备通过第一种方式无法确定出足够数量的候选图像对时,可以通过上述第二种方式确定候选图像对。
在本申请实施例中,通过逐层筛选,可以选出较优的目标图像对,有利于减小图像处理过程中的累积误差,进而有利于提高三维重建的成功率,能够获得效果更好的三维重建模型,提高用户体验。
结合第一方面,在第一方面的某些实现方式中,确定每个子块中除目标图像对之外的剩余图像的图像位姿和三维点坐标,包括:将目标图像对中的图像添加至已处理图像集合;基于目标图像对中匹配的特征点对应的特征数据集,确定待处理图像;基于已处理图像集合中的图像的图像位姿和已处理图像集合中的图像对应的三维点坐标,对待处理图像进行处理,得到待处理图像的图像位姿和待处理图像对应的三维点坐标;将待处理图像添加至已处理图像集合,并确定新的待处理图像;重复上述步骤对新的待处理图像进行处理,直到剩余图像均被添加至已处理图像集合。
应理解,已处理图像集合的初始值为空,在上述确定了目标图像对中每个图像的图像位姿和目标图像对所匹配的特征点对应的三维点坐标后,可以理解为已经完成了对目标图像对对应的两帧图像的处理,将该目标图像对对应的两帧图像添加至已处理图像集合。
在本申请实施例中,确定出的待处理图像与已处理的图像的相似度高,有利于减小图像处理过程中的累积误差,进而有利于提高三维重建的成功率,能够获得效果更好的三维重建模型,提高用户体验。
结合第一方面,在第一方面的某些实现方式中,对待处理图像进行处理,得到待处理图像的图像位姿和待处理图像对应的三维点坐标,包括:基于能够在待处理图像上被观测到的、且为目标图像对中匹配的特征点对应的三维点的坐标,确定待处理图像的图像位姿;基于目标图像对中的图像的图像位姿、待处理图像的图像位姿、目标图像对中的图像的特征点的坐标、以及待处理图像的特征点的坐标,确定待处理图像与目标图像对中的图像所匹配的特征点对应的三维点的坐标。
应理解,在上述确定待处理图像的过程中,待处理图像的特征点在特征数据集中的出现,则表示该特征数据集对应的三维点可以在待处理图像中被观测到。还应理解,在待注册图像上被观测到的,且是目标图像对中匹配的特征点对应的三维点,也可以理解为能同时在目标图像对对应的两帧图像和待处理图像被观测到的三维点。
结合第一方面,在第一方面的某些实现方式中,基于多个子块中每个子块的图像的图像位姿和三维点坐标,对多个子块进行融合,得到目标对象的三维模型,包括:确定多个子块中子块之间的三维点对应关系;基于子块之间的三维点对应关系,对多个子块进行融合,确定子块融合后的最终三维点;基于多个子块中每个子块的图像的图像位姿和子块融合后的最终三维点,得到目标对象的三维模型。
应理解,子块之间的三维点对应关系是指每个子块中的图像在进行上述图像处理过程中确定出的所有的三维点存在对应关系。
还应理解,对多个子块进行融合是指将对多个子块中确定出的三维点转换在同一坐标系下。
在本申请实施中,通过多个子块中子块之间的三维点对应关系来确定每个子块的每个子块的图像的图像位姿和子块融合后的最终三维点。这样,确定的子块之间的三维点对应关系,约束较多。有利于提高电子设备确定每个子块的图像的图像位姿和子块融合后的最终三维点的准确率,有利于提高子块的融合成功率,进而提升三维重建的成功率,能够获得效果更好的三维重建模型,提高用户体验。
结合第一方面,在第一方面的某些实现方式中,确定多个子块中子块之间的三维点对应关系,包括:基于多个子块中的第二子块和第三子块,确定第二子块和第三子块中的共有图像;从共有图像中的特征点对应的多个特征数据集中,确定目标特征数据集,目标特征数据集中的特征点包括共有图像的特征点、第二子块中除共有图像之外的其他图像的特征点和第三子块中除共有图像之外的其他图像的特征点;基于目标特征数据集,确定第二子块对应的三维点和第三子块对应的三维点之间的对应关系;确定子块融合后的最终三维点,包括:基于对应关系,确定第二子块的参考坐标系和第三子块的参考坐标系之间的相对位置关系;基于相对位置关系,将第二子块中的每个图像的图像位姿和第三子块中的每个图像的图像位姿转换到同一坐标系下;在同一坐标系下,基于目标特征数据集在第二子块对应的三维点和目标特征数据集在第三子块对应的三维点,确定目标特征数据集对应的最终三维点。
应理解,子块的参考坐标系实质为子块在基于目标图像对中的第一图像的图像位姿的参考坐标系确定的。
还应理解,在将第二子块中的每个图像的图像位姿和第三子块中的每个图像的图像位姿转换到同一坐标系下时,电子设备可以以第二子块的参考坐标系为全局坐标系,将第三子块的各个图像的图像位姿转换到全局坐标系中,也可以以第三子块的参考坐标系为全局坐标系,将第二子块中的图像的图像位姿转换到全局坐标系中,本申请实施例对此不做限定。
应理解,目标特征数据集在第二子块对应的三维点和目标特征数据集在第三子块对应的三维点为空间中的同一个三维点,即存在对应关系。电子设备基于该对应关系确定目标特征数据集对应的最终三维点。
还应理解,在将第二子块中图像的图像位姿和第三子块中图像的图像位姿的转换到统一坐标系下,确定目标特征数据集对应的最终三维点,即完成了第二子块和第三子块的融合。
第二方面,提供了一种电子设备,用于执行上述第一方面中任一种可能的实现方式中的方法。具体地,该电子设备包括用于执行上述第一方面中任一种可能的实现方式中的方法的模块。
在一种设计中,该电子设备可以包括执行上述第一方面中所描述的方法/操作/步骤/动作所一一对应的模块,该模块可以是硬件电路,也可是软件,也可以是硬件电路结合软件实现。
第三方面,提供了一种电子设备,包括:处理器和存储器,该处理器用于读取存储器中存储的指令,以执行上述第一方面中的任一种可能实现方式中的方法。
可选地,处理器为一个或多个,存储器为一个或多个。
可选地,存储器可以与处理器集成在一起,或者存储器与处理器分离设置。
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请实施例对存储器的类型以及存储器与处理器的设置方式不做限定。
上述第三方面中的电子设备可以是一个芯片,该处理器可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外,独立存在。
第四方面,提供了一种计算机程序产品,计算机程序产品包括:计算机程序(也可以称为代码,或指令),当计算机程序被运行时,使得计算机执行上述第一方面中的任一种可能实现方式中的方法。
第五方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序(也可以称为代码,或指令)当其在计算机上运行时,使得计算机执行上述第一方面中的任一种可能实现方式中的方法。
附图说明
图1是本申请实施例的一种角度-n-点PnP算法原理的示意图;
图2是本申请实施例的一种图像处理方法的示意性流程图;
图3是本申请实施例的图像处理和分块的方法的示意性流程图;
图4是本申请实施例的一种特征数据集的示意图;
图5是本申请实施例的子块重建的方法的示意性流程图;
图6是本申请实施例的确定目标种子点的示意图;
图7是本申请实施例的子块融合的方法的示意性流程图;
图8是本申请实施例提供的一种电子设备的示意性框图;
图9是本申请实施例提供的另一种电子设备的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。
此外,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b和c中的至少一项(个),可以表示:a,或b,或c,或a和b,或a和c,或b和c,或a、b和c,其中a,b,c可以是单个,也可以是多个。
在本申请实施例中,“当……时”、“在……的情况下”、“若”以及“如果”等描述均指在某种客观情况下设备会做出相应的处理,并非是限定时间,且也不要求设备在实现时一定要有判断的动作,也不意味着存在其它限定。
为便于理解,首先对本申请实施例所涉及的术语进行简单介绍。
1、场景图:场景图是图像中所含信息的结构化表征,不仅可以表示图像中的所有物体,并且还能表达不同物体之间存在的关系。
2、种子点:对图像进行边缘检测后,将形成的封闭区域中的任意点作为种子点。
3、图像位姿:也可以称为相机位姿,图像位姿是指相机在拍摄图像时的位置和姿态。具体是指相机在拍摄图像时、相机坐标系相较于世界坐标系的位置和姿态的变化。其中,位置的变化包括沿世界坐标系的各个轴(如x轴、y轴、z轴)的位移,位置的变化可以用平移向量t来表示。姿态的变化包括绕世界坐标系的各个轴(如x轴、y轴、z轴)的角度变化,即俯仰角、偏航角、滚动角的变化,姿态的变化可以用旋转矩阵R来表示。
4、三角化:是指采用线性三角形法(linear triangulation methods,可简称为三角法)来计算空间点在世界坐标系中的三维坐标。三角法可以通过空间点在两帧图像中的二维坐标以及两帧图像的图像位姿,求解该空间点在世界坐标系中的三维坐标。
例如,图像1中的特征点1和图像2中的特征点2为一组匹配特征点,对应一个三维空间点(简称为三维点)。特征点1在图像1中的二维像素坐标为x1=(u1,v1),齐次坐标表示为x1′=(u1,v1,1),特征点2在图像2中的二维像素坐标为x2=(u2,v2),齐次坐标表示为x2′=(u2,v2,1),相机内参矩阵为K,图像1的图像位姿为[R1|t1]、图像2的图像位姿[R2|t2]。假设Z为上述三维点的深度值;X为三维点的齐次坐标[X,Y,Z,1]。根据上述特征点1和特征点2的齐次坐标可以得到:
将上述两个方程组转化为矩阵形式得到A×X=0,A∈R4×4。对矩阵A进行SVD分解,得到A对应的右正交矩阵,进一步得到该组匹配特征点对应的三维点的坐标X。
6、角度-n-点(perspective-n-point,PnP)算法:给定待处理图像i中N个特征点(也可以称为二维点)Pi-j在相机坐标系下的坐标(Pi-j的下标i表示图像的编号,j表示第j个特征点,j的取值为1~N)、与N个二维点对应的N个三维点Pj在世界坐标系中的坐标、以及相机内参,可以计算得到待处理图像i的图像位姿。其中,相机内参通常用矩阵表示,用于描述相机焦距、光轴和图像交点的位置等属性。
示例性地,如图3所示,空心圆圈表示待处理图像i中二维点Pi-j,其在相机坐标系中的坐标为[u,v]T,齐次坐标表示为[u,v,1]T。实心圆圈表示与二维点Pi-j对应的三维点Pj,其在世界坐标系中的坐标为[Xw,Yw,Zw]T,齐次坐标表示为[Xw,Yw,Zw,1]T。相机内参矩阵为K,求解图像位姿t和R。
一组二维点-三维点匹配关系(即一个二维点特征点和对应的三维点构成的匹配点对)的投影变换方程可以表示为如下方程:
其中,Zc表示相机坐标系下的深度值。
将上述方程(1)展开可得到如下方程(2):
其中,fij表示得到的变换矩阵中的一个元素。
将上述方程(2)写成方程组的形式,可得到如下方程组:
zc×uc=f11×Xw+f12×Yw+f13×Zw+f14
zc×vc=f21×Xw+f22×Yw+f23×Zw+f24
zc=f31×Xw+f32×Yw+f33×Zw+f34
整理得到方程组:
f11×Xw+f12×Yw+f13×Zw+f14-(f31×Xw+f32×Yw+f33×Zw+f34)×uc=0
f21×Xw+f22×Yw+f23×Zw+f24-(f31×Xw+f32×Yw+f33×Zw+f34)×vc=0
也就是说,一组二维点-三维点匹配关系对应方程组2中的两个方程,共12个(即f11至f34)未知数。因此需要至少6组二维点-三维点匹配关系才能求取参数。
设有N组匹配点,则:
写成矩阵的形式为:
A×F=0
当N大于6时,通过SVD方法求解F的最小二乘解,求出F矩阵后,进一步得到旋转矩阵R和平移矩阵t为:
至此,需要说明的是,上述示例中仅说明了需要6组二维点-三维点匹配关系来求解t和R的实现原理。但是,本领域技术人员应该理解的是,采用优化的PnP算法,可以仅需要3组二维点-三维点匹配关系即可求解得到t和R。换言之,采用PnP算法需要N组二维点-三维点匹配关系来求解t和R,其中,N为大于或等于3的整数。
本申请的图像处理方法可以应用于具备图像处理能力的电子设备。该电子设备可以是服务器、云端设备、平板电脑、笔记本电脑、上网本等具有一定的处理能力的设备。该电子设备可以具备图像采集的功能,自己采集目标对象不同视角的图像,也可以接收来自其他设备采集到的图像,本申请实施例对此不作限定。
可选地,上述电子设备具备图像采集的功能,可以首先拍摄待处理图像,然后基于拍摄到待处理图像执行本申请的图像处理方法。示例性地,该电子设备可以是手机、平板电脑、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)、增强现实(augmentedreality,AR)\虚拟现实(virtual reality,VR)设备等支持图像拍摄,且具备图像处理能力的设备,本申请实施例对该设备的具体形态不作特殊限制。
目前,大场景三维重建一般包括图像处理与分块、子块重建、以及子块融合三个阶段。其中,在子块重建阶段,电子设备在选择目标种子点时,会选择匹配的特征点的个数较多的图像匹配对作为目标种子点进行重建。这样,电子设备选取的目标种子点可能为子块中图像的编号在两端的图像匹配对,从而导致子块重建产生较大的累积误差,进而导致三维重建失败或者三维重建效果较差,影响用户体验。
为了解决上述问题,本申请提供了一种图像处理方法和电子设备,通过对目标对象的多个图像进行特征点提取和分块,将每个子块中编号位于每个子块中间的图像确定为目标图像对,基于目标图像对确定每个子块中各个图像的图像位姿和各个图像的特征点对应的三维点,最后对子块中的各个图像的图像位姿和各个图像的特征点对应的三维点进行融合,得到目标对象的三维模型。这样,电子设备可以从每个子块中间的图像开始重建,有利于提高子块中的各个图像的图像位姿和各个图像的特征点对应的三维点的计算精度,减小图像处理的累积误差,进而有利于提高三维重建的成功率,能够获得效果更好的三维重建模型,提高用户体验。
下面以具体的实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以独立实现,也可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图2为本申请实施例提供的图像处理方法200的示意性流程图。如图2所示,该方法200可以包括下列步骤:
S201,电子设备基于目标对象的多个图像,对多个图像进行特征点提取和分块,得到特征数据集和多个子块,多个子块中每两个子块均存在共有图像,特征数据集为包括多个图像中匹配的特征点的标识的集合。
S202,电子设备基于特征数据集和多个子块中每个子块中的图像的编号,从每个子块中确定目标图像对,并确定目标图像对中每个图像的图像位姿和目标图像对所匹配的特征点对应的三维点坐标,目标图像对是基于每个子块中编号位于每个子块中间的图像确定的。
应理解,电子设备可以对多个图像进行编号。本申请实施例中图像的编号也可以理解为图像的标识或索引。编号位于每个子块中间的图像是指:将图像的编号按照由小到大或者由大到小的顺序排序之后,排序后的图像序列中位于子块的中间位置的图像。例如,一个子块中的图像在按照编号由小到大的顺序排序之后,包括:编号为1的图像、编号为2的图像、编号为5的图像、编号为7的图像、以及编号为8的图像,编号位于该子块中间的图像是编号为5的图像。
电子设备可以通过多种方式基于每个子块中的图像的编号的中间值确定目标图像对。
以第一子块为例,在一种可能的实现方式中,电子设备可以在第一子块中查找与上述中间值的编号相邻的两个图像,将该两个图像中的任一图像对应的任一图像匹配对作为目标图像对。
应理解,图像匹配对为将上述多个图像中的图像进行两两匹配组成的图像对。
在另一可能的实现方式中,电子设备可以查找与上述中间值的编号相邻的两个图像,将该两个图像的图像编号与中间值的图像编号分别作差得到两个差值,在两个差值大小不同的情况下,将差值较小的图像对应的图像匹配对中的任一个图像匹配对作为目标图像对。在两个差值大小相同的情况下,电子设备可以将这两个图像中的任一图像对应的任一图像匹配对作为目标图像对。
S203,电子设备基于目标图像对中每个图像的图像位姿和目标图像对所匹配的特征点对应的三维点坐标,确定每个子块中除目标图像对之外的剩余图像的图像位姿和三维点坐标;
S204,电子设备基于多个子块中每个子块的图像的图像位姿和三维点坐标,对多个子块进行融合,得到目标对象的三维模型。
本申请实施例通过对目标对象的多个图像进行特征点提取和分块,将每个子块中编号位于每个子块中间的图像确定为目标图像对,基于目标图像对确定每个子块中各个图像的图像位姿和各个图像的特征点对应的三维点,最后对子块中的各个图像的图像位姿和各个图像的特征点对应的三维点进行融合,得到目标对象的三维模型。这样,电子设备可以从每个子块中间的图像开始重建,有利于提高子块中的各个图像的图像位姿和各个图像的特征点对应的三维点的计算精度,减小图像处理的累积误差,进而有利于提高三维重建的成功率,能够获得效果更好的三维重建模型,提高用户体验。
下面,将结合图3至图7详细说明本申请的图像处理方法。
本申请实施例提供的图像处理方法可以分为三个阶段,第一阶段为图像处理与分块,第二阶段为子块重建,第三阶段为子块融合三个阶段。
第一阶段:图像处理与分块。
图3本申请实施例提供的图像处理与分块的方法300的示意性流程图。该方法300可以包括下列步骤。
S301,电子设备获取图像数据集,该图像数据集中包括多个图像。
应理解,电子设备可以通过配置在本设备上的摄像头拍摄并获取到包括目标对象的多张图像,该多张图像可以称为图像数据集。电子设备也可以获取到其他设备拍摄的包括有目标对象的图像数据集。本申请对图像数据集的来源不做限制。
可选地,图像数据集可以包括多个图像,该多个图像包括在不同角度下对目标对象进行拍照得到的图像。该多个图像中,存在一些图像可以显示目标对象在不同角度、时间、以及光照下的不同状态。
S302,电子设备对图像数据集中的多个图像中的每个图像进行特征提取,得到每个图像的特征点。
应理解,特征提取是指提取图像数据集中每一帧图像的特征点。特征点可以是图像中的角点、边缘点、暗区的亮点及亮区的暗点,图像的目标、目标之间的关系等特征点。示例性地,电子设备可采用尺度不变特征变换算法(scale invariant feature transform,SIFT)、快速特征点提取和描述算法(oriented fast and rotated brief,ORB)或者加速稳健特征算法(speeded-up robust features,SURF)等特征提取算法来进行特征点提取。本申请特征提取的方法以及对特征点的类型不做限定。
S303,电子设备基于上述多个图像,确定多个图像匹配对,其中,每个图像匹配对包括两个图像。
在本申请实施例中,电子设备可以通过下列多种方式确定上述多个图像匹配对。
在一种可能的实现方式中,若上述多个图像为不同时间拍摄到的图像,图像数据集中还包括多个图像中每个图像的时间信息(例如时间戳)。可选地,电子设备可以将图像数据集中的图像按照时间信息进行排序,按照排序结果对图像依次进行编号,并且按照编号将多个图像分为预设数量的组,将不同组的图像两两遍历组合,确定多个图像匹配对。
应理解,上述按照时间信息的排序可以是按照时间信息对应的时刻从早到晚进行排序,或者按照时间信息对应的时刻从晚到早进行排序,本申请实施例对此不做限定。
示例性地,上述图像数据集包括1000帧图像。电子设备可以将图像数据集中的1000帧图像按照时间戳对应的时刻从早到晚排序,按照排序结果并对每帧图像依次编号,得到第1帧图像的编号为ID=1,第2帧图像的编号为ID=2,依次类推,第1000帧图像的编号为ID=1000。电子设备按照编号将1000帧图像进分成10个组,例如,图像编号ID为1~100的图像为第1组,图像编号ID为101~200的图像为第2组,以此类推,将图像编号ID为901~1000的图像为第10组。电子设备可以将第1组的图像中ID=1的图像与第2组的100个图像分别匹配,得到100个图像匹配对,同样地,将第1组的图像中其他99帧图像分别第2组图像中的100个图像进行匹配,得到9900个图像匹配对。其他组与组之间的匹配类似,此处不再赘述。
在另一种可能的实现方式中,电子设备可以首先确定第一图像,第一图像可以是图像数据集中的任一帧图像。然后,电子设备确定第一图像的位置信息,该位置信息可以包括第一图像的经纬度信息。接着,电子设备基于第一图像的位置信息,在图像数据集搜索与第一图像的经纬度差值在第一预设阈值内的图像作为第一图像的邻近图像。若邻近图像的个数为1,则电子设备可以直接将第一图像和该邻近图像确定为一个图像匹配对;若邻近图像的个数为多个,则电子设备可以将第一图像和该多个邻近图像中的每一帧图像,分别作为一个图像匹配对,从而得到多个图像匹配对。
可选地,第一图像可以是多个图像中包括上述目标对象的图像。
示例性地,上述图像数据集为包括目标对象的图像序列(例如视频),该图像序列包括1000帧图像。电子设备可以按照任意顺序对该1000帧图像进行编号,对应得到编号为ID=1,ID=2,…,ID=1000的图像。电子设备确定选择编号ID=6的图像作为第一图像,根据第一图像的位置信息与图像数据集中其他图像的位置信息对比,得到与ID=6的图像的经纬度差值在第一预设阈值内的图像的编号分别为ID=5、ID=7、以及ID=18。电子设备可以将ID=6的图像与ID=5的图像确定为一个图像匹配对,将ID=6的图像与ID=7的图像确定为一个图像匹配对,将ID=6的图像与ID=18的图像确定为一个图像匹配对。
在又一种可能的实现方式中,电子设备可以对上述图像数据集中的图像进行两两匹配,得到多个图像匹配对。
应理解,利用时间信息或者位置信息对图像进行匹配,能够减少图像匹配对的数量,从而有利于降低后续数据处理的复杂度,提高三维重建的效率,且能够降低电子设备功耗。
S304,电子设备基于上述多个图像匹配对,对每个图像匹配对中包括的图像进行特征点匹配,得到匹配结果,该匹配结果包括用于表示特征点之间的匹配关系的信息,该匹配关系的信息可以为特征点的标识之间存在匹配关系或者特征点在图像中的像素坐标之间存在匹配关系。
示例性地,一个图像匹配对包括第1图像和第2图像,第1图像中包括10个特征点P1-1至P1-10,第2图像中包括6个特征点P2-1至P2-6,将第1图像和第2图像进行特征点匹配,则该图像匹配对中的匹配结果为:特征点P1-1与特征点P2-1相匹配,特征点P1-3与特征点P2-3相匹配,特征点P1-5与特征点P2-5相匹配。
应理解,上述匹配是指图像匹配对中的两个图像具有两个相同的特征点,即可以理解为该两个特征点对应目标对象的同一个三维点。
S305,电子设备基于多个图像匹配对的匹配结果,确定特征数据集。
应理解,特征数据集为包括多个图像中匹配的特征点的标识的集合。一个特征点的标识为一个特征数据集中的一个元素。电子设备可以将对应于空间中的同一个三维点的多个不同图像中的特征点的标识确定为一个特征数据集,即一个特征数据集对应一个三维点。
还应理解,确定特征数据集后,可以将特征数据集存储在电子设备中,以便在后续的第二阶段(子块重建阶段)和第三阶段(子块融合阶段)使用。
可选地,电子设备可以根据并查集算法,基于多个图像匹配对的匹配结果来构建特征数据集。针对上述多个图像匹配对中的其中一个图像匹配对而言,首先,初始特征数据集为空集,电子设备可以基于该图像匹配对的匹配结果,从该匹配结果中确定一对特征点,将该对特征点加入初始特征数据集。然后,电子设备可以在其他图像匹配对的匹配结果中查找与该初始特征数据集中的两个特征点中的任一特征点相匹配的特征点,将查找到的与该两个特征点中每个特征点相匹配的特征点加入到上述初始特征数据集,得到更新特征数据集。最后,通过同样的查找方式(已经查找过的图像匹配对不再进行查找),直至查找完上述多个图像匹配对中的剩余图像匹配对,将得到的更新特征数据集确定为最终特征数据集。
应理解,一个图像匹配对中的一对特征点对应一个最终特征数据集,若一个图像匹配对中存在多对特征点匹配,则该多对特征点对应多个最终特征数据集。还应理解,考虑到多个图像匹配对的匹配结果中可能会存在重复的特征点,本申请实施例最终得到的特征数据集的数量小于或等于图像匹配对的中匹配的特征点的对数。
示例性地,将特征数据集简称为track,第1图像和第2图像为一个图像匹配对,第1图像的特征点P1-1和第2图像的特征点P2-1匹配,初始track={P1-1,P2-1}。此外,第1图像和第3图像为一个图像匹配对,第3图像的特征点P3-1与第1图像的特征点P1-1匹配。第2图像和第4图像为一个图像匹配对,第4图像的特征点P4-1与第2图像的特征点P2-1匹配,则更新track={P1-1,P2-1,P3-1,P4-1}。图4示出了一个track对应的三维点与四个图像的特征点之间的对应关系,在图4中,空心圆圈表示特征点,实心圆圈表示三维点。第1图像的特征点P1-1、第2图像的P2-1、第3图像的P3-1、第4图像的P4-1相匹配,对应同一个三维点P1
S306,电子设备基于多个图像匹配对的匹配结果,对多个图像进行分块,得到多个子块,该多个子块中每两个子块均存在共有图像。
可选地,电子设备可以根据匹配结果中匹配特征点的对数来对多个图像进行划分。
可选地,电子设备可以将多个图像匹配对的匹配结果输入到图像分割(graphcut)算法中,利用graph cut算法对多个图像进行分块。
可选地,电子设备可以基于场景图对图像数据集进行分块。首先,电子设备可以以图像数据集中的任一帧图像为顶点,基于该图像与其他图像的匹配结果,以这些匹配结果中匹配特征点的匹配个数的为边,构建初始场景图。然后,遍历其它剩余图像,按照相同的方法,依次在该初始场景图中添加顶点和边,从而构建出最终的场景图。基于该场景图,电子设备按照场景图的边,对多个图像进行分块,得到多个子块。
应理解,边值越大,表示边连接的两个顶点(图像)之间的匹配的特征点越多。分块之后,子块之间有相同的图像。
还应理解,上述对图像数据集进行分块采用的算法也可以是实现图像分割的其他算法。本申请对此不作限定。电子设备可以先执行上述S305,再执行S306,也可以先执行S306,再执行S305,还可以同时执行S305和S306,本申请实施例对此不作限定。
第二阶段:子块重建。
应理解,上述方法300可以得到多个子块,多个子块中的每个子块都需要进行子块重建,下面,以一个子块的子块重建过程为例进行详细说明。图5为本申请实施例提供的子块重建的方法500的示意性流程图。该方法500可以包括下列步骤。
S501,电子设备获取子块中包含的图像对应的至少一个图像匹配对和该至少一个图像匹配对的匹配结果。
示例性地,子块1中包括编号为1至100帧图像,获取图像匹配对中的图像仅包括第1至第100中的任意两个图像组成的多个图像匹配对。
S502,电子设备从上述至少一个图像匹配对中选择部分图像匹配对确定为候选种子点。
应理解,候选种子点实质为一匹配的图像对,也可以称为候选图像对。
在一种可能的实现方式中,可以将部分图像匹配对对应的匹配特征点的个数大于或等于第二预设阈值的图像匹配对确定为候选种子点。
在另一种可能的实现方式中,可以选择部分图像匹配对对应的匹配特征点的个数数量排序靠前的预设数量个图像匹配对确定为候选种子点。
应理解,在上述第一种方式下,第二预设阈值可以根据经验来设置。可选地,当电子设备通过第一种方式无法确定出足够数量的候选种子点时,可以通过上述第二种方式确定候选种子点。
S503,电子设备根据子块中的图像的编号确定子块的中间帧,基于中间帧从候选种子点中确定目标种子点。
应理解,电子设备可以对多个图像进行编号。本申请实施例中图像的编号也可以理解为图像的标识或索引。
还应理解,目标种子点也可以称为目标图像对。
示例性地,在候选种子点的数量为1个的情况下,电子设备可以直接将该候选种子点确定为目标种子点。在候选种子点的数量为多个的情况下,首先,电子设备根据子块中图像的编号,确定子块的中间帧,在子块中的图像的数量为奇数的情况下,电子设备可以选择编号在中间的一个图像作为中间帧,在子块中的图像的数量为偶数的情况下,电子设备可以选择编号在中间的两个图像中的任一图像作为中间帧。然后,电子设备查找与该中间帧的编号相邻的两个图像,将该两个图像的图像编号与中间帧的图像编号分别作差得到两个差值,在两个差值大小不同的情况下,将差值较小的图像对应的图像匹配对中的任一个图像匹配对作为目标种子点。在两个差值大小相同的情况下,电子设备可以将这两个图像中的任一图像对应的任一图像匹配对作为目标种子点。
示例性地,子块1中有第1~100帧图像,对应的图像编号分别为1~100。子块1的第50帧(即编号为50)图像可以为中间帧。电子设备选择出的候选种子点包括4个图像匹配对:第25帧与第30帧,第30帧与第40帧,第48帧与第49帧,第51帧和第89帧。在这四个候选种子点中,编号49和编号51的图像与编号50的图像的编号差值相同,电子设备可以选择第48帧和第49帧的图像匹配对对应的候选种子点为目标种子点,也可以选择第51帧和第89帧的图像匹配对对应的候选种子点为目标种子点。假设电子设备选择第48帧和第49帧的图像匹配对对应的候选种子点目标种子点,则如图6所示,方框里对应的候选种子点为目标种子点,该目标种子点对应的图像为第48帧和第49帧。
S504,电子设备基于目标种子点重建初始地图。
应理解,目标种子点对应的图像匹配对包括第二图像和第三图像。基于目标种子点重建初始地图实质是确定第二图像的图像位姿和第三图像的图像位姿、以及确定第二图像和第三图像匹配的特征点对应的三维点的坐标。
可选地,确定第二图像的图像位姿和第三图像的图像位姿可以通过如下方式:电子设备可以将第二图像的图像位姿的参数初始化为0,计算第三图像相对于第二图像的图像位姿。首先,电子设备获取电子设备根据对极几何约束求取出本质矩阵E,其中,T表示转置计算。/>由第二图像和第三图像的匹配的特征点中,第二图像中的特征点的二维坐标组成。/>由第二图像和第三图像的匹配的特征点中,第三图像中的特征点的二维坐标组成。并且,每组匹配的特征点包括的两个特征点的二维坐标在/>和/>中的位置对应。然后分解本质矩阵E则可以得到第三图像的图像位姿。关于采用对极几何约束求解图像位姿的具体实现本申请在此不做赘述。
可选地,确定第二图像和第三图像匹配的特征点对应的三维点的坐标可以通过如下方式:电子设备可以根据第二图像和第三图像中至少一对匹配的特征点、第二图像的图像位姿以及第三图像的图像位姿确定该至少一对匹配的特征点对应的三维点的坐标。对于其中一对特征点而言,电子设备可以基于第二图像与第三图像匹配的一组特征点的坐标、第二图像的图像位姿、以及第三图像的图像位姿,根据三角化算法确定第二图像与第三图像匹配的特征点对应的一个三维点的坐标。
示例性地,第二图像中的特征点P1-1和第三图像中的特征点P2-1为匹配的特征点,在已知第二图像的图像位姿、第三图像的图像位姿、P1-1的像素坐标、以及P2-1的像素坐标的情况下,通过三角化计算得到三维点P1的坐标。通过同样的方法,可以得到图像匹配对中其他匹配的特征点对应的三维点的坐标,即得到第二图像和第三图像匹配的特征点对应的三维点的坐标。
S505,电子设备基于第二图像和第三图像匹配的特征点对应的特征数据集确定待注册图像。
应理解,对图像进行注册是指确定图像的图像位姿和图像上的特征点对应的三维点。上述基于目标种子点重建初始地图即已完成了对目标种子点对应的两帧图像的注册,也可以理解为已经完成了对该两帧图像的处理,可以将该两帧图像添加至已处理图像集合。接着,需要对子块中的其他图像进行图像注册,也可以称为对子块中的其他图像进行处理。确定待注册图像,也可以称为确定待处理图像。
具体地,电子设备可以获取目标种子点的匹配的特征点的特征数据集,统计每帧图像的特征点在特征数据集中的出现次数,确定出现次数较多的未注册图像中的任一图像为待注册图像。
示例性地,电子设备获取一个子块中的所有track如下:track1={P1-1,P2-1,P3-1,P4-1}、track2={P1-2,P2-2,P3-2}、以及track3={P1-3,P2-3,P3-3,P4-3},第1帧图像和第2帧图像为已注册图像,第3帧图像和第4帧图像为未注册图像。经过统计,可以得到第1帧图像的特征点在track中的出现次数为3,第2帧图像的特征点在track中的出现次数为3,第3帧图像的特征点在track中的出现次数为3,第4帧图像的特征点在track中的出现次数为2。考虑到未注册图像中,第3帧图像的特征点在track中的出现次数较多,可以将第3帧图像确定为待注册图像。
S506,电子设备基于可以在待注册图像上被观测到的,且是第二图像和第三图像匹配的特征点对应的三维点的坐标,确定待注册图像的图像位姿。
应理解,在上述确定待注册图像的过程中,待注册图像的特征点在特征数据集中的出现,则表示该特征数据集对应的三维点可以在待注册图像中被观测到。
还应理解,在待注册图像上被观测到的,且是第二图像和第三图像匹配的特征点对应的三维点,也可以理解为能同时在目标种子点对应的两帧图像和待注册图像被观测到的三维点。
可选地,首先,电子设备获取能同时在目标种子点对应的两帧图像和待注册图像被观测到的至少三个三维点的坐标和该至少三个三维点在待注册图像中的特征点的坐标,该至少三个三维点的坐标与该至少三个三维点在待注册图像中的特征点的坐标的一一对应。然后,电子设备基于该至少三个三维点的坐标和该至少三个三维点在待注册图像中的特征点的坐标,采用PnP算法,确定待注册图像的图像位姿。
S507、电子设备基于已注册图像的图像位姿、待注册图像的图像位姿、已注册图像的特征点的坐标、以及待注册图像的特征点的坐标,确定待注册图像对应的三维点的坐标。其中,已注册图像的特征点和待注册图像的特征点为匹配的一对特征点。
应理解,待注册图像对应的三维点的坐标为待注册图像与已注册图像中的图像所匹配的特征点对应的三维点的坐标。
可选地,电子设备基于第二图像的图像位姿、待注册图像的图像位姿、第二图像与待注册图像的匹配的两个特征点的坐标,通过三角化算法得到待注册图像与第二图像所匹配的特征点对应的三维点的坐标,基于第三图像的图像位姿、待注册图像的图像位姿、第三图像与待注册图像的匹配的两个特征点的坐标,通过三角化算法得到待注册图像与第三图像所匹配的特征点对应的三维点的坐标,并将待注册图像确定为已注册图像。
示例性地,第二图像中的特征点P1-2和待注册图像中的特征点P3-2为匹配的特征点,在已知第二图像的图像位姿、待注册图像的图像位姿、P1-2的二维坐标、以及P3-2的二维坐标的情况下,通过三角化计算可以得到空间点P2在世界坐标系中的三维坐标,即为待注册图像的其中一个三维点。通过同样的方法,可以得到待注册图像与第二图像所匹配的其他特征点对应的三维点的坐标、以及待注册图像与第三图像所匹配的特征点对应的三维点的坐标。
应理解,电子设备确定了待注册图像与已注册图像中的图像所匹配的特征点对应的三维点的坐标和待注册图像的图像位姿后,即完成了对待注册图像的注册。
S508,电子设备获取已注册图像和未注册图像的图像匹配对,基于该图像匹配对的特征点的匹配个数确定已注册图像的关联图像,并在确定关联图像的图像位姿和关联图像对应的三维点的坐标后,将关联图像确定为已注册图像。
应理解,关联图像对应的三维点的坐标为关联图像与已注册图像所匹配的特征点对应的三维点的坐标。
可选地,电子设备获取已注册图像中注册时刻最晚的图像,获取包括该注册时刻最晚的图像的图像匹配对。接着,电子设备比较该图像匹配对的特征点的匹配个数与第三预设阈值,将特征点的匹配个数大于或等于第三预设阈值的图像匹配对中的未注册图像确定为关联图像。
应理解,第三预设阈值可以根据经验设置。在根据第三预设阈值确定的关联图像的数量为0时,也即注册时刻最晚的图像的图像匹配对的特征点的匹配个数均小于第三预设阈值时,无法确定出关联图像,此时继续执行下述步骤。
还应理解,电子设备确定关联图像的图像位姿和关联图像与已注册图像所匹配的特征点对应的三维点的坐标和上述电子设备确定待注册图像的图像位姿和待注册图像对应的三维点的坐标的方法类似,此处不再赘述。
示例性地,电子设备确定第1至3帧图像为已注册图像,其中,第3帧图像是最晚时刻注册的。接着,电子设备获取包括第3帧图像的图像匹配对以及图像匹配对匹配的特征点的个数有:第3帧和第1帧为一组图像匹配对,对应匹配的特征点个数为30,第3帧和第5帧为一组图像匹配对,对应匹配的特征点个数为35,第3帧和第7帧为一组图像匹配对,对应匹配的特征点个数为40,第3帧和第10帧为一组图像匹配对,对应匹配的特征点个数为35,第3帧和第15帧为一组图像匹配对,对应匹配的特征点个数为10。第三阈值为30,则确定出的第5、7、以及10帧图像为第3帧图像的关联图像。
S509,电子设备获取已注册图像的匹配的特征点的坐标、匹配的特征点对应的三维点的坐标,根据光束法平差(bundle adjustment,BA)算法优化已注册图像的对应的三维点的坐标和图像位姿。
应理解,已注册图像的对应的三维点的坐标为基于已注册图像在上述图像注册过程中确定出的所有的三维点的坐标。
应理解,BA算法本质是一个优化模型,用于最小化重投影误差,也即调整三维点的坐标,使得调整后的三维点的坐标对应的重投影误差小于指定阈值。具体地,电子设备将在已注册图像被观测的三维点的坐标,投影到对应图像上,得到投影后的二维点的坐标,将该二维点的坐标与三维点在该图像上对应的特征点的坐标进行比对,得到重投影误差。通过调整已注册图像的对应的三维点的坐标和图像位姿使重投影误差小于指定值(例如可以是0.3或0.5),得到已注册图像对应的第一优化的三维点的坐标和第一优化的图像位姿。
示例性地,第1帧图像和第2帧图像为已注册图像。第1帧图像包括特征点P1-1,第2帧图像包括特征点P2-1。特征点P1-1与特征点P2-1匹配,对应空间的三维点P1,将三维点P1投影到第2帧图像上,得到二维点P2-1’的坐标,P2-1’的坐标与P2-1的坐标之间的距离为重投影误差,通过调整三维点P1的坐标以及第2帧图像的图像位姿,使得重投影误差小于指定值。得到优化的三维点P1’的坐标以及优化的第2帧图像的图像位姿。
S510,电子设备获取已注册图像的个数,并判断已注册图像的个数是否大于或等于第四预设阈值。
应理解,第四预设阈值可以根据经验设置。
S511,在已注册图像的个数是否大于或等于第四预设阈值的情况下,通过BA算法再次优化已注册图像对应的第一优化的三维点的坐标和第一优化的图像位姿,得到已注册图像对应的最终的三维点的坐标和最终的图像位姿。
可选地,在已注册图像的个数小于第四预设阈值的情况下,电子设备重复执行S505~S510,直到已注册图像的个数大于或等于第四预设阈值,再执行S511。
示例性地,第四预设阈值可以设为100,已注册图像的个数有96个,即已注册图像的个数小于第四预设阈值,未注册图像还有第4、8、9、以及11等帧图像。首先,电子设备确定第4帧图像为待注册图像,根据第4帧图像与第1帧图像和第2帧图像分别组成的图像匹配对中匹配的特征点、第1、2和4帧图像的位姿,通过三角化算法得到第4帧图像能观测的三维点,并将第4帧图像确定为已注册图像。然后,电子设备获取未注册图像与第4帧图像组成的图像匹配对的特征匹配数量,基于特征匹配数量,确定第8、9、以及11帧图像是第4帧图像的关联图像,电子设备确定出第8、9、以及11帧的图像的图像位姿和基于第8、9、以及11帧的图像确定出的三维点的坐标、将第8、9、以及11帧的图确定为已注册图像。接着,电子设备通过BA算法优化第4、8、9、以及11帧的图像的图像位姿和基于第4、8、9、以及11帧的图像确定出的三维点的坐标,得到第4、8、9、以及11帧的图像对应的第一优化的三维点的坐标和第一优化的图像位姿。最后,电子设备计算出已注册图像的个数为100个,即等于第四预设阈值,电子设备再次通过BA算法优化已注册的100帧图像中对应的第一优化的三维点的坐标和第一优化的图像位姿,得到已注册的100帧图像对应的最终的三维点的坐标和最终的图像位姿。
S512,电子设备判断子块中的图像是否完成注册。
可选地,电子设备可以设置有计数器,用于在图像完成注册后对已注册图像进行计数,当子块中已注册图像数等于子块中的总图像数时,电子设备判断子块中的图像完成注册,电子设备输出子块的中各个图像对应的最终的三维点的坐标以及最终的图像位姿。否则,电子设备确定子块中的图像未完成注册。
应理解,各个图像对应的最终的三维点的坐标为各个图像在上述图像注册过程中确定出的三维点的坐标被再次优化之后得到的三维点的坐标。
可选地,当子块中已注册图像数小于子块中的总图像数情况下,电子设备重复执行S505~S512,直到子块中已注册图像数等于子块中的总图像数,则确定子块中的图像已完成注册。
S513,在子块中的图像均完成注册的情况下,电子设备输出子块中各个图像对应的最终的三维点的坐标和最终的图像位姿。
还应理解,上述S501~S513是电子设备对一个子块进行子块重建的过程,电子设备还需要对其他子块均执行S501~S513的步骤,以完成所有子块的重建。在完成至少两个子块的重建后,可以进入到第三阶段(子块融合阶段)。
第三阶段:子块融合阶段。
图7为本申请实施例提供的子块重建的方法700的示意性流程图。该方法700可以包括下列步骤。
S701,电子设备基于第一子块和第二子块,寻找第一子块与第二子块中的共有图像,根据共有图像中的特征点,确定为目标特征数据集。目标特征数据集的数量可以为多个。
应理解,第一子块和第二子块属于上述第二阶段已经完成的子块重建过程的至少两个子块。
具体地,上述目标特征数据集中的特征点包括共有图像的特征点、第一子块中除共有图像之外的其他图像的特征点和第二子块中除共有图像之外的其他图像的特征点。这里的其他图像的数量可以为一个,也可以为多个,本申请实施例对此不作限定。
示例性地,电子设备确定了子块1和子块2,其中,子块1中有编号为1至50的图像,子块2中有编号50至100的图像。编号50的图像为子块1和子块2的共有图像。在编号50的图像包括P50-1,P50-2,P50-3,P50-4,P50-5等5个特征点,该5个特征点对应的特征数据集为:track1={P49-1,P50-1,P51-1}、track2={P49-2,P50-2}、track3={P50-3,P51-3}、track4={P50-4,P120-4}、track5={P50-5,P51-5}。其中,track1中包括子块1中的P49-1,P50-1两个特征点,且包括子块2中的P50-1,P51-1两个特征点,因此,track1为目标特征数据集。其余的track仅包括第一子块或第二子块的一个特征点,因此,不能被确定为目标特征数据集。
S702,电子设备基于目标特征数据集,确定第一子块中的三维点和第二子块中的三维点之间的对应关系。
应理解,在第二阶段已经确定了每一个子块中的各个图像在图像注册过程中确定出的三维点。第一子块中的三维点为第一子块中的各个图像在上述第二阶段的图像注册过程中确定出的三维点,第二子块中的三维点为第二子块中的各个图像再上述第二阶段的图像注册过程中确定出的三维点。
具体地,电子设备首先获取目标特征数据集的多个特征点,确定该多个特征点中每个特征点所属子块,可以得到目标特征数据集中的第一子块的特征点和第二子块的特征点。然后,电子设备根据第一子块的特征点,在上述第二阶段的结果中获取该特征点的第一三维点的坐标,根据第二子块的特征点,在上述第二阶段的结果中获取该特征点的第二三维点的坐标。最后,电子设备确定第一三维点的坐标和第二三维点坐标之间存在对应关系。
还应理解,第一三维点和第二三维点都属于同一个目标特征数据集,即第一三维点和第二三维点为空间中的同一个三维点,因此可以确定第一三维点和第二三维点之间存在对应关系。
示例性地,对于目标特征数据集track1={P49-1,P50-1,P51-1},P49-1、P50-1、以及P51-1分别是编号为49、50、以及51的图像的匹配的特征点。子块1包括编号为49、50的图像,子块2包括编号为50、51的图像。基于S813,可以得到特征点P49-1和P50-1在子块1中的三维点P1的坐标(x,y,z),特征点P50-1和P51-1在子块2中的三维点P1’,得到P1’的坐标为(x’,y’,z’),P1和P1’之间具有对应关系。
需要说明的是,由于目标特征数据集的数量为多个,电子设备可以得到三维点之间的多个对应关系。
S703,电子设备基于第一子块中的三维点和第二子块中的三维点之间的对应关系,确定第一子块和第二子块的参考坐标系之间的相对位置关系,相对位置关系包括旋转关系、平移关系、以及尺度变换关系。
应理解,子块的参考坐标系实质为子块在基于目标种子点重建时,目标种子点的第二图像的图像位姿的参考坐标系。
示例性地,电子设备将上述对应关系中的三维点的坐标输入到sim3算法中,利用sim3算法进行相似变换(similarity transformation)的求解,进而得到第一子块和第二子块的参考坐标系之间的旋转矩阵、平移向量、以及尺度变换参数。
示例性地,对于N组三维点对应关系,子块1中的三维点的坐标为P1,P2,…,Pk,子块2中确定三维点的坐标为P1’,P2’,…,Pk’。Pk和Pk’存在Pk=s×R×Pk'+t,其中k为空间三维点的编号,k的取值为1至N,s为尺度变换参数,R为旋转矩阵,z为平移向量。因此,可以构建误差函数ek=P'-(s×R×P+t)。对于子块1和子块2中的N组三维点的对应关系,其总误差函数通过迭代优化使得总体误差E最小,求解得到旋转矩阵R、平移向量t和尺度变换s。第一子块的参考坐标系相对于第二子块的参考坐标系的相对位置关系可以通过矩阵来表示,例如可以是/>R21为第一子块的参考坐标系相对于第二子块的参考坐标系的旋转矩阵。
S704,电子设备基于第一子块和第二子块的参考坐标系之间的相对位置关系,将第一子块中的每个图像的图像位姿和第二子块中的每个图像的图像位姿转换到同一个坐标系下。
应理解,电子设备可以以第一子块的参考坐标系为全局坐标系,将第二子块的各个图像的图像位姿转换到全局坐标系中,也可以以第二子块的参考坐标系为全局坐标系,将第一子块中的图像的图像位姿转换到全局坐标系中,本申请实施例对此不做限定。
示例性地,建立第一子块的参考坐标系时参照的图像(第二图像)的图像位姿为T1,第一子块的参考坐标系相对于第二子块的参考坐标系的相对位置关系为在以第二子块的参考坐标系为全局坐标系时,第二图像的图像位姿转换为T1'=T21×T1
S705,电子设备将目标特征数据集对应的三维点确定为第一子块和第二子块的共有三维点。
应理解,一个特征数据集对应一个三维点。
S706,电子设备基于第一子块和第二子块的参考坐标系之间的相对位置关系和目标特征数据集,融合第一子块和第二子块的共有三维点。
应理解,融合第一子块和第二子块的共有三维点是指将第一子块和第二子块的共有三维点转换在同一坐标系下。
具体地,电子设备在确定了第一三维点和第二三维点后,将第一三维点根据上述的第一子块和第二子块的参考坐标系之间的相对位置关系投影到第二子块中,得到第一投影三维点。然后,电子设备基于第一投影三维点、第二三维点、第一三维点对应的目标特征数据集的长度、以及第二三维点对应的目标特征数据集的长度通过加权平均得到融合后的三维点。其中,第一三维点对应的目标特征数据集的长度为目标特征数据集中与第一子块的图像对应的特征点的个数,第二三维点的特征数据集的长度为目标特征数据集中与第二子块的图像对应的特征点的个数。
示例性地,对于目标特征数据集track={P40-1,P49-1,P50-1,P51-1,P52-1,P54-1},其中,P40-1,P49-1,P50-1的特征点对应的图像属于第一子块,对应的三维点P1的坐标为(x1,y1,z1),第二子块的三维点P2为(x2,y2,z2),P1和P2是同一个三维点。P1的track长度为3,P2的track长度为4。将三维点P1根据上述第一子块和第二子块的参考坐标系之间的相对位置关系在第二子块的参考坐标系下进行投影,具体投影公式可以为:P2'=s×R21×P2+t,得到P1点在第二子块的参考坐标系中的坐标P2'(x2',y2',z2')。融合P1和P2得到融合后的三维点P的坐标为
应理解,在将第一子块中图像的图像位姿和第二子块中图像的图像位姿的转换到统一坐标系下,且融合第一子块和第二子块的共有三维点,即完成了第一子块和第二子块的融合。
还应理解,上述S701~S705是电子设备对两个子块进行融合的过程,电子设备还需要对S306得到的多个子块均执行S701~S705的步骤。
可选地,电子设备可以通过多种方式进行所有子块的融合。
在一种可能的实现方式中,电子设备可以首先将M个子块两两融合得到M/2个新子块,然后再将M/2个新子块再两两融合,依次类推,直到所有的子块中的图像的图像位姿和共有三维点均在同一坐标系下。
在另一种可能的实现方式中,电子设备也可以首先确定两个子块融合得到新子块,然后随机选择第三个子块与新子块进行融合,依次类推,直到所有的子块中的图像的图像位姿和共有三维点均在同一坐标系下。
S707,电子设备判断所有子块是否融合完成。
S708,在所有子块融合完成的情况下,电子设备得到上述多个图像在同一坐标系下的三维点和图像位姿。
可选地,在所有子块融合未完成的情况下,电子设备继续执行S701~S707的步骤,直至所有子块完成融合。
S709,电子设备基于多个图像在同一坐标系下的三维点和图像位姿,得到重建后的三维模型。
本申请实施例的图像处理方法,通过确定子块的中间帧,基于子块的中间帧从候选种子点中确定目标种子点进行子块重建,这样,电子设备可以从靠近子块的中间帧的图像匹配对开始重建,有利于提高后续图像的三维点的坐标和图像位姿的计算精度,减小子块重建的累积误差。此外,通过两个子块的共有图像确定的三维点对应关系来求解两个子块的参考坐标系的相对位置变换关系,进而根据该相关位置变换关系进行两个子块中的图像位姿和两个子块的共有三维点的融合,这样,确定的两个子块的三维点的对应关系较多,约束较多,有利于提高电子设备求解两个子块的参考坐标系的相对位置变换关系的准确率,有利于提高子块的融合成功率。综上所述,通过本申请实施例得到的三维模型,重建的成功率更高,效果更好,从而使得用户体验更好。
上文结合图1至图7,详细描述了本申请实施例的图像处理方法,下面将结合图8和图9,详细描述本申请实施例的电子设备。
图8是本申请实施例提供的一种电子设备800。该电子设备800包括获取模块801和处理模块802。
获取模块801,用于获取多个图像,所述多个图像分别是在不同视角下对目标对象进行拍摄得到的;处理模块802,用于基于所述多个图像,对所述多个图像进行特征点提取和分块,得到特征数据集和多个子块,所述多个子块中每两个子块均存在共有图像,所述特征数据集为包括所述多个图像中匹配的特征点的标识的集合;基于所述多个子块中每个子块中的图像的编号,从所述每个子块中确定目标图像对,并确定所述目标图像对中每个图像的图像位姿和所述目标图像对所匹配的特征点对应的三维点坐标,所述目标图像对是基于所述每个子块中编号位于所述每个子块中间的图像确定的;基于所述特征数据集、所述目标图像对中每个图像的图像位姿和所述目标图像对所匹配的特征点对应的三维点坐标,确定所述每个子块中除所述目标图像对之外的剩余图像的图像位姿和所述剩余图像对应的三维点坐标;基于所述多个子块中每个子块的图像的图像位姿和三维点坐标,对所述多个子块进行融合,得到所述目标对象的三维模型。
可选地,所述处理单元802还用于:提取所述多个图像中每个图像的特征点;基于上述多个图像,确定多个图像匹配对,所述多个图像匹配对中的每个图像匹配对包括两个图像;基于所述多个图像匹配对和所述每张图像的特征点,对所述每个图像匹配对中的图像进行特征点匹配,得到所述多个图像匹配对的匹配结果,所述匹配结果包括用于表示特征点之间的匹配关系的信息;基于所述多个图像匹配对的匹配结果,确定所述特征数据集;基于所述多个图像匹配对的匹配结果,对所述多个图像进行分块,得到所述多个子块。
可选地,所述获取单元801还用于:获取第一子块中的图像对应的至少一个图像匹配对和所述至少一个图像匹配对的匹配结果,所述至少一个图像匹配对包括的图像均属于所述第一子块;所述处理单元802还用于,从所述至少一个图像匹配对中选择部分图像匹配对作为候选图像对;基于所述第一子块中图像的编号,确定编号位于所述第一子块中间的图像;基于所述编号位于所述第一子块中间的图像,从所述候选图像对中选择所述目标图像对。
可选地,所述处理单元802还用于:将所述目标图像对中的图像添加至已处理图像集合;基于所述目标图像对中匹配的特征点对应的特征数据集,确定待处理图像;基于所述已处理图像集合中的图像的图像位姿和所述已处理图像集合中的图像对应的三维点坐标,对所述待处理图像进行处理,得到所述待处理图像的图像位姿和所述待处理图像对应的三维点坐标;将所述待处理图像添加至所述已处理图像集合,并确定新的待处理图像;重复上述步骤对所述新的待处理图像进行处理,直到所述剩余图像均被添加至所述已处理图像集合。
可选地,所述处理单元802还用于:基于能够在所述待处理图像上被观测到的、且为所述目标图像对中匹配的特征点对应的三维点的坐标,确定所述待处理图像的图像位姿;基于所述目标图像对中的图像的图像位姿、所述待处理图像的图像位姿、所述目标图像对中的图像的特征点的坐标、以及所述待处理图像的特征点的坐标,确定所述待处理图像与所述目标图像对中的图像所匹配的特征点对应的三维点的坐标。
可选地,所述处理单元802还用于:确定所述多个子块中子块之间的三维点对应关系;基于所述子块之间的三维点对应关系,对所述多个子块进行融合,确定子块融合后的最终三维点;基于所述多个子块中每个子块的图像的图像位姿和所述子块融合后的最终三维点,得到所述目标对象的三维模型。
可选地,所述处理单元802还用于:基于所述多个子块中的第二子块和第三子块,确定所述第二子块和所述第三子块中的共有图像;从所述共有图像中的特征点对应的多个特征数据集中,确定目标特征数据集,所述目标特征数据集中的特征点包括所述共有图像的特征点、所述第二子块中除共有图像之外的其他图像的特征点和所述第三子块中除共有图像之外的其他图像的特征点;基于所述目标特征数据集,确定所述第二子块对应的三维点和所述第三子块对应的三维点之间的对应关系;基于所述对应关系,确定所述第二子块的参考坐标系和所述第三子块的参考坐标系之间的相对位置关系;基于所述相对位置关系,将所述第二子块中的每个图像的图像位姿和所述第三子块中的每个图像的图像位姿转换到同一坐标系下;在所述同一坐标系下,基于所述目标特征数据集在所述第二子块对应的三维点和所述目标特征数据集在所述第三子块对应的三维点,确定所述目标特征数据集对应的最终三维点。
应理解,这里的电子设备800以功能模块的形式体现。这里的术语“模块”可以指应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。在一个可选例子中,本领域技术人员可以理解,电子设备800可以具体为上述实施例中的电子设备,电子设备800可以用于执行上述方法实施例中与电子设备对应的各个流程和/或步骤,为避免重复,在此不再赘述。
上述电子设备800具有实现上述方法中电子设备执行的相应步骤的功能;上述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。例如,上述获取模块801可以用于实现上述获取模块对应的用于执行发送动作的各个步骤和/或流程。该获取模块801可以执行各个方法实施例中的获取操作以及相关的处理操作。
在本申请的实施例,图8中的电子设备800也可以是芯片或者芯片系统,例如:片上系统(system on chip,SOC)。对应的,获取模块801可以是该芯片的获取电路,在此不做限定。
图9示出了本申请实施例提供的另一种电子设备900。该电子设备900包括处理器901、收发器902和存储器903。其中,处理器901、收发器902和存储器903通过内部连接通路互相通信,该存储器903用于存储指令,该处理器901用于执行该存储器903存储的指令,以控制该收发器902发送信号和/或接收信号。
应理解,电子设备900可以具体为上述实施例中的电子设备,并且可以用于执行上述方法实施例中与电子设备对应的各个步骤和/或流程。可选地,该存储器903可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。该处理器901可以用于执行存储器中存储的指令,并且当该处理器901执行存储器中存储的指令时,该处理器901用于执行上述与该电子设备对应的方法实施例的各个步骤和/或流程。该收发器902可以包括发射器和接收器,该发射器可以用于实现上述收发器对应的用于执行发送动作的各个步骤和/或流程,该接收器可以用于实现上述收发器对应的用于执行接收动作的各个步骤和/或流程。
应理解,在本申请实施例中,该处理器可以是中央处理单元(central processingunit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器执行存储器中的指令,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
本申请还提供了一种计算机可读存储介质,该计算机可读存储介质用于存储计算机程序,该计算机程序用于实现上述实施例中与电子设备对应的方法。
本申请还提供了一种计算机程序产品,该计算机程序产品包括计算机程序(也可以称为代码,或指令),当该计算机程序在计算机上运行时,该计算机可以执行上述实施例所示的电子设备对应的方法。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应所述以权利要求的保护范围为准。

Claims (17)

1.一种图像处理方法,其特征在于,包括:
基于目标对象的多个图像,对所述多个图像进行特征点提取和分块,得到特征数据集和多个子块,所述多个子块中每两个子块均存在共有图像,所述特征数据集为包括所述多个图像中匹配的特征点的标识的集合;
基于所述多个子块中每个子块中的图像的编号,从所述每个子块中确定目标图像对,并确定所述目标图像对中每个图像的图像位姿和所述目标图像对所匹配的特征点对应的三维点坐标,所述目标图像对是基于所述每个子块中编号位于所述每个子块中间的图像确定的;
基于所述特征数据集、所述目标图像对中每个图像的图像位姿和所述目标图像对所匹配的特征点对应的三维点坐标,确定所述每个子块中除所述目标图像对之外的剩余图像的图像位姿和所述剩余图像对应的三维点坐标;
基于所述多个子块中每个子块的图像的图像位姿和三维点坐标,对所述多个子块进行融合,得到所述目标对象的三维模型。
2.根据权利要求1所述的方法,其特征在于,所述基于目标对象的多个图像,对所述多个图像进行特征点提取和分块,得到特征数据集和多个子块,包括:
获取所述多个图像,所述多个图像分别是在不同视角下对所述目标对象进行拍摄得到的;
提取所述多个图像中每个图像的特征点;
基于所述多个图像,确定多个图像匹配对,所述多个图像匹配对中的每个图像匹配对包括两个图像;
基于所述多个图像匹配对和所述每个图像的特征点,对所述每个图像匹配对中的图像进行特征点匹配,得到所述多个图像匹配对的匹配结果,所述匹配结果包括用于表示特征点之间的匹配关系的信息;
基于所述多个图像匹配对的匹配结果,确定所述特征数据集;
基于所述多个图像匹配对的匹配结果,对所述多个图像进行分块,得到所述多个子块。
3.根据权利要求2所述的方法,其特征在于,所述从所述每个子块中确定目标图像对,包括:
获取第一子块中的图像对应的至少一个图像匹配对和所述至少一个图像匹配对的匹配结果,所述至少一个图像匹配对包括的图像均属于所述第一子块;
从所述至少一个图像匹配对中选择部分图像匹配对作为候选图像对;
基于所述第一子块中图像的编号,确定编号位于所述第一子块中间的图像;
基于所述编号位于所述第一子块中间的图像,从所述候选图像对中选择所述目标图像对。
4.根据权利要求3所述的方法,其特征在于,所述确定所述每个子块中除所述目标图像对之外的剩余图像的图像位姿和三维点坐标,包括:
将所述目标图像对中的图像添加至已处理图像集合;
基于所述目标图像对中匹配的特征点对应的特征数据集,确定待处理图像;
基于所述已处理图像集合中的图像的图像位姿和所述已处理图像集合中的图像对应的三维点坐标,对所述待处理图像进行处理,得到所述待处理图像的图像位姿和所述待处理图像对应的三维点坐标;
将所述待处理图像添加至所述已处理图像集合,并确定新的待处理图像;
重复上述步骤对所述新的待处理图像进行处理,直到所述剩余图像均被添加至所述已处理图像集合。
5.根据权利要求4所述的方法,其特征在于,所述对所述待处理图像进行处理,得到所述待处理图像的图像位姿和所述待处理图像对应的三维点坐标,包括:
基于能够在所述待处理图像上被观测到的、且为所述目标图像对中匹配的特征点对应的三维点的坐标,确定所述待处理图像的图像位姿;
基于所述目标图像对中的图像的图像位姿、所述待处理图像的图像位姿、所述目标图像对中的图像的特征点的坐标、以及所述待处理图像的特征点的坐标,确定所述待处理图像与所述目标图像对中的图像所匹配的特征点对应的三维点的坐标。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述基于所述多个子块中每个子块的图像的图像位姿和三维点坐标,对所述多个子块进行融合,得到所述目标对象的三维模型,包括:
确定所述多个子块中子块之间的三维点对应关系;
基于所述子块之间的三维点对应关系,对所述多个子块进行融合,确定子块融合后的最终三维点;
基于所述多个子块中每个子块的图像的图像位姿和所述子块融合后的最终三维点,得到所述目标对象的三维模型。
7.根据权利要求6所述的方法,其特征在于,所述确定所述多个子块中子块之间的三维点对应关系,包括:
基于所述多个子块中的第二子块和第三子块,确定所述第二子块和所述第三子块中的共有图像;
从所述共有图像中的特征点对应的多个特征数据集中,确定目标特征数据集,所述目标特征数据集中的特征点包括所述共有图像的特征点、所述第二子块中除共有图像之外的其他图像的特征点和所述第三子块中除共有图像之外的其他图像的特征点;
基于所述目标特征数据集,确定所述第二子块对应的三维点和所述第三子块对应的三维点之间的对应关系;
所述确定子块融合后的最终三维点,包括:
基于所述对应关系,确定所述第二子块的参考坐标系和所述第三子块的参考坐标系之间的相对位置关系;
基于所述相对位置关系,将所述第二子块中的每个图像的图像位姿和所述第三子块中的每个图像的图像位姿转换到同一坐标系下;
在所述同一坐标系下,基于所述目标特征数据集在所述第二子块对应的三维点和所述目标特征数据集在所述第三子块对应的三维点,确定所述目标特征数据集对应的最终三维点。
8.一种电子设备,其特征在于,包括:
获取单元,用于获取多个图像,所述多个图像分别是在不同视角下对目标对象进行拍摄得到的;
处理单元,用于基于所述多个图像,对所述多个图像进行特征点提取和分块,得到特征数据集和多个子块,所述多个子块中每两个子块均存在共有图像,所述特征数据集为包括所述多个图像中匹配的特征点的标识的集合;基于所述多个子块中每个子块中的图像的编号,从所述每个子块中确定目标图像对,并确定所述目标图像对中每个图像的图像位姿和所述目标图像对所匹配的特征点对应的三维点坐标,所述目标图像对是基于所述每个子块中编号位于所述每个子块中间的图像确定的;基于所述特征数据集、所述目标图像对中每个图像的图像位姿和所述目标图像对所匹配的特征点对应的三维点坐标,确定所述每个子块中除所述目标图像对之外的剩余图像的图像位姿和所述剩余图像对应的三维点坐标;以及,基于所述多个子块中每个子块的图像的图像位姿和三维点坐标,对所述多个子块进行融合,得到所述目标对象的三维模型。
9.根据权利要求8所述的电子设备,其特征在于,所述处理单元还用于:
提取所述多个图像中每个图像的特征点;基于上述多个图像,确定多个图像匹配对,所述多个图像匹配对中的每个图像匹配对包括两个图像;
基于所述多个图像匹配对和所述每个图像的特征点,对所述每个图像匹配对中的图像进行特征点匹配,得到所述多个图像匹配对的匹配结果,所述匹配结果包括用于表示特征点之间的匹配关系的信息;
基于所述多个图像匹配对的匹配结果,确定所述特征数据集;基于所述多个图像匹配对的匹配结果,对所述多个图像进行分块,得到所述多个子块。
10.根据权利要求9所述的电子设备,其特征在于,所述获取单元还用于:
获取第一子块中的图像对应的至少一个图像匹配对和所述至少一个图像匹配对的匹配结果,所述至少一个图像匹配对包括的图像均属于所述第一子块;
所述处理单元还用于:
从所述至少一个图像匹配对中选择部分图像匹配对作为候选图像对;基于所述第一子块中图像的编号,确定编号位于所述第一子块中间的图像;以及,基于所述编号位于所述第一子块中间的图像,从所述候选图像对中选择所述目标图像对。
11.根据权利要求10所述的电子设备,其特征在于,所述处理单元还用于:
将所述目标图像对中的图像添加至已处理图像集合;基于所述目标图像对中匹配的特征点对应的特征数据集,确定待处理图像;
基于所述已处理图像集合中的图像的图像位姿和所述已处理图像集合中的图像对应的三维点坐标,对所述待处理图像进行处理,得到所述待处理图像的图像位姿和所述待处理图像对应的三维点坐标;
将所述待处理图像添加至所述已处理图像集合,并确定新的待处理图像;重复上述步骤对所述新的待处理图像进行处理,直到所述剩余图像均被添加至所述已处理图像集合。
12.根据权利要求11所述的电子设备,其特征在于,所述处理单元还用于:
基于能够在所述待处理图像上被观测到的、且为所述目标图像对中匹配的特征点对应的三维点的坐标,确定所述待处理图像的图像位姿;
基于所述目标图像对中的图像的图像位姿、所述待处理图像的图像位姿、所述目标图像对中的图像的特征点的坐标、以及所述待处理图像的特征点的坐标,确定所述待处理图像与所述目标图像对中的图像所匹配的特征点对应的三维点的坐标。
13.根据权利要求8至12中任一项所述的电子设备,其特征在于,所述处理单元还用于:
确定所述多个子块中子块之间的三维点对应关系;
基于所述子块之间的三维点对应关系,对所述多个子块进行融合,确定子块融合后的最终三维点;
基于所述多个子块中每个子块的图像的图像位姿和所述子块融合后的最终三维点,得到所述目标对象的三维模型。
14.根据权利要求13所述的电子设备,其特征在于,所述处理单元还用于:
基于所述多个子块中的第二子块和第三子块,确定所述第二子块和所述第三子块中的共有图像;
从所述共有图像中的特征点对应的多个特征数据集中,确定目标特征数据集,所述目标特征数据集中的特征点包括所述共有图像的特征点、所述第二子块中除共有图像之外的其他图像的特征点和所述第三子块中除共有图像之外的其他图像的特征点;
基于所述目标特征数据集,确定所述第二子块对应的三维点和所述第三子块对应的三维点之间的对应关系;
基于所述对应关系,确定所述第二子块的参考坐标系和所述第三子块的参考坐标系之间的相对位置关系;
基于所述相对位置关系,将所述第二子块中的每个图像的图像位姿和所述第三子块中的每个图像的图像位姿转换到同一坐标系下;
在所述同一坐标系下,基于所述目标特征数据集在所述第二子块对应的三维点和所述目标特征数据集在所述第三子块对应的三维点,确定所述目标特征数据集对应的最终三维点。
15.一种电子设备,其特征在于,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储计算机程序,当所述处理器调用所述计算机程序时,使得所述电子设备执行如权利要求1至7任一所述的方法。
16.一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序包括用于实现如权利要求1至7任一所述的方法的指令。
17.一种计算机程序产品,其特征在于,所述计算机程序产品中包括计算机程序代码,当所述计算机程序代码在计算机上运行时,使得所述计算机实现如权利要求1至7任一所述的方法。
CN202211582172.5A 2022-12-09 2022-12-09 图像处理方法和电子设备 Active CN116704152B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211582172.5A CN116704152B (zh) 2022-12-09 2022-12-09 图像处理方法和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211582172.5A CN116704152B (zh) 2022-12-09 2022-12-09 图像处理方法和电子设备

Publications (2)

Publication Number Publication Date
CN116704152A true CN116704152A (zh) 2023-09-05
CN116704152B CN116704152B (zh) 2024-04-19

Family

ID=87826402

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211582172.5A Active CN116704152B (zh) 2022-12-09 2022-12-09 图像处理方法和电子设备

Country Status (1)

Country Link
CN (1) CN116704152B (zh)

Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104167000A (zh) * 2014-08-25 2014-11-26 同济大学 一种仿射不变的宽基线图像密集匹配方法
CN107194985A (zh) * 2017-04-11 2017-09-22 中国农业大学 一种面向大场景的三维可视化方法及装置
CN108537876A (zh) * 2018-03-05 2018-09-14 清华-伯克利深圳学院筹备办公室 基于深度相机的三维重建方法、装置、设备及存储介质
CN108765298A (zh) * 2018-06-15 2018-11-06 中国科学院遥感与数字地球研究所 基于三维重建的无人机图像拼接方法和系统
US10447992B1 (en) * 2018-06-11 2019-10-15 Ubtech Robotics Corp Image processing method and system
CN110715646A (zh) * 2018-07-11 2020-01-21 刘松林 一种地图修测测量方法及装置
CN110910493A (zh) * 2019-11-29 2020-03-24 广州极飞科技有限公司 三维重建方法、装置及电子设备
CN111145238A (zh) * 2019-12-12 2020-05-12 中国科学院深圳先进技术研究院 单目内窥镜图像的三维重建方法、装置及终端设备
CN111383333A (zh) * 2020-04-02 2020-07-07 西安因诺航空科技有限公司 一种分段式sfm三维重建方法
CN111652799A (zh) * 2020-04-14 2020-09-11 北京奇艺世纪科技有限公司 图像处理方法、装置、电子设备及可读存储介质
CN111815757A (zh) * 2019-06-29 2020-10-23 浙江大学山东工业技术研究院 基于图像序列的大型构件三维重建方法
CN112288853A (zh) * 2020-10-29 2021-01-29 字节跳动有限公司 三维重建方法、三维重建装置、存储介质
CN112365404A (zh) * 2020-11-23 2021-02-12 成都唐源电气股份有限公司 一种基于多相机的接触网全景图像拼接方法、系统及设备
CN112767538A (zh) * 2021-01-11 2021-05-07 浙江商汤科技开发有限公司 三维重建及相关交互、测量方法和相关装置、设备
CN113077552A (zh) * 2021-06-02 2021-07-06 北京道达天际科技有限公司 基于无人机影像的dsm生成方法和装置
CN113538591A (zh) * 2021-06-18 2021-10-22 深圳奥锐达科技有限公司 一种距离测量装置与相机融合系统的标定方法及装置
WO2022052032A1 (zh) * 2020-09-11 2022-03-17 京东方科技集团股份有限公司 图像的分割方法、装置和图像的三维重建方法、装置
CN114494589A (zh) * 2022-01-14 2022-05-13 广州极飞科技股份有限公司 三维重建方法、装置、电子设备和计算机可读存储介质
CN114494606A (zh) * 2022-02-16 2022-05-13 上海营邑城市规划设计股份有限公司 生成遗址遗迹地下埋藏区地层的三维模型的方法
CN114998549A (zh) * 2022-06-01 2022-09-02 南京万生华态科技有限公司 中药材三维数字模型的制作方法与计算机可读取介质

Patent Citations (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104167000A (zh) * 2014-08-25 2014-11-26 同济大学 一种仿射不变的宽基线图像密集匹配方法
CN107194985A (zh) * 2017-04-11 2017-09-22 中国农业大学 一种面向大场景的三维可视化方法及装置
CN108537876A (zh) * 2018-03-05 2018-09-14 清华-伯克利深圳学院筹备办公室 基于深度相机的三维重建方法、装置、设备及存储介质
US10447992B1 (en) * 2018-06-11 2019-10-15 Ubtech Robotics Corp Image processing method and system
CN108765298A (zh) * 2018-06-15 2018-11-06 中国科学院遥感与数字地球研究所 基于三维重建的无人机图像拼接方法和系统
CN110715646A (zh) * 2018-07-11 2020-01-21 刘松林 一种地图修测测量方法及装置
CN111815757A (zh) * 2019-06-29 2020-10-23 浙江大学山东工业技术研究院 基于图像序列的大型构件三维重建方法
CN110910493A (zh) * 2019-11-29 2020-03-24 广州极飞科技有限公司 三维重建方法、装置及电子设备
CN111145238A (zh) * 2019-12-12 2020-05-12 中国科学院深圳先进技术研究院 单目内窥镜图像的三维重建方法、装置及终端设备
CN111383333A (zh) * 2020-04-02 2020-07-07 西安因诺航空科技有限公司 一种分段式sfm三维重建方法
CN111652799A (zh) * 2020-04-14 2020-09-11 北京奇艺世纪科技有限公司 图像处理方法、装置、电子设备及可读存储介质
WO2022052032A1 (zh) * 2020-09-11 2022-03-17 京东方科技集团股份有限公司 图像的分割方法、装置和图像的三维重建方法、装置
CN112288853A (zh) * 2020-10-29 2021-01-29 字节跳动有限公司 三维重建方法、三维重建装置、存储介质
WO2022088799A1 (zh) * 2020-10-29 2022-05-05 陈志立 三维重建方法、三维重建装置、存储介质
CN112365404A (zh) * 2020-11-23 2021-02-12 成都唐源电气股份有限公司 一种基于多相机的接触网全景图像拼接方法、系统及设备
CN112767538A (zh) * 2021-01-11 2021-05-07 浙江商汤科技开发有限公司 三维重建及相关交互、测量方法和相关装置、设备
CN113077552A (zh) * 2021-06-02 2021-07-06 北京道达天际科技有限公司 基于无人机影像的dsm生成方法和装置
CN113538591A (zh) * 2021-06-18 2021-10-22 深圳奥锐达科技有限公司 一种距离测量装置与相机融合系统的标定方法及装置
CN114494589A (zh) * 2022-01-14 2022-05-13 广州极飞科技股份有限公司 三维重建方法、装置、电子设备和计算机可读存储介质
CN114494606A (zh) * 2022-02-16 2022-05-13 上海营邑城市规划设计股份有限公司 生成遗址遗迹地下埋藏区地层的三维模型的方法
CN114998549A (zh) * 2022-06-01 2022-09-02 南京万生华态科技有限公司 中药材三维数字模型的制作方法与计算机可读取介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
周泩朴: "基于无序图像的大场景三维重建技术研究", 《中国优秀硕士学位论文全文数据库》, no. 1, pages 138 - 2696 *

Also Published As

Publication number Publication date
CN116704152B (zh) 2024-04-19

Similar Documents

Publication Publication Date Title
Tola et al. Efficient large-scale multi-view stereo for ultra high-resolution image sets
CN110705574B (zh) 定位方法及装置、设备、存储介质
KR101532864B1 (ko) 모바일 디바이스들에 대한 평면 맵핑 및 트래킹
CN103700099B (zh) 一种旋转和尺度不变的宽基线立体匹配方法
CN112085844A (zh) 面向野外未知环境的无人机影像快速三维重建方法
CN104966281B (zh) 多视影像的imu/gnss引导匹配方法
Irschara et al. Towards wiki-based dense city modeling
EP3274964B1 (en) Automatic connection of images using visual features
US11651581B2 (en) System and method for correspondence map determination
US12026827B2 (en) Method, apparatus, system, and storage medium for 3D reconstruction
JP2022541559A (ja) 視覚的測位方法及び関連装置
Schönberger et al. Structure-from-motion for MAV image sequence analysis with photogrammetric applications
AliAkbarpour et al. Fast structure from motion for sequential and wide area motion imagery
CN111179433A (zh) 目标物体的三维建模方法及装置、电子设备、存储介质
Cheng et al. Extracting three-dimensional (3D) spatial information from sequential oblique unmanned aerial system (UAS) imagery for digital surface modeling
CN117456114B (zh) 基于多视图的三维图像重建方法及系统
CN117218201A (zh) Gnss拒止条件下无人机影像定位精度提升方法及系统
He et al. Linear approach for initial recovery of the exterior orientation parameters of randomly captured images by low-cost mobile mapping systems
CN116843754A (zh) 一种基于多特征融合的视觉定位方法及系统
CN109087344B (zh) 三维重建中的图像选择方法及装置
CN111402429B (zh) 一种尺度还原、三维重建方法、系统、存储介质及设备
CN113012084A (zh) 无人机影像实时拼接方法、装置及终端设备
Abdel-Wahab et al. Efficient reconstruction of large unordered image datasets for high accuracy photogrammetric applications
CN116704152B (zh) 图像处理方法和电子设备
Bajramovic et al. Global Uncertainty-based Selection of Relative Poses for Multi Camera Calibration.

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