AI自动识别户型图生成数据建模解决方案

2022-11-12 11:24:59 浏览数 (1)

目的是通过图像算法智能识别房屋类型图中的墙体和门窗,获取墙体端点和拐点的坐标。这样根据这些墙面线条的坐标,就可以自动生成一个立体的房间,供设计师查看。经过几个月左右的突击,终于取得了不错的识别效果。下面的图片是随机选择的,以确定结果。

测试识别户型图:

测试户型图测试户型图
自动识别户型图自动识别户型图
重新识别房间标识重新识别房间标识
后续业务生成的3D建模场景后续业务生成的3D建模场景

房型图识别的任务分析。

拿到任务后,对当前比较流行的房图风格,进行简单的观察和分析,主要有以下几点:。

房型图的墙面风格是多样的,用深色的纯色来代表墙面,用用方块线的形式来代表墙面。。用深色表示承重墙,用浅色实线表示非承重墙也是很有用的。

房间图中的物品很乱,导致识别错误。在房型图上,一般会将色图涂在沙发、电视柜、床等上,从而带来更好的观赏效果。。这样一来,就会给房型图的识别带来很大的麻烦。例如,一张床的边缘,以及一个电视柜,或地毯的边缘,可以很容易地被识别为一面墙。。

初步处理。

根据经验,首先对房间图像进行灰度化处理,并根据灰度分布采用动态阈值,生成二值图像。对于二值化图像,识别图片中的主体,即房间类型的主要轮廓区域,获得房间类型轮廓所对应的墙壁的灰度分布。。

根据墙壁的灰度等级,用k均值计算房间地图中的像素,将接近墙壁灰度等级的像素判断为墙壁面积。。

最后对识别出的墙面积进行矢量化,得到墙的端点和拐点信息,完成墙的识别。。门窗的识别可以在墙体识别结果的基础上进行。

以上主要是用OpenCV中的形态学函数实现的。经过测试发现,该方法只能对部分房型图产生较好的识别效果。。对于大多数墙面来说,由于房间类型图中物体的干扰(床、地毯、电视柜、沙发、衣柜、桌子等),很容易造成识别错误。。此外,由于框线画法的墙面积是由平行线组成的,用灰度分布的方法难以识别。。这种策略基本上是放弃了。

因为有了以上的经验,所以在房屋类型图中使用了一个比较复杂的算法来识别墙。。目前该算法基本上可以解决误识别的问题,对于大部分房间的地图,都能准确地识别墙体面积并获取其端点坐标。。

根据需要,墙线段端点拐点信息可以存储在xml或json文件中,也可以以http的形式返回。。当然,在比较困难的图像识别问题上,很少有算法能够达到100%的准确率。对于识别结果中出现的个别错误识别案例,可以在交互中提供修改工具供设计人员使用,大大提高了设计人员的工作效率。

目前,三维家居、酷居装修设计软件也集成了类似的、智能识别户型图中墙面的功能,并提供了对正确和错误的识别和修改的交互工具。

基于机器视觉单元图素自动提取方法:

第一步是对房屋图进行二值化处理,得到二值图像。

第二步是从二值化图像中识别字符的大小、字符所在的区域和区域的位置,并识别图像中的直线。

第三步,将识别的大小数字字符与其对应的比例线段进行匹配。

第四步,根据不同的墙角形状,在二值图像中识别出墙角,从起始点开始搜索,识别出墙角所在的区域。 第五步,墙所在的区域为封闭区域,确定封闭区域的功能,确定封闭区域内其他元素的功能。

使用的库:Google TesseractOCR可识别字母数字字符,OpenCV LSD可识别直线。

vx:wlgbzg

0 人点赞