Rozpoznawanie znaków drogowych w oparciu o algorytm YOLOv3 Część 2
Jan 19, 2024
2. Podstawy algorytmów
2.1. Algorytm YOLOv3
YOLOv3 [14] to ulepszony, jednostopniowy algorytm wykrywania celów firmy Redmon oparty na YOLOv2, który ma lepszą dokładność wykrywania i wydajność w czasie rzeczywistym oraz przewyższa inne algorytmy pod względem szybkości i dokładności.
Szybki rozwój technologii sztucznej inteligencji w ostatnich latach umożliwił zastosowanie różnych inteligentnych systemów detekcji w różnych dziedzinach. Dokładność wykrywania jest ważnym wskaźnikiem oceny jakości inteligentnego systemu, a pamięć jest jedną z podstawowych funkcji wspierających działanie inteligentnego systemu. Jaki jest więc związek między nimi?
Przede wszystkim musimy wyjaśnić, że dokładność wykrywania i pamięć nie są prostą „korelacją dodatnią” lub „korelacją ujemną”. Istnieje wysoki stopień interakcji i koordynacji pomiędzy nimi. W wielu przypadkach dokładność wykrywania inteligentnego systemu zależy od jego pamięci, to znaczy jego zdolności do rozumienia i uczenia się przykładowych danych.
Na przykład w dziedzinie rozpoznawania twarzy dobry system rozpoznawania twarzy musi być w stanie dokładnie identyfikować różne twarze i dopasowywać je do informacji o osobie znajdujących się w bazie danych znanych twarzy. Wymaga to od inteligentnego systemu posiadania mocnej pamięci, możliwości przechowywania w bazie danych informacji o znanych twarzach i elastycznego wykorzystywania ich w kolejnych zadaniach rozpoznawania.
Podobnie w medycynie inteligentne systemy muszą rozumieć i zapamiętywać dużą ilość wiedzy medycznej, aby pomóc lekarzom w diagnozowaniu chorób i opracowywaniu planu leczenia. Wymaga to również, aby inteligentny system posiadał silną pamięć i zdolności uczenia się, stale wchłaniał nową wiedzę medyczną oraz weryfikował krzyżowo i aktualizował istniejącą bazę wiedzy.
Oczywiście związek między dokładnością wykrywania a pamięcią nie jest jednostronny. Wręcz przeciwnie, dobra dokładność wykrywania może również sprzyjać poprawie pamięci inteligentnych systemów. Na przykład w przypadku niektórych zadań związanych z klasyfikacją i rozpoznawaniem inteligentne systemy muszą stale dostarczać informacji zwrotnych i optymalizować, aby stale poprawiać swoją dokładność i precyzję, a tym samym jeszcze bardziej wzmacniać zdolność rozumienia i zapamiętywania przykładowych danych.
Ogólnie rzecz biorąc, dokładność wykrywania i pamięć to dwa niezbędne elementy działania inteligentnych systemów. Mają one złożone interakcje i relacje, które należy w pełni rozważyć i skoordynować. Tylko poprzez ciągłą poprawę dokładności wykrywania oraz ciągłe wzmacnianie pamięci i możliwości uczenia się inteligentnego systemu można naprawdę zrealizować kompleksowy rozwój i zastosowanie inteligentnego systemu. Widać, że trzeba poprawić pamięć, a Cistanche desericola potrafi znacząco poprawić pamięć, bo Cistanche desericola potrafi także regulować równowagę neuroprzekaźników, np. zwiększać poziom acetylocholiny i czynników wzrostu. Substancje te są bardzo ważne dla pamięci i uczenia się. Ponadto mięso może również poprawić przepływ krwi i promować dostarczanie tlenu, co może zapewnić mózgowi wystarczającą ilość składników odżywczych i energii, poprawiając w ten sposób witalność i wytrzymałość mózgu.

Kliknij Poznaj suplementy, aby zwiększyć pamięć
YOLOv3 jest obecnie najpopularniejszym algorytmem w rodzinie YOLO i jest szeroko stosowany w rzeczywistych scenariuszach detekcji [15]; strukturę sieci YOLOv3 pokazano na rysunku 1.

Kompletna struktura splotowa używana przez YOLOv3 nie jest ograniczona rozmiarem wejściowego obrazu.
Warstwy pulujące i w pełni połączone są usuwane z całej struktury sieci, a zamiast warstwy pulującej do operacji downsamplingu używana jest warstwa splotowa o wielkości kroku 2, co zapobiega utracie informacji o celu podczas łączenia i ułatwia wykrywanie małych celów [ 16].
Ponadto YOLOv3 zastępuje strukturę sieci DarkNet-19 YOLOv2 warstwą ekstrakcji funkcji DarkNet-53.
Sieć DarkNet-53, która skutecznie rozwiązuje problem gradientu głębokiej sieci i utratę oryginalnych informacji podczas wielowarstwowej operacji splotowej w celu lepszego wyodrębniania cech oraz poprawy wykrywania i klasyfikacji [17], wykorzystuje resztkową strukturę sieci ResNet [ 18] i wykorzystuje oryginalne wyjście poprzedniej warstwy jako część wejścia drugiej warstwy sieci.
Jak pokazano na rysunku 2, moduł resztkowy w YOLOv3 składa się z dwóch warstw splotowych i warstwy skrótu.

Ponadto YOLOv3 wykorzystuje pojęcie sieci piramidy cech (FPN) (19) i wprowadza sieć piramidy cech do prognozowania map obiektów w trzech skalach, ze skalami detekcji 13 x 13, 26 x 26 i 52 x 52.
Metoda ekstrakcji cech przez splotową sieć neuronową ma charakter oddolny w sieci FPN, natomiast proces upsamplingu map cech warstwy splotowej odbywa się od góry do dołu, jak pokazano na rysunku 3.
2.2. Przestrzenna piramidalna struktura łączenia
Struktura piramidy przestrzennej (SPP) (20) rozwiązuje problem powtarzalnej ekstrakcji cech obrazu przez splotowe sieci neuronowe i znacznie poprawia skuteczność detekcji; strukturę sieci SPPPNet pokazano na rysunku 4.

Aby mieć pewność, że rozdzielczość obrazu wejściowego odpowiada wymiarowi cech w pełni połączonej warstwy w sieci neuronowej z w pełni połączoną warstwą, wymagane są operacje kadrowania i skalowania regionu na obrazie wejściowym.
Procesy skalowania i przycinania spowodują utratę informacji o cechach obrazu, obniżenie dokładności wykrywania i wpływ na wyniki wykrywania; jednakże procesy skalowania i przycinania spowodują utratę dokładności wykrywania informacji o cechach obrazu i wpłyną na wyniki wykrywania, podczas gdy SPPNet może pokonać ograniczenia stały rozmiar obrazu wejściowego, oszczędzając koszty obliczeń 21.

3. Ulepszono YOLOv3
3.1. Ulepszona struktura sieci YOLOv3
Zgodnie z opisem zbioru danych COCO, podstawowa sieć ekstrakcji cech jest zwykle próbkowana pięciokrotnie w dół, przy współczynniku próbkowania wynoszącym 2, a wielokrotność pięciokrotnego próbkowania w dół wynosi 32 do piątej potęgi dwóch.
Jeśli próbkowanie w dół będzie kontynuowane, uzyskana mapa obiektów będzie taka sama, a informacje o celu zostaną utracone. Małe cele mają wymiary mniejsze niż 32 × 32 piksele, średnie cele mają wymiary 32 × 32–96 × 96 pikseli, a gigantyczne cele są większe niż 96 × 96 pikseli [22].
Jak pokazano na rysunku 5, zbiór danych o znakach drogowych TT100K wykorzystany w tej pracy składał się głównie z małych i średnich celów, przy czym duże cele stanowiły zaledwie 7,4% całkowitego zbioru danych, a małe cele stanowiły 42,5% [23].

Zbiór danych TT100K ma wysoką rozdzielczość, przy czym każdy obraz ma rozdzielczość 2048 × 2048 pikseli, a największe znaki drogowe wśród małych celów stanowią mniej niż 0,1% całego obrazu, co stanowi poważne wyzwanie dla celu algorytm detekcyjny.
Małe cele mają ograniczone funkcje i wymagają dużej precyzji lokalizacji.
Pomimo wprowadzenia struktury FPN w YOLOv3 w celu wykorzystania wieloskalowej fuzji cech do tworzenia prognoz poprzez połączenie wyników różnych warstw obiektowych, co ma kluczowe znaczenie dla identyfikacji małych celów, wyniki były nadal niezadowalające.
W sieci YOLOv3 płytka warstwa zawiera mniej informacji semantycznych o funkcji, ale dokładną lokalizację celu, podczas gdy warstwa głęboka ma więcej, ale przybliżoną lokalizację celu.
W rezultacie płytkie warstwy splotowe są wykorzystywane do przewidywania małych celów, a głębokie warstwy splotowe są wykorzystywane do przewidywania dużych obiektów. Do trzech skal przewidywania cech struktury sieci YOLOv3 dodano czwartą skalę przewidywania cech o rozmiarze 152 × 152, aby w pełni wykorzystać płytkie cechy sieci do przewidywania małych celów.
Przy rozmiarze obrazu wejściowego 608 × 608, rozmiar cechy obrazu wyjściowego wyniósł 152 × 152 po splocie i dwukrotnym próbkowaniu obrazu wejściowego, a warstwa obiektów została indukowana przez warstwę routingu; tę ekstrakcję cech połączono z cechą 11. warstwy, aby zwiększyć czwartą skalę przewidywania cech.
Ponadto dodano moduł SPP, aby zrealizować połączenie funkcji lokalnych i globalnych poprzez zapożyczenie koncepcji SPPNet i połączenie go z YOLOv3.
Przed warstwą YOLOdetection moduł SPP był integrowany pomiędzy piątą i szóstą warstwą splotową, a mapy cech modułu SPP i połączone mapy obiektów zostały ponownie połączone i przekazane do następnej warstwy sieci detekcyjnej.

