Программа для распознавания текста и перевода AssistAnt / Хабр
Хорош ли ваш английский? Мой – нет. По крайней мере точно недостаточно, чтобы обходиться без переводчика в играх.
Недолгий поиск бесплатных программ в интернете мне не помог. Возможно, я просто плохо искал 🙂 Но когда я поймал себя на мысли, что сейчас возьму в руки сотовый и буду переводить экран с помощью камеры, я понял, что пора спасаться. И путь к спасению — сделать переводчик самому.
Я нашел широко известную в узких кругах программу распознавания текста Tesseract OCR и свободное API для Google Translate. В результате получилась программа, которая может на лету переводить выделенную надпись на экране. Выглядит это примерно так: вы зажимаете горячую клавишу Win+Alt и прямоугольной областью выделяете часть изображения, где находится непонятный текст. Область выделяется, только пока зажата горячая клавиша. Вуаля – перед вами перевод во всплывающей подсказке! Выглядит это примерно вот так:
Можно распознать и с картинки в буфере обмена через меню иконки в трее:
Ссылки:
Собственно проект AssistAnt https://github. com/AantCoder/AssistAnt/releases/latest
Компонент распознавания текста Tesseract OCR https://github.com/tesseract-ocr
Переводчик Google Translate Rest API (Free) с помощью GTranslatorAPI https://github.com/franck-gaspoz/GTranslatorAPI
Если совсем коротко, то это всё 🙂 Некоторые нюансы и альтернативные способы использования есть в пункте приложения «О программе». Дальше опишу технические сложности, с которыми столкнулся в процессе разработки для заинтересовавшихся.
Горячие клавиши всё портят
Какую клавишу на клавиатуре ни возьми: или занята, или неудобна. Если кажется, что обнаружил свободную и удобную, то значит просто не нашел программу, которая уже её использует. Поэтому я не стал биндить горячую клавишу, а решил лишь отлавливать нажатие на Win+Alt. По моему разумению, ни одна программа не использует две эти клавиши отдельно от остальных. Разумеется, если вместе с Win+Alt нажать ещё что-то третье, то мой переводчик не отреагирует.
Такая комбинация хорошо выполняет свою цель: позволяет выделить область на экране, минимально влияя на активную программу. Правда, есть один минус, опишу его в следующем пункте.
Перевод из всплывающих подсказок
В попытке выделить текст двигаем мышкой – она покидает элемент интерфейса – всплывающая подсказка исчезает. Это заставило меня сделать стандартную систему, как при вырезании скриншотов. Если нажать Win+Alt и отпустить, не двигая мышкой, то создается скрин всего экрана, который открывается поверх всех окон. И уже в нем предлагается выделить область для перевода, как при стандартной комбинации Win+Shift+S (правда, реализовано это не столь красиво). Дальше всё как в первом способе: выдается всплывающая подсказка с переводом, за исключением того, что выделенное изображение помещается в буфер обмена (зачем? просто могу).
Плохой разбор мелкого текста
Оказалось, что Tesseract (может быть и все подобные?) плохо распознает текст с высотой строки меньше 20 пикселей. Особенно, когда он с тенью или размытием. Эффекты безусловно очень помогают прочесть надпись человеку, но нейронке не нравятся.
Помучавшись несколько вечеров, накидал сложную комбинацию простых фильтров изображений. После этого мелкий текст иногда стал читаться даже лучше, чем текст среднего размера. Из-за этого решил добавить повторное распознавание без фильтров, если качество распознания было меньше 90%. В конечном итоге вышло вот так:
Первый прогон (хорош для самого мелкого текста):
Увеличиваем картинку в 2 раза (красиво, с «высококачественной бикубической интерполяцией»),
Переводим в градации серого,
Увеличиваем изображение, добавляя пустую рамку в 7 пикселей и пустое пространство справа на 200 (так лучше распознаются короткие слова. Видимо, в вытянутом изображении ожидается меньшее количество строк),
Увеличиваем резкость,
Увеличиваем картинку ещё в 2 раза,
Ещё раз увеличиваем резкость (двойной подход немного уменьшает артефакты).
Второй прогон (обработка попроще, если качество распознания с первого прогона меньше 90%):
Увеличиваем картинку в 3 раза,
Переводим в градации серого,
Увеличиваем резкость
Третий прогон (вдруг при обесцвечивании текст стало не видно, или резкость ухудшает распознаваемость текста):
Медленно работает
В фильтрах многое требует доработки. Они как были сделаны на скорую руку, так и остались. Очевидно, что если выделить больше половины экрана, то программа начинает уходить в себя, пытаясь применить все эти фильтры (особенно хорошо подвешивает увеличение кол-ва пикселей в 16 раз).
Поэтому, а также из-за того, что как правило, в крупных выделенных областях экрана и шрифт также крупный, был добавлен выбор фильтров на основе размера изображения:
Если размер изображения больше миллиона пикселей (ширина*высота), то не обрабатываем его, а отправляем на распознавание как есть.
Если изображение больше 20000 пикселей, то увеличиваем только в 3 раза. В этом случае во всплывающей подсказке после % появляется *.
Если размер изображения меньше указанного в предыдущем пункте, то применяем все описанные выше фильтры. В этом случае во всплывающей подсказке после % появляется * с числом прогонов, которые понадобились, чтобы добиться качества распознавания выше 90%.
Утечка памяти
Иногда проще убить, чем прокормить. Так я и поступил, не желая возиться с утечкой памяти в чужих библиотеках (правда же в чужих?..) Теперь, спустя пять минут с момента последнего обращения к переводчику, программа автоматически перезапустится, и уж точно освободит всю память. Если же её будут интенсивно использовать на слабых компьютерах, то должен помочь перезапуск после 20 переводов: программа ждет 30 секунд после последней активации (чтобы дать прочитать текст) и перезапускается. Надеюсь, это будет достаточно незаметно для пользователя.
Переносы строк
Спасибо комментаторам @aborouhin, @danilasar и другим – открыли мне глаза на ухудшение качества перевода из-за переноса строк. Google Translate видя текст на разных строках воспринимает его как отдельные предложения. Первая мысль: отказаться от Google Translate удалить переносы строк. Но тогда переводчик может начать воспринимать, например, списки как единое предложение. А даже если и нет, то мы теряем форматирование текста.
Вдоволь помучив переводчик появилось такое решение: на место переноса вставить спец. разделитель, который переводчик не может игнорировать, но и предложение не разрывает.
Это решение дало хороший результат, но оно не идеальное, так как переводчик не может свободно менять слова в предложении.
Вот пример старого варианта с двумя строками:Okay—now we're going
to check your reflexes.
Хорошо, теперь мы собираемся
чтобы проверить свои рефлексы.
Пример хорошего перевода:Okay—now we're going to check your reflexes.
Ладно, сейчас мы проверим твои рефлексы.
Пример с подстановкой (в переводе ## заменяется на перенос строки):Okay—now we're going ## to check your reflexes.
Ладно, теперь мы собираемся ## проверить твои рефлексы.
Вроде бы самое интересное описал. Сам проект можно посмотреть на гитхабе: https://github.com/AantCoder/AssistAnt
Скажу с лишним хвастовством – программа классная. Мне с моим ужасным знанием английского очень помогает.
P.S. Если есть какие-то комментарии, идеи, что можно улучшить или предложения по поводу производительности, то напишите мне здесь или в Issues на гитхаб.
UPD 27.11.2022: Добавил раздел Переносы строк, обновил картинку
программы, системы и сервисы. Что использовать для распознавания текста документов?
Программы для распознавания текста знакомы всем, кто в процессе работы сталкивался с необходимостью перевода печатных символов в электронный формат. Современные решения от лидера отрасли ABBYY давно вышли за рамки массового сегмента: теперь они помогают бизнесу. Разработки в области распознавания текста востребованы в банковском деле, в образовании, энергетике и т. д. В этой статье мы расскажем о том, какие задачи бизнеса позволяют решать технологии ABBYY.
В XXI веке программы распознавания текста востребованы не только у частных пользователей, но и в бизнесе. Главным образом они служат для автоматизации ввода и обработки данных из документов, за счет чего помогают экономить время и деньги. Десятки тысяч компаний во всем мире используют решения ABBYY для повышения конкурентоспособности. А начиналось все в 1993 году, когда была создана технология оптического распознавания символов (OCR — Optical Character Recognition) ABBYY. Поясним вкратце, в чем принцип ее работы.
Текст отсканированного документа, его фотографию или PDF-файл можно просматривать с экрана компьютера, но их содержимое нельзя копировать и изменять. Технология оптического распознавания переводит изображение в формат, доступный для редактирования. Программа находит буквы, объединяет их в слова и предложения, воссоздавая текст. Каким образом она это делает?
Сначала система определяет структуру документа: выделяет текстовые блоки, таблицы, графики, сноски, ссылки, колонтитулы, номера страниц и другие элементы оформления. Этот процесс производится постранично. Затем программа делит текст на строки, слова и символы. После этого в работу включаются механизмы распознавания — классификаторы. Они анализируют каждый символ и предлагают ряд гипотез о том, на какую букву или знак он похож. Из списка предположений классификаторы выбирают то, которому присвоен наибольший вес, и программа выдает распознанный текст.
Отличительные особенности технологии оптического распознавания текста от ABBYY:
- Быстрота и точность распознавания.
- Полное сохранение исходной структуры и форматирования документа. Программа восстанавливает не только сам текст, но и все элементы оформления, включая иллюстрации, гиперссылки, сноски, колонтитулы и т. п.
- Поддержка более 190 языков. Система распознавания текста интегрирована со словарями, и при проверке гипотез учитываются данные о языке документа. Это ускоряет процесс распознавания и сводит к минимуму вероятность ошибок.
- Распознавание символов, набранных любым шрифтом.
- Возможность сохранения текста почти во всех редактируемых форматах (DOC, TXT, RTF, XLS, HTML, PDF), автоматической передачи документа в другие приложения.
- Автоматизация однотипных операций, что позволяет распознавать и обрабатывать документы еще быстрее.
ABBYY OCR: от теории к практике
Какова же прикладная польза от технологий оптического распознавания текста? Процесс оптимизации бизнеса с их помощью идет сразу в нескольких направлениях:
- Уменьшение времени на обработку документов.
С программой оптического распознавания текста ручные операции сводятся к минимуму. За счет этого процессы ввода и обработки данных идут быстрее, а сотрудники освобождают рабочее время для более важных задач.
- Повышение качества ввода данных. Автоматизация практически исключает ошибки, неизбежные при выполнении операций вручную.
- Снижение материальных затрат на обработку документов.
- Повышение скорости и качества обслуживания клиентов, что ведет к росту лояльности.
Все это в комплексе влияет на конкурентоспособность компании и помогает бизнесу стать успешнее. Наглядно представить преимущества внедрения программы позволяет статистика:
Посмотрим, какие задачи решает программа распознавания текста в конкретных отраслях.
Банковская сфера
Сотрудники банков ежедневно работают с колоссальным объемом бумажной документации. Технологии распознавания текста позволяют экономить массу времени, труда и средств при осуществлении этих операций. Уже 80 российских банков, входящих в топ-100[1], оценили решения ABBYY. Вот примерный перечень задач, с которыми справляются решения ABBYY для распознавания текста:
Оптимизация сбора, хранения и обработки клиентских данных
Программа сканирует поступающие документы и автоматически проверяет, правильно ли они заполнены. После этого программа отправляет скан-образы сотруднику банка для верификации. При этом система умеет распознавать ключевые поля в зависимости от типа документа и сравнивать их содержимое с учетными данными. Верифицированные сотрудниками скан-образы автоматически сохраняются в архив. Любые данные из документов можно передавать в информационные системы банка.
Пример
Система потокового ввода клиентских данных от ABBYY успешно используется «Россельхозбанком». Решение позволило создать централизованное хранилище документов с онлайн-доступом, минимизировать потерю информации, ускорить взаимодействие между головным офисом и 78 филиалами. Благодаря автоматизированному вводу данных сотрудники банка теперь ежемесячно обрабатывают 4 млн страниц[2].
Быстрая обработка документов для выдачи кредита
Когда клиент предоставляет документы для получения кредита, система сканирует их и автоматически проверяет правильность оформления. Также программа определяет, все ли необходимые данные имеются. Автоматизация ввода и анализа документов позволяет как минимум в два раза сократить сроки обработки кредитных заявок[3].
Автоматический ввод данных при открытии счета юрлица
До внедрения технологий распознавания текста сотрудник банка вносил данные для открытия расчетного счета вручную. Для этого было необходимо проверить комплектность документов, удостовериться в корректности заполнения, отсканировать их, извлечь необходимые данные и передать на дальнейшую обработку в информационные системы банка. Программа выполняет все эти операции автоматически.
Автоматизация расчетно-кассовых операций
Чтобы провести платеж, сотрудник банка вводит в систему данные из платежных документов. В организациях, использующих решения ABBYY, этот процесс протекает в 5–10 раз быстрее[4]. Программа сканирует документы, распознает и извлекает необходимые данные, а потом выдает их оператору. При автоматическом вводе устраняется человеческий фактор, и ошибок практически не бывает.
Автоматизация валютного контроля
Финансовые операции с использованием иностранной валюты относятся к особо трудоемким и сложным банковским процессам, поскольку их осуществление требует строгого соблюдения норм валютного законодательства. Сотрудник банка должен проявлять особое внимание при вводе и проверке данных. Решения от ABBYY позволяют автоматизировать обработку документов валютного контроля, ускорить операции и практически полностью исключить ошибки.
Энергетика
Возможности технологий распознавания текстов востребованы и в энергетической отрасли. Прежде всего они используются для автоматизации обработки бумажных и электронных документов.
Автоматизированный ввод данных с приборов
Показания приборов используются и при коммерческом учете потребления электроэнергии, и при техническом обслуживании оборудования (результаты проведения испытаний). Данные чаще всего поступают на бумажных носителях. Показания приборов учета и измерительных устройств вводятся в информационную систему для обработки. Благодаря решениям ABBYY этот процесс происходит автоматически. Программа позволяет сократить сроки обработки документов, исключить ошибки ввода, уменьшить затраты труда персонала.
Автоматизация бухгалтерских операций
Через отделы бухгалтерии электросетевых компаний ежедневно проходит огромное количество финансовых документов. Каким бы внимательным ни был сотрудник, при таком объеме данных неизбежно возникают ошибки. Это приводит к потерям времени и средств, особенно при несвоевременном обнаружении. Не говоря уже о длительности самого процесса ручного ввода.
Внедрение решения по распознаванию текста на 50% сокращает затраты при обработке счетов-фактур[5], минимизирует ошибки ввода, предотвращает потерю данных. Программа сканирует, распознает и проверяет документы, автоматически извлекает из них нужную информацию и вводит ее в систему. Бухгалтеру остается только подтвердить, правильно ли распознаны данные.
Пример
Компания КЭС-Энергостройсервис, занимающаяся ремонтом объектов энергетики, столкнулась с проблемой чрезмерных затрат на документооборот. Чтобы получить нужные запчасти, приходилось ждать 3–7 дней: именно столько времени занимал процесс обработки и согласования документов. После внедрения платформы ABBYY FlexiCapture бухгалтеры стали выполнять эту работу за 1–3 часа[6].
Быстрая обработка заявок по технологическому присоединению физических и юридических лиц к электросетям
Прежде чем заключить с потребителем договор на технологическое присоединение к электросетям, сотрудники энергетической компании принимают и обрабатывают заявку. Несмотря на то что этот документ разрешается подавать в электронном виде, многие заявители по-прежнему предпочитают традиционные бумажные носители. Персоналу приходится вводить данные вручную, затрачивая лишнее время и труд.
С внедрением решения ABBYY все упрощается: бумажная заявка сканируется, затем программа помещает скан-копию в электронное хранилище, а распознанные данные передает в информационную систему, где они автоматически обрабатываются. Рутинная работа сотрудников сводится к минимуму, и они могут уделять время другим задачам.
Нефтегазовая отрасль
Нефтегазовые компании в своей работе тоже сталкиваются с большим объемом бумажной документации. Данные нужно оперативно и точно вносить в систему и обрабатывать. При этом необходимо, чтобы сотрудники имели к ним быстрый доступ. Понимая, что от этих процессов зависит эффективность бизнеса, руководители компаний стремятся автоматизировать обработку и хранение документов. Наиболее практичным решением представляется создание удобного электронного архива с широким спектром функциональных возможностей. ABBYY уже реализовала несколько таких проектов в нефтегазовой отрасли.
Например, в ОАО «Востокгазпром» удалось за короткое время оптимизировать ввод учетных и финансовых документов с помощью платформы ABBYY FlexiCapture. Перед разработчиками стояла задача обеспечить точность внесения данных, быстрый доступ к нужной информации. С этой целью было создано 25 шаблонов для обработки актов, накладных, кассовых ордеров и других стандартных типов документов предприятия.
Система автоматически вписывает реквизиты документа в его архивную карточку, прикрепляет скан-копию и результат распознавания в доступном для полнотекстового поиска формате. Текстовые данные программа вносит в нужные поля, проверяет их в соответствии с заданными правилами, подсвечивает возможные ошибки. В результате работа сотрудника сводится к итоговому контролю и подтверждению экспорта документа.
Другие отрасли
Применение программ распознавания текста не исчерпывается перечисленными сферами. Решения от ABBYY востребованы и во многих других отраслях экономики, в частности в образовании, государственном секторе, производстве, логистике и транспорте, ритейле, телекоммуникациях и др.
Возможности программы по распознаванию текста позволяют оптимизировать бизнес-процессы и за счет этого повысить конкурентоспособность компании. Автоматизированная обработка документов экономит время сотрудников и снижает затраты на обработку данных. Удобство и функциональность решений ABBYY уже оценили многие предприятия из разных сфер бизнеса.
P.S. ABBYY — мировой лидер в области технологий интеллектуальной обработки информации. С продуктами и отраслевыми решениями компании можно ознакомиться на сайте www.abbyy.com.
Лучшее бесплатное программное обеспечение для оптического распознавания символов с открытым исходным кодом
Новый внешний вид, тот же отличный продукт! HelloSign теперь называется Dropbox Sign.
Оцифровка документов дает множество преимуществ для вашего бизнеса, но после того, как текстовый документ будет преобразован в PDF, как вы будете искать или редактировать текст? Существуют программы для решения этой проблемы, и многие из них бесплатны и имеют открытый исходный код.
Программное обеспечение для оптического распознавания символов (OCR) позволяет преобразовывать нередактируемые файлы, такие как PDF-файлы или изображения, в редактируемый текст. На рынке существует множество инструментов OCR. В этом обзоре будут сравниваться некоторые из лучших бесплатных инструментов OCR с открытым исходным кодом, чтобы вы могли выбрать один из них для своих проектов.
Как работает программа OCR?
Программное обеспечение OCR идентифицирует текст из отсканированных документов или изображений и преобразует текст в доступный для поиска или редактирования формат, такой как Microsoft Word или обычный текст. Эти инструменты могут работать с поставщиками облачных хранилищ, так что счетами-фактурами или другими документами вашей организации будет проще управлять и легко извлекать.
Каковы проблемы OCR-инструментов?
Существуют определенные проблемы, связанные с использованием программного обеспечения OCR, для решения которых предназначены перечисленные инструменты. Эти проблемы включают в себя:
Точность — Средства OCR не всегда точны на 100% и могут не распознавать каждую букву или цифру в документе. Вы можете повысить точность с помощью предварительной обработки, исправляя изображение, повышая его резкость и сглаживая, или постобработкой, обнаруживая и исправляя ошибки. Tesseract, например, предлагает предварительную обработку, такую как удаление шума и эрозия. EasyOCR предлагает автоматическую предварительную обработку, а PaddleOCR — постобработку. Инструменты, использующие алгоритмы глубокого обучения, имеют особое преимущество с точки зрения повышения точности.
Языковая поддержка — Инструменты OCR должны работать на нескольких языках, поскольку нет гарантии, что все документы вашей организации будут на английском языке. Tesseract, EasyOCR и PaddleOCR поддерживают более пятидесяти языков. Однако на момент написания CognitiveOCR поддерживает не более тридцати языков.
Зачем вам нужно программное обеспечение OCR?
Инструменты оптического распознавания текста помогают исключить ручную работу по редактированию или доступу к документам, экономя время и деньги. Вы можете более эффективно получать доступ и редактировать важную информацию. Поскольку вы можете легко оцифровывать документы своей организации и делиться ими, вы можете полностью перейти на безбумажный офис.
Почему были выбраны именно эти инструменты OCR?
Существует несколько вариантов программного обеспечения для оптического распознавания символов, многие из которых предлагают различные функции и возможности. В приведенном ниже разделе содержится обзор пяти бесплатных программ OCR с открытым исходным кодом, основанный на нескольких факторах: насколько хорошо они интегрируются с другими инструментами, насколько активно они поддерживаются, поддержка сообщества, точность, какие языки они поддерживают, оптимизация графического процессора и они предлагают оболочки или библиотеки для нескольких языков программирования.
Tesseract
Tesseract был разработан Hewlett-Packard, а затем выпущен как программа с открытым исходным кодом HP и Университетом Невады в Лас-Вегасе. Tesseract 4 использует механизм OCR нейронной сети (LSTM) для распознавания строк, а Tesseract 3 использует устаревший механизм OCR для распознавания образов символов.
Механизм OCR Tesseract использует библиотеку Leptonica для открытия изображений в форматах TIFF, PNG и JPG и обеспечивает вывод в форматах PDF, hOCR (HTML), TSV или обычного текста. Он доступен для Windows, Linux и macOS X. Его можно использовать напрямую через командную строку или с помощью API.
Tesseract интегрируется с несколькими инструментами, доступными для мобильных устройств, iOS и других систем. Его также можно интегрировать со сторонними инструментами для работы с графическими пользовательскими интерфейсами (GUI). Организация GitHub активно поддерживается как tesseract-ocr с более чем четырнадцатью репозиториями. На момент написания основной репозиторий Tesseract насчитывал более 43,8 тыс. звезд и более 7,8 тыс. форков.
Tesseract также предлагает отличную поддержку сообщества с различными проектами, такими как Tesseract Polish, модели Tesseract для индийских языков и древнегреческий OCR. Вы можете найти больше проектов сообщества в документации.
Точность вывода зависит от различных факторов, таких как язык, качество изображения, подготовленные данные, сегментация страницы и механизм. Для большей точности вы можете предварительно обработать изображения с помощью таких инструментов, как OpenCV или ImageMagick, для удаления шума, масштабирования, бинаризации, поворота, инвертирования изображения, расширения и эрозии.
Половина кода изначально была написана на C, а половина — на C++, а затем скомпилирована как C++. Tesseract совместим с различными языками программирования и имеет оболочки, доступные, в частности, для Java, Python, Ruby и Swift.
На момент написания Tesseract поддерживал Unicode (UTF-8) и теперь распознает более ста языков, включая испанский, латынь и хинди. Его также можно обучить работе на других языках. По умолчанию для обработки используется английский язык, но вы можете использовать `-l` для добавления другого языка или `+` для комбинации языков.
EasyOCR
EasyOCR был разработан Jaded AI. Построенный на основе библиотеки PyTorch и моделей обнаружения и распознавания текста, EasyOCR интегрирует алгоритмы OCR, такие как:
- Модель обнаружения текста: распознавание области символов для обнаружения текста (CRAFT)
- Модель распознавания текста: ResNet для извлечения признаков, долговременная кратковременная память (LSTM) для маркировки последовательностей и декодирование временной классификации соединения (CTC) (CRNN для сквозная обучаемая модель).
- Он быстро растет и активно поддерживается на GitHub с 13,7 тыс. звезд и 1,8 тыс. ответвлений.
EasyOCR имеет хорошую поддержку сообщества и служит зависимостью для нескольких других репозиториев GitHub. Поскольку он построен на библиотеке PyTorch, он более точен. Вам не нужно выполнять предварительную обработку изображения, которая может выполняться автоматически.
По умолчанию EasyOCR использует GPU для вычислений, что увеличивает скорость распознавания. Если вы хотите использовать режим CPU, который медленнее, чем Tesseract, вам нужно установить `gpu=false`. Вам нужна среда с GPU-ускорением, если вы хотите использовать GPU.
На момент написания EasyOCR поддерживает восемьдесят три языка, включая польский, тамильский, шведский и тайский. Он может читать несколько языков одновременно, но они должны быть совместимы друг с другом. Это пакет Python, который поддерживает только язык программирования Python.
PaddleOCR
PaddleOCR, разработанный Baidu, основан на платформе глубокого обучения PaddlePaddle ( PA rallel D распределено D eep LE арнинг). Он поддерживает Linux, Windows, macOS и другие системы.
PaddleOCR состоит из сверхлегкой и общей модели OCR, объединяющей такие алгоритмы OCR, как:
- Модели распознавания текста: EAST, DB, SAST
- Модели распознавания текста: CRNN, Rosetta, STAR-Net, RARE, SRN
Вы можете обучить и развернуть PaddleOCR на серверах, мобильных (как iOS, так и Android), встроенных устройствах и устройствах IoT. Он имеет библиотеку Paddle Lite, которая помогает интегрироваться с кроссплатформенным оборудованием для упрощения развертывания. Он поддерживает как CPU, так и GPU. Для более быстрых вычислений предпочтительнее использовать GPU.
PaddleOCR поддерживает язык программирования Python, но для логического вывода и развертывания можно использовать C++ и Python. Доступны различные варианты обслуживания и контрольных показателей. Вы можете легко установить любой пакет с помощью менеджера пакетов pip. Вы также можете использовать этот репозиторий GitHub для преобразования Paddle в PyTorch.
На момент написания PaddleOCR активно поддерживается и быстро растет, насчитывая 18,8 тыс. звезд и 3,9 тыс. форков. Он предлагает хорошую поддержку сообщества и служит зависимостью для различных проектов GitHub.
PaddleOCR не обязательно является самым точным, но после некоторой постобработки PaddleOCR составляет серьезную конкуренцию Tesseract, особенно в китайском языке. На момент написания он поддерживает более восьмидесяти языков, включая корейский, немецкий и французский.
GOCR
GOCR (или JOCR) был разработан по общественной лицензии GNU Йоргом Шуленбургом. (Первоначально он был известен как GNU OCR, но позже был изменен на OCR Йорга). Он поддерживает входные форматы, такие как TIFF, GIF, PNG, PNM, PBM и BMP, для вывода текстового файла. Он поддерживает Windows, Linux и OS/2.
Вы можете интегрировать GOCR с различными внешними интерфейсами, что упрощает перенос на различные операционные системы и архитектуры. Вам не нужно обучать программу или хранить большие шрифты. Вы можете просто вызвать из командной строки, чтобы получить результаты.
Он не всегда точен, поскольку с трудом читает рукописный текст, зашумленные изображения и перекрывающиеся символы. Он доступен на английском языке и может также переводить штрих-коды. На момент написания GOCR не поддерживался активно, с 2018 года не было новых выпусков. Похоже, что он не имеет широкой поддержки сообщества,
Он работает на ЦП, но не на графическом процессоре. Он был написан на языке программирования C. Доступны некоторые оболочки, такие как gocr-php, реализация Golang и GOCR.js.
Cognitive OpenOCR
Cognitive OpenOCR (Cuneiform) от Cognitive Technologies был разработан путем объединения баз данных из других программ OCR с открытым программным обеспечением, а также пользовательского ввода и отзывов. Он поддерживает от двадцати до тридцати языков, включая русский, английский, турецкий и итальянский.
Поскольку база данных встроена, для ее использования не требуется подключение к Интернету; однако он не поддерживается активно с 2019 года и не предлагает поддержку сообщества.
В большинстве случаев требуется редактирование выходных данных, и инструмент дает плохие результаты с менее контрастными изображениями, что делает его менее точным. Он работает на процессоре, но не поддерживает GPU. Он был написан на C и C++ и имеет оболочку, доступную в .NET.
Заключение
Программы оптического распознавания текста могут быть огромным преимуществом для предприятий, поскольку они завершают оцифровку документов и переходят на безбумажные офисы. Перечисленные выше программы предлагают ряд преимуществ в зависимости от вашего контекста.
Учитывайте необходимые языки, доступную поддержку и другие функции при выборе программного обеспечения OCR для вашей организации.
Ищете другие способы организации безбумажного офиса? Узнайте, как встраивать электронные подписи в любой веб-сайт или приложение с помощью Dropbox Sign API, чтобы сделать подписание доступным для всех и везде.
Что такое OCR | Как работает OCR
OCR (оптическое распознавание символов) — это технология, необходимая предприятиям для работы с отсканированными документами. Без него вы не сможете выполнять поиск по документам, если только они не введены вручную в текстовый процессор. По своей сути это программное обеспечение позволяет компьютерам читать документы так же, как и человеку: распознавая узоры букв и выделяя текст из изображения.
Эта задача удивительно сложна, потому что наш мозг работает иначе, чем процессор компьютера. В то время как человеческий мозг воспринимает наши визуальные данные и классифицирует их в соответствии с формами и шаблонами, компьютеры вместо этого видят изображения как набор пикселей. Традиционно программисты должны вводить любые шаблоны, которые они хотят, чтобы компьютеры распознавали, а это означает, что их возможности были ограничены, а незначительные изменения шрифта могли сделать текст совершенно неразборчивым для компьютеров. Программное обеспечение OCR было разработано как решение этой проблемы, и сегодня это мощный инструмент для бизнеса.
Эта технология развивалась с течением времени, и ее ранние стадии были далеко не такими мощными, как сегодня. Первый экземпляр успешного программного обеспечения для оптического распознавания символов использовался в финансовой сфере, и его до сих пор можно увидеть на банковских чеках. Отличительный шрифт, используемый для счета и маршрутного номера на чеках, называется OCR-A. Он был разработан, чтобы быть четким и отличать каждую букву и цифру от других. В результате компьютеры можно научить читать один шрифт с изображения.
Хотя OCR-A представлял собой прорыв, он не был надежным или гибким. Следующим шагом было разбить символы на их составные части, что помогает компьютерам идентифицировать различные шрифты и даже почерк, содержащийся в изображениях. Эта разработка означает, что компании могут использовать OCR для сканирования и цифровой сортировки физических документов с помощью подходящего программного обеспечения.
Сегодня самое передовое программное обеспечение для оптического распознавания текста обеспечивает точную транскрипцию большинства форм рукописного ввода и практически любого компьютерного шрифта. Он также распознает элементы форматирования, такие как столбцы. Современное программное обеспечение OCR может даже различать намеренный текст и случайное повреждение, такое как пятна или разливы на документах, используя несколько цветов.
Kofax позволяет вам работать с PDF-файлами с помощью встроенного в наши программы программного обеспечения для оптического распознавания символов.
Ваш комментарий будет первым