如何将多目标检测用于建筑平面图? | MixLab智能建筑

在建筑平面图的分析中,一些复杂的平面图总是会让人感到头晕脑胀,不同的标注方式以及不同的图形符号更难以让普通人去解读。

5种不同图形符号的浴缸以及 真实场景中具有的遮挡,标注等信息

有时,图形符号又会极其简单,对于人类来说对此的解读会显得十分容易,但对机器来说又会变得毫无特征进而无法分析。

信息量较少的图形:入口门,壁橱门,冰箱和洗碗机

在本文中,作者通过利用前沿的深度学习技术,并改编基于YOLOv2架构的对象监测框架来解决上述所有问题。

— workflow

输入图像->图像分块->YOLOv2处理->阈值处理->图像整合

是不是看起来很简单,但事实并非如此

– 数据集

首先是数据集的准备,带注释的图纸数据集很难获得,网上很少有公开的,对于建筑平面图而言尤其如此,这是因为知识产权经常会限制其使用和发布。

想尽一切办法解决数据集的问题后,面临的是数据拆分与数据清洗。因为图像识别是无法直接检测pdf类型的图纸的,所以首先需要将pdf转换成DPI图像,并针对建筑的符号类型进行标注,例如浴室、水槽、窗户、以及电器。

浴室水槽,进门,单折叠门,双折叠门,浴缸,淋浴等

– 预处理

在处理建筑平面图图像时,我们会面临几个问题。

首先, 平均一张平面图的尺寸为5400×3600像素,而单个物体符号非常小(可能只有70x 80像素)。 若对模型直接投喂一整张图片的话,很多符号可能都会在CNN的输出特征图中消失。

此外, 平面图图像具有不同的长宽比,若按照CNN架构的要求将其调整为固定大小,将会极大地改变了符号形态,从而降低了分类性能。

那么,我们可以通过图像切片与平铺进行处理数据集,可解决上述问题。并且还可以有效的扩充数据集。

通过图像平铺策略进行数据增强。会发现符号出现在图块内的各个位置,同时其中还包括其他各种符号。

– 训练网络

对比YOLOv3和YOLOv2,虽然YOLOv3能够更好的预测和特征提取,但相对来说会使模型变的缓慢。而YOLOv2相比YOLO有着更好的召回与精度,在这样的监测中可以保证精度的同时,不会让模型运行变得太慢。

最后,对于重叠检测,我们比较所有对边界框。如果它们的重叠大于阈值(较小边框的大小的百分比),则保留具有最高分类分数的边框。如果分数接近,则选择较大的边界框,并删除较小的边界框。

重叠检测, 选取10%阈值的结果

在实际数据集中检测到的各种级别的遮挡和重叠:

实际的建筑平面图检测结果

让小白也能看得懂的 建筑图 

本文所涉及的技术资料

欢迎加入星球获取~  

无界社区mixlab
我还没有学会写个人说明!
上一篇

美股散户逼空“带头大哥”:我不是华尔街之狼

下一篇

Python自动化办公 | 同事要我帮忙补写178份Word日报!别闹!

你也可能喜欢

评论已经被关闭。

插入图片