Inspiration
In today's fast-paced world, urbanization has increased the number of vehicles on the road, resulting in a constant struggle to find suitable parking spaces. Introducing SmartLot, an innovative smart city approach that leverages artificial intelligence and live camera views to simplify your parking experience! Imagine attending a busy sporting event or a crowded shopping mall where finding a parking spot can be time-consuming and frustrating. SmartLot aims to address this issue by utilizing advanced computer vision algorithms and machine learning models to analyze live camera feeds of parking lots in real time.
What it does
Using captured live camera views of parking lots, the system processes the data using computer vision, to detect and track vehicles in the lot. The AI uses the data to determine the number of available parking spaces. The information is transmitted to a user-friendly front-end application that can be accessed via a web or mobile interface with both user and administrator views. The user view provides an overview of the spots available in the lot at a given time, providing real-time updates, and ensuring users have the latest information on parking space availability. The admin view keeps a record of historical data for the capacity trends and space use history, allowing lot administrators to explore parking patterns over time and make informed decisions. The architecture of SmartLot is designed to be easily expanded and implemented, making it adaptable to parking lots of varying sizes or multiple individual lots.
How we built it
This tool was built using Python and OpenCV for the camera data visualization and AI analysis. The data was stored in a MariaDB database. The front-end interface was built using the Stream lit framework. The hardware aspect is running on an Arduino with code written in Python and C.
Challenges we ran into
One of the major challenges we faced was providing the AI model with appropriate training data for accurate vehicle detection and parking space tracking. It was necessary to ensure the model's reliability across different lighting conditions and parking lot layouts, requiring us to take multiple different photos from various angles that may not be typically thought of. Another significant challenge was porting the hardware code from the Windows machine it was designed on, to the Linux machine it was to run on, as various permissions were causing confusing errors.
Accomplishments that we're proud of
We are proud of having brought our project from our initial idea to a complete demo including software, hardware, and all practical implements. There were various individual moving parts that we needed to integrate together and it was quite a difficult task to ensure they all ran in harmony. Additionally, we are quite proud of our ability to learn new technologies in such a short time frame, such as OpenCV for computer vision.
What we learned
We learned how to use OpenCV for computer vision and detecting objects, as well as how to properly provide training data for an AI model. Understanding this was core to our project and allowed us to make our idea a fully implemented reality.
What's next for SmartLot
Up next for SmartLot is the implementation of many nice-to-have features. These include the ability for notifications to be sent to users when a spot becomes available in their desired location, providing information regarding the availability of reserved handicapped spots for differently-abled individuals, and improving the admin and user views with visual maps for ease of use. Additionally, in a world where climate change is a widespread issue, adding the ability for our AI to determine the type of vehicles parked in the lot and their estimated carbon footprint can help lot owners understand the trends of those in their area. In the future, SmartLot can be expanded and implemented at various real lots throughout the city as more hardware is acquired.
Operating Instructions and Technical Details
Please see the README page on our GitHub project page.


Log in or sign up for Devpost to join the conversation.