anycalib-gpu / README.md
SebRincon's picture
Fix: graceful GPU/CPU fallback, remove spaces dependency requirement
15e4e8c verified
---
title: AnyCalib
emoji: "\U0001F4F7"
colorFrom: indigo
colorTo: blue
sdk: gradio
sdk_version: 5.12.0
app_file: app.py
pinned: true
license: apache-2.0
tags:
- camera-calibration
- anycalib
- computer-vision
- lens-correction
- dinov2
---
# AnyCalib — Full-Resolution Camera Calibration
Single-image camera calibration and lens distortion correction.
No quantization, no resolution limits — full FP32 inference with the complete AnyCalib pipeline.
Automatically uses GPU when available (ZeroGPU / dedicated), falls back to CPU.
## What it does
1. Upload any image (phone photo, action cam, drone, dashcam, etc.)
2. DINOv2 ViT-L/14 backbone predicts per-pixel ray directions
3. RANSAC + Gauss-Newton calibrator fits camera intrinsics
4. Image is undistorted at **original resolution** using the fitted parameters
## Output
- **Corrected image** at full input resolution
- **Camera intrinsics**: focal length, principal point, distortion k1
- **FOV** (horizontal and vertical)
- **Distortion type** (barrel, pincushion, or negligible)
- **Raw JSON** with all parameters, timing, and metadata
## Model
- **Architecture**: DINOv2 ViT-L/14 (304M) + LightDPT (15.2M) + ConvexTangentDecoder (0.6M)
- **Total**: ~320M parameters, full FP32
- **Weights**: [SebRincon/anycalib](https://huggingface.co/SebRincon/anycalib)
- **ONNX**: [SebRincon/anycalib-onnx](https://huggingface.co/SebRincon/anycalib-onnx)
- **Source**: [github.com/javrtg/AnyCalib](https://github.com/javrtg/AnyCalib)