Научная статья на тему 'АЛГОРИТМ ДЕТЕКЦИИ БУКВ И СТРОК НА ИЗОБРАЖЕНИЯХ ТЕКСТОВ, НАБРАННЫХ ПЕЧАТНЫМ ШРИФТОМ БРАЙЛЯ'

АЛГОРИТМ ДЕТЕКЦИИ БУКВ И СТРОК НА ИЗОБРАЖЕНИЯХ ТЕКСТОВ, НАБРАННЫХ ПЕЧАТНЫМ ШРИФТОМ БРАЙЛЯ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
169
22
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ШРИФТ БРАЙЛЯ / АЛГОРИТМ ДЕТЕКЦИИ / ОКОННЫЕ СВЕРТКИ / РАСПОЗНАВАНИЕ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Якушева С.Ф.

Предложен простой алгоритм детекции букв и выделения строк на сканах и фотографиях текстов, набранных печатным шрифтом Брайля, при помощи оконных свёрток. Алгоритм изначально разрабатывался для автоматической и полуавтоматической разметки датасетов для обучения распознающих нейронных сетей со сложными архитектурами для существенного ускорения процесса подготовки данных. Он основан на специфичности этого шрифта, в котором каждая буква кодируется комбинацией выпуклых точек, расположенных в узлах прямоугольной решетки. Для распознавания букв используется оконный фильтр, подобранный для обнаружения пар букв в строке, с пороговым отсечением. Затем жадным алгоритмом выделяются центры пар соседних букв. Далее при помощи взвешенных расстояний для каждой точки ищутся две ближайшие и соединяются ребрами во вспомогательном графе. Точки, входящие в одну компоненту связности в этом графе, объединяются в строку и выравниваются для улучшения качества итогового распознавания. Обнаруженные буквы затем могут быть декодированы, например, при помощи классифицирующих нейронных сетей или других анализирующих алгоритмов, и переведены в текст в соответствии с положениями в распознанных строках. Алгоритм не накладывает очень жестких ограничений на входное изображение и допускает уточнение параметров в соответствии с форматом шрифта, однако он неустойчив к перспективным искажениям и сильным деформациям и требует дополнительных корректировок при распознавании участков текста с небольшим числом выпуклых точек. Метод хорошо подходит для сканированных изображений и в дальнейшем при помощи качественной предобработки может быть обобщен для работы с фотографиями

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Якушева С.Ф.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

LETTER AND LINE DETECTION ALGORITHM IN TEXT IMAGES TYPED BY PRINTED BRAILLE FONT

The article gives a simple algorithm for detecting letters and highlighting lines on scans and photographs of texts typed in braille using window convolutions. The algorithm was originally developed for automatic and semi-automatic marking of datasets for training recognizing neural networks with complex architectures to significantly speed up the data preparation process. It is based on the specificity of this font, in which each letter is encoded by a combination of uplifted points located at the nodes of a rectangular lattice. For letter recognition, a window filter is used, matched to detect pairs of letters in a line, with a threshold cutoff. Then the centers of pairs of adjacent letters are allocated by a greedy algorithm. Next, using the weighted distances for each point, the two nearest are searched and connected by edges in an auxiliary graph. Points included in one connected component in this graph are combined into a line and aligned to improve the quality of the final recognition. The detected letters can then be decoded, for example, using classifying neural networks or other analyzing algorithms, and translated into text according to the positions in the recognized strings. The algorithm does not impose strict restrictions on the input image and allows the parameters to be refined in accordance with the font format; however, it is unstable to perspective distortions and strong deformations and requires additional adjustments when recognizing areas of text with a small number of uplifted points. The method is well suited for scanned images and, with the help of high-quality preprocessing, can be generalized to work with photographs

Текст научной работы на тему «АЛГОРИТМ ДЕТЕКЦИИ БУКВ И СТРОК НА ИЗОБРАЖЕНИЯХ ТЕКСТОВ, НАБРАННЫХ ПЕЧАТНЫМ ШРИФТОМ БРАЙЛЯ»

DOI 10.36622/^Ти.2021.17.3.007 УДК 004.932.75

АЛГОРИТМ ДЕТЕКЦИИ БУКВ И СТРОК НА ИЗОБРАЖЕНИЯХ ТЕКСТОВ, НАБРАННЫХ

ПЕЧАТНЫМ ШРИФТОМ БРАЙЛЯ

С.Ф. Якушева

Московский физико-технический институт (национальный исследовательский университет),

г. Москва, Россия

