CN113450254B - 图像处理方法、装置、电子设备和计算机可读存储介质 - Google Patents
图像处理方法、装置、电子设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN113450254B CN113450254B CN202110554274.5A CN202110554274A CN113450254B CN 113450254 B CN113450254 B CN 113450254B CN 202110554274 A CN202110554274 A CN 202110554274A CN 113450254 B CN113450254 B CN 113450254B
- Authority
- CN
- China
- Prior art keywords
- image
- initial
- target
- images
- pose
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 71
- 238000012545 processing Methods 0.000 title claims abstract description 29
- 238000013507 mapping Methods 0.000 claims abstract description 89
- 238000000034 method Methods 0.000 claims description 86
- 239000011159 matrix material Substances 0.000 claims description 47
- 230000004927 fusion Effects 0.000 claims description 46
- 238000010276 construction Methods 0.000 claims description 36
- 238000004590 computer program Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 15
- 238000012216 screening Methods 0.000 claims description 15
- 238000013519 translation Methods 0.000 claims description 14
- 238000005286 illumination Methods 0.000 claims description 13
- 238000000265 homogenisation Methods 0.000 claims description 6
- 238000005457 optimization Methods 0.000 claims description 6
- 208000018747 cerebellar ataxia with neuropathy and bilateral vestibular areflexia syndrome Diseases 0.000 claims description 2
- 230000000875 corresponding effect Effects 0.000 description 82
- 238000010586 diagram Methods 0.000 description 25
- 230000000694 effects Effects 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000001914 filtration Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 230000001276 controlling effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000007500 overflow downdraw method Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000004308 accommodation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 239000011324 bead Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000004438 eyesight Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4038—Image mosaicing, e.g. composing plane images from plane sub-images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/08—Projecting images onto non-planar surfaces, e.g. geodetic screens
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/32—Indexing scheme for image data processing or generation, in general involving image mosaicing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
Abstract
一种图像处理方法、图像处理装置、电子设备和介质。该图像处理方法包括:获取多个初始图像;将多个初始图像进行特征点匹配而获得至少一个匹配图像组;基于每个匹配图像组中不同初始图像之间相匹配的特征点,确定每个匹配图像组中不同初始图像之间的映射关系;基于映射关系,确定多个初始图像中每个初始图像分别对应的目标位姿信息;基于多个初始图像分别对应的目标位姿信息,确定每个初始图像在曲面投影中的投影信息;根据每个初始图像在曲面投影中的投影信息,将多个初始图像分别映射到目标像素画布中而生成多个目标图像;将多个目标图像进行融合而得到拼接图像。该图像处理方法既降低了图像拼接对图像要求和运算量,又使得拼接图像更自然。
Description
技术领域
本公开的实施例涉及一种图像处理方法、装置、电子设备和计算机可读存储介质。
背景技术
当前,图像拼接(image mosaic)得到越来越多的关注,它已经成为照相绘图学、计算机视觉、图像处理和计算机图形学研究中的热点。图像拼接一般通过对齐一系列图像,构成一个无缝的、高清晰的图像,它具有比单个图像更高的分辨率和更大的视野。图像拼接的应用场景广泛,比如无人机航拍、遥感图像等。
发明内容
本公开至少一个实施例提供一种图像处理方法,包括:获取多个初始图像;将多个初始图像进行特征点匹配而获得至少一个匹配图像组,至少一个匹配图像组中每个匹配图像组包括多个初始图像中的至少部分初始图像,每个匹配图像组包括之间存在相匹配的特征点的不同初始图像;基于每个匹配图像组中不同初始图像之间相匹配的特征点,确定每个匹配图像组中不同初始图像之间的映射关系;基于每个匹配图像组中不同初始图像之间的映射关系,确定多个初始图像中每个初始图像分别对应的目标位姿信息;基于多个初始图像分别对应的目标位姿信息,确定每个初始图像在曲面投影中的投影信息;根据每个初始图像在曲面投影中的投影信息,将多个初始图像分别映射到目标像素画布中而生成多个目标图像;以及将多个目标图像进行融合而得到拼接图像。
例如,在本公开一实施例提供的图像处理方法中,基于每个匹配图像组中不同初始图像之间相匹配的特征点,确定每个匹配图像组中不同初始图像之间的映射关系,包括:基于每个匹配图像组中不同初始图像之间相匹配的特征点,确定匹配图像组中的匹配图像对,匹配图像对包括第一初始图像和第二初始图像,第一初始图像中的部分特征点与第二初始图像中的部分特征点相匹配;基于第一初始图像与第二初始图像之间相匹配的特征点,计算第一初始图像与第二初始图像之间的映射矩阵,映射矩阵表示第一初始图像和第二初始图像之间的映射关系。
例如,在本公开一实施例提供的图像处理方法中,基于每个匹配图像组中不同初始图像之间的映射关系,确定多个初始图像中每个初始图像分别对应的目标位姿信息,包括:从每个匹配图像组中选择一个初始图像作为基准图像,将基准图像对应的位姿作为基准位姿;以及基于每个匹配图像组对应的映射关系和基准位姿,确定多个初始图像中每个初始图像分别对应的目标位姿信息。
例如,在本公开一实施例提供的图像处理方法中,基于每个匹配图像组对应的映射关系和基准位姿,确定多个初始图像中每个初始图像分别对应的目标位姿信息,包括:基于每个匹配图像组对应的映射关系和基准位姿,确定每个匹配图像组中的初始图像相对于基准位姿的第一位姿信息;确定不同匹配图像组之间的位姿关系;以及基于每个匹配图像组中不同初始图像分别相对于基准位姿的第一位姿信息和不同匹配图像组之间的位姿关系,确定多个初始图像中每个初始图像分别对应的目标位姿信息。
例如,在本公开一实施例提供的图像处理方法中,多个初始图像是通过图像采集装置获得的,图像采集装置包括传感器,方法还包括:获取传感器构建的构建位姿信息,构建位姿信息包括图像采集装置采集每个初始图像的过程中所采用的位姿;确定不同匹配图像组之间的位姿关系,包括:基于不同匹配图像组中分别包括的至少一个初始图像对应的构建位姿信息,确定不同匹配图像组之间的位姿关系。
例如,在本公开一实施例提供的图像处理方法中,基于每个匹配图像组中不同初始图像分别相对于基准位姿的第一位姿信息和不同匹配图像组之间的位姿关系,确定多个初始图像中每个初始图像分别对应的目标位姿信息,包括:基于不同匹配图像组之间的位姿关系,将每个匹配图像组中不同初始图像分别相对于基准位姿的第一位姿信息转换为相对于同一目标基准位姿的第二位姿信息,目标基准位姿为至少一个匹配图像组中的一个匹配图像组对应的基准位姿;以及对第二位姿信息与构建位姿信息进行数据融合而得到多个初始图像中每个初始图像分别对应的目标位姿信息。
例如,在本公开一实施例提供的图像处理方法中,对第二位姿信息与构建位姿信息进行数据融合而得到多个初始图像中每个初始图像分别对应的目标位姿信息,包括:将构建位姿信息转换到以目标基准位姿作为基准的坐标系中而获得第三位姿信息;对第三位姿信息与第二位姿信息进行数据融合而得到融合筛选结果;以及基于融合筛选结果确定目标位姿信息。
例如,在本公开一实施例提供的图像处理方法中,基于融合筛选结果确定目标位姿信息,包括:利用参数优化方法对融合筛选结果处理而得到目标位姿信息。
例如,在本公开一实施例提供的图像处理方法中,传感器包括第一传感器和第二传感器,获取传感器构建的构建位姿信息,包括:获取第一位姿数据,第一位姿数据为第一传感器构建的图像采集装置采集每个初始图像所采用的第一位姿;获取第二位姿数据,第二位姿数据为第二传感器构建的图像采集装置采集每个初始图像所采用的第二位姿;以及对第一位姿数据和第二位姿数据进行数据融合而得到每个初始图像对应的构建位姿信息。
例如,在本公开一实施例提供的图像处理方法中,基于每个初始图像分别对应的目标位姿信息,确定每个初始图像在曲面投影中的投影信息,包括:基于每个初始图像分别对应的目标位姿信息,将每个初始图像转换到世界坐标系中而获得每个初始图像在世界坐标系中的世界坐标信息;根据每个初始图像的世界坐标信息,确定每个初始图像在曲面投影中的曲面坐标信息;以及将每个初始图像的曲面坐标信息转换为投影信息。
例如,在本公开一实施例提供的图像处理方法中,根据投影信息,将多个初始图像分别映射到目标像素画布中而生成多个目标图像,包括:确定目标像素画布的尺寸;以及基于目标像素画布的尺寸和投影信息,确定每个初始图像中的每个像素点在目标像素画布中的位置,从而将每个初始图像映射到目标像素画布中,以生成多个目标图像。
例如,在本公开一实施例提供的图像处理方法中,投影信息包括初始图像中像素点的经度和纬度 ,每个初始图像中的每个像素点在目标像素画布中的位置通过如下公式计算得到:
例如,在本公开一实施例提供的图像处理方法中,将多个目标图像进行融合而得到拼接图像,包括:对多个目标图像进行加权融合而得到拼接图像。
例如,在本公开一实施例提供的图像处理方法中,对多个目标图像进行加权融合而得到拼接图像,包括:基于多个初始图像分别在目标像素画布中的位置,确定多个目标图像中每个目标图像的重叠区域和非重叠区域,重叠区域为每个目标图像与多个目标图像中除该目标图像以外的其他目标图像存在多个相匹配的特征点的区域,非重叠区域为目标图像中除重叠区域之外的区域;确定重叠区域中的像素点对应的权重;以及基于重叠区域中的像素点对应的权重,对多个目标图像进行加权融合而得到拼接图像。
例如,在本公开一实施例提供的图像处理方法中,确定重叠区域中的像素点对应的权重包括:确定重叠区域中的像素点到初始图像中心的曼哈顿距离;以及基于曼哈顿距离,确定重叠区域中的像素点对应的权重。
例如,在本公开一实施例提供的图像处理方法中,将多个初始图像进行特征点匹配而获得至少一个匹配图像组,包括:对于每个初始图像,确定初始图像的相邻初始图像,相邻初始图像的拍摄点与初始图像的拍摄点彼此相邻;将初始图像与相邻初始图像进行特征点匹配而获得至少一个匹配图像组。
例如,在本公开一实施例提供的图像处理方法中,还包括:对多个目标图像进行光照均匀化处理,使得多个目标图像的光照强度均匀。
例如,在本公开一实施例提供的图像处理方法中,多个初始图像是通过图像采集装置获得的,方法还包括:获取图像采集装置的拍摄位姿;基于拍摄位姿,确定拍摄环境中的至少一个目标拍摄区域;以及基于至少一个目标拍摄区域,显示提示信息,以提示用户在至少一个目标拍摄区域采集多个初始图像。
例如,在本公开一实施例提供的图像处理方法中,基于至少一个拍摄区域,显示提示信息,包括:基于至少一个目标拍摄区域,显示至少一个采集引导区域,至少一个采集引导区域分别与至少一个目标拍摄区域相对应;以及显示提示信息,提示信息指示了图像采集装置当前对准的参考拍摄点;在提示信息落入至少一个采集引导区域中的目标采集引导区域的情况下,图像采集装置当前对准的参考拍摄点为目标采集引导区域对应的目标拍摄区域中的拍摄点。
例如,在本公开一实施例提供的图像处理方法中,还包括:响应于图像采集装置的运动,控制提示信息在采集引导区域中按照与图像采集装置的运动方向相同的方向至少环绕一周,以采集多个初始图像。
例如,在本公开一实施例提供的图像处理方法中,针对按照提示信息采集的多个初始图像中的每个初始图像,每个初始图像与相邻初始图像存在重叠区域,相邻初始图像为在与每个初始图像对应的拍摄点相邻的拍摄点所采集的初始图像。
例如,在本公开一实施例提供的图像处理方法中,还包括:将拼接图像转换成三维图像;以及输出三维图像,以将三维图像作为全景图像展示。
本公开至少一个实施例提供一种图像处理装置,包括:获取单元,配置为获取多个初始图像;特征点匹配单元,配置为将多个初始图像进行特征点匹配而获得至少一个匹配图像组,至少一个匹配图像组中每个匹配图像组包括多个初始图像中的至少部分初始图像,每个匹配图像组包括之间存在相匹配的特征点的不同初始图像;第一确定单元,配置为基于每个匹配图像组中不同初始图像之间相匹配的特征点,确定每个匹配图像组中不同初始图像之间的映射关系;第二确定单元,配置为基于每个匹配图像组中不同初始图像之间的映射关系,确定多个初始图像中每个初始图像分别对应的目标位姿信息;第三确定单元,配置为基于多个初始图像分别对应的目标位姿信息,确定每个初始图像在曲面投影中的投影信息;映射单元,配置为根据每个初始图像在曲面投影中的投影信息,将多个初始图像分别映射到目标像素画布中而生成多个目标图像;以及融合单元,配置为将多个目标图像进行融合而得到拼接图像。
本公开至少一个实施例提供一种电子设备,包括处理器;存储器,包括一个或多个计算机程序模块;一个或多个计算机程序模块被存储在存储器中并被配置为由处理器执行,一个或多个计算机程序模块包括用于实现本公开任一实施例提供的图像处理方法的指令。
本公开至少一个实施例提供一种计算机可读存储介质,用于存储非暂时性计算机可读指令,当非暂时性计算机可读指令由计算机执行时可以实现本公开任一实施例提供的图像处理方法。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1示出了本公开至少一实施例提供的一种图像处理方法的流程图;
图2示出了本公开至少一实施例提供的图1中步骤S30的方法流程图;
图3A示出了本公开至少一实施例提供的图1中步骤S40的方法流程图;
图3B示出了本公开至少一实施例提供的两个匹配图像组的示意图;
图4示出了本公开至少一实施例提供的图3A中步骤S42的方法流程图;
图5示出了本公开至少一实施例提供的图4中步骤S423的方法流程图;
图6A示出了本公开至少一实施例提供的图1中步骤S50的方法流程图;
图6B示出了本公开一些实施例提供的一种球面投影的示意图;
图7A示出了本公开至少一实施例提供的图1中步骤S60的方法流程图;
图7B和图7C示出了本公开至少一实施例提供的确定目标像素画布的尺寸示意图;
图7D和图7E分别示出了第一初始图像和第二初始图像分别映射到目标像素画布中而生成的目标图像401和目标图像402的示意图;
图8A示出了本公开至少一实施例提供的对多个目标图像进行加权融合而得到拼接图像的方法流程图;
图8B和8C示出了本公开至少一实施例提供的对多个目标图像进行加权融合而得到拼接图像的示意图;
图8D示出了将目标图像401和目标图像402进行拼接而得到的拼接图像的示意图;
图9示出了本公开至少一实施例提供的另一种图像处理方法的流程图;
图10A示出了本公开至少一实施例提供的另一种图像处理方法的流程图;
图10B示出了本公开至少一实施例提供的确定目标拍摄区域的示意图;
图10C示出了本公开至少一实施例提供的显示提示信息的场景示意图;
图10D示出了本公开至少一实施例提供的生成拼接图像的效果示意图;
图10E示出了本公开至少一实施例提供的生成拼接图像的另一效果示意图;
图11示出了本公开至少一个实施例提供的一种图像处理装置1100的示意框图;
图12A为本公开一些实施例提供的一种电子设备的示意框图;
图12B示出了本公开至少一个实施例提供的另一种电子设备的示意框图;以及
图13示出了本公开至少一个实施例提供的一种计算机可读存储介质的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
目前,很多图像处理软件上嵌入了图像拼接算法,虽然这在一定程度上可以帮助使用者实现多个图像的拼接,但是这些图像拼接算法对图像质量的要求较高,使用者所使用的图像往往达不到质量要求而导致图像处理软件生成的拼接图像的效果较差。并且,由于目前的图像拼接算法大多需要深度数据导致计算过程较为复杂,因此,移动端往往无法实现图像拼接。在相关技术中,通常将多个需要进行拼接的图像的深度数据等图像数据上传到服务器,利用服务器对多个图像进行拼接,费时费力。
本公开至少一个实施例提供一种图像处理方法、图像处理装置、电子设备和计算机可读存储介质。该图像处理方法包括:获取多个初始图像;将多个初始图像进行特征点匹配而获得至少一个匹配图像组,至少一个匹配图像组中每个匹配图像组包括多个初始图像中的至少部分初始图像,每个匹配图像组包括之间存在相匹配的特征点的不同初始图像;基于每个匹配图像组中不同初始图像之间相匹配的特征点,确定每个匹配图像组中不同初始图像之间的映射关系;基于每个匹配图像组中不同初始图像之间的映射关系,确定多个初始图像中每个初始图像分别对应的目标位姿信息;基于每个初始图像分别对应的目标位姿信息,确定每个初始图像在曲面投影中的投影信息;根据每个初始图像在曲面投影中的投影信息,将多个初始图像分别映射到目标像素画布中而生成多个目标图像;以及将多个目标图像进行融合而得到拼接图像。该图像处理方法可以不依赖于深度数据,并且对图像质量的要求较低,既降低图像拼接对图像质量的要求和运算量,有助于在移动端实现图像拼接,又使得拼接图像的效果更好,使得拼接图像更加自然。
图1示出了本公开至少一实施例提供的一种图像处理方法的流程图。
如图1所示,该方法可以包括步骤S10~S70。
步骤S10:获取多个初始图像。
步骤S20:将多个初始图像进行特征点匹配而获得至少一个匹配图像组。
步骤S30:基于每个匹配图像组中不同初始图像之间相匹配的特征点,确定每个匹配图像组中不同初始图像之间的映射关系。
步骤S40:基于每个匹配图像组中不同初始图像之间的映射关系,确定多个初始图像中每个初始图像分别对应的目标位姿信息。
步骤S50:基于多个初始图像分别对应的目标位姿信息,确定每个初始图像在曲面投影中的投影信息。
步骤S60:根据每个初始图像在曲面投影中的投影信息,将多个初始图像分别映射到目标像素画布中而生成多个目标图像。
步骤S70:将多个目标图像进行融合而得到拼接图像。
该图像处理方法可以通过特征点匹配确定初始图像对应的目标位姿信息,从而利用目标位姿信息将初始图像转换到曲面投影中而得到投影信息,并根据投影信息将多个初始图像分别映射到目标像素画布中而生成多个目标图像,进而对多个目标图像进行拼接。因此,该图像处理方法既不需要多个初始图像对应的深度信息,也不需要多个初始图像满足较高的图像质量要求,通过多个初始图像的目标位姿信息便可以将多个初始图像进行融合,从而该图像处理方法可以不依赖于深度数据,并且对图像质量的要求较低,既降低图像拼接对图像质量的要求和运算量,又使得拼接图像的效果更好,使得拼接图像更加自然。另外,由于该图像处理方法的运算量较小,因此,该图像处理方法可以直接在移动端实现而不需上传到服务器,也就是说,该图像处理方法的实现不依赖于网络,可以适用于任何室内或室外的拍摄场景。
对于步骤S10,例如可以通过图像采集装置现场采集多个初始图像,或者从本地(例如,移动端)的存储装置中读取多个初始图像。本公开对获取多个初始图像的方式不做限定。
多个初始图像可以是用户想要进行图像拼接的任意图像。多个初始图像之间可以有重叠区域也可以没有重叠区域。重叠区域是指分别在至少两个初始图像中都出现的图像内容。例如,多个初始图像中包括第一初始图像和第二初始图像,第一初始图像包括第一图像内容,而第二初始图像也包括第一图像内容,那么在第一初始图像中第一图像内容对应的像素区域和第二初始图像中第一图像内容对应的像素区域为重叠区域。
例如,多个初始图像可以是用户在一个或者多个拍摄地点朝着多个方向分别进行拍摄而获得的多个图像。拍摄地点,例如可以是房间、景点、街道、商场等任何可以进行拍摄的地点。又例如,多个初始图像可以是用户在本地移动端存储的图像库中选择的多个图像,或者是用户从网络下载的多个图像。
对于步骤S20,至少一个匹配图像组中每个匹配图像组包括多个初始图像中的至少部分初始图像,每个匹配图像组包括之间存在相匹配的特征点的不同初始图像。
在本公开的一些实施例中,例如,之间存在相匹配的特征点的两个不同初始图像可以作为一个匹配图像组。在该实施例中,不同匹配图像组之间可以通过一个初始图像相关联。例如,初始图像1和初始图像2为一个匹配图像组,初始图像2和初始图像3为一个匹配图像组,那么包含初始图像1和初始图像2的匹配图像组和包含初始图像2和初始图像3的匹配图像组通过初始图像2相关联。
在本公开的另一些实施例中,不同匹配图像组之间不存在相匹配的特征点。也就是说,对于一个匹配图像组中的多个初始图像,该多个初始图像是相关联的,而不同匹配图像组之间是不关联的。例如,初始图像1和初始图像2之间存在相匹配的特征点,初始图像2和初始图像3之间存在相匹配的特征点,初始图像4和初始图像5之间存在相匹配的特征点,但是,初始图像4和初始图像5都不与初始图像1和初始图像2和初始图像3中的任何一个存在相匹配的特征点,那么初始图像1和初始图像2和初始图像3可以作为一个匹配图像组,初始图像4和初始图像5可以作为另一个匹配图像组。
例如,每个匹配图像组中的每个初始图像与匹配图像组中的至少一个初始图像之间存在相匹配的特征点。例如,至少一个匹配图像组中包括第一匹配图像组,该第一匹配图像组中包括N个初始图像,对于N个初始图像中的每个初始图像而言,该第一匹配图像组中的其他N-1个初始图像中的至少一个初始图像与该初始图像之间存在相匹配的特征点。例如,至少一个匹配图像组还包括第二匹配图像组,第二匹配图像组和第一匹配图像组之间不存在相匹配的特征点。
在本公开的一些实施例中,例如,在步骤S20,将多个初始图像进行特征点匹配可以只获得一个匹配图像组,也就是说,进行特征点匹配的多个初始图像是相关联的,对于多个初始图像中的任意一个初始图像都存在另一个初始图像与该初始图像之间存在相匹配的特征点。例如,在本公开的一些实施例中,N个初始图像分别为初始图像1至初始图像N,初始图像1和初始图像2之间存在相匹配的特征点,初始图像2和初始图像3之间存在相匹配的特征点,以此类推,初始图像N-1和初始图像N之间存在相匹配的特征点,初始图像N和初始图像1之间存在相匹配的特征点。
在本公开的一些实施例中,在步骤S20,将多个初始图像进行特征点匹配可以获得至少一个匹配图像组之外,还可以获得至少一个单独初始图像,该单独初始图像与其他任何一个初始图像之间均无相匹配的特征点。
在本公开的一些实施例中,例如利用基于网格的运动统计信息(Grid- basedMotion Statistics for Fast,Ultra-robust Feature Correspondence,GMS)的特征点匹配方法将多个初始图像进行特征点匹配而快速获得多个初始图像间的特征点匹配对,然后通过对多个特征点匹配对进行筛选而确定至少一个匹配图像组。例如,利用RANSAC(RandomSample Consensus,随机抽样一致性算法)对多个特征点匹配对进行筛选而确定至少一个匹配图像组。
可以理解的是,本领域技术人员也可以采用其他的特征点匹配方法,本公开不限定特征点匹配的方法。
在本公开的一些实施例中,步骤S20将多个初始图像进行特征点匹配而获得至少一个匹配图像组,包括:对于每个初始图像,确定初始图像的相邻初始图像,相邻初始图像的拍摄点与初始图像的拍摄点彼此相邻;以及将初始图像与相邻初始图像进行特征点匹配而获得至少一个匹配图像组。
例如,图像采集装置分别在拍摄点1、2……、i(i大于或等于2)拍摄了一个初始图像,拍摄点2和拍摄点3与拍摄点1相邻,则可以将拍摄点2 拍摄的初始图像和拍摄点3拍摄的初始图像分别与拍摄点1拍摄的初始图像进行特征点匹配。
相邻拍摄点拍摄的多个初始图像中存在相匹配的特征点的概率较大,因此,将相邻拍摄点拍摄的多个初始图像进行特征点匹配可以提高用于执行本公开提供的图像处理方法的系统的整体匹配速度。
对于步骤S30,例如根据不同初始图像之间相匹配的特征点,计算不同初始图像之间的映射矩阵,而映射矩阵表示了不同初始图像之间的映射关系。
图2示出了本公开至少一实施例提供的图1中步骤S30的方法流程图。
如图2所示,步骤S30可以包括步骤S31和步骤S32。
步骤S31:基于每个匹配图像组中不同初始图像之间相匹配的特征点,确定匹配图像组中的匹配图像对,匹配图像对包括第一初始图像和第二初始图像,第一初始图像中的部分特征点与第二初始图像中的部分特征点相匹配。
步骤S32:基于第一初始图像与第二初始图像之间相匹配的特征点,计算第一初始图像与第二初始图像之间的映射矩阵,映射矩阵表示第一初始图像和第二初始图像之间的映射关系。
在本公开的一些实施例中,第一初始图像和第二初始图像之间的映射矩阵例如可以是单应性矩阵。
第二初始图像经过单应性矩阵的映射可以映射到第一初始图像所在的平面。
在本公开的一些实施例中,单应性矩阵H如下所示,例如可以是3×3 的矩阵。
例如,第一初始图像中的一个特征点表示为P(u,v),第二初始图像中的一个特征点表示为Q(x,y),并且特征点P和特征点Q相匹配,则存在如下转换关系:
因此,根据上述转换关系可知,可以通过至少4对相匹配的特征点解出单应性矩阵H的9个元素,从而得到第二初始图像和第一初始图像之间的映射矩阵。
在本公开的一些实施例中,例如可以从多个相匹配的特征点中选择4对相匹配的特征点并且利用上述公式解出单应性矩阵H,或者也可以从多个相匹配的特征点中选择M对相匹配的特征点并且利用上述公式解出单应性矩阵H,M为大于4的整数,当然也可以利用全部的相匹配的特征点并且利用上述公式解出单应性矩阵H,本公开对此不作限定。
在本公开的一些实施例中,例如可以利用奇异值分解(Singular ValueDecomposition,SVD)的方法计算出单应性矩阵H。
对于步骤S40,例如,每个初始图像分别对应的目标位姿信息可以是指图像采集装置采集每个初始图像时分别采用的位姿。通过每个匹配图像组中所述不同初始图像之间的映射关系可以恢复图像采集装置采集每个初始图像时分别采用的位姿。在本公开的实施例中,通过每个匹配图像组中所述不同初始图像之间的映射关系恢复的每个初始图像对应的位姿与图像采集装置采集每个初始图像时分别采用的实际位姿之间存在误差,误差越小,最终得到的图像拼接的质量越高。
图3A示出了本公开至少一实施例提供的图1中步骤S40的方法流程图。
如图3A所示,步骤S40可以包括步骤S41和步骤S42。
步骤S41:从每个匹配图像组中选择一个初始图像作为基准图像,将基准图像对应的位姿作为基准位姿。
下面结合图3B并且以两个匹配图像组为例来说明步骤S41以及下文中的步骤或方法。
图3B示出了本公开至少一实施例提供的两个匹配图像组的示意图。
如图3B所示,两个匹配图像组分别为匹配图像组310和匹配图像组320。
对于步骤S41,例如,针对匹配图像组310,从匹配图像组310中选择一个初始图像作为基准图像。例如选择匹配图像组310中的初始图像311作为基准图像。针对匹配图像组320,从匹配图像组320中选择一个初始图像作为基准图像。例如选择匹配图像组320中的初始图像321作为基准图像。相应地,基准图像对应的位姿作为基准位姿。
在本公开的一些实施例中,例如可以对每个匹配图像组中的初始图像进行排序,然后选择排在第一个的初始图像作为基准图像,或者选择排在最后一个的初始图像作为基准图像。例如,可以按照初始图像的采集顺序进行排序。按照每个匹配图像组中不同初始图像的采集顺序进行排序可以方便后续根据映射矩阵确定目标位姿信息的计算。在本公开的另一些实施例中,例如可以设定一个基准图像的选取标准,然后根据选取标准从多个初始图像中选择一个初始图像作为基准图像。例如,选取标准可以是相匹配的特征点的数量、重叠区域的大小以及连通区域的大小等。例如,根据每个匹配图像组中不同初始图像相匹配的特征点从多个初始图像中选择一个初始图像作为基准图像。例如,初始图像1和初始图像2之间存在相匹配的特征点的数量为 100,初始图像2和初始图像3之间存在相匹配的特征点的数量为200,初始图像3和初始图像4之间存在相匹配的特征点的数量为50,那么可以选择初始图像2作为基准图像。
步骤S42:基于每个匹配图像组对应的映射关系和基准位姿,确定多个初始图像中每个初始图像分别对应的目标位姿信息。
在本公开的一些实施例中,例如,通过对映射矩阵进行分解可以恢复图像采集装置采集多个初始图像的过程中分别采用的位姿。位姿包括图像采集装置的旋转矩阵R和平移向量t。例如,利用数值法或者解析法对映射矩阵进行分解可以得到旋转矩阵R和平移向量t。
图4示出了本公开至少一实施例提供的图3A中步骤S42的方法流程图。
如图4所示,步骤S42可以包括步骤S421~S423。
步骤S421:基于每个匹配图像组对应的映射关系和基准位姿,确定每个匹配图像组中的初始图像相对于基准位姿的第一位姿信息。
例如,至少一个匹配图像组包括第一匹配图像组,该第一匹配图像组可以包括N个初始图像,N个初始图像分别为初始图像1至初始图像N,初始图像1和初始图像2之间存在相匹配的特征点,初始图像2和初始图像3之间存在相匹配的特征点,以此类推,初始图像N-1和初始图像N之间存在相匹配的特征点,初始图像N和初始图像1之间存在相匹配的特征点。从该第一匹配图像组中选择初始图像1作为基准图像,那么根据初始图像1和初始图像2之间的映射矩阵可以得到初始图像2的第一位姿信息,根据初始图像 2和初始图像3之间的映射矩阵以及初始图像1和初始图像2之间的映射矩阵可以得到初始图像3的第一位姿信息,依次类推,可以得的第一匹配图像组中每个初始图像的第一位姿信息。
在本公开的一些实施例中,例如,通过对映射矩阵进行分解可以恢复第一位姿信息。例如,利用数值法或者解析法对映射矩阵进行分解而得到匹配图像对中的两个初始图像之间的旋转矩阵和平移向量。然后,根据多个匹配图像对将匹配图像组中每个初始图像都转换成相对于基准位姿的第一位姿信息。
如图3B所示,以匹配图像组310为例来说明步骤S421。若匹配图像组 310以初始图像311为基准图像,则对初始图像311和初始图像312之间的映射矩阵进行分解可以恢复初始图像312相对于初始图像311的旋转矩阵和平移向量(即,第一位姿信息)。类似地,对初始图像313和初始图像312之间的映射矩阵进行分解可以恢复初始图像313相对于初始图像312的旋转矩阵和平移向量,进而可以根据初始图像312相对于初始图像311的旋转矩阵和平移向量而得到初始图像313相对于初始图像311的旋转矩阵和平移向量。
步骤S422:确定不同匹配图像组之间的位姿关系。
在本公开的一些实施例中,例如,基于不同匹配图像组中分别包括的至少一个初始图像对应的构建位姿信息,确定不同匹配图像组之间的位姿关系。构建位姿信息包括传感器构建的图像采集装置采集每个初始图像的过程中所采用的位姿。
在本公开的一些实施例中,多个初始图像是通过图像采集装置获得的,所述图像采集装置包括传感器,图像处理方法在前述实施例的基础上还可以包括:获取传感器构建的构建位姿信息。例如,构建位姿信息包括图像采集装置采集每个初始图像的过程中所采用的位姿,以便根据构建位姿信息确定不同匹配图像组之间的位姿关系。
例如,图像采集装置可以是包含摄像头的移动端。在本公开的实施例中,传感器可以包括安装在移动端的摄像头、陀螺仪等硬件,还可以包括对摄像头、陀螺仪的数据进行处理的软件。
在本公开的一些实施例中,例如,传感器可以是同步定位与地图绘制传感器,同步定位与地图绘制传感器通过同步定位与地图绘制(simultaneous localization andmapping,SLAM)算法构建图像采集装置采集每个初始图像的过程中所采用的位姿。例如,传感器可以是惯性传感器(Inertial Measurement Unit,IMU),IMU可以通过移动端中的9轴传感器(包括3轴加速度计、3轴陀螺仪、3轴磁力计)构建图像采集装置采集每个初始图像的过程中所采用的位姿。
在本公开的另一些实施例中,传感器包括第一传感器和第二传感器,获取多个初始图像分别对应的位姿信息,包括:获取第一位姿数据和第二位姿数据,以及融合第一位姿数据和第二位姿数据而得到多个初始图像分别对应的构建位姿信息。第一位姿数据为第一传感器构建的图像采集装置采集每个初始图像所采用的位姿,第二位姿数据为第二传感器构建的图像采集装置采集所述每个初始图像所采用的位姿。通过将第一位姿数据和第二位姿数据进行数据融合而得到多个初始图像分别对应的构建位姿信息可以提高构建位姿信息的准确性和稳定性,从而提高拼接图像的质量。
在本公开的一些实施例中,例如,第一传感器可以是上述同步定位与地图绘制传感器,第二传感器可以是上述IMU。
可以理解的是,第一传感器为上述同步定位与地图绘制传感器,第二传感器为上述IMU仅为本公开提供的一种实施例,本领域技术人员可以采用任何可以获取位姿信息的传感器来获得第一位姿数据和第二位姿数据。
在本公开的一些实施例中,融合第一位姿数据和第二位姿数据,得到多个初始图像分别对应的构建位姿信息,包括:利用扩展卡尔曼滤波器融合第一位姿数据和第二位姿数据,以得到多个初始图像分别对应的构建位姿信息。利用扩展卡尔曼滤波器对第一位姿数据和第二位姿数据进行扩展卡尔曼滤波(Extended Kalman Filter,EKF)可以使得第一位姿数据和第二位姿数据的融合效率较高。
当然,本领域技术人员也可以采用其他不同于EKF的数据融合方法,例如代数法、图像回归法等,或者直接对不同传感器构建的位姿数据进行紧耦合。本公开对第一位姿数据和第二位姿数据的数据融合方法不做限定。
对于步骤S422,例如,不同匹配图像组包括第一匹配图像组和第二匹配图像组,第一匹配图像组包括初始图像1至初始图像N,第二匹配图像组包括初始图像X1至初始图像XN,则可以根据构建位姿信息确定初始图像1 至初始图像N中的任意一个初始图像i与初始图像X1至初始图像XN中的任意一个初始图像Xk之间的位姿关系。初始图像i和初始图像Xk之间的位姿关系作为第一匹配图像组和第二匹配图像组之间的位姿关系。
例如,在图3B所示的情景中,在步骤S422可以根据构建位姿信息确定初始图像311和初始图像321之间的位姿关系,从而将初始图像311和初始图像321之间的位姿关系作为匹配图像组310和匹配图像组320之间的位姿关系。
在本公开的一些实施例中,基于不同匹配图像组中分别包括的至少一个初始图像对应的构建位姿信息,确定不同匹配图像组之间的位姿关系,可以包括如下操作。首先确定构建位姿信息中分别属于不同匹配图像组的两个初始图像各自的构建位姿信息。两个初始图像各自的构建位姿信息,例如分别为第一构建位姿和第二构建位姿。然后计算第一构建位姿和第二构建位姿之间的单应性矩阵,以根据单应性矩阵恢复第二构建位姿相对于第一构建位姿的旋转矩阵和平移向量,或者根据单应性矩阵恢复第一构建位姿相对于第二构建位姿的旋转矩阵和平移向量。
在本公开的另一些实施例中,例如,在之间存在相匹配的特征点的两个不同初始图像作为一个匹配图像组,不同匹配图像组之间可以通过一个初始图像相关联的情形中,可以通过相关联的初始图像确定不同匹配图像组之间的位姿关系。例如,初始图像1和初始图像2为一个匹配图像组,初始图像 2和初始图像3为一个匹配图像组,那么包含初始图像1和初始图像2的匹配图像组和包含初始图像2和初始图像3的匹配图像组通过初始图像2相关联,步骤S422可以是根据初始图像2确定这两个不同的匹配图像组之间的位姿关系。
步骤S423:基于每个匹配图像组中不同初始图像分别相对于基准位姿的第一位姿信息和不同匹配图像组之间的位姿关系,确定多个初始图像中每个初始图像分别对应的目标位姿信息。
在本公开的一些实施例中,例如,可以根据不同匹配图像组之间的位姿关系,将多个初始图像的第一位姿信息都转换成相对于一个统一的目标基准的位姿信息,并且将相对于目标基准的位姿信息作为目标位姿信息。
在本公开的一些实施例中,步骤S423可以包括基于不同匹配图像组之间的位姿关系,将每个匹配图像组中不同初始图像分别相对于基准位姿的第一位姿信息转换为相对于同一目标基准位姿的第二位姿信息,目标基准位姿为至少一个匹配图像组中的一个匹配图像组对应的基准位姿,以及对第二位姿信息与构建位姿信息进行数据融合而得到多个初始图像中每个初始图像分别对应的目标位姿信息。
该实施例提供的方法将第二位姿信息与构建位姿信息进行数据融合而得到多个初始图像中每个初始图像分别对应的目标位姿信息,可以进一步地提高目标位姿信息的准确度,从而提高拼接图像的质量。
如图3B所示,从匹配图像组310的基准位姿和匹配图像组320的基准位姿中选择一个基准位姿作为目标基准位姿。例如,选择初始图像311作为基准位姿,将匹配图像组320中不同初始图像分别相对于初始图像321(匹配图像组320中的基准位姿)的第一位姿信息转换为相对于同一目标基准位姿(即,初始图像311)的第二位姿信息。这样可以将每个初始图像都转换成相对于目标基准的位姿信息,然后将每个初始图像都相对于目标基准的位姿信息与构建位姿信息进行数据融合而得到多个初始图像中每个初始图像分别对应的目标位姿信息。
在本公开的一些实施例中,例如,利用扩展卡尔曼滤波(Extended KalmanFilter,EKF)将第二位姿信息和构建位姿信息进行数据融合。
图5示出了本公开至少一实施例提供的图4中步骤S423的方法流程图。
如图5所示,步骤S423可以包括步骤S4231~步骤S4233。
步骤S4231:将构建位姿信息转换到以目标基准位姿作为基准的坐标系中而获得第三位姿信息。
在本公开的一些实施例中,传感器在构建图像采集装置采集每个初始图像的过程中所采用的位姿之前,首先进行初始化而确定传感器的初始基准位姿,并且以该初始基准位姿为基准构建图像采集装置采集每个初始图像的过程中所采用的位姿。在本公开的一些实施例中,目标基准位姿信息可以是从多个初始图像中选择出的一个初始图像对应的位姿,目标基准位姿和初始基准位姿往往是不相同的,因此需要将构建位姿信息转换成以目标基准位姿作为基准的坐标系中而获得第三位姿信息。也就是说,从构建位姿信息中确定出基准图像对应的构建位姿,然后将其他初始图像的构建位姿进行坐标转换,以转换成以基准图像对应的构建位姿为目标基准位姿的构建位姿而得到第三位姿信息。
步骤S4232:对第三位姿信息与第二位姿信息进行数据融合而得到融合筛选结果。
在本公开的一些实施例中,例如,利用EKF将第三位姿信息与第二位姿信息进行数据融合。
在本公开的一些实施例中,数据融合可以进一步包括数据筛选。例如可以对第三位姿信息和第二位姿信息进行打分以从第三位姿信息和第二位姿信息中筛选出融合筛选结果。例如,若第二位姿信息的分数高于第三位姿信息的分数,则可以将第二位姿信息作为融合筛选结果。例如,对于任意两个存在相匹配的特征点的初始图像A和初始图像B,根据第三位姿信息,将初始图像B映射到初始图像A中而得到初始图像B的第一映射结果,根据第二位姿信息,将初始图像B映射到初始图像A中而得到初始图像B的第二映射结果,然后比较第一映射结果和第二映射结果分别与初始图像A之间的差异,并且根据差异对第三位姿信息和第二位姿信息进行打分,打分所得到的分数与映射结果与初始图像的差异负相关。
在本公开的一些实施例中,对于每个初始图像对都可以利用上述方法从第二位姿信息和第三位姿信息中筛选出一个比较精确的位姿信息作为数据筛选的结果。
步骤S4233:基于融合筛选结果确定目标位姿信息。
在本公开的实施例中,例如,利用参数优化方法对融合筛选结果处理而得到目标位姿信息。
参数优化方法用于对融合筛选结果进行进一步的优化,从而可以进一步提高目标位姿信息的准确度,进而可以提高图像拼接的质量,使得图像拼接得到拼接图像更加自然。
参数优化方法,例如可以是光束平差法(bundle adjustment,BA)。当然,本领域技术人员也可以利用其它的参数优化方法对融合筛选结果进行优化而得到目标位姿信息。
在上述实施例中,先将每个匹配图像组的第一位姿信息转换成相对于同一目标基准位姿的第二位姿信息,然后第二位姿信息再与构建位姿信息进行融合而得到第三位姿信息。在本公开的另一些实施例中,可以先将每个匹配图像组的第一位姿信息与构建位姿信息进行融合而得到每个匹配图像组的融合筛选结果,然后在将融合筛选结果转换到以目标基准位姿作为基准的坐标系中。
图6A示出了本公开至少一实施例提供的图1中步骤S50的方法流程图。
如图6A所示,步骤S50可以包括步骤S51~S53。
步骤S51:基于多个初始图像分别对应的目标位姿信息,将每个初始图像转换到世界坐标系中而获得每个初始图像在世界坐标系中的世界坐标信息。
在本公开的一些实施例中,例如对于每个初始图像,可以利用目标位姿信息,将初始图像中的每个像素点由像素平面坐标系转换到世界坐标系,从而得到该初始图像在世界坐标系中的世界坐标信息。初始图像在世界坐标系中的世界坐标信息即为初始图像中每个像素点在世界坐标系中的世界坐标。将初始图像中每个像素点由像素平面坐标系转换到世界坐标系可以按照相机标定方法进行转换。
例如,在相机标定过程中使用到4个坐标系,分别为世界坐标系、相机坐标系、图像物理坐标系和像素平面坐标系。根据相机标定方法中该4个坐标系之间的转换关系可以得到像素点在像素平面坐标系中的坐标与像素点在世界坐标系中的世界坐标满足如下转换关系:
其中,R为旋转矩阵,t为平移向量,(u,v)为像素点在像素平面坐标系中的像素坐标,ZC为像素点在相机坐标系中的Z轴坐标,dx可以为相机在x 方向上的每行像素数与相机的x方向的尺寸的比值,dy可以为相机在y方向上的每行像素数与相机的y方向的尺寸的比值,(u0,v0)可以是图像物理坐标系的原点在图像像素坐标系中的图像坐标,f可以是相机的焦距,(Xw, Yw,Zw)是像素点在世界坐标系中的世界坐标,M1为相机内参,M2为相机外参。
相机外参M2确定了相机在三维空间中的位姿(即,位置和朝向)。
在本公开的一些实施例中,对于初始图像中的每个像素点可以根据上述转换关系将每个像素点在像素平面坐标系中的像素坐标转换为世界坐标系中的世界坐标。例如,对于一个初始图像而言,将该初始图像对应的目标位姿信息(即,R和t)和初始图像中的每个像素点的像素坐标代入到上述转换关系中,从而利用上述转换关系计算出每个像素点在世界坐标系中的世界坐标。
步骤S52:根据每个初始图像在世界坐标系中的世界坐标信息,确定每个初始图像在曲面投影中的曲面坐标信息。
在本公开的一些实施例中,曲面投影例如可以包括球面投影、柱面投影等,本公开不限定曲面投影的类型。例如,在对多个初始图像进行拼接而获得全景图的应用场景中,曲面投影可以是球面投影,这样可以保证拼接得到的全景图在一定条件下不会丢失顶部和底部信息,从而可以完美地展示3D 效果。顶部和底部例如是相对于图像采集装置而言的,例如顶部可以是指位于图像采集装置远离地面的一侧的区域,底部可以是指位于图像采集装置靠近地面一侧的区域。例如,在对多个初始图像进行拼接而获得房间的全景图的应用场景中,曲面投影可以是球面投影,这样可以保证拼接得到的全景图在一定条件下不会丢失房顶和地板信息。上述“一定条件”例如可以是图像采集装置的视场角较大。
在下文中以球面投影为例来说明步骤S52的方法。
例如,对于每个初始图像,将初始图像中的每个像素点在世界坐标系中的世界坐标转换为在球面投影中的球面坐标。每个初始图像在球面投影中的曲面坐标信息即为每个初始图像中的每个像素点在球面投影中的球面坐标。
图6B示出了本公开一些实施例提供的一种球面投影的示意图。
例如,球面坐标系的原点在球面的中心,并且球面投影为单位球体形成的球面。
如图6B所示,世界坐标系中的像素点(Xw,Yw,Zw)在球面投影中的球面坐标为(x′,y′,z′)。
在图6B所示的球面投影中,将像素点由世界坐标归一化为球面坐标可以按照如下的公式进行计算:
步骤S53:将每个初始图像在曲面投影中的曲面坐标信息转换为投影信息。
在本公开的一些实施例中,投影信息包括初始图像中像素点的经度和纬度 。
球面坐标和平面坐标之间的转换关系如下式所示:
图6A所描述的实施例将位姿信息转换为初始图像在曲面投影中的投影信息可以至少部分地消除多个初始图像之间的平移带来的影响,并且不需要对初始图像进行放大或者压缩等处理,从而可以保证图像的清晰度。
图7A示出了本公开至少一实施例提供的图1中步骤S60的方法流程图。
如图7A所示,步骤S60可以包括步骤S61和步骤S62。
步骤S61:确定目标像素画布的尺寸。
在本公开的一些实施例中,目标像素画布的尺寸可以是本领域技术人员根据实际需求而设定的。
例如,步骤S61确定目标像素画布的尺寸可以包括:获取图像采集装置的采集参数,确定多个初始图像的数量,并确定多个初始图像中每两个相邻的初始图像之间的旋转角度,基于视场角和旋转角度,确定每两个相邻的初始图像之间的重叠区域,以及基于数量、重叠区域和图像尺寸,确定目标像素画布的尺寸。
在本公开的一些实施例中,采集参数包括图像采集装置生成的图像的图像尺寸和图像采集装置的视场角。
图像采集装置生成的图像的图像尺寸和视场角是图像采集装置本身确定的。例如,图像采集装置生成的图像尺寸可以是h高×w宽,w和h均为大于0的整数。例如,w为1024,h为512。图像采集装置的视场角fov例如可以为60°。
例如,图像采集装置的采集参数可以通过直接读取固化到图像采集装置中的参数表来获得。或者,图像采集装置的采集参数也可以是本领域技术人员预设设置的。
在本公开的一些实施例中,每两个相邻的初始图像之间的旋转角度可以通过上述的目标位姿信息来确定,也就是通过旋转矩阵R来确定。
图7B和图7C示出了本公开至少一实施例提供的确定目标像素画布的方法示意图。
下面以两个相邻的初始图像为第一初始图像和第二初始图像为例来说明上述实施例。例如,如图7B所示,相机的视场角fov为60°,若相机从采集第一初始图像到采集第二初始图像,相机的旋转角度为30°,则相机采集第一初始图像的视场和采集第二初始图像的视场存在重叠部分(如图7B 阴影部分)。根据相机的视场角fov为60°和旋转角度可以估计出重叠部分占据相机整个视场的1/2,因此,该两个相邻的初始图像之间的重叠区域占据每个初始图像的1/2。如图7C所示,在该实施例中,第一初始图像和第二初始图像之间的重叠区域为区域A(即,横线组成的填充区域)。也就是说,区域A对应的图像内容既是第一初始图像中的内容也是第二初始图像中的内容,并且在该实施例中,在第一初始图像中,区域A对应的像素区域大约占据第一初始图像中全部像素区域的1/2,以及在第二初始图像中,区域A对应的像素区域大约占据第二初始图像中全部像素区域的1/2。
例如,第一初始图像和第二初始图像的重叠区域为区域A,一个图像的图像尺寸为h高×w宽,则第一初始图像和第二初始图像确定的目标像素画布的尺寸可以是h高×3w/2宽或者是稍微大于h高×3w/2宽。
例如,如果多个初始图像的数量为N,相机的视场角fov为60°,每两个初始图像之间相机的旋转角度为30°,则目标像素画布的尺寸可以为h高×(N-1)w/2宽或者是稍微大于h高×(N-1)w/2宽。
步骤S62:基于目标像素画布的尺寸和投影信息,确定每个初始图像中的每个像素点在目标像素画布中的位置,从而将每个初始图像映射到目标像素画布中,以生成多个目标图像。
在本公开的一些实施例中,对于每个初始图像,初始图像中的每个像素点在目标像素画布中的位置通过如下公式计算得到:
图7D和图7E分别示出了第一初始图像和第二初始图像分别映射到目标像素画布中而生成的目标图像401和目标图像402的示意图。
如图7D所示,目标图像401包括目标像素画布411和位于目标像素画布411中的第一初始图像421。
目标像素画布411的尺寸为IH×IW,则根据上述c和r的计算公式可以确定第一初始图像421映射到该目标像素画布中的位置,从而将第一初始图像421映射到该位置从而生成目标图像401。
如图7E所示,目标图像402包括目标像素画布431和位于目标像素画布431中的第二初始图像441。
目标像素画布431和目标像素画布411的尺寸和形状均相同。例如,目标像素画布431和目标像素画布411均是根据上文参考图7A描述的方法而确定的尺寸。根据上述c和r的计算公式可以确定第二初始图像441映射到该目标像素画布中的位置,从而将第二初始图像441映射到该位置从而生成目标图像402。
类似地,多个初始图像中的其他初始图像也可以按照上述方法分别映射到目标像素画布中从而得到多个目标图像。
在本公开的一些实施例中,对于步骤S70将多个目标图像进行融合而得到拼接图像,包括:对多个目标图像进行加权融合而得到拼接图像。
图8A示出了本公开至少一实施例提供的对多个目标图像进行加权融合而得到拼接图像的方法流程图。
图8B和8C示出了本公开至少一实施例提供的对多个目标图像进行加权融合而得到拼接图像的示意图。
下面结合图8A、8B和图8C说明对多个目标图像进行加权融合而得到拼接图像的实施例。
如图8A所示,该方法可以包括步骤S71~步骤S73。
对于步骤S71:基于多个初始图像分别在目标像素画布中的位置,确定多个目标图像中每个目标图像的重叠区域和非重叠区域。
在本公开的一些实施例中,重叠区域为每个目标图像与多个目标图像中除该目标图像以外的其他目标图像存在多个相匹配的特征点的区域,非重叠区域为目标图像中除重叠区域之外的区域。
图8B和图8C分别示出了目标图像401和目标图像402的重叠区域。如图8B所示,由于图8B中的目标图像401中区域W中的多个特征点与目标图像402中的多个特征点相匹配,因此图8B中的区域W为重叠区域。类似地,由于图8C中的目标图像402中区域V中的多个特征点与目标图像 401中的多个特征点相匹配,因此图8C中的区域V为重叠区域。
对于步骤S72:确定重叠区域中的像素点对应的权重。
例如,对于目标图像401,确定重叠区域W中的每个像素点对应的权重,对于目标图像402,确定重叠区域V中的每个像素点对应的权重。
在本公开的一些实施例中,步骤S72可以包括确定重叠区域中的像素点到初始图像中心的曼哈顿距离;以及基于曼哈顿距离,确定重叠区域中的像素点对应的权重。
如图8B所示,对于目标图像401的重叠区域W中的一个像素点Q,步骤S72确定像素点Q到初始图像421的中心O1之间的曼哈顿距离S1。类似地,在目标图像402中,与像素点Q相匹配的特征点为特征点P,步骤S72 确定像素点P到初始图像441的中心O2之间的曼哈顿距离S2,将曼哈顿距离S1和曼哈顿距离S2归一化,并且将归一化后的结果分别作为像素点Q和像素点P的权重。
对于步骤S73:基于重叠区域的像素点对应的权重,对多个目标图像进行加权融合而得到拼接图像。
例如,对于目标图像401和目标图像402,将像素点Q和像素点P分别对应的像素值进行加权融合而得到拼接图像中像素点(与像素点Q和像素点P相对应位置处的像素点)的像素值。
图8D示出了将目标图像401和目标图像402进行拼接而得到的拼接图像的示意图。
例如,对于多个目标图像中每个目标图像中的非重叠区域,将非重叠区域的像素的像素值直接作为拼接图像中该像素的像素值。例如,目标图像401 中除重叠区域W之外的非重叠区域(即,初始图像421中位于区域W左侧的区域)中每个像素点的像素值直接作为拼接图像中该像素点的像素值。也就是,如图8D所示,拼接图像中的区域H1是根据目标图像401中的非重叠区域得到的,则区域H1中的像素点的像素值为目标图像401中的非重叠区域中的像素值。类似地,拼接图像中的区域H3是根据目标图像402中的非重叠区域得到的,则区域H3中的像素点的像素值为目标图像402中的非重叠区域中的像素值。
例如,对于重叠区域,将两个目标图像中重叠区域的像素的像素值进行加权平均计算,加权平均计算的结果可以作为拼接图像中该像素的像素值。如图8D所示,拼接图像中的区域H2中像素点的像素值是根据目标图像401 和目标图像402重叠区域的像素点的像素值进行加权平均计算而得到的。
对于步骤S70,本领域技术人员也可以采用其他的图像融合方法将多个目标图像进行融合而得到拼接图像。例如可以采用泊松融合将多个目标图像进行融合而得到拼接图像。
需要理解的是,图8D仅为一种多个初始图像中的两个初始图像进行拼接而得到拼接图像的示例,实际上,在图8D中的目标像素画布中除该两个初始图像拼接得到的拼接图像之外的区域还包括其他的初始图像拼接而成的结果。
在本公开的一些实施例中,图像处理方法还可以包括对拼接图像进行剪裁。例如,对图8D中的拼接图像进行剪裁,以便将目标像素画布中多余的部分剪掉,即,将目标像素画布中未被拼接图像占据的部分裁掉。
图9示出了本公开至少一实施例提供的另一种图像处理方法的流程图。
如图9所示,该图像处理方法除包括图1中所描述的步骤S10~步骤S70 外,还进一步包括步骤S80。步骤S80例如可以在步骤S60之后并且在步骤 S70之前执行。
步骤S80:对多个目标图像进行光照均匀化处理,使得多个目标图像的光照强度均匀。
在本公开的一些实施例中,例如利用高动态光照渲染(High-Dynamic Range,HDR)技术对多个目标图像进行光照均匀化处理。当然,本领域技术人员也可以采用其他的图像处理方法对多个目标图像进行光照均匀化处理。
在本公开的一些实施例中,实际拍摄的多个初始图像由于受到相机曝光的影响,导致图像序列的光照不统一,如果不进行光照处理,合成的拼接图像将会有明显的光照分割,即光照不统一的现象,这会影响用户体验,通过对多个目标图像的进行光照均匀化处理。可以使得图像的拼接更加自然,提高用户体验。
图10A示出了本公开至少一实施例提供的另一种图像处理方法的流程图。
如图10A所示,该图像处理方法在图1或者图9所描述的步骤的基础上,还可以进一步包括步骤S110~S130。步骤S110~S130例如可以在步骤S10 之前执行。
步骤S110:获取图像采集装置的拍摄位姿。
在本公开的一些实施例中,图像采集装置的拍摄位姿可以是用户选择的。例如,用户以一个拍摄位姿拿起移动端进行拍摄,此时移动端可以进行拍摄初始化,并且在拍摄初始化后,确定出移动端的拍摄位姿。例如,移动端可以为手机或平板电脑,也可以为其他适用的移动端设备。
步骤S120:基于拍摄位姿,确定拍摄环境中的至少一个目标拍摄区域。
在本公开的一些实施例中,至少一个目标拍摄区域可以是预先设置的。例如至少一个目标拍摄区域是根据要拍摄的环境和图像采集装置的视场角确定的。例如,图像采集装置的视场角为60°,相机采集两个相邻图像的视场角存在30°的重叠,则可以设计12个目标拍摄区域来引导用户拍摄环绕用户所在拍摄位置的一周的全景图。
又例如,在拍摄全景图的场景中,根据移动端的当前位置,确定出一个球形区域,该球形区域的球心为当前位置,并且从球形区域中选定与水平面平行的至少一个圆形轨迹,以根据圆形轨迹确定出目标拍摄区域。圆形轨迹可以是球形区域中相当于赤道的圆,也可以是相当于南北回归线的圆,还可以是其他纬度的圆,各个圆形轨迹与水平面平行。
需要说明的是,在采集过程中,球形区域可以不在移动端的图形用户界面中展示,球型区域的球心为移动端在实体空间的位置点。
图10B示出了本公开至少一实施例提供的确定目标拍摄区域的示意图。
如图10B所示,以移动端所在的当前位置为球心确定出一个球形区域。例如,从球形区域中选定与水平面平行的相当于南北回归线的两个圆形轨迹。两个圆形轨迹分别作为两个目标拍摄区域的基准线,然后每个基准线向外辐射预设的距离分别形成两个目标拍摄区域,即,在球形区域中选择两个区域作为目标拍摄区域。位于相机第一侧(远离地面的一侧)的第一目标拍摄区域用于对用户所处实体空间中相对上方的位置进行初始图像的采集;位于相机第二侧(靠近地面的一侧)的第二目标拍摄区域用于对用户所处实体空间中相对下方的位置进行初始图像的采集,这样可以完整地获取用户所处实体空间的全景信息。该方法可以使得全景信息的采集通过终端即可实现,克服了依赖于固定设备的问题,有效降低了采集成本,简化了采集流程。可以理解的是,目标拍摄区域可以是一个、两个或三个等,本公开对目标拍摄区域的数量不作限制。
步骤S130:基于至少一个目标拍摄区域,显示提示信息,以提示用户分别在多个拍摄点采集多个初始图像。
例如,提示信息例如可以是图标。例如,可以在移动端的界面上展示第一图标和第二图标,第一图标为此时图像采集装置实际对准的当前位置,第二图像为根据目标拍摄区域确定的图像采集装置需要对准的目标位置,第一图标随着图像采集装置的拍摄位姿的改变而改变,直到第一图标和第二图像对齐(也即,重叠或部分重叠),则确定图像采集装置对准了目标位置,可以进行初始图像的采集。
在本公开的一些实施例中,基于所述至少一个目标拍摄区域,显示提示信息,包括:基于至少一个目标拍摄区域,显示至少一个采集引导区域,至少一个采集引导区域分别与至少一个目标拍摄区域相对应;以及显示提示信息,提示信息指示了图像采集装置当前对准的参考拍摄点。在提示信息落入至少一个采集引导区域中的目标采集引导区域的情况下,图像采集装置当前对准的参考拍摄点为所述目标采集引导区域对应的目标拍摄区域中的拍摄点。
图10C示出了本公开至少一实施例提供的显示提示信息的场景示意图。
如图10C所示,该场景中包括电子设备1000,电子设备1000为前述的移动端,电子设备1000在进行初始图像的采集。在采集过程中,电子设备 1000的图形用户交互界面上显示有采集引导区域和采集准星。
例如,采集引导区域可以为引导用户进行全景信息采集的区域。如图10C 所示,采集引导区域可以通过多个引导圈、引导环等标识出。随着移动端的移动,移动端可以在采集界面中展示一个采集引导区域,也可以展示多个采集引导区域。
例如,提示信息为采集准星,采集准星可以为位于采集界面中用于对采集引导区域进行瞄准、定位的标识,以指示图像采集装置当前对准的参考拍摄点。
采集准星作为一种瞄准、定位的标识可以是任意形状和大小,只要能起到提示的作用即可。如图10C所示,例如,采集准星可以是由两个半径不同的圆组成的圆环。
在采集准星落入至少一个采集引导区域中的目标采集引导区域的情况下,图像采集装置当前对准的参考拍摄点为所述目标采集引导区域对应的目标拍摄区域中的拍摄点。
采集准星可以在采集界面所呈现的采集对象上移动,用户或者图像采集装置可以通过判断采集准星是否全部落入采集引导区域,或判断采集准星的中心是否落入采集引导区域,确定是否开始采集初始图像。
在本公开的一些实施例中,图像处理方法还包括:响应于图像采集装置的运动,控制提示信息在采集引导区域中按照与图像采集装置的运动方向相同的方向至少环绕一周,以采集多个初始图像。
例如,控制采集准星在采集引导区域中按照与图像采集装置的运动方向相同的方向至少环绕一周,以采集多个初始图像。
在本公开的一些实施例中,当用户控制移动端移动和/或转动,使得采集准星落入采集引导区域中,则随着移动端以固定的方向进行运动,移动端可以控制采集准星在采集引导区域中按照移动端的运动方向相同的方向进行移动,并在移动端中实时进行图像采集,获得多个初始图像,从而通过采集准星与采集引导区域,对用户进行全景信息采集进行引导,可以有效帮助用户对拍摄环境中的拍摄点进行信息采集,全景信息的采集通过移动端即可实现,克服了依赖于固定设备的问题,有效降低了采集成本,简化了采集流程。
在本公开的一些实施例中,针对按照所述提示信息采集的所述多个初始图像中的每个初始图像,所述每个初始图像与相邻初始图像存在重叠区域,所述相邻初始图像为在与所述每个初始图像对应的拍摄点相邻的拍摄点所采集的初始图像。
例如,对于每个初始图像,多个初始图像中都会存在至少一个不同于该初始图像的其他初始图像与该初始图像存在重叠区域。这样可以使得用户根据提示信息拍摄的多个初始图像可以形成闭环,即每相邻的两个初始图像之间存在重叠区域,并且第一个初始图像和最后一个初始图像之间存在重叠区域,从而可以保证拍摄到全景图像。
在本公开的一些实施例中,图像处理方法在前述步骤的基础上还可以进一步包括:将拼接图像转换成三维图像,并且输出三维图像,以将三维图像作为全景图像展示。
例如可以利用三维模型软件将拼接图像转换成三维图像。
在本公开的一些实施例中,由于图像处理方法不用将采集的图像上传服务器而可以在移动端直接执行,因此三维图像也可以实时地显示于移动端,以供用户观看。
在本公开的一些实施例中,上述图像处理方法可以应用于房间、车等场景中,以生成房间的全景图或者车的全景图。
例如,在本公开的一些实施例中,图像处理方法可以包括如下步骤:首先,获取图像序列,图像序列包括多个初始图像,多个初始图像是通过对容纳空间进行图像采集而得到的。然后,获取多个初始图像分别对应的位姿信息;基于多个初始图像分别对应的位姿信息,确定多个初始图像中每个初始图像在曲面投影中的投影信息,并且根据投影信息将多个初始图像分别映射到目标像素画布中而生成多个目标图像,之后可以将多个目标图像进行融合而得到容纳空间的全景图。也即,执行上文参考图1所描述的方法。
在本公开的一些实施例中,容纳空间,例如可以是房间、车等。
在本公开的一些实施例中,对容纳空间进行图像采集可以是在容纳空间内,对容纳空间进行图像采集,或者也可以是在容纳空间外部,对容纳空间的进行图像采集。
若在容纳空间内对容纳空间进行图像采集,根据上文描述的方法可以得到容纳空间内部的全景图。例如,通过对房间内部进行图像采集,根据上文描述的方法可以生成房间内部的全景图,从而可以展示房间内部的三维图像。例如,通过对车内进行图像采集,根据上文描述的方法可以生成车内的全景图,从而可以展示车内的三维图像。
若在容纳空间的外部对容纳空间进行图像采集,根据上文描述的方法可以得到容纳空间外形的全景图。例如,通过在车外对车进行图像采集,根据上文描述的方法可以生成车的外形的全景图。
图10D示出了本公开至少一实施例提供的生成拼接图像的效果示意图。
如图10D所示,例如,用户利用移动端在房间内采集了多个初始图像。在图10D中以初始图像810~830示意性表示。
例如,多个初始图像810~830是根据移动端(即,图像采集装置)的运动,控制采集准星在采集引导区域中按照与移动端的运动方向相同的方向至少环绕一周采集到的。
例如,获取移动端的摄像头采集初始图像810~830时分别采用的位姿,然后基于初始图像810~830分别对应的位姿信息,确定初始图像810~830中每个初始图像的像素点在曲面投影中的经纬度,并且根据像素点在曲面投影中的经纬度,将初始图像810~830分别映射到目标像素画布中而分别生成目标图像811~813。接下来,将目标图像811~813进行融合而得到拼接图像814,即房间的全景图。
将拼接图像814进行三维转换即可得到房间的三维图,使得用户体验到 VR(Virtual Reality,虚拟现实)看房的效果。
图10E示出了本公开至少一实施例提供的生成拼接图像的另一效果示意图。
如图10E所示,例如,用户利用移动端在车内采集了多个初始图像。在图10E中以初始图像901~903示意性表示。
例如,多个初始图像901~903是根据移动端(即,图像采集装置)的运动,控制采集准星在采集引导区域中按照与移动端的运动方向相同的方向至少环绕一周采集到的。
例如,获取移动端的摄像头采集初始图像901~903时分别采用的位姿,然后基于初始图像901~903分别对应的位姿信息,确定初始图像901~903中每个初始图像的像素点在曲面投影中的经纬度,并且根据像素点在曲面投影中的经纬度,将初始图像901~903分别映射到目标像素画布中而分别生成目标图像911~913。接下来,将目标图像911~913进行融合而得到拼接图像914,即得到车内的全景图。
将拼接图像914进行三维转换即可得到房间的三维图,使得用户体验到 VR(Virtual Reality,虚拟现实)看车的效果。
图11示出了本公开至少一个实施例提供的一种图像处理装置1100的示意框图。
如图11所示,该图像处理装置1100包括获取单元1110、特征点匹配单元1120、第一确定单元1130、第二确定单元1140、第三确定单元1150、映射单元1160和融合单元1170。
获取单元1110配置为获取多个初始图像。获取单元1110例如可以执行图1描述的步骤S10。
特征点匹配单元1120配置为将所述多个初始图像进行特征点匹配而获得至少一个匹配图像组。例如,所述至少一个匹配图像组中每个匹配图像组包括所述多个初始图像中的至少部分初始图像,所述每个匹配图像组包括之间存在相匹配的特征点的不同初始图像。特征点匹配单元1120例如可以执行图1描述的步骤S20。
第一确定单元1130配置为基于所述每个匹配图像组中所述不同初始图像之间相匹配的特征点,确定所述每个匹配图像组中所述不同初始图像之间的映射关系。第一确定单元1130例如可以执行图1描述的步骤S30。
第二确定单元1140配置为基于所述每个匹配图像组中所述不同初始图像之间的映射关系,确定所述多个初始图像中每个初始图像分别对应的目标位姿信息。第二确定单元1140例如可以执行图1描述的步骤S40。
第三确定单元1150配置为基于所述每个初始图像分别对应的目标位姿信息,确定所述每个初始图像在曲面投影中的投影信息。第三确定单元1150 例如可以执行图1描述的步骤S50。
映射单元1160配置为根据所述每个初始图像在所述曲面投影中的投影信息,将所述多个初始图像分别映射到目标像素画布中而生成多个目标图像。映射单元1160例如可以执行图1描述的步骤S60。
融合单元1170配置为将所述多个目标图像进行融合而得到拼接图像。融合单元1170例如可以执行图1描述的步骤S70。
例如,获取单元1110、特征点匹配单元1120、第一确定单元1130、第二确定单元1140、第三确定单元1150、映射单元1160和融合单元1170可以为硬件、软件、固件以及它们的任意可行的组合。例如,获取单元1110、特征点匹配单元1120、第一确定单元1130、第二确定单元1140、第三确定单元1150、映射单元1160和融合单元1170可以为专用或通用的电路、芯片或装置等,也可以为处理器和存储器的结合。关于上述各个单元的具体实现形式,本公开的实施例对此不作限制。
需要说明的是,本公开的实施例中,图像处理装置1100的各个单元与前述的图像处理方法的各个步骤对应,关于图像处理装置1100的具体功能可以参考关于图像处理方法的相关描述,此处不再赘述。图11所示的图像处理装置1100的组件和结构只是示例性的,而非限制性的,根据需要,该图像处理装置1100还可以包括其他组件和结构。
本公开的至少一个实施例还提供了一种电子设备,该电子设备包括处理器和存储器,存储器包括一个或多个计算机程序模块。一个或多个计算机程序模块被存储在存储器中并被配置为由处理器执行,一个或多个计算机程序模块包括用于实现上述的图像处理方法的指令。该电子设备可以使得图像拼接不依赖于深度数据,并且对图像质量的要求较低,既降低图像拼接对图像质量的要求和运算量,有助于在移动端实现图像拼接,又使得拼接图像的效果更好,使得拼接图像更加自然。
图12A为本公开一些实施例提供的一种电子设备的示意框图。如图12A 所示,该电子设备1200包括处理器1210和存储器1220。存储器1220用于存储非暂时性计算机可读指令(例如一个或多个计算机程序模块)。处理器 1210用于运行非暂时性计算机可读指令,非暂时性计算机可读指令被处理器 1210运行时可以执行上文所述的图像处理方法中的一个或多个步骤。存储器 1220和处理器1210可以通过总线系统和/或其它形式的连接机构(未示出) 互连。
例如,处理器1210可以是中央处理单元(CPU)、图形处理单元(GPU) 或者具有数据处理能力和/或程序执行能力的其它形式的处理单元。例如,中央处理单元(CPU)可以为X86或ARM架构等。处理器1210可以为通用处理器或专用处理器,可以控制电子设备1200中的其它组件以执行期望的功能。
例如,存储器1220可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM) 和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器 (ROM)、硬盘、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序模块,处理器1210可以运行一个或多个计算机程序模块,以实现电子设备1200的各种功能。在计算机可读存储介质中还可以存储各种应用程序和各种数据以及应用程序使用和/或产生的各种数据等。
需要说明的是,本公开的实施例中,电子设备1200的具体功能和技术效果可以参考上文中关于图像处理方法的描述,此处不再赘述。
图12B为本公开一些实施例提供的另一种电子设备的示意框图。该电子设备1300例如适于用来实施本公开实施例提供的图像处理方法。电子设备 1300可以是终端设备等。需要注意的是,图12B示出的电子设备1300仅仅是一个示例,其不会对本公开实施例的功能和使用范围带来任何限制。
如图12B所示,电子设备1300可以包括处理装置(例如中央处理器、图形处理器等)1310,其可以根据存储在只读存储器(ROM)1320中的程序或者从存储装置1380加载到随机访问存储器(RAM)1330中的程序而执行各种适当的动作和处理。在RAM 1330中,还存储有电子设备1300操作所需的各种程序和数据。处理装置1310、ROM 1320以及RAM1330通过总线1340彼此相连。输入/输出(I/O)接口1350也连接至总线1340。
通常,以下装置可以连接至I/O接口1350:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置1360;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置1370;包括例如磁带、硬盘等的存储装置1380;以及通信装置1390。通信装置1390可以允许电子设备1300与其他电子设备进行无线或有线通信以交换数据。虽然图12B 示出了具有各种装置的电子设备1300,但应理解的是,并不要求实施或具备所有示出的装置,电子设备1300可以替代地实施或具备更多或更少的装置。
例如,根据本公开的实施例,上述图像处理方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包括用于执行上述图像处理方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置 1390从网络上被下载和安装,或者从存储装置1380安装,或者从ROM 1320 安装。在该计算机程序被处理装置1310执行时,可以实现本公开实施例提供的图像处理方法中限定的功能。
本公开的至少一个实施例还提供了一种计算机可读存储介质,该计算机可读存储介质用于存储非暂时性计算机可读指令,当非暂时性计算机可读指令由计算机执行时可以实现上述的图像处理方法。利用该计算机可读存储介质,可以使得图像的拼接该图像处理方法可以不依赖于深度数据,并且对图像质量的要求较低,既降低图像拼接对图像质量的要求和运算量,有助于在移动端实现图像拼接,又使得拼接图像的效果更好,使得拼接图像更加自然。
图13为本公开一些实施例提供的一种存储介质的示意图。如图13所示,存储介质1400用于存储非暂时性计算机可读指令1410。例如,当非暂时性计算机可读指令1410由计算机执行时可以执行根据上文所述的图像处理方法中的一个或多个步骤。
例如,该存储介质1400可以应用于上述电子设备1200中。例如,存储介质1400可以为图12A所示的电子设备1200中的存储器1220。例如,关于存储介质1400的相关说明可以参考图12A所示的电子设备1200中的存储器1220的相应描述,此处不再赘述。
有以下几点需要说明:
(1)本公开实施例附图只涉及到本公开实施例涉及到的结构,其他结构可参考通常设计。
(2)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,本公开的保护范围应以所述权利要求的保护范围为准。
Claims (23)
1.一种图像处理方法,包括:
获取多个初始图像;
将所述多个初始图像进行特征点匹配而获得至少一个匹配图像组,其中,所述至少一个匹配图像组中每个匹配图像组包括所述多个初始图像中的至少部分初始图像,所述每个匹配图像组包括之间存在相匹配的特征点的不同初始图像;
基于所述每个匹配图像组中所述不同初始图像之间相匹配的特征点,确定所述每个匹配图像组中所述不同初始图像之间的映射关系;
基于所述每个匹配图像组中所述不同初始图像之间的映射关系,确定所述多个初始图像中每个初始图像分别对应的目标位姿信息,其中,所述目标位姿信息为图像采集装置采集每个初始图像时分别采用的位姿,所述位姿包括旋转矩阵和平移向量;
基于所述多个初始图像分别对应的目标位姿信息,确定所述每个初始图像在曲面投影中的投影信息;
根据所述每个初始图像在所述曲面投影中的投影信息,将所述多个初始图像分别映射到目标像素画布中而生成多个目标图像;以及
将所述多个目标图像进行融合而得到拼接图像;
其中,基于所述多个初始图像分别对应的目标位姿信息,确定所述每个初始图像在所述曲面投影中的投影信息,包括:
基于所述多个初始图像分别对应的旋转矩阵和平移向量,将所述每个初始图像转换到世界坐标系中而获得所述每个初始图像在所述世界坐标系中的世界坐标信息;
根据所述每个初始图像的所述世界坐标信息,确定所述每个初始图像在所述曲面投影中的曲面坐标信息;以及
将所述每个初始图像中的每个像素点的所述曲面坐标信息转换为所述投影信息,
其中,根据所述投影信息,将所述多个初始图像分别映射到所述目标像素画布中而生成所述多个目标图像,包括:
确定所述目标像素画布的尺寸;以及
基于所述目标像素画布的尺寸和所述投影信息,确定所述每个初始图像中的每个像素点在所述目标像素画布中的位置,从而将所述每个初始图像映射到所述目标像素画布中,以生成所述多个目标图像。
2.根据权利要求1所述的方法,其中,基于所述每个匹配图像组中所述不同初始图像之间相匹配的特征点,确定所述每个匹配图像组中所述不同初始图像之间的映射关系,包括:
基于所述每个匹配图像组中所述不同初始图像之间相匹配的特征点,确定所述匹配图像组中的匹配图像对,其中,所述匹配图像对包括第一初始图像和第二初始图像,所述第一初始图像中的部分特征点与所述第二初始图像中的部分特征点相匹配;
基于所述第一初始图像与所述第二初始图像之间相匹配的特征点,计算所述第一初始图像与所述第二初始图像之间的映射矩阵,其中,所述映射矩阵表示所述第一初始图像和所述第二初始图像之间的映射关系。
3.根据权利要求1所述的方法,其中,基于所述每个匹配图像组中所述不同初始图像之间的映射关系,确定所述多个初始图像中每个初始图像分别对应的目标位姿信息,包括:
从所述每个匹配图像组中选择一个初始图像作为基准图像,将所述基准图像对应的位姿作为基准位姿;以及
基于所述每个匹配图像组对应的所述映射关系和所述基准位姿,确定所述多个初始图像中每个初始图像分别对应的目标位姿信息。
4.根据权利要求3所述的方法,其中,基于所述每个匹配图像组对应的所述映射关系和所述基准位姿,确定所述多个初始图像中每个初始图像分别对应的目标位姿信息,包括:
基于所述每个匹配图像组对应的所述映射关系和所述基准位姿,确定所述每个匹配图像组中的初始图像相对于所述基准位姿的第一位姿信息;
确定不同匹配图像组之间的位姿关系;以及
基于所述每个匹配图像组中所述不同初始图像分别相对于所述基准位姿的第一位姿信息和所述不同匹配图像组之间的位姿关系,确定所述多个初始图像中每个初始图像分别对应的目标位姿信息。
5.根据权利要求4所述的方法,其中,所述多个初始图像是通过图像采集装置获得的,所述图像采集装置包括传感器,所述方法还包括:
获取所述传感器构建的构建位姿信息,其中,所述构建位姿信息包括所述图像采集装置采集所述每个初始图像的过程中所采用的位姿;
确定所述不同匹配图像组之间的位姿关系,包括:
基于所述不同匹配图像组中分别包括的至少一个初始图像对应的构建位姿信息,确定所述不同匹配图像组之间的位姿关系。
6.根据权利要求5所述的方法,其中,基于所述每个匹配图像组中所述不同初始图像分别相对于所述基准位姿的第一位姿信息和所述不同匹配图像组之间的位姿关系,确定所述多个初始图像中每个初始图像分别对应的目标位姿信息,包括:
基于所述不同匹配图像组之间的位姿关系,将所述每个匹配图像组中所述不同初始图像分别相对于所述基准位姿的第一位姿信息转换为相对于同一目标基准位姿的第二位姿信息,其中,所述目标基准位姿为所述至少一个匹配图像组中的一个匹配图像组对应的基准位姿;以及
对所述第二位姿信息与所述构建位姿信息进行数据融合而得到所述多个初始图像中每个初始图像分别对应的目标位姿信息。
7.根据权利要求6所述的方法,其中,对所述第二位姿信息与所述构建位姿信息进行数据融合而得到所述多个初始图像中每个初始图像分别对应的目标位姿信息,包括:
将所述构建位姿信息转换到以所述目标基准位姿作为基准的坐标系中而获得第三位姿信息;
对所述第三位姿信息与所述第二位姿信息进行数据融合而得到融合筛选结果;以及
基于所述融合筛选结果确定所述目标位姿信息。
8.根据权利要求7所述的方法,其中,基于所述融合筛选结果确定所述目标位姿信息,包括:
利用参数优化方法对所述融合筛选结果处理而得到所述目标位姿信息。
9.根据权利要求5所述的方法,其中,所述传感器包括第一传感器和第二传感器,
获取所述传感器构建的所述构建位姿信息,包括:
获取第一位姿数据,其中,所述第一位姿数据为所述第一传感器构建的所述图像采集装置采集所述每个初始图像所采用的第一位姿;
获取第二位姿数据,其中,所述第二位姿数据为所述第二传感器构建的所述图像采集装置采集所述每个初始图像所采用的第二位姿;以及
对所述第一位姿数据和所述第二位姿数据进行数据融合而得到所述每个初始图像对应的所述构建位姿信息。
11.根据权利要求1所述的方法,其中,将所述多个目标图像进行融合而得到所述拼接图像,包括:
对所述多个目标图像进行加权融合而得到所述拼接图像。
12.根据权利要求11所述的方法,其中,对所述多个目标图像进行加权融合而得到所述拼接图像,包括:
基于所述多个初始图像分别在所述目标像素画布中的位置,确定所述多个目标图像中每个目标图像的重叠区域和非重叠区域,其中,所述重叠区域为所述每个目标图像与所述多个目标图像中除该目标图像以外的目标图像存在多个相匹配的特征点的区域,所述非重叠区域为所述目标图像中除所述重叠区域之外的区域;
确定所述重叠区域中的像素点对应的权重;以及
基于所述重叠区域中的像素点对应的权重,对所述多个目标图像进行加权融合而得到所述拼接图像。
13.根据权利要求12所述的方法,其中,确定所述重叠区域中的像素点对应的权重包括:
确定所述重叠区域中的像素点到所述初始图像中心的曼哈顿距离;以及
基于所述曼哈顿距离,确定所述重叠区域中的像素点对应的权重。
14.根据权利要求1所述的方法,其中,将所述多个初始图像进行特征点匹配而获得所述至少一个匹配图像组,包括:
对于每个初始图像,确定所述初始图像的相邻初始图像,其中,所述相邻初始图像的拍摄点与所述初始图像的拍摄点彼此相邻;
将所述初始图像与所述相邻初始图像进行特征点匹配而获得所述至少一个匹配图像组。
15.根据权利要求1所述的方法,还包括:
对所述多个目标图像进行光照均匀化处理,使得所述多个目标图像的光照强度均匀。
16.根据权利要求1所述的方法,其中,所述多个初始图像是通过图像采集装置获得的,
所述方法还包括:
获取所述图像采集装置的拍摄位姿;
基于所述拍摄位姿,确定拍摄环境中的至少一个目标拍摄区域;以及
基于所述至少一个目标拍摄区域,显示提示信息,以提示用户在所述至少一个目标拍摄区域采集所述多个初始图像。
17.根据权利要求16所述的方法,其中,基于所述至少一个目标拍摄区域,显示所述提示信息,包括:
基于所述至少一个目标拍摄区域,显示至少一个采集引导区域,其中,所述至少一个采集引导区域分别与所述至少一个目标拍摄区域相对应;以及
显示所述提示信息,其中,所述提示信息指示所述图像采集装置当前对准的参考拍摄点;
其中,在所述提示信息落入所述至少一个采集引导区域中的目标采集引导区域的情况下,所述图像采集装置当前对准的参考拍摄点为所述目标采集引导区域对应的目标拍摄区域中的拍摄点。
18.根据权利要求17所述的方法,还包括:
响应于所述图像采集装置的运动,控制所述提示信息在所述采集引导区域中按照与所述图像采集装置的运动方向相同的方向至少环绕一周,以采集所述多个初始图像。
19.根据权利要求16所述的方法,其中,针对按照所述提示信息采集的所述多个初始图像中的每个初始图像,所述每个初始图像与相邻初始图像存在重叠区域,所述相邻初始图像为在与所述每个初始图像对应的拍摄点相邻的拍摄点所采集的初始图像。
20.根据权利要求19所述的方法,还包括:
将所述拼接图像转换成三维图像;以及
输出所述三维图像,以将所述三维图像作为全景图像展示。
21.一种图像处理装置,包括:
获取单元,配置为获取多个初始图像;
特征点匹配单元,配置为将所述多个初始图像进行特征点匹配而获得至少一个匹配图像组,其中,所述至少一个匹配图像组中每个匹配图像组包括所述多个初始图像中的至少部分初始图像,所述每个匹配图像组包括之间存在相匹配的特征点的不同初始图像;
第一确定单元,配置为基于所述每个匹配图像组中所述不同初始图像之间相匹配的特征点,确定所述每个匹配图像组中所述不同初始图像之间的映射关系;
第二确定单元,配置为基于所述每个匹配图像组中所述不同初始图像之间的映射关系,确定所述多个初始图像中每个初始图像分别对应的目标位姿信息,其中,所述目标位姿信息为图像采集装置采集每个初始图像时分别采用的位姿,所述位姿包括旋转矩阵和平移向量;
第三确定单元,配置为基于所述多个初始图像分别对应的目标位姿信息,确定所述每个初始图像在曲面投影中的投影信息;
映射单元,配置为根据所述每个初始图像在所述曲面投影中的投影信息,将所述多个初始图像分别映射到目标像素画布中而生成多个目标图像;以及
融合单元,配置为将所述多个目标图像进行融合而得到拼接图像;
其中,所述第三确定单元配置为:
基于所述多个初始图像分别对应的旋转矩阵和平移向量,将所述每个初始图像转换到世界坐标系中而获得所述每个初始图像在所述世界坐标系中的世界坐标信息;
根据所述每个初始图像中的每个像素点的所述世界坐标信息,确定所述每个初始图像在所述曲面投影中的曲面坐标信息;以及
将所述每个初始图像的所述曲面坐标信息转换为所述投影信息,
其中,所述映射单元包括:
确定所述目标像素画布的尺寸;以及
基于所述目标像素画布的尺寸和所述投影信息,确定所述每个初始图像中的每个像素点在所述目标像素画布中的位置,从而将所述每个初始图像映射到所述目标像素画布中,以生成所述多个目标图像。
22.一种电子设备,包括:
处理器;
存储器,包括一个或多个计算机程序模块;
其中,所述一个或多个计算机程序模块被存储在所述存储器中并被配置为由所述处理器执行,所述一个或多个计算机程序模块包括用于实现权利要求1-20任一项所述的图像处理方法的指令。
23.一种计算机可读存储介质,用于存储非暂时性计算机可读指令,当所述非暂时性计算机可读指令由计算机执行时可以实现权利要求1-20任一项所述的图像处理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110554274.5A CN113450254B (zh) | 2021-05-20 | 2021-05-20 | 图像处理方法、装置、电子设备和计算机可读存储介质 |
PCT/CN2022/087633 WO2022242395A1 (zh) | 2021-05-20 | 2022-04-19 | 图像处理方法、装置、电子设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110554274.5A CN113450254B (zh) | 2021-05-20 | 2021-05-20 | 图像处理方法、装置、电子设备和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113450254A CN113450254A (zh) | 2021-09-28 |
CN113450254B true CN113450254B (zh) | 2022-06-17 |
Family
ID=77809941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110554274.5A Active CN113450254B (zh) | 2021-05-20 | 2021-05-20 | 图像处理方法、装置、电子设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113450254B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022242395A1 (zh) * | 2021-05-20 | 2022-11-24 | 北京城市网邻信息技术有限公司 | 图像处理方法、装置、电子设备和计算机可读存储介质 |
CN114022570B (zh) * | 2022-01-05 | 2022-06-17 | 荣耀终端有限公司 | 相机间外参的标定方法及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106991645A (zh) * | 2017-03-22 | 2017-07-28 | 腾讯科技(深圳)有限公司 | 图像拼接方法及装置 |
CN112581369A (zh) * | 2020-12-24 | 2021-03-30 | 中国银联股份有限公司 | 图像拼接方法以及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8791880B2 (en) * | 2008-11-17 | 2014-07-29 | Nec Corporation | System, method and program for specifying pixel position correspondence |
CN103685956B (zh) * | 2013-12-11 | 2017-12-15 | 宇龙计算机通信科技(深圳)有限公司 | 一种全景照片拍摄方法及装置 |
CN108122191B (zh) * | 2016-11-29 | 2021-07-06 | 成都美若梦景科技有限公司 | 鱼眼图像拼接成全景图像和全景视频的方法及装置 |
CN110012209B (zh) * | 2018-01-05 | 2020-08-14 | Oppo广东移动通信有限公司 | 全景图像生成方法、装置、存储介质及电子设备 |
-
2021
- 2021-05-20 CN CN202110554274.5A patent/CN113450254B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106991645A (zh) * | 2017-03-22 | 2017-07-28 | 腾讯科技(深圳)有限公司 | 图像拼接方法及装置 |
CN112581369A (zh) * | 2020-12-24 | 2021-03-30 | 中国银联股份有限公司 | 图像拼接方法以及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113450254A (zh) | 2021-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113240615B (zh) | 图像处理方法、装置、电子设备和计算机可读存储介质 | |
CN113450253B (zh) | 图像处理方法、装置、电子设备和计算机可读存储介质 | |
WO2022242395A1 (zh) | 图像处理方法、装置、电子设备和计算机可读存储介质 | |
JP4508049B2 (ja) | 360°画像撮影装置 | |
US8768098B2 (en) | Apparatus, method, and medium for generating panoramic image using a series of images captured in various directions | |
CN107113376B (zh) | 一种图像处理方法、装置及摄像机 | |
CN103873758B (zh) | 全景图实时生成的方法、装置及设备 | |
EP3228982A1 (en) | Surveying system | |
EP2993894B1 (en) | Image capturing method and electronic apparatus | |
JP6398472B2 (ja) | 画像表示システム、画像表示装置、画像表示方法、およびプログラム | |
CN113450254B (zh) | 图像处理方法、装置、电子设备和计算机可读存储介质 | |
JP2012084146A (ja) | 拡張現実(ar)を提供するユーザ装置及び方法 | |
JP2006059202A (ja) | 撮像装置及び画像補正方法 | |
CN106657792B (zh) | 共享式观景装置 | |
CN109448105B (zh) | 基于多深度图像传感器的三维人体骨架生成方法及系统 | |
US20090059018A1 (en) | Navigation assisted mosaic photography | |
CN115601496A (zh) | Ar辅助三维地图尺度恢复的方法和系统 | |
JP7220784B2 (ja) | 測量用サンプリング点の計画方法、装置、制御端末及び記憶媒体 | |
KR101963449B1 (ko) | 360°비디오 생성 시스템 및 방법 | |
JP6816614B2 (ja) | 画像出力プログラム、画像出力方法および画像出力装置 | |
CN111581322B (zh) | 视频中兴趣区域在地图窗口内显示的方法和装置及设备 | |
JP7078231B2 (ja) | 3dツアーの比較表示システム及び方法 | |
CN115278064A (zh) | 一种全景图像生成方法、装置、终端设备及存储介质 | |
JP6714819B2 (ja) | 画像表示システム、情報処理装置、画像表示方法及び画像表示プログラム | |
CN115278049A (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 |