ela.kpi.ua · web viewvats i. offline handwritten english numerals recognition using correlation...

92
НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ УКРАЇНИ «КИЇВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ» ім. ІГОРЯ СІКОРСЬКОГО Факультет інформатики та обчислювальної техніки (повне найменування інституту, факультету) Кафедра обчислювальної техніки (повна назва кафедри) Дипломний проект освітньо-кваліфікаційного рівня “бакалавр” (назва ОКР) з напряму підготовки (спеціальності) 6.050102 «Комп’ютерна інженерія» (код та назва напряму підготовки або спеціальності) на тему: «Система розпізнавання рукописного тексту» Виконав: студент 4 курсу, групи ІО-51 Шурук Андрій Сергійович (прізвище, ім’я, по батькові) (підпис) Керівник асистент каф. ОТ, Стешин В.В. (посада, вчене звання, науковий ступінь, прізвище та ініціали) (підпис) Консультант нормоконтро ль проф. каф. ОТ, д.т.н. Сімоненко В.П. (посада, вчене звання, науковий ступінь, прізвище та ініціали) (підпис) Рецензент (посада, вчене звання, науковий ступінь, прізвище та ініціали) (підпис) Засвідчую, що у цьому дипломному проекті немає До захисту допущено Завідувач кафедри __________ С.Г. Стіренко (підпис) (ініціали,

Upload: others

Post on 17-Mar-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ УКРАЇНИ«КИЇВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ»

ім. ІГОРЯ СІКОРСЬКОГО

Факультет інформатики та обчислювальної техніки(повне найменування інституту, факультету)

Кафедра обчислювальної техніки(повна назва кафедри)

Дипломний проект освітньо-кваліфікаційного рівня “бакалавр”

(назва ОКР)

з напряму підготовки (спеціальності) 6.050102 «Комп’ютерна інженерія»

(код та назва напряму підготовки або спеціальності)

на тему: «Система розпізнавання рукописного тексту»

Виконав: студент 4 курсу, групи ІО-51

Шурук Андрій Сергійович(прізвище, ім’я, по батькові) (підпис)

Керівник асистент каф. ОТ, Стешин В.В.(посада, вчене звання, науковий ступінь, прізвище та ініціали) (підпис)

Консультант нормоконтроль проф. каф. ОТ, д.т.н. Сімоненко В.П.

(посада, вчене звання, науковий ступінь, прізвище та ініціали) (підпис)

Рецензент (посада, вчене звання, науковий ступінь, прізвище та ініціали) (підпис)

Засвідчую, що у цьому дипломному проекті немає запозичень з праць інших авторів без відповідних посилань.Студент _____________

(підпис)

Київ – 2019 року

До захисту допущеноЗавідувач кафедри

__________ С.Г. Стіренко (підпис) (ініціали, прізвище)

“___”_____________2019 р.

Page 2: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

Національний технічний університет України

«Київський політехнічний інститут»

ім. Ігоря Сікорського

Факультет інформатики та обчислювальної техніки

Кафедра обчислювальної техніки

Освітньо-кваліфікаційний рівень бакалавр

Напрям підготовки 6.050102 « Комп’ютерна

інженерія»

ЗАВДАННЯна бакалаврський дипломний проект студента

Шурука Андрія Сергійовича(прізвище, ім'я, по батькові)

1. Тема проекту (роботи) Система розпізнавання рукописного тексту керівник проекту (роботи) асистент каф. ОТ, Стешин В.В.                                                        (прізвище, ім'я, по батькові, науковий ступінь, вчене звання)затверджені наказом по університету від "___" ___________ 2019 року № 2. Tepмін здачі студентом закінченого проекту (роботи) 3. Вихідні дані до проекту (роботи) див. технічне завдання 4. Зміст розрахунково-пояснювальної записки (перелік питань, які розробляються)Дослідження предметної області, аналіз літератури, огляд існуючих рішень, опис предметної області, визначення вимог і завдань, опис функціоналу системи, опис нейронної мережі, обґрунтування оптимальності використання обраних інструментів для розробки .

5. Перелік графічного матеріалу (з точним позначенням обов’язкових креслень): схема функціональна діаграма варіантів використання, схема принципова блок-схема алгоритму попередньої обробки фото, схема структурна діаграма взаємодії класів.

ЗАТВЕРДЖУЮ

Завідувач кафедри

Стіренко С.Г. (підпис) (ініціали, прізвище)

"___" ____________ 2019 р.

Page 3: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

6. Консультанти проекту (роботи), з вказівкою розділів роботи, які до них вносяться

Розділ Консультант Підпис, датаЗавдання видав Завдання прийняв

Нормоконтроль Сімоненко В.П.

7. Дата видачі завдання

КАЛЕНДАРНИЙ ПЛАН

№ п/п

Назва етапів дипломного проекту (роботи)

Строк виконання етапів проекту

(роботи)

Відмітки про

виконання1 Затвердження теми роботи 10.12.2019-15.12.20192 Вивчення та аналіз завдання 15.12.2019-15.03.20193 Розробка архітектури та загальної

структури cucmeм15.03.2019-25.03.2019

4 Розробка структур окремихпідсистем

25.03.2019-5.04.2019

5 Програмна реалізація системи 5.04.2019-15.04.2019

6 Оформлення пояснювальної записки 15.04.2019-20.05.20197 Захист програмного продукту 25.04. 20198 Передзахист 24.05. 2019

9 Захист 14.06. 2019

Студент-дипломник ______________________________(підпис)

Керівник роботи ______________________________(підпис)

Page 4: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

ВІДОМІСТЬ ДИПЛОМНОГО ПРОЕКТУ

№ з/п

Фор

мат

Позначення Найменування

Кіл

ькіс

ть

лист

ів

При

мітк

а

1 А4 ІАЛЦ.467800.001 ВП Відомість дипломного проекту 1

2 А4 ІАЛЦ.467800.002 ТЗ Технічне завдання 4

3 А4 ІАЛЦ.467800.003 ПЗ Пояснювальна записка 58

4 А3 ІАЛЦ.467800.004 Д1 Схема функціональна Діаграма варіантів використання

1

5 А4 ІАЛЦ.467800.005 Д2 Схема принциповаБлок-схема алгоритму

попередньої обробки фото

1

6 А4 ІАЛЦ.467800.006 Д3 Схема структурнаДіаграма взаємодії класів

1

7 A4 ІАЛЦ.467800.007 А1 Лістинг програми 23

Стіренко С.Г.

НТУУ «КПІ імені Ігоря Сікорського», ФІОТ, ІО-

51

1АркушівЛіт.Система розпізнавання

рукописного тексту. Відомість дипломного

проекту Затв.Сімоненко В.П. Н. Контр. Реценз. Стешин В.В. ПеревіривШурук А.С.. Розробив

ІАЛЦ.467800.001 ВП

4Аркуш

ДатаПідпис№ докум.Арк.Зм.

Page 5: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

Технічне завданнядо дипломного проекту

на тему: «Система розпізнавання рукописного тексту»

Київ – 2019

Page 6: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

ЗМІСТ

1. НАЙМЕНУВАННЯ ТА ОБЛАСТЬ ЗАСТОСУВАННЯ 2

2. ПІДСТАВИ ДЛЯ РОЗРОБКИ 2

3. МЕТА ТА ПРИЗНАЧЕННЯ РОЗРОБКИ 2

4. ДЖЕРЕЛА РОЗРОБКИ 2

5. ТЕХНІЧНІ ВИМОГИ 2

5.1.Вимоги до програмного продукту, що розробляється 2

6. ЕТАПИ РОЗРОБКИ 3

НТУУ «КПІ імені Ігоря Сікорського», ФІОТ, ІО-

51

3АркушівЛіт.Система

розпізнавання рукописного текстуТехнічне завданняСтіренко С.Г. Затв.

Сімоненко В.П. Н. Контр. Реценз.Стешин В.В. ПеревіривШурук А.С. Розробив

ІАЛЦ.467800.002 ТЗ

1Аркуш

ДатаПідпис№ докум.Арк.Зм.

Page 7: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

1. НАЙМЕНУВАННЯ ТА ОБЛАСТЬ ЗАСТОСУВАННЯНайменування: «система розпізнавання рукописного тексту».

Область застосування: у повсякденному житті для розпізнавання

рукописного тексту із зображень.

2. ПІДСТАВИ ДЛЯ РОЗРОБКИПідставою для розробки є завдання на виконання бакалаврського

дипломного проекту, затвердженого кафедрою обчислювальної техніки

Національного технічного університету України «Київський політехнічний

інститут імені Ігоря Сікорського».

3. МЕТА ТА ПРИЗНАЧЕННЯ РОЗРОБКИМетою розробки є створення системи розпізнавання рукописного тексту.

4. ДЖЕРЕЛА РОЗРОБКИУ якості джерел розробки використовувати науково-технічну літературу,

публікації в спеціалізованих періодичних виданнях та мережі Інтернет.

5. ТЕХНІЧНІ ВИМОГИВимоги до програмного продукту, що розробляєтьсяПрограмний продукт повинен надавати:

Можливість завантажувати зображення для розпізнавання;

Можливість отримування результату розпізнавання рукописного

тексту;

Розпізнавання рукописного тексту який розміщений на зображені;

Проведення аналізу зображення, що надає інформацію про

розпізнавання тексту.

Вимоги до пристрою

ІАЛЦ.467800.002 ТЗ 2

Арк.

№ докум.Арк.Зм.

Page 8: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

Загальні вимоги до пристрою:

Наявність інтернет з’єднання;

Встановлений додаток Telegram.

6. ЕТАПИ РОЗРОБКИ

Дата

Затвердження теми роботи 10.12.2018-15.12.2018

Вивчення та аналіз завдання 15.12.2018-15.03.2018

Розробка архітектури та загальної структури

систем

15.03.2019-25.03.2019

Розробка структур окремих підсистем 25.03.2019-05.04.2019

Програмна реалізація системи 05.04.2019-15.04.2019

Оформлення пояснювальної записки 15.04.2019-20.05.2019

Захист програмного продукту 25.04.2019

Передзахист 24.05.2019

Захист 14.06. 2019

ІАЛЦ.467800.002 ТЗ 3

Арк.

№ докум.Арк.Зм.

Page 9: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

Пояснювальна запискадо дипломного проекту

на тему: «Система розпізнавання рукописного тексту»

Київ – 2019

Page 10: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

ЗМІСТПЕРЕЛІК ТЕРМІНІВ ТА СКОРОЧЕНЬ................................................................5

ВСТУП......................................................................................................................6

РОЗДІЛ 1. ОГЛЯД ІСНУЮЧИХ РІШЕНЬ..........................................................8

1.1. Загальні відомості про задачу розпізнавання тексту................................8

1.2. Аналіз літератури.......................................................................................10

1.2.1. Розпізнавання цифр офлайн англійською мовою за допомогою

кореляційного методу...................................................................................10

1.2.2. Розпізнавання рукописних символів хінді з використанням

нейронної мережі зворотного поширення..................................................10

1.2.3. Розпізнавання символів Деванаґарі з використанням нейронних

мереж..............................................................................................................11

1.2.4. Інтелектуальна система для нелінійного розпізнавання символів. 12

1.2.5. Система рукописного розпізнавання символів з нечіткою

основою..........................................................................................................12

1.2.6. Розпізнавання рукописних символів Деванаґарі за допомогою

нейронної мережі...........................................................................................12

1.2.7. Розпізнавання рукописних символів Деванаґарі через сегментацію

та штучні нейронні мережі...........................................................................13

1.2.8. Система розпізнавання рукописних символів гурумухі..................13

1.2.9. Попередня обробка зображень для оптичного розпізнавання

символів з використанням нейронних мереж.............................................14

1.2.10. Розпізнавання рукописних англійських букв.................................14

НТУУ «КПІ ім. Ігоря Сікорського», ФІОТ,

ІО-51

58АркушівЛіт.

Пояснювальна записка

Затв.Сімоненко В.П. Н. Контр. Реценз.Стешин В.В ПеревіривШурук А.С. Розробив

ІАЛЦ.467800.003 ПЗ

2Аркуш

ДатаПідпис№ докум.Арк.Зм.

Page 11: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

1.2.11. Розпізнавання рукописних цифр використовуючи технологію

послідовної згорткової нейронної мережі..................................................14

1.3. Огляд існуючих рішень..............................................................................15

1.3.1. Google Handwriting Input.....................................................................15

1.3.2. MyScript Nebo......................................................................................17

1.3.3. GoodNotes.............................................................................................18

ВИСНОВКИ ДО РОЗДІЛУ 1...............................................................................20

РОЗДІЛ 2. ПРОЕКТУВАННЯ СИСТЕМИ........................................................21

2.1. Опис предметної області...........................................................................21

2.2. Визначення вимог та завдань....................................................................22

2.3. Опис функціоналу системи.......................................................................23

2.4. Опис нейронної мережі..............................................................................23

2.4.1. Метод попередньої обробки...............................................................26

2.3.2. Сегментація..........................................................................................28

2.4. Прецеденти..................................................................................................29

2.5. Діаграми послідовностей...........................................................................31

2.7 Проектування графічного інтерфейсу.......................................................37

ВИСНОВКИ ДО РОЗДІЛУ 2...............................................................................41

РОЗДІЛ 3. ОПИС РОЗРОБЛЕНОЇ СИСТЕМИ.................................................42

3.1. Вибір технологій та їх обґрунтування......................................................42

3.1.1. Вибір платформи для системи...........................................................42

3.1.2. Вибір мови програмування.................................................................44

3.1.3. Вибір допоміжних бібліотек..............................................................46

3.2. Основні рішення з реалізації додатку та його компонентів...................48

ІАЛЦ.467800.003 ПЗ 3

Арк.

ДатПідпи№ докум.АркЗм.

Page 12: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

3.3. Модель нейронної мережі.........................................................................48

ВИСНОВКИ ДО РОЗДІЛУ 3...............................................................................54

Висновки................................................................................................................55

Список використаної літератури.........................................................................57

ІАЛЦ.467800.003 ПЗ 4

Арк.

ДатПідпи№ докум.АркЗм.

Page 13: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

ПЕРЕЛІК ТЕРМІНІВ ТА СКОРОЧЕНЬ

ШНМ Штучна нейронна мережаОРС Оптичне розпізнавання символівMNIST (англ. Mixed National Institute of Standards and

Technology) об'ємна база даних зразків рукописного

написання цифр запропонована Національним

інститутом стандартів і технологій США API (англ. application programming interface, API) набір

визначень підпрограм, протоколів взаємодії та засобів

для створення програмного забезпечення.Бот (англ. bot, від robot — «робот») програма, що виконує

які-небудь запрограмовані дії, і має в цьому якусь

подібність із людиною.CNN (англ. convolutional neural network, CNN) в машинному

навчанні — це клас глибинних штучних нейронних

мереж прямого поширення, який успішно

застосовувався до аналізу візуальних зображень.RNN (англ. recurrent neural networks, RNN) це клас штучних

нейронних мереж, у якому з'єднання між вузлами

утворюють граф орієнтований у часі.CTC (англ. Connectionist temporal classification, СТС)

нейромережевою часовою класифікацієюRELU (англ. Rectified Linear Units.) шар зрізаних лінійних

вузлів

ІАЛЦ.467800.003 ПЗ 5

Арк.

ДатПідпи№ докум.АркЗм.

Page 14: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

ВСТУПРозпізнавання рукописного тексту – це мистецтво виявлення,

сегментації та ідентифікації символів по зображенні. Кінцева ціль

розпізнавання рукописних символів полягає в тому, щоб імітувати

можливість читання людини так, щоб комп’ютер міг читати, розуміти,

редагувати та працювати з текстом так як це робить людина. Розпізнавання

рукописного тексту було одним з найбільш цікавих та важких напрямків в

області обробки зображень та розпізнавання образів останнім часом. Це

вносить значний вклад в розвиток процесу автоматизації та покращує

взаємодію між людиною та комп’ютером в численних додатках.

Розпізнавання тексту в основному поділяють на два типи: онлайн та

офлайн. При розпізнаванні символів онлайн дані фіксуються під час процесу

запису за допомогою спеціальної ручки на електронній поверхні. Офлайн

розпізнавання символів відноситься до процесу розпізнавання символів у

документі, які були скановані з поверхні, наприклад аркуша паперу, і

зберігаються в цифровому чорно-білому форматі.

Розпізнавання тексту в режимі онлайн в основному використовується

для розпізнавання тільки рукописних символів. При цьому почерк фіксується

і зберігається в цифровому форматі різними способами. Зазвичай

використовується спеціальна ручка разом з електронною поверхнею. Коли

ручка рухається по поверхні, двовимірні координати послідовних точок

представляються як функція часу і зберігається по-порядку. Останнім часом

через велику популярність кишенькових пристроїв розпізнавання

рукописного тексту онлайн привернуло увагу спеціалістів всього світу. Цей

тип розпізнавання тексту спрямований на те, щоб забезпечити природний

інтерфейс користувачам для введення тексту на екранні за допомогою

рукописного вводу, замісті клавіатури. Розпізнавання тексту онлайн має

великий потенціал для покращення взаємодії між людиною та комп’ютером.

ІАЛЦ.467800.003 ПЗ 6

Арк.

ДатПідпи№ докум.АркЗм.

Page 15: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

Багато програм які використовуються для сортування пошти, обробка

даних в банках, читання документів та розпізнавання поштових адресів

вимагають використання засобів для розпізнавання рукописного тексту

офлайн. Як наслідок даний тип розпізнавання тексту залишається активним

напрямком для дослідження нових методів, які б поліпшили точність

розпізнавання.

ІАЛЦ.467800.003 ПЗ 7

Арк.

ДатПідпи№ докум.АркЗм.

Page 16: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

РОЗДІЛ 1.

ОГЛЯД ІСНУЮЧИХ РІШЕНЬ

1.1. Загальні відомості про задачу розпізнавання текстуОсновною метою цього дослідження є пошук нового рішення для

розпізнавання рукописного тексту різних шрифтів і стилів шляхом

вдосконалення конструкції традиційної штучної нейронної мережі (ШНМ).

ШНМ успішно застосовуються для розпізнавання образів, асоціації та

класифікації, прогнозних досліджень та керування додатками. Результати

розпізнавання тексту або рукописних матеріалів потім подаються в оптичне

розпізнавання символів (ОРС), як електронний переклад зображень

рукописного, машинописного або друкованого тексту в текстовий редактор.

ОРС – це область досліджень, яка повністю розроблена і була цілком

корисною для розпізнавання образів, штучного інтелекту та машинного зору.

Отож, розпізнавання машинописного тексту, яке позбавлене будь-якого

спотворення, зараз вважається значною мірою вирішеною. Проте пряме

використання оптичного розпізнавання тексту на рукописних символах

залишається дуже складною проблемою, що призводить до надзвичайно

низької точності читання.

Розпізнавання рукописного тексту онлайн включає в себе автоматичне

перетворення тексту в тому вигляді, в якому він був написаний на

спеціальному цифровому перетворювачі, де датчик фіксує рух кінчика ручки.

Отриманий сигнал перетворюється в буквені коди, які можна

використовувати в програмах для обробки тексту.

Розпізнавання рукописного тексту офлайн на даний момент є досить

складною проблемою, оскільки різні люди мають різні стилі рукописного

вводу. Сканування, сегментація та класифікація – це загальні процеси, які

використовуються для розпізнавання рукописних документів. В попередніх

дослідженнях штучні нейронні мережі виявились чудовими розпізнавачами

ІАЛЦ.467800.003 ПЗ 8

Арк.

ДатПідпи№ докум.АркЗм.

Page 17: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

друкованих символів та рукописних цифр, але дослідження розпізнавання

рукописних слів не завжди було ефективним.

Штучна нейронна мережа (ШНМ) являє собою парадигму обробки

інформації, ідею якої було запозичено з біологічної нервової системи, такої

як мозок і того як він обробляє інформацію. Ключовим елементом цієї

парадигми є нова структура системи обробки інформації. Вона складається з

великої кількості сильно взаємопов'язаних обробляючих елементів

(нейронів), що працюють разом для вирішення конкретних завдань. ШНМ як

і люди, навчаючись на прикладі. ШНМ налаштована для конкретного

застосування, такого як розпізнавання образів або класифікація даних, через

процес навчання. Навчання в біологічній системі передбачає коригування

синоптичних зв'язків, що існують між нейроном. Приклад нейронної мережі

наведений на рисунку 1.1.

Рисунок 1.1 – Приклад нейронної мережі

Нейронні мережі з їхньою чудовою здатністю одержувати корисну

інформацію зі складних або неточних даних можуть бути використані для

отримання патернів і виявлення тенденції, які є занадто складними, щоб їх

можна було помітити або людськими можливостями, або іншою

комп'ютерною технікою. Підготовлену нейронну мережу можна розглядати

як «експерта» у категорії інформації, яку було надано для аналізу. Цей

експерт потім може бути використаний для отримання прогнозів з

ІАЛЦ.467800.003 ПЗ 9

Арк.

ДатПідпи№ докум.АркЗм.

Page 18: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

урахуванням нових цікавих ситуацій та відповідей на запитання «що, якщо».

Інші переваги включають:

Адаптивне навчання: здатність навчитися виконувати завдання

на основі даних, наданих для навчання або початкового досвіду.

Самоорганізацію: ШНМ може створити свою власну організацію

або представлення інформації, яку вона отримує під час

навчання.

Операції в реальному часі: Обчислення ШНМ можуть

здійснюватися паралельно, для цього проектуються і

розробляються спеціальні апаратні пристрої, які використовують

цю можливість.

Відмовостійкість через зайве кодування інформації: часткове

руйнування мережі призводить до відповідної деградації

продуктивності. Однак деякі мережеві можливості можуть

зберігатися навіть при значних пошкодженнях мережі.

1.2. Аналіз літератури

1.2.1. Розпізнавання цифр офлайн англійською мовою за

допомогою кореляційного методу

У даній роботі автор запропонував систему ефективного розпізнавання

автономних рукописних цифр з більш високою точністю, ніж попередні

роботи. Також попередні системи розпізнавання рукописних номерів

базуються тільки на розпізнаванні однозначних цифр, і вони не здатні

одночасно розпізнавати кілька чисел. Тому автор зосередився на

ефективному виконанні сегментації для ізоляції цифр. [1]

1.2.2. Розпізнавання рукописних символів хінді з використанням

нейронної мережі зворотного поширення

Автоматичне розпізнавання рукописних символів є складним

завданням, оскільки символи написані різними вигнутими і курсивними

ІАЛЦ.467800.003 ПЗ 10

Арк.

ДатПідпи№ докум.АркЗм.

Page 19: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

способами, тому вони можуть мати різні розміри, орієнтацію, товщину,

формат і розмірність. У даній статті представлено автономну рукописну

систему розпізнавання символів хінді з використанням нейронної мережі.

Нейронні мережі добре розуміють рукописні символи, оскільки ці мережі

нечутливі до відсутніх даних. У статті запропоновано підхід до

розпізнавання символів хінді що складається з чотирьох етапів:

1) Сканування

2) Попередня обробка

3) Вилучення об'єктів

