Skip to main content
OCRVLMAI automation

Почему VLM путают номера и как это чинить

На практике VLM часто ошибаются при чтении мелких номеров, путая похожие символы (M/N, 6/9) и нарушая формат вывода. Это не тупик для AI-автоматизации. Решение — многоступенчатый пайплайн: сначала детекция и обрезка зоны номера, затем распознавание формата и, наконец, посимвольное считывание по группам для повышения точности.

Технический контекст

Я люблю такие кейсы больше, чем красивые демо. В обсуждении как раз всплыло то, что я регулярно вижу в реальной AI implementation: маленькая VLM-модель вроде E4B кажется «сильной», но на автомобильных номерах стабильно путает похожие символы. M и N, 6 и 9, плюс местами не держит структуру ответа.

И это не выглядит странно. Если картинка на входе сильно скейлится, модель физически теряет мелкие детали. Для номера это смертельно: один штрих исчез, и буква уже другая.

Мне здесь понравилась не жалоба, а инженерная мысль из треда. Не пытаться выбить из модели идеальный OCR одним промптом, а собрать пайплайн: сначала найти зону номера, потом кропнуть, потом определить страну и формат, а уже после читать символы не целиком, а по кускам.

Я бы делал это именно так. Сначала bounding box или хотя бы грубая локализация. Потом отдельный проход на шаблон вида AA 1234 или AB 12 CD. Потом последовательное чтение групп, где модель не размазывает внимание по всей картинке.

Еще один важный момент: если модель плохо следует формату ответа, не надо спорить с ней в одном запросе. Я обычно режу задачу на шаги и заставляю каждый шаг отдавать очень узкий JSON. Это не магия, это просто нормальная AI integration вместо надежды на «ну сейчас точно поймет».

Дешевый файнтюн здесь тоже звучит логично, если у вас много однотипных номеров, камер и стран. Но я бы не начинал с него. Пока не собран внятный многошаговый контур, файнтюн часто только маскирует архитектурную проблему.

Влияние на бизнес и автоматизацию

Для продакшна вывод простой: один VLM-вызов на весь кадр не равен надежному OCR. Если ошибка бьет по шлагбауму, штрафу, парковке или логистике, нужен pipeline-first подход, а не «универсальная мультимодальная модель все сама сделает».

Выигрывают команды, которые умеют разложить задачу на этапы и мерить confidence по каждому шагу. Проигрывают те, кто строит критичный процесс на одном сыром ответе модели.

Я у себя смотрю на это как на AI solutions architecture, а не как на выбор очередной модной модели. В Nahornyi AI Lab мы как раз такие вещи и собираем для клиентов: где нужен кроп, где валидация формата, где fallback на второй проход, а где уже действительно стоит build AI automation вокруг VLM, чтобы она экономила время, а не создавала ручную проверку поверх ручной проверки.

Если у вас похожая история с документами, номерами или мелким текстом на фото, можно быстро пройтись по вашему пайплайну и найти, где модель теряет сигнал. Обычно проблема не в «плохом AI», а в том, что ему дали задачу слишком широким куском. Это как раз тот случай, где Nahornyi AI Lab может собрать спокойную рабочую схему вместо еще одной красивой, но хрупкой демки.

В связанном обсуждении визуальных моделей ИИ рассматривалась Seedance 2, видеомодель для генерации видео. Понимание реалий продакшна и ценности таких визуальных моделей является ключом к оценке новых пайплайнов на базе Visual Language Model.

Поделиться статьёй