YOLO-NAS to szczyt modeli wykrywania obiektów z serii YOLO. Ale dlaczego jest uważany za najlepszy?
Po YOLOv8 pojawił się jeszcze nowy, lepszy, najnowocześniejszy model wykrywania obiektów, YOLO-NAS. Jest to algorytm wykrywania obiektów opracowany przez Deci AI w celu rozwiązania ograniczeń poprzednich modeli YOLO (You Only Look Once).
Model jest zbudowany z AutoNAC, wyszukiwarki architektury neuronowej. Przewyższa szybkością i wydajnością modele SOTA, co stanowi duży krok naprzód w wykrywaniu obiektów poprzez poprawę kompromisów między dokładnością a opóźnieniem i obsługą kwantyzacji.
W tym artykule omówimy mocne strony i funkcje YOLO-NAS, badając, dlaczego jest to najlepszy model do wykrywania obiektów w serii YOLO.
Zrozumienie, jak działa YOLO-NAS
AutoNAC (Automated Neural Architecture Construction) firmy Deci generuje architekturę YOLO-NAS. AutoNAC to bezproblemowy proces, który zapewnia zwiększenie wydajności istniejących głębokich sieci neuronowych.
Rurociąg AutoNAC wykorzystuje wyszkoloną przez użytkownika głęboką sieć neuronową jako dane wejściowe, zbiór danych i dostęp do systemu wnioskowania. Wyszkolona przez użytkowników głęboka sieć neuronowa jest następnie przeprojektowywana przy użyciu potoku. Zoptymalizowana architektura z mniejszymi opóźnieniami jest wtedy osiągana bez uszczerbku dla dokładności.
YOLO-NAS używa RepVGG. RepVGG udostępnia go do optymalizacji po treningu poprzez ponowną parametryzację lub kwantyzację po treningu. Jest to rodzaj architektury sieci neuronowej oparty na VGG. Wykorzystuje techniki regularyzacji zaprojektowane w celu zwiększenia zdolności uogólniania modeli głębokiego uczenia się.
Projekt architektury jest bardziej wydajny pod względem szybkości i pamięci. RepVGG przechodzi szkolenie z wykorzystaniem architektury wielobranżowej, aby osiągnąć szybsze wnioskowanie. Następnie jest konwertowany na pojedynczą gałąź za pomocą ponownej parametryzacji.
Ta funkcja sprawia, że YOLO-NAS jest bardzo przydatny we wdrożeniach produkcyjnych. Dzieje się tak, ponieważ możliwe jest trenowanie i optymalizacja modelu z pełną precyzją pod kątem szybkości wnioskowania i wykorzystania pamięci.
Kluczowe cechy YOLO-NAS
Kluczowe funkcje YOLO-NAS obejmują:
- Szkolenie uwzględniające kwantyzację: Model wykorzystuje QSP i QCI (moduły uwzględniające kwantyzację), aby zmniejszyć utratę dokładności podczas kwantyzacji po treningu poprzez połączenie ponownej parametryzacji 8-bitowej kwantyzacji.
- Automatyczne projektowanie architektury: AutoNAC, zastrzeżona technologia NAS firmy Deci, wyszukuje optymalną architekturę modelu, która integruje podstawowe architektury modeli YOLO w celu uzyskania zoptymalizowanego modelu.
- Hybrydowa technika kwantyzacji: Standardowa metoda kwantyzacji wpływa na cały model. W przeciwieństwie do tego technika kwantyzacji hybrydowej polega na kwantyzacji fragmentu modelu w celu zrównoważenia opóźnienia i dokładności modelu.
- Korzystaj z unikalnych podejść, aby przygotować model do trenowania przy użyciu automatycznie etykietowanych danych. Następnie model uczy się na podstawie swoich przewidywań i uzyskuje dostęp do dużych ilości danych.
Analiza porównawcza: YOLO-NAS vs inne modele YOLO
Poniżej porównanie różnych modeli serii YOLO.
YOLO-NAS jest lepszy niż istniejące wcześniej modele wykrywania obiektów, ale ma swoje wady. Oto lista zalet i wad YOLO-NAS:
Zalety
- Jest to oprogramowanie typu open source.
- Jest o 10-20% szybszy niż wcześniejsze modele YOLO.
- Jest dokładniejszy w porównaniu z istniejącymi wcześniej modelami YOLO.
- Wykorzystuje lepszą architekturę, AutoNAC. Ustanawia to nowy rekord w wykrywaniu obiektów, zapewniając najlepszą dokładność i wydajność w zakresie opóźnień.
- Bezproblemowa obsługa silników wnioskowania, takich jak NVIDIA. Ta cecha sprawia, że jest to model gotowy do produkcji.
- Ma lepszą wydajność pamięci i zwiększone prędkości wnioskowania.
Cons
- Nie jest jeszcze stabilny, ponieważ technologia jest wciąż nowa i nie była szeroko stosowana w produkcji.
Wdrożenie YOLO-NAS
użyjesz Współpraca Google pisać i uruchamiać kody w tej implementacji. Alternatywą dla Google Colab byłoby stworzyć wirtualne środowisko I użyj IDE na komputerze lokalnym.
Model jest bardzo zasobochłonny. Upewnij się, że masz co najmniej 8 GB pamięci RAM przed uruchomieniem go na swoim komputerze. Im większy rozmiar wideo, tym więcej pamięci zużywa.
Instalowanie zależności
Zainstaluj zależność YOLO-NAS, supergradienty za pomocą poniższego polecenia:
pip zainstaluj super-gradienty==3.1.2
Po udanej instalacji będziesz mógł trenować model YOLO-NAS.
Szkolenie modelowe
Aby wytrenować model, uruchom poniższy blok kodu:
z super_gradienty.trening import modele
yolo_nas_l = modele.pobierz("yolo_nas_l", wstępnie wytrenowane_wagi="kokosowiec")
W tym kodzie importujesz model szkoleniowy z zainstalowanej biblioteki SuperGradients. Następnie używasz wstępnie wytrenowanych wag modelu z zestawu danych COCO.
Wnioskowanie modelu
Wnioskowanie o modelu ma potencjalne zastosowania do zadań związanych z wykrywaniem, klasyfikacją i segmentacją obrazów.
W tym przypadku skupisz się na zadanie wykrywania obiektów dla filmów i obrazów. Aby wykryć obiekt na obrazie, uruchom poniższy blok kodu:
adres URL = "ścieżka_img"
yolo_nas_l.predict (url, konf.=0.25).pokazywać()
Upewnij się, że używasz dokładnej ścieżki do obrazu. W takim przypadku prześlij obraz do środowiska Google Colab, a następnie skopiuj ścieżkę do obrazu.
Oczekiwany wynik:
Aby wykryć obiekty w filmie, uruchom poniższy blok kodu:
import latarka
input_video_path = „ścieżka_do_wideo”
wyjściowa_ścieżka_wideo = "wykryto.mp4"
urządzenie = „cuda”Jeśli latarka.cuda.is_available() w przeciwnym razie"procesor"
yolo_nas_l.to (urządzenie).predict (ścieżka_wejścia_wideo).save (ścieżka_wyjścia_wideo)
Podobnie jak dane obrazu, prześlij wideo, które chcesz wykryć, do środowiska Google Colab i skopiuj ścieżkę do zmiennej wideo. Przewidywany film będzie dostępny w środowisku Google Colab przy użyciu nazwy wykryto.mp4. Pobierz wideo na komputer lokalny przed zakończeniem sesji.
Oczekiwany wynik:
YOLO-NAS obsługuje również dostrajanie modeli i trenowanie na niestandardowych danych. Dokumentacja jest dostępna na Deci dopracowany notebook dla początkujących.
Realistyczne zastosowania YOLO-NAS
Kod źródłowy YOLO-NAS jest dostępny na licencji Apache 2.0, która jest dostępna do użytku niekomercyjnego. Do użytku komercyjnego model powinien zostać przeszkolony od podstaw, aby uzyskać niestandardowe wagi.
Jest to uniwersalny model, którego zastosowanie jest możliwe w kilku dziedzinach, takich jak:
Pojazdy autonomiczne i robotyka
YOLO-NAS może poprawić możliwości percepcji pojazdów autonomicznych, umożliwiając im szybsze i dokładniejsze wykrywanie i śledzenie obiektów w czasie rzeczywistym. Ta zdolność pomaga zapewnić bezpieczeństwo na drodze i płynną jazdę.
Systemy nadzoru i bezpieczeństwa
Model może zapewnić szybkie, dokładne wykrywanie obiektów w czasie rzeczywistym na potrzeby nadzoru i bezpieczeństwa systemów, co pomaga identyfikować potencjalne zagrożenia lub podejrzane działania, co skutkuje lepszym bezpieczeństwem systemy
Zarządzanie sprzedażą detaliczną i zapasami
Model może zapewnić szybkie i dokładne możliwości wykrywania obiektów, które umożliwiają wydajne i zautomatyzowane zarządzanie zapasami w czasie rzeczywistym, śledzenie zapasów i optymalizację półek. Model ten pomaga obniżyć koszty operacyjne i zwiększyć zyski.
Opieka zdrowotna i obrazowanie medyczne
W opiece zdrowotnej YOLO-NAS może pomóc w skutecznym wykrywaniu i analizie anomalii chorobowych lub określonych obszarów zainteresowania. Model może pomóc lekarzom w dokładnym diagnozowaniu chorób i monitorowaniu pacjentów, usprawniając w ten sposób sektor opieki zdrowotnej.
YOLO-NAS na wynos
YOLO-NAS to nowy model wykrywania obiektów, będący pionierem nowego sposobu przeprowadzania wykrywania obiektów. Jest lepszy niż modele SOTA. Jego wydajność w wykrywaniu obiektów to duży skok w projektach wizji komputerowej.