[comp.sys.mac] 3-D Graphics Question

johnroc@ssyx.ucsc.edu.UUCP (11/25/87)

I have digitized a photo of an African village taken from an unknown
altitude and an unknown angle.  I am wondering if anyone can recommend
a program that can take this image and rotate it in 3-D so that I can
get an idea of the exact size of the fences surrounding the village, 
from all angles.

 

lippin@spam.UUCP (11/26/87)

Recently johnroc@ssyx.ucsc.edu (John Rocchio) said:
>I have digitized a photo of an African village taken from an unknown
>altitude and an unknown angle.  I am wondering if anyone can recommend
>a program that can take this image and rotate it in 3-D so that I can
>get an idea of the exact size of the fences surrounding the village, 
>from all angles.

If someone has invented an algorithm that can do this, I'd like to
hear about it.
					--Tom Lippincott
					..ucbvax!bosco!lippin

    "Those are line *segments*, sir."  --Second City,
				"Football Comes to the University of Chicago"

sarrel@tut.UUCP (11/26/87)

In article <1259@saturn.ucsc.edu> johnroc@ssyx.ucsc.edu (John Rocchio) writes:
>I have digitized a photo of an African village taken from an unknown
>altitude and an unknown angle.  I am wondering if anyone can recommend
>a program that can take this image and rotate it in 3-D so that I can
>get an idea of the exact size of the fences surrounding the village, 
>from all angles.

I tried to send mail, but the mailer bounced the letter back.  Sorry.

=====

The program you're asking for is in the area of computer vision.  Such a
program would be able to recognize the different elements in the picture
(fences, buildings, etc) and construct an internal model of the scene.
Once the internal model is constructed, any old 3D graphics display
program could display it from any angle.

However, the program to do that recognition probably hasn't been written
yet.  I'm not an expert on computer vision.  My area of interest here in
grad school is computer gaphics.  However, I'm taking a computer vision
course next quarter, so I guess I'll be and expert real soon :-).  But,
seriously, from what I know, the computer vision software that's been
written works only on a very limited domain of objects.  If you were to
give your picture to such a program, it probably wouldn't give correct
results.

Even if such a program existed, it would be part of someone's research
project and probably wouldn't be written for the Mac.  Don't get me
wrong, what you suggest is a wonderful and perfectly valid idea.  The
only problem is that you're several (many?) years too early.

Recognizing objects in a photograph and contructing a 3D model is
something that the human mind does very well, but that computers are not
able to do yet.  I'm sure that the U.S. government would love to be able
to do this sort of thing witht their spy sattelites.  However, if they
can, they ain't saying how.

Sorry to throw a wet towel on your idea, but I hope I helped.  If you
find out something significantly different from what I said, please let
me know.  I'd be interested to learn about it.
-- 
Marc Sarrel			The Ohio State University
611 Harely Dr #1		Department of Computer and Information Science
Columbus, OH  43202-1835	sarrel@tut.cis.ohio-state.edu
Disclaimer:  Hey, what do I know?  I'm only a grad student.

nivek@ROVER.RI.CMU.EDU (Kevin Dowling) (11/26/87)

>From: johnroc@ssyx.ucsc.edu (John Rocchio,,6888601)
>Subject: 3-D Graphics Question
>
>I have digitized a photo of an African village taken from an unknown
>altitude and an unknown angle.  I am wondering if anyone can recommend
>a program that can take this image and rotate it in 3-D so that I can
>get an idea of the exact size of the fences surrounding the village, 
>from all angles.

I'm not sure you understand how difficult this problem is. How do you
get depth information from a single image? Humans do it pretty well through
interpretation, but in a digitized photo (color?, grayscale?) how do you
recover that information?

Work at CMU can take stereo images (known translation and rotation bwtween
images) and can construct 3d scenes in that manner. Other work has taken
satellite photos and generated 3-D scenes of cities. All these methods are
very computationally expensive. Laser scanners are nice for both depth and
relectance and are being used in mobile robot efforts here too.

Unless you have more information than you indicated in your post it's going
to be a tough problem!
					nivek


Aka :	Kevin Dowling		Bell:	(412) 268-8830
Arpa:	nivek@rover.ri.cmu.edu	Mail:	Robotics Institute
				Carnegie Mellon University
				Pgh, PA 15213-3890
				

brent%terra@Sun.COM (Brent Callaghan) (11/26/87)

In article <2329@tut.cis.ohio-state.edu>, sarrel@tut.cis.ohio-state.edu (Marc Sarrel) writes:
> Recognizing objects in a photograph and contructing a 3D model is
> something that the human mind does very well, but that computers are not
> able to do yet.  I'm sure that the U.S. government would love to be able
> to do this sort of thing witht their spy sattelites.  However, if they
> can, they ain't saying how.

I've seen some nice 3D renderings of terrain derived from
Landsat images.  I saw the first in a magazine - a color
image of some dry valleys in Antartica looking obliquely
down the valley.  The color was from the original
image.  I believe that the depth information was computed
from a stereo pair.

On a Nova program on TV a few weeks ago I saw a computer
generated movie of a tour of the LA basin.  It gave the
impression of a ride in a 1,000 mph helicopter.  Again, the
terrain model was Landsat computed from a Landsat image.

I have the impression that the amount of computer horsepower
needed to generate these images is well beyond what a Mac
can offer.

Made in New Zealand -->  Brent Callaghan  @ Sun Microsystems
			 uucp: sun!bcallaghan
			 phone: (415) 691 6188

gillies@uiucdcsp.cs.uiuc.edu (11/27/87)

One known way to get a good 3-D terrain rendering is to start with two
images taken at a fixed difference apart.  Then you can write image
processing algorithms that can correlate similarities in each image
and give you a 3-D rendering.  This is possible for LandSAT photos
because the LandSAT satellite takes many pictures, at known, regular
intervals.

However, if you only have *one* image of an african village, or even
if you have two but they were *taken inaccurately* (e.g. the camera wasn't
perpendicular to the ground, or you don't know how far apart they were
taken), then the problem is likely to be unsolvable.

There may be commercial companies that may vend this type of image
processing.  Or you could seek out a university with a professor in
image processing (C.S. or optics/physics dept) to find out more
information.

Don Gillies {ihnp4!uiucdcs!gillies} U of Illinois
            {gillies@p.cs.uiuc.edu}

shap@sfsup.UUCP (J.S.Shapiro) (11/28/87)

In article <34960@sun.uucp>, brent%terra@Sun.COM (Brent Callaghan) writes:
> ...  The color was from the original
> image.  I believe that the depth information was computed
> from a stereo pair.

Having a stereo pair from almost directl above simplifies the
problem tremendously, as does getting your color artificially.

Jon SHapiro

julian@riacs.edu (Julian E Gomez) (12/02/87)

In article <34960@sun.uucp> brent%terra@Sun.COM (Brent Callaghan) writes:
" On a Nova program on TV a few weeks ago I saw a computer
" generated movie of a tour of the LA basin.  It gave the
" impression of a ride in a 1,000 mph helicopter.  Again, the
" terrain model was Landsat computed from a Landsat image.

"L.A. The Movie"  Kobrick et al, 1987.
The Landsat data was combined with known elevation
data to produce a 3-D model, which was then
manipulated with conventional techniques.

-- 
"Physicists are mathematicians in a hurry"  B. Mandelbrot

	Julian "a tribble took it" Gomez
	julian@riacs.edu || {...decvax!}ames!riacs!julian

mike@thumperbellcore.com (Michael Caplinger) (12/11/87)

If all you want to do is rotate the image such that you get a straight-down
view of it, a simple geometric transformation with some kind of
bilinear interpolation will do what you want -- a little guesswork about
slant angles is all that's needed.  Try looking in an elementary image
processing book.  I don't know of any commercial software that'll
do this, but it's easily within the processing power of a Mac, if
you don't mind waiting a few tens of minutes per transformation.

Getting elevation data from a single image can also be done, given
a knowledge of lighting angle and surface reflectivity characteristics;
it's like doing image synthesis backwards, and the process is usually
called photoclinometry.  Such techniques have been used on data from
the Voyager mission since stereo pairs typically weren't available.

I'm a little bemused by peoples' reactions to this problem; it just isn't
as hard as y'all thought...

	Mike Caplinger, mike@bellcore.com