Wykorzystanie algorytmu genetycznego do generowania twarzy ludzkiej



Podobne dokumenty
Algorytm genetyczny (genetic algorithm)-

Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych

Algorytmy ewolucyjne NAZEWNICTWO

Algorytmy ewolucyjne - algorytmy genetyczne. I. Karcz-Dulęba

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia niestacjonarne

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia stacjonarne i niestacjonarne

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

6. Klasyczny algorytm genetyczny. 1

Algorytmy genetyczne. Paweł Cieśla. 8 stycznia 2009

Algorytmy genetyczne. Dariusz Banasiak. Katedra Informatyki Technicznej Wydział Elektroniki

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Algorytmy genetyczne

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny

ALGORYTMY GENETYCZNE (wykład + ćwiczenia)

ALGORYTMY GENETYCZNE ćwiczenia

Strategie ewolucyjne (ang. evolu4on strategies)

Algorytmy genetyczne

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA OPERATOR KRZYŻOWANIA ETAPY KRZYŻOWANIA

Wstęp do Sztucznej Inteligencji

Dobór parametrów algorytmu ewolucyjnego

Algorytmy ewolucyjne 1

Algorytmy ewolucyjne. Łukasz Przybyłek Studenckie Koło Naukowe BRAINS

LABORATORIUM 4: Algorytmy ewolucyjne cz. 2 wpływ operatorów krzyżowania i mutacji na skuteczność poszukiwań AE

Algorytmy genetyczne w optymalizacji

Generowanie i optymalizacja harmonogramu za pomoca

LABORATORIUM 3: Wpływ operatorów krzyżowania na skuteczność poszukiwań AE

Inspiracje soft computing. Soft computing. Terminy genetyczne i ich odpowiedniki w algorytmach genetycznych. Elementarny algorytm genetyczny

LABORATORIUM 5: Wpływ reprodukcji na skuteczność poszukiwań AE. opracował: dr inż. Witold Beluch

Metody Rozmyte i Algorytmy Ewolucyjne

Algorytmy genetyczne (AG)

Standardowy algorytm genetyczny

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 311

Algorytmy genetyczne

Obliczenia ewolucyjne - plan wykładu

Równoważność algorytmów optymalizacji

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA HISTORIA NA CZYM BAZUJĄ AG

ALGORYTMY GENETYCZNE

KARTA MODUŁU KSZTAŁCENIA

LABORATORIUM 2: Wpływ wielkości populacji i liczby pokoleń na skuteczność poszukiwań AE. opracował: dr inż. Witold Beluch

FOLIA POMERANAE UNIVERSITATIS TECHNOLOGIAE STETINENSIS Folia Pomer. Univ. Technol. Stetin. 2009, Oeconomica 275 (57), 53 58

Automatyczny dobór parametrów algorytmu genetycznego

SZTUCZNA INTELIGENCJA

SZTUCZNA INTELIGENCJA

Aproksymacja funkcji a regresja symboliczna

Programowanie genetyczne, gra SNAKE

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach

Wykorzystanie metod ewolucyjnych w projektowaniu algorytmów kwantowych

Technologia informacyjna

Strategie ewolucyjne. Gnypowicz Damian Staniszczak Łukasz Woźniak Marek

WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego

METODY HEURYSTYCZNE wykład 3

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

Politechnika Wrocławska Wydział Elektroniki INFORMATYKA SYSTEMÓW AUTONOMICZNYCH. Heurystyka, co to jest, potencjalne zastosowania

Algorytmy genetyczne

Algorytmy ewolucyjne. wprowadzenie

Techniki ewolucyjne - algorytm genetyczny i nie tylko

Zadania laboratoryjne i projektowe - wersja β

Ewolucjonizm NEODARWINIZM. Dr Jacek Francikowski Uniwersyteckie Towarzystwo Naukowe Uniwersytet Śląski w Katowicach

Algorytmy ewolucyjne (2)

przetworzonego sygnału

BIOCYBERNETYKA ALGORYTMY GENETYCZNE I METODY EWOLUCYJNE. Adrian Horzyk. Akademia Górniczo-Hutnicza

GENETYKA POPULACJI. Ćwiczenia 1 Biologia I MGR /

Obliczenia Naturalne - Algorytmy genetyczne

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

Gospodarcze zastosowania algorytmów genetycznych

Obrona rozprawy doktorskiej Neuro-genetyczny system komputerowy do prognozowania zmiany indeksu giełdowego

Techniki optymalizacji

Strategie ewolucyjne (ang. evolution strategies)

Algorytmy genetyczne w interpolacji wielomianowej

DOBÓR ŚRODKÓW TRANSPORTOWYCH DLA GOSPODARSTWA PRZY POMOCY PROGRAMU AGREGAT - 2

Optymalizacja optymalizacji

METODY SZTUCZNEJ INTELIGENCJI algorytmy ewolucyjne

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Metody przeszukiwania

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

Algorytmy ewolucyjne `

Algorytm indukcji klasyfikatora za pomocą EA z automatycznym przełączaniem ukierunkowań

ALGORYTMY GENETYCZNE I EWOLUCYJNE

P r a w d o p o d o b i eństwo Lekcja 1 Temat: Lekcja organizacyjna. Program. Kontrakt.

METODY HEURYSTYCZNE wykład 3

IMPLIKACJE ZASTOSOWANIA KODOWANIA OPARTEGO NA LICZBACH CAŁKOWITYCH W ALGORYTMIE GENETYCZNYM

Bliskie Spotkanie z Biologią. Genetyka populacji

PRZEWODNIK PO PRZEDMIOCIE

Algorytmy ewolucyjne

Podejście memetyczne do problemu DCVRP - wstępne wyniki. Adam Żychowski

PROJEKT CZĘŚCIOWO FINANSOWANY PRZEZ UNIĘ EUROPEJSKĄ. Opis działania raportów w ClearQuest

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

1 Podstawowe pojęcia z zakresu genetyki. 2 Podstawowy model dziedziczenia

Problemy z ograniczeniami

ALHE Z11 Jarosław Arabas wykład 11

METODY STATYSTYCZNE W BIOLOGII

Wykład 4. Plan: 1. Aproksymacja rozkładu dwumianowego rozkładem normalnym. 2. Rozkłady próbkowe. 3. Centralne twierdzenie graniczne

ZARZĄDZANIE POPULACJAMI ZWIERZĄT

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne

Optymalizacja. Wybrane algorytmy

ZASTOSOWANIE ALGORYTMU GENETYCZNEGO DO WYZNACZANIA OPTYMALNYCH DECYZJI STERUJĄCYCH

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9,

Programowanie genetyczne - gra SNAKE

Transkrypt:

Wykorzystanie algorytmu genetycznego do generowania twarzy ludzkiej Oleksandr Klosov* Kamil Jasiński** Streszczenie. Algorytmy genetyczne są przedmiotem aktywnych dyskusji w płaszczyźnie naukowej oraz praktycznej od ponad 30 lat. Podejmuje się wiele prób zaadaptowania algorytmu genetycznego do kolejnego problemu optymalizacji. W danej pracy takim problemem jest dobranie takiej twarzy ludzkiej, która odpowiadałaby kryteriom estetycznym większości internautów w danej branŝy. Docelowym miejscem wykorzystania wyników pracy byłby serwis internetowy wykorzystujący własnego asystenta wirtualnego. 1. Wstęp Algorytmy genetyczne (AG) są metodą poszukiwania rozwiązań, która formalnie sprowadza się do optymalizacji funkcji [2],[4]. NaleŜą one do szerszego grona metod wykorzystujących zasadę ewolucji nazywanych algorytmami ewolucyjnymi (AE). Algorytmy genetyczne mają wiele zastosowań. W danej pracy rozpatruje się moŝliwość wykorzystania AG w dziedzinie generowania twarzy ludzkiej. Wielu psychologów prowadzi badania nad postrzeganiem ludzkich twarzy. Starają się oni odpowiedzieć na pytania dotyczące tego, co decyduje, Ŝe uznajemy kogoś za atrakcyjnego, młodego, starego; jakie cechy sprawiają, Ŝe dana osoba jest charakterystyczna i łatwo rozpoznawalna, a inna nie; jakie rysy twarzy postrzegane są jako bardziej męskie albo kobiece. W tych badaniach wykorzystywane są róŝne techniki komputerowe. WaŜne znaczenie mają systemy generujące twarz człowieka [3],[5]. Generowanie twarzy moŝe przydać się nie tylko naukowcom, ale takŝe słuŝyć w bardziej powszechnych zastosowaniach. MoŜna tworzyć twarze dla celów rozrywkowych, np. twarze bohaterów gier komputerowych, które będą się podobały przyszłym graczom. Innym zastosowaniem jest generowanie twarzy internetowych chatbotów lub wspomaganie tworzenie portretów pamięciowych sprawców przestępstw. Interesująca byłaby równieŝ moŝliwość stworzenia własnego wizerunku wirtualnego asystenta firmy. I to jest kolejne miejsce gdzie moŝna wykorzystać technologię generowania obrazu przy uŝyciu algorytmu genetycznego. UŜytkownicy mogliby brać udział w róŝnych wersjach tworzenia wizerunku asystenta [6]: Generowanie własnego obrazka kaŝdy uŝytkownik ocenia swój zestaw obrazów i tworzy swojego prywatnego asystenta. Generowanie wspólnego obrazka wszyscy uŝytkownicy oceniają te same obrazy i powstaje asystent, który podoba się większości uŝytkowników. W dalszej części pracy opisano historię oraz zasady działania prostego algorytmu genetycznego, oraz zaprezentowano analizę moŝliwości wykorzystania algorytmu genetycznego do generowania twarzy ludzkiej. * dr Oleksandr Klosov, PWSZ im. Witelona w Legnicy, wykładowca, opiekun Koła Naukowego ** Kamil Jasiński, student kierunku Informatyka, PWSZ im.witelona w Legnicy, członek Koła Naukowego

2. Algorytm ewolucyjny jako narzędzie optymalizacyjne Algorytm ewolucyjny, jak podaje [1], przetwarza populację osobników, które są przykładowymi rozwiązaniami problemu. Działa on w środowisku (rys.1), które moŝna zdefiniować na podstawie problemu rozwiązywanego przez algorytm. Jakość rozwiązania jest przystosowaniem osobnika. Środowisko jest opisane przez funkcję przystosowania. Operacje genetyczne to krzyŝowanie i mutacja. NaleŜy zwrócić uwagę na to, Ŝe komputerowe implementacje algorytmów ewolucyjnych nie są dokładnym odwzorowaniem znanych nam mechanizmów ewolucji biologicznej, które są zbyt złoŝone, aby implementować je przy uŝyciu obecnego oprogramowania i sprzętu. Nie taki zresztą jest cel AE. AE wykorzystują jedynie ogólne zasady ewolucji naturalnej w celu wytworzenia fenotypu odpowiedniego dla specyficznego problemu. Karol Darwin w swoim dziele O powstaniu gatunków drogą doboru naturalnego, czyli o utrzymywaniu się doskonalszych ras w walce o byt (1859) ogłosił cztery zasadnicze cechy procesu ewolucji: 1. Reprodukcja niektórych osobników w populacji. 2. Stopień róŝnorodności, który wpływa na prawdopodobieństwo przetrwania. 3. Dziedziczenie cech podobne osobniki powstają z podobnych rodziców. 4. Skończone zasoby, co prowadzi do współzawodnictwa i selekcji najlepszych osobników. Rysunek 1 Schemat algorytmu ewolucyjnego. Źródło:[1]. Podstawową jednostką operacji ewolucyjnych jest gen. Biologiczna definicja tego pojęcia nie jest jednak precyzyjna. Według niej gen to jednostka dziedziczenia informacji, która zajmuje stałe połoŝenie (locus) w chromosomie. Geny wpływają na kierunek syntezy protein. W algorytmie genetycznym gen najczęściej reprezentuje jedna zakodowaną cechę lub parametr systemu. Pełny opis organizmu w języku genetyki określany jest jako genotyp lub genom. KaŜdy rodzic przekazuje swojemu potomkowi w procesie reprodukcji połowę genotypu. Na genomie wykonywane są operacje mutacji i rekombinacji. KaŜdemu genotypowi odpowiada zbiór obserwowalnych cech lub własności osobnika, który określa się mianem fenotypu. Proces selekcji naturalnej jest wyborem preferowanych fenotypów, który prowadzi do adaptacji do środowiska.

Historia algorytmów ewolucyjnych Historia algorytmów ewolucyjnych lub obliczeń ewolucyjnych (ang. evolutionary computation) jest tak stara jak samo programowanie. Początki rozwoju systemów ewolucyjnych to lata 50. i 60. XX wieku. Wielu naukowców, niezaleŝnie od siebie zaczęło interesować się ideą ewolucji i jej moŝliwym zastosowaniem w rozwiązywaniu problemów optymalizacji. Pomysł polegał na wyewoluowaniu populacji moŝliwie najlepszych rozwiązań za pomocą metod podpatrzonych w przyrodzie, a opisywanych przez genetyków. Metody te opierają się na doborze naturalnym i dziedziczności. Jedną z pierwszych prac w tej dziedzinie była praca Friedberga (1958), który przedstawił ideę algorytmu ewolucyjnego w podejściu do automatycznego programowania. W 1975 roku Holland wydał ksiąŝkę Adaptation i Natural and Artificial Systems, w której zaprezentował algorytmy genetyczne jako model ewolucji biologicznej i opisał teoretyczne podstawy przystosowania w AG. Algorytm Hollanda to metoda tworzenia nowej populacji chromosomów na podstawie starej populacji, wykorzystująca selekcję naturalną wraz z krzyŝowaniem i mutacją. KaŜdy chromosom (osobnik) składa się z genów, które występują w róŝnych wersjach (allele). Operator selekcji wybiera z populacji osobniki, przeznaczone do reprodukcji. Osobniki lepiej przystosowane, będą miały więcej potomstwa niŝ te gorzej zaadaptowane do środowiska. KrzyŜowanie wymienia fragmenty dwóch chromosomów, co z grubsza naśladuje rekombinację dwóch haploidalnych organizmów. Mutacja losowo zmienia allele w niektórych miejscach chromosomu. Holland przypisywał osobnikom przystosowanie w postaci liczb i zauwaŝył, Ŝe w wyniku działania powyŝszych mechanizmów, średnia wartość przystosowania ma tendencje wzrostowe. 3. Prosty algorytm genetyczny Podstawowa wersja AG zaproponowana przez Hollanda nazywana jest obecnie prostym bądź elementarnym algorytmem genetycznym (SGA ang. Simple Genetic Algorithm). Schemat jego działania nie jest skomplikowany. Algorytm operuje na populacji osobników, oznaczmy ją P t, która reprezentuje pewien zbiór rozwiązań. Ilość osobników jest stała. Działanie algorytmu rozpoczyna się od wypełnienia populacji losowo wytworzonymi osobnikami. Dla kaŝdego osobnika obliczana jest wartość funkcji przystosowania. W celu utworzenia nowej, lepszej populacji O t wykonywane są trzy operacje genetyczne: reprodukcja, krzyŝowanie, mutacja. Po zakończeniu tych operacji stara populacja P t zastąpiona jest nową O t. Operacje te są powtarzane, aŝ do spełnienia warunku zatrzymania. O tym, jakie mogą być te warunki będzie nieco później. Na razie przyjrzyjmy się dokładniej poszczególnym etapom działania SGA. procedure SGA begin t := 0 inicjacja P 0 ocena P 0 while (not warunek stopu) do begin T t := reprodukcja P t O t := krzyŝowanie i mutacja T t ocena O t P t+1 := O t t := t+1 end end

Rysunek 2 Schemat działania algorytmu genetycznego. Dane, na jakich operuje algorytm, czyli populacja osobników, zakodowane są binarnie. KaŜdy osobnik składa się z jednego chromosomu n-elementowego ciągu kodowego o stałej długości jak to pokazuje rysunek 3. KaŜdy znak odpowiada genowi i moŝe przyjmować dwie wartości (dwa allele): 0 albo 1. KaŜdy binarny ciąg kodowy reprezentuje argument funkcji celu, która określa przystosowanie danego osobnika do środowiska (stąd teŝ bardziej biologicznym określeniem na funkcję celu jest funkcja przystosowania). Funkcja celu stanowi miernik zysku, uŝyteczności lub innej wielkości, którą chcielibyśmy zmaksymalizować. Rysunek 3 Chromosom - binarny ciąg kodowy.

Selekcja Na etapie reprodukcji zostają powielone indywidualne ciągi kodowe w stosunku proporcjonalnym do wartości funkcji przystosowania. Odpowiada to darwinowskiej zasadzie doboru naturalnego, zgodnie, z którą przeŝywają lepiej przystosowani. Schemat reprodukcji zaproponowany przez J. Hollanda nazwany jest reprodukcją proporcjonalną lub ruletkową. Dla elementów populacji P t określa się zmienną losową o rozkładzie danym wzorem: p ( X ) = r Φ t Y P ( X ) Φ( X ) (1) gdzie X oznacza osobnika, Φ(X) wartość funkcji przystosowania. Następnie wielokrotnie próbkuje się tą zmienną losową, powielając za kaŝdym razem wylosowanego osobnika. Skutkuje to tym, Ŝe ciągi o wyŝszym przystosowaniu mają większe prawdopodobieństwo wprowadzenia jednego lub więcej potomków do następnego pokolenia. Obrazowy opis realizacji reprodukcji proporcjonalnej pokazuje rysunek 4 [6]. Tarcza ruletki zostaje wykalibrowana proporcjonalnie do procentowego udziału przystosowania danego osobnika w sumarycznym przystosowaniu całej populacji. PosłuŜmy się przykładem z tabeli Tabela 1 Tabela 1 Przykładowe wartości funkcji przystosowania osobników i odpowiadające im prawdopodobieństwa reprodukcji. i Przystosowanie Φ(X i ) p r (X i ) % całości 1 12 0,125 12,5 2 36 0,375 37,5 3 48 0,500 50,0 Suma 96 1 100 Zgodnie z tymi danymi kaŝdemu osobnikowi przyporządkowany jest sektor o odpowiednim rozmiarze na rysunku 4. Rysunek 4 Selekcja osobników za pomocą ruletki wykalibrowanej proporcjonalnie do wartości funkcji przystosowania. KaŜdemu osobnikowi odpowiada jeden z sektorów ruletki (sektory 1-3 na rysunku). Reprodukcji dokonuje się poprzez trzykrotne (taki jest rozmiar populacji) zakręcenie ruletką. Wylosowanie sektora danego osobnika powoduje, Ŝe jego dokładna kopia trafia do pośredniej populacji (T t ). Populacja ta stanowi pulę rodzicielską w dalszych operacjach genetycznych.

KrzyŜowanie Po dokonaniu selekcji osobników rodzicielskich wykonywane jest krzyŝowanie proste (rysunek 5). Najpierw osobniki z puli rodzicielskiej losowo kojarzone są w pary. Następnie dla kaŝdej pary wybierany jest losowo, z jednakowym prawdopodobieństwem punkt krzyŝowania k. Punkt krzyŝowania jest identyczny u obu rodziców, poniewaŝ ciągi kodowe mają stałą długość. Zatem jeśli ciąg ma długość n to 1 k < n. KrzyŜowanie polega na zamianie między sobą rozciętych fragmentów chromosomu, tj. wymianie elementów od k+1 do n włącznie. Mutacja Rysunek 5 KrzyŜowanie proste dwóch ciągów kodowych. Kolejnym operatorem genetycznym jest mutacja, która z pewnym określonym prawdopodobieństwem powoduje zmianę wartości genu. W przypadku kodowania binarnego stosowanego w prostym algorytmie genetycznym jest to zamiana wartości bitu na przeciwny (rysunek 6). Według Goldberga [4] mutacja odgrywa drugorzędną rolę, co przekłada się na częstość jej występowania rzędu jeden do tysiąca skopiowanych bitów. Przy czym podkreśla on potrzebę mutacji, aby zapobiegać utracie potencjalnie obiecującego materiału genetycznego wskutek reprodukcji i krzyŝowania. Inną waŝną cechą, jaką posiada mutacja, jak pisze Arabas w [1], jest spełnienie postulatu spójności. Chodzi tu o spójność przestrzeni genotypów uzyskaną dzięki operatorom genetycznym. Elementarny algorytm genetyczny (kodowanie binarne i krzyŝowanie jednopunktowe) bez operatora mutacji nie spełnia postulatu spójności. ZałóŜmy, Ŝe populacja bazowa P t zawiera kopie tego samego osobnika. W tej sytuacji niemoŝliwe jest wygenerowanie innego chromosomu. Gdyby jedyną operacją genetyczną była mutacja, to postulat spójności jest spełniony. Rysunek 6. Mutacja polegająca na zamianie bitów na przeciwny.

4. Wykorzystanie AG do generowania twarzy Przedstawiona w tej pracy idea wykorzystania algorytmu genetycznego do generowania ludzkiej twarzy opiera się na jednym waŝnym załoŝeniu: sprawność osobnika wylicza się na podstawie subiektywnej oceny człowieka. Tak przez ekspertów dokonywana jest ocena populacji osobników, kaŝdy z których reprezentuje twarz. Następnie algorytm genetyczny przetwarza daną populację uwzględniając preferencje ekspertów i na tej podstawie, uŝywając operatorów krzyŝowania oraz mutacji, generuje kolejną populację. W nowej populacji twarze ludzkie będą się róŝniły od poprzednich, lecz, co bardzo waŝne, zachowają podobne cechy. Poprzez nacisk selekcji naturalnej w kolejnych populacjach będą zostawać twarze, które są wysoko oceniane przez większość ekspertów. Celem takich eksperymentów byłoby wygenerowanie twarzy asystenta strony internetowej, którą akceptuje większość internautów. MoŜna zaproponować szereg scenariuszy postępowania w trakcie takiej oceny. PoniŜsze propozycje róŝnią się liczbą ekspertów oraz metodą wskazania preferencji. Scenariusz 1. W jednym kroku oceny ekspert otrzymuje parę obrazków z twarzą i dokonuje jednoznacznego wyboru lepszej w jego opinii twarzy. Taki osobnik dostaje jeden dodatkowy punkt. Populacja wszystkich twarzy dzielona jest w związku z tym na N par. Ekspert ma ocenić wszystkie pary. JeŜeli liczba ekspertów E jest większa niŝ jeden, kaŝdy ekspert dokonuje N ocen, na podstawie których AG dokonuje jeden krok ewolucyjny. W wypadku jednego eksperta proponuje się powtórzyć M razy generowanie N par, zmieniając losowo układ par. W związku z powyŝszym kaŝdy osobnik moŝe otrzymać w wyniku oceny odpowiednio [0..E] lub [0..M] punktów. Scenariusz 2. W jednym kroku oceny ekspert otrzymuje zbiór obrazków z twarzą, sugeruje się liczbę 8, i dokonuje oceny kaŝdego z nich w skali od 0 do max, sugeruje się max=5. JeŜeli populacja jest większa od zestawu twarzy udostępnianych w trakcie jednej oceny, ekspert otrzymuje kilka zestawów do oceny w trakcie jednego kroku ewolucyjnego. Oceny dane przez wszystkich ekspertów są uśredniane i stanowią podstawę do wyliczenia sprawności, lub kondycji osobnika. Rysunek 7. System tworzenia portretów pamięciowych E-FIT.

Przy modelowaniu koncepcji wykorzystania AG do generowania twarzy naleŝy przeanalizować istniejące konwencjonalne metody. MoŜna wymienić dwa podejścia: komponentowe oraz transformacyjne. Pierwsze buduje twarz ze skończonej liczby elementów pogrupowanych na kategorie, takie jak usta, oczy, nos, policzki, brwi itp. (rys.7). Twarz powstaje poprzez dobranie komponentu z kaŝdej kategorii i ustawienie go w odpowiednim miejscu. Drugie podejście oferuje skończoną liczbę operacji modyfikujących pojedyncze parametry twarzy. Do takich parametrów moŝna zaliczyć wymiary oraz lokalizację elementów twarzy, np. szerokość podbródka, kolor oczy. Do parametrów podlegających modyfikacji mogą naleŝeć bardziej wyrafinowane cechy, takie jak emocje, wiek, rasa lub płeć. Przykładem moŝe posłuŝyć program FaceGen Modeller (rys.8,9). Rysunek 8. Wpływ parametru płeć w programie FaceGen Modeller 3.1 Demo. Wykorzystując podejście genetyczne naleŝy liczyć się z niewielką populacją, którą moŝe ocenić jeden ekspert. Tak, raczej nie moŝna pozwolić na jednoczesne udostępnienie jednej osobie ponad stu twarzy w celu wybrania jednej. Za taką optymalną liczbę, uwzględniając róŝne źródła dotyczące percepcji wzrokowej człowieka, naleŝy uwaŝać liczbę w przedziale [2...10]. MoŜna zwiększać liczebność populacji wykorzystując wielu ekspertów z częściowo róŝną pulą udostępnianych osobników. Rysunek 9. Wpływ emocji na wygląd twarzy w programie FaceGen Modeller 3.1 Demo. Drugim zagadnieniem przy realizacji AG jest postać chromosomu. Wydaje się, iŝ osobnik reprezentowany przez szereg chromosomów, kaŝdy z których odpowiada za pewien fragment twarzy jest najbardziej obiecującym podejściem. Kolejnym elementem genetycznym są operatory krzyŝowania oraz mutacji. Dokonując wymiany materiału genetycznego naleŝy zapewnić powstanie dopuszczalnych rozwiązań. W tym celu naleŝy przeprowadzić rozeznanie zakresów charakterystyk poszczególnych komponentów twarzy oraz uwzględniać te zakresy wartości przy

krzyŝowaniu lub mutacji. Operator mutacji moŝe dotyczyć jednej cechy lub wielu cech naraz. MoŜna zaproponować dodatkowy parametr - stopień zmienności dla operatorów krzyŝowania oraz mutacji. Jego rolą byłoby regulowanie stopnia podobieństwa generowanych twarzy na twarze z poprzedniej populacji. NaleŜy uwzględnić i inne moŝliwości sterowania ewolucją w warunkach niewielkiej liczby pokoleń. JeŜeli klasyczny AG wymaga do osiągnięcia celu kilka tysięcy pokoleń, to przy ekspertach jako części procesu ewolucyjnego naleŝy liczyć się z wartością rzędu kilkudziesięciu pokoleń lub taką liczbą pokoleń, które człowiek moŝe ocenić w przeciągu jednej lub dwu godzin, tyle moŝe trwać efektywna sesja z uŝytkownikiem. 5. Podsumowanie W danej pracy przeanalizowano moŝliwość wykorzystania algorytmu genetycznego do wygenerowania twarzy ludzkiej. Proces generowania twarzy ma być oparty na subiektywnych ocenach ekspertów, dokonywanych przy uŝyciu strony internetowej w kilkunastu sesjach. Algorytm genetyczny ma zapewnić zachowanie wspólnych preferencji uŝytkowników i w końcowym efekcie wygenerowanie twarzy, która podoba się większości ekspertom. Zaproponowano szereg scenariuszy postępowania w trakcie procesu wykorzystania AG, rozwaŝono inne parametry genetyczne związane z realizacją problemu. W praktycznej części pracy przewiduje się zaimplementowania modułu ewolucyjnego oraz graficznego interfejsu uŝytkownika. Następnie przeprowadzenie w grupach studenckich testów aplikacji w celu wygenerowania twarzy asystenta strony internetowej uczelni. Bibliografia [1] ARABAS, J., Wykłady z algorytmów ewolucyjnych. Warszawa, WNT, 2001. [2] MICHALEWICZ Z. Algorytmy genetyczne + struktury danych = programy ewolucyjne, WNT, W-wa, 1996. [3] FROWD C. D., HANCOCK P. J. B., CARSON D., EvoFIT: A Holistic, Evolutionary Facial Imaging Technique for Creating Composites. ACM Transactions on Applied Perception, 2004. [4] GOLDBERG D. E., Algorytmy genetyczne i ich zastosowania. Warszawa, Wydawnictwa Naukowo-Techniczne, 2003. [5] GIBSON S., BEJARANO A. P., SOLOMON C., Synthesis of Photographic Facial Composites using Evolutionary Algorithms, British Machine Vision Conference, 2003. [6] Łukasz Wolan, Wykorzystanie algorytmu genetycznego do rejtingowania obiektów graficznych na stronie internetowej, praca magisterska, Politechnika Wrocławska, prom. dr Oleksandr Klosov, 2005 Human face generation using genetic algorithm Abstract. A Genetic Algorithms have been a subject of an active discussions in a science or practice fields over 30 years. A lot of optimization projects have been adopted using genetic algorithm. In the paper the problem of human face generation based on visual criterions of a many web users are discussed. The result of the paper one can used in the web system with a virtual assistant.