CN113362382A - 三维重建方法和三维重建装置 - Google Patents
三维重建方法和三维重建装置 Download PDFInfo
- Publication number
- CN113362382A CN113362382A CN202010143002.1A CN202010143002A CN113362382A CN 113362382 A CN113362382 A CN 113362382A CN 202010143002 A CN202010143002 A CN 202010143002A CN 113362382 A CN113362382 A CN 113362382A
- Authority
- CN
- China
- Prior art keywords
- image
- dimensional
- nolf
- determining
- model
- 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 100
- 238000013135 deep learning Methods 0.000 claims abstract description 56
- 230000015654 memory Effects 0.000 claims description 38
- 238000010586 diagram Methods 0.000 claims description 30
- 230000000007 visual effect Effects 0.000 claims description 15
- 238000004422 calculation algorithm Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 7
- 238000003860 storage Methods 0.000 claims description 7
- 238000013527 convolutional neural network Methods 0.000 description 32
- 230000008569 process Effects 0.000 description 25
- 238000013528 artificial neural network Methods 0.000 description 24
- 239000011159 matrix material Substances 0.000 description 21
- 238000012549 training Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 19
- 238000011176 pooling Methods 0.000 description 19
- 239000013598 vector Substances 0.000 description 19
- 238000012545 processing Methods 0.000 description 18
- 238000004364 calculation method Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 12
- 230000014509 gene expression Effects 0.000 description 10
- 238000013473 artificial intelligence Methods 0.000 description 9
- 238000001514 detection method Methods 0.000 description 9
- 238000013500 data storage Methods 0.000 description 7
- 238000010606 normalization Methods 0.000 description 7
- 230000011218 segmentation Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000005070 sampling Methods 0.000 description 6
- 238000013507 mapping Methods 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- 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
- 230000000694 effects Effects 0.000 description 4
- 238000005286 illumination Methods 0.000 description 4
- 241001122767 Theaceae Species 0.000 description 3
- 230000008901 benefit Effects 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
- 238000010801 machine learning Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000005314 correlation function Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000010191 image analysis Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 241000282472 Canis lupus familiaris Species 0.000 description 1
- 241000282326 Felis catus Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 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
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 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
- 230000000873 masking effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011084 recovery 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
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- 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
-
- 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
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- 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/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
- 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
- G06T7/75—Determining position or orientation of objects or cameras using feature-based methods involving models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/08—Indexing scheme for image data processing or generation, in general involving all processing steps from image acquisition to 3D model generation
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- 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/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- 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/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/04—Architectural design, interior design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/56—Particle system, point based geometry or rendering
-
- 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/2016—Rotation, translation, scaling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Library & Information Science (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Architecture (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Geometry (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例公开了一种三维重建方法,可通过单张二维图像实现物体的三维重建,可以提高三维重建的准确度。本申请实施例方法包括:获取第一物体的图像和所述图像的相机位姿;通过第一深度学习网络,确定所述图像中所述第一物体的第一归一化位置场NOLF图,所述第一NOLF图指示所述第一物体在所述图像的拍摄视角下的归一化的三维点云;根据所述第一NOLF图,从模型数据库的多个三维模型中确定与所述第一物体对应的第一模型;根据所述第一模型和所述图像的相机位姿确定所述第一物体的位姿;根据所述第一模型和所述第一物体的位姿三维重建所述图像中的所述第一物体。
Description
技术领域
本申请涉及三维建模技术,尤其涉及一种三维重建方法和三维重建装置。
背景技术
三维数字化数据可以提升人们对真实空间的认知水平和层次,为人们带来远超二维图像数据的丰富信息。利用高精度激光扫描仪获得三维环境的点云信息进行建模是一种常见的方案,但是激光扫描仪设备昂贵,如何高效准确低廉地获得真实可用的三维数字化数据,是限制三维应用进一步蓬勃发展的关键性瓶颈之一。
图像现有技术中,以预先构建好的模型数据库为基础,对用户输入的单张场景图像进行图像分析获取目标模型的局部图像,在预先构建模型数据库中进行模型检索确定匹配的模型,进而实现三维重建。其中,预设的模型数据库基于虚拟三维空间的不同位置和角度,对三维模型进行投影映射,用一组多角度的投影图像代替三维模型本身,这样,就将模型检索中二维-三维检索问题转换成二维-二维相似性度量问题;当某一个三维模型在某一视角下的投影图像与待检索的局部图像比较接近,则认为投影图像对应的三维模型即为检索结果。
由于现有技术中,从预设的位置和角度对预设的三维模型进行投影映射,模型数据库中用一组多角度的投影图像代表一个三维模型,但是,实际拍摄的场景图像时的视角往往是任意且随机的,与模型数据库中投影图像的位置和角度匹配度低,因此,模型检索的准确度较低。
发明内容
本申请实施例提供了一种三维重建方法,用于通过二维图像实现物体的三维重建,可以提高三维模型匹配的准确率。
本申请实施例的第一方面提供了一种三维重建方法,包括:获取第一物体的图像和所述图像的相机位姿;通过第一深度学习网络,确定所述图像中所述第一物体的第一归一化位置场NOLF图,所述第一NOLF图指示所述第一物体在所述图像的拍摄视角下的归一化的三维点云;根据所述第一NOLF图,从模型数据库的多个三维模型中确定与所述第一物体对应的第一模型;根据所述第一模型和所述图像的相机位姿确定所述第一物体的位姿;根据所述第一模型和所述第一物体的位姿三维重建所述图像中的所述第一物体。
本申请实施例提供的三维重建方法,获取对包含第一物体的场景进行拍摄得到的二维图像,输入深度学习网络,得到该第一物体的NOLF图,指示该第一物体在拍摄该图像的相机拍摄视角下的归一化的三维点云,根据该第一物体的NOLF图从模型数据库中确定第一物体对应的第一模型,根据所述第一模型和所述图像的相机位姿确定所述第一物体的位姿,从而实现图像中第一物体的三维重建。由于第一物体的NOLF指示的是第一物体在拍摄该图像的相机拍摄视角下的归一化的三维点云,即通过深度学习网络恢复了第一物体在图像的拍摄视角下的部分三维信息,通过该NOLF图进行三维检索,相较现有技术可以提高模型匹配的准确度,进行提高三维重建成功率。
在第一方面的一种可能的实现方式中,所述方法还包括:根据所述第一NOLF图,确定所述第一物体的第一相对位姿,所述第一相对位姿为所述第一物体的位姿与所述图像的相机位姿之间的相对位姿;确定多个所述三维模型中在所述第一相对位姿对应的视角下的NOLF图;所述根据所述第一NOLF图,从模型数据库的多个三维模型中确定与所述第一物体对应的第一模型包括:从多个所述三维模型各自对应的NOLF图中确定与所述第一NOLF图相似度最高的NOLF图对应的所述第一模型。
本申请实施例提供的三维重建方法,可以根据第一NOLF图,确定第一物体在拍摄时与相机之间的第一相对位姿,基于该第一相对位姿,可以获取模型数据库中各个三维模型的候选NOLF图。根据第一相对位姿和三维模型的姿态,可以确定观测点的位置和方向,三维模型的NOLF图指示从观测点位置和方向观察三维模型时可选部分的归一化的三维点云。这里,从观测点的位置和方向观察三维模型,可以理解为模拟相机拍摄第一物体,由此,可以获取用于进行比对的三维模型的候选NOLF图。根据多个候选NOLF图与第一NOLF图之间的相似度,将与第一NOLF图相似度最高的候选NOLF图对应的三维模型确定为第一模型。本申请实施例的方法基于计算出的初始位姿,获取候选NOLF图,由此可以降低检索的难度。此外,通过NOLF图将二维的建模对象与三维的预制模型库对象统一到了相同的数据表达中,且该数据表达与建模目标在真实图像上的光照条件和三维模型的纹理细节无关,且NOLF图指示的三维点云隐含了第一物体的三维形状和几何信息,有利于特征空间内对象间的相似性比较。
在第一方面的一种可能的实现方式中,所述根据所述第一NOLF图,确定所述第一物体的第一相对位姿包括:通过第二深度学习网络,确定所述图像中所述第一物体的至少四个特征点的像素坐标,所述四个特征点指示的四个物点在三维空间中不共面;从所述第一NOLF图中确定所述至少四个特征点的三维坐标;根据所述至少四个特征点的所述像素坐标和所述三维坐标确定所述第一相对位姿。
本申请实施例提供的三维重建方法,可以根据第一NOLF图确定至少四个特征点,由于第一NOLF图为二维图像,可以确定第一NOLF图中的特征点的像素坐标,此外,由于NOLF图指示三维点云,每个像素点对应于一个三维坐标,由此,可以获取特征点的像素坐标与三维坐标之间的对应关系,通过至少四个特征点的像素坐标与三维坐标之间的对应关系可以计算得到图像拍摄时,相机相对于第一物体的相对位姿。
在第一方面的一种可能的实现方式中,所述根据所述至少四个特征点的像素坐标和三维坐标确定所述第一相对位姿包括:根据所述至少四个特征点的所述像素坐标和所述三维坐标,通过透视N点估计PnP算法确定所述第一相对位姿。
本申请实施例提供的三维重建方法,提供了计算相对位姿的一种具体实现方式,即通过PnP算法进行计算。
在第一方面的一种可能的实现方式中,所述第一物体的特征点包括:所述第一物体的包围盒的八个角点。
本申请实施例提供的三维重建方法,特征点具体可以是第一物体的包围盒的角点,由于对于所有物体都可以确定其包围盒的角点,该方法具有普适通用性,易于实现。还可以通过训练深度学习网络进行,通过深度学习网络预测物体的包围盒的角点,以确定第一物体的特征点。基于检索出的三维模型,利用该三维模型的包围盒的角点与二维图像上建模目标预测出的包围盒的角点的对应关系,结合图像对应的相机内外参数,解算出精确的三维模型空间姿态,从而将该模型放置到真实的三维空间位置上。
在第一方面的一种可能的实现方式中,所述方法还包括:将所述图像输入所述第一深度学习网络,确定第一原始NOLF图;根据所述第一原始NOLF图和所述第一物体的图像掩膜,确定所述第一NOLF图。可选地,所述方法还包括:通过第三深度学习网络,确定所述图像中所述第一物体的图像掩膜;可选地,所述第三深度学习网络与所述第一深度学习网络为不同的深度学习网络或者同一个深度学习网络,具体此处不做限定。
本申请实施例提供的三维重建方法,还可以通过第三深度学习网络确定第一物体的图像掩膜,根据该掩膜确定第一NOLF图。
在第一方面的一种可能的实现方式中,所述模型数据库包括所述多个三维模型的类别,其中,所述第一物体属于第一类别,所述方法还包括:根据所述第一NOLF图从属于所述第一类别的三维模型中确定所述第一模型。可选地,所述方法还包括:将所述图像输入第四深度学习网络,确定所述第一物体属于第一类别;可选地,所述第四深度学习网络与所述第一深度学习网络为不同的深度学习网络或者同一个深度学习网络,具体此处不做限定。
本申请实施例提供的三维重建方法,还可以通过第四深度学习网络预测第一物体的类别,根据该类别从模型数据库中确定属于该类别的三维模型用于后续模型匹配,可以减少计算量。
本申请实施例第二方面提供了一种三维重建装置,包括:获取单元,用于获取第一物体的图像和所述图像的相机位姿;确定单元,用于通过第一深度学习网络,确定所述图像中所述第一物体的第一归一化位置场NOLF图,所述第一NOLF图指示所述第一物体在所述图像的拍摄视角下的归一化的三维点云;所述确定单元,用于根据所述第一NOLF图,从模型数据库的多个三维模型中确定与所述第一物体对应的第一模型;所述确定单元,还用于根据所述第一模型和所述图像的相机位姿确定所述第一物体的位姿;重建单元,用于根据所述第一模型和所述第一物体的位姿三维重建所述图像中的所述第一物体。
所述确定单元还用于:根据所述第一NOLF图,确定所述第一物体的第一相对位姿,所述第一相对位姿为所述第一物体的位姿与所述图像的相机位姿之间的相对位姿;确定多个所述三维模型中在所述第一相对位姿对应的视角下的NOLF图;所述确定单元具体用于:从多个所述三维模型各自对应的NOLF图中确定与所述第一NOLF图相似度最高的NOLF图对应的所述第一模型。
所述确定单元具体用于:通过第二深度学习网络,确定所述图像中所述第一物体的至少四个特征点的像素坐标,所述四个特征点指示的四个物点在三维空间中不共面;从所述第一NOLF图中确定所述至少四个特征点的三维坐标;根据所述至少四个特征点的所述像素坐标和所述三维坐标确定所述第一相对位姿。
所述确定单元具体用于:根据所述至少四个特征点的所述像素坐标和所述三维坐标,通过透视N点估计PnP算法确定所述第一相对位姿。
所述第一物体的特征点包括:所述第一物体的包围盒的八个角点。
所述确定单元具体用于:将所述图像输入所述第一深度学习网络,确定第一原始NOLF图;根据所述第一原始NOLF图和所述第一物体的图像掩膜,确定所述第一NOLF图。
所述模型数据库包括所述多个三维模型的类别,其中,所述第一物体属于第一类别;所述确定单元具体用于:根据所述第一NOLF图从属于所述第一类别的三维模型中确定所述第一模型。
本申请实施例第三方面提供了一种三维重建装置,包括处理器和存储器,所述处理器和所述存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器用于调用所述程序指令,执行如上述第一方面以及各种可能的实现方式中任一项所述的方法。
本申请实施例第四方面提供了一种包含指令的计算机程序产品,其特征在于,当其在计算机上运行时,使得所述计算机执行如上述第一方面或第一方面任意一种可能实现方式的方法。
本申请实施例第五方面提供了一种计算机可读存储介质,包括指令,其特征在于,当所述指令在计算机上运行时,使得计算机执行如上述第一方面或第一方面任意一种可能实现方式的方法。
本申请实施例第六方面提供了一种芯片系统,该芯片系统包括处理器,处理器用于读取并执行存储器中存储的计算机程序,以执行上述任一方面任意可能的实现方式所涉及的功能。在一种可能的设计中,芯片系统还包括存储器,该存储器与该处理器电连接。进一步可选地,该芯片还包括通信接口,处理器与该通信接口连接。通信接口用于接收需要处理的数据和/或信息,处理器从该通信接口获取该数据和/或信息,并对该数据和/或信息进行处理,并通过该通信接口输出处理结果。该通信接口可以是输入输出接口。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
其中,第二方面、第三方面、第四方面、第五方面以及第六方面中任一种实现方式所带来的技术效果可参见第一方面中相应实现方式所带来的技术效果,此处不再赘述。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例提供的三维重建方法,在获取第一物体的图像和所述图像的相机位姿后,将图像输入深度学习网络,输出第一物体在图像的拍摄视角下的第一归一化位置场NOLF图,该第一NOLF图可以指示所述第一物体在所述图像的拍摄视角下的归一化的三维信息;根据该第一NOLF图,从预设的模型数据库的多个三维模型中确定第一模型,根据所述第一模型和所述图像的相机位姿进行计算,确定所述第一目标模型的位姿,由此可以实现所述第一目标物体的三维重建。
由于本方案在模型数据库中检索三维模型时,使用的是拍摄图像经深度学习网络恢复出的NOLF图,相较现有技术,不需要预先在不同位置和视角下对三维模型进行投影,基于三维信息与三维模型进行检索匹配,准确度高。
此外,本申请实施例提供的三维重建方法,还可以根据NOLF图和特征点像素坐标预测第一物体的相对位姿,基于计算出的初始位姿,获取模型数据库中的三维模型在该初始位姿下的NOLF图,再与建模对象的NOLF图进行对比,由此,将对象与数据库中的三维模型统一到了相同的数据表达形式下,可以降低三维模型检索的难度,有效降低计算量。
附图说明
图1为本申请实施例提供的一种人工智能主体框架示意图;
图2为本申请实施例提供的一种应用环境示意图;
图3为本申请实施例提供的一种卷积神经网络结构示意图;
图4为本申请实施例提供的另一种卷积神经网络结构示意图;
图5为本申请实施例中三维重建方法一个应用场景的示意图;
图6为本申请实施例中三维重建方法的一个实施例示意图;
图7为本申请实施例中目标物体的NOLF图的一个实施例示意图;
图8为本申请实施例中三维建模方法的深度学习网络架构示意图;
图9为本申请实施例中相似性检测的一个实施例示意图;
图10为本申请实施例中三维重建方法的另一个实施例示意图;
图11为本申请实施例中三维重建装置的一个实施例示意图;
图12为本申请实施例中三维重建装置的另一个实施例示意图;
图13为本申请实施例提供的一种芯片硬件结构图。
具体实施方式
本申请实施例提供了一种三维重建方法,用于物体的三维重建,可以提高模型匹配的准确度。
为了便于理解,下面对本申请实施例涉及的部分技术术语进行简要介绍:
1、三维模型:三维模型是物体的多边形表示,通常用计算机或者其它视频设备进行显示。显示的物体可以是现实世界的实体,也可以是虚构的物体。任何物理自然界存在的东西都可以用三维模型表示。本申请实施例中,物体的三维模型用于指示物体的三维结构和尺寸信息。三维模型的数据存储形式有多种,例如以三维点云、网格或体元等形式表示,具体此处不做限定。
2、具有方向性的归一化三维模型:根据物体的三维模型进行尺寸归一化,并根据预设的主视方向置于三维坐标系中,包含物体的三维结构信息。预设的主视方向,通常为符合用户习惯且可以最好反映物体形状特征的方向,例如对于摄像机,设置拍摄按键朝上,镜头方向为主视方向,将摄像机的实际尺寸归一化,缩放至预设大小,得到的包含具有方向性的归一化三维模型。
示例性的,本申请实施例中具有方向性的归一化三维模型的获取方法为,预设物体的主视方向,定义归一化对象位置场为一个长宽高均为1的三维空间,物体的三维模型经归一化缩放,质心位于该三维空间的中心点,既可获取具有方向性的归一化三维模型。
3、归一化位置场(normalized object location field,NOLF)图,后简称NOLF图:指示物体或三维模型在某一视角下可见部分的归一化的三维点云。NOLF图是一个类图像的数据表达形式,即该图像每个像素坐标分别对应存储三维模型在归一化三维空间的XYZ坐标值,即每个像素坐标值对应一个三维坐标值,从而建立了三维模型在图像上的像素坐标与在归一化空间上的三维坐标间对应关系。本申请实施例中提及的在图像的拍摄视角下的NOLF图,即相机拍摄物体时,从相机拍摄物体的视角下,基于相机与物体之间的相对位姿,物体可见部分的归一化的三维点云。
4、透视N点估计(perspective-n-point,PnP)又称投影N点估计,是指通过世界中的N个物点与图像中对应的N个像点计算其投影关系,从而获得相机或物体位姿。
5、包围盒:恰好将物体完全包容起来的最小长方体即为该物体的三维包围盒。对于设置在三维坐标系中的物体,包围盒可以指包含物体且边平行于坐标轴的最小六面体。包围盒的角点即为该最小六面体的8个顶点。
6、关键点:本申请实施例中所称的关键点是指三维包围盒的角点,即三维包围盒的长方体顶点。
7、相机位姿:位姿即相机在空间中的位置和相机的姿态,可以分别看作相机从原始参考位置到当前位置的平移变换和旋转变换。类似的,本申请中物体的位姿即,物体在空间中的位置和物体的姿态。
8、相机外参:即相机的外参数,世界坐标系与相机坐标系之间的转换关系,包括位移参数和旋转参数,根据相机外参可以确定相机位姿。
9、类别:通过深度学习可以进行图像识别,识别图像中物体的类别,即物体分类,物体类别例如可以是:桌子、椅子、猫、狗、汽车等等。
本申请实施例提供的三维重建方法,根据应用场景需要预先构建模型数据库,存储待建模物体的三维信息。根据场景覆盖的物体种类,可以为三维模型设定类别,例如,室内居家场景中进行三维重建,数据库中需要预先存储所有可能出现的家具的三维模型,根据家具类型设定类别,例如“椅子”,“桌子”,“茶几”,“床”等,可选地,若场景中通类型的物体较多,可以进一步设定二级类别,例如多种类型的椅子,例如“凳子”“扶手椅”“沙发椅”等。
10、图像掩膜:用选定的图像、图形或物体,对待处理的图像进行全部或局部的遮挡,来控制图像处理的区域或处理过程。本申请实施例中图像掩膜用于提取感兴趣区,例如图像中第一目标物体的局部图像,根据感兴趣区掩模与待处理图像相乘,得到感兴趣区图像,感兴趣区内图像值保持不变,而区外图像值都为0。
下面结合附图,对本申请的实施例进行描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请实施例中出现的术语“和/或”,可以是一种描述关联对象的关联关系,表示可以存在三种关系,例如,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的所有功能,对于本申请实施例具体场景架构,此处不做限定。
本申请实施例中用于从二维图像中预测目标的NOLF图的深度神经网络,例如,可以是卷积神经网络(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所示,A为拍摄待建模场景得到的单张二维图像,B为预先构建的三维模型数据库,C为从A中识别场景中的多个目标物体,D为从B中进行模型检索,获取多个目标物体对应的三维模型,E即根据匹配的三维模型实现目标物体的三维重建,得到场景的三维数据。
现有技术中,以预先构建好的模型库为基础,对用户输入的单张场景图像进行图像分析获取目标模型的局部图像,在预先构建模型数据库中进行模型检索确定匹配的模型,由此实现三维重建。其中,预设的模型数据库基于虚拟三维空间的不同位置和角度,对三维模型进行投影映射,用一组多角度的投影图像代替三维模型本身,这样,就将模型检索中二维-三维检索问题转换成二维-二维相似性度量问题;当某一个三维模型在某一视角下的投影图像与待检索的局部图像比较接近,则认为投影图像对应的三维模型即为检索结果。
由于现有技术中,从预设的位置和角度对预设的三维模型进行投影映射,模型数据库中用一组多角度的投影图像代表一个三维模型,但是,实际拍摄的场景图像时的视角往往是任意且随机的,通常与模型数据库中投影图像获取时预设的位置和角度不完全匹配,因此,模型检索的准确度较低。
若为了增加三维模型投影视角与待建模目标在拍摄图像上的视角接近的几率,需要增加三维模型投影的位置和角度,采样数量大,计算成本高。
除此之外,虚拟空间上的三维模型投影图像与真实空间上的场景图像在光照条件、背景和纹理颜色等关键要素上差异较大,现有技术通过真实图像对虚拟图像进行检索受到以上因素的制约,造成了检索结果的鲁棒性有较大的提升空间。
综上所示,在建模效率,建模成本和建模精确度等关键性的建模指标上,目前已有的三维建模技术很难取得较好的平衡。对于那些想使用三维信息和三维应用的消费者和开发者而言,如何快速、简单、低成本地获得高精度和可使用三维场景模型,是一个需要不断突破的关键性问题。
本申请实施例提供了一种三维重建方法,可以根据二维图像和预先构建的模型数据库进行三维重建,建模精度高。
请参阅图6,为本申请实施例中三维重建方法的一个实施例示意图。
对于场景内可能出现的目标物体,预先构建模型数据库,每个物体对应一个三维模型,模型数据库中包括多个三维模型。三维模型包含物体的三维几何信息,具体的,包括几何结构和尺寸信息,可选地,三维模型中还包含物体的纹理特征。可选地,模型数据库中的三维模型携带有物体类别的标签,例如多种款式造型的椅子,其类别均为“椅子”。
以室内场景为例,可以先构建常见家具的模型,例如场景中可能出现的各种样式的茶几、餐桌和椅子等;对于基站,可以先构建常见类型的设备,例如各种型号的天线设备等。基于我们对待构建场景的了解,提供先验信息,以使得可以根据单张二维图像提供的信息实现三维场景的重建。
601、三维重建装置获取图像和相机位姿;
三维重建装置获取第一目标物体的图像,和图像对应的相机位姿。
该图像是指对包括第一目标物体的目标场景进行拍摄得到的二维图像。第一目标物体在本申请实施例中也称为建模目标。图像由图像采集设备拍摄,可以是普通相机或全景相机。图像采集设备可以是设置于三维重建装置中的部件,也可以是与三维重建装置存在有线或无线通信连接的独立设备。本申请实施例中对图像采集设备的具体类型和设备形态不做限定。图像可以是全景相机采集的水平视角呈360度的全景图像,或者超广角图像,或者普通相机拍摄的中心投影图像,具体此处不做限定。此外,本申请实施例提供的三维重建方法可以根据单幅图像实现三维重建,但是当单幅中心投影图像无法完全采集目标场景信息时,可以采集多张图像,具体此处不做限定。
图像对应的相机位姿是指拍摄该图像的相机在拍摄时的位置和位姿,在设定了参考坐标系的情况下,相机位姿可以通过相对参考坐标系的平移和旋转确定。图像对应的相机位姿的获取方式此处不做限定。
602、三维重建装置将图像输入深度学习网络,获取第一目标物体的NOLF图和特征点的像素坐标;
三维重建装置将步骤601中获取的图像输入深度学习网络,获取第一目标物体在图像的拍摄视角下的NOLF图和图像中的第一目标物体特征点的像素坐标。
图像中的第一目标物体的特征点,用于在确定三维模型数据库中的目标三维模型之后,确定第一目标物体的位姿,为计算第一目标物体的位姿,需要确定至少4个特征点,且该4个特征点(像点)对应的物点在三维空间中不共面,特征点的具体数量此处不做限定。相机拍摄获取的图像中的像点对应于三维空间中的点,称之为物点。需要说明的是,图像中第一目标物体的特征点可以位于第一目标物体的图像区域内,对应的物点位于第一目标物体内;第一目标物体的特征点也可以位于第一目标物体的图像区域之外,例如,特征点可以是目标物体的包围盒的角点投影在图像中的点,这里目标物体的包围盒的角点在拍摄空间中并无实物对应,仅指示一个三维空间位置。
通过深度学习网络输出的第一目标物体的NOLF图,请参阅图7,为本申请实施例中目标物体的NOLF图的一个实施例示意图,根据二维RGB图像,输出图像中第一目标物体在图像的拍摄视角下的NOLF图,该NOLF图可以指示第一目标物体在所述图像的拍摄视角下的归一化的三维信息。NOLF图为二维图像,NOLF图中每个像素点存储该像素点对应的物点的XYZ三个维度的信息,可选地,NOLF图可以用二维RGB图像表达,其中,RGB图像中三个颜色通道分别对应三维坐标系中一个维度的信息。
可选地,三维重建装置可以通过一个深度学习网络输出第一目标物体的NOLF图和第一目标物体的关键点的像素坐标;还可以通过不同的深度学习网络分别获取第一目标物体的NOLF图,和第一目标物体的关键点的像素坐标,具体此处不做限定。
可选地,三维重建装置还可以通过深度学习网络获取第一目标物体的类别,类别用于在模型检索时,从模型数据库中筛选确定该类别对应的模型,例如识别出第一目标物体为椅子,模型数据库中可能有多种类型的模型,例如“桌子”、“椅子”、“茶几”和“床”等等,若获取了第一目标物体的类别为“椅子”,则可以将物体的模型限定在“椅子”这一类别的三维模型中,不必在其他类型的三维模型中进行检索。
可选地,三维重建装置还可以通过深度学习网络获取第一目标物体的掩膜,该掩膜可以用于对NOLF图进行优化,提升NOLF图的精确度。
示例性的,请参阅图8,为本申请实施例中三维建模方法的深度学习网络架构示意图;
图8中描述了基于二维图像中的建模目标进行NOLF图、关键点和实例分割掩膜进行预测的卷积神经网络。输入是一张包含建模目标的二维RGB图像。卷积神经网络(CNN)基于该图像,能够预测出目标建模对象的掩膜、NOLF图和八个关键点像素坐标值。NOLF图包含建模目标在图像的拍摄视角下的三维信息。八个关键点即建模目标的包围盒的角点,关键点像素坐标为其对应三维模型在空间中包围盒的八个角点基于准确位姿在输入图像上的映射。可选地,该深度学习网络基于通用实例分割架构(Mask-RCNN框架)预测目标类别和掩膜。可选地,该卷积神经网络还可以通过一个检测分支预测目标建模对象的类别,根据三维模型数据库中各个三维模型预设的类型的标签,可以缩小模型检索的范围。
由于通常场景中包括多个目标物体,获取的图像中包括多个目标物体的图像,可选地,三维重建装置将步骤601中获取的图像输入深度学习网络,可以识别图像中多个目标物体,并分别生成每个目标物体的NOLF图。可选地,图像中的第一目标物体图像区域通常为图像的部分区域,三维重建装置通过对图像信息的解析,识别出图像中所有待重建的三维目标物体,获取该目标物体的局部图像,每个局部图像对应一个目标物体,从图像中获取的局部图像的具体数量此处不做限定。由于可选地,三维重建装置可以先从图像中确定目标物体的局部图像,再将局部图像输入深度学习网络,具体此处不做限定。
该深度学习网络为预先训练的模型,训练方法请参考后续实施例。
603、三维重建装置根据第一目标物体的NOLF图,确定第一目标物体的初始位姿;
基于步骤602获取的NOLF图,建立NOLF图的图像像素坐标与NOLF图指示的三维坐标之间的对应关系。示例性的,在NOLF图上随机采样四个在三维空间上不共面的点,就能建立起四对二维像素坐标-三维坐标对应关系,进而通过求解PnP就能获得一个建模目标在归一化对象空间中的第一相对位姿,该第一相对位姿即为初始位姿。
可选地,为提高初始位姿的计算精度,可以通过多次采样获取多个初始位姿,根据多个初始位姿进行聚类,将聚类中心点对应的初始位姿作为目标物体的具有方向性的归一化三维模型在图像的拍摄视角下的初始位姿。下面具体进行介绍:
在二维图像上的建模目标所在区域NOLF图已知的条件下,对于NOLF图内的任意像素坐标pi,均对应一个归一化空间内的三维点Pi,进而建立起一系列二维像素位置与三维空间位置的对应关系,依赖这些对应关系通过求解PnP就能获得一系列对应的三维模型在归一化空间内的相对位姿,具体过程如下:设NOLF图像素区域为R,从R中随机采样四个像素点和对应的三维坐标,通过这四对2D-3D(二维-三维)对应关系,求解PnP就能获得一个在归一化空间内的位姿Hj,对每个位姿Hj通过以下公式对齐进行分数评价:
其中Pj为像素点pj对应的归一化的三维坐标,A为相机的内参矩阵,thereshold为定义的阈值,分数评价公式用来度量在位姿Hj下有多少个像素对应的三维坐标值经过重投影,像素误差小于thereshold,从而度量每个位姿的置信度。利用抢占式随机抽样一致思路(pre-emptive RANSAC)对上述公式进行做大化优化,重复进行以上采样过程,最终将分数排名前百分之十的假设位姿作为初始位姿集合在进行聚类,将聚类中心点对应的假设位姿作为在归一化空间内建模目标的初始位姿。
604、三维重建装置确定模型数据库中的三维模型在该初始位姿下的NOLF图;
利用步骤603中获取的初始位姿,可以对预制模型数据库所有三维模型进行NOLF图投影,渲染出数据库内所有候选三维模型在该初始位姿视角下的NOLF图,再基于该视角下的NOLF图进行相似性检测,将这些在该初始位姿视角下的NOLF图作为三维模型数据库的信息表征,从而将第一目标物体的二维图像信息与模型数据库中的三维模型信息统一到相同的数据表达形式下。
可选地,若步骤602中,获取了第一目标物体的类别,则可以根据该类别从三维模型数据库中筛选出属于该类别的三维模型集合,并利用步骤603中确定的初始位姿渲染出与建模对象同类型的三维模型该初始位姿视角下的归一化位置场图。
605、三维重建装置根据第一目标物体的NOLF图和三维模型在初始位姿下的NOLF图进行模型检索,确定第一目标模型;
步骤602中获取的第一目标物体的NOLF图与步骤604获取的三维模型库基于初始视角的NOLF图进行相似性检测,将相似度最高的NOLF图对应的三维模型确定为第一目标模型。
相似性检测的方法有多种,此处不做限定。示例性地,请参阅图9,为本申请实施例中相似性检测的一个实施例示意图。基于NOLF图建立一个Triple关系,即建模目标在二维图像上预测的NOLF图,与建模目标对应的三维模型的NOLF图作为正相关关系,与建模目标不对应的三维模型的NOLF图为负相关关系,即在特征空间内建模目标与对应的三维模型欧式距离越近越好,且建模目标与非对应的三维模型欧式距离越远越好,因此NOLF图特征描述子相似度的损失函数(similaritytripleloss)表示为:
其中,u为建模目标,v+,v-分别为u对应的三维模型正样本和负样本,f为基于CNN的NOLF特征描述子,(u,v+,v-)表示triple关系,f(u)代表建模目标基于CNN的NOLF特征描述子,f(v+)代表三维模型正样本基于CNN的NOLF特征描述子,f(v-)代表三维模型负样本基于CNN的NOLF特征描述子,m为最小欧式距离值,具体地,m>0具体数值此处不做限定,||.||表示特征空间两个样本点的欧式距离。
本申请实施例根据NOLF图进行检索,有益效果在于:
1)无需预先在不同位置和视角下对三维模型进行投影,可以降低三维模型检索过程中的数据规模;
2)本步骤中基于计算出的初始位姿,获取模型数据库中的三维模型在该初始位姿下的NOLF图,再与建模对象的NOLF图进行对比,虽然获取的初始位姿并不一定是目标物体的准确位姿,根据初始位姿确定的NOLF图进行相似度检测可以降低检索的难度;
3)本步骤在三维模型检索中,通过NOLF图将二维的建模对象与三维的预制模型库对象统一到了相同的数据表达中,且该数据表达与建模目标在真实图像上的光照条件和三维模型的纹理细节无关,且NOLF图隐含了对象的三维形状和几何信息,有利于特征空间内对象间的相似性比较。对应的,传统方法通常将建模目标的真实图像与三维模型虚拟映射进行相似性度量,而真实图像与虚拟映射在光照、纹理和背景等条件下差异较大,存在跨域(cross-domain)检索的困难。
606、三维重建装置根据特征点像素坐标和第一目标模型,确定第一目标物体的位姿;
根据步骤602确定的第一目标物体的特征点像素坐标,以及步骤605中确定的第一目标模型,确定第一目标物体的位姿。
根据该特征点像素坐标和第一目标模型中对应的特征点的三维坐标,可以通过PnP解法确定第一目标物体拍摄时相对于相机的位姿。可选地,若特征点为8个关键点,由于预测的八个关键点的顺序与检索出的三维模型包围盒的角点是一一对应的,通过PnP解法可以确定二维图像拍摄时的相机与三维模型的相对位置关系。
由于拍摄二维图像的相机外参已知,即已知相机在真实三维空间上的位姿,结合PnP求解出的相机与三维模型相对位置关系,既可恢复出建模目标对应三维模型在真实三维空间的绝对位姿。根据模型检索确定的第一目标模型以及建模目标的绝对位置即可实现对待建模目标的三维重建,对三维场景内所有待建模目标重复以上操作,就能实现整个站点内的关键设备建模,此处不再赘述。
请参阅图10,为本申请实施例中三维重建方法的另一个实施例示意图;
采集二维影像数据进行三维场景的信息采集,通过高精度影像位姿的计算,获得了图像的相机的外参信息,通过该外参信息可以计算得到图像的相机位姿;三维场景内可能出现的关键物体的三维模型集合成一个预制的三维模型数据库,该三维模型数据库,可简称为模型数据库,作为三维场景建模的另一个输入。
1)利用深度学习网络,识别出图像拍摄的三维场景内待建的三维模型目标,即图像中的目标物体,后简称目标或建模目标或建模对象,可选地,获得目标所在的局部图像区域掩膜(即前述的图像掩膜),预测出目标的关键点像素坐标和归一化位置场信息(即NOLF图),可选地,预测目标所属的类别;利用预测出的建模目标对应的归一化位置场图,建立起建模目标在图像上的二维像素与归一化空间三维点之间的对应关系,在NOLF图上随机采样四个点,就能建立起一个由四个像素坐标-三维坐标对应关系,进而通过PnP算法求解就能获得一个建模目标在归一化对象空间中的相对位姿;
2)可选地,在NOLF图上重复进行采样就能获得一系列相对位姿,将这些相对位姿视为一系列假设,通过假设检验方法提取出满足条件的N个相对姿态。基于这N个相对姿态进行聚类,获得的聚类中心点对应的相对位姿作为建模目标在归一化对象空间中的初始位姿;
3)利用该初始位姿,渲染出数据库内所有三维模型在该姿态视角下的归一化位置场图,可选地,根据第1)步中获取的目标的类别,确定三维模型数据库中属于该类别的三维模型为候选三维模型,将这些NOLF图作为三维模型数据库的信息表征,结合第1)步建模目标对应的NOLF图,从而将建模目标的二维图像信息与三维的模型数据库信息统一到相同的数据表达下;在第2)步预测的初始相对位姿下,三维模型对应的NOLF图也会更加接近于建模目标对应的NOLF图,从而降低检索的难度和复杂度;
4)基于另一个深度学习网络,利用图像特征描述子,分别提取出建模目标的NOLF图的高维特征,和预制的模型数据库内三维模型对应NOLF图的高维特征,进而将建模目标与预制模型库内三维模型映射到统一的特征空间内。通过特征的相似性进行模型检索,可选地,利用建模目标的NOLF图与预制模型库内三维模型的NOLF图在特征空间内的相对位置关系,从数据库内检索出建模目标对应的三维模型,其中,特征空间内的欧氏距离越接近表明建模目标与某个三维模型相似性越高;
5)利用检索出的三维模型包围盒顶点与建模目标在图像上预测出的关键点对应关系,通过解算PnP问题建立起输入图像的相机与三维模型初始位置之间的相对位置关系;结合输入图像的相机位姿信息,最终恢复出建模目标对应三维模型在真实三维空间上的位置姿态;
6)遍历所有建模目标,重复以上第2)到第5)步骤,实现三维环境内所有目标的三维模型姿态恢复,进而完成整个场景的三维建模。
具体地,通过卷积神经网络(CNN)获取目标物体的关键点的像素坐标,以及目标物体在该图像的拍摄视角下的NOLF图,根据NOLF图进行初始位姿估计。对于预设的模型数据库中的多个三维模型,基于该初始位姿生成一系列NOLF图,将目标物体的NOLF图与这一系列NOLF图进行比较,根据NOLF图描述子进行相似度检测,得到匹配的三维模型,根据PnP算法以及原始的二维图像的相机位姿,可以获取目标物体的位姿,由此,实现目标物体的三维重建。有关图10对应的实施例中,与前文对应的部分,请参考前文相应的描述,此处不再赘述。
可选地,基于二维图像上的建模目标进行类别、NOLF图、关键点和实例分割掩膜进行预测的卷积神经网络中输入是一张包含多个建模目标的二维RGB图像。通过CNN网络,能够预测出每个建模对象的类别、掩膜、NOLF图和八个关键点像素坐标值。该网络结构基于Mask-RCNN框架,除了该框架能够预测的目标类别和掩膜外,额外输出了NOLF图和关键点,目标对应的关键点像素坐标为其对应三维模型在空间中包围盒的八个角点基于准确位姿在输入图像上的映射。
下面举例的说明获取三维模型的NOLF图的一种实现方法。根据模型数据库中的三维模型,可以获取具有方向性的归一化三维模型,可选地,将建模目标的形状和尺寸信息编码到一个预先定义的归一化对象空间内,为属于同一类别的三维模型建立归一化的坐标空间,根据该归一化的三维模型可以进一步获取在某一视角下的NOLF图。示例性的,如图7所示,NOLF是一个类图像的数据表达形式,能够将三维模型的XYZ坐标编码到一个归一化三维空间内,即该图像每个像素坐标对应的RBG通道分别存储三维模型在归一化三维空间的XYZ坐标值,而不是颜色信息,即每个像素坐标值对应一个三维坐标值,从而建立了三维模型在图像上的像素坐标与在归一化空间上的三维坐标间对应关系,即一个NOLF图即对应在可见视角下的三维点云。需要说明的是,考虑到同类型三维模型的形状和几何特征相似性,可以按照模型类别独立地定义NOLF。可选地,对于同类型三维模型集合,对其进行归一化尺寸缩放,即所有三维模型的包围盒对角线长度为1且其几何中心点位于NOLF的中心。为了保证三维模型包围盒是最紧致包围盒,我们对所有三维模型做了对齐操作,即所有模型的朝向一致且模型坐标系的XYZ轴与空间坐标系XYZ轴平行。
可选地,本申请的目标类别预测分支和实力分割掩膜预测分支,与实例分割算法(Mask RCNN)一致,关键点检测分支与Mask RCNN的二维包围盒输出分支类似,区别在于将Mask RCNN的包围盒输出分支递归的二维包围盒的四个顶点,替换为关键点检测分支递归八个三维包围盒顶点的像素坐标。
预测NOLF图的方式有多种,可选地,通过深度学习网络以及图像掩膜获取NOLF图,该深度学习网络相较通用的Mask RCNN网络增加了三个新的分支结构,分别对应与预测建模对象在归一化坐标空间内x,y,z坐标。对于输入图像内的每一个建模对象,对应的兴趣区域(region of interests,ROI)特征向量均转换成的固定尺寸,该固定尺寸的特征向量作为实例分割掩膜和NOLF图预测分支共有的特征数据,通过相同结构的全卷积神经网络,实例分割掩膜分支输出一个掩膜图片,NOLF图三个预测分支均输出一个的图片,其中N为建模对象所属的类别数,32作为NOLF图像素在归一化空间在XYZ三个方向上的深度划分,即NOLF图在归一化空间内沿每个坐标划分成32个等分,从而将NOLF图预测问题转换成深度分类问题,提升训练的鲁棒性。
下面介绍本申请实施例中卷积神经网络的训练方法:
输入样本为单张二维图像,该二维图像具有类别的标签、掩膜、包围盒的角点坐标以及已知的待建模目标的NOLF图,通过卷积神经网络分别输出待建模目标的类别、图像掩膜、包围盒的角点的像素坐标,以及NOLF图。
卷积神经网络的损失函数定义为:
L=α1Lcls+α2Lmask+α3Lbb8+α4Lnolf
其中Lcls为分类的交叉熵损失函数,Lmask表示目标的分割掩模损失函数,Lbb8与Mask-RCNN的包围盒递归损失函数类似,但递归输出由二维包围盒的四个关键点坐标改为三维包围盒的8个关键点坐标。Lnolf为NOLF图预测损失函数,具体定义为:
其中pi、pj分别为NOLF图真值和预测值在相同像素坐标下的三维坐标值,N表示NOLF图的像素数量。α1、α2、α3和α4分别为各部分损失函数的权重。
上面介绍了本申请提供的三维重建方法,下面对实现该三维重建方法的三维重建装置进行介绍,请参阅图11,为本申请实施例中三维重建装置的一个实施例示意图。
本申请实施例提供的三维重建装置,包括:
获取单元1101,用于获取第一物体的图像和所述图像的相机位姿;
确定单元1102,用于通过第一深度学习网络,确定所述图像中所述第一物体的第一归一化位置场NOLF图,所述第一NOLF图指示所述第一物体在所述图像的拍摄视角下的归一化的三维点云;
所述确定单元1102,用于根据所述第一NOLF图,从模型数据库的多个三维模型中确定与所述第一物体对应的第一模型;
所述确定单元1102,还用于根据所述第一模型和所述图像的相机位姿确定所述第一物体的位姿;
重建单元1103,用于根据所述第一模型和所述第一物体的位姿三维重建所述图像中的所述第一物体。
可选的,所述确定单元1102还用于:根据所述第一NOLF图,确定所述第一物体的第一相对位姿,所述第一相对位姿为所述第一物体的位姿与所述图像的相机位姿之间的相对位姿;确定多个所述三维模型在所述第一相对位姿对应的视角下的NOLF图;所述确定单元1102具体用于:从多个所述三维模型各自对应的NOLF图中确定与所述第一NOLF图相似度最高的NOLF图对应的所述第一模型。
所述确定单元1102具体用于:通过第二深度学习网络,确定所述图像中所述第一物体的至少四个特征点的像素坐标,所述四个特征点指示的四个物点在三维空间中不共面;从所述第一NOLF图中确定所述至少四个特征点的三维坐标;根据所述至少四个特征点的所述像素坐标和所述三维坐标确定所述第一相对位姿。
可选的,所述确定单元1102具体用于:根据所述至少四个特征点的所述像素坐标和所述三维坐标,通过透视N点估计PnP算法确定所述第一相对位姿。
可选的,所述第一物体的特征点包括:所述第一物体的包围盒的八个角点。
可选的,所述确定单元1102具体用于:将所述图像输入所述第一深度学习网络,确定第一原始NOLF图;根据所述第一原始NOLF图和所述第一物体的图像掩膜,确定所述第一NOLF图。
可选的,所述模型数据库包括所述多个三维模型的类别,其中,所述第一物体属于第一类别;所述确定单元1102具体用于:根据所述第一NOLF图从属于所述第一类别的三维模型中确定所述第一模型。
上述单元可以用于执行上述任一实施例中所介绍的方法,具体实现过程和技术效果可参考图6至图10对应的实施例,具体此处不再赘述。
请参阅图12,为本申请实施例中三维重建装置的另一个实施例示意图;
本实施例提供的三维重建装置,可以为服务器或者终端等电子设备,本申请实施例中对其具体设备形态不做限定。
该三维重建装置1200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器1201和存储器1202,该存储器1202中存储有程序或数据。
其中,存储器1202可以是易失性存储或非易失性存储。可选地,处理器1201是一个或多个中央处理器(CPU,Central Processing Unit,该CPU可以是单核CPU,也可以是多核CPU。处理器1201可以与存储器1202通信,在三维重建装置1200上执行存储器1202中的一系列指令。
该三维重建装置1200还包括一个或一个以上有线或无线网络接口1203,例如以太网接口。
可选地,尽管图12中未示出,三维重建装置1200还可以包括一个或一个以上电源;一个或一个以上输入输出接口,输入输出接口可以用于连接显示器、鼠标、键盘、触摸屏设备或传感设备等,输入输出接口为可选部件,可以存在也可以不存在,此处不做限定。
本实施例中三维重建装置1200中的处理器1201所执行的流程可以参考前述方法实施例中描述的方法流程,此处不加赘述。
请参阅图13,为本申请实施例提供的一种芯片硬件结构图。
本申请实施例提供了一种芯片系统,可以用于实现该三维重建方法,具体地,图3和图4所示的基于卷积神经网络的算法可以在图13所示的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.一种三维重建方法,其特征在于,包括:
获取第一物体的图像和所述图像的相机位姿;
通过第一深度学习网络,确定所述图像中所述第一物体的第一归一化位置场NOLF图,所述第一NOLF图指示所述第一物体在所述图像的拍摄视角下的归一化的三维点云;
根据所述第一NOLF图,从模型数据库的多个三维模型中确定与所述第一物体对应的第一模型;
根据所述第一模型和所述图像的相机位姿确定所述第一物体的位姿;
根据所述第一模型和所述第一物体的位姿三维重建所述图像中的所述第一物体。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述第一NOLF图,确定所述第一物体的第一相对位姿,所述第一相对位姿为所述第一物体的位姿与所述图像的相机位姿之间的相对位姿;
确定多个所述三维模型在所述第一相对位姿对应的视角下的NOLF图;
所述根据所述第一NOLF图,从模型数据库的多个三维模型中确定与所述第一物体对应的第一模型包括:
从多个所述三维模型各自对应的NOLF图中确定与所述第一NOLF图相似度最高的NOLF图对应的所述第一模型。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一NOLF图,确定所述第一物体的第一相对位姿包括:
通过第二深度学习网络,确定所述图像中所述第一物体的至少四个特征点的像素坐标,所述四个特征点指示的四个物点在三维空间中不共面;
从所述第一NOLF图中确定所述至少四个特征点的三维坐标;
根据所述至少四个特征点的所述像素坐标和所述三维坐标确定所述第一相对位姿。
4.根据权利要求3所述的方法,其特征在于,所述根据所述至少四个特征点的所述像素坐标和所述三维坐标确定所述第一相对位姿包括:
根据所述至少四个特征点的所述像素坐标和所述三维坐标,通过透视N点估计PnP算法确定所述第一相对位姿。
5.根据权利要求3或4所述的方法,其特征在于,
所述第一物体的特征点包括:所述第一物体的包围盒的八个角点。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:
将所述图像输入所述第一深度学习网络,确定第一原始NOLF图;
根据所述第一原始NOLF图和所述第一物体的图像掩膜,确定所述第一NOLF图。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述模型数据库包括所述多个三维模型的类别,其中,所述第一物体属于第一类别,所述方法还包括:
根据所述第一NOLF图从属于所述第一类别的三维模型中确定所述第一模型。
8.一种三维重建装置,其特征在于,包括:
获取单元,用于获取第一物体的图像和所述图像的相机位姿;
确定单元,用于通过第一深度学习网络,确定所述图像中所述第一物体的第一归一化位置场NOLF图,所述第一NOLF图指示所述第一物体在所述图像的拍摄视角下的归一化的三维点云;
所述确定单元,用于根据所述第一NOLF图,从模型数据库的多个三维模型中确定与所述第一物体对应的第一模型;
所述确定单元,还用于根据所述第一模型和所述图像的相机位姿确定所述第一物体的位姿;
重建单元,用于根据所述第一模型和所述第一物体的位姿三维重建所述图像中的所述第一物体。
9.根据权利要求8所述的装置,其特征在于,所述确定单元还用于:
根据所述第一NOLF图,确定所述第一物体的第一相对位姿,所述第一相对位姿为所述第一物体的位姿与所述图像的相机位姿之间的相对位姿;
确定多个所述三维模型在所述第一相对位姿对应的视角下的NOLF图;
所述确定单元具体用于:
从多个所述三维模型各自对应的NOLF图中确定与所述第一NOLF图相似度最高的NOLF图对应的所述第一模型。
10.根据权利要求9所述的装置,其特征在于,所述确定单元具体用于:
通过第二深度学习网络,确定所述图像中所述第一物体的至少四个特征点的像素坐标,所述四个特征点指示的四个物点在三维空间中不共面;
从所述第一NOLF图中确定所述至少四个特征点的三维坐标;
根据所述至少四个特征点的所述像素坐标和所述三维坐标确定所述第一相对位姿。
11.根据权利要求10所述的装置,其特征在于,所述确定单元具体用于:
根据所述至少四个特征点的所述像素坐标和所述三维坐标,通过透视N点估计PnP算法确定所述第一相对位姿。
12.根据权利要求10或11所述的装置,其特征在于,所述第一物体的特征点包括:所述第一物体的包围盒的八个角点。
13.根据权利要求8至12中任一项所述的装置,其特征在于,
所述确定单元具体用于:
将所述图像输入所述第一深度学习网络,确定第一原始NOLF图;
根据所述第一原始NOLF图和所述第一物体的图像掩膜,确定所述第一NOLF图。
14.根据权利要求8至13中任一项所述的装置,其特征在于,所述模型数据库包括所述多个三维模型的类别,其中,所述第一物体属于第一类别;
所述确定单元具体用于:
根据所述第一NOLF图从属于所述第一类别的三维模型中确定所述第一模型。
15.一种三维重建装置,其特征在于,包括处理器和存储器,所述处理器和所述存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器用于调用所述程序指令,执行如权利要求1至7中任一项所述的方法。
16.一种包含指令的计算机程序产品,其特征在于,当其在计算机上运行时,使得所述计算机执行如权利要求1至7中任一项所述的方法。
17.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在计算机上运行时,使得计算机执行如权利要求1至7中任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010143002.1A CN113362382B (zh) | 2020-03-04 | 2020-03-04 | 三维重建方法和三维重建装置 |
PCT/CN2021/074094 WO2021175050A1 (zh) | 2020-03-04 | 2021-01-28 | 三维重建方法和三维重建装置 |
US17/902,624 US20220414911A1 (en) | 2020-03-04 | 2022-09-02 | Three-dimensional reconstruction method and three-dimensional reconstruction apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010143002.1A CN113362382B (zh) | 2020-03-04 | 2020-03-04 | 三维重建方法和三维重建装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113362382A true CN113362382A (zh) | 2021-09-07 |
CN113362382B CN113362382B (zh) | 2024-09-20 |
Family
ID=77523353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010143002.1A Active CN113362382B (zh) | 2020-03-04 | 2020-03-04 | 三维重建方法和三维重建装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220414911A1 (zh) |
CN (1) | CN113362382B (zh) |
WO (1) | WO2021175050A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113989445A (zh) * | 2021-12-29 | 2022-01-28 | 国网瑞嘉(天津)智能机器人有限公司 | 三维场景重建方法、装置、系统及计算机可读存储介质 |
CN114529604A (zh) * | 2022-01-25 | 2022-05-24 | 广州极点三维信息科技有限公司 | 一种空间物体定向碰撞检测方法、系统装置及介质 |
CN114596363A (zh) * | 2022-05-10 | 2022-06-07 | 北京鉴智科技有限公司 | 一种三维点云标注方法、装置及终端 |
CN114708399A (zh) * | 2022-03-21 | 2022-07-05 | 北京百度网讯科技有限公司 | 三维重建的方法、装置、设备、介质及产品 |
CN115222896A (zh) * | 2022-09-20 | 2022-10-21 | 荣耀终端有限公司 | 三维重建方法、装置、电子设备及计算机可读存储介质 |
CN116758198A (zh) * | 2023-06-15 | 2023-09-15 | 北京京东乾石科技有限公司 | 图像重建方法、装置、设备及存储介质 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111914901A (zh) * | 2020-07-06 | 2020-11-10 | 周爱丽 | 座椅排列整齐度测量系统及方法 |
CN114758076A (zh) * | 2022-04-22 | 2022-07-15 | 北京百度网讯科技有限公司 | 一种用于建立三维模型的深度学习模型的训练方法及装置 |
CN115223028B (zh) * | 2022-06-02 | 2024-03-29 | 支付宝(杭州)信息技术有限公司 | 场景重建及模型训练方法、装置、设备、介质及程序产品 |
CN115422613B (zh) * | 2022-09-20 | 2023-04-07 | 国能(惠州)热电有限责任公司 | 一种三维数字化智能设计方法及系统 |
CN115578515B (zh) * | 2022-09-30 | 2023-08-11 | 北京百度网讯科技有限公司 | 三维重建模型的训练方法、三维场景渲染方法及装置 |
CN115840507B (zh) * | 2022-12-20 | 2024-05-24 | 北京帮威客科技有限公司 | 一种基于3d图像控制的大屏设备交互方法 |
CN116258817B (zh) * | 2023-02-16 | 2024-01-30 | 浙江大学 | 一种基于多视图三维重建的自动驾驶数字孪生场景构建方法和系统 |
CN116524123B (zh) * | 2023-04-20 | 2024-02-13 | 深圳市元甪科技有限公司 | 一种三维电阻抗断层扫描图像重建方法及相关设备 |
CN116258835B (zh) * | 2023-05-04 | 2023-07-28 | 武汉大学 | 基于深度学习的点云数据三维重建方法和系统 |
CN116580163B (zh) * | 2023-07-14 | 2023-12-22 | 深圳元戎启行科技有限公司 | 三维场景重建方法、电子设备及存储介质 |
CN117333618A (zh) * | 2023-10-20 | 2024-01-02 | 神力视界(深圳)文化科技有限公司 | 三维场景生成方法、装置、电子设备及存储介质 |
CN117876610B (zh) * | 2024-03-12 | 2024-05-24 | 之江实验室 | 针对三维构建模型的模型训练方法、装置、存储介质 |
CN118364209A (zh) * | 2024-06-20 | 2024-07-19 | 四川腾盾科技有限公司 | 一种目标角点精准提取方法、设备、介质及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101631257A (zh) * | 2009-08-06 | 2010-01-20 | 中兴通讯股份有限公司 | 一种实现二维视频码流立体播放的方法及装置 |
CN109003325A (zh) * | 2018-06-01 | 2018-12-14 | 网易(杭州)网络有限公司 | 一种三维重建的方法、介质、装置和计算设备 |
CN109410316A (zh) * | 2018-09-21 | 2019-03-01 | 深圳前海达闼云端智能科技有限公司 | 物体的三维重建的方法、跟踪方法、相关装置及存储介质 |
CN109658449A (zh) * | 2018-12-03 | 2019-04-19 | 华中科技大学 | 一种基于rgb-d图像的室内场景三维重建方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102129708A (zh) * | 2010-12-10 | 2011-07-20 | 北京邮电大学 | 增强现实环境中快速多层次虚实遮挡处理方法 |
US20150015582A1 (en) * | 2013-07-15 | 2015-01-15 | Markus Kaiser | Method and system for 2d-3d image registration |
US20200057778A1 (en) * | 2017-04-11 | 2020-02-20 | Siemens Mobility GmbH | Depth image pose search with a bootstrapped-created database |
US20190138786A1 (en) * | 2017-06-06 | 2019-05-09 | Sightline Innovation Inc. | System and method for identification and classification of objects |
CN107833270B (zh) * | 2017-09-28 | 2020-07-03 | 浙江大学 | 基于深度相机的实时物体三维重建方法 |
US11361505B2 (en) * | 2019-06-06 | 2022-06-14 | Qualcomm Technologies, Inc. | Model retrieval for objects in images using field descriptors |
-
2020
- 2020-03-04 CN CN202010143002.1A patent/CN113362382B/zh active Active
-
2021
- 2021-01-28 WO PCT/CN2021/074094 patent/WO2021175050A1/zh active Application Filing
-
2022
- 2022-09-02 US US17/902,624 patent/US20220414911A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101631257A (zh) * | 2009-08-06 | 2010-01-20 | 中兴通讯股份有限公司 | 一种实现二维视频码流立体播放的方法及装置 |
CN109003325A (zh) * | 2018-06-01 | 2018-12-14 | 网易(杭州)网络有限公司 | 一种三维重建的方法、介质、装置和计算设备 |
CN109410316A (zh) * | 2018-09-21 | 2019-03-01 | 深圳前海达闼云端智能科技有限公司 | 物体的三维重建的方法、跟踪方法、相关装置及存储介质 |
CN109658449A (zh) * | 2018-12-03 | 2019-04-19 | 华中科技大学 | 一种基于rgb-d图像的室内场景三维重建方法 |
Non-Patent Citations (2)
Title |
---|
ALEXANDER GRABNER ET AL.: "Location Field Descriptors:Single Image 3D Model Retrieval in the Wild", 2019 INTERNATIONAL CONFERENCE ON 3D VISION (3DV), pages 583 - 593 * |
刘明明: "基于单张图像的室内场景建模技术研究", 中国博士学位论文全文数据库信息科技辑, no. 06, pages 138 - 29 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113989445A (zh) * | 2021-12-29 | 2022-01-28 | 国网瑞嘉(天津)智能机器人有限公司 | 三维场景重建方法、装置、系统及计算机可读存储介质 |
CN113989445B (zh) * | 2021-12-29 | 2022-03-01 | 国网瑞嘉(天津)智能机器人有限公司 | 三维场景重建方法、装置、系统及计算机可读存储介质 |
CN114529604A (zh) * | 2022-01-25 | 2022-05-24 | 广州极点三维信息科技有限公司 | 一种空间物体定向碰撞检测方法、系统装置及介质 |
CN114529604B (zh) * | 2022-01-25 | 2022-12-13 | 广州极点三维信息科技有限公司 | 一种空间物体定向碰撞检测方法、系统装置及介质 |
CN114708399A (zh) * | 2022-03-21 | 2022-07-05 | 北京百度网讯科技有限公司 | 三维重建的方法、装置、设备、介质及产品 |
CN114596363A (zh) * | 2022-05-10 | 2022-06-07 | 北京鉴智科技有限公司 | 一种三维点云标注方法、装置及终端 |
CN114596363B (zh) * | 2022-05-10 | 2022-07-22 | 北京鉴智科技有限公司 | 一种三维点云标注方法、装置及终端 |
CN115222896A (zh) * | 2022-09-20 | 2022-10-21 | 荣耀终端有限公司 | 三维重建方法、装置、电子设备及计算机可读存储介质 |
CN116758198A (zh) * | 2023-06-15 | 2023-09-15 | 北京京东乾石科技有限公司 | 图像重建方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113362382B (zh) | 2024-09-20 |
WO2021175050A1 (zh) | 2021-09-10 |
US20220414911A1 (en) | 2022-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113362382B (zh) | 三维重建方法和三维重建装置 | |
Xie et al. | Multilevel cloud detection in remote sensing images based on deep learning | |
US10297070B1 (en) | 3D scene synthesis techniques using neural network architectures | |
JP6765487B2 (ja) | 人工知能を用いるコンピュータ実施方法、aiシステム、及びプログラム | |
Faugeras et al. | The representation, recognition, and locating of 3-D objects | |
US5845048A (en) | Applicable recognition system for estimating object conditions | |
CN112990010B (zh) | 点云数据处理方法、装置、计算机设备和存储介质 | |
WO2021218238A1 (zh) | 图像处理方法和图像处理装置 | |
CN111368656A (zh) | 一种视频内容描述方法和视频内容描述装置 | |
CN113065576A (zh) | 一种特征提取的方法以及装置 | |
CN115222896B (zh) | 三维重建方法、装置、电子设备及计算机可读存储介质 | |
US11423615B1 (en) | Techniques for producing three-dimensional models from one or more two-dimensional images | |
Szczuko | Deep neural networks for human pose estimation from a very low resolution depth image | |
WO2021190433A1 (zh) | 更新物体识别模型的方法和装置 | |
CN114219855A (zh) | 点云法向量的估计方法、装置、计算机设备和存储介质 | |
CN113673505A (zh) | 实例分割模型的训练方法、装置、系统及存储介质 | |
CN116152334A (zh) | 图像处理方法及相关设备 | |
Zhang et al. | A posture detection method for augmented reality–aided assembly based on YOLO-6D | |
Qin et al. | Depth estimation by parameter transfer with a lightweight model for single still images | |
Wei et al. | Panorama-to-model registration through integration of image retrieval and semantic reprojection | |
CN117689887A (zh) | 基于点云分割的工件抓取方法、装置、设备及存储介质 | |
CN115147564A (zh) | 一种三维模型构建方法、神经网络训练方法以及装置 | |
Geng et al. | SANet: A novel segmented attention mechanism and multi-level information fusion network for 6D object pose estimation | |
CN116071570A (zh) | 一种室内场景下的3d目标检测方法 | |
CN115841605A (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 |