This project uses a model trained with rear license plates from Ontario, Canada, and ultimately achieves object detection in an Android interface. The goal of the project is to utilize object detection technology to create a commercial model for automating parking lot entry/exit and checkout processes. This project employs Python, Kotlin, Node.js, and MongoDB.
- License Plate Detection
- Search and Checkout Interface
The YOLO model was trained with Python for object detection, and the trained model is loaded onto an Android interface to detect license plates and license plate numbers. The detected license plate images and numbers are processed via Node.js and added to MongoDB.
-
Data Collection and Preprocessing:
- Data was collected using a Canon R6 and an iPhone XR (all photos taken in landscape orientation). The images were adjusted to 640x640 pixels using
Lightroom, and quality was reduced to accelerate model training.
- Data was collected using a Canon R6 and an iPhone XR (all photos taken in landscape orientation). The images were adjusted to 640x640 pixels using
-
Data Labeling(CVAT, Label Studio....):
- Export to YOLO format
-
Model Training uses Python (YOLOv11)
-
MongoDB Create & Setting
-
Backend Setting (
.env)DB_USER=AAAA DB_PASSWORD=BBBB DB_NAME=CCCC DB_USE=ProjectName DB_DEFAULT_PORT=3005 -
Android Setting
-
gradle.propertiesBackend_URL=Backend_URL = http://YourIPAddress:Port/api/ -
Constantsconst val MODEL_PATH = "carDetectModel/YourYoloModel.tflite" const val LABELS_PATH = "carDetectModel/custom_label.txt"
Check more API detail at ./API_DOCS


