Оптическое распознавание символов (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 может сканировать цветной текст и фоны, хотя он наиболее эффективен при работе с комбинациями цветов с высоким контрастом, такими как черный текст на белом фоне. Если контраст между цветом текста и фона недостаточен, точность может снизиться.
Формат обмена графикой (GIF) — это формат растрового изображения, широко используемый в Интернете. Первоначальная версия, известная как GIF87, была выпущена CompuServe в 1987 году для предоставления формата цветного изображения для их областей загрузки файлов. Это было сделано в ответ на увеличение количества цветных компьютеров и потребность в стандартном формате изображений, который можно было бы использовать на разн ых программных и аппаратных платформах. Формат GIF87, хотя и был заменен GIF89a в 1989 году, заложил основополагающие принципы того, чем станут GIF-файлы. Его простота, широкая поддержка и переносимость сделали его постоянным выбором для графики в Интернете.
GIF основан на алгоритме сжатия LZW (Lempel-Ziv-Welch), который был ключевым фактором его ранней популярности. Алгоритм LZW — это метод сжатия данных без потерь, то есть он уменьшает размер файла без потери какой-либо информации или качества исходного изображения. Это было особенно важно в то время, когда скорость Интернета была намного ниже, а экономия данных имела первостепенное значение. Алгоритм LZW работает путем замены повторяющихся последовательностей пикселей одной ссылкой, что эффективно уменьшает объем данных, необходимых для представления изображения.
Определяющей характеристикой формата GIF87 является его поддержка индексированных цветов. В отличие от форматов, которые хранят информацию о цвете для каждого пикселя напрямую, GIF87 использует палитру из 256 цветов. Каждый пиксель в изображении GIF87 представлен одним байтом, ссылающимся на индекс в палитре. Этот подход на основе палитры был компромиссом между точностью цветопередачи и размером файла. Он позволял создавать относительно красочные изображения, сохраняя при этом управляемый размер данных, даже с учетом ограничений ранней веб-инфраструктуры.
Помимо своей цветовой модели, формат GIF87 включает несколько других важных функций. Одна из них — это возможность чередования, которая позволяет загружать изображение постепенно по медленным соединениям. Вместо загрузки изображения сверху вниз чередование загружает изображение в несколько проходов, каждый из которых содержит больше деталей, чем предыдущий. Это означало, что зрители могли быстро получить приблизительный предварительный просмотр изображения, что значительно улучшило пользовательский опыт на заре Всемирной паутины.
Структура файла GIF87 относительно проста и состоит из заголовка, дескриптора логического экрана, глобальной таблицы цветов, данных изображения и, наконец, трейлера, указывающего на конец файла. Заголовок содержит подпись («GIF87a») и информацию о версии. Дескриптор логического экрана содержит сведения о размерах изображения и о том, используется ли глобальная таблица цветов. За ней следует сама глобальная таблица цветов, содержащая определения цветов, используемых в изображении. Сегмент данных изображения включает информацию о начале и размере изображения, за которой следуют сжатые по LZW данные пикселей. Наконец, файл завершается однобайтовым трейлером, обозначающим конец файла.
Одним из ограничений формата GIF87 было отсутствие поддержки анимации и прозрачности. Эти функции были введены в его преемнике, GIF89a. Однако даже без этих возможностей GIF87 нашел широкое применение в раннем Интернете для логотипов, значков и простой графики. Возможность формата эффективно сжимать изображения при сохранении качества делала его идеальным для ограничений пропускной способности того времени.
Еще одним аспектом дизайна формата GIF87 является его простота и легкость реализации. Формат был разработан таким образом, чтобы его было легко читать и записывать, что делало его доступным для разработчиков программного обеспечения. Эта простота использования помогла GIF стать стандартным форматом для изображений в Интернете, поддерживаемым практически всеми программами для редактирования изображений и веб-браузерами. Широкое распространение GIF, возможно, проложило путь к богатому мультимедийному опыту, который сегодня является обычным явлением в Интернете.
Несмотря на свои преимущества, формат GIF87 не обошелся без споров, особенно в отношении алгоритма сжатия LZW. Unisys, владелец патента на с жатие LZW, начал отстаивать свои патентные права в середине 1990-х годов. Это привело к широкой критике и стимулировало разработку альтернативных форматов изображений, не обремененных патентными проблемами. Споры подчеркнули сложность программных патентов и их влияние на развитие веб-технологий. В конце концов, срок действия патента истек, что смягчило юридические проблемы, связанные с форматом GIF.
Влияние GIF87 на развитие веб-графики нельзя переоценить. Его внедрение предоставило средства для обмена красочными, компактными изображениями в зарождающемся Интернете. Хотя технологии развивались и появлялись новые форматы, принципы, заложенные в GIF87, по-прежнему влияют на то, как изображения используются в Интернете. Например, акцент на сжатии без значительной потери качества является краеугольным камнем современных веб-стандартов. Аналогично, концепция палитры цветов может быть представлена в различных формах в более новых форматах, которые стремятся оптимизировать размер файла в соответствии с возможностями отображения.
За десятилетия с момента своего выпуска GIF87 был вытеснен более совершенными форматами, которые предлагают большую глубину цвета, меньшие размеры файлов и такие функции, как анимация и прозрачность. PNG (Portable Network Graphics) и WebP — два таких примера, предоставляющие альтернативы с без потерь сжатием, а также поддержку большего количества цветов и прозрачности без ограничений цветовой палитры. Несмотря на это, GIF (включая GIF87 и GIF89a) остается популярным благодаря своей простоте, широкой поддержке и уникальной способности запечатлевать культурный дух через анимированные мемы и графику.
Оглядываясь назад на развитие и влияние GIF87, становится ясно, что его наследие заключается не только в технических спецификациях или спорах, которые он вызвал, но и в том, как он помог сформировать визуальный язык Интернета. Ограничения формата часто становились творческими задачами, приводя к новым стилям цифрового искусства и коммуникации. По мере того как мы продолжаем расширять границы возможного с помощью цифровых изображений, понимание истории и технических основ таких форматов, как GIF87, дает ценные уроки в балансе между инновациями, стандартизацией и пользовательским опытом.