CN115222896A - 三维重建方法、装置、电子设备及计算机可读存储介质 - Google Patents
三维重建方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN115222896A CN115222896A CN202211140932.7A CN202211140932A CN115222896A CN 115222896 A CN115222896 A CN 115222896A CN 202211140932 A CN202211140932 A CN 202211140932A CN 115222896 A CN115222896 A CN 115222896A
- Authority
- CN
- China
- Prior art keywords
- image
- target
- shot
- dimensional reconstruction
- dimensional
- 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 116
- 238000003860 storage Methods 0.000 title claims abstract description 13
- 230000015654 memory Effects 0.000 claims description 36
- 238000000605 extraction Methods 0.000 claims description 33
- 238000001914 filtration Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 23
- 230000002776 aggregation Effects 0.000 claims description 15
- 238000004220 aggregation Methods 0.000 claims description 15
- 238000012216 screening Methods 0.000 claims description 15
- 230000004931 aggregating effect Effects 0.000 claims description 13
- 230000002087 whitening effect Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 description 45
- 239000013598 vector Substances 0.000 description 33
- 238000013528 artificial neural network Methods 0.000 description 24
- 230000000694 effects Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 23
- 239000011159 matrix material Substances 0.000 description 20
- 238000011176 pooling Methods 0.000 description 19
- 238000012545 processing Methods 0.000 description 19
- 238000013527 convolutional neural network Methods 0.000 description 17
- 238000012549 training Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 16
- 238000010606 normalization Methods 0.000 description 14
- 238000004364 calculation method Methods 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 10
- 238000013473 artificial intelligence Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000009877 rendering Methods 0.000 description 7
- 238000013500 data storage Methods 0.000 description 6
- 238000013135 deep learning Methods 0.000 description 6
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 4
- 239000000872 buffer Substances 0.000 description 4
- 239000003086 colorant Substances 0.000 description 4
- 238000012805 post-processing Methods 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 238000004458 analytical method 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
- 230000003993 interaction Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 238000005314 correlation function Methods 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000007596 consolidation process Methods 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
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
- G06T17/005—Tree description, e.g. octree, quadtree
-
- 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
- G06T15/005—General purpose rendering architectures
-
- 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
- G06T17/205—Re-meshing
-
- 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/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- 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/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
-
- 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/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- 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
-
- 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/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
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
- G06V20/653—Three-dimensional objects by matching three-dimensional models, e.g. conformal mapping of Riemann surfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Computer Graphics (AREA)
- Geometry (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)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种三维重建方法、装置、电子设备及计算机可读存储介质,可通过单张拍摄图像重建三维模型,提升三维重建的效率。本申请实施例的方法应用于客户端,包括:提取拍摄图像中的目标图像特征;将所述目标图像特征和所述拍摄图像上传至服务器,所述服务器用于根据所述目标图像特征检索对应的匹配图像,并根据所述匹配图像和所述拍摄图像进行三维重建,生成待重建物体对应的目标三维模型;接收所述服务器反馈的目标三维模型。
Description
技术领域
本申请涉及三维重建技术领域,尤其涉及一种三维重建方法、装置、电子设备及计算机可读存储介质。
背景技术
三维数字化数据可以提升人们对真实空间的认知水平和层次,为人们带来远超二维图像数据的丰富信息。利用高精度激光扫描仪获得三维环境的点云信息进行建模是一种常见的方案,但是激光扫描仪设备昂贵,如何高效准确低廉地获得真实可用的三维数字化数据,是限制三维应用进一步蓬勃发展的关键性瓶颈之一。
目前,三维重建算法(例如基于NeRF的三维重建算法)为了能够达到较为逼真的三维重建效果,但是该算法的使用条件较为苛刻,需要多张不同拍摄角度的拍摄图像才能真实重建出目标物体,三维重建过程较为繁琐,导致用户在三维重建过程中操作量大、耗费时间长、三维重建效率低下,影响用户体验。
发明内容
本申请的主要目的在于提供一种三维重建方法、装置、电子设备及计算机可读存储介质,目的在于解决用户在三维重建过程中操作量大、耗费时间长、三维重建效率低下的技术问题。
第一方面,本申请提供了一种三维重建方法,应用于客户端,该方法包括:提取拍摄图像中的目标图像特征;将所述目标图像特征和所述拍摄图像上传至服务器,所述服务器用于根据所述目标图像特征检索对应的匹配图像,并根据所述匹配图像和所述拍摄图像进行三维重建,生成待重建物体对应的目标三维模型;接收所述服务器反馈的目标三维模型。这样,用户在客户端提供单张拍摄图像后,客户端即可自动提取拍摄图像的目标图像特征,将该拍摄图像和目标图像特征发送至服务器,服务器可依据该目标图像特征查找与拍摄图像对应的匹配图像,并利用拍摄图像和匹配图像进行三维重建得到目标三维模型,客户端即可接收服务器反馈的目标三维模型,在整个三维重建过程中,用户只需通过客户端提供单张拍摄图像即可完成整个三维重建过程,且本申请中三维重建的效果与利用多张不同角度的拍摄图像进行三维重建的效果一致,无需用户拍摄多张不同角度的拍摄图像来进行三维重建,简化了用户侧的三维重建过程,减少了用户在三维重建过程中的操作量、减少了用户在三维重建过程中的耗费时间、提升了三维重建的效率,提高了用户体验。
示例性的,所述目标图像特征为图像特征向量。
示例性的,所述目标图像特征为表征拍摄图像中物体轮廓的语义图像;
示例性的,所述目标三维模型为三维网格模型。
示例性的,所述目标三维模型为网络稀疏化后的三维网格模型。
示例性的,所述目标三维模型为八叉树,所述八叉树的叶子节点为网络稀疏化后的三维网格模型的网格。
示例性的,根据第一方面,所述提取拍摄图像中的目标图像特征,包括:对拍摄图像进行特征提取,得到全局图像特征;在所述全局图像特征中提取多个局部图像特征;根据各所述局部图像特征,生成目标图像特征。这样,在对拍摄图像进行特征提取得到全局图像特征之后,在全局图像特征中提取得到多个局部图像特征,这些局部图像特征中均有可能存在待重建物体的图像特征信息,所以本申请可以在全局图像特征中充分提取得到跟待重建物体相关联的图像特征信息,使得目标图像特征可以充分表达待重建物体的特征信息,提升目标图像特征的准确度,有利于提升利用目标图像特征查找拍摄图像对应的匹配图像的准确度。
示例性的,本申请中可以将拍摄图像输入特征提取网络中进行特征提取,得到全局图像特征;将全局图像特征输入候选框预测网络,对所述全局图像特征进行候选框预测,得到至少一个候选框;根据各所述候选框,在所述全局图像特征中框选出对应的局部图像特征;通过预设后处理方式,对各所述局部图像特征进行后处理,将后处理结果作为目标图像特征。
示例性的,预设后处理方式至少包括归一化、PCA(principal componentsanalysis,主成分分析)白化、全连接和特征聚合中的一种。
根据第一方面,或者以上第一方面的任意一种实现方式,所述根据各所述局部图像特征,生成目标图像特征,包括:对各所述局部图像特征分别进行全连接,得到各全连接特征;对各所述全连接特征进行聚合,生成目标图像特征。这样,可以实现将多个局部图像特征融合为目标图像特征,使得目标图像特征中包含拍摄图像中所有可能存在待重建物体的局部图像特征信息,目标图像特征可以更加准确和充分地描述拍摄图像中与待重建物体关联的图像特征信息。
示例性的,对各所述全连接特征进行聚合的方式为求平均值。
根据第一方面,或者以上第一方面的任意一种实现方式,所述对各所述局部图像特征分别进行全连接,得到各全连接特征,包括:对各所述局部图像特征进行归一化,得到各第一归一化特征;分别对各所述第一归一化特征进行全连接,得到各全连接特征。这样,将所述局部图像特征进行归一化后再进行全连接,可以通过归一化的方式消除局部图像特征中特征值的大小对全连接结果的影响,提升全连接得到的全连接特征的准确度,从而提升目标图像特征的准确度。
根据第一方面,或者以上第一方面的任意一种实现方式,所述对各所述全连接特征进行聚合,生成目标图像特征,包括:对各所述全连接特征进行归一化,得到各第二归一化特征;对各所述第二归一化特征进行聚合,得到局部聚合图像特征;对所述局部聚合图像特征进行归一化,生成目标图像特征。这样,将各全连接特征进行归一化后在进行聚合,可通过归一化的方式消除全连接特征中特征值大小对聚合过程的影响,提升局部聚合图像特征的准确度,并依据归一化后的局部聚合图像特征来进行目标图像特征的生成,可消除局部聚合图像特征中特征值大小对目标图像特征的影响,使得目标图像特征更加准确。
示例性的,归一化的方式为L2归一化。
根据第一方面,或者以上第一方面的任意一种实现方式,所述对所述局部聚合图像特征进行归一化,生成目标图像特征,包括:对所述局部聚合图像特征进行归一化,得到第三归一化特征;对所述第三归一化特征进行PCA白化,得到目标图像特征。这样,通过对局部聚合图像特征进行归一化,可以消除局部聚合图像特征中特征值大小对目标图像特征的影响,且通过对归一化后的局部聚合图像特征进行PCA白化,可消除局部聚合图像特征中特征值之间的相关性对目标图像特征的影响,因此可以提升目标图像特征的准确度。
示例性的,图像特征中特征值的大小是与图像的亮度以及图像中物体大小相关联的,因此归一化可以消除拍摄图像的图像亮度和拍摄图像中的物体大小等因素对构建的目标图像特征的影响,可以提升目标图像特征的准确度,而PCA白化的目的在于消除区域图像聚合特征中特征值之间的相关性,可进一步提升目标图像特征的准确度,有利于提升利用目标图像特征检索对应的匹配图像的准确度。
示例性的,根据第一方面或者以上第一方面的任意一种实现方式,所述将所述目标图像特征和所述拍摄图像上传至服务器的步骤之前,还包括:获取所述拍摄图像对应的图像场景分类标记;所述将所述目标图像特征和所述拍摄图像上传至服务器的步骤,包括:将所述图像场景分类标记、所述目标图像特征和所述拍摄图像上传至服务器,所述服务器用于根据所述目标图像特征和所述图像场景分类标记检索对应的匹配图像,并根据所述匹配图像和所述拍摄图像进行三维重建,生成待重建物体对应的目标三维模型。这样,客户端可将目标图像特征、图像场景分类标记和拍摄图像三者共同上传至服务器,服务器可以图像场景分类标记先筛选具备相同场景标记的服务器图像,再利用目标图像特征在这些服务器图像中检索对应的匹配图像,可以提升服务器检索匹配图像的效率,减少服务器检索匹配图像的消耗时间,服务器可以更快的向客户端反馈目标三维模型,对于客户端来讲,客户端可以更快地得到目标三维模型,因此提升了本申请中三维重建的效率。
示例性的,通过所述全局图像特征进行全连接,对所述全局图像特征进行多分类,得到所述图像场景分类标记。
第二方面,本申请提供了一种三维重建方法,应用于服务器,该方法包括:接收客户端发送的拍摄图像和所述拍摄图像对应的目标图像特征,依据所述目标图像特征,检索所述拍摄图像对应的匹配图像;根据所述拍摄图像和所述匹配图像进行三维重建,生成待重建物体对应的目标三维模型;将所述目标三维模型反馈至所述客户端。这样用户在客户端提供单张拍摄图像后,客户端即可自动提取拍摄图像的目标图像特征,将该拍摄图像和目标图像特征发送至服务器,服务器可依据该目标图像特征查找与拍摄图像对应的匹配图像,并利用拍摄图像和匹配图像进行三维重建得到目标三维模型,客户端即可接收服务器反馈的目标三维模型,在整个三维重建过程中,用户只需通过客户端提供单张拍摄图像即可完成整个三维重建过程,且本申请中三维重建的效果与利用多张不同角度的拍摄图像进行三维重建的效果一致,无需用户拍摄多张不同角度的拍摄图像来进行三维重建,简化了用户侧的三维重建过程,减少了用户在三维重建过程中的操作量、减少了用户在三维重建过程中的耗费时间、提升了三维重建的效率,提高了用户体验。
示例性的,所述目标图像特征为图像特征向量。
示例性的,所述服务器为云端服务器。
示例性的,所述目标三维模型为三维网格模型。
示例性的,所述目标三维模型为网络稀疏化后的三维网格模型。
示例性的,所述目标三维模型为八叉树,所述八叉树的叶子节点为网络稀疏化后的三维网格模型的网格。
根据第二方面,所述依据所述目标图像特征,检索所述拍摄图像对应的匹配图像,包括:获取预设图像数据集中各图像对应的预设目标图像特征;根据所述目标图像特征与各所述预设目标图像特征之间的距离,在所述预设图像数据集进行数据匹配,得到所述拍摄图像对应的匹配图像。这样,本申请中先预设好预设图像数据集中每张图像对应的预设目标图像特征,通过比对客户端发送的目标图像特征和各预设目标图像特征之间的距离,可在预设图像数据集中准确筛选出与拍摄图像相匹配的匹配图像。
根据第二方面,所述依据所述目标图像特征,检索所述拍摄图像对应的匹配图像的步骤之前,包括:接收所述客户端发送的拍摄图像对应的图像场景分类标记;所述依据所述目标图像特征,检索所述拍摄图像对应的匹配图像,包括:根据所述图像场景分类标记,在预设图像数据集中进行数据过滤,得到各过滤筛选图像;获取各所述过滤筛选图像对应的预设目标图像特征;根据所述目标图像特征与各所述预设目标图像特征之间的距离,在各所述过滤筛选图像中进行数据匹配,得到所述拍摄图像对应的匹配图像。这样,可以先利用图像场景分类标记在预设图像数据集中先过滤出具有相同场景标记的服务器图像,再通过目标图像特征在这些服务器图像中筛出匹配图像,可减少利用目标图像特征进行数据匹配时的计算量以及消耗时间,提升在预设图像数据集中查找拍摄图像对应的匹配图像的效率。
示例性的,所述图像场景分类标记为至少一个图像场景分类标签组成的多分类结果向量。
示例性的,所述目标图像特征为目标图像特征向量,所述预设目标图像特征为预设目标图像特征向量。
示例性的,将目标图像特征向量与各预设目标图像特征向量分别进行点乘,得到所述目标图像特征向量和各预设目标图像特征向量之间的匹配分数;选取预设数量的匹配分数更高的预设目标图像特征向量对应的服务器图像作为匹配图像。
根据第二方面,或者以上第二方面的任意一种实现方式,所述根据所述拍摄图像和所述匹配图像进行三维重建,生成所述待重建物体对应的目标三维模型,包括:根据所述拍摄图像和所述匹配图像进行三维重建,得到待重建物体对应的第一三维模型;对所述第一三维模型进行网格稀疏化,生成目标三维模型。这样,在依据拍摄图像和匹配图像进行三维重建得到第一三维模型之后,通过进行网格稀疏化去除第一三维模型中的空白网格,得到目标三维模型,使得目标三维模型中包含待重建物体的三维物体信息的网格数量占比更高,可以提升目标三维目标描述待重建物体的准确度,且降低目标三维模型的大小,因此服务器可以将目标三维模型更高效地传输给客户端,降低服务器与客户端之间传输三维模型时的通信数据量,提升服务器与客户端之间传输三维模型时的通信效率,从而提升三维重建的效率。
根据第二方面,或者以上第二方面的任意一种实现方式,所述对所述第一三维模型进行网格稀疏化,生成目标三维模型,包括:对所述第一三维模型进行网格稀疏化,得到第二三维模型;通过将所述第二三维模型中的网格作为叶子节点,构建对应的八叉树;将所述八叉树作为目标三维模型。这样,在对第一三维模型进行网格稀疏化得到第二三维模型之后,再将第二三维模型转化为对应的八叉树,从而实现了将作为三维网格模型的三维模型简化为结构更简单的八叉树,而使用八叉树稀疏表示三维网格模型,在客户端利用八叉树进行体渲染时可以提升体渲染的效率,且降低了目标三维模型的大小,因此服务器可以将目标三维模型更高效地传输给客户端,降低服务器与客户端之间传输三维模型时的通信数据量,提升服务器与客户端之间传输三维模型时的通信效率,从而提升三维重建的效率。
第三方面,本申请提供了一种三维重建装置,应用于客户端,包括:图像特征提取单元,用于提取拍摄图像中的目标图像特征;信息上传单元,用于将所述目标图像特征和所述拍摄图像上传至服务器,所述服务器用于根据所述目标图像特征检索对应的匹配图像,并根据所述匹配图像和所述拍摄图像进行三维重建,生成待重建物体对应的目标三维模型;三维模型接收单元,用于接收所述服务器反馈的目标三维模型。
根据第三方面,或者以上第三方面的任意一种实现方式,所述图像特征提取单元,还用于对拍摄图像进行特征提取,得到全局图像特征;在所述全局图像特征中提取多个局部图像特征;根据各所述局部图像特征,生成目标图像特征。
根据第三方面,或者以上第三方面的任意一种实现方式,所述图像特征提取单元,还用于对各所述局部图像特征分别进行全连接,得到各全连接特征;对各所述全连接特征进行聚合,生成目标图像特征。
根据第三方面,或者以上第三方面的任意一种实现方式,所述图像特征提取单元,还用于对各所述局部图像特征进行归一化,得到各第一归一化特征;分别对各所述第一归一化特征进行全连接,得到各全连接特征。
根据第三方面,或者以上第三方面的任意一种实现方式,所述图像特征提取单元,还用于对各所述全连接特征进行归一化,得到各第二归一化特征;对各所述第二归一化特征进行聚合,得到局部聚合图像特征;对所述局部聚合图像特征进行归一化,生成目标图像特征。
根据第三方面,或者以上第三方面的任意一种实现方式,所述图像特征提取单元,还用于对所述局部聚合图像特征进行归一化,得到第三归一化特征;对所述第三归一化特征进行PCA白化,得到目标图像特征。
根据第三方面,或者以上第三方面的任意一种实现方式,所述三维重建装置,还用于获取所述拍摄图像对应的图像场景分类标记;所述信息上传单元还用于:将所述图像场景分类标记、所述目标图像特征和所述拍摄图像上传至服务器,所述服务器用于根据所述目标图像特征和所述图像场景分类标记检索对应的匹配图像,并根据所述匹配图像和所述拍摄图像进行三维重建,生成待重建物体对应的目标三维模型。
第四方面,本申请提供了一种三维重建装置,应用于服务器,包括:图像检索单元,用于接收客户端发送的拍摄图像和所述拍摄图像对应的目标图像特征,依据所述目标图像特征,检索所述拍摄图像对应的匹配图像;三维重建单元,用于根据所述拍摄图像和所述匹配图像进行三维重建,生成待重建物体对应的目标三维模型;发送单元,用于将所述目标三维模型反馈至所述客户端。
根据第四方面,或者以上第四方面的任意一种实现方式,所述图像检索单元,还用于获取预设图像数据集中各图像对应的预设目标图像特征;根据所述目标图像特征与各所述预设目标图像特征之间的距离,在所述预设图像数据集进行数据匹配,得到所述拍摄图像对应的匹配图像。
根据第四方面,或者以上第四方面的任意一种实现方式,所述三维重建装置,还用于接收所述客户端发送的拍摄图像对应的图像场景分类标记;所述图像检索单元,还用于根据所述图像场景分类标记,在预设图像数据集中进行数据过滤,得到各过滤筛选图像;获取各所述过滤筛选图像对应的预设目标图像特征;根据所述目标图像特征与各所述预设目标图像特征之间的距离,在各所述过滤筛选图像中进行数据匹配,得到所述拍摄图像对应的匹配图像。
根据第四方面,或者以上第四方面的任意一种实现方式,所述三维重建单元,还用于根据所述拍摄图像和所述匹配图像进行三维重建,得到待重建物体对应的第一三维模型;对所述第一三维模型进行网格稀疏化,生成目标三维模型。
根据第四方面,或者以上第四方面的任意一种实现方式,所述三维重建单元,还用于对所述第一三维模型进行网格稀疏化,得到第二三维模型;通过将所述第二三维模型中的网格作为叶子节点,构建对应的八叉树;将所述八叉树作为目标三维模型。
第五方面,本申请提供了一种三维重建系统,包括:
客户端,用于提取拍摄图像中的目标图像特征;将所述目标图像特征和所述拍摄图像上传至服务器,所述服务器用于根据所述目标图像特征检索对应的匹配图像,并根据所述匹配图像和所述拍摄图像进行三维重建,生成待重建物体对应的目标三维模型;接收所述服务器反馈的目标三维模型;
服务器,用于接收客户端发送的拍摄图像和所述拍摄图像对应的目标图像特征,依据所述目标图像特征,检索所述拍摄图像对应的匹配图像;根据所述拍摄图像和所述匹配图像进行三维重建,生成待重建物体对应的目标三维模型;将所述目标三维模型反馈至所述客户端。
第五方面以及第五方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应,以及分别与第二方面以及第二方面的任意一种实现方式相对应。第五方面以及第五方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,以及参见上述第二方面以及第二方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第六方面,本申请提供了一种电子设备,应用于客户端,包括:一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述电子设备执行时,使得所述电子设备执行以下步骤:
提取拍摄图像中的目标图像特征;
将所述目标图像特征和所述拍摄图像上传至服务器,所述服务器用于根据所述目标图像特征检索对应的匹配图像,并根据所述匹配图像和所述拍摄图像进行三维重建,生成待重建物体对应的目标三维模型;
接收所述服务器反馈的目标三维模型。
根据第六方面,当所述计算机程序被所述一个或多个处理器执行时,使得所述电子设备执行以下步骤:
对拍摄图像进行特征提取,得到全局图像特征;
在所述全局图像特征中提取多个局部图像特征;
根据各所述局部图像特征,生成目标图像特征。
根据第六方面,当所述计算机程序被所述一个或多个处理器执行时,使得所述电子设备执行以下步骤:
对各所述局部图像特征分别进行全连接,得到各全连接特征;
对各所述全连接特征进行聚合,生成目标图像特征。
根据第六方面,当所述计算机程序被所述一个或多个处理器执行时,使得所述电子设备执行以下步骤:
对各所述局部图像特征进行归一化,得到各第一归一化特征;
分别对各所述第一归一化特征进行全连接,得到各全连接特征。
根据第六方面,当所述计算机程序被所述一个或多个处理器执行时,使得所述电子设备执行以下步骤:
对各所述全连接特征进行归一化,得到各第二归一化特征;
对各所述第二归一化特征进行聚合,得到局部聚合图像特征;
对所述局部聚合图像特征进行归一化,生成目标图像特征。
根据第六方面,当所述计算机程序被所述一个或多个处理器执行时,使得所述电子设备执行以下步骤:
对所述局部聚合图像特征进行归一化,得到第三归一化特征;
对所述第三归一化特征进行PCA白化,得到目标图像特征。
根据第六方面,当所述计算机程序被所述一个或多个处理器执行时,使得所述电子设备执行以下步骤:
获取所述拍摄图像对应的图像场景分类标记;
将所述图像场景分类标记、所述目标图像特征和所述拍摄图像上传至服务器,所述服务器用于根据所述目标图像特征和所述图像场景分类标记检索对应的匹配图像,并根据所述匹配图像和所述拍摄图像进行三维重建,生成待重建物体对应的目标三维模型。
第六方面以及第六方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第六方面以及第六方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第七方面,本申请提供了一种电子设备,应用于服务器,包括:一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述电子设备执行时,使得所述电子设备执行以下步骤:
接收客户端发送的拍摄图像和所述拍摄图像对应的目标图像特征,依据所述目标图像特征,检索所述拍摄图像对应的匹配图像;
根据所述拍摄图像和所述匹配图像进行三维重建,生成待重建物体对应的目标三维模型;
将所述目标三维模型反馈至所述客户端。
根据第七方面,当所述计算机程序被所述一个或多个处理器执行时,使得所述电子设备执行以下步骤:
获取预设图像数据集中各图像对应的预设目标图像特征;
根据所述目标图像特征与各所述预设目标图像特征之间的距离,在所述预设图像数据集进行数据匹配,得到所述拍摄图像对应的匹配图像。
根据第七方面,当所述计算机程序被所述一个或多个处理器执行时,使得所述电子设备执行以下步骤:
接收所述客户端发送的拍摄图像对应的图像场景分类标记;
根据所述图像场景分类标记,在预设图像数据集中进行数据过滤,得到各过滤筛选图像;
获取各所述过滤筛选图像对应的预设目标图像特征;
根据所述目标图像特征与各所述预设目标图像特征之间的距离,在各所述过滤筛选图像中进行数据匹配,得到所述拍摄图像对应的匹配图像。
根据第七方面,当所述计算机程序被所述一个或多个处理器执行时,使得所述电子设备执行以下步骤:
根据所述拍摄图像和所述匹配图像进行三维重建,得到待重建物体对应的第一三维模型;
对所述第一三维模型进行网格稀疏化,生成目标三维模型。
根据第七方面,当所述计算机程序被所述一个或多个处理器执行时,使得所述电子设备执行以下步骤:
对所述第一三维模型进行网格稀疏化,得到第二三维模型;
通过将所述第二三维模型中的网格作为叶子节点,构建对应的八叉树;
将所述八叉树作为目标三维模型。
第七方面以及第七方面的任意一种实现方式分别与第二方面以及第二方面的任意一种实现方式相对应。第七方面以及第七方面的任意一种实现方式所对应的技术效果可参见上述第二方面以及第二方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第八方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储了计算机程序,当所述计算机程序被处理器执行时,使得处理器执行如上述第一方面或第一方面的可能的实现方式中任一项所述的三维重建方法,或者使得处理器执行如上述第二方面或第二方面的可能的实现方式中任一项所述的三维重建方法。
第八方面以及第八方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应,或者分别与第二方面以及第二方面的任意一种实现方式相对应。第八方面以及第八方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,或者可参见上述第二方面以及第二方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第九方面,本申请实施例提供了一种计算机程序,该计算机程序包括用于执行第一方面以及第一方面的任意可能的实现方式中的方法的指令,或者用于执行第二方面以及第二方面的任意可能的实现方式中的方法的指令。
第九方面以及第九方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应,或者分别与第二方面以及第二方面的任意一种实现方式相对应。第九方面以及第九方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,或者可参见上述第二方面以及第二方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第十方面,本申请实施例提供了一种芯片,该芯片包括处理电路、收发管脚。其中,该收发管脚、和该处理电路通过内部连接通路互相通信,该处理电路执行第七方面或第七方面的任一种可能的实现方式中的方法,以控制接收管脚接收信号,以控制发送管脚发送信号。示例性的,芯片为电子设备的芯片,电子设备可以为手机。
第十方面以及第十方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应,或者分别与第二方面以及第二方面的任意一种实现方式相对应。第十方面以及第十方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,或者可参见上述第二方面以及第二方面的任意一种实现方式所对应的技术效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种人工智能主体框架示意图;
图2为本申请实施例提供的一种应用环境示意图;
图3为本申请实施例提供的一种卷积神经网络结构示意图;
图4为本申请实施例提供的另一种卷积神经网络结构示意图;
图5为本申请实施例中三维重建方法一个应用场景的示意图;
图6为本申请实施例中三维重建方法另一个应用场景的示意图;
图7为本申请实施例三维重建方法中客户端和服务器的交互流程示意图;
图8为本申请实施例中三维重建方法应用于客户端的一个实施例示意图;
图9为本申请实施例三维重建方法中对拍摄图像进行特征提取得到目标图像特征的流程示意图;
图10为申请实施例三维重建方法中获取拍摄图像进行特征的图像场景分类标记的流程示意图;
图11为本申请实施例中三维重建方法应用于服务器的一个实施例示意图;
图12为本申请实施例中进行三维重建的一个实施例示意图;
图13为本申请实施例中对三维模型进行性能优化的一个实施例示意图;
图14为本申请实施例中三维重建装置应用于客户端的一个实施例示意图;
图15为本申请实施例中三维重建装置应用于服务器的一个实施例示意图;
图16为本申请实施例中三维重建装置的另一个实施例示意图;
图17为本申请实施例提供的一种芯片硬件结构图。
具体实施方式
本申请实施例提供了一种三维重建方法,用于物体的三维重建,可以提高客户端三维重建的效率。
为了便于理解,下面对本申请实施例涉及的部分技术术语进行简要介绍:
1、三维模型:三维模型是物体的多边形表示,通常用计算机或者其它视频设备进行显示。显示的物体可以是现实世界的实体,也可以是虚构的物体。任何物理自然界存在的东西都可以用三维模型表示。本申请实施例中,物体的三维模型用于指示物体的三维结构和尺寸信息。三维模型的数据存储形式有多种,例如以三维点云、网格或体元等形式表示,具体此处不做限定。
2、目标图像特征:目标图像特征是拍摄图像的低维空间表示。目标图像特征可以为特征向量、特征矩阵或者特征图等。
3、图像场景分类标记:图像场景分类标记为对拍摄图像进行分类得到的分类结果,该分类结果可以为多分类结果。本申请实施例中,所述图像场景分类标记可以为多个场景分类标签组成的多分类结果。
4、全局图像特征:全局图像特征是将整个拍摄图像通过特征提取网络得到的图像特征,所述特征提取网络可以为VGG16或者VGG19等。
5、PCA(principal components analysis,主成分分析)白化:PCA白化是一种线性变换,用于对源信号进行去相关,目的在于降低输入数据的冗余性,使得经过PCA白化处理的输入数据具有如下性质:1、消除特征之间的相关性;2、所有特征的方差都为1。
6、L2归一化:L2归一化为L2范数归一化,L2范数归一化的过程为将向量中的每个元素除以向量的L2范数。
7、八叉树:八叉树是一种用于描述三维空间的树状数据结构,八叉树的每个节点表示一个正方体的体积元素,每个节点有八个子节点,将八个子节点所表示的体积元素加在一起就等于父节点的体积。
下面结合附图,对本申请的实施例进行描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请实施例中出现的术语“和/或”,可以是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。另外,本申请中字符“/”,一般表示前后关联对象是一种“或”的关系。本申请中,“至少一个”是指一个或多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
本申请说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。
图1示出一种人工智能主体框架示意图,该主体框架描述了人工智能系统总体工作流程,适用于通用的人工智能领域需求。
下面从“智能信息链”(水平轴)和“IT价值链”(垂直轴)两个维度对上述人工智能主题框架进行阐述。
“智能信息链”反映从数据的获取到处理的一列过程。举例来说,可以是智能信息感知、智能信息表示与形成、智能推理、智能决策、智能执行与输出的一般过程。在这个过程中,数据经历了“数据—信息—知识—智慧”的凝练过程。
“IT价值链”从人智能的底层基础设施、信息(提供和处理技术实现)到系统的产业生态过程,反映人工智能为信息技术产业带来的价值。
(1)基础设施:
基础设施为人工智能系统提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。通过传感器与外部沟通;计算能力由智能芯片(CPU、NPU、GPU、ASIC、FPGA等硬件加速芯片)提供;基础平台包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。举例来说,传感器和外部沟通获取数据,这些数据提供给基础平台提供的分布式计算系统中的智能芯片进行计算。
(2)数据
基础设施的上一层的数据用于表示人工智能领域的数据来源。数据涉及到图形、图像、语音、文本,还涉及到传统设备的物联网数据,包括已有系统的业务数据以及力、位移、液位、温度、湿度等感知数据。
(3)数据处理
数据处理通常包括数据训练,机器学习,深度学习,搜索,推理,决策等方式。
其中,机器学习和深度学习可以对数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等。
推理是指在计算机或智能系统中,模拟人类的智能推理方式,依据推理控制策略,利用形式化的信息进行机器思维和求解问题的过程,典型的功能是搜索与匹配。
决策是指智能信息经过推理后进行决策的过程,通常提供分类、排序、预测等功能。
(4)通用能力
对数据经过上面提到的数据处理后,进一步基于数据处理的结果可以形成一些通用的能力,比如可以是算法或者一个通用系统,例如,翻译,文本的分析,计算机视觉的处理,语音识别,图像的识别等等。
(5)智能产品及行业应用
智能产品及行业应用指人工智能系统在各领域的产品和应用,是对人工智能整体解决方案的封装,将智能信息决策产品化、实现落地应用,其应用领域主要包括:智能制造、智能交通、智能家居、智能医疗、智能安防、自动驾驶,平安城市,智能终端等。
本申请描述的利用单张拍摄图像实现物体的三维重建的方法具有广阔的应用空间,例如,在基站站点勘测中,通过三维重建构建数字化站点,进而可以实现站点自动设计、在线指导设备安装以及无线信号仿真等。在终端增强现实(AR)或虚拟现实(VR)技术中,三维内容创建的难点就在与三维建模困难。
参见附图2,本申请实施例提供了一种系统架构200。数据采集设备260用于采集图像并存入数据库230,训练设备220基于数据库230中维护的图像数据生成目标模型/规则201。下面将更详细地描述训练设备220如何基于图像数据得到目标模型/规则201,目标模型/规则201能够用于图像识别、三维重建和虚拟现实等应用场景。
该目标模型/规则201可以是基于深度神经网络得到的,下面对深度神经网络进行介绍。
深度神经网络中的每一层的工作可以用数学表达式来描
述:从物理层面深度神经网络中的每一层的工作可以理解为通过五种对输入空间(输入向
量的集合)的操作,完成输入空间到输出空间的变换(即矩阵的行空间到列空间),这五种操
作包括:1、升维/降维;2、放大/缩小;3、旋转;4、平移;5、“弯曲”。其中1、2、3的操作由完成,4的操作由+b完成,5的操作则由a()来实现。这里之所以用“空间”二字来表述
是因为被分类的对象并不是单个事物,而是一类事物,空间是指这类事物所有个体的集合。
其中,W是权重向量,该向量中的每一个值表示该层神经网络中的一个神经元的权重值。该
向量W决定着上文所述的输入空间到输出空间的空间变换,即每一层的权重W控制着如何变
换空间。训练深度神经网络的目的,也就是最终得到训练好的神经网络的所有层的权重矩
阵(由很多层的向量W形成的权重矩阵)。因此,神经网络的训练过程本质上就是学习控制空
间变换的方式,更具体的就是学习权重矩阵。
因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到神经网络能够预测出真正想要的目标值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objectivefunction),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
训练设备220得到的目标模型/规则可以应用不同的系统或设备中。在附图2中,执行设备210配置有I/O接口212,与外部设备进行数据交互,“用户”可以通过客户设备240向I/O接口212输入数据。
执行设备210可以调用数据存储系统250中的数据、代码等,也可以将数据、指令等存入数据存储系统250中。
计算模块211使用目标模型/规则201对输入的数据进行处理,以三维建模为例,计算模块211可以对输入的图像或图像序列进行解析,恢复目标的深度信息。
关联功能模块213可以对计算模块211中的图像数据进行预处理。
关联功能模块214可以对计算模块211中的图像数据进行预处理。
最后,I/O接口212将处理结果返回给客户设备240,提供给用户。
更深层地,训练设备220可以针对不同的目标,基于不同的数据生成相应的目标模型/规则201,以给用户提供更佳的结果。
在附图2中所示情况下,用户可以手动指定输入执行设备210中的数据,例如,在I/O接口212提供的界面中操作。另一种情况下,客户设备240可以自动地向I/O接口212输入数据并获得结果,如果客户设备240自动输入数据需要获得用户的授权,用户可以在客户设备240中设置相应权限。用户可以在客户设备240查看执行设备210输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备240也可以作为数据采集端将采集到训练数据存入数据库230。
值得注意的,附图2仅是本申请实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在附图2中,数据存储系统250相对执行设备210是外部存储器,在其它情况下,也可以将数据存储系统250置于执行设备210中。再例如:在附图2中,训练设备220、执行设备210以及客户设备240为各自独立的设备,在其他情况下,训练设备220和执行设备210可以为同一物理设备,该物理设备可以实现该训练设备220和执行设备210的所有功能;可选的,执行设备210以及客户设备240也可以为同一物理设备,该物理设备可以实现该执行设备210以及客户设备240的所有功能;可选的,训练设备220、执行设备210以及客户设备240均同一物理设备,该物理设备训练设备220、执行设备210以及客户设备240的所有功能,对于本申请实施例具体场景架构,此处不做限定。
本申请实施例中用于三维重建中的深度神经网络,例如,可以是卷积神经网络(convolutional neural network,CNN),CNN是一种带有卷积结构的深度神经网络,是一种深度学习(deep learning)架构,深度学习架构是指通过机器学习的算法,在不同的抽象层级上进行多个层次的学习。作为一种深度学习架构,CNN是一种前馈(feed-forward)人工神经网络,以图像处理为例,该前馈人工神经网络中的各个神经元对输入其中的图像中的重叠区域作出响应。当然,还可以是其他类型,本申请不限制深度神经网络的类型。
如图3所示,卷积神经网络(CNN)100可以包括输入层110,卷积层/池化层120,其中池化层为可选的,以及神经网络层130。
卷积层/池化层120:
卷积层:
如图3所示卷积层/池化层120可以包括如示例121-126层,在一种实现中,121层为卷积层,122层为池化层,123层为卷积层,124层为池化层,125为卷积层,126为池化层;在另一种实现方式中,121、122为卷积层,123为池化层,124、125为卷积层,126为池化层。即卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。
以卷积层121为例,卷积层121可以包括很多个卷积算子,卷积算子也称为核,其在图像处理中的作用相当于一个从输入图像矩阵中提取特定信息的过滤器,卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义,在对图像进行卷积操作的过程中,权重矩阵通常在输入图像上沿着水平方向一个像素接着一个像素(或两个像素接着两个像素……这取决于步长stride的取值)的进行处理,从而完成从图像中提取特定特征的工作。
当卷积神经网络100有多个卷积层的时候,初始的卷积层(例如121)往往提取较多的一般特征,该一般特征也可以称之为低级别的特征;随着卷积神经网络100深度的加深,越往后的卷积层(例如126)提取到的特征越来越复杂,比如高级别的语义之类的特征,语义越高的特征越适用于待解决的问题。为方便描述网络结构,可以将多个卷积层称为一个块(block)。
池化层:
由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层,即如图3中120所示例的121-126各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。在图像处理过程中,池化层的唯一目的就是减少图像的空间大小。
神经网络层130:
在经过卷积层/池化层120的处理后,卷积神经网络100还不足以输出所需要的输出信息。因此,在神经网络层130中可以包括多层隐含层(如图3所示的131、132至13n)以及输出层140,该多层隐含层中所包含的参数可以根据具体的任务类型的相关训练数据进行预先训练得到,例如该任务类型可以包括图像识别,图像分类,图像超分辨率重建等等。
在神经网络层130中的多层隐含层之后,也就是整个卷积神经网络100的最后层为输出层140。
需要说明的是,如图3所示的卷积神经网络100仅作为一种卷积神经网络的示例,在具体的应用中,卷积神经网络还可以以其他网络模型的形式存在,例如,如图4所示的多个卷积层/池化层并行,将分别提取的特征均输入给全神经网络层130进行处理。
请参阅图5,为本申请实施例中三维重建方法一个应用场景的示意图;
如图5所示,在该应用场景中,客户端在接收到输入待重建物体的单张拍摄图像之后,对拍摄图像进行目标图像特征提取,得到拍摄图像对应的目标图像特征;客户端将目标图像特征和拍摄图像共同上传至服务器;服务器依据目标图像特征,检索拍摄图像对应的至少一张匹配图像;服务器根据各匹配图像和拍摄图像进行三维重建,得到待重建物体对应的目标三维模型;客户端接收服务器反馈的目标三维模型,并进行保存和/或显示。
现有技术中,在拍摄得到单张拍摄图像后,通常以预先构建好的模型库为基础,对用户输入的单张场景图像进行图像分析获取三维模型的局部图像,在预先构建模型数据库中进行模型检索确定匹配的模型,由此实现三维重建。其中,预设的模型数据库基于虚拟三维空间的不同位置和角度,对三维模型进行投影映射,用一组多角度的投影图像代替三维模型本身,这样,就将模型检索中二维-三维检索问题转换成二维-二维相似性度量问题;当某一个三维模型在某一视角下的投影图像与待检索的局部图像比较接近,则认为投影图像对应的三维模型即为检索结果。
由于现有技术中直接检索单张拍摄图像对应的三维模型,该三维模型并不是直接利用拍摄图像本身进行三维重建得到,因此该三维模型并不能展示出单张拍摄图像对应的表面纹理,也即现有技术中利用单张拍摄图像进行三维重建的方法并不能重建物体的表面纹理,三维重建的精度不高。本申请供了一种三维重建方法,由于服务器是根据目标图像特征在服务器图像数据库中检索拍摄图像匹配的匹配图像,从而根据匹配图像和拍摄图像进行三维重建,可重建出待重建物体的表面纹理,因此提升了利用单张拍摄图像进行三维重建的精度。
请参阅图6,为本申请实施例中三维重建方法一个应用场景的示意图;如图6所示,在该应用场景中,客户端在接收到输入待重建物体的单张拍摄图像之后,对拍摄图像进行目标图像特征提取以及场景分类,得到拍摄图像对应的目标图像特征以及图像场景分类标记;客户端将目标图像特征、拍摄图像和图像场景分类标记共同上传至服务器;服务器先依据图像场景分类标记进行数据过滤,查找与拍摄图像具备相同图像场景分类标记的服务器图像,然后客户端依据目标图像特征和各服务器图像对应的预设目标图像特征之间的距离,在各匹配图像中筛选出对应的至少一张匹配图像;服务器根据各匹配图像和拍摄图像进行三维重建,得到待重建物体对应的目标三维模型;客户端接收服务器反馈的目标三维模型,并进行保存和/或显示。
本申请实施例利用单张拍摄图像进行三维重建的过程中,先依据图像场景分类标记进行数据过滤,然后再依据目标图像特征在数据过滤后的服务器图像中检索拍摄图像匹配的匹配图像,无需通过将索引图像与服务器中所有图像的预设目标图像特征进行比对,来检索匹配图像,因此提升了检索匹配图像的效率,降低了检索匹配图像的消耗时长,从而提升了三维重建的效率。
请参阅图7以及图8,图7为本申请实施例三维重建方法中客户端和服务器的交互流程示意图,图8为本申请实施例中三维重建方法应用于客户端的一个实施例示意图。
步骤A10,提取拍摄图像中的目标图像特征;
该拍摄图像为对待重建物体所在的目标场景进行拍摄得到的二维图像,待重建物体为三维重建的建模目标。
参照图9,图9为本申请实施例三维重建方法中对拍摄图像进行特征提取得到目标图像特征的流程示意图。
本申请实施例中先将拍摄图像img输入特征提取网络VGG16中进行特征提取,得到特征提取网络VGG16的输出为全局图像特征;将全局图像特征输入候选框预测网络RPN中进行候选框预测,得到至少一个候选框;通过各所述候选框对全局图像特征进行区域特征提取(ROIPool),在所述全局图像特征中提取对应的局部图像特征;对各所述局部图像特征进行L2归一化(L2Norm);将L2归一化后的各所述局部图像特征输入全连接层(FC)中进行全连接,得到各全连接特征;对各全连接特征进行求平均(mean)得到区域图像聚合特征;对区域图像聚合特征依次进行L2归一化和PCA白化(PCAWhiten),最终得到目标图像特征(feature)。
本申请实施例中还可以对拍摄图像进行场景分类,得到图像场景分类标记。所述图像场景分类标记可以由多个场景标签组成,该场景标签用于标识场景的类型,例如用于标识是白天还是黑夜场景、用于标识是无人还是有人场景或者用于标识是室内还是室外场景等。参照图10,图10为申请实施例三维重建方法中对拍摄图像进行场景分类得到图像场景分类标记的流程示意图。
本申请实施例中先将拍摄图像img输入特征提取网络VGG16中进行特征提取,得到特征提取网络VGG16的输出为全局图像特征;将全局图像特征输入全连接层(FC)中进行全连接,得到图像场景分类标记(classes)。
步骤A20,将所述目标图像特征和所述拍摄图像上传至服务器,所述服务器用于根据所述目标图像特征检索对应的匹配图像,并根据所述匹配图像和所述拍摄图像进行三维重建,生成待重建物体对应的目标三维模型;
步骤A30,接收所述服务器反馈的目标三维模型。
客户端可以将目标图像特征和拍摄图像共同上传至服务器,服务器可以依据目标图像特征检索对应的匹配图像,再根据匹配图像和拍摄图像进行三维建模得到目标三维模型;客户端接收服务器反馈的目标三维模型,可以选择保存或者显示该目标三维模型。
示例性的,客户端还可以将图像场景分类标记、目标图像特征和拍摄图像三者共同上传至服务器,服务器可以依据目标图像特征和图像场景分类标记共同检索对应的匹配图像,再根据匹配图像和拍摄图像进行三维建模得到目标三维模型;客户端接收服务器反馈的目标三维模型,可以选择保存或者显示该目标三维模型。
参照图7以及图11,图11为本申请实施例中三维重建方法应用于服务器的一个实施例示意图。
步骤B10,接收客户端发送的拍摄图像和所述拍摄图像对应的目标图像特征,依据所述目标图像特征,检索所述拍摄图像对应的匹配图像;
本申请实施例中,在服务器会预先构建预设图像数据集,该预设图像数据集可以包括多张服务器图像和服务器图像对应的预设目标图像特征,该预设图像数据集可以包括多张服务器图像和服务器图像对应的预设目标图像特征以及图像场景分类标记。
该预设图像数据集存储于服务器图像数据库,服务器图像数据库可以具备数据量大以及多样性强等特点,例如可以设置图像数量大于1000万,图像场景分类标记大于500等。
示例性的,可以先依据图像场景分类标记,在预设图像数据集中进行数据过滤,查找与拍摄图像具备相同图像场景分类标记的服务器图像;计算目标图像特征和各具备相同图像场景分类标记的服务器图像对应的预设目标图像特征之间的内积;将各内积按从大到小进行排序,选取内积大小排序topN的服务器图像作为匹配图像,N的取值可以自行设定。通过进行数据过滤和数据匹配两阶段的图像检索过程,可提升在预设图像数据集中检索匹配图像的效率。
步骤B20,根据所述拍摄图像和所述匹配图像进行三维重建,生成待重建物体对应的目标三维模型;
三维重建的算法可以为基于NeRF的三维重建算法,也可以为基于COLMAP的三维重建算法。
根据所述拍摄图像和所述匹配图像进行三维重建,得到待重建物体对应的第一三维模型;对所述第一三维模型进行性能优化,得到目标三维模型。
示例性的,以基于NeRF的三维重建算法为例,参照图12,图12为本申请实施例中进行三维重建的一个实施例示意图,三维重建过程如下:
首先利用位姿估计算法COLMAP计算拍摄图像的位姿,其中,位姿包括拍摄位置和拍摄角度;获取初始化的三维网格和初始化的MLP(Multilayer Perceptron,多层感知机)网络,其中,三维网格的每个顶点存储透明度和RGB颜色。透明度可以用0~1的数值表示,RGB颜色可以使用2阶球谐系数表示。2阶球谐使用9个系数表示,R、G、B各用一个2阶球谐表示,即共27个系数。这27个系数和对应的球谐基(与视角相关)加权求和可以获得RGB颜色;MLP网络用于将三维网格的顶点坐标(x,y,z)转化为对应的RGB颜色。
基于上述初始化的三维网格遍历给定图像,通过初始化的MLP网络遍历上述初始化的三维网格的网格顶点的顶点坐标(可认为是以给定图像对应位姿形成射线去“观察”这个三维网格),输出对应的透明度和球谐系数;再根据MLP网络输出的透明度以及球谐系数,使用体渲染技术重建出该位姿的图像,并最小化重建的图像与给定图片的差异(损失函数),来更新MLP网络,直至损失函数收敛,将MLP网络对应的三维网格作为进行三维重建得到的三维模型。其中,给定图像可以为拍摄图像或者匹配图像。
示例性的,本申请实施例中利用体渲染技术进行三维重建过程的具体公式如下:
因此,MLP网络对应的损失函数如下:
基于上述损失函数,迭代更新MLP网络直至损失函数收敛,输出对应的三维网格作为三维模型。
示例性的,为了降低三维模型的复杂度,便于客户端进行下载、保存以及显示。本申请实施例中还可以通过对第一三维模型进行性能优化,将第一三维模型以八叉树进行表示。
参照图13,图13为本申请实施例中对三维模型进行性能优化的一个实施例示意图,首先用MLP网络均匀遍历第一三维网格(稠密三维模型),输出对应的透明度和球谐系数,然后进行网格稀疏化,去除第一三维网格中三维空白网格顶点,得到第二三维网格;将第二三维网格作为八叉树的叶节点,构建一个八叉树。其中,八叉树每个节点有8个子节点,代表了将三维空间分割成8个卦限,由于利用八叉树进行检索体素的效率更高,且八叉树是基于网格稀疏化之后的第二三维模型进行构建的,因此有利于客户端对目标三维模型进行下载、保存和显示。
示例性的,网格稀疏化的过程可以为使用体渲染技术统计第一三维网格中每个网
格的最大权重,然后在第一三维网格中删去低于预设权重阈值α的网格,
得到第二三维网格,其中,为透明度,为采样间隔,作为一种示例,α可以取值为0.1。
步骤B30,将所述目标三维模型反馈至所述客户端。
将目标三维模型反馈至客户端后,用户对该目标三维模型进行旋转或者放大等操作,并可以保存目标三维任意视角作为图片。
上面介绍了本申请提供的三维重建方法,下面对实现该三维重建方法的三维重建装置进行介绍。
请参阅图14,为本申请实施例中三维重建装置的一个实施例示意图,本申请实施例提供的三维重建装置,应用于客户端,包括:
图像特征提取单元10A,用于获取待重建物体的拍摄图像,提取所述拍摄图像中的图像特征信息作为目标图像特征;
信息上传单元20A,用于将所述目标图像特征和所述拍摄图像上传至服务器,所述服务器用于依据所述目标图像特征查找得到的匹配图像和所述拍摄图像进行三维重建,生成所述待重建物体对应的目标三维模型;
三维模型接收单元30A,用于接收所述服务器反馈的目标三维模型。
可选的,所述图像特征提取单元10A还用于:对拍摄图像进行特征提取,得到全局图像特征;在所述全局图像特征中提取多个局部图像特征;根据各所述局部图像特征,生成目标图像特征。
可选的,所述图像特征提取单元10A还用于:对各所述局部图像特征分别进行全连接,得到各全连接特征;对各所述全连接特征进行聚合,生成目标图像特征。
可选的,所述图像特征提取单元10A还用于:对各所述局部图像特征进行归一化,得到各第一归一化特征;分别对各所述第一归一化特征进行全连接,得到各全连接特征。
可选的,所述图像特征提取单元10A还用于:对各所述全连接特征进行归一化,得到各第二归一化特征;对各所述第二归一化特征进行聚合,得到局部聚合图像特征;对所述局部聚合图像特征进行归一化,生成目标图像特征。
可选的,所述图像特征提取单元10A还用于:对所述局部聚合图像特征进行归一化,得到第三归一化特征;对所述第三归一化特征进行PCA白化,得到目标图像特征。
可选的,所述三维重建装置还用于:获取所述拍摄图像对应的图像场景分类标记;所述信息上传单元20A还用于:将所述图像场景分类标记、所述目标图像特征和所述拍摄图像上传至服务器,所述服务器用于根据所述目标图像特征和所述图像场景分类标记检索对应的匹配图像,并根据所述匹配图像和所述拍摄图像进行三维重建,生成待重建物体对应的目标三维模型。
上述单元可以用于执行上述任一实施例中所介绍的方法,具体实现过程和技术效果可参考图5至图13对应的实施例,具体此处不再赘述。
请参阅图15,为本申请实施例中三维重建装置的一个实施例示意图,本申请实施例提供的三维重建装置,应用于服务器,包括:
图像检索单元10B,用于接收客户端发送的拍摄图像和所述拍摄图像对应的目标图像特征,依据所述目标图像特征,检索所述拍摄图像对应的匹配图像;
三维重建单元20B,用于根据所述拍摄图像和所述匹配图像进行三维重建,生成待重建物体对应的目标三维模型;
发送单元30B,用于将所述目标三维模型反馈至所述客户端。
可选的,所述图像检索单元10B还用于:获取预设图像数据集中各图像对应的预设目标图像特征;根据所述目标图像特征与各所述预设目标图像特征之间的距离,在所述预设图像数据集进行数据匹配,得到所述拍摄图像对应的匹配图像。
可选的,所述三维重建装置还用于:接收所述客户端发送的拍摄图像对应的图像场景分类标记;所述图像检索单元10B还用于:根据所述图像场景分类标记,在预设图像数据集中进行数据过滤,得到各过滤筛选图像;获取各所述过滤筛选图像对应的预设目标图像特征;根据所述目标图像特征与各所述预设目标图像特征之间的距离,在各所述过滤筛选图像中进行数据匹配,得到所述拍摄图像对应的匹配图像。
可选的,所述三维重建单元20B还用于:根据所述拍摄图像和所述匹配图像进行三维重建,得到待重建物体对应的第一三维模型;对所述第一三维模型进行网格稀疏化,生成目标三维模型。
可选的,所述三维重建单元20B还用于:对所述第一三维模型进行网格稀疏化,得到第二三维模型;通过将所述第二三维模型中的网格作为叶子节点,构建对应的八叉树;将所述八叉树作为目标三维模型。
上述单元可以用于执行上述任一实施例中所介绍的方法,具体实现过程和技术效果可参考图5至图13对应的实施例,具体此处不再赘述。
本实施例提供的三维重建装置,可以为服务器或者终端等电子设备,本申请实施例中对其具体设备形态不做限定。
该三维重建装置1200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器1201和存储器1202,该存储器1202中存储有程序或数据。
其中,存储器1202可以是易失性存储或非易失性存储。可选地,处理器1201是一个或多个中央处理器(CPU,Central Processing Unit,该CPU可以是单核CPU,也可以是多核CPU。处理器1201可以与存储器1202通信,在三维重建装置1200上执行存储器1202中的一系列指令。
该三维重建装置1200还包括一个或一个以上有线或无线网络接口1203,例如以太网接口。
可选地,尽管图16中未示出,三维重建装置1200还可以包括一个或一个以上电源;一个或一个以上输入输出接口,输入输出接口可以用于连接显示器、鼠标、键盘、触摸屏设备或传感设备等,输入输出接口为可选部件,可以存在也可以不存在,此处不做限定。
本实施例中三维重建装置1200中的处理器1201所执行的流程可以参考前述方法实施例中描述的方法流程,此处不加赘述。
本申请实施例还提供一种三维重建系统,该三维重建系统包括上述客户端和服务器,本实施例中三维重建系统中的客户端和服务器所执行的流程可以参考前述方法实施例中描述的方法流程,此处不加赘述。
请参阅图17,为本申请实施例提供的一种芯片硬件结构图。
本申请实施例提供了一种芯片系统,可以用于实现该三维重建方法,具体地,图3和图4所示的基于卷积神经网络的算法可以在图17所示的NPU芯片中实现。
神经网络处理器NPU 50作为协处理器挂载到主CPU(Host CPU)上,由Host CPU分配任务。NPU的核心部分为运算电路503,通过控制器504控制运算电路503提取存储器中的矩阵数据并进行乘法运算。
在一些实现中,运算电路503内部包括多个处理单元(process engine,PE)。在一些实现中,运算电路503是二维脉动阵列。运算电路503还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路503是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器502中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器501中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器508accumulator中。
统一存储器506用于存放输入数据以及输出数据。权重数据直接通过存储单元访问控制器505(direct memory access controller,DMAC)被搬运到权重存储器502中。输入数据也通过DMAC被搬运到统一存储器506中。
BIU为Bus Interface Unit即,总线接口单元510,用于AXI总线与DMAC和取指存储器509Instruction Fetch Buffer的交互。
总线接口单元510(bus interface unit,BIU),用于取指存储器509从外部存储器获取指令,还用于存储单元访问控制器505从外部存储器获取输入矩阵A或者权重矩阵B的原数据。
DMAC主要用于将外部存储器DDR中的输入数据搬运到统一存储器506或将权重数据搬运到权重存储器502中或将输入数据搬运到输入存储器501中。
向量计算单元507可以包括多个运算处理单元,在需要的情况下,对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。主要用于神经网络中非卷积/FC层网络计算,如Pooling(池化),Batch Normalization(批归一化),LocalResponse Normalization(局部响应归一化)等。
在一些实现中,向量计算单元能507将经处理的输出的向量存储到统一缓存器506。例如,向量计算单元507可以将非线性函数应用到运算电路503的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元507生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路503的激活输入,例如用于在神经网络中的后续层中的使用。
控制器504连接的取指存储器(instruction fetch buffer)509,用于存储控制器504使用的指令;
统一存储器506,输入存储器501,权重存储器502以及取指存储器509均为On-Chip存储器。外部存储器私有于该NPU硬件架构。
其中,图3和图4所示的卷积神经网络中各层的运算可以由矩阵计算单元212或向量计算单元507执行。
在本申请的各实施例中,为了方面理解,进行了多种举例说明。然而,这些例子仅仅是一些举例,并不意味着是实现本申请的最佳实现方式。
上述实施例,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现,当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (17)
1.一种三维重建方法,其特征在于,应用于客户端,包括:
提取拍摄图像中的目标图像特征;
将所述目标图像特征和所述拍摄图像上传至服务器,所述服务器用于根据所述目标图像特征检索对应的匹配图像,并根据所述匹配图像和所述拍摄图像进行三维重建,生成待重建物体对应的目标三维模型;
接收所述服务器反馈的目标三维模型。
2.如权利要求1所述三维重建方法,其特征在于,所述提取拍摄图像中的目标图像特征,包括:
对拍摄图像进行特征提取,得到全局图像特征;
在所述全局图像特征中提取多个局部图像特征;
根据各所述局部图像特征,生成目标图像特征。
3.如权利要求2所述三维重建方法,其特征在于,所述根据各所述局部图像特征,生成目标图像特征,包括:
对各所述局部图像特征分别进行全连接,得到各全连接特征;
对各所述全连接特征进行聚合,生成目标图像特征。
4.如权利要求3所述三维重建方法,其特征在于,所述对各所述局部图像特征分别进行全连接,得到各全连接特征,包括:
对各所述局部图像特征进行归一化,得到各第一归一化特征;
分别对各所述第一归一化特征进行全连接,得到各全连接特征。
5.如权利要求3所述三维重建方法,其特征在于,所述对各所述全连接特征进行聚合,生成目标图像特征,包括:
对各所述全连接特征进行归一化,得到各第二归一化特征;
对各所述第二归一化特征进行聚合,得到局部聚合图像特征;
对所述局部聚合图像特征进行归一化,生成目标图像特征。
6.如权利要求5所述三维重建方法,其特征在于,所述对所述局部聚合图像特征进行归一化,生成目标图像特征,包括:
对所述局部聚合图像特征进行归一化,得到第三归一化特征;
对所述第三归一化特征进行PCA白化,得到目标图像特征。
7.如权利要求1至6中任一项所述三维重建方法,其特征在于,所述将所述目标图像特征和所述拍摄图像上传至服务器的步骤之前,还包括:
获取所述拍摄图像对应的图像场景分类标记;
所述将所述目标图像特征和所述拍摄图像上传至服务器的步骤,包括:
将所述图像场景分类标记、所述目标图像特征和所述拍摄图像上传至服务器,所述服务器用于根据所述目标图像特征和所述图像场景分类标记检索对应的匹配图像,并根据所述匹配图像和所述拍摄图像进行三维重建,生成待重建物体对应的目标三维模型。
8.一种三维重建方法,其特征在于,应用于服务器,包括:
接收客户端发送的拍摄图像和所述拍摄图像对应的目标图像特征,依据所述目标图像特征,检索所述拍摄图像对应的匹配图像;
根据所述拍摄图像和所述匹配图像进行三维重建,生成待重建物体对应的目标三维模型;
将所述目标三维模型反馈至所述客户端。
9.如权利要求8所述三维重建方法,其特征在于,所述依据所述目标图像特征,检索所述拍摄图像对应的匹配图像,包括:
获取预设图像数据集中各图像对应的预设目标图像特征;
根据所述目标图像特征与各所述预设目标图像特征之间的距离,在所述预设图像数据集进行数据匹配,得到所述拍摄图像对应的匹配图像。
10.如权利要求8所述三维重建方法,其特征在于,所述依据所述目标图像特征,检索所述拍摄图像对应的匹配图像的步骤之前,包括:
接收所述客户端发送的拍摄图像对应的图像场景分类标记;
所述依据所述目标图像特征,检索所述拍摄图像对应的匹配图像,包括:
根据所述图像场景分类标记,在预设图像数据集中进行数据过滤,得到各过滤筛选图像;
获取各所述过滤筛选图像对应的预设目标图像特征;
根据所述目标图像特征与各所述预设目标图像特征之间的距离,在各所述过滤筛选图像中进行数据匹配,得到所述拍摄图像对应的匹配图像。
11.如权利要求8所述三维重建方法,其特征在于,所述根据所述拍摄图像和所述匹配图像进行三维重建,生成所述待重建物体对应的目标三维模型,包括:
根据所述拍摄图像和所述匹配图像进行三维重建,得到待重建物体对应的第一三维模型;
对所述第一三维模型进行网格稀疏化,生成目标三维模型。
12.如权利要求11所述三维重建方法,其特征在于,所述对所述第一三维模型进行网格稀疏化,生成目标三维模型,包括:
对所述第一三维模型进行网格稀疏化,得到第二三维模型;
通过将所述第二三维模型中的网格作为叶子节点,构建对应的八叉树;
将所述八叉树作为目标三维模型。
13.一种三维重建装置,其特征在于,应用于客户端,包括:
图像特征提取单元,用于提取拍摄图像中的目标图像特征;
信息上传单元,用于将所述目标图像特征和所述拍摄图像上传至服务器,所述服务器用于根据所述目标图像特征检索对应的匹配图像,并根据所述匹配图像和所述拍摄图像进行三维重建,生成待重建物体对应的目标三维模型;
三维模型接收单元,用于接收所述服务器反馈的目标三维模型。
14.一种三维重建装置,其特征在于,应用于服务器,包括:
图像检索单元,用于接收客户端发送的拍摄图像和所述拍摄图像对应的目标图像特征,依据所述目标图像特征,检索所述拍摄图像对应的匹配图像;
三维重建单元,用于根据所述拍摄图像和所述匹配图像进行三维重建,生成待重建物体对应的目标三维模型;
发送单元,用于将所述目标三维模型反馈至所述客户端。
15.一种三维重建系统,其特征在于,包括:
客户端,用于提取拍摄图像中的目标图像特征;将所述目标图像特征和所述拍摄图像上传至服务器,所述服务器用于根据所述目标图像特征检索对应的匹配图像,并根据所述匹配图像和所述拍摄图像进行三维重建,生成待重建物体对应的目标三维模型;接收所述服务器反馈的目标三维模型;
服务器,用于接收客户端发送的拍摄图像和所述拍摄图像对应的目标图像特征,依据所述目标图像特征,检索所述拍摄图像对应的匹配图像;根据所述拍摄图像和所述匹配图像进行三维重建,生成待重建物体对应的目标三维模型;将所述目标三维模型反馈至所述客户端。
16.一种电子设备,其特征在于,包括:一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述电子设备执行时,使得所述电子设备执行如权利要求1至12中任一项所述的三维重建方法。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有实现三维重建方法的程序,所述实现三维重建方法的程序被处理器执行以实现如权利要求1至12中任一项所述三维重建方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211140932.7A CN115222896B (zh) | 2022-09-20 | 2022-09-20 | 三维重建方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211140932.7A CN115222896B (zh) | 2022-09-20 | 2022-09-20 | 三维重建方法、装置、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115222896A true CN115222896A (zh) | 2022-10-21 |
CN115222896B CN115222896B (zh) | 2023-05-23 |
Family
ID=83617931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211140932.7A Active CN115222896B (zh) | 2022-09-20 | 2022-09-20 | 三维重建方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115222896B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116704156A (zh) * | 2023-04-28 | 2023-09-05 | 北京优酷科技有限公司 | 模型生成方法、电子设备及模型生成系统 |
CN117315152A (zh) * | 2023-09-27 | 2023-12-29 | 杭州一隅千象科技有限公司 | 双目立体成像方法及其系统 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104699842A (zh) * | 2015-03-31 | 2015-06-10 | 百度在线网络技术(北京)有限公司 | 图片展示方法和装置 |
CN105139445A (zh) * | 2015-08-03 | 2015-12-09 | 百度在线网络技术(北京)有限公司 | 场景重建方法及装置 |
CN106055576A (zh) * | 2016-05-20 | 2016-10-26 | 大连理工大学 | 一种大规模数据背景下的快速有效的图像检索方法 |
CN107515895A (zh) * | 2017-07-14 | 2017-12-26 | 中国科学院计算技术研究所 | 一种基于目标检测的视觉目标检索方法与系统 |
CN109857889A (zh) * | 2018-12-19 | 2019-06-07 | 苏州科达科技股份有限公司 | 一种图像检索方法、装置、设备及可读存储介质 |
CN111611414A (zh) * | 2019-02-22 | 2020-09-01 | 杭州海康威视数字技术股份有限公司 | 车辆检索方法、装置及存储介质 |
CN112927353A (zh) * | 2021-02-25 | 2021-06-08 | 电子科技大学 | 基于二维目标检测和模型对齐的三维场景重建方法、存储介质及终端 |
CN113362382A (zh) * | 2020-03-04 | 2021-09-07 | 华为技术有限公司 | 三维重建方法和三维重建装置 |
CN113436338A (zh) * | 2021-07-14 | 2021-09-24 | 中德(珠海)人工智能研究院有限公司 | 火灾现场的三维重建方法、装置、服务器及可读存储介质 |
CN114037802A (zh) * | 2021-11-24 | 2022-02-11 | Oppo广东移动通信有限公司 | 三维人脸模型重建方法、装置、存储介质及计算机设备 |
CN114241141A (zh) * | 2022-02-28 | 2022-03-25 | 深圳星坊科技有限公司 | 光滑物体三维重建方法、装置、计算机设备和存储介质 |
WO2022121653A1 (zh) * | 2020-12-08 | 2022-06-16 | 上海米哈游天命科技有限公司 | 确定透明度的方法、装置、电子设备和存储介质 |
CN115019273A (zh) * | 2022-06-06 | 2022-09-06 | 中国第一汽车股份有限公司 | 一种目标检测方法、装置、汽车及存储介质 |
-
2022
- 2022-09-20 CN CN202211140932.7A patent/CN115222896B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104699842A (zh) * | 2015-03-31 | 2015-06-10 | 百度在线网络技术(北京)有限公司 | 图片展示方法和装置 |
CN105139445A (zh) * | 2015-08-03 | 2015-12-09 | 百度在线网络技术(北京)有限公司 | 场景重建方法及装置 |
US20180225864A1 (en) * | 2015-08-03 | 2018-08-09 | Baidu Online Network Technology (Beijing) Co., Ltd. | Method and apparatus for reconstructing scene, terminal device, and storage medium |
CN106055576A (zh) * | 2016-05-20 | 2016-10-26 | 大连理工大学 | 一种大规模数据背景下的快速有效的图像检索方法 |
CN107515895A (zh) * | 2017-07-14 | 2017-12-26 | 中国科学院计算技术研究所 | 一种基于目标检测的视觉目标检索方法与系统 |
CN109857889A (zh) * | 2018-12-19 | 2019-06-07 | 苏州科达科技股份有限公司 | 一种图像检索方法、装置、设备及可读存储介质 |
CN111611414A (zh) * | 2019-02-22 | 2020-09-01 | 杭州海康威视数字技术股份有限公司 | 车辆检索方法、装置及存储介质 |
CN113362382A (zh) * | 2020-03-04 | 2021-09-07 | 华为技术有限公司 | 三维重建方法和三维重建装置 |
WO2022121653A1 (zh) * | 2020-12-08 | 2022-06-16 | 上海米哈游天命科技有限公司 | 确定透明度的方法、装置、电子设备和存储介质 |
CN112927353A (zh) * | 2021-02-25 | 2021-06-08 | 电子科技大学 | 基于二维目标检测和模型对齐的三维场景重建方法、存储介质及终端 |
CN113436338A (zh) * | 2021-07-14 | 2021-09-24 | 中德(珠海)人工智能研究院有限公司 | 火灾现场的三维重建方法、装置、服务器及可读存储介质 |
CN114037802A (zh) * | 2021-11-24 | 2022-02-11 | Oppo广东移动通信有限公司 | 三维人脸模型重建方法、装置、存储介质及计算机设备 |
CN114241141A (zh) * | 2022-02-28 | 2022-03-25 | 深圳星坊科技有限公司 | 光滑物体三维重建方法、装置、计算机设备和存储介质 |
CN115019273A (zh) * | 2022-06-06 | 2022-09-06 | 中国第一汽车股份有限公司 | 一种目标检测方法、装置、汽车及存储介质 |
Non-Patent Citations (1)
Title |
---|
樊亚春 等: "基于形状检索的场景图像三维建模", 《高技术通讯》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116704156A (zh) * | 2023-04-28 | 2023-09-05 | 北京优酷科技有限公司 | 模型生成方法、电子设备及模型生成系统 |
CN116704156B (zh) * | 2023-04-28 | 2024-07-02 | 北京优酷科技有限公司 | 模型生成方法、电子设备及模型生成系统 |
CN117315152A (zh) * | 2023-09-27 | 2023-12-29 | 杭州一隅千象科技有限公司 | 双目立体成像方法及其系统 |
CN117315152B (zh) * | 2023-09-27 | 2024-03-29 | 杭州一隅千象科技有限公司 | 双目立体成像方法及其系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115222896B (zh) | 2023-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113362382B (zh) | 三维重建方法和三维重建装置 | |
CN112529015B (zh) | 一种基于几何解缠的三维点云处理方法、装置及设备 | |
US11328172B2 (en) | Method for fine-grained sketch-based scene image retrieval | |
CN111507378A (zh) | 训练图像处理模型的方法和装置 | |
CN111291809B (zh) | 一种处理装置、方法及存储介质 | |
CN110309856A (zh) | 图像分类方法、神经网络的训练方法及装置 | |
KR20200028330A (ko) | 네트워크 연산 에지 전반에 걸쳐 연속적으로 애플리케이션을 작동하는 딥 러닝과 인공 지능에서 지속적인 메모리 기반 학습을 가능하게 하는 시스템 및 방법 | |
CN111368972B (zh) | 一种卷积层量化方法及其装置 | |
CN111401517B (zh) | 一种感知网络结构搜索方法及其装置 | |
CN115222896B (zh) | 三维重建方法、装置、电子设备及计算机可读存储介质 | |
CN110222718B (zh) | 图像处理的方法及装置 | |
CN111832592B (zh) | Rgbd显著性检测方法以及相关装置 | |
WO2021129668A1 (zh) | 训练神经网络的方法和装置 | |
CN111368656A (zh) | 一种视频内容描述方法和视频内容描述装置 | |
US20220392165A1 (en) | Techniques for Producing Three-Dimensional Models from One or More Two-Dimensional Images | |
CN111862278B (zh) | 一种动画获得方法、装置、电子设备及存储介质 | |
CN113569598A (zh) | 图像处理方法和图像处理装置 | |
WO2021136058A1 (zh) | 一种处理视频的方法及装置 | |
JP7225731B2 (ja) | 多変数データシーケンスの画像化 | |
WO2021190433A1 (zh) | 更新物体识别模型的方法和装置 | |
Grigorev et al. | Depth estimation from single monocular images using deep hybrid network | |
Guo et al. | Using multi-scale and hierarchical deep convolutional features for 3D semantic classification of TLS point clouds | |
WO2022111387A1 (zh) | 一种数据处理方法及相关装置 | |
Ahmad et al. | 3D capsule networks for object classification from 3D model data | |
Qin et al. | Depth estimation by parameter transfer with a lightweight model for single still images |
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 |