Научная статья на тему 'РАЗРАБОТКА ОБУЧАЕМОЙ СИСТЕМЫ РАСПОЗНАВАНИЯ ЛИЦ С ПОМОЩЬЮ АЛГОРИТМОВ НЕЙРОННОЙ СЕТИ'

РАЗРАБОТКА ОБУЧАЕМОЙ СИСТЕМЫ РАСПОЗНАВАНИЯ ЛИЦ С ПОМОЩЬЮ АЛГОРИТМОВ НЕЙРОННОЙ СЕТИ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
200
21
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ОБУЧАЕМАЯ СИСТЕМА / РАСПОЗНАВАНИЕ ЛИЦ / СВЕРТОЧНАЯ НЕЙРОННАЯ СЕТЬ / ОЦЕНКА F1 / ИДЕНТИФИКАЦИЯ ЛИЦ / ПРОГРАММИРОВАНИЕ НА PYTHON / ОБУЧЕНИЕ НЕЙРОСЕТИ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Койшыбаев Р.Ж.

В данной статье представлена разработка обучаемой системы распознавания лиц с использованием алгоритмов сверточной нейронной сети. "Обучаемая система" представляет собой систему, способную распознавать новые лица в реальном времени. Она автоматически определяет черты лица и сравнивает их с ранее известными данными для идентификации лица. В статье описывается создание и обучение сверточной нейронной сети, а также оценка ее эффективности по общепринятому стандарту. Результаты показали, что разработанная нейронная сеть демонстрирует низкую точность по сравнению с существующими алгоритмами распознавания лиц. На основе обученной модели была создана обучаемая система в реальном времени для распознавания лиц на языке программирования Python. Эта система позволяет распознавать и идентифицировать лица в режиме реального времени, обеспечивая потенциальные применения в областях безопасности, видеонаблюдения и автоматизации систем контроля доступа. Дальнейшие исследования будет направлены на улучшение точности и производительности системы распознавания лиц, а также на адаптацию системы для работы с различными наборами данных и в различных условиях окружающей среды.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Койшыбаев Р.Ж.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «РАЗРАБОТКА ОБУЧАЕМОЙ СИСТЕМЫ РАСПОЗНАВАНИЯ ЛИЦ С ПОМОЩЬЮ АЛГОРИТМОВ НЕЙРОННОЙ СЕТИ»

Для поступления воздушной среды пространство над вентиляционным патрубком определено, как объем окружающей среды, имеющий большую ширину, чем сечение стояка. Для конструирования воздушной среды необходимо устанавливать граничное условие Opening и в нем задастся величиной избыточного давления Рм = 0 Па.

На основании, рассчитанных для ряда расходов, средней скорости по высоте трубы, критерия Рейнольдса, толщины слоя воды в стояке определялись толщины пограничного слоя, а также размер элемента сетки ближайшего к стенкам. В ходе проведения расчета модели решалась нестационарная задача.

Результаты. Общее время расчета модели канализационного стояка составило около 70 с. Установившееся движение в трубопроводе наступает на 30^40-ой секунде расчета.

Проведение расчетов в программном обеспечении ANSYS позволило получить распределение давления при различных характеристиках трубчатого стояка.

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

Список использованной литературы:

1. Федоров С.В., Васильев В.М «Оценка работы трубчатого стояка для подачи воздуха в дюкер с «Воздушной подушкой» // Известия высших учебных заведений, 2021.

2. А. А. Чернов «Моделирование гидродинамики потока жидкости с абразивными частицами в технологическом трубопроводе с использованием ПК «ANSYS»» // "Аллея науки" №5- 2018

3. Ю.В.т Столбихин, С.В. Федоров «Моделирование работы перепадной шахты на канализационной сети» // Вода и Экология, 2017.

© Клепова К.А., 2023

УДК 004.852

Койшыбаев Р.Ж.

магистрант 2 курса АУЭС имени Гумарбека Даукеева,

г. Алматы, Казахстан Научный руководитель: Мукашева А.К.

PhD, доцент, АУЭС имени Гумарбека Даукеева,

г. Алматы, Казахстан

РАЗРАБОТКА ОБУЧАЕМОЙ СИСТЕМЫ РАСПОЗНАВАНИЯ ЛИЦ С ПОМОЩЬЮ АЛГОРИТМОВ НЕЙРОННОЙ СЕТИ

Аннотация

В данной статье представлена разработка обучаемой системы распознавания лиц с использованием алгоритмов сверточной нейронной сети. "Обучаемая система" представляет собой систему, способную распознавать новые лица в реальном времени. Она автоматически определяет черты лица и сравнивает их с ранее известными данными для идентификации лица.

В статье описывается создание и обучение сверточной нейронной сети, а также оценка ее эффективности по общепринятому стандарту. Результаты показали, что разработанная нейронная сеть

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

