首页> 中国专利> 基于CAD图纸的窗户识别方法和装置以及窗户三维重建方法

基于CAD图纸的窗户识别方法和装置以及窗户三维重建方法

摘要

本发明公开了一种基于CAD图纸的窗户识别方法和装置,包括:获取包含窗户信息的CAD图纸,并对CAD图纸进行窗户候选区域聚合并分割,获得多个窗户候选区域;提取每个窗户候选区域中线段,并对线段进行合并、误差校正和分割处理,得到以顶点和边表示的闭合区域图;计算闭合区域图中互不相交的每个闭合区域,并基于闭合区域特征确定闭合区域属性,该闭合区域特征和闭合区域属性组成窗户的结构化信息并输出,以实现从CAD图纸中快速准确识别窗户。还公开了一种窗户三维重建方法,通过从CAD图纸中快速准备识别窗户,并基于识别的窗户进行三维建模,以提升三维建模的速度和准确性。

著录项

  • 公开/公告号CN112417538A

    专利类型发明专利

  • 公开/公告日2021-02-26

    原文格式PDF

  • 申请/专利权人 杭州群核信息技术有限公司;

    申请/专利号CN202011246550.3

  • 发明设计人 宋璐;唐睿;王宇涵;

    申请日2020-11-10

  • 分类号G06F30/12(20200101);G06F30/13(20200101);G06K9/00(20060101);G06K9/62(20060101);G06T17/00(20060101);

  • 代理机构33224 杭州天勤知识产权代理有限公司;

  • 代理人曹兆霞

  • 地址 310000 浙江省杭州市江干区九环路9号3幢2楼208室

  • 入库时间 2023-06-19 10:00:31

说明书

技术领域

本发明属于计算机辅助设计技术领域,具体涉及一种基于CAD图纸的窗户识别方法和装置以及窗户三维重建方法。

背景技术

CAD(Computer Aided Design,计算机辅助设计)技术作为杰出的工程技术成就,已广泛地应用于工程设计的各个领域。中国建筑标准设计研究院虽然发布了门窗CAD图纸绘制的参考标准。但是目前尚未有公开的窗户CAD图纸识别技术,其他CAD图纸识别技术多基于图层,如申请公开号为CN109993827A公开的一种将建筑图纸转换为三维BIM模型的立面图识别方法,还有基于构件,如申请公布号为CN110889229A公开CAD图纸识别方法、装置、电子设备及存储介质,这些方法的应用场景具有局限性。

一般来说,工程设计人员并不会严格按照图层来区分组织不同的结构,同样的结构在不同的图纸中也不会位于相同的图层;构件的画法多样化,如一个矩形构件,工程人员可以用4条线段、1条多线段、或一个多边形表达,甚至可以借助其他构件的线条而只绘制一部分剩余的边。因此,现有的方法无法有效的识别一般窗户CAD图纸。

发明内容

本发明的目的是提供一种基于CAD图纸的窗户识别方法和装置,以实现从CAD图纸中快速准确识别窗户。

本发明的另一目的是提供一种窗户三维重建方法,通过从CAD图纸中快速准备识别窗户,并基于识别的窗户进行三维建模,以提升三维建模的速度和准确性。

为实现上述发明的,本发明提供以下技术方案:

第一方面,一种基于CAD图纸的窗户识别方法,包括以下步骤:

获取包含窗户信息的CAD图纸,并对CAD图纸进行窗户候选区域聚合并分割,获得多个窗户候选区域;

提取每个窗户候选区域中线段,并对线段进行合并、误差校正和分割处理,得到以顶点和边表示的闭合区域图;

计算闭合区域图中互不相交的每个闭合区域,并基于闭合区域特征确定闭合区域属性,该闭合区域特征和闭合区域属性组成窗户的结构化信息并输出。

第二方面,一种基于CAD图纸的窗户识别装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上执行的计算机程序,所述计算机处理器执行所述计算机程序时实现第一方面所述的基于CAD图纸的窗户识别方法。

第三方面,一种窗户三维重建方法,其特征在于,包括以下步骤:

利用第二方面所述的基于CAD图纸的窗户识别装置获得窗户的结构化信息;

根据所述结构化信息进行三维重建,获得窗户三维模型。

与现有技术相比,本发明具有的有益效果至少包括:

