Forum

Author Topic: alignCameras single network node if keep keypoints and reset alignment = No  (Read 326 times)

andyroo

  • Sr. Member
  • ****
  • Posts: 468
    • View Profile
Metashape 2.1.4, Network processing, 6 camera groups, each with their own camera calibration model.

Is it expected behavior that, if you do a partial alignment/optimization and keep keypoints, then align additional images without resetting alignment, the whole alignCameras portion will run on a single node, while if you do a complete realignment, it will use all nodes (except for the alignCameras.finalize and a few other steps I think)?

Also, because I optimized, some tiepoints were eliminated from the original alignment (only 1.9m remaining) - I'm wondering if that played a role in the much lower number of total tiepoints found without resetting alignment.

Ideally for me both of the scenarios below would run in about the same time:

I have a project with about 15000 images and about half with positions. I aligned and optimizes the half with positions (keep keypoints = true), then added the images without positions and aligned again in two ways, using the batch operation in GUI:

1) reset current alignment = No**
2) reset current alignment = Yes**

In both projects, matchPhotos was fast and multi-node.

In the reset alignment = No project, the alignCameras portion used a single node and took about 60 hours, resulting in a total of 16,143,850 tiepoints (1 component with no subparts, 13780 of 14520 images aligned)

In the reset alignment = Yes project, the alignCameras portion used all nodes and took about 8 hours, resulting in a total of 47,915,643 tiepoints (3 components* 13756 of 14520 images aligned)

*component 1 had 13,756 cameras, 47.9m tie points and 2 parts, each of which had a "part tree" with many subparts
*component 2 had  56 cameras and 83k tiepoints (no parts)
*component 3 had 4 cameras and 800 tiepoints (no parts)

**remaining settings were the same (Accuracy = High, Generic preselection = Yes, Reference preselection = Source, Keypoint limit = 60,000, Tiepoint Limit = 0, Exclude stationary tiepoints = Yes, Guided image matching = No, Adaptive camera model fitting = No)

Thanks for any insight!
« Last Edit: June 19, 2025, 07:44:51 PM by andyroo »

andyroo

  • Sr. Member
  • ****
  • Posts: 468
    • View Profile
On a related note, the default region for the full realign was a random disconnected group (part?) of about 2,000 pts that was so far from the other 47 million points that they were a dot.

Seems like (1) that should have been another disconnected component, and (2) if you have a component that has disconnected parts composed of (a) points derived from cameras with positions (b) points derived from cameras with no position, then the default region should be around the point group with positions.

andyroo

  • Sr. Member
  • ****
  • Posts: 468
    • View Profile
Just had a colleague ask me if I knew a way to have more than one node process if you're doing a partial realign, or adding to existing alignment, so I pointed them to this thread and figured I'd bump.