An end-to-end computer vision system that detects vehicles and determines parking slot occupancy using manual slot calibration and YOLO-based detection.
Parking lots suffer from severe perspective distortion:
- Slots closer to the camera appear larger
- Distant slots shrink and skew
- Automatic slot detection is unreliable across viewpoints
Manual calibration provides ground-truth slot geometry, ensuring:
- Accurate Free/Occupied classification
- Stable results across lighting & weather
- Engineering-grade reliability
This is a deliberate design choice, not a limitation.
- YOLOv8-based vehicle detection
- Bounding boxes + center points
- Runs every N frames for performance
- Manual slot marking (mouse-based)
- Right-click to delete slots
- Undo last slot (U key)
- Persistent slot storage (
slots.json) - Stable Slot IDs
- Slot ↔ Vehicle overlap analysis
- Threshold-based occupancy decision
- Smooth interpolation between frames
- Color-coded slots:
- 🟢 Free
- 🔴 Occupied
- 🔵 Vehicle boxes
- Total slot count
- Free / Occupied counter
- Timestamp overlay
- Debug visualization mode
occupancy.jsonoccupancy.csv- Timestamped slot status
Video → YOLO Vehicle Detection → Slot Overlap Analysis → Occupancy Classification → UI Overlay + Export
git clone https://github.com/ACEL-RYKEN/ISPMS.git
cd ISPMS
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
▶️ Run the System
python main.py
Controls:
Left Click → Mark slot
Right Click → Delete slot
U key → Undo last slot
ESC → Exit
📈 Performance Optimization
YOLO inference runs every N frames
Occupancy interpolated between detections
Real-time capable on CPU
📌 Applications
Smart parking systems
Campus parking analytics
Mall & airport parking
IoT-integrated monitoring
🔒 Disclaimer
This project is intended for academic and demonstration purposes.
Stock footage used only for testing.
👤 Author
[Amal Shibu]
AI / Computer Vision Engineer
---
# 6️⃣ Git Commit Commands (DO THIS EXACTLY)
```bash
git init
git add .
git commit -m "Initial release: ISPMS intelligent parking system"
git branch -M main
git remote add origin https://github.com/your-username/ISPMS.git
git push -u origin main