The TJHSST Microelectronics Laboratory has one of the most extensive inventories of any high school; one wall of the lab is literally just shelves of parts. Although the shelves are organized to a rudimentary extent, putting spare parts away is extremely time consuming due to the overhead of searching for each part's spot.
What it does
Partdex takes a video of the storage shelves and builds a queryable database. The user can find where parts are on the wall by simply searching for the part in Partdex.
How we built it
Partdex conducts three main operations: first, it uses OpenCV to convert a video of the wall into a high-resolution panorama of the entire wall. Then, it isolates each label on the wall and sends a request to Google Cloud Platform to extract text. This data is then stored for use by the UI. The web-based UI allows users to input a part number and highlights it on the panorama. Because OCR is not entirely reliable, it conducts a fuzzy search on the user's input to create the best possible chance of a correct match.
Challenges we ran into
Our video-to-panorama code ran into a snag where it did the opposite of what it was supposed to. Through the time-tested method of explaining the code to someone else, we found the bug (reversed method arguments) and corrected it.
Accomplishments that we're proud of
What we learned
Time is a funny thing - it never seems to be the amount you think it is.
What's next for Partdex
The most significant improvement we can make is to start with better video; the one we use now was created in a rush and doesn't show everything we want it to. Also, handwritten labels are far less reliable than printed ones. This is an issue with both our code and GCP, it may not be easily solvable.