一个使用CNN+BiLSTM+CTC架构的越南车牌OCR系统,支持训练、微调、推理和导出为ONNX/OpenVINO格式。

Stars

6

7 天增长

暂无数据

Fork 数

0

开放 Issue

0

开源协议

暂无数据

最近更新

2026-07-30

AI 仓库情报摘要
FR-AI / ANALYSIS

为什么值得关注

提供从合成数据生成到生产部署的完整流程,具有自动超参数选择和量化支持。

适合谁使用

  • 越南车牌识别开发者
  • 研究CTC模型的OCR研究人员
  • 需要可部署ONNX/OpenVINO模型的工程师
  • 构建越南交通监控系统的爱好者

典型使用场景

  • 自动收费和停车场管理
  • 交通监控和执法
  • 越南车辆登记系统
  • 基于CTC的光学字符识别研究

项目优势

  • 根据数据集大小自动选择超参数,减少手动调优
  • 支持微调(tune.py),无需从头重新训练即可适应新数据
  • 可导出多种格式(ONNX、OpenVINO FP32/FP16/INT8)用于边缘部署
  • 包含合成数据生成器,便于快速测试流水线

使用前须知

  • 未提供预训练模型权重,用户需自行训练或寻找外部检查点
  • 由于LSTM层,ONNX导出仅支持批大小为1
  • 没有用于架构搜索的超参数调优脚本,只能手动尝试

README 快速开始

K-OCR — OCR biển số xe Việt Nam

Dự án nhận dạng ký tự (OCR) trên ảnh biển số xe đã được crop sẵn, dùng kiến trúc CNN (stem + residual stages) + BiLSTM + CTC, định nghĩa tại plate_recognizer.py.

1. Cấu trúc dự án

K-OCR/
  plate_recognizer.py           # Kiến trúc model (CNN + BiLSTM + CTC)
  charset.py                    # Bảng ký tự + encode/decode CTC
  dataset.py                    # PlateDataset, augmentation, collate_fn cho CTC
  train.py                      # Script train model từ đầu
  tune.py                       # Script fine-tune / train tiếp từ 1 checkpoint có sẵn
  infer.py                      # Script chạy thử / demo inference
  export.py                     # Script export model sang ONNX / OpenVINO (FP32/FP16/INT8)
  generate_dummy_data.py        # Tạo dữ liệu giả lập để test nhanh pipeline
  requirements.txt
  data/
    README.md                  # Hướng dẫn định dạng dữ liệu
    train/{images/, labels.txt}
    val/{images/, labels.txt}
  checkpoints/                  # Nơi lưu model đã train (best_model.pt, last_model.pt)
  exported_models/              # Nơi lưu model đã export (onnx, openvino IR) — tạo bởi export.py

2. Kiến trúc model (tóm tắt)

Input [B, 3, 112, 224] → Stem → 3 Residual stage → AdaptiveAvgPool theo chiều cao → sequence [B, 56, 256] → 2 lớp BiLSTM → Linear classifier → logits [B, 56, num_classes]. Chi tiết đầy đủ xem docstring trong plate_recognizer.py.

num_classes = số ký tự trong charset.py + 1 (lớp blank của CTC).

3. Cài đặt

python -m venv venv
venv\Scripts\activate          # Windows
pip install -r requirements.txt

Nếu chỉ có CPU, có thể cài PyTorch bản CPU theo hướng dẫn tại https://pytorch.org/get-started/locally/ trước khi cài các phần còn lại.

4. Chuẩn bị dữ liệu

Xem chi tiết tại data/README.md.

Chưa có dữ liệu thật? Tạo dữ liệu giả lập để test pipeline trước:

python generate_dummy_data.py --data-dir data --train-samples 200 --val-samples 40

5. Train

python train.py --data-dir data

--epochs, --batch-size, --lr mặc định là tự động — nếu không truyền tay, train.py sẽ đếm số ảnh trong data/train/labels.txt và tự chọn theo bảng dưới (xem auto_hparams() trong train.py). Data ít cần train nhiều epoch hơn để hội tụ nhưng batch nhỏ hơn; d

项目描述

OCR biển số xe Việt Nam

相关仓库与替代方案

根据分类、Topic 和编程语言匹配的相似项目。

MoonshotAI
精选
MoonshotAI GitHub avatar

Kimi-K3

Kimi K3 is an open-weight, 2.8T-parameter native multimodal agentic model with a 1M-token context window, designed for frontier coding, knowledge work, and reasoning tasks.

AI 与机器学习AI 智能体
3,348
jamesob
精选
jamesob GitHub avatar

local-llm

A comprehensive guide for building and configuring a high-end local machine to run state-of-the-art LLMs, with detailed hardware choices, BIOS tuning, and Docker-based model serving.

AI 与机器学习大语言模型
1,660
Blaizzy
精选
Blaizzy GitHub avatar

nativ

Nativ is a native macOS app that lets you run AI models locally on Apple silicon, offering chat, model management, performance analytics, and an OpenAI/Anthropic-compatible API server.

AI 与机器学习AI 视觉与语音
985