EfficientDet: W Kierunku Skalowalnego I Wydajnego Wykrywania Obiektów

Spisu treści:

EfficientDet: W Kierunku Skalowalnego I Wydajnego Wykrywania Obiektów
EfficientDet: W Kierunku Skalowalnego I Wydajnego Wykrywania Obiektów

Wideo: EfficientDet: W Kierunku Skalowalnego I Wydajnego Wykrywania Obiektów

Wideo: EfficientDet: W Kierunku Skalowalnego I Wydajnego Wykrywania Obiektów
Wideo: EfficientDet Implementation | Object Detection 2024, Listopad
Anonim

Jako jedno z głównych zastosowań w wizji komputerowej, wykrywanie obiektów staje się coraz ważniejsze w scenariuszach, które wymagają wysokiej precyzji, ale mają ograniczone zasoby obliczeniowe, takich jak robotyka i samochody bez kierowcy. Niestety wiele nowoczesnych detektorów o wysokiej precyzji nie spełnia tych ograniczeń. Co ważniejsze, aplikacje do wykrywania obiektów w świecie rzeczywistym działają na różnych platformach, które często wymagają różnych zasobów.

Skalowalne i wydajne wykrywanie obiektów
Skalowalne i wydajne wykrywanie obiektów

Naturalnym pytaniem jest więc, jak zaprojektować dokładne i wydajne wykrywacze obiektów, które mogą również dostosować się do szerokiego zakresu ograniczeń zasobów?

EfficientDet: Skalowalne i wydajne wykrywanie obiektów, przyjęte na CVPR 2020, wprowadza nową rodzinę skalowalnych i wydajnych detektorów obiektów. Opierając się na wcześniejszych pracach nad skalowaniem sieci neuronowych (EfficientNet) i wprowadzając nową dwukierunkową sieć funkcjonalną (BiFPN) oraz nowe reguły skalowania, EfficientDet osiąga nowoczesną precyzję, a jednocześnie jest 9 razy mniejszy i wykorzystuje znacznie mniej obliczeń niż znane współczesne detektory. Poniższy rysunek przedstawia ogólną architekturę sieci modeli.

Wizerunek
Wizerunek

Optymalizacja architektury modelu

Ideą EfficientDet jest dążenie do znalezienia rozwiązań poprawiających wydajność obliczeniową poprzez systematyczne badanie wcześniejszych, najnowocześniejszych modeli wykrywania. Ogólnie rzecz biorąc, detektory obiektów składają się z trzech głównych elementów: szkieletu, który wyodrębnia cechy z danego obrazu; sieć obiektów, która pobiera wiele poziomów funkcji ze szkieletu jako dane wejściowe i wysyła listę połączonych funkcji, które reprezentują charakterystyczne cechy obrazu; oraz końcową klasę/sieć skrzynkową, która wykorzystuje połączone funkcje do przewidywania klasy i lokalizacji każdego obiektu.

Po przejrzeniu opcji projektowych tych komponentów zidentyfikowaliśmy kilka kluczowych optymalizacji w celu poprawy wydajności i efektywności. Poprzednie detektory najczęściej wykorzystywały ResNets, ResNeXt lub AmoebaNet jako szkielety, które są albo mniej wydajne, albo mają niższą wydajność niż EfficientNets. Dzięki początkowemu wdrożeniu szkieletu EfficientNet można osiągnąć znacznie większą wydajność. Na przykład, zaczynając od linii bazowej RetinaNet, która wykorzystuje szkielet ResNet-50, nasze badanie ablacji pokazuje, że zwykłe zastąpienie ResNet-50 przez EfficientNet-B3 może poprawić dokładność o 3%, jednocześnie zmniejszając obliczenia o 20%. Kolejną optymalizacją jest poprawa wydajności sieci funkcjonalnych. Podczas gdy większość poprzednich detektorów po prostu korzysta z sieci piramid w łączu w dół (FPN), okazuje się, że dalszy FPN jest z natury ograniczony do jednokierunkowego przepływu informacji. Alternatywne FPN, takie jak PANet, dodają dodatkowe upstream kosztem dodatkowych obliczeń.

