Skip to main content

Project Synopsis

"Park or Die" logo

What is the problem being addressed? 

"Park or Die" aims to make parking easier on the Iowa State University campus. For commuters in particular, it can be very frustrating finding a parking space on campus. Today, you simply have to drive through the different lots and search for a space. This process can take several minutes after arrival and becomes especially difficult during inclement weather and periods of high traffic (late morning through the early evening).

How is the problem being addressed?

Through an interactive web application, users are able to view tracked lots on campus, see general space availability, and even view space availability on an individual level. Moreover, if a user is planning a future visit, they can see historical data regarding space availability on a daily basis.

How does our software work?

Through one camera of our own deployed via. a Raspberry Pi and two existing campus security cameras graciously provided by ISU Public Safety, we poll camera feeds for updated images of our tracked lots (Lot 31 and Lot 33) every 5 minutes. Using these images, we use computer vision, a car detection model trained by the team, and algorithms we devised to reconstruct 3D coordinates of space locations. We then persist these locations to a database which is read from by web clients via. an API. Everything from initial lot setup to vehicle location updates are handled entirely by the model and without intervention. As a result, we provide a "one click deployment" experience to parking lot administrators.

Our Three Step Process

To expand on the previous paragraph, here's a table containing our three step process:

Initial ImageImage Following Computer VisionReconstructed 3D View

What technologies do we use?

On the frontend, we use the following technologies:

  • Next.js
  • React
  • TypeScript
  • JavaScript
  • Node.js (JavaScript Runtime)
  • Three.js
  • React Three Fiber

On the backend, we use the following technologies:

  • Python
  • Conda
  • Torch
  • Torchvision
  • OpenCV

We also have a Raspberry Pi capture service utilizing following technologies:

  • Raspberry Pi OS
  • TypeScript
  • JavaScript
  • Node.js (JavaScript Runtime)

All of our infrastructure is deployed through Docker containers, providing us with a secure, consistent, and convenient development experience.

Can I see it in action?

 While we do plan to tear down our infrastructure shortly after the course concludes, here's a link to a video of our working demo.