Оптическое распознавание символов (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 может сканировать цветной текст и фоны, хотя он наиболее эффективен при работе с комбинациями цветов с высоким контрастом, такими как черный текст на белом фоне. Если контраст между цветом текста и фона недостаточен, точность может снизиться.
Формат JNG (JPEG Network Graphics) — это формат файла изображения, который был разработан как подформат более известного формата MNG (Multiple-image Network Graphics). Он был разработан в первую очередь для обеспечения решения для сжатия с потерями и без потерь в рамках одного формата изображения, что было невозможно с другими распространенными форматами, такими как JPEG или PNG, на момент его создания. Файлы JNG обычно используются для изображений, требующих как высококачественног о фотографического представления, так и дополнительного альфа-канала для прозрачности, который не поддерживается стандартными изображениями JPEG.
JNG — это не автономный формат, а часть набора форматов файлов MNG, который был разработан как анимированная версия PNG. Набор MNG включает форматы MNG и JNG, причем MNG поддерживает анимацию, а JNG — формат с одним изображением. Формат JNG был создан той же командой, которая разработала формат PNG, и он был предназначен для дополнения PNG путем добавления сжатых по JPEG цветовых данных при сохранении возможности отдельного альфа-канала, который поддерживается PNG, но не JPEG.
Структура файла JNG похожа на структуру файла MNG, но она проще, поскольку предназначена только для отдельных изображений. Файл JNG состоит из серии фрагментов, каждый из которых содержит определенный тип данных. Наиболее важными фрагментами в файле JNG являются фрагмент JHDR, который содержит информацию заголовка; фрагмент JDAT, который содержит сжатые по JPEG данные изображения; фрагмент JSEP, который может присутствовать для указания конца потока данных JPEG; и фрагменты альфа-канала, которые являются необязатель ными и могут быть либо фрагментами IDAT (содержащими сжатые по PNG данные альфа-канала), либо фрагментами JDAA (содержащими сжатые по JPEG данные альфа-канала).
Фрагмент JHDR — это первый фрагмент в файле JNG, и он имеет решающее значение, поскольку определяет свойства изображения. Он включает такую информацию, как ширина и высота изображения, глубина цвета, наличие альфа-канала, используемое цветовое пространство и метод сжатия для альфа-канала. Этот фрагмент позволяет декодерам понять, как обрабатывать последующие данные в файле.
Фрагмент JDAT содержит фактические данные изображения, которые сжимаются с использованием стандартных методов сжатия JPEG. Это сжатие обеспечивает эффективное хранение фотографических изображений, которые часто содержат сложные цветовые градиенты и тонкие вариации тона. Сжатие JPEG в JNG идентично тому, которое используется в автономных файлах JPEG, что позволяет стандартным декодерам JPEG считывать данные изображения из файла JNG без необходимости понимать весь формат JNG.
Если в изображении JNG присутствует альфа-канал, он хранится либо во фрагментах IDAT, либо в фрагментах JDAA. Фрагменты IDAT такие же, как те, которые используются в файлах PNG, и содержат сжатые по PNG данные альфа-канала. Это обеспечивает сжатие альфа-канала без потерь, гарантируя, что информация о прозрачности сохраняется без потери качества. Фрагменты JDAA, с другой стороны, содержат сжатые по JPEG данные альфа-канала, что позволяет уменьшить размер файла за счет потенциальных артефактов сжатия с потерями в альфа-канале.
Фрагмент JSEP — это необязательный фрагмент, который сигнализирует о конце потока данных JPEG. Он полезен в случаях, когда файл JNG передается по сети, и декодеру необходимо знать, когда прекратить чтение данных JPEG и начать поиск данных альфа-канала. Этот фрагмент не требуется, если файл считывается с локального носителя, где конец данных JPEG можно определить из самой структуры файла.
JNG также поддерживает коррекцию цвета путем включения фрагмента ICCP, который содержит встроенный цветовой профиль ICC. Этот профиль обеспечивает точное представление цвета на разных устройствах и особенно важен для изображений, которые будут просматриваться на различных экранах или печататься. Включение возможностей управлен ия цветом является значительным преимуществом формата JNG по сравнению с автономными файлами JPEG, которые изначально не поддерживают встроенные цветовые профили.
Несмотря на свои возможности, формат JNG не получил широкого распространения. Это отчасти связано с доминированием формата JPEG для фотографических изображений и формата PNG для изображений, требующих прозрачности. Кроме того, появление таких форматов, как WebP и HEIF, которые также поддерживают как сжатие с потерями, так и без потерь, а также прозрачность, еще больше снизило потребность в отдельном формате, таком как JNG. Тем не менее, JNG остается жизнеспособным вариантом для конкретных случаев использования, когда требуется его уникальное сочетание функций.
Одной из причин отсутствия широкого распространения JNG является сложность набора форматов файлов MNG. Хотя сам JNG относительно прост, он является частью более крупного и сложного набора спецификаций, которые не были широко реализованы. Многие разработчики программного обеспечения предпочли вместо этого поддерживать более простые и популярные форматы JPEG и PNG, которые удовлетворяли потребности большинства пользователей без дополнительной сложности MNG и JNG.
Еще одним фактором, ограничивающим распространение JNG, является отсутствие поддержки в популярном программном обеспечении для редактирования и просмотра изображений. Хотя некоторые специализированные программы могут поддерживать JNG, многие из наиболее часто используемых программ этого не делают. Это отсутствие поддержки означает, что пользователи и разработчики с меньшей вероятностью столкнутся с файлами JNG или будут их использовать, что еще больше снижает его присутствие на рынке.
Несмотря на эти проблемы, у JNG есть свои сторонники, особенно среди тех, кто ценит его технические возможности. Например, JNG может быть полезен в приложениях, где один файл должен содержать как высококачественное фотографическое изображение, так и отдельный альфа-канал для прозрачности. Это может быть важно в графическом дизайне, разработке игр и других областях, где изображения необходимо компоновать на разных фонах.
Техническая конструкция JNG также позволяет оптимизировать размер и качество файла. Например, разделяя цвет и данные альфа-кан ала, можно применять разные уровни сжатия к каждому из них, оптимизируя для наилучшего баланса между размером файла и качеством изображения. Это может привести к меньшим файлам, чем если бы к целому изображению применялся один метод сжатия, как это происходит с такими форматами, как PNG.
В заключение, формат изображения JNG — это специализированный формат файла, который предлагает уникальное сочетание функций, включая поддержку сжатия как с потерями, так и без потерь, дополнительный альфа-канал для прозрачности и возможности управления цветом. Хотя он не получил широкого распространения, он остается технически способным форматом, который может подойти для конкретных приложений. Его будущая актуальность, вероятно, будет зависеть от того, будет ли возобновлен интерес к его возможностям и расширится ли программная поддержка формата. На данный момент JNG служит свидетельством постоянной эволюции форматов изображений и поиска идеального баланса между сжатием, качеством и функциональностью.
Этот конвертер полностью работает в вашем браузере. Когда вы выбираете файл, он загружается в память и преобразуется в выбранный формат. Затем вы можете скачать преобразованный файл.
Преобразования начинаются мгновенно, и большинство файлов преобразуются за считанные секунды. Более крупные файлы могут занимать больше времени.
Ваши файлы никогда не загружаются на наши серверы. Они преобразуются в вашем браузере, а затем скачиваются. Мы никогда не видим ваши файлы.
Мы поддерживаем преобразование между всеми форматами изображений, включая JPEG, PNG, GIF, WebP, SVG, BMP, TIFF и другие.
Этот конвертер полностью бесплатен и всегда будет бесплатным. Поскольку он работает в вашем браузere, нам не нужно платить за серверы, поэтому мы не взимаем плату с вас.
Да! Вы можете преобразовать сколько угодно файлов одновременно. Просто выберите несколько файлов при их добавлении.