/ Модель

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

Лицензия
Apache 2.0
Опубликована
29 сен 2026

ocrdoc-models

Описание изображенийИзображение → текст

OcrDoc — набор ONNX-моделей PP-OCRv6 для автономного распознавания текста на вьетнамских удостоверениях личности и международных паспортах.

0скачиваний за 30 дней0лайковвеса обновлены29 сен 2026

Бенчмарки

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

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

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

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

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

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

OcrDoc — набор весов ONNX проекта e4glevlr/ocr-doc, созданный на основе PP-OCRv6 и дообученный для распознавания текста на вьетнамских удостоверениях личности и международных паспортах. В комплект входят детектор текстовых областей DBNet и две версии распознавателя PP-OCRv6 medium: Run 6 по умолчанию и Run 5b как запасной вариант для распознавания имён на удостоверениях образца 2021 года.

Модель предназначена для автономного запуска на CPU и интеграции в OCR-конвейеры документов, в том числе в приложение OcrDoc CLI для .NET/C#. Поддерживаются удостоверения CCCD/CMND и паспортные MRZ-зоны форматов ICAO 9303 TD1/TD3. В README приведены результаты на VinText и примеры компромисса между точностью распознавания имён и адресов; для распознавателя рекомендованы фиксированные размеры входа 320 или 640 пикселей по ширине и указан конкретный способ нормализации.

Модель принимает изображения документов и выдаёт распознанный текст; файлы поставляются в формате ONNX. Лицензия репозитория — Apache-2.0. Качество зависит от выбранной версии распознавателя и соблюдения требований к размеру входа: динамическая ширина может снизить точность, а Run 6 хуже распознаёт некоторые имена на CCCD 2021, чем Run 5b.

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

  • распознавание данных на вьетнамских удостоверениях CCCD и CMND
  • извлечение текста из паспортов и MRZ-зон форматов ICAO TD1/TD3
  • автономная обработка изображений документов на CPU
  • интеграция OCR документов в приложение на .NET или C#

Ограничения

Для распознавателя рекомендованы фиксированные ширины входа 320 или 640 пикселей; динамический размер может снизить точность. Версия Run 6 уступает Run 5b в распознавании имён на CCCD образца 2021 года, тогда как Run 5b хуже подходит для адресов.

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

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

Открыть на Hugging Face

OcrDoc — Fine-tuned PP-OCRv6 for Vietnamese Identity Documents & Passports

Bộ trọng số ONNX chính thức được fine-tune chuyên biệt cho xử lý OCR Giấy tờ Tuỳ thân Việt Nam (Căn cước công dân / CMND) và Hộ chiếu quốc tế (ICAO 9303 TD1 / TD3), thuộc dự án mã nguồn mở e4glevlr/ocr-doc.

Tối ưu hóa để chạy 100% offline trên CPU, không cần GPU, siêu nhẹ và bảo mật dữ liệu tuyệt đối.


📦 Danh mục Tệp trong Repo

TệpMô tảKích thướcSHA256 Checksum
detection.onnxPP-OCRv6 DBNet (ngôn ngữ trung lập, phát hiện vùng chữ cho cả CCCD và Hộ chiếu)~59 MBeb13b44b25bb36f89528b68720af8a61d9cf381176107f465db1757b65d086e1
recognition.onnxPP-OCRv6 medium rec fine-tuned tiếng Việt (Run 6, bản phát hành mặc định)~59 MB767305d37d06728fe9578ff8132595ce23f66139df5e2937fd4131bd1dc34f12
vi_v6_medium_rec_run5b.onnxPP-OCRv6 medium rec fine-tuned (Run 5b, bản dự phòng ổn định cao cho Họ tên)~59 MB2297ec45ea875187ef6c3b06e266843817fc3976e842889d658115a8de899f86
charset.txtBảng mã 229 ký tự tiếng Việt đầy đủ gắn theo vị trí cố định của recognizer680 B5d801bf60472c4c1b184b6b6843aa2c754d8daf1429247e07658ee0bd79ab448

Lưu ý: Các bản fine-tune của PP-OCRv6 medium rec đều có cùng kích thước file (62.289.039 byte). Vui lòng đối chiếu SHA256 hoặc kiểm tra tên file để phân biệt chính xác.


📊 Kết quả Benchmark & Đánh đổi

PP-OCRv5/v6 nguyên bản (stock) đạt 0% exact match trên chữ tiếng Việt có dấu. Bộ model fine-tune này khắc phục triệt để vấn đề:

