In palaeontology (and many other disciplines) you often deal with specimens that you wish to capture in what I term “720°” – all around (360° around it for the vertical axis), and bottom and top, too (360° around the transverse axis). Because physical objects tend not to float stably on their own in thin air, this usually means taking one or more sets of photos, flipping the specimen over, and taking more photos. As a consequence, you will capture a lot of background in your photos that moves in relation to your specimen between the photo sets, and this background can then cause trouble when you build the model.
As I keep pointing out, e.g. in that paper on photogrammetry I recently published with Oliver Wings, it’s all no problem if your background is featureless. The software will not find points and ignore it, so you can simply toss all your photos into one chunk and be done with it. Neat trick – but it needs to work! (bonus points if you recognize the quote)
But what if a featureless background is not possible? Let’s say you’re dealing with a sauropod femur! It is highly unlikely that you can just lug it around and position it at your will in front of a greenscreen. Normally, you’ll be lucky to be able to lean it against a wall in various positions (long bones should be kept upright if possible and if sturdy enough, because that minimizes the bending moments on the shaft). Or it will have to be laid flat on the ground or a table, with some styrofoam or sandbag supports. In either case, there will be lots of stuff very close to the bone that you can’t turn into something the photogrammetry software doesn’t find points on. Like this:
The proximal end of MB.R.2694 (field number ST 291), a Giraffatitan brancai femur from Tendaguru, Tanzania, today to be found as a kind of stumbling block in the MfN’s famous bone cellar. This little chunk weighs (guestimate) 40 kg, so it really is not something I want to toss around a lot. Additionally, as hard as the fossil is, its own weight is sufficient to cause local damage when you put it on something hard, like the floor. So, the black mats you see in the photo are a must, and they are structured and dirty enough to give plenty of features for the software. Plus, they are necessarily so close to the bone that whatever I do, they will be in focus on the images. Tough luck.
So, what to do? I took two sets of photographs, one from each side, making sure that I get good images from the sides. That’s a thing to keep in mind: do NOT take a lot of photos from above, but rather lots from the sides. This gives you a lot of overlap near the margins of each model, so merging them into a complete model is easier.
To create a complete model I could now mask all the background in all the photos, toss them all into one chunk, and have the software align them all. Good, but not perfect, because masking is a lot of tedious manual work. With a smooth, uniform background it would be much easier, because the magic wand tool would make masking easy, but that’s not to be in this case.
Thus, I had Photoscan calculate the alignment and dense cloud for each set of pictures, which is a piece of cake. A key point: I did so using two chunks in one overall file. Each dense cloud got trimmed down to the bone, the equivalent of the masking I could have done on the images, but a lot faster! Basically, I rotated the models so that I was looking at the points representing the ground in perfectly lateral view (so they form a line on the display, not an area), then used the box selection to cut them away. Additionally, I cropped the rather rough margins of the bone model. All in all this takes about a minute or two per model, compared to some 15 or more minutes for masking the photos. And the more photos there are, the bigger the difference.
So, there I was with two half-shells of the bone, and in need of a neat way of matching and merging. And so the fiddling started: In both chunks, I went looking for three easy to find spots on the bone photos, and placed markers on them. In doing so, I made sure that the same spot on the bone got identically named markers in each chunk. That’s easily achieved by creating the markers in the same order, so they get named “point 1″, “point 2″, and “point 3″ automatically. It can help to place them in one chunk, then take a screenshot of a photo on which they can be easily seen (or of the dense cloud), and paste it in a graphics program. That way, you can go back and forth between the photos of the other chunk where you need to find the same spots again and an image of where they are without having to search around in Photoscan.
Here’s an example of such a screenshot, you can see the green marker I put on a dark colored spot that I believe is easy to find on other photos.
In the end, the first half of the model, the first chunk, looked like this as a dense point cloud:
You can see four markers for alignment here. What’s with all these “target” markers? That’s for another post…. For now, it is enough to see that I spread the makers around the circumference of the bone, which means that aligning by them will not leave any end of the bone far away from a marker and thus susceptible to errors caused by tiny inaccuracies far away that simply add up. Misalignments typically mean that things are off by a tiny angle, that the two triangles formed by the two sets of three markers do not match perfectly – and distance from the marker points thus means that the tiny angle inaccuracy adds up to a lot of local separation. So it is a good idea to use more than three points, and to place them at the corners of your specimen.
Next up, I let Photoscan align the chunks based on the markers. If I am lucky, all comes out perfectly. Then, I turn “Show aligned chunks” on, so that I can see what the two dense point clouds together look like. This tells me not only about the quality of the alignment, but also if I cut away enough of the rims of the models.
Here, you can clearly see how well my markers matched (by the fact that you can’t see that there are two of each marker), and how the two models match nearly perfectly. There are a bunch of erroneous points that needed trimming (easier done in the individual chunks BEFORE merging), but I was rather lazy – Photoscan Pro is very good at ignoring those little floating islands you see.
And here’s now the mesh in all its glory! 28.25 million polygons :)
Obviously, I photogrammetrized the other parts of the bone, too, and will digitally repair the entire bone. But that’s for another post.