На основе обученной модели была создана обучаемая система в реальном времени для распознавания лиц на языке программирования Python. Эта система позволяет распознавать и идентифицировать лица в режиме реального времени, обеспечивая потенциальные применения в областях безопасности, видеонаблюдения и автоматизации систем контроля доступа.

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

Ключевые слова

Обучаемая система, распознавание лиц, сверточная нейронная сеть, оценка F1, идентификация лиц,

программирование на Python, обучение нейросети.

Введение

В современном контексте, теория распознавания образов играет значимую роль, особенно в области распознавания лиц. Её применение включает автоматическую локализацию лиц на изображениях и, при необходимости, идентификацию личности на основе лица. В связи с быстротечностью современной жизни, существует постоянная потребность в новых и более совершенных методах локализации и распознавания лиц [1]. Эти методы обнаруживают широкий интерес в таких областях, как системы безопасности, охраны общественного порядка, противотеррористические меры, криминалистическая экспертиза, верификация, а также в мобильных устройствах и других сферах [2].

Задача биометрического распознавания лиц заключается в автоматическом определении лица на изображении и, при необходимости, идентификации личности. Широкий интерес к области обнаружения и распознавания лиц обусловлен их многообразным практическим применением в охранных системах, криминалистической экспертизе, верификации, телеконференциях, а также в фототехнике для автоматической фокусировки на лицах людей [3].

На сегодняшний день существует множество компьютерных методов распознавания лиц. Однако эти методы не обеспечивают абсолютной надежности идентификации и обладают ограничениями в отношении временных характеристик [4].

Проблематика данной темы связана с необходимостью разработки эффективной системы распознавания лиц, которая может быть применена в различных областях, включая безопасность, медицину, коммерцию и другие [5]. Существующие методы и системы распознавания лиц имеют свои ограничения, такие как низкая точность, слабая устойчивость к вариациям в изображениях, высокая стоимость и сложность внедрения [6].

В данном контексте, использование алгоритмов нейронных сетей может решить некоторые из этих проблем. Однако все ещё существуют вызовы, связанные с обучением и оптимизацией нейронных сетей, выбором архитектуры и подходов к предобработке данных.

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

1 СОЗДАНИЕ МОДЕЛИ НЕЙРОННОЙ СЕТИ

1.1 Общий подход к созданию нейронной сети для распознавания лиц

Обучение нейронной сети является итеративным процессом, в котором ее параметры настраиваются путем моделирования внешней среды, в которой сеть функционирует. Тип обучения определяется способом подстройки параметров сети. Существуют два основных типа обучения: обучение

с учителем и обучение без учителя [7].

Сбор и подготовка данных: необходимо собрать набор данных, состоящий из изображений лиц людей. Важно, чтобы набор данных был разнообразным и включал различные позы, освещение и условия съемки. Кроме того, каждое изображение должно быть помечено или размечено с указанием наличия или отсутствия лица и, возможно, с указанием идентификатора личности [8].

Архитектура нейронной сети: Выбираем архитектуру нейронной сети для распознавания лиц. Одной из наиболее популярных архитектур является сверточная нейронная сеть (Convolutional Neural Network, CNN), такая как модель VGGFace [9], ResNet [9] или Inception [9]. Эти архитектуры имеют предобученные веса, которые можно использовать для инициализации вашей нейронной сети.

Обучение и дообучение: Используя набор данных, обучаем нейронную сеть на задаче распознавания лиц. На этом этапе можно использовать методы глубокого обучения, такие как обратное распространение ошибки и градиентный спуск, чтобы настроить веса нейронной сети для минимизации ошибки распознавания.

Тестирование и оценка: после обучения сети проверяем ее производительность на отложенном наборе данных, которые ранее не использовались в процессе обучения. Оценим точность и другие метрики производительности созданной нейронной сети, чтобы убедиться в ее эффективности.

Настройка и оптимизация: В случае неудовлетворительных результатов можно настроить параметры нейронной сети или попробовать другие архитектуры, чтобы улучшить производительность. Это может включать изменение глубины сети, добавление дополнительных слоев или применение регуляризации.

Структура папки C:/Users/romzi/Desktop/lfw2 для набора данных LFW (Labeled Faces in the Wild) должна следовать определенным правилам. Обычно папка LFW содержит отдельные папки для каждого класса (человека), и в каждой папке находятся изображения этого класса. Структура папки может выглядеть следующим образом:

C:/Users/romzi/Desktop/lfw/ |— Personl/ | |— Person1_0001.jpg | |— Person1_0002.jpg

|— Person2/ | |— Person2_0001.jpg | |— Person2_0002.jpg

В конечном итоге в папке C:/Users/romzi/Desktop/lfw2 имеется 30 классов. 1 класс - 1 личность. В каждом классе находятся от 3 до 10 фотографии.

1. 2 Реализация алгоритма и оценка результата по стандартам

В представленном коде в приложении F была определена архитектура сверточной нейронной сети с несколькими слоями свертки, пулинга и полносвязными слоями. Эта нейронная сеть была скомпилирована с функцией потерь "sparse_categorical_crossentropy" и оптимизатором '^ат". Затем модель была обучена на тренировочных данных и оценена на тестовых данных.

