OpenMV
Štíty
Čočka
Robotika
Rezervovat
Video
Stáhnout
Docs
Forum
OpenMV.io
GithubUmělá inteligence má ve vizuální oblasti dvě velmi běžné úlohy: klasifikaci a detekci objektů.
Kategorie:Určete, do které kategorie daný obrázek patří, například zda se jedná o kočku nebo psa.
Detekce objektů:Slouží k určení polohy, počtu a rozměrů více různých objektů na obrázku.
V předchozích videoškoleních jsme vysvětlili, jak pomocí OpenMV4 Plus online trénovat neuronovou síť pro klasifikaci různých objektů; tato síť dokáže v reálném čase určit, zda se na obrazu zachyceném pomocí OpenMV nachází určitý objekt – například zda osoba má na sobě roušku – avšak nedokáže určit souřadnice polohy obličeje nebo roušky ani počet obličejů.
Protože detekce objektů je mnohem složitější a náročnější z hlediska výpočetního výkonu než klasifikace, je v oblasti jednočipových počítačů velmi vzácná. Hlavní řídící MCU OpenMV je STM32H7. Nyní jsme do OpenMV přidali novou funkci, která umožňuje spouštět úkoly podobné detekci objektů přímo na jednočipových počítačích, a to s výjimečným výkonem.

