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.