户型形状识别方法、装置和设备与流程

文档序号:18269713发布日期:2019-07-27 09:32阅读:323来源:国知局
户型形状识别方法、装置和设备与流程

本发明涉及图像处理技术领域,尤其是涉及一种户型形状识别方法、装置和设备。



背景技术:

家装设计是指家庭装修设计,在家庭正式装潢开工前进行功能格局上的规划设计,各空间界面的装饰设计。在家装设计中,需要综合考虑户型图房间形状,户型图房间形状主要包括:正方形、长方形、l形、多边形、凹形、凸形等。

家装设计前,首先需要得到户型图房间形状图像的几何矢量数据,目前主要是通过人工识别手动生成这些数据,当户型图数量较大时,采用现有人工方式的识别效率和准确性低。



技术实现要素:

本发明的目的在于提供一种户型形状识别方法及装置,以提高户型形状识别的效率和准确性。

本发明提供的一种户型形状识别方法,所述方法包括:获取待识别的户型图;将所述户型图输入至预先建立的户型形状识别模型中,输出所述户型图的识别结果;所述户型形状识别模型通过下述方式建立:获取设定数量的户型图样本和对应的标识信息;所述标识信息包括户型形状信息,以及标注在所述户型图样本中的结构信息;建立卷积神经网络的网络结构;所述网络结构包含有相互连接的第一子网络和第二子网络;将所述户型图样本和标注在所述户型图样本中的结构信息输入至所述第一子网络中进行训练;将所述户型图样本、户型形状信息、以及标注在所述户型图样本中的结构信息输入至所述第二子网络中进行训练;将训练完成的所述第一子网络和所述第二子网络进行调优处理,得到训练完成的户型形状识别模型。

进一步的,所述户型形状识别模型中的第一子网络包括两层卷积层,用于提取户型图的结构信息;所述结构信息包括点位置信息和边位置信息;所述第二子网络包括递归子网络和卷积层,用于将所述结构信息编码为张量,将所述张量映射为包含有类别信息的向量。

进一步的,将所述户型图输入至预先建立的户型形状识别模型中的步骤之前,所述方法还包括:对所述户型图进行采样处理,得到采样后的所述户型图;对采样后的所述户型图进行归一化处理,得到归一化处理后的所述户型图。

进一步的,得到训练完成的户型形状识别模型的步骤之后,所述方法还包括:计算所述户型形状识别模型输出的所述户型图样本对应的识别结果;根据所述户型图样本对应的标识信息和所述识别结果,计算所述户型图样本的识别准确率;判断所述识别准确率是否满足预设阈值;如果否,继续执行获取设定数量的户型图样本和对应的标识信息的步骤,直至所述识别准确率满足预设阈值。

本发明提供的一种户型形状识别装置,所述装置包括:获取模块,用于获取待识别的户型图;结果输出模块,用于将所述户型图输入至预先建立的户型形状识别模型中,输出所述户型图的识别结果;所述户型形状识别模型通过下述方式建立:获取设定数量的户型图样本和对应的标识信息;所述标识信息包括户型形状信息,以及标注在所述户型图样本中的结构信息;建立卷积神经网络的网络结构;所述网络结构包含有相互连接的第一子网络和第二子网络;将所述户型图样本和标注在所述户型图样本中的结构信息输入至所述第一子网络中进行训练;将所述户型图样本、户型形状信息、以及标注在所述户型图样本中的结构信息输入至所述第二子网络中进行训练;将训练完成的所述第一子网络和所述第二子网络进行调优处理,得到训练完成的户型形状识别模型。

进一步的,所述户型形状识别模型中的第一子网络包括两层卷积层,用于提取户型图的结构信息;所述结构信息包括点位置信息和边位置信息;所述第二子网络包括递归子网络和卷积层,用于将所述结构信息编码为张量,将所述张量映射为包含有类别信息的向量。

进一步的,所述装置还包括:采样处理模块,用于对所述户型图进行采样处理,得到采样后的所述户型图;归一化处理模块,用于对采样后的所述户型图进行归一化处理,得到归一化处理后的所述户型图。

