/ Модель

Характеристики

Размер весов
1 МБ
Лицензия
Apache 2.0
Архитектура
uvdoc · dense
Библиотека
onnx
Опубликована
12 янв 2026

uvdoc-grid-onnx

Преобразование изображенийИзображение, текст → изображение6 профессий

ONNX-модель UVDoc оценивает координатную сетку для коррекции перспективных и криволинейных искажений фотографий документов перед OCR.

138скачиваний за 30 дней2лайкавеса обновлены12 янв 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Это ONNX-экспорт модели UVDoc для выравнивания фотографий документов с перспективными и криволинейными искажениями. Исходную архитектуру UVDoc, основанную на ResNet encoder-decoder, разработали Floor Verhoeven, Tanguy Magne и Olga Sorkine-Hornung из ETH Zurich; модель опубликована на SIGGRAPH Asia 2023. Данный вариант изменён для выдачи координатной сетки, а не готового изображения.

На вход подаётся RGB-изображение, нормализованное в диапазон [0, 1] и приведённое к размеру 720×496. На выходе — сетка координат 45×31 с двумя каналами в диапазоне [-1, 1], которую можно применить через cv2.remap() для разворачивания документа в исходном разрешении. Репозиторий содержит модель в формате ONNX и распространяется по лицензии Apache-2.0.

Модель предназначена для предобработки снимков документов перед OCR и для коррекции их формы. Ей нужны видимые текст или другие детали на документе для оценки сетки; сильные перспективные искажения могут обрабатываться хуже. По данным README, CPU-инференс занимает около 100–200 мс на изображение.

Сценарии применения

  • выравнивание сфотографированных страниц документов
  • коррекция изгиба страниц книг и журналов
  • подготовка снимков документов к OCR
  • разворачивание документов в исходном разрешении через cv2.remap()

Ограничения

Для инференса изображение нужно привести к размеру 720×496; модели лучше подходят документы с видимым текстом или деталями, а сильные перспективные искажения могут обрабатываться хуже. По README, инференс на CPU занимает около 100–200 мс на изображение.

Для каких профессий подходит6

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

UVDoc Grid Output - Document Unwarping ONNX Model

This is an ONNX export of the UVDoc document unwarping model, modified to output a coordinate grid instead of an image. This enables high-resolution document unwarping via cv2.remap().

Model Description

UVDoc is a deep learning model for correcting perspective distortion and curvature in photographed documents. Unlike the PaddlePaddle ONNX variant that outputs a fixed 288x288 image, this version outputs a coordinate mapping grid that can be applied to images of any resolution.

Key Difference: Grid Output vs Image Output

ApproachOutputQuality
Image-output models288x288 RGB imagePoor (must upscale)
This grid-output model45x31 coordinate gridNative resolution

Model Details

  • Architecture: UVDoc (ResNet-based encoder-decoder)
  • Input: (1, 3, 720, 496) - RGB image, normalized [0, 1]
  • Output: (1, 2, 45, 31) - Coordinate grid in [-1, 1] range
  • ONNX Opset: 16
  • Size: ~30 MB

Input Specifications

PropertyValue
Shape(batch, 3, 720, 496)
FormatRGB (not BGR)
Range[0, 1] (normalized)
LayoutNCHW (batch, channels, height, width)

Output Specifications

PropertyValue
Shape(batch, 2, 45, 31)
Channels2 (x, y coordinates)
Range[-1, 1] (normalized coordinates)
LayoutNCHW (batch, channels, height, width)

Usage

With ONNX Runtime (Python)

import cv2
import numpy as np
import onnxruntime as ort

# Load model
session = ort.InferenceSession("UVDoc_grid.onnx", providers=['CPUExecutionProvider'])

# Load and preprocess image
image = cv2.imread("warped_document.jpg")
h_orig, w_orig = image.shape[:2]

# Prepare model input (720x496 RGB normalized)
img_rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
resized = cv2.resize(img_rgb, (496, 720))  # width, height
blob = resized.astype(np.float32) / 255.0
blob = np.transpose(blob, (2, 0, 1))[None]  # (1, 3, 720, 496)

# Run inference
result = session.run(None, {'image': blob})[0]  # (1, 2, 45, 31)

# Convert grid to remap coordinates
grid = np.transpose(result[0], (1, 2, 0))  # (45, 31, 2)
grid_up = cv2.resize(grid, (w_orig, h_orig), interpolation=cv2.INTER_LINEAR)

map_x = ((grid_up[..., 0] + 1) / 2) * (w_orig - 1)
map_y = ((grid_up[..., 1] + 1) / 2) * (h_orig - 1)

# Apply unwarping to original high-res image
unwarped = cv2.remap(
    image,
    map_x.astype(np.float32),
    map_y.astype(np.float32),
    interpolation=cv2.INTER_CUBIC,
    borderMode=cv2.BORDER_REPLICATE
)

cv2.imwrite("unwarped_document.jpg", unwarped)

With HuggingFace Hub

from huggingface_hub import hf_hub_download

model_path = hf_hub_download(
    repo_id="YOUR_USERNAME/uvdoc-grid-onnx",
    filename="UVDoc_grid.onnx"
)

Training Details

This model was not retrained. It is a direct ONNX export of the original UVDoc weights from tanguymagne/UVDoc, with a wrapper to output only the 2D coordinate grid (discarding the 3D shape output).

Original Model

Limitations

  • Input must be resized to 720x496 for inference (grid output is always 45x31)
  • Works best on documents with visible text/content (needs features for grid estimation)
  • May not handle extreme perspective distortions well
  • CPU inference takes ~100-200ms per image

Citation

If you use this model, please cite the original UVDoc paper:

@inproceedings{UVDoc,
    title={{UVDoc}: Neural Grid-based Document Unwarping},
    author={Floor Verhoeven and Tanguy Magne and Olga Sorkine-Hornung},
    booktitle = {SIGGRAPH ASIA, Technical Papers},
    year = {2023},
    url={https://doi.org/10.1145/3610548.3618174}
}

License

This ONNX export is provided under the Apache 2.0 license. The original UVDoc model is also Apache 2.0 licensed. See the original repository for full license details.

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · onnx

Нельзя запустить

Модели «картинка → картинка» пока не запускаются.

Ревизия весов
39c8284

0 моделей