Аннотация: предложен простой алгоритм детекции букв и выделения строк на сканах и фотографиях текстов, набранных печатным шрифтом Брайля, при помощи оконных свёрток. Алгоритм изначально разрабатывался для автоматической и полуавтоматической разметки датасетов для обучения распознающих нейронных сетей со сложными архитектурами для существенного ускорения процесса подготовки данных. Он основан на специфичности этого шрифта, в котором каждая буква кодируется комбинацией выпуклых точек, расположенных в узлах прямоугольной решетки. Для распознавания букв используется оконный фильтр, подобранный для обнаружения пар букв в строке, с пороговым отсечением. Затем жадным алгоритмом выделяются центры пар соседних букв. Далее при помощи взвешенных расстояний для каждой точки ищутся две ближайшие и соединяются ребрами во вспомогательном графе. Точки, входящие в одну компоненту связности в этом графе, объединяются в строку и выравниваются для улучшения качества итогового распознавания. Обнаруженные буквы затем могут быть декодированы, например, при помощи классифицирующих нейронных сетей или других анализирующих алгоритмов, и переведены в текст в соответствии с положениями в распознанных строках. Алгоритм не накладывает очень жестких ограничений на входное изображение и допускает уточнение параметров в соответствии с форматом шрифта, однако он неустойчив к перспективным искажениям и сильным деформациям и требует дополнительных корректировок при распознавании участков текста с небольшим числом выпуклых точек. Метод хорошо подходит для сканированных изображений и в дальнейшем при помощи качественной предобработки может быть обобщен для работы с фотографиями

Ключевые слова: шрифт Брайля, алгоритм детекции, оконные свертки, распознавание

Введение

Шрифт Брайля - рельефно-точечный тактильный шрифт, предназначенный для письма и чтения незрячими и плохо видящими людьми. Первоначально рельефные шрифты были военной разработкой и предназначались для чтения донесений в полной темноте, однако подобный способ коммуникации среди зрячих людей не прижился.

На данный момент перевод на обычный язык текста, набранного шрифтом Брайля, вызывает большие технические сложности. Лишь немногие здоровые люди умеют бегло читать этот шрифт, большинству же приходится переводить его побуквенно, разглядывая выпуклые точки на белом фоне. Разумеется, для этого требуется огромное количество времени и немалое зрительное напряжение.

Разработаны аппаратно-программные устройства для чтения машинописных текстов, однако они чрезвычайно дороги. Создание более дешевых и простых в использовании машин тормозится из-за отсутствия коммерче-

Памяти М.А. Ройтберга

ского интереса. Тем не менее, разработаны программы, переводящие текст с фотографий или отсканированных изображений. Многие из них используют алгоритмические подходы, например, вычисление координат строк и столбцов на изображении с последующим построением сетки и выделением символов шрифта [4]. Разработаны и несколько отечественных систем распознавания, в том числе рукописных текстов на Брайле [1]. Большинству из них требуются жёсткие ограничения на входной формат, например, строгое соответствие размеров, идеальное выравнивание строк или столбцов.

К задаче распознавания подобных изображений можно применять методы машинного обучения. Задача классификации букв, написанных шрифтом Брайля, успешно решена при помощи простых моделей нейронных сетей [7]. Однако большую проблему представляет задача детекции букв на изображении: в общем случае оно может быть деформировано и зашумлено. К тому же, в процессе письма могут нарушаться выравнивание букв, межбуквенные и междустрочные расстояния. Для применения метода "обучение с учителем"

© Якушева С.Ф., 2021

потребуется огромный разнообразный размеченный датасет, размеры которого для получения хорошего итогового качества должны достигать десятков и сотен тысяч, а то и миллионов обучающих примеров. Модели сетей, применяемые для решения задачи детекции, как правило, очень сложны и громоздки, а для их обучения требуются большие вычислительные мощности [5]. Поэтому оптимальным решением было бы применение вычислительно дешёвых алгоритмических методов. Стоит заметить, что такие методы могут быть применены для подготовки размеченных датасетов для обучения нейросетей, поскольку сети могут быть более универсальными и помехоустойчивыми детекторами.

Теоретический анализ

Оконный фильтр представляет собой матрицу размера n на m. Фильтр вычисляется по

окну на изображении следующим образом:

n т

ffay) = Y, EKz+ü+jMm) ¡=ij=i

где p(x,y) - значение пикселя с координатами (x,y), a(i,j) - коэффициент фильтра. Таким образом, вычисляется новая матрица меньшего размера.

Подобного рода фильтры (обучаемые свёртки) используются в свёрточных нейронных сетях для выделения на изображениях значимых признаков.

D{A, B){r, s) = max (Л(г - j, s - к) + ВЦ, к)) j,k£B

Е(А, B){r, s) = max (Л(г + j, s + к) - ВЦ, к)) j,keB

Здесь А — изображение, B — структурный элемент (например, круг или квадрат). Комбинация этих операций применяется для устранения шумов с бинаризованных изображений [2,3]. Метод RANSAC [6] применяется при оценке параметров модели на зашумленной выборке. Анализируются произвольные подмножества точек выборки, на них строятся модели, а затем проверяется соответствие им всей выборки. Достоинством алгоритма является надёжность даже при работе с большим

числом выбросов в данных. В данной работе метод применялся для спрямления строк, поскольку центры распознанных букв довольно часто «съезжали».

Методика

В данном исследовании предложен простой алгоритм детекции букв и выделения строк на сканах и фотографиях текстов, набранных печатным шрифтом Брайля (рис. 1), который затем может быть дополнен классификацией букв, например, при помощи нейронных сетей [7]. Декодированные таким образом буквы затем могут быть переведены в читаемый текст.

1) Предобработка.

Входное изображение переводилось в чёрно-белое. Для выделения точек применялся медианный фильтр. Затем производилась адаптивная бинаризация. После бинаризации "белым" пикселям присваивалось значение 1, "чёрным" - -1.

Для удаления шума использовались морфологические операции dilation (для удаления мелких точек, возникших из-за шума) и erosion (увеличение оставшихся точек) [2], [3].

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

2) Распознавание букв.

Данный этап является наиболее сложным. Поскольку изображения редко бывают идеально ровными, применение стандартных методов, например, преобразования Хафа для выделения прямых линий [3] не дает удовлетворительных результатов. И если повороты и проективные искажения можно устранить алгоритмическими методами, выравнивание букв относительно друг друга - задача крайне трудоемкая.

Для выделения букв применялся оконный фильтр. Для стандартизации вычисленные значения фильтра на картинке центрированием и нормированием переводились в диапазон [0,1].

begin

image

image = ïdapti ve_b i narizatio n [i mage)

1

image = егоз ion [image)

1 r

image =dilation[image)

fiiteredjmage = fi lté ring [image)

y \ while max[filtered_lmage>0.7

1

xf y координаты текущего максимума

i

запомнить [х,у]

fi lté red_i mage [x - m/2 :х+плУ2, y-n/2 : y+n/2]: = 0

Для каждой точки [х,у) вычислить две ближайшие

Построить граф С с рёбрами между вычисленными парами точек

Найти в графе G компоненты сильной связности

i

Применить к каждой компоненте НА1МЗАС

Рис. 1. Алгоритм детекции

Рис. 2. Простой и сдвоенный фильтры. Значения в белых пикселях равны 1, в чёрных -2

Для распознавания отдельных букв применялся фильтр (рис. 2), пропорции которого выбирались в соответствии с требованиями ГОСТ. Значения в чёрных пикселях равнялись -2, в белых 1. Поскольку на этапе предобработки в морфологических операциях использовались квадраты, точки после предобработки были похожи на прямоугольники, поэтому в фильтре также использовались прямоугольные области. Параметры фильтра (размеры точек и

расстояния между ними) могут быть скорректированы в соответствии с форматом используемого шрифта. При точном подборе размеров фильтр очень хорошо распознавал буквы с большим числом точек, однако буквы с небольшим числом точек часто распознавались неправильно и "съезжали" со строк.

При внимательном рассмотрении текстов можно заменить, что очень часто буквы с малым числом точек соседствуют с буквами из

большого числа точек. Поэтому использовался "сдвоенный" фильтр (2), пропорции которого также выбирались в соответствии с ГОСТ.

Алгоритм выделения точек (центров пар соседних букв) выглядел следующим образом:

1) выбираем пиксель с наибольшим значением фильтра;

2) запоминаем его координаты;

3) зануляем область размера 2т х пс центром в этом пикселе, где т, п - размеры используемого фильтра;

4) повторяем предыдущие шаги, пока значение максимума не станет меньше 0.7.

Предложенный алгоритм является "жадным". Однако вероятность того, что точка с наибольшим на всей картинке значением фильтра не окажется центром пары букв весьма мала, поэтому возникновение ошибок на начальных итерациях маловероятно.

Порог 0.7 был выбран эмпирически. При его снижении возрастает вероятность ложно-положительных срабатываний алгоритма (выделение пустых областей).

