Skip to main content

MIRA — Machine Intelligence for Recycling Automation

Jugend forscht 2027

MIRA is my project for recognizing different types of waste with a camera. The long-term idea is to use the detections to sort objects automatically.

Project website: mira-vision.vercel.app

Model files: Hugging Face — Jeremy341/MIRA-AI

PyPI release: mira-ai

Why I chose this problem

I wanted to work on a problem that was more challenging than just training a model on a fixed image dataset. Sorting waste combines computer vision, uncertain predictions, real-time camera input, and eventually hardware. I also wanted to build something that I could expand later, for example by connecting the system to a robot or a sorting arm.

The robot is not finished yet. At the moment, my focus is the part that has to work first: reliably recognizing the objects.

What I tried

I did not begin with a YOLO model. I started with a custom CNN to understand the basic classification problem. After that I tried MobileNetV2, YOLOv8n, and finally YOLO11n for object detection.

I also tested several datasets, including dmedhi, TACO, TrashNet, and a Roboflow waste-detection dataset. My first assumption was that adding more data would automatically improve the model. That turned out not to be true. Some of the larger combinations contained different image styles, labels, and object arrangements that made the detector less consistent.

The most important result of the project so far was that a smaller, cleaner, balanced dataset worked better than simply combining everything. After removing unsuitable data and choosing the training examples more carefully, the later YOLO11n experiments reached about 90.6% mAP50, compared with 60.7% in the earlier EXP-014 run. EXP-019 repeated the result closely.

The detailed experiment history, charts, and limitations are on the project website.

What works now

  • Detection of glass, metal, paper, plastic, and trash
  • Live webcam inference
  • A local development dashboard
  • Dataset merging and YOLO annotation validation
  • Model evaluation, benchmarking, and export to formats such as TFLite

Raspberry Pi testing, a sorting mechanism, and complete robot integration are still future work.

Run MIRA locally

Install from PyPI

py -3 -m venv .venv
.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install mira-ai

Download a model and start live detection:

mira download --list
mira download mira_exp019.pt
mira live --model mira_exp019.pt

Install from source

For development, clone the repository and install it in editable mode:

git clone https://github.com/jeremy341/MIRA-AI.git
cd MIRA-AI
py -3 -m venv .venv
.venv\Scripts\Activate.ps1
pip install -e .

To start the local dashboard:

mira dashboard

It is available at http://127.0.0.1:8000 by default. More setup and usage guides are in the website documentation.

Research commands

The main commands I use while working on the project are:

mira datasets
mira merge --sources taco_trashnet roboflow --output datasets/mira_tnr
mira train --config experiments/exp014_yolo11n_multidataset.yaml
mira eval-yolo --model mira_exp019.pt
mira benchmark --models mira_exp019.pt mira_exp019_int8_640.tflite

The training datasets are not stored in Git. Their original sources and license information are listed in docs/DATASET_ORIGINS.md.

Project structure

  • src/ — the CLI, inference pipeline, training code, and dashboard backend
  • scripts/ — dataset preparation, evaluation, benchmarking, and training helpers
  • experiments/ — experiment configurations
  • models/ — model metadata and local model files
  • tests/ — automated tests
  • website/ — the public project website

Honest limitations

The current system still has problems with crumpled paper, cans viewed from the opening, and strongly overlapping objects. The reported results come from my available validation and test data; I have not yet completed independent Raspberry Pi benchmarks or end-to-end physical sorting tests.

Transparency

I used AI tools for parts of coding and debugging. The problem choice, dataset experiments, model comparisons, and decisions about what worked and failed are part of my own project work.

License

This project is licensed under the MIT License. See LICENSE.

Metadata

Release files for mira-ai 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mira-ai 1.0.1
File Size Uploaded
mira_ai-1.0.1.tar.gz 102.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mira-ai 1.0.1
File Interpreter ABI Platform
mira_ai-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 193.6 kB

Release files / mira_ai-1.0.1.tar.gz

Download URL mira_ai-1.0.1.tar.gz
Size 102.3 kB
Tags Source
SHA-256 checksum
How to use checksums
f30097e1bbc7566794af127c79a3eae2f68b236066fa76ea16a8864fa0b55efc
BLAKE2b-256 checksum
How to use checksums
15103e18523fac4e3ed7c70e589921e559a84a8526606d94931d3d2c317906e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.

Transparency log

Release files / mira_ai-1.0.1-py3-none-any.whl

Download URL mira_ai-1.0.1-py3-none-any.whl
Size 91.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
de6c9a6ec94de2d69ea9af9583b075ed39225623305c760d2174757f09777154
BLAKE2b-256 checksum
How to use checksums
722f30f6ebb77becd5bf3bbcd5bf00798db88d843ef70a3c8c7041fae17139dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.

Transparency log

Release history Release notifications | RSS feed

1.0.2

2 release files

This release

1.0.1 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page