Papers
Topics
Authors
Recent
Search
2000 character limit reached

Dual-Fisheye Camera Model

Updated 9 July 2026
  • Dual-fisheye camera model is a system using two wide-angle lenses with overlapping fields to capture full-sphere views for panoramic stitching, depth sensing, and 3D reconstruction.
  • It integrates per-lens projection laws with inter-lens extrinsics, addressing calibration challenges like lens separation, seam blending, and angular distortion.
  • This model underpins consumer 360° cameras, SLAM, and BEV perception, enhancing accuracy in omnidirectional imaging and robust obstacle detection.

Dual-fisheye camera model denotes the family of geometric and algorithmic descriptions used for imaging systems that obtain omnidirectional or near-omnidirectional coverage from two fisheye lenses or from two opposite-facing fisheye stereo sets. In the literature, the term does not refer to a single universally adopted projection law. Instead, it spans at least three recurrent constructions: consumer 360° cameras that stitch a front fisheye and a rear fisheye into an equirectangular panorama, full-view stereo rigs that place fisheye pairs in opposite directions for depth-aware SLAM, and calibration-aware rendering or perception pipelines that preserve native fisheye geometry rather than collapsing it into an ideal pinhole or already-correct spherical image (Ho et al., 2017, Zhang, 2019, Shin et al., 27 Aug 2025). Across these constructions, the central technical issues are per-lens projection, inter-lens extrinsics, overlap or seam geometry, and the transformation from lens-specific rays to a shared spherical, panoramic, or vehicle-centric representation.

1. System configurations and optical coverage

A dual-fisheye system is most commonly realized as a front lens and a back lens whose fields of view overlap sufficiently to cover the full sphere. In compact 360° cameras such as Samsung Gear 360, Ricoh Theta, and LG 360 Cam, each lens has about a 195° field of view, and the two fisheye images are later unwarped and stitched into a 360×180° panorama (Ho et al., 2017, Ho et al., 2017). In another configuration, A*SLAM uses two fisheye stereo camera sets: one stereo pair faces forward, the other backward, and each stereo pair contains a pair of 180-degree fisheye lenses, so the combined system covers the full environmental view while retaining stereo depth and metric scale (Zhang, 2019).

A separate but related line of work treats dual-fisheye capture as a non-ideal omnidirectional sensing system rather than an already-correct spherical camera. Seam360GS explicitly models a front camera center OFO_F and a back camera center OBO_B rather than assuming a shared ideal center, and further associates each lens with its own rotation and learnable calibration terms (Shin et al., 27 Aug 2025). This formulation reflects the practical observation that consumer dual-fisheye systems exhibit lens separation and stitching artifacts.

Formulation Optical arrangement Primary representation
Consumer 360° dual-fisheye Front lens + rear lens, about 195° each Equirectangular panorama
Full-view stereo fisheye rig Front stereo pair + rear stereo pair, 180° lenses Stereo depth and panorama depth image
Calibration-aware dual-fisheye rendering Front/back lenses with separate centers Two lens-specific coordinate systems

The significance of these arrangements is not only field of view. The cited literature repeatedly ties dual-fisheye design to three practical goals: retaining full peripheral context, avoiding the failure modes of partial-view sensing, and supporting either geometric reconstruction or stable seam-free panoramic output (Zhang, 2019, Shin et al., 27 Aug 2025).

2. Projection laws and per-lens camera models

Most papers do not define a single closed-form “dual-fisheye projection” for the entire system. Instead, each fisheye lens is usually modeled as a central camera with its own angular-to-radial projection law, and the dual system is formed by combining two such lenses with known or estimated extrinsics. A generic polynomial fish-eye model used for calibration writes the radius as

r(θ)=k1θ+k2θ3+k3θ5+k4θ7+k5θ9,r(\theta)=k_1\theta+k_2\theta^3+k_3\theta^5+k_4\theta^7+k_5\theta^9,

with pixel formation obtained by mapping the ray direction (θ,φ)(\theta,\varphi) to image coordinates and then applying pixel scale and principal-point offsets (Fu et al., 2014). WoodScape adopts a fourth-order polynomial intrinsic model,

r(θ)=a1θ+a2θ2+a3θ3+a4θ4,r(\theta)=a_1\theta+a_2\theta^2+a_3\theta^3+a_4\theta^4,

and emphasizes that calibration should be used directly in the distorted domain rather than as a prelude to naive rectification (Yogamani et al., 2019).

Other works use explicit named fisheye models. Fisheye3DOD simulates fisheye cameras with the Kannala-Brandt model,

