Sprzężenie wizyjne w robotyce

Podobne dokumenty
Przetwarzanie obrazów i systemy wizyjne

Przetwarzanie obrazów i systemy wizyjne

Akwizycja obrazów. Zagadnienia wstępne

Pojęcie Barwy. Grafika Komputerowa modele kolorów. Terminologia BARWY W GRAFICE KOMPUTEROWEJ. Marek Pudełko

Teoria światła i barwy

PODSTAWY BARWY, PIGMENTY CERAMICZNE

Do opisu kolorów używanych w grafice cyfrowej śluzą modele barw.

MODELE KOLORÓW. Przygotował: Robert Bednarz

WYKŁAD 14 PODSTAWY TEORII BARW. Plan wykładu: 1. Wrażenie widzenia barwy. Wrażenie widzenia barwy Modele liczbowe barw

Modele i przestrzenie koloru

Marcin Wilczewski Politechnika Gdańska, 2013/14

Adam Korzeniewski p Katedra Systemów Multimedialnych

WYKŁAD 11. Kolor. fiolet, indygo, niebieski, zielony, żółty, pomarańczowy, czerwony

Wprowadzenie do cyfrowego przetwarzania obrazów

GRAFIKA RASTROWA GRAFIKA RASTROWA

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 1 AiR III

Przetwarzanie obrazów wykład 1. Adam Wojciechowski

Percepcja obrazu Podstawy grafiki komputerowej

Janusz Ganczarski CIE XYZ

Zmysły. Wzrok Węch Dotyk Smak Słuch Równowaga?

PODSTAWY TEORII BARW

Komunikacja Człowiek-Komputer

Fotometria i kolorymetria

Fotometria i kolorymetria

Kurs grafiki komputerowej Lekcja 2. Barwa i kolor

Fotometria i kolorymetria

Wprowadzenie do grafiki maszynowej. Wprowadzenie do percepcji wizualnej i modeli barw

Kolor w grafice komputerowej. Światło i barwa

Przetwarzanie obrazów Grafika komputerowa. dr inż. Marcin Wilczewski 2016/2017

Grafika Komputerowa. Percepcja wizualna i modele barw

Cyfrowe Przetwarzanie Obrazów. Karol Czapnik

Wprowadzenie do cyfrowego przetwarzania obrazów medycznych.

Dzień dobry. Miejsce: IFE - Centrum Kształcenia Międzynarodowego PŁ, ul. Żwirki 36, sala nr 7

WSTĘP DO GRAFIKI KOMPUTEROWEJ

TEORIA BARW (elementy) 1. Podstawowe wiadomości o barwach

Chemia Procesu Widzenia

Wprowadzenie do technologii HDR

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 2 AiR III

Grafika komputerowa. Oko posiada pręciki (100 mln) dla detekcji składowych luminancji i 3 rodzaje czopków (9 mln) do detekcji koloru Żółty

INFORMATYKA WSTĘP DO GRAFIKI RASTROWEJ

Tajemnice koloru, część 1

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.

Obraz jako funkcja Przekształcenia geometryczne

Komunikacja Człowiek-Komputer

Laboratorium Grafiki Komputerowej Przekształcenia na modelach barw

Grafika komputerowa. Dla DSI II

Fotometria i kolorymetria

zna wybrane modele kolorów i metody transformacji między nimi zna podstawowe techniki filtracji liniowej, nieliniowej dla obrazów cyfrowych

Teoria koloru Co to jest?

KARTA PRZEDMIOTU. W5/1;W16/1 W5 Zna podstawowe metody przetwarzania wstępnego EP WM K_W9/3; obrazów barwnych.

Zarządzanie barwą w fotografii

BARWA. Barwa postrzegana opisanie cech charakteryzujących wrażenie, jakie powstaje w umyśle;

Grafika komputerowa. Adam Wojciechowski

Jaki kolor widzisz? Doświadczenie pokazuje zjawisko męczenia się receptorów w oku oraz istnienie barw dopełniających. Zastosowanie/Słowa kluczowe

Ćwiczenie nr 1. Temat: BADANIE OSTROŚCI WIDZENIA W RÓŻNYCH WARUNKACH OŚWIETLENIOWYCH

Przestrzenie barw. 1. Model RGB

Luminancja jako jednostka udziału barwy składowej w mierzonej:

Rodzaje skanerów. skaner ręczny. skaner płaski. skaner bębnowy. skaner do slajdów. skaner kodów kreskowych