本发明提供的基于CAD图纸的窗户识别方法和装置,通过对CAD图纸进行窗户候选区域划分,对窗户候选区域内线段进行合并、误差校正和分割处理后,基于得到的闭合区域特征确定闭合区域属性,以实现窗户识别,该识别方法是直接对线条进行处理,因此,不依赖于图层信息,任意图层组织方式都可以有效识别窗户;不依赖于构件的固定画法,任意合乎标准文件样式的表达方式都可以准确识别窗户;具有一定的鲁棒性,对于作图不规范的线段出头或区域未闭合的扰动也适用;实时性好,适用于实时或交互式的应用,提高专业人员的工作效率。

本发明提供的窗户三维重建方法,采用上述基于CAD图纸的窗户识别方法和装置自动快速获得准确的窗户结构信息,然后基于准确地窗户结构信息进行三维重建,大大提升了重建速度。

附图说明

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

图1是本发明实施例提供的基于CAD图纸的窗户识别方法的流程图;

图2是本发明实施例提供的窗户候选区域例子示意图;

图3是本发明实施例提供的部分共线例子示意图;

图4是本发明实施例提供的误差校正例子示意图;

图5是本发明实施例提供的闭合区域图例子示意图;

图6是本发明实施例提供的闭合区域特征例子示意图;

图7是本发明实施例提供的窗户外框例子示意图;

图8是本发明实施例提供的可开窗扇例子示意图;

图9是本发明实施例提供的可视化的窗户结构信息例子示意图;

图10是本发明实施例提供的窗户三维重建方法的流程图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。

为了解决现有自动窗户CAD识别方法不具有普适性,且人工读图,手工测量效率低的问题,本发明实施例提供了一种基于CAD图纸的窗户识别方法和装置。图1为本发明实施例提供的基于CAD图纸的窗户识别方法的流程图。如图1所示,实施例提供的基于CAD图纸的窗户识别方法包括以下步骤:

步骤1,获取包含窗户信息的CAD图纸,并对CAD图纸进行窗户候选区域聚合并分割,获得多个窗户候选区域。

获取的CAD图纸中包含了窗户信息,可以称为窗户CAD图纸,其中,窗户信息包括窗户的结构、尺寸标注以及描述说明文字以及装配信息等。在进行窗户识别时,关注窗户的结构信息,因此对CAD图纸中表示结构信息的所有线条和图形根据其坐标位置进行聚类,得到每个窗户区域的包围盒作为窗户候选区域。

对于一份窗户CAD图纸,往往不止包含一个单独的窗户结构表达,而是多个不同规格的窗户,可能还具有文字说明部分、装配图等,对于这样的CAD图纸,在获取包含窗户信息的CAD图纸后,读取CAD图纸中除文字和尺寸标注外的所有信息,并将所有信息拆分为包括线段、弧线、圆形的基本元素;

对基本元素进行聚类,并以基本元素上离聚类中心最近点的距离作为基本元素到聚类中心的距离,依据该距离实现聚类,每个聚合区域被分割出来作为窗户候选区域。

实施例中,线段用起点坐标和终点坐标表示,记为start(x,y)和end(x,y),方向任意选择,特别地,将x值较小的端点作为起点,x值相同时以y值较小的端点作为起点。

针对弧线,采用圆上的线来逼近任意弧线,一条连续的弧线可根据采样间隔由多个圆形逼近,因此,弧线记为circle(center,radius),startAngle(s)和arcAngle(a)。其中,circle(center,radius)表示这段弧线所在的圆,center和radius分别表示圆心和半径;startAngle(s)表示弧线开始的角度,弧度的0点和方向的选择是任意的,特别地,可以定义x轴方向(即水平向右)为弧度的0点,逆时针方向为正,180度为正负值相交处,将180度定义为正极大值;arcAngle(a)表示弧线持续的角度,单位为弧度,用浮点数表示,定义arcAngle(a)为正,则startAngle为弧线两个端点中弧度较小的一个端点。

圆形用圆心坐标和半径大小来表示,记为center(x,y)和radius(r),半径用浮点数表示。

