Shravani G
Shravani G
DIPLOMA
IN
COMPUTER ENGINEERING
By:
Has worked on an “IoT Virtual Mirror”. This is a bonafide work carried out by them under
the supervision of Mrs. S. U.Puri and it is approved for the partial fulfilment of the requirement
of MSBTE, Mumbai for the award of the Diploma (Computer Engineering).
Dr. S. S. Gaikwad
(Principal)
Vision
To satisfy the aspirations of youth force, who want to lead the nation towards prosperity through
techno economic development.
Mission
To provide, nurture and maintain an environment of high academic excellence, research and
entrepreneurship for all aspiring students, which will prepare them to face global challenges
maintaining high ethical and moral standards.
Vision
To impart value based technical education for developing competent computer engineers,
fulfilling expectations of industry and society.
Mission
M1: To provide sound theoretical and practical knowledge
M2: To improve self-awareness and ethical values among students along with technical proficiency.
M3: To promote awareness about life-long learning and problem solving among students.
PSO 1: Computer Software and Hardware Usage: Use state-of-the-art technologies for operation
and application of computer software and hardware.
PSO 2: Computer Engineering Maintenance: Maintain computer engineering related software and
hardware systems.
First and foremost, I wish to record my gratitude and thanks to Mrs. S. U. Puri (Project
Coordinator) for his enthusiastic guidance and help in successful completion of Project work.
I express my thanks to Dr. S. S. Gaikwad (Principal) and Mrs. V.T.Thakare (Head of
Computer Department) for their valuable guidance. I am also thankful to other teachers and
non-teaching staff of Computer Engineering Department and Library for their co-operation
and help.
Augmented reality is the technology that expands our physical world, adding layers of
digital information onto it. Augmented reality adds digital element to live view by using
cameras or sensors. The main aim of this work is to develop virtual trial room using
augmented reality which allows user to try on virtual clothes. Kinect sensor is used to
calculate the effective distance between the sensor and the user who is standing in front of
it. Based on this distance we can analyse how the clothes will look on user. This application
improves present augmented based posing and gives full view of 3D image rather than 2D
image.
A lot of shoppers have encountered a problem that trying clothes in clothing stores is
usually a time consuming activity especially during peak hours such as weekends, it might
not even be possible to try-on clothes in such cases as online shopping. Also Due to
security reasons there is limitation on number of garments that can be taken for trial at a
time. Also some times the shoppers are unable to show the customers the new stock that is
supposed to arrive in coming few days. To overcome these problems we aim to develop a
virtual trial room using augmented reality. In this proposed application a sensor named
Kinect is used for the overall analysis of the user's body measurements with the help of
sensor information and his positioning coordinates following components will be required
to design the system.
1 Synopsis 8-9
9
1.1 Brief Description
9
1.2 Aim of The Project 9
1.3 Actual Methodology Followed
2 Introduction 10 - 11
2.1 Project Plan 11
2.2 Project Scope 11
3 Review Of Literature 12 - 14
4 Proposed System 15 - 16
5 Hardware Requirement 17 - 18
6 Software Requirement 19 - 36
20
Software
21
Technologies Used
7 System Testing 37- 55
9 Experimentation 46 – 47
10 Result 48- 54
11 Conclusion 55-56
13 Bibliography 59-60
1. Firstly, a discussion was held with the group members on the topic IoT Virtual
Mirror
2. The topic was divided into several modules and each and every group member
was assigned one of them.
3. Through research on the “IoT Virtual Mirror” was specified to the group
members which include all the key concepts related to it.
4. All of them get perfectly arranged into the specified format and all the
errors/mistakes committed resolved.
Finally, the copy was submitted to the concerned course coordinator.
Ask Question.
The e-commerce web application is developed for the end user of an e-
commerce site to get the right product for the user.
Manage Solutions (View Solutions)
Virtual roomView By User Point
Many of the existing systems have variable perceptions in the area of Augmented
Reality which made possible the implementation of Trial Room concept virtual.
Few such E Commerce sites like Lens-kart, Abo, Snatcher, have developed
applications based on virtual reality. One of those ideas is the Virtual Trial Room
which displays the user in desired attire. But, none of the current applications
provide the three dimensional dynamic imaging. In order to improve on this area
we are proposing a new system called the “3D Virtual Trial Room” Augmented
Reality is direct and indirect view of real world elements that area augmented on
computer software. Augmented Reality considers real and virtual elements. It
mainly adds the software information and refines the users view to actual
environment. This work is an implementation to develop Virtual trial Room
application using AR which allows a user to try on different colour of clothes.
Most of the early applications attempted to do this by overlying a static image of
clothing over an image of the user captured by a camera or any digital camera.
But, like any other idea, the virtual trial room involved from very basic solutions
to more advanced solutions which were more in sync with actual reality. This is
the motivation behind any AR application. This work presents an image
processing design flow for Virtual Trial Room applications, targeting personal
computers.
The main objective to obtain a real time, platform independent application. Users
are able to select sizes from XS to XL and choose between different cameras on
the device to implement the VFR. In addition, the algorithm can track and scale
the clothing according to user’s position and movement. The application needs
each marker for each garments and the dress only super impose on the user, it
only shows the 2D image. It’s impossible to protect the markers. Count of markers
increases with the count of dress. Storing and using of large number of marker is
difficult.
3.3 Background
User can select the product based on the image provided by the user
1. Setting up the room for this project we have created an augmented reality
software in which the user can try on virtual clothes. We use the Kinect sensor to
capture the user’s pose tracking and depth sensing. For rendering the clothes in
the user's environment we use the visual studio. For accurate fitting of clothes on
the user, the size estimation technique is done using the Kinect.
2. User Tracking The user stands in front of the Microsoft Kinect sensor. The
Kinect sensor uses RGB color sensing and depth sensing to detect the human
standing in front of the Kinect. The Kinect detects the joints which is visible for
the Kinect and also predicts the join is invisible for the user. The joints and the
skeleton points or mapped by the Kinect using Kinect coordinate mapping. All
the skeleton joints which are detected and predicted by the Kinect is joined to
form the full skeleton structure of the human and the human is detected.
3. Virtual Clothes The virtual clothes which are worn by the user are 3D object
file. This 3D .obj files are generated using skanect software. This skanect
software is used to scan the 3D object from the environment using Kinect. This
3D objects are virtually placed over the user using sizing and fitting algorithm.
For better experience, higher the system specifications, better the experience.
Software used: -
Eclipse:
Technologies used:
1. PYTHON
OpenCV:
OpenCV (Open Source Computer Vision Library) is a library of programming functions
mainly for real-time computer vision.Originally developed by Intel, it was later supported
by Willow Garage, then Itseez (which was later acquired by Intel). The library is cross-
platform and licensed as free and open-source software under Apache License 2. Starting
in 2011, OpenCV features GPU acceleration for real-time operations.
Flask:
Flask is a micro web framework written in Python. It is classified as a microframework
because it does not require particular tools or libraries.[2] It has no database abstraction
layer, form validation, or any other components where pre-existing third-party libraries
provide common functions. However, Flask supports extensions that can add application
features as if they were implemented in Flask itself. Extensions exist for object-relational
mappers, form validation, upload handling, various open authentication technologies and
several common framework related tools.
Threading:
Python threading allows you to have different parts of your program run concurrently and
can simplify your design. If you’ve got some experience in Python and want to speed up
your program using threads.
Dlib:
Dlib is one of the most powerful and easy-to-go open-source library consisting of machine
learning library/algorithms and various tools for creating software. It was initially released
in 2002. It has been used widely in many big industries, companies and for various big
projects, etc. It also has many more types of algorithms that have a greater role in the real
world.
Dlib is mostly used for face recognition purposes. They analyzed the object/face using the
functions called HOG (Histogram of oriented gradients) and CNN (Convolutional Neural
Networks). Face recognition nowadays are been used widely in many applications.
4) <div> Tag
The <div> tag defines a Division section.
Example:
<div>this is div tag</div>
5) <footer> Tag
The <footer> tag defines a footer of the page behave like section div.
Example:
<footer>This is a footer of the page </footer>
<input type="text">
<input type="submit">
</form>
7) <head> Tag
The <head> tag used to set the a resources that requires for the web page. It can
contains external and internal resources as well Example:
<head><title>Home | welcome</title ></head>
8) <header> Tag
The <header> tag defines a header of the html document , it behave like div or section.
Example:
<header>this is header tag</header>
9) <html> Tag
The <html> tag defines a hole document as html and it can contains a lot of tags and scripts.
Example:
<html>
<head><title>Home | welcome</title ></head>
<body>This is body of html document</body>
</html>
14)<select> Tag
The <select> tag defines a dropdown list it can contains multiple options.
Example:
<select><option>this is option-1 </option></select>
18)<td> Tag
The <td> tag defines a table row data, we can say that column data.
Example:
<table>
<tr>
<td> defines a table structure</td>
<td> defines a table structure</td>
</tr>
</table>
22)<label> Tag
The <label> tag defines a label for the input tag.
Example:
<label for="name">Name</a><input type="text">
CSS properties/attributes:
1) color: ;
The color property is used to set the color of the text.
Example: color: blue;
2) width: ;
The width property is used to set the width of the element.
Example: width: 100px;
3) height: ;
The height property is used to set the height of the element.
Example: height: 100px;
4) margin: ;
The margin property is used to set the margin of the element.
Example:
margin: 10px 10px 10px 10px;
5) align-content: ;
The align-content property is used to set alignment of the text.
Example: align-content: Centre;
7) animation: ;
The animation property is used to set the animation name, duration, type and speed of the
text.
Example: animation: fadeout 2s 2s ease-in;
8) appearance: ;
Example:
appearance: none;
9) backface-visibility: ;
The backface-visibility property defines whether or not the back face of an element should
be visible when facing the user.
Example: backface-visibility: hidden;
10) background: ;
The background property is used to set the backgrounds as image or color of the element.
Example: background: blue;
11) background-blend-mode: ;
The background-blend-mode property is used to blending mode of each background layer
(color and/or image).
Example: background-blend-mode: lighten;
13) background-color: ;
The color property is used to set the color of the text.
Example: color: blue;
14) background-image: ;
The background property is used to set the background image of the element. Example:
background-image: url(/https/www.scribd.com/images/deo.png);
15) background-position: ;
The background property is used to set the background position of image of elements.
Example:
background: 100px 50px;
16)background-repeat: ;
The background property is used to set the background image repetition or stop the
repetition of element. Example:
background-repeat: no-repeat;
17)background-size: ;
The background-size property is used to set the background image size of the element.
Example:
background-size: 100% 100%;
19) border-bottom: ;
The color property is used to set the color of the text.
Example: color: blue;
20)border-collapse: ;
The border-collapse property sets whether table borders should collapse into a single border
or be separated as in standard HTML.
Example:
border-collapse: collapse;
21) border-radius: ;
The border-radius property is used to set the border-radius of the elements.
Example:
border-radius: 5px;
22) bottom: ;
The bottom property affects the vertical position of a positioned element.
This property has no effect on non-positioned elements.
Example:
bottom: 100px;
23) box-shadow: ;
The box-shadow property is used to set the shadow of the element.
box-shadow: 1px 2px 4px green;
25)cursor: ;
The cursor property specifies the mouse cursor to be displayed when pointing over an
element.
Example:
cursor: pointer;
26) display: ;
The display property specifies the display behavior (the type of rendering box) of an
element.
Example: display: none;
27) flex-direction: ;
The flex-direction property specifies the direction of the flexible items Example:
flex-direction: row-reverse;
28)flex-wrap: ;
The flex-wrap property specifies whether the flexible items should wrap or not.
Example:
flex-wrap: wrap;
29) float: ;
The float property specifies how an element should float.
Example:
float: right;
31) font-size: ;
The font-size property sets the size of a font.
Example:
font-size: 12px;
32) font-stretch: ;
The font-stretch property allows you to make text narrower (condensed) or wider
(expanded).
Example:
font-stretch: expanded;
33) font-style: ;
The font-style property specifies the font style for a text.
Example:
font-style: italic;
34) font-weight: ;
The font-weight property sets how thick or thin characters in text should be displayed
font-weight: 100;
35) gap: ;
The gap property defines the size of the gap between the rows and columns.
Example: gap: 10px;
37)grid-template-rows: ;
The grid-template-rows property specifies the number (and the heights) of the rows in a
grid layout.
Example: grid-template-rows: auto auto;
38) justify-content: ;
The justify-content property is used to set the element to horizontal alignment.
Example:
justify-content: Centre;
39) left: ;
The left property affects the horizontal position of a positioned element.
This property has no effect on non-positioned elements Example:
left: 100px;
40) letter-spacing: ;
The letter-spacing property is used to set the spacing between letter that present in the text.
Example:
letter-spacing: 5px;
41) line-height: ;
The line-height property is used to set the height of the sentence.
43) max-height: ;
The max-height property defines the maximum height of an element..
Example:
max-height: 100px;
44) max-width: ;
The max-width property defines the maximum width of an element.
Example:
max-width: 100px;
45) -moz-appearance: ;
The appearance property is used to apply platform-specific styling to an element that
doesn’t have it by default, to remove platform-specific styling to an element that does have
it by default with mozila support moz-appearance: none;
46) -moz-border-radius: ;
The border-radius property is used to set the border-radius of the elements with mozila
support.
Example:
moz-border-radius: 45px;
48) -o-border-radius: ;
The -o-border-radius property is used to set the border-radius of the elements with opera
support.
Example:
o-border-radius: 5px;
49)-o-transform: ;
The -o-transform property applies a 2D or 3D transformation to an element. This property
allows you to rotate, scale, move, skew, etc., elements with opera browser support.
Example:
o-transform: blue;
50)-o-transition: ;
The -o-transition property the transition effect is for elements with opera supports.
Example:
o-transition: 1s;
51) outline:
The outline property is used to set the outline to elements.
Example: outline: none;
52) overflow:
The overflow property is used to set the handle elements overflow.
Example:
overflow: hidden;
54)padding:
The padding property is used to an element's padding is the space between its content
and its border.
Example:padding: 1px;
System testing is the stage of implementation, which is aimed at ensuring that the
system works accurately and efficiently before live operation commences. Testing
is the process of executing the program with the intent of finding errors and missing
operations and also a complete verification to determine whether the objectives are
met and the user requirements are satisfied. The ultimate aim is quality assurance.
Tests are carried out and the results are compared with the expected document. In
the case of erroneous results, debugging is done. Using detailed testing strategies,
a test plan is carried out on each module.
7.2 Unit Testing:
The Software units in a system are modules and routines that are assembled and
integrated to perform a specific function. Unit testing focuses first on modules,
independently of one another, to locate errors. This enables, to detect errors in
coding and logic that are contained within each module. This testing includes
entering data and ascertaining if the value matches to the type and size supported
by java. The various controls are tested to ensure that each performs its action as
required.
Data can be lost across any interface, one module can have an adverse effect
on another, sub functions when combined, may not produce the desired major
functions. Integration testing is a systematic testing to discover errors
associated within the interface. The objective is to take unit tested modules and
build a program structure. All the modules are combined and tested as a whole.
Here the Server module and Client module options are integrated and tested.
This testing provides the assurance that the application is well integrated
functional unit with smooth transition of data.
8.1 ARCHITECTURE:
The Architecture Diagram consists of many components like the user interface, a
login-screen, an in-app store, the database, etc. To manage these components,
architecture diagram is made, so that we can logically define the relationships and
manner of interactions between all of these components for a Web application.
PIXEL
FORMAT
CONVERSION
HSV
DATABASE CONVERSION
BLURRING THRESHODING
PRODUCT IMAGES
TRACKER
IMAGES MAPPING Image/frames
CONVERTED substraction,blob
FRAME detection,calculation of
gesture,translation,scali
ng matrices
RENDER GRAPHICS
A use case diagram is a dynamic or behaviour diagram in UML. Use case diagrams
model the functionality of a system using actors and use cases. Use cases are a set
of actions, services, and functions that the system needs to perform. In this context,
a "system" is something being developed or operated, such as a web site. The
"actors" are people or entities operating under defined roles within the system
DFD 0
Upper section: Contains the name of the class. This section is always required,
Whether you are talking about the classifier or an object.
Middle section: Contains the attributes of the class. Use this section to describe
the qualities of the class. This is only required when describing a specific instance
of a class.
Bottom section: Includes class operations (methods). Displayed in list format, each operation
takes up its own line. The operations describe how a class interacts with data.
Entry Criteria
As soon as have requirement we can start testing.
Exit Criteria
When bug rate falls below certain level, we can stop testing.
4. GUI Testing
5. Integration Testing.
TC_01 Verify that the Website will not Website is not open Pass
website will not open.
open with no
internet.
TC_02 Verify that the Cloth will added to Cloth is added to the Pass
cloth is added to the cart. cart.
the cart
TC_03 Verify that the Home page will Home is open properly. Pass
home page is open open properly
properly.
TC_04 Verify that Try & The camera window The camera window is Pass
Checkout button will open open.
is working Automatically.
properly
TC_05 Verify that the Cloth images should Images are shown Pass
images of cloth be shown correctly correctly
are displayed
correctly
TC_06 Verify the After clicking Shop The shop page is open. Pass
working of Show now the shop page
Now button will open.
Fig. 10.1
Fig. 10.2
Fig. 10.3
Fig.10.4
Fig.10.6
New Feature
Fig.10.8
Fig 10.9
About page
Fig 10.10
Fig. 10.11
Fig. 10.12
With the help of this system, the e commerce platform can successfully increase the
sales and also improve customer experience.
It will give customers a better choice of options which are based on their own personal
adjustments, like tailor-made shopping experience
.The system can work for any type of platform which requires an individualistic-
approach to the user experience.
[1] Yashwant Kanduri, Sanugula Durga Prasad, “A modular Approach for Cloth
Modelling in Virtual Fitting Room”, 2016 11th International Conference on Industrial
and Information systems(ICIIS)
[2] Anagaha Ramesh, Ankit Raj Kushal, Brinda D, Vaishnavi S, Purohit
Shrinivasacharya, “3D Virtual Trial Room”, Volume 6/Issue 13, International Journal
of Engineering Research & Technology(IJERT)
[3] Vinaya Kulkarni, Sailee Morde, Bhairavi Pawar, Supriya Mahadik, Rutuja Dahore,
“2D Virtual Trial Room Using Augmented Reality”, Volume 4/ Issue 1, International
Journal on Future Revolution in Computer Science and Communication Engineering.
[4] Shreya Kamani, Neel vasa, Kriti Shrivastava, “Virtual Trial Room Using
Augmented Reality”, Volume 3, Number 6, International Journal of Advanced
Computer Technology (IJACT)
[5] Md. Farhan Hamid, Md. Ashraful Alam, "Virtual wardrobe for physically impaired
using Microsoft Kinect Sensor",2017 IEEE 2nd International Conference on signal and
image processing
[6] [online] https://en.wikipedia.org/wiki/Kinect [7] [online]
https://en.wikipedia.org/wiki/OpenCV [8] Ari Kusumaningsih; Arik Kurniawati;
Cucun Very Angkoso, Eko Mulyanto Yuniarno; Mochammad