Posts by Collection

playlists

Playlist for the Evening Commute

Published:

Genre: Dream Pop / Shoegaze
Why it fits: At the end of the day, your brain is tired. This music is like a soft, echoey pillow for your mind to rest on. The hazy sound lets your hard thinking melt away. It’s in this relaxed state that great new ideas can pop up by surprise. This music is a good way to turn your brain off for the day.
Artist Suggestions: Beach House, Cocteau Twins, Slowdive..

Playlist for the Morning Commute

Published:

Genre: Indie Pop
Why it fits: Your brain is still waking up, so you need something gentle. Indie Pop is like a good cup of tea in music form. Its catchy, breezy tunes are just enough to wake up your brain and help you make a to-do list for the day. It gives you a cheerful feeling that you definitely need to get started.
Artist Suggestions: Belle and Sebastian, Vampire Weekend, Alvvays.

Playlist for Thesis Writing

Published:

Genre: Epic Orchestral / Film Score
Why it fits: You’ve reached the final boss: your thesis. To get through it, you need to feel like a hero. This music gives a serious, emotional feeling to your work, making it seem like finishing each chapter is a huge victory. It helps you believe that even fixing your references is a heroic act, like in a movie. You are the main character, and this is your theme song.
Artist Suggestions: Hans Zimmer, John Williams, Ramin Djawadi.

Playlist for Disseminating Your Work

Published:

Genre: Funk
Why it fits: It’s hard to feel like you’re not good enough when this music is playing. Before you talk in front of people who seem way smarter than you, you need a big dose of confidence. Funk gives you that boost, making you want to walk up to the front with the cool, unstoppable feeling of a funky bassline.
Artist Suggestions: James Brown, Parliament-Funkadelic, Sly and the Family Stone.

Playlist for Writing and Publishing Papers

Published:

Genre: Minimalism
Why it fits: Writing a paper means rewriting it over and over. Minimalism totally gets this. Its repeating sounds that slowly change are like fixing the same sentence until it’s perfect. The music helps quiet the self-doubt in your head and gets you “in the zone,” turning a long, hard job into a moment of calm focus.
Artist Suggestions: Philip Glass, Steve Reich, Max Richter.

Playlist for Experimentation and Analysis

Published:

Genre: Ambient
Why it fits: This music is for the long hours you have to wait for your experiments to finish. Ambient sound is like a lava lamp: it fills the silence with soft, changing sounds without ever bugging you. It’s a background hum that lets you know everything is still running, so you can relax and focus on your results.
Artist Suggestions: Brian Eno, Stars of the Lid, Aphex Twin (Selected Ambient Works).

Playlist for Implementation and Prototyping

Published:

Genre: Synthwave
Why it fits: It’s late, you’re staring at your screen, and you’re not just coding—you’re the hero in an 80s movie. Synthwave has a driving, electronic beat that’s perfect for pushing through hours of work. It’s the soundtrack for beating coding errors and chugging coffee, making your work feel like a high-speed chase in a neon city.
Artist Suggestions: Kavinsky, The Midnight, Carpenter Brut.

Playlist for Developing a Novel Method

Published:

Genre: Jazz Fusion
Why it fits: Sometimes your brain needs to get a little weird to come up with something new. This music is wild but brilliant, mixing different styles in a way that sounds exciting and unpredictable. It gives you the freedom to try a crazy new idea, because great new things are often found between a wild guitar solo and a cool bassline.
Artist Suggestions: Mahavishnu Orchestra, Weather Report, Herbie Hancock.

Playlist for Defining the Problem

Published:

Genre: Post-Rock
Why it fits: This is the perfect music for staring at a whiteboard. These long songs start quiet and small, like a single fuzzy idea. Then they wander and build, ending in a huge, loud, exciting finish—just like that moment you finally find the perfect research question. It’s the sound of a big “I’ve got it!” moment.
Artist Suggestions: Explosions in the Sky, Godspeed You! Black Emperor, Mogwai.

Playlist for Reading the Litterature

Published:

Genre: Baroque Classical
Why it fits: The ordered, logical sound of Baroque music builds a palace of sound for your thoughts. It leaves no room for distractions like wondering what’s for dinner or having deep worries. It’s the sound of pure logic, helping to herd your wandering thoughts back to the page.
Artist Suggestions: J.S. Bach, Antonio Vivaldi, George Frideric Handel.

portfolio

Teaching a Robot to Follow You with Reinforcement Learning

How do you teach a robot to follow a person without programming its every move? You let it learn. This article chronicles the journey of Teresa, a simulated robot we taught to autonomously track a person using only its camera and the power of reinforcement learning. We break down everything from the core AI principles to the open-source tools you’ll need, showing how a simple reward system can create intelligent behavior and providing a roadmap to building your own autonomous agent.

Face recognition using Multi-Patch networks and Triplet Loss

What if the key to better face recognition is to stop looking at the whole picture and start focusing on the details? Dive into our student project where we implemented a powerful system that feeds a neural network not just the full face, but also individual patches like the eyes and mouth. We’ll break down the secret sauce—a technique called ‘Triplet Loss’ that teaches the AI to see similarities like never before. Read on to discover how this multi-patch approach dramatically boosts accuracy and what we learned along the way.

From ‘Paris’ to ‘Paris_(mythology)’: Building a Wikipedia Entity Disambiguator from Scratch

How does a computer know if ‘Paris’ refers to the city of love or the hero of Greek mythology? The answer is context. This post is a step-by-step guide on building an Entity Disambiguation system from scratch in Python. Dive in to see how we can teach a machine to read between the lines by extracting meaningful context with NLTK, leveraging a knowledge base like YAGO, and implementing a simple yet powerful scoring model to resolve ambiguity in text.

