Факультет математики і комп'ютерних наук
Кафедра інформаційної безпеки
Курсова робота
по дисципліни В«Мови програмуванняВ»
на тему В«Розпізнавання образів (на прикладі цифр) В»
Т 2009
Зміст
Введення
Глава 1. Принципи розпізнавання образів
1.1 Система розпізнавання образів
1.2 Нейронні мережі
1.2.1 Розпізнавання образів
Глава 2. Опис програмного засобу
2.1 Алгоритм
2.2 Технічна реалізація
2.3 Опис інтерфейсу
Висновок
Додаток 1
Список літератури
Введення
Програма призначена для розпізнавання цифр.
Основою програми є нейромережа, що імітує штучний інтелект, тим самим, дозволяючи навчати програму і запам'ятовувати образи цифр, для вірного розпізнавання їх при подальшому використанні програми.
Актуальність програми обумовлена ​​популярністю на ринку програмних продуктів подібного типу (для розпізнавання образів) і їх широкого застосування в КПК, смартфонах, ноутбуках, т.д.. Програмне забезпечення для розпізнавання образів розробляється багатьма компаніями і є одним з інноваційних продуктів на сучасному ринку.
Глава 1
Принципи розпізнавання образів
1.1 Система розпізнавання образів
Завдання розпізнавання (Точніше, класифікації) об'єкта ставиться таким чином. Є певний спосіб кодування об'єктів (наприклад, рукописних букв), що належать заздалегідь відомому кінцевому безлічі класів C = {C 1 , ..., C q }, і деякий кінцеве безліч об'єктів (навчальна множина), про кожен з яких відомо, якого класу він належить. Потрібно побудувати алгоритм, який з будь вхідному об'єкту, не обов'язково належить обучающему безлічі, вирішує, якого класу цей об'єкт належить, і робить це досить добре. Якість розпізнавання оцінюється як імовірність (т.е.частота) помилки класифікації на іншому кінцевому множині об'єктів із заздалегідь відомими відповідями (тестовому безлічі).
Типова система розпізнавання складається з трьох частин: витяг ознак, власне розпізнавання і прийняття рішення.
Витяг ознак - це перетворення вхідних об'єктів до одноманітного, компактному та зручному увазі з втратою переважної частини міститься в об'єкті інформації, слабо впливає на класифікацію. Зручним виявляється уявлення об'єкта точкою стандартного евклідового простору R d , що належить деякому фіксованому компакту (кубу, кулі, сфері, ...). Розмірність d повинна бути достатньо великий для успішного (в сенсі якості) розпізнавання і досить малої для успішного (в сенсі швидкості) розпізнавання - реально це порядка декількох десятків. Спосіб витягу ознак залежить від природи і вихідної кодування об'єктів і підбирається вручну. Наприклад, траєкторію миші або пера, початково закодовану послідовністю довільної довжини (порядку сотні), складається з пар координат точки, зручно кодувати послідовністю фіксованої довжини пар коефіцієнтів апроксимуючих траєкторію поліномів невеликий ступеня (порядку десятка), та ще й вільні члени можна відкинути, як не впливають на класифікацію. Бажані значення F в точках простору ознак, відповідних обучающему безлічі, відомі, так що залишається тільки побудувати в деякому розумінні апроксимується відображення. Якість апроксимації буде перевірятися не на всій області визначення, а тільки на тестовому безлічі. Інтерпретацією обчислених імовірностей займається окрема від розпізнавання процедура прийняття рішень, яка будується вручну і не залежить ні від природи вхідних об'єктів, ні від простору ознак, ні від навчальних даних. Вона залежить тільки від того, для чого ця система розпізнавання призначена. Наприклад, якщо вона використовується як безвідповідальна ворожка, то вона просто видає номер найімовірнішого класу. Якщо вона використовується як відповідальна ворожка, то вона видає номер найімовірнішого класу, якщо його ймовірність істотно більше ймовірностей інших класів, і відповідає `` не знаю'' в іншому випадку. Якщо вона використовується для генерації гіпотез, то вона видає номери декількох (Наприклад, п'яти) найбільш вірогідних класів та їх ймовірності.
У минулому столітті на уроках краснопису першокласників спочатку довго змушували малювати палички, гачки і кружечки, і тільки потім вчили складати з них літери. У реальному життя люди теж пишуть (і розпізнають!) букви як послідовності невеликих типових елементів, але не настільки однакових, як у прописах. Наприклад, дві вертикальні палички, перекреслені горизонтальній, - це, ймовірно, буква `Н '. І якщо вертикальні палички - не зовсім палички або не зовсім вертикальні, то все одно `Н '. Але якщо вони зверху зближуються, то більше схоже на `А ', а якщо горизонтальна паличка знаходиться високо, то на `П '.
При машинному розпізнаванні зручніше виділяти не тільки і не стільки палички і гачечки, скільки способи їх стиковки один з одним: спрямовані в різні боки галочки, петельки, Т-образні розгалуження і т.п. Припустимо, що ця чорнова робота пророблена, і досліджуваний фрагмент рукописного тексту закодований у вигляді послідовності таких характеристичних елементів, упорядкованих якось зліва направо зверху вниз. Питання: наскільки ця послідовність схожа на букву `А '? Те ж питання для всіх інших розпізнаваних символів.
Спробуємо змоделювати побудова однієї літери у вигляді послідовності елементів. По-перше, літера може мати кілька істотно різних написань (наприклад, `А ' трикутне, `А 'трикутне із завитками,` А' кругле, ...) і їх потрібно моделювати окремо. По-друге, навіть одне написання однієї літери в залежності від почерку породжує різні послідовності характеристичних елементів. По-третє, крім правильних написань бувають неправильні (рука здригнулася, клякса, ручка погано пише, ...). Всіх можливостей не передбачиш, тому будемо моделювати тільки кілька найбільш часто зустрічаються варіантів і те, що виходить з них невеликими збуреннями.
Виписування послідовності Q i1 , ..., Q iL з L характеристичних елементів доручимо детермінованого кінцевого автомата з L +1 станами з 1 , ..., з L +1 , який у кожному l-м, l п‚Ј L, стані C l породжує елемент Q il і переходить в наступний стан. А для породження можливих `` невеликих збурень'' послідовності перетворимо автомат в стохастичний: в i-му стані він може породжувати будь-який елемент Q j з імовірністю b ij і з імовірністю a ij
переходити в близьке до i +1- му j-й стан. Як правило, a ij > 0 тільки при i п‚Ј j п‚Ј i +2, тобто крім переходу в наступний стан допускаються проскакування його і затримка в поточному стані. Істотно, що a ij = 0 при i> j. Такі моделі називаються LR-моделями (left-right, зліва направо). Ймовірності b i, ij і a i, i +1 успадкованих від детермінованого автомата дій природно вважати близькими до 1, а інші позитивні ймовірності - близькими до 0, хоча це й не обов'язково. Зауважимо, що кожний стан детермінованого автомата мало точний сенс (`` Виписано стільки-то елементів такої-то послідовності''), а у стохастичного автомата цей точний сенс вже втрачено.
Автомати для декількох варіантів написання символу об'єднуються в один автомат, що моделює символ: до їх незв'язних об'єднанню додається загальне початковий стан C 0 , який не породжує ніякого характеристичного елемента і з якого можливі переходи в початкові і другі стану всіх варіантів, а їх кінцеві стану склеюються.
Така модель символу дозволяє відповісти на питання, наскільки якась послідовність характеристичних елементів схожа на цей символ: настільки, яка ймовірність породження її моделлю символу. Ці ймовірності мож...