После этого этапа каждую детектированную букву можно напрямую перевести в букву обычного шрифта и нанести на изображение. В этом случае даже при отсутствии полного перевода у пользователя будет возможность хотя бы частично прочитать запись.

3) Выделение строк и слов.

После выделения отдельных букв или пар букв координаты их центров отмечались. Затем каждый центр соединялся с двумя ближайшими к нему. Использовалось взвешенное расстояние й = — х2)2 + 10(у1 — у2)2, где (х1,х2) - координаты первой точки, (У1,Уг) - координаты второй точки, коэффициент 10 был подобран эмпирически, для избегания соединения точек из разных строк. В получившемся графе соединенных между собой точек находились компоненты связности, каждая компонента соответствовала слову или полной строке.

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

4) Выравнивание строк.

Поскольку некоторые выделенные точки могут "съехать" со строки (например, если в обеих буквах отсутствовали нижние точки), для выравнивания использовался алгоритм RANSAC поиска наилучшей прямой [6]. Он применялся к каждой выделенной компоненте. При завершении без ошибок выполнения некоторые смещенные точки выравнивались.

Результаты и их обсуждение

На изображениях ниже представлен поэтапно весь процесс работы алгоритма. Для примера использовался скан текста (рис. 3).

На рисунке: вверху слева изображение до обработки, справа — изображение после бинаризации и применения морфологических фильтров. Внизу: слева — задетектированные пары букв после применения фильтра, справа — задетектированные пары после выравнивания строк.

Также алгоритм был опробован на фотографиях с заметными искажениями (рис. 4).

Если не принимать во внимание сложности в предобработке распознаваемых изображений, основным недостатком предложенного алгоритма являются ошибки при детектировании пар букв с небольшим числом точек. Частично этот недостаток был устранен при помощи дополнительного выравнивания, однако из-за особенностей используемой реализации алгоритма RANSAC в стандартной библиотеке языка Python 3 этот метод часто не срабатывал на коротких строках. В дальнейшем возможна адаптация алгоритма для работы с небольшим числом точек.

Также недостатками данного метода является необходимость подбора размера фильтров и неустойчивость к существенным перспективным искажениям. При таких искажениях буквы на изображении имеют разные размеры, и, соответственно, должны распознаваться несколькими фильтрами разных размеров. Однако алгоритм хорошо подходит для обработки сканированных изображений, поскольку на них подобные эффекты сведены к минимуму, а размер шрифта фиксирован по отношению к размерам сканирующего устройства, и поэтому размеры и пропорции используемого фильтра можно подобрать заранее.

Рис. 3. Алгоритм преобразования изображения пошагово

Рис. 4. Результаты работы алгоритма на фотографиях с искажениями

Заключение

1. В работе предложен метод детекции букв и строк в текстах, набранных печатным шрифтом Брайля.

2. Показано, что данный метод может быть применен для автоматической и полуавтоматической разметки датасетов для обучения сложных распознающих нейронных сетей, более устойчивых ко всякого рода искажениям, шумам и деформациям. Основной проблемой при составлении таких обучающих дата-сетов является необходимость ручной разметки, что требует внушительных трудозатрат. Алгоритм позволяет сократить время разметки и уменьшить ее итоговую стоимость.

3. Изложенный метод подходит для обработки сканированных изображений, поскольку на них фиксирован размер шрифта.

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

Поступила 29.03.2021; г

Литература

1. Соловьева Е.А., Луняков Б.И. Программный модуль распознавания рукописного шрифта Брайля // Безопасные информационные технологии: сб. науч. тр. VIII всерос. науч.-техн. конф. М.: Из-во Московский государственный технический университет имени Н.Э. Баумана (национальный исследовательский университет), 2017. С. 438-443.

2. Форсайт Д., Понс Ж. Компьютерное зрение. Современный подход. М.: Вильямс, 2004. 928 с.

3. Шапиро Л., Стокман Д. Компьютерное зрение. М.: БИНОМ. Лаборатория знаний, 2006. 752 с.

4. Isayed S., Tahboub R. A review of optical Braille recognition // 2nd World Symposium on Web Applications and Networking (WSWAN). Sousse. 2015. pp. 1-6. URL: https://www.researchgate.net/publication/277331678_A_Rev iew_of_Optical_Braille_Recognition

5. Application of Deep Learning to Classification of Braille Dot for Restoration of Old Braille Books /Н. Kawabe, Y. Shimomura, H. Nambo, S. Seto // Proceedings of the Twelfth International Conference on Management Science and Engineering Management. 2019. Springer International Publishing. Р. 913-926. URL: https://www.researchgate.net/publication/325997935

