Wednesday, November 24, 2010

Safe Projector

Are you tired of annoying intense light from the the projector when you do a presentation? Maybe you should try my Safe Projector(TM). This projector will automatically prevent intensive light from projector get in the way of your presentation by detecting you.

Using a Microsoft Kinect, I can easily picked up the area of presenter, and dim the light inside that area. It's my first application of mighty Kinect! Please stay tuned!

Here is the results:
Normal projector, it throws light to the screen as well as the presenter


Safe Projector, it only throws light to the screen


HAPPY THANKSGIVING EVERYONE!!

Thursday, May 27, 2010

Joining Google

I will joint Google Computer Vision Research Group this summer, expecting to conduct some really cool large scale projects. It is my first adventure into the west coast, really really looking forward to it. Please stay tuned...

Saturday, May 1, 2010

Google Video Challenge

This is a presentation of our term project with Yuecheng Shao. Click play to start and click on the image to view next slide. Select full screen for HD. Enjoy!

Wednesday, March 17, 2010

Laser Pointer as Mouse

As a demo for our VGC club, I programmed this fun plug-in of my vision platform - a simple laser pointer mouse. it use a laser as a input and can let the user interact with large projected image.Video is here!

Structured Light

Structured light is a technique used to acquire accurate depth map of a scene. It used a projector to project coded light to the scene and then 'decode' the signal captured by the camera. Previously I call it CDMA projector because only one channel can receive its own coded light.
No dark room is need, the system is relatively robust to 'channel noise' (ambient light), and can be made into real-time because both the fresh rate of projector and the camera are very high, at least 240hz (DLP) for the projector and more than 500hz for the camera. The corrected code is shown above, the dot in the center is the signal for that channel. The two pictures on the left are two continuous frames of the scene, or 2 bit in the Gray code in CDMA, for all the channels.

The structured light system, my computer, projector and the camera.

Friday, February 12, 2010

Google Image Swirl ... Matlab version!!

Today, I implement what is so called Google Image Swirl in Google Lab webpage. I developed this without even knowing that Google has similar applications. After checking out the techniques they use in a paper from Google, it is EXACT the same method! But anyway it still worth logging my experiment.
I programmed a Matlab version (well, not pure Matlab, the main function is in C, will move to CUDA later) of image search engine, using SIFT features and network analysis techniques similar to what Google are using.
A simple test result is shown as above, the engine successfully rank images such that images from the same scene are grouped together. Codes are currently efficient enough and ready to tackle bigger image databases. If anyone interested, contact me. Google Image Swirl: http://image-swirl.googlelabs.com/

Update: the CUDA version with Matlab interface is here!! 200 images 'swirl' for just merely 30 seconds on my GTX295. I am only use one chip in 295 so it can further improve. 200 images, that's 40000 comparisons.That's about 100 times speed up to my c implementation with Matlab interface, Yay!

Thursday, January 7, 2010

Multi Layer Bayesian Network for Image Fill-in

In this term project, we proposed an new semi-supervised technique for image fill-in.A hierarchical Bayesian model is learnt from natural images and user specified image database, like face database if the image to be fill-in is a face.
Each layer is composed of a set of constellation model using the previous layer.At the first layer, for example, Gabor like image patches are learnt, higher layers are composed of several Gabors.
At each layer, MAP is used as patch detector and use this decision to guide the fill-in process from the top to bottom.

Such fill-in method can also be further developped to do: super resolution, occlusion detection, 3D from single image, etc.

similar related work by others: "Convolutional Deep
Belief Networks for Scalable Unsupervised Learning of Hierarchical Representations" H. Lee. et.al ICML 2009.