- Software Development and Data Gathering: Utilized Javascript, HTML/CSS, Bootstrap, Nodejs + Express, and Fabric.js to build the tool. Generated synthetic data through the Unreal Engine, using its photorealistic assets to simulate different lighting conditions and car angles.
- Model Training: Trained a computer vision model to identify license plates using Roboflow's object detection platform. Annotated hundreds of synthetic images, resulting in an initial model with a mean average precision (mAP) of 81.7%.
- Model Enhancement: Improved the model by merging synthetic data with an existing U.S. license plate dataset. This enhancement significantly reduced false positives and increased the model's detection confidence.
- License Plate Blurring: Integrated Roboflow's hosted REST API to detect license plates in images and blur them using fabric.js for canvas manipulation. Created a user interface that allows users to upload an image and blur the license plates based on a confidence level.
- Security and Usability: Implemented the API call on the server-side to hide the API key and enhance the tool's security. The design allows easy sharing of the project without requiring recipients to use their own keys.
- Potential Future Improvements: Identified potential additions for future development, such as allowing users to manually blur out any license plates the model might have missed and adding the current image to the dataset with user consent.
While this tool was initially developed as a personal project, the knowledge and experience gained through its development demonstrate my abilities in software development, computer vision, and machine learning, making me a suitable candidate for software development roles that require research and development.