Jump to content

3D Fossil Scanning W/ Photogrammetry


Recommended Posts

I decided to do a little experiment yesterday after reading a little about photogrammetry and how it's being used in archaeology for 3D scanning sites. The idea of digitizing fossils in 3D is very, very cool to me. I decided to do a little more research on it and possibly give it a try.

For this experiment:

  •  All software was completely free.
  •  I didn't use an expensive camera....In fact, I used my smartphone to take all the photos. Image size was only 1000x1000px and quality wasn't that great (it's a phone)
  •  I didn't have a good light setup. I used the flash on my phone.
  •  I had no experience with any of this prior to this experiment.

 

For the subject, I used a whale vert that has some odd preservation. It seems like it was crushed a little during fossilization. The whole thing is off center and cracked in a lot of places. I thought it would be a good fossil to play around with for this.

So, I took 46 photos at different angles all around the fossil, making sure to keep the distance the same and tried my best to keep my phone's camera in focus. There were two main steps after the photos were taken.

 

  1. 1. Create a point cloud that could be put into a program and used to make a 3D model from the 46 2D photographs
  2. 2. Use the same 46 images to create a texture to apply to the new 3D model.

Thankfully, both steps were much easier than I expected them to be thanks to some software created as research projects by different students in a few different universities. 

I'm happy with the results considering it was done with free software and a cell phone. I could have used higher resolution photos and it probably would have looked nicer, but I didn't for this first test. I plan on messing around with this sort of thing more. There's tons of filters and options in the different programs that I haven't tested to see what they would do...and I haven't even tried a real camera with better lighting yet. I'm guessing that a good camera in direct sunlight would make a huge difference.

A couple of things on the model didn't come out right, but that was probably just because I didn't get enough photos from different angles in certain places. Also, the bottom of the vert where it was sitting on the table obviously didn't get photographed, so it's just black. I'm sure you could flip the thing over, do the whole thing again and then put it all together, but that would require a lot more experience with these programs. If anybody is interested in playing around with this themselves, I can post the programs used..or I could write out a tutorial.
When some even better software comes out, I can see this becoming a pretty common thing. Imagine a "gallery" full of 3D fossil scans!

 

Whale Vertebra
4½" Tall
Miocene Hawthorn Fm.
Alachua County, FL

 

Here's an additional two-part scan done using this method and a DSLR camera with more photographs:
 

Titanis walleri
Phalanx
Pleistocene
Gilchrist County, FL

 

 

Beginner Tutorial

 

The Programs & Configuration
 

First, you need Visual SFM. (This is the program that turns the photos into a 3D point cloud)

Next, you need CMVS for Windows or if you're not on Windows, go here. (This is just a few files that we put into Visual SFM that helps create our texture that gets applied to the 3D model)

The last thing you'll need is Meshlab. (This is a very powerful 3D program that does all kinds of stuff. We'll be using it to turn our 3D point cloud into an actual model and apply our material to it...among a couple other things)

Download Visual SFM & CMVS then extract them. Navigate to the correct folder for your computer and copy the contents of the CMVS folder. I'm on Windows 7 64 bit, so I went to the first folder I extracted, "CMVS-PMVS-master" > CMVS-PMVS-master > binariesWin-Linux > Win64-VS2010 and copied everything in there (minus the Readme.txt). Paste those files directly into the Visual SFM folder (the one with all the .dll files where the application to launch the program is) that you just extracted. Obviously, this is a one time thing. You get those files in the right place and every time you open Visual FSM to make a 3D model, it'll have CMVS right where it needs to be.
 

Photographing

 

When I took my photos, I placed the vert on a piece of newspaper with a lot of different colors, lines, images, etc. It's important that the software has common places of reference between different images so it can map out he point cloud accurately. Here's my vert set up ready to be photographed:

small003.jpg

Thinking about it now, it probably would have been smarter to elevate the vert slightly above the newspaper on a little block or something. I had a little trouble cropping the bright newspaper away from the vert.

I took photos starting at a low angle spaced out as I slowly rotated around the fossil. I'd take a pic, move a tiny bit, take another, move a tiny bit, etc. Here's what four of my photos in sequence look like:

