logo
OpenMV
Heimkamera
Anwendungen
Speichern
AI
Vertriebskanäle
Unterstützung
OpenMVOpenMV
SchildeSchilde
LinseLinse
RobotikRobotik
BuchBuch
VideoVideo
HerunterladenHerunterladen
DokumenteDokumente
ForumForum
OpenMV.ioOpenMV.io
GithubGithub

OpenMV-eigene neuronale Netzwerk-Zielobjekterkennung – Erkennung von Verkehrszeichen in realen Straßenumgebungen

In der visuellen Domäne gibt es zwei sehr verbreitete Aufgaben für künstliche Intelligenz: Klassifizierung und Objekterkennung.

Kategorie:Bestimmen Sie, zu welcher Kategorie das Bild gehört, beispielsweise „Katze“ oder „Hund“.

Objekterkennung:Dient zum Ermitteln der Positionen, der Anzahl und der Abmessungen mehrerer unterschiedlicher Objekte in einem Bild.

In den vorherigen Video-Tutorials haben wir erläutert, wie man mit dem OpenMV4 Plus ein neuronales Netzwerk online trainiert, um verschiedene Objekte zu klassifizieren. Damit kann in Echtzeit bestimmt werden, ob ein Bild im Sichtfeld des OpenMV ein bestimmtes Objekt darstellt – beispielsweise, ob eine Person eine Maske trägt. Allerdings ist es nicht möglich, die Positionskoordinaten des Gesichts oder der Maske sowie die Anzahl der Gesichter auszugeben.

Da Objekterkennung deutlich komplexer und rechenintensiver als Klassifizierung ist, kommt sie im Mikrocontroller-Bereich nur selten zum Einsatz. Der Haupt-MCU von OpenMV ist der STM32H7; mittlerweile haben wir auf unserer OpenMV-Plattform eine neue Funktion hinzugefügt, mit der Aufgaben ähnlich der Objekterkennung direkt auf Mikrocontrollern ausgeführt werden können – die Leistung ist äußerst beeindruckend.

交通标志识别教程-多个目标的识别

Heute erläutern wir IhnenSchulungsdemonstration zur Erkennung von Verkehrszeichen in realen Straßenumgebungen; Erkennung von Verkehrszeichen auf unseren tatsächlichen Straßenbeispielsweise das Verbot des Hupens, das Parkverbot oder die Geschwindigkeitsbegrenzung auf 80 km/h, und nicht eine störungsfreie Laborumgebung.

Sie können den gesamten Projektinhalt, einschließlich des gesamten Codes und aller Modelle, unter der folgenden Adresse einsehen: https://book.openmv.cc/project/traffic-sign.html

Es ist allgemein bekannt, dass die tatsächliche Umgebung äußerst komplex ist – insbesondere die Straßenumgebung weist zahlreiche Störfaktoren auf. Wir haben mithilfe von Mobiltelefonen und anderen Geräten Bilder von Verkehrszeichen in realen Umgebungen aufgenommen, das Modell mit der Online-Plattform EdgeImpulse unseres OpenMV-Partners trainiert und etwa 270 Bilder annotiert. Die Trainingsdauer betrug lediglich zehn Minuten; das trainierte Modell erreichte einen F1-Score von 92 %, und die Ausführungsgeschwindigkeit auf OpenMV lag bei zehn Bildern pro Sekunde – ein Ergebnis, das sowohl äußerst flüssig als auch hochgradig genau ist.

Sie können anhand unserer Videoanleitungen beliebige zu erkennende Objekte trainieren – beispielsweise verschiedene Ziffern, verschiedene Obstsorten, verschiedene Markierungsobjekte, verschiedene Einzelteile oder sogar beliebige spezifische unregelmäßige Objekte – und so deren Anzahl, Koordinaten sowie Objektklassenbezeichnung bestimmen.

