Joshua Chen

Hi there! My name's Josh, and welcome to my personal website. I enjoy designing and automating stuff. Showcased on this site are my grad school research endeavors and various projects, both academic and personal.

Academic Synopsis

University of California, Riverside

M.S in Electrical Engineering | 2020-2022

Cumulative GPA: 3.70

Thesis: Vision Based Model for Xylem Water Detection

University of California, Riverside

B.S in Mechanical Engineering | 2016-2020

Cumulative GPA: 3.62

Concentration: Design & Manufacturing

Skills

Software


Python

PyTorch

Matlab

Arduino

Raspberry Pi

Solidworks

HTML

C++

Research

My research at UCR's ARCS (Autonomous Robots and Control Systems) Lab involves the designing of an autonomous smart pressure chamber system to be mounted on a robot for in-situ field testing of stem water potential of crops. The pressure chamber method of measuring stem water potential is one of the most widely employed and proven methods in the industry, but it comes with its grievances: Lack of scalability and potentially dangerous to operate. At ARCS, one of our goals is to automate the SWP measurement process to increase the safety, precision, and efficiency over the current method.

The focus of my research within the Agrobotics team has been to develop a computer vision model to take stem water potential measurements from avocado crops using the Scholander pressure chamber. These measurements are significant in agriculture becuase they are used as a proxy for orchard health and determine the optimal irrigation schedules for orchards. While building my vision model, I have also compiled a novel image dataset of wet and dry xylems from avocado and orange crops. My group intends to publish this dataset publicly and we have recently published a paper in the IEEE Robotics and Automation Magazine (IEEE-RAM). This paper has also been accepted to the International Conference on Robotics and Automation (ICRA 2024) in Yokohama, Japan.

The current results yielded by my vision model prove the potential and validity of our work, with the YOLOv5 CNN-based object detector we trained scoring high testing accuracy and a mAP score of 99.5%. The robust model was also able to discern between dry and wet xylem states between two different camera configurations, each with several different water expression cases. Most recently, we have trained and tested the newly released YOLOv6 and YOLOv7 networks. Both of these saw an improvement in overall accuracy and confidence, and they both can generalize well on the xylem dataset.

Projects

Here are some of the projects I have been involved in recently. Professional, academic, and personal projects are all featured. My most recent focus has been on machine intelligence and perception.

Highlander Airmore_vert

Details

Highlander Airclose

One of the only airplane design teams at the University of California, Riverside. Highlander Air's primary objective is to expose more UCR students to aerospace engineering design through hands-on experience.


Position Held: Project Lead

Convolutional Neural Network with PyTorchmore_vert

Details

Convolutional Neural Network with PyTorchclose

This project involved building and training a convolutional neural network (CNN) from scratch using PyTorch and the CIFAR-10 image dataset. The image classifier model was then evaluated on a test set.


Software and Packages: Python | PyTorch

Two-Layer Neural Networkmore_vert

Details

Two-Layer Neural Networkclose

This project involved implementing forward and backward pass, testing different loss functions, and tuning hyperparameters for multi-layer perceptrons. The two layer fully connected network is defined by a fully connected layer, followed by a ReLU activation, then followed by another fully connected layer and softmax layer. The network was trained on the CIFAR-10 dataset.


Software: Python | Google Colab

KNN Digit Classifiermore_vert

Details

KNN Digit Classifier for MNIST Dataclose

KNN (K Nearest Neighbors) is a supervised learning paradigm that classifies data on the premise of proximity to labelled data. This project involves classifying digits from the MNIST dataset with a KNN classifier implemented from scratch. The final performance of my KNN classifier attained a 96% quality metric with k=3 neighbors and 97% with k=1 neighbor.


Software: Python

Conceptual: K Nearest Neighbors | Supervised learning

Robotic Motion Planningmore_vert

Details

Robotic Motion Planning with Turtlebotclose

The objective of this project is to use motion planning and trajectory generation algorithms to help the turtlebot navigate a real-world environment from start to goal without colliding with any obstacles.


Software: Python | Linux

Conceptual: Motion Planning | A* Algorithm | Polynomial Time Scaling

Expectation Maximizationmore_vert

Details

Expectation Maximization Algorithmclose

Expectation Maximization (EM) is an unsupervised learning paradigm, and this page contains two projects where I implemented the method from scratch in Matlab. The first project uses EM to segment a colored image using k=2 clusters while the second project uses the algorithm to determine the likely genders associated with some given unlabelled height data points.


Software: Matlab

Conceptual: Expectation Maximization Algorithm | Unsupervised learning | Color-based image segmentation

Heart Disease Analysismore_vert

Details

Heart Disease Analysisclose

This project explores the Heart Disease Data Set from the UCI Machine Learning Repository, and uses various machine learning models to predict an individual’s risk of having heart disease. The different models are compared for their classification accuracy and the least influential features are omitted for the following experimental run in hopes of improving classifier performance.


Software and Packages: Python | Sklearn

Particle Filter (Kalman Filter)more_vert

Details

Particle Filter Algorithmclose

The particle filter algorithm is a type of machine learning algorithm designed to help robots navigate a known map when placed at a random location within the map.


Software: Matlab

Conceptual: Bayesian Statistical Inference | Time Propagation

Highlander Block Partymore_vert

Details

Highlander Block Partyclose

Highlander Block Party is one of my personal projects in the popular video game Minecraft. It is a virtual recreation of the UC Riverside campus, all in a single world file in Minecraft. The project was founded by my colleague and me back when the pandemic lockdown first started. Since then, it was publicized and some UCR students joined the build effort to create UCR's official Minecraft world.


Position Held: Project Founder