4) Розпізнавання

Попередня обробка включає зменшення шуму, бінаризацію,

нормалізацію та прорідження. Вилучення ознак включає вилучення деякої

корисної інформації з прорідженого зображення у вигляді вектора ознак.

Вектор ознак містить значення пікселів нормалізованого символьного

зображення. Для класифікації використовується нейронна мережа зворотного

розповсюдження. Експериментальний результат показує, що цей підхід

забезпечує кращі результати порівняно з іншими методами з точки зору

точності розпізнавання, часу навчання та часу класифікації. Середня точність

розпізнавання системи становить 93%.[2]

1.2.3. Розпізнавання символів Деванаґарі з використанням

нейронних мереж

Запропоновано нейромережевий підхід для побудови автоматичної

офлайн системи розпізнавання символів. Деванаґарі - це індоарійська мова,

на якій говорять близько 71 мільйон людей, переважно в індійському штаті

Махараштра та сусідніх державах. Можна знайти так багато проектів які

пов’язані з індійським мовам, такими як хінді, канада, тамільська, бангала,

малаялам тощо, але деванаґарі це мова для якої ледь просліджується хоча б

якісь проекти, особливо для розпізнавання символів. У цій роботі було

виконано роботу з розпізнавання символів деванаґарі з використанням

ІАЛЦ.467800.003 ПЗ 11

