Ian Yap

Portfolio

data-driven engineer
project leader
aspiring AI/ML practitioner

Collection of Computer Vision & NLP projects

Cone Distance Measurement
(Object Detection + Pixel Conversion)

► Employed YOLOv8 model to detect traffic cones in images and illustrate the path layout through OpenCV.
► Pixel distance between each cone is converted into real-world distance utilizing camera and image info extracted from image metadata.

Image GPS Extraction
(Data Extraction + GPS Plotting)

Extracted GPS coordinates from images taken after waiting 2 and 10 seconds.
Converted raw GPS info from image metadata to standard format.
Plotted the GPS coordinates of each image on an interactive folium map to study the difference in GPS accuracy when taking images after waiting 2 and 10 seconds.

Segregated Object Counting Pipeline
(Object Detection + Tracking + Counting)

► Developed flexible multi-object/region tracking and counting solution with YOLO integration. (OOP)
► Comprehensive class structure facilitates straightforward customization of tracking parameters and UI elements.
► Seamless integration of YOLO-based object detection models.
► Reusable across different projects and applications.

Outfit Scoring Application
(Instance Segmentation + Clothing Annotation)

► Created an application that identifies an individual's outfit, evaluates it based on the garments worn, and provides recommendations to enhance its rating.
Real time pixel segmentation and position tracking of garments worn with scoring and recommendation system.
► Labeled and utilized segmentations of a custom dataset comprising images of various clothings for model training.
► Custom trained model has 32.7% higher mask precision than base model.

Pneumonia X-Ray Classifier
(Image Classification + Web Deployment)

► Created a custom CNN image classification model to detect signs of pneumonia from chest X-ray images.
► Leveraged transfer learning on InceptionResNetV2 model to achieve 93.9% accuracy on detection with 99% recall on pneumonia predictions.
► Utilized Streamlit to deploy the custom model online.

Twitter Sentiment Analysis
(NLP Text Classification + BERT LLM)

► Fine-tuned a BERT LLM model to predict sentiments of user posts on Twitter.
► Leveraged transfer learning to train on 'distilbert-base-uncased' model in native PyTorch.
► Utilized Streamlit to deploy model online.

Document Text Processing
(Data Extraction + BART LLM Summarization + Web Deployment + API)

► Performed information extraction and summarization on resumes in PDF format using RegEx and BART LLM.
► Deployed the app online using Streamlit where summarization is done via API call to HuggingFace's inference API.

Dynamic Court Mapping
(Perspective Transform + Keypoint Detection)

► Performed perspective transform on tennis game to map player and ball movements in bird's-eye view.
► Fine-tuned YOLOv8 and ResNet50 models to detect players, balls and court keypoints.
► Individual detection data could be used for shot speed and player speed analysis.

Malaysia Road Obstacle Detection
(Custom Dataset Labeling + Training)

► Constructed road obstacle detection system tailored to Malaysian road obstacles.
► Labeled and utilized custom dataset comprising images of road obstacles in Malaysia for model training.
► Custom trained model has 15.7% higher precision than base model.

Tesla Stock Prediction Study
(RNN Time Series + LSTM + GRU)

► Study on feasibility of stock prediction using RNN.
► Stock prices are mostly affected by unpredictable external events where the model is not aware of.
► Model cannot predict an accurate price as stock prices can't be predicted based on its own values.

Unified Vehicle Counting System
(YOLOv8 + OpenCV)

► Created a vehicle counting system which aggregates counting of all types of vehicles in designated lanes.
► The model disregards detection on insignificant vehicles.