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

It works...

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.

Built With

Share this project: