SlowGuess/NeurIPS_2023_OCR huggingface dataset:
By restricting the field type of the output field over rays to have a group representation of  $SO(2) \times \mathbb{R}$  as  $\rho(\gamma, t) = \rho_1(\gamma) \otimes \rho_2(t)$ , where  $\rho_2$  is the regular representation, we can obtain the feature of points along the ray by convolution or transformer from  $\mathcal{R}$  to  $\mathcal{R}$ . See App. Example 9 for more explanation of the regular representation. Alternatively, we can obtain the desired feature by applying convolution or transformer from  $\mathcal{R}$  to  $\mathcal{R}$ , with output features attached to the target ray corresponding to different irreducible representations of the stabilizer group. These features can be interpreted as Fourier coefficients of the function of the points along the ray. The Inverse Fourier Transform yields features for the points along the ray. More details are in the App. I.1.
The feature of the points along the ray can be used to generate density and color for volumetric rendering [61, 73], or fed into attention and pooling for the final ray feature [58]. In this paper, we opt to generate the density and color and utilize volumetric rendering, which can be viewed as a specialized equivariant convolution from points to the ray. Method details are in App. I.
We achieve the equivariant rendering through three steps as shown in Fig. 4: (1) we apply equivariant convolution from rays to rays to get the equivariant feature for points along the rays, which is a specific field type over  $\mathcal{R}$ ; (2) to enhance the feature expressivity, we apply an equivariant transformer from rays to rays to get the color for each point; (3) we apply the equivariant self-attention over the points along the ray to reason over the points on the same ray; the output feature of the points will be fed to multiple perceptron layers to get the density of the points.
3.4 Convolution in Ray Space
3.4.1 Convolution from Rays to Rays
The convolution, as stated in App. A.4 and [18] is then defined as
$$
f ^ {l _ {\text {o u t}}} (x) = \int_ {\mathcal {R}} \kappa (s (x) ^ {- 1} y) \rho_ {i n} \left(\mathrm {h} (s (x) ^ {- 1} s (y))\right) f ^ {l _ {\text {i n}}} (y) d y, \tag {3}
$$
where  $\mathrm{h}(g)$  is the simplified form of the twist  $\mathrm{h}(g,\eta)$ . Eq.3 is equivariant to  $SE(3)$  if and only if the convolution kernel  $\kappa$  satisfies that  $\kappa(hx) = \rho_{out}(h)\kappa(x)\rho_{in}(\mathrm{h}^{-1}(h,x))$ , where  $\rho_{in}$  and  $\rho_{out}$  are the group representations of  $SO(2) \times \mathbb{R}$  corresponding to the input feature type  $l_{in}$  and output feature type  $l_{out}$ , respectively. We derive the solutions of the kernel in the App. Example 9.
Local kernel support The equivariance stands even if we constrain the kernel to be local. When  $x = (d_x, m_x)$  meets the condition that  $\angle(d_x, [0, 0, 1]^T) \leq \beta_0$  and  $d(x, \eta) \leq d_0$ ,  $\kappa(x) \neq 0$ , this local support will not violate the constraint that  $\kappa(hx) = \rho_{out}(h)\kappa(x)\rho_{in}(\mathsf{h}^{-1}(h,x))$ .
Then, convolution in Eq. 3 is accomplished over the neighbors only as visualized in Fig. 5. In Fig. 5, any ray  $y = (d_y, m_y)$  (denoted in blue) in the neighborhood of a ray  $x = (d_x, m_x)$  will go through the cylinder with  $x$  as the axis and  $d_0$  as the radius since  $d(x, y) \leq d_0$ .
Moreover, for any  $y$ ,  $\angle (\pmb{d}_y,\pmb{d}_x)\leq \beta_0$ . Any ray  $y\in \mathcal{N}(x)$  is on one tangent plane of a cylinder with  $x$  as the axis and  $d(x,y)$  as the radius when  $d(x,y) > 0$ .
3.4.2 Convolution from Rays to Points
Figure 5: Neighborhood of a ray  $x$  in the convolution.
In applications such as  $3D$  reconstruction, key point detection, and  $3D$  segmentation, we expect the output to be the field over  $\mathbb{R}^3$ . Using a convolution, we will define an equivariant map from light fields (fields on  $\mathcal{R}$ ) to fields on  $\mathbb{R}^3$ . We denote with  $H_{1}$  and  $H_{2}$  the stabilizer groups for the input and output homogeneous spaces, respectively, i.e.,  $SO(2)\times \mathbb{R}$  and  $SO(3)$  in this case. As shown in the App. Example 4, we can choose the section map  $s_2:\mathbb{R}^3\to SE(3)$ :  $s_2(\pmb {x}) = (I,\pmb {x})$  for any  $\pmb {x}\in \mathbb{R}^3$  and I is the
identity matrix. Following [18], the convolution from rays to points becomes:
$$
f _ {2} ^ {l _ {o u t}} (x) = \int_ {\mathcal {R}} \kappa (s _ {2} (x) ^ {- 1} y) \rho_ {i n} (\mathrm {h} _ {1} (s _ {2} (x) ^ {- 1} s _ {1} (y))) f _ {1} ^ {l _ {i n}} (y) d y,
$$
where  $h_1$  is the twist function corresponding to section  $s_1: \mathcal{R} \to SE(3)$  defined aforementioned,  $\rho_{in}$  is the group representation of  $H_1$  ( $SO(2) \times \mathbb{R}$ ) corresponding to the feature type  $l_{in}$ . The subscripts 1 and 2 denote the homogeneous spaces the features are defined on. The convolution is equivariant if and only if the kernel  $\kappa$  satisfies that  $\kappa(h_2x) = \rho_{out}(h_2)\kappa(x)\rho_{in}(\mathrm{h}_1^{-1}(h_2,x))$  for any  $h_2 \in H_2$ , where  $\rho_{out}$  is the group representation of  $H_2$  ( $SO(3)$ ) corresponding to the feature type  $l_{out}$ .
In 3D reconstruction,  $f^{lin}$  is the scalar field over  $\mathcal{R}$ , i.e.,  $\rho_{in} = 1$ . The convolution is simplified to  $f_2^{l_{out}}(x) = \int_{G / H_1} \kappa(s_2(x)^{-1}y)f_1^{lin}(y)dy$  and the corresponding constraint becomes  $\kappa(h_2x) = \rho_{out}(h_2)\kappa(x)$ . App. Example 10 provides analytical kernel solutions.
3.5 Equivariant Transformer over Rays
We can extend the equivariant convolution to the equivariant transformer model. In general, the equivariant transformer can be formulated as:
$$
f _ {2} ^ {\text {o u t}} (x) = \sum_ {y \in \mathcal {N} (x)} \frac {\exp \left(\left\langle f _ {q} \left(x , f _ {2} ^ {i n}\right) , f _ {k} \left(x , y , f _ {1} ^ {i n}\right) \right\rangle\right)}{\sum_ {y \in \mathcal {N} (x)} \exp \left(\left\langle f _ {q} \left(x , f _ {2} ^ {i n}\right) f _ {k} \left(x , y , f _ {1} ^ {i n}\right) \right\rangle\right)} f _ {v} (x, y, f _ {1} ^ {i n}), \tag {4}
$$
where the subscript 1 denotes the homogeneous space  $M_1 \cong G / H_1$  of the feature field  $f_1^{in}$  that generates the key and value in the transformer; the subscript 2 denotes the homogeneous space  $M_2 \cong G / H_2$  of the feature field  $f_2^{in}$  that generates query in the transformer, which is also the homogeneous space of the output feature  $f_2^{out}$ ;  $x$  and  $y$  represent elements in the homogeneous spaces  $M_2$  and  $M_1$ , respectively, where  $y \in \mathcal{N}(x)$  indicates that the attention model is applied over  $y$ , the neighbor of  $x$  based on a defined metric.  $f_k$ ,  $f_q$ , and  $f_v$  are constructed equivariant keys, queries, and values in the transformer.  $f_k$  and  $f_v$  are constructed by equivariant kernel  $\kappa_k$  and  $\kappa_v$  while  $f_q$  is constructed through an equivariant linear map, see App. F for detailed construction.
When the transformer is a self-attention model, homogeneous space  $M_1$  and  $M_2$  are the same since  $f_2^{in} = f_1^{in}$ . The above equivariant transformer could be applied to the other homogeneous space other than  $\mathcal{R}$ ,  $\mathbb{R}^3$ , and acting group other than  $SE(3)$ . This paper presents the equivariant cross-attention model over rays, i.e.,  $M_1$  is  $\mathcal{R}$ . When the transformer is the cross-attention from rays to rays,  $M_2$  is also  $\mathcal{R}$ , the equivariant kernel  $\kappa_k$  and  $\kappa_v$  is the convolution kernel we derived in convolution from rays to rays in Sec. 3.4.1. When the transformer is the cross-attention from rays to points,  $M_2$  is  $\mathbb{R}^3$ , the equivariant kernel  $\kappa_k$  and  $\kappa_v$  is the convolution kernel we derived in convolution from rays to points in Sec. 3.4.2. With the construction in App. F, we claim that the transformer from rays to rays or from rays to points, as shown in the equation 4, is equivariant. The proof is in App. G.
Figure 6: In the equivariant transformer (L), positional encoding is not directly used due to its lack of equivariance. Instead, the relative position within the kernel is utilized. To generate the query  $f_{q}$ , we multiply the feature  $f_{2}^{in}(x)$  (pre-existing or yielded by convolution) attached to  $x$  (in  $\mathcal{R}$  or  $\mathbb{R}^3$ , depending on the task) by the designed equivariant linear matrix  $W_{q}$  (see App. F). The key  $f_{k}$  and value  $f_{v}$  are constructed using designed equivariant kernels  $\kappa_{k}$  and  $\kappa_{v}$ . The transformer is equivariant due to equivariant  $f_{k}, f_{q}$ , and  $f_{v}$ . As  $f_{k}, f_{q}$  and  $f_{v}$  are equivariant, the entire transformer is equivariant. The conventional transformer (R) uses point position encoding for the query feature and obtains the query, key, and value through nonequivariant conventional linear mappings.
Figure 7: In the equivariant transformer (U), the query, key, and value are equivariant and can be composed of different types of features; they can be scalars, vectors, or higher-order tensors. The inner product, determined by the feature type, should apply to the same type of features. In contrast, the feature in a conventional transformer (D) is not equivariant, it does not contain vectors and tensors, and the inner product is conventional.
To better understand the equivariant transformer, we visualize the comparison of the equivariant cross-attention transformer and conventional transformer shown in Fig. 6. Meanwhile, as stated in App. F, key, query, and value are generally composed of different types of features and are multi-channel, allowing for the multi-head attention mechanism. In Fig. 7, we visualize the comparison of the equivariant multi-head attention module from rays to points with conventional multi-head attention module. The attention module from rays to rays follows a similar concept but with variations in the feature types due to the differing group representations of  $SO(2) \times \mathbb{R}$  and  $SO(3)$ .
4.1 3D Object Reconstruction from Multiple Views
Datasets and Implementation We use the same train/val/test split of the Shapenet Dataset [9] and render ourselves for the equivariance test. To render the views for each camera, we fix eight cameras to one cube's eight corners. The cameras all point in the same direction toward the object's center. We use the following notation to denote the variety of transformations in training and testing:  $I$  (no transformation),  $Z$  (optical axis rotation),  $R$  (bounded 3-dof camera rotation),  $Y$  (vertical axis object rotation),  $SO(3)$  (full object rotation). The details of the five settings are in App. J.1.
As described in App. B, we use  $SE(2)$  equivariant CNNs to approximate the equivariant convolution over the rays. For the fusion from the ray space to the point space model, we use one layer of convolution and three combined blocks of updating ray features and  $SE(3)$  transformers. For more details, please see the App. J.2.
Results We evaluate our model in seven experiment settings,  $I / I$ ,  $I / Z$ ,  $I / R$ ,  $R / R$ , Y/SO(3),  $SO(3) / SO(3)$ . The setting A/B indicates training the model on the A setup of the dataset and evaluating it on the B setup. Following the previous works, we use IoU and Chamfer-L1 Distance as the evaluation metric. Quantitative results are reported in table 1, and qualitative results are in Fig. 8.
We compare with two other approaches [69], which follows a classic paradigm that queries 3D positions that are then back-projected to obtain image features for aggregation, and [72], which was state of the art in 3D object reconstruction from multi-views. Note that both baselines originally estimate the object poses, but we directly provide ground truth poses to them. See App. J.4 for more qualitative results.
In table 1, our model outperforms the [72] and [69] by a large margin on  $I / Z$ ,  $I / R$ , and  $Y / SO(3)$  settings. Although theoretically, our model is not equivariant to the arbitrary rotation of the object,  $Y / SO(3)$  shows the robustness of our model to the object rotation and the generalization ability to some extent. Our model outperforms other models for the chair and car categories in  $R / R$  and
Method	chair
I/I	I/Z	I/R	R/R	Y/Y	Y/so(3)	SO(3)/SO(3)
Fvor w/ gt pose[72]	0.691/0.099	0.409/0.253	0.398/0.257	0.669/0.113	0.687/0.103	0.518/0.194	0.664/0.114
DISN w/ gt pose[69]	0.725/0.094	0.335/0.396	0.322/0.405	0.500/0.201	0.659/0.120	0.419/0.303	0.549/0.174
Ours	0.731/0.090	0.631/0.130	0.592/0.137	0.689/0.105	0.698/0.102	0.589/0.142	0.674/0.113
Method	airplane
I/I	I/Z	I/R	R/R	Y/Y	Y/so(3)	SO(3)/SO(3)
Fvor w/ gt pose[72]	0.770/0.051	0.534/0.168	0.533/0.174	0.766/0.053	0.760/0.052	0.579/0.147	0.746/0.056
DISN w/ gt pose[69]	0.752/0.058	0.465/0.173	0.462/0.171	0.611/0.104	0.706/0.069	0.530/0.151	0.631/0.103
Ours	0.773/0.050	0.600/0.092	0.579/0.100	0.759/0.051	0.734/0.052	0.597/0.101	0.722/0.056
Method	car
I/I	I/Z	I/R	R/R	Y/Y	Y/so(3)	SO(3)/SO(3)
Fvor w/ gt pose[72]	0.837/0.090	0.466/0.254	0.484/0.258	0.816/0.107	0.830/0.094	0.496/0.240	0.798/0.111
DISN w/ gt pose[69]	0.822/0.089	0.610/0.232	0.567/0.236	0.772/0.135	0.802/0.098	0.614/0.205	0.769/0.123
Ours	0.844/0.081	0.739/0.142	0.741/0.150	0.836/0.089	0.830/0.089	0.744/0.137	0.813/0.097
Table 1: The results for the seven experiments of 8-view  $3D$  reconstruction for the ShapeNet dataset. The metrics in the cell are IoU $\uparrow$  and Chamfer-L1 Distance $\downarrow$ . We implement [72] and [69] ourselves on our equivariant dataset. For the performance of [69], we follow their work to conduct the multi-view reconstruction by pooling over the feature of every view. The value of Chamfer-L1 Distance is  $\times 10$ .
$SO(3)/SO(3)$  settings while it is slightly inferior to [72] in the airplane category. Notably, our model only requires relative camera poses, while [72] and [69] utilize camera poses relative to the object frame, leveraging explicit positional encoding of the query point in the object frame, which is concatenated to the point feature. In addition, our model performs better in several experiments in  $I/I$  and  $Y/Y$  settings. This superiority can be attributed to the  $SE(3)$  equivariant attention model, which considers scalar features and ray directions. For a detailed discussion of the results, please see appendix Sec. J.3
We provide an ablation study of the effectiveness of  $SE(2)$  CNNs, equivariant convolution, transformer, and type-1 feature (vector feature) in our model. Meanwhile, we compare our method with the model that explicitly encodes the direction of rays. Please see the App. J.5 for the details of the ablation study.
4.2 Neural Rendering
Datasets and Implementation We use the same training and test dataset as in [61], which consists of both synthetic and real data. Two experiment settings illustrate our model's equiv-ariance:  $I / I$  and  $I / SO(3)$ .  $I / I$  is the canonical setting, where we train and test the model in the same canonical frame defined in the dataset. In the  $I / SO(3)$  setting, we test the model trained in the conical frame under arbitrarily rotated coordinate frames while preserving relative camera poses and the relative poses between the camera and the scene, thereby preserving the content of the multiple views. Each individual view itself is not transformed. Note that this experiment's  $SO(3)$  setup differs from the  $R$  and  $SO(3)$  setups used in the reconstruc
tion. Further details and discussions on this difference can be found in App. K.1.
Figure 8: Qualitative results for equivariant reconstruction. Left: input views; Right: reconstruction meshes of different models and ground truth meshes show how the model is trained and tested, explained in the text.
IBRNet (I/I)
IBRNet (I/SC)
Figure 9: Qualitative results for Generalized Rendering. We observe a performance drop for IBRNet from  $I$  to  $SO(3)$ , while ours are robust to rotations in the testset.
3) Ours (I/I)
Ours (I/S03)
BRNet (I/SC)
B) Ours (I/I)
Dataset	Method	I/I	I/SO(3)
PSNR↑	SSIM↑	LPIPS↓	PSNR↑	SSIM↑	LPIPS↓	Pix-Var↓
Realistic Synthetic 360°[42]	IBRNet[61]	26.91	0.928	0.084	26.77	0.923	0.091	66.58
Ours	26.90	0.929	0.086	26.90	0.929	0.086	0.00
Real Forward-Facing [41]	IBRNet[61]	25.13	0.817	0.205	24.60	0.797	0.223	52.66
Ours	24.93	0.808	0.212	24.93	0.808	0.212	0.00
Diffuse Synthetic 360°[49]	IBRNet [61]	37.21	0.989	0.019	37.07	0.988	0.019	34.51
Ours	37.11	0.987	0.019	37.11	0.987	0.019	0.00
Table 2: The results for the experiments of generalized rendering without per-scene tuning. The metrics in the cell are PSNR↑, SSIM↑, and Pixel Variance↓ (denoted as Pix-Var). The evaluation of IBRNet[61] is performed by testing the released model on both canonical and rotated test datasets.
Our model architecture is based on IBRNet[61], with view feature aggregation and ray transformer components modifications. Specifically, we replace the view feature aggregation in [61] with the equivariant convolution and transformer over rays and the ray transformer part with the equivariant self-attention over the points along the ray. For more information on the implementation details, please refer to App. K.2.
Results We compare with IBRNet on  $I / I$  and  $I / SO(3)$  settings to show that our proposed models can be embedded in the existing rendering framework and achieve equivariance. Following previous works on novel view synthesis, our evaluation metrics are PSNR, SSIM, and LPIPS [74]. In the  $I / SO(3)$  test period, we randomly rotate each data six times and report the average metrics. Meanwhile, we record the max pixel variance and report the average value. We show a qualitative result in Fig. 9, where IBRNet presents several blurred transverse lines in the  $I / SO(3)$  setting while ours are robust to the rotation. In table 2, our model performs comparably with IBRNet [61] in  $I / I$  setting without performance drop in  $I / SO(3)$  setting. The slight decrease in PSNR/SSIM/LPIPS for IBRNet from  $I / I$  to  $I / SO(3)$  can be attributed to the training process involving multiple datasets with different canonical frames, which includes transformation augmentation and makes the model more robust to coordinate frame changes. Additionally, conventional metrics like PSNR/SSIM may not directly capture image variations. Therefore, we introduce an additional metric, pixel variance, to illustrate the changes better. We observe that IBRNet [61] exhibits pixel variance for different rotations, whereas our approach remains robust to rotation. Our method performs comparably with IBRNet in the  $I / SO(3)$  setting in DeepVoxels [49] because the synthetic data consists of Lambertian objects with simple geometry, where the ray directions do not significantly affect the radiance. For more qualitative results, see App. K.3.
To learn equivariant geometric priors from multiple views, we modeled the convolution on the light field as a generalized convolution on the homogeneous space of rays with  $SE(3)$  as the acting group. To obtain expressive point features, we extended convolution to equivariant attention over rays. The main limitation of the approach is the finite sampling of the light field. The sampling of the light field by sparse views cannot account for large object motions with drastic aspect change, leading to a breakdown of equivariance. This novel general equivariant representation framework for light fields can inspire further work on 3D vision and graphics tasks. We do not see any direct negative impact of our work, but it could have negative societal consequences if misused without authorization, for example, when using images violating privacy.
The authors gratefully acknowledge support by the support by the following grants: NSF FRR 2220868, NSF IIS-RI 2212433, NSF TRIPODS 1934960, NSF CPS 2038873.
The introduction of convolution and attention to the space of rays in 3D required additional geometric representations for which there was no space in the main paper to elaborate. We will introduce here all the necessary notations and definitions. We have accompanied this presentation with examples of specific groups to elucidate the abstract concepts needed in the definitions.
A.1 Group Actions and Homogeneous Spaces
Figure 10: The visualization of Plücker coordinates: A ray  $x$  can be denoted as  $(d, m)$  where  $x$  is any point on the ray  $x$ , and  $d$  is the direction of the ray  $x$ .  $m$  is defined as  $x \times d$ .
Given the action of the group  $G$  on a homogeneous space  $X$ , and given  $x_0$  as the origin of  $X$ , the stabilizer group  $H$  of  $x_0$  in  $G$  is the group that leaves  $x_0$  intact, i.e.,  $H = \{h \in G | hx_0 = x_0\}$ . The group,  $G$ , can be partitioned into the quotient space (the set of left cosets)  $G / H$  and  $X$  is isomorphic to  $G / H$  since all group elements in the same coset transform  $x_0$  to the same element in  $X$ , that is, for any element  $g' \in gH$  we have  $g'x_0 = gx_0$ .
Example 1.  $SE(3)$  acting on the ray space  $\mathcal{R}$ : Take  $SE(3)$  as the acting group and the ray space  $\mathcal{R}$  as its homogeneous space. We use Plücker coordinates to parameterize the ray space  $\mathcal{R}$ : any  $x \in \mathcal{R}$  can be denoted as  $(d, m)$ , where  $d \in \mathbb{S}^2$  is the direction of the ray, and  $m = x \times d$  where  $x$  is any point on the ray, as shown in figure 10. A group element
$g = (R, \pmb{t}) \in SE(3)$  acts on the ray space as:
$$
g x = g (\boldsymbol {d}, \boldsymbol {m}) = (R \boldsymbol {d}, R \boldsymbol {m} + \boldsymbol {t} \times (R \boldsymbol {d})). \tag {5}
$$
We can choose the fixed origin of the homogeneous space to be  $\eta = ([0,0,1]^T,[0,0,0]^T)$ , the line identical with the  $z$ -axis of the coordinate system. Then, the stabilizer group  $H$  (the rotation around and translation along the ray) can be parameterized as  $H = \{(R_Z(\gamma),t[0,0,1]^T)|\gamma \in [0,2\pi), t\in \mathbb{R}\}$ , i.e.,  $H\simeq SO(2)\times \mathbb{R}$ . We can simplify  $H$  as  $H = \{(\gamma ,t)|\gamma \in [0,2\pi), t\in \mathbb{R}\}$ .  $\mathcal{R}$  is the quotient space  $SE(3) / (SO(2)\times \mathbb{R})$  up to isomorphism.
Example 2.  $SE(3)$  acting on the 3D Euclidean space  $\mathbb{R}^3$ :  $\mathbb{R}^3$  is isomorphic to  $SE(3)/SO(3)$ . Consider another case when  $SE(3)$  acts on the homogeneous space  $\mathbb{R}^3$ ; for any  $g = (R, t) \in SE(3)$  and  $\pmb{x} \in \mathbb{R}^3$ ,  $gx = Rx + t$ . If the fixed origin is  $[0,0,0]^T$ , the stabilizer subgroup is  $H = SO(3)$  since any rotation  $g = (R,0)$  leaves  $[0,0,0]^T$  unchanged.
Example 3.  $SO(3)$  acting on the sphere  $\mathbb{S}^2$ :  $\mathbb{S}^2$  is isomorphic to  $SO(3)/SO(2)$ . The last example is  $SO(3)$  acting on the homogeneous space sphere  $\mathbb{S}^2$ . Given the fixed origin point as  $[0,0,1]^T$ , the stabilizer group is  $SO(2)$ .
A.2 Principal Bundle
As stated in [29, 18], the partition of the group  $G$  into cosets allows us to treat the group  $G$  as the principal bundle where the total space is  $G$ , the base space is the homogeneous space  $G / H^1$ , the canonical fiber is the stabilizer group  $H$ , the projection map  $p: G \to G / H$  reads  $p(g) = gH = gx_0 = x$ . The section  $s: G / H \to G$  of  $p$  should satisfy that  $p \circ s = id_{G / H}$ , where  $id_{G / H}$  is the identity map on  $G / H$ . Note that non-trivial principal bundles do not have a continuous global section, but we can define a continuous section locally on the open set  $U \subseteq G / H$ . The action of  $G$  causes a twist of the fiber, i.e.,  $gs(x)$  might not be equal to  $s(gx)$  though they are in the same coset. We use the twist function  $h: G \times G / H \to H$  to denote the twist:  $gs(x) = s(gx)\mathfrak{h}(g,x)$ . Same as [18], we simplify  $\mathfrak{h}(g,eH)$  to be  $\mathfrak{h}(g)$ , where  $e$  is the identity element in  $G$  and  $eH = x_0$ .
<sup>1</sup>We use  $G / H$  to denote the homogeneous space since the homogeneous space  $X$  can be identified with  $G / H$  up to an isomorphism, i.e.,  $X \simeq G / H$ .
$$
p ^ {- 1} (x) \simeq S O (2) \times \mathbb {R}
$$