Арк.

ДатПідпи№ докум.АркЗм.

Page 20: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

багатошарового персептрона з прихованим шаром. Різні структури символів

створюються в матриці (n * n) з використанням двійкової форми і

зберігаються у файлі. Було використано нейронну мережу зворотного

розповсюдження для ефективного розпізнавання і випрямлені значення

нейронів передавалися методом прямого зв’язку в нейронну мережу. [3]

1.2.4. Інтелектуальна система для нелінійного розпізнавання

символів

Рукописне розпізнавання символів завжди є передовим напрямком

досліджень в області розпізнавання образів і обробки зображень і існує

великий попит на оптичне розпізнавання символів в рукописних документах.

В даній роботі проведено всебічний огляд існуючих робіт з розпізнавання

рукописних символів на основі техніки м'яких обчислень протягом

останнього десятиліття.[4]

1.2.5. Система рукописного розпізнавання символів з нечіткою

основою

Дана стаття представляє нечіткий підхід до розпізнавання символів.

Нечіткі множини та логіка використовуються як основа для представлення

символу та для розпізнавання. Дана стаття описує нечіткий алгоритм, який

спочатку сегментує характер, а потім, використовуючи нечітку систему, дає

можливі символи, які збігаються з даним входом, а потім, використовуючи

систему дефазиціі, нарешті, розпізнає характер.[5]

1.2.6. Розпізнавання рукописних символів Деванаґарі за допомогою

нейронної мережі

У цій цифровій ері найважливішим є розгляд цифрових документів,

організації, що використовують рукописні документи для зберігання своєї

інформації, можуть використовувати розпізнавання рукописних символів для

перетворення цієї інформації в цифрову. Рукописні символи деванаґарі є

більш складними для розпізнавання через наявність рядка заголовка,

символів сполучення та подібності у формах декількох символів. Розглянуто

ІАЛЦ.467800.003 ПЗ 12

Арк.

ДатПідпи№ докум.АркЗм.

Page 21: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

розробку методу на основі сітки, що полягає у поєднанні зони центроїда

зображення та зони центроїда зони індивідуального характеру або числового

зображення. При вилученні ознак з використанням підходу на основі сітки

або зони індивідуальний символ або числове зображення розділяється на n

рівних розмірів сіток або зон, після чого обчислюється середня відстань всіх

пікселів по відношенню до центроїда зображення або сітки центроїда. У

поєднанні з центроїдом зображень і центроїдним підходом зони вона

обчислює середню відстань всіх пікселів, присутніх в кожній сітці, по

відношенню до центроїда зображення, а також зональний центроїд, який дає

вектор ознак розміру 2*n. Цей вектор ознак представлений для подачі

передній нейронній мережі для розпізнавання. Повний процес розпізнавання

символів деванаґарі працює по таких етапах, як попередня обробка

документів, сегментація, вилучення ознак за допомогою сіткового підходу, за

яким слідує розпізнавання за допомогою нейромережі. [6]

1.2.7. Розпізнавання рукописних символів Деванаґарі через

сегментацію та штучні нейронні мережі

Розпізнавання рукописних символів - це здатність комп'ютера

отримувати та інтерпретувати зрозумілі рукописні дані з таких джерел, як

паперові документи, фотографії, сенсорні екрани та інші пристрої. Рукописні

символи маратхі є більш складними для розпізнавання, ніж відповідні

англійські символи завдяки багатьом можливим варіаціям порядку, кількості,

напрямку та форми складових штрихів. Основною метою цієї роботи є

впровадження нового методу розпізнавання автономних рукописних

символів девнагарі з використанням сегментації та штучних нейронних

мереж. Весь процес розпізнавання включає дві фази сегментації символів в

лінію, слово і символи, а потім розпізнавання через пряму нейронну мережу.

[7]

1.2.8. Система розпізнавання рукописних символів гурумухі

Ця стаття представляє систему розпізнавання символів рукопису

ІАЛЦ.467800.003 ПЗ 13

Арк.

ДатПідпи№ докум.АркЗм.

Page 22: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

Гурмукхі, яка використовує деякі статистичні характеристики, такі як

щільність зони, гістограми проекції, 8 функцій густини спрямованої зони у

поєднанні з деякими геометричними особливостями, такими як область,

периметр, ексцентричність тощо. Методи, такі як бінаризація, орфологічні

операції (ерозія та розширення) застосовуються для видалення шуму, а потім

сегментуються на окремі символи. Найвища точність, отримана за

допомогою цих ознак і класифікатора поширення назад, становить 98%. [8]

1.2.9. Попередня обробка зображень для оптичного розпізнавання

символів з використанням нейронних мереж

Першочерговою задачею цієї роботи є створення теоретичної та

практичної основи попередньої обробки друкованого тексту для оптичного

розпізнавання символів за допомогою нейромережі. Створено

демонстраційне застосування та встановлено його параметри за результатами

проведених експериментів [9].

1.2.10. Розпізнавання рукописних англійських букв

Розпізнавання символів є однією з найцікавіших і найскладніших

областей досліджень в області обробки зображень. Англійське розпізнавання

символів широко вивчалося в останні півстоліття. Сьогодні для

розпізнавання символів широко застосовуються різні методики. Перевірка

документів, цифрова бібліотека, читання банківських внесків, читання

поштових адрес, вилучення інформації з чеків, введення даних, заявок на

кредитні картки, медичне страхування, позики, податкові форми тощо. Дана

