Nvidia Jetson Nano – przewodnik po świecie AI

Czas czytania: 4 min.

Wraz z dynamicznym rozwojem technologii komputerowych, stajemy w obliczu coraz bardziej zaawansowanych i wydajnych rozwiązań, które umożliwiają przyspieszenie procesów obliczeniowych oraz tworzenie innowacyjnych aplikacji. Jednym z fascynujących przykładów jest mikrokomputer Nvidia Jetson Nano, który wyróżnia się swoimi zaawansowanymi możliwościami obliczeniowymi, otwierając nowe horyzonty w dziedzinie sztucznej inteligencji, uczenia maszynowego oraz rozpoznawania obrazu. Urządzenie to pojawiło się już w jednym z wcześniejszych materiałów, w którym poddana analizie została jego budowa, jak i cechy charakterystyczne. Tym razem przyjrzymy się szerzej możliwością, jakie oferuje Nvidia Jetson Nano.

Zobacz też poprzedni artykuł z tej serii:

Nvidia Jetson – recenzja i możliwości

Eksplozja Potencjału – nowe horyzonty AI

Sztuczna inteligencja staje się stopniowo coraz bardziej nieodłącznym elementem współczesnego świata, zmieniając sposób, w jaki korzystamy z dobrodziejstw nowoczesnych technologii. Technologiczny rozwój przyczynił się do pojawienia się coraz bardziej zaawansowanych rozwiązań i urządzeń, takich jak moduły Nvidia Jetson Nano, które otwierają nowe horyzonty dla wykorzystania AI. Warto jest wsiąść do pociągu sztucznej inteligencji już teraz i z jednego z wielu użytkowników stać się jednym z niewielu twórców aplikacji opartych na rozwiązaniach AI. Mikrokomputer Jetson Nano może być doskonałą platformą startową do implementacji własnych rozwiązańpomysłów w obszarach takich jak: rozpoznawanie obrazów, przetwarzanie języka naturalnego czy budowie autonomicznych robotów.

Zmień zasady gry – możliwości Nvidia Jetson Nano

Mikrokomputer Nvidia Jetson Nano.

Płytka Nvidia Jetson Nano to całkiem zaawansowany mikrokomputer jak na swoje niewielkie rozmiary, zaprojektowany specjalnie pod aplikacje związane ze sztuczną inteligencją. Moduł wyposażony w wydajny procesor oparty o rdzenie ARM wraz z jednostkami obliczeniowymi CUDA. Płytka ta charakteryzuje się kompaktowym rozmiarem, co czyni ją idealnym narzędziem dla programistów, inżynierów i twórców projektów DIY. Dzięki bogatemu zestawowi interfejsów, takim jak porty USB, HDMIGPIO, Jetson Nano może łączyć się z różnymi urządzeniami i czujnikami, umożliwiając tworzenie kompleksowych rozwiązań opartych na AI. Mikrokomputer wspiera specjalne, przygotowane przez Nvidie oprogramowanie, co ułatwia tworzenie aplikacji AI oraz eksperymentowanie z różnymi algorytmami i modelami uczenia maszynowego. Dzięki tej płytce twórcy mogą w pełni wykorzystać potencjał sztucznej inteligencji w swoich projektach, od robotyki po przetwarzanie obrazów czy analizę danych. Nvidia Jetson Nano można podsumować jako mikrokomputer, który otwiera drzwi do świata sztucznej inteligencji.

Klasyfikacja obrazów

Rozpoznawanie obiektów przez sztuczną inteligencję jest procesem, w którym komputer lub system AI analizuje obrazy lub dane w celu identyfikacjiklasyfikacji obiektów znajdujących się na tych obrazach. Proces ten opiera się na technikach przetwarzania obrazu i uczeniu maszynowym. W początkowym etapie należy przygotować dane wraz z odpowiednimi etykietami (klasami). Mogą to być na przykład fotografie kotów, opisane właśnie jako zdjęcia kotów. Tak przygotowanym zbiorem danych karmiony jest algorytm uczenia maszynowego, który analizuje obrazy i wyznacza ich cechy charakterystyczne przypisane do konkretnej etykiety, może to być kształt, kolor czy też tekstura. Po zakończeniu etapu trenowania modelu AI, jest on testowany na nowym zbiorze danych, jeśli obiekty rozpoznawane są poprawnie, cały proces można uznać za zakończony.

