It is not always feasible to acquire all features immediately. This project explores an active feature selection strategy for classification, in which classification can be performed at each stage of feature acquisition. Unlike static feature selection, active feature selection works on a per-instance basis in which the next feature to acquire is conditioned on the values of already observed features. In this project, features are selected sequentially based on how much the l2-norm of the gradient of a trained classifier is affected. Written in JAX.
Multi-target location with only distance and no angle information. The aim is to locate a target or multiple targets from some number of base stations with known location, from which only distance measurements are performed. In the single target case, we can formulate an optimization problem to find the point minimizing the sum of the distances to each base station's radius of detection. In the multi-target case this procedure is performed along with a k-means clustering algorithm to associate each target with nearby base stations.
Visualization of the prerequisite dependencies between McMaster University courses. Text descriptions were scraped from the official website and parsed into a tree modelling the logical dependencies between courses. On the browser end, these trees are recursively merged into a graph to visualize the full dependence structure starting from prerequisite-free courses.
Analysis of Kanji usage frequency in Japanese speaking subreddits. Data collected with the reddit API, visualizations generated using d3.js and some basic html/css. This was written quite a long time ago.
Implemetation of "A Linear Programming Approach for Optimal Contrast Tone Mapping" in MATLAB. Enhances the contrast of color images under poor lighting using a contrast mapping technique defined by linear programming constraints.
A rover which detects recyclable cans using computer vision and collects them to a disposal area. Created a UI to label bounding boxes for objects as training data. Trained a Faster R-CNN ResNet101 to detect the objects. Raspberry Pi rover camera wirelessly transmits images to a remote server, which detects objects using the CNN and sends back locations for the rover to go to. Final year capstone project, completed in a group of 4.