CN117953177A - 一种可微分的逼真点云数据生成方法、装置及存储介质 - Google Patents

一种可微分的逼真点云数据生成方法、装置及存储介质 Download PDF

Info

Publication number
CN117953177A
CN117953177A CN202311751711.8A CN202311751711A CN117953177A CN 117953177 A CN117953177 A CN 117953177A CN 202311751711 A CN202311751711 A CN 202311751711A CN 117953177 A CN117953177 A CN 117953177A
Authority
CN
China
Prior art keywords
point cloud
dimensional
differentiable
rendering
generating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311751711.8A
Other languages
English (en)
Inventor
王子豪
李艳雄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN202311751711.8A priority Critical patent/CN117953177A/zh
Publication of CN117953177A publication Critical patent/CN117953177A/zh
Pending legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种可微分的逼真点云数据生成方法、装置及存储介质,属于计算机视觉技术领域。其中方法包括:获取合成三维模型数据集以及真实点云数据样本,并对合成三维模型数据集以及真实点云数据样本进行预处理;构建基于可微分渲染的点云生成器,并对基于可微分渲染的点云生成器进行初始化;构建点云判别器,并对点云判别器进行初始化;构建下游任务点云深度网络,并对下游任务点云深度网络进行初始化;训练并优化点云生成器和下游任务点云深度网络的相关参数;测试并使用优化后的点云生成器和下游任务点云深度网络。本发明能够即保留渲染引擎能够产生近似真实的逼真噪声特性,又能产生与指定提供的真实数据点云样本相逼近的合成点云数据。

Description

