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 backendscripts/— dataset preparation, evaluation, benchmarking, and training helpersexperiments/— experiment configurationsmodels/— model metadata and local model filestests/— automated testswebsite/— 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)
| File | Size | Uploaded | |
|---|---|---|---|
| mira_ai-1.0.1.tar.gz | 102.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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