BuildingNet: Learning to Label 3D Buildings

Overview

BuildingNet

This is the implementation of the BuildingNet architecture described in this paper:

Paper:

BuildingNet: Learning to Label 3D Buildings

Arxiv version:

(https://arxiv.org/abs/2110.04955)

Project Page:

https://buildingnet.org/

Requirements:

This project was built using cuda10.1 and python3.8
For other requirements, look into requirements.txt. The conda environment is in 'buildingnet.yml'

Model features:

The model features are combinations of a pretrained network model features and building prior information features.
In this paper we have used minkowskiNet to train for the pretrained features.
Minkowski CNN

Run the model:

  1. After downloading the dataset (fill in the form on our official project page to get access) place the contents of model_data/GNN under the data folder in the project

  2. To run this model, execute command in run.txt

python3 train.py --datadir="data" --epoch 200 --outputdir 'Output' --ckpt_dir 'checkpoint' --normalization 'GN' --modeltype 'Edge' --edgetype 'all' --lr 1e-4 --nodetype 'node+minkownormal' --pretrainedtype 'fc3_avg' --IOU_checkpoint=5

This gives shape and part IOU every 5 epochs

Comments
  • RuntimeError: CUDA out of memory

    RuntimeError: CUDA out of memory

    I'm using nvidia3090 with cuda11.3. The OOM error happens with building 50 or 300. I don't konw whether it relies on the software or hardware environment. May I konw the hardware requirments? Thanks!

    opened by jhzhang2077 2
  • BuildingNet-Mesh

    BuildingNet-Mesh

    Dear authors,

    Thanks for your work. Have you provided the data for BuildingNet-Mesh? Could you please introduce how to extract the mesh file from the given datasets? I would like to access the 3D mesh model for each building.

    Best,

    opened by weiyao1996 1
  • Custom dataset

    Custom dataset

    Hi, I'd like to try and make my own dataset of different buildings with parts other than the ones included with BuildingNet. Generating the 3D models (and point clouds) themselves shouldn't be a problem - it's everything else I'm not sure about.

    For the minkowski pretrained features, should I simply download their code (https://github.com/NVIDIA/MinkowskiEngine) and run the models through it?

    The required json files for each model used to train BuildingNet are fairly extensive (adjacency, containment, support, and similarity) and they don't seem especially trivial to recreate. The code for their creation doesn't appear to be in this repository, and I'm guessing it is part of the labeling application shown in the paper. Can the code for the labeling application be downloaded? I'm hoping in the end to output the label data automatically together with the 3D models when they are generated (that is, a synthetic training data generation pipeline) and being able to see some of that code would be a huge help.

    opened by damonftl 0
  • the color map for part labels

    the color map for part labels

    Hi, authors,

    For the usage of visualization, could you provide the color map for those 31 part labels (as mentioned in Table 7 in the original paper)?

    Thanks~

    opened by amiltonwong 1
  • question about loading obj file using trimesh

    question about loading obj file using trimesh

    Hi, authors,

    When I load the obj file RESIDENTIALvilla_mesh6487.obj, using trimesh package, the loaded object doesn't contain the general property vertices and faces.

    import trimesh
    mesh = trimesh.load("RESIDENTIALvilla_mesh6487.obj")
    

    Although the loaded object can be visualize by mesh.show(), but it's not convenient to access its vertices and face list. Is there any way to directly load the property vertices and faces?

    opened by amiltonwong 1
  • question about the 41D node representation

    question about the 41D node representation

    Hi, authors,

    According to the original paper, the representation for each node (subgroup) is 41-dim, which corresponds to four kinds of spatial features, such as: i) initial node representation, ii) 3D barycenter position of subgroup, iii) mesh surface area, iv) coordinates of the opposite corners of OBB. Could you elaborate on the specific feature dimensions related to the above four kinds of spatial features? e.g. how many dimensions does the initial node representation contain?

    Thanks~

    opened by amiltonwong 1
  • buildingnet - point cloud

    buildingnet - point cloud

    Dear authors, Thanks for your work. When I use the point cloud of the building_net dataset, I find a lot of problems in the point cloud. I want to look for your help. I will give a few examples to illustrate as follow : (1)in the COMMERCIALchurch_mesh3114 and COMMERCIALcity_hall_mesh0514, the undetermined point clouds clearly should belong to other categories, however, they are labeled as 0. Every point cloud file has the same problem.
    (2)in the COMMERCIALhotel_building_mesh0130, There are points in the column category that should belong to the railing and window. There are other similar misclassifications. These errors are found through visualization. (3) Other point clouds have the same problem. I think it will take a lot of effort to correct these mistakes, thank you for your dedication. will you release a new version? I want to use the dataset to support your work, But the error rate of the current version of the dataset is difficult to use. I hope my suggestions are helpful to you.

    opened by suyanfei 1
Label Mask for Multi-label Classification

LM-MLC 一种基于完型填空的多标签分类算法 1 前言 本文主要介绍本人在全球人工智能技术创新大赛【赛道一】设计的一种基于完型填空(模板)的多标签分类算法:LM-MLC,该算法拟合能力很强能感知标签关联性,在多个数据集上测试表明该算法与主流算法无显著性差异,在该比赛数据集上的dev效果很好,但是由

