Projects

  • Home
  • Projects
  • Skills & Experiences
  • About me
  • Contact

Rover with Facial Recognition Capabilities

Developed a rover with facial recognition capabilities utilizing Raspberry Pi and transfer learning (CNNs).

Lastname Analyzer

Developed a machine learning web app with a Flask backend and a React frontend, and deployed using Azure.

Customer Shopping Trends Dashboard

Published a dashboard on Customer Shopping Trends using Tableau.

Maze Solver

Solved maze through image processing and reinforcement learning techniques.

Cliff Walking

Experimented with temporal difference methods, specifically Sarsa and Q-Learning




Rover with Facial Recognition Capabilities

Github

This is a rover with facial recognition capabilities that I developed for my capstone project in my Master’s degree in Computer Science. The rover detects a user's face and classifies them as either a child or an adult. For adults, the rover enables control through Blue Dot, an Android app installed on my tablet. If classified as a child, the rover moves backward and advises that permission from a parent or guardian is required.

The design and development process consists of two main parts: hardware and software.


Hardware Design

The hardware design involves building the physical robot using Raspberry Pi. I integrated a camera, a speaker, wheels, motors, and motor drivers, etc., for user interaction and motion.

Software Design

The software design focuses on training machine learning models. I conducted experiments using transfer learning with Convolutional Neural Networks, specifically MobileNet V.2, developed by Google and implemented using TensorFlow. By using depthwise-separable convolutions and residual connections, MobileNets v2 can be deployed with low computational cost, optimized for mobile and embedded vision applications:


Based on the above-mentioned MobileNet v.2, I trained and compared three different models as follows:

The following compares the performance of three different models:

The main libraries used for this project include TensorFlow, OpenCV, PiCamera2, NumPy, Matplotlib, libcamera, gpiozero, pygame, and BlueDot.


Lastname Analyzer

Website Github

This application accepts a last name as user input and provides its predicted ethnic origin. I created this web app with a Flask backend and React frontend, deployed through Azure Web Services. I utilized TensorFlow to train deep neural networks, incorporating Natural Language Processing and Recurrent Neural Networks. The deep neural network model is designed to predict ethnicity based on a last name. It begins with the input layer, where a last name is taken as input. The input undergoes a data masking process ('MASK' layer). The masked data is then forwarded to the LSTM (Long Short-Term Memory) layer, consisting of 256 nodes. After masking, it is flattened and enters the "Dense" layer, which includes two layers with ReLU activation functions featuring 128 and 64 "neurons," respectively. Finally, the output layer, built with a Softmax activation function, predicts ethnicity based on the user input (last name).


Customer Shopping Trends Dashboard

This dashboard is created using Tableau and is based on the Customer Shopping Trends Dataset from Kaggle.

Kaggle Dataset



Maze Solver Using Reinforcement Learning techniques

(CS138 Reinforcement Learning) Team project

Github

Images of square mazes with varying complexities are randomly chosen and downloaded from Google, then processed through image processing to convert them into a grid suitable for a Markov Decision Process. Different Reinforcement Learning techniques, including Dynamic Programming, Temporal Difference, and Deep Q Reinforcement Learning, are employed to solve the maze, and their performance is compared. I led this team project, and technically contributed by coding for the image processing, creating the learning environment, and training the model with Dynamic Programming.




Cliff Walking: Comparison of Sarsa and Q-Learning

Github

Cliff Walking is an environment within a grid world featuring a cliff. The task involves finding an optimal path from the starting state to the goal state without falling off the cliff. I compared the performance of Sarsa and Q-Learning in the Cliff Walking scenario. Additionally, I experimented with different hyperparameters.



Contact me

Do you have any questions? Do you want to collaborate with me? Please do not hesitate to contact me!

  • Github
  • Linkedin
  • Medium