Commit 70b2519
Skip rank-deficient Umeyama checks in points/cameras alignment tests
When n_points <= dim (or batch_size <= 3 for camera-center alignment in
3D), the mean-centered point cloud is rank-deficient and Umeyama's SVD
has a (near-)zero singular value. The rotation around the degenerate
axis is non-unique; different BLAS implementations (rocBLAS on RDNA vs
CDNA, cuBLAS) pick different valid null-space directions, so X_t_est
differs across platforms even though the algorithm is correct. Skip
the X_t / cameras-aligned-R/T equality checks in those cases; the
center-alignment check still runs and verifies the well-defined part.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 2efa0f3 commit 70b2519
2 files changed
Lines changed: 22 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
108 | 108 | | |
109 | 109 | | |
110 | 110 | | |
111 | | - | |
112 | | - | |
113 | | - | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
114 | 119 | | |
115 | 120 | | |
116 | 121 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
669 | 669 | | |
670 | 670 | | |
671 | 671 | | |
672 | | - | |
673 | | - | |
674 | | - | |
675 | | - | |
676 | | - | |
677 | | - | |
| 672 | + | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
| 683 | + | |
| 684 | + | |
| 685 | + | |
678 | 686 | | |
679 | 687 | | |
680 | 688 | | |
| |||
0 commit comments