## 3 Material and Methods  
The aim of the experiment was to create and design models of multilayer neural networks in EmguCV, MLNET, Tensorflow.NET, comparing the results from the models in relation to their ability to successfully classify people's faces (over 80%). The development of the application for testing models was carried out on a computer system with the Windows10 operating system, a 6-core processor with a maximum core frequency of 4.2 GHz and an allocated RAM memory of 4 GB. The main logic of the application was programmed in C # (via Visual Studio using the Windows Form library), and the code was compiled by the Roslyn compiler.  
Figure 1: Basic architecture of a convolutional network [34].  
EmguCV is a multiplatform image processing library. It is an extension of the OpenCV library [38]. In EmguCV, images are represented in Mat or Matrix formats. They represent data about individual pixels in the image, which are stored in their columns and rows. Unlike a typical data matrix, they contain other essential information needed to work with an image, such as what color channel the image is encoded in. The Mat data type cannot be managed. Data of this type can only be read, loaded or cloned, but not edited. The Matrix is used for managed work with data. This data type is used by the ANN_MLP method, which requires data encoded in this format when creating, training, and testing a neural network. ANN_MLP is an abbreviation for artificial neural networks of multilayer perceptrons and is the main tool for creating multilayer neural networks in EmguCV.  
The robust Viola-Jones algorithm can be used for the recognition process phases in EmguCV as well as in OpenCV [39; 40]. The Viola-Jones algorithm itself consists of four parts [41; 42; 43]:  
* Selection of haar attributes;
* Creation of an integral image;
* Adaboost;
* Cascade classificators.  
Tensorflow is a software library with publicly available source code developed by Google to facilitate the creation, modeling and training of machine learning models, neural networks and other statistical and predictive analytical tasks. Tensorflow creates graphs of data flows that represent the structure of data on how data are to be processed in a model or series of process nodes. Each node in the graph represents a certain mathematical function, and each connection between the nodes represents a multidimensional array of data represented by the Tensor data type [44].  
ML.NET is a free and open source machine learning software library from Microsoft. It allows you to create, train and export machine learning models. In order for a model to be able to classify unknown data, it must be trained on a sufficiently large amount of data. In the experiment, we decided to use the publicly available \"Extended Yale Dataset B\" [45] dataset (Figure 2). It contains 39 subjects and more than 1200 front-face images shot under various lighting conditions.  
As this is a public database, we have provided a test sample of respondents in this way without the need to ask them for permission to work with sensitive data in any way.  
Figure 2: Preview of the Yale Face Dataset B Cropped [45].  
Application creation procedure:  
1. Design of a multilayer neural network model in EmguCV focused on human face recognition based on the Viola-Jones algorithm and pixel identification of input images;
2. Design of a model for the Tensorflow.NET framework focused on face recognition based on extracted facial features;
3. Design of a model for the Microsoft framework for machine learning ML.NET for face recognition based on convolutional networks;
4. Testing of created models on individual images of human faces and testing of classification abilities of models.