进一步的,所述装置还包括:第一计算模块,用于计算所述户型形状识别模型输出的所述户型图样本对应的识别结果;第二计算模块,用于根据所述户型图样本对应的标识信息和所述识别结果,计算所述户型图样本的识别准确率;判断模块,用于判断所述识别准确率是否满足预设阈值;执行模块,用于如果否,继续执行获取设定数量的户型图样本和对应的标识信息的步骤,直至所述识别准确率满足预设阈值。

本发明提供的一种户型形状识别设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述户型形状识别方法。

本发明提供的一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现上述户型形状识别方法。

本发明提供的户型形状识别方法、装置、设备和机器可读存储介质,所述户型形状识别模型通过卷积神经网络训练而建立,所述网络结构包含有相互连接的第一子网络和第二子网络,通过将待识别的户型图输入至预先建立的户型形状识别模型中,输出所述户型图的识别结果,该方式采用包含相互连接的第一子网络和第二子网络的卷积神经网络识别户型形状,可以识别不同的户型形状,且识别过程中无需人工干预,提高了户型形状识别的效率和准确性。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种户型形状识别方法的流程图;

图2为本发明实施例提供的建立户型形状识别模型的具体流程图;

图3为本发明实施例提供的卷积神经网络的网络结构图;

图4为本发明实施例提供的另一种户型形状识别方法的流程图;

图5为本发明实施例提供的另一种具体的网络结构的训练方法流程图;

图6为本发明实施例提供的一种户型形状识别装置的结构示意图;

图7为本发明实施例提供的一种户型形状识别设备的结构示意图。

具体实施方式

下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在家装设计中,户型图房间形状主要包括:正方形、长方形、l形、多边形、凹形、凸形;每一个形状对于家装设计来说都不一样;在做家装设计之前,需要得到户型图像的几何矢量数据,目前主要是由人工手动生成这些数据,该人工方式的识别效率和准确性难以满足用户需求。

基于此,本发明实施例提供了一种户型形状识别方法、装置和设备;该技术可以应用于服务器中,还可以应用于手机、平板电脑等终端设备中,用于识别户型形状。该技术可以采用相关的软件或硬件实现,下面通过实施例进行描述。

本发明实施例提供一种户型形状识别方法,如图1所示,该方法包括以下步骤:

步骤s101,获取待识别的户型图。

具体的,待识别的户型图通常是由客户提供或从数据库中提取的户型图等。

步骤s102,将户型图输入至预先建立的户型形状识别模型中,输出户型图的识别结果。

进一步的,将户型图输入至预先建立的户型形状识别模型中,可以识别得到户型图的形状和几何矢量参数等信息,其中户型图的形状包括:卧室、客餐厅、书房、卫生间、阳台等不同户型类别的形状;几何矢量参数包括:户型图中的各个边的位置、点位置、拐角位置等,以及不同形状所对应的尺寸等几何参数。

参见图2所示的建立户型形状识别模型的具体流程图,该户型形状识别模型通过下述方式建立:

步骤s201,获取设定数量的户型图样本和对应的标识信息;该标识信息包括户型形状信息,以及标注在户型图样本中的结构信息。

本实施例中,根据户型类别,如:卧室、客餐厅、书房、卫生间、阳台等,均匀采样汇总出不同形状的户型图样本。户型图样本的数量可以根据用户需求设定,本实施例中,从户型图数据库中提取出指定数量的上述不同形状的户型图样本,如12万张,同时获取户型图样本对应的标识信息,包括:户型形状信息,以及标注在户型图样本中的结构信息等。其中,户型形状信息具体可以为正方形、长方形、l形、多边形、凹形、凸形等;结构信息具体可以为户型图中的各个边的位置、点位置、拐角位置等。

步骤s202,建立卷积神经网络的网络结构;该网络结构包含有相互连接的第一子网络和第二子网络。

其中,第一子网络和第二子网络可以由一层或多层卷积层组成,各个卷积层可以设置相应的卷积核,以提取相应种类或相应粒度的特征。例如,第一子网络中的卷积层可以用于提取较为细节的特征,如户型图中的各个边的位置、点位置、拐角位置等,这些细节特征也可以称为户型图的结构信息;第二子网络中的卷积层可以用于对第一子网络提取出的细节特征进行进一步的归纳整理,并基于这些细节特征对户型图的形状进行归类处理。

