Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

OCRopus - это бесплатная система анализа документов и оптического распознавания символов (OCR), выпущенная под лицензией Apache License v2.0 с очень модульной конструкцией с использованием интерфейсов командной строки .

OCRopus разработан под руководством Томаса Бруэля из Немецкого исследовательского центра искусственного интеллекта в Кайзерслаутерне , Германия, и спонсируется Google .

Описание [ править ]

OCRopus был специально разработан для использования в проектах по оцифровке больших объемов книг, таких как Google Книги , Интернет-архив или библиотеки. Будет поддерживаться большое количество языков и шрифтов. [2] Однако его также можно использовать для настольных и офисных приложений или для приложений для людей с ослабленным зрением.

Основные компоненты OCRopus сформированы:

Для этих компонентов доступны один или несколько сценариев. Модульный подход позволяет индивидуальные рабочие процессы , которые будут использоваться и отдельные шаги , которые необходимо заменить.

По умолчанию OCRopus поставляется с моделью для текстов на английском языке и моделью для текста во Fraktur . Эти модели относятся к сценарию и в значительной степени не зависят от реального языка. [3] Новые персонажи или языковые варианты можно обучать как новых, так и дополнительно.

Распознавание текста в последнее время основано на рекуррентных нейронных сетях ( LSTM ) и не требует языковой модели. Это позволяет обучать независимые от языка модели, для которых одновременно были показаны хорошие результаты распознавания для английского, немецкого и французского языков. [4] Помимо латинского алфавита , есть результаты для других шрифтов, таких как санскрит , урду , деванагари и греческий .

Очень хорошие показатели обнаружения могут быть достигнуты путем соответствующего обучения. Эти дополнительные усилия особенно полезны для сложных документов или сценариев, которые сегодня уже не используются и которые не являются предметом внимания другого программного обеспечения OCR. [5] [6]

История [ править ]

9 апреля 2007 года OCRopus был объявлен спонсируемым Google проектом по разработке передовых технологий распознавания текста. [1] Финансирование было предоставлено сроком на три года и касалось, в частности, кандидатских и постдокторских должностей в DFKI и Университете Кайзерслаутерна . В свою очередь, OCRopus также использовался для автоматического распознавания текста в Поиске книг Google . [7] Лицензирование по лицензии с открытым исходным кодом было сделано с самого начала, чтобы облегчить сотрудничество между промышленными и академическими исследованиями. [8] OCRopus получил дополнительное финансирование от Фонда Эндрю Меллона и BMBF . [9]

Первая альфа-версия 0.1 была выпущена 22 октября 2007 года, а в период с декабря 2007 года по май 2009 года последовало несколько предварительных выпусков, в результате чего в марте 2010 года была достигнута стабильная версия 0.4.4. [10] Первоначально программное обеспечение было разработано на C ++ , Python и Lua с использованием Джем как система сборки . Был проведен полный рефакторинг исходного кода в модулях Python и выпущен в версии 0.5 (июнь 2012 г.). [11]

Изначально Tesseract использовался как единственный модуль распознавания текста. С 2009 года (версия 0.4) Tesseract поддерживался только как плагин. Вместо этого был использован распознаватель текста собственной разработки (также сегментный). [12] Этот распознаватель затем использовался вместе с OpenFST [13] для моделирования языка после этапа распознавания. С 2013 года было предложено дополнительное распознавание с помощью рекуррентных нейронных сетей ( LSTM ), которое с выпуском версии 1.0 в ноябре 2014 года стало единственным распознавателем. [14] [15]

Исходный код управляется через GitHub, поддерживается и разрабатывается сообществом разработчиков. [16] Текущая версия OCRopus - 1.3.3 (декабрь 2017 г.). [17]

Использование [ править ]

Схема рабочего процесса отдельных инструментов командной строки из OCRopus.

OCRopus можно использовать из командной строки. После установки его можно вызвать, указав входные изображения. Он будет выводить распознанный текст на стандартный вывод напрямую или записывать его в виде кода hOCR (на основе HTML ) в файлы, из которых он затем может быть преобразован в доступный для поиска PDF. Если требуется более точное управление, в командной строке можно указать параметры для выполнения определенных операций (например, распознавания отдельной строки). [18]

Пример вызовов OCRopus для распознавания текста на изображении:

