CN112184603A - 一种点云融合方法、装置、电子设备和计算机存储介质 - Google Patents
一种点云融合方法、装置、电子设备和计算机存储介质 Download PDFInfo
- Publication number
- CN112184603A CN112184603A CN201910601035.3A CN201910601035A CN112184603A CN 112184603 A CN112184603 A CN 112184603A CN 201910601035 A CN201910601035 A CN 201910601035A CN 112184603 A CN112184603 A CN 112184603A
- Authority
- CN
- China
- Prior art keywords
- depth
- depth map
- current frame
- pixel point
- point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000007500 overflow downdraw method Methods 0.000 title claims abstract description 26
- 230000004927 fusion Effects 0.000 claims abstract description 78
- 238000007499 fusion processing Methods 0.000 claims abstract description 62
- 238000000034 method Methods 0.000 claims abstract description 40
- 230000015654 memory Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 description 16
- 238000012217 deletion Methods 0.000 description 15
- 230000037430 deletion Effects 0.000 description 15
- 230000008569 process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 230000002829 reductive effect Effects 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 6
- 230000003190 augmentative effect Effects 0.000 description 5
- 230000000717 retained effect Effects 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000001154 acute effect Effects 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005034 decoration Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- 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/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- 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)
- Lining Or Joining Of Plastics Or The Like (AREA)
- Information Transfer Systems (AREA)
- Image Analysis (AREA)
Abstract
本公开实施例公开了一种点云融合方法、装置、电子设备和计算机存储介质,该方法包括:根据场景信息和/或相机信息中至少两种影响因素,确定所述当前帧深度图中的像素点的深度置信度,其中所述场景信息和相机信息分别至少包括一种影响因素;根据所述深度置信度,对所述当前帧深度图中的像素点进行点云融合处理。如此,本公开实施例中,可以综合考虑多种因素来确定像素点的深度置信度,因而,可以提高深度置信度的可靠性,进而,可以提高点云融合处理的可靠性。
Description
技术领域
本公开涉及计算机视觉技术,尤其涉及一种点云融合方法、装置、电子设备和计算机存储介质,可以应用于三维建模、三维场景和增强现实等场景中。
背景技术
利用激光扫描仪或深度相机,可以采集大量的点云数据,以实现物体或场景的三维模型的重建,这种基于点云数据的三维模型重建方法,可以被用于移动平台的增强现实和游戏等应用中,例如,可以实现三维物体的在线展示及场景交互、阴影投射、交互碰撞等功能,也可以实现计算机视觉领域的三维物体识别等功能。
然而,利用激光扫描仪或深度相机采集到的点云数据量巨大,不便于存储、传输及后续的处理,比如点云的规模直接决定了重建的效率,因此有必要对点云进行简化融合处理。
发明内容
本公开实施例期望提供点云融合的技术方案。
本公开实施例提供了一种点云融合方法,所述方法包括:
根据场景信息和/或相机信息中至少两种影响因素,确定所述当前帧深度图中的像素点的深度置信度,其中所述场景信息和相机信息分别至少包括一种影响因素;
根据所述深度置信度,对所述当前帧深度图中的像素点进行点云融合处理。
可选地,所述根据场景信息和/或相机信息中至少两种影响因素,确定所述当前帧深度图中的像素点的深度置信度,包括:
获取所述当前帧深度图中深度有效的像素点;
根据场景信息和/或相机信息中至少两种影响因素,确定每个所述深度有效的像素点的深度置信度;
所述根据所述深度置信度,对所述当前帧深度图中的像素点进行点云融合处理,包括:
根据所述深度置信度,对所述当前帧深度图中深度有效的像素点进行点云融合处理。
可以看出,本公开实施例中,由于点云融合处理过程是基于深度有效的像素点实现,因而,可以增加点云融合处理的可靠性。
可选地,所述获取当前帧深度图中深度有效的像素点包括:
根据至少一个参考帧深度图,检测当前帧深度图的像素点的深度是否有效;
保留所述当前帧深度图中深度有效的像素点。
可以看出,本公开实施例中,可以保留当前帧深度图中深度有效的像素点,以便后续根据深度有效的像素点进行点云融合,从而可以剔除深度无效的点云,提高点云融合的准确性,同时提高点云融合的处理速度,有利于实现点云融合的实时展示。
可选地,所述至少一个参考帧深度图包括在获取当前帧深度图前获取的至少一帧深度图。
可以看出,本公开实施例中,可以根据获取当前帧深度图前获取的深度图作为参考帧,来判断当前帧深度图的像素点的深度是否有效,因而,可以在获取当前帧深度图前获取的深度图的基础上,较为准确地判断当前帧深度图的像素点的深度是否有效。
可选地,所述根据至少一个参考帧深度图,检测当前帧深度图的像素点的深度是否有效,包括:
利用所述至少一个参考帧深度图,对所述当前帧深度图的像素点进行深度一致性检查;
确定通过所述深度一致性检查的像素点的深度有效,未通过所述深度一致性检查的像素点的深度无效。
可以看出,本公开实施例中,可以通过深度一致性检查,来判断当前帧深度图的像素点的深度是否有效,因而,可以较为准确地判断当前帧深度图的像素点的深度是否有效。
可选地,所述利用所述至少一个参考帧深度图,对所述当前帧深度图的像素点进行深度一致性检查,包括:
获取多个参考帧深度图;
判断所述当前帧深度图的第一像素点与每个所述参考帧深度图的对应像素点之间是否满足深度一致性条件,所述第一像素点是所述当前帧深度图的任意一个像素点;
在与所述第一像素点之间满足所述深度一致性条件的所述对应像素点的个数大于或等于设定值的情况下,确定所述第一像素点通过所述深度一致性检查;在与所述第一像素点之间满足所述深度一致性条件的所述对应像素点的个数小于设定值的情况下,确定所述第一像素点未通过所述深度一致性检查。
可以看出,本公开实施例中,根据与第一像素点之间满足深度一致性条件的所述对应像素点的个数的多少,来确定第一像素点是否通过深度一致性检查,在与第一像素点之间满足深度一致性条件的所述对应像素点的个数较多的情况下,认为第一像素点通过深度一致性检查;反之,认为第一像素点未通过深度一致性检查,这样,可以提高深度一致性检查的鲁棒性和可靠性。
可选地,所述判断所述当前帧深度图的第一像素点与每个所述参考帧深度图的对应像素点之间是否满足深度一致性条件,包括:
将所述第一像素点投影至每个所述参考帧深度图,得到每个所述参考帧深度图中投影点的投影位置和投影深度;
获取每个所述参考帧深度图中所述投影位置的测量深度值;
获取每个参考帧深度图中所述投影点的投影深度与所述投影位置的测量深度值之间的差值;
在所述差值小于或等于第一设定深度阈值的情况下,确定所述第一像素点与对应的参考帧深度图的对应像素点之间满足深度一致性条件;在所述差值大于第一设定深度阈值的情况下,确定所述第一像素点与对应的参考帧深度图的对应像素点之间不满足深度一致性条件。
由于相机拍摄视角不同,可能存在同一物体的某个位置在当前帧深度图中被遮挡,而其在参考帧深度图中未被遮挡的情况,此时,该位置在当前帧深度图中的像素点的深度及其在参考帧深度图中对应位置的像素点的深度的差别较大,则该位置的像素点的深度可靠性较低,采用该像素点进行点云融合会降低融合的精度。为了减少遮挡导致的融合精度降低问题,本公开中,可以先判断每个参考帧深度图中投影点的投影深度与投影位置的测量深度值之间的差值,然后该差值较小时,确定第一像素点与对应的参考帧深度图的对应像素点之间满足深度一致性条件;否则,确定第一像素点与对应的参考帧深度图的对应像素点之间不满足深度一致性条件;如此,可以降低某个位置在当前帧深度图中被遮挡对像素点的深度可靠性造成的影响,采用该像素点进行点云融合时,可以使点云融合的精度保持在较高的水平。
可选地,所述场景信息中包括场景结构和场景纹理中至少一种影响因素,所述相机信息中至少包括相机配置。
可以看出,本公开实施例中,可以通过综合考虑场景结构、场景纹理和相机配置中的至少两种因素,来确定像素点的深度置信度,因而,可以提高深度置信度的可靠性,进而,可以提高点云融合处理的可靠性。
可选地,所述根据场景信息和/或相机信息中至少两种影响因素,确定所述当前帧深度图中的像素点的深度置信度包括:
针对当前帧深度图中的像素点,分别得出场景结构、相机配置和场景纹理中至少两种影响因素对应的权重;
融合所述至少两种影响因素对应的权重,获得所述当前帧深度图中像素点的深度置信度。
可以看出,本公开实施例中,可以通过综合考虑场景结构、场景纹理和相机配置中的至少两种因素的权重,来确定像素点的深度置信度,因而,可以提高深度置信度的可靠性,进而,可以提高点云融合处理的可靠性。
可选地,所述针对当前帧深度图中的像素点,分别得出场景结构、相机配置和场景纹理中至少两种影响因素对应的权重,包括:
根据所述当前帧深度图中的像素点的属性信息,分别得出场景结构、相机配置和场景纹理中至少两种影响因素对应的权重;所述属性信息至少包括:位置和/或法向量。
可以看出,由于像素点的属性信息便于预先得知,因而,可以较为方便地得出场景结构、相机配置和场景纹理中至少两种影响因素对应的权重,进而,有利于得出当前帧深度图中像素点的深度置信度。
可选地,所述融合所述至少两种影响因素对应的权重,获得所述当前帧深度图中像素点的深度置信度,包括:
通过将所述至少两种影响因素对应的权重相乘,得到联合权重;根据所述联合权重,得出所述当前帧深度图中像素点的深度置信度。
可以看出,通过将至少两种影响因素对应的权重相乘,可以较为方便的得出前帧深度图中像素点的深度置信度,便于实现。
可选地,所述根据所述深度置信度,对所述当前帧深度图中的像素点进行点云融合处理,包括:
用面元表示所述当前帧深度图中的每个像素点;每个面元至少包括对应像素点的深度置信度;
根据当前帧的面元集合,对上一帧更新后的现有面元集合进行集合更新,得到当前帧更新后的现有面元集合,所述当前帧更新后的现有面元集合表示当前帧深度图的点云融合处理结果;所述当前帧的面元集合包括当前帧深度图中深度有效的各个像素点对应的面元的集合;
所述集合更新包括面元增加、面元更新和面元删除中的至少一种操作。
可以看出,本公开实施例中,可以采用基于面元的表达,实现点云融合处理;而面元可以表示点的属性信息,因而,可以根据点的属性信息,高效地实现点云融合处理。
可选地,所述每个面元还包括对应像素点的位置、法向量、内点权重和外点权重;其中,所述内点权重用于表示对应像素点属于内点的概率,所述外点权重用于表示对应像素点属于外点的概率,所述内点权重与所述外点权重的差值用于表示对应像素点的深度置信度。
可以看出,采用基于面元的表示,可以很方便地添加点的各种属性信息,进而,便于在综合考虑点的各种属性信息的基础上,较为准确地实现点云融合处理。
可选地,所述根据当前帧的面元集合,对所述上一帧更新后的现有面元集合进行集合更新,包括:
在所述当前帧的面元集合中存在未被所述上一帧更新后的现有面元集合覆盖的第一面元的情况下,将所述第一面元添加到所述上一帧更新后的现有面元集合中。
由于第一面元是未被上一帧更新后的现有面元集合覆盖的面元,因而,是需要添加上一帧更新后的现有面元集合的面元,进而,通过上述面元增加操作,可以得到符合实际需求的点云融合处理结果。
可选地,所述根据当前帧的面元集合,对所述上一帧更新后的现有面元集合进行集合更新,包括:
在所述当前帧的面元集合中存在被所述上一帧更新后的现有面元集合覆盖的第二面元,且所述第二面元的深度大于所述上一帧更新后的现有面元集合中对应面元的投影深度,同时所述第二面元的深度与所述上一帧更新后的现有面元集合中对应面元的投影深度的差值大于或等于第一设定深度阈值的情况下,在所述上一帧更新后的现有面元集合中增加所述第二面元。
可以看出,根据上述第二面元与上一帧更新后的现有面元集合的关系,可以确定第二面元是需要添加上一帧更新后的现有面元集合的面元,进而,通过上述面元增加操作,可以得到符合实际需求的点云融合处理结果。
可选地,所述根据当前帧的面元集合,对所述上一帧更新后的现有面元集合进行集合更新,包括:
在所述当前帧的面元集合中存在被所述上一帧更新后的现有面元集合覆盖的第二面元,且所述第二面元的深度小于所述上一帧更新后的现有面元集合中对应面元的投影深度,同时所述第二面元的深度与所述上一帧更新后的现有面元集合中对应面元的投影深度的差值大于或等于第二设定深度阈值的情况下,增加所述上一帧更新后的现有面元集合中对应面元的外点权重值。
可以看出,在第二面元的深度小于上一帧更新后的现有面元集合中对应面元的投影深度的情况下,说明第二面元属于外点的可能性比较大,此时,通过增加上一帧更新后的现有面元集合中对应面元的外点权重值,可以使面元更新更加符合实际需求。
可选地,所述根据当前帧的面元集合,对所述上一帧更新后的现有面元集合进行集合更新,包括:
在所述当前帧的面元集合中存在被所述上一帧更新后的现有面元集合覆盖的第二面元,且所述第二面元的深度与所述上一帧更新后的现有面元集合中对应面元的投影深度的差值小于第三设定深度阈值,同时所述上一帧更新后的现有面元集合中对应面元的法向量与所述第二面元的法向量的夹角小于或等于设定角度值的情况下,更新所述上一帧更新后的现有面元集合中对应面元的位置、法向量,并增加所述上一帧更新后的现有面元集合中对应面元的内点权重值。
可以看出,在第二面元的深度与上一帧更新后的现有面元集合中对应面元的投影深度的差值小于第三设定深度阈值,且上一帧更新后的现有面元集合中对应面元的法向量与第二面元的法向量的夹角小于或等于设定角度值的情况下,说明当前帧的面元集合中第二面元的测量深度是有效的深度,此时,更新对应面元的位置、法向量和内点权重,可以使面元更新更加符合实际需求。
可选地,所述根据当前帧的面元集合,对所述上一帧更新后的现有面元集合进行集合更新,包括:
在所述当前帧的面元集合中存在被所述上一帧更新后的现有面元集合覆盖的第二面元,且所述第二面元的深度与所述上一帧更新后的现有面元集合中对应面元的投影深度的差值小于第三设定深度阈值,同时所述上一帧更新后的现有面元集合中对应面元的法向量与所述第二面元的法向量的夹角大于设定角度值的情况下,增加所述上一帧更新后的现有面元集合中对应面元的外点权重值。
由于细微结构处深度差距小但不同视角的法向变化大,只是简单融合深度差距会被平均掉,而本公开会更新外点权重,保留细微深度差异,因而,可以使得本公开实施例的点云融合方案对细微结构的处理更有效。
可选地,所述根据当前帧的面元集合,对所述上一帧更新后的现有面元集合进行集合更新,包括:
在所述当前帧的面元集合中存在满足预设删除条件的面元的情况下,删除所述当前帧的面元集合中满足预设删除条件的面元;其中,所述满足预设删除条件的面元为:对应像素点的深度置信度小于设定置信度阈值的面元。
可以看出,通过删除深度置信度较小的面元,可以将使得保留下的面元均具有较高的深度置信度,因而,有利于提升点云融合的可靠性和准确性。
本公开实施例还提供了一种点云融合装置,所述装置包括确定模块和融合模块,其中,
确定模块,用于根据场景信息和/或相机信息中至少两种影响因素,确定所述当前帧深度图中的像素点的深度置信度,其中所述场景信息和相机信息分别至少包括一种影响因素;
融合模块,用于根据所述深度置信度,对所述当前帧深度图中的像素点进行点云融合处理。
可选地,所述确定模块,用于获取所述当前帧深度图中深度有效的像素点;根据场景信息和/或相机信息中至少两种影响因素,确定每个所述深度有效的像素点的深度置信度;
所述融合模块,用于根据所述深度置信度,对所述当前帧深度图中深度有效的像素点进行点云融合处理。
可以看出,本公开实施例中,由于点云融合处理过程是基于深度有效的像素点实现,因而,可以增加点云融合处理的可靠性。
可选地,所述确定模块,用于根据至少一个参考帧深度图,检测当前帧深度图的像素点的深度是否有效;保留所述当前帧深度图中深度有效的像素点。
可以看出,本公开实施例中,可以保留当前帧深度图中深度有效的像素点,以便后续根据深度有效的像素点进行点云融合,从而可以剔除深度无效的点云,提高点云融合的准确性,同时提高点云融合的处理速度,有利于实现点云融合的实时展示。
可选地,所述至少一个参考帧深度图包括在获取当前帧深度图前获取的至少一帧深度图。
可以看出,本公开实施例中,可以根据获取当前帧深度图前获取的深度图,来判断当前帧深度图的像素点的深度是否有效,因而,可以在获取当前帧深度图前获取的深度图的基础上,较为准确地判断当前帧深度图的像素点的深度是否有效。
可选地,所述确定模块,用于利用所述至少一个参考帧深度图,对所述当前帧深度图的像素点进行深度一致性检查;确定通过所述深度一致性检查的像素点的深度有效,未通过所述深度一致性检查的像素点的深度无效。
可以看出,本公开实施例中,可以通过深度一致性检查,来判断当前帧深度图的像素点的深度是否有效,因而,可以较为准确地判断当前帧深度图的像素点的深度是否有效。
可选地,所述确定模块,用于获取多个参考帧深度图;判断所述当前帧深度图的第一像素点与每个所述参考帧深度图的对应像素点之间是否满足深度一致性条件;在与所述第一像素点之间满足所述深度一致性条件的所述对应像素点的个数大于或等于设定值的情况下,确定所述第一像素点通过所述深度一致性检查;在与所述第一像素点之间满足所述深度一致性条件的所述对应像素点的个数小于设定值的情况下,确定所述第一像素点未通过所述深度一致性检查;所述第一像素可以看出,本公开实施例中,根据与第一像素点之间满足深度一致性条件的所述对应像素点的个数的多少,来确定第一像素点是否通过深度一致性检查,在与第一像素点之间满足深度一致性条件的所述对应像素点的个数较多的情况下,认为第一像素点通过深度一致性检查;反之,认为第一像素点未通过深度一致性检查,这样,可以提高深度一致性检查的鲁棒性和可靠性。点是所述当前帧深度图的任意一个像素点。
可选地,所述确定模块,用于将所述第一像素点投影至每个所述参考帧深度图,得到每个所述参考帧深度图中投影点的投影位置和投影深度;获取每个所述参考帧深度图中所述投影位置的测量深度值;获取每个参考帧深度图中所述投影点的投影深度与所述投影位置的测量深度值之间的差值;在所述差值小于或等于第一设定深度阈值的情况下,确定所述第一像素点与对应的参考帧深度图的对应像素点之间满足深度一致性条件;在所述差值大于第一设定深度阈值的情况下,确定所述第一像素点与对应的参考帧深度图的对应像素点之间不满足深度一致性条件。
由于相机拍摄视角不同,可能存在同一物体的某个位置在当前帧深度图中被遮挡,而其在参考帧深度图中未被遮挡的情况,此时,该位置在当前帧深度图中的像素点的深度及其在参考帧深度图中对应位置的像素点的深度的差别较大,则该位置的像素点的深度可靠性较低,采用该像素点进行点云融合会降低融合的精度。为了减少遮挡导致的融合精度降低问题,本公开中,可以先判断每个参考帧深度图中投影点的投影深度与投影位置的测量深度值之间的差值,然后该差值较小时,确定第一像素点与对应的参考帧深度图的对应像素点之间满足深度一致性条件;否则,确定第一像素点与对应的参考帧深度图的对应像素点之间不满足深度一致性条件;如此,可以降低某个位置在当前帧深度图中被遮挡对像素点的深度可靠性造成的影响,采用该像素点进行点云融合时,可以使点云融合的精度保持在较高的水平。
可选地,所述场景信息中包括场景结构和场景纹理中至少一种影响因素,所述相机信息中至少包括相机配置。
可以看出,本公开实施例中,可以通过综合考虑场景结构、场景纹理和相机配置中的至少两种因素,来确定像素点的深度置信度,因而,可以提高深度置信度的可靠性,进而,可以提高点云融合处理的可靠性。
可选地,所述确定模块,用于针对当前帧深度图中的像素点,分别得出场景结构、相机配置和场景纹理中至少两种影响因素对应的权重;融合所述至少两种影响因素对应的权重,获得所述当前帧深度图中像素点的深度置信度。
可以看出,本公开实施例中,可以通过综合考虑场景结构、场景纹理和相机配置中的至少两种因素的权重,来确定像素点的深度置信度,因而,可以提高深度置信度的可靠性,进而,可以提高点云融合处理的可靠性。
可选地,所述确定模块,用于根据所述当前帧深度图中的像素点的属性信息,分别得出场景结构、相机配置和场景纹理中至少两种影响因素对应的权重;所述属性信息至少包括:位置和/或法向量。
可以看出,由于像素点的属性信息便于预先得知,因而,可以较为方便地得出场景结构、相机配置和场景纹理中至少两种影响因素对应的权重,进而,有利于得出当前帧深度图中像素点的深度置信度。
可选地,所述确定模块,用于通过将所述至少两种影响因素对应的权重相乘,得到联合权重;根据所述联合权重,得出所述当前帧深度图中像素点的深度置信度。
可以看出,通过将至少两种影响因素对应的权重相乘,可以较为方便的得出前帧深度图中像素点的深度置信度,便于实现。
可选地,所述融合模块,用于用面元表示所述当前帧深度图中的每个像素点;每个面元至少包括对应像素点的深度置信度;
所述融合模块,用于根据当前帧的面元集合,对上一帧更新后的现有面元集合进行集合更新,得到当前帧更新后的现有面元集合,所述当前帧更新后的现有面元集合表示当前帧深度图的点云融合处理结果;所述当前帧的面元集合包括当前帧深度图中深度有效的各个像素点对应的面元的集合;
所述集合更新包括面元增加、面元更新和面元删除中的至少一种操作。
可以看出,本公开实施例中,可以采用基于面元的表达,实现点云融合处理;而面元可以表示点的属性信息,因而,可以根据点的属性信息,高效地实现点云融合处理。
可选地,所述每个面元还包括对应像素点的位置、法向量、内点权重和外点权重;其中,所述内点权重用于表示对应像素点属于内点的概率,所述外点权重用于表示对应像素点属于外点的概率,所述内点权重与所述外点权重的差值用于表示对应像素点的深度置信度。
可以看出,采用基于面元的表示,可以很方便地添加点的各种属性信息,进而,便于在综合考虑点的各种属性信息的基础上,较为准确地实现点云融合处理。
可选地,所述融合模块,用于在所述当前帧的面元集合中存在未被所述上一帧更新后的现有面元集合覆盖的第一面元的情况下,将所述第一面元添加到所述上一帧更新后的现有面元集合中。
由于第一面元是未被上一帧更新后的现有面元集合覆盖的面元,因而,是需要添加上一帧更新后的现有面元集合的面元,进而,通过上述面元增加操作,可以得到符合实际需求的点云融合处理结果。
可选地,所述融合模块,用于在所述当前帧的面元集合中存在被所述上一帧更新后的现有面元集合覆盖的第二面元,且所述第二面元的深度大于所述上一帧更新后的现有面元集合中对应面元的投影深度,同时所述第二面元的深度与所述上一帧更新后的现有面元集合中对应面元的投影深度的差值大于或等于第一设定深度阈值的情况下,在所述上一帧更新后的现有面元集合中增加所述第二面元。
可以看出,根据上述第二面元与上一帧更新后的现有面元集合的关系,可以确定第二面元是需要添加上一帧更新后的现有面元集合的面元,进而,通过上述面元增加操作,可以得到符合实际需求的点云融合处理结果。
可选地,所述融合模块,用于在所述当前帧的面元集合中存在被所述上一帧更新后的现有面元集合覆盖的第二面元,且所述第二面元的深度小于所述上一帧更新后的现有面元集合中对应面元的投影深度,同时所述第二面元的深度与所述上一帧更新后的现有面元集合中对应面元的投影深度的差值大于或等于第二设定深度阈值的情况下,增加所述上一帧更新后的现有面元集合中对应面元的外点权重值。
可以看出,在第二面元的深度小于上一帧更新后的现有面元集合中对应面元的投影深度的情况下,说明第二面元属于外点的可能性比较大,此时,通过增加上一帧更新后的现有面元集合中对应面元的外点权重值,可以使面元更新更加符合实际需求。
可选地,所述融合模块,用于在所述当前帧的面元集合中存在被所述上一帧更新后的现有面元集合覆盖的第二面元,且所述第二面元的深度与所述上一帧更新后的现有面元集合中对应面元的投影深度的差值小于第三设定深度阈值,同时所述上一帧更新后的现有面元集合中对应面元的法向量与所述第二面元的法向量的夹角小于或等于设定角度值的情况下,更新所述上一帧更新后的现有面元集合中对应面元的位置、法向量,并增加所述上一帧更新后的现有面元集合中对应面元的内点权重值。
可以看出,在第二面元的深度与上一帧更新后的现有面元集合中对应面元的投影深度的差值小于第三设定深度阈值,且上一帧更新后的现有面元集合中对应面元的法向量与第二面元的法向量的夹角小于或等于设定角度值的情况下,说明当前帧的面元集合中第二面元的测量深度是有效的深度,此时,更新对应面元的位置、法向量和内点权重,可以使面元更新更加符合实际需求。
可选地,所述融合模块,用于在所述当前帧的面元集合中存在被所述上一帧更新后的现有面元集合覆盖的第二面元,且所述第二面元的深度与所述上一帧更新后的现有面元集合中对应面元的投影深度的差值小于第三设定深度阈值,同时所述上一帧更新后的现有面元集合中对应面元的法向量与所述第二面元的法向量的夹角大于设定角度值的情况下,增加所述上一帧更新后的现有面元集合中对应面元的外点权重值。
可以看出,由于细微结构处深度差距小但不同视角的法向变化大,只是简单融合深度差距会被平均掉,而本公开会更新外点权重,保留细微深度差异,因而,可以使得本公开实施例的点云融合方案对细微结构的处理更有效。
可选地,所述融合模块,用于在所述当前帧的面元集合中存在满足预设删除条件的面元的情况下,删除所述当前帧的面元集合中满足预设删除条件的面元;其中,所述满足预设删除条件的面元为:对应像素点的深度置信度小于设定置信度阈值的面元。
可以看出,通过删除深度置信度较小的面元,可以将使得保留下的面元均具有较高的深度置信度,因而,有利于提升点云融合的可靠性和准确性。
本公开实施例还提供了一种电子设备,包括处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,所述处理器用于在运行所述计算机程序的情况下,执行上述任意一种点云融合方法。
本公开实施例还提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任意一种点云融合方法。
基于本公开实施例的提出的点云融合方法、装置、电子设备和计算机存储介质中,根据场景信息和/或相机信息中至少两种影响因素,确定所述当前帧深度图中的像素点的深度置信度,其中所述场景信息和相机信息分别至少包括一种影响因素;根据所述深度置信度,对所述当前帧深度图中的像素点进行点云融合处理。如此,本公开实施例中,可以综合考虑多种因素来确定像素点的深度置信度,因而,可以提高深度置信度的可靠性,进而,可以提高点云融合处理的可靠性。
附图说明
图1为本公开实施例的点云融合方法的流程图;
图2为本公开实施例中获取的深度图的一个示意图;
图3为在图2的基础上采用本公开实施例的方案得到的通过深度一致性检查后的当前帧深度图;
图4为在图2和图3的基础上基于本公开实施例的技术方案生成的深度置信度图;
图5为在图3和图4的基础上基于本公开实施例的技术方案生成的融合后的点云数据的示意图;
图6为本公开实施例的点云融合装置的组成结构示意图;
图7为本公开实施例的电子设备的结构示意图。
具体实施方式
以下结合附图及实施例,对本公开进行进一步详细说明。应当理解,此处所提供的实施例仅仅用以解释本公开,并不用于限定本公开。另外,以下所提供的实施例是用于实施本公开的部分实施例,而非提供实施本公开的全部实施例,在不冲突的情况下,本公开实施例记载的技术方案可以任意组合的方式实施。
需要说明的是,在本公开实施例中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的方法或者装置不仅包括所明确记载的要素,而且还包括没有明确列出的其他要素,或者是还包括为实施方法或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括该要素的方法或者装置中还存在另外的相关要素(例如方法中的步骤或者装置中的单元,例如的单元可以是部分电路、部分处理器、部分程序或软件等等)。
例如,本公开实施例提供的点云融合方法包含了一系列的步骤,但是本公开实施例提供的点云融合方法不限于所记载的步骤,同样地,本公开实施例提供的点云融合装置包括了一系列模块,但是本公开实施例提供的装置不限于包括所明确记载的模块,还可以包括为获取相关信息、或基于信息进行处理时所需要设置的模块。
本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
下面对相关的点云融合方案存在的问题进行示例性说明。对于激光扫描仪采集到的点云数据,一种简单的点云融合方法为利用八叉树进行点云融合简化,这种方法对落在同一个体素内的点进行加权平均,经常会遇到同一个体素覆盖了物体的不同区域的情况,特别是细微结构中,简单的加权平均无法区分细微结构。在一些稠密同步定位与建图(Simultaneous Localization and Mapping,SLAM)应用中,不同视角的图像往往存在较大面积的重叠,现有的点云融合方法要么简单地对重叠区域的深度值进行融合,这样会造成可靠度比较低的区域也被错误的融合在一起;要么根据深度置信度进行融合,而深度置信度根据点云的局部结构或场景纹理计算得到,但这种方法计算的深度置信度并不可靠,比如对弱纹理区域,基于场景纹理的深度置信度计算方法,并不能得到准确的深度置信度。
另外,在移动平台中,往往要求点云融合的过程能够实时在线展示,这也对点云融合的计算效率提出很大的挑战。
针对上述技术问题,本公开实施例提出了一种点云融合方法,其执行主体可以是点云融合装置,例如,图像深度估计方法可以由终端设备或服务器或其它电子设备执行,其中,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该图像深度估计方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。本公开提出的点云融合方法可以应用于三维建模、增强现实、图像处理、拍照、游戏、动画、影视、电子商务、教育、房产和家居装修等领域。本公开实施例中,并不对点云数据的获取方式进行限定。采用本公开实施例的技术方案,可以利用相机采集得到连续视频帧,在视频连续帧的相机位姿和深度图已知时,可以通过对多视图深度进行融合,得到高精度点云数据。
图1为本公开实施例的点云融合方法的流程图,如图1所示,该流程可以包括:
步骤101:根据场景信息和/或相机信息中至少两种影响因素,确定所述当前帧深度图中的像素点的深度置信度,其中所述场景信息和相机信息分别至少包括一种影响因素。
本公开实施例中,并不对获取当前帧深度图的方式进行限定;例如,当前帧深度图可以由用户通过人机交互方式输入;图2为本公开实施例中获取的深度图的一个示意图。
步骤102:根据所述深度置信度,对所述当前帧深度图中的像素点进行点云融合处理。
步骤101至步骤102可以利用电子设备中的处理器实现,上述处理器可以为特定用途集成电路(Application Specific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理装置(Digital Signal ProcessingDevice,DSPD)、可编程逻辑装置(Programmable Logic Device,PLD)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器中的至少一种。
可以看出,本公开实施例中,可以综合考虑多种因素来确定像素点的深度置信度,因而,可以提高深度置信度的可靠性,进而,可以提高点云融合处理的可靠性。
对于步骤101的实现方式,示例性地,可以获取当前帧深度图中深度有效的像素点;根据场景信息和/或相机信息中至少两种影响因素,确定每个深度有效的像素点的深度置信度;
相应地,对于步骤102的实现方式,示例性地,可以根据上述深度置信度,对当前帧深度图中深度有效的像素点进行点云融合处理。
具体地,可以预先判定当前帧深度图中像素点的深度是否有效,例如通过人工或参考帧对比的方式,然后再根据场景信息和/或相机信息中至少两种影响因素,确定深度有效的像素点的深度置信度,以对深度有效的像素点进行点云融合。可以看出,本公开实施例中,由于点云融合处理过程是基于深度有效的像素点实现,因而,可以增加点云融合处理的可靠性。
可选地,在获取到至少一个参考帧深度图后,便可以根据至少一个参考帧深度图,检测当前帧深度图的像素点的深度是否有效,并丢弃当前帧深度图中深度无效的像素点,保留深度有效的像素点,以便后续根据深度有效的像素点进行点云融合,从而可以剔除深度无效的点云,提高点云融合的精度和准确性,同时提高点云融合的处理速度,有利于实现点云融合的实时展示。
可选地,上述至少一个参考帧深度图可以包括在获取当前帧深度图前获取的至少一帧深度图;在一个具体的示例中,上述至少参考帧深度图包括与所述当前帧深度图相邻的前N帧深度图,其中,N为大于或等于1的整数;可选地,1≤N≤7。
也就是说,对于当前帧深度图,可以利用相邻的前N帧深度图作为参考帧深度图。
可以看出,本公开实施例中,可以根据获取当前帧深度图前获取的深度图,来判断当前帧深度图的像素点的深度是否有效,因而,以获取当前帧深度图前获取的深度图为依据,可以较为准确地判断当前帧深度图的像素点的深度是否有效。
对于根据至少一个参考帧深度图,检测当前帧深度图的像素点的深度是否有效的实现方式,示例性地,可以利用至少一个参考帧深度图,对当前帧深度图的像素点进行深度一致性检查;确定通过深度一致性检查的像素点的深度有效,未通过所述深度一致性检查的像素点的深度无效。
这里,深度一致性检查可以是指检查当前帧深度图的像素点与参考帧深度图对应像素点的深度的差异在预设范围内,在差异处于预设范围内的情况下,确定该像素点的深度有效,否则确定该像素点的深度无效。
可以看出,本公开实施例中,可以通过深度一致性检查,来判断当前帧深度图的像素点的深度是否有效,因而,可以较为准确地判断当前帧深度图的像素点的深度是否有效。
这里,在丢弃当前帧深度图中深度无效的像素点后,可以得到通过深度一致性检查后的当前帧深度图,图3为在图2的基础上采用本公开实施例的方案得到的通过深度一致性检查后的当前帧深度图。
在一些实施例中,可以获取一个参考帧深度图,然后判断当前帧深度图的像素点与该参考帧深度图对应像素点之间是否满足深度一致性条件,在当前帧深度图的像素点与该参考帧深度图对应像素点之间满足深度一致性条件的情况下,确定该像素点的深度有效,否则确定该像素点的深度无效。
在一些实施例中,可以获取多个参考帧深度图,然后,可以判断当前帧深度图的第一像素点与每个参考帧深度图的对应像素点之间是否满足深度一致性条件,第一像素点是所述当前帧深度图的任意一个像素点;
在与第一像素点之间满足深度一致性条件的对应像素点的个数大于或等于设定值的情况下,确定第一像素点通过深度一致性检查;在与第一像素点之间满足深度一致性条件的对应像素点的个数小于设定值的情况下,确定第一像素点未通过深度一致性检查。
这里,深度一致性条件可以是:当前帧深度图的像素点与参考帧深度图对应像素点的深度的差异小于预设范围。
本公开实施例中,通过判断当前帧深度图的第一像素点与每个参考帧深度图的对应像素点之间是否满足深度一致性条件,可以确定出与第一像素点之间满足深度一致性条件的所述对应像素点的个数;例如,当前帧深度图的第一像素点与M个参考帧深度图的对应像素点之间是否满足深度一致性条件,则与第一像素点之间满足深度一致性条件的对应像素点的个数为M。
设定值可以根据实际需要确定,例如设定值可以是为参考帧深度图总数的50%、60%或70%。
可以看出,本公开实施例中,根据与第一像素点之间满足深度一致性条件的所述对应像素点的个数的多少,来确定第一像素点是否通过深度一致性检查,在与第一像素点之间满足深度一致性条件的所述对应像素点的个数较多的情况下,认为第一像素点通过深度一致性检查;反之,认为第一像素点未通过深度一致性检查,这样,可以提高深度一致性检查的鲁棒性和可靠性。
对于判断当前帧深度图的第一像素点与每个参考帧深度图的对应像素点之间是否满足深度一致性条件的实现方式,在第一个示例中,可以将第一像素点投影至每个参考帧深度图,得到每个参考帧深度图中投影点的投影位置和投影深度;获取每个参考帧深度图中投影位置的测量深度值;由于深度传感器存在误差,且数据传输可能存在噪声干扰,因此每个参考帧对应的投影深度与投影位置的深度值之间通常会存在较小的差距。在判断像素点是否满足深度一致性条件时,设定一个第一设定深度阈值;获取每个参考帧深度图中投影点的投影深度与投影位置的测量深度值之间的差值;在上述差值小于或等于第一设定深度阈值的情况下,确定第一像素点与对应的参考帧深度图的对应像素点之间满足深度一致性条件;在上述差值大于第一设定深度阈值的情况下,确定所述第一像素点与对应的参考帧深度图的对应像素点之间不满足深度一致性条件。
在一些其它的实施例中,对于判断当前帧深度图的像素点与每个参考帧深度图的对应像素点之间是否满足深度一致性条件的实现方式,可以将参考帧深度图的像素点投影至当前帧深度图,得到当前帧深度图的投影位置和投影深度;获取当前帧深度图中投影位置的测量深度值;得出当前帧深度图中投影点的投影深度与投影位置的测量深度值之间的差值;上述当前帧深度图中投影点的投影深度与投影位置的测量深度值之间的差值小于第二设定深度阈值的情况下,可以确定当前帧深度图的像素点与每个参考帧深度图的对应像素点之间满足深度一致性条件;否则,确定当前帧深度图的像素点与每个参考帧深度图的对应像素点之间不满足深度一致性条件。
在一些其它的实施例中,对于判断当前帧深度图的像素点与每个参考帧深度图的对应像素点之间是否满足深度一致性条件的实现方式,可以将参考帧深度图的像素点和当前帧深度图对应像素点均投影至三维空间,然后,在三维空间中比较参考帧深度图的像素点和当前帧深度图对应像素点的深度差异,在该深度差异小于第三设定深度阈值的情况下,可以确定当前帧深度图的像素点与每个参考帧深度图的对应像素点之间满足深度一致性条件;否则,确定当前帧深度图的像素点与每个参考帧深度图的对应像素点之间不满足深度一致性条件。
这里,第一设定深度阈值、第二设定深度阈值和第三设定深度阈值可以根据实际应用需求预先确定,第一设定深度阈值、第二设定深度阈值和第三设定深度阈值两两之间可以相同,也可以不同;在一个具体的示例中,第一设定深度阈值、第二设定深度阈值或第三设定深度阈值的取值范围可以是0.025m至0.3m,可以将第一设定深度阈值、第二设定深度阈值或第三设定深度阈值记为τ,τ=0.01*(d′max-d′min),其中,[d′max,d′min]是深度传感器的有效范围,例如,(d′min,d′max)=(0.25m,3m)。
由于相机拍摄视角不同,可能存在同一物体的某个位置在当前帧深度图中被遮挡,而其在参考帧深度图中未被遮挡的情况,此时,该位置在当前帧深度图中的像素点的深度及其在参考帧深度图中对应位置的像素点的深度的差别较大,则该位置的像素点的深度可靠性较低,采用该像素点进行点云融合会降低融合的精度。为了减少遮挡导致的融合精度降低问题,本公开中,可以先判断每个参考帧深度图中投影点的投影深度与投影位置的测量深度值之间的差值,然后该差值较小时,确定第一像素点与对应的参考帧深度图的对应像素点之间满足深度一致性条件;否则,确定第一像素点与对应的参考帧深度图的对应像素点之间不满足深度一致性条件;如此,可以降低某个位置在当前帧深度图中被遮挡对像素点的深度可靠性造成的影响,采用该像素点进行点云融合时,可以使点云融合的精度保持在较高的水平。
下面以当前帧深度图D中的像素点p为例,对检测当前帧深度图的像素点的深度是否有效的实现方式进行示例性说明。
对于当前帧深度图D中的像素点p,利用其深度D(p)反投影至3D空间获得3D点P,反投影计算公式如下:
P=T-1*(D(p)*π-1(p)) (1)
其中,π表示投影矩阵,投影矩阵是指相机坐标系到像素坐标系的转换矩阵,采用透视投影方式;投影矩阵可以是预先标定的,也可以是通过计算得出;π-1表示投影矩阵的逆矩阵,T表示当前帧深度图D对应的世界坐标系到相机坐标系的刚性变换,T-1为T的逆变换。
然后,利用相机内外参将像素点p投影至参考帧D’,获得投影位置p’和投影深度dp’。
p’=π(T’*P) (2)
其中,T’表示参考帧D’的刚性变换(参考帧D’对应的世界坐标系到相机坐标系的刚性变换);投影深度dp’表示进行投影后计算得到的投影点的第三维坐标。
这里,可以根据投影深度dp’和点p’的深度值D’(p’)的差是否超过第一设定深度阈值来判断像素点p的深度值是否满足深度一致性条件;D’(p’)是参考帧中投影位置本身的观测深度;通常投影深度dp’和点p’的深度值D’(p’)的差距不会过大;如果投影深度dp’和点p’的深度值D’(p’)的差距较大,则可能出现被遮挡或出现其他错误,此时,该像素点深度可能不可靠。
为了减少由于遮挡的出现带来的像素点深度不一致的问题,可以设置当前帧像素点p与超过60%的参考帧深度图的对应像素点之间满足深度一致性条件的情况下,判定像素点p的深度有效,具体可以用以下公式表示:
p'k=π(T'k*Tk -1*(D(p)*π-1(p))) (5)
其中,p'k将像素点p投影至第k个参考帧时得到的投影位置,表示将像素点p投影至第k个参考帧时得到的投影深度;D′(p'k)表示第k个参考帧中投影位置p'k的深度值,T'k表示第k个参考帧对应的世界坐标系到相机坐标系的刚性变换,Tk -1表示T'k的逆变换;N表示参考帧深度图的总数,C(p'k)用于判定像素点p与第k个参考帧对应像素点之间是否满足深度一致性条件,在C(p'k)等于1的情况下,说明像素点p与第k个参考帧对应像素点之间满足深度一致性条件,在C(p'k)等于0的情况下,说明像素点p与第k个参考帧对应像素点之间不满足深度一致性条件;C(p)用于判定像素点p的深度是否有效,在C(p)等于1的情况下,说明像素点p的深度有效,在C(p)等于1的情况下,说明像素点p的深度无效。
在获取当前帧深度图中深度有效的像素点后,可以根据场景信息和/或相机信息中至少两种影响因素,确定每个所述深度有效的像素点的深度置信度。
本公开实施例中,场景信息可以包括场景结构和场景纹理中至少一种影响因素,相机信息可以至少包括相机配置;场景结构和场景纹理分别表示场景的结构特征和纹理特征,例如,场景结构可以表示场景的表面朝向或其他结构信息,场景纹理可以是光度一致性或其他纹理特征;光度一致性是基于以下原理提出的纹理特征:基于同一个点不同角度光度通常是一致的,因而,采用光度一致性可以衡量场景纹理;相机配置可以是相机距离场景的远近或其它相机配置项。
在一些实施例中,可以根据场景结构、相机配置和场景纹理中的至少两种影响因素,确定当前帧深度图中的像素点的深度置信度。
在现有技术中,在计算深度置信度时,要么只考虑相机配置,要么只考虑场景纹理,深度图的深度置信度的可靠程度较低;而由于深度图的精确度与场景和相机的信息相关,尤其是与场景结构、相机配置、场景纹理三方面因素相关性较大,在本公开实施例中,通过考虑场景结构、相机配置和场景纹理中的至少两种因素,因此得出的像素点的深度置信度,可以增强像素点的深度置信度的可靠性。
对于根据场景信息和/或相机信息中至少两种影响因素,确定所述当前帧深度图中的像素点的深度置信度的实现方式,在一个示例中,可以根据场景信息或相机信息任一种中选取的至少两种影响因素,或者根据场景信息和相机信息中同时选出的至少两种影响因素,确定当前帧深度图中的像素点的深度置信度。
这里,确定当前帧深度图中深度有效的实现方式已经在前述记载的实施例中作出说明,这里不再赘述。
可以理解的是,深度置信度可以用于衡量深度图的精确度,深度图的精确度与场景结构、相机配置、场景纹理三方面因素相关;基于此,在一种实现方式中,可以针对当前帧深度图中的像素点,分别得出场景结构、相机配置和场景纹理中至少两种影响因素对应的权重;融合所述至少两种影响因素对应的权重,获得所述当前帧深度图中像素点的深度置信度。
可以看出,本公开实施例中,可以通过综合考虑场景结构、场景纹理和相机配置中的至少两种因素的权重,来确定像素点的深度置信度,因而,可以提高深度置信度的可靠性,进而,可以提高点云融合处理的可靠性。
对于针对当前帧深度图中的像素点,分别得出场景结构、相机配置和场景纹理中至少两种影响因素对应的权重的实现方式,示例性地,可以根据所述当前帧深度图中的像素点的属性信息,分别得出场景结构、相机配置和场景纹理中至少两种影响因素对应的权重;所述属性信息至少包括:位置和/或法向量。
可选地,为了得出场景结构、相机配置和场景纹理中至少两种影响因素对应的权重,还可以考虑相机与像素点之间的位置关系、相机的参数等其它参数。
可以看出,由于像素点的属性信息便于预先得知,因而,可以较为方便地得出场景结构、相机配置和场景纹理中至少两种影响因素对应的权重,进而,有利于得出当前帧深度图中像素点的深度置信度。
对于融合至少两种影响因素对应的权重,获得当前帧深度图中像素点的深度置信度的实现方式,示例性地,可以通过将至少两种影响因素对应的权重相乘,得到联合权重;根据所述联合权重,得出当前帧深度图中像素点的深度置信度。
可选地,可以将联合权重作为当前帧深度图中像素点的深度置信度;也可以利用联合权重调整前一帧对应点的深度置信度,得到当前帧中像素点的深度置信度。
可以看出,通过将至少两种影响因素对应的权重相乘,可以较为方便的得出前帧深度图中像素点的深度置信度,便于实现。
在本公开的一个具体的示例中,深度置信度可以代表场景结构、相机配置和光度一致性的联合权重,即包含基于几何结构的权重项,基于相机配置的权重项和基于光度一致性的权重项。
下面分别对基于几何结构的权重项,基于相机配置的权重项和基于光度一致性的权重项进行说明。
1)基于几何结构的权重项(几何权重项)
深度准确度跟场景表面朝向相关,在平行于相机成像平面的区域深度准确度高于斜面区域,定义几何权重项如下:
其中,wg(p)表示当前帧深度图中像素点对应的三维空间点P的几何权重项,np表示像素点p的单位法向量,vp表示该点p到相机光心的单位向量,αmax表示允许的np与vp之间的最大角度(75~90度),np与vp之间的角度超过αmax时,几何权重向为0,表示该点不可靠,<np,vp>表示np与vp的点乘运算,acos(np,vp)表示np与vp之间的角度。
2)基于相机配置的权重项(相机权重项)
深度准确度跟表面距离相机的远近有关,一般情况下,距离越远,深度值越不准确,本公开实施例中,定义相机权重项如下:
wc(p)=1-e-λδ (7)
其中,wc(p)表示当前帧深度图中像素点对应的三维空间点P的相机权重项,λ为设定的惩罚因子,δ为像素点p沿着投影射线方向移动一段距离产生的像素偏移;像素偏移表示投影点跟原像素点之间的距离,投影点是三维空间点P变动小量后投影到当前帧中得到的像素点。
3)基于光度一致性的权重项。
这里,可以利用归一化的交叉相关性(Normalized Cross Correlation,NCC)或其他参数计算光度一致性的权重项;采用NCC计算光度一致性的权重项,可以对光照变化有一定抗干扰能力。下面对采用NCC计算光度一致性的权重项的过程进行示例性说明。
基于光度一致性的权重项公式如下:
其中,wph(p)表示当前帧深度图中像素点对应的三维空间点P的光度一致性的权重项,thr表示设定门限,在一个示例中,thr等于0.65,计算NCC的窗口大小为5*5。存在多个参考帧的情况下,可以将每个参考帧与当前帧计算得到的NCC值进行加权平均或取中值等处理,得到最终的NCC(p)。
在一些其他的实施例中,由于NCC的值即可以衡量光度一致性,NCC越大一致性越高,因此也可以不需要进行截断处理,即,可以直接将NCC(p)作为wph(p)。
在计算出基于几何结构的权重项,基于相机配置的权重项和基于光度一致性的权重项后,可以根据以下公式得到联合权重w(p):
w(p)=wg(p)*wc(p)*wph(p) (9)
本公开实施例中,可以将该联合权重直接作为像素点p的深度置信度,可以根据计算得到的深度置信度,生成深度置信度图,图4为在图2和图3的基础上基于本公开实施例的技术方案生成的深度置信度图。当然,在其他实施例中,也可以利用该联合权重调整前一帧对应点的深度置信度,得到当前帧中像素点的深度置信度。
需要说明的是,本公开的前述实施例中,可以根据场景信息和/或相机信息中至少两种影响因素,确定当前帧深度图中的所有像素点的深度置信度;也可以根据场景信息和/或相机信息中至少两种影响因素,确定当前帧深度图中深度有效的像素点的深度置信度,以便于提高点云融合处理的精度。
在一些实施例中,可以用面元表示当前帧深度图中每个像素点或深度有效的每个像素点;每个面元至少包括对应像素点的深度置信度;并对当前帧深度图的面元集合进行调整,实现当前帧深度图的点云融合处理。
可选地,每个面元还包括对应像素点的位置、法向量、内点权重和外点权重;当然,面元中还可以包括对应像素点的颜色等;其中,内点权重用于表示对应像素点属于内点的概率,外点权重用于表示对应像素点属于外点的概率,像素点的深度置信度定义为内点权重与外点权重之差。例如,初始时,内点权重为w(p),外点权重为0。
可以看出,由于面元包含点的位置、法向、内/外点权重、深度置信度等信息,采用基于面元的表示,可以很方便地添加点的各种属性信息,进而,便于在综合考虑点的各种属性信息的基础上,较为准确地实现点云融合处理。
面元是场景三维结构表达的重要方式之一,面元包含三维点P的坐标、像素点p的法向量np、内点权重外点权重这里,采用三维点P的坐标可以表示对应像素点p的位置,这种表示方式可以使得点位置统一在同一个参考坐标系下,便于查看和比较,以及便于后续处理;若采用像素点的坐标,每个面元坐标系可能都不相同,处理时需要进行频繁转换。
本公开实施例中,点云融合的目标是维护一个高质量的面元集合,其融合过程也是面元的融合过程。
本公开实施例中,在确定当前帧深度图中每个像素点或深度有效的像素点的深度置信度后,可以执行基于深度置信度的面元融合;也就是说,可以根据当前帧的面元集合,对上一帧更新后的现有面元集合进行集合更新,得到当前帧更新后的现有面元集合,当前帧更新后的现有面元集合表示当前帧深度图的点云融合处理结果;当前帧的面元集合包括当前帧深度图中深度有效的各个像素点对应的面元的集合。特别地,对于初始帧,在得出初始帧的面元集合后,并不执行基于深度置信度的面元融合,而是从第二帧开始,执行基于深度置信度的面元融合。
这里,集合更新可以包括面元增加、面元更新和面元删除中的至少一种操作。本公开实施例中,根据当前帧的面元集合对现有面元集合进行更新的过程可以看作为:将当前帧的面元集合与现有面元集合进行融合的过程。
可以看出,本公开实施例中,可以采用基于面元的表达,实现点云融合处理;而面元可以表示点的属性信息,因而,可以根据点的属性信息,高效地实现点云融合处理。
这里,在根据本公开实施例的方案进行点云融合处理后,可以得到融合后的点云数据的示意图,图5为在图3和图4的基础上基于本公开实施例的技术方案生成的融合后的点云数据的示意图。
下面分别对面元增加、面元更新和面元删除进行示例性说明。
1)面元增加
在初始化时,第一帧的深度图全部作为新的面元加入到现有面元集合中,同时更新面元的内点权重和外点权重;例如,初始化时,内点权重为w(p),外点权重为0。
在当前帧的面元集合中存在未被上一帧更新后的现有面元集合覆盖的第一面元的情况下,可以将第一面元添加到上一帧更新后的现有面元集合中,由于第一面元是未被上一帧更新后的现有面元集合覆盖的面元,因而,是需要添加上一帧更新后的现有面元集合的面元,进而,通过上述面元增加操作,可以得到符合实际需求的点云融合处理结果。
在实际实施时,可以将上一帧更新后的现有面元集合的面元向当前帧的面元集合投影,在投影时,若存在当前帧的第一面元被上一帧更新后的现有面元集合的面元覆盖的情况,则可以进行第一面元的更新或删除操作;若存在当前帧的第一面元未被上一帧更新后的现有面元集合的面元覆盖的情况,则可以进行第一面元的增加操作,即将未被覆盖的面元增加到现有面元集合中。
2)面元更新
将上一帧更新后的现有面元集合中的面元投影到当前帧时投影点的投影深度记为dpold,将当前帧的面元集合中面元的测量深度记为dp,其中投影深度dpold可以利用上述公式(2)得到;这里,面元的更新可以从以下几种不同的情况进行说明。
(a)在一些实施例中,在当前帧的面元集合中存在被上一帧更新后的现有面元集合覆盖的第二面元,且第二面元的深度大于上一帧更新后的现有面元集合中对应面元的投影深度,同时第二面元的深度与上一帧更新后的现有面元集合中对应面元的投影深度的差值大于或等于第一设定深度阈值的情况下,可以认为产生遮挡,因为当前帧观测到了与上一帧更新后的现有面元集合不同的表面,这种情况是真实存在的情况,此时,可以在上一帧更新后的现有面元集合中增加第二面元,例如,第二面元可以作为内点增加到上一帧更新后的现有面元集合中。
这里,第一设定深度阈值的取值范围可以是0.025m至0.3m。
可以看出,根据上述第二面元与上一帧更新后的现有面元集合的关系,可以确定第二面元是需要添加上一帧更新后的现有面元集合的面元,进而,通过上述面元增加操作,可以得到符合实际需求的点云融合处理结果。
在一个具体的示例中,在测量深度dp远大于投影深度dpold的情况下,例如,在测量深度dp除以投影深度dpold得到的比值大于第一设定比例的情况下,例如,第一设定比例的取值范围可以是4至10。在测量深度dp远大于投影深度dpold的情况下,可以认为出现遮挡,这种情况下不存在可视冲突,此时,可以将测量深度dp对应的第二面元作为内点增加上一帧更新后的现有面元集合中。
(b)在当前帧的面元集合中存在被上一帧更新后的现有面元集合覆盖的第二面元,且第二面元的深度小于上一帧更新后的现有面元集合中对应面元的投影深度,同时第二面元的深度与上一帧更新后的现有面元集合中对应面元的投影深度的差值大于或等于第二设定深度阈值的情况下,增加上一帧更新后的现有面元集合中对应面元的外点权重值。
这里,第二设定深度阈值的取值范围可以是0.025m至0.3m。
可以看出,在第二面元的深度小于上一帧更新后的现有面元集合中对应面元的投影深度的情况下,说明第二面元属于外点的可能性比较大,此时,通过增加上一帧更新后的现有面元集合中对应面元的外点权重值,可以使面元更新更加符合实际需求。
具体地说,测量深度dp远小于现有面元深度dpold的情况,属于实际不存在的情况(可视冲突),例如,在测量深度dp除以投影深度dpold得到的比值小于第二设定比例的情况下,例如,第二设定比例的取值范围可以是0.001至0.01。在这种情况下,可以根据对应像素点的深度置信度,增加所述现有面元集合中对应面元的外点权重值,使得更新后该点的深度置信度降低。例如,可以根据以下公式增加上一帧更新后的现有面元集合中对应面元的外点权重值:
(c)在当前帧的面元集合中存在被上一帧更新后的现有面元集合覆盖的第二面元,且第二面元的深度与上一帧更新后的现有面元集合中对应面元的投影深度的差值小于第三设定深度阈值,同时上一帧更新后的现有面元集合中对应面元的法向量与第二面元的法向量的夹角小于或等于设定角度值的情况下,更新上一帧更新后的现有面元集合中对应面元的位置、法向量,并增加上一帧更新后的现有面元集合中对应面元的内点权重值。
可以看出,在第二面元的深度与上一帧更新后的现有面元集合中对应面元的投影深度的差值小于第三设定深度阈值,且上一帧更新后的现有面元集合中对应面元的法向量与第二面元的法向量的夹角小于或等于设定角度值的情况下,说明当前帧的面元集合中第二面元的测量深度是有效的深度,此时,更新对应面元的位置、法向量和内点权重,可以使面元更新更加符合实际需求。
这里,第三设定深度阈值可以是当前帧的面元集合中对应面元的深度与第三设定比例的乘积;第三设定比例的取值范围可以是0.008至0.012;设定角度值可以是一个锐角角度值,例如设定角度值的范围可以是30°至60°。例如,第三设定深度阈值的取值范围可以是0.025m至0.3m。
在一个具体的示例中,且acos(npold,np)≤45°时,说明对应像素点的测量深度属于有效的深度,此时,可以对上一帧更新后的现有面元集合中对应面元的深度、法向和内点权重进行更新;这里,npold表示上一帧更新后的现有面元集合中对应面元的法向量;dpold表示上一帧更新后的现有面元集合中对应面元的投影深度;acos(npold,np)表示上一帧更新后的现有面元集合和当前帧的面元集合中对应面元的法向之间的夹角,45°为设定角度值,0.01是第三设定比例,其与当前帧第二面元的深度的乘积0.01dp表示该第三设定深度阈值。
例如,对上一帧更新后的现有面元集合中对应面元的位置、法向和内点权重进行更新的公式可以为:
其中,Xp包含面元的深度和法向,Xpold表示面元更新前的深度和法向;表示面元更新前的内点权重;面元的深度和法向均可以通过上述公式(11)进行更新。此外,在对面元的位置进行更新时,除了更新深度,也可以更新面元的对应像素点的位置,例如更新像素点对应的三维点坐标。
可以看出,在情况(c)中,可以对内点权重进行加权,在对内点权重加权时,使用了历史参考帧的权重信息,因而,可以使得点云融合处理具有更好的鲁棒性和准确度。
(d)在当前帧的面元集合中存在被上一帧更新后的现有面元集合覆盖的第二面元,且第二面元的深度与上一帧更新后的现有面元集合中对应面元的投影深度的差值小于第三设定深度阈值,同时上一帧更新后的现有面元集合中对应面元的法向量与第二面元的法向量的夹角大于设定角度值的情况下,增加上一帧更新后的现有面元集合中对应面元的外点权重值。
可以理解的是,本公开实施例中,在面元融合时考虑法向一致性,对不满足法向一致性的点,增加其成为外点的权重,由于细微结构处深度差距小但不同视角的法向变化大,只是简单融合深度差距会被平均掉,而本方法会更新外点权重,保留细微深度差异,因而,可以使得本公开实施例的点云融合方案对细微结构的处理更有效。
(e)在一些实施例中,在测量深度dp和投影深度dpold之间不满足上述(a)-(d)任意一种条件的情况下,可以认为上一帧更新后的现有面元集合和当前帧的面元集合中对应的像素点都属于外点,此时,不更新面元。
3)面元删除
在当前帧的面元集合中存在满足预设删除条件的面元的情况下,删除所述当前帧的面元集合中满足预设删除条件的面元;其中,所述满足预设删除条件的面元为:深度置信度小于设定置信度阈值的面元,即内点权重与外点权重的差小于设定置信度阈值的面元。
可以看出,通过删除深度置信度较小的面元,可以使得保留下的面元均具有较高的深度置信度,因而,有利于提升点云融合的可靠性和准确性。
这里,设定置信度阈值可以记为cthr,设定置信度阈值cthr可以根据实际需求预先设置,例如,cthr的取值范围在0.5至0.7之间;可以理解的是,设定置信度阈值越大,则删除的面元越多,反之删除的面元越少;当设定置信度阈值太小时,会使一些低质量的面元得到保留。删除面元后会产生部分空洞,这些空洞能被后继的更高深度置信度的面元填充。
在现有方法中,基于三维点的融合,没有考虑法线的信息,对于权重项的处理多采用赢者通吃(Winner Take All,WTA)的方式;而在本公开实施例中,采用基于面元的表达,高效地处理点云的融合、去冗余,同时采用多因素融合确定深度置信度,提高深度置信度的可靠性,使得保留下来的点云更可靠;进一步地,本公开实施例中,增加法向信息判断点云的可视冲突关系,同时参考历史帧可靠程度,鲁棒性和准确性都更好。
可以看出,本公开实施例的前述实施例中,可以首先确定当前帧深度图中的像素点的深度置信度,然后基于确定的深度置信度,进行点云融合处理。
需要说明的是,在本公开的另一些实施例中,也可以首先确定当前帧深度图的像素点中深度有效的像素点,然后,基于深度有效的像素点,进行点云融合处理。
在具体的示例中,可以根据至少一个参考帧深度图,检测当前帧深度图的像素点的深度是否有效;然后,丢弃当前帧深度图中深度无效的像素点,并根据当前帧深度图中深度有效的像素点,进行点云融合处理。
这里,检测当前帧深度图的像素点的深度是否有效的实现方式已经在前述记载的内容中作出说明,这里不再赘述。对于根据当前帧深度图中深度有效的像素点,进行点云融合处理的实现方式,可以不考虑像素点的深度置信度,并且可以直接将重叠区域的深度值进行融合。
采用本公开实施例的方案,可以实现点云的实时高精度融合;对输入的每一帧深度图,均可以利用步骤101至步骤102得到当前帧更新后的现有面元集合,实现冗余点云的剔除和面元集合扩展或更新操作。本公开实施例的技术方案可以用于在线实时锚点放置和高精度建模,从而有效地辅助增强现实应用中的三维渲染、互动游戏和计算机视觉中的三维物体识别。
本公开实施例的应用场景包括但不限于以下场景:
1)在用户用带深度摄像头的移动设备拍摄某个场景的情况下,可以利用本公开实施例的点云融合方法实时重建场景的点云,并对冗余点云进行融合,提供用户端实时的三维重建效果。
2)用户用带深度摄像头的移动设备,可以利用本公开实施例的点云融合方法实时重建场景点云,并对冗余点云进行融合,提供锚点放置的功能。
3)可以利用本公开实施例的点云融合方法重建的点云,重构物体或场景的表面结构,然后将重建的模型放置于真实环境中,从而获得移动端增强现实效果。
4)可以利用本公开实施例的点云融合方法实时重建的点云,重构物体的表面结构,然后进行纹理映射,从而获取物体的3D相册效果。
在前述实施例提出的点云融合方法的基础上,本公开实施例提出了一种点云融合装置。
图6为本公开实施例的点云融合装置的组成结构示意图,如图6所示,所述装置位于电子设备中,所述装置包括:确定模块601和融合模块602,其中,
确定模块601,用于根据场景信息和/或相机信息中至少两种影响因素,确定所述当前帧深度图中的像素点的深度置信度,其中所述场景信息和相机信息分别至少包括一种影响因素;
融合模块602,用于根据所述深度置信度,对所述当前帧深度图中的像素点进行点云融合处理。
在一实施方式中,所述确定模块601,用于获取所述当前帧深度图中深度有效的像素点;根据场景信息和/或相机信息中至少两种影响因素,确定每个所述深度有效的像素点的深度置信度;
所述融合模块,用于根据所述深度置信度,对所述当前帧深度图中深度有效的像素点进行点云融合处理。
在一实施方式中,所述确定模块601,用于根据至少一个参考帧深度图,检测当前帧深度图的像素点的深度是否有效;保留所述当前帧深度图中深度有效的像素点。
在一实施方式中,所述至少一个参考帧深度图包括在获取当前帧深度图前获取的至少一帧深度图。
在一实施方式中,所述确定模块601,用于利用所述至少一个参考帧深度图,对所述当前帧深度图的像素点进行深度一致性检查;确定通过所述深度一致性检查的像素点的深度有效,未通过所述深度一致性检查的像素点的深度无效。
在一实施方式中,所述确定模块601,用于获取多个参考帧深度图;判断所述当前帧深度图的第一像素点与每个所述参考帧深度图的对应像素点之间是否满足深度一致性条件;在与所述第一像素点之间满足所述深度一致性条件的所述对应像素点的个数大于或等于设定值的情况下,确定所述第一像素点通过所述深度一致性检查;在与所述第一像素点之间满足所述深度一致性条件的所述对应像素点的个数小于设定值的情况下,确定所述第一像素点未通过所述深度一致性检查;所述第一像素点是所述当前帧深度图的任意一个像素点。
在一实施方式中,所述确定模块601,用于将所述第一像素点投影至每个所述参考帧深度图,得到每个所述参考帧深度图中投影点的投影位置和投影深度;获取每个所述参考帧深度图中所述投影位置的测量深度值;获取每个参考帧深度图中所述投影点的投影深度与所述投影位置的测量深度值之间的差值;在所述差值小于或等于第一设定深度阈值的情况下,确定所述第一像素点与对应的参考帧深度图的对应像素点之间满足深度一致性条件;在所述差值大于第一设定深度阈值的情况下,确定所述第一像素点与对应的参考帧深度图的对应像素点之间不满足深度一致性条件。
在一实施方式中,所述场景信息中包括场景结构和场景纹理中至少一种影响因素,所述相机信息中至少包括相机配置。
在一实施方式中,所述确定模块601,用于针对当前帧深度图中的像素点,分别得出场景结构、相机配置和场景纹理中至少两种影响因素对应的权重;融合所述至少两种影响因素对应的权重,获得所述当前帧深度图中像素点的深度置信度。
在一实施方式中,所述确定模块601,用于根据所述当前帧深度图中的像素点的属性信息,分别得出场景结构、相机配置和场景纹理中至少两种影响因素对应的权重;所述属性信息至少包括:位置和/或法向量。
在一实施方式中,所述确定模块601,用于通过将所述至少两种影响因素对应的权重相乘,得到联合权重;根据所述联合权重,得出所述当前帧深度图中像素点的深度置信度。
在一实施方式中,所述融合模块602,用于用面元表示所述当前帧深度图中的每个像素点;每个面元至少包括对应像素点的深度置信度;
所述融合模块602,用于根据当前帧的面元集合,对上一帧更新后的现有面元集合进行集合更新,得到当前帧更新后的现有面元集合,所述当前帧更新后的现有面元集合表示当前帧深度图的点云融合处理结果;所述当前帧的面元集合包括当前帧深度图中深度有效的各个像素点对应的面元的集合;
所述集合更新包括面元增加、面元更新和面元删除中的至少一种操作。
在一实施方式中,所述每个面元还包括对应像素点的位置、法向量、内点权重和外点权重;其中,所述内点权重用于表示对应像素点属于内点的概率,所述外点权重用于表示对应像素点属于外点的概率,所述内点权重与所述外点权重的差值用于表示对应像素点的深度置信度。
在一实施方式中,所述融合模块602,用于在所述当前帧的面元集合中存在未被所述上一帧更新后的现有面元集合覆盖的第一面元的情况下,将所述第一面元添加到所述上一帧更新后的现有面元集合中。
在一实施方式中,所述融合模块602,用于在所述当前帧的面元集合中存在被所述上一帧更新后的现有面元集合覆盖的第二面元,且所述第二面元的深度大于所述上一帧更新后的现有面元集合中对应面元的投影深度,同时所述第二面元的深度与所述上一帧更新后的现有面元集合中对应面元的投影深度的差值大于或等于第一设定深度阈值的情况下,在所述上一帧更新后的现有面元集合中增加所述第二面元。
在一实施方式中,所述融合模块602,用于在所述当前帧的面元集合中存在被所述上一帧更新后的现有面元集合覆盖的第二面元,且所述第二面元的深度小于所述上一帧更新后的现有面元集合中对应面元的投影深度,同时所述第二面元的深度与所述上一帧更新后的现有面元集合中对应面元的投影深度的差值大于或等于第二设定深度阈值的情况下,增加所述上一帧更新后的现有面元集合中对应面元的外点权重值。
在一实施方式中,所述融合模块602,用于在所述当前帧的面元集合中存在被所述上一帧更新后的现有面元集合覆盖的第二面元,且所述第二面元的深度与所述上一帧更新后的现有面元集合中对应面元的投影深度的差值小于第三设定深度阈值,同时所述上一帧更新后的现有面元集合中对应面元的法向量与所述第二面元的法向量的夹角小于或等于设定角度值的情况下,更新所述上一帧更新后的现有面元集合中对应面元的位置、法向量,并增加所述上一帧更新后的现有面元集合中对应面元的内点权重值。
在一实施方式中,所述融合模块602,用于在所述当前帧的面元集合中存在被所述上一帧更新后的现有面元集合覆盖的第二面元,且所述第二面元的深度与所述上一帧更新后的现有面元集合中对应面元的投影深度的差值小于第三设定深度阈值,同时所述上一帧更新后的现有面元集合中对应面元的法向量与所述第二面元的法向量的夹角大于设定角度值的情况下,增加所述上一帧更新后的现有面元集合中对应面元的外点权重值。
在一实施方式中,所述融合模块602,用于在所述当前帧的面元集合中存在满足预设删除条件的面元的情况下,删除所述当前帧的面元集合中满足预设删除条件的面元;其中,所述满足预设删除条件的面元为:对应像素点的深度置信度小于设定置信度阈值的面元。
另外,在本实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
具体来讲,本实施例中的一种点云融合方法对应的计算机程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与一种点云融合方法对应的计算机程序指令被一电子设备读取或被执行时,实现前述实施例的任意一种点云融合方法。
基于前述实施例相同的技术构思,参见图7,其示出了本公开实施例提供的一种电子设备70,可以包括:相互连接的存储器71和处理器72;其中,
所述存储器71,用于存储计算机程序和数据;
所述处理器72,用于执行所述存储器中存储的计算机程序,以实现前述实施例的任意一种点云融合方法。
在实际应用中,上述存储器71可以是易失性存储器(volatile memory),例如RAM;或者非易失性存储器(non-volatile memory),例如ROM,快闪存储器(flash memory),硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的存储器的组合,并向处理器72提供指令和数据。
上述处理器72可以为ASIC、DSP、DSPD、PLD、FPGA、CPU、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器功能的电子器件还可以为其它,本公开实施例不作具体限定。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本公开各个实施例所述的方法。
上面结合附图对本公开的实施例进行了描述,但是本公开并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本公开的启示下,在不脱离本公开宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本公开的保护之内。
Claims (10)
1.一种点云融合方法,其特征在于,所述方法包括:
根据场景信息和/或相机信息中至少两种影响因素,确定所述当前帧深度图中的像素点的深度置信度,其中所述场景信息和相机信息分别至少包括一种影响因素;
根据所述深度置信度,对所述当前帧深度图中的像素点进行点云融合处理。
2.根据权利要求1所述的方法,其特征在于,所述根据场景信息和/或相机信息中至少两种影响因素,确定所述当前帧深度图中的像素点的深度置信度,包括:
获取所述当前帧深度图中深度有效的像素点;
根据场景信息和/或相机信息中至少两种影响因素,确定每个所述深度有效的像素点的深度置信度;
所述根据所述深度置信度,对所述当前帧深度图中的像素点进行点云融合处理,包括:
根据所述深度置信度,对所述当前帧深度图中深度有效的像素点进行点云融合处理。
3.根据权利要求2所述的方法,其特征在于,所述获取当前帧深度图中深度有效的像素点包括:
根据至少一个参考帧深度图,检测当前帧深度图的像素点的深度是否有效;
保留所述当前帧深度图中深度有效的像素点。
4.根据权利要求3所述的方法,其特征在于,所述至少一个参考帧深度图包括在获取当前帧深度图前获取的至少一帧深度图。
5.根据权利要求3所述的方法,其特征在于,所述根据至少一个参考帧深度图,检测当前帧深度图的像素点的深度是否有效,包括:
利用所述至少一个参考帧深度图,对所述当前帧深度图的像素点进行深度一致性检查;
确定通过所述深度一致性检查的像素点的深度有效,未通过所述深度一致性检查的像素点的深度无效。
6.根据权利要求5所述的方法,其特征在于,所述利用所述至少一个参考帧深度图,对所述当前帧深度图的像素点进行深度一致性检查,包括:
获取多个参考帧深度图;
判断所述当前帧深度图的第一像素点与每个所述参考帧深度图的对应像素点之间是否满足深度一致性条件,所述第一像素点是所述当前帧深度图的任意一个像素点;
在与所述第一像素点之间满足所述深度一致性条件的所述对应像素点的个数大于或等于设定值的情况下,确定所述第一像素点通过所述深度一致性检查;在与所述第一像素点之间满足所述深度一致性条件的所述对应像素点的个数小于设定值的情况下,确定所述第一像素点未通过所述深度一致性检查。
7.根据权利要求6所述的方法,其特征在于,所述判断所述当前帧深度图的第一像素点与每个所述参考帧深度图的对应像素点之间是否满足深度一致性条件,包括:
将所述第一像素点投影至每个所述参考帧深度图,得到每个所述参考帧深度图中投影点的投影位置和投影深度;
获取每个所述参考帧深度图中所述投影位置的测量深度值;
获取每个参考帧深度图中所述投影点的投影深度与所述投影位置的测量深度值之间的差值;
在所述差值小于或等于第一设定深度阈值的情况下,确定所述第一像素点与对应的参考帧深度图的对应像素点之间满足深度一致性条件;在所述差值大于第一设定深度阈值的情况下,确定所述第一像素点与对应的参考帧深度图的对应像素点之间不满足深度一致性条件。
8.一种点云融合装置,其特征在于,所述装置包括确定模块和融合模块,其中,
确定模块,用于根据场景信息和/或相机信息中至少两种影响因素,确定所述当前帧深度图中的像素点的深度置信度,其中所述场景信息和相机信息分别至少包括一种影响因素;
融合模块,用于根据所述深度置信度,对所述当前帧深度图中的像素点进行点云融合处理。
9.一种电子设备,其特征在于,包括处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,
所述处理器用于在运行所述计算机程序的情况下,执行权利要求1至7任一项所述的方法。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7任一项所述的方法。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910601035.3A CN112184603B (zh) | 2019-07-04 | 2019-07-04 | 一种点云融合方法、装置、电子设备和计算机存储介质 |
PCT/CN2019/102081 WO2021000390A1 (zh) | 2019-07-04 | 2019-08-22 | 一种点云融合方法、装置、电子设备和计算机存储介质 |
SG11202106693PA SG11202106693PA (en) | 2019-07-04 | 2019-08-22 | Point cloud fusion method and apparatus, electronic device, and computer storage medium |
KR1020217017360A KR102443551B1 (ko) | 2019-07-04 | 2019-08-22 | 포인트 클라우드 융합 방법, 장치, 전자 기기 및 컴퓨터 저장 매체 |
JP2021547622A JP2022509329A (ja) | 2019-07-04 | 2019-08-22 | 点群融合方法及び装置、電子機器、コンピュータ記憶媒体並びにプログラム |
TW108140143A TWI722638B (zh) | 2019-07-04 | 2019-11-05 | 一種點雲融合方法、電子設備和電腦儲存介質 |
US17/239,984 US20210241435A1 (en) | 2019-07-04 | 2021-04-26 | Point cloud fusion method, electronic device, and computer storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910601035.3A CN112184603B (zh) | 2019-07-04 | 2019-07-04 | 一种点云融合方法、装置、电子设备和计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112184603A true CN112184603A (zh) | 2021-01-05 |
CN112184603B CN112184603B (zh) | 2022-06-24 |
Family
ID=73914625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910601035.3A Active CN112184603B (zh) | 2019-07-04 | 2019-07-04 | 一种点云融合方法、装置、电子设备和计算机存储介质 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20210241435A1 (zh) |
JP (1) | JP2022509329A (zh) |
KR (1) | KR102443551B1 (zh) |
CN (1) | CN112184603B (zh) |
SG (1) | SG11202106693PA (zh) |
TW (1) | TWI722638B (zh) |
WO (1) | WO2021000390A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113034685A (zh) * | 2021-03-18 | 2021-06-25 | 北京百度网讯科技有限公司 | 激光点云与高精地图的叠加方法、装置及电子设备 |
CN117152040A (zh) * | 2023-10-26 | 2023-12-01 | 埃洛克航空科技(北京)有限公司 | 一种基于深度图的点云融合方法及装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11688144B2 (en) * | 2021-06-16 | 2023-06-27 | International Business Machines Corporation | Self guidance based on dimensional relationship |
TWI782806B (zh) * | 2021-12-02 | 2022-11-01 | 財團法人國家實驗研究院 | 點雲算圖方法 |
CN114549608B (zh) * | 2022-04-22 | 2022-10-18 | 季华实验室 | 点云融合方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130155050A1 (en) * | 2011-12-20 | 2013-06-20 | Anubha Rastogi | Refinement of Depth Maps by Fusion of Multiple Estimates |
CN105374019A (zh) * | 2015-09-30 | 2016-03-02 | 华为技术有限公司 | 一种多深度图融合方法及装置 |
CN105701787A (zh) * | 2016-01-15 | 2016-06-22 | 四川大学 | 基于置信度的深度图融合方法 |
CN107862674A (zh) * | 2017-11-08 | 2018-03-30 | 杭州测度科技有限公司 | 深度图像融合方法及系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4786585B2 (ja) * | 2007-04-20 | 2011-10-05 | Kddi株式会社 | 多視点映像符号化装置 |
EP2538242B1 (en) * | 2011-06-24 | 2014-07-02 | Softkinetic Software | Depth measurement quality enhancement. |
WO2014080330A2 (en) * | 2012-11-22 | 2014-05-30 | Geosim Systems Ltd. | Point-cloud fusion |
CN105654492B (zh) * | 2015-12-30 | 2018-09-07 | 哈尔滨工业大学 | 基于消费级摄像头的鲁棒实时三维重建方法 |
CN106600675A (zh) * | 2016-12-07 | 2017-04-26 | 西安蒜泥电子科技有限责任公司 | 一种基于深度图约束的点云合成方法 |
US10628949B2 (en) * | 2017-12-18 | 2020-04-21 | Samsung Electronics Co., Ltd. | Image processing with iterative closest point (ICP) technique |
-
2019
- 2019-07-04 CN CN201910601035.3A patent/CN112184603B/zh active Active
- 2019-08-22 KR KR1020217017360A patent/KR102443551B1/ko active IP Right Grant
- 2019-08-22 WO PCT/CN2019/102081 patent/WO2021000390A1/zh active Application Filing
- 2019-08-22 SG SG11202106693PA patent/SG11202106693PA/en unknown
- 2019-08-22 JP JP2021547622A patent/JP2022509329A/ja active Pending
- 2019-11-05 TW TW108140143A patent/TWI722638B/zh active
-
2021
- 2021-04-26 US US17/239,984 patent/US20210241435A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130155050A1 (en) * | 2011-12-20 | 2013-06-20 | Anubha Rastogi | Refinement of Depth Maps by Fusion of Multiple Estimates |
CN105374019A (zh) * | 2015-09-30 | 2016-03-02 | 华为技术有限公司 | 一种多深度图融合方法及装置 |
CN105701787A (zh) * | 2016-01-15 | 2016-06-22 | 四川大学 | 基于置信度的深度图融合方法 |
CN107862674A (zh) * | 2017-11-08 | 2018-03-30 | 杭州测度科技有限公司 | 深度图像融合方法及系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113034685A (zh) * | 2021-03-18 | 2021-06-25 | 北京百度网讯科技有限公司 | 激光点云与高精地图的叠加方法、装置及电子设备 |
CN117152040A (zh) * | 2023-10-26 | 2023-12-01 | 埃洛克航空科技(北京)有限公司 | 一种基于深度图的点云融合方法及装置 |
CN117152040B (zh) * | 2023-10-26 | 2024-02-23 | 埃洛克航空科技(北京)有限公司 | 一种基于深度图的点云融合方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2021000390A1 (zh) | 2021-01-07 |
TW202103153A (zh) | 2021-01-16 |
US20210241435A1 (en) | 2021-08-05 |
CN112184603B (zh) | 2022-06-24 |
SG11202106693PA (en) | 2021-07-29 |
KR20210087524A (ko) | 2021-07-12 |
JP2022509329A (ja) | 2022-01-20 |
KR102443551B1 (ko) | 2022-09-14 |
TWI722638B (zh) | 2021-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112184603B (zh) | 一种点云融合方法、装置、电子设备和计算机存储介质 | |
CN110192222B (zh) | 根据二维图像组的三维场景重建以用于虚拟现实中的消费 | |
TWI536318B (zh) | 深度測量之品質提升 | |
US11050994B2 (en) | Virtual reality parallax correction | |
CN109801374B (zh) | 一种通过多角度图像集重构三维模型的方法、介质及系统 | |
EP3841554A1 (en) | Method and system for reconstructing colour and depth information of a scene | |
JP2016522485A (ja) | 再構成からの隠消現実感効果および媒介現実感効果 | |
CN113689578B (zh) | 一种人体数据集生成方法及装置 | |
US10984586B2 (en) | Spatial mapping fusion from diverse sensing sources | |
CN113345063B (zh) | 基于深度学习的pbr三维重建方法、系统与计算机存储介质 | |
CN115035235A (zh) | 三维重建方法及装置 | |
CN113643414A (zh) | 一种三维图像生成方法、装置、电子设备及存储介质 | |
KR101399236B1 (ko) | 신뢰도 스코어에 기반한 3차원 모델의 통합 | |
US20230245396A1 (en) | System and method for three-dimensional scene reconstruction and understanding in extended reality (xr) applications | |
CN114494582A (zh) | 一种基于视觉感知的三维模型动态更新方法 | |
CN110691228A (zh) | 基于三维变换的深度图像噪声标记方法、装置和存储介质 | |
CN116503566B (zh) | 一种三维建模方法、装置、电子设备及存储介质 | |
US10861174B2 (en) | Selective 3D registration | |
Wong et al. | 3D object model reconstruction from image sequence based on photometric consistency in volume space | |
CN111260544B (zh) | 数据处理方法及装置、电子设备和计算机存储介质 | |
CN107845108A (zh) | 一种光流值计算方法、装置及电子设备 | |
AU2013219167B1 (en) | Merging three-dimensional models based on confidence scores | |
Hu et al. | High-Definition 3D Reconstruction in Real-Time from a Moving Depth Sensor |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40034617 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |