An early hardware project exploring how computer vision can drive a physical sorting mechanism. AutoDust connects camera capture, object detection, a category lookup, and Raspberry Pi motor control.
Historical prototype · 2019 · Python / OpenCV / YOLOv3 / Raspberry Pi
A camera observes an object. OpenCV runs a pretrained YOLOv3 detector; a fixed lookup maps the detected object label to a biodegradable or non-biodegradable category. The device receives a command to move its sorting mechanism.
This repository integrates object detection with hardware. It does not contain a newly trained waste-classification model, and the object-label lookup is not a reliable test of an object's material or biodegradability.
| File | Role |
|---|---|
ImageClassifier.py |
Loads the detector, filters detections, and annotates the image. |
Capture.py |
Maps a detected object label to the prototype's sorting category. |
main.py |
Coordinates image reception, detection, and the desktop display. |
receiver.py / server.py |
Transfer images and commands over sockets. |
AutoDust.py / control.py |
Device-side orchestration and Raspberry Pi GPIO control. |
The original hardware environment is not reproduced here. The code expects camera and motor hardware, device-specific GPIO wiring, local network configuration, and image/model directories that do not match the current repository layout. The required yolov3.weights file is not included. Some paths and OpenCV/Pillow calls also reflect the original development environment.
Start with the code map above to understand the prototype. Rebuilding it requires a separate hardware and dependency setup; this README does not claim a verified one-command demo, measured sorting accuracy, or production readiness.
AutoDust V2 contains a later revision of the device controller and socket client. The two repositories show different parts of the same early exploration.