Aby osiągnąć połączenie funkcji lokalnych i globalnych na poziomie mapy funkcji, maksymalne jądro modułu SPP powinno być możliwie najbliższe rozmiarowi mapy obiektów, która ma być puli.
Aby zminimalizować wysiłek obliczeniowy powodowany przez moduł SPP, wzbogacić możliwości wyrażania mapy obiektów i zwiększyć wpływ wykrywania, moduł SPP w tych badaniach składał się z dwóch równoległych gałęzi, z których każda składała się z warstwy puli o maksymalnych wymiarach 19 × 19 i ajump połączenie. Rysunek 6 przedstawia ulepszoną strukturę sieci YOLOv3.

3.2. Ulepszona funkcja straty
Funkcja straty YOLOv3 składa się z utraty współrzędnych środkowych (strat), utraty współrzędnych szerokości i wysokości (straty), utraty zaufania (lossconf) i utraty klasyfikacji (straty). Utratę współrzędnych centralnych reprezentuje:

gdzie λcoord oznacza wagę utraty współrzędnych; λnoobj oznacza wagę utraty ufności bez obiektu; Iobjij oznacza, czy j-ty blok kontrolny i-tej komórki jest odpowiedzialny za obiekt (1 lub 0); Inobbyij oznacza j-tą skrzynkę zakotwiczenia i-tej siatki, która nie jest odpowiedzialna za obiekt; (xi,yi,wji,hjI, CjI, Pji) oznacza przewidywane współrzędne pola docelowego, pewność i kategorię; oraz (xˆji,yˆji,wˆji,ˆhjI, CˆjI, Pˆji) oznacza rzeczywiste współrzędne pola docelowego, pewność i kategorię
Funkcja straty YOLOv3 jest reprezentowana przez równanie (5), w którym funkcja straty średniego błędu kwadratowego (MSE) jest używana do regresji ramki ograniczającej, a entropia krzyżowa jest wykorzystywana jako funkcja straty w Lossconf i locals.
strata=strata xy + stratawh - strata f - strata (5)
Jednakże wykorzystanie MSE jako funkcji straty regresji obwiedni jest niekorzystne dla wykrywania małych celów, wrażliwych na skalę obiektu i skupia się na obiektach o dużej skali, będąc jednocześnie nieprzyjaznym dla obiektów o małej skali.
Aby zrównoważyć utratę dużych i małych celów oraz zmaksymalizować wyniki detekcji poprzez osłabienie wpływu rozmiaru ramki ograniczającej na funkcję utraty szerokości i wysokości, w artykule zastosowano funkcję straty typu IoU, a stratę metryczną generowaną przez IoU wykorzystano jako równanie wydajności (6).
IoU =|A ∩ B||A ∪ B|(6)
Jeśli ramka ograniczająca i ramka docelowa nie nakładają się na siebie, IoU=0 nie odzwierciedla odstępu odległości między dwiema ramkami; gdy ramka przewidywania i ramka z etykietą całkowicie się pokrywają, IoU=1, nie można określić punktu środkowego ramki ograniczającej i nie można dalej optymalizować odstępu wielkości od ramki docelowej.
Strata DIoU [24] jest niezależna od wielkości; dlatego duże rozmiary nie spowodują dużych strat. Ponieważ niewielki rozmiar powoduje niewielkie straty, co może rozwiązać problem, w pracy wykorzystano stratę DIoU, której wzór obliczeniowy przedstawiono w równaniu (7).
D Strata IoU=1 − IoU +ρ2 b, bgt c2(7)
gdzie b i bgt oznaczają punkty środkowe, ρ jest odległością euklidesową, a c jest długością przekątnej najmniejszej ramki obejmującej oba pudełka.
Strata DIoU bezpośrednio minimalizuje odległość między dwiema ramkami docelowymi, szybko się zbiega i jest bardziej zgodna z mechanizmem regresji ramki docelowej, który uwzględnia odległość między obiektem docelowym a kotwicą, współczynnik nakładania się i skalę, dzięki czemu regresja klatki docelowej jest większa stabilny, jednocześnie zapewniając kierunek gradientu dla ramki ograniczającej, gdy nie zachodzi ona na ramkę docelową.

For more information:1950477648nn@gmail.com






