Автоматизированная обработка первичных финансовых документов является актуальной задачей для предприятий малого и среднего бизнеса. Кассовые чеки, регламентированные Федеральным законом № 54-ФЗ [1], содержат верифицированный набор реквизитов: наименование продавца, дату и время расчёта, перечень товаров с ценами, суммы налогов и способ оплаты. Ручная обработка этих документов сопряжена со значительными трудозатратами и высоким риском ошибок ввода.
Применение классических методов оптического распознавания текста (OCR) для обработки кассовых чеков сопряжено с рядом специфических сложностей. Отсутствие единого визуального стандарта разметки, нестабильность термопечати, перспективные искажения фотоизображений и структурная неоднородность документов существенно снижают точность распознавания [2]. В связи с этим актуальным направлением является исследование альтернативных подходов, включая применение мультимодальных нейросетевых моделей.
Целью настоящей работы является сравнительный анализ четырёх подходов к извлечению структурированных данных из изображений кассовых чеков по метрикам точности, производительности и стоимости внедрения.
1. Проблематика OCR-обработки кассовых чеков
Кассовые чеки образуют специфический класс документов, для которых характерно сочетание нормативно закреплённого состава реквизитов и значительного визуального разнообразия форматирования. По данным Thorat et al. [2], объём бумажных документов в торговле достиг масштабов, при которых ручной ввод данных стал системным узким местом. Термопечатная лента шириной 57–80 мм, моноширинный шрифт, выравнивание итоговых сумм по правому краю и использование разделительных строк из повторяющихся символов создают визуальную структуру, недоступную для интерпретации классическими OCR-системами.
Анализ литературы [2, 3, 4] и практическое тестирование, проведённое в рамках настоящего исследования, позволяют выделить три группы проблем. Во-первых, деградация качества изображения: фотографии со смартфонов содержат перспективные искажения, засветы и расфокусировку; термопечать неравномерно выцветает по длине ленты. Во-вторых, структурная неоднородность: слова «ИТОГО», «К ОПЛАТЕ» и «СУММА» семантически равнозначны, но требуют различной логики извлечения данных. В-третьих, лингвистические сложности: торговые аббревиатуры, коды ФФД и кириллица в сочетании с латиницей снижают точность OCR-движков.
Tesseract OCR версии 5.x, основанный на LSTM-архитектуре [2], воспроизводит текст в порядке физического расположения на изображении, не разграничивая заголовок, перечень товаров и итоговые суммы. Как показали Kumar et al. [3], даже с предобработкой средствами OpenCV результат требует ресурсоёмкой постобработки регулярными выражениями, что становится основным источником ошибок при обработке разнородных форматов.
Таблица 1
Классификация проблем OCR-обработки кассовых чеков
|
Группа проблем |
Конкретные проявления |
Влияние на точность OCR |
|
Качество изображения |
Перспективные искажения, засветы, расфокусировка, выцветание термопечати |
Снижение до 40–60 % на дефектных изображениях |
|
Структурная неоднородность |
Отсутствие стандарта разметки, вариативность реквизитов |
Ошибки при извлечении итого, даты, продавца |
|
Специфическая лексика |
Аббревиатуры, коды ФФД, сокращения номенклатуры |
Семантические ошибки постобработки |
|
Формат термоленты |
Ширина 57/80 мм, перенос строк, правое выравнивание |
Нарушение структуры строк |
2. Методология сравнительного исследования
В рамках исследования разработаны и протестированы четыре прототипа системы, реализующие принципиально различные подходы к решению задачи. Прототип 1 основан на коммерческом Vision API (claude-sonnet-4, Anthropic) и реализован в виде браузерного одностраничного приложения без серверной части. Прототип 2 реализует классический конвейер OCR: предобработка изображений средствами OpenCV, символьное распознавание Tesseract 5.x с языковой конфигурацией eng+rus, постобработка регулярными выражениями. Прототип 3 построен на low-code платформе n8n с использованием Google Cloud Vision API в качестве OCR-компонента. Прототип 4 представляет собой гибридную клиент-серверную систему FastAPI + Ollama с локальными VLM-моделями LLaVA и Mistral.
Тестирование проводилось на выборке из 30 изображений кассовых чеков, стратифицированных по типу торговой точки (продуктовые магазины, кафе, аптеки, АЗС), качеству изображения (высокое — 10, среднее — 12, низкое — 8) и языковому составу (русский — 24, смешанный — 6). Для оценки применялись следующие метрики: FER (Field Extraction Rate) — доля корректно извлечённых полей; OA (Overall Accuracy) — среднее значение FER по пяти ключевым полям; IER (Items Extraction Rate) — доля чеков с полным перечнем товарных позиций; PT (Processing Time) — среднее время обработки одного чека.
Эталонные значения для всех полей получены двукратной ручной разметкой с интервалом две недели. Коэффициент Коэна κ для числовых полей составил 0,94, для текстовых — 0,89, что подтверждает высокую надёжность разметки. Тестирование выполнялось на единой аппаратной платформе: рабочая станция Intel Core i7–12700K, 32 ГБ ОЗУ, NVIDIA RTX 3060 (12 ГБ VRAM).
3. Результаты сравнительного анализа
Результаты тестирования приведены в таблице 2. Данные демонстрируют устойчивую закономерность: AI-подходы превосходят Tesseract по всем полям, причём разрыв нарастает от структурно простых полей к структурно сложным. Для поля «дата» разрыв между П1 и П2 составляет 23 п.п. (97 % против 74 %), тогда как для поля «позиции» он достигает 53 п.п. (84 % против 31 %). Это свидетельствует о принципиальном преимуществе семантического понимания документа над символьным распознаванием при обработке структурно вариативных данных.
Таблица 2
Field Extraction Rate по ключевым полям чека, %
|
Поле |
П1: AI Vision |
П2: Tesseract |
П3: n8n+Cloud |
П4: Ollama LLaVA |
|
Продавец |
93 |
58 |
71 |
86 |
|
Дата |
97 |
74 |
79 |
91 |
|
Итоговая сумма |
96 |
61 |
76 |
89 |
|
НДС |
89 |
43 |
58 |
79 |
|
Позиции (IER) |
84 |
31 |
45 |
72 |
|
Overall Accuracy |
91 |
56 |
70 |
84 |
Анализ зависимости точности от качества изображений (таблица 3) выявляет принципиальное свойство VLM — устойчивость к деградации входных данных. Падение точности Tesseract при переходе от изображений высокого к низкому качеству составляет 46 п.п. (74 % → 28 %), тогда как для LLaVA — лишь 20 п.п. (91 % → 71 %). Vision-Language Models обучены на миллионах разнообразных изображений и демонстрируют устойчивость к шумам, которая принципиально недостижима для движков, оптимизированных под качественный печатный текст [4].
Таблица 3
Overall Accuracy по группам качества изображений, %
|
Качество изображения |
П1: AI Vision |
П2: Tesseract |
П3: n8n+Cloud |
П4: Ollama |
|
Высокое (n=10) |
96 |
74 |
84 |
91 |
|
Среднее (n=12) |
90 |
52 |
68 |
83 |
|
Низкое (n=8) |
82 |
28 |
47 |
71 |
Исследование платформы n8n Cloud выявило архитектурное ограничение, непреодолимое средствами конфигурации: блокировку запросов к localhost как защиту от SSRF-атак. Это исключает возможность использования локальных AI-моделей в облачном развёртывании и делает платформу несовместимой с требованием конфиденциальности финансовых данных. Данное наблюдение представляет самостоятельную методологическую ценность: при проектировании AI-поддержанных конвейеров обработки документов необходима заблаговременная верификация сетевых ограничений выбранной платформы.
4. Архитектура финальной системы
По совокупности показателей в качестве финальной реализации выбран Прототип 4 (FastAPI + Ollama). Система реализует многоуровневый конвейер обработки: предобработка изображений (OpenCV) → символьное распознавание (Tesseract) → семантический AI-анализ (Ollama LLaVA/Mistral) → резервный regex-парсер. Принцип graceful degradation обеспечивает работоспособность при любой конфигурации развёртывания: система автоматически переключается на менее точный, но всегда доступный метод при недоступности AI-компонента.
Трёхуровневая стратегия AI-анализа функционирует следующим образом. На первом уровне, при наличии модели LLaVA в каталоге Ollama, изображение передаётся напрямую в vision-модель без промежуточного OCR (temperature=0,05, timeout 120 с). На втором уровне, при отсутствии vision-модели, OCR-текст Tesseract направляется в текстовую LLM (приоритет: Mistral → LLaMA → Gemma → Phi, timeout 60 с). На третьем уровне, при недоступности Ollama, активируется детерминированный regex-парсер. Переключение между уровнями выполняется автоматически по результатам асинхронного опроса эндпоинта /api/tags с таймаутом 4 секунды.
Конвейер предобработки изображений включает четыре этапа. Первый — конвертация в оттенки серого и масштабирование до минимального размера 1200 пикселей с интерполяцией INTER_CUBIC. Второй — шумоподавление через cv2.fastNlMeansDenoising (h=10). Третий — коррекция перекоса преобразованием Хафа с порогом 0,5°. Четвёртый — адаптивная бинаризация (cv2.adaptiveThreshold, GAUSSIAN_C, блок 31 пиксель) для устранения неравномерности освещения.
Время обработки в режиме LLaVA на GPU составляет в среднем 18 секунд, в режиме Mistral на CPU — 31 секунду, в режиме Tesseract+regex — 5 секунд. Асинхронный интерфейс частично компенсирует накладные расходы нейросетевого инференса при пакетной обработке: пока сервер обрабатывает текущий чек, пользователь загружает следующий. Практическое ускорение относительно ручного ввода составляет 4–10 раз при снижении потребности в ручной верификации до 16 % полей.
Заключение
Проведённый сравнительный анализ установил, что разрыв в Overall Accuracy между лучшим AI-подходом (Ollama LLaVA, 84 %) и классическим Tesseract OCR (56 %) составляет 28 п.п., а на изображениях низкого качества достигает 43 п.п. (71 % против 28 %). Коммерческий Vision API (Claude) обеспечивает наивысшую точность (91 %), однако несовместим с требованиями конфиденциальности и автономности обработки финансовых данных. Разработанная система FastAPI + Ollama достигает точности 84 % при полной локальности, нулевой стоимости использования и автоматическом резервировании методов. Результаты исследования могут быть применены при проектировании систем интеллектуальной обработки документов для предприятий с ограниченными ресурсами.
Литература:
- Федеральный закон от 22.05.2003 № 54-ФЗ «О применении контрольно-кассовой техники» (ред. от 08.08.2024) // СЗ РФ. — 2003. — № 21. — Ст. 1957.
- Thorat C., Bhat A., Sawant P. A Detailed Review on Text Extraction Using OCR // LNNS. — Springer, 2022. — P. 719–728. — DOI: 10.1007/978–981–16–5655–2_69.
- Kumar V., Kaware P., Singh P. Extraction of Information from Bill Receipts Using OCR // ICOSEC. — IEEE, 2020. — P. 72–77. — DOI: 10.1109/icosec49089.2020.9215246.
- Liu H. et al. Visual Instruction Tuning (LLaVA) // NeurIPS 2023. — Vol. 36. — P. 34892–34916.
- Wang X., Zhang X., Lei S. Text Detection and Recognition from Receipt Images // J. Physics. — 2020. — Vol. 1518. — DOI: 10.1088/1742–6596/1518/1/012053.
- Villa-García P. A. et al. End-to-End Entity Extraction from OCRed Texts // Neural Computing and Applications. — 2024. — Vol. 36. — P. 22347–22363. — DOI: 10.1007/s00521–024–10422–9.
- Jiang A. Q. et al. Mistral 7B // arXiv:2310.06825. — 2023.
- Lewis P. et al. Retrieval-Augmented Generation for NLP Tasks // NeurIPS 2020. — Vol. 33. — P. 9459–9474.

