发明内容
本公开实施例至少提供一种建筑立面的分割方法、装置、电子设备以及存储介质。这样,可以提高建筑立面的分割效率,节省人力资源,以便根据建筑立面的区域参数和重复参数快速对目标建筑进行三维建模。
本公开实施例提供了一种建筑立面的分割方法,所述方法包括:
分别对正向建筑立面图像进行横向聚类分割和纵向聚类分割,得到横向聚类分割图像和纵向聚类分割图像;
将所述横向聚类分割图像和所述纵向聚类分割图像进行叠加,得到叠加聚类分割图像,所述叠加聚类分割图像中包括根据横向聚类分割图像和纵向聚类分割图像分割的矩形区域;
确定所述叠加聚类分割图像中重复的目标结构区域,所述目标结构区域由横向相邻的多个矩形区域组成;
将所述目标结构区域的区域参数和重复参数标注在所述叠加聚类分割图像上,得到带有区域参数和重复参数标注的建筑立面分割图像。
一种可选的实施方式中,所述确定所述叠加聚类分割图像中重复的目标结构区域,包括:
对多个中间矩形区域进行聚类,得到所述中间矩形区域的聚类结果;其中,所述中间矩形区域由2到N个横向相邻的矩形区域组成,所述聚类结果包括所述中间矩形区域的类别数量和每个类别的所述中间矩形区域的分散度;
根据所述分散度和所述类别数量,确定所述叠加聚类分割图像中重复的目标结构区域。
一种可选的实施方式中,根据以下步骤确定所述目标结构区域的区域参数和重复参数,包括:
遍历所述叠加聚类分割图像中的与所述目标结构区域相同的其他矩形区域;
基于所述目标结构区域和所述目标结构区域相同的其他矩形区域的坐标和数量,确定所述目标结构区域的区域参数和重复参数。
一种可选的实施方式中,在所述分别对正向建筑立面图像进行横向聚类分割和纵向聚类分割,得到横向聚类分割图像和纵向聚类分割图像之前,所述方法还包括:
对目标建筑立面图像进行边缘预处理,得到所述目标建筑立面图像的多条边缘线;
根据各条边缘线的极坐标,从所述多条边缘线中确定出多条直线边缘线;
基于每条所述直线边缘线的角度,确定出所述目标建筑立面图像的基准坐标方向线;其中,所述直线边缘线的角度为所述直线边缘线与图像水平线形成的夹角值,所述基准坐标方向线包括所述目标建筑立面图像中目标建筑横向方向线和竖直方向线;
基于所述基准坐标方向线和图像水平线,将所述目标建筑立面图像中的目标建筑进行单应性变换,得到建筑立面正向图像。
一种可选的实施方式中,所述基于每条所述直线边缘线的角度,确定出所述目标建筑立面图像的基准坐标方向线,包括:
基于每条直线边缘线的角度,生成角度直方图;
利用最大值检测算法,提取所述角度直方图中的目标直线边缘线,作为所述目标建筑立面图像中的目标建筑的基准坐标方向线;其中,所述目标直线边缘线为所述角度直方图中不相邻的、两个直线数量最大的角度对应的直线边缘线。
本公开实施例还提供一种建筑立面的分割装置,所述装置包括:
聚类分割模块,用于分别对正向建筑立面图像进行横向聚类分割和纵向聚类分割,得到横向聚类分割图像和纵向聚类分割图像;
叠加模块,用于将所述横向聚类分割图像和所述纵向聚类分割图像进行叠加,得到叠加聚类分割图像,所述叠加聚类分割图像中包括根据横向聚类分割图像和纵向聚类分割图像分割的矩形区域;
目标结构区域确定模块,用于确定所述叠加聚类分割图像中重复的目标结构区域,所述目标结构区域由横向相邻的多个矩形区域组成;
数据标注模块,用于将所述目标结构区域的区域参数和重复参数标注在所述叠加聚类分割图像上,得到带有区域参数和重复参数标注的建筑立面分割图像。
一种可选的实施方式中,所述目标结构区域确定模块,具体用于:
对多个中间矩形区域进行聚类,得到所述中间矩形区域的聚类结果;其中,所述中间矩形区域由2到N个横向相邻的矩形区域组成,所述聚类结果包括所述中间矩形区域的分散度和组成所述中间矩形区域的矩形区域的区域数量;
根据所述分散度和所述区域数量,确定所述叠加聚类分割图像中重复的目标结构。
一种可选的实施方式中,所述数据标注模块用于根据以下步骤确定所述目标结构区域的区域参数和重复参数,包括:
遍历所述叠加聚类分割图像中的与所述目标结构区域相同的其他矩形区域;
基于所述目标结构区域和所述目标结构区域相同的其他矩形区域的坐标和数量,确定所述目标结构区域的区域参数和重复参数。
一种可选的实施方式中,装置还包括预处理模块,用于:
对目标建筑立面图像进行边缘预处理,得到所述目标建筑立面图像的多条边缘线;
根据各条边缘线的极坐标,从所述多条边缘线中确定出多条直线边缘线;
基于每条所述直线边缘线的角度,确定出所述目标建筑立面图像的基准坐标方向线;其中,所述直线边缘线的角度为所述直线边缘线与图像水平线形成的夹角值,所述基准坐标方向线包括所述目标建筑立面图像中目标建筑横向方向线和竖直方向线;
基于所述基准坐标方向线和图像水平线,将所述目标建筑立面图像中的目标建筑进行单应性变换,得到建筑立面正向图像。
一种可选的实施方式中,所述预处理模块用于基于每条所述直线边缘线的角度,确定出所述目标建筑立面图像的基准坐标方向线时,具体用于:
基于每条直线边缘线的角度,生成角度直方图;
利用最大值检测算法,提取所述角度直方图中的目标直线边缘线,作为所述目标建筑立面图像中的目标建筑的基准坐标方向线;其中,所述目标直线边缘线为所述角度直方图中不相邻的、两个直线数量最大的角度对应的直线边缘线。
本公开实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述实施方式中的步骤。
本公开实施例还提供一种计算机存储介质,该计算机存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述实施方式中的步骤。
本公开实施例提供的建筑立面的分割方法、装置、电子设备以及存储介质,采用分别对正向建筑立面图像进行横向聚类分割和纵向聚类分割,得到横向聚类分割图像和纵向聚类分割图像;将所述横向聚类分割图像和所述纵向聚类分割图像进行叠加,得到叠加聚类分割图像,所述叠加聚类分割图像中包括根据横向聚类分割图像和纵向聚类分割图像分割的矩形区域;确定所述叠加聚类分割图像中重复的目标结构区域,所述目标结构区域由横向相邻的多个矩形区域组成;将所述目标结构区域的区域参数和重复参数标注在所述叠加聚类分割图像上,得到带有区域参数和重复参数标注的建筑立面分割图像,与现有技术中的主要是通过人工或深度算法模型进行分割,但是人工进行图像分割时,自动化、智能化程度不足,耗费人力,而训练深度算法模型时,针对不同的建筑风格,需要大量的训练样本且需要对大量数据进行人工标注,实用性低相比,其可以提高建筑立面的分割效率,节省人力资源,以便根据建筑立面的区域参数和重复参数快速对目标建筑进行三维建模。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
经研究发现,目前,主要是通过人工或深度算法模型进行分割,但是人工进行图像分割时,自动化、智能化程度不足,耗费人力,而训练深度算法模型时,针对不同的建筑风格,需要大量的训练样本且需要对大量数据进行人工标注,实用性低。
基于上述研究,本公开提供了一种建筑立面的分割方法、装置、电子设备以及存储介质,分别对正向建筑立面图像进行横向聚类分割和纵向聚类分割,得到横向聚类分割图像和纵向聚类分割图像;将所述横向聚类分割图像和所述纵向聚类分割图像进行叠加,得到叠加聚类分割图像,所述叠加聚类分割图像中包括根据横向聚类分割图像和纵向聚类分割图像分割的矩形区域;确定所述叠加聚类分割图像中重复的目标结构区域,所述目标结构区域由横向相邻的多个矩形区域组成;将所述目标结构区域的区域参数和重复参数标注在所述叠加聚类分割图像上,得到带有区域参数和重复参数标注的建筑立面分割图像。这样,可以提高建筑立面的分割效率,节省人力资源,以便根据建筑立面的区域参数和重复参数快速对目标建筑进行三维建模。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种建筑立面的分割方法进行详细介绍,本公开实施例所提供的建筑立面的分割方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、计算设备等。在一些可能的实现方式中,该建筑立面的分割方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
参见图1所示,为本公开实施例提供的建筑立面的分割方法的流程图,所述方法包括步骤S101~S104,其中:
S101:分别对正向建筑立面图像进行横向聚类分割和纵向聚类分割,得到横向聚类分割图像和纵向聚类分割图像。
这里,在对正向建筑立面图像进行分割之前,对正向建筑立面图像进行预处理,预处理可以包括利用高斯图像滤波、平滑图像噪点、转换为灰度图,在对预处理后的正向建筑立面图像进行横向聚类分割时,在正向建筑立面图像水平面方向,将每一行像素点的所有灰度值并列,作为该行的特征向量,每一行的特征向量可以表示为f=(n1,n2…n_cols),其中,cols为正向建筑立面图像的行数,整个正向建筑立面图像将会有图像行数个特征数据,即正向建筑立面图像有多少个行就会有多好个特征数据f。然后对每一行的特征向量f利用聚类算法进行群聚,分成不同的类型,其中,群聚的带宽参数可以根据所有行之间的差异性(即所有行像素点之间的标准方差)进行动态调整,确保整个类别在5个左右;每一行的像素点分类完成后,判断相邻的同一类分类的数量,如果小于预设阈值,则将其归为相邻类型中较近的一类中,以将相邻的行进行合并,剔除像素点的噪点,在完成上述的剔除噪点的操作后,将每行的像素点的像素值替换成每一行所属的类别的中心特征值,完成对正向建筑立面图像的横向聚类分割,得到横向聚类分割图像。
示例性的,对正向建筑立面图像进行预处理之后,得到正向建筑立面图像的特征向量f1、f2、f3、f4 、f5、f6,经过横向聚类分割后,分为5类(f1)、(f2、f3)、(f4)、(f5)、(f6);其中,f3与f2所属同类别、位置相邻,且f3的特征向量数量小于预设阈值5,则将f3与f2合并,进一步的,f1所属的类别的中心特值为50,则将返f1的所有的特征向量的像素值替换成中心特征向量值50,得到横向聚类分割图像。
在对预处理后的正向建筑立面图像进行纵向聚类分割时,在正向建筑立面图像竖直面方向,将每一列像素点的所有灰度值并列,作为该列的特征向量,每一列的特征向量可以表示为r=(n1,n2…n_rows),其中,rows为正向建筑立面图像的列数,整个正向建筑立面图像将会有图像列数个特征数据,正向建筑立面图像有多少个列就会有多好个特征数据r。然后对每一列的特征向量r利用聚类算法进行群聚,分成不同的类型,其中,群聚的带宽参数可以根据所有列之间的差异性(即所有列像素点之间的标准方差)进行动态调整,确保整个类别在5个左右;每一列的像素点分类完成后,判断相邻的同一类分类的数量,如果小于预设阈值,则将其归为相邻类型中较近的一类中,以将相邻的列进行合并,剔除像素点的噪点,在完成上述的剔除噪点的操作后,将每列的像素点的像素值替换成每一列所属的类别的中心特征值,完成对正向建筑立面图像的纵向聚类分割,得到纵向聚类分割图像。
示例性的,对正向建筑立面图像进行预处理之后,得到正向建筑立面图像的特征向量r1、r2、r3、r4 、r5、r6,经过横向聚类分割后,分为5类(r1)、(r2、r3)、(r4)、(r5)、(r6);其中,r3与r2所属同类别、位置相邻,且r3的特征向量数量小于预设阈值5,则将r3与r2合并,进一步的,r1所属的类别的中心特值为50,则将返r1的所有的特征向量的像素值替换成中心特征向量值50,得到纵向聚类分割图像。
其中,在进行横向聚类分割和纵向聚类分割时,可以根据实际需求选择不同的聚类分割算法,在这里不做具体的限定,优选均值偏移算法mean-shift。
其中,在具体进行聚类分割时,可以同时进行横向聚类分割和纵向聚类分割,也可以先进行横向聚类分割再进行纵向聚类分割,这里不做具体的限定。
这里,不同于传统的以点为基本单位的分割方式,本实施例以正向建筑立面图像中的一整条线(即一整行或一整列)为聚类分割的基本单位,每条线的特征为该条线上的所有像素点构成的n维的特征向量,提高图像聚类分割的效率。
S102:将所述横向聚类分割图像和所述纵向聚类分割图像进行叠加,得到叠加聚类分割图像。
其中,所述叠加聚类分割图像中包括根据横向聚类分割图像和纵向聚类分割图像分割的矩形区域。
这里,由于具体进行聚类分割时,可以同时进行横向聚类分割和纵向聚类分割,也可以先进行横向聚类分割再进行纵向聚类分割,因此,可以在分别获取横向聚类分割图像和纵向聚类分割图像,再将两个图像进行叠加得到叠加聚类分割图像,所述叠加聚类分割图像中包括根据横向聚类分割图像和纵向聚类分割图像分割的矩形区域,以便后续重复的目标结构区域的确定,为快速提高确定目标结构区域提供图像基础。
S103:确定所述叠加聚类分割图像中重复的目标结构区域,所述目标结构区域由横向相邻的多个矩形区域组成。
这里,由于所述叠加聚类分割图像中包括根据横向聚类分割图像和纵向聚类分割图像分割的矩形区域,且横向聚类分割图像和纵向聚类分割图像都是进行聚类分割处理后的图像,具有不同的特征类别,两个图像叠加后,会形成不同特征类别的矩形区域,每个矩形区域可能存在重复的情况,且不同特征类别的矩形区域有可能按照预设数量进行组合成目标结构区域后还可能存在重复的情况,因此,从这些组合后仍然存在重复情况的矩形区域中,确定出最优的目标结构区域。
其中,所述目标结构区域由横向相邻的多个矩形区域组成。
进一步的,参见图2所示,为本公开实施例提供的一种建筑立面的分割方法的确定所述叠加聚类分割图像中重复的目标结构区域的具体方法流程图,所述方法包括步骤S201~S202,其中:
S201:对多个中间矩形区域进行聚类,得到所述中间矩形区域的聚类结果。
其中,所述中间矩形区域由2到N个横向相邻的矩形区域组成,所述聚类结果包括所述中间矩形区域的类别数量和每个类别的所述中间矩形区域的分散度。
其中,N可以根据实际需要进行设定,在这里不做具体的限定,优先为数值5。
其中,在对多个中间矩形区域进行聚类时,按照预先设置的带宽参数进行分类,不同的带宽参数对应不同类别,且每个类别均对应有自己的分散度。
其中,在对多个中间矩形区域进行聚类时,可以根据实际需求选择不同的聚类分割算法,在这里不做具体的限定,优选均值偏移算法mean-shift。
S202:根据所述分散度和所述类别数量,确定所述叠加聚类分割图像中重复的目标结构区域。
这里,在确定所述叠加聚类分割图像中重复的目标结构区域时,首先,按照预设数量对叠加聚类分割图像一整行中横向相邻的矩形区域进行组合,得到多个中间矩形区域,预设数量为2到N的任一数值,针对2到N的每个预设数量对应形成的中间矩形区域均利用聚类分割算法进行聚类分割,得到每个预设数量对应的中间矩形区域的类别数量和每个类别的中间矩形区域的分散度,计算每个预设数量对应的聚类分割出的各个类别的中间矩形区域的分散度的平均值,基于每个预设数量对应的中间矩形区域的类别数量和每个数值对应的分散度平均值,确定目标结构区域。
其中,在按照预设数量进行矩形区域的组合时,若一整行的矩形区域剩余不够继续按照预设数量进行组合,则将剩余的矩形区域舍弃。
其中,选取类别数量少且分散度平均值小对应的数值组合的中间矩形区域作为目标结构区域。
示例性的,叠加聚类分割图像的横向的一整行的矩形区域的表示为S=(S1、S2、S2、S1、S3、S3、S2、S1、S2、S2、S1、S2、S2),按照预设数量2进行组合得到(S1、S2)、(S2、S1)、(S3、S3)、(S2、S1)、(S2、S2、S1)、(S2、S2);按照预设数量3进行组合得到(S1、S2、S2)、(S1、S3、S3)、(S2、S1、S2)、(S2、S1、S2);按照预设数量4进行组合得到(S1、S2、S2、S1)、(S3、S3、S2、S1)、(S2、S2、S1、S2);按照预设数量5进行组合得到(S1、S2、S2、S1、S3)、(S3、S2、S1、S2、S2);针对按照每个预设数量进行组合的中间矩形区域进行聚类分割,预设数量2的对应的聚类结果:类别数量为3,分散度的平均值为5;预设数量3的对应的聚类结果:类别数量为2,分散度的平均值为5;预设数量4的对应的聚类结果:类别数量为3,分散度的平均值为5;预设数量5的对应的聚类结果:类别数量为2,分散度的平均值为6;首先,选择出预设数量3和5对应的聚类结果,再对比预设数量3和5对应的分散度,最后将预设数量3对应的中间矩形区域确定为最优的目标结构区域。
其中,另一种可选的实施方式中,在所述叠加聚类分割图像中对多个中间矩形区域进行对比查找,得到所述中间矩形区域的对比结果。
其中,所述中间矩形区域由2到N个横向相邻的矩形区域组成,所述对比结果包括所述中间矩形区域的类别数量和每个类别的所述中间矩形区域的坐标;
基于每个类别的所述中间矩形区域的坐标,将每个类别的所述中间矩形区域映射到离散图上,计算每个类别的所述中间矩形区域的分散度;
根据所述分散度和所述类别数量,确定所述叠加聚类分割图像中重复的目标结构区域。
这里,按照预设数量对横向相邻的矩形区域进行组合,得到多个中间矩形区域,预设数量为2到N的任一数值,针对2到N的每个数值对应形成的中间矩形区域均利用对比查找算法进行对比查找,得到每个预设数量对应的中间矩形区域的类别数量和每个类别的中间矩形区域的坐标,基于每个类别的所述中间矩形区域的坐标,将每个类别的所述中间矩形区域映射到离散图上,计算每个类别的所述中间矩形区域的分散度,进一步计算每个预设数量对应的聚类分割出的所有类别的中间矩形区域的分散度的平均值,基于每个数值对应的中间矩形区域的类别数量和每个数值对应的分散度平均值,确定目标结构区域。
S104:将所述目标结构区域的区域参数和重复参数标注在所述叠加聚类分割图像上,得到带有区域参数和重复参数标注的建筑立面分割图像。
这里,区域参数可以包括目标结构区域的坐标、宽、高,可以表示为p(
,
,w,h)其中,
和
分别表示该目标结构区域在图像上的x和y坐标,w和h表示该目标结构区域的宽度和长度;重复参数可以包括重复方向、重复距离、重复次数,可以表示为(
,
,n),其中,
,
分别表示改结构在x方向和y方向重复距离,n表示重复次数;将所述目标结构区域的区域参数和重复参数标注在所述叠加聚类分割图像上时,可以标注在目标结构区域上,也可以同时标注目标结构区域和与目标结构区域相同的其他矩形区域,得到带有区域参数和重复参数标注的建筑立面分割图像,方便三维建模工具根据带有区域参数和重复参数标注的建筑立面分割图像快速建模,节省人力,应用性强。
进一步的,一种可选的实施方式中,根据以下步骤确定所述目标结构区域的区域参数和重复参数,包括:
遍历所述叠加聚类分割图像中的与所述目标结构区域相同的其他矩形区域;
基于所述目标结构区域和所述目标结构区域相同的其他矩形区域的坐标和数量,确定所述目标结构区域的区域参数和重复参数。
这里,在确定出目标结构区域后,利用遍历算法在叠加聚类分割图像遍历与目标结构区域相同的其他矩形区域,以目标结构区域的坐标为基准,遍历与所述目标结构区域相同的其他矩形区域的坐标和数量,计算目标结构区域的区域参数和重复参数。
再进一步的,一种可选的实施方式中,所述方法还包括:
针对除所述目标结构区域的其他矩形区域进行计算,得到除所述目标结构区域的其他矩形区域的所有像素点的标准方差;
根据所述标准方差,调整聚类分割参数,对除所述目标结构区域的其他矩形区域再次进行横向聚类分割和纵向聚类分割,得到细微矩形区域。
这里,在确定了目标结构区域之后,可以将除目标结构区域之外的其他矩形区域进行再一次的横向和纵向的聚类分割,以便对除目标结构区域之外的其他矩形区域进行更细微的聚类分割,实现针对特殊的矩形区域进行细小分割,针对性进行细小分割,提高图像分割的准确性的同时也提高图像分割的效率。
接下来,结合具体实施方式进一步对本实施例进行说明。
一种可选的实施方式中,在所述分别对正向建筑立面图像进行横向聚类分割和纵向聚类分割,得到横向聚类分割图像和纵向聚类分割图像之前,所述方法还包括:
对目标建筑立面图像进行边缘预处理,得到所述目标建筑立面图像的多条边缘线;
根据各条边缘线的极坐标,从所述多条边缘线中确定出多条直线边缘线;
基于每条所述直线边缘线的角度,确定出所述目标建筑立面图像的基准坐标方向线;其中,所述直线边缘线的角度为所述直线边缘线与图像水平线形成的夹角值,所述基准坐标方向线包括所述目标建筑立面图像中目标建筑横向方向线和竖直方向线;
基于所述基准坐标方向线和图像水平线,将所述目标建筑立面图像中的目标建筑进行单应性变换,得到建筑立面正向图像。
这里,由于在对图像进行分割之前,得到的目标建筑立面图像有可能并不是标准的正向建筑立面图像,因此需要对目标建筑立面图像进行处理,首先,需要利用形态学滤波对目标建筑立面图像进行噪点处理,具体为使用方形结构元素在目标建筑立面图像上进行开运算(先腐蚀后膨胀),剔除一些细小的噪点,规避不明显的直线;其次,使用边缘检测算法对目标建筑立面图像进行边缘识别,得到所述目标建筑立面图像的多条边缘线;再次,利用利用霍夫空间变化法,检测边缘图像中存在直线,具体的将边缘检测后的目标建筑立面图像进行二值化后,可以将其中的边缘映射到霍夫直线参数空间,通过变化,图像空间中的每个点就被映射为一个极坐标,并由各个极坐标形成极坐标空间中的正弦曲线,根据极坐标空间中的最大参数空间点,可以确定图像中大概率存在直线的地方;再一次,在确定出多条直线边缘线之后,计算每条直线与水平线形成的夹角值,得到每条所述直线边缘线的角度,基于每条所述直线边缘线的角度,确定出所述目标建筑立面图像的基准坐标方向线,所述基准坐标方向线包括所述目标建筑立面图像中目标建筑横向方向线和竖直方向线;基于所述基准坐标方向线和图像水平线,将所述目标建筑立面图像中的目标建筑进行单应性变换,得到建筑立面正向图像。提前对目标建筑立面图像进行正向化处理,提高图像分割的效率。
其中,可以根据实际需要选择边缘识别算法,在这里不做具体的限定,优选为Canny边缘检测算子,Canny边缘检测算子是一种多级检测算法,其优点包含:1)低错误率的边缘检测:检测算法应该精确地找到图像中的尽可能多的边缘,尽可能的减少漏检和误检。2)最优定位:检测的边缘点应该精确地定位于边缘的中心。3)图像中的任意边缘应该只被标记一次,同时图像噪声不应产生伪边缘。
一种可选的实施方式中,所述基于每条所述直线边缘线的角度,确定出所述目标建筑立面图像的基准坐标方向线,包括:
基于每条直线边缘线的角度,生成角度直方图;
利用最大值检测算法,提取所述角度直方图中的目标直线边缘线,作为所述目标建筑立面图像中的目标建筑的基准坐标方向线;其中,所述目标直线边缘线为所述角度直方图中不相邻的、两个直线数量最大的角度对应的直线边缘线。
这里,在基于每条所述直线边缘线的角度,确定出所述目标建筑立面图像的基准坐标方向线时,具体是通过基于每条直线边缘线的角度,生成角度直方图,然后利用最大值检测算法,提取所述角度直方图中的目标直线边缘线,作为所述目标建筑立面图像中的目标建筑的基准坐标方向线;其中,所述目标直线边缘线为所述角度直方图中不相邻的、两个直线数量最大的角度对应的直线边缘线。提高对图像进行正向化处理的效率。
本实施例公开的建筑立面的分割方法,通过分别对正向建筑立面图像进行横向聚类分割和纵向聚类分割,得到横向聚类分割图像和纵向聚类分割图像;将所述横向聚类分割图像和所述纵向聚类分割图像进行叠加,得到叠加聚类分割图像,所述叠加聚类分割图像中包括根据横向聚类分割图像和纵向聚类分割图像分割的矩形区域;确定所述叠加聚类分割图像中重复的目标结构区域,所述目标结构区域由横向相邻的多个矩形区域组成;将所述目标结构区域的区域参数和重复参数标注在所述叠加聚类分割图像上,得到带有区域参数和重复参数标注的建筑立面分割图像。这样,可以提高建筑立面的分割效率,节省人力资源,以便根据建筑立面的区域参数和重复参数快速对目标建筑进行三维建模。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与建筑立面的分割方法对应的建筑立面的分割装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述建筑立面的分割方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
请参阅图3至图4,图3为本公开实施例提供的一种建筑立面的分割装置的示意图,图4为本公开实施例提供的一种建筑立面的分割装置的示意图之二。如图3中所示,本公开实施例提供的建筑立面的分割装置300,包括:
聚类分割模块310,用于正向建筑立面图像进行横向聚类分割和纵向聚类分割,得到横向聚类分割图像和纵向聚类分割图像;
叠加模块320,用于将所述横向聚类分割图像和所述纵向聚类分割图像进行叠加,得到叠加聚类分割图像,所述叠加聚类分割图像中包括根据横向聚类分割图像和纵向聚类分割图像分割的矩形区域;
目标结构区域确定模块330,用于确定所述叠加聚类分割图像中重复的目标结构区域,所述目标结构区域由横向相邻的多个矩形区域组成;
数据标注模块340,用于将所述目标结构区域的区域参数和重复参数标注在所述叠加聚类分割图像上,得到带有区域参数和重复参数标注的建筑立面分割图像。
一种可选的实施方式中,所述目标结构区域确定模块330,具体用于:
对多个中间矩形区域进行聚类,得到所述中间矩形区域的聚类结果;其中,所述中间矩形区域由2到N个横向相邻的矩形区域组成,所述聚类结果包括所述中间矩形区域的分散度和组成所述中间矩形区域的矩形区域的区域数量;
根据所述分散度和所述区域数量,确定所述叠加聚类分割图像中重复的目标结构。
一种可选的实施方式中,所述数据标注模块340用于根据以下步骤确定所述目标结构区域的区域参数和重复参数,包括:
遍历所述叠加聚类分割图像中的与所述目标结构区域相同的其他矩形区域;
基于所述目标结构区域和所述目标结构区域相同的其他矩形区域的坐标和数量,确定所述目标结构区域的区域参数和重复参数。
一种可选的实施方式中,装置还包括预处理模块350,用于:
对目标建筑立面图像进行边缘预处理,得到所述目标建筑立面图像的多条边缘线;
根据各条边缘线的极坐标,从所述多条边缘线中确定出多条直线边缘线;
基于每条所述直线边缘线的角度,确定出所述目标建筑立面图像的基准坐标方向线;其中,所述直线边缘线的角度为所述直线边缘线与图像水平线形成的夹角值,所述基准坐标方向线包括所述目标建筑立面图像中目标建筑横向方向线和竖直方向线;
基于所述基准坐标方向线和图像水平线,将所述目标建筑立面图像中的目标建筑进行单应性变换,得到建筑立面正向图像。
一种可选的实施方式中,所述预处理模块350用于基于每条所述直线边缘线的角度,确定出所述目标建筑立面图像的基准坐标方向线时,具体用于:
基于每条直线边缘线的角度,生成角度直方图;
利用最大值检测算法,提取所述角度直方图中的目标直线边缘线,作为所述目标建筑立面图像中的目标建筑的基准坐标方向线;其中,所述目标直线边缘线为所述角度直方图中不相邻的、两个直线数量最大的角度对应的直线边缘线。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
本公开实施例公开的建筑立面的分割装置,包括:聚类分割模块,用于分别对正向建筑立面图像进行横向聚类分割和纵向聚类分割,得到横向聚类分割图像和纵向聚类分割图像;叠加模块,用于将所述横向聚类分割图像和所述纵向聚类分割图像进行叠加,得到叠加聚类分割图像,所述叠加聚类分割图像中包括根据横向聚类分割图像和纵向聚类分割图像分割的矩形区域;目标结构区域确定模块,用于确定所述叠加聚类分割图像中重复的目标结构区域,所述目标结构区域由横向相邻的多个矩形区域组成;数据标注模块,用于将所述目标结构区域的区域参数和重复参数标注在所述叠加聚类分割图像上,得到带有区域参数和重复参数标注的建筑立面分割图像。这样,可以提高建筑立面的分割效率,节省人力资源,以便根据建筑立面的区域参数和重复参数快速对目标建筑进行三维建模。
基于同一技术构思,本申请实施例还提供了一种电子设备。本公开实施例还提供了一种电子设备500,如图5所示,为本公开实施例提供的电子设备500结构示意图,包括:
处理器510、存储器520、和总线530;存储器520用于存储执行指令,包括内存521和外部存储器522;这里的内存521也称内存储器,用于暂时存放处理器510中的运算数据,以及与硬盘等外部存储器522交换的数据,处理器510通过内存521与外部存储器522进行数据交换,当所述电子设备500运行时,所述处理器510与所述存储器520之间通过总线530通信,使得所述处理器510可以执行上述方法实施例中所示的建筑立面的分割方法的步骤。
本公开实施例还提供一种计算机存储介质,该计算机存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的建筑立面的分割方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的建筑立面的分割方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的电子设备、存储介质和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的电子设备、存储介质、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。