A structured computer-vision portfolio containing seven completed Convolutional Neural Network projects across medical-image segmentation, object detection, medical-image classification, residual learning, fine-grained classification, satellite-image segmentation, transfer learning, model comparison, explainability, and browser-based inference.
Each project is developed as an end-to-end case study with task-specific preprocessing, model training or transfer learning, evaluation, reusable source code, deployment assets, automated validation, responsible-use guidance, and a publicly accessible application.
Portfolio status: 7 completed and deployed projects
Repository owner: Anmol Tripathi
Deployment portfolio: 4 Vercel applications · 3 GitHub Pages applications
This repository demonstrates how Convolutional Neural Networks and modern computer-vision architectures can be applied across classification, detection, segmentation, transfer learning, explainability, and browser-side deployment.
Each project is designed to move beyond notebook-only experimentation and generally contains:
- a clearly defined computer-vision problem;
- reproducible image preprocessing;
- deterministic data splitting where applicable;
- a task-appropriate CNN architecture;
- transfer learning or from-scratch training;
- task-specific evaluation metrics;
- model comparison where meaningful;
- saved reports, charts, predictions, and deployment assets;
- modular source code and reusable utilities;
- automated testing or GitHub Actions validation;
- an interactive public demonstration;
- responsible-use guidance;
- transparent limitations and future improvements.
The portfolio is intended to demonstrate skills relevant to:
- Data Science;
- Machine Learning;
- Applied Artificial Intelligence;
- Computer Vision;
- Deep Learning;
- Image Analytics;
- Quality Analytics;
- Analytics Engineering;
- AI application development;
- browser-based machine learning deployment.
| No. | Project | Computer-Vision Problem | Primary Deployment | Status |
|---|---|---|---|---|
| 1 | Medical Image Segmentation with U-Net | Pixel-level medical-image segmentation | Vercel | Live Demo |
| 2 | Object Detection Using CNN | Object localization and classification | Vercel | Live Demo |
| 3 | DenseNet Medical Image Classification | Transfer-learning medical-image classification | GitHub Pages | Live Demo |
| 4 | Image Classification with ResNet50 and TensorFlow.js | Residual-network image classification and browser inference | GitHub Pages | Live Demo |
| 5 | Fine-Grained Image Classification with VGG16 | Fine-grained visual-category classification | Vercel | Live Demo |
| 6 | Satellite Image Segmentation with U-Net | Semantic segmentation of satellite imagery | Vercel | Live Demo |
| 7 | CNN Model Comparison with AlexNet-Style Networks and MobileNetV2 | From-scratch CNN comparison, transfer learning, explainability, and ONNX deployment | GitHub Pages | Live Demo |
| Coverage Area | Projects |
|---|---|
| Medical-image segmentation | Project 01 |
| Object detection | Project 02 |
| Medical-image classification | Project 03 |
| Residual learning | Project 04 |
| Fine-grained image classification | Project 05 |
| Satellite-image segmentation | Project 06 |
| From-scratch CNN development | Project 07 |
| Transfer learning | Projects 03, 04, 05, and 07 |
| U-Net architecture | Projects 01 and 06 |
| Dense connectivity | Project 03 |
| Residual networks | Project 04 |
| VGG architecture | Project 05 |
| AlexNet-style architecture | Project 07 |
| MobileNetV2 fine-tuning | Project 07 |
| Explainability | Project 07 |
| TensorFlow.js browser inference | Projects 03 and 04 |
| ONNX Runtime Web | Project 07 |
| Static deployment | Projects 03, 04, and 07 |
| Full web application deployment | Projects 01, 02, 05, and 06 |
| Automated validation | All seven projects |
The projects are intentionally varied so that the repository demonstrates multiple CNN families, application domains, training strategies, evaluation methods, and deployment patterns.
- Medical Image Segmentation with U-Net demonstrates pixel-level prediction for medical imagery.
- Satellite Image Segmentation with U-Net applies semantic segmentation to geospatial and satellite-image data.
These projects demonstrate:
- encoder-decoder CNNs;
- skip connections;
- pixel-level classification;
- segmentation masks;
- image-mask preprocessing;
- Dice-oriented evaluation;
- Intersection over Union;
- qualitative overlay inspection;
- deployment of segmentation results.
- Object Detection Using CNN demonstrates the combined tasks of locating objects and assigning classes.
This project demonstrates:
- bounding-box prediction;
- class prediction;
- image annotation;
- confidence thresholds;
- non-maximum suppression concepts;
- localization and classification evaluation;
- browser-facing detection results.
- DenseNet Medical Image Classification demonstrates dense connectivity and medical-image transfer learning.
- ResNet50 Image Classification demonstrates residual learning and TensorFlow.js deployment.
- Fine-Grained Image Classification with VGG16 focuses on visually similar categories.
- Project 07 compares from-scratch CNNs with frozen and fine-tuned MobileNetV2.
These projects demonstrate:
- image preprocessing;
- convolutional feature extraction;
- class-probability estimation;
- transfer learning;
- partial fine-tuning;
- controlled model comparison;
- class-level evaluation;
- browser-side inference.
Project 07 extends classification beyond aggregate accuracy by including:
- confusion matrices;
- per-class precision, recall, and F1;
- high-confidence error analysis;
- Grad-CAM visualizations;
- corruption and robustness testing;
- calibration metrics;
- model-size and latency comparison.
The portfolio uses two deployment strategies:
- Vercel for four interactive web applications;
- GitHub Pages for three static browser-inference applications.
The GitHub Pages applications are built into one combined deployment artifact so that Projects 03, 04, and 07 remain online simultaneously without overwriting one another.
This project applies a U-Net-style encoder-decoder CNN to medical-image segmentation. It focuses on predicting a pixel-level mask rather than one class for the entire image.
Key capabilities:
- medical-image preprocessing;
- image-mask alignment;
- U-Net encoder-decoder architecture;
- skip connections;
- segmentation-mask prediction;
- Dice and overlap-oriented evaluation;
- qualitative image-mask visualization;
- interactive web deployment.
This project demonstrates object detection by combining visual feature extraction with object localization and class prediction.
Key capabilities:
- image upload and validation;
- object localization;
- bounding-box rendering;
- class-confidence presentation;
- detection-result visualization;
- reusable inference workflow;
- interactive Vercel application.
This project uses DenseNet transfer learning for medical-image classification and publishes a browser-based application through GitHub Pages.
Key capabilities:
- DenseNet architecture;
- dense feature reuse;
- transfer learning;
- medical-image preprocessing;
- class-level evaluation;
- confusion-matrix analysis;
- TensorFlow.js browser model;
- static GitHub Pages deployment.
This project uses a ResNet50 transfer-learning pipeline and deploys the converted model for direct browser inference with TensorFlow.js.
Key capabilities:
- residual connections;
- ResNet50 transfer learning;
- image classification;
- model evaluation;
- TensorFlow.js conversion;
- browser-side preprocessing;
- local browser inference;
- GitHub Pages deployment.
This project uses VGG16 transfer learning for fine-grained classification, where categories can share similar visual structures and require more detailed feature discrimination.
Key capabilities:
- VGG16 architecture;
- transfer learning;
- fine-grained category recognition;
- image augmentation;
- class-level evaluation;
- prediction-confidence presentation;
- interactive Vercel deployment.
This project applies a U-Net segmentation pipeline to satellite imagery for pixel-level scene understanding.
Key capabilities:
- satellite-image preprocessing;
- geospatial image segmentation;
- U-Net architecture;
- image-mask visualization;
- overlap-oriented evaluation;
- prediction overlays;
- interactive Vercel application.
This project compares a Simple CNN, an AlexNet-style CNN trained from scratch, frozen MobileNetV2, and partially fine-tuned MobileNetV2 on a controlled four-class image-classification task. The strongest model is selected using macro F1, exported to ONNX, explained with Grad-CAM, tested for robustness, and deployed through ONNX Runtime Web.
Key capabilities:
- Simple CNN baseline;
- AlexNet-style CNN from scratch;
- MobileNetV2 transfer learning;
- partial fine-tuning;
- controlled four-model comparison;
- accuracy, balanced accuracy, precision, recall, and F1;
- top-2 accuracy and ROC-AUC;
- calibration metrics;
- robustness analysis;
- Grad-CAM explainability;
- ONNX export;
- browser inference;
- GitHub Pages deployment.
Selected deployment model: Fine-tuned MobileNetV2
Test accuracy: 91.03%
Macro F1: 90.89%
Top-2 accuracy: 98.74%
| Architecture Family | Demonstrated Through |
|---|---|
| U-Net | Projects 01 and 06 |
| Generic CNN feature extraction | Projects 02 and 07 |
| DenseNet | Project 03 |
| ResNet50 | Project 04 |
| VGG16 | Project 05 |
| AlexNet-style CNN | Project 07 |
| MobileNetV2 | Project 07 |
| Encoder-decoder segmentation | Projects 01 and 06 |
| Residual learning | Project 04 |
| Dense connectivity | Project 03 |
| Depthwise-separable convolution | Project 07 |
| Transfer learning | Projects 03, 04, 05, and 07 |
| From-scratch CNN training | Project 07 |
The projects use evaluation methods aligned with the actual task instead of relying on one universal metric.
| Task | Evaluation Methods |
|---|---|
| Image segmentation | Dice coefficient, Intersection over Union, pixel overlap, qualitative mask review |
| Object detection | Localization quality, class confidence, predicted boxes, qualitative inspection |
| Image classification | Accuracy, precision, recall, macro F1, weighted F1, confusion matrices |
| Fine-grained classification | Class-level metrics, confidence analysis, error review |
| Model comparison | Controlled splits, macro F1, parameters, size, latency |
| Calibration | Negative log likelihood, Brier score, expected calibration error |
| Robustness | Corruption-specific macro F1 and drop from clean performance |
| Explainability | Grad-CAM activation overlays |
| Browser deployment | Required-file validation, model loading, JavaScript syntax, static-asset checks |
- Accuracy alone can hide weak minority-class performance.
- Segmentation requires pixel-level overlap measures.
- Detection must evaluate both localization and category prediction.
- Fine-grained classes often require per-class error analysis.
- Softmax confidence is not automatically a calibrated probability.
- Latency and model size affect deployment feasibility.
- Browser performance depends on hardware, runtime, and model format.
- Explainability visualizations support inspection but do not prove causal reasoning.
The repository demonstrates the complete path from an idea to a public application:
- problem definition;
- dataset acquisition;
- image validation;
- preprocessing;
- augmentation;
- deterministic splitting;
- architecture selection;
- transfer learning or from-scratch training;
- checkpoint preservation;
- evaluation;
- error analysis;
- saved artifacts;
- reusable inference code;
- testing;
- CI validation;
- application development;
- public deployment;
- documentation;
- responsible-use communication.
The projects do not assume that the largest or newest architecture is automatically the best.
Examples include:
- transfer-learning models evaluated against task-specific baselines;
- Project 07 comparison of four CNN strategies;
- deployment selection based on macro F1 rather than only accuracy;
- robustness testing before presenting the selected model;
- ONNX and browser artifacts validated before deployment;
- model-size and latency trade-offs documented.
The repository includes practices needed for dependable experimentation and inference:
- modular source files;
- reusable preprocessing;
- deterministic seeds;
- consistent feature and label mappings;
- safe handling of invalid inputs;
- metadata and configuration recording;
- training-history preservation;
- checkpoint and artifact verification;
- project-specific tests;
- project-specific GitHub Actions workflows;
- one controlled combined GitHub Pages deployment;
- large-file and virtual-environment protection through
.gitignore; - deployment assets separated from training environments.
The seven projects intentionally use two deployment approaches.
| Platform | Projects | Purpose |
|---|---|---|
| Vercel | 4 | Interactive web applications for segmentation, detection, and classification |
| GitHub Pages | 3 | Static TensorFlow.js and ONNX browser-inference applications |
| Project | Platform | URL |
|---|---|---|
| Project 01 | Vercel | https://medical-image-segmentation-unet.vercel.app/ |
| Project 02 | Vercel | https://cnn-object-detection.vercel.app/ |
| Project 03 | GitHub Pages | https://unit-mole.github.io/cnn-projects/03-densenet-medical-image-classification/ |
| Project 04 | GitHub Pages | https://unit-mole.github.io/cnn-projects/04-image-classification-resnet/ |
| Project 05 | Vercel | https://vgg16-fine-grained-image-classifica.vercel.app/ |
| Project 06 | Vercel | https://satellite-image-segmentation-unet.vercel.app/ |
| Project 07 | GitHub Pages | https://unit-mole.github.io/cnn-projects/ |
This demonstrates the ability to select a deployment method based on runtime needs rather than using one platform for every project.
Projects 03, 04, and 07 share one repository-level GitHub Pages site.
Combined GitHub Pages artifact
│
├── / → Project 07
├── /03-densenet-medical-image-classification/
├── /04-image-classification-resnet/
└── /07-image-classification-alexnet-transfer-learning/
Only the combined workflow performs the Pages deployment:
.github/workflows/cnn-projects-pages.yml
The individual Project 03, 04, and 07 workflows perform validation only. This prevents one project from overwriting the other deployed applications.
The repository is organized as a monorepo.
cnn-projects/
├── .github/
│ └── workflows/
│ ├── 01-image-segmentation-unet-medical-imaging.yml
│ ├── 02-object-detection-using-cnn.yml
│ ├── 03-densenet-medical-image-classification.yml
│ ├── 04-image-classification-resnet.yml
│ ├── 05-fine-grained-image-classification-vgg16.yml
│ ├── 06-satellite-image-segmentation-unet.yml
│ ├── 07-image-classification-alexnet-transfer-learning.yml
│ └── cnn-projects-pages.yml
│
├── 01-image-segmentation-unet-medical-imaging/
├── 02-object-detection-using-cnn/
├── 03-densenet-medical-image-classification/
├── 04-image-classification-resnet/
├── 05-fine-grained-image-classification-vgg16/
├── 06-satellite-image-segmentation-unet/
├── 07-image-classification-alexnet-transfer-learning/
├── .gitignore
├── LICENSE
└── README.md
A typical individual project may contain:
project-folder/
├── data/
├── images/
├── models/
├── notebooks/
├── outputs/
├── scripts/
├── src/
├── tests/
├── web/
├── deployment configuration
├── README.md
├── requirements.txt
└── supporting metadata and reports
The exact files differ by task, but the standards remain consistent:
- reproducible workflows;
- modular code;
- task-appropriate evaluation;
- public deployment;
- automated validation;
- safe repository practices;
- transparent limitations;
- portfolio-quality documentation.
The repository uses project-specific GitHub Actions workflows.
Depending on the project, CI validates:
- required folder and file structure;
- Python source syntax;
- JavaScript syntax;
- JSON validity;
- notebook JSON validity;
- pytest test suites;
- model configuration;
- static application assets;
- README image references;
- TensorFlow.js model presence;
- ONNX model presence and size;
- browser deployment paths;
- oversized files;
- accidental checkpoint or secret inclusion.
Project workflows run only when their relevant project folders or workflow files change.
The repository-level Pages workflow:
- checks out the repository;
- prepares the Project 03 browser model when required;
- verifies browser assets for Projects 03, 04, and 07;
- assembles one combined
_sitedirectory; - uploads one Pages artifact;
- deploys that artifact through the
github-pagesenvironment.
Each project contains detailed setup instructions. The general workflow is:
git clone https://github.com/unit-mole/cnn-projects.git
cd cnn-projectscd 07-image-classification-alexnet-transfer-learningReplace the folder name with the project you want to run.
Windows
py -3.12 -m venv .venv
call .venv\Scripts\activate.batmacOS / Linux
python3.12 -m venv .venv
source .venv/bin/activatepython -m pip install --upgrade pip
python -m pip install -r requirements.txtSome training workflows use a separate file such as:
python -m pip install -r requirements-training.txtProjects may run through:
- Jupyter notebooks;
- Python scripts;
- local HTTP servers;
- static browser applications;
- Vercel development servers.
Always follow the instructions in the selected project's README.md.
This repository is intended for education, experimentation, technical demonstration, and portfolio presentation.
General limitations include:
- image datasets may not represent real deployment populations;
- pretrained models can inherit biases from their original training data;
- medical-image demonstrations are not clinical diagnostic systems;
- segmentation masks may miss or falsely include regions;
- object detectors may miss small, occluded, or unsupported objects;
- confidence scores may not be calibrated probabilities;
- visual models may fail on out-of-distribution images;
- browser performance varies by device and runtime;
- benchmark results should not be generalized beyond the evaluated configuration;
- portfolio models are not automatically production-ready;
- no application should be used as the sole basis for medical, safety-critical, financial, legal, hiring, insurance, quality-release, or production decisions.
Important outputs should be verified through trusted sources, domain expertise, and additional validation.
| Area | Demonstrated Through |
|---|---|
| Medical-image segmentation | Project 01 |
| Object detection | Project 02 |
| Medical-image classification | Project 03 |
| Dense connectivity | Project 03 |
| Residual learning | Project 04 |
| TensorFlow.js browser inference | Projects 03 and 04 |
| Fine-grained image classification | Project 05 |
| Satellite-image segmentation | Project 06 |
| U-Net architecture | Projects 01 and 06 |
| CNN training from scratch | Project 07 |
| AlexNet-style architecture | Project 07 |
| MobileNetV2 fine-tuning | Project 07 |
| Controlled model comparison | Project 07 |
| Calibration analysis | Project 07 |
| Grad-CAM explainability | Project 07 |
| Robustness evaluation | Project 07 |
| ONNX conversion | Project 07 |
| ONNX Runtime Web | Project 07 |
| Vercel deployment | Projects 01, 02, 05, and 06 |
| GitHub Pages deployment | Projects 03, 04, and 07 |
| CI/CD | All seven projects |
Convolutional Neural Networks · Computer Vision · Deep Learning · Python · TensorFlow · Keras · PyTorch · torchvision · Image Segmentation · Object Detection · Image Classification · Medical Imaging · Satellite Imaging · U-Net · DenseNet · ResNet50 · VGG16 · AlexNet · MobileNetV2 · Transfer Learning · Fine-Tuning · Data Augmentation · Class-Weighted Training · Accuracy · Precision · Recall · F1-Score · Dice Coefficient · Intersection over Union · Confusion Matrices · Calibration · Robustness Testing · Grad-CAM · TensorFlow.js · ONNX · ONNX Runtime Web · JavaScript · HTML · CSS · Vercel · GitHub Pages · Testing · GitHub Actions · CI/CD · Responsible AI Communication
One-line description: Seven end-to-end CNN projects spanning medical and satellite segmentation, object detection, DenseNet, ResNet50, VGG16, AlexNet-style networks, MobileNetV2 transfer learning, explainability, TensorFlow.js, ONNX browser inference, Vercel, and GitHub Pages deployment.
Pinned repository description: Professional computer-vision portfolio featuring seven deployed CNN projects across segmentation, detection, classification, transfer learning, from-scratch architecture development, model comparison, Grad-CAM, robustness evaluation, TensorFlow.js, ONNX Runtime Web, project-specific CI, Vercel, and GitHub Pages.
This portfolio connects naturally to a Quality Data Scientist background because computer-vision systems can support:
- visual inspection;
- defect localization;
- product categorization;
- medical-image research demonstrations;
- satellite-image analysis;
- automated quality checks;
- image-based anomaly detection;
- inspection-workflow support;
- structured model evaluation and release governance.
This repository is distributed under the MIT License.
Individual models, datasets, and third-party libraries remain subject to their original licenses and usage conditions.
Anmol Tripathi
Quality Data Scientist | Data Science | Machine Learning | Applied AI | Computer Vision | Analytics Engineering | Quality Analytics