Dnes vám představímeTrénink ukazuje detekci dopravních značek v reálním prostředí silnic a detekuje dopravní značky na našich skutečných silnicích.například zákaz výstražného signálu, zákaz parkování, omezení rychlosti na 80 km/h atd., nikoli laboratorní prostředí bez rušivých vlivů.
Celý obsah projektu, včetně veškerého kódu a modelů, najdete na následující adrese: https://book.openmv.cc/project/traffic-sign.html
Je známo, že skutečné prostředí je velmi složité, zejména silniční prostředí s mnoha rušivými faktory. Snímky dopravních značek ve skutečném prostředí jsme pořizovali pomocí mobilních telefonů a dalších zařízení, model jsme trénovali na online webové stránce EdgeImpulse našeho partnera OpenMV; přibližně 270 obrázků jsme označili ručně a trénování trvalo pouze 10 minut. Přesnost výsledného modelu vyjádřená mírou F1 dosahuje 92 % a snímková frekvence provozu modelu na zařízení OpenMV činí 10 snímků za sekundu, což zajišťuje velmi plynulý a zároveň vysoce přesný výsledek.
Uživatelé mohou podle našich videoinstruktáží trénovat detekci jakéhokoli požadovaného objektu, například různých číslic, různých druhů ovoce, různých značek, různých součástek nebo dokonce jakýchkoli konkrétních nepravidelných objektů, a to za účelem rozpoznání jejich počtu, souřadnic a názvů typů objektů.
Poznámka:Tato videoškolení věnovaná funkci detekce cílových bodů pomocí neuronové sítě je určena nejen pro OpenMV4 H7 Plus, ale také podporuje OpenMV4 H7, protože natrénovaný model detekce cílových bodů FOMO není velký, poskytuje vynikající výsledky a má pouze několik desítek kB; i když má OpenMV4 H7 menší operační paměť než verze Plus, můžeme natrénovat mírně menší model, který bude na OpenMV4 fungovat.
Níže je uveden stručný popis principu:
Hlavní návrhová rozhodnutí detekce bodů cílů FOMO na OpenMV vycházejí z představy, že mnoho úloh detekce objektů ve skutečnosti nepotřebuje velikost objektů, ale pouze jejich polohu v obraze. Jakmile známe polohu objektu, můžeme provést následné operace, například řízení vozítka pomocí OpenMV tak, aby se pohybovalo směrem k rozpoznanému cíli, přesné přistání dronu nebo řízení robotické paže pro zachycení konkrétního cílového objektu.
Model FOMO je speciálně navržený model společnosti EdgeImpulse pro prostředí mikrokontrolerů; na rozdíl od běžných modelů detekce objektů umožňuje detekovat pouze polohu a počet více objektů, nikoli však jejich přesné rozměry.
Základní princip modelu FOMO je velmi jednoduchý a flexibilní. Nejprve rozdělí obrázek na bloky o velikosti 8×8 pixelů. U obrázku s rozlišením 96×96 jde tedy o mřížku 12×12 buněk. U obrázku s rozlišením 360×360 jde o mřížku 40×40 buněk. Poté nezávisle spustí klasifikaci obrázků pro každou buňku.
Ve srovnání s YOLO V5 nebo MobileNet SSD FOMO dosahuje výrazně lepších výsledků při detekci velkého množství malých objektů. Detekce cílových bodů pomocí FOMO je 30krát rychlejší než detekce pomocí MobileNet SSD.
Pokud mají objekty, které mají být detekovány, podobné rozměry – například pokud se velikosti rozpoznávaných značek liší jen nepatrně a nejde o kombinaci extrémně velkého a extrémně malého objektu – je účinnost modelu FOMO vyšší.
OpenMV využívá službu EdgeImpulse k online trénování neuronové sítě pro detekci cílových bodů, což zahrnuje následující kroky: shromažďování a nahrávání datové sady obrázků, označování cílů, trénování, testování modelu a nasazení.
* Shromáždění datové sady obrázků: Pořízení obrázků konkrétních objektů v reálném prostředí, ve kterém je třeba tyto objekty rozpoznat. Obrázky jsou pořizovány ve stejném prostředí, ve kterém probíhá rozpoznávání; reálné prostředí pro trénování a reálné prostředí pro detekci jsou zásadně shodné, čímž se dosahuje lepších výsledků.
* Označení cílů: vymezení každého objektu, který má být detekován v našem datovém souboru, a přiřazení názvu odpovídajícího objektu, aby bylo možné následně provádět trénink, detekci polohy objektu i jeho názvu.
* Trénování modelu: Po dokončení označování se model trénuje pomocí parametrů konvoluční neuronové sítě, které jsme navrhli.
* Testovací model: Provádíme testování na základě natrénovaného modelu; pokud výsledky nejsou uspokojivé, příslušně rozšíříme trénovací sadu nebo upravíme trénovací parametry a trénink opakujeme, dokud nedosáhneme uspokojivého modelu.
* Nasazení: Stačí umístit natrénovaný soubor modelu do integrovaného USB zařízení OpenMV a spustit jej.
Níže je uveden konkrétní postup:
01. Shromáždění a nahrání sady obrazových dat
1. Nejprve se přihlaste na webovou stránku edgeimpulse.com, vyberte možnost „Přihlásit se“, zadejte název nového projektu a vyberte „Obrázky“ → „Klasifikovat více objektů“

Dva. Vyberte obrázek ke nahrání. Datovou sadu obrázků lze získat několika způsoby:
1. Zachycení obrazu v reálném čase pomocí OpenMV IDE. Pomocí nástroje „Editor datové sady“ v OpenMV IDE vytvořte novou datovou sadu a zachyťte obraz v reálném čase. Podrobnosti naleznete v našem předchozím video tutoriálu k rozpoznávání masek při klasifikaci objektů.

2. Obrázky stažené z internetu nebo pořízené pomocí mobilního telefonu. Ideální je, aby odpovídaly skutečnému prostředí, ve kterém provádíte detekci. Připravili jsme kolem čtyř až pěti set obrázků dopravních značek, jako jsou například „Zákaz stání“, „Zákaz výstražného zvuku“ a „Maximální povolená rychlost 80“, přičemž každý obrázek byl pořízen na skutečné silnici. Tento datový soubor je k dispozici ke stažení na našem GitHubu a na výukové webové stránce.
02. Označení cíle
Do každé kategorie nahrajte přibližně 100 obrázků. Po nahrání obrázků je nutné provést jejich anotaci, tj. označit polohu a kategorii objektů, které chceme rozpoznat.


03. Trénování modelu
Nastavte parametry tréninku: změňte rozlišení na 128 × 128; všechny ostatní parametry ponechte ve výchozím nastavení a klikněte na Uložit.

Vytvoření funkcí, přičemž tři barvy reprezentují tři různé značky.

Nastavte parametry trénování detekce cílů. Výchozí počet trénovacích epoch je 60, výchozí rychlost učení je 0,001 a výchozí poměr validační sady je 20 %. Zaškrtněte možnost použití rozšíření dat. Pro přenosné učení můžeme vybrat výchozí model MobileNetV2 0,35 nebo MobileNetV2 0,1. (Poznámka: Model SSD nelze použít, protože na zařízení OpenMV není podporován.)
Vyberte možnost Spustit trénink. Po dokončení tréninku dosáhne neuronový model skóre F1 hodnoty 91,2 %; aktuální verzi lze uložit.

Vyberte úložiště, vyplňte popis a vyberte možnost Uložit.

04. Nasazení modelu
Exportujte natrénovaný soubor modelu. Stačí exportovat pouze knihovnu; vyberte OpenMV a klikněte na tlačítko Build, čímž se spustí nasazení a export modelu.

Automaticky stáhne model, který jsme exportovali; zde je model trénovaný na 300 obrázcích, čímž je celý proces trénování dokončen.

05. Spuštění modelu
Spouštění modelu na OpenMV:
Připojte OpenMV Plus, uložte tři natrénované soubory do integrovaného USB úložiště OpenMV a otevřete soubor ei_object_detection.py v prostředí OpenMV IDE. Klikněte na spuštění; výsledky spuštění se zobrazí v sériovém terminálu.


Tato funkce je také kompatibilní s OpenMV4. Protože OpenMV4 nemá externí SDRAM a má menší paměť, lze model zmenšit, aby běžel na OpenMV4.
Existují dva způsoby, jak snížit velikost modelu:
1. Snížte rozlišení tréninku ze 128 × 128 na 96 × 96.
II. Úprava používaného modelu převodného učení: nahrazení modelu MobileNetV2 0.35 modelem MobileNetV2 0.1.
Nakonec spusťte natrénovaný nový soubor na zařízení OpenMV4.
Výše uvedený text představuje náš tutoriál pro detekci cílových bodů. Těšíme se na vaše výsledky!

AI stráž na platformě OpenMV: automatické upozornění na neuzavřené důležité prostory
Automaticky zjistí, zda jsou dveře na klíčových místech dlouhou dobu otevřené, a včas upozorní.

Upozornění při překročení hranice osobou – OpenMV vysvětluje pojem „bezpečnostní hranice“
Rozpoznání překročení hranice osobou nebo zařízením pomocí virtuální varovné čáry.

„AI městský dozor“ je tady: automatický systém pro rozpoznávání neoprávněného provozování podnikání na veřejných prostranstvích založený na platformě OpenMV
Automatické rozpoznávání činností provozovaných na veřejném prostoru, které podporují každodenní správu města.

Nesprávné umístění plynové lahve? Využijte OpenMV k automatickému spuštění varování před nebezpečím
Automatické rozpoznání nesprávného umístění plynových lahví a předčasné zjištění bezpečnostních rizik spojených s plynem.

Provádíte práci pod napětím bez izolačních rukavic? OpenMV okamžitě vydá výstrahu!
Automatické rozpoznání, zda pracovník používá izolační rukavice, za účelu podpory bezpečného provozu.

Využití inteligentní kamery OpenMV k reálnému rozpoznávání vad na povrchu hliníkových desek
Online rozpoznávání vad na povrchu hliníkových desek, jako jsou škrábance a vzniklé prohlubně, za účelem podpory řízení kvality.