Rozpoznawanie obiektów
Jak działa
Obraz wejściowy przechodzi przez sieć ekstrahującą cechy (backbone — CNN lub transformer wizyjny), która buduje hierarchiczne reprezentacje. W klasyfikacji głowica klasyfikacyjna mapuje cechy na rozkład prawdopodobieństwa klas. W detekcji dodatkowe głowice przewidują ramki ograniczające i klasy dla wielu obiektów jednocześnie — w podejściach dwuetapowych (np. R-CNN) najpierw generowane są propozycje regionów, a w jednoetapowych (np. YOLO, SSD) detekcja odbywa się w jednym przebiegu sieci. Nakładające się detekcje są filtrowane metodą tłumienia niemaksymalnego (NMS). Sieci trenuje się na oznaczonych zbiorach danych metodą propagacji wstecznej.
Rozwiązany problem
Jak automatycznie stwierdzić, jakie obiekty znajdują się na obrazie i gdzie się znajdują, w sposób odporny na zmiany oświetlenia, skali, pozy, przesłonięcia i tła. Klasyczne metody oparte na ręcznie projektowanych cechach (np. SIFT, HOG) słabo generalizowały; uczenie głębokie rozwiązało ten problem przez uczenie reprezentacji bezpośrednio z danych.
Komponenty
Sieć (CNN lub transformer wizyjny) przekształcająca obraz w mapy cech używane przez kolejne głowice.
Mapuje reprezentacje cech na rozkład prawdopodobieństwa nad zdefiniowanym zbiorem klas.
Zwraca współrzędne ramek oraz etykiety klas, umożliwiając wykrycie wielu obiektów na jednym obrazie.
Postprocessing wybierający najpewniejszą ramkę spośród nakładających się detekcji tego samego obiektu na podstawie progu IoU.
Implementacja
Małe obiekty zajmują niewiele pikseli i są trudne do wykrycia, zwłaszcza po redukcji rozdzielczości w backbone.
Częściowo przesłonięte lub stłoczone obiekty prowadzą do błędnych lub scalonych detekcji.
Model trenowany w jednej domenie traci dokładność przy innym oświetleniu, kamerze czy otoczeniu — istotne w robotyce.
Przewaga tła nad obiektami zaburza trening detektorów jednoetapowych.
Źle dobrane progi powodują fałszywe duplikaty lub usuwanie poprawnych detekcji.
Ewolucja
Wielkoskalowy, hierarchiczny zbiór obrazów umożliwiający trenowanie i benchmarking rozpoznawania obiektów.
Głęboka CNN drastycznie obniżyła błąd klasyfikacji ImageNet, zapoczątkowując dominację sieci głębokich w widzeniu komputerowym.
Połączenie propozycji regionów z cechami CNN znacząco poprawiło dokładność detekcji obiektów.
Jednoprzebiegowa detekcja ujmująca problem jako regresję, umożliwiająca działanie w czasie rzeczywistym.
Połączenia rezydualne umożliwiły trenowanie bardzo głębokich sieci, dalej podnosząc dokładność rozpoznawania obrazów.
Wymagania sprzętowe
Gęste operacje konwolucji i uwagi w CNN/ViT są silnie przyspieszane przez rdzenie tensorowe GPU.
TPU efektywnie wykonują wielkoskalowe mnożenia macierzy przy treningu i inferencji sieci wizyjnych.
Lekkie modele można uruchamiać na CPU, lecz z niższą przepustowością niż na GPU.