Сравнение движков распознавания текста
Аналитик прогоняет одни и те же поля/страницы через разные движки (Qwen-VL, Yandex OCR), чтобы выбрать пригодный для вида данных — печатный или рукописный текст.
1. Given
- Открыты OCR-лаборатории (
ocr-labs/) и/или экран применения через локальный прокси. - Реквизиты облачных API берутся из
secrets.local.js(проходят насквозь, не сохраняются). - Есть скан или вырезки полей карты.
2. When
- Аналитик выбирает движок текста: Qwen-VL (локальный VLM) или Yandex OCR (модель рукописного текста).
- Прогоняет одни и те же поля и сравнивает распознанные значения по читаемому списку и сырому JSON.
- При необходимости — сверяет grounding (координаты найденного) и подсветку областей.
3. Then
- Ясно, какой движок пригоден для данного вида полей: печатный текст надёжно берёт Yandex, рукопись — Yandex-handwritten или Qwen-VL; на мелком низком разрешении лидирует Qwen-VL.
- Выбор фиксируется как рекомендация для продуктовой обработки.
4. Альтернативы и ошибки
| Ситуация | Поведение |
|---|---|
| Облачный Yandex недоступен или лимит | Остаётся локальный Qwen-VL; Yandex — один запрос на страницу против частых мелких |
| Рукопись неразборчива | VLM-промт запрещает выдумывать: пустая строка вместо догадки |
| Нужны координаты найденного | Yandex отдаёт измеренные боксы слов (в отличие от оценочного grounding VLM) |
5. Трассировка
| Шаг | Инструмент |
|---|---|
| Сравнение движков текста, grounding, подсветка | ocr-labs/, editor/apply-template.html |
| Прокси к Yandex/Qwen | server/proxy.py |
Эпик — эпик «Стенд распознавания карт».