Hinweis:In diesem Video-Tutorial wird die Funktion der neuronalen Netzwerk-Zielobjekterkennung erläutert, die nicht nur für den OpenMV4 H7 Plus, sondern auch für den OpenMV4 H7 geeignet ist. Das trainierte FOMO-Modell zur Zielobjekterkennung ist nämlich sehr kompakt, liefert hervorragende Ergebnisse und umfasst lediglich einige Dutzend KB. Selbst wenn der OpenMV4 H7 über weniger Arbeitsspeicher als der Plus-Modell verfügt, kann ein etwas kleineres Modell trainiert und auf dem OpenMV4 H7 ausgeführt werden.

Im Folgenden wird das Prinzip kurz erläutert:

Die wichtigsten Gestaltungsentscheidungen für die FOMO-Zielobjekterkennung auf OpenMV basieren auf der Überlegung, dass bei vielen Objekterkennungsaufgaben die Größe der Objekte nicht erforderlich ist, sondern lediglich ihre Position im Bild. Sobald wir die Position der Objekte kennen, können wir anschließende Aktionen durchführen, beispielsweise die Steuerung eines Fahrzeugs mittels OpenMV in Richtung des erkannten Ziels, die präzise Landung einer Drohne an einem bestimmten Punkt oder die Steuerung eines Roboterarms zum Greifen eines spezifischen Zielobjekts.

Das FOMO-Modell ist ein von EdgeImpulse speziell für Mikrocontroller-Umgebungen entwickeltes Modell; im Gegensatz zu herkömmlichen Objekterkennungsmodellen kann es lediglich die Positionen und die Anzahl mehrerer Objekte erkennen, nicht jedoch deren konkrete Abmessungen.

Das zugrunde liegende Prinzip des FOMO-Modells ist äußerst einfach und flexibel. Zunächst wird das Bild in Blöcke unterteilt, wobei jeder Block 8 × 8 Pixel umfasst. Bei einem Bild mit einer Auflösung von 96 × 96 ergibt sich somit ein Raster von 12 × 12 Zellen. Bei einem Bild mit einer Auflösung von 360 × 360 ergibt sich hingegen ein Raster von 40 × 40 Zellen. Anschließend wird die Bildklassifizierung unabhängig für jede einzelne Zelle durchgeführt.

Im Vergleich zu YOLO V5 oder MobileNet SSD erzielt FOMO bei einer großen Anzahl kleiner Objekte deutlich bessere Ergebnisse. Die FOMO-Ziel-Punkterkennung ist 30-mal schneller als MobileNet SSD.

FOMO erzielt bessere Ergebnisse, wenn die zu erkennenden Objekte eine ähnliche Größe aufweisen – beispielsweise, wenn die zu identifizierenden Markierungen in etwa die gleiche Größe haben und nicht ein sehr großes sowie ein sehr kleines Objekt vorhanden sind.

OpenMV verwendet EdgeImpulse zur Online-Trainierung neuronaler Netze für die Erkennung von Zielpunkten; dies umfasst im Wesentlichen die folgenden Schritte: Erfassung und Hochladen des Bilddatensatzes, Kennzeichnung der Ziele, Training, Testen des Modells sowie Bereitstellung.

* Erfassung eines Bilddatensatzes: Aufnahme von Bildern spezifischer Objekte in der realen Umgebung, die wir erkennen möchten. Wir erfassen die Bilder in derselben Umgebung, in der auch die Erkennung stattfinden soll; dadurch stimmen die tatsächliche Trainingsumgebung und die tatsächliche Erkennungsumgebung weitgehend überein, was zu besseren Ergebnissen führt.

* Kennzeichnungsziel: Jedes zu erkennende Objekt in unserem Datensatz muss durch eine Umrandung markiert und mit dem entsprechenden Objektnamen verknüpft werden, um das anschließende Training sowie die Erkennung von Objektposition und Objektnamen zu erleichtern.

* Modelltraining: Nach Abschluss der Kennzeichnung erfolgt das Training des Modells gemäß den von uns festgelegten Parametern des konvolutionalen neuronalen Netzwerks.

* Testmodell: Wir führen Tests mit dem trainierten Modell durch; falls die Ergebnisse unzureichend sind, erweitern wir entsprechend den Trainingsdatensatz oder passen die Trainingsparameter an und führen das Training fort, bis wir ein zufriedenstellendes Modell erhalten.

* Bereitstellung: Wir kopieren die trainierten Modell-Dateien auf das integrierte USB-Laufwerk des OpenMV-Geräts und führen sie dort aus.

Im Folgenden wird der konkrete Ablauf demonstriert:

01. Erfassung und Hochladen des Bilddatensatzes

I. Zunächst melden wir uns auf der Website edgeimpulse.com an, wählen „Anmelden“ aus, geben den Namen des neu erstellten Projekts ein und wählen „Bilder“ → „Mehrere Objekte klassifizieren“

交通标志识别教程-新建项目.

II. Auswahl des hochzuladenden Bildes. Es gibt mehrere Möglichkeiten, an den Datensatz für das Bild zu gelangen:

1. Echtzeit-Bildaufnahme über die OpenMV-IDE. Verwenden Sie das Tool „Datensatz-Editor“ in der OpenMV-IDE, um einen neuen Datensatz anzulegen und Bilder in Echtzeit aufzunehmen. Weitere Einzelheiten finden Sie in unserem vorherigen Video-Tutorial zur Objektklassifizierung und Maskenerkennung.

交通标志识别教程-.实时采集图像

2. Bilder, die über das Netzwerk heruntergeladen oder direkt mit einem Mobiltelefon aufgenommen wurden; idealerweise sollten sie der tatsächlichen Umgebung entsprechen, in der Sie die Erkennung durchführen. Wir haben einen Datensatz mit vier- bis fünfhundert Bildern vorbereitet, die Verbotsschilder für das Parken und Hupen sowie Geschwindigkeitsbegrenzungsschilder mit 80 km/h zeigen; alle Bilder stammen aus realen Straßenverhältnissen. Dieser Datensatz ist auf unserem GitHub-Repository sowie auf unserer Anleitung-Website verfügbar.

02. Zielobjekte kennzeichnen

Für jede Kategorie werden etwa 100 Bilder hochgeladen; nach Abschluss des Hochladens erfolgt die Bildannotation, bei der Position und Klassifizierung der zu erkennenden Objekte markiert werden.

交通标志识别教程-上传图片
交通标志识别教程-标记物体

03. Modell trainieren

Geben Sie die Parameter für das Training an, ändern Sie die Auflösung in 128 × 128 und übernehmen Sie alle Parameter mit den Standardwerten; klicken Sie anschließend auf „Speichern“.

交通标志识别教程-训练模型1.

Erstellung der Features; die drei Farben stehen jeweils für eines der drei Symbole.

交通标志识别教程-训练模型2

Legen Sie die Parameter für das Training der Objekterkennung fest. Die Standardanzahl der Trainingsdurchläufe beträgt 60, die Lernrate 0,001 und der Anteil des Validierungssatzes 20 %. Aktivieren Sie die Datenanreicherung. Für das Transferlernen können Sie das voreingestellte Modell MobileNetV2 0,35 oder MobileNetV2 0,1 auswählen. (Hinweis: SSD darf nicht verwendet werden, da SSD auf OpenMV nicht ausgeführt werden kann.)

Wählen Sie „Training starten“. Nach Abschluss des Trainings beträgt der F1-Score des resultierenden neuronalen Netzwerkmodells 91,2 %; wir können die aktuelle Version speichern.

交通标志识别教程-训练模型3

Speichern Sie die Auswahl, geben Sie Ihre Beschreibung ein und wählen Sie „Speichern“.

交通标志识别教程-训练模型4

04. Modell bereitstellen

Exportieren Sie die trainierte Modell-Datei. Es ist ausreichend, nur die Bibliothek zu exportieren. Wählen Sie OpenMV und klicken Sie auf „Build“, um den Export des Modells zu starten.

交通标志识别教程-部署模型1

Es lädt automatisch das von uns exportierte Modell herunter; hierbei handelt es sich um das Modell, das auf unseren 300 trainierten Bildern basiert. Damit ist das gesamte Training abgeschlossen.

交通标志识别教程-部署模型2

05. Modell ausführen

Modell auf OpenMV ausführen:

Verbinden Sie das OpenMV Plus, speichern Sie die drei trainierten Dateien auf dem internen USB-Speicher des OpenMV und öffnen Sie die Datei ei_object_detection.py in der OpenMV-IDE. Klicken Sie auf „Ausführen“; die Ausführungsergebnisse werden im seriellen Terminal angezeigt.

交通标志识别教程-运行模型1
交通标志识别教程-运行模型2

Diese Funktion ist auch auf dem OpenMV4 lauffähig. Da das OpenMV4 keinen externen SDRAM besitzt, ist der verfügbare Arbeitsspeicher geringer; wir können die Modellgröße reduzieren, um den Betrieb auf dem OpenMV4 zu ermöglichen.

Es gibt zwei Methoden, um die Größe des Modells zu verringern:

1. Verringern Sie die Auflösung für das Training, indem Sie die Auflösung von 128 × 128 auf 96 × 96 ändern.

II. Anpassung des verwendeten Transfer-Learning-Modells: Ersetzen von MobileNetV2 0.35 durch MobileNetV2 0.1.

Zum Schluss kann die neu trainierte Datei auf dem OpenMV4 ausgeführt werden.

Dies ist unsere Anleitung zur Ziel-Punkt-Erkennung. Wir freuen uns auf Ihre Ergebnisse!

# Intelligenter Verkehr

Verwandte Artikel

机房/配电房/单元门敞开识别

KI-Wächter basierend auf OpenMV: Automatische Benachrichtigung bei nicht geschlossenen Zugängen zu wichtigen Bereichen

Automatische Erkennung, ob die Tür eines wichtigen Ortes über einen längeren Zeitraum geöffnet bleibt, sowie rechtzeitige Benachrichtigung.

越界识别

Personenüberschreitung löst sofort eine Alarmmeldung aus – OpenMV interpretiert das „Gefühl der Sicherheitsgrenze“.

Erkennung von Personen- oder Geräteübertretungen mithilfe einer virtuellen Warnlinie.

占道经营识别

„KI-Stadtwächter“ ist da: Ein automatisches System zur Erkennung von Straßenhandel auf Basis von OpenMV

Automatische Erkennung von Straßenhandelsaktivitäten zur Unterstützung der täglichen städtischen Verwaltung.

煤气罐违规摆放识别

Gasflaschen unsachgemäß gelagert? Automatische Auslösung einer Gefahrenwarnung mithilfe von OpenMV

Automatische Erkennung nicht vorschriftsmäßiger Aufstellorte für Gasflaschen zur frühzeitigen Identifizierung von Sicherheitsrisiken im Zusammenhang mit Erdgas.

绝缘手套佩戴识别

Arbeiten unter Spannung ohne isolierende Handschuhe? OpenMV warnt sofort!

Automatische Erkennung, ob die Mitarbeiter Isolierhandschuhe tragen, zur Unterstützung sicherer Arbeitsabläufe.

铝板缺陷识别

Echtzeit-Erkennung von Oberflächenfehlern auf Aluminiumplatten mithilfe der OpenMV-Intelligentkamera

Online-Erkennung von Oberflächenfehlern wie Kratzern und Vertiefungen auf Aluminiumplatten zur Unterstützung der Qualitätskontrolle.

Beliebte Kategorien

Sprache und Region
Copyright © 2025 星瞳科技SingTown
粤ICP备17045162号