Showing posts with label machine vision. Show all posts
Showing posts with label machine vision. Show all posts

Tuesday, June 29, 2010

Graffiti Analysis Sculptures


Graffiti Analysis: 3D from Evan Roth on Vimeo.

Graffiti Analysis: Sculptures is a series of new physical sculptures that I am making from motion tracked graffiti data. New software (GA 3D) imports .gml files (Graffiti Markup Language) captured using Graffiti Analysis, creates 3D geometry based on the data and then exports a 3D representation of the tag as a .stl file (a common file format compatible with most 3D software packages including Blender, Maya and 3DS Max). Time is extruded in the Z dimension and pen speed is represented by the thickness of the model at any given point. I then have this data 3D printed to create a physical sculpture that serves as a data visualization of the tag. For the Street and Studio exhibition at the Kunsthalle Wein, I collaborated with an anonymous local Viennese graffiti writer and had the GA sculpture printed in ABS plastic. Graffiti motion data of his tag was captured in the streets (for the first time) at various points around Vienna.

More information (including software, source code, and many more pictures) can be found at Evan's website.

Sunday, May 16, 2010

Human Tetris



Cornell Students Adam Papamarcos and Kerran Flanagan have built an awesome set of small games using micro-controller based video processing. The details of the build (excellently documented - my students should take note) are provided at the Cornell Project Website, and more videos detailing how the system works are available at Engadget.

Thursday, May 13, 2010

RBT337 Final Project: Augmented Reality Pong




Dan Willinger is back with his final project for RBT337 - Digital Vision and Sensor Processing.  Using OpenCV, Dan implemented an augmented reality Pong clone that tracks the size and location of two white objects (pens in the demo video) that act as the paddles in the game.  Also, the length of the white object can change the size of the paddle.

Wednesday, May 5, 2010

RBT337 Final Project: Face Recognition

A demonstration of the final project for my course RBT337 - Digital Vision and Sensor Processing by Brittany Wilkerson and Casey Johnson. Their final project used OpenCV's face detection and SURF algorithm to identify faces in a live video feed.

Tuesday, May 4, 2010

RBT337 Final Project: Glyph Tracking

Mike's back, demonstrating his final project for UAT's Digital Vision and Sensor Processing course. In this video, Mike is demonstrating his SURF-based Glyph tracking system. Take it away Mike!

RBT337 Final Project: Connect 4

For their semester project in UAT's Digital Vision and Sensor Processing course, Josh Butler and Mark Stoddard implemented an excellent Connect 4 augmented reality program that warns a user if 3 pieces of the same color are placed in a row by highlighting the warning area in green. If a set of 3 is blocked, it is eliminated as a possible "win."

This first video shows the program in operation, live, raw video in the top left, augmented video in the bottom left, and color filters on the right for red and black pieces.



This second video demonstrates some of the inner workings of the program.

The bottom left pane now shows how the program scans over the all of the possible positions in the live feed, determining if the location contains a red or black piece, or is empty. This information is used to populate an array internally, which is then checked for "3 in a row."

RBT337 - Optical Flow

This is another assignment in UAT's Digital Vision and Sensor Processing course. In this laboratory, students are tasked with implementing and comparing optical flow algorithms, one using Lucas Kanade, and another using SURF.

Here is Mike Peters demonstrating optical flow using the Lucas Kanade algorithm:


And the SURF Algorithm:

RBT337 - Object Tracking

As one of the laboratory assignments in the UAT Digital Vision and Sensor Processing course, students implement the OpenCV SURF algorithm on a live video feed.  Here are some example videos of what my students produced. In the videos, the white lines indicate the tracking of matched features in one image (usually a target) to another (the live video).


(By Josh Butler)


(By Leonard Hockett)


(By Ryan Carmain)


(By Mike Peters)

Monday, March 29, 2010

ViBe Background Extraction

Researchers at the University of Liege in Belgium have made a breakthrough in machine vision.  Background extraction is the separation of a "normal" background image from more interesting "new" pixels such as moving objects.

This new algorithm is very high performance and computationally efficient.  Unfortunately, it's completely patented, but a demo video and a paper describing the method are linked below.





O. Barnich and M. Van Droogenbroeck. ViBe: a powerful random technique to estimate the background in video sequences. In International Conference on Acoustics, Speech, and Signal Processing (ICASSP 2009), pages 945-948, April 2009. Available as a IEEE publication or on the University site.

Monday, March 1, 2010

Compressed Sensing - Getting something for nothing

Wired has an interesting article on the data-manipulation techniques that could lead to real Blade-Runner / CSI style image enhancement.

1 Undersample
A camera or other device captures only a small, randomly chosen fraction of the pixels that normally comprise a particular image. This saves time and space.

2 Fill in the dots
An algorithm called l1 minimization starts by arbitrarily picking one of the effectively infinite number of ways to fill in all the missing pixels.

3 Add shapes
The algorithm then begins to modify the picture in stages by laying colored shapes over the randomly selected image. The goal is to seek what’s called sparsity, a measure of image simplicity.

4 Add smaller shapes
The algorithm inserts the smallest number of shapes, of the simplest kind, that match the original pixels. If it sees four adjacent green pixels, it may add a green rectangle there.

5 Achieve clarity
Iteration after iteration, the algorithm adds smaller and smaller shapes, always seeking sparsity. Eventually it creates an image that will almost certainly be a near-perfect facsimile of a hi-res one.

I haven't seen the original paper, so I'm a little skeptical. I'd like to see what kind of error is incurred by this successive approximation.   How different is the reconstructed image from the original?  There are always limits to these things.