基于LSTM神经网络的BIM对象识别【BIM+AI】

news2024/11/15 4:17:03

BIM 模型中的一个基本数据是对象的名称,尤其是房间。 没有专有名称,人们就不可能理解模型/设计的内容。 在本文中,我们尝试使用 Tensorflow 构建一个基于该数据识别房间的LSTM神经网络模型。

在这里插入图片描述

推荐:用 NSDT设计器 快速搭建可编程3D场景。

如果你只需单击一下即可确定建筑物包含哪些类型的空间,该怎么办? 这肯定会在工程方面实现良好的工作流程,特别是在暖通空调领域,你希望根据空间进行处理。 这也是投资者想要了解的事情,以便知道他将能够出售多少面积。

要实现这一目标,首先要做的是查看可用数据。 根据经验,BIM 模型中“空间/房间”对象中一致存在的唯一信息是标高名称、表面、周长和名称。 使用计算并根据软件的不同,还可以检测空间内和周围的物体以及其他信息。 这里采取的方法是选择包含最多“价值”(英特尔)的信息来确定空间的性质,因此选择空间的名称:理论上可以推断出空间的用途 空间。 我们还选择关注一种建筑类型(办公室)。
在这里插入图片描述

在 BIM 模型空间中找到的典型数据
名称是短字符串,通常没有任何空格(单个单词)。 因此,很难使用最常见的文本处理技术,这些技术应用于文本和句子并且基于单词。 然而,字符本身就是完全可用的单词特征。 通过对名称进行一些预处理(用普通字符替换特殊字符,用“0”替换数字…),可以使字符成为相关特征。
在这里插入图片描述

左边是空间的(法语)名称。 右边是我们想要将它们分类到的相应标签。
鉴于名称是字符序列,选择分析它们的模型是一个循环模型:它的预测基于它正在查看的字符,但也基于之前的字符以及它们之间的顺序。 为了更好地适应任务,使用 LSTM(将重要信息保存在内存中,并且在长序列中很有用)并使其双向(在序列上沿一个方向和反向运行)被证明是有益的。 最后,在大约 4000 个房间/空间的列表中,尝试将它们分为 14 个不同的类别(我们选择了办公楼:办公室、浴室、技术室……),该模型达到了大约 97% 的精度。 例如,向工程师提出建议似乎很好,而不是让他自己对所有内容进行分类。
在这里插入图片描述

现场测试:提交一些(法语)房间名称,模型猜测它们可能是什么类型的房间
值得注意的是,很多房间名称都是重复的,这有助于获得良好的准确性。 修剪重复项会将空间名称数量减少到 1500 以下。在没有重复项的列表中,该模型达到约 80-85%。 “现实世界”的准确率将在 80% 到 97% 之间(因为在实际项目中也会出现重复)。

本文代码可以从github下载。


原文链接:基于LSTM的BIM对象识别 — BimAnt

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/811185.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第一章HelloWorld

确认环境 java -version javac编写代码 public class HelloWorld{public static void main(String[] args){System.out.println("HelloWorld");} }编译运行 javac HelloWord.java编译java文件成class字节码文件 java HelloWorld运行.class字节码文件 备注 容易…

手把手教你使用stable diffusion生成自己的艺术二维码

艺术二维码制作指南 导读midjourneystable diffusion 环境准备安装stable diffusion webuisd-webui-qrcode-toolkit安装 草料二维码模型准备QR PatternQR Code MonsterIoC Lab Control Net 艺术二维码制作1. 二维码信息提取2. 使用QR Tookit生成二维码3. 下载二维码图片4. prom…

电脑维护指南:让你的战友始终高效稳定

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

管理类联考——写作——论说文——实战篇——立意篇——真题审题立意汇总分类

难度:*号越多越难,越需要看。 角度3——4种材料类型、4个立意对象、5种写作态度 寓言类材料**** 2022年 鸟类会飞是因为它们在进化中不断优化了其身体结构。飞行是一项较为特殊的运动,鸟类的躯干进化出了适合飞行的流线型。飞行也是一项需…

【数理知识】刚体基本运动

文章目录 1 刚体定义2 自由刚体3 两种基本运动1 平动2 转动 4 举例 11 计算质心位置,求差得到平移向量2 计算协方差矩阵3 奇异值分解4 计算旋转矩阵 Ref 1 刚体定义 刚体就是质点间距离保持不变的质点系。 刚体的空间位置由任意与刚体固连的不共线三点决定。 2 自…

HDMI协议实现彩条静态显示方块移动

文章目录 前言一、硬件原理1、硬件设计原理图2、引脚图 二、系统设计1、系统模块框图2、RTL视图3、RGB2DVI 模块框图4、ALTDDIO_OUT IP 核的信号框图 三、HDMI的行&场时序1、时序图2、常见显示器时序参数 四、源码1、video_driver(显示驱动模块)2、serializer_10_to_1(并转…

微信公众号接入AI ChatGPT机器人bot的详细教程

微信公众号可以与客服系统进行对接,实现智能自动回复或者人工回复的公众号客服系统实现对接的前提是需要公众号为认证的服务号,实现的功能概况:公众号客服接口对接,公众号模板消息提醒,网页授权获取到微信的昵称头像&a…

Python实现GA遗传算法优化支持向量机回归模型(SVR算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 遗传算法(Genetic Algorithm,GA)最早是由美国的 John holland于20世…

tinkerCAD案例:24. Ruler - Measuring Lengths 标尺 -量勺

tinkerCAD案例:24. Ruler - Measuring Lengths 标尺 - 测量长度 Project Overview: 项目概况: A machine shop, where any idea can become a reality, can cost millions and million of dollars. Still, the most important tool in the shop is the…

基于Open3D的点云处理12-体素化

体素化Voxelization 体素(voxel)是像素(pixel)、体积(volume)和元素(element)的组合词,相当于3D空间中的像素; 体素化是通过用空间均匀大小的体素网格(voxel grid)来模…

openpnp - ReferenceStripFeeder 改版零件

文章目录 openpnp - ReferenceStripFeeder 改版零件概述笔记整体效果散料飞达主体磁铁仓盖板飞达编带中间压条飞达编带两边压条装配体用的8mm编带模型END openpnp - ReferenceStripFeeder 改版零件 概述 官方推荐了ReferenceStripFeeder的模型smd_strip_feeders_mod_tray.zip…

【C++学习】STL容器——vector

目录 一、vector的介绍及使用 1.1 vector的介绍 1.2 vector的使用 1.2.1 vector的定义 1.2.2 vector iterator 的使用 1.2.3 vector 空间增长问题 1.2.4 vector 增删查改 1.2.5 vector 迭代器失效问题(重点) 二、vector深度剖析及模拟实现 ​编辑…

【JavaSE】数组的定义与使用

【本节目标】 1. 理解数组基本概念 2. 掌握数组的基本用法 3. 数组与方法互操作 4. 熟练掌握数组相关的常见问题和代码 目录 1. 数组的基本概念 1.1什么是数组 1.2 数组的创建及初始化 1.3 数组的使用 2. 数组是引用类型 2.1基本类型变量与引用类型变量的区别 2.2再谈引用…

慎思笃行,兴业致远:金融行业的数据之道

《中庸》中说,“博学之,审问之,慎思之,明辨之,笃行之”。这段话穿越千年,指引着中国千行百业的发展。对于金融行业来说,庞大的数据量可以说是“博学”的来源。但庞大的数据体量,既是…

网络通讯(服务端搭建)

一.本篇概况 本篇文章主要以C语言为主,通过C语言中所设定的函数以及环境来将网络通讯的服务端进行搭建。注:本篇并未涉及服务端与客户端之间的收发数据。 二.代码实现 1.初始化套接字库: if(WSAStartup(MAKEWORD(2, 2), &wsaData) ! 0…

你真的了解Java中的数组吗?

你真的了解Java中的数组吗? 数组是基本上所有语言都会有的一种数据类型,它表示一组相同类型的数据的集合,具有固定的长度,并且在内存中占据连续的空间。在C,C等语言中,数组的定义简洁清晰,而在J…

PDF.js实现搜索关键词高亮显示效果

在static\PDF\web\viewer.js找到定义setInitialView方法 大约是在1202行,不同的pdf.js版本不同 在方法体最后面添加如下代码: // 高亮显示关键词---------------------------------------- var keyword new URL(decodeURIComponent(location)).searchP…

【C语言进阶篇】看完这篇结构体文章,我向数据结构又进了一大步!(结构体进阶详解)

🎬 鸽芷咕:个人主页 🔥 个人专栏:《C语言初阶篇》 《C语言进阶篇》 ⛺️生活的理想,就是为了理想的生活! 文章目录 📋 前言1 结构体的声明1.1 结构的基础知识1.2 结构的声明1.2.1 . 匿名结构体类型声明1.2.2 匿名结构…

【深度学习实践】垃圾检测

简介 本项目使用深度学习目标检测开源框架PaddleDetection中的yolox算法实现了垃圾检测,本文包含了从头训练yolox模型和直接使用训练好的模型进行推理的代码及相关权重。 一、数据集准备 本次训练的数据集为coco格式,共包含150张垃圾的照片&#xff0…

每日一题——丢失的数字

丢失的数字 题目链接 注:这一题的解法建立在位运算——异或^的基础之上,如果位运算和异或操作符不太了解,建议先看看: 位运算详解 只出现一次的数字 思路 同样,这题要求时间复杂度为O(n),空间复杂度为O…