Selected work

Project 2 of 4

Research engineering · Computer vision backend · Bachelor's FYP - Early 2025

Floor Plan GNN Parser

A full-stack research prototype for graph-based floor-plan line-segment parsing.

Role
Full-stack research implementation
Deliverable
FastAPI service and TypeScript interface
Focus
Graph pipeline · computer vision

Overview

For my bachelor's final year project, I built a FastAPI backend and TypeScript interface for floor plan line segment classification. Users can upload a floor plan and view the output of the processing steps.

  • Python
  • FastAPI
  • TypeScript
  • YOLOv11
  • Graph Neural Networks
  • Computer Vision
  • scikit-learn
  • NumPy
  • Pandas

Project flow

Architecture and flow.

5 connected stages

  1. 1image
  2. 2segments
  3. 3graph
  4. 4objects
  5. 5classes

Research basis

Parsing Line Segments of Floor Plan Images Using Graph Neural Networks

The paper introduces GLSP: junction-heatmap endpoint prediction followed by graph-based extraction and classification of vectorized line segments.

arXiv:2303.03851

Read the primary source

Scope

Work completed and source material.

Scope and evidence

Scope and contribution.

This case study covers the application work built around the research pipeline. It does not claim a new model or reproduction of the paper's reported metrics. The FastAPI service, TypeScript interface, and separate YOLOv11 object-segmentation step are implementation work around the GLSP research basis.

  1. The public repository contains the FastAPI backend and TypeScript application surface.

  2. The research paper is linked as the graph line-segment parser's source, not presented as original research.

  3. YOLOv11 room segmentation is kept separate from the GLSP research attribution.

Problem

Main technical constraint.

Problem framing

Integrating the research pipeline.

A floor plan passes through image preprocessing, line extraction, graph construction, YOLOv11 object segmentation, and GNN classification. I needed to keep those steps separate enough to test and debug while exposing them through one application.

Implementation

4 implementation steps.

Implementation

Implementation steps.

  1. Step1

    Mapped the GLSP paper's endpoint, segment, graph, and classification concepts before writing the application flow.

  2. Step2

    Separated image preprocessing, graph construction, YOLOv11 object segmentation, and line-segment classification in the backend.

  3. Step3

    Exposed the processing stages through FastAPI and built a TypeScript interface for uploads and visualisation.

  4. Step4

    Returned intermediate output so individual transformations could be inspected instead of hiding the pipeline behind one result.

Result

Working full-stack research prototype.

The repository contains a working research prototype with a FastAPI backend and TypeScript frontend. Its processing steps are separated in code so the pipeline is easier to test and debug.

What I learned

This project taught me to break unfamiliar research into small steps with clear interfaces and visible intermediate output.