一种户型构件的识别方法与流程

文档序号:17377784发布日期:2019-04-12 23:30阅读:383来源:国知局
一种户型构件的识别方法与流程

本发明涉及图形学和图像学技术,涉及利用图形学和图像学技术设计算法进行特定构件的检测以及利用构件之间的关系用已识别的构件帮助未识别的构件。



背景技术:

随着房地产以及装修行业的发展,积累了大量的户型图,而仅仅有这些户型图,已不能满足公司和用户的需求。户型图识别技术可以把户型图中各个特定构件的位置识别出来,生成结构化的数据,从而可以在装修、设计、三维建模和vr体验上得到广泛应用。

目前,户型图识别严重依赖于人力,要识别户型图上的部件,只能依靠人力进行标注,而人工对像素级别的标注很难做到准确。而简单的图形学和图像学算法并不能准确识别户型图的各个部件。因此,需要一种能够自动、高效的识别户型图的方法。

同时,现在也出现了不少户型图的自动识别技术,但是现有的识别技术都是对各个构件分开识别,忽略了构件之间的关系,查全率和查准率都较低,同时也可能会出现一些不符常识的识别结果。此外,不同的设计师有着不同的绘图方式以及绘图风格。



技术实现要素:

发明目的:目前的户型图识别忽略构件之间的联系,识别率较低,针对上述问题,本发明提供一种含有多种特定构件的户型图识别技术,具体来说,在识别部件之后综合利用其它部件的识别结果进行筛选,从而去除不符合逻辑的识别结果,提高识别的正确率。本发明的技术构思中,总结提取各个构件不同绘制方式的共同特征,设计对应的算法,同时还综合各个构件的识别结果,考虑构件之间的联系,从而提高构件的识别效率以及正确率。

一种户型构件的识别方法,所述的方法用于对门的识别,包括如下步骤:

s1,单开门识别算法:

s11,对于有细长矩形画法门的户型图,识别出户型图中房间与房间的连通区域,再根据预先设定的矩形的图形特性,选出位于连通区域上的符合条件的细长矩形;

s12,在细长矩形的四个顶点上,分别沿着细长矩形的长边垂直方向进行遍历,当位于长边同一侧的两个顶点都遍历到第一个像素点时,如果这两个遍历出的像素点之间的沿着垂直于长边方向的距离与细长矩形的长边长度的比值在设定范围内,则判定是单开门;

s2,门洞的识别算法:

对于没有细长矩形的特殊的门的画法,如果近邻的两块墙方向在同一直线上,方向相对且两块墙末端之间的距离满足阈值,则识别成门洞;所述的方向是指墙的末端指向其末端外侧的方向;

s3,双开门识别算法:

根据步骤s1中所判定得到的单开门,如果两个单开门所对应的细长矩形的两个相邻的端点之间的距离小于设定的阈值,并且这两个细长矩形细的长宽纵横比相似,并且两个细长矩形同时向其中一个短边上的投影之间的距离小于设定的阈值,则判定为双开门,并且把它们从单开门的检测结果中删除;

s4,推拉门识别算法:

把步骤s11中识别到的细长矩形,两两之间进行判别,如果两个细长矩形同时向其中一个短边上的投影之间的距离小于设定的阈值,并且这两个细长矩形两个相邻的端点在细长矩形长边方向上的投影距离也小于设定阈值,且这两个细长矩形的长度、宽度的大小的差距小于阈值,则这两个细长矩形一起被识别为推拉门。

在一个实施方式中,还包括以下步骤:

s0,识别承重墙和非承重墙。

在一个实施方式中,还包括以下步骤:

s6,结果校正:

根据s0识别出的墙和s3识别出的门洞,将识别出的门与门洞和墙之间的距离进行识别,去除不靠墙或者门洞的识别结果。

一种户型构件的识别系统,包括:

细长矩形识别模块,对于有细长矩形画法门的户型图,识别出户型图中房间与房间的连通区域,再根据预先设定的矩形的图形特性,选出位于连通区域上的符合条件的细长矩形;

单开门识别模块,用于对细长矩形模块得到的结果中的细长矩形的四个顶点上,分别沿着细长矩形的长边垂直方向进行遍历,当位于长边同一侧的两个顶点都遍历到第一个像素点时,如果这两个遍历出的像素点之间的沿着垂直于长边方向的距离与细长矩形的长边长度的比值在设定范围内,则判定是单开门;

门洞识别模块,用于对没有细长矩形的特殊的门的画法,如果近邻的两块墙方向在同一直线上,方向相对且两块墙末端之间的距离满足阈值,则识别成门洞;所述的方向是指墙的末端指向其末端外侧的方向;

双开门识别模块,用于对单开门识别模块得到的单开门两两之间比较,如果两个单开门所对应的细长矩形的两个相邻的端点之间的距离小于设定的阈值,并且这两个细长矩形细的长宽纵横比相似,并且两个细长矩形同时向其中一个短边上的投影之间的距离小于设定的阈值,则判定为双开门,并且把它们从单开门的检测结果中删除;

推拉门识模块,用于对细长矩形识别模块识别到的细长矩形,两两之间进行判别,如果两个细长矩形同时向其中一个短边上的投影之间的距离小于设定的阈值,并且这两个细长矩形两个相邻的端点在细长矩形长边方向上的投影距离也小于设定阈值,且这两个细长矩形的长度、宽度的大小的差距小于阈值,则这两个细长矩形一起被识别为推拉门。

还包括:承重墙和非承重墙的识别模块,用于对户型图中的承重墙和非承重墙进行识别。

还包括:校正模块,用于根据承重墙和非承重墙的识别模块得到的承重墙和非承重墙、门洞识别模块识别模块得到的门洞与识别得到的单开门和双开门之间的距离进行识别,去除不靠墙或者门洞的识别结果。

