Making 3D Models from Video Clips 103
BoingBoing is covering an interesting piece of software called VideoTrace that allows you to easily create 3D models from the images in video clips. "The user interacts with VideoTrace by tracing the shape of the object to be modeled over one or more frames of the video. By interpreting the sketch drawn by the user in light of 3D information obtained from computer vision techniques, a small number of simple 2D interactions can be used to generate a realistic 3D model."
Another step towards AI (Score:4, Interesting)
Re:Another step towards AI (Score:5, Interesting)
Wow, congrats to the submitter (Score:0, Interesting)
Re:Software for 2D images for 3D models is not new (Score:3, Interesting)
The main problem with existing techniques is that they often require a lot of user interaction to create a complete model, because points between images have to be delineated and correlated by hand, or at best with some minimal computer assistance.
A video-based process can take advantage of the fact that changes between the images will be relatively small, and follow definite trajectories, which would allow an appropriate algorithm to identify and correlate features with almost no manual intervention. This would be an absolutely huge improvement in usability, although it's not an easy problem by any means.
For example, the program may be able to easily isolate objects from the background by tracking differences in how points move due to perspective, which can be done with discontinuous still pictures, but is much harder to say with any confidence which points correlate with which under arbitrary changes in point of view.
To give an analogy, it'd be like giving you a picture of a whole egg, and a picture of a crushed egg, and asking you try to and accurately trace back where individual pieces of the shell came from. It'd be much, much easier if you had a video of the egg being smashed, where you could trace out, frame by frame, where individual pieces came from.
It's not the same problem, but for a computer, it's comparably hard. For a human being, if the egg wasn't smashed, it'd be relatively simple to pick out which points relate to which, but that's only because we have a sophisticated image recognition system that allows us to reason about shapes. If you happen to have two pictures of an unfamiliar object from radically different points of view, it can be quite tricky to decide what the whole object must look like. Show a video of the same object, moving around between different points of view, and it's not nearly as hard.
This sounds like a project I did some work on (Score:5, Interesting)
Test case (Score:3, Interesting)
Re:Another step towards AI (Score:5, Interesting)
In terms of object recognition, there has been great work done by treating an "nxn" pixel image as a point in n^2 space, and then reducing the computation space and projecting a given image onto that new, lower-dimensional approximation of the original object, and finding a match via a nearest-neighbor search through recognized objects.
There is also good work being done in terms of getting a detailed 3-d model using structured light methods: http://www.prip.tuwien.ac.at/research/research-areas/3d-vision/structured-light [tuwien.ac.at]
There is good literature out there, but sometimes the math gets over my head =P
Re:computer vision technology is pretty wild (Score:5, Interesting)
The same is true for image recognition. You can get a computer to recognize movement pretty easily. Heck, the ability for software to detect the 3d form of an object has been around for ages. However, getting a computer to watch Star Wars and say "I see Dennis Lawson sitting inside an X-Wing fighter." is, as I said before, difficult to do without a concept of 'experience'.
We'll get there one of these days, but right now the sorts of cool-sounding advancements we've been seeing really only work in very specific circumstances.
Re:Another step towards AI (Score:5, Interesting)
Similar concept for my thesis (Score:2, Interesting)
Re:Another step towards AI (Score:2, Interesting)
Navigation might work, but it's far from perfect, or even good.
It's nice that your robot can tell when something is blocking its way. But how does it know when there is nothing left to walk/drive on? For instance, a stair leading down, or a change in materials (from sand to water, or asphalt to ice) that would prevent it from moving properly? Can it tell that certain variations are normal (a rug, or different colored tiles on a ceramic floor) and some are dangerous (the edge of an in-ground pool)?
When a robot/computer can tell that something is in it's way- and figure out what that object is, and if it can be moved (safely, and to where), then we're approaching *decent* AI.