Skip to content

Repository files navigation

ReceiptBot_TI

Телеграм-бот для распознавания российских кассовых чеков с записью в Excel.

Стек

  • OCR: EasyOCR (CRAFT-детектор + CRNN: TPS+ResNet+BiLSTM+CTC)
  • Дообучение CRNN: модифицированный deep-text-recognition-benchmark в model/trainer/
  • Предобработка: OpenCV (маска бумаги + minAreaRect + дотюнинг угла по проекции)
  • Парсер: регулярные выражения с якорями items_start / items_end
  • Синтетика: рендерер с 3 уровнями шума (model/synth_render.py)
  • Бот: python-telegram-bot, openpyxl

Структура

bot/                 Telegram-бот и запись в Excel
processing/          Предобработка, OCR engine, парсер
  image_processor.py crop_receipt + deskew
  ocr_engine.py      EasyOCR + опциональный CRNN
  receipt_parser.py  строки → JSON
  text_corrector.py
model/               Обучение и инференс CRNN
  trainer/           форк deep-text-recognition-benchmark
  crnn_recognizer.py обёртка для инференса
  data_generator.py  генератор wordlist
  synth_render.py    рендер синтетики
  prepare_dataset.py склейка synth + real → LMDB
  train.py           запуск trainer-а
  test_real.py       проверка на data/real/gt.json
  evaluate.py
data/
  real/              фото чеков
  real_lines/        нарезанные кропы + labels.tsv
  real_train_export/ подготовленный train/val для Kaggle
  synthetic/         wordlist для синтетики
kaggle_train.ipynb       обучение CRNN с нуля
kaggle_finetune.ipynb    дообучение от чекпоинта на реальных
config.py, main.py

Быстрый старт

pip install -r requirements.txt
python main.py

Дообучение CRNN

  1. Нарезать строки из реальных фото
  2. Разметить
  3. Подготовить датасет (train/val)
  4. Загрузить на Kaggle и запустить kaggle_finetune.ipynb

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages