TinyML: Revoluce ve strojovém učení na mikrokontrolérech

Čas čtení: 5 min.

Umělá inteligence, strojové učení, neuronové sítě nebo velké jazykové modely. Tyto koncepty se objevují stále častěji. Díky technologickému pokroku již nejsou vyhrazeny jen několika specialistům a stávají se široce dostupné pro každého, kdo má přístup k internetu.

K integraci strojového učení – klíčové oblasti umělé inteligence – do zařízení byl donedávna zapotřebí značný výpočetní výkon. Nedávné technologické trendy a vývoj nástrojů “No-code”, které umožňují vytvářet aplikace bez psaní kódu, nám však přinesly technologii TinyML. Přináší revoluci v přístupu ke strojovému učení přímo na zařízení, protože umožňuje zpracovávat data přímo na místě bez nutnosti jejich odesílání do cloudu.

Co je TinyML a proč by vás měl zajímat?

Co přesně je TinyML? Jedná se o zkratku “tiny machine learning”, což je obor zaměřený na provozování modelů strojového učení na mikrokontrolérech a zařízeních internetu věcí (IoT). Díky TinyML máme nyní možnost zpracovávat data a rozhodovat se lokálně, čímž odpadá nutnost odesílat informace, například ze senzorů, na externí servery.

Modely používané v TinyML jsou optimalizovány z hlediska velikosti a výkonu, takže je lze provozovat i na méně výkonných čipech a přitom stále poskytují uspokojivou úroveň přesnosti.

S rostoucím počtem zařízení internetu věcí a rostoucím důrazem na ochranu soukromí se TinyML stává klíčovým nástrojem. Díky možnosti zpracovávat data lokálně neopouštějí citlivé informace zařízení, což výrazně zvyšuje soukromí uživatelů. Místní zpracování dat navíc snižuje latenci, snižuje spotřebu energie a prodlužuje životnost baterií našich zařízení, což je zásadní pro zařízení internetu věcí, která musí autonomně fungovat po dlouhou dobu, například několik let.

Klíčové technologie a knihovny ve světě TinyML

TinyML se zaměřuje na spouštění modelů strojového učení na mikrokontrolérech a dalších malých zařízeních a využívá řadu specializovaných knihoven a technologií. Zde jsou některé z nich:

  • TensorFlow Lite for Microcontrollers, zjednodušená verze TensorFlow Lite určená pro TensorFlow Lite pro mikrokontroléry. Umožňuje spouštět modely strojového učení na zařízeních s velmi omezenými zdroji.
  • Edge Impulse, platforma, která umožňuje vytváření, trénování a nasazení modelů TinyML, zejména pro zařízení IoT. Edge Impulse poskytuje komplexní nástroje pro celý proces.
  • X-Cube-AI je nástroj od STMicroelectronics, který umožňuje převést modely strojového učení do optimalizovaného kódu C pro čipy STM32.

Jak vypadá příprava modelu TinyML?

Příprava modelu TinyML je několikastupňový proces, jehož cílem je přizpůsobit, optimalizovat a implementovat model strojového učení na malých mikrokontrolérech s omezenými zdroji. Kroky tohoto procesu jsou popsány níže:

  1. Sběr dat: Sběr relevantních dat ze senzorů a dalších zdrojů.
  2. Trénink modelu: Vytvoření a trénink jednoduchého modelu na standardním vybavení.
  3. Kvantifikace a optimalizace: Snížení přesnosti vah modelů a další optimalizační techniky.
  4. Převod modelu: Převod modelu do formátu vhodného pro nástroje TinyML.
  5. Testování na zařízení (hardware): Kontrola modelu na cílovém mikrokontroléru.
  6. Integrace s aplikací: Propojení modelu s cílovým softwarem a hardwarem.
  7. Energetická optimalizace: Přizpůsobení modelu minimální spotřebě energie (pokud je vyžadováno).
  8. Nasazení a aktualizace: Instalace modelu do zařízení a provedení případných aktualizací.

V jakých projektech můžeme TinyML použít?

Jakmile víme, co je TinyML a jak se modely vytvářejí, můžeme si položit otázku, v jakých aspektech můžeme takové miniaturní ML modely použít.

Jedním z příkladů je detekce zvuků, kdy pomocí modelů TinyML můžeme vytvořit systém detekce zvuků pro detekci poplašných zvuků nebo identifikaci specifických zvuků v prostředí, jako jsou zvuky ptáků nebo hmyzu, což může být užitečné pro biology.

Další aplikací by mohla být detekce pádů, u nositelných zařízení, jako jsou chytré hodinky, lze TinyML využít k detekci náhlých změn pohybu, které mohou znamenat pád nebo autonehodu, a automaticky odeslat upozornění blízkým nebo záchranné službě.

Rozpoznávání obrazu pomocí modelů TinyML lze použít například k identifikaci zvířat ve fotografických pastech nebo ke sledování naplnění odpadkových košů ve městech, ale také k identifikaci osob nebo rozpoznávání značek a symbolů.

Dalším příkladem je možnost vybudování inteligentní domácnosti založené na modelech TinyML, kde systém bude schopen pomoci řídit energii v domácnosti na základě učení se vzorců spotřeby energie nebo automaticky upravovat parametry, jako je teplota a osvětlení, pro optimalizaci a zvýšení komfortu.

