Co to jest Object Recognition? Wszystko, co musisz wiedzieć o rozpoznawaniu obiektów

Object Recognition

Wyobraź sobie, że ktoś pokazuje ci zwierzę, które widzisz pierwszy raz w życiu. Jeśli tylko dobrze mu się przyjrzysz, na pewno rozpoznasz je, gdy tylko zobaczysz je kolejny raz. Proste, prawda? Nie dla komputerów. Specjaliści od sztucznej inteligencji od lat uczą komputery rozpoznawania obiektów. I choć idzie im to coraz lepiej, to nawet najbardziej zaawansowane programy wciąż nie działają doskonale. Dlaczego? Odpowiedź na to pytanie poznamy, przyglądając się bliżej, na czym polega object recognition, czyli rozpoznawanie obiektów.

Czym jest i jak działa Object Recognition?

Object Recognition (rozpoznawanie obiektów) polega na wykorzystaniu sztucznej inteligencji do rozpoznawania, identyfikowania i pozycjonowania obiektów na zdjęciach i filmach.

W tym celu najpierw należy dostarczyć algorytmom komputerowym wysokiej jakości dane. W ten sposób programy uczą się, jakie cechy mają poszczególne obiekty. Następnie, jeśli proces uczenia się przebiegnie pomyślnie, algorytmy będą w stanie rozpoznawać określone obiekty na zdjęciach i filmach.

W teorii wydaje się to proste. W końcu ludzki mózg wykonuje takie operacje automatycznie. Jednak sztucznej inteligencji nie przychodzi to tak łatwo, a jakość rozpoznawania obrazów zależy od ilości i jakości wcześniej dostarczonych danych.

Metody i zastosowania Object Recognition

Do głównych metod rozpoznawania obrazów należą:

  • klasyfikacja,
  • tagowanie,
  • wykrywanie,
  • segmentacja.

Klasyfikacja obiektów polega na tym, że algorytm pamięta, że istnieje tylko jeden obiekt, tym samym ignorując wszystkie inne. W przypadku tagowania algorytm rozpoznaje wiele obiektów na danym obrazie. W przeciwieństwie do klasyfikacji, tagowanie stara się wskazać klasę wszystkich obiektów na danym zdjęciu. Wykrywanie obiektów opiera się na przetwarzaniu obrazu, co umożliwia detekcję określonej klasy obiektów na obrazach i filmach. Z kolei segmentacja to proces, dzięki któremu wiemy nie tylko, gdzie dany obiekt się znajduje, ale i jaki jest jego dokładny on kształt (ponieważ algorytm jest w stanie przypisać każdy piksel obrazu do określonej kategorii).

Jednym z najważniejszych zastosowań object recognition jest branża motoryzacyjna i technologia pojazdów autonomicznych. Dzięki rozpoznawaniu obrazów taki samochód jest w stanie identyfikować znaki drogowe oraz odróżniać pieszych od obiektów nieruchomych.

Poza tym rozpoznawanie obrazów wykorzystywane jest w kamerach do identyfikacji osób na podstawie twarzy lub tęczówki oka. Z kolei w sprzedaży inteligentne kamery wykrywają klientów i śledzą ich zachowania podczas zakupów. Dzięki temu marki mogą lepiej projektować same sklepy oraz rozmieszczenie poszczególnych produktów na półkach.

Object recognition a inne technologie

Object recognition (rozpoznawanie obiektów) bywa mylone z innymi technologiami, takimi jak object detection (wykrywaniem obiektów) czy object tagging. Czym różnią się one od siebie?

Jak sama nazwa wskazuje, object detection polega na detekcji danej klasy obiektu oraz lokalizowaniu go na obrazie. Dopiero gdy obiekt zostanie namierzony, do działania przystępują programy związane z rozpoznawaniem obrazów, czyli ustalaniem, czym ten obiekt jest. Z kolei proces object tagging polega na przypisywaniu im cech, których algorytm jest świadomy.

Różnica pomiędzy wszystkimi 3 technologiami można przedstawić następująco:

  • Object detection: to jest obiekt.
  • Object recognition: ten obiekt to w 95% kot.
  • Object tagging: To jest w 95% szkocki kot prostouchy.

Techniki object recognition

Rozpoznawanie obiektów opiera się na różnych rodzajach uczenia maszynowego. W przypadku uczenia głębokiego algorytmy są wykorzystywane do automatycznego uczenia się cech charakterystycznych danego obiektu, za których pomocą można go zidentyfikować. Na przykład program uczy się identyfikować różnice pomiędzy psami i kotami poprzez analizę tysięcy zdjęć i wyróżnienie cech, które sprawiają, że koty różnią się od psów.

Z kolei, aby wykorzystać uczenie maszynowe inne niż głębokie do rozpoznawania obrazów, potrzebny jest zbiór obrazów lub wideo, na których zaznaczamy istotne cechy każdego z obrazów. Następnie cechy te dodaje się do modelu uczenia maszynowego, który rozdziela je na osobne kategorie, by użyć tych informacji do analizy i klasyfikacji nowych obiektów.

Korzystanie z takiego uczenia maszynowego do rozpoznawania obiektów zapewnia większą elastyczność przy wyborze najlepszej kombinacji cech i kategorii do nauki. Poza tym dokładne rezultaty można uzyskać już przy minimalnej ilości danych wejściowych.

Z kolei uczenie głębokie wymaga potężnego procesora graficznego i ogromnej liczby oznaczonych danych. Jeśli nie dysponujemy obiema tymi rzeczami, to lepiej wybrać uczenie maszynowe, które nie opiera się na uczeniu głębokim.

Zaawansowane techniki i najczęściej wykorzystywane prace object recognition

Jeszcze innymi technikami wykorzystywanymi do rozpoznawania obiektów są:

  • dopasowywanie wzorów (template matching) – technika polegająca na porównywaniu obiektów, dzięki której możliwe jest rozpoznawanie znaków, liter, cyfr i przedmiotów,
  • rozpoznawanie na podstawie kolorów – technika używana, gdy kolor jest cechą charakterystyczną obiektów, np. pozwala na odróżnienie pomarańczy od jabłka na podstawie wiedzy, że pomarańcze są wyłącznie pomarańczowe, podczas gdy jabłka są czerwone, zielone lub żółte,
  • rozpoznawanie oparte na kształcie – polega na odróżnianiu obiektów od siebie na podstawie charakterystycznych kształtów.

Podsumowanie i źródła

To, co dla człowieka jest naturalne, stanowi sporą trudność dla programów komputerowych. Jednocześnie dostęp do coraz tańszej i większej mocy obliczeniowej oraz wysokiej jakości zdjęć i filmów sprawia, że algorytmy coraz lepiej radzą sobie z rozpoznawaniem obiektów. Dzięki temu sztuczna inteligencja już dziś wspiera człowieka tam, gdzie komputerowy wzrok jest w stanie poprawnie analizować i interpretować napływające dane.