CN111739159A - 三维模型生成方法、神经网络生成方法及装置 - Google Patents
三维模型生成方法、神经网络生成方法及装置 Download PDFInfo
- Publication number
- CN111739159A CN111739159A CN202010607430.5A CN202010607430A CN111739159A CN 111739159 A CN111739159 A CN 111739159A CN 202010607430 A CN202010607430 A CN 202010607430A CN 111739159 A CN111739159 A CN 111739159A
- Authority
- CN
- China
- Prior art keywords
- sphere
- position information
- image
- pixel point
- coordinate system
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 90
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 60
- 238000009877 rendering Methods 0.000 claims abstract description 142
- 230000011218 segmentation Effects 0.000 claims abstract description 42
- 238000012545 processing Methods 0.000 claims description 27
- 230000009466 transformation Effects 0.000 claims description 15
- 239000011159 matrix material Substances 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 7
- 238000000605 extraction Methods 0.000 description 6
- 230000000903 blocking effect Effects 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 4
- 239000000126 substance Substances 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000001131 transforming effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 210000000988 bone and bone Anatomy 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- HOWHQWFXSLOJEF-MGZLOUMQSA-N systemin Chemical compound NCCCC[C@H](N)C(=O)N[C@@H](CCSC)C(=O)N[C@@H](CCC(N)=O)C(=O)N[C@@H]([C@@H](C)O)C(=O)N[C@@H](CC(O)=O)C(=O)OC(=O)[C@@H]1CCCN1C(=O)[C@H]1N(C(=O)[C@H](CC(O)=O)NC(=O)[C@H](CCCN=C(N)N)NC(=O)[C@H](CCCCN)NC(=O)[C@H](CO)NC(=O)[C@H]2N(CCC2)C(=O)[C@H]2N(CCC2)C(=O)[C@H](CCCCN)NC(=O)[C@H](CO)NC(=O)[C@H](CCC(N)=O)NC(=O)[C@@H](NC(=O)[C@H](C)N)C(C)C)CCC1 HOWHQWFXSLOJEF-MGZLOUMQSA-N 0.000 description 1
- 108010050014 systemin Proteins 0.000 description 1
Images
Classifications
-
- 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
- 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- 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
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- 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
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- 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/11—Region-based 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
- 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/20—Image preprocessing
- G06V10/24—Aligning, centring, orientation detection or correction of the image
- G06V10/242—Aligning, centring, orientation detection or correction of the image by image rotation, e.g. by 90 degrees
-
- 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/42—Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
-
- 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/771—Feature selection, e.g. selecting representative features from a multi-dimensional feature space
-
- 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/10004—Still image; Photographic image
- G06T2207/10012—Stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2021—Shape modification
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
- Image Analysis (AREA)
Abstract
本公开提供了一种三维模型生成方法、神经网络生成方法及装置,其中,所述三维模型生成方法包括:基于包含第一对象的第一图像,获取多个第一球体中每个第一球体在相机坐标系中的第一球体位置信息,所述多个第一球体分别用于表示所述第一对象不同部位;基于所述多个第一球体的所述第一球体位置信息,生成第一渲染图像;基于所述第一渲染图像以及所述第一图像的语义分割图像,得到所述第一渲染图像的梯度信息;基于所述的第一渲染图像的梯度信息,调整所述多个第一球体的所述第一球体位置信息,并利用调整后的所述多个第一球体的所述第一球体位置信息,生成所述第一对象的三维模型。本公开实施例生成的三维模型具有更高的精度。
Description
技术领域
本公开涉及图像处理技术领域,具体而言,涉及一种三维模型生成方法、神经网络生成方法、装置、设备及存储介质。
背景技术
基于二维图像的三维模型重建过程中,需要通过深度神经网络获取图像的特征,然后利用图像特征回归得到三维模型的参数,并基于获得的三维模型参数来实现三维模型重建。
当前的三维模型生成方法存在精度低的问题。
发明内容
本公开实施例至少提供一种三维模型生成方法、神经网络生成方法、装置、设备及存储介质。
第一方面,本公开实施例提供了一种三维模型生成方法,包括:基于包含第一对象的第一图像,获取多个第一球体中每个第一球体在相机坐标系中的第一球体位置信息,所述多个第一球体分别用于表示所述第一对象不同部位;基于所述多个第一球体的所述第一球体位置信息,生成第一渲染图像;基于所述第一渲染图像以及所述第一图像的语义分割图像,得到所述第一渲染图像的梯度信息;基于所述的第一渲染图像的梯度信息,调整所述多个第一球体的所述第一球体位置信息,并利用调整后的所述多个第一球体的所述第一球体位置信息,生成所述第一对象的三维模型。
这样,通过对表征三维模型的多个第一球体的第一球体位置信息进行图像渲染,并基于第一图像渲染的结果,确定能够表征多个第一球体的第一球体位置信息的正确性程度的梯度信息,并基于该梯度信息对多个第一球体分别对应的第一球体位置信息进行重新调整,从而使得调整后的多个第一球体位置信息具有更高的精度,也即,基于多个第一球体分别对应的第一球体位置信息恢复的三维模型也具有更高的精度。
一种可选的实施方式中,所述基于所述多个第一球体的所述第一球体位置信息,生成第一渲染图像,包括:基于所述第一球体位置信息,确定构成所述每个第一球体的多个面片的各个顶点分别在所述相机坐标系中的第一三维位置信息;基于构成所述每个第一球体的多个面片的各个顶点分别在所述相机坐标系中的第一三维位置信息,生成所述第一渲染图像。
这样,能够通过将第一对象分为多个部位分别表示为不同的第一球体,并基于构成不同球体的多个面片的各个顶点分别在相机坐标系中的第一三维位置信息,生成第一渲染图像,在第一渲染图像中,包含了不同第一对象的部位的三维关系信息,进而能够基于第一渲染图像确定的梯度信息来约束第一对象的三维模型,使得第一对象的三维模型具有更高的精度。
一种可选的实施方式中,所述基于所述第一球体位置信息,确定构成所述每个第一球体的多个面片的各个顶点分别在所述相机坐标系中的第一三维位置信息,包括:基于构成模板球体的多个模板面片的模板顶点与所述模板球体的中心点之间的位置关系、以及所述每个第一球体的所述第一球体位置信息,确定构成所述每个第一球体的多个面片的各个顶点分别在所述相机坐标系中的第一三维位置信息。
通过多个模板面片变形得到多个第一球体,通过面片来表征球体的表面,降低渲染生成第一渲染图像时的复杂度。
一种可选的实施方式中,所述每个第一球体的所述第一球体位置信息包括:所述每个第一球体的中心点在所述相机坐标系中的第二三维位置信息、所述每个第一球体的三个轴分别对应的长度、以及所述每个第一球体相对于所述相机坐标系的旋转角度。
这样,通过上述三个参数,能够清晰的将各个第一球体在相机坐标系中的位姿表示出来。
一种可选的实施方式中,所述基于构成模板球体的多个模板面片的模板顶点与所述模板球体的中心点之间的第一位置关系、以及所述每个第一球体的第一球体位置信息,确定构成所述每个第一球体的多个面片的各个顶点分别在所述相机坐标系中的第一三维位置信息,包括:基于所述每个第一球体的三个轴分别对应的长度以及所述每个第一球体相对于所述相机坐标系的旋转角度,对所述模板球体进行形状及旋转角度变换;基于对所述模板球体进行形状及旋转角度变换的结果以及所述第一位置关系,确定各个模板顶点与变换后的模板球体的中心点之间的第二位置关系;基于所述每个第一球体的中心点在所述相机坐标系中的第二三维位置信息以及所述第二位置关系,确定构成所述每个第一球体的多个面片的顶点分别在所述相机坐标系中的第一三维位置信息。
这样,可以快速获得第一三维位置信息。
一种可选的实施方式中,所述方法还包括:获取所述第一图像的相机的投影矩阵;所述基于构成所述每个第一球体的多个面片的各个顶点分别在所述相机坐标系中的第一三维位置信息,生成第一渲染图像,包括:基于所述第一三维位置信息以及所述投影矩阵,确定第一渲染图像中每个像素点的部位索引以及面片索引;基于确定的第一渲染图像中每个像素点的部位索引以及面片索引,生成所述第一渲染图像;其中,任一像素点的部位索引用于指示所述任一像素点对应的所述第一对象上的部位;任一像素点的面片索引用于指示所述任一像素点对应的面片。
一种可选的实施方式中,所述基于构成所述每个第一球体的多个面片的各个顶点分别在所述相机坐标系中的第一三维位置信息,生成第一渲染图像,包括:
针对所述每个第一球体,根据构成所述每个第一球体的多个面片的各个顶点分别在所述相机坐标系中的第一三维位置信息,生成与所述每个第一球体对应的第一渲染图像;
所述基于所述第一渲染图像以及所述第一图像的语义分割图像,得到所述第一渲染图像的梯度信息,包括:
针对每个第一球体,根据所述每个第一球体对应的第一渲染图像和语义分割图像,得到与所述每个第一球体对应的第一渲染图像的梯度信息。
这样,有利于简化不同部位对应的分类值的表达,简化在梯度计算过程中的运算复杂度。
一种可选的实施方式中,所述第一渲染图像的梯度信息包括:所述第一渲染图像中每个像素点的梯度值;所述基于所述第一渲染图像以及所述第一图像的语义分割图像,得到所述第一渲染图像的梯度信息,包括:遍历所述第一渲染图像中的各个像素点,针对遍历到的像素点在所述第一渲染图像中的第一像素值,以及所述遍历到的像素点在所述语义分割图像中的第二像素值,确定所述遍历到的像素点的梯度值。
这样,可以通过对第一渲染图像和第一图像的语义分割图像,得到第一渲染图像的梯度信息。
一种可选的实施方式中,所述针对遍历到的像素点在所述第一渲染图像中的像素值以及所述遍历到的像素点在所述语义分割图像中的像素值,确定所述遍历到的像素点的梯度值,包括:根据所述遍历到的像素点的所述第一像素值以及所述遍历到的像素点的所述第二像素值,确定所述遍历到的像素点的残差;在所述遍历到的像素点的残差为第一数值的情况下,将所述遍历到的像素点的梯度值确定为所述第一数值;在所述遍历到的像素点的残差不为所述第一数值的情况下,基于所述遍历到的像素点的所述第二像素值,从所述多个第一球体中确定所述遍历到的像素点对应的目标第一球体,并从构成所述目标第一球体的多个面片中确定目标面片;确定所述目标面片上的至少一个目标顶点在所述相机坐标系中的目标三维位置信息,其中,当所述目标顶点位于所述目标三维位置信息所指示的位置时,对所述遍历到的像素点进行重新渲染得到的新的第一像素值,和所述遍历到的像素点对应的第二像素值之间的残差为所述第一数值;基于所述目标顶点在所述相机坐标系中的第一三维位置信息和目标三维位置信息,得到所述遍历到的像素点的梯度值。
这样,可以得到第一渲染图像中每个像素点的梯度值。
一种可选的实施方式中,所述获取多个第一球体中每个第一球体在相机坐标系中的第一球体位置信息,包括:利用预先训练的位置信息预测网络,对所述第一图像进行位置信息预测处理,得到所述多个第一球体中每个第一球体在所述相机坐标系中的第一球体位置信息。
第二方面,本公开实施例还提供一种神经网络生成方法,包括:利用待训练的神经网络,对第二图像中的第二对象进行三维位置信息预测处理,得到表征所述第二对象不同部位的多个第二球体中每个第二球体在相机坐标系中的第二球体位置信息;基于多个第二球体分别对应的第二球体位置信息,生成第二渲染图像;基于所述第二渲染图像、以及所述第二图像的语义标注图像,得到所述第二渲染图像梯度信息;基于所述第二渲染图像的梯度信息,更新所述待训练的神经网络,得到更新后的神经网络。
这样,在利用待优化的神经网络对第二图像中的第二对象进行三维位置信息预测处理,得到表征第二图像中第二对象的三维模型的多个第二球体的第二球体位置信息后,基于第二球体位置信息进行图像渲染,并基于图像渲染的结果,确定多个第二球体的第二球体位置信息正确性程度的梯度信息,并基于该梯度信息更新待优化的神经网络的,得到优化后的神经网络,使得优化后的神经网络具有更高的三维位置信息预测精度。
第三方面,本公开实施例还提供一种三维模型生成装置,包括:第一获取模块,用于基于包含第一对象的第一图像,获取表征所述第一对象不同部位的多个第一球体中每个第一球体在相机坐标系中的第一球体位置信息;第一生成模块,用于基于多个第一球体分别对应的第一球体位置信息,生成第一渲染图像;第一梯度确定模块,用于基于所述第一渲染图像、以及所述第一图像的语义分割图像,得到所述第一渲染图像的梯度信息;调整模块,用于基于所述的第一渲染图像的梯度信息,调整所述每个第一球体的第一球体位置信息;模型生成模块,用于基于调整后的各个第一球体的第一球体位置信息,生成第一对象的三维模型。
一种可能的实施方式中,所述第一生成模块,在基于所述多个第一球体的所述第一球体位置信息,生成第一渲染图像时,用于:基于所述第一球体位置信息,确定构成所述每个第一球体的多个面片的各个顶点分别在所述相机坐标系中的第一三维位置信息;基于构成所述每个第一球体的多个面片的各个顶点分别在所述相机坐标系中的第一三维位置信息,生成所述第一渲染图像。
一种可能的实施方式中,所述第一生成模块,所述第一生成模块,在基于所述第一球体位置信息,确定构成所述每个第一球体的多个面片的各个顶点分别在所述相机坐标系中的第一三维位置信息时,用于:基于构成模板球体的多个模板面片的模板顶点与所述模板球体的中心点之间的位置关系、以及所述每个第一球体的所述第一球体位置信息,确定构成所述每个第一球体的多个面片的各个顶点分别在所述相机坐标系中的第一三维位置信息。
一种可能的实施方式中,所述第一生成模块,所述每个第一球体的所述第一球体位置信息包括:所述每个第一球体的中心点在所述相机坐标系中的第二三维位置信息、所述每个第一球体的三个轴分别对应的长度、以及所述每个第一球体相对于所述相机坐标系的旋转角度。
一种可能的实施方式中,所述第一生成模块,所述第一生成模块,在基于构成模板球体的多个模板面片的模板顶点与所述模板球体的中心点之间的第一位置关系、以及所述每个第一球体的第一球体位置信息,确定构成所述每个第一球体的多个面片的各个顶点分别在所述相机坐标系中的第一三维位置信息时,用于:基于所述每个第一球体的三个轴分别对应的长度以及所述每个第一球体相对于所述相机坐标系的旋转角度,对所述模板球体进行形状及旋转角度变换;基于对所述模板球体进行形状及旋转角度变换的结果以及所述第一位置关系,确定各个模板顶点与变换后的模板球体的中心点之间的第二位置关系;基于所述每个第一球体的中心点在所述相机坐标系中的第二三维位置信息以及所述第二位置关系,确定构成所述每个第一球体的多个面片的顶点分别在所述相机坐标系中的第一三维位置信息。
一种可能的实施方式中,所述第一生成模块,所述第一获取模块,还用于:获取所述第一图像的相机的投影矩阵;所述第一生成模块,在基于构成所述每个第一球体的多个面片的各个顶点分别在所述相机坐标系中的第一三维位置信息,生成第一渲染图像时,用于:基于所述第一三维位置信息以及所述投影矩阵,确定第一渲染图像中每个像素点的部位索引以及面片索引;基于确定的第一渲染图像中每个像素点的部位索引以及面片索引,生成所述第一渲染图像;其中,任一像素点的部位索引用于指示所述任一像素点对应的所述第一对象上的部位;任一像素点的面片索引用于指示所述任一像素点对应的面片。
一种可选的实施方式中,第一生成模块,在基于构成所述每个第一球体的多个面片的各个顶点分别在所述相机坐标系中的第一三维位置信息,生成第一渲染图像时,用于:
针对所述每个第一球体,根据构成所述每个第一球体的多个面片的各个顶点分别在所述相机坐标系中的第一三维位置信息,生成与所述每个第一球体对应的第一渲染图像;
第一梯度确定模块,在基于所述第一渲染图像以及所述第一图像的语义分割图像,得到所述第一渲染图像的梯度信息时,用于:
针对每个第一球体,根据所述每个第一球体对应的第一渲染图像和语义分割图像,得到与所述每个第一球体对应的第一渲染图像的梯度信息。
一种可能的实施方式中,所述第一渲染图像的梯度信息包括:所述第一渲染图像中每个像素点的梯度值;所述第一梯度确定模块,在基于所述第一渲染图像以及所述第一图像的语义分割图像,得到所述第一渲染图像的梯度信息时,用于:遍历所述第一渲染图像中的各个像素点,针对遍历到的像素点在所述第一渲染图像中的第一像素值,以及所述遍历到的像素点在所述语义分割图像中的第二像素值,确定所述遍历到的像素点的梯度值。
一种可能的实施方式中,第一梯度确定模块,在针对遍历到的像素点在所述第一渲染图像中的像素值以及所述遍历到的像素点在所述语义分割图像中的像素值,确定所述遍历到的像素点的梯度值时,用于:根据所述遍历到的像素点的所述第一像素值以及所述遍历到的像素点的所述第二像素值,确定所述遍历到的像素点的残差;在所述遍历到的像素点的残差为第一数值的情况下,将所述遍历到的像素点的梯度值确定为所述第一数值;在所述遍历到的像素点的残差不为所述第一数值的情况下,基于所述遍历到的像素点的所述第二像素值,从所述多个第一球体中确定所述遍历到的像素点对应的目标第一球体,并从构成所述目标第一球体的多个面片中确定目标面片;确定所述目标面片上的至少一个目标顶点在所述相机坐标系中的目标三维位置信息,其中,当所述目标顶点位于所述目标三维位置信息所指示的位置时,对所述遍历到的像素点进行重新渲染得到的新的第一像素值,和所述遍历到的像素点对应的第二像素值之间的残差为所述第一数值;基于所述目标顶点在所述相机坐标系中的第一三维位置信息和目标三维位置信息,得到所述遍历到的像素点的梯度值。
一种可能的实施方式中,第一获取模块,在获取多个第一球体中每个第一球体在相机坐标系中的第一球体位置信息时,用于:利用预先训练的位置信息预测网络,对所述第一图像进行位置信息预测处理,得到所述多个第一球体中每个第一球体在所述相机坐标系中的第一球体位置信息。
第四方面,本公开实施例还提共一种神经网络的生成装置,包括:第二获取模块,用于利用待训练的神经网络,对第二图像中的第二对象进行三维位置信息预测处理,得到表征所述第二对象不同部位的多个第二球体中每个第二球体在相机坐标系中的第二球体位置信息;第二生成模块,用于基于多个第二球体分别对应的第二球体位置信息,生成第二渲染图像;第二梯度确定模块,用于基于所述第二渲染图像、以及所述第二图像的语义标注图像,得到所述第二渲染图像梯度信息;更新模块,用于基于所述第二渲染图像的梯度信息,更新所述待训练的神经网络,得到更新后的神经网络。
第五方面,本公开可选实现方式还提供一种电子设备,处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤;或执行上述第二方面,或第二方面中任一种能的实施方式中的步骤。
第六方面,本公开可选实现方式还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤;或执行上述第二方面,或第二方面中任一种能的实施方式中的步骤。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种三维模型生成方法的流程图;
图2示出了本公开实施例所提供的通过多个第一球体表征人体的示例的示意图;
图3示出了本公开实施例所提供的一种位置信息预测网络的结构的具体示例的示意图;
图4示出了本公开实施例所提供的一种将模板球体变换为第一球体的示例的示意图;
图5示出了本公开实施例所提供的确定遍历到的像素点的梯度值的具体方法的流程图;
图6示出了本公开实施例所提供的在遍历到的像素点的残差并非第一数值的情况下,确定目标三维位置信息时的多种示例;
图7示出了本公开实施例所提供的一种神经网络生成方法的流程图;
图8示出了本公开实施例所提供的一种三维模型生成装置的示意图;
图9示出了本公开实施例所提供的一种神经网络生成装置的流程图;
图10示出了本公开实施例所提供的一种计算机设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
在基于二维图像的三维模型生成过程中,一般采用神经网络预测二维图像中生成对象的三维模型参数,后基于三维模型参数来进行三维模型生成。在神经网络训练过程中,需要利用样本图像的监督数据监督训练过程;也即预先将训练过程中用到的各样本图像中的对象的三维模型参数标注出来,并用作对神经网络训练的监督。由于监督数据获取困难,因此很多情况下采用仿真系统获得二维图像、以及二维图像的监督数据;但由于仿真系统得到的二维图像和真实二维图像之间具有一定的差异,这导致了神经网络在基于真实的二维图像进行三维模型生成时精度下降的问题。
另外,当前的三维模型生成方法,无法处理由于三维模型重建对象的部分部位被遮挡所造成的歧义性问题,造成无法准确还原三维模型重建对象在深度上的姿态,进而导致生成的三维模型的精度较低。
基于上述研究,本公开提供了一种三维模型生成方法,通过对表征三维模型的多个第一球体的第一球体位置信息进行图像渲染,并基于第一图像渲染的结果,确定能够表征多个第一球体的第一球体位置信息的正确性程度的梯度信息,并基于该梯度信息对多个第一球体分别对应的第一球体位置信息进行重新调整,从而使得调整后的多个第一球体位置信息具有更高的精度,也即,基于多个第一球体分别对应的第一球体位置信息恢复的三维模型也具有更高的精度。
另外,本公开实施例提供的三维模型生成方法中,由于是采用表征多个第一球体的第一球体位置信息的正确性程度的梯度信息,来对多个第一球体分别对应的第一球体位置信息进行重新调整,从而能够以更高的精度还原第一对象在深度上的信息,具有更高的精度。
本公开还提供一种神经网络的生成方法,在利用待优化的神经网络对第二图像中的第二对象进行三维位置信息预测处理,得到表征第二图像中第二对象的三维模型的多个第二球体的第二球体位置信息后,基于第二球体位置信息进行图像渲染,并基于图像渲染的结果,确定多个第二球体的第二球体位置信息正确性程度的梯度信息,并基于该梯度信息更新待优化的神经网络的,得到优化后的神经网络,使得优化后的神经网络具有更高的三维位置信息预测精度。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应所述是发明人在本公开过程中对本公开做出的贡献。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种三维模型生成方法进行详细介绍,本公开实施例所提供的三维模型生成方法的执行主体一般为具有一定计算能力的计算机设备,所述计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,所述三维模型生成方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
下面首先对本公开实施例提供的三维模型生成方法加以说明。
参见图1所示,为本公开实施例提供的三维模型生成方法的流程图,所述方法包括步骤S101~S104,其中:
S101:基于包含第一对象的第一图像,获取多个第一球体中每个第一球体在相机坐标系中的第一球体位置信息,所述多个第一球体分别用于表示所述第一对象不同部位;
S102:基于所述多个第一球体的所述第一球体位置信息,生成第一渲染图像;
S103:基于所述第一渲染图像以及所述第一图像的语义分割图像,得到所述第一渲染图像的梯度信息;
S104:基于所述的第一渲染图像的梯度信息,调整所述多个第一球体的所述第一球体位置信息,并利用调整后的所述多个第一球体的所述第一球体位置信息,生成所述第一对象的三维模型。
本公开实施例通过在得到表征第一对象不同部位的多个第一球体中每个第一球体在相机坐标系中的第一球体位置信息后,根据该第一球体位置信息,对第一对象重新渲染,得到第一渲染图像;然后基于第一渲染图像和第一图像的语义分割图像,得到第一渲染图像的梯度信息,该梯度信息表征了基于第一球体位置信息对第一对象进行重新渲染得到的第一渲染图像的正确程度,从而在基于该梯度信息调整每个第一球体的第一球体位置信息的过程中,对第一球体位置信息预测错误的部分进行调整,使得调整后的第一球体位置信息能够更准确的表征第一对象的不同部位在相机坐标系中的位置,进而基于调整后的各个第一球体的第一球体位置信息得到生成第一对象的三维模型,具有更高的精度。
另外,本公开实施例由于是采用表征多个第一球体的第一球体位置信息的正确性程度的梯度信息,来对多个第一球体分别对应的第一球体位置信息进行重新调整,从而能够以更高的精度还原第一对象在深度上的信息,因而得到的三维模型具有更高的精度。
下面分别对上述S101~S104加以详细描述。
I:在上述S101中,本公开实施例在基于第一对象的二维图像,生成第一对象的三维模型时,是将第一对象分为多个部位,并对第一对象的不同部位分别进行三维位置信息的预测。
示例性的,第一对象的不同部位分别对应的三维位置信息通过第一球体在相机坐标系中的第一球体位置信息来表征;第一球体在相机坐标系中的第一球体位置信息,包括该第一球体的中心点在相机坐标系中的三维位置信息(也即第二三维位置信息)、该第一球体的三个轴分别对应的长度、以及每个该第一球体相对于相机坐标系的旋转角度。
以将人体作为第一对象为例,可以按照人体的肢体和躯干的将分体分为多个部位,每个部位采用一个第一球体表示;每个第一球体包括三个轴,分别表示骨骼长度、以及该部位在不同方向的厚度。
示例性的,参见图2所示,本公开实施例提供一种通过多个第一球体表征人体的示例,在该示例中,将人体划分为20个部位,20个部位通过20个第一球体表示,人体M表示为:M={εi|i=1,…,20};
其中,εi=E(Ri,Ci,Xi);
其中,εi表示第i个第一球体在相机坐标系下下的第一球体位置信息,也即第一球体对应的部位在相机坐标系下的位姿数据;其中,Xi表示第i个第一球体的尺寸数据,其参数包括:骨骼长度li,以及在不同方向的部位厚度和Ci表示第i个第一球体的中心点在相机坐标系下的三维坐标值;Ri表示第i个第一球体在相机坐标系中的旋转信息。
第i个第一球体的位姿数据Si满足下述公式(1):
Si=Rparent(i)·(liOi)+Sparent(i) (1)
其中,Oi为偏移向量,该偏移向量表征从第i个第一球体对应的父部位到当前部位的偏移方向;liOi表示人体的第i个部位在关键点布局中的局部位置。Sparent(i)表示父部位的位姿数据。Rparent(i)表示第i个第一球体对应的父部位的在相机坐标系中的旋转信息。上述公式(1)约束了不同第一球体之间的相互连接关系。
在获取多个第一球体中每个球体在相机坐标系中的第一球体位置信息时,例如可以利用预先训练的位置信息预测网络,对所述第一图像进行位置信息预测处理,得到所述多个第一球体中每个第一球体在所述相机坐标系中的第一球体位置信息。
示例性的,参见图3所示,本公开实施例还提供一种位置信息预测网络的结构的具体示例,包括:特征提取子网络、关键点预测子网络、以及三维位置信息预测子网络。
具体地,特征提取子网络,用于对第一图像进行特征提取处理,得到第一图像的特征图。
此处,特征提取子网络例如包括:卷积神经网络(convolutional neuralnetworks,CNN),CNN能够对第一图像进行至少一级特征提取处理,得到第一图像的特征图。CNN对第一图像进行至少一级特征提取处理的过程,又可以看作利用CNN编码器对第一图像进行编码的过程。
关键点预测子网络,用于基于第一图像的特征图,确定第一对象的多个关键点在第一图像中的二维坐标值。
此处,关键点预测子网络,例如可以基于第一图像的特征图进行至少一级反卷积处理,得到第一图像的热图,其中,热图的尺寸例如与第一图像的尺寸相同;热图中任一第一像素点的像素值,表征第一图像中与该任一第一像素点位置对应的第二像素点为第一对象关键点的概率。进而用过该热图,能够得到第一对象的多个关键点分别在第一图像中的二维坐标值。
三维位置信息预测子网络,用于基于第一对象的多个关键点分别在第一图像中的二维坐标值、以及第一图像的特征图,得到构成第一对象的多个第一球体分别在相机坐标系下的第一球体位置信息。II:在上述S102中,在得到多个第一球体分别对应的第一球体位置信息后,例如可以采用下述方式生成第一渲染图像:
基于所述第一球体位置信息,确定构成所述每个第一球体的多个面片的各个顶点分别在所述相机坐标系中的第一三维位置信息;基于构成所述每个第一球体的多个面片的各个顶点分别在所述相机坐标系中的第一三维位置信息,生成所述第一渲染图像。
在具体实施中,面片是三维计算机图形学中表示多面体形状的顶点与多边形的集合,又称为非结构网格。在确定构成第一对象的多个第一球体分别对应的第一球体位置信息后,能够基于第一球体位置信息,能够基于第一球体位置信息,确定构成第一球体的多个面片分别在相机坐标系中的第一三维位置信息。
具体地,可以基于构成模板球体的多个模板面片的模板顶点与所述模板球体的中心点之间的位置关系、以及所述每个第一球体的所述第一球体位置信息,确定构成所述每个第一球体的多个面片的各个顶点分别在所述相机坐标系中的第一三维位置信息。
此处,模板球体例如为图4中41所示,模板球体包括多个模板面片,每个模板面片的模板顶点与模板球体的中心点之间具有一定的位置关系。第一球体能够基于模板球体变形得到,在对第一模板球体进行变形时,例如可以基于所述每个第一球体的三个轴分别对应的长度以及所述每个第一球体相对于所述相机坐标系的旋转角度,对所述模板球体进行形状及旋转角度变换;基于对所述模板球体进行形状及旋转角度变换的结果以及所述第一位置关系,确定各个模板顶点与变换后的模板球体的中心点之间的第二位置关系;基于所述每个第一球体的中心点在所述相机坐标系中的第二三维位置信息以及所述第二位置关系,确定构成所述每个第一球体的多个面片的顶点分别在所述相机坐标系中的第一三维位置信息。
此处,在对模板球体进行形状及旋转角度变换时,可以先对模板球体进行形状变换,使得模板球体的三个轴,分别与第一球体的三个轴的长度相等,然后基于对模板球体进行形状变换的结果进行旋转角度变换,使得模板球体的三个轴在相机坐标系中的方向,与第一球体的三个轴的方向一一对应,完成对模板球体的形状及旋转角度变换。
另外,也可以先对模板球体进行旋转角度变换,使得模板球体的三个轴在相机坐标系中的方向,与第一球体的三个轴的方向一一对应;然后基于对模板球体进行旋转角度变换的结果进行形状变换,使得模板球体的三个周的长度分别与第一球体的三个轴的长度相等,完成对模板球体的形状及旋转角度变换。
在完成对模板球体的形状及旋转角度变换后,也即确定了模板球体中三个轴的长度、以及在相机坐标系中的旋转角度。此时,能够基于轴的长度以及在相机坐标系中的旋转角度、以及构成模板球体的多个模板面片的模板顶点与所述模板球体的中心点之间的第一位置关系,确定多个模板面片的模板顶点与变换后的模板球体的中心点之间的第二位置关系。基于该第二位置关系、以及第一球体的中心点在相机坐标系中的第二三维位置信息,确多个构成多个模板面片的模板顶点在相机坐标系中三维位置信息。此时,多个模板面片的模板顶点在相机坐标系中的三维位置信息,也即构成第一球体的多个面片的多个顶点分别在相机坐标系中的第一三维位置信息。
示例性的,参见图4所示,本公开实施例还提供一种将模板球体变换为第一球体的示例,在该示例中,模板球体如图4中41所示;将模板球体进行形状和旋转角度变换的结果如42所示;43和44表示由第一球体构成的人体;其中,在43为第一球体构成的人体的透视图。
在得到第一球体的多个面片的多个顶点分别在相机坐标系中的三维位置信息后,基于构成第一球体的多个面片的多个顶点分别在相机坐标系中的第一三维位置信息,对构成第一对象的多个球体进行图像渲染处理,生成第一渲染图像。
在具体实施中,例如可以采用下述方式对构成第一对象的多个第一球体进行图像渲染处理:
基于所述第一三维位置信息以及相机的投影矩阵,确定第一渲染图像中每个像素点的部位索引以及面片索引;
基于确定的第一渲染图像中每个像素点的部位索引以及面片索引,生成所述第一渲染图像;
其中,任一像素点的部位索引用于指示所述任一像素点对应的所述第一对象上的部位;任一像素点的面片索引用于指示所述任一像素点对应的面片。
在具体实施中,相机为获取第一图像的相机;相机的投影矩阵可以基于相机在相机坐标系中的位置、以及构成第一球体的多个面片的多个顶点分别在相机坐标系中的第一三维位置信息求得。在得到第一相机的投影矩阵后,能够基于该投影矩阵,将多个第一球体映射到相机坐标系中,得到第一渲染图像。
在一种可能的实施方式中,在对构成第一对象的多个球体进行图像渲染处理时,基于多个球体分别对应的第一球体位置信息,将多个第一球体进行集体渲染,得到包括所有第一球体的第一渲染图像。在该种情况下,是得到所有第一球体对应的第一渲染图像的梯度信息,基于该梯度信息,调整多个第一球体的第一球体位置信息。
在另一种可能的实施方式中,在对构成第一对象的多个第一球体进行图像渲染处理时,针对多个第一球体中的每个第一球体分别进行渲染,得到与多个第一球体分别对应的第一渲染图像。在该种情况下,是得到多个第一球体分别对应的第一渲染图像的梯度信息,并基于多个第一球体分别对应的第一渲染他徐昂的梯度信息,调整每个第一球体的第一球体位置。
III:在上述S103中,例如可以使用预先训练的语义分割网络对第一图像进行语义分割处理,得到第一图像的语义分割图像。
(1):针对对多个第一球体进行集体渲染的情况,不同第一球体被渲染至第一渲染图像时对应的像素点的像素值不同;同时,在对第一图像进行语义分割处理,得到第一图像的语义分割图像时,语义分割图像中任一像素点对应的像素值,表征第一图像中对应位置的像素点的所属部位的分类值。其中,第一对象的不同部位在语义分割图像中对应的分类值也不同。
示例性的,针对同一部位,与该部位对应的第一球体被渲染至第一渲染图像时对应的像素点的像素值,与该部位在语义分割图像中对应的分类值相同。
(2)针对对多个第一球体分别进行渲染的情况,在对第一图像进行语义分割处理时,得到与表征第一对象不同部位的第一球体分别对应的语义分割图像。
在该种情况下,在基于所述第一渲染图像以及所述第一图像的语义分割图像,得到所述第一渲染图像的梯度信息,例如可以采用下述方式:
针对每个第一球体,根据所述每个第一球体对应的第一渲染图像和语义分割图像,得到与所述每个第一球体对应的第一渲染图像的梯度信息;
基于与多个第一球体分别对应的第一渲染图像的梯度信息,得到多个第一球体对应的总的梯度信息。
这样,有利于简化不同部位对应的分类值的表达,简化在梯度计算过程中的运算复杂度。
在理论上,在获得的多个第一球体分别对应的第一球体位置信息完全正确的情况下,生成的第一渲染图像和第一语义分割图像中对应位置的像素点的像素值相同。若预测得到的任一第一球体的第一球体位置信息出现错误,则可能会导致第一渲染图像和第一语义分割图像中至少部分位置对应的像素点的像素值不相同。
基于上述原理,能够通过第一渲染图像和第一图像的语义分割图像,确定第一渲染图像的梯度信息,该梯度信息即表征了多个第一球体中每个第一球体在相机坐标系中的第一球体位置信息的正确性程度。一般地,梯度越大,则表征第一球体位置信息的正确性程度越低;相应的,梯度越小,则表征第一球体位置信息的正确性程度越高;因此可以第一渲染图像的梯度信息知道第一球体分别对应的第一球体位置信息的调整,使得第一球体位置信息在不断调整的过程中,所得到的第一渲染图像能够逐渐向着正确的方向不断优化,从而使得最终生成的第一对象的三维模型具有更高的精度。
具体地,第一渲染图像的梯度信息包括:第一渲染图像中每个像素点的梯度值。
在确定第一渲染图像的梯度信息时,例如可以遍历所述第一渲染图像中的各个像素点,针对遍历到的像素点在所述第一渲染图像中的第一像素值,以及所述遍历到的像素点在所述语义分割图像中的第二像素值,确定所述遍历到的像素点的梯度值。
参见图5所示,本公开实施例还提供一种确定遍历到的像素点的梯度值的具体方法,包括:
S501:根据所述遍历到的像素点的所述第一像素值以及所述遍历到的像素点的所述第二像素值,确定所述遍历到的像素点的残差。
S502:在所述遍历到的像素点的残差为第一数值的情况下,将所述遍历到的像素点的梯度值确定为所述第一数值。
此处,针对遍历到的像素点,若该遍历到的像素点的第一像素值和第二像素值相等,则认为以该遍历到的像素点为投影点位置点所属的第一球体的第一球体位置信息预测正确。此处,该位置点为表征第一对象任一部位的第一球体上任一面片上的位置点。若该遍历到的像素点的第一像素值和第二像素值不相等,则认为以该遍历到的像素点为投影点的位置点所属的第一球体的第一球体位置信息预测错误。
在一种可能的实施方式中,第一数值例如为0。
S503:在所述遍历到的像素点的残差不为所述第一数值的情况下,基于所述遍历到的像素点的所述第二像素值,从所述多个第一球体中确定所述遍历到的像素点对应的目标第一球体,并从构成所述目标第一球体的多个面片中确定目标面片;
S504:确定所述目标面片上的至少一个目标顶点在所述相机坐标系中的目标三维位置信息,其中,当所述目标顶点位于所述目标三维位置信息所指示的位置时,对所述遍历到的像素点进行重新渲染得到的新的第一像素值,和所述遍历到的像素点对应的第二像素值之间的残差为所述第一数值;
S505:基于所述目标顶点在所述相机坐标系中的第一三维位置信息和目标三维位置信息,得到所述遍历到的像素点的梯度值。
在具体实施中,参见图6所示,提供了在遍历到的像素点的残差并非第一数值的情况下,确定目标三维位置信息时的几种示例。在该示例中,面片为三角面片,也即构成第一球体的任一面片包括三条边以及三个顶点。
在该示例中,像素点P为遍历到的像素点,且P在图像坐标系中的坐标值表示为:P=(uP,vP)。IP(x)∈0,1表示像素点P的渲染函数。
62表示在相机所在方向将目标面片遮挡住的遮挡面片,将目标面片遮挡住的面片与目标面片属于不同的第一球体。
在图6中a中,要将像素点P的第一像素值,渲染为与目标面片对应的第一像素值;在该示例中,像素点P被遮挡面片62所遮挡,且目标面片61在图像坐标系中进行投影时,都不会覆盖像素点P;因此,在相机坐标系中x轴方向、和y轴方向中任一方向调整目标顶点的位置,都不会使得像素点P重新渲染后得到的新的第一像素值与目标面片对应的第一像素值相同,因此,在该种情况下,如图6中a和图6中e所示,可以首先在相机坐标系中x轴方向移动目标顶点使得目标面片在在图像坐标系中投影时,能够覆盖到像素点P,然后再在z轴方向调整目标顶点的位置,使得目标面片中投影至像素点P的位置点Q,能够位于遮挡面片的前方(相对于相机所在位置而言),进而得到目标顶点在所述相机坐标系中的目标三维位置信息。
此处,像素点P的梯度值满足下述公式(2)和公式(3):
在上述公式(2)和公式(3)中,δIP表示像素点P的残差。
Δz=z0-z1表示目标面片中投影至像素点P的位置点Q与遮挡面片中投影至像素点P的位置点Q’之间的深度差,z0表示Q的深度值,z1表示Q’的深度值;和Q之间的连线,与和之间的连线在M0处相交。λ表示超参数。Δ(·,·)表示两点之间的距离。
在图6中b中,要将像素点P的第一像素值,渲染为与目标面片对应的第一像素值;在该示例中,像素点P未被遮挡面片62所遮挡,因此,只需要沿着相机坐标系的x轴方向移动目标顶点的位置,就会使得像素点P重新渲染后得到的新的第一像素值与目标面片对应的第一像素值相同,因此,在该种情况下,可以如图6中b所示,可以在相机坐标系中x轴方向移动目标顶点使得目标面片在在图像坐标系中投影时,能够覆盖到像素点P,得到目标顶点在所述相机坐标系中的目标三维位置信息。
在该种情况下,像素点P的梯度值满足上述公式(2),像素点P在z轴方向和y轴方向的梯度值均为0。
在图6中c中,要将像素点P的第一像素值,渲染为与目标面片对应的第一像素值;在该示例中,像素点P被遮挡面片62所遮挡,且目标面片61在图像坐标系中进行投影时,会覆盖像素点P,因此不需要在相机坐标系的x轴方向和y轴方向调整目标顶点的位置,只需要根据图6中e所示,在z轴方向调整目标顶点的位置,使得目标面片中投影至像素点P的位置点Q,能够位于遮挡面片的前方(相对于相机所在位置而言),进而得到目标顶点在所述相机坐标系中的目标三维位置信息。
在该种情况下,像素点P的梯度值满足上述公式(3),像素点P在x轴方向和y轴方向的梯度值均为0。
如图6中d所示,要将像素点P的第一像素值,渲染为与目标面片不同的第一像素值;在该示例中,像素点P未被遮挡面片62所遮挡,目标面片61在图像坐标系中进行投影时,会覆盖像素点P;此时,需要沿着相机坐标系的x轴方向移动目标顶点的位置,就会使得像素点P重新渲染后得到的新的第一像素值与目标面片对应的第一像素值不相同,因此,在该种情况下,可以如图6中d所示,可以在相机坐标系中x轴方向移动目标顶点使得目标面片在在图像坐标系中投影时,不会覆盖到像素点P,得到目标顶点在所述相机坐标系中的目标三维位置信息。
在该种情况下,像素点P的梯度值满足上述公式(2),像素点P在y轴方向和z轴方向的梯度值均为0。
采用上述方式,即能够得到第一渲染图像中每一个像素点的梯度值;第一渲染图像中所有像素点的梯度值,构成了第一渲染图像的梯度信息。
IV:在上述S104中,在基于第一渲染图像的梯度信息,调整第一球体的第一球体位置信息时,例如可以对第一球体的第一球体位置信息中至少一项进行调整,也即可以对所述每个第一球体的中心点在所述相机坐标系中的第二三维位置信息、所述每个第一球体的三个轴分别对应的长度、以及所述每个第一球体相对于所述相机坐标系的旋转角度中的至少一项进行调整,使得基于调整后的第一球体位置信息生成新的第一渲染图像后,新的渲染图像中,各个像素点的梯度值均向着趋向于第一数值的方向发生变化,进而能够通过多次迭代过程,使得第一球体位置信息逐渐逼近于真实值,提升第一球体位置信息的精度,进而最终提升第一对象的三维模型的精度。
参见图7所示,本公开实施例还提供一种神经网络生成方法,包括:
S701:利用待训练的神经网络,对第二图像中的第二对象进行三维位置信息预测处理,得到表征所述第二对象不同部位的多个第二球体中每个第二球体在相机坐标系中的第二球体位置信息;
S702:基于多个第二球体分别对应的第二球体位置信息,生成第二渲染图像;
S703:基于所述第二渲染图像、以及所述第二图像的语义标注图像,得到所述第二渲染图像梯度信息;
S704:基于所述第二渲染图像的梯度信息,更新所述待训练的神经网络,得到更新后的神经网络。
本公开实施例提供的神经网络的结构例如图3所示,此处不再赘述。
本公开实施例在利用待优化的神经网络对第二图像中的第二对象进行三维位置信息预测处理,得到表征第二图像中第二对象的三维模型的多个第二球体的第二球体位置信息后,基于第二球体位置信息进行图像渲染,并基于图像渲染的结果,确定多个第二球体的第二球体位置信息正确性程度的梯度信息,并基于该梯度信息更新待优化的神经网络的,得到优化后的神经网络,使得优化后的神经网络具有更高的三维位置信息预测精度。
上述S702的实现过程与上述S102的实现过程类似;上述S703的实现过程与上述S103的实现过程类似,在此均不再赘述。
上述S704中,在基于第二渲染图像的梯度信息,更新待训练的神经网络时,是利用更新后的神经网络获得新的第二球体位置信息后,基于新的第二球体位置信息所获取的新的第二渲染图像中,各个像素点的梯度值均向着趋向于第一数值的方向发生变化,进而能够通过多次对神经网络的优化,使得逐步提升神经网络对第二球体位置信息的预测精度。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与三维模型生成方法对应的三维模型生成装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述三维模型生成方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图8所示,为本公开实施例提供的一种三维模型生成装置的示意图,所述装置包括:第一获取模块81、第一生成模块82、第一梯度确定模块83、调整模块84、以及模型生成模块85;其中,
第一获取模块81,用于基于包含第一对象的第一图像,获取表征所述第一对象不同部位的多个第一球体中每个第一球体在相机坐标系中的第一球体位置信息;
第一生成模块82,用于基于多个第一球体分别对应的第一球体位置信息,生成第一渲染图像;
第一梯度确定模块83,用于基于所述第一渲染图像、以及所述第一图像的语义分割图像,得到所述第一渲染图像的梯度信息;
调整模块84,用于基于所述的第一渲染图像的梯度信息,调整所述每个第一球体的第一球体位置信息;
模型生成模块85,用于基于调整后的各个第一球体的第一球体位置信息,生成第一对象的三维模型。
一种可能的实施方式中,所述第一生成模块82,在基于所述多个第一球体的所述第一球体位置信息,生成第一渲染图像时,用于:
基于所述第一球体位置信息,确定构成所述每个第一球体的多个面片的各个顶点分别在所述相机坐标系中的第一三维位置信息;
基于构成所述每个第一球体的多个面片的各个顶点分别在所述相机坐标系中的第一三维位置信息,生成所述第一渲染图像。
一种可能的实施方式中,所述第一生成模块82,所述第一生成模块82,在基于所述第一球体位置信息,确定构成所述每个第一球体的多个面片的各个顶点分别在所述相机坐标系中的第一三维位置信息时,用于:
基于构成模板球体的多个模板面片的模板顶点与所述模板球体的中心点之间的位置关系、以及所述每个第一球体的所述第一球体位置信息,确定构成所述每个第一球体的多个面片的各个顶点分别在所述相机坐标系中的第一三维位置信息。
一种可能的实施方式中,所述第一生成模块82,所述每个第一球体的所述第一球体位置信息包括:所述每个第一球体的中心点在所述相机坐标系中的第二三维位置信息、所述每个第一球体的三个轴分别对应的长度、以及所述每个第一球体相对于所述相机坐标系的旋转角度。
一种可能的实施方式中,所述第一生成模块82,所述第一生成模块82,在基于构成模板球体的多个模板面片的模板顶点与所述模板球体的中心点之间的第一位置关系、以及所述每个第一球体的第一球体位置信息,确定构成所述每个第一球体的多个面片的各个顶点分别在所述相机坐标系中的第一三维位置信息时,用于:
基于所述每个第一球体的三个轴分别对应的长度以及所述每个第一球体相对于所述相机坐标系的旋转角度,对所述模板球体进行形状及旋转角度变换;
基于对所述模板球体进行形状及旋转角度变换的结果以及所述第一位置关系,确定各个模板顶点与变换后的模板球体的中心点之间的第二位置关系;
基于所述每个第一球体的中心点在所述相机坐标系中的第二三维位置信息以及所述第二位置关系,确定构成所述每个第一球体的多个面片的顶点分别在所述相机坐标系中的第一三维位置信息。
一种可能的实施方式中,所述第一生成模块82,所述第一获取模块81,还用于:获取所述第一图像的相机的投影矩阵;
所述第一生成模块82,在基于构成所述每个第一球体的多个面片的各个顶点分别在所述相机坐标系中的第一三维位置信息,生成第一渲染图像时,用于:
基于所述第一三维位置信息以及所述投影矩阵,确定第一渲染图像中每个像素点的部位索引以及面片索引;
基于确定的第一渲染图像中每个像素点的部位索引以及面片索引,生成所述第一渲染图像;
其中,任一像素点的部位索引用于指示所述任一像素点对应的所述第一对象上的部位;任一像素点的面片索引用于指示所述任一像素点对应的面片。
一种可选的实施方式中,第一生成模块82,在基于构成所述每个第一球体的多个面片的各个顶点分别在所述相机坐标系中的第一三维位置信息,生成第一渲染图像时,用于:
针对所述每个第一球体,根据构成所述每个第一球体的多个面片的各个顶点分别在所述相机坐标系中的第一三维位置信息,生成与所述每个第一球体对应的第一渲染图像;
第一梯度确定模块83,在基于所述第一渲染图像以及所述第一图像的语义分割图像,得到所述第一渲染图像的梯度信息时,用于:
针对每个第一球体,根据所述每个第一球体对应的第一渲染图像和语义分割图像,得到与所述每个第一球体对应的第一渲染图像的梯度信息。
一种可能的实施方式中,所述第一渲染图像的梯度信息包括:所述第一渲染图像中每个像素点的梯度值;
所述第一梯度确定模块83,在基于所述第一渲染图像以及所述第一图像的语义分割图像,得到所述第一渲染图像的梯度信息时,用于:
遍历所述第一渲染图像中的各个像素点,针对遍历到的像素点在所述第一渲染图像中的第一像素值,以及所述遍历到的像素点在所述语义分割图像中的第二像素值,确定所述遍历到的像素点的梯度值。
一种可能的实施方式中,第一梯度确定模块83,在针对遍历到的像素点在所述第一渲染图像中的像素值以及所述遍历到的像素点在所述语义分割图像中的像素值,确定所述遍历到的像素点的梯度值时,用于:
根据所述遍历到的像素点的所述第一像素值以及所述遍历到的像素点的所述第二像素值,确定所述遍历到的像素点的残差;
在所述遍历到的像素点的残差为第一数值的情况下,将所述遍历到的像素点的梯度值确定为所述第一数值;
在所述遍历到的像素点的残差不为所述第一数值的情况下,基于所述遍历到的像素点的所述第二像素值,从所述多个第一球体中确定所述遍历到的像素点对应的目标第一球体,并从构成所述目标第一球体的多个面片中确定目标面片;
确定所述目标面片上的至少一个目标顶点在所述相机坐标系中的目标三维位置信息,其中,当所述目标顶点位于所述目标三维位置信息所指示的位置时,对所述遍历到的像素点进行重新渲染得到的新的第一像素值,和所述遍历到的像素点对应的第二像素值之间的残差为所述第一数值;
基于所述目标顶点在所述相机坐标系中的第一三维位置信息和目标三维位置信息,得到所述遍历到的像素点的梯度值。
一种可能的实施方式中,第一获取模块81,在获取多个第一球体中每个第一球体在相机坐标系中的第一球体位置信息时,用于:
利用预先训练的位置信息预测网络,对所述第一图像进行位置信息预测处理,得到所述多个第一球体中每个第一球体在所述相机坐标系中的第一球体位置信息。
参见图9所示,本公开实施例还提供一种神经网络生成装置,包括:
第二获取模块91,用于利用待训练的神经网络,对第二图像中的第二对象进行三维位置信息预测处理,得到表征所述第二对象不同部位的多个第二球体中每个第二球体在相机坐标系中的第二球体位置信息;
第二生成模块92,用于基于多个第二球体分别对应的第二球体位置信息,生成第二渲染图像;
第二梯度确定模块93,用于基于所述第二渲染图像、以及所述第二图像的语义标注图像,得到所述第二渲染图像梯度信息;
更新模块94,用于基于所述第二渲染图像的梯度信息,更新所述待训练的神经网络,得到更新后的神经网络。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
本公开实施例还提供了一种计算机设备,如图10所示,为本公开实施例提供的计算机设备结构示意图,包括:
处理器11和存储器12;所述存储器12存储有所述处理器11可执行的机器可读指令,当计算机设备运行时,所述机器可读指令被所述处理器执行以实现下述步骤:
基于包含第一对象的第一图像,获取多个第一球体中每个第一球体在相机坐标系中的第一球体位置信息,所述多个第一球体分别用于表示所述第一对象不同部位;
基于所述多个第一球体的所述第一球体位置信息,生成第一渲染图像;
基于所述第一渲染图像以及所述第一图像的语义分割图像,得到所述第一渲染图像的梯度信息;
基于所述的第一渲染图像的梯度信息,调整所述多个第一球体的所述第一球体位置信息,并利用调整后的所述多个第一球体的所述第一球体位置信息,生成所述第一对象的三维模型;
或者,所述机器可读指令被所述处理器执行以实现下述步骤:
利用待训练的神经网络,对第二图像中的第二对象进行三维位置信息预测处理,得到表征所述第二对象不同部位的多个第二球体中每个第二球体在相机坐标系中的第二球体位置信息;
基于多个第二球体分别对应的第二球体位置信息,生成第二渲染图像;
基于所述第二渲染图像、以及所述第二图像的语义标注图像,得到所述第二渲染图像梯度信息;
基于所述第二渲染图像的梯度信息,更新所述待训练的神经网络,得到更新后的神经网络。
上述指令的具体执行过程可以参考本公开实施例中所述的三维模型生成方法、及神经网络生成方法的步骤,此处不再赘述。
本公开实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述方法实施例中所述的三维模型生成方法或神经网络生成方法的步骤。其中,所述存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例所提供的三维模型生成方法或神经网络生成方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的三维模型生成方法或神经网络生成方法的步骤,具体可参见上述方法实施例,在此不再赘述。
本公开实施例还提供一种计算机程序,所述计算机程序被处理器执行时实现前述实施例的任意一种方法。所述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software DevelopmentKit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应所述理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者所述技术方案的部分可以以软件产品的形式体现出来,所述计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
Claims (15)
1.一种三维模型生成方法,其特征在于,包括:
基于包含第一对象的第一图像,获取多个第一球体中每个第一球体在相机坐标系中的第一球体位置信息,所述多个第一球体分别用于表示所述第一对象不同部位;
基于所述多个第一球体的所述第一球体位置信息,生成第一渲染图像;
基于所述第一渲染图像以及所述第一图像的语义分割图像,得到所述第一渲染图像的梯度信息;
基于所述的第一渲染图像的梯度信息,调整所述多个第一球体的所述第一球体位置信息,并利用调整后的所述多个第一球体的所述第一球体位置信息,生成所述第一对象的三维模型。
2.根据权利要求1所述三维模型生成方法,其特征在于,所述基于所述多个第一球体的所述第一球体位置信息,生成第一渲染图像,包括:
基于所述第一球体位置信息,确定构成所述每个第一球体的多个面片的各个顶点分别在所述相机坐标系中的第一三维位置信息;
基于构成所述每个第一球体的多个面片的各个顶点分别在所述相机坐标系中的第一三维位置信息,生成所述第一渲染图像。
3.根据权利要求2所述的三维模型生成方法,其特征在于,所述基于所述第一球体位置信息,确定构成所述每个第一球体的多个面片的各个顶点分别在所述相机坐标系中的第一三维位置信息,包括:
基于构成模板球体的多个模板面片的模板顶点与所述模板球体的中心点之间的位置关系、以及所述每个第一球体的所述第一球体位置信息,确定构成所述每个第一球体的多个面片的各个顶点分别在所述相机坐标系中的第一三维位置信息。
4.根据权利要求3所述的三维模型生成方法,其特征在于,所述每个第一球体的所述第一球体位置信息包括:所述每个第一球体的中心点在所述相机坐标系中的第二三维位置信息、所述每个第一球体的三个轴分别对应的长度、以及所述每个第一球体相对于所述相机坐标系的旋转角度。
5.根据权利要求4所述的三维模型生成方法,其特征在于,所述基于构成模板球体的多个模板面片的模板顶点与所述模板球体的中心点之间的第一位置关系、以及所述每个第一球体的第一球体位置信息,确定构成所述每个第一球体的多个面片的各个顶点分别在所述相机坐标系中的第一三维位置信息,包括:
基于所述每个第一球体的三个轴分别对应的长度以及所述每个第一球体相对于所述相机坐标系的旋转角度,对所述模板球体进行形状及旋转角度变换;
基于对所述模板球体进行形状及旋转角度变换的结果以及所述第一位置关系,确定各个模板顶点与变换后的模板球体的中心点之间的第二位置关系;
基于所述每个第一球体的中心点在所述相机坐标系中的第二三维位置信息以及所述第二位置关系,确定构成所述每个第一球体的多个面片的顶点分别在所述相机坐标系中的第一三维位置信息。
6.根据权利要求2-5任一项所述的三维模型生成方法,其特征在于,
所述方法还包括:获取所述第一图像的相机的投影矩阵;
所述基于构成所述每个第一球体的多个面片的各个顶点分别在所述相机坐标系中的第一三维位置信息,生成第一渲染图像,包括:
基于所述第一三维位置信息以及所述投影矩阵,确定第一渲染图像中每个像素点的部位索引以及面片索引;
基于确定的第一渲染图像中每个像素点的部位索引以及面片索引,生成所述第一渲染图像;
其中,任一像素点的部位索引用于指示所述任一像素点对应的所述第一对象上的部位;任一像素点的面片索引用于指示所述任一像素点对应的面片。
7.根据权利要求2-7任一项所述的三维模型生成方法,其特征在于,所述基于构成所述每个第一球体的多个面片的各个顶点分别在所述相机坐标系中的第一三维位置信息,生成第一渲染图像,包括:
针对所述每个第一球体,根据构成所述每个第一球体的多个面片的各个顶点分别在所述相机坐标系中的第一三维位置信息,生成与所述每个第一球体对应的第一渲染图像;
所述基于所述第一渲染图像以及所述第一图像的语义分割图像,得到所述第一渲染图像的梯度信息,包括:
针对每个第一球体,根据所述每个第一球体对应的第一渲染图像和语义分割图像,得到与所述每个第一球体对应的第一渲染图像的梯度信息。
8.根据权利要求1-7任一项所述的三维模型生成方法,其特征在于,所述第一渲染图像的梯度信息包括:所述第一渲染图像中每个像素点的梯度值;
所述基于所述第一渲染图像以及所述第一图像的语义分割图像,得到所述第一渲染图像的梯度信息,包括:
遍历所述第一渲染图像中的各个像素点,针对遍历到的像素点在所述第一渲染图像中的第一像素值,以及所述遍历到的像素点在所述语义分割图像中的第二像素值,确定所述遍历到的像素点的梯度值。
9.根据权利要求8所述的三维模型生成方法,其特征在于,所述针对遍历到的像素点在所述第一渲染图像中的像素值以及所述遍历到的像素点在所述语义分割图像中的像素值,确定所述遍历到的像素点的梯度值,包括:
根据所述遍历到的像素点的所述第一像素值以及所述遍历到的像素点的所述第二像素值,确定所述遍历到的像素点的残差;
在所述遍历到的像素点的残差为第一数值的情况下,将所述遍历到的像素点的梯度值确定为所述第一数值;
在所述遍历到的像素点的残差不为所述第一数值的情况下,基于所述遍历到的像素点的所述第二像素值,从所述多个第一球体中确定所述遍历到的像素点对应的目标第一球体,并从构成所述目标第一球体的多个面片中确定目标面片;
确定所述目标面片上的至少一个目标顶点在所述相机坐标系中的目标三维位置信息,其中,当所述目标顶点位于所述目标三维位置信息所指示的位置时,对所述遍历到的像素点进行重新渲染得到的新的第一像素值,和所述遍历到的像素点对应的第二像素值之间的残差为所述第一数值;
基于所述目标顶点在所述相机坐标系中的第一三维位置信息和目标三维位置信息,得到所述遍历到的像素点的梯度值。
10.根据权利要求1-9任一项所述的三维模型生成方法,其特征在于,所述获取多个第一球体中每个第一球体在相机坐标系中的第一球体位置信息,包括:
利用预先训练的位置信息预测网络,对所述第一图像进行位置信息预测处理,得到所述多个第一球体中每个第一球体在所述相机坐标系中的第一球体位置信息。
11.一种神经网络生成方法,其特征在于,包括:
利用待训练的神经网络,对第二图像中的第二对象进行三维位置信息预测处理,得到表征所述第二对象不同部位的多个第二球体中每个第二球体在相机坐标系中的第二球体位置信息;
基于多个第二球体分别对应的第二球体位置信息,生成第二渲染图像;
基于所述第二渲染图像、以及所述第二图像的语义标注图像,得到所述第二渲染图像梯度信息;
基于所述第二渲染图像的梯度信息,更新所述待训练的神经网络,得到更新后的神经网络。
12.一种三维模型生成装置,其特征在于,包括:
第一获取模块,用于基于包含第一对象的第一图像,获取表征所述第一对象不同部位的多个第一球体中每个第一球体在相机坐标系中的第一球体位置信息;
第一生成模块,用于基于多个第一球体分别对应的第一球体位置信息,生成第一渲染图像;
第一梯度确定模块,用于基于所述第一渲染图像、以及所述第一图像的语义分割图像,得到所述第一渲染图像的梯度信息;
调整模块,用于基于所述的第一渲染图像的梯度信息,调整所述每个第一球体的第一球体位置信息;
模型生成模块,用于基于调整后的各个第一球体的第一球体位置信息,生成第一对象的三维模型。
13.一种神经网络生成装置,其特征在于,包括:
第二获取模块,用于利用待训练的神经网络,对第二图像中的第二对象进行三维位置信息预测处理,得到表征所述第二对象不同部位的多个第二球体中每个第二球体在相机坐标系中的第二球体位置信息;
第二生成模块,用于基于多个第二球体分别对应的第二球体位置信息,生成第二渲染图像;
第二梯度确定模块,用于基于所述第二渲染图像、以及所述第二图像的语义标注图像,得到所述第二渲染图像梯度信息;
更新模块,用于基于所述第二渲染图像的梯度信息,更新所述待训练的神经网络,得到更新后的神经网络。
14.一种电子设备,其特征在于,包括:处理器、以及存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述处理器执行如权利要求1至11任一项所述的方法的步骤。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被电子设备运行时,所述电子设备执行如权利要求1至11任意一项所述的方法的步骤。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010607430.5A CN111739159A (zh) | 2020-06-29 | 2020-06-29 | 三维模型生成方法、神经网络生成方法及装置 |
EP21819707.7A EP3971840A4 (en) | 2020-06-29 | 2021-03-23 | THREE-DIMENSIONAL MODEL GENERATION METHOD, NEURON NETWORK GENERATION METHOD AND ASSOCIATED DEVICES |
PCT/CN2021/082485 WO2022001222A1 (zh) | 2020-06-29 | 2021-03-23 | 三维模型生成方法、神经网络生成方法及装置 |
KR1020217042400A KR20220013403A (ko) | 2020-06-29 | 2021-03-23 | 3차원 모델 생성 방법, 신경망 생성 방법 및 장치 |
JP2021573567A JP2022542758A (ja) | 2020-06-29 | 2021-03-23 | 3次元モデル生成方法、ニューラルネットワーク生成方法及び装置 |
US17/645,446 US20220114799A1 (en) | 2020-06-29 | 2021-12-21 | Three dimensional model generation method and apparatus, and neural network generating method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010607430.5A CN111739159A (zh) | 2020-06-29 | 2020-06-29 | 三维模型生成方法、神经网络生成方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111739159A true CN111739159A (zh) | 2020-10-02 |
Family
ID=72652991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010607430.5A Withdrawn CN111739159A (zh) | 2020-06-29 | 2020-06-29 | 三维模型生成方法、神经网络生成方法及装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20220114799A1 (zh) |
EP (1) | EP3971840A4 (zh) |
JP (1) | JP2022542758A (zh) |
KR (1) | KR20220013403A (zh) |
CN (1) | CN111739159A (zh) |
WO (1) | WO2022001222A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112883102A (zh) * | 2021-03-05 | 2021-06-01 | 北京知优科技有限公司 | 数据可视化展示的方法、装置、电子设备及存储介质 |
CN113239943A (zh) * | 2021-05-28 | 2021-08-10 | 北京航空航天大学 | 基于部件语义图的三维部件提取组合方法和装置 |
WO2022001222A1 (zh) * | 2020-06-29 | 2022-01-06 | 上海商汤智能科技有限公司 | 三维模型生成方法、神经网络生成方法及装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11830138B2 (en) * | 2021-03-19 | 2023-11-28 | Adobe Inc. | Predicting secondary motion of multidimentional objects based on local patch features |
KR102553304B1 (ko) * | 2022-11-01 | 2023-07-10 | 주식회사 로지비 | 딥러닝 비전 학습 기반 물류 검수 서버 및 그 동작 방법 |
CN117274473B (zh) * | 2023-11-21 | 2024-02-02 | 北京渲光科技有限公司 | 一种多重散射实时渲染的方法、装置及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109446951A (zh) * | 2018-10-16 | 2019-03-08 | 腾讯科技(深圳)有限公司 | 三维图像的语义分割方法、装置、设备及存储介质 |
CN110633628A (zh) * | 2019-08-02 | 2019-12-31 | 杭州电子科技大学 | 基于人工神经网络的rgb图像场景三维模型重建方法 |
EP3660787A1 (en) * | 2017-07-25 | 2020-06-03 | Cloudminds (Shenzhen) Robotics Systems Co., Ltd. | Training data generation method and generation apparatus, and image semantics segmentation method therefor |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1275205C (zh) * | 2005-01-20 | 2006-09-13 | 上海交通大学 | 基于肌肉体积不变性的人肢体三维建模方法 |
CN105303611A (zh) * | 2015-12-08 | 2016-02-03 | 新疆华德软件科技有限公司 | 基于旋转抛物面的虚拟人肢体建模方法 |
CN108648268B (zh) * | 2018-05-10 | 2020-08-04 | 浙江大学 | 一种基于胶囊的人体模型逼近方法 |
CN108846892B (zh) * | 2018-06-05 | 2022-10-11 | 陈宸 | 人体模型的确定方法及装置 |
EP3579196A1 (en) * | 2018-06-05 | 2019-12-11 | Cristian Sminchisescu | Human clothing transfer method, system and device |
CN111739159A (zh) * | 2020-06-29 | 2020-10-02 | 上海商汤智能科技有限公司 | 三维模型生成方法、神经网络生成方法及装置 |
-
2020
- 2020-06-29 CN CN202010607430.5A patent/CN111739159A/zh not_active Withdrawn
-
2021
- 2021-03-23 EP EP21819707.7A patent/EP3971840A4/en not_active Withdrawn
- 2021-03-23 JP JP2021573567A patent/JP2022542758A/ja active Pending
- 2021-03-23 WO PCT/CN2021/082485 patent/WO2022001222A1/zh unknown
- 2021-03-23 KR KR1020217042400A patent/KR20220013403A/ko not_active Application Discontinuation
- 2021-12-21 US US17/645,446 patent/US20220114799A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3660787A1 (en) * | 2017-07-25 | 2020-06-03 | Cloudminds (Shenzhen) Robotics Systems Co., Ltd. | Training data generation method and generation apparatus, and image semantics segmentation method therefor |
CN109446951A (zh) * | 2018-10-16 | 2019-03-08 | 腾讯科技(深圳)有限公司 | 三维图像的语义分割方法、装置、设备及存储介质 |
CN110633628A (zh) * | 2019-08-02 | 2019-12-31 | 杭州电子科技大学 | 基于人工神经网络的rgb图像场景三维模型重建方法 |
Non-Patent Citations (3)
Title |
---|
MIN WANG ET AL.: "EllipBody: A Light-weight and Part-based Representation for Human Pose and Shape Recovery", ARXIV.ORG, pages 1 - 3 * |
解祥荣;徐海黎;: "三维模型的读取与体素化", 南通大学学报(自然科学版), no. 01 * |
黎子聪;梁君达;许家荣;王宇攀;邹歆仪;徐凌寒;李桂清;: "变形图驱动的人体与脸部网格模板拟合系统", 计算机辅助设计与图形学学报, no. 06 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022001222A1 (zh) * | 2020-06-29 | 2022-01-06 | 上海商汤智能科技有限公司 | 三维模型生成方法、神经网络生成方法及装置 |
CN112883102A (zh) * | 2021-03-05 | 2021-06-01 | 北京知优科技有限公司 | 数据可视化展示的方法、装置、电子设备及存储介质 |
CN112883102B (zh) * | 2021-03-05 | 2024-03-08 | 北京知优科技有限公司 | 数据可视化展示的方法、装置、电子设备及存储介质 |
CN113239943A (zh) * | 2021-05-28 | 2021-08-10 | 北京航空航天大学 | 基于部件语义图的三维部件提取组合方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US20220114799A1 (en) | 2022-04-14 |
EP3971840A4 (en) | 2023-01-18 |
WO2022001222A1 (zh) | 2022-01-06 |
JP2022542758A (ja) | 2022-10-07 |
EP3971840A1 (en) | 2022-03-23 |
KR20220013403A (ko) | 2022-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111739159A (zh) | 三维模型生成方法、神经网络生成方法及装置 | |
CN111325851B (zh) | 图像处理方法及装置、电子设备和计算机可读存储介质 | |
CN110705448B (zh) | 一种人体检测方法及装置 | |
US9892506B2 (en) | Systems and methods for shape analysis using landmark-driven quasiconformal mapping | |
CN112614213B (zh) | 人脸表情确定方法、表情参数确定模型、介质及设备 | |
WO2021253788A1 (zh) | 一种人体三维模型构建方法及装置 | |
CN107220995A (zh) | 一种基于orb图像特征的icp快速点云配准算法的改进方法 | |
Quicken et al. | Parameterization of closed surfaces for parametric surface description | |
CN114067057A (zh) | 一种基于注意力机制的人体重建方法、模型、装置 | |
CN111598111A (zh) | 三维模型生成方法、装置、计算机设备及存储介质 | |
CN113593001A (zh) | 目标对象三维重建方法、装置、计算机设备和存储介质 | |
CN108537887A (zh) | 基于3d打印的草图与模型库三维视图匹配方法 | |
CN113936090A (zh) | 三维人体重建的方法、装置、电子设备及存储介质 | |
CN116563493A (zh) | 基于三维重建的模型训练方法、三维重建方法及装置 | |
CN114723884A (zh) | 三维人脸重建方法、装置、计算机设备及存储介质 | |
CN117094203A (zh) | 通过机器学习生成棱柱cad模型 | |
CN117372604B (zh) | 一种3d人脸模型生成方法、装置、设备及可读存储介质 | |
Twarog et al. | Playing with puffball: simple scale-invariant inflation for use in vision and graphics | |
CN113902848A (zh) | 对象重建方法、装置、电子设备及存储介质 | |
CN115984440B (zh) | 对象渲染方法、装置、计算机设备和存储介质 | |
CN114612614A (zh) | 人体模型的重建方法、装置、计算机设备及存储介质 | |
CN114529648A (zh) | 模型展示方法、设备、装置、电子设备及存储介质 | |
CN113920466A (zh) | 先验空间的生成方法、装置、计算机设备和存储介质 | |
Persson et al. | On the Use of Loop Subdivision Surfaces for Surrogate Geometry. | |
CN116912433B (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20201002 |
|
WW01 | Invention patent application withdrawn after publication |