Vicky’s Status Report for 3/1

Personal Accomplishments

  • Design Report:
    • Wrote and edited the design report
  • ML License Plate OCR:
    • Cleaned up platesmania.com dataset through script and manual inspection to improve training quality
    • Benchmarked a variety of OCR models and selected en_PP-OCRv3_rec model for its ease of integration with Python and lesser likelihood to overfit (93% accuracy onplatesmania.com 80% synthetic + 20% real-world license plate dataset, 84% accuracy on platesmania.com 100% real-world license plate dataset)
  • ML End-To-End:
    • Designed, implemented, and tested the end-to-end script, achieving 81% end-to-end accuracy
  • Dash Cam Bringup & Testing:
    • Collaborated with Andy to bringup and test the RPi 5 board and camera module 3

Progress

My progress is on schedule.

Schedule

  • Single-board computer bringup and testing
  • Camera module bringup and testing
  • GPS module bringup and testing
  • Network module bringup and testing

Team Status Report for 2/22

Risks

  • A risk we anticipate is that the power source circuit or the UPS hat does not work as we desired. For example, the voltage dropped too quickly that is not long enough for the rpi to execute its shut down process, or the circuit overheats because of the capacitor. To mitigate this risk, we could
    • Add more element in our circuit, for example a cooling device
    • Add a button connected to the rpi for the user to manually control the rpi to execute its shut down process

Changes

  • We originally planned to use DynamoDB for the web app backend since it’s easier to set up and works well for flexible data storage. But after thinking more about security, especially tracking access logs, we decided that a hybrid approach might be a better fit. We want to use RDS for better logging and auditing to improve security and accountability, while DynamoDB will handle personal watchlists for fast lookups. This balances performance with the need for structured access tracking. (updated web app database schema)
  • During last week’s status report, we identified the need for a circuit to support the dash cam because the car’s power supply shuts off immediately when the engine is turned off, while our RPi5 requires additional time to properly shut down to prevent data corruption or potential damage. After designing a preliminary solution, we determined that incorporating a supercapacitor would be effective, as the shutdown process takes approximately five seconds. While researching, we also came across a pre-made module called the UPS HAT for the RPi, which addresses a similar issue. However, we would like to discuss in next week’s meeting whether our custom-designed circuit or the UPS HAT would be the better fit for our overall design. (UPS hat)

Schedule

Vicky’s Status Report for 2/22

Personal Accomplishments

Progress

My progress is on schedule.

Schedule

  • Single-board computer bringup and testing
  • Camera module bringup and testing
  • ML models deployment and benchmarking
  • Design report

Vicky’s Status Report fot 2/15

Personal Accomplishments

  • ML End-To-End Pipeline Design:
    • Updated ML flow: Frame Acquisition -> License Plate Detection -> License Plate OCR -> Text Formatting -> Transfer OCR Detected Text to Handshake with Cloud -> Transfer Cropped License Plate Frame with Time and GPS Info to Cloud if Applicable
  • ML License Plate Detection:
    • Experimented with frame preprocessing using CV, results undesirable
    • Finetuned a Yolov11n model on Kaggle dataset, achieving 90.4% mAP50 and 65.5% mAP50-95
  • ML License Plate OCR:
  • Dash Cam Design
    • Finished dash cam v1.0 block diagram design
  • Hardware Purchase
    • Raspberry Pi 5 as the SBC
    • Raspberry Pi Camera Module 3 + cable
    • Blues Notecarrier Pi + Notecard Cellular + GPS&Cellular antenna

Progress

My progress is on schedule.

Schedule

  • RPi 5 bringup and testing
  • Camera module bringup and testing
  • License plate detection model deployment and benchmarking
  • License plate OCR model training, deployment, and benchmarking
  • Design report

Vicky’s Status Report for 2/8

Personal Accomplishments

  • ML Strategy:
    • Drafted the following edge + cloud ML flow: Frame Acquisition -> Frame Preprocessing -> License Plate Detection -> Transfer Cropped License Plate to Cloud -> License Plate Preprocessing -> License Plate Classification -> OCR -> Text Formatting
  • ML Dataset Selection:
    • Identified a license plate detection dataset from Kaggle
    • Web-scraped platesmania.com to build a US license plate OCR dataset, as an ideal dataset wasn’t readily available
    • Chose the OpenALPR dataset for end-to-end testing
  • ML Model Selection:
    • Benchmarked FastALPR from GitHub on RPi 4
    • Decided to fine-tune YOLOv11n for plate detection
    • Chose to train an OCR model specifically for US license plates
  • Hardware Selection:
    • Based on latency benchmarks, finalized the dash cam hardware:
      • Raspberry Pi 5 as the SBC
      • Raspberry Pi Global Shutter Camera with a 6mm wide-angle CCTV lens for improved field of view
      • Adafruit GPS breakout module for geotagging plate captures

Progress

My progress is on schedule.

Schedule

  • Draw out the technical block diagram for the dash cam
  • Order dash cam components
  • Augment US license plate dataset
  • Prepare the design presentation and report