CN117917684A - 图像处理方法、装置和计算机可读存储介质 - Google Patents

图像处理方法、装置和计算机可读存储介质 Download PDF

Info

Publication number
CN117917684A
CN117917684A CN202211293818.8A CN202211293818A CN117917684A CN 117917684 A CN117917684 A CN 117917684A CN 202211293818 A CN202211293818 A CN 202211293818A CN 117917684 A CN117917684 A CN 117917684A
Authority
CN
China
Prior art keywords
panoramic image
source
pixels
keypoints
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.)
Pending
Application number
CN202211293818.8A
Other languages
English (en)
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.)
Ricoh Co Ltd
Original Assignee
Ricoh 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to CN202211293818.8A priority Critical patent/CN117917684A/zh
Publication of CN117917684A publication Critical patent/CN117917684A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)

Abstract

本公开提供了一种用于在全景图像中检测关键点的方法,包括:获得源全景图像;基于空间变换参数对源全景图像进行变换,以生成一个或多个目标全景图像和查找表,其中,该查找表指示该源全景图像中的像素与该目标全景图像中的像素之间的映射关系;在目标全景图像中检测作为关键点的第一像素集;以及将在目标全景图像中检测的第一像素集通过查找表映射回源全景图像,以获得源全景图像中作为关键点的第二像素集。

Description

