Вирішення задач локалізації об'єктів за допомогою згорткових нейронних мереж
Принципи навчання простої штучної нейронної мережі з використанням алгоритму зворотного поширення помилки. Розпізнавання п'ятьох видів нормальних і п'ять видів дефектних кісток на рентгенівських зображеннях, а також оцінка точності розпізнавання.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | украинский |
Дата добавления | 11.08.2021 |
Размер файла | 670,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського»
Вирішення задач локалізації об'єктів за допомогою згорткових нейронних мереж
Музиченко В.І.,
магістр кафедри технічної кібернетики
Корнага Я.І.,
кандидат технічних наук, доцент кафедри технічної кібернетики
Анотація
нейронний мережа кістка рентгенівський
Останнім часом додатки з функцією розпізнавання образів задіяні в багатьох областях, починаючи з наукових досліджень, медицини, і до боротьби зі злочинністю шляхом розпізнавання відбитків пальців. Для будь-якого лікаря рентген знімки кісток грають дуже велику і важливу роль в постанові діагнозів, іноді це має бути підставою до хірургічних операцій. У цій статті об'єднані два розділи (розпізнавання дефектів кісток) шляхом навчання простої штучної нейронної мережі з використанням алгоритму зворотного поширення помилки, щоб розпізнати п'ять видів нормальних і п'ять видів дефектних кісток на рентгенівських зображеннях, а потім оцінити точність розпізнавання. З процесу навчання мережі ясно, що більша кількість прихованих нейронів збільшує час обробки. Форма зображень грає важливу роль в процесі розпізнавання. Очевидно, що мережа повинна вибирати мінімальну кількість прихованих нейронів, щоб вона як і раніше визначала максимальну продуктивність мережі.
Ключові слова: нейронна мережа, розпізнавання образів, кістки, рентгенівське зображення, алгоритм зворотного поширення помилки.
Abstract
Pattern recognition of defective bones x-ray using artifical neural network
Recently, applications with image recognition function are involved in many areas, ranging from research, medicine, and to crime detection through fingerprint recognition. For any X-ray doctor, photos of bones play a very large and important role in the resolution of diagnoses, sometimes it should be the basis for surgical operations. This article combines two sections (recognition of bone defects) by learning a simple artificial neural network using an error-reversal algorithm to identify five types of normal and five types of defective bones on X - rays and then evaluate the accuracy of the recognition. From the learning process of the network it is clear that the greater the number of hidden neurons increases processing time. The shape of the images plays an important role in the recognition process. Obviously, the network should choose the minimum number of hidden neurons, so that it still determines the maximum network performance.
Key words: neural network, pattern recognition, bones, X ray image, back propagation algorithm.
Основна частина
Постановка проблеми
Робота над штучними нейронними мережами, з самого початку була мотивована завдяки визнанню того, що людський мозок обчислює зовсім інакше, ніж звичайний цифровий комп'ютер. Мозок - дуже складна, нелінійна і паралельна система обробки інформації. Він має можливість організовувати свої структурні складові, котрі відомі як нейрони, для виконання певних обчислень (наприклад, розпізнавання образів, сприйняття, управління моторикою) у багато разів швидше, ніж найшвидший з сучасних цифрових комп'ютерів.
Аналіз досліджень та публікацій
Мозок зазвичай виконує завдання розпізнавання сприйняття (наприклад, розпізнаючи знайоме обличчя, в незнайомій сцені) приблизно через 100-200 мс, тоді як, використовуючи звичайний комп'ютер, завдання з набагато меншою складністю можуть зайняти цілі дні. Для іншого прикладу розглянемо сонар кажана. Sonar - це активна система ехолокації. На додаток до передачі інформації про те, як далеко знаходиться ціль (наприклад, комаха), сонар кажана передає інформацію про відносну швидкость цілі, розміри цілі, різних розмірні ознаки цілі та азимута і висоти цілі. Складні нейронні обчислення, необхідні для отримання всієї цієї інформації з цільового відбитого звуку, відбуваються в мозку розміром з сливу. Дійсно, коефіцієнт успіху ехолоції кажана, котра може успішно захопити свою ціль не зважаючи на перешкоди, може бути предметом заздрості для будь-якого радіолокатора. Як же тоді мозок людини або мозок кажана робить це? При народженні мозок має складну структурну здатність створювати свої власні правила котрі ми зазвичай називаємо «досвідом». Дійсно, досвід формується з найбільш вражаючим розвитком людського мозку, який триває протягом перших двох років з моменту народження, але розвиток продовжується і набагато пізніше цього етапу [1].
Виділення невирішених раніше частин проблеми
Головне питання полягає в тому, чи можна за допомогою нейронної мережі з алгоритмом зворотного поширення помилки локалізувати об'єкти на зображені, в даному випадку кістки людського тіла, з високою точністю та достатньою швидкістю, та визначити шляхи оптимізації роботи системи.
Ціль статті
Визначення необхідних умов для успішного навчання нейронної мережі, та дослідити можливі фактори впливу на її роботу. Опис необхідних етапів для підготовки та навчання нейронної мережі, таких як збір зображень для навчання, їх підготовка та обробка. Визначення впливу зміни параметрів на результати роботи нейронної мережі.
Викладення основного матеріалу
1. Нейронні мережі
Останнім часом нейронна мережа стає більш популярною як техніка для розпізнавання образів. Було досліджено, що нейронні мережі можуть забезпечити високу точність розпізнавання. Нейронні мережі здатні забезпечити хороше розпізнавання образів з наявністю шуму, тоді коли інші методи зазвичай не спрацьовують.
Штучна нейронна мережа (ANN) - це парадигма обробки інформації, яка взяла наднення з біологічною нервовою системою як прикладом (1), таким як мозок, інформація про процес. Ключовим елементом цієї парадигми є нова структура системи обробки інформації. Вона складається з великої кількості взаємопов'язаних оброблених елементів (нейронів), що працюють в унісон для вирішення конкретних проблем. ANN, як і люди, вчаться на прикладі. ANN, показаний на малюнку (2), налаштовується для конкретного додатка, такого як розпізнавання образів або класифікація даних, через процес навчання. Навчання в біологічних системах включає в себе коригування синаптичних зв'язків, що існують між нейронами. Це відноситься і до ANN. Нейронні мережі з їх чудову здатність витягувати сенс зі складних або неточних даних можуть використовуватися для отримання шаблонів і виявлення тенденцій, які занадто складні, щоб їх помітили люди або інші комп'ютерні методи. Навчена нейронна мережа може розглядатися як «експерт» в категорії інформації, яку вона давала аналізу.
2. Зворотний алгоритм поширення помилки
Навчання шляхом зворотного поширення помилки стало найпопулярнішим методом навчання нейронних мереж. Причиною популярності є простота і відносна потужність алгоритму. Поширення назви насправді походить від терміна, використовуваного Розенблатта (1962) для його спроби узарежі на багатошаровий випадок [4,5]. BPN (back propagation) - це свого роду контрольована навчальна нейронна мережа, вона є один з найбільш часто використовуваних методів навчання в нейронних мережах. Принцип, що лежить в основі BPN, полягає в використанні методу градієнтного спуску для досягнення мінімума функції. Загальна модель BPN має архітектуру, що складається з трьох рівнів, включаючи вхідний рівень, прихований рівень і вихідний рівень. Два вузла кожного суміжного шару безпосередньо пов'язані один з одним, що називається з'єднанням. Кожне з'єднання має зважене значення, яке представляє ступінь відношення між двома вузлами. Процес навчання, що описується наступними рівняннями (включаючи рівняння помилки і рівняння ваги), оновлює ці зважені значення.
Rumelhart і McClelland визначають термін помилки, який залежить від різниці між вихідними значеннями, які повинен мати вихідний нейрон, який називають цільовим значенням Tj, і значенням, яке воно фактично має в результаті прямих обчислень подачі, Oj. Термін помилки являє собою показник того, наскільки добре мережу тренується в певному навчальному наборі. Рівняння (1) містить визначення помилки. Нижній індекс p позначає, яке значення для даного шаблону
Ep=j = lrj (TPj - OPj) 2 (1)
Мета навчального процесу - мінімізувати цю помилку за всіма прикладами навчання. Вихід нейрона у вихідному шарі є функцією його введення, або Oj = f (Ij). Перша похідна цієї функції f '(Ij) є важливим елементом поширення зворотного зв'язку. Для нейронів вихідного шару величина, яка називається сигналом помилки, представлена Aj, яка визначена в рівнянні (2).
ЛІ = f '(Ij) (ТІ - Oj) = (Tj - Oj) Oj (l - Oj) (2)
Значення помилки повертається назад і виконуються відповідні коригування ваги. Це робиться шляхом накопичення A для кожного нейрона всього набору тренувань, додавання їх і поширення помилки на основі загальної суми A. Це називається періодичним (епохальним) навчанням [19]. Існують два основних параметри, які впливають на здатність навчання нейронної мережі. По-перше, коефіцієнт навчання, який визначає навчальну здатність нейронної мережі. По-друге, коефіцієнт нейронна мережа. Це можна скорегувати до певного значення, щоб запобігти проникненню нейронної мережі в так звані локальні енергетичні мінімуми. Обидві швидкості можуть мати значення від 0 до 1. Кожна вага має бути встановлений на початкове значення. Зазвичай виконується випадкова ініціалізація. Корекція ваги виконується поетапно, починаючи з кінця фази подачі вперед і повертаючись назад до входів прихованого шару.
Ваги, які складають вихідний шар (Wjh), оновлюються з використанням рівняння (3). Сюди також входять ваги зміщення на нейронах вихідного шару. Однак, щоб уникнути ризику потрапляння нейронної мережі в локальні мінімуми, можна додати момент імпульсу, як в рівнянні (4)
Wjh (new) = Wjh (old) + AjOh (3)
Wjh (new) = Wjh (old) + AjOh + a [Wjh (old)] (4)
Де Wjh (минулий) означає попередня зміна ваги. Термін помилки для вихідного шару визначається в рівнянні прихованого шару, це не просто, однак визначення Румельхарта і Макклелланд описує термін помилки для прихованого нейрона, як в рівнянні (5), а потім в рівнянні (6).
Ah = f '(Ih) (5)
Ah = Oh (1 - Oh) (6)
Регулювання ваги для з'єднань, які представляють в прихований шар з вхідного шару, обчислюються аналогічно тим, які подають вихідний шар.
Ці коригування розраховуються з використанням рівняння (7)
Whi (new) = Whi (old) + Ah Oi + a [Whi (old)] (7)
Зміщення ваги в нейронах прихованого шару оновлюються, аналогічно, використовуючи рівняння (7).
3. Опис рентгенівських променів кісток
Штучна нейронна мережа, може розпізнавати різноманітні символи з дефектами на рентгенівських знімках і без них.
Рисунок 1. Блок-схема системи
На блок-схемі нижче показані три этапи алгоритму:
4. Отримання бази даних
Спочатку природні і дефектні зображення рентгенівських знімків, зібрані з Інтернету, обрізаються програмою Photoshop, потім зберігаються як (.jpg) зображення, після чого всі зображення змінюються в розмірах і цей розмір становить 200 х 200 пікселів, тут представлені 5 форм зображень кісток використовувані в цій статті 3 форми їх для навчання, а решта 2 для тестування навченого ANN. Для тренувальних зображень використовуються зображення природних кісток, повернені зображення вправо і повернені зображення зліва. Для тестових зображень використовуються: дефектні зображення кісток і перевернуті дефекти до 180 градусів, потім наступний приклади, які використовувалися для навчання і тестування ANN.
5. Операція модифікації
На цьому рівні зображення модифікуються для подачі в штучну нейронну мережу, і ця операція складається з трьох частин: спочатку зміна розмір всіх зображень, перетворіть в двійкову форму (режим сірої шкали), а потім третя частина повинна виправдати значення пікселів, розділивши значення кожного пікселя на 255, щоб зафіксувати значення всіх пікселів в зображенні між нулем і одиницею.
6. Обробка
Після збору зображень і підготовки їх до завантаження до нейронної мережі, вона навчається за допомогою алгоритму Back Propagation з використанням трьох типів навчальних образів. Щоб навчити штучну нейронну мережу, потрібно спочатку знайти реальні компоненти алгоритму Back Propagation, а потім потрібно визначити функцію активації, кількість вхідних і вихідних нейронів, є деякі елементи (елементи навчання), такі як функція фактичної помилки, швидкість навчання, коефіцієнт імпульсу, та інші. У таблиці 1 показані всі навчальні елементи, які використовувалися в навчанні штучної нейронної мережі для розпізнавання образів. Алгоритм працює обчислюючи помилку між фактичним результатом і метою тренування, коли значення цієї помилки дорівнює або менше бажаного результату, який вводиться як гіперпараметр, як показано в таблиці (2).
Таблиця 1. Основні елементи
Кількість вхідних нейронів |
40000 |
|
Кількість прихованих нейронів |
80 |
|
Кількість вихідних нейронів |
5 |
|
Швидкість навчання |
0,16 |
|
Коефіцієнт імпульсу |
0,41 |
|
Помилка |
0,0001 |
|
Кількість ітерацій |
137 |
|
Максимальна ітерація |
10000 |
|
Час тренування |
1с |
|
Час тестування |
0,0718с |
|
Точність навчання |
98,54% |
|
Точність тестування |
75,85% |
Тепер у нас є навчена нейронна мережа, яка готова для тестування за допомогою тестових зображень. На стадії тестування зображення завантажуються до нейронної мережі та проходять усі шари нейронної мережі без зворотнього поширення помилки, це зроблено для того, щоб побачити як добре нейронна мережа була навчена. Після цього можна розрахувати точність для тренувальних даних та тестових.
На рис. 2 видно, що всі необхідні параметри будь-якої нейронної мережі можуть бути навчені виконанню завдання. Ці параметри є вхідним шаром, який містить число вхідних нейронів, в даному випадку 40000 нейронів від 200 х 200 пікселів, це розмір зображення, прихований шар, який містить приховані нейрони та фіксується на 80 нейронах відповідно до продуктивності мережі і, нарешті, вихідний шар, який містить число вихідних нейронів, тобто 5, що є кількістю навчальних зображень.
Рисунок 2. Нейронна мережа системи
Нейронна мережа зі зворотнім поширенням помилки може застосовуватися до багатьох додатків, таких як розпізнавання образів, класифікація моделей і наближення функцій. З цієї статті був зроблений висновок про те, що для успішного навчання нейронної мережі потрібно вибрати відповідний алгоритм навчання, і виявлено, що шум впливає на продуктивність мережі, якщо невеликий шум може покращувати точність нейронної мережі завдяки своєрідній регуляризації, то при збільшенні кількості шуму мережа не може розпізнати навчену базу даних, як і людина, не може розпізнати тестові приклади якщо вони дуже сильно зменшуються. Під час обробки був отриманий коефіцієнт точності навчання 98,54% і точність тестування 75,85%. З тренувань процесу тренування неронної мережі стало ясно, що більше число нейронів прихованого шару збільшує час обробки. Очевидно, що повинна бути вибрана мінімальна кількість нейронів яка може задовільнити бажану якість, так як вона як і раніше визначає максимальну продуктивність мереж. Також очевидно, що збільшуючи швидкість навчання, можна отримати більш короткий час навчання, але відсоток розпізнавання образів зменшується. Змінюючи параметри (швидкість навчання, коефіцієнт імпульсу і число нейронів прихованого шару), поліпшуються результати розпізнавання і усуваються локальні мінімуми, які зустрічаються на графіку ітерації проти помилки.
Список літератури
1. Howard Demuth, MarkBeale: Neural Network Toolbox. 1992-2002 by The MathWorks, Inc. URL: http://www.image. ece.ntua.gr/courses_static/nn/matlab/nnet.pdf
2. S Jayaraman, S Esakkirajan, T Veerakumar, «Digital Image Processing», Tata McGraw Hill Education, 2009
3. J.C. Griffiths, «Defects in Long Bones from Severe Neglected Osteitis», TheJournal of Bone and Joint Surgery, Salford, England, November 1968, Vol.50B, No.40 Nervous system. URL: http://en.wikipe - dia.org/wiki/Nervous_system
4. David E. Rumelhart, «Back Propagation, Theory, Architectures, and Applications», 1995.
5. Peter Norvig. Artificial Intelligence. 2010. URL: http://www.cs.wisc.edu/~dyer/cs540/hw/hw3/hw3.htm
6. M. Russel, S. Mandayam and S. Jensen, « «The Intellgent» valve: A diagnostic framework for integrated systems health management of a rocket engine test stand», IEEE Transactions on Instrumentation and Measurement, Volume 60, Issue 4, March 2011, Pages: 1489-1497
7. Mostofi F. and Khashman A. (2014). Intelligent Recognition of Ancient Persian Cuneiform Characters. In Proceedings of the International Conference on Neural Computation Theory and Applications - Volume 1: NCTA, (IJCCI 2014) ISBN 978-989-758-054-3, Pages 119-123
Размещено на Allbest.ru
Подобные документы
Навчання штучних нейронних мереж, особливості їх використання для вирішення практичних завдань. Рецепторна структура сприйняття інформації. Перцептрон як модель розпізнавання. Задача моделювання штучної нейронної мережі з розпаралелюванням процесів.
дипломная работа [2,8 M], добавлен 24.07.2013Специфіка застосування нейронних мереж. Огляд програмних засобів, що використовують нейронні мережі. Побудова загальної моделі згорткової нейронної мережі. Реалізація нейромережного модулю розпізнавання символів на прикладі номерних знаків автомобілів.
дипломная работа [3,4 M], добавлен 15.03.2022Історія досліджень, пов’язаних з розпізнаванням образів, його практичне використання. Методи розпізнавання образів: метод перебору, глибокий аналіз характеристик образу, використання штучних нейронних мереж. Характерні риси й типи завдань розпізнавання.
реферат [61,7 K], добавлен 23.12.2013Комп’ютерне моделювання системи сегментації та розпізнавання облич на зображеннях. Підвищення швидкодії моделювання за кольором шкіри та покращення якості розпізнавання при застосуванні робастних boosting-методів. Розробка алгоритмів функціонування.
дипломная работа [1,6 M], добавлен 02.07.2014Характеристика інструментів MatLab - пакету прикладних програм для числового аналізу. Основні функції та можливості програмного комплексу. Скриптова мова програмування. Побудова моделі штучної нейронної мережі за допомогою команди NNTool та її тестування.
лабораторная работа [215,8 K], добавлен 11.06.2015Ознайомлення із загальною структурою системи автоматичного розпізнавання мовлення. Визначення особливостей нейронних мереж. Дослідження та характеристика процесу побудови системи розпізнавання мовлення. Вивчення специфіки прихованої моделі Маркова.
дипломная работа [1,1 M], добавлен 25.07.2022Сегментація і нормалізація зображень. Основні функціональні можливості та режими роботи комплексу розпізнавання письмового тексту. Розробка комплексу оптичного розпізнавання символів. Шрифтові та безшрифтові алгоритми розпізнавання друкованого тексту.
курсовая работа [1,7 M], добавлен 19.05.2014Топології нейронної мережі та їх застосування, варіанти вибору архітектури мереж, число проміжних шарів і число елементів, архітектури мереж користувачів. Мережі для задач з багатьма класами, операція додавання матриці втрат, багатошаровий перцептрон.
контрольная работа [227,3 K], добавлен 21.06.2011Розробка, дослідження та реалізація методів вирішення завдань аналізу, розпізнавання і оцінювання зображень як один із провідних напрямків інформатики. Класифікація та аналіз існуючих методів розпізнавання образів, переваги та недоліки їх застосування.
статья [525,8 K], добавлен 19.09.2017Огляд методів розпізнавання образів. Основні ідеї інформаційно-екстремального методу розпізнавання рукописних символів. Критерій оптимізації параметрів функціонування даної системи. Інформаційне та програмне забезпечення обробки рукописних символів.
дипломная работа [291,0 K], добавлен 14.10.2010