Оптическое распознавание символов (OCR) преобразует изображения текста — сканы, фотографии со смартфона, PDF-файлы — в машиночитаемые строки и, все чаще, в структурированные данные. Современное OCR — это конвейер, который очищает изображение, находит текст, читает его и экспортирует богатые метаданные, чтобы последующие системы могли искать, индексировать или извлекать поля. Два широко используемых стандарта вывода: hOCR, микроформат HTML для текста и макета, и ALTO XML, схема, ориентированная на библиотеки/архивы; оба сохраняют позиции, порядок чтения и другие подсказки макета и поддерживаются популярными движками, такими как Tesseract.
Предварительная обработка. Качество OCR начинается с очистки изображения: преобразования в оттенки серого, удаления шума, пороговой обработки (бинаризации) и выравнивания. Канонические учебные пособия по OpenCV охватывают глобальную, адаптивную и пороговую обработку Оцу — основные методы для документов с неравномерным освещением или бимодальными гистограммами. Когда освещение меняется в пределах страницы (подумайте о снимках с телефона), адаптивные методы часто превосходят один глобальный порог; Оцу автоматически выбирает порог, анализируя гистограмму. Коррекция наклона не менее важна: выравнивание на основе преобразования Хафа (преобразование Хафа для линий) в паре с бинаризацией Оцу является распространенным и эффективным рецептом в производственных конвейерах предварительной обработки.
Обнаружение и распознавание. OCR обычно делится на обнаружение текста (где находится текст?) и распознавание текста (что он говорит?). В естественных сценах и многих сканах полностью сверточные детекторы, такие как EAST , эффективно предсказывают ч етырехугольники на уровне слов или строк без тяжелых этапов предложения и реализованы в общих наборах инструментов (например, учебное пособие по обнаружению текста в OpenCV). На сложных страницах (газеты, формы, книги) важны сегментация строк/областей и определение порядка чтения:Kraken реализует традиционную сегментацию зон/строк и нейронную сегментацию базовой линии с явной поддержкой различных письменностей и направлений (слева направо/справа налево/вертикально).
Модели распознавания. Классическая рабочая лошадка с открытым исходным кодом Tesseract (с открытым исходным кодом от Google, с корнями в HP) эволюционировала от классификатора символов до распознавателя последовательностей на основе LSTM и может выдавать PDF с возможностью поиска, выходные данные, дружественные к hOCR/ALTO, и многое другое из командной строки. Современные распознаватели полагают ся на моделирование последовательностей без предварительно сегментированных символов. Коннективистская временная классификация (CTC) остается основополагающей, изучая выравнивания между последовательностями входных признаков и строками выходных меток; она широко используется в конвейерах для распознавания рукописного ввода и текста на сцене.
В последние несколько лет трансформеры изменили OCR. TrOCR использует кодировщик Vision Transformer и декодер Text Transformer, обученный на больших синтетических корпусах, а затем доработанный на реальных данных, с высокой производительностью на тестах печатного, рукописного и сценического текста (см. также документацию Hugging Face). Параллельно некоторые системы обходят OCR для последующего понимания: Donut (Document Understanding Transformer) — это кодировщик-декодер без OCR, который напрямую выводит структурированные ответы (например, JSON «ключ-значение») из изображений документов (репозиторий, карточка модели), избегая накопления ошибок, когда отдельный шаг OCR передает данные в систему извлечения информации.
Если вам нужно готовое решение для чтения текста на многих языках, EasyOCR предлагает простой API с более чем 80 языковыми моделями, возвращающий рамки, текст и достоверность — удобно для прототипов и нелатинских письменностей. Для исторических документов Kraken отличается сегментацией базовой линии и порядком чтения с учетом письменности; для гибкого обучения на уровне строк Calamari основан на наследии Ocropy (Ocropy) с распознавателями (multi-)LSTM+CTC и CLI для тонкой настройки пользовательских моделей.
Обобщение зависит от данных. Для рукописного ввода база данных рукописного ввода IAM предоставляет разнообразные по авторам английские предложения для обучения и оценки; это давний эталонный набор для распознавания строк и слов. Для текста на сцене COCO-Text наложил обширные аннотации на MS-COCO с метками для печатного/рукописного, разборчивого/неразборчивого, письменности и полных транскрипций (см. также оригинальную страницу проекта). Эта область также в значительной степени зависит от синтетического предварительного обучения: SynthText in the Wild визуализирует текст на фотографиях с реалистичной геометрией и освещением, предоставляя огромные объемы данных для предварительного обучения детекторов и распознавателей (ссылка на код и данные).
Соревнования под эгидой ICDAR’s Robust Reading сохраняют обоснованность оценки. Последние задачи подчеркивают сквозное обнаружение/чтение и включают связывание слов во фразы, с официальным кодом, сообщающим точность/полноту/F-меру, пересечение над объединением (IoU) и метрики расстояния редактирования на уровне символов, что отражает то, что должны отслеживать практики.
OCR редко заканчивается простым текстом. Архивы и цифровые библиотеки предпочитают ALTO XML , потому что он кодирует физический макет (блоки/строки/слова с координатами) вместе с содержимым, и он хорошо сочетается с упаковкой METS. Микроформат hOCR , напротив, встраивает ту же идею в HTML/CSS, используя классы, такие как ocr_line и ocrx_word, что упрощает отображение, редактирование и преобразование с помощью веб-инструментов. Tesseract предоставляет оба варианта, например, генерируя hOCR или PDF с возможностью поиска прямо из командной строки (руководство по выводу PDF); оболочки Python, такие как pytesseract , добавляют удобства. Существуют преобразователи для перевода между hOCR и ALTO, когда в репозиториях есть фиксированные стандарты приема — см. этот тщательно подобранный список инструментов для формата файлов OCR.
Самая сильная тенденция — это конвергенция: обнаружение, распознавание, языковое моделирование и даже декодирование для конкретных задач объединяются в единые стеки трансформеров. Предварительное обучение на больших синтетических корпусах остается мультипликатором силы. Модели без OCR будут агрессивно конкурировать везде, где целью являются структурированные выходные данные, а не дословные транскрипции. Ожидайте также гибридных развертываний: легкий детектор плюс распознаватель в стиле TrOCR для длинного текста и модель в стиле Donut для форм и квитанций.
Tesseract (GitHub) · Документация Tesseract · Спецификация hOCR · Фон ALTO · Детектор EAST · Обнаружение текста OpenCV · TrOCR · Donut · COCO-Text · SynthText · Kraken · Calamari OCR · ICDAR RRC · pytesseract · Рукописный ввод IAM · Инструменты формата файлов OCR · EasyOCR
Оптическое распознавание символов (OCR) - это технология, используемая для преобразования различных типов документов, таких как отсканированные бумажные документы, PDF-файлы или изображения, снятые цифровой камерой, в данные, которые можно редактировать и искать.
OCR сканирует входное изображение или документ, разбирает изображение на отдельные символы, а затем сравнивает каждый символ с базой данных форм символов, используя распознавание по образцу или расп ознавание по признакам.
OCR используется в различных отраслях и приложениях, включая цифровизацию печатных документов, использование услуг перевода текста в речь, автоматизацию процесса ввода данных и помощь людям с нарушениями зрения в более качественном взаимодействии с текстом.
Несмотря на значительные усовершенствования технологии OCR, она не абсолютно надежна. Точность может варьироваться в зависимости от качества исходного документа и конкретных характеристик используемого ПО OCR.
Хотя OCR в основном предназначен для распознавания печатного текста, некоторые продвинутые системы OCR также могут распознавать чистописание. Однако точность распознавания рукописного текста обычно ниже из-за вариативности индивидуальных стилей письма.
Да, многие программы OCR могут распознавать множество языков. Однако следует убедиться, что используемое вами программное обеспечение поддерживает конкретный язык.
OCR - это аббревиатура от Optical Character Recognition (оптическое распознавание символов), которое используется для распознавания печатного текста, в то время как ICR, или Intelligent Character Recognition (интеллектуальное распознавание символов), это более продвинутая технология, которая используется для распознавания рукописного текста.
OCR наиболее эффективен при обработке четких, легко читаемых шрифтов и стандартных размеров текста. Хотя он способен распознавать различные шрифты и размеры, его точность может снизиться при обработке нестандартных шрифтов или очень мелкого текста.
У OCR может быть проблемы при обработке документов с низким разрешением, сложных шрифтов, текста с плохим качеством печати, рукописного текста или документов, где текст плохо сочетается с фоном. Кроме того, хотя OCR может распознавать многие языки, он может не покрывать все языки идеально.
Да, OCR может сканировать цветной текст и фоны, хотя он наиболее эффективен при работе с комбинациями цветов с высоким контрастом, такими как черный текст на белом фоне. Если контраст между цветом текста и фона недостаточен, точность может снизиться.
Формат изображения PAM (Portable Arbitrary Map) является относительно менее известным членом семейства форматов файлов изображений, разработанных в рамках проекта Netpbm. Это высокогибкий формат, который может представлять широкий спектр типов изображений с различной глубиной и типами данных пикселей. PAM по сути является расширением более ранних форматов PBM (Portable Bitmap), PGM (Portable Graymap) и PPM (Portable Pixmap), совместно известных как форматы PNM (Portable Any Map), которые были разработаны для простоты и удобства использования за счет функций и сжатия. PAM был введен для преодоления ограничений этих форматов при сохранении их простоты и удобства использования.
Формат PAM разработан как независимый от устройства и платформы, что означает, что изображения, сохраненные в этом формате, можно открывать и обрабатывать в любой системе без проблем совместимости. Это достигается путем хранения данных изображения в текстовом или двоичном формате, который может легко читаться и записываться различным программным обеспечением. Формат также расширяемый, что позволяет включать новые функции и возможности без нарушения совместимости со старыми версиями.
Файл PAM состоит из заголовка, за которым следуют данные изображения. Заголовок представляет собой текст ASCII, который указывает ширину, высоту, глубину и максимальное значение изображения, а также тип кортежа, который определяет цветовое пространство. Заголовок начинается с магического числа «P7», за которым следует серия разделенных новой строкой тегов, которые предоставляют необходимые метаданные. Данные изображения следуют сразу за заголовком и могут храниться в двоичном или ASCII-формате, причем двоичный формат является более распространенным выбором из-за меньшего размера файла и более быстрого времени обр аботки.
Глубина, указанная в заголовке PAM, указывает количество каналов или компонентов на пиксель. Например, глубина 3 обычно представляет красные, зеленые и синие каналы цветного изображения, в то время как глубина 4 может включать дополнительный альфа-канал для прозрачности. Максимальное значение, также указанное в заголовке, указывает максимальное значение для любого канала, которое, в свою очередь, определяет битовую глубину изображения. Например, максимальное значение 255 соответствует 8 битам на канал.
Тип кортежа является ключевой особенностью формата PAM, поскольку он определяет интерпретацию данных пикселей. Общие типы кортежей включают «BLACKANDWHITE», «GRAYSCALE», «RGB» и «RGB_ALPHA» и другие. Эта гибкость позволяет файлам PAM представлять широкий спектр типов изображений, от простых черно-белых изображений до полноцветных изображений с прозрачностью. Кроме того, можно определить пользовательские типы кортежей, что делает формат расширяемым и адаптируемым к специализированным требованиям к изображениям.
Файлы PAM также могут включать необязательные строки комментариев в заголовке, которые начин аются с символа «#». Эти комментарии игнорируются программами чтения изображений и предназначены для людей. Их можно использовать для хранения метаданных, таких как дата создания изображения, программное обеспечение, используемое для создания изображения, или любой другой соответствующей информации, которая не помещается в стандартные поля заголовка.
Данные изображения в файле PAM хранятся в последовательности кортежей, причем каждый кортеж представляет один пиксель. Кортежи упорядочены слева направо и сверху вниз, начиная с верхнего левого пикселя изображения. В двоичном формате данные для каждого канала кортежа хранятся как двоичное целое число, причем количество байтов на канал определяется максимальным значением, указанным в заголовке. В формате ASCII значения каналов представлены в виде десятичных чисел ASCII, разделенных пробелами.
Одним из преимуществ формата PAM является его простота, которая упрощает анализ и создание. Эта простота достигается за счет размера файла, поскольку PAM не включает встроенных механизмов сжатия. Однако файлы PAM можно сжимать внешне с помощью универсальных алгоритмов сжатия, таких как gzip или bzip2, что может значительно уменьшить размер файла для хранения или передачи.
Несмотря на свои преимущества, формат PAM не получил широкого распространения в мейнстриме из-за доминирования других форматов изображений, таких как JPEG, PNG и GIF, которые предлагают встроенное сжатие и поддерживаются более широким спектром программного и аппаратного обеспечения. Тем не менее, PAM остается ценным форматом для определенных приложений, особенно тех, которые требуют высокой степени гибкости или включают задачи обработки или анализа изображений, где простота и точность формата являются полезными.
В контексте разработки программного обеспечения формат PAM часто используется как промежуточный формат в конвейерах обработки изображений. Его простая структура упрощает манипулирование с помощью пользовательских скриптов или программ, а его гибкость позволяет ему обрабатывать выход различных этапов обработки без потери информации. Например, изображение можно преобразовать в формат PAM, обработать для применения фильтров или преобразований, а затем преобразовать в более распрост раненный формат для отображения или распространения.
Библиотека Netpbm является основным программным пакетом для работы с PAM и другими форматами Netpbm. Она предоставляет набор инструментов командной строки для преобразования между форматами, а также для выполнения основных манипуляций с изображениями, таких как масштабирование, обрезка и цветовая коррекция. Библиотека также включает программные интерфейсы для C и других языков, что позволяет разработчикам читать и записывать файлы PAM непосредственно в своих приложениях.
Для пользователей и разработчиков, заинтересованных в работе с форматом PAM, необходимо учитывать несколько моментов. Во-первых, поскольку формат менее распространен, не все программное обеспечение для просмотра и редактирования изображений будет поддерживать его изначально. Для определенных задач может потребоваться использовать специализированные инструменты или преобразовать в другой формат. Во-вторых, отсутствие сжатия означает, что файлы PAM могут быть довольно большими, особенно для изображений с высоким разрешением, поэтому при работе с этим форматом следует учитывать хранение и пропускную способность.
Несмотря на эти соображения, сильные стороны формата PAM делают его ценным инструментом в определенных контекстах. Его простота и гибкость облегчают быструю разработку и эксперименты, а его расширяемость гарантирует, что он может адаптироваться к будущим потребностям. Для исследований, научной визуализации или любого приложения, где целостность и точность данных изображения имеют первостепенное значение, PAM предлагает надежное решение.
В заключение, формат изображения PAM является универсальным и простым форматом файла, который входит в семейство форматов изображений Netpbm. Он разработан так, чтобы быть простым, гибким и независимым от платформы, что делает его подходящим для широкого спектра типов изображений и приложений. Хотя он может быть не лучшим выбором для каждой ситуации, особенно когда важны размер файла или широкая совместимость, его сильные стороны делают его отличным выбором для специализированных приложений, требующих точного представления и обработки данных изображения. Таким образом, он остается актуальным и полезным форматом в области обработки и анализа изображений.
Этот конвертер полностью работает в вашем браузере. Когда вы выбираете файл, он загружается в память и преобразуется в выбранный формат. Затем вы можете скачать преобразованный файл.
Преобразования начинаются мгновенно, и большинство файлов преобразуются за считанные секунды. Более крупные файлы могут занимать больше времени.
Ваши файлы никогда не загружаются на наши серверы. Они преобразуются в вашем браузере, а затем скачиваются. Мы никогда не видим ваши файлы.
Мы поддерживаем преобразование между всеми форматами изображений, включая JPEG, PNG, GIF, WebP, SVG, BMP, TIFF и другие.
Этот конвертер полностью бесплатен и всегда будет бесплатным. Поскольку он работает в вашем браузere, нам не нужно платить за серверы, поэтому мы не взимаем плату с вас.
Да! Вы можете преобразовать сколько угодно файлов одновременно. Просто выберите несколько файлов при их добавлении.