Smart Fashion Recommendation System using FashionNet

An intelligent system known as a fashion suggestion system gives consumers personalised fashion advice based on their tastes, style, body shape, and other variables. The system analyses a user's data and predicts the best fashion products for them using data analytics, machine learning, and artificial intelligence approaches. Intelligent fashion suggestion is currently desperately needed due to the explosive expansion of fashion-focused trends. We create algorithms that automatically recommend users' attire based on their own fashion tastes. We investigate the use of deep networks to this difficult problem. Our technology, called FashionNet, is made up of two parts: a matching network for determining compatibility and a feature network for feature extraction. We create a two-stage training method that transfers a broad compatibility model to a model that embeds personal choice in order to achieve personalised recommendation.


Introduction
Recommendation systems can be helpful for people who are looking for new fashion ideas and inspiration, or for those who are looking for specific items but are not sure where to start [1].It is always a good idea to carefully consider the recommendations of a fashion recommendation system before making a purchase.Fashion recommendation systems are designed to help consumers discover new clothing and accessories that they might like [2], based on their personal style and preferences.These systems use machine learning algorithms to analyze the user's past purchases and make recommendations based on patterns and trends that they identify.In recent years, the use of fashion recommendation systems has become increasingly popular, as online retail platforms have sought to provide personalized experiences for their customers [3].By recommending items that are likely to appeal to the user, fashion recommendation systems can help retailers increase sales [4,5] and customer satisfaction.
In this project, we will be designing and implementing a fashion recommendation system for an online retail platform.Our goal is to create a system that can accurately predict the items that a user is likely to be interested in, based on their past behavior and the characteristics of the items they have purchased or viewed.To do this, several machine learning algorithms and methods, such as collaborative filtering, content-based filtering, and hybrid strategies, will be used.We believe that our fashion recommendation system has the potential to significantly improve the user experience for our online customers, and we are excited to see the results of our work.

Literature Review
Fashion recommendation systems have gained significant attention in recent years due to the increasing popularity of online shopping and the need for personalized recommendations [6].These systems aim to assist users in finding fashion items that match their preferences and style and are typically based on machine learning algorithms that analyze user data and make recommendations based on their past purchases and preferences [7,8].Alenezi et al. (2021) developed a novel Convolutional Neural Network (CNN) integrated with a block-greedy algorithm to enhance underwater image dehazing.The method addresses color channel attenuation and optimizes local and global pixel values.By employing a unique Markov random field, the approach refines image edges.Performance evaluations, using metrics like UCIQE and UIQM, demonstrated the superiority of this method over existing techniques, resulting in sharper, clearer, and more colorful underwater images [12].In their book "Decision Making and Problem Solving," Shetkar and Mohanty (2021) explore the need for robust information processing and decision-making strategies in today's complex economic landscape.They emphasize the potential for enhancing decision-making abilities by tapping into the innate capacities of the brain.The authors introduce the concept of the mid-brain connective, proposing a model that focuses on optimizing the connections and integrations between the mind, brain, and body.This approach aims to empower individuals for more effective decision-making, ultimately contributing to their overall well-being [13].
One important aspect of fashion recommendation systems is featuring extraction, which involves identifying and extracting relevant features from fashion images that can be used to represent and compare different items.These features can include color [9], shape, texture, and other characteristics that are relevant to fashion.
Another key component of fashion recommendation systems is the use of nearest neighbor algorithms, which identify the most similar fashion items in the database based on the extracted features.Users may receive suggestions based on these algorithms depending on their prior purchases and interests.The channel share of the fashion market from the year 2017 to 2023 is given below in Fig1.

•
Collect a dataset of fashion images and corresponding metadata, such as item names, descriptions, and categories.

•
Preprocess the images by resizing and normalizing them as needed.

•
To extract features from the photos, use a convolutional neural network that has already been trained, such as ResNet50.

•
Use the extracted features to train a nearest neighbor algorithm, such as k-nearest neighbors (kNN), to identify the most similar fashion items in the database based on the extracted features.

•
Use relevant assessment criteria, such as precision, recall, and accuracy, to test the performance of the recommendation system.• Implement the recommendation system in a userfriendly interface and test it with real users to evaluate its practical usefulness.

•
Analyze the results and report any limitations or challenges encountered during the implementation.
Overall, the goal of this project is to design and develop a fashion recommendation system that utilizes feature extraction techniques and a nearest neighbor algorithm to provide based on their tastes and previous purchases, individuals receive personalised suggestions.Based on the retrieved characteristics, the algorithm will provide a group of pictures called nearest neighbours that are most similar to the original image, and the total system architecture is shown in Fig 2.

Transfer Learning Using Deep CNN(DCNN)
Transfer learning is a machine learning approach where a model that has already been trained is used as the foundation for learning a new task.When there is a lack of data or when the new work is somehow connected to the previous task, this might be useful.To use transfer learning, you will typically start by selecting a pre-trained model that has been trained on a related task.This model will have already learned some useful features and patterns from the data it was trained on, which can then be transferred to the new task.This can involve adjusting the model's architecture or the training hyperparameters in order to better fit the new task as shown in Fig 6 .There are several benefits to using transfer learning.For one, it can save time and resources, as it is typically faster and in-comparison to training a model from scratch, fine-tuning a pre-trained model requires less data.As the model will have already picked up some helpful features from the original task that can be applied to the new task, transfer learning can also help the model perform better on the new task.In general, transfer learning is a potent technique that may be utilised to enhance the performance of machine learning models on a variety of tasks, particularly when data is scarce, or the new work is somehow connected to the original assignment.

ANNOY
An open-source library called Annoy (approximation closest Neighbours Oh Yeah) uses approximation methods to perform quick and effective closest neighbour search.The Annoy method creates a tree structure to depict the connections between the dataset's data elements.
The Annoy algorithm begins by randomly selecting a subset of the data points and using them to create a tree structure.The tree structure is constructed in such a way that each data point is represented by a leaf node, and the distance between two data points is represented by the number of nodes in the path between them in the tree.
To perform a nearest neighbor search, the Annoy algorithm traverses the tree structure and compares the separation in the tree between the query point and the data points.The algorithm returns the data points that are closest to the query point, as determined by the distance measure used.One of the key features of the Annoy algorithm is that it uses approximate techniques to construct the tree structure and perform the nearest neighbor search.This allows the algorithm to perform the search much more quickly than other nearest neighbor algorithms that use exact techniques.Overall, the Annoy algorithm is a fast and efficient way to perform nearest neighbor search on large datasets.It is widely used in applications such as recommendation systems [10], information retrieval, and machine learning.Choosing the appropriate index type: Annoy provides several different index types, including ball trees, k-d trees, and random projection trees.It is important to choose the index type that is most appropriate for the task at hand and the characteristics of the data.Setting the appropriate parameters: Annoy provides several parameters that can be adjusted to control the behavior of the algorithm.These parameters include the number of trees, the number of dimensions, and the distance metric.It is important to choose appropriate values for these parameters dependent on the data's properties and the application's performance needs.

RESULTS AND DISCUSSIONS
The end result of the Fashion Recommendation system which includes the suggesting of outfit on a personalized basis has been shown below as input   Suppose a person who loves Urban style, and his personalized recommendation can be: Following the other person with flower theme as favorite then his can be

CONCLUSION AND FUTURE WORK:
There are a number of potential areas for future work for a project report on a fashion recommendation system that works on feature extraction using ResNet18 and showing output for nearest neighbor images.Some possible areas for future work might include improvements to the model's performance include the use of more complex feature extraction methods, the incorporation of more data sources, and the use of more powerful optimization algorithms.
Expanding the scope of the system: The current system may be focused on a specific task or subset of the fashion domain.
It may be possible to expand the scope of the system to cover a wider range of fashion-related tasks or to cover additional aspects of the fashion domain, such as style or trend analysis.
Investigating alternative approaches: There may be alternative approaches or algorithms that could be used to achieve similar or better results in the fashion recommendation task.It may be interesting to explore these approaches and compare their performance to the current system.Incorporating user feedback: The current system may not be tailored to the preferences and needs of individual users.Incorporating user feedback and preferences into the system could improve the relevance and usefulness of the recommendations.
Adding additional functionality: The current system may be focused on a single task or feature.It may be possible to add additional functionality to the system, such as integration with social media or the ability to make purchases directly from the system.

Figure 1 :
Figure 1: Channel share of the fashion Market

Figure 2 :Figure 3 :
Figure 2: System Architecture Data balancing may be important to prevent the model from overfitting to the dominant class if the data are unbalanced and other classes are underrepresented.This can be accomplished by either under-or oversampling the majority class.Feature selection: Choosing features for the model's input: It's crucial to choose the features the model will utilise with attention.This might entail choosing the features that are the most vital, eliminating those that are unnecessary or irrelevant, or developing new ones, and the system flowchart is shown in the below Fig 5

Figure 6 :
Figure 6: Transfer Learning using DeepCNNNext, you will typically fine-tune the pre-trained model by continuing to train it on the new task, using the available data.
The 3D plane representation shown in Fig 7 is how the annoy algorithm detects is

Figure 7 :
Figure 7: The 3D plane representation of annoy algorithm

Figure 9 :
Figure 9: Output Image Other recommended suggestions include the images as shown in Fig 10, Fid 11, Fig 12:

Figure 12 :
Figure 12: Recommendation Suggestions Sample -2 Here it has been saw that the recommendation outputs for the image Evaluating the model we can see that: The Fig 13 is the Loss graph of Figure 11 & 12.