A Machine Vision (MV) pipeline that automates feeding of fishes by detecting, tracking and scheduling feeding interval.
It uses:
- MotionEye to stream footages from camera connected to Raspberry Pi
- MotionEye github page: https://github.com/motioneye-project/motioneye/tree/dev
- Use SSH to toggle feeding
- YOLOv8 to detect fishes,
- Bot-SORT to track them,
- YOLOv8 & Bot-SORT native tracking reference: https://github.com/SkalskiP/yolov8-native-tracking
- extract feeding velocity from the tracked results before
- using it scheduling the next feeding interval.
Requirements:
- python = 3.9.16
- ultralytics = 8.0.51
- supervision = 0.3.0
To use:
- create virtual environment (optional)
- download required dependencies
- run main.py
- run e4_csv_to_graph.py to plot graph of result from main.py