步骤s203,将户型图样本和标注在户型图样本中的结构信息输入至第一子网络中进行训练。

如上所述,第一子网络用于提取户型图的细节特征,进而在训练第一子网络时,需要将上述户型图样本和标注在户型图样本中的结构信息,以使训练出的第一子网络可以准确提取户型图的结构信息。

步骤s204,将户型图样本、户型形状信息、以及标注在户型图样本中的结构信息输入至第二子网络中进行训练。

如上所述,第二子网络用于对第一子网络提取出的细节特征进行进一步的归纳整理,并基于这些细节特征对户型图的形状进行归类整理,进而在训练第二子网络时,需要上述户型图样本、户型形状信息以及标注在户型图样本中的结构信息,以使训练出的第二子网络可以对户型图的形状进行准确的归类。

步骤s205,将训练完成的第一子网络和第二子网络进行调优处理,得到训练完成的户型形状识别模型。

将户型图输入到训练完成的第一子网络和第二子网络继续训练,以对训练完成的第一子网络和第二子网络进行微调,使得每一层的网络权重值都能达到最优值,最终得到训练完成的户型形状识别模型。

本发明实施例提供了一种户型形状识别方法、装置和设备,首先,获取待识别的户型图,然后,建立户型形状识别模型,最后,将待识别的户型图输入至所建立的户型形状识别模型中,输出户型图的识别结果,该方式采用包含相互连接的第一子网络和第二子网络的卷积神经网络识别户型形状,可以识别不同的户型形状,且识别过程中无需人工干预,提高了户型形状识别的效率和准确性。

基于上述户型形状识别方法,本实施例还提供一种具体的卷积神经网络的网络结构,如图3所示,该网络结构图中前两个结构层为第一子网络,包括卷积层1和卷积层2,用于提取输入的户型图的结构信息,该结构信息包括点位置信息和边位置信息;第二子网络包括递归子网络层和卷积层3,用于将结构信息编码为张量,将张量再通过全连接层的全连接操作,最终映射为包含有类别信息的向量,递归子网络层实现将递归子网络节点的输出返回到递归子网络节点的输入端,循环往复以进行深度训练,以上卷积层1、卷积层2、卷积层3、递归子网络层和全连接层中均包含激励函数以协助表达复杂特征,类似于其他深度学习算法,卷积神经网络通常使用线性整流单元(rectifiedlinearunit,简称relu)等。

基于上述卷积神经网络的网络结构,本实施例还提供一种具体的网络结构的训练方法,该方法包括下述步骤:

步骤1,将从户型图数据库中所提取的12万张户型图随机均匀采样分为5份,选取其中4份作为训练样本,另外1份作为测试样本,每单独一份大约有2.4万张户型图。

步骤2,通过训练样本对神经网络进行训练,包括预训练和调优两个步骤,首先,将户型图样本及户型图的结构信息,包括:点位置信息和边位置信息,输入到神经网络结构中的第一子网络,对第一子网络的两层卷积层进行训练,然后,将户型图样本、户型形状信息及户型图的结构信息配合图片类别标注信息输入到神经网络结构中的第二子网络,对第二子网络进行训练,最后,再将分开训练的两部分组合起来,进行最后的调优训练,得到训练完成的户型形状识别模型。

步骤3,将测试样本输入到训练好的户型形状识别模型中进行识别测试,确定识别结果。

本发明实施例还提供的另一种户型形状识别方法,如图4所示,该方法包括以下步骤:

步骤s401,获取待识别的户型图。

本实施例中,待识别的户型图为从数据库中提取的户型图等,其中,每张户型图的像素为128*128。

步骤s402,对户型图进行采样处理,得到采样后的户型图。

例如,对从户型图数据库中所提取的原始像素为128*128的所有户型图进行降采样,以便降低户型图的大小,得到16*16、32*32、64*64的三种不同分辨率大小的图像样本,这些图像样本的格式可以为png格式。

步骤s403,对采样后的户型图进行归一化处理,得到归一化处理后的户型图。

利用opencv解析上一步骤中所得到的每张图像样本,得到r、g、b三通道的图片,利用灰度化算法,将图像样本转换成单通道图像,并将单通道图像的像素值进行归一化处理,归一化后的方差为1、均值为0。

