0% found this document useful (0 votes)
136 views116 pages

Final Black Book 24

This project report describes a virtual clothes try-on system created by four students - Prathmesh Joshi, Virat Desale, Ajay Jadhav, and Sushil Pawar. The system allows users to see how virtual clothes fit on their body in real-time on a screen without physically trying on clothes. The report includes an abstract, introduction, problem definition, project plan, and other sections required for a project report. It was created under the guidance of Prof. Rupali Salunke and submitted to Savitribai Phule Pune University to fulfill the requirements for a Bachelor of Engineering in Computer Engineering.

Uploaded by

Rahul Chandale
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
136 views116 pages

Final Black Book 24

This project report describes a virtual clothes try-on system created by four students - Prathmesh Joshi, Virat Desale, Ajay Jadhav, and Sushil Pawar. The system allows users to see how virtual clothes fit on their body in real-time on a screen without physically trying on clothes. The report includes an abstract, introduction, problem definition, project plan, and other sections required for a project report. It was created under the guidance of Prof. Rupali Salunke and submitted to Savitribai Phule Pune University to fulfill the requirements for a Bachelor of Engineering in Computer Engineering.

Uploaded by

Rahul Chandale
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 116

SAVITRIBAI PHULE PUNE UNIVERSITY

A PROJECT REPORT ON

VIRTUAL CLOTHES TRY-ON

SUBMITTED TOWARDS THE


PARTIAL FULFILLMENT OF THE REQUIREMENTS OF

BACHELOR OF ENGINEERING (Computer Engineering)

BY

Prathmesh Joshi Exam No: B191054280


Virat Desale Exam No: B191054246
Ajay Jadhav Exam No: B191054275
Sushil Pawar Exam No: B191054353

Under The Guidance of

Prof. Rupali Salunke

DEPARTMENT OF COMPUTER ENGINEERING


NBNSSOE
Pune
NBN Sinhgad School of Engineering, Pune
DEPARTMENT OF COMPUTER ENGINEERING

CERTIFICATE

This is to certify that the Project Entitled

VIRTUAL CLOTHES TRY-ON

Submitted by

Prathmesh Joshi Exam No: B191054280


Virat Desale Exam No: B191054246
Ajay Jadhav Exam No: B191054275
Sushil Pawar Exam No: B191054353
is a bonafide work carried out by Students under the supervision of Prof. Rupali
Salunke and it is submitted towards the partial fulfillment of the requirement of
Bachelor of Engineering (Computer Engineering).

Prof. Rupali Salunke Prof. S. P. Bendale


Internal Guide H.O.D
Dept. of Computer Engg. Dept. of Computer Engg.

Dr. S.P.Patil
Principal
NBN Sinhgad School Of Engineering

Signature of Internal Examiner Signature of External Examiner


PROJECT APPROVAL SHEET

Virtual Clothes Try-On

Is successfully completed by

Prathmesh Joshi Exam No: B191054280


Virat Desale Exam No: B191054246
Ajay Jadhav Exam No: B191054275
Sushil Pawar Exam No:B191054353

at

DEPARTMENT OF COMPUTER

ENGINEERING NBN Sinhgad School of

Engineering, Pune

SAVITRIBAI PHULE PUNE

UNIVERSITY,PUNE ACADEMIC YEAR 2022-

23

Prof. Rupali Salunke Prof. S. P. Bendale


Internal Guide H.O.D
Dept. of Computer Engg. Dept. of Computer Engg.

Signature of Internal Examiner Signature of External Examiner


Abstract

Virtual try-on of clothes has received much attention recently due to its commercial potential. It can
be used for online shopping or intelligent recommendation to narrow down the selections to a few
designs and sizes. Through this project, we aim to create a mechanism which enables users to see
herself wearing virtual clothes while looking at a screen display, without taking off her actual clothes.
The system physically simulates the selected virtual clothes on the user’s body in real-time and the
user can see the virtual clothes fitting on the screen image from various angles as she moves. But the
biggest problem of virtual try on is that the shape and pose distort the clothes, causing the patterns and
texture on the clothes to be impossible to restore. This project implements a new Context-Driven
Virtual Try-On network(C-VTON), which can not only retain the authenticity of clothing texture and
pattern, but also obtain the undifferentiated stylized try on. Most of the previous studies on this
domain work on image data as the user needs to click images of himself and then the model fitting
takes place. In this project, our focus is to design a system which is image-based virtual try-on
technique. This is very important in the field of electrical business clothing try on, for subsequent can
provide users with the most satisfactory clothes, reduce industrial manufacturing production is
prepared as per the requirement by the client.

NBNSSOE, Department of Computer Engineering 2022-23


Acknowledgments

It gives us great pleasure in presenting the preliminary project report on


‘VIRTUAL CLOTHES TRY-ON’.

We would like to take this opportunity to thank our internal guide Prof. Rupali
Salunke for giving us all the help and guidance we needed. We are really grateful
to them for their kind support. Their valuable suggestions were very helpful.

We are also grateful to Prof. S. P. Bendale, Head of Computer Engineering


Department, NBN Sinhgad School of Engineering, Pune for his indispensable
support, suggestions.

In the end our special thanks to Prof. Sonali Sethi for providing various resources
such as laboratory with all needed software platforms, continuous Internet
connec- tion, for Our Project.

Prathmesh Joshi
Virat Desale
Ajay Jadhav
Sushil Pawar

(B.E. Computer Engg.)

NBNSSOE, Department of Computer Engineering 2022-23


INDEX

1 Synopsis 2
1.1 Project Title . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Project Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Internal Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Sponsorship and External Guide . . . . . . . . . . . . . . . . . . . 3
1.5 Technical Keywords (As per ACM Keywords) . . . . . . . . . . . . 3
1.6 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.7 Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.8 Goals and Objectives . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.9 Relevant mathematics associated with the Project . . . . . . . . . . 5
1.10 Names of Conferences / Journals where papers can be published . . 6
1.11 Review of Conference/Journal Papers supporting Project idea . . . . 7

2 Technical Keywords 11
2.1 Area of Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2 Technical Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3 Introduction 13
3.1 Project Idea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2 Motivation of the Project . . . . . . . . . . . . . . . . . . . . . . . 14
3.3 Literature Survey . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4 Problem Definition and scope 16


4.1 Problem Statement...................................................................................17

4.1.1 Goals and objectives....................................................................17


4.1.2 Statement of scope.......................................................................17
4.2 Major Constraints.....................................................................................18
4.3 Methodologies of Problem solving and efficiency issues........................18
4.4 Outcome...................................................................................................19
4.5 Applications..............................................................................................20
4.6 Hardware Resources Required.................................................................20
4.7 Software Resources Required..................................................................20

5 Project Plan 21
5.1 Project Estimates......................................................................................22
5.1.1 Reconciled Estimates...................................................................22
5.1.2 Project Resources........................................................................23
5.2 Risk Management w.r.t. NP Hard analysis..............................................23
5.2.1 Risk Identification.......................................................................25
5.2.2 Risk Analysis...............................................................................26
5.2.3 Overview of Risk Mitigation, Monitoring, Management............28
5.3 Project Schedule.......................................................................................28
5.3.1 Project task set.............................................................................29
5.3.2 Task network...............................................................................30
5.3.3 Timeline Chart.............................................................................30
5.4 Team Organization...................................................................................31
5.4.1 Team structure.............................................................................31
5.4.2 Management reporting and communication................................31

6 Software requirement specification 32


6.1 Introduction..............................................................................................33
6.1.1 Purpose and Scope of Document.................................................33
6.1.2 Overview of responsibilities of Developer..................................33
6.2 Usage Scenario.........................................................................................33
6.2.1 User profiles................................................................................33
6.2.2 Use-cases.....................................................................................34
6.2.3 Use Case View . . . . . . . . . . . . . . . . . . . . . . . . 34
6.3 Data Model and Description . . . . . . . . . . . . . . . . . . . . . 35
6.3.1 Data Description . . . . . . . . . . . . . . . . . . . . . . . 35
6.3.2 Data objects and Relationships . . . . . . . . . . . . . . . . 35
6.4 Functional Model and Description . . . . . . . . . . . . . . . . . . 37
6.4.1 Data Flow Diagram . . . . . . . . . . . . . . . . . . . . . . 38
6.4.2 Activity Diagram: . . . . . . . . . . . . . . . . . . . . . . 38
6.4.3 Non Functional Requirements: . . . . . . . . . . . . . . . . 39
6.4.4 State Diagram: . . . . . . . . . . . . . . . . . . . . . . . . 39
6.4.5 Design Constraints . . . . . . . . . . . . . . . . . . . . . . 40

7 Detailed Design Document using Appendix A and B 41


7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
7.2 Architectural Design . . . . . . . . . . . . . . . . . . . . . . . . . 42
7.3 Data design (using Appendices A and B) . . . . . . . . . . . . . . . 43
7.3.1 Internal software data structure . . . . . . . . . . . . . . . . 44
7.3.2 Global data structure . . . . . . . . . . . . . . . . . . . . . 44
7.3.3 Temporary data structure . . . . . . . . . . . . . . . . . . . 45
7.3.4 Database description . . . . . . . . . . . . . . . . . . . . . 45
7.4 Compoent Design . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
7.4.1 Class Diagram . . . . . . . . . . . . . . . . . . . . . . . . 46

8 Project Implementation 48
8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
8.2 Tools and Technologies Used . . . . . . . . . . . . . . . . . . . . . 49
8.3 Methodologies/Algorithm Details . . . . . . . . . . . . . . . . . . 50
8.3.1 Algorithm 1/Pseudo Code . . . . . . . . . . . . . . . . . . 51
8.3.2 Algorithm 2/Pseudo Code . . . . . . . . . . . . . . . . . . 52

9 Software Testing 53
9.1 Type of Testing Used . . . . . . . . . . . . . . . . . . . . . . . . . 54

NBNSSOE, Department of Computer Engineering 2022-23


9.2 Test Cases and Test Results.....................................................................54

10 Results 58
10.1 Screen shots..............................................................................................59
10.2 Outputs.....................................................................................................60

11 Deployment and Maintenance 61


11.1 Installation and un-installation.................................................................62
11.2 User help...................................................................................................62

12 Conclusion and Future Scope 63

14 References 65

15 Annexure A Laboratory assignments on Project Analysis of Algorithmic


Design 67

16 Annexure B Laboratory assignments on Project Quality and Reliability


Testing of Project Design 70

17 Annexure C Project Planner 79

18 Annexure D Reviewers Comments of Paper Submitted 81

19 Annexure E Plagiarism Report 93

20 Annexure F Project Laboratory Assignments 97

Annexure G Information of Project Group Members 100


List of Figures

6.1 Use case diagram......................................................................................19


6.2 State transition diagram............................................................................21

7.1 Architecture diagram................................................................................23


7.2 Class Diagram..........................................................................................25
List of Tables

4.1 Hardware Requirements . . . . . . . . . . . . . . . . . . . . . . . 11

5.1 Risk Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14


5.2 Risk Probability definitions [?] . . . . . . . . . . . . . . . . . . . . 14
5.3 Risk Impact definitions [?] . . . . . . . . . . . . . . . . . . . . . . 14

6.1 Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

A.1 IDEA Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39


CHAPTER 1

SYNOPSIS

NBNSSOE, Department of Computer Engineering 2022-23 2


1
PROJECT TITLE

Virtual Clothes Try-on

1.1 PROJECT OPTION

Internal Project

1.2 INTERNAL GUIDE

Prof. Rupali Salunke

1.3 SPONSORSHIP AND EXTERNAL GUIDE

NA

1.4 TECHNICAL KEYWORDS (AS PER ACM KEYWORDS)

Here are some ACM (Association for Computing Machinery) keywords that can be relevant
for a virtual clothes try-on project:

1. Virtual reality
2. Augmented reality
3. Image processing
4. Computer vision
5. Garment simulation
6. Real-time rendering
7. Texture mapping
8. Virtual fitting room
9. Body tracking
10. Wearable technology
11. Digital fashion

