ОКРопус
![]() | |
Разработчик(и) | Томас Брейэль, DFKI |
---|---|
Первоначальный выпуск | 9 апреля 2007 г [1] |
Стабильная версия | 1.3.3
/ 16 декабря 2017 г |
Репозиторий | |
Написано в | С++ и Питон |
Операционная система | FreeBSD , Linux , Mac OS X |
Тип | Оптическое распознавание символов |
Лицензия | Лицензия Apache v2.0 |
Веб-сайт | github |
OCRopus — это бесплатная система анализа документов и оптического распознавания символов (OCR), выпущенная под лицензией Apache 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 с использованием Jam в качестве системы сборки . Был проведен полный рефакторинг исходного кода модулей 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]
Программное обеспечение OCR kraken , используемое платформой транскрипции eScriptorium, является ответвлением OCRopus. Добавлена поддержка сценариев с письмом справа налево . [18] Еще одна вилка, основанная на кракене, — Calamari .
Томас Брейэль также разработал преемника OCRopus 2 и активно работает над OCRopus 4. [19]
Использование
[ редактировать ]
OCRopus можно использовать из командной строки. После установки его можно вызвать, указав входные изображения. Он выводит распознанный текст напрямую на стандартный вывод или записывает его как код hOCR ( на основе HTML ) в файлы, из которых его затем можно преобразовать в PDF-файл с возможностью поиска. Если требуется более точный контроль, в командной строке можно указать параметры для выполнения определенных операций (например, распознавания одной строки). [20]
Пример вызовов OCRopus для распознавания текста на изображении:
# perform binarization ocropus-nlbin tests/ersch.png -o book # perform page layout analysis ocropus-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 output ocropus-hocr book/0001.bin.png -o book/0001.html
Другие инструменты сосредоточены на обучающей части OCRopus. Существуют модели OCRopus для извлечения текста из латинского, греческого, кириллического и индийского алфавитов. [21]
Ссылки
[ редактировать ]- ^ Jump up to: а б Брейэль, Томас (9 апреля 2007 г.). «Анонс системы OCR с открытым исходным кодом OCRopus» . Блог разработчиков Google . Проверено 29 декабря 2017 г.
- ^ Брейэль, Томас (2009). «Последний прогресс в системе OCRopus OCR». Материалы международного семинара по многоязычному распознаванию текста - MOCR '09 . Нью-Йорк, штат Нью-Йорк, США: ACM. стр. 2:1–2:10. дои : 10.1145/1577802.1577805 . ISBN 9781605586984 . S2CID 16920122 .
- ^ «Модели» . окропи вики . Проверено 5 января 2018 г.
- ^ Уль-Хасан, Аднан; Брейэль, Томас М. (2013). «Можем ли мы построить независимое от языка OCR, используя сети LSTM?». Материалы 4-го международного семинара по многоязычному распознаванию символов-MOCR '13 . Нью-Йорк, штат Нью-Йорк, США: ACM. стр. 9:1–9:5. дои : 10.1145/2505377.2505394 . ISBN 9781450321143 . S2CID 15054318 .
- ^ Спрингманн, Уве (1 декабря 2016 г.). «OCR для старых отпечатков». Спектр компьютерных наук (на немецком языке). 39 (6): 459–462. дои : 10.1007/s00287-016-1004-3 . ISSN 0170-6012 . S2CID 26680054 .
- ^ Симистира, Ф.; Уль-Хассан, А.; Папавассилиу, В.; Гатос, Б.; Кацурос, В.; Ливицкий, М. (август 2015 г.). «Распознавание исторических греческих политонических сценариев с использованием сетей LSTM». 2015 13-я Международная конференция по анализу и распознаванию документов (ICDAR) . стр. 766–770. дои : 10.1109/icdar.2015.7333865 . ISBN 978-1-4799-1805-8 . S2CID 39049104 .
- ^ «Исследовательский проект OCRopus» . dfki.de. Проверено 5 января 2018 г.
- ^ Брейэль, Томас М. (28 января 2008 г.). «Система OCR с открытым исходным кодом OCRopus». В Яникоглу - Беррин А; Беркнер, Кэтрин (ред.). Распознавание и поиск документов XV . Распознавание и поиск документов XV. Том. 6815. стр. 68150F–68150F–15. Бибкод : 2008SPIE.6815E..0FB . CiteSeerX 10.1.1.99.8505 . дои : 10.1117/12.783598 . S2CID 14728635 .
- ^ «Сайт проекта Ocropus» . Хостинг проектов Google . Январь 2019 г. Архивировано из оригинала 24 декабря 2012 г.
- ^ "Старые версии - окропы" . Гитхаб . Проверено 5 января 2018 г.
- ^ «ОКРОпус 0,5» . Группы Google . 2 июня 2012 г.
- ^ OCRopus по умолчанию даже не связывается с Tesseract .
- ^ Официальный сайт OpenFST .
- ^ «ocropy — выпуск v1.0» . Гитхаб . 2 ноября 2014 года . Проверено 5 января 2018 г.
- ^ Брейэль, ТМ; Уль-Хасан, А.; Аль-Азави, Массачусетс; Шафаит, Ф. (август 2013 г.). «Высокопроизводительное распознавание текста для печатного английского языка и Fraktur с использованием сетей LSTM». 2013 12-я Международная конференция по анализу и распознаванию документов . стр. 683–687. дои : 10.1109/icdar.2013.140 . ISBN 978-0-7695-4999-6 . S2CID 7244356 .
- ^ «ocropy: инструменты на основе Python для анализа документов и оптического распознавания символов» , GitHub , получено 5 января 2018 г.
- ^ «Выпускает окропы» . Гитхаб . Проверено 5 января 2018 г.
- ^ «Кракен — универсальный распознаватель текста для гуманитарных наук» . Проверено 23 января 2024 г.
- ^ «Система OCRopus OCR и сопутствующее программное обеспечение» . Гитхаб . Проверено 27 августа 2021 г.
- ^ «Окропи вики» . Гитхаб . Проверено 30 декабря 2017 г.
- ^ «модели окропии» . Гитхаб . Проверено 13 марта 2018 г.
Внешние ссылки
[ редактировать ]- окропи на GitHub
- Вики-сайт Ocropy на GitHub
- Сервер публикаций IUPR (документы, лежащие в основе многих алгоритмов, используемых в OCRopus)