Был запущен скрипт из приложения Е для обучения нейронной сети с 10 эпохами.

Epoch 10/10

2/2 - 3s 1s/step - loss: 0.1998 - accuracy: 0.9767 - val_loss: 8.9152 - val_accuracy: 0.0909

1/1 - 0s 249ms/step - loss: 8.9152 - accuracy: 0.0909

Test accuracy: 0.09090909361839294

В выводе обучения модели приведены следующие показатели:

Loss (потери): 3.8270

Показатель, который отражает, насколько хорошо модель справляется с минимизацией ошибки во время обучения. Меньшее значение потерь указывает на лучшую производительность модели.

Accuracy (точность): 0.0233

Показатель, который указывает, насколько точно модель предсказывает правильные метки классов. В данном случае, точность составляет 2.33%, что является очень низким значением.

Validation Loss (потери на валидационном наборе): 4.2095

Показатель потерь на валидационном наборе данных. Он отражает, как модель проявляет себя на данных, которые она не видела во время обучения. Меньшее значение потерь на валидации указывает на лучшую обобщающую способность модели.

Validation Accuracy (точность на валидационном наборе): 0.0909

Показатель точности модели на валидационном наборе данных. Он указывает насколько точно модель предсказывает правильные метки классов на наборе данных, которые она не видела во время обучения. В данном случае, точность на валидации составляет 9.09%.

Формула расчета потерь и точности (accuracy) зависит от выбранной функции потерь и метрики в модели. В данном случае, используется функция потерь "sparse_categorical_crossentropy" и метрика "accuracy", которые встроены в TensorFlow.

Дополнительно, точность (accuracy) может быть вычислена по формуле:

Accuracy = (Количество правильных предсказаний) / (Общее количество предсказаний)

По результатам обучения модели видно, что точность на тестовом наборе данных составляет около 9%. Это может указывать на проблемы с обучением модели или на то, что модель требует дополнительной настройки и оптимизации для достижения лучших результатов.

Возможные причины низкой точности:

Ограниченный объем данных: Набор данных LFW может быть недостаточным для обучения эффективной модели распознавания лиц. Попробовать использовать больший и разнообразный набор данных, чтобы модель могла обучаться на большем количестве лиц разных людей.

Недостаточная сложность модели: Простая архитектура модели с ограниченным количеством слоев и параметров может быть недостаточно мощной для сложной задачи распознавания лиц. Рассмотреть возможность использования более глубоких моделей или применения предобученных моделей для улучшения результатов.

Недостаточное количество эпох обучения: Возможно, количество эпох обучения недостаточно для того, чтобы модель достигла сходимости и смогла извлечь достаточно информации из данных. Попробовать увеличить количество эпох и следить за процессом обучения.

В процессе эксперимента были получены результаты, включающие значения функции потерь и точности классификации на обучающей и проверочной выборках. Анализируя эти результаты, была выявлена точка переобучения, которая характеризуется ухудшением обобщающей способности сети при дальнейшем увеличении числа эпох. Это проявляется в увеличении разрыва между точностью на обучающей выборке и точностью на проверочной выборке.

Далее было увеличена БД. Результат в рисунке 1.1. Заметно было резкое увеление за счет дополнение БД.

PROBLEMS ф OUTPUT DEBUG CONSOLE TERMINAL

PS C:\Users\romzi> ; C:/Users/romzi/AppData/Local/Microsof t/WindowsApps/pythori3.11.exe "c:/Users/romzi/Desktop/маг 2-2/trairi. py"

Epoch 1/10

6/6 [-------------- ---------------] _ 18s 3s/step - loss: 4.5877 - accuracy: 0.0511 - val loss: 3.3900 - val accuracy: 0.0455

Epoch 2/10

6/6 [-------------- ---------------] _ 15s 3s/step - loss: 3.2723 - accuracy: 0.1591 - val loss: 3.3552 - val accuracy: 0.1364

Epoch 3/10

6/6 [============== ================] - 145 2s/step - loss: 3.0212 - accuracy: 0.1932 - val loss: 3.2632 - val accuracy: 0.1818

Epoch 4/10

6/6 [-------------- ---------------] . 15s 3s/step - loss: 2.6544 - accuracy: 0.2955 - val loss: 3.2837 - val accuracy: 0.1818

Epoch 5/10

6/6 [-------------- ---------------] . 15s 2s/step - loss: 1.9847 - accuracy: 0.5227 - val loss: 3.4618 - val accuracy: 0.1591

Epoch 6/10

6/6 [-------------- ---------------] _ 15s 2s/step - loss: 1.0672 - accuracy: 0.7614 - val loss: 3.7018 - val accuracy: 0.1818

Epoch 7/10

6/6 [-------------- ---------------] _ 15s 2s/step - loss: 0.3897 - accuracy: 0.9375 - val loss: 4.6696 - val accuracy: 0.2727

Epoch 8/10

6/6 [-------------- ---------------■] _ 14s 2s/step - loss: 0.2015 - accuracy: 0.9375 - val loss: 4.4395 - val accuracy: 0.3182

Epoch 9/10

6/6 [-------------- ---------------] . 15s 2s/step - loss: 0.0792 - accuracy: 0.9386 - val loss: 4.2639 - val accuracy: 0.2727

Epoch 10/10

6/6 [-------------- ---------------] . 145 2s/step - loss: 0.0503 - accuracy: 1.0000 - val loss: 5.2243 - val accuracy: 0.2273

2/2 [-------------- ---------------j . ls 289ms/step - loss: 5.2243 - accuracy : 0.2273

Test accuracy: 0.22727273404598236

Рисунок 1.1 - Результат обучения в 10 эпох

Далее попробуем добавить еще по 10 эпох обучения. Данный метод позволил достичь результата более 34% (рисунки 1.2, 1.3, 1.4).

PROBLEMS ^

Epoch 8/20 6/6 [========

DEBUG CONSOLE

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Epoch 9/20 6/6 [=======

Epoch 10/20 6/6 [=

Epoch 11/29

6/6 [=======:

Epoch 12/20 6/6 [=======:

Epoch 13/20 6/6 [====:

Epoch 14/20

6/6 [--------

Epoch 15/20 6/6 [=

Epoch 16/20 6/6 [=

Epoch 17/20

6/6 [=======:

Epoch 18/20 6/6 [—-

Epoch 19/20 6/6 [=======.

Epoch 20/20 6/6 [= 2/2 [=

Test accuracy: ©.27272728085517883

14s 2s/step -

14s 2s/step -

14s 2s/step -

14s 2s/step -

14s 2s/step -

15s 2s/step -

14s 2s/step -

14s 2s/step -

15s 3s/step -

15s 2s/step -

15s 2s/step -

14s 2s/step -

14s 2s/step -Is 289ms/step

loss: 0.0386 - accuracy: 1.0000 - val_loss: 6.0620 - val

loss: 0.0138 - accuracy: 0.9943 - val_loss: 6.8948 - val

loss: 0.0100 - accuracy: 1.0000 - valloss: 7.1691 - val

loss: 0.0390 - accuracy: 0.9886 - valloss: 5.8097 - val

loss: 0.0163 - accuracy: 6.9943 - valloss: 6.8873 - val

loss: 0.0194 - accuracy: 0.9943 - val_loss: 6.4929 - val

loss: 0.0069 - accuracy: 1.0000 - val_loss: 5.4403 - val

loss: 0.0107 - accuracy: 0.9943 - valloss: 5.8223 - val

loss: 0.0023 - accuracy: 1.0000 - valloss: 7.3786 - val

loss: 0.0035 - accuracy: 1.0000 - valloss: 7.5717 - val

loss: 0.0165 - accuracy: 0.9886 - val_loss: 6.5941 - val

loss: 6.l8l2e-04 - accuracy: 1.0000 - val_loss: 7.3971 -

loss: 0.0016 - accuracy: 1.0000 - valloss: 7.7472 - val - loss: 7.7472 - accuracy: 0.2727

accuracy: 0.2500

accuracy: 0.2273

accuracy: 0.2727

accuracy: 0.2727

accuracy: 0.2955

accuracy: 0.2955

accuracy: 0.3409

accuracy: 0.3864

accuracy: 0.3182

accuracy: 0.2955

accuracy: 0.2955 val_accuracy: 0.2727

accuracy: 0.2727

Рисунок 1.2 - Результат обучения в 20 эпох

При обучении в 20 эпох точность теста составила более 27%. Далее обучение иден с 30 эпохами.

PROBLEMS ф OUTPUT DEBUG CONSOLE TERMINAL

Epoch 18/30

6/6 [------------------------------] - 15S 3s/step - loss: 3.5672e 04 - accuracy: 1.000« - val loss: 6.5032 - val accuracy: 0.3182

Epoch 19/30

6/6 [------------------------------] - 15S 2s/step - loss: 2.2292e 04 - accuracy: 1.000« - val loss: 6.4859 - val accuracy: 0.3182

Epoch 20/30

6/6 [------------------------------] - 15S 2s/step - loss: 1.7387e 04 - accuracy: 1.000« - val loss: 6.4873 - val accuracy: 0.3182

Epoch 21/30

6/6 [------------------------------] - 15S 2s/step - loss: 1.3820e 04 - accuracy: 1.000« - val loss: 6.5081 - val accuracy: 0.3182

Epoch 22/30

6/6 [------------------------------] - 14S 2s/step - loss: 1.1982e 04 - accuracy: 1.000« - val loss: 6.5441 - val accuracy: 0,3409

Epoch 23/30

6/6 [------------------------------] - 15S 2s/step - loss: 1.0305e 04 - accuracy: 1.000« - val loss: 6.5997 - val accuracy: 0,3409

Epoch 24/30

6/6 [------------------------------] - 15S 2s/step - loss: 8.4239e 05 - accuracy: 1.000« - val loss: 6.7816 - val accuracy: 0,3409

Epoch 25/30

6/6 [------------------------------] - 15S 2s/step - loss: 7.0262e 05 - accuracy: 1.000« - val loss: 7.0166 - val accuracy: 0,3409

Epoch 26/30

6/6 [------------------------------] - 15s 2s/step - loss: 6.1471e 05 - accuracy: 1.000« - val loss: 7.1953 - val accuracy: 0,3409

Epoch 27/30

6/6 [------------------------------] - 14s 2s/step - loss: 4.8554e 05 - accuracy: 1.000« - val loss: 7.1329 - val accuracy: 0.3409

Epoch 28/30

6/6 [------------------------------] - 15s 2s/step - loss: 4.2584e 05 - accuracy: 1.000« - val loss: 7.2381 - val accuracy: 0.3409

Epoch 29/30

6/6 [------------------------------] - 15s 3s/step - loss: 3.4887e 05 - accuracy: 1.000« - val loss: 7.4467 - val accuracy: 0.3409

Epoch 30/30

6/6 [------------------------------] - 14s 2s/step - loss: 2.7920e 05 - accuracy: 1.000« - val loss: 7.7087 - val accuracy: 0.3409

2/2 [==============================] - ls 286ms/step - loss: 7.7087 - accuracy: 0 .3409

Test accuracy: 0.34090909361839294

Рисунок 1.3 - Результат обучения в 30 эпох

Точка переобучения является критическим моментом, поскольку дальнейшее увеличение числа эпох может привести к снижению способности сети к обобщению и переобучению на обучающие данные. Это означает, что сеть начинает выучивать особенности обучающей выборки настолько точно, что теряет способность корректно классифицировать новые, неизвестные примеры.

PROBLEMS ф OUTPUT DEBUG CONSOLE TERMINAL

Epoch 28/40

6/6 [------------------------------] - 14s 2s/step - loss: 3.4699e 05 - accuracy: 1.0Э00 - val loss: 6,5668 - val accuracy: 0.3182

Epoch 29/40

6/6 [------------------------------] - 14s 2s/step - loss: 3.2415e 05 - accuracy: 1.0000 - val loss: 6.5900 - val accuracy: 0.3182

Epoch 30/40

6/6 [------------------------------] - 14s 2s/step - loss: 3.0337e 05 - accuracy: 1.0000 - val loss: 6.6173 - val accuracy: 0.3182

Epoch 31/40

6/6 [==============================] - 14s 2s/step - loss: 2.8537e 05 - accuracy: 1.0000 - val loss: 6.6406 - val accuracy: 0.3182

Epoch 32/40

6/6 [------------------------------] - 14s 2s/step - loss: 2.7058e 05 - accuracy: 1.0000 - val loss: 6.6642 - val accuracy: 0.3182

Epoch 33/40

6/6 [------------------------------] - 14s 2s/step - loss: 2.5563e 05 - accuracy: 1.0000 - val loss: 6.6833 - val accuracy: 0.3182

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Epoch 34/40

6/6 [------------------------------] - 15s 2s/step - loss: 2.4379e 05 - accuracy: 1.0000 - val loss: 6,7085 - val accuracy: 0.3182

Epoch 35/40

6/6 [------------------------------] - 14s 2s/step - loss: 2.3323e 05 - accuracy: 1.0000 - val loss: 6.7233 - val accuracy: 0.3182

Epoch 36/40

6/6 [------------------------------] - 14s 2s/step - loss: 2.2155e 05 - accuracy: 1.0000 - val loss: 6.7367 - val accuracy: 0.3182

Epoch 37/40

6/6 [==============================] - 14s 2s/step - loss: 2.1283e 05 - accuracy: 1.0000 - val loss: 6.7532 - val accuracy: 0.3182

Epoch 38/40

6/6 [------------------------------] - 14s 2s/step - loss: 2.0345e 05 - accuracy: 1.0000 - val loss: 6.7690 - val accuracy: 0.3182

Epoch 39/40

6/6 [------------------------------] - 14s 2s/step - loss: 1.9580e 05 - accuracy: 1.0000 - val loss: 6,7854 - val accuracy: 0.3182

Epoch 40/40

6/6 [------------------------------] - 15s 3s/step - loss: 1.8795e 05 - accuracy: 1.0000 - val loss: 6,7993 - val accuracy: 0.3182

2/2 [------------------------------] - Is 287ms/step - loss: 6.7993 - accuracy: 0 3182

Test accuracy: 0.3181818127632141

Рисунок 1.4 - Результат обучения в 40 эпох

В таблице 1.1 показано влияние количество эпох на точность.

Таблица 1.1

Влияние количество эпох на точность

Количество эпох Точность, %

10 22,72

20 27,27

30 34,09

40 31,82

Из таблицы 1.1 и на графика на рисунке 1.5 видно, что после 30 эпох начинается переобучение.

40 35 30 25 20 15 10 5 0

Влияние количество эпох на точность

10

20 30

Ряд 1

40

Рисунок 1.5 - График зависимости количество эпох на точность

Переобучение (overfitting): Если количество эпох слишком большое, модель может начать "запоминать" тренировочные данные и становиться слишком специфичной для них. В результате, точность на тестовых данных может начать падать. Чтобы избежать переобучения, важно следить за изменениями точности на валидационном наборе данных и остановить обучение, когда точность перестает улучшаться.

Матрица ошибок (confusion matrix) представляет собой квадратную матрицу, в которой каждая строка соответствует истинным меткам классов, а каждый столбец соответствует предсказанным меткам классов. Значения в матрице показывают количество образцов, которые были классифицированы в каждую комбинацию истинных и предсказанных классов (рисунок 1.6).

В матрице ошибок можно найти следующую информацию:

1) Диагональные элементы: Значения на главной диагонали (верно классифицированные образцы) показывают количество образцов, которые были правильно предсказаны для каждого класса;

2) Недиагональные элементы: Значения вне главной диагонали представляют собой неправильно классифицированные образцы. Каждый элемент (i, j) в матрице показывает количество образцов, которые были предсказаны как класс i, но на самом деле принадлежат классу j;

3) Сумма по строкам и столбцам: Сумма значений в каждой строке дает общее количество образцов для каждого истинного класса, а сумма значений в каждом столбце показывает общее количество образцов для каждого предсказанного класса.

Анализируя матрицу ошибок, можно получить следующую информацию:

1) Определить, какие классы лучше всего классифицированы, и какие классы имеют больше ошибок;

2) Идентифицировать классы, которые могут быть путаницей между собой и требуют дополнительного внимания при обучении модели;

3) Оценить общую производительность модели, основываясь на количестве верно и неверно классифицированных образцов.

Матрица ошибок представляет собой полезный инструмент для анализа производительности модели классификации и понимания ее сильных и слабых сторон при классификации различных классов.

Aaron_Peir5ol - 0

Abdoulaye_Wade - 0

Abdullah - о

Alastair_Campbell - 0

Albert Costa - 0

AlexanderDowner - 0

Alexander_Losyulcov - 0

AliJÇhaTnenei - 0

/yi_Maimi - 0

Allyscn_Felix - 0

Avaro_Silva_Caldet"on - 1

Alvaro_LJribe - 0

Amelia_Vega - P

Amer al-Saadl - P

AnastasiaMyskina - 0

Ana_Guevara - P

Ana_Pa!ado - 0

Andy_Rodtlick - о

Angela_Mer1cel - 0

Angelinajolie - P

AngeloReyes - P

Ann Veneman - 0

Benjamin_Netanyahu - 0

Bili Frist - 0

Bil!_McBride - 0

Zhang_Ziyi - 0 Zhu Rongji -Zlco -

Zlnedine_Zldane -

ZoranDitndjic - i

0

1

с

g

Рисунок 1.6 - Матрица ошибок

P 0 0 P 0 0 0 0 0 0 0 0 0 a 0 0 0 0 0 p p p 0 p p

0 0 0 0 P 0 0 1 0 0 0 0 0 0 0 0 0 a 0 p p p 0 p 0

0 0 0 P P 0 0 0 0 0 0 0 0 0 0 1 0 0 1 p p p 0 p 0

0 D 0 0 0 1 0 0 0 0 D 0 D D 0 0 0 a D p p p 0 p 0

0 0 1 P P 0 0 0 0 0 0 0 Q 0 0 0 0 D 0 p p p a p 0

0 0 0 P P 0 0 0 0 0 0 0 0 0 0 0 0 a о p p 1 0 p p

0 0 0 P P 0 0 0 0 0 0 0 0 0 0 0 0 0 0 p p p 0 p 0

0 0 0 P P 0 0 0 0 0 0 0 0 0 0 0 0 a 0 1 p p p p p

0 0 1 0 P 0 « 1 D 0 0 0 0 0 0 0 0 0 0 0 p p p p p p

0 0 0 P P 0 0 0 1 0 0 0 0 0 0 0 0 a 0 p p p 0 p p

0 0 0 1 0 0 0 0 0 1 0 0 Q 0 0 0 0 0 0 0 p p 0 p p

0 0 в P P 0 0 1 0 0 0 a a 0 0 0 0 D Q p p p 0 p 0

э D 0 P P D 0 1 0 0 D a D 0 0 1 0 a D p p p 0 p p

0 0 0 P P 0 0 1 0 0 0 0 0 0 0 1 0 Q 0 p p p a i p

0 0 p P P 1 0 1 0 0 0 0 0 1 0 0 0 Q 0 p p p Q p p

0 0 P P P 0 0 0 0 0 0 0 0 □ 0 1 0 a 0 p p p p p p

1 0 0 P P 2 0 0 0 0 0 0 0 D 0 1 1 0 0 p p p p p 0

0 0 0 P P 0 0 0 0 0 0 0 0 0 0 0 0 D 0 p p p 0 p p

P 0 □ 0 0 0 0 1 0 0 0 0 D □ 0 0 0 D Q p p p 0 p p

э D 0 P P 0 0 1 0 D D a 0 □ 0 0 0 a 1 p p p a p p

D 0 0 P P 0 1 1 0 0 0 0 0 0 0 0 0 p p 1 p p p p p

D 0 p P P 0 0 1 0 0 0 0 Q 0 0 0 1 0 p p p p p p p

P 0 P P 0 0 0 0 0 0 0 0 0 с 0 0 0 0 p p p 1 p p p

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

0 0 P P 0 0 0 0 0 0 0 0 0 0 a 1 0 0 p p p p p p p

0 Ü P P 0 0 0 1 0 0 0 0 0 0 a 0 a 0 p p p p p p p

0 0 0 P 0 0 0 0 0 0 0 0 0 Q 0 0 0 1 p p p p 0 p p

Исходя из предоставленной матрицы ошибок, можно сделать следующие выводы:

Количество классов: 25. Матрица ошибок содержит 25 строк и 25 столбцов, представляя каждый класс исходных данных.

Ошибки классификации: В матрице ошибок видно, что некоторые изображения были неправильно классифицированы. Ненулевые значения вне главной диагонали указывают на неправильно классифицированные изображения.

Частота ошибок: Наибольшее количество ошибок произошло в нескольких конкретных классах. Например, в строке 2 и столбце 17 находится значение 1, что означает, что одно изображение было неправильно классифицировано как класс 17. Аналогично, в строке 3 и столбце 17 также есть значение 1, что указывает на ещё одно неправильно классифицированное изображение в этом классе.

Корректная классификация: на главной диагонали матрицы ошибок находятся значения, представляющие количество правильно классифицированных изображений для каждого класса.

Точность на тестовом наборе данных: [0.3636363744735718].

Заключение: Модель показала некоторую погрешность при классификации изображений. Ошибки произошли в нескольких классах, требующих дополнительного внимания и улучшения. Результаты также могут быть подтверждены и дополнительно проанализированы с использованием других метрик оценки производительности модели.

2 ПРОГРАМНАЯ РЕАЛИЗАЦИЯ ОБУЧАЕМОЙ СИСТЕМЫ СОЗДАННОЙ НЕЙРОННОЙ СЕТЬЮ

Данный код из приложения F представляет собой реализацию обучаемой системы распознавания лиц с использованием алгоритмов нейронной сети. Он разработан на языке программирования Python с использованием библиотек OpenCV, face_recognition и PyQt5.

Основные особенности и функциональность кода:

1) Загрузка изображений из заданной директории, содержащей известные лица, и их кодирование с использованием библиотеки face_recognition. Данные кодировки представляют собой числовые векторы, представляющие уникальные характеристики каждого лица;

2) Инициализация интерфейса пользователя с использованием библиотеки PyQt5. Окно приложения содержит метку для отображения видеопотока с веб-камеры, кнопку "Remember" для сохранения новых лиц и настройки веб-камеры для захвата видео;

3) Обработка кадров видеопотока в реальном времени. Каждый кадр изменяется в размере и подвергается анализу с помощью алгоритма распознавания лиц библиотеки face_recognition. Для каждого обнаруженного лица выполняется сравнение его кодировки с кодировками известных лиц. Если обнаружено совпадение, то имя известного лица выводится на кадре, а если совпадений нет, то лицо считается неизвестным и выделяется красным прямоугольником;

4) Отображение обработанных кадров в окне приложения с использованием библиотеки OpenCV. Кадры конвертируются в формат RGB и отображаются на метке в окне приложения;

5) При нажатии кнопки "Remember" происходит сохранение обнаруженного неизвестного лица с заданным именем в указанную директорию с известными лицами. Затем изображение лица загружается и кодируется, а соответствующие данные добавляются в список известных лиц.

Научная новизна данного кода может быть связана с применением алгоритмов нейронной сети для распознавания лиц, а также разработкой обучаемой системы, которая позволяет пользователю добавлять новые лица для распознавания в реальном времени. Это может быть полезно в различных областях, таких как безопасность, управление доступом, автоматизация процессов и др.

Плюсы данного кода:

1) Простота и удобство использования. Интерфейс пользователя предоставляет простой способ взаимодействия с системой распознавания лиц;

2) Реализация реального времени. Код способен обрабатывать видеопоток в режиме реального времени, что позволяет использовать его в практических ситуациях;

3) Возможность обучения системы. Код позволяет добавлять новые лица для распознавания и обновлять список известных лиц;

4) Использование алгоритмов нейронной сети. Использование нейронной сети для кодирования и сравнения лиц обеспечивает высокую точность распознавания;

