Kdyby měli železničáři tento superpočítač za 99 dolarů, nepotřebovali by lasery

  • Nejmodernější český železniční tunel je prošpikovaný technologiemi
  • Za tři tisíce koupíte počítač, který je překoná
  • Seznamte se s Nvidia Jetson Nano

Loni na podzim Správa železniční dopravní cesty (SŽDC) otevřela Ejpovický tunel, který propojuje Plzeň s Prahou a je se svými 4 150 metry provozní délky nejdelším železničním tunelem v Česku. Podívejte se na Mapy Google.

Jeho tubusy jsou prošpikované moderní bezpečnostní technologií, a tak se provozovatel dušoval, že laserové paprsky odhalí jakéhokoliv vetřelce, který by snad dostal nápad, že se podívá dovnitř.

29. prosince 2018 ten nápad dostala šestnáctiletá dívka, vstoupila do jednoho z tubusů, a když dorazila zhruba do jeho první čtvrtiny, srazil ji vlak, který měli dispečeři dávno zastavit, než se k tunelu vůbec přiblížil.

90d99b18-ede7-4aee-aa0b-07ba4b039419
Západní portál Ejpovického tunelu krátce před dokončením (Foto: Celestyn, CC BY-SA 4.0)

Následující půlrok policie případ pečlivě šetřila, do médií unikaly zkazky o tom, že laserové detektory pohybu obalamutilo i poletující listí, nicméně úřady nakonec kauzu před pár dny odložily. V každém případě, i v jednom z nejmodernějších železničních tunelů Evropy – byť stále ve zkušebním provozu – mohou umírat lidé.

Starý projekt, staré technologie

Sdružení Metrostav a Subterra započaly s výstavbou tunelu v roce 2013, přičemž historie samotného projektu sahá až k počátku století. Obvyklé bezpečnostní technologie té doby tedy skutečně končily u časem ověřených optických a jiných detektorů, které svoji práci plní dobře, principiálně jsou ale velmi primitivní.

Kdyby se s projektováním stavby začalo dnes a zadavatel by byl otevřený těm nejprogresivnějším detektorům současnosti, v Ejpovickém tunelu byste možná objevili něco jiného – vedle jednoduchých optických čidel také pokročilé kamery v oboru viditelného a infračerveného světla s prvky A.I.

Současné kamery dokážou divy

Vyvíjí je třeba Bosch, jeden z klíčových hráčů na poli průmyslových polovodičových systémů. Jeho kamery už dávno nesnímají pouze obraz, ale poradí si i s jeho pokročilou strojovou analýzou. Nejen že dokážou detekovat lidskou postavu, což je už dnes běžné, ale pokusí se odhadnout i záměr v jejím pohybu.

62fa7c67-b52d-443c-b6ee-f64df3e1fe57
Kamera od Bosche se snímačem ve viditelném a infračerveném spektru. Dokáže detekovat člověka a předpovědět jeho další pohyb.

To v praxi znamená, že kamera v předstihu detekuje člověka za plotem třeba vaší výrobní haly, nicméně alarm spustí až v okamžiku, kdy její software usoudí, že osoba míří skutečně k plotu za účelem jeho zdolání.

f6069ffb-add5-40a7-969c-6ea2d154ebe1
Aplikovaná A.I. v praxi: Software dokáže v obrazu z bezpečnostní kamery identifikovat začínající požár. Tady by klasický požární hlásič nepomohl.

Posledním vylepšením obrazové analytické technologie Bosche je pak detekce kouře a požáru. Tedy nikoliv pomocí IR, chemické nebo izotopové analýzy, jak fungují všechny současné kouřové hlásiče, ale jednoduše tak, že software odhalí kouř a plamen v obrazu – ve viditelném i tepelném spektru. Díky tomu by podobná kamera spatřila a správně detekovala i vzdálený nebo venkovní požár, kde budou klasické detektory naprosto k ničemu.

Compute Unified Device Architecture