1.5 PROBLEM STATEMENT

To create an application that provides Virtual Try-On for E-commerce clothing sites.

NBNSSOE, Department of Computer Engineering 2022-23 3


1
1.6 ABSTRACT

Virtual try-on of clothes has received much attention recently due to its commercial potential.
It can be used for online shopping or intelligent recommendation to narrow down the
selections to a few designs and sizes. Through this project, we aim to create a mechanism
which enables users to see herself wearing virtual clothes while looking at a screen display,
without taking off her actual clothes. The system physically simulates the selected virtual
clothes on the user’s body in real-time and the user can see the virtual clothes fitting on the
screen image from various angles as she moves. But the biggest problem of virtual try on is
that the shape and pose distort the clothes, causing the patterns and texture on the clothes to be
impossible to restore. This project implements a new Context-Driven Virtual Try-On
network(C-VTON), which can not only retain the authenticity of clothing texture and pattern,
but also obtain the undifferentiated stylized try on. Most of the previous studies on this domain
work on image data as the user needs to click images of himself and then the model fitting
takes place. In this project, our focus is to design a system which is image-based virtual try-on
technique. This is very important in the field of electrical business clothing try on, for
subsequent can provide users with the most satisfactory clothes, reduce industrial
manufacturing production is prepared as per the requirement by the client.

NBNSSOE, Department of Computer Engineering 2022-23 4


1
1.7 GOALS AND OBJECTIVES

● A User should be able to visualize the clothes on themselves in real time.


● A User should be able to choose which clothes they wish to try on.
● A User should be able to map a pattern on an existing cloth model.

1.8 RELEVANT MATHEMATICS ASSOCIATED WITH THE PROJECT

System Description: The proposed mechanism comprises of a system that is capable of taking
image of user and target input to allow them get a view of themselves wearing the target cloth
on their body.

• Input: User image and target clothing image

• Output: Image of user wearing target clothing

• Functions: Identify user body in image, create a mask for clothing, perform
segmentation on user image, generate final try-on

• Success Conditions: Try- on image with minimum pixel loss

• Failure Conditions: Model is unable to produce try-on results

1.9 NAMES OF CONFERENCES / JOURNALS WHERE PAPERS CAN


BE PUBLISHED

• NCCC (National Conference on Cognitive Computing)

• Conferences/workshops in IITs

• Central Universities or SPPU Conferences

• IEEE/ACM Conference/Journal 2

NBNSSOE, Department of Computer Engineering 2022-23 5


1
1.10 REVIEW OF CONFERENCE/JOURNAL PAPERS SUPPORTING PROJECT
IDEA
The idea of virtual trial rooms is not new and many attempts have been made in the past to
address the issues that customers face while shopping for clothes. However, with new
innovations in the field of Augmented Reality and Machine Learning, the applications became
better and more realistic. From simply projecting the static 2D image of clothes, to rendering
the 3D cloth model on the user's body in a real time environment, many prototypes have been
developed. Very primitive attempts tried to render a 2D image of cloth on screen. However
this was not real time, i.e the rendered cloth image was static and the user had to align himself
to the cloth image in order to gain a visual experience of the garment. The attempt was not
beneficial as it focuses on the alignment of the user on garment rather than the other way
around. Recent attempts have used the knowledge of Machine Learning for Human Pose
Estimation through Convolutional Neural Networks (CNN) so that the previous problem of
human aligning to the image is eliminated. The cloth image is automatically mapped to the
customer's body based on the estimation of human pose. ‘VITON: An Image-based Virtual
Try-on Network’ [1], a technical paper published by Xintong Han, Zuxuan Wu, Zhe Wu,
Ruichi Yu, Larry S. Davis from University of Maryland, College Park in June 2018 is one
such attempt which uses state-of-the-art method to transfer any 2d cloth image on a human
body with the help of advanced deep learning models namely Encoders-Decoders. The input
(i.e Person pose image and 2d cloth model) was passed through an Multi-task Encoder-
Decoder model which identified the clothed region and generated a cloth mask.
Working of VITON is as follows:-
1. The input (i.e Person pose image and 2d cloth model) is passed through an
Multi-task Encoder-Decoder model which identifies the clothed region and
generates a cloth mask. (A cloth mask is basically the shape of the cloth that the
user is wearing).
2. Here we take the 2d cloth model and the cloth mask generated in the previous
step and pass it through refinement which wraps the 2d cloth model to the shape
and texture of the cloth mask. This new 2d cloth model is now simply
superimposed on the original human pose to generate the result.

NBNSSOE, Department of Computer Engineering 2022-23 6


1
Fig. 1.1: Working of VITON

This approach is time consuming (The mapping is not instant) and thus does not address the
issue of mapping an image in real time. Some alternate approaches have addressed this issue
by using specialized hardware instead of Machine Learning algorithms for human pose
estimation. One such approach is provided in ‘Virtual Trial Room’, a technical paper
published by Akshay Shirsat, Samruddhi Sonimindia, Sushmita Patil, Nikita Kotecha and Prof
Shweta Koparde, which was published in International Journal of Research in Advent
Technology, Vol.7, No.5, May 2019 [2]. This approach used Microsoft’s kinect camera for
pose detection, opencv for image processing, to map a 3d cloth model on the user in real time.
Kinect provides 25 joints tracked at 30 frames per second. Out of the 25 joints, they used
certain joints to calculate the measurements of shirt required to be augmented on the virtual
body. To calculate the width of the shirt around shoulders, they used the shoulder left joint
coordinates and shoulder right joint coordinates, and their difference gave the width of shirt
around the shoulder. To calculate the waist size, the hip left joint coordinates and the hip right
joint were used. To calculate rotation, the used angle of line formed by shoulder center joint
and hip center joint before and after rotation, their difference gave angle of rotation After this
they mapped the cloth models created in Blender by rotation, translation and scaling of the
model according to the pose of the user. (Each joint point was transformed from the 3d
coordinates on the 3d cloth model to the coordinates of the user using specific rotational,
translational, and scaling values).

NBNSSOE, Department of Computer Engineering 2022-23 7


1
Scaling:
Position of the left-shoulder is calculated. This real world position is converted to
projective.The same is repeated for right-shoulder To calculate x-coordinate, distance between
left and right shoulder position is calculated.

● x-coordinate=RightShoulderPos.xLeftShoulderPos.x.
● Neck position of skeleton=skel-neck.
● mid.y=((LeftHip.y+RightHip.y)/2)
● y-coordinate= sqrt(sq(skel-neck-mid.y))
● z-coordinate is manually entered.

Translation:

● The centre point of 3d model= jointPos


● This real world position is converted to projective.
● translate(jointPos.x,jointPos.y,60)
● The model gets translated Rotation:
● To calculate rotation around x axis
● phi=atan(orientation.m12/orientation.m22)
● To calculate rotation around y axis
● theta=-asin(orientation.m02)
● To calculate rotation around z axis
● psi=atan(orientation.m01/orientation.m00)

Fig.1.2 : Output of Virtual Trial Room

NBNSSOE, Department of Computer Engineering 2022-23 8


1
Another similar approach was used by Amoli Vani and Dhwani Mehta, students of K.J.
Somaiya college of engineering, under the guidance of prof. Suchita Patil in their technical
paper ‘Virtual Changing Room’ [3]. The approach used in this paper is using kinect sensor for
depth and motion detection for human pose tracking, which returns all the parameters for pose
detection along with key points marking. The previous approaches used 2D garment images.
In this approach, 3D models of garments have been prepared using an open source software
named Blender. Blender enables the system to give the stretch, dampness and thickness of the
material. It gives realistic experience of creases and folding according to the user’s body
motions. It also dulls the garments already worn by the user and only highlights the cloth that
the user is trying. It provides realistic experience, customer satisfaction of the product and
avoids tiresome lines, thus saving customer time.Blender is used to model 3d models of
clothes, and Unity is used to map the cloth model on the user’s body which was detected by
kinect camera. The measurement of the user’s chest, height, etc is taken from the user and is
then used to estimate the fit of the cloth model in real time.
The drawback in these approaches is the use of an external specialized hardware, which
practically makes it very difficult to integrate in the online shopping domain. One way to
eliminate this hardware is to use better and efficient Machine Learning algorithms that can
estimate human pose in real time. Pose Estimation for mobile (Implementation of CPM and
Hourglass model using TensorFlow and MobileNetV2) [6] is an implementation of
CPM(Convolutional pose machines) and Stacked Hourglass Network using MobileNetV2
architecture [4] which provides better and faster implementation of high end machine learning
models for mobile applications.
A recent attempt at size estimation in 2D images is described in ‘Estimating the Object Size
from Static 2D Image’ [5]. Here, a solution for estimating the object size from static images
using one camera was introduced and related software implementation is comprehensively
described. The solution itself is simple, fast and yet easy to implement. The detection of an
object in a picture is based on the processing of two images taken in the same environment
with and without the object, following the given requirements. Subtraction using RGB color
model is used as the first part of the process. Every pixel of the second image is subtracted
from a pixel with the same position on the first image. This subtraction removes the
background , as it was identical in both images. By using thresholding image processing
technique image is binarized. By using Canny edge detection algorithm, edges are detected.
The equations were created according to the basic trigonometric rules and sets of tests are

NBNSSOE, Department of Computer Engineering 2022-23 9


1
described in this paper. Based on these tests, while using various objects, different heights and
different distances of objects from the camera, it was found that the deviation of the
measurement is smaller than 10%.
1.11 PLAN OF PROJECT EXECUTION

Fig.1.3: Proposed System Model

Software Project Management

Plan Feasibility analysis


The technology and tools used in this project are VSCode, python and flask which are open source
tools. Each of these have good online documentation which results in faster solving of technical
problems and so technical skills required to use these tools are moderate. As a result of this project is
technically as well as legally feasible. Processing real time images will incur some cost and there will
also be a considerable hosting cost. But the development cost will be minimum because of the use of
open source and free tools. This project is also economically feasible.
Lifecycle model
Because of a smaller development team of four, Agile model is selected for the software development
lifecycle. Agile models will also allow pair programming. It is the combination of incremental and
iterative model where each iteration consists of the following steps –
1. Planning
2. Requirement analysis
3. Design
4. Development
5. Unit Testing
6. Deployment
NBNSSOE, Department of Computer Engineering 2022-23 1
01
CHAPTER 2

TECHNICAL KEYWORDS

NBNSSOE, Department of Computer Engineering 2022-23 1


11
2.1 AREA OF PROJECT

Augmented Reality

2.2 TECHNICAL KEYWORDS

Here are some ACM (Association for Computing Machinery) keywords that can be relevant
for a virtual clothes try-on project:

1. Virtual reality
2. Augmented reality
3. Image processing
4. Computer vision
5. Garment simulation
6. Real-time rendering
7. Texture mapping
8. Virtual fitting room
9. Body tracking
10. Wearable technology
11. Digital fashion

NBNSSOE, Department of Computer Engineering 2022-23 1


21
CHAPTER 3

INTRODUCTION

NBNSSOE, Department of Computer Engineering 2022-23 1


31
PROJECT IDEA

The project is targeted towards customers who buy clothes online but hesitate to do so in some
scenarios where they have some doubts regarding the proper fit of the clothes or how the
clothes would actually look on them. In conventional shopping, this problem is eliminated
through trial rooms where users can physically try the clothes. Scope of this project is to
eliminate these difficulties in the online market by providing the following functionalities to its
users.

3.1 MOTIVATION OF THE PROJECT

The motivation for this work has been set from two different points of view. They are
Businesses and Customers. This work provides a mechanism which allows businesses to set
product and service benchmarks. Organizations can reduce different unnecessary costs like
shipping and return cost. The use of similar technology can surely attract customers and
eventually help businesses to increase their revenue. From the customers perspective, the
proposed system can help them find the right clothing for them. We can get the real time
feedback about the product.

3.2 LITERATURE SURVEY

