Hey! This thing is still a Work in Progress. Files, instructions, and other stuff might change!
Mount Rushmore from Internet Images & Free Software
by PrintableScience, published
Use This Project
Give a Shout Out
If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.Print Thing Tag
About 15 years ago, a company called MetaCreations Corp released a product called Canoma. In the current context its functionality was pretty limited, but at the time it blew me away. It allowed you to input a photograph and then with a fairly straightforward interface, allowed you to bend and rotate the image in 3d.
When I saw the See the World contest, I knew I wanted to respond to the challenge by using existing software to try and create a 3d object of a well known sculpture, building or landmark. After a few false starts (most notably the Statue of Liberty), I lucked onto Mount Rushmore. For such a famous landmark, I’m surprised there’s no 3d models of it to speak of.
While researching the current availability of software, I came across VisualSFM, which seemed to be exactly what I was looking for, as it claimed it could create a point cloud from non-sequential images. Most programs that this very important first step in 3d modeling — creating a point cloud -- want or expect the images to have been taken pretty much at the same time, and often with the same camera.
So I spent a few leisurely hours downloading images of Mount Rushmore (well more than just a few, and not that leisurely), and then spent more time than I care to admit learning all about how to prepare my image set for processing by VisualSFM and the other programs in the tool chain.
I haven’t personally been to Mount Rushmore, but I’ve spent so much time pouring over pictures that I think I could reasonably expect to get a job as a guide. I think I know every nook and cranny the monument has.
Now that the world has an STL file of Mount Rushmore, I’m sure it’ll be no time at all before all sorts of monuments start popping up with one or more the the presidents’ faces replaced by someone else’s image… say Stephen Colbert for example?
While googling about the net for everything and anything Mount Rushmore I came across the following quote from a Makerbot blog in 2011 (http://www.makerbot.com/blog/tag/meshlab):
“Using My3DScanner Tony uploaded 30 pictures from his camera phone to create the above gnome clone. Awesome!nWho is going to be the first person to create a 3D image of Mount Rushmore using this system?”
Well I didn’t use the service talked about in the blog, but I think I can claim to be the first person to create a 3D image of Mount Rushmore using only images from the net.
In addition to the STL file mountRushmore.stl, I’ve also included the following files:
This is the sparse reconstruction file created by VisualSFM that you load into MeshLAB as a project.
This is the dense reconstruction file that you would import into meshLAB.
Loading files 1 and 2 into meshLAB will give you the opportunity to play around with the point cloud and create your own meshes without the time and frustration of VisualSFM.
This is the mesh I created with MeshLAB and cleaned up to the best of my ability for importing into Blender for final processing.
This is a Blender file, with the simple objects I assembled and placed appropriately before the final construction, i.e. mesh union, intersection and difference.
I would have like to included the complete image set, but at over two and half gigabytes, I’m sure that wouldn’t make me very popular at Thingiverse.
It was my original intention to provide a video and accurate step by step instructions on how to achieve the same results as I present in the STL file I’ve attached, but unfortunately I have to go out of town and won’t be back until after the See the World challenge closing date. So it will have to wait. Stay tuned, I’ll get back to it when I return.
It’s easy to download pictures of buildings or monuments from the net and convert them into stl files that you can then use to print objects on your 3d printer, and with the use of easily obtained software, you can do it for free on your mac, windows or linux machine… as long as you’ve got a LOT of time on your hands.
Its a five step process.
- assemble an image set
- Create a point set for each image
- Compute a point cloud from all the point sets
- Create a mesh
- Clean up, edit and modify the mesh
There’s a free program called VisualSFM that will create a point set for each of your images and create a point cloud from your image set. You can then use the open source program MeshLAB to create the mesh from the point cloud produced by VisualSFM. Finally we use the open source program Blender to modify your mesh to create an STL file suitable for 3d printing.
I used Windows for the process, but all of the necessary tools and programs are available for the Mac and Linux as well. While the Mac is my machine of choice, and I used it for downloading my images and running meshLAB and
To start you’ll want to install the following software:
VisualSFM is a program that is responsible for the creation of image point sets and the creation of a point cloud. It outputs two different point clouds, which it refers to as Sparse and Dense reconstruction. Although all we require is the Dense Reconstruction, the Sparse reconstruction is generated automatically.
If you are using Windows, you’ll need to select either the CUDA or non-CUDA version, which simply means that if you have a nVidia graphics processor you want the CUDA version and the non-CUDA version if you don’t have an nVidia graphics card.
VisualSFM creates its own sparse reconstruction but requires two other programs to create the dense reconstruction. You’ll see from the installation guide that you have to download two other programs (CMVS and PMVS) in order to enable VisualSFM to create dense reconstructions. The visualSFM site provides links to the program files for these two extra programs so that getting up and running is straightforward.
MeshLAB is the open source program that we use to take the dense reconstruction point cloud produced by VisualSFM and use it to create our mesh. Although the process is quite straightforward, it makes the awkward visualSFM GUI seem well engineered and elegant in comparison.
Blender is another open source program and we use that to edit the mesh created by meshLAB and it has even a steeper learning curve than meshLAB, but if you persevere you’ll have your reward.
Once you’ve installed all the software you need, its time to assemble your image set and there’s not easier place to look than the net. To create Mount Rushmore i just typed it into Google, selected the “images” button and got more images of Mount Rushmore than I originally thought possible. However, you should use some discretion in what you download. Here are a few tips:
Choose an object that has lots of contrast. For example, the sahara desert would be a poor choice.
Choose a popular object. The more pictures you have taken from more than one perspective the better. Try to watch out for duplicates, but don’t be obsessed with it. Far better to have a duplicate or two, than discard the incredible value of having two pictures taken from even a slightly different vantage point.
Remember the limitations of your printer. For example, the statue of liberty sounds like a good idea, but all those spikes in her crown are overhang accidents waiting to happen.
If your object is popular, like Mount Rushmore or the Statue of Liberty, there’s going to be a lot of photoshopped variations. For instance, there’s thousands of Mount Rushmore pictures on the net that have one or more of the presidents’s heads swapped in with someone elses. Sorry, only the original will do.
Avoid copies. Mount Rushmore suffers from a number of well intentioned copies that people have constructed to honor this famous monument, which can sometimes fool you when you’re looking for images of your object. However, that just won’t do when trying to create a 3d reconstruction, you have to have the real thing.
- Look for as many different perspectives as possible. For example, while there are thousands of pictures of the statue of liberty taken by people below the statue, there’s really only a handful of photos taken from above. That will result in a final image that has great detail of her chin, but not so great of the top or back of her head. It often helpful to change your search terms in order to obtain a different set of images from which to choose. For example, “mount rushmore aerial” will give you some great pictures from above taken by airplanes.
Once you’ve assembled your image set, you need to sort through them making sure they’re compatible with the next step in the process. Here are the steps to follow:
- Discard anything under 15K in size. They usually don’t have enough detail to lend any improvement to your final model.
- Convert any image you downloaded that’s not in the JPEG format to the JPEG format. VisualSFM only works with JPEG photographs. Fortunately all OS’s have a graphics program that can convert images easily.
- Resize any image that has a dimension greater than 3200 pixels. While the visualSFM config file can be changed to accept files with higher resolution, you’ll suffer such a processing hit that you may not live long enough to have it process your image set before you die. Literally.
- DO NOT CROP any image. Many of the pictures you download also contain technical information about the photograph, including the effective focal length of the camera when the picture was taken. Generating an accurate point cloud uses the focal length in order to determine the distance of the camera from the photograph being taken. If you crop a photo, it can confuse the point cloud generator and make the inclusion of a cropped photograph pointless and even confusing.
Once you’ve edited your image set and put them all in a folder, you can fire up VisualSFM and load in the photos. For Mount Rushmore this worked out to 1024 images, which took it about 90 minutes to process. But wait there’s more. After you’ve loaded in your image set, its time to compute the matches between the images in your set, and the processing time grows factorially. That’s because every image has to be compared with every other image. Do the math. :) If you’re only processing 10 images that’s:
If you’re processing 102 images that’s:
and if you’re processing 1,024 images as I was in my Mount Rushmore images set that’s:
I don’t have the world’s speediest computer, but it takes about 36 hours for visualSFM to process the 1024 images in my current image set. After you’ve computed point matching between images, you’re still not finished. You also need to compute the sparse and dense reconstructions. While they don’t take quite as much time as point matching, you’re going to be waiting a few hours in between each of these steps.
Once you’ve gotten visualSFM to compute your dense reconstruction it will save it to a file, which you can then load into meshLab. Its relatively easy to create the mesh, but once again, it takes a fair amount of time. For my Mount Rushmore point cloud, it usually takes about 50 minutes to an hour.
I do a little bit of editing with the very primitive tools of meshLab and then save the mesh to a .ply file which I then loaded into Blender to do a bit more editing of the model, and then had it save the .stl file.
Upgrade this Thing with Thingiverse AppsCustomization
Edit, personalize, or revise this ThingPrint Fulfilment
Order a print of this ThingTools and Utilities
Repair, slice, or enhance this Thing
Mount Rushmore from Internet Images & Free Software by PrintableScience is licensed under the Creative Commons - Public Domain Dedication license.
What does this mean?
- Remixing or Changing this Thing is allowed.
- Commercial use is allowed.
Show Some Love
Say thanks by giving PrintableScience a tip and help them continue to share amazing Things with the Thingiverse community.Tip Designer
We're sure PrintableScience would love to see what you've printed. Please document your print and share a Make with the community.
To post a Make simply visit this Thing again and click I Made One to start uploading your photo. It’s even easier to post a Make via the Thingiverse Mobile app (available via Google Play and Apple App Store).