Projects
Here is a portfolio of my personal and academic projects.
I want to better myself, so I would appreciate any feedback on my work. If you have suggestions with regards to this website, my work, or if you just want to chat, please, feel free to contact me.
Publications
We demonstrate how to efficiently deploy our adaptive video segmentation algorithm on a smartphone powered by a Qualcomm Snapdragon® Mobile Platform. Rather than simply running the entire algorithm on the GPU, we adopt a cross-unit deployment strategy. The main network, which will be frozen during test time, will perform inferences on a highly optimized AI accelerator unit, while the small auxiliary network, which will be updated on the fly, will run forward passes and back-propagations on the GPU. Such a deployment scheme best utilizes the available processing power on the smartphone and enables real-time operation of our adaptive video segmentation algorithm.
Our demonstration won the “Best Demo Honorable Mention #1” Award.
- Published in: 2022 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)
- Date of Conference: 18-24 June 2022
- Paper:
- Video:
Graduate Projects
I served as a team lead for my final project group for the Machine Learning for Image Processing course. We analyzed the performance of two (at the time) state-of-the-art deep learning algorithms, YOLOv3 and Faster R-CNN.
We implemented both training and testing for both architectures and probed them using PASCAL VOC and COCO data sets. We inspected the pace of training and conjectured efficient strategies for domain-specific transfer learning.
Suitability of the algorithms for a variety of application was considered. It was found that YOLO is suitable for time-sensitive tasks (like AI-controlled driving), while intermediate outputs of R-CNN can be used for more accurate environment mapping.
Our team utilized the autoencoder neural network architecture to compose loopy video game music.
Our composer generated 16-bar MIDI single-instrument piano rolls where each note is played with the stoccato articulation. This permitted us to ignore the length of each note played and concentrate on learning melodic structure.
We wrote a paper to report on our findings and outline techniques used in detail.
K-means Clustering is a fundamental unsupervised learning algorithm. Our team wrote a low-level implementation of this algorithm in NVIDIA CUDA with OpenGL interoperability.
We performed Principal Component Analysis on the MNIST dataset using cuSOLVER library to embed it in three dimensions and then we performed clustering in 3D space.
I primarily worked on the OpenGL visualization.
- Collaborators:
- Time Period: April-June 2018
Undergraduate Projects
Pharo Bike Lock is our final undergraduate design project (ECE 140A/B), which was modeled as a start-up. Agile methodology led us to creation of modular components, which are independent and composable. This permitted us to continue working on the technical development during the process of product discovery.
We utilized Swift, Raspberry Pi, and Flask to create this bike lock. I primarily worked on Raspberry Pi programming and circuit design.
- Collaborators:
- Time Period: April-June 2018
We implemented cross-platform SQL column-oriented database management system for the Software Foundations II course using C++11 programming language.
On top of primary CRUD functionality we implemented caching and indexing to speed up the performance of our system.
Due to academic integrity, we cannot post a public link to our code, so if you are interested in it, please contact me.
- Collaborators: Zhouhang Shao
- Time Period: April-June 2018
We implemented Linux file archiver for the Software Foundations I course using C++11 programming language.
We used block-store flat file system as the basis of our application, and I implemented defragmentation to keep our archives slim.
Due to academic integrity, we cannot post a public link to our code, so if you are interested in it, please contact me.
- Collaborators:
- Time Period: February-March 2018
Space is my first attempt in creating a computer game. I started it mostly to show my little brother what programming can do.
This game is a side-scrolling space shooter, where the goal is to survive to get the highest score.
The game was developed using the PyGame library. All game assets were created in Microsoft Paint3D.
Los Angeles Crime Visualization is my first full-blown data science project. For the project, we took a look at the Los Angeles Crime Data from 2010 to 2017.
We utilized the ArcGIS Python API to create a heat map of crime in LA, MatPlotLib for charts and Regular Expressions to pre-process the dataset
I primarily worked on data pre-processing and the heat map.
- Collaborators:
- Time Period: October-December 2017
Originally an idea by awesome Stazia Tronboll, the WeatherBox Lamp is my first IoT device that is based on the Arduino platform.
We created a lamp, which is capable of reproducing rain, mist and different lighting settings depending on the current weather in the location of interest. The purpose of this is to create interior ambiance that is comparable to the local weather.
I primarily worked on structural and circuit design.
- Collaborators:
- Time Period: October-December 2017
The line-following vehicle marks the beginning of my passion towards everything hands-on. This project was created to compete in GrandPrIEEE Design Competition.
The project consisted of a motor driver, line-scan camera and PID controller (as the chassis was acquired separately).
I was the official team lead for my team. This experience taught me how to approach people, and deal with technical problems that arise on the path of creation.
- Collaborators:
- Time Period: 2016-2017 Academic Year