CN116597096A - 场景重建方法、装置、存储介质及电子设备 - Google Patents
场景重建方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN116597096A CN116597096A CN202310806421.2A CN202310806421A CN116597096A CN 116597096 A CN116597096 A CN 116597096A CN 202310806421 A CN202310806421 A CN 202310806421A CN 116597096 A CN116597096 A CN 116597096A
- Authority
- CN
- China
- Prior art keywords
- image
- image sequence
- reconstruction
- sequence
- point cloud
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 230000011218 segmentation Effects 0.000 claims abstract description 187
- 230000003068 static effect Effects 0.000 claims abstract description 120
- 230000003287 optical effect Effects 0.000 claims description 61
- 238000012937 correction Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004422 calculation algorithm Methods 0.000 description 24
- 230000000694 effects Effects 0.000 description 13
- 230000009466 transformation Effects 0.000 description 12
- 230000009286 beneficial effect Effects 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 8
- 230000000007 visual effect Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000005457 optimization Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000005259 measurement Methods 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 3
- 230000002349 favourable effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000013178 mathematical model Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000036544 posture Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000016776 visual perception Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- 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/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/194—Segmentation; Edge detection involving foreground-background segmentation
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
Abstract
公开了一种场景重建方法、装置、存储介质及电子设备,其中,方法包括:对设置于可移动设备的相机采集的第一图像序列进行后景分割,得到第二图像序列;利用第二图像序列,进行点云的稀疏重建,得到第一重建点云和相机的第一相机位姿序列;对第一图像序列进行动静态分割,得到静态场景对应的第三图像序列和动态场景对应的第四图像序列;利用第一重建点云、第一相机位姿序列和第三图像序列,进行点云的稠密重建,得到第二重建点云;利用第一相机位姿序列和第四图像序列,依次进行点云的稀疏重建和稠密重建,得到第三重建点云;基于第二重建点云和第三重建点云,确定第一图像序列对应的场景重建结果。本公开可以降低场景重建的实现成本。
Description
技术领域
本公开涉及驾驶技术,尤其是一种场景重建方法、装置、存储介质及电子设备。
背景技术
一些情况下需要进行场景重建,例如需要针对无人驾驶室外场景进行场景重建。场景重建结果对于场景再现和数据标注具有非常重要的价值。目前,为了实现场景重建,往往需要依赖于激光雷达。
发明内容
目前的场景重建需要依赖于激光雷达,实现成本较高。
为了解决上述技术问题,本公开提供了一种场景重建方法、装置、介质及电子设备,以降低场景重建的实现成本。
根据本公开实施例的一个方面,提供了一种场景重建方法,包括:
对设置于可移动设备的相机采集的第一图像序列进行后景分割,得到第二图像序列;
利用所述第二图像序列,进行点云的稀疏重建,得到第一重建点云和所述相机的第一相机位姿序列;
对所述第一图像序列进行动静态分割,得到静态场景对应的第三图像序列和动态场景对应的第四图像序列;
利用所述第一重建点云、所述第一相机位姿序列和所述第三图像序列,进行点云的稠密重建,得到第二重建点云;
利用所述第一相机位姿序列和所述第四图像序列,依次进行点云的稀疏重建和稠密重建,得到第三重建点云;
基于所述第二重建点云和所述第三重建点云,确定所述第一图像序列对应的场景重建结果。
根据本公开实施例的另一个方面,提供了一种场景重建装置,包括:
第一分割模块,用于对设置于可移动设备的相机采集的第一图像序列进行后景分割,得到第二图像序列;
第一重建模块,用于利用所述第一分割模块得到的所述第二图像序列,进行点云的稀疏重建,得到第一重建点云和第一相机位姿序列;
第二分割模块,用于对所述第一图像序列进行动静态分割,得到静态场景对应的第三图像序列和动态场景对应的第四图像序列;
第二重建模块,用于利用所述第一重建模块得到的所述第一重建点云和所述第一相机位姿序列,以及所述第二分割模块得到的所述第三图像序列,进行点云的稠密重建,得到第二重建点云;
第三重建模块,用于利用所述第一重建模块得到的所述第一相机位姿序列和所述第二分割模块得到的所述第四图像序列,依次进行点云的稀疏重建和稠密重建,得到第三重建点云;
确定模块,用于基于所述第二重建模块得到的所述第二重建点云和所述第三重建模块得到的所述第三重建点云,确定所述第一图像序列对应的场景重建结果。
根据本公开实施例的再一个方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述场景重建方法。
根据本公开实施例的又一个方面,提供了一种电子设备,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述场景重建方法。
根据本公开实施例的又一个方面,提供了一种计算机程序产品,当所述计算机程序产品中的指令被处理器执行时,执行上述场景重建方法。
基于本公开上述实施例提供的场景重建方法、装置、介质及电子设备,本公开的实施例中,可以对相机采集的多视角图像(即第一图像序列)进行后景分割,并利用经后景分割得到的第二图像序列,进行点云的稀疏重建,以得到第一重建点云和第一相机位姿序列。另外,还可以对多视角图像进行动静态分割,以得到静态场景对应的第三图像序列和动态场景对应的第四图像序列,第三图像序列可以与第一重建点云和第一相机位姿序列一并用于点云的稠密重建,以得到能够有效地表征静态场景的第二重建点云,第四图像序列可以与第一相机位姿序列一并用于点云的稀疏重建和稠密重建,以得到能够有效地表征动态场景的第三重建点云,结合第二重建点云和第三重建点云,即可确定第一图像序列对应的场景重建结果。可见,本公开的实施例中是通过对相机采集的多视角图像的一系列处理,实现场景重建,相比于激光雷达,相机的价格非常低廉,因此能够降低场景重建的实现成本。另外,本公开的实施例中对静态场景和动态场景采取分而治之的策略,即将静态场景和动态场景分别进行重建,这样有利于降低重建难度,提升重建速度。
附图说明
图1-1是静态场景的运动模型的示意图。
图1-2是动态场景的运动模型的示意图。
图2是本公开一示例性实施例提供的场景重建方法的流程示意图。
图3是本公开一示例性实施例提供的动静态分割方式的流程示意图之一。
图4是本公开一示例性实施例提供的动静态分割方式的流程示意图之二。
图5-1是本公开一示例性实施例提供的动静态分割方式的流程示意图之三。
图5-2是本公开一示例性实施例提供的动静态分割方式的流程示意图之四。
图6是本公开一示例性实施例提供的动态场景的重建方式的流程示意图。
图7-1是本公开一示例性实施例提供的对象位姿序列的修正方式的流程示意图。
图7-2是本公开另一示例性实施例提供的对象位姿序列的修正方式的流程示意图。
图8是本公开一示例性实施例提供的动态场景的稠密重建方式的流程示意图。
图9是本公开一示例性实施例提供的静态场景的稠密重建方式的流程示意图。
图10是本公开另一示例性实施例提供的静态场景的稠密重建方式的流程示意图。
图11是本公开再一示例性实施例提供的静态场景的稠密重建方式的流程示意图。
图12是本公开另一示例性实施例提供的场景重建方法的流程示意图。
图13是本公开一示例性实施例提供的场景重建装置的结构示意图。
图14是本公开另一示例性实施例提供的场景重建装置的结构示意图。
图15-1是本公开再一示例性实施例提供的场景重建装置的结构示意图。
图15-2是本公开又一示例性实施例提供的场景重建装置的结构示意图。
图16是本公开又一示例性实施例提供的场景重建装置的结构示意图。
图17是本公开又一示例性实施例提供的场景重建装置的结构示意图。
图18是本公开又一示例性实施例提供的场景重建装置的结构示意图。
图19是本公开一示例性实施例提供的电子设备的结构图。
具体实施方式
为了解释本公开,下面将参考附图详细地描述本公开的示例实施例,显然,所描述的实施例仅是本公开的一部分实施例,而不是全部实施例,应理解,本公开不受示例性实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
申请概述
激光雷达(LiDAR)是通过发射激光束,探测目标的位置、速度、方位、姿态、形状等特征量的雷达系统。
激光雷达可以应用于场景重建,例如应用于无人驾驶室外场景的场景重建,但是,激光雷达价格高昂,这会导致场景重建的实现成本较高。如何降低场景重建的实现成本对于本领域技术人员而言是一个值得关注的问题。
示例性系统
下文中涉及多种模型,例如涉及光流预测模型、深度预测模型和实例分割模型,以及静态场景的运动模型和动态场景的运动模型,为了便于对下文进行理解,在此先对这些模型进行简要介绍。
光流预测模型、深度预测模型、实例分割模型均可以为卷积神经网络(Convolutional Neural Network,CNN)模型。将一帧图像作为输入提供给光流预测模型,光流预测模型可以预测出该帧图像中的每个像素点各自的光流值;其中,任一像素点的光流值可以用于指示下一帧图像中与该像素点所在的像素位置对应的像素位置。将一帧图像作为输入提供给深度预测模型,深度预测模型可以预测出该帧图像中的每个像素点各自的深度值;其中,任一像素点的深度值可以用于确定该像素点在相机坐标系下的空间位置。将一帧图像作为输入提供给实例分割模型,实例分割模型可以预测出该帧图像中的每个像素点各自的类别,且定位出该帧图像中的不同实例。
静态场景的运动模型可以为用于描述静态场景下的对象运动规律的数学模型,静态场景的运动模型可以参见图1-1;动态场景的运动模型可以为用于描述动态场景下的对象运动规律的数学模型,动态场景的运动规律可以参见图1-2。如图1-1所示,相机是运动的,相机在时刻t-1、时刻t、时刻t+1的光心分别为Ot-1、Ot、Ot+1,对象(例如车道线、建筑物等)是静止的,对象上第k个点一直用点Pk表示,相机在时刻t-1、时刻t、时刻t+1采集的图像中,对象上第k个点的投影点分别为图1-2与图1-1的主要区别在于,相机和对象(例如车辆、行人等)均是运动的,对象上第k个点在时刻t-1、时刻t、时刻t+1可以分别表示为/>对象在时刻t-1、时刻t、时刻t+1的姿态可以分别表示为
示例性方法
图2是本公开一示例性实施例提供的场景重建方法的流程示意图。图2所示的方法可以包括步骤210、步骤220、步骤230、步骤240、步骤250和步骤260,下面分别对各步骤进行说明。
步骤210,对设置于可移动设备的相机采集的第一图像序列进行后景分割,得到第二图像序列。
可选地,可移动设备包括但不限于车辆、火车、轮船等;设置于可移动设备的相机包括但不限于前视相机、后视相机、侧视相机等。
设置于可移动设备的相机可以按照一定的帧率进行图像采集,以得到包括多帧采集图像的第一图像序列。为了便于理解,本公开的实施例中均以第一图像序列中的多帧采集图像为N帧采集图像的情况为例进行说明。
对于第一图像序列包括的N帧采集图像中的每帧采集图像,可以通过实例分割模型,对该采集图像进行实例分割,以确定该采集图像中的每个像素点各自的预测类别,从而确定该采集图像中的哪些区域是可能运动的对象(例如车辆、行人等)所在的区域,以便在这些区域生成掩膜,从而去除该采集图像中可能移动的对象,而仅保留完全静止的对象(例如地面、墙面、楼房、树木等),由此可以从该采集图像中分割出后景图像。
按照上段中介绍的方式,可以得到与N帧采集图像一一对应的N帧后景图像,将N帧后景图像按照时序进行排列,即可形成第二图像序列。
以上是通过实例分割模型的运用,实现第一图像序列的后景分割,从而得到第二图像序列。在一些情况下,也可以通过语义分割模型的运用,实现第一图像序列中的每帧采集图像的前后景分离,从而得到第二图像序列。
步骤220,利用第二图像序列,进行点云的稀疏重建,得到第一重建点云和相机的第一相机位姿序列。
对于第二图像序列包括的N帧后景图像中的每帧后景图像,可以使用关键点检测算法,对该后景图像进行关键点检测;其中,关键点检测算法包括但不限于尺度不变特征变换(Scale-invariant feature transform,SIFT)算法、基于深度学习的算法等。
在已知N帧后景图像各自的关键点的情况下,可以进行关键点的匹配和筛选,再结合增量式运动恢复结构(Structure From Motion,SFM)算法的运用,可以确定相机在N帧采集图像各自对应的采集时刻的相机位姿,以得到N个相机位姿,将N个相机位姿按照时序进行排列,即可形成第一相机位姿序列,另外,还可以确定世界坐标系下的若干个三维点以组成第一重建点云。
当然,第一重建点云和第一相机位姿序列的生成所依据的算法并不局限于增量式SFM算法,还可以为全量式SFM算法、混合式SFM算法等,在此不再一一列举。
步骤230,对第一图像序列进行动静态分割,得到静态场景对应的第三图像序列和动态场景对应的第四图像序列。
对于第一图像序列包括的N帧采集图像中的每帧采集图像,可以确定该采集图像中的哪些对象是确实发生了运动的对象,哪些对象是未发生运动的对象,由此可以将该采集图像分割为仅包括发生了运动的对象的分割图像(其可以认为是动态场景对应的分割图像)和仅包括未发生运动的对象的分割图像(其可以认为是静态场景对应的分割图像),从而实现该采集图像的动静态分割。
按照上段中介绍的方式,可以对N帧采集图像均进行动静态分割,以得到静态场景对应的N帧分割图像和动态场景对应的N帧分割图像,将静态场景对应的N帧分割图像按照时序进行排列,即可形成第三图像序列,将动态场景对应的N帧分割图像按照时序进行排列,即可形成第四图像序列。
步骤240,利用第一重建点云、第一相机位姿序列和第三图像序列,进行点云的稠密重建,得到第二重建点云。
在已知第一重建点云、第一相机位姿序列和第三图像序列的情况下,结合图1-1所示的运动模型,可以通过多目立体视觉(Multi-View Stereo,MVS)算法的运用,寻找第三图像序列中的不同图像中具有光度一致性的像素点,并在此基础上进行立体匹配,从而确定世界坐标系下的若干个点以组成第二重建点云,第二重建点云相比于第一重建点云而言更加稠密,第二重建点云能够有效地表征静态场景。
步骤250,利用第一相机位姿序列和第四图像序列,依次进行点云的稀疏重建和稠密重建,得到第三重建点云。
在已知第一相机位姿序列和第四图像序列的情况下,可以先通过SFM算法进行稀疏重建,然后通过MVS算法进行稠密重建,以得到第三重建点云,第三重建点云能够有效地表征动态场景。
步骤260,基于第二重建点云和第三重建点云,确定第一图像序列对应的场景重建结果。
可选地,可以分别将第二重建点云和第三重建点云模型化,以得到第二重建点云对应的第一三维模型和第三重建点云对应的第二三维模型,之后分别为第一三维模型和第二三维模型进行纹理贴图,第一图像序列对应的场景重建结果可以包括经纹理贴图后的第一三维模型和经纹理贴图后的第二三维模型。在一些实施例中,第一图像序列对应的场景重建结果还可以包括可移动设备的运动轨迹、可移动设备周围发生了运动的对象的运动轨迹等。
本公开的实施例中,可以对相机采集的多视角图像(即第一图像序列)进行后景分割,并利用经后景分割得到的第二图像序列,进行点云的稀疏重建,以得到第一重建点云和第一相机位姿序列。另外,还可以对多视角图像进行动静态分割,以得到静态场景对应的第三图像序列和动态场景对应的第四图像序列,第三图像序列可以与第一重建点云和第一相机位姿序列一并用于点云的稠密重建,以得到能够有效地表征静态场景的第二重建点云,第四图像序列可以与第一相机位姿序列一并用于点云的稀疏重建和稠密重建,以得到能够有效地表征动态场景的第三重建点云,结合第二重建点云和第三重建点云,即可确定第一图像序列对应的场景重建结果。可见,本公开的实施例中是通过对相机采集的多视角图像的一系列处理,实现场景重建,相比于激光雷达,相机的价格非常低廉,因此能够降低场景重建的实现成本。另外,本公开的实施例中对静态场景和动态场景采取分而治之的策略,即将静态场景和动态场景分别进行重建,这样有利于降低重建难度,提升重建速度。
图3是本公开一示例性实施例提供的动静态分割方式的流程示意图。图3所示的方法可以包括步骤310、步骤320和步骤330,下面分别对各步骤进行说明。
步骤310,通过光流预测模型,对第一图像序列进行光流预测,得到光流预测结果。
对于第一图像序列包括的N帧采集图像中的每帧采集图像,可以将该采集图像作为输入提供给光流预测模型,光流预测模型可以据此进行运算,以得到该采集图像中的每个像素点各自的光流值,该采集图像中的每个像素点各自的光流值可以组成该采集图像对应的光流预测数据。
按照上段中介绍的方式,可以得到N帧采集图像各自对应的光流预测数据,N帧采集图像各自对应的光流预测数据可以组成第一图像序列对应的光流预测结果。
步骤320,通过深度预测模型,对第一图像序列进行深度预测,得到深度预测结果。
对于第一图像序列包括的N帧采集图像中的每帧采集图像,可以将该采集图像作为输入提供给深度预测模型,深度预测模型可以据此进行运算,以得到该采集图像中的每个像素点各自的深度值,该采集图像中的每个像素点各自对应的深度值可以组成该采集图像对应的深度预测数据。可选地,该采集图像对应的深度预测数据可以呈深度图的形式。
按照上段中介绍的方式,可以得到N帧采集图像各自对应的深度预测数据,N帧采集图像各自对应的深度预测数据可以组成第一图像序列对应的深度预测结果。
步骤330,基于光流预测结果、深度预测结果和第一相机位姿序列,对第一图像序列进行动静态分割,得到静态场景对应的第三图像序列和动态场景对应的第四图像序列。
可选地,步骤330可以作为图2所示实施例中步骤230的可选实施方式。
在本公开的一些可选实施方式中,如图4所示,步骤330,可以包括步骤3301、步骤3303和步骤3305。
步骤3301,基于光流预测结果,确定第一图像序列中前后帧图像之间的第一像素位置对应关系。
假设第一图像序列中的N张采集图像依次表示为图像1、图像2、图像3、……、图像N,图像1中像素点1对应的光流值用于指示图像2中像素点2的像素位置与图像1中像素点1的像素位置对应,则第一像素位置对应关系中可以包括:像素点1的像素位置与像素点2的像素位置之间的对应关系。按照这种方式,可以使第一像素位置对应关系中包括多对匹配点的像素位置之间的对应关系;其中,像素点1和像素点2可以组成一对匹配点。
步骤3303,基于深度预测结果和第一相机位姿序列,确定第一图像序列中前后帧图像之间的第二像素位置对应关系。
第一相机位姿序列可以包括:图像1对应的相机位姿和图像2对应的相机位姿,利用图像1对应的相机位姿和图像2对应的相机位姿,可以计算由图像1对应的采集时刻至图像2对应的采集时刻,相机的平移矩阵和旋转矩阵。
参考图1-1所示的运动模型,在已知像素点1对应的深度值,以及由图像1对应的采集时刻至图像2对应的采集时刻,相机的平移矩阵和旋转矩阵的情况下,结合预先标定好的相机内参,可以利用如下公式,确定图像2上与像素点1对应的像素点2':
其中,表示像素点2'的像素位置,K表示预先标定的相机内参且呈矩阵形式,/>表示由图像1对应的采集时刻至图像2对应的采集时刻相机的旋转矩阵,K-1表示K的逆矩阵,/>表示像素点1的像素位置,/>表示深度预测结果中像素点1的深度值,/>表示由图像1对应的采集时刻至图像2对应的采集时刻相机的平移矩阵。
上述公式可以理解为,先将图像2中的像素点1由像素坐标系转换至相机坐标系,再由相机坐标系转换至世界坐标系,以得到世界坐标系下与像素点1对应的空间点1,之后将空间点1先由世界坐标系转换为相机坐标系,再由相机坐标系转换至像素坐标系,从而确定图像2上与像素点1对应的像素点2'。第二像素位置对应关系中可以包括像素点1的像素位置与像素点2'的像素位置之间的对应关系。按照这种方式,可以使第二像素位置对应关系中包括多对匹配点的像素位置之间的对应关系;其中,像素点1和像素点2'可以组成一对匹配点。
步骤3305,基于第一像素位置对应关系和第二像素位置对应关系,对第一图像序列进行动静态分割,得到静态场景对应的第三图像序列和动态场景对应的第四图像序列。
在本公开的一些可选实施方式中,如图5-1所示,步骤3305,包括步骤33051a、步骤33052a、步骤33053a、步骤33054a、步骤33055a和步骤33056a。
步骤33051a,针对第一图像序列中的第一目标图像中的第一目标像素点,按照第一像素位置对应关系,从第二目标图像中,确定与第一目标像素点的像素位置对应的第一目标像素位置;其中,第二目标图像为第一图像序列中第一目标图像的后一帧图像。
步骤33052a,按照第二像素点对应关系,从第二目标图像中,确定与第一目标像素点的像素位置对应的第二目标像素位置。
需要说明的是,第一目标图像可以是第一图像序列中除了最后一帧图像之外的任一帧图像,第一目标像素点可以为第一目标图像中的任一像素点。
假设第一目标图像为图像1,第二目标图像为图像2,第一目标像素点为像素点1,则按照第一像素位置对应关系,从第二目标图像中确定的第一目标像素位置可以是图像2中像素点2的像素位置,从第二目标图像中确定的第二目标像素位置可以是图像2中像素点2'的像素位置。
步骤33053a,基于第一目标像素位置与第二目标像素位置之间的位置误差,确定第一目标像素点的像素点属性;其中,任一像素点的像素点属性用于表征该像素点是否属于动态对象。
假设第一目标像素位置表示为f(p),第二目标像素位置表示为u(p),那么,第一目标像素位置与第二目标像素位置之间的位置误差可以表示为|f(p)-u(p)|。为了便于说明,后续将第一目标像素位置与第二目标像素位置之间的位置误差简称为像素位置误差。基于像素位置误差和预设位置误差,可以确定第一目标像素点的像素点属性。
可选地,如果像素位置误差大于预设位置误差,可以将第一目标像素点的像素点属性确定为第一类属性,以表征第一目标像素点属于动态对象;如果像素位置误差小于或等于预设位置误差,可以将第一目标像素点的像素点属性确定为第二类属性,以表征第一目标像素点不属于动态对象,即第一目标像素点属于静态对象。
当然,像素点属性的确定方式并不局限于此。例如,可以计算像素位置误差与预设位置误差的差值,并计算差值的绝对值与预设位置误差的比值。如果计算得到的比值大于预设比值,可以将第一目标像素点的像素点属性确定为第一类属性,以表征第一目标像素点属于动态对象;如果计算得到的比值小于或等于预设比值,可以将第一目标像素点的像素点属性确定为第二类属性,以表征第一目标像素点不属于动态对象,即第一目标像素点属于静态对象。
步骤33054a,基于第一目标像素点的像素点属性,对第一目标图像进行动静态分割,得到静态场景对应的第一分割图像和动态场景对应的第二分割图像。
按照上文中介绍的像素点属性的确定方式,可以得到第一目标图像中的每个像素点各自的像素点属性。通过在第一目标图像中像素点属性为第一类属性的像素点所分布的区域生成掩膜,可以去除第一目标图像中的动态对象,由此可以分割出静态场景对应的第一分割图像。类似地,通过在第一目标图像中像素点属性为第二类属性的像素点所分布的区域生成掩膜,可以去除第一目标图像中的静态对象,由此可以分割出动态场景对应的第二分割图像。
步骤33055a,基于第一分割图像,确定第三图像序列。
步骤33056a,基于第二分割图像,确定第四图像序列。
上文中介绍了第一目标图像的动静态分割方式,第一图像序列中的每帧采集图像均可以按照类似的方式进行动静态分割,由此可以得到静态场景对应的N帧分割图像和动态场景对应的N帧分割图像。将静态场景对应的N帧分割图像按照时序进行排列,即可形成第三图像序列;将动态场景对应的N帧分割图像按照时序进行排列,即可形成第四图像序列。
在一些实施例中,在得到静态场景对应的N帧分割图像和动态场景对应的N帧分割图像之后,也可以先采用一定的算法对这些分割图像进行修正(例如进行滤波处理),然后基于经修正后的这些分割图像,确定第三图像序列和第四图像序列。
这种实施方式中,通过比对依据第一像素点对应关系和第二像素点对应关系得到的两个目标像素位置之间的位置误差,能够以位置误差作为参考信息,确定第一目标图像中的哪些像素点属于动态对象,那些像素点属于静态对象,在此基础上可以高效可靠地对第一目标图像进行动静态分割,以便据此得到第三图像序列和第四图像序列用于后续步骤。
在本公开的一些可选实施方式中,如图5-2所示,本公开的实施例提供的方法还包括步骤3304。
步骤3304,通过实例分割模型,对第一图像序列进行实例分割,得到实例分割结果。
对于第一图像序列包括的N帧采集图像中的每帧采集图像,可以将该采集图像作为输入提供给实例分割模型,实例分割模型可以据此进行运算,以得到该采集图像中的每个像素点各自的预测类别,以及该采集图像中的每个实例(其既可以是静态对象,也可以是动态对象)各自的实例区域,这些信息可以组成该采集图像对应的实例分割数据。
按照上段中介绍的方式,可以得到N帧采集图像各自对应的实例分割数据,N帧采集图像各自对应的实例分割数据可以组成第一图像序列对应的实例分割结果。
步骤3305,包括步骤33051b、步骤33052b、步骤33053b、步骤33054b、步骤33055b和步骤33056b。
步骤33051b,针对第一图像序列中的第一目标图像,基于实例分割结果,确定第一目标图像中的每个实例各自的实例区域。
可选地,可以直接从实例分割结果中,提取第一目标图像对应的实例分割数据,依据第一目标图像对应的实例分割数据,即可定位第一目标图像中的每个实例各自的实例区域。
步骤33052b,基于第一像素位置对应关系和第二像素位置对应关系,确定第一目标图像中的每个像素点各自的像素点属性;其中,任一像素点的像素点属性用于表征该像素点是否属于动态对象。
需要说明的是,基于第一像素位置对应关系和第二像素位置对应关系,确定第一目标图像中的每个像素点各自的像素点属性的方式参考图5-1所示实施方式中的相关介绍即可,在此不再赘述。
步骤33053b,针对第一目标图像中的每个实例区域,对该实例区域中每个像素点各自的像素点属性进行统计,得到统计结果。
可选地,针对第一目标图像中的每个实例区域,可以统计该实例区域中像素点属性为第一类属性的像素点的第一数量和第一占比,以及该实例区域中像素点属性为第二类属性的像素点的第二数量和第二占比,第一目标图像中的每个实例区域各自对应的第一数量、第一占比、第二数量、第二占比可以组成统计结果。
在一些情况下,统计结果也可以仅包括第一目标图像中的每个实例区域各自对应的第一数量和第二数量,或者仅包括第一目标图像中的每个实例区域各自对应的第一占比和第二占比。
步骤33054b,基于第一目标图像中的每个实例区域各自对应的统计结果,对第一目标图像进行动静态分割,得到静态场景对应的第三分割图像和动态场景对应的第四分割图像。
在本公开的一些可选实施方式中,步骤33054b,包括:
针对第一目标图像中的每个实例区域,基于该实例区域对应的统计结果,确定该实例区域中像素点属性用于表征当前像素点不属于动态对象的像素点的占比;
基于第一目标图像中的每个实例区域各自对应的占比,对第一目标图像进行动静态分割,得到静态场景对应的第三分割图像和动态场景对应的第四分割图像。
假设统计结果包括第一目标图像中的每个实例区域各自对应的第二占比,任一实例区域对应的第二占比即可认为是该实例区域中像素点属性用于表征当前像素点不属于动态对象的像素点的占比,那么,可以直接基于第一目标图像中的每个实例区域各自对应的第二占比,以及预设占比,对目标图像进行动静态分割。
假设统计结果不包括第一目标图像中的每个实例区域各自对应的第二占比,而是包括第一目标图像中的每个实例区域各自对应的第一占比,则可以针对每个实例区域,计算作为预设数值的1与该实例区域对应的第一占比的差值,以得到该实例区域对应的第二占比。之后再基于第一目标图像中的每个实例区域各自对应的第二占比,以及预设占比,对目标图像进行动静态分割。
可选地,预设占比可以为70%、75%、80%等,在此不再一一列举。
针对第一目标图像中的任一实例区域,如果该实例区域对应的第二占比大于预设占比,可以判定该实例区域属于静态对象;如果该实例区域对应的第二占比小于或等于预设占比,可以判定该实例区域属于动态对象。通过在第一目标图像中属于动态对象的各个实例区域均生成掩膜,可以去除第一目标图像中的动态对象,由此可以分割出静态场景对应的第三分割图像。类似地,通过在第一目标图像中属于静态对象的各个实例区域均生成掩膜,可以去除第一目标图像中的静态对象,由此可以分割出动态场景对应的第四分割图像。
上段中介绍的是参考每个实例区域各自对应的第二占比来进行动静态分割的情况,在一些情况下,也可以参考每个实例区域各自对应的第一占比来进行动静态分割。例如,对于第一目标图像中的任一实例区域,如果该实例区域对应的第一占比小于或等于预设占比,可以判定该实例区域属于静态对象,如果该实例区域对应的第一占比大于预设占比,可以判定该实例区域属于动态对象,在此基础上,也可以通过生成掩膜的方式,分割出静态场景对应的第三分割图像和动态场景对应的第四分割图像。
步骤33055b,基于第三分割图像,确定第三图像序列。
步骤33056b,基于第四分割图像,确定第四图像序列。
需要说明的是,步骤33055b和33056b的具体实施方式可以参照上文中对步骤33055a和33056a的相关介绍,在此不再赘述。
需要说明的是,深度预测模型和光流预测模型均存在一定的预测误差,第一相机位姿序列的获得过程也存在一定的估计误差,为了减少这些误差对场景重建结果造成的影响,可以通过实例分割模型的运用,确定第一目标图像中的每个实例各自的实例区域,并针对每个实例区域,进行像素点属性的统计,以便将统计结果用于第一目标图像的动静态分割,例如,可以参考每个实例区域中像素点属性为第二类属性的像素点的占比来进行动静态分割,这样相当于为动静态分割过程引入了一定的约束(同一对象上的各个点的运动状态往往是一致的,即这些点要么都固定不动,要么一起运动),有利于使动静态分割结果更具鲁棒性,将动静态分割结果用于后续步骤,有利于保证最终的场景重建效果。
本公开的实施例中,通过光流预测模型的运用,能够高效可靠地确定第一图像对应的光流预测结果,光流预测结果能够用于前后帧图像之间的第一像素位置对应关系的确定,通过深度预测模型的运用,能够高效可靠地确定第一图像序列对应的深度预测结果,深度预测结果能够与第一相机位姿序列一并用于前后帧图像之间的第二像素位置对应关系的确定,第一像素位置对应关系可以看作通过一种方式得到的对象跟踪结果,第二像素位置对应关系可以看作为通过另一种方式得到的对象跟踪结果,结合第一像素位置对应关系和第二像素位置对应关系,可以进行位置误差的确定,确定出的位置误差可以看作残差流,以残差流作为参考信息,可以较为准确地区分图像中的动态对象和静态对象,以保证第一图像序列的动静态分割效果。具体实现时,还可以引入一些更为复杂的跟踪算法,将通过该跟踪算法得到的跟踪结果用于动静态分割。
图6是本公开一示例性实施例提供的动态场景的重建方式的流程示意图。图6所示的方法包括步骤610、步骤620、步骤630、步骤640和步骤650。可选地,步骤620至步骤650的组合可以作为步骤250的可选实施方式。
步骤610,通过光流预测模型,对第一图像序列进行光流预测,得到光流预测结果。
需要说明的是,步骤610的具体实施方式参照上文中对步骤310的相关介绍即可,在此不再赘述。
步骤620,基于光流预测结果,确定第四图像序列中前后帧图像之间的第三像素位置对应关系。
需要说明的是,步骤620的具体实施方式参照上文对步骤3301的相关介绍即可,在此不再赘述。
步骤630,利用第一相机位姿序列、第四图像序列和第三像素位置对应关系,进行点云的稀疏重建,得到第四重建点云和第四图像序列中的动态对象的对象位姿序列。
在已知第一相机位姿序列、第四图像序列和第三像素位置对应关系的情况下,可以通过SFM算法的运用,再结合图1-2所示的运动模型,得到第四重建点云和第四图像序列中的动态对象的对象位姿序列;其中,对象位姿序列可以包括第四图像序列中的动态对象在N帧采集图像各自的采集时刻的对象位姿。
需要说明的是,上文中给出了参考图1-1所示的运动模型,确定图像2中与像素点1对应的像素点2'的公式,并阐述了公式的基本原理,这里在利用第一相机位姿序列、第四图像序列和第三像素位置对应关系,进行点云的稀疏重建时,也需要寻找多对匹配点,与上文中阐述的基本原理的主要区别在于:这里寻找多对匹配点的过程需要考虑对象的运动。
假设图像1中的像素点1属于运动对象c,像素点1可以为运动对象c的特征比较明显的点,例如梯度较大的点。这里可以先将图像1中的像素点1由像素坐标系转换至相机坐标系,再由相机坐标系转换至世界坐标系,以得到图像1对应的采集时刻,世界坐标系下与像素点1对应的空间点1。接下来可以参考由图像1对应的采集时刻至图像2对应的采集时刻,运动对象c的平移矩阵,将空间点1由图像1对应的采集时刻转换至图像2对应的采集时刻,得到空间点1'。之后可以将空间点1'先由世界坐标系转换为相机坐标系,再由相机坐标系转换至像素坐标系,从而确定图像2中与像素点1对应的像素点2'',像素点1和像素点2''可以组成一对匹配点。
步骤640,按照预设修正方式,对对象位姿序列进行修正。
在本公开的一些可选实施方式中,如图7-1所示,本公开的实施例提供的方法还包括步骤632。
步骤632,通过深度预测模型,对第一图像序列进行深度预测,得到深度预测结果。
需要说明的是,步骤632的具体实施方式参照上文中对步骤320的相关介绍即可,在此不再赘述。
步骤640,包括步骤6401、步骤6402和步骤6403。
步骤6401,基于深度预测结果、第一相机位姿序列和对象位姿序列,确定第四图像序列中前后帧图像之间的第四像素位置对应关系。
需要说明的是,第四像素位置对应关系的确定方式与上文中第二像素位置对应关系的确定方式是类似的,区别主要在于:第四像素位置对应关系的确定参考的是图1-2所示的运动模型,确定过程中需要考虑对象的运动(具体可以参照上文中对确定图像2中与像素点1对应的像素点2''的方式的介绍),因此需要运用到对象位姿序列,而第二像素位置对应关系的确定参考的是图1-1所示的运动模型,确定过程中无需考虑对象的运动。
步骤6402,基于第三像素位置对应关系和第四像素位置对应关系,确定重投影误差。
需要说明的是,上文中介绍了基于第一像素位置对应关系和第二像素位置对应关系,针对第一目标像素点确定位置误差的方式,这里基于第三像素位置对应关系和第四像素位置对应关系,可以采用类似的方式,确定多个目标像素点各自对应的位置误差,之后可以基于多个目标像素点各自对应的位置误差,确定重投影误差。例如,可以直接计算多个目标像素点各自对应的位置误差的平均值,并将计算得到的平均值作为重投影误差。再例如,可以从多个目标像素点各自对应的位置误差中,去除数值明显异常的位置误差(例如位置误差过大或者过小),然后计算剩下的位置误差的平均值,并将计算得到的平均值作为重投影误差。
步骤6403,通过最小化重投影误差,对对象位姿序列进行修正。
可选地,可以通过指定优化算法,对重投影误差进行最小化,指定优化算法既可以是线性优化算法,也可以是非线性优化算法,例如既可以是线性最小二乘法,也可以是非线性最小二乘法。
重投影误差的计算需要运用到第四像素位置对应关系,第四像素位置对应关系的确定需要运用到对象位姿序列,也即,对象位姿序列与重投影误差是相互关联的,这样,通过最小化重投影误差,能够实现对象位姿序列的优化,将经修正后的对象位姿序列用于后续的点云重建,有利于提升点云重建效果。
在本公开的另一些可选实施方式中,如图7-2所示,本公开的实施例提供的方法还包括步骤634。
步骤634,通过实例分割模型,对第一图像序列进行实例分割,得到实例分割结果。
需要说明的是,步骤634的具体实施方式参照上文中对步骤320的相关介绍即可,在此不再赘述。
步骤640,包括步骤6404、步骤6405、步骤6406和步骤6407。
步骤6404,基于对象位姿序列,确定第四图像序列中的动态对象的运动轨迹。
对于第四图像序列中的任一动态对象而言,从对象位姿序列中可以提取该动态对象的对象位置序列,提取得到的对象位置序列中的各个位置可以组成该动态对象的运动轨迹。或者,在提取得到对象位置序列之后,可以对提取得到的对象位置序列中明显存在异常的位置进行修正,经修正后的对象位置序列中的各个位置可以组成该动态对象的运动轨迹。
步骤6405,基于实例分割结果,确定第四图像序列中的动态对象的第一预测类别。
可选地,从实例分割结果中,可以提取第四图像序列中的任一动态对象的预测类别,该预测类别即可作为第一预测类别。
步骤6406,确定第一预测类别对应的预设轨迹。
可选地,可以预先设置类别与轨迹之间的对应关系,这样,依据预先设置的对应关系,能够高效可靠地确定第一预测类别对应的轨迹,确定出的轨迹即可作为步骤6406中的预设轨迹。
步骤6407,通过最小化运动轨迹与预设轨迹之间的轨迹误差,对对象位姿序列进行修正。
可选地,可以计算运动轨迹与预设轨迹之间的轨迹误差,并通过上文中的指定优化算法,对轨迹误差进行最小化。
轨迹误差的计算需要运用到运动轨迹,运动轨迹的确定需要运用到对象位姿序列,也即,对象位姿序列与轨迹误差是相互关联的,这样,通过最小化轨迹误差,能够实现对象位姿序列的优化,将经修正后的对象位姿序列用于后续的点云重建,有利于提升点云重建效果。
步骤650,利用第一相机位姿序列、第四图像序列、第三像素位置对应关系、第四重建点云和经修正后的对象位姿序列,进行点云的稠密重建,得到第三重建点云。
在已知第一相机位姿序列、第四图像序列、第三像素位置对应关系、第四重建点云和经修正后的对象位姿序列的情况下,结合图1-2所示的运动模型,可以通过MVS算法的运用,实现点云的稠密重建,以得到第三重建点云。
本公开的实施例中,通过光流预测模型的运用,能够高效可靠地得到第一图像对应的光流预测结果,光流预测结果能够用于前后帧图像之间的第三像素位置对应关系的确定,第三像素位置对应关系能够与第一相机位姿序列和第四图像序列一并用于动态场景的稀疏重建,以得到第四重建点云和对象位姿序列,之后可以采用一定的方式对对象位姿序列进行修正,并将经修正后的对象位姿序列与第一相机位姿序列、第四图像序列、第三像素位置对应关系和第四重建点云一并用于动态场景的稠密重建,这样,动态场景的稠密重建所依赖的数据的准确性和可靠性能够得到较好地保证,从而有利于保证最终的场景重建效果。
图8是本公开一示例性实施例提供的动态场景的稠密重建方式的流程示意图。图8所示的方法包括步骤810、步骤820、步骤830、步骤840和步骤850。可选地,步骤820至步骤840的组合可以作为上文中的步骤630的可选实施方式,步骤850可以作为步骤650的可选实施方式。
步骤810,通过实例分割模型,对第一图像序列进行实例分割,得到实例分割结果。
需要说明的是,步骤810的具体实施方式参照上文中对步骤3304的相关介绍即可,在此不再赘述。
步骤820,基于实例分割结果和第三像素位置对应关系,确定第四图像序列中前后帧图像中相对应的像素位置的预测类别是否一致,得到确定结果。
对于第四图像序列中除了最后一帧图像之外的任一图像中的像素位置x1,依据第三像素位置对应关系,可以确定该图像的下一帧图像中与像素位置x1相对应的像素位置x2,另外,依据实例分割结果,可以确定像素位置x1的预测类别y1和像素位置x2的预测类别y2,之后可以比对预测类别y1和预测类别y2是否一致,以得到确定结果。
步骤830,基于确定结果,对第三像素位置对应关系进行修正。
如果像素位置x1与像素位置x2属于同一运动对象,理论上来说,像素位置x1与像素位置x2的预测类别应当一致。有鉴于此,如果确定结果表征预测类别y1和预测类别y2不一致,可以判定像素位置x1与像素位置x2实际上并不属于同一运动对象,像素位置x1与像素位置x2实际上并不具有对应关系,因此,可以从第三像素位置对应关系中删除像素位置x1与像素位置x2之间的对应关系,或者可以给第三像素位置对应关系中像素位置x1与像素位置x2之间的对应关系添加无效标记,以实现第三像素位置对应关系的修正。
步骤840,利用第一相机位姿序列、第四图像序列和经修正后的第三像素位置对应关系,进行点云的稀疏重建,得到第四重建点云和第四图像序列中的动态对象的对象位姿序列。
需要说明的是,步骤840的具体实施方式与上文中介绍的步骤630的具体实施方式可以是类似的,区别主要在于,步骤840中运用的是经修正后的第三像素位置对应关系,这样有利于提升动态场景的稀疏重建效果。
步骤850,利用第一相机位姿序列、第四图像序列、经修正后的第三像素位置对应关系、第四重建点云和经修正后的对象位姿序列,进行点云的稠密重建,得第三重建点云。
需要说明的是,步骤850的具体实施方式与上文中介绍的步骤650的具体实施方式可以是类似的,区别主要在于,步骤850中运用的是经修正后的第三像素位置对应关系,这样有利于提升动态场景的稠密重建效果。
本公开的实施例中,通过实例分割模型的运用,能够高效可靠地得到第一图像序列的实例分割结果,通过有机地运用实例分割结果和第三像素位置对应关系,可以对第三像素位置对应关系进行修正,并经修正后的第三像素位置对应关系用于点云的稀疏重建和稠密重建,从而有利于提升动态场景的重建效果。
图9是本公开一示例性实施例提供的静态场景的稠密重建方式的流程示意图。图9所示的方法包括步骤910、步骤920、步骤930、步骤940、步骤950和步骤960。可选地,步骤920至步骤960的组合可以作为步骤240的可选实施方式。
步骤910,通过实例分割模型,对第一图像序列进行实例分割,得到实例分割结果。
需要说明的是,步骤910的具体实施方式参照上文中对步骤3304的相关介绍即可,在此不再赘述。
步骤920,针对第三图像序列中的第三目标图像中的第二目标像素点,基于实例分割结果,确定第二目标像素点的第二预测类别。
需要说明的是,第三目标图像可以为第三图像序列包括的任一图像,第二目标像素点可以为第三目标图像中的任一像素点。
可选地,可以直接从实例分割结果中提取第二目标像素点的预测类别,提取得到的预测类别即可作为第二预测类别。
步骤930,确定与第二预测类别匹配的局部区域尺寸。
可选地,可以预先设置类别与窗口尺寸之间的对应关系,这样,依据预先设置的对应关系,即可确定第二预测类别对应的窗口尺寸,该窗口尺寸即可作为与第二预测类别匹配的局部区域尺寸。
步骤940,基于第二目标像素点的像素位置和局部区域尺寸,从第三目标图像中,确定目标局部区域。
可选地,局部区域尺寸可以包括宽度尺寸和高度尺寸,那么,可以从第三目标图像中截取以第二目标像素点的像素位置为中心,且具有该宽度尺寸和该高度尺寸的区域以作为目标局部区域。在一些情况下,也可以从第三目标图像中截取以第二目标像素点的像素位置为左上角点,且具有该宽度尺寸和该高度尺寸的区域以作为目标局部区域。
步骤950,针对目标局部区域,利用第一重建点云、第一相机位姿序列、第三图像序列中除了第三目标图像之外的其他图像,进行点云的稠密重建,得到目标局部区域对应的局部点云。
在确定目标局部区域之后,利用第一重建点云、第一相机位姿序列和预先标定的相机内参,再参考图1-1所示的运动模型,可以找到世界坐标系下与目标局部区域对应的空间区域,空间区域可以为一矩形区域。之后可以在空间区域中进行空间点的采样,以得到多个空间点,例如得到M个空间点。
针对M个空间点中的每个空间点,利用第一相机位姿序列和预先标定的相机内参,再参考图1-1所示的运动模型,可以确定第三图像序列中除了第三目标图像之外的其他图像中与该空间点对应的像素点,该像素点的像素位置可以表示为像素位置x3。由于空间区域与目标局部区域之间是相关联的,目标局部区域中与该空间点对应的像素点也可以计算出来,该像素点的像素位置可以表示为像素位置x4,通过图像之间的匹配,还可以确定其他图像中与像素位置x4对应的像素位置,该像素位置可以表示为像素位置x5。之后,通过将对像素位置x5与像素位置x4做差,可以得到相应的位置误差,依据M个空间点各自对应的位置误差,可以通过求均值的方式得到重投影误差,依据得到的重投影误差,可以优化空间区域的法向量,以及M个空间点的深度值,深度值优化好后的M个空间点可以组成目标局部区域对应的局部点云。
步骤960,基于局部点云,确定第二重建点云。
上文中介绍了针对第二目标像素点对应的目标局部区域,进行局部点云的重建的方式,按照这种方式,可以针对第三图像序列中的多个像素点,分别进行局部点云的重建,这些局部点云可以组成第二重建点云。或者,在得到这些局部点云之后,可以采用一定的方式,对这些重建点云进行优化,经优化后的这些重建点云可以组成第二重建点云。
本公开的实施例中,通过实例分割模型的运用,能够高效可靠地得到第一图像序列的实例分割结果,实例分割结果可以用于确定第三图像序列中的第三目标图像中的第二目标像素点的第二预测类别,参考第二预测类别,可以确定合适的局部区域尺寸,并据此确定相应的局部区域以用于第二目标像素点对应的局部点云的重建,例如,如果第二目标像素点处于地面等弱纹理区域,可以采用大窗口进行局部点云的重建,以重建出更多的场景细节,如果第二目标像素点处于强纹理区域,可以采用小窗口进行局部点云的重建,以提升重建精度,因此,本公开的实施例能够较好地保证静态场景的稠密重建效果。
图10是本公开另一示例性实施例提供的静态场景的稠密重建方式的流程示意图。图10所示的方法包括步骤1010、步骤1020和步骤1030。可选地,步骤1020和步骤1030的组合可以作为步骤240的可选实施方式。
步骤1010,通过光流预测模型,对第一图像序列进行光流预测,得到光流预测结果。
需要说明的是,步骤1010的具体实施方式参照上文中对步骤310的相关介绍即可,在此不再赘述。
步骤1020,基于光流预测结果,确定第三图像序列中前后帧图像之间的第五像素位置对应关系。
需要说明的是,步骤1020的具体实施方式参照上文中对步骤3301的相关介绍即可,在此不再赘述。
步骤1030,利用第一重建点云、第一相机位姿序列、第三图像序列和第五像素位置对应关系,进行点云的稠密重建,得到第二重建点云。
需要说明的是,步骤1030的具体实施方式与上文中介绍的步骤240的具体实施方式可以是类似的,区别主要在于,步骤1031中的稠密重建还利用了第五像素位置对应关系,第五像素位置对应关系可以看作通过一种方式得到的对象跟踪结果,在该对象跟踪结果的引导下,有利于厘清前后帧中的哪些像素点对应同一空间点,以为重建过程提供有效的参考,从而提升静态场景的稠密重建效果。
图11是本公开再一示例性实施例提供的静态场景的稠密重建方式的流程示意图。图11所示的方法包括步骤1110、步骤1120和步骤1130。可选地,步骤1110至步骤1130的组合可以作为步骤240的再一种可选实施方式。
步骤1110,基于设置于可移动设备的非视觉传感器采集的数据,确定相机的第二相机位姿序列。
可选地,非视觉传感器包括但不限于定位传感器、惯性测量单元、轮速计等;其中,定位传感器包括但不限于基于全球定位系统(Global Positioning System,GPS)的定位传感器、基于全球卫星导航系统(Global Navigation Satellite System,GNSS)的定位传感器等。
需要说明的是,对于非视觉传感器中包括的位于可移动设备的底盘系统中的传感器,这些传感器采集的数据可以从控制器局域网络(Controller Area Network,CAN)总线处获取。
假设非视觉传感器包括定位传感器和惯性测量数据,则可以依据定位传感器采集的定位数据,确定相机在N帧采集图像各自的采集时刻的相机位置,并依据惯性测量单元采集的惯性测量数据,确定相机在N帧采集图像各自的采集时刻的相机姿态,通过整合这些相机位置和相机姿态,可以得到第二相机位姿序列。
步骤1120,以第二相机位姿序列作为对齐基准,对第一相机位姿序列进行相似性变换对齐。
需要说明的是,可以采用任意可实施的相似性变换对齐算法,对第一相机位姿序列进行相似性变换对齐。
步骤1130,利用第一重建点云、经相似性变换对齐后的第一相机位姿序列和第三图像序列,进行点云的稠密重建,得到第二重建点云。
需要说明的是,在运用SFM算法进行稀疏重建,以得到第一相机位姿序列时,第一相机位姿序列中的各个位姿是尺度未定的,即不具有真实尺度。因此,可以利用非视觉传感器采集的数据,确定具有真实尺度的第二相机位姿序列,并利用相似度变换对齐算法,将第一相机位姿序列与第二相机位姿序列对齐,使得经相似性变换对齐后的第一相机位姿序列具有真实尺度,将经相似性变换对齐后的第一相机位姿序列用于静态场景的稠密重建,有利于保证静态场景的稠密重建效果。
在本公开的一些可选实施方式中,如图12所示,可以通过设置于可移动设备的前视相机获取前视单目视频,基于前视单目视频,可以得到上文中的第一图像序列。通过包括实例分割模型、深度预测模型和光流预测模型的视觉感知大模型,对第一图像序列进行处理,可以得到实例分割结果、深度预测结果和光流预测结果。通过对第一图像序列进行后景分割,可以得到第二图像序列。利用第二图像序列,可以进行稀疏重建,以得到静态场景的稀疏重建结果,静态场景的稀疏重建结果可以包括第一重建点云和第一相机位姿序列,利用设置于可移动设备的非视觉传感器采集的数据,可以对第一相机位姿序列进行相似度变换对齐。通过对第一图像序列进行动静态分割,可以得到静态场景对应的第三图像序列和动态场景对应的第四图像序列。依据第三图像序列和静态场景的稀疏重建结果,可以对静态场景进行稠密重建。另外,依据第四图像序列,可以先对动态场景进行稀疏重建,然后对动态场景进行稠密重建,最终能够得到第一图像序列对应的场景重建结果。
综上,本公开的实施例中采用视觉方式实现场景重建,具体地,可以采用一种先易后难分而治之的方式进行场景重建,例如首先对静态场景进行重建,静态场景重建完成之后再对动态场景进行重建,有利于降低重建成本和重建难度,且能够得到高精度的稠密点云。
示例性装置
图13是本公开一示例性实施例提供的场景重建装置的结构示意图。图12所示的装置包括第一分割模块1310、第一重建模块1320、第二分割模块1330、第二重建模块1340、第三重建模块1350和确定模块1360。
第一分割模块1310,用于对设置于可移动设备的相机采集的第一图像序列进行后景分割,得到第二图像序列;
第一重建模块1320,用于利用所述第一分割模块1310得到的所述第二图像序列,进行点云的稀疏重建,得到第一重建点云和第一相机位姿序列;
第二分割模块1330,用于对所述第一图像序列进行动静态分割,得到静态场景对应的第三图像序列和动态场景对应的第四图像序列;
第二重建模块1340,用于利用所述第一重建模块1320得到的所述第一重建点云和所述第一相机位姿序列,以及所述第二分割模块1330得到的所述第三图像序列,进行点云的稠密重建,得到第二重建点云;
第三重建模块1350,用于利用所述第一重建模块1320得到的所述第一相机位姿序列和所述第二分割模块1330得到的所述第四图像序列,依次进行点云的稀疏重建和稠密重建,得到第三重建点云;
确定模块1360,用于基于所述第二重建模块1340得到的所述第二重建点云和所述第三重建模块1350得到的所述第三重建点云,确定所述第一图像序列对应的场景重建结果。
在一些可选示例中,如图14所示,本公开的实施例提供的装置还包括:
第一预测模块1370,用于通过光流预测模型,对第一图像序列进行光流预测,得到光流预测结果;
第二预测模块1380,用于通过深度预测模型,对第一图像序列进行深度预测,得到深度预测结果;
第二分割模块1330,具体用于基于第一预测模块1370得到的光流预测结果、第二预测模块1380得到的深度预测结果和第一重建模块1320得到的第一相机位姿序列,对第一图像序列进行动静态分割,得到静态场景对应的第三图像序列和动态场景对应的第四图像序列。
在一些可选示例中,如图14所示,第二分割模块1330,包括:
第一确定子模块13301,用于基于第一预测模块1370得到的光流预测结果,确定第一图像序列中前后帧图像之间的第一像素位置对应关系;
第二确定子模块13303,用于基于第二预测模块1380得到的深度预测结果和第一重建模块1320得到的第一相机位姿序列,确定第一图像序列中前后帧图像之间的第二像素位置对应关系;
分割子模块13305,用于基于第一确定子模块13301确定的第一像素位置对应关系和第二确定子模块13303确定的第二像素位置对应关系,对第一图像序列进行动静态分割,得到静态场景对应的第三图像序列和动态场景对应的第四图像序列。
在一些可选示例中,分割子模块13305,包括:
第一确定单元,用于针对第一图像序列中的第一目标图像中的第一目标像素点,按照第一确定子模块13301确定的第一像素位置对应关系,从第二目标图像中,确定与第一目标像素点的像素位置对应的第一目标像素位置;其中,第二目标图像为第一图像序列中第一目标图像的后一帧图像;
第二确定单元,用于按照第二确定子模块13303确定的第二像素点对应关系,从第二目标图像中,确定与第一目标像素点的像素位置对应的第二目标像素位置;
第三确定单元,用于基于第一确定单元确定的第一目标像素位置与第二确定单元确定的第二目标像素位置之间的位置误差,确定第一目标像素点的像素点属性;其中,任一像素点的像素点属性用于表征该像素点是否属于动态对象;
第一分割单元,用于基于第三确定单元确定的第一目标像素点的像素点属性,对第一目标图像进行动静态分割,得到静态场景对应的第一分割图像和动态场景对应的第二分割图像;
第四确定单元,用于基于第一分割单元得到的第一分割图像,确定第三图像序列;
第五确定单元,用于基于第一分割单元得到的第二分割图像,确定第四图像序列。
在一个可选示例中,如图14所示,本公开的实施例提供的装置还包括:
第三分割模块1390,用于通过实例分割模型,对第一图像序列进行实例分割,得到实例分割结果;
分割子模块13305,包括:
第五确定单元,用于针对第一图像序列中的第一目标图像,基于第三分割模块1390得到的实例分割结果,确定第一目标图像中的每个实例各自的实例区域;
第六确定单元,用于基于第一确定子模块13301确定的第一像素位置对应关系和第二确定子模块13303确定的第二像素位置对应关系,确定第一目标图像中的每个像素点各自的像素点属性;其中,任一像素点的像素点属性用于表征该像素点是否属于动态对象;
统计单元,用于针对第一目标图像中的每个实例区域,对第六确定单元确定的该实例区域中每个像素点各自的像素点属性进行统计,得到统计结果;
第二分割单元,用于基于统计单元得到的第一目标图像中的每个实例区域各自对应的统计结果,对第一目标图像进行动静态分割,得到静态场景对应的第三分割图像和动态场景对应的第四分割图像;
第七确定单元,用于基于第二分割单元得到的第三分割图像,确定第三图像序列;
第八确定单元,用于基于第二分割单元得到的第四分割图像,确定第四图像序列。
在一些可选示例中,第二分割单元,包括:
确定子单元,用于针对第一目标图像中的每个实例区域,基于统计单元得到的该实例区域对应的统计结果,确定该实例区域中像素点属性用于表征当前像素点不属于动态对象的像素点的占比;
分割子单元,用于基于确定子单元确定的第一目标图像中的每个实例区域各自对应的占比,对第一目标图像进行动静态分割,得到静态场景对应的第三分割图像和动态场景对应的第四分割图像。
在一些可选示例中,如图15-1、图15-2所示,本公开的实施例提供的装置还包括:
第一预测模块1370,用于通过光流预测模型,对第一图像序列进行光流预测,得到光流预测结果;
第三重建模块1350,包括:
第三确定子模块13501,用于基于第一预测模块1370得到的光流预测结果,确定分割子模块13305得到的第四图像序列中前后帧图像之间的第三像素位置对应关系;
第一重建子模块13503,用于利用第一重建模块1320得到的第一相机位姿序列、第二分割模块1330得到的第四图像序列和第三确定子模块13501确定的第三像素位置对应关系,进行点云的稀疏重建,得到第四重建点云和第四图像序列中的动态对象的对象位姿序列;
修正子模块13507,用于按照预设修正方式,对第一重建子模块13503得到的对象位姿序列进行修正;
第二重建子模块13509,用于利用第一重建模块1320得到的第一相机位姿序列、第二分割模块1330得到的第四图像序列、第三确定子模块13501确定的第三像素位置对应关系、第一重建子模块13503得到的第四重建点云和修正子模块13507得到的经修正后的对象位姿序列,进行点云的稠密重建,得到第三重建点云。
在一些可选示例中,如图15-1所示,本公开的实施例提供的装置还包括:
第二预测模块1380,用于通过深度预测模型,对第一图像序列进行深度预测,得到深度预测结果;
修正子模块13507,包括:
第九确定单元,用于基于第二预测模块1380得到的深度预测结果、第一重建模块1320得到的第一相机位姿序列和第一重建子模块13503得到的对象位姿序列,确定第二分割模块1330得到的第四图像序列中前后帧图像之间的第四像素位置对应关系;
第十确定单元,用于基于第三确定子模块13501确定的第三像素位置对应关系和第九确定单元确定的第四像素位置对应关系,确定重投影误差;
第一修正子单元,用于通过最小化第十确定单元确定的重投影误差,对第一重建子模块13503得到的对象位姿序列进行修正。
在一些可选示例中,如图15-2所示,本公开的实施例提供的装置还包括:
第三分割模块1390,用于通过实例分割模型,对第一图像序列进行实例分割,得到实例分割结果;
修正子模块13507,包括:
第十一确定单元,用于基于第一重建子模块13503得到的对象位姿序列,确定第二分割模块1330得到的第四图像序列中的动态对象的运动轨迹;
第十二确定单元,用于基于第三分割模块1390得到的实例分割结果,确定第二分割模块1330得到的第四图像序列中的动态对象的第一预测类别;
第十三确定单元,用于确定第十二确定单元确定的第一预测类别对应的预设轨迹;
第二修正子单元,用于通过最小化第十一确定单元确定的运动轨迹与第十三确定单元确定的预设轨迹之间的轨迹误差,对第一重建子模块13503得到的对象位姿序列进行修正。
在一些可选示例中,如图16所示,本公开的实施例提供的装置还包括:
第三分割模块1390,用于通过实例分割模型,对第一图像序列进行实例分割,得到实例分割结果;
第一重建子模块13503,包括:
第十四确定单元,用于基于第三分割模块1390得到的实例分割结果和第三确定子模块13501确定的第三像素位置对应关系,确定第二分割模块1330得到的第四图像序列中前后帧图像中相对应的像素位置的预测类别是否一致,得到确定结果;
修正单元,用于基于第十四确定单元得到的确定结果,对第三确定子模块13501确定的第三像素位置对应关系进行修正;
重建单元,用于利用第一重建模块1320得到的第一相机位姿序列、第二分割模块1330得到的第四图像序列和修正单元得到的经修正后的第三像素位置对应关系,进行点云的稀疏重建,得到第四重建点云和第四图像序列中的动态对象的对象位姿序列;
第二重建子模块13509,具体用于利用第一相机位姿序列、第四图像序列、经修正后的第三像素位置对应关系、第四重建点云和经修正后的对象位姿序列,进行点云的稠密重建,得到第三重建点云。
在一些可选示例中,如图16所示,本公开的实施例提供的装置还包括:
第三分割模块1390,用于通过实例分割模型,对第一图像序列进行实例分割,得到实例分割结果;
第二重建模块1340,包括:
第五确定子模块13401,用于针对第二分割模块1330得到的第三图像序列中的第三目标图像中的第二目标像素点,基于第三分割模块1390得到的实例分割结果,确定第二目标像素点的第二预测类别;
第六确定子模块13403,用于确定与第五确定子模块13401确定的第二预测类别匹配的局部区域尺寸;
第七确定子模块13405,用于基于第二目标像素点的像素位置和第六确定子模块13403确定的局部区域尺寸,从第三目标图像中,确定目标局部区域;
第三重建子模块13407,用于针对第七确定子模块13405确定的目标局部区域,利用第一重建模块1320得到的第一重建点云、第一重建模块1320得到的第一相机位姿序列、第二分割模块1330得到的第三图像序列中除了第三目标图像之外的其他图像,进行点云的稠密重建,得到目标局部区域对应的局部点云;
第八确定子模块13409,用于基于第三重建子模块13407得到的局部点云,确定第二重建点云。
在一些可选示例中,如图17所示,本公开的实施例提供的装置还包括:
第一预测模块1370,用于通过光流预测模型,对第一图像序列进行光流预测,得到光流预测结果;
第二重建模块1340,包括:
第九确定子模块13411,用于基于第一预测模块1370得到的光流预测结果,确定第二分割模块1330得到的第三图像序列中前后帧图像之间的第五像素位置对应关系;
第四重建子模块13413,用于利用第一重建模块1320得到的第一重建点云、第一重建模块1320得到的第一相机位姿序列、第二分割模块1330得到的第三图像序列和第九确定子模块13411确定的第五像素位置对应关系,进行点云的稠密重建,得到第二重建点云。
在一些可选示例中,如图18所示,第二重建模块1340,包括:
第十确定子模块13415,用于基于设置于可移动设备的非视觉传感器采集的数据,确定相机的第二相机位姿序列;
相似性变换对齐子模块13417,用于以第十确定子模块13415确定的第二相机位姿序列作为对齐基准,对第一重建模块1320得到的第一相机位姿序列进行相似性变换对齐;
第五重建子模块13419,用于利用第一重建模块1320得到的第一重建点云、相似性变换对齐子模块13417得到的经相似性变换对齐后的第一相机位姿序列和第二分割模块1330得到的第三图像序列,进行点云的稠密重建,得到第二重建点云。
在本公开的装置中,上述公开的各种可选实施例、可选实施方式和可选示例,都可以根据需要进行灵活的选择和组合,从而实现相应的功能和效果,本公开不进行一一列举。
本装置示例性实施例对应的有益技术效果可以参见上述示例性方法部分的相应有益技术效果,在此不再赘述。
示例性电子设备
图19图示了根据本公开实施例的电子设备的框图,电子设备1900包括一个或多个处理器1910和存储器1920。
处理器1910可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备1900中的其他组件以执行期望的功能。
存储器1920可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器1910可以运行一个或多个计算机程序指令,以实现上文所述的本公开的各个实施例的方法以及/或者其他期望的功能。
在一个示例中,电子设备1900还可以包括:输入装置1930和输出装置1940,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
该输入装置1930还可以包括例如键盘、鼠标等等。
该输出装置1940可以向外部输出各种信息,其可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图19中仅示出了该电子设备1900中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备1900还可以包括任何其他适当的组件。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,该指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的场景重建方法中的步骤。
计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的场景重建方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。上述公开的具体细节仅是为了示例和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本领域的技术人员可以对本公开进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包含这些改动和变型在内。
Claims (14)
1.一种场景重建方法,包括:
对设置于可移动设备的相机采集的第一图像序列进行后景分割,得到第二图像序列;
利用所述第二图像序列,进行点云的稀疏重建,得到第一重建点云和所述相机的第一相机位姿序列;
对所述第一图像序列进行动静态分割,得到静态场景对应的第三图像序列和动态场景对应的第四图像序列;
利用所述第一重建点云、所述第一相机位姿序列和所述第三图像序列,进行点云的稠密重建,得到第二重建点云;
利用所述第一相机位姿序列和所述第四图像序列,依次进行点云的稀疏重建和稠密重建,得到第三重建点云;
基于所述第二重建点云和所述第三重建点云,确定所述第一图像序列对应的场景重建结果。
2.根据权利要求1所述的方法,其中,
所述方法还包括:
通过光流预测模型,对所述第一图像序列进行光流预测,得到光流预测结果;
通过深度预测模型,对所述第一图像序列进行深度预测,得到深度预测结果;
所述对所述第一图像序列进行动静态分割,得到静态场景对应的第三图像序列和动态场景对应的第四图像序列,包括:
基于所述光流预测结果、所述深度预测结果和所述第一相机位姿序列,对所述第一图像序列进行动静态分割,得到静态场景对应的第三图像序列和动态场景对应的第四图像序列。
3.根据权利要求2所述的方法,其中,所述基于所述光流预测结果、所述深度预测结果和所述第一相机位姿序列,对所述第一图像序列进行动静态分割,得到静态场景对应的第三图像序列和动态场景对应的第四图像序列,包括:
基于所述光流预测结果,确定所述第一图像序列中前后帧图像之间的第一像素位置对应关系;
基于所述深度预测结果和所述第一相机位姿序列,确定所述第一图像序列中前后帧图像之间的第二像素位置对应关系;
基于所述第一像素位置对应关系和所述第二像素位置对应关系,对所述第一图像序列进行动静态分割,得到静态场景对应的第三图像序列和动态场景对应的第四图像序列。
4.根据权利要求3所述的方法,其中,所述基于所述第一像素位置对应关系和所述第二像素位置对应关系,对所述第一图像序列进行动静态分割,得到静态场景对应的第三图像序列和动态场景对应的第四图像序列,包括:
针对所述第一图像序列中的第一目标图像中的第一目标像素点,按照所述第一像素位置对应关系,从第二目标图像中,确定与所述第一目标像素点的像素位置对应的第一目标像素位置;其中,所述第二目标图像为所述第一图像序列中所述第一目标图像的后一帧图像;
按照所述第二像素点对应关系,从所述第二目标图像中,确定与所述第一目标像素点的像素位置对应的第二目标像素位置;
基于所述第一目标像素位置与所述第二目标像素位置之间的位置误差,确定所述第一目标像素点的像素点属性;其中,任一像素点的像素点属性用于表征该像素点是否属于动态对象;
基于所述第一目标像素点的像素点属性,对所述第一目标图像进行动静态分割,得到静态场景对应的第一分割图像和动态场景对应的第二分割图像;
基于所述第一分割图像,确定所述第三图像序列;
基于所述第二分割图像,确定所述第四图像序列。
5.根据权利要求3所述的方法,其中,
所述方法还包括:
通过实例分割模型,对所述第一图像序列进行实例分割,得到实例分割结果;
所述基于所述第一像素位置对应关系和所述第二像素位置对应关系,对所述第一图像序列进行动静态分割,得到静态场景对应的第三图像序列和动态场景对应的第四图像序列,包括:
针对所述第一图像序列中的第一目标图像,基于所述实例分割结果,确定所述第一目标图像中的每个实例各自的实例区域;
基于所述第一像素位置对应关系和所述第二像素位置对应关系,确定所述第一目标图像中的每个像素点各自的像素点属性;其中,任一像素点的像素点属性用于表征该像素点是否属于动态对象;
针对所述第一目标图像中的每个实例区域,对该实例区域中每个像素点各自的像素点属性进行统计,得到统计结果;
基于所述第一目标图像中的每个实例区域各自对应的统计结果,对所述第一目标图像进行动静态分割,得到静态场景对应的第三分割图像和动态场景对应的第四分割图像;
基于所述第三分割图像,确定所述第三图像序列;
基于所述第四分割图像,确定所述第四图像序列。
6.根据权利要求5所述的方法,其中,所述基于所述第一目标图像中的每个实例区域各自对应的统计结果,对所述第一目标图像进行动静态分割,得到静态场景对应的第三分割图像和动态场景对应的第四分割图像,包括:
针对所述第一目标图像中的每个实例区域,基于该实例区域对应的统计结果,确定该实例区域中像素点属性用于表征当前像素点不属于动态对象的像素点的占比;
基于所述第一目标图像中的每个实例区域各自对应的占比,对所述第一目标图像进行动静态分割,得到静态场景对应的第三分割图像和动态场景对应的第四分割图像。
7.根据权利要求1所述的方法,其中,
所述方法还包括:
通过光流预测模型,对所述第一图像序列进行光流预测,得到光流预测结果;
所述利用所述第一相机位姿序列和所述第四图像序列,依次进行点云的稀疏重建和稠密重建,得到第三重建点云,包括:
基于所述光流预测结果,确定所述第四图像序列中前后帧图像之间的第三像素位置对应关系;
利用所述第一相机位姿序列、所述第四图像序列和所述第三像素位置对应关系,进行点云的稀疏重建,得到第四重建点云和所述第四图像序列中的动态对象的对象位姿序列;
按照预设修正方式,对所述对象位姿序列进行修正;
利用所述第一相机位姿序列、所述第四图像序列、所述第三像素位置对应关系、所述第四重建点云和经修正后的所述对象位姿序列,进行点云的稠密重建,得到所述第三重建点云。
8.根据权利要求7所述的方法,其中,
所述方法还包括:
通过深度预测模型,对所述第一图像序列进行深度预测,得到深度预测结果;
所述按照预设修正方式,对所述对象位姿序列进行修正,包括:
基于所述深度预测结果、所述第一相机位姿序列和所述对象位姿序列,确定所述第四图像序列中前后帧图像之间的第四像素位置对应关系;
基于所述第三像素位置对应关系和所述第四像素位置对应关系,确定重投影误差;
通过最小化所述重投影误差,对所述对象位姿序列进行修正。
9.根据权利要求7所述的方法,其中,
所述方法还包括:
通过实例分割模型,对所述第一图像序列进行实例分割,得到实例分割结果;
所述按照预设修正方式,对所述对象位姿序列进行修正,包括:
基于所述对象位姿序列,确定所述第四图像序列中的动态对象的运动轨迹;
基于所述实例分割结果,确定所述第四图像序列中的动态对象的第一预测类别;
确定所述第一预测类别对应的预设轨迹;
通过最小化所述运动轨迹与所述预设轨迹之间的轨迹误差,对所述对象位姿序列进行修正。
10.根据权利要求7所述的方法,其中,
所述方法还包括:
通过实例分割模型,对所述第一图像序列进行实例分割,得到实例分割结果;
所述利用所述第一相机位姿序列、所述第四图像序列和所述第三像素位置对应关系,进行点云的稀疏重建,得到第四重建点云和所述第四图像序列中的动态对象的对象位姿序列,包括:
基于所述实例分割结果和所述第三像素位置对应关系,确定所述第四图像序列中前后帧图像中相对应的像素位置的预测类别是否一致,得到确定结果;
基于所述确定结果,对所述第三像素位置对应关系进行修正;
利用所述第一相机位姿序列、所述第四图像序列和经修正后的所述第三像素位置对应关系,进行点云的稀疏重建,得到第四重建点云和所述第四图像序列中的动态对象的对象位姿序列;
所述利用所述第一相机位姿序列、所述第四图像序列、所述第三像素位置对应关系、所述第四重建点云和经修正后的所述对象位姿序列,进行点云的稠密重建,得到所述第三重建点云,包括:
利用所述第一相机位姿序列、所述第四图像序列、经修正后的所述第三像素位置对应关系、所述第四重建点云和经修正后的所述对象位姿序列,进行点云的稠密重建,得到所述第三重建点云。
11.根据权利要求1所述的方法,其中,
所述方法还包括:
通过实例分割模型,对所述第一图像序列进行实例分割,得到实例分割结果;
所述利用所述第一重建点云、所述第一相机位姿序列和所述第三图像序列,进行点云的稠密重建,得到第二重建点云,包括:
针对所述第三图像序列中的第三目标图像中的第二目标像素点,基于所述实例分割结果,确定所述第二目标像素点的第二预测类别;
确定与所述第二预测类别匹配的局部区域尺寸;
基于所述第二目标像素点的像素位置和所述局部区域尺寸,从所述第三目标图像中,确定目标局部区域;
针对所述目标局部区域,利用所述第一重建点云、所述第一相机位姿序列、所述第三图像序列中除了所述第三目标图像之外的其他图像,进行点云的稠密重建,得到所述目标局部区域对应的局部点云;
基于所述局部点云,确定所述第二重建点云。
12.一种场景重建装置,包括:
第一分割模块,用于对设置于可移动设备的相机采集的第一图像序列进行后景分割,得到第二图像序列;
第一重建模块,用于利用所述第一分割模块得到的所述第二图像序列,进行点云的稀疏重建,得到第一重建点云和第一相机位姿序列;
第二分割模块,用于对所述第一图像序列进行动静态分割,得到静态场景对应的第三图像序列和动态场景对应的第四图像序列;
第二重建模块,用于利用所述第一重建模块得到的所述第一重建点云和所述第一相机位姿序列,以及所述第二分割模块得到的所述第三图像序列,进行点云的稠密重建,得到第二重建点云;
第三重建模块,用于利用所述第一重建模块得到的所述第一相机位姿序列和所述第二分割模块得到的所述第四图像序列,依次进行点云的稀疏重建和稠密重建,得到第三重建点云;
确定模块,用于基于所述第二重建模块得到的所述第二重建点云和所述第三重建模块得到的所述第三重建点云,确定所述第一图像序列对应的场景重建结果。
13.一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-11中任一所述的场景重建方法。
14.一种电子设备,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述权利要求1-11中任一所述的场景重建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310806421.2A CN116597096A (zh) | 2023-06-30 | 2023-06-30 | 场景重建方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310806421.2A CN116597096A (zh) | 2023-06-30 | 2023-06-30 | 场景重建方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116597096A true CN116597096A (zh) | 2023-08-15 |
Family
ID=87595939
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310806421.2A Pending CN116597096A (zh) | 2023-06-30 | 2023-06-30 | 场景重建方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116597096A (zh) |
-
2023
- 2023-06-30 CN CN202310806421.2A patent/CN116597096A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6745328B2 (ja) | 点群データを復旧するための方法及び装置 | |
US11030525B2 (en) | Systems and methods for deep localization and segmentation with a 3D semantic map | |
Geiger et al. | Stereoscan: Dense 3d reconstruction in real-time | |
CN111739005B (zh) | 图像检测方法、装置、电子设备及存储介质 | |
WO2019241782A1 (en) | Deep virtual stereo odometry | |
Honegger et al. | Embedded real-time multi-baseline stereo | |
CN112561978B (zh) | 深度估计网络的训练方法、图像的深度估计方法、设备 | |
CN114424250A (zh) | 结构建模 | |
CN113989450A (zh) | 图像处理方法、装置、电子设备和介质 | |
CN112017236B (zh) | 一种基于单目相机计算目标物位置的方法及装置 | |
CN112700486B (zh) | 对图像中路面车道线的深度进行估计的方法及装置 | |
CN115867940A (zh) | 从3d边界框的单眼深度监督 | |
CN112085849A (zh) | 基于航拍视频流的实时迭代三维建模方法、系统及可读介质 | |
CN113029128A (zh) | 视觉导航方法及相关装置、移动终端、存储介质 | |
CN115410167A (zh) | 目标检测与语义分割方法、装置、设备及存储介质 | |
CN114217665A (zh) | 一种相机和激光雷达时间同步方法、装置及存储介质 | |
CN115249266A (zh) | 航路点位置预测方法、系统、设备及存储介质 | |
CN112085842B (zh) | 深度值确定方法及装置、电子设备和存储介质 | |
CN114648639B (zh) | 一种目标车辆的检测方法、系统及装置 | |
WO2023283929A1 (zh) | 双目相机外参标定的方法及装置 | |
CN115761164A (zh) | 逆透视ipm图像生成的方法和装置 | |
CN116597096A (zh) | 场景重建方法、装置、存储介质及电子设备 | |
US11227166B2 (en) | Method and device for evaluating images, operating assistance method, and operating device | |
CN113763468A (zh) | 一种定位方法、装置、系统及存储介质 | |
Su et al. | Omnidirectional Depth Estimation With Hierarchical Deep Network for Multi-Fisheye Navigation Systems |
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 |