Телеграм-бот для распознавания российских кассовых чеков с записью в 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- Нарезать строки из реальных фото
- Разметить
- Подготовить датасет (train/val)
- Загрузить на Kaggle и запустить kaggle_finetune.ipynb