Payvment provides smart parking solutions.
- Real-timeness?
- Strong Consistency & High Confidence score
- Low latency (How much latency is acceptable?)
- Availability (99.999%) - Fault tolerance
- Scaling & High Throughput( 100 parking places * 1000) (10^5/10^5 = 1 QPS) which is low
- LP Detection (Bounding box)
- Acurracy -> [[position, "ABC", confidence]]
- accessible by api v1/vehicle/{license_plate_no}
Possible MongoDb Schema
{
"_id": "ObjectId", // MongoDB automatically generates a unique identifier for each document
"licensePlate": {
"plateNumber": "String",
"confidenceLevel": "Number"
},
"region": {
"country": "String",
"stateProvince": "String"
},
"vehicleType": "String", // Big Truck, Bus, Motorcycle, Pickup Truck, Sedan, SUV, Van, Unknown
"makeModel": {
"make": "String",
"model": "String"
},
"color": "String", // Black, Blue, Brown, Green, Red, Silver, White, Yellow, Unknown
"directionOfTravel": {
"degree": "Number",
"unit": "String" // Degrees, Radians, etc. (based on your preference)
},
"dwellTime": "Number", // Time in seconds
"vehicleOrientation": "String", // Additional information about vehicle orientation if needed
"timestamp": "Date" // Timestamp of when the record was created
}
- Object Detection -> Yolo V8 Pretrained(Car, Bike , Truck)
- License Plate detection (Bounding Box)
- OCR (Easy OCR)
- https://www.kaggle.com/code/mohamedbhy/automatic-number-plate-recognition
- https://www.kaggle.com/datasets/scholngusmaximus/numberplate-bounding-box-india-eu-brazil-us
- Training specific to a number plates region (will lead to higher confidence)
- Processing on Server vs Edge computing for realtimeness
Blurry images Low-res images Dark images Small images Vehicles at an angle Vehicles driving fast Vehicles far away Multiple vehicles Plates with icons Plates with stacked characters Plates with 2 rows Plates with tough characters Night-time, reflective plates Motorcycles, buses, trucks Vehicles with signs Vanity plates