Nana Casmana Ade WikartaAI Systems
Back to projects

Computer Vision / Classification

VGG Trash Image Classifier

A deep learning classifier that sorts trash images into categories : plastic, cardboard, glass, metal, paper, and general waste : using VGG16.

Project statusDemo
PythonTensorFlowVGG16CNNJupyter Notebook

Overview

A transfer learning project using VGG16 to classify waste images into recyclable categories. The model distinguishes between plastic, cardboard, glass, metal, paper, and general trash to support automated waste sorting systems.

Problem

Waste management facilities rely on manual sorting, which is slow, inconsistent, and expensive. Automated image classification can improve throughput and recycling rates.

Goal

Build a trash classifier using transfer learning that achieves reliable accuracy across common waste categories.

Architecture

  • VGG16 base model with custom classification head.
  • Image preprocessing pipeline for augmentation and normalization.
  • Training and evaluation pipeline with accuracy and loss tracking.
  • Inference script for single-image classification.

System Flow

Input

Training images are loaded, augmented, and normalized.

Process

VGG16 base extracts features from each image.

AI Layer

Custom classifier head maps features to waste categories.

Storage/API

Model outputs class probabilities for inference inputs.

Tech Stack

PythonTensorFlowVGG16CNNJupyter Notebook

Key Features

  • Six-class waste classification.
  • Transfer learning from VGG16 ImageNet weights.
  • Training visualization with accuracy and loss curves.
  • Single-image inference with class probabilities.

AI / ML Component

  • VGG16 convolutional base for feature extraction.
  • Custom dense layers for waste category classification.
  • Data augmentation for model generalization.

Data Flow

  1. 1Training images are loaded, augmented, and normalized.
  2. 2VGG16 base extracts features from each image.
  3. 3Custom classifier head maps features to waste categories.
  4. 4Model outputs class probabilities for inference inputs.

Challenges

  • Limited dataset size for some waste categories.
  • Visual similarity between certain material types (e.g., plastic vs. glass).
  • Generalizing to real-world images with varying backgrounds and lighting.

Solution / Trade-off

  • Use transfer learning instead of training from scratch to work with limited data.
  • Accept higher uncertainty for similar-looking materials.
  • Prioritize per-class recall over overall accuracy for safety-critical categories.

Result

Trained VGG16 classifier achieving reasonable accuracy on test data. Full training pipeline with visualization and inference scripts.

Screenshot / Demo Placeholder

/images/trash-classifier-placeholder.png

Replace this area with real screenshots, dashboard captures, architecture diagrams, or a short demo video once the asset is ready.

GitHub / Live Link Placeholder

What I Would Improve

  • Collect more training data for underrepresented categories.
  • Test newer architectures like EfficientNet for comparison.
  • Build a real-time classification demo.