Niedawne próby wykorzystania wyszukiwarki Neural Architecture Search (NAS) wykazały bardziej złożoną architekturę NAS-FPN. Jednak, chociaż ta struktura sieci jest skuteczna, jest również nieregularna i wysoce zoptymalizowana pod kątem określonego zadania, co utrudnia dostosowanie do innych zadań. Aby rozwiązać te problemy, proponujemy nową sieć funkcji dwukierunkowych BiFPN, która realizuje ideę połączenia funkcji wielowarstwowych z FPN/PANet/NAS-FPN, co pozwala na przekazywanie informacji zarówno od góry do dołu, jak i od góry do dołu. od dołu do góry. korzystanie z regularnych i efektywnych połączeń.

Wizerunek
Wizerunek

Aby jeszcze bardziej poprawić wydajność, proponujemy nową technikę szybkiej znormalizowanej syntezy. Tradycyjne podejścia zwykle traktują wszystkie dane wejściowe do FPN w ten sam sposób, nawet w różnych rozdzielczościach. Zauważamy jednak, że funkcje wejściowe o różnych rozdzielczościach często nierówno przyczyniają się do funkcji wyjściowych. W ten sposób dodajemy dodatkową wagę do każdej funkcji wejściowej i pozwalamy sieci poznać znaczenie każdej z nich. Zastąpimy również wszystkie zwykłe zwoje z tańszymi, głęboko rozdzielnymi zwojami. Dzięki tej optymalizacji nasz BiFPN dodatkowo poprawia dokładność o 4%, jednocześnie redukując koszty obliczeniowe o 50%.

Trzecia optymalizacja polega na osiągnięciu najlepszego kompromisu między dokładnością a wydajnością przy różnych ograniczeniach zasobów. Nasza poprzednia praca wykazała, że współskalowanie głębokości, szerokości i rozdzielczości sieci może znacznie poprawić wydajność rozpoznawania obrazów. Zainspirowani tym pomysłem, proponujemy nową metodę skalowania kompozytowego dla detektorów obiektów, która łącznie zwiększa rozdzielczość/głębokość/szerokość. Każdy element sieci, tj. sieć predykcyjna szkieletowa, obiektowa i blokowa/klasowa, będzie miał jeden złożony czynnik skalowania, który kontroluje wszystkie wymiary skalowania za pomocą reguł heurystycznych. Takie podejście ułatwia określenie sposobu skalowania modelu przez obliczenie współczynnika skali dla danego ograniczenia zasobów docelowych.

Łącząc nowy szkielet i BiFPN, najpierw projektujemy małą linię bazową EfficientDet-D0, a następnie stosujemy skalowanie złożone, aby uzyskać EfficientDet-D1 do D7. Każdy model szeregowy ma wyższy koszt obliczeniowy, obejmujący szeroki zakres ograniczeń zasobów od 3 miliardów FLOP do 300 miliardów FLOPs i zapewnia większą dokładność.

Model wydajności

Ocena EfficientDet na zestawie danych COCO, szeroko stosowanym referencyjnym zestawie danych do wykrywania obiektów. EfficientDet-D7 osiąga średnią dokładność (mAP) 52,2, czyli 1,5 punktu wyższą niż poprzedni nowoczesny model, przy użyciu 4 razy mniej parametrów i 9,4 razy mniej obliczeń

Wizerunek
Wizerunek

Porównaliśmy również rozmiar parametru i opóźnienie procesora / GPU między EfficientDet a poprzednimi modelami. Przy podobnych ograniczeniach dokładności modele EfficientDet działają 2–4 razy szybciej na GPU i 5–11 razy szybciej na procesorze niż inne detektory. Chociaż modele EfficientDet są przeznaczone przede wszystkim do wykrywania obiektów, testujemy również ich skuteczność w innych zadaniach, takich jak segmentacja semantyczna. Aby wykonać zadania segmentacji, nieznacznie modyfikujemy EfficientDet-D4, zastępując głowicę detekcyjną oraz utratę i utratę przy zachowaniu tego samego skalowanego szkieletu i BiFPN. Porównujemy ten model z poprzednimi nowoczesnymi modelami segmentacji dla Pascal VOC 2012, szeroko stosowanego zestawu danych do testowania segmentacji.

Wizerunek
Wizerunek

Biorąc pod uwagę ich wyjątkową wydajność, oczekuje się, że EfficientDet posłuży jako nowa podstawa dla przyszłych badań nad wykrywaniem obiektów i potencjalnie zapewni bardzo dokładne modele wykrywania obiektów, przydatne w wielu rzeczywistych zastosowaniach.. Otworzyłem więc wszystkie punkty przerwania kodu i wstępnie wytrenowany model na Github.com.

Zalecana: