CN117095132A - 基于隐式函数的三维重建方法和系统 - Google Patents
基于隐式函数的三维重建方法和系统 Download PDFInfo
- Publication number
- CN117095132A CN117095132A CN202311346203.1A CN202311346203A CN117095132A CN 117095132 A CN117095132 A CN 117095132A CN 202311346203 A CN202311346203 A CN 202311346203A CN 117095132 A CN117095132 A CN 117095132A
- Authority
- CN
- China
- Prior art keywords
- image
- modeled
- model
- feature
- module
- 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
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000000605 extraction Methods 0.000 claims abstract description 42
- 239000013598 vector Substances 0.000 claims description 69
- 238000012549 training Methods 0.000 claims description 41
- 238000001514 detection method Methods 0.000 claims description 17
- 230000005284 excitation Effects 0.000 claims description 14
- 238000001125 extrusion Methods 0.000 claims description 14
- 238000004422 calculation algorithm Methods 0.000 claims description 11
- 238000009826 distribution Methods 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 claims description 5
- 238000005520 cutting process Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 8
- 230000006870 function Effects 0.000 description 53
- 238000005070 sampling Methods 0.000 description 10
- 238000013528 artificial neural network Methods 0.000 description 7
- 230000014509 gene expression Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012545 processing Methods 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/56—Extraction of image or video features relating to colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/806—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Image Analysis (AREA)
Abstract
本发明属于计算机视觉领域,具体涉及了一种基于隐式函数的三维重建方法和系统,旨在解决技术重建三维模型流程复杂、门槛高、效率低、速度慢的问题。本发明包括:将待建模图像,分别通过粗粒度特征提取单元和细粒度特征提取单元分别获取粗粒度特征和细粒度特征并都赋予对应的深度信息;最后通过多层感知机将粗粒度特征和细粒度特征进行特征拼接和预测,获得每个三维空间点在3D重建模型表面内的概率和颜色,确定3D重建模型。本发明使每个像素都包括整张图像的像素信息,实现了单视图的三维重建,并且简化了流程和降低了技术门槛,同时还提高了重建效率和速度,实现了像素级三维重建,提高了三维重建模型的精度,并且支持多种数据源。
Description
技术领域
本发明属于计算机视觉领域,具体涉及了一种基于隐式函数的三维重建方法和系统。
背景技术
传统3D建模需要职业设计师用专业的设计软件花费大量时间和精力来建模,流程复杂、门槛高、效率低、速度慢。为了得到高精度的建模,需要设计师针对每个像素进行精确的标记、测量,对操作员专业水平要求过高且容易出错。
为了简化3D建模流程,提高创作速度和效率,让普通人也能轻松创建高品质的3D模型,我们提出了基于隐函数的三维重建方法。
本专利主要解决了三维重建精度的问题,主要通过单视图进行三维重建,重建对象不限于人体、物体等。另外,本发明是解决了三维重建没有将颜色也同步重建的问题,通过两个神经网络模型,可以将3D形状和颜色重建出来。
发明内容
为了解决现有技术中的上述问题,即现有技术重建三维模型流程复杂、门槛高、效率低、速度慢的问题,本发明提供了一种基于隐式函数的三维重建方法,所述方法包括:
步骤S100,获取待建模图像;
步骤S200,基于所述待建模图像,通过训练好的基于隐式函数的三维重建网络,构建3D重建模型;
所述基于隐式函数的三维重建网络,包括粗粒度-细粒度并行特征提取子网络、多层感知机和输出层。
在一些优选的实施方式中,所述粗粒度-细粒度并行特征提取子网络,包括粗粒度特征提取单元和细粒度特征提取单元;
所述粗粒度特征提取单元,包括依次连接的残差网络、挤压激励模块和第一深度增强模块;
所述细粒度特征提取单元,包括依次连接的2D目标检测模块、二维位置编码模块、编码器、解码器和第二深度增强模块。
本发明中采用的编码器和解码器,采用Transformer实现。
在一些优选的实施方式中,所述基于隐式函数的三维重建网络,其训练方法包括:
步骤C100,获取训练数据集;所述训练数据集包括多组标准3D模型-2D图片数据对;
步骤C200,逐一输入训练数据集;
步骤C300,将当前训练数据集的2D图片同时传递至所述残差网络进入步骤C400A和2D目标检测模块进入步骤C400B;
步骤C400A,通过所述残差网络提取当前训练数据集的图片特征;
步骤C500A,基于所述图片特征通过挤压激励模块获取第二图片特征,计算第二图片特征的注意力损失,通过随机梯度算法回到步骤C400A,直至注意力损失低于设定的注意力损失阈值,进入步骤C600A;
步骤C600A,基于所述第二图片特征,通过第一深度增强模块添加深度信息,获得粗粒度特征,进入步骤C1000;
步骤C400B,基于所述当前训练数据集的2D图片,通过所述2D目标检测模块获取2D包围框图片;
步骤C500B,将所述2D包围框图片切割为设定数量的初始特征向量;
步骤C600B,基于初始特征向量在2D图片中的对应位置,通过二维位置编码模块进行二维位置编码,获得多个带有位置标签的初始特征向量;
步骤C700B,为所述带有位置标签的初始特征向量设置掩码,基于设置掩码的带有位置标签的初始特征向量通过编码器和解码器进行编码解码,获得增强特征向量;
步骤C800B,计算增强特征向量与带有位置标签的初始特征向量的编解码损失,通过随机梯度算法回到步骤C400B直至编解码损失低于设定编解码损失阈值且每个像素的权重矩阵满足预设的阈值,进入步骤C900B;
步骤C900B,基于所述增强特征向量,通过第二深度增强模块调节增强特征向量的参数,获得深度增强特征向量,将深度增强特征向量作为细粒度特征;
步骤C1000,基于所述粗粒度特征和细粒度特征,通过多层感知机进行特征拼接和预测,从输出层输出3D重建模型;
步骤C1100,基于所述3D重建模型和训练数据集计算MLP损失函数;
步骤C1200,通过随机梯度下降算法调整多层感知机的参数,回到步骤C1000直至MLP损失函数低于预设的阈值,获得训练好的基于隐式函数的三维重建网络。
在一些优选的实施方式中,所述步骤C900B,具体包括:
通过相机参数获得各位置对应的特征的深度;
基于所述增强特征向量和各位置对应的特征的深度,通过第二深度增强模块调节增强特征的参数,获得深度增强特征向量。
在一些优选的实施方式中,所述MLP损失函数,具体为:
其中,n表示采样次数,表示3D模型的隐式函数,/>表示3D重建模型位置为i的值,/>表示标准3D模型中位置为i的值,/>表示损失值,/>表示标准3D模型中位置为i的值,/>表示2D图片中/>的投影点的像素的值,/>表示/>的初始特征向量,/>表示位置为i的特征的深度。
在一些优选的实施方式中,所述编码器和解码器,采用Transformer实现。
在一些优选的实施方式中,所述编解码损失为:
其中,为交叉熵损失函数,/>为位置为i的真实编码标签,表示位置为i的模型预测的概率分布,/>为L2正则化损失函数,/>为正则化系数,/>是模型的权重。
在一些优选的实施方式中,所述步骤S200,具体包括:
步骤S210A,基于所述待建模图像,通过残差网络提取待建模图像的图片特征;
步骤S220A,基于所述待建模图像的图片特征,通过挤压激励模块获取待建模图像的第二图片特征;
步骤S230A,基于所述待建模图像的第二图片特征,通过第一深度增强模块添加深度信息,获得待建模图像的粗粒度特征,进入步骤S250;
步骤S210B,基于所述待建模图像通过2D目标检测模块获取待建模图像的2D包围框图片;
步骤S220B,通过二维位置编码模块对待建模图像的2D包围框图片进行二维位置编码,获得多个待建模图像初始特征向量;
步骤S230B,基于所述待建模图像初始特征向量,通过编码器和解码器进行编码解码,获得待建模图像增强特征向量;
步骤S240B,基于所述待建模图像增强特征向量,通过第二深度增强模块调节待建模图像增强特征向量的参数,获得待建模图像的细粒度特征;
步骤S250,基于所述待建模图像的粗粒度特征和待建模图像的细粒度特征,通过多层感知机进行特征拼接和预测,获得每个三维空间点在3D重建模型表面内的概率,进而确定3D重建模型。
在一些优选的实施方式中,所述粗粒度-细粒度并行特征提取子网络,还包括基于第二粗粒度特征提取单元和第二细粒度特征提取单元构建的结构,具体为:
所述第二粗粒度特征提取单元,包括依次连接的2D目标检测模块、残差网络、挤压激励模块和第一深度增强模块;
所述第二细粒度特征提取单元,包括依次连接的二维位置编码模块、编码器、解码器和第二深度增强模块。
本发明的另一方面,提出了一种基于隐式函数的三维重建系统,所述系统包括:图像获取模块和模型重建模块;
所述图像获取模块,配置为获取待建模图像;
所述模型重建模块,配置为基于所述待建模图像,通过训练好的基于隐式函数的三维重建网络,构建3D重建模型;
所述基于隐式函数的三维重建网络,包括粗粒度-细粒度并行特征提取子网络、多层感知机和输出层。本发明的有益效果:
(1)本发明通过采用Transformer进行编码和解码,使每个像素都包括整张图像的像素信息,实现了单视图的三维重建,并且简化了流程和降低了技术门槛,同时还提高了重建效率和速度。
(2)本发明实现了像素级三维重建,提高了三维重建模型的精度,并且支持多种数据源。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本发明实施例中基于隐式函数的三维重建方法的流程示意图;
图2是本发明实施例中基于隐式函数的三维重建网络的训练流程示意图;
图3是本发明实施例中通过训练好的基于隐式函数的三维重建网络构建3D重建模型的流程示意图;
图4是本发明实施例中基于隐式函数的三维重建网络的网络结构示意图;
图5是本发明实施例中另一基于隐式函数的三维重建网络的网络结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
本发明提出的基于隐式函数的三维重建方法,其隐式函数为与显式函数对应的概念;显式指的是三维空间表示出来的3D模型,如点云、体素、Mesh,而隐式即通过一个数学表达式来表示3D模型;以球体为例,隐式函数可以表示为。
通过显示的方式进行模型重建,由于显示的方式均为离散的点,为了提高建模精度,需要不断地增加离散的点。而数学表达式本身的性质连续可导,通过数学表达式表示3D模型则解决了需求的数据点极具增加的问题。目前通过数学表达式重建3D模型的难点在于复杂的模型无法求出数学表达式,如人体建模过于复杂难以通过数学函数进行表示。其次是模型渲染出现困难,线性的渲染方式仍然需要将函数表达式转换成离散的点,如何实现准确且快速的转换仍然是难点。
在本实施例中,构建初始的隐式函数为:
其中,f表示function函数,F表示Feature特征,z表示depth深度;
特征F与2D图片的像素x相关,深度z表示3D模型中的空间点投影到2D图片中的像素到3D模型中某一点的距离,深度z与3D模型上的任意点X相关,将初始的隐式函数表示为:
其中,为已知量,通过相机参数如FOV、相机距离求得;/>为未知量,通过神经网络学习得到,表现为特征向量;函数/>为未知量,通过另一神经网络学习得到。现有技术通常通过CNN或FCN学习/>。
3D模型定点的位置、颜色、法线、切线、副法线等定点信息,都与和/>相关,因此通过/>可以表示完整的3D模型信息。
为了更清晰地对本发明基于隐式函数的三维重建方法进行说明,下面结合图1对本发明实施例中各步骤展开详述。
本发明第一实施例的基于隐式函数的三维重建方法,包括步骤S100-步骤S200,各步骤详细描述如下:
步骤S100,获取待建模图像;
步骤S200,基于所述待建模图像,通过训练好的基于隐式函数的三维重建网络,构建3D重建模型;
所述基于隐式函数的三维重建网络,包括粗粒度-细粒度并行特征提取子网络、多层感知机和输出层。
在本实施例中,所述粗粒度-细粒度并行特征提取子网络,包括粗粒度特征提取单元和细粒度特征提取单元;
所述粗粒度特征提取单元,包括依次连接的残差网络、挤压激励模块和第一深度增强模块;
所述细粒度特征提取单元,包括依次连接的2D目标检测模块、二维位置编码模块、编码器、解码器和第二深度增强模块。
在本实施例中,所述2D目标检测模块,包括Mask R-CNN或Faster R-CNN;目的在于将要重建的模型的区域框起来,减小无关图片像素的扰动。
在本实施例中,所述基于隐式函数的三维重建网络,如图2所示,其训练方法包括:
步骤C100,获取训练数据集;所述训练数据集包括多组标准3D模型-2D图片数据对;
在本实施例中,训练数据可准备显式表示的标准3D模型,如点云、体素、网格各2万个模型;每个标准3D模型从6个方向如东、南、西、北、东南、东北、西南和西北,由0.5倍到5倍包围盒深度的距离,共10个距离,通过渲染烘焙的方式,生成10张512*512分辨率的视图/图片/图像/照片,6个方向共计60张,2万个模型,共计120万张图片,三种3D模型表示方法可以共用图片。
在本实施例中,将一张图片切成9份。
步骤C200,逐一输入训练数据集;
步骤C300,将当前训练数据集的2D图片同时传递至所述残差网络进入步骤C400A和2D目标检测模块进入步骤C400B;
步骤C400A,通过所述残差网络提取当前训练数据集的图片特征;
步骤C500A,基于所述图片特征通过挤压激励模块获取第二图片特征,计算第二图片特征的注意力损失,通过随机梯度算法回到步骤C400A,直至注意力损失低于设定的注意力损失阈值,进入步骤C600A;
步骤C600A,基于所述第二图片特征,通过第一深度增强模块添加深度信息,获得粗粒度特征,进入步骤C1000;
本实施例中采用残差网络+挤压激励网络的方式提取粗粒度的特征,但是由于对原始输入的图片进行处理,所以需要将所有输入图片调整为固定尺寸如1024*1024;其中挤压激励网络选用通道注意力模块,用以确定哪些通道更重要,以便结合后续的第一深度增强模块增加深度信息,再输入到多层感知机中;
步骤C400B,基于所述当前训练数据集的2D图片,通过所述2D目标检测模块获取2D包围框图片;
步骤C500B,将所述2D包围框图片切割为设定数量的初始特征向量;
步骤C600B,基于初始特征向量在2D图片中的对应位置,通过二维位置编码模块进行二维位置编码,获得多个带有位置标签的初始特征向量;
在本实施例中,所述二维位置编码,通过Embedding实现。比如如对每个像素在图像中的位置进行二维位置编码,比如(102,10)即为横坐标102,纵坐标10的像素。
步骤C700B,为所述带有位置标签的初始特征向量设置掩码,基于设置掩码的带有位置标签的初始特征向量通过编码器和解码器进行编码解码,获得增强特征向量;
在本实施例中,所述编码器和解码器,采用Transformer实现。本实施例选用Transformer而非领域内惯用的FCN,因为现有技术用的FCN参数无法单独求取,需要联合两个神经网络进行训练;而联合两个神经网络进行训练会造成第一个网络生成的特征信息不准确,因而本申请通过Transformer利用上下文求一个像素的特征向量,更为契合。
Transformer的解码器输出的是每个像素根据整张图片信息进行调整的特征向量。使得每个局部像素具有了全局图像的特征属性,能够大幅提升隐式函数输出的准确性。
由于Transformer是自注意力模块,通过目标检测网络将原始输入图片加工为2D包围框图片后,输入的信息更为精确,经过Transformer后的图像特征也更精确,通过第二深度增强模块处理后能够得到更为精确的信息输入多层感知机。
步骤C800B,计算增强特征向量与带有位置标签的初始特征向量的编解码损失,通过随机梯度算法回到步骤C400B直至编解码损失低于设定编解码损失阈值且每个像素的权重矩阵满足预设的阈值,进入步骤C900B;
在本实施例中,所述编解码损失为:
其中,为交叉熵损失函数,/>为位置为i的真实编码标签,表示位置为i的模型预测的概率分布,/>为L2正则化损失函数,/>为正则化系数,/>是模型的权重。/>为神经网络模型上层网络与下层网络连接的权重矩阵,本实施例中的模型训练即通过反向传播算法和优化算法来调节权重矩阵。
在本实施例中,可以为编解码损失损失函数增加3D模型的投影损失项,因为3D模型的包围框投影到2D图片,其包围盒的8个顶点及中心点与2D包围框的4个顶点和中心点是有偏移的;
所述投影损失项为:
其中,n表示包围盒的8个顶点,表示3D包围盒的其中1个顶点,/>表示相机的内参,/>表示相机的外参,/>表示将3D包围盒的顶点投影到摄像机所在的2D图像平面的可微分的投影函数,/>表示图像平面标注的2D包围盒顶点坐标即真实值(共有4个顶点,每个顶点有2个维度)。
在本实施例中,在每个增强特征向量输入到transformer中时,通过掩码15%的像素量,进行预测获得增强特征向量,将增强特征向量与未设置掩码的带有位置标签的初始特征向量进行对比,计算损失,直至将每个像素的三个权重训练好为止。当编解码损失不再显著下降或出现上升趋势时,表示模型可能开始了过拟合训练,可以停止训练。早停(Early Stopping):这是一种常用的正则化技术,当验证损失在一定数量的连续迭代中不再改善时,就停止训练。例如,如果验证损失在连续20个epoch中没有改善,就停止训练。或当输入的训练素材达到设定的量时停止训练,有时,基于经验或先前的实验,研究者可能会设定一个固定的epoch数来训练模型。也可根据学习率衰减设置停止训练的时机,当使用学习率衰减策略时,如果学习率降低到一个非常小的值并且损失没有显著改善,可以考虑停止训练。
本实施例中将5万个模型进行训练,每个模型选一张图片,即完成训练。
步骤C900B,基于所述增强特征向量,通过第二深度增强模块调节增强特征向量的参数,获得深度增强特征向量,将深度增强特征向量作为细粒度特征;
在本实施例中,所述步骤C900B,具体包括:
通过相机参数获得各位置对应的特征的深度;假如输入的2D图片的大小为512*512,则对应的3D重建模型的大小为512*512*512;
基于所述增强特征向量和各位置对应的特征的深度,通过第二深度增强模块调节增强特征的参数,获得深度增强特征向量。
步骤C1000,基于所述粗粒度特征和细粒度特征,通过多层感知机进行特征拼接和预测,从输出层输出3D重建模型;
在本实施例中,粗粒度特征提取单元和细粒度特征提取单元的网络输出没有直接进行叠加,而是在多层感知机的前几层输入细粒度特征,原因是粗粒度特征提取单元和细粒度特征提取单元输出的特征数量和维度不一样,因此需要先通过多层感知机将数量和维度先进行统一,再按位叠加。
在本实施例中,以一个输入图片1个像素对应Transformer输出1个特征向量为例,那么整个图片有512*512个特征向量,与z(X)拼接得到的特征向量即为多层感知机的输入。假设特征向量是(1,2,3,2,4,3),深度z(X)为9,则拼接后的向量为(9,1,2,3,2,4,3),图像像素与3D空间点数量是不一样的,前者是512*512个,后者是512*512*512个,每一个图片像素,对应有512个三维空间的点,在拼接时,这512个三维空间点要共享这个图片像素点。
步骤C1100,基于所述3D重建模型和训练数据集计算MLP损失函数;
步骤C1200,通过随机梯度下降算法调整多层感知机的参数,回到步骤C1000直至MLP损失函数低于预设的阈值,获得训练好的基于隐式函数的三维重建网络。因为是每个3D空间点都需要与像素拼接,然后作为MLP的1次输入,而3D空间一共512*512*512个点,因此需要大量训练。
在本实施例中,所述MLP损失函数,具体为:
其中,n表示采样次数,表示3D模型的隐式函数,/>表示3D重建模型位置为i的值,/>表示标准3D模型中位置为i的值,/>表示损失值,/>表示标准3D模型中位置为i的值,/>表示2D图片中/>的投影点的像素的值,/>表示/>的初始特征向量,/>表示位置为i的特征的深度。
即便3D模型本身是函数形式,本身不存在精度和存储的问题,但是在实际应用中,现实的3D模型结构较为复杂,其隐函数需要进一步求取,因而在训练阶段,通过输入显式的mesh、体素或点云进行训练,并通过MLP损失函数来表示通过MLP表示的隐函数与用显式方法表示的真实3D模型之间的误差。目的在于使MLP预测的值无限逼近真实3D模型的真实值。
在本实施例中,真实值即标准3D模型中,三维空间的显式3D模型顶点的位置,可通过对标准3D模型进行采样获得:
加入输入图像的大小为512*512,那么标准3D模型的空间即为512*512*512。本实施例需尽可能提高采样的真实值的精度,以提高神经网络学习到的函数的精度的上限。可采用随机采样、均匀采样或正泰分布采样等,优选均匀采样+正态分布采样,以采样比率为1:20的方式,在标准3D模型顶点附近采用正态分布采样,在其余位置采用均匀采样,既能关注到想要采样的区域,又能对其他区域进行采样,不漏掉每个地方。神经网络生成效果与3D模型和图片的精度息息相关,因此图像分辨率、显式表示的3D模型精度,以及对此3D模型的采样,都会直接影响到神经网络的生成效果。
在本实施例中,还包括通过两个不同的多层感知机分别进行点X在3D模型外或3D模型内的概率计算和点X在3D模型中颜色的计算。两个多层感知机可选用相同的输入信息,分别得出不同的计算结果。
在本实施例中,所述步骤S200,如图3和图4所示,具体包括:
步骤S210A,基于所述待建模图像,通过残差网络提取待建模图像的图片特征;
步骤S220A,基于所述待建模图像的图片特征,通过挤压激励模块获取待建模图像的第二图片特征;
步骤S230A,基于所述待建模图像的第二图片特征,通过第一深度增强模块添加深度信息,获得待建模图像的粗粒度特征,进入步骤S250;
步骤S210B,基于所述待建模图像通过2D目标检测模块获取待建模图像的2D包围框图片;
步骤S220B,通过二维位置编码模块对待建模图像的2D包围框图片进行二维位置编码,获得多个待建模图像初始特征向量;
步骤S230B,基于所述待建模图像初始特征向量,通过编码器和解码器进行编码解码,获得待建模图像增强特征向量;
步骤S240B,基于所述待建模图像增强特征向量,通过第二深度增强模块调节待建模图像增强特征向量的参数,获得待建模图像的细粒度特征;
步骤S250,基于所述待建模图像的粗粒度特征和待建模图像的细粒度特征,通过多层感知机进行特征拼接和预测,获得每个三维空间点在3D重建模型表面内的概率,进而确定3D重建模型。
上述实施例中虽然将各个步骤按照上述先后次序的方式进行了描述,但是本领域技术人员可以理解,为了实现本实施例的效果,不同的步骤之间不必按照这样的次序执行,其可以同时(并行)执行或以颠倒的次序执行,这些简单的变化都在本发明的保护范围之内。
本发明的第二实施例,如图5所示,公开了另一粗粒度-细粒度并行特征提取子网络的结构,基于第二粗粒度特征提取单元和第二细粒度特征提取单元构建的结构,具体为:
所述第二粗粒度特征提取单元,包括依次连接的2D目标检测模块、残差网络、挤压激励模块和第一深度增强模块;
所述第二细粒度特征提取单元,包括依次连接的二维位置编码模块、编码器、解码器和第二深度增强模块。
经实验对比,本发明第一实施例中的网络结构对于判断各点处于3D重建模型的内部或外部取得更高的准确性,而第二实施例中的网络结构获得的3D重建模型的各点的颜色取得更高的准确性。因此可以判断,第一实施例的网络结构如图4和第二实施例的网络结构如图5均能实现本方案所声称的单视图的三维重建的效果,只是在不同的具体应用场景中各有侧重,认为像素级的注意力机制对颜色的判断更友好,而超像素级的注意力机制对位置的判断更有效。
本发明第三实施例的基于隐式函数的三维重建系统,所述系统包括:图像获取模块和模型重建模块;
所述图像获取模块,配置为获取待建模图像;
所述模型重建模块,配置为基于所述待建模图像,通过训练好的基于隐式函数的三维重建网络,构建3D重建模型;
所述基于隐式函数的三维重建网络,包括粗粒度-细粒度并行特征提取子网络、多层感知机和输出层。
所属技术领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程及有关说明,可以参考前述方法实施例中的对应过程,在此不再赘述。
需要说明的是,上述实施例提供的基于隐式函数的三维重建系统,仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块来完成,即将本发明实施例中的模块或者步骤再分解或者组合,例如,上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块,以完成以上描述的全部或者部分功能。对于本发明实施例中涉及的模块、步骤的名称,仅仅是为了区分各个模块或者步骤,不视为对本发明的不当限定。
所属技术领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的存储装置、处理装置的具体工作过程及有关说明,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域技术人员应该能够意识到,结合本文中所公开的实施例描述的各示例的模块、方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,软件模块、方法步骤对应的程序可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。为了清楚地说明电子硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以电子硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
术语“第一”、“第二”等是用于区别类似的对象,而不是用于描述或表示特定的顺序或先后次序。
术语“包括”或者任何其它类似用语旨在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备/装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者还包括这些过程、方法、物品或者设备/装置所固有的要素。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
Claims (10)
1.一种基于隐式函数的三维重建方法,其特征在于,所述方法包括:
步骤S100,获取待建模图像;
步骤S200,基于所述待建模图像,通过训练好的基于隐式函数的三维重建网络,构建3D重建模型;
所述基于隐式函数的三维重建网络,包括粗粒度-细粒度并行特征提取子网络、多层感知机和输出层。
2.根据权利要求1所述的基于隐式函数的三维重建方法,其特征在于,所述粗粒度-细粒度并行特征提取子网络,包括粗粒度特征提取单元和细粒度特征提取单元;
所述粗粒度特征提取单元,包括依次连接的残差网络、挤压激励模块和第一深度增强模块;
所述细粒度特征提取单元,包括依次连接的2D目标检测模块、二维位置编码模块、编码器、解码器和第二深度增强模块。
3.根据权利要求2所述的基于隐式函数的三维重建方法,其特征在于,所述基于隐式函数的三维重建网络,其训练方法包括:
步骤C100,获取训练数据集;所述训练数据集包括多组标准3D模型-2D图片数据对;
步骤C200,逐一输入训练数据集;
步骤C300,将当前训练数据集的2D图片同时传递至所述残差网络进入步骤C400A和2D目标检测模块进入步骤C400B;
步骤C400A,通过所述残差网络提取当前训练数据集的图片特征;
步骤C500A,基于所述图片特征通过挤压激励模块获取第二图片特征,计算第二图片特征的注意力损失,通过随机梯度算法回到步骤C400A,直至注意力损失低于设定的注意力损失阈值,进入步骤C600A;
步骤C600A,基于所述第二图片特征,通过第一深度增强模块添加深度信息,获得粗粒度特征,进入步骤C1000;
步骤C400B,基于所述当前训练数据集的2D图片,通过所述2D目标检测模块获取2D包围框图片;
步骤C500B,将所述2D包围框图片切割为设定数量的初始特征向量;
步骤C600B,基于初始特征向量在2D图片中的对应位置,通过二维位置编码模块进行二维位置编码,获得多个带有位置标签的初始特征向量;
步骤C700B,为所述带有位置标签的初始特征向量设置掩码,基于设置掩码的带有位置标签的初始特征向量通过编码器和解码器进行编码解码,获得增强特征向量;
步骤C800B,计算增强特征向量与带有位置标签的初始特征向量的编解码损失,通过随机梯度算法回到步骤C400B直至编解码损失低于设定编解码损失阈值且每个像素的权重矩阵满足预设的阈值,进入步骤C900B;
步骤C900B,基于所述增强特征向量,通过第二深度增强模块调节增强特征向量的参数,获得深度增强特征向量,将深度增强特征向量作为细粒度特征;
步骤C1000,基于所述粗粒度特征和细粒度特征,通过多层感知机进行特征拼接和预测,从输出层输出3D重建模型;
步骤C1100,基于所述3D重建模型和训练数据集计算MLP损失函数;
步骤C1200,通过随机梯度下降算法调整多层感知机的参数,回到步骤C1000直至MLP损失函数低于预设的阈值,获得训练好的基于隐式函数的三维重建网络。
4.根据权利要求3所述的基于隐式函数的三维重建方法,其特征在于,所述步骤C900B,具体包括:
通过相机参数获得各位置对应的特征的深度 ;
基于所述增强特征向量和各位置对应的特征的深度,通过第二深度增强模块调节增强特征的参数,获得深度增强特征向量。
5.根据权利要求3所述的基于隐式函数的三维重建方法,其特征在于,所述MLP损失函数,具体为:
;
其中,n表示采样次数,表示3D模型的隐式函数,/>表示 3D重建模型位置为i的值,/>表示标准3D模型中位置为i的值,/>表示损失值,/>表示标准3D模型中位置为i的值,/>表示2D图片中/>的投影点的像素的值,/>表示/>的初始特征向量,/>表示位置为i的特征的深度。
6.根据权利要求3所述的基于隐式函数的三维重建方法,其特征在于,所述编码器和解码器,采用Transformer实现。
7.根据权利要求6所述的基于隐式函数的三维重建方法,其特征在于,所述编解码损失为:
;
其中,为交叉熵损失函数,/>为位置为i的真实编码标签,/>表示位置为i的模型预测的概率分布,/>为L2正则化损失函数,/>为正则化系数,是模型的权重。
8.根据权利要求1所述的基于隐式函数的三维重建方法,其特征在于,所述步骤S200,具体包括:
步骤S210A,基于所述待建模图像,通过残差网络提取待建模图像的图片特征;
步骤S220A,基于所述待建模图像的图片特征,通过挤压激励模块获取待建模图像的第二图片特征;
步骤S230A,基于所述待建模图像的第二图片特征,通过第一深度增强模块添加深度信息,获得待建模图像的粗粒度特征,进入步骤S250;
步骤S210B,基于所述待建模图像通过2D目标检测模块获取待建模图像的2D包围框图片;
步骤S220B,通过二维位置编码模块对待建模图像的2D包围框图片进行二维位置编码,获得多个待建模图像初始特征向量;
步骤S230B,基于所述待建模图像初始特征向量,通过编码器和解码器进行编码解码,获得待建模图像增强特征向量;
步骤S240B,基于所述待建模图像增强特征向量,通过第二深度增强模块调节待建模图像增强特征向量的参数,获得待建模图像的细粒度特征;
步骤S250,基于所述待建模图像的粗粒度特征和待建模图像的细粒度特征,通过多层感知机进行特征拼接和预测,获得每个三维空间点在3D重建模型表面内的概率,进而确定3D重建模型。
9.根据权利要求1所述的基于隐式函数的三维重建方法,其特征在于,所述粗粒度-细粒度并行特征提取子网络,还包括基于第二粗粒度特征提取单元和第二细粒度特征提取单元构建的结构,具体为:
所述第二粗粒度特征提取单元,包括依次连接的2D目标检测模块、残差网络、挤压激励模块和第一深度增强模块;
所述第二细粒度特征提取单元,包括依次连接的二维位置编码模块、编码器、解码器和第二深度增强模块。
10.一种基于隐式函数的三维重建系统,其特征在于,所述系统包括:图像获取模块和模型重建模块;
所述图像获取模块,配置为获取待建模图像;
所述模型重建模块,配置为基于所述待建模图像,通过训练好的基于隐式函数的三维重建网络,构建3D重建模型;
所述基于隐式函数的三维重建网络,包括粗粒度-细粒度并行特征提取子网络、多层感知机和输出层。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311346203.1A CN117095132B (zh) | 2023-10-18 | 2023-10-18 | 基于隐式函数的三维重建方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311346203.1A CN117095132B (zh) | 2023-10-18 | 2023-10-18 | 基于隐式函数的三维重建方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117095132A true CN117095132A (zh) | 2023-11-21 |
CN117095132B CN117095132B (zh) | 2024-02-20 |
Family
ID=88777641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311346203.1A Active CN117095132B (zh) | 2023-10-18 | 2023-10-18 | 基于隐式函数的三维重建方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117095132B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117333637A (zh) * | 2023-12-01 | 2024-01-02 | 北京渲光科技有限公司 | 三维场景的建模及渲染方法、装置及设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110163974A (zh) * | 2019-05-22 | 2019-08-23 | 南京大学 | 一种基于无向图学习模型的单图像面片重建方法 |
US20200027269A1 (en) * | 2018-07-23 | 2020-01-23 | Fudan University | Network, System and Method for 3D Shape Generation |
CN114067162A (zh) * | 2021-11-24 | 2022-02-18 | 重庆邮电大学 | 一种基于多尺度多粒度特征解耦的图像重构方法及系统 |
CN115049783A (zh) * | 2022-05-20 | 2022-09-13 | 支付宝(杭州)信息技术有限公司 | 模型的确定方法、场景重建模型、介质、设备及产品 |
EP4152274A1 (en) * | 2021-09-21 | 2023-03-22 | Toyota Jidosha Kabushiki Kaisha | System and method for predicting an occupancy probability of a point in an environment, and training method thereof |
CN116310495A (zh) * | 2023-01-09 | 2023-06-23 | 中国长峰机电技术研究设计院 | 一种基于增强小样本特征解耦的图像分类方法和系统 |
-
2023
- 2023-10-18 CN CN202311346203.1A patent/CN117095132B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200027269A1 (en) * | 2018-07-23 | 2020-01-23 | Fudan University | Network, System and Method for 3D Shape Generation |
CN110163974A (zh) * | 2019-05-22 | 2019-08-23 | 南京大学 | 一种基于无向图学习模型的单图像面片重建方法 |
EP4152274A1 (en) * | 2021-09-21 | 2023-03-22 | Toyota Jidosha Kabushiki Kaisha | System and method for predicting an occupancy probability of a point in an environment, and training method thereof |
CN114067162A (zh) * | 2021-11-24 | 2022-02-18 | 重庆邮电大学 | 一种基于多尺度多粒度特征解耦的图像重构方法及系统 |
CN115049783A (zh) * | 2022-05-20 | 2022-09-13 | 支付宝(杭州)信息技术有限公司 | 模型的确定方法、场景重建模型、介质、设备及产品 |
CN116310495A (zh) * | 2023-01-09 | 2023-06-23 | 中国长峰机电技术研究设计院 | 一种基于增强小样本特征解耦的图像分类方法和系统 |
Non-Patent Citations (4)
Title |
---|
ZENG, J 等: "Efficient View Path Planning for Autonomous Implicit Reconstruction", 2023 IEEE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION (ICRA) * |
ZYX.TOM: "特征空间中的隐式函数应用在3D形状的重建和完成", Retrieved from the Internet <URL:https://zhuanlan.zhihu.com/p/451700040> * |
夏雪吟 等: "基于单视角图像的人体三维重建研究", 信息技术与信息化 * |
陈悦;黄寄洪;: "基于粗细粒度深度学习的脱机手写汉字识别", 梧州学院学报, no. 03 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117333637A (zh) * | 2023-12-01 | 2024-01-02 | 北京渲光科技有限公司 | 三维场景的建模及渲染方法、装置及设备 |
CN117333637B (zh) * | 2023-12-01 | 2024-03-08 | 北京渲光科技有限公司 | 三维场景的建模及渲染方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN117095132B (zh) | 2024-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111627019B (zh) | 一种基于卷积神经网络的肝脏肿瘤分割方法及系统 | |
CN113066168B (zh) | 一种多视图立体网络三维重建方法及系统 | |
CN111598998A (zh) | 三维虚拟模型重建方法、装置、计算机设备和存储介质 | |
CN117095132B (zh) | 基于隐式函数的三维重建方法和系统 | |
CN112396645A (zh) | 一种基于卷积残差学习的单目图像深度估计方法和系统 | |
CN110910437B (zh) | 一种复杂室内场景的深度预测方法 | |
CN113160294A (zh) | 图像场景深度的估计方法、装置、终端设备和存储介质 | |
CN113762147B (zh) | 人脸表情迁移方法、装置、电子设备及存储介质 | |
CN114758337B (zh) | 一种语义实例重建方法、装置、设备及介质 | |
CN111524232B (zh) | 三维建模方法、装置和服务器 | |
CN110246171B (zh) | 一种实时单目视频深度估计方法 | |
CN116205962B (zh) | 基于完整上下文信息的单目深度估计方法及系统 | |
CN112734910A (zh) | 基于rgb单图实时人脸三维图像重建方法、装置及电子设备 | |
Wu et al. | Remote sensing novel view synthesis with implicit multiplane representations | |
CN115457492A (zh) | 目标检测方法、装置、计算机设备及存储介质 | |
CN115601511A (zh) | 三维重建方法、装置、计算机设备及计算机可读存储介质 | |
Gao et al. | Sketchsampler: Sketch-based 3d reconstruction via view-dependent depth sampling | |
CN117333637B (zh) | 三维场景的建模及渲染方法、装置及设备 | |
CN116993926B (zh) | 单视图人体三维重建方法 | |
Guo et al. | 3D semantic segmentation based on spatial-aware convolution and shape completion for augmented reality applications | |
Tong et al. | 3D-CDRNet: Retrieval-based dense point cloud reconstruction from a single image under complex background | |
CN115082636B (zh) | 基于混合高斯网络的单图像三维重建方法及设备 | |
CN116385667A (zh) | 三维模型的重建方法、纹理重构模型的训练方法以及装置 | |
Polasek et al. | Vision UFormer: Long-range monocular absolute depth estimation | |
CN116258756A (zh) | 一种自监督单目深度估计方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |