Obsah:
- Krok 1: Sipeed MAix: AI na okraji
- Krok 2: Připravte si prostředí
- Krok 3: Sestavte kód
- Krok 4: Nahrání souboru.bin
- Krok 5: Připojení k Arduinu
- Krok 6: Připojení k Raspberry Pi
- Krok 7: Závěr
Video: AI kamera pro Raspberry Pi/Arduino: 7 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
Pokud jste v poslední době sledovali novinky, došlo k explozi začínajících firem vyvíjejících čipy pro urychlování odvozování a školení algoritmů ML (strojového učení). Většina těchto čipů je však stále ve vývoji a není to něco, co by váš průměrný výrobce mohl dostat do rukou. Jedinou významnou výjimkou byla zatím Intel Movidius Neural Compute Stick, kterou je možné zakoupit a je dodávána s dobrou sadou SDK. Má to několik významných nevýhod - konkrétně cenu (kolem 100 USD) a skutečnost, že je dodáván ve formátu USB. Je skvělé, pokud ho chcete používat s notebookem nebo Raspberry PI, ale co když chcete s Arduinem provádět nějaké projekty rozpoznávání obrázků? Nebo Raspberry Pi Zero?
Krok 1: Sipeed MAix: AI na okraji
Není to tak dávno, co se mi dostala do rukou vývojová deska Sipeed M1w K210, která má dvoujádrový 64bitový procesor RISC-V a pyšní se integrovaným KPU (Neural Network Processor), speciálně navrženým pro akceleraci CNN pro zpracování obrazu. Více podrobností si můžete přečíst zde.
Cena této desky mě upřímně šokovala, je to pouhých 19 USD za plnohodnotnou vývojovou desku AI-on-the-edge s podporou Wi-Fi! Existuje však varování (samozřejmě existuje): firmware mikropythonu pro desku je stále ve vývoji a celkově není prozatím příliš uživatelsky přívětivý. Jediný způsob, jak získat přístup ke všem jeho funkcím právě teď, je napsat vlastní vložený kód C nebo upravit některá stávající dema.
Tento tutoriál vysvětluje, jak pomocí modelu detekce třídy Mobilenet 20 detekovat objekty a odeslat kód detekovaného objektu přes UART, odkud jej může přijímat Arduino/Raspberry Pi.
Tento tutoriál předpokládá, že jste obeznámeni s Linuxem a základy kompilace kódu C. Pokud se vám tato fráze trochu zatočila:), pak přejděte ke kroku 4, kde nahrajete můj předem vytvořený binární soubor na Sipeed M1 a přeskočíte kompilaci.
Krok 2: Připravte si prostředí
Pro kompilaci a nahrávání kódu C jsem použil Ubuntu 16.04. Ve Windows je to možné, ale sám jsem to nezkoušel.
Stáhněte si RISC-V GNU Compiler Toolchain, nainstalujte všechny potřebné závislosti.
git clone-rekurzivní
sudo apt-get install autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev
Zkopírujte stažený řetězec nástrojů do adresáře /opt. Poté spusťte následující příkazy
./configure --prefix =/opt/kendryte-toolchain --with-cmodel = medany
udělat
Přidejte/opt/kendryte-toolchain/bin do své PATH nyní.
Nyní jste připraveni zkompilovat kód!
Krok 3: Sestavte kód
Stáhněte si kód z mého úložiště github.
Stáhněte si samostatnou SDK Kendryte K210
Zkopírujte složku /kpu z mého úložiště github do složky /src v SDK.
Spusťte následující příkazy ve složce SDK (ne ve složce /src!)
mkdir build && cd build
cmake.. -DPROJ = název_projektu -DTOOLCHAIN =/opt/kendryte -toolchain/bin && make
kde název_projektu je název vašeho projektu (na vás) a -DTOOLCHAIN = by měl ukazovat na umístění vašeho řetězce nástrojů risc -v (stáhli jste si jej v prvním kroku, pamatujete?)
Skvělý! Doufejme, že nyní uvidíte kompilaci dokončenou bez chyb a máte soubor.bin, který můžete nahrát.
Krok 4: Nahrání souboru.bin
Nyní připojte svůj Sipeed M1 k počítači a ze složky /build spusťte následující příkaz
sudo python3 isp_auto.py -d /dev /ttyUSB0 -b 200 000 kpu.bin
Kde kpu.bin je název vašeho souboru.bin
Nahrávání obvykle trvá 2–3 minuty, po dokončení uvidíte desku s detekcí 20 tříd. Posledním krokem pro nás je připojení k Arduino mega nebo Raspberry Pi.
!!! Pokud jste právě přišli z kroku 2 !
Spusťte následující příkaz ze složky, kam jste naklonovali mé úložiště github
sudo python3 isp_auto.py -d /dev /ttyUSB0 -b 200000 kpu_bin.bin
Nahrávání obvykle trvá 2–3 minuty, po jeho dokončení uvidíte desku s detekcí 20 tříd. Posledním krokem pro nás je připojení k Arduino mega nebo Raspberry Pi.
Krok 5: Připojení k Arduinu
Použil jsem Arduino Mega s Seeed Studio Mega Shield, proto jsem připájel konektor Grove na desku Sipeed M1. Můžete však použít propojovací vodiče a připojit Sipeed M1 přímo k Arduino Mega podle tohoto schématu zapojení.
Poté nahrajte skicu camera.ino a otevřete sériový monitor. Když namíříte kameru na různé objekty (seznam 20 tříd je v náčrtu), měla by na sériovém monitoru zobrazit název třídy!
Gratulujeme! Nyní máte funkční modul detekce obrazu pro vaše Arduino!
Krok 6: Připojení k Raspberry Pi
Použil jsem klobouk Grove Pi+ pro Raspberry Pi 2B, ale opět, stejně jako u Arduina, můžete jednoduše připojit Sipeed M1 k rozhraní UART Raspberry Pi podle tohoto schématu zapojení.
Poté spusťte camera_speak.py a nasměrujte kameru na různé objekty, terminál vydá následující text „Myslím, že je“a pokud máte připojené reproduktory, vysloví tuto frázi nahlas. Docela cool, že?
Krok 7: Závěr
Toto je velmi vzrušující doba, ve které žijeme, kdy AI a strojové učení pronikají do všech oblastí našeho života. Těším se na vývoj v této oblasti. Zůstávám v kontaktu s týmem Sipeed a vím, že aktivně vyvíjejí obal pro mikropython pro všechny potřebné funkce, včetně akcelerace CNN.
Až bude připraven, velmi pravděpodobně zveřejním další instruktáže o tom, jak používat vaše vlastní modely CNN s mikropythonem. Přemýšlejte o všech vzrušujících aplikacích, které můžete mít pro desku, která může provozovat vaše vlastní neuronové sítě pro zpracování obrazu za tuto cenu as touto stopou!
Doporučuje:
Dokumentární kamera MetaPrax s cenou 10 $ pro videokonference: 5 kroků
Dokumentární kamera MetaPrax za 10 $ pro videokonference: Publikoval 20200803 John E. Nelson [email protected] Kamery pro dokument, které se mají používat při online schůzkách, stojí od online prodejců 60 až 150 $. S náhlou transformací související s COVID-19 z osobního učení na vzdálené učení přes stážisty
Lowcost 3d Fpv kamera pro Android: 7 kroků (s obrázky)
Lowcost 3d Fpv Camera pro Android: FPV je docela skvělá věc. A ve 3D by to bylo ještě lepší. Třetí dimenze na velké vzdálenosti nedává příliš smysl, ale pro vnitřní mikro kvadrokoptéru je to perfektní. Tak jsem se podíval na trh. Ale kamery, které jsem našel, byly také on
Kamera pro noční vidění: 16 kroků (s obrázky)
Kamera pro noční vidění: Podobně jako Light of Eärendil navádí Froda na tmavá místa, stejně tak bude vaším naváděcím majákem vaše domácí kamera pro noční vidění. Ať už jste venku v kempu s přáteli, zachycujete ten nepolapitelný pohled na skandinávského trolla, nebo na
Panel pro správu serveru / webhostingu pro Raspberry Pi (Ajenti): 5 kroků
Server Admin / Webhosting Panel for Raspberry Pi (Ajenti): Dobrý den, vítejte u mého prvního Instructable. Tato příručka se týká instalace Ajenti na Raspberry pi. Tuto příručku však lze také použít k instalaci ajenti na jakýkoli operační systém založený na debianu. Co je Ajenti? Ajenti je panel správce serveru opensource, který
Kamera pro detekci pohybu Raspberry Pi 3 s živým posuvem: 6 kroků
Kamera pro detekci pohybu Raspberry Pi 3 s živým posuvem: Úvod V tomto projektu se naučíte, jak vytvořit kameru pro detekci pohybu, kterou budete moci používat jako past na fotoaparát, monitor domácího mazlíčka/dětské chůvičky, bezpečnostní kameru a mnoho dalšího. Tento projekt je rozdělen do několika kroků: Úvod Nastavení