metadata
license: mit
library_name: pytorch
tags:
- point-cloud
- 3d
- classification
- bim
- aec
- ifc
- building-information-modeling
datasets:
- ifcnetcore
BIM-JEPA (Finetuned on IFCNetCore)
Classification model finetuned from llama2thedog/BIM-JEPA-pretrained on the IFCNetCore dataset.
Performance (test set)
| Metric | Value |
|---|---|
| Overall Accuracy | 89.37% |
| Mean Class Accuracy (macro recall) | 86.63% |
| Precision (macro) | 89.38% |
| Recall (micro) | 89.37% |
| F1 Score (macro) | 87.69% |
Paper
Self-supervised learning for BIM element classification using a joint embedding predictive architecture
Jack Wei Lun Shi, Wawan Solihin, Yufeng Weng, Yimin Zhao, Leong Hien Poh, Justin K.W. Yeoh
Automation in Construction
- GitHub repo (code + configs)
- Project page
- Pretrained base
Architecture
- Backbone: BIM-JEPA encoder (12-layer Transformer, 384 dim, 6 heads) — initialized from the pretrained checkpoint
- Head: MLP classifier, 256 hidden dim, mean+max pooling, 0.5 dropout
- Loss: Cross-entropy with label smoothing (0.1)
- Encoder schedule: Frozen for the first 175 epochs, then unfrozen and finetuned end-to-end
Training
| Dataset | IFCNetCore |
| Input | 4096 points per object |
| Augmentations | Scale, rotate (all axes), translate |
| Epochs | 350 |
| Batch size | 32 |
| Optimizer | AdamW (head lr=1e-3, encoder lr=1e-4, weight decay 0.05) |
| Schedule | Linear warmup (10 epochs) + cosine decay |
| Precision | bf16-mixed |
Full training hyperparameters are in hparams.yaml.
Files
| File | Size | Description |
|---|---|---|
bim_jepa_finetuned_ifcnetcore.ckpt |
256 MB | PyTorch Lightning checkpoint |
hparams.yaml |
2 KB | Training hyperparameters |
Usage
Clone the GitHub repo first to get the model code, then:
from huggingface_hub import hf_hub_download
from bimjepa.models.classification import BimJepaClassification
ckpt_path = hf_hub_download(
repo_id="llama2thedog/BIM-JEPA-finetuned-ifcnetcore",
filename="bim_jepa_finetuned_ifcnetcore.ckpt",
)
model = BimJepaClassification.load_from_checkpoint(ckpt_path)
model.eval()
Citation
in progress
License
MIT