# Spherical-Model-Based SLAM on Full-View Images for Indoor Environments
## 3 Camera Model and Full-View Image  
Although the perspective projection model serves as the dominant imaging model in computer vision, there are several factors that make the perspective model far too restrictive. A variety of non-perspective imaging systems have been developed, such as a catadioptric sensor that uses a combination of lenses and mirrors [21], wide-angle lens systems [3], clusters of cameras [22], and a compound camera [23]. No matter what form of imaging system is used, [PERSON] et al. [24] presented a general imaging model to represent an arbitrary imaging system. In their opinion, an imaging system may be modeled as a set of raxels on a sphere surrounding the imaging system. Strictly speaking, there is not a commercial single viewpoint full-view camera. In this paper, we approximate RICOH-THETA (Ricoh, 2016) as a single viewpoint full-view camera because the distance between the two viewpoint of the fisheye lens of the RICOH-THETA is very small, relative to the observed scenes [25]. This approximation is rather reasonable for a multiple camera motion estimation approach, as mentioned in [26]. The RICOH-THETA camera is only used as a capture device of a single viewpoint full-view image. The captured full-view image is then transformed to a discrete spherical image; the proposed method is based on the discrete spherical image (Figure 3a). The discrete spherical model is referred to [27].  
Next, we describe the spherical projection model. Suppose there is a sphere with a radius \(f\) and a point \(p\) in space, as shown in Figure 3b. The intersection of the sphere surface with the line joining point \(p\) and the center of the sphere is the projection of the point to the sphere. Suppose the ray direction of the projection is determined by a polar angle, \(\theta\), and an azimuth angle, \(\varphi\), and the coordinates of a point \(p\) in space is  
\[M_{c}=(X_{c},\ Y_{C},\ Z_{c})^{T} \tag{1}\]  
The projection of point \(p\), in a spherical model, can be represented as  
Figure 3: (**a**) the proposed method is based on the discrete spherical image; (**b**)The spherical projection model; (**c**) full-view image.  
\[m=(f\sin\theta\cos\varphi,f\sin\theta\sin\varphi,f\cos\theta)^{T} \tag{2}\]  
Then, we have the following relation between the two  
\[m=(f\sin\theta\cos\varphi,\ f\sin\theta\sin\varphi,\ f\cos\theta)^{T}=\frac{f}{ \rho}(X_{c},\ Y_{C},\ Z_{c})^{T} \tag{3}\]  
where \(\rho=\sqrt{X_{c}^{2}+Y_{c}^{2}+Z_{c}^{2}}\).  
Let \(\tau=\frac{f}{\rho}\); we have  
\[m=\tau M_{c}\cong M_{c} \tag{4}\]  
This means that \(m\) is equal to \(M_{c}\) apart from a scale factor. Let \(f=1\),  
\[m=(\sin\theta\cos\varphi,\sin\theta\sin\varphi,\cos\theta)^{T} \tag{5}\]  
Now we have the normalized spherical coordinate. This corresponds to the projection onto a unit sphere.  
Compared with the perspective projection of a planar image based on a pinhole camera model, a full-view image is obtained using the projection of all visible points from the sphere. Thus, a full-view image is the surface of a sphere, with the focus point at the center of the sphere. We use equidistance cylindrical projection to represent a full-view image, as shown in Figure 3c. The corners of squares become more distorted as they approach the poles. Thus, the planar algorithm cannot be applied.  
Strictly speaking, the two lenses should be calibrated in a novel calibration process, rather than spherical approximation model, considering that the distance of two viewpoints in RICOH-THETA is smaller than 1 cm, plus, according to the experiments of the absolute errors of the estimated rotation and translation in [26]. Compared to the purely spherical camera, which did not suffer from errors induced by approximation, the spherical approximation had slightly lower performance, but was comparable when the feature tracking error was large. They also showed that the approximation even results in improvements in accuracy and stability of estimated motion over the exact algorithm.