3D Cities in Google Earth

Miramar Pyramid - San Diego
View in Google Earth
The past few days I have been experimenting with creating photo textured buildings for Google Earth. When it became a free download last year, I spent several hours exploring the satellite photos around the world. Now all the major mapping services offer free satellite views and hybrid views. Microsoft recently added full 3D cities to their Virtual Earth. This got me wondering what it would take to make full 3D cities for Google Earth.
A couple years ago, I attended the Game Developer's Conference in San Jose, and came across a booth with some brochures promoting a new 3d modeling app called SketchUp by @Last Software. I had heard the name before and knew it was a 3d modeling program, but I didn't know what advantages there were to using it. Also, since they were advertising at the Game Developer's Conference, I was curious how it could help in the game industry.
So I asked the representative what SketchUp could do, and his response was: "It does 3D." I asked if there were advantages or specific uses I would want to use SketchUp for, instead of 3ds Max or Maya. His response was: "No, you're better off using those other programs."
Obviously this guy was not in the mood to talk. Regardless, I never looked into SketchUp again. I figured, "Why be interested if they aren't interested in it themselves?" Atleast, that was the impression I got from GDC.
It wasn't until Google bought SketchUp and made it free to use that it caught my interest again. A couple weeks ago I downloaded the latest free version and went through the video tutorials. I was pretty impressed. Compared to higher end modeling packages, it's still pretty basic, but it's very easy to learn, and seems efficient for what it does. Recently Google added texture support as well. It's exciting to see Google backing a 3d modeling program, and making it accessible to the public.
This brings up the connection with Google Earth. Google has setup a website that lets users of SketchUp create models, and upload them to the Google 3D Warehouse. You can also export your SketchUp models directly into Google Earth and share them online. I really like SketchUp now, and the texturing capabilities are promising. It's true, you can map a photograph onto a model in SketchUp, but it's still tedious compared to a photogrammetric system which allows a user to create geometry over photographs which are then projected onto the model. This way you're modeling and texturing in just one pass.
I was curious if I could find a better solution that let me recreate buildings with photo projected textures relatively quickly and accurately, then import them into Google Earth.
The first thing I needed were suitable photos of buildings from multiple angles. I realized Microsoft's Live Local Search was the perfect place since last year they added a new type of map view called Bird's Eye view. Basically they have aerial photos of the major cities taken at an angle from each direction. If you have ever played SimCity, it looks eerily similar. This is also perfect for getting aerial shots of any building from all four directions! (Note: As Frank Taylor from Googe Earth Blog pointed out, Microsoft naturally wouldn't allow Google to use their photos for mass use, so unfortunately users would have to find other sources to draw from.)
The next application I tried out was Realviz ImageModeler. After assigning a dozen calibration points for each photo, you draw faces over the photos, extrude them where you want, repeat and tweak. It works fairly well and straight forward, although there's a lot of setup time in the beginning and I often got some bizarre results in the end. I felt like it was still not user friendly enough. PhotoModeler by EOS Systems is also a very powerful photogrammetric package, but even less user friendly.
So, I dusted off my old cdrom of Metacreations Canoma. The last time I used Canoma was in high school before I barely knew anything about 3d modeling. But I fondly remember recreating parts of my home town in full 3d with this little gem. Then Metacreations disappeared and sold all their products to other companies. Canoma was sold to Adobe. Many people expected Adobe to release an update afterwards. It never happened. There were rumors the technology might be integrated into Adobe Photoshop. Instead, Canoma quietly disappeared.
Adobe later released Adobe Atmosphere, which was a 3d modeling tool and browser. Whether Canoma was something they planned to integrate or not, the "virtual world / web 3d" technology didn't catch on, and Adobe Atmosphere was discontinued. That's where the trail to Canoma ends.
So with a bit of nostalgia, I reinstalled Canoma. I imported my four photos of a building from each direction. I chose one of the preset primatives and aligned it to each photo. As you create more objects, you are continually recalibrating and fine tuning the scene as you go. After checking the scene in the 3d view, I pushed the render button, and almost instantly I had a photo mapped texture based on my four photos on a relatively accurate model. I was (re)amazed how quick and easy it was to make.
Unfortunately if you didn't buy Canoma before it was sold to Adobe, it's tough to find now. Why isn't there something else like this available?
Realviz does make another product that comes close, and that's Realviz VTour. It too is very easy to use, and the results are impressive. The downside is that the current version only supports one photograph or one panoramic image to be mapped onto your scene. I would like to see Realviz make their other program, ImageModeler, just as easy to use as VTour.
So after a few trials, I was able to quickly recreate buildings and structures from aerial photos in Canoma. I exported the results to OBJ files, imported them into 3ds Max, and from there I exported as a Collada file, which is the supported import 3d format of Google Earth. Once the textured model was in Google Earth, I was able to scale it and fix the orientation in the correct location on the map.
So it could be done! But my method still isn't the most streamlined, and requires me to use several chained applications. I can't see a casual user going through the same process, besides the fact that some of the software I used is discontinued.
Google has been funding projects to map cities with lasers at street level. I wouldn't be surprised if that somehow ends up in Google Earth. That would be amazing and provide all kinds of new uses. But that won't get skyscrapers, buildings and anything else above street level. Chances are those Google lasers won't be in every neighborhood. Other researchers are combining street level scanning with aerial photos, with encouraging results.
Google Earth first has to handle the increased amount of geometry better than it does now if you want to have cities in full 3D. Mipmaping the textures of the models within the engine, and some kind of LOD system for the meshes might help. Whatever it takes, Microsoft seems to have pulled it off with Virtual Earth. I would love to see it happen with Google Earth.
SketchUp should take cues from Canoma, perhaps have a wizard that lets the user perform similar functions of photo projecting onto a model and combining textures from multiple photos. Canoma proves it's possible to streamline this process. Users can then upload straight to Google 3D Warehouse. Within Google Earth, users could specify a filter as to what models they want streamed, based on ratings, themes, regions, etc.
Certainly not every building in the world is going to be recreated with this method, but the potential to increase the amount of realistic 3d content could be huge, and on a global scale. It could give Google even more edge over Microsoft's teams of modelers recreating only major U.S. cities. Watch out for Photosynth though, if Microsoft eventually merges it with Virtual Earth, they will have a killer app.
Google is on the right track integrating SketchUp with Google Earth. My hope is they are already developing new tools for SketchUp that will let users create more realistic textured models from their photos as well as improving Google Earth to load these models in larger quantities. Realviz has also been making a point that their software can now export to Google Earth. There are a lot of technologies and possibilities on the horizon, I am looking forward to seeing even more of this potential realized.
[Realviz]
Labels: 3d, Google Earth, Photogrammetry


