Daily Object Detection Pipeline: YOLOv5 + AWS

An automated pipeline that performs daily object detection on Columbus Circle EarthCam images using YOLOv5, deployed with AWS Lambda for seamless cloud processing and visualization.


Project maintained by mddunlap924 Hosted on GitHub Pages — Theme by mattgraham

ObjDetGIF

This project performs daily object detection on EarthCam images from Columbus Circle, NY, analyzing and visualizing counts of people, cars, buses, and more using YOLOv5. The system is deployed with AWS services, making it cost-efficient and fully automated.

๐ŸŒŸ Key Features

๐Ÿ“Š Results

Two interactive data visualizations are updated daily around 5 PM ET:

โš™๏ธ AWS Deployment Architecture

Workflow Overview:

  1. Local Development:
  2. Docker Image Deployment:
    • Push the Docker image to an AWS Elastic Container Registry (ECR).
  3. Lambda Function:
    • Create an AWS Lambda function linked to the Docker image in ECR. The Lambda function handles object detection and updates the data daily.
  4. S3 Buckets:
    • Model & Data: One bucket stores YOLOv5 model weights and the results database.
    • Static Websites: Two buckets serve as static websites for interactive Plotly visualizations, updated daily by the Lambda function.
  5. Automation & Monitoring:
    • EventBridge: Triggers the Lambda function daily using a cron expression.
    • CloudWatch: Captures logs and errors for easy debugging.

๐Ÿ’ก Tip: If you encounter S3 access issues, check your Lambda functionโ€™s IAM Role and S3 bucket policies.

Why AWS Lambda?

AWS Lambda is ideal for this project due to its serverless, event-driven architecture. The app runs for just a few seconds daily, making it highly cost-effective โ€” often falling within the free tier or costing just a few cents per month.


Feel free to explore my projects and reach out for collaborations or just to chat about data science and AI!