A 3-Dimension room design system with interactive genetic algorithm

  • Số trang: 45 |
  • Loại file: PDF |
  • Lượt xem: 13 |
  • Lượt tải: 0
nhattuvisu

Đã đăng 26946 tài liệu

Mô tả:

A 3-Dimension Room Design System With Interactive Genetic Algorithm Ha Thi Kim Dung Faculty of Information Technology University of Engineering and Technology Vietnam National University, Hanoi Supervised by Assoc. Prof. Bui The Duy A thesis submitted in fulfillment of the requirements for the degree of Master of Computer Science June 2010 Acknowledgements This dissertation could not have been completed without support and encouragement from many people. My greatest gratitude is extended to: • My advisor, Bui The Duy, the best mentor I could have. My thesis would have been much harder without the wise guidance he gave. All I learned from him will be a great experience in my future career. • My college's teachers were devoted to give vast amount of knowledge. • My colleagues were enabling me to complete course. • Our classmates, the best friends I could have. 1 Originality Statement I hereby declare that this submission is my own work and to the best of my knowledge it contains no materials previously published or written by another person, or substantial proportions of material which have been accepted for the award of any other degree or diploma at University of Engineering and Technology or any other educational institution, except where due acknowledgement is made in the thesis. Any contribution made to the research by others, with whom i have worked at UET or elsewhere, is explicitly acknowledged in the thesis. I also declare that the intellectual content of this thesis is the product of my own work, except to the extent that assistance from others in the project's design and conception or in style, presentation and linguistic expression is acknowledged. Signed................................................................................................... 2 Table of Content Acknowledgements ....................................................................................................... 1 Originality Statement ................................................................................................... 2 Table of Content............................................................................................................ 3 List of Figures................................................................................................................ 4 List of Abbreviations .................................................................................................... 5 Abstract .......................................................................................................................... 6 Introduction ................................................................................................................... 7 Chapter 1: Related work .............................................................................................. 8 1. Genetic Algorithm versus Interactive Genetic Algorithm .................................................. 8 2. IGA-based design system ................................................................................................. 12 Chapter 2: Construction of a 3D Room Design System with Interactive Genetic Algorithm ..................................................................................................................... 21 1. Overview ........................................................................................................................... 21 2. Encoding and decoding a room design ............................................................................. 24 3. About roomfitness function, selection, crossover and mutation in the IGA ..................... 34 3. Experiments and results .................................................................................................... 37 Conclusion ................................................................................................................... 39 Reference ..................................................................................................................... 43 3 List of Figures • Figure 1.1: Crossover and Mutation • Figure 1.2: IGA processing • Figure 1.1: a female's dress design • Figure 1.4: An example of encoding arm-and-sleeve styles • Figure 1.5 : Chromosome encoding • Figure 1.6: Decoding from example genotype • Figure 1.7: User interface of the system • Figure 1.8: Chromosomes and the corresponding designs. (a) and (b) are two parents and show a crossover point, and (c) is the offspring generated by applying crossover to (a) and (b). • Figure 1.9: A chromosome of a Kimono • Figure 1.10: Example of crossover • Figure 1.11: User interface for selection of the first individuals • Figure 1.12: User interface after action of the button • Figure 1.13: Example of Yukata by using improved system • Figure 2.1: System overview • Figure 2.2: An example of choosing some colors in color set to • Initial color sets representing materials products made from • Figure 2.3: A 3D preview of a home • Figure 2.4 a: Using 2 bits to encode beds • Figure 2.4 b: Using 2 bits to encode chairs and another 2 bits to encode tables • Figure 2.4 c: Using 1 bits to encode wardrobes and another 2 bits to encode dressers. • Figure 2.4 d: Using 2 bits to encode windows • Figure 2.4 e: Using 3 bits to encode doors 4 • Figure 2.5: Genes of wooden color, iron color, leather color • Figure 2.6: Another colors • Figure 2.7: A chromosome • Figure 2.8: A visualization of a home • Figure 2.9: a pair of parents generate offspring • Figure 2.10: Run 1- Most of users rated in a muddle with only one user chose a desirable design. • Figure 2.11: Run 2 - at the ninth generation, users chose the best one • With highest fitness values are 7 and 8 • Figure 2.12: Run 3 - users chose the favorite designs from the seventh or the tenth generation. • Figure 2.13 a: 4 initial designs were rated with lowest values • Figure 2.13 b: new designs generated when evolution happened • Figure 2.13 c: After several steps, the evolution stopped because of 3 designs looked alike. List of Abbreviations • GA: Genetic Algorithm • IGA: Interactive Genetic Algorithm • CAD: Computer-Aided Design. 5 Abstract The thesis "A 3-Dimension Room Design System with Interactive Genetic Algorithm" will introduce an application of Interactive Genetic Algorithms (IGAs) to the problem of 3D room design. The major goal of the proposal is to help a user obtain a desirable 3D room design in an easy and fast way. Therefore, time cost of designing is reduced. The user only has to rate each presented design then the system will calculate and generate new designs based on the user's selections. More over, generating designs based on the choices of the user is one of potential ways to meet customer's taste, which always changes. 6 Introduction In the past, the concept of self-home design was not popular. Only masons, architects and a small part of people cared about it. The period from drawing a design to choosing home furniture to complete a home was very long. Nowadays, with the development of computer-aided design systems, time effort for designing and decorating is reduced. CAD products help a user not only express 2D design drawings but also visualize them with 3D perspective views. There are a lot of 3D modeling applications e.g. Maya, 3D Studio Max, Sketchup, InteriCAD, 3D studio VIZ, 3D Home Architecture, etc. However, they are all specialized applications intended for professional designers. It is too difficult for beginners to be able to use them. Hence, time cost to complete a favorite home is often very high. Even with architects, they also take long time to design. They must create or choose a model of furniture, cover it with a color or a texture, combine to another one and then decide what kind of the scheming and perspective is acceptable. In the thesis, we propose a new approach that integrates an Interactive Genetic Algorithm (IGA) to a 3D room design to reduce time cost of designing. With this approach, the system repeatedly present several designs based on user's preference. The preference is expressed through their rates of designs. The system will calculate and generate new designs from current rated designs. It will reduce designing time because it creates automatically the scheme between models of furniture. Interactive Genetic Algorithm is similar to genetic algorithm except user fitness function. The user fitness function gets user's choices to be an input then results fitness values. The higher values are used to auto-generate new room designs until user accepts. Actually, IGA is a searching problem that helps users find out desirable designs without trying all cases in search space. Moreover, basing on user's choices is one of potential ways to meet user's taste, which always changes. The thesis is organized as follows: Chapter 1 presents related work. In this chapter, we will introduce some information about GA, IGA and some IGA-based design systems. In chapter 2, we recommend about the new approach of applying Interactive Genetic Algorithm in 3D Room Design System. We also present some information about experiments and results. 7 Chapter 1: Related work 1. Genetic Algorithm versus Interactive Genetic Algorithm Genetic Algorithm (GA) was proposed by John Holland in early 1970s. It based on Darwin's theory about evolution. It applies some of natural evolution steps like crossover, mutation, and replace. Algorithm started with a set of solutions (represented by chromosomes) called population. Solutions from one population are taken and used to form a new population (called offspring). The evolution makes the thinking that the new population will be better than the old one. Solutions, which form new solutions, are selected according to their fitness values. Which solutions have higher fitness values; they will have more chances to reproduce. These works are repeated until some conditions (for example number of populations or improvement of the best solution) are satisfied. The algorithm is applied to many problems of optimization and classification, etc. The GA algorithm is following [2]: 1 2 3 4 5 6 [Start] Generate random population of n chromosomes (suitable solutions for the problem) [Fitness] Evaluate the fitness f(x) of each chromosome x in the population. [New population] Create a new population by repeating following steps until the new population is complete a. [Selection] Select two parent chromosomes from a population according to their fitness (the better fitness, the bigger chance to be selected). b. [Crossover] With a crossover probability cross over the parents to form a new offspring (children). If no crossover was performed, offspring is an exact copy of parents. c. [Mutation] With a mutation probability, mutate new offspring at each locus (position in chromosome). d. [Accepting] Place new offspring in a new population [Replace] Use new generated population for a further run of algorithm. [Test] If the end condition is satisfied, stop, and return the best solution in current population. [Loop] Go to step 2. 8 Figure 1.1: Crossover and Mutation [1] Chromosomes chosen are usually better than other ones in hoping that better parents can generate better offspring. Nevertheless, it is possible to lost best chromosomes from last population. Therefore, elitism phenomenon is applied that best solutions will be copied from last population to new one. The common way used to encode each chromosome is a binary string encoding. Here is an example of chromosome encoding: Chromosome 1 1011010001001 Chromosome 2 1010101010101 Each bit or a bit group represents a characteristic of the solution. They call genes. To generate a new population, chromosomes need to exchange some bits with each other. This step called Crossover operator. The simplest way to do this is to choose randomly some crossover point for all parents, then swap the front part of Chromosome 1 to the front one of Chromosome 1. Here is an example of crossover: 9 Chromosome 1 1011|010001001 Chromosome 2 1010|101010101 Offspring 1 1010010001001 Offspring 2 1011101010101 Like crossover of genes in real world, offspring inherit characteristics from parents. Mutation operation reverses some bits in the binary string at very low rate. After a crossover is performed, mutation step takes place. This is to prevent falling all solutions in population into a local optimum of solved problem [2]. Mutation changes at random positions in chromosomes of the new generation. For binary encoding, we can switch a few randomly chosen bits from 1 to 0 or from 0 to 1. Mutation can then be following: Original 1 1010010001001 Original 2 1011101010101 Mutated 1 1011010001001 Mutated 2 1011101110101 Selection operator selects solutions from population based on fitness values of individuals. A fitness function prescribes the optimality of a solution so that a particular chromosome is ranked against all the other chromosomes. Optimal chromosomes, or at least chromosomes which are more optimal, are allowed to breed and mix their datasets by any of several techniques, producing a new generation that will be even better. An ideal fitness function correlates closely with the algorithm's goal, and yet may be computed quickly. Speed of execution is very important, as a typical genetic algorithm must be iterated many, many times in order to produce a usable result for a non-trivial problem. This is one of the main drawbacks of GAs in real world applications and limits their applicability in some industries. 10 Definition of the fitness function is not straightforward in many cases and often is performed iteratively if the fittest solutions produced by GA are not what is desired. In some cases, it is very hard or impossible to come up even with a guess of what fitness function definition might be. Interactive genetic algorithms address this difficulty by outsourcing evaluation to external agents (normally humans). Interactive Genetic Algorithm, one type of Interactive Evolutionary Computation (IEC) or Aesthetic Selection problems is a general term for methods of evolutionary computation that use human evaluation. Usually human evaluation is necessary when the form of fitness function is unknown (for example, visual appeal or attractiveness; as in Dawkins, 1986) or the result of optimization should fit a particular user preference (for example, taste of coffee or color set of the user interface) [13]. Interactive Genetic Algorithm is the same as GA except fitness function. In IGA user gives fitness to each individual instead of fitness function. Therefore, the system can meet user's expectation or what a customer's preference in the course of evolution. Actually, the Selection step in the algorithm applied in home decorating can be understood that "What kind of decoration is better?" and "better", "good", "bad" definitely depend on human's sense. IGA may be one of the solutions for this problem. Figure 1.2 is the visualization of IGA. 11 Figure 1.2: IGA processing Next, we will present some available design systems integrated IGA to improve the capability of user-oriented design. 1. IGA-based design system When researching about using IGA in 3D design, there have two outstanding proposals we explored. Hee-Su Kim and Sung-Bae Cho proposed one [1]. They created a 3D design IGA-based system for fashion design. In this system, they designed female's dresses. They divided a dress into seven parts: 12 Figure 1.3: a female's dress design There was a database of partial design elements. Each design was stored as 3D models. System selected the models of each part and combined them into a number of individual designs. The population was displayed and user gave fitness values to each design. Then, system reproduced the population according to the fitness value of each design, and applied crossover and mutation to make the next generation. As they mentioned, iteration of these processes could produce the population of higher fitness value, namely better designs. This system works with OpenGL and VRML. They encoded the detail model based on the knowledge of the fashion design. First, they reclassified general detail factors of a dress into some parts then encoded them with some bits for each, which chooses the color of each part. A design was made from combining them. With IGA, some combinations that preferred by user was generated, resulting in more realistic and reasonable design. 13 Figure 1.4: An example of encoding arm-and-sleeve styles 14 Figure 1.5 : Chromosome encoding Figure 1.6: Decoding from example genotype 15 Figure 1.7: User interface of the system 16 Figure 1.8: Chromosomes and the corresponding designs. (a) and (b) are two parents and show a crossover point, and (c) is the offspring generated by applying crossover to (a) and (b) The system was built very completed and potential. The design of this system is quite similar to 3D room design system we want to build. The next one is proposed by Maiko Sugahara, Mitsunori Miki, And Tomoyuki Hiroyasu to design an IGA-based system of Japanese Kimono (Yukata). [15] This system did not dividing and encoding each sample like the system mentioned earlier. They divided a Kimono into three parts: Yukata fabric, obi and pattern. Yukata fabric is a kind of material. Obi is a part of a Kimono and pattern is decorated-sample of a Kimono. Each part was encoded with bit genes representing to three colorelements of HSB. The HSB color system is based on three different ways of varying color as Hue, a particular gradation of color; Saturation, the vividness of hue; Brightness, the percentage of brightness of the color [16]. 17 Figure 1.9: A chromosome of a Kimono Figure 1.10: Example of crossover 18 Figure 1.11: User interface for selection of the first individuals Figure 1.12: User interface after action of the button 19
- Xem thêm -