Inspiration

Our goal was to design a product that we could accomplish in limited time that still offered legitimate impact in the real world and lives of others. We were inspired by the 2013 Shell Oil disaster, where an unnoticed crack in a rig left it vulnerable to storms. This resulted in $12 million in fines and 143,000 barrels of diesel lost. Additionally, people experience damages to their home foundations and boating equipment all the time, leading us to create an accessible and affordable solution that offers them peace of mind.

What it does

We developed an image segmentation model for crack detection that can run on boards with around 1MB of RAM. After quantization, learnable weight parameters are less than 1KB, when paired with TensorFlow around 12KB to be stored on Rasperry Pi Pico.

How we built it

To create a small yet somewhat accurate crack segmentation model, we first trained a standard UNet model with 48 base filters as your "teacher color." We then created a much smaller "student" model to learn from the teacher model. The student learned from the teacher model through a distillation framework (https://arxiv.org/abs/2404.06258), which allows student models to be a-lot smaller than teacher models while having comparable accuracy. To make the student model even smaller, we used Perforated Backpropagation (https://arxiv.org/abs/2501.18018) to add dendrites to our model's neurons, which allows our model to be a-lot smaller than normal models while having similar accuracy. Finally, we used INT-8 quantization (https://www.geeksforgeeks.org/deep-learning/quantization-in-deep-learning/) and pruning to further compress our model. Due to the result of all these techniques, we managed to make a model whose weights take up 1011 bytes of space while having a recall score of 0.5811 for a subset of 3500 images from this crack segmentation dataset (https://github.com/khanhha/crack_segmentation).

Challenges we ran into

Neither group member had extensive Arduino or Raspberry Pi experience heading into the weekend, which lead to some difficulties when implementing hardware designs. Our initial goal was to showcase the functionality of our model within an under-water drone carrying our test camera, but we were not able to complete both the model and fully functioning drone before the deadline. Since it was our primary component, we devoted most resources towards the model's training and compression.

Accomplishments that we're proud of

We managed to make the world's smallest crack segregation model while still boasting similar scores in Recall, a key metric for analyzing the performance of segregation models, with models with hundreds to thousands of times more parameters than us. This also makes our model the most efficient crack segregation model that is publicly known.

What we learned

We learned how to manage voltage signals across ICs and microcontrollers while accomodating for different power requirements. Got in-depth experience debugging hardware implementations of our software modeling. Troubleshooted mechanical failures in design elements (motors, drivers, chips) and improvised solutions.

What's next for Pico-Crack Segmentation Model

Our future goals involve designing further compressed models with expanded accuracy and completing under-water and aerial drones to compliment our main product.

Built With

Share this project:

Updates