步骤s404,将户型图输入至预先建立的户型形状识别模型中,输出户型图的识别结果。

进一步的,将户型图输入至预先建立的户型形状识别模型中,可以识别得到不同户型类别的形状、户型图中的各个边的位置、点位置、拐角位置等,以及不同形状所对应的尺寸等几何参数。

本发明实施例提供了另一种户型形状识别方法,首先,获取待识别的户型图,对所获取的户型图进行采样和归一化处理,然后,建立户型形状识别模型,最后,待识别的户型图经过采样和归一化处理后,输入至该户型形状识别模型中,可以获得户型形状识别结果,该方式采用包含相互连接的第一子网络和第二子网络的卷积神经网络识别户型形状,可以识别不同的户型形状,且识别过程中无需人工干预,提高了户型形状识别的效率和准确性。

本实施例还提供另一种具体的网络结构的训练方法,如图5所示,该方法包括下述步骤:

步骤s501,获取设定数量的户型图样本和对应的标识信息;标识信息包括户型形状信息,以及标注在户型图样本中的结构信息。

在训练该户型形状识别模型的过程中,从户型图数据库中提取出的正方形、长方形、l形、多边形、凹形、凸形六种形状的户型图样本共计12万张,每一种有大约2万张图像。

步骤s502,建立卷积神经网络的网络结构;网络结构包含有相互连接的第一子网络和第二子网络。

其中,第一子网络和第二子网络可以由一层或多层卷积层组成,各个卷积层可以设置相应的卷积核,以提取相应种类或相应粒度的特征,例如,第一子网络中的卷积层可以用来提取户型图中的各个边、点位置、拐角位置等较为细节的特征,第二子网络中的卷积层可以进一步归纳整理第一子网络提取的细节特征,并对户型图的形状进行归类处理。

步骤s503,将户型图样本和标注在户型图样本中的结构信息输入至第一子网络中进行训练。

如上所述,第一子网络可以提取户型图中的各个边、点位置、拐角位置等较为细节的特征,因此需要将上述细节特征输入到第一子网络,以使训练出的第一子网络可以准确提取户型图的结构信息。

步骤s504,将户型图样本、户型形状信息、以及标注在户型图样本中的结构信息输入至第二子网络中进行训练。

如上所述,第二子网络中的卷积层可以进一步归纳整理第一子网络提取的细节特征,并对户型图的形状进行归类处理,因此需要将上述细节特征输入到第二子网络,以使训练出的第二子网络可以对户型图的形状进行准确的归类。

将从户型图数据库中所提取的12万张户型图随机均匀采样分为5份,选取其中4份作为训练样本,另外1份作为测试样本,每单独一份的大约有2.4万张户型图。采用样本均值的抽样分布进行抽样,采用样本均值的抽样分布是所有的样本均值形成的分布,即μ的概率分布,样本均值的抽样分布在形状上却是对称的,随着样本量n的增大,不论原来的总体是否服从正态分布,样本均值的抽样分布都将趋于正态分布,其分布的数学期望为总体均值μ,方差为总体方差的1/n。

基于深度学习vgg16网络,采用深度神经网络分类模型学习户型图形状类别,将训练样本用于深度卷积神经网络训练,可以采用预训练模型的结构,先将所有的权重随机化,然后依据自己的数据集进行训练,另一种使用预训练模型的方法是对其进行部分的训练,具体的做法是,将模型起始的一些层的权重保持不变,重新训练后面的层,得到新的权重。在此过程中,可以多次进行尝试,从而能够依据结果找到冻结层frozenlayers和再训练层retrainlayers之间的最佳搭配。

步骤s505,将训练完成的第一子网络和第二子网络进行调优处理,得到训练完成的户型形状识别模型。

上述户型形状识别模型的训练分为两个过程,首先由上述步骤生成的训练样本配合人工标注的点、边信息训练前两个结构层,由人工标注的点、边构成的图结构信息配合图片类别标注信息训练后两个结构层和全连接层,再将分开训练的两个部分组合起来,进行最后的调优训练。

步骤s506,计算户型形状识别模型输出的户型图样本对应的识别结果。

与导入训练样本类似,首先将测试样本读入内存,然后用for循环依次将测试数据传入神经网络,调用query()函数,将输出数组最大值对应的标签与数据标签比对并记录测试结果。

