stringtranslate.com

Тессеракт (программное обеспечение)

Tesseract — это оптический движок распознавания символов для различных операционных систем. [5] Это бесплатное программное обеспечение , выпущенное по лицензии Apache . [1] [6] [7] Первоначально разработанное Hewlett-Packard как проприетарное программное обеспечение в 1980-х годах, оно было выпущено с открытым исходным кодом в 2005 году, а разработка была спонсирована Google в 2006 году. [8]

В 2006 году Tesseract считался одним из самых точных OCR-движков с открытым исходным кодом. [7] [9]

История

Движок Tesseract изначально разрабатывался как проприетарное программное обеспечение в лабораториях Hewlett-Packard в Бристоле, Англия, и Грили, Колорадо, между 1985 и 1994 годами, с внесением дополнительных изменений в 1996 году для переноса на Windows и частичной миграцией с C на C++ в 1998 году. Большая часть кода была написана на C, часть — на C++. С тех пор весь код был преобразован в компилятор C++. [ необходима цитата ] В последующее десятилетие было сделано очень мало работы. Затем он был выпущен с открытым исходным кодом в 2005 году Hewlett-Packard и Университетом Невады, Лас-Вегас (UNLV). Разработка Tesseract спонсировалась Google в 2006 году. [8]

В версии 4 добавлены движок OCR на основе LSTM и модели для многих дополнительных языков и сценариев, в результате чего общее число языков достигло 116. [10] Дополнительно поддерживаются 37 сценариев .

Версия 5 была выпущена в 2021 году после более чем двух лет тестирования и разработки. [11]

Функции

Tesseract входил в тройку лучших OCR-движков по точности распознавания символов в 1995 году. [12] Он доступен для Linux , Windows и Mac OS X. [ 6] [7]

Tesseract, вплоть до версии 2, мог принимать в качестве входных данных только изображения TIFF простого одноколоночного текста. Эти ранние версии не включали анализ макета, поэтому ввод многоколоночного текста, изображений или уравнений приводил к искаженному выводу. Начиная с версии 3, Tesseract поддерживает форматирование выходного текста, позиционную информацию hOCR [13] и анализ макета страницы. Поддержка ряда новых форматов изображений была добавлена ​​с использованием библиотеки Leptonica. Tesseract может определять, является ли текст моноширинным или пропорционально интервальным. [7]

Первоначальные версии Tesseract могли распознавать только текст на английском языке.

В Tesseract v2 добавлено шесть дополнительных западных языков (французский, итальянский, немецкий, испанский, бразильский португальский, голландский).

Версия 3 значительно расширила языковую поддержку, включив идеографические (китайский и японский) и языки с письмом справа налево (например, арабский, иврит), а также многие другие письменности. Новые языки включают арабский, болгарский, каталонский, китайский (упрощенный и традиционный), хорватский, чешский, датский, немецкий ( письмо фрактура ), греческий, финский, иврит, хинди, венгерский, индонезийский, японский, корейский, латышский, литовский, норвежский, польский, португальский, румынский, русский, сербский, словацкий (стандартное письмо и письмо фрактура), словенский, шведский, тагальский, тамильский, тайский, турецкий, украинский и вьетнамский.

Версия 3.04, выпущенная в июле 2015 года, добавила еще 39 комбинаций языка/письма, в результате чего общее количество поддерживаемых языков превысило 100. Включены новые языковые коды: amh (амхарский), asm (ассамский), aze_cyrl (азербайджанский в кириллице), bod (тибетский), bos (боснийский), ceb (кебуанский), cym (валлийский), dzo (дзонг-кэ), fas (персидский), gle (ирландский), guj (гуджарати), hat (гаитянский и гаитянский креольский), iku (инуитский), jav (яванский), kat (грузинский), kat_old (древнегрузинский), kaz (казахский), khm (центральнокхмерский), kir (киргизский), kur (курдский), lao (лаосский), lat (латинский), mar (маратхи), mya (бирманский), nep (непальский), ori (ория), pan (пенджаби), pus (пушту), san (санскрит), sin (сингальский), srp_latn (сербский латиницей), syr (сирийский), tgk (таджикский), tir (тигринья), uig (уйгурский), urd (урду), uzb (узбекский), uzb_cyrl (узбекский язык кириллицей), yid (идиш). [14] Его можно обучить работе на других языках. [7]

Tesseract может обрабатывать текст справа налево, например, арабский или иврит, многие индийские письменности, а также CJK довольно хорошо. Показатели точности показаны в этой презентации для учебника Tesseract на DAS 2016, Санторини, автор Рэй Смит. [15]

Tesseract подходит для использования в качестве бэкэнда и может использоваться для более сложных задач OCR, включая анализ макета, с использованием фронтэнда, такого как OCRopus . [16]

Выходные данные Tesseract будут иметь очень плохое качество, если входные изображения не будут предварительно обработаны соответствующим образом: изображения (особенно скриншоты ) должны быть масштабированы таким образом, чтобы x-высота текста составляла не менее 20 пикселей, [17] любой поворот или перекос должны быть исправлены, иначе текст не будет распознан, низкочастотные изменения яркости должны быть отфильтрованы высокочастотным фильтром , иначе этап бинаризации Tesseract уничтожит большую часть страницы, а темные границы должны быть удалены вручную, иначе они будут неверно интерпретированы как символы. [18]

Пользовательские интерфейсы