Všechny tyto technologie, kterou jsou dnes už běžně k dispozici, nicméně před deseti a více lety existovaly jen ve vývojových laboratořích a ve formě prototypů. A chyběla jim nakonec i důvěra stavitelů podobných inženýrských děl jako Ejpovický tunel.

Poslední dekáda probíhá do jisté míry pod taktovkou Nvidie, která zavčas pochopila, že nemusí vydělávat jen na grafických kartách pro počítačové hráče, ale že se může stát druhým Intelem; tedy že může proměnit původně úzkoprofilový čip pro počítání a vykreslování pixelů na obrazovce v univerzální matematický superpočítač.

1e57d6bc-f130-4c52-b3ba-6777c0af5f72
Nejnáročnější výpočty se stále častěji přesouvají na GPU akcelerátory (CUDA, OpenCL), jejichž výpočetní síla roste svižněji než v případě CPU. 

A tak se zrodila CUDACompute Unified Device Architecture, která umožnila na grafických kartách Nvidie spouštět vlastní programy, které dnes dokážou akcelerovat jak střih a post-processing videa v Adobe Premiere Pro, tak strojové učení a neuronové sítě o několik řádů rychleji než běžný procesor.

Protiváhou CUDA je OpenCL vznikající pod svobodnou licencí, vzhledem k tržnímu podílu Nvidie však zůstává její vlastní proprietární technologie zdaleka nejrozšířenější. 

Bez CUDA bychom nebyli tam, kde jsme

Grafické jednotky od Nvidie dnes tvoří akcelerační páteř většiny nových sálových superpočítačů, které vévodí žebříčku TOP500 nejrychlejších clusterových mašin světa. Pro nejnáročnější výpočty jej nasazují i hostingoví hegemoni jako Microsoft Azure, Amazon Web Services a Google Cloud (který nicméně používá i vlastní čipy pro A.I. akceleraci TPU), ale Nvidia myslí i na poněkud drobnější elektroniku.

e08a7705-5150-47dd-a61b-1b71cd90362d
Akcelerační jednotky, které doplňují CPU v pětistovce nejvýkonnějších superpočítačů světa podle žebříčku TOP500. Z Nvidie (CUDA) se zde stal prakticky standard. 

Superpočítačový výkon je totiž občas potřeba i v malé krabičce – třeba zrovna v kameře, v palubním počítači autonomního vozu anebo třeba v současném dronu střední a vyšší třídy, který je vybavený automatickou detekcí překážek a prvky autopilota.

Maličký superpočítač za 99 dolarů

A tak se zrodila Nvidia Tegra – integrovaný SoC pro celou škálu drobnější elektroniky počínaje herními konzolemi a konče palubními počítači vozů, který je vedle armového procesoru vybavený právě grafickou jednotkou s podporou CUDA.

0c0b98d6-2d3f-434d-a020-96824d08d3b9
Nvidia Jetson Nano Developer Kit

Nejvyšší řadou Tegry jsou dnes stárnoucí model X1, jeho nástupce X2 a nakonec Xavier. Nvidia je nabízí na svých speciálních výpočetních kartách pro A.I. Jetson. Letos na jaře začala kalifornská grafická jednička prodávat nejlevnějšího zástupce Jetson Nano, který je k dispozici i ve formě prototypovacího mikropočítače Jetson Nano Developer Kit.

c535abba-2a9d-4ec5-8971-79789ec67b11d03ce6f9-062c-4708-858e-21c7ab91c919bf8689fd-9db5-4dd2-b721-9c686cb878b1
Vývojářský kit s malým A.I. počítačem se vejde do lidské dlaně

Nejlevnější v tomto případě znamená, že jej z oficiálního e-shopu pořídíte za 99 dolarů. Po připočtení daně a dopravy se česká cena vyšplhá na 3 100 korun. Dlouhé cesty se obávat nemusíte, deska dorazí z evropského skladu během několika málo dnů.

Jetson Nano Developer Kit nicméně už naskladnily i tuzemské e-shopy. Za částku okolo 3 500 korun jej tedy koupíte jak na RPIshop.cz, tak třeba na Arduino-shop.cz.

Základní specifikace:

  • CPU: ARM Cortex-A57, 4 jádra, 1,43 GHz
  • GPU: Nvidia Maxwell, 128 jader, 921 MHz, CUDA
  • Kódování videa: 1× 4K@30, 4× 1080p@30, 9× 720@30
  • Dekódování videa: 1× 4K@60, 2× 4K@30, 8× 1080p@30, 18× 720p@30
  • RAM: 4 GB LPDDR4, 25,6 GB/s
  • Úložiště: microSD
  • Displej: HDMI 2.0, eDP 1.4
  • USB: 4× USB 3.0
  • Síť: 1Gb ethernet, M.2 Key E slot pro Wi-Fi kartu
  • Kamera: MIPI CSI-2 konektor, ovladače pro Sony IMX219
  • Energetické režimy: 10W (plný výkon SoC), 5W (poloviční výkon SoC)
  • Napájení: microUSB (2A), 5V kulatý konektor 2,1x5,5mm (4A), piny (6A)
  • Aktivní chlazení: Podpora Noctua NF-A4x10 5V PWM a NF-A4x20 5V PWM
  • Pro vývojáře: Lišta pinů (napájení, GPIO, I2C, SPI, UART)
  • Strojové učení: Nvidia TensorRT, PyTorch, Google TensorFlow, OpenCV aj.
  • Cena: 99 dolarů (při nákupu do ČR 3 100 korun včetně poštovného a daně)

Raspberry Pi 4 na steroidech

No dobrá, ale co to tedy vlastně ten Jetson Nano Developer Kit je? Stručně řečeno, zajímavá alternativa k populárnímu britskému mikropočítači Raspberry Pi.

19c7472d-5f07-4231-8f21-e4bb36436bc2
Vývojářský kit Jetson Nano ve srovnání s nejnovějším Raspberry Pi 4. Obě desky byly uvedeny na trh letos na jaře.

Deska Jetsonu je zhruba dvakrát větší, nabízí čtveřici rychlých portů USB 3.0, ethernetový 1Gb port, HDMI 2.0 a DisplayPort 1.4, čtyřicetipinovou lištu s GPIO, I2C, SPI, UART a napájením pro kutily a vývojáře, konektor pro CSI-2 kameru a slot pro microSD, ze které se načítá samotný linuxový operační systém s grafickým desktopem (upravené Ubuntu).

8ee26ecf-3afa-4294-ad45-1574d7de4424
HDMI 2.0, DisplayPort 1.4, čtyři USB 3.0 a 1Gb ethernetový port. Wi-Fi si musíte bohužel dokoupit. Buď jako USB dongle, anebo kartu do M.2 Key E pod masivním chladičem. 

Co chybí? Wi-Fi! Ano, do rozpočtu se kupodivu nevešel obvod bezdrátové sítě, a tak zájemci budou muset použít buď USB dongle, anebo využijí konektor M.2 Key E pod mohutným pasivním chladičem, který zabírá dobrou polovinu desky, a dokoupí třeba kombinovanou kartu pro Wi-Fi a Bluetooth Intel Dual Band Wireless-AC 8265.

Pod pasivním chladičem se skrývá i samotná výpočetní karta Jetson Nano, vše ostatní na desce je tedy pouze obslužná elektronika napájení a I/O konektorů.

d616c132-31e1-4b68-b85e-78781a6feb1b3db9a247-d5a7-4835-8d56-ba4478e756545cbb33f5-a5ba-4b03-8be9-7aade596226e
Na kitu najdete také konektor pro připojení CSI kamery. Jetson Nano disponuje ovladači pro snímací čip Sony IMX219. Za pětistovku seženete 77° kamerku na RPIshopu, anebo můžete použít kameru pro Raspberry Pi ve verzi V2.

Obrovský chladič je tu mimochodem opravdu na místě, armovým čipsetem a určením pro kutily totiž veškerá podobnost s Raspberry Pi končí. Tedy, samotný čtyřjádrový procesor ARM Cortex-A57 taktovaný na 1,43 GHz bychom při práci s grafickým desktopem Ubuntu mohli srovnat s nejnovějším Raspberry Pi 4, které používá jeho formálního nástupce ARM Cortex-A72, avšak naprosto nesrovnatelné jsou jejich grafické čipy.

128jádrový Maxwell

Tady konečně na řadu nastupuje síla grafických jednotek Nvidia s podporou CUDA. V případě Jetson Nano je to 128jádrový čip s architekturou Maxwell taktovaný na 921 MHz.

24c5cef1-8f32-4a3d-ad1b-6b3e105ef6cc
Karta Jetson a její armový SoC pod masivním pasivním chladičem

Majitelé herních grafický karet řady GeForce RTX 20 si možná právě teď povzdechli, proč by si měli proboha pořizovat jakousi překonanou architekturu Maxwell, když Nvidia mezitím uvedla Pascal a Turing, který pohání právě jejich grafické miláčky, ale Jetson Nano slouží k něčemu úplně jinému.

2fc4d16f-be35-48b3-a19e-a5df80453ef73a9894db-48ce-4f95-87b2-8cdc9a89b649e32fe51e-9737-4ca8-892f-5d4c0b8b718d7c21978a-98f7-4429-b145-b02f0be0eae1
Samotná karta Jetson Nano s armovým SoC a grafikou Mawell. Všimněte si slotu pro microSD. Průmyslová verze používá flashové úložiště. Pro rychlé načítání dat do 4GB RAM to chce SD kartu nejvyšší kategorie.

Jeho Maxwell tu je od toho, aby jej software pomocí knihoven OpenCV pro počítačové vidění a TensorRT, PyTorch nebo třeba TensorFlow pro neuronové sítě proměnil v úzce specializovaný A.I. koprocesor, který díky dalším optimalizacím od Nvidie dokáže detekovat předměty ve videu z připojené CSI kamery rychlostí až okolo 60-70 fps! Není tu od toho, abyste na něm pařili poslední herní šlágry.

V testech porazí většinu ostatních A.I. akcerátorů této kategorie

Co je však nejdůležitější, k tomuto obdivuhodnému výkonu, ve kterém se mu Raspberry Pi nemůže vůbec rovnat, potřebuje celá deska jen 5-10 wattů elektrické energie. Nvidia Jetson Nano nyní prakticky ve všech testech překonává většinu konkurence – především USB akcelerátor pro počítačové vidění Intel Neural Compute Stick 2. Lepších výsledků dosahuje v této kategorii hardwaru snad jen čip Edge TPU na prototypovacích deskách a USB akcelerátorech Google Coral.

0cf25493-e038-4261-8189-ea8c47e70831
Srovnávací testy několika neuronových sítí na Jetson Nano, Raspberry Pi s Intel Neural Compute Stick 2 a Google Coral.

Jenže zatímco Intel Neural Compute Stick a Jetson Nano si bez problému koupíte, Google Coral je i po dlouhých měsících k dispozici jen na několika trzích – dokonce i zahraniční e-shopy, které jej mají skladem, neumožňují v tomto případě export do České republiky.

472 GFLOPS nejen pro strojové učení

Na rozdíl od úzce specializovaného čipu Edge TPU pro zpracovávání (inferencing) již naučených neuronových sítí má Jetson Nano ještě jednu výhodu. Jeho 128jádrový Maxwell nabízí již zmíněné univerzální rozhraní CUDA, takže lze použít jako vysoce-paralelní počítač prakticky pro libovolné výpočty. Vůbec se nemusí jednat o dnes tolik atraktivní umělou inteligenci.

2d7fab9e-95c8-4ae6-b48c-f10d45c3bd3eb037f127-f6e6-4bdf-9ca9-89264e2df3b9
Na Jetson Nano běží vcelku běžné Ubuntu 18.04. Nvidia jen dodala všechny potřebné a optimalizované ovladače a knihovny pro strojové učení.

O jakém výkonu se tu bavíme? 236, respektive 472 GFLOPS. Jen připomenu, že 1 GFLOPS představuje 1 miliardu matematických výpočtů s reálnými čísly za sekundu. Takovou operací by mohlo být třeba znásobení čísel 1,45 a 2,36.

Rychlost ovlivňuje přesnost, kterou najdete i ve specifikaci ostatních grafických čipů a karet. V našem případě je to tedy 236 GFLOPS pro reálná čísla s 32bitovou přesností (FP32, single-precision) a 472 GFLOPS pro reálná čísla s 16bitovou přesností (FP16, half-precision).

b4eff05e-836b-48e4-81d8-e1e3a1159d4ea7b6ede6-710a-42c2-ae1d-de4cba3f734296080c22-7d72-416a-8c80-e82b3b3ce2ac
Zkušební aplikace potřebuje nejvýše pár desítek milisekund, aby v roztřepaném obrazu z kamery rozpoznala postupně počítačovou myš, monitor, webovou stránku...
826e3258-1b75-49c8-a6ff-669246298792b667f39e-046c-4f08-ab95-0616ce73d42643b78ea2-7fef-43d0-9a81-be8ab33ec3cf
Odrůdu jablka, řepkové pole a palác...
d60e09b2-4bc9-4f22-bfe8-4b0dfbdd4167b40f5d5e-7188-4697-9f56-46f9a9abcebf
A další ukázka. Tentokrát neuronová síť vycvičená na detekci chodců. Výstupem je upravený obraz z kamery a samozřejmě textová data se souřadnicemi. 
e57f53af-be38-4c59-a449-1064b27bcf5b9d8f1b55-1a43-4e5f-8e10-cec7c55ca2b3
860a24c5-6ee1-49ff-879b-2bef238a9fcbc52d228e-c082-4c6e-adb5-db5aedaeb3a8
A ještě jedna ukázka počítačového vidění na Jetson Nano – strojová segmentace obrazu, kterou mohou při autopilotáži používat třeba autonomní drony. Neuronová síť barevně rozlišila různé předměty v obrazu, takže autopilot ví, co je před ním a jak je to velké.
 

Jelikož pro většinu podobných výpočtů s grafickými daty i pro zpracovávání neuronových sítí a strojové učení bohatě stačí 16bitová přesnost, dosáhne Jetson Nano téměř na 0,5 TFLOPS, což je při jeho spotřebě a ceně skvělý výkon.

Mozek pro malé roboty

Jen pro srovnání, herní špička GeForce RTX 2080 Ti při 16bitové přesnosti dosáhne teoretické rychlosti až 27 000 GFLOPS, což je mnohonásobně více, ale podle loňských testů Tom’s Hardware si v zátěži řekne bezmála o 280 wattů!

Náš Jetson Nano může pohánět na baterii malého robůtka, který se bude pomocí kamery pohybovat po místnosti a učit se nenarážet do překážek, aniž by byl vybavený jakýmkoliv dálkoměrem (IR, ToF, LIDAR aj.). GeForce RTX 2080 Ti by takovou baterii zlikvidovala lusknutím prstů.

a5b54bf6-373c-4cf1-8342-d568b63660d9
Vývojářský kit Jetson Nano pro kutily promění primitivní robotické autíčko v mašinu s autopilotem. My si na podzim postavíme něco podobného. 

Mimochodem, stavba a učení takového robota není nic složitého, linuxové Ubuntu, které slouží jako grafický operační systém pro Jetson Nano, je totiž vybavené hromadou knihoven a hotových příkladů právě pro počítačové vidění. Další lze doinstalovat a Nvidia k nim poskytuje podporu pro vývojáře včetně robotické nadstavby ROS (Robot Operating System).

Napájení skrze USB nemusí stačit

Když už jsme u toho napájení, vývojový kit Jetson Nano nabízí dva režimy, mezi kterými můžete softwarově přepínat. K dispozici je výchozí 10W režim, kdy poběží armový čipset včetně grafické karty na plný výkon. Právě v tomto režimu dosahuje Jetson Nano kýžených 472 GFLOPS a velmi rychlého zpracovávání neuronových sítí pro detekci objektů v obraze.

Má to ale jeden háček. Jetson Nano můžete napájet skrze microUSB s dobrým 5V/2A zdrojem. 5V × 2A je sice rovno kýženým 10 W, ty ale přesto nemusí stačit, protože musíte myslet ještě na připojené periferie včetně kamery. Kvůli velkému odběru proudu pak dojde k podpětí (brownout) a Jetson Nano se vypne. Jen tak, bez varování.

8fb7f2f5-c676-4103-8e60-f11ba30d423aeefeefd6-d154-497c-9910-29c9e06142c80b021aa4-4749-42b6-a9bb-e107176d2c8d
Softwarové přepínání mezi úsporným 5W výkonem a plným 10W (MAXN), ve kterém běží všechna jádra CPU a GPU. V takovém případě ale nemusí USB napájení stačit a je třeba použít 5V/4A zdroj. Deska jej použije jen v případě, pokud zapojíte speciální jumper.

Deska má proto ještě klasický kulatý napájecí konektor dimenzovaný pro 5V/4A zdroj. Dobře poslouží třeba tento z RPishopu za dvě stovky. Pak stačí zapojením jumperu na desce přepnout zdroj napájení právě na kulatý konektor a čipset bude mít dostatek energie nejen pro sebe, ale i pro připojené USB periferie, případnou Wi-Fi kartu atp. aniž by došlo k brownoutu.

Třetí možností napájení pro modeláře a kutily, kteří budou chtít Jetson Nano použít jako palubní počítač pro nějaké robotické autíčko poháněné baterií, je zmíněná lišta s piny – těmi pro 5V napájení může dohromady protékat až 6 A!

Laciný SoC by hravě odhalil chodce v tunelu

Ačkoliv jsme se dnes seznámili s prototypovací verzí Jetson Nano pro domácí kutily, její výkon je dostatečný k tomu, abychom nad ní napsali velmi rychlý a prakticky bezchybný detektor chodců, kteří vstupují do tubusu tunelu. Výkon Jetson Nano je dokonce takový, že by dokázal analyzovat hned několik video streamů naráz.

Jetson Nano a technologie DeepStream – analýza obrazu hned z několika H.264/H.265 streamů naráz:

Samotná výpočetní karta je k dispozici i v průmyslovém provedení s 16GB eMMC úložištěm, které už skutečně cílí na to, aby nějaký další výrobce použil Jetson Nano jako mozek do chytrého vysavače, inteligentního dronu anebo třeba zrovna té chytré bezpečnostní kamery, která v nějakém dalším železničním tunelu tentokrát už opravdu detekuje spolehlivě člověka a zastaví blížící se vlak.

78a999bf-495b-4130-9812-8aaa04c3f732
Malá destička dokáže v DeepStreamu analyzovat vstupy až z osmi kamer

A to je všechno? Ani náhodou! Dejte mi několik volných víkendů a Jetson Nano namontuji na malý dvoumotorový tank, který jsme si loni postavili nad Raspberry Pi 3.

Pak si povíme, jak je na Jetson Nano jednoduché strojové učení i pro naprostého zelenáče a tank vybavený pouze kamerou se bude pohybovat po naší redakční budově, aniž by narážel do překážek – díky svému Maxwellu se totiž naučí, jak takové překážky vypadají.

Diskuze (52) Další článek: Nový typ senzoru měří vlastnosti potu. Může najít uplatnění u sportovních náramků

Témata článku: , , , , , , , , , , , , , , , , , , , , , , , ,