一种可微分的逼真点云数据生成方法、装置及存储介质
技术领域
本发明涉及计算机视觉技术领域,尤其涉及一种可微分的逼真点云数据生成方法、装置及存储介质。
背景技术
点云作为一种直观的三维表征,相比于传统RGB颜色图像可以更好的描述观测对象的三维结构,大大促进了各类算法应用对于真实物理世界的感知与理解,已经广泛应用于分类、分割、检测等各类工业场景中。同时随着深度学习领域的兴起,大量研究者与工作致力于研究基于三维点云的深度神经网络。训练一个指定下游任务的基于三维点云的深度神经网络,需要提供大量含有指定任务标签的点云数据作为数据集从而进行监督学习。但相比RGB图像,三维点云的数据采集需要专业人员以及专业三维感知设备,且三维点云的数据标注难度较高,导致在目前真实工业场景下,人们难以针对下游任务采集大规模的高质量真实三维点云数据并进行标注从而实现模型训练,往往只能采集少量的真实数据样本,因此现有的解决办法更倾向于使用大规模的合成点云数据用于模型训练,再使用采集到的少量真实数据样本进行优化。
但已经被证明的是,已有合成点云数据集或者已有合成点云数据生成方式均有其固定的缺陷与问题,基于此类合成点云数据集训练的深度神经网络迁移至真实场景下性能不足难以落地运用,主要问题在于合成点云数据集尽管数据量大且容易标注,但其点云往往干净无噪,分布均匀且观测完整,而真实场景中采集的点云存在大量复杂且多样的噪声,例如带噪,分布不均匀,观测不完整等,因此合成点云数据与真实点云数据存在有巨大的数据分布差异,从而严重影响了深度学习网络的性能。
已有合成点云数据集及其生成方式包括以下几种:(1)直接在三维模型上进行均匀表面点采样,这种方式获得的数据往往过于干净无噪与真实情况差异过大;(2)通过对真实噪声进行理论性建模,但是实验验证真实噪声更加复杂多样理论性模型难以完全覆盖;(3)借助渲染引进行数据生成,这种方式尽管逼真程度上升,此类工作需要有丰富经验的工作人员针对下游任务进行复杂相关参数调整且只能进行离线数据生成;(4)利用生成式网络直接生成点云数据,这种方式同样受限于训练样本数量效果完全达不到预期。
更具体地,如上所述在真实的工业场景中往往可以获得一小批真实点云数据样本,但目前没有工作可以针对性地生成大规模含标签且与给定真实数据样本相逼近的合成点云数据,如此逼近给定真实点云数据样本的合成点云能够促进网络模型的训练,提升迁移性能。
发明内容
为至少一定程度上解决现有技术中存在的技术问题之一,本发明的目的在于提供一种可微分的逼真点云数据生成方法、装置及存储介质。
本发明所采用的技术方案是:
一种可微分的逼真点云数据生成方法,包括以下步骤:
获取合成三维模型数据集以及真实点云数据样本,并对合成三维模型数据集以及真实点云数据样本进行预处理;
构建基于可微分渲染的点云生成器,并对基于可微分渲染的点云生成器进行初始化;
构建点云判别器,并对点云判别器进行初始化;
构建下游任务点云深度网络,并对下游任务点云深度网络进行初始化;
训练并优化点云生成器和下游任务点云深度网络的相关参数;
测试并使用优化后的点云生成器和下游任务点云深度网络。
进一步地,所述构建基于可微分渲染的点云生成器,并对基于可微分渲染的点云生成器进行初始化,包括:
构建并初始化基于可微分渲染的虚拟相机;
构建并初始化可微分立体匹配算法;
构建并初始化可微分点云生成与后处理模块。
进一步地,所述构建并初始化基于可微分渲染的虚拟相机,包括:
在可微分渲染引擎中搭建虚拟场景;
在可微分渲染引擎中创建单目相机;
在可微分渲染引擎中创建点光源。
进一步地,所述构建点云判别器,并对点云判别器进行初始化,包括:
构建并初始化基于图神经网络的特征提取器;
构建并初始化判别器分类头。
进一步地,所述训练并优化点云生成器和下游任务点云深度网络的相关参数,包括:
根据所述合成三维模型数据集,通过所述基于可微分渲染的点云生成器生成逼真合成点云;
根据所述逼真合成点云和真实点云,采用预设的损失函数对所述点云判别器和所述下游任务点云深度网络进行监督训练。
进一步地,所述根据所述合成三维模型数据集,通过所述基于可微分渲染的点云生成器生成逼真合成点云,包括:
针对所述合成三维模型数据集中的每一个三维模型,将所述三维模型导入至搭建的虚拟场景,通过所述基于可微分渲染的虚拟相机渲染生成图像;
基于所述可微分立体匹配算法对所述生成图像进行逐像素点深度计算,获得对应的深度图;
基于所述可微分点云生成与后处理模块,将所述深度图中的像素点反投影回三维空间,获得对应的合成点云,作为逼真合成点云。
进一步地,所述针对所述合成三维模型数据集中的每一个三维模型,将所述三维模型导入至搭建的虚拟场景,通过所述基于可微分渲染的虚拟相机渲染生成图像,包括:
导入三维模型,并放置于搭建好的虚拟场景的世界坐标系原点;根据虚拟相机初始化原则随机生成一个指向世界坐标系原点的虚拟单目相机,根据点光源初始化原则设置好点光源的相关参数;
借助可微分渲染引擎的延迟渲染,针对一个大小为H*W的图像中的每一个像素点,以搭建的虚拟相机的光心为原点向每个像素点的中心发射光线,射出的光线将与虚拟场景中的三维模型相交,获取光线与三维模型相交的交点在世界坐标系下的具体三维坐标,输出三维坐标图;
根据点光源的相机外参将三维坐标图进行坐标系转换,以转换至点光源的相机坐标系;
根据点光源的相机内参将更新后的三维坐标图投射生成二维采样图,作为单目图像。
进一步地,所述基于所述可微分立体匹配算法对所述生成图像进行逐像素点深度计算,获得对应的深度图,包括:
针对渲染生成的单目图像与预先提供的匹配模版图,通过可微分立体匹配算法生成代价体积;
对代价体积的第三个维度进行最大值操作,获取最大相似度,如果相似度于预设的代价阈值,则在掩膜处置0,反之置1,最终生成形状为H*W的二维掩膜;
通过可微分最大索引方程生成代价体积对应的二维索引图;
针对生成的二维索引图,根据匹配关系计算视差值disparity,给定匹配点对(uleft,vlefleftft)和(urighght,vrighght),视差值为urigighrightightt-uleft,从而生成二维视差图;针对生成的二维视差图,利用预设的基线参数baseline以及焦距参数focallength,生成二维深度图;具体转换公式为:
本发明所采用的另一技术方案是:
一种可微分的逼真点云数据生成装置,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如上所述方法。
本发明所采用的另一技术方案是:
一种计算机可读存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由处理器执行时用于执行如上所述方法。
本发明的有益效果是:本发明利用可微分渲染的方式构建点云生成器,通过对真实三维传感器的工作原理进行可微分建模仿真,同时将原先需要人为手动设置的相关参数转变为可优化的对象,通过构建点云判别器以及下游任务点云深度网络,计算损失函数利用梯度回传进行相关参数的更新迭代,从而实现即保证了生成点云能够带有近似于真实数据的复杂多样噪声,又可以进一步产生针对性的更加逼近提供的真实点云数据的逼真合成点云数据,提升了网络的迁移性能,符合真实工业场景的需求,减轻了当前基于合成数据集难以很好泛化的问题,为工业落地提供了更多可能性。同时由于完全端到端可微分化的设计,该点云生成方式与转置可以直接嵌入进任意三维点云深度学习管线,为目前学术界的点云生成方向提供了新的解决思路。
附图说明
为了更清楚地说明本发明实施例或者现有技术中的技术方案,下面对本发明实施例或者现有技术中的相关技术方案附图作以下介绍,应当理解的是,下面介绍中的附图仅仅为了方便清晰表述本发明的技术方案中的部分实施例,对于本领域的技术人员而言,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。
图1是本发明实施例中一种可微分的逼真点云数据生成方法的步骤流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
此外,在本发明的描述中,“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
如图1所示,本实施例提供了一种可微分的逼真点云数据生成方法,该方法利用可微分渲染的方式构建点云生成器,通过对真实三维传感器的工作原理进行可微分建模仿真,同时将原先需要人为手动设置的相关参数转变为可优化的对象,通过构建点云判别器以及下游任务点云深度网络,计算损失函数利用梯度回传进行相关参数的更新迭代,从而实现即保证了生成点云能够带有近似于真实数据的复杂多样噪声,又可以进一步产生针对性的更加逼近提供的真实点云数据的逼真合成点云数据,提升了网络的迁移性能。该方法具体包括以下步骤:
S1、获取合成三维模型数据集以及真实点云数据样本,并对合成三维模型数据集以及真实点云数据样本进行预处理。
在本实施例中,对合成三维模型数据集ModelNet和真实数据点云样本DepthScanNet进行预处理;其中三维模型主要指Mesh数据,主要由顶点和面片构成,用于描述物体的几何结构;点云样本只由顶点构成,用于描述观测对象的表面信息。
具体为:针对ModelNet内的每一个三维Mesh模型,我们绕其模型自身z轴进行随机旋转作为数据增强;然后将其尺寸归一化至单位一的正方体内;最后计算三维包围盒并赋予其针对性的下游任务标签;针对DepthScanNet内的每一个真实点云数据样本,首先进行最远点采样将原始点云样本下采样至1024个点;然后将下采样后的点云同样进行尺寸归一化至单位一的正方体内;绕点云自身z轴进行随机旋转同时随机生成高斯噪声直接加至点云坐标上进行坐标扰动作为数据增强。
S2、构建基于可微分渲染的点云生成器,并对基于可微分渲染的点云生成器进行初始化。
作为一种可选的实施方式,步骤S2具体包括步骤S21-S23:
S21、构建并初始化基于可微分渲染的虚拟相机。
具体地,可微分渲染引擎是一种特殊的图形学渲染引擎,通过向引擎提供模型、材质、光照和相机等相关参数与原件,生成逼真的合成图像;同时因为其可微分的性质,在合成图像层面的梯度可以通过可微分渲染引擎将梯度回传至模型、材质、光照和相机等相关输入参数与原件,从而能够配合后续深度学习网络以及损失函数利用梯度反传自动优化上述相关输入参数与原件。在本实施例中我们借助可微分渲染引擎redner进行基于可微分渲染的虚拟相机搭建。
步骤S21具体包括步骤S211-S213:
S211、在可微分渲染引擎中搭建虚拟场景。
在本实施例中,我们首先在可微分渲染引擎中初始化一个虚拟场景实例,该虚拟场景实例中可导入三维Mesh模型,可创建相机与光源,后续所有可微分渲染的操作均基于该虚拟场景。
S212、在可微分渲染引擎中创建单目相机。
在本实施例中,我们在已搭建好的虚拟场景实例中创建单目相机,可微分渲染引擎将根据该相机的虚拟观测结果进行渲染生成图像;其中单目相机具体指一种常见的鱼眼投射原理的相机模型,其通过设置的相机内参与相机外参,根据透射原理将观测到的三维空间投影成二维图像。具体的相机内参主要用于进行透射变化,从相机三维坐标系转换陈图像二维坐标系,具体参数包括光心坐标(cx,cy)与焦距参数(fx,fy);具体地,给定在相机三维坐标系下的点(x,y,z)其对应的在图像二维坐标系下的点(u,v)的转换关系为:
相机外参主要用于将世界三维坐标系转化为相机三维坐标系,具体参数包括旋转矩阵(R)与平移向量(t);具体地,给定在世界三维坐标系下的点(x,y,z)其对应的在图像二维坐标系下的点(u,v)的转换关系为:
zPuv=K(RPw+t)
具体在本实施例中,我们设定虚拟相机的分辨率为540*540,虚拟相机fov为45.0,其对应相机内参参数由渲染引擎自动生成;针对虚拟相机的外参,我们限定虚拟相机始终朝向世界坐标系原点,其具体相机位置由球形坐标系指定生成;具体的所述球形坐标系由radius、elevation和azimuth控制,其与欧式空间的转换方程为:
z=r*cosθ
更具体地,我们分别将radius、elevation和azimuth的最大最小值作为待优化参数,通过在最大最小值范围内进行随机采样从而生成随机相机位置;具体地,我们初始化radius的最大最小值为3.5和3.0,elevation的最大最小值初始化为180.0和0.0,azimuth的最大最小值初始化为50.0和30.0。
S213、在可微分渲染引擎中创建点光源。
在本实例中,我们在已搭建好的虚拟场景实例中创建点光源;具体地,点光源同样建模成一个透射相机模型,除了需要设置上述相机内参外参,还需要提供光照强度图案用于照亮观测场景;具体地,我们使用和创建的单目相机相同的相机内参,针对点光源的相机外参我们在已创建的虚拟相机的相机外参上进行更改,我们设置点光源的朝向与相机的朝向相同,确保点光源在以相机为中心三维坐标下只在x轴上存在一个位移,该位移值称为基线(baseline),我们设置基线长为0.1;同时我们将一种预选定义好的散斑图案(SpecklePattern)作为亮度图案,具体地,散斑图案是一种室内三维传感器常用的投影图案,其由若干黑白相间的随机点构成。
S22、构建并初始化可微分立体匹配算法。
在本实例中,我们构建并初始化一个可微分的立体匹配算法(DifferentiableStereo Matching),从而实现从合成渲染图像与预先设置好的匹配图案进行图像匹配从而生成深度图(Depth Map);具体地,立体匹配算法(Stereo Matching)是计算机视觉中一个常见且重要的算法,其核心是针对给定的两张图片,通过一系列相似度计算子构建代价体积(Cost Volume),通过求解代价体积最终获得两张图像中每个像素点的匹配关系;具体在我们的实施例中,对于合成渲染图的每一个像素点,均会找到其在匹配模版图中相似度最高的像素点。具体地,已有的通用立体匹配算法基本是不可导的,为了保证该模块能够正常且准确的回传梯度,我们构建了可微分的立体匹配算法,其中包括构建一个可微分代价体积函数并进行相关参数的设置初始化,构建可微分最大索引函数并进行相关参数初始化,并将其内部相关可优化参数纳入待优化参数中;
具体地,在初始化该模块过程中,我们提前生成并提供若干匹配模版并存储于该模块内;针对可微分代价体积函数,我们选取零均值归一化互相关函数(Zero MeanNormalized Cross-Correlation)作为相似度描述子,其对应公式为:
其中,I1,I2分别为左右两张图,u1,u2,v1,v2分别为左右像素点,n是窗口大小。
针对可微分最大索引函数,我们借助softmax函数实现了可微分的获取最大索引函数。
S23、构建并初始化可微分点云生成与后处理模块。
在本实例中,我们构建并初始化可微分点云生成与后处理模块,具体的我们需要将流程中获得的二维深度图转化成三维点云,并且进行相关点云层面后处理获取最终逼真的合成点云,并将其内部相关可优化参数纳入待优化参数中。
S3、构建点云判别器,并对点云判别器进行初始化。
在本实施例中,我们构建点云判别器并对点云判别器进行初始化;由于我们的目标是尽可能的生成与提供的真实点云相近的逼真合成点云,我们需要一种方式来衡量合成点云与真实点云之间的差异,通过计算差异利用梯度回传来自适应调节点云生成器的相关核心参数。但不同于常见深度网络的学习训练模式,即提供了准确的输入与输出的数据对(data pair),计算预测结果与正确结果的差异进行训练,我们无法构建真实点云与输入Mesh模型的准确数据对,因此在本实施例中,我们仿照图像生成式任务的方式,通过构建判别器来拉近合成点云与真实点云的分布距离。具体地,在我们的实施例中,点云判别器的输入是点云,输出是其对应的二分类结果,其目的是判断输入的点云是否是真实点云。
作为一种可选的实施方式,步骤S3具体包括步骤S31-S32:
S31、构建并初始化基于图神经网络的特征提取器。
在本实施例中,对输入点云进行特征提取;具体地,我们选取DGCNN作为点云特征提取器,DGCNN是一个基于图的成熟点云神经网络,其通过在点云上构建图结构从而实现二维卷积在点云上的使用。
具体地,DGCNN点云特征提取器包含若干点云图描述子,若干二维卷积层,若干池化层;其中,点云图描述子用于捕捉和描述当前离散点集的局部特征,具体地,针对当前点集中每一个点,通过KNN(K-NearestNeighbor))算法计算K个临近点作为当前点的图结构,输入图描述子的点云形状为B*C*N,经过描述子的点云形状为B*C*N*K;在本实施例中包含5层单独的二维卷积层,用于对点云图描述子输出的图进行2D卷积,获得全局且高维点云特征;在本实施例中包含2类池化层,分别为最大值池化层以及平均值池化层,用于对最终点云特征进行降维融合。
具体地,DGCNN点云特征提取器流程:给定输入B*C*N,一个基本的特征处理模块为:经过点云描述子输出B*C*N*K,输入二维卷积层输出B*C’*N*K,然后在最后一维做最大值处理降维回B*C*N;基于此特征处理模块连续进行若干次处理,将若干种中间表征结合再输入给二维卷积进行输出完整点云特征,最终分别将点云特征通过最大值池化层和平均值池化层再将池化后的特征进行合并,作为最终的点云特征表达。
S32、构建并初始化判别器分类头。
在本实例中,我们需要构建判别器分类头,针对点云特征输出判别结果;具体地,分类头包括若干全连接层,激活函数以及若干随机丢失层;输入特征反复经过全连接层,激活函数以及随机丢失层,最后经过全连接层输出判别标签。
S4、构建下游任务点云深度网络,并对下游任务点云深度网络进行初始化。
S5、训练并优化点云生成器和下游任务点云深度网络的相关参数。
作为一种可选的实施方式,步骤S5具体包括步骤S51-S52:
S51、根据所述合成三维模型数据集利用所述基于可微分渲染的点云生成器生成逼真合成点云。
步骤S51包括步骤S511-S513:
S511、针对所述模型数据集中的每个三维Mesh模型,将所述模型导入至所述搭建的虚拟场景,通过所述基于可微分渲染的虚拟相机渲染生成图像。
在本实施例中,我们需要利用可微分渲染引擎将导入的三维模型根据指定的渲染模式进行渲染从而获得合成的二维图像,具体步骤包括A1-A5:
A1、首先导入三维Mesh模型,放置于搭建好的虚拟场景的世界坐标系原点,赋予其灰模材质,根据上述虚拟相机初始化原则随机生成一个指向世界坐标系原点的虚拟单目相机,再根据上述点光源初始化原则设置好点光源的相关参数。
A2、借助可微分渲染引擎的延迟渲染(Deferred Rendering),针对一个大小为H*W的图像中的每一个像素点(u,v),以搭建的虚拟相机的光心为原点向每个像素点的中心发射光线,射出的光线将与虚拟场景中的三维Mesh模型相交,我们获取其交点在世界坐标系下的具体三维坐标(x,y,z),输出三维坐标图(H*W*3)。
A3、根据点光源的相机外参将三维坐标图进行坐标系转换,具体的针对三维坐标图中每一个像素点对应的三维点坐标,我们利用相机外参将其从世界坐标系转换至点光源的相机坐标系,更新三维坐标图。
A4、根据点光源的相机内参将更新后的三维坐标图投射生成二维采样图,具体的,针对三维坐标图中的每一个像素点对应的三维点坐标,我们利用相机内参将其从相机坐标系根据透射模型将其投影至点光源的图像坐标系获得二维点坐标,输出二维采样图(H*W*2)。
A5、根据二维采样图在点光源的亮度图案进行采样输出最终单目相机的渲染图,具体的,针对二维采样图中每一个像素点存储的采样点(uv),我们利用双线性采样在预设好的亮度图案中进行插值采样,获得采样点在亮度图案中对应的颜色(亮度值),生成并输出最终的二维渲染图(H*W*1)。
S512、基于所述可微分立体匹配算法对所述生成图像进行逐像素点深度计算,获得深度图。
在本实施例中我们需要对上述输出的二维渲染图通过构建好的可微分立体匹配算法生成二维深度图,具体步骤包括B1-B5:
B1、针对上述渲染生成的二维渲染图与预先提供的匹配模版图通过构建好的可微分立体匹配函数生成代价体积;具体的,给定一张形状为H*W*1的二维渲染图以及一张形状为H*W*1的二维匹配模版图,针对二维渲染图中的每一个像素点,我们与其同行数的匹配模版图的每一个像素点计算相似程度,输出代价体积,其形状为H*W*W。
B2、部分渲染图的像素点与匹配图中所有同行数的像素点的相似程度都非常低,此类噪声点非常影响最终的生成质量,因此我们利用预先设置好的代价阈值以生成对应的二维代价掩膜进行过滤;具体地,我们首先对代价体积的第三个维度进行最大值操作获取最大相似度,如果其低于我们设置的代价阈值,则在掩膜处置0,反之置1,最终生成形状为H*W的二维掩膜。
B3、通过可微分最大索引方程生成代价体积对应的二维索引图;构建代价体积的含义就是寻找渲染图与模版图之间的匹配关系;具体的,我们认为渲染图中的像素点(uleft,vleft)和匹配图中的像素点(uright,vright)是匹配关系,如果他们的相似得分最高,即认为这两个像素点对应在3D空间中的同一个点;但直接搜索最大值对应的索引本身是一个不可导的过程,其无法接受梯度并回传,因此通过我们的可微分最大索引方程能够可微分的获得匹配点的索引,输出二维索引图,形状为H*W。
B4、针对生成的二维索引图,根据匹配关系计算视差值(disparity),给定匹配点对(uleft,vleft)和(uright,vright),视差值为uright-uleft,从而生成二维视差图;针对生成的二维视差图,利用预先设置好的基线参数(baseline)以及焦距参数(focallength),生成二维深度图;具体转换公式为:
B5、针对每一张二维渲染生成图,已实现可微分的获得其对应的二维深度图以及二维去噪掩码图;需要注意的是,为了提升生成的二维深度图的质量,我们可以选择用同一张二维渲染图与若干张不同的匹配图进行匹配生成若干张二维深度图以及对应掩膜图,通过融合的方式获得最终一张二维深度图与二维掩膜图,该深度图可以达到亚像素精度。
S513、基于所述点云生成与后处理模块,将所述深度图中的像素点反投影回三维空间,获得对应合成点云。
在本实施例中,我们需要利用构建的单目相机的相机内参外参将二维深度图反相投影至相机三维空间坐标系中,我们只针对二维掩膜图为1的地方进行点云生成;具体的,对于二维掩膜图为1的每一个像素(u,v),我们获取其对应在二维深度图的深度值depth,其对应的三维点云坐标(x,y,z)的计算公式为:
输出在单目相机空间的三维点云N*3,其中N是二维掩膜中1的个数;针对可微分的后处理模块,由于三维点云的表征相比于二维深度图表征对各类噪声的敏感程度不同,为确保最终生成的点云即有高逼真度又能用于正常的深度网络训练,我们构建了各类可微分的后处理模块,具体地我们首先对在相机三维坐标系的三维点云进行坐标系转换,利用单目相机的相机外参转移至世界坐标系;然后我们利用最远点采样策略进行点云下采样,控制点云数目为1024;最后进行与真实点云样本相同的点云预处理,包括点云尺寸归一化至单位1的正方体,根据点云的z轴进行随机旋转,生成随机高斯噪声对点云位置进行扰动。需要说明的是,我们可选的进行若干个虚拟相机视角对应生成的点云融合,从而增加点云覆盖Mesh模型的程度;具体地,在后处理中由于我们均转移回世界坐标系下,因此直接合并各个视角的点云生成结果即可。
S52、根据所述逼真合成点云以及所述真实点云利用所述点云判别器以及所述下游任务点云深度网络使用预设的损失函数进行监督。
在本实例中,我们提供可微分的合成点云以及真实点云给点云判别器以及下游点云任务网络,通过预先设置好的损失函数进行监督学习,从而优化相关参数,包括点云生成器的相关参数,以及点云判别器和下游点云任务网络的网络参数,具体的训练过程包括C1-C3:
C1、将合成点云与真实点云同时输入给点云判别器,只将生成的合成点云数据输入给下游任务点云网络并用已知的语义标签进行监督;通过梯度优化的方式一方面优化网络参数完成其指定任务的功能,一方面优化点云生成器的相关参数使得合成点云进一步向给定的真实点云靠近。
C2、由于我们使用点云判别器用于拉近合成点云以及真实点云之间的距离,我们需要仿照二维图像GAN-based生成式网络的方式策略进行优化监督;具体的,我们使用BCEWithLogitsLoss作为判别器二分类的损失函数;我们仿照二维生成式任务进行交替式训练,针对点云判别器的训练与优化,我们会冻结点云生成器的相关可优化参数,赋予真实点云“1”的真标签,赋予合成点云“0”的伪标签,通过上述BCEWithLogitsLoss的损失函数进行学习,使得点云判别器能够区分域差异;针对点云生成器的训练与优化,我们同样是会冻结住点云判别器的相关可优化参数作为一种强先验,不同于点云判别器的训练,我们赋予合成点云“1”的真标签,通过欺骗点云判别器的方式,使上述BCEWithLogitsLoss的损失函数,使得点云判别器认为合成点云也是真实点云,从而实现让生成的合成点云更靠近提供的真实点云。
C3、此外,我们额外提供一个下游任务的点云网络进行语义学习,由于在实际应用中,我们最终需要将合成的逼真点云用于各类点云下游语义任务,例如分类、分割等,因此我们会使用指定的下游任务对合成点云进行监督,使其保证基本的语义信息;具体地,在本实例中,我们使用点云分类网络进行训练,我们使用CrossEntropyLoss作为预设监督函数,利用已知的类别标签进行训练。
S6、测试并使用优化后的点云生成器和下游任务点云深度网络。
在本实施例中,我们针对已设定好的下游任务有两种具体的方式可以使用我们训练完毕的各项原件;我们的核心任务是在一个指定好的点云相关的下游任务中,构建一个能产生贴近提供的真实点云样本的逼真点云合成器,通过如此的大规模带标签且逼真的合成数据对相关下游点云网络进训练或者优化,从而提升现有点云网络在真实数据环境下的迁移性能,加快相关深度学习算法的落地运用。具体的我们提供了两种可以测试并使用本实施例的方式:
1)直接使用在训练过程中已经优化好的下游任务的点云深度网络;由于我们在训练过程中额外提供了一个下游任务的点云深度网络分支用于维持合成点云的语义信息,该网络始终只用逼真的合成点云训练,可直接运用于后续下游任务的使用,相比于以往的只用合成数据集训练的点云网络已经有性能提升。
2)使用训练之后的点云生成器重新生成大规模的带标签的逼真合成点云;经过上述训练后,我们认为优化过后的点云分类器能够更好的产生与提供的真实点云性质相逼近的合成点云,我们可以根据下游任务需求,重新大规模离线生成合成点云数据集,然后再基于该带标签的合成点云数据集重新训练一个新的下游任务点云网络,再在下游真实环境中应用。
综上所述,本实施例方法相比于现有技术,具有如下优点和有益效果:
(1)本实施例方法缓解了在合成点云数据集上训练获得的深度网络算法在真实点云数据下泛化性能差的问题。该方法利用基于可微分渲染的点云生成器,将相关影响合成点云质量的设置参数开放为待优化参数,通过构建点云判别器利用梯度回传自适应的优化调节相关参数,从而即保留了渲染引擎能够产生近似逼真噪声的特性,又能够产生与指定提供的真实数据点云样本相逼近的合成点云数据,用于后续下游任务点云网络的训练,提升迁移性能,加速落地应用。
(2)通过完全可微分化点云生成器自适应的更新核心参数,省去了需要人工根据具体场景进行复杂调参的过程,更加符合真实工业场景的需求,即在一个具体任务中能够捕捉少量无标签的真实点云数据样本,充分发挥了已有真实数据样本与可微分渲染的优势。
(3)完全可微分化的点云生成器成功使得整体点云生成过程能够直接作为深度学习框架中的一个模块,能够即插即用于任意点云下游任务中。
(4)在测试和使用阶段,基于此点云生成器生成的合成数据集训练的下游任务点云网络有了明显的性能提升,同时为混合使用真实和合成点云数据提供了更多选择。
本实施例还提供一种可微分的逼真点云数据的生成装置,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现图1所示方法。
本实施例的一种可微分的逼真点云数据的生成装置,可执行本发明方法实施例所提供的一种可微分的逼真点云数据的生成方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
本申请实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行图1所示的方法。
本实施例还提供了一种存储介质,存储有可执行本发明方法实施例所提供的一种可微分的逼真点云数据的生成方法的指令或程序,当运行该指令或程序时,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理器的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或设备或结合这些指令执行***、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施方式,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于上述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

