Dev48
ЯЗЫК
  • О нас
  • Услуги
  • Индустрии
  • Технологии
  • Статьи
  • Контакты
Забронировать звонок
    Главная/Статьи/Luchshaya model ocr dlya skanirovannyh dokumentov rezultaty izmereniy
Dev48
info@dev48.org+375 29 320-40-96WhatsApp@isky_by

© 2026 · Все права защищены.

Лучшая модель OCR для сканированных документов: результаты измерений

Источник: OpenRouter Blog•10 ноября 2026 г. в 18:16

Лучшая модель OCR для сканированных документов: результаты измерений

Мы взяли восемь сканированных страниц с собственноручно написанным текстом, прогнали их через 15 моделей компьютерного зрения, Mistral OCR и Tesseract, а затем проверили каждое значение. Claude Opus 5.5 оказалась самой точной, а Mistral OCR — самой выгодной.

Преобразование сканированных документов в надежный текст — сложная задача. Классические OCR-движки, такие как Tesseract, пасуют перед выцветшим текстом, рукописным вводом и факсами. Модели компьютерного зрения хорошо читают такие страницы, но иногда «додумывают» значения, которых нет на листе. Мы создали восемь тестовых страниц с собственным текстом, чтобы можно было проверить каждый символ, и прогнали их через 15 моделей компьютерного зрения и Mistral OCR на OpenRouter, а также через Tesseract.

Лучшей OCR-моделью в нашем тесте стала Claude Opus 5.5: 262 из 264 ключевых значений верны при стоимости $16.42 за 1000 страниц. Mistral OCR оказалась самой выгодной: 258 из 264 верных значений за $2.02. В этой статье представлены результаты, ошибки, на которые стоит обратить внимание, и код для их выявления.

Эти результаты — лишь отправная точка. Наши восемь страниц отличаются от ваших документов, поэтому единственный верный способ узнать, какая модель лучше подходит для вашего рабочего процесса, — протестировать кандидатов на ваших собственных сканах.

Кратко (Tl;dr)

  • Самая точная: anthropic/claude-opus-5.5. Самая выгодная: mistral-ocr. Самый дешевый качественный результат: inclusionai/ling-3.0-flash-vl с отключенным рассуждением (reasoning), 254 из 264 верных значений за $0.04 за 1000 страниц.
  • На выцветшем чеке модели GPT-6 Luna и GPT-6.1 Sol выдумали цифры карты, пароли от Wi-Fi и имя сервера. Уровень ошибок не отражает этого, поэтому проверяйте те значения, которые будете использовать на практике.
  • Отключение рассуждения сделало четыре из пяти протестированных моделей быстрее и дешевле без потери ключевых значений.
  • Маркировка слов, в которых разошлись две дешевые модели из разных лабораторий, позволила выявить 34 из 35 ошибочных слов при стоимости $0.62 за 1000 страниц.

Как мы проводили тестирование

Мы сгенерировали каждую страницу из известного текста, а затем ухудшили качество, имитируя скан: добавили небольшой поворот, размытие, шум и JPEG-сжатие. Пять страниц — обычные: чек, письмо с двумя намеренными опечатками, форма с отмеченным полем, двухколоночный информационный бюллетень и аккуратная рукописная заметка. Три страницы созданы сложными: выцветший термочек, быстрый размашистый почерк и факс низкого разрешения с 12 серийными номерами, состоящими из похожих символов (0/O, 1/I/L, 5/S, 8/B), чтобы модель не могла угадать их по контексту.

Мы оценивали каждую расшифровку двумя способами. Коэффициент ошибок символов (CER) — это расстояние редактирования до исходного текста, деленное на его длину, без учета переносов строк и Markdown. Ключевые значения — это 88 строк, которые использовались бы в конвейере обработки (по 10–15 на страницу): суммы, даты, цифры карт, серийные номера и слова с опечатками. Каждое значение должно было точно совпасть в каждом из трех прогонов, что дает 264 проверки на модель. Затраты — это стоимость каждого запроса согласно биллингу. Модели взяты из каталога OpenRouter по состоянию на 8 октября 2026 года.