small035.jpg small036.jpg small037.jpg small038.jpg

I went in a full circle until I was sure that I had rotated around the fossil completely and even overlapped a bit, taking photos of the same angle I started with (better to have too many than too few). Then I angled the camera (well, phone in this case) at about a 45 degree angle and rotated around the fossil completely again. Those photos look like this:

small041.jpg

As you can tell, this are not great photos. I think that the model would have turned out much better looking if I took better photos in better lighting.

After I completed that pass, I took one photo of the very top of the vert, facing downward. I made sure to always get a fair amount of the newspaper for tracking purposes. Then I used a great free program called Photoscape and it's batch editor to apply the same filter and crop to all the images at once. Make sure not to crop out your newspaper or whatever you're using to help with tracking. 
 
Do not use images with larger dimensions than 3200px! I read in a couple places that this would cause worse tracking and a lot of other problems. If you want to experiment with larger than that, go for it and see what happens..When I tried it, the program ran for a very long time and eventually froze my computer...but my original images were over 5000px each.
 

Visual SFM

 

When your photos are done, open up Visual SFM by going to the folder you extracted and clicking on the application. This is what it looks like:

vsfm.png

I wrote out some arrows to the things you'll be using in there. #1 is Open Multiple Images. Just click that, navigate to your images and upload them. You'll see the log window to the right doing some stuff....You should see your image thumbnails in the program in just a few moments. When that's done and there's no more activity in the log window, click on #2Compute Missing Matches. This is the first thing that some computers could have trouble with. This one can take a little while depending on how many images you have and how large they are. When this is done and there's no more activity in the log window, we can  get to the cool stuff.  :D Click on #3Compute 3D Reconstruction. This part is seriously amazing. It takes all of your images and automatically calculates where you were in relation to the object when you took the photo. Then it shows all the places an image was taken and it displays the point cloud in the center. It looks like this:

pointcloudandcams.png

The squares are everywhere I took a photo...You can see that I did a circle around the fossil down low and then a very sloppy "circle" above it.

In the center, you'll see your sparse point cloud. If you want to make the little image icons bigger or smaller, it's ctrl + mouse wheel, if you want to change the size of the point cloud points, it's ctrl + alt.

Time for the next step. When you clicked on button #3 and got your point cloud, a couple new buttons showed up. This is the one you need:

cmvstutorial.png

#4 is Run Dense Reconstruction. When you click this, it's going to act like you're saving something. What you're doing is giving the software a directory to dump the files it's going to create. Make a new folder, give the file some name and click save. When you click save, look at the log window (if it's gone, the show/hide button for it is at the top, far left) and look for this:

dense.png

If you see the highlighted part, it means you correctly moved over the files from the CMVS folder you downloaded into the Visual SFM folder. It'll tell you that "this could take quite some time" and it definitely does. For my project (46 images at about 1.2MB each - 1000x1000px) it took 5 - 10 minutes, but before I resized those photos they were over 5000px each and this step ran for nearly an hour before my computer finally froze. Like I mentioned above in the photography part, I read in a few places that your images should be below 3200px on the longest side.

You might want to think about closing down other programs that use up a lot of memory while you run this unless your computer has a lot of memory to spare. I closed out my browser and a bunch of other stuff just in case.

When the log window says this is done, you should be able to hit Tab on your keyboard and see your dense point cloud....again, you can mess with the size of the points with ctrl + mouse wheel. This is still just a point cloud even though you'll start to see some color and image coming through.

There's no need to save anything after this step is done. The program automatically wrote everything you need into the new folder that you created. 

And that's it for Visual SFM!

Meshlab

 

Go ahead and install Meshlab if you haven't already. It can look a little overwhelming at first, but we'll only be doing a couple pretty basic things. This is what Meshlab looks like:

meshlab.png

