Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Автореферат.doc
Скачиваний:
7
Добавлен:
19.02.2016
Размер:
925 Кб
Скачать
☆

Основний зміст роботи

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

У першому розділі проведено аналіз задачі рукописного введення математичних виразів. Для цього розглянуто сучасні підходи технології до розвязання задач розпізнавання рукописних символів.

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

  • алгоритми, засновані на порівнянні шаблонів;

  • алгоритми, засновані на методах теорії рішень;

  • алгоритми, що використовують нейронні мережі.

Всі перераховані вище групи алгоритмів мають, у цілому, однакову структуру й містять такі блоки:

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

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

Проведено короткий огляд найкращих на сьогодні ОCR-систем розпізнавання символів. Серед закордонних фірм, що займаються вирішенням проблеми створення систем розпізнавання символів, можна назвати такі як: Cardiff Software, Inc.; Cobra Technologies, Kofax Image Products; Kurzweil Educational Systems, Inc.; Legato Systems, Inc.; Notable Solutions Inc.; ReadSoft AB; Saperion AG; Siemens Nixdorf; Toshiba Corporations. До найбільш відомих існуючих систем можна віднести системи автоматичного розпізнавання текстів, написаних стилізованими шрифтами: Fine Reader; CuneiForm; Tiger; OmniPage; Recognita.

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

У другому розділі проведено теоретичні дослідження з розробки методів рукописного введення виразів. Для цього було визначено та детально розглянуто головні етапи рішення задачі рукописного введення математичних виразів, які представлено у вигляді схеми процесу розпізнавання, рис 1.

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

  1. підзадачі блоку навчання системи на наборі образів подібним тим, які будуть розпізнаватися системою в майбутньому:

    1. підзадачі навчання.

    2. підзадачі, пов’язані зі збереження результатів навчання;

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

    1. підзадача, пов’язана з розпізнаванням образів.

    2. підзадача, пов’язана з класифікацією незнайомих образів за допомогою математичного апарата (класифікатора).

Також був розроблений візуальний компонент для відображення введеного (розпізнаного) образу.

На вході підзадачі навчання – конфігураційний файл у форматі XML, який описує символи і тека з растровими зображеннями відповідних символів, на виході необхідно отримати множину характеристик усіх описаних у конфігураційному файлі символів.. Підзадачу навчання вирішено шляхом реалізації перетворення зображення у відтінки сірого, генерації бінарної матриці на основі отриманого зображення і збору множини характеристик..

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

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

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

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

  1. Знаходиться кількість (N) характеристик, які використовуються для охарактеризування символу.

  2. Обираємо першу характеристику.

  3. Отриману характеристику застосовуємо до вхідної бінарної матриці.

  4. В результаті отримуємо числове значення (яке відповідає поточній характеристиці), записуємо це значення в пам’ять.;

Алгоритм знаходження інваріантних моментів

  1. Знаходимо координати центра ваги малюнка:

  1. Знаходження координати x за формулою

  1. Знаходження координати у за формулою:

  1. Знаходимо центральні моменти, за формулою:

де –координати центра ваги.

  1. Знаходимо інваріантні моменти, використовуючи формулу:

На вході підзадачі збереження результатів навчання – множина характеристик, на виході необхідно отримати файл в форматі XML, який буде викоританий у блоці розпізнавання.

На вхід системи розпізнавання подається файл характеристик, що містить в собі усі необхідні дані для розпізнавання образів. Вхідний файл використовується при розпізнаванні введеного користувачем символу.

Алгоритм, що відносить незнайомий образ до одному із класів (класифікатор). На вхід даного алгоритму подається введене зображення або зображення та критерій подібності. На виході ми отримаємо символ або декілька символів.

Визначення декількох символів подібних до введеного.

  • Перетворення зображення у бінарну матрицю.

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

  • Зчитування введеного користувачем зображення.

  • Обираються всі символи, відстань до векторів характеристик мінімальна, та вони задовольняють критерію подібності К.

  • Будується набір розпізнаних символів, з-поміж яких користувач зможе вибрати введений символ.

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

Сценарій роботи підсистеми навчання розроблений для процесу навчання програмної системи рукописного введення математичних виразів. Користувач повинен створити еталонні зображення, що будуть використані для генерації наборів характеристик. На вхід бажано подавати зображення, які відповідають наступним вимогам:

  • однаковий розмір зображення (це прискорить швидкість і збільшить ймовірність розпізнавання образів);

  • зображення має бути представлене в однаковому форматі (BMP, GIF (decoder only), JPEG, PNG, TIFF, WBMP);

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

Всі вище наведені вимоги не є строгими, адже підпрограма навчання легко конфігурується за допомогою конфігураційного файлу XML. Саме цей файл буде подаватися на вхід підсистеми навчання.

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

Для застосування сценаріюроботи підсистеми розпізнаванняпрограма має бути встановлена на мобільному пристрої, або запущена на емуляторі і містити в собі дані, отримані на етапі навчання. Сценарій роботи розроблений для типового (по замовчуванню) режиму роботи:

Рисунок 2. Сценарій роботи підсистеми розпізнавання