Какая OCR-модель наиболее точна на сканированных документах?

Таблица отсортирована по количеству верных ключевых значений.

На пяти обычных страницах каждая модель компьютерного зрения показала CER менее 0,3%, и все 15 идеально расшифровали аккуратный рукописный текст. Большая часть разброса приходится на выцветший чек. Opus 5.5 и Mistral OCR прошли все 33 проверки на нем, тогда как GPT-6 Luna — только 16. Модели по-разному считают токены изображений (медианная страница составила 1070 токенов промпта для DeepSeek и 3314 для Grok), поэтому оценивайте стоимость на своих страницах.

Какая OCR-модель подходит для вашей работы

Что идет не так, когда модель компьютерного зрения читает сложный скан?

Самая серьезная ошибка — это значение, которое выглядит правдоподобно, но отсутствует на странице. Вот нижняя часть выцветшего чека в оригинале, за которой следует один из прогонов GPT-6 Luna:

На чеке нет строки NET. Карта заканчивается на 9026, а имя и пароль выдуманы. GPT-6 Luna меняла имя сервера и год во всех трех прогонах. GPT-6.1 Sol каждый раз писала новый выдуманный пароль (flatwhite24, flat9am!, flatleaf). Мы также просили модели писать [?] вместо угадывания. Это не помогло: четыре из семи моделей ни разу не использовали этот маркер.

Другие повторяющиеся ошибки:

  • O и 0: Два серийных номера из факса были неверны как минимум в одном прогоне у 13 из 15 моделей. Только Claude Sonnet 5.5 и GPT-6.1 Sol читали их правильно каждый раз.
  • Исправление орфографии: Письмо подписано «Senior Assosiate», и в промпте указано копировать написание точно. 16 из 45 расшифровок все равно «исправили» его.
  • Отмеченные поля: Claude Sonnet 5.5 и Haiku 5.5 скопировали подписи к чекбоксам формы, но пропустили, какой именно чекбокс был отмечен.

Шаг 1: Отправка скана модели компьютерного зрения

Модель компьютерного зрения генерирует расшифровку так же, как языковая модель генерирует любой текст, поэтому она склонна писать то, что обычно встречается в текстах, а не то, что напечатано на самом деле. Промпт требует точного копирования. Это уменьшает проблему, но не устраняет ее: 16 из 45 расшифровок все еще исправляли намеренную опечатку в письме. Вам понадобится API-ключ OpenRouter в переменной OPENROUTER_API_KEY. Изображение передается как часть base64 image_url (см. входные данные изображений), поэтому каждая модель компьютерного зрения на OpenRouter получает один и тот же запрос. Сохраните его как transcribe.py, так как шаги 3 и 4 импортируют его:

Каждый символ вернулся верно, примерно за две сотых цента. URL данных берет тип из расширения файла, поэтому сканы в PNG и WebP тоже работают. Чтобы сравнить модели, меняйте только строку модели и передавайте reasoning=None для моделей из шага 2, которые не могут отключить рассуждение.

Проверка finish_reason добавлена, потому что токены рассуждения учитываются в max_tokens. С лимитом в 4000 токенов Gemini 3.8 Flash тратила 3841 токен на рассуждение о факсе при каждом прогоне и останавливалась на середине 4-го серийного номера. Запрос все равно возвращал 200 OK с finish_reason: "length", поэтому без проверки конвейер сохранял бы неполные расшифровки, не замечая этого.

Шаг 2: Отключение рассуждения для транскрипции

Рассуждение помогает, когда модели нужно спланировать ответ. Копирование текста со страницы не требует плана, поэтому дополнительные токены в основном увеличивают стоимость и время. Вот почему transcribe по умолчанию отправляет "reasoning": {"effort": "none"} (см. токены рассуждения). Мы повторно провели полный тест с отключенным рассуждением для каждой модели, которая это позволяет:

