Podstawy rozpoznawania obrazu, czyli co to jest computervision?


Computer vision to jedna z kluczowych domen rozwoju sztucznej inteligencji. Polega na uczeniu
komputerów, jak poprawnie rozpoznawać obrazy, na co składa identyfikacja i klasyfikacja obiektów
na zdjęciach i filmach, tworzenie modeli 3D czy analiza ruchu obiektów. Sprawdźmy, jakie możliwości
daje rozwój computer vision i poznajmy popularne przykłady wykorzystania technologii
rozpoznawania obrazów w życiu codziennym.

Historia i podstawowe informacje dotyczące computer vision

Początki analizy obrazów przez programy komputerowe sięgają lat 60. XX wieku. Wówczas
komputery potrafiły rozpoznawać na obrazach proste figury geometryczne, co było uznawane za
duży sukces.
Od tego czasu sporo się zmieniło. Odpowiada za to m.in. powstanie konwolucyjnych sieci
neuronowych (convolutional networks), czyli algorytmu, który służy do analizy i rozpoznawania cech
wizualnych na podstawie dużych ilości danych. Poza tym do rozwoju computer vision przyczynił się
rozwój kart graficznych. Lepszy sprzęt sprawił, że sieci neuronowe mogły szybciej uczyć się,
korzystając z coraz większych zbiorów treningowych. Dzięki temu dzisiejsze programy komputerowe
coraz lepiej radzą sobie z analizą i interpretacją obrazów, które do nich docierają.

Działanie i możliwości computer vision

Rozpoznawanie obrazów przez komputery można porównać do procesu układania puzzli. Najpierw
program rozróżnia poszczególne fragmenty danego obrazu i wykrywa jego krawędzie. Następnie
układa elementy cząstkowe, by na końcu złożyć je w jeden obraz.
Co ważne, komputer nie ma do dyspozycji wzorcowego obrazka, który musi ułożyć z docierających do
niego danych. Posiada jednak „wiedzę” w postaci tysięcy podobnych obrazów, z którymi zapoznał się
podczas procesu uczenia się.
Innymi słowy, jeśli pokażemy algorytmowi setki zdjęć wróbla, będzie on w stanie rozpoznać ten
gatunek ptaka na zupełnie nowym zdjęciu. Przy czym algorytm sam decyduje, które cechy wyróżniają
wróbla, dzięki czemu może zaliczyć dany obiekt właśnie do tej kategorii.
Rozpoznawanie obrazów przez sztuczną inteligencję przebiega w 3 krokach:

  • pozyskiwanie obrazu – program może pozyskiwać obrazy w czasie rzeczywistym z materiałów
    wideo, zdjęć lub technologii 3D,
  • przetwarzanie obrazu – program analizuje dany obraz na podstawie tysięcy wstępnie
    zidentyfikowanych i oznaczonych obrazów, udostępnianych programowi w procesie nauki,
  • interpretacja obrazu – program identyfikuje lub klasyfikuje obiekty, które widzi.
    Poza tym współczesne programy komputerowe potrafią podejmować działania na podstawie
    rozpoznanego obrazu.

Przykłady zastosowania computer vision

Jednym z najbardziej popularnych zastosowań computer vision jest sterowanie ruchem drogowym.
Może ono przybrać formę inteligentnej sygnalizacji świetlnej, która ogranicza zatory drogowe.
Computer vision wykorzystywany jest także w telefonach komórkowych, tabletach czy komputerach
do identyfikacji twarzy. Jest to obecnie powszechnie stosowany sposób zabezpieczenia urządzeń
przed nieupoważnionymi użytkownikami.
Poza tym computer vision znajduje zastosowanie na budowie do monitorowania bezpieczeństwa
pracowników. Odpowiednio zaprogramowane algorytmy potrafią sprawdzać, czy wszyscy pracownicy
przestrzegają zasad stosowania środków ochrony indywidualnej, czyli czy noszą kaski, okulary
ochronne, kamizelki odblaskowe czy uprząż.
Ponadto technologia rozpoznawania obrazów umożliwia monitorowanie stanów półek w sklepach, co
pozwala na natychmiastowe uzupełnianie braków.

Zadania i metody computer vision

Określenie computer vision odnosi się do wszystkich obliczeń i algorytmów związanych z obrazem. W
ramach tej ogólnej dziedziny możemy wyróżnić m.in.:

  • klasyfikację obrazów – czyli przypisywani danemu obiektowi przynależności do określonych
    kategorii,
  • identyfikację – czyli odpowiadanie na pytanie o to, jaki typ danego obiektu znajduje się na
    obrazie (np. identyfikacja twarzy, odcisku palców, tablic rejestracyjnych itp.),
  • detekcję obiektów/obrazów – czyli wskazywanie, gdzie na zdjęciu lub filmie znajduje się dany
    obiekt,
  • segmentację obrazu (segmentacja semantyczna) – czyli grupowanie części obrazu, które
    należą do tej samej klasy obiektów,
  • tworzenie obrazów – czyli generowanie nowych obrazów z istniejącego zestawu danych, (np.
    deep fake)
  • transfery stylów – czyli zmiana stylu danego obrazu na inny.

Programy wykorzystywane przy użyciu computer vision

Wraz z rozwojem computer vision powstają kolejne programy, bazujące na tej technologii. Są to np.:

  • DeepFace – program pozwalający na weryfikację twarzy, rozpoznawanie twarzy, czy analizę
    cech twarzy w czasie rzeczywistym.
  • YOLO (You Only Look Once) – narzędzie do wykrywania obiektów w czasie rzeczywistym.
    Computer vision wykorzystywany jest także przez media społecznościowe, takie jak Instagram czy
    TikTok. Stosują one algorytmy AI do rozpoznawania twarzy i nakładania efektów w czasie
    rzeczywistym.

W jaki sposób rozwijany jest computer vision?

Główną osią rozwoju computer vision jest deep learning. Poza tym specjaliści z tej dziedziny starają
się budować maszyny, które pozwolą komputerom na jeszcze lepsze postrzeganie świata, a co za tym
idzie, na trafniejsze interpretowanie docierających do komputerów danych. Ponadto regularnie
powstają kolejne programy, które są zdolne do analizy twarzy, gestów i ruchu w czasie rzeczywistym.

Podsumowanie i źródła

Nauczenie komputerów widzenia, interpretowania tego, co widzą i podejmowania na tej postawie
decyzji jest niełatwym zadaniem. Jednak wzrost mocy obliczeniowej i dostęp do coraz większej ilości
zdjęć i filmów wysokiej jakości sprawia, że programy komputerowe coraz lepiej radzą sobie z
rozpoznawaniem obrazów w czasie rzeczywistym. Korzystamy z tego na co dzień, m.in. odblokowując
telefon komórkowy, bawiąc się filtrami w mediach społecznościowych, czy trafiając na falę zielonego
światła na skrzyżowaniach. Jakie jeszcze możliwości daje nam computer vision? Przekonamy się o
tym w najbliższych latach.