GithubHelp home page GithubHelp logo

haritha-j / industrial-facility-relationships Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jakob-beetz/ifcopenshell-notebooks

0.0 1.0 0.0 34.79 MB

Element and relationship modelling for industrial facility digital twins generation.

License: MIT License

Python 44.13% Jupyter Notebook 54.97% CMake 0.06% C++ 0.84%

industrial-facility-relationships's Introduction

Industrial Facility Relationship Detection

This repository contains the codebase for Learnable Geometry and Connectivity Modelling of BIM Objects, accepted for BMVC 2023.

This repository performs relationship inference on industrial facility datasets using a GNN. It is compatible with NWD/IFC design files for training/evaluation and labelled point cloud datasets (CLOI) for evaluation. For relationship annotation on point cloud datasets, see this fork of labelcloud.

The primary notebook for this repository is graph_experiments.ipynb. It contains the following sections:

  1. Relationship identification: Identify, extract and (visualize) aggregation and connectivity relationships.
  2. Visalization: Deprecated
  3. IFC to cloud: Create point clouds from each element in IFC file
  4. Graph dataset: Create a graph dataset from relationship information
  5. Evaluate GNN: Evaluate predictions from GNN
  6. Visalize predictions: Draw IFC element to visualize FP,TP,FNs
  7. Analyze dataset and results: Repetition removal, element category analysis

Training and inference using the GNN is contained in link_prediction.ipynb. This fits between steps 4 and 5 of the above notebook.

CLOI dataset preperation is contained in CLOI.ipynb.

Additionally, scripts for exctracting facility structure from NWD files (total.py), downsampling element point clouds (downsample.py), merging IFC elements (ifcmerge.py) and cleaning up IFC files extracted from NWD files (IFCPARSE.py) are available in the utils folder.

Source code for processing ifc geometry, graphs, point clouds, industrial facility structure and visualisation are available in the src folder.

This repository is dependent on a custom version of chamferdist

Dataset

The dataset is available here

This dataset consists of two sub-sections.

  1. Synthetic dataset
  2. Industrial facility dataset

Point clouds for each dataset are available in both regular occclusion (3 camera viewpoints) and high occlusion (2 camera viewpoints) variants.

The datasets contain pipe, elbow, flange and tee classes.

Synthetic dataset

clouds sampled from 4000+ synthetically generated elements for each class. IFC, OBJ and sampled point clouds are available for each element, as well as metadata describing the underlying geoemtric parameters.

Industrial facility dataset

Point clouds sampled from two subsections of an offshore LNG hub. Metadata contains relationship information for piping branches. Geometry predictions for all elements from our proposed methods have been included. Obj files are also included.

industrial-facility-relationships's People

Contributors

haritha-j avatar jakob-beetz avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.