Kolor, mat. pomoc. dla technologia inf. (c) M. Żabka (12 listopada 2007) str. 1

Elementy grafiki komputerowej. Percepcja wizualna i modele barw

Reprezentacje danych multimedialnych - kolory. 1. Natura wiatła 2. Widzenie barwne 3. Diagram chromatycznoci 4. Modele koloru

Laboratorium. Cyfrowe przetwarzanie sygnałów. Ćwiczenie 9. Przetwarzanie sygnałów wizyjnych. Politechnika Świętokrzyska.

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

Grafika 2D. Pojęcia podstawowe. opracowanie: Jacek Kęsik

Wstęp do zarządzania kolorem

KOREKTA ROZKŁADU JASNOŚCI (obrazy monochromatyczne i barwne)

PDF stworzony przez wersję demonstracyjną pdffactory

Multimedia i grafika komputerowa

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

Wykład 2. Fotometria i kolorymetria

Przetwarzanie obrazów rastrowych macierzą konwolucji

Newton Isaac ( ), fizyk, matematyk, filozof i astronom angielski.

POPRAWIANIE JAKOŚCI OBRAZU W DZIEDZINIE PRZESTRZENNEJ (spatial image enhancement)

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych

Komputerowe obrazowanie medyczne

Przekształcenia punktowe

Temat: Kolorowanie i przedstawianie zespolonej funkcji falowej w przestrzeni RGB

Obraz cyfrowy. Radosław Mantiuk. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

EKSPLORACJA ZASOBÓW INTERNETU LABORATORIUM VIII WYSZUKIWANIE OBRAZÓW

GRAFIKA. Rodzaje grafiki i odpowiadające im edytory

0. OpenGL ma układ współrzędnych taki, że oś y jest skierowana (względem monitora) a) w dół b) w górę c) w lewo d) w prawo e) w kierunku do

Przekształcenia widmowe Transformata Fouriera. Adam Wojciechowski

Technologie Informacyjne

OP6 WIDZENIE BARWNE I FIZYCZNE POCHODZENIE BARW W PRZYRODZIE

Analiza obrazu. wykład 1. Marek Jan Kasprowicz Uniwersytet Rolniczy Marek Jan Kasprowicz Analiza obrazu komputerowego 2009 r.

BIBLIOTEKA PROGRAMU R - BIOPS. Narzędzia Informatyczne w Badaniach Naukowych Katarzyna Bernat

Obliczenia Naukowe. Wykład 12: Zagadnienia na egzamin. Bartek Wilczyński

5. ZJAWISKO BARWY PERCEPCJA (WRAŻENIE) BARWY

Grafika komputerowa Wykład 11 Barwa czy kolor?

Transformata Fouriera

Dane obrazowe. R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski

Rys. 1. Zakres widzialny fal elektromagnetycznych dla widzenia w ciągu dnia i nocy.

Fotometria i kolorymetria

Kolorymetria. Wykład opracowany m.in. dzięki materiałom dra W.A. Woźniaka, za jego zgodą.

K O L O R Y M E T R I A

Grafika Komputerowa I

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 ),...

1 LEKCJA. Definicja grafiki. Główne działy grafiki komputerowej. Programy graficzne: Grafika rastrowa. Grafika wektorowa. Grafika trójwymiarowa

prof. Paweł Strumiłło dr hab. Michał Strzelecki tel , p. 216, godz. przyj: poniedziałek 12-13, wtorek 15-16

Transkrypt:

Sprzężenie wizyjne w robotyce dr inż. Marcin Kiełczewski Katedra Sterowania i Inżynierii Systemów p. 420(EL) tel. 665 2848 marcin.kielczewski@put.poznan.pl www.put.poznan.pl/~marcin.kielczewski Literatura 1. Gonzalez R.C., Woods R.E., Digital Image Processing, Prentice Hall, SE, 2002 2. Fu K.S., Gonzalez R.C., Lee C.S.G., ROBOTICS, Control, Sensing, Vision, and Intelligence, McGraw-Hill 1987 3. B. Siciliano, O. Khatib (Eds.) Springer Handbook of Robotics, Springer-Verlag 2008 4. Tadeusiewicz R., Systemy wizyjne robotów przemysłowych, WNT 1992 5. Tadeusiewicz R., Korohoda P., Komputerowa analiza i przetwarzanie obrazów, WFPT 1997 6. Malina W., Ablameyko S., Pawlak W., Podstawy cyfrowego przetwarzania obrazów, EXIT 2002 7. Pavlidis T.,Grafika i przetwarzanie obrazów. Algorytmy, WNT 1987 8. Bradski G., Kaehler A. Learning OpenCV. Computer Vision with the OpenCV Library, O Reilly Media, 2008 2

Sprzężenie wizyjne w robotyce System wizyjny Transmisja obrazu Akwizycja obrazu Kamera Komputer Oprogramowanie Baza wiedzy Wyniki przetwarzania Decyzja Analiza i przetwarzanie Wizualizacja Reakcja - Sterowanie 3 Systemy wizyjne w robotyce Zastosowania systemów wizyjnych w robotyce pozycjonowanie detali, kontrola poprawności montażu, jakości wyrobów element sprzężenia zwrotnego w układzie sterowania umożliwiający określenie położenia i orientacji w medycynie do przeprowadzania teleoperacji czy w sterowaniu robotów asystentów wspomagających lekarzy podczas operacji roboty humanoidalne układy wizyjne (stereowizyjne) mają stanowić element inteligentnego sensora i namiastkę wzroku człowieka nawigacja w nieznanym środowisku, określanie wzajemnego położenia przedmiotów i budowa map otoczenia (SLAM) patrolowanie i monitorowanie rozległych terenów (teleoperacja) przeszukiwanie obszarów kataklizmów czy rejonów potencjalnie niebezpiecznych dla człowieka eksploracja mórz czy powierzchni innych planet 4

Zastosowanie sprzężenia wizyjnego w sterowaniu Konfiguracje rozmieszczenia kamery względem robota Kamera ruchoma umieszczona na końcówce manipulatora lub na robocie mobilnym (ang. Eye-in-hand) Zależności geometryczne między kamerą i przestrzenią roboczą zmieniają się w trakcie ruchu, zazwyczaj znane (możliwe do określenia) jest przekształcenie między kamerą a układem związanym z robotem W pewnych sytuacjach trudno określić czy zmiany na obrazie wynikają z ruchu kamery czy ruchu w samym otoczeniu (informacja o charakterze lokalnym) Niewielkie ruchy robota mogą powodować znaczące zmiany na obrazie Dla robotów mobilnych nie ogranicza pola działania Dla manipulatorów wyróżnia się konfiguracje w których kamera obserwuje końcówkę roboczą oraz takie w których końcówka nie znajduje się w polu widzenia 5 Zastosowanie sprzężenia wizyjnego w sterowaniu Konfiguracje rozmieszczenia kamery względem robota Kamera nieruchoma umieszczona w przestrzeni roboczej obserwująca robota lub otoczenie (ang. Fixed camera) Kamera powinna być tak umieszczona aby obserwować założoną przestrzeń roboczą i robota (ograniczenie przestrzeni roboczej polem widzenia kamery, zastosowania stacjonarne) Zaletą jest stałe pole widzenia i stałe zależności pomiędzy kamerą a przestrzenią roboczą (informacja w układzie podstawowym, globalna) Problemy z przesłanianiem przez robota części przestrzeni roboczej lub obiektów (dla manipulatorów) f p = 64Hz Digital camera SVS 084MSCL-2 Mobile robot MTv3 PC Computer LEDs of the marker 115200b/s ω Ld ω d = ω Pd Radio communication module 6

Zastosowanie sprzężenia wizyjnego w sterowaniu Wykorzystanie systemu wizyjnego w sterowaniu wymaga wyznaczenia sygnału uchybu, tzw. uchybu wizyjnego, obliczanego na podstawie pomiarów uzyskanych z analizy obrazu Sterowanie w oparciu o uchyb wyznaczany w przestrzeni zadania (ang. position-based) Bardziej intuicyjne, ale wymaga wyznaczenia cech na obrazie po czym przeliczenia współrzędnych fizycznych związanych z przestrzenią zadania Zazwyczaj większa złożoność obliczeniowa, konieczność kalibracji kamery (dokładność!), określenia zależności pomiędzy układem kamery, a układem związanym z robotem albo zadaniem Brak bezpośredniego wpływu na obszar obserwacji kamery podczas ruchu w przypadku kamery znajdującej się na robocie manipulacyjnym Sterowanie w oparciu o uchyb wyznaczany w przestrzeni cech obrazu (ang. image-based) Zazwyczaj mniejsza złożoność obliczeniowa, brak konieczności pełnej rekonstrukcji sceny i przeliczenia do współrzędnych fizycznych, większa odporność na błędy kalibracji Sterowanie zapewnia, że śledzone na obrazie cechy punktowe nie wyjdą poza pole widzenia kamery Brak bezpośredniej kontroli nad zakresem wykonywanych ruchów, minimalizacja błędu może powodować znaczne przemieszczenia kamery (dla manipulatorów) Osobliwości w sterowaniu wynikające z rzutowania z przestrzeni 3D na płaszczyznę obrazu 7 Podstawowe problemy i źródła komplikacji Akwizycja, przesyłanie i przetwarzanie ogromnych ilości danych (cyfrowa transmisja obrazu, np. 640x480 kolor 25Hz -> ok. 23MB/s; FullHD 1920x1080 25Hz -> ok. 148 MB/s) Problem z niedoskonałościami informacji obrazowej: niedoskonałości procesu akwizycji obrazu (szumy i zakłócenia, zniekształcenia optyczne, chromatyczne, itp.) można poprawiać poprzez udoskonalenia techniczne natury procesu akwizycji obrazu (mapowanie 3D->2D nie można tego wyeliminować, oświetlenia sceny w przemyśle stosuje się oświetlacze) Duża złożoność obliczeniowa algorytmów przetwarzania obrazów i obszerność pamięciowa procesów Czasochłonność w uzyskaniu pełnej dostępnej informacji z obrazu Problem z realizacją z dużą częstotliwością w czasie rzeczywistym Konieczność uwzględnienia wiedzy przy przetwarzaniu obrazu z dziedziny (ang. domain knowledge) zdroworozsądkowej (ang. common sense knowledge) zwłaszcza w uczeniu z informacji obrazowej stosowanie oprócz technik formalnych, metod i algorytmów heurystycznych dla konkretnych problemów 8

Relacje z innymi dziedzinami Przetwarzanie obrazów (ang. Image Processing) Rozpoznawanie obrazów (ang. Pattern Recognition) Widzenie komputerowe (ang. Computer Vision) Rozumienie obrazów (ang. Image Understanding) Robotyka (ang. Robotics) Przetwarzanie sygnałów (ang. Signal Processing) Grafika komputerowa (ang. Computer Graphics) Sztuczna inteligencja (ang. Artificial Intelligence) Uczenie maszynowe (ang. Machine Learning) Psychologia poznawcza (ang. Cognitive Science) Algebra (np. w morfologii matematycznej, ang. Morphology) Statystyka (ang. Statistics) 9 Scena 2D / 3D Schemat komputerowego systemu przetwarzania obrazu System wizyjny Transmisja obrazu Akwizycja obrazu Wyniki przetwarzania Kamera Komputer Oprogramowanie Baza wiedzy Analiza i przetwarzanie Wizualizacja Decyzja Reakcja Tor wizyjny zespół układów optycznych i elektronicznych służących do przetwarzania obrazu optycznego na sygnały elektryczne oraz odwzorowania obrazu na urządzeniach wyświetlających 10

Sprzężenie wizyjne a widzenie komputerowe (maszynowe) Etapy procesu widzenia komputerowego Akwizycja Przetwarzanie wstępne Segmentacja Wydzielanie i opis cech Analiza i rozpoznawanie Interpretacja wyników Dlaczego warto? >80% (90%) informacji wpływa do mózgu drogą wzrokową Cywilizacja wizualna, rozwój technik multimedialnych Rosnąca dostępność sprzętu, spadek cen, wzrost mocy obliczeniowej komputerów, rozwój algorytmów analizy obrazu Coraz większe spektrum potencjalnych i realnych zastosowań (zwłaszcza w zadaniach uciążliwych dla człowieka) np.: automatyczna kontrola jakości produktów, identyfikacja, systemy dozoru i monitoringu, robotyka, prowadzenie pojazdów, zastosowania medyczne, astronomia, biologia, wojskowe, itd. 11 Przetwarzanie obrazów Przetwarzanie obrazów stosowanie szeregu przekształceń zmieniających lub poprawiających ich jakość, podkreślających ich cechy składowe pod kątem lepszej obserwacji, automatycznej analizy i rozpoznawania oraz doprowadzenia do postaci wygodnej do pomiaru wybranych cech, kodowania czy transmisji Proces poprawy jakości obrazu nie prowadzi do zwiększenia jego treści, ale zwiększa zakres dynamiczny wybranych cech, co ułatwia możliwość ich detekcji Procedury poprawy jakości obrazu obejmują różnorodne operacje np. zmiany poziomów szarości i kontrastu, redukcja poziomu szumów, wyostrzenie krawędzi i polepszanie ostrości, filtracja przestrzenna, interpolacja i powiększanie, pseudokoloryzacja, itd. 12

Obraz a widmo fal elektromagnetycznych 10 24 10 22 10 20 10 18 10 16 10 14 10 12 10 8 10 10 10 6 10 4 10 2 [Hz] promieniowanie gamma promieniowanie X 10nm ultrafiolet podczerwień mikrofale Widmo optyczne 1mm fale radiowe 350nm Zakres widzialny 780nm Zakres promieniowania gamma obrazowanie w medycynie nuklearnej Promieniowanie X obrazy rentgenowskie (medycyna i kontrola), astronomia Ultrafiolet litografia, biologia (mikroskopy fluorescencyjne), kontrola jakości elementów w przemyśle Podczerwień termografia i termowizja, detekcja różnych materiałów z tworzyw sztucznych Mikrofale obrazy tworzone na podstawie danych z radarów Zakres fal radiowych obrazy rezonansu magnetycznego 13 Przykłady obrazów z różnych zakresów widma Promieniowanie X Podczerwień 14

Obraz cyfrowy Analiza obrazu przez system komputerowy wymaga przetworzenia z postaci analogowej na postać cyfrową dokonuje się tego przez dyskretyzację i kwantyzację obrazu Dyskretyzacja obrazu jest realizowana przez dwuwymiarowe próbkowanie w ściśle określonych miejscach przestrzeni (zazwyczaj w węzłach siatki prostokątnej) Kwantyzacja polega na podziale ciągłego zakresu wartości jasności na przedziały i przypisaniu każdemu punktowi wybranej wartości dyskretnej reprezentującej dany przedział Dyskretyzacja Kwantowanie 15 Obraz cyfrowy jako macierz liczb (0,0) Y (kolumna) (0,0) 20 19 18 54 112 18 22 21 65 98 17 16 23 45 88 19 15 22 34 65 21 20 25 31 45 X (wiersz) piksel (ang. picture element) imtool Obraz cyfrowy macierz dwuwymiarowa (M,N) o M wierszach i N kolumnach, której elementy są nieujemne i przyjmują skończoną liczbę wartości Funkcja obrazowa f(x,y)=0,1,...,l-1, gdzie x=0,1,...,m-1, y=0,1,...,n-1, L określa liczbę poziomów szarości (np. L=256) 16

Podstawowe klasy obrazów cyfrowych Obrazy monochromatyczne, o wielu poziomach szarości, najczęściej L=256, piksele reprezentowane są przez 1 bajt (8 bitów, 2 8 =256) Obrazy binarne L=2, piksele przyjmują wartości 0 lub 1, f(x,y)=0,1, reprezentacja na pojedynczym bicie (wykorzystywane często przy oznaczaniu przynależności punktów do tła lub obiektów) Obrazy kolorowe dla modelu RGB f(x,y)=r(x,y),g(x,y),b(x,y); najczęściejciej przyjmuje się 8 bitów na każdą składową (kolor 24bit) co daje możliwość zakodowania 2 24 =16777216 kolorów Red Green Blue 17 Postrzeganie światła przez człowieka Kolor a barwa pojęcia używane zamiennie Kolor określa właściwości surowca (np. kolor farby) Barwa odnosi się do wrażenia odbieranego przez człowieka zależnego od składu widma i długości fali elektromagnetycznej To, co oko ludzkie odbiera jako różnobarwne światło, jest w rzeczywistości falą elektromagnetyczną, pochodzącą z wąskiego pasma częstotliwości (długości fali). Każda częstotliwość fali z zakresu światła widzialnego odpowiada innej barwie, a kolory spektrum zmieniają się od czerwonego przez zielony do fioletu. 350nm 780nm Światło jest przetwarzane w impulsy nerwowe przy pomocy receptorów: pręcików (ok. 130 milionów) i czopków (ok. 7 milionów) rozłożonych na siatkówce. Czopki odpowiadają za postrzeganie barwy i najlepiej pracują przy jasnym oświetleniu (widzenie fotopowe - dzienne). Pręciki są czułe tylko na natężenie światła ( widzą na szaro), pozwalają widzieć przy słabym oświetleniu (widzenie skotopowe - nocne) 18

Postrzeganie światła przez człowieka Czopki odpowiadają za postrzeganie trzech składowych koloru ze szczytową czułością na światło czerwone, zielone i niebieskie (uwaga na zachodzenie pasm odbiorczych - to samo wrażenie może powstać w wyniku różnych konfiguracji faliświetlnej) Czopki i pręciki nie są rozłożone równomiernie na siatkówce, najwięcej czopków jest skupionych w otoczeniu plamki żółtej. W miejscu gdzie jest nerw wzrokowy znajduje się plamka ślepa. Gęstość rozłożenia receptorów oraz efekty dyfrakcyjne wyznaczają rozdzielczość wzroku wynosi ona ok. 1 minuty kątowej 19 Postrzeganie światła przez człowieka Prawo Webera-Fechnera Dostrzegalny dla zmysłu wzroku przyrost natężenia promieniowania jest proporcjonalny do natężenia już działającego. Jeśli przypiszemy barwie białej wartość 1 a barwie czarnej 0 to przykładowo różnica między 0,1 i 0,11 oraz 0,5 i 0,55 odpowiada takiej samej zmianie jasności dla oka ludzkiego. Innymi słowy oko ludzkie działa jak system logarytmujący I=k*log(I/I 0 ) Dla prawidłowo skonstruowanej skali szarości poziomy jasności powinny zmieniać się w skali logarytmicznej a nie liniowo! Przykład: I 0 =1/8 i chcemy mieć cztery równomierne poziomy szarości, wtedy I 0 =1/8, I 1 =1/4, I 2 =1/2, I 3 =1 Poziom jasności wzrasta liniowo wrażenie wykładnicze (wrażenie zbyt szybko narastającej czerni) Poziom jasności wzrasta wykładniczo wrażenie liniowe 20

Postrzeganie światła przez człowieka Widzenie barwne Postrzeganą barwę najczęściej określa się przy pomocy trzech pojęć: odcień barwy (kolor) nasycenie jasność Odcień barwy dotyczy takich pojęć jak czerwony, zielony, żółty, itd., określa wrażenie związane z konkretną długością fali. Nasycenie mówi jak daleko dana barwa jest od poziomu szarości o tym samym natężeniu czyli oznacza mieszanie z barwą białą, np. czerwony jest wysoce nasycony, podczas gdy różowy mało (generalnie barwy nienasycone zawierają więcej światła białego niż nasycone). Jasność wrażenie związanezane z wielkością strumienia świetlnego, określa achromatyczną intensywność światła emitowanego bądź odbijanego przez obserwowany obiekt. Rejestrowanie, przetwarzanie obrazów kolorowych, odtwarzanie na różnych urządzeniach wyświetlających, drukujących, porównywanie barw wymaga możliwości ilościowego opisu barw (potrzebny jest model matematyczny). Podstawą różnych opisów przestrzeni barw jest trójpobudzeniowa teoria widzenia, według której sygnały z trzech rodzajów czopków odpowiedzialnych za percepcję trzech składowych RGB tworzą szerokie nakładające się na siebie pasma. Teoria ta odpowiada wyobrażeniu, że kolor dowolny można przedstawić jako sumę ważoną trzech barw podstawowych. Jednak za pomocą trzech czystych barw widmowych RGB nie da się uzyskać wszystkich dostępnych odcieni, konieczne jest stosowanie wag ujemnych lub należy wprowadzić inne barwy podstawowe. 21 Modele przestrzeni barw (kolorów) Dwie grupy modeli przestrzeni barw 1. Modele niezależne od urządzenia (ang. device independent): - CIE XYZ, CIE xy, CIE uvl, CIELab - HLS, HSI, HSV, HSB (modele użytkownika) 2. Modele zależne od urządzenia (ang. device dependent): - RGB - CMY, CMYK - YUV, YIQ Diagram chromatyczności CIE (modele CIE) W 1931 roku międzynarodowa komisja o nazwie CIE (Commission Internationale de l Eclairage) zdefiniowała system współrzędnych barwnych XYZ, w którymświatło o dowolnej barwie daje się przedstawić za pomocą trzech nieujemnych strumieni X,Y,Z. W systemie tym funkcje barw podstawowych spełniają trzy fikcyjne barwy X,Y,Z, położone poza zakresem barw widmowych. 22

Modele przestrzeni barw Znając rozkład danego światła względem barw widmowych (czerwonej, zielonej i niebieskiej) można wyznaczyć wielkości strumieni X,Y oraz Z jako X = 0,490R + 0,310G + 0,200B Y = 0,177R + 0,812G + 0,011B Z = 0,000R + 0,010G + 0,990B Składowa Y luminancja strumienia światła, dobrana jest w taki sposób, aby krzywa dopasowania koloru dla tej składowej odpowiadała funkcji czułości oka na światło o stałej luminancji. Składowe X i Z chrominancja (barwa) strumienia światła. Międzynarodowa Komisja Oświetleniowa określiła wartości składowych X,Y,Z dla świateł monochromatycznych o określonej mocy i o różnych długościach fali. Normalizacja składowych X,Y,Z x = X/(X+Y+Z) y = Y/(X+Y+Z) stąd x+y+z = 1 oraz z = 1-(x+y), x,y,z>0 z = Z/(X+Y+Z) Po podzieleniu wartości składowych X,Y,Z przez czynnik normalizujący (X+Y+Z) uzyskuje się wartości współrzędnych trójchromatycznych, które nie są zależne od strumienia energii świetlnej. Współrzędne x,y służą do jednoznacznego określania barw tworząc diagram chromatyczności 23 Modele przestrzeni barw Diagram chromatyczności określa kolory niezależnie od ich luminancji. Wszystkie czyste barwy (największe nasycenie) znajdują się na zakrzywionym brzegu obszaru. Wszystkie barwy widzialne dają się przedstawić ze współczynnikami x,y>0. Wartości składowych R,G,B kolorów rzeczywistych mogą przyjmować również wartości ujemne, co nie jest możliwe do zobrazowania np. na monitorze. Przez odpowiedni dobór barw podstawowych można wpływać na obszar barw odtwarzanych. Diagram pozwala nazywać kolory, określać mieszanie kolorów, definiować i porównywać tzw. gamuty (podzbiory przestrzeni barw) i jest podstawą dla innych modeli. Wada modelu CIE xy nie jest jednorodny percepcyjnie, operacje wektorowe na wykresie chromatyczności nie są zgodne z odczuwaniem przez człowieka: np. zmiana dwóch barw o taki sam wektor nie musi być postrzegana tak samo. Monitor CRT Punkt bieli C (x=0,333 y=0,333) Linia purpury 24

Model CIE L*a*b Modele przestrzeni barw W 1976 roku komisja CIE zdefiniowała model, który daje możliwości uzyskania jednorodności percepcyjnej. Opiera się on na teorii barw przeciwstawnych wykorzystywanej do opisu widzenia człowieka. Zgodnie z tą teorią człowiek koduje barwy jako trzy sygnały: jasność, stosunek czerwień/zieleń, stosunek błękit/żółć. Oznacza to że nie może być postrzegana barwa jednocześnie czerwona i zielona (analogicznie jednocześnie niebieska i żółta). Model L*a*b określa luminancję (jasność obrazu) przez parametr L (zakres 0 do 100), dwa pozostałe parametry określają chromatyczność: a reprezentuje oś zielonoczerwoną, b oś niebiesko-żółtą, mogą przyjmować wartości z zakresu 120 do +120. 25 Modele przestrzeni barw Model RGB addytywna synteza koloru Model RGB wywodzi się bezpośrednio z teorii trójpobudzenia, stosowany przy generowaniu obrazu w monitorach ekranowych, do reprezentacji obrazów w pamięci komputera (mało intuicyjny przy określaniu barwy) Model ten jest przedstawiany w postaci sześcianu jednostkowego rozpostartego na osiach RGB Każdy punkt znajdujący się wewnątrz sześcianu barw reprezentowany jest przez wektor [R G B] T, przy czym składowe R, G, B mogą przyjmować wartości od 0 do 1 Mieszanie światła 26

Modele przestrzeni barw Model CMY subtraktywna synteza koloru Model CMY stosowany jest w poligrafii, drukarkach, ploterach czyli urządzeniach nie posiadających aktywnego źródła światła (kolory odbierane są dzięki odbiciu światła białego od powierzchni i pochłanianiu kolorów proces subtraktywny) Trzy barwy podstawowe: Cyan (seledynowa), Magenta (purpurowa), Yellow (żółta), które pochłaniają selektywnie składowe padającego światła białego. Kolor Cyan powoduje, że w świetle odbitym nie ma składowej Mieszanie pigmentów 27 czerwonej, Magenta zielonej, a Yellow niebieskiej. Przejście z modelu RGB do CMY gdzie [1 1 1] T oznacza czerń w modelu CMY = B G R Y M C 1 1 1 Modele przestrzeni barw Model CMYK Model CMYK powstał przez wzbogacenie trzech barw podstawowych CMY kolorem czarnym black cel uzyskanie podczas wydruku dobrze odwzorowanej czerni oraz zwiększenie kontrastu Konwersja modelu CMY na CMYK },, min{, y m c k k k k y m c Y M C = = 28 0 k K

Model YUV i YIQ Modele przestrzeni barw Modele barw stosowane w telewizji analogowej. YUV w systemie europejskim PAL, YIQ w amerykańskim NTSC. Oba modele stanowią liniowe przekształcenie modelu RGB i powstały jako rezultaty badań nad optymalizacją warunków transmisji sygnałów telewizyjnych. Składowa Y (luminancja) w obu modelach jest identyczna i pełni taką samą rolę jak w modelu XYZ, niesie informację o jasności Y = 0,299R + 0,587G + 0,114B Dwie pozostałe reprezentują sygnały chrominancji obrazu i określają barwę zakodowaną różnicowo. PAL: U = 0,493(B Y) V = 0,877(R Y) NTSC: I = 0,740(R Y) 0,270(B Y) Q = 0,480(R Y) + 0,410(B Y) 29 Przekształcenie z modelu RGB na YUV Modele przestrzeni barw Y 0,299 = U 0,147 V 0,615 0,587 0,289 0,515 0,114 R 0,437 G 0,100 B Przekształcenie z modelu RGB na YIQ Y 0,299 0,587 0, 114 R I = 0,596 0,275 0,321 G Q 0,212 0,528 0,311 B Zgodnie z obowiązującymi standardami telewizyjnymi wartość luminancji powinna być kodowana za pomocą 8 bitów, natomiast sygnały chrominancji za pomocą 4 bitów. Wynika to z faktu iż oko ludzkie jest bardziej czułe na zmiany luminancji niż na niepoprawne odwzorowanie barw. 30

Modele przestrzeni barw Modele HLS i HSI Modele posiadające bardziej intuicyjny sposób określania koloru, stosowane przy wybieraniu i poszukiwaniu kolorów Barwa opisana jest za pomocą jednej składowej Hue (barwa) reprezentującej barwę spektralną fali świetlnej. Ogólne przyporządkowanie częstotliwości fal zakresu widzialnego wynika z podziału pełnego kąta 360 stopni na trzy części po 120 stopni (koło kolorów Newtona). Centrum barwy czerwonej odpowiada kąt 0 lub 360 stopni, zielonej 120, a niebieskiej 240 stopni. Składowa Saturation (nasycenie) reprezentuje nasycenie barwy (zakres 0 do 1). Dla S=0 składowa barwy H jest nieokreślona. Składowa Lightness dla HLS (zakres 0 do 1) reprezentuje średnie światło barwy. W przypadku modelu HSI składowa Intensity (zakres 0 do 1) określa intensywność barwy. 2 3 1 4 0 5 31 Modele przestrzeni barw Modele HSV i HSB Modele podobne do HLS i HSI, również umożliwiają określanie kolorów w sposób nawiązujący do postrzegania i nazywania barw przez człowieka. Składowa barwy jest określona analogicznie jak w modelach HLS i HSI i opisana jest za pomocą jednej składowej Hue. Składowa Saturation podobnie reprezentuje nasycenie barwy (zakres 0 do 1). Dla S=0 składowa barwy H jest nieokreślona. Składowa Value lub Brightness reprezentuje poziom bieli z której wywodzi się barwa (zakres 0 do 1). 32

Modele przestrzeni barw Transformacja RGB na HSV (HSB) Algorytm: 1. Uporządkuj rosnąco elementy (r,g,b) i przypisz im wartości kolejno m0, m1, m2 2. Składowa V=m2 3. Składowa S=(m2-m0)/m2 4. Z m0 i m2 wyznacz numer sekcji n w kole kolorów Newtona 5. Oblicz wartość proporcji F jako: F=(m1-m0)/(m2-m0) dla n={0,2,4} lub F=(m2-m1)/(m2-m0) dla n={1,3,5} 6. Oblicz H=n*60+F*60 Transformacja HSV (HSB) na RGB Algorytm: 1. Wyznacz m2 ze składowej V(B) m2=v 2. Wyznacz m0 z nasycenia m0=v(1-s) 3. Wyznacz numer sekcji n w kole kolorów Newtona n=(h mod 60) 4. Oblicz wartość proporcji F jako F=(H-n*60)/60 5. Oblicz m1=m0+(m2-m0)*f dla n={0,2,4} lub m1=m2-(m2-m0)*f dla n={1,3,5} 6. Przyporządkuj m0, m1, m2 wartościom (r,g,b) zgodnie z numerem sekcji n 2 3 1 4 0 5 33