All Projects → DeepParking → DeepParking

DeepParking / DeepParking

Licence: other
Find vacant parking spots in indoor and outdoor locations

Programming Languages

typescript
32286 projects
python
139335 projects - #7 most used programming language
HTML
75241 projects
Dockerfile
14818 projects
javascript
184084 projects - #8 most used programming language
CSS
56736 projects
shell
77523 projects

Projects that are alternatives of or similar to DeepParking

Pine
🌲 Aimbot powered by real-time object detection with neural networks, GPU accelerated with Nvidia. Optimized for use with CS:GO.
Stars: ✭ 202 (+392.68%)
Mutual labels:  yolo
Mxnet Yolo
YOLO: You only look once real-time object detector
Stars: ✭ 240 (+485.37%)
Mutual labels:  yolo
lucky-parking
Visualization of parking data to assist in understanding of the effects of parking policies on a neighborhood by neighborhood basis in the City of Los Angeles
Stars: ✭ 24 (-41.46%)
Mutual labels:  parking
Yolodet Pytorch
reproduce the YOLO series of papers in pytorch, including YOLOv4, PP-YOLO, YOLOv5,YOLOv3, etc.
Stars: ✭ 206 (+402.44%)
Mutual labels:  yolo
Tflite React Native
React Native library for TensorFlow Lite
Stars: ✭ 230 (+460.98%)
Mutual labels:  yolo
deep-parking
Code to reproduce 'Deep Learning for Decentralized Parking Lot Occupancy Detection' paper.
Stars: ✭ 81 (+97.56%)
Mutual labels:  parking
Viseron
Self-hosted NVR with object detection
Stars: ✭ 192 (+368.29%)
Mutual labels:  yolo
Yolo-to-COCO-format-converter
Yolo to COCO annotation format converter
Stars: ✭ 176 (+329.27%)
Mutual labels:  yolo
Bmw Yolov4 Inference Api Gpu
This is a repository for an nocode object detection inference API using the Yolov3 and Yolov4 Darknet framework.
Stars: ✭ 237 (+478.05%)
Mutual labels:  yolo
carFinderFlutter
A car finder in big parking lots app. Made with 💗 and Flutter
Stars: ✭ 19 (-53.66%)
Mutual labels:  parking
Yolo person detect
person detect based on yolov3 with several Python scripts
Stars: ✭ 212 (+417.07%)
Mutual labels:  yolo
Caffe2 Ios
Caffe2 on iOS Real-time Demo. Test with Your Own Model and Photos.
Stars: ✭ 221 (+439.02%)
Mutual labels:  yolo
parking-lanes
Parking lanes viewer from OpenStreetMap
Stars: ✭ 63 (+53.66%)
Mutual labels:  parking
Caffe Yolov3 Windows
A windows caffe implementation of YOLO detection network
Stars: ✭ 210 (+412.2%)
Mutual labels:  yolo
CNN-models
YOLO-v2, ResNet-32, GoogLeNet-lite
Stars: ✭ 32 (-21.95%)
Mutual labels:  yolo
Yolo Tf
TensorFlow implementation of the YOLO (You Only Look Once)
Stars: ✭ 200 (+387.8%)
Mutual labels:  yolo
tdm-calculator
DTLA Hack for LA is partnering with Los Angeles Department of Transportation (LADOT) to develop a Traffic Demand Management (TDM) calculator tool. This tool will help planners at LADOT and real estate developers to meet the Los Angeles’s Mobility Plan goals by 2035.
Stars: ✭ 21 (-48.78%)
Mutual labels:  parking
mobivoc
A vocabulary for future-oriented mobility solutions and value-added services supporting them.
Stars: ✭ 27 (-34.15%)
Mutual labels:  parking
instance-segmentation
No description or website provided.
Stars: ✭ 40 (-2.44%)
Mutual labels:  yolo
ParkCatcher
Find a free parking in the nearest residential street when driving in Montréal. A Montréal Open Data project.
Stars: ✭ 32 (-21.95%)
Mutual labels:  parking