робота дає огляд досліджень, проведених для розпізнавання рукописних

англійських букв. У рукописному тексті немає обмежень на стиль написання.

Рукописних листів важко розпізнати через різноманітний стиль рукописного

тексту, зміна кута, розмір і форму букв. Тут обговорюються різні підходи до

розпізнавання рукописних символів разом з їх діяльністю [10].

ІАЛЦ.467800.003 ПЗ 14

Арк.

ДатПідпи№ докум.АркЗм.

Page 23: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

1.2.11. Розпізнавання рукописних цифр використовуючи

технологію послідовної згорткової нейронної мережі

В даній роботі для розпізнавання рукописного тексту використовується

послідовна згорткова нейронна мережа з п’ятишаровою структурою. Для

навчання даної нейронної мережі використовується набір даних взятий з

відкритої бази даних MNIST, в якій зберігається великий об’єм зразків

рукописних цифр, а саме: більше 60 тисяч зображень для навчання нейронної

мережі, та більше 10 тисяч зображень для тестування навченої нейронної

мережі. Зображення зберігаються в підготовленому форматі, а саме ці

зображення були нормалізовані, пройшли згладжування та були приведені до

напівтонового зображення розміром 28*28 пікселів.

Перед навчанням дані було підготовлено для обробки, а саме:

Перевірено набір даних на наявність пошкоджень.

Проведено нормалізацію в градаціях сірого кольору, щоб зменшити

вплив відмінностей в освітленості, це було зроблено для зменшення

часу навчання, так як згорткова нейронна мережа сходиться швидше

на даних від 0 до 1, ніж від 0 да 255.

Було перетворено одновимірні масиви вхідних даних в трьох

вимірні.

Було закодовано цифри у формат унітарного коду, що означає те, що

цифри було перетворено в двійковий формат що містить тільки одну

1, а довжина коду визначається кількістю кодованих об’єктів, тобто

кожному об’єкту у відповідність ставиться окремий розряд коду.

Після виконання даних кроків дані можна було подавати та вхід

згорткової нейронної мережі. В результаті після навчання даної нейронної

мережі було досягнуто точність в 99.7%. [11]

1.3. Огляд існуючих рішень

1.3.1. Google Handwriting Input

Google Handwriting Input, додаток лише для Android, переводить ваші

ІАЛЦ.467800.003 ПЗ 15

Арк.

ДатПідпи№ докум.АркЗм.

Page 24: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

записки безпосередньо на екрані під час написання. Після встановлення

програми ви отримаєте кілька панелей налаштування, де можна вибрати мову

та додаткову клавіатуру, яка дозволяє використовувати утиліту з іншими

програмами введення тексту. На додаток до підтримки понад 100 мов, вона

дозволяє легко вводити ідеографічні написи та голос, а також розпізнає

малюнки стилю emoji. На рисунку 1.2 наведений приклад вікна вводу даного

додатку.

Рисунок 1.2 – Приклад вікна вводу в додатку

ІАЛЦ.467800.003 ПЗ 16

Арк.

ДатПідпи№ докум.АркЗм.

Page 25: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

Ця програма дуже добре розуміє найскладніший скрипаль і пропонує

прогностичний текст у верхній частині вікна, щоб дозволити вам

налаштувати його інтерпретацію – або ви можете виправити написання

безпосередньо на текстовому виході.

Додаток надсилає інформацію до Google для розшифрування вашого

почерку, щоб покращити механізм розпізнавання, але ви можете відмовитися

від цього на користь більш приватного перекладу на пристрої локально. Хоча

окремої версії додатку для iOS немає, можна ввімкнути Google Handwrite у

мобільному браузері Safari або Chrome, щоб здійснювати пошук за

допомогою пальця чи стилуса.

1.3.2. MyScript Nebo

MyScript Nebo спеціально розроблений для використання з Apple iPad

Pro та олівцем або останніми версіями Android з активним стилусом,

наприклад S Pen або пером Wacom.

Nebo використовує свої інтерактивні технології чорнила для

полегшення написання, малювання та форматування нотаток на додаток до

перетворення тексту в документи, які можна розділити. На рисунку 1.3

наведено приклад інтерфейсу додатку.

ІАЛЦ.467800.003 ПЗ 17

Арк.

ДатПідпи№ докум.АркЗм.

Page 26: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

Рисунок 1.3 – Приклад інтерфейсу додатку

Нові оновлення покращують продуктивність з математичними

об'єктами, а також загальне керування нотами. Нова бібліотека дозволяє

переглядати блокноти та колекції у бічній панелі, що дозволяє переставляти

документи за допомогою перетягування. Розширена пошукова система

охоплює всю вашу бібліотеку.

Окрім редагування та форматування на 65 мовах, ви можете зробити

ескіз; коментувати зображення; створювати редаговані рівняння;

налаштувати розмір і орієнтацію пристрою; організовувати нотатки на

сторінках, ноутбуках і папках; та пошук, зберігання або синхронізація з

Dropbox. Ви можете експортувати документи як текст, Word, PDF або HTML.

Можна також копіювати, вставляти та редагувати діаграми в PowerPoint.

1.3.3. GoodNotes

GoodNotes – потужна програма для запису приміток та анотації PDF з

розпізнаванням рукописного тексту, для створення записів для блокнотів і

документів. Інструмент ручки програми пропонує вибір кольорів та товщин

листа. Розпізнавання форм автоматично створює розпізнавані форми з

ІАЛЦ.467800.003 ПЗ 18

Арк.

ДатПідпи№ докум.АркЗм.

Page 27: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

малюнків від руки. На рисунку 1.3 наведено приклад інтерфейсу додатку.

Удосконалений алгоритм чорнила полегшує досвід написання.

Оновлені інструменти для пензлів та форм пропонують більш яскраві та

креативні нотатки, а нова бібліотека шаблонів пропонує відмінні обкладинки

та сторінки. GoodNotes тепер підтримує новий iPad Pro і друге покоління

Apple Pencil. За допомогою iCloud можна синхронізувати свої ноутбуки на

всіх пристроях iOS.

Рисунок 1.4 – Приклад інтерфейсу додатку

ІАЛЦ.467800.003 ПЗ 19

Арк.

ДатПідпи№ докум.АркЗм.

Page 28: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

ВИСНОВКИ ДО РОЗДІЛУ 1Було досліджено що таке нейронна мережа для чого вона

використовується, різновидності реалізацій алгоритмів для розпізнавання

рукописного тексту, та проаналізовано готові існуючі рішення. Було

представлено найпопулярніші існуючі додатки для розпізнавання

рукописного тексту для платформ Android, iOS та Windows. Кожен з них має

ряд переваг та недоліків проаналізувавши можна визначити оптимальні

вимоги до функціоналу для задоволення основних потреб та досягнення

максимального враження користувача від використанні програми.

В ході аналізу готових реалізацій алгоритмів для розпізнавання

рукописного тексту було визначено необхідні засоби та методи реалізації

даного завдання, а саме те що розпізнавання тексту за допомогою методу

символьного розпізнавання тексту з використанням штучної нейронної

мережі. Також було сформовано функціональні вимоги до системи, а саме:

Розроблена система повинна розпізнавати рукописні англійські

символи, присутній у зображенні.

Система повинна показувати повідомлення про помилку

користувачеві, коли вхідні дані не в потрібному форматі.

Система повинна забезпечувати якість обслуговування

користувачеві.

Система повинна забезпечувати точність для розпізнавання.

Для реалізації інтерфейсу користувача було прийняте рішення

використовувати відкрите API Telegram Bot. Оскільки в сучасних реаліях

зросла популярність використання месенджерів серед людей, а так як

додаток Telegram є одним з найпопулярніших месенджерів у всьому світі.

Ще однією причиною даного рішення є простота користування ботом, так як

користувачу не буде потрібно встановлювати ніяких побічних додатків для

використання даної системи розпізнавання рукописного тексту.

ІАЛЦ.467800.003 ПЗ 20

Арк.

ДатПідпи№ докум.АркЗм.

Page 29: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

РОЗДІЛ 2.

ПРОЕКТУВАННЯ СИСТЕМИ

2.1. Опис предметної областіЗорова система людини є одним з чудес світу. Якщо розглянути

послідовність рукописних цифр, що зображена на рисунку 2.1, то більшість

людей без проблем розрізнить ці цифри як 504192. Ця легкість є оманливою.

У обох півкулях нашого мозку розміщуються сотні мільйонів нейронів з

десятками мільярдів зв’язків між ними, які відповідають за людський зір. Ми

носимо в своїй голові суперкомп’ютер, що був налаштований еволюцією

протягом сотень мільйонів років, і чудово пристосований для розуміння

візуального світу. Розпізнати рукописні символи нелегко. Швидше за все, ми,

люди, неймовірно добре розуміємо те, що показують нам наші очі. Але

майже вся робота виконується несвідомо. І тому ми зазвичай не розуміємо,

наскільки складну проблему вирішує наша зорова система.

Рисунок 2.1 – Послідовність рукописних цифр

Нейронні мережі підходять до проблеми по-іншому. Ідея полягає в

тому, щоб взяти велику кількість рукописних символів, які називають

навчальними прикладами, і потім розробити систему, яка зможе вчитись на

таких прикладах. Іншими словами, нейронна мережа використовує приклади

для автоматичного визначення правил розпізнавання рукописних символів.

Крім того, збільшуючи кількість навчальних прикладів, мережа зможе

дізнатись більше про рукописних текст, і таким чином підвищити точність

розпізнавання.

Для розпізнавання рукописного тексту найчастіше використовується

згорткова нейронна мережа (convolutional neural network, CNN) – це тип

ІАЛЦ.467800.003 ПЗ 21

Арк.

ДатПідпи№ докум.АркЗм.

Page 30: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

штучної нейронної мережі, що використовується для розпізнавання і обробки

зображень, яка спеціально розроблена для обробки даних пікселів.

Традиційні нейронні мережі не ідеально підходять для обробки

зображень, так як в них повинні передаватись зображення у вигляді

фрагментів з обмеженою роздільною здатністю. В CNN нейрони більше