Для програмної реалізації обрано мову програмування Java та засіб розробки Android Development Toolkit (Eclipse plugin). Для проектування обрано об’єктно-орієнтований підхід. Детально розроблена і описана архітектура програмної системи, яка побудована з урахуванням сучасних вимог до проектування програмного забезпечення. При проектуванні програмної системи були використані наступні шаблони проектування:

  • породжуючі шаблони – Builder, Factory Method, Singleton, Monostate;

  • шаблони поведінки – Observer, Strategy, Template Method, Command;

  • системні шаблони – Model-View-Controller;

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

Підсистема навчання

Підсистема навчання поставляється у вигляді програми, яка запускається на персональному комп’ютері. Оскільки програмна система розроблена з використанням технології Java, то вона може бути запущена на комп’ютері під управлінням будь-якої сучасної ОС (Windows, Linux, Mac OS).

Процес навчання складається з двох частин:

  • Зчитування та адаптація вхідних даних.

  • Генерація результатів навчання.

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

  1. користувач повинен легко вносити зміни в конфігураційні файли;

  2. наочність і простота представлення інформації;

  3. файли мають бути незалежними від середовища запуску (персональний комп’ютер, мобільний пристрій);

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

Оскільки файли, що отримуються на виході підсистеми навчання, подаються на вхід підсистеми розпізнавання, було прийнято рішення розробити загальну «Бібліотеку обробки XML». Саме ця бібліотека використовується у всіх підсистемах для роботи з XML.

Також була розроблена загальна бібліотека для розпізнавання «Бібліотека OCR». Ця бібліотека містить лише базові методи, які необхідно розширювати в залежності від місця її використання. Важливим є також те, що бібліотека може бути використана для будь-якого набору символів, тобто не лише для математичних виразів. Як видно з архітектури системи, ця бібліотека використовується також в обох програмних підсистемах.

Як було зазначено вище, на вхід системи навчання подається конфігураційний файл в форматі XML і тека з зображеннями вхідних символів. За допомогою «Бібліотеки завантаження вхідних даних» дані завантажуються в систему. Завантажені дані обробляються програмою з використанням «Бібліотеки навчання». За допомогою розроблених методів та алгоритмів відбувається процес навчання, результати якого обробляються за допомогою «Бібліотеки генерації результатів навчання». Результати навчання також зберігаються у вигляді XML файлу, який містить в собі набір характеристики для усіх символів (образів), що були подані на вхід програми.

Отриманий на етапі навчання файл характеристик копіюється на мобільний пристрій будь-яким можливим способом:

  • по дроту, що з’єднує персональний комп’ютер і мобільний пристрій;

  • за допомогою Bluetooth;

  • завантажити файл з Інтернету, але для цього файл попередньо треба завантажити на веб-сервер;

Підсистема розпізнавання

На вхід системи розпізнавання подається файл характеристик, що містить в собі усі необхідні дані для розпізнавання образів. Вхідний файл використовується «Бібліотекою розпізнавання», яка в свою чергу розширює загальну «Бібліотеку OCR» і відповідає за розпізнавання введеного користувачем символу.

Оскільки не існує стандартного компоненту для відображення введеної користувачем формули, був розроблений візуальний компонент для відображення математичного виразу. Візуальний компонент був розроблений, виходячи з наступних вимог:

  1. можливість введення цифр, змінних та операцій;

  2. можливість введення степенів чисел та змінних;

  3. можливість введення індексів змінних;

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

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

  • операція (operation) – відсутні будь-які індекси;

  • константа (constant) – наявність лише верхнього індексу (степінь);

  • змінна (variable) – наявність верхнього і нижнього індексів;

  • оператор (operator) – складні оператори, які містять в собі індекси і основну частину;

  • інші (custom) – всі інші образи, що не належать до вище наведених типів, наприклад корінь.

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

Обґрунтовано вибір ітеративної моделі водоспаду життєвого циклу програмної системи рукописного введення математичних виразів. Висунуто вимоги до технічних та програмних засобів, на базі яких буде використовуватись спроектована програмна система.

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

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

Таблиця 1. Дослідження швидкості розпізнавання

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

Час, мілісекунд.

Знаки (+,-,/,…)

200

Числа (1,2,3…)

520

Літери (a, b, c…)

540

Складні символи (, , …)

700

За отриманимирезультатами побудуємо залежністьчас-тип образу, рис.4.

Рисунок 4. Залежність часової складності від вхідних даних (образів).

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

Таблиця 2. Дослідження точності розпізнавання образів

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

Символи/Симво­ли, що розпізнані правильно.

Відсоток розпізнавання, %

Знаки(+,-,/,…)

16/5

31,25

Числа (1,2,3…)

16/9

56,25

Літери (a, b, c…)

16/7

43,75

Складні символи (, , …)

16/11

68,75

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

Рисунок 5. Залежність ймовірності розпізнавання від типу вхідних образів

За результатами проведених досліджень можна зробити висновок, що програмна система працює за псевдополіноміальною залежністю, тобто час розв’язання поставленої задачі залежить не тільки від розмірності вхідних даних, а й від інших факторів, наприклад від складності зображення.

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]