INTERACTIVE SKETCH DESIGN RECOGNITION SYSTEM
USING EVOLUTIONARY TECHNIQUES
P. Y. Mok*, X. X. Wang, J. T. Fan, Y. L. Kwok and John H. Xin
Institute of Textiles and Clothing, The Hong Kong Polytechnic University, Hunghom, Hong Kong
Keywords: Sketch design recognition, Interactive genetic algorithms.
Abstract: In this study, a methodology that hybridizes a sketch design recognition approach with an interactive
genetic algorithm is proposed to help laypersons get clothes reflecting their preference. The sketch design
recognition approach consists of a composite description model, a sketch recognition method and a database.
First, a composite description model based on the knowledge of fashion design is developed to describe the
characteristics of a skirt. Second, a sketch recognition method is used to help laypersons get satisfied clothes.
Third, a database contains general elements about skirts. Moreover, an interactive genetic algorithm (IGA)
is used to accelerate the sketch recognition process. The subjective experiments results demonstrate that the
proposed method outperforms the existing fashion design systems.
1 INTRODUCTION
Holland (1975) first proposed genetic algorithms
(GA) in 1975 as computer programs that mimic
Darwinian’s evolutionary processes in nature.
Genetic algorithms (GAs) are stochastic search
algorithms based on the mechanism of natural
selection and natural genetics (Goldberg, 1989).
Since GAs lack the capability to utilize human
intuition and emotion appropriately, it is hard to
implement them in creative applications such as
architecture, art, music, and design. In addition, it is
difficult to evaluate the fitness due to no clear
measure. In order to overcome its drawback, it is
necessary to introduce an approach called interactive
genetic algorithm (IGA) (Takagi, 2001). A review of
research efforts related to IGA was summarized by
Takagi (2001). It provides two advantages over GA:
the first one is that it performs optimization with
human evaluation, and the second one is that it
reflects personal preference. Therefore, IGA is a
good solution in fashion design.
Although IGA has some advantages,
developing a fashion design system based on the
techniques of IGA is a complex task. As a result,
only a few attempts to develop garment style design
system using IGA were reported in the literature. For
instance, Inui (1996) constructed an apparel design
system, in which combined genetic algorithm with
apparel computer aided design system to produce
apparel design that the system users prefer.
Nakanishi (1996) developed a fashion design aid
system using genetic programming, which evolved
each dress design according to the user’s selection.
However, most of its productions were impractical
designs because they did not consider domain-
specific knowledge. To solve this problem, Kim and
Cho (2000) proposed an effective human-oriented
evolutionary system based on the knowledge of
fashion design to encode genotype with OpenGL
design models in order to produce more realistic and
reasonable design. Unlike traditional approaches that
attempt to model the dress design by several spline
curves, Kim and Cho (2000) provided a new
encoding scheme to describe a dress with three
parts: neck and body, sleeve, and skirt. Cho (2002)
also used a new encoding scheme to fashion design
system. Sugahara, Miki and Hiroyasu
(2008)
proposed a yukata design system that adopts IGA to
create a yukata that accommodates user’s taste.
Ogata and Onisawa (2008) designed a cloth design
support system based on IGA considering the factors
including shape, color and material in order to help
laypersons design clothes reflecting their Kansei and
help them get unexpected design candidates by only
evaluating candidates.
In this study, we develop a new sketch design
recognition system which consists of a sketch
recognition approach and an interactive evolutionary
67
Y. Mok P., X. Wang X., T. Fan J., L. Kwok Y. and H. Xin J..
INTERACTIVE SKETCH DESIGN RECOGNITION SYSTEM USING EVOLUTIONARY TECHNIQUES.
DOI: 10.5220/0003452900670072
In Proceedings of the 8th International Conference on Informatics in Control, Automation and Robotics (ICINCO-2011), pages 67-72
ISBN: 978-989-8425-74-4
Copyright
c
2011 SCITEPRESS (Science and Technology Publications, Lda.)
strategy. This system needs to be not only easy for a
layperson to use, but also needs to fast converges to
the target. The remainder of the paper is organized
as follows. Firstly, a brief description of the sketch
design recognition problems is given in section 1,
and a new methodology is outlined in section 2.
Secondly, a sketch recognition approach is presented
in detail in section 3. Thirdly, in section 4, an
interactive evolutionary strategy is used to accelerate
the sketch recognition process. Fourthly, the
effectiveness of the proposed methodology is
illustrated in section 5. Finally, conclusions are
summarized in section 6.
2 METHODOLOGY
In this paper, as shown in Figure 1, a general
methodology which combines a sketch design
recognition approach and an interactive genetic
algorithm is proposed to help laypersons design
clothes reflecting their preference. Furthermore, we
use skirts (Independent clothes covering the lower
half of one’s body, or a part of clothes under
waistline) (Kim and Cho, 2000) as an example to
illustrate the proposed sketch design recognition
system. The sketch design recognition approach
consists of a composite description model, a sketch
recognition method and a database. A composite
description model based on the knowledge of
fashion design is developed to describe the
characteristics of a skirt. A sketch recognition
method is used to help laypersons get satisfied
clothes. A database shown in Table 1 contains
general elements about skirts. Moreover, an
interactive genetic algorithm (IGA) is used to
accelerate the sketch recognition process. The
outline of this sketch design recognition system is as
follows:
1) The system generates the skirt candidates by
combining style elements in the database in
accordance with the composite skirt model and
decoding of the skirt style information, and then
the skirt candidates are generated and displayed
on screen for users by using the sketch
recognition method.
2) A user subjectively evaluates the skirt
candidates and chooses the more favourite ones.
3) The system modifies skirts according to users’
evaluations by using genetic operations of
crossover and mutation, and the modified skirt
candidates are displayed on screen for users
again.
4) The system iteratively implements procedures
(2) and (3) to produce skirt candidates that can
satisfy a user. If a user is satisfied with some
designed skirts, the system can terminate the
design process.
Figure 1: System architecture.
Table 1: Skirts classification.
3 SKETCH RECOGNITION
APPROACH
3.1 Composite Description Model
The composite skirt model based on the knowledge
of fashion design is composed of three portions: the
general factors, style features and detail factors. The
general factors provide information about the outline
silhouette, the ratio of the length and width, the
waist level, the symmetry of a skirt, waist band and
hem. The style features include dart, pleat, panel,
and york. The detail factors contain pocket, gather,
and slit. In general, dart feature can be classified into
three classes: straight dart, curve dart and tuck dart.
ICINCO 2011 - 8th International Conference on Informatics in Control, Automation and Robotics
68
The position of a dart feature on a skirt can be
represented by using the coordinates (d
x1
, d
y1
) and
(d
x2
, d
y2
). There are three panel features: vertical
panel, horizontal panel and sidelong panel. All of
them can be further classified into three sub-classes:
straight, curve and angle. The position of a panel
feature on a skirt can be decided by the coordinates
(pa
x1
, pa
y1
) and (pa
x2
, pa
y2
). For the york feature,
there are three classes: straight, curve and angle,
moreover, the york feature can be placed on a skirt
by using the points y
y1
and y
y2
. For the pleat feature,
there are five classes, and the pleat feature can be
placed on a skirt by using the point p
y
3.2 Elements Database
A database of general elements about skirts is shown
in Table 1. First, at the first level, the outline
silhouette of skirts is categorized into five classes.
Next, at the second level, waist band, hem, four style
features and three detail factors are further classified
into classes, respectively.
3.3 Sketch Recognition
The procedure of the sketch recognition method is
considered as a two-stage process. In the first stage,
general factors are generated. Then in the second
stage, one style element is selected.
Stage 1: Generate General Factors
1) Assume that the origin of the created skirt style
is represented by (ox, oy).
2) Obtain the skirt style information about outline
silhouette of the created skirt style in
accordance with decoding of the skirt style
information,
3) Calculate the enclosing rectangle (i.e., m) of
outline silhouette of the created skirt style,
4) The origin (ox, oy) of the created skirt style
becomes:
ox = m_left+(m_right-m_left)*0.5
oy = m_top
where m_left, m_right, and m_top are the left
coordinate, the right coordinate and the top
coordinate, for the enclosing rectangle of the
created skirt style, respectively.
5) Obtain the length ratio of the skirt style in
accordance with decoding of the skirt style
information,
6) Decide the waist level of the skirt style in
accordance with decoding of the skirt style
information and designers’ experiences , then
oy = oy-Y_waist if above waistline
oy = oy+Y_waist if below waistline
where Y_waist is the distance between the
waistline and the top of the waist band
7) Decide the style type of the waist band feature
in accordance with decoding of the skirt style
information, then place the waist band at the
position (i.e., WB_Y) as below:
WB_Y = oy if no waistband
WB_Y = oy-WB_height if waistband
WB_Y = oy-WB_height if waist-yoke
where WB_height is the height of the waistband
feature.
8) Decide the style type of the hem feature in
accordance with decoding of the skirt style
information, then place the hem at the position
(i.e., H_Y) as below:
H_Y = m_bottom if hemline
H_Y = m_bottom+ hem_width if hemband
H_Y = m_bottom if hemflare
where hem_width is the height of the hem
feature, and m_bottom is the bottom coordinate
for the enclosing rectangle of the created skirt
style.
Stage 2: Select Style Element
1) According to decoding of the skirt style
information, choose only one style element
among style features and detail factors.
2) According to decoding of the skirt style
information, if the dart feature is included in the
created skirt style, then place the dart at the
position (i.e., LDart_X, LDart_Y, RDart_X,
RDart_Y) as follows:
LDart_X = ox-0.5*(d
x2
-d
x1
)
LDart_Y = oy
RDart_X = ox+0.5*(d
x2
-d
x1
)
RDart_Y = oy
3) According to decoding of the skirt style
information, if the pleat feature is included in
the created skirt style, then place the pleat at the
position (i.e., Pleat_Y) as Pleat_Y = oy
4) According to decoding of the skirt style
information, if the panel feature is included in
the created skirt style, then place the panel at the
position (i.e., LPanel_X, LPanel_Y, RPanel_X,
RPanel_Y) as follows:
(a) For vertical panel
LPanel_X =ox-0.5*(pa
x2
-pa
x1
)
LPanel_Y =oy
RPanel_X=ox+0.5*(pa
x2
-pa
x1
)
RPanel_Y =oy
(b) For horizontal panel and sidelong panel
INTERACTIVE SKETCH DESIGN RECOGNITION SYSTEM USING EVOLUTIONARY TECHNIQUES
69
LPanel_X=pa
x1
LPanel_Y=pa
y1
RPanel_X=pa
x2
LPanel_Y=pa
y2
5) According to decoding of the skirt style
information, if the york feature is included in
the created skirt style, then place the yoke at the
position (i.e., Yoke_Y) as Yoke_Y=oy.
6) According to decoding of the skirt style
information, if the gather feature is included in
the created skirt style, then place the gather at
the position (i.e., Gather_Y) as Gather_Y=oy.
7) According to decoding of the skirt style
information, if the pocket feature is included in
the created skirt style, then the pocket position
(i.e., Pocket_X, Pocket_Y) is decided by the
user.
8) According to decoding of the skirt style
information, if the slit feature is included in the
created skirt style, then the slit position (i.e.,
Slit_X, Slit_Y) is decided by the user.
4 INTERACTIVE GENETIC
ALGORITHM
Assuming that the current generation is t and the
current population is represented by X(t). Here, a
small population of 9 individuals in order to ensure a
good compromise between convergence speed and
usability.
Step 1: Set t = 0, generate an initial population of 9
individuals randomly, then present these
individuals to the user.
Step 2: If the user is satisfied with the individuals,
then terminate the search process.
Step 3: Select individuals by the user, and then
perform crossover and mutation
Firstly, if one individual is selected, then
the selected individual will be cloned eight
times. These eight individuals will be
placed into a mating pool where the
mutation operation is performed. Secondly,
if two individuals are selected, then one
individual is randomly selected within the
two selected individuals to generate three
selected individuals, then these three
individuals will be placed into a mating
pool where the genetic operations of
mutation and crossover are performed.
Thirdly, if three individuals from X(t)
which are selected by the user, then these
three selected individuals will be performed
crossover and mutation operations in the
mating pool.
Step 4: Create a new population for the next
generation
All the newly generated individuals are
then collected to form the new population
known as X(t+1), which will replace X(t)
and serve as the population of individuals
for the next generation t+1. Unlike the
elitist strategy (De Jong, 1975) of genetic
algorithms, in which the single best
individual with the highest fitness value in
parent population is reserved and is copied
directly into the new population; in this
study, all the individuals in each generation
are reserved.
Step 5: Check the pre-specified stopping condition.
In this case, the pre-specified stopping
condition is satisfied when the user is
satisfied with the created individuals. If it is
satisfied, terminate the search process, and
return to the best solution as the final
solution. Otherwise, increase t by 1 and go
to Step 3.
4.1 Structure of the Individuals
Although there are many different representations to
implement interactive genetic algorithm, the most
natural representation for the skirts design problem
is the value encoding representation. (Chen and Hou,
2006) In this study, the information contained in an
individual is used to construct a feasible solution
which corresponds to a unique skirt. In this research,
each chromosome as shown in Figure 2 consists of
three portions: a set of bits in the first portion of the
string that is a set of real numbers to indicate the
general factors of skirts. A set of bits in the second
portion of the string comprises four substrings: dart
substring, pleat substring, panel substring, and yoke
substring, which is a set of real numbers to represent
the style features such as dart, pleat, panel, and yoke.
And a set of bits in the third portion of the string that
is a set of integer numbers contains the information
about pocket, gather, and slit.
Figure 2: Chromosome encoding.
4.2 Crossover Operation
In this study, for the first portion of the chromosome,
ICINCO 2011 - 8th International Conference on Informatics in Control, Automation and Robotics
70
no crossover operator is employed before the “S” bit
(i.e., symmetry of a skirt). For the bits of the
chromosome after the “S” bit, one-point crossover
operator is applied to recombine the individuals. The
procedure of the crossover operator is presented
below:
Step 1. Select two parents randomly from the
mating pool.
Step 2. Select a crossing-site along the parent
individuals. This crossing-site is used as a
cutting point to swap the bits among the
strings. There are no crossing-sites within
each substring.
Step 3. Generate the offspring individuals by
cutting the parent individuals at the
crossing-site and swapping the bits after
the cut.
4.3 Mutation Operation
When the crossover process is completed, the
mutation operator will be used to guarantee
population diversity. The mutation rate should not
be very high; otherwise, the individual will be
disrupted, and the genetic search bears no difference
from a random search. In this research, for the bits
before the “S” bit (i.e., symmetry of a skirt) in the
first portion of the chromosome, the mutation
operation is not performed; for the remaining
portions of the chromosome, three kinds of mutation
operators are employed.
Firstly, for the four bits such as d
m
, p
m
, pa
m
, y
m
in the second portion of the chromosome, traditional
gene-alter mutation operator (Goldberg, 1989) is
used. For instance, if an offspring individual is
encoded by using the value encoding representation,
(0 1 1 0), then four random numbers ranging from
0.00 to 1.00 are drawn: (0.653, 0.231, 0.007, 0.014).
If the mutation rate is 0.01, one random number in
the above array has its value smaller than the
mutation rate. This number will trigger the mutation
operation to take place in the third bit of the string.
The mutation operator will cause the bits to change
from 1 to 0 or from 0 to 1 whenever the mutation
operations are triggered. The resulting individual
will become (0 1 0 0).
Secondly, for the four bits (i.e., d
sc
, p
sc
, pa
sc
, y
sc
)
in the second portion of the chromosome to
represent the subclass marks of the features for the
created style, the following mutation operation is
adopted. If the feature mark (i.e., d
m
, p
m
, pa
m
, y
m
) of
the created style is equal to one and the mutation
operation is implemented, then generate a random
integer ω within a range of [1, l] (l is dependent on
the created style features) to determine the subclass
mark of the feature for the created skirt style;
otherwise, ω=0
Thirdly, for the five bits such as WB and H in
the first portion of the chromosome, P, G, SL in the
third portion of the chromosome, the following
mutation operation is adopted. If the mutation
operation is implemented, then generate a random
integer θ within a range of [0, w] (w is dependent on
the created style features) to determine the feature of
the created skirt style; otherwise, θ=0
Finally, for the remaining bits in the second
portion of the chromosome, let T denote a random
integer number within a range of [-1, 1], and
τ
denote a uniform random number in the range [0, 1].
D
k
denotes the value to be mutated, and the notation
D
k
denotes the value after mutation, which is given
as follows:
D
k
= D
k
+(D
kmax
- D
k
)(1-τ
c
) if T=1,
D
k
= D
k
-(D
k
- D
kmin
)(1-τ
c
) if T=-1,
where D
kmax
and D
kmin
are the maximum and
minimum values of D
k
, respectively, and c is a
constant.
5 SUBJECTIVE EXPERIMENTAL
RESULTS
In this section, subjective experiments are performed
to verify whether the proposed methodology can
help laypersons design clothes reflecting laypersons’
preference or not. In this study, ten subjects are
requested to find good-looking design by using this
system, In all the experiments, the genetic
parameters adopted for the interactive genetic
algorithm after testing are Population size = 9,
Crossover rate = 0.7, Mutation rate = 0.01,
Maximum number of generations = 10. At each run,
subjects are asked to design skirts and evaluate the
skirts with 5-point scale (i.e., -2 to +2). Figure 3
presents some examples of generated skirts after ten
generations. It reveals that various skirts are
obtained after ten generations even if the same initial
individuals at the beginning. In addition, in Figure 4,
the average of satisfaction degrees among subjects is
plotted against the generation number. It indicates
that the satisfaction degree becomes high as
generation progress. As the previous presentation, it
can be noted that the proposed methodology is
useful for non-professional users without knowledge
on clothes design to design and obtain skirts
reflecting their preference.
INTERACTIVE SKETCH DESIGN RECOGNITION SYSTEM USING EVOLUTIONARY TECHNIQUES
71
Figure 3: Some examples of skirts.
Figure 4: Average of satisfaction degrees.
6 CONCLUSIONS
In this study, a sketch recognition approach and an
interactive evolutionary strategy has been proposed
to establish an effective methodology for laypersons
to design clothes reflecting their preference. This
system possesses several advantages over the
existing fashion design systems. Firstly, a composite
description model based on the knowledge of
fashion design is developed to create various skirts
and to overcome the impractical designs. Secondly,
with interactive genetic algorithm, it can reflect
personal preference in fashion design directly rather
than setting a standard of “goodness of design”.
Finally, a two-stage sketch recognition method is
developed to help laypersons achieve satisfied
clothes without compromising the computational
effort and expense. The subjective experiments
results have shown that the proposed methodology
has provided an effective means to help laypersons
get satisfied clothes according to the laypersons’
preference.
ACKNOWLEDGEMENTS
The work described in this paper was partially
supported by a grant from the Research Grants
Council of the Hong Kong Special Administrative
Region, China (Project No. PolyU5254/08E). The
project was also financially supported by another
project (4-ZZ60) of The HK Polytechnic University.
REFERENCES
Cho, S. B., 2002. Towards creative evolutionary systems
with interactive genetic algorithm, Applied
Intelligence, 16, 129– 138.
Chen H., Xu Z. J., Liu Z. Q., Zhou S. C., 2006. Composite
Templates for Cloth Modeling and Sketching,
Proceedings of IEEE Conference on Computer Vision
and pattern Recognition, 1, 943-950.
Chen J. S. Hou J. L., 2006. A Combination Genetic
Algorithm with Applications on Portfolio
Optimization, Advances in Applied Artificial
Intelligence, Springer-Verlag Berlin Heidelberg,
197–206,
De Jong K. A, 1975. An analysis of the behavior of a class
of genetic adaptive systems, PhD dissertation, Univ.
Michigan, Ann Arbor, MI.
Goldberg, D. E., 1989. Genetic algorithms in search,
optimization and machine learning, Reading MA:
Addison Wesley.
Holland, J. H., 1975. Adaptation in natural and artificial
systems, Ann Arbor: University of Michigan Press.
Kim H. S., Cho S. B., 2000. Application of interactive
genetic algorithm to fashion design, Engineering
Applications of Artificial Intelligence 13(6), 635-644.
Sugahara M., Miki M., Hiroyasu T., 2008. Design of
Japanese Kimono using Interactive Genetic
Algorithm, 2008 IEEE International Conference on
Systems, Man, and Cybernetics, 174 – 178.
Takagi H., 2001. Interactive evolutionary computation:
Fusion of the capabilities of EC optimization and
human evaluation. Proceedings of the IEEE, 89(9),
1275-1296.
Nakanishi Y., 1996. Capturing preference into a function
using interactions with a manual evolutionary design
aid system, Genetic Programming, Late-Breaking
Papers, 133–138.
Ogata Y., Onisawa T., 2008. Interactive clothes design
support system, Neural Information Processing: 14th
International Conference, ICONIP 2007, Part II, 657-
665.
3
2
1
0
1
2
3
012345678910
ICINCO 2011 - 8th International Conference on Informatics in Control, Automation and Robotics
72