Online shopping is being preferred by consumers around the globe over the conventional
practices. The main drawback of physical try-on of clothes is that it is a time-consuming
process. Also, the customer needs to physically visit the store to choose and buy clothes.
Further, it is not always true that the cloth ordered by customer through online platforms cover
all the client needs. It is observed that in some cases customers face issues regarding the size,
color and the fitting of the cloth. This leads to return or exchange of the clothes. To avoid all
these extra charges caused due to the unsatisfactory components related to shopping of clothes,
virtual try-on of clothes can be done. The virtual try-on of clothes is based on the idea that the
user needs to click his image and select which cloth they want to try-on. Based on the input
provided, the system will generate an image of user with selected piece of cloth superimposed
on their body. The mechanism provided by Hilsmann and Eisert proposes a dynamic method
in which the real-time visualization of clothes is done on the user body by texture overlay
NBNSSOE, Department of Computer Engineering 2022-23 1
41
method [1]. They made use of segmentation method to retexture the shape of clothes. Another
study presented in [2] utilizes the user image with a specific dress on his body which helps the
model in segmentation on the part of user body on which the cloth is to be fitted. These
pictures in segmented forms are used at a later stage which produce desired results. The system
presented by B. Spanlang et. Al. make use of pre-generated human model that has the target
clothing on it and later it is superimposed on the user body [3]. Various other studies are also
done in this field with minor changes in each implementation. The common drawback of most
of these models is that the results were unable to cop up with the change in pose or the position
of the user. The resulting images were losing texture and patterns over this specific part. In
addition, poor quality parsing results still lead to unconvincing results where garment textures
are placed over the wrong body parts. In our study, we have tried to overcome this difficulty.
The pixel losing problem was one of the major problems in the implementation of the previous
models. We have tried to minimize the pixel loss which is helping in more accurate results. In
our study we have added the following advancements: (i)Introduced an image-based virtual
try-on network that provides rich quality results while provided with set of inputs
(ii)implemented a Body-part Geometric Matcher module that can help with the problems like
self-occlusion (iii) increased overall accuracy to produce high quality fitting results in terms of
the user wearing the target clothes with the contextual information. We make use of two main
pipelines for this project namely BPGM and CAG. The Body-Part Geometric Matcher
(BPGM) is responsible to create a rough skeleton of the target clothing which is chosen by the
user to try-on. It is based on the transforming the parameters of Thin-Plate Spline (TPS) [4]
which is crucial in order to warp the target clothing in such a way that it can best fit the user
image. The user image is aligned with the target clothing much effectively due to the use of
BPGM unit. Final results of the virtual try-on model are synthesized using Context-Aware
Generator module.

NBNSSOE, Department of Computer Engineering 2022-23 1


51
CHAPTER 4

PROBLEM DEFINITION AND SCOPE

NBNSSOE, Department of Computer Engineering 2022-23 1


61
4.1 PROBLEM STATEMENT

To create a web application that provides Virtual Try-On for E-commerce clothing sites and
small businesses with an increased accuracy in cloth mapping sense so as to provide the users
with a better performance in virtual Try-on of clothes available on online sites in order to
reduce the cost of returns and shipping and other various aspects than similar existing solutions
using context-driven virtual try-on(C-VTON) model and machine learning using VITON and
MPV dataset.

4.1.1 Goals and objectives

To create an online Application that provides image-based Virtual Try On for E-commerce
clothing sites.
One of the main objectives of this project is to provide users an efficient mechanism to try
different clothing and see which combination suits them.
This method helps avoid challenges connected with conventional e-commerce sales channels,
such as fit issues and environmental and financial returns costs.
With customers able to share pictures of themselves wearing virtual clothing with friends,
family, and via social media, virtual try-on software can also help to spread brand awareness
and attract new customers.

4.1.2 Statement of scope


The project is targeted towards customers who buy clothes online but hesitate to do
so in some scenarios where they have some doubts regarding the proper fit of the
clothes or how the clothes would actually look on them. In conventional shopping,
this problem is eliminated through trial rooms where users can physically try the
clothes. Scope of this project is to eliminate these difficulties in the online market
by providing the following functionalities to its users...

● A User should be able to visualize the clothes on themselves in real time.

● A User should be able to choose which clothes they wish to try on.

● A User should be able to map a pattern on an existing cloth model.

NBNSSOE, Department of Computer Engineering 2022-23 1


71
4.2 MAJOR CONSTRAINTS

• Accuracy achieved in this work cannot be increased.


• Quality of image uploaded is poor
• Due to hardware limitations, processing speed is higher.

4.3 METHODOLOGIES OF PROBLEM SOLVING AND EFFICIENCY


IS- SUES

When it comes to addressing problem-solving and efficiency issues in a virtual


clothes try-on project, there are several methodologies you can consider. Here are
some approaches that can help improve the overall performance and user
experience:

1. Iterative Development: Adopt an iterative development process that involves


incremental improvements based on user feedback and testing. This allows
you to identify and address issues in smaller, manageable steps, ensuring
continuous improvement throughout the project.

2. User-Centered Design: Apply user-centered design principles to ensure that


the virtual clothes try-on experience meets the needs and expectations of the
users. Conduct user research, gather feedback, and involve users in the
design and testing process to understand their pain points and preferences.

3. Performance Optimization: Optimize the performance of the virtual try-on


system to reduce latency and ensure real-time responsiveness. This can
involve optimizing code, leveraging hardware acceleration, and minimizing
network latency to deliver a smooth and immersive experience.

4. Realistic Simulation: Enhance the realism of the virtual try-on by


incorporating advanced simulation techniques. Consider factors like cloth
physics, lighting, shadows, and reflections to make the virtual garments look
more natural and realistic on the user's body.

NBNSSOE, Department of Computer Engineering 2022-23 1


81
5. Robust Body Tracking: Improve the accuracy and reliability of body
tracking algorithms to ensure precise alignment and positioning of virtual
garments on the user's body. Explore advanced computer vision and machine
learning techniques to enhance the robustness of the tracking system.

6. Customization Options: Provide users with customization options to adjust


the fit, style, and appearance of virtual garments. This allows users to
personalize their virtual try-on experience and increases engagement and
satisfaction.

7. Seamless Integration: Ensure seamless integration of the virtual clothes try-


on system with the e-commerce platform or application where it is being
utilized. Make sure that the try-on experience is intuitive and accessible to
users, minimizing any friction in the purchasing process.

8. Scalability and Infrastructure: Design the system with scalability in mind to


accommodate a growing user base and increased usage. Consider cloud
infrastructure, distributed computing, and efficient resource management
techniques to ensure optimal performance even during peak loads.

4.4 OUTCOME

The outcome of a virtual clothes try-on project can bring several benefits and positive results,
including:

1. Enhanced User Experience: Virtual clothes try-on technology allows users to visualize
how different garments will look on their own bodies without physically trying them on.
This immersive experience enhances user engagement and satisfaction, leading to
increased customer confidence and a more enjoyable shopping experience.

2. Increased Conversion Rates: By providing a realistic representation of how clothes will


fit and look on the user, virtual try-on can help reduce uncertainty and increase
confidence in purchasing decisions. This, in turn, can lead to higher conversion rates
and increased sales for e-commerce platforms or retail stores.

3. Reduced Returns and Exchanges: Virtual clothes try-on can significantly reduce the
number of returns and exchanges by enabling users to accurately assess how garments
will fit before making a purchase. This saves time and costs for both customers and
retailers.

4. Cost Savings: Virtual try-on technology can help reduce costs associated with
traditional fitting rooms, such as physical infrastructure, staff, and inventory
management. It also reduces the need for shipping and return logistics for online
NBNSSOE, Department of Computer Engineering 2022-23 1
91
retailers.

5. Personalization and Customization: Virtual try-on can allow users to customize


garments, such as adjusting the fit, color, or style. This level of personalization creates a
unique and tailored shopping experience for each user.

6. Data Insights: The virtual try-on project can generate valuable data about user
preferences, body measurements, and fit preferences. Retailers can leverage this data to
better understand their customers, optimize inventory management, and provide
personalized recommendations.

7. Competitive Advantage: Implementing virtual clothes try-on technology can


differentiate a brand from competitors and attract tech-savvy customers who value
convenience, innovation, and immersive shopping experiences.

8. Social Media Integration: Virtual try-on projects can be integrated with social media
platforms, enabling users to share their virtual try-on experiences with friends and seek
opinions. This social aspect can increase brand visibility and generate user-generated
content, leading to organic promotion and increased brand awareness.

4.5 APPLICATIONS

• Virtual Dressing Rooms


• E-Commerce websites
• Online Clothing Stores

4.6 HARDWARE RESOURCES REQUIRED

Sr. No. Parameter Minimum Requirement Justification


1 CPU Speed 2 GHz Remark Required
2 RAM 3 GB Remark Required

Table 4.1: Hardware Requirements

4.7 SOFTWARE RESOURCES REQUIRED

Platform :

1. Operating System: Windows/Linux

2. IDE: VSCode

3. Programming Language: Python, Flask


NBNSSOE, Department of Computer Engineering 2022-23 2
01
CHAPTER 5

PROJECT PLAN

NBNSSOE, Department of Computer Engineering 2022-23 2


11
5.1 PROJECT ESTIMATES

Estimating the duration and cost of a virtual clothes try-on project using the
waterfall model can be challenging without specific project details and
requirements. However, we can provide rough estimates for this virtual clothes try-
on project, along with some estimated timeframes using the waterfall model of
SDLC:

1. Requirements Gathering and Analysis (2-4 weeks): During this phase, the
project team identifies and documents the requirements for the virtual try-on
system. This includes defining features, functionalities, supported platforms, and
integration requirements with e-commerce platforms.

2. Design and Planning (2-4 weeks): In this phase, the project team designs the
architecture and user interface of the virtual try-on system. They also plan the
development process, identify dependencies, and create a detailed project plan.

3. Development (8-12 weeks): The development phase involves coding the virtual
try-on system based on the approved design. This includes implementing body
tracking algorithms, cloth simulation, user interface components, and integration
with e-commerce platforms.

4. Testing and Quality Assurance (4-6 weeks): This phase involves rigorous testing
of the virtual try-on system to identify and fix any bugs or issues. It includes
functional testing, performance testing, compatibility testing, and user acceptance
testing.

5. Deployment and Integration (2-4 weeks): Once the system has passed testing, it
is deployed and integrated with the desired e-commerce platform or application.
This phase includes configuring the system, setting up the necessary infrastructure,
and ensuring smooth integration.

6. Training and Documentation (1-2 weeks): User training materials and


documentation are prepared to guide users in using the virtual try-on system
effectively. This includes user manuals, FAQs, and video tutorials if necessary.
NBNSSOE, Department of Computer Engineering 2022-23 2
21
7. Maintenance and Support (Ongoing): After the initial deployment, the virtual
try-on system requires ongoing maintenance and support to address any issues that
may arise, provide updates and enhancements, and ensure its continued
functionality.

Please note that these timeframes are approximate and can vary depending on the
complexity of the project, team size, and other factors. It's important to conduct a
detailed analysis of the specific project requirements and consult with the
development team to create more accurate estimates.

5.1.1 Reconciled Estimates

5.1.1.1 Cost Estimate


For the time being, the project is totally based on the idea that the user is having a laptop with
working webcam thus, as no specialized hardware is required, no cost will be incurred. From
developers point of view, the tools and technology used are open source and free of cost.
Since the business model of this project is to provide services to online clothes retailers, only
hosting costs will be incurred.

5.1.1.2 Time Estimates


As stated in the above section, In order to build this kind of project, a total timespan of 7-8
months is required. With dedication of group members and support of guide we can
implement the working mechanism faster. In order to build the working prototype of this
project, we needed a time of around 6 weeks.

5.2 RISK MANAGEMENT W.R.T. NP HARD ANALYSIS