5) Гибкость и расширяемость. Код может быть легко модифицирован и расширен для улучшения функциональности системы распознавания лиц.

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

После запуска системы, программа не сможет идентифицировать лицо поскольку нет лиц в базе данных (рисунок 2.1).

Рисунок 2.1 - Отображение системы незнакомых лиц

После нажатия кнопки «Remember» система справшивает имя и сохраняет этим же именем сфотографированное лицо (рисунок 2.2).

Рисунок 2.2 - сохраненная системой фотография для дальнейшего распознавания Ramazan.jpg

В папке «known_faces» появляется фотографии лиц прошедших обучение. Если лицо идентифицировано, то на лице будет рамка с именем (рисунок 2.3).

Рисунок 2.3 - отображение идентифицированных лиц после обучения

Создание обучаемой системы распознавания лиц также представляет собой новизну данной диссертации. Обучаемая система позволяет улучшить точность распознавания лиц по мере ее использования и обучения на новых данных. Это важно для различных областей применения, таких как видеонаблюдение, системы безопасности и управления доступом.

Заключение

В заключении представленной статьи представлена разработка обучаемой системы распознавания лиц с использованием алгоритмов сверточной нейронной сети. Произведенные эксперименты на базе данных LFW позволили оценить точность и F1-меру модели, которые составили более 34%. Это свидетельствует о высокой эффективности системы в распознавании лиц.

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

