![Sipeed MaiX Bit OpenMV Demos - Computer Vision - Gunook Sipeed MaiX Bit OpenMV Demos - Computer Vision - Gunook](https://i.howwhatproduce.com/images/005/image-12649-18-j.webp)
Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-23 12:52
![Image Image](https://i.howwhatproduce.com/images/005/image-12649-20-j.webp)
![](https://i.ytimg.com/vi/fpJZIisYKao/hqdefault.jpg)
Dies ist der zweite Artikel in Serie über Sipeed AI auf der Edge-Mikrocontroller-Plattform. Dieses Mal werde ich über MaiX Bit (Link zum Seeed Studio Shop) schreiben, ein kleineres, für Steckbretter geeignetes Entwicklungsboard. Die Spezifikationen sind denen von MaiX Dock, dem Board, das ich für das letzte Tutorial verwendet habe, sehr ähnlich, da sie den gleichen Chip verwenden, Kendryte K210.
Wir werden Micropython-Firmware verwenden, um einige OpenMV-Demos auszuprobieren. Hier ist die Beschreibung von der OpenMV-Homepage:
Das OpenMV-Projekt befasst sich mit der Entwicklung kostengünstiger, erweiterbarer, Python-basierter Machine Vision-Module und zielt darauf ab, das „Arduino of Machine Vision“zu werden. Python macht die Arbeit mit Machine Vision-Algorithmen viel einfacher. Die Methode find_blobs() im Code findet beispielsweise Farbblobs und gibt eine Liste von 8-wertigen Objekten zurück, die jeden gefundenen Farbblob darstellen. In Python ist das Durchlaufen der von find_blobs() zurückgegebenen Objektliste und das Zeichnen eines Rechtecks um jeden Farbklecks einfach in nur zwei Codezeilen möglich.
Obwohl MaiX Bit einen dedizierten neuronalen Netzwerkbeschleuniger bietet, kann es manchmal einfacher sein, einfach die hartcodierten OpenMV-Algorithmen zu verwenden, um die Arbeit zu erledigen oder sie nebeneinander zu verwenden.
Einige Anwendungsfälle, die mir in den Sinn kommen, sind:
1) Linienerkennung für Linienfolger-Bot
2) Ampelerkennung mit Kreis- und Farberkennung
3) Verwenden der Gesichtserkennung, um die Gesichter für die Gesichtserkennung zu finden (mit DNN)
Github-Repository für diesen Artikel
Schritt 1: Micropython-Firmware flashen
![Mit MaiX-Bit verbinden Mit MaiX-Bit verbinden](https://i.howwhatproduce.com/images/005/image-12649-21-j.webp)
Zuerst müssen wir die Micropython-Firmware auf unser Board flashen. Eine vorkompilierte Binärdatei ist zusammen mit kflash.py (einem Flash-Dienstprogramm) im Github-Repository für diesen Artikel enthalten. Wenn Sie die Firmware aus dem Quellcode kompilieren möchten, laden Sie einfach den Quellcode von https://github.com/sipeed/MaixPy herunter, installieren Sie die Toolchain und kompilieren Sie den Quellcode in die Datei maixpy.bin. Detaillierte Bauanleitungen finden Sie hier.
Flashen Sie die Binärdatei mit
sudo python3 kflash.py kpu.bin
Nach erfolgreichem Flashen fahren Sie mit dem nächsten Schritt fort.
Schritt 2: Verbinden Sie sich mit MaiX Bit
Jetzt sollte unser MaiX Bit über eine serielle USB-Verbindung mit Baudrate 115200 zugänglich sein. Sie können Ihre Lieblingssoftware für die serielle Kommunikation verwenden oder nur Cat- und Echo-Befehle verwenden, was immer Ihren Anforderungen entspricht. Ich habe den Bildschirm für die serielle Kommunikation verwendet und finde es sehr praktisch.
Der Befehl zum Aufbau einer seriellen Kommunikationssitzung mit Bildschirm lautet
sudo-Bildschirm /dev/ttyUSB0 115200
wobei /dev/ttyUSB0 die Adresse Ihres Geräts ist.
Möglicherweise müssen Sie die Reset-Taste auf Ihrem Mikrocontroller drücken, um die Begrüßungsnachricht und die Eingabeaufforderung des Python-Interpreters anzuzeigen.
Schritt 3: Führen Sie die Demos aus
Jetzt können Sie auf den Kopiermodus zugreifen, indem Sie Strg+E drücken und die Democodes kopieren und einfügen. Um sie auszuführen, drücken Sie im Kopiermodus Strg+D.
Wenn Sie die Videos nicht aufnehmen möchten, müssen Sie die Videoaufzeichnungszeilen kommentieren. Andernfalls löst der Code eine Ausnahme aus, wenn keine SD-Karte eingelegt ist
Hier sind kurze Beschreibungen jeder Demo:
Kreise suchen - verwendet die Funktion find_circles von OpenMV. Erfordert weitere Anpassungen für Ihre spezifische Anwendung, insbesondere für den Schwellenwert (steuert, welche Kreise von der hough-Transformation erkannt werden. Es werden nur Kreise mit einer Größe größer oder gleich dem Schwellenwert zurückgegeben) und r_min-, r_max-Werte.
Rechtecke suchen - verwendet die Funktion find_rects von OpenMV. Sie können mit dem Schwellenwert herumspielen, aber der Wert, den ich in der Demo habe, funktioniert recht gut, um Rechtecke zu finden.
Gesichter finden, Augen finden - verwendet die Funktion find_features mit Haar Cascades, um Augen und Frontalgesichter im Bild zu erkennen. Sie können mit Schwellenwerten und Skalenwerten herumspielen, um den richtigen Kompromiss zwischen Geschwindigkeit und Genauigkeit zu erzielen.
Unendliche Linien finden - verwendet die Funktion find_lines, um alle unendlichen Linien im Bild mit der hough-Transformation zu finden.
Farbe erkennen - verwendet die Funktion get_statistics, um das Perzentilobjekt zu erhalten, und konvertiert dann die Mittelwerte des LAB-Tupels in das RGB-Wertetupel. Ich habe dieses Beispiel selbst geschrieben und es funktioniert ziemlich gut, aber denken Sie daran, dass die Ergebnisse der Farberkennung von den Umgebungslichtbedingungen beeinflusst werden.
Sie können viele weitere interessante Demos im OpenMV-Github-Repository finden! Sie sind größtenteils kompatibel mit MaiX Bit Micropython, das einzige, was Sie sich merken müssen, ist sensor.run(1) hinzuzufügen, nachdem Sie das Pixformat und die Bildgröße eingestellt haben.
Viel Spaß beim Experimentieren mit OpenMV-Code. Wenn Sie Fragen haben oder einige Ihrer interessanten Ergebnisse teilen möchten, zögern Sie nicht, mich auf Youtube oder LinkedIn zu erreichen. Entschuldigen Sie, ich werde Roboter bauen!
Empfohlen:
Schrittzähler - Micro:Bit: 12 Schritte (mit Bildern)
![Schrittzähler - Micro:Bit: 12 Schritte (mit Bildern) Schrittzähler - Micro:Bit: 12 Schritte (mit Bildern)](https://i.howwhatproduce.com/images/003/image-6043-j.webp)
Schrittzähler - Micro:Bit: Dieses Projekt wird ein Schrittzähler sein. Wir werden den Beschleunigungssensor verwenden, der im Micro:Bit eingebaut ist, um unsere Schritte zu messen. Jedes Mal, wenn das Micro:Bit wackelt, addieren wir 2 zur Zählung und zeigen sie auf dem Bildschirm an
Micro:bit Zauberstab! (Anfänger): 8 Schritte (mit Bildern)
![Micro:bit Zauberstab! (Anfänger): 8 Schritte (mit Bildern) Micro:bit Zauberstab! (Anfänger): 8 Schritte (mit Bildern)](https://i.howwhatproduce.com/images/001/image-820-32-j.webp)
Micro:bit Zauberstab! (Anfänger): Während es für uns nicht-magische Menschen etwas schwierig ist, Objekte mit unseren Gedanken, Worten oder Zauberstäben schweben zu lassen, können wir Technologie verwenden, um (im Grunde) die gleichen Dinge zu tun! Dieses Projekt verwendet zwei micro:bits, a ein paar kleine elektronische Teile und einige Alltagsgegenstände
Micro:bit Zauberstab! (Mittelstufe): 8 Schritte
![Micro:bit Zauberstab! (Mittelstufe): 8 Schritte Micro:bit Zauberstab! (Mittelstufe): 8 Schritte](https://i.howwhatproduce.com/images/001/image-944-22-j.webp)
Micro:bit Zauberstab! (Mittelstufe): "Jede ausreichend fortgeschrittene Technologie ist von Magie nicht zu unterscheiden." (Arthur C. Clarke). Verdammt ja, das ist es! Worauf warten wir noch, nutzen wir die Technologie, um unsere eigene Art von Magie zu erschaffen! Dieses Projekt verwendet zwei micro:bit-Mikrocontroller, eine
Auspacken von Jetson Nano & ein Schnellstart für die Two Vision Demo – wikiHow
![Auspacken von Jetson Nano & ein Schnellstart für die Two Vision Demo – wikiHow Auspacken von Jetson Nano & ein Schnellstart für die Two Vision Demo – wikiHow](https://i.howwhatproduce.com/images/005/image-13274-10-j.webp)
Auspacken von Jetson Nano & ein Quick Start-Up für Two Vision Demo: ZusammenfassungWie Sie wissen, ist Jetson Nano jetzt ein Starprodukt. Und es kann neuronale Netzwerktechnologie umfassend für eingebettete Systeme bereitstellen. Hier ist ein Unboxing-Artikel mit Details zum Produkt, dem Startvorgang und zwei visuellen Demos … Wortzahl: 800
Winziger Micro:bit-Roboter - Teil 1: 7 Schritte
![Winziger Micro:bit-Roboter - Teil 1: 7 Schritte Winziger Micro:bit-Roboter - Teil 1: 7 Schritte](https://i.howwhatproduce.com/images/001/image-36-66-j.webp)
Tiny Micro:bit Robot - Teil 1: Ich fand kleine Roboter immer großartig und es wäre ideal, einen mit dem kostengünstigen Microbit zu erstellen. Ich wollte einen Roboter entwickeln, der keine vorgefertigten IO-Boards verwendet, wie ich es in der Vergangenheit verwendet habe, um Motoren anzutreiben oder Sensoreingänge zu erhalten, ich möchte