基于拍照的户型图识别生成三维房型的方法
【技术领域】
[0001] 本发明设及图像处理、虚拟现实、Ξ维重建等技术领域,具体设及一种基于拍照的 户型图识别生成Ξ维房型的方法。
【背景技术】
[0002] 随着中国房地产业的快速发展W及现代年轻人强烈的自主意识,越来越多的年轻 人希望能把自己的装修创意应用于自己的房屋装修。但是自主装修者本身不是专业设计 师,往往又担屯、实际的装修效果与自己的创意想象相差太大。为解决运个矛盾,把平面户型 图转化为3D户型图,购房者自己预先在3D模型上模拟装修效果,然后再去实际装修房屋。 另一方面,随着房地产开发商之间竞争越来越激烈,房地产开发商也越来越需要一种现实 增强的技术W立体呈现房屋效果,增强购房人的现实体验,促进房屋销售。目前房地产销售 展示仅仅依靠一张平面户型图,不能适应现实需求。所W无论从自主装修者、购房人的角度 来看,还是从房地产开发商的角度来看,允许用户自主加载户型图,然后基于户型图进行Ξ 维重建从而实现3D展示十分必要。
[0003] 户型图的来源大致有两种。一种是电子版户型图。运种户型图广泛存在于各大购 房网站、家居装修网站、房地产网站。用户可W从运些网站下载与自己户型相近的户型图。 运类户型图的特点是图像清晰、标准,可W准确地被图像识别方法识别。如果是正在购房的 用户,可W方便地从地产商销售那里获取户型图电子版。如果是已购房用户,就不一定能从 房地产销售那里获取户型图电子版。相关网站上也可W下载户型图电子版,只是运些户型 图与用户自己的房屋在户型和尺寸上都相差较大。
[0004] 另一种户型图是拍照版户型图。如果没有自己房屋的电子版户型图,用户可W对 自己的户型图宣传彩页拍照;如果没有户型图宣传彩页,用户可W自己手绘户型图,然后拍 照。拍照版户型图方式的优点是可W简单方便地获取图像,用于拍照的工具可W是相机、手 机、平板电脑等。在电子产品成为日用品的当下,相机、手机、平板电脑等工具非常普遍。运 种方式的缺点是:所获取图像受拍摄光线、距离、角度等诸多因素影响,图像质量与电子版 图像相比,效果很差。如图1所示为从宣传册上拍摄的户型图,图2是拍摄的手绘户型图。 拍照版户型图图像的缺陷有:图像光照不均、图像明暗不均、图像角度倾斜、图像扭曲、图像 不清晰等。拍照版户型图图像的种种缺陷,对于Ξ维重建来说,将是一个巨大的挑战。
[0005] 目前基于户型图进行Ξ维重建的方法分为Ξ种。第一种方法是直接利用CAD等 绘图软件绘制的矢量建筑图,在矢量图中分析识别户型结构,然后Ξ维重建(参考文献1 : 基于结构构件识别的户型图Ξ维重建算法研究[硕±学位论文].北京:清华大学,2013); 第二种方法是首先对图像进行矢量化扫描,然后在矢量图中分析识别户型结构,最后Ξ维 重建(参考文南犬 2 :Generatin邑 3DBuildingModelsfromArchitecturalDrawin邑s:A Survey.IE邸ComputerGra地icsandApplications, 2009, 29(1):20-30);第S种方法是 直接对扫描图像进行结构识别,然后Ξ维重建(参考文献3JmprovedAutomaticAnalysis ofArchitecturalFloorPlans.InternationalConferenceonDocumentAnalysisand Recognition, 2011 :864-869)。第一种方法的优点是避免了图像矢量化过程,噪声和干扰 与扫描图像相比几乎没有,相关矢量信息完整准确,Ξ维重建准确率最高;缺点是适应范围 窄,仅仅适应于利用CAD等绘图软件绘制的矢量建筑图。后两种方法的优点是可W直接针 对户型图图像进行Ξ维建模,扩大了适用范围;缺点是户型图结构识别准确率不高,对户型 图图像本身要求严格,不能适应设计不规范、有背景信息的类型。由于拍照版户型图具有 "图像质量差、图像倾斜扭曲、图像背景杂乱、户型图设计不规范"等现实特点,上述Ξ种基 于户型图的Ξ维重建方法均不能适用。因此,本发明提出了一种基于拍照的户型图识别生 成Ξ维房型的方法。
【发明内容】
[0006] 本发明要解决的问题是:传统的基于户型图的Ξ维重建方法不能适用拍照版户型 图,无法提供现场实时的Ξ维重建体验。为了解决该问题,本发明提供了一种基于拍照的户 型图识别生成Ξ维房型的方法。
[0007] 具体的基于拍照的户型图识别生成Ξ维房型的方法,分为Ξ个部分。第一部分为 "图像矫正",包括下列的步骤1到步骤9;第一部分为"墙体识别",包括下列的步骤10到步 骤22 ;第Ξ部分为"Ξ维重建",包括下列的步骤23到步骤24。详细步骤如下:
[0008] 步骤1:对图像进行初步预处理,得到户型图的灰度图;初步预处理包括图像去 噪、图像增强和灰度转换;
[0009] 步骤2 :对灰度图进行0TSU二值化处理;0TSU表示最大类间方差法;
[0010] 步骤3 :对步骤2得到的图提取最大边缘轮廓,得到边缘图像;
[0011] 步骤4 :对边缘图像进行化U曲变换得到直线坐标信息;
[0012] 步骤5 :从步骤4所得直线中提取最上、最下、最左和最右四条线段;
[0013] 步骤6:根据四条线段计算透视变换的变换矩阵所需的两组消隐点;
[0014] 步骤7 :计算透视变换的变换矩阵;
[0015] 步骤8:根据变换矩阵,对原图像的灰度图像进行透视变换,获得矫正后的灰度图 像;
[001引步骤9 :剪取户型图区域;
[0017]步骤10:对步骤9剪取的户型图区域进行外形轮廓检测;
[001引步骤11 :采用墙体阔值分割方法对步骤10得到的户型图进行处理,去除与墙体无 关区域,得到二值图;
[0019] 步骤12:对二值图进行腐蚀和膨胀;
[0020] 步骤13对步骤12处理后的二值图进行边缘检测,得到边缘图像;
[0021] 步骤14:对步骤13得到的边缘图像进行化U曲变换,将墙体边缘线拟合成线段;
[0022] 步骤15 :对步骤14得到的边缘线段根据角度分类为横线和竖线两个集合;
[0023] 步骤16 :对横线和竖线集合中的线段进行矫正拉直;
[0024] 步骤17 :根据横线集合和竖线集合,获取墙体的简化线;
[00幼步骤18 :简化线归并;
[0026] 步骤19 :根据简化线生成基于错点的墙体;
[0027] 步骤20:根据墙体之间的信息进行口识别;
[002引步骤21 :根据墙体之间的信息进行窗识别;
[0029] 步骤22:生成JS0N文件,记录墙体、Π窗信息;
[0030] 步骤23:利用软件化ity3D读取JS0N文件,创建墙体、Π窗;
[0031] 步骤24 维重建完成,漫游展示,装修展示。
[0032] 所述步骤6中获取矫正前后的所需的两组消隐点,具体步骤为:
[0033] 步骤6.1.计算最左、最右、最上、最下四条线段11、Ir、It、化所在的直线lleft、 Iright、Itop、Ibottom;
[0034] 步骤6.2.计算直线lleft、Iri曲t、Itop、化ottom两两直线所形成的交点,左上、 右上、左下、右下交点分别设为:Pi(Xl,yi)、化(而,y2)、P3(X3,y3)、P4(X4,y4);
[0035] 步骤6.3.计算直线lleft、Iri曲t、Itop、化ottom所围成四边形对角线的交点 Ρ5(Χ5,Υ5);
[0036] 步骤6.4.计算X坐标和y坐标的矫正量化和dv:化=(而-又1+与-又3)/4;dv= (y;5-yi+y广y2) /4 ;
[0037] 步骤6.5.计算变换后左上、右上、左下、右下消隐点Pl'(V,yl')、P2'(?',y2')、 Ps' (xs',y/)^ Pi. y/):
[0038] x/ = X广dh ;y/ = y广dv ;而'=Xs+dh 巧2' = y;>-dv ;
[0039] X3' = Xjj-dh 巧3' = Ys+dv ;X4' = Xs+dh 巧4' = Ys+dv。
[0040] 所述的步骤9中,根据步骤6得到的消隐点坐标,向四边放宽d个像素,在矫正的 图像中剪取户型图区域,d=(化+dv)/10。
[0041] 所述步骤17,根据竖线集合和横线集合获取墙体简化线,设竖线集合或横线集合 中任意一条线段li(Xi,yi,而,y2),进行如下步骤:
[004引步骤17. 1,在线段li所在集合中寻找匹配墙线12(V,y/,而',y/),要满足如 下条件:
[0043]a.被匹配墙线12从未被匹配过;
[0044]b. 1郝12之间的距离d与11和其他未被匹配的线段之间距离相比,d是最短的; d= |xi-xi' I;
[0045]c. li和12之间所包围的矩形区域是墙体区域。
[0046]步骤 17. 2,确定li和 12对应的简化线si(SX1,syi,SX2,sy2,wi化h),其中(sxi,syi) 和(sx2,sy2)为简化线的两个端点坐标,wi化h为简化线所代表的墙体的宽度;
[0047]若!1和 12为竖线,SX1=(Xi+V)/2;syi=Max(yi,yi');SX2=SXi;sy2= Min(y2,y2');wi化h= I;将简化线si加入竖线简化线集合;
[004引若!1和12为横线,先获得两个中间参数lx和rx,lx=Max(X1,x/)町=Min(x2,X2);贝·]坐标和宽度为:sxi= (lx+rx)/2;sy1=yi;sx2=sxi;sy2=y1';width= Irx-lxI;将简化线si加入横线简化线集合。
[0049] 步骤17. 3,根据li和12的相对位置关系,进行截断操作,若1 1和1 2为竖线则在垂 直方向上进行判断,若li和1 2为横线则在水平方向上进行判断:
[0050]A.在对应的方向上,若1郝12完全重合,不进行截断;
[0051]B.在对应的方向上,若!1居于12中间,W11为基准在12上截断,12被截断后遗留 的两端分别形成新的线段,将新的线段加入对应的竖线或者横线集合中;
[0052]C.在对应的方向上,若li居于1 2的一端,W1 1为基准在1 2上截断,1 2被截断后遗 留的另一端形成新的线段,将新的线段加入对应的竖线或者横线集合中。
[0053] 所述步骤19基于错点的墙体生成,具体步骤如下;
[0054]步骤19. 1,把简化线集合SimplifyLinesU中的简化线si(sxi,syi,SX2,sy2,wi化h) 展开成矩形rect,矩形rectW简化线siW垂直方向的中轴线,Wwi化h为矩形宽度;设 (Xi,yi)、(而,72)、(X3,y3)和(X4,y4)分别为矩形左上、