Risk management is an essential aspect of any project, including a virtual clothes try-on
project. When it comes to risk management with respect to NP-hard analysis, the focus is on
identifying and addressing potential risks associated with computational complexity and
optimization problems that fall into the class of NP-hard problems. Here's how we can
approach risk management in this context:

NBNSSOE, Department of Computer Engineering 2022-23 2


31
1. Identify NP-hard Problems: Identify the specific NP-hard problems that are relevant to your
virtual clothes try-on project. For example, problems related to cloth simulation, body
tracking, or optimization of garment fitting algorithms may fall into this category.

2. Assess Impact and Likelihood: Assess the impact and likelihood of these NP-hard problems
on the project. Consider the potential consequences if these problems are not addressed or if
they significantly affect the performance or efficiency of the virtual try-on system.

3. Mitigation Strategies: Develop mitigation strategies to address the identified NP-hard


problems. This may involve:

a. Algorithmic Optimization: Investigate and develop efficient algorithms or heuristics to


solve or approximate the NP-hard problems encountered in the project. This could include
researching existing literature, exploring optimization techniques, or collaborating with
domain experts.

b. Computational Resource Management: Analyze the computational resources required to


handle the NP-hard problems and ensure that the project has sufficient hardware infrastructure
or cloud resources to handle the computational demands.

c. Trade-Offs and Approximations: Identify acceptable trade-offs or approximations that can


be made to mitigate the impact of NP-hard problems. This may involve finding a balance
between accuracy and computational complexity, optimizing specific use cases, or providing
users with customization options to manage trade-offs.

4. Regular Testing and Optimization: Implement a rigorous testing process to identify any
potential NP-hard-related issues during the development cycle. Continuously optimize the
algorithms and codebase based on the insights gained from testing and real-world usage.

5. Contingency Plans: Develop contingency plans in case NP-hard problems significantly


impact the project's progress or desired outcomes. This may involve revising project timelines,
allocating additional resources, or reevaluating project objectives and scope.

NBNSSOE, Department of Computer Engineering 2022-23 2


41
6. Monitoring and Feedback Loop: Continuously monitor the performance and efficiency of
the virtual try-on system in real-world scenarios. Gather user feedback and iterate on the
algorithms and system design to further optimize and mitigate any NP-hard-related issues that
arise.

5.2.1 Risk Identification

When identifying risks for a virtual clothes try-on project, it's important to consider
various aspects of the project's scope, technology, resources, and external factors.
Here are some potential risk areas to consider:

1. Technology Risks:
- Compatibility Issues: Incompatibility between the virtual try-on system and
different hardware platforms, browsers, or operating systems can impact user
experience and adoption.
- Technical Complexity: The complexity of implementing accurate body tracking,
realistic cloth simulation, and real-time rendering can lead to development
challenges and potential delays.
- Performance Limitations: Insufficient hardware resources or inefficient
algorithms may result in slow or unresponsive virtual try-on experiences.

2. Data and Privacy Risks:


- Data Security: Inadequate security measures may lead to unauthorized access to
user data or breaches of personal information.
- Privacy Concerns: Users may have concerns about sharing their body
measurements or images, potentially affecting adoption and usage of the virtual
try-on system.

3. User Acceptance Risks:


- User Experience: Poor user interface design or unrealistic garment representation
may lead to user dissatisfaction and limited adoption.
- Accuracy and Realism: Inaccurate body tracking or unrealistic cloth simulation
may impact the perceived quality and usefulness of the virtual try-on experience.
NBNSSOE, Department of Computer Engineering 2022-23 2
51
- Fit and Style Accuracy: The virtual try-on system may not accurately represent
the fit, drape, or appearance of garments on different body types, leading to
misaligned expectations.

4. Project Management Risks:


- Scope Creep: Expanding project requirements beyond the initial scope may result
in delays, increased costs, and compromised quality.
- Resource Constraints: Inadequate availability or allocation of resources (e.g.,
developers, designers, hardware) can impact project timelines and deliverables.
- Stakeholder Communication: Poor communication with stakeholders, including
users, designers, and developers, can lead to misunderstandings and misalignment
of expectations.

5. External Risks:
- Market Competition: Competitive products or technologies may emerge during
the project timeline, affecting market demand and adoption of the virtual try-on
system.
- Regulatory Compliance: Changes in privacy regulations or legal requirements
may require adjustments to the system's data handling practices, potentially
impacting development timelines and costs.

To effectively manage these risks, it's essential to regularly assess and update your
risk register, develop contingency plans, and prioritize risk mitigation strategies
throughout the project lifecycle. Additionally, involving stakeholders, conducting
user testing, and seeking expert advice can help identify and address risks more
effectively.

NBNSSOE, Department of Computer Engineering 2022-23 2


61
5.2.2 Risk Analysis

The risks for the Project can be analyzed within the constraints of time and quality
Impact
ID Risk Description Probability
Schedule Quality Overall
1 Technical Complexity Low Low High High
2 Performance Limitations Medium Low High High
3 Accuracy and Realism Medium Low High Medium
4 Data Security Low Low Medium Low
5 Resource Contraints High High High High
6 External Risks Low Low Medium Low

Table 5.1: Risk Table

Probability Value Description


High Probability of occurrence is > 75%
Medium Probability of occurrence is 26 − 75%
Low Probability of occurrence is < 25%

Table 5.2: Risk Probability definitions

Impact Value Description


Very high > 10% Schedule impact or Unacceptable quality
High 5− Schedule impact or Some parts of the project have low
10% quality
Medium < 5% Schedule impact or Barely noticeable degradation in
qual- ity Low Impact on schedule or Quality can be
incorporated

Table 5.3: Risk Impact definitions

NBNSSOE, Department of Computer Engineering 2022-23 2


71
5.2.3 Overview of Risk Mitigation, Monitoring, Management

Following are the details for each risk.


Risk ID 1
Risk Description Technical Complexity
Category Development Environment.
Source Software requirement Specification document.
Probability Medium
Impact Medium
Response Mitigate
Strategy Perform different types of testing
Risk Status Occurred

Risk ID 2
Risk Description Accuracy and realism
Category Results
Source Software Design Specification documentation review.
Probability Low
Impact High
Response Mitigate
Strategy Increase the quality of training data
Risk Status Identified

5.3 PROJECT SCHEDULE

5.3.1 Project task set

Major Tasks in the Project stages are:

• Task 1: Model Setup

• Task 2: Dataset collection

• Task 3: Figuring Dependencies

NBNSSOE, Department of Computer Engineering 2022-23 2


81
Risk ID 3
Risk Description Performance Limitations
Category Technology
Source This was identified during early development and testing.
Probability Low
Impact Very High
Response Accept
Strategy Increase the specifications of machine
Risk Status Identified

• Task 4: C-VITON model setup

• Task 5: HTTP request handling

5.3.2 Task network

Fig.5.1: Task Network Diagram

NBNSSOE, Department of Computer Engineering 2022-23 2


91
5.3.3 Timeline Chart

Activities Timeframe
Problem and Scope Definition
Requirement and feasibility analysis
Literature survey and research
Design and Planning
Design and Planning ( UML Diagrams )
Selection of algorithms
Implementation
Activity to be performed - Pose estimation
Implementation
Activity to be performed - Size estimation
Unit testing of above modules
Development ( Sprint 2 )
Activity to be performed - 3D clothes model
creation
Development ( Sprint 3 )
Activity to be performed - Mapping of clothes on
users
Development ( Sprint 4 )
Activity to be performed - User interface
Unit testing of above modules
Integration of various modules
Stress testing of entire application
Analyzing the results achieved
Deployment
Table 5.4 : Timeline Chart
5.4 TEAM ORGANIZATION
5.4.1 Team structure
Member 1:
 Documentation and communication
 Overall Project co-ordination
 UI Design
Member 2:
 Backend coding
 Algorithm development
Member 3:
 Planning project schedule
 QA Testing
 Build and test features
Member 4:
 Design test plan
NBNSSOE, Department of Computer Engineering 2022-23 3
01
 Build and test database

5.4.2 Management reporting and communication

Sr. Month Description


No.
1 June Discussion with guide regarding domain.
Searching for IEEE paper for domain
2 July Shortlisting of IEEE papers within domain
Selection of IEEE paper.
3 August Deciding project name.
Submission of synopsis
4 September Requirement analysis
Selection of models
5 October Report Preparation.
Stage-I report submission
6 November Collection of data
Designing Models
7 December Design UI
Build Model
8 January Design UI
Improve Model
9 February Design test cases
Test the feature performance and accuracy
10 March Identify and fix issues
11 April Improve performance
12 May Final report
13 June Final presentation
Table 5.5: Management reporting and communication

NBNSSOE, Department of Computer Engineering 2022-23 3


11
CHAPTER 6

SOFTWARE REQUIREMENT
SPECIFICATION

NBNSSOE, Department of Computer Engineering 2022-23 3


21
INTRODUCTION

6.1.1 Purpose and Scope of Document


The purpose of this document is to provide an introduction and overview of the Virtual
Clothes Try-On project.

6.1.2 Overview of responsibilities of Developer

Developer must ensure accurate and realistic representation of clothing items by employing
cutting-edge computer vision and augmented reality technologies. They should also focus on
creating a user-friendly interface that enables seamless interaction between users and the
virtual try-on system. Additionally, developers are responsible for optimizing the performance
and stability of the application, addressing potential bugs and glitches, and ensuring
compatibility across different devices and platforms. Regular updates and maintenance to
improve the system's functionality and user experience also fall under the developer's preview.

6.2 USAGE SCENARIO

With this technology, users can upload their own photos or utilize live video feeds to virtually
try on various garments. This enables them to visualize how different clothing items would
look on their own bodies, helping them make informed purchase decisions. By eliminating the
need for physical try-ons, virtual clothes try-on enhances the online shopping experience, saves
time, reduces returns, and ultimately improves customer satisfaction

6.2.1 User profiles

The Actors and Assumptions for the Virtual Clothes Try-On Use Cases:

1. E-commerce Platforms:
- Actors: Online retailers, customers.
- Assumptions: Customers have access to devices with cameras, reliable internet connection,
and a compatible platform/application for virtual try-on.

2. Fashion Designers and Brands:


- Actors: Fashion designers, brands, customers.
- Assumptions: Customers are interested in exploring fashion collections virtually, and
fashion designers/brands have the resources and infrastructure to integrate virtual try-on
technology into their marketing strategies.

3. Fashion Styling Apps:


- Actors: App developers, fashion stylists, users.
- Assumptions: Users have smartphones or devices with camera capabilities, and fashion
stylists or app developers can curate a wide range of clothing options for users to try on
virtually.

NBNSSOE, Department of Computer Engineering 2022-23 3


31
6.2.2 Use-cases

Sr Use Case Description Actors Assumptions


No
.
1 E- Online retailers can Online Customers have access
commerce integrate virtual try-on retailer to devices with
Platforms technology into their s, cameras, reliable
websites or mobile apps, custom internet connection
allowing customers to ers.
virtually try on clothes
before making a
purchase.
2 Fashion Fashion designers and Fashio Customers are
Designers brands can leverage n interested in exploring
and Brands virtual try-on technology designe fashion collections
to showcase their rs, virtually, and fashion
collections in a realistic brands, designers/brands have
and engaging manner. custom the resources
ers
3 Fashion Virtual clothes try-on can App Users have smartphones
Styling be integrated into fashion develo or devices with camera
Apps styling apps, allowing pers, capabilities, and fashion
users to experiment with fashion stylists or app developers
different outfits and stylists, can curate a wide range
combinations virtually. users of clothing options for
users to try on virtually.

4 Custom Virtual clothes try-on can Custo Clients are interested in


Tailoring be employed by custom m personalized clothing,
tailors to provide clients tailors, custom tailors have the
with a preview of how clients necessary technology
their bespoke garments and expertise to
will look and fit before implement virtual try-
finalizing the design and on features virtual
measurements. fittings.

Table: Use cases

NBNSSOE, Department of Computer Engineering 2022-23 3


