CN116151358A - 神经网络模型训练方法、矢量化三维模型建立方法及设备 - Google Patents
神经网络模型训练方法、矢量化三维模型建立方法及设备 Download PDFInfo
- Publication number
- CN116151358A CN116151358A CN202111357123.7A CN202111357123A CN116151358A CN 116151358 A CN116151358 A CN 116151358A CN 202111357123 A CN202111357123 A CN 202111357123A CN 116151358 A CN116151358 A CN 116151358A
- Authority
- CN
- China
- Prior art keywords
- target
- neural network
- planes
- network model
- initial
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例公开了一种神经网络模型训练方法、矢量化三维模型建立方法及设备,涉及人工智能AI技术领域,该方案中,神经网络模型在训练过程中基于平面作为重建单元对样本图像和对应的矢量化三维模型进行训练,由此可以直接通过将图像输入至训练好的神经网络模型得到矢量化三维模型,极大降低了重建成本的同时也实现了全自动重建,无需人工干预,还可以在弱纹理区域有较好的重建效果。
Description
技术领域
本申请实施例涉及人工智能(artificial intelligence,AI)领域,尤其涉及一种神经网络模型训练方法、矢量化三维模型建立方法及设备。
背景技术
矢量化三维模型是诸多任务的基础数据,比如定位与导航、室内设计、虚拟现实等,不同于稠密的三维点云,矢量化三维模型是高度抽象的结构化三维模型,因此通常需要人工干预才能获得较好的结果。
目前主流的矢量化三维模型重建方案主要包括两种,分别为基于激光扫描仪的方案和基于影像的方案,两者均以重建出稠密的三维点云为目标。
但是前者设备和采集成本极高,而后者易受弱纹理等干扰,重建完整度低,矢量化三维模型需要进一步人工勾画处理才能获得。
发明内容
本申请实施例提供一种神经网络模型训练方法、矢量化三维模型建立方法及设备,用于低成本自动化重建矢量化三维模型,提升弱纹理区域的重建效果。本申请实施例还提供了相应的计算机设备、计算机可读存储介质及芯片系统等。
本申请第一方面提供一种神经网络模型训练方法,包括:获取训练样本,训练样本包括样本图像、样本对象的目标矢量化三维模型和预设相机的相机参数,样本图像为预设相机拍摄样本对象得到的;基于训练样本对第一神经网络模型进行训练,第一神经网络模型用于得到样本图像的初始矢量化三维模型,根据初始矢量化三维模型和目标矢量化三维模型的偏差对第一神经网络模型进行迭代更新得到第二神经网络模型,第二神经网络模型用于预测目标对象的矢量化三维模型;其中,初始矢量化三维模型为多个初始平面进行相交得到的,多个初始平面是根据初始布局和相机参数确定的,初始布局为第一神经网络模型根据样本图像确定。
本申请中的样本对象可以为任意场景,例如室内外建筑物,具体可以为一个房间的室内场景,样本图像为多视角影像数据,样本图像为多张。
本申请中的第一神经网络模型可以根据样本图像确定出样本图像的初始布局,根据初始布局和所述相机参数确定出多个初始平面,并将多个初始平面进行相交得到初始矢量化三维模型。
本申请中将多组训练样本输入第一神经网络模型后,根据第一神经网络模型输出的矢量化三维模型和目标矢量化三维模型的偏差进行反复训练,当训练迭代了预设次数或训练损失小于预设值时可以得到第二神经网络模型,其中预设值可以为用户预先指定的值,预设次数可以为用户预先指定的次数,将一组训练样本中的多张样本图像和预设相机的相机参数输入至第二神经网络模型,该第二神经网络模型输出的矢量化三维模型和该组训练样本中的目标矢量化三维模型之间的偏差小于用户要求的预设值。
该第一方面,神经网络模型在训练过程中基于平面作为重建单元对样本图像和对应的矢量化三维模型进行训练,由此可以直接通过将图像输入至训练好的神经网络模型得到矢量化三维模型,极大降低了重建成本的同时也实现了全自动重建,无需人工干预,还可以在弱纹理区域有较好的重建效果。
在第一方面的一种可能的实现方式中,第一神经网络模型用于确定多个初始平面中每个初始平面附近的多个备选平面,并从多个初始平面和多个备选平面中确定多个目标平面,第一神经网络模型具体用于将多个目标平面进行相交得到初始矢量化三维模型。
该种可能的实现方式中,从多个初始平面中确定备选平面,然后从多个初始平面和多个备选平面中确定多个目标平面,从而找到更准确真实的平面来得到矢量化三维模型,提升了重建矢量化三维模型的准确性。
在第一方面的一种可能的实现方式中,初始布局包括样本图像中多个初始平面的像素坐标,第一神经网络模型具体用于根据像素坐标获取多个初始平面的平面方程,并基于多个初始平面的平面方程确定多个初始平面中每个初始平面附近的多个备选平面的平面方程,以确定多个备选平面。
该种可能的实现方式中,基于平面方程确定多个备选平面,提升了方案的可实现性。
在第一方面的一种可能的实现方式中,样本图像为多视角影像数据,样本图像为多张,第一神经网络模型具体还用于获取多张样本图像的一致性代价,并根据一致性代价从多个初始平面和多个备选平面中确定多个目标平面。
该种可能的实现方式中,样本图像为多视角影像数据,从而可以获取多张样本图像的一致性代价,并基于该一致性代价来确定目标平面,提升了方案的可实现性。
在第一方面的一种可能的实现方式中,第一神经网络模型具体还用于通过特征提取网络提取多张样本图像中每个像素的特征向量,根据相机参数、多个初始平面和多个备选平面进行以平面为基元的可微映射,得到多张样本图像间的对应关系,并根据特征向量和对应关系以平面为基本单元得到一致性代价。
该种可能的实现方式中,通过以平面为基元的可微映射得到多张样本图像间的对应关系,从而计算出一致性代价,提升了方案的可实现性。
在第一方面的一种可能的实现方式中,第一神经网络模型具体还用于通过语义分割网络得到多张样本图像的语义分割结果,通过自适应权值网络得到多张样本图像的自适应权值,并将语义分割结果和自适应权值作为目标权值对一致性代价进行加权累计。
该种可能的实现方式中,通过语义分割和自适应权值网络提取权值,去除遮挡因素的影响,提升了重建矢量化三维模型的准确性。
在第一方面的一种可能的实现方式中,第一神经网络模型具体还用于将深度图真值作为可微映射和加权累计的弱监督信号,深度图真值通过扫描多张样本图像得到。
该种可能的实现方式中,还可以通过扫描多张样本图像得到深度图真值来作为可微映射和加权累计的弱监督信号,提升了重建矢量化三维模型的准确性。
本申请第二方面提供一种矢量化三维模型建立方法,包括:获取目标图像和预设相机的相机参数,目标图像为预设相机拍摄目标对象得到的;将目标图像和相机参数输入至目标神经网络模型以预测目标对象的矢量化三维模型;其中,目标对象的矢量化三维模型为多个初始平面进行相交得到的,多个初始平面是根据初始布局和相机参数确定的,初始布局为目标神经网络模型根据目标图像确定。
本申请中的样本对象可以为任意场景,例如室内外建筑物,具体可以为一个房间的室内场景,样本图像为多视角影像数据,样本图像为多张。
本申请中的目标神经网络模型为预先训练好的。
该第二方面,可以直接通过将图像输入至训练好的目标神经网络模型得到矢量化三维模型,极大降低了重建成本的同时也实现了全自动重建,无需人工干预,还可以在弱纹理区域有较好的重建效果。
在第二方面的一种可能的实现方式中,目标神经网络模型还用于确定多个初始平面中每个初始平面附近的多个备选平面,并从多个初始平面和多个备选平面中确定多个目标平面,目标神经网络模型具体用于将多个目标平面进行相交得到矢量化三维模型。
该种可能的实现方式中,从多个初始平面中确定备选平面,然后从多个初始平面和多个备选平面中确定多个目标平面,从而找到更准确真实的平面来得到矢量化三维模型,提升了重建矢量化三维模型的准确性。
在第二方面的一种可能的实现方式中,初始布局包括目标图像中多个初始平面的像素坐标,目标神经网络模型具体用于根据像素坐标获取多个初始平面的平面方程,并基于多个初始平面的平面方程确定多个初始平面中每个初始平面附近的多个备选平面的平面方程,以确定多个备选平面。
该种可能的实现方式中,基于平面方程确定多个备选平面,提升了方案的可实现性。
在第二方面的一种可能的实现方式中,目标图像为多视角影像数据,目标图像为多张,目标神经网络模型具体还用于获取多张目标图像的一致性代价,并根据一致性代价从多个初始平面和多个备选平面中确定多个目标平面。
该种可能的实现方式中,样本图像为多视角影像数据,从而可以获取多张样本图像的一致性代价,并基于该一致性代价来确定目标平面,提升了方案的可实现性。
在第二方面的一种可能的实现方式中,目标神经网络模型具体还用于通过特征提取网络提取多张目标图像中每个像素的特征向量,根据相机参数、多个初始平面和多个备选平面进行以平面为基元的可微映射,得到多张目标图像间的对应关系,并根据特征向量和对应关系以平面为基本单元得到一致性代价。
该种可能的实现方式中,通过以平面为基元的可微映射得到多张样本图像间的对应关系,从而计算出一致性代价,提升了方案的可实现性。
在第二方面的一种可能的实现方式中,目标神经网络模型具体还用于通过语义分割网络得到多张目标图像的语义分割结果,通过自适应权值网络得到多张目标图像的自适应权值,并将语义分割结果和自适应权值作为目标权值对一致性代价进行加权累计。
该种可能的实现方式中,通过语义分割和自适应权值网络提取权值,去除遮挡因素的影响,提升了重建矢量化三维模型的准确性。
本申请第三方面,提供了一种计算机设备,用于执行上述第一方面或第一方面的任意可能的实现方式中的方法。具体地,该计算机设备包括用于执行上述第一方面或第一方面的任意可能的实现方式中的方法的模块或单元,如:获取单元和训练单元。
本申请第四方面,提供了一种计算机设备,用于执行上述第二方面或第二方面的任意可能的实现方式中的方法。具体地,该计算机设备包括用于执行上述第二方面或第二方面的任意可能的实现方式中的方法的模块或单元,如:获取单元和处理单元。
本申请第五方面提供一种计算机设备,该计算机设备包括处理器、内存和存储有计算机程序的计算机可读存储介质;处理器与计算机可读存储介质耦合,处理器上运行的计算机执行指令,当计算机执行指令被处理器执行时,处理器执行如上述第一方面或第一方面任意一种可能的实现方式的方法。可选地,该计算机设备还可以包括输入/输出(input/output,I/O)接口,该存储有计算机程序的计算机可读存储介质可以是存储器。
本申请第六方面提供一种计算机设备,该计算机设备包括处理器、内存和存储有计算机程序的计算机可读存储介质;处理器与计算机可读存储介质耦合,处理器上运行的计算机执行指令,当计算机执行指令被处理器执行时,处理器执行如上述第二方面或第二方面任意一种可能的实现方式的方法。可选地,该计算机设备还可以包括输入/输出(input/output,I/O)接口,该存储有计算机程序的计算机可读存储介质可以是存储器。
本申请第七方面提供一种存储一个或多个计算机执行指令的计算机可读存储介质,当计算机执行指令被处理器执行时,处理器执行如上述第一方面或第一方面任意一种可能的实现方式的方法。
本申请第八方面提供一种存储一个或多个计算机执行指令的计算机可读存储介质,当计算机执行指令被处理器执行时,处理器执行如上述第二方面或第二方面任意一种可能的实现方式的方法。
本申请第九方面提供一种存储一个或多个计算机执行指令的计算机程序产品,当计算机执行指令被处理器执行时,处理器执行如上述第一方面或第一方面任意一种可能的实现方式的方法。
本申请第十方面提供一种存储一个或多个计算机执行指令的计算机程序产品,当计算机执行指令被处理器执行时,处理器执行如上述第二方面或第二方面任意一种可能的实现方式的方法。
本申请第十一方面提供了一种芯片系统,该芯片系统包括至少一个处理器和接口,该接口用于接收数据和/或信号,至少一个处理器用于支持计算机设备实现上述第一方面或第一方面任意一种可能的实现方式中所涉及的功能。在一种可能的设计中,芯片系统还可以包括存储器,存储器,用于保存计算机设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
本申请第十二方面提供了一种芯片系统,该芯片系统包括至少一个处理器和接口,该接口用于接收数据和/或信号,至少一个处理器用于支持计算机设备实现上述第二方面或第二方面任意一种可能的实现方式中所涉及的功能。在一种可能的设计中,芯片系统还可以包括存储器,存储器,用于保存计算机设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
本申请实施例中,神经网络模型在训练过程中基于平面作为重建单元对样本图像和对应的矢量化三维模型进行训练,由此可以直接通过将图像输入至训练好的神经网络模型得到矢量化三维模型,极大降低了重建成本的同时也实现了全自动重建,无需人工干预,还可以在弱纹理区域有较好的重建效果。
附图说明
图1是一种人工智能主体框架示意图;
图2是本申请实施例提供的系统架构的一示意图;
图3是卷积神经网络的一结构示意图;
图4是卷积神经网络的另一结构示意图;
图5是本申请实施例提供的系统架构的另一示意图;
图6是本申请实施例提供的神经网络模型训练方法的一实施例示意图;
图7是本申请实施例提供的神经网络模型训练方法的一实施例流程示意图;
图8是本申请实施例提供的矢量化三维模型重建方法的一实施例示意图;
图9是本申请实施例提供的矢量化三维模型重建方法的一实施例流程示意图;
图10是本申请实施例提供的矢量化三维模型重建方法的一实施例中步骤s4的流程示意图;
图11是本申请实施例提供的系统架构中计算机设备的一示意图;
图12是本申请实施例提供的单张影像布局预测方法的重建效果图;
图13是本申请实施例提供的矢量化三维模型重建方法的重建效果图;
图14是本申请实施例提供的计算机设备的一结构示意图;
图15是本申请实施例提供的计算机设备的另一结构示意图;
图16是本申请实施例提供的计算机设备的另一结构示意图;
图17是本申请实施例提供的计算机设备的另一结构示意图。
具体实施方式
下面结合附图,对本申请的实施例进行描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着技术发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例提供一种神经网络模型训练方法、矢量化三维模型建立方法及设备,用于低成本自动化重建矢量化三维模型,提升弱纹理区域的重建效果。本申请实施例还提供了相应的计算机设备、计算机可读存储介质及芯片系统等。以下分别进行详细说明。
人工智能(artificial intelligence,AI)是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
图1是一种人工智能主体框架示意图,该主体框架描述了人工智能系统总体工作流程,适用于通用的人工智能领域需求。
下面从“智能信息链”(水平轴)和“IT价值链”(垂直轴)两个维度对上述人工智能主题框架进行阐述。
“智能信息链”反映从数据的获取到处理的一列过程。举例来说,可以是智能信息感知、智能信息表示与形成、智能推理、智能决策、智能执行与输出的一般过程。在这个过程中,数据经历了“数据—信息—知识—智慧”的凝练过程。
“IT价值链”从人智能的底层基础设施、信息(提供和处理技术实现)到系统的产业生态过程,反映人工智能为信息技术产业带来的价值。
(1)基础设施:
基础设施为人工智能系统提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。通过传感器与外部沟通;计算能力由智能芯片(中央处理器(centralprocessing unit,CPU)、神经网络处理器(network processing unit,NPU)、图形处理器(graphic processing unit GPU)、专用集成电路(application specific integratedcircuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)等硬件加速芯片)提供;基础平台包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。举例来说,传感器和外部沟通获取数据,这些数据提供给基础平台提供的分布式计算系统中的智能芯片进行计算。
(2)数据
基础设施的上一层的数据用于表示人工智能领域的数据来源。数据涉及到图形、图像、语音、文本,还涉及到传统设备的物联网数据,包括已有系统的业务数据以及力、位移、液位、温度、湿度等感知数据。
(3)数据处理
数据处理通常包括数据训练,机器学习,深度学习,搜索,推理,决策等方式。
其中,机器学习和深度学习可以对数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等。
推理是指在计算机或智能系统中,模拟人类的智能推理方式,依据推理控制策略,利用形式化的信息进行机器思维和求解问题的过程,典型的功能是搜索与匹配。
决策是指智能信息经过推理后进行决策的过程,通常提供分类、排序、预测等功能。
(4)通用能力
对数据经过上面提到的数据处理后,进一步基于数据处理的结果可以形成一些通用的能力,比如可以是算法或者一个通用系统,例如,翻译,文本的分析,计算机视觉的处理,语音识别,图像的识别等等。
(5)智能产品及行业应用
智能产品及行业应用指人工智能系统在各领域的产品和应用,是对人工智能整体解决方案的封装,将智能信息决策产品化、实现落地应用,其应用领域主要包括:智能制造、智能交通、智能家居、智能医疗、智能安防、自动驾驶、智慧城市、智能终端、智能营销、智慧城市以及智能客服等。
无论是在人工智能的哪种应用中,都会涉及到神经网络模型,例如:深度神经网络(deep neural networks,DNN)模型或卷积神经网络(convolutional neuron network,CNN)模型。使用不同领域或业务场景的样本数据对初始神经网络模型进行训练,就可得到适用于该业务场景的目标神经网络模型。该样本数据可以是图像数据、语音数据或文本数据等,该样本数据的类型依据该神经网络模型所适用的领域来确定。例如:该神经网络模型用于影像处理领域时,该样本数据可以为相机拍摄得的各种图像数据,该神经网络模型的训练过程可以在图2所示的系统架构200中进行。
参阅图2,本申请实施例提供了一种系统架构200。数据采集设备260用于采集用于神经网络模型训练的样本数据并存入数据库230,该样本数据可以参阅上一段对样本数据的介绍进行理解,此处不再重复描述。训练设备220基于数据库230中维护的样本数据生成目标神经网络模型/规则201。下面将更详细地描述训练设备220如何基于样本数据得到目标神经网络模型/规则201,目标神经网络模型/规则201例如能够根据目标图像重建矢量化三维模型等。
深度神经网络模型中的每一层的工作可以用数学表达式y=a(W.x+b)来描述。其中,W是权重向量,该向量中的每一个值表示该层神经网络中的一个神经元的权重值。该向量W决定着上文所述的输入空间到输出空间的空间变换,即每一层的权重W控制着如何变换空间。训练深度神经网络模型的目的,也就是最终得到训练好的神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。因此,神经网络模型的训练过程本质上就是学习控制空间变换的方式,更具体的就是学习权重矩阵。
“神经网络模型的预测值和目标值之间的差异”,这便是损失函数(lossfunction)或目标函数(objective function)。
训练设备220得到的目标神经网络模型/规则可以应用不同的系统或设备中。在图2中,执行设备210配置有I/O接口212,与外部设备进行数据交互,“用户”可以通过客户设备240向I/O接口212输入数据。
执行设备210可以调用数据存储系统250中的数据、代码等,也可以将数据、指令等存入数据存储系统250中。
计算模块211使用目标神经网络模型/规则201对输入的数据进行处理,例如:在自动驾驶领域,该目标神经网络模型/规则201从交通场景的图像数据中识别出自动行驶过程中的障碍物等。
最后,I/O接口212将处理结果返回给客户设备240,提供给用户。
更深层地,训练设备220可以针对不同的目标,基于不同业务场景的样本数据生成相应的目标神经网络模型/规则201,以给用户提供更佳的结果。
值得注意的,图2仅是本申请实施例提供的一种系统架构的示意图,图2中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在图2中,数据存储系统250相对执行设备210是外部存储器,在其它情况下,也可以将数据存储系统250置于执行设备210中。
该系统架构200可以部署在服务器、虚拟机以及终端设备等计算机设备上。例如,终端设备可以是手机(mobile phone)、平板电脑(pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端、增强现实(augmented reality,AR)终端、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等。
卷积神经网络模型也可以简称为卷积神经网络,是一种带有卷积结构的深度神经网络,是一种深度学习(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可以包括很多个卷积算子,卷积算子也称为核,其在图像处理中的作用相当于一个从输入图像矩阵中提取特定信息的过滤器,卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义。
这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权重值形成的各个权重矩阵可以从输入图像中提取信息,从而帮助卷积神经网络模型100进行正确的预测。
池化层:
由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层,即如图3中120所示例的121-126各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。在图像处理过程中,池化层的唯一目的就是减少图像的空间大小。
神经网络层130:
在经过卷积层/池化层120的处理后,卷积神经网络模型100还不足以输出所需要的输出信息。因为如前所述,卷积层/池化层120只会提取特征,并减少输入图像带来的参数。然而为了生成最终的输出信息(所需要的类信息或别的相关信息),卷积神经网络模型100需要利用神经网络层130来生成一个或者一组所需要的类的数量的输出。因此,在神经网络层130中可以包括多层隐含层(如图3所示的131、132至13n)以及输出层140,该多层隐含层中所包含的参数可以根据具体的任务类型的相关训练数据进行预先训练得到,例如该任务类型可以包括图像识别,图像分类,图像超分辨率重建等。
在神经网络层130中的多层隐含层之后,也就是整个卷积神经网络模型100的最后层为输出层140。该输出层140具有类似分类交叉熵的损失函数,具体用于计算预测误差,一旦整个卷积神经网络模型100的前向传播(如图3由110至140的传播为前向传播)完成,反向传播(如图3由140至110的传播为反向传播)就会开始更新前面提到的各层的权重值以及偏差,以减少卷积神经网络模型100的损失及卷积神经网络模型100通过输出层输出的结果和理想结果之间的误差。
需要说明的是,如图3所示的卷积神经网络模型100仅作为一种卷积神经网络模型的示例,在具体的应用中,卷积神经网络模型还可以以其他网络模型的形式存在,例如,如图4所示的多个卷积层/池化层并行,将分别提取的特征均输入给全神经网络层130进行处理。
上述图3和图4所示的基于卷积神经网络模型的算法可以在NPU芯片中实现。
由上述介绍可知,无论是深度神经网络模型还是卷积神经网络模型都包括权重。实际上,神经网络模型的训练过程就是通过多次迭代不断更新神经网络模型中权重的过程,在模型训练过程中,每次迭代都会使用样本数据计算本次迭代的损失函数,然后对损失函数进行一阶优化得到一阶梯度,然后在一阶梯度的基础上再进行进一步的附加优化,例如:在一阶梯度的基础上再进一步进行二阶优化,从而得到本次迭代的更新权重,然后使用本次迭代的更新权重进行模型更新,再在本次迭代更新了权重之后的模型基础上进行下一次迭代,直到迭代更新了预设次数或者损失小于预设值达到收敛,完成神经网络模型的整个训练过程,其中预设值可以为用户预先指定的值,预设次数可以为用户预先指定的次数。
基于上述图1至图4所介绍的系统架构以及神经网络模型,本申请实施例提供一种神经网络模型训练方法,通过本申请训练得到的神经网络模型可以用于重建矢量化三维模型,具体过程可以参阅图5进行理解。
如图5所示,在模型训练阶段,第一计算机设备可以获取多组训练样本,其中每组训练样本包括预设相机拍摄样本对象得到的样本图像、样本对象的目标矢量化三维模型和预设相机的相机参数,然后基于多组训练样本对第一神经网络模型进行训练,得到第二神经网络模型,模型训练阶段可以是离线进行的,也可以周期性的重新训练或更新该第一神经网络模型,得到更优的第二神经网络模型。
模型训练阶段训练得到的第二神经网络模型可以应用于矢量化三维模型重建阶段,该第二神经网络模型可以存储与第二计算设备中。在矢量化三维模型重建阶段,可以通过客户端获取预设相机对目标对象进行拍摄得到的目标图像和预设相机的相机参数,然后将目标图像和相机参数输入至目标神经网络模型,目标神经网络模型用于通过布局预测网络得到目标图像的初始布局,根据初始布局和相机参数确定多个初始平面,并将多个初始平面进行相交得到矢量化三维模型,并返回给客户端。
上述图5中的第一计算机设备或第二计算机设备可以是服务器、终端设备或虚拟机。
下面对模型训练的过程和矢量化三维模型重建的过程分别进行介绍。
如图6所示,本申请实施例提供的神经网络模型训练方法的一实施例包括:
601、获取训练样本。
在对第一神经网络模型进行训练时,首先需要获取到训练样本,其中,训练样本可以是多组,每组训练样本包括预设相机拍摄样本对象得到的样本图像、样本对象的目标矢量化三维模型和预设相机的相机参数,每组训练样本的样本对象都不同。
具体的,样本对象可以为任意场景,例如室内外建筑物,具体可以为一个房间的室内场景,样本图像为多视角影像数据,样本图像为多张,即预设相机对样本场景进行拍摄多视角影像数据得到多张样本图像{Ii},预设相机可以为全景相机,拍摄的{Ii}为全景影像,则预设相机的相机参数包括旋转矩阵和平移向量,分别用{Ri,Ti}表示,多张样本图像{Ii}和相机参数{Ri,Ti}均以数组的形式存储在内存中,样本对象的目标矢量化三维模型可以为人工预先建立好的标准矢量化三维模型,例如通过激光雷达扫描获得。
602、基于训练样本对第一神经网络模型进行训练,得到第二神经网络模型。
基于训练样本对第一神经网络模型进行训练,第一神经网络模型用于得到样本图像的初始矢量化三维模型,根据初始矢量化三维模型和目标矢量化三维模型的偏差对第一神经网络模型进行迭代更新得到第二神经网络模型。其中第二神经网络模型用于预测目标对象的矢量化三维模型。
具体的,将多组训练样本输入第一神经网络模型后,经过反复训练可以得到第二神经网络模型,当训练迭代了预设次数或训练损失小于预设值时可以得到第二神经网络模型,其中预设值可以为用户预先指定的值,预设次数可以为用户预先指定的次数,将一组训练样本中的多张样本图像和预设相机的相机参数输入至第二神经网络模型,该第二神经网络模型输出的矢量化三维模型和该组训练样本中的目标矢量化三维模型之间的偏差小于用户要求的预设值。
对于一组训练样本来说,输入至第一神经网络模型后,第一神经网络模型用于得到样本图像的初始布局,根据初始布局和相机参数确定多个初始平面,并将多个初始平面进行相交得到初始矢量化三维模型。
具体的,该第一神经网络模型包括语义分割网络、布局预测网络、特征提取网络、自适应权值网络。
首先,第一神经网络模型会对输入的多视角影像数据进行预处理,通过语义分割网络,例如HoHoNet,得到多张样本图像的语义分割结果{Si},并通过布局预测网络,例如HorizonNet,得到多张样本图像的初始布局{Li},其中语义分割网络可以将多张样本图像的每个像素分为不同的类别,多个类别可以为用户预先定义的,例如将多张样本图像的每个像素分为横梁(beam)、木板(board)、书架(bookcase)、天花板(ceiling)、椅子(chair)、柱子(column)、门(door)、地板(floor)、沙发(sofa)、桌子(table)、墙(wall)、窗户(window)和其他(clutter)共十三类中的一类,而布局预测网络可以在曼哈顿假设下将多张样本图像中的每个像素分为天花板、地板和墙面1,2…n,其中n为墙面的数量。上述两个方法均是深度学习算法,因此会利用GPU进行并行计算,保证其不影响整体方案效率。
对多视角影像数据预处理后,第一神经网络模型进行参数优化,第一神经网络模型可以通过特征提取网络提取多张样本图像中每个像素的特征向量{Fij},并通过自适应权值网络得到多张样本图像的自适应权值{Wij},其中,特征提取网络共包含9个二维卷积层,在每次卷积后进行批归一化(Batch Normalization)和激活(Relu),自适应权值网络共包含2个二维卷积层,同样在每次卷积后进行批归一化和激活。
进一步的,预设相机的相机参数还可以包括尺度参数,即预设相机到地面的高度,对于一张样本图像来说,第一神经网络模型根据样本图像的初始布局{Li}以及默认的尺度参数确定该张样本图像的多个初始平面,具体的,初始布局{Li}中包含了样本场景中各平面的像素坐标,在曼哈顿假设下,地面和天花板面水平,而墙面竖直,因此可以根据全景影像投影关系利用默认的尺度参数将二维的布局信息{Li}转换为三维的平面信息,根据像素坐标获取多个初始平面的平面方程。在平面方程Ax+By+Cz+D=0中,A、B、C可由各平面的法向量表示,D则可由原点到平面的距离表示,由此得到多个初始平面。但是由于默认的尺度参数通常与实际的尺度有差异,因此各平面方程中的参数D极有可能不准确,因此还在初始的参数D附近确定一系列备选参数,得到多个候选平面,将重建问题转化为确定各平面的参数D,即确定多个初始平面中每个初始平面附近的多个备选平面。确定了若干备选平面后,再根据相机参数{Ri,Ti}进行以平面为基元的可微映射(differentiable warp),获得多张样本图像间的映射关系,对任意候选平面P,可将平面内对应的像素的深度表示为该平面方程的函数:
其中,vx、vy、vz为平面中的任一点,然后根据相机参数{Ri,Ti},借助深度信息Depth完成以平面为基元的可微映射,得到多张样本图像间各像素的对应关系:
其中,vx、vy、vz为一张样本图像中平面的任一像素点对应的三维点坐标,x′、y′、z′为另一张样本图像中平面对应的像素点的三维点坐标,且每个像素点都用每个像素的特征向量{Fij}表示。
进一步的,第一神经网络模型可以根据多张样本图像间各像素的对应关系将平面作为基本单元计算多张样本图像的一致性代价:
其中m为平面内像素数量,N为多张样本图像的总数,在多张样本图像中,选定一张作为参考影像,即重建对象,其他样本图像作为源影像,Vj和Vi ′ j分别为参考影像和第i张源影像对应像素的影像特征经过3维U-Net计算后的值。由于布局对应的平面易受到遮挡,如桌椅遮挡地面,有必要去除遮挡因素的影响,因此利用前述步骤获得的语义分割结果{Si}和自适应权值{Wij}作为目标权值,对一致性代价累计过程进行加权,得到新的一致性代价:
此外,还可以利用激光雷达扫描样本场景并基于投影关系获得的多张样本图像的深度图真值,参与可微映射和代价累计以用做自适应权值计算的弱监督信号。
最后,第一神经网络模型根据各备选平面的代价确定目标平面,代价最小的备选平面就是目标平面,并将样本场景内各目标平面相交获得最终的初始矢量化三维模型,其中,各个目标平面进行相交后就确定了每个目标平面的边界,去除平面超过边界的部分就可以确定出矢量化三维模型,例如对于一个房间场景,对应于四面墙壁、天花板和地板的目标平面进行相交后,就确定了该房间整体结构的矢量化三维模型,其房间内的布局同理,然后将得到的初始矢量化三维模型与输入的目标矢量化三维模型进行对比,例如将初始矢量化三维模型和目标矢量化三维模型都转换为深度图,即将三维空间的每个三维点根据相机参数转换为二维上的深度,即每个三维点到成像平面的垂直距离,将每个距离的数值组成矩阵,将初始矢量化三维模型的矩阵和目标矢量化三维模型的矩阵相减就可以得到初始矢量化三维模型和目标矢量化三维模型的偏差,根据该偏差反复修正权值,并继续对比新的初始矢量化三维模型和目标矢量化三维模型,训练第一神经网络模型,直到训练次数达到预设次数,或者偏差小于预设值达到收敛,此时的第一神经网络模型训练完成,得到第二神经网络模型。
示例性的,当用户指定的预设次数为300次,且第一神经网络模型迭代更新300次时,则视为当前的第一神经网络模型收敛,即完成训练,将当前的第一神经网络模型作为第二神经网络模型供后续使用。当用户指定的预设值为初始矢量化三维模型深度图与目标矢量化三维模型深度图的均方根误差为20厘米,且第一神经网络模型迭代更新至其深度图与目标矢量化三维模型深度图的均方根误差小于20厘米时,则视为当前的第一神经网络模型收敛,即完成训练,将当前的第一神经网络模型作为第二神经网络模型供后续使用。
为了更形象的说明第一神经网络模型的训练过程,如图7所示,在训练过程中,参考影像和源影像都通过特征提取网络提取每个像素的特征,其中特征提取网络可以包括3个卷积层、批标准化层和激活层组合而成的网络,步长为1-1-2,还可以使用3个这样的网络组成特征提取网络,此外,参考影像还会经过语义分割网络、布局预测网络和自适应权值网络,其中自适应权值网络可以包括2个卷积层、批标准化层和激活层组合而成的网络,步长为2-2,语义分割网络、布局预测网络都由编码器和解码器组成,然后依次完成平面方程的表示、基于平面的可微映射和自适应代价累计计算,得到预测深度图,最终得到矢量化三维模型,其中,还可以使用深度图真值作为损失函数1,参与可微映射和代价累计以用做自适应权值计算的弱监督信号,将自适应权值网络和语义分割网络得到的目标权值作为损失函数2,使用损失函数1和损失函数2修正训练权值。
本申请实施例中,神经网络模型在训练过程中基于平面作为重建单元对样本图像和对应的矢量化三维模型进行训练,由此可以直接通过将图像输入至训练好的神经网络模型得到矢量化三维模型,极大降低了重建成本的同时也实现了全自动重建,无需人工干预,还可以在弱纹理区域有较好的重建效果。
以上训练得到第二神经网络模型后,就可以使用该第二神经网络模型执行矢量化三维模型重建,下面结合附图介绍矢量化三维模型重建的过程。
如图8所示,本申请实施例提供的矢量化三维模型建立方法的一实施例包括:
801、获取目标图像和预设相机的相机参数。
802、将目标图像和相机参数输入至目标神经网络模型以预测目标对象的矢量化三维模型。
其中,目标对象的矢量化三维模型为多个初始平面进行相交得到的,多个初始平面是根据初始布局和相机参数确定的,初始布局为目标神经网络模型根据目标图像确定。目标神经网络模型可以为上述实施例中的第二神经网络模型,目标图像为预设相机拍摄目标对象得到的,目标神经网络模型用于确定目标图像的初始布局,根据初始布局和相机参数确定多个初始平面,并将多个初始平面进行相交得到矢量化三维模型。
具体的,目标神经网络模型还用于确定多个初始平面中每个初始平面附近的多个备选平面,并从多个初始平面和多个备选平面中确定多个目标平面,目标神经网络模型具体用于将多个目标平面进行相交得到矢量化三维模型。可选的,初始布局包括目标图像中多个初始平面的像素坐标,目标神经网络模型具体用于根据像素坐标获取多个初始平面的平面方程,并基于多个初始平面的平面方程确定多个初始平面中每个初始平面附近的多个备选平面的平面方程,以确定多个备选平面。可选的,目标图像为多视角影像数据,目标图像为多张,目标神经网络模型具体还用于获取多张目标图像的一致性代价,并根据一致性代价从多个初始平面和多个备选平面中确定多个目标平面。可选的,目标神经网络模型具体还用于通过特征提取网络提取多张目标图像中每个像素的特征向量,根据相机参数、多个初始平面的平面方程和多个备选平面的平面方程进行以平面为基元的可微映射,得到多张目标图像间的对应关系,并根据特征向量和对应关系以平面为基本单元得到一致性代价。可选的,目标神经网络模型具体还用于通过语义分割网络得到多张目标图像的语义分割结果,通过自适应权值网络得到多张目标图像的自适应权值,并将语义分割结果和自适应权值作为目标权值对一致性代价进行加权累计。
其中目标神经网络模型执行的方法步骤可以参考前述实施例中的第一神经网络模型,本申请实施例不再赘述。
为了更形象说明矢量化三维模型重建的过程,如图9所示,首先通过预设相机获取目标对象的多视角影像,即影像对,然后依次进行s1语义分割、s2初始布局预测、s3平面参数与掩膜计算、s4平面参数优化,从而得到目标对象的矢量化三维模型,其中,s3的掩膜可以为目标对象的场景中的地面、天花板和若干墙面等,如图10所示,执行平面参数优化时,会依次执行AI特征提取、以平面为基元的可微映射、语义和自注意力加权的影像一致性代价累计,从而得到矢量化三维模型,其中,在进行可微映射时会选择多个备选平面,在计算一致性代价时会使用语义信息和AI自适应权值作为目标权值修正。
进一步的,如图11所示,上述图5中的第一计算机设备或第二计算机设备中,包括数据存取硬件和计算硬件,计算硬件包括预处理模块、参数优化模块和深度学习框架。数据存取模块包括CPU和内存部分,确保数据的存储和读取,预处理模块用于对输入影像数据进行语义分割和布局预测参数优化模块包括AI特征提取、以平面为单元的可微映射和加权代价累计等模块,深度学习框架包括用户预先确定好的神经网络模型,利用深度学习框架调用计算硬件的GPU和内存进行训练和计算,保证方案的效率,所有的计算均在计算硬件上进行。其中,CPU型号可以为Intel(R)Xeon(R)Gold 6136CPU@3.00GHz,GPU型号为RTX 3090。深度学习框架为Pytorch,版本号为v1.8.0。
表1
方法 | 深度均方根误差(m) |
单张影像布局预测 | 0.28 |
传统几何重建方法 | - |
本申请实施例提供的方法 | 0.18 |
将本申请实施例提供的矢量化三维模型重建方法与现有的方法进行对比,采用的数据为2D-3D-Semantic数据集,整理该数据集获得112个场景下的多视角影像进行精度评定,以重建出三维模型对应的深度均方根误差为评价指标,从表1中可以看到本申请实施例提供的方法在重建精度方面相对于单张影像布局预测有显著提升,而传统几何重建方法由于无法找到足够多可靠的匹配点,重建失败。
图12和图13展示了单张影像布局预测结果和本方案重建结果,图中最小的三维模型为利用激光雷达扫描获得的三维点云,在这里将其作为真值,从图12中可以看到,单张影像布局预测获得的三维模型各平面与真值相差均较远,而本方案重建出的三维模型则与真值十分接近。而与基于激光扫描仪的方案相比,本方案使用了获取更为便捷和低成本的全景影像数据,相对于前者通常需要数小时,本方案的整个重建过程仅需要数秒,极大地降低了成本并且为全自动方法,效率极高。
本申请实施例提供了以平面为基元的矢量化三维模型重建方案,在AI框架下以多视角影像为输入,不同于基于点或者像素的重建方案,将平面作为重建的基本单元,以影像一致性为参考,通过确定最优的三维平面实现矢量化三维模型重建。以平面为重建单元能够较好处理弱纹理和非朗伯体区域,且可以通过平面相交直接获得矢量化三维模型,达到全自动的矢量化三维模型重建。与此同时,多视角影像间的一致性约束能够提升矢量化三维模型重建的完整性和精度。所有步骤均在AI框架下调用GPU实现,能够提升整个重建方案的效率。此外,AI模型基于融合语义和自注意力机制的弱监督深度学习方案实现,在计算多张影像一致性时,引入语义信息和自注意力机制进行权值计算。场景内通常存在较多的遮挡情况,如室内场景下桌椅遮挡地面,因此利用语义信息和自注意力机制尽量减小这类遮挡的影响,能够有效提升重建的精度。
以上介绍了神经网络模型训练方法以及矢量化三维模型重建方法,下面结合附图介绍本申请实施例提供的计算机设备。
如图14所示,本申请实施例提供的计算机设备1400的一实施例包括:
获取单元1401,用于获取训练样本,训练样本包括样本图像、样本对象的目标矢量化三维模型和预设相机的相机参数,样本图像为预设相机拍摄样本对象得到的;该获取单元1401可以执行上述方法实施例中的步骤601。
训练单元1402,用于基于训练样本对第一神经网络模型进行训练,第一神经网络模型用于得到样本图像的初始矢量化三维模型,根据初始矢量化三维模型和目标矢量化三维模型的偏差对第一神经网络模型进行迭代更新得到第二神经网络模型,第二神经网络模型用于预测目标对象的矢量化三维模型;其中,初始矢量化三维模型为多个初始平面进行相交得到的,多个初始平面是根据初始布局和相机参数确定的,初始布局为第一神经网络模型根据样本图像确定。该训练单元1402可以执行上述方法实施例中的步骤602。
本申请实施例中,训练单元1402在训练过程中基于平面作为重建单元对样本图像和对应的矢量化三维模型进行训练,由此可以直接通过将图像输入至训练好的神经网络模型得到矢量化三维模型,极大降低了重建成本的同时也实现了全自动重建,无需人工干预,还可以在弱纹理区域有较好的重建效果。
可选的,第一神经网络模型还用于确定多个初始平面中每个初始平面附近的多个备选平面,并从多个初始平面和多个备选平面中确定多个目标平面,第一神经网络模型具体用于将多个目标平面进行相交得到初始矢量化三维模型。
可选的,初始布局包括样本图像中多个初始平面的像素坐标,第一神经网络模型具体用于根据像素坐标获取多个初始平面的平面方程,并基于多个初始平面的平面方程确定多个初始平面中每个初始平面附近的多个备选平面的平面方程,以确定多个备选平面。
可选的,样本图像为多视角影像数据,样本图像为多张,第一神经网络模型具体还用于获取多张样本图像的一致性代价,并根据一致性代价从多个初始平面和多个备选平面中确定多个目标平面。
可选的,第一神经网络模型具体还用于通过特征提取网络提取多张样本图像中每个像素的特征向量,根据相机参数、多个初始平面和多个备选平面进行以平面为基元的可微映射,得到多张样本图像间的对应关系,并根据特征向量和对应关系以平面为基本单元得到一致性代价。
可选的,第一神经网络模型具体还用于通过语义分割网络得到多张样本图像的语义分割结果,通过自适应权值网络得到多张样本图像的自适应权值,并将语义分割结果和自适应权值作为目标权值对一致性代价进行加权累计。
可选的,第一神经网络模型具体还用于将深度图真值作为可微映射和加权累计的弱监督信号,深度图真值通过扫描多张样本图像得到。
本申请实施例提供的计算机设备1400可以参阅前述神经网络模型训练的方法实施例部分的相应内容进行理解,此处不再重复赘述。
如图15所示,本申请实施例提供的计算机设备1500的一实施例包括:
获取单元1501,用于获取目标图像和预设相机的相机参数,所述目标图像为所述预设相机拍摄目标对象得到的;该获取单元1501可以执行上述方法实施例中的步骤801。
处理单元1502,用于将所述目标图像和所述相机参数输入至目标神经网络模型以预测所述目标对象的矢量化三维模型;其中,所述目标对象的矢量化三维模型为多个初始平面进行相交得到的,所述多个初始平面是根据初始布局和所述相机参数确定的,所述初始布局为所述目标神经网络模型根据所述目标图像确定。该处理单元1502可以执行上述方法实施例中的步骤802。
可选的,目标神经网络模型还用于确定多个初始平面中每个初始平面附近的多个备选平面,并从多个初始平面和多个备选平面中确定多个目标平面,目标神经网络模型具体用于将多个目标平面进行相交得到矢量化三维模型。
可选的,初始布局包括目标图像中多个初始平面的像素坐标,目标神经网络模型具体用于根据像素坐标获取多个初始平面的平面方程,并基于多个初始平面的平面方程确定多个初始平面中每个初始平面附近的多个备选平面的平面方程,以确定多个备选平面。
可选的,目标图像为多视角影像数据,目标图像为多张,目标神经网络模型具体还用于获取多张目标图像的一致性代价,并根据一致性代价从多个初始平面和多个备选平面中确定多个目标平面。
可选的,目标神经网络模型具体还用于通过特征提取网络提取多张目标图像中每个像素的特征向量,根据相机参数、多个初始平面和多个备选平面进行以平面为基元的可微映射,得到多张目标图像间的对应关系,并根据特征向量和对应关系以平面为基本单元得到一致性代价。
可选的,目标神经网络模型具体还用于通过语义分割网络得到多张目标图像的语义分割结果,通过自适应权值网络得到多张目标图像的自适应权值,并将语义分割结果和自适应权值作为目标权值对一致性代价进行加权累计。
本申请实施例提供的计算机设备1500可以参阅前述神经网络模型训练的方法实施例部分的相应内容进行理解,此处不再重复赘述。
图16所示,为本申请的实施例提供的计算机设备1600的一种可能的逻辑结构示意图。计算机设备1600包括:处理器1601、通信接口1602、存储器1603以及总线1604,该处理器1601可以包括CPU,或者,CPU与GPU和NPU和其他类型的处理器中的至少一个。处理器1601、通信接口1602以及存储器1603通过总线1604相互连接。在本申请的实施例中,处理器1601用于对计算机设备1600的动作进行控制管理,例如,处理器1601用于执行图6中的步骤601和602,以及图8中的步骤801和802和/或用于本文所描述的技术的其他过程。通信接口1602用于支持计算机设备1600进行通信。存储器1603,用于存储计算机设备1600的程序代码和数据。
其中,处理器1601可以是中央处理器单元,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等等。总线1604可以是外设部件互连标准(PeripheralComponent Interconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图16中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
如图17所示,本申请实施例提供的计算机设备1700的一种可能的逻辑结构示意图。该计算机设备1700包括:硬件层1701和虚拟机(virtual machine,VM)层1702,该VM层可以包括一个或多个VM。该硬件层1701为VM提供硬件资源,支撑VM运行,该VM的功能和与本申请相关的过程可以参阅上述实施例的相应部分描述进行理解。该硬件层1701包括处理器、通信接口以及存储器等硬件资源。该处理器可以包括CPU,或者,CPU与GPU和NPU中的至少一个。
在本申请的另一实施例中,还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当设备的至少一个处理器执行该计算机执行指令时,设备执行上述实施例所描述的神经网络模型训练方法或矢量化三维模型重建方法。
在本申请的另一实施例中,还提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中;设备的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得设备执行上述实施例所描述的神经网络模型训练方法或矢量化三维模型重建方法。
在本申请的另一实施例中,还提供一种芯片系统,该芯片系统包括至少一个处理器和接口,该接口用于接收数据和/或信号,至少一个处理器用于支持实现上述实施例所描述的神经网络模型训练方法或矢量化三维模型重建方法。在一种可能的设计中,芯片系统还可以包括存储器,存储器,用于保存计算机设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (19)
1.一种神经网络模型训练方法,其特征在于,包括:
获取训练样本,所述训练样本包括样本图像、样本对象的目标矢量化三维模型和预设相机的相机参数,所述样本图像为所述预设相机拍摄所述样本对象得到的;
基于所述训练样本对第一神经网络模型进行训练,所述第一神经网络模型用于得到所述样本图像的初始矢量化三维模型;
根据所述初始矢量化三维模型和所述目标矢量化三维模型的偏差对所述第一神经网络模型进行迭代更新得到第二神经网络模型,所述第二神经网络模型用于预测目标对象的矢量化三维模型;
其中,所述初始矢量化三维模型为多个初始平面进行相交得到的,所述多个初始平面是根据初始布局和所述相机参数确定的,所述初始布局为所述第一神经网络模型根据所述样本图像确定。
2.根据权利要求1所述的方法,其特征在于,所述第一神经网络模型用于确定所述多个初始平面中每个初始平面附近的多个备选平面,并从所述多个初始平面和所述多个备选平面中确定多个目标平面,所述第一神经网络模型具体用于将所述多个目标平面进行相交得到初始矢量化三维模型。
3.根据权利要求2所述的方法,其特征在于,所述样本图像为多视角影像数据,所述样本图像为多张,所述第一神经网络模型具体还用于获取所述多张样本图像的一致性代价,并根据所述一致性代价从所述多个初始平面和所述多个备选平面中确定多个目标平面。
4.根据权利要求3所述的方法,其特征在于,所述第一神经网络模型具体还用于通过特征提取网络提取所述多张样本图像中每个像素的特征向量,根据所述相机参数、所述多个初始平面和所述多个备选平面进行以平面为基元的可微映射,得到所述多张样本图像间的对应关系,并根据所述特征向量和所述对应关系以平面为基本单元得到所述一致性代价。
5.根据权利要求4所述的方法,其特征在于,所述第一神经网络模型具体还用于通过语义分割网络得到所述多张样本图像的语义分割结果,通过自适应权值网络得到所述多张样本图像的自适应权值,并将所述语义分割结果和所述自适应权值作为目标权值对所述一致性代价进行加权累计。
6.根据权利要求5所述的方法,其特征在于,所述第一神经网络模型具体还用于将深度图真值作为所述可微映射和所述加权累计的弱监督信号,所述深度图真值通过扫描所述多张样本图像得到。
7.一种矢量化三维模型建立方法,其特征在于,包括:
获取目标图像和预设相机的相机参数,所述目标图像为所述预设相机拍摄目标对象得到的;
将所述目标图像和所述相机参数输入至目标神经网络模型以预测所述目标对象的矢量化三维模型;
其中,所述目标对象的矢量化三维模型为多个初始平面进行相交得到的,所述多个初始平面是根据初始布局和所述相机参数确定的,所述初始布局为所述目标神经网络模型根据所述目标图像确定。
8.根据权利要求7所述的方法,其特征在于,所述目标神经网络模型还用于确定所述多个初始平面中每个初始平面附近的多个备选平面,并从所述多个初始平面和所述多个备选平面中确定多个目标平面,所述目标神经网络模型具体用于将所述多个目标平面进行相交得到所述矢量化三维模型。
9.根据权利要求8所述的方法,其特征在于,所述目标图像为多视角影像数据,所述目标图像为多张,所述目标神经网络模型具体还用于获取所述多张目标图像的一致性代价,并根据所述一致性代价从所述多个初始平面和所述多个备选平面中确定多个目标平面。
10.根据权利要求9所述的方法,其特征在于,所述目标神经网络模型具体还用于通过特征提取网络提取所述多张目标图像中每个像素的特征向量,根据所述相机参数、所述多个初始平面和所述多个备选平面进行以平面为基元的可微映射,得到所述多张目标图像间的对应关系,并根据所述特征向量和所述对应关系以平面为基本单元得到所述一致性代价。
11.根据权利要求10所述的方法,其特征在于,所述目标神经网络模型具体还用于通过语义分割网络得到所述多张目标图像的语义分割结果,通过自适应权值网络得到所述多张目标图像的自适应权值,并将所述语义分割结果和所述自适应权值作为目标权值对所述一致性代价进行加权累计。
12.一种计算机设备,其特征在于,包括:
获取单元,用于获取训练样本,所述训练样本包括样本图像、样本对象的目标矢量化三维模型和预设相机的相机参数,所述样本图像为所述预设相机拍摄所述样本对象得到的;
训练单元,用于基于所述训练样本对第一神经网络模型进行训练,所述第一神经网络模型用于得到所述样本图像的初始矢量化三维模型,根据所述初始矢量化三维模型和所述目标矢量化三维模型的偏差对所述第一神经网络模型进行迭代更新得到第二神经网络模型,所述第二神经网络模型用于预测目标对象的矢量化三维模型;
其中,所述初始矢量化三维模型为多个初始平面进行相交得到的,所述多个初始平面是根据初始布局和所述相机参数确定的,所述初始布局为所述第一神经网络模型根据所述样本图像确定。
13.一种计算机设备,其特征在于,包括:
获取单元,用于获取目标图像和预设相机的相机参数,所述目标图像为所述预设相机拍摄目标对象得到的;
处理单元,用于将所述目标图像和所述相机参数输入至目标神经网络模型以预测所述目标对象的矢量化三维模型;
其中,所述目标对象的矢量化三维模型为多个初始平面进行相交得到的,所述多个初始平面是根据初始布局和所述相机参数确定的,所述初始布局为所述目标神经网络模型根据所述目标图像确定。
14.一种计算机设备,其特征在于,包括处理器、内存和存储有计算机程序的计算机可读存储介质;
所述处理器与所述计算机可读存储介质耦合,所述处理器上运行的计算机执行指令,当所述计算机执行指令被所述处理器执行时,所述处理器执行如权利要求1-6中任一项所述的方法。
15.一种计算机设备,其特征在于,包括处理器、内存和存储有计算机程序的计算机可读存储介质;
所述处理器与所述计算机可读存储介质耦合,所述处理器上运行的计算机执行指令,当所述计算机执行指令被所述处理器执行时,所述处理器执行如权利要求7-11中任一项所述的方法。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的方法。
17.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求7-11中任一项所述的方法。
18.一种芯片系统,其特征在于,包括至少一个处理器和接口,所述接口用于接收数据和/或信号,所述至少一个处理器被配置为用于执行如权利要求1-6中任一项所述的方法。
19.一种芯片系统,其特征在于,包括至少一个处理器和接口,所述接口用于接收数据和/或信号,所述至少一个处理器被配置为用于执行如权利要求7-11中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111357123.7A CN116151358A (zh) | 2021-11-16 | 2021-11-16 | 神经网络模型训练方法、矢量化三维模型建立方法及设备 |
PCT/CN2022/131344 WO2023088177A1 (zh) | 2021-11-16 | 2022-11-11 | 神经网络模型训练方法、矢量化三维模型建立方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111357123.7A CN116151358A (zh) | 2021-11-16 | 2021-11-16 | 神经网络模型训练方法、矢量化三维模型建立方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116151358A true CN116151358A (zh) | 2023-05-23 |
Family
ID=86337568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111357123.7A Pending CN116151358A (zh) | 2021-11-16 | 2021-11-16 | 神经网络模型训练方法、矢量化三维模型建立方法及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116151358A (zh) |
WO (1) | WO2023088177A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021042277A1 (zh) * | 2019-09-03 | 2021-03-11 | 浙江大学 | 基于神经网络的三维物体法向量、几何及材质获取方法 |
US11158122B2 (en) * | 2019-10-02 | 2021-10-26 | Google Llc | Surface geometry object model training and inference |
CN111080804B (zh) * | 2019-10-23 | 2020-11-06 | 贝壳找房(北京)科技有限公司 | 三维图像生成方法及装置 |
CN113439275A (zh) * | 2020-01-23 | 2021-09-24 | 华为技术有限公司 | 一种平面语义类别的识别方法以及图像数据处理装置 |
CN112116613B (zh) * | 2020-09-25 | 2021-10-15 | 贝壳找房(北京)科技有限公司 | 图像矢量化方法及系统 |
-
2021
- 2021-11-16 CN CN202111357123.7A patent/CN116151358A/zh active Pending
-
2022
- 2022-11-11 WO PCT/CN2022/131344 patent/WO2023088177A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023088177A1 (zh) | 2023-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109685152B (zh) | 一种基于dc-spp-yolo的图像目标检测方法 | |
CN111369681B (zh) | 三维模型的重构方法、装置、设备及存储介质 | |
US11232286B2 (en) | Method and apparatus for generating face rotation image | |
CN112836618B (zh) | 一种三维人体姿态估计方法及计算机可读存储介质 | |
CN113469074B (zh) | 基于孪生注意力融合网络的遥感图像变化检测方法及系统 | |
CN111832592B (zh) | Rgbd显著性检测方法以及相关装置 | |
CN114511778A (zh) | 图像处理方法及装置 | |
CN111043988B (zh) | 一种基于图形学和深度学习的单张条纹投影测量方法 | |
CN112258565B (zh) | 图像处理方法以及装置 | |
WO2023164933A1 (zh) | 一种建筑物建模方法以及相关装置 | |
CN110487274B (zh) | 用于弱纹理场景的slam方法、系统、导航车及存储介质 | |
CN115601511B (zh) | 三维重建方法、装置、计算机设备及计算机可读存储介质 | |
CN116310219A (zh) | 一种基于条件扩散模型的三维脚型生成方法 | |
CN115457492A (zh) | 目标检测方法、装置、计算机设备及存储介质 | |
CN115222896B (zh) | 三维重建方法、装置、电子设备及计算机可读存储介质 | |
CN112150612A (zh) | 三维模型构建方法、装置、计算机设备及存储介质 | |
CN116434303A (zh) | 基于多尺度特征融合的人脸表情捕捉方法、装置及介质 | |
JP2023079022A (ja) | 情報処理装置及び情報生成方法 | |
CN108986210B (zh) | 三维场景重建的方法和设备 | |
CN110675311A (zh) | 一种素描序约束下的素描生成的方法、装置及存储介质 | |
CN113407820A (zh) | 模型训练方法及相关系统、存储介质 | |
CN117115337A (zh) | 基于稀疏点云帧的三维表面建模方法 | |
Morell et al. | 3d maps representation using gng | |
CN117218713A (zh) | 动作解算方法、装置、设备及存储介质 | |
CN114913305B (zh) | 模型处理方法、装置、设备、存储介质及计算机程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |