ШФОРМАЦШШ ТЕХНОЛОГИ
УДК 004.89 https://doi.Org/10.35546/kntu2078-4481.2022.3.5
Н. I. БОЙКО
Нацюнальний ушверситет <^bBiBCbKa полггехшка»
ORCID: 0000-0002-6962-9363 Р. Т. ОМЕЛЮХ
Нацюнальний ушверситет «^bBiBCbKa полiтехнiка»
ORCID: 0000-0001-6859-2792
АЛГОРИТМ ПАРАЛЕЛ1ЗАЦ11 КЛАСИФ1КАЦ11 ЗОБРАЖЕНЬ ЗА НАПРЯМКОМ
"SMART HOUSE SECURITY"
Було проаналгзовано велику юльюсть лгтературних джерел щодо доцшьностг вибору саме модел1 CNN. В них описувались eci сильш сторони даноi структури нейронное мережг. Розглядаеться задача класифжаци за допо-могою нейронноi моделi CNN та OpenCV За допомогою OpenCVможна обробляти вгдеопотоки у реальному часi, а вже за допомогою треновано'1' моделi класифгкувати розкадрованi зображення.
Таким чином цшлю до^дження е моделювання архтектури моделi таким чином, щоб мiнiмiзувати час класифi-кацН та збтьшити ii точтсть. Також покращити швидюсть класифжацп можна за допомогою багатопоточностi.
Для повного анал1зу до^дження сл!д розглянути принцип роботи CNN. Це клас глибоких нейронних згорт-кових мереж, якi можуть розпгзнавати i класиф^вати певт ознаки зображень i широко використовуються для анализу в1зуальних образiв. У ходi проведення експериментiв використовуеться модель класифжаци CNN. Для порiвняння результатiв пiдiбранi р!зн! параметри. Таю як оптимайзери та юлькоmi епох, щоб отримати тформащю про найоптимальнш варiанти.
Шд час проведення експериментiв вiдбувались тренування з рiзними рошiрами епох та оптимайзерами. Для покращення швидкостi було пiдiбрано 2 найбшьшрезультативт, а саме "Adam" та "RMSProp", тому що при виборi тших - точтсть р!зко падала до значень менше 40%.Для визначення ефективностi одного над тшим, ми виконували тренування та класифiкацiю зображень з однаковими параметрами. При збшьшенш юлькоmi епох можна помтити позитивну динамщу по точностi i негативну динамк по втратах на обох моделях при зтьшенш кiлькостi епох. Це тдтверджуерезультативтсть CNN для свого прямого призначення, а саме класифкаци зображень.
Також у роботi були проведен експерименти над розм!ром зображення. В результатi даного експерименту час тренування зменшився ще на 8 с на однш епоа, на основi того, що розм!р вхiдноiматриц пiкселiв зображення став меншим.
Також проведен експеременти довели, що при оптимальному пiдборi розм!ру зображення можна також .збтьшити швидюсть обробки. Шсля тдбору усх оптимальних вхiдних параметрiв нейронноi мережi був про-аналiзований процес розпаралелелення класифжацп. В роботi пропонуються способи оптимгзаци моделi.
Ключовi слова: нейронна мережа, оптимайзер, модель, конволюцтий шар, багатопоточнкть, згорткова нейронна мережа, параметр.
N. I. BOYKO
Lviv Polytechnic National University
ORCID: 0000-0002-6962-9363 R. T. OMELIUKH
Lviv Polytechnic National University
ORCID: 0000-0001-6859-2792
PARALLELIZATION ALGORITHM OF IMAGE CLASSIFICATION ACCORDING
TO "SMART HOUSE SECURITY"
Many literature sources were analyzed regarding the practicality of choosing the CNN model. They described all the strengths of this neural network structure. The problem of classification using the neural model CNN and OpenCV is considered. With the help of OpenCV, you can process video streams in real-time, and already with the help of a trained model, you can classify interlaced images.
Thus, the study aims to model the architecture of the model in such a way as to minimize the classification time and increase its accuracy. You can also improve classification speed using multithreading.
For a complete analysis of the study, the working principle of CNN should be considered. It is a class of deep neural convolutional networks that can recognize and classify certain image features and is widely usedfor visual image analysis.
During the experiments, the CNN classification model is used. To get information about the most optimal options, various parameters are selected to compare the results, such as optimizers and the number of epochs.
During the experiments, training took place with different sizes ofepochs and optimizers. To improve the speed, the two most effective ones were selected, namely "Adam" and "RMSProp", because when choosing the others, the accuracy dropped sharply to values less than 40%. To determine the effectiveness of one over the other, we performed training and classification of images with the same parameters. When the number of epochs increases, it is possible to notice positive dynamics in terms of accuracy and negative dynamics in terms of losses on both models when the number of epochs increases. This confirms the effectiveness of CNN for its direct purpose, namely image classification.
Experiments on image size were also carried out in work. As a result of this experiment, the training time was reduced by another 8 s per epoch because the input image pixel matrix size became smaller.
Also, the conducted experiments proved that with the optimal image size selection, the processing speed could also be increased. After selecting all the optimal input parameters of the neural network, the parallelization process of the classification was analyzed. The work offers ways to optimize the model.
Key words: neural network, optimizer, model, convolutional layer, multithreading, convolutional neural network, parameter.
Постановка проблеми
Кожного дня мшьйони людей працюють над покращенням суспшьного життя. Впроваджуються HOBi технологи та ршення, як допомагають спрощувати Ti чи iншi процеси. Ще дешлька рошв тому не можливо було уявити, що за допомогою дешлькох клшв та автоматики людина зможе контролювати Bci процеси у власному будинку, навггь без ф!зично! присутносп у ньому. Це i дало поштовх розвитку сферi "Smart House". Хоч i багато чого досяг-нуто у цьому напрямку, але в певних аспектах е ще куди розвиватись. Особливу увагу у цьому напрямку зосеред-жено на безпещ та комфорт людини, адже не виключаеться небезпечний побутовий фактор - пожежа в будинку.
Проблематика раннього виявлення пожеж1 дуже гостро постае в сучасному свт, осшльки вони станов-лять постшну загрозу для людських життiв. Шкода завдана в результатi пожеж настiльки суттева , що !дея раннього попередження набувае нових масштабiв. Найбшьш дiевим способом виявлення пожеж1 на раннш стадп та для того, щоб уникнути втрат е встановлення системи пожежно! сигнал!заци. Система пожежно! сигнал!зацп оснащена рiзними взаемозалежними датчиками, яш працюють разом для виявлення пожеж! та оповщення [1]. Загально прийняп методи протипожежно! безпеки не е дуже ефективними, тому що в результат ди р!зних факто-р!в !х точшсть та час спрацювання знижуеться, а також юнуе ймов!ршсть фжтивного спрацювання. Основна проблема ф!зичних датчиков ,те що вони можуть розшзнати пожежу, коли вони встановлен поблизу мюця займання, що в результат! зменшуе !хню результатившсть у великих примщеннях та на вшкритому простор!. Ще одним недолшэм стае нешформатившсть, тому що з них ми не можемо отримати повно! шформацп про розташування де почалось займання та величину площ! що охоплена вогнем. Також датчики в трич! дорожч!, нж звичайн камери спостереження i спещал!зуються лише на вузькому спектр! завдань.
З розвитком технологш з'являються нов! методи виршення ще! проблеми. В бшъшосп випадшв вони базу-ються на обробщ набору фото/ввдео з камер спостереження та використання метсдав глибокого машинного навчання. 1снуе дешлька ефективних алгоршадв для обробки шформацп, але вони мають ряд недолЫв [2], оск1льки вхшний датасет мютить зображення з р!зним кольором текстурою та ракурсом, що ускладнюе досяг-нення високо! точносп даними алгоритмами.
Одним з найбшьш ефективних алгоршадв вважаеться [3], алгоритм на основ! конволюцшних нейронних мереж (CNN). Вш дозволяе найкраще виявити ключов! характеристики кольору !з зображення, необхвдт для точшших результапв у в!зуальному розшзнаванш.
Aналiз останшх досл1джень i публшацш
Даному напрямку дослщження присвячено небагато статей, адже даний процес постшно удосконалюеться. Проте е деяк1 джерела, дослщжуючи як1 дозволило полегшити обробку та анал!з даних. У статп [1] подаеться обгрунтування методу виявлення пожеж1 за допомогою обробки зображень. Вш грунтуеться на визначенн кольору з шфрачервоних зображень. Методика використовуе характеристики яскравосп та штенсивносп полум'я на шф-рачервоних зображеннях для шдвищення надшносл та точшсть виявлення пожеж! Вона дозволяе вщр!знити пожежу вш фону, за допомогою сегментацп на основ! пстограми та анал!зу оптичного потоку. Дан! дослвдження будуть корисн у майбутнш робот! на даною темою.
Наступна робота [6] дозволяе отримати грунтовне розумшня про те як влаштована CNN. Також надаються вш-повщ на р!зн запитання про шари мереж1 та !х принцип роботи м!ж собою, та за яким принципом ввдбуваеться змша розм!ру вхшних зображень. В данш статп автори проводять яшсш дослвдження стосовно ефективносп часу виконання з моделлю CNN та вказують на ус! переваги та недолши дано! модел!
У статп [10] автори присвятили свое дослвдження модел! в CNN та покращення И ефективносп на малому набор! даних. Суть запропонованого методу полягае в тому, щоб передавати рашше вивчен параметри мереж1 до ново! модел! для нового набору даних.
У публшаци [9] автором порiвнюeться час виконання та точшсть результата рiзних моделей тренування, в залежностi ввд вибраного тренувального датасету та кiлькостi епох. CNN порiвнюeться з AlexNet та шшими ввдомими мережами ResNet та DenseNet, якi досягли вiдмiнних результатiв у випробуванш. Також автори показали, що дуже висока ефективнiсть класифшаци може бути досягнута за допомогою глибоких CNN, навиъ при обмежених даних. Для вирiшення ще! проблему, слад збшьшити датасет для навчання, використовуючи рiзнi методи збiлъшення.
Стаття [4] описуе роботу CNN. В нш розкрито структуру моделi, принцип роботи кожного шару з вiзуалiзацi-ями процеав на кожному еташ обробки. Також висвiтленi поради про вибiр кращо! функцп активацп для досяг-нення точнiших резулътатiв в залежносп поставлено! задачi. В тдсумку публiкацiя дозволяе глибше усвiдомити ва процеси на простих прикладах.
В публшаци [3] описуютъся всi можливi способи для виявлення та запобтання рiзних ситуацiй такий як пожежа, затоплення та iншi ситуацй' в яких може бути нанесено матерiальну шкоду майну. На основi дано! статл ми дiзналисъ як1 покращення можливо зробити.
В роботi автора [7] описано про ва аспекти що використовуютъся у напрямку "Smart house sucurity". Також автор наголошуе на бiлъшiй концентрацй' розробки програмного забезпечення на основi AI, яке дае можливють розширити спектр задач для виршення питанъ безпеки та здоров'я жителiв такого будинку.
Формулювання мети дослiдження
Метою досл1дження е розробка моделi, яка складаетъся з CNN та OpenCV для класифжацп зображенъ за напрямком "Smart house security".
До основних завдань дослщження, як1 повнiстю розкриваютъ суть мети дослвдження е:
- Огляд прикладiв задач класифiкацi! з використанням CNN та OpenCV.
- Порiвняння швидкосп результату виконання та !хнiх точностей в залежносп вiд параметрiв та способiв обробки вхвдних даних.
- Паралелiзацiя класифiкацi! зображень за допомогою багатопоточносп.
Викладання основного матерiалу дослщження
В межах дано! роботи розглядаеться задача класифiкацi! за допомогою нейронно! моделi CNN та OpenCV. За допомогою OpenCV можна обробляти ввдеопотоки у реальному часi, а вже за допомогою треновано! моделi кла-сифiкувати розкадрованi зображення. Таким чином цшлю дослвдження е моделювання архггектури моделi таким чином, щоб мiнiмiзувати час класифiкацi! та збiлъшити !! точнiстъ. Також покращити швидк1сть класифтаци можна за допомогою багатопоточностi.
Для повного аналiзу дослiдження слiд розглянути принцип роботи CNN [5]. Це клас глибоких нейронних згорткових мереж, яш можуть розпiзнавати i класиф^вати певнi ознаки зображень i широко використовуються для аналiзу вiзуалъних образiв. 1х застосовують для рiзних задач класифшаци, до прикладу: розпiзнавання зображень i вiдео, класифiкацi! зображень, аналiзу медичних зображень обробки природно! мови. Через ефективнiстъ у зменшенш кiлъкостi параметрiв без втрати якосп моделей. Зображення мають високу розмiрнiсть (оск1льки кожен пiкселъ розглядаеться як характеристика) [6].
На основi дослщжень iнформацi! про дану модель було прийнято рiшення використовувати саме !! для вико-нання поставлених задач.
1. Конволюцiйний шар (згортка) [9] використовуеться для отримання рiзних характеристик з вхвдних зображень. У цьому шарi виконуеться операцiя згортки мiж вхвдним зображенням та фiлътром певного розмiру. На виходi отримуемо карту ознак, яка надае iнформацiю про зображення, а саме про кути та кра!. Наступним кроком ця карта ознак передаеться на iншi шари для вивчення нових ознак [10]. Математична модель карти ознак n згорт-кового шару l наведена у Формулi 1:
Щ=f [VЩ], (1)
де L - номер згорткового шару;
bj - значения що приеднуеться до карти ознак на l шарi; kltJ - згортка що застосовуеться до карти ознакj;
V' - список уах рiвнiв слою (1-1), що з'еднуються з картою ознак j шару l;
2. Pooling Layer [10] - на цьому шарi зменшуеться розмiр згорнуто! карти ознак для зниження обчислюваль-них витрат за рахунок зменшення зв'язк1в м1ж шарами. Залежно вiд методу юнуе кiлъка типiв операцiй пулiнга [2]: Max Pooling iз карти ознак може бути застосований для зниження дискретизаци згорткових вихвдних нашого варiанту розмiром 2*2 i для кожного такого субрепону виводить максимум [3].
3. FC Layer - шар, який називаеться шаром FC, що перетворюе матрицю у вектор i подаеться в повшстю пов'язаний шар, як нейронну мере^ (рис. 1). Щ шари зазвичай утворюють калька останнiх шарiв архiтектури CNN [5].
уз
Рис. 1. Схема перетворення матриц ознак на вектор
На наведенш вище cxeMi (Рис.1) матриця карти ознак буде перетворено на вектор (x1, x2, x3, ...). За допомогою пов'язаних шарiв ми об'еднали цi ознаки разом, щоб створити модель (Формула 2) [6].
y = g(Wx + b), (2)
де x - вхiдний вектор i3 розмiрнiстю [p_l, 1];
W - матриця ваг з розмiрами [p_l, n_l] де p_l - кшьшсть нейронiв у попередньому шар^ а n_l — кiлькiсть нейрошв у поточному шарi;
b - вектор змщення з розмiрнiстю [p_l, 1]; g - функцiя активацп ReLU .
4. Функцй' активацп являеться одним iз найважливiших параметрiв моделi CNN. Вона додае нелшшшсть до мережi. 1снуе калька функцш активацп, що широко використовуються, таких як ReLU, Softmax, tanH i сигмовдна функцiя. Кожна iз цих функцш мае специфiчне застосування. Для бшарно! класифшацп CNN-моделi переважно використовують функцй' sigmoid та SoftMax, а для багатокласово! класифшацп зазвичай використовуеться SoftMax.
ReLU реалiзуе функцш y = max(x,0), тому розмiри входу та виходу цього шару однаковг Нелiнiйнiсть необ-хiдна для створення нелшшних меж прийняття рiшень. Якби нелшшна функцiя активацй' була вщсутня, глибош арх1тектури CNN перетворилися б на один екивалентний конволюцiйний шар, який би працював не так добре. В бшъшосп випадк1в використовуеться вона для активацп, тому що з нею мережа навчаеться швидше, у порiв-няннi з шшими нелiнiйними функцiями, що використовуються в CNN (наприклад, гiперболiчний тангенс, абсолютна величина гiперболiчного тангенсу та сигмо!д) (рис. 2а) [8].
■ -<3-
а) b)
Рис. 2. График функцш: а) ReLU; b) SoftMax
Функщя SoftMax може використовуватись у класифшатор1 лише тод1, коли класи е взаемовиключними. Бага-тошаров1 нейронш мереж1 зак1нчуються передостаншм шаром, який видае реальш оцшки, як1 незручно масшта-бувати i з якими можуть виникнути труднощ1 у робота SoftMax виршуе цю проблему, оск1льки вш перетворюе оцшки в нормал1зований розподш ймов1рност1, який може бути показаний користувачев1 або використаний як вхвдш даш для шших систем. З ще! причини зазвичай функщя SoftMax додаеться як останнш шар нейронно! мереж1 (рис. 2b).
Переваги CNN:
- Автоматизований виб1р в1дпов1дних ознак класифшацп, що пришвидшуе обробку даних.
- Висока точнють класиф1кацш
- Зменшуе к1льк1сть параметр1в без втратити якост1 моделей.
Недолши CNN:
- Великий час тренування на бшьших датасетах.
- Дуже чутлива до ракурсу та освгглення, тобто те саме фото шд шшим ракурсом та шшим освпленням може мати на виход1 шший результат класифшацп (ршенням ще! проблеми е зб1льшення датасету).
- При малому датасеп через велику шльшсть параметр!в може ввдбутись перенавчання модел!
- Можливють фжтивного спрацювання, тобто коли кольорова палитра дуже схожа до то! на якш тренувалась модель. Наприклад: фото з вогнем i фото з заходом сонця кольору схожого до червоного, може на виход! отримати однаковий результат класифтацп такий як "Fire".
Розглянемо детально етапи виконання поставлено! мети. На рис. 3 представлено Опис модел! у вигляд! UML д!аграми.
Рис. 3. UML д1аграма алгоритму класифжацп
Наступним етапом е представлення алгоритму виконання задач^ основними кроками якого е:
1. Побудова CNN.
2. У першому шарi побудовано! моделi передаються на вхвд зображення. Далi ввдбуваеться операцiя «згортка» з нашим фетром. На виходi з CL отримуемо карту ознак що мае такий самий розмiр як i фiлътр (рис. 4).
Рис. 4. Згортковий шар CNN
3. Наступним кроком - передаемо нашу карту ознак у PL для И ущшьнення та утворення ново! карти з сильшшими ознаками. PL застосовуеться для уникнення перенавчання. В 2 i 3 шар ми вже передаемо не зображення, а карти ознак i виконуемо всi ri самi кроки як i у першому шарi нашо! моделi, але вже з шшою кшьшстю фшьтрш (рис. 5а).
к 4 2
lit
Poctel kjt.Fi паи
Мл.!! 4 ia> • 4
a
6 В 0
_
4 T 4,
okdhHin irtdvi 7
а) b)
Рис. 5. а) Max Pooling; b) Flattening
4. За допомогою Flatteting перетворюемо нашу карту ознак в одновимiрний вектор для майбутньо! побудови нейронно! мереж1 (рис. 5Ь).
5. Наступним кроком передаемо наш результуючий вектор у FCL, де наш вектори з'еднуеться з шлькома повнiстю пов'язаними шарами, як1 е такими ж, як штучш нейронш мереж1, i виконують тi ж математичш операцп.
6. Пiсля проходження через FC останнiй шар використовуеться функцiя активацп SoftMax (замiсть ReLU) для отримання ймовiрностi того, що вхiднi данi знаходяться в певному класi (класифiкацiя) (рис. 6).
Рис. 6. FCL+OL
7. Шсля побудови нашо! моделi навчаемо ласифiкатор на тренувальному датасетi i отримуемо претреновану модель, яка i буде класиф^вати тестовi зображення.
У ходi проведення експерименпв використовуеться модель класифiкацii CNN. Для порiвняння результатiв пiдiбранi рiзнi параметри. Так1 як оптимайзери та кшькосп епох, щоб отримати шформацш про найоптимальнiшi варiанти.
Параметри для експерименпв:
- Оптимайзери ("Adam"," RMSprop","SGD").
- Розмiри зображень (56x56, 122x122, 224x224).
- BatchSize (4, 16, 64).
Для перевiрки роботи класифшаци за допомогою дано! моделi буде використано датасет, що складаеться з зображень, на яких е полум'я та просто нейгральнi зображення шмнат дому. Загалом було використано в сумi 2704 зображення для тренування моделi. Для класифшаци зображень слад помiстити ix у рiзнi папки для умовного подшу на класи (рис. 7). Щ данi було розподiленi на тренувальш та тестовi у вiдношеннi 80% тренувальш та 20% тестовi.
Рис. 7. Архггектура побудованоТ CNN модел1
Наша CNN модель складаеться з 3 шарiв, додано! функцiй maxPool до кожного шару для запобпання перетре-нування та оптимiзатора adam. Наступним ключовим параметром е batchsize [8], що впливае на кшьшсть даних опрацьованих за один раз. Чим вш бiльший тим точшсть бiльша, але все залежить вщ характеристик процесора на якому вде виконання. Оск1льки це може впливати на час виконання навчання нашо! модель Рекомендуеться виби-рати величину batehsize=2лn.Для того, щоб почати класифшащю нам необxiдно зробити зображення вс одного розмiру в нашому дослщженш це 244*244. Умова передавання зображення в нашу нейронну мережу, це е пере-творення зображення в матрицю пiкселiв. А далi вже вщбуватиметься процедура визначення класифiкацiйниx ознак зображення та класифшащя як це описано в алгоритм роботи нашо! задача На рис. 8а, 8b представлен! тренувальш датасети для класу з пожежею та з комнатами.
щ
ш*>
ЩIЩшШЩ tt^flHBii мП И В? Ж S3
-м^^Ьвщ -P.Mff »44
- ч ЕЯ ¿¿г |й5 в
ii ИМ и и и
С-.:
a) b)
Рис. 8. Тренувальш датасети: а) для класу "Fire"; b) для класу "Netural"
Пiсля зак1нчення тренування нашо! моделi з оптимiзатором Adam можна побачити що було досягнуто досить високо! точностi. Загальний час тренування на одну епоху 95 секунд.
Для кращо! вiзуалiзацil побудуемо графiки точностей та втрат, що наочно показують ефективнiсть тренування (рис. 9a, 9b).
a)
b)
Рис. 9. График залежностк а) точност при 50 тренувальних епохах; b) втрат в1д кiлькостi епох
Як можемо побачити з Рис. 9а, наша модель досягла чудового результату. Точшсть класифшаци в межах [0.92;0.99]. Якщо розглядати цей графiк з точки зору бтшого масштабу то лши Train_accuracy i Test,_accuracy будуть майже накладатись, а це означае що наших тренувальних даних виявилось достатньо для ефективного навчання.
На Рис. 9b представлено графж, який також пiдтверджуе що наша модель досягла чудового результату, оскшьки функщя Loss показуе на скшьки було неправильне передбачення (чим менше значення тим краще перед-бачення). На 9 та 19 епос Рис. 9b вшбувся стрибок даного значення. Оскшьки CNN модель чутлива до ракурав та освiтлення. Тому можна зробити висновок, що це i е основною причиною стрибку значення test_loss.
Наступним кроком - завантажуемо зображення для класифтацп (рис. 10а, 10b):
: . ■ -.
■ —■, ■г
т*
| .....гр
1.-- кинимжин»
. Ж Vffjai INJ 'ы '
a) b)
Рис. 10. Тестоване зображення: а) з набору "Fire"; b) з набору "Netural"
Шсля закшчення тренування нашо! моделi з оптимiзатором RMSprop можна побачити, що було досягнуто хорошо! точност1, але менш ефективно! порiвняно з попереднiм оптимайзером. Загальний час тренування на одну епоху 102 секунди, що теж бшьше шж у попередньому тренуванш. На рис. 11а, 11b зображет графiки точностей та втрат.
a) b)
Рис. 11. Графiк залежностк а) to4hoctï при 50 епохах; b) втрат при 50 епохах
Рис. 11а також шдгверджуе що наша модель досягла чудового результату, оскшьки функщя Loss показуе на скшьки було погане передбачення i чим менше значення, то тим краще передбачення було зроблено. Також можна помггати що в бшьшосп випадов значення Loos прямуе до 0, що е ще одшею ознакою хорошо! класифiкацii з високою точнiстю.
Як можемо побачити На рис. 11b, наша модель досягла чудового результату - точшсть класифтацп в межах [0.95;0.99].
Приступимо, до iншоi нашо! поставлено! задачi, а саме розпаралелення класифiкацii зображень. Оскшьки вхiднi данi це ввдео, що будуть розбиватись покадрово i передаватись з оптимальним часовим штервалом. Було виршено розпаралелювати саме класифiкацiю, а не тренування, оскшьки модель тренуеться разово на великш кiлькостi даних пiсля чого претренована модель класифшуватиме вхвдний датасет зображень.
Було проведено експерименти з визначенням часу виконання програми. Приведенi таблицi результатiв експе-риментiв, на яких позначено найоптимальшший розподiл роботи програми по потоках, графши часу виконання, та дiаграми залежностi ефективностi ввд кiлькостi вхвдних зображень.
Формули 3-4, за якими було вирахувано прискорення та паралельну ефективнiсть:
Отож, оцiнка паралельного прискорення розраховувалась за Формулою 3:
T
S = Tl.
(3)
де Tj - час виконання послщовного алгоритму; Tn - час виконання паралельного алгоритму; n - шльшсть процеав (потоков).
Оцiнка ефекгивностi буде обчислюватись за формулою 4:
P = Sn
n
(4)
Таблиця 1
Розрахунок прискорення
Юльюсть картинок 1 потж Паралельний алгоритм
2 потоки 4 потоки 8 потоюв
T S T S T S
100 8.04475 4.09019 1.96683 2.434093 3.305029 2.01975 3.98303
200 15.8410 8.1130 1.95252 4.58647 3.45384 3.54599 4.46728
400 31.64040 16.55203 1.91157 9.36195 3.37967 7.54332 4.19449
800 64.27154 34.0405 1.88808 20.61760 3.11731 16.8859 3.80621
Розрахунок ефективност
Таблиця 2
Юльюсть картинок 1 ядро 2-ядерний 4-ядерний
100 0,983415 0,82625725 0,49787875
200 0,97626 0,86346 0,55841
400 0,955785 0,8449175 0,52431125
800 0,94404 0,7793275 0,47577625
На рис. 12а та 12b зображена ефектившсть та прискорення паралельного обчислення.
■ 1-я дерн ий > 2 -я дер ний ■4-я дернин
•l-лдерний > • 4-я дерн нй
■ 2-ядер НИИ
a) b)
Рис. 12. a) ефективнiсть паралельного обчислення; b) прискорення паралельного обчислення
Висновки
Було проаналiзовано велику кшьшсть лiтературних джерел щодо доцiльностi вибору саме моделi CNN. В них описувались всi сильнi сторони дано! структури нейронно! мереж1. Пiд час проведения експерименпв вщбува-лись тренування з рiзними розмiрами епох та оптимайзерами. Для покращення швидкостi було пщбрано 2 най-бiльш результативш, а саме "Adam" та "RMSProp", тому що при виборi шших - точнiсть рiзко падала до значень менше 40%.Для визначення ефективносп одного над iншим, ми виконували тренування та класифiкацiю зобра-жень з однаковими параметрами.
CNN з "Adam" оптимайзером по часу тренування, що припадае на одну епоху, виконував тренування швидше на 8с. Тому при велишй шлькосп епох вiн дае виграш у част Точшсть класифiкацiя моделi на основi даного опти-майзера становить 96%.
CNN з "RMSProp" оптимайзером по часу тренування, що припадае на одну епоху виконував тренування пов№шше, але точшсть класифтацп моделi на основi даного оптимайзера становить 97%.
При збшьшенш кiлькостi епох ми могли помггити позитивну динамшу по точностi i негативну динамшу по втратах на обох моделях при зшьшенш кiлькостi епох. Це пщтверджуе результативнiсть CNN для свого прямого призначення, а саме класифтацп зображень.
Також у робот були проведенi експерименти над розмiром зображення. В результат даного експерименту час тренування зменшився ще на 8 с на однш епоа, на основi того, що розмр вхщно! матрицi пiкселiв зображення став меншим.
Отож, можна зробити висновок, що при оптимальному пiдборi розмiру зображення можна також збiльшити швидшсть обробки. Пюля пiдбору усiх оптимальних вх1дних параметрiв нашо! нейронно! мереж1 ми приступили до розпаралелелення класифшацп, нам вдалось суттево прискорити И класифшащю, що представлено в таблицях 1-2.
Проте нами пропонуються способи ошгашзащ! моделi:
1. Використання в ролi оптимiзатора "adam".
2. BatchSize=2An.
3. Пiдбiр оптимального розмiру входного зображення. У представленому експериментi це дало виграш у 6с на одну епоху, що в результат оптимiзуе швидшсть на 3 хв на кожних 50 епохах без втрати точность
4. Для збшьшення точносп необхщно використовувати велику кшьшсть даних. Це необхщно для будь яких мереж глибокого навчання. Перевага CNN в тому, що вона чутлива до ракурсiв освiтлення та багато шших пара-метрiв властивих для зображень. Тому за допомогою зближення, повороту, та шших дш над фото ми можемо штучно збшьшувати наш датасет.
5. Для збшьшення швидкосп можна тренувати модель за допомогою GPU. В проведеному експерименп це дозволило зменшити час з 108 с до 28 с, в порiвняннi з тренуванням за допомогою CPU.
6. Використання бшьшо! шлькосп даних при розпаралеленш Тому що при малих даних не завжди рацiо-нально запускати багатопотокове виконання програми.
Список використаноТ л1тератури
1. Celia T., Ozkaramanl H. Fire And Smoke Detection Without Sensors: Image Processing Based Approach. Demirel 15th European SignalProcessing Conference (EUSIPCO 2007), Poznan, Poland, copyright by EURASIP. Electrical and Electronic Engineering, Eastern MediterraneanUniversity, TURKEY, September. 2007. pp. 1-5.
2. Divya R., Mageshwari D. A Novel Fire Detection System using Image Processing and Artificial Intelligence Techniques. Proceedings published by International Journal of Computer Applications (IJCA), Chennai. 2012.
3. Patel P., Tiwari S. Flame Detection using Image Processing Techniques, Journal of Computer Applications. Vol. 58. №18. 2012. рр. 1-4.
4. Xiong Z., Caballero R., Wang H., Finn A. M., Lelic M. A., and Peng P.Y. Video-based Smoke Detection: Possibilities, Techniques, and Challenges. United Technologies Research Centre, East Hartford.
5. Staffer C. and Grimson W.E.L. Adaptive Background Mixture Models for Real- Time Tracking. Proc. IEEE Conf. Computer Vision and PatternRecognition. 1999.
6. Shams R., Hossain S., Priyom S., Fatema N. Automated Fire Extinguishing System With Gsm Alarm. Thesis in the Department of Electrical and Electronic Engineering Of BRAC University.
7. Toreyin B.U., Dedeoglu Y., Qetin a.E. Flame detection in video using hidden Markov models. Proc. IEEE Internet Conf. On Image Processing. 2005. pp. 1230-1233.
8. Arrue B. C., Ollero A., and Martinez de Dios J. R. An intelligent system for false alarm reduction in infrared forest-fire detection. IEEE Intelligent Systems. Vol. 15. № 3. 2000. pp. 64-73.
9. Srutek M., Andrysiak T. Flame Detection Based On Infrared Images. University of Technology and Life Sciences, Bydgoszcz, Poland. 2013. pp. 1-10.
10. Yuan C. Automatic Fire Detection Using Computer Vision Techniques for UAV-based Forest Fire Surveillance. A Thesis in the Department ofMechanical, Industrial and Aerospace Engineering. 2017. pp. 72-87.
References
1. Celia T., Ozkaramanl H. Fire And Smoke Detection Without Sensors: Image Processing Based Approach. Demirel 15th European SignalProcessing Conference (EUSIPCO 2007), Poznan, Poland, copyright by EURASIP. Electrical and Electronic Engineering, Eastern MediterraneanUniversity, TURKEY, September. 2007. pp. 1-5.
2. Divya R., Mageshwari D. A Novel Fire Detection System using Image Processing and Artificial Intelligence Techniques. Proceedings published by International Journal of Computer Applications (IJCA), Chennai. 2012.
3. Patel P., Tiwari S. Flame Detection using Image Processing Techniques, Journal of Computer Applications. Vol. 58. №18. 2012. pp. 1-4.
4. Xiong Z., Caballero R., Wang H., Finn A. M., Lelic M. A., and Peng P.Y. Video-based Smoke Detection: Possibilities, Techniques, and Challenges. United Technologies Research Centre, East Hartford.
5. Stauffer C. and Grimson W.E.L. Adaptive Background Mixture Models for Real- Time Tracking. Proc. IEEE Conf. Computer Vision and PatternRecognition. 1999.
6. Shams R., Hossain S., Priyom S., Fatema N. Automated Fire Extinguishing System With Gsm Alarm. Thesis in the Department of Electrical and Electronic Engineering Of BRAC University.
7. Toreyin B.U., Dedeoglu Y., Qetin a.E. Flame detection in video using hidden Markov models. Proc. IEEE Internet Conf. On Image Processing. 2005. pp. 1230-1233.
8. Arrue B. C., Ollero A., and Martinez de Dios J. R. An intelligent system for false alarm reduction in infrared forest-fire detection. IEEE Intelligent Systems. Vol. 15. №3. 2000. pp. 64-73.
9. Srutek M., Andrysiak T. Flame Detection Based On Infrared Images. University of Technology and Life Sciences, Bydgoszcz, Poland. 2013. pp. 1-10.
10. Yuan C. Automatic Fire Detection Using Computer Vision Techniques for UAV-based Forest Fire Surveillance. A Thesis in the Department ofMechanical, Industrial and Aerospace Engineering. 2017. pp. 72-87.