Rozpoznawanie obrazów

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj
System rozpoznający obiekty wykrył na fotografii/wideo samochód.

Rozpoznawanie obrazu (nazywane także widzeniem komputerowym, z ang. computer vision) – przetwarzanie obrazu przez maszynę za pomocą urządzeń zewnętrznych (np. skaner) w opis cyfrowy tegoż obrazu w celu dalszego przetwarzania. Przykładem takiego działania jest OCR czy też OMR. Dalsze przetwarzanie i ostateczna klasyfikacja obrazu częstokroć dokonywana jest przy wykorzystaniu metod inteligencji obliczeniowej.

Wymagania[edytuj]

Do poprawnego rozpoznania tego co znajduje się na obrazie wymagana jest wstępna "wiedza". Człowiek wiedzę potrzebną mu do poprawnego rozpoznawania i rozumienia istoty rzeczy zbiera bezwiednie poprzez całe swoje życie, maszynę zaś trzeba tej wiedzy "nauczyć". Sam proces uczenia maszyny może w najprostszym przykładzie polegać na utworzeniu odpowiedniej bazy danych zawierającej niezbędne reguły i opis cech przedmiotu. np. że wszystko co jest niebieskie jest na 80% niebem, albo każda pionowa kreska może być literą "l". Wiedza systemu rozpoznającego obrazy powinna zawierać wiedzę ekspercką w danym zakresie oraz informacje empiryczne[1], tj. zbierane na drodze "obcowania" z danym przedmiotem, czyli np. oglądania go pod różnym kątem, w różnym oświetleniu, czy w różnych przypadkach.

Prawdziwy cel[2][edytuj]

W rozpoznawaniu obrazów bazującym na statystyce naszym celem jest oszacowanie prawdopodobieństwa, czy obiekt, któremu "się przyglądamy" jest tym czy innym obiektem którego opis w postaci wektora cech, bądź też bazowych elementów (pod-wzorców) połączonych gramatyką, znajduje się wśród wiedzy posiadanej przez nasz system. W związku z tym dążymy do osiągnięcia 100% pewności co do zaklasyfikowania obiektu, jednakże tej 100% pewności nigdy nie osiągamy[1].

Nawet nam ludziom w pewnych warunkach zdarza się nieodpowiednio zaklasyfikować obiekt, czy całą scenę, zwłaszcza gdy wygląda dla nas nietypowo. Bądź też klasyfikujemy obiekty/rzeczy/sceny/zachowania nieporadnie próbując zaklasyfikować je do jednej, czy też nawet kilku rożnych klasy obiektów które już dobrze znamy (many dobrze zakodowaną w świadomości / potrafimy ją dobrze scharakteryzować). W ostatnim przypadku po pewnym czasie może wyodrębnić się osobna klasa klasyfikacji obiektu posiadająca mieszankę cech klas z których się wyłoniła.

Błąd klasyfikacji[edytuj]

Zadaniem twórcy systemu rozpoznawania obrazu jest skonstruowanie takiego algorytmu, który będzie minimalizował błąd błędnej klasyfikacji obiektu prezentowanego na obrazie, bądź całego obrazu. Zadanie to nie należy do trywialnych dla tego zakłada się minimalizacje błędu klasyfikacji, a nie całkowite jego wyeliminowanie. W prawdziwym świecie, świecie nie cyfrowym brakuje odpowiedniej wiedzy o rozkładzie prawdopodobieństwa cech i klas, i jedynie cząstkowe informacje są dostępne, w związku z tym nie sposób jest całkowicie uniknąć błędu. np. człowiek widząc rąbek ubrania jest w stanie rozpoznać co to za ubranie urządzenie cyfrowe miało by z tym kłopot.

Ograniczenia narzucane systemowi[edytuj]

Często, aby usprawnić oraz uprościć działanie systemu rozpoznawania obrazów wprowadza się pewne ograniczenia.

  • pytania zadawane systemowi sprawdzają się do sformowania jaki obiekt najprawdopodobniej występuje na obrazie (co najprawdopodobniej przedstawia obraz/scena), a odpowiedzią jest obiekt klasy która w drodze ewaluacji dostał najwyższą notę prawdopodobieństwa,
  • zestaw danych opisujących obiekt przeznaczony do rozpoznania ograniczone są do skończonego zestawu cech[1]

Klasyfikacja obiektów in. rozpoznawanie wzorców[edytuj]

Jednym z etapów rozpoznawania obrazów jest klasyfikacja obiektu, o którym udało nam się zebrać odpowiednie, nie zbędne informacje, do odpowiedniej predefiniowanej przez nas grupy. Np. człowiek obiekt, który mam cztery średniej długości proste i cienkie nogi, na których znajduje się prostokątna pozioma płaszczyzna, który także posiada prostopadłą do niej druga płaszczyznę, w większości przypadków zaklasyfikował by jako krzesło.

W tym momencie możemy powiedzieć, że naszym zadaniem jest na podstawie pozyskanych z obrazu cech obserwowanego obiektu zaklasyfikować go do odpowiedniej klasy obiektów, np. do krzeseł.

Istnieją dwa ogólne podejścia do klasyfikacji obrazów, które to dzieli się na pomniejsze, konkretyzujące sposób rozwiązywania tego problemu.

Podejście pierwsze: decyzyjno-teoretyczne (ang. decision-theoretical )[1][edytuj]