схожі на нейрони що відповідають за обробку візуальних стимулів в мозку

людини. Шари нейронів розташовані таким чином, щоб охопити все поле

зору, уникаючи проблеми часткової обробки зображень традиційних

нейронних мереж.

CNN використовує систему схожу на багатошаровий персептрон, який

розроблений для зниження вимог до обробки. Шари CNN скрадаються з

вхідного, вихідного шарів та прихованого, який включає в себе декілька

згорткових шарів, шарів об’єднання, повнозв’язних шарів та шарів

нормалізації. Зняття обмежень та підвищення ефективності обробки

зображень призводить до створення більш ефективної, більш простої для

навчання системи, яку можна використовувати тільки для обробки

зображень.

2.2. Визначення вимог та завданьОсновними вимогами до програми є:

Розроблена система повинна розпізнавати рукописні англійські

символи, присутній у зображенні.

Система повинна показувати повідомлення про помилку

користувачеві, коли вхідні дані не в потрібному форматі.

Система повинна забезпечувати якість обслуговування

користувачеві.

Система повинна забезпечувати точність для розпізнавання.

Основним функціоналом програми є:

Надсилання зображення для розпізнавання через чат з ботом в

ІАЛЦ.467800.003 ПЗ 22

Арк.

ДатПідпи№ докум.АркЗм.

Page 31: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

додатку Telegram.

Отримання результату розпізнавання в повідомленні від бота в

додатку Telegram.

Розпізнавання рукописного тексту який розміщений на зображені.

Проведення аналізу зображення, що надає інформацію про

розпізнавання тексту.

2.3. Опис функціоналу системиСистема повинна надавати користувачеві можливість виконувати

наступні операції:

Надання зображення рукописного для розпізнавання системі через

надсилання його в особисті повідомлення боту.

Отримання результату розпізнавання рукописного тексту в особисті

повідомлення від бота.

Надання зображення рукописного тексту для розширеного аналізу

розпізнавання.

Отримання результату аналізу рукописного тексту в особисті

повідомлення від бота.

2.4. Опис нейронної мережіТипова система розпізнавання рукописного тексту складається з

декількох основних етапів, а саме: попередня обробка зображення,

сегментація, отримання признаків, класифікація та пост-обробка. Загальна

принципова схема зображена на рисунку 2.1.

1. Отримання зображення

При отриманні зображення система розпізнавання отримує

відскановане зображення в якості вхідного зображення. Зображення повинне

мати певний формат, такий як JPEG, BMP, PNG і т. д. Це зображення може

бути отримане за допомогою сканера, цифрової камери, або будь-якого

іншого відповідного пристрою цифрового введення

ІАЛЦ.467800.003 ПЗ 23

Арк.

ДатПідпи№ докум.АркЗм.

Page 32: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

Рисунок 2.1 – Загальна принципова схема розв’язання задачі розпізнавання

2. Попередня обробка

Попередня обробка – це серія операцій, що виконуються із

відсканованим вхідним зображенням. Це значно покращує зображення,

роблячи його придатним для сегментації. Послідовність операцій які

виконуються над зображенням показані на рисунку 2.2. Процес бінаризації

перетворює чорно-біле зображення в бінарне зображення за допомогою

глобальної методики визначення порогу. Розширення ребер в бінаризованому

ІАЛЦ.467800.003 ПЗ 24

Арк.

ДатПідпи№ докум.АркЗм.

Page 33: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

зображенні здійснюється за допомогою методу собеля, розширення

зображення і заповнення дірок в ньому – це операції, що виконуються на

двох останніх етапах, для отримання попередньо обробленого зображення,

придатного для сегментації.

Рисунок 2.2 – Алгоритм попередньої обробки зображення

ІАЛЦ.467800.003 ПЗ 25

Арк.

ДатПідпи№ докум.АркЗм.

Page 34: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

3. Сегментація

На етапі сегментації зображення послідовності символів розкладається

на підсторінки індивідуального характеру. У запропонованій системі

попередньо оброблене вхідне зображення сегментується на окремі символи,

присвоюючи кожному символу номер за допомогою процесу маркування. Це

позначення надає інформацію про кількість символів у зображенні.

4. Класифікація та розпізнавання

Етап класифікації є частиною прийняття рішення в системи

розпізнавання. Згорткова нейромережа використовується для класифікації та

розпізнавання рукописних символів. На вхід подається сегментоване

зображення, отримане на минулому кроці. Загальна кількість нейронів у

вихідному шарі становить 26, так як запропонована система призначена для

розпізнавання англійського алфавіту.

5. Пост-обробка

Стадія пост-обробки є завершальним етапом запропонованої системи

розпізнавання. Тут відбувається друк відповідних розпізнаних символів у

структурованому текстовому вигляді шляхом обчислення еквівалентного

значення ASCII з використанням індексу розпізнавання тестових зразків.

2.4.1. Метод попередньої обробки

Необроблені дані піддаються декільком етапам попередньої обробки,

щоб їх можна було використовувати на описових етапах аналізу символів.

Попередня обробка має на меті отримати дані, які буде зручно

використовувати для систем оптичного розпізнавання символі. Основними

завданнями попередньої обробки є:

Фільтрування шуму

Коли документ сканується, відскановані зображення можуть бути

забруднені адитивним шумом, і ці зображення низької якості вплинуть

на наступний крок обробки документів. Тому для покращення якості

зображень перед передачею на наступні етапи обробки документів

необхідний етап попередньої обробки. Шуму може призвести до появи

віддалених помилкових сегментів, великих проміжків між лініями

ІАЛЦ.467800.003 ПЗ 26

Арк.

ДатПідпи№ докум.АркЗм.

Page 35: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

тощо, тому дуже важливо видалити всі ці помилки, щоб отримана

інформація більш якісною. У зображеннях є багато видів шуму. Один

адитивний шум, який називається «шум солі та перцю», чорні та білі

крапки, посипані по всьому зображенню, які можна знайти майже у

всіх документах. Методи зменшення шуму можна розділити на дві

основні групи, а саме:

1) Фільтрація – спрямована на видалення шуму і зменшення

побічних точок, зазвичай виникають через ревну поверхню

запису та/або спричинених низькою частотою дискретизації

пристрою збору даних.

2) Морфологічні операції – зазвичай використовуються як

інструмент обробки зображень для вилучення компонентів

зображення, які є корисними при представленні і описі форми

області. Морфологічні операції можуть бути успішно

використані для усунення шуму на зображенні документа через

низьку якість паперу та чорнила, а також хибне переміщення рук.

Бінаризація

Бінаризація зображень чорно-білих символів є важливим кроком у

розпізнаванні символів в режимі офлайн. Хороша бінаризація полегшує

сегментацію і розпізнавання символів. Процес бінаризації перетворює

чорно-біле зображення в бінарне зображення.

Виявлення країв

Ребра характеризують межі об'єктів і тому корисні для сегментації,

реєстрації та ідентифікації об'єктів. Виявлення країв зображення значно

зменшує обсяг даних і відфільтровує марну інформацію, зберігаючи

при цьому важливі структурні властивості зображення. Існує багато

способів для виявлення країв. Однак більшість різних методів може

бути згрупована в дві категорії: метод градієнт і метод Лапласа. Метод

градієнта виявляє ребра, шукаючи максимум і мінімум у першій

похідній зображення. Метод Лапласа шукає переходи нуля у другій

похідній зображення, щоб знайти ребра.

ІАЛЦ.467800.003 ПЗ 27

Арк.

ДатПідпи№ докум.АркЗм.

Page 36: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

Розширення та заповнення

1) Виявлення перекосу – внаслідок процесу сканування на

зображенні може виникнути асиметрія. Існує кілька

загальноприйнятих методів виявлення перекосу сторінки; деякі

покладаються на виявлення з'єднаних компонентів і знаходження

середніх кутів, що з'єднують їх центроїди. Асиметричність

повинна бути видалена, оскільки вона знижує точність

документа. Розраховується кут нахилу і з допомогою кута нахилу

перекошені лінії робляться горизонтальними.

2) Оцінка нахилу та нормалізація – рукописний текст зазвичай

характеризується нахиленими символами. Зокрема, символи

можуть мати нахил або справа наліво, або навпаки. Крім того,

різні відхилення можуть з'являтися не тільки в тексті, але і в

межах одного слова. Корекція нахилу не впливає на зв'язність

слова, а отримані слова є природними. Для нормалізації всіх

символів до стандартної форми використовується нормалізація

нахилу. Найбільш поширеним методом оцінки нахилу є

розрахунок середнього кута близьких вертикальних елементів.

2.3.2. Сегментація

У методах розпізнавання символів сегментація є найважливішим

процесом. Сегментація здійснюється для поділу зображення на окремі

символи. Сегментація рукописного слова в різні зони (верхня середня і

нижня) і символи складніша, ніж у друкованих документів. Це пояснюється в

основному мінливістю міжсимвольних відстаней, перекосом, нахилом,

розмірами, тобто почерком. Іноді компоненти двох послідовних символів

можуть бути зачеплені або перекриті, і ця ситуація значно ускладнює

завдання сегментації. В індійських мовах такий дотик або перекриття часто

відбувається через змінні символи верхньої та нижньої зони. Сегментація є

важливим етапом, тому що степінь, якого можна досягти при розділенні слів,

рядків або символів, безпосередньо впливає на швидкість розпізнавання

тексту.

ІАЛЦ.467800.003 ПЗ 28

Арк.

ДатПідпи№ докум.АркЗм.

Page 37: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

Існує два типи сегментації:

Зовнішня сегментація – розкладає макет сторінки на її логічні

одиниці. Зовнішня сегментація – це ізоляція різних блоків запису,

таких як абзаци, речення або слова. Це найважливіша частина

аналізу документів. Аналіз і розпізнавання документів спрямовано

на автоматичне вилучення інформації, представленої на папері, і від

самого початку адресоване людському розумінню. Сегментація

сторінок є одним з важливих кроків у аналізі макетів і особливо

важка при роботі зі складними макетами. Аналіз макета сторінки

здійснюється у два етапи: Перший етап - це структурний аналіз,

який стосується сегментації зображення на блоки компонентів

документа (абзац, рядок, слово тощо). Другий - функціональний

аналіз, який використовує розташування, розмір і різні правила

розмітки для позначення функціонального змісту компонентів

документа. Потім сегментація сторінок реалізується шляхом

пошуку текстурованих областей у чорно-білих або кольорових

зображеннях.

Внутрішня сегментація - це операція, яка намагається розкласти

зображення послідовності символів на суб-зображення окремих

символів. Хоча за останні десять років ці методи надзвичайно

розвилися, і з'явилися різноманітні методики, сегментація

рукописного шрифту на символи залишається невирішеною

проблемою.

2.4. ПрецедентиПісля визначення функціоналу системи та нейронної мережі, для

візуалізації та представлення варіантів використання системи було

побудовано діаграму варіантів використання. Детальна ієрархія прецедентів

наведена на рисунках 2.3 – 2.4. Повна діаграма варіантів використання

наведена у Додатку А.

ІАЛЦ.467800.003 ПЗ 29

Арк.

ДатПідпи№ докум.АркЗм.

Page 38: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

Рисунок 2.2 – Діаграма прецедентів для користувача

Рисунок 2.4 – Діаграма прецедентів для Телеграм Бота

ІАЛЦ.467800.003 ПЗ 30

Арк.

ДатПідпи№ докум.АркЗм.

Page 39: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

Рисунок 2.4 – Діаграма прецедентів для системи

2.5. Діаграми послідовностейДіаграма послідовності - це графічне уявлення про сценарій, який

показує взаємодію об'єктів в часовій послідовності, що відбувається

спочатку, що відбувається далі. Діаграма послідовностей встановлює роль

об'єктів і допомагає забезпечити необхідну інформацію для визначення

ІАЛЦ.467800.003 ПЗ 31

Арк.

ДатПідпи№ докум.АркЗм.

Page 40: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

обов'язків класу та інтерфейсів. Діаграми послідовностей наведені на

рисунках 2.5 –2.9.

Рисунок 2.5 – Діаграма послідовностей для взаємодії користувача та

системи

ІАЛЦ.467800.003 ПЗ 32

Арк.

ДатПідпи№ докум.АркЗм.

Page 41: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

Рисунок 2.6 – Діаграма послідовностей для попередньої обробки зображень

ІАЛЦ.467800.003 ПЗ 33

Арк.

ДатПідпи№ докум.АркЗм.

Page 42: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

Рисунок 2.7 – Діаграма послідовностей для сегментації зображень

ІАЛЦ.467800.003 ПЗ 34

Арк.

ДатПідпи№ докум.АркЗм.

Page 43: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

Рисунок 2.8 – Діаграма послідовностей для отримання признаків

ІАЛЦ.467800.003 ПЗ 35

Арк.

ДатПідпи№ докум.АркЗм.

Page 44: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

Рисунок 2.8 – Діаграма послідовностей для роботи з нейронною мережею

ІАЛЦ.467800.003 ПЗ 36

Арк.

ДатПідпи№ докум.АркЗм.

Page 45: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

2.7 Проектування графічного інтерфейсуГрафічний інтерфейс для даної системи розпізнавання повинен бути

максимально простим для використання, тому було прийнято рішення

використати для реалізації графічного інтерфейсу функціонал месенджера

Telegram, а саме API Telegram Bot. Оскільки в сучасних реаліях майже всі

люди користуються кишеньковим цифровими засобами, зокрема

смартфонами, і використовують для спілкування, обміну файлами та

різноманітною інформацією месенджери. Проаналізувавши основних лідерів

ринку серед месенджерів, було прийнято використовувати саме Telegram.

Одною з причин вибору даного додатку стало відкрите API, для реалізації

бота месенджера. На рисунках 2.10 – 2.12 наведено макети графічного

інтерфейсу користувача для роботи з системою розпізнавання тексту.

ІАЛЦ.467800.003 ПЗ 37

Арк.

ДатПідпи№ докум.АркЗм.

Page 46: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

Рисунок 2.10 – Макет стартового повідомлення бота

ІАЛЦ.467800.003 ПЗ 38

Арк.

ДатПідпи№ докум.АркЗм.

Page 47: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

Рисунок 2.11 – Макет відправлення зображення

ІАЛЦ.467800.003 ПЗ 39

Арк.

ДатПідпи№ докум.АркЗм.

Page 48: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

Рисунок 2.12 – Макет відправлення зображення

ІАЛЦ.467800.003 ПЗ 40

Арк.

ДатПідпи№ докум.АркЗм.

Page 49: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

ВИСНОВКИ ДО РОЗДІЛУ 2В даному розділі було зроблено загальний опис предметної області

задачі, виконано формування основних вимог та функціоналу для системи

розпізнавання рукописного тексту. Розроблена модель функціонування

нейронної мережі. Визначено основні етапи розпізнавання тексту, а саме:

Попередня обробка зображення

Сегментація

Отримання признаків

Класифікація та розпізнавання

Для кожного етапу було визначено функціонал та принципи роботи. На

основі даний етапів розпізнавання тексту та функціоналу всієї системи було

розроблено діаграму варіантів використання. Було визначено основні

прецеденти та розроблено їх діаграми.

На основі розроблених діаграм, функціоналу та вимог системи було

розроблено діаграми послідовностей для основних операції системи

розпізнавання, які показують взаємодію об'єктів в часовій послідовності.

Також було розроблено графічний інтерфейс за допомогою API

Telegram Bot. Що значно спрощує взаємодію між користувачем та системою

розпізнавання тексту.

ІАЛЦ.467800.003 ПЗ 41

Арк.

ДатПідпи№ докум.АркЗм.

Page 50: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

РОЗДІЛ 3.

ОПИС РОЗРОБЛЕНОЇ СИСТЕМИ

3.1. Вибір технологій та їх обґрунтування

3.1.1. Вибір платформи для системи

Виходячи з вимог, які були поставлені системі, необхідно досягнути

максимальної доступності для широкого кола користувачів та простоти

використання системи. В останні роки можна спостерігати тенденцію

зростання з кожним роком користувачів мобільних пристроїв. Хоча кількість

людей, що користуються персональними комп’ютерами, також знаходиться

на досить великому рівні. Тому необхідно вибрати варіант реалізації системи,

який буде задовольняти потреби користувачів максимально.

Оскільки звичайному користувачеві не потрібний доступ до

функціоналу перенавчання нейронної мережі, а тільки до функціоналу

розпізнавання тексту, тому саму систему буде доцільно розмістити на

віддаленому сервері з операційною системою Linux.

Інтерфейс користувача потрібно реалізувати з досягненням

максимальної доступності до системи. Тому доцільно реалізовувати його за

допомого засобів, які дадуть змогу користуватись системою розпізнавання

тексту на основних операційних системах, як мобільних, так і десктопних, а

саме: Android, iOS, Windows, MacOS, Linux.

Дана система надає можливість тільки розпізнавати рукописний текст

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

власний графічний інтерфейс, кращим варіантом буде інтегрувати систему у

вже існуючий додаток, який використовує велика кількість користувачів. Це

можна реалізувати за допомогою примітивного чат-бота, вбудованого в

месенджер.

Чат-бот – це комп'ютерна програма або штучний інтелект, який веде

розмову за допомогою слухових або текстових методів. Такі програми часто

ІАЛЦ.467800.003 ПЗ 42

Арк.

ДатПідпи№ докум.АркЗм.

Page 51: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

призначені для переконливого моделювання того, як людина буде вести себе

в якось розмовна партнера, тим самим пройшовши тест Тюрінга. Чат-боти

зазвичай використовуються в діалогових системах для різних практичних

цілей, включаючи обслуговування клієнтів або отримання інформації.

Термін "ChatterBot" спочатку придумав Майкл Малдін (творець

першого Verbot, Julia) в 1994 році для опису цих розмовних програм.

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

Google Assistant і Amazon Alexa, через програми для обміну повідомленнями,

такі як Facebook Messenger, WhatsApp або Telegram, або через програми та

веб-сайти окремих організацій.

Чат-боти багатьох компаній працюють в програмах обміну

повідомленнями або просто через SMS. Вони використовуються для

обслуговування клієнтів, продажів і маркетингу.

У 2016 році Facebook Messenger дозволив розробникам розміщувати

чат-боти на своїй платформі. За перші шість місяців в додатку було створено

30 000 ботів, до вересня 2017 року вони зросли до 100 000.

Боти зазвичай виступають в якості одного з контактів користувача, але

іноді можуть виступати як учасники групового чату.

Отож, чат-бот який буде реалізований для взаємодії користувача та

системи розпізнавання тексту буде виступати в якості співбесідника та

знаходитись в контактах користувача.

Оскільки на даний момент різко почала зростати популярність

месенджера Telegram. Було вирішено використати даний месенджер в якось

платформи для розташування чат-бота.

Telegram спрямований на підвищення безпеки і підвищення швидкості

передачі даних з один мобільного телефону на інший. Telegram – це більш

безпечний додаток для обміну повідомлень, ніж будь-який інший месенджер.

Його техніку приватного шифрування та конфіденційності, яка є прикладом

її безпеки можна спостерігати за допомогою функції секретного чату.

Telegram надає послуги швидкого обміну повідомленнями, та має

службу підтримки, яка доступна в режимі реального часу, тому користувач

ІАЛЦ.467800.003 ПЗ 43

Арк.

ДатПідпи№ докум.АркЗм.

Page 52: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

може зв’язатись з компанією по будь-якому питанню, а також має розділ

частих запитань, в якому користувач може знайти відповіді на запитання про

додаток та його функціонал. Користувачі Telegram можуть обмінюватися

фотографіями, відео, аудіо в якості своїх повідомлень. Це дуже хороший

додаток для обміну повідомленнями, який не витрачає великої кількості

інтернет трафіку для цього, чат вимагає лише байтів даних, а персоналізація

забезпечує високу якість інтерфейсу та звуку.

В Telegram немає реклами, та цей додаток є абсолютно безкоштовним,

який не вимагає плати за використання після певного періоду, він є більш

зручним у використанні та вимагає менше ресурсів пристрою, ніж всі інші

способи спілкування.

Telegram можна використовувати на декількох пристроях одночасно.

Він також надає велике хмарне сховище даних, де можна зберігати величезні

об’єми файлів, доступ до яких можна отримати з будь-якого пристрою.

Telegram надає повністю відкрите API для реалізації чат-ботів. Боти в

Telegram це звичайні облікові записи які керуються програмно. Ці боти

можуть робити що завгодно - навчати, грати, шукати, транслювати,

нагадувати, з'єднуватися, інтегруватися з іншими службами або навіть

передавати команди до Інтернету речей.

3.1.2. Вибір мови програмування

На сьогоднішній день існує багато мов програмування, які надають

можливість створювати та навчати нейронні мережі. Однак, оскільки для

реалізації необхідно розробити дві, залежних одна від одної, частини

системи, а саме нейронну мережу та інтерфейс користувача у вигляді чат-

бота Telegram, необхідно підібрати таку мову програмування за допомогою

якої можна реалізувати обидві ці частини.

Найкращими підходящими варіантами мов програмування для

реалізації даної системи є:

Java;

C#;

Python

ІАЛЦ.467800.003 ПЗ 44

Арк.

ДатПідпи№ докум.АркЗм.

Page 53: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

Java є однією з найпопулярніших технологій, що використовуються

сьогодні. Це мова програмування загального призначання, яка використовує

об'єктно-орієнтовану парадигму для створення програм, які можуть

працювати на будь-якій платформі. Її можна використовувати для запуску

настільних, мобільних і корпоративних програм.

Переваги:

Кросплатформеність – в результаті компіляції програма

перетворюється в байт код, що дає можливість запускати її на будь-

якій платформі на якій присутня JVM.

Автоматичне керування пам'яттю – обробляє виділення пам'яті та

звільнення.

Дешеве обслуговування – Java не залежить від конкретної апаратної

інфраструктури для запуску. Ви можете легко запустити сервер в

будь-якій машині, що робить її дешевою для обслуговування.

Недоліки:

Вимоги до пам'яті: Java споживає більше пам'яті і сильно знижує

продуктивність.

Проблема множинних наслідувань: неможливо використовувати

множинне наслідування у програмуванні Java.

Швидкодія: вона порівняно повільна в порівнянні з іншими мовами

програмування, оскільки кожен програмний код повинен

інтерпретуватися як машиночитаний код.

C# - це об'єктно-орієнтована, суворо типізована мова. Сувора перевірка

типу в C#, як під час компіляції, так і часу виконання, призводить до того, що

про більшість типових помилок програмування C# повідомляється якомога

раніше, а їх розташування точно визначено. Це може заощадити багато часу

у програмуванні C#, у порівнянні з відстеженням причин загадкових

помилок, які можуть виникнути через багато часу після помилкової операції

в мовах програмування, які є більш ліберальними з їх застосуванням безпеки

типу.

ІАЛЦ.467800.003 ПЗ 45

Арк.

ДатПідпи№ докум.АркЗм.

Page 54: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

Python є одним з найпопулярніших мов програмування для Data

Science, завдяки його простому вивченню та корисним бібліотекам.

Читабельність коду, що спостерігається в Python, також робить його

популярним варіантом для Data Science. Це полегшує користувачам

реалізацію рішень при дотриманні стандартів необхідних алгоритмів.

Python має виділені бібліотеки, такі як Pandas, Numpy, Matplotlib, SciPy,

scikit-learn і т.д. Крім того, розширені бібліотеки Python, такі як Tensorflow,

Keras і Pytorch, забезпечують інструменти глибокого навчання для

спеціалістів. IPython Notebook полегшує роботу з Python та даними.

Python - це мова загального призначення, яка є легкою та інтуїтивною.

Це надає йому відносно рівну криву навчання, і це збільшує швидкість, з

якою ви можете написати програму. Синтаксис Python добре читається і

схожий на інші мови програмування. Читабельність Python забезпечує високу

продуктивність команд розробників.

Отож, для реалізації системи розпізнавання рукописного тексту було

обрано Python. Оскільки дана мова програмування є достатньо

високопродуктивною, та має велику кількість готових бібліотек, які частково

полегшують обробку даних для використання ї в нейронній мережі.

Корисним доповненням є те, що в Python присутня бібліотека для роботи з

API Telegram Bot.

3.1.3. Вибір допоміжних бібліотек

Для Python існує велика кількість бібліотек із відкритим кодом, які

значно спрощують та пришвидшують процес обробки даних та навчання

нейронних мереж.

У проекті використовуються наступні бібліотеки:

NumPy

Random

ArgParse

TensorFlow

OpenCV

ІАЛЦ.467800.003 ПЗ 46

Арк.

ДатПідпи№ докум.АркЗм.

Page 55: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

NumPy – є основним пакетом для наукових обчислень з Python. Він

містить:

потужний об'єкт N-розмірного масиву

складні функції

корисна лінійна алгебра, перетворення Фур'є і можливості

випадкових чисел

Крім очевидного наукового використання, NumPy також може

використовуватися як ефективний багатовимірний контейнер загальних

даних. Це дозволяє NumPy легко і швидко інтегруватися з широким спектром

баз даних.

Random. Ця бібліотека реалізує генератори псевдовипадкових чисел

для різних розподілів. Для цілих чисел існує рівномірний вибір з діапазону.

Для послідовностей існує рівномірний вибір випадкового елемента, функція

для генерації випадкової перестановки списку і функція для випадкової

вибірки без заміни.

Для дійсних чисел існують функції для обчислення рівномірних,

нормальних (гаусових), логарифмічних, негативних експоненційних, гамма і

бета-розподілів. Для генерації розподілів кутів доступний розподіл фон

Мізеса.

Майже всі функції бібліотеки залежать від основної функції random(),

яка генерує випадкове число з плаваючою точкою в напіввідкритому

діапазоні [0.0, 1.0). Python використовує генератор випадкових чисел

Mersenne Twister як основний генератор. Він видає 53-бітові плаваючі

значення і має період 2^19937-1. Основна реалізація в С є швидкою і

безпечною для потоків. Mersenne Twister є одним з найретельніше

випробуваних генераторів випадкових чисел. Проте, будучи повністю

детермінованими, він не підходить для всіх цілей і повністю непридатний для

криптографічних цілей.

Бібліотека ArgParse дозволяє легко писати зручні інтерфейси

командного рядка. Бібліотека ArgParse також автоматично генерує

ІАЛЦ.467800.003 ПЗ 47

Арк.

ДатПідпи№ докум.АркЗм.

Page 56: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

повідомлення допомоги та використання і видає помилки, коли користувачі

надають програмі неприпустимі аргументи.

TensorFlow - це бібліотека Python для швидких чисельних обчислень,

яка була створена і випущена компанією Google.

Це фундаментальна бібліотека, яка може використовуватися для

створення моделей Deep Learning безпосередньо або за допомогою бібліотек

обгорток, які спрощують процес, побудований поверх TensorFlow.

TensorFlow пропонує кілька рівнів абстракції, так що ви можете

вибрати правильний для своїх потреб. Створюйте та навчайте моделі за

допомогою високорівневого Keras API, що полегшує початок роботи з

TensorFlow та машинного навчання.

TensorFlow завжди забезпечував прямий шлях до розробки. Незалежно

від того, на серверах, на крайових пристроях або в Інтернеті, TensorFlow

дозволяє легко навчати і розгортати модель, незалежно від того, яка мова чи

платформу використовується.

3.2. Основні рішення з реалізації додатку та його

компонентів Розроблену систему можна умовно поділити на декілька структурних

модулів:

1) Реалізація попередньої обробки зображень.

2) Реалізація сегментації зображень.

3) Отримання признаків із сегментованих зображень.

4) Налаштування навчання моделі нейронної мережі.

5) Тестування нейронної мережі

6) Реалізація Telegram бота, для взаємодії користувача та системи

3.3. Модель нейронної мережіМодель нейронної мережі для реалізації системи розпізнавання

рукописного тексту в даному випадку складається з шару згорткової

нейронної мережі (CNN), шару рекурентної нейронної мережі(RNN) та

фінального шару часового класифікатора з’єднань(CTC). Схема моделі

ІАЛЦ.467800.003 ПЗ 48

Арк.

ДатПідпи№ докум.АркЗм.

Page 57: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

нейронної мережі для розпізнавання рукописного тексту наведена на рисунку

3.1.

Рисунок 3.1 – Схема моделі нейронної мережі для розпізнавання рукописного

тексту

Нейронну мережу формально можна розглядати як функцію (3.1), яка

відображає зображення (або матрицю) М розміру W*N в послідовність

символів (C1 ,C2 ,C3 ,…Cn ) з довжиною від 0 до L

M → (C1, C2, C3 , …C n) , де 0 ≤ n≤ L (3.1)

Текст розпізнається на рівні символів, тому також можна розпізнати

слова або тексти, які не містяться у навчальних даних (якщо окремі символи

правильно класифікуються).

CNN: вхідне зображення подається в шари CNN. Ці шари навчені

отримувати відповідні признаки з зображення. Кожен шар складається з

ІАЛЦ.467800.003 ПЗ 49

Арк.

ДатПідпи№ докум.АркЗм.

Page 58: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

трьох операцій. Спочатку виконується операція згортки, яка застосовує до

входу ядро фільтру розміром 5 × 5 в перших двох шарах та 3 × 3 в останніх

трьох шарах. Потім застосовується нелінійна функція RELU (3.2).

A ( x )=max (0 , x) (3.2)

Нарешті, шар об'єднання сумує області зображень і виводить зменшену

версію вводу. У той час як висота зображення зменшується на 2 в кожному

шарі, додаються карти (канали) об'єктів, так що карта виходу (або

послідовність) має розмір 32 × 256.

RNN: послідовність признаків містить 256 признаків за такт, RNN

