AP

Bounties

Few-shot oral lesion classification

Python · OpenCV · Prototypical networks

Semester-long R&D project · Prof. Nirmal Punjabi · 2024

Classifies 6 types of oral lesion from photos, learning from only a few labelled examples per class.

With too few labelled images for a conventional classifier, used a prototypical network evaluated in episodes, and masked each lesion to its annotated polygon so the model saw the lesion rather than the tissue around it.

Outcome: 55.54% accuracy and 0.5568 macro F1 across 6 classes, against 16.7% chance

Flight booking microservice

Node.js · Express · MySQL · Sequelize

Self project · 2024

A flight booking backend split into Express microservices for flight search, booking, email reminders and auth.

Seat counts live in the flight service and bookings in another, so a booking starts In Process, checks and decrements seats through the flight service’s API, and is marked Booked only after that succeeds.

Augmented reality sudoku solver

Python · OpenCV · TensorFlow · Keras

Self project · 2023

Reads a sudoku from a photo, recognises each digit with a CNN and solves the puzzle by backtracking.

A photographed grid is skewed and cluttered, so the board is found as the largest four-cornered contour, its corners ordered, and the image warped flat to 450 × 450 before being cut into 81 cells.

Outcome: 99.43% test accuracy on digit recognition

Don’t let labels define you

Python · Gaussian mixture models · AIC/BIC model selection

Course project · Prof. Abir De · 2024

Clusters 114,000 Spotify tracks into synthetic genres and measures how closely they line up with the real ones.

There is no ground truth for a synthetic genre, so the number of clusters was chosen with AIC, BIC and the elbow method, and the result checked against real genres with frequency plots and cosine similarity.

Outcome: 110 synthetic genres identified across 114,000 tracks

Hierarchical few-shot generative models

Python · PyTorch · Latent variable models

Course project · Prof. P. Balamurugan · 2023

Trains hierarchical generative models that produce new samples of a class from only a few examples, on the double MNIST dataset.

Generating from only a few examples per set means the model has to infer what the set has in common; implemented the hierarchical model in PyTorch and analysed how its latent variables affect few-shot generation on double MNIST.

Back to the full page