Solving the Unsolvable: A Heuristic Approach to MAX-SAT in Python

Faced with an ‘unsolvable’ NP-hard problem, how do you find a great answer when the perfect one is out of reach? This post details the journey of building a Weighted MAX-SAT solver from scratch in Python. I explore why brute-force solutions fail spectacularly and break down the design of a greedy, iterative heuristic that quickly hones in on high-quality solutions under tight time constraints. Dive into the strategy, the results, and the lessons learned from tackling a classic combinatorial nightmare.

Beyond a Single Input: How I Built a Multi-Network Model to Predict Professions from Biographies

Can a machine guess a person’s profession just by reading their bio? This post details how I tackled this complex multi-label classification challenge. I designed a unique multi-input neural network in Keras that combines the general knowledge of pre-trained GloVe embeddings with the specific insights from trainable embeddings. Discover the architecture that achieved an impressive 0.79 F1 score and see how a simple probability threshold made all the difference.

Mastering ML at Scale: A Practical Guide to Classification, Regression, and Clustering with PySpark

Master machine learning at scale with this practical guide to PySpark. We dive deep into three real-world projects, showing you how to build a perfect-scoring classification tree, find the optimal number of clusters with K-Means, and run a model showdown to pick the best regression algorithm. Learn the essential steps to transform your code into a clear, actionable workflow for handling massive datasets, from data preparation with VectorAssembler to robust tuning with CrossValidator.

A Deep Dive into Parallelizing Clustering Algorithms with PySpark

Go beyond scikit-learn and discover how to scale your clustering algorithms for massive datasets. This deep dive walks you through building K-Means, GMM, and DBSCAN from scratch using PySpark. Explore the specific parallelization strategies—from the classic MapReduce pattern in K-Means to the complex neighborhood problem in DBSCAN—with full code implementations and detailed explanations of the underlying theory. A developer’s guide to building truly scalable machine learning.

publications

Efficient Class-Incremental Segmentation Learning via Expanding Visual Transformers

Published in Under review, 2025

A diagram illustrating the MVAT framework Incrementally learning new semantic concepts while retaining existing information is fundamental for several real-world applications. Although the impact of backbone size and architectural choices has been extensively studied in non-incremental computer vision tasks for efficiency concerns, class-incremental semantic segmentation models have so far focused primarily on large backbones, without offering a fair comparison in terms of model size. In this work, we propose a fairer study across existing class-incremental semantic segmentation methods, focusing on the models efficiency with respect to their memory footprint. Moreover, we propose TILES (Transformer-based Incremental Learning for Expanding Segmenter), a novel approach exploiting small-size ViT backbones efficiency to offer an alternative solution where severe memory constraints are applied. It is based on expanding the architecture with the increments, allowing to learn new tasks while retaining old knowledge within a limited memory footprint. Besides, in order to tackle the background semantic shift, we apply adaptive losses specific to the incremental branches, while balancing old and new knowledge. Furthermore, we exploit the confidence of each incremental task to propose an efficient branch merging strategy. TILES outperforms several previous methods on various challenging benchmarks while using up to 14 times fewer parameters.

ALPI: Auto-Labeller with Proxy Injection for 3D Object Detection using 2D Labels Only

Published in WACV, 2025

A diagram illustrating the MVAT frameworkTraining 3D object detectors is notoriously constrained by the cost of manual 3D annotation. While using 2D boxes is a cheap alternative, it introduces a fundamental problem: how can a model learn to predict a 3D box if it has never seen one? Our work, ALPI, resolves this paradox by introducing proxy injection: we synthetically create and inject perfectly-labeled 3D proxy objects directly into the point cloud during training. These proxies, built from simple class size priors, provide the unambiguous 3D supervision needed to bootstrap the learning process, enabling the model to correctly infer the 3D poses of real-world objects using only their 2D box projections.

Download Paper | View Code

Cross-Modal Distillation for 2D/3D Multi-Object Discovery from 2D Motion

Published in CVPR, 2025

A diagram illustrating the XMOD framework

While object discovery in 2D images has thrived using motion cues, its 3D counterpart has been hindered by the sparsity of LiDAR data and unreliable 3D motion. Our work bridges this modality gap by introducing a new paradigm that leverages mature 2D motion cues to discover multiple objects directly in 3D point clouds. We first propose DIOD-3D, a novel baseline that learns scene completion to find dense objects in sparse data. Building on this, our core contribution is xMOD, a cross-modal distillation framework where 2D and 3D models act as teachers for each other. The 2D student learns robust geometry from its 3D teacher, while the 3D student learns rich context from its 2D teacher, reducing confirmation bias and exploiting the unique strengths of each sensor.

Download Paper | View Code

MVAT: Multi-View Aware Teacher for Weakly Supervised 3D Object Detection

Published in WACV, 2026

A diagram illustrating the MVAT framework MVAT introduces a novel approach to weakly supervised 3D detection by tackling projection ambiguity. It presents a Teacher-Student framework that is the first to leverage the natural multi-view consistency from a moving ego-vehicle to resolve the inherent ambiguity of 2D annotations. The method proposes a robust technique to generate dense, high-quality 3D object representations and pseudo-labels by aggregating sparse point clouds over time, guided only by 2D bounding boxes. This process is further strengthened by a multi-view 2D projection loss that serves as a powerful supervisory signal, enforcing that a single predicted 3D box must align with all of its corresponding 2D annotations across the entire temporal sequence.

Download Paper

teaching

Teaching experience 1

Undergraduate course, University 1, Department, 2014

This is a description of a teaching experience. You can use markdown like any other post.

Teaching experience 2

Workshop, University 1, Department, 2015

This is a description of a teaching experience. You can use markdown like any other post.