поширює відповідну інформацію через цю послідовність. Застосовується

популярна реалізація RNN з довгостроковою пам’яттю, оскільки вона здатна

поширювати інформацію на великі відстані і забезпечує більш надійну

тренувальну характеристику, ніж звичайна RNN. Вихідна послідовність RNN

відображається в матрицю розміром 32 × 80. База даних IAM складається з 79

різних символів, ще один додатковий символ необхідний для операції CTC

(порожня мітка CTC), тому існує 80 записів для кожного з 32-х тимчасових

кроків.

CTC: під час навчання нейронної мережі, CTC отримує вихідну

матрицю RNN і текстову інформацію про правдивий текст на зображенні, і

обчислює значення втрат. Підчас розпізнавання, CTC отримує тільки

матрицю і розшифровує її в кінцевий текст. Довжина правдивого тексту і

розпізнаного тексту може бути не більше 32 символів.

На вхід даної нейронної мережі подаються чорно-білі зображення

розміром 128 × 32. Зазвичай, зображення з набору даних який

використовується для навчання нейронної мережа не мають точно такого

розміру, тому ми змінюємо його розмір (без спотворень), щоб змінене

зображення мало ширину 128 або висоту 32. Потім ми копіюємо зображення

в пусте зображення розміром 128 × 32. Після, цього ми нормалізуємо

значення кольору зображення, що спрощує завдання для нейронної мережі.

ІАЛЦ.467800.003 ПЗ 50

Арк.

ДатПідпи№ докум.АркЗм.

Page 59: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

Збільшення даних можна легко інтегрувати, скопіювавши зображення у

випадкові позиції, замість вирівнювання його ліворуч, або шляхом

випадкової зміни розміру зображення.

Результат CNN: на рисунку 3.2 показаний результат шарів CNN, який є

послідовністю довжиною 32. Кожен запис містить 256 ознак. Звичайно, ці

признаки додатково обробляються шарами RNN, однак деякі признаки вже

демонструють високу кореляцію з деякими високорівневими властивостями

вхідного зображення: є признаки, які мають високу кореляцію з символами

(наприклад, "e"), або з повторюваними символами (наприклад, "tt"), або з

властивостями символів, такими як петлі (які містяться в рукописному "l" або

"e").

Рисунок 3.2 – Результат розпізнавання після шару CNN

ІАЛЦ.467800.003 ПЗ 51

Арк.

ДатПідпи№ докум.АркЗм.

Page 60: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

Результат RNN: на рисунку 3.3 показана візуалізація вихідної матриці

RNN для зображення, що містить текст «little». Матриця, показана на

верхньому графіку, містить бали для символів, включаючи порожню мітку

CTC як її останній запис. Інші записи матриці, зверху вниз, відповідають

наступним символам:

“!”#&’()*+,./0123456789:;?

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz”

Можна побачити, що більшість раз символи передбачаються точно в

тому місці, де вони з'являються на зображенні (наприклад, можна порівняти

положення «i» на зображенні і на графіку). Лише останній символ “e” не

вирівняно. Але це нормально, тому що операція CTC не має сегментації і не

дбає про абсолютні позиції. На нижньому графіку, що показує бали для

символів "l", "i", "t", "e" і порожньої мітки CTC, текст може бути легко

декодований: просто приймаємо найбільш вірогідний символ з кожного

такту, це утворює так званий кращий шлях, потім ми викидаємо повторювані

символи і, нарешті, всі пропуски:

«l---ii---t-t--l-… -e» → «l---i---t-t--l-...-e»→«little».

ІАЛЦ.467800.003 ПЗ 52

Арк.

ДатПідпи№ докум.АркЗм.

Page 61: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

Рисунок 3.2 – Результат розпізнавання після шару RNN

ІАЛЦ.467800.003 ПЗ 53

Арк.

ДатПідпи№ докум.АркЗм.

Page 62: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

ВИСНОВКИ ДО РОЗДІЛУ 3У даному розділі було розглянуто аспекти вибору платформи для

реалізації, мови програмування, допоміжних бібліотек для реалізації

розпізнавання рукописного тексту, та наведено обґрунтування зробленого

вибору з різних точок зору. Враховуючи вимоги до програмного продукту

було вибрано мову програмування, платформу реалізації, та обрано

допоміжні бібліотеки, які спростять процес розробки та дозволять

побудувати нейронну мережу для розпізнавання рукописного тексту, з

достатньою точністю.

Було проведено опис роботи моделі нейронної мережі для

розпізнавання рукописного тексту. Розроблено структуру нейронної мережі,

яка проектувалась із розрахунком на можливе покращення для збільшення

точності розпізнавання рукописного тексту.

ІАЛЦ.467800.003 ПЗ 54

Арк.

ДатПідпи№ докум.АркЗм.

Page 63: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

ВисновкиДаний дипломний проект присвячений дослідженню системи

розпізнавання рукописного тексту за допомогою нейронних мереж, метою

роботи було створення програмного продукту для розпізнавання зображень

рукописного тексту.

Під час виконання роботи було розглянуто актуальність проблеми

розпізнавання рукописного тексу шляхом використання нейронної мережі.

Визначено акцент на реалізацію функціоналу в рамках однієї системи в якій

пов’язані нейронна мережа для розпізнавання тексту та Telegram бот. Також

було досліджено літературу на предмет реалізацій алгоритмів розпізнавання

тексту, визначено головні переваги та недоліки готових алгоритмів

розпізнавання. Було проведено аналіз готових реалізацій програмних

продуктів системи розпізнавання рукописного тексту та визначено їх головні

переваги та недоліки. На основі даних досліджень було сформовано список

вимоги до системи розпізнавання.

Проведено дослідження предметної області, визначено вимоги і

завдання, які повинна вирішувати система, побудовано діаграму варіантів

використання, наведено перелік прецедентів та на основі цього було

побудовано діаграми послідовностей, які вказують на виконання операцій в

часовому порядку. Також було спроектовано нейронну мережу та всі етапи

розпізнавання рукописного тексту, а саме, попередня обробка, сегментація,

отримання признаків, класифікація та розпізнавання. Також було розроблено

концепт інтерфейсу користувача.

Виходячи із заданих вимог проведено аналіз можливості використання

наявних технологій та платформ для реалізації системи розпізнавання

рукописного тексту. Обрано платформу для розробки даної системи, а саме:

віддалений сервер з операційною системою Linux, на якому буде

розміщуватись тренована нейронна мережа, та Telegram бот в якості

інтерфейсу користувача. Також було обрано мову програмування для

реалізації двох частин розробленої системи розпізнавання рукописного

ІАЛЦ.467800.003 ПЗ 55

Арк.

ДатПідпи№ докум.АркЗм.

Page 64: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

тексту, та було проведено аналіз допоміжних бібліотек для написання

додатку, визначено та обґрунтовано доцільність їх використання. В рамках

додатку реалізовано, заздалегідь визначений, функціонал який описаний в

розділі 2. В процесі реалізації передбачена можливість при потребі

покращення результатів розпізнавання рукописного тексту шляхом

збільшення точності розпізнавання.

ІАЛЦ.467800.003 ПЗ 56

Арк.

ДатПідпи№ докум.АркЗм.

Page 65: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

Список використаної літератури[1] Vats I. Offline Handwritten English Numerals Recognition using

Correlation Method / I. Vats, S. Singh. // International Journal of

Engineering Research and Technology. – 2014. – №6. – С. 1626–1629.

[2] Singh G. Recognition of Handwritten Hindi Characters using Back

propagation Neural Network / G. Singh, S. Lehri. // International Journal of

Computer Science and Information Technologies. – 2012. – №4. – С. 4892–

4895.

[3] Devnagiri Character Recognition Using Neural Networks / [S. S. Sayyad, A.

Jadhav, M. Jadhav та ін.]. // International Journal of Engineering and

Innovative Technology. – 2013. – №1. – С. 476–480.

[4] Patel K. Offline Handwritten Character Recognition: A Review / K. Patel,

M. Gandhi. // International Journal of Scientific & Engineering Research. –

2016. – №5. – С. 193–196.

[5] Fuzzy Based Handwritten Character Recognition System / S.Borde, E. Shah,

P. Rawat, V. Patil. // International Journal of Engineering Research and

Applications. – 2012. – С. 151–154.

[6] Dongare S. A. Handwritten Devanagari Character Recognition using Neural

Network / S. A. Dongare, D. B. Kshirsagar, S. V. Waghchaure. // IOSR

Journal of Computer Engineering. – 2014. – №14. – С. 74–79

[7] Patil M. B. Recognitio0n of Handwritten Devnagari Characters through

Segmentation and Artificial neural networks / M. B. Patil, V. Narawade. //

International Journal of Engineering Research & Technology. – 2012. – №1.

– С. 1–15.

[8] Kaur M. A recognition system for handwritten gurmukhi characters / M.

Kaur, S. Kumar. // International Journal of Engineering Research &

Technology. – 2012. – №1. – С. 1–5.

[9] Nohaj M. Image preprocessing for optical character recognition using neural

ІАЛЦ.467800.003 ПЗ 57

Арк.

ДатПідпи№ докум.АркЗм.

Page 66: ela.kpi.ua · Web viewVats I. Offline Handwritten English Numerals Recognition using Correlation Method / I. Vats, S. Singh. // International Journal of Engineering Research and Technology

networks / M. Nohaj, R. Jaka. // Journal of Patter Recognition Research. –

2011. – С. 1–11.

[10] Sharma N. Recognition for Handwritten English Letters: A Review / N.

Sharma, T. Patnaik, K. Bhupendra. // International Journal of Engineering

and Innovative Technology. – 2013. – №2. – С. 318–320.

[11] Ghouzam Y. Digit Recognizer [Електронний ресурс] / Yassine Ghouzam.

– 2017. – Режим доступу до ресурсу:

https://www.kaggle.com/yassineghouzam/introduction-to-cnn-keras-0-997-

top-6.

ІАЛЦ.467800.003 ПЗ 58

Арк.

ДатПідпи№ докум.АркЗм.