r(θ)=k0θ+k1θ3+k2θ5+k3θ7+k4θ9,r(\theta)=k_{0}\theta + k_{1}\theta^{3} + k_{2}\theta^{5} + k_{3}\theta^{7} + k_{4}\theta^{9},

to represent the non-linear mapping between incident angle and pixel radius for cameras with more than 180° field of view (Li et al., 24 Nov 2025). Fisheye-Calib-Adapter does not define dual-fisheye as a separate camera class, but it supports per-lens conversion among Kannala-Brandt, Unified Camera Model, Enhanced Unified Camera Model, Double Sphere, OCamCalib, and radial-tangential models, which is useful when each half of a dual-fisheye rig is calibrated independently (Lee, 2024).

A persistent boundary in the literature is the distinction between per-lens central models and genuinely dual-lens behavior. Single-center omnidirectional formulations, such as the unified omnidirectional model used in Omnidirectional DSO, are mathematically convenient for a single fisheye lens or a single centered omnidirectional system, but they are not inherently models of a true dual-fisheye rig with two distinct optical centers (Matsuki et al., 2018). This distinction becomes decisive when stitching seams, lens gaps, or angular distortion fields must be modeled explicitly.

3. Calibration, extrinsics, and spherical epipolar geometry

Calibration in dual-fisheye systems concerns both intrinsics and the extrinsic relationship between the two lenses. The wand-based calibration framework for multiple fish-eye cameras treats each camera as a generic central camera, estimates intrinsic parameters including radial coefficients, pixel scales, and principal point, and initializes relative pose from the spherical epipolar constraint

m1jT[T]×Rm0j=0,m_{1j}^T [T]_\times R\, m_{0j}=0,

with essential matrix

E=[T]×R.E=[T]_\times R.

The scale ambiguity in translation is then resolved from the known wand length, followed by nonlinear refinement and bundle adjustment (Fu et al., 2014). The same framework extends to multiple cameras by constructing a vision graph and composing pairwise transformations.

When a dual-fisheye system is treated after stitching as a full-view spherical camera, the epipolar geometry moves from the image plane to the unit sphere. In 3D reconstruction from Ricoh Theta, each panoramic pixel corresponds to a unit-sphere direction, and the fisheye fundamental matrix is defined as

F=[T×]R1,F=[T_\times]R^{-1},

yielding the spherical epipolar constraint

zp,1TFzp,2=0.z_{p,1}^T F z_{p,2}=0.

Sparse triangulation is then performed by least-squares intersection of spherical rays, and dense reconstruction proceeds after spherical rectification (Ma et al., 2015).

Consumer dual-fisheye cameras often deviate from both idealizations. Seam360GS models front and back optical centers as

OBO_B0

and augments them with direction-dependent angular distortion fields OBO_B1 and OBO_B2 over the sphere (Shin et al., 27 Aug 2025). This is a calibration-aware formulation inside 3D Gaussian Splatting rather than a preprocessing step. It directly encodes the fact that a dual-fisheye system may be neither a single ideal omnidirectional camera nor merely two independently rectifiable fisheye images.

4. Panorama generation, stitching, and seam-aware modeling

A major use of dual-fisheye systems is the production of equirectangular panoramas. In this regime, the central challenge is that the two fisheye views overlap only in narrow, heavily distorted border regions. The Gear 360 stitching pipeline therefore performs intensity compensation, fisheye unwarping to equirectangular projection, two-step alignment, and overlap blending rather than relying on ordinary feature-based homography stitching (Ho et al., 2017). The reported implementation found that a field of view of 193° gave the best stitching results, close to the documented 195°, and checkerboard calibration suggested that additional fisheye distortion correction was negligible for that device.

The first alignment stage in that pipeline uses about 200 manually selected control-point pairs from the overlap to estimate an affine transform,

OBO_B3

whereas the second stage refines the seam by normalized cross-correlation template matching and local affine adjustment (Ho et al., 2017). A related video-oriented method replaces a global least-squares warp with rigid moving least squares, solving

OBO_B4

to obtain a spatially varying deformation in the overlap (Ho et al., 2017). For video stitching, that work further enforces temporal coherence: a match is accepted only when peak normalized cross-correlation is greater than 0.85, vertical displacement lies within OBO_B5 pixels, and horizontal displacement does not exceed 10% relative to the previous frame’s horizontal displacement.

