CN111415420B - 空间信息确定方法、装置及电子设备 - Google Patents
空间信息确定方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111415420B CN111415420B CN202010221139.4A CN202010221139A CN111415420B CN 111415420 B CN111415420 B CN 111415420B CN 202010221139 A CN202010221139 A CN 202010221139A CN 111415420 B CN111415420 B CN 111415420B
- Authority
- CN
- China
- Prior art keywords
- dimensional
- target
- triangular
- plane
- space
- 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
- 238000000034 method Methods 0.000 title claims abstract description 69
- 239000013598 vector Substances 0.000 claims description 56
- 238000000605 extraction Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012216 screening Methods 0.000 claims description 7
- 230000005484 gravity Effects 0.000 claims description 5
- 238000012795 verification Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 abstract description 7
- 238000005516 engineering process Methods 0.000 description 10
- 230000000007 visual effect Effects 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000001514 detection method Methods 0.000 description 8
- 230000003190 augmentative effect Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 101150054987 ChAT gene Proteins 0.000 description 3
- 101100203187 Mus musculus Sh2d3c gene Proteins 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本发明提供了一种空间信息确定方法、装置及电子设备,涉及图像处理技术领域,该方法包括基于相机获取的图像序列确定空间特征;空间特征包括三维特征点和三维特征直线;通过三维特征点和三维特征直线确定三维空间的三角网格;三角网格包括多个三角面;根据三维空间的三角网格和三维特征直线,确定空间信息。本发明能够较为快速有效地提取空间信息。
Description
技术领域
本发明涉及图像处理技术领域,尤其是涉及一种空间信息确定方法、装置及电子设备。
背景技术
随着增强现实(Augmented Reality,AR)技术的发展,其广泛应用于医疗、军事、娱乐、市政建设、智能家居等众多领域,基于视觉的定位与建图技术(Visual SimultaneousLocalization and Mapping,VSLAM)被广泛应用在增强现实和机器人等行业,通过VSLAM技术计算出的环境三维结构信息对增强现实应用和机器人的避障有着非常重要的现实意义。然而VSLAM技术需要对环境进行稠密的点云重建,计算过程复杂,效率低下,而对于纹理较少的区域(诸如纸箱表面、桌面等),视觉特征更加稀少,难以有效确定空间信息。
发明内容
有鉴于此,本发明的目的在于提供一种空间信息确定方法、装置及电子设备,能够较为快速有效地确定空间信息。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种空间信息确定方法,该方法包括:基于相机获取的图像序列确定空间特征;空间特征包括三维特征点和三维特征直线;通过三维特征点和三维特征直线确定三维空间的三角网格;三角网格包括多个三角面;根据三维空间的三角网格和三维特征直线,确定空间信息。
进一步,上述基于相机获取的图像序列确定空间特征的步骤,包括:基于相机获取的图像序列估计图像序列对应的相机姿态轨迹;其中,所述相机姿态轨迹对应的初始时刻的相机坐标系为重力方向对齐的世界坐标系;基于图像序列提取二维特征点和二维特征直线;根据相机姿态轨迹、二维特征点和二维特征直线确定三维特征点和三维特征直线。
进一步,上述通过三维特征点和三维特征直线确定三维空间的三角网格的步骤,包括:基于二维特征点和二维特征直线构建二维平面的三角网格;分别计算二维特征点和二维特征直线对应的三维特征点的坐标表示和三维特征直线的向量表示;通过三维特征点的坐标表示、三维特征直线的向量表示以及二维平面的三角网格确定三维空间的三角网格。
进一步,上述通过三维特征点和三维特征直线确定三维空间的三角网格的步骤,包括:根据预先设定的三维空间的三角网格的属性特征范围,从得到的三维特征点和三维特征直线中分别筛选出无法构建三维空间的三角网格的目标三维特征点和目标三维特征直线;属性特征范围包括三角面的内角度数范围和边长范围;基于除目标三维特征点和目标三维特征直线之外的其余三维特征点和三维特征直线,确定三维空间的三角网格。
进一步,上述根据三维空间的三角网格和三维特征直线进行空间信息确定的步骤,包括:根据三维空间的三角网格的多个三角面之间的空间位置关系和/或三角面与三维特征直线之间的空间位置关系,确定三维空间中的候选平面;候选平面包括水平平面、竖直平面和倾斜平面中的一种或多种;对候选平面进行验证;根据通过验证的候选平面,确定空间信息。
进一步,候选平面包括水平平面,上述根据三维空间的三角网格的多个三角面之间的空间位置关系和/或三角面与三维特征直线之间的空间位置关系,确定三维空间中的候选平面的步骤,包括:当三维空间中存在第一目标三维特征直线平行于预设坐标系下的水平面,和/或,三维空间的三角网格中存在多个第一目标三角面平行于水平面时,统计每个第一目标三角面和第一目标三维特征直线在三维空间中的所在高度,以及每个高度下对应的第一目标三角面和第一目标三维特征直线的第一统计个数;查找目标高度,将处于目标高度的水平平面作为三维空间中的候选平面;其中,目标高度对应的第一统计个数高于第一阈值。
进一步,上述对所述候选平面进行验证的步骤,包括:对于每个目标高度,判断该目标高度对应的第一目标三角面和第一目标三维特征直线两两之间的距离是否小于预设第一距离阈值;如果是,确定处于该目标高度的水平平面为有效的候选平面。
进一步,候选平面包括竖直平面,上述根据三维空间的三角网格的多个三角面之间的空间位置关系和/或三角面与三维特征直线之间的空间位置关系,确定三维空间中的候选平面的步骤,包括:当三维空间中存在第二目标三维特征直线垂直于预设坐标系下的竖直面法向量,和/或,三维空间的三角网格中存在多个第二目标三角面垂直于水平面时,统计每个第二目标三角面和第二目标三维特征直线在三维空间中所在的方位角和与预设坐标系原点的距离,以及统计每个方位角和距离对应的第二目标三角面和第二目标三维特征直线的第二统计个数;其中,竖直面法向量为平行于水平面的法向量集合;方位角包括第二目标三角面与预设坐标系下的水平面之间的第一方位角和第二目标三维特征直线在三维空间中的第二方位角;距离包括第二目标三角面与预设坐标系原点之间的第一距离和第二目标三维特征直线与预设坐标系原点之间的连线在预设坐标系下投影的第二距离;查找目标方位角和目标距离,将处于目标方位角和目标距离的竖直平面作为三维空间中的候选平面;其中,目标方位角和目标距离对应的第二统计个数高于第二阈值。
进一步,上述对所述候选平面进行验证的步骤,包括:对于每个目标方位角和目标距离,判断该目标方位角和目标距离对应的第二目标三角面和第二目标三维特征直线两两之间的距离是否小于预设第二距离阈值;如果是,确定处于该目标方位角和目标距离的竖直平面为有效的候选平面。
进一步,候选平面包括倾斜平面,上述根据三维空间的三角网格的多个三角面之间的空间位置关系和/或三角面与三维特征直线之间的空间位置关系,确定三维空间中的候选平面的步骤,包括:当三维空间的三角网格中存在多个第三目标三角面与水平面既不平行也不垂直时,计算多个第三目标三角面两两之间的夹角和空间距离;将夹角小于预设夹角阈值且空间距离小于预设距离阈值的两个三角面确定归属于同一倾斜平面,将确定的倾斜平面作为三维空间中的候选平面。
进一步,上述对所述候选平面进行验证的步骤,包括:对于每个倾斜平面,当三维空间中存在第三目标三维特征直线与预设坐标系下的水平面既不平行也不垂直,且第三目标三维特征直线与该倾斜平面之间的距离小于第三指定距离和/或在第三指定距离内存在至少两个第三目标三维特征直线的方向向量平行时,则确定第三目标三维特征直线归属于该倾斜平面;判断归属于该倾斜平面的第三目标三角面和第三目标三维特征直线的第三统计个数是否超过第三阈值;如果是,确定该倾斜平面为有效的候选平面。
进一步,上述空间信息包括平面信息,上述方法还包括:根据确定的平面信息,执行空间平面提取操作。
进一步,上述方法还包括:根据提取的空间平面建立虚拟三维场景;其中,虚拟三维场景包括目标对象;当接收到用户的输入信息时,根据输入信息控制目标对象。
第二方面,本发明实施例还提供一种空间信息确定装置,该装置包括:空间特征确定模块,用于基于相机获取的图像序列确定空间特征;空间特征包括三维特征点和三维特征直线;生成模块,用于通过三维特征点和三维特征直线生成三维空间的三角网格;三维空间的三角网格包括多个三维空间的三角面;空间信息确定模块,用于根据每个三维空间的三角网格和三维特征直线,确定空间信息。
第三方面,本发明实施例提供了一种电子设备,包括:处理器和存储装置;存储装置上存储有计算机程序,计算机程序在被处理器运行时执行如前述实施例中任一项的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行前述实施例中任一项所述的方法的步骤。
本发明实施例提供了一种空间信息确定方法、装置及电子设备,基于相机获取的图像序列确定空间特征(包括三维特征点和三维特征直线),然后通过三维特征点和三维特征直线确定三维空间的三角网格,其中,三角网格包括有多个三角面,最后根据三维空间的三角网格和三维特征直线进行空间信息确定。上述方式利用提取到的三维特征直线与三维空间的三角网格对空间进行信息提取,实质是将特征直线与稀疏点云进行结合来进行空间提取,在一方面无需进行计算过程复杂的稠密点云重建,降低了计算量,提升了空间信息的提取效率,在另一方面通过将特征直线与稀疏点云相结合,改善了直接基于稀疏的特征点提取空间信息存在的鲁棒性较差、难以有效提取空间信息的问题,因此,本实施例提供的上述方法能够较为快速有效地提取空间信息。
本发明实施例的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本发明实施例的上述技术即可得知。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例所提供的一种电子设备的结果示意图;
图2示出了本发明实施例所提供的一种空间信息确定方法的流程图;
图3示出了本发明实施例所提供的一种通过稀疏特征点进行平面检测的示意图;
图4示出了本发明实施例所提供的一种通过稀疏特征点和特征直线结合进行平面检测的示意图;
图5示出了本发明实施例所提供的另一种空间信息确定方法的流程图;
图6示出了本发明实施例所提供的一种确定三维空间的三角网格的示意图;
图7示出了本发明实施例所提供的一种空间信息确定装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
目前大多通过视觉传感器从稠密点云中提取平面,这种方法存在计算量巨大(诸如DTAM(DenseTracking and Mapping in Real-Time)算法)或者需要借助额外的红外传感器来计算距离(Tof相机、结构光等)的问题,过程复杂,提取平面效率低下。针对该问题,虽然后续又提出了不借助红外传感器和降低计算量的视觉SLAM方法,诸如ORB-SLAM、DSO(Direct SparseOdometry)等算法,但是在稀疏点云中准确提取平面仍然存在鲁棒性不好的问题,主要原因在于稀疏点云中特征点的结构信息不强,只利用少数的几个特征点在稀疏点云中提取平面时准确性较差。另外,对于纹理较少的区域(如纸箱表面,桌面等),视觉特征更加稀少,因此通过这类方法无法有效准确的提取空间中的平面等信息。考虑到相关技术中无法有效准确的提取平面,为改善此问题,本发明实施例提供的一种空间信息确定方法、装置及电子设备,该技术可应用于电脑、机器人、无人机、AR设备等智能终端。以下对本发明实施例进行详细介绍。
实施例一:
首先,参照图1来描述用于实现本发明实施例的一种空间信息确定方法、装置及电子设备的示例电子设备100。
如图1所示的一种电子设备的结构示意图,电子设备100包括一个或多个处理器102、一个或多个存储装置104、输入装置106、输出装置108以及图像采集装置110,这些组件通过总线***112和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,电子设备也可以具有其他组件和结构。
处理器102可以采用数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)中的至少一种硬件形式来实现,处理器102可以是中央处理单元(CPU)、图形处理单元(GPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元中的一种或几种的组合,并且可以控制电子设备100中的其它组件以执行期望的功能。
存储装置104可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器102可以运行程序指令,以实现下文的本发明实施例中(由处理器实现)的客户端功能以及/或者其它期望的功能。在计算机可读存储介质中还可以存储各种应用程序和各种数据,例如应用程序使用和/或产生的各种数据等。
输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。
输出装置108可以向外部(例如,用户)输出各种信息(例如,图像或声音),并且可以包括显示器、扬声器等中的一个或多个。
图像采集装置110可以拍摄用户期望的图像(例如照片、视频等),并且将所拍摄的图像存储在存储装置104中以供其它组件使用。示例性地,用于实现根据本发明实施例的空间信息确定方法、装置及电子设备的示例电子设备可以被实现为诸如手机、电脑、机器人、可穿戴设备、AR设备等智能终端。
实施例二:
参见图2所示的一种空间信息确定方法的流程图,该方法主要包括如下步骤S202至步骤S206:
步骤S202,基于相机获取的图像序列确定空间特征;空间特征包括三维特征点和三维特征直线。
相机获取的图像序列包括多张二维图像,为了能够确定相机所在空间的三维空间结构,需要从相机获取的图像序列中估计相机姿态轨迹,诸如,可以在相机采集图像的同时进行相机姿态估计,从而确定图像序列对应的相机姿态轨迹,该相机姿态轨迹对应的初始时刻的相机坐标系为重力方向对齐的世界坐标系,在实际应用中,可以将初始时刻的相机坐标系确定为世界坐标系,然后利用加速度计或特定标志物完成世界坐标系和重力方向的对齐。空间中的三维特征点和三维特征直线均可表示在世界坐标系中。在具体实施时,可以通过相机的投影模型获取三维特征点和三维特征直线在图像平面对应的观测确定三维特征点和三维特征直线。
步骤S204,通过三维特征点和三维特征直线确定三维空间的三角网格;三角网格包括多个三角面。
三角网格由三维特征点和三维特征直线构成,诸如,一个三维特征点和一条三维特征直线可以构建一个空间的三角形(也即三角面),通过确定的三维特征点和三维特征直线可以确定由多个三角面构成的三角网格。
由于直接从稀疏三维点云中生成三角网格计算量较大,因此可以从图像序列中提取二维特征点和二维特征直线,并基于二维特征点和二维特征直线构建二维平面的三角网格,生成二维平面的三角网格可以采用诸如带约束的三角剖分算法(ConstrainedDelauany Triangulation,CDT)进行,然后利用视觉SLAM技术计算对应的三维特征点的坐标表示和三维特征直线的向量表示,从而可以通过三维特征点的坐标表示、三维特征直线的向量表示以及二维平面的三角网格确定三维空间的三角网格。该视觉SLAM技术可以是任意的视觉SLAM***,不作具体限定。
考虑到确定的三维空间的三角网格中可能会存在较多奇异的三角面,诸如非常细长的三角面,因此可以根据预先设定的三维空间的三角网格的属性特征范围(内角度数范围、边长范围等),从得到的所有三维特征点和三维特征直线中分别筛选出无法构建三角网格的目标三维特征点和目标三维特征直线,筛选出的目标三维特征点和目标三维特征直线大多为构成奇异的三角面的三维特征点和三维特征直线,然后基于除目标三维特征点和目标三维特征直线之外的其余三维特征点和三维特征直线确定三维空间的三角网格。经过预先设定的属性特征范围筛选后,可以将三维特征点和三维特征直线分为两类:一类是用于构建三角网格的点和直线,另一类是不用于构建三角网格的点和直线。
另外,对于构建的三角网格还可以通过预设的保留条件进行筛选,以便使基于三角网格确定的平面更真实有效。保留条件可以包括三角面的内角大小、边长比例等方面的限制,诸如三角形的三个内角都必须大于一定的阈值(诸如5度)、三角形最长的边和最短边的比值应该小于一定的阈值(诸如20)、三角形的三条边都需要小于一定阈值(诸如2m)等,以上仅作为示例,在此不进行限制。
步骤S206,根据三维空间的三角网格和三维特征直线,确定空间信息。
在一种实施方式中,空间信息可以包括空间中的多种信息,诸如,空间结构、平面信息以及位于该空间中的对象信息等,通过上述构建的三维空间的三角网格和三维特征直线进行空间信息确定时,首先需要确定三维空间的三角网格中每个三角面的平面法向量以及世界坐标系原点到每个三角面的距离,由于三维特征直线通常可以反映空间中的平面,因此上述不用于构成构建三角网格的三维特征直线可以加入到空间信息确定中,从而根据三角网格和三维特征直线进行空间信息的确定。
空间信息可以包括平面信息,因此,本实施例在通过三维空间的三角网格及三维特征直线确定空间信息时,也可以进一步确定平面信息,并基于确定的平面信息执行空间平面提取操作,进而基于提取出的空间平面执行后续操作,诸如基于提取出的空间平面构建虚拟场景,或者直接基于提取出空间平面进行增强现实(Augmented Reality,AR)场景中人与环境的交互,诸如将虚拟物品放置于提取出的空间平面之上,从而将虚拟信息与真实世界进行融合,将虚拟信息应用到真实世界,通过将虚拟对象(诸如虚拟物品、虚拟人物等)与真实场景进行叠加,可以呈现出虚拟对象与真实场景图像在同一个画面或同一个空间的效果,使用户体验虚拟与现实结合的场景。
由于在三维空间中只利用稀疏的特征点进行平面检测时可能会导致平面检测的误差,参见图3所示的一种通过稀疏特征点进行平面检测的示意图,假设此时三维空间中只有三个特征点a、b、c被图像检测到,那么这三个点能构建一个三角mesh(也即三角面),如图3所示的阴影部分。而此时构建的三角mesh并不符合环境特征。因此本发明实施例进一步引入特征直线,通过提取特征点和特征直线进行平面检测,参见图4所示的一种通过稀疏特征点和特征直线结合进行平面检测的示意图,假设此时空间中被检测到的特征点与图3中相同,为便于区分,三个特征点用a’、b’、c’表示,另外还检测到长方体外侧面的4条直线,这时候的三角mesh可能就构成了图4所示的阴影部分,显然直线特征相比点特征更能保留空间的几何结构信息,图像中检测到的直线大概率能对应到真实物理世界中的平面。因此,通过三维特征点和三特征直线对三维空间中的平面进行检测,能够空间平面检测的准确性和鲁棒性。
本发明实施例提供的上述空间信息确定方法,基于相机获取的图像序列确定空间特征(包括三维特征点和三维特征直线),然后通过三维特征点和三维特征直线确定三维空间的三角网格,其中,三角网格包括有多个三角面,最后根据三维空间的三角网格和三维特征直线进行空间信息确定。上述方式利用提取到的三维特征直线与三维空间的三角网格对空间信息进行确定,实质是将特征直线与稀疏点云进行结合来进行空间平面提取,在一方面无需进行计算过程复杂的稠密点云重建,降低了计算量,提升了空间信息的提取效率,在另一方面通过将特征直线与稀疏点云相结合,改善了直接基于稀疏的特征点提取空间信息存在的鲁棒性较差、难以有效提取空间信息的问题,因此,本实施例提供的上述方法能够较为快速有效地提取空间信息。
考虑到现实空间以人造环境居多,在人造环境中很多平面均为水平或者垂直的,诸如墙壁、桌面等,因此可以把平面分为水平的平面(平行于地面)或垂直的平面,可以将初始时刻的相机坐标系确定为世界坐标系,且该世界坐标系与地面水平面进行对齐操作,对齐操作可以利用加速度计测量重力方向完成,也可以事先通过标定或者特定的标志物完成。只有将初始时刻的相机坐标系于世界坐标系进行对齐操作后,才便于把平面分为水平的平面(平行于地面)、垂直的平面,从而便于对空间平面进行快速提取。
在对空间平面进行提取时,可以首先根据三维空间的三角网格的多个三角面之间的空间位置关系和/或三角面与三维特征直线之间的空间位置关系,确定三维空间中的候选平面,空间位置关系可以包括诸如平行、垂直或呈一定的角度确定,候选平面也对应包括水平平面、竖直平面和倾斜平面中的一种或多种,由于候选平面不一定有效(诸如得到的候选平面不一定真实存在),因此可以首先对候选平面进行验证,然后对通过验证的候选平面进行提取操作,可以采用诸如最小二乘法拟合的方法进行空间平面的提取。
本实施例提供了当候选平面为水平平面、竖直平面和倾斜平面的确定及提取方法,为简要描述,下述预设坐标系均采用前述实施例中进行对齐操作后的世界坐标系,首先对确定候选平面为水平平面的确定方法进行描述,参照如下步骤1和2:
步骤1,当三维空间中存在第一目标三维特征直线平行于预设坐标系下的水平面,和/或,三维空间的三角网格中存在多个第一目标三角面平行于水平面时,统计每个第一目标三角面和第一目标三维特征直线在三维空间中的所在高度,以及每个高度下对应的第一目标三角面和第一目标三维特征直线的第一统计个数。
在一种实施方式中,第一目标三维特征直线为平行于该世界坐标系下的水平面的三维特征直线,第一目标三角面为平行于该世界坐标系下的水平面的三角面。当三维空间中存在平行于世界坐标系的水平面的多条三维特征直线,或者三维空间中存在平行于世界坐标系的水平面的多个三角面,又或者三维空间中存在平行于世界坐标系的水平面的多个三角面和多条三维特征直线时,对上述三维特征直线和三角面在三维空间中的所在高度进行统计,并对每个所在高度上三角面和三维特征直线的个数进行统计,诸如,可以采用以为直方图的方式进行统计,直方图的x轴为三角面和三维特征直线在世界坐标的高度,y轴为所在高度对应的三角面和三维特征直线的个数(也即第一统计个数)。
步骤2,查找目标高度,将处于目标高度的水平平面作为三维空间中的候选平面。其中,目标高度对应的第一统计个数高于第一阈值。第一阈值为确定目标高度的候选平面有效的基准个数,可以根据三角网格中三角面的个数以及三维特征直线的个数进行确定,或者根据所处三维空间的空间情况确定,这里不作具体限定。
对于每个目标高度,判断该目标高度对应的第一目标三角面和第一目标三维特征直线两两之间的距离是否小于预设第一距离阈值,其中,第一距离阈值为处在同一水平高度的三角面和三维特征直线的距离阈值,也即当处于同一水平高度的三角面和三维特征直线距离较近时,可以确定处于该目标高度的水平平面为有效的候选平面。
在一种实施方式中,确定候选平面为竖直平面的步骤可以参照如下步骤(1)和步骤(2):
步骤(1),当三维空间中存在第二目标三维特征直线垂直于预设坐标系下的竖直面法向量,和/或,三维空间的三角网格中存在多个第二目标三角面垂直于水平面时,统计每个第二目标三角面和第二目标三维特征直线在三维空间中所在的方位角和与预设坐标系原点的距离,以及统计每个方位角和距离对应的第二目标三角面和第二目标三维特征直线的第二统计个数。
由于在空间中每个方位角均对应有垂直于水平面的平面,因此该竖直面法向量为平行于水平面的法向量集合,该平行于水平面的法向量集合包括与水平面平行的任意方位角的法向量。第二目标三维特征直线为垂直于该世界坐标系下的水平面的三维特征直线,第二目标三角面为垂直于该世界坐标系下的水平面的三角面。对于三角面是否垂直于世界坐标系下的水平面,可以通过计算三角面的平面法向量与世界坐标系下的水平面法向量进行确定;对于三维特征直线是否与世界坐标系下的某个竖直面法向量垂直,可以通过遍历竖直面法向量,判断是否有任一方位角对应的竖直面法向量和三维特征直线方向向量垂直,诸如,当将空间中的方位角按1度划分,则空间中的竖直面法向量可以分为180个,如果存在某一个方位角对应的竖直面法向量与三维特征直线的方向向量垂直,则确定该方位角对应的候选平面。
由于空间中的平面可以有不同的角度垂直于世界坐标系的水平面,诸如一个长方体相邻的两个侧面,虽然均垂直于水平面,但与水平面的垂直方向并不相同,因此需要统计每个第二目标三角面与世界坐标系下的水平面之间的第一方位角和第二目标三维特征直线在三维空间中的第二方位角。另外,还需要统计第二目标三角面与世界坐标系原点之间的第一距离和第二目标三维特征直线与世界坐标系原点之间的连线在预设坐标系下投影的第二距离。可以通过二维直方图进行统计,直方图的x轴为竖直平面和水平面的夹角,直方图的y轴为距离,z轴为个数计数,如果三角面的法向量对应某个夹角xi,该三角面到世界坐标系原点的距离为yi,则二维直方图中坐标(xi,yi)处的计数z值增加1。如果三维特征直线的方向向量和夹角xi对应的竖直面法向量垂直,且三维特征直线上任意一点和世界坐标系原点之间的连线在该法向量上的投影距离为yi,则二维直方图中坐标(xi,yi)处的计数z值也增加1。
步骤(2),查找目标方位角和目标距离,将处于目标方位角和目标距离的竖直平面作为三维空间中的候选平面;其中,目标方位角和目标距离对应的第二统计个数高于第二阈值。第二阈值为确定目标方位角和目标距离的候选平面有效的基准个数,可以根据实际需要进行具体限定。
在一种实施方式中,对于每个目标方位角和目标距离,判断该目标方位角和目标距离对应的第二目标三角面和第二目标三维特征直线两两之间的距离是否小于预设第二距离阈值,第一距离阈值为处在同一目标方位角和目标距离的三角面和三维特征直线的距离阈值,也即当处于同一目标方位角和目标距离的三角面和三维特征直线距离较近时,可以确定处于该目标方位角和目标距离的竖直平面为有效的候选平面。
在一种实施方式中,经过水平平面和竖直平面的提取以后,剩余的三角形面或者三维特征直线通常较少,因此可以采用遍历剩余的三角面和三维特征的,以便快速确定倾斜平面并对其进行提取,确定倾斜平面的步骤可以参照如下步骤A和步骤B:
步骤A,当三维空间的三角网格中存在多个第三目标三角面与水平面既不平行也不垂直时,计算多个第三目标三角面两两之间的夹角和空间距离。第三目标三角面为既不平行也不垂直于该世界坐标系下的水平面的三角面。
步骤B,将夹角小于预设夹角阈值且空间距离小于预设距离阈值的两个三角面确定归属于同一倾斜平面,将确定的倾斜平面作为三维空间中的候选平面。如果两个三角面之间的夹角较小且之间的空间距离较近,则可以确定归属于同一个倾斜平面。
为了提升平面提取的鲁棒性,对于每个倾斜平面,如果三维空间中存在第三目标三维特征直线与上述步骤B确定的倾斜平面之间的距离小于第三指定距离时,也将该第三目标特征直线确定归属于该倾斜平面。第三目标特征直线为既不平行也不垂直于该世界坐标系下的水平面的三维特征直线,第三指定距离为该三维特征直线与该倾斜平面的距离。另外,当在第三指定距离内存在至少两个第三目标三维特征直线的方向向量平行,也可以确定第三目标三维特征直线归属于该倾斜平面。判断归属于该倾斜平面的第三目标三角面和第三目标三维特征直线的第三统计个数是否超过第三阈值,第三距离阈值为处在同一倾斜平面的三角面和三维特征直线的个数阈值,也即当处于同一倾斜平面的三角面和三维特征直线个数达到预设基准时,可以确定该倾斜平面为有效的候选平面。
另外,在提取到空间平面后,可以根据提取的空间平面建立虚拟三维场景,其中,虚拟三维场景包括目标对象,也即,目标对象为处于该虚拟三维场景中的虚拟物体或虚拟人物等。可选地,可以通过AR技术将目标对象放置于虚拟三维场景,从而后续对目标对象进行控制。以AR设备为例,通过AR设备采集多个时刻的图像,然后根据采集的多个时刻的图像序列估计相机姿态,进而估计三维特征点和三维特征直线,最终确定空间平面,并依此构建虚拟三维场景。当接收到用户的输入信息时,可以根据输入信息控制虚拟三维场景中的目标对象,该输入信息可以为动作控制信息、聊天信息等,诸如,当输入信息为动作控制信息时,可以对目标对象执行对应的动作,如控制目标对象在虚拟三维场景中移动等。当输入信息为聊天信息时,还可以通过该输入信息实现用户与目标对象的聊天交互。应当注意的是,以上仅为示例性说明,不应当视为限制。
综上,本实施例提供的上述空间信息确定方法,利用提取到的三维特征直线与三维空间的三角网格对空间信息进行提取,实质是将特征直线与稀疏点云进行结合来进行空间信息提取,在一方面无需进行计算过程复杂的稠密点云重建,降低了计算量,提升了空间信息提取效率,在另一方面通过将特征直线与稀疏点云相结合,改善了直接基于稀疏的特征点提取空间信息存在的鲁棒性较差、难以有效提取空间信息的问题。
实施例三:
在前述实施例的基础上,本实施例提供了一种空间信息确定方法的具体示例,该方法以提取空间信息中所包含的平面信息为例进行说明,参见如图5所示的另一种空间信息确定方法的流程图,该方法主要包括如下步骤S502至步骤S506:
步骤S502,利用视觉SLAM技术根据相机获取的图像序列确定相机姿态轨迹、三维特征点和三维特征直线。
在一种实施方式中,相机获取的图像序列为相机连续多个时刻采集的图像构成的图像序列,相机姿态轨迹是根据相机获取的图像序列进行确定的,诸如,约定第k个时刻相机Ck姿态表示为xk=(Rk,tk),其中,R∈SO(3)表示三维空间中的旋转矩阵,表示三维空间中的平移向量。通过多个时刻的相机姿态可以确定相机姿态轨迹。三维特征点和三维特征直线在图像平面对应的观测分别对应坐标/>和/>其中,为空间中第i个三维特征点的坐标,/>为空间中第j条三维特征直线(表示三维特征直线上一个点的坐标,/>表示三维特征直线在空间中的方向向量)。
另外,图像观测的二维特征点zf和二维特征直线zL可以利用图像处理算法诸如ORB(Oriented Fast and Rotated Brief)、LSD(Line Segment Detector)等进行提取,这里不做限定。
步骤S504,基于三维特征点和三维特征直线生成三维空间的三角网格。也即,利用三维空间中稀疏的点和直线生成三角网格。
在一种实施方式中,三维空间中形成的三角网格是一个个三角形形成的面片,由三维特征点和/或三维特征直线组成,诸如,由一个三维特征点和一条三维特征直线可以构建一个空间三角形。由于从稀疏三维点云中生成三角面的计算量较大,因此生成三维三角网格可以首先通过相机拍摄图像的成像平面确定二维图像平面I,参见图6所示的一种确定三维空间的三角网格的示意图,在二维图像平面I上提取二维特征点zf和二维特征直线zL,然后将二维特征点和二维特征直线构建成二维图像平面的三角网格(图中二维图像平面I上的虚线三角形)。二维图像平面的三角网格可以采用诸如带约束的三角剖分算法(Constrained Delauany Triangulation,CDT)构建。最后根据二维特征点和二维特征直线基于视觉SLAM技术计算出对应的三维特征点f和三维特征直线L,并生成三维三角网格(图中的阴影部分)。
对于三维空间中形成的三角网格存在较多奇异的三角形,可以进行选择性的剔除,通过设置保留符合条件对三角网格进行筛选,保留条件可以包括三角面的内角大小、边长比例等方面的限制,诸如三角形的三个内角都必须大于一定的阈值(诸如5度)、三角形最长的边和最短边的比值应该小于一定的阈值(诸如20)、三角形的三条边都需要小于一定阈值(诸如2m)等。经过筛选剔除之后,留下用于构建三角网格的三维特征点和三维特征直线。另外,图像中检测到的直线大概率能对应到真实物理世界中的平面,因此为了提升平面提取的鲁棒性,可以只剔除不用于构建三角网格的三维特征点,保留三维特征直线。
步骤S506,通过三维三角网格和三维特征直线提取有效平面。
考虑到直线在实际环境中容易与平面一起出现,因此将上述步骤S304中构建的三角网格以及不用于构建三角网格的三维特征直线用于空间信息确定,对提取的三角网格中的每个三角面计算其平面法向量以及世界坐标系原点到三角面所在平面的距离h,以便对空间平面进行提取。通过该方法进行空间信息确定时,无需进行多次迭代,仅需进行一次就可以完成平面提取,因此较大程度的提升了提取的速度。
如果多个三角面或三维特征直线在同一个水平高度,且这些三角面或三维特征直线在三维空间中距离小于一定的阈值,则它们可以构建一个水平平面。在进行水平平面提取时,利用所有三角面到坐标系原点的距离h以及三维直线上任取两个三维点的z轴坐标构建一个一维的直方图,直方图的x轴为高度,y轴为个数,为了抑制局部有多个极大值的情况,可以使用一维的高斯滤波器对直方图进行平滑操作,然后将直方图中高于指定阈值的作为候选水平平面,比如距离h=1m处的统计个数高于指定阈值,则说明可能存在高度为1m的一个水平面,将属于这个平面内的所有三角面和三维特征直线进行统计,如果这些三角面和三维特征直线两两距离较近,则确定该水平平面存在,将确定的水平平面上三维特征点和三维特征直线进行最小二乘拟合平面的参数完成该水平平面的提取。
如果多个三角面与水平面垂直或者多条三维特征直线的方向向量与某个垂直面法向量垂直,且这些三角面或三维特征直线两两之间距离小于一定的阈值,则可以构建一个竖直平面。在进行竖直平面提取时,可以首先将垂直于水平方向的三角面和三维特征直线筛选出来用于后续构建竖直平面,筛选方法为三角面的平面法向量与水平面法向量接近垂直或三维特征直线的方向向量与某竖直面法向量垂直,竖直面法向量为和水平面平行的一组法向量集合xi=1,2…,180,其中,角度xi为方位角。
对筛选后可以进行构建竖直平面的三角面和三维特征直线利用二维直方图进行统计,二维直方图中一个维度用来记录竖直平面和水平面的夹角,诸如,垂直面是何种角度垂直于水平面,这个角度可以称之为方位角;另一个维度用来记录到平面法向量的距离,诸如,以正方体底面中心为原点,对于前后两个侧面,他们的方位角在水平面上相同,但是距离不相同,一个距离为正数,另一个距离为负数。二维直方图的x轴为竖直平面和水平面的夹角,y轴为距离,z轴为个数计数。
遍历所有三角形面片,如果该面片的法向量对应某个夹角xi,该平面到世界坐标系原点的距离为yi,则二维直方图中坐标(xi,yi)处的计数z值增加1。同理遍历所有三维特征直线,如果三维特征直线的方向和夹角xi对应的竖直面法向量垂直,且直线上任意一点和坐标系原点之间的连线在该法向量上的投影距离对应为yi,则二维直方图中坐标(xi,yi)处的计数z值也增加1。最后为了抑制局部有多个极大值的情况,对直方图用二维高斯滤波进行平滑,并将统计后的二维直方图z值高于一定阈值的作为垂直平面,将确定的垂直平面上三维特征点和三维特征直线进行最小二乘拟合平面的参数完成该垂直平面的提取。
另外,经过水平平面和垂直平面的提取以后,剩余的三角形面或者三维特征直线通常较少,可以通过遍历的方式快速确定平面。与上述方式类似,首先计算这些三角形面片法向量之间的夹角,如果任意两个三角面之间的夹角小于一定的阈值且这两个三角面的空间距离小于一定的阈值则可以将这两个三角形归为某个候选平面类。同时,如果空三维特征直线到这个候选平面类的距离小于一定的阈值则将该直线也归为该候选平面类。可选的,如果空间两个三维特征直线方向向量平行,则也可以形成一个候选平面类。当属于同一个候选平面类中的三维特征直线或者三角面个数高于一定阈值时,则确定该候选平面有效,进而通过最小二乘拟合对改候选平面进行空间信息确定。
经过上述对不同类型的空间平面提取后,可以根据空间平面建立虚拟三维场景,并进一步对虚拟三维场景中的目标对象进行控制,从而便于用户与虚拟物体进行交互,诸如,用户可以通过手机AR控制虚拟物体的活动状态、或与虚拟人物进行沟通对话等,用户与AR设备的具体交互方式这里仅作示例,不作具体限定。
本发明实施例提供的空间信息确定方法,首先利用视觉SLAM技术根据相机获取的图像序列确定相机姿态轨迹、三维特征点和三维特征直线,进而基于三维特征点和三维特征直线生成三维三角网格,最后通过三维三角网格和三维特征直线提取有效平面,其中,有效平面包括水平平面、垂直平面以及除水平平面和其他平面以外的其他平面。通过三维特征直线与三维特征点结合,进行三维空间的三角网格的构建,进而进行三维空间平面的提取,可以缓解在进行空间信息确定时由于采用稀疏点云导致的准确性和鲁棒性较差的问题,有效提升了空间信息确定的准确性和鲁棒性,并且,由于该方法无需进行多次迭代,只需一次统计即可进行较为准确的空间信息确定,因此还可以提升空间信息的提取效率。
实施例四:
对于实施例二中所提供的空间信息确定方法,本发明实施例提供了一种空间信息确定装置,参见图7所示的一种空间信息确定装置的结构示意图,该装置包括以下模块:
空间特征确定模块702,用于基于相机获取的图像序列确定空间特征;空间特征包括三维特征点和三维特征直线;
生成模块704,用于通过三维特征点和三维特征直线生成三维空间的三角网格;三维空间的三角网格包括多个三维空间的三角面;
空间信息确定模块706,用于根据每个三维空间的三角网格和三维特征直线,确定空间信息。
本发明实施例提供了一种空间信息确定装置,利用提取到的三维特征直线与三维空间的三角网格对空间平面进行提取,实质是将特征直线与稀疏点云进行结合来进行空间信息提取,在一方面无需进行计算过程复杂的稠密点云重建,降低了计算量,提升了空间信息的提取效率,在另一方面通过将特征直线与稀疏点云相结合,改善了直接基于稀疏的特征点提取空间信息存在的鲁棒性较差、难以有效提取空间信息的问题,因此,本实施例提供的上述方法能够较为快速有效地提取空间信息。
在一种实施方式中,上述空间特征确定模块702,进一步用于基于相机获取的图像序列估计图像序列对应的相机姿态轨迹;其中,相机姿态轨迹对应的初始时刻的相机坐标系为重力方向对齐的世界坐标系;基于图像序列提取二维特征点和二维特征直线;根据相机姿态轨迹、二维特征点和二维特征直线确定三维特征点和三维特征直线。
在一种实施方式中,上述生成模块704,进一步用于基于二维特征点和二维特征直线构建二维平面的三角网格;分别计算二维特征点和二维特征直线对应的三维特征点的坐标表示和三维特征直线的向量表示;通过三维特征点的坐标表示、三维特征直线的向量表示以及二维平面的三角网格确定三维空间的三角网格。
在一种实施方式中,上述生成模块704,进一步用于根据预先设定的三维空间的三角网格的属性特征范围,从得到的三维特征点和三维特征直线中分别筛选出无法构建三维空间的三角网格的目标三维特征点和目标三维特征直线;属性特征范围包括三角面的内角度数范围和边长范围;基于除目标三维特征点和目标三维特征直线之外的其余三维特征点和三维特征直线,确定三维空间的三角网格。
在一种实施方式中,上述空间信息确定模块706,进一步用于根据三维空间的三角网格的多个三角面之间的空间位置关系和/或三角面与三维特征直线之间的空间位置关系,确定三维空间中的候选平面;候选平面包括水平平面、竖直平面和倾斜平面中的一种或多种;对候选平面进行验证;根据通过验证的候选平面,确定空间信息。
在一种实施方式中,候选平面包括水平平面,上述空间信息确定模块706,进一步用于当三维空间中存在第一目标三维特征直线平行于预设坐标系下的水平面,和/或,三维空间的三角网格中存在多个第一目标三角面平行于水平面时,统计每个第一目标三角面和第一目标三维特征直线在三维空间中的所在高度,以及每个高度下对应的第一目标三角面和第一目标三维特征直线的第一统计个数;查找目标高度,将处于目标高度的水平平面作为三维空间中的候选平面;其中,目标高度对应的第一统计个数高于第一阈值。
在一种实施方式中,上述空间信息确定模块706,进一步用于对于每个目标高度,判断该目标高度对应的第一目标三角面和第一目标三维特征直线两两之间的距离是否小于预设第一距离阈值;如果是,确定处于该目标高度的水平平面为有效的候选平面。
在一种实施方式中,候选平面包括竖直平面,上述空间信息确定模块706,进一步用于当三维空间中存在第二目标三维特征直线垂直于预设坐标系下的竖直面法向量,和/或,三维空间的三角网格中存在多个第二目标三角面垂直于水平面时,统计每个第二目标三角面和第二目标三维特征直线在三维空间中所在的方位角和与预设坐标系原点的距离,以及统计每个方位角和距离对应的第二目标三角面和第二目标三维特征直线的第二统计个数;其中,竖直面法向量为平行于水平面的法向量集合;方位角包括第二目标三角面与预设坐标系下的水平面之间的第一方位角和第二目标三维特征直线在三维空间中的第二方位角;距离包括第二目标三角面与预设坐标系原点之间的第一距离和第二目标三维特征直线与预设坐标系原点之间的连线在预设坐标系下投影的第二距离;查找目标方位角和目标距离,将处于目标方位角和目标距离的竖直平面作为三维空间中的候选平面;其中,目标方位角和目标距离对应的第二统计个数高于第二阈值。
在一种实施方式中,上述空间信息确定模块706,进一步用于对于每个目标方位角和目标距离,判断该目标方位角和目标距离对应的第二目标三角面和第二目标三维特征直线两两之间的距离是否小于预设第二距离阈值;如果是,确定处于该目标方位角和目标距离的竖直平面为有效的候选平面。
在一种实施方式中,候选平面包括倾斜平面,上述空间信息确定模块706,进一步用于当三维空间的三角网格中存在多个第三目标三角面与水平面既不平行也不垂直时,计算多个第三目标三角面两两之间的夹角和空间距离;将夹角小于预设夹角阈值且空间距离小于预设距离阈值的两个三角面确定归属于同一倾斜平面,将确定的倾斜平面作为三维空间中的候选平面。
在一种实施方式中,上述空间信息确定模块706,进一步用于对于每个倾斜平面,当三维空间中存在第三目标三维特征直线与预设坐标系下的水平面既不平行也不垂直,且第三目标三维特征直线与该倾斜平面之间的距离小于第三指定距离和/或在第三指定距离内存在至少两个第三目标三维特征直线的方向向量平行时,则确定第三目标三维特征直线归属于该倾斜平面;判断归属于该倾斜平面的第三目标三角面和第三目标三维特征直线的第三统计个数是否超过第三阈值;如果是,确定该倾斜平面为有效的候选平面。
在一种实施方式中,空间信息包括平面信息,上述装置还包括:平面提取模块,用于根据确定的平面信息,执行空间平面提取操作。
在一种实施方式中,空间信息包括平面信息,上述装置还包括:交互模块,用于根据提取的空间平面建立虚拟三维场景;其中,虚拟三维场景包括目标对象;当接收到用户的输入信息时,根据输入信息控制目标对象。
综上,本发明实施例提供的空间信息确定方法、装置及电子设备,利用提取到的三维特征直线与三维空间的三角网格对空间平面进行提取,实质是将特征直线与稀疏点云进行结合来进行平面提取,在一方面无需进行计算过程复杂的稠密点云重建,降低了计算量,提升了平面提取效率,在另一方面通过将特征直线与稀疏点云相结合,改善了直接基于稀疏的特征点提取平面存在的鲁棒性较差、难以有效提取平面的问题,因此,能够较为快速有效地提取空间平面。
本发明实施例所提供的空间信息确定方法、装置及电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行前面方法实施例中的方法,具体实现可参见方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”等仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (15)
1.一种空间信息确定方法,其特征在于,所述方法包括:
基于相机获取的图像序列确定空间特征;所述空间特征包括三维特征点和三维特征直线;
通过所述三维特征点和所述三维特征直线确定三维空间的三角网格;所述三角网格包括多个三角面;
根据所述三维空间的三角网格和所述三维特征直线,确定空间信息;
其中,所述根据所述三维空间的三角网格和所述三维特征直线,确定空间信息的步骤,包括:
根据所述三维空间的三角网格的多个三角面之间的空间位置关系和/或所述三角面与所述三维特征直线之间的空间位置关系,确定所述三维空间中的候选平面;所述候选平面包括水平平面、竖直平面和倾斜平面中的一种或多种,所述三维特征直线反映空间中的平面;
对所述候选平面进行验证;
根据通过验证的所述候选平面,确定空间信息。
2.根据权利要求1所述的方法,其特征在于,所述基于相机获取的图像序列确定空间特征的步骤,包括:
基于相机获取的图像序列估计所述图像序列对应的相机姿态轨迹;其中,所述相机姿态轨迹对应的初始时刻的相机坐标系为重力方向对齐的世界坐标系;
基于所述图像序列提取二维特征点和二维特征直线;
根据所述相机姿态轨迹、所述二维特征点和所述二维特征直线确定三维特征点和三维特征直线。
3.根据权利要求2所述的方法,其特征在于,所述通过所述三维特征点和所述三维特征直线确定三维空间的三角网格的步骤,包括:
基于所述二维特征点和所述二维特征直线构建二维平面的三角网格;
分别计算所述二维特征点和所述二维特征直线对应的所述三维特征点的坐标表示和所述三维特征直线的向量表示;
通过所述三维特征点的坐标表示、所述三维特征直线的向量表示以及所述二维平面的三角网格确定所述三维空间的三角网格。
4.根据权利要求1所述的方法,其特征在于,所述通过所述三维特征点和所述三维特征直线确定三维空间的三角网格的步骤,包括:
根据预先设定的三维空间的三角网格的属性特征范围,从得到的所述三维特征点和三维特征直线中分别筛选出无法构建所述三维空间的三角网格的目标三维特征点和目标三维特征直线;所述属性特征范围包括所述三角面的内角度数范围和边长范围;
基于除所述目标三维特征点和所述目标三维特征直线之外的其余三维特征点和三维特征直线,确定三维空间的三角网格。
5.根据权利要求1所述的方法,其特征在于,所述候选平面包括水平平面,根据所述三维空间的三角网格的多个三角面之间的空间位置关系和/或所述三角面与所述三维特征直线之间的空间位置关系,确定所述三维空间中的候选平面的步骤,包括:
当所述三维空间中存在第一目标三维特征直线平行于预设坐标系下的水平面,和/或,所述三维空间的三角网格中存在多个第一目标三角面平行于所述水平面时,统计每个所述第一目标三角面和所述第一目标三维特征直线在所述三维空间中的所在高度,以及每个所述高度下对应的第一目标三角面和第一目标三维特征直线的第一统计个数;
查找目标高度,将处于所述目标高度的水平平面作为所述三维空间中的候选平面;其中,所述目标高度对应的第一统计个数高于第一阈值。
6.根据权利要求5所述的方法,其特征在于,所述对所述候选平面进行验证步骤,包括:
对于每个所述目标高度,判断该目标高度对应的第一目标三角面和第一目标三维特征直线两两之间的距离是否小于预设第一距离阈值;
如果是,确定处于该目标高度的水平平面为有效的候选平面。
7.根据权利要求1所述的方法,其特征在于,所述候选平面包括竖直平面,根据所述三维空间的三角网格的多个三角面之间的空间位置关系和/或所述三角面与所述三维特征直线之间的空间位置关系,确定所述三维空间中的候选平面的步骤,包括:
当所述三维空间中存在第二目标三维特征直线垂直于预设坐标系下的竖直面法向量,和/或,所述三维空间的三角网格中存在多个第二目标三角面垂直于预设坐标系下的水平面时,统计每个所述第二目标三角面和所述第二目标三维特征直线在所述三维空间中所在的方位角和与所述预设坐标系原点的距离,以及统计每个所述方位角和所述距离对应的第二目标三角面和第二目标三维特征直线的第二统计个数;其中,所述竖直面法向量为平行于水平面的法向量集合;所述方位角包括所述第二目标三角面与所述预设坐标系下的水平面之间的第一方位角和所述第二目标三维特征直线在三维空间中的第二方位角;所述距离包括所述第二目标三角面与所述预设坐标系原点之间的第一距离和所述第二目标三维特征直线与所述预设坐标系原点之间的连线在所述预设坐标系下投影的第二距离;
查找目标方位角和目标距离,将处于所述目标方位角和所述目标距离的竖直平面作为所述三维空间中的候选平面;其中,所述目标方位角和所述目标距离对应的第二统计个数高于第二阈值。
8.根据权利要求7所述的方法,其特征在于,所述对所述候选平面进行验证的步骤,包括:
对于每个所述目标方位角和所述目标距离,判断该目标方位角和目标距离对应的第二目标三角面和第二目标三维特征直线两两之间的距离是否小于预设第二距离阈值;
如果是,确定处于该目标方位角和目标距离的竖直平面为有效的候选平面。
9.根据权利要求1所述的方法,其特征在于,所述候选平面包括倾斜平面,根据所述三维空间的三角网格的多个三角面之间的空间位置关系和/或所述三角面与所述三维特征直线之间的空间位置关系,确定所述三维空间中的候选平面的步骤,包括:
当所述三维空间的三角网格中存在多个第三目标三角面与预设坐标系下的水平面既不平行也不垂直时,计算多个所述第三目标三角面两两之间的夹角和空间距离;
将所述夹角小于预设夹角阈值且所述空间距离小于预设距离阈值的两个三角面确定归属于同一倾斜平面,将确定的所述倾斜平面作为所述三维空间中的候选平面。
10.根据权利要求9所述的方法,其特征在于,所述对所述候选平面进行验证的步骤,包括:
对于每个所述倾斜平面,当所述三维空间中存在第三目标三维特征直线与预设坐标系下的水平面既不平行也不垂直,且所述第三目标三维特征直线与该倾斜平面之间的距离小于第三指定距离和/或在所述第三指定距离内存在至少两个所述第三目标三维特征直线的方向向量平行时,确定所述第三目标三维特征直线归属于该倾斜平面;
判断归属于该倾斜平面的第三目标三角面和第三目标三维特征直线的第三统计个数是否超过第三阈值;
如果是,确定该倾斜平面为有效的候选平面。
11.根据权利要求1所述的方法,其特征在于,所述空间信息包括平面信息,所述方法还包括:
根据确定的所述平面信息,执行空间平面提取操作。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
根据提取的空间平面建立虚拟三维场景;其中,所述虚拟三维场景包括目标对象;
当接收到用户的输入信息时,根据所述输入信息控制所述目标对象。
13.一种空间信息确定装置,其特征在于,所述装置包括:
空间特征确定模块,用于基于相机获取的图像序列确定空间特征;所述空间特征包括三维特征点和三维特征直线;
三角网格生成模块,用于通过所述三维特征点和所述三维特征直线生成三维空间的三角网格;所述三维空间的三角网格包括多个三维空间的三角面;
空间信息确定模块,用于根据每个所述三维空间的三角网格和所述三维特征直线,确定空间信息;
其中,所述空间信息确定模块还用于:根据所述三维空间的三角网格的多个三角面之间的空间位置关系和/或所述三角面与所述三维特征直线之间的空间位置关系,确定所述三维空间中的候选平面;所述候选平面包括水平平面、竖直平面和倾斜平面中的一种或多种,所述三维特征直线反映空间中的平面;对所述候选平面进行验证;根据通过验证的所述候选平面,确定空间信息。
14.一种电子设备,其特征在于,包括:处理器和存储装置;
所述存储装置上存储有计算机程序,所述计算机程序在被所述处理器运行时执行如权利要求1至12任一项所述的方法。
15.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行上述权利要求1至12任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010221139.4A CN111415420B (zh) | 2020-03-25 | 2020-03-25 | 空间信息确定方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010221139.4A CN111415420B (zh) | 2020-03-25 | 2020-03-25 | 空间信息确定方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111415420A CN111415420A (zh) | 2020-07-14 |
CN111415420B true CN111415420B (zh) | 2024-01-23 |
Family
ID=71494553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010221139.4A Active CN111415420B (zh) | 2020-03-25 | 2020-03-25 | 空间信息确定方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111415420B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112862886B (zh) * | 2021-01-10 | 2024-01-09 | 西北工业大学 | 基于凸包分割的三角环标志符高精度检测定位算法 |
CN113050137B (zh) * | 2021-03-09 | 2022-04-26 | 江西师范大学 | 一种多点协测的空间信息获取方法 |
CN113052977A (zh) * | 2021-03-30 | 2021-06-29 | 联想(北京)有限公司 | 处理方法及装置 |
CN115937299B (zh) * | 2022-03-25 | 2024-01-30 | 北京字跳网络技术有限公司 | 在视频中放置虚拟对象的方法及相关设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101908234A (zh) * | 2010-07-16 | 2010-12-08 | 浙江大学 | 一种用户可控的高度规整三角网格生成方法 |
CN101931825A (zh) * | 2010-09-03 | 2010-12-29 | 南京大学 | 一种自由视角视频流中3d目标显示方法 |
CN106327532A (zh) * | 2016-08-31 | 2017-01-11 | 北京天睿空间科技股份有限公司 | 一种单幅图像的三维配准方法 |
CN108648270A (zh) * | 2018-05-12 | 2018-10-12 | 西北工业大学 | 基于eg-slam的无人机实时三维场景重建方法 |
CN109166149A (zh) * | 2018-08-13 | 2019-01-08 | 武汉大学 | 一种融合双目相机与imu的定位与三维线框结构重建方法与*** |
CN110827392A (zh) * | 2018-08-31 | 2020-02-21 | 金钱猫科技股份有限公司 | 具好的场景易用性的单目图像三维重建方法、***及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108510540B (zh) * | 2017-02-23 | 2020-02-07 | 杭州海康威视数字技术股份有限公司 | 立体视觉摄像机及其高度获取方法 |
-
2020
- 2020-03-25 CN CN202010221139.4A patent/CN111415420B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101908234A (zh) * | 2010-07-16 | 2010-12-08 | 浙江大学 | 一种用户可控的高度规整三角网格生成方法 |
CN101931825A (zh) * | 2010-09-03 | 2010-12-29 | 南京大学 | 一种自由视角视频流中3d目标显示方法 |
CN106327532A (zh) * | 2016-08-31 | 2017-01-11 | 北京天睿空间科技股份有限公司 | 一种单幅图像的三维配准方法 |
CN108648270A (zh) * | 2018-05-12 | 2018-10-12 | 西北工业大学 | 基于eg-slam的无人机实时三维场景重建方法 |
CN109166149A (zh) * | 2018-08-13 | 2019-01-08 | 武汉大学 | 一种融合双目相机与imu的定位与三维线框结构重建方法与*** |
CN110827392A (zh) * | 2018-08-31 | 2020-02-21 | 金钱猫科技股份有限公司 | 具好的场景易用性的单目图像三维重建方法、***及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111415420A (zh) | 2020-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111415420B (zh) | 空间信息确定方法、装置及电子设备 | |
US20210190497A1 (en) | Simultaneous location and mapping (slam) using dual event cameras | |
CN108335353B (zh) | 动态场景的三维重建方法、装置和***、服务器、介质 | |
CN106940704B (zh) | 一种基于栅格地图的定位方法及装置 | |
CN110555901B (zh) | 动静态场景的定位和建图方法、装置、设备和存储介质 | |
WO2018107910A1 (zh) | 一种全景视频融合方法及装置 | |
TWI520102B (zh) | 追蹤方法 | |
CA2826534C (en) | Backfilling points in a point cloud | |
CN110648363A (zh) | 相机姿态确定方法、装置、存储介质及电子设备 | |
CN111639147B (zh) | 一种地图压缩方法、***及计算机可读存储介质 | |
US11373329B2 (en) | Method of generating 3-dimensional model data | |
CN111142514B (zh) | 一种机器人及其避障方法和装置 | |
WO2019012632A1 (ja) | 認識処理装置、認識処理方法及びプログラム | |
Sveier et al. | Object detection in point clouds using conformal geometric algebra | |
WO2023016182A1 (zh) | 位姿确定方法、装置、电子设备和可读存储介质 | |
US10791321B2 (en) | Constructing a user's face model using particle filters | |
CN115393538A (zh) | 基于深度学习的室内动态场景的视觉slam方法及*** | |
CN112102342A (zh) | 平面轮廓识别方法、装置、计算机设备和存储介质 | |
CN111612898A (zh) | 图像处理方法、装置、存储介质及电子设备 | |
US20210019906A1 (en) | Method and apparatus for object detection integrating 2d image recognition and 3d scene reconstruction | |
CN116503566B (zh) | 一种三维建模方法、装置、电子设备及存储介质 | |
US10861174B2 (en) | Selective 3D registration | |
CN116844124A (zh) | 三维目标检测框标注方法、装置、电子设备和存储介质 | |
CN116342831A (zh) | 三维场景重建方法、装置、计算机设备及存储介质 | |
Palla et al. | Fully Convolutional Denoising Autoencoder for 3D Scene Reconstruction from a single depth image |
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 |