Computer Vision Projects

"Every person takes the limits of their own field of vision for the limits of the world."
-Arthur Schopenhauer

This blog is a journal of the computer vision work of Matt Young, grad student in Electrical Engineering at the University of Illinois, Urbana-Champaign.

Sunday, November 28, 2004

Image Flow

So, to detect occlusions, pretty much the first step in any case is to calculate the image flow (aka optical flow, free flow, etc). This is very similar to feature tracking, except with feature tracking the goal is to follow certain things from frame to frame, and with image flow you want to see how EVERYTHING moves from frame to frame.

Why is this important to occlusions? If you calculate the image flow, you will notice certain regions will disappear from the image flow from frame to frame. This gives an idea of what regions are in front of other regions.

The problem? Image Flow is actually pretty difficult to calculate accurately. However, I think I've found some MATLAB code by Temu Gautama that seems to do a decent job. I added a link to it on the side bar.

The next step is to take the image flows calculated between various images and use them to find all the occlusions. We'll see how long it takes me to get stuck this time. :-)

Tuesday, November 16, 2004

Ideas

As a part of my research into occlusions I read a paper on "Motion Segmentation Using Occlusions" by Abhijit S. Ogale, Cornelia Fermuller, and Yiannis Aloimonos. I've added a link to the paper in the sidebar under Papers and Downloads if you're interested in reading.

This paper the authors strive to create a general method for segmenting a scene into various different objects, but the section which I found most interesting was section V, in which they discussed their algorithm for determining ordinal depths (meaning like object 1 in front of object 2 in front of object 3) from three video frames. Their technique seems to me elegant in it's simplicity, although obviously the math behind it is somewhat complex.

While considering what to do for a project, I have found myself stuck on the question "What useful applications of occlusion detection are there?" The problem here is questioning when occlusion detection, which is a relatively long-winded process, is needed over a more simple solution. For example, if you want to detect whether a door is open or not, a simple laser beam will do the trick much more efficiently than a costly occlusion detection system. And if you merely want to detect when your view of a certain object is being blocked, simply looking for changes in intensity makes a lot more sense than trying to actually detect an occluding object.

So I've been able to brainstorm a small number of examples where occlusion detection would be a better solution than something computationally simple:


1. When there might be multiple occlusions occuring in a scene, and only certain ones are important (Example: a door opening may not be a problem, but someone walking through it might be).


2. When the surface being occluded is too complexly textured for a simple intensity algorithm to work (Example: Suppose you want to detect if someone is in front of your TV screen, but the screen itself may be constantly changing).


3. You care about the structure of the occluding object (Example: you have a machine which puts labels on cans. You want it to stick a label when it has a can in front of it, but not someone's hand)




These are some interesting ideas to think about, and ultimately I will rest on one of them, or a similar one, for my project. However, initially I want to get some sort of occlusion detection algorithm working. I think it will give me a better idea of when exactly occlusion can be a useful tool.


Tuesday, November 09, 2004

Getting Started...

Hello out there.

My name is Matt Young, and I set up this blog to serve as a journal of my computer vision projects here at the University of Illinois. I hope that any visitors to the site find my work both interesting and useful.

My main project right now is for Professor Yi Ma, and it's just getting underway. My initial idea was to design an algorithm which would be capable of taking several pictures of a scene and performing the following operations:

1. Recover the 3D geometry of the scene
2. Find occlusions in the scene and determine what regions of the scene are not visible
3. Determine an optimal set of movements that will reveal all the hidden areas of the scene


However, in a meeting with Prof. Ma earlier today I was easily convinced that this sort of project is FAR too difficult for the time constraint that I have. Prof. Ma encouraged me to focus simply on the occlusion problem and try to find an interesting subtopic to consider. He gave me a paper to read on the subject to jump start my work.

I'm going to have to give this some serious thought over the next few days...