Portfolio

Master’s Thesis: Reconstructing CAD models of non-complex objects from point clouds: A data-driven approach

Point cloud data from laser scanners can be acquired in large quantities, yet it lacks explicit connectivity. CAD models, in contrast, offer structured and parametric representations used widely across industry. In this work I developed a deep learning model that transforms point clouds of scanned objects into their corresponding CAD models (sketch-and-extrude operations). The model is trained on the publicly available DeepCAD dataset. To improve reconstruction performance, a segmentation approach is applied that splits each CAD model into its individual extrusions, forming primitive CAD models. Experiments show that training on these segmented primitives not only increases reconstruction quality and model generalizability but also enables the inference of more complex CAD models. (Paper, Code)

PC2Model: LiDAR simulation for ISPRS benchmark dataset

Developed and curated a point cloud to 3D model registration dataset within a small team. Investigated multiple 3D model datasets to select samples. Created a Python Blender add-on to interface with the Helios++ laser-scanning simulation software and conducted simulations of objects and buildings. Co-authored the paper for the dataset for submission to ISPRS Toronto 2026 and gained hands-on experience with real LiDAR scanners. (Paper, Code)

Improving Object Detection Performance on Hard to Detect Instances in DOTA

This project improved mean Average Precision (mAP) for hard-to-detect instances in the DOTA dataset. I implemented dataset augmentation (oversampling, copy-pasting hard-to-detect objects and their bounding boxes within images), preprocessing pipelines, training routines, object detection evaluation metrics, and post-processing in PyTorch to train a YOLOv5 model for object detection. The approach increased mAP for hard-to-detect instances significantly in comparison to the baseline. (Paper, Code)

Entropy Maximization for Anomaly Detection in Complex Driving Scenes Using a UNet Architecture

This project trained deep learning segmentation models to detect out-of-distribution objects in driving scenes using entropy maximization. Real-world scenarios often feature classes not included in training datasets. To detect these objects, I implemented entropy maximization, which modifies the standard cross-entropy loss function to boost the model’s prediction entropy for out-of-distribution objects. A U-Net model was trained using this modified loss function and compared to baseline models. The results indicate a substantial improvement in the anomaly detection capability of the U-Net model, with a significant increase in segmentation metrics like AUROC and AUPRC and a decrease in FPR95. (Paper, Code)
Entropy Maximization

From Scratch Repository

To gain a deeper understanding of modern chat tools like ChatGPT, I implemented a decoder-only transformer model from scratch using PyTorch. Additionally, I developed a pipeline to extract song lyrics of any given artist from the web, enabling the transformer model to be trained on these lyrics for the creation of new songs. For further comprehension, I also implemented backpropagation, Multi-Layer-Perceptron (MLP) and Batch Normalization from scratch.