⚙️ Overview
The system consists of two main components:
A FastAPI application deployed on Google Cloud Run. It allows users to:
- Upload a video and a logo image.
- Trigger cloud function that processes the video to detect occurrences of the logo.
A Google Cloud Function responsible for the actual video processing. It uses the SIFT (Scale-Invariant Feature Transform) algorithm to:
-
Detect the logo in individual frames.
-
Generate an output video with detected logo regions highlighted.
🚀 Live Demo
🔗 Visit the App: https://neurons-code-challenge.lovable.app/
🔗 Read the API docs: https://video-logo-api-606507129150.europe-west1.run.app/docs

- Worker auto scaling for concurrent requests, cost effective (min instance 0)
- Decoupled Architecture (separate long processing workflow from API)
- Computational Resources: speed, memory and CPU
- Job queuing, retry
- SIFT might not work in 3D, like logo on curved object
- Limitations in the presence of complex background textures and occlusions
- Stream read and write video
- Skip frames
- Lower resolution
- Use Cloud Task to queue jobs and retry