利用上述方法对基本元素线段、弧线、圆形进行表示后,即可以对这些基本元素进行聚类,此处的聚类与普通的聚类不同,为了提升聚类效率以及使聚类结果作为窗户候选区域的准确性,在计算基本元素与聚类中心的距离时,直接计算每个基本元素上距离聚类中心的最近点与聚类中心的距离,然后依据该距离进行聚类,得到多个聚合区域,每个聚合区域被分割出来作为窗户候选区域。

一般工程技术人员会将CAD图纸的单位设置为毫米,即坐标值的1个单位表示1个毫米,但是也不排除其他默认单位的情况,为方便统一计算,在聚类前,依据CAD图纸的坐标设置将基本元素坐标转换成毫米单位表示,也就是根据CAD图纸的坐标设置,对基本元素坐标进行转换,转换成单位为毫米的坐标表示。

为了加速聚类计算,在聚类前,设置自动吸附距离阈值和窗体最短边尺寸,聚类时,距离小于自动吸附距离阈值的基本元素直接聚类成一个聚合区域,且在聚类迭代过程中该聚合区域不再进行拆分,并依据窗体最短边尺寸对每个聚合区域进行筛选,将小于窗体最短边尺寸的聚合区域剔除,剩下的聚合区域被分割出来作为窗户候选区域。

自动吸附距离阈值和窗体最短边尺寸为成对出现的常量,可以根据应用场景自定义设置,举例说明,针对一般的商品住宅户型,自动吸附距离阈值可以设为200mm,窗体最短边尺寸可以设为500mm,在聚类时,直接将基本元素与聚类中心的距离小于200mm的基本元素聚成一个聚合区域,该聚合区域由于被自动吸附距离阈值特殊约束,所以在后面的聚类迭代过程中不再进行拆分。并将聚合区域中线段与500mm进行比较,若聚合区域的最大边小于500mm,表示这是一个非窗户区域,将该聚合区域剔除,剩下的聚合区域作为窗户候选区域,提取的窗户候选区域栅格化图像如图2所示。

步骤2,提取每个窗户候选区域中线段,并对线段进行合并、误差校正和分割处理,得到以顶点和边表示的闭合区域图。

针对每个窗户候选区域,提取所有线段、弧线、圆形等基本元素,具体的图形,如矩阵也被拆分成线段被提取出来,针对提取的线段做合并处理、误差校正处理以及分割处理,得到以顶点和边表示的闭合区域图。

合并处理就是对提取的线段进行合并,剔除重复线段,有重叠的线段合并成一条线段。在对线段进行合并时,完全相同的多条线段保留一条线段;部分共线的两条线段合并成一条线段,其中,将线段之间距离小于合并容差值,且端点坐标中至多有一组相同的多条平行线段认为是部分共线线段。

实施例中,将起点坐标和终点坐标都相同的多条线段认为是完全相同的多条线段,针对这类线段直接剔除重复的线段,保留一条线段即可。部分共线线段是指两条线段处于同一条直线上,两条线段有部分重叠,也就是两条线段的两个起点或两个终点中最多有一组相同。部分共线线段还可以是平行但不处于同一条直线上,两条线段之间的距离小于合并容差值,且两条线段的两个起点和两个终点中均不同。由于线段以浮点数表示,浮点数的系统偏差会造成出现部分共线的问题,为解决这个问题,设置合并容差值,依据合并容差值筛选部分共线线段并合并成一条线段。

图3是本发明实施例提供的部分共线例子示意图。如图3所示,线段(a(x1,y1),b(x2,y2))与线段(c(x3,y3),d(x4,y4))之间的距离d小于合并容差值1e-5,这两条线段为部分共线线段,对于该部分共线线段,认为由于浮点数的系统偏差,可以认为y1=y2,直接将这两条线段进行合并,合并后的线段表示为(start(x1,y1),end(x4,y1)),线段(a(x1,y1),b(x2,y2))与线段(c(x3,y3),d(x4,y4))直接删除,其他方向的直线同理。特别地,还可以根据需求设置一个较小的合并容差值,如d<2,则将距离2mm以内的直线也进行合并。

由于工程人员的绘图误差,可能会出现多画或者少画的情况,导致本应该相交的线段没有相交或者相交过头。为了解决这个问题,针对合并处理后的线段还需要进行误差校正。

在对合并处理后的线段进行误差校正时,设定校正容差值,针对相交的线段,每条线段以交点为分界点被分为两部分,较短部分若没有与其他线段相交,且长度小于校正容差值,则将较短部分截断并剔除;

