Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Назад к глоссарию Ultralytics

Optical Character Recognition (OCR)

Оптическое распознавание символов (OCR) преобразует текст на сканах и фотографиях в символы, доступные для машинной обработки. Этапы обнаружения и распознавания, примеры кода.

Оптическое распознавание символов (OCR) — это преобразование текста на изображениях, например на отсканированных страницах, фотографиях, снимках экрана и видеокадрах, в машиночитаемые символы, которые программное обеспечение может искать, редактировать и анализировать. Ранние системы сопоставляли каждый символ с сохранёнными шаблонами известных шрифтов. Современные системы OCR используют глубокое обучение, чтобы находить текст в любом месте изображения и сразу распознавать целые слова и строки, справляясь с разными шрифтами, низким разрешением, перспективой и загромождённым фоном. OCR охватывает как текст в документах, например в счетах и книгах, так и текст в сценах: на знаках, этикетках товаров и номерных знаках.

Как работает OCR#

В большинстве систем OCR последовательно запускаются две модели:

  1. Обнаружение текста: детектор находит области изображения, содержащие текст, и выдаёт рамку или многоугольник для каждого слова или строки. Детекторы текста в сценах, например EAST, CRAFT и DBNet, предсказывают текстовые области попиксельно, что позволяет обрабатывать изогнутый и повёрнутый текст.
  2. Распознавание текста: каждая область обрезается, выравнивается и масштабируется до фиксированной высоты, после чего распознаватель считывает символы. Архитектура CRNN пропускает обрезанное изображение через CNN, считывает полученные столбцы признаков слева направо с помощью двунаправленной LSTM и декодирует их методом временной классификации коннекционистов (CTC). Этот метод сопоставляет предсказания для столбцов со строкой символов, не требуя разметки начала каждого символа. Распознаватели на основе Transformer, например TrOCR от Microsoft, генерируют символы с помощью текстового декодера.

Предобработка, например бинаризация и устранение перекоса, по-прежнему помогает при плохом качестве сканов, а на этапе постобработки результат сверяется со словарями, ожидаемыми форматами или языковой моделью. EasyOCR включает оба этапа — детектор CRAFT и распознаватель CRNN — для более чем 80 языков:

import easyocr

# Load EasyOCR's CRAFT text detector and English CRNN text recognizer
reader = easyocr.Reader(["en"])

# Detect every text region in the photo, then read the characters inside it
results = reader.readtext("https://ultralytics.com/images/bus.jpg")

# Each result holds a 4-corner box, the recognized string, and a confidence score
for box, text, confidence in results:
    if confidence > 0.5:
        print(f"{text}: {confidence:.2f}")

Выводятся cero: 0.95 и emisiones: 0.99 — слова, нанесённые на борт автобуса. Детектор также находит точечно-матричный маршрутный дисплей автобуса и мелкие надписи на его окнах, но распознаватель выдаёт для них бессмысленные строки с оценками уверенности ниже 0,5, поэтому они отбрасываются по порогу.

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

Точность измеряется по частоте ошибок на уровне символов (CER) — количеству вставок, удалений и замен символов, необходимых для преобразования результата в правильный текст, делённому на длину правильного текста, — и по частоте ошибок на уровне слов (WER), которая рассчитывается аналогично для слов.

Движки и модели OCR#

Движок с открытым исходным кодом Tesseract появился в Hewlett-Packard в 1980-х годах, в 2005 году был выпущен как ПО с открытым исходным кодом, а с 2006 по 2018 год развивался при поддержке Google. В версии 4 добавили распознаватель на основе сети LSTM. Облачные сервисы, например Google Cloud Vision и Amazon Textract, дополняют распознавание анализом макета и извлечением данных из таблиц и форм. Мультимодальные модели всё чаще обрабатывают документы целиком: olmOCR от Allen Institute for AI преобразует страницы PDF в чистый текст с помощью дообученной мультимодальной модели зрения и языка, а модели документов без OCR отвечают на вопросы о странице, не создавая предварительно отдельную расшифровку.

  • Распознавание рукописного текста: также называется распознаванием рукописного текста (HTR) или интеллектуальным распознаванием символов (ICR). Оно позволяет считывать рукописный текст, в котором формы букв гораздо разнообразнее, чем в печатном, а символы часто соединяются.
  • Обнаружение объектов: детектор может обнаружить знак «Стоп» как объект, а OCR считывает напечатанные на нём буквы S-T-O-P. Собственный этап обнаружения в OCR находит текст, но не распознаёт его.
  • Классификация изображений: присваивает всему изображению одну метку, например «счёт», а OCR извлекает из него последовательность символов.
  • Интеллектуальная обработка документов: расширяет возможности OCR за счёт анализа макета и распознавания именованных сущностей (NER), чтобы передавать в бизнес-системы конкретные поля, например дату, поставщика и итоговую сумму счёта.

Примеры применения в реальных условиях#

  • Распознавание номерных знаков: системы оплаты проезда, парковки и контроля дорожного движения обнаруживают каждый номерной знак, а затем считывают его. Модель YOLO26, обученная на рамках номерных знаков, выполняет этап обнаружения, а её вариант с поворотной ограничивающей рамкой подгоняет повёрнутые рамки под наклонённые знаки, чтобы перед распознаванием можно было выровнять каждое обрезанное изображение.
  • Оцифровка документов: Банки, страховые компании и государственные органы превращают формы, квитанции и архивы в текст с возможностью поиска, а библиотеки массово оцифровывают печатные книги.
  • Доступность и перевод: Программы экранного доступа и приложения для перевода с камеры зачитывают вслух надписи, меню и этикетки или накладывают перевод на изображение в реальном времени.
  • Производство и логистика: Камеры считывают коды партий, сроки годности и серийные номера на производственных линиях. Коды морских контейнеров соответствуют ISO 6346: 11 символов заканчиваются контрольной цифрой, вычисляемой по первым 10 символам, что позволяет считывателю автоматически отбраковывать большинство неверно распознанных кодов.

Изучи решения

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Превращай снимки с дронов и аэрофотоснимки в полезные данные в реальном времени для сельского хозяйства, аквакультуры, охраны природы и геопространственного анализа с Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Применяй компьютерное зрение в аэрокосмической отрасли с Ultralytics YOLO: для осмотра самолётов, обнаружения посторонних предметов на взлётно-посадочных полосах, наземного обслуживания аэропортов и выявления дефектов композитных материалов.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ повышает безопасность дорожного движения, улучшает помощь водителю и автоматизацию автомобилей, делая дороги умнее.
Подробнее
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения