Projektowanie

Szybkie projektowanie i wdrażanie inteligentnych systemów widzenia maszynowego

Wdrażanie widzenia maszynowego jest skomplikowane i wymaga integracji różnych technologii. Jednak zamiast zaczynać od zera, projektant może sięgnąć po dobrze zaprojektowaną, wydajną platformę rozwojową.

Przycinanie pozwala w większym stopniu wykorzystać zalety AI

Parametry działania sieci neuronowej w module SOM (system-on-module) K26 można poprawić za pomocą narzędzia do optymalizacji SI, które umożliwia przycinanie i optymalizację danych. Nadmierna parametryzacja w sieciach neuronowych jest bardzo powszechna i prowadzi do wysokich poziomów redundancji, które można zoptymalizować poprzez przycinanie danych i kompresję modeli. Korzystając z narzędzia do optymalizacji sztucznej inteligencji AI Optimizer firmy Xilinx, można uzyskać 50x redukcję złożoności modelu, przy nominalnym wpływie na jego precyzję. Na przykład przy użyciu narzędzia AI Optimizer udoskonalono architekturę z pojedynczym detektorem (SSD) oraz konwolucyjną siecią neuronową (CNN) VGG o złożoności 117Gops w toku 11 iteracji przycinania. Przed rozpoczęciem optymalizacji model pracował z częstotliwością 18FPS na układzie MPSoC Zynq UltraScale+. Po 11 iteracjach - czyli w 12. uruchomieniu modelu - jego złożoność została obniżona z 117Gops do 11,6Gops (10X), częstotliwość wzrosła z 18 do 103FPS (5X), a dokładność dla wykrywania obiektów spadła z 61,55mAP do 60,4mAP (zaledwie o 1%) (ilustracja 3).

Wykres korzyści z przycinania

Ilustracja 3: Po kilku iteracjach przycinania można 10X zmniejszyć złożoność modelu (Gops) i 5-krotnie poprawić jego częstotliwość (FPS) kosztem jedynie 1% mniejszej dokładności (mAP). (Źródło ilustracji: AMD Xilinx)

Przykład zastosowania w praktyce

Rozwiązanie wykorzystujące uczenie maszynowe do automatycznego rozpoznawania tablic rejestracyjnych pojazdów (ANPR) zostało opracowane na bazie oprogramowania do analizy obrazów firmy Uncanny Vision. Automatyczne rozpoznawanie tablic rejestracyjnych pojazdów (ANPR) jest wykorzystywane w zautomatyzowanych systemach poboru opłat, monitorowaniu dróg, bezpiecznym dostępie do bram i parkingów oraz innych zastosowaniach. Omawiana funkcja automatycznego rozpoznawania tablic rejestracyjnych pojazdów (ANPR) obejmuje proces oparty na sztucznej inteligencji, w ramach którego następuje dekodowanie sygnału video, wstępna obróbka obrazu, wykrywanie z wykorzystaniem funkcji uczenia maszynowego i optyczne rozpoznawanie znaków (OCR) (ilustracja 4).

Schemat typowego przepływu przetwarzania obrazu dla funkcji automatycznego rozpoznawania tablic rejestracyjnych pojazdów (ANPR) opartej na sztucznej inteligencji (AI) (kliknij, aby powiększyć)

Ilustracja 4: Typowy przepływ przetwarzania obrazu dla funkcji automatycznego rozpoznawania tablic rejestracyjnych pojazdów (ANPR) opartej na sztucznej inteligencji (AI). (Źródło ilustracji: AMD Xilinx)

Implementacja funkcji automatycznego rozpoznawania tablic rejestracyjnych pojazdów (ANPR) wymaga co najmniej jednego zdekodowanego lub zdekompresowanego kanału protokołu transmisji strumieniowejczasu rzeczywistego (RTSP) w standardzie H.264 lub H.265. Dekodowane klatki wideo są skalowane, przycinane, konwertowane i normalizowane (wstępnie przetwarzane), a następnie wysyłane do algorytmu wykrywania z wykorzystaniem funkcji uczenia maszynowego (ML). Implementacje funkcji automatycznego rozpoznawania tablic rejestracyjnych pojazdów (ANPR) o wysokich parametrach działania wymagają wieloetapowego potoku sztucznej inteligencji (AI). W pierwszym etapie na obrazie wykrywany i lokalizowany jest pojazd, co skutkuje utworzeniem obszaru zainteresowania (ROI). Jednocześnie inne algorytmy pozwalają zoptymalizować jakość obrazu pod kątem późniejszego wykorzystania przez algorytm rozpoznawania znaków OCR i śledzić ruch pojazdu w wielu klatkach. Obszar zainteresowania wyznaczony na pojeździe jest dodatkowo przycinany w celu wygenerowania obszaru zainteresowania wyznaczonego na tablicy rejestracyjnej, który jest przetwarzany przez algorytm OCR w celu określenia znaków na tablicy rejestracyjnej. W porównaniu z innymi komercyjnymi modułami SOM (system-on-module) opartymi na procesorach graficznych (GPU) lub procesorach centralnych (CPU) aplikacja do automatycznego rozpoznawania tablic rejestracyjnych pojazdów (ANPR) firmy Uncanny Vision działała 2-3X szybciej na module Kira KV260, a kosztowała mniej niż 100$ za kanał RTSP.

Ilustracja przedstawiająca zestaw startowy Kria KV260 vision AI firmy AMD Xilinx

Ilustracja 5: Zestaw startowy Kria KV260 vision AI jest kompleksowym środowiskiem do zastosowań wykorzystujących widzenie maszynowe. (Źródło ilustracji: AMD Xilinx)

Ilustracja przedstawiająca zestaw startowy KV260 vision AI firmy AMD Xilinx

Ilustracja 6: Zestaw startowy KV260 vision AI zawiera: (górny rząd, od lewej do prawej) zasilacz, kabel Ethernet, kartę microSD i (dolny rząd, od lewej do prawej) kabel USB, kabel HDMI, moduł kamery. (Ilustracja: AMD Xilinx)

Środowisko rozwojowe z inteligentnym widzeniem

Projektanci inteligentnych rozwiązań wykorzystujących widzenie maszynowe, takich jak kamery drogowe i miejskie, systemy analizy sprzedaży, systemy bezpieczeństwa, automatyka przemysłowa i robotyka, mogą sięgnąć po środowisko rozwojowe kria-k26-som-ai-starter. Środowisko to jest zbudowane przy użyciu architektury z układem MPSoC Zynq® UltraScale+™ i posiada rosnącą bibliotekę pakietów oprogramowania do obsługi aplikacji (ilustracja 5). Moduł SOM (system-on-module) AI Starter zawiera czterordzeniowy procesor Arm Cortex-A53, ponad 250 tysięcy komórek logicznych i kodek wideo H.264/265. W module SOM (system-on-module) znajduje się również 4GB pamięci DDR4, 245 wejścia-wyjścia, a moc obliczeniowa AI 1,4Tops umożliwia tworzenie wysokowydajnych aplikacji sztucznej inteligencji z funkcją widzenia maszynowego, które zapewniają ponad 3X wyższe parametry działania przy mniejszej latencji i niższym poborze mocy w porównaniu z innymi konfiguracjami sprzętowymi. Gotowe aplikacje umożliwiają wykonanie wstępnych projektów w czasie krótszym niż godzina.

Aby ułatwić rozpoczęcie prac rozwojowych z użyciem modułu SOM (system-on-module) Kria K26, firma AMD Xilinx oferuje zestaw startowy KV260 vision AI, w skład którego wchodzą: zasilacz, kabel Ethernet, karta microSD, kabel USB, kabel HDMI oraz moduł kamery (ilustracja 6). Jeśli deweloper nie potrzebuje kompletnego zestawu startowego, aby rozpocząć korzystanie z modułu SOM (system-on-module) Kira K26, może po prostu zakupić opcjonalny zasilacz.

Innym czynnikiem, który przyspiesza prace rozwojowe, jest wszechstronny zestaw funkcji, w tym liczne, jednostronne i różnicowe wejścia-wyjścia o napięciu 1,8V i 3,3V z czterema nadajniko-odbiornikami 6Gb/s oraz czterema nadajniko-odbiornikami 12,5Gb/s. Funkcje te umożliwiają rozwój rozwiązań z większą liczbą czujników obrazu na jeden moduł SOM (system-on-module) oraz wieloma różnymi interfejsami czujników, takimi jak MIPI, LVDS, SLVS i SLVS-EC, które nie zawsze są obsługiwane przez standardowe produkty dobierane do danego zastosowania (ASSP) lub procesory graficzne (GPU). Dzięki wbudowanym programowalnym układom logicznym, deweloperzy mogą również wdrażać standardy Display Port, HDMI, PCIe, USB2.0/3.0 oraz standardy zdefiniowane przez użytkownika.

Wreszcie opracowanie aplikacji sztucznej inteligencji (AI) zostało uproszczone i stało się bardziej dostępne dzięki połączeniu rozbudowanych możliwości sprzętowych oraz środowiska oprogramowania w module SOM (system-on-module) K26 z gotowymi do produkcji rozwiązaniami widzenia maszynowego. Omawiane rozwiązania widzenia maszynowego mogą być wdrażane bez konieczności projektowania bezpośrednio programowalnych macierzy bramek (FPGA) i umożliwiają deweloperom oprogramowania szybką integrację niestandardowych modeli sztucznej inteligencji (AI) i kodu aplikacji, a nawet modyfikowanie potoku wizyjnego. Ujednolicona platforma rozwojowa oprogramowania Vitis oraz biblioteki firmy Xilinx pozwalają na obsługę popularnych środowisk projektowania, takich jak TensorFlow, Pylatch i Café, a także wiele języków programowania, w tym C, C++, OpenCL™ i Python. Dla zastosowań brzegowych wykorzystujących moduły SOM (system-on-module) Kria firmy Xilinx i urządzenia z tego ekosystemu dostępny jest również wbudowany sklep z aplikacjami. Firma Xilinx oferuje aplikacje bezpłatne i otwartoźródłowe do inteligentnych kamer śledzących ruch, wykrywania twarzy, przetwarzania języka naturalnego z wykorzystaniem inteligentnych rozwiązań wizyjnych i nie tylko.

Poprzednia
Strona: 2/3
Następna