针对未相交的线段,多线段的端点距离最近线段的距离小于校正容差值,则将线段延长与最近线段相交。

图4是本发明实施例提供的误差校正例子示意图。如图4所示,绘图时会出现多画一点,如图4中的A和D的情况,或少画一点,如图4中的B和E的情况,实施例定义合适的校正容差值,举例该校正容差值tolerance=5,利用该对校正容差值对绘图误差进行矫正。如图4所示,线段与其他线段相交后多画的部分且没有其他线段相连的,多画部分d

误差校正后的闭合区域还需要进行线段分割,方便后续计算。在在线段分割处理时,将误差校正后的线段在交点处断开,形成以顶点和边表示的闭合区域图。

图5是本发明实施例提供的闭合区域图例子示意图。如图5所示,将矫正后的线段在所有交点处断开,形成边,交点形成顶点,从而构成点和边组成的图结构,值得注意的是顶点是空间中的一点,并没有大小,为方便起见图5中用小圆圈表示。每个边的两端各连接一个顶点,但一个顶点可以连接多个边。边的信息包括其连接的两个顶点。顶点的信息包括自身的坐标(x,y)和所连接的所有线段。

步骤3,计算闭合区域图中互不相交的每个闭合区域,并基于闭合区域特征确定闭合区域属性,该闭合区域特征和闭合区域属性组成窗户的结构化信息并输出。

在获得闭合区域图后即可以计算闭合区域,确定闭合区域特征。具体地,针对闭合区域图,遍历闭合区域图中所有顶点,以确定闭合区域的形状、闭合区域之间的级联关系和相对位置,组成闭合区域特征。

图6是本发明实施例提供的闭合区域特征例子示意图。如图6所示,通过遍历闭合区域图中所有顶点,计算得出A、B、C、D、E这5个区域,每个区域由所构成的顶点逆时针存储表示,此外,在具体实施时还存储每个区域的直接父母区域和孩子区域,即父母区域至多只有一个,孩子区域任意多个,可以为0,也可以为多个。

如区域A,其父母区域为空,也就是没有,孩子区域为B、C、D;区域B、C的父母区域均为A,孩子区域为空;区域D的父母区域为A,孩子区域为E;区域E的父母区域为D,孩子区域为空。

通过闭合区域图计算可以得到互不相交的多个闭合区域,这些闭合区域呈现的闭合区域特征为确定区域属性提供基础。一个窗户的主要信息包括外框尺寸、窗挺相对位置和尺寸、玻璃安装区域和尺寸、可开窗扇相对位置,可开窗扇打开方式,推拉窗还具有覆盖关系,上下导轨等,得到闭合区域特征后可以根据窗户各部件的信息进行每个闭合区域属性的识别。

外框识别

基于闭合区域特征确定闭合区域属性时,若闭合区域面积等于窗户候选区域面积,则该闭合区域属性为窗户外框属性。

步骤1中所得的到包围盒即为窗户候选区域的大小,将此信息记录到外框属性中,且以包围盒的左下角坐标作为相对原点(注意,与图像不同的是,CAD图纸的原点在左下角),记录外框信息为窗户候选区域框。如果某个闭合区域面积最大,且面积等于窗户候选区域的面积,那么该闭合区域表示外框且形状为矩形。

除此之外,还会有很多工程设计人员会将外框的各种连接方式也表达在图纸中,如图7所示,从图7可看出外框连接方式主要是斜连接、直连接以及两种方式的组合,他们都有一个共同的特点,即外框拆分为4个不相交的区域,共同构成外框,此时遍历所有闭合区域计算与窗户候选区域框构成内相邻关系的闭合区域(内相邻即包含且有一条边共线),即为外框的4个区域。

玻璃识别

在窗户的CAD图纸中,玻璃是一扇窗的最内层结构,往外是压线条、密封胶、固定结构(窗挺或外框)等,玻璃内不含其他结构组件,但可能包含打开方式示意,玻璃示意,logo等信息。因此,在玻璃识别时,设置面积阈值和第一比例阈值,若闭合区域同时满足以下条件:闭合区域面积大于面积阈值;闭合区域长宽比在第一比例阈值范围内;闭合区域内无其他闭合区域或闭合区域内有其他闭合区域但是该其他闭合区域面积小于面积阈值,且长宽比超过第一比例阈值范围,则认为该闭合区域属性为玻璃属性。

