We used this solution to make a face recognition system that uses gender and age prediction. We have to recognize and register faces for security reasons. Since we don't know all the people that are passing by our cameras, we track them and assign a unique ID for each face. We keep tracking them as long as they are visible within the camera field. After that, we predict the age and gender of those people, and then we send them to our database system to produce statistics. Finally, there is a second-team that analyses the statistics.
We also use it for transfer learning, which is a style transfer. We have two kinds of input images. Let's say the first image is of a person, and the second image is a style. We want to transfer information from the first image to the second. This is called image-to-image translation. First, we collect the data, then we clean it. After that, we have the model and we make our inference.
The third use case for us is based on image retrieval. We have a full database — it's a huge database. We have used Spark and HDFS — big data tools; it's a distributed database. We have to extract features for each image so we needed to develop a model to retrieve the images. Let's say the user has input images, and they have a web interface like Google search — when you upload an image, it will retrieve the closest one to you. We proceed with feature extraction and a calculation for each image. We save them and after that, we train a model to retrieve the closest images to the stored one. We use GitHub to upload these input images and after that, our system retrieves and outputs the 10 closest images to them.