Изменения

Перейти к: навигация, поиск

Распознавание текста на изображении

6700 байт добавлено, 19:13, 30 сентября 2020
м
Paragraph renamed
'''Распознавание текста на изображениях''' ( оптическое распознавание символом (англ. optical character recognition, OCR)) - одно из направлений распознавания образов, задача которого заключается в переводе изображений рукописного, машинописного или печатного текста в текстовые данные, использующиеся для представления символов в компьютере (например, в текстовом редакторе).{{В разработке}}
'''Распознавание текста на изображениях''' (оптическое распознавание символом (англ. optical character recognition, OCR<ref>https://en.wikipedia.org/wiki/Optical_character_recognition</ref>)) {{---}} одно из направлений распознавания образов, задача которого заключается в переводе изображений рукописного, машинописного или печатного текста в текстовые данные, использующиеся для представления символов в компьютере (например, в текстовом редакторе).
== Общая информация ==
Распознавание текста на изображениях является важной задачей машинного обучения, так как это позволяет удобное взаимодействие с данными: редактирование, анализ, поиск слов или фраз и т.д.
Примерами распознавания текста являются оцифровка изображений текста (отсканированные книгиВ последние десятилетия, статьиблагодаря использованию современных достижений компьютерных технологий, журналы)были развиты новые методы обработки изображений и распознавания образов, обработка анкетных бланков, распознавание номеров машин и надписей на объектах и т.д.. Распознавание благодаря чему стало возможным создание таких промышленных систем распознавания печатного текста на изображениях является важной задачей машинного обучения, так как это позволяет удобное взаимодействие с данными — редактирование, анализнапример, поиск слов или фраз и тFineReader<ref>https://www.дabbyy.com/ru/finereader/</ref>, которые удовлетворяют основным требованиям систем автоматизации документооборота.
В последние десятилетия, благодаря использованию современных достижений компьютерных технологий, были развиты новые методы обработки изображений и распознавания образов, благодаря чему стало возможным создание таких промышленных систем распознавания печатного текста, как например, FineReader, которые удовлетворяют основным требованиям систем автоматизации документооборота. Тем не менее, создание каждого нового приложения в данной области по-прежнему остается творческой задачей и требует дополнительных исследований в связи со специфическими требованиями по разрешению, быстродействию, надежности распознавания и объему памяти, которыми характеризуется каждая конкретная задача.
== История ==
 
Разработка OCR-систем берет начало из технологий, связанных с телеграфией и созданием считывающих устройств для слепых. В 1914 году Эммануэль Гольдберг разработал устройство, которое считывало символы и преобразовывало их в стандартный телеграфный код. Одновременно Эдмунд Фурнье д'Альбе разработал «Оптофон», ручной сканер, который, при перемещении по напечатанной странице, вырабатывал тональные сигналы, соответствующие определенным буквам или символам.
 
В 1974 году Рэй Курцвейл создал компанию «Kurzweil Computer Products, Inc» и начал работать над развитием первой системы оптического распознавания символов, способной распознавать текст, напечатанный любым шрифтом. Курцвейл считал, что лучшее применение этой технологии {{---}} создание машины чтения для слепых, которая позволила бы слепым людям иметь компьютер, умеющий читать текст вслух. Данное устройство требовало изобретения сразу двух технологий {{---}} ПЗС (прибор с зарядовой связью<ref>https://ru.wikipedia.org/wiki/ПЗС</ref>) планшетного сканера и синтезатора, преобразующего текст в речь.
 
Первой коммерчески успешной программой, распознающей кириллицу, стала программа «AutoR» российской компании «ОКРУС». Алгоритм «AutoR» был компактный, быстрый и в полной мере «интеллектуальный», то есть по-настоящему шрифтонезависимый. Этот алгоритм разработали и испытали ещё в конце 60-х два молодых биофизика, выпускники МФТИ {{---}} Г. М. Зенкин и А. П. Петров. В настоящее время алгоритм Зенкина-Петрова применяется в нескольких прикладных системах, решающих задачу распознавания графических символов.
 
В 1993 году вышла технология распознавания текстов российской компании ABBYY. На её основе создан ряд корпоративных решений и программ для массовых пользователей. Технологии распознавания текстов ABBYY OCR лицензируют международные ИТ-компании, такие как Fujitsu, Panasonic, Xerox, Samsung, EMC и другие.
 
В 2000-х годах производительность и компактность OCR-системы позволила представить на рынок онлайн-сервисы по переводу текста с одного языка на другой. Со временем такие программы получили возможность обрабатывать изображения как печатного, так и рукописного текста.
 
С развитием технологий производства мобильных устройств и упрощения процесса разработки мобильных приложений, OCR-системы стали неотъемлемой частью разнообразных программ: от развлекательных до обучающих, от мобильных помощников до систем управления.
 
== Применение систем распознавания текстов ==
 
Системы OCR применяются во многих областях. Вот некоторые из задач, которые решают системы распознавания текстов:
* Считывание данных с бланков и анкет;
* Автоматическое распознавание номерного знака;
* Распознавание паспортных данных;
* Извлечение информации из визитных карточек в список контактов;
* Создание цифровых версий печатных и рукописных документов, например, сканирование книг для проекта "Гутенберг"<ref>https://ru.wikipedia.org/wiki/Проект_«Гутенберг»</ref>;
* Технология для помощи слепым и слабовидящим;
== История Наиболее распространенные задачи OCR ==С задачей распознавания символов связаны следующие проблемы:* Разнообразие форм начертания символов: документ может содержать несколько шрифтов сразу: как распространенных, так и нестандартных;$\;\;\;\;\;\,$символы могут быть схожи по начертанию (например, “G” и “6”, “S” и “5”, “U” и “V” и тд.);* Искажение изображения, содержащего текст:** Шумы при печати;** Плохое качество изображения (засвеченность, размытость);* Вариации размеров, масштаба и положения символов на странице;* Влияние исходного масштаба печати: система оптического распознавания текста должна быть нечувствительной (устойчивой)$\;\;\;\;\;\,$по отношению к способу верстки, расстоянию между строками и другим параметрам печати. == Процесс распознавания текста ==[[Файл:Процесс_распознавания_текста.jpg|thumb|400px|Процесс распознавания текста]] Система распознавания текста предполагает наличие на входе изображения с текстом (в формате данных графического файла). На выходе система должна выдать текст, выделенный из входных данных. Весь процесс распознавания текста состоит из нескольких задач. === Обработка изображения ===
Разработка OCR-систем берет начало из технологий, связанных с телеграфией Перед началом распознавания текста изображение должно быть очищено от шума и созданием считывающих устройств для слепых. В 1914 году Эммануэль Гольдберг разработал устройствоприведено к виду, которое считывало позволяющему эффективно выделять символы и преобразовывало распознавать их в стандартный телеграфный код. Одновременно Эдмунд Фурнье д'Альбе разработал "Оптофон"Обычно у изображения повышают резкость, ручной сканерконтрастность, который при перемещении по напечатанной странице вырабатывал тональные сигналывыравнивают его и преобразовывают в используемый системой формат (например, соответствующие определенным буквам или символам8-битное изображение в градациях серого).
В конце 1920-х и начале 1930-х годов Эмануэль Гольдберг разработал то, что он назвал "Статистической машиной" для поиска микрофильмов в архивах с помощью оптической системы кодового распознавания. В 1931 году он получил патент на машину, который позже был приобретен компанией IBM.=== Распознавание символов ===''' ДОБАВИТЬ ОБЩИЕ СЛОВА '''
В 1974 году Рэй Курцвейл создал компанию «Kurzweil Computer Products, Inc», и начал работать над развитием первой системы оптического == Алгоритмы распознавания символов, способной распознать текст, напечатанный любым шрифтом. Курцвейл считал, что лучшее применение этой технологии — создание машины чтения для слепых, которая позволила бы слепым людям иметь компьютер, умеющий читать текст вслух. Данное устройство требовало изобретения сразу двух технологий — ПЗС планшетного сканера и синтезатора, преобразующего текст в речь. Конечный продукт был представлен 13 января 1976 во время пресс-конференции, возглавляемой Курцвейлом и руководителями национальной федерации слепых.===== Распознавание при помощи метрик ===
В 1978 году компания «Kurzweil Computer Products» начала продажи коммерческой версии компьютерной программы оптического Этой способ лучше всего работает с машинописным текстом, но при обработке новых шрифтов точность распознавания символовпадает. Компания «LexisNexis» была одним из первых покупателей и приобрела программу для загрузки юридических бумаг и новостных документов Метрика по сути является признаком символа, поэтому иногда в онлайн базы данныхконтексте данного способа говорят о процессе выявления признаков. Два года спустя Курцвейл продал свою компанию корпорации «Xerox»В качестве метрики используют [[Расстояние Хэмминга| расстояние Хэмминга]], которая была заинтересована в дальнейшей коммерциализации систем распознавания текстакоторое показывает, на сколько пикселей различаются изображения. «Kurzweil Computer Products» стала дочерней компанией «Xerox»Если признаки двух символов максимально похожи, известной как «Scansoft»то разность между их метриками (то есть расстояние между ними) стремится к нулю.Дальнейшая классификация символа происходит по [[Метрический классификатор и метод ближайших соседей|методу ближайшего соседа]]
Первой коммерчески успешной программойОднако одной метрики недостаточно для распознавания символа, распознающей кириллицутак как некоторые символы очень похожи между собой (например, была программа «AutoR» российской компании «ОКРУС». Программа начала распространяться в 1992 году“j” и “i”, работала под управлением операционной системы DOS “Z” и обеспечивала приемлемое по скорости “2”) и качеству распознавание даже на персональных компьютерах IBM PC/XT с процессором Intel 8088 при тактовой частоте 4это может привести к ошибке. Чтобы избежать этого, есть несколько способов:* группировка символовНапример, некоторые символы (“O”,77 МГц. В начале 90-х компания Hewlett-Packard поставляла свои сканеры на российский рынок в комплекте с программой «AutoR». Алгоритм «AutoR» был компактный“H”, быстрый “I”) обладают суперсимметрией (полностью совпадают со своими отражениями и в полной мере «интеллектуальный», то есть значимые пиксели распределены равномерно по-настоящему шрифтонезависимый. Этот алгоритм разработали всему изображению) и испытали ещё их можно выделить в конце 60-х два молодых биофизика, выпускники МФТИ — Готдельный класс. М. Зенкин и А. П. Петров. Свой метод распознавания они опубликовали Это сокращает перебор метрик в журнале «Биофизика» в номере 12, вып. 3 за 1967 годнесколько раз. * контекстное распознаваниеВ настоящее время алгоритм Зенкина-Петрова применяется в нескольких прикладных системах, решающих задачу качестве помощи алгоритмам распознавания графических символов. На основе алгоритма компанией Paragon Software Group в 1996 была создана технология PenReaderсистему включают словари. Г.М Зенкин продолжил работу над технологией PenReader в компании Paragon Software Group[1]. Технология используется Словари предоставляют справки во многих случаях, но быстро отказывают, когда, например, имеют дело с именами собственными, которые не находятся в одноимённом продукте компании[2]словаре.
В 1993 году вышла технология распознавания текстов российской компании ABBYY. На её основе создан ряд корпоративных решений и программ для массовых пользователей=== Распознавание с применением нейронных сетей === [[Файл:Нейронная_сеть_для_распознавания_символов. В частности, программа png|thumb|800px|Сверточная нейронная сеть для распознавания текстов ABBYY FineReaderсимвола]][[Нейронные сети, приложения для распознавания текстовой информации с мобильных устройствперцептрон|Нейронные сети]] – это структура связанных элементов, система потокового ввода документов и данных ABBYY FlexiCapture. Технологии распознавания текстов ABBYY OCR лицензируют международные ИТ-компаниина которых заданы функции преобразования сигнала, такие как Fujitsu, Panasonic, Xerox, Samsung[3]а также коэффициенты, EMC и другиекоторые могут быть настроены на определенный характер работы.
Часть элементов структуры выделены как входные: на них поступают сигналы извне, таким образом, они описывают значения пикселя изображения. То есть, если имеется изображение 16х16, входов у сети должно быть 256. Другая часть – выходные: они формируют результирующие сигналы.
В 2000-х годах OCR-системы стали доступны в режиме онлайн в том числе и в мобильных приложенияСигнал, напримеркоторый проходит через нейронную сеть, перевод знаков преобразуется согласно формулам на иностранный язык элементах сети, и на смартфоне в режиме реального временивыходе формируется ответ. Сейчас на смартфонах доступны приложенияТак как все нейроны поименованы значениями букв, следовательно, которые позволяют извлекать текст с помощью камеры устройствасреагировавший нейрон и несет ответ распознавания.
Различные коммерческие и открытые OCR-системы доступны для большинства распространенных алфавитовНейронная сеть может служить в системе распознавания текста в качестве классификатора. Этот классификатор сначала обучают, включая латинскийнастраивая коэффициенты на элементах сети. При обучении сеть получает на вход изображения, кириллический, арабский, иврит, индийский, деванагарский, тамильскийанализирует все позиции черных пикселей и выравнивает коэффициенты, китайскиеминимизируя ошибку. Таким образом, японские и корейские иероглифыдостигается лучший результат распознавания.
'''Пример нейронной сети'''
[[Файл:Пример нейронной сети для распознавания символов.jpg|thumb|800px| Пример нейронной сети для распознавания символов]]
На картинке в качестве примера схематически показана нейронная сеть, которая включает в себя 35 входов (каждый символ {{---}} матрица 7x5, соответственно, вектор, описывающий матрицу, состоит из 35 элементов) и 26 выходов (количество букв). Данная НС является двухслойной сетью. [[Практики реализации нейронных сетей#Функции активации|Функцией активации]] поставим логарифмическую сигмоидную функцию, которую удобно использовать, потому что выходные векторы содержат элементы со значениями в диапазоне от 0 до 1, что потом удобно перевести в булеву алгебру. На скрытый уровень выделим 10 нейронов (это число можно регулировать).<br><br><br><br>'''Пример на синтаксисе скриптового языка MATLAB''' S1 =10; ''% количество нейронов на скрытом слое'' [S2,Q] = Применение систем распознавания текстов size(targets); ''% количество нейронов на втором слое (количество выходов сети)'' P =alphabet; ''% входная матрица, содержащая информацию о буквах'' ''% создаем новую сеть с использованием диалогового окна'' net =newff(minmax(P), ''% матрица минимальных и максимальных значений строк входной матрицы'' [S1 S2], ''% количество нейронов на слоях'' {’logsig’ ’logsig’}, ''% функция активации'' ’traingdx’ ''% алгоритм подстройки весов и смещений (обучающий алгоритм)'' );
Системы OCR применяются во многих областях. Вот некоторые из задач, которые решают системы распознавания текстов:
* считывание данных с бланков и анкет
* автоматическое распознавание номерного знака
* распознавание паспортных данных
* извлечение информации из визитных карточек в список контактов
* более быстрое создание текстовых версий печатных документов, например, сканирование книг для проекта "Гутенберг".
* вспомогательная технология для слепых и слабовидящих пользователей
* оцифровывание документов с целью получить возможность удобной работы с текстом - редактирование, поиск слов или строк или анализ.
Типовые проблемы, связанные с системами OCRС задачей распознавания символов связаны следующие проблемы:# Разнообразие форм начертания символовДокумент может содержать несколько шрифтом сразу, что усложняет задачу распознавания текста. Некоторые символы похожи по начертанию (например, “G” и “6”, “S” и “5”, “U” и “V” и тд.) и в нестандартных шрифтах отличить их еще затруднительней# Искажение изображения, содержащего текст* Шумы при печати* Изображение плохого качества (засвет, размытость)# вариации размеров и масштаба символов.Существенным является и влияние исходного масштаба печати, поэтому система оптического распознавания текста должна быть нечувствительной (устойчивой) по отношению к способу верстки, расстоянию между строками и другим параметрам печати.'''Недостатки нейронных сетей'''
Нейронные сети с успехом могут применяться в системах распознавания текста, но существует большое число недостатков, которые препятствуют их широкому применению.
* Затраты {{---}} для построения сети, обеспечивающей распознавание каждого символа текста, необходимо построить достаточно большую сеть элементов, что приводит к большим затратам памяти.
* Затраты ресурсов системы {{---}} помимо памяти, еще сильнее тратятся ресурсы системы в процессе распознавания, так как функции на элементах сети работают с числами с плавающей точкой.
* Необходимость в обучение {{---}} для достижения более точного результата нейронную сеть необходимо обучать на все случаи, однако и это не гарантирует 100% результат.
* Зависимость от конфигураций сети {{---}} так как работа нейронной сети по распознаванию текста во многом зависит от конфигурации сети и функций, заданных в элементах, требуется больше усилий для построения эффективно работающей сети.
== Процесс распознавания текста См. также ==*[[Задача нахождения объектов на изображении]]*[[Сверточные нейронные сети]]
Система распознавания текста предполагает наличие на входе изображения с текстом (в формате данных графического файла). На выходе система должна выдать текст, выделенный из входных данных. Весь процесс распознавания текста состоит из нескольких задач.== Источники информации ==
436
правок

Навигация