在建筑平面图的分析中,一些复杂的平面图总是会让人感到头晕脑胀,不同的标注方式以及不同的图形符号更难以让普通人去解读。 5种不同图形符号的浴缸以及真实场景中具有的遮挡,标注等信息 有时,图形符号又会极其简单,对于人类来说对此的解读会显得十分容易,但对机器来说又会变得毫无特征进而无法分析。 信息量较少的图形:入口门,壁橱门,冰箱和洗碗机 在本文中,作者通过利用前沿的深度学习技术,并改编基于YOLOv2架构的对象监测框架来解决上述所有问题。 -- workflow 输入图像->图像分块->YOLOv2处理->阈值处理->图像整合 是不是看起来很简单,但事实并非如此 - 数据集 首先是数据集的准备,带注释的图纸数据集很难获得,网上很少有公开的,对于建筑平面图而言尤其如此,这是因为知识产权经常会限制其使用和发布。 想尽一切办法解决数据集的问题后,面临的是数据拆分与数据清洗。因为图像识别是无法直接检测pdf类型的图纸的,所以首先需要将pdf转换成DPI图像,并针对建筑的符号类型进行标注,例如浴室、水槽、窗户、以及电器。 浴室水槽,进门,单折叠门,双折叠门,浴缸,淋浴等 - 预处理 在处理建筑平面图图像时,我们会面临几个问题。 首先,平均一张平面图的尺寸为5400×3600像素,而单个物体符号非常小(可能只有70x 80像素)。若对模型直接投喂一整张图片的话,很多符号可能都会在CNN的输出特征图中消失。 此外,平面图图像具有不同的长宽比,若按照CNN架构的要求将其调整为固定大小,将会极大地改变了符号形态,从而降低了分类性能。 那么,我们可以通过图像切片与平铺进行处理数据集,可解决上述问题。并且还可以有效的扩充数据集。 通过图像平铺策略进行数据增强。会发现符号出现在图块内的各个位置,同时其中还包括其他各种符号。 - 训练网络 对比YOLOv3和YOLOv2,虽然YOLOv3能够更好的预测和特征提取,但相对来说会使模型变的缓慢。而YOLOv2相比YOLO有着更好的召回与精度,在这样的监测中可以保证精度的同时,不会让模型运行变得太慢。 最后,对于重叠检测,我们比较所有对边界框。如果它们的重叠大于阈值(较小边框的大小的百分比),则保留具有最高分类分数的边框。如果分数接近,则选择较大的边界框,并删除较小的边界框。 重叠检测,选取10%阈值的结果 在实际数据集中检测到的各种级别的遮挡和重叠: 实际的建筑平面图检测结果 让小白也能看得懂的建筑图 本文所涉及的技术资料 欢迎加入星球获取~ |
|
来自: Mixlab交叉学科 > 《待分类》