在全景图像中识别地标的方法、设备及存储介质
技术领域
本公开涉及图像处理,更具体地,涉及用于在全景图像中识别地标的方法、设备及存储介质。
背景技术
近年来,全景技术在图像处理中得到了广泛的应用,全景图像通过广角的表现手段以及绘画、相片、视频、三维模型等形式可以尽可能丰富地表现出拍摄者周围的环境。用户拍摄的全景图像可能包含各种地标,诸如景点、饭店和雕塑等,通过对其中的地标进行识别和标注,可给予用户真实的现场感和交互式的感受。
现有的地标识别模型大多是针对普通图像的,其对于普通图像的识别效果较好,然而由于全景图像中存在畸变效果,现有模型对其进行地标识别时会产生较大误差。因此,目前对全景图像中的地标识别的方法往往依赖于人工判断,即通过人工将拍摄的全景图像与数据库中的大量已知地标进行肉眼比对,其识别效率及准确度相对较低。
因此,需要一种自动识别全景图像中的地标并且能够应对全景图像中的畸变效果的地标识别技术。
发明内容
根据本公开的一个方面,提供了一种在全景图像中识别地标的方法,包括:对全景图像进行投影变换以生成投影图像;对所述投影图像进行语义分割以确定地标区域和路面区域;校正所述地标区域中的畸变以生成经校正的地标区域;以及在所述经校正的地标区域中识别地标。
根据本公开的另一方面,提供了一种在全景图像中识别地标的设备,包括:处理器;以及存储器,存储有计算机程序指令,其中,在所述计算机程序指令被所述处理器运行时,使得所述处理器执行以下步骤:对全景图像进行投影变换以生成投影图像;对所述投影图像进行语义分割以确定地标区域和路面区域;校正所述地标区域中的畸变以生成经校正的地标区域;以及在所述经校正的地标区域中识别地标。
根据本公开的又一方面,提供了一种在全景图像中识别地标的设备,包括:投影变换单元,配置为对全景图像进行投影变换以生成投影图像;图像分割单元,配置为对所述投影图像进行语义分割以确定地标区域和路面区域;畸变校正单元,配置为校正所述地标区域中的畸变以生成经校正的地标区域;以及地标识别单元,配置为在所述经校正的地标区域中识别地标。
根据本公开的再一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令在被执行时实现以下步骤:对全景图像进行投影变换以生成投影图像;对所述投影图像进行语义分割以确定地标区域和路面区域;校正所述地标区域中的畸变以生成经校正的地标区域;以及在所述经校正的地标区域中识别地标。
附图说明
从下面结合附图对本公开实施例的详细描述中,本公开的这些和/或其它方面和优点将变得更加清楚并更容易理解,其中:
图1示出了可应用本公开实施例的在全景图像中识别地标的技术的示意性场景。
图2示出了根据本公开实施例的在全景图像中识别地标的方法的流程图。
图3示出了小行星投影变换的原理示意图。
图4示出了采用不同的投影视角对全景图像进行投影变换的示意图。
图5示出了根据本公开实施例的在全景图像中识别地标的方法中对投影图像进行语义分割的示例性方法。
图6示出了根据本公开实施例的在全景图像中识别地标的方法中对投影图像进行语义分割的示意图。
图7示出了根据本公开实施例的在全景图像中识别地标的方法中校正地标区域中的畸变的示例性方法。
图8示出了根据本公开实施例的在全景图像中识别地标的方法中校正地标区域中的畸变的示意图。
图9示出了根据本公开实施例的在全景图像中识别地标的方法中校正地标区域中的畸变后的结果示意图。
图10示出了根据本公开实施例的在全景图像中识别地标的方法中在经校正的地标区域中识别地标的示例性方法。
图11示出了根据本公开实施例的在全景图像中识别地标的方法中从已知地标图像中确定候选地标图像的示意图。
图12示出了根据本公开实施例的在全景图像中识别地标的方法中在地标区域和候选地标图像中提取特征并进行匹配的示意图。
图13示出了根据本公开实施例的在全景图像中识别地标的设备的示意性硬件框图。
图14示出了根据本公开实施例的在全景图像中识别地标的设备的示意性结构框图。
具体实施方式
首先参照图1来描述可应用本公开实施例的在全景图像中识别地标的技术的示意性场景。如图1中的左图中所示,用户可以利用全景相机拍摄街景,该街景中包含路面、车辆等各种路面物体以及诸如楼宇建筑物之类的地标,对街景中的地标进行识别和标注可以丰富所拍摄的内容。例如,可以检测街景中的地标并识别出所拍摄全景图像中的建筑物地标“北京饭店”,并且如图1中的右图所示,对所识别出的地标进行标注,由此增强趣味性以及与用户之间的互动性。然而,如前所述,由于全景图像中存在畸变效果,已有的识别方法会产生较大的误差。因此,目前对全景图像中的地标识别的方法大多还是依赖于人工判断,其识别效率及准确度相对较低。
有鉴于此,为了能够自动识别全景图像中的地标而不会受到全景图像中的畸变的影响,本申请中提出了基于图像语义分割和畸变消除的全景图像地标识别技术,通过对全景图像进行投影变换并进行语义分割,从投影图像中分割出路面区域以及地标区域,并且对地标区域进行消除畸变的校正处理,进而在消除畸变后的地标区域内进行识别,从而提高全景图像中的地标识别的效率和准确度。
此处以及下文中为了便于说明,以通过拍摄街景得到的全景图像为例描述了在全景图像中识别地标的技术,然而,这仅仅是一种示例而并非是对本公开的限制,本公开的地标识别技术具有广泛的应用场景,例如,其可以应用于全景漫游、机器人全景视觉、沉浸式健身场所等各种场景中。以下结合附图和示例,详细介绍本公开在全景图像中识别地标的方法和设备。
地标识别方法
图2示出了根据本公开实施例的在全景图像中识别地标的方法的流程图。在本公开的实施例中,全景图像和全景视频可以互换使用,本公开的地标识别方法可以应用于用户所拍摄的一张全景图像或一段全景视频中的一个或多个帧以在其中识别地标。另外,在本公开的实施例中,地标是指路面区域之外具有标志性特点的建筑物或物体,诸如旅游景点、饭店、影剧院、雕塑等。以下结合图2详细描述在全景图像中识别地标的方法。
如图2所示,在步骤S101,对全景图像进行投影变换以生成投影图像。在本公开实施例中,可以采用各种投影方式对全景图像进行投影变换,例如,等距柱状投影、立方体贴图投影、鱼眼投影、圆柱投影、小行星投影等。为了便于描述,在下文中将以投影变换是小行星投影方式为例进行描述。
图3示出了小行星投影变换的原理示意图。对全景图像进行小行星投影变换主要包括以下步骤:首先,将全景图像按照经纬展开法贴到球面上,以图3中所示的水平线和垂直线为例,将实际场景中的水平线对应贴到纬度线上,将实际场景中的垂直线对应贴到经度线上。然后,从投影点按照一定的投影视角(FOV)将球面上的坐标投影到投影平面中的一个圆内,从而得到投影图像。小行星投影的具体变换方式是本领域公知的,在此不予赘述。
发明人注意到,在对全景图像进行小行星投影变换时,通过选择不同的投影点和投影视角进行投影变换对于后续的地标识别准确度会产生影响,例如图3中所示的投影点距离越远(相对于南极点或北极点所在的投影平面),投影视角越大,则相应投影图像中的天空像素比例范围越大,从而保证地标所在区域空间较大,以便更准确和充分提取与地标相关的特征。图4示出了采用同一投影点但采用不同的投影视角对一张全景图像进行投影变换的示意图。如图4中左侧所示为拍摄的全景图像,右侧的两个图像为均以北极点作为投影点并投影到与球面相切于南极点投影中心的投影平面、但分别采用不同的投影视角进行投影后得到的投影图像。图4右侧第一个投影图像中地标有效面积较小,因此提取到的与地标相关的特征可能不够准确。与之相对,图4右侧第二个投影图像中地标区域所在空间相对较大,从而能够较为准确和充分地提取与地标相关的特征,有利于后续的地标识别。在本公开实施例中,可选的,根据天空像素在投影图像中的比例,来确定投影变换的投影点和投影视角。例如,对于不同的投影点和投影视角,可以观察所得到投影图像中天空像素所占的比例,从而确定合适的投影点和投影视角,以使得路面区域较小而地标所在区域空间较大,从而更准确和充分提取与地标相关的特征。例如,可以选择投影变换的投影点和投影视角以使得天空像素在整幅投影图像中的比例大于例如50%。
返回图2,在步骤S102,对所述投影图像进行语义分割以确定地标区域和路面区域。如上所述,全景图像中可能包含各种物体,诸如路面上的车辆和标记以及路面之外的各种建筑物地标。为了准确地识别出地标,一种可能的方式是尽可能地减少路面物体对检测结果的影响,因此需要确定地标区域和路面区域。在本公开实施例中,采用语义分割对投影图像进行视觉处理,基于投影图像中各视觉元素的高级语义特性更深入地理解其真实场景中的意义,进行精确且高效的分割。下面以小行星投影变换后得到的投影图像为例,结合图5和图6对其进行详细描述。
图5示出了根据本公开实施例的在全景图像中识别地标的方法中对投影图像进行语义分割的示例性方法。如图5所示,在步骤S1021,在所述投影图像中检测圆弧和射线。根据如上所述的小行星投影变换的原理可知,投影图像中的圆弧代表实际图像中的水平线,而投影图像中的射线代表实际图像中的垂直线。因此,寻找实际场景中可能代表地标轮廓的水平线和垂直线的任务就等价于在投影图像中寻找圆弧和射线。可以采用传统的计算机视觉处理方法和深度学习方法等,在投影图像中检测圆弧和射线,本公开对此不进行限制。
在步骤S1022,基于圆弧和射线的语义特性对检测到的圆弧和射线进行过滤,并基于过滤后的圆弧和射线在所述投影图像中确定地标区域和路面区域。由于诸如路面区域中的车道线、路基等在投影图像中也会表现为圆弧和射线,因此步骤S1021中检测到的圆弧和射线中可能包含并非对应地标区域的噪声圆弧和射线,其可能会对后续的地标识别结果产生干扰,因此需要基于圆弧和射线所代表的语义特性对其进行过滤并进行语义分割。在该步骤中,作为示例,可以基于圆弧和射线的语义特性,滤除未以投影中心为圆心的圆弧和未从投影中心射出的射线。
如前所述,实际场景中的水平线对应投影图像中的圆弧而实际场景中的垂直线对应于投影图像中的射线,因此对于路面区域外的地标而言,其水平线所对应的圆弧应该以投影平面的投影中心为圆心,并且其垂直线所对应的射线应当从投影平面的该投影中心射出(即,射线的延长线应当经过投影中心)。根据此原理,可以滤除未以投影中心为圆心的圆弧,并且滤除未从投影中心射出的射线。为了便于理解,以下将结合图6,对上述滤除处理的示例进行说明。
图6的左图中示出了检测到的圆弧和射线的示例,为了清晰起见,仅示出了检测到的射线和圆弧的一部分。在图6的左图中示出了投影中心,可以对检测到的射线进行延长以判断其是否经过投影中心从而判断该射线是否从投影中心射出,并且判断检测到的圆弧是否为以该投影中心为圆心的圆的一部分,据此滤除未以投影中心为圆心的圆弧和未从投影中心射出的射线。例如,图6的中间附图示出了上述滤除处理的示例性结果,其中以虚线圆弧表示出未以投影中心为圆心而被过滤掉的圆弧。
除了上述基于圆弧和射线是否共享同一投影中心进行过滤之外,本公开实施例中还可以采用其他的过滤规则,以便基于检测到的射线和圆弧的语义特性滤除不合适的圆弧和射线。例如,可选的,可以滤除掉半径小于某一阈值的圆弧。如图6的左图所示,根据两条检测到的射线在投影图像上的实际起点(而非上述延长后的起点),可以确定对应于地标的具有最小半径阈值的圆弧,由于半径小于该阈值的圆弧不太可能对应于地标区域而是属于路面区域,可以据此过滤掉半径小于该阈值的圆弧。在又一示例中,考虑到代表道路的圆弧会与相邻的圆弧首尾相接以构成闭合区域,而诸如路基和人行道等所对应的噪声圆弧通常在投影图像中表现为不具有相邻圆弧的孤立圆弧因而无法构成闭合区域,可以据此过滤掉投影图像中的孤立圆弧。需要说明的是,本公开实施例中可以同时或者按次序采用上述过滤规则中的一个或多个,以便基于圆弧和射线的语义特性滤除掉并非对应于地标区域的噪声圆弧和射线,从而减少路面区域对于地标检测准确度的影响。
接下来,可以基于过滤后的圆弧和射线进行路面区域和地标区域的分割。具体地,可以将过滤后的圆弧构成的闭合区域确定为路面区域,并将过滤后的射线和圆弧在所述闭合区域外构成的扇形区域确定为地标区域。例如,如图6的右图所示,可以将过滤后的各相邻圆弧首尾相接构成的闭合区域确定为路面区域,并将过滤后的圆弧和射线在该闭合区域外构成的扇形区域确定为地标区域,比如将两条射线、由射线实际起点确定的最小半径圆弧以及由射线终点确定的最大半径圆弧构成的扇形区域确定为地标区域。
返回图2,在步骤S103,校正所述地标区域中的畸变以生成经校正的地标区域。如上所述,全景图像中存在畸变效果导致地标识别的误差较大,本公开实施例中对语义分割后得到的地标区域进行畸变消除的校正处理,从而避免因全景畸变影响地标识别的准确度。下面以小行星投影变换后经语义分割后得到的地标区域为例,结合图7-图9对该校正处理进行详细描述。
图7示出了根据本公开实施例的在全景图像中识别地标的方法中校正地标区域中的畸变的示例性方法。
如图7所示,在步骤S1031,将所述地标区域内的各圆弧上的像素点投影到相应的直线上。如上所述,投影图像中的圆弧即对应于实际场景中的直线,因此该步骤S1031中将地标区域内的各圆弧上的像素点均投影到相应的直线上,从而消除小行星投影方式所引入的畸变。例如,如图8中所示,可以对于确定的地标区域中的每条圆弧,将圆弧上的像素点投影到相应的一条直线上,从而从扇形的地标区域生成梯形的地标区域。
在步骤S1032,对投影到各直线上的像素点进行数据压缩,以生成所述经校正的地标区域。具体地,如图8中所示的扇形的地标区域内的每一条圆弧以及梯形的地标区域内的每一条对应的直线在实际场景中均对应于同一地标的相同长度,基于此原理,可以对步骤S1031中得到的梯形区域内的各条直线进行数据压缩,以使得各条直线上的像素点的数量相同。例如,如图8中所示,可以将一直线上某一线段的6个像素点压缩为2个数据点,以保证经数据压缩后的各条直线均包含相同数量的数据点,从而可以得到经校正后的矩形的地标区域。图9中示出了采用如图7所示的示例方法对全景图像中的一个地标进行畸变校正处理后生成经校正的地标区域的结果示意图,可以看出,经校正的地标区域中所包含的地标已基本上消除了畸变效果。
以上以小行星投影方式为例,对全景图像进行投影变换后进行语义分割和校正的处理进行了描述,可以看出,经过小行星投影变换后,路面区域集中于投影平面内的投影中心的附近,因此基于语义特性可以将路面区域和地标区域分隔开,并且通过圆弧和射线过滤规则可以消除路面区域对地标识别结果的影响,从而可以改善地标识别的准确性。对于其他的投影方式而言,可以类似地基于投影图像中的其他图像元素结合其几何特性进行语义分割处理和校正处理,从而基于高层次的语义特性确定消除畸变后的地标区域。本公开实施例对投影变换方式和具体的校正处理方法不做限制。
返回图2,在步骤S104,在所述经校正的地标区域中识别地标。在该步骤中,可以在消除了畸变效果后的地标区域内进行地标检测,从预先建立的数据库中的已知地标当中确定与该检测到的地标最为匹配的地标。可以采用各种已知模型和方法进行上述地标检测和匹配处理,以识别出地标,本公开对此不做限制。作为一种示例,本公开实施例中采用在经校正地标区域内的粗略地标检测和精确地标检测两个阶段的处理来进行地标识别。具体的,预先建立的数据库中包含大量的已知地标图像,对于每个地标,均具有与之相对应的但是背景环境、拍摄视角、光照条件等具有较大差异的多个已知图像,因此在大量的已知地标图像中搜索与所拍摄到的地标相应的图像对于计算机处理能力是一项巨大挑战。上述两阶段处理的地标识别方式可以有效节省从已知地标中进行搜索时的计算资源。下面结合图10-图12详细描述在所述经校正的地标区域中识别地标的示例性方法。
图10示出了根据本公开实施例的在全景图像中识别地标的方法中在经校正的地标区域中识别地标的示例性方法。如图10所示,在步骤S1041,根据多个已知地标图像与所述经校正的地标区域的相似度进行粗略地标检测,以从所述多个已知地标图像中确定候选地标图像。该步骤中,可以采用传统的计算机视觉处理方法和深度学习方法进行地标检测,例如通过比较经校正的地标区域与已知地标图像的相似度或者基于经训练的神经网络对经校正的地标区域的分类器输出,确定所述经校正的地标区域是否存在可能的地标,并从大量已知的地标图像中确定与消除全景畸变后的地标区域较为相似的一个或多个候选地标图像。作为一种示例,可以基于预先建立的并且包含大量已知地标图像的数据库,利用经训练的Faster RCNN模型检测经校正的地标区域,根据该模型的分类器结果判断该地标区域中是否包含地标,并从该数据库中粗略确定一个或多个候选地标图像。
图11中示出了根据本公开实施例的在全景图像中识别地标的方法中从已知地标图像中确定候选地标图像的示例的示意图。在该示例中,将经校正的地标区域与多个已知地标图像作为经训练的Faster RCNN模型的输入,通过模型对该经校正的地标区域进行分类,可以从多个已知地标图像中确定可能对应于全景图像中所拍摄到的地标的候选地标图像。可选的,由于经校正的地标区域可能包含一部分背景环境,诸如天空、云朵等背景,并且经校正的地标区域和数据库中已知地标图像的背景环境、拍摄视角、光照条件等可能相差较大,应用该模型时可以分别从经校正的地标区域和已知地标图像中进一步确定地标的最小外接矩形框(如图11的矩形框所示),从而排除背景因素差异对地标匹配产生的影响。
返回图10,在步骤S1042,将所述经校正的地标区域与各个候选地标图像进行特征匹配,并基于特征匹配结果识别所述地标区域中的地标。在该步骤中,在对经校正的地标区域进行粗略地标检测之后,可以在得到的候选地标图像的范围内进行更精确的地标检测。具体地,可以将经校正的地标区域与各个候选地标图像一一匹配,从而将最匹配的候选地标图像所对应的地标作为识别出的地标。在该步骤中,可以采用各种适当的方法直接对经校正的地标区域和各个候选地标图像进行特征提取和匹配。另外,考虑到经校正后的地标区域与在步骤S1041中得到的各个候选地标图像的分辨率可能各不相同,这种尺度上的差异可能会对图像的匹配结果产生影响,在该步骤中,可选的,也可以首先将所述经校正的地标区域和各个候选地标图像缩放至相同分辨率,然后对其进行特征提取和匹配。此外,在如上所述分别从经校正的地标区域和已知地标图像中进一步确定了地标的最小外接矩形框的情况下,还可以在所确定的地标的最小外接矩形框基础上进行图像的缩放。
在上述对经校正的地标区域和各个候选地标图像缩放至相同分辨率的方案中,可以采用诸如DELF、SURF、SIFT、BRIEF、GIST、VLAD等算子中的一个或多个,分别提取需要进行匹配的缩放后的地标区域和每个候选地标图像中的各种特征,以便确定两张图像中的匹配特征点。
图12示出了根据本公开实施例的在全景图像中识别地标的方法中在地标区域和候选地标图像中提取特征并进行匹配的示例的示意图。在该示例中,采用经训练的DELF模型确定所述经校正的地标区域与每个候选地标图像之间的匹配特征点。具体地,对于进行匹配的经校正的地标区域与每个候选地标图像,可以通过DELF模型分别得到两张图像上的特征点,同时该模型也可以确定两张图像之间的匹配特征点。例如,如图12中的匹配结果中所示,以两张图像上的匹配特征点为端点连接有线段。可以看出,对于每个候选地标图像,该DELF模型均可以得到其与经校正的地标区域的匹配特征点情况。
在如上确定所述经校正的地标区域与每个候选地标图像之间的匹配特征点之后,可以根据所述匹配特征点的数量、比例、分布以及平均特性中的至少一个,选择与所述经校正的地标区域匹配度最高的候选地标图像,并将所述地标区域中的地标识别为该匹配度最高的候选地标图像中的地标。在一个示例中,可以在匹配特征点数量高于阈值的各个候选地标图像中选择匹配特征点数量最多的候选地标图像,并将经校正的地标区域中的地标识别为该候选地标图像中的地标。在另一个示例中,可以在匹配特征点数量占总特征点的比例高于阈值的各个候选地标图像中选择所述比例最高的候选地标图像,并将经校正的地标区域中的地标识别为该候选地标图像中的地标。在又一个示例中,为了避免特征点过于分散的匹配结果,可以在匹配特征点均匀程度高于阈值的各个候选地标图像中选择匹配特征点数量最多和/或匹配特征点比例最高的候选地标图像,并将经校正的地标区域中的地标识别为该地标图像中的地标。在再一示例中,考虑到从数据库中所确定的候选图像中可能存在多个候选图像均对应同一已知地标的情况,为了均衡数据库中同一已知地标的平均特征以便应对数据库内对同一已知地标不同拍摄条件等的影响,可以将同一已知地标所对应的候选地标图像进行分组,并计算该分组内的各候选已知地标图像的匹配特征点数量和/或匹配特征点比例的平均值,并且基于平均的匹配特征点数量和/或匹配特征点比例选择最匹配的候选地标图像。
可以理解,本公开实施例中可以采用上述示例中一个或多个的任何组合,根据经校正的地标区域与每个候选地标图像的一一匹配结果,从各个候选地标图像中确定最匹配的已知地标,从而提高地标识别的准确性。
以上已经结合附图对根据本公开实施例的在全景图像中识别地标的方法进行了描述。在该方法中,通过对全景图像进行投影变换并进行语义分割以确定路面区域和地标区域,可以减少路面区域对地标识别的影响;并且通过对地标区域进行消除畸变的校正处理,可以减少全景畸变所导致的识别误差;通过在消除畸变后的地标区域内通过各种特征匹配规则确定最匹配的已知地标,可以进一步提高全景图像中的地标识别的效率和准确度。
另外,根据本公开实施例的在全景图像中识别地标的方法可以如前所述应用于全景漫游、机器人全景视觉、沉浸式健身场所等各种场景,在根据该方法识别出全景图像中的地标后,可以在全景图像中标注出所识别的地标的名称,从而增强趣味性以及与用户之间的互动性。
地标识别设备
根据本公开的另一方面,提供一种在全景图像中识别地标的设备,以下结合图13详细描述在全景图像中识别地标的设备1300。
图13示出了根据本公开实施例的在全景图像中识别地标的设备的硬件框图。如图13所示,该设备1300包括处理器U1301和存储器U1302。
处理器U1301可以是能够实现本公开各实施例的功能的任何具有处理能力的装置,例如其可以是设计用于进行在此所述的功能的通用处理器、数字信号处理器(DSP)、ASIC、场可编程门阵列信号(FPGA)或其他可编程逻辑器件(PLD)、离散门或晶体管逻辑、离散的硬件组件或者其任意组合。
存储器U1302可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)和/或高速缓存存储器,也可以包括其它可移动/不可移动的、易失性/非易失性计算机系统存储器,例如硬盘驱动器、软盘、CD-ROM、DVD-ROM或者其它光存储介质。
在本实施例中,存储器U1302中存储有计算机程序指令,并且处理器U1301可以运行存储器U1302中存储的指令。在所述计算机程序指令被所述处理器运行时,使得所述处理器执行本公开实施例的在全景图像中识别地标的方法。关于在全景图像中识别地标的方法与上文中针对图1-12描述的基本相同,因此为了避免重复,不再赘述。
根据本公开的又一方面,提供一种在全景图像中识别地标的设备,以下结合图14详细描述在全景图像中识别地标的设备1400。
图14示出了根据本公开实施例的在全景图像中识别地标的设备的结构框图。如图14所示,该设备1400包括投影变换单元U1401、图像分割单元U1402、畸变校正单元U1403和地标识别单元U1404。所述各个部件可分别执行上文中结合图1-12描述的在全景图像中识别地标的方法的各个步骤/功能,因此为了避免重复,在下文中仅对所述设备进行简要的描述,而省略对相同细节的详细描述。
投影变换单元U1401对全景图像进行投影变换以生成投影图像。投影变换单元U1401所变换的全景图像可以是用户所拍摄的一张全景图像或一段全景视频中的一个或多个帧以便在其中识别地标。投影变换单元U1401可以采用各种投影方式对全景图像进行投影变换,例如,等距柱状投影、立方体贴图投影、鱼眼投影、圆柱投影、小行星投影等。为了便于描述,在下文中将以投影变换是小行星投影方式为例进行描述。在本公开实施例中,投影变换单元U1401可以根据天空像素在投影图像中的比例来确定投影变换的投影点和投影视角,以使得路面区域较小而地标所在区域空间较大,从而更准确和充分提取与地标相关的特征。例如,可以选择投影变换的投影点和投影视角以使得天空像素在整幅投影图像中的比例大于例如50%。
图像分割单元U1402对所述投影图像进行语义分割以确定地标区域和路面区域。为了准确地识别出地标,尽可能地减少路面物体对检测结果的影响,图像分割单元U1402可以采用语义分割对投影图像进行视觉处理,基于投影图像中各视觉元素的高级语义特性更深入地理解其真实场景中的意义,进行精确且高效的分割。在本实施例中,以小行星投影方式为例,图像分割单元U1402可以在所述投影图像中检测圆弧和射线,并基于圆弧和射线的语义特性对检测到的圆弧和射线进行过滤,例如,滤除以下圆弧和射线中的一个或多个:未以投影中心为圆心的圆弧、未从投影中心射出的射线、半径小于阈值的圆弧以及孤立圆弧。然后,图像分割单元U1402可以基于过滤后的圆弧和射线在所述投影图像中确定地标区域和路面区域,例如,将过滤后的圆弧构成的闭合区域确定为路面区域,并将过滤后的射线和圆弧在所述闭合区域外构成的扇形区域确定为地标区域。
畸变校正单元U1403校正所述地标区域中的畸变以生成经校正的地标区域。如上所述,全景图像中存在畸变效果导致地标识别的误差较大,本公开实施例中对语义分割后得到的地标区域进行畸变消除的校正处理,从而避免因全景畸变影响地标识别的准确度。在本实施例中,继续以小行星投影方式为例,畸变校正单元U1403可以将所述地标区域内的各圆弧上的像素点投影到相应的直线上。然后,畸变校正单元U1403可以对投影到各直线上的像素点进行数据压缩,以生成所述经校正的地标区域。
地标识别单元U1404在所述经校正的地标区域中识别地标。在本实施例中,地标识别单元U1404可以在消除了畸变效果后的地标区域内进行地标检测,从预先建立的数据库中的已知地标当中确定与该检测到的地标最为匹配的地标。作为一种示例,地标识别单元U1404可以根据多个已知地标图像与所述经校正的地标区域的相似度进行粗略地标检测,以从所述多个已知地标图像中确定候选地标图像。然后,地标识别单元U1404可以将所述经校正的地标区域与各个候选地标图像进行特征匹配,并基于特征匹配结果识别所述地标区域中的地标。地标识别单元U1404可以根据所述匹配特征点的数量、比例、分布以及平均特性中的至少一个,选择与所述经校正的地标区域匹配度最高的候选地标图像,并将所述地标区域中的地标识别为该匹配度最高的候选地标图像中的地标。
以上已经结合附图对根据本公开实施例的在全景图像中识别地标的设备进行了描述。所述在全景图像中识别地标的设备通过对全景图像进行投影变换并进行语义分割以确定路面区域和地标区域,可以减少路面区域对地标识别的影响;并且通过对地标区域进行消除畸变的校正处理,可以减少全景畸变所导致的识别误差;通过在消除畸变后的地标区域内通过各种特征匹配规则确定最匹配的已知地标,可以进一步提高全景图像中的地标识别的效率和准确度。
另外,根据本公开实施例的在全景图像中识别地标的设备可以如前所述应用于全景漫游、机器人全景视觉、沉浸式健身场所等各种场景,在根据该设备识别出全景图像中的地标后,可以在全景图像中标注出所识别的地标的名称,从而增强趣味性以及与用户之间的互动性。
计算机可读存储介质
根据本公开的在全景图像中识别地标的方法/设备还可以通过提供包含实现所述方法或者设备的程序代码的计算机程序产品来实现,或者通过存储有这样的计算机程序产品的任意存储介质来实现。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
另外,如在此使用的,在以“至少一个”开始的项的列举中使用的“或”指示分离的列举,以便例如“A、B或C的至少一个”的列举意味着A或B或C,或AB或AC或BC,或ABC(即A和B和C)。此外,措辞“示例的”不意味着描述的例子是优选的或者比其他例子更好。
还需要指出的是,在本公开的装置和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
对本领域的普通技术人员而言,能够理解本公开的方法和装置的全部或者任何部分,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现。所述硬件可以是利用被设计用于进行在此所述的功能的通用处理器、数字信号处理器(DSP)、ASIC、场可编程门阵列信号(FPGA)或其他可编程逻辑器件(PLD)、离散门或晶体管逻辑、离散的硬件组件或者其任意组合。通用处理器可以是微处理器,但是作为替换,该处理器可以是任何商业上可获得的处理器、控制器、微控制器或状态机。处理器还可以实现为计算设备的组合,例如DSP和微处理器的组合,多个微处理器、与DSP核协作的一个或多个微处理器或任何其他这样的配置。所述软件可以存在于任何形式的计算机可读的有形存储介质中。通过例子而不是限制,这样的计算机可读的有形存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储器件或者可以用于携带或存储指令或数据结构形式的期望的程序代码并且可以由计算机访问的任何其他有形介质。如在此使用的,盘包括紧凑盘(CD)、激光盘、光盘、数字通用盘(DVD)、软盘和蓝光盘。
可以不脱离由所附权利要求定义的教导的技术而进行对在此所述的技术的各种改变、替换和更改。此外,本公开的权利要求的范围不限于以上所述的处理、机器、制造、事件的组成、手段、方法和动作的具体方面。可以利用与在此所述的相应方面进行基本相同的功能或者实现基本相同的结果的当前存在的或者稍后要开发的处理、机器、制造、事件的组成、手段、方法或动作。因而,所附权利要求包括在其范围内的这样的处理、机器、制造、事件的组成、手段、方法或动作。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。