6. Martin A. Fischler, Robert C. Bolles. Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography // Comm. Of the ACM. 1981. Vol. 24. P. 381—395. doi:10.1145/358669.358692.

7. Mohammed Waleed. Braille Identification System Using Artificial Neural Networks //Tikrit Journal of Pure Science. 2017. № 22 (2). URL: http://tjps.tu.edu.iq/index.php/j/article/view/520

к публикации 18.06.2021

Информация об авторах

Якушева Софья Федоровна - магистрант кафедры алгоритмов и технологий программирования Физтех-школы прикладной математики и информатики, Московский физико-технический институт (национальный исследовательский университет) (141701, Россия, Московская область, г. Долгопрудный, Институтский переулок, д. 9), e-mail: yakusheva.sf@phystech.edu, тел. +7(968)0382148

LETTER AND LINE DETECTION ALGORITHM IN TEXT IMAGES TYPED BY PRINTED

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

BRAILLE FONT

S.F. Yakusheva

Moscow Institute of Physics and Technology, Moscow, Russia

Abstract: the article gives a simple algorithm for detecting letters and highlighting lines on scans and photographs of texts typed in braille using window convolutions. The algorithm was originally developed for automatic and semi-automatic marking of datasets for training recognizing neural networks with complex architectures to significantly speed up the data preparation process. It is based on the specificity of this font, in which each letter is encoded by a combination of uplifted points located at the nodes of a rectangular lattice. For letter recognition, a window filter is used, matched to detect pairs of letters in a line, with a threshold cutoff. Then the centers of pairs of adjacent letters are allocated by a greedy algorithm. Next, using the weighted distances for each point, the two nearest are searched and connected by edges in an auxiliary graph. Points included in one connected component in this graph are combined into a line and aligned to improve the quality of the final recognition. The detected letters can then be decoded, for example, using classifying neural networks or other analyzing algorithms, and translated into text according to the positions in the recognized strings. The algorithm does not impose strict restrictions on

the input image and allows the parameters to be refined in accordance with the font format; however, it is unstable to perspective distortions and strong deformations and requires additional adjustments when recognizing areas of text with a small number of uplifted points. The method is well suited for scanned images and, with the help of high-quality preprocessing, can be generalized to work with photographs

Key words: Braille, detection algorithm, convolutions, recognition

References

1. Solov'eva E.A., Lunyakov B.I. "Braille handwriting recognition software module", Proc. of The Eighth All-Russian Scientific and Technical Conf. of NUK "Informatics and control systems": Secure Information Technology (Bezopasnye informatsionnye tekhnologii: sb. nauch. tr. Vos'moy vseros. nauch.-tekhn. konf. NUK «Informatika i sistemy upravleniya»), Bauman Moscow State Technical University (National Research University), 2017, pp. 438-443.

2. Foresyth D., Ponce J. "Computer vision: modern approach" ("Komp'yuternoe zrenie. Sovremennyy podkhod"), Moscow, Williams, 2004, 928 p.

3. Shapiro L., Stockman D. "Computer vision" ("Komp'yuternoe zrenie"), Moscow, BINOM, Laboratoriya znaniy, 2006, 752

p.

4. Isayed S., Tahboub R. "A review of optical Braille recognition", 2nd World Symposium on Web Applications and Networking (WSWAN), Sousse, 2015, pp. 1-6? available at: https://www.researchgate.net/publication/277331678_A_Review_of_Optical_Braille_Recognition

5. Kawabe H., Shimomura Y., Nambo H., Seto S. "Application of deep learning to classification of Braille dot for restoration of old Braille books", Proc. of the Twelfth International Conference on Management Science and Engineering Management, 2019. Springer International Publishing, pp. 913-926, available at: https://www.researchgate.net/publication/325997935

6. Fischler M.A., Bolles R.C. "Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography", Comm. Of the ACM: journal, 1981, vol. 24, pp. 381-395, doi:10.1145/358669.358692.

7. Waleed M. "Braille identification system using artificial neural networks", Tikrit Journal of Pure Science, 2017, vol. 22 (2), available at: http://tjps.tu.edu.iq/index.php/j/article/view/520

Submitted 29.03.2021; revised 18.06.2021

Information about the author

Sophia F. Yakusheva, MA, Moscow Institute of Physics and Technology (National Research University), (9 Institutsky Pereulok, Dolgoprudny 141701, Moscow Region, Russia), e-mail: yakusheva.sf@phystech.edu

i Надоели баннеры? Вы всегда можете отключить рекламу.