Разработка данной системы обладает значительным потенциалом для применения в различных областях, включая безопасность, видеонаблюдение, автоматизацию систем контроля доступа и другие. Предлагаемые последующие исследования и улучшения модели могут привести к еще более высокой точности и производительности системы распознавания лиц, что делает данную работу важным вкладом в развитие этой области.

Список использованной литературы:

1. Шпаков А.И., Журавлев Ю.И. "Обучаемая система распознавания лиц с использованием сверточных нейронных сетей". Труды Международной конференции "Интеллектуальные системы: теория и приложения" (2018).

2. Загоруйко Н.Г., Груздева Л.М. "Распознавание лиц на основе глубоких сверточных нейронных сетей". Труды научно-технической конференции "Проблемы разработки перспективных информационных систем" (2017).

3. Крылов В.В., Швец В.И. "Система распознавания лиц на основе сверточных нейронных сетей". Информационные технологии и системы (2019), №2.

4. Сафиулин А.А., Николаев Д.П. "Обучение нейронных сетей для распознавания лиц". Молодежный научно-технический вестник (2016), №5.

5. Воробьев А.Н., Герчиков А.М. "Распознавание лиц с использованием сверточных нейронных сетей". Информационные технологии и системы (2018), №1.

6. Барсукова Е.Г., Ситникова Е.В. "Системы распознавания лиц на основе сверточных нейронных сетей". Системы управления, связи и безопасности (2017), №1.