41
Figure 6.1: Use case diagram

6.3 DATA MODEL AND DESCRIPTION

6.3.1 Data Description

User Profile:
User ID: Unique identifier for each user.
Username: User's chosen username for login and identification.
Password: Securely stored user password for authentication.
Email: User's email address for communication and account verification.
Contact Number: User's phone number for contact purposes.

Clothing Items:
Item ID: Unique identifier for each clothing item.
Name: Name or title of the clothing item.
Description: Detailed description or information about the clothing item.
Brand: Brand or designer associated with the clothing item.

Outfit:
Outfit ID: Unique identifier for each outfit.
User ID: Foreign key referencing the User Profile, indicating the creator of the
outfit.
NBNSSOE, Department of Computer Engineering 2022-23 3
51
Clothing Item IDs: Foreign keys referencing the Clothing Items, representing the
selected clothing items in the outfit.

Virtual Fitting Room:


Fitting Room ID: Unique identifier for each virtual fitting room.
User ID: Foreign key referencing the User Profile, indicating the owner of the
fitting room.

Orders:
Order ID: Unique identifier for each order.
User ID: Foreign key referencing the User Profile, indicating the user who placed
the order.
Clothing Item IDs: List or collection of clothing item IDs

6.4 FUNCTIONAL MODEL AND DESCRIPTION

Functional Model and Description for the Virtual Clothes Try-On Software:

1. Virtual Clothes Try-On:


- Description: Enables users to virtually try on clothing items using their
uploaded photos or live video feeds.
- Functions:
- Capture or upload user photos.
- Extract and analyze body measurements from user photos.
- Render virtual try-on experience by overlaying selected clothing items onto
user photos or live video.
- Adjust clothing items based on user preferences (e.g., color, size).
- Display the virtual try-on results to the user.

2. Clothing Item Selection:


- Description: Allows users to browse and select clothing items from the
available inventory.
- Functions:

NBNSSOE, Department of Computer Engineering 2022-23 3


61
- Retrieve clothing item data from the database.

Figure 6.2: Class Diagram


- Display clothing item details, such as name, description, brand, color, size,
price, and images.
- Provide search and filtering options to help users find specific clothing items.
- Allow users to add selected items to the virtual fitting room or favorites.

3. Outfit Creation:
- Description: Enables users to create outfits by combining multiple clothing
items.
- Functions:
- Provide an interface for users to select clothing items from their favorites or
the inventory.
- Allow users to arrange and adjust the positioning of clothing items in the
virtual fitting room.
- Save the created outfit with a unique ID and associate it with the user profile.
- Provide options to share or save the outfit for future reference.

This functional model outlines the core functionalities of the virtual clothes try-on
NBNSSOE, Department of Computer Engineering 2022-23 3
71
software, covering user registration, virtual try-on, clothing item selection, outfit
creation, recommendations, order placement, and user profile management.

NBNSSOE, Department of Computer Engineering 2022-23 3


81
6.4.1 Data Flow Diagram

Fig.6.3: Data Flow Diagram


6.4.2 Activity Diagram:

Fig.6.4 Activity Diagram

NBNSSOE, Department of Computer Engineering 2022-23 3


91
6.4.3 Non Functional Requirements:

• Interface Requirements
-The interface should have an intuitive design, with clear navigation and interactive
elements UI should provide easy access to key functionalities, such as virtual try-on,
clothing item selection, and outfit creation.

• Performance Requirements
- The system should have low latency to provide real-time virtual try-on experience.
- The software should handle multiple concurrent users efficiently without significant
performance degradation.
- The virtual try-on process should be smooth and responsive, with minimal delays in
rendering clothing items.

• Scalability
- The software should have high availability, minimizing downtime and ensuring
consistent access for users.
- The system should handle errors gracefully and provide appropriate error messages to
users.
- User data and preferences should be stored securely and protected from unauthorized
access.

6.4.4 State Diagram:

Fig.6.5: State Transition Diagram

NBNSSOE, Department of Computer Engineering 2022-23 4


01
6.4.5 Design Constraints

Any When designing a virtual clothes try-on project, there are several important design constraints
to consider. These constraints help ensure that the project is feasible, efficient, and provides a
realistic and satisfying user experience. Here are some key design constraints for a virtual clothes
try-on project:

1. Realism: The virtual try-on experience should be as realistic as possible, accurately reflecting
the fit, drape, texture, and appearance of the actual clothes. This requires high-quality 3D
modeling, realistic physics simulations, and advanced rendering techniques.

2. Speed and Efficiency: The virtual try-on process should be fast and efficient to provide a
seamless user experience. Real-time rendering and optimization techniques should be
implemented to minimize latency and ensure smooth interaction even on lower-end hardware.

3. Compatibility: The virtual try-on system should be compatible with various platforms and
devices to reach a wide range of users. It should be designed to work on desktop computers,
smartphones, and potentially virtual reality (VR) or augmented reality (AR) headsets.

4. Scalability: The system should be able to handle a large variety of clothing items, including
different styles, sizes, and materials. It should be designed to accommodate an expanding catalog
of clothes and allow easy integration of new items.

5. User Interface (UI) and Interaction: The user interface should be intuitive and user-friendly,
allowing users to easily navigate through clothing options, select sizes, and interact with the
virtual try-on system. Clear instructions and visual cues can enhance the usability and overall user
experience.

6. Privacy and Security: User privacy should be a priority. Ensure that the system handles personal
information securely and adheres to relevant data protection regulations. Consider implementing
features like anonymization or user data encryption to protect user privacy.

7. Accessibility: The virtual try-on system should be accessible to users with different abilities.
Consider factors such as color blindness, contrast, font sizes, and alternative navigation methods
to accommodate a diverse user base.

8. Real-Time Feedback: Provide instant feedback to the user during the try-on process, such as fit
analysis, garment adjustment suggestions, or recommendations for complementary items. This
enhances the user experience and helps users make informed decisions.

9. Integration with E-commerce: If the virtual try-on project is intended to be used on an e-


commerce platform, ensure that it can seamlessly integrate with the existing shopping system.
This includes considerations like inventory management, sizing charts, and secure payment
gateways.

10. Performance Optimization: Optimize the virtual try-on system to run efficiently and minimize
resource usage. Consider techniques like level-of-detail (LOD) rendering, texture compression,
and efficient memory management to ensure smooth performance across different devices.

By taking these design constraints into account, you can create a virtual clothes try-on project that
offers a realistic, efficient, and user-friendly experience for users.
NBNSSOE, Department of Computer Engineering 2022-23 4
11
CHAPTER 7

DETAILED DESIGN DOCUMENT USING


APPENDIX A AND B

NBNSSOE, Department of Computer Engineering 2022-23 4


11
7.1 INTRODUCTION

The Virtual Clothes Try-On project aims to revolutionize the online shopping experience by
providing users with a virtual platform to try on clothes before making a purchase. By
leveraging augmented reality (AR) technology, users can visualize how different garments
will look and fit on their own body, enhancing confidence and reducing the likelihood of
returns. The project combines computer vision, image processing, and 3D modeling
techniques to accurately simulate the appearance of clothing on a user's image or avatar. This
innovative solution bridges the gap between online and offline shopping, offering a more
immersive and personalized experience for customers.

7.2 ARCHITECTURAL DESIGN

The architectural design of the Virtual Clothes Try-On system involves the integration of
various components and technologies to deliver a seamless and immersive experience for
users. The following sections outline the key aspects of the system's architecture:

1. User Interface Layer: The User Interface Layer is responsible for providing an intuitive and
user-friendly interface for interacting with the Virtual Clothes Try-On system. It includes
components such as the user interface design, input/output management, and feedback
mechanisms. This layer allows users to select clothing items, view themselves in virtual
garments, and make adjustments as needed.
2. Augmented Reality (AR) Engine: The AR Engine forms the core of the Virtual Clothes
Try-On system. It leverages computer vision and image processing algorithms to overlay
virtual clothing items onto the user's realtime video feed or static images. The AR Engine
tracks the user's body movements and accurately maps the virtual garments onto their body,
ensuring a realistic and interactive experience.
3. Clothing Database: The system incorporates a Clothing Database that stores information
about various clothing items, including their 3D models, textures, sizes, and other relevant
attributes. The 3D modeling component is responsible for creating realistic and accurately
fitting virtual garments based on the input provided by the clothing database.
4. Integration with E-Commerce Platforms: To enable seamless integration with e-commerce
platforms, the Virtual Clothes Try-On system needs to communicate with external systems.

NBNSSOE, Department of Computer Engineering 2022-23 4


11
This integration allows users to browse and select clothing items from online catalogs, view
personalized recommendations, and make purchases directly within the application.
5. Backend Services: The backend services provide the necessary infrastructure and
functionality to support the Virtual Clothes Try-On system. This includes user management,
authentication, storage and retrieval of user preferences, order processing, and communication
with external APIs and services.
6. Infrastructure and Deployment: The system's architecture also encompasses considerations
for the infrastructure and deployment aspects. This includes the selection of appropriate
servers, cloud services, and hosting platforms to ensure scalability, availability, and
performance of the Virtual Clothes Try-On system.

Fig.7.1: System Architecture Design

By integrating these architectural components, the Virtual Clothes Try-On system provides
users with an immersive and realistic experience, allowing them to virtually try on clothes,
make informed purchasing decisions, and this could enhance their online shopping journey

NBNSSOE, Department of Computer Engineering 2022-23 4


21
7.3 DATA DESIGN (USING APPENDICES A AND B)

To design the data flow for the Virtual Clothes Try-On system, we will utilize
Appendices A and B as references. The following steps outline the data design for
the login, cloth selection, user image capture, and input/output model stages:
1. Login:
- Data Structures: User credentials (username, password) are stored in a user
database table.
- Data Flow: User inputs login credentials through the user interface. The system
validates the credentials against the user database and grants access upon
successful authentication.
2. Cloth Selection:
- Data Structures: The clothing database table contains information about available
clothing items, such as garment ID, name, description, images, sizes, and 3D
models.
- Data Flow: The user interacts with the user interface to browse and select
clothing items. The system retrieves the relevant data from the clothing database
based on the user's selection.
3. User Image Capture:
- Data Structures: User images are captured and stored in an image database table,
associated with the user's account or session.
- Data Flow: The system captures user images through the device's camera or
allows users to upload images. The captured images are stored in the image
database for further processing.
4. Input/Output Model:
- Data Structures: The input/output model represents the user image and the virtual
clothing item.
- Data Flow: The user-selected clothing item and the captured user image are
processed and combined using computer vision and image processing techniques.
The input image is fed into the system along with the 3D model of the chosen
clothing item. The system performs algorithms to overlay the virtual clothing onto
the user image, generating an output model that simulates how the selected
clothing item will appear on the user.
NBNSSOE, Department of Computer Engineering 2022-23 4
31
The data design integrates the user data, clothing data, and captured images to
facilitate the process of virtual clothes try-on. This ensures that the user's
preferences, selected clothing items, and captured images are appropriately stored,
retrieved, and processed at each stage of the system's workflow.

7.3.1 Internal software data structure

The Virtual Clothes Try-On system utilizes various data structures internally to manage and
process data efficiently. The following data structures are commonly used in the system:

1. User Data Structure: The User data structure stores information about the system's users. It
typically includes fields such as user ID, username, password, email, and any additional user
profile attributes. This data structure allows the system to authenticate users, manage user
preferences, and track user interactions within the application.
2. Clothing Item Data Structure: The Clothing Item data structure represents individual
clothing items available for virtual try-on. It contains information such as garment ID, name,
description, images, sizes, and 3D model references. This data structure enables the system to
display available clothing options, retrieve specific details for selected items, and render the
virtual try-on experience accurately.
3. Image Data Structure: The Image data structure represents the images captured or uploaded
by users for virtual try-on. timestamp. This data structure allows the system to store and
retrieve user images, associating them with specific users and sessions.
4. Input/Output Model Data Structure: The Input/Output Model data structure represents the
input image and the resulting output model after overlaying the virtual clothing item onto the
user image. It may include fields such as the and the resulting output model image.
These internal data structures allow the Virtual Clothes Try-On system to manage user
information, clothing item details, user-captured images, and the input/output models
necessary for rendering the virtual try-on experience accurately. By organizing and utilizing
these data structures effectively, the system can provide a seamless and immersive virtual
clothes try-on experience for users.

NBNSSOE, Department of Computer Engineering 2022-23 4


41
7.4 COMPOENT DESIGN

7.4.1 Class Diagram

A class diagram is a type of structural diagram in Unified Modeling Language (UML)


that depicts the static structure and relationships of the classes in a system or software
application. It provides a visual representation of the classes, their attributes, methods,
and associations with other classes.

In a class diagram, classes are represented as rectangles, with the class name written
inside the rectangle. The attributes (properties) of a class are listed below the class name,
and the methods (operations) are listed above the class name.

Fig.7.2: Class Diagram


NBNSSOE, Department of Computer Engineering 2022-23 4
51
7.4.2 Sequence Diagram
A sequence diagram is a type of behavioral diagram in Unified Modeling Language
(UML) that illustrates the interactions between objects or components in a system over
time. It represents the flow of messages and the order of interactions among these
objects or components to achieve a particular behavior or scenario.

Sequence diagrams are often used to visualize the dynamic behavior of a system,
focusing on the exchange of messages between objects or the invocation of methods.
They are particularly useful for understanding the sequence of interactions and
collaborations between objects during a specific use case or scenario.

In a sequence diagram, the objects or components participating in the interaction are


represented as vertical lifelines or dashed rectangles, with each lifeline representing
the lifespan of an object or component. The lifelines are ordered from top to bottom,
representing the chronological order of interactions.

Fig.7.3: Sequence Diagram

NBNSSOE, Department of Computer Engineering 2022-23 4


61
In a sequence diagram, the participating objects or components are represented by
vertical lines called lifelines. Each lifeline represents the lifespan or existence of an
object or component during the sequence of interactions. The interactions between
objects are shown as horizontal arrows or lines called messages, indicating the flow of
communication.

Sequence diagrams can also include additional elements, such as activation or


execution occurrences to represent the execution of methods or operations, return
messages to indicate the response from called objects, and loops or conditional
statements to depict iterative or conditional behavior.

Overall, sequence diagrams provide a visual and chronological representation of the


interactions between objects, making them valuable for understanding and
documenting the dynamic behavior of a system.

NBNSSOE, Department of Computer Engineering 2022-23 4


71
CHAPTER 8

PROJECT IMPLEMENTATION

NBNSSOE, Department of Computer Engineering 2022-23 4


81
8.1 INTRODUCTION
Recent years have witnessed the increasing demands of online shopping for fashion items.
Despite the convenience online fashion shopping provides, consumers are concerned about
how a particular fashion item in a product image would look on them when buying apparel
online. Thus, allowing consumers to virtually try on clothes will not only enhance their
shopping experience, transforming the way people shop for clothes, but also save cost for
retailers. Our goal is to synthesize a photorealistic new image by overlaying a product image
seamlessly onto the corresponding region of a clothed person. The purpose of the virtual
trying on system is that users can choose the clothing collocation through the clothing
materials prepared in advance by the software. After selecting the clothes they are interested
in, they can take the user’s front picture through the camera in the designated shooting area
displayed on the screen. Through the photo synthesis after shooting, users can complete the
fitting experience, because the models and clothes are real, So the overall image can show the
style and texture of the clothes to the maximum extent. Physical try-on of clothes is a time-
consuming procedure in retail shopping. It takes try-on of several clothes before the shopper
can make decision on design, color and size of the apparel that satisfies her. Virtual try-on can
help to speed-up the process as the shopper can see the clothes on her body without actually
wearing them, or narrow down her selections before physical try-on. Furthermore, it can
enhance the user’s shopping experience through new features, such as side-by-side
comparison of various clothes and simultaneous viewing of outputs from different angles.
Interactive virtual try-on can also be an interesting feature of digital signage for advertisement
and/or attracting crowds. This is a robust alignment method to align the virtual clothes with
the user’s image properly using an automatically customized avatar that matches the user’s
body. Scaling of the virtual clothes to fit well on the user’s body is another important
requirement for a realistic virtual try-on. A global scaling does not work for users of different
body types. We use a scaling method that scales different sections of the clothed avatar
separately and also retains their connectivity by appropriately translating different parts after
resizing.

8.2 TOOLS AND TECHNOLOGIES USED

I. TOOLS
 Python3
 Python3 Libraries = flask,cv2pixellib,subprocess,torch,PIL
 HTML, CSS, Javascript
NBNSSOE, Department of Computer Engineering 2022-23 4
91
II. MODELS
 pose_deploy_linevec.prototxt
 pose_iter_440000.caffemodel
 deeplabv3_xception_tf_dim_ordering_tf_kernels.h5

III. TECHNOLOGIES
 Real-time multi-person keypoint detection library for body, face, hands, and foot
estimation
 image classification and or image segmentation model
 semantic segmentation for background removable

8.3 METHODOLOGIES/ALGORITHM DETAILS

1. Dataset Preparation:
a. Obtain the Viton+ dataset, which consists of clothing images and corresponding person
images.
b. Split the dataset into training and testing sets, ensuring that there is no overlap between the
two.

2. Model Training:
a. Preprocess the clothing images and person images, such as resizing them to a consistent
size.
b. Load the pre-trained pose estimation model: pose_deploy_linevec.prototxt and
pose_iter_440000.caffemodel.
c. Extract pose keypoints from the person images using the pre-trained pose estimation
model.
d. Train the CVTON model using the preprocessed clothing images, person images, and pose
keypoints.
e. Optimize the model parameters using an appropriate optimization algorithm.
f. Save the trained CVTON model for future use.

3. Model Testing:

NBNSSOE, Department of Computer Engineering 2022-23 5


01
a. Load the pre-trained CVTON model.
b. Preprocess the target person image by resizing it to a consistent size.
c. Extract pose keypoints from the target person image using the pre-trained pose estimation
model.
d. Provide the virtual try-on functionality by inputting the clothing image, target person
image, and pose keypoints into the CVTON model.
e. Generate the virtual try-on image, which combines the clothing from the clothing image
onto the target person image.
f. Display the virtual try-on image on the web application for the user to see.

4. Web Application Development:


a. Set up a Flask application to handle web requests and responses.
b. Create appropriate routes and endpoints to handle user interactions.
c. Implement the necessary HTML/CSS templates for the user interface.
d. Integrate the CVTON model and pre-trained models into the Flask application.
e. Develop a user-friendly interface for users to upload clothing images and target person
images.
f. Implement the necessary backend logic to process the user's requests and generate the
virtual try-on images.
g. Display the virtual try-on images on the web application for the user to view and
download.
h. Ensure proper error handling and validation of user inputs.

5. Deployment:
a. Choose an appropriate server or hosting platform to deploy the Flask application.
b. Set up the necessary dependencies and environment to run the application.
c. Configure any required network settings or domain mapping for the application.
d. Test the deployed application thoroughly to ensure it functions correctly in the production
environment.
e. Monitor the application's performance and troubleshoot any issues that may arise.
f. Regularly update and maintain the application, including updating the CVTON
model and pre-trained models as necessary.

NBNSSOE, Department of Computer Engineering 2022-23 5


11
8.3.1 Algorithm 1/Pseudo Code
a. Take the cloth image and person image as input.
b. Pass the cloth image and person image through the BPGM.
c. Obtain the parameters (θ) for the thin-plate spline transformation.
d. Apply the thin-plate spline transformation to align the cloth image with the person image.
e. Feed the aligned cloth image and person image into the CAG to generate the final image.
f. Apply the matching discriminator (Dmth) to assess the matching quality of the cloth and
person image.
g. Employ the patch discriminator (Dptc) to evaluate the quality of local patches in the final
image.
h. Utilize the segmentation discriminator (Dseg) to assess the segmentation quality of the final
image.
i. Combine the outputs from the discriminators to obtain a comprehensive assessment of the
final image quality.
j. Output the resulting final image.

8.3.2 Algorithm 2/Pseudo Code


use can also upload custom image whose algorithm is as follows
a. start camera
b. take picture and submit with images name
c. image is processed with deeplabv3 model to remove its background.
d. apply custom color background.
e. upload the image as a person image available for future use.

NBNSSOE, Department of Computer Engineering 2022-23 5


21
CHAPTER 9

SOFTWARE TESTING

NBNSSOE, Department of Computer Engineering 2022-23 5


31
9.1 TYPE OF TESTING USED
I. Unit Testing
Unit Testing is a type of software testing where individual units or components of a
software are tested. The purpose is to validate that each unit of the software code performs
as expected. Unit Testing is done during the development (coding phase) of an application
by the developers. Unit Tests isolate a section of code and verify its correctness. A unit
may be an individual function, method, procedure, module, or object.

II. Integration Testing

Integration testing is the second level of the software testing process comes after unit
testing. In this testing, units or individual components of the software are tested in a group.
The focus of the integration testing level is to expose defects at the time of interaction
between integrated components or units.

9.2 TEST CASES AND TEST RESULTS

Unit Testing for Virtual Clothes Try-On Project:

1. Test Input Validation:


a. Test that the cloth image and person image inputs are provided.
b. Verify that the inputs are of the correct format (e.g., image files).
c. Test edge cases, such as empty inputs or invalid file formats, to ensure proper error
handling.

2. Test Preprocessing:
a. Test the resizing of cloth and person images to ensure they have consistent dimensions.
b. Verify that the images are correctly preprocessed before being used as inputs to the
models.
c. Test any other preprocessing steps, such as normalization or data augmentation, if
applicable.

3. Test Pose Estimation:


a. Test the pose estimation functionality to ensure that pose keypoints are correctly extracted
from the person image.
b. Verify that the pose estimation model is loaded correctly and produces accurate results.

NBNSSOE, Department of Computer Engineering 2022-23 5


41
c. Test different person images with varying poses to cover different scenarios.

4. Test Virtual Try-On:


a. Test the integration of the cloth image, person image, and pose keypoints into the virtual
try-on process.
b. Verify that the CVTON model produces the expected virtual try-on image.
c. Test different combinations of cloth and person images to cover various clothing styles
and body poses.

5. Test Web Application Functionality:


a. Test the web application's routes and endpoints to ensure they handle user interactions
correctly.
b. Verify that the user inputs are correctly processed and passed to the virtual try-on
functionality.
c. Test different user scenarios, such as uploading cloth and person images, to ensure the
application behaves as expected.

6. Test Output Generation:


a. Test the generation of the final virtual try-on image.
b. Verify that the generated image is visually accurate and aligned with the person's pose.
c. Test different combinations of cloth and person images to cover various clothing styles
and body poses.

7. Test Error Handling:


a. Test error scenarios, such as providing invalid inputs or encountering errors during model
loading or processing.
b. Verify that proper error messages or fallback mechanisms are in place to handle such
situations.

8. Test Performance:
a. Test the performance of the virtual try-on process to ensure it executes within an
acceptable time frame.
b. Evaluate the application's responsiveness and resource utilization under different loads
and scenarios.

NBNSSOE, Department of Computer Engineering 2022-23 5


51
9. Test Deployment:
a. Test the deployed web application to ensure it functions correctly in the production
environment.
b. Verify that the application handles concurrent requests and maintains stability.
c. Test any additional deployment-specific functionality, such as logging or monitoring.

It is important to cover different scenarios and edge cases in unit testing to ensure the
robustness and reliability of the virtual clothes try-on system.

Integration Testing for Virtual Clothes Try-On Project:

1. Test Input Integration:


a. Provide a cloth image and person image as inputs to the virtual clothes try-on
functionality.
b. Verify that the inputs are correctly received and processed by the system.
c. Ensure that the inputs are integrated into the subsequent stages of the try-on process, such
as pose estimation and virtual try-on model.