Окно конфигурации Tesseract в OCRFeeder

Tesseract запускается из интерфейса командной строки . [19] Хотя Tesseract не поставляется с графическим интерфейсом пользователя, существует множество отдельных проектов, которые предоставляют графический интерфейс для него. [20] Одним из распространенных примеров является OCRFeeder . [21] . Кроссплатформенный графический интерфейс пользователя с открытым исходным кодом — gImageReader [1]

Прием

В статье о Tesseract в июле 2007 года Энтони Кей из Linux Journal назвал его «причудливым инструментом командной строки, который выполняет выдающуюся работу». В то время он отметил: «Tesseract — это голый движок OCR. Процесс сборки немного причудлив, и движку нужны некоторые дополнительные функции (например, определение макета), но основная функция, распознавание текста, радикально лучше всего, что я пробовал из сообщества Open Source. Достаточно легко получить отличные показатели распознавания, используя только сканер и некоторые инструменты для работы с изображениями, такие как GIMP и Netpbm ». [5]

В ноябре 2020 года Брюстер Кейл из Internet Archive похвалил Тессеракт, сказав:

Tesseract сделал большой шаг вперед за последние несколько лет. Когда мы в последний раз оценивали точность, она была не такой хорошей, как фирменный OCR, но это изменилось — мы провели оценки, и она так же хороша, и может стать лучше для нашего приложения из-за ее новой архитектуры. [22]

Смотрите также

Ссылки

  1. ^ ab Google (2008). "tesseract-ocr". GitHub . Получено 8 марта 2016 г.
  2. ^ Стефан Вайль. "Выпуск 5.4.1 · tesseract-ocr/tesseract" . Получено 12 июня 2024 г. .
  3. ^ "Языки, поддерживаемые в разных версиях Tesseract". Архивировано из оригинала 8 августа 2022 года . Получено 21 ноября 2022 года .
  4. ^ "Tesseract documentation – Traineddata files ... – Language data files for Tesseract". Архивировано из оригинала 5 сентября 2022 г. Получено 21 ноября 2022 г.
  5. ^ ab Kay, Anthony (июль 2007 г.). "Tesseract: an Open-Source Optical Character Recognition Engine". Linux Journal . Получено 28 сентября 2011 г. .
  6. ^ ab Vincent, Luc (август 2006 г.). "Announcing Tesseract OCR". Архивировано из оригинала 26 октября 2006 г. Получено 26 июня 2008 г.
  7. ^ abcde Canonical Ltd. (февраль 2011 г.). "OCR" . Получено 11 февраля 2011 г.
  8. ^ ab Анонс Tesseract OCR - Официальный блог Google
  9. ^ Уиллис, Натан (сентябрь 2006 г.). «Движок Google Tesseract OCR — это квантовый скачок вперед». Архивировано из оригинала 28 мая 2022 г. Получено 18 июля 2008 г.
  10. ^ "TESSERACT(1) Manual Page". GitHub . Получено 15 марта 2018 .
  11. ^ Шмидт, Джулия (1 декабря 2021 г.). «OCR Engine Tesseract 5.0 преобразуется в float для более быстрого обучения и распознавания • DEVCLASS». DEVCLASS . Получено 20 декабря 2021 г. .
  12. ^ Райс Стивен В., Фрэнк Р. Дженкинс и Томас А. Нарткер Четвертый ежегодный тест точности оптического распознавания символов, expervision.com, получено 21 мая 2013 г.
  13. Tesseract Project (февраль 2011 г.). «Проблема 263: исправление для включения вывода hOCR». Архивировано из оригинала 13 ноября 2012 г. Получено 26 февраля 2011 г.
  14. ^ "langdata - Исходные данные для обучения Tesseract для множества языков". GitHub . Получено 6 ноября 2016 г.
  15. ^ "Обучение сетей LSTM на 100 языках и результаты тестирования" (PDF) . GitHub . Получено 18 марта 2018 г. .
  16. Анонс системы OCR с открытым исходным кодом OCRopus. Архивировано 14 апреля 2007 г. на Wayback Machine (Томас Брейель, руководитель проекта OCRopus).
  17. ^ "FAQ - tesseract-ocr - Часто задаваемые вопросы - Механизм OCR, разработанный в HP Labs между 1985 и 1995 годами... и теперь в Google. - Хостинг проектов Google". Архивировано из оригинала 23 декабря 2015 года . Получено 30 мая 2014 года .
  18. ^ "ImproveQuality - tesseract-ocr - Советы по улучшению качества вашего вывода. - Механизм OCR, разработанный в HP Labs между 1985 и 1995 годами... и теперь в Google. - Google Project Hosting". 27 января 2014 г. Архивировано из оригинала 20 сентября 2015 г. Получено 30 мая 2014 г.
  19. ^ Google Code – Tesseract Readme
  20. ^ "3rdParty - tesseract-ocr - GUI и другие проекты, использующие Tesseract OCR". github.com . Получено 9 марта 2024 г. .
  21. ^ "OCRFeeder". GNOME wiki . Получено 12 января 2019 г.
  22. ^ Брюстер Кейл (23 ноября 2020 г.). «FOSS снова побеждает: сообщества свободного и открытого исходного кода побеждают в газетах 19-го века (и книгах и периодических изданиях...) — блоги Internet Archive». blog.archive.org . Получено 1 декабря 2020 г.

Внешние ссылки