Thử nghiệmPP-OCRv6 StockVietOCR (Tham chiếu)Run 5bRun 6 (Mặc định)
VinText Test Set (chữ có dấu)0%59.19%78.40%78.95% (+25.2% vs VietOCR)
name — CCCD đời 2021 (n=48)--93.8%85.4% (4 trường hợp lỗi dấu)
name — CCCD 3 (n=42)--95.2%100%
residence (địa chỉ) — CCCD 2021 (n=48)-60.4%45.8%60.4% (ngang VietOCR)
residence — CCCD 3 (n=156)--67.9%69.9%
dob (ngày sinh) — CCCD 2021 (n=46)--89.1%93.5%
MRZ TD1 (mặt sau CCCD)--148/150148/150
id12 / sex--100% / 93.9%100% / 93.9%

Lựa chọn giữa Run 6 và Run 5b:

  • Run 6 (Mặc định): Giải quyết triệt để địa chỉ cột hẹp và nhãn dính liền trên CCCD 2021 (tăng từ 45.8% lên 60.4%, ngang ngửa VietOCR nhưng tốc độ nhanh hơn nhiều).
  • Run 5b (Dự phòng): Nếu hệ thống của bạn ưu tiên độ chính xác tuyệt đối ở trường Họ tên trên CCCD 2021 hơn trường Địa chỉ, chỉ cần đổi sang dùng vi_v6_medium_rec_run5b.onnx.

🚀 Hướng dẫn Sử dụng

1. Dùng trực tiếp với OcrDoc CLI (.NET / C#)

Tải bản bundle hoặc tự build theo hướng dẫn tại e4glevlr/ocr-doc:

# Tải models từ Hugging Face
huggingface-cli download truonggiabao7/ocrdoc-models --local-dir models/

# Chạy OCR đối soát 2 mặt CCCD
ocrdoc-cli read --models models/ mat_truoc.jpg mat_sau.jpg

# Xuất định dạng JSON
ocrdoc-cli read --models models/ --json mat_truoc.jpg mat_sau.jpg > ket_qua.json

2. Tích hợp trong dự án C# (.NET 8)

using OcrDoc;

using var ocr = new DocumentOcr(new OcrOptions
{
    DetectionModelPath   = "models/detection.onnx",
    RecognitionModelPath = "models/recognition.onnx", // hoặc vi_v6_medium_rec_run5b.onnx
    DictionaryPath       = "models/charset.txt",
    NumThreads           = 0, // Dùng toàn bộ core CPU
    AutoOrient           = false
});

var result = ocr.ReadFiles("front.jpg", "back.jpg");
if (result.Type == DocumentType.Cccd && result.Cccd is { } cccd)
{
    Console.WriteLine($"CCCD: {cccd.Id.Value} (Confident: {cccd.Id.Confident})");
    Console.WriteLine($"Tên:  {cccd.Name.Value} (Confident: {cccd.Name.Confident})");
    Console.WriteLine($"Đ/c:  {cccd.Residence.Value}");
}

3. Tải và suy luận với Python (ONNXRuntime)

from huggingface_hub import hf_hub_download
import onnxruntime as ort

repo_id = "truonggiabao7/ocrdoc-models"

# Tải file trọng số
det_path = hf_hub_download(repo_id=repo_id, filename="detection.onnx")
rec_path = hf_hub_download(repo_id=repo_id, filename="recognition.onnx")
dict_path = hf_hub_download(repo_id=repo_id, filename="charset.txt")

# Khởi tạo session
det_session = ort.InferenceSession(det_path, providers=["CPUExecutionProvider"])
rec_session = ort.InferenceSession(rec_path, providers=["CPUExecutionProvider"])

⚙️ Ràng buộc Kỹ thuật khi Tự Cấu hình Recognizer

  • Độ phân giải đầu vào cố định: Model được huấn luyện ở [3, 48, 320]. Recognizer chỉ nên chạy ở 2 bậc chiều rộng cố định: 320 (văn bản thường) và 640 (cho dòng MRZ dài). Kích thước động sẽ làm giảm tới 8.5% độ chính xác.
  • Normalization: Chuẩn hoá pixel về (x / 255.0 - 0.5) / 0.5.

📜 Giấy phép (License)

  • Model weights tuân thủ giấy phép Apache-2.0 (PaddleOCR).
  • Mã nguồn và pipeline OcrDoc tuân thủ giấy phép MIT License.

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

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

GPU в ailist

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

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

В репозитории нет весов в формате PyTorch/safetensors.

Ревизия весов
9b53464

0 моделей