2. Test Pose Estimation Integration:


a. Verify that the pose keypoints extracted from the person image are accurately integrated
into the virtual try-on process.
b. Ensure that the pose estimation results align with the person's body correctly in the virtual
try-on output.
c. Test different person images with various poses to cover different integration scenarios.

3. Test Virtual Try-On Integration:


a. Confirm that the cloth image and person image are properly combined using the CVTON
model.
b. Verify that the virtual try-on output image aligns the cloth with the person's pose
accurately.
c. Test different combinations of cloth and person images to cover various clothing styles
and body poses.

NBNSSOE, Department of Computer Engineering 2022-23 5


61
4. Test Web Application Integration:
a. Interact with the web application's user interface and simulate user interactions, such as
uploading cloth and person images.
b. Verify that the uploaded images are correctly integrated into the virtual clothes try-on
process.
c. Ensure that the output images are appropriately displayed on the web application's
interface.

5. Test Output Integration:


a. Verify that the final virtual try-on image is generated and integrated into the system's
output.
b. Ensure that the output image is visually accurate and aligned with the person's pose.
c. Test different combinations of cloth and person images to cover various clothing styles
and body poses.

6. Test Error Handling Integration:


a. Simulate error scenarios, such as providing invalid inputs or encountering errors during
integration processes.
b. Verify that the system handles errors gracefully and provides appropriate error messages
or fallback mechanisms.
c. Ensure that error handling does not disrupt the integration and overall functionality of the
virtual clothes try-on system.

7. Test Web Application Functionality Integration:


a. Test the end-to-end functionality of the web application, including the integration of cloth
and person images, processing, and output generation.
b. Verify that the web application handles all integration steps seamlessly and provides the
expected output to the user.
c. Test different user scenarios, such as uploading different types of images and evaluating
the system's behavior.

NBNSSOE, Department of Computer Engineering 2022-23 5


71
CHAPTER 10

RESULTS

NBNSSOE, Department of Computer Engineering 2022-23 5


81
10.1 SCREEN SHOTS

Fig.10.1: Home Page

Fig.10.2: Upload Image

NBNSSOE, Department of Computer Engineering 2022-23 5


91
Fig.10.3: Image Capture
10.2 OUTPUTS

Fig.10.4: Try-on Result

NBNSSOE, Department of Computer Engineering 2022-23 6


01
CHAPTER 11

DEPLOYMENT AND MAINTENANCE

NBNSSOE, Department of Computer Engineering 2022-23 6


11
11.1 INSTALLATION AND UN-INSTALLATION

In order to implement this project, we need to install some components beforehand. They are as
follows:

1. The latest version of python should be installed on the machine.

2. Code editors (e.g. VSCode) should be installed

3. Web browser like google chrome should be installed

11.2 USER HELP

Users can find help documents on the respective sites of above technologies. One can also
refer sources like google to get more help about the same.

NBNSSOE, Department of Computer Engineering 2022-23 6


21
CHAPTER 12

CONCLUSION AND FUTURE SCOPE

NBNSSOE, Department of Computer Engineering 2022-23 6


31
12.1 Summary

A virtual clothes try-on project offers users a realistic and interactive experience of trying on
clothes virtually. It includes a user-friendly interface to browse and select items from a
comprehensive clothing catalog. Utilizing advanced 3D modeling and rendering techniques,
users can visualize how the clothes fit and look on their virtual avatar. The system provides real-
time feedback, fit analysis, and suggestions, enhancing the user experience. If integrated with an
e-commerce platform, the project allows for a seamless shopping experience, enabling users to
make informed decisions before purchasing.

12.2 Conclusion

This report has presented an augmented reality application in which users can select and try on
virtual clothes. These clothes are rendered on a screen over the image of the user. The
presented application is an improvement over similar existing augmented reality applications
in that it offers the same functionality without any specialized hardware requirement. This
project proposes a simple and effective virtual try on model based on images, using a three-
stage design strategy, so that the texture in the fitting results can be well mapped in the context
of complex figure posture and background.

12.3 Future Scope

1. Enhancing the model with 3d pose estimation model.

2. Providing avatar for users to try-on clothes.

3. Adding support for accessories like hats, watches, purse etc.

NBNSSOE, Department of Computer Engineering 2022-23 6


41
CHAPTER 13
REFERENCES

NBNSSOE, Department of Computer Engineering 2022-23 6


51
[1] Xintong Han, Zuxuan Wu, Zhe Wu, Ruichi Yu and Larry S. Davis, “VITON: An Image-
based Virtual Try-on Network”. [https://arxiv.org/abs/1711.08447]

[2] Akshay Shirsat, Samruddhi Sonimindia, Sushmita Patil, Nikita Kotecha, Prof Shweta
Koparde, "Virtual Trial Room", International Journal of Research in Advent Technology
(IJRAT), VOLUME-7 ISSUE-5, MAY 2019, pp. 182-185.
[https://doi.org/10.32622/ijrat.75201976]

[3] Amoli Vani, Dhwani Mehta and Prof. Suchita Patil, “Virtual Changing Room”. K. J.
Somaiya College of Engineering.

[4] Mark Sandler, Andrew Howard, Menglong Zhu, Andrey Zhmoginov and Liang-Chieh
Chen, “MobileNetV2: Inverted Residuals and Linear Bottlenecks”. IEEE Conference on
Computer Vision and Pattern Recognition (CVPR), 2018. [https://arxiv.org/abs/1801.04381]

[5] Ondrej Kainz, František Jakab, Matúš W. Horečný and Dávid Cymbalák, “Estimating the
Object Size from Static 2D Image”. 2015 International Conference and Workshop on
Computing and Communication (IEMCON). [https://ieeexplore.ieee.org/document/7344423]

[6] Pose Estimation for mobile (Implementation of CPM and Hourglass model using
TensorFlow and MobileNetV2) [https://github.com/edvardHua/PoseEstimationForMobile]

[7] Alejandro Newell, Kaiyu Yang, and Jia Deng, “Stacked Hourglass Networks for Human
Pose Estimation”. [https://arxiv.org/pdf/1603.06937.pdf]

[8] OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affinity Field.
[https://arxiv.org/abs/1812.08008]

[9] A simple yet effective baseline for 3d human pose estimation.


[https://arxiv.org/pdf/1705.03098.pdf]

NBNSSOE, Department of Computer Engineering 2022-23 6


61
ANNEXURE A

LABORATORY ASSIGNMENTS ON
PROJECT ANALYSIS OF ALGORITHMIC
DESIGN

NBNSSOE, Department of Computer Engineering 2022-23 6


71
Assignment 01
Title:
To create an application that provides 3D Virtual Try-On for E-commerce clothing sites.

Abstract:
Virtual try-on of clothes has received much attention recently due to its commercial potential. It can
be used for online shopping or intelligent recommendation to narrow down the selections to a few
designs and sizes. Through this project, we aim to create a mechanism that enables users to see
themselves wearing virtual clothes while looking at a mirror display, without taking off their actual
clothes. The system physically simulates the selected virtual clothes on the user’s body in real time
and the user can see the virtual clothes fitting on her mirror image from various angles as she moves.
But the biggest problem of virtual try-on is that the shape and motion blocking distort the clothes,
causing the patterns and texture on the clothes to be impossible to restore. This project implements a
new stylized virtual try-on network (Style-VTON), which can not only retain the authenticity of
clothing texture and pattern but also obtain the undifferentiated stylized try-on. Most of the previous
studies on this domain work on image data as the user need to click images of himself and then the
model fitting takes place. In this project, our focus is to design a system that is based on a live video
feed providing real-time insights about the clothes and fitting patterns. this is very important in the
field of electrical business clothing try on, for subsequent can provide users with the most satisfactory
clothes, reduce industrial manufacturing production is prepared.

MATHEMATICAL MODEL:

Sr. Description Observation


No.
1. Problem description

Formally, take an input image of a subject using their webcam, I ∈


R w×h×3 , and use a reference image of some target clothing, C ∈ System
R w×h×3 selected by the user , the goal of is to use the model to
synthesize a photo-realistic output image, IC ∈ R w×h×3 , of the
subject from I wearing the target clothing C and present it to the
user as a final output

NBNSSOE, Department of Computer Engineering 2022-23 6


81
Input clothe
image
Stage one :
Taking input image I from user using webcam and then process

Stage two:
Provide I as a input to the C-VTON model The first stage of the C-
VTON pipeline consists of the proposed BPGM has two encoders
e1 and e2 . e1 take c and generate ψE1 ∈ R wf ×hf ×df
the second encoder accepts the body segmentations S at the input Intermediate
and produces a feature representation ψE2 ∈ R wf ×hf ×df outputs
obtained to
reach final
state

correlation matrix is calculated and output with use of context


aware generator an output iamge IC ∈ R w×h×3 is generated Final image

Table A.1: Mathematical Representation

Definitions: P, NP, NP-Hard, NP-Complete Problems:


P Class of problems: Solutions to P class of problems have deterministic algorithms running in
polynomial.
NP Class of problems: Solutions to NP class of problems have non-deterministic algorithms
running in polynomial.
NP-Hard class of problems: A problem is in NP-Hard class if an already proved NP-Hard
problem reduces to it.
NP-Complete class of problems: A problem is NP-Complete if it is NP-Hard and it is NP (i.e. there
exists a non-deterministic algorithm running in polynomial time which solves it).
An algorithm is Non-Deterministic when: 1. it uses external state such as user input, random value or
stored disk data. 2. It operates in a way that is time sensitive.
Non-Deterministic machines that cannot solve problems in polynomial time are NP. But it can be
verified in polynomial time that the solution is correct or not. Hence, the problem is NP.
A problem is satisfiable, if it can be made TRUE by assigning appropriate logical values to its
variables. The Boolean Satisfiability problem (SAT) is given a formula to check whether it is
satisfiable. SAT is NP-hard.

NBNSSOE, Department of Computer Engineering 2022-23 6


91
ANNEXURE B

LABORATORY ASSIGNMENTS ON
PROJECT QUALITY AND RELIABILITY
TESTING OF PROJECT DESIGN

NBNSSOE, Department of Computer Engineering 2022-23 7


01
Assignment-01
Title:

Use of divide and conquer strategies to exploit distributed/parallel/concurrent processing of the above to
identify objects, polymorphisms, overloading in functions (if any), and functional relations and any other
dependencies (as per requirements).
System S is defined as collection of following set:
S = {Ip, Op, Ss, Su, A}
Mapping Functions f(x) X Y
F2(Ip1) → Op1 Ip1 Op1
F3(Ip2) → Op2 Ip2 Op2
F4(Ip3) → Op3 Ip3 Op3

Objects:

1) Input1: Ip1 = {Username, Password}


2) Input2: Ip2= {input from user}
3) Input3: Ip3= {processed user input to model}

1) Output1: Op1 = {Login}


2) Output2: Op2 = {preprocess the data}
3) Output3: Op3 = {final result acquired}

Functional Dependency Graph:

DB

F1 F2 F3

F5 F4

1) Function 1 = F1 = Login
2) Function 2 = F2 = Selected_input
3) Function 3 = F3 = process
4) Function 4 = F4 = model
5) Function 5 = F5 = result

NBNSSOE, Department of Computer Engineering 2022-23 7


11
Assignment 02
Title:

Use of above to draw functional dependency graphs and relevant Software modelling methods,
techniques including UML diagrams or other necessities using appropriate tools.
Mapping Functions:

System S is defined as collection of following sets:


S={ Ip1,Ip2, Ip3, Op, Ss, Su, Fi, A}
2 Mapping Functions f(x) X Y
F1(d) → F D F
d - Data from the dataset
F – Cluster is represented
F2(F)→F’ F F’
F’ – Cluster Classification is done
F3( F’ )→ F” F’ F’’
F’’ - Set of graph are Displayed
F4(F’,F”) → c F’,F’’ C
c € C ( Set of Predefined Classes )

