The Random Curiosities of Derek Lomibao.net
← Projects

evm

WebGPU · 2026

My 2014 thesis, now running in a browser tab.

In 2014 I wrote my master's thesis on making video magnification run in real time on a graphics card. Almost nobody saw it. Graphics cards and browsers have come a long way since, so I rebuilt it to run in a browser tab.

Eulerian video magnification takes changes in a video that are too small to notice, the colour of a face shifting with each heartbeat, a chest rising, a structure vibrating, and amplifies them until you can see them. The thesis, Real-Time Parallel Eulerian Video Magnification Using a Graphics Processing Unit (Iona College), was written in CUDA. This version is WebGPU and runs on whatever graphics card your browser has.

How it works

Each frame is split into a pyramid of detail levels. For every pixel, the pipeline filters how that pixel changes over time, keeps only the band of frequencies you ask for, multiplies it, and adds it back to the picture.

What the port fixed

The classic real-time filter has a flaw: the amplified motion arrives late, so it lags the real motion it is drawn on top of. Measured end to end:

ModeAdded latencyLag of amplified motion
Original filter0 frames2.93 frames
Delay-compensatedabout 2.7 frames0.20 frames
Linear-phase31 frames0.01 frames

Running it

Pick a preset clip, open a video file, or use your webcam. Nothing leaves your browser.