С включенным рассуждением один запрос к Mistral Large 4 рассуждал 626 секунд и не вернул текст (finish_reason: "error"). Qwen3.8 27B справилась лучше с включенным рассуждением, поэтому тестируйте свои страницы. Gemini 3.8 Flash, Grok 4.7 и GLM 5.3 FlashX не позволяют отключить рассуждение, поэтому передавайте reasoning=None, чтобы исключить это поле. В противном случае запрос завершится ошибкой:

Шаг 3: Перекрестная проверка двух моделей из разных лабораторий

Похожие символы, такие как O и 0, трудно различить на размытом изображении. Каждая модель принимает решение на основе своего обучения, поэтому две модели из разных лабораторий редко делают одну и ту же ошибку. Там, где их расшифровки различаются, изображение обычно нечеткое. Мы протестировали каждую пару из шести моделей. Лучшей оказалась Claude Haiku 5.5, проверяемая DeepSeek V4.1 Flash. Haiku допустила 35 ошибок в 2964 словах, а DeepSeek с отключенным рассуждением (как в шаге 2) разошлась с ней в 34 из них, с 10 ложными срабатываниями. Пара стоит $0.62 за 1000 страниц, что в три раза дешевле Mistral OCR. Обе используют один и тот же API, поэтому проверка — это один дополнительный вызов. Haiku вызывается с reasoning=None, так как именно так она работала в нашей таблице:

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

Шаг 4: Используйте Mistral OCR в качестве специализированного движка

Mistral OCR — это модель, обученная исключительно для OCR документов. В OpenRouter она работает как движок в плагине file-parser, который принимает PDF-файлы по цене 2 доллара за 1000 страниц. Плагин выполняет OCR файла до того, как его увидит ваша модель. Он возвращает текст в виде аннотации к файлу в ответе, поэтому выбранной вами модели остается только дать ответ. Оберните скан в одностраничный PDF и отправьте его с любой недорогой моделью:

Каждое значение на выцветшем чеке было распознано верно, включая цифры карты и пароль. Mistral OCR сохраняет структуру документа, поэтому вывод осуществляется в формате Markdown: строки чека превращаются в таблицы, заголовки получают префикс ##, а символ & возвращается как &. Именно поэтому функция выполняет деэкранирование HTML-сущностей. Удалите разметку Markdown, если вам нужен обычный текст, или оставьте ее, если результат будет обрабатываться LLM.

Лучше ли LLM, чем Tesseract для OCR?

Да, за исключением случаев с чистыми печатными страницами. Tesseract 5.5 считывает очертания символов построчно, поэтому он хорошо справляется с четким печатным текстом, но пасует перед шумом и рукописным текстом. Он идеально транскрибировал письмо и информационный бюллетень. Однако он не выдал ничего для выцветшего чека, распознал 1 из 11 значений в неразборчивом рукописном тексте и 4 из 15 на факсе.

Часто задаваемые вопросы

Какая LLM лучше всего подходит для OCR?

В нашем тесте — Claude Opus 5.5. Gemini 3.8 Flash и Grok 4.7 показали почти такой же низкий уровень ошибок, но пропустили больше серийных номеров. DeepSeek V4.1 Flash и Ling 3.0 Flash VL показали близкие результаты при стоимости менее 0,20 доллара за 1000 страниц.

Как выполнить OCR сканированного PDF-файла?

Отправьте его с движком mistral-ocr, как описано в шаге 4. Альтернативно, преобразуйте каждую страницу в изображение для vision-модели или отправьте PDF напрямую модели, которая умеет читать PDF. Обычный парсер текста не сработает со сканом, так как в скане нет текстового слоя.

Какая модель OCR самая точная?

Claude Opus 5.5 правильно распознала 262 из 264 ключевых значений, а частота ошибок в символах составила 0,02% по всем восьми нашим сканам. Mistral OCR заняла второе место с результатом 258 из 264, при этом стоимость оказалась в восемь раз ниже.