Go up to File and click Open Project (or the second button from the left, #1 in the photo above). Remember the folder you had to create when doing the last step (the dense point cloud) in Visual SFM? Navigate to that folder and you'll see a .nvm folder with the name. Open that file. It'll take a few moments to open. When it does, you'll see your point cloud open up into the program (upside down).
 
Now is a good time to try to learn how to navigate around the viewport.

  • The mouse wheel zooms in and out.
  • Holding the left mouse button and moving the mouse rotates around the center.
  • Holding the mouse scroll wheel and moving the mouse will pan the point cloud (or later, the mesh) around. I usually center it in the middle of the center rotation widget.
  • Holding Alt and scrolling the mouse wheel will change the size of your point cloud points....You may need to do that to make them easier to see since we need to delete some soon.

All this might take a little getting used to, but if you're patient you'll get the hang of it.

Next, click on Show Layer Dialog, the #2 button in the image above. You'll see the little window on the right pop up. If you're at all familiar with photo editing, this layer window should be pretty familiar to you. 

showcameras.png
 
Now we need to get our cameras showing up. Go to Render (#3) > Show Camera (#4). From there, go over to drop down arrow next to Show Camera on your side window below your layers (#5) and click it. Check on the Scale Factor here and make sure it's set to something like 0.04 or smaller depending on what you want. When I first did this, the camera scale factor was very high when I first clicked on Show Camera and it made it so I couldn't see my point cloud anymore.
 
importmesh.png
 
Time for bringing in our dense point cloud. First, click the little eye next to your layer in the side bar (#6) and you'll see your point cloud disappear. Next, go to File > Import Mesh (#7) and navigate to the same folder you created in Visual SFM where your .nvm file was. You'll see in the same folder a .ply file with the same name. Click that and import it.

Reposition the mesh in the center and zoom in. Under Show Camera on the side bar, you may want to uncheck Show Raster Cameras so they don't get in your way for this next step. We're going to be selecting and deleting the stuff that we don't want in our finished model.

crop.png

Position your model carefully and click the Select Vertexes (#8) button. You can then click with the mouse and drag a rectangular selection around the stuff you don't want (#9). Be careful NOT to delete any of the actual model, only the surrounding stuff that was used for tracking (the newspaper in my case) and any random artifacts that might be hovering above or around the model. This isn't difficult, but it can be a little time consuming. This is why I recommended above that you elevate your fossil on a little block or something. Then you could just change to a side view and delete all the newspaper at once, cutting the block in half.

  When you drag the box around the stuff you don't want, that stuff will turn red meaning it's selected (see #9). When you have the right stuff selected, click #10, which is a Delete Vertices button. The area selected is gone now. Repeat 89 and 10 changing angles carefully to get rid of everything that you need gone. Sometimes the wrong layer gets automatically selected (the invisible one) and when you hit the delete button, it won't do anything. Just click the layer ending in .0.ply if the top one gets selected and keep going.  Don't hit the delete button if even a tiny piece of the model is selected...There's no undo button that I've seen, so if you make that mistake, you may have to go back to step 7 and import the mesh again.

Here's another angle I used:

differentangle.png

Remember that you can hold Alt and scroll the mouse wheel to make the points bigger and smaller. If they're too small, you'll have trouble seeing what to delete and what not to.

Next, go to Filters > Point Set > Surface Reconstruction: Poisson (#11) here: 
 
SurfaceReconstruction.png

Then change the settings in the box that pops up to 12, 7, 1, 1 (or experiment a little, but that's what I used) like this:

SRsettings.png

When that's done, hit apply and let it run. What comes out is a 3D model of your fossil! It's just missing the texture right now, but it's still very cool looking. Click the little eye on the layer that ends with .0.ply to hide it. It'll look something like this:

3dmodel.png

Next, we need to go to go to Filters > Selection > Select Non Manifold Edges (#12), making sure the right layer is selected like so:

nonmanifold.png

A box will pop up. Just hit apply, then click the Delete Vertices (#13) button. This is just a preventative measure, you shouldn't notice much happening when you click delete.

We're getting close! Just one last step and you'll have a fully textured 3D model.

Go to Filters > Texture > Parameterization + texturing from registered rasters (#14).

texturefromrasters.png

A box will pop up. I doubled the size of the texture and left everything else default. The default is 1024, I changed that to 2048. Go ahead and name your texture whatever you want. This step is taking all those images we took and making a single image file that has all angles on it.

Hit apply.

And there you go! A fully textured 3D model of a fossil from nothing but images:

texturedvert.png

You can go ahead and export your model now. Click File > Export Mesh, give it a name, select the file type drop down here: 

export.png

I made sure to save in a couple different file formats. I saved in .obj and .dae. When you go to upload the 3D model somewhere, all you have to do is upload one of these files and then find your texture image that you created on step  (#14) to apply to it.
 
Keep in mind that this technique is not limited to small objects. You can map out environments in 3D too. Archaeologists use this technique (usually with high tech equipment) to take 3D models of archaeological dig sites. This technique can also be used for very detailed topographic mapping if you had a way of taking aerial pics. I'd love to see if anybody gives this thing a shot. If you try it and have trouble, let me know...I'm still very much a newbie at all this, but I'll do whatever I can to help figure it out.

I'll post more in this thread as I make more 3D fossils. If anybody gives this a shot, have fun! It's definitely a learning experience.  :D
 
-Cris

  • I found this Informative 21
Link to post
Share on other sites

This is awesome Chris. I've got to try it out myself. How many photos are needed to get an good 3D image? Is the software user friendly for a dummy like me?

Link to post
Share on other sites

An outstanding effort. Please post links to software and a tutorial from your experience. I see this as a very worthwhile tool with great relevance to ID efforts on the Forum (fun too). Thanks.

Link to post
Share on other sites

Now that is great Cris, That will be fun to learn to do. You are the leader on this. :wub::wub::popcorn::rain dance:

Link to post
Share on other sites

Nice!!!! Definitely gonna try this eventually

Link to post
Share on other sites

that is amazing for free software. Are measurements possible with the point cloud data?

With an image like yours we won't be hearing ' please post photos of better angles'

Very interesting thanks for posting.

Link to post
Share on other sites

This old Luddite is gasping for air! You make it seem so simple; there may be hope for me yet...

I would love to see more :)

Link to post
Share on other sites

This is awesome Chris. I've got to try it out myself. How many photos are needed to get an good 3D image? Is the software user friendly for a dummy like me?

I think these programs make it pretty simple. The biggest limitation for people might be that some folks computers might not be able to handle it

An outstanding effort. Please post links to software and a tutorial from your experience. I see this as a very worthwhile tool with great relevance to ID efforts on the Forum (fun too). Thanks.

I'm working on a tutorial now for you guys who want to give it a shot. There are tutorials out there already, but they're all missing very simple bits of information that stumped me for a while.

that is amazing for free software. Are measurements possible with the point cloud data?

With an image like yours we won't be hearing ' please post photos of better angles'

Very interesting thanks for posting.

I'm not sure on the measurement thing. I mean, the whole creating point clouds from images is actually all about the software making automatic measurements, but as far as figuring out the size of the object...I'm not sure how that would work....of course, I'm only a day into this stuff, so :P You could always put a coin on the fossil or right beside it if you wanted a sense of scale within the model itself.

It was pretty fun to learn about and do. I honestly expected some sort of vert shaped blob if I was lucky, so the results were way beyond my expectations. I can't imagine how nice it would look if somebody with experience and great photos was doing it.

Link to post
Share on other sites

Thanks Cris, looking forward to seeing what you have.

Link to post
Share on other sites

Wow great work! Approximately how long did it take you?

It took me half a day of messing around to get it, but I wasn't sure what programs to go with first so I spent a few hours messing around with programs that I didn't wind up using and I made some silly mistakes that were pretty time consuming. Now that I know how to do everything, I think the whole process could be done in under an hour, including the photographing...The majority of that time would be waiting on the programs to complete. Generating these point clouds from photos takes a little while.

Link to post
Share on other sites

That is pretty amazing for an iphone and mediocre lighting. One of the volunteers wher i work has been messing with this using 123D Capture, i thinrk it is called. The next step is to take this data and make scale models (or life size) rapid prototypes ( =3D printing). I am pretty ludditic too, but this stuff us amazing. We are hoping to make scale models of our t rex skeleton.

Edited by jpc
Link to post
Share on other sites

I downloaded and tried 123D Catch too. It's incredibly easy to use, but you don't have a lot of control over the options and I didn't like the fact that they limit the amount of photos you can use. They may improve the software in the future to the point where you get a lot power and control over the options, but right now it doesn't seem great to me. I browsed through models people took with that software and everything looked pretty flat and fuzzy. With that said, it's server based....so if your computer can't handle these programs, you can use 123D Catch instead.

I updated the original post above with the tutorial. It seems very long, but that's because I explained pretty much every single tiny step. If something is confusing, let me know and I'll clarify or take more screen shots.

Link to post
Share on other sites

THX Cris :) I see your tutorial you added above, I will be reading it. :popcorn::goodjob:

Just finished reading your tutorial and you did a great job on this project. Your instructions will be easy to use, since this is not an intuitive process. I can see that a tripod and a lazy Susan, with a good light will help, but your is great with your phone. Now to figure out which fossil to use. :faint:

Edited by ZiggieCie
Link to post
Share on other sites

Thanks Ziggie. Hopefully somebody can get some use out this thread in the future. I plan on posting any models I make here and updating the tutorial if I learn something new.

  A tripod would definitely help. My biggest problem is getting every single pic to be in focus. The software automatically stitches the pics together, but when one photo is slightly out of focus, you can see the edges where it stitched into a clear photo.

I'm still messing around with this stuff. I wanted to see what would happen with an actual camera and although I made some photography mistakes, I think it's an improvement. I chose a fossil that has lots of bumps and valleys on it to see how much detail  could be captured with this technique. There's a couple places with missing texture for some reason, but oh well. It's a learning process.

 

Mammoth or Mastodon Phalanx
Pleistocene
Gilchrist County, FL
  • I found this Informative 1
Link to post
Share on other sites

Almost as good as holding it in Your hand!!! :drool::o

Thanks Cris! :D:1-SlapHands_zpsbb015b76:

Tony

PS I will have to give it a try.

Link to post
Share on other sites

I use 123D catch to 3D model my specimens and send the file to my 3D printer. I also use my printer to make special display stands for oddly shaped fossils.

I love that whale vert! If you don't mind maybe I could print one? :)

Link to post
Share on other sites

Cris that is an excellent tutorial. Thank you for taking the time. I use a very powerful surveying software to make 3D models of topography. Your technique is perfect for photo capturing objects.

I made a model of an oyster internal mold in an hour, including pictures. I used a tripod and a lazy susan, which just makes the point cloud look different but the results are the same.

I made a lot of mistakes that I can address the next time.

The only questions I have are, how do you open the saved file to view without the mesh software? How to upload to TFF? The saved file size is larger than the 2mb allowable.

Thanks again, I'm looking to try a few other fossils now that I can see what this software is capable of.

Edited cast for internal mold

Edited by squali
Link to post
Share on other sites

Forgot the snipping tool right after I used it to capture your directions from TFF duhh

This is a screen capture (snip) of the model. I only used 21 photos.

I deleted the blurry ones. I can see that additional photos would fill in some of my blanks in the

model. The program does a really nice job with matching surface texture and color contrast.

It also enables a still photo of the best angle to be captured.

post-4721-0-46308200-1440527968_thumb.jpg

Link to post
Share on other sites
LordTrilobite

This is great! I wasn't aware this is possible with free software and some photos. I'm definitely gonna try this sometime.

I wonder how doable this would be when taking photos of a skeleton in a museum. Provided there are enough angles to photograph from of course.

Edit:

Also, this would be a great way to show people the shapes of different teeth.

Edited by LordTrilobite
Link to post
Share on other sites
Opisthotriton

Photogrammetry is a relatively new tool, and paleontologists are busy exploring its possibilities. Thank you for all the tips and suggested programs. There are several free programs mentioned in this thread that I would like to explore, and there are super high-quality programs like Agisoft that can be very expensive.

This thread contains excellent advice for getting started with photogrammetry. After you've practiced the basics, see this paper for extremely detailed advanced tips on photogrammetry:

http://www.jpaleontologicaltechniques.org/pasta3/JPT%20N12/Pdf/JPT_n012_Jul.pdf

H Mallison, H. and Wings, O., 2014. Photogrammetry in paleontology – a practical guide. Journal of Paleontological Techniques, 12: 1-31.

Link to post
Share on other sites
  • Fossildude19 featured and unfeatured this topic
  • Fossildude19 pinned, unpinned and pinned this topic

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...