Modely TinyML lze využít z hlediska vytváření SmartCity, kde jsou inteligentní parkoviště, která mohou monitorovat volná místa a efektivněji informovat řidiče o volných parkovacích místech. Mohou také počítat nebo rozpoznávat vozidla, což může umožnit optimalizaci semaforů a v konečném důsledku přispět ke zlepšení plynulosti dopravy.

Rozpoznávání vozidel a jejich počítání může pomoci zlepšit světelnou signalizaci a zmírnit dopravní zácpy.

Jak začít s TinyML?

Pro začátek práce s TinyML je zásadní vybrat správnou desku nebo modul pro efektivní provoz modelů strojového učení. Zde je několik oblíbených možností:

Seeed Xiao ESP32-S3 Sense

Seeed Xiao ESP32-S3 Sense je sada sestávající ze dvou desek. První obsahuje čip ESP32-S3 s dvoujádrovým 32bitovým procesorem Xtensa LX7 s frekvencí až 240 MHz. Druhá obsahuje malou kameru OV2640 s rozlišením 1600 × 1200 px a také miniaturní mikrofon.

Taková sada bude dobře fungovat pro aplikace rozpoznávání tvarů, QR kódů. A díky mikrofonu můžeme také rozpoznávat zvuky.

Zůstáváme v rodině modulů XIAO od společnosti Seeedstudio. Seeed Xiao BLE nRF52840 Sense je rovněž miniaturní modul (rozměry jsou pouhých 21 x 17,5 mm). Tento mikrokontrolér založený na jádře ARM Cortex-M4 může pracovat na frekvenci až 64 MHz a poskytuje také připojení Bluetooth 5.0, NFC a Zigbee.

Díky tomu je vhodný pro použití jako malý ovladač v chytré domácnosti. Součástí desky byly také senzory, šestiosá IMU a digitální mikrofon PDM. Za zmínku stojí také obvod pro nabíjení baterie BQ25101, který může být velmi užitečný, pokud se rozhodnete tuto desku použít v mobilních aplikacích napájených z baterie.

Seeed Xiao nRF52840 Sense board.
Wio Terminal - ATSAMD51 - RTL8720DN WiFi Bluetooth.

Pokud pro vás naopak nejsou rozměry tak důležité, ale potřebujete modul s rozsáhlými senzorovými funkcemi, vyplatí se podívat se na následující. Wio Terminal. První, co na tomto modulu vidíme, je 2,4palcový barevný displej a malý 5polohový modrý joystick. Srdcem modulu je mikrokontrolér ATSAMD51 založený na jádře Cortex-M4F a dále čip Realtek RTL8720DN zajišťující připojení Bluetooth LE 5.0 a WiFi 2,4 GHz / 5 GHz. Kromě toho máme mnoho periferií: senzor IMU, mikrofon, bzučák, slot na kartu microSD, světelný senzor nebo infračervenou diodu 940 nm. A pokud by to nestačilo, můžeme pomocí dvou konektorů kompatibilních se systémem Grove připojit jeden z více než 300 dostupných modulů této rodiny. To je jen obrovský rozsah možností!

K desce lze zakoupit rozšíření:

Pokud se však zajímáte o smart city nebo inteligentní zemědělství, stojí za to se na zařízení podívat. SenseCAP A1101. Zařízení řady SenceCAP je vybaveno fotoaparátem s rozlišením 640 x 480 pixelů a maximální rychlostí snímání až 60 snímků za sekundu.

Je vhodný pro všechny aplikace vyžadující efektivní rozpoznávání nebo analýzu obrazu. Příklady aplikací zahrnují detekci osob nebo rozpoznávání analogových indikátorů, jako je plyn nebo elektřina.

Získané výsledky lze přenášet prostřednictvím sítě LoRAWAN. Jednotka má krytí IP66 a může pracovat při teplotách od -40 °C do 85 °C.

SenseCAP A1101 - Vision AI senzor - LoRaWAN.

Shrnutí

TinyML otevírá zcela novou éru ve světě elektroniky a kombinuje sílu strojového učení s možnostmi miniaturních obvodů a zařízení. Díky této synergii můžeme vytvářet inteligentní řešení, která byla dříve pro malá energeticky úsporná zařízení nedosažitelná. S rozvojem technologie lze očekávat stále pokročilejší aplikace i v těch nejmenších formátech. Tuto oblast se rozhodně vyplatí sledovat, protože by v nadcházejících letech mohla přinést revoluci v mnoha aspektech našeho každodenního života. Začněme tedy experimentovat, učit se a být součástí této fascinující cesty do země TinyML.

Už déle nečekejte! Svět TinyML je plný možností a se správnými nástroji a znalostmi vám nic nebrání stát se odborníkem v této oblasti.

Jak hodnotíte tento článek na blogu?

Klikněte na hvězdičku a ohodnoťte!

Průměrné hodnocení 4.4 / 5. Počet hlasů 21

Zatím nejsou žádné hlasy! Buďte první, kdo ohodnotí tento článek.

Sdílet:

Picture of Patryk Mądry

Patryk Mądry

Patryk je náš produktový manažer. Vystudoval automatizaci a robotiku na Fakultě strojního inženýrství Technické univerzity v Białystoku. Zajímá se o technologické inovace, mobilní robotiku a fotografování. Rád pije dobrou kávu.

Viz více:

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Z důvodu bezpečnosti je nutné používat službu reCAPTCHA společnosti Google, která podléhá zásadám ochrany osobních údajů a podmínkám používání společnosti Google. S těmito podmínkami souhlasím..