有益效果

本发明的整体技术构思是:在识别过程中,对于户型图中的细长矩形的识别准确率较高,本发明此识别结果作为整体方法的基础,将其首先识别出单开门,也同时也具有较高的识别准确性,再将得到的单开门相互之间进行位置判定,推导出双开门,采用的判定方法利用了已有的基础、判定的方式准确性也很高;同时,在判定方法中,还利用了对门洞、墙的识别结果,既得到了推拉门的结果,同时也能够将门洞和墙的结果对前面得到的细长矩形、单开门、双开门的自检验,使得各个步骤形成了一个完整的技术构思,相互协同,具有很高的计算效率和准确性。

与现有技术相比,本发明所提供的一种含有多种特定构件的户型图识别技术,实施过程中自动、高效、节省人力成本,并且大大减少了不符合逻辑的识别结果,提高了各个构件的识别准确率。

本发明的检测方法,利用检测到的构件之间的相互前后关系,进行协同,提高了计算效率和检测准确率。

附图说明

图1是单开门的识别过程的示意图;

图2是门洞的识别过程的示意图;

图3是双开门的识别过程的示意图;

图4是推拉门的识别过程的示意图;

图5图6是不考虑构件之间关系所带来消极影响的示意图

图7是本发明的方法流程图。

具体实施方式

本发明提供的含有多种特定构件的户型图识别技术,综合利用多种部件的识别结果,用已识别的部件帮助识别新的部件,减少其识别范围,提高其识别正确率和效率。

如图7,具体的流程是:

步骤100,识别承重墙和非承重墙

步骤101,识别门洞

步骤102,识别单开门和双开门

步骤103,识别推拉门

步骤104,根据墙和门洞的识别结果对门进行筛查,去除不靠墙的识别结果

其中,对于步骤102来说,识别门的方法不止一种,而是针对各种类型的构件,以及每个构件不同的绘图方式,设计不同的算法,具体包括利用弧线检测对单开门的识别,利用单开门之间的近邻关系对双开门的识别,以及利用矩形检测算法并根据矩形之间的位置关系设计的推拉门检测算法。

具体来说,对于有细长矩形画法门的户型图,如图1,a)检测连通区域,通过对长宽以及纵横比的限定,筛选出符合条件的细长矩形,如图1加粗部分所示,主要是判定长度与宽度的比值在一定的阈值范围内,使其符合细长形状,阈值可以人为设定;b)从矩形两端沿着与细长矩形垂直的方向遍历(即a,c点竖直向上,b,d点竖直向下),找到对应的第一个像素点a’,b’,c’,d’;对于单开门的绘图,只会存在着位于细长矩形的一侧存在着扇形的方式,因此,也就在其一侧找到一个远端的像素点和一个近端的像素点,并且这两点分别位于两个矩形端点的垂直方向(图中的a和c点),此时,判定:如果a’,c’之间竖直方向的距离和a,c之间的水平距离满足设定的纵横比阈值,主要是可以保证是形成的一个近90°圆周角的扇形,则检测为单开门。

在本方法中,还需要对门洞进行识别,对于没有细长矩形的特殊的门的画法,设计了通过门洞检测来识别单开门,如图2所示,对于每个墙,标注出其方向,这个方向是指墙的末端指向其末端外侧的方向,如abcde所示,判定方法是:如果近邻的两块墙方向在同一直线上,方向相对且两块墙末端之间的距离满足阈值,则识别成门洞,如图中墙1墙2之间的距离d1满足阈值,且方向a和方向b相对,墙3和墙4之间的距离d2满足阈值,且方向d和方向e相对;

在识别双开门和推拉门的过程,是需要利用上述得到的中间结果。

双开门识别算法:

在本发明的识别双开门的方法是利用了前面识别单开门得到的结果,由于上面的这种方法识别准确率较好,因此将其作为基础数据时,也可以提高对双开门的识别准确率;这里是要把步骤s1和s2中所判定得到的单开门两两之间进行比较,如图3所示,1和2分别为上述过程中识别出来的单开门,判定的方法是:如果两个细长矩形的两个相邻的端点之间的距离(图3中的d1d2)小于设定的阈值a,并且这两个细长矩形细的长宽纵横比相似,并且两个细长矩形同时向其中一个短边上的投影之间的距离(如图3中的c1,c2之间的距离)小于设定的阈值b,则判定为双开门,并且把它们从单开门的检测结果中删除。

推拉门识别算法:

对于s11中识别出来的细长矩形,两两之间进行判别,如图4所示,如果两个细长矩形同时向其中一个短边上的投影之间的距离小于设定的阈值(如图4中的c1和c2),并且这两个细长矩形两个相邻的端点在细长矩形长边方向上的投影距离也小于设定阈值(如图4中的d1和d2),且细矩形1和细矩形2的长度、宽度的大小的差距小于阈值,则这两个细长矩形一起被识别为推拉门。

为了避免复杂的户型图中其他部件对门检测结果的干扰和影响,引入门洞和墙的识别结果来缩小门的检测范围,根据其是否靠近门洞和墙来进行筛选,去除不靠墙或者门洞的识别结果(例如:位于墙的长边的侧方、不处于门洞中、与墙的一端之间的距离过远等情况)。如图5所示,出现了很多干扰性的细矩形,如果按照原来的识别步骤,会被误识别成很多推拉门,此时根据其不在两个墙之间(即门洞),可以将其删除。同样,对于存在复杂家具的户型图,如图6所示,如果按照原来的识别步骤,会有很多干扰的弧线对单开门的识别有影响,此时根据其不在两个墙之间(即门洞),可以将其删除。

本发明中中所述的“门”在无特别说明的情况下是同时指单开门和双开门。

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