Zastosowanie algorytmów genetycznych w optymalizacji macierzy kwantyzacji dla kodeka mpeg-2

Wielkość: px
Rozpocząć pokaz od strony:

Download "Zastosowanie algorytmów genetycznych w optymalizacji macierzy kwantyzacji dla kodeka mpeg-2"

Transkrypt

1 Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych Instytut Informatyki Rok akademicki 2013/2014 PRACA DYPLOMOWA MAGISTERSKA Adam Pakuła Zastosowanie algorytmów genetycznych w optymalizacji macierzy kwantyzacji dla kodeka mpeg-2 Opiekun pracy dr inż. Piotr Witoński Ocena: Podpis Przewodniczącego Komisji Egzaminu Dyplomowego 1

2 Kierunek: Specjalność: Informatyka Inżynieria Systemów Informatycznych Data urodzenia: Data rozpoczęcia studiów: Życiorys Urodziłem sie 20 listopada 1988 roku w Warszawie. Ukończyłem LXXIII LO im. Zawiszaków Proporca Victoria w klasie o profilu matematyczno-informatyczno-fizycznym. W lutym 2012 roku uzyskałem tytuł inżyniera na Politechnice Warszawskiej na kierunku informatyka. Do moich zainteresowań należą spadochroniarstwo oraz taniec.... Podpis studenta EGZAMIN DYPLOMOWY Złożył egzamin dyplomowy w dniu r z wynikiem... Ogólny wynik studiów:... Dodatkowe wnioski i uwagi Komisji:

3 STRESZCZENIE Praca opisuje możliwości zastosowania algorytmów genetycznych w problemie optymalizacji macierzy kwantyzacji. Przedstawiono w niej sposób kompresji danych zastosowany w koderze mpeg-2, koncepcję algorytmów genetycznych oraz powszechnie stosowane w nich rozwiązania, a także metody oceny sekwencji filmowych. Praca opisuje także sposób implementacji algorytmu genetycznego i uzyskane w wyniku jego działania rezultaty. Słowa kluczowe: algorytmy genetyczne, macierz kwantyzacji, mpeg-2 Genetic algorithms in optimization of quantization matrix for mpeg-2 This study describes the possibility of using genetic algorithms in optimization problem of quantization matrix. It shows the data compression used in the MPEG-2 encoder, the concept of genetic algorithms with commonly used solutions and evaluation methods of video sequences. The thesis also describes implementation of a genetic algorithm and obtained results. Keywords: genetic algorithms, quantization matrix, mpeg-2 3

4 Zastosowanie algorytmów genetycznych w optymalizacji macierzy kwantyzacji dla kodeka mpeg-2 1 Cel pracy Kodeki Kodowanie MPEG Możliwości kompresji Próbkowanie chrominancji DCT (Dyskretna transformata cosinusowa) Kwantyzacja współczynników Kodowanie wartości (zig-zag, RLE, VLC) Kompensacja ruchu i przewidywanie klatek Struktura GOP (ang. group of pictures) Proces dekodowania w skrócie Różnice między H.264 a MPEG Wpływ macierzy kwantyzacji Wykorzystanie algorytmów genetycznych Metoda zarządzania populacją Reprodukcja Reprodukcja proporcjonalna (ruletkowa) Reprodukcja rangowa (rankingowa) Reprodukcja turniejowa Operatory genetyczne Kodowanie (czyli genotyp i fenotyp) Cechy operatorów genetycznych Krzyżowanie Mutacja Sukcesja Sukcesja trywialna

5 4.4.2 Sukcesja elitarna Kryteria stopu Monitorowanie rozwiązań Monitorowanie zdolności eksploracyjnych Funkcja oceny Metody oceny sekwencji filmowych Wybór właściwej klatki do oceny Metody oceny podobieństwa obrazów Peak Signal-to-noise ratio (PSNR) Structural similarity (SSIM) Implementacja algorytmu Algorytm genetyczny Kodowanie Funkcja oceny Reprodukcja, operatory genetyczne i sukcesja Generator liczb pseudolosowych Projekt FFmpeg Polecenia i ich opcje Biblioteka opencv Obsługa aplikacji Parametry Wyniki badań Dobór metod algorytmu Proces reprodukcji Obciążony operator mutacji Wpływ wyboru klatki podlegającej ocenie Wyniki działania algorytmu Wpływ funkcji oceny na wyniki Podsumowanie Bibliografia

6 1 Cel pracy Celem pracy jest zbadanie możliwości zastosowania algorytmów genetycznych w procesie optymalizacji macierzy kwantyzacji kodeka MPEG-2. Praca obejmuje zaimplementowanie algorytmu genetycznego, przeprowadzenie testów na przykładowych sekwencjach filmowych oraz przedstawienie i interpretację ich wyników. Kodek MPEG-2 jest powszechnie stosowany w przesyłaniu sygnału telewizyjnego oraz na płytach DVD. Obecnie coraz bardziej rozpowszechniony jest standard MPEG-4 AVC znany także jako H.264, ale zasady tego kodowania są bardzo podobne do wykorzystywanych w badanym MPEG-2. Dlatego też opisane metody poszukiwania najlepszej macierzy kwantyzacji będzie można także zastosować dla kodowania H.264. Praca składa się z trzech głównych części. W pierwszej opisany jest sposób kodowania danych w standardzie MPEG-2, co umożliwia zrozumienie w jaki sposób i na co wpływa macierz kwantyzacji. Druga część omawia algorytmy genetyczne oraz stosowane w ich implementacji rozwiązania. Trzecia część skupia się na metodach oceny sekwencji filmowych. Ostatnie rozdziały zawierają analizę zebranych w trakcie tworzenia pracy wyników oraz końcowe wnioski. 2 Kodeki Słowo kodek jest skrótem od koder/dekoder. Zadaniem kodeków jest przekształcenie strumienia danych w formę zakodowaną (kodowanie) lub odzyskanie pierwotnego strumienia danych z formy zakodowanej (dekodowanie)[1]. Głównym celem kodowania danych jest ich kompresja, ale kodeki mogą również służyć np. do szyfrowania danych. Kodeki kojarzone są z dźwiękiem oraz obrazem, gdyż są często wykorzystywane do przetwarzania tego typu danych, dlatego możemy podzielić je ze względu na typ wejściowych danych: audio oraz video. Innym kryterium podziału jest rodzaj kompresji danych. Kodeki bezstratne obsługują przede wszystkim muzykę. Przykładem może być FLAC (ang. Free Lossless Audio Codec). Kodeki tego typu do zmniejszenia ilości danych wykorzystują metody matematyczne, a zasada ich funkcjonowania przypomina używanie skrótów. FLAC pozwala, w zależności od rodzaju muzyki, na zmniejszenie objętości danych nawet od 30 do 60%[2]. Drugim typem kodeków ze względu na rodzaj kompresji są kodeki stratne. Generalnie wykorzystują one tę samą metodę co bezstratne, ale dodatkowo badają sygnał dźwiękowy i usuwają zbędne informacje. Przykładowo w bardzo głośnych fragmentach muzyki kodeki potrafią całkowicie usunąć dane dźwięków bardzo cichych, których i tak byśmy nie usłyszeli. Najbardziej znanym i rozpowszechnionym kodekiem tego rodzaju jest MP3. Kodeki zajmujące się przetwarzaniem video stosują podobne techniki do tych, które wykorzystywane są w kodekach audio. Podstawą kompresji obrazu są techniki stosowane w kodekach pojedynczego obrazu, takich jak DV. Przeliczają one każdy obraz na nowo, łącząc piksele w bloki, które są następnie pojedynczo kompresowane. Wykonuje się także redukcję liczby odcieni koloru w ramach danego bloku (podobnie jak ma to miejsce w formacie JPG fotografii cyfrowej). 6

7 Większym wyrafinowaniem cechują się kodeki ruchomych obrazów, takie jak liczne warianty MPEG. Takie kodeki dodatkowo redukują ilość danych łącząc ze sobą sekwencje z wielu pojedynczych obrazów. W całości zapisywany jest obraz pierwszy, z kolejnych obrazów zapisywane są części, które różnią się od obrazów poprzednich. Pozwala to na pominięcie zapisywania za każdym razem danych o elementach nieruchomych, takich jak tło. 2.1 Kodowanie MPEG-2 W 1988 roku powstała grupa robocza (ang. Working Group) jedenastu połączonych Komisji Technicznych ISO (ang. International Standards Organisation) i IEC (ang. International Electrotechnical Commission), nazywana powszechnie Moving Picture Expert Group, czyli w skrócie MPEG. Grupa ta w 1993 roku opracowała pierwszy standard kompresji sygnału MPEG-1, a w 1994 roku MPEG-2, który został zatwierdzony jako standard ISO/IEC Generic coding of moving pictures and associated audio information [3]. MPEG-1 jest standardem ograniczającym się do strumieni wideo bez przeplotu, zaprojektowany by wspierać kodowanie wideo o przepływności do około 1,5Mbit/s. MPEG-2 z kolei zaprojektowany został tak, aby wspierać kodowanie obrazów z przeplotem o wysokiej jakości z przepływnością między 5 a 10 Mbit/s (oczywiście MPEG-2, którego znamy dziś obsługuje także formaty high definition z przepływnością między 15 a 30 Mbit/s). Oba standardy obejmują trzy części: aspekty systemowe (multiplexing i synchronizacja), kodowanie wideo oraz kodowanie audio. Należy zauważyć, że standardy MPEG definiują jedynie składnię i semantykę strumienia bitowego (ang. bit-stream) oraz proces dekodowania. Standardy te nie specyfikują procesu kodowania i nie podają konkretnego algorytmu na jego przebieg. Pozwala to wykazać się programistom inwencją i daje możliwości poprawy technik kodowania[4] Możliwości kompresji Kompresja w kodowaniu MPEG odbywa się poprzez usunięcie redundantnej oraz mniej ważnej informacji z sygnału wejściowego. W sygnale wideo można zidentyfikować trzy główne źródła nadmiarowości: Redundancja przestrzenna i czasowa: wartości sąsiadujących ze sobą pikseli są skorelowane, zarówno w tej samej klatce jak i w sąsiednich klatkach filmu. Zatem w pewnym niewielkim zakresie możliwe jest przewidywanie koloru danego piksela na podstawie sąsiednich. Redundancja entropijna: dla sygnałów, które nie są losowe, część wartości występują częściej niż inne. Dlatego też wartości często występujące koduje się przy użyciu mniejszej liczby znaków, a wartości występujące najrzadziej otrzymują najdłuższe kody (co wykorzystują kody zmiennej długości np. w kodowaniu Huffmana). Czynniki psycho-wizualne: bazują na analizie możliwości i ograniczeń ludzkiego mózgu oraz zmysłu wzroku. Ludzkie oko nie dostrzega małych szczegółów na ekranie (ograniczona rozdzielczość przestrzenna), a także nie jest w stanie śledzić bardzo szybkich zmian (ograniczona rozdzielczość czasowa). 7

8 2.1.2 Próbkowanie chrominancji Efektywną metodą redukcji strumienia danych jest zmniejszenie częstotliwości próbkowania, które to jednak wprowadza nieodwracalne zmiany w obrazie. W obrazie cyfrowym kolor każdego piksela kodowany jest przy pomocy trzech 8-bitowych wartości, które informują o nasyceniu punktu poszczególnymi kolorami: czerwonym (ang. red), zielonym (ang. green) i niebieskim (ang. blue) - standard RGB. W cyfrowym obrazie wideo do zdefiniowania koloru punktu używa się standardu YUV, w którym używane są parametry luminancji (określającej jasność, oznaczenie Y) oraz chrominancji (określającej unikatowy kolor poprzez jego odcień oraz nasycenie, oznaczenia U i V). W procesie próbkowania chrominancji wykorzystuje się ograniczone możliwości ludzkiego oka, które jest bardziej czułe na zmiany luminancji niż na informację związaną z kolorem. Dlatego stosuje się podpróbkowanie chrominancji. Najczęściej przyjmuje się, że na każde 4 punkty luminancji przypadają tylko 2 punkty składowych chrominancji (4:2:2), co już pozwala na redukcję przepływności o około 1/5. Standard MPEG dopuszcza także inne rodzaje próbkowania, np.: 4:4:4, 4:2:0, 4:1:1 (patrz Rysunek 1 1 ). W strukturze 4:2:0 chrominancja próbkowana jest co drugą linię obrazu, co oznacza, że zarówno jej pionowa jak i pozioma częstotliwość próbkowania jest dwukrotnie mniejsza niż częstotliwość próbkowania luminancji. Poza redukcją częstotliwości próbkowania standard MPEG wykorzystuje dwie inne metody, aby zmniejszyć redundancję: Rysunek 1 Struktury próbkowania chrominancji dostępne w standardzie MPEG Dyskretna transformata cosinusowa (DCT ang. Discrete Cosine Transform), której celem jest usunięcie redundancji przestrzennej i skoncentrowanie energii sygnału w stosunkowo niewielkiej liczbie współczynników. 1 Źródło pochodzenia obrazu: 8

9 Kompensacja ruchu (ang. motion compensation) odbywająca się poprzez przewidywanie międzyklatkowe (ang. interframe prediction), które jest używane do usunięcia redundancji czasowej (różnice pomiędzy kolejnymi klatkami filmu bardzo często są niewielkie) DCT (Dyskretna transformata cosinusowa) Obraz każdej klatki dzielony jest na bloki o wielkości 8 8 punktów (Rysunek 2), a następnie dokonuje się na nich operacji matematycznej nazywanej transformatą cosinusową: gdzie: Równanie 1Wzór transformaty cosinusowej oraz F(u,v) wartości transformaty (w dziedzinie częstotliwości) f(x,y) wartości pikseli (dziedzina przestrzenna) x, y indeksy pikseli w bloku w dziedzinie przestrzennej u,v indeksy bloku w dziedzinie częstotliwości Rysunek 2 Podział obrazu na bloki, które poddane zostaną działaniu transformaty DCT jest procesem odwracalnym, który przekształca obraz z dziedziny przestrzennej do dziedziny częstotliwości. Odwrotna transformata cosinusowa (IDCT ang. inverted DCT) zdefiniowana jest następująco: Równanie 2 Odwrotna transformata cosinusowa Każdy ze współczynników bloku oznacza inną składową funkcji bazy. W lewym górnym rogu znajduje się współczynnik DC, którego wartość można interpretować jako średnią jasność 9

10 w danym bloku. Pozostałe współczynniki AC charakteryzują się następującymi zależnościami (patrz Rysunek 3): wraz ze wzrostem indeksu wiersza macierzy reprezentują sygnał o wzrastającej częstotliwości wertykalnej, a wraz ze wzrostem indeksu kolumny reprezentują sygnał o wzrastającej częstotliwości horyzontalnej. Rysunek 3 Reprezentacja współczynników kwantyzacji w bloku Transformata cosinusowa nie redukuje liczby bitów potrzebnych do zapisania bloku danych. W rzeczywistości blok 8x8 pikseli reprezentujących 8bitowy kolor powoduje powstanie bloku 8x8 współczynników, z których każdy jest 11bitowy (aby możliwa była odwracalność operacji). Redukcja liczby bitów możliwa dzięki zastosowaniu DCT wynika z faktu, że współczynniki w bloku dla typowego obrazu posiadają rozkład niejednostajny, co wynika z przestrzennej redundancji danych w bloku oryginalnym (dziedziny przestrzennej). Transformata gromadzi większość energii we współczynnikach o niskich częstotliwościach, a wiele pozostałych współczynników ma wartości bliskie zeru [5]. Redukcja strumienia danych polega na pominięciu współczynników bliskich zera oraz kwantyzacji i odpowiednim kodowaniu pozostałych. Standard MPEG wykorzystuje transformatę cosinusową, ponieważ jest to transformata, która bardzo dobrze koncentruje energię obrazu w kilku współczynnikach oraz jest łatwa do zaimplementowania w cyfrowym przetwarzaniu.wybór rozmiaru bloku 8x8 jest wynikiem kompromisu pomiędzy efektywną koncentracją energii sygnału, a niepożądanym powstawaniem efektów blokowych Kwantyzacja współczynników Każdy współczynnik transformaty podlega kwantyzacji w innym stopniu, zależnie od przestrzennej częstotliwości jaką reprezentuje w bloku (pozycji w macierzy współczynników DCT). Celem kwantyzacji jest zminimalizowanie liczby bitów, które zostaną zakodowane w taki sposób, aby dekoder był w stanie jak najwierniej odtworzyć oryginalny obraz. Zmniejszona dokładność kwantyzacji zmniejsza liczbę bitów potrzebną do reprezentacji macierzy współczynników DCT, ale zwiększa także możliwy błąd kwantyzacji. Należy tu zaznaczyć, iż szum kwantyzacji wprowadzony przez koder jest nieodwracalny, a zatem proces kodowania jest stratny i odtworzony przez dekoder obraz nie będzie idealną kopią sygnału wejściowego. 10

11 Większy błąd kwantyzacji będzie mniej zauważalny w dziedzinie wysokich częstotliwości, ponieważ wysokoczęstotliwościowy szum jest mniej widoczny dla ludzkiego oka. Z tego samego powodu lepiej pozwolić na większy szum we współczynnikach chrominancji niż składowej DC reprezentującej luminancję. Standard MPEG używa macierzy wag (macierzy kwantyzacji), aby zdefiniować dokładność procesu kwantyzacji dla poszczególnych współczynników transformaty DCT. Macierz kwantyzacji powinna być dobierana odpowiednio do kodowanej sekwencji wideo. Manipulacje macierzami kwantyzacji i indywidualne dobieranie ich do sekwencji czy poszczególnych scen jest uzasadnione, ponieważ pozwala osiągnąć zysk zarówno w wymiarze jakościowym jak i w wymiarze stopnia kompresji. Kwantyzacja zazwyczaj jest liniowa, ale może też występować zwiększony próg w okolicach zera, co pozwala na zmaksymalizowanie liczby współczynników, które skwantowane zostaną jako wartość zero Kodowanie wartości (zig-zag, RLE, VLC) Po procesie kwantyzacji skwantowane współczynniki DCT są sczytywane w kolejności zig-zag w taki sposób, aby zamienić dwuwymiarową macierz w wektor. MPEG definiuje dwa wzorce skanowania zig-zag. Pierwszy, zazwyczaj preferowany dla obrazów o silnych zależnościach częstotliwości wertykalnych (prawdopodobnie wynikających z przeplotu). W tym wzorcu występuje pierwszeństwo Rysunek 4 Kolejność zig-zag skanowania współczynników (przy braku silnych zależności wertykalnych) w skanowaniu współczynników wertykalnych. W drugim wzorcu (przedstawionym na Rysunek 4) skanowanie przebiega diagonalnie począwszy od współczynnika DC aż do współczynnika w prawym dolnym rogu macierzy. Koder oczywiście sygnalizuje wybór wzorca skanowania współczynników dekoderowi. Ciągi współczynników po skanowaniu zig-zag są poddawane kodowaniu RLE (ang. Run Length Encoding). Zapisywana jest liczba wystąpień danego znaku, a następnie sam znak. Przy powtarzających się wystąpieniach tego samego symbolu (w przypadku kodowania MPEG głównie powtarzające się zera) pozwala to na zmniejszenie ilości przekazywanej informacji. Informacja o współczynnikach DCT jest następnie kodowana kodem Huffmana, czyli kodem o zmiennej długości (ang. variable length code). Wartości bardzo prawdopodobne są reprezentowane przez krótsze ciągi zer i jedynek, a mało prawdopodobne przez dłuższe. 11

12 2.1.6 Kompensacja ruchu i przewidywanie klatek Bardzo często zmiana obrazu pomiędzy sąsiednimi klatkami filmu jest niewielka. Standard MPEG, aby wykorzystać zależności pomiędzy kolejnymi klatkami, stara się przewidywać ramki na podstawie referencyjnych klatek (ang. motion-compensated interframe prediction). Rysunek 5 Schemat predykcji międzyklatkowej kompensującej ruch Aby przewidywanie było możliwe muszą oczywiście istnieć klatki kluczowe, które nie odnoszą się do innych klatek. Takie klatki nazywamy klatkami typu intra (ang. intraframe). Do zdekodowania takiej klatki wystarczają tylko i wyłącznie jej dane. Klatki typu inter (ang. interframe) są klatkami, których wartości wyrażone są w postaci zależności od jednej lub kilku klatek sąsiednich, przy czym sąsiedztwo nie musi ograniczać się jedynie do klatki bezpośrednio poprzedzającej lub bezpośrednio następującej po zadanej. Obraz każdej klatki typu inter podzielony jest na makrobloki, których rozmiar najczęściej wynosi 16x16 pikseli. W odróżnieniu od klatek typu intra nie stosuje się tutaj bezpośredniego kodowania pikseli danego bloku. Zamiast tego koder poszukuje w klatce odniesienia najbardziej podobnego makrobloku (patrz Rysunek 5), przy pomocy algorytmu dopasowującego bloki (ang. Block Matching Algorithm - BMA). Jednym ze sposobów na poszukiwanie takiego bloku może być próba dopasowania go w najbliższym otoczeniu z różnymi wartościami przesunięcia i wybór najlepszego, czyli takiego dla którego różnica wartości pikseli jest najmniejsza (patrz Rysunek 6),. Ponieważ standard MPEG definiuje jedynie proces dekodowania twórcy koderów mogą stosować różne wersje algorytmów BMA. Niezależnie od tego w wyniku ich działania otrzymujemy tzw. Wektor ruchu (ang. motion vector), który wskazuje pozycję pasującego makrobloku w referencyjnym obrazie względem aktualnie kodowanego. Koder wylicza następnie różnicę wartości poszczególnych pikseli pomiędzy blokami, która nazywana jest błędem predykcji (ang. prediction error). 12

13 Rysunek 6 Schemat działania prostego algorytmu poszukującego najlepiej dopasowany blok W celu zmniejszenia ilości przysyłanych danych wektory ruchu są kodowane różnicowo, natomiast błędy predykcji związane z wektorami wykorzystują kodowanie podobne do tego opisanego w poprzednim dziale z wykorzystaniem dyskretnej transformaty kosinusowej, kwantyzacji i kodowania Huffmana. W standardzie MPEG-2 istnieją różne rodzaje przewidywania ruchu. Możliwe jest użycie przewidywania dla całej klatki, gdy istnieje jeden wspólny wektor ruchu lub przewidywania dla poszczególnych jej fragmentów, z których każdy posiada własny wektor ruchu. W ogólnym przypadku dla sekwencji filmowych, w których występuje powolny ruch przewidywanie klatkowe jest bardziej wydajne, a wraz ze wzrostem szybkości ruchu bardziej wydajne staje się przewidywanie fragmentów. Predykcja międzyramkowa (przewidywanie klatek) pozwala na osiągnięcie znacznego stopnia kompresji, jest jednak mocno uzależniona od działania zastosowanego w koderze algorytmu dopasowującego bloki. Dopóki algorytm jest w stanie znaleźć pasujący blok o małym błędzie predykcji całkowity rozmiar kodowanych danych (wektora ruchu i błędu predykcji) jest mniejszy niż bezpośrednio zakodowane wartości pikseli danego bloku. Jeżeli natomiast znaleziony blok nie jest dobrze dopasowany, błąd predykcji jest duży i rozmiar danych może być większy niż w przypadku zwykłego kodowania. W takim przypadku koder może zrobić wyjątek i użyć bezpośredniego kodowania. Dużą wadą kompensacji ruchu jest też możliwość propagacji błędu. Jeżeli referencyjny blok znaleziony jako najlepiej pasujący także został wcześniej zakodowany predykcyjnie, błąd podczas jego dekodowania przeniesie się na dalej. Jest to problem z punktu widzenia synchronizacji strumienia danych przez dekoder. 13

14 Typy klatek Ze względu na używany sposób predykcji ruchu, obrazy w standardzie MPEG-2 możemy podzielić na trzy grupy: intra (I-frames) kodowane jedynie na podstawie zawartych w sobie informacji. Nie posiadają odniesień do innych obrazów. Kompresja takich klatek jest stosunkowo niewielka, gdyż redukowana jest jedynie nadmiarowość przestrzenna. Klatki te są kluczowymi w sekwencji i ich dekodowanie może się odbywać bez referencji do poprzednich klatek (sprzed wystąpienia klatki I). predictive (P-frames) kodowane z wykorzystaniem kompensacji ruchu, klatkami odniesienia mogą być poprzednie klatki typu I lub P. Dzięki temu, że redukują nadmiarowość czasową ich rozmiar jest o około 50% mniejszy niż rozmiar zakodowanej klatki Inter. Bi-directional predictive (B-frames) kodowane z wykorzystaniem kompensacji ruchu, tutaj jednak klatkami odniesienia mogą być poprzednie lub następne (przyszłe) klatki typu I lub P. Takie klatki pozwalają na jeszcze większy stopień kompresji obrazu. W celu uniknięcia propagacji błędów ramki typy B nie mogą być klatkami odniesienia Struktura GOP (ang. group of pictures) Gdyby obrazy odniesienia rozrzucone były po dużej sekwencji filmu, praca dekodera byłaby niemożliwa. Zastosowanie predykcji wymaga zatem wprowadzenia pewnego rodzaju synchronizacji, która umożliwi prawidłowe działanie dekodera. W tym celu wprowadzona została struktura grupy obrazów. Struktura ta porządkuje i definiuje kolejność występowania poszczególnych typów klatek. Klatki odniesienia dla obrazów znajdujących się w strukturze także muszą znajdować się wewnątrz tej struktury. GOP można opisać dwoma parametrami: N liczba klatek należących do struktury M odstęp pomiędzy klatkami typu P Standardowa struktura GOP (przedstawiona na Rysunek 7 2 ) opisana jest następującymi parametrami: N=9 i M=3. Rysunek 7 Przykładowa struktura GOP z zaznaczonymi odniesieniami pomiędzy klatkami Ramki typu B w predykcji korzystają z obrazów z przyszłości, dlatego kolejność przesyłania ramek jest inna niż kolejność ich wyświetlania. Koder zamienia kolejność obrazów w taki 2 Źródło pochodzenia obrazu: 14

15 sposób, aby ramki typu B były przesyłane po ramkach typu I oraz P, do których się odwołują Na Rysunek 8 przedstawiono przykład przedstawiający zmianę kolejności ramek w transmisji. Jak widać ramka P4 została przeniesiona przed ramki B2 i B3, które odwołują się do niej. Podobnie ramki P7 oraz I10 są transmitowane przed obrazami-b zawierającymi odwołania do nich. Rysunek 8 Kolejność transmisji klatek Proces dekodowania w skrócie Proces dekodowania przebiega w odwrotnej kolejności w stosunku do kodowania. Klatki transmitowane są w kolejności prawidłowej dla dekodowania. Dla każdego z przychodzących obrazów odtwarzana jest informacja zero-jedynkowa poprzez dekodowanie Huffmana. Dane te są poddawane odwrotnej transformacji kosinusowej. W zależności od rodzaju dekodowanej klatki dane tworzą obraz lub, w przypadku klatek predykcyjnych, zostają dodane do wskazanych przez wektor odniesienia z poprzednich klatek. W ten sposób odtwarzane zostają wszystkie klatki filmu [6]. 15

16 2.1.9 Różnice między H.264 a MPEG Aktualnie najbardziej rozpowszechnionym (używanym głównie w sieci oraz filmach Blue-ray) kodekiem jest standard H.264.Kodek ten jest też znany jako Part 10 MPEG-4 AVC (Advanced Video Coding) i jest w rzeczywistości rozwinięciem standardu MPEG-4 [7]. Pierwszą z istotnych różnic jest rodzaj używanej w celu redukcji informacji przestrzennej transformaty. MPEG-2 posługuje się zwykłą dyskretną transformatą kosinusową (DCT), która posiada pewne wady. Transformata ta używa liczb zmiennoprzecinkowych przez co jest kosztowna obliczeniowo, a także może wprowadzać błędy związane z zaokrąglaniem. Standard H.264 wprowadza nowy rodzaj transformaty, która jest podobna do DCT, jednak posiada następujące właściwości: rozmiar bloku wynosi 4x4, używa tylko liczb całkowitych dzięki czemu nie występują błędy związane z zaokrąglaniem, może być zaimplementowana wykorzystując jedynie operacje bitowych sum i przesunięć, a zatem jest szybka obliczeniowo[8]. Nowa transformata, podobnie jak DCT, umieszcza w lewym górnym rogu współczynnik DC. Kodowanie tych współczynników odbywa się już inaczej. MPEG-2 koduje je różnicowo, natomiast H.264 wykorzystuje w tym celu transformatę Hadamarda. Kodek H.264 wprowadza także kilka nowych rozwiązań związanych z przewidywaniem przestrzennym[9]. Kolejne istotne różnice dotyczące kompensacji ruchu przedstawia Tabela 1. Porównywana cecha MPEG-2 H.264 Precyzja wektora ruchu ½ piksela ¼ piksela Rozmiar makrobloku Tylko 16x16 Od 4x4 do 16x16 Ramki typu P Tylko jedna referencja odwołująca się do przeszłości Ramki typu B Maksymalnie 2 klatki odniesienia, Nie mogą być użyte jako referencja, Możliwe wiele referencji, Mogą odwoływać się do przyszłości Możliwe wiele referencji, Mogą być używane jako klatka odniesienia Tabela 1 Zestawienie niektórych cech kodowania MPEG-2 oraz H.264 (MPEG-4 AVC) Jak widać standard H.264 jest rozwinięciem i ulepszeniem poprzednich dzięki czemu oferuje lepsze, pod względem jakościowym, ilościowym i czasowym, rozwiązanie procesu kodowania wideo. 16

17 3 Wpływ macierzy kwantyzacji Jak już wspomniano macierz kwantyzacji związana jest ze współczynnikami transformaty kosinusowej i służy do redukcji nadmiarowej informacji przestrzennej. Obraz dzielony jest na bloki 8x8, a każdy z nich poddawany jest transformacie DCT, której współczynniki reprezentowane przez liczby zmiennoprzecinkowe są następnie kwantowane. Kwantyzacja polega na przekształceniu wartości rzeczywistoliczbowych w najbliższe wartości pochodzące ze skończonego zbioru określonych wartości (poziomów). Macierze kwantyzacji definiują liczbę poziomów kwantyzacji dla poszczególnych pikseli z danego bloku. Standard MPEG używa dwóch różnych macierzy kwantyzacji. Jedna używana jest do kwantyzacji danych pochodzących z obrazów typu I (ang. intra-coded). Ta macierz powinna być dostosowana pod względem możliwości percepcji wzrokowej człowieka, ponieważ służy do kwantyzacji bezpośrednich danych obrazu. Ludzki wzrok jest bardziej czuły na niskie częstotliwości (górny lewy róg macierzy kwantyzacji), a zatem powinny one być skwantowane w sposób umożliwiający jak najlepsze odtworzenie danych. Wartości wysokich częstotliwości (prawy dolny róg macierzy) nie są tak istotne i mogą być kwantowane z mniejszą dokładnością. Druga z macierzy używana jest do kwantyzacji danych pochodzących z obrazów kodowanych predykcyjnie (ang. inter-coded), czyli ramek typu P i B. Macierze te charakteryzują się zazwyczaj mniejszą rozpiętością wartości, gdyż służą do kwantyzacji danych różnicowych w makroblokach. W procesie transformacji kosinusowej oraz kwantyzacji jej współczynników część informacji jest nieodwracalnie tracona, co ma wpływ nie tylko na końcowy stopień kompresji danych ale także na końcową jakość obrazu po zdekodowaniu. Pozwala to wyciągnąć wniosek, że manipulacje macierzami kwantyzacji i indywidualne dobieranie ich do sekwencji czy poszczególnych scen jest uzasadnione, ponieważ pozwala osiągnąć zysk zarówno w wymiarze jakościowym jak i w wymiarze stopnia kompresji [10]. 17

18 4 Wykorzystanie algorytmów genetycznych Algorytmy genetyczne i ewolucyjne w informatyce są wykorzystywane do przeszukiwania przestrzeni rozwiązań. Powstały na skutek inspiracji działami biologii: genetyką i ewolucją. Dlatego czerpią bardzo wiele z wykorzystywanej tam terminologii. Algorytm przetwarza populację osobników, z których każdy jest propozycją rozwiązania postawionego problemu. Każdy osobnik posiada informację zwaną genotypem, która jest pewnego rodzaju przepisem na utworzenie fenotypu, czyli zestawu cech określających osobnika. Podobnie jak w genetyce genotyp osobnika składa się z chromosomów (w informatyce najczęściej jeden osobnik zawiera jeden chromosom), które zbudowane są z jednostek elementarnych zwanych genami. Algorytm działa w środowisku, które definiowane jest na podstawie postawionego problemu. Przystosowaniem osobnika nazywamy wartość określającą jakość rozwiązania jakie reprezentuje. Samo środowisko z kolei opisać można jako funkcję przystosowania (funkcję oceny), który na podstawie fenotypu wyznacza jakość osobnika, czyli przystosowanie. Działanie algorytmu genetycznego sprowadza się do wykonywanych w pętli następujących po sobie operacji: reprodukcji, operacji genetycznych (krzyżowania oraz mutacji), oceny i sukcesji (patrz Rysunek 9). Rysunek 9 Schemat działania algorytmu genetycznego Algorytmy genetyczne mogą być wykorzystywane w procesie optymalizacji [11]. Należy jednak pamiętać, że nie zapewniają one znalezienia najlepszego rozwiązania problemu. Przy pewnych założeniach można jednak wykazać, że wraz z upływem czasu prawdopodobieństwo znalezienia takiego osobnika w procesie adaptacji wzrasta i dąży do jedności. W praktyce zadanie optymalizacji nie musi oznaczać znalezienia najlepszego rozwiązania, a sprowadza się zazwyczaj do znalezienia rozwiązania lepszego niż aktualne. Oczywiście jeżeli wiedza o badanym problemie wystarcza i istnieje możliwość zdefiniowania formalnego, efektywnego sposobu rozwiązania nie zaleca się wykorzystywania algorytmów genetycznych [12]. 18

19 Problem, który jest treścią ninijszej pracy, czyli optymalizacja macierzy kwantyzacji w zależności od sekwencji filmowej nie posiada klasycznego rozwiązania, a celem pracy jest zbadanie możliwości wykorzystania do tego algorytmów genetycznych. Za sukces uważane będzie znalezienie macierzy kwantyzacji, która da wyniki lepsze niż macierz stosowana domyślnie. W algorytmach genetycznych istnieją pewne standardowe metody postępowania na poszczególnych etapach przetwarzania. Jednak jak podaje [13] istnieją dwa główne czynniki, które muszą być zdefiniowane w zależności od postawionego problemu: kodowanie danych (sposób ich reprezentacji w postaci genotypu) oraz funkcja oceny (określająca jakość rozwiązania). 4.1 Metoda zarządzania populacją Zaproponowany algorytm bazuje na działaniu prostego algorytmu genetycznego. W algorytmach genetycznych pojęciowo wyróżnić można trzy populacje: bazową, rodzicielską oraz potomną. Na początku działania algorytmu należy utworzyć startową populację poprzez losowe wygenerowanie odpowiedniej liczby osobników. Tak utworzona grupa staje się pierwszą populacją bazową. Na jej podstawie w wyniku operacji reprodukcji powstaje populacja rodzicielska. Z niej w wyniku działania operatorów genetycznych powstaje populacja potomna. Ta nowa populacja zastępuje w kolejnym kroku (poprzez proces sukcesji) populację bazową i proces powtarza się, aż do spełnienia kryterium stopu. Dla uproszczenia zarządzania pamięcią ustalany na początku rozmiar populacji, który jest jednym z parametrów algorytmu, jest stały. A zatem liczba osobników nie zmienia się na żadnym z etapów działania algorytmu. Dzięki temu przechowywane w pamięci są jedynie dwie populacje: populacja bazowa oraz populacja potomna, która podlega modyfikacji podczas poszczególnych procesów. 4.2 Reprodukcja Nie wszystkie osobniki z populacji rodzicielskiej służą do tworzenia nowej populacji potomnej. Reprodukcja jest jedną z metod selekcji osobników, która pozwala na ukierunkowanie działania algorytmu w stronę rozwiązań dających lepsze wyniki. Jest to proces, w którym z populacji rodzicielskiej wybierane są osobniki, które następnie poddane zostaną działaniu operatorów genetycznych. Wybór tych osobników nie jest przypadkowy i dokonywany jest zawsze w oparciu o wartości funkcji przystosowania poszczególnych osobników. W ogólnym ujęciu im lepiej przystosowany osobnik tym większe prawdopodobieństwo, że zostanie wybrany na rodzica. Oznacza to zatem możliwość, aby jeden osobnik z populacji rodzicielskiej został wybrany do dalszego przetwarzaniu kilkukrotnie, a inny wcale. Należy tu przytoczyć pojęcie nacisku selektywnego, znanego także jako napór selekcyjny. Pojęcie to określa jaka jest oczekiwana liczba kopii osobnika lepszego w porównaniu do oczekiwanej liczby kopii osobnika gorszego. Wyższa wartość selektywnego nacisku powoduje szybszą zbieżność algorytmu, choć niekoniecznie do ekstremum globalnego [14]. Większy nacisk selektywny oznacza większą tendencję algorytmu do poprawiania średniej 19

20 wartości przystosowania osobników w populacji. Istnieje kilka metod przeprowadzania procesu reprodukcji Reprodukcja proporcjonalna (ruletkowa) W tym podejściu dla każdego osobnika określane jest prawdopodobieństwo jego wyboru, które obliczane jest jako iloraz wartości funkcji przystosowania danego osobnika i sumy wartości przystosowania wszystkich osobników w populacji. Równanie 3 Prawdopodobieństwo wyboru osobnika w reprodukcji ruletkowej gdzie: p i prawdopodobieństwo wylosowania i-tego osobnika Ф i wartość funkcji przystosowania i-tego osobnika Prawdopodobieństwo wylosowania osobnika jest zatem wprost proporcjonalne do jego wartości funkcji oceny, stąd nazwa reprodukcja proporcjonalna. Zwana jest także reprodukcją ruletkową, gdyż można ją zobrazować w formie koła ruletki (patrz Rysunek 10), w którym każdemu osobnikowi przypisuje się pole powierzchni proporcjonalne do jego przystosowania. Rysunek 10 Przedstawienie prawdopodobieństwa reprodukcji osobników w postaci koła ruletki Przy takim podejściu należy pamiętać, aby funkcja oceny przyjmowała zawsze wartości dodatnie. Metoda jest czuła na dodawanie do funkcji oceny stałej wartości, przez co pozwala na sterowanie i korygowanie nacisku selektywnego (poprzez odjęcie bądź dodanie stałej wartości do funkcji oceny). Należy także zauważyć, że reprodukcja ta jest nieodporna na występowanie superosobników (czyli pojedynczych osobników o wyróżniającej się, odbiegającej od reszty, większej wartości funkcji oceny). Selekcja ruletkowa eksponuje duże różnice pomiędzy osobnikami, a niebezpieczeństwo z nią związane to utrata różnorodności w populacji Reprodukcja rangowa (rankingowa) W tym podejściu każdy z osobników otrzymuje rangę, która jest wyznaczana na podstawie wartości funkcji oceny. Najprostszym sposobem nadania rang jest po prostu posorto- 20

21 wanie osobników w kolejności niemalejącej od największej do najniższej wartości przystosowania. Rangi są kolejnymi numerami osobników w takim uszeregowaniu. W przypadku wystąpienia osobników o tej samej wartości oceny możemy postąpić dwojako: albo nadać kolejny numer zgodnie z uszeregowaniem wtedy osobniki otrzymają inne rangi, albo nadać im tą samą rangę. Rangi są zatem liczbami całkowitymi nieujemnymi (rangi nadajemy od 0). Ranga nadana osobnikowi wykorzystywana jest w funkcji, która definiuje jakie prawdopodobieństwo wylosowania ma zostać mu nadane. Funkcja ta jest najczęściej liniowa i zdefiniowana następująco: Równanie 4 Prawdopodobieństwo wyboru osobnika i w reprodukcji rangowej (funkcja liniowa) gdzie: p i prawdopodobieństwo wylosowania i-tego osobnika r i wartość rangi i-tego osobnika r max najwyższa występująca wartość rangi a, k parametry Spotykane są także inne postaci funkcji wyznaczających prawdopodobieństwo na podstawie rangi, jak np. funkcja potęgowa: Równanie 5 Prawdopodobieństwo wyboru osobnika i w reprodukcji rangowej (funkcja potęgowa) gdzie b jest kolejnym parametrem. W obu przypadkach wartości parametrów należy dobrać w taki sposób, aby zachowane były własności związane z prawdopodobieństwem, czyli: Równanie 6 Własności prawdopodobieństwa Oczywiście, aby działanie procesu reprodukcji było poprawne funkcje dla osobników o większym przystosowaniu zwracać muszą większe prawdopodobieństwo niż dla osobników o gorszym przystosowaniu. Zaletą takiego rozwiązania jest odporność na wpływ superosobników. Metoda ta jest także niewrażliwa na zwiększanie wartości funkcji przystosowania o stałą. Dużą wadą rozwiązania jest natomiast trudne dobieranie parametrów funkcji przypisującej prawdopodobieństwo, które jest kluczowym elementem. Metoda ta pomija także informację o względnych ocenach osobników. Nie ważne czy kolejny osobnik jest nieco lepszy czy dużo lepszy od poprzedniego i tak zostanie mu nadana kolejna ranga. Selekcja rankingowa ukrywa zatem duże różnice między osobnikami, a eksponuje małe Reprodukcja turniejowa W tym podejściu wybór osobników, które zostaną faktycznymi rodzicami odbywa się etapowo. Z populacji losowane są zbiory q osobników, które biorą udział w turnieju. Losowanie to może odbywać się w dwóch wariantach: ze zwracaniem lub bez. Osobnik o najlep- 21

22 szym przystosowaniu wygrywa zawody i zostaje dołączony do grupy osobników wybranych w reprodukcji. Losowanie podzbiorów q-osobników i turnieje odbywają się aż do momentu zapełnienia populacji, która weźmie udział w dalszym przetwarzaniu (aż do wyboru odpowiedniej liczby rodziców w procesie reprodukcji). Wartość q jest wielkością turnieju i steruje intensywnością selektywnego nacisku (im mniejsze q tym mniejszy nacisk). Najczęściej przyjmuje się wielkość turnieju równą 2. Potencjalną zaletą selekcji turniejowej, która wyróżnia ją od pozostałych jest fakt, że potrzebuje ona jedynie określenia wyboru najlepszego osobnika z q biorących udział w turnieju. Dlatego może być z powodzeniem stosowana w przypadkach, gdzie nie ma formalnej obiektywnej metody oceny osobników [15]. W ninijszej pracy początkowo wybraną metodą była reprodukcja ruletkowa. Podejście to nie sprawdzało się dobrze, gdyż wartości funkcji przystosowania okazały się być dość zbliżone dla całej populacji i w rezultacie prawdopodobieństwa reprodukcji również były bardzo bliskie sobie. W efekcie nacisk selektywny był bardzo niewielki i przeszukiwanie przestrzeni przypominało bardziej błądzenie losowe. W celu poprawy rozwiązania zmieniłem reprodukcję tak, aby selekcja ruletkowa odbywała się nie na podstawie funkcji oceny osobników, ale na podstawie rang nadanych poszczególnym osobnikom pozwoliło to na wyeksponowanie drobnych różnic w wartościach funkcji oceny i zwiększenie selektywnego nacisku. 4.3 Operatory genetyczne Operatory genetyczne określają sposób w jaki mają zostać przekształcone genotypy osobników, które wybrane zostały w procesie reprodukcji do dalszego przetwarzania. Celem stosowania operatorów jest przemieszczanie rozwiązania w przestrzeni problemu. W algorytmach genetycznych wyróżniamy dwa rodzaje operatorów genetycznych: krzyżowanie i mutację. Ten pierwszy działa na grupie osobników n osobników, powodując powstanie m nowych osobników. Natomiast drugi modyfikuje wartości genów pojedynczego osobnika. Istnieją pewne uniwersalne, ogólnie przyjęte schematy przeprowadzania operacji genetycznych, które opisane zostały w kolejnych podrozdziałach (na podstawie [16]). Wprowadzenie dedykowanych operatorów genetycznych może poprawić działanie algorytmu dla pewnej konkretnej klasy problemów. Operatory takie są ściślej związane z rozwiązywanym zadaniem optymalizacji, a przez to mogą stawać się konkurencją dla innych metod rozwiązywania tych problemów. Ceną jaką przychodzi zapłacić za poprawę efektywności działania algorytmu dla szczególnej klasy zadań jest utrata jego ogólności operator dla zadania innej klasy może być bardzo niewydajny lub w ogóle nie dać się zastosować Kodowanie (czyli genotyp i fenotyp) Kodowanie zawsze jest ściśle związane z postawionym problemem. Polega na przedstawieniu danych w postaci genotypu i fenotypu. Genotyp jest swoistym przepisem zapisanym w postaci chromosomu, który mówi jak stworzyć osobnika, czyli jakie będą jego cechy fenotyp. Niezależnie od wybranego sposobu kodowania osobnika istnieją cechy, które są pożądane i charakteryzują dobrze dobrane kodowanie. Najważniejsze, aby każde istniejące roz- 22

23 wiązanie można było przedstawić w postaci genotypu. W przeciwnym wypadku już na wstępie eliminowalibyśmy część rozwiązań. W badanym w ramach tej pracy problemie przyjąłem następujące mapowanie osobników: Genotypem jest macierz z wartościami współczynników kwantyzacji, która jako chromosom sprowadzona jest do postaci wektora składającego się z kolejnych wierszy tej macierzy. Pod uwagę brałem także kodowanie, w którym macierz przedstawiona będzie liniowo nie jako kolejne wiersze, a w kolejności zig-zag, co odzwierciedlałoby zależności między kolejnymi współczynnikami w przetwarzaniu przez koder MPEG-2.Problemem mogłoby być ustalenie wersji kodowania zig-zag, a z uwagi na fakt, iż macierz kwantyzacji będąca parametrem do używanego przeze mnie programu podawana jest w postaci liniowej, zdecydowałem się na przyjęcie takiej właśnie reprezentacji. Fenotypem, który podlega bezpośredniej ocenie jest sekwencja filmowa zakodowana przy pomocy kodera typu MPEG-2, któremu jako parametr podana jest macierz kwantyzacji jaką reprezentuje genotyp. Podczas tworzenia operatorów genetycznych należy zwrócić uwagę na ograniczenia funkcyjne, które mogą występować w rozwiązywanym problemie. Nie można dopuścić, aby w wyniku działania operatorów genetycznych powstał osobnik spoza przestrzeni rozwiązań zadania (ewentualnie można wykluczyć takie osobniki poprzez odpowiednio skonstruowaną funkcję oceny) Cechy operatorów genetycznych Podobnie jak dobre kodowanie posiada pewne cechy charakterystyczne, tak i dobre operatory genetyczne powinny spełniać pewne postulaty. Pierwszym z nich jest spójność przestrzeni genotypów. Postulat ten mówi, że możliwe jest przejście pomiędzy dwoma dowolnie wybranymi genotypami jedynie poprzez stosowanie operatorów genetycznych. Spełnienie tego warunku pozwala wykluczyć sytuację w której w wyniku specyficznej inicjacji populacji startowej algorytm nie byłby w stanie przejść do przestrzeni rozwiązań, w którym znajduje się globalne maksimum poszukiwane rozwiązanie. Drugim postulatem jest brak obciążenia operatorów. O obciążeniu operatora mówimy wtedy, gdy pewne kierunki poszukiwań są bardziej prawdopodobne niezależnie od wartości funkcji oceny. Jeżeli operatory nie są obciążone, to przy braku nacisku selektywnego wywołanego reprodukcją i sukcesją algorytm powinien z równym prawdopodobieństwem odwiedzać każdy kawałek przestrzeni rozwiązań. Oznacza to, że selekcja osobników powinna być jedynym powodem do kierunkowania algorytmu. W pracy rozważane jest celowe wprowadzenie obciążenia operatorów wykorzystujące specyfikę rozwiązywanego zdania. Na podstawie obserwacji znanych macierzy kwantyzacji możemy spodziewać się, że pewne rozwiązania będą lepsze od innych. Wynika to przede wszystkim ze wspomnianych już ograniczeń ludzkiej percepcji. 23

24 4.3.3 Krzyżowanie Istnieje wiele wariantów operatora krzyżowania, które różnią się nie tylko czynnościami wykonywanymi w trakcie tej operacji, ale także liczbą osobników rodzicielskich i potomnych. W pracy skupiłem się na operatorach krzyżowania, w których z dwóch rodziców powstają dwa osobniki potomne. Pozwala to na prostsze zarządzanie populacją osobników, gdyż w takim wypadku jej liczebność nie ulega zmianie na żadnym z etapów przetwarzania. Para osobników, która ma zostać poddana operacji krzyżowania wybierana jest losowo. Intensywnością stosowania operatora krzyżowania steruje parametr określający prawdopodobieństwo zajścia tej operacji dla tak wylosowanej pary. Osobniki potomne zastępują w populacji rodziców Krzyżowanie wymieniające W krzyżowaniu wymieniającym wartości chromosomów potomnych tworzone są z wartości chromosomów rodzicielskich. Następuje jedynie przemieszanie występujących w genach wartości. Oznacza to, że ten typ krzyżowania nie zmienia wartości genów występujących w populacji. Możemy wyróżnić kilka rodzajów krzyżowania wymieniającego: jednopunktowe wielopunktowe równomierne Krzyżowanie jedno- i wielopunktowe są odzwierciedleniem operacji jakie zachodzą w ludzkich komórkach podczas procesu mejozy. W krzyżowaniu jednopunktowym losujemy punkt przecięcia (jest to liczba całkowita z przedziału [1;N-1], gdzie N jest liczbą genów jakie znajdują się w chromosomie). Oba chromosomy rodzicielskie (X i Y) dzieli się następnie na dwie części we wskazanym punkcie, a chromosomy potomne powstają poprzez złączenie części pierwszej X z częścią drugą Y oraz części drugiej X z częścią pierwszą Y. Przykład ilustrujący krzyżowanie jednopunktowe: Chromosom X : { x1, x2, x3, x4, x5 } Chromosom Y : { y1, y2, y3, y4, y5 } punkt przecięcia 2 Chromosomy potomne: { x1, x2, y3, y4, y5 } i { y1, y2, x3, x4, x5 } Taki rodzaj krzyżowanie jest niestety obciążony, co wynika z faktu, że geny podlegające wymianie stanowią zawsze podciąg chromosomu. A zatem nie wszystkie kombinacje genów osiągalne w wyniku wielokrotnego stosowania operatora krzyżowania dadzą się wygenerować w jednym kroku. Krzyżowanie wielopunktowe polega na wyborze większej liczby punktów przecięcia. W szczególności krzyżowanie dwupunktowe polega na rozcięciu chromosomu na trzy części z których wymianie podlega fragment środkowy. W tym przypadku istnieją dwa warianty losowania punktów rozcięcia: bez zwracania oraz ze zwracaniem. Ten drugi, w przypadku 24

25 dwukrotnego wylosowania tej samej liczby, sprowadza krzyżowanie do wariantu jednopunktowego. Przykład ilustrujący krzyżowanie dwupunktowe: Chromosom X : { x1, x2, x3, x4, x5 } Chromosom Y : { y1, y2, y3, y4, y5 } punkty przecięcia 2 i 4 Chromosomy potomne: { x1, x2, y3, y4, x5 } i { y1, y2, x3, x4, y5 } Ten wariant krzyżowania, podobnie jak poprzedni, jest obciążony. Przy wariancie z losowaniem ze zwracaniem dodatkową niepożądaną cechą jest niejednakowe prawdopodobieństwo osiągalności chromosomów potomnych. Ostatnim wariantem jest krzyżowanie równomierne, w którym chromosomy potomne tworzone są według następującego schematu: Równanie 7 Określenie wartości genów w krzyżowaniu równomiernym gdzie: Z i i-ty gen w chromosomie potomnym X i, Y i i-te geny w chromosomach rodzicielskich ξ zmienna losowa z przedziału [0,1] o rozkładzie równomiernym p e parametr operacji krzyżowania Drugi z chromosomów potomnych tworzony jest analogicznie tam gdzie w pierwszym potomku brany był gen z rodzica X drugi potomek otrzymuje gen od rodzica Y i odwrotnie tam gdzie pierwszy otrzymywał gen od Y, drugi otrzymuje od X. Dla tego rodzaju krzyżowania wymieniającego postulat braku obciążeń jest spełniony niezależnie od dobranej wartości parametru pe. Typowo parametr ten przyjmuje wartość 0,5 co zapewnia jednakowe prawdopodobieństwo osiągalności każdego z dzieci Krzyżowanie uśredniające W odróżnieniu od przedstawionych wcześniej operatorów krzyżowania wymieniającego, które jedynie dokonywały wymieszania genów pomiędzy osobnikami, przedstawiony tutaj operator krzyżowania uśredniającego oddziałuje na wartości genów. Wartość danego genu osobników potomnych zawiera się w przedziale wyznaczanym przez wartości tego genu u rodziców. Podczas tworzenia pary chromosomów potomnych wartości te są symetryczne względem środka łączącego chromosomy rodziców. W ogólnym przypadku wyznaczenie wartości chromosomów potomnych odbywa się według następującego schematu: Równanie 8 Wartości genów dla 2 chromosomów potomnych w krzyżowaniu uśredniającym gdzie: Z 1, Z 2 chromosomy potomne 25

26 X, Y chromosomy rodzicielskie ξ zmienna losowa z przedziału [0,1] o rozkładzie normalnym Możliwe są dwa warianty krzyżowania uśredniającego. W pierwszym zmienna losowa generowana jest raz dla całego procesu mutacji chromosomu, jej wartość nie zmienia się podczas obliczania wartości kolejnych genów chromosomu potomnego. W drugim wariancie zmienna losowa generowana jest oddzielnie dla każdego z genów. Ta niepozorna zmiana ma spory wpływ na właściwości operatora. Oba warianty krzyżowania uśredniającego spełniają postulat o braku obciążenia operatora Mutacja Mutacja jest operatorem, który przetwarza tylko jednego osobnika jeden chromosom. W ogólnym ujęciu polega na modyfikacji wartości genów. Perturbacja wartości genów najczęściej dokonywana jest poprzez dodanie wartości pewnej zmiennej losowej o założonym rozkładzie. Zmienna losowa może być realizacją n-wymiarową (gdzie n oznacza liczbę genów osobnika), bądź też wieloma realizacjami pojedynczych zmiennych losowych stosowanych oddzielnie dla każdego genu. Najczęściej korzysta się z drugiego przypadku, gdyż zapewnia brak korelacji. Inną formą operatora mutacji może być próbkowanie podprzestrzeni. Zastosowanie takiego podejścia jest możliwe, jeżeli dla każdego genu istnieją wartości dopuszczalne ograniczające wartość tego genu z góry i z dołu. Operator mutacji polega wtedy na wylosowaniu nowej wartości genu z zadanego ograniczającego przedziału. Taka zmiana podejmowana jest z określonym prawdopodobieństwem dla każdego z genów w chromosomie. Intensywność tego operatora określana jest poprzez to właśnie prawdopodobieństwo i jest parametrem operatora. W pracy postanowiłem określić globalną minimalną i maksymalną dopuszczalną wartość współczynnika kwantyzacji (jednakową dla każdego z genów) i skorzystać z mutacji bazującej na próbkowaniu podprzestrzeni. W miarę rozwoju aplikacji operator mutacji został niejako spersonalizowany dla badanego problemu. Rozkład prawdopodobieństwa przy wyborze mutacyjnej wartości genu podczas próbkowania podprzestrzeni jest zależny od pozycji genu w chromosomie. Więcej szczegółów tej modyfikacji zawarte jest w rozdziale mówiącym o implementacji algorytmu. W tym miejscu zaznaczę jedynie, że taka modyfikacja obciąża operator i sprawia, że traci on na swojej uniwersalności. 4.4 Sukcesja Sukcesja jest ostatnim z etapów przetwarzania w algorytmach genetycznych. Jest to proces, w którym nieprzystosowane, stare osobniki wymierają. Polega na zastąpieniu aktualnej populacji rodzicielskiej nową populacją. Stworzenie nowej populacji rodzicielskiej i śmierć nieprzystosowanych osobników może odbyć się na kilka sposobów Sukcesja trywialna Sukcesja trywialna zwana też sukcesją z całkowitym zastępowaniem jest najprostszym wariantem. W tym wypadku stworzona właśnie populacja potomna staje się w całości nową 26

Według raportu ISO z 1988 roku algorytm JPEG składa się z następujących kroków: 0.5, = V i, j. /Q i, j

Według raportu ISO z 1988 roku algorytm JPEG składa się z następujących kroków: 0.5, = V i, j. /Q i, j Kompresja transformacyjna. Opis standardu JPEG. Algorytm JPEG powstał w wyniku prac prowadzonych przez grupę ekspertów (ang. Joint Photographic Expert Group). Prace te zakończyły się w 1991 roku, kiedy

Bardziej szczegółowo

Algorytm genetyczny (genetic algorithm)-

Algorytm genetyczny (genetic algorithm)- Optymalizacja W praktyce inżynierskiej często zachodzi potrzeba znalezienia parametrów, dla których system/urządzenie będzie działać w sposób optymalny. Klasyczne podejście do optymalizacji: sformułowanie

Bardziej szczegółowo

Algorytmy genetyczne

Algorytmy genetyczne 9 listopada 2010 y ewolucyjne - zbiór metod optymalizacji inspirowanych analogiami biologicznymi (ewolucja naturalna). Pojęcia odwzorowujące naturalne zjawiska: Osobnik Populacja Genotyp Fenotyp Gen Chromosom

Bardziej szczegółowo

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

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA OPERATOR KRZYŻOWANIA ETAPY KRZYŻOWANIA PLAN WYKŁADU Operator krzyżowania Operator mutacji Operator inwersji Sukcesja Przykłady symulacji AG Kodowanie - rodzaje OPTYMALIZACJA GLOBALNA Wykład 3 dr inż. Agnieszka Bołtuć OPERATOR KRZYŻOWANIA Wymiana

Bardziej szczegółowo

Kodowanie transformacyjne. Plan 1. Zasada 2. Rodzaje transformacji 3. Standard JPEG

Kodowanie transformacyjne. Plan 1. Zasada 2. Rodzaje transformacji 3. Standard JPEG Kodowanie transformacyjne Plan 1. Zasada 2. Rodzaje transformacji 3. Standard JPEG Zasada Zasada podstawowa: na danych wykonujemy transformacje która: Likwiduje korelacje Skupia energię w kilku komponentach

Bardziej szczegółowo

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Zadanie 5 - Algorytmy genetyczne (optymalizacja) Zadanie 5 - Algorytmy genetyczne (optymalizacja) Marcin Pietrzykowski mpietrzykowski@wi.zut.edu.pl wersja 1.0 1 Cel Celem zadania jest zapoznanie się z Algorytmami Genetycznymi w celu rozwiązywanie zadania

Bardziej szczegółowo

Kompresja video (MPEG)

Kompresja video (MPEG) mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 8, strona 1. Kompresja video (MEG) Zasadniczy schemat kompresora video Typy ramek przy kompresji czasowej Analiza ramek przez syntezę Sposób detekcji

Bardziej szczegółowo

Kompresja sekwencji obrazów - algorytm MPEG-2

Kompresja sekwencji obrazów - algorytm MPEG-2 Kompresja sekwencji obrazów - algorytm MPEG- Moving Pictures Experts Group (MPEG) - 988 ISO - International Standard Organisation CCITT - Comité Consultatif International de Téléphonie et TélégraphieT

Bardziej szczegółowo

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO. Rzeczywistość (istniejąca lub projektowana).. Model fizyczny. 3. Model matematyczny (optymalizacyjny): a. Zmienne projektowania

Bardziej szczegółowo

ALGORYTMY GENETYCZNE ćwiczenia

ALGORYTMY GENETYCZNE ćwiczenia ćwiczenia Wykorzystaj algorytmy genetyczne do wyznaczenia minimum globalnego funkcji testowej: 1. Wylosuj dwuwymiarową tablicę 100x2 liczb 8-bitowych z zakresu [-100; +100] reprezentujących inicjalną populację

Bardziej szczegółowo

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

Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych Algorytm Genetyczny zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych Dlaczego Algorytmy Inspirowane Naturą? Rozwój nowych technologii: złożone problemy obliczeniowe w

Bardziej szczegółowo

Algorytmy ewolucyjne NAZEWNICTWO

Algorytmy ewolucyjne NAZEWNICTWO Algorytmy ewolucyjne http://zajecia.jakubw.pl/nai NAZEWNICTWO Algorytmy ewolucyjne nazwa ogólna, obejmująca metody szczegółowe, jak np.: algorytmy genetyczne programowanie genetyczne strategie ewolucyjne

Bardziej szczegółowo

Algorytmy genetyczne

Algorytmy genetyczne Algorytmy genetyczne Motto: Zamiast pracowicie poszukiwać najlepszego rozwiązania problemu informatycznego lepiej pozwolić, żeby komputer sam sobie to rozwiązanie wyhodował! Algorytmy genetyczne służą

Bardziej szczegółowo

Założenia i obszar zastosowań. JPEG - algorytm kodowania obrazu. Geneza algorytmu KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG

Założenia i obszar zastosowań. JPEG - algorytm kodowania obrazu. Geneza algorytmu KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG Założenia i obszar zastosowań KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG Plan wykładu: Geneza algorytmu Założenia i obszar zastosowań JPEG kroki algorytmu kodowania obrazu Założenia: Obraz monochromatyczny

Bardziej szczegółowo

Kompresja sekwencji obrazów

Kompresja sekwencji obrazów Kompresja sekwencji obrazów - algorytm MPEG-2 Moving Pictures Experts Group (MPEG) - 1988 ISO - International Standard Organisation CCITT - Comité Consultatif International de Téléphonie T et TélégraphieT

Bardziej szczegółowo

dr inż. Piotr Odya Wprowadzenie

dr inż. Piotr Odya Wprowadzenie dr inż. Piotr Odya Wprowadzenie Dane multimedialne to przede wszystkim duże strumienie danych liczone w MB a coraz częściej w GB; Mimo dynamicznego rozwoju technologii pamięci i coraz szybszych transferów

Bardziej szczegółowo

Wybrane metody kompresji obrazów

Wybrane metody kompresji obrazów Wybrane metody kompresji obrazów Celem kodowania kompresyjnego obrazu jest redukcja ilości informacji w nim zawartej. Redukcja ta polega na usuwaniu informacji nadmiarowej w obrazie, tzw. redundancji.

Bardziej szczegółowo

6. Klasyczny algorytm genetyczny. 1

6. Klasyczny algorytm genetyczny. 1 6. Klasyczny algorytm genetyczny. 1 Idea algorytmu genetycznego została zaczerpnięta z nauk przyrodniczych opisujących zjawiska doboru naturalnego i dziedziczenia. Mechanizmy te polegają na przetrwaniu

Bardziej szczegółowo

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

Algorytmy genetyczne. Dariusz Banasiak. Katedra Informatyki Technicznej Wydział Elektroniki Dariusz Banasiak Katedra Informatyki Technicznej Wydział Elektroniki Obliczenia ewolucyjne (EC evolutionary computing) lub algorytmy ewolucyjne (EA evolutionary algorithms) to ogólne określenia używane

Bardziej szczegółowo

mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 4, strona 1. GOLOMBA I RICE'A

mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 4, strona 1. GOLOMBA I RICE'A mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 4, strona 1. KOMPRESJA ALGORYTMEM ARYTMETYCZNYM, GOLOMBA I RICE'A Idea algorytmu arytmetycznego Przykład kodowania arytmetycznego Renormalizacja

Bardziej szczegółowo

Algorytmy genetyczne w optymalizacji

Algorytmy genetyczne w optymalizacji Algorytmy genetyczne w optymalizacji Literatura 1. David E. Goldberg, Algorytmy genetyczne i ich zastosowania, WNT, Warszawa 1998; 2. Zbigniew Michalewicz, Algorytmy genetyczne + struktury danych = programy

Bardziej szczegółowo

Przedmowa 11 Ważniejsze oznaczenia 14 Spis skrótów i akronimów 15 Wstęp 21 W.1. Obraz naturalny i cyfrowe przetwarzanie obrazów 21 W.2.

Przedmowa 11 Ważniejsze oznaczenia 14 Spis skrótów i akronimów 15 Wstęp 21 W.1. Obraz naturalny i cyfrowe przetwarzanie obrazów 21 W.2. Przedmowa 11 Ważniejsze oznaczenia 14 Spis skrótów i akronimów 15 Wstęp 21 W.1. Obraz naturalny i cyfrowe przetwarzanie obrazów 21 W.2. Technika obrazu 24 W.3. Normalizacja w zakresie obrazu cyfrowego

Bardziej szczegółowo

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

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia stacjonarne i niestacjonarne Algorytmy genetyczne Materiały do laboratorium PSI Studia stacjonarne i niestacjonarne Podstawowy algorytm genetyczny (PAG) Schemat blokowy algorytmu genetycznego Znaczenia, pochodzących z biologii i genetyki,

Bardziej szczegółowo

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

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia niestacjonarne Algorytmy genetyczne Materiały do laboratorium PSI Studia niestacjonarne Podstawowy algorytm genetyczny (PAG) Schemat blokowy algorytmu genetycznego Znaczenia, pochodzących z biologii i genetyki, pojęć

Bardziej szczegółowo

Algorytmy genetyczne

Algorytmy genetyczne Politechnika Łódzka Katedra Informatyki Stosowanej Algorytmy genetyczne Wykład 2 Przygotował i prowadzi: Dr inż. Piotr Urbanek Powtórzenie Pytania: Jaki mechanizm jest stosowany w naturze do takiego modyfikowania

Bardziej szczegółowo

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

Algorytmy ewolucyjne - algorytmy genetyczne. I. Karcz-Dulęba Algorytmy ewolucyjne - algorytmy genetyczne I. Karcz-Dulęba Algorytmy klasyczne a algorytmy ewolucyjne Przeszukiwanie przestrzeni przez jeden punkt bazowy Przeszukiwanie przestrzeni przez zbiór punktów

Bardziej szczegółowo

Kompresja dźwięku w standardzie MPEG-1

Kompresja dźwięku w standardzie MPEG-1 mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 7, strona 1. Kompresja dźwięku w standardzie MPEG-1 Ogólne założenia kompresji stratnej Zjawisko maskowania psychoakustycznego Schemat blokowy

Bardziej szczegółowo

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

LABORATORIUM 4: Algorytmy ewolucyjne cz. 2 wpływ operatorów krzyżowania i mutacji na skuteczność poszukiwań AE Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny, Politechnika Śląska www.imio.polsl.pl METODY HEURYSTYCZNE LABORATORIUM 4: Algorytmy ewolucyjne cz. 2 wpływ operatorów krzyżowania

Bardziej szczegółowo

Metody Rozmyte i Algorytmy Ewolucyjne

Metody Rozmyte i Algorytmy Ewolucyjne mgr inż. Wydział Matematyczno-Przyrodniczy Szkoła Nauk Ścisłych Uniwersytet Kardynała Stefana Wyszyńskiego Podstawowe operatory genetyczne Plan wykładu Przypomnienie 1 Przypomnienie Metody generacji liczb

Bardziej szczegółowo

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

Algorytmy genetyczne. Paweł Cieśla. 8 stycznia 2009 Algorytmy genetyczne Paweł Cieśla 8 stycznia 2009 Genetyka - nauka o dziedziczeniu cech pomiędzy pokoleniami. Geny są czynnikami, które decydują o wyglądzie, zachowaniu, rozmnażaniu każdego żywego organizmu.

Bardziej szczegółowo

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 1 Metody numeryczne Dział matematyki Metody rozwiązywania problemów matematycznych za pomocą operacji na liczbach. Otrzymywane

Bardziej szczegółowo

przetworzonego sygnału

przetworzonego sygnału Synteza falek ortogonalnych na podstawie oceny przetworzonego sygnału Instytut Informatyki Politechnika Łódzka 28 lutego 2012 Plan prezentacji 1 Sformułowanie problemu 2 3 4 Historia przekształcenia falkowego

Bardziej szczegółowo

Klasyfikacja metod kompresji

Klasyfikacja metod kompresji dr inż. Piotr Odya Klasyfikacja metod kompresji Metody bezstratne Zakodowany strumień danych po dekompresji jest identyczny z oryginalnymi danymi przed kompresją, Metody stratne W wyniku kompresji część

Bardziej szczegółowo

Strategie ewolucyjne (ang. evolu4on strategies)

Strategie ewolucyjne (ang. evolu4on strategies) Strategie ewolucyjne (ang. evolu4on strategies) Strategia ewolucyjna (1+1) W Strategii Ewolucyjnej(1 + 1), populacja złożona z jednego osobnika generuje jednego potomka. Kolejne (jednoelementowe) populacje

Bardziej szczegółowo

Klasyfikacja metod kompresji

Klasyfikacja metod kompresji dr inż. Piotr Odya Klasyfikacja metod kompresji Metody bezstratne Zakodowany strumień danych po dekompresji jest identyczny z oryginalnymi danymi przed kompresją, Metody stratne W wyniku kompresji część

Bardziej szczegółowo

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

Algorytmy ewolucyjne. Łukasz Przybyłek Studenckie Koło Naukowe BRAINS Algorytmy ewolucyjne Łukasz Przybyłek Studenckie Koło Naukowe BRAINS 1 Wprowadzenie Algorytmy ewolucyjne ogólne algorytmy optymalizacji operujące na populacji rozwiązań, inspirowane biologicznymi zjawiskami,

Bardziej szczegółowo

Teoria przetwarzania A/C i C/A.

Teoria przetwarzania A/C i C/A. Teoria przetwarzania A/C i C/A. Autor: Bartłomiej Gorczyński Cyfrowe metody przetwarzania sygnałów polegają na przetworzeniu badanego sygnału analogowego w sygnał cyfrowy reprezentowany ciągiem słów binarnych

Bardziej szczegółowo

Zastosowanie kompresji w kryptografii Piotr Piotrowski

Zastosowanie kompresji w kryptografii Piotr Piotrowski Zastosowanie kompresji w kryptografii Piotr Piotrowski 1 Plan prezentacji I. Wstęp II. Kryteria oceny algorytmów III. Główne klasy algorytmów IV. Przykłady algorytmów selektywnego szyfrowania V. Podsumowanie

Bardziej szczegółowo

Wykład II. Reprezentacja danych w technice cyfrowej. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Wykład II. Reprezentacja danych w technice cyfrowej. Studia Podyplomowe INFORMATYKA Podstawy Informatyki Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład II Reprezentacja danych w technice cyfrowej 1 III. Reprezentacja danych w komputerze Rodzaje danych w technice cyfrowej 010010101010 001010111010

Bardziej szczegółowo

Nowoczesne metody emisji ucyfrowionego sygnału telewizyjnego

Nowoczesne metody emisji ucyfrowionego sygnału telewizyjnego Nowoczesne metody emisji ucyfrowionego sygnału telewizyjnego Bogdan Uljasz Wydział Elektroniki Wojskowej Akademii Technicznej ul. Kaliskiego 2 00-908 Warszawa Konferencja naukowo-techniczna Dzisiejsze

Bardziej szczegółowo

Python: JPEG. Zadanie. 1. Wczytanie obrazka

Python: JPEG. Zadanie. 1. Wczytanie obrazka Python: JPEG Witajcie! Jest to kolejny z serii tutoriali uczący Pythona, a w przyszłości być może nawet Cythona i Numby Jeśli chcesz nauczyć się nowych, zaawansowanych konstrukcji to spróbuj rozwiązać

Bardziej szczegółowo

Przekształcenia widmowe Transformata Fouriera. Adam Wojciechowski

Przekształcenia widmowe Transformata Fouriera. Adam Wojciechowski Przekształcenia widmowe Transformata Fouriera Adam Wojciechowski Przekształcenia widmowe Odmiana przekształceń kontekstowych, w których kontekstem jest w zasadzie cały obraz. Za pomocą transformaty Fouriera

Bardziej szczegółowo

KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG

KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG Joint Photographic Expert Group - 1986 ISO - International Standard Organisation CCITT - Comité Consultatif International de Téléphonie et Télégraphie Standard

Bardziej szczegółowo

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

LABORATORIUM 5: Wpływ reprodukcji na skuteczność poszukiwań AE. opracował: dr inż. Witold Beluch OBLICZENIA EWOLUCYJNE LABORATORIUM 5: Wpływ reprodukcji na skuteczność poszukiwań AE opracował: dr inż. Witold Beluch witold.beluch@polsl.pl Gliwice 2012 OBLICZENIA EWOLUCYJNE LABORATORIUM 5 2 Cel ćwiczenia

Bardziej szczegółowo

Kodowanie i kompresja Streszczenie Studia Wieczorowe Wykład 10, 2007

Kodowanie i kompresja Streszczenie Studia Wieczorowe Wykład 10, 2007 1 Kompresja wideo Kodowanie i kompresja Streszczenie Studia Wieczorowe Wykład 10, 2007 Dane wideo jako sekwencja skorelowanych obrazów (ramek). Specyfika danych wideo: drobne zmiany kolorów w kolejnych

Bardziej szczegółowo

PRACA DYPLOMOWA STUDIA PIERWSZEGO STOPNIA. Łukasz Kutyła Numer albumu: 5199

PRACA DYPLOMOWA STUDIA PIERWSZEGO STOPNIA. Łukasz Kutyła Numer albumu: 5199 PRACA DYPLOMOWA STUDIA PIERWSZEGO STOPNIA Łukasz Kutyła Numer albumu: 5199 Temat pracy: Metody kompresji obrazu implementowane we współczesnych systemach telewizji cyfrowej opartej o protokół IP Cel i

Bardziej szczegółowo

METODY HEURYSTYCZNE wykład 3

METODY HEURYSTYCZNE wykład 3 METODY HEURYSTYCZNE wykład 3 1 Przykład: Znaleźć max { f (x)=x 2 } dla wartości całkowitych x z zakresu 0-31. Populacja w chwili t: P(t)= {x t 1,...x t n} Założenia: - łańcuchy 5-bitowe (x=0,1,...,31);

Bardziej szczegółowo

Dobór parametrów algorytmu ewolucyjnego

Dobór parametrów algorytmu ewolucyjnego Dobór parametrów algorytmu ewolucyjnego 1 2 Wstęp Algorytm ewolucyjny posiada wiele parametrów. Przykładowo dla algorytmu genetycznego są to: prawdopodobieństwa stosowania operatorów mutacji i krzyżowania.

Bardziej szczegółowo

Aproksymacja funkcji a regresja symboliczna

Aproksymacja funkcji a regresja symboliczna Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą

Bardziej szczegółowo

Cyfrowe przetwarzanie i kompresja danych. dr inż.. Wojciech Zając

Cyfrowe przetwarzanie i kompresja danych. dr inż.. Wojciech Zając Cyfrowe przetwarzanie i kompresja danych dr inż.. Wojciech Zając Wykład 7. Standardy kompresji obrazów nieruchomych Obraz cyfrowy co to takiego? OBRAZ ANALOGOWY OBRAZ CYFROWY PRÓBKOWANY 8x8 Kompresja danych

Bardziej szczegółowo

Kodowanie transformujace. Kompresja danych. Tomasz Jurdziński. Wykład 11: Transformaty i JPEG

Kodowanie transformujace. Kompresja danych. Tomasz Jurdziński. Wykład 11: Transformaty i JPEG Tomasz Wykład 11: Transformaty i JPEG Idea kodowania transformujacego Etapy kodowania 1 Wektor danych x 0,...,x N 1 przekształcamy (odwracalnie!) na wektor c 0,...,c N 1, tak aby: energia była skoncentrowana

Bardziej szczegółowo

ALGORYTMY EWOLUCYJNE. INTELIGENTNE TECHNIKI KOMPUTEROWE wykład 011. Napór selekcyjny (selektywny nacisk. Superosobniki: SELEKCJA

ALGORYTMY EWOLUCYJNE. INTELIGENTNE TECHNIKI KOMPUTEROWE wykład 011. Napór selekcyjny (selektywny nacisk. Superosobniki: SELEKCJA INTELIGENTNE TECHNIKI KOMPUTEROWE wykład 0 ALGORYTMY EWOLUCYJNE 2 Dla danego problemu można określić wiele sposobów kodowania i zdefiniować szereg operatorów (np. zadanie komiwojażera). AE to rozwinięcie

Bardziej szczegółowo

Sieci neuronowe - projekt

Sieci neuronowe - projekt Sieci neuronowe - projekt Maciej Barański, Kamil Dadel 15 stycznia 2015 Streszczenie W ramach projektu został zrealizowany algorytm kompresji stratnej bazujący na działaniu samoorganizującej się sieci

Bardziej szczegółowo

Algorytmy genetyczne w interpolacji wielomianowej

Algorytmy genetyczne w interpolacji wielomianowej Algorytmy genetyczne w interpolacji wielomianowej (seminarium robocze) Seminarium Metod Inteligencji Obliczeniowej Warszawa 22 II 2006 mgr inż. Marcin Borkowski Plan: Przypomnienie algorytmu niszowego

Bardziej szczegółowo

ALHE Z11 Jarosław Arabas wykład 11

ALHE Z11 Jarosław Arabas wykład 11 ALHE Z11 Jarosław Arabas wykład 11 algorytm ewolucyjny inicjuj P 0 {x 1, x 2... x } t 0 while! stop for i 1: if a p c O t,i mutation crossover select P t, k else O t,i mutation select P t,1 P t 1 replacement

Bardziej szczegółowo

Programowanie genetyczne, gra SNAKE

Programowanie genetyczne, gra SNAKE STUDENCKA PRACOWNIA ALGORYTMÓW EWOLUCYJNYCH Tomasz Kupczyk, Tomasz Urbański Programowanie genetyczne, gra SNAKE II UWr Wrocław 2009 Spis treści 1. Wstęp 3 1.1. Ogólny opis.....................................

Bardziej szczegółowo

Standardowy algorytm genetyczny

Standardowy algorytm genetyczny Standardowy algorytm genetyczny 1 Szybki przegląd 2 Opracowany w USA w latach 70. Wcześni badacze: John H. Holland. Autor monografii Adaptation in Natural and Artificial Systems, wydanej w 1975 r., (teoria

Bardziej szczegółowo

Zadania laboratoryjne i projektowe - wersja β

Zadania laboratoryjne i projektowe - wersja β Zadania laboratoryjne i projektowe - wersja β 1 Laboratorium Dwa problemy do wyboru (jeden do realizacji). 1. Water Jug Problem, 2. Wieże Hanoi. Water Jug Problem Ograniczenia dla każdej z wersji: pojemniki

Bardziej szczegółowo

Strefa pokrycia radiowego wokół stacji bazowych. Zasięg stacji bazowych Zazębianie się komórek

Strefa pokrycia radiowego wokół stacji bazowych. Zasięg stacji bazowych Zazębianie się komórek Problem zapożyczania kanałów z wykorzystaniem narzędzi optymalizacji Wprowadzenie Rozwiązanie problemu przydziału częstotliwości prowadzi do stanu, w którym każdej stacji bazowej przydzielono żądaną liczbę

Bardziej szczegółowo

Kompresja obrazów w statycznych - algorytm JPEG

Kompresja obrazów w statycznych - algorytm JPEG Kompresja obrazów w statycznych - algorytm JPEG Joint Photographic Expert Group - 986 ISO - International Standard Organisation CCITT - Comité Consultatif International de Téléphonie et Télégraphie Standard

Bardziej szczegółowo

Automatyczny dobór parametrów algorytmu genetycznego

Automatyczny dobór parametrów algorytmu genetycznego Automatyczny dobór parametrów algorytmu genetycznego Remigiusz Modrzejewski 22 grudnia 2008 Plan prezentacji Wstęp Atrakcyjność Pułapki Klasyfikacja Wstęp Atrakcyjność Pułapki Klasyfikacja Konstrukcja

Bardziej szczegółowo

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

Inspiracje soft computing. Soft computing. Terminy genetyczne i ich odpowiedniki w algorytmach genetycznych. Elementarny algorytm genetyczny Soft computing Soft computing tym róŝni się od klasycznych obliczeń (hard computing), Ŝe jest odporny na brak precyzji i niepewność danych wejściowych. Obliczenia soft computing mają inspiracje ze świata

Bardziej szczegółowo

Transformata Fouriera

Transformata Fouriera Transformata Fouriera Program wykładu 1. Wprowadzenie teoretyczne 2. Algorytm FFT 3. Zastosowanie analizy Fouriera 4. Przykłady programów Wprowadzenie teoretyczne Zespolona transformata Fouriera Jeżeli

Bardziej szczegółowo

TECHNIKI MULTIMEDIALNE

TECHNIKI MULTIMEDIALNE Studia Podyplomowe INFORMATYKA TECHNIKI MULTIMEDIALNE dr Artur Bartoszewski Film ile klatek na sekundę? Impulsy świetlne działają na komórki nerwowe jeszcze przez kilka ułamków sekundy po ustąpieniu faktycznego

Bardziej szczegółowo

Układy stochastyczne

Układy stochastyczne Instytut Informatyki Uniwersytetu Śląskiego 21 stycznia 2009 Definicja Definicja Proces stochastyczny to funkcja losowa, czyli funkcja matematyczna, której wartości leżą w przestrzeni zdarzeń losowych.

Bardziej szczegółowo

Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład Kody liniowe - kodowanie w oparciu o macierz parzystości

Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład Kody liniowe - kodowanie w oparciu o macierz parzystości Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład 13 1 Kody liniowe - kodowanie w oparciu o macierz parzystości Przykład Różne macierze parzystości dla kodu powtórzeniowego. Co wiemy z algebry

Bardziej szczegółowo

dr inż. Piotr Odya dr inż. Piotr Suchomski

dr inż. Piotr Odya dr inż. Piotr Suchomski dr inż. Piotr Odya dr inż. Piotr Suchomski Podział grafiki wektorowa; matematyczny opis rysunku; małe wymagania pamięciowe (i obliczeniowe); rasteryzacja konwersja do postaci rastrowej; rastrowa; tablica

Bardziej szczegółowo

Techniki optymalizacji

Techniki optymalizacji Techniki optymalizacji Algorytm kolonii mrówek Idea Smuga feromonowa 1 Sztuczne mrówki w TSP Sztuczna mrówka agent, który porusza się z miasta do miasta Mrówki preferują miasta połączone łukami z dużą

Bardziej szczegółowo

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych autor: Robert Drab opiekun naukowy: dr inż. Paweł Rotter 1. Wstęp Zagadnienie generowania trójwymiarowego

Bardziej szczegółowo

METODY HEURYSTYCZNE wykład 3

METODY HEURYSTYCZNE wykład 3 SCHEMAT DZIAŁANIA AG: METODY HEURYSTYCZNE wykład 3 procedure Algorytm_genetyczny t:=0 wybierz populację początkową P(t) oceń P(t) while (not warunek_zakończenia) do t:=t+ wybierz P(t) z P(t-) (selekcja)

Bardziej szczegółowo

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11,

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11, 1 Kwantyzacja skalarna Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11, 10.05.005 Kwantyzacja polega na reprezentowaniu dużego zbioru wartości (być może nieskończonego) za pomocą wartości

Bardziej szczegółowo

Optymalizacja optymalizacji

Optymalizacja optymalizacji 7 maja 2008 Wstęp Optymalizacja lokalna Optymalizacja globalna Algorytmy genetyczne Badane czasteczki Wykorzystane oprogramowanie (Algorytm genetyczny) 2 Sieć neuronowa Pochodne met-enkefaliny Optymalizacja

Bardziej szczegółowo

Polcode Code Contest PHP-10.09

Polcode Code Contest PHP-10.09 Polcode Code Contest PHP-10.09 Przedmiotem konkursu jest napisanie w języku PHP programu, którego wykonanie spowoduje rozwiązanie zadanego problemu i wyświetlenie rezultatu. Zadanie konkursowe Celem zadania

Bardziej szczegółowo

Szczegółowy program kursu Statystyka z programem Excel (30 godzin lekcyjnych zajęć)

Szczegółowy program kursu Statystyka z programem Excel (30 godzin lekcyjnych zajęć) Szczegółowy program kursu Statystyka z programem Excel (30 godzin lekcyjnych zajęć) 1. Populacja generalna a losowa próba, parametr rozkładu cechy a jego ocena z losowej próby, miary opisu statystycznego

Bardziej szczegółowo

0 + 0 = 0, = 1, = 1, = 0.

0 + 0 = 0, = 1, = 1, = 0. 5 Kody liniowe Jak już wiemy, w celu przesłania zakodowanego tekstu dzielimy go na bloki i do każdego z bloków dodajemy tak zwane bity sprawdzające. Bity te są w ścisłej zależności z bitami informacyjnymi,

Bardziej szczegółowo

Wstęp do techniki wideo

Wstęp do techniki wideo Wstęp do techniki wideo Wykład 11 Technologie dla urządzeń mobilnych Mgr inż. Łukasz Kirchner lukasz.kirchner@cs.put.poznan.pl http://www.cs.put.poznan.pl/lkirchner Standardy przesyłania obrazu wideo Luminancja

Bardziej szczegółowo

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia. ARYTMETYKA BINARNA ROZWINIĘCIE DWÓJKOWE Jednym z najlepiej znanych sposobów kodowania informacji zawartej w liczbach jest kodowanie w dziesiątkowym systemie pozycyjnym, w którym dla przedstawienia liczb

Bardziej szczegółowo

Analiza obrazów - sprawozdanie nr 2

Analiza obrazów - sprawozdanie nr 2 Analiza obrazów - sprawozdanie nr 2 Filtracja obrazów Filtracja obrazu polega na obliczeniu wartości każdego z punktów obrazu na podstawie punktów z jego otoczenia. Każdy sąsiedni piksel ma wagę, która

Bardziej szczegółowo

Audio i video. R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski

Audio i video. R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski Audio i video R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski s-rg@siwy.il.pw.edu.pl Fale dźwiękowe Dźwięk jest drganiem powietrza rozchodzącym się w postaci fali. Fala ma określoną amplitudę i częstotliwość.

Bardziej szczegółowo

Programowanie celowe #1

Programowanie celowe #1 Programowanie celowe #1 Problem programowania celowego (PC) jest przykładem problemu programowania matematycznego nieliniowego, który można skutecznie zlinearyzować, tzn. zapisać (i rozwiązać) jako problem

Bardziej szczegółowo

Kodowanie podpasmowe. Plan 1. Zasada 2. Filtry cyfrowe 3. Podstawowy algorytm 4. Zastosowania

Kodowanie podpasmowe. Plan 1. Zasada 2. Filtry cyfrowe 3. Podstawowy algorytm 4. Zastosowania Kodowanie podpasmowe Plan 1. Zasada 2. Filtry cyfrowe 3. Podstawowy algorytm 4. Zastosowania Zasada ogólna Rozkład sygnału źródłowego na części składowe (jak w kodowaniu transformacyjnym) Wada kodowania

Bardziej szczegółowo

W rachunku prawdopodobieństwa wyróżniamy dwie zasadnicze grupy rozkładów zmiennych losowych:

W rachunku prawdopodobieństwa wyróżniamy dwie zasadnicze grupy rozkładów zmiennych losowych: W rachunku prawdopodobieństwa wyróżniamy dwie zasadnicze grupy rozkładów zmiennych losowych: Zmienne losowe skokowe (dyskretne) przyjmujące co najwyżej przeliczalnie wiele wartości Zmienne losowe ciągłe

Bardziej szczegółowo

WYKŁAD 10. kodem pierwotnym krzywej jest ciąg par współrzędnych x, y kolejnych punktów krzywej: (x 1, y 1 ), (x 2, y 2 ),...

WYKŁAD 10. kodem pierwotnym krzywej jest ciąg par współrzędnych x, y kolejnych punktów krzywej: (x 1, y 1 ), (x 2, y 2 ),... WYKŁAD 10 Kompresja krzywych dyskretnych Kompresja krzywych dyskretnych KP SK = KW SK - stopień kompresji krzywej. KP [bajt] - obszar pamięci zajmowany przez kod pierwotny krzywej. KW [bajt] - obszar pamięci

Bardziej szczegółowo

Kompresja danych DKDA (7)

Kompresja danych DKDA (7) Kompresja danych DKDA (7) Marcin Gogolewski marcing@wmi.amu.edu.pl Uniwersytet im. Adama Mickiewicza w Poznaniu Poznań, 22 listopada 2016 1 Kwantyzacja skalarna Wprowadzenie Analiza jakości Typy kwantyzatorów

Bardziej szczegółowo

5. Rozwiązywanie układów równań liniowych

5. Rozwiązywanie układów równań liniowych 5. Rozwiązywanie układów równań liniowych Wprowadzenie (5.1) Układ n równań z n niewiadomymi: a 11 +a 12 x 2 +...+a 1n x n =a 10, a 21 +a 22 x 2 +...+a 2n x n =a 20,..., a n1 +a n2 x 2 +...+a nn x n =a

Bardziej szczegółowo

Transformaty. Kodowanie transformujace

Transformaty. Kodowanie transformujace Transformaty. Kodowanie transformujace Kodowanie i kompresja informacji - Wykład 10 10 maja 2009 Szeregi Fouriera Każda funkcję okresowa f (t) o okresie T można zapisać jako f (t) = a 0 + a n cos nω 0

Bardziej szczegółowo

Analiza składowych głównych. Wprowadzenie

Analiza składowych głównych. Wprowadzenie Wprowadzenie jest techniką redukcji wymiaru. Składowe główne zostały po raz pierwszy zaproponowane przez Pearsona(1901), a następnie rozwinięte przez Hotellinga (1933). jest zaliczana do systemów uczących

Bardziej szczegółowo

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

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych. Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(), zwaną funkcją aproksymującą

Bardziej szczegółowo

Analiza głównych składowych- redukcja wymiaru, wykł. 12

Analiza głównych składowych- redukcja wymiaru, wykł. 12 Analiza głównych składowych- redukcja wymiaru, wykł. 12 Joanna Jędrzejowicz Instytut Informatyki Konieczność redukcji wymiaru w eksploracji danych bazy danych spotykane w zadaniach eksploracji danych mają

Bardziej szczegółowo

Metoda Karnaugh. B A BC A

Metoda Karnaugh. B A BC A Metoda Karnaugh. Powszechnie uważa się, iż układ o mniejszej liczbie elementów jest tańszy i bardziej niezawodny, a spośród dwóch układów o takiej samej liczbie elementów logicznych lepszy jest ten, który

Bardziej szczegółowo

Inteligentna analiza danych

Inteligentna analiza danych Numer indeksu 150946 Michał Moroz Imię i nazwisko Numer indeksu 150875 Grzegorz Graczyk Imię i nazwisko kierunek: Informatyka rok akademicki: 2010/2011 Inteligentna analiza danych Ćwiczenie I Wskaźniki

Bardziej szczegółowo

Obliczenia ewolucyjne - plan wykładu

Obliczenia ewolucyjne - plan wykładu Obliczenia ewolucyjne - plan wykładu Wprowadzenie Algorytmy genetyczne Programowanie genetyczne Programowanie ewolucyjne Strategie ewolucyjne Inne modele obliczeń ewolucyjnych Podsumowanie Ewolucja Ewolucja

Bardziej szczegółowo

Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne

Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne J. Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2014-02-27 1 Mutacje algorytmu genetycznego 2 Dziedzina niewypukła abstrakcyjna

Bardziej szczegółowo

Algorytmy genetyczne

Algorytmy genetyczne Politechnika Łódzka Katedra Informatyki Stosowanej Algorytmy genetyczne Wykład 2 Przygotował i prowadzi: Dr inż. Piotr Urbanek Powtórzenie Pytania: Jaki mechanizm jest stosowany w naturze do takiego modyfikowania

Bardziej szczegółowo

Generowanie i optymalizacja harmonogramu za pomoca

Generowanie i optymalizacja harmonogramu za pomoca Generowanie i optymalizacja harmonogramu za pomoca na przykładzie generatora planu zajęć Matematyka Stosowana i Informatyka Stosowana Wydział Fizyki Technicznej i Matematyki Stosowanej Politechnika Gdańska

Bardziej szczegółowo

Joint Photographic Experts Group

Joint Photographic Experts Group Joint Photographic Experts Group Artur Drozd Uniwersytet Jagielloński 14 maja 2010 1 Co to jest JPEG? Dlaczego powstał? 2 Transformata Fouriera 3 Dyskretna transformata kosinusowa (DCT-II) 4 Kodowanie

Bardziej szczegółowo

Spis treści. Format WAVE Format MP3 Format ACC i inne Konwersja między formatami

Spis treści. Format WAVE Format MP3 Format ACC i inne Konwersja między formatami Spis treści Format WAVE Format MP3 Format ACC i inne Konwersja między formatami Formaty plików audio różnią się od siebie przede wszystkim zastosowanymi algorytmami kompresji. Kompresja danych polega na

Bardziej szczegółowo

Testy nieparametryczne

Testy nieparametryczne Testy nieparametryczne Testy nieparametryczne możemy stosować, gdy nie są spełnione założenia wymagane dla testów parametrycznych. Stosujemy je również, gdy dane można uporządkować według określonych kryteriów

Bardziej szczegółowo

Politechnika Świętokrzyska. Laboratorium. Cyfrowe przetwarzanie sygnałów. Ćwiczenie 6. Transformata cosinusowa. Krótkookresowa transformata Fouriera.

Politechnika Świętokrzyska. Laboratorium. Cyfrowe przetwarzanie sygnałów. Ćwiczenie 6. Transformata cosinusowa. Krótkookresowa transformata Fouriera. Politechnika Świętokrzyska Laboratorium Cyfrowe przetwarzanie sygnałów Ćwiczenie 6 Transformata cosinusowa. Krótkookresowa transformata Fouriera. Cel ćwiczenia Celem ćwiczenia jest zapoznanie studentów

Bardziej szczegółowo

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

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 335 Sztuczne sieci neuronowe Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 335 Wykład 10 Mapa cech Kohonena i jej modyfikacje - uczenie sieci samoorganizujących się - kwantowanie wektorowe

Bardziej szczegółowo