In preparation for the launch of the Video Geeks Club, I prepared a demo to demonstrate the power and flexibility of GPU programming using CUDA. I hacked a fluid simulation demo in CUDA SDK. It solves PDEs that model fluid dynamics in real time on a GPU (image on right). Then, I computed sparse optical flow using SIFT (scale-invariant feature transform), a robust feature extractor, and inter-frame SIFT-feature matching. The SIFT operator is a perfect tool for single-object matching, and other applications.
I used the flow vectors to animate the fluid. Since the complexity is high, all this was programmed in CUDA and executed on a CUDA-enabled GPU. On left is a screen shot from CUDA/GPU SIFT calculation. The impact of optical-flow ‘force’ on the fluid is clearly visible in the fluid shot above. Once connected to a video camera, this is an impressive live demonstration. A hand motion in front of the camera permits fascinating interaction with fluid particles on the screen.
I would like to thank Changchang Wu from UNC for SIFT library used in this project.
3 Comments
Tingyi posted on December 13, 2009 at 2:57 pm
Your little room with new computer!
:):):)~
Tingyi posted on December 13, 2009 at 2:59 pm
Do you write the code for your software by your self? That’s great!
ycshao posted on January 12, 2010 at 5:28 pm
It’s really cool.