This project develops a non-invasive, automated system for monitoring penguin molt stages through image processing and machine learning techniques. Using standard camera images captured over time, the system applies computer vision algorithms to track individual penguins and classify their molting stages.
# Automatic Monitoring of African Penguins During Molt
## Project Overview
This repository contains the design, implementation, and documentation of a modular system for **automated, non-invasive monitoring** of African Penguins (*Spheniscus demersus*) during their molting period. The system was developed as part of the EEE4113F course in the Department of Electrical Engineering at the University of Cape Town.
The system combines:
- **Load cell-based weighing platform**
- **RFID-based penguin identification**
- **Machine learning-based molting stage classification**
- **Environmental data logging (temperature and humidity)**
- **User-friendly web interface**
---
## Objectives
- Develop a **non-invasive** monitoring platform.
- Track **individual penguin weight** over time.
- Classify **molting stage** using image analysis.
- Associate data with **RFID-tagged individuals**.
- Ensure **robustness** under harsh coastal conditions.
- Operate within a strict **R1500 budget**.
- Present data via a **simple user interface**.
---
## 🧱 Subsystem Breakdown (File Structure)
The project is organized into the following main subsystems:
### Subsystem Mapping
| Subsystem | Directory / Key Files | Description |
|----------------------------------|------------------------------------------|-------------|
| Mechanical Platform | `hardware/` | CAD, housing, structural design |
| Electronics & Controls | `software/embedded/` + `hardware/Load_Cell_Integration/` | Embedded code and electrical design |
| Molting Detection & UI | `software/ml_model/` + `software/web_dashboard/` | ML training code,pipeline, Flask dashboard, database ,ML dataset and Models,validation results|
| Full System Integration & Docs | `docs/` + `README.md` | Documentation and project coordination |
## 🚀 Getting Started
### Prerequisites
- Arduino IDE for embedded development
- …