Seam360GS reframes stitching defects as a camera-modeling problem. Instead of assuming that the panoramic image is already geometrically correct after spherical mapping, it explicitly connects inter-lens gap and angular distortion to seam artifacts, ringing, object overlap, blurriness, and inconsistencies around the inter-lens boundary (Shin et al., 27 Aug 2025). During training, Gaussian primitives are transformed into front- and back-camera coordinate systems, distorted, rasterized separately with a 360° Gaussian rasterizer, and concatenated into a panorama. At inference, omitting the learned distortion simulation produces seamless panoramas from the scene representation learned in an ideally calibrated space. This suggests that in dual-fisheye imaging, seam quality is inseparable from the underlying geometric model.

5. Stereo depth, SLAM, and full-view reconstruction

In SLAM and reconstruction, the dual-fisheye camera model is used not only to widen coverage but also to provide depth and full-view feature support. A*SLAM combines two fisheye stereo camera sets, one front-facing and one rear-facing, and states that a panorama depth image can be directly extracted from each fisheye stereo pair by fast image matching along the predefined epipolar line (Zhang, 2019). The stated workflow is stereo acquisition, correspondence matching, depth recovery from disparity, and assembly into a panorama depth image for initializing SLAM features and for obstacle detection. The same paper makes two additional design claims that are specific to its model usage: edge features are illumination invariant, and localization and mapping can be conducted with both the normal and inverted images interchangeably.

The geometric rationale of that system is explicit even though the paper does not provide formal fisheye projection equations. Stereo provides metric scale, fisheye provides wide field of view, two opposite-facing stereo rigs provide complete 360° coverage, and edge features improve robustness to illumination change (Zhang, 2019). The dual-fisheye arrangement is therefore part of the state-estimation model itself, not merely a sensor choice.

A different reconstruction route appears in full-view spherical cameras such as Ricoh Theta. There the two opposite fisheye lenses are treated after stitching as a spherical imaging system, with unit-sphere projection, spherical epipolar geometry, sparse triangulation from ray intersections, and dense reconstruction from spherical rectification and disparity (Ma et al., 2015). This model is especially appropriate when the output is an equirectangular panorama rather than separate lens images.

Alternative wide-FoV SLAM formulations illustrate the representational choices available around dual-fisheye data. CubemapSLAM converts calibrated fisheye pixels into bearing vectors and then projects them to six virtual pinhole faces, yielding a piecewise-pinhole representation that preserves most of the useful field of view without operating directly on the raw distortion (Wang et al., 2018). By contrast, Omnidirectional DSO uses the unified omnidirectional model with projection

OBO_B6

which is appropriate for a single central omnidirectional camera but, as the paper itself notes, not inherently for a true dual-fisheye rig with two separate centers (Matsuki et al., 2018). The contrast underscores a recurring design choice: represent dual-fisheye data as stitched spherical imagery, as two calibrated fisheye cameras, or as another intermediate ray-based representation.

6. Dual-fisheye principles in surround-view perception and BEV lifting

Recent surround-view perception work generalizes dual-fisheye modeling principles to multi-fisheye rigs while keeping the native fisheye geometry intact. FisheyeGaussianLift uses four calibrated fisheye cameras—Front View, Rear View, Mirror-View Left, and Mirror-View Right—each with about 190° FoV and resolution 1024 × 864, calibrated offline using a multiplane checkerboard (Sonarghare et al., 21 Nov 2025). Its key modeling choice is ray-based unprojection from fisheye lookup tables rather than undistortion. For each pixel OBO_B7 and depth bin OBO_B8,

OBO_B9

and each lifted hypothesis becomes a 3D Gaussian whose covariance explicitly encodes uncertainty. The paper states that the same modeling principle applies to dual-fisheye and multi-fisheye surround-view systems: per-camera lifting is independent, whereas fusion is joint in the common BEV frame.

Fisheye3DOD makes the same argument from the standpoint of 3D object detection. Its simulated surround-view fisheye cameras use 220° FoV and a Kannala-Brandt projection, and the paper quantifies the compression problem that causes pinhole detectors to fail: objects in fisheye views occupy only about 15% of the pixel area they would in pinhole images, and an example object shrinks from roughly 70×80 pixels in pinhole to about 22×26 pixels in fisheye (Li et al., 24 Nov 2025). To address this, FisheyeBEVDet and FisheyePETR warp features into spherical or equirectangular representations and reason along spherical rays. On Fisheye3DOD, these geometry-aware adaptations improve FDS by 4.5 points and 6.2 points, respectively, over rectified fisheye baselines.

Mixed-camera BEV detection provides an additional bridge from dual-fisheye to deployed automotive rigs. The KITTI-360 benchmark contains forward-facing stereo pinhole cameras and two 180° fisheye cameras, and the benchmark paper evaluates rectification, distortion-aware view transformation using the MEI unified model, and polar-coordinate BEV representations (Liu et al., 29 Mar 2026). Its forward projection normalizes a 3D point to the unit sphere, applies a unified parameter r(θ)=k1θ+k2θ3+k3θ5+k4θ7+k5θ9,r(\theta)=k_1\theta+k_2\theta^3+k_3\theta^5+k_4\theta^7+k_5\theta^9,0, radial distortion r(θ)=k1θ+k2θ3+k3θ5+k4θ7+k5θ9,r(\theta)=k_1\theta+k_2\theta^3+k_3\theta^5+k_4\theta^7+k_5\theta^9,1, and finally the fisheye intrinsic matrix. The reported conclusion is that projection-free architectures are more robust under fisheye distortion, while explicit geometry helps depth-based methods substantially.

WoodScape supplies the underlying methodological warning for these systems: surround-view fisheye cameras should be modeled natively, with intrinsic and extrinsic calibration per camera, and naive rectification should be avoided because it loses field of view and introduces resampling artifacts, especially once the field of view exceeds r(θ)=k1θ+k2θ3+k3θ5+k4θ7+k5θ9,r(\theta)=k_1\theta+k_2\theta^3+k_3\theta^5+k_4\theta^7+k_5\theta^9,2 (Yogamani et al., 2019).

7. Conceptual boundaries, misconceptions, and limitations

A common misconception is that a dual-fisheye camera is equivalent to a single ideal spherical or equirectangular camera. The literature repeatedly shows that this is only an approximation. Consumer dual-fisheye systems have limited overlap, non-shared optical centers, and seam-region distortions; Seam360GS treats these effects as first-class calibration variables rather than residual nuisances (Shin et al., 27 Aug 2025). Even when a stitched panorama is the final representation, the underlying acquisition geometry may remain dual-centered and direction-dependent.

A second misconception is that rectification solves the geometry problem. WoodScape argues that rectilinear, piecewise linear, and cylindrical corrections are all compromises, and that a rectilinear viewport cannot represent rays coming from behind the camera once the fisheye field of view exceeds r(θ)=k1θ+k2θ3+k3θ5+k4θ7+k5θ9,r(\theta)=k_1\theta+k_2\theta^3+k_3\theta^5+k_4\theta^7+k_5\theta^9,3 (Yogamani et al., 2019). Fisheye3DOD strengthens the point empirically by reporting more than 12 FDS points of degradation when pinhole detectors are transferred to fisheye data after standard rectification (Li et al., 24 Nov 2025). FisheyeGaussianLift similarly avoids distortion correction and perspective rectification in order to preserve peripheral pixels and avoid interpolation artifacts (Sonarghare et al., 21 Nov 2025).

A third boundary concerns what counts as a dual-fisheye model rather than a per-lens model. Fisheye-Calib-Adapter is explicitly not a dual-fisheye stitching or stereo calibration method; it converts one central fisheye model to another per lens and does not estimate inter-camera geometry, overlap blending, or seam-aware transformations (Lee, 2024). By contrast, the stitching and Seam360GS papers are dual-fisheye-specific precisely because they model cross-lens alignment or inter-lens distortion.

Calibration sensitivity remains a limiting factor across formulations. FisheyeGaussianLift states that accurate offline calibration is essential and that bad calibration directly hurts BEV alignment (Sonarghare et al., 21 Nov 2025). Seam360GS notes that calibration becomes difficult in textureless regions such as blank walls or the sky, especially when calibration and view synthesis are optimized simultaneously (Shin et al., 27 Aug 2025). In a dual-fisheye setting, this suggests that improvements in projection law alone do not eliminate the need for reliable calibration targets, robust overlap cues, or explicit seam-aware optimization.

Taken together, the cited work indicates that “dual-fisheye camera model” is best understood as a layered construct. At the lowest level, each lens is often represented by a central fisheye projection law. At the system level, the two lenses require extrinsic calibration, overlap management, and sometimes explicit optical-center separation. At the task level, the model may be expressed as stereo depth geometry, spherical panorama geometry, ray-based BEV lifting, or seam-aware rendering. The choice among these formulations depends less on terminology than on whether the objective is metric reconstruction, seamless panoramic synthesis, or distortion-aware downstream perception.

Topic to Video (Beta)

No one has generated a video about this topic yet.

Whiteboard

No one has generated a whiteboard explanation for this topic yet.

Follow Topic

Get notified by email when new papers are published related to Dual-Fisheye Camera Model.