面积阈值和第一比例阈值根据实际应用场景设置,由于玻璃的形状趋近于比较方的矩形,所以一般情况下,长宽比不会太大,相应地第一比例阈值也不会太大,一般不会超过5。在具体搜索判断时,会找出闭合区域面积大于面积阈值,长宽比在第一比例阈值范围内,不含孩子区域或孩子区域不满足玻璃条件的区域,作为玻璃区域记录,其中玻璃条件就闭合区域面积和尺寸要约束在面积阈值和第一比例阈值范围内。

窗挺识别

窗挺是窗户中间的骨架部分,用于结构支撑和玻璃固定,窗挺根据方向又分为横挺和竖挺,其特点是比较狭长,且两端连接外框或其他窗挺,根据这一条件将剩余闭合区域中的窗挺筛出。在窗挺识别时,设置第二比例阈值,若闭合区域长宽比在第二比例阈值范围内,且与窗户外框连接或其他窗挺连接,则该闭合区域属性为窗挺属性。

其中,第二比例阈值用于约束窗挺的结构,因此,第二比例阈值会比第一比例阈值大很多,第二比例阈值一般会设为大于10。

可开窗扇识别

可开窗扇除了4周的窗挺或外框外,还需要单独的窗框来固定玻璃。在可开窗扇识别时,若闭合区域的外相邻闭合区域为窗户外框,且内嵌其他闭合区域层数最多,且该闭合区域属性为可开窗扇属性,并依据可开窗扇范围内的线条图案确定打开方式。

具体实施时,将嵌套孩子区域层数最多且父母区域为窗户候选区域的闭合区域标记为可开窗扇,根据可开窗扇范围内的线条图案类型确定打开方式。特别地,如果打开方式是推拉,需将其上下的横挺或外框标记为导轨。图8是本发明实施例提供的可开窗扇例子示意图。

以上所有闭合区域特征及对应闭合区域属性组成窗户的结构化信息可视化表示并输出。图9是本发明实施例提供的可视化的窗户结构信息例子示意图。其中,(a)为CAD图纸,(b)为利用上述基于CAD图纸的窗户识别方式,识别获得的可视化的窗户结构信信息。实施过程中,窗户的结构化信息用json格式表示。

实施例还提供了一种基于CAD图纸的窗户识别装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上执行的计算机程序,所述计算机处理器执行所述计算机程序时实现上述的基于CAD图纸的窗户识别方法。

实际应用中,存储器可以为在近端的易失性存储器,如RAM,还可以是非易失性存储器,如ROM,FLASH,软盘,机械硬盘等,还可以是远端的存储云。处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)、或现场可编程门阵列(FPGA),即可以通过这些处理器执行存储在存储器中的计算机程序,也就是计算机指令,来实现基于CAD图纸的窗户识别方法步骤。

实施例提供的基于CAD图纸的窗户识别方法和装置,通过对CAD图纸进行窗户候选区域划分,对窗户候选区域内线段进行合并、误差校正和分割处理后,基于得到的闭合区域特征确定闭合区域属性,以实现窗户识别,该识别方法是直接对线条进行处理,因此,不依赖于图层信息,任意图层组织方式都可以有效识别窗户;不依赖于构件的固定画法,任意合乎标准文件样式的表达方式都可以准确识别窗户;具有一定的鲁棒性,对于作图不规范的线段出头或区域未闭合的扰动也适用;实时性好,适用于实时或交互式的应用,提高专业人员的工作效率。

为了解决现有的人人工读图、手工测量并建模的效率低下问题。实施例还提供了一种窗户三维重建方法,如图10所示,实施例提供的窗户三维重建方法包括以下步骤:

步骤1,利用上述基于CAD图纸的窗户识别装置获得窗户的结构化信息;

步骤2,根据所述结构化信息进行三维重建,获得窗户三维模型。

实施例提供的窗户三维重建方法中,采用上述基于CAD图纸的窗户识别方法和装置自动快速获得准确的窗户结构信息,然后基于准确地窗户结构信息进行三维重建,大大提升了重建速度。

以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号