# perform binarizationocropus-nlbin tests/ersch.png -o book# perform page layout analysisocropus-gpageseg book/0001.bin.png# perform text line recognition (with a fraktur model)ocropus-rpred -m models/fraktur.pyrnn.gz book/0001/*.bin.png# generate HTML outputocropus-hocr book/0001.bin.png -o book/0001.html

Другие инструменты сосредоточены на обучающей части OCRopus. Существуют модели OCRopus для извлечения текста из латинского, греческого, кириллического и индийского шрифтов. [19]

Ссылки [ править ]

  1. ^ a b Бруэль, Томас (9 апреля 2007 г.). «Объявление о системе OCRopus с открытым исходным кодом» . Блог разработчиков Google . Проверено 29 декабря 2017 года .
  2. ^ Breuel, Thomas (2009). Последние достижения в системе OCRopus OCR . Материалы международного семинара по многоязычному распознаванию текста . MOCR '09. Нью-Йорк, Нью-Йорк, США: ACM. С. 2: 1–2: 10. DOI : 10.1145 / 1577802.1577805 . ISBN 9781605586984.
  3. ^ «Модели» . ocropy вики . Проверено 5 января 2018 года .
  4. ^ Уль-Хасан, Аднан; Бруэль, Томас М. (2013). Можем ли мы создать независимое от языка распознавание текста с помощью сетей LSTM? . Материалы 4-го Международного семинара по многоязычному распознаванию текста . МОЦР '13. Нью-Йорк, Нью-Йорк, США: ACM. стр. 9: 1–9: 5. DOI : 10.1145 / 2505377.2505394 . ISBN 9781450321143.
  5. ^ Спрингманн, Уве (1 декабря 2016 г.). "OCR für alte Drucke". Информатик-Спектрум (на немецком языке). 39 (6): 459–462. DOI : 10.1007 / s00287-016-1004-3 . ISSN 0170-6012 . 
  6. ^ Simistira, F .; Ul-Hassan, A .; Papavassiliou, V .; Gatos, B .; Katsouros, V .; Ливицки М. (август 2015 г.). Распознавание исторических греческих политонических сценариев с использованием сетей LSTM . 2015 13-я Международная конференция по анализу и распознаванию документов (ICDAR) . С. 766–770. DOI : 10.1109 / icdar.2015.7333865 . ISBN 978-1-4799-1805-8.
  7. ^ "Исследовательский проект OCRopus" . www.dfki.de . Проверено 5 января 2018 года .
  8. ^ Breuel, Томас М. (28 января 2008). «Система OCRopus с открытым исходным кодом». Слушания, том 6815, Распознавание и поиск документов XV . Распознавание и поиск документов XV. 6815 : 68150F – 68150F – 15. Bibcode : 2008SPIE.6815E..0FB . CiteSeerX 10.1.1.99.8505 . DOI : 10.1117 / 12.783598 . 
  9. ^ "Сайт проекта ocropus" . Хостинг проектов Google . Январь 2019. Архивировано из оригинала 24 декабря 2012 года.
  10. ^ «Старые версии - ocropy» . GitHub . Проверено 5 января 2018 года .
  11. ^ "OCRopus 0.5" . Группы Google . 2 июня 2012 г.
  12. ^ По умолчанию OCRopus даже не связывается с Tesseract .
  13. ^ Официальный сайт OpenFST .
  14. ^ "ocropy - выпуск v1.0" . GitHub . 2 ноября 2014 . Проверено 5 января 2018 года .
  15. ^ Breuel, TM; Уль-Хасан, А .; Аль-Азави, Массачусетс; Шафайт, Ф. (август 2013 г.). Высокопроизводительное OCR для печатного английского и Fraktur с использованием сетей LSTM . 2013 12-я Международная конференция по анализу и распознаванию документов . С. 683–687. DOI : 10.1109 / icdar.2013.140 . ISBN 978-0-7695-4999-6.
  16. ^ "ocropy: инструменты на основе Python для анализа документов и распознавания текста" , GitHub , получено 5 января 2018 г.
  17. ^ "Освобождает окропию" . GitHub . Проверено 5 января 2018 года .
  18. ^ "ocropy wiki" . GitHub . Проверено 30 декабря 2017 года .
  19. ^ "модели окропии" . GitHub . Проверено 13 марта 2018 .

Внешние ссылки [ править ]

  • ocropy на GitHub
  • Вики по Ocropy на GitHub
  • Сервер публикаций IUPR (документы, лежащие в основе многих алгоритмов, используемых в OCRopus)