3D model issues

I took 101 photos with my phone of a Pinus pinea (Stone Pine) cone on a rotating table, and I’m surprised by the appearance of the point cloud vs the textured model.
Suggestions as to why the PC is so messy?

Point cloud 10million points

3D model with textures - with a few stray bits of texture floating around.

Changing to high quality makes the 3D model look like the messy PC, as does disabling eye-dome lighting.

Run with these settings:
101 images 00:42:09

|Processing Node:|node-odm-1 (auto)|
|Options:|auto-boundary: true, feature-quality: ultra, mesh-octree-depth: 12, mesh-size: 300000, pc-filter: 0, pc-geometric: true, pc-quality: ultra, resize-to: -1, use-3dmesh: true|
|Area:|514.08 m²| (Clearly not correct!)
|Reconstructed Points:|24,539,928|

1 Like

Generally, you do not want to use a turn table for photogrammetry; for optimal results you want to have camera movement and a stationary object.

2 Likes

Is that still the case when there is no GPS, such as inside a house? I’ve used the turntable successfully before.

How does the software know if the camera or subject is moving when there is no GPS, nor camera angle info in EXIF?

1 Like

It doesn’t, and as you’ve found out that you can get a reconstruction regardless. But a few factors make it non-ideal (and probably part of the reason for the strange point cloud, I’m guessing):

  • Varying lighting/shadows due to the light source in the room being stationary but the subject rotating (it will confuse point detection and matching)
  • Lack of scale variation (your camera is kept at a fixed distance from the subject, not ideal for camera optimization)

This does not mean you cannot use a turn table, but you have to be careful with your lighting (best would be to have a light source follow the subject) and you’re missing out scale variation (so hopefully our database has a good initial estimate for the focal length, but it’s not always the case).

2 Likes

It’s probably not quite that bad due to hand holding the camera, rather than using a tripod, so distance does vary a bit.

I’ve just taken 61 photos of it now that it has opened, this time a fixed pine cone and moving camera. Also used the phone camera flash this time, for more even lightning. I’m still getting a weird point cloud, although not so bad. With textures added there are a few floating bits around the top, some perhaps made up of out of focus grass and ground, about half a metre below the pine cone, and some looks like it might be parts of the cone, on the left side.

Point cloud

with textures added

Camera locations- a little bit of scale variation

1 Like

Note that if you move the camera, it’s best not to use flash (keep the lighting constant).

2 Likes

I would add to this static background that gets reconstructed in strange ways. You can compensate for this last one with masking, and I’m guessing this is your main challenge in the above. The python library REMBG works moderately well if you want to be lazy about masking.

3 Likes

I’ve managed to produce a better textured model by increasing mesh-octree-depth to 13 and mesh size to 350000. The PC is much cleaner too.

auto-boundary: true, feature-quality: ultra, mesh-octree-depth: 13, mesh-size: 350000, pc-classify: true, pc-filter: 5, pc-geometric: true, pc-quality: ultra, resize-to: -1, use-3dmesh: true
5 Likes

That looks fantastic.

3 Likes