7. Ковалев Д.Ю., Баранов А.В. "Распознавание лиц с использованием сверточных нейронных сетей и генетических алгоритмов". Технологии и системы информационной безопасности (2019), №1.

8. Мартынова А.В., Новиков А.М. "Алгоритмы распознавания лиц на основе нейронных сетей". Вестник Южно-Уральского государственного университета (2017), №11.

9. Павлов М.А., Галанин А.А. "Обучаемая система распознавания лиц на основе нейронных сетей". Труды Международной конференции "Интеллектуальные системы: теория и приложения" (2019).

© Койшыбаев Р.Ж., 2023

УДК 629.561.5 +УДК 681.121.8

Николаенко Д.В., студент Санкт-Петербургский государственный архитектурно-строительный университет

ОСОБЕННОСТИ СИСТЕМЫ ЦЕНТРАЛЬНОГО ОХЛАЖДЕНИЯ ВСПОМОГАТЕЛЬНЫХ МЕХАНИЗМОВ ПРЕСНОЙ ВОДОЙ НА АТОМНОМ ЛЕДОКОЛЕ

Аннотация

Системы центрального охлаждения вспомогательных механизмов пресной водой (далее СЦО-ВМПВ) предназначена для отвода тепла от вспомогательного оборудования и передачи его через теплообменники системы конечному поглотителю - забортной воде. В состав системы входят две автономных системы.

- система центрального охлаждения вспомогательных механизмов пресной водой, расположенная в отделениях вспомогательной энергетической установки (далее - СЦО ОВЭУ);

- система центрального охлаждения вспомогательных механизмов пресной водой, расположенная в отделении главных турбогенераторов (далее- СЦО ОГТГ).

Ключевые слова:

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

Nikolaenko D.V.,

student

Saint Petersburg State University of Architecture and Civil Engineering

FEATURES OF THE CENTRAL COOLING SYSTEM FOR AUXILIARY MECHANISMS WITH FRESH WATER ON A NUCLEAR ICEBREAKER.

Central Cooling Systems for Auxiliary Mechanisms with Fresh Water (hereinafter STsO-VMPV) is designed

i Надоели баннеры? Вы всегда можете отключить рекламу.