# 2021-153 : Virtual Dressing Room

## Main objective
The main objective of the project is developing a smart ordering system for a clothing store to satisfy their customers’ clothing requirements by providing a legitimate virtual fitting room facility through a mobile application, and provide an assist to maintain their stock in a smart way with the assist of AI based predictable decisions.

## Main Research problem
Due to the fast paced and high demanded characteristics of the clothing industry, physical and online clothing stores can be seen in all around the world. Presently, the demand for online shopping than physical shopping is increasing considering the time wastage inside a physical clothing store and when it comes to a pandemic situation like Covid 19, physical shopping can be led to a hazard situation by spreading the virus.

Even though it is an easier work to purchase items online, but the customers have to use their imagination to predict how cloths look on self by cause of the inability to trialing the clothes before purchasing. Due to the inability of trialing clothes online, virtual fitting rooms have appeared for customers with a customized 3D model feature to fit-on clothes.

Some of the existing virtual fit-on systems use sensors to get body measurements and the customers have to install the sensor for use the application. And most of the existing systems provide web applications but present-day people prefer to do everything using their mobile phones. Moreover, some of the systems provide a feature to select a skin tone from a provided list and apply to the 3D model. Due to the variety of people skin tones, selecting accurate skin tone from a provided list can be a difficult task to the customer. The inability to identify and select appropriate skin tone will be affected to the cloth selection and it will be a reason to dissatisfaction towards the ordered cloth. In addition to that, people have a plenty of preferred ways to wear a cloth including tucking or untucking a blouse, rolling up or rolling down sleeves etc. The existing systems did not facilitate the previously stated customization options. It could lead to decrease the sensibility of the virtual fit-on process.  

Furthermore, the existing systems mainly focused about the customer. Apart from adding clothes to the system, the existing systems do not facilitate specific functionalities towards the clothing store. The difficulty for the clothing store employees to analyze and obtain predictions for the demand of the clothing items manually due to the large number of sales records can be affected to the clothing store by cause of buying low demand or unnecessary lots of clothing items to the store can be a great loss to the business.


## Individual research question

### Member 1: IT18001808
* How to capture Only the face?
* How to identify customer skin tone?
* When try to Identify skin tone, How to do that on low quality images?
* How to categorized different skin tone variation?
* How to suggest best matching dress color to identified skin tone?
* How to suggest best matching clothes based on skin tone and body measurement?


### Member 2:  IT18012866
* How to render the 3D model? What are user inputs?
* Is the model change the skin tone?
* Is the model static?
* How to apply clothes on the model? Are they customizable?
* Can the model animate?


### Member 3: IT18066944
* How to generate customized 3D model in mobile app?
* How to add cloths to generated 3D model?
* How to add animations to generated 3D model?
* How to add skin tone to generated 3D model.?
* How to add fit-on facility to 3D model?
* How to display 360’ 3D model in mobile app?


### Member 4: IT17084796
* How to implement a prediction component for predicting future fashion trends?
* How to implement an AI chatbot for assist customers?
* How to implement suggestions and recommendation features?



## Individual Objectives

### Member 1: IT18001808
Determine the skin tone of the customer through the image and suggest the most suitable clothing items.
* Analyze uploaded image by the user to identify the exact skin tone of the customer using ML algorithms with the assist of trained dataset. 
* Suggest the most preferable color range of clothes, based on identified skin tone. User may pick a color and move forward.
* Filter and suggest the best matching clothing items along with the selected color and body measurements (with gender) that provided initially using ML algorithms.
* Display the filtered clothing items list to the user for proceed to checkout process.


### Member 2:  IT18012866
Render a female 3D human model and provide the virtual fit-on facility, and add animation (movements) to the 3D model.
* Analyze the body measurements given in the initial step and utilize them to render a 3D model (female) of the customer.
* Render a 3D model (female) according to identified body measurements and apply the exact color that identified by analyzing the photo, as the skin tone of the model. 
* Apply selected clothing item onto the rendered model to demonstrate the view of how it looks after wore by the customer.
* Add movements to the rendered model (female) to demonstrate a better preview with the cloth. (example: walk)
* Add customizable options related to females to check how outfit looks in different ways.

(example: tucked and untucked blouse, preview with additional clothing items such as jacket, scarf and etc.)

### Member 3: IT18066944
Render a male 3D human model and provide the virtual fit-on facility and add animation (movements) to the 3D model.
* Analyze the body measurements given in the initial step and utilize them to render a 3D model (male) of the customer.
* Render a 3D model (male) according to identified body measurements and apply the exact color that identified by analyzing the photo, as the skin tone of the model. 
* Apply selected clothing item onto the rendered model to demonstrate the view of how it looks after wore by the customer.
* Add movements to the rendered model (male) to demonstrate a better preview with the cloth. (example: walk)
* Add customizable options related to males to check how outfit looks in different ways.

 (example: tucked and untucked shirts, roll up and roll down the sleeves etc.)  

### Member 4: IT17084796
Analyze the purchased data to predict the future trends, indicate sales statistics and implement an intelligent bot to assist customers for the selecting and ordering clothes.
* Generate statistical information and conduct predictive analysis processes using ML algorithms based on pre-ordered items data (item category, size, color, brand and etc.)
* Suggest the type/brand of the clothes needed for the next seasons by making predictive analyses using ML algorithms.
* Comprehensively analyze previously collected data (body measurements, skin color, pre-ordered items) and suggest the best matching clothing items for new customers.   
* Implement an intelligent bot to interact with the customer to pick the best matching clothing items by making new suggestions, when the customer need an extra assistant to determine clothes.
* Indicate sales statistics to employees by utilizing pre-ordered item data.


