Покращення моделей розпізнавання облич за допомогою згорткових нейронних мереж, навчання подібності та методів оптимізації - Літвинчук, А.М.; Барановська, Л.В. (Проблемы управления и информатики, 2021)
Розпізнавання облич — це одна з основних задач комп’ютерного зору. Вона має безліч прикладних застосувань, що призвело до величезної кількості досліджень у цій сфері. І хоча дослідження відбувались з початку розвитку комп’ютерного зору, адекватних результатів змогли досягнути лише за допомогою згорткових нейронних мереж. У даній роботі проведено порівняльний аналіз методів розпізнавання облич до згорткових нейронних мереж. Розглянуто набір архітектур нейронних мереж, методів навчання подібності та оптимізації. Проведено ряд експериментів, виконано порівняльний аналіз розглянутих методів покращення згорткових нейронних мереж, в результаті отримано універсальний алгоритм для навчання моделі розпізнавання облич. Для порівняння різних підходів розпізнавання облич ми обрали набір даних VGGFace2. Він складається з 3,31 млн зображень 9131 людини. Його створили за допомогою зображень з пошукової системи Google. Спочатку застосовувалися попередньо навчені нейронні мережі для виділення певної кількості найбільш можливих фотографій людини. Після цього зображення перевірялись розмітниками для фінальної ідентифікації. Для валідаційної вибірки відклали 50 зображень 500 людей, загалом 25000 зображень. Практично всі експерименти проводилися ітеративно. Тобто, обравши найкращий підхід у попередньому етапі (наприклад, найкращий оптимізатор), ми використовували вже його і далі перевіряли, наприклад, архітектуру мережі. Як і очікувалось, нейронні мережі з більшою кількістю параметрів та складнішою архітектурою показували кращі результати у наведеній в роботі задачі. Серед розглянутих нами моделей найкращою виявилась Se-ResNet50. Навчання подібності — це метод, за допомогою якого можливо досягнути хорошої точності. Без цього методу задачу вирішити було б неможливо. Для оптимізації нейронних мереж ми розглядали і адаптивні, і прості оптимізатори. Як показано у роботі, для даної задачі найкращим виявився стохастичний градієнтний спуск з моментом, а адаптивні методи показали поганий результат. Загалом, використовуючи різні підходи, ми змогли отримати точність 92 % на досить складному наборі даних, що на 25,5 % краще за базовий експеримент. подальший розвиток даного дослідження можливий завдяки покращенню архітектури нейронної мережі, збору більшої кількості даних та застосуванню кращих методів регуляризації. Face recognition is one of the main tasks of computer vision. It has many applications, which has led to a huge amount of research in this area. And although research in the field has been going on since the beginning of the computer vision, good results could be achieved only with the help of convolutional neural networks. In this work, a comparative analysis of facial recognition methods before convolutional neural networks was performed. A set of neural network architectures, methods of metric learning and optimization are considered. There were performed bunch of experiments and comparative analysis of the considered methods of improvement of convolutional neural networks. As a result a universal algorithm for training the face recognition model was obtained. To compare different approaches of face recognition, we chose a dataset called VGGFace2. It consists of 3,31 million images of 9131 people. It was created using images from the Google search engine. Initially, pre-trained neural networks were used to select photographs with humans. The images were then checked mannualy. For the validation sample, we set aside 50 images of 500 people, for a total of 25,000 images. Almost all experiments were performed iteratively. For example, we choose the best optimizer and then we use it to search for best arctitecture. As expected, neural networks with more parameters and more sophisticated architecture showed better results in this task. Among the considered models the best was Se-ResNet50. Metric learning is a method by which it is possible to achieve good accuracy in face recognition. Without this method it would be impossible to solve the problem. To optimize neural networks, we considered both adaptive and simple optimizers. It turned out that the stochastic gradient descent with moment is the best for this problem, and adaptive methods showed a rather poor result. In general, using different approaches, we were able to obtain an accuracy of 92 %, which is 25,5 % better than the baseline experiment. We see next ways for the further development of the research subject: improving neural network architecture, collecting more data and applying better regularization techniques.