步骤s507,根据户型图样本对应的标识信息和识别结果,计算户型图样本的识别准确率。

根据上述步骤中得到的测试结果,最后计算准确率。此次测试的各项参数为:学习率0.3,测试结果:准确率0.9853,耗时50秒。

步骤s508,判断识别准确率是否满足预设阈值。如果是,结束;如果否,执行步骤s509。

步骤s509,如果否,继续执行获取设定数量的户型图样本和对应的标识信息的步骤,直至识别准确率满足预设阈值。

将测试样本输入到训练完成的深度卷积神经网络进行测试,采用交叉验证方式,即将所提取的全部样本图像随机均匀采样分成5份,每次使用其中的4份数据作为训练样本,另外1份作为测试样本用户样本测试,这样的识别实验重复5次,最后取5次的平均值作为识别结果,用来评价所设计的网络的合理性和户型形状识别方法是否到达超过人工判断的标准。

本发明实施例提供的另一种具体的网络结构的训练方法,首先,获取设定数量的户型图样本和对应的标识信息,然后,建立卷积神经网络的网络结构,并将户型图样本、户型形状信息、以及标注在户型图样本中的结构信息等输入到神经网络中进行训练并调优,得到训练完成的户型形状识别模型,最后,计算户型形状识别模型输出的户型图样本对应的识别结果,判断所建立的卷积神经网络的识别准确率是否满足预设阈值,通过对网络结构的不断训练和调优,使最终所建立的卷积神经网络的识别准确率和识别效率满足设定的标准。

本发明实施例提供的一种户型形状识别装置的结构示意图,如图6所示,装置包括:

获取模块10,用于获取待识别的户型图。

结果输出模块20,用于将户型图输入至预先建立的户型形状识别模型中,输出户型图的识别结果;其中,户型形状识别模型通过下述方式建立:获取设定数量的户型图样本和对应的标识信息;该标识信息包括户型形状信息,以及标注在户型图样本中的结构信息;建立卷积神经网络的网络结构;网络结构包含有相互连接的第一子网络和第二子网络;将户型图样本和标注在户型图样本中的结构信息输入至第一子网络中进行训练;将户型图样本、户型形状信息、以及标注在户型图样本中的结构信息输入至第二子网络中进行训练;将训练完成的第一子网络和第二子网络进行调优处理,得到训练完成的户型形状识别模型。

户型形状识别模型中的第一子网络包括两层卷积层,用于提取户型图的结构信息;结构信息包括点位置信息和边位置信息;第二子网络包括递归子网络和卷积层,用于将结构信息编码为张量,将张量映射为包含有类别信息的向量。

进一步的,该装置还包括:采样处理模块,用于对户型图进行采样处理,得到采样后的户型图;归一化处理模块,用于对采样后的户型图进行归一化处理,得到归一化处理后的户型图。

本实施例中,该装置还包括:第一计算模块,用于计算户型形状识别模型输出的户型图样本对应的识别结果;第二计算模块,用于根据户型图样本对应的标识信息和识别结果,计算户型图样本的识别准确率;判断模块,用于判断识别准确率是否满足预设阈值;执行模块,用于如果否,继续执行获取设定数量的户型图样本和对应的标识信息的步骤,直至识别准确率满足预设阈值。

本发明实施例提供了一种户型形状识别设备的结构示意图,如图7所示,该设备包括存储器31、处理器32,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述户型形状识别方法的步骤。

参见图7,电子设备还包括:总线33和通信接口34,处理器32、通信接口34和存储器31通过总线33连接;处理器32用于执行存储器31中存储的可执行模块,例如计算机程序。

其中,存储器31可能包含高速随机存取存储器(ram,randomaccessmemory),也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口34(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。

总线33可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

其中,存储器31用于存储程序,所述处理器32在接收到执行指令后,执行所述程序,前述本发明任一实施例揭示的过程定义的装置所执行的方法可以应用于处理器32中,或者由处理器32实现。

处理器32可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器32中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器32可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现成可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器31,处理器32读取存储器31中的信息,结合其硬件完成上述方法的步骤。

本发明实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述户型形状识别方法,具体实现可参见方法实施方式,在此不再赘述。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1