Truskawki rozpoznawane przez system Jetson Nano (źródło: https://github.com/dusty-nv/jetson-inference/blob/master/docs/imagenet-console-2.md)

Detekcja obiektów jest jednym z klasycznych algorytmów sztucznej inteligencji, które można z powodzeniem uruchomić na mikrokomputerze Nvidia Jetson Nano. Płytka korzysta domyślnie z modeli ImageNet ILSVRC, GoogleNet oraz ResNet-18, dzięki czemu z powodzeniem potrafi rozpoznawać obiekty takie jak: owoce, warzywa, zwierzęta, pojazdy, czy też przedmioty codziennego użytku.

Detekcja obiektów

Rozpoznawanie obrazów jako całości to jedno, ale Jetson Nano potrafi również analizować fotografie, filmy oraz rzeczywisty obraz z kamery i wyznaczać na ich obszarze rozpoznane obiekty. Tego typu algorytm działa podobnie do opisanego wcześniej przykładu uczenia maszynowego, tutaj również skrypt AI wyznacza konkretne cechy obiektów na podstawie wcześniej przygotowanych danych treningowych, dzięki czemu później potrafi analizować nieznane wcześniej obrazy.

Segmentacja obrazu

Segmentacja obrazu to proces przyporządkowywania pikseli lub obszarów obrazu do różnych klas, lub segmentów na podstawie ich podobieństwa w pewnych cechach. Celem segmentacji jest podział obrazu na bardziej jednorodne lub semantycznie spójne części, które reprezentują różne obiekty lub elementy na obrazie. Można powiedzieć, że segmentacja obrazu to swego rodzaju analiza tła, dzięki której możliwe jest wydzielenie poszczególnych płaszczyzn odpowiadających konkretnym obiektom lub obszarom.

Algorytm segmentacji obrazu może być z powodzeniem uruchomiony na Jetson Nano. Bazuje on na sieci FNC (Fully Convolutional Network), która ma możliwość analizy obrazu pod względem różnych poziomów, tak aby wyznaczyć konkretne tła i obiekty.

Obiekty rozpoznawane przez Jetson Nano (źródło: https://github.com/dusty-nv/jetson-inference/blob/master/docs/detectnet-console-2.md)

Oszacowywanie pozycji

Wpływ algorytmu segmentacji obrazu (Źródło: https://github.com/dusty-nv/jetson-inference/blob/master/docs/segnet-console-2.md)
Szacowanie lokalizacji osoby za pomocą Jetson Nano (źródło: https://github.com/dusty-nv/jetson-inference/blob/master/docs/posenet.md)

Algorytm sztucznej inteligencji określające pozycję obiektu lub jednostki w przestrzeni fizycznej stosowane są w dziedzinach takich jak autonomiczne pojazdy, robotyka, zarządzanie ruchem czy monitorowanie ludzi i zwierząt. Przy zastosowaniu odpowiednich algorytmów i danych wejściowych, systemy AI mogą dostarczyć dokładne i spójne informacje o położeniu obiektów w czasie rzeczywistym.

Nvidia Jetson Nano potrafi bez większych problemów uruchomić skrypt oszacowujący pozycję człowieka na fotografiach, a także wyznaczać ją w czasie rzeczywistym, bazując na obrazie z kamery.

Rozpoznawanie ruchu i gestów

Obraz wykonany i sklasyfikowany przez Jetson Nano (źródło: https://github.com/dusty-nv/jetson-inference/blob/master/docs/actionnet.md)

Jedną z ciekawszych aplikacji, którą można uruchomić na mikrokomputerze Jeston Nano, jest algorytm potrafiący analizowaćklasyfikować widoczny na filmie lub obrazie z kamery ruch. Tego typu skrypty wykorzystuje się w różnych dziedzinach technologii, takich jak kontrola urządzeń za pomocą gestów, monitorowanie pacjentów w medycynie, bezpieczeństwo i wiele innych. Ich skuteczność i dokładność rośnie wraz z postępem technologicznym i większą ilością danych treningowych.

Nie tylko AI, uniwersalność Jetson Nano

Nvidia Jetson Nano z eCO2 oraz czujnikiem temperatury i wilgotności.

Mikrokomputer Nvidia Jetson Nano, mimo że skonstruowany został z myślą o zastosowaniach związanych ze sztuczną inteligencją, okazuje się być wszechstronnym narzędziem o potencjale wykraczającym szeroko poza tę dziedzinę. Dzięki swojej wydajności i bogatej funkcjonalności, urządzenie znajduje zastosowanie w projektach niezwiązanych bezpośrednio ze sztuczną inteligencją, zbliżonych do tych, które można realizować na popularnym mikrokomputerze Raspberry Pi.

Dzięki mnogości interfejsów, takich jak uniwersalne porty GPIO, USB, HDMI oraz Ethernet, Jetson Nano umożliwia rozwijanie różnorodnych projektów z dziedziny automatyki domowej, systemów monitoringu, urządzeń Internetu Rzeczy (IoT) czy mini serwerów. Dzięki swojej wydajności, mikrokomputer ten świetnie radzi sobie z manipulacją i analizą danych, co jest przydatne w aplikacjach związanych z automatyzacją czy przetwarzaniem danych w czasie rzeczywistym.

Niewątpliwą zaletą Jetson Nano jest uniwersalne oprogramowanie bazujące na systemie Ubuntu Linux, wraz ze wsparciem dla języka Python. Poza tym dzięki rozbudowanej społeczności użytkowników, Jetson Nano staje się atrakcyjnym wyborem dla twórców projektów edukacyjnych oraz niedzielnych majsterkowiczów DIY. W miarę jak społeczność rośnie, można spodziewać się coraz większej ilości inspirujących projektów, wykorzystujących potencjał Jetson Nano w kreatywny sposób, zarówno w dziedzinach technicznych, jak i artystycznych.

Niezwykłe projekty wykorzystujące Jetson Nano

Nvidia HPC Autopilot to niewielkich rozmiarów pojazd oparty na mikrokomputerze Jetson Nano. Urządzenie zbudowane zostało przez studentów z Brazylijskiego uniwersytety Insper i jest projektem typu open-source, dzięki czemu wszystkie źródła są ogólnodostępne w internecie. Pojazd porusza się automatycznie tylko po jezdni oraz rozpoznaje i potrafi dostosować się do znaków drogowych.

Pojazd Nvidia HPC Autopilot (źródło: https://www.youtube.com/watch?v=6vQ-E3wKGak)
Pytorch Driving Guardian ( źródło: https://developer.nvidia.com/embedded/community/jetson-projects/pytorch_guardian)

Ciekawym zastosowaniem Jetson Nano może być wykrywanie emocjizachowań człowieka. Pytorch Driving Guardian jest prototypem urządzenia bazującego na mikrokomputerze z podłączoną kamerą, którego zadaniem jest informować kierowcę o potencjalnie niebezpiecznych zachowaniach, takich jak zaśnięcie przed kierownicą.

Kolejnym projektem typu open-source jest Robot Nano Hand. Ta prosta implementacja Jetson Nano, korzysta z kamery, z której obraz jest analizowany i na jego podstawie urządzenie steruje robotyczną dłonią przygotowaną na drukarce 3D. Mikrokomputer potrafi rozpoznać pięć podstawowych gestów, które naśladowane są przez sztuczną dłoń.

Robot Nano Hand (źródło: https://developer.nvidia.com/embedded/community/jetson-projects/robot_nano_hand))

Źródła:

https://github.com/dusty-nv/jetson-inference

https://github.com/dusty-nv/jetson-inference/blob/master/docs/imagenet-console-2.md                  

https://github.com/dusty-nv/jetson-inference/blob/master/docs/detectnet-console-2.md

https://paperswithcode.com/task/semantic-segmentation

https://github.com/dusty-nv/jetson-inference/blob/master/docs/segnet-console-2.md

https://www.jeremyjordan.me/semantic-segmentation/

https://github.com/dusty-nv/jetson-inference/blob/master/docs/posenet.md

https://github.com/dusty-nv/jetson-inference/blob/master/docs/actionnet.md

https://developer.nvidia.com/embedded/community/jetson-projects/hpc_autopilot

https://developer.nvidia.com/embedded/community/jetson-projects/pytorch_guardian

https://developer.nvidia.com/embedded/community/jetson-projects/robot_nano_hand

Jak oceniasz ten wpis blogowy?

Kliknij gwiazdkę, aby go ocenić!

Średnia ocena: 4.7 / 5. Liczba głosów: 29

Jak dotąd brak głosów! Bądź pierwszą osobą, która oceni ten wpis.

Podziel się:

Picture of Rafał Bartoszak

Rafał Bartoszak

Współpracujący z Botlandem elektronik, który dzieli się swoją wiedzą w  internecie. Entuzjasta systemów cyfrowych, układów programowalnych i mikroelektroniki. Pasjonat historii, ze szczególnym naciskiem na wiek XX.

Zobacz więcej:

Masz pytanie techniczne?
Napisz komentarz lub zapytaj na zaprzyjaźnionym forum o elektronice.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Ze względów bezpieczeństwa wymagane jest korzystanie z usługi Google reCAPTCHA, która podlega Polityce prywatności i Warunkom użytkowania.