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

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

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

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

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

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

Тессеракт был в тройке OCR двигателей с точки зрения точности характера в 1995 году [8] Он доступен для Linux , Windows , и Mac OS X . Однако из-за ограниченных ресурсов он только тщательно тестируется разработчиками под Windows и Ubuntu . [4] [5]

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

Первоначальные версии Tesseract могли распознавать только текст на английском языке. Tesseract v2 добавил шесть дополнительных западных языков (французский, итальянский, немецкий, испанский, бразильский португальский, голландский). Версия 3 значительно расширяет языковую поддержку, включая идеографические (китайский и японский) и языки с написанием справа налево (например, арабский, иврит), а также многие другие скрипты. Новые языки включали арабский, болгарский, каталонский, китайский (упрощенный и традиционный), хорватский, чешский, датский, немецкий ( Frakturскрипт), греческий, финский, иврит, хинди, венгерский, индонезийский, японский, корейский, латышский, литовский, норвежский, польский, португальский, румынский, русский, сербский, словацкий (стандартный и фрактурный шрифт), словенский, шведский, тагальский, тамильский , Тайский, турецкий, украинский и вьетнамский. Версия 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 (лат. ), мар (маратхи),mya (бирманский), nep (непальский), ori (ория), pan (пенджаби), pus (пушту), san (санскрит), sin (сингальский), srp_latn (сербский на латинском языке), syr (сирийский язык), tgk ( Таджикский), тир (тигринья), уиг (уйгурский), урду (урду), uzb (узбекский), uzb_cyrl (узбекский в кириллице), жид (идиш).[10]

Кроме того, Tesseract можно обучить работе на других языках. [5]

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

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

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

Версия 4 [ править ]

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

Кроме того, поддерживаются сценарии для 37 языков, поэтому можно распознать язык по сценарию, на котором он написан.

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

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

Тессеракт выполняется из интерфейса командной строки . [16] Хотя Tesseract не поставляется с графическим интерфейсом пользователя, существует множество отдельных проектов, которые предоставляют для него графический интерфейс. [17] Одним из распространенных примеров является OCRFeeder . [18]

Прием [ править ]

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

В ноябре 2020 года Брюстер Кале из Интернет-архива похвалил Tesseract, сказав: [19]

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

См. Также [ править ]

  • Либтифф

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

  1. ^ а б Google (2008). "тессеракт-окр" . Проверено 8 марта 2016 .
  2. ^ "Релизы - tesseract-ocr / tesseract" . Проверено 5 января 2020 г. - через GitHub .
  3. ^ a b Кей, Энтони (июль 2007 г.). «Тессеракт: движок оптического распознавания символов с открытым исходным кодом» . Linux Journal . Проверено 28 сентября 2011 года .
  4. ^ a b c Винсент, Люк (август 2006 г.). «Анонсирование Tesseract OCR» . Архивировано из оригинального 26 октября 2006 года . Проверено 26 июня 2008 .
  5. ^ a b c d e Canonical Ltd. (февраль 2011 г.). «OCR» . Проверено 11 февраля 2011 .
  6. ^ a b Объявление о Tesseract OCR - официальный блог Google
  7. ^ Уиллис, Натан (сентябрь 2006 г.). «Механизм Google Tesseract OCR - это качественный скачок вперед» . Проверено 18 июля 2008 .
  8. ^ Райс Стивен В., Фрэнк Р. Дженкинс и Томас А. Нарткер Четвертый ежегодный тест точности распознавания текста , Expervision.com, получено 21 мая 2013 г.
  9. ^ Проект Tesseract (февраль 2011 г.). «Проблема 263: исправление для включения вывода hOCR» . Архивировано из оригинального 13 ноября 2012 года . Проверено 26 февраля 2011 года .
  10. ^ «langdata - Исходные данные обучения для Tesseract для многих языков» . Проверено 6 ноября +2016 .
  11. ^ «Обучение сетей LSTM на 100 языках и результаты тестирования» (PDF) . Проверено 18 марта 2018 .
  12. ^ Объявление о системе OCRopus с открытым исходным кодом OCR (Томас Бройел, руководитель проекта OCRopus).
  13. ^ "FAQ - tesseract-ocr - Часто задаваемые вопросы - Механизм распознавания текста, который был разработан в HP Labs в период с 1985 по 1995 год ... и теперь в Google. - Хостинг проектов Google" . Архивировано из оригинала 23 декабря 2015 года . Проверено 30 мая 2014 .
  14. ^ «ImproveQuality - tesseract-ocr - Советы по улучшению качества вашей продукции. - Механизм распознавания текста, который был разработан в HP Labs в период с 1985 по 1995 год ... и теперь в Google. - Хостинг проектов Google» . 2014-01-27. Архивировано из оригинального 20 сентября 2015 года . Проверено 30 мая 2014 .
  15. ^ "TESSERACT (1) Страница руководства" . Проверено 15 марта 2018 года .
  16. ^ Google Code - Tesseract Readme
  17. ^ «3rdParty - tesseract-ocr - графические интерфейсы и другие проекты, использующие Tesseract OCR» . github.com . Проверено 30 марта 2017 .
  18. ^ "OCRFeeder" . GNOME вики . Проверено 12 января 2019 .
  19. Brewster Kahle (23 ноября 2020 г.). «FOSS снова побеждает: сообщества свободных и открытых исходных кодов появляются в газетах XIX века (а также в книгах и периодических изданиях ...) - в блогах из архива Интернета» . blog.archive.org . Проверено 1 декабря 2020 года .

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

  • Официальный веб-сайт
  • Взлом Tesseract V0.04 - C / C ++ структура Tesseract, извлеченная из исходного кода Doxyfied (на основе Tesseract V1.03)
  • Механизм распознавания текста Tesseract Обзор механизма распознавания текста Tesseract.