Claims (10)

1.一种可微分的逼真点云数据生成方法,其特征在于,包括以下步骤:
获取合成三维模型数据集以及真实点云数据样本,并对合成三维模型数据集以及真实点云数据样本进行预处理;
构建基于可微分渲染的点云生成器,并对基于可微分渲染的点云生成器进行初始化;
构建点云判别器,并对点云判别器进行初始化;
构建下游任务点云深度网络,并对下游任务点云深度网络进行初始化;
训练并优化点云生成器和下游任务点云深度网络的相关参数;
测试并使用优化后的点云生成器和下游任务点云深度网络。
2.根据权利要求1所述的一种可微分的逼真点云数据生成方法,其特征在于,所述构建基于可微分渲染的点云生成器,并对基于可微分渲染的点云生成器进行初始化,包括:
构建并初始化基于可微分渲染的虚拟相机;
构建并初始化可微分立体匹配算法;
构建并初始化可微分点云生成与后处理模块。
3.根据权利要求2所述的一种可微分的逼真点云数据生成方法,其特征在于,所述构建并初始化基于可微分渲染的虚拟相机,包括:
在可微分渲染引擎中搭建虚拟场景;
在可微分渲染引擎中创建单目相机;
在可微分渲染引擎中创建点光源。
4.根据权利要求1所述的一种可微分的逼真点云数据生成方法,其特征在于,所述构建点云判别器,并对点云判别器进行初始化,包括:
构建并初始化基于图神经网络的特征提取器;
构建并初始化判别器分类头。
5.根据权利要求2所述的一种可微分的逼真点云数据生成方法,其特征在于,所述训练并优化点云生成器和下游任务点云深度网络的相关参数,包括:
根据所述合成三维模型数据集,通过所述基于可微分渲染的点云生成器生成逼真合成点云;
根据所述逼真合成点云和真实点云,采用预设的损失函数对所述点云判别器和所述下游任务点云深度网络进行监督训练。
6.根据权利要求5所述的一种可微分的逼真点云数据生成方法,其特征在于,所述根据所述合成三维模型数据集,通过所述基于可微分渲染的点云生成器生成逼真合成点云,包括:
针对所述合成三维模型数据集中的每一个三维模型,将所述三维模型导入至搭建的虚拟场景,通过所述基于可微分渲染的虚拟相机渲染生成图像;
基于所述可微分立体匹配算法对所述生成图像进行逐像素点深度计算,获得对应的深度图;
基于所述可微分点云生成与后处理模块,将所述深度图中的像素点反投影回三维空间,获得对应的合成点云,作为逼真合成点云。
7.根据权利要求6所述的一种可微分的逼真点云数据生成方法,其特征在于,所述针对所述合成三维模型数据集中的每一个三维模型,将所述三维模型导入至搭建的虚拟场景,通过所述基于可微分渲染的虚拟相机渲染生成图像,包括:
导入三维模型,并放置于搭建好的虚拟场景的世界坐标系原点;根据虚拟相机初始化原则随机生成一个指向世界坐标系原点的虚拟单目相机,根据点光源初始化原则设置好点光源的相关参数;
借助可微分渲染引擎的延迟渲染,针对一个大小为H*W的图像中的每一个像素点,以搭建的虚拟相机的光心为原点向每个像素点的中心发射光线,射出的光线将与虚拟场景中的三维模型相交,获取光线与三维模型相交的交点在世界坐标系下的具体三维坐标,输出三维坐标图;
根据点光源的相机外参将三维坐标图进行坐标系转换,以转换至点光源的相机坐标系;根据点光源的相机内参将更新后的三维坐标图投射生成二维采样图,作为单目图像。
8.根据权利要求6所述的一种可微分的逼真点云数据生成方法,其特征在于,所述基于所述可微分立体匹配算法对所述生成图像进行逐像素点深度计算,获得对应的深度图,包括:
针对渲染生成的单目图像与预先提供的匹配模版图,通过可微分立体匹配算法生成代价体积;
对代价体积的第三个维度进行最大值操作,获取最大相似度,如果相似度于预设的代价阈值,则在掩膜处置0,反之置1,最终生成形状为H*W的二维掩膜;
通过可微分最大索引方程生成代价体积对应的二维索引图;
针对生成的二维索引图,根据匹配关系计算视差值disparity,给定匹配点对(uleft,vleft)和(uright,vright),视差值为uright-uleft,从而生成二维视差图;针对生成的二维视差图,利用预设的基线参数baseline以及焦距参数focal length,生成二维深度图;具体转换公式为:
9.一种可微分的逼真点云数据生成装置,其特征在于,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现权利要求1-8任一项所述方法。
10.一种计算机可读存储介质,其中存储有处理器可执行的程序,其特征在于,所述处理器可执行的程序在由处理器执行时用于执行如权利要求1-8任一项所述方法。
CN202311751711.8A 2023-12-18 2023-12-18 一种可微分的逼真点云数据生成方法、装置及存储介质 Pending CN117953177A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311751711.8A CN117953177A (zh) 2023-12-18 2023-12-18 一种可微分的逼真点云数据生成方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311751711.8A CN117953177A (zh) 2023-12-18 2023-12-18 一种可微分的逼真点云数据生成方法、装置及存储介质

