What are interesting webcams?
There are a large number of public live webcams that are accessible over the internet, but a vast majority of them are uninteresting - nothing significant is being recorded by them (i.e. a static background). As it is infeasible to manually search through those webcams to find ones that are recording any activity, this project aims to be able to do that automatically. We define an "interesting webcam" as a webcam that is recording an active scene.
For example, the scenes below are not interesting - No activity is happening.
Alternatively, the scenes below are interesting - Activity can be observed
Show me some results!
Sample frames of the top webcams with most activity is shown below. For each column, the top row represents the current frame, the bottom row is the background as learnt by the model. The green curves and red boxes highlight the activity detected.
How did you do this?
If you want the full details, please consult my final report for this project.
For each webcam, we learn a background model for each pixel of the webcam using a Gaussian Mixture Model. Given a new input frame from the webcam, we classify each pixel of the input frame as either foreground or background to obtain a foreground mask. We then fit contours around sections of the foreground object pixels to obtain sections of the input frame that contain activity.
We also score the webcam frames by contour area divided by contour length. We maximize contour area to show the most/largest objects, we minimize contour length to reward convexity and penalize large noisy artifacts.
.