Inspiration
What is the worst part of going into town? Finding parking! Fitting the theme of supporting our local community, our project helps build the community in two ways:
Supporting local business Potential customers have to weigh the difficulty of getting down when trying to support local business. Our project simplifies this process by making it easier for users to park at their destination. This in turn makes it easier for community members to go to town.
One study found that an increase in parking spaces has a neutral or even negative impact on business vacancy. The increase in parking spaces caused more congestion, with the reduction of parking spots actually causing an increase in business sales in Philadelphia. The solution to parking is not to waste resources, money, and time creating more parking spaces, but to more effectively use the spaces we have. Link
A performance parking study conducted in Boston saw that by making spots more efficient in parking (by increasing parking rates), illegal parking dropped by over 25%. This corresponds to the notion that utilizing parking spots more effectively is better than creating more parking. Link
Reducing emissions When cars search for potential parking spots they are burning gas unnecessarily. Our project aims to streamline this process by directing drivers to exactly where their spots are located. No need to search!
What do the people of Newton think? Concerns about housing near transit is a large factor in the consideration of how much parking is available. Less parking means more space for people near transportation, and less need for parking overall. The debate about decreasing parking or building new parking spaces would be resolved if we could maximize available parking with the spots we already have. Link
What it does
Users access our project through the website. There they can input destinations to see nearby open parking spots. This data is pulled from a MongoDB database. Separately, we are running a server to update the car count at every location based on new image data.
How we built it
The website The basis of our map uses the Google Maps API. When the user inputs a destination, the nearest camera id is found based on a haversine formula comparing longitude and latitude.
We used Flask, a Python framework, to access our database using MongoDB in order to access the latitude and longitude of the cameras, as well as the parking spot openings data. Using the data from MongoDB, we were to place markers on the Google map to indicate the locations of the parking spaces relative to where the user chose their location. Then we loop through each location entry from the database to calculate the closest location and the second closest location to the user’s location. Next, we give the user two choices for routes based on these closest locations.
The database We used mongoDB to store the results from our image analysis.
The image analysis Using OpenCV, we annotated reference images of parking locations to identify individual parking spots. Then, we used a canny edge detection method to simplify parking images. We then check if there is a certain threshold of edges inside of each parking spot. If so, the spot is classified as filled otherwise it is classified as empty. This data is then stored and sent to the database alongside the image of the parking lot so users get up to date information about parking availability. This human annotation method works well for a parking lot monitor since spot locations don't change that often.
Challenges we ran into
Merging all of the separate sections of our project into a single continuous structure was a little difficult. We faced troubles getting mongoDB to communicate with our flask app.
Latitude and longitude switch ups caused confusion when attempting to implement the image analysis into the website.
Accomplishments that we're proud of
We managed to fully complete our initial goals on our website. We exceeded our expectations of building a method of finding parking by further implementing directions to that parking.
What we learned
Learned a variety of new tools including mongoDB and opencv. These processes made up the backbone of our project and it was a tough and interesting problem to explore these new tools.
What's next for Project_Parking
-Using more advanced methods to determine locations of cars and spots using CNNs -Setting up a physical prototype to use in the real world -Integrating this feature into existing map apps to improve user experience and boost impact
Log in or sign up for Devpost to join the conversation.