Publications (1)

Publication Number Publication Date
CN117953177A true CN117953177A (zh) 2024-04-30

Family

ID=90793620

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311751711.8A Pending CN117953177A (zh) 2023-12-18 2023-12-18 一种可微分的逼真点云数据生成方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN117953177A (zh)

Similar Documents

Publication Publication Date Title
CN106803267B (zh) 基于Kinect的室内场景三维重建方法
CN112085840B (zh) 语义分割方法、装置、设备及计算机可读存储介质
Tian et al. Depth estimation using a self-supervised network based on cross-layer feature fusion and the quadtree constraint
CN112991413A (zh) 自监督深度估测方法和***
KR20220133973A (ko) 편광된 이미지들을 포함하는 상이한 이미징 양식들에 대해 통계적 모델들을 훈련하기 위해 데이터를 합성하기 위한 시스템들 및 방법들
US11094134B1 (en) System and method for generating synthetic data
US20230281955A1 (en) Systems and methods for generalized scene reconstruction
CN116797742A (zh) 室内场景的三维重建方法及***
CN117036612A (zh) 一种基于神经辐射场的三维重建方法
CN116258816A (zh) 一种基于神经辐射场的遥感影像仿真方法
Shinohara et al. Point2color: 3d point cloud colorization using a conditional generative network and differentiable rendering for airborne lidar
Mihajlovic et al. Deepsurfels: Learning online appearance fusion
CN115272599A (zh) 一种面向城市信息模型的三维语义地图构建方法
Liu et al. Creating simplified 3D models with high quality textures
CN114581577A (zh) 物体材质微表面模型重构方法及***
Mittal Neural radiance fields: Past, present, and future
Chang et al. Neural radiance field with lidar maps
CN116681839B (zh) 一种基于改进NeRF的实景三维目标重建与单体化方法
CN115841546A (zh) 一种场景结构关联的地铁站多视矢量仿真渲染方法及***
Lyu et al. 3DOPFormer: 3D occupancy perception from multi-camera images with directional and distance enhancement
CN117953177A (zh) 一种可微分的逼真点云数据生成方法、装置及存储介质
Drap et al. Underwater multimodal survey: Merging optical and acoustic data
Takimoto et al. Shape reconstruction from multiple RGB-D point cloud registration
Guo et al. Full-automatic high-precision scene 3D reconstruction method with water-area intelligent complementation and mesh optimization for UAV images
Dong et al. Revisiting LiDAR registration and reconstruction: A range image perspective

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