图像处理方法、装置和计算机可读存储介质
技术领域
本申请涉及图像处理领域,尤其涉及一种图像处理方法、装置和计算机可读存储介质,更具体地,图像处理方法涉及一种用于在全景图像中检测关键点的方法和一种用于创建训练基于深度学习的神经网络的样本的方法。
背景技术
在计算机视觉的图像处理任务中往往需要首先从原始图像中提取感兴趣点,例如,可以通过诸如同步定位和制图(SLAM)或运动推断结构(SFM)等算法来获得感兴趣点。由于图像中的这些感兴趣点可以是在不同条件(如不同的照明或视点)下是稳定和可重复的点,因而通过感兴趣点可以反映出图像的特征,而这样的感兴趣点故也可被称为关键点。正因如此,在诸如图像匹配、平面图生成以及3D重建等应用中,标注、提取关键点具有重要意义。然而,本领域中现有的关键点检测方法对于全景图像的适用性仍有待改进。
此外,虽然基于深度学习的方法可用于对关键点进行检测和标注,但现有的神经网络训练方法通常需要使用大量的带有人工标签的训练数据(例如,几百万个图像),其通常难以获得并需要花费大量的人工标注工作,导致训练过程耗时耗力。与此同时,在对训练数据进行标注的过程中,还可能发生人工判别不准确导致输入错误标签的情形,从而对神经网络的训练造成不利影响。
因此,需要一种能够在全景图像的应用中自动标记关键点的图像处理方法和装置。
发明内容
鉴于以上,本公开提出如下图像处理方法、装置和计算机可读存储介质,从而解决现有技术中的至少上述技术问题或对现有技术进行改进。
根据本公开的一个方面,提供了一种图像处理方法,包括:获得源全景图像;基于空间变换参数对源全景图像进行变换,以生成一个或多个目标全景图像和查找表,其中,该查找表指示源全景图像中的像素与目标全景图像中的像素之间的映射关系;在目标全景图像中检测作为关键点的第一像素集;以及将在目标全景图像中检测的第一像素集通过查找表映射回源全景图像,以获得源全景图像中作为关键点的第二像素集。
根据本公开的一个实施例,其中,基于空间变换参数对源全景图像进行变换来生成一个或多个目标全景图像和查找表包括:基于源全景图像生成二维坐标网格,其中,该二维坐标网格具有与源全景图像相同的尺寸,并且包括源全景图像中的每个像素的坐标;将二维坐标网格转换到三维球坐标系中,以生成与源全景图像相关联的三维球面;基于空间变换参数对三维球面进行变换;对经变换后的三维球面进行标准化处理,以生成与源全景图像相关联的单位球面;将单位球面转换到二维坐标系中,以生成查找表;以及将源全景图像中的每个像素通过查找表进行映射,以生成目标全景图像。
根据本公开的一个实施例,其中,三维球坐标系具有x,y,z三个坐标轴,基于空间变换参数对三维球面进行变换包括:沿三维球坐标系中的至少一个轴以第一数值对与源全景图像相关联的三维球面进行平移;和/或绕三维球坐标系中的至少一个轴以第二数值对与源全景图像相关联的三维球面进行旋转,其中,第一数值和第二数值由空间变换参数确定。经变换后的三维球面中的点的三维坐标值表示为(x,y,z),以及对经变换后的三维球面进行标准化处理包括:使经变换后的三维球面中的每个点的三维坐标值满足x2+y2+z2=1。
根据本公开的一个实施例,其中,在目标全景图像中检测作为关键点的第一像素集包括:使用基于深度学习的神经网络来检测目标全景图像中作为关键点的第一像素集。
根据本公开的一个实施例,其中,基于深度学习的神经网络通过以下处理进行训练,包括:输入样本全景图像;生成基于样本全景图像的立方体,以获得作为立方体的面的六个透视图;在六个透视图中的每个中标注作为关键点的像素;将标注了关键点的六个透视图合成为标注了关键点的合成全景图像;以及使用合成全景图像作为训练数据来训练基于深度学习的神经网络。
根据本公开的一个实施例,其中,对于生成多个目标全景图像的情形,还包括:将在多个目标全景图像中的每个目标全景图像中检测的关键点映射回源全景图像;以及从源全景图像中所映射的关键点中去除重复的冗余关键点,以获得源全景图像中作为关键点的第二像素集。
根据本公开的另一个方面,提供了一种用于创建训练基于深度学习的神经网络的样本的方法,该神经网络用于在全景图像中检测关键点,该方法包括:通过本公开上述方面和实施例的方法,获得标注了关键点的多个全景图像;以及使用所述标注了关键点的多个全景图像作为训练所述神经网络的样本全景图像。
根据本公开的另一个方面,提供了一种图像处理装置,包括:接收单元,配置为接收源全景图像;变换单元,配置为基于空间变换参数对源全景图像进行变换,以生成一个或多个目标全景图像和查找表,其中,该查找表指示源全景图像中的像素与目标全景图像中的像素之间的映射关系;以及检测单元,配置为在目标全景图像中检测作为关键点的第一像素集,并且将在目标全景图像中检测的第一像素集通过查找表映射回源全景图像,以获得源全景图像中作为关键点的第二像素集。
根据本公开的又一个方面,提供了一种图像处理装置,处理器;和存储器,在存储器中存储有计算机程序指令,其中,在计算机程序指令被处理器运行时,使得处理器执行以下步骤:获得源全景图像;基于空间变换参数对源全景图像进行变换,以生成一个或多个目标全景图像和查找表,其中,该查找表指示源全景图像中的像素与目标全景图像中的像素之间的映射关系;在目标全景图像中检测作为关键点的第一像素集;以及将在目标全景图像中检测的第一像素集通过查找表映射回源全景图像,以获得源全景图像中作为关键点的第二像素集。
根据本公开的又一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,其中,计算机程序指令被处理器执行时实现以下步骤:获得源全景图像;基于空间变换参数对源全景图像进行变换,以生成一个或多个目标全景图像和查找表,其中,该查找表指示源全景图像中的像素与目标全景图像中的像素之间的映射关系;在目标全景图像中检测作为关键点的第一像素集;以及将在目标全景图像中检测的第一像素集通过查找表映射回源全景图像,以获得源全景图像中作为关键点的第二像素集。
根据本公开的上述图像处理方法、图像处理装置以及计算机可读存储介质,通过模拟相机运动的方式来生成目标图像和对应关键点,从而能够在源图像和目标图像两者全景图像上自动地对关键点进行标注,显著提高了图像处理的效率和准确性。此外,根据本公开的上述图像处理方法、图像处理装置和计算机可读存储介质,还能够解决全景图像失真导致的关键点匹配错误或不准确问题,进一步提高了在全景图像中的关键点检测的准确性。
附图说明
通过结合以下附图对本公开的实施例进行详细描述,本公开的上述和其他目的、特征、优点将会变得更加清楚。应理解,这些附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。此外在附图中,相同的参考标号通常代表相同部件或步骤。
图1是示出根据本公开实施例的图像处理方法的流程图;
图2是示出根据本公开实施例的生成目标全景图像和对应查找表的示例的流程图;
图3是示意性地示出生成二维坐标网格以及生成与源全景图像相关联的三维球面的示意图;
图4是示意性地示出了对三维球面进行变换的示意图;
图5是示意性地示出了对三维球面进行标准化处理的示意图;
图6是示意性地示出了从单位球面生成查找表以及根据查找表生成目标全景图像的示意图;
图7是示出了对源全景图像进行变换后生成的多个目标全景图像的示例的示意图;
图8是示出根据本公开实施例的训练神经网络的示例的流程图;
图9是示出了关于立方体贴图(Cubemap)的示例的示意图;
图10是示出了移除冗余关键点前后的全景图像的示意图;
图11是示出根据本公开实施例的图像处理装置的示例的框图;以及
图12是示出根据本公开实施例的图像处理装置的另一示例的框图。
具体实施方式
以下将参照附图描述根据本公开的图像处理方法、图像处理装置和计算机可读记录介质的实施例。应理解,基于本公开中描述的实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其他实施例都应落入本公开的保护范围之内,并且本文描述的实施例仅是本公开的一部分实施例,而不是本公开的全部实施例,这些实施例仅仅是说明性和示例性的,因此不应被解释为限制本公开的范围。此外,为了使说明书更加清楚简洁,将省略对本领域熟知的功能和构造的详细描述,并且还将省略对步骤和元件的重复解释说明。
首先,结合图1来详细描述根据本公开实施例的图像处理方法的基本流程。如图1所示,图像处理方法可以包括以下处理:
在步骤S101,获得源全景图像。
根据本公开的实施例,在此步骤中可以通过以下方式来获得图像,包括但不限于:经由有线或者无线的方式从外部接收图像或从内部存储器获得预先存储的图像。替代地,还可以通过诸如相机等图像捕捉设备拍摄来获得图像。注意,本公开中所描述的全景图像可以指代由诸如全景相机或广角相机之类设备所拍摄的图像或经合成后具有较大视角范围(诸如视角范围在120度以上)的图像,因而区分于以标准镜头进行拍摄的普通图像或以透视映射方式进行拍摄的透视图像。此外,所获得的全景图像可以是图像捕捉设备捕捉的原始图像,该原始图像可以是灰度的或彩色的图像,也可以是对原始图像进行各种图像预处理之后获得的处理后的图像,例如,这样的预处理可以包括但不限于:裁剪、缩放、或变形等处理,并且还可以采用其他来源的图像,比如:深度图像、语义分割图像等等。另外,如本领域技术人员将理解的,在全景图像中可能由于广角镜头产生图像畸变,并且通常在全景图像的边缘区域(例如,全景图像中的两级区域,如天花板或地板附近)中的畸变程度最为严重,这种畸变可能会对关键点的检测和其他图像处理造成不利的影响,后文所描述的实施例将解决此问题。
在获取源全景图像后,流程进到步骤S102。
在步骤S102,基于空间变换参数对(S101处获得的)源全景图像进行变换,以生成一个或多个目标全景图像和查找表,其中,该查找表可以指示源全景图像中的像素与所生成的目标全景图像中的像素之间的映射关系。
根据本公开的实施例,在此步骤中可以对源全景图像进行相应的空间变换来生成经变换后的图像,即目标全景图像。具体而言,在此步骤中所进行的空间变换是指对源全景图像中的像素通过特定的映射方式变换到另外的空间坐标系中,使得源全景图像中的像素在不同的坐标系中进行变换,从而得到由变换后的像素所构成的图像,而空间变换参数则指代对源全景图像进行空间变换的参数。例如,通过三维表面映射变换,可以将全景图像映射到一个三维立体形状的表面上,以将其转换为一个三维表面图像,以便在后续处理过程中对该三维表面图像进行旋转,并相应地实现全景图像中特定区域的旋转。这种三维立体形状可以是一个在三维空间中进行描述的球体、立方体或任何其他立体形状。相应地,三维表面映射变换可以包括球面映射变换、立方体映射变换,或用以将二维全景图像映射到一个三维立体形状表面上的任何其他映射变换等。此外,在对源全景图像进行空间变换的过程中,还一并生成与目标全景图像对应的查找表,该查找表可以指示源全景图像中的像素与所生成的目标全景图像中的像素之间的映射关系。此外,根据本公开的一个优选实施例,可以基于空间变换参数对源全景图像进行变换生成多个经不同变换后的目标全景图像。作为说明性示例,下文将以球面映射变换为例,结合图2-6来详细描述根据本公开实施例的生成目标全景图像和对应查找表的处理。
首先,图2是示出根据本公开实施例的生成目标全景图像和对应查找表的示例的流程图。如图2所示:
在步骤S201,基于源全景图像生成二维(2D)坐标网格,其中,该二维坐标网格具有与源全景图像相同的尺寸,并且包括该源全景图像中的每个像素的坐标。然后在步骤S202,将生成的二维坐标网格转换到三维(3D)球坐标系中,以生成与源全景图像相关联的三维球面。
具体而言,图3示意性地示出了生成二维坐标网格以及生成与源全景图像相关联的三维球面的示意图。如图3所示,源全景图像301的尺寸可以由H×W表示,其中,H表示图像高度,W表示图像宽度,并且该全景图像301中的任意一个像素的坐标可以表示为P(i,j)(0<=i<H,0<=j<W),而所生成的二维坐标网格302具有与该源全景图像301相同的尺寸(H×W),并且在该二维坐标网格302中的每个位置对应源全景图像301中的每个像素在二维平面坐标系中的坐标,也即,该二维坐标网格302可以作为该源全景图像301中的每个像素的坐标的索引。在此基础上,通过球面映射变换,可以将生成的二维坐标网格302从二维平面坐标系转换到三维球坐标系中,以生成与源全景图像相关联的三维球面303,也即,在该三维球面303中的每个位置对应源全景图像301中的每个像素在该三维球坐标系中的坐标。
在生成三维球面后,在步骤S203,基于空间变换参数对三维球面进行变换。
具体而言,图4示意性地示出了对三维球面进行变换的示意图。如图4所示,三维球坐标系具有x,y,z三个坐标轴,并且在步骤202生成的三维球面303即在图4中所示的未经变换的三维球面401。
根据本公开的实施例,基于空间变换参数对三维球面进行变换可以包括:沿三维球坐标系中的至少一个轴以第一数值对与源全景图像相关联的三维球面进行平移,或绕三维球坐标系中的至少一个轴以第二数值对与源全景图像相关联的三维球面进行旋转,或以上两种变换的组合。例如,可以分别沿x、y和z轴将三维球面401平移d、e、f的平移量(即第一数值),并且可以分别绕x、y和z轴将三维球面401旋转a°、b°和c°的旋转量(即第二数值),从而通过上述变换得到经平移且旋转后的三维球面402。其中,第一数值和第二数值由空间变换参数确定,也即,空间变换参数定义了对三维球面进行平移/旋转变换的量,该量可以由用户根据相机运动的要求(例如,期望的视角或高度)进行设置,也可以是在一定范围内随机生成的数值,或者可以是根据相机(例如,拍摄源全景图像的相机)中获取的相机运动参数而确定的值。
此外,空间变换参数所定义的平移/旋转变换的量可以根据具体应用而限定在不同的取值范围,例如,对于畸变程度较大的图像,可以适当地增大对三维球面进行平移/旋转变换的量,从而将源全景图像中畸变程度较大的区域(例如,全景图像中的两级区域,如天花板或地板附近)变换为畸变程度较弱的区域(例如,全景图像中的赤道附近的区域),反之亦然,使得与源全景图像相比在同一区域能够具有不同畸变程度的全景图像,进而有利于后续图像处理结果的融合。
在对三维球面进行上述变换后,在步骤S204,对经变换后的三维球面进行标准化处理,以生成与源全景图像相关联的单位球面。
具体而言,图5示意性地示出了对三维球面进行标准化处理的示意图。如图5所示,在步骤203经变换后的三维球面402即在图5中所示的未经标准化的三维球面501,该未经变换后的三维球面501中的点在三维球坐标系中的三维坐标值表示为P(x,y,z)。
根据本公开的优选实施例,对经变换后的三维球面进行标准化处理包括:使经变换后的三维球面501中的每个点的三维坐标值满足x2+y2+z2=1,也即,经标准化后的单位球面502中的点在三维球坐标系中的三维坐标值表示为以此方式,通过标准化处理可以将三维球面501的球心移回三维球坐标系中的原点处并且使该球面的半径长度归一化为1,也即,得到单位球面502。如本领域技术人员将理解的,取决于具体的应用,还可以将三维球面通过其他的公式进行标准化,从而得到圆心位于其他位置以及半径为其他值的单位球面。此外,在对三维球面进行标准化的基础上,为了使与全景图像的像素相关联的像素的坐标不超出在二维与三维坐标系之间的映射范围,即保证全景图像中的所有像素都能完整地在不同坐标系之间进行映射,优选地,对三维球面进行平移的量应尽量不大于单位球面的半径的值,也即,在上述优选实施例中,分别沿x、y和z轴将三维球面401平移d、e、f的平移量(即第一数值)的范围优选地在0至1之间取值。
在生成单位球面后,在步骤S205处,将该单位球面转换到二维坐标系中,以生成查找表。并且在生成查找表后,在步骤S206处,将源全景图像中的像素通过查找表进行映射,以生成目标全景图像。
具体而言,图6示意性地示出了从单位球面生成查找表以及根据查找表生成目标全景图像的示意图。如图6所示,在步骤204生成的单位球面502即在图6中所示的单位球面601,图3中的源全景图像301即在在图6中所示的源全景图像603。
根据本公开的实施例,在三维球坐标系中的单位球面601可以通过等距柱状映射方式而投影在二维平面坐标系中,从而得到具有仍与源全景图像603相同的尺寸(H×W)的二维坐标网格,而在该二维坐标网格中的每个位置仍对应源全景图像603中的每个像素在二维平面坐标系中的坐标,也即,该二维坐标网格可以作为该源全景图像603中的每个像素的坐标的索引(即查找表602)。然后,通过查找表将源全景图像中的像素(例如,根据需要将至少选定部分的像素或所有像素)进行映射,以生成目标全景图像。
具体而言,在该步骤中,遍历目标全景图像604中的每一个像素所在坐标,并在查找表602中检索该坐标存储的数值,其数值保存了所对应的源全景图像的坐标,提取该坐标的源全景图像的像素值,并用该像素值填充到要生成的目标全景图像604。然而,在步骤S205生成的二维坐标网格(查找表602)中的位置将相较于在步骤S201生成的二维坐标网格302发生变化,相应地,通过该查找表602将源全景图像中的每个像素进行映射而生成的目标全景图像604,其中的像素的位置将相较于源全景图像603发生变化。如图6所示,所生成的目标全景图像604就像在与拍摄源全景图像603所处的位置不同的位置(例如,不同的水平/垂直位置)处,对相同场景(即该源全景图像603中呈现的场景)拍摄的另一全景图像,也即,基于空间变换参数对源全景图像进行变换的上述处理相当于模拟了相机的运动而生成了基于源全景图像的目标全景图像。
图7示出了经过基于空间变换参数对源全景图像进行上述变换后生成的多个目标全景图像的示例。如图7所示,通过对全景图像进行不同的空间变换,能够模拟由于相机运动而产生的不同拍摄视角下所拍摄的相应全景图像。由此可见,通过结合图2描述的实施例,能够以模拟相机运动的方式基于源全景图像生成一个或多个目标全景图像,使得所生成的目标全景图像可以具有与源全景图像不同的视角,并且对于相同区域所对应的画面可以具有不同的畸变程度,从而有利于提供更加丰富的图像信息,例如,生成的目标全景图像可以作为基于深度学习的神经网络的训练样本,从而训练该神经网络作为在全景图像中检测关键点的模型。
此外,通过上述实施例,能够利用计算机生成大量基于源全景图像的目标全景图像,因此可用于扩充不同用途的图像样本集,例如,可以使用扩充后的图像特征训练样本进行多视角对比学习,为基于深度学习的神经网络提供了额外的信息,使得机器学习模型在后续可能的处理(或称之为下游任务)中可以实现更好的效果。本公开将在后文中详细描述关于根据本公开实施例的神经网络的训练过程。
回到图1的流程中,在生成一个或多个目标全景图像和查找表后,流程进到步骤S103。
在步骤S103,在(S102处生成的)目标全景图像中检测作为关键点的第一像素集。
根据本公开的实施例,在此步骤中将对所生成的目标全景图像进行关键点检测,以在该目标全景图像中检测出作为关键点的像素集合,即第一像素集。例如,根据本公开的一个优选实施例,可以使用基于深度学习的神经网络来检测目标全景图像中作为关键点的第一像素集。关于用于检测全景图像中的关键点的神经网络的训练方法,下文中将结合图8、9来详细描述。
首先,图8是示出根据本公开实施例的训练神经网络的示例的流程图。
如图8所示:
在步骤S801,输入样本全景图像。
如上所述,根据本公开的实施例,可以通过如在步骤S101中所描述的方式来获得作为训练样本的全景图像(即样本全景图像)。并且,根据本公开的实施例,也可以将上述处理中所获得/生成的源全景图像和/或目标全景图像或对这两者图像进行预处理后的图像(例如,使用感兴趣的局部区域)作为样本全景图像输入,以用于训练神经网络的样本。
在输入用于训练的样本全景图像后,流程进到步骤S802。
在步骤S802,生成基于输入的样本全景图像的立方体,以获得作为该立方体的面的六个透视图。
根据本公开的实施例,可以使用诸如OpenCV或本领域的其他本领域中的方法生成基于全景图像的立方体贴图(Cubemap),即由六个独立的二维面(透视图)组成的集合,也即,每个二维面是该立方体的一个表面。例如,图9示出了关于立方体贴图的一个示例的示意图,如图所示,基于全景图像901可以生成由六个透视图构成的立方体贴图902。
在生成基于全景图像的立方体后,流程进到步骤S803。
然后在步骤S803,在六个透视图中的每个中标注作为关键点的像素。以及在步骤S804,将标注了关键点的六个透视图合成为标注了关键点的合成全景图像。
根据本公开的实施例,在输入的样本全景图像中作为关键点的像素的坐标可以是已知的,例如,预先标注的或是通过现有方式已经获得的,因此,可以在基于样本全景图像的六个透视图中对相应的关键点进行标注,并将标注了关键点的透视图合成为全景图像,以作为用于检测关键点的神经网络的训练数据集。另外,根据本公开的优选实施例,可以按照不同的图像类别对透视图中的关键点进行标注,例如,可以按照三角形、立方体、星型、直线、棋盘格、多边形六个类别的图像对每个透视图标注关键点,上述图像类型仅作为示例,本领域技术人员可以根据本公开的实施例采用其他的类别。其中,在透视图中标注的关键点可以是图形中的角点或定点、线段的交叉点或端或诸如此类的点。在对透视图标注了关键点后,再将标注了关键点的六个透视图合成为带标注的全景图像(即合成全景图像)。
在步骤S805,使用合成全景图像作为训练数据来训练基于深度学习的神经网络。
如上所述,在步骤S804合成了已经标注了关键点的合成全景图像,这些全景图像能够作为基于深度学习的神经网络的训练数据,使得该神经网络被训练为能够检测不同类别图像的关键点,从而作为关键点检测的模型。
此外,根据本公开的实施例,经上述方法训练的神经网络可以用于在上述步骤S103中在目标全景图像中检测作为关键点的第一像素集,并且使用标记了关键点的目标全景图像作为该神经网络的训练样本,以此方式,通过将同一场景的不同视角或距离之间的互信息最大化作为机器学习的目标,可以使模型能够学习到跨视角不变的特征,从而实现更好的深度学习效果,在模型的实际应用场景中发挥良好的作用。
此外,根据本公开实施例的神经网络的下游任务也可以是基于目标图像数据所进行的语义分割、目标检测等各种实际应用场景,并不限于上述的关键点检测。
回到图1的流程中,在目标全景图像中检测作为关键点的第一像素集后,流程进到步骤S104。
在步骤S104,通过(S102处生成的)查找表,将在目标全景图像中检测的第一像素集映射回源全景图像,以获得该源全景图像中作为关键点的第二像素集。
如上所述,所生成的查找表指示了源全景图像中的像素与目标全景图像中的像素之间的映射关系,因此通过查找表可以将目标全景图像中作为关键点的像素(即第一像素集)与源全景图像中的相应像素进行映射,而在源全景图像中被映射的像素(即第二像素集)将作为该源全景图像的关键点。
此外,对于在步骤S102生成多个目标全景图像的情形(例如,图7所示的情形),由于多个目标全景图像中作为关键点的像素都会被映射回源全景图像中,可能造成标注了大量重复的冗余关键点,导致计算量的增加和准确性的降低。因此,对于这种情形,根据本公开的一个优选实施例,图像处理方法还可以包括去除冗余关键点的处理,例如,可以通过基于非极大值抑制(Non-Maximum Suppression)的方法,从针对源全景图像中的同一个像素所映射的多个关键点中保留具有最高(较高)置信度的一个(若干个)关键点,从而去除了在局部区域内重复的冗余关键点。图10示出了移除冗余关键点前后的全景图像的示意图。如图10所示,在全景图像1001中存在大量重复的冗余关键点,而在经过去除冗余关键点的处理后,获得了具有精简后的关键点的全景图像1002,以此方式,能够进一步提高关键点检测的准确性并提供整体图像处理的效率。
至此,通过上述步骤,根据本公开实施例的图像处理方法能够自动地对源全景图像和所生成的目标全景图像两者进行关键点的检测。
由此可见,通过根据本公开的上述实施例的图像处理方法,通过模拟相机运动的方式来生成目标图像,并且通过执行关键点检测,能够在源图像和目标图像两者全景图像上自动地对关键点进行标注,省去了人工标注的工作量并且提高了关键点检测的准确性,显著提高了图像处理的效率。此外,通过上述方法还能够解决全景图像失真导致的关键点匹配错误或不准确问题,进一步提高了在全景图像中的关键点检测的准确性。
此外,根据本公开的上述实施例的图像处理方法并不限于上述的关键点检测还可以用于诸如语义分割、目标检测、平面图生成、模型重建或VR/AR等各种实际应用场景。
接下来,将参照图11来描述根据本公开实施例的图像处理装置的示例。
图11示出了根据本公开实施例的图像处理装置1100的框图。如图11所示,图像处理装置1100包括:接收单元1110、变换单元1120和检测单元1130。应理解,所示结构只是示例性的,而非限制性的,并且除了这些单元以外,图像处理装置1100还可以包括其他部件,然而,由于这些部件与本发明实施例的内容无关,因此本文中省略其图示和描述。
此外,由于根据本公开实施例的图像处理装置1100执行的下述操作的具体细节与在上文中参照图1至图10描述的细节大致相似,因此,本文出于简洁的目的而省略对相同细节的部分描述。下文将逐一介绍图像处理装置1100中的各个模块或部件。
接收单元1110,配置为接收源全景图像。该接收单元1110执行的具体处理可以与上文结合图1描述的步骤S101的相应内容一致。
具体而言,根据本发明的实施例,该接收单元1110可以是诸如手机、照相机、摄像机等图像捕获设备或是这种设备中用于捕获图像的部件,或者可以是用于从这样的图像捕获设备或部件接收捕获图像的设备。此外,接收单元1110可以与图像处理装置1100中的其他模块是物理上分离的部件,并且可以经由有线或者无线方式由该接收单元1110将捕获图像传输给图像处理装置1100中的其他模块。替代地,接收单元1110还可以与图像处理装置1100中的其他模块集成在同一部件中或位于同一系统内部,图像处理装置1100中的其他模块或组件经由内部总线接收由接收单元1110获取的图像。
变换单元1120,配置为基于空间变换参数对源全景图像进行变换,以生成一个或多个目标全景图像和查找表,其中,该查找表指示源全景图像中的像素与目标全景图像中的像素之间的映射关系。该变换单元1120执行的具体处理可以与上文结合图1描述的步骤S102的相应内容一致。
具体而言,根据本发明的实施例,该变换单元1120将基于空间变换参数对由接收单元1110所获得的源全景图像进行变换,以生成一个或多个目标全景图像和查找表。此外,根据本发明的优选实施例,该变换单元1120还可以实施上文结合图2-6描述的用于对源全景图像进行变换的步骤S201-S206以及相应的实施例。
检测单元1130,配置为在目标全景图像中检测作为关键点的第一像素集,并且将在目标全景图像中检测的第一像素集通过查找表映射回源全景图像,以获得源全景图像中作为关键点的第二像素集。该变换单元1120执行的具体处理可以与上文结合图1描述的步骤S103-S104的相应内容一致。
具体而言,根据本发明的实施例,该检测单元1130在由变换单元1110所生成的目标全景图像中检测作为关键点的第一像素集,并通过由变换单元1110所生成的查找表将检测的第一像素集映射回由接收单元1110所获得的源全景图像,以获得该源全景图像中作为关键点的第二像素集。此外,根据本发明的优选实施例,该检测单元1130还可以实施上文结合图8、9描述的用于训练神经网络的步骤S801-S805以及相应的实施例。
接下来,将参照图12来描述根据本公开实施例的图像处理装置的另一示例。
图12示出了根据本公开实施例的图像处理装置1200的框图。如图12所示,图像处理装置1200包括:处理器1210和存储器1220。其中,该图像处理装置1200可以是计算机或服务器。应理解,所示结构只是示例性的,而非限制性的,并且除了这些单元以外,图像处理装置1200还可以包括其他部件,然而,由于这些部件与本发明实施例的内容无关,因此本文中省略其图示和描述。
此外,由于根据本公开实施例的图像处理装置1200执行的下述操作的具体细节与在上文中参照图1至图10描述的细节大致相似,因此,本文出于简洁的目的而省略对相同细节的部分描述。下文将逐一介绍图像处理装置1200中的各个模块或部件。
处理器1210可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以利用存储器1220中所存储的计算机程序指令以执行期望的功能,其中,在计算机程序指令被处理器1210运行时,执行以下步骤:获得源全景图像;基于空间变换参数对源全景图像进行变换,以生成一个或多个目标全景图像和查找表,其中,该查找表指示源全景图像中的像素与目标全景图像中的像素之间的映射关系;在目标全景图像中检测作为关键点的第一像素集;以及将在目标全景图像中检测的第一像素集通过查找表映射回源全景图像,以获得源全景图像中作为关键点的第二像素集。
存储器1220可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如,易失性存储器和/或非易失性存储器。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,使得处理器1210可以运行所述程序指令,以实现上文所述的本发明的实施例的图像处理装置的功能和/或其它期望的功能,并且/或者可以执行根据本发明实施例的图像处理方法。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据。
接下来,将描述根据本发明实施例的计算机可读存储介质。本发明还提供一种计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现以下步骤:获得源全景图像;基于空间变换参数对源全景图像进行变换,以生成一个或多个目标全景图像和查找表,其中,该查找表指示源全景图像中的像素与目标全景图像中的像素之间的映射关系;在目标全景图像中检测作为关键点的第一像素集;以及将在目标全景图像中检测的第一像素集通过查找表映射回源全景图像,以获得源全景图像中作为关键点的第二像素集。
根据本公开实施例的处理器执行的上述步骤与上文结合图1-10描述的个实施例的相应内容一致。
此外,应理解,上述图像处理装置中的各部件或模块均可以由硬件实现,也可以由软件实现,并且还可以由硬件和软件的结合来实现。
上述各实施例仅是示例性的而非限制,且本领域技术人员可以根据本公开的构思从上述分开描述的各个实施例中合并和组合一些步骤和装置来实现本公开的效果,这种合并和组合而成的实施例也被包括在本公开中,在此不逐一描述这种合并和组合。注意,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述发明的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本公开中涉及的模块、装置、设备、系统的方框图仅作为例示性的例子并且不希望要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些模块、装置、设备、系统。另外,诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
本公开中的步骤流程图以及以上方法描述仅作为例示性的例子并且不希望要求或暗示必须按照给出的顺序进行各个实施例的步骤。如本领域技术人员将认识到的,可以按任意顺序进行以上实施例中的步骤的顺序。诸如“其后”、“然后”、“接下来”等等的词语不希望限制步骤的顺序;这些词语仅用于引导读者通读这些方法的描述。此外,例如使用冠词“一个”、“一”或者“该”、“所述”对于单数的要素的任何引用不被解释为将该要素限制为单数。
另外,本文中的各个实施例中的步骤和装置并非仅限定于某个实施例中实行,事实上,可以根据本公开的概念来结合本文中的各个实施例中相关的部分步骤和部分装置以构思新的实施例,而这些新的实施例也包括在本公开的范围内。并且,本文公开的方法和功能包括用于实现所述的方法的一个或多个动作。方法和/或动作可以彼此互换而不脱离权利要求的范围。换句话说,除非指定了动作的具体顺序,否则可以修改具体动作的顺序和/或使用而不脱离权利要求的范围。
以上所述的方法的各个操作可以通过能够进行相应的功能的任何适当的手段而进行。该手段可以包括各种硬件和/或软件组件和/或模块,包括但不限于电路、专用集成电路(ASIC)或处理器。可以利用被设计用于进行在此所述的功能的通用处理器、数字信号处理器(DSP)、ASIC、现场可编程门阵列信号(FPGA)或其他可编程逻辑器件(PLD)、离散门或晶体管逻辑、离散的硬件组件或者其任意组合而实现或进行所述的各个例示的逻辑块、模块和电路。通用处理器可以是微处理器,但是作为替换,该处理器可以是任何商业上可获得的处理器、控制器、微控制器或状态机。处理器还可以实现为计算设备的组合,例如DSP和微处理器的组合,多个微处理器、与DSP核协作的一个或多个微处理器或任何其他这样的配置。
结合本公开描述的方法或算法的步骤可以直接嵌入在硬件中、处理器执行的软件模块中或者这两种的组合中。软件模块可以存在于任何形式的有形存储介质中。可以使用的存储介质的一些例子包括随机存取存储器(RAM)、只读存储器(ROM)、快闪(Flash)存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM等。存储介质可以耦接到处理器以便该处理器可以从该存储介质读取信息以及向该存储介质写信息。在替换方式中,存储介质可以与处理器是整体的。软件模块可以是单个指令或者许多指令,并且可以分布在几个不同的代码段上、不同的程序之间以及跨过多个存储介质。
因此,计算机程序产品可以进行在此给出的操作。例如,这样的计算机程序产品可以是具有有形存储(和/或编码)在其上的指令的计算机可读的有形介质,该指令可由一个或多个处理器执行以进行在此所述的操作。计算机程序产品可以包括包装的材料。软件或指令也可以通过传输介质而传输。例如,可以使用诸如同轴电缆、光纤光缆、双绞线、数字订户线(DSL)或诸如红外、无线电或微波的无线技术的传输介质从网站、服务器或者其他远程源传输软件。
此外,用于进行在此所述的方法和技术的模块和/或其他适当的手段可以在适当时由用户终端和/或基站下载和/或其他方式获得。例如,这样的设备可以耦接到服务器以促进用于进行在此所述的方法的手段的传送。或者,在此所述的各种方法可以经由存储部件(例如RAM、ROM、诸如CD或软盘等的物理存储介质)提供,以便用户终端和/或基站可以在耦接到该设备或者向该设备提供存储部件时获得各种方法。此外,可以利用用于将在此所述的方法和技术提供给设备的任何其他适当的技术。
其他例子和实现方式在本公开和所附权利要求的范围和精神内。例如,由于软件的本质,以上所述的功能可以使用由处理器、硬件、固件、硬连线或这些的任意的组合执行的软件实现。实现功能的特征也可以物理地位于各个位置,包括被分发以便功能的部分在不同的物理位置处实现。而且,如在此使用的,包括在权利要求中使用的,在以“至少一个”开始的项的列举中使用的“或”指示分离的列举,以便例如“A、B或C的至少一个”的列举意味着A或B或C,或AB或AC或BC,或ABC(即A和B和C)。此外,措辞“示例的”不意味着描述的例子是优选的或者比其他例子更好。
可以不脱离由所附权利要求定义的教导的技术而进行对在此所述的技术的各种改变、替换和更改。此外,本公开的权利要求的范围不限于以上所述的处理、机器、制造、事件的组成、手段、方法和动作的具体方面。可以利用与在此所述的相应方面进行基本相同的功能或者实现基本相同的结果的当前存在的或者稍后要开发的处理、机器、制造、事件的组成、手段、方法或动作。因而,所附权利要求包括在其范围内的这样的处理、机器、制造、事件的组成、手段、方法或动作。
提供所发明的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不应被限制到在此示出的方面,而是按照与在此发明的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。并且,此描述不应将本公开的实施例限制到在此发明的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