🚘 DeepParking

Find the closest vacant parking spot, every time.

DeepParking is an open-source solution for detecting vacant parking spots in indoor parking garages, and delivering real-time notifications to nearby drivers. Low-cost cameras are mounted throughout garages and mapped to locations of available parking spaces. State-of-the-art deep learning algorithms detect occupied spaces, and write the results to a Redis cache. As drivers enter the garage, they are routed to closest available free parking space.

With DeepParking, you'll never have to waste time hunting for a parking spot again!


📖 Technical Stack

DeepParking prides itself on being a 100% open-source solution, from algorithm to web application.

Web Application

Angular version 6.0.8.

Deep Learning: Object Detection

Leverages the state-of-the-art YOLO v3 real-time object detection system.

Backends

Written in Python 3.6.5 using Flask

Persistent Store

Redis - A blazing fast in-memory database with disk persistence.

Scalable Deployment

Docker, Kubernetes


📹 Hardware Configuration

For optimal results with DeepParking, we recommend using a camera configuration similar to the one shown below. No more than five parking spots should be visible for any single captured frame; a single camera with one degree of rotation can be used to monitor 10 parking spots. It is recommended that an image for each 5-space frame is captured every 15 to 20 seconds.

Estimated cost for 100-car garage: $150


Usage

DeepPark is made up of the following components:

  • Camera Gateway API - Receives images from cameras, performs vacant spot analysis on the images and pushes the results to Redis
  • Spots API - External facing API that is used by the Web App to provide vacant parking spots info
  • Web App - A web application for drivers that shows information about vacant parking spots
  • Redis - stores results about parking areas, cameras and vacant spots for realtime querying

In order to set-up an environment locally, edit the area.json file that contains metadata about the parking lot and start a local Redis instance.
Run the Python setup script:

$ python3 ./setup/setup_area.py --redis-host=localhost

The same script can be run on any accessible redis host to set-up the environment.

Running on Kubernetes

DeepPark runs natively on Kubernetes. To install DeepPark, simply run:

$ kubectl create -f ./setup/kubernetes

Thats it! Wait for the following deployments to appear as running:

  • camera-gateway-deployment
  • camera-tester-deployment
  • redis-deployment
  • spots-deployment

Setup the parking lot on Redis

Forward traffic from the Redis service:

$ kubectl port-forward svc/redis-svc 6379:6379

Edit the area.json to your liking and run the setup script:

$ python3 ./setup/setup_area.py --redis-host=localhost

Deploying the driver app

Grab the Spots API External IP:

$ kubectl get svc spots-api-svc

Take the Area ID you created earlier and edit the API_URL and AREA_ID env variables in setup/kubernetes/driver_app. Deploy the app:

$ kubectl create -f ./setup/kubernetes/driver_app

Wait for the External IP to show up:

$ kubectl get svc driverapp-svc

Point your mobile device browser to the IP address.

Running the Camera Tester

DeepPark allows you to mimic a camera by running a simple web app locally that sends images to the Camera Gateway API. Simply open camera_tester/index.html on a local device (or behind an SSL public internet endpoint) and input the following values in the UI:

  • Camera Gateway Address - The public ip of the Camera Gateway API
  • Area ID - The Area ID you created in setup/area.json
  • Camera ID - The ID of the camera you will be sending photos as, created in setup/area.json

Get the Camera Gateway External IP with:

$ kubectl get svc camera-gateway-svc

Note: The Camera Gateway API uses port 8080.

Done!


👍 Project Team

  • Haishi Bai (Principal Software Engineer, Office of the Azure CTO)
  • Yaron Schneider (Senior Software Engineer, Office of the Azure CTO)
  • Paige Bailey (Senior Cloud Developer Advocate, Cloud+AI)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].