SlowGuess/NeurIPS_2023_OCR huggingface dataset:
Lalit Manam
Bengaluru, India - 560012
lalitmanam@iisc.ac.in
Venu Madhav Govindu
venug@iisc.ac.in
In 3D computer vision, translation averaging solves for absolute translations given a set of pairwise relative translation directions. While there has been much work on robustness to outliers and studies on the uniqueness of the solution, this paper deals with a distinctly different problem of sensitivity in translation averaging under uncertainty. We first analyze sensitivity in estimating scales corresponding to relative directions under small perturbations of the relative directions. Then, we formally define the conditioning of the translation averaging problem, which assesses the reliability of estimated translations based solely on the input directions. We give a sufficient criterion to ensure that the problem is well-conditioned. Subsequently, we provide an efficient algorithm to identify and remove combinations of directions which make the problem ill-conditioned while ensuring uniqueness of the solution. We demonstrate the utility of such analysis in global structure-from-motion pipelines for obtaining 3D reconstructions, which reveals the benefits of filtering the ill-conditioned set of directions in translation averaging in terms of reduced translation errors, a higher number of 3D points triangulated and faster convergence of bundle adjustment.
The goal of the translation averaging problem is to recover absolute translations given a redundant set of pairwise relative translation directions. This problem has been relatively less studied compared to the case when pairwise displacements are available [31, 12, 6, 51]. These methods belong to the category of averaging or map synchronization [43, 46], which can be modelled as a network with known pairwise relations between nodes and unknown node values to be estimated. For our specific problem of translation averaging,  $\mathcal{G} = (\mathcal{V},\mathcal{E})$  represents a network, with  $N$  nodes,  $\mathcal{V}$ , denoting the absolute translations  $\mathbf{T}_i\in \mathbb{R}^3,i\in \mathcal{V}$ , and  $M$  edges,  $\mathcal{E}$ , denoting the pairwise relative direction measurements between the nodes  $\mathbf{v}_{ij}\in \mathbb{S}^2,(i,j)\in \mathcal{E}$ . Here, all the relative directions  $\mathbf{v}_{ij}$ 's are in the same coordinate frame. Ideally,  $\mathbf{v}_{ij}$  should be the unit vector in the direction of  $\mathbf{T}_j - \mathbf{T}_i$ . Since the measurements made are directions, these networks are also called bearing-based networks. This problem finds a place in global methods [23, 24, 18, 52] for solving Structure-from-Motion (SfM) [28] in 3D computer vision, where a network of cameras is present with relative translation directions measured between the cameras.
Solving translation averaging is a challenging problem since it requires estimating translation scales in a context of dissimilarity in the input (directions) and output (absolute translations). Due to this dissimilarity, the solutions are defined upto a global scale and a choice of origin. The well-posedness of the bearing-based network problems has been studied under the lens of parallel rigidity theory [45, 19, 36, 42, 56, 2]. This theory determines whether a given set of input directions will have a unique solution (upto a global scale and an origin) for absolute translations.
Distinction from parallel rigidity and outlier detection: This paper takes the first step to deal with sensitivity in translation averaging under uncertainty, i.e. determining under what configuration of
input directions the solution is reliable. This can be seen as a perturbation analysis of the translation averaging solution with respect to small changes in the input directions. Although there have been empirical studies on small-scale datasets (3 to 20 cameras) on the effect of perturbing input directions [48, 40, 32], to the best of our knowledge, analysis on large-scale networks, both theoretical and empirical, has not been done for bearing-based networks. This analysis is independent of parallel rigidity [2] since parallel rigidity deals with uniqueness of the solution, while we deal with change in solution for small input perturbations. Parallel rigidity can be equivalently described with the algebraic rank of a specific matrix [2], which is similar to the analysis of uniqueness of a solution given a matrix obtained from a linear system of equations. Sensitivity analysis is similar in spirit to the conditioning of a matrix while solving a linear system of equations ( $Ax = b$  problem) where the reliability of a solution is studied. Sensitivity is also different from outlier detection in the data because it only deals with small perturbations of the given input directions and not with the noise/outlier levels. The issue of sensitivity remains relevant even without outliers.
Our contributions: We first analyze the sensitivity in estimating edge scales in translation averaging by small perturbations to input directions on the smallest solvable bearing-based network. Then, we characterize the conditioning of the translation averaging problem based only on input directions, without any perturbation, for the smallest solvable network i.e. 3 edges between all 3 nodes, and extend it to a general network. We provide a sufficient condition for the network to be well-conditioned. We propose an efficient algorithm to identify ill-conditioned parts of the network, filter them and extract the maximal parallel rigid graph without explicit computation that checks for parallel rigidity. Finally, we show the usefulness of such a filter in the context of SfM with improved translation accuracy, more 3D points triangulated and faster convergence of bundle adjustment after removing ill-conditioned parts of the network.
In this section, we briefly discuss the relevant literature on translation averaging and parallel rigidity.
Translation averaging in SfM: In SfM, the input data contains relative translation directions that are not aligned to a common reference frame. To get the input directions in a common global frame, absolute rotations for each node are estimated using rotation averaging methods [27, 10, 11, 21, 47]. Many translation averaging methods have been proposed over the last two decades. Govindu [23] minimized the cross-product between the input directions and directions obtained from absolute translations. Jiang et al. [32] considered triplets of nodes and used the constraints of a triangle to formulate the problem. Wilson et al. [55] minimized the deviation between the input directions and directions estimated from absolute translations. Tron et al. [54] minimized the squared relative displacements and solved it in a distributed manner. Ozyesil et al. proposed the Least Unsquared Deviations (LUD) method, extending [54], with  $L_{1}$  loss for robustness which made the problem as a convex program. Arrigoni et al. [5] minimized the squared error of the orthogonal projection of the estimated relative translations onto input directions. Goldstein et al. [22] also minimized the orthogonal projection using ADMM but used an  $L_{1}$  loss for robustness. Zhuang et al. [57] relaxed the cost in [55] by comparing estimated relative translations to that of the observed directions and called it Bilinear Angle-based Translation Averaging (BATA). Other methods include using two-view and three-view geometry [28] of the cameras to set up the problem [1, 40], estimating edge scales through cycles in a network before solving for absolute translations [3, 4] or through point correspondence constraints [13, 14], iteratively refining input directions [37], averaging matrices obtained from two view geometry [33, 34], and exploiting the structure of the matrix generated from pairwise displacements [15].
Parallel rigidity: Several works about parallel rigidity are present in the literature arising from different communities: computer vision [42, 3, 2], robotics [36], computer-aided design [45] and decision control [20, 19, 53, 56]. The node-based formulation is the classical way to approach parallel rigidity, which deals with absolute translations (also called point formation) [45, 20, 19]. The edge-based formulation is a more recent approach which reasons about parallel rigidity based on edge lengths in terms of the cycles in the network [35, 3, 53]. Readers are referred to [2] for an excellent survey on parallel rigidity.
3 Sensitivity in Scale Estimation from Directions
In this section, we study the sensitivity in estimating edge scales in translation averaging. At first, we define the notion of a consistent set of directions for a network  $\mathcal{G}$ , which will be useful for further discussion.
Definition 1 (Consistent Directions). A set of relative directions,  $\mathbf{v}_{ij}$ ,  $(i,j) \in \mathcal{E}$  in a bearing-based network  $\mathcal{G}$ , are said to be consistent if there exist absolute translations,  $\mathbf{T}_i$ ,  $i \in \mathcal{V}$ , such that  $\frac{\mathbf{T}_j - \mathbf{T}_i}{\|\mathbf{T}_j - \mathbf{T}_i\|} = \mathbf{v}_{ij}$ .
We consider the smallest possible bearing-based network which is solvable, i.e. a network  $\mathcal{G}_{\Delta}$  of 3 nodes,  $\mathcal{V}_{\Delta} = \{1,2,3\}$ , with all possible edges,  $\mathcal{E}_{\Delta} = \{(1,2),(2,3),(3,1)\}$ . When these edges are consistent, they form a triangle. Let  $\mathbf{V}$  be the matrix containing relative directions  $\mathbf{v}_{ij}, (i,j) \in \mathcal{E}_{\Delta}$  in its columns and  $\mathbf{s}$  be the vector containing edge scales  $s_{ij}$ . Then, the least squares problem to estimate the scales can be written as
$$
\min  _ {\mathbf {s}} \| \mathbf {V} \mathbf {s} \| ^ {2} \text {s . t .} \| \mathbf {s} \| ^ {2} = 1, \tag {1}
$$
where the unit norm constraint on  $\mathbf{s}$  is used to fix the global scale. The solution to the problem in Eqn. 1 is given by the eigenvector corresponding to the smallest eigenvalue of  $\mathbf{V}^{\mathrm{T}}\mathbf{V}$ .
To analyze the sensitivity of the estimated scales, we perturb each direction in  $\mathcal{G}_{\Delta}$  by a small 3D rotation  $\delta \mathbf{R}_{ij} \in \mathbb{S}\mathbb{O}(3)$ , thereby ensuring that the perturbed vectors always lie on the unit sphere. Let  $\mathbf{n}_{ij} \in \mathbb{S}^2$  and  $\delta \theta_{ij} > 0$  be the rotation axis and angle for  $\delta \mathbf{R}_{ij}$ , respectively. Then, the small rotation can be approximated to a first order, using Rodrigues' rotation formula, as  $\delta \mathbf{R}_{ij} \approx \mathbf{I} + \delta \theta_{ij}[\mathbf{n}_{ij}]_{\times}$  where  $[\mathbf{n}_{ij}]_{\times} \in \mathbb{R}^{3\times 3}$  is a matrix such that  $[\mathbf{n}_{ij}]_{\times}\mathbf{h} = \mathbf{n}_{ij} \times \mathbf{h}$  for any  $\mathbf{h} \in \mathbb{R}^3$ , and  $\mathbf{I}$  is the  $3 \times 3$  identity matrix. For small perturbations to  $\mathbf{v}_{ij}$  by  $\delta \mathbf{R}_{ij}$ , the following theorem holds:
Theorem 1. For a set of consistent directions,  $\mathbf{v}_{ij}$ ,  $(i,j) \in \mathcal{E}_{\Delta}$ , in  $\mathcal{G}_{\Delta}$ , the absolute change in any eigenvalue of  $\mathbf{V}^{\mathrm{T}}\mathbf{V}$ , denoted as  $|\delta \lambda|$ , when the directions  $\mathbf{v}_{ij}$  are perturbed by small rotations  $\delta \mathbf{R}_{ij}$ , with  $\mathbf{n}_{ij}$  and  $\delta \theta_{ij} > 0$  being the rotation axis and angle, is bounded by
$$
\begin{array}{l} | \delta \lambda | \leq \sum_ {(k, i, j) \in T I (\Delta)} \delta \theta_ {i j} \cdot \| \mathbf {v} _ {k i} ^ {\mathbf {n} _ {i j} \perp} \| \cdot \| \mathbf {v} _ {k j} ^ {\mathbf {n} _ {i j} \perp} \| \cdot \frac {\left| \sin \phi_ {(k , i) , (k , j)} ^ {\mathbf {n} _ {i j} \perp} \right|}{\sin^ {2} \phi_ {(k , i) , (k , j)}}. \\ \left[ \left(1 + (\mathbf {v} _ {i k} ^ {T} \mathbf {v} _ {j k}) ^ {2}\right) \left((\mathbf {v} _ {i j} ^ {T} \mathbf {v} _ {i k}) ^ {2} + (\mathbf {v} _ {i j} ^ {T} \mathbf {v} _ {j k}) ^ {2}\right) - 4 \cdot \mathbf {v} _ {i k} ^ {T} \mathbf {v} _ {j k} \cdot \mathbf {v} _ {i j} ^ {T} \mathbf {v} _ {i k} \cdot \mathbf {v} _ {i j} ^ {T} \mathbf {v} _ {j k} \right] ^ {\frac {1}{2}}, \tag {2} \\ \end{array}
$$
where  $TI(\Delta) = \{(1,2,3),(2,3,1),(3,1,2)\}$ ,  $\mathbf{v}^{\mathbf{n}_{ij} \perp}$  is the component of  $\mathbf{v}$  orthogonal to  $\mathbf{n}_{ij}$ ,  $\phi_{(k,i),(k,j)}^{\mathbf{n}_{ij} \perp}$  is the angle between  $\mathbf{v}_{ki}^{\mathbf{n}_{ij} \perp}$  and  $\mathbf{v}_{kj}^{\mathbf{n}_{ij} \perp}$ , and  $\phi_{(k,i),(k,j)}$  is the angle between  $\mathbf{v}_{ki}$  and  $\mathbf{v}_{kj}$ .
The proof of Thm. 1 uses eigenvalue perturbation theory [30]. Please refer to the appendix for the proof. From Thm. 1, it can be observed that the bound for absolute change in any eigenvalue is inversely dependent on the square of the sine of angles of the triangle formed by the unperturbed directions. Since the scale estimate,  $s$ , is the eigenvector corresponding to the smallest eigenvalue of  $\mathbf{V}^{\mathrm{T}}\mathbf{V}$ , Thm. 1 reveals that scales are sensitive to small perturbation of directions when at least one angle in the triangle is small. The term in the square root in Eqn. 2 is bounded due to the dot product of unit norm vectors and is strictly greater than zero since the unperturbed directions are consistent. We note that the bound is also directly proportional to the sine of the angle between the directions projected onto the orthogonal space of the rotation axis. This suggests that the effect of perturbation is maximum when the rotation axis is orthogonal to the directions. This is the same as the case in Cor. 1 when the perturbed directions are consistent.
Corollary 1. For a set of consistent directions,  $\mathbf{v}_{ij}, (i,j) \in \mathcal{E}_{\Delta}$ , in  $\mathcal{G}_{\Delta}$ , the absolute change in any eigenvalue of  $\mathbf{V}^{\mathbf{T}}\mathbf{V}$ , denoted as  $|\delta \lambda|$ , when the directions  $\mathbf{v}_{ij}$  are perturbed by small rotations  $\delta \mathbf{R}_{ij}$ , with  $\mathbf{n}_{ij}$  and  $\delta \theta_{ij} > 0$  being the rotation axis and angle, and  $\mathbf{n}_{ij}$  being orthogonal to  $\mathbf{v}_{ki}$  and  $\mathbf{v}_{kj}$  for all  $(i,j,k) \in TI(\Delta)$ , is bounded by
$$
\begin{array}{l} | \delta \lambda | \leq \sum_ {(k, i, j) \in T I (\Delta)} \delta \theta_ {i j} \cdot \frac {1}{\left| \sin \phi_ {(k , i) , (k , j)} \right|}. \\ \left[ \left(1 + (\mathbf {v} _ {i k} ^ {T} \mathbf {v} _ {j k}) ^ {2}\right) \left((\mathbf {v} _ {i j} ^ {T} \mathbf {v} _ {i k}) ^ {2} + (\mathbf {v} _ {i j} ^ {T} \mathbf {v} _ {j k}) ^ {2}\right) - 4 \cdot \mathbf {v} _ {i k} ^ {T} \mathbf {v} _ {j k} \cdot \mathbf {v} _ {i j} ^ {T} \mathbf {v} _ {i k} \cdot \mathbf {v} _ {i j} ^ {T} \mathbf {v} _ {j k} \right] ^ {\frac {1}{2}}, \qquad (3) \\ \end{array}
$$
(a) Well-conditioned triangle
(b) Ill-conditioned triangle (Type-I) (c) Ill-conditioned triangle (Type-II)
Figure 1: Conditioning of triangles: analyzing change in output with small perturbation in input direction (green: given direction; red: perturbed direction; change in output: from A to A').
where  $TI(\Delta) = \{(1,2,3),(2,3,1),(3,1,2)\}$ , and  $\phi_{(k,i),(k,j)}$  is the angle between  $\mathbf{v}_{ki}$  and  $\mathbf{v}_{kj}$ .
Cor. 1 reveals that the scale estimates are unstable with small angles, even in the case when the perturbed directions are consistent. We call triangles with at least one small angle as skewed triangles. In Fig. 1, we show conditioning of the triangle under different scenarios, with green and red depicting the unperturbed and perturbed directions, respectively. For a well-conditioned triangle, a small change in direction leads to a small change in the absolute translation. But for an ill-conditioned triangle (skewed triangle), a small change in the direction leads to a large change in the absolute translation. Fig. 1a shows a well-conditioned triangle, Fig. 1b shows a triangle with one small angle due to which it is ill-conditioned (Type I) and Fig. 1c shows a triangle with two small angles making it ill-conditioned (Type II). Such skewed triangles are known to be problematic in different fields. In numerical analysis [25, 8], the skewed triangles are termed as 'needle-like' triangles, and measuring their area and angles have numerical issues. In computational topology and computer graphics [17, 38], skewed triangles (also called sliver triangles) are often avoided, as in Delaunay triangulation, or are filtered out. We note that none of them deal with directions as input. Our aim is to quantify the conditioning of the triangle and the translation averaging problem based solely on the input directions, without actual perturbation, and filter out skewed triangles, which are discussed in subsequent sections.
4 Conditioning of Translation Averaging
In this section, we first analyze the conditioning of the bearing-based network with 3 nodes and 3 edges, i.e.  $\mathcal{G}_{\Delta}$  (as defined in Sec. 3). We define an angle matrix,  $\mathbf{A}_{\mathcal{G}_{\Delta}} \in \mathbb{R}^{3 \times 3}$ , as follows:
$$
\mathbf {A} _ {\mathcal {G} _ {\Delta}} = \left[ \begin{array}{c c c} \phi_ {(1, 2), (1, 2)} & \phi_ {(2, 1), (2, 3)} & \phi_ {(1, 2), (1, 3)} \\ \phi_ {(2, 3), (2, 1)} & \phi_ {(2, 3), (2, 3)} & \phi_ {(3, 2), (3, 1)} \\ \phi_ {(1, 3), (1, 2)} & \phi_ {(3, 1), (3, 2)} & \phi_ {(3, 1), (3, 1)} \end{array} \right] = \left[ \begin{array}{c c c} 0 & \phi_ {(2, 1), (2, 3)} & \phi_ {(1, 2), (1, 3)} \\ \phi_ {(2, 1), (2, 3)} & 0 & \phi_ {(3, 2), (3, 1)} \\ \phi_ {(1, 2), (1, 3)} & \phi_ {(3, 2), (3, 1)} & 0 \end{array} \right], \tag {4}
$$
where  $\phi_{(k,i),(k,j)}$  is the angle between  $\mathbf{v}_{ki}$  and  $\mathbf{v}_{kj}$  (as defined in Thm. 1). The rows and columns of  $\mathbf{A}_{\mathcal{G}_{\Delta}}$  signify edges in  $\mathcal{G}_{\Delta}$  and its entries are the angular differences between directions with angles being measured within the triangle using the common node between two edges as the reference point for measuring directions. Since  $\phi_{(k,i),(k,j)} = \phi_{(k,j),(k,i)}$ ,  $\mathbf{A}_{\mathcal{G}_{\Delta}}$  is symmetric, and since  $\phi_{(k,i),(k,i)} = 0$ ,  $\mathbf{A}_{\mathcal{G}_{\Delta}}$  has zero diagonal entries. We quantify conditioning of the translation averaging problem on  $\mathcal{G}_{\Delta}$  as conditioning of the matrix  $\mathbf{A}_{\mathcal{G}_{\Delta}}$  based on the following theorem:
Theorem 2. Consider the bearing based-network of 3 nodes and 3 edges,  $\mathcal{G}_{\Delta} = (\mathcal{V}_{\Delta},\mathcal{E}_{\Delta})$ , and the corresponding angle matrix  $\mathbf{A}_{\mathcal{G}_{\Delta}}$ . The conditioning of the matrix  $\mathbf{A}_{\mathcal{G}_{\Delta}}$  signifies the skewness of the triangle formed using the directions in  $\mathcal{E}_{\Delta}$ .
The proof of Thm. 2 involves proving  $\mathbf{A}_{\mathcal{G}_{\Delta}}$  being non-singular for non-zero angles using its determinant and checking for the closeness of columns in relation to the angle values. We choose this approach instead of checking determinant since the later is not a good measure of closeness of a matrix to singularity [39]. Please refer to the appendix for the complete proof. Thm. 2 reveals that the conditioning of  $\mathcal{G}_{\Delta}$  can be characterized by the condition number of matrix  $\mathbf{A}_{\mathcal{G}_{\Delta}}$ .
We generalize the angle matrix and Thm. 2 for any bearing-based network  $\mathcal{G}$ . We assume all edges in  $\mathcal{G}$  are a part of at least one triplet (a triplet consists of 3 nodes with all possible edges between them). We use the terms triplet and triangle interchangeably since a triplet forms a triangle for our specific problem. If this assumption is not satisfied, we remove the edges in  $\mathcal{G}$ , which are not a part of any triplet and consider its maximum connected component. This will enable us to use  $\mathcal{G}_{\Delta}$  as the basic building block of  $\mathcal{G}$  and thus characterizing the conditioning of  $\mathcal{G}$ .
We now expand the angle matrix to a general bearing-based network  $\mathcal{G}$  in which every edge is a part of at least one triplet. We denote the angle matrix for the general network as  $\mathbf{A}_{\mathcal{G}} \in \mathbb{R}^{M \times M}$  ( $M$  is the number of edges in  $\mathcal{G}$ ), where the rows and columns signify edges in  $\mathcal{G}$ , and its entries,  $a_{\mathcal{G}}^{ij,kl}$ , corresponding to the row for the edge  $(i,j)$  and the column for the edge  $(k,l)$ , are defined as follows:
$$
a _ {\mathcal {G}} ^ {i j, k l} = \left\{ \begin{array}{l l} \phi_ {\left(c, c _ {1} ^ {\prime}\right), \left(c, c _ {2} ^ {\prime}\right)} & \text {i f} (i, j) \text {a n d} (k, l) \text {b e l o n g t o t h e s a m e t r i p l e t} \\ 0 & \text {w i t h} c \in \{i, j \} \cap \{k, l \} \text {a n d} c _ {1} ^ {\prime}, c _ {2} ^ {\prime} \in \{i, j \} \cup \{k, l \} \setminus \{c \}; \end{array} \right. \tag {5}
$$
In  $\mathbf{A}_{\mathcal{G}}$ , we measure the angles between the directions formed by triplet. In such cases, to ensure that the directions are measured within the triangle, similar to  $\mathbf{A}_{\mathcal{G}_{\Delta}}$ , the common node,  $c$ , is taken as reference and the directions are measured from  $c$  to other nodes  $c_{1}^{\prime}$  and  $c_{2}^{\prime}$ . From Eqn. 5, it is clear that the diagonal entries are zero ( $\phi_{(k,i),(k,i)} = 0$ ) and the matrix is symmetric ( $\phi_{(k,i),(k,j)} = \phi_{(k,j),(k,i)}$ ). We note that  $\mathbf{A}_{\mathcal{G}}$  is not the same as that of the distance matrix used in Multi-Dimensional Scaling (MDS) [7, 9]. In instances when a node appears in more than one triplet, angles between the edges belonging to the different triplets are not computed, but in MDS, such angles would also be considered. This restricts the angle matrix  $\mathbf{A}_{\mathcal{G}}$  to contain information only about triangles and not of other structures. Such a construction helps to extend the findings from  $\mathbf{A}_{\mathcal{G}_{\Delta}}$  to  $\mathbf{A}_{\mathcal{G}}$ . We define the conditioning of the translation averaging problem as the condition number of angle matrix  $\mathbf{A}_{\mathcal{G}}$ . The following theorem states a sufficiency condition for a well-conditioned angle matrix:
Theorem 3. Consider a bearing-based network  $\mathcal{G}$ , with all edges contributing to triplets. The angle matrix  $\mathbf{A}_{\mathcal{G}}$ , corresponding to  $\mathcal{G}$ , is well conditioned if the minimum angle (or equivalently all the angles) in all the triangles formed by the triplets are sufficiently large.
The proof for 3 is similar to the proof for Thm. 2. Here, we check for different combinations of columns based on the structure of  $\mathcal{G}$  and check for their closeness. Please refer to the appendix for the proof.
We note that we do not need  $\mathcal{G}$  to be parallel rigid for the angle matrix  $\mathbf{A}_{\mathcal{G}}$  to be well conditioned, implying that sensitivity and parallel rigidity are different aspects of the bearing-based network. However, we need  $\mathcal{G}$  to be parallel rigid to ensure a unique solution. In general, computing the maximal parallel rigid component is expensive. Since we remove edges in  $\mathcal{G}$  not contributing to triplets, this can affect its parallel rigidity. We avoid such expensive computation since we deal with triplets. We construct a triplet network  $\mathcal{G}_T = (\mathcal{V}_T,\mathcal{E}_T)$ , as done in [32], where nodes  $\mathcal{V}_T$  denote a triplet in  $\mathcal{G}$  and edges  $\mathcal{E}_T$  connect the nodes if an edge is common between the triplets in  $\mathcal{G}$ . By construction, it can be seen that disconnected components in  $\mathcal{G}$  will be disconnected in  $\mathcal{G}_T$  since there cannot be shared edges among disconnected components. The following theorem enables extracting the maximal parallel rigid graph when  $\mathcal{G}$  contains all edges contributing to triplets: