Fisheye Lens vs Wide Angle Lens Distortion | Projection Models for Machine Vision | Commonlands

Fisheye Lens and Wide Angle Lens Distortion

Understanding distortion projection models for machine vision, robotics, and computer vision applications. Learn how fisheye and wide-angle lenses map the 3D world to your image sensor.

Smith's Modern Optical Engineering, Fourth Edition, p.718:

"Fisheye: A lens with a field of view of 180° or more."

Rectilinear

r = f·tan(θ)

Equidistant

r = f·θ

Equisolid

r = 2f·sin(θ/2)

Stereographic

r = 2f·tan(θ/2)

What is the Difference Between a Fisheye and Wide Angle Lens?

Yes, there is a real difference between a fisheye lens and a wide-angle lens. According to Warren Smith's Modern Optical Engineering, a fisheye lens is defined as having a field of view of 180° or more. A wide angle lens provides a large field of view but typically less than 180°.

The key insight: a fisheye lens can act as a wide-angle lens when paired with a smaller sensor that crops the image circle. However, a wide-angle lens is not necessarily a fisheye lens. GoPro's marketing team was stuck with "fisheye" terminology because the first product used a cropped fisheye lens—newer GoPros use wide-angle lenses that are not true fisheyes.

Key Understanding

Fisheye lenses with 180°+ field of view do not always provide 180° FOV if used with a smaller sensor. A fisheye with full coverage can provide fields of view as narrow as 160° diagonal when cropped—acting as a "wide angle" lens. This relationship is defined by the fisheye fill factor.

How Does Barrel Distortion Affect Field of View?

Optical distortion is a third-order transverse aberration. The practical explanation: distortion is the change in magnification (angular resolution) versus image height. Distortion is present in all fisheye lenses and most wide-angle lenses, and typically increases with field angle.

Rules of Thumb for Distortion

1 A lens with greater distortion has greater field of view than another lens with the same Effective Focal Length.
2 The smaller the field of view, the less apparent optical distortion is.

The distortion profile of a lens dramatically changes the field of view output from a camera system. The charts below demonstrate that a 1.9mm lens can provide anywhere from 106° to 180°+ field of view at a 5.0mm image circle—depending entirely on the projection model used.

Image Height versus Field Angle for different distortion projections - Rectilinear, Stereographic, Equidistant, Equisolid
Image Height vs. Field Angle
Angular Resolution versus Image Height for fisheye lens distortion projections
Angular Resolution vs. Image Height

The image height chart shows how different projection models map field angle (θ) to radial distance on the sensor. Notice how rectilinear projection approaches infinity at 90°—explaining why it cannot achieve 180° FOV. Fisheye projections (equidistant, equisolid, stereographic) use different mathematical mappings that allow coverage beyond 180°.

The angular resolution chart reveals a critical trade-off: rectilinear projection maintains higher angular resolution (smaller angular extent per pixel) at the center, but resolution falls off rapidly toward the edges. Equidistant projection provides uniform angular resolution across the entire field—ideal for applications like SLAM where consistent feature tracking is required.

What Are the Four Main Fisheye Projection Models?

Fisheye Projection Model Comparison
Projection Formula Key Property Best Application
Rectilinear r = f·tan(θ) Preserves straight lines Architecture, measurement
Equidistant r = f·θ Linear angle-to-radius SLAM, visual odometry
Equisolid r = 2f·sin(θ/2) Preserves area ratios Sky coverage, hemispheric
Stereographic r = 2f·tan(θ/2) Preserves local shapes Object recognition

Rectilinear (Pinhole) Projection

The rectilinear projection follows r = f·tan(θ) and preserves straight lines in the scene as straight lines in the image. This is the "natural" perspective familiar from human vision and standard photography. However, the tangent function approaches infinity at 90°, which mathematically prevents rectilinear lenses from achieving 180° or greater field of view.

Equidistant Projection

The equidistant projection r = f·θ provides a linear relationship between field angle and image radius. This means angular resolution is uniform across the entire field of view—every pixel subtends the same angle regardless of its position. This property makes equidistant fisheye lenses ideal for visual SLAM and odometry where consistent feature tracking from center to edge is critical.

Equisolid-Angle (Equal-Area) Projection

The equisolid projection r = 2f·sin(θ/2) preserves solid angle ratios—equal areas in the scene occupy equal areas on the sensor. This is valuable for applications like whole-sky imaging, cloud coverage analysis, and any application where area measurement matters more than shape preservation.

Stereographic Projection

The stereographic projection r = 2f·tan(θ/2) is conformal—it preserves local shapes and angles. Objects at the extreme edges of the frame maintain their shape better than with other fisheye projections, making it useful for applications where object recognition must work across the entire field of view.

Why Does Distortion Matter for Computer Vision?

Distortion changes the scale of objects at different parts of the field of view. The scale changes both radially and tangentially, causing object deformation that affects computer vision algorithms.

⚠️ CNN Training Warning

CNN-based methods should ideally be trained on data that has the distortion profile used by your embedded vision system. Otherwise, activations will occur in incorrect locations, degrading detection and classification accuracy. Alternatively, undistort images before inference—but this adds computational overhead and may crop the field of view.

Impact of Distortion on Detection Algorithms

Research by Pei et al. demonstrates how image degradations including distortion affect CNN-based classification. Distortion changes the scale radially and tangentially, causing line deformation that impacts both object detection and line segment detection algorithms.

Effects of fisheye distortion on CNN-based image classification
Object deformation caused by barrel distortion affects CNN activations. Pei et al., "Effects of Image Degradations to CNN-based Image Classification"
Line detection affected by fisheye distortion in wide angle lenses
Distortion curves straight lines, requiring specialized line detection algorithms. Li et al., "ULSD: Unified Line Segment Detection"

Which Applications Benefit from Fisheye vs Wide Angle Lenses?

How Do I Calibrate a Fisheye Lens for Computer Vision?

OpenCV provides the cv2.fisheye namespace implementing the Kannala-Brandt distortion model, which is well-suited for fisheye lenses. The calibration process determines both intrinsic camera parameters and distortion coefficients (k₁, k₂, k₃, k₄).

Kannala-Brandt Distortion Model

The distorted angle θd is related to the undistorted angle θ by:

θd = θ(1 + k₁θ² + k₂θ⁴ + k₃θ⁶ + k₄θ⁸)

This polynomial model captures radial distortion with four coefficients, providing accurate calibration for wide-angle and fisheye lenses used in machine vision applications.

Calibration Procedure

  1. Capture calibration images: Take 15-30 images of a checkerboard pattern at various angles and distances, ensuring the pattern appears in different regions of the frame.
  2. Detect corners: Use cv2.findChessboardCorners() to locate the checkerboard corners in each image.
  3. Refine corners: Apply cv2.cornerSubPix() for sub-pixel accuracy.
  4. Calibrate: Call cv2.fisheye.calibrate() with the object points and image points to obtain camera matrix K and distortion coefficients D.
  5. Undistort: Use cv2.fisheye.undistortImage() or cv2.fisheye.initUndistortRectifyMap() for real-time correction.

Selecting Between Wide Angle and Fisheye for Your Application

Wide Angle vs Fisheye Selection Guide
Requirement Wide Angle (<180°) Fisheye (≥180°)
Straight line preservation ✓ Better (rectilinear) ✗ Lines curve
Hemispheric coverage ✗ Multiple cameras needed ✓ Single camera solution
Edge resolution Lower (rectilinear falloff) Higher (equidistant)
CNN compatibility Better (less distortion) Requires retraining
SLAM performance Limited FOV reduces features More features, better loops
Measurement accuracy Higher near center Uniform with equidistant

Frequently Asked Questions

What is the difference between a fisheye lens and a wide angle lens?

According to Smith's Modern Optical Engineering, a fisheye lens has a field of view of 180° or more. A wide angle lens provides a large field of view but less than 180°. A fisheye lens can act as a wide angle lens when paired with a smaller sensor that crops the image circle, but a wide angle lens is not necessarily a fisheye.

What is barrel distortion in camera lenses?

Barrel distortion is a third-order transverse optical aberration where magnification decreases with distance from the optical axis, causing straight lines to curve outward like a barrel. It is present in all fisheye lenses and most wide-angle lenses, and increases with field angle.

What are the different fisheye projection models?

The four main fisheye projection models are: Rectilinear (r = f·tan(θ)) which preserves straight lines but cannot exceed 180°; Equidistant (r = f·θ) which provides linear angle-to-radius mapping ideal for measurement; Equisolid/Equal-Area (r = 2f·sin(θ/2)) which preserves area ratios; and Stereographic (r = 2f·tan(θ/2)) which preserves local shapes and angles.

Why does lens distortion matter for computer vision?

Distortion changes the scale of objects at different parts of the field of view both radially and tangentially, causing object deformation. CNN-based methods should ideally be trained on data that matches the distortion profile of your embedded vision system, otherwise activations will occur in incorrect locations.

What is the fisheye fill factor?

Fisheye fill factor describes how the lens image circle relates to the sensor size. Categories include: circular fisheye (image circle smaller than sensor), full-frame fisheye (image circle matches sensor diagonal), and cropped fisheye (sensor crops the image circle). This determines whether you get the full 180°+ FOV or a cropped wide-angle view.

How do I calibrate a fisheye lens for computer vision?

Use OpenCV's cv2.fisheye namespace with the Kannala-Brandt distortion model. Capture 15-30 checkerboard images at various angles, detect corners with cv2.findChessboardCorners(), then call cv2.fisheye.calibrate() to obtain intrinsic parameters and distortion coefficients (k1-k4). This enables accurate undistortion and 3D reconstruction.

What projection model should I choose for SLAM and visual odometry?

Equidistant projection is preferred for SLAM and visual odometry because it provides uniform angular resolution across the field of view, enabling consistent feature tracking from center to edge. Equisolid projection works well when area measurement is important. Stereographic preserves local shapes, useful for object recognition at extreme angles.

Contact Us

Connect with our US-based engineering team