![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
http://www.youtube.com/watch?v=TuHJUS2olyc
Cool. Use Photosynth to take a bunch of pictures and turn it into a 3D model.
I saw how to do something like this like 25 years ago, in Byte magazine or
something, using a digitizer (what we'd call a graphics tablet today) on a
few pictures to identify the common points. Never really followed the math,
unfortunately.
Anyone know what the math behind "here's a bunch of 2D images, figure out
the 3D shape" is called?
--
Darren New, San Diego CA, USA (PST)
The question in today's corporate environment is not
so much "what color is your parachute?" as it is
"what color is your nose?"
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Darren New wrote:
> http://www.youtube.com/watch?v=TuHJUS2olyc
>
> Cool. Use Photosynth to take a bunch of pictures and turn it into a 3D
> model.
>
> I saw how to do something like this like 25 years ago, in Byte magazine
> or something, using a digitizer (what we'd call a graphics tablet today)
> on a few pictures to identify the common points. Never really followed
> the math, unfortunately.
>
> Anyone know what the math behind "here's a bunch of 2D images, figure
> out the 3D shape" is called?
The technique used by Photosynth is called "structure from motion".
Also the method shown in the video almost certainly will not work well
for a wide range (probably most) Photosynth scenes. It's probably only
actually useful for cases (such as described in the video, to its
credit) where you're taking all the photos yourself and thus can go back
and get more to fill in any areas where you missed. It probably also
won't work well on scenes without a lot of surface texture, with
transparent or reflective surfaces, or where the small-scale accuracy is
important (such as on most architectural scenes). So basically, don't
get too excited, there's a reason why you haven't seen any major demos
of getting 3D models from Photosynth yet.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Kevin Wampler wrote:
> The technique used by Photosynth is called "structure from motion".
Thanks, but I was thinking more of a technique where you already know which
points on the image are also on other images, rather than where you have to
deduce them. For example, I could take a few images of a simple cubistic
object, the point out "this point is the top left corner of the doorway in
this photo, and that point is the top left corner of the doorway in that
photo". I saw an article long ago about that but didn't learn the math.
> actually useful for cases (such as described in the video, to its
> credit) where you're taking all the photos yourself and thus can go back
> and get more to fill in any areas where you missed.
Yeah, I gathered that from his 425 photos of that one little pile of rocks. :-)
> get too excited, there's a reason why you haven't seen any major demos
> of getting 3D models from Photosynth yet.
I just thought it was cool. :-) I like easy ways to get models.
--
Darren New, San Diego CA, USA (PST)
The question in today's corporate environment is not
so much "what color is your parachute?" as it is
"what color is your nose?"
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Darren New wrote:
> Kevin Wampler wrote:
>> The technique used by Photosynth is called "structure from motion".
>
> Thanks, but I was thinking more of a technique where you already know
> which points on the image are also on other images, rather than where
> you have to deduce them. For example, I could take a few images of a
> simple cubistic object, the point out "this point is the top left corner
> of the doorway in this photo, and that point is the top left corner of
> the doorway in that photo". I saw an article long ago about that but
> didn't learn the math.
I've still heard what you're referring to called structure from motion,
but I believe the term you're looking for would more accurately be
called "bundle adjustment". The reason I didn't mention that first is
that in practice you often need other elements to the algorithm in order
to avoid the local minima which the nonlinear least squares optimization
used by bundle adjustment is prone to.
>> get too excited, there's a reason why you haven't seen any major demos
>> of getting 3D models from Photosynth yet.
>
> I just thought it was cool. :-) I like easy ways to get models.
It is cool. And I'm relatively sure we'll be seeing some really neat
stuff in this area within the near- to mid-term future.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Kevin Wampler wrote:
> I've still heard what you're referring to called structure from motion,
> but I believe the term you're looking for would more accurately be
> called "bundle adjustment".
Cool. I'll grope into this then. I'm pretty sure what I saw described was
primarily for things with straight lines.
I've also seen setups where you take the model and put it on (say) a card
with some markings around the edge for alignment, and take a bunch of
photos, and come up with the 3D shape based on the silhouettes.
All of interest to me because my artistic capability sucks. ;-)
> It is cool. And I'm relatively sure we'll be seeing some really neat
> stuff in this area within the near- to mid-term future.
I bet so.
--
Darren New, San Diego CA, USA (PST)
The question in today's corporate environment is not
so much "what color is your parachute?" as it is
"what color is your nose?"
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Kevin Wampler wrote:
> but I believe the term you're looking for would more accurately be
> called "bundle adjustment".
I looked at this a bit. It looks way more complicated than what I remember,
given that one entered all the points by hand. It was just a mess of a few
linear equations, really, IIRC. I think they were just using surveying
techniques (basic triangulation) more than anything sophisticated that could
make allowance for different cameras and unknown points of view.
I'll see if I can find old BYTE magazines online or something. :-)
--
Darren New, San Diego CA, USA (PST)
The question in today's corporate environment is not
so much "what color is your parachute?" as it is
"what color is your nose?"
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Darren New wrote:
> Kevin Wampler wrote:
>> but I believe the term you're looking for would more accurately be
>> called "bundle adjustment".
>
> I looked at this a bit. It looks way more complicated than what I
> remember, given that one entered all the points by hand. It was just a
> mess of a few linear equations, really, IIRC. I think they were just
> using surveying techniques (basic triangulation) more than anything
> sophisticated that could make allowance for different cameras and
> unknown points of view.
>
> I'll see if I can find old BYTE magazines online or something. :-)
>
Ahh, yeah, if you know where the cameras are it's a much simpler
problem. I'd tend to call that just "triangulation", but perhaps the
search term "epipolar geometry" would be useful to you as well:
http://en.wikipedia.org/wiki/Epipolar_geometry
http://en.wikipedia.org/wiki/Triangulation_(computer_vision)
If you can't find the reference it probably wouldn't be too hard to
derive this one from scratch, for instance by converting the camera
points to lines (rays) and then solving for their point of intersection.
If you want something a tad more general (any number of cameras and
better handling of errors) I think the main equation in the bundle
adjustment article becomes solvable with plain old linear least squares
if you fix the camera positions.
Good luck!
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Kevin Wampler wrote:
> Ahh, yeah, if you know where the cameras are it's a much simpler
> problem.
I don't really remember well enough, but I can't begin to imagine how to do
it without a lot of math and without knowing where the cameras were. :-)
Maybe you had to identify the ends of line segments (and perhaps right
angles or something), and from that it could figure out where the cameras
were. It was probably just some sort of triangulation I'm thinking.
I wish I knew I'd want to save such articles for the future. There were a
handful I knew I'd want to reference and I saved, but lots of good stuff
there that went into the moldy pile in the attic never to be seen again. Le
sigh.
--
Darren New, San Diego CA, USA (PST)
The question in today's corporate environment is not
so much "what color is your parachute?" as it is
"what color is your nose?"
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |