FloorCAD Detect β€” Architectural Element Detector (YOLOv8n)

Hub: mudasir13cs/floorcad-yolov8n-detect

YOLOv8n object detector for architectural CAD floor plans. It spots walls, doors, windows, stairs, and interior symbols (beds, fixtures, furniture) as bounding boxes on rasterized drawings.

Companion mask model: FloorCAD Seg (mudasir13cs/floorcad-yolov8n-seg).

Related VLM work (image β†’ structured JSON): mudasir13cs/qwen25-vl-3b-floorplan-sft.

Example input

Original illustration (not from the training set). Use any CAD-style floor-plan raster at inference.

Demo CAD floor plan

A second residential-style demo is in examples/demo_residential_floorplan.png.

Data source

Trained on a YOLO detection conversion of FloorPlanCAD-style CAD floor plans (35 symbol classes).

Resource Link
Dataset paper FloorPlanCAD: A Large-Scale CAD Drawing Dataset for Panoptic Symbol Spotting (ICCV 2021)
Project page floorplancad.github.io
HF mirror (vector CAD / FiftyOne) Voxel51/FloorPlanCAD
Base detector Ultralytics YOLOv8n (yolov8n.pt)

FloorPlanCAD contains 10k–15k+ real production CAD drawings (residential and commercial) with line-level symbol annotations. This checkpoint uses a rasterized YOLO-format split derived from that family of labels (see class list below). Training images are not redistributed in this repo.

Classes (35)

Openings & envelope: wall, window, bay_window, blind_window, single_door, double_door, sliding_door, opening_symbol, railing

Vertical circulation: stair, elevator, escalator

Wet / kitchen: bath, bath_tub, toilet, squat_toilet, urinal, sink, gas_stove, refrigerator, washing_machine

Furniture: bed, bedside_cupboard, sofa, chair, table, wardrobe, tv_cabinet, half_height_cabinet, high_cabinet, parking

Unnamed leftover ids in the conversion: class_31, class_32, class_34, class_35

Full map: dataset.yaml.

Load & run

from ultralytics import YOLO

model = YOLO("mudasir13cs/floorcad-yolov8n-detect")  # or local best.pt / floorcad-yolov8n-detect.pt
results = model.predict("demo_cad_floorplan.png", conf=0.25, imgsz=640)
results[0].show()

If Hub loading needs a filename:

from huggingface_hub import hf_hub_download
from ultralytics import YOLO

ckpt = hf_hub_download("mudasir13cs/floorcad-yolov8n-detect", "floorcad-yolov8n-detect.pt")
model = YOLO(ckpt)

Training details

Architecture YOLOv8n detect
Image size 640
Epochs 100 (patience 20)
Batch 4
Optimizer Ultralytics auto Β· AMP
Seed 0
Train images 4,246
Hardware NVIDIA GPU (device=0)

Validation (final epoch)

Precision Recall mAP50 mAP50-95
0.794 0.714 0.770 0.671

Training curves

Normalized confusion matrix

Intended use

Research and prototyping on CAD / architectural drawings: symbol spotting, quantity takeoff helpers, and as a first pass before gbXML / BIM conversion. Not validated for permitting, fire-code, or construction sign-off.

YOLOv8 weights are released under AGPL-3.0. FloorPlanCAD is a research dataset β€” respect the original paper/project terms for any redistribution of source drawings.

Citation

@InProceedings{Fan_2021_ICCV,
  author    = {Fan, Zhiwen and Zhu, Lingjie and Li, Honghua and Zhu, Siyu and Tan, Ping},
  title     = {FloorPlanCAD: A Large-Scale CAD Drawing Dataset for Panoptic Symbol Spotting},
  booktitle = {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)},
  month     = {October},
  year      = {2021},
  pages     = {10128-10137}
}
@software{ultralytics_yolov8,
  title  = {Ultralytics YOLOv8},
  author = {Jocher, Glenn and Chaurasia, Ayush and Qiu, Jing},
  url    = {https://github.com/ultralytics/ultralytics},
  license = {AGPL-3.0},
  year   = {2023}
}

Author / contact

Mudasir β€” Sr. AI Engineer at ECODA (에코닀), building multimodal AI for architecture and building-performance workflows. MS AI Convergence, μˆ­μ‹€λŒ€ν•™κ΅ β€” Soongsil University, Seoul. More credentials, publications, and projects: mudasir13cs.github.io

Downloads last month
44
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for mudasir13cs/floorcad-yolov8n-detect

Finetuned
(193)
this model

Dataset used to train mudasir13cs/floorcad-yolov8n-detect