Разработчики) | Томас Бройел, DFKI |
---|---|
Первый выпуск | 9 апреля 2007 г . [1] |
Стабильный выпуск | 1.3.3 / 16 декабря 2017 г . |
Репозиторий | |
Написано в | C ++ и Python |
Операционная система | FreeBSD , Linux , Mac OS X |
Тип | Оптическое распознавание символов |
Лицензия | Лицензия Apache v2.0 |
Веб-сайт | github |
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 можно использовать из командной строки. После установки его можно вызвать, указав входные изображения. Он будет выводить распознанный текст на стандартный вывод напрямую или записывать его в виде кода 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]
Ссылки [ править ]
- ^ a b Бруэль, Томас (9 апреля 2007 г.). «Объявление о системе OCRopus с открытым исходным кодом» . Блог разработчиков Google . Проверено 29 декабря 2017 года .
- ^ Breuel, Thomas (2009). Последние достижения в системе OCRopus OCR . Материалы международного семинара по многоязычному распознаванию текста . MOCR '09. Нью-Йорк, Нью-Йорк, США: ACM. С. 2: 1–2: 10. DOI : 10.1145 / 1577802.1577805 . ISBN 9781605586984.
- ^ «Модели» . ocropy вики . Проверено 5 января 2018 года .
- ^ Уль-Хасан, Аднан; Бруэль, Томас М. (2013). Можем ли мы создать независимое от языка распознавание текста с помощью сетей LSTM? . Материалы 4-го Международного семинара по многоязычному распознаванию текста . МОЦР '13. Нью-Йорк, Нью-Йорк, США: ACM. стр. 9: 1–9: 5. DOI : 10.1145 / 2505377.2505394 . ISBN 9781450321143.
- ^ Спрингманн, Уве (1 декабря 2016 г.). "OCR für alte Drucke". Информатик-Спектрум (на немецком языке). 39 (6): 459–462. DOI : 10.1007 / s00287-016-1004-3 . ISSN 0170-6012 .
- ^ 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.
- ^ "Исследовательский проект OCRopus" . www.dfki.de . Проверено 5 января 2018 года .
- ^ 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 .
- ^ "Сайт проекта ocropus" . Хостинг проектов Google . Январь 2019. Архивировано из оригинала 24 декабря 2012 года.
- ^ «Старые версии - ocropy» . GitHub . Проверено 5 января 2018 года .
- ^ "OCRopus 0.5" . Группы Google . 2 июня 2012 г.
- ^ По умолчанию OCRopus даже не связывается с Tesseract .
- ^ Официальный сайт OpenFST .
- ^ "ocropy - выпуск v1.0" . GitHub . 2 ноября 2014 . Проверено 5 января 2018 года .
- ^ Breuel, TM; Уль-Хасан, А .; Аль-Азави, Массачусетс; Шафайт, Ф. (август 2013 г.). Высокопроизводительное OCR для печатного английского и Fraktur с использованием сетей LSTM . 2013 12-я Международная конференция по анализу и распознаванию документов . С. 683–687. DOI : 10.1109 / icdar.2013.140 . ISBN 978-0-7695-4999-6.
- ^ "ocropy: инструменты на основе Python для анализа документов и распознавания текста" , GitHub , получено 5 января 2018 г.
- ^ "Освобождает окропию" . GitHub . Проверено 5 января 2018 года .
- ^ "ocropy wiki" . GitHub . Проверено 30 декабря 2017 года .
- ^ "модели окропии" . GitHub . Проверено 13 марта 2018 .
Внешние ссылки [ править ]
- ocropy на GitHub
- Вики по Ocropy на GitHub
- Сервер публикаций IUPR (документы, лежащие в основе многих алгоритмов, используемых в OCRopus)