null 52 Nov 20, 2022
Official implementation of "Open-set Label Noise Can Improve Robustness Against Inherent Label Noise" (NeurIPS 2021)

Open-set Label Noise Can Improve Robustness Against Inherent Label Noise NeurIPS 2021: This repository is the official implementation of ODNL. Require

Hongxin Wei 12 Dec 7, 2022
Official implementation of AAAI-21 paper "Label Confusion Learning to Enhance Text Classification Models"

Description: This is the official implementation of our AAAI-21 accepted paper Label Confusion Learning to Enhance Text Classification Models. The str

null 101 Nov 25, 2022
Prototypical Pseudo Label Denoising and Target Structure Learning for Domain Adaptive Semantic Segmentation (CVPR 2021)

Prototypical Pseudo Label Denoising and Target Structure Learning for Domain Adaptive Semantic Segmentation (CVPR 2021, official Pytorch implementatio

Microsoft 247 Dec 25, 2022
Official Pytorch Implementation of: "Semantic Diversity Learning for Zero-Shot Multi-label Classification"(2021) paper

Semantic Diversity Learning for Zero-Shot Multi-label Classification Paper Official PyTorch Implementation Avi Ben-Cohen, Nadav Zamir, Emanuel Ben Bar

null 28 Aug 29, 2022
Shared Attention for Multi-label Zero-shot Learning

Shared Attention for Multi-label Zero-shot Learning Overview This repository contains the implementation of Shared Attention for Multi-label Zero-shot

dathuynh 26 Dec 14, 2022
Official PyTorch Implementation of Embedding Transfer with Label Relaxation for Improved Metric Learning, CVPR 2021

Embedding Transfer with Label Relaxation for Improved Metric Learning Official PyTorch implementation of CVPR 2021 paper Embedding Transfer with Label

Sungyeon Kim 37 Dec 6, 2022
[ICCV 2021] Official Pytorch implementation for Discriminative Region-based Multi-Label Zero-Shot Learning SOTA results on NUS-WIDE and OpenImages

Discriminative Region-based Multi-Label Zero-Shot Learning (ICCV 2021) [arXiv][Project page >> coming soon] Sanath Narayan*, Akshita Gupta*, Salman Kh

Akshita Gupta 54 Nov 21, 2022
[ICCV 2021] Official Pytorch implementation for Discriminative Region-based Multi-Label Zero-Shot Learning SOTA results on NUS-WIDE and OpenImages

Discriminative Region-based Multi-Label Zero-Shot Learning (ICCV 2021) [arXiv][Project page >> coming soon] Sanath Narayan*, Akshita Gupta*, Salman Kh

Akshita Gupta 54 Nov 21, 2022
Some tentative models that incorporate label propagation to graph neural networks for graph representation learning in nodes, links or graphs.

Some tentative models that incorporate label propagation to graph neural networks for graph representation learning in nodes, links or graphs.

zshicode 1 Nov 18, 2021
Simple and Robust Loss Design for Multi-Label Learning with Missing Labels

Simple and Robust Loss Design for Multi-Label Learning with Missing Labels Official PyTorch Implementation of the paper Simple and Robust Loss Design

Xinyu Huang 28 Oct 27, 2022
Official implementation of our paper "Learning to Bootstrap for Combating Label Noise"

Learning to Bootstrap for Combating Label Noise This repo is the official implementation of our paper "Learning to Bootstrap for Combating Label Noise

null 21 Apr 9, 2022
Object detection on multiple datasets with an automatically learned unified label space.

Simple multi-dataset detection An object detector trained on multiple large-scale datasets with a unified label space; Winning solution of E

Xingyi Zhou 407 Dec 30, 2022
Official implementation of our paper "LLA: Loss-aware Label Assignment for Dense Pedestrian Detection" in Pytorch.

LLA: Loss-aware Label Assignment for Dense Pedestrian Detection This project provides an implementation for "LLA: Loss-aware Label Assignment for Dens

null 35 Dec 6, 2022
DECAF: Deep Extreme Classification with Label Features

DECAF DECAF: Deep Extreme Classification with Label Features @InProceedings{Mittal21, author = "Mittal, A. and Dahiya, K. and Agrawal, S. and Sain

null 46 Nov 6, 2022
《LightXML: Transformer with dynamic negative sampling for High-Performance Extreme Multi-label Text Classification》(AAAI 2021) GitHub:

LightXML: Transformer with dynamic negative sampling for High-Performance Extreme Multi-label Text Classification

null 76 Dec 5, 2022
PointCloud Annotation Tools, support to label object bound box, ground, lane and kerb

PointCloud Annotation Tools, support to label object bound box, ground, lane and kerb

halo 368 Dec 6, 2022
Implementation of Online Label Smoothing in PyTorch

Online Label Smoothing Pytorch implementation of Online Label Smoothing (OLS) presented in Delving Deep into Label Smoothing. Introduction As the abst

null 83 Dec 14, 2022
MPLP: Metapath-Based Label Propagation for Heterogenous Graphs

MPLP: Metapath-Based Label Propagation for Heterogenous Graphs Results on MAG240M Here, we demonstrate the following performance on the MAG240M datase

Qiuying Peng 10 Jun 28, 2022