Wykrywanie obiektów to rodzaj kategoryzacji obrazu, w którym sieć neuronowa przewiduje elementy na obrazie i rysuje wokół nich ramki ograniczające. Wykrywanie i lokalizowanie obiektów na obrazie zgodnym z ustalonym zestawem klas jest nazywane wykrywaniem obiektów.
Wykrywanie obiektów (znane również jako rozpoznawanie obiektów) jest szczególnie ważną subdziedziną Computer Vision, ponieważ zadania takie jak wykrywanie, identyfikacja i lokalizacja znajdują szerokie zastosowanie w kontekstach świata rzeczywistego.
Podejście YOLO może pomóc w wykonaniu tych zadań. W tym eseju przyjrzymy się bliżej YOLO, w tym czym jest, jak działa, różnymi odmianami i nie tylko.
Czym więc jest YOLO?
YOLO to metoda identyfikacji i rozpoznawania obiektów w czasie rzeczywistym na zdjęciach. To skrót od You Only Look Once. Redmond i in. zaproponował podejście w artykule, który został pierwotnie opublikowany w 2015 roku na konferencji IEEE/CVF na temat wizji komputerowej i rozpoznawania wzorców (CVPR).
Gazecie przyznano nagrodę OpenCV People's Choice Award. W przeciwieństwie do poprzednich metod identyfikacji obiektów, które zmieniły przeznaczenie klasyfikatorów do wykrywania, YOLO proponuje użycie kompleksowego sieci neuronowe który przewiduje jednocześnie ramki ograniczające i prawdopodobieństwa klas.
YOLO zapewnia najnowocześniejsze wyniki, stosując całkowicie nowe podejście do rozpoznawania obiektów, z łatwością przewyższając poprzednie metody wykrywania obiektów w czasie rzeczywistym.
YOLO pracuje
Metoda YOLO dzieli obraz na N siatek, z których każda ma równy sektor wymiarowy SxS. Każda z tych siatek N odpowiada za wykrywanie i lokalizowanie zawartego w niej obiektu.
Siatki te z kolei prognozują współrzędne ramki granicznej B względem współrzędnych komórki, a także nazwę elementu i prawdopodobieństwo obecności obiektu w komórce. Ze względu na to, że wiele komórek przewiduje ten sam element z różnymi przewidywaniami w zakresie granic ograniczających, technika ta znacznie ogranicza obliczenia, ponieważ zarówno wykrywanie, jak i rozpoznawanie są obsługiwane przez komórki z obrazu.
Jednak generuje wiele zduplikowanych prognoz. Aby rozwiązać ten problem, YOLO stosuje tłumienie niemaksymalne. YOLO pomija wszystkie ramki ograniczające z niższymi wynikami prawdopodobieństwa w tłumieniu niemaksymalnym.
YOLO robi to, badając wyniki prawdopodobieństwa powiązane z każdą opcją i wybierając tę z najwyższym wynikiem. Ramki ograniczające z największym przecięciem nad Unią z bieżącą ramką ograniczającą o wysokim prawdopodobieństwie są następnie pomijane.
Ten proces jest kontynuowany aż do ukończenia ramek ograniczających.
Różne odmiany YOLO
Przyjrzymy się niektórym z najpopularniejszych wersji YOLO. Zacznijmy.
1. YOLOv1
Pierwsza wersja YOLO została ogłoszona w 2015 roku w publikacji „Patrzysz tylko raz: ujednolicone wykrywanie obiektów w czasie rzeczywistym” Josepha Redmona, Santosha Divvala, Rossa Girshicka i Ali Farhadi.
Ze względu na szybkość, dokładność i zdolność uczenia się, YOLO szybko zdominował obszar identyfikacji obiektów i stał się najczęściej używanym algorytmem. Zamiast zajmować się wykrywaniem obiektów jako problemem klasyfikacji, autorzy potraktowali to jako problem regresji z geograficznie oddzielonymi ramkami ograniczającymi i powiązanymi prawdopodobieństwami klas, które rozwiązali za pomocą jednego sieci neuronowe.
YOLOv1 przetwarzał zdjęcia z szybkością 45 klatek na sekundę w czasie rzeczywistym, podczas gdy mniejszy wariant, Fast YOLO, przetwarzał z szybkością 155 klatek na sekundę i nadal uzyskiwał dwukrotność mAP innych detektorów czasu rzeczywistego.
2. YOLOv2
Rok później, w 2016 roku, Joseph Redmon i Ali Farhadi opublikowali YOLOv2 (znany również jako YOLO9000) w gazecie „YOLO9000: Lepiej, szybciej, mocniej".
Zdolność modelu do prognozowania nawet 9000 różnych kategorii przedmiotów, podczas gdy nadal działa w czasie rzeczywistym, przyniosła mu oznaczenie 9000. Nowa wersja modelu nie tylko była jednocześnie szkolona w zakresie wykrywania obiektów i zestawów danych klasyfikacji, ale także uzyskała Darknet-19 jako nową linię bazową Model.
Ponieważ YOLOv2 również odniósł duży sukces i szybko stał się kolejnym najnowocześniejszym modelem rozpoznawania obiektów, inni inżynierowie zaczęli eksperymentować z algorytmem i tworzyć własne, unikalne wersje YOLO. Niektóre z nich zostaną omówione w różnych punktach artykułu.
3. YOLOv3
Na papierze "YOLOv3: stopniowa poprawa” Joseph Redmon i Ali Farhadi opublikowali nową wersję algorytmu w 2018 roku. Został on zbudowany na architekturze Darknet-53. Niezależne klasyfikatory logistyczne zastąpiły mechanizm aktywacji softmax w YOLOv3.
Podczas treningu wykorzystano binarną stratę entropii krzyżowej. Darknet-19 został ulepszony i przemianowany na Darknet-53, który ma teraz 53 warstwy splotowe. Poza tym prognozy zostały wykonane w trzech różnych skalach, co pomogło YOLOv3 zwiększyć dokładność przewidywania drobnych rzeczy.
YOLOv3 był ostatnią wersją YOLO Josepha Redmona, ponieważ zdecydował się nie pracować nad dalszymi ulepszeniami YOLO (lub nawet w obszarze wizji komputerowej), aby uniknąć szkodliwego wpływu jego pracy na świat. Obecnie jest używany głównie jako punkt wyjścia do konstruowania unikalnych architektur wykrywania obiektów.
4. Jołow4
Alexey Bochkovskiy, Chien-Yao Wang i Hong-Yuan Mark Liao opublikowali:YOLOv4: Optymalna szybkość i dokładność wykrywania obiektóww kwietniu 2020 roku, która była czwartą iteracją algorytmu YOLO.
W ramach architektury SPDarknet53 wprowadzono ważone połączenia resztkowe, połączenia międzyetapowe i częściowe, normalizację między mini-partią, trening autoprzeciwników, aktywację misz, blokadę upuszczania i utratę CIoU.
YOLOv4 jest potomkiem rodziny YOLO, jednak został opracowany przez oddzielnych naukowców (nie Josepha Redmona i Ali Farhadi). Szkielet SPDarknet53, przestrzenne łączenie piramid, agregacja ścieżek PANet jako szyja i głowa YOLOv3 tworzą jego architekturę.
W rezultacie, w porównaniu do swojego rodzica, YOLOv3, YOLOv4 osiąga o 10% wyższą średnią precyzję i o 12% lepszą liczbę klatek na sekundę.
5. YOLOv5
YLOv5 to projekt typu open source, który obejmuje szereg modeli i algorytmów identyfikacji obiektów opartych na modelu YOLO, który został wstępnie przeszkolony na zestawie danych COCO.
YOLOv5 to zbiór modeli identyfikacji obiektów w skali złożonej przeszkolony w zbiorze danych COCO, z łatwymi możliwościami TTA, składania modeli, opracowywania hiperparametrów i eksportowania do ONNX, CoreML i TFLite. Ponieważ YOLOv5 nie wdraża ani nie rozwija żadnych unikalnych podejść, oficjalna publikacja nie mogła zostać opublikowana. To po prostu rozszerzenie PyTorch YOLOv3.
Ultranytics wykorzystał ten scenariusz do opublikowania „nowej wersji YOLO” pod swoim sponsorem. Ponieważ dostępnych jest również pięć wstępnie wytrenowanych modeli, strona główna YOLOv5 jest dość prosta i profesjonalnie skonstruowana i napisana, z wieloma lekcjami i sugestiami dotyczącymi szkolenia i wykorzystania modeli YOLOv5.
Ograniczenia YOLO
Chociaż YOLO wydaje się być najlepszą techniką rozwiązywania wykrywanie obiektów problemów, ma wiele wad. Ponieważ każda siatka może zidentyfikować tylko jeden przedmiot, YOLO ma trudności z wykrywaniem i segregacją małych rzeczy na obrazach, które występują w grupach. Małe rzeczy w rojach, takie jak rój mrówek, są trudne do zidentyfikowania i zlokalizowania przez firmę YOLO.
W porównaniu ze znacznie wolniejszymi metodami identyfikacji obiektów, takimi jak Fast RCNN, YOLO charakteryzuje się również mniejszą dokładnością.
Zacznij używać YOLOv5
Jeśli chcesz zobaczyć YOLOv5 w akcji, sprawdź oficjalny GitHub i YOLOv5 w PyTorch.
Wnioski
Pierwsza wersja YOLOv5 jest niezwykle szybka, wydajna i prosta w użyciu. Chociaż YOLOv5 nie dodaje żadnej nowej architektury modelu do rodziny YOLO, zapewnia nową strukturę szkolenia i wdrażania PyTorch, która poprawia stan techniki wykrywania obiektów.
Co więcej, YOLOv5 jest niezwykle przyjazny dla użytkownika i jest gotowy do użycia na obiektach na zamówienie.
Dodaj komentarz