Claims (11)

1.一种用于在全景图像中检测关键点的方法,包括:
获得源全景图像;
基于空间变换参数对所述源全景图像进行变换,以生成一个或多个目标全景图像和查找表,其中,所述查找表指示所述源全景图像中的像素与所述目标全景图像中的像素之间的映射关系;
在所述目标全景图像中检测作为关键点的第一像素集;以及
将在所述目标全景图像中检测的所述第一像素集通过所述查找表映射回所述源全景图像,以获得所述源全景图像中作为关键点的第二像素集。
2.如权利要求1所述的方法,其中,所述基于空间变换参数对所述源全景图像进行变换来生成一个或多个目标全景图像和查找表包括:
基于所述源全景图像生成二维坐标网格,其中,所述二维坐标网格具有与所述源全景图像相同的尺寸,并且包括所述源全景图像中的每个像素的坐标;
将所述二维坐标网格转换到三维球坐标系中,以生成与所述源全景图像相关联的三维球面;
基于所述空间变换参数对所述三维球面进行变换;
对经变换后的三维球面进行标准化处理,以生成与所述源全景图像相关联的单位球面;
将所述单位球面转换到二维坐标系中,以生成所述查找表;以及
将所述源全景图像中的每个像素通过所述查找表进行映射,以生成所述目标全景图像。
3.如权利要求2所述的方法,其中,所述基于所述空间变换参数对所述三维球面进行变换包括:
沿所述三维球坐标系中的至少一个轴以第一数值对与所述源全景图像相关联的所述三维球面进行平移;和/或
绕所述三维球坐标系中的至少一个轴以第二数值对与所述源全景图像相关联的所述三维球面进行旋转,
其中,所述第一数值和第二数值由所述空间变换参数确定。
4.如权利要求2所述的方法,其中,所述三维球坐标系具有x,y,z三个坐标轴,以及所述经变换后的三维球面中的点的三维坐标值表示为(x,y,z),以及
其中,所述对所述经变换后的三维球面进行标准化处理包括:
使所述经变换后的三维球面中的每个点的三维坐标值满足x2+y2+z2=1。
5.如权利要求1所述的方法,其中,所述在所述目标全景图像中检测作为关键点的第一像素集包括:
使用基于深度学习的神经网络来检测所述目标全景图像中作为关键点的第一像素集。
6.如权利要求5所述的方法,其中,所述基于深度学习的神经网络通过以下处理进行训练,所述处理包括:
输入样本全景图像;
生成基于所述样本全景图像的立方体,以获得作为所述立方体的面的六个透视图;
在所述六个透视图中的每个中标注作为关键点的像素;
将标注了关键点的所述六个透视图合成为标注了关键点的合成全景图像;以及
使用所述合成全景图像作为训练数据来训练所述基于深度学习的神经网络。
7.如权利要求1所述的方法,其中,对于生成多个目标全景图像的情形,还包括:
将在所述多个目标全景图像中的每个目标全景图像中检测的关键点映射回所述源全景图像;以及
从所述源全景图像中所映射的关键点中去除重复的冗余关键点,以获得所述源全景图像中作为关键点的所述第二像素集。
8.一种用于创建训练基于深度学习的神经网络的样本的方法,所述神经网络用于在全景图像中检测关键点,所述方法包括:
通过权利要求1-7中任一项所述的方法,获得标注了关键点的多个全景图像;以及
使用所述标注了关键点的多个全景图像作为训练所述神经网络的样本全景图像。
9.一种图像处理装置,包括:
接收单元,配置为接收源全景图像;
变换单元,配置为基于空间变换参数对所述源全景图像进行变换,以生成一个或多个目标全景图像和查找表,其中,所述查找表指示所述源全景图像中的像素与所述目标全景图像中的像素之间的映射关系;以及
检测单元,配置为在所述目标全景图像中检测作为关键点的第一像素集,并且将在所述目标全景图像中检测的所述第一像素集通过所述查找表映射回所述源全景图像,以获得所述源全景图像中作为关键点的第二像素集。
10.一种图像处理装置,包括:
处理器;
和存储器,在所述存储器中存储有计算机程序指令,
其中,在所述计算机程序指令被所述处理器运行时,使得所述处理器执行以下步骤:
获得源全景图像;
基于空间变换参数对所述源全景图像进行变换,以生成一个或多个目标全景图像和查找表,其中,所述查找表指示所述源全景图像中的像素与所述目标全景图像中的像素之间的映射关系;
在所述目标全景图像中检测作为关键点的第一像素集;以及
将在所述目标全景图像中检测的所述第一像素集通过所述查找表映射回所述源全景图像,以获得所述源全景图像中作为关键点的第二像素集。
11.一种计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现以下步骤:
获得源全景图像;
基于空间变换参数对所述源全景图像进行变换,以生成一个或多个目标全景图像和查找表,其中,所述查找表指示所述源全景图像中的像素与所述目标全景图像中的像素之间的映射关系;
在所述目标全景图像中检测作为关键点的第一像素集;以及
将在所述目标全景图像中检测的所述第一像素集通过所述查找表映射回所述源全景图像,以获得所述源全景图像中作为关键点的第二像素集。
CN202211293818.8A 2022-10-21 2022-10-21 图像处理方法、装置和计算机可读存储介质 Pending CN117917684A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211293818.8A CN117917684A (zh) 2022-10-21 2022-10-21 图像处理方法、装置和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211293818.8A CN117917684A (zh) 2022-10-21 2022-10-21 图像处理方法、装置和计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN117917684A true CN117917684A (zh) 2024-04-23

Family

ID=90729713

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211293818.8A Pending CN117917684A (zh) 2022-10-21 2022-10-21 图像处理方法、装置和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN117917684A (zh)

Similar Documents

Publication Publication Date Title
Fernandez-Labrador et al. Corners for layout: End-to-end layout recovery from 360 images
JP5822322B2 (ja) ローカライズされ、セグメンテーションされた画像のネットワークキャプチャ及び3dディスプレイ
CN110675314B (zh) 图像处理和三维对象建模方法与设备、图像处理装置及介质
US10373380B2 (en) 3-dimensional scene analysis for augmented reality operations
US11051000B2 (en) Method for calibrating cameras with non-overlapping views
TWI485650B (zh) 用於多相機校準之方法及配置
EP2711670B1 (en) Visual localisation
Concha et al. Using superpixels in monocular SLAM
WO2019011249A1 (zh) 一种图像中物体姿态的确定方法、装置、设备及存储介质
Germann et al. Articulated billboards for video‐based rendering
US20200057778A1 (en) Depth image pose search with a bootstrapped-created database
Irschara et al. Large-scale, dense city reconstruction from user-contributed photos
Koch et al. Comparison of monocular depth estimation methods using geometrically relevant metrics on the IBims-1 dataset
CN113570725A (zh) 基于聚类的三维表面重建方法、装置、服务器及存储介质
CN111179271A (zh) 一种基于检索匹配的物体角度信息标注方法及电子设备
Price et al. Augmenting crowd-sourced 3d reconstructions using semantic detections
Heisterklaus et al. Image-based pose estimation using a compact 3d model
CN117917684A (zh) 图像处理方法、装置和计算机可读存储介质
KR20160049639A (ko) 부분 선형화 기반의 3차원 영상 정합 방법
Wang et al. Multi-surface hydraulic valve block technique hole plug inspection from monocular image
CN113870190A (zh) 竖直线条检测方法、装置、设备及存储介质
Zhuo et al. Stereo matching approach using zooming images
Lyra et al. Development of an efficient 3D reconstruction solution from permissive open-source code
Al-Nuaimi et al. Towards location recognition using range images
Pramod et al. Techniques in Virtual Reality

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