Focuses: CV model training and usage, API communication
Objectives
The goal of this team is to efficiently automate tracking filament inventory for the 3D printers in the Flowers Invention Studio.
In doing so, the manual workload for managing inventory can be significantly alleviated. Prototyping instructors are able to spend their time more efficiently on other tasks.
Methodology
Using a Raspberry-Pi equipped with a YOLO CV model and a mounted camera, this device is able to detect the Invention Studio’s filament boxes, categorize them for what they are, and upload the inventory status onto a server.
Example of a labeled image in our dataset for the CV model
The CV model is specially trained by a dataset of filament boxes. These pictures were taken with the real production environment in mind. They depict the boxes on the shelf where they will be expected to be stored, as well as at an angle the camera is expected to be facing. The boxes in the raw pictures were labeled with tight bounding boxes. These pictures comprised the training dataset.
Shown above is an AprilTag, a fiducial marker which we will use to help categorize inventory and provide bounds for inventory detection.
With the placement of April tags, the Raspberry-Pi will be able to form bounds from the frame input, which represent the separation of different filament box types. PIs will place boxes in accordance to this placement, which the device will be able to then detect and categorize based on their position within April tag bounds. This process will be automatically, detecting frame inputs on a periodic basis.
The team is using Django for the web framework and communicates to InvenTree, the inventory storage system for the backend. Once the boxes are detected and categorized, the device will communicate with InvenTree hosted on a server. This connection will update InvenTree’s filament stocks.
Long Term Goals
The team intends to make set up, debugging, and usage as simple as possible. This includes things such as:
- Giving easy access to classification image output for simple debugging by PIs
- InvenTree server hosting to be able to run the service on frequent availability
- Automating processes such as scanning, detection, and low stock notifications
- Deploying a web interface with which students can access inventory status online