门窗位置检测方法及装置
技术领域
本发明涉及智能家装技术领域,尤其是涉及一种门窗位置检测方法及装置。
背景技术
在家装设计中,首先需要得到户型的几何矢量数据,设计人员根据待装饰屋进行家装设计,户型的几何矢量数据包括门窗的位置数据。几何矢量数据一般需要由工作人员对待装饰屋进行实际测量,根据对待装饰屋的门窗、墙体等数据进行测量后手工生成。
然而,通过工作人员手动生成门窗的位置数据时,需要花费很长的时间进行实际测量,还需要根据测量数据生成门窗的位置数据,会耗费大量的时间和人力资源,测量和生成门窗的位置数据也可能会因为工作人员的问题出现误差,降低几何矢量数据的准确性。
针对上述现有技术中人工生成门窗的位置数据的方法存在测量时间长、人力成本高、准确率低的问题,目前尚未提出有效解决方案。
发明内容
有鉴于此,本发明的目的在于提供一种门窗位置检测方法及装置,以减少测量时间和人力成本,提高准确率。
第一方面,本发明实施例提供了一种门窗位置检测方法,包括:获取待检测的户型图;对户型图进行预处理,得到户型图对应的二值化图像;通过预先训练完成的第一神经网络模型提取二值化图像中门窗和墙体的边缘特征,得到边缘特征信息;通过预先训练完成的第二神经网络模型提取边缘特征信息中门窗的形状特征,得到形状特征信息;根据边缘特征信息和形状特征信息确定门窗的位置。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,对户型图进行预处理,得到户型图对应的二值化图像的步骤,包括:灰度化户型图,得到户型图的灰度值;计算户型图的灰度值峰值的平直度;将平直度最高的灰度值作为阈值,对户型图进行二值化,得到户型图对应的二值化图像。
结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第二种可能的实施方式,其中,灰度化户型图的步骤之前,方法还包括:对户型图进行图像去模糊处理,得到第一预处理户型图;对第一预处理户型图进行对比度均衡处理,得到第二预处理户型图;对第二预处理户型图进行边缘增强处理,得待灰度化的户型图。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,第一神经网络模型包括DenseNet网络;通过预先训练完成的第一神经网络模型提取二值化图像中门窗和墙体的边缘特征,得到边缘特征信息的步骤,包括:将二值化图像输入DenseNet网络,输出二值化图像中门窗和墙体的边缘特征;通过门窗和墙体的边缘特征过滤二值化图像,得到门窗和墙体的信息区域;将门窗和墙体的信息区域的像素位置作为边缘特征信息。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,第二神经网络模型包括:GoogleNet分割网络;通过预先训练完成的第二神经网络模型提取边缘特征信息中门窗的形状特征,得到形状特征信息的步骤,包括:将边缘特征信息输入GoogleNet分割网络,输出边缘特征信息中门窗的信息区域;对门窗的信息区域进行阈值分割;从阈值分割后的门窗的信息区域中提取灰度值梯度变化的像素点作为形状特征的边缘点,得到形状特征信息。
结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,还包括:将确定出的门窗的位置标示在户型图上。
结合第一方面,本发明实施例提供了第一方面的第六种可能的实施方式,其中,还包括:通过以下算式确定门窗位置检测方法的精度:其中,Ldet为门窗位置检测方法的精度;L1为门窗所在墙体位置边缘的代价函数;L2为门窗所在局部区域的块区域的偏差代价函数;α和β为L1和L2的权重系数;Nedge为训练样本的边缘图像;Npatch为门窗的个数。
第二方面,本发明实施例还提供一种门窗位置检测装置,包括:图像获取模块,用于获取待检测的户型图;预处理模块,用于对户型图进行预处理,得到户型图对应的二值化图像;边缘特征模块,用于通过预先训练完成的第一神经网络模型提取二值化图像中门窗和墙体的边缘特征,得到边缘特征信息;形状特征模块,用于通过预先训练完成的第二神经网络模型提取边缘特征信息中门窗的形状特征,得到形状特征信息;位置信息模块,用于根据边缘特征信息和形状特征信息确定门窗的位置。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,还包括:灰度化模块,用于灰度化户型图,得到户型图的灰度值;平直度模块,用于计算户型图的灰度值峰值的平直度;二值化模块,用于将平直度最高的灰度值作为阈值,对户型图进行二值化,得到户型图对应的二值化图像。
结合第二方面的第一种可能的实施方式,本发明实施例提供了第二方面的第二种可能的实施方式,其中,还包括:第一预处理模块,用于对户型图进行图像去模糊处理,得到第一预处理户型图;第二预处理模块,用于对第一预处理户型图进行对比度均衡处理,得到第二预处理户型图;第三预处理模块,用于对第二预处理户型图进行边缘增强处理,得待灰度化的户型图。
本发明实施例带来了以下有益效果:
本发明实施例提供的门窗位置检测方法及装置,对待检测的户型图进行预处理,并依次输入预先训练完成的第一神经网络模型和第二经网络模型,确定门窗的位置;采用神经网络模型深度学习的方法处理户型图得到门窗的位置,可以减少测量时间和人力成本,提高准确率。
本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种门窗位置检测方法的流程图;
图2为本发明实施例提供的一种门窗位置检测方法的效果图;
图3为本发明实施例提供的一种门窗位置检测方法的整体流程图;
图4为本发明实施例提供的一种门窗位置检测装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,获取户型的门窗位置需要通过人工手动测量和生成,然而,通过工作人员手动生成门窗的位置数据时,需要花费很长的时间进行实际测量,还需要根据测量数据生成门窗的位置数据,会耗费大量的时间和人力资源,测量和生成门窗的位置数据也可能会因为工作人员的问题出现误差,降低几何矢量数据的准确性。这种方法存在测量时间长、人力成本高、准确率低的问题,基于此,本发明实施例提供的一种门窗位置检测方法及装置,可以通过户型图快速测量门窗位置,以减少测量时间和人力成本,提高准确率。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种门窗位置检测方法进行详细介绍。
实施例1
本发明实施例1提供了一种门窗位置检测方法,参见图1所示的一种门窗位置检测方法的流程图,包括如下步骤:
步骤S102,获取待检测的户型图。
户型图是住房的平面空间布局图,即对各个独立空间的使用功能、相应位置、大小进行描述的图型。可以直观的看清房屋的走向布局。待检测的户型图是指需要检测门窗位置的房屋对应的户型图。参见图2所示的一种门窗位置检测方法的效果图,图2中的S1是户型图的一个示例。
步骤S104,对户型图进行预处理,得到户型图对应的二值化图像。
户型图中除了门窗信息之外,还会有其他的信息,例如:墙体信息、家具和家电的摆放信息、各种数字及文字标注等等。这些其他信息都会对门窗位置的检测产生干扰,属于噪声,需要被过滤。另外,户型图可能存在分辨率较低,画面质量较差的问题,这样会导致门窗位置检测的不准确;所以需要增强户型图的图像质量,之后再检测门窗位置,以增加检测的准确率。同时,为了增强户型图的图像质量,需要先对户型图做出预处理,预处理后得到二值化图像。二值化图像中对于户型图中的每一副形状图像进行采样,以便降低形状图像的大小,并将形状图像的每个像素值归一化到方差为1和均值为0。
步骤S106,通过预先训练完成的第一神经网络模型提取二值化图像中门窗和墙体的边缘特征,得到边缘特征信息。
采用深度神经网络预测户型图门窗和墙体的边缘特征,综合学习户型图整体特征,区分出户型图中门窗的信息和其他非相关信息。第一神经网络模型通过构造户型图的门窗边缘和墙体边缘作为深度学习的监督信号学习二值化图像的边缘特征。如图2所示,图2中的S3就是边缘特征信息,边缘特征信息包括了墙体边缘和门窗边缘,并将其他的噪声过滤。边缘特征信息就是户型图的全局信息,目的是给出门窗和墙体的信息区域,并将该信息区域用边缘特征信息表示。
步骤S108,通过预先训练完成的第二神经网络模型提取边缘特征信息中门窗的形状特征,得到形状特征信息。
将步骤S106得到的边缘特征信息作为第二神经网络模型的输入,第二神经网络模型输出门窗的形状特征,对感兴趣的图形区域进行阈值分割和边缘提取。通过进一步精细化区分出门窗的细节信息(即形状特征),得到门窗构件的准确位置(即形状特征信息)。如图2所示,S4就是形状特征信息。S4表明了在S3的边缘特征信息的基础上,对边缘特征信息中可能为门窗的部分进行提取并标出,其中,门和窗分别标出。
步骤S110,根据边缘特征信息和形状特征信息确定门窗的位置。
通过边缘特征信息和形状特征信息,就可以在全局信息的基础上分别标出门的位置和窗的位置,即得到了门窗的位置。
本发明实施例提供的上述方法,对待检测的户型图进行预处理,并依次输入预先训练完成的第一神经网络模型和第二经网络模型,确定门窗的位置;采用神经网络模型深度学习的方法处理户型图得到门窗的位置,可以减少测量时间和人力成本,提高准确率。
对于预处理户型图进行预处理,得到户型图对应的二值化图像的步骤,需要保证将门窗定义为黑色,因此,可以将门窗的灰度值作为阈值对户型图二值化,例如,可以通过以下步骤执行:
(1)灰度化户型图,得到户型图的灰度值;
一般来说,户型图为彩色图,为了得到二值化的户型图,首先需要将户型图灰度化。灰度化是指使用黑色调表示物体,即用黑色为基准色,不同的饱和度的黑色来显示图像。根据灰度化后的户型图,就得到了户型图中每个像素点的灰度值。
(2)计算户型图的灰度值峰值的平直度;
计算户型图中所有像素点的平直度。平直度是指灰度值数值弯曲的程度,灰度值峰值的数值如果在平面范围内越弯曲,则说明平直度越低;灰度值峰值的数值如果在平面范围内的一条直线上固定,则说明平直度越高。
(3)将平直度最高的灰度值作为阈值,对户型图进行二值化,得到户型图对应的二值化图像。
一般来说,户型图中越不弯曲的地方的灰度值峰值的平直度越高,而门窗一般也没有任何弯折,说明门窗对应的会灰度值峰值的平直度最高,把平直度最高的灰度值峰值作为阈值,也就是将门窗的灰度值作为阈值,保证了二值化后的户型图中门窗为黑色。
本发明实施例提供的上述方法,将门窗的灰度值作为阈值对户型图二值化,保证了户型图二值化后的二值化图像中,门窗区域为黑色。
待检测的户型图很可能存在模糊,边缘不清楚,对比度不均衡等可能影响灰度化二值化,进而影响门窗位置检测精度的问题,因此,可以在灰度化之前增加其他的预处理步骤,例如:图像去模糊、对比度均衡、边缘增强等等。例如,可以通过以下步骤执行:
(1)对户型图进行图像去模糊处理,得到第一预处理户型图;
造成图像模糊的原因有很多,其中包括光学因素、大气因素、人工因素、技术因素等等,不同原因导致的模糊往往需要不同的处理方法。从技术方面来向,模糊图像处理方法主要分为三大类,分别是图像增强、图像复原和超分辨率重构。
图像增强是指增强图像中的有用信息,其目的是要改善图像的视觉效果,针对给定图像的应用场合,有目的地强调图像的整体或局部特性,扩大图像中不同物体特征之间的差别,抑制不感兴趣的特征。图像增强可分成两大类:频率域法和空间域法。频率域法把图像看成一种二维信号,对其进行基于二维傅里叶变换的信号增强。采用低通滤波(即只让低频信号通过)法,可去掉图中的噪声;采用高通滤波法,则可增强边缘等高频信号,使模糊的图片变得清晰。具有代表性的空间域算法有局部求平均值法和中值滤波(取局部邻域中的中间像素值)法等。
图像退化的典型表现是图像出现模糊、失真,出现附加噪声等。由于图像的退化,在图像接受端显示的图像已不再是传输的原始图像,图像效果明显变差。为此,必须对退化的图像进行处理,才能恢复出真实的原始图像,这一过程就称为图像复原。图像复原需要根据某些特定的图像退化模型,对退化图像进行复原。
超分辨率重构是通过信号处理的方法,在提高图像的分辨率的同时改善采集图像质量。其核心思想是通过对成像系统截止频率之外的信号高频成分估计来提高图像的分辨率。
(2)对第一预处理户型图进行对比度均衡处理,得到第二预处理户型图;
将去模糊处理得到的第一预处理户型图作为输入,经过对比对度均衡得到第二预处理户型图。对比度均衡是图像处理领域中利用图像直方图对对比度进行调整的方法,用于增加图像的全局对比度。直方图是图像中像素强度分布的图形表达方式,它统计了每一个强度值所具有的像素个数。对比度均衡是通过拉伸像素强度分布范围来增强图像对比度的一种方法。
(3)对第二预处理户型图进行边缘增强处理,得待灰度化的户型图。
将第二预处理户型度作为输入,经过边缘增强,得到带待灰度化的户型图。边缘增强是将图像(或影像)相邻像元(或区域)的亮度值(或色调)相差较大的边缘(即影像色调突变或地物类型的边界线)处加以突出强调的技术方法。
本发明实施例提供的上述方法,在灰度化户型图之前通过图像去模糊、对比度均衡、边缘增强进行预处理,以增加图像的清晰度并提高门窗位置检测的准确率。
具体地说,通过预先训练完成的第一神经网络模型提取二值化图像中门窗和墙体的边缘特征,得到边缘特征信息的步骤中,第一神经网络模型包括DenseNet网络,上述方法可以通过以下步骤执行:
(1)将二值化图像输入DenseNet网络,输出二值化图像中门窗和墙体的边缘特征。
DenseNet网络是一种具有密集连接的卷积神经网络。在该网络中,任何两层之间都有直接的连接,也就是说,网络每一层的输入都是前面所有层输出的并集,而该层所学习的特征图也会被直接传给其后面所有层作为输入。将二值化图像作为DenseNet网络的输入,输出门窗和墙体的边缘特征。图像的边缘是指其周围像素灰度急剧变化的那些像素的集合,它是图像最基本的特征。通过DenseNet网络学习户型图中门窗和墙体的边缘的特征。
(2)通过门窗和墙体的边缘特征过滤二值化图像,得到门窗和墙体的信息区域。根据学习的边缘特征过滤二值化图像,会将不符合门窗和墙体的边缘特征的区域过滤掉,即过滤掉家具和家电的摆放信息、各种数字及文字标注等噪声,得到门窗和墙体的信息区域。
(3)将门窗和墙体的信息区域的像素位置作为边缘特征信息。边缘特征信息如图2中S3所示,本发明实施例提供的上述方法,通过DenseNet网络作为第一神经网络模型提取边缘特征,并得到边缘特征信息。
具体地说,通过预先训练完成的第二神经网络模型提取边缘特征信息中门窗的形状特征,得到形状特征信息的步骤中,第二神经网络模型包括GoogleNet分割网络,上述方法可以通过以下步骤执行:
(1)将边缘特征信息输入GoogleNet分割网络,输出边缘特征信息中门窗的信息区域。GoogleNet分割网络利用inception结构,inception结构很好地利用了网络中的计算资源,并且在不增加计算负载的情况下,增加网络的宽度和深度。同时,为了优化网络质量,采用了Hebbian原理和多尺度处理。GoogleNet分割网络首先对输入的边缘特征信息进行学习,得到边缘特征信息中门窗的信息区域。其中,门与窗的信息区域并不相同,通过GoogleNet分割网络可以分别确定门的信息区域和窗的信息区域。
(2)对门窗的信息区域进行阈值分割。在获得门窗的信息区域后,对该区域阈值分割,阈值分割是指通过设定不同的特征阈值,把图像像素点分为若干类。
(3)从阈值分割后的门窗的信息区域中提取灰度值梯度变化的像素点作为形状特征的边缘点,得到形状特征信息。一般来说门窗附近的灰度值存在较为明显的梯度变化。因此可以将门窗的信息区域灰度值梯度变化的像素点作为形状特征的边缘点,以此确定形状特征信息,形状特征信息如图2中的S4所示,通过该形状特征信息标明门窗的位置。本发明实施例提供的上述方法,通过GoogleNet分割网络作为第二神经网络模型提取形状特征信息。
此外,为了进一步直观的标明门窗的位置,上述方法还包括:将确定出的门窗的位置标示在户型图上。如图2的S5所示,在户型图的基础,将形状特征信息中门窗的可能位置标在户型图的对应位置上。本发明实施例提供的上述方法,通过将确定出的门窗的位置标示在户型图上,进一步直观的标明门窗的位置。
此外,还可以通过代价函数的方法确定该门窗位置检测方法的精度,例如,通过以下算式确定门窗位置检测方法的精度:
其中,Ldet为门窗位置检测方法的精度;L1为门窗所在墙体位置边缘的代价函数;L2为门窗所在局部区域的块区域的偏差代价函数;α和β为L1和L2的权重系数;Nedge为训练样本的边缘图像;Npatch为门窗的个数。
在该检测方法实际使用的过程中,α=0.7,β=0.3可以保证边缘特征信息保留了门窗的细节,并且能对部分破损边缘进行智能修补;形状特征信息进行简单的阈值分割就能到得到95%以上门窗的区域块,结合边缘特征信息就可以过滤出最终门窗位置,并且具有较高的准确率。
整体流程可以参见图3所示的一种门窗位置检测方法的整体流程图,如图3所示,可以通过以下步骤执行:
步骤S31,输入户型图,进行图像预处理,图像预处理的步骤依次为图像去模糊、对比度均衡、边缘增强和阈值分割,其中,阈值分割包括灰度化和二值化,得到二值化图像。
步骤S32,输入S31输出的二值化图像,将预先训练完成的第一神经网络模型作为深度卷积神经网络,得到边缘特征,也就是全局信息,确定边缘特征信息。
步骤S33,输入S32输出的边缘特征信息,将预先训练完成的第二神经网络模型作为深度卷积神经网络,得到形状特征,也就是局部信息,确定形状特征信息。
步骤S34,根据S33输出的形状特征信息确定门窗的位置信息,门窗位置信息包括门窗起点、门窗长度和门窗终点,并且可以在户型图上表明。
本发明实施例提供的一种门窗位置检测方法,对待检测的户型图进行预处理,并依次输入预先训练完成的第一神经网络模型和第二经网络模型,确定门窗的位置;将门窗的灰度值作为阈值对户型图二值化,保证了户型图二值化后的二值化图像中,门窗区域为黑色;在灰度化户型图之前通过图像去模糊、对比度均衡、边缘增强进行预处理;通过DenseNet网络作为第一神经网络模型提取边缘特征,并得到边缘特征信息;通过GoogleNet分割网络作为第二神经网络模型提取形状特征信息;通过将确定出的门窗的位置标示在户型图上,进一步直观的标明门窗的位置;采用神经网络模型深度学习的方法处理户型图得到门窗的位置,可以减少测量时间和人力成本,提高准确率;以增加图像的清晰度并提高门窗位置检测的准确率。
实施例2
本发明实施例2提供一种门窗位置检测装置,参见图4所示的一种门窗位置检测装置的结构示意图,包括图像获取模块41、预处理模块42、边缘特征模块43、形状特征模块44和位置信息模块45,上述各模块的功能如下:
图像获取模块41,用于获取待检测的户型图;
预处理模块42,用于对户型图进行预处理,得到户型图对应的二值化图像;
边缘特征模块43,用于通过预先训练完成的第一神经网络模型提取二值化图像中门窗和墙体的边缘特征,得到边缘特征信息;
形状特征模块44,用于通过预先训练完成的第二神经网络模型提取边缘特征信息中门窗的形状特征,得到形状特征信息;
位置信息模块45,用于根据边缘特征信息和形状特征信息确定门窗的位置。
为了得到二值化图像,需要通过对户型图灰度化并选择门窗的灰度值作为阈值,上述装置还包括:
灰度化模块,用于灰度化户型图,得到户型图的灰度值;
平直度模块,用于计算户型图的灰度值峰值的平直度;
二值化模块,用于将平直度最高的灰度值作为阈值,对户型图进行二值化,得到户型图对应的二值化图像。
在对户型图进行灰度化之前,由于户型图可能存在模糊、对比度低、边缘不清晰等问题,可能需要对户型图做出进一步的预处理,上述装置还包括:
第一预处理模块,用于对户型图进行图像去模糊处理,得到第一预处理户型图;
第二预处理模块,用于对第一预处理户型图进行对比度均衡处理,得到第二预处理户型图;
第三预处理模块,用于对第二预处理户型图进行边缘增强处理,得待灰度化的户型图。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的门窗位置检测装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明实施例提供的门窗位置检测装置,与上述实施例提供的门窗位置检测方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。