基于二维图像生成房间结构模型的方法及装置
技术领域
本发明涉及计算机三维空间建模技术领域,尤其是一种基于二维图像生成房间结构模型的方法及装置。
背景技术
在室内三维模型的数据采集阶段,一般需要利用特殊设备,收集不同的拍摄点数据(包括深度数据和RGB图像数据)。在完成对数据收集以后,通过标定好的相机参数、RGB图片以及深度图片得到RGBD图。其中,RGB是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。深度图(Depth Map)是包含与视点的场景对象的表面的距离有关的信息的图像或图像通道。其中,Depth Map类似于灰度图像,只是它的每个像素值是传感器距离物体的实际距离。通常RGB图像和Depth图像是配准的,因而像素点之间具有一对一的对应关系。
现有技术中,能够结合相机位姿将RGBD图转化为单个相机点位的点云。这需要找出不同拍摄点的在全局坐标系下的坐标,才能把这些点云数据拼接成一个完整房间的点云模型。
现有技术中通过对单个房间的深度图像作为输入能够识别房间的结构特征,并对房间结构和房间内物品进行重构,从而虚拟出该房间的模型。但是,这种方案需要一个特殊设备采集深度图像,可以是深度相机、全景相机等,由于这些特殊设备的非普及性,限制了这些方案的应用。而现有技术中存在大量的房间图像仅为普通相机获取,没有深度信息,无法直接利用这些二维的房间图像进行房间的三维重构。
发明内容
本发明实施例所要解决的一个技术问题是:提供基于二维图像生成房间结构模型的方法及装置,解决现有技术中无法基于二维图像生成房间结构模型模型的问题。
根据本发明的一个方面,提供了一种基于二维图像生成房间结构模型的方法,包括:
获取房间的单张二维图像;
将所述二维图像输入预先训练的三维图像神经网络,经所述三维图像神经网络输出所述二维图像对应的深度信息及结构分割信息、物品分割信息;所述三维图像神经网络根据预先获取的二维图像和对应的三维图像的对应关系训练;
获取所述深度信息对应点云数据;根据所述结构分割信息、物品分割信息,去除所述点云数据中的物品信息,保留结构信息;
获取所述结构信息中的水平面信息和高度信息;
根据所述水平面信息和高度信息对所述房间建立所述二维图像对应的三维房间结构模型。
可选地,所述三维图像神经网络,根据如下方式训练:
获取二维图像及对应的三维图像;
根据密集卷积神经网络模型,将所述二维图像中对应的像素与三维图像中的深度信息及结构分割信息对应,得到对应信息;
对所述对应信息进行处理,得到二维图像与三维图像的对应关系;
根据所述对应关系对所述三维图像神经网络进行训练。
可选地,所述三维图像神经网络的训练,还包括:
通过掩膜卷积神经网络模型,获取所述二维图像中房间物品的物品分割信息;
根据所述物品分割信息与对应的三维图像中的物品信息对所述三维图像神经网络进行训练。
可选地,所述获取所述深度信息对应点云数据,包括:
根据所述二维图像对应相机的参数,将所述深度信息转换为点云数据。
可选地,所述水平面信息,根据如下方式获取:
获取所述点云数据中的水平面点云数据;
根据最小二乘法拟合所述水平面点云数据的法线方向;
根据所述法线方向对所述点云数据进行竖直校正,得到垂直于竖直方向的点云数据的水平面信息。
可选地,所述高度信息,根据如下方式获取:
将所述点云数据投影到所述水平面上,得到密度图;
根据所述密度图得到所述结构信息中的墙壁信息;
根据所述墙壁信息得到所述高度信息。
可选地,所述根据所述水平面信息和高度信息对所述房间建立三维房间结构模型,包括:
将所述点云数据投影到所述水平面信息对应的水平面上,得到二维投影户型图;
根据曼哈顿假设对所述二维投影户型图进行约束,得到校正后的二维投影户型图;
根据所述二维投影户型图和高度信息对所述房间建立三维房间结构模型。
可选地,所述方法还包括:
所述物品分割信息包括门、窗及室内物品分割信息;
将所述门、窗及室内物品分割信息结合所述三维房间结构模型,得到所述房间的完整三维模型。
根据本发明的另一个方面,提供了一种基于二维图像生成房间结构模型的装置,包括:
二维图像获取单元,用于获取房间的单张二维图像;
神经网络推断单元,用于将所述二维图像输入预先训练的三维图像神经网络,经所述三维图像神经网络输出所述二维图像对应的深度信息及结构分割信息、物品分割信息;所述三维图像神经网络根据预先获取的二维图像和对应的三维图像的对应关系训练;
结构信息获取单元,用于获取所述深度信息对应点云数据;根据所述结构分割信息、物品分割信息,去除所述点云数据中的物品信息,保留结构信息;
平面信息获取单元,用于获取所述结构信息中的水平面信息和高度信息;
结构模型生成单元,用于根据所述水平面信息和高度信息对所述房间建立所述二维图像对应的三维房间结构模型。
可选地,所述装置还包括:
神经网络训练单元,用于获取二维图像及对应的三维图像;通过密集卷积神经网络模型,将所述二维图像中对应的像素与三维图像中的深度信息及结构分割信息对应,得到对应信息;对所述对应信息进行处理,得到二维图像与三维图像的对应关系;根据所述对应关系对所述三维图像神经网络进行训练。
可选地,所述神经网络训练单元,还用于:
通过掩膜卷积神经网络模型,获取所述二维图像中房间物品的物品分割信息;根据所述物品分割信息与对应的三维图像中的物品信息对所述三维图像神经网络进行训练。
可选地,所述结构信息获取单元,具体用于:
根据所述二维图像对应相机的参数,将所述深度信息转换为点云数据。
可选地,所述平面信息获取单元,具体用于:
获取所述点云数据中的水平面点云数据;根据最小二乘法拟合所述水平面点云数据的法线方向;根据所述法线方向对所述点云数据进行竖直校正,得到垂直于竖直方向的点云数据的水平面信息。
可选地,所述平面信息获取单元,具体用于:
将所述点云数据投影到所述水平面上,得到密度图;根据所述密度图得到所述结构信息中的墙壁信息;根据所述墙壁信息得到所述高度信息。
可选地,所述平面信息获取单元,还用于:将所述点云数据投影到所述水平面信息对应的水平面上,得到二维投影户型图;根据曼哈顿假设对所述二维投影户型图进行约束,得到校正后的二维投影户型图;
所述结构模型生成单元,具体用于:根据所述二维投影户型图和高度信息对所述房间建立三维房间结构模型。
可选地,所述神经网络推断单元,还用于:根据预先训练的三维图像神经网络对所述二维图像进行推断,得到所述二维图像对应的所述物品分割信息,包括门、窗及室内物品分割信息;
所述装置还包括结构模型修正单元,用于将所述门、窗及室内物品分割信息结合所述三维房间结构模型,得到所述房间的完整三维模型。
根据本发明的另一个方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述所述的方法。
根据本发明的另一个方面,提供了一种电子设备,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述所述的方法。
基于本发明上述实施例提供的方案,主要包括如下有益效果:
获取房间的单张二维图像;将所述二维图像输入预先训练的三维图像神经网络,经所述三维图像神经网络输出所述二维图像对应的深度信息及结构分割信息、物品分割信息;所述三维图像神经网络根据预先获取的二维图像和对应的三维图像的对应关系训练;获取所述深度信息对应点云数据;根据所述结构分割信息、物品分割信息,去除所述点云数据中的物品信息,保留结构信息;获取所述结构信息中的水平面信息和高度信息;根据所述水平面信息和高度信息对所述房间建立三维房间结构模型。本发明方案通过利用大量的在先数据训练三维图像神经网络,然后根据三维图像神经网络对获取的二维图像做推断,得到二维图像对应的深度信息及结构分割信息、物品分割信息,根据这些信息完成对房间三维图像的拼接,进而建立三维房间结构模型。本发明方案将房间二维图像自动转换为三维模型,通过简单的普通相机采集房间图像,就能够推断出该房间的一个三维模型,能够满足快速简洁的全屋重建的需求。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本发明的实施例,并且连同描述一起用于解释本发明的原理。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
图1为本发明一个实施例提供的基于二维图像生成房间结构模型的方法源流流程图。
图2为本发明一个实施例提供的基于二维图像生成房间结构模型的装置结构示意图。
图3为本发明一个实施例中提供的电子设备的结构示意图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
本发明实施例能够通过深度学习的方式,直接通过一张房间的普通二维图像就能重建出所在房间的结构模型。输入一个二维图像,输出房间三维结构模型。
本实施例通过搭建三维图像神经网络模型,利用公司内部海量数据对模型进行训练。模型输入二维图像,输出对应的深度信息及结构分割信息、物品分割信息,进而根据这些信息建立房间的三维模型。
如图1所示,为本实施例提供的基于二维图像生成房间结构模型的方法源流流程图,其中,
步骤11,获取房间的单张二维图像。
房间内的二维图像,通常采用相机在房间内进行多维度的拍照采集。采集的二维图像通常为RGB格式。由于相机只能拍摄平面图像,因而,采集得到的图像是一张或者多张二维的平面图像。
在本发明的一个实施例中,一个房间需要采集多张图像,然后根据多张图像进行拼接,完成房间整体的模型建立。而对于一栋房间,通常会包括多个房间,不同房间的图像也需要进行拼接后统一进行模型建立。
步骤12,将所述二维图像输入预先训练的三维图像神经网络,经所述三维图像神经网络输出所述二维图像对应的深度信息及结构分割信息、物品分割信息。
所述三维图像神经网络根据预先获取的二维图像和对应的三维图像的对应关系训练。
三维图像神经网络是根据在先的已知房间的二维图像和对应的三维图像之间的对应关系训练的。或者,三维图像神经网络根据预先获取的图像和对应的房间内深度信息及结构分割信息、物品分割信息的对应关系训练。
在本发明的一个实施例中,三维图像神经网络的训练,可以采用现有技术中通用的神经网络训练方式,通过对二维图像与深度信息及结构分割信息、物品分割信息的对应关系,训练生成一个能够对所有二维图像进行推断和过滤的三维图像神经网络。
在本发明的一个实施例中,所述三维图像神经网络,根据如下方式训练:
获取二维图像及对应的三维图像;
根据密集卷积神经网络模型(DenseNet),将所述二维图像中对应的像素与三维图像中的深度信息及结构分割信息对应,得到对应信息;
对所述对应信息进行训练,得到二维图像与三维图像的对应关系。
深度预测和结构分割分支采用基于DenseNet特征提取方案,其网络基本结构为基于全卷积的U-net结构。例如,可以是输入格式为112*320*2,两个112*320矩阵分别是预测的深度图和房间结构的分割(房间结构分为竖墙、天花板、地面三个部分)。
在本发明的一个实施例中,根据掩膜卷积神经网络模型(Mask RCNN),获取所述二维图像中房间物品的物品分割信息;根据所述物品分割信息与对应的三维图像中的物品信息进行训练。
步骤13,获取所述深度信息对应点云数据;根据所述结构分割信息、物品分割信息,去除所述点云数据中的物品信息,保留结构信息。
根据所述二维图像对应相机的参数,将所述深度信息转换为点云数据。
根据图像的深度信息,将图像重建为点云结构,得到点云数据。进而将点云数据进行处理,去除其中的物品信息,仅保留结构信息。
在本发明的一个实施例中,物品分割采用的是Mask RCNN的现有技术方案,得到房间主要物品的二维分割(例如,可以包括房间内家具、桌椅等)。
Mask RCNN是一个实例分割(Instance segmentation)算法,可以用来做“目标检测”、“目标实例分割”、“目标关键点检测”。Mask RCNN是一个两阶段的框架,第一个阶段扫描图像并生成提议(proposals,即有可能包含一个目标的区域),第二阶段分类提议并生成边界框和掩码。
Mask RCNN算法步骤可以包括:
输入一幅图片,然后进行对应的预处理操作,或者预处理后的图片;
将其输入到一个预训练好的神经网络中(ResNet等)获得对应的feature map;
对这个feature map中的每一点设定预定个的ROI,从而获得多个候选ROI;
将这些候选的ROI送入RPN网络进行二值分类(前景或背景)和BB回归,过滤掉一部分候选的ROI;
对这些剩下的ROI进行ROIAlign操作(即先将原图和feature map的pixel对应起来,然后将feature map和固定的feature对应起来);
对这些ROI进行分类(N类别分类)、BB回归和MASK生成(在每一个ROI里面进行FCN操作)。
步骤14,获取所述结构信息中的水平面信息和高度信息。
水平面信息,根据如下方式获取:
获取所述点云数据中的水平面点云数据;
根据最小二乘法拟合所述水平面点云数据的法线方向;
根据所述法线方向对所述点云数据进行竖直校正,得到垂直于竖直方向的点云数据的水平面信息。
在本发明的一个实施例中,利用地面和天花板的点云可以通过最小二乘算法拟合其所在平面的法线方向,包括:
建立平面方程Ax+By+Cz=0;其中,A、B、C为设定常数,(x,y,z)为任一点的坐标;
由所述平面方程可知:A/C*x+B/C*y+z=0;z=-A/C*x-B/C*y;
则所述平面方程的法向约束关系满足:z=ax+by;
根据最小二乘法可以得到(a,b)的最优解,因而水平面的法线方向为(a,b,1)。
最小二乘法通过最小化误差的平方和,使拟合对象越来越接近最终对象。拟合平面就是找到一个平面使得所有数据点到拟合平面的欧式距离最小。对于拟合平面方程为Ax+By+Cz=0,约束条件为z=ax+by。
定义单个数据点的误差项:δ=a x+b y–z;欲要误差最小,则利用最小二乘法分别拟合一系列点(x,y,z)中(a,b)的取值,从而得到(a,b)的最优解。
在本发明的一个实施例中,高度信息根据如下方式获取:
将所述点云数据投影到所述水平面上,得到密度图;
根据所述密度图得到所述结构信息中的墙壁信息;
根据所述墙壁信息得到所述高度信息。
在本发明的一个实施例中,将所述点云数据投影到所述水平面信息对应的水平面上,得到二维投影户型图;
根据曼哈顿假设对所述二维投影户型图进行约束,得到校正后的二维投影户型图;
根据所述二维投影户型图和高度信息对所述房间建立三维房间结构模型。
步骤15,根据所述水平面信息和高度信息对所述房间建立三维房间结构模型。
具体的,所述物品分割信息还可以包括门、窗及室内物品分割信息;
将所述门、窗及室内物品分割信息结合所述三维房间结构模型,得到所述房间的完整三维模型。
本发明实施例中,通过搭建三维图像神经网络模型,利用海量数据对模型进行训练。输入房间局部照片,得到结构信息和物品信息。通过结构信息和识别的物品信息共同恢复房间二维户型结构。
三维图像神经网络主要有深度预测、结构分割、物品识别三个分支。
其中,深度预测和结构分割分支采用基于DenseNet特征提取方案,其网络基本结构为基于全卷积的U-net结构。例如,可以输入格式为112*320*2,两个112*320矩阵分别是预测的深度图和房间结构的分割。房间结构可以包括房间结构分为竖墙、天花板、地面三个部分。
物品分割采用的是Mask RCNN技术方案,得到房间主要物品的二维分割(可以包括房间内一些家具、桌椅等)。
进而,通过降维投影的方式获取房间局部的二维户型图,再结合墙壁高度,获得三维局部模型。
在本发明的一个实施例中,通过获取二维图像的相机的外部参数和对应深度图恢复点云数据,并通过二维物品分割得到的对应的掩码,将室内物品的点云去掉。然后利用地面和天花板点云的平面信息,计算地面法向与竖直方向夹角,并对整个点云进行竖直校正,校正后的点云的地面垂直于竖直方向。校正后的点云投影到水平面(地面)并通过密度图得到墙壁轮廓。
利用地面和天花板的点云可以通过最小二乘算法拟合其所在平面的法线方向。具体建立平面方程Ax+By+Cz=0及的法向约束关系。即A/C*x+B/C*y+z=0;z=-A/C*x-B/C*y。由此可知,约束关系即满足z=ax+by。通过最小二乘可解最优化的(a,b)。得到的天花板和地面所在平面的方向为(a,b,1),这样通过法线方向将整个点云进行竖直校正,得到地面垂直于竖直方向的点云。其中,A、B、C为设定常数,(x,y,z)为任一点的坐标。
投影密度图推测房间轮廓即二维户型,这部分采用基于全卷积的编解码网络(Encoder-Decoder)结构,输入为点云投影密度图,输出为二维CAD图。
Encoder-Decoder网络结构是深度学习中非常常见的一个模型框架。例如,无监督算法的auto-encoding就是用Encoder-Decoder的结构设计并训练的。Encoder-Decoder是一类框架,Encoder和Decoder部分可以是任意的文字、语音、图像、视频数据,模型可以采用CNN,RNN,BiRNN、LSTM、GRU等。基于Encoder-Decoder,可以设计出各种各样的应用算法。
Encoder-Decoder框架有一个最显著的特征就是它是一个End-to-End学习的算法。所谓编码,就是将输入序列转化成一个固定长度的向量;解码,就是将之前生成的固定向量再转化成输出序列。
在本发明的一个实施例中,在完成三维图像神经网络训练后,对于具体的二维图像处理,可以包括如下步骤:
获取房间局部二维图像;
通过三维图像神经网络获取局部二维图像对应的深度信息,以及屋顶、地面、墙壁等结构分割,门、窗及室内物品分割图;
通过获取二维图像的相机参数,获取深度信息对应点云(利用相机参数将深度图转换成点云);
利用物品掩码(Mask),将物品从二维图像中去掉,留下结构相关信息;
通过找到屋顶或者地板,对点云进行校正,使得点云地面与水平面平行;
通过局部点云获取二维投影局部户型图,并利用曼哈顿假设对局部房间进行约束;
通过墙壁三维信息得到房间高度,从而获得房间局部的三维模型;
结合门,窗,物品位置信息可以实现对整个房间局部模型全貌的恢复。
本发明各个实施例中,获取房间的单张二维图像;将所述二维图像输入预先训练的三维图像神经网络,经所述三维图像神经网络输出所述二维图像对应的深度信息及结构分割信息、物品分割信息;所述三维图像神经网络根据预先获取的二维图像和对应的三维图像的对应关系训练;获取所述深度信息对应点云数据;根据所述结构分割信息、物品分割信息,去除所述点云数据中的物品信息,保留结构信息;获取所述结构信息中的水平面信息和高度信息;根据所述水平面信息和高度信息对所述房间建立三维房间结构模型。本发明方案通过利用大量的在先数据训练三维图像神经网络,然后根据三维图像神经网络对获取的二维图像做推断,得到二维图像对应的深度信息及结构分割信息、物品分割信息,根据这些信息完成对房间三维图像的拼接,进而建立三维房间结构模型。本发明方案将房间二维图像自动转换为三维模型,通过简单的普通相机采集房间图像,就能够推断出该房间的一个三维模型,能够满足快速简洁的全屋重建的需求。
本发明的一个实施例提供了一种基于二维图像生成房间结构模型的装置,如图2所示,该装置包括:
二维图像获取单元21,用于获取房间的单张二维图像;
神经网络推断单元22,用于将所述二维图像输入预先训练的三维图像神经网络,经所述三维图像神经网络输出所述二维图像对应的深度信息及结构分割信息、物品分割信息;
所述三维图像神经网络根据预先获取的二维图像和对应的三维图像的对应关系训练;
结构信息获取单元23,用于获取所述深度信息对应点云数据;根据所述结构分割信息、物品分割信息,去除所述点云数据中的物品信息,保留结构信息;
平面信息获取单元24,用于获取所述结构信息中的水平面信息和高度信息;
结构模型生成单元25,用于根据所述水平面信息和高度信息对所述房间建立二维图像对应的三维房间结构模型。
可选地,所述装置还包括:
神经网络训练单元26,用于获取二维图像及对应的三维图像;通过密集卷积神经网络模型,将所述二维图像中对应的像素与三维图像中的深度信息及结构分割信息对应,得到对应信息;对所述对应信息进行处理,得到二维图像与三维图像的对应关系;根据所述对应关系对所述三维图像神经网络进行训练。
可选地,所述神经网络训练单元26,还用于:
通过掩膜卷积神经网络模型,获取所述二维图像中房间物品的物品分割信息;根据所述物品分割信息与对应的三维图像中的物品信息对所述三维图像神经网络进行训练。
可选地,所述结构信息获取单元23,具体用于:
根据所述二维图像对应相机的参数,将所述深度信息转换为点云数据。
可选地,所述平面信息获取单元24,具体用于:
获取所述点云数据中的水平面点云数据;根据最小二乘法拟合所述水平面点云数据的法线方向;根据所述法线方向对所述点云数据进行竖直校正,得到垂直于竖直方向的点云数据的水平面信息。
可选地,所述平面信息获取单元24,具体用于:
将所述点云数据投影到所述水平面上,得到密度图;根据所述密度图得到所述结构信息中的墙壁信息;根据所述墙壁信息得到所述高度信息。
可选地,所述平面信息获取单元24,还用于:将所述点云数据投影到所述水平面信息对应的水平面上,得到二维投影户型图;根据曼哈顿假设对所述二维投影户型图进行约束,得到校正后的二维投影户型图;
所述结构模型生成单元25,具体用于:根据所述二维投影户型图和高度信息对所述房间建立三维房间结构模型。
可选地,所述神经网络推断单元22,还用于:根据预先训练的三维图像神经网络对所述二维图像进行推断,得到所述二维图像对应的所述物品分割信息,包括门、窗及室内物品分割信息;
所述装置还包括结构模型修正单元27,用于将所述门、窗及室内物品分割信息结合所述三维房间结构模型,得到所述房间的完整三维模型。
在本发明的一个实施例中,还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述的方法。
在本发明的一个实施例中,还提供了一种电子设备,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述的方法。
下面,参考图3来描述根据本发明实施例的一个电子设备。
图3为本发明电子设备一个应用实施例的结构示意图。如图3所示,电子设备包括一个或多个处理器和存储器。
处理器可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备中的其他组件以执行期望的功能。
存储器可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器可以运行所述程序指令,以实现上文所述的本发明的各个实施例的基于行为分析的匹配方法以及/或者其他期望的功能。
在一个示例中,电子装置还可以包括:输入装置和输出装置,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
此外,该输入装置还可以包括例如键盘、鼠标等等。
该输出装置可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出装置等等。
当然,为了简化,图3中仅示出了该电子设备中与本发明有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备还可以包括任何其他适当的组件。
除了上述方法和设备以外,本发明的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述部分中描述的根据本发明各种实施例的基于行为分析的匹配方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本发明实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
基于本发明上述实施例提供的方案,主要包括如下有益效果:
获取房间的单张二维图像;将所述二维图像输入预先训练的三维图像神经网络,经所述三维图像神经网络输出所述二维图像对应的深度信息及结构分割信息、物品分割信息;所述三维图像神经网络根据预先获取的二维图像和对应的三维图像的对应关系训练;获取所述深度信息对应点云数据;根据所述结构分割信息、物品分割信息,去除所述点云数据中的物品信息,保留结构信息;获取所述结构信息中的水平面信息和高度信息;根据所述水平面信息和高度信息对所述房间建立三维房间结构模型。本发明方案通过大量的在先数据训练三维图像神经网络,然后根据三维图像神经网络对获取的二维图像做推断,得到二维图像对应的深度信息及结构分割信息、物品分割信息,根据这些信息完成对房间三维图像的拼接,进而建立三维房间结构模型。本发明方案将房间二维图像自动转换为三维模型,通过简单的普通相机采集房间图像,就能够推断出该房间的一个三维模型,能够满足快速简洁的全屋重建的需求。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
可能以许多方式来实现本发明的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。