EasyImageSharp models

ONNX models used by EasyImageSharp.AI, the optional AI add-on for the EasyImageSharp imaging library for .NET.

The library downloads these files at run time, verifies each against a SHA-256 pinned in its source, and caches them locally. Verification is fail-closed: a file whose hash does not match is deleted rather than run.

Licensing

These weights carry the licences of their original authors, which differ per file. This repository redistributes them unmodified in ONNX form; it does not and cannot relicense them. The repository-level tag is therefore other — consult the per-file licence below, and the upstream project for the authoritative terms and copyright notices.

File Task Size Licence Upstream
PP-LCNet_x1_0_doc_ori.onnx Document orientation (0/90/180/270) 6.8 MB Apache-2.0 PaddleX doc_orientation_classify
UVDoc.onnx Page dewarping 31 MB MIT tanguymagne/UVDoc
realesrgan_general_x4v3.onnx Super-resolution ×4 4.9 MB BSD-3-Clause xinntao/Real-ESRGAN realesr-general-x4v3
dncnn_gray_blind.onnx Grayscale denoising 2.7 MB MIT cszn/KAIR dncnn_gray_blind
u2net.onnx Saliency / background removal (default) 176 MB Apache-2.0 xuebinqin/U-2-Net u2net
u2netp.onnx Saliency, small and fast variant 4.6 MB Apache-2.0 xuebinqin/U-2-Net u2netp
sauvolanet.onnx Learned document binarisation 0.3 MB MIT Leedeng/SauvolaNet

realesrgan_general_x4v3.onnx is BSD-3-Clause: redistribution must retain the copyright notice and the list of conditions, and the authors' names may not be used to endorse derived products; its notice is reproduced at the end of this card.

Input and output contracts

The library feeds these tensors exactly and interprets the outputs accordingly. An export that does not match will run and produce wrong results, so the contract is part of the published artefact.

File Input Normalisation Output
PP-LCNet_x1_0_doc_ori.onnx x [1,3,224,224] RGB ImageNet mean/std [1,4] scores over 0°, 90°, 180°, 270° clockwise
UVDoc.onnx image [1,3,712,488] RGB 0–1 [1,3,712,488] rectified image in 0–1
realesrgan_general_x4v3.onnx input [1,3,H,W] RGB, dynamic H/W 0–1 [1,3,4H,4W] in 0–1
dncnn_gray_blind.onnx input [1,1,H,W] luminance, dynamic H/W 0–1 [1,1,H,W] noise residual; clean = input − output
u2net.onnx input.1 [1,3,320,320] RGB ImageNet mean/std [1,1,320,320] saliency mask in 0–1
u2netp.onnx input [1,3,320,320] RGB ImageNet mean/std [1,1,320,320] saliency mask in 0–1
sauvolanet.onnx input [1,1,H,W] luminance, dynamic H/W 0–1 [1,1,H,W] per-pixel threshold map; white where luminance ≥ threshold

Checksums

Verified by the library against the values compiled into ModelRegistry.cs. See checksums.json.

PP-LCNet_x1_0_doc_ori.onnx     D85B3185075AFCA1A83157F73EAC2E52B598D72E9D47DD19CC4A2F3605E23E3F
UVDoc.onnx                     7E54E917AD9CA8F6CFFE606C7C311AAD3B6EEE457D4D9776F99F175D0CA86835
realesrgan_general_x4v3.onnx   AAA2B465D2258BDCC30D51076BC358DA00D1595D2FA05697979E782F97DE325A
dncnn_gray_blind.onnx          A0A21D0677EA5FB83A66D922EBFB22BC81926C79044B08778F4A6D740FA7864F
u2net.onnx                     8D10D2F3BB75AE3B6D527C77944FC5E7DCD94B29809D47A739A7A728A912B491
u2netp.onnx                    2B5D0563269555FC84FFCA01B24AF5081581D38614F858ECF913331DF0E2ED88
sauvolanet.onnx                948AAEA4882D4D6734C0FEC4739381857BE97F62526AD8BA8CA067A353106160

Published files are never overwritten. A re-export is published under a new file name with a new checksum, so a pinned library version always resolves the exact bytes it was tested against.

Provenance

realesrgan_general_x4v3.onnx and dncnn_gray_blind.onnx were exported by tools/export_models.py, and sauvolanet.onnx by tools/export_sauvolanet.py, both at opset 17 from the upstream weights linked above. Each export is validated against the reference implementation before publication. u2netp.onnx is redistributed from an existing ONNX release. PP-LCNet_x1_0_doc_ori.onnx and UVDoc.onnx are redistributed unmodified.

Usage

using EasyImageSharp;
using EasyImageSharp.AI;
using EasyImageSharp.PixelFormats;

using var ai = new ImageAiSession();
using Image<Rgb24> page = Image.Load<Rgb24>("photo.jpg");

page.AutoOrient(ai);        // PP-LCNet_x1_0_doc_ori
page.DewarpDocument(ai);    // UVDoc
page.DenoiseAI(ai);         // dncnn_gray_blind

Models download on first use into %LOCALAPPDATA%/EasyImageSharp/models (~/.local/share elsewhere). For air-gapped deployment, pre-seed that directory and set ImageAiOptions.Offline = true.

Upstream notices

Real-ESRGAN (realesrgan_general_x4v3.onnx) is distributed under the BSD 3-Clause License:

Copyright (c) 2021, Xintao Wang. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the above copyright notice, this list of conditions and the following disclaimer are retained, and that neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. This software is provided by the copyright holders "as is" and any warranties are disclaimed.

The full text is in the upstream repository. MIT-licensed weights (UVDoc.onnx, dncnn_gray_blind.onnx, sauvolanet.onnx) and Apache-2.0 weights (PP-LCNet_x1_0_doc_ori.onnx, u2net.onnx, u2netp.onnx) retain the terms of their upstream projects, linked in the table above.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support