Functional Dependency Graph:

F1: Login()
User logs in to their account using username and password
F2: Selected_input()
The user selects one of the image from the dataset and that data is then used as a target clothe C.
User’ photo is taken as input
F3: process()
The input image is processed to remove background and then provided to the c-vton model as input
image I
F4: model()
Image I is the provided to the model and then model produce a final image IC as a result
F5: Result()
result image is displayed to the user as a final output

UML DIAGRAMS:

UML stands for Unified Modelling Language. It represents a unification of the concepts and
notations. 1. The goal is for UML to become a common language for creating models of object
oriented computer software. In its current form UML is comprised of two major components: a Meta-
model and a notation. In the future, some form of method or process may also be added to; or
associated with, UML

NBNSSOE, Department of Computer Engineering 2022-23 7


21
Fig B.3: System Design

1. USE CASE DIAGRAM:


A use case diagram at its simplest is a representation of a user's interaction with the system that shows
the relationship between the user and the different use cases in which the user is involved. A use case
diagram can identify the different types of users of a system and the different use cases and will often
be accompanied by other types of diagrams as well

Figure B.2: Use Case Diagram

2. CLASS DIAGRAMS:
NBNSSOE, Department of Computer Engineering 2022-23 7
31
The purpose of a class diagram is to depict the classes within a model. In an object oriented
application, classes have attributes (member variables), operations (member functions) and
relationships with other classes. The UML class diagram can depict all these things quite easily. The
fundamental element of the class diagram is an icon the represents a class. This icon is shown in
Figure

Figure B.3: Class Diagram

NBNSSOE, Department of Computer Engineering 2022-23 7


41
Assignment 03
Title:

Testing of project problem statement using generated test data (using mathematical models, GUI,
Function testing principles, if any) selection and appropriate use of testing tools, testing of UML
diagram’s reliability
Aim:

This assignment aims students to perform the following:


 Test Plan (Black and White Box), Testing and Test report, and Test results
 Test plan should cover module test plan, integrated test plan
 Test plan specifies the approach that testing will use to test the product, indicate tool to test
the product, schedule plan, persons responsible etc.
 Testing of Project: Apply various testing strategy
 Test report: Test report must have test data, data analysis, debug scenario, snapshots along
with following table: Test Case Id, Test case name, Test steps (Step, Expected, and Actual),
Test status (Pass/Fail), Test Priority (High/Medium/Low), Defect Severity
(High/Medium/Low)
 Test result chart/graph: Students are required to identify and analyse the performance
parameters of project and plot the graph/chart by considering these parameters
Theory:-

Software Testing:

Software testing is the process of evaluation a software item to detect differences between given input
and expected output. Also to assess the feature of A software item. Testing assesses the quality of the
product. Software testing is a process that should be done during the development process. In other
words software testing is a verification and validation process.
Verification: Verification is the process to make sure the product satisfies the conditions imposed at
the start of the development phase. In other words, to make sure the product behaves the way we want
it to.
Validation: Validation is the process to make sure the product satisfies the specified requirements at
the end of the development phase. In other words, to make sure the product is built as per customer
requirements.
Basics of software testing: There are two basics of software testing: black-box testing and white-box
testing.
Black-box Testing:
Black box testing is a testing technique that ignores the internal mechanism of the system and focuses
on the output generated against any input and execution of the system. It is also called functional
testing.
White-box Testing:
White box testing is a testing technique that takes into account the internal mechanism of a system. It
is also calledNBNSSOE, Department
structural testing of Computer
and glass Engineering
box testing. 2022-23is often used for validation
Black box testing 7 and
white box testing is often used for verification. 51
Types of testing:
There are following types of testing:
 Unit Testing
 Integration Testing
 Functional Testing
 System Testing
 Stress Testing
 Performance Testing
 Usability Testing
 Acceptance Testing
 Regression Testing
 Beta Testing
Unit Testing:
Unit testing is the testing of an individual unit or group of related units. It falls under the class of
white box testing. It is often done by the programmer to test that the unit he/she has implemented is
producing expected output against given input.
Integration Testing:
Integration testing is testing in which a group of components are combined to produce output. Also,
the interaction between software and hardware is tested in integration testing if software and hardware
components have any relation. It may fall under both white box testing and black box testing.
Functional Testing:
Functional testing is the testing to ensure that the specified functionality required in the system
requirements works. It falls under the class of black box testing.
System Testing:
System testing is the testing to ensure that by putting the software in different environments (e.g.,
Operating Systems) it still works. System testing is done with full system implementation and
environment. It falls under the class of black box testing.
Stress Testing:
Stress testing is the testing to evaluate how system behaves under unfavourable conditions. Testing is
conducted at beyond limits of the specifications. It falls under the class of black box testing.
Performance Testing:
Performance testing is the testing to assess the speed and effectiveness of the system and to make sure
it is generating results within a specified time as in performance requirements. It falls under the class
of black box testing.
Usability Testing:
Usability testing is performed to the perspective of the client, to evaluate how the GUI is user-
friendly? How easily can the client learn? After learning how to use, how proficiently can the client
perform? How pleasing is it to use its design? This falls under the class of black box testing.
Acceptance Testing:
Acceptance testing is often done by the customer to ensure that the delivered product meets the
requirements and works as the customer expected. It falls under the class of black box testing.
NBNSSOE, Department of Computer Engineering 2022-23
Regression Testing: 7
61
Regression testing is the testing after modification of a system, component, or a group of related units
to ensure that the modification is working correctly and is not damaging or imposing other modules to
produce unexpected results. It falls under the class of black box testing.
Beta Testing:
Beta testing is the testing which is done by end users, a team outside development, or publicly
releasing full pre-version of the product which is known as beta version. The aim of beta testing is to
cover unexpected errors. It falls under the class of black box testing.

TEST CASES:
Test Case ID 1
Test Case Description Web page should load properly
Steps 1.Open the localhost
2.Open the file

Test Case Result Web page load successfully


Action Result Front-end of system loads successfully
Status Pass

Test Case ID 2
Test Case Description Validate user
Steps 1. Open application
2. Login
Test Case Result Application should be successfully started
and Login Form should get display.
Action Result Web Application should be successfully
started
Status Pass

Test Case ID 3
Test Case Description Display of available cloth models
Steps 1. Login
2. Select cloth models
Test Case Result Available clothes displayed successfully
Action Result Locality is selected
Status Pass

Test Case ID 4
Test Case Description Click/upload image
Steps 1.Login
2.Selection of clothes
3.Upload
NBNSSOE, Department of Computer image2022-23
Engineering 7
Test Case Result Image uploaded/captured successfully 71
Action Result Image uploaded successfully
Status Pass

Test Case ID 5
Test Case Description Try-on result created
Steps 1.Image processed
2.Cloth overlayed on user body
Test Case Result Clothing successfully mapped on client
body
Action Result Resulting image is as expected.
Status Pass

Table B.1: Test Cases


Conclusion:

Thus we have successfully carried out a test plan for our project

NBNSSOE, Department of Computer Engineering 2022-23 7


81
ANNEXURE C

PROJECT PLANNER

NBNSSOE, Department of Computer Engineering 2022-23 7


91
Sr. Month Description
No.
1 June Discussion with guide regarding domain.
Searching for IEEE paper for domain
2 July Shortlisting of IEEE papers within domain
Selection of IEEE paper.
3 August Deciding project name.
Submission of synopsis
4 September Requirement analysis
Selection of models
5 October Report Preparation.
Stage-I report submission
6 November Collection of data
Designing Models
7 December Design UI
Build Model
8 January Design UI
Improve Model
9 February Design test cases
Test the feature performance and accuracy
10 March Identify and fix issues
11 April Improve performance
12 May Final report
13 June Final presentation

Table C.1: Project Planner

NBNSSOE, Department of Computer Engineering 2022-23 8


01
ANNEXURE D

REVIEWERS COMMENTS OF PAPER


SUBMITTED

NBNSSOE, Department of Computer Engineering 2022-23 8


11
1. Paper Title: Image-Based Try-on of Clothes

2. Name of the Conference/Journal where paper submitted: National Conference on


Cognitive Computing (STM Journals)

3. Paper accepted/rejected: Accepted

4. Review comments by reviewer: Paper is accepted for journal

5. Corrective actions if any: None

NBNSSOE, Department of Computer Engineering 2022-23 8


21
ANNEXURE E

SURVEY PAPERS

NBNSSOE, Department of Computer Engineering 2022-23 8


31
NBNSSOE, Department of Computer Engineering 2022-23 8
41
NBNSSOE, Department of Computer Engineering 2022-23 8
51
NBNSSOE, Department of Computer Engineering 2022-23 8
61
NBNSSOE, Department of Computer Engineering 2022-23 8
71
NBNSSOE, Department of Computer Engineering 2022-23 8
81
NBNSSOE, Department of Computer Engineering 2022-23 8
91
NBNSSOE, Department of Computer Engineering 2022-23 9
01
NBNSSOE, Department of Computer Engineering 2022-23 9
11
NBNSSOE, Department of Computer Engineering 2022-23 9
21
ANNEXURE F

CERTIFICATES

NBNSSOE, Department of Computer Engineering 2022-23 9


31
NBNSSOE, Department of Computer Engineering 2022-23 9
41
NBNSSOE, Department of Computer Engineering 2022-23 9
51
NBNSSOE, Department of Computer Engineering 2022-23 9
61
NBNSSOE, Department of Computer Engineering 2022-23 9
71
NBNSSOE, Department of Computer Engineering 2022-23 9
81
NBNSSOE, Department of Computer Engineering 2022-23 9
91
ANNEXURE G

INFORMATION OF PROJECT
GROUP MEMBERS

NBNSSOE, Department of Computer Engineering 2022-23 1


0
1. Name : Prathmesh Ravindra Joshi

2. Date of Birth : 06/10/2001

3. Gender : Male

4. Permanent Address : Tulsi Nivas, Anand Nagar, Nava Mondha Road, Udgir

5. E-Mail : prathmeshrjoshi@gmail.com

6. Mobile/Contact No. : 9405048192

7. Placement Details : Placed at Tata Consultancy Services

8. Paper Published : Survey on Context-Driven Image-Based Virtual Try-On Network,


Virtual Clothes Try-on

NBNSSOE, Department of Computer Engineering 2022-23 1


0
1. Name : Virat Sachin Desale

2. Date of Birth : 08/10/2001

3. Gender : Male

4. Permanent Address : Kasare , Sakri ,Dhule 424310

5. E-Mail : 2001virat@gmail.com

6. Mobile/Contact No. : 9689250770

7. Placement Details : Placed at Jio Pvt. Ltd.

8. Paper Published : Survey on Context-Driven Image-Based Virtual Try-On Network,


Virtual Clothes Try-on

NBNSSOE, Department of Computer Engineering 2022-23 1


0
1. Name : Ajay Madhusudan jadhav

2. Date of Birth : 27/10/2001

3. Gender : Male

4. Permanent Address : at post Yeralwadi taluka khatav district Satara Maharashtra-


415507

5. E-Mail : ajaymjadhav2018@gmail.com

6. Mobile/Contact No. : 8291615251

7. Placement Details : Placed at V_OIS (Vodafone Intelligent Solutions)

8. Paper Published : Survey on Context-Driven Image-Based Virtual Try-On Network,


Virtual Clothes Try-on

NBNSSOE, Department of Computer Engineering 2022-23 1


0
1. Name : Sushil Annaso Pawar

2. Date of Birth : 08/05/2001

3. Gender : Male

4. Permanent Address : AP - Vahagaon , TAL- Karad ,DIST- Satara

5. E-Mail : sushilpawar852001@gmail.com

6. Mobile/Contact No. : 9518333824

7. Placement Details : NA

8. Paper Published : Survey on Context-Driven Image-Based Virtual Try-On Network,


Virtual Clothes Try-on

NBNSSOE, Department of Computer Engineering 2022-23 1


0

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy