We closed this forum 18 June 2010. It has served us well since 2005 as the ALPHA forum did before it from 2002 to 2005. New discussions are ongoing at the new URL http://forum.processing.org. You'll need to sign up and get a new user account. We're sorry about that inconvenience, but we think it's better in the long run. The content on this forum will remain online.
IndexDiscussionExhibition › 4D Cities
Page Index Toggle Pages: 1
4D Cities (Read 1435 times)
4D Cities
May 5th, 2008, 11:35pm
 
Hi All,

I'm building a 4D viewer (3D + time) to share some work on reconstructing 3D city models from historical photographs -- something like Photosynth + Google Earth + Time Travel:

http://4d-cities.cc.gatech.edu/atlanta/

You can navigate by dragging the timeline, clicking thumbnail photos, looking around with the mouse, and jumping to orbit mode.  Any feedback is greatly appreciated.  Thanks!

-Grant
Re: 4D Cities
Reply #1 - May 6th, 2008, 3:06pm
 
Hi grant,

Thanks for sharing the project, it's looks awesome. I'm curious about the "structure from motion" algorithm that you mention on the page. Would you be able to point me in the direction of it. I'd love a read.

MattD
Re: 4D Cities
Reply #2 - May 6th, 2008, 9:46pm
 
Thanks, MattD.  Hopefully you won't be sorry you asked Smiley but here is (1) a brief explanation and (2) some structure from motion resources:

1. Brief intuition: In Processing/OpenGL, you can feed a list of 3D vertices into a camera matrix to get out a bunch of 2D points (the image you see).

What if we do it backwards -- all we have are the 2D points (the image), and we want to figure out the 3D vertices and the camera matrix?  This is impossible with only one image, but if we have two or more images of the SAME 3D scene from different viewpoints, there is only one possible configuration of 3D vertices (structure) and camera matrices (motion) that could have produced the images.  So, to gloss over many details, we iteratively search for this correct configuration, getting closer and closer to the right answer at each step.

2. It's tough to find a really good introductory explanation of structure from motion techniques, mostly because they jump to the math before the intuition is established, but this document has the gentlest introduction I could find: http://www1.cs.columbia.edu/~jebara/htmlpapers/SFM/sfm.html

A nice recent overview of a whole pipeline is Noah Snavely's original Photo Tourism work at SIGGRAPH: http://phototour.cs.washington.edu/Photo_Tourism.pdf

And here's the textbook if you really want to dive in: http://books.google.com/books?id=si3R3Pfa98QC

I hope all that points you in the right direction.  Note that this applet isn't doing the structure from motion at runtime -- it is just displaying the results.
-Grant
Re: 4D Cities
Reply #3 - May 6th, 2008, 11:09pm
 
Thank you so much. Those resources are fantastic. I tried to do something similar a while ago with only 2 images. It worked well but when I tried to expand it I got stumped on

1. How to find a sift algorithm for java (I was using PTGUI to get points between 2 images)

2. The correct math on rotating and positioning the cameras in 3D. As soon as that capital-sigma notation turns up a little part of my enthusiasm dies Wink

MattD
Re: 4D Cities
Reply #4 - May 9th, 2008, 11:57am
 
I'm very impressed!!!!

Any further progress of this project? I would love to see one that's a bit more polished with threading to handle your load times because I thought the program had crashed on several occasions. I know that presentation is not one of your main priorities, but I thought it could be improved somewhat.

Please keep us up to date!
Re: 4D Cities
Reply #5 - May 9th, 2008, 12:54pm
 
intresting project...

Re: 4D Cities
Reply #6 - May 10th, 2008, 10:42am
 
Thanks, mflux (and introspector).  Great idea with the threading for image loading!  I can't believe it hadn't occurred to me -- I'll get on that as soon as possible.

Any further tips on polish/presentation/interface are extremely welcome as this is still very much in development -- I'll post here if any significant improvements are made.
Page Index Toggle Pages: 1