Final Black Book 24
Final Black Book 24
A PROJECT REPORT ON
BY
CERTIFICATE
Submitted by
Dr. S.P.Patil
Principal
NBN Sinhgad School Of Engineering
Is successfully completed by
at
DEPARTMENT OF COMPUTER
Engineering, Pune
23
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.
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.
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
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
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
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
10 Results 58
10.1 Screen shots..............................................................................................59
10.2 Outputs.....................................................................................................60
14 References 65
SYNOPSIS
Internal Project
NA
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
To create an application that provides Virtual Try-On for E-commerce clothing sites.
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.
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.
• Functions: Identify user body in image, create a mask for clothing, perform
segmentation on user image, generate final try-on
• Conferences/workshops in IITs
• IEEE/ACM Conference/Journal 2
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).
● 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:
TECHNICAL KEYWORDS
Augmented Reality
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
INTRODUCTION
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.
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.
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.
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.
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.
● A User should be able to choose which clothes they wish to try on.
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.
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.
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.
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
Platform :
2. IDE: VSCode
PROJECT PLAN
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.
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.
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:
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.
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.
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.
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.
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
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
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
SOFTWARE REQUIREMENT
SPECIFICATION
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.
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
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.
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.
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
Functional Model and Description for the Virtual Clothes Try-On Software:
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.
• 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.
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.
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
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.
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.
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
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.
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.
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.
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.
PROJECT IMPLEMENTATION
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
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:
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.
SOFTWARE 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.
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.
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.
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.
RESULTS
In order to implement this project, we need to install some components beforehand. They are as
follows:
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.
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.
[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]
LABORATORY ASSIGNMENTS ON
PROJECT ANALYSIS OF ALGORITHMIC
DESIGN
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:
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
LABORATORY ASSIGNMENTS ON
PROJECT QUALITY AND RELIABILITY
TESTING OF PROJECT DESIGN
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:
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
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:
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
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
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:
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 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
Thus we have successfully carried out a test plan for our project
PROJECT PLANNER
SURVEY PAPERS
CERTIFICATES
INFORMATION OF PROJECT
GROUP MEMBERS
3. Gender : Male
4. Permanent Address : Tulsi Nivas, Anand Nagar, Nava Mondha Road, Udgir
5. E-Mail : prathmeshrjoshi@gmail.com
3. Gender : Male
5. E-Mail : 2001virat@gmail.com
3. Gender : Male
5. E-Mail : ajaymjadhav2018@gmail.com
3. Gender : Male
5. E-Mail : sushilpawar852001@gmail.com
7. Placement Details : NA