Сколько стоит OCR с помощью LLM?

В нашем тесте стоимость варьировалась от 0,04 доллара за 1000 страниц (Ling 3.0 Flash VL с отключенным рассуждением) до 16,42 доллара (Claude Opus 5.5). Mistral OCR стоит 2 доллара за 1000 страниц. Модели по-разному учитывают токены изображений, поэтому оценивайте стоимость на своих собственных страницах.

Лучше ли Mistral OCR, чем vision-модель?

Это был лучший вариант по соотношению цены и качества в нашем тесте: 258 из 264 ключевых значений за 2,02 доллара за 1000 страниц, уступив только Claude Opus 5.5. Она возвращает Markdown, сохраняющий макет, в то время как vision-модель возвращает формат, который вы запросите.

Может ли LLM читать рукописный текст?

Да. Все 15 vision-моделей идеально транскрибировали нашу аккуратную заметку. В случае с неразборчивым почерком большинство моделей сохранили точность символов выше 99%, а ошибки в основном касались имен (например, «Ackterberg» вместо «Achterberg»).

Дальнейшие шаги

  • В разделе «Ввод изображений» Image inputs рассказывается об отправке изображений по URL или в формате base64, а наше руководство по vision API vision API guide описывает уровни детализации.
  • В разделе «Ввод PDF» PDF inputs перечислены движки для PDF и объясняется, как повторно использовать результаты парсинга.
  • Коллекция vision-моделей vision models collection содержит список всех моделей, которые принимают изображения.
  • Чтобы преобразовать транскрипт в типизированные поля, ознакомьтесь с разделом «Структурированные выводы» structured outputs.
← Все статьи

О чём эта статья

Ещё в разделе «AI и машинное обучение»

Все →
MCP против CLI против Skills: стоимость в контексте
OpenRouter

MCP против CLI против Skills: стоимость в контексте

Квантование LLM: как fp8 и fp4 влияют на качество и цену
OpenRouter

Квантование LLM: как fp8 и fp4 влияют на качество и цену

Ограничения скорости API LLM: как исправить ошибки 429 для OpenAI и Claude
OpenRouter

Ограничения скорости API LLM: как исправить ошибки 429 для OpenAI и Claude

WAV против MP3: как выбрать правильный формат аудиофайла
ElevenLabs

WAV против MP3: как выбрать правильный формат аудиофайла

ERNIE Light DT 1.0 против Ling 3.1 Flash: 25-кратная разница в цене в одной весовой категории
OrcaRouter

ERNIE Light DT 1.0 против Ling 3.1 Flash: 25-кратная разница в цене в одной весовой категории

ERNIE 5.5 Flash против ERNIE 5.5 Flash Base: одну можно скачать, другую можно только арендовать
OrcaRouter

ERNIE 5.5 Flash против ERNIE 5.5 Flash Base: одну можно скачать, другую можно только арендовать

Ещё от OpenRouter

MCP против CLI против Skills: стоимость в контексте
OpenRouter

MCP против CLI против Skills: стоимость в контексте

Квантование LLM: как fp8 и fp4 влияют на качество и цену
OpenRouter

Квантование LLM: как fp8 и fp4 влияют на качество и цену

Ограничения скорости API LLM: как исправить ошибки 429 для OpenAI и Claude
OpenRouter

Ограничения скорости API LLM: как исправить ошибки 429 для OpenAI и Claude

Как получить структурированный вывод от любой LLM: JSON Schema, вызовы инструментов или модель принятия решений
OpenRouter

Как получить структурированный вывод от любой LLM: JSON Schema, вызовы инструментов или модель принятия решений

Как создать голосового ИИ-агента
OpenRouter

Как создать голосового ИИ-агента

Как Sentry ограничила бесконтрольные расходы на ИИ без ограничения доступа
OpenRouter

Как Sentry ограничила бесконтрольные расходы на ИИ без ограничения доступа