W tym podejściu zakładamy, że nasz wzór/obiekt jest reprezentowany poprzez wektor liczb zwanych wartościami cech. Cechy te możemy wyznaczyć samemu na podstawie wstępnej analizy obiektu, która ma na celu wyłonienie istotnych cech, bądź mogą być ona nam narzucone z góry. Mają one na celu ułatwienie nam jednoznacznego rozpoznania obiektu. Wartości cech mogą pochodzi bezpośrednio z przeprowadzonych pomiarów, próbkowania fali, czy skanowania obrazu w odpowiednim obszarze (zależnie od przypadku). Za pomocą wyznaczonego wektora cech przypisanego do konkretnego obiektu możemy jednoznacznie określić położenie tego obiektu w przestrzeni cech, która ma tyle wymiarów ile liczb zawiera wektor (ile jest cech). Od tego momentu pojmujemy obiekt jako punkt w tak wielowymiarowej przestrzeni cech. Warto nadmienić, że obiekty o zbliżonych cechach będą znajdować się w niewielkiej odległości od siebie, a obiekty o takich samych cechach będą znajdować się w tym samym miejscu w przestrzeni cech.

Przestrzeń cech jest z góry podzielona w taki sposób, aby odpowiednie jej regiony opisywały obiekty jednej klasy, np. krzesła, albo niebo. Regiony takie nazywane są obszarami decyzyjnymi i każdy punkt, wyznaczony przez odpowiedni wektor, znajdujący się wewnątrz tego samego obszaru klasyfikowany jest do tej samej grupy/klasy.

Ostatecznie algorytm rozpoznawania wzorców/obrazów mapuje przestrzeń cech do zestawu klas, co jest równoważne podzieleniu przestrzeni cech na obszary decyzyjne zawierające punkty (opisane za pomocą wektorów), które zostały przypisane poprzez algorytm do tej samej klasy.

Podejście drugie: Strukturalne (składniowe, lingwistyczne)[1][edytuj]

W tym przypadku obiekt, tj. wzorzec, opisywany jest za pomocą ogromnej, ale skończonej ilości pod-wzorców/bazowych elementów oraz "gramatykę", która określa w jaki sposób pod-wzorce/bazowe elementy budują obiekt. Nie ma więc już w sensie stricto wektora cech zbudowanego z licz określającego pojedyncze cechy obiektu W tym podejściu problem rozpoznania obiektu na obrazie sprowadzony jest więc do odpowiedzi na pytanie: czy dany wzór przynależy do języka tworzonego przez zdefiniowaną przez nas gramatykę?

Uczenie[edytuj]

Uczenie jest sposobem pozyskiwania wiedzy przez system i jest niezbędnym etapem przygotowującym system do rozpoznawania obiektów.

Przygotowanie materiałów uczących[edytuj]

Częstokroć dane za pomocą których będziemy uczyć system rozpoznawania obiektów wybranej kategorii/klasy poddawane są wstępnej obróbce mającej na celu uproszczenie obrazu do tego stopnia aby zawierał jedynie minimalną ilość danych niezbędnych do rozpoznania obiektu.

Dane obrazowe[edytuj]

Obraz stanowiący dane wejściowe dla systemu można poddać odpowiedniej obróbce np. za pomocą graficznej erozji i dylatacji możliwe jest usuniecie zbędnych kresek w obrazie, lub wypełnienie zbędnych luk (małych plam).[3] Często także dokonuje się skalowania w dół obrazu. Dajmy na to fotografię przedstawiająca telewizor można zmniejszyć o 80 % i nadal będzie zawierała minimum danych potrzebnych do stwierdzenia, że na danym zdjęciu znajduje się telewizor; wciąż będzie możliwe pozyskanie wiodących kresek z obrazu (np. opisujących zewnętrze krawędzie telewizora) i innych niezbędnych informacji.

Dane nieobrazowe[edytuj]

Szkieletyzacja (ang. skeletonization)[3][edytuj]

Przykładowy kształt oraz jego szkielet

Jest to proces, który umożliwia uzyskanie szkieletu obiektu czyli jego punktów osiowych. Jest to technika o olbrzymim znaczeniu praktycznym w przetwarzaniu obrazów medycznych czy rozpoznawaniu pisma. Przez szkielet rozumiemy zbiór wszystkich możliwych środków maksymalnych okręgów, które można wpisać w środek obiektu (którego krawędzie opisane są przez pewną ilość punktów). Mówiąc inaczej szkielet to taki zbiór punktów, które znajdują się w jednakowej odległości od co najmniej dwóch krawędzi obiektu. W wyniku operacji szkieletyzacji cały obiekt zostaje zredukowany do zbioru linii o szerokości jednego punktu. Na rysunku obok przedstawiono jedynie trzy z wielu wpisanych w kształt okręgów. Okręgi najlepiej nadaj się do wyznaczenia położenia punktu równo odległego od co najmniej dwóch krawędzi kształtu.

Linki zewnętrzne[edytuj]

Zobacz też[edytuj]

Obraz:

Matematyka:

Przypisy

  1. a b c d e ZbigniewZ. Huzar ZbigniewZ., MarekM. Kurzyński MarekM., JerzyJ. Sas JerzyJ., Rule-based pattern recognition with learning : methodological fundamentals, computer implementation and practical applications in medical diagnosis, 1994, ISBN 83-7085-086-3.
  2. Tadeusiewicz, Ryszard (1947- ) - Rozpoznawanie obrazów, winntbg.bg.agh.edu.pl [dostęp 2016-06-06].
  3. a b MarcinM. Denkowski MarcinM., PawełP. Mikołajczak PawełP., Przetwarzanie obrazów cyfrowych - laboratorium, 4 czerwca 2016.