Adaptowalne, brzegowe aplikacje wizyjne
Szybkie pojawienie się łatwo dostępnych algorytmów uczenia maszynowego (ML) wzmaga zainteresowanie sztuczną inteligencją, jednak deweloperzy wciąż mają trudności z dotrzymaniem napiętych harmonogramów projektów - rozwiązaniem może być SoM.
Zastosowanie sztucznej inteligencji (AI) w inteligentnych kamerach brzegowych szybko przyjęło się w coraz szerszej gamie wbudowanych rozwiązań wizyjnych, takich jak widzenie maszynowe, bezpieczeństwo, handel detaliczny i robotyka. Szybkie pojawienie się łatwo dostępnych algorytmów uczenia maszynowego (ML) pomogło zapoczątkować to zainteresowanie sztuczną inteligencją, jednak deweloperzy wciąż mają trudności z dotrzymaniem napiętych harmonogramów projektów, zapewniając jednocześnie wysoką wydajność przy niskim poborze mocy dla rozwiązań brzegowych.
Nawet nowo wdrożone rozwiązania mogą szybko stać się nieoptymalne ze względu na szybko zmieniający się charakter wymagań tych rozwiązań i ciągłe ulepszenia w rozwijających się algorytmach, co jeszcze bardziej komplikuje sprawy.
W niniejszym artykule przedstawiono elastyczne rozwiązanie modułu SOM (system-on-module) firmy Xilinx, który deweloperzy mogą wykorzystać do szybkiego wdrożenia inteligentnych kamer na potrzeby urządzeń brzegowych. Pokazuje on, w jaki sposób można łatwiej dostosować te rozwiązania do zmieniających się potrzeb bez uszczerbku dla kluczowych wymagań dotyczących opóźnień i mocy.
Przyspieszenie realizacji rozwiązań wizyjnych
Moduł SOM Kria K26 firmy Xilinx opierający się na specjalnie zbudowanym wieloprocesorowym układzie SoC (MPSoC) Zynq UltraScale+, stanowi solidny wbudowany system przetwarzania zawierający 64-bitowy czterordzeniowy procesor aplikacyjny (APU) ARM Cortex-A53 (APU), 32-bitowy dwurdzeniowy procesor czasu rzeczywistego (RPU) ARM® Cortex®-R5F oraz procesor graficzny 3D ARM Mali-400MP2 (GPU). Moduł SOM łączy MPSoC z czterema gigabajtami 64-bitowej pamięci o podwójnej szybkości przesyłania danych 4 (DDR4) i powiązanym kontrolerem pamięci, a także wieloma urządzeniami pamięci nieulotnej (NVM), w tym 512Mb pamięci z poczwórnym szeregowym interfejsem urządzeń peryferyjnych (QSPI), 16GB wbudowanej pamięci na karcie multimedialnej (eMMC) i 64kb elektrycznie kasowanej i programowanej pamięci tylko do odczytu (EEPROM) (ilustracja 1).
Ilustracja 1: Moduł SOM Kria K26 firmy Xilinx łączy w sobie bogate możliwości niestandardowego układu MPSoC Zynq UltraScale z zaufanym modułem platformy 2.0 (TPM2) oraz dynamiczną pamięcią nieulotną. (Źródło ilustracji: Xilinx)
Zasoby przetwarzania i przechowywania danych firmy Xilinx wzbogaca rozbudowany programowalny układ logiczny składający się z 256 tys. komórek układu logicznego, 234 tys. konfigurowalnych przerzutników flip-flop bloków logicznych (CLB), 117 tys. tablic LUT i 26,6 megabitów pamięci w różnych konfiguracjach rozproszonej pamięci o dostępie swobodnym (RAM), blokowej pamięci RAM i blokach ultraRAM. Ponadto programowalny układ logiczny obejmuje 1248 segmentów cyfrowego przetwarzania sygnału (DSP), cztery nadajniko-odbiorniki i kodek wideo dla formatu H.264 i H.265, który może obsługiwać do 32 strumieni jednoczesnego kodowania/dekodowania, łącznie 3840 x 2160 pikseli przy klatkażu 60kl./s. Dwa 240-wtykowe złącza modułu SOM zapewniają łatwy dostęp do bloków funkcjonalnych i urządzeń peryferyjnych poprzez konfigurowane przez użytkownika wejścia/wyjścia (I/O).
Takie połączenie rdzeni procesora, pamięci i programowalnej logiki zapewnia wyjątkowy poziom elastyczności i wydajności, który przezwycięża kluczowe wady procesorów graficznych (GPU) używanych do szybkiego wykonywania algorytmów uczenia maszynowego (ML). Deweloperzy mogą ponownie skonfigurować ścieżkę danych modułu SOM K26, aby zoptymalizować przepustowość i zmniejszyć opóźnienia, co nie byłoby możliwe przy stałym przepływie danych w procesorach graficznych. Co więcej, architektura modułu SOM K26 jest szczególnie dobrze dopasowana do rzadkich typów sieci będących kołem zamachowym rosnącej liczby aplikacji ML.
Programowalność modułu SOM K26 rozwiązuje również problem wąskich gardeł pamięci, które zarówno zwiększają zużycie energii, jak i ograniczają wydajność w aplikacjach intensywnie korzystających z pamięci, takich jak uczenie maszynowe (ML) zbudowane z konwencjonalnych architektur wykorzystujących procesory graficzne, procesory wielordzeniowe, a nawet zaawansowane układy SoC. W każdym rozwiązaniu zaprojektowanym z użyciem wspomnianych konwencjonalnych urządzeń pamięć zewnętrzna zwykle odpowiada za około 40% zużycia energii przez układ, podczas gdy rdzenie procesora i pamięć wewnętrzna zwykle odpowiadają za około 30% zużycia. Aby wdrożyć projekty, które wymagają niewielkiego dostępu do pamięci zewnętrznej lub nie wymagają go wcale, deweloperzy mogą alternatywnie wykorzystać wewnętrzne bloki pamięci modułu SOM K26 i i jego rekonfigurowalność. Rezultatem jest zwiększona wydajność i mniejsze zużycie energii niż jest to możliwe w przypadku urządzeń konwencjonalnych (ilustracja 2).
Ilustracja 2: Podczas gdy układy oparte na wbudowanych procesorach i typowych układach SoC wymagają wielokrotnego, energochłonnego dostępu do pamięci w celu uruchamiania aplikacji, układy oparte na module Kria firmy Xilinx używają wydajnego potoku wizyjnego, który można zaprojektować tak, aby uniknąć konieczności uzyskiwania dostępu do pamięci DDR. (Źródło ilustracji: Xilinx)
Dzięki wysokim parametrom działania, niskiemu zużyciu energii i rozległym możliwościom rekonfiguracji moduł SOM K26 pomaga zapewnić bezpieczeństwo w projektach inteligentnych kamer do zastosowań wrażliwych. Wyposażony we wbudowane urządzenie zabezpieczające TPM układ MPSoC posiada dedykowaną jednostkę zabezpieczeń konfiguracji (CSU), która zapewnia bezpieczne uruchamianie, monitorowanie pod kątem manipulacji, bezpieczne przechowywanie kluczy i kryptograficzną akcelerację sprzętową. Jednostka CSU, wewnętrzna pamięć wbudowana w układ mikroelektroniczny (OCM) i funkcja bezpiecznego przechowywania kluczy stanowią łącznie bezpieczny fundament dla sprzętowego systemu Root of Trust do bezpiecznego rozruchu i realizacji zaufanej platformy do wykonywania aplikacji.
Szerokie możliwości dostępne w module SOM K26 stanowią potężną podstawę do wdrażania wymagających rozwiązań brzegowych. Jednak każda sytuacja wiąże się z innymi wymaganiami w zakresie funkcji urządzeń peryferyjnych i pozostałych komponentów różniących się w zależności od zastosowania. Aby uprościć wdrażanie rozwiązań specyficznych dla danego zastosowania, moduł SOM K26 zaprojektowano z myślą o możliwości podłączenia do płytki nośnej, na której znajdują się dodatkowe urządzenia peryferyjne. Firma Xilinx demonstruje takie podejście poprzez oparty